| src/main/java/com/zy/asrs/entity/param/AgvBindCtnrAndBinParam.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/asrs/entity/param/AgvTaskAssignmentParam.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/common/constant/AgvConstant.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/core/MainProcess.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/entity/param/AgvBindCtnrAndBinParam.java
New file @@ -0,0 +1,73 @@ package com.zy.asrs.entity.param; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.SnowflakeIdWorker; import com.core.common.SpringUtils; import com.zy.asrs.entity.BasAgvLocNo; import com.zy.asrs.entity.BasAgvMast; import com.zy.asrs.service.BasAgvLocNoService; import lombok.Data; import java.util.ArrayList; /* * Created by Monkey D. Luffy on 2025.09.09 * */ @Data public class AgvBindCtnrAndBinParam { private String reqCode; private String reqTime; private String clientCode; private String tokenCode; private String ctnrCode; private String ctnrTyp; private String stgBinCode; private String positionCode; private String indBind; public AgvBindCtnrAndBinParam() { } public AgvBindCtnrAndBinParam(BasAgvMast basAgvMast) { switch (basAgvMast.getIoType()){ case 0: getAgvTaskAssignmentParam0(basAgvMast); indBind = "0"; return; case 1: getAgvTaskAssignmentParam0(basAgvMast); indBind = "1"; return; case 2: getAgvTaskAssignmentParam1(basAgvMast); indBind = "1"; return; case 3: getAgvTaskAssignmentParam1(basAgvMast); indBind = "0"; return; default: return; } } public void getAgvTaskAssignmentParam0(BasAgvMast basAgvMast) { BasAgvLocNoService basAgvLocNoService = SpringUtils.getBean(BasAgvLocNoService.class); this.reqCode = basAgvMast.getTaskNo() + "-" + System.currentTimeMillis(); BasAgvLocNo basAgvLocNoSou = basAgvLocNoService.selectOne(new EntityWrapper<BasAgvLocNo>().eq("loc_no", basAgvMast.getSourceLocNo())); this.positionCode = basAgvLocNoSou.getAgvLocNo(); BasAgvLocNo basAgvLocNoEnd = basAgvLocNoService.selectOne(new EntityWrapper<BasAgvLocNo>().eq("sta_no", basAgvMast.getStaNo())); this.stgBinCode = basAgvLocNoEnd.getAgvLocNo(); } public void getAgvTaskAssignmentParam1(BasAgvMast basAgvMast) { BasAgvLocNoService basAgvLocNoService = SpringUtils.getBean(BasAgvLocNoService.class); this.reqCode = basAgvMast.getTaskNo() + "-" + System.currentTimeMillis(); BasAgvLocNo basAgvLocNoSou = basAgvLocNoService.selectOne(new EntityWrapper<BasAgvLocNo>().eq("loc_no", basAgvMast.getSourceLocNo())); this.positionCode = basAgvLocNoSou.getAgvLocNo(); BasAgvLocNo basAgvLocNoEnd = basAgvLocNoService.selectOne(new EntityWrapper<BasAgvLocNo>().eq("sta_no", basAgvMast.getStaNo())); this.stgBinCode = basAgvLocNoEnd.getAgvLocNo(); } } src/main/java/com/zy/asrs/entity/param/AgvTaskAssignmentParam.java
@@ -66,7 +66,7 @@ SnowflakeIdWorker snowflakeIdWorker = SpringUtils.getBean(SnowflakeIdWorker.class); long nextId = snowflakeIdWorker.nextId(); this.taskCode = String.valueOf(nextId); this.taskCode = basAgvMast.getTaskNo()+"-"+basAgvMast.getTimestamp(); PositionCodePathClass positionCodePathClassEnd = new PositionCodePathClass(); BasAgvLocNo basAgvLocNoSou = basAgvLocNoService.selectOne(new EntityWrapper<BasAgvLocNo>().eq("loc_no", basAgvMast.getSourceLocNo())); positionCodePathClassEnd.setPositionCode(basAgvLocNoSou.getAgvLocNo()); @@ -83,7 +83,7 @@ BasAgvLocNoService basAgvLocNoService = SpringUtils.getBean(BasAgvLocNoService.class); this.reqCode = basAgvMast.getTaskNo().toString(); this.taskCode = basAgvMast.getTimestamp().toString(); this.taskCode = basAgvMast.getTaskNo()+"-"+basAgvMast.getTimestamp(); PositionCodePathClass positionCodePathClassSou = new PositionCodePathClass(); BasAgvLocNo basAgvLocNoSou = basAgvLocNoService.selectOne(new EntityWrapper<BasAgvLocNo>().eq("loc_no", basAgvMast.getSourceLocNo())); positionCodePathClassSou.setPositionCode(basAgvLocNoSou.getAgvLocNo()); @@ -98,7 +98,7 @@ BasAgvLocNoService basAgvLocNoService = SpringUtils.getBean(BasAgvLocNoService.class); this.reqCode = basAgvMast.getTaskNo().toString(); this.taskCode = basAgvMast.getTimestamp().toString(); this.taskCode = basAgvMast.getTaskNo()+"-"+basAgvMast.getTimestamp(); PositionCodePathClass positionCodePathClassSou = new PositionCodePathClass(); BasAgvLocNo basAgvLocNoSou= basAgvLocNoService.selectOne(new EntityWrapper<BasAgvLocNo>().eq("sta_no", basAgvMast.getSourceStaNo())); positionCodePathClassSou.setPositionCode(basAgvLocNoSou.getAgvLocNo()); @@ -113,7 +113,7 @@ BasAgvLocNoService basAgvLocNoService = SpringUtils.getBean(BasAgvLocNoService.class); this.reqCode = basAgvMast.getTaskNo().toString(); this.taskCode = basAgvMast.getTimestamp().toString(); this.taskCode = basAgvMast.getTaskNo()+"-"+basAgvMast.getTimestamp(); PositionCodePathClass positionCodePathClassSou = new PositionCodePathClass(); BasAgvLocNo basAgvLocNoSou = basAgvLocNoService.selectOne(new EntityWrapper<BasAgvLocNo>().eq("sta_no", basAgvMast.getSourceStaNo())); positionCodePathClassSou.setPositionCode(basAgvLocNoSou.getAgvLocNo()); src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -7,10 +7,7 @@ import com.core.common.*; import com.core.exception.CoolException; import com.zy.asrs.entity.*; import com.zy.asrs.entity.param.AgvTaskAssignmentParam; import com.zy.asrs.entity.param.ArmOrderAssignmentParam; import com.zy.asrs.entity.param.ArmTaskAssignmentParam; import com.zy.asrs.entity.param.CombParam; import com.zy.asrs.entity.param.*; import com.zy.asrs.entity.result.OrderDetlValueResultUtil; import com.zy.asrs.mapper.*; import com.zy.asrs.service.*; @@ -323,7 +320,15 @@ devpThread.setPakMk(staProtocol.getSiteId(), false); boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); log.error("输送线下发2:"+dto.getWorkNo()+","+dto.getStaNo()); if(staProtocol.getSiteId() == 1036){ //1036 BasAgvMast basAgvMast = basAgvMastService.selectOne(new EntityWrapper<BasAgvMast>().eq("sta_no", 1037)); AgvBindCtnrAndBinParam agvBindCtnrAndBinParam = new AgvBindCtnrAndBinParam(basAgvMast); agvBindCtnrAndBinParam.setCtnrCode(barcode); ReturnT<String> resultBind = new PostMesDataUtils().postMesDataAgv("AGV容器绑定解绑", AgvConstant.AGV_URL, AgvConstant.AGV_CTNRANDBING, agvBindCtnrAndBinParam); if (resultBind.getCode()!=200){ agvTaskAssignmentCallApiLogSave(basAgvMast, "AGV容器绑定解绑", "任务号:"+basAgvMast.getTaskNo()+"任务信息下发失败!!!", false); } } ledThread.errorReset(); log.error("组托请求后LED错误清除"); @@ -4725,6 +4730,7 @@ basAgvMastService.insert(basAgvMast); wrkMast.setTakeNone("2"); wrkMastMapper.updateById(wrkMast); } else { @@ -4956,7 +4962,6 @@ if (staProtocol.isAutoing()){ AgvTaskAssignmentParam agvTaskAssignmentParam = new AgvTaskAssignmentParam(basAgvMast); //任务下发 ReturnT<String> result = new PostMesDataUtils().postMesDataAgv("AGV任务下发", AgvConstant.AGV_URL, AgvConstant.AGV_ADAPTOR, agvTaskAssignmentParam); if (result.getCode()==200){ @@ -5033,7 +5038,11 @@ (basAgvMast.getSourceStaNo().equals(2033))){ AgvTaskAssignmentParam agvTaskAssignmentParam = new AgvTaskAssignmentParam(basAgvMast); AgvBindCtnrAndBinParam agvBindCtnrAndBinParam = new AgvBindCtnrAndBinParam(basAgvMast); WrkMast wrkMast = wrkMastService.selectByWrkNo(staProtocol.getWorkNo()); agvBindCtnrAndBinParam.setCtnrCode(wrkMast.getBarcode()); ReturnT<String> resultBind = new PostMesDataUtils().postMesDataAgv("AGV容器绑定解绑", AgvConstant.AGV_URL, AgvConstant.AGV_ADAPTOR, agvBindCtnrAndBinParam); if (resultBind.getCode()==200){ //任务下发 ReturnT<String> result = new PostMesDataUtils().postMesDataAgv("AGV任务下发", AgvConstant.AGV_URL, AgvConstant.AGV_ADAPTOR, agvTaskAssignmentParam); if (result.getCode()==200){ @@ -5042,6 +5051,17 @@ } else { agvTaskAssignmentCallApiLogSave(basAgvMast, "AGV任务下发失败", "任务号:"+basAgvMast.getTaskNo()+"任务信息下发失败!!!", false); } } else { agvTaskAssignmentCallApiLogSave(basAgvMast, "AGV容器绑定解绑", "任务号:"+basAgvMast.getTaskNo()+"任务信息下发失败!!!", false); } // //任务下发 // ReturnT<String> result = new PostMesDataUtils().postMesDataAgv("AGV任务下发", AgvConstant.AGV_URL, AgvConstant.AGV_ADAPTOR, agvTaskAssignmentParam); // if (result.getCode()==200){ // basAgvMast.setStatus(1); // basAgvMastService.updateById(basAgvMast); // } else { // agvTaskAssignmentCallApiLogSave(basAgvMast, "AGV任务下发失败", "任务号:"+basAgvMast.getTaskNo()+"任务信息下发失败!!!", false); // } } } catch (Exception e){ log.error("任务号:"+basAgvMast.getTaskNo()+"====》AGV任务下发失败"+e.getMessage()); @@ -5082,7 +5102,21 @@ if (!Cools.isEmpty(staProtocol.getWorkNo()) && staProtocol.getWorkNo().equals(basAgvMast.getTaskNo())){ AgvTaskAssignmentParam agvTaskAssignmentParam = new AgvTaskAssignmentParam(basAgvMast); // AgvBindCtnrAndBinParam agvBindCtnrAndBinParam = new AgvBindCtnrAndBinParam(basAgvMast); // // ReturnT<String> resultBind = new PostMesDataUtils().postMesDataAgv("AGV容器绑定解绑", AgvConstant.AGV_URL, AgvConstant.AGV_ADAPTOR, agvBindCtnrAndBinParam); // if (resultBind.getCode()==200){ // //任务下发 // ReturnT<String> result = new PostMesDataUtils().postMesDataAgv("AGV任务下发", AgvConstant.AGV_URL, AgvConstant.AGV_ADAPTOR, agvTaskAssignmentParam); // if (result.getCode()==200){ // basAgvMast.setStatus(1); // basAgvMastService.updateById(basAgvMast); // } else { // agvTaskAssignmentCallApiLogSave(basAgvMast, "AGV任务下发失败", "任务号:"+basAgvMast.getTaskNo()+"任务信息下发失败!!!", false); // } // } else { // agvTaskAssignmentCallApiLogSave(basAgvMast, "AGV容器绑定解绑", "任务号:"+basAgvMast.getTaskNo()+"任务信息下发失败!!!", false); // } //任务下发 ReturnT<String> result = new PostMesDataUtils().postMesDataAgv("AGV任务下发", AgvConstant.AGV_URL, AgvConstant.AGV_ADAPTOR, agvTaskAssignmentParam); if (result.getCode()==200){ @@ -5101,6 +5135,7 @@ } } public void agvTaskAssignmentCallApiLogSave(BasAgvMast basAgvMast ,String tableName, String response, Boolean bool) { ApiLog apiLog = apiLogService.selectOne(new EntityWrapper<ApiLog>() .eq("namespace", "Agv任务下发") src/main/java/com/zy/common/constant/AgvConstant.java
@@ -9,6 +9,7 @@ public static final String AGV_URL = "http://10.10.10.200:8181"; public static final String AGV_ADAPTOR = "rcms/services/rest/hikRpcService/genAgvSchedulingTask";//创建订单 public static final String AGV_CTNRANDBING = "rcms/services/rest/hikRpcService/bindCtnrAndBin";//容器绑定 } src/main/java/com/zy/core/MainProcess.java
@@ -174,7 +174,7 @@ mainService.agvTaskCreateFull();//任务生成 出库口==》AGV库位 mainService.agvTaskCreateEmpty();//任务生成 出库口==》AGV库位 mainService.agvTaskCreateR();//任务生成 AGV库位==》入库口 mainService.agvTaskCreateException();//任务生成 出库口==》入库口 // mainService.agvTaskCreateException();//任务生成 出库口==》入库口 } catch (Exception e) { e.printStackTrace();