From ef58dbca0a0e74e0542dc77bd1ead02ab58a69d1 Mon Sep 17 00:00:00 2001
From: lsh <lsh>
Date: 星期五, 12 七月 2024 22:44:31 +0800
Subject: [PATCH] #

---
 /dev/null                                                              |  129 ------------------
 src/main/resources/mapper/WrkDetlMapper.xml                            |    4 
 src/main/java/com/zy/asrs/task/handler/StaEscalationHandler.java       |  157 ++++++++++++++++++++++
 src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java                    |    2 
 src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java         |    4 
 src/main/java/com/zy/asrs/task/escalationParam/StaEscalationParam.java |   51 +++++++
 src/main/resources/mapper/WrkMastMapper.xml                            |    2 
 src/main/java/com/zy/asrs/task/StaEscalationScheduler.java             |   36 +++++
 src/main/java/com/zy/asrs/service/WrkDetlService.java                  |    2 
 9 files changed, 257 insertions(+), 130 deletions(-)

diff --git a/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java b/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java
index 3ff2711..f953518 100644
--- a/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java
@@ -17,4 +17,6 @@
 
     int updateIoTime(@Param("workNo") Integer workNo, @Param("ioTime") Date ioTime);
 
+    List<WrkDetl> selectByWrkNo(Integer wrkNo);
+
 }
diff --git a/src/main/java/com/zy/asrs/service/WrkDetlService.java b/src/main/java/com/zy/asrs/service/WrkDetlService.java
index 18f7637..81d4e92 100644
--- a/src/main/java/com/zy/asrs/service/WrkDetlService.java
+++ b/src/main/java/com/zy/asrs/service/WrkDetlService.java
@@ -15,4 +15,6 @@
 
     boolean updateIoTime(Integer workNo, Date ioTime);
 
+    List<WrkDetl> selectByWrkNo(Integer wrkNo);
+
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java
index 017911a..a9d4e40 100644
--- a/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java
@@ -58,4 +58,8 @@
         return this.baseMapper.updateIoTime(workNo, ioTime) > 0;
     }
 
+    @Override
+    public List<WrkDetl> selectByWrkNo(Integer wrkNo) {
+        return this.baseMapper.selectByWrkNo(wrkNo);
+    }
 }
