From b415419ef0e4b3dc1f69d69a6414f56a14a7d6db Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期一, 04 八月 2025 16:19:54 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/task/handler/WrkMastStaInItHandler.java |   84 ++++++++++++
 src/main/java/com/zy/asrs/entity/WrkMastSta.java                  |    2 
 src/main/java/com/zy/asrs/entity/BasDevp.java                     |    4 
 src/main/java/com/zy/asrs/task/WrkMastStaInItScheduler.java       |  298 ++++++++++++++++++++++++++++++++++++++++++
 src/main/webapp/static/js/common.js                               |    2 
 pom.xml                                                           |    2 
 src/main/java/com/zy/asrs/controller/BasRgvController.java        |    4 
 7 files changed, 392 insertions(+), 4 deletions(-)

diff --git a/pom.xml b/pom.xml
index 6151db3..74a13d6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -115,7 +115,7 @@
     </dependencies>
 
     <build>
-        <finalName>wms</finalName>
+        <finalName>jshdasrs</finalName>
         <plugins>
             <plugin>
                 <groupId>org.springframework.boot</groupId>
diff --git a/src/main/java/com/zy/asrs/controller/BasRgvController.java b/src/main/java/com/zy/asrs/controller/BasRgvController.java
index f00d772..ed2ce9a 100644
--- a/src/main/java/com/zy/asrs/controller/BasRgvController.java
+++ b/src/main/java/com/zy/asrs/controller/BasRgvController.java
@@ -80,8 +80,8 @@
 
     @RequestMapping(value = "/basRgv/delete/auth")
     @ManagerAuth(memo = "鍒犻櫎RGV")
