自动化立体仓库 - WMS系统
zwl
6 天以前 0bedfead3ffe6d2251d7428d772de0a4df6b5201
src/main/java/com/zy/asrs/task/handler/WCSReportHandler.java
@@ -2,6 +2,7 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.core.common.Cools;
import com.core.exception.CoolException;
import com.zy.asrs.entity.WrkMast;
import com.zy.asrs.entity.result.WorkIssuedResult;
@@ -40,7 +41,7 @@
    @Autowired
    private WrkMastService wrkMastService;
    public ReturnT<String> start(WrkMast wrkMast,int i) {
    public synchronized ReturnT<String> start(WrkMast wrkMast,int i) {
        WorkIssuedResult workIssuedResult = new WorkIssuedResult();
        Date date = new Date();
@@ -52,22 +53,44 @@
        List<WorkIssuedResult.Tasks> tasks = new ArrayList<>();
        WorkIssuedResult.Tasks task = new WorkIssuedResult.Tasks();
        task.setTaskId(wrkMast.getWrkNo().toString());
        if(Cools.isEmpty(wrkMast.getMemo())){
            task.setTaskId(wrkMast.getWrkNo().toString()+"-"+new Date().getTime());
            wrkMast.setMemo(wrkMast.getWrkNo().toString()+"-"+new Date().getTime());
            wrkMastService.updateById(wrkMast);
        }else {
            task.setTaskId(wrkMast.getMemo());
        }
        task.setBarCode(wrkMast.getBarcode());
        task.setOrder(i);
        //优先级排序 15.出库>14.入库>13.空板出库>12.空板入库>11.移库
        if(wrkMast.getIoType() == 1 ){//入库
            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.setEndNode(wrkMast.getLocNo());//目标库位
        }else if(wrkMast.getIoType() == 101 ){//出库
            workIssuedResult.setPriorityCode(15);//优先级
            task.setTaskType(1);//出库
            task.setStartNode(wrkMast.getSourceLocNo());//源库位
            task.setEndNode(outDevp);
        }else{//空板出库
        }else if(wrkMast.getIoType() == 11){//移库
            workIssuedResult.setPriorityCode(11);//优先级
            task.setTaskType(2);//移库
            task.setStartNode(wrkMast.getSourceLocNo());//源库位
            task.setEndNode(wrkMast.getLocNo());//目标库位
        } else {//空板出库
            workIssuedResult.setPriorityCode(13);//优先级
            task.setTaskType(1);//出库
            task.setStartNode(wrkMast.getSourceLocNo());//源库位
            task.setEndNode("100");