Junjie
2026-04-21 c16428f4d68b84fc09331671755487ce373fd657
src/main/java/com/zy/asrs/task/WrkMastFinalizeProcessor.java
@@ -97,13 +97,13 @@
            locMast.setModiTime(new Date());
            if (!locMastService.updateById(locMast)) {
                log.error("入库完成清理失败,目标库位更新失败。wrkNo={}, locNo={}", wrkNo, wrkMast.getLocNo());
                return;
                throw new IllegalStateException("入库完成清理更新目标库位失败,事务回滚。wrkNo=" + wrkNo + ", locNo=" + wrkMast.getLocNo());
            }
            archiveAndFinish(wrkMast);
            if (wrkMastService.deleteByWrkNoAndCurrentWrkSts(wrkMast.getWrkNo(), WrkStsType.COMPLETE_INBOUND.sts) <= 0) {
                log.error("入库完成清理失败,删除工作档失败或状态已变化。wrkNo={}", wrkNo);
                return;
                throw new IllegalStateException("入库完成清理删除工作档失败,事务回滚。wrkNo=" + wrkNo);
            }
            notifyUtils.notify("task", 1, String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.TASK_COMPLETE, JSON.toJSONString(wrkMast));
@@ -142,13 +142,13 @@
            locMast.setModiTime(new Date());
            if (!locMastService.updateById(locMast)) {
                log.error("出库完成清理失败,源库位更新失败。wrkNo={}, sourceLocNo={}", wrkNo, wrkMast.getSourceLocNo());
                return;
                throw new IllegalStateException("出库完成清理更新源库位失败,事务回滚。wrkNo=" + wrkNo + ", sourceLocNo=" + wrkMast.getSourceLocNo());
            }
            archiveAndFinish(wrkMast);
            if (wrkMastService.deleteByWrkNoAndCurrentWrkSts(wrkMast.getWrkNo(), WrkStsType.COMPLETE_OUTBOUND.sts) <= 0) {
                log.error("出库完成清理失败,删除工作档失败或状态已变化。wrkNo={}", wrkNo);
                return;
                throw new IllegalStateException("出库完成清理删除工作档失败,事务回滚。wrkNo=" + wrkNo);
            }
            notifyUtils.notify("task", 1, String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.TASK_COMPLETE, JSON.toJSONString(wrkMast));
@@ -186,7 +186,7 @@
            locMast.setModiTime(new Date());
            if (!locMastService.updateById(locMast)) {
                log.error("移库完成清理失败,目标库位更新失败。wrkNo={}, locNo={}", wrkNo, wrkMast.getLocNo());
                return;
                throw new IllegalStateException("移库完成清理更新目标库位失败,事务回滚。wrkNo=" + wrkNo + ", locNo=" + wrkMast.getLocNo());
            }
            sourceLocMast.setLocSts("O");
@@ -194,13 +194,13 @@
            sourceLocMast.setModiTime(new Date());
            if (!locMastService.updateById(sourceLocMast)) {
                log.error("移库完成清理失败,源库位更新失败。wrkNo={}, sourceLocNo={}", wrkNo, wrkMast.getSourceLocNo());
                return;
                throw new IllegalStateException("移库完成清理更新源库位失败,事务回滚。wrkNo=" + wrkNo + ", sourceLocNo=" + wrkMast.getSourceLocNo());
            }
            archiveAndFinish(wrkMast);
            if (wrkMastService.deleteByWrkNoAndCurrentWrkSts(wrkMast.getWrkNo(), WrkStsType.COMPLETE_LOC_MOVE.sts) <= 0) {
                log.error("移库完成清理失败,删除工作档失败或状态已变化。wrkNo={}", wrkNo);
                return;
                throw new IllegalStateException("移库完成清理删除工作档失败,事务回滚。wrkNo=" + wrkNo);
            }
            notifyUtils.notify("task", 1, String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.TASK_COMPLETE, JSON.toJSONString(wrkMast));
@@ -222,6 +222,7 @@
            archiveAndFinish(wrkMast);
            if (wrkMastService.deleteByWrkNoAndCurrentWrkSts(wrkMast.getWrkNo(), WrkStsType.COMPLETE_CRN_MOVE.sts) <= 0) {
                log.error("堆垛机移位完成清理失败,删除工作档失败或状态已变化。wrkNo={}", wrkNo);
                throw new IllegalStateException("堆垛机移位完成清理删除工作档失败,事务回滚。wrkNo=" + wrkNo);
            }
        });
    }
@@ -242,7 +243,7 @@
            archiveAndFinish(wrkMast);
            if (wrkMastService.deleteByWrkNoAndMkIn(wrkMast.getWrkNo(), CANCEL_MKS) <= 0) {
                log.error("取消任务清理失败,删除工作档失败或标记已变化。wrkNo={}, mk={}", wrkNo, wrkMast.getMk());
                return;
                throw new IllegalStateException("取消任务清理删除工作档失败,事务回滚。wrkNo=" + wrkNo + ", mk=" + wrkMast.getMk());
            }
            if (Objects.equals(wrkMast.getIoType(), WrkIoType.IN.id)) {
@@ -250,14 +251,18 @@
                if (locMast != null) {
                    locMast.setLocSts(String.valueOf(LocStsType.O));
                    locMast.setModiTime(new Date());
                    locMastService.updateById(locMast);
                    if (!locMastService.updateById(locMast)) {
                        throw new IllegalStateException("取消任务清理恢复入库目标库位失败,事务回滚。wrkNo=" + wrkNo + ", locNo=" + wrkMast.getLocNo());
                    }
                }
            } else if (Objects.equals(wrkMast.getIoType(), WrkIoType.OUT.id)) {
                LocMast locMast = locMastService.queryByLoc(wrkMast.getSourceLocNo());
                if (locMast != null) {
                    locMast.setLocSts(String.valueOf(LocStsType.F));
                    locMast.setModiTime(new Date());
                    locMastService.updateById(locMast);
                    if (!locMastService.updateById(locMast)) {
                        throw new IllegalStateException("取消任务清理恢复出库源库位失败,事务回滚。wrkNo=" + wrkNo + ", sourceLocNo=" + wrkMast.getSourceLocNo());
                    }
                }
            } else if (Objects.equals(wrkMast.getIoType(), WrkIoType.LOC_MOVE.id)) {
                LocMast sourceLocMast = locMastService.queryByLoc(wrkMast.getSourceLocNo());
@@ -265,12 +270,16 @@
                if (sourceLocMast != null && String.valueOf(LocStsType.R).equals(sourceLocMast.getLocSts())) {
                    sourceLocMast.setLocSts(String.valueOf(LocStsType.F));
                    sourceLocMast.setModiTime(new Date());
                    locMastService.updateById(sourceLocMast);
                    if (!locMastService.updateById(sourceLocMast)) {
                        throw new IllegalStateException("取消任务清理恢复移库源库位失败,事务回滚。wrkNo=" + wrkNo + ", sourceLocNo=" + wrkMast.getSourceLocNo());
                    }
                }
                if (locMast != null && String.valueOf(LocStsType.S).equals(locMast.getLocSts())) {
                    locMast.setLocSts(String.valueOf(LocStsType.O));
                    locMast.setModiTime(new Date());
                    locMastService.updateById(locMast);
                    if (!locMastService.updateById(locMast)) {
                        throw new IllegalStateException("取消任务清理恢复移库目标库位失败,事务回滚。wrkNo=" + wrkNo + ", locNo=" + wrkMast.getLocNo());
                    }
                }
            }