From e59173b3f9649c75daf0e84e0507bde52e22d14b Mon Sep 17 00:00:00 2001 From: rcx <3084692334@qq.com> Date: Mon, 14 Sep 2026 16:24:53 +0800 Subject: [PATCH] =?UTF-8?q?feat(oms):=20=E5=87=BA=E5=BA=93=E4=B8=9A?= =?UTF-8?q?=E5=8A=A1=E5=8D=95/=E5=87=BA=E5=BA=93=E6=89=A7=E8=A1=8C?= =?UTF-8?q?=E5=8D=95=E5=88=97=E8=A1=A8=E8=AE=A1=E5=88=92=E6=95=B0=E9=87=8F?= =?UTF-8?q?=E4=B8=8E=E5=87=BA=E5=BA=93=E6=95=B0=E9=87=8F=E5=88=86=E5=BC=80?= =?UTF-8?q?=E8=AE=A1=E7=AE=97,=20=E8=BF=94=E5=9B=9E=E5=85=A8=E9=87=8F?= =?UTF-8?q?=E4=B8=8D=E5=88=86=E9=A1=B5=E7=9A=84=E8=AE=A1=E5=88=92=E6=95=B0?= =?UTF-8?q?=E9=87=8F=E6=80=BB=E6=95=B0/=E5=87=BA=E5=BA=93=E6=95=B0?= =?UTF-8?q?=E9=87=8F=E6=80=BB=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增queryListTotal: 复用queryList同条件片段, LEFT JOIN一级明细汇总SUM(quantity)/SUM(outbound_quantity), 计划数量与出库数量分开计算 - list/list1响应在data/total/code/msg同层级追加totalPlanQuantity/totalOutboundQuantity(与出库排名页合计行模式一致, 前端兼容) - 执行单列表顺带修复每行totalOutboundQuantity恒为null(补关联子查询+resultMap映射, 对齐业务单178b7697口径) --- .../IExecutionStockOutOrderService.java | 6 ++++ .../mapper/ExecutionStockOutOrderMapper.java | 6 ++++ .../ExecutionStockOutOrderImpl.java | 10 ++++++ .../po/ExecutionStockOutOrderTotalPO.java | 30 ++++++++++++++++ ...cutionStockOutOrderApplicationService.java | 10 ++++++ .../ExecutionStockOutOrderDomainService.java | 8 +++++ .../IReservationStockOutOrderService.java | 6 ++++ .../ReservationStockOutOrderMapper.java | 6 ++++ .../ReservationStockOutOrderImpl.java | 10 ++++++ .../po/ReservationStockOutOrderTotalPO.java | 30 ++++++++++++++++ ...vationStockOutOrderApplicationService.java | 10 ++++++ ...ReservationStockOutOrderDomainService.java | 8 +++++ .../ReservationStockOutOrderApi.java | 34 +++++++++++++++---- .../ExecutionStockOutOrderApi.java | 34 +++++++++++++++---- .../ExecutionStockOutOrderMapper.xml | 30 +++++++++++++++- .../ReservationStockOutOrderMapper.xml | 20 +++++++++++ 16 files changed, 245 insertions(+), 13 deletions(-) create mode 100644 mhd_oms/src/main/java/com/mhd/oms/domain/executionStockOutOrder/repository/po/ExecutionStockOutOrderTotalPO.java create mode 100644 mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/po/ReservationStockOutOrderTotalPO.java diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/executionStockOutOrder/repository/facade/IExecutionStockOutOrderService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/executionStockOutOrder/repository/facade/IExecutionStockOutOrderService.java index f6b99a4ba..e4b32f470 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/executionStockOutOrder/repository/facade/IExecutionStockOutOrderService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/executionStockOutOrder/repository/facade/IExecutionStockOutOrderService.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.mhd.oms.domain.executionOutMaterialDetail.repository.po.ExecutionOutMaterialDetailPO; import com.mhd.oms.domain.executionStockOutOrder.entity.ExecutionStockOutOrder; import com.mhd.oms.domain.executionStockOutOrder.repository.po.ExecutionStockOutOrderPO; +import com.mhd.oms.domain.executionStockOutOrder.repository.po.ExecutionStockOutOrderTotalPO; import com.mhd.oms.domain.executionStockOutOrder.repository.todo.ExecutionStockOutOrderDO; import java.util.List; @@ -21,6 +22,11 @@ public interface IExecutionStockOutOrderService extends IService queryList(ExecutionStockOutOrderDO stockOutOrderDO); + /** + * 列表合计:按查询条件全量(不分页)汇总一级明细的计划数量与出库数量 + */ + public ExecutionStockOutOrderTotalPO queryListTotal(ExecutionStockOutOrderDO stockOutOrderDO); + /** * 新增出库单 */ diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/executionStockOutOrder/repository/mapper/ExecutionStockOutOrderMapper.java b/mhd_oms/src/main/java/com/mhd/oms/domain/executionStockOutOrder/repository/mapper/ExecutionStockOutOrderMapper.java index 173c8151a..e56e380b5 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/executionStockOutOrder/repository/mapper/ExecutionStockOutOrderMapper.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/executionStockOutOrder/repository/mapper/ExecutionStockOutOrderMapper.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.mhd.oms.domain.executionOutMaterialDetail.repository.po.ExecutionOutMaterialDetailPO; import com.mhd.oms.domain.executionStockOutOrder.entity.ExecutionStockOutOrder; import com.mhd.oms.domain.executionStockOutOrder.repository.po.ExecutionStockOutOrderPO; +import com.mhd.oms.domain.executionStockOutOrder.repository.po.ExecutionStockOutOrderTotalPO; import com.mhd.oms.domain.executionStockOutOrder.repository.todo.ExecutionStockOutOrderDO; import org.apache.ibatis.annotations.Param; //import com.mhd.oms.domain.reservationOutMaterialDetail.repository.po.ExecutionOutMaterialDetailPO; @@ -23,6 +24,11 @@ public interface ExecutionStockOutOrderMapper extends BaseMapper queryList(ExecutionStockOutOrderDO stockOutOrderDO); + /** + * 列表合计:按查询条件全量(不分页)汇总一级明细的计划数量与出库数量 + */ + public ExecutionStockOutOrderTotalPO queryListTotal(ExecutionStockOutOrderDO stockOutOrderDO); + /** * 出库单提货单打印-表头 */ diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/executionStockOutOrder/repository/persistence/ExecutionStockOutOrderImpl.java b/mhd_oms/src/main/java/com/mhd/oms/domain/executionStockOutOrder/repository/persistence/ExecutionStockOutOrderImpl.java index 34e567487..96fa29231 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/executionStockOutOrder/repository/persistence/ExecutionStockOutOrderImpl.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/executionStockOutOrder/repository/persistence/ExecutionStockOutOrderImpl.java @@ -6,6 +6,7 @@ import com.mhd.oms.domain.executionStockOutOrder.entity.ExecutionStockOutOrder; import com.mhd.oms.domain.executionStockOutOrder.repository.facade.IExecutionStockOutOrderService; import com.mhd.oms.domain.executionStockOutOrder.repository.mapper.ExecutionStockOutOrderMapper; import com.mhd.oms.domain.executionStockOutOrder.repository.po.ExecutionStockOutOrderPO; +import com.mhd.oms.domain.executionStockOutOrder.repository.po.ExecutionStockOutOrderTotalPO; import com.mhd.oms.domain.executionStockOutOrder.repository.todo.ExecutionStockOutOrderDO; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -34,6 +35,15 @@ public class ExecutionStockOutOrderImpl extends ServiceImpl当前筛选条件下不分页的全量合计,随分页列表一起返回 + * (totalPlanQuantity/totalOutboundQuantity),计划数量与出库数量分开计算

