From c6820e2cff19f338e70c9b112f19070c240f561a Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期四, 15 一月 2026 12:53:59 +0800
Subject: [PATCH] 完善销售订单出库自动勾选

---
 src/main/java/com/zy/asrs/task/AGVTaskReportScheduler.java    |   12 ++++--------
 src/main/java/com/zy/asrs/entity/WrkMast.java                 |    8 ++++----
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java |   16 ++++++++++++----
 src/main/java/com/zy/asrs/controller/MobileController.java    |    8 +++++---
 src/main/java/com/zy/asrs/service/MobileService.java          |    6 ++++--
 5 files changed, 29 insertions(+), 21 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java
index 0a4fad1..5a3ab3b 100644
--- a/src/main/java/com/zy/asrs/controller/MobileController.java
+++ b/src/main/java/com/zy/asrs/controller/MobileController.java
@@ -557,9 +557,11 @@
      */
     // pda鍛煎彨绌烘枡妗嗗嚭搴�
     @PostMapping("/callEmptyBinOutBound")
-    @ManagerAuth(memo = "pda鍛煎彨绌烘枡妗嗗嚭搴�")
+    // @ManagerAuth(memo = "pda鍛煎彨绌烘枡妗嗗嚭搴�")
     public synchronized R callEmptyBinOutBound(@RequestParam(required = false) String locNo
-            , @RequestParam(required = false) String size) {
+            , @RequestParam(required = false) String size
+            , @RequestParam(required = false) String palletFormat
+            , @RequestParam(required = false) String agvTaskNo) {
         if (Cools.isEmpty(locNo) || Cools.isEmpty(size)) {
             return R.error("绔欑偣鎴栬�呭ぇ灏忎笉鑳戒负绌�");
         }
@@ -567,7 +569,7 @@
         if (wrkMast != null) {
             return R.error("璇ョ珯鐐�="+locNo+"宸茬粡鏈夌┖鏉垮嚭搴撲换鍔★紝涓轰簡涓嶅牭濉炲爢鍨涙満鎺ラ┏绔欑偣锛岀姝笅鍙戝涓┖鏉垮嚭搴撲换鍔�");
         }
-        return mobileService.callEmptyBinOutBound(locNo,size,getUserId());
+        return mobileService.callEmptyBinOutBound(locNo, size, palletFormat, agvTaskNo, 9995L);
     }
 
     /**
diff --git a/src/main/java/com/zy/asrs/entity/WrkMast.java b/src/main/java/com/zy/asrs/entity/WrkMast.java
index e301b8e..e5d4fad 100644
--- a/src/main/java/com/zy/asrs/entity/WrkMast.java
+++ b/src/main/java/com/zy/asrs/entity/WrkMast.java
@@ -122,6 +122,10 @@
     @ApiModelProperty(value= "鎷f枡")
     private String picking;
 
+    @ApiModelProperty(value= "琛ョ┖鎵樼洏鎺ュ彈mes鐨刟gv浠诲姟鍙�")
+    @TableField("user_no")
+    private String userNo;
+
     @ApiModelProperty(value= "")
     @TableField("link_mis")
     private String linkMis;
@@ -173,10 +177,6 @@
     @ApiModelProperty(value= "")
     @TableField("mtn_type")
     private Double mtnType;
-
-    @ApiModelProperty(value= "")
-    @TableField("user_no")
-    private String userNo;
 
     /**
      * 鍫嗗灈鏈哄惎鍔ㄦ椂闂�
diff --git a/src/main/java/com/zy/asrs/service/MobileService.java b/src/main/java/com/zy/asrs/service/MobileService.java
index 6c5a8f5..fd6a1e8 100644
--- a/src/main/java/com/zy/asrs/service/MobileService.java
+++ b/src/main/java/com/zy/asrs/service/MobileService.java
@@ -104,9 +104,11 @@
     /**
      * pda鍛煎彨绌烘枡妗嗗嚭搴�
      * @param staNo 鍑哄簱绔欑偣
-     * @param locType 鎵樼洏绫诲瀷 1.绐勶紝2.瀹�
+     * @param locType 鎵樼洏绫诲瀷 1锛氬皬鎵樼洏  2锛氬ぇ鎵樼洏
+     * @param palletFormat 鎵樼洏鐮佹牸寮�
+     * @param agvTaskNo AGV浠诲姟鍙凤紙鍙�夛級
      * @param userId 鐢ㄦ埛id
      */
