| | |
| | | private final ContractMapper contractMapper; |
| | | private final ContractPaymentScheduleProcessMapper scheduleProcessMapper; |
| | | private final ContractOutBoundMapper contractOutBoundMapper; |
| | | private final DeliveryOverdueMapper deliveryOverdueMapper; |
| | | |
| | | @Override |
| | | public R add(OutBoundAddDTO addDTO) { |
| | |
| | | contractOutBound.setOutBoundAttPaths(addDTO.getOutBoundAttPaths()); |
| | | contractOutBound.setOutBoundId(outBoundId); |
| | | contractOutBoundMapper.insert(contractOutBound); |
| | | if (StrUtil.isEmpty(contract.getContractCategory())){ |
| | | if (DateUtil.compare(addDTO.getOutBoundTime(),contract.getExpirationDate())>0){ |
| | | saveOverdueOutBound(contract, addDTO, subjectMatter); |
| | | } |
| | | } |
| | | } |
| | | |
| | | private void saveOverdueOutBound(Contract contract, OutBoundAddDTO addDTO, ContractSubjectMatter subjectMatter) { |
| | | DeliveryOverdue overdue = new DeliveryOverdue(); |
| | | overdue.setContractId(contract.getId()); |
| | | overdue.setContractName(contract.getContractName()); |
| | | overdue.setBusGuestId(contract.getPartyAId()); |
| | | overdue.setBusGuestName(contract.getPartyA()); |
| | | overdue.setMaterialName(subjectMatter.getMaterialName()); |
| | | overdue.setMaterialInternalName(subjectMatter.getMaterialInternalName()); |
| | | overdue.setMaterialCode(subjectMatter.getMaterialCode()); |
| | | overdue.setOverdueNum(subjectMatter.getLastDeliveredQuantity()); |
| | | overdue.setTotalAmount(subjectMatter.getUnitPrice().multiply(subjectMatter.getLastDeliveredQuantity())); |
| | | overdue.setOverdueDuration(new BigDecimal(DateUtil.betweenDay(addDTO.getOutBoundTime(),contract.getExpirationDate(),true))); |
| | | deliveryOverdueMapper.insert(overdue); |
| | | } |
| | | } |