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/ContractInvoiceServiceImpl.java |   35 +++++++++++++++++++++++++----------
 1 files changed, 25 insertions(+), 10 deletions(-)

diff --git a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/ContractInvoiceServiceImpl.java b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/ContractInvoiceServiceImpl.java
index 18650c8..655f892 100644
--- a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/ContractInvoiceServiceImpl.java
+++ b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/ContractInvoiceServiceImpl.java
@@ -93,6 +93,9 @@
 	@Value("${dept.smjsc}")
 	private String smjsc;
 
+	@Value("${dept.smjhw}")
+	private String smjhw;
+
 	@Value("${dept.tfgs}")
 	private String tfgs;
 
@@ -233,8 +236,10 @@
 				smjList.add(smj);
 				smjList.add(smjsc);
 				smjList.add(smjzt);
+				smjList.add(smjhw);
 				if (("" + SecurityUtils.getUser().getCompId()).equals(smj) || ("" + SecurityUtils.getUser().getCompId()).equals(smjsc) ||
-						("" + SecurityUtils.getUser().getCompId()).equals(smjzt)) {
+						("" + SecurityUtils.getUser().getCompId()).equals(smjzt) ||
+						("" + SecurityUtils.getUser().getCompId()).equals(smjhw)) {
 					Product product = productMapper.selectOne(Wrappers.<Product>lambdaQuery().eq(Product::getErpCode, subjectMatter.getMaterialCode())
 							.in(Product::getCompId, smjList).last("limit 1"));
 					if (ObjUtil.isNull(product) || StrUtil.isBlank(product.getTaxClass()) || StrUtil.isBlank(product.getTaxCode())) {
@@ -285,8 +290,10 @@
 			smjList.add(smj);
 			smjList.add(smjsc);
 			smjList.add(smjzt);
+			smjList.add(smjhw);
 			if (("" + SecurityUtils.getUser().getCompId()).equals(smj) || ("" + SecurityUtils.getUser().getCompId()).equals(smjsc) ||
-					("" + SecurityUtils.getUser().getCompId()).equals(smjzt)) {
+					("" + SecurityUtils.getUser().getCompId()).equals(smjzt)||
+					("" + SecurityUtils.getUser().getCompId()).equals(smjhw)) {
 				Product product = productMapper.selectOne(Wrappers.<Product>lambdaQuery().eq(Product::getErpCode, contractOutBound.getSubjectMatterCode())
 						.in(Product::getCompId, smjList).last("limit 1"));
 				if (ObjUtil.isNull(product) || StrUtil.isBlank(product.getTaxClass()) || StrUtil.isBlank(product.getTaxCode())) {
@@ -346,8 +353,10 @@
 			smjList.add(smj);
 			smjList.add(smjsc);
 			smjList.add(smjzt);
+			smjList.add(smjhw);
 			if (("" + SecurityUtils.getUser().getCompId()).equals(smj) || ("" + SecurityUtils.getUser().getCompId()).equals(smjsc) ||
-					("" + SecurityUtils.getUser().getCompId()).equals(smjzt)) {
+					("" + SecurityUtils.getUser().getCompId()).equals(smjzt) ||
+					("" + SecurityUtils.getUser().getCompId()).equals(smjhw)) {
 				Product product = productMapper.selectOne(Wrappers.<Product>lambdaQuery().eq(Product::getErpCode, contractOutBound.getSubjectMatterCode())
 						.in(Product::getCompId, smjList).last("limit 1"));
 				if (ObjUtil.isNull(product) || StrUtil.isBlank(product.getTaxClass()) || StrUtil.isBlank(product.getTaxCode())) {
@@ -407,8 +416,10 @@
 					smjList.add(smj);
 					smjList.add(smjsc);
 					smjList.add(smjzt);
+					smjList.add(smjhw);
 					if (("" + SecurityUtils.getUser().getCompId()).equals(smj) || ("" + SecurityUtils.getUser().getCompId()).equals(smjsc) ||
-							("" + SecurityUtils.getUser().getCompId()).equals(smjzt)) {
+							("" + SecurityUtils.getUser().getCompId()).equals(smjzt) ||
+							("" + SecurityUtils.getUser().getCompId()).equals(smjhw)) {
 						product = productMapper.selectOne(Wrappers.<Product>lambdaQuery().eq(Product::getErpCode, contractOutBound.getSubjectMatterCode())
 								.in(Product::getCompId, smjList).last("limit 1"));
 					} else {
@@ -567,8 +578,8 @@
 		GenInvoiceInfoVo vo = new GenInvoiceInfoVo();
 		BusinessCustomer a = businessCustomerMapper.selectById(contract.getPartyAId());
 		vo.setContractId(contract.getId());
-		vo.setPartyA(a.getCompanyName());
-		vo.setPartyAOrgCode(a.getCreditCode());
+		vo.setPartyA(genInvoiceInfoDTO.getPartyA());
+		vo.setPartyAOrgCode(genInvoiceInfoDTO.getPartyAOrgCode());
 		vo.setPartyAOpenBank(a.getBankName());
 		vo.setPartyABankAccount(a.getBankAccount());
 		vo.setPartyB(b.getOrgName());
@@ -610,8 +621,10 @@
 				smjList.add(smj);
 				smjList.add(smjsc);
 				smjList.add(smjzt);
+				smjList.add(smjhw);
 				if (("" + SecurityUtils.getUser().getCompId()).equals(smj) || ("" + SecurityUtils.getUser().getCompId()).equals(smjsc) ||
-						("" + SecurityUtils.getUser().getCompId()).equals(smjzt)) {
+						("" + SecurityUtils.getUser().getCompId()).equals(smjzt)||
+						("" + SecurityUtils.getUser().getCompId()).equals(smjhw)) {
 					product = productMapper.selectOne(Wrappers.<Product>lambdaQuery().eq(Product::getErpCode, contractOutBound.getSubjectMatterCode())
 							.in(Product::getCompId, smjList).last("limit 1"));
 				} else {
@@ -679,8 +692,10 @@
 						smjList.add(smj);
 						smjList.add(smjsc);
 						smjList.add(smjzt);
+						smjList.add(smjhw);
 						if (("" + SecurityUtils.getUser().getCompId()).equals(smj) || ("" + SecurityUtils.getUser().getCompId()).equals(smjsc) ||
-								("" + SecurityUtils.getUser().getCompId()).equals(smjzt)) {
+								("" + SecurityUtils.getUser().getCompId()).equals(smjzt)||
+								("" + SecurityUtils.getUser().getCompId()).equals(smjhw)) {
 							product = productMapper.selectOne(Wrappers.<Product>lambdaQuery().eq(Product::getErpCode, contractOutBound.getSubjectMatterCode())
 									.in(Product::getCompId, smjList).last("limit 1"));
 						} else {
@@ -807,8 +822,8 @@
 		BusinessCustomer a = businessCustomerMapper.selectById(contract.getPartyAId());
 		vo.setContractId(contract.getId());
 		vo.setAdvanceInvoice("111");
-		vo.setPartyA(a.getCompanyName());
-		vo.setPartyAOrgCode(a.getCreditCode());
+		vo.setPartyA(genInvoiceInfoDTO.getPartyA());
+		vo.setPartyAOrgCode(genInvoiceInfoDTO.getPartyAOrgCode());
 		vo.setPartyAOpenBank(a.getBankName());
 		vo.setPartyABankAccount(a.getBankAccount());
 		vo.setPartyB(b.getOrgName());

--
Gitblit v1.9.1