自动化立体仓库 - WMS系统
#
lty
1 天以前 585023c7abdd062c51ecf33b6b2119f3a4fbf993
src/main/java/com/zy/asrs/task/handler/WCSReportHandler.java
@@ -10,6 +10,7 @@
import com.zy.asrs.service.WrkMastService;
import com.zy.asrs.task.AbstractHandler;
import com.zy.asrs.task.core.ReturnT;
import com.zy.asrs.utils.Utils;
import com.zy.common.utils.HttpHandler;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -37,6 +38,8 @@
    private String inDevp;
    @Value("${wcs-slave.outDevp}")
    private String outDevp;
    @Value("${wcs-slave.warehouse}")
    private String warehouse;
    @Autowired
    private ApiLogService apiLogService;
    @Autowired
@@ -57,38 +60,45 @@
        task.setTaskId(wrkMast.getWrkNo().toString());
        task.setBarCode(wrkMast.getBarcode());
//        task.setOrder(i);
        task.setOrder((int) (100 - wrkMast.getIoPri()));
        task.setOrder(wrkMast.getIoPri().intValue());
        String LocNo = null;
        String sourceLocNo = null;
        //优先级排序 15.出库>14.入库>13.空板出库>12.空板入库>11.移库
        if(wrkMast.getIoType() == 1 || wrkMast.getIoType() == 53 || wrkMast.getIoType() == 57){//入库
            workIssuedResult.setPriorityCode(14);//优先级
            task.setTaskType(0);//入库
            task.setStartNode(inDevp);
            task.setEndNode(wrkMast.getLocNo());//目标库位
            LocNo = Utils.getLocNo(Utils.getRow(wrkMast.getLocNo()),Utils.getBay(wrkMast.getLocNo()),Utils.getLev(wrkMast.getLocNo()));
            task.setEndNode(LocNo);//目标库位
        }else if(wrkMast.getIoType() == 10 ){//空板入库
            workIssuedResult.setPriorityCode(12);//优先级
            task.setTaskType(0);//入库
            task.setStartNode(inDevp);
            task.setEndNode(wrkMast.getLocNo());//目标库位
            LocNo = Utils.getLocNo(Utils.getRow(wrkMast.getLocNo()),Utils.getBay(wrkMast.getLocNo()),Utils.getLev(wrkMast.getLocNo()));
            task.setEndNode(LocNo);//目标库位
        }else if(wrkMast.getIoType() == 101 || wrkMast.getIoType() == 103 || wrkMast.getIoType() == 107){//出库
            workIssuedResult.setPriorityCode(15);//优先级
            task.setTaskType(1);//出库
            task.setStartNode(wrkMast.getSourceLocNo());//源库位
            sourceLocNo = Utils.getLocNo(Utils.getRow(wrkMast.getSourceLocNo()),Utils.getBay(wrkMast.getSourceLocNo()),Utils.getLev(wrkMast.getSourceLocNo()));
            task.setStartNode(sourceLocNo);//源库位
            task.setEndNode(outDevp);
        }else if(wrkMast.getIoType() == 11){//移库
            workIssuedResult.setPriorityCode(11);//优先级
            task.setTaskType(2);//移库
            task.setStartNode(wrkMast.getSourceLocNo());//源库位
            task.setEndNode(wrkMast.getLocNo());//目标库位
            sourceLocNo = Utils.getLocNo(Utils.getRow(wrkMast.getSourceLocNo()),Utils.getBay(wrkMast.getSourceLocNo()),Utils.getLev(wrkMast.getSourceLocNo()));
            LocNo = Utils.getLocNo(Utils.getRow(wrkMast.getLocNo()),Utils.getBay(wrkMast.getLocNo()),Utils.getLev(wrkMast.getLocNo()));
            task.setStartNode(sourceLocNo);//源库位
            task.setEndNode(LocNo);//目标库位
        } else {//空板出库
            workIssuedResult.setPriorityCode(13);//优先级
            task.setTaskType(1);//出库
            task.setStartNode(wrkMast.getSourceLocNo());//源库位
            sourceLocNo = Utils.getLocNo(Utils.getRow(wrkMast.getSourceLocNo()),Utils.getBay(wrkMast.getSourceLocNo()),Utils.getLev(wrkMast.getSourceLocNo()));
            task.setStartNode(sourceLocNo);//源库位
            task.setEndNode(outDevp);
        }
        tasks.add(task);
@@ -133,11 +143,13 @@
        return null;
    }
    //任务优先级调整 调用wcs接口 通知wcs
    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.setTaskId(wrkMast.getWrkNo().toString()); // 任务号
        wrkPriority.setWarehouse(warehouse); // 仓库编码
        wrkPriority.setPriorityCode(wrkMast.getIoPri().intValue()); // 优先级
        wrkPriority.setMsgTime(dateFormat.format(date)); // 调整时间
@@ -156,18 +168,17 @@
                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失败");
                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",
                        "wms调整优先级下发给wcs",
                        url + "/" + workIssued,
                        null,
                        "127.0.0.1",