From d60e84cbedb554555578f071de95c4a8049183db Mon Sep 17 00:00:00 2001
From: yxFwq <1>
Date: 星期五, 13 六月 2025 15:16:43 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/task/handler/WrkMastCrnHandler.java |  136 +++++++++++++++++++++++---------------------
 1 files changed, 71 insertions(+), 65 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/handler/WrkMastCrnHandler.java b/src/main/java/com/zy/asrs/task/handler/WrkMastCrnHandler.java
index 57359ec..ed49f4e 100644
--- a/src/main/java/com/zy/asrs/task/handler/WrkMastCrnHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WrkMastCrnHandler.java
@@ -20,6 +20,7 @@
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.Date;
+import java.util.List;
 
 /**
  * Created by Monkey D. Luffy on 2023.11.21
@@ -52,56 +53,61 @@
                     .eq("loc_sts", "O");
             int row1 = locMastService.selectCount(wrapper);
             int row2 = locMastService.selectCount(wrapperOther);
-            LocMast locMast1 = null;
+            List<LocMast> locMastList = null;
             if (row1>=row2){
-                locMast1 = locMastService.selectOne(wrapper.orderBy("lev1", true)
+                locMastList = locMastService.selectList(wrapper.orderBy("lev1", true)
                         .orderBy("bay1", true));
             }else {
-                locMast1 = locMastService.selectOne(wrapperOther.orderBy("lev1", true)
+                locMastList = locMastService.selectList(wrapperOther.orderBy("lev1", true)
                         .orderBy("bay1", true));
             }
 
-            if (Cools.isEmpty(locMast1)){
+            if (locMastList.isEmpty()){
                 return FAIL;
             }
-            String[] strings = staNoOther(locMast1.getLocNo());
-            if (Cools.isEmpty(strings) || Cools.isEmpty(strings[0]) || Cools.isEmpty(strings[1])){
-                return FAIL;
-            }
-            wrkMast.setLocNo(strings[0]);
-            wrkMastOther.setLocNo(strings[1]);
+            for (LocMast locMast1 : locMastList){
+                String[] strings = staNoOther(locMast1.getLocNo());
+                if (Cools.isEmpty(strings) || Cools.isEmpty(strings[0]) || Cools.isEmpty(strings[1])){
+                    continue;
+                }
+                wrkMast.setLocNo(strings[0]);
+                wrkMastOther.setLocNo(strings[1]);
 
-            WrkMastCrn wrkMastCrn = new WrkMastCrn(wrkMast,wrkMastOther,now);
+                WrkMastCrn wrkMastCrn = new WrkMastCrn(wrkMast,wrkMastOther,now);
 
 
-            // 鏇存柊鐩爣搴撲綅鐘舵��
-            LocMast locMast = locMastService.selectById(wrkMast.getLocNo());
-            if (locMast.getLocSts().equals("O")){
-                locMast.setLocSts("S"); // S.鍏ュ簱棰勭害
-                locMast.setModiTime(now);
+                // 鏇存柊鐩爣搴撲綅鐘舵��
+                LocMast locMast = locMastService.selectById(wrkMast.getLocNo());
+                if (locMast.getLocSts().equals("O")){
+                    locMast.setLocSts("S"); // S.鍏ュ簱棰勭害
+                    locMast.setModiTime(now);
+                } else {
+                    continue;
+                }
+
+
+                // 鏇存柊鐩爣搴撲綅鐘舵��
+                LocMast locMastOther = locMastService.selectById(wrkMastOther.getLocNo());
+                if (locMastOther.getLocSts().equals("O")){
+                    locMastOther.setLocSts("S"); // S.鍏ュ簱棰勭害
+                    locMastOther.setModiTime(now);
+                } else {
+                    continue;
+                }
+
                 if (!locMastService.updateById(locMast)){
-                    throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�");
+                    return FAIL;
                 }
-            } else {
-                throw new CoolException(locMast1.getLocNo()+"鐩爣搴撲綅宸茶鍗犵敤");
-            }
 
-
-            // 鏇存柊鐩爣搴撲綅鐘舵��
-            LocMast locMastOther = locMastService.selectById(wrkMastOther.getLocNo());
-            if (locMastOther.getLocSts().equals("O")){
-                locMastOther.setLocSts("S"); // S.鍏ュ簱棰勭害
-                locMastOther.setModiTime(now);
                 if (!locMastService.updateById(locMastOther)){
-                    throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�");
+                    return FAIL;
                 }
-            } else {
-                throw new CoolException(locMast1.getLocNo()+"鐩爣搴撲綅宸茶鍗犵敤");
-            }
-            wrkMastService.updateById(wrkMast);
-            wrkMastService.updateById(wrkMastOther);
+                wrkMastService.updateById(wrkMast);
+                wrkMastService.updateById(wrkMastOther);
 
-            wrkMastCrnService.insert(wrkMastCrn);
+                wrkMastCrnService.insert(wrkMastCrn);
+                return SUCCESS;
+            }
 
         }catch (Exception e){
             log.error("寮傚父锛侊紒锛�"+e);
@@ -122,38 +128,38 @@
             }
             WrkMast wrkMastOther = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("source_loc_no", deepLocOther).eq("wrk_sts", 11L));
             if (!Cools.isEmpty(wrkMastOther)){
-                if (!sign) {
-                    RgvOneSign trunSma = rgvOneSignService.selectOne(new EntityWrapper<RgvOneSign>().eq("rgv_one_type","TrunSma"+wrkMast.getStaNo()));
-                    trunSma.setRgvOneSign(trunSma.getRgvOneSign()+1);
-                    rgvOneSignService.updateById(trunSma);
-                }
-                if ((wrkMastOther.getIoType()==101 || wrkMastOther.getIoType() == 110) && wrkMastOther.booleanStaNoSign() && wrkMastOther.booleanStaNoSignOther()){
-                    if (sign){
-                        RgvOneSign rgvOneSign = rgvOneSignService.selectOne(new EntityWrapper<RgvOneSign>().eq("rgv_one_type","LineUp"+wrkMastOther.getStaNo()));
-                        if (Cools.isEmpty(rgvOneSign)){
-                            return FAIL;
-                        }
-                        RgvOneSign trunSma = rgvOneSignService.selectOne(new EntityWrapper<RgvOneSign>().eq("rgv_one_type","TrunSma"+wrkMastOther.getStaNo()));
-                        if (Cools.isEmpty(trunSma)){
-                            return FAIL;
-                        }
-                        int wrkCount = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("sta_no", wrkMastOther.getStaNo()).eq("wrk_sts",12L));
-                        int wrkCountCrn = wrkMastCrnService.selectCount(new EntityWrapper<WrkMastCrn>().eq("sta_no", wrkMastOther.getStaNo()));
-                        if (wrkCountCrn*2+wrkCount+rgvOneSign.getRgvOneSign()+trunSma.getRgvOneSign()>1){
-                            return FAIL;
-                        }
-                        int wrkCountGt = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("sta_no", wrkMastOther.getStaNo()).gt("wrk_sts",11L));
-                        if (wrkCountGt > 1){
-                            return FAIL;
-                        }
-                        trunSma.setRgvOneSign(trunSma.getRgvOneSign()+1);
-                        rgvOneSignService.updateById(trunSma);
-                    } else {
-                        RgvOneSign trunSma = rgvOneSignService.selectOne(new EntityWrapper<RgvOneSign>().eq("rgv_one_type","TrunSma"+wrkMastOther.getStaNo()));
-                        trunSma.setRgvOneSign(trunSma.getRgvOneSign()+1);
-                        rgvOneSignService.updateById(trunSma);
-                    }
-                }
+//                if (!sign) {
+//                    RgvOneSign trunSma = rgvOneSignService.selectOne(new EntityWrapper<RgvOneSign>().eq("rgv_one_type","TrunSma"+wrkMast.getStaNo()));
+//                    trunSma.setRgvOneSign(trunSma.getRgvOneSign()+1);
+//                    rgvOneSignService.updateById(trunSma);
+//                }
+//                if ((wrkMastOther.getIoType()==101 || wrkMastOther.getIoType() == 110) && wrkMastOther.booleanStaNoSign() && wrkMastOther.booleanStaNoSignOther()){
+//                    if (sign){
+//                        RgvOneSign rgvOneSign = rgvOneSignService.selectOne(new EntityWrapper<RgvOneSign>().eq("rgv_one_type","LineUp"+wrkMastOther.getStaNo()));
+//                        if (Cools.isEmpty(rgvOneSign)){
+//                            return FAIL;
+//                        }
+//                        RgvOneSign trunSma = rgvOneSignService.selectOne(new EntityWrapper<RgvOneSign>().eq("rgv_one_type","TrunSma"+wrkMastOther.getStaNo()));
+//                        if (Cools.isEmpty(trunSma)){
+//                            return FAIL;
+//                        }
+//                        int wrkCount = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("sta_no", wrkMastOther.getStaNo()).eq("wrk_sts",12L));
+//                        int wrkCountCrn = wrkMastCrnService.selectCount(new EntityWrapper<WrkMastCrn>().eq("sta_no", wrkMastOther.getStaNo()));
+//                        if (wrkCountCrn*2+wrkCount+rgvOneSign.getRgvOneSign()+trunSma.getRgvOneSign()>1){
+//                            return FAIL;
+//                        }
+//                        int wrkCountGt = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("sta_no", wrkMastOther.getStaNo()).gt("wrk_sts",11L));
+//                        if (wrkCountGt > 1){
+//                            return FAIL;
+//                        }
+//                        trunSma.setRgvOneSign(trunSma.getRgvOneSign()+1);
+//                        rgvOneSignService.updateById(trunSma);
+//                    } else {
+//                        RgvOneSign trunSma = rgvOneSignService.selectOne(new EntityWrapper<RgvOneSign>().eq("rgv_one_type","TrunSma"+wrkMastOther.getStaNo()));
+//                        trunSma.setRgvOneSign(trunSma.getRgvOneSign()+1);
+//                        rgvOneSignService.updateById(trunSma);
+//                    }
+//                }
                 WrkMastCrn wrkMastCrn = new WrkMastCrn(wrkMast,wrkMastOther,now);
                 wrkMastCrnService.insert(wrkMastCrn);
             }else {

--
Gitblit v1.9.1