From 2bbb655dcb98b9d54083286825f14bf8aff7143b Mon Sep 17 00:00:00 2001
From: skyouc <creaycat@gmail.com>
Date: 星期二, 20 一月 2026 17:22:36 +0800
Subject: [PATCH] 1. 查询库存接口调整优化

---
 src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java |   87 +++++++++++++++++++++++--------------------
 1 files changed, 46 insertions(+), 41 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java b/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
index a0e4ed2..5b28ddd 100644
--- a/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
@@ -19,6 +19,8 @@
 import com.zy.asrs.entity.*;
 import com.zy.asrs.enums.OrderTypeEnum;
 import com.zy.asrs.service.*;
+import com.zy.asrs.service.impl.TaskDetlLogServiceImpl;
+import com.zy.asrs.service.impl.TaskDetlServiceImpl;
 import com.zy.asrs.task.AbstractHandler;
 import com.zy.asrs.task.core.ReturnT;
 import com.zy.asrs.utils.OrderInAndOutUtil;
@@ -69,6 +71,8 @@
     private LocDetlService locDetlService;
     @Autowired
     CheckOrderDetlService checkOrderDetlService;
+    @Autowired
+    private TaskDetlLogService taskDetlLogService;
 
 
     @Transactional
@@ -255,7 +259,6 @@
             ReportOrderParam orderParam = new ReportOrderParam();
             orderParam.setCompany_id(order.getCstmrName())
                     .setWms_id(order.getId() + "")
-//                    .setOrder_no(order.getOrderNo())
                     .setDispatch_no(order.getOrderNo())
                     .setType(order.getDocType() + "")
                     .setInv_no(order.getNumber())
@@ -289,9 +292,9 @@
                         .setPro_id(detl.getSuppCode())
                         .setLocation_no(locDetl.getZpallet())
                         .setSj_emp(locDetl.getModiUser$())
-                        .setLocation_type(MatLocType.getMatTag(material.getTagId()  + ""))
+                        .setLocation_type(MatLocType.getMatTag(material.getTagId() + ""))
                         // 涓婃姤鏃讹紝榛樿涓婃姤鏃堕棿鏄洿鏂版椂闂�
-                        .setSj_date(Utils.dateToStr(order.getUpdateTime(), "yyyy-MM-dd HH:mm:ss") )
+                        .setSj_date(Utils.dateToStr(order.getUpdateTime(), "yyyy-MM-dd HH:mm:ss"))
                         // 涓婃姤鏃讹紝榛樿涓婃姤鏁伴噺鏄鍗曟暟閲�
                         .setPick_qty(detl.getQty().intValue())
                         // 涓婃姤鏃讹紝榛樿鎹熷潖鏁伴噺鏄�0