-    public R delete(@RequestParam(value="ids[]") Long[] ids){
-         for (Long id : ids){
+    public R delete(@RequestParam(value="ids[]") Integer[] ids){
+         for (Integer id : ids){
             basRgvService.deleteById(id);
         }
         return R.ok();
diff --git a/src/main/java/com/zy/asrs/entity/BasDevp.java b/src/main/java/com/zy/asrs/entity/BasDevp.java
index 78ca14c..adc818c 100644
--- a/src/main/java/com/zy/asrs/entity/BasDevp.java
+++ b/src/main/java/com/zy/asrs/entity/BasDevp.java
@@ -214,6 +214,10 @@
     @TableField("cart_pos")
     private Integer cartPos;
 
+    @ApiModelProperty(value = "1妤兼媶鍨涗笂浼犲彔鐩樺洖搴撴爣璁�")
+    @TableField("report_sign")
+    private Integer reportSign;
+
 
     public String getIoTime$(){
         if (Cools.isEmpty(this.ioTime)){
diff --git a/src/main/java/com/zy/asrs/entity/WrkMastSta.java b/src/main/java/com/zy/asrs/entity/WrkMastSta.java
index 0ada41c..ae3679d 100644
--- a/src/main/java/com/zy/asrs/entity/WrkMastSta.java
+++ b/src/main/java/com/zy/asrs/entity/WrkMastSta.java
@@ -100,6 +100,8 @@
     /**
      * 宸ヤ綔绫诲瀷 1:鍙栵紙鍙犵洏锛�  2锛氭媶鐩�  3锛氬彇鏀� 5锛氭弧鍙�  6锛氭弧鏀�
      */
+
+
     @ApiModelProperty(value = "宸ヤ綔绫诲瀷  1:鍙栵紙鍙犵洏锛�  2锛氭媶鐩�  3锛氬彇鏀� 5锛氭弧鍙�  6锛氭弧鏀�")
     @TableField("wrk_type")
     private Integer wrkType;
diff --git a/src/main/java/com/zy/asrs/task/WrkMastStaInItScheduler.java b/src/main/java/com/zy/asrs/task/WrkMastStaInItScheduler.java
new file mode 100644
index 0000000..80dc131
--- /dev/null
+++ b/src/main/java/com/zy/asrs/task/WrkMastStaInItScheduler.java
@@ -0,0 +1,298 @@
+package com.zy.asrs.task;
+
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.core.common.Cools;
+import com.zy.asrs.entity.*;
+import com.zy.asrs.service.*;
+import com.zy.asrs.task.core.ReturnT;
+import com.zy.asrs.task.handler.WrkMastStaInItHandler;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Created by Monkey D. Luffy on 2023.07.25
+ * 寰愬伐姹変簯..............浠ヤ笅.............涓婇ザ姹熼摐.............灏忚溅鎵ц浣滀笟鐢熸垚
+ */
+@Component
+public class WrkMastStaInItScheduler {
+
+    private static final Logger log = LoggerFactory.getLogger(WorkMastScheduler.class);
+
+    @Autowired
+    private WrkMastStaInItHandler wrkMastStaInItHandler;
+    @Autowired
+    private BasDevpService basDevpService;
+    @Autowired
+    private WrkMastService wrkMastService;
+    @Autowired
+    private RgvOneSignService rgvOneSignService;
+    @Autowired
+    private WrkMastStaService wrkMastStaService;
+    @Autowired
+    private WrkDetlService wrkDetlService;
+    @Autowired
+    private LocDetlService locDetlService;
+
+
+    public static final List<Integer> STA_WORK_CU = new ArrayList<Integer>() {{
+        add(1042);add(1105);add(1106);add(1041);add(1038);add(1036);
+    }};
+
+    public static final List<Integer> STA_WORK_CU_CAR = new ArrayList<Integer>() {{
+        add(118);add(119);add(120);add(121);
+    }};
+
+    public static final List<Integer> STA_WORK_CU_CAR_TWO = new ArrayList<Integer>() {{
+        add(120);add(121);
+    }};
+    public static final List<Integer> STA_WORK_CU_CAR_THREE  = new ArrayList<Integer>() {{
+        add(118);add(120);
+    }};
+    public static final List<Integer> STA_WORK_CU_CAR_FOUR  = new ArrayList<Integer>() {{
+        add(119);add(121);
+    }};
+
+    public static final List<Integer> STA_WORK_RU = new ArrayList<Integer>() {{
+        add(118);add(119);add(120);add(121);add(122);add(123);
+    }};
+
+
+//    @Scheduled(cron = "0/3 * * * * ? ")
+    private void execute(){
+        for(Integer staNo : STA_WORK_CU){
+            BasDevp basDevp = basDevpService.selectById(staNo);
+            if (basDevp.getWrkNo()!=0 && basDevp.getLoading().equals("Y") && basDevp.getAutoing().equals("Y")){
+                WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevp.getWrkNo()));
+                if(Cools.isEmpty(wrkMast)){
+                    continue;
+                }
+                if (wrkMast.getIoType()<100 || wrkMast.getIoType()==110){
+                    if (!wrkMast.getStaNo().equals(122)){
+                        continue;
+                    }
+                }
+                if (wrkMast.getWrkSts()!=14 && wrkMast.getWrkSts()!=15){
+                    continue;
+                }
+                if (wrkMast.getStaNo()==118 || wrkMast.getStaNo()==119 || wrkMast.getStaNo()==120 || wrkMast.getStaNo()==121){
+                    continue;
+                }
+                boolean wrkTypeSign = fullKM(wrkMast);
+                if (!Cools.isEmpty(wrkMast)){
+                    if (wrkTypeSign) {
+                        ReturnT<String> result = wrkMastStaInItHandler.start(wrkMast,basDevp,13);//3锛氬彇鏀�
+                        if (result.getCode()==200){
+                            continue;
+                        }else {
+                            System.out.println(staNo+"澶辫触1锛�");
+                        }
+                    } else {
+                        ReturnT<String> result = wrkMastStaInItHandler.start(wrkMast,basDevp,23);//5锛氭弧鍙�
+                        if (result.getCode()==200){
+                            continue;
+                        }else {
+                            System.out.println(staNo+"澶辫触2锛�");
+                        }
+                    }
+                }
+            }
+        }
+
+        for(Integer staNo : STA_WORK_RU){
+            BasDevp basDevp = basDevpService.selectById(staNo);
+            if (basDevp.getWrkNo()!=0 && basDevp.getLoading().equals("Y") && basDevp.getAutoing().equals("Y")){
+                WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevp.getWrkNo()));
+                if (Cools.isEmpty(wrkMast)){
+                    continue;
+                }
+
+                if (wrkMast.getWrkSts()!=2 || wrkMast.getIoType()==10){
+                    continue;
+                }
+//                boolean wrkTypeSign = fullKM(wrkMast);
+
+                if (!Cools.isEmpty(wrkMast)){
+//                    if (wrkTypeSign){
+                        ReturnT<String> result = wrkMastStaInItHandler.start(wrkMast,basDevp,13);
+                        if (result.getCode()==200) {
+                            continue;
+                        } else {
+                            System.out.println(staNo+"澶辫触3锛�");
+                        }
+                }
+            }
+        }
+    }
+
+//    @Scheduled(cron = "0/3 * * * * ? ")
+    private void execute2(){
+        try{
+            for(Integer staNo : STA_WORK_CU){
+                BasDevp basDevp = basDevpService.selectById(staNo);
+                if (basDevp.getWrkNo()!=0 && basDevp.getLoading().equals("Y") && basDevp.getAutoing().equals("Y")){
+                    WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevp.getWrkNo()));
+                    if(Cools.isEmpty(wrkMast)){
+                        continue;
+                    }
+                    if (wrkMast.getIoType()!=101 && wrkMast.getIoType()!=104){
+                        continue;
+                    }
+                    if (wrkMast.getWrkSts()!=14 && wrkMast.getWrkSts()!=15){
+                        continue;
+                    }
+                    if (wrkMast.getStaNo()<118 || wrkMast.getStaNo()>121){
+                        continue;
+                    }
+                    int count = wrkMastStaService.selectCount(new EntityWrapper<WrkMastSta>().eq("sta_start", wrkMast.getStaNo()).or().eq("sta_end", wrkMast.getStaNo()));
+                    if (count!=0){
+                        continue;
+                    }
+                    int countStart = wrkMastStaService.selectCount(new EntityWrapper<WrkMastSta>().eq("sta_start", staNo).or().eq("sta_end", staNo).or().eq("wrk_no", wrkMast.getWrkNo()));
+                    if (countStart!=0){
+                        continue;
+                    }
+                    BasDevp basDevpEnd = basDevpService.selectById(wrkMast.getStaNo());
+                    if (!basDevpEnd.getLoading().equals("Y") || basDevpEnd.getWrkNo()!=0 || basDevpEnd.getLoading().equals("Y") || basDevpEnd.getReportSign()!=0){
+                        continue;
+                    }
+                    if (wrkMast.getStaNo()==118 || wrkMast.getStaNo()==119){
+                        RgvOneSign rgvOneSign = rgvOneSignService.selectOne(new EntityWrapper<RgvOneSign>().eq("rgv_one_type","oneSign"));
+                        if (rgvOneSign.getRgvOneSign()==1){
+                            continue;
+                        }
+                    }
+                    if (wrkMast.getIoType()!=101){
+                        List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
+                        if (wrkDetls.size()!=0){
+                            String origin = wrkDetls.get(0).getOrigin();
+                            if (origin.equals("1")){
+                                if (!STA_WORK_CU_CAR_FOUR.contains(wrkMast.getStaNo())){
+                                    continue;
+                                }
+                            }else {
+                                if (!STA_WORK_CU_CAR_THREE.contains(wrkMast.getStaNo())){
+                                    continue;
+                                }
+                            }
+                        }else {
+                            log.error("鏈煡璇㈠埌宸ヤ綔鏄庣粏");
+                            continue;
+                        }
+                    }
+//
+                    boolean wrkTypeSign = fullKM(wrkMast);
+                    if (!Cools.isEmpty(wrkMast)){
+                        if (wrkTypeSign) {
+                            ReturnT<String> result = wrkMastStaInItHandler.start(wrkMast,basDevp,13);//3锛氬彇鏀�
+                            if (result.getCode()==200){
+                                continue;
+                            }else {
+                                System.out.println(staNo+"澶辫触4锛�");
+                            }
+                        }
+                    }
+                }
+            }
+
+            for(Integer staNo : STA_WORK_CU){
+                BasDevp basDevp = basDevpService.selectById(staNo);
+                if (basDevp.getWrkNo()!=0 && basDevp.getLoading().equals("Y") && basDevp.getAutoing().equals("Y")){
+                    List<Integer> STA_WORK_CU_CAR_NOW = STA_WORK_CU_CAR;
+                    WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevp.getWrkNo()));
+                    if(Cools.isEmpty(wrkMast)){
+                        continue;
+                    }
+                    if (wrkMast.getIoType()!=101 && wrkMast.getIoType()!=104){
+                        continue;
+                    }
+                    if (wrkMast.getWrkSts()!=14 && wrkMast.getWrkSts()!=15){
+                        continue;
+                    }
+                    Integer wrkMastStaNo = wrkMast.getStaNo();
+                    if (wrkMastStaNo<118 || wrkMastStaNo>121){
+                        continue;
+                    }
+                    String origin = null;
+                    boolean sign = false;
+                    if (wrkMast.getIoType()!=101){
+                        List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
+                        if (wrkDetls.size()!=0){
+                            origin = wrkDetls.get(0).getOrigin();
+                            if (origin.equals("1")){
+                                if (!STA_WORK_CU_CAR_FOUR.contains(wrkMastStaNo)){
+                                    sign = true;
+                                }
+                            }else {
+                                if (!STA_WORK_CU_CAR_THREE.contains(wrkMastStaNo)){
+                                    sign = true;
+                                }
+                            }
+                        }else {
+                            log.error("鏈煡璇㈠埌宸ヤ綔鏄庣粏");
+                            continue;
+                        }
+                    }
+                    int count = wrkMastStaService.selectCount(new EntityWrapper<WrkMastSta>().eq("sta_start", wrkMastStaNo).or().eq("sta_end", wrkMastStaNo));
+                    if (count!=0){
+                        continue;
+                    }
+                    int countStart = wrkMastStaService.selectCount(new EntityWrapper<WrkMastSta>().eq("sta_start", staNo).or().eq("sta_end", staNo).or().eq("wrk_no", wrkMast.getWrkNo()));
+                    if (countStart!=0){
+                        continue;
+                    }
+                    RgvOneSign rgvOneSign = rgvOneSignService.selectOne(new EntityWrapper<RgvOneSign>().eq("rgv_one_type","oneSign"));
+                    if (rgvOneSign.getRgvOneSign()==1){
+                        STA_WORK_CU_CAR_NOW = STA_WORK_CU_CAR_TWO;
+                    }
+
+                    BasDevp basDevpEnd = basDevpService.selectById(wrkMastStaNo);
+                    if (sign || !basDevpEnd.getLoading().equals("Y") || basDevpEnd.getWrkNo()!=0 || basDevpEnd.getLoading().equals("Y") || basDevpEnd.getReportSign()!=0) {
+                        for (Integer staNoOther : STA_WORK_CU_CAR_NOW) {
+                            if (staNoOther.equals(wrkMastStaNo)) continue;
+
+                            if (sign){
+                                if (origin.equals("1")){
+                                    if (!STA_WORK_CU_CAR_FOUR.contains(staNoOther)){
+                                        continue;
+                                    }
+                                }else {
+                                    if (!STA_WORK_CU_CAR_THREE.contains(staNoOther)){
+                                        continue;
+                                    }
+                                }
+                            }
+
+                            int countOther = wrkMastStaService.selectCount(new EntityWrapper<WrkMastSta>().eq("sta_start", staNoOther).or().eq("sta_end", staNoOther));
+                            if (countOther!=0){
+                                continue;
+                            }
+                            BasDevp basDevpOther = basDevpService.selectById(staNoOther);
+                            if (!basDevpOther.getLoading().equals("Y") || basDevpOther.getWrkNo()!=0 || basDevpOther.getLoading().equals("Y") || basDevpOther.getReportSign()!=0) {
+                                continue;
+                            }
+                            wrkMast.setStaNo(staNoOther);
+                            wrkMastService.updateById(wrkMast);
+                            log.info("宸ヤ綔鍙�"+wrkMast.getWrkNo()+"淇敼鐩爣绔欎负:"+staNoOther+";鍘熺洰鏍囩珯涓�:"+wrkMastStaNo);
+                            return;
+                        }
+                    }
+                }
+            }
+        }catch (Exception e){
+            log.error("鐩爣涓烘媶鍨涗綅缃殑浠诲姟鐢熸垚灏忚溅宸ヤ綔妗f澶辫触锛侊紒"+e);
+        }
+    }
+
+    public boolean fullKM(WrkMast wrkMast){
+        if (wrkMast.getIoType()!=10 && wrkMast.getIoType()!=110){
+            return true;
+        }
+        return false;
+    }
+
+}
diff --git a/src/main/java/com/zy/asrs/task/handler/WrkMastStaInItHandler.java b/src/main/java/com/zy/asrs/task/handler/WrkMastStaInItHandler.java
new file mode 100644
index 0000000..49f3217
--- /dev/null
+++ b/src/main/java/com/zy/asrs/task/handler/WrkMastStaInItHandler.java
@@ -0,0 +1,84 @@
+package com.zy.asrs.task.handler;
+
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.core.common.Cools;
+import com.zy.asrs.entity.BasDevp;
+import com.zy.asrs.entity.WrkMast;
+import com.zy.asrs.entity.WrkMastSta;
+import com.zy.asrs.service.WrkMastStaService;
+import com.zy.asrs.task.AbstractHandler;
+import com.zy.asrs.task.core.ReturnT;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Date;
+
+/**
+ * Created by Monkey D. Luffy on 2023.11.21
+ * 寰愬伐姹変簯..............浠ヤ笅.............涓婇ザ姹熼摐.............宸ヤ綔妗g敓鎴怰GV灏忚溅浠诲姟
+ */
+@Slf4j
+@Service
+@Transactional
+public class WrkMastStaInItHandler extends AbstractHandler<String> {
+    @Autowired
+    private WrkMastStaService wrkMastStaService;
+
+    public ReturnT<String> start(WrkMast wrkMast,BasDevp basDevp,Integer type) {
+        try {
+            WrkMastSta wrkMastSta = wrkMastStaService.selectOne(new EntityWrapper<WrkMastSta>().eq("wrk_no", wrkMast.getWrkNo().longValue()));
+            if (!Cools.isEmpty(wrkMastSta)){
+                return SUCCESS;
+            }
+            switch (type){
+                case 13://鍑�  3锛氬彇鏀�
+                    if (Cools.isEmpty(wrkMastSta)){
+                        WrkMastSta wrkMastSta1 = new WrkMastSta(wrkMast,new Date(),basDevp);
+                        wrkMastSta1.setType(1);      //绫诲瀷 1:闈炵┖  2:绌烘澘
+                        wrkMastSta1.setWrkType(3);                    //宸ヤ綔绫诲瀷  1:鍙栵紙鍙犵洏锛�  2锛氭媶鐩�  3锛氬彇鏀� 5锛氭弧鍙�  6锛氭弧鏀�
+                        wrkMastStaService.insert(wrkMastSta1);
+                    }
+                    break;
+//                case 21://1:鍙栵紙鍙犵洏锛�
+//                    if (Cools.isEmpty(wrkMastSta)){
+//                        WrkMastSta wrkMastSta1 = new WrkMastSta(wrkMast,new Date(),basDevp);
+//                        wrkMastSta1.setType(fullKM(wrkMast)? 1:2);
+//                        wrkMastSta1.setWrkType(1);//宸ヤ綔绫诲瀷  1:鍙栵紙鍙犵洏锛�  2锛氭媶鐩�  3锛氬彇鏀� 5锛氭弧鍙�  6锛氭弧鏀�
+//                        wrkMastStaService.insert(wrkMastSta1);
+//                    };
+//                    break;
+//                case 22://2锛氭斁(鎷嗙洏)
+//                    if (Cools.isEmpty(wrkMastSta)){
+//                        WrkMastSta wrkMastSta1 = new WrkMastSta(wrkMast,new Date(),basDevp);
+//                        wrkMastSta1.setType(fullKM(wrkMast)? 1:2);
+//                        wrkMastSta1.setWrkType(5);//宸ヤ綔绫诲瀷  1:鍙栵紙鍙犵洏锛�  2锛氭媶鐩�  3锛氬彇鏀� 5锛氭弧鍙�  6锛氭弧鏀�
+//                        wrkMastStaService.insert(wrkMastSta1);
+//                    };
+//                    break;
+//                case 23://3锛氭弧鍙�
+//                    if (Cools.isEmpty(wrkMastSta)){
+//                        WrkMastSta wrkMastSta1 = new WrkMastSta(wrkMast,new Date(),basDevp);
+//                        wrkMastSta1.setType(fullKM(wrkMast)? 1:2);
+//                        wrkMastSta1.setWrkType(5);
+//                        wrkMastStaService.insert(wrkMastSta1);
+//                    }
+                default:
+                    return SUCCESS;
+            }
+
+        }catch (Exception e){
+            log.error("寮傚父锛侊紒锛�"+e);
+            return FAIL;
+        }
+        return SUCCESS;
+    }
+
+    public boolean fullKM(WrkMast wrkMast){
+        if (wrkMast.getIoType()!=10 && wrkMast.getIoType()!=110){
+            return true;
+        }
+        return false;
+    }
+}
diff --git a/src/main/webapp/static/js/common.js b/src/main/webapp/static/js/common.js
index 825eea5..8b19b96 100644
--- a/src/main/webapp/static/js/common.js
+++ b/src/main/webapp/static/js/common.js
@@ -1,4 +1,4 @@
-var baseUrl = "/wms";
+var baseUrl = "/jshdasrs";
 
 // 璇︽儏绐楀彛-楂樺害
 var detailHeight = '80%';

--
Gitblit v1.9.1