自动化立体仓库 - WCS系统
#
LSH
2023-11-16 0f57cf39b8702d2795d0ee00d00cae36ab8daa0a
src/main/java/com/zy/common/service/CommonService.java
@@ -30,7 +30,7 @@
public class CommonService {
    @Autowired
    private WrkMastService wrkMastService;
    private TaskWrkService taskWrkService;
    @Autowired
    private WrkLastnoService wrkLastnoService;
    @Autowired
@@ -49,7 +49,7 @@
    private LocDetlService locDetlService;
    /**
     * 生成工作号
     * 生成工作号 wrkMk 0:入库 1 - 3000 ; 1:拣料/并板/盘点 3001 - 6000 ; 2: 出库 6001 -9000 ; 3:其他 9001 -9999
     * @return workNo(工作号)
     */
    public int getWorkNo(Integer wrkMk) {
@@ -63,8 +63,8 @@
        int eNo = wrkLastno.getENo();
        workNo = workNo>=eNo ? sNo : workNo+1;
        while (true) {
            WrkMast wrkMast = wrkMastService.selectById(workNo);
            if (null != wrkMast) {
            TaskWrk taskWrk = taskWrkService.selectByWrkNo(workNo);
            if (null != taskWrk) {
                workNo = workNo>=eNo ? sNo : workNo+1;
            } else {
                break;
@@ -79,7 +79,7 @@
        if (workNo == 0) {
            throw new CoolException("生成工作号失败,请联系管理员");
        } else {
            if (wrkMastService.selectById(workNo)!=null) {
            if (taskWrkService.selectByWrkNo(workNo)!=null) {
                throw new CoolException("生成工作号" + workNo + "在工作档中已存在");
            }
        }
@@ -269,6 +269,20 @@
                if (!locMastService.checkEmptyCount(locMast)) {
                    locMast = null;
                }
                // 目标库位 ===>> 浅库位, 则校验其深库位是否为 F D X
                if (null != locMast && Utils.isShallowLoc(slaveProperties, locMast.getLocNo())) {
                    LocMast deepLoc = locMastService.selectById(Utils.getDeepLoc(slaveProperties, locMast.getLocNo()));
                    if (!deepLoc.getLocSts().equals("F") && !deepLoc.getLocSts().equals("D") && !deepLoc.getLocSts().equals("X")) {
                        locMast = null;
                    }
                }
                // 目标库位 ===>> 深库位, 则校验其浅库位是否为 O
                if (null != locMast && Utils.isDeepLoc(slaveProperties, locMast.getLocNo())) {
                    LocMast shallowLoc = locMastService.selectById(Utils.getShallowLoc(slaveProperties, locMast.getLocNo()));
                    if (!shallowLoc.getLocSts().equals("O")) {
                        locMast = null;
                    }
                }
            }
        }