From c865989f10e5a1ae4bb78831a879210fcdca2f83 Mon Sep 17 00:00:00 2001
From: 李白 <7387820+wjli_13439841639@user.noreply.gitee.com>
Date: 星期五, 29 五月 2026 11:30:28 +0800
Subject: [PATCH] 开票(开蓝票,红票,上传bip)

---
 platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/OutBoundServiceImpl.java |   21 +++++++++++++++++++++
 1 files changed, 21 insertions(+), 0 deletions(-)

diff --git a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/OutBoundServiceImpl.java b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/OutBoundServiceImpl.java
index 3b5e5e9..f329f11 100644
--- a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/OutBoundServiceImpl.java
+++ b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/OutBoundServiceImpl.java
@@ -40,6 +40,7 @@
 	private final ContractMapper contractMapper;
 	private final ContractPaymentScheduleProcessMapper scheduleProcessMapper;
 	private final ContractOutBoundMapper contractOutBoundMapper;
+	private final DeliveryOverdueMapper deliveryOverdueMapper;
 
 	@Override
 	public R add(OutBoundAddDTO addDTO) {
@@ -384,5 +385,25 @@
 		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);
 	}
 }
\ No newline at end of file

--
Gitblit v1.9.1