From 4693c6fa42d2cb72594b6b58e9fab9e0d4c224aa Mon Sep 17 00:00:00 2001
From: skyouc <creaycat@gmail.com>
Date: 星期一, 08 十二月 2025 15:58:43 +0800
Subject: [PATCH] no message

---
 src/main/java/com/zy/asrs/service/impl/TaskServiceImpl.java   |   25 ++++----
 src/main/webapp/static/js/task/task.js                        |    6 +-
 src/main/java/com/zy/asrs/entity/param/AgvCallParams.java     |    3 +
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java |   78 +++++++++++++++++++++----
 src/main/java/com/zy/asrs/controller/MobileController.java    |   36 ++++++++++++
 src/main/java/com/zy/asrs/service/MobileService.java          |   19 ++++++
 6 files changed, 139 insertions(+), 28 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java
index dfd728c..2100762 100644
--- a/src/main/java/com/zy/asrs/controller/MobileController.java
+++ b/src/main/java/com/zy/asrs/controller/MobileController.java
@@ -200,6 +200,42 @@
         return mobileService.OutCallAgv(params, getUserId());
     }
 
+    /**
+     * 缂撳瓨鍖哄嚭搴撶粍鎵樹笂鏋�
+     * @author Ryan
+     * @date 2025/12/8 13:45
+     * @param params
+     * @return com.core.common.R
+     */
+    @ManagerAuth
+    @ApiOperation("缂撳瓨鍑哄簱涓婃灦")
+    @PostMapping("/commb/task/pub")
+    public R combPub(@RequestBody AgvCallParams params) {
+        if (Objects.isNull(params)) {
+            return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+        }
+        return mobileService.combOutPub(params);
+    }
+
+
+    /**
+     * 缂撳瓨鍖哄嚭搴撶粍鎵樹笂鏋�
+     * @author Ryan
+     * @date 2025/12/8 13:45
+     * @param params
+     * @return com.core.common.R
+     */
+    @ManagerAuth
+    @ApiOperation("缂撳瓨鍑哄簱鍒楄〃")
+    @PostMapping("/cache/task/list")
+    public R combCacehList(@RequestBody AgvCallParams params) {
+        if (Objects.isNull(params)) {
+            return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+        }
+        return mobileService.combCacehList(params);
+    }
+
+
 
     // 缁勬墭 ----------------------------------------------------------------------------------------------------
 
diff --git a/src/main/java/com/zy/asrs/entity/param/AgvCallParams.java b/src/main/java/com/zy/asrs/entity/param/AgvCallParams.java
index 7fc4bc4..afdc5e2 100644
--- a/src/main/java/com/zy/asrs/entity/param/AgvCallParams.java
+++ b/src/main/java/com/zy/asrs/entity/param/AgvCallParams.java
@@ -23,6 +23,9 @@
     @ApiModelProperty("鎵樼洏鐮�")
     private String barcode;
 
+    @ApiModelProperty("BS缂栫爜")
+    private String bsCode;
+
     @ApiModelProperty("鎿嶄綔绫诲瀷")
     private String type;
 
diff --git a/src/main/java/com/zy/asrs/service/MobileService.java b/src/main/java/com/zy/asrs/service/MobileService.java
index f2cf0e1..af252d8 100644
--- a/src/main/java/com/zy/asrs/service/MobileService.java
+++ b/src/main/java/com/zy/asrs/service/MobileService.java
@@ -109,4 +109,23 @@
     R callEmptyCar(AgvCallParams params, Long userId);
 
     R collectionInCall(AgvCallParams params, Long userId);
+
+
+    /**
+     * 缂撳瓨鍑哄簱缁勬墭涓婃灦
+     * @author Ryan
+     * @date 2025/12/8 13:46
+     * @param params
+     * @return com.core.common.R
+     */
+    R combOutPub(AgvCallParams params);
+
+    /**
+     * 缂撳瓨鍑哄簱缁勬墭鍒楄〃
+     * @author Ryan
+     * @date 2025/12/8 15:36
+     * @param params
+     * @return com.core.common.R
+     */
+    R combCacehList(AgvCallParams params);
 }
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 e26145d..f5b2ed2 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -1287,7 +1287,7 @@
         /**鐢熸垚缂撳瓨鍖哄嚭搴撲换鍔�*/
         generateCacheOutTask(station, locCaches, userId);
 
