自动化立体仓库 - WMS系统
pang.jiabao
2024-06-22 8d6042713c2e2d9719c64322ef26450a9f221523
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -247,6 +247,7 @@
            wrkMast.setIoType(ioType); // 入出库状态
            wrkMast.setIoPri(reduce?13D:15D); // 优先级:13
            wrkMast.setCrnNo(locMast.getCrnNo());
            wrkMast.setBarcode(locMast.getBarcode());
            wrkMast.setSourceStaNo(staDesc.getCrnStn()); // 源站
            wrkMast.setStaNo(staDesc.getStnNo()); // 目标站
            wrkMast.setSourceLocNo(dto.getLocNo()); // 源库位
@@ -892,10 +893,33 @@
        if (!wrkMastLogService.save(wrkMast.getWrkNo())) {
            throw new CoolException("保存工作主档历史档失败");
        }
        // 拣、盘、并 作业站转换
        int stnNo = 0;
        if (wrkMast.getIoType() == 103) { // 拣料出库
            if(wrkMast.getCrnNo() == 1) {
                stnNo = 104;
            }else if(wrkMast.getCrnNo() == 2) {
                stnNo =204;
            }else if(wrkMast.getCrnNo() == 3) {
                stnNo = 304;
            }
        } else if(wrkMast.getIoType() == 107){ //盘点出库
            if(wrkMast.getCrnNo() == 1) {
                stnNo = 101;
            }else if(wrkMast.getCrnNo() == 2) {
                stnNo =201;
            }else if(wrkMast.getCrnNo() == 3) {
                stnNo = 301;
            }
        }
        if (stnNo == 0) {
            log.error("{}号任务数据异常!", wrkMast.getWrkNo());
            throw new CoolException("再入库站点有误");
        }
        // 获取目标站
        Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
                .eq("type_no", wrkMast.getIoType() - 50)
                .eq("stn_no", wrkMast.getStaNo()) // 作业站点 = 拣料出库的目标站
                .eq("stn_no", stnNo) // 作业站点 = 拣料出库的目标站
                .eq("crn_no", wrkMast.getCrnNo()); // 堆垛机号
        StaDesc staDesc = staDescService.selectOne(wrapper);
        if (Cools.isEmpty(staDesc)) {