|
|
@@ -636,7 +636,7 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
|
|
|
}
|
|
|
|
|
|
R<TradingBoxFees> tradingBoxFeesR = tradingBoxClient.getTradingBoxFeesById(srcFeesId);
|
|
|
- if (tradingBoxFeesR.isSuccess() && ObjectUtils.isNotNull(tradingBoxFeesR.getData())) {
|
|
|
+ if (!tradingBoxFeesR.isSuccess() && ObjectUtils.isNull(tradingBoxFeesR.getData())) {
|
|
|
throw new SecurityException("修改原单据失败");
|
|
|
}
|
|
|
//回退原业务表数据
|
|
|
@@ -648,6 +648,7 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
|
|
|
throw new SecurityException("撤销账单失败,剩余已收金额不够本次扣款");
|
|
|
}
|
|
|
tradingBoxFeesR.getData().setSettlementAmount(decimal);
|
|
|
+ tradingBoxFeesR.getData().setSettlementDate(null);
|
|
|
tradingBoxClient.updateTradingBoxFees(tradingBoxFeesR.getData());
|
|
|
}
|
|
|
//修改费用明细
|
|
|
@@ -658,7 +659,7 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
|
|
|
}
|
|
|
|
|
|
R<TransportItemFees> transportItemFeesR = transportClient.getTransportItemFeesById(srcFeesId);
|
|
|
- if (transportItemFeesR.isSuccess() && ObjectUtils.isNotNull(transportItemFeesR.getData())) {
|
|
|
+ if (!transportItemFeesR.isSuccess() && ObjectUtils.isNull(transportItemFeesR.getData())) {
|
|
|
throw new SecurityException("修改原单据失败");
|
|
|
}
|
|
|
//回退原业务表数据
|
|
|
@@ -670,7 +671,29 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
|
|
|
throw new SecurityException("撤销账单失败,剩余已收金额不够本次扣款");
|
|
|
}
|
|
|
transportItemFeesR.getData().setSettlementAmount(decimal);
|
|
|
+ transportItemFeesR.getData().setSettlementDate(null);
|
|
|
transportClient.updateTransportItemFees(transportItemFeesR.getData());
|
|
|
+ }else if (type == 7) {
|
|
|
+ Long srcFeesId = acc.getSrcFeesId();
|
|
|
+ if (srcFeesId == null) {
|
|
|
+ throw new SecurityException("操作失败,未获取到原业务信息");
|
|
|
+ }
|
|
|
+
|
|
|
+ R<RepairFees> repairFeesR = repairClient.getRepairFeesById(srcFeesId);
|
|
|
+ if (!repairFeesR.isSuccess() && ObjectUtils.isNull(repairFeesR.getData())) {
|
|
|
+ throw new SecurityException("修改原单据失败");
|
|
|
+ }
|
|
|
+ //回退原业务表数据
|
|
|
+ if (repairFeesR.getData().getSettlementAmount() == null) {
|
|
|
+ throw new SecurityException("撤销账单失败,原业务表已收金额为空");
|
|
|
+ }
|
|
|
+ BigDecimal decimal = repairFeesR.getData().getSettlementAmount().subtract(items.getThisAmount());
|
|
|
+ if (decimal.compareTo(BigDecimal.ZERO) < 0) {
|
|
|
+ throw new SecurityException("撤销账单失败,剩余已收金额不够本次扣款");
|
|
|
+ }
|
|
|
+ repairFeesR.getData().setSettlementAmount(decimal);
|
|
|
+ repairFeesR.getData().setSettlementDate(null);
|
|
|
+ repairClient.updateRepairFees(repairFeesR.getData());
|
|
|
}
|
|
|
|
|
|
}
|
|
|
@@ -825,13 +848,16 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
|
|
|
}
|
|
|
|
|
|
R<TradingBoxFees> tradingBoxFeesR = tradingBoxClient.getTradingBoxFeesById(srcFeesId);
|
|
|
- if (tradingBoxFeesR.isSuccess() && ObjectUtils.isNotNull(tradingBoxFeesR.getData())) {
|
|
|
+ if (!tradingBoxFeesR.isSuccess() && ObjectUtils.isNull(tradingBoxFeesR.getData())) {
|
|
|
throw new SecurityException("修改原单据失败");
|
|
|
}
|
|
|
acc.setSettlementAmount(acc.getSettlementAmount() != null ? acc.getSettlementAmount().add(items.getThisAmount()) : new BigDecimal("0").add(items.getThisAmount()));
|
|
|
tradingBoxFeesR.getData().setSettlementAmount(tradingBoxFeesR.getData().getSettlementAmount() != null ? tradingBoxFeesR.getData().getSettlementAmount().add(items.getThisAmount()) : new BigDecimal("0").add(items.getThisAmount()));
|
|
|
accMapper.updateById(acc);
|
|
|
- tradingBoxClient.updateTradingBoxFees(tradingBoxFeesR.getData());
|
|
|
+ TradingBoxFees tradingBoxFees = new TradingBoxFees();
|
|
|
+ BeanUtils.copyProperties(tradingBoxFeesR.getData(),tradingBoxFees);
|
|
|
+ tradingBoxFees.setSettlementDate(new Date());
|
|
|
+ tradingBoxClient.updateTradingBoxFees(tradingBoxFees);
|
|
|
} else if (type == 6) {
|
|
|
Long srcFeesId = acc.getSrcFeesId();
|
|
|
if (srcFeesId == null) {
|
|
|
@@ -839,12 +865,13 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
|
|
|
}
|
|
|
|
|
|
R<TransportItemFees> transportItemFeesR = transportClient.getTransportItemFeesById(srcFeesId);
|
|
|
- if (transportItemFeesR.isSuccess() && ObjectUtils.isNotNull(transportItemFeesR.getData())) {
|
|
|
+ if (!transportItemFeesR.isSuccess() && ObjectUtils.isNull(transportItemFeesR.getData())) {
|
|
|
throw new SecurityException("修改原单据失败");
|
|
|
}
|
|
|
acc.setSettlementAmount(acc.getSettlementAmount() != null ? acc.getSettlementAmount().add(items.getThisAmount()) : new BigDecimal("0").add(items.getThisAmount()));
|
|
|
transportItemFeesR.getData().setSettlementAmount(transportItemFeesR.getData().getSettlementAmount() != null ? transportItemFeesR.getData().getSettlementAmount().add(items.getThisAmount()) : new BigDecimal("0").add(items.getThisAmount()));
|
|
|
accMapper.updateById(acc);
|
|
|
+ transportItemFeesR.getData().setSettlementDate(new Date());
|
|
|
transportClient.updateTransportItemFees(transportItemFeesR.getData());
|
|
|
} else if (type == 7) {
|
|
|
Long srcFeesId = acc.getSrcFeesId();
|
|
|
@@ -853,12 +880,13 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
|
|
|
}
|
|
|
|
|
|
R<RepairFees> repairFeesR = repairClient.getRepairFeesById(srcFeesId);
|
|
|
- if (repairFeesR.isSuccess() && ObjectUtils.isNotNull(repairFeesR.getData())) {
|
|
|
+ if (!repairFeesR.isSuccess() && ObjectUtils.isNull(repairFeesR.getData())) {
|
|
|
throw new SecurityException("修改原单据失败");
|
|
|
}
|
|
|
acc.setSettlementAmount(acc.getSettlementAmount() != null ? acc.getSettlementAmount().add(items.getThisAmount()) : new BigDecimal("0").add(items.getThisAmount()));
|
|
|
repairFeesR.getData().setSettlementAmount(repairFeesR.getData().getSettlementAmount() != null ? repairFeesR.getData().getSettlementAmount().add(items.getThisAmount()) : new BigDecimal("0").add(items.getThisAmount()));
|
|
|
accMapper.updateById(acc);
|
|
|
+ repairFeesR.getData().setSettlementDate(new Date());
|
|
|
repairClient.updateRepairFees(repairFeesR.getData());
|
|
|
} else {
|
|
|
throw new SecurityException("操作失败,财务类型为空无法结算");
|