自动化立体仓库 - WMS系统
zwl
4 天以前 2c1d32f4371145dc8636864fb268f316a57e77cb
src/main/java/com/zy/api/service/impl/WcsApiServiceImpl.java
@@ -687,6 +687,11 @@
        }
        WrkMast mast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", params.getSuperTaskNo()));
        if (Objects.isNull(mast)) {
            // pakoutOrderPause 中止时,WMS 在 WCS 确认取消后会立即本地取消并归档任务。
            // 如果 WCS 后续又补发 task_cancel 回调,此时当前工作档已不存在,按幂等成功处理。
            if ("task".equalsIgnoreCase(params.getNotifyType()) && "task_cancel".equalsIgnoreCase(params.getMsgType())) {
                return R.ok();
            }
            throw new CoolException("任务档不存在!!");
        }
@@ -726,7 +731,7 @@
            //任务
            if ("task_complete".equalsIgnoreCase(params.getMsgType())) {
                if (mast.getIoType() == 1 || mast.getIoType() == 2 || mast.getIoType() == 10 || mast.getIoType() == CHANGE_LOC_IO_TYPE) {
                if (mast.getIoType() == 1 || mast.getIoType() == 2 || mast.getIoType() == 11 || mast.getIoType() == CHANGE_LOC_IO_TYPE) {
                    mast.setWrkSts(4L);
                } else if (isOutboundTask(mast) && canMarkOutboundTaskComplete(mast)) {
                    mast.setWrkSts(14L);
@@ -912,6 +917,11 @@
        if (params == null || Cools.isEmpty(params.getLocNo())) {
            return R.error("locNo不能为空");
        }
        String s = Utils.WCSLocToWMSLoc(params.getLocNo());
        if (Cools.isEmpty(params.getLocNo())) {
            return R.error("locNo<UNK>");
        }
        params.setLocNo(s);
        LocMast sourceLoc = locMastService.selectById(params.getLocNo());
        if (sourceLoc == null) {
            return R.error("当前库位不存在");
@@ -938,7 +948,7 @@
    }
    private CrnDepthRuleProfile resolveChangeLocProfile(LocMast sourceLoc) {
        RowLastno rowLastno = rowLastnoService.selectById(sourceLoc.getWhsType());
        RowLastno rowLastno = rowLastnoService.selectById(3);
        return basCrnDepthRuleService.resolveProfile(rowLastno, sourceLoc.getCrnNo(), sourceLoc.getRow1());
    }
@@ -1056,8 +1066,8 @@
        WrkMast wrkMast = new WrkMast();
        wrkMast.setWrkNo(workNo);
        wrkMast.setIoTime(now);
        wrkMast.setWrkSts(11L);
        wrkMast.setIoType(CHANGE_LOC_IO_TYPE);
        wrkMast.setWrkSts(1L);
        wrkMast.setIoType(11);
        wrkMast.setIoPri(10D);
        wrkMast.setCrnNo(sourceLoc.getCrnNo());
        wrkMast.setSourceLocNo(sourceLoc.getLocNo());
@@ -1365,7 +1375,7 @@
        if (Objects.isNull(wrkMast)) {
            return;
        }
        if (wrkMast.getIoType()==1 || wrkMast.getIoType()==10) {
        if (wrkMast.getIoType()==1 || wrkMast.getIoType()==11) {
            wrkMast.setWrkSts(2L);
            wrkMast.setModiTime(new Date());
            wrkMastService.updateById(wrkMast);