From d7621e3cbf301453fe87ee584f34333378a5afb3 Mon Sep 17 00:00:00 2001
From: L <L@123>
Date: 星期日, 21 九月 2025 21:02:50 +0800
Subject: [PATCH] *

---
 src/main/java/com/zy/asrs/entity/BasArmMast.java                        |    2 
 src/main/java/com/zy/asrs/entity/param/OrderArmEndParam.java            |   26 ++++++++
 src/main/java/com/zy/asrs/controller/OpenController.java                |   44 +++++++++++++-
 src/main/resources/mapper/BasArmMastMapper.xml                          |    9 +++
 src/main/java/com/zy/asrs/service/BasArmMastService.java                |    1 
 src/main/java/com/zy/asrs/task/OrderToSortLineScheduler.java            |    2 
 src/main/java/com/zy/asrs/mapper/BasArmMastMapper.java                  |    2 
 src/main/java/com/zy/asrs/entity/param/TaskArmCycleResultParam.java     |   12 ++-
 src/main/java/com/zy/asrs/entity/param/TaskArmWorkspaceStatusParam.java |    1 
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java             |   23 ++++++-
 src/main/java/com/zy/asrs/service/OpenService.java                      |    1 
 src/main/java/com/zy/asrs/service/impl/BasArmMastServiceImpl.java       |    5 +
 12 files changed, 114 insertions(+), 14 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index 6541e1c..1c26f05 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -26,7 +26,8 @@
 public class OpenController extends BaseController {
 
     private static final boolean auth = true;
-    private static final String  sign_arm = "|s|LABEL_0";
+    private static final String  sign_arm_order = "|s|LABEL_";
+    private static final String  sign_arm_sku = "|sku|LABEL_";
     public static final ArrayList<String> APP_KEY_LIST = new ArrayList<String>() {{
         add("ea1f0459efc02a79f046f982767939ae");
     }};
@@ -263,6 +264,9 @@
         if (Cools.isEmpty(param)) {
             return R.parse(BaseRes.PARAM);
         }
+        if (Cools.isEmpty(param.getArm_no())) {
+            return R.error("鏈烘鑷傜紪鍙穂Arm_no]涓嶈兘涓虹┖");
+        }
         if (Cools.isEmpty(param.getOrder_id())) {
             return R.error("鍗曟嵁缂栧彿[order_id]涓嶈兘涓虹┖");
         }
@@ -270,9 +274,9 @@
             return R.error("瀹汉鍨嬪彿[pick_num]涓嶈兘涓虹┖");
         }
         try{
-            param.OrderIdTwo(sign_arm);
+            param.OrderIdTwo(sign_arm_order,sign_arm_sku);
         } catch (Exception e){
-            return R.error("鍗曟嵁缂栧彿[order_id]浠�"+sign_arm+"浣滀负鎷嗗垎鏍囪鎷嗗垎澶辫触锛侊紒锛�");
+            return R.error("鍗曟嵁缂栧彿[order_id]浠� "+sign_arm_sku+" 涓� "+sign_arm_order+" 浣滀负鎷嗗垎鏍囪鎷嗗垎澶辫触锛侊紒锛�");
         }
 
         openService.taskArmCycleResult(param);
@@ -290,6 +294,9 @@
         auth(appkey, param, request);
         if (Cools.isEmpty(param)) {
             return R.parse(BaseRes.PARAM);
+        }
+        if (Cools.isEmpty(param.getArm_no())) {
+            return R.error("鏈烘鑷傜紪鍙穂Arm_no]涓嶈兘涓虹┖");
         }
         if (Cools.isEmpty(param.getId())) {
             return R.error("鍗曟嵁缂栧彿[order_id]涓嶈兘涓虹┖");
@@ -314,6 +321,9 @@
                                                  @RequestBody TaskArmErrorParam param,
                                                  HttpServletRequest request) {
         auth(appkey, param, request);
+        if (Cools.isEmpty(param.getArm_no())) {
+            return R.error("鏈烘鑷傜紪鍙穂Arm_no]涓嶈兘涓虹┖");
+        }
         if (Cools.isEmpty(param)) {
             return R.parse(BaseRes.PARAM);
         }
@@ -321,4 +331,32 @@
         return R.ok().add(param);
     }
 
