From 52bf6adbb12da2690be2db07fd6620844e84e6d3 Mon Sep 17 00:00:00 2001
From: 1 <1>
Date: 星期四, 23 十月 2025 16:46:01 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/task/handler/WrkMastStaInItHandler.java |   63 ++++++++++++++++++++++++++++---
 1 files changed, 57 insertions(+), 6 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..691e0b7 100644
--- a/src/main/java/com/zy/asrs/task/handler/WrkMastStaInItHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WrkMastStaInItHandler.java
@@ -28,7 +28,14 @@
 
     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;
             }
@@ -52,6 +59,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 +71,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){
+                            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(2021);
+                                        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 +127,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