From 260ec1f369354bfa8fb017b5a2dd298dc146378c Mon Sep 17 00:00:00 2001 From: rcx <3084692334@qq.com> Date: Thu, 10 Sep 2026 14:24:43 +0800 Subject: [PATCH] =?UTF-8?q?fix(oms):=20=E5=87=BA=E5=85=A5=E5=BA=93?= =?UTF-8?q?=E4=B8=9A=E5=8A=A1=E5=8D=95=E5=8F=8D=E5=AE=A1=E8=A1=A5=E5=85=85?= =?UTF-8?q?=E6=B8=85=E7=A9=BA=E6=89=A7=E8=A1=8C=E5=8D=95=E5=8F=B7/?= =?UTF-8?q?=E4=B8=8B=E5=8F=91=E6=89=A7=E8=A1=8C=E6=97=B6=E9=97=B4=EF=BC=8C?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=8F=8D=E5=AE=A1=E5=90=8E=E5=89=8D=E7=AB=AF?= =?UTF-8?q?=E6=98=AF=E5=90=A6=E6=89=A7=E8=A1=8C=E4=BB=8D=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E5=B7=B2=E6=89=A7=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...utionInMaterialDetailApplicationService.java | 17 +++++++++++++++++ .../ReservationStockInOrderDomainService.java | 2 ++ .../ReservationStockOutOrderDomainService.java | 5 ++++- .../ExecutionInMaterialDetailApi.java | 2 +- .../InMaterialDetailApplicationService.java | 12 +++++++++++- 5 files changed, 35 insertions(+), 3 deletions(-) diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/executionInMaterialDetail/service/ExecutionInMaterialDetailApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/executionInMaterialDetail/service/ExecutionInMaterialDetailApplicationService.java index 5e03ad47a..35cb5afe5 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/executionInMaterialDetail/service/ExecutionInMaterialDetailApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/executionInMaterialDetail/service/ExecutionInMaterialDetailApplicationService.java @@ -85,4 +85,21 @@ public class ExecutionInMaterialDetailApplicationService { return inMaterialDetailDomainService.queryInOrderDetailList(queryOrderOverStockDO); } + /** + * 入库明细导出(全字段,口径同 queryInOrderDetailList,不分页) + */ + public List exportInOrderDetailList(QueryOrderOverStockDO queryOrderOverStockDO) { + List list = queryInOrderDetailList(queryOrderOverStockDO); + // 货物种类=挂载分类的父级分类名称:material_classify_name为分类路径(如"食品,饮料"),取倒数第二段; + // 仅一级分类(无父级)时取自身名称 + for (ExecutionInMaterialDetailWithOrderPO po : list) { + String names = po.getMaterialClassifyName(); + if (names != null && names.contains(",")) { + String[] parts = names.split(","); + po.setMaterialClassifyName(parts[parts.length - 2].trim()); + } + } + return list; + } + } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/service/ReservationStockInOrderDomainService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/service/ReservationStockInOrderDomainService.java index 396935fef..59e73f023 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/service/ReservationStockInOrderDomainService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/service/ReservationStockInOrderDomainService.java @@ -891,6 +891,8 @@ public class ReservationStockInOrderDomainService { //业务单状态改为"已驳回"(与审核不通过同语义)+ 已反审标记落入【已反审】tab + 清空完成回写数据 return stockInOrderService.update(null, new UpdateWrapper().lambda() .set(ReservationStockInOrder::getIssueStatus, 3) + //清空下发/执行时间(前端"是否执行"列按执行时间判断,不清会仍显示已执行,与取消下发 cancelIssueOrder 同口径) + .set(ReservationStockInOrder::getIssueTime, null) .set(ReservationStockInOrder::getInQuantity, BigDecimal.ZERO) .set(ReservationStockInOrder::getStorageTime, null) .set(ReservationStockInOrder::getExecutionInOrderNumber, null) diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderDomainService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderDomainService.java index 4d7f0a719..5bcdaafbd 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderDomainService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderDomainService.java @@ -753,10 +753,12 @@ public class ReservationStockOutOrderDomainService { } // 主单回退到已创建并打反审标记; 更新条件带 issueStatus in (2,4) + 排除已取消/已关闭 兜底防并发重复反审 - // issueStatus 回退到 0-已创建(前端展示映射: 0-已创建 2-已审核 3-已驳回 4-已出库) + // issueStatus 回退到 0-已创建(前端展示映射: 0-已创建 2-已审核 3-已驳回 4-已出库); + // 清空执行出库单号——执行单已随反审软删, 前端"是否执行"列由该字段有无值推导, 不清空会仍显示已执行 return stockOutOrderService.update(null, new UpdateWrapper().lambda() .set(ReservationStockOutOrder::getStatus, 1) .set(ReservationStockOutOrder::getIssueStatus, 0) + .set(ReservationStockOutOrder::getExecutionOutOrderNumber, null) .set(ReservationStockOutOrder::getIssueId, null) .set(ReservationStockOutOrder::getIssueName, null) .set(ReservationStockOutOrder::getIssueTime, null) @@ -769,6 +771,7 @@ public class ReservationStockOutOrderDomainService { .set(ReservationStockOutOrder::getCheckQuantity, BigDecimal.ZERO) .set(ReservationStockOutOrder::getCheckStatus, 1) .set(ReservationStockOutOrder::getCheckTaskDistribution, 2) + .set(ReservationStockOutOrder::getCheckTaskDistributionTime, null) .set(ReservationStockOutOrder::getCompleteTime, null) .set(ReservationStockOutOrder::getOutboundTime, null) .set(ReservationStockOutOrder::getReverseStatus, 1) diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/executionInMaterialDetail/ExecutionInMaterialDetailApi.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/executionInMaterialDetail/ExecutionInMaterialDetailApi.java index b466834d4..31cf13e33 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/executionInMaterialDetail/ExecutionInMaterialDetailApi.java +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/executionInMaterialDetail/ExecutionInMaterialDetailApi.java @@ -109,7 +109,7 @@ public class ExecutionInMaterialDetailApi extends BaseController { { //转换实体(不分页,导出全量) QueryOrderOverStockDO queryDO = inMaterialDetailAssembler.toQueryDO(queryDTO); - List list = inMaterialDetailApplicationService.queryInOrderDetailList(queryDO); + List list = inMaterialDetailApplicationService.exportInOrderDetailList(queryDO); String fileName = URLEncoder.encode("入库明细查询", "UTF-8").replaceAll("\\+", "%20"); response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); diff --git a/mhd_wms/src/main/java/com/mhd/wms/application/service/inMaterialDetail/InMaterialDetailApplicationService.java b/mhd_wms/src/main/java/com/mhd/wms/application/service/inMaterialDetail/InMaterialDetailApplicationService.java index ffcb7be66..d20308824 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/application/service/inMaterialDetail/InMaterialDetailApplicationService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/application/service/inMaterialDetail/InMaterialDetailApplicationService.java @@ -60,7 +60,17 @@ public class InMaterialDetailApplicationService { * 入库明细导出(专用列集,口径同 queryInOrderDetailList,不分页) */ public List exportInOrderDetailList(QueryOrderOverStockDO queryOrderOverStockDO) { - return inMaterialDetailDomainService.exportInOrderDetailList(setDataPermission(queryOrderOverStockDO)); + List list = inMaterialDetailDomainService.exportInOrderDetailList(setDataPermission(queryOrderOverStockDO)); + // 货物种类=挂载分类的父级分类名称:material_classify_name为分类路径(如"食品,饮料"),取倒数第二段; + // 仅一级分类(无父级)时取自身名称 + for (InMaterialDetailExportPO po : list) { + String names = po.getMaterialClassifyName(); + if (names != null && names.contains(",")) { + String[] parts = names.split(","); + po.setMaterialClassifyName(parts[parts.length - 2].trim()); + } + } + return list; } /**