src/main/java/com/zy/asrs/domain/enums/NotifyMsgType.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/task/autoReportStartHandler.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/application-prod.yml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/application.yml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/domain/enums/NotifyMsgType.java
@@ -2,6 +2,7 @@ public enum NotifyMsgType { //任务 TASK_START("task_start", "任务开始"), TASK_COMPLETE("task_complete", "任务完成"), TASK_CANCEL("task_cancel", "任务取消"), ; src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -5,15 +5,17 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.Cools; import com.core.exception.CoolException; import com.zy.asrs.domain.dto.NotifyCustomDataDto; import com.zy.asrs.domain.enums.NotifyMsgType; import com.zy.asrs.domain.enums.TaskStatusType; import com.zy.asrs.domain.enums.WorkNoType; import com.zy.asrs.entity.*; import com.zy.asrs.entity.param.Result; import com.zy.asrs.entity.param.StorageEscalationParam; import com.zy.asrs.mapper.*; import com.zy.asrs.service.*; import com.zy.asrs.utils.CommandUtils; import com.zy.asrs.utils.CrnOperaUtils; import com.zy.asrs.utils.NotifyUtils; import com.zy.asrs.utils.Utils; import com.zy.common.service.CommonService; import com.zy.common.utils.HttpHandler; @@ -87,6 +89,8 @@ private CommonService commonService; @Autowired private CrnOperaUtils crnOperaUtils; @Autowired private NotifyUtils notifyUtils; @Value("${wms.count}") private Integer maxCount; @Autowired @@ -215,33 +219,18 @@ staProtocol.setStaNo(staDesc.getCrnStn().shortValue()); MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); //上报 HashMap<String, Object> hashMap = new HashMap<>(); hashMap.put("TaskNo", taskWrk.getTaskNo()); try { //开始上报,任务开始时,WCS回调WMS response = new HttpHandler.Builder() .setUri(wmsUrl) .setPath(taskStatusFeedbackPath) .setJson(JSON.toJSONString(hashMap)) .build() .doPost(); JSONObject jsonObject1 = JSON.parseObject(response); boolean bool = false; if(jsonObject1.get("ReturnStatus").equals(0)){ taskWrk.setStatus(2);//派发任务 bool = true; taskWrkService.updateById(taskWrk); } apiLogService.save("wcs开始入库任务上报wms" , wmsUrl + TaskExecCallback , null , "127.0.0.1" , JSON.toJSONString(hashMap) , response , bool ); } catch (Exception e) { NotifyCustomDataDto customDataDto = new NotifyCustomDataDto(); customDataDto.setUri(wmsUrl); customDataDto.setPath(taskStatusFeedbackPath); customDataDto.setData(JSON.toJSONString(hashMap)); boolean notifyResult = notifyUtils.notify("task", 1, String.valueOf(taskWrk.getWrkNo()), taskWrk.getTaskNo(), NotifyMsgType.TASK_START, JSON.toJSONString(taskWrk), true, customDataDto); if(notifyResult) { taskWrk.setStatus(2); taskWrkService.updateById(taskWrk); } } } catch (Exception e) { @@ -706,9 +695,6 @@ continue; } // int workNo = commonService.getWorkNo(WorkNoType.PAKIN.type);//获取入库工作号 // taskWrk.setWrkNo(workNo);//工作号 // taskWrk.setStatus(TaskStatusType.DISTRIBUTE.id);//派发状态 taskWrk.setAssignTime(new Date());//派发时间 taskWrk.setWrkSts(3);//工作状态 3.吊车入库 taskWrk.setCrnNo(staDesc.getCrnNo());//堆垛机号 @@ -750,7 +736,7 @@ */ public synchronized void locToCrnStn(CrnSlave slave, CrnProtocol crnProtocol) { List<TaskWrk> taskWrksInitial = taskWrkMapper.selectPakOut(slave.getId(), null); if (taskWrksInitial.size() == 0) { if (taskWrksInitial.isEmpty()) { return; } for (CrnSlave.CrnStn crnStn : slave.getCrnOutStn()) { @@ -855,33 +841,20 @@ log.error("修改工作档状态 11.生成出库ID => 12.吊车出库中 失败!!,工作号={}", taskWrk.getWrkNo()); log.error("修改工作档状态 11.生成出库ID => 12.吊车出库中 失败!!,异常:" + e); } // try { // HashMap<String, Object> headParam = new HashMap<>(); // headParam.put("taskNo", taskWrk.getTaskNo()); // headParam.put("status", taskWrk.getStatus()); // headParam.put("ioType", taskWrk.getIoType()); // headParam.put("barcode", taskWrk.getBarcode()); // String response; // response = new HttpHandler.Builder() // // .setHeaders(headParam) // .setUri(wmsUrl) // .setPath(taskStatusFeedbackPath) // .setJson(JSON.toJSONString(headParam)) // .build() // .doPost(); // JSONObject jsonObject = JSON.parseObject(response); // apiLogService.save("wcs派发出库任务上报wms" // , wmsUrl + taskStatusFeedbackPath // , null // , "127.0.0.1" // , JSON.toJSONString(headParam) // , response // , true // ); // } catch (Exception e) { // log.error("wcs派发出库任务上报wms失败", JSON.toJSONString(taskWrk)); //// throw new CoolException("wcs派发入库任务上报wms失败"); // } //上报-出库任务开始时,WCS回调WMS HashMap<String, Object> hashMap = new HashMap<>(); hashMap.put("TaskNo", taskWrk.getTaskNo()); NotifyCustomDataDto customDataDto = new NotifyCustomDataDto(); customDataDto.setUri(wmsUrl); customDataDto.setPath(taskStatusFeedbackPath); customDataDto.setData(JSON.toJSONString(hashMap)); boolean notifyResult = notifyUtils.notify("task", 1, String.valueOf(taskWrk.getWrkNo()), taskWrk.getTaskNo(), NotifyMsgType.TASK_START, JSON.toJSONString(taskWrk), true, customDataDto); if(notifyResult) { taskWrk.setStatus(2); taskWrkService.updateById(taskWrk); } } } } @@ -1073,6 +1046,7 @@ if (taskWrk.getIoType() == 1 && taskWrk.getWrkSts() == 3) { taskWrk.setWrkSts(4);//入库完成 taskWrk.setStatus(5);//完结 //更新库位状态 LocMast locMast = locMastService.selectByLocNo(taskWrk.getTargetPoint()); locMast.setLocSts("F");//F.在库 @@ -1083,6 +1057,7 @@ } else if (taskWrk.getIoType() == 2 && taskWrk.getWrkSts() == 12) { taskWrk.setWrkSts(13);//出库完成 taskWrk.setStatus(5);//完结 //更新库位状态 LocMast locMast = locMastService.selectByLocNo(taskWrk.getStartPoint()); locMast.setLocSts("O");//O.空库位 src/main/java/com/zy/asrs/task/autoReportStartHandler.java
File was deleted src/main/resources/application-prod.yml
@@ -1,210 +1,166 @@ wcs-slave: doubleDeep: true #双深 doubleLocs: 1,4,5,8 #双深库位排号 1,4,5,8 groupCount: 4 #一个堆垛机负责的货架排数 crn[0]: #堆垛机1 id: 1 ip: 10.10.10.110 slot: 0 demo: false rack: 0 offset: 2 #偏移量,当堆垛机站点列号=1时,偏移量=2 offset: 2 #偏移量,当堆垛机站点列号=1时,偏移量=2 port: 102 crnOutStn[0]: #堆垛机出库站点 staNo: 125 row: 3 bay: 1 lev: 2 devpPlcId: ${wcs-slave.devp[0].id} crnInStn[0]: #堆垛机入库站点1 staNo: 100 crnOutStn[1]: #堆垛机出库站点 staNo: 101 row: 2 bay: 1 lev: 2 backSta: 102 lev: 1 devpPlcId: ${wcs-slave.devp[0].id} crn[1]: #堆垛机2 id: 2 ip: 10.10.10.120 crnOutStn[0]: #堆垛机出库站点 staNo: 100 row: 1 bay: 1 lev: 1 devpPlcId: ${wcs-slave.devp[0].id} ip: 192.168.4.250 crnInStn[0]: #堆垛机入库站点1 staNo: 100 row: 1 bay: 1 lev: 1 devpPlcId: ${wcs-slave.devp[0].id} id: 1 slot: 0 demo: false crn[1]: #堆垛机2 rack: 0 offset: 2 #偏移量,当堆垛机站点列号=1时,偏移量=2 offset: 2 #偏移量,当堆垛机站点列号=1时,偏移量=2 port: 102 crnOutStn[0]: #堆垛机出库站点 staNo: 115 row: 7 crnOutStn[1]: #堆垛机出库站点 staNo: 103 row: 5 bay: 1 lev: 2 lev: 1 devpPlcId: ${wcs-slave.devp[0].id} crnInStn[0]: #堆垛机入库站点1 staNo: 120 row: 6 crnOutStn[0]: #堆垛机出库站点 staNo: 102 row: 4 bay: 1 lev: 2 backSta: 106 lev: 1 devpPlcId: ${wcs-slave.devp[0].id} devp[0]: #输送线 id: 1 ip: 10.10.10.130 rack: 0 port: 102 ip: 10.10.10.10 crnInStn[0]: #堆垛机入库站点1 staNo: 102 row: 4 bay: 1 lev: 1 devpPlcId: ${wcs-slave.devp[0].id} id: 2 slot: 0 emptyInSta[0]: #空板入库口0 staNo: 116 inSta[0]: #入库口1 staNo: 116 backSta: 110 barcode: ${wcs-slave.barcode[0].id} outSta[0]: #出库口1 staNo: 105 outSta[1]: #出库口2 staNo: 107 outSta[2]: #出库口2 staNo: 109 outSta[3]: #出库口1 staNo: 110 barcode[0]: #条码扫描仪 demo: false barcode[3]: #条码扫描仪4 port: 51236 ip: 172.17.91.39 ip: 10.10.10.52 id: 4 barcode[2]: #条码扫描仪3 port: 51236 ip: 10.10.10.52 id: 3 doubleLocs: 3,6,7,10,13 #双深库位排号 3,6,7,10,13 barcode[1]: #条码扫描仪2 port: 51236 ip: 10.10.10.52 id: 2 groupCount: 4 #一个堆垛机负责的货架排数 devp[0]: #输送线 emptyInSta[2]: #空板入库口3 staNo: 104 emptyInSta[1]: #空板入库口2 staNo: 102 rack: 0 emptyInSta[0]: #空板入库口1 staNo: 100 ip: 192.168.4.250 outSta[4]: #出库口5 staNo: 104 outSta[3]: #出库口4 staNo: 103 outSta[6]: #出库口7 staNo: 106 slot: 0 outSta[5]: #出库口6 staNo: 105 outSta[0]: #出库口1 staNo: 100 outSta[2]: #出库口3 staNo: 102 emptyInSta[3]: #空板入库口4 staNo: 106 outSta[1]: #出库口2 staNo: 101 inSta[2]: staNo: 104 barcode: ${wcs-slave.barcode[2].id} inSta[3]: staNo: 106 barcode: ${wcs-slave.barcode[3].id} port: 102 outSta[7]: #出库口8 staNo: 107 inSta[0]: #入库口1 staNo: 100 barcode: ${wcs-slave.barcode[0].id} inSta[1]: #入库口2 staNo: 102 barcode: ${wcs-slave.barcode[1].id} id: 1 # crn[0]: #堆垛机1 # rack: 0 # offset: 2 #偏移量,当堆垛机站点列号=1时,偏移量=2 # port: 102 # crnOutStn[0]: #堆垛机出库站点 # staNo: 101 # row: 2 # bay: 1 # lev: 1 # devpPlcId: ${wcs-slave.devp[0].id} # ip: 192.168.1.100 # crnInStn[0]: #堆垛机入库站点1 # staNo: 100 # row: 1 # bay: 1 # lev: 1 # devpPlcId: ${wcs-slave.devp[0].id} # id: 1 # slot: 0 # demo: false # crn[1]: #堆垛机2 # rack: 0 # offset: 2 #偏移量,当堆垛机站点列号=1时,偏移量=2 # port: 102 # crnOutStn[0]: #堆垛机出库站点 # staNo: 103 # row: 5 # bay: 1 # lev: 1 # devpPlcId: ${wcs-slave.devp[0].id} # ip: 192.168.1.110 # crnInStn[0]: #堆垛机入库站点1 # staNo: 102 # row: 4 # bay: 1 # lev: 1 # devpPlcId: ${wcs-slave.devp[0].id} # id: 2 # slot: 0 # demo: false # barcode[3]: #条码扫描仪4 # port: 51236 # ip: 10.10.10.52 # id: 4 # barcode[2]: #条码扫描仪3 # port: 51236 # ip: 10.10.10.52 # id: 3 # # barcode[1]: #条码扫描仪2 # port: 51236 # ip: 10.10.10.52 # id: 2 # # devp[0]: #输送线 # emptyInSta[2]: #空板入库口3 # staNo: 104 # emptyInSta[1]: #空板入库口2 # staNo: 102 # rack: 0 # emptyInSta[0]: #空板入库口1 # staNo: 100 # ip: 192.168.1.140 # outSta[4]: #出库口5 # staNo: 104 # outSta[3]: #出库口4 # staNo: 103 # outSta[6]: #出库口7 # staNo: 106 # slot: 0 # outSta[5]: #出库口6 # staNo: 105 # outSta[0]: #出库口1 # staNo: 100 # outSta[2]: #出库口3 # staNo: 102 # emptyInSta[3]: #空板入库口4 # staNo: 106 # outSta[1]: #出库口2 # staNo: 101 # inSta[2]: # staNo: 104 # barcode: ${wcs-slave.barcode[2].id} # inSta[3]: # staNo: 106 # barcode: ${wcs-slave.barcode[3].id} # port: 102 # outSta[7]: #出库口8 # staNo: 107 # inSta[0]: #入库口1 # staNo: 100 # barcode: ${wcs-slave.barcode[0].id} # inSta[1]: #入库口2 # staNo: 102 # barcode: ${wcs-slave.barcode[1].id} # id: 1 # # # crn[2]: #堆垛机3 # rack: 0 # offset: 2 #偏移量,当堆垛机站点列号=1时,偏移量=2 # port: 102 # crnOutStn[0]: #堆垛机出库站点 # staNo: 105 # row: 9 # bay: 1 # lev: 1 # devpPlcId: ${wcs-slave.devp[0].id} # ip: 192.168.1.120 # crnInStn[0]: #堆垛机入库站点1 # staNo: 104 # row: 8 # bay: 1 # lev: 1 # devpPlcId: ${wcs-slave.devp[0].id} # id: 3 # slot: 0 # demo: false # crn[3]: #堆垛机4 # rack: 0 # offset: 2 #偏移量,当堆垛机站点列号=1时,偏移量=2 # port: 102 # crnOutStn[0]: #堆垛机出库站点 # staNo: 107 # row: 12 # bay: 1 # lev: 1 # devpPlcId: ${wcs-slave.devp[0].id} # ip: 192.168.1.130 # crnInStn[0]: #堆垛机入库站点1 # staNo: 106 # row: 11 # bay: 1 # lev: 1 # devpPlcId: ${wcs-slave.devp[0].id} # id: 4 # slot: 0 # demo: false barcode[0]: #条码扫描仪1 port: 51236 ip: 10.10.10.52 id: 1 doubleDeep: false #双深 crn[2]: #堆垛机3 rack: 0 offset: 2 #偏移量,当堆垛机站点列号=1时,偏移量=2 port: 102 crnOutStn[1]: #堆垛机出库站点 staNo: 105 row: 9 bay: 1 lev: 1 devpPlcId: ${wcs-slave.devp[0].id} crnOutStn[0]: #堆垛机出库站点 staNo: 104 row: 8 bay: 1 lev: 1 devpPlcId: ${wcs-slave.devp[0].id} ip: 10.10.10.11 crnInStn[0]: #堆垛机入库站点1 staNo: 104 row: 8 bay: 1 lev: 1 devpPlcId: ${wcs-slave.devp[0].id} id: 3 slot: 0 demo: false crn[3]: #堆垛机4 rack: 0 offset: 2 #偏移量,当堆垛机站点列号=1时,偏移量=2 port: 102 crnOutStn[1]: #堆垛机出库站点 staNo: 107 row: 12 bay: 1 lev: 1 devpPlcId: ${wcs-slave.devp[0].id} crnOutStn[0]: #堆垛机出库站点 staNo: 106 row: 11 bay: 1 lev: 1 devpPlcId: ${wcs-slave.devp[0].id} ip: 10.10.10.11 crnInStn[0]: #堆垛机入库站点1 staNo: 106 row: 11 bay: 1 lev: 1 devpPlcId: ${wcs-slave.devp[0].id} id: 4 slot: 0 demo: false src/main/resources/application.yml
@@ -8,7 +8,7 @@ name: @pom.build.finalName@ datasource: driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver url: jdbc:sqlserver://192.168.4.42:1433;databasename=ynhfasrs url: jdbc:sqlserver://127.0.0.1:1433;databasename=ynhfasrs username: sa password: sa@123 mvc: @@ -52,7 +52,7 @@ url: 10.10.10.222:2410 # 入库任务申请接口 inboundTaskApplyPath: api/StereoscopicCallBack/AcceptTaskStatus # 任务开始时,WCS回调WMS # 任务开始时,WCS回调WMSz taskStatusFeedbackPath: api/StereoscopicCallBack/TaskExecCallback # 任务完成结束时,WCS回调WMS TaskExecCallback: api/StereoscopicCallBack/TaskExecFinishedCallback