From 12e9f3746ef41c3bff8d6c86b5ab7deedcc9855d Mon Sep 17 00:00:00 2001 From: ouyangxq <775153912@qq.com> Date: Tue, 18 Aug 2026 15:49:52 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../firstleg/service/SmartLoadingService.java | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/firstleg/src/main/java/com/baiyue/firstleg/service/SmartLoadingService.java b/firstleg/src/main/java/com/baiyue/firstleg/service/SmartLoadingService.java index 14dbf17cd..3fe6f86ec 100644 --- a/firstleg/src/main/java/com/baiyue/firstleg/service/SmartLoadingService.java +++ b/firstleg/src/main/java/com/baiyue/firstleg/service/SmartLoadingService.java @@ -211,6 +211,31 @@ public class SmartLoadingService { return view(repository.plan(planId), requireBooking(plan.getContainerBookingId())); } + @Transactional + @BusinessAudit(event = "SMART_LOADING_WAREHOUSE_REMARK", resourceType = "LOADING_PLAN", + resourceId = "#planId", description = "修改装柜仓库备注") + public Plan updateWarehouseRemark(long planId, long itemId, WarehouseRemarkRequest request, + long operatorId, String operatorName) { + String operation = operation(request.operationId()); + String remark = trim(request.warehouseRemark()); + String requestHash = sha256("WAREHOUSE_REMARK|" + planId + '|' + itemId + '|' + + Objects.toString(remark, "") + '|' + request.expectedPlanVersion() + '|' + + request.expectedItemVersion()); + Plan replay = replay(operation, planId, "WAREHOUSE_REMARK", itemId, requestHash); + if (replay != null) return replay; + LoadingPlanEntity plan = editing(planId, request.expectedPlanVersion(), operatorId, operatorName); + LoadingPlanItemEntity item = repository.item(planId, itemId); + if (item == null) throw new BizException(ResultCode.NOT_FOUND, "装柜明细不存在"); + String before = json(values("warehouseRemark", item.getWarehouseRemark(), "version", item.getVersion())); + if (repository.updateWarehouseRemark(planId, itemId, request.expectedPlanVersion(), + request.expectedItemVersion(), remark, operatorId, operatorName) != 1) { + throw conflict("装柜计划或明细已被其他人修改,请刷新后重试"); + } + history(planId, itemId, "WAREHOUSE_REMARK", plan.getPlanStatus(), plan.getPlanStatus(), operation, + before, json(values("warehouseRemark", remark, "requestHash", requestHash)), operatorId, operatorName); + return view(repository.plan(planId), requireBooking(plan.getContainerBookingId())); + } + @Transactional @BusinessAudit(event = "SMART_LOADING_ITEM_DELETE", resourceType = "LOADING_PLAN_ITEM", resourceId = "#itemId", description = "删除智能装柜明细")