From 6bbed1ea6b36af4eb0b234bec9d6e42d56f0cd00 Mon Sep 17 00:00:00 2001
From: shiyunteng <shiyunteng@example.com>
Date: 星期三, 30 九月 2026 16:12:49 +0800
Subject: [PATCH] feat:合同新增关联单位  开票可根据甲方或关联单位选择开票单位  收款去掉强制确认 收款只关联合同甲方或关联单位

---
 platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/OutBoundServiceImpl.java |   17 +++++++++++------
 1 files changed, 11 insertions(+), 6 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 57f2256..7579123 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
@@ -58,6 +58,9 @@
 	@Value("${dept.smjzt}")
 	private String smjzt;
 
+	@Value("${dept.smjhw}")
+	private String smjhw;
+
 	@Value("${dept.sgb}")
 	private String sgb;
 
@@ -111,7 +114,8 @@
 		addDTO.getSubjectMatterList().stream().forEach(outSubjectMatterAddDTO -> {
 			OutBound outBound = BeanUtil.copyProperties(outSubjectMatterAddDTO, OutBound.class);
 			if (StrUtil.equals(SecurityUtils.getUser().getCompId() + "", smj) || StrUtil.equals(SecurityUtils.getUser().getCompId() + "", smjsc) ||
-					StrUtil.equals(SecurityUtils.getUser().getCompId() + "", smjzt)) {
+					StrUtil.equals(SecurityUtils.getUser().getCompId() + "", smjzt)||
+					StrUtil.equals(SecurityUtils.getUser().getCompId() + "", smjhw)) {
 				outBound.setBatchNumber(generateSMJContractCKNo());
 			}
 			if (StrUtil.equals(SecurityUtils.getUser().getCompId() + "", sgb)) {
@@ -465,8 +469,9 @@
 			return r;
 		}
 		Contract contract = r.getData();
+		String batchNumber = genBatchNumber();
 		//鍑哄簱
-		handleOutBound(contract, addDTO);
+		handleOutBound(batchNumber,contract, addDTO);
 
 		//淇濆瓨璧勯噾鏄庣粏
 		BigDecimal outBoundAmount = savePaymentConfirm(contract, addDTO);
@@ -474,7 +479,7 @@
 		contract.setOutBoundAmout(outBoundAmount);
 		updateContractSchedule(contract);
 
-		return R.ok();
+		return R.ok(batchNumber);
 	}
 
 	private void updateContractSchedule(Contract contract) {
@@ -543,7 +548,7 @@
 		return outAmount;
 	}
 
-	private void handleOutBound(Contract contract, OutBoundAddDTO addDTO) {
+	private void handleOutBound(String batchNumber,Contract contract, OutBoundAddDTO addDTO) {
 		addDTO.getSubjectMatterList().stream().forEach(outSubjectMatterAddDTO -> {
 			ContractSubjectMatter subjectMatter = contractSubjectMatterMapper.selectOne(Wrappers.<ContractSubjectMatter>lambdaQuery()
 					.eq(ContractSubjectMatter::getContractId, contract.getId())
@@ -571,7 +576,6 @@
 			subjectMatter.setActualDeliveryDate(addDTO.getOutBoundTime());
 			contractSubjectMatterMapper.updateById(subjectMatter);
 			//淇濆瓨erp鍑哄簱
-			String batchNumber = genBatchNumber();
 			Long outBoundId = saveErpOutBound(contract, addDTO, outSubjectMatterAddDTO, batchNumber);
 			//淇濆瓨鍚堝悓鍑哄簱璁板綍
 			saveContractOutBound(contract, addDTO, subjectMatter, outBoundId);
@@ -580,7 +584,8 @@
 
 	private String genBatchNumber() {
 		if (StrUtil.equals(SecurityUtils.getUser().getCompId() + "", smj) || StrUtil.equals(SecurityUtils.getUser().getCompId() + "", smjsc) ||
-				StrUtil.equals(SecurityUtils.getUser().getCompId() + "", smjzt)) {
+				StrUtil.equals(SecurityUtils.getUser().getCompId() + "", smjzt)||
+				StrUtil.equals(SecurityUtils.getUser().getCompId() + "", smjhw)) {
 			return generateSMJContractCKNo();
 		}
 		if (StrUtil.equals(SecurityUtils.getUser().getCompId() + "", sgb)) {

--
Gitblit v1.9.1