+
+    /**
+     * 璁㈠崟瀹屾垚涓婃姤
+     */
+    @PostMapping("/arm/task/order_result")
+    public synchronized R TaskArmWorkOrderStatus(@RequestHeader(required = false) String appkey,
+                                                 @RequestBody OrderArmEndParam param,
+                                                 HttpServletRequest request) {
+        auth(appkey, param, request);
+        if (Cools.isEmpty(param)) {
+            return R.parse(BaseRes.PARAM);
+        }
+        if (Cools.isEmpty(param.getArm_no())) {
+            return R.error("鏈烘鑷傜紪鍙穂Arm_no]涓嶈兘涓虹┖");
+        }
+        if (Cools.isEmpty(param.getOrder_id())) {
+            return R.error("鍗曟嵁缂栧彿[order_id]涓嶈兘涓虹┖");
+        }
+        try{
+            param.OrderIdTwo(sign_arm_order,sign_arm_sku);
+        } catch (Exception e){
+            return R.error("鍗曟嵁缂栧彿[order_id]浠� "+sign_arm_sku+" 涓� "+sign_arm_order+" 浣滀负鎷嗗垎鏍囪鎷嗗垎澶辫触锛侊紒锛�");
+        }
+
+        openService.taskArmWorkOrderStatus(param);
+        return R.ok();
+    }
+
 }
diff --git a/src/main/java/com/zy/asrs/entity/BasArmMast.java b/src/main/java/com/zy/asrs/entity/BasArmMast.java
index 1e30aa9..1dde473 100644
--- a/src/main/java/com/zy/asrs/entity/BasArmMast.java
+++ b/src/main/java/com/zy/asrs/entity/BasArmMast.java
@@ -128,7 +128,7 @@
         this.upc = param.getUpc();
         this.supplier = param.getSupplier();
         this.createTime = param.getCreateTime();
