From a3c70ef5ed3c18209b37ba01a8ab3eb0eea0d7cb Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期二, 12 十二月 2023 16:49:52 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/task/TaskLogScheduler.java | 23 +++++------ src/main/java/com/zy/core/thread/SiemensCrnThread.java | 21 ---------- src/main/java/com/zy/asrs/controller/OpenController.java | 3 + src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 15 ++++--- src/main/java/com/zy/asrs/service/StaDescService.java | 2 src/main/java/com/zy/asrs/service/impl/TaskWrkServiceImpl.java | 6 +- src/main/resources/mapper/TaskWrkMapper.xml | 2 src/main/java/com/zy/asrs/controller/TaskWrkLogController.java | 1 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 29 +++++++++----- src/main/java/com/zy/asrs/service/impl/StaDescServiceImpl.java | 5 +- 10 files changed, 48 insertions(+), 59 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java index c5825f2..ada0552 100644 --- a/src/main/java/com/zy/asrs/controller/OpenController.java +++ b/src/main/java/com/zy/asrs/controller/OpenController.java @@ -192,7 +192,8 @@ map.put("J-1109",118);map.put("J-1110",117); map.put("J-1111",122);map.put("J-1112",121); map.put("H-1102",300);map.put("H-1101",305); - StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>().eq("stn_desc", param.getWharfCode())); + StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>() + .eq("stn_desc", param.getWharfCode())); if (Cools.isEmpty(staDesc)){ return R.error("绋嬪簭鎶ラ敊锛屾湭鏌ヨ鍒扮珯鐐�"); diff --git a/src/main/java/com/zy/asrs/controller/TaskWrkLogController.java b/src/main/java/com/zy/asrs/controller/TaskWrkLogController.java index 13e4d95..c6a60b6 100644 --- a/src/main/java/com/zy/asrs/controller/TaskWrkLogController.java +++ b/src/main/java/com/zy/asrs/controller/TaskWrkLogController.java @@ -41,6 +41,7 @@ excludeTrash(param); convert(param, wrapper); if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} + wrapper.orderDesc(Collections.singleton("create_time")); return R.ok(taskWrkLogService.selectPage(new Page<>(curr, limit), wrapper)); } diff --git a/src/main/java/com/zy/asrs/service/StaDescService.java b/src/main/java/com/zy/asrs/service/StaDescService.java index 5dc74ba..0c45ff2 100644 --- a/src/main/java/com/zy/asrs/service/StaDescService.java +++ b/src/main/java/com/zy/asrs/service/StaDescService.java @@ -7,6 +7,6 @@ StaDesc queryCrnStn(Integer typeNo, Integer crnNo, Integer stnNo); - StaDesc queryCrn(Integer typeNo, Integer stnNo); + StaDesc queryCrn(Integer typeNo, Integer stnNo,Integer crnNo); } 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 bd53665..522bd71 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -557,7 +557,7 @@ log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", taskWrk.getWrkNo()); } } - return; + } } } @@ -600,12 +600,13 @@ crnCommand.setTaskNo(taskWrk.getWrkNo().shortValue()); // 宸ヤ綔鍙� crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆 - crnCommand.setSourcePosX(Utils.getRowShort(taskWrk.getStartPoint())); // 婧愬簱浣嶆帓 - crnCommand.setSourcePosY(Utils.getBayShort(taskWrk.getStartPoint())); // 婧愬簱浣嶅垪 - crnCommand.setSourcePosZ(Utils.getLevShort(taskWrk.getStartPoint())); // 婧愬簱浣嶅眰 - crnCommand.setDestinationPosX(Utils.getRowShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅鎺� - crnCommand.setDestinationPosY(Utils.getBayShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅鍒� - crnCommand.setDestinationPosZ(Utils.getLevShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅灞� + crnCommand.setSourcePosZ(Utils.getRowShort(taskWrk.getStartPoint())); // 婧愬簱浣嶆帓 + crnCommand.setSourcePosX(Utils.getBayShort(taskWrk.getStartPoint())); // 婧愬簱浣嶅垪 + crnCommand.setSourcePosY(Utils.getLevShort(taskWrk.getStartPoint())); // 婧愬簱浣嶅眰 + crnCommand.setDestinationPosZ(Utils.getRowShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅鎺� + crnCommand.setDestinationPosX(Utils.getBayShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅鍒� + crnCommand.setDestinationPosY(Utils.getLevShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅灞� + crnCommand.setCommand((short) 1); if (!CommandUtils.offer(SlaveType.Crn, taskWrk.getCrnNo(), new Task(2, crnCommand))) { log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", taskWrk.getCrnNo(), JSON.toJSON(crnCommand)); } else { diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java index 529e10a..d8a80b1 100644 --- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java @@ -53,7 +53,8 @@ @Value("${wms.url}") private String wmsUrl; public ArrayList<String> wharfCode1 = new ArrayList<String>(){{ - add("J-1101"); add("J-1103"); add("J-1105"); add("J-1107"); add("J-1109"); add("J-1111"); + add("J-1101"); add("J-1103"); add("J-1105"); add("J-1107"); add("J-1109"); add("J-1111");add("H-1101"); + add("G-1101"); }}; @@ -200,14 +201,22 @@ staProtocol = staProtocol.clone(); } Short workNo = staProtocol.getWorkNo(); - for (DevpSlave.Sta inSta : devp.getInSta()) { - if (inSta.getBackSta().equals(staDesc.getStnNo())){ - if (wharfCode1.contains(param.getWharfCode())){ - if (!staProtocol.isLoading() && !staProtocol.isCar()){ - //AGV鍑哄簱瀹屾垚浠ュ悗 - } + if (wharfCode1.contains(param.getWharfCode())){ + if (!staProtocol.isLoading() && !staProtocol.isCar() && staProtocol.getWorkNo() >0){ + //AGV鍑哄簱瀹屾垚浠ュ悗 + staProtocol.setWorkNo((short) 0); + staProtocol.setStaNo((short)0); + boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(3, staProtocol)); + if (result) { - }else { + } else { + throw new RuntimeException("agv杩斿洖瀹屾垚鍚庯紝鍛戒护涓嬪彂澶辫触"); + } + } + }else { + for (DevpSlave.Sta inSta : devp.getInSta()) { + if (inSta.getBackSta().equals(staDesc.getStnNo())){ + if (staProtocol.isLoading() && !staProtocol.isCar() && workNo == 0){ //AGV鍏ュ簱瀹屾垚浠ュ悗 staProtocol.setWorkNo((short) 9999); @@ -219,12 +228,10 @@ throw new RuntimeException("agv杩斿洖瀹屾垚鍚庯紝鍛戒护涓嬪彂澶辫触"); } } + } } } - - - } } diff --git a/src/main/java/com/zy/asrs/service/impl/StaDescServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/StaDescServiceImpl.java index 73131d2..2fe26fb 100644 --- a/src/main/java/com/zy/asrs/service/impl/StaDescServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/StaDescServiceImpl.java @@ -26,10 +26,11 @@ } @Override - public StaDesc queryCrn(Integer typeNo, Integer stnNo) { + public StaDesc queryCrn(Integer typeNo, Integer stnNo,Integer crnNo) { Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>() .eq("type_no", typeNo) - .eq("stn_no", stnNo); + .eq("stn_no", stnNo) + .eq("crn_no",crnNo); StaDesc staDesc = this.selectOne(wrapper); if (staDesc == null) { return null; diff --git a/src/main/java/com/zy/asrs/service/impl/TaskWrkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/TaskWrkServiceImpl.java index e899da4..8643494 100644 --- a/src/main/java/com/zy/asrs/service/impl/TaskWrkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/TaskWrkServiceImpl.java @@ -90,7 +90,7 @@ @Override public void startup(TaskWrk taskWrk, Long userId) { //鍏ュ簱浠诲姟娲惧彂 - StaDesc staDesc = staDescService.queryCrn(taskWrk.getIoType(), Integer.parseInt(taskWrk.getStartPoint())); + StaDesc staDesc = staDescService.queryCrn(taskWrk.getIoType(), Integer.parseInt(taskWrk.getStartPoint()), taskWrk.getCrnNo()); if (staDesc == null) { throw new CoolException("鍏ュ簱璺緞涓嶅瓨鍦�"); } @@ -130,7 +130,7 @@ @Override public void stockOut(TaskWrk taskWrk, Long userId) { //鍑哄簱浠诲姟娲惧彂 - StaDesc staDesc = staDescService.queryCrn(taskWrk.getIoType(), Integer.parseInt(taskWrk.getTargetPoint())); + StaDesc staDesc = staDescService.queryCrn(taskWrk.getIoType(), Integer.parseInt(taskWrk.getTargetPoint()), taskWrk.getCrnNo()); if (staDesc == null) { return;//涓嶅瓨鍦ㄨ矾寰� } @@ -180,7 +180,7 @@ @Override public void locMove(TaskWrk taskWrk, Long userId) { //搴撴牸绉昏浇浠诲姟娲惧彂 - StaDesc staDesc = staDescService.queryCrn(taskWrk.getIoType(), Integer.parseInt(taskWrk.getTargetPoint())); + StaDesc staDesc = staDescService.queryCrn(taskWrk.getIoType(), Integer.parseInt(taskWrk.getTargetPoint()), taskWrk.getCrnNo()); if (staDesc == null) { return;//涓嶅瓨鍦ㄨ矾寰� } diff --git a/src/main/java/com/zy/asrs/task/TaskLogScheduler.java b/src/main/java/com/zy/asrs/task/TaskLogScheduler.java index 2a4681c..18ebbee 100644 --- a/src/main/java/com/zy/asrs/task/TaskLogScheduler.java +++ b/src/main/java/com/zy/asrs/task/TaskLogScheduler.java @@ -4,15 +4,13 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.zy.asrs.domain.enums.TaskStatusType; +import com.zy.asrs.entity.BasDevp; import com.zy.asrs.entity.CommandInfo; import com.zy.asrs.entity.StaDesc; import com.zy.asrs.entity.TaskWrk; import com.zy.asrs.entity.param.TaskOverToWms; import com.zy.asrs.entity.param.TaskStatusFeedbackParam; -import com.zy.asrs.service.ApiLogService; -import com.zy.asrs.service.CommandInfoService; -import com.zy.asrs.service.StaDescService; -import com.zy.asrs.service.TaskWrkService; +import com.zy.asrs.service.*; import com.zy.asrs.utils.PostMesDataUtils; import com.zy.common.utils.HttpHandler; import lombok.extern.slf4j.Slf4j; @@ -39,6 +37,8 @@ private CommandInfoService commandInfoService; @Autowired private ApiLogService apiLogService; + @Autowired + private BasDevpService basDevpService; @Autowired private StaDescService staDescService; @@ -62,20 +62,19 @@ taskOverToWms.setTaskNo(taskWrk.getTaskNo()); //浠诲姟鍙� taskOverToWms.setTaskType(taskStatusFeedbackParam.getTaskType()); // 浠诲姟绫诲瀷 taskOverToWms.setContainerCode(taskWrk.getBarcode()); // 瀹瑰櫒缂栫爜 + //鍖哄垎鍏ュ嚭搴� if (taskWrk.getIoType() ==1 ){ taskOverToWms.setEquipmentCode(String.valueOf(taskWrk.getCrnNo())); //璁惧缂栫爜 taskOverToWms.setTargetLocationCode(taskWrk.getOriginTargetPoint()); //鐩爣搴撲綅 }else if (taskWrk.getIoType() ==2){ - Map<Integer,String> map1 = new HashMap<>(); - map1.put(102,"J-1101"); - map1.put(106,"J-1103"); - map1.put(110,"J-1105"); - map1.put(114,"J-1107"); - map1.put(118,"J-1109"); - map1.put(122,"J-1111"); - StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>().eq("stn_no", taskWrk.getTargetPoint())); + StaDesc staDesc = staDescService.queryCrn(2, Integer.valueOf(taskWrk.getTargetPoint()), taskWrk.getCrnNo()); taskOverToWms.setEquipmentCode(staDesc.getStnDesc()); //璁惧缂栫爜 taskOverToWms.setSourceLocationCode(taskWrk.getOriginStartPoint()); //婧愬簱浣� + //鍒ゆ柇鎵樼洏鏄惁璧板埌鍑哄簱绔� + BasDevp basDevp = basDevpService.selectOne(new EntityWrapper<BasDevp>().eq("dev_no", taskWrk.getTargetPoint())); + if (!basDevp.getWrkNo().equals(taskWrk.getWrkNo())){ + continue; + } } taskOverToWms.setTaskStatus("done"); //浠诲姟鐘舵�� diff --git a/src/main/java/com/zy/core/thread/SiemensCrnThread.java b/src/main/java/com/zy/core/thread/SiemensCrnThread.java index 2a15883..575f0b2 100644 --- a/src/main/java/com/zy/core/thread/SiemensCrnThread.java +++ b/src/main/java/com/zy/core/thread/SiemensCrnThread.java @@ -506,38 +506,17 @@ } - - //鏇存柊鍛戒护鏃ュ織 - CommandInfoLogService commandInfoLogService = SpringUtils.getBean(CommandInfoLogService.class); - CommandInfoService commandInfoService = SpringUtils.getBean(CommandInfoService.class); - CommandInfo commandInfo = commandInfoService.selectById(command.getCommandId()); - CommandInfoLog commandInfoLog = JSON.parseObject(JSON.toJSONString(commandInfo), CommandInfoLog.class); - commandInfoLog.setId(null); - if (result.IsSuccess) { log.warn("鍫嗗灈鏈哄懡浠や笅鍙慬id:{},鏃堕棿锛歿}] >>>>> {}", slave.getId(), DateUtils.convert(new Date(), DateUtils.yyyyMMddHHmmsssss_F), JSON.toJSON(command)); OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆慬id:{1}] >>>>> 鍛戒护涓嬪彂锛� {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(command))); - //鏇存柊鎸囦护鏃ュ織 - commandInfoLog.setDeviceLog("鎸囦护涓嬪彂鎴愬姛"); - commandInfoLogService.insert(commandInfoLog); - //鏇存柊浠诲姟姝ュ簭 - TaskWrkService taskWrkService = SpringUtils.getBean(TaskWrkService.class); - TaskWrk taskWrk = taskWrkService.selectByWrkNo(command.getTaskNo().intValue()); - if (taskWrk != null) { - taskWrk.setCommandStep(taskWrk.getCommandStep() + 1);//鏇存柊鎸囦护姝ュ簭 - taskWrkService.updateById(taskWrk); - } return true; } else { OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆戝啓鍏ュ爢鍨涙満plc鏁版嵁澶辫触 ===>> [id:{1}] [ip:{2}] [port:{3}] [rack:{4}] [slot:{5}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot())); log.error("鍐欏叆鍫嗗灈鏈簆lc鏁版嵁澶辫触 ===>> [id:{}] [ip:{}] [port:{}] [rack:{}] [slot:{}]", slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot()); - //鏇存柊鎸囦护鏃ュ織 - commandInfoLog.setDeviceLog("鎸囦护涓嬪彂澶辫触"); - commandInfoLogService.insert(commandInfoLog); return false; } } diff --git a/src/main/resources/mapper/TaskWrkMapper.xml b/src/main/resources/mapper/TaskWrkMapper.xml index c0881c6..ddbeb5a 100644 --- a/src/main/resources/mapper/TaskWrkMapper.xml +++ b/src/main/resources/mapper/TaskWrkMapper.xml @@ -118,7 +118,7 @@ <select id="selectToBeHistoryData" resultMap="BaseResultMap"> select * from dbo.wcs_task_wrk where 1=1 - and (status=5 or status=4) + and ((wrk_sts=14 and status=5) or status=4 or (wrk_sts=4 and status=5)) order by io_pri desc,create_time,wrk_no ASC </select> -- Gitblit v1.9.1