diff --git a/src/main/java/com/zy/asrs/task/ReportToDismantleTheStackScheduler.java b/src/main/java/com/zy/asrs/task/ReportToDismantleTheStackScheduler.java
deleted file mode 100644
index fe2980f..0000000
--- a/src/main/java/com/zy/asrs/task/ReportToDismantleTheStackScheduler.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package com.zy.asrs.task;
-
-import com.zy.asrs.task.core.ReturnT;
-import com.zy.asrs.task.handler.ReportToDismantleTheStackHandler;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.scheduling.annotation.Scheduled;
-import org.springframework.stereotype.Component;
-
-/**
- * Created by Monkey D. Luffy on 2023.07.25
- * 寰愬伐姹変簯..............浠ヤ笅.............涓婇ザ姹熼摐.............鎷嗗灈淇℃伅涓婁紶
- */
-@Slf4j
-@Component
-public class ReportToDismantleTheStackScheduler {
-
-    @Autowired
-    private ReportToDismantleTheStackHandler reportToDismantleTheStackHandler;
-
-    @Scheduled(cron = "0/3 * * * * ? ")
-    private void execute(){//鎷嗗灈淇℃伅涓婁紶
-        int[] staNos =new int[]{118,119,120,121};
-        for (int staNo : staNos){
-            try{
-                ReturnT<String> result = reportToDismantleTheStackHandler.start(staNo);
-                if (result.getCode()==200){
-                    break;
-                }
-            }catch (Exception e){
-                log.error("绔欑偣"+staNo+"鎷嗗灈淇℃伅涓婁紶澶勭悊澶辫触锛屽紓甯镐俊鎭細"+e);
-            }
-        }
-    }
-
-}
diff --git a/src/main/java/com/zy/asrs/task/StaEscalationScheduler.java b/src/main/java/com/zy/asrs/task/StaEscalationScheduler.java
new file mode 100644
index 0000000..f9f4c0b
--- /dev/null
+++ b/src/main/java/com/zy/asrs/task/StaEscalationScheduler.java
@@ -0,0 +1,36 @@
+package com.zy.asrs.task;
+
+import com.zy.asrs.task.core.ReturnT;
+import com.zy.asrs.task.handler.StaEscalationHandler;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+/**
+ * Created by Monkey D. Luffy on 2024.07.11
+ * 浜冲窞鐓滄槦..............浠ヤ笅.............浜冲窞鐓滄槦.............2妤肩炕杞�掓枡淇℃伅涓婁紶澶勭悊澶辫触
+ */
+@Slf4j
+@Component
+public class StaEscalationScheduler {
+
+    @Autowired
+    private StaEscalationHandler staEscalationHandler;
+
+    @Scheduled(cron = "0/3 * * * * ? ")
+    private void execute(){//2妤肩炕杞�掓枡淇℃伅涓婁紶
+        int[] staNos =new int[]{126,131,310,312};
+        for (int staNo : staNos){
+            try{
+                ReturnT<String> result = staEscalationHandler.start(staNo);
+                if (result.getCode()==200){
+                    break;
+                }
+            }catch (Exception e){
+                log.error("绔欑偣"+staNo+"2妤肩炕杞�掓枡淇℃伅涓婁紶澶勭悊澶辫触锛屽紓甯镐俊鎭細"+e);
+            }
+        }
+    }
+
+}
diff --git a/src/main/java/com/zy/asrs/task/escalationParam/StaEscalationParam.java b/src/main/java/com/zy/asrs/task/escalationParam/StaEscalationParam.java
new file mode 100644
index 0000000..bb5fff2
--- /dev/null
+++ b/src/main/java/com/zy/asrs/task/escalationParam/StaEscalationParam.java
@@ -0,0 +1,51 @@
+package com.zy.asrs.task.escalationParam;
+
+import com.zy.asrs.entity.WrkDetl;
+import com.zy.asrs.entity.WrkMast;
+import lombok.Data;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+/*
+ *  Created by Monkey D. Luffy on 2023.07.19
+ * */
+@Data
+public class StaEscalationParam {
+    private String barcode;//	鏄�	瀛楃涓�	鎵樼洏鐮�
+    private String boxType;//	鏄�	瀛楃涓�	鐮佸灈鏈ㄧ绫诲瀷锛堝悓涓�鎵樼洏涓�绉嶇被鍨嬶級
+    private String palletizingNo;//	鏄�	瀛楃涓�	鐮佸灈鏈ㄧ绫诲瀷锛堝悓涓�鎵樼洏涓�绉嶇被鍨嬶級  搴熷純
+    private String createTime;//		鏄�	瀛楃涓�	鍒涘缓鏃堕棿
+    private String uuid;//		鏄�	瀛楃涓�	鏃堕棿鎴�
+    private Integer staStart;//		鏄�	瀛楃涓�	璧峰绔欑偣锛堟墭鐩樻墍鍦ㄧ珯鐐癸級
+    private Integer staEnd;//		鏄�	瀛楃涓�	鐩爣绔欑偣锛堟媶鍨涚洰鐨勭珯鐐癸級
+    private List<MatList> matList;//		鏄�	鍒楄〃	鎷嗗灈鍓╀綑璐х墿淇℃伅(鍙互涓虹┖)
+
+    @Data
+    public static class MatList{
+        private String position;//		鏄�	瀛楃涓�	鏈ㄧ鐮佸灈浣嶇疆
+        private boolean unstackingEnd;//    灏剧鏍囪瘑锛堟渶鍚庝竴鎵樹负true锛屽叾浠栦负false锛�
+        private String boxNo;//		鏄�	瀛楃涓�	鏈ㄧ缂栧彿锛堝敮涓�瀛楁锛屽嚭搴撲緷鎹紝鍑哄簱鏃舵寜鐓ф湪绠辩紪鍙峰嚭搴擄級
+    }
+
+    public StaEscalationParam(){}
+
+    public StaEscalationParam(WrkMast wrkMast, List<WrkDetl> wrkDetlList){
+        Date now = new Date();
+        this.barcode=wrkMast.getBarcode();
+        this.boxType=wrkDetlList.get(0).getBrand();
+        createTime=now.toString();
+        uuid=String.valueOf(now.getTime());
+        List<MatList> matLists=new ArrayList<>();
+        for (WrkDetl wrkDetl:wrkDetlList){
+            MatList matList = new MatList();
+            matList.setBoxNo(wrkDetl.getBatch());
+            matList.setPosition(wrkDetl.getOrigin());
+            matList.setUnstackingEnd(false);
+            matLists.add(matList);
+        }
+
+        this.matList = matLists;
+    }
+}
diff --git a/src/main/java/com/zy/asrs/task/handler/ReportToDismantleTheStackHandler.java b/src/main/java/com/zy/asrs/task/handler/ReportToDismantleTheStackHandler.java
deleted file mode 100644
index 844ebab..0000000
--- a/src/main/java/com/zy/asrs/task/handler/ReportToDismantleTheStackHandler.java
+++ /dev/null
@@ -1,129 +0,0 @@
-package com.zy.asrs.task.handler;
-
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.mapper.EntityWrapper;
-import com.core.common.Cools;
-import com.core.exception.CoolException;
-import com.zy.asrs.entity.BasDevp;
-import com.zy.asrs.entity.WrkDetl;
-import com.zy.asrs.entity.WrkMast;
-import com.zy.asrs.service.*;
-import com.zy.asrs.task.AbstractHandler;
-import com.zy.asrs.task.core.ReturnT;
-import com.zy.common.utils.HttpHandler;
-import com.zy.core.cache.SlaveConnection;
-import com.zy.core.enums.SlaveType;
-import com.zy.core.model.protocol.StaProtocol;
-import com.zy.core.thread.SiemensDevpThread;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-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
-@Transactional
-public class ReportToDismantleTheStackHandler extends AbstractHandler<String> {
-
-    @Autowired
-    private WrkMastService wrkMastService;
-    @Autowired
-    private WrkDetlService wrkDetlService;
-    @Autowired
-    private StaDescService staDescService;
-    @Autowired
-    private ApiLogService apiLogService;
-    @Autowired
-    private BasDevpService basDevpService;
-
-//    @Value("${srHangJia.url}")
-    private String erpUrl = "192.168.18.229:16126";
-//    @Value("${srHangJia.reportOutPath}")
-    private String reportOutPath = "api/DepalletizingInfo/Post";
-
-    public ReturnT<String> start(int staNo) {
-        try{
-        }catch (Exception e){
-            log.error("寮傚父锛侊紒锛�"+e);
-            return FAIL;
-        }
-        return FAIL;
-    }
-
-    private ReturnT<String> postMesData(String erpPath,Object combParam){
-        if(combParam != null){
-            String response = "";
-            boolean success = false;
-            try {
-                response = new HttpHandler.Builder()
-                        .setUri(erpUrl)
-                        .setPath(erpPath)
-                        .setJson(JSON.toJSONString(combParam))
-                        .build()
-                        .doPost();
-                JSONObject jsonObject = JSON.parseObject(response);
-                if (jsonObject.getInteger("Code")==200) {
-                    success = true;
-                } else {
-                    log.error("鎷嗗灈淇℃伅涓婁紶璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}"+erpUrl+erpPath, JSON.toJSONString(combParam), response);
-                    throw new CoolException("涓婃姤erp绯荤粺澶辫触");
-                }
-            } catch (Exception e) {
-                log.error("fail", e);
-//                      TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                return FAIL.setMsg(e.getMessage());
-            } finally {
-                try {
-                    // 淇濆瓨鎺ュ彛鏃ュ織
-                    apiLogService.save(
-                            "涓婃姤妗佹灦绯荤粺",
-                            erpUrl + erpPath,
-                            null,
-                            erpUrl,
-                            JSON.toJSONString(combParam),
-                            response,
-                            success
-                    );
-                } catch (Exception e) { log.error("", e); }
-            }
-        }
-        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;
-        }
-    }
-}
diff --git a/src/main/java/com/zy/asrs/task/handler/StaEscalationHandler.java b/src/main/java/com/zy/asrs/task/handler/StaEscalationHandler.java
new file mode 100644
index 0000000..4dc12da
--- /dev/null
+++ b/src/main/java/com/zy/asrs/task/handler/StaEscalationHandler.java
@@ -0,0 +1,157 @@
+package com.zy.asrs.task.handler;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.core.common.Cools;
+import com.core.exception.CoolException;
+import com.zy.asrs.entity.BasDevp;
+import com.zy.asrs.entity.WrkDetl;
+import com.zy.asrs.entity.WrkMast;
+import com.zy.asrs.service.*;
+import com.zy.asrs.task.AbstractHandler;
+import com.zy.asrs.task.core.ReturnT;
+import com.zy.asrs.task.escalationParam.StaEscalationParam;
+import com.zy.common.utils.HttpHandler;
+import com.zy.core.cache.SlaveConnection;
+import com.zy.core.enums.SlaveType;
+import com.zy.core.model.protocol.StaProtocol;
+import com.zy.core.thread.SiemensDevpThread;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+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 2024.07.11
+ * 浜冲窞鐓滄槦..............浠ヤ笅.............浜冲窞鐓滄槦.............2妤肩炕杞�掓枡淇℃伅涓婁紶澶勭悊澶辫触
+ */
+@Slf4j
+@Service
+@Transactional
+public class StaEscalationHandler extends AbstractHandler<String> {
+
+    @Autowired
+    private WrkMastService wrkMastService;
+    @Autowired
+    private WrkDetlService wrkDetlService;
+    @Autowired
+    private StaDescService staDescService;
+    @Autowired
+    private ApiLogService apiLogService;
+    @Autowired
+    private BasDevpService basDevpService;
+
+//    @Value("${srHangJia.url}")
+    private String erpUrl = "10.10.11.100:8580";
+//    @Value("${srHangJia.reportOutPath}")
+    private String reportOutPath = "mes/wms-service/inStorageEndReport";
+
+    public ReturnT<String> start(int staNo) {
+        try{
+            Date now = new Date();
+            BasDevp basDevp = basDevpService.selectById(staNo);
+            if (Cools.isEmpty(basDevp) || basDevp.getReportSign()==1){
+                return FAIL;
+            }
+            SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
+            StaProtocol staProtocol = devpThread.getStation().get(staNo);
+            if (staProtocol == null) {
+                return FAIL;
+            } else {
+                staProtocol = staProtocol.clone();
+            }
+
+            if (!Cools.isEmpty(basDevp) && basDevp.getAutoing().equals("Y") && basDevp.getWrkNo()!=0){ //涓婁紶鍓嶅伐浣滃彿璺熺數鎺х害瀹氫负9992涓帶(妗佹灦)锛氱爜鍨涘畬鎴愪笅鍙戝叆搴撲俊鎭紙浣犲彲浠ヨ嚜瀹氫箟锛�
+                if (staProtocol.isAutoing() && staProtocol.getWorkNo()!=0){
+                    WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", staProtocol.getWorkNo()).ne("sheet_no","2"));
+                    if (Cools.isEmpty(wrkMast)) return FAIL;
+                    List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
+                    if (Cools.isEmpty(wrkDetls) || wrkDetls.isEmpty()){
+                        return FAIL;
+                    }
+
+                    log.error("2妤肩炕杞�掓枡淇℃伅涓婁紶鏃讹紝绔欑偣鐘舵�侊細"+JSON.toJSONString(staProtocol));
+                    log.error("2妤肩炕杞�掓枡淇℃伅涓婁紶鏃讹紝宸ヤ綔鍙凤細"+JSON.toJSONString(wrkMast));
+                    StaEscalationParam staEscalationParam = new StaEscalationParam(wrkMast,wrkDetls);
+                    staEscalationParam.setStaStart(staNo);
+                    ReturnT<String> result = postMesData(reportOutPath,staEscalationParam);
+                    if (result.getCode()==200){
+                        wrkMast.setSheetNo("2");
+                        wrkMastService.updateById(wrkMast);
+                        basDevp.setReportSign(1);
+                        basDevpService.updateById(basDevp);
+                        return SUCCESS;
+                    }else {
+                        log.error("鎷嗗灈淇℃伅涓婁紶澶辫触");
+                    }
+                }
+            }
+        }catch (Exception e){
+            log.error("寮傚父锛侊紒锛�"+e);
+            return FAIL;
+        }
+        return FAIL;
+    }
+
+    private ReturnT<String> postMesData(String erpPath,Object combParam){
+        if(combParam != null){
+            String response = "";
+            boolean success = false;
+            try {
+                response = new HttpHandler.Builder()
+                        .setUri(erpUrl)
+                        .setPath(erpPath)
+                        .setJson(JSON.toJSONString(combParam))
+                        .build()
+                        .doPost();
+                JSONObject jsonObject = JSON.parseObject(response);
+                if (jsonObject.getInteger("Code")==200) {
+                    success = true;
+                } else {
+                    log.error("2妤肩炕杞�掓枡淇℃伅涓婁紶璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}"+erpUrl+erpPath, JSON.toJSONString(combParam), response);
+                    throw new CoolException("涓婃姤erp绯荤粺澶辫触");
+                }
+            } catch (Exception e) {
+                log.error("fail", e);
+//                      TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                return FAIL.setMsg(e.getMessage());
+            } finally {
+                try {
+                    // 淇濆瓨鎺ュ彛鏃ュ織
+                    apiLogService.save(
+                            "涓婃姤MES绯荤粺",
+                            erpUrl + erpPath,
+                            null,
+                            erpUrl,
+                            JSON.toJSONString(combParam),
+                            response,
+                            success
+                    );
+                } catch (Exception e) { log.error("", e); }
+            }
+        }
+        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;
+        }
+    }
+
+
+}
diff --git a/src/main/resources/mapper/WrkDetlMapper.xml b/src/main/resources/mapper/WrkDetlMapper.xml
index a28c05b..60c9a60 100644
--- a/src/main/resources/mapper/WrkDetlMapper.xml
+++ b/src/main/resources/mapper/WrkDetlMapper.xml
@@ -37,4 +37,8 @@
         and wrk_no = #{workNo}
     </update>
 