-        this.sortingLine = Integer.getInteger(param.getStaNo());
+        this.sortingLine = Integer.parseInt(param.getStaNo());;
     }
 
     public BasArmMast(Integer armNo,Integer armDirection,Integer staNo,Integer sortingLine,Integer bindingTags,Long priority,Integer status,String matnr,String sku,String po,String upc,String supplier,String orderNo,Integer ctns,Long createTime,Long armError,String armMsg) {
diff --git a/src/main/java/com/zy/asrs/entity/param/OrderArmEndParam.java b/src/main/java/com/zy/asrs/entity/param/OrderArmEndParam.java
new file mode 100644
index 0000000..a6ff8d5
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/param/OrderArmEndParam.java
@@ -0,0 +1,26 @@
+package com.zy.asrs.entity.param;
+
+import lombok.Data;
+
+/*
+ *  Created by Monkey D. Luffy on 2025.09.09
+ * */
+@Data
+public class OrderArmEndParam {
+    //鍗曟嵁缂栧彿
+    private String order_id;
+    private int arm_no;
+    private int done_num;//宸插畬鎴愮殑鏁伴噺
+    private int total_num;//棰勬湡闇�瑕佸畬鎴愮殑鏁伴噺
+    private String staNo;
+    private String orderNo;
+    private String sku;
+
+    public void OrderIdTwo(String sign_order,String sign_sku){
+        String[] split = order_id.split(sign_order);
+        staNo = split[1];
+        String[] split1 = split[0].split(sign_sku);
+        orderNo = split1[1];
+        sku = split1[0];
+    }
+}
diff --git a/src/main/java/com/zy/asrs/entity/param/TaskArmCycleResultParam.java b/src/main/java/com/zy/asrs/entity/param/TaskArmCycleResultParam.java
index 860e3b7..96882f6 100644
--- a/src/main/java/com/zy/asrs/entity/param/TaskArmCycleResultParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/TaskArmCycleResultParam.java
@@ -9,14 +9,18 @@
 public class TaskArmCycleResultParam {
     //鍗曟嵁缂栧彿
     private String order_id;
+    private int arm_no;
     //鏁伴噺
     private String pick_num;
     private String staNo;
     private String orderNo;
+    private String sku;
 
-    public void OrderIdTwo(String sign){
-        String[] split = order_id.split(sign);
-        staNo = split[0];
-        orderNo = split[1];
+    public void OrderIdTwo(String sign_order,String sign_sku){
+        String[] split = order_id.split(sign_order);
+        staNo = split[1];
+        String[] split1 = split[0].split(sign_sku);
+        orderNo = split1[1];
+        sku = split1[0];
     }
 }
diff --git a/src/main/java/com/zy/asrs/entity/param/TaskArmWorkspaceStatusParam.java b/src/main/java/com/zy/asrs/entity/param/TaskArmWorkspaceStatusParam.java
index 9c68bcc..a195eab 100644
--- a/src/main/java/com/zy/asrs/entity/param/TaskArmWorkspaceStatusParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/TaskArmWorkspaceStatusParam.java
@@ -8,6 +8,7 @@
 @Data
 public class TaskArmWorkspaceStatusParam {
     //鍗曟嵁缂栧彿
+    private int arm_no;
     private String id;
     //鏁伴噺
     private String type;//from|to锛岀敤浜庡憡鐭ュ綋鍓嶅伐浣滅┖闂存槸鎶撳彇浣嶈繕鏄斁缃綅
diff --git a/src/main/java/com/zy/asrs/mapper/BasArmMastMapper.java b/src/main/java/com/zy/asrs/mapper/BasArmMastMapper.java
index 264ce36..9ccbbfc 100644
--- a/src/main/java/com/zy/asrs/mapper/BasArmMastMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/BasArmMastMapper.java
@@ -3,10 +3,12 @@
 import com.zy.asrs.entity.BasArmMast;
 import com.baomidou.mybatisplus.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
 @Mapper
 @Repository
 public interface BasArmMastMapper extends BaseMapper<BasArmMast> {
+    boolean updateArmMastStatus(@Param("armNo")int armNo, @Param("sortingLine")int sortingLine, @Param("status")int status, @Param("endStatus")int endStatus);
 
 }
diff --git a/src/main/java/com/zy/asrs/service/BasArmMastService.java b/src/main/java/com/zy/asrs/service/BasArmMastService.java
index bbf8883..deb0247 100644
--- a/src/main/java/com/zy/asrs/service/BasArmMastService.java
+++ b/src/main/java/com/zy/asrs/service/BasArmMastService.java
@@ -4,5 +4,6 @@
 import com.baomidou.mybatisplus.service.IService;
 
 public interface BasArmMastService extends IService<BasArmMast> {
+    boolean updateArmMastStatus(int armNo,int sortingLine,int status,int endStatus);
 
 }
diff --git a/src/main/java/com/zy/asrs/service/OpenService.java b/src/main/java/com/zy/asrs/service/OpenService.java
index c37ecf3..6e72567 100644
--- a/src/main/java/com/zy/asrs/service/OpenService.java
+++ b/src/main/java/com/zy/asrs/service/OpenService.java
@@ -47,4 +47,5 @@
     void taskArmReport(TaskArmReportParam param);
     void taskArmCycleResult(TaskArmCycleResultParam param);
     void taskArmWorkspaceStatus(TaskArmWorkspaceStatusParam param);
+    void taskArmWorkOrderStatus(OrderArmEndParam param);
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/BasArmMastServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/BasArmMastServiceImpl.java
index 7ac81d6..5cf042a 100644
--- a/src/main/java/com/zy/asrs/service/impl/BasArmMastServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/BasArmMastServiceImpl.java
@@ -8,5 +8,8 @@
 
 @Service("basArmMastService")
 public class BasArmMastServiceImpl extends ServiceImpl<BasArmMastMapper, BasArmMast> implements BasArmMastService {
-
+    @Override
+    public boolean updateArmMastStatus(int armNo,int sortingLine,int status,int endStatus){
+        return this.baseMapper.updateArmMastStatus(armNo,sortingLine,status,endStatus);
+    }
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
index 66b36b5..628319e 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -598,7 +598,7 @@
     @Transactional
     public void taskArmReport(TaskArmReportParam param) {
         BasArmMast basArmMast = new BasArmMast(param);
-        List<BasArm> basArmList = basArmService.selectList(new EntityWrapper<BasArm>().eq("sorting_line", basArmMast.getStaNo()));
+        List<BasArm> basArmList = basArmService.selectList(new EntityWrapper<BasArm>().eq("sorting_line", basArmMast.getSortingLine()));
         for (BasArm basArm : basArmList) {
             if (basArm.getStatus()!=1){
                 continue;
@@ -615,6 +615,7 @@
         BasArmMast basArmMast = basArmMastService.selectOne(
                 new EntityWrapper<BasArmMast>()
                         .eq("sorting_line", param.getStaNo())
+                        .eq("arm_no", param.getArm_no())
                         .eq("status", 1)
         );
         if (Cools.isEmpty(basArmMast)){
@@ -630,15 +631,29 @@
     public void taskArmWorkspaceStatus(TaskArmWorkspaceStatusParam param) {
         BasArmMast basArmMast = basArmMastService.selectOne(
                 new EntityWrapper<BasArmMast>()
-                        .eq("sta_no", Integer.getInteger(param.getId()))
+                        .eq("sorting_line", Integer.getInteger(param.getId()))
+                        .eq("arm_no", param.getArm_no())
                         .eq("status", 2)
         );
         if (Cools.isEmpty(basArmMast)){
             throw new CoolException("鏈煡璇㈠埌鐩稿叧鏈烘鑷傛媶鐮佸灈浠诲姟锛侊紒锛�"+ JSON.toJSONString(param));
         }
+        basArmMastService.updateArmMastStatus(param.getArm_no(),basArmMast.getSortingLine(),2,3);
+    }
 
-//        basArmMast.setStatus(2);
-//        basArmMastService.updateArmMastStatus(1,basArm.getSortingLine(),3,4);
+    @Override
+    @Transactional
+    public void taskArmWorkOrderStatus(OrderArmEndParam param) {
+        BasArmMast basArmMast = basArmMastService.selectOne(
+                new EntityWrapper<BasArmMast>()
+                        .eq("sorting_line", Integer.getInteger(param.getStaNo()))
+                        .eq("arm_no", param.getArm_no())
+                        .eq("status", 5)
+        );
+        if (Cools.isEmpty(basArmMast)){
+            throw new CoolException("鏈煡璇㈠埌鐩稿叧鏈烘鑷傛媶鐮佸灈浠诲姟锛侊紒锛�"+ JSON.toJSONString(param));
+        }
+        basArmMastService.updateArmMastStatus(param.getArm_no(),basArmMast.getSortingLine(),5,6);
     }
 
 }
diff --git a/src/main/java/com/zy/asrs/task/OrderToSortLineScheduler.java b/src/main/java/com/zy/asrs/task/OrderToSortLineScheduler.java
index 5c082dc..465a3e5 100644
--- a/src/main/java/com/zy/asrs/task/OrderToSortLineScheduler.java
+++ b/src/main/java/com/zy/asrs/task/OrderToSortLineScheduler.java
@@ -37,7 +37,7 @@
         //鑾峰彇鏈笅鍙戝崟鎹�
         List<String> orderNos = orderService.AllStatusSatisfyOrder(0);
         if(orderNos == null || orderNos.isEmpty()) {
-            log.info("鏈湁鏂拌鍗�");
+//            log.info("鏈湁鏂拌鍗�");
             return;
         }
         //閬嶅巻鍗曟嵁
diff --git a/src/main/resources/mapper/BasArmMastMapper.xml b/src/main/resources/mapper/BasArmMastMapper.xml
index 9dbccd6..f5a0524 100644
--- a/src/main/resources/mapper/BasArmMastMapper.xml
+++ b/src/main/resources/mapper/BasArmMastMapper.xml
@@ -25,4 +25,13 @@
 
     </resultMap>
 
+    <update id="updateArmMastStatus">
+        update asr_bas_arm_mast
+        set status = #{endStatus}
+        where 1=1
+          and arm_no = #{armNo}
+          and sorting_line = #{sortingLine}
+          and status = #{status}
+    </update>
+
 </mapper>

--
Gitblit v1.9.1