@@ -345,51 +348,56 @@
                 }
             }
         } else if (Integer.valueOf(docType.getDocId() + "").equals(OrderTypeEnum.TRANSFER.type)) {
-            // 澶囪揣娲惧伐鍗曪紙鍑哄簱锛�
+            // 澶囪揣鎸囩ず娲惧伐鍗曪紙鍑哄簱锛�
             ReportOrderParam orderParam = new ReportOrderParam();
             orderParam.setCompany_id(order.getCstmrName())
                     .setWms_id(order.getId() + "")
-                    .setOrder_no(order.getOrderNo())
+                    .setDispatch_no(order.getOrderNo())
                     .setType(order.getDocType() + "")
-                    .setInv_no(order.getNumber())
-                    .setPm_tktid(order.getItemName())
                     .setUpdate_time(Utils.dateToStr(new Date(), "yyyy-MM-dd HH:mm:ss"))
-                    .setTarget_location("");
+                    //鐩爣搴撳尯
+                    .setTarget_location("")
+                    .setSource_location("1");
 
-            List<ReportOrderParams> reportOrderParams = new ArrayList<>();
+            List<OrderItemsParam> reportOrderParams = new ArrayList<>();
             orderDetls.forEach(detl -> {
                 Mat material = matService.selectByMatnr(detl.getMatnr());
                 if (Objects.isNull(material)) {
                     throw new CoolException("鐗╂枡涓嶅瓨鍦�");
                 }
-                ReportOrderParams itemParam = new ReportOrderParams();
+                TaskDetlLog detlLog = taskDetlLogService.selectOne(new EntityWrapper<TaskDetlLog>()
+                        .eq("matnr", detl.getMatnr())
+                        .eq("supp_code", detl.getStandby1())
+                        .eq("order_no", detl.getOrderNo()));
+                if (Objects.isNull(detlLog)) {
+                    throw new CoolException("鏁版嵁閿欒 锛岃妫�鏌GV浠诲姟妗f槸鍚﹀凡瀹屾垚锛侊紒");
+                }
+                //鐩爣搴撳尯
+                orderParam.setTarget_location(detlLog.getAreaType());
+                OrderItemsParam itemParam = new OrderItemsParam();
                 // BS Code
-                itemParam.setTotal_serial(detl.getThreeCode())
+                itemParam
                         // 涓婃姤鏃讹紝榛樿浜у搧绫诲瀷鏄痭ull
                         .setPro_type(material.getProType())
                         // 涓婃姤鏃讹紝榛樿浜у搧缂栫爜
                         .setPro_komcode(detl.getMatnr())
                         // 涓婃姤鏃讹紝榛樿浜у搧id鏄緵搴斿晢缂栫爜
                         .setPro_id(detl.getSuppCode())
-                        // 涓婃姤鏃讹紝榛樿鏉ユ簮浣嶇疆鏄痭ull
-                        .setLocation_no(null)
-                        // 涓婃姤鏃讹紝榛樿鐩爣浣嶇疆鏄痭ull
-                        .setLocation_type(null)
-                        // 涓婃姤鏃讹紝榛樿涓婃姤鏃堕棿鏄洿鏂版椂闂�
-                        .setSj_date(order.getUpdateTime$())
-                        // 涓婃姤鏃讹紝榛樿涓婃姤浜烘槸鏇存柊浜�
-                        .setSj_emp(order.getUpdateBy$())
+//                        // 涓婃姤鏃讹紝榛樿鏉ユ簮浣嶇疆鏄痭ull
+                        .setLocation_no(detlLog.getZpallet())
                         // 涓婃姤鏃讹紝榛樿涓婃姤鏁伴噺鏄鍗曟暟閲�
-                        .setPick_qty(detl.getQty().intValue())
-                        // 涓婃姤鏃讹紝榛樿鎹熷潖鏁伴噺鏄�0
-                        .setDamage_qty(0)
-                        // 涓婃姤鏃讹紝榛樿宸紓鏁伴噺鏄�0
-                        .setDiff_qty(0);
-
+                        .setPick_qty(detl.getQty().intValue());
                 reportOrderParams.add(itemParam);
             });
 
-            orderParam.setDetails(reportOrderParams);
+            if (orderParam.getTarget_location().equals("2")) {
+                orderParam.setType("11");
+            } else if (orderParam.getTarget_location().equals("3")) {
+                orderParam.setType("12");
+            } else {
+                orderParam.setType("13");
+            }
+            orderParam.setPartList(reportOrderParams);
 
             XSR response = null;
             boolean success = false;
@@ -413,18 +421,6 @@
                             JSON.toJSONString(orderParams), JSON.toJSONString(response));
                     throw new CoolException("涓婃姤KOPEN绯荤粺澶辫触");
                 }
-//                if (true) {
-//                    success = true;
-//                    // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶�
-//                    if (!orderService.updateSettle(order.getId(), settle, null)) {
-//                        throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
-//                    }
-//                } else {
-//                    log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}",
-//                            MesConstant.URL + MesConstant.OUT_DISPATCH_RESULT,
-//                            JSON.toJSONString(orderParam), JSON.toJSONString(response));
-//                    throw new CoolException("涓婃姤KOPEN绯荤粺澶辫触");
-//                }
             } catch (Exception e) {
                 log.error("fail", e);
                 return FAIL.setMsg(e.getMessage());
@@ -462,6 +458,14 @@
                 if (Objects.isNull(material)) {
                     throw new CoolException("鐗╂枡涓嶅瓨鍦�");
                 }
+
+                TaskDetlLog detlLog = taskDetlLogService.selectOne(new EntityWrapper<TaskDetlLog>()
+                        .eq("matnr", detl.getMatnr())
+                        .eq("supp_code", detl.getStandby1())
+                        .eq("order_no", detl.getOrderNo()));
+                if (Objects.isNull(detlLog)) {
+                    throw new CoolException("鏁版嵁閿欒 锛岃妫�鏌GV浠诲姟妗f槸鍚﹀凡瀹屾垚锛侊紒");
+                }
                 OrderItemsParam itemParam = new OrderItemsParam();
                 // 涓婃姤鏃讹紝榛樿浜у搧绫诲瀷鏄痭ull
                 itemParam.setPro_type(material.getProType());
@@ -470,9 +474,10 @@
                 // 涓婃姤鏃讹紝榛樿浜у搧id鏄緵搴斿晢缂栫爜
                 itemParam.setPro_id(detl.getSuppCode());
                 //todo 鍙拌溅缂栫爜
-                itemParam.setTruck_no("TC310080014");
+                itemParam.setTruck_no(detlLog.getZpallet());
                 // 涓婃姤鏃讹紝榛樿涓婃姤鏃堕棿鏄洿鏂版椂闂�
                 itemParam.setPick_qty(detl.getQty().intValue());
+
                 reportOrderParams.add(itemParam);
             });
             pubOrderParams.setPartList(reportOrderParams);
@@ -540,7 +545,7 @@
 
     /**
      * 鎹熸孩鍗曞畬缁撲笂鎶�
-     * 
+     *
      * @param order
      * @return
      */
@@ -586,7 +591,7 @@
             if (response.getSuccess()) {
                 return SUCCESS;
             } else {
-                return  FAIL;
+                return FAIL;
             }
         }
 

--
Gitblit v1.9.1