|
@ -56,6 +56,7 @@ public class PayPaymentServiceImpl extends ServiceImpl<PayPaymentMapper,PayPayme |
|
|
private BmsSupplierService supplierService; |
|
|
private BmsSupplierService supplierService; |
|
|
private PayPaymentItemService paymentItemService; |
|
|
private PayPaymentItemService paymentItemService; |
|
|
private VtbVerificationSubjectService verificationSubjectService; |
|
|
private VtbVerificationSubjectService verificationSubjectService; |
|
|
|
|
|
private VtbVerificationService verificationService; |
|
|
private TbsActivityService activityService; |
|
|
private TbsActivityService activityService; |
|
|
private PayHistoryItemService payHistoryItemService; |
|
|
private PayHistoryItemService payHistoryItemService; |
|
|
private XiaoLuTonService xiaoLuTonService; |
|
|
private XiaoLuTonService xiaoLuTonService; |
|
@ -79,27 +80,37 @@ public class PayPaymentServiceImpl extends ServiceImpl<PayPaymentMapper,PayPayme |
|
|
Assert.throwEx("人员工号异常"); |
|
|
Assert.throwEx("人员工号异常"); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
VtbVerificationSubject verSubject = verificationSubjectService.getByVerificationSubjectCode(paymentBo.getVerificationSubCode()); |
|
|
LambdaQueryWrapper<VtbVerification> vtbLqw = new LambdaQueryWrapper<>(); |
|
|
if(verSubject==null){ |
|
|
vtbLqw.eq(VtbVerification::getVerificationMainCode,paymentBo.getVerificationMainCode()); |
|
|
Assert.throwEx("核销子项编码异常"); |
|
|
List<VtbVerification> verificationList = verificationService.list(vtbLqw); |
|
|
|
|
|
if(verificationList.size()==0){ |
|
|
|
|
|
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::getVerificationSubjectId,verSubject.getId()); |
|
|
lambdaQueryWrapper.eq(PayPaymentItem::getVerificationMainCode,paymentBo.getVerificationMainCode()); |
|
|
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 notPayAmount = verSubject.getUsedAmount().subtract(payedAmount); |
|
|
BigDecimal verificationAmount = verificationList.stream().map(a->a.getAmount()).reduce(BigDecimal.ZERO,BigDecimal::add); |
|
|
|
|
|
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(verSubject.getSupplierId()); |
|
|
payPayment.setSupplierId(vtbMain.getSupplierId()); |
|
|
payPayment.setSupplierCode(verSubject.getSupplierCode()); |
|
|
payPayment.setSupplierCode(vtbMain.getSupplierCode()); |
|
|
payPayment.setSupplierName(verSubject.getSupplierName()); |
|
|
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()); |
|
@ -109,19 +120,20 @@ 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(verSubject.getCostApplyId()); |
|
|
payPayment.setCostApplyId(vtbMain.getCostApplyId()); |
|
|
payPayment.setErpId(paymentBo.getErpId()); |
|
|
payPayment.setErpId(paymentBo.getErpId()); |
|
|
|
|
|
|
|
|
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(verSubject.getVerificationId()); |
|
|
// payPaymentItem.setVerificationId(vtbMain.getId());
|
|
|
payPaymentItem.setVerificationCode(verSubject.getVerificationSubCode()); |
|
|
payPaymentItem.setVerificationMainCode(vtbMain.getVerificationMainCode()); |
|
|
payPaymentItem.setVerificationSubjectId(verSubject.getId()); |
|
|
// payPaymentItem.setVerificationCode(vtbMain.getVerificationSubCode());
|
|
|
payPaymentItem.setActivityId(verSubject.getActivityId()); |
|
|
// payPaymentItem.setVerificationSubjectId(vtbMain.getId());
|
|
|
payPaymentItem.setSubjectCode(verSubject.getSubjectCode()); |
|
|
// payPaymentItem.setActivityId(vtbMain.getActivityId());
|
|
|
payPaymentItem.setSubjectId(verSubject.getSubjectId()); |
|
|
// payPaymentItem.setSubjectCode(vtbMain.getSubjectCode());
|
|
|
payPaymentItem.setSubjectName(verSubject.getSubjectName()); |
|
|
// payPaymentItem.setSubjectId(vtbMain.getSubjectId());
|
|
|
|
|
|
// payPaymentItem.setSubjectName(vtbMain.getSubjectName());
|
|
|
payPaymentItem.setRemark(payPayment.getRemark()); |
|
|
payPaymentItem.setRemark(payPayment.getRemark()); |
|
|
|
|
|
|
|
|
this.save(payPayment); |
|
|
this.save(payPayment); |
|
@ -146,7 +158,7 @@ public class PayPaymentServiceImpl extends ServiceImpl<PayPaymentMapper,PayPayme |
|
|
// private BigDecimal buildPaymentItems(PayPaymentBo paymentBo, BigDecimal currentBalance, List<PayPaymentItem> paymentItemList, List<VtbVerificationSubject> verificationSubjectUpdateList, VtbVerificationSubject verificationSubject) {
|
|
|
// private BigDecimal buildPaymentItems(PayPaymentBo paymentBo, BigDecimal currentBalance, List<PayPaymentItem> paymentItemList, List<VtbVerificationSubject> verificationSubjectUpdateList, VtbVerificationSubject verificationSubject) {
|
|
|
// //统计历史支付金额
|
|
|
// //统计历史支付金额
|
|
|
// BigDecimal hisPayAmount = BigDecimal.ZERO;
|
|
|
// BigDecimal hisPayAmount = BigDecimal.ZERO;
|
|
|
// List<PayPaymentItem> payPaymentItems = paymentItemService.listByVerSubjectId(verificationSubject.getId());
|
|
|
// List<PayPaymentItem> payPaymentItems = paymentItemService.listByvtbMainId(verificationSubject.getId());
|
|
|
// for (PayPaymentItem paymentItem : payPaymentItems) {
|
|
|
// for (PayPaymentItem paymentItem : payPaymentItems) {
|
|
|
// hisPayAmount = hisPayAmount.add(paymentItem.getItemPayAmount());
|
|
|
// hisPayAmount = hisPayAmount.add(paymentItem.getItemPayAmount());
|
|
|
// }
|
|
|
// }
|
|
|