-//        /**鐢熸垚绔嬪簱鍑哄簱浠诲姟*/
+        /**鐢熸垚绔嬪簱鍑哄簱浠诲姟*/
         generateCRNOutTask(station, locCaches, userId);
 
         return R.ok();
@@ -1303,7 +1303,7 @@
                 .eq("loc_sts", LocStsType.LOC_STS_TYPE_D.type)
                 .eq("area_id", basAreas.getId())
         );
-        if (locCaches.isEmpty()){
+        if (locCaches.isEmpty()) {
             throw new CoolException("鏆傛棤绌烘澘搴撲綅");
         }
 
@@ -1341,7 +1341,7 @@
         }
 
         List<Task> tasks = taskService.selectList(new EntityWrapper<Task>().eq("barcode", params.getBarcode()));
-        if (!tasks.isEmpty()){
+        if (!tasks.isEmpty()) {
             throw new CoolException("鎵樼洏鐮佸凡鐢熸垚浠诲姟");
         }
 
@@ -1349,8 +1349,7 @@
 
         List<LocCache> locCaches = locCacheService.selectList(new EntityWrapper<LocCache>()
                 .in("loc_sts", LocStsType.LOC_STS_TYPE_O.type, LocStsType.LOC_STS_TYPE_D.type)
-                .eq("area_id", basAreas.getId())
-        );
+                .eq("area_id", basAreas.getId()));
         if (locCaches.isEmpty()) {
             throw new CoolException("褰撳墠鏆傛棤绌哄簱浣嶏紒锛�");
         }
