From 9bb62e919e8c85e7cfca55f0af90da5e48dcedeb Mon Sep 17 00:00:00 2001
From: chen.lin <1442464845@qq.com>
Date: 星期五, 30 一月 2026 17:08:39 +0800
Subject: [PATCH] 查询库存明细-订单号
---
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java | 36 ++++++++++++++++++++++++++++--------
1 files changed, 28 insertions(+), 8 deletions(-)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java
index 8e1fe0c..f771b8f 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java
@@ -929,22 +929,25 @@
return R.error("鏌ヨ鏉′欢涓嶈兘涓虹┖");
}
- // 灏咵RP鍙傛暟鏄犲皠涓篔ava瀹炰綋瀛楁鍚嶏紙椹煎嘲鏍煎紡锛夛紝PageParam浼氳嚜鍔ㄨ浆鎹负鏁版嵁搴撳瓧娈靛悕锛堜笅鍒掔嚎鏍煎紡锛�
+ // 灏咵RP鍙傛暟鏄犲皠涓烘暟鎹簱瀛楁鍚嶏紙涓嬪垝绾挎牸寮忥級
Map<String, Object> queryMap = new HashMap<>();
-
- // 浠庡疄浣撶被涓彁鍙栨煡璇㈡潯浠讹紝鏄犲皠涓烘暟鎹簱瀛楁鍚�
+
+ // 浠庡疄浣撶被涓彁鍙栨煡璇㈡潯浠讹紝鏄犲皠涓虹湡瀹炵殑鏁版嵁搴撳瓧娈靛悕
if (StringUtils.isNotBlank(condition.getLocId())) {
- queryMap.put("locCode", condition.getLocId());
+ queryMap.put("loc_code", condition.getLocId());
}
if (StringUtils.isNotBlank(condition.getMatNr())) {
- queryMap.put("matnrCode", condition.getMatNr());
+ queryMap.put("matnr_code", condition.getMatNr());
}
if (StringUtils.isNotBlank(condition.getPlanNo())) {
- queryMap.put("trackCode", condition.getPlanNo());
+ queryMap.put("track_code", condition.getPlanNo());
}
if (StringUtils.isNotBlank(condition.getBatch())) {
queryMap.put("batch", condition.getBatch());
}
+ // 娉ㄦ剰锛歰rderNo 鍜� wareHouseId 涓嶅湪 LocItem 琛ㄤ腑锛岄渶瑕侀�氳繃鍏朵粬鏂瑰紡鏌ヨ
+ // orderNo 宸插湪鍚庨潰鍗曠嫭澶勭悊锛坧lat_order_code 鍜� plat_work_code锛�
+ // wareHouseId 闇�瑕侀�氳繃 Loc 琛ㄥ叧鑱旀煡璇紝宸插湪鍚庨潰鍗曠嫭澶勭悊
BaseParam baseParam = new BaseParam();
baseParam.syncMap(queryMap);
@@ -953,10 +956,27 @@
QueryWrapper<LocItem> wrapper = pageParam.buildWrapper(false);
// 璁㈠崟鍙�/宸ュ崟鍙�/MES宸ュ崟鍙�
+ // 璁㈠崟鍙峰彲鑳藉瓨鍌ㄥ湪锛�1) LocItem.plat_order_code 2) LocItem.plat_work_code 3) WkOrder.code (閫氳繃orderId鍏宠仈)
if (StringUtils.isNotBlank(condition.getOrderNo())) {
String orderNo = condition.getOrderNo();
- wrapper.and(w -> w.eq("plat_order_code", orderNo)
- .or().eq("plat_work_code", orderNo));
+
+ // 鍏堟煡璇kOrder琛紝鑾峰彇鍖归厤鐨勮鍗旾D鍒楄〃
+ LambdaQueryWrapper<WkOrder> orderWrapper = new LambdaQueryWrapper<>();
+ orderWrapper.eq(WkOrder::getCode, orderNo);
+ List<WkOrder> matchingOrders = asnOrderService.list(orderWrapper);
+ List<Long> matchingOrderIds = matchingOrders.stream()
+ .map(WkOrder::getId)
+ .collect(Collectors.toList());
+
+ // 鏋勫缓璁㈠崟鍙锋煡璇㈡潯浠讹細LocItem琛ㄧ殑plat_order_code銆乸lat_work_code锛屾垨閫氳繃orderId鍏宠仈WkOrder.code
+ wrapper.and(w -> {
+ w.eq("plat_order_code", orderNo)
+ .or().eq("plat_work_code", orderNo);
+ // 濡傛灉鎵惧埌浜嗗尮閰嶇殑璁㈠崟锛屼篃鏌ヨorderId
+ if (!matchingOrderIds.isEmpty()) {
+ w.or().in("order_id", matchingOrderIds);
+ }
+ });
}
// 鐗╂枡缁勶紙闇�瑕侀�氳繃鐗╂枡琛ㄥ叧鑱旀煡璇級
--
Gitblit v1.9.1