From b43b90ed4ff5e61df7c87553c8cab5daea66cb8e Mon Sep 17 00:00:00 2001
From: lsh <1>
Date: 星期六, 17 二月 2024 21:34:46 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/task/handler/WrkMastCrnHandler.java |   52 ++++++++++++----
 src/main/java/com/zy/asrs/entity/WrkMastCrn.java              |    2 
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java   |   43 ++++++++++++++
 src/main/webapp/views/pda/stockOut.html                       |    2 
 src/main/java/com/zy/asrs/task/WrkMastCrnScheduler.java       |   31 ++++++++-
 5 files changed, 109 insertions(+), 21 deletions(-)

diff --git a/src/main/java/com/zy/asrs/entity/WrkMastCrn.java b/src/main/java/com/zy/asrs/entity/WrkMastCrn.java
index db97d0b..77a27da 100644
--- a/src/main/java/com/zy/asrs/entity/WrkMastCrn.java
+++ b/src/main/java/com/zy/asrs/entity/WrkMastCrn.java
@@ -202,7 +202,7 @@
 
     public WrkMastCrn(WrkMast wrkMast,WrkMast wrkMastOther,Date now) {
         this.wrkNo = wrkMast.getWrkNo().longValue();
-        this.wrkSts = 2L;
+        this.wrkSts = wrkMast.getWrkSts();
         this.ioType = wrkMast.getIoType();
         this.crnNo = wrkMast.getCrnNo();
         this.locNo = wrkMast.getLocNo();
diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
index fe9aaf9..4972b51 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -536,6 +536,7 @@
         if (Cools.isEmpty(param.getOutSite())) {
             throw new CoolException("绔欑偣涓嶅瓨鍦�");
         }
+        List<String> locNoOtherList = new ArrayList<>();
         for (String locNo : param.getLocNos()) {
             // 鑾峰彇宸ヤ綔鍙�
             int workNo = commonService.getWorkNo(WorkNoType.PAKOUT.type);
@@ -594,6 +595,48 @@
         }
     }
 
+    public String[] staNoOther(String locNo){
+        String[] strings = new String[2];
+        int row = Utils.getRow(locNo);
+        if (row==1 || row==5 ){
+            strings[0] = locNo;
+            strings[1] = getDeepLoc2(locNo,row);
+            return strings;
+        } else if (row == 4 || row == 8){
+            strings[0] = getDeepLoc2(locNo,row);
+            strings[1] = locNo;
+            return strings;
+        }else {
+            return null;
+        }
+    }
+
+    /**
+     * 鑾峰彇 娴呭簱浣嶅搴旂殑娣卞簱浣嶅彿
+     */
+    public static String getDeepLoc(String shallowLoc,int row) {
+        if (row == 2 || row == 6) {
+            return Utils.zerofill(String.valueOf(row-1), 2) + shallowLoc.substring(2);
+        } else if (row == 3 || row == 7) {
+            return Utils.zerofill(String.valueOf(row+1), 2) + shallowLoc.substring(2);
+        }else {
+            return shallowLoc;
+        }
+    }
+
+    /**
+     * 鑾峰彇 娣卞簱浣嶅搴旂殑娴呭簱浣嶅彿
+     */
+    public static String getDeepLoc2(String shallowLoc,int row) {
+        if (row == 1 || row == 5) {
+            return Utils.zerofill(String.valueOf(row+1), 2) + shallowLoc.substring(2);
+        } else if (row == 4 || row == 8) {
+            return Utils.zerofill(String.valueOf(row-1), 2) + shallowLoc.substring(2);
+        }else {
+            return null;
+        }
+    }
+
     @Override
     @Transactional
     public WrkMast emptyPlateOut(EmptyPlateOutParam param) {
diff --git a/src/main/java/com/zy/asrs/task/WrkMastCrnScheduler.java b/src/main/java/com/zy/asrs/task/WrkMastCrnScheduler.java
index 13b8b2c..2ec0f95 100644
--- a/src/main/java/com/zy/asrs/task/WrkMastCrnScheduler.java
+++ b/src/main/java/com/zy/asrs/task/WrkMastCrnScheduler.java
@@ -7,6 +7,7 @@
 import com.zy.asrs.task.core.ReturnT;
 import com.zy.asrs.task.handler.WrkMastCrnHandler;
 import com.zy.asrs.task.handler.WrkMastStaInItHandler;
+import com.zy.asrs.utils.Utils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -42,14 +43,18 @@
     @Autowired
     private WrkMastCrnService wrkMastCrnService;
 
-    public static final List<Integer> STA_WORK_RU = new ArrayList<Integer>() {{
+    public static final List<Integer> CRN_WORK_RU = new ArrayList<Integer>() {{
         add(153);add(145);
+    }};
+
+    public static final List<Integer> CRN_WORK_CU = new ArrayList<Integer>() {{
+        add(100);add(148);
     }};
 
 
     @Scheduled(cron = "0/3 * * * * ? ")
     private void execute(){
-        for(Integer staNo : STA_WORK_RU){
+        for(Integer staNo : CRN_WORK_RU){
             BasDevp basDevp = basDevpService.selectById(staNo);
             if (basDevp.getWrkNo()!=0 && basDevp.getLoading().equals("Y") && basDevp.getAutoing().equals("Y") && basDevp.getInEnable().equals("Y")){
                 WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevp.getWrkNo()));
@@ -72,9 +77,7 @@
                         }
                         if (!Cools.isEmpty(wrkMast)){
                             ReturnT<String> result = wrkMastCrnHandler.start(wrkMast,wrkMastOther);
-                            if (result.getCode()==200){
-                                continue;
-                            }else {
+                            if (result.getCode()!=200){
                                 System.out.println(staNo+"澶辫触锛�");
                             }
                         }
@@ -84,6 +87,24 @@
         }
     }
 
+    @Scheduled(cron = "0/3 * * * * ? ")
+    private void execute2(){
+        for(Integer staNo : CRN_WORK_CU) {
+            List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>()
+                    .eq("source_sta_no", staNo).eq("wrk_sts", 11L)
+                    .orderBy("io_pri",false));
+            for (WrkMast wrkMast:wrkMasts){
+                int row = Utils.getRow(wrkMast.getSourceLocNo());
+                if (row == wrkMast.getCrnNo()*4 || row == wrkMast.getCrnNo()*4-3){
+                    WrkMastCrn wrkMastCrn = wrkMastCrnService.selectOne(new EntityWrapper<WrkMastCrn>().eq("wrk_no", wrkMast.getWrkNo()));
+                    if (Cools.isEmpty(wrkMastCrn)){
+                        ReturnT<String> result = wrkMastCrnHandler.start(wrkMast);
+                    }
+                }
+            }
+        }
+    }
+
     public Integer staNoOther(Integer staNo){
         return staNo-1;
     }
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 25b3e41..dbd8100 100644
--- a/src/main/java/com/zy/asrs/task/handler/WrkMastCrnHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WrkMastCrnHandler.java
@@ -65,7 +65,7 @@
                 return FAIL;
             }
             String[] strings = staNoOther(locMast1.getLocNo());
-            if (Cools.isEmpty(strings)){
+            if (Cools.isEmpty(strings) || Cools.isEmpty(strings[0]) || Cools.isEmpty(strings[1])){
                 return FAIL;
             }
             wrkMast.setLocNo(strings[0]);
@@ -109,6 +109,30 @@
         return SUCCESS;
     }
 
+    public ReturnT<String> start(WrkMast wrkMast) {
+        try {
+            Date now = new Date();
+            LocTypeDto locTypeDto = new LocTypeDto();
+            locTypeDto.setLocType1((short)1);
+
+            String deepLocOther = getDeepLoc2(wrkMast.getSourceLocNo(), Utils.getRow(wrkMast.getSourceLocNo()));
+            if (Cools.isEmpty(deepLocOther)){
+                return FAIL;
+            }
+            WrkMast wrkMastOther = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("source_loc_no", deepLocOther));
+            if (!Cools.isEmpty(wrkMastOther)){
+                WrkMastCrn wrkMastCrn = new WrkMastCrn(wrkMast,wrkMastOther,now);
+                wrkMastCrnService.insert(wrkMastCrn);
+            }else {
+                return FAIL;
+            }
+        }catch (Exception e){
+            log.error("寮傚父锛侊紒锛�"+e);
+            return FAIL;
+        }
+        return SUCCESS;
+    }
+
     public String[] staNoOther(String locNo){
         String[] strings = new String[2];
         int row = Utils.getRow(locNo);
@@ -125,18 +149,18 @@
         }
     }
 
