From a0d7fdd303b3f76131d77162a7dd2c7db60d80ae Mon Sep 17 00:00:00 2001
From: lsh <1>
Date: 星期三, 24 一月 2024 19:12:26 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/task/handler/ReportToDismantleTheStackHandler.java |  138 +++++++++++++++++++++++++++++++++++++---------
 1 files changed, 111 insertions(+), 27 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 e9209ba..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,11 +18,13 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 
 /**
  * Created by Monkey D. Luffy on 2023.07.25
- * 寰愬伐姹変簯..............浠ヤ笅.............涓婇ザ姹熼摐.............鑷姩琛ョ┖鏉�
+ * 寰愬伐姹変簯..............浠ヤ笅.............涓婇ザ姹熼摐.............鎷嗗灈淇℃伅涓婁紶
  */
 @Slf4j
 @Service
@@ -42,51 +44,105 @@
     @Autowired
     private BasDevpService basDevpService;
 
-    @Value("${srXghyErp.url}")
+    @Value("${srHangJia.url}")
     private String erpUrl;
-    @Value("${srXghyErp.barcodeUploadPath}")
-    private String barcodeUploadpath;
+    @Value("${srHangJia.reportOutPath}")
+    private String reportOutPath;
 
     public ReturnT<String> start(int staNo) {
         try {
+            Date now = new Date();
             BasDevp basDevp = basDevpService.selectById(staNo);
-            if (!Cools.isEmpty(basDevp) && basDevp.getAutoing().equals("Y") && basDevp.getWrkNo()!=0){ //涓婁紶鍓嶅伐浣滃彿璺熺數鎺х害瀹氫负9992锛堜綘鍙互鑷畾涔夛級
+            Integer staOther = getStaOther(staNo);
+            Integer staEnd = getStaEnd(staNo);
+            if (staOther==0) return FAIL;
+            BasDevp basDevpOther = basDevpService.selectById(staOther);
+            if (Cools.isEmpty(basDevpOther) || basDevpOther.getReportSign()==1){
+                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:133);
-                ReturnT<String> result = null;
-                result = postMesData(barcodeUploadpath,singleMountUnstackingCompleteParam);
-                System.out.println(result);
-                if (true){
+                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){
+//                        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);
-                    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("鏉$爜涓婁紶涓帶澶辫触");
+                    log.error("鎷嗗灈淇℃伅涓婁紶澶辫触");
                 }
             }
         }catch (Exception e){
@@ -108,10 +164,10 @@
                         .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);
+                    log.error("鎷嗗灈淇℃伅涓婁紶璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}"+erpUrl+erpPath, JSON.toJSONString(combParam), response);
                     throw new CoolException("涓婃姤erp绯荤粺澶辫触");
                 }
             } catch (Exception e) {
@@ -135,4 +191,32 @@
         }
         return SUCCESS;
     }
+
+    public Integer getStaOther(Integer staNo){
+        switch (staNo){
+            case 118:
+                return 119;
+            case 119:
+                return 118;
+            case 120:
+                return 121;
+            case 121:
+                return 120;
+            default:
+                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