|
|
@@ -156,7 +156,7 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
|
|
|
|
|
|
}
|
|
|
//验证结算总金额是否超限
|
|
|
- /* if(settlementDTO.getBillType().equals("收费")||settlementDTO.getBillType().equals("付费"))
|
|
|
+ /*if(settlementDTO.getBillType().equals("收费")||settlementDTO.getBillType().equals("付费"))
|
|
|
{
|
|
|
//查询账单明细 已结算金额, 累计是否大于原订单的总金额
|
|
|
LambdaQueryWrapper<Acc> accLambdaQueryWrapper=new LambdaQueryWrapper<>();
|
|
|
@@ -166,7 +166,7 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
|
|
|
{
|
|
|
BigDecimal total = accs.stream().filter(e -> e.getSettlementAmount() != null).map(Acc::getSettlementAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
Settlement settlement = baseMapper.selectById(model.getId());
|
|
|
- Order order = iOrderDescClient.getByOrder(settlement.getSrcOrderno());
|
|
|
+ Order order = orderDescClient.getById(settlement.getSrcOrderno());
|
|
|
if(order==null)
|
|
|
{
|
|
|
throw new SecurityException("结算未发现订单信息");
|
|
|
@@ -191,6 +191,12 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
|
|
|
}
|
|
|
//结算成功后,更新acc表金额,采购收费 销售付费
|
|
|
acc.setSettlementAmount(acc.getSettlementAmount()!=null?acc.getSettlementAmount().add(items.getThisAmount()):new BigDecimal("0").add(items.getThisAmount()));
|
|
|
+ BigDecimal settlementAmount = acc.getSettlementAmount();
|
|
|
+ BigDecimal amount = acc.getAmount();
|
|
|
+ if(settlementAmount.compareTo(amount)>0)
|
|
|
+ {
|
|
|
+ throw new SecurityException("结算金额超过账单明细总金额");
|
|
|
+ }
|
|
|
accMapper.updateById(acc);
|
|
|
//修改原业务表数据
|
|
|
Long srcParentId = acc.getSrcParentId();
|
|
|
@@ -201,6 +207,17 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
|
|
|
}
|
|
|
client.setSettlmentAmount(client.getSettlmentAmount()!=null?client.getSettlmentAmount().add(items.getThisAmount()):new BigDecimal("0").add(items.getThisAmount()));
|
|
|
orderDescClient.updateOrder(client);
|
|
|
+ //验证结算总金额是否超限
|
|
|
+
|
|
|
+ /*BigDecimal orderAmount = client.getSettlmentAmount();
|
|
|
+ LambdaQueryWrapper<Acc> accLambdaQueryWrapper=new LambdaQueryWrapper<>();
|
|
|
+ accLambdaQueryWrapper.eq(Acc::getSrcParentId,items.getSrcParentId()).eq(Acc::getTenantId,AuthUtil.getTenantId());
|
|
|
+ List<Acc> accs = accMapper.selectList(accLambdaQueryWrapper);
|
|
|
+ BigDecimal accTotal = accs.stream().filter(e -> e.getSettlementAmount() != null).map(Acc::getSettlementAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ if(accTotal.compareTo(orderAmount)>1)
|
|
|
+ {
|
|
|
+ throw new SecurityException("订单号:"+client.getOrderNo()+",结算总金额大于原单据的总金额,--原单号金额为:"+client.getAmount()+",--当前累计结算总金额为:"+accTotal);
|
|
|
+ }*/
|
|
|
}
|
|
|
|
|
|
@Override
|