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; } /**