From 58b23d18daa51a9837306fb0a8c03285fbd80e99 Mon Sep 17 00:00:00 2001
From: 1 <1>
Date: 星期一, 08 十二月 2025 09:16:49 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/task/handler/WrkMastStaInItHandler.java |   72 ++++++++++++++++++++++++++++-------
 1 files changed, 57 insertions(+), 15 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/handler/WrkMastStaInItHandler.java b/src/main/java/com/zy/asrs/task/handler/WrkMastStaInItHandler.java
index c1d80ba..ea3f25d 100644
--- a/src/main/java/com/zy/asrs/task/handler/WrkMastStaInItHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WrkMastStaInItHandler.java
@@ -28,20 +28,18 @@
 
     public ReturnT<String> start(WrkMast wrkMast,BasDevp basDevp,Integer type) {
         try {
-            WrkMastSta wrkMastSta = wrkMastStaService.selectOne(new EntityWrapper<WrkMastSta>().eq("wrk_no", wrkMast.getWrkNo().longValue()));
+            WrkMastSta wrkMastSta = null;
+            if(wrkMast != null){
+                wrkMastSta = wrkMastStaService.selectOne(new EntityWrapper<WrkMastSta>().eq("wrk_no", wrkMast.getWrkNo().longValue()));
+            }
+            if(basDevp.getWrkNo() != null){
+                wrkMastSta = wrkMastStaService.selectOne(new EntityWrapper<WrkMastSta>().eq("wrk_no", basDevp.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.setWrkNo(Long.valueOf(wrkMast.getWrkNo()));
-//                        wrkMastSta1.setType(1);      //绫诲瀷 1:闈炵┖  2:绌烘澘
-//                        wrkMastSta1.setWrkType(3);                    //宸ヤ綔绫诲瀷  1:鍙栵紙鍙犵洏锛�  2锛氭媶鐩�  3锛氬彇鏀� 5锛氭弧鍙�  6锛氭弧鏀�
-//                        wrkMastStaService.insert(wrkMastSta1);
-//                    }
-//                    break;
                 case 21://鍏ュ簱
                     if (Cools.isEmpty(wrkMastSta)){
                         WrkMastSta wrkMastSta1 = new WrkMastSta(wrkMast,new Date(),basDevp);
@@ -52,6 +50,7 @@
                             case 1015:wrkMastSta1.setStaEnd(1018);break;
                             case 1025:wrkMastSta1.setStaEnd(1028);break;
                             case 1032:wrkMastSta1.setStaEnd(1035);break;
+                            case 2037:wrkMastSta1.setStaEnd(2037);break;
                             case 4001:wrkMastSta1.setStaEnd(4001);break;
                         }
                         wrkMastSta1.setType(fullKM(wrkMast)? 1:2);
@@ -63,9 +62,51 @@
                     if (Cools.isEmpty(wrkMastSta)){
                         WrkMastSta wrkMastSta1 = new WrkMastSta(wrkMast,new Date(),basDevp);
                         wrkMastSta1.setWrkNo(Long.valueOf(wrkMast.getWrkNo()));
-                        switch ((wrkMast.getStaNo())){
-                            case 1108:wrkMastSta1.setStaEnd(1106);break;
-                            case 4006:wrkMastSta1.setStaEnd(1018);break;
+                        if(wrkMast.getIoType() == 57 || wrkMast.getIoType() == 53){
+                            switch (wrkMast.getCrnNo()) {
+                                case 1:
+                                    if (wrkMast.getSourceStaNo() < 2000) {
+                                        wrkMastSta1.setStaEnd(1004);
+                                        break;
+                                    } else {
+                                        wrkMastSta1.setStaEnd(2006);
+                                        break;
+                                    }
+                                case 2:
+                                    if (wrkMast.getSourceStaNo() < 2000) {
+                                        wrkMastSta1.setStaEnd(1014);
+                                        break;
+                                    } else {
+                                        wrkMastSta1.setStaEnd(2012);
+                                        break;
+                                    }
+                                case 4:
+                                    if (wrkMast.getSourceStaNo() < 2000) {
+                                        wrkMastSta1.setStaEnd(1028);
+                                        break;
+                                    } else {
+                                        wrkMastSta1.setStaEnd(2024);
+                                        break;
+                                    }
+                                case 5:
+                                    if (wrkMast.getSourceStaNo() < 2000) {
+                                        wrkMastSta1.setStaEnd(1035);
+                                        break;
+                                    } else {
+                                        wrkMastSta1.setStaEnd(2030);
+                                        break;
+                                    }
+                            }
+                        }else{
+                            switch ((wrkMast.getStaNo())){
+                                case 1108:wrkMastSta1.setStaEnd(1109);break;
+                                case 4006:
+                                    if(wrkMastSta1.getStaStart()>2000){
+                                        wrkMastSta1.setStaEnd(2018);break;
+                                    }else{
+                                        wrkMastSta1.setStaEnd(1018);break;
+                                    }
+                            }
                         }
                         wrkMastSta1.setType(fullKM(wrkMast)? 1:2);
                         wrkMastSta1.setWrkType(6);//宸ヤ綔绫诲瀷  1:鍙栵紙鍙犵洏锛�  2锛氭媶鐩�  3锛氬彇鏀� 5锛氭弧鍙�  6锛氭弧鏀�
@@ -77,8 +118,9 @@
                     wrkMast23.setWrkNo(basDevp.getWrkNo());
                     wrkMast23.setSourceStaNo(basDevp.getDevNo());
                     wrkMast23.setStaNo(1041);
-                    WrkMastSta wrkMastSta1 = new WrkMastSta(wrkMast,new Date(),basDevp);
-                    wrkMastSta1.setType(fullKM(wrkMast)? 1:2);
+
+                    WrkMastSta wrkMastSta1 = new WrkMastSta(wrkMast23,new Date(),basDevp);
+                    wrkMastSta1.setType(2);
                     wrkMastSta1.setWrkType(6);
                     wrkMastStaService.insert(wrkMastSta1);
                 default:

--
Gitblit v1.9.1