| | |
| | | import com.core.exception.CoolException; |
| | | import com.zy.asrs.entity.WrkMast; |
| | | import com.zy.asrs.entity.result.WorkIssuedResult; |
| | | import com.zy.asrs.entity.result.WrkPriority; |
| | | import com.zy.asrs.service.ApiLogService; |
| | | import com.zy.asrs.service.WrkMastService; |
| | | import com.zy.asrs.task.AbstractHandler; |
| | | import com.zy.asrs.task.core.ReturnT; |
| | | import com.zy.common.constant.MesConstant; |
| | | import com.zy.common.utils.HttpHandler; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | |
| | | private String url; |
| | | @Value("${wcs-slave.workIssued}") |
| | | private String workIssued; |
| | | @Value("${wcs-slave.priority}") |
| | | private String priority; |
| | | @Value("${wcs-slave.inDevp}") |
| | | private String inDevp; |
| | | @Value("${wcs-slave.outDevp}") |
| | |
| | | WorkIssuedResult.Tasks task = new WorkIssuedResult.Tasks(); |
| | | task.setTaskId(wrkMast.getWrkNo().toString()); |
| | | task.setBarCode(wrkMast.getBarcode()); |
| | | task.setOrder(i); |
| | | // task.setOrder(i); |
| | | task.setOrder((int) (100 - wrkMast.getIoPri())); |
| | | |
| | | //优先级排序 15.出库>14.入库>13.空板出库>12.空板入库>11.移库 |
| | | if(wrkMast.getIoType() == 1 ){//入库 |
| | | if(wrkMast.getIoType() == 1 || wrkMast.getIoType() == 53 || wrkMast.getIoType() == 57){//入库 |
| | | workIssuedResult.setPriorityCode(14);//优先级 |
| | | task.setTaskType(0);//入库 |
| | | task.setStartNode(inDevp); |
| | | task.setEndNode(wrkMast.getLocNo());//目标库位 |
| | | |
| | | |
| | | }else if(wrkMast.getIoType() == 10 ){//空板入库 |
| | | workIssuedResult.setPriorityCode(12);//优先级 |
| | | task.setTaskType(0);//入库 |
| | | task.setStartNode("200"); |
| | | task.setStartNode(inDevp); |
| | | task.setEndNode(wrkMast.getLocNo());//目标库位 |
| | | |
| | | }else if(wrkMast.getIoType() == 101 ){//出库 |
| | | }else if(wrkMast.getIoType() == 101 || wrkMast.getIoType() == 103 || wrkMast.getIoType() == 107){//出库 |
| | | workIssuedResult.setPriorityCode(15);//优先级 |
| | | task.setTaskType(1);//出库 |
| | | task.setStartNode(wrkMast.getSourceLocNo());//源库位 |
| | |
| | | workIssuedResult.setPriorityCode(13);//优先级 |
| | | task.setTaskType(1);//出库 |
| | | task.setStartNode(wrkMast.getSourceLocNo());//源库位 |
| | | task.setEndNode("100"); |
| | | task.setEndNode(outDevp); |
| | | } |
| | | tasks.add(task); |
| | | workIssuedResult.setTasks(tasks); |
| | |
| | | |
| | | return null; |
| | | } |
| | | |
| | | public ReturnT<String> notice(WrkMast wrkMast) { |
| | | WrkPriority wrkPriority = new WrkPriority(); |
| | | Date date = new Date(); |
| | | DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| | | wrkPriority.setTaskId(wrkMast.getWrkNo().toString()); // 组号 |
| | | wrkPriority.setPriorityCode(wrkMast.getIoPri().intValue()); // 优先级 |
| | | wrkPriority.setMsgTime(dateFormat.format(date)); // 调整时间 |
| | | |
| | | String response = ""; |
| | | boolean success = false; |
| | | try { |
| | | response = new HttpHandler.Builder() |
| | | .setUri(url) |
| | | .setPath(priority) |
| | | .setJson(JSON.toJSONString(wrkPriority)) |
| | | .build() |
| | | .doPost(); |
| | | JSONObject jsonObject = JSON.parseObject(response); |
| | | if (jsonObject.getInteger("returnStatus").equals(0)) { |
| | | success = true; |
| | | wrkMast.setWrkSts(1L); |
| | | wrkMastService.updateById(wrkMast); |
| | | } else { |
| | | log.error("wms下发任务给wcs失败!!!url:{};request:{};response:{}", url + "/" + workIssued, JSON.toJSONString(wrkPriority), response); |
| | | throw new CoolException("wms下发任务给wcs失败"); |
| | | } |
| | | } catch (Exception e) { |
| | | log.error("fail", e); |
| | | // TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | return FAIL.setMsg(e.getMessage()); |
| | | } finally { |
| | | try { |
| | | // 保存接口日志 |
| | | apiLogService.save( |
| | | "wms下发任务给wcs", |
| | | url + "/" + workIssued, |
| | | null, |
| | | "127.0.0.1", |
| | | JSON.toJSONString(wrkPriority), |
| | | response, |
| | | success |
| | | ); |
| | | } catch (Exception e) { |
| | | log.error("", e); |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | } |