自动化立体仓库 - WMS系统
*
pjb
4 天以前 2b1c858126f9c059bd6e308923eabfc71b1b4e7a
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -340,7 +340,7 @@
            wrkMast.setIoTime(now);
            wrkMast.setWrkSts(11L); // 工作状态:11.生成出库ID
            wrkMast.setIoType(ioType); // 入出库状态
            wrkMast.setIoPri(13D); // 优先级:13
            wrkMast.setIoPri(staDesc.getStnNo() == 1064 || staDesc.getStnNo() == 1031 ? 14D: 13D); // 空桶出库到二号罐装线,去打包,优先级提高
            wrkMast.setCrnNo(locMast.getCrnNo());
            wrkMast.setSourceStaNo(staDesc.getCrnStn()); // 源站
            wrkMast.setStaNo(staDesc.getStnNo()); // 目标站
@@ -823,7 +823,7 @@
        if (wrkMast.getStaNo() == 1090 && wrkMast.getLocNo() == null) {
            throw new CoolException(workNo+"工作档无法完成,库位号为空!");
        }
        if (wrkMast.getWrkSts() == 4 || wrkMast.getWrkSts() == 14) {
        if (wrkMast.getWrkSts() == 4L || wrkMast.getWrkSts() == 14L || wrkMast.getWrkSts() == 54L) {
            throw new CoolException("当前工作档已完成");
        }
        // 完成空桶库入出库任务另一个任务
@@ -844,6 +844,9 @@
        } else if(wrkMast.getIoType() == 1 && wrkMast.getWrkSts() == 10) {
            wrkMast.setWrkSts(2L);
            wrkMast.setRgvFinishTime(new Date());
        } else if(wrkMast.getIoType() == 120) {
            wrkMast.setWrkSts(54L);
            wrkMast.setRgvFinishTime(new Date());
        }
        Date now = new Date();
        wrkMast.setCrnStrTime(DateUtils.calculate(now, 1L, TimeUnit.SECONDS, true));
@@ -857,13 +860,15 @@
        }
        if(workNoOther != 0) {
            WrkMast wrkMast1 = wrkMastService.selectById(workNoOther);
            wrkMast1.setWrkSts(wrkMast.getWrkSts());
            wrkMast1.setCrnStrTime(wrkMast.getCrnStrTime());
            wrkMast1.setCrnEndTime(now);
            wrkMast1.setModiTime(now);
            wrkMast1.setModiUser(userId);
            wrkMast1.setManuType("手动完成");
            wrkMastService.updateById(wrkMast1);
            if (wrkMast1 != null) {
                wrkMast1.setWrkSts(wrkMast.getWrkSts());
                wrkMast1.setCrnStrTime(wrkMast.getCrnStrTime());
                wrkMast1.setCrnEndTime(now);
                wrkMast1.setModiTime(now);
                wrkMast1.setModiUser(userId);
                wrkMast1.setManuType("手动完成");
                wrkMastService.updateById(wrkMast1);
            }
        }
    }
@@ -1099,7 +1104,7 @@
        String locNo = ""; // 待修改目标库位
        String locSts = ""; // 待修改目标库位状态
        // 入库取消(修改目标库位)
        if (wrkMast.getWrkSts() <= 10) {
        if (wrkMast.getWrkSts() <= 10  && wrkMast.getIoType()!=120) {
            locNo = wrkMast.getLocNo();
            locSts = "O";
@@ -1116,7 +1121,7 @@
                locMastService.updateById(locMast);
            }
        // 出库取消(修改源库位)
        } else if (wrkMast.getWrkSts() > 10 && wrkMast.getWrkSts() != 14) {
        } else if (wrkMast.getWrkSts() > 10 && wrkMast.getWrkSts() != 14 && wrkMast.getIoType()!=120) {
            locNo = wrkMast.getSourceLocNo();
            if (wrkMast.getIoType() == 110) {
                if(wrkMast.getStaNo() == 1035) { // 子拆盘机站点
@@ -1141,6 +1146,16 @@
                locMast.setModiUser(userId);
                locMastService.updateById(locMast);
            }
        } else if (wrkMast.getIoType()==120){
            // 取消操作人员记录
            wrkMast.setWrkSts(54L);
            wrkMast.setManuType("手动取消");
            wrkMast.setModiUser(userId);
            wrkMast.setModiTime(now);
            if (!wrkMastService.updateById(wrkMast)) {
                throw new CoolException("取消工作档失败");
            }
            return;
        } else {
            throw new CoolException("当前工作状态无法取消");
        }