自动化立体仓库 - WMS系统
#
whycq
2024-06-11 f0c73d72fe7f939be2d3fdf5fc90889971a67fe5
src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java
@@ -105,7 +105,7 @@
    public int startAllcationIn(AgvWrkMast agvWrkMast) throws IOException {
        AgvBasDevp basDevp = agvBasDevpService.selectByDevNo(agvWrkMast.getSourceLocNo());
        //检索库位,选择合适的库位
        AgvLocMast locMast = agvCommonService.getLocNo(basDevp.getLocType1(),basDevp.getFloor());
        AgvLocMast locMast = agvCommonService.getLocNo(basDevp.getLocType1(),basDevp.getFloor(),false,true);
        agvWrkMast.setLocNo(locMast.getLocNo());
        agvWrkMast.setWrkSts(201L);
        agvWrkMastService.updateById(agvWrkMast);
@@ -221,10 +221,31 @@
            agvWrkMast.setWrkNo(-agvWrkMast.getWrkNo());
        }
        agvTaskCreateParam.setTaskCode(agvWrkMast.getWrkNo().toString());
        if (agvWrkMast.getIoType() == 108 || (agvWrkMast.getIoType() == 109  && agvWrkMast.getWrkSts() == 201) || agvWrkMast.getIoType() == 12) {
            agvTaskCreateParam.setTaskTyp("F06");
        } else  {
            agvTaskCreateParam.setTaskTyp("F01");
        switch (agvWrkMast.getIoType()) {
            case 108:
            case 12:
                agvTaskCreateParam.setTaskTyp("F06");
                break;
            case 109:
                if (agvWrkMast.getWrkSts() == 201) {
                    agvTaskCreateParam.setTaskTyp("F06");
                } else {
                    agvTaskCreateParam.setTaskTyp("F01");
                }
                break;
            case 1:
                // 入库任务是只有 接驳位 -- > 库位
                AgvLocMast loc = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", agvWrkMast.getLocNo()));
                String locSub = loc.getLocNo().substring(loc.getLocNo().length() - 4).substring(0, 2).substring(0, 2);
                if ("02".equals(locSub)) {
                    agvTaskCreateParam.setTaskTyp("F06");
                } else {
                    agvTaskCreateParam.setTaskTyp("F01");
                }
                break;
            default:
                agvTaskCreateParam.setTaskTyp("F01");
                break;
        }
        agvTaskCreateParam.setPositionCodePath(agvTaskParamList);