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