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 | 21 +++++++++++++++++----
1 files changed, 17 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 3052329..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;
@@ -530,8 +531,18 @@
if (config == null || Boolean.FALSE.equals(config.getNotifyEnabled())) {
return 0L;
}
+ // 鎻愰啋澶╂暟鏈厤缃椂鎸夐粯璁� 7 澶╁鐞嗭紝閬垮厤 config.getNotifyDays() 涓� null 鏃舵媶绠辨姏 NPE 瀵艰嚧鎺ュ彛 500
+ if (config.getNotifyDays() == null) {
+ config = BeanUtils.toBean(config, CrmContractConfigDO.class);
+ config.setNotifyDays(DEFAULT_NOTIFY_DAYS);
+ }
return contractMapper.selectCountByRemind(userId, config);
}
+
+ /**
+ * 鍚堝悓鍒版湡鎻愰啋鐨勯粯璁ゆ彁鍓嶅ぉ鏁帮細鍚堝悓鎻愰啋鏈厤缃� notifyDays 鏃朵娇鐢�
+ */
+ private static final Integer DEFAULT_NOTIFY_DAYS = 7;
@Override
public List<CrmContractDO> getContractListByCustomerIdOwnerUserId(Long customerId, Long ownerUserId) {
@@ -574,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