From 88d29e7c87259e12cba5d8e93235d7f4005fe1a2 Mon Sep 17 00:00:00 2001
From: skyouc <958836976@qq.com>
Date: 星期六, 07 二月 2026 15:01:00 +0800
Subject: [PATCH] no message

---
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java |   66 ++++++++++++++++++++++----------
 1 files changed, 45 insertions(+), 21 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
index 596be08..0d66579 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -29,6 +29,9 @@
 import com.zy.common.properties.SlaveProperties;
 import com.zy.common.service.CommonService;
 import com.zy.common.utils.HttpHandler;
+import com.zy.system.entity.Config;
+import com.zy.system.service.ConfigService;
+import com.zy.system.service.impl.ConfigServiceImpl;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -133,6 +136,8 @@
     private BasStationDetlService basStationDetlService;
     @Autowired
     private WorkService workService;
+    @Autowired
+    private ConfigService configService;
 
     @Override
     @Transactional
@@ -627,7 +632,7 @@
         // 鏃犲崟缁勬墭
         if (Cools.isEmpty(param.getOrderNo())) {
             //绌烘澘缁勬墭
-            if (param.getPakinType().equals("3")) {
+            if (!Cools.isEmpty(param.getPakinType()) &&  param.getPakinType().equals("3")) {
                 WaitPakin waitPakin = new WaitPakin();
                 waitPakin.setZpallet(param.getBarcode());
                 waitPakin.setIoStatus("N");
@@ -1330,18 +1335,12 @@
         if (Objects.isNull(params)) {
             throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒");
         }
-        if (Objects.isNull(params.getOrderNo())) {
-            throw new CoolException("鍗曞彿涓嶈兘涓虹┖锛侊紒");
-        }
-        OrderPakin orderPakin = orderPakinService
-                .selectOne(new EntityWrapper<OrderPakin>().eq("order_no", params.getOrderNo()));
-        if (Objects.isNull(orderPakin)) {
-            throw new CoolException("鏁版嵁閿欒锛氬崟鎹笉瀛樺湪锛侊紒");
-        }
+
         List<OrderDetlPakin> detlPakins = orderDetlPakinService.selectList(new EntityWrapper<OrderDetlPakin>()
                 .eq(!Cools.isEmpty(params.getThreeCode()), "three_code", params.getThreeCode())
-                .eq(!Cools.isEmpty(params.getMatnr()), "matnr", params.getMatnr())
-                .eq("order_id", orderPakin.getId()));
+//                .eq(!Cools.isEmpty(params.getMatnr()), "matnr", params.getMatnr())
+//                .eq(!Cools.isEmpty(params.getOrderNo()), "order_no", params.getOrderNo())
+        );
         if (Objects.isNull(detlPakins) || detlPakins.isEmpty()) {
             throw new CoolException("鏁版嵁閿欒锛� 鍗曟嵁鏄庣粏涓嶅瓨鍦紒锛�");
         }
@@ -2247,11 +2246,9 @@
             });
         });
 