@@ -1361,10 +1360,58 @@
     }
 
     /**
+     * 缂撳瓨鍑哄簱缁勬墭涓婃灦
+     * @author Ryan
+     * @date 2025/12/8 13:47
+     * @param params 
+     * @return com.core.common.R
+     */
+    @Override
+    public R combOutPub(AgvCallParams params) {
+
+        return R.ok();
+    }
+
+    /**
+     * 缂撳瓨缁勬墭鏁版嵁
+     * @author Ryan
+     * @date 2025/12/8 15:37
+     * @param params
+     * @return com.core.common.R
+     */
+    @Override
+    public R combCacehList(AgvCallParams params) {
+        if (Objects.isNull(params.getBarcode())) {
+            throw new CoolException("鎵樼洏鐮佷笉鑳戒负绌猴紒锛�");
+        }
+        if (Objects.isNull(params.getBsCode())) {
+            throw new CoolException("BS鐮佷笉鑳戒负绌猴紒锛�");
+        }
+        Task task = taskService.selectOne(new EntityWrapper<Task>()
+                .eq("io_type", TaskIOType.PICK_OUT.type)
+                .eq("wrk_sts", 14)
+                .eq("barcode", params.getBarcode()));
+        if (Objects.isNull(task)) {
+            throw new CoolException("鏁版嵁閿欒锛氫换鍔′俊鎭瓨鍦紒锛�");
+        }
+
+        List<TaskDetl> taskDetl = taskDetlService.selectList(new EntityWrapper<TaskDetl>()
+                .eq("three_code", params.getBsCode())
+                .eq("zpallet", params.getBarcode()));
+
+        if (Objects.isNull(taskDetl) || taskDetl.isEmpty()) {
+            throw new CoolException("褰撳墠BS缂栫爜涓嶅瓨鍦紒锛�");
+        }
+
+        return R.ok().add(taskDetl);
+    }
+
+    /**
      * 鐢熸垚绔嬪簱鍑哄簱浠诲姟
+     *
+     * @param locCaches
      * @author Ryan
      * @date 2025/12/3 8:06
-     * @param locCaches
      */
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -1456,9 +1503,10 @@
 
     /**
      * 鐢熸垚鍫嗗灈鏈哄嚭搴撲换鍔�
+     *
+     * @param locMasts
      * @author Ryan
      * @date 2025/12/6 14:44
-     * @param locMasts
      */
     @Transactional(rollbackFor = Exception.class)
     public void generateOutTask(List<LocMast> locMasts, Integer ioType, BasDevp devp, Long userId) {
@@ -1544,7 +1592,7 @@
         task.setWrkNo(workNo)
                 .setIoTime(new Date())
                 .setWrkSts(11L) // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
-                .setIoType(loc.getLocSts().equals("D") ? 110 : 101) // 鍏ュ嚭搴撶姸鎬侊細 11.搴撴牸绉昏浇
+                .setIoType(loc.getLocSts().equals("D") ? 110 : 103) // 鍏ュ嚭搴撶姸鎬侊細 11.搴撴牸绉昏浇
                 .setTaskType("agv")
                 .setIoPri(10D)
                 .setFullPlt(loc.getLocSts().equals("D") ? "N" : "Y") // 婊℃澘锛歒
@@ -1562,7 +1610,9 @@
         if (!taskService.insert(task)) {
             throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
         }
-        List<LocDetl> detls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_id", loc.getId()));
+
+        List<LocDetl> detls = locDetlService.selectList(new EntityWrapper<LocDetl>()
+                .eq("loc_no", loc.getLocNo()));
         if (!detls.isEmpty()) {
             List<TaskDetl> taskDetls = new ArrayList<>();
             detls.forEach(pakin -> {
@@ -1598,8 +1648,8 @@
         }
 
         // 淇敼鐩爣绔欑偣淇℃伅
-        if (station.getLocSts().equals("O")) {
-            station.setLocSts("S"); // S.鍏ュ簱棰勭害
+        if (station.getLocSts().equals(LocStsType.LOC_STS_TYPE_O.type)) {
+            station.setLocSts(LocStsType.LOC_STS_TYPE_S.type); // S.鍏ュ簱棰勭害
             station.setModiTime(new Date());
             station.setModiUser(userId);
             if (!basStationService.updateById(station)) {
@@ -1673,7 +1723,9 @@
             throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
         }
 
-        pakins.forEach(pakin -> {pakin.setIoStatus("Y");});
+        pakins.forEach(pakin -> {
+            pakin.setIoStatus("Y");
+        });
 
         if (!waitPakinService.updateBatchById(pakins)) {
             throw new CoolException("鏇存柊缁勬墭淇℃伅澶辫触");
@@ -1707,7 +1759,7 @@
     }
 
 
-    public HIKResultDTO sendAgvTask(HIKApiDTO haiKangApiDTO,String path){
+    public HIKResultDTO sendAgvTask(HIKApiDTO haiKangApiDTO, String path) {
         HIKResultDTO result = new HIKResultDTO();
 
         ForwardAGVTaskDTO forwardAGVTaskParam = new ForwardAGVTaskDTO();
diff --git a/src/main/java/com/zy/asrs/service/impl/TaskServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/TaskServiceImpl.java
index 9d075f5..19b67c6 100644
--- a/src/main/java/com/zy/asrs/service/impl/TaskServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/TaskServiceImpl.java
@@ -17,6 +17,7 @@
 import java.util.Collections;
 import java.util.Date;
 import java.util.List;
+import java.util.Objects;
 import java.util.concurrent.TimeUnit;
 
 @Service("taskService")
@@ -36,6 +37,10 @@
     private TaskDetlLogService taskDetlLogService;
     @Autowired
     private BasStationService basStationService;
+    @Autowired
+    private OrderDetlPakinService orderDetlService;
+    @Autowired
+    private OrderPakinService orderService;
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -227,34 +232,30 @@
             List<TaskDetl> wrkDetls = taskDetlService.selectList(new EntityWrapper<TaskDetl>().eq("wrk_no", wrkMast.getWrkNo()));
             for (TaskDetl wrkDetl : wrkDetls) {
                 if (!Cools.isEmpty(wrkDetl.getOrderNo())) {
-//                    if (!orderDetlService.decrease(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme())) {
-//                        throw new CoolException("璁㈠崟鏁版嵁鍥炴粴澶辫触");
-//                    }
                     OrderInAndOutUtil.decrease(Boolean.FALSE, wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(),
                             wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(),
                             wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3(), wrkDetl.getAnfme());
 
                     //淇敼璁㈠崟涓昏〃鐘舵��,娌℃湁浣滀笟鏁伴噺鏃舵墠鍙互淇敼
                     boolean flag = true;
-//                    List<OrderDetl> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetl>().eq("order_no",wrkDetl.getOrderNo()));
-                    Order order = OrderInAndOutUtil.selectByNo(Boolean.FALSE, wrkDetl.getOrderNo());
-                    List<OrderDetl> orderDetls = OrderInAndOutUtil.selectByOrderId(Boolean.FALSE, order.getId());
-                    for (OrderDetl orderDetl : orderDetls) {
+                    OrderPakin order =  orderService.selectByNo(wrkDetl.getOrderNo());  //OrderInAndOutUtil.selectByNo(Boolean.FALSE, wrkDetl.getOrderNo());
+                    if (Objects.isNull(order)) {
+                        throw new CoolException("鍗曟嵁淇℃伅涓嶅瓨鍦紒锛�");
+                    }
+                    List<OrderDetlPakin> orderDetls = orderDetlService.selectByOrderId(order.getId()); //OrderInAndOutUtil.selectByOrderId(Boolean.FALSE, order.getId());
+                    for (OrderDetlPakin orderDetl : orderDetls) {
                         if (orderDetl.getWorkQty() > 0) {
                             flag = false;
                         }
                     }
                     if (flag) {
-//                        Order order = orderService.selectOne(new EntityWrapper<Order>().eq("order_no",wrkDetl.getOrderNo()));
                         if (!Cools.isEmpty(order) && order.getSettle() == 2) {
                             order.setSettle(1L);
                             order.setUpdateBy(userId);
                             order.setUpdateTime(now);
                         }
-//                        if(!orderService.update(order,new EntityWrapper<Order>().eq("order_no",wrkDetl.getOrderNo()))){
-//                            throw new CoolException("淇敼璁㈠崟鐘舵�佸け璐�");
-//                        }
-                        OrderInAndOutUtil.updateOrder(Boolean.FALSE, order.getId(), order.getSettle(), userId);
+
+                        orderService.updateById(order);
                     }
                 }
             }
diff --git a/src/main/webapp/static/js/task/task.js b/src/main/webapp/static/js/task/task.js
index 3b86c71..96f034e 100644
--- a/src/main/webapp/static/js/task/task.js
+++ b/src/main/webapp/static/js/task/task.js
@@ -27,11 +27,11 @@
             , {field: 'wrkSts$', align: 'center', title: '宸ヤ綔鐘舵��', width: 150}
             , {field: 'ioType$', align: 'center', title: '鍏ュ嚭搴撶被鍨�', width: 150}
             , {field: 'ioPri', align: 'center', title: '浼樺厛绾�', width: 80}
-            , {field: 'taskType$', align: 'center', title: '浠诲姟绫诲瀷'}
+            , {field: 'taskType$', align: 'center', title: '浠诲姟绫诲瀷', width: 120}
             , {field: 'crnNo$', align: 'center', title: '鍫嗗灈鏈�', hide: true}
-            , {field: 'sourceStaNo$', align: 'center', title: '婧愮珯'}
-            , {field: 'staNo$', align: 'center', title: '鐩爣绔�', width: 120}
+            , {field: 'sourceStaNo$', align: 'center', title: '婧愮珯', width: 120}
             , {field: 'sourceLocNo', align: 'center', title: '婧愬簱浣�', width: 120}
+            , {field: 'staNo$', align: 'center', title: '鐩爣绔�', width: 120}
             , {field: 'locNo', align: 'center', title: '鐩爣搴撲綅', width: 120}
             , {field: 'barcode', align: 'center', title: '鏉$爜', width: 110}
             , {field: 'preHave', align: 'center', title: '鍏堝叆鍝�', hide: true}

--
Gitblit v1.9.1