-    /**
-     * 鑾峰彇 娴呭簱浣嶅搴旂殑娣卞簱浣嶅彿
-     */
-    public static String getDeepLoc(String shallowLoc,int row) {
-        if (row == 2 || row == 6) {
-            return Utils.zerofill(String.valueOf(row-1), 2) + shallowLoc.substring(2);
-        } else if (row == 3 || row == 7) {
-            return Utils.zerofill(String.valueOf(row+1), 2) + shallowLoc.substring(2);
-        }else {
-            return shallowLoc;
-        }
-    }
+//    /**
+//     * 鑾峰彇 娴呭簱浣嶅搴旂殑娣卞簱浣嶅彿
+//     */
+//    public static String getDeepLoc(String shallowLoc,int row) {
+//        if (row == 2 || row == 6) {
+//            return Utils.zerofill(String.valueOf(row-1), 2) + shallowLoc.substring(2);
+//        } else if (row == 3 || row == 7) {
+//            return Utils.zerofill(String.valueOf(row+1), 2) + shallowLoc.substring(2);
+//        }else {
+//            return shallowLoc;
+//        }
+//    }
 
     /**
      * 鑾峰彇 娣卞簱浣嶅搴旂殑娴呭簱浣嶅彿
@@ -147,7 +171,7 @@
         } else if (row == 4 || row == 8) {
             return Utils.zerofill(String.valueOf(row-1), 2) + shallowLoc.substring(2);
         }else {
-            return shallowLoc;
+            return null;
         }
     }
 
diff --git a/src/main/webapp/views/pda/stockOut.html b/src/main/webapp/views/pda/stockOut.html
index 798f5c7..ac83efd 100644
--- a/src/main/webapp/views/pda/stockOut.html
+++ b/src/main/webapp/views/pda/stockOut.html
@@ -185,7 +185,7 @@
                     layui.form.render('select');
                 } else if (res.code === 403){
                     top.location.href = baseUrl+"/pda";
-                }else {
+                } else {
                     tips("鑾峰彇鍑哄簱鍙eけ璐�", true)
                 }
             }

--
Gitblit v1.9.1