+ * + * @author rcx + * @date 2026-09-14 + */ +@Data +@ApiModel(value = "出库执行单列表合计对象", description = "出库执行单列表合计响应对象") +public class ExecutionStockOutOrderTotalPO implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("计划数量总数(一级明细计划数量之和)") + private BigDecimal totalPlanQuantity; + + @ApiModelProperty("出库数量总数(一级明细出库数量之和)") + private BigDecimal totalOutboundQuantity; +} diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/executionStockOutOrder/service/ExecutionStockOutOrderApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/executionStockOutOrder/service/ExecutionStockOutOrderApplicationService.java index 320fa25fa..5b1971c29 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/executionStockOutOrder/service/ExecutionStockOutOrderApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/executionStockOutOrder/service/ExecutionStockOutOrderApplicationService.java @@ -26,6 +26,7 @@ import com.mhd.oms.domain.executionStockOutOrder.entity.ExecutionStockOutOrder; import com.mhd.oms.domain.executionStockOutOrder.repository.facade.IExecutionStockOutOrderService; import com.mhd.oms.domain.executionStockOutOrder.repository.mapper.ExecutionStockOutOrderMapper; import com.mhd.oms.domain.executionStockOutOrder.repository.po.ExecutionStockOutOrderPO; +import com.mhd.oms.domain.executionStockOutOrder.repository.po.ExecutionStockOutOrderTotalPO; import com.mhd.oms.domain.executionStockOutOrder.repository.todo.ExecutionStockOutOrderDO; import com.mhd.oms.domain.executionStockOutOrder.repository.todo.ExecutionStockOutOrderDTO; import com.mhd.oms.domain.gwLog.entity.GwLog; @@ -225,6 +226,15 @@ public class ExecutionStockOutOrderApplicationService { return stockOutOrderPOS; } + /** + * 列表合计:按查询条件全量(不分页)汇总一级明细的计划数量与出库数量。 + * 须在 queryList/queryList1 之后用同一个DO调用:数据权限条件由列表查询原地写入DO, + * 合计查询才能继承生效后的筛选;且 PageHelper startPage 只拦截下一条SQL,本查询不会被分页。 + */ + public ExecutionStockOutOrderTotalPO queryListTotal(ExecutionStockOutOrderDO stockOutOrderDO) { + return stockOutOrderDomainService.queryListTotal(stockOutOrderDO); + } + /** * 新增出库单 diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/executionStockOutOrder/service/ExecutionStockOutOrderDomainService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/executionStockOutOrder/service/ExecutionStockOutOrderDomainService.java index bb352395a..1dbeed71b 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/executionStockOutOrder/service/ExecutionStockOutOrderDomainService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/executionStockOutOrder/service/ExecutionStockOutOrderDomainService.java @@ -30,6 +30,7 @@ import com.mhd.oms.domain.executionStockOutOrder.entity.ExecutionStockOutOrder; import com.mhd.oms.domain.executionStockOutOrder.repository.facade.IExecutionStockOutOrderService; import com.mhd.oms.domain.executionStockOutOrder.repository.mapper.ExecutionStockOutOrderMapper; import com.mhd.oms.domain.executionStockOutOrder.repository.po.ExecutionStockOutOrderPO; +import com.mhd.oms.domain.executionStockOutOrder.repository.po.ExecutionStockOutOrderTotalPO; import com.mhd.oms.domain.executionStockOutOrder.repository.todo.ExecutionStockOutOrderDO; import com.mhd.oms.domain.materialBaseInfo.service.MaterialBaseInfoResolveService; import com.mhd.oms.domain.reservationDeliveryDetailsLink.entity.ReservationDeliveryDetailsLink; @@ -114,6 +115,13 @@ public class ExecutionStockOutOrderDomainService { return stockOutOrderService.queryList(stockOutOrderDO); } + /** + * 列表合计:按查询条件全量(不分页)汇总一级明细的计划数量与出库数量 + */ + public ExecutionStockOutOrderTotalPO queryListTotal(ExecutionStockOutOrderDO stockOutOrderDO) { + return stockOutOrderService.queryListTotal(stockOutOrderDO); + } + /** * 从单号列表中提取最大序号 * 单号格式: prefix + 数字序号(如 RK260807001 中 prefix=RK260807, 序号=001) diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/facade/IReservationStockOutOrderService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/facade/IReservationStockOutOrderService.java index b0ce26bdd..36d728c3a 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/facade/IReservationStockOutOrderService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/facade/IReservationStockOutOrderService.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.mhd.oms.domain.reservationOutMaterialDetail.repository.po.ReservationOutMaterialDetailPO; import com.mhd.oms.domain.reservationStockOutOrder.entity.ReservationStockOutOrder; import com.mhd.oms.domain.reservationStockOutOrder.repository.po.ReservationStockOutOrderPO; +import com.mhd.oms.domain.reservationStockOutOrder.repository.po.ReservationStockOutOrderTotalPO; import com.mhd.oms.domain.reservationStockOutOrder.repository.todo.ReservationStockOutOrderDO; @@ -22,6 +23,11 @@ public interface IReservationStockOutOrderService extends IService queryList(ReservationStockOutOrderDO stockOutOrderDO); + /** + * 列表合计:按查询条件全量(不分页)汇总一级明细的计划数量与出库数量 + */ + public ReservationStockOutOrderTotalPO queryListTotal(ReservationStockOutOrderDO stockOutOrderDO); + /** * 新增出库单 */ diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/mapper/ReservationStockOutOrderMapper.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/mapper/ReservationStockOutOrderMapper.java index a459e02e2..62fc97bee 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/mapper/ReservationStockOutOrderMapper.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/mapper/ReservationStockOutOrderMapper.java @@ -6,6 +6,7 @@ import com.mhd.common.core.domain.po.UserPo; import com.mhd.oms.domain.reservationOutMaterialDetail.repository.po.ReservationOutMaterialDetailPO; import com.mhd.oms.domain.reservationStockOutOrder.entity.ReservationStockOutOrder; import com.mhd.oms.domain.reservationStockOutOrder.repository.po.ReservationStockOutOrderPO; +import com.mhd.oms.domain.reservationStockOutOrder.repository.po.ReservationStockOutOrderTotalPO; import com.mhd.oms.domain.reservationStockOutOrder.repository.todo.ReservationStockOutOrderDO; import org.apache.ibatis.annotations.Param; //import com.mhd.wms.domain.stockOutOrder.entity.ReservationStockOutOrder; @@ -27,6 +28,11 @@ public interface ReservationStockOutOrderMapper extends BaseMapper queryList(ReservationStockOutOrderDO stockOutOrderDO); + /** + * 列表合计:按查询条件全量(不分页)汇总一级明细的计划数量与出库数量 + */ + public ReservationStockOutOrderTotalPO queryListTotal(ReservationStockOutOrderDO stockOutOrderDO); + /** * 出库单提货单打印-表头 */ diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/persistence/ReservationStockOutOrderImpl.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/persistence/ReservationStockOutOrderImpl.java index c91598bc3..e7aea671c 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/persistence/ReservationStockOutOrderImpl.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/repository/persistence/ReservationStockOutOrderImpl.java @@ -11,6 +11,7 @@ import com.mhd.oms.domain.reservationStockOutOrder.entity.ReservationStockOutOrd import com.mhd.oms.domain.reservationStockOutOrder.repository.facade.IReservationStockOutOrderService; import com.mhd.oms.domain.reservationStockOutOrder.repository.mapper.ReservationStockOutOrderMapper; import com.mhd.oms.domain.reservationStockOutOrder.repository.po.ReservationStockOutOrderPO; +import com.mhd.oms.domain.reservationStockOutOrder.repository.po.ReservationStockOutOrderTotalPO; import com.mhd.oms.domain.reservationStockOutOrder.repository.todo.ReservationStockOutOrderDO; import com.mhd.system.api.model.LoginUser; //import com.mhd.wms.domain.deliveTask.repository.facade.IDeliveTaskTypeService; @@ -48,6 +49,15 @@ public class ReservationStockOutOrderImpl extends ServiceImpl当前筛选条件下不分页的全量合计,随分页列表一起返回 + * (totalPlanQuantity/totalOutboundQuantity),计划数量与出库数量分开计算

