From b20f26652b83b3cee96451f61b3092e53c1b3d55 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期三, 14 八月 2024 20:34:50 +0800
Subject: [PATCH] 合格品校验

---
 src/main/java/com/zy/asrs/task/handler/ReportToDismantleTheStackHandler.java |   63 ++++++++++++++++++++++++++-----
 1 files changed, 52 insertions(+), 11 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/handler/ReportToDismantleTheStackHandler.java b/src/main/java/com/zy/asrs/task/handler/ReportToDismantleTheStackHandler.java
index 42dbd76..b24e75d 100644
--- a/src/main/java/com/zy/asrs/task/handler/ReportToDismantleTheStackHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/ReportToDismantleTheStackHandler.java
@@ -18,6 +18,8 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -49,31 +51,57 @@
 
     public ReturnT<String> start(int staNo) {
         try {
+            Date now = new Date();
             BasDevp basDevp = basDevpService.selectById(staNo);
             Integer staOther = getStaOther(staNo);
             Integer staEnd = getStaEnd(staNo);
-            if (staOther==0) return SUCCESS;
+            if (staOther==0) return FAIL;
             BasDevp basDevpOther = basDevpService.selectById(staOther);
             if (Cools.isEmpty(basDevpOther) || basDevpOther.getReportSign()==1){
-                return SUCCESS;
+                return FAIL;
             }
-            WrkMast wrkMast1 = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("io_type", 202).eq("source_sta_no", staEnd));
-            if (!Cools.isEmpty(wrkMast1)) return SUCCESS;
+            BasDevp basDevpEnd = basDevpService.selectById(staEnd);
+            if (!basDevpEnd.getLoading().equals("Y") || !basDevpEnd.getAutoing().equals("Y") || !basDevpEnd.getInEnable().equals("Y")){
+                return FAIL;
+            }
+            if ((basDevpEnd.getWrkNo()<9900 && basDevpEnd.getWrkNo()!=0 ) || basDevpEnd.getWrkNo()>10000  || basDevpEnd.getReportSign()!=0){
+                return FAIL;
+            }
+            WrkMast wrkMast1 = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("io_type", 202).eq("source_sta_no", staEnd).eq("wrk_sts",51L));
+            if (!Cools.isEmpty(wrkMast1)) return FAIL;
             if (!Cools.isEmpty(basDevp) && basDevp.getAutoing().equals("Y") && basDevp.getWrkNo()!=0){ //涓婁紶鍓嶅伐浣滃彿璺熺數鎺х害瀹氫负9992涓帶(妗佹灦)锛氱爜鍨涘畬鎴愪笅鍙戝叆搴撲俊鎭紙浣犲彲浠ヨ嚜瀹氫箟锛�
 
                 WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevp.getWrkNo()));
-                if (Cools.isEmpty(wrkMast) || !wrkMast.getSheetNo().equals("0")){
-                    return SUCCESS;
+                if (Cools.isEmpty(wrkMast) || Cools.isEmpty(wrkMast.getSheetNo()) || !wrkMast.getSheetNo().equals("0")){
+                    return FAIL;
                 }
                 List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
                 if (Cools.isEmpty(wrkDetls) || wrkDetls.size()==0){
-                    return SUCCESS;
+                    return FAIL;
                 }
-                SingleMountUnstackingCompleteParam singleMountUnstackingCompleteParam = new SingleMountUnstackingCompleteParam(wrkMast,wrkDetls);
+                List<WrkDetl> wrkDetlList = new ArrayList<>();
+                String signOne = "";
+                String signTwo = "";
+                for (WrkDetl wrkDetl:wrkDetls){
+                    if (wrkDetl.getOrigin().equals("1") && signOne.equals("")){
+                        wrkDetlList.add(wrkDetl);
+                        signOne = "1";
+                    } else if (wrkDetl.getOrigin().equals("2") && signTwo.equals("")){
+                        wrkDetlList.add(wrkDetl);
+                        signTwo = "2";
+                    }
+                    if (!signOne.equals("") && !signTwo.equals("")){
+                        break;
+                    }
+                }
+                SingleMountUnstackingCompleteParam singleMountUnstackingCompleteParam = new SingleMountUnstackingCompleteParam(wrkMast,wrkDetlList);
                 singleMountUnstackingCompleteParam.setStaStart(staNo);
-                singleMountUnstackingCompleteParam.setStaEnd(staNo>119? 135:131);
-                ReturnT<String> result = null;
-                result = postMesData(reportOutPath,singleMountUnstackingCompleteParam);
+                singleMountUnstackingCompleteParam.setStaEnd(staEnd);
+//                result = null;
+//                if (true){
+//                    return FAIL;
+//                }
+                ReturnT<String> result = postMesData(reportOutPath,singleMountUnstackingCompleteParam);
 //                System.out.println(result);
 //                if (true){
 //                    for (WrkDetl wrkDetl:wrkDetls){
@@ -86,19 +114,32 @@
 //                    wrkMastService.updateById(wrkMast);
 //                    basDevp.setReportSign(1);
 //                    basDevpService.updateById(basDevp);
+//                    basDevpEnd.setReportSign(1);
+//                    basDevpService.updateById(basDevp);
 //                    return SUCCESS;
 //                }
                 if (result.getCode()==200){
+                    Date nowOne = new Date();
+                    Date nowTwo = now;
                     for (WrkDetl wrkDetl:wrkDetls){
+                        if (wrkDetl.getOrigin().equals("1")){
+                            now = nowOne;
+                        } else if (wrkDetl.getOrigin().equals("2")){
+                            now = nowTwo;
+                        }
                         WrkDetlSingle wrkDetlSingle = new WrkDetlSingle();
                         wrkDetlSingle.sync(wrkDetl);
                         wrkDetlSingle.setWrkNo(wrkDetl.getWrkNo().longValue());
+                        wrkDetlSingle.setIoTime(now);
                         wrkDetlSingleService.insert(wrkDetlSingle);
                     }
                     wrkMast.setSheetNo("1");
                     wrkMastService.updateById(wrkMast);
                     basDevp.setReportSign(1);
                     basDevpService.updateById(basDevp);
+                    basDevpEnd.setReportSign(1);
+                    basDevpService.updateById(basDevpEnd);
+
                     return SUCCESS;
                 }else {
                     log.error("鎷嗗灈淇℃伅涓婁紶澶辫触");

--
Gitblit v1.9.1