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