| 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/asrs/entity/param/AgvBindCtnrAndBinParam.java
@@ -36,7 +36,7 @@ return; case 1: getAgvTaskAssignmentParam0(basAgvMast); indBind = "1"; indBind = "0"; return; case 2: getAgvTaskAssignmentParam1(basAgvMast); @@ -44,7 +44,7 @@ return; case 3: getAgvTaskAssignmentParam1(basAgvMast); indBind = "0"; indBind = "1"; return; default: return; @@ -55,19 +55,28 @@ 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(); BasAgvLocNo basAgvLocNoSou = basAgvLocNoService.selectOne( new EntityWrapper<BasAgvLocNo>().eq("loc_no", basAgvMast.getSourceLocNo()) ); this.positionCode = basAgvLocNoSou != null ? basAgvLocNoSou.getAgvLocNo() : ""; BasAgvLocNo basAgvLocNoEnd = basAgvLocNoService.selectOne( new EntityWrapper<BasAgvLocNo>().eq("sta_no", basAgvMast.getStaNo()) ); this.stgBinCode = basAgvLocNoEnd != null ? 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(); // BasAgvLocNo basAgvLocNoSou = basAgvLocNoService.selectOne( // new EntityWrapper<BasAgvLocNo>().eq("loc_no", basAgvMast.getLocNo()) // ); // this.positionCode = basAgvLocNoSou != null ? basAgvLocNoSou.getAgvLocNo() : ""; BasAgvLocNo basAgvLocNoEnd = basAgvLocNoService.selectOne( new EntityWrapper<BasAgvLocNo>().eq("sta_no", basAgvMast.getSourceStaNo()) ); this.stgBinCode = basAgvLocNoEnd != null ? basAgvLocNoEnd.getAgvLocNo() : ""; } } src/main/java/com/zy/asrs/entity/param/AgvTaskAssignmentParam.java
@@ -35,17 +35,30 @@ switch (basAgvMast.getIoType()){ case 0: getAgvTaskAssignmentParam0(basAgvMast); taskTyp = "1FQ3"; if(basAgvMast.getFloorNo() == 1){ taskTyp = "1FQ3"; }else if(basAgvMast.getFloorNo() == 2){ taskTyp = "2FRK"; }else{ taskTyp = "4FRK"; } ctnrTyp = "1"; return; case 1: getAgvTaskAssignmentParam1(basAgvMast); // taskTyp = "1FQ2"; taskTyp = basAgvMast.getDevpId()==1?"1FYK":""; ctnrTyp = "1"; return; case 2: getAgvTaskAssignmentParam2(basAgvMast); taskTyp = "1FQ1"; if(basAgvMast.getFloorNo() == 1){ taskTyp = "1FQ1"; }else if(basAgvMast.getFloorNo() == 2){ taskTyp = "2FCK"; }else{ taskTyp = "4FCK"; } ctnrTyp = "1"; return; case 3: @@ -61,67 +74,82 @@ public void getAgvTaskAssignmentParam0(BasAgvMast basAgvMast) { BasAgvLocNoService basAgvLocNoService = SpringUtils.getBean(BasAgvLocNoService.class); this.reqCode = basAgvMast.getTaskNo()+"-"+basAgvMast.getTimestamp(); SnowflakeIdWorker snowflakeIdWorker = SpringUtils.getBean(SnowflakeIdWorker.class); long nextId = snowflakeIdWorker.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()); this.positionCodePath.add(positionCodePathClassEnd); PositionCodePathClass positionCodePathClassSou = new PositionCodePathClass(); BasAgvLocNo basAgvLocNoEnd = basAgvLocNoService.selectOne(new EntityWrapper<BasAgvLocNo>().eq("sta_no", basAgvMast.getStaNo())); positionCodePathClassSou.setPositionCode(basAgvLocNoEnd.getAgvLocNo()); this.positionCodePath.add(positionCodePathClassSou); this.reqCode = basAgvMast.getTaskNo() + "-" + basAgvMast.getTimestamp(); this.taskCode = basAgvMast.getTaskNo() + "-" + basAgvMast.getTimestamp(); String sourceAgvLoc = getAgvLocNoOrDefault(basAgvLocNoService, "loc_no", basAgvMast.getSourceLocNo()); PositionCodePathClass sou = new PositionCodePathClass(); sou.setPositionCode(sourceAgvLoc); sou.setType(basAgvMast.getFloorNo()!=1?"00":"05"); this.positionCodePath.add(sou); String endAgvLoc = getAgvLocNoOrDefault(basAgvLocNoService, "sta_no", basAgvMast.getStaNo()); PositionCodePathClass end = new PositionCodePathClass(); end.setType(basAgvMast.getFloorNo()!=1?"00":"05"); end.setPositionCode(endAgvLoc); this.positionCodePath.add(end); } public void getAgvTaskAssignmentParam1(BasAgvMast basAgvMast) { BasAgvLocNoService basAgvLocNoService = SpringUtils.getBean(BasAgvLocNoService.class); this.reqCode = basAgvMast.getTaskNo().toString(); this.reqCode = basAgvMast.getTaskNo()+"-"+basAgvMast.getTimestamp(); 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()); this.positionCodePath.add(positionCodePathClassSou); PositionCodePathClass positionCodePathClassEnd = new PositionCodePathClass(); BasAgvLocNo basAgvLocNoEnd = basAgvLocNoService.selectOne(new EntityWrapper<BasAgvLocNo>().eq("loc_no", basAgvMast.getLocNo())); positionCodePathClassEnd.setPositionCode(basAgvLocNoEnd.getAgvLocNo()); this.positionCodePath.add(positionCodePathClassEnd); String agvLocSou = getAgvLocNoOrDefault(basAgvLocNoService, "loc_no", basAgvMast.getSourceLocNo()); PositionCodePathClass sou = new PositionCodePathClass(); sou.setPositionCode(agvLocSou); sou.setType(basAgvMast.getFloorNo()!=1?"00":"05"); this.positionCodePath.add(sou); String agvLocEnd = getAgvLocNoOrDefault(basAgvLocNoService, "loc_no", basAgvMast.getLocNo()); PositionCodePathClass end = new PositionCodePathClass(); end.setType(basAgvMast.getFloorNo()!=1?"00":"05"); end.setPositionCode(agvLocEnd); this.positionCodePath.add(end); } public void getAgvTaskAssignmentParam2(BasAgvMast basAgvMast) { BasAgvLocNoService basAgvLocNoService = SpringUtils.getBean(BasAgvLocNoService.class); this.reqCode = basAgvMast.getTaskNo().toString(); this.reqCode = basAgvMast.getTaskNo()+"-"+basAgvMast.getTimestamp(); 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()); this.positionCodePath.add(positionCodePathClassSou); PositionCodePathClass positionCodePathClassEnd = new PositionCodePathClass(); BasAgvLocNo basAgvLocNoEnd = basAgvLocNoService.selectOne(new EntityWrapper<BasAgvLocNo>().eq("loc_no", basAgvMast.getLocNo())); positionCodePathClassEnd.setPositionCode(basAgvLocNoEnd.getAgvLocNo()); this.positionCodePath.add(positionCodePathClassEnd); String agvLocSou = getAgvLocNoOrDefault(basAgvLocNoService, "sta_no", basAgvMast.getSourceStaNo()); PositionCodePathClass sou = new PositionCodePathClass(); sou.setPositionCode(agvLocSou); sou.setType(basAgvMast.getFloorNo()!=1?"00":"05"); this.positionCodePath.add(sou); String agvLocEnd = getAgvLocNoOrDefault(basAgvLocNoService, "loc_no", basAgvMast.getLocNo()); PositionCodePathClass end = new PositionCodePathClass(); end.setType(basAgvMast.getFloorNo()!=1?"00":"05"); end.setPositionCode(agvLocEnd); this.positionCodePath.add(end); } public void getAgvTaskAssignmentParam3(BasAgvMast basAgvMast) { BasAgvLocNoService basAgvLocNoService = SpringUtils.getBean(BasAgvLocNoService.class); this.reqCode = basAgvMast.getTaskNo().toString(); this.reqCode = basAgvMast.getTaskNo()+"-"+basAgvMast.getTimestamp(); 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()); this.positionCodePath.add(positionCodePathClassSou); PositionCodePathClass positionCodePathClassEnd = new PositionCodePathClass(); BasAgvLocNo basAgvLocNoEnd = basAgvLocNoService.selectOne(new EntityWrapper<BasAgvLocNo>().eq("sta_no", basAgvMast.getStaNo())); positionCodePathClassEnd.setPositionCode(basAgvLocNoEnd.getAgvLocNo()); this.positionCodePath.add(positionCodePathClassEnd); String agvLocSou = getAgvLocNoOrDefault(basAgvLocNoService, "sta_no", basAgvMast.getSourceStaNo()); PositionCodePathClass sou = new PositionCodePathClass(); sou.setPositionCode(agvLocSou); sou.setType(basAgvMast.getFloorNo()!=1?"00":"05"); this.positionCodePath.add(sou); String agvLocEnd = getAgvLocNoOrDefault(basAgvLocNoService, "sta_no", basAgvMast.getStaNo()); PositionCodePathClass end = new PositionCodePathClass(); end.setType(basAgvMast.getFloorNo()!=1?"00":"05"); end.setPositionCode(agvLocEnd); this.positionCodePath.add(end); } private String getAgvLocNoOrDefault(BasAgvLocNoService service, String column, Object value) { if (value == null) { return null; } BasAgvLocNo record = service.selectOne(new EntityWrapper<BasAgvLocNo>().eq(column, value)); if (record != null && record.getAgvLocNo() != null) { return record.getAgvLocNo(); } // 查询不到就返回原值,但必须转换成 String return String.valueOf(value); } } src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -3569,9 +3569,9 @@ if(rgvProtocol.getStatusType1() == RgvStatusType.WORKING){ rgvThread.setPaking(true); } if(rgvProtocol.getTaskNo1() == 0 && rgvProtocol.getTaskNo2() == 0 && rgvProtocol.getStatusType1() == RgvStatusType.IDLE){ rgvThread.setPaking(true); } // if(rgvProtocol.getTaskNo1() == 0 && rgvProtocol.getTaskNo2() == 0 && rgvProtocol.getStatusType1() == RgvStatusType.IDLE){ // rgvThread.setPaking(true); // } if(rgvProtocol.isLoaded1ing() && rgvProtocol.isLoaded2ing()){ basRgv.setPakAll("1"); basRgvService.updateById(basRgv); @@ -4719,7 +4719,13 @@ JSONObject jsonObject = JSON.parseObject(response); if (jsonObject.getInteger("code").equals(200)) { StartupDto dto = jsonObject.getObject("data", StartupDto.class); if(wrkMast.getStaNo()<2000){ basAgvMast.setFloorNo(1); }else if(wrkMast.getStaNo()<4000){ basAgvMast.setFloorNo(2); }else{ basAgvMast.setFloorNo(3); } basAgvMast.setTaskNo(wrkMast.getWrkNo()); basAgvMast.setSourceStaNo(outStaAgv.getStaNo()); basAgvMast.setLocNo(dto.getLocNo()); @@ -4814,12 +4820,12 @@ JSONObject jsonObject = JSON.parseObject(response); if (jsonObject.getInteger("code").equals(200)) { StartupDto dto = jsonObject.getObject("data", StartupDto.class); basAgvMast.setTaskNo(outStaAgv.getStaNo()); basAgvMast.setSourceStaNo(outStaAgv.getStaNo()); basAgvMast.setLocNo(dto.getLocNo()); basAgvMast.setDevpId(devp.getId()); basAgvMast.setIoType(2); basAgvMast.setFloorNo(2); basAgvMastService.insert(basAgvMast); } else { @@ -4951,7 +4957,7 @@ } try{ // 获取站点信息 SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, basAgvMast.getDevpId()); SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, basAgvMast.getFloorNo() !=1?2:1); StaProtocol staProtocol = devpThread.getStation().get(basAgvMast.getStaNo()); if (staProtocol == null) { continue; @@ -5025,7 +5031,7 @@ } try{ // 获取站点信息 SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, basAgvMast.getDevpId()); SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, basAgvMast.getFloorNo() !=1?2:1); StaProtocol staProtocol = devpThread.getStation().get(basAgvMast.getSourceStaNo()); if (staProtocol == null || !staProtocol.isLoading()) { continue; @@ -5038,11 +5044,25 @@ (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){ if(basAgvMast.getFloorNo()==1) { WrkMast wrkMast = wrkMastService.selectByWrkNo(staProtocol.getWorkNo()); AgvBindCtnrAndBinParam agvBindCtnrAndBinParam = new AgvBindCtnrAndBinParam(basAgvMast); agvBindCtnrAndBinParam.setCtnrCode(wrkMast.getBarcode()); agvBindCtnrAndBinParam.setCtnrTyp("1"); ReturnT<String> resultBind = new PostMesDataUtils().postMesDataAgv("AGV容器绑定解绑", AgvConstant.AGV_URL, AgvConstant.AGV_CTNRANDBING, 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); } }else{ //任务下发 ReturnT<String> result = new PostMesDataUtils().postMesDataAgv("AGV任务下发", AgvConstant.AGV_URL, AgvConstant.AGV_ADAPTOR, agvTaskAssignmentParam); if (result.getCode()==200){ @@ -5051,17 +5071,8 @@ } 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()); @@ -5084,7 +5095,7 @@ } try{ // 获取站点信息 SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, basAgvMast.getDevpId()); SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, basAgvMast.getFloorNo() !=1?2:1); StaProtocol staProtocol = devpThread.getStation().get(basAgvMast.getSourceStaNo()); if (staProtocol == null || !staProtocol.isLoading()) { continue;