From 642428dd870c2f288bb0f3a5fc94373a69a425cf Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期五, 25 四月 2025 13:08:53 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/task/handler/ReportToDismantleTheStackHandler.java |  108 ++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 84 insertions(+), 24 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 4391cba..bdb78ed 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,52 +51,97 @@
 
     public ReturnT<String> start(int staNo) {
         try {
+            Date now = new Date();
             BasDevp basDevp = basDevpService.selectById(staNo);
             Integer staOther = getStaOther(staNo);
-            if (staOther==0) return SUCCESS;
+            Integer staEnd = getStaEnd(staNo);
+            if (staOther==0) return FAIL;
             BasDevp basDevpOther = basDevpService.selectById(staOther);
             if (Cools.isEmpty(basDevpOther) || basDevpOther.getReportSign()==1){
-                return SUCCESS;
+                return FAIL;
             }
+            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);
-                System.out.println(result);
-                if (true){
+                singleMountUnstackingCompleteParam.setStaEnd(staEnd);
+//                result = null;
+//                if (true){
+//                    return FAIL;
+//                }
+                log.error("涓婁紶鏈烘鑷傛椂锛岀珯鐐圭姸鎬侊細"+JSON.toJSONString(basDevpEnd));
+                log.error("涓婁紶鏈烘鑷傛椂锛屽伐浣滃彿锛�"+JSON.toJSONString(wrkMast));
+                ReturnT<String> result = postMesData(reportOutPath,singleMountUnstackingCompleteParam);
+//                System.out.println(result);
+//                if (true){
+//                    for (WrkDetl wrkDetl:wrkDetls){
+//                        WrkDetlSingle wrkDetlSingle = new WrkDetlSingle();
+//                        wrkDetlSingle.sync(wrkDetl);
+//                        wrkDetlSingle.setWrkNo(wrkDetl.getWrkNo().longValue());
+//                        wrkDetlSingleService.insert(wrkDetlSingle);
+//                    }
+//                    wrkMast.setSheetNo("1");
+//                    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);
-                    return SUCCESS;
-                }
-                if (result.getCode()==200){
-                    for (WrkDetl wrkDetl:wrkDetls){
-                        WrkDetlSingle wrkDetlSingle = new WrkDetlSingle();
-                        wrkDetlSingle.sync(wrkDetl);
-                        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("鎷嗗灈淇℃伅涓婁紶澶辫触");
@@ -119,7 +166,7 @@
                         .build()
                         .doPost();
                 JSONObject jsonObject = JSON.parseObject(response);
-                if (jsonObject.getString("result").equals("Y")) {
+                if (jsonObject.getInteger("Code")==200) {
                     success = true;
                 } else {
                     log.error("鎷嗗灈淇℃伅涓婁紶璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}"+erpUrl+erpPath, JSON.toJSONString(combParam), response);
@@ -161,4 +208,17 @@
                 return 0;
         }
     }
+
+    public Integer getStaEnd(Integer staNo){
+        switch (staNo){
+            case 118:
+            case 119:
+                return 131;
+            case 120:
+            case 121:
+                return 135;
+            default:
+                return 0;
+        }
+    }
 }

--
Gitblit v1.9.1