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/BankStatementServiceImpl.java |   66 +++++++++++++++++----------------
 1 files changed, 34 insertions(+), 32 deletions(-)

diff --git a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/BankStatementServiceImpl.java b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/BankStatementServiceImpl.java
index 91a2cb4..749dbce 100644
--- a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/BankStatementServiceImpl.java
+++ b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/BankStatementServiceImpl.java
@@ -22,6 +22,7 @@
 import com.by4cloud.platformx.business.mapper.*;
 import com.by4cloud.platformx.business.service.BankStatementService;
 import com.by4cloud.platformx.business.service.PaymentConfirmService;
+import com.by4cloud.platformx.business.vo.CustInfoVo;
 import com.by4cloud.platformx.business.vo.ReceiveBipVo;
 import com.by4cloud.platformx.business.vo.ReceiveItemVo;
 import com.by4cloud.platformx.business.vo.StatementContractVo;
@@ -120,16 +121,7 @@
 			pushCollectionSgb(statement, updateDTO.getContractCollectionList());
 		}
 
-//		//鍒ゆ柇鏄惁鍐呴儴鍗曚綅
-//		CustInfoVo custInfoVo = bipViewMapper.selectBaseInfoByCustName(statement.getPayBankAccName());
-//		if (ObjUtil.isNull(custInfoVo)){
-//			return R.ok();
-//		}
-//		//bip鎺ㄩ��
-//		if (bipFlag&&custInfoVo.getCustCode().equals("01")) {
-//			return pushSaveCollection(statement, updateDTO.getContractCollectionList());
-//		}
-//		log.info("鍐呴儴寰�鏉ユ敹娆惧崟锛屽鎴峰悕绉帮細{},瀹㈡埛绫诲瀷锛歿},涓嶇敤淇濆瓨鏀舵鍗�",custInfoVo.getCustName(),custInfoVo.getCustclass());
+
 		return R.ok();
 	}
 
@@ -140,30 +132,29 @@
 
 //		HttpResponse resp = HttpUtil.createPost(sgbErp + "/apilink/arclose/create?corpsecret=12345678&appserver=appserver1&accountid=888&tradeid="
 //				+ IdUtil.fastUUID())
-//				.header("Content-Type","application/x-www-form-urlencoded")
-//				.body(URLEncodeUtil.encode(request.toJSONString(), StandardCharsets.UTF_8))
+//				.form("",request.toJSONString())
 //				.timeout(30000)
 //				// 鎸囧畾缂栫爜鏍煎紡
 //				.charset(StandardCharsets.UTF_8)
 //				.execute();
 
