src/main/java/com/zy/asrs/entity/BasDevp.java
@@ -234,6 +234,10 @@ @TableField("sta_err") private Integer staErr; @ApiModelProperty(value= "异常码") @TableField("sta_err_msg") private String staErrMsg; public String getIoTime$(){ if (Cools.isEmpty(this.ioTime)){ src/main/java/com/zy/asrs/entity/TaskWrk.java
@@ -186,7 +186,7 @@ @TableField("origin_start_point") private String originStartPoint; @ApiModelProperty(value = "原始起点") @ApiModelProperty(value = "原始终点") @TableField("origin_target_point") private String originTargetPoint; src/main/java/com/zy/asrs/entity/param/Result.java
@@ -4,13 +4,11 @@ @Data public class Result { private Long ShelfUnitId; //分配的货位ID private String Alley; //分配的货位所属巷道 private Long TaskId; //分配的货位所属任务ID private String TaskNo; //分配的货位所属任务编号 private int Row; //分配的货位所属排 private int Floor; //分配的货位所属层 private int Column; //分配的货位所属列 private Integer taskNo; //分配的货位所属任务编号 //站位编号 用户是从哪个口入的 private Integer TerminalNo; private String shelfUnitId; //托盘码 private String barcode; } src/main/java/com/zy/asrs/entity/param/StorageEscalationParam.java
@@ -1,13 +1,20 @@ package com.zy.asrs.entity.param; import com.alibaba.fastjson.annotation.JSONField; import lombok.Data; @Data public class StorageEscalationParam { //托盘码 private String BoxNo; private String boxNo; //执行状态 0:成功 1:失败 private Integer WCSStatus=0; //错误信息 具体的错误信息(超高,超重等) private String WCSErrorMessage=""; //源站点 private Integer wcsSourceStaNo; //空板满板 1.满板 2.空板 private Integer wcsIoType; } src/main/java/com/zy/asrs/mapper/TaskWrkMapper.java
@@ -13,7 +13,7 @@ @Repository public interface TaskWrkMapper extends BaseMapper<TaskWrk> { TaskWrk selectByTaskNo(String taskNo); TaskWrk selectByTaskNo(String taskNo); TaskWrk selectByStartPoint(@Param("startPoint") String startPoint); TaskWrk selectByWrkNo(Integer wrkNo); src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -131,38 +131,6 @@ } Short workNo = staProtocol.getWorkNo(); Short stano = staProtocol.getStaNo(); // 尺寸检测异常 boolean back = false; String errMsg = ""; if (staProtocol.isFrontErr()) { errMsg = "前超限"; back = true; } if (!back && staProtocol.isBackErr()) { errMsg = "后超限"; back = true; } if (!back && staProtocol.isHighErr()) { errMsg = "高超限"; back = true; } if (!back && staProtocol.isLeftErr()) { errMsg = "左超限"; back = true; } if (!back && staProtocol.isRightErr()) { errMsg = "右超限"; back = true; } if (!back && staProtocol.isWeightErr()) { errMsg = "超重"; back = true; } if (!back && staProtocol.isBarcodeErr()) { errMsg = "扫码失败"; back = true; } // 判断是否满足入库条件 if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() @@ -174,25 +142,38 @@ continue; } String BoxNo = barcodeThread.getBarcode(); TaskWrk taskWrk1 = taskWrkService.selectOne(new EntityWrapper<TaskWrk>().eq("barcode", BoxNo)); if (!Cools.isEmpty(taskWrk1)) { log.info("托盘码:" + BoxNo + "任务档存在"); if (taskWrk1.getIoType() == 1 && taskWrk1.getStartPoint().equals(staProtocol.getSiteId().toString())) { StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>() .eq("crn_no", taskWrk1.getCrnNo()).eq("type_no", 1).eq("stn_no", staProtocol.getSiteId())); if (Cools.isEmpty(staDesc)) { return; } else { continue; if (BoxNo.equals("00000000")) { storageEscalationParam.setWCSStatus(1); storageEscalationParam.setWCSErrorMessage("没有扫到码"); BasDevp basDevp= basDevpService.selectOne(new EntityWrapper<BasDevp>() .eq("dev_no",staProtocol.getSiteId())); if(Cools.isEmpty(basDevp)){ log.error("扫码失败并且没有找到该站点---"+staProtocol.getSiteId()); }else{ basDevp.setStaErr(1);//没有扫到码 basDevp.setStaErrMsg("没有扫到码!"); basDevpService.updateById(basDevp); } continue; }else{ TaskWrk taskWrk1 = taskWrkService.selectOne(new EntityWrapper<TaskWrk>().eq("barcode", BoxNo)); if (!Cools.isEmpty(taskWrk1)) { log.info("托盘码:" + BoxNo + "任务档存在"); if (taskWrk1.getIoType() == 1 && taskWrk1.getStartPoint().equals(staProtocol.getSiteId().toString())) { StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>() .eq("crn_no", taskWrk1.getCrnNo()).eq("type_no", 1).eq("stn_no", staProtocol.getSiteId())); if (Cools.isEmpty(staDesc)) { return; } else { continue; } } } } if (back) { storageEscalationParam.setWCSStatus(1); storageEscalationParam.setWCSErrorMessage(storageEscalationParam.getWCSErrorMessage() + errMsg); } log.info("组托入库={}", storageEscalationParam); storageEscalationParam.setBoxNo(BoxNo); storageEscalationParam.setWcsIoType(1);//满板 storageEscalationParam.setWcsSourceStaNo(staProtocol.getSiteId()); String response = ""; Boolean success = false; try { @@ -203,84 +184,52 @@ .build() .doPost(); JSONObject jsonObject = JSON.parseObject(response); if (back) { if (staProtocol.getWorkNo() >= 9801 && staProtocol.getWorkNo() <= 9825) { staProtocol.setStaNo((short) 105); } else if (staProtocol.getWorkNo() >= 9826 && staProtocol.getWorkNo() <= 9850) { staProtocol.setStaNo((short) 107); } else if (staProtocol.getWorkNo() >= 9851 && staProtocol.getWorkNo() <= 9875) { staProtocol.setStaNo((short) 109); } else { staProtocol.setStaNo((short) 110); } devpThread.setPakMk(staProtocol.getSiteId(), false); MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); } else { if (!Cools.isEmpty(response) && !Cools.isEmpty(jsonObject.get("ReturnStatus")) && jsonObject.get("ReturnStatus").equals(0) && !Cools.isEmpty(jsonObject.get("Result").toString())) { Result result = JSON.parseObject(jsonObject.get("Result").toString(), Result.class); // 创新一个入库工作档 TaskWrk taskWrk = taskWrkService.selectByTaskNo(result.getTaskNo()); if (!Cools.isEmpty(response) && !Cools.isEmpty(jsonObject.get("ReturnStatus")) && jsonObject.get("ReturnStatus").equals(0) && !Cools.isEmpty(jsonObject.get("Result").toString())) { Result result = JSON.parseObject(jsonObject.get("Result").toString(), Result.class); // 创新一个入库工作档 TaskWrk taskWrk = taskWrkService.selectByTaskNo(result.getTaskNo()+""); if (Cools.isEmpty(taskWrk)) { taskWrk = createTask1(result, BoxNo,staProtocol.getSiteId()); if (Cools.isEmpty(taskWrk)) { taskWrk = createTask1(result, BoxNo); if (Cools.isEmpty(taskWrk)) { log.error("库位异常,库位号:={}", taskWrk.getOriginTargetPoint()); } else { taskWrkService.insert(taskWrk); StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>() .eq("crn_no", taskWrk.getCrnNo()).eq("type_no", 1).eq("stn_no", staProtocol.getSiteId())); staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue()); 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()); Boolean bool = false; try { //开始上报,任务开始时,WCS回调WMS response = new HttpHandler.Builder() .setUri(wmsUrl) .setPath(taskStatusFeedbackPath) .setJson(JSON.toJSONString(hashMap)) .build() .doPost(); JSONObject jsonObject1 = JSON.parseObject(response); if (jsonObject1.get("ReturnStatus").equals(0)) { bool = true; } } catch (Exception e) { }finally { apiLogService.save("wcs开始入库任务上报wms" , wmsUrl + TaskExecCallback , null , "127.0.0.1" , JSON.toJSONString(hashMap) , response , bool ); } } log.error("库位异常,库位号:={}", taskWrk.getOriginTargetPoint()); } else { // staProtocol.setWorkNo((short) 9991); if (staProtocol.getWorkNo() >= 9801 && staProtocol.getWorkNo() <= 9825) { staProtocol.setStaNo((short) 105); } else if (staProtocol.getWorkNo() >= 9826 && staProtocol.getWorkNo() <= 9850) { staProtocol.setStaNo((short) 107); } else if (staProtocol.getWorkNo() >= 9851 && staProtocol.getWorkNo() <= 9875) { staProtocol.setStaNo((short) 109); } else { staProtocol.setStaNo((short) 110); } devpThread.setPakMk(staProtocol.getSiteId(), false); taskWrkService.insert(taskWrk); StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>() .eq("crn_no", taskWrk.getCrnNo()).eq("type_no", 1).eq("stn_no", staProtocol.getSiteId())); staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue()); 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()); Boolean bool = false; try { //开始上报,任务开始时,WCS回调WMS response = new HttpHandler.Builder() .setUri(wmsUrl) .setPath(taskStatusFeedbackPath) .setJson(JSON.toJSONString(hashMap)) .build() .doPost(); JSONObject jsonObject1 = JSON.parseObject(response); } else { // staProtocol.setWorkNo((short) 9991); staProtocol.setStaNo(inSta.getBackSta().shortValue()); devpThread.setPakMk(staProtocol.getSiteId(), false); MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); if (jsonObject1.get("ReturnStatus").equals(0)) { bool = true; } } catch (Exception e) { } finally { apiLogService.save("wcs开始入库任务上报wms" , wmsUrl + TaskExecCallback , null , "127.0.0.1" , JSON.toJSONString(hashMap) , response , bool ); } } } } } catch (Exception e) { @@ -423,13 +372,13 @@ continue; } String mbz=taskWrk.getTargetPoint().substring(5); String mbz = taskWrk.getTargetPoint().substring(5); HashMap<String, Object> hashMap = new HashMap<>(); hashMap.put("taskNo",taskWrk.getTaskNo());//wms任务号 hashMap.put("sourceStaNo",staDetl.getDevNo());//源站点 hashMap.put("staNo",Integer.parseInt(mbz)+"");//目标站 hashMap.put("locNo",taskWrk.getTargetPoint());//目标库位 hashMap.put("taskNo", taskWrk.getTaskNo());//wms任务号 hashMap.put("sourceStaNo", staDetl.getDevNo());//源站点 hashMap.put("staNo", Integer.parseInt(mbz) + "");//目标站 hashMap.put("locNo", taskWrk.getTargetPoint());//目标库位 String response = ""; Boolean bool = false; try { @@ -442,7 +391,7 @@ .doPost(); JSONObject jsonObject = JSON.parseObject(response); if(jsonObject.get("code").equals(200)){ if (jsonObject.get("code").equals(200)) { bool = true; // taskWrk.setStatus(TaskStatusType.DISTRIBUTE.id);//派发状态 taskWrk.setAssignTime(new Date());//派发时间 @@ -452,7 +401,7 @@ taskWrk.setModiUser(9988L); } } catch (Exception e) { }finally { } finally { apiLogService.save("wcs派发入库任务给RCS" , wcsUrl + wcsInboundTaskApplyPath , null @@ -521,13 +470,13 @@ break; } String mbz=taskWrk.getTargetPoint().substring(5); String mbz = taskWrk.getTargetPoint().substring(5); HashMap<String, Object> hashMap = new HashMap<>(); hashMap.put("taskNo",taskWrk.getTaskNo());//wms任务号 hashMap.put("sourceStaNo",staDetl.getDevNo());//源站点 hashMap.put("staNo",Integer.parseInt(mbz)+"");//目标站 hashMap.put("locNo",taskWrk.getTargetPoint());//目标库位 hashMap.put("taskNo", taskWrk.getTaskNo());//wms任务号 hashMap.put("sourceStaNo", staDetl.getDevNo());//源站点 hashMap.put("staNo", Integer.parseInt(mbz) + "");//目标站 hashMap.put("locNo", taskWrk.getTargetPoint());//目标库位 String response = ""; Boolean bool = false; try { @@ -540,7 +489,7 @@ .doPost(); JSONObject jsonObject = JSON.parseObject(response); if(jsonObject.get("code").equals(200)){ if (jsonObject.get("code").equals(200)) { bool = true; // taskWrk.setStatus(TaskStatusType.DISTRIBUTE.id);//派发状态 taskWrk.setAssignTime(new Date());//派发时间 @@ -550,7 +499,7 @@ taskWrk.setModiUser(9988L); } } catch (Exception e) { }finally { } finally { apiLogService.save("wcs派发出库任务给RCS" , wcsUrl + wcsInboundTaskApplyPath , null @@ -1140,35 +1089,21 @@ return response; } private TaskWrk createTask1(Result result, String barcode) { String locNo = Utils.Fusion(result.getRow(), result.getFloor(), result.getColumn()); private TaskWrk createTask1(Result result, String barcode,Integer devNo) { Date now = new Date(); TaskWrk taskWrk = new TaskWrk(); int workNo1 = commonService.getWorkNo(WorkNoType.PAKIN.type);//获取入库工作号 taskWrk.setTaskNo(result.getTaskNo());//任务号 taskWrk.setWrkNo(workNo1); // int workNo1 = commonService.getWorkNo(WorkNoType.PAKIN.type);//获取入库工作号 taskWrk.setTaskNo(result.getTaskNo()+"");//任务号 taskWrk.setWrkNo(result.getTaskNo()); taskWrk.setStatus(TaskStatusType.DISTRIBUTE.id);//任务状态:派发 taskWrk.setCreateTime(now); taskWrk.setIoType(1);//任务类型 taskWrk.setIoPri(13);//优先级 taskWrk.setBarcode(barcode);//条码 LocMast locMast = locMastService.selectByLocNo(locNo); taskWrk.setCrnNo(locMast.getCrnNo()); taskWrk.setTargetPoint(locNo); taskWrk.setStartPoint("116"); if (result.getAlley().equals("1")) { taskWrk.setCrnNo(1); } else { taskWrk.setCrnNo(2); } if (taskWrk.getIoType() == 1) { taskWrk.setWrkSts(2); if (!Cools.isEmpty(taskWrk.getTargetPoint())) { taskWrk.setOriginTargetPoint(taskWrk.getTargetPoint()); } } taskWrk.setTargetPoint(devNo+"");//站点终点 taskWrk.setStartPoint(devNo+"");//站点起点 taskWrk.setOriginStartPoint("");//源库位 taskWrk.setOriginTargetPoint(result.getShelfUnitId());//目标库位 return taskWrk; } src/main/java/com/zy/asrs/task/TaskLogScheduler.java
@@ -53,8 +53,8 @@ private String movePath; @Value("${wms.inboundTaskApplyPath}") private String inboundTaskApplyPath; @Value("${wms.TaskExecCallback}") private String TaskExecCallback; @Value("${wms.taskLeave}") private String taskLeave; @Value("${wms.taskStatusFeedbackPath}") private String taskStatusFeedbackPath; @@ -68,18 +68,58 @@ List<TaskWrk> taskWrkList = taskWrkService.selectList(new EntityWrapper<TaskWrk>().in("wrk_sts", 7,18)); for (TaskWrk taskWrk : taskWrkList) { TaskWrkLog taskWrkLog = new TaskWrkLog(taskWrk); if(taskWrkLog.getIoType().equals(2)){ taskWrkLog.setWrkSts(19); }else{ if(taskWrkLog.getIoType().equals(1)){ taskWrkLog.setWrkSts(8); taskWrkLog.setModiTime(new Date()); if (!wrkLogService.insert(taskWrkLog)) { throw new CoolException("转历史档失败" + taskWrkLog); } if (!taskWrkService.deleteById(taskWrk)) { throw new CoolException("任务档删除失败" + taskWrkLog); } }else if(taskWrkLog.getIoType().equals(2)){ BasDevp basDevp = basDevpService.selectOne(new EntityWrapper<BasDevp>().eq("wrk_no",taskWrk.getWrkNo())); if(basDevp==null){ HashMap<Object, Object> headParam = new HashMap<>(); String response = ""; Boolean bool = false; try { headParam.put("TaskNo", taskWrk.getTaskNo()); log.info("wcs"+"出库搬离任务上报wms={}", taskWrk); response = new HttpHandler.Builder() // .setHeaders(headParam) .setUri(wmsUrl) .setPath(taskLeave) .setJson(JSON.toJSONString(headParam)) .build() .doPost(); JSONObject jsonObject = JSON.parseObject(response); if(jsonObject.get("ReturnStatus").equals(0)){ } } catch (Exception e){ log.error("wcs搬离出库给wms失败{},返回值={}", taskWrk, response); }finally { apiLogService.save("wcs搬离出库给wms" , wmsUrl + taskLeave , null , "127.0.0.1" , JSON.toJSONString(headParam) , response , bool ); } taskWrkLog.setWrkSts(19); taskWrkLog.setModiTime(new Date()); if (!wrkLogService.insert(taskWrkLog)) { throw new CoolException("转历史档失败" + taskWrkLog); } if (!taskWrkService.deleteById(taskWrk)) { throw new CoolException("任务档删除失败" + taskWrkLog); } } } taskWrkLog.setModiTime(new Date()); if (!wrkLogService.insert(taskWrkLog)) { throw new CoolException("转历史档失败" + taskWrkLog); } if (!taskWrkService.deleteById(taskWrk)) { throw new CoolException("任务档删除失败" + taskWrkLog); } } } } src/main/java/com/zy/asrs/task/TaskMastScheduler.java
@@ -65,7 +65,7 @@ if (taskWrk.getWrkSts() == 6) {//入库完成 headParam.put("Result", 1); s="入库完成"; taskWrk.setWrkSts(7);//入库任务转历史档7--》8 taskWrk.setStatus(7);//入库任务转历史档6--》7 } else if (taskWrk.getWrkSts() == 16) {//出库完成-待搬离 headParam.put("Result", 1); s="出库完成-待搬离"; src/main/java/com/zy/core/MainProcess.java
@@ -50,7 +50,7 @@ // 入出库 ===>> 调用RCS进行入出库 mainService.crnIoExecute(); // 出库 ===>> 堆垛机出库站到出库站 mainService.crnStnToOutStn(); // mainService.crnStnToOutStn(); // 入库 ===>> 执行对工作档的完成操作 // mainService.storeFinished(); src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -48,12 +48,7 @@ private Map<Integer, StaProtocol> station = new ConcurrentHashMap<>(); private short heartBeatVal = 1; public static final ArrayList<Integer> staNos1 = new ArrayList<Integer>() {{ add(100);add(101);add(102);add(103);add(104); add(105);add(106);add(107);add(108);add(109); add(110);add(111);add(112);add(113);add(114); add(115);add(116);add(117);add(118);add(119); add(120);add(121);add(122);add(123);add(124); add(125);add(1001);add(1002);add(1003);add(1004); add(100);add(200); }}; /*public static final ArrayList<Integer> staNos2 = new ArrayList<Integer>() {{ add(200);add(201);add(202);add(203); @@ -209,7 +204,7 @@ // updateIoMode(); ArrayList<Integer> staNos = getStaNo(); int staNoSize = staNos.size(); OperateResultExOne<byte[]> result = siemensS7Net.Read("DB101.0", (short) (staNoSize*8)); OperateResultExOne<byte[]> result = siemensS7Net.Read("DB1000.0", (short) (staNoSize*8)); if (result.IsSuccess) { for (int i = 0; i < staNoSize; i++) { Integer siteId = staNos.get(i); // 站点编号 @@ -241,9 +236,9 @@ if (slave.getId() == 1) { //条码 //Thread.sleep(200); OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB101.848.0", (short) 8); OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB1000.100.0", (short) 16); if (result2.IsSuccess) { for (int i = 0; i < 1; i++) { for (int i = 0; i < 2; i++) { String barcode = siemensS7Net.getByteTransform().TransString(result2.Content, i * 8, 8, "UTF-8"); BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, i + 1); if (!Cools.isEmpty(barcodeThread) && !barcodeThread.getBarcode().equals(barcode)) { src/main/resources/application-prod.yml
@@ -1,165 +1,33 @@ wcs-slave: devp[0]: #输送线 id: 1 ip: 10.10.10.130 ip: 10.10.12.100 rack: 0 port: 102 slot: 0 emptyInSta[0]: #空板入库口0 staNo: 116 staNo: 100 emptyInSta[1]: #空板入库口2 staNo: 200 inSta[0]: #入库口1 staNo: 116 backSta: 110 staNo: 100 backSta: 100 barcode: ${wcs-slave.barcode[0].id} inSta[1]: #入库口2 staNo: 200 backSta: 200 barcode: ${wcs-slave.barcode[1].id} outSta[0]: #出库口1 staNo: 105 staNo: 100 outSta[1]: #出库口2 staNo: 107 outSta[2]: #出库口2 staNo: 109 outSta[3]: #出库口1 staNo: 110 staNo: 200 barcode[0]: #条码扫描仪 port: 51236 ip: 172.17.91.39 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[1]: #条码扫描仪 port: 51236 ip: 172.17.91.34 id: 2 src/main/resources/application.yml
@@ -50,15 +50,17 @@ #url: 10.32.53.195:8080 # WMS系统ip # url: 10.210.157.109:8090 url: 127.0.0.1:2410 url: 127.0.0.1:8081 # 入库任务申请接口 #inboundTaskApplyPath: api/InterFace/inboundTaskApply inboundTaskApplyPath: api/StereoscopicCallBack/AcceptTaskStatus inboundTaskApplyPath: rpc/pakin/loc/v1 # inboundTaskApplyPath: open/asrs/inboundTaskApply # 任务开始时,WCS回调WMS taskStatusFeedbackPath: api/StereoscopicCallBack/TaskExecCallback # 任务完成结束时,WCS回调WMS TaskExecCallback: api/StereoscopicCallBack/TaskExecFinishedCallback taskStatusFeedbackPath: open/asrs/start/task # 任务搬到目的地,WCS回调WMS TaskExecCallback: open/asrs/destination/task # 任务货物离开出库口 taskLeave : open/asrs/leave/task # 移库申请接口 movePath: api/InterFace/get_InterFace_TestStorage wcs: src/main/resources/mapper/BasDevpMapper.xml
@@ -46,6 +46,7 @@ <result column="agv_start_place" property="agvStartPlace" /> <result column="agv_target_place" property="agvTargetPlace" /> <result column="sta_err" property="staErr" /> <result column="sta_err_msg" property="staErrMsg" /> </resultMap>