From 6d1bf32bc0b51dc12048fe6bb70badfbd31d67ac Mon Sep 17 00:00:00 2001
From: liu <2021943741@qq.com>
Date: 星期六, 07 十一月 2026 13:44:10 +0800
Subject: [PATCH] fix: 修复销售订单审批及开票回款搜索

---
 yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/contract/CrmContractServiceImpl.java |   11 +++++++----
 1 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/contract/CrmContractServiceImpl.java b/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/contract/CrmContractServiceImpl.java
index 9258b67..7d122c8 100644
--- a/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/contract/CrmContractServiceImpl.java
+++ b/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/contract/CrmContractServiceImpl.java
@@ -47,6 +47,7 @@
 import cn.iocoder.yudao.module.erp.api.sale.dto.ErpSaleOrderRespDTO;
 import cn.iocoder.yudao.module.mdm.api.item.MdmItemApi;
 import cn.iocoder.yudao.module.mdm.api.item.dto.MdmItemRespDTO;
+import cn.iocoder.yudao.module.mdm.enums.MdmItemTypeEnum;
 import cn.iocoder.yudao.module.system.api.approval.ApprovalConfigApi;
 import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
 import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
@@ -584,16 +585,18 @@
         createReqDTO.setRemark("鐢卞悎鍚屻��" + contract.getNo() + "銆戣嚜鍔ㄧ敓鎴�");
 
         // 5. 鏋勫缓璁㈠崟椤�
+        Map<Long, MdmItemRespDTO> itemMap = mdmItemApi.getItemMap(
+                convertSet(contractProducts, CrmContractProductDO::getItemId));
         List<ErpSaleOrderCreateReqDTO.Item> items = contractProducts.stream()
                 .map(cp -> {
                     ErpSaleOrderCreateReqDTO.Item item = new ErpSaleOrderCreateReqDTO.Item();
                     item.setProductId(cp.getItemId());
                     item.setProductPrice(cp.getContractPrice());
                     item.setCount(cp.getCount());
-                    // 鍚堝悓浜у搧榛樿闇�瑕佺敓浜э細璁㈠崟瀹℃壒閫氳繃鍚庢墠鑳借嚜鍔ㄥ垱寤� MPS锛�
-                    // 鍚﹀垯銆屽悎鍚� 鈫� 璁㈠崟 鈫� 鐢熶骇銆嶉摼璺湪鍚堝悓鏉ユ簮鐨勮鍗曚笂浼氭柇鎺夈��
-                    // 鑻ヤ釜鍒骇鍝佷负澶栬喘/杞敭锛屽彲鍦ㄩ攢鍞鍗曟槑缁嗕腑鎶娿�岄渶瑕佺敓浜с�嶆敼涓哄惁銆�
-                    item.setNeedProduction(1);
+                    // 鍙湁浜у搧鎵嶈繘鍏ョ敓浜ц鍒掞紱娓╂帶绛夊璐墿鏂欏彲闅忓悎鍚岃繘鍏ラ攢鍞鍗曪紝
+                    // 浣嗕笉鑳藉垱寤� MPS锛屽惁鍒欎細瀵艰嚧鏁寸瑪閿�鍞鍗曞鎵瑰洖婊氥��
+                    MdmItemRespDTO mdmItem = itemMap.get(cp.getItemId());
+                    item.setNeedProduction(mdmItem != null && MdmItemTypeEnum.isProduct(mdmItem.getItemType()) ? 1 : 0);
                     return item;
                 })
                 .toList();

--
Gitblit v1.9.3