-			log.info("宸ヤ笟娉垫敹娆惧叆鍙�:{}", "=" +request.toJSONString());
-			OkHttpClient client = new OkHttpClient().newBuilder()
-					.build();
-			MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
-			RequestBody body = RequestBody.create(mediaType, "=" + request.toJSONString());
-			Request req = new Request.Builder()
-					.url(sgbErp + "/apilink/arclose/create?corpsecret=12345678&appserver=appserver1&accountid=888&tradeid=" + IdUtil.fastUUID())
-					.method("POST", body)
-					.addHeader("Content-Type", "application/x-www-form-urlencoded")
-					.build();
-			String result = "";
-			try (Response response = client.newCall(req).execute()){
-				if (response.isSuccessful()) {
-					// 浠呰皟鐢ㄤ竴娆tring()锛岀粨鏋滃瓨鍏ュ彉閲忓鐢紝鍚庣画鎵�鏈夐�昏緫鐩存帴璇诲彇璇ュ彉閲�
-					result = response.body().string();
-					// 涓氬姟閫昏緫鐩存帴浣跨敤result锛岀姝㈠啀娆¤皟鐢╮esponse.body().string()
-				}
+		log.info("宸ヤ笟娉垫敹娆惧叆鍙�:{}", "=" + request.toJSONString());
+		OkHttpClient client = new OkHttpClient().newBuilder()
+				.build();
+		MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
+		RequestBody body = RequestBody.create(mediaType, "=" + request.toJSONString());
+		Request req = new Request.Builder()
+				.url(sgbErp + "/apilink/arclose/create?corpsecret=12345678&appserver=appserver1&accountid=888&tradeid=" + IdUtil.fastUUID())
+				.method("POST", body)
+				.addHeader("Content-Type", "application/x-www-form-urlencoded")
+				.build();
+		String result = "";
+		try (Response response = client.newCall(req).execute()) {
+			if (response.isSuccessful()) {
+				// 浠呰皟鐢ㄤ竴娆tring()锛岀粨鏋滃瓨鍏ュ彉閲忓鐢紝鍚庣画鎵�鏈夐�昏緫鐩存帴璇诲彇璇ュ彉閲�
+				result = response.body().string();
+				// 涓氬姟閫昏緫鐩存帴浣跨敤result锛岀姝㈠啀娆¤皟鐢╮esponse.body().string()
+			}
 			log.info("宸ヤ笟娉垫敹娆惧洖鍙傦細{}", result);
 			saveErpRequestRecord("sgb", "/apilink/arclose/create", request.toJSONString(), result);
 			JSONObject respJson = JSONObject.parseObject(result);
@@ -205,7 +196,7 @@
 		djt.put("cBankAccount", statement.getReceiveBankAccAcc());//鏈柟閾惰璐﹀彿
 		djt.put("cBank", statement.getPayBankAccName());//鏈柟閾惰璐﹀彿
 		djt.put("cContractType", "161");
-		if (CollUtil.size(contractCollectionList)==1) {
+		if (CollUtil.size(contractCollectionList) == 1) {
 			Contract contractHeader = contractMapper.selectById(contractCollectionList.get(0).getId());
 			djt.put("cContractID", contractHeader.getErpContractNo());
 		}
@@ -221,7 +212,7 @@
 			djti.put("cPersonCode", "00164");//涓氬姟鍛樼紪鐮�
 			djti.put("cConID", contract.getErpContractNo());//鍚堝悓缂栫爜
 			djti.put("娆鹃」绫诲瀷", "搴旀敹娆�");
-			djti.put("cConType","闀囨睙甯�");
+			djti.put("cConType", "闀囨睙甯�");
 			array.add(djti);
 		});
 
@@ -298,8 +289,10 @@
 		item.put("expenseItemCode", bipVo.getItemList().get(0).getJjsx());//缁忔祹浜嬮」
 		item.put("remarks", bipVo.getItemList().get(0).getZy());//鎽樿
 		JSONObject freeChId = new JSONObject();
-		freeChId.put("GX08", bipVo.getItemList().get(0).getHsdy());//鏍哥畻鍗曞厓
+
 		freeChId.put("YSYF14", "1");//娆鹃」绫诲瀷 1 棰勬敹娆� 2 搴旀敹娆�
+		freeChId.put("YSYF33", bipVo.getItemList().get(0).getFphm());//鍙戠エ鍙风爜
+		freeChId.put("GX08", bipVo.getItemList().get(0).getHsdy());//鏍哥畻鍗曞厓
 		freeChId.put("JT04", bipVo.getItemList().get(0).getHsjylx());//鏍哥畻浜ゆ槗绫诲瀷 0101 闆嗗洟澶栭儴 01020301 涓夌骇鍒嗗瓙鍏徃闂� 01020302 涓夌骇鍒嗗叕鍙镐笌瀛愬瓙鍏徃涔嬮棿
 		freeChId.put("JT06", bipVo.getItemList().get(0).getKxmx());//娆鹃」鏄庣粏
 		freeChId.put("JT12", bipVo.getItemList().get(0).getCpwlfl());//浜у搧鐗╂枡鍒嗙被
@@ -643,6 +636,7 @@
 		bipVo.setDjfx("1");
 		List<ReceiveItemVo> list = new ArrayList<>();
 		ReceiveItemVo itemVo = new ReceiveItemVo();
+		itemVo.setKxlx("1");
 		itemVo.setConfirmAmount(bankStatementItem.getConfirmAmount());
 		list.add(itemVo);
 		bipVo.setItemList(list);
@@ -660,6 +654,14 @@
 		item.setBipParam(updateDTO.getBipParam());
 		bankStatementItemMapper.updateById(item);
 		BankStatement statement = baseMapper.selectById(item.getStatetId());
+
+		//鍒ゆ柇鏄惁鍐呴儴鍗曚綅
+		CustInfoVo custInfoVo = bipViewMapper.selectBaseInfoByCustName(statement.getPayBankAccName());
+		if (ObjUtil.isNotNull(custInfoVo) && custInfoVo.getCustCode().equals("01")) {
+			log.info("鍐呴儴寰�鏉ユ敹娆惧崟锛屽鎴峰悕绉帮細{},瀹㈡埛绫诲瀷锛歿},涓嶇敤淇濆瓨鏀舵鍗�", custInfoVo.getCustName(), custInfoVo.getCustclass());
+			return R.failed("鍐呴儴寰�鏉ユ敹娆惧崟,涓嶇敤鎺ㄩ�丅IP");
+		}
+
 		return pushSaveCollection(statement, item);
 	}
 }
\ No newline at end of file

--
Gitblit v1.9.1