-        // 鍒ゆ柇鏍规嵁鍒嗘嫞鍑哄簱鍚�,杩橀渶瑕佸嚭澶氬皯鎵樼洏鎴栨枡绠�;濡傛灉浣欐枡澶т簬0, 鍑烘柊鎵樼洏鎴栨枡绠�
-        if (totalOut.get().compareTo(0.0) > 0) {
-            generateTask(locMasts, TaskIOType.MERGE_OUT.type, basDevp, userId, station);
-            //TODO 缁嗗寲鍖哄垎锛屽綋鍓嶅嚭搴撴墭鐩樻槸婊¤冻鎷h揣鏁伴噺
-        } else {
+        /**鏄惁浼樺厛绌烘澘鍑哄簱*/
+        Config config = configService.selectOne(new EntityWrapper<Config>().eq("code", "OutStockOrderByEmpty"));
+        if (!Objects.isNull(config) && Boolean.parseBoolean(config.getValue())) {
             LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>()
                     // todo 鏍规嵁鐗╂枡绉嶇被,鍖哄垎搴撳尯绫诲瀷
                     .eq("loc_sts", LocStsType.LOC_STS_TYPE_D.type)
@@ -2261,12 +2258,32 @@
             if (Objects.isNull(locMast)) {
                 throw new CoolException("鏈煡璇㈠埌鍙敤鐨勭┖鏉夸俊鎭紒锛�");
             }
-
             CrnTaskDetlDTO crnTaskDetlDTO = new CrnTaskDetlDTO().setLocNo(locMast.getLocNo()).setLocDetlList(locDetls);
             locMasts.add(crnTaskDetlDTO);
 
             // 绌烘澘鍑哄簱
             generateTask(locMasts, TaskIOType.MERGE_OUT.type, basDevp, userId, station);
+        } else {
+            // 鍒ゆ柇鏍规嵁鍒嗘嫞鍑哄簱鍚�,杩橀渶瑕佸嚭澶氬皯鎵樼洏鎴栨枡绠�;濡傛灉浣欐枡澶т簬0, 鍑烘柊鎵樼洏鎴栨枡绠�
+            if (totalOut.get().compareTo(0.0) > 0) {
+                generateTask(locMasts, TaskIOType.MERGE_OUT.type, basDevp, userId, station);
+                //TODO 缁嗗寲鍖哄垎锛屽綋鍓嶅嚭搴撴墭鐩樻槸婊¤冻鎷h揣鏁伴噺
+            } else {
+                LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>()
+                        // todo 鏍规嵁鐗╂枡绉嶇被,鍖哄垎搴撳尯绫诲瀷
+                        .eq("loc_sts", LocStsType.LOC_STS_TYPE_D.type)
+                        .orderAsc(Arrays.asList("row1", "bay1", "lev1"))
+                        .last("OFFSET 0 ROWS FETCH NEXT 1 ROWS ONLY"));
+
+                if (Objects.isNull(locMast)) {
+                    throw new CoolException("鏈煡璇㈠埌鍙敤鐨勭┖鏉夸俊鎭紒锛�");
+                }
+                CrnTaskDetlDTO crnTaskDetlDTO = new CrnTaskDetlDTO().setLocNo(locMast.getLocNo()).setLocDetlList(locDetls);
+                locMasts.add(crnTaskDetlDTO);
+
+                // 绌烘澘鍑哄簱
+                generateTask(locMasts, TaskIOType.MERGE_OUT.type, basDevp, userId, station);
+            }
         }
     }
 
@@ -2648,7 +2665,7 @@
     @Override
     @Transactional(rollbackFor = Exception.class)
     public R taskMove(CompleteParam combParam, long userId) {
-        if (Objects.isNull(combParam.getWorkNo())) {
+        if (Objects.isNull(combParam.getTaskNo())) {
             return R.error("浠诲姟鍙蜂笉鑳戒负绌�");
         }
         if (Objects.isNull(combParam.getSourceLocNo())) {
@@ -2657,26 +2674,33 @@
         if (Objects.isNull(combParam.getLocNo())) {
             return R.error("鐩爣搴撲綅涓嶈兘涓虹┖锛�");
         }
-        WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", combParam.getWorkNo()));
+        WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", combParam.getTaskNo()));
         if (Objects.isNull(wrkMast)) {
             return R.error("浠诲姟妗d笉瀛樺湪锛侊紒");
         }
+
+
         String body = JSON.toJSONString(combParam);
         boolean success = false;
         String response = "";
         try {
             response = new HttpHandler.Builder()
-                    .setUri(HIKApiConstant.AGV_IP)
+                    .setUri(MesConstant.WCS_URL)
                     .setPath(MesConstant.MOVE_LOC_TASK)
                     .setJson(body)
                     .build()
                     .doPost();
             JSONObject jsonObject = JSON.parseObject(response);
             if (jsonObject.getInteger("code").equals(200)) {
-                wrkMast.setWrkSts(12L);
+                wrkMast.setWrkSts(2L);
                 if (!wrkMastService.updateById(wrkMast)) {
                     throw new CoolException("浠诲姟鐘舵�佹洿鏂板け璐ワ紒锛�");
                 }
+                LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", wrkMast.getSourceLocNo()));
+                if (!Objects.isNull(locMast)) {
+                    locMast.setMoveStatus(1);
+                    locMastService.updateById(locMast);
+                }
                 success = true;
             } else {
                 log.error("鍙戦�乤gv浠诲姟澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.WCS_URL + MesConstant.MOVE_LOC_TASK, body, response);

--
Gitblit v1.9.1