+ * + * @author rcx + * @date 2026-09-14 + */ +@Data +@ApiModel(value = "出库业务单列表合计对象", description = "出库业务单列表合计响应对象") +public class ReservationStockOutOrderTotalPO implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("计划数量总数(一级明细计划数量之和)") + private BigDecimal totalPlanQuantity; + + @ApiModelProperty("出库数量总数(一级明细出库数量之和)") + private BigDecimal totalOutboundQuantity; +} diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderApplicationService.java index e10484acd..b3186978b 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderApplicationService.java @@ -45,6 +45,7 @@ import com.mhd.oms.domain.reservationStockOutOrder.entity.ReservationStockOutOrd import com.mhd.oms.domain.reservationStockOutOrder.repository.facade.IReservationStockOutOrderService; import com.mhd.oms.domain.reservationStockOutOrder.repository.mapper.ReservationStockOutOrderMapper; import com.mhd.oms.domain.reservationStockOutOrder.repository.po.ReservationStockOutOrderPO; +import com.mhd.oms.domain.reservationStockOutOrder.repository.po.ReservationStockOutOrderTotalPO; import com.mhd.oms.domain.reservationStockOutOrder.repository.todo.ReservationStockOutOrderDO; import com.mhd.oms.domain.reservationStockOutOrder.repository.todo.ReservationStockOutOrderDTO; import com.mhd.oms.domain.reservationStockOutOrder.repository.vo.GwOutDetail; @@ -246,6 +247,15 @@ public class ReservationStockOutOrderApplicationService { return stockOutOrderPOS; } + /** + * 列表合计:按查询条件全量(不分页)汇总一级明细的计划数量与出库数量。 + * 须在 queryList/queryList1 之后用同一个DO调用:数据权限条件由列表查询原地写入DO, + * 合计查询才能继承生效后的筛选;且 PageHelper startPage 只拦截下一条SQL,本查询不会被分页。 + */ + public ReservationStockOutOrderTotalPO queryListTotal(ReservationStockOutOrderDO stockOutOrderDO) { + return stockOutOrderDomainService.queryListTotal(stockOutOrderDO); + } + /** * 新增出库单 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 9b91a0600..35fc4b80b 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 @@ -57,6 +57,7 @@ import com.mhd.oms.domain.reservationInventoryAdjustmentRecord.repository.mapper import com.mhd.oms.domain.reservationStockOutOrder.repository.facade.IReservationStockOutOrderService; import com.mhd.oms.domain.reservationStockOutOrder.repository.mapper.ReservationStockOutOrderMapper; import com.mhd.oms.domain.reservationStockOutOrder.repository.po.ReservationStockOutOrderPO; +import com.mhd.oms.domain.reservationStockOutOrder.repository.po.ReservationStockOutOrderTotalPO; import com.mhd.oms.domain.reservationStockOutOrder.repository.todo.ReservationStockOutOrderDO; import com.mhd.oms.domain.reserveStockOutOrder.repository.mapper.ReserveStockOutOrderMapper; import com.mhd.system.api.SystemServiceFeign; @@ -142,6 +143,13 @@ public class ReservationStockOutOrderDomainService { public List queryList(ReservationStockOutOrderDO stockOutOrderDO) { return stockOutOrderService.queryList(stockOutOrderDO); } + + /** + * 列表合计:按查询条件全量(不分页)汇总一级明细的计划数量与出库数量 + */ + public ReservationStockOutOrderTotalPO queryListTotal(ReservationStockOutOrderDO stockOutOrderDO) { + return stockOutOrderService.queryListTotal(stockOutOrderDO); + } /** * 从单号列表中提取最大序号 * 单号格式: prefix + 数字序号(如 RK260807001 中 prefix=RK260807, 序号=001) diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/ReservationStockOutOrder/ReservationStockOutOrderApi.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/ReservationStockOutOrder/ReservationStockOutOrderApi.java index ee912d037..277ab2e10 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/ReservationStockOutOrder/ReservationStockOutOrderApi.java +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/ReservationStockOutOrder/ReservationStockOutOrderApi.java @@ -1,15 +1,17 @@ package com.mhd.oms.interfaces.facade.ReservationStockOutOrder; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.github.pagehelper.PageInfo; +import com.mhd.common.core.constant.HttpStatus; import com.mhd.common.core.web.controller.BaseController; import com.mhd.common.core.web.domain.AjaxResult; -import com.mhd.common.core.web.page.TableDataInfo; import com.mhd.oms.domain.reservationOutMaterialDetail.repository.po.ReservationOutMaterialDetailPO; import com.mhd.oms.domain.reservationStockInOrder.repository.todo.ReservationStockInOrderDO; import com.mhd.oms.domain.reservationStockInOrder.repository.todo.ReservationStockInOrderDTO; import com.mhd.oms.domain.reservationStockOutOrder.entity.ReservationStockOutOrder; import com.mhd.oms.domain.reservationStockOutOrder.repository.facade.IReservationStockOutOrderService; import com.mhd.oms.domain.reservationStockOutOrder.repository.po.ReservationStockOutOrderPO; +import com.mhd.oms.domain.reservationStockOutOrder.repository.po.ReservationStockOutOrderTotalPO; import com.mhd.oms.domain.reservationStockOutOrder.repository.todo.ReservationStockOutOrderDO; import com.mhd.oms.domain.reservationStockOutOrder.repository.todo.ReservationStockOutOrderDTO; import com.mhd.oms.domain.reservationStockOutOrder.service.ReservationStockOutOrderApplicationService; @@ -46,17 +48,19 @@ public class ReservationStockOutOrderApi extends BaseController { private IReservationStockOutOrderService stockOutOrderService; /** - * 分页查询出库单列表 + * 分页查询出库单列表(附:当前查询条件下全量不分页的计划数量总数/出库数量总数) */ @ApiOperation("查询出库单列表") @GetMapping("/list") - public TableDataInfo list(ReservationStockOutOrderDTO stockOutOrderDTO) + public HashMap list(ReservationStockOutOrderDTO stockOutOrderDTO) { //转换实体 ReservationStockOutOrderDO stockOutOrderDO = stockOutOrderAssembler.toDO(stockOutOrderDTO); startPage(); List list = stockOutOrderApplicationService.queryList(stockOutOrderDO); - return getDataTable(list); + // 合计须在列表查询后用同一个DO查询:数据权限条件由列表查询原地写入DO,且不再被分页拦截 + ReservationStockOutOrderTotalPO total = stockOutOrderApplicationService.queryListTotal(stockOutOrderDO); + return getDataTableWithTotal(list, total); } @@ -250,13 +254,31 @@ public class ReservationStockOutOrderApi extends BaseController { @ApiOperation("查询出库单列表") @GetMapping("/list1") - public TableDataInfo list1(ReservationStockOutOrderDTO stockOutOrderDTO) + public HashMap list1(ReservationStockOutOrderDTO stockOutOrderDTO) { //转换实体 ReservationStockOutOrderDO stockOutOrderDO = stockOutOrderAssembler.toDO(stockOutOrderDTO); startPage(); List list = stockOutOrderApplicationService.queryList1(stockOutOrderDO); - return getDataTable(list); + // 合计须在列表查询后用同一个DO查询:数据权限条件由列表查询原地写入DO,且不再被分页拦截 + ReservationStockOutOrderTotalPO total = stockOutOrderApplicationService.queryListTotal(stockOutOrderDO); + return getDataTableWithTotal(list, total); + } + + /** + * 分页结果 + 合计:data/total/code/msg 之外追加计划数量总数/出库数量总数(key与TableDataInfo序列化结果一致,仅多两个字段) + */ + private HashMap getDataTableWithTotal(List list, ReservationStockOutOrderTotalPO total) { + HashMap result = new HashMap<>(); + result.put("data", list); + result.put("total", new PageInfo<>(list).getTotal()); + result.put("code", HttpStatus.SUCCESS); + result.put("msg", "查询成功"); + if (total != null) { + result.put("totalPlanQuantity", total.getTotalPlanQuantity()); + result.put("totalOutboundQuantity", total.getTotalOutboundQuantity()); + } + return result; } @ApiOperation("生成出库预约单号") diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/executionStockOutOrder/ExecutionStockOutOrderApi.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/executionStockOutOrder/ExecutionStockOutOrderApi.java index d0c679bc3..f4583ed3d 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/executionStockOutOrder/ExecutionStockOutOrderApi.java +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/executionStockOutOrder/ExecutionStockOutOrderApi.java @@ -1,13 +1,15 @@ package com.mhd.oms.interfaces.facade.executionStockOutOrder; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.github.pagehelper.PageInfo; +import com.mhd.common.core.constant.HttpStatus; import com.mhd.common.core.web.controller.BaseController; import com.mhd.common.core.web.domain.AjaxResult; -import com.mhd.common.core.web.page.TableDataInfo; import com.mhd.oms.domain.executionOutMaterialDetail.repository.po.ExecutionOutMaterialDetailPO; import com.mhd.oms.domain.executionStockOutOrder.entity.ExecutionStockOutOrder; import com.mhd.oms.domain.executionStockOutOrder.repository.facade.IExecutionStockOutOrderService; import com.mhd.oms.domain.executionStockOutOrder.repository.po.ExecutionStockOutOrderPO; +import com.mhd.oms.domain.executionStockOutOrder.repository.po.ExecutionStockOutOrderTotalPO; import com.mhd.oms.domain.executionStockOutOrder.repository.todo.ExecutionStockOutOrderDO; import com.mhd.oms.domain.executionStockOutOrder.repository.todo.ExecutionStockOutOrderDTO; import com.mhd.oms.domain.executionStockOutOrder.service.ExecutionStockOutOrderApplicationService; @@ -45,17 +47,19 @@ public class ExecutionStockOutOrderApi extends BaseController { private IExecutionStockOutOrderService stockOutOrderService; /** - * 分页查询出库单列表 + * 分页查询出库单列表(附:当前查询条件下全量不分页的计划数量总数/出库数量总数) */ @ApiOperation("查询出库单列表") @GetMapping("/list") - public TableDataInfo list(ExecutionStockOutOrderDTO stockOutOrderDTO) + public HashMap list(ExecutionStockOutOrderDTO stockOutOrderDTO) { //转换实体 ExecutionStockOutOrderDO stockOutOrderDO = stockOutOrderAssembler.toDO(stockOutOrderDTO); startPage(); List list = stockOutOrderApplicationService.queryList(stockOutOrderDO); - return getDataTable(list); + // 合计须在列表查询后用同一个DO查询:数据权限条件由列表查询原地写入DO,且不再被分页拦截 + ExecutionStockOutOrderTotalPO total = stockOutOrderApplicationService.queryListTotal(stockOutOrderDO); + return getDataTableWithTotal(list, total); } @@ -234,13 +238,31 @@ public class ExecutionStockOutOrderApi extends BaseController { @ApiOperation("查询出库单列表") @GetMapping("/list1") - public TableDataInfo list1(ExecutionStockOutOrderDTO stockOutOrderDTO) + public HashMap list1(ExecutionStockOutOrderDTO stockOutOrderDTO) { //转换实体 ExecutionStockOutOrderDO stockOutOrderDO = stockOutOrderAssembler.toDO(stockOutOrderDTO); startPage(); List list = stockOutOrderApplicationService.queryList1(stockOutOrderDO); - return getDataTable(list); + // 合计须在列表查询后用同一个DO查询:数据权限条件由列表查询原地写入DO,且不再被分页拦截 + ExecutionStockOutOrderTotalPO total = stockOutOrderApplicationService.queryListTotal(stockOutOrderDO); + return getDataTableWithTotal(list, total); + } + + /** + * 分页结果 + 合计:data/total/code/msg 之外追加计划数量总数/出库数量总数(key与TableDataInfo序列化结果一致,仅多两个字段) + */ + private HashMap getDataTableWithTotal(List list, ExecutionStockOutOrderTotalPO total) { + HashMap result = new HashMap<>(); + result.put("data", list); + result.put("total", new PageInfo<>(list).getTotal()); + result.put("code", HttpStatus.SUCCESS); + result.put("msg", "查询成功"); + if (total != null) { + result.put("totalPlanQuantity", total.getTotalPlanQuantity()); + result.put("totalOutboundQuantity", total.getTotalOutboundQuantity()); + } + return result; } } \ No newline at end of file diff --git a/mhd_oms/src/main/resources/mapper/executionStockOutOrder/ExecutionStockOutOrderMapper.xml b/mhd_oms/src/main/resources/mapper/executionStockOutOrder/ExecutionStockOutOrderMapper.xml index ced13d638..ca551b9c2 100644 --- a/mhd_oms/src/main/resources/mapper/executionStockOutOrder/ExecutionStockOutOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/executionStockOutOrder/ExecutionStockOutOrderMapper.xml @@ -117,6 +117,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -408,7 +409,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + + +