From a1b6230dd71854a8cc9fcca8be72bebdc76fcfe7 Mon Sep 17 00:00:00 2001
From: yxFwq <1>
Date: 星期五, 06 十二月 2024 13:55:25 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/task/handler/WrkMastCrnHandler.java |   38 ++++++++++++++++++++++++++++++--------
 1 files changed, 30 insertions(+), 8 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 b02d099..57359ec 100644
--- a/src/main/java/com/zy/asrs/task/handler/WrkMastCrnHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WrkMastCrnHandler.java
@@ -110,7 +110,7 @@
         return SUCCESS;
     }
 
-    public ReturnT<String> start(WrkMast wrkMast) {
+    public ReturnT<String> start(WrkMast wrkMast,boolean sign) {
         try {
             Date now = new Date();
             LocTypeDto locTypeDto = new LocTypeDto();
@@ -122,14 +122,36 @@
             }
             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()){
-                    RgvOneSign rgvOneSign = rgvOneSignService.selectOne(new EntityWrapper<RgvOneSign>().eq("rgv_one_type","LineUp"+wrkMastOther.getStaNo()));
-                    if (Cools.isEmpty(rgvOneSign)){
-                        return FAIL;
-                    }
-                    int wrkCount = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("sta_no", wrkMastOther.getStaNo()).eq("wrk_sts",12L));
-                    if (wrkCount+rgvOneSign.getRgvOneSign()>=3){
-                        return FAIL;
+                    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);

--
Gitblit v1.9.1