自动化立体仓库 - WCS系统
#
luxiaotao1123
2022-11-02 7ea8173892683849fee7b1ebb598c63bcc5f4f95
src/main/java/com/zy/common/service/CommonService.java
@@ -47,6 +47,9 @@
    private SlaveProperties slaveProperties;
    @Autowired
    private LocDetlService locDetlService;
    @Autowired
    private WrkChargeService wrkChargeService;
    /**
     * 生成工作号
@@ -86,6 +89,40 @@
        return workNo;
    }
    public int getChargeWorkNo(Integer wrkMk) {
        WrkLastno wrkLastno = wrkLastnoService.selectById(wrkMk);
        if (Cools.isEmpty(wrkLastno)) {
            throw new CoolException("数据异常,请联系管理员");
        }
        int workNo = wrkLastno.getWrkNo();
        int sNo = wrkLastno.getSNo();
        int eNo = wrkLastno.getENo();
        workNo = workNo>=eNo ? sNo : workNo+1;
        while (true) {
            WrkCharge wrkCharge = wrkChargeService.selectById(workNo);
            if (null != wrkCharge) {
                workNo = workNo>=eNo ? sNo : workNo+1;
            } else {
                break;
            }
        }
        // 修改序号记录
        if (workNo > 0){
            wrkLastno.setWrkNo(workNo);
            wrkLastnoService.updateById(wrkLastno);
        }
        // 检验
        if (workNo == 0) {
            throw new CoolException("生成充电工作号失败,请联系管理员");
        } else {
            if (wrkChargeService.selectById(workNo)!=null) {
                throw new CoolException("生成工作号" + workNo + "在充电工作档中已存在");
            }
        }
        return workNo;
    }
    /**
     * 检索库位号