#
1
22 小时以前 1bfa44facba36747d1caffab6bff986ccd7f36a9
src/main/java/com/zy/asrs/entity/param/AgvTaskAssignmentParam.java
@@ -35,15 +35,36 @@
        switch (basAgvMast.getIoType()){
            case 0:
                getAgvTaskAssignmentParam0(basAgvMast);
                if(basAgvMast.getFloorNo() == 1){
                    taskTyp = "1FQ3";
                }else if(basAgvMast.getFloorNo() == 2){
                    taskTyp = "2FRK";
                }else{
                    taskTyp = "4FRK";
                }
                ctnrTyp = "1";
                return;
            case 1:
                getAgvTaskAssignmentParam1(basAgvMast);
                taskTyp = basAgvMast.getDevpId()==1?"1FYK":"";
                ctnrTyp = "1";
                return;
            case 2:
                getAgvTaskAssignmentParam2(basAgvMast);
                if(basAgvMast.getFloorNo() == 1){
                    taskTyp = "1FQ1";
                }else if(basAgvMast.getFloorNo() == 2){
                    taskTyp = "2FCK";
                }else{
                    taskTyp = "4FCK";
                }
                ctnrTyp = "1";
                return;
            case 3:
                getAgvTaskAssignmentParam3(basAgvMast);
//                taskTyp = "1FQ4";
                ctnrTyp = "1";
                return;
            default:
                return;
@@ -53,67 +74,82 @@
    public void getAgvTaskAssignmentParam0(BasAgvMast basAgvMast) {
        BasAgvLocNoService basAgvLocNoService = SpringUtils.getBean(BasAgvLocNoService.class);
        this.reqCode = basAgvMast.getTaskNo()+"-"+basAgvMast.getTimestamp();
        SnowflakeIdWorker snowflakeIdWorker = SpringUtils.getBean(SnowflakeIdWorker.class);
        long nextId = snowflakeIdWorker.nextId();
        this.taskCode = String.valueOf(nextId);
        PositionCodePathClass positionCodePathClassEnd = new PositionCodePathClass();
        BasAgvLocNo basAgvLocNoSou = basAgvLocNoService.selectOne(new EntityWrapper<BasAgvLocNo>().eq("loc_no", basAgvMast.getSourceLocNo()));
        positionCodePathClassEnd.setPositionCode(basAgvLocNoSou.getAgvLocNo());
        this.positionCodePath.add(positionCodePathClassEnd);
        PositionCodePathClass positionCodePathClassSou = new PositionCodePathClass();
        BasAgvLocNo basAgvLocNoEnd = basAgvLocNoService.selectOne(new EntityWrapper<BasAgvLocNo>().eq("sta_no", basAgvMast.getStaNo()));
        positionCodePathClassSou.setPositionCode(basAgvLocNoEnd.getAgvLocNo());
        this.positionCodePath.add(positionCodePathClassSou);
        this.reqCode = basAgvMast.getTaskNo() + "-" + basAgvMast.getTimestamp();
        this.taskCode = basAgvMast.getTaskNo() + "-" + basAgvMast.getTimestamp();
        String sourceAgvLoc = getAgvLocNoOrDefault(basAgvLocNoService, "loc_no", basAgvMast.getSourceLocNo());
        PositionCodePathClass sou = new PositionCodePathClass();
        sou.setPositionCode(sourceAgvLoc);
        sou.setType(basAgvMast.getFloorNo()!=1?"00":"05");
        this.positionCodePath.add(sou);
        String endAgvLoc = getAgvLocNoOrDefault(basAgvLocNoService, "sta_no", basAgvMast.getStaNo());
        PositionCodePathClass end = new PositionCodePathClass();
        end.setType(basAgvMast.getFloorNo()!=1?"00":"05");
        end.setPositionCode(endAgvLoc);
        this.positionCodePath.add(end);
    }
    public void getAgvTaskAssignmentParam1(BasAgvMast basAgvMast) {
        BasAgvLocNoService basAgvLocNoService = SpringUtils.getBean(BasAgvLocNoService.class);
        this.reqCode = basAgvMast.getTaskNo().toString();
        this.taskCode = basAgvMast.getTimestamp().toString();
        PositionCodePathClass positionCodePathClassSou = new PositionCodePathClass();
        BasAgvLocNo basAgvLocNoSou = basAgvLocNoService.selectOne(new EntityWrapper<BasAgvLocNo>().eq("loc_no", basAgvMast.getSourceLocNo()));
        positionCodePathClassSou.setPositionCode(basAgvLocNoSou.getAgvLocNo());
        this.positionCodePath.add(positionCodePathClassSou);
        PositionCodePathClass positionCodePathClassEnd = new PositionCodePathClass();
        BasAgvLocNo basAgvLocNoEnd = basAgvLocNoService.selectOne(new EntityWrapper<BasAgvLocNo>().eq("loc_no", basAgvMast.getLocNo()));
        positionCodePathClassEnd.setPositionCode(basAgvLocNoEnd.getAgvLocNo());
        this.positionCodePath.add(positionCodePathClassEnd);
        this.reqCode = basAgvMast.getTaskNo()+"-"+basAgvMast.getTimestamp();
        this.taskCode = basAgvMast.getTaskNo()+"-"+basAgvMast.getTimestamp();
        String agvLocSou = getAgvLocNoOrDefault(basAgvLocNoService, "loc_no", basAgvMast.getSourceLocNo());
        PositionCodePathClass sou = new PositionCodePathClass();
        sou.setPositionCode(agvLocSou);
        sou.setType(basAgvMast.getFloorNo()!=1?"00":"05");
        this.positionCodePath.add(sou);
        String agvLocEnd = getAgvLocNoOrDefault(basAgvLocNoService, "loc_no", basAgvMast.getLocNo());
        PositionCodePathClass end = new PositionCodePathClass();
        end.setType(basAgvMast.getFloorNo()!=1?"00":"05");
        end.setPositionCode(agvLocEnd);
        this.positionCodePath.add(end);
    }
    public void getAgvTaskAssignmentParam2(BasAgvMast basAgvMast) {
        BasAgvLocNoService basAgvLocNoService = SpringUtils.getBean(BasAgvLocNoService.class);
        this.reqCode = basAgvMast.getTaskNo().toString();
        this.taskCode = basAgvMast.getTimestamp().toString();
        PositionCodePathClass positionCodePathClassSou = new PositionCodePathClass();
        BasAgvLocNo basAgvLocNoSou= basAgvLocNoService.selectOne(new EntityWrapper<BasAgvLocNo>().eq("sta_no", basAgvMast.getSourceStaNo()));
        positionCodePathClassSou.setPositionCode(basAgvLocNoSou.getAgvLocNo());
        this.positionCodePath.add(positionCodePathClassSou);
        PositionCodePathClass positionCodePathClassEnd = new PositionCodePathClass();
        BasAgvLocNo basAgvLocNoEnd = basAgvLocNoService.selectOne(new EntityWrapper<BasAgvLocNo>().eq("loc_no", basAgvMast.getLocNo()));
        positionCodePathClassEnd.setPositionCode(basAgvLocNoEnd.getAgvLocNo());
        this.positionCodePath.add(positionCodePathClassEnd);
        this.reqCode = basAgvMast.getTaskNo()+"-"+basAgvMast.getTimestamp();
        this.taskCode = basAgvMast.getTaskNo()+"-"+basAgvMast.getTimestamp();
        String agvLocSou = getAgvLocNoOrDefault(basAgvLocNoService, "sta_no", basAgvMast.getSourceStaNo());
        PositionCodePathClass sou = new PositionCodePathClass();
        sou.setPositionCode(agvLocSou);
        sou.setType(basAgvMast.getFloorNo()!=1?"00":"05");
        this.positionCodePath.add(sou);
        String agvLocEnd = getAgvLocNoOrDefault(basAgvLocNoService, "loc_no", basAgvMast.getLocNo());
        PositionCodePathClass end = new PositionCodePathClass();
        end.setType(basAgvMast.getFloorNo()!=1?"00":"05");
        end.setPositionCode(agvLocEnd);
        this.positionCodePath.add(end);
    }
    public void getAgvTaskAssignmentParam3(BasAgvMast basAgvMast) {
        BasAgvLocNoService basAgvLocNoService = SpringUtils.getBean(BasAgvLocNoService.class);
        this.reqCode = basAgvMast.getTaskNo().toString();
        this.taskCode = basAgvMast.getTimestamp().toString();
        PositionCodePathClass positionCodePathClassSou = new PositionCodePathClass();
        BasAgvLocNo basAgvLocNoSou = basAgvLocNoService.selectOne(new EntityWrapper<BasAgvLocNo>().eq("sta_no", basAgvMast.getSourceStaNo()));
        positionCodePathClassSou.setPositionCode(basAgvLocNoSou.getAgvLocNo());
        this.positionCodePath.add(positionCodePathClassSou);
        PositionCodePathClass positionCodePathClassEnd = new PositionCodePathClass();
        BasAgvLocNo basAgvLocNoEnd = basAgvLocNoService.selectOne(new EntityWrapper<BasAgvLocNo>().eq("sta_no", basAgvMast.getStaNo()));
        positionCodePathClassEnd.setPositionCode(basAgvLocNoEnd.getAgvLocNo());
        this.positionCodePath.add(positionCodePathClassEnd);
        this.reqCode = basAgvMast.getTaskNo()+"-"+basAgvMast.getTimestamp();
        this.taskCode = basAgvMast.getTaskNo()+"-"+basAgvMast.getTimestamp();
        String agvLocSou = getAgvLocNoOrDefault(basAgvLocNoService, "sta_no", basAgvMast.getSourceStaNo());
        PositionCodePathClass sou = new PositionCodePathClass();
        sou.setPositionCode(agvLocSou);
        sou.setType(basAgvMast.getFloorNo()!=1?"00":"05");
        this.positionCodePath.add(sou);
        String agvLocEnd = getAgvLocNoOrDefault(basAgvLocNoService, "sta_no", basAgvMast.getStaNo());
        PositionCodePathClass end = new PositionCodePathClass();
        end.setType(basAgvMast.getFloorNo()!=1?"00":"05");
        end.setPositionCode(agvLocEnd);
        this.positionCodePath.add(end);
    }
    private String getAgvLocNoOrDefault(BasAgvLocNoService service, String column, Object value) {
        if (value == null) {
            return null;
        }
        BasAgvLocNo record = service.selectOne(new EntityWrapper<BasAgvLocNo>().eq(column, value));
        if (record != null && record.getAgvLocNo() != null) {
            return record.getAgvLocNo();
        }
        // 查询不到就返回原值,但必须转换成 String
        return String.valueOf(value);
    }
}