-    R callEmptyBinOutBound(String staNo, String locType, Long userId);
+    R callEmptyBinOutBound(String staNo, String locType, String palletFormat, String agvTaskNo, Long userId);
 
 }
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 59f9de5..c16434d 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -1329,8 +1329,14 @@
 
     @Override
     @Transactional
-    public R callEmptyBinOutBound(String staNo, String locType, Long userId) {
-        LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_sts", 'D').eq("loc_type2", locType));
+    public R callEmptyBinOutBound(String staNo, String locType, String palletFormat, String agvTaskNo, Long userId) {
+        EntityWrapper<LocMast> wrapper = new EntityWrapper<>();
+        wrapper.eq("loc_sts", 'D').eq("loc_type2", locType);
+        if (palletFormat != null && !palletFormat.isEmpty()) {
+            wrapper.like("barcode", palletFormat);
+        }
+        wrapper.orderBy("row1", false);
+        LocMast locMast = locMastService.selectOne(wrapper);
         if(locMast == null) {
             return R.parse("璇ョ被鍨嬶細" + locType +"绌烘墭鐩樹笉瀛樺湪");
         }
@@ -1347,11 +1353,11 @@
         }
 
         // 鑾峰彇璺緞
-        Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
+        Wrapper<StaDesc> wrapper1 = new EntityWrapper<StaDesc>()
                 .eq("type_no", 110)
                 .eq("stn_no", sta)
                 .eq("crn_no", locMast.getCrnNo());
-        StaDesc staDesc = staDescService.selectOne(wrapper);
+        StaDesc staDesc = staDescService.selectOne(wrapper1);
         if (staDesc == null) {
             R.parse("鍑哄簱璺緞涓嶅瓨鍦�,绔欑偣锛�" + sta);
         }
@@ -1373,11 +1379,13 @@
         wrkMast.setExitMk("N"); // 閫�鍑�
         wrkMast.setEmptyMk("Y"); // 绌烘澘
         wrkMast.setLinkMis("N");
+        wrkMast.setUserNo(agvTaskNo);
         wrkMast.setAppeUser(userId);
         wrkMast.setAppeTime(now);
         wrkMast.setModiUser(userId);
         wrkMast.setModiTime(now);
         wrkMast.setMemo(staNo);
+        wrkMast.setUserNo(String.valueOf(agvTaskNo));
         wrkMastService.insert(wrkMast);
 
         // 鏇存柊搴撲綅鐘舵��
diff --git a/src/main/java/com/zy/asrs/task/AGVTaskReportScheduler.java b/src/main/java/com/zy/asrs/task/AGVTaskReportScheduler.java
index fb1cba4..c53aa0d 100644
--- a/src/main/java/com/zy/asrs/task/AGVTaskReportScheduler.java
+++ b/src/main/java/com/zy/asrs/task/AGVTaskReportScheduler.java
@@ -71,16 +71,13 @@
                 // 淇濆瓨宸ヤ綔妗�
                 Task task = new Task();
                 Date date = new Date();
-                String TaskNo = wrkMast.getWrkNo() + "aa" + date.getTime();
+                String TaskNo = wrkMast.getUserNo();
                 String taskType = "AGV";
                 List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
 
-                if (wrkMast.getIoType()!=110){
-                    if (wrkDetls != null && !Cools.isEmpty(wrkDetls.get(0).getOrderNo())){
-                        TaskNo = wrkDetls.get(0).getOrderNo();
-                        taskType = "KB-AGV";
-                    }
-
+                if (wrkMast.getIoType()==110){
+                    TaskNo = wrkDetls.get(0).getOrderNo();
+                    taskType = "ZX-AGV-08-1";
                 }else{
                     if (wrkDetls != null && !Cools.isEmpty(wrkDetls.get(0).getOrderNo())){
                         OrderPakout orderPakout = orderPakoutService.selectByNo(wrkDetls.get(0).getOrderNo());
@@ -91,7 +88,6 @@
                         }
 
                     }
-
                 }
 
                 task.setWrkNo(wrkMast.getWrkNo())

--
Gitblit v1.9.1