From e64a43ef4174f9338b807d5587632f281be40b3b Mon Sep 17 00:00:00 2001 From: yxFwq <1> Date: 星期六, 20 七月 2024 17:37:06 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/WrkMastExecuteServiceImpl.java | 5 + src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 19 ++++ src/main/java/com/zy/asrs/mapper/WrkMastExecuteMapper.java | 1 src/main/java/com/zy/asrs/service/WrkMastExecuteService.java | 1 src/main/resources/mapper/WrkMastExecuteMapper.xml | 6 + src/main/java/com/zy/asrs/task/JarBurialEscalationScheduler.java | 52 +++++++++++++ src/main/java/com/zy/asrs/task/handler/JarBurialEscalationHandler.java | 122 ++++++++++++++++++++++++++++++ 7 files changed, 206 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/zy/asrs/mapper/WrkMastExecuteMapper.java b/src/main/java/com/zy/asrs/mapper/WrkMastExecuteMapper.java index 8c51555..75bb7ce 100644 --- a/src/main/java/com/zy/asrs/mapper/WrkMastExecuteMapper.java +++ b/src/main/java/com/zy/asrs/mapper/WrkMastExecuteMapper.java @@ -30,6 +30,7 @@ Integer getWrkMastExecuteByJarIdCount(@Param("jarId") Integer jarId); + Integer getWrkMastExecuteByjarReginCount(@Param("jarRegin") Integer jarId); Integer selectNoStart(@Param("jarRegin") Integer jarRegin); Integer selectNoStartCharge(@Param("jarRegin") Integer jarRegin); diff --git a/src/main/java/com/zy/asrs/service/WrkMastExecuteService.java b/src/main/java/com/zy/asrs/service/WrkMastExecuteService.java index aa41314..fe3dc9a 100644 --- a/src/main/java/com/zy/asrs/service/WrkMastExecuteService.java +++ b/src/main/java/com/zy/asrs/service/WrkMastExecuteService.java @@ -23,6 +23,7 @@ List<WrkMastExecute> selectWrkMastExecuteByWrk(WrkMastExecute wrkMastExecute); Integer getWrkMastExecuteByJarIdCount(Integer jarId); + Integer getWrkMastExecuteByjarReginCount(Integer jarId); Integer selectNoStart(Integer jarRegin); diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java index b07a549..1200b6c 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -5278,6 +5278,10 @@ return false; } + if (wrkMastExecuteService.getWrkMastExecuteByjarReginCount(basJar.getRegion())!=0){ + return false; + } + //闂ㄤ綔涓� 鏃� //鑷姩銆佺┖闂层�佸彸闂ㄥ叧闂�� Other宸﹂棬鍏抽棴 if (jarProtocol.isAutoing() && jarProtocol.jarErr==0 @@ -5331,6 +5335,10 @@ BasJarMast basJarMastSign = basJarMastList.get(0); if (Cools.isEmpty(basJarMastSign)){ + return false; + } + + if (wrkMastExecuteService.getWrkMastExecuteByjarReginCount(basJarMastSign.getJarRegin())!=0){ return false; } // //鍒ゆ柇灏忚溅鐘舵�� @@ -5413,6 +5421,10 @@ if (Cools.isEmpty(basJarMastSign)){ return false; } + + if (wrkMastExecuteService.getWrkMastExecuteByjarReginCount(basJarMastSign.getJarRegin())!=0){ + return false; + } // //鍒ゆ柇灏忚溅鐘舵�� // if (!jarWrkMastExecuteGenerateSteStatus(jarSlave.getJarInSte().get(0).getSteNo(),2,SteStatusType.IDLE)){ // return false; @@ -5489,6 +5501,9 @@ BasJarMast jarMastByJarIdMin = basJarMastService.getJarMastByJarIdMin(jarSlave.getId(),8,8); if (Cools.isEmpty(jarMastByJarIdMin)){ + return false; + } + if (wrkMastExecuteService.getWrkMastExecuteByjarReginCount(jarMastByJarIdMin.getJarRegin())!=0){ return false; } @@ -5577,6 +5592,10 @@ if (Cools.isEmpty(jarMastByJarIdMin)){ return false; } + + if (wrkMastExecuteService.getWrkMastExecuteByjarReginCount(jarMastByJarIdMin.getJarRegin())!=0){ + return false; + } // // //鍒ゆ柇灏忚溅鐘舵�� // if (!jarWrkMastExecuteGenerateSteStatus(jarSlave.getJarOutSte().get(0).getSteNo(),3,SteStatusType.IDLE)){ diff --git a/src/main/java/com/zy/asrs/service/impl/WrkMastExecuteServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WrkMastExecuteServiceImpl.java index 67718ce..6b05400 100644 --- a/src/main/java/com/zy/asrs/service/impl/WrkMastExecuteServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WrkMastExecuteServiceImpl.java @@ -56,6 +56,11 @@ } @Override + public Integer getWrkMastExecuteByjarReginCount(Integer jarId) { + return this.baseMapper.getWrkMastExecuteByjarReginCount(jarId); + } + + @Override public Integer selectNoStart(Integer jarRegin) { return this.baseMapper.selectNoStart(jarRegin); } diff --git a/src/main/java/com/zy/asrs/task/JarBurialEscalationScheduler.java b/src/main/java/com/zy/asrs/task/JarBurialEscalationScheduler.java new file mode 100644 index 0000000..0ac9f54 --- /dev/null +++ b/src/main/java/com/zy/asrs/task/JarBurialEscalationScheduler.java @@ -0,0 +1,52 @@ +package com.zy.asrs.task; + +import com.zy.asrs.task.core.ReturnT; +import com.zy.asrs.task.handler.JarBurialEscalationHandler; +import com.zy.asrs.task.handler.ScaleEscalationHandler; +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.20 + * 浜冲窞鐓滄槦..............浠ヤ笅.............浜冲窞鐓滄槦.............涓婁紶寮�寮忓喎鍗翠俊鍙� + */ +@Slf4j +@Component +public class JarBurialEscalationScheduler { + + @Autowired + private JarBurialEscalationHandler jarBurialEscalationHandler; + + @Scheduled(cron = "0/3 * * * * ? ") + private void execute(){//涓婁紶寮�寮忓喎鍗翠俊鍙� + int[] jarList =new int[]{1,2,3,4,5,6}; + for (int jarNo : jarList){ + try{ + ReturnT<String> result = jarBurialEscalationHandler.start(jarNo,10,11); + if (result.getCode()==200){ + break; + } + }catch (Exception e){ + log.error("鍐峰嵈姹狅細"+jarNo+"==銆嬩笂浼犲紑寮忓喎鍗翠俊鍙峰鐞嗗け璐ワ紝寮傚父淇℃伅锛�"+e); + } + } + } + + @Scheduled(cron = "0/3 * * * * ? ") + private void execute2(){//涓婁紶寮�寮忓喎鍗翠俊鍙� + int[] jarList =new int[]{1,2,3,4,5,6}; + for (int jarNo : jarList){ + try{ + ReturnT<String> result = jarBurialEscalationHandler.start(jarNo,11,12); + if (result.getCode()==200){ + break; + } + }catch (Exception e){ + log.error("鍐峰嵈姹狅細"+jarNo+"==銆嬩笂浼犲紑寮忓喎鍗翠俊鍙峰鐞嗗け璐ワ紝寮傚父淇℃伅锛�"+e); + } + } + } + +} diff --git a/src/main/java/com/zy/asrs/task/handler/JarBurialEscalationHandler.java b/src/main/java/com/zy/asrs/task/handler/JarBurialEscalationHandler.java new file mode 100644 index 0000000..b4aa1d6 --- /dev/null +++ b/src/main/java/com/zy/asrs/task/handler/JarBurialEscalationHandler.java @@ -0,0 +1,122 @@ +package com.zy.asrs.task.handler; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.core.exception.CoolException; +import com.zy.asrs.entity.BasJarMast; +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 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.List; + +/** + * Created by Monkey D. Luffy on 2024.07.20 + * 浜冲窞鐓滄槦..............浠ヤ笅.............浜冲窞鐓滄槦.............涓婁紶寮�寮忓喎鍗翠俊鍙� + */ +@Slf4j +@Service +@Transactional +public class JarBurialEscalationHandler extends AbstractHandler<String> { + + private static final Integer jarMaxLoc = 6; + + @Autowired + private ApiLogService apiLogService; + @Autowired + private BasJarMastService basJarMastService; + +// @Value("${srHangJia.url}") + private String erpUrl = "10.10.11.100:8580"; +// @Value("${srHangJia.reportOutPath}") + private String reportOutPath = "mes/wms-service/boxWeight"; + + public ReturnT<String> start(int jarNo,Integer souStatus,Integer endStatus) { + try{ + List<BasJarMast> basJarMastList = basJarMastService.getJarMastByJarIdAndStatusList(jarNo, new ArrayList<Integer>() {{ + add(souStatus);//纭寲瀹屾垚 + }}); + if (basJarMastList.size() != jarMaxLoc){ + return FAIL; + } else { +// ReturnT<String> result = postMesData(reportOutPath,1); +// if (result.getCode()==200){ + Integer integer = basJarMastService.updateStatus(jarNo, souStatus, endStatus); + if (basJarMastList.size()!=integer){ + log.error("{}鍙风~鍖栫綈纭寲瀹屾垚鍚庡紑闂ㄥ畬鎴愪慨鏀圭~鍖栨。妗堢姸鎬佺粨鏋滄暟閲忎笉涓�鑷达紒锛侊紒鏌ヨ璧勬枡鏁伴噺={}锛屾洿鏂拌繑鍥炴暟閲�={}",jarNo,basJarMastList.size(),integer); + return FAIL; + } + return SUCCESS; +// }else { +// log.error("1妤肩炕杞噸閲忎俊鎭笂浼犲け璐�"); +// } + } + }catch (Exception e){ + log.error("寮傚父锛侊紒锛�"+e); + 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("1妤肩炕杞噸閲忎俊鎭笂浼犺姹傛帴鍙eけ璐ワ紒锛侊紒url锛歿}锛況equest锛歿}锛況esponse锛歿}"+erpUrl+erpPath, JSON.toJSONString(combParam), response); + throw new CoolException("涓婃姤mes绯荤粺澶辫触"); + } + } 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/WrkMastExecuteMapper.xml b/src/main/resources/mapper/WrkMastExecuteMapper.xml index 46961cd..e3853a4 100644 --- a/src/main/resources/mapper/WrkMastExecuteMapper.xml +++ b/src/main/resources/mapper/WrkMastExecuteMapper.xml @@ -118,6 +118,12 @@ and jar_id = #{jarId} </select> + <select id="getWrkMastExecuteByjarReginCount" resultType="Integer"> + select count(1) from jar_wrk_mast_execute + where 1=1 + and jar_regin = #{jarRegin} + </select> + <select id="selectNoStart" resultType="Integer"> select count(1) from jar_wrk_mast_execute where 1=1 -- Gitblit v1.9.1