|
@ -81,36 +81,39 @@ public class PayPaymentServiceImpl extends ServiceImpl<PayPaymentMapper,PayPayme |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
LambdaQueryWrapper<VtbVerification> vtbLqw = new LambdaQueryWrapper<>(); |
|
|
LambdaQueryWrapper<VtbVerification> vtbLqw = new LambdaQueryWrapper<>(); |
|
|
vtbLqw.eq(VtbVerification::getVerificationMainCode,paymentBo.getVerificationMainCode()); |
|
|
vtbLqw.eq(VtbVerification::getVerificationMainCode,paymentBo.getVerificationSubCode()); |
|
|
List<VtbVerification> verificationList = verificationService.list(vtbLqw); |
|
|
List<VtbVerification> verificationList = verificationService.list(vtbLqw); |
|
|
if(verificationList.size()==0){ |
|
|
// if(verificationList.size()==0){
|
|
|
|
|
|
// Assert.throwEx("核销编码异常");
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
VtbVerificationSubject vtbSub = verificationSubjectService.getByVerificationSubjectCode(paymentBo.getVerificationSubCode()); |
|
|
|
|
|
if(vtbSub==null && verificationList.size()==0){ |
|
|
Assert.throwEx("核销编码异常"); |
|
|
Assert.throwEx("核销编码异常"); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
// VtbVerificationSubject vtbMain = verificationSubjectService.getByVerificationSubjectCode(paymentBo.getVerificationSubCode());
|
|
|
|
|
|
// if(vtbMain==null){
|
|
|
|
|
|
// Assert.throwEx("核销子项编码异常");
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
LambdaQueryWrapper<PayPaymentItem> lambdaQueryWrapper = new LambdaQueryWrapper<>(); |
|
|
LambdaQueryWrapper<PayPaymentItem> lambdaQueryWrapper = new LambdaQueryWrapper<>(); |
|
|
lambdaQueryWrapper.eq(PayPaymentItem::getVerificationMainCode,paymentBo.getVerificationMainCode()); |
|
|
lambdaQueryWrapper.eq(PayPaymentItem::getVerificationMainCode,paymentBo.getVerificationSubCode()); |
|
|
List<PayPaymentItem> payPaymentItemList = paymentItemService.list(lambdaQueryWrapper); |
|
|
List<PayPaymentItem> payPaymentItemList = paymentItemService.list(lambdaQueryWrapper); |
|
|
BigDecimal payedAmount = payPaymentItemList.stream().map(a->a.getItemPayAmount()).reduce(BigDecimal.ZERO,BigDecimal::add); |
|
|
BigDecimal payedAmount = payPaymentItemList.stream().map(a->a.getItemPayAmount()).reduce(BigDecimal.ZERO,BigDecimal::add); |
|
|
BigDecimal verificationAmount = verificationList.stream().map(a->a.getAmount()).reduce(BigDecimal.ZERO,BigDecimal::add); |
|
|
BigDecimal verificationAmount = null; |
|
|
|
|
|
if(vtbSub!=null){ |
|
|
|
|
|
verificationAmount = vtbSub.getUsedAmount(); |
|
|
|
|
|
}else if(verificationList.size()!=0) { |
|
|
|
|
|
verificationAmount = verificationList.stream().map(a -> a.getAmount()).reduce(BigDecimal.ZERO, BigDecimal::add); |
|
|
|
|
|
}else{ |
|
|
|
|
|
Assert.throwEx("核销金额异常"); |
|
|
|
|
|
} |
|
|
BigDecimal notPayAmount = verificationAmount.subtract(payedAmount); |
|
|
BigDecimal notPayAmount = verificationAmount.subtract(payedAmount); |
|
|
|
|
|
|
|
|
if(paymentBo.getPayAmount().compareTo(notPayAmount)>0){ |
|
|
if(paymentBo.getPayAmount().compareTo(notPayAmount)>0){ |
|
|
Assert.throwEx("支付金额已超出可支付额"); |
|
|
Assert.throwEx("支付金额已超出可支付额"); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
VtbVerification vtbMain = verificationList.get(0); |
|
|
|
|
|
|
|
|
|
|
|
PayPayment payPayment = new PayPayment(); |
|
|
PayPayment payPayment = new PayPayment(); |
|
|
payPayment.setPayType(paymentBo.getPayType()); |
|
|
payPayment.setPayType(paymentBo.getPayType()); |
|
|
payPayment.setPayCode(paymentBo.getErpId()); |
|
|
payPayment.setPayCode(paymentBo.getErpId()); |
|
|
payPayment.setSupplierId(vtbMain.getSupplierId()); |
|
|
|
|
|
payPayment.setSupplierCode(vtbMain.getSupplierCode()); |
|
|
|
|
|
payPayment.setSupplierName(vtbMain.getSupplierName()); |
|
|
|
|
|
payPayment.setPayAmount(paymentBo.getPayAmount()); |
|
|
payPayment.setPayAmount(paymentBo.getPayAmount()); |
|
|
payPayment.setUserId(sysUser.getId()); |
|
|
payPayment.setUserId(sysUser.getId()); |
|
|
payPayment.setUserCode(sysUser.getCode()); |
|
|
payPayment.setUserCode(sysUser.getCode()); |
|
@ -120,22 +123,47 @@ public class PayPaymentServiceImpl extends ServiceImpl<PayPaymentMapper,PayPayme |
|
|
payPayment.setBillNumber(paymentBo.getBillNumber()); |
|
|
payPayment.setBillNumber(paymentBo.getBillNumber()); |
|
|
payPayment.setRemark(paymentBo.getRemark()); |
|
|
payPayment.setRemark(paymentBo.getRemark()); |
|
|
payPayment.setTenantId("001"); |
|
|
payPayment.setTenantId("001"); |
|
|
payPayment.setCostApplyId(vtbMain.getCostApplyId()); |
|
|
|
|
|
payPayment.setErpId(paymentBo.getErpId()); |
|
|
payPayment.setErpId(paymentBo.getErpId()); |
|
|
|
|
|
|
|
|
|
|
|
if(vtbSub!=null) { |
|
|
|
|
|
payPayment.setSupplierId(vtbSub.getSupplierId()); |
|
|
|
|
|
payPayment.setSupplierCode(vtbSub.getSupplierCode()); |
|
|
|
|
|
payPayment.setSupplierName(vtbSub.getSupplierName()); |
|
|
|
|
|
payPayment.setCostApplyId(vtbSub.getCostApplyId()); |
|
|
|
|
|
}else if(verificationList.size()>0) { |
|
|
|
|
|
VtbVerification vtbMain = verificationList.get(0); |
|
|
|
|
|
payPayment.setSupplierId(vtbMain.getSupplierId()); |
|
|
|
|
|
payPayment.setSupplierCode(vtbMain.getSupplierCode()); |
|
|
|
|
|
payPayment.setSupplierName(vtbMain.getSupplierName()); |
|
|
|
|
|
payPayment.setCostApplyId(vtbMain.getCostApplyId()); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
PayPaymentItem payPaymentItem = new PayPaymentItem(); |
|
|
PayPaymentItem payPaymentItem = new PayPaymentItem(); |
|
|
payPaymentItem = CopierUtil.copy(payPayment,payPaymentItem); |
|
|
payPaymentItem = CopierUtil.copy(payPayment,payPaymentItem); |
|
|
payPaymentItem.setItemPayAmount(payPayment.getPayAmount()); |
|
|
payPaymentItem.setItemPayAmount(payPayment.getPayAmount()); |
|
|
payPaymentItem.setVerificationId(vtbMain.getId()); |
|
|
|
|
|
payPaymentItem.setVerificationMainCode(vtbMain.getVerificationMainCode()); |
|
|
|
|
|
payPaymentItem.setVerificationCode(vtbMain.getVerificationMainCode()); |
|
|
|
|
|
// payPaymentItem.setVerificationSubjectId(vtbMain.getId());
|
|
|
|
|
|
// payPaymentItem.setActivityId(vtbMain.getActivityId());
|
|
|
|
|
|
// payPaymentItem.setSubjectCode(vtbMain.getSubjectCode());
|
|
|
|
|
|
// payPaymentItem.setSubjectId(vtbMain.getSubjectId());
|
|
|
|
|
|
// payPaymentItem.setSubjectName(vtbMain.getSubjectName());
|
|
|
|
|
|
payPaymentItem.setRemark(payPayment.getRemark()); |
|
|
payPaymentItem.setRemark(payPayment.getRemark()); |
|
|
|
|
|
|
|
|
|
|
|
if(vtbSub!=null) { |
|
|
|
|
|
String verCode = vtbSub.getVerificationSubCode(); |
|
|
|
|
|
if(verCode.contains("_")){ |
|
|
|
|
|
verCode = verCode.substring(0,verCode.indexOf("_")); |
|
|
|
|
|
} |
|
|
|
|
|
payPaymentItem.setVerificationId(vtbSub.getVerificationId()); |
|
|
|
|
|
payPaymentItem.setVerificationMainCode(verCode); |
|
|
|
|
|
payPaymentItem.setVerificationCode(vtbSub.getVerificationSubCode()); |
|
|
|
|
|
payPaymentItem.setVerificationSubjectId(vtbSub.getId()); |
|
|
|
|
|
payPaymentItem.setActivityId(vtbSub.getActivityId()); |
|
|
|
|
|
payPaymentItem.setSubjectCode(vtbSub.getSubjectCode()); |
|
|
|
|
|
payPaymentItem.setSubjectId(vtbSub.getSubjectId()); |
|
|
|
|
|
payPaymentItem.setSubjectName(vtbSub.getSubjectName()); |
|
|
|
|
|
}else if(verificationList.size()>0){ |
|
|
|
|
|
VtbVerification vtbMain = verificationList.get(0); |
|
|
|
|
|
payPaymentItem.setVerificationId(vtbMain.getId()); |
|
|
|
|
|
payPaymentItem.setVerificationMainCode(vtbMain.getVerificationMainCode()); |
|
|
|
|
|
payPaymentItem.setVerificationCode(vtbMain.getVerificationCode()); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
this.save(payPayment); |
|
|
this.save(payPayment); |
|
|
|
|
|
|
|
|
payPaymentItem.setPaymentId(payPayment.getId()); |
|
|
payPaymentItem.setPaymentId(payPayment.getId()); |
|
|