From e756eaba7a7868d27cad5a93e9f6d046671116c4 Mon Sep 17 00:00:00 2001
From: L <L@123>
Date: 星期一, 29 九月 2025 14:44:01 +0800
Subject: [PATCH] *

---
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java |  119 +++++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 107 insertions(+), 12 deletions(-)

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 628319e..7183047 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -14,6 +14,7 @@
 import com.zy.asrs.service.*;
 import com.zy.asrs.utils.MatUtils;
 import com.zy.asrs.utils.OrderInAndOutUtil;
+import com.zy.asrs.utils.Utils;
 import com.zy.common.model.DetlDto;
 import com.zy.common.utils.NodeUtils;
 import lombok.extern.slf4j.Slf4j;
@@ -21,6 +22,7 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import javax.rmi.CORBA.Util;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
@@ -54,6 +56,8 @@
     private BasArmService basArmService;
     @Autowired
     private BasArmMastService basArmMastService;
+    @Autowired
+    private BasArmMastSignService basArmMastSignService;
 
     @Override
     @Transactional
@@ -598,40 +602,99 @@
     @Transactional
     public void taskArmReport(TaskArmReportParam param) {
         BasArmMast basArmMast = new BasArmMast(param);
-        List<BasArm> basArmList = basArmService.selectList(new EntityWrapper<BasArm>().eq("sorting_line", basArmMast.getSortingLine()));
+        List<BasArm> basArmList = basArmService.selectList(new EntityWrapper<BasArm>().eq("sorting_line_sou", basArmMast.getSortingLine()));
         for (BasArm basArm : basArmList) {
             if (basArm.getStatus()!=1){
                 continue;
             }
             basArmMast.setArmNo(basArm.getArmNo());
-            basArmMast.setStaNo(basArm.getStaNo());
+            basArmMast.setStaNo(basArm.getStaNoSou());
+            break;
         }
-        basArmMastService.insert(basArmMast);
+        BasArmMast basArmMastOld = basArmMastService.selectOne(
+                new EntityWrapper<BasArmMast>()
+                        .eq("sorting_line", basArmMast.getSortingLine())
+                        .eq("arm_no", basArmMast.getArmNo())
+                        .eq("status", 0)
+        );
+        if (Cools.isEmpty(basArmMastOld)){
+            basArmMastService.insert(basArmMast);
+            try{
+                BasArmMastSign basArmMastSign = basArmMastSignService.selectOne(
+                        new EntityWrapper<BasArmMastSign>()
+                                .eq("matnr", param.getSku())
+                                .eq("order_no", param.getOrderNo())
+                );
+                if (Cools.isEmpty(basArmMastSign)){
+                    basArmMastSign.setStatus(1);
+                    basArmMastSignService.updateById(basArmMastSign);
+                }
+            } catch (Exception e){
+            }
+        } else {
+            throw new CoolException("鏈煡璇㈠埌鐩稿叧鏈烘鑷傛媶鐮佸灈浠诲姟锛侊紒锛�"+ JSON.toJSONString(param));
+        }
     }
 
     @Override
     @Transactional
     public void taskArmCycleResult(TaskArmCycleResultParam param) {
+        BasArm basArm = basArmService.selectOne(new EntityWrapper<BasArm>()
+                .eq("arm_no", param.getArm_no())
+                .eq("sorting_line", Integer.parseInt(param.getStaNo()))
+                .eq("status", 1)
+        );
+        if (Cools.isEmpty(basArm)){
+            throw new CoolException("鏈烘鑷傞厤缃紓甯革紝鏌ヨ涓嶅埌鏈烘鑷傛暟鎹紒锛侊紒"+ JSON.toJSONString(param));
+        }
+
+        BasArmMast basArmMastListError = basArmMastService.selectOne(
+                new EntityWrapper<BasArmMast>()
+                        .eq("sorting_line", basArm.getSortingLineSou())
+                        .eq("arm_no", param.getArm_no())
+                        .eq("status", 9)
+        );
+        if (!Cools.isEmpty(basArmMastListError)){
+            if (Integer.parseInt(param.getPick_num()) ==1){
+                basArmMastListError.setStatus(2);
+                basArmMastService.updateById(basArmMastListError);
+            }
+            return;
+        }
+
+
         BasArmMast basArmMast = basArmMastService.selectOne(
                 new EntityWrapper<BasArmMast>()
-                        .eq("sorting_line", param.getStaNo())
+                        .eq("sorting_line", basArm.getSortingLineSou())
                         .eq("arm_no", param.getArm_no())
                         .eq("status", 1)
         );
         if (Cools.isEmpty(basArmMast)){
             throw new CoolException("鏈煡璇㈠埌鐩稿叧鏈烘鑷傛媶鐮佸灈浠诲姟锛侊紒锛�"+ JSON.toJSONString(param));
         }
-
-        basArmMast.setStatus(2);
-        basArmMastService.updateById(basArmMast);
+        if (Integer.parseInt(param.getPick_num()) !=1){
+            basArmMast.setStatus(9);
+            basArmMastService.updateById(basArmMast);
+        } else {
+            basArmMast.setStatus(2);
+            basArmMastService.updateById(basArmMast);
+        }
     }
 
     @Override
     @Transactional
     public void taskArmWorkspaceStatus(TaskArmWorkspaceStatusParam param) {
+        BasArm basArm = basArmService.selectOne(new EntityWrapper<BasArm>()
+                .eq("arm_no", param.getArm_no())
+                .eq("sta_no", Integer.parseInt(param.getId()))
+                .eq("status", 1)
+        );
+        if (Cools.isEmpty(basArm)){
+            throw new CoolException("鏈烘鑷傞厤缃紓甯革紝鏌ヨ涓嶅埌鏈烘鑷傛暟鎹紒锛侊紒"+ JSON.toJSONString(param));
+        }
         BasArmMast basArmMast = basArmMastService.selectOne(
                 new EntityWrapper<BasArmMast>()
-                        .eq("sorting_line", Integer.getInteger(param.getId()))
+                        .eq("sta_no", basArm.getStaNoSou())
                         .eq("arm_no", param.getArm_no())
                         .eq("status", 2)
         );
@@ -644,16 +707,48 @@
     @Override
     @Transactional
     public void taskArmWorkOrderStatus(OrderArmEndParam param) {
+        BasArm basArm = basArmService.selectOne(new EntityWrapper<BasArm>()
+                .eq("arm_no", param.getArm_no())
+                .eq("sorting_line", Integer.parseInt(param.getStaNo()))
+                .eq("status", 1)
+        );
+        if (Cools.isEmpty(basArm)){
+            throw new CoolException("鏈烘鑷傞厤缃紓甯革紝鏌ヨ涓嶅埌鏈烘鑷傛暟鎹紒锛侊紒"+ JSON.toJSONString(param));
+        }
         BasArmMast basArmMast = basArmMastService.selectOne(
                 new EntityWrapper<BasArmMast>()
-                        .eq("sorting_line", Integer.getInteger(param.getStaNo()))
+                        .eq("sorting_line",basArm.getSortingLineSou())
                         .eq("arm_no", param.getArm_no())
                         .eq("status", 5)
         );
-        if (Cools.isEmpty(basArmMast)){
-            throw new CoolException("鏈煡璇㈠埌鐩稿叧鏈烘鑷傛媶鐮佸灈浠诲姟锛侊紒锛�"+ JSON.toJSONString(param));
+        if (!Cools.isEmpty(basArmMast)){
+            basArmMastService.updateArmMastStatus(param.getArm_no(),basArmMast.getSortingLine(), 5,6);
         }
-        basArmMastService.updateArmMastStatus(param.getArm_no(),basArmMast.getSortingLine(),5,6);
+    }
+
+    @Override
+    @Transactional
+    public boolean TaskArmWorkOrderSign(OrderArmEndParam param) {
+        BasArmMastSign basArmMastSign = basArmMastSignService.selectOne(
+                new EntityWrapper<BasArmMastSign>()
+                        .eq("matnr", param.getSku())
+                        .eq("order_no", param.getOrderNo())
+        );
+        if (Cools.isEmpty(basArmMastSign)){
+//            throw new CoolException("鏈煡璇㈠埌鐩稿叧鏈烘鑷傛媶鐮佸灈浠诲姟锛侊紒锛�"+ JSON.toJSONString(param));
+            return false;
+        }
+        BasArmMastSign basArmMastSignNew = basArmMastSignService.selectOne(
+                new EntityWrapper<BasArmMastSign>()
+                        .eq("matnr", param.getSku())
+                        .eq("order_no", param.getOrderNo())
+                        .eq("create_time", basArmMastSign.getCreateTime())
+                        .eq("status", 0)
+        );
+        if (Cools.isEmpty(basArmMastSignNew)){
+            return false;
+        }
+        return true;
     }
 
 }

--
Gitblit v1.9.1