+    <select id="selectByWrkNo" resultMap="BaseResultMap">
+        select * from asr_wrk_detl where 1=1 and wrk_no = #{wrkNo}
+    </select>
+
 </mapper>
diff --git a/src/main/resources/mapper/WrkMastMapper.xml b/src/main/resources/mapper/WrkMastMapper.xml
index ac74d1e..79abf49 100644
--- a/src/main/resources/mapper/WrkMastMapper.xml
+++ b/src/main/resources/mapper/WrkMastMapper.xml
@@ -92,7 +92,7 @@
     </select>
 
     <select id="selectPakInStep111" resultMap="BaseResultMap">
-        select top 1 * from asr_wrk_mast where source_sta_no=#{sourceStaNo} and barcode=#{barcode} and ((io_type=202 and wrk_sts=51) or (io_type=1 and wrk_sts=2)) order by io_pri desc,io_time,wrk_no ASC
+        select top 1 * from asr_wrk_mast where source_sta_no=#{sourceStaNo} and barcode=#{barcode} and ((io_type = 202 and wrk_sts=51) or (io_type=1 and wrk_sts=2)) order by io_pri desc,io_time,wrk_no ASC
     </select>
 
     <select id="selectPakInStep11" resultMap="BaseResultMap">

--
Gitblit v1.9.1