diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/executionStockInOrder/repository/facade/IExecutionStockInOrderService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/executionStockInOrder/repository/facade/IExecutionStockInOrderService.java
index 9ffe616d9..6e2077b69 100644
--- a/mhd_oms/src/main/java/com/mhd/oms/domain/executionStockInOrder/repository/facade/IExecutionStockInOrderService.java
+++ b/mhd_oms/src/main/java/com/mhd/oms/domain/executionStockInOrder/repository/facade/IExecutionStockInOrderService.java
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.mhd.oms.domain.executionInMaterialDetail.repository.po.ExecutionInMaterialDetailPO;
import com.mhd.oms.domain.executionStockInOrder.entity.ExecutionStockInOrder;
import com.mhd.oms.domain.executionStockInOrder.repository.po.ExecutionStockInOrderPO;
+import com.mhd.oms.domain.executionStockInOrder.repository.po.ExecutionStockInOrderTotalPO;
import com.mhd.oms.domain.executionStockInOrder.repository.todo.ExecutionStockInOrderDO;
import com.mhd.oms.domain.executionStockInOrder.repository.vo.DeliveryDataDTO;
import com.mhd.oms.domain.executionStockInOrder.repository.vo.StockInDataDTO;
@@ -25,6 +26,11 @@ public interface IExecutionStockInOrderService extends IService queryList(ExecutionStockInOrderDO stockInOrderDO);
+ /**
+ * 列表合计:按查询条件全量(不分页)汇总计划数量与入库数量
+ */
+ public ExecutionStockInOrderTotalPO queryListTotal(ExecutionStockInOrderDO stockInOrderDO);
+
/**
* 新增入库单
*/
diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/executionStockInOrder/repository/mapper/ExecutionStockInOrderMapper.java b/mhd_oms/src/main/java/com/mhd/oms/domain/executionStockInOrder/repository/mapper/ExecutionStockInOrderMapper.java
index e2621b868..14edeaac2 100644
--- a/mhd_oms/src/main/java/com/mhd/oms/domain/executionStockInOrder/repository/mapper/ExecutionStockInOrderMapper.java
+++ b/mhd_oms/src/main/java/com/mhd/oms/domain/executionStockInOrder/repository/mapper/ExecutionStockInOrderMapper.java
@@ -7,6 +7,7 @@ import com.mhd.oms.domain.executionStockInOrder.repository.po.MaterialBaseInfoPO
import com.mhd.oms.domain.executionStockInOrder.repository.po.MaterialGoodsRulePO;
import com.mhd.oms.domain.executionStockInOrder.repository.po.MaterialWarehouseControlPO;
import com.mhd.oms.domain.executionStockInOrder.repository.po.ExecutionStockInOrderPO;
+import com.mhd.oms.domain.executionStockInOrder.repository.po.ExecutionStockInOrderTotalPO;
import com.mhd.oms.domain.executionStockInOrder.repository.todo.ExecutionStockInOrderDO;
//import com.mhd.oms.domain.reservationInMaterialDetail.repository.po.ExecutionInMaterialDetailPO;
import org.apache.ibatis.annotations.Param;
@@ -27,6 +28,11 @@ public interface ExecutionStockInOrderMapper extends BaseMapper queryList(ExecutionStockInOrderDO stockInOrderDO);
+ /**
+ * 列表合计:按查询条件全量(不分页)汇总计划数量与入库数量
+ */
+ public ExecutionStockInOrderTotalPO queryListTotal(ExecutionStockInOrderDO stockInOrderDO);
+
public MaterialBaseInfoPO getinfo(@Param("id") Long id);
public MaterialBaseInfoPO getByName(@Param("name") String name);
diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/executionStockInOrder/repository/persistence/ExecutionStockInOrderImpl.java b/mhd_oms/src/main/java/com/mhd/oms/domain/executionStockInOrder/repository/persistence/ExecutionStockInOrderImpl.java
index c92312bea..6544f1081 100644
--- a/mhd_oms/src/main/java/com/mhd/oms/domain/executionStockInOrder/repository/persistence/ExecutionStockInOrderImpl.java
+++ b/mhd_oms/src/main/java/com/mhd/oms/domain/executionStockInOrder/repository/persistence/ExecutionStockInOrderImpl.java
@@ -26,6 +26,7 @@ import com.mhd.oms.domain.executionStockInOrder.repository.listener.StockInExcel
import com.mhd.oms.domain.executionStockInOrder.repository.mapper.ExecutionStockInOrderMapper;
import com.mhd.oms.domain.executionStockInOrder.repository.po.MaterialBaseInfoPO;
import com.mhd.oms.domain.executionStockInOrder.repository.po.ExecutionStockInOrderPO;
+import com.mhd.oms.domain.executionStockInOrder.repository.po.ExecutionStockInOrderTotalPO;
import com.mhd.oms.domain.executionStockInOrder.repository.todo.ExecutionStockInOrderDO;
import com.mhd.oms.domain.executionStockInOrder.repository.vo.*;
import com.mhd.oms.domain.executionStockOutOrder.entity.ExecutionStockOutOrder;
@@ -93,6 +94,15 @@ public class ExecutionStockInOrderImpl extends ServiceImpl当前筛选条件下不分页的全量合计,随分页列表一起返回
+ * (totalPlanQuantity/totalInQuantity),计划数量与入库数量分开计算
+ *
+ * @author rcx
+ * @date 2026-09-14
+ */
+@Data
+@ApiModel(value = "入库执行单列表合计对象", description = "入库执行单列表合计响应对象")
+public class ExecutionStockInOrderTotalPO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("计划数量总数")
+ private BigDecimal totalPlanQuantity;
+
+ @ApiModelProperty("入库数量总数")
+ private BigDecimal totalInQuantity;
+}
diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/executionStockInOrder/service/ExecutionStockInOrderApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/executionStockInOrder/service/ExecutionStockInOrderApplicationService.java
index 0491c2d66..f71a42ae6 100644
--- a/mhd_oms/src/main/java/com/mhd/oms/domain/executionStockInOrder/service/ExecutionStockInOrderApplicationService.java
+++ b/mhd_oms/src/main/java/com/mhd/oms/domain/executionStockInOrder/service/ExecutionStockInOrderApplicationService.java
@@ -18,6 +18,7 @@ import com.mhd.oms.domain.executionStockInOrder.entity.ExecutionStockInOrder;
import com.mhd.oms.domain.executionStockInOrder.repository.mapper.ExecutionStockInOrderMapper;
import com.mhd.oms.domain.executionStockInOrder.repository.po.MaterialBaseInfoPO;
import com.mhd.oms.domain.executionStockInOrder.repository.po.ExecutionStockInOrderPO;
+import com.mhd.oms.domain.executionStockInOrder.repository.po.ExecutionStockInOrderTotalPO;
import com.mhd.oms.domain.executionStockInOrder.repository.todo.ExecutionStockInOrderDO;
import com.mhd.oms.domain.executionStockInOrder.repository.todo.ExecutionStockInOrderDTO;
import com.mhd.oms.domain.executionStockInOrder.repository.vo.GwInDetail;
@@ -172,6 +173,15 @@ public class ExecutionStockInOrderApplicationService {
return stockInOrderDomainService.queryList(stockInOrderDO);
}
+ /**
+ * 列表合计:按查询条件全量(不分页)汇总计划数量与入库数量。
+ * 须在 queryList/queryList1 之后用同一个DO调用:数据权限条件由列表查询原地写入DO,
+ * 合计查询才能继承生效后的筛选;且 PageHelper startPage 只拦截下一条SQL,本查询不会被分页。
+ */
+ public ExecutionStockInOrderTotalPO queryListTotal(ExecutionStockInOrderDO stockInOrderDO) {
+ return stockInOrderDomainService.queryListTotal(stockInOrderDO);
+ }
+
/**
* 新增入库单
diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/executionStockInOrder/service/ExecutionStockInOrderDomainService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/executionStockInOrder/service/ExecutionStockInOrderDomainService.java
index 3758a733e..df652558f 100644
--- a/mhd_oms/src/main/java/com/mhd/oms/domain/executionStockInOrder/service/ExecutionStockInOrderDomainService.java
+++ b/mhd_oms/src/main/java/com/mhd/oms/domain/executionStockInOrder/service/ExecutionStockInOrderDomainService.java
@@ -30,6 +30,7 @@ import com.mhd.oms.domain.executionStockInOrder.repository.po.MaterialBaseInfoPO
import com.mhd.oms.domain.executionStockInOrder.repository.po.MaterialGoodsRulePO;
import com.mhd.oms.domain.executionStockInOrder.repository.po.MaterialWarehouseControlPO;
import com.mhd.oms.domain.executionStockInOrder.repository.po.ExecutionStockInOrderPO;
+import com.mhd.oms.domain.executionStockInOrder.repository.po.ExecutionStockInOrderTotalPO;
import com.mhd.oms.domain.executionStockInOrder.repository.todo.ExecutionStockInOrderDO;
import com.mhd.oms.domain.executionStockOutOrder.entity.ExecutionStockOutOrder;
import com.mhd.oms.domain.executionStockOutOrder.repository.facade.IExecutionStockOutOrderService;
@@ -113,6 +114,13 @@ public class ExecutionStockInOrderDomainService {
return stockInOrderService.queryList(stockInOrderDO);
}
+ /**
+ * 列表合计:按查询条件全量(不分页)汇总计划数量与入库数量
+ */
+ public ExecutionStockInOrderTotalPO queryListTotal(ExecutionStockInOrderDO stockInOrderDO) {
+ return stockInOrderService.queryListTotal(stockInOrderDO);
+ }
+
/**
* 从单号列表中提取最大序号
* 单号格式: prefix + 数字序号(如 RK260807001 中 prefix=RK260807, 序号=001)
diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/facade/IReservationStockInOrderService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/facade/IReservationStockInOrderService.java
index 2b73c694d..e09e9ab73 100644
--- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/facade/IReservationStockInOrderService.java
+++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/facade/IReservationStockInOrderService.java
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.mhd.oms.domain.reservationInMaterialDetail.repository.po.ReservationInMaterialDetailPO;
import com.mhd.oms.domain.reservationStockInOrder.entity.ReservationStockInOrder;
import com.mhd.oms.domain.reservationStockInOrder.repository.po.ReservationStockInOrderPO;
+import com.mhd.oms.domain.reservationStockInOrder.repository.po.ReservationStockInOrderTotalPO;
import com.mhd.oms.domain.reservationStockInOrder.repository.todo.ReservationStockInOrderDO;
import com.mhd.oms.domain.reservationStockInOrder.repository.vo.DeliveryDataDTO;
import com.mhd.oms.domain.reservationStockInOrder.repository.vo.SheetImportResultDTO;
@@ -26,6 +27,11 @@ public interface IReservationStockInOrderService extends IService queryList(ReservationStockInOrderDO stockInOrderDO);
+ /**
+ * 列表合计:按查询条件全量(不分页)汇总计划数量与入库数量
+ */
+ public ReservationStockInOrderTotalPO queryListTotal(ReservationStockInOrderDO stockInOrderDO);
+
/**
* 新增入库单
*/
diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/mapper/ReservationStockInOrderMapper.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/mapper/ReservationStockInOrderMapper.java
index 9f47433f4..b92675701 100644
--- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/mapper/ReservationStockInOrderMapper.java
+++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/mapper/ReservationStockInOrderMapper.java
@@ -8,6 +8,7 @@ import com.mhd.oms.domain.reservationStockInOrder.repository.po.MaterialBaseInfo
import com.mhd.oms.domain.reservationStockInOrder.repository.po.MaterialGoodsRulePO;
import com.mhd.oms.domain.reservationStockInOrder.repository.po.MaterialWarehouseControlPO;
import com.mhd.oms.domain.reservationStockInOrder.repository.po.ReservationStockInOrderPO;
+import com.mhd.oms.domain.reservationStockInOrder.repository.po.ReservationStockInOrderTotalPO;
import com.mhd.oms.domain.reservationStockInOrder.repository.todo.ReservationStockInOrderDO;
import org.apache.ibatis.annotations.Param;
@@ -27,6 +28,11 @@ public interface ReservationStockInOrderMapper extends BaseMapper queryList(ReservationStockInOrderDO stockInOrderDO);
+ /**
+ * 列表合计:按查询条件全量(不分页)汇总计划数量与入库数量
+ */
+ public ReservationStockInOrderTotalPO queryListTotal(ReservationStockInOrderDO stockInOrderDO);
+
public MaterialBaseInfoPO getinfo(@Param("id") Long id);
public MaterialBaseInfoPO getByName(@Param("name") String name);
diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/persistence/ReservationStockInOrderImpl.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/persistence/ReservationStockInOrderImpl.java
index 837b754b5..309c697be 100644
--- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/persistence/ReservationStockInOrderImpl.java
+++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/persistence/ReservationStockInOrderImpl.java
@@ -34,6 +34,7 @@ import com.mhd.oms.domain.reservationStockInOrder.repository.listener.StockInExc
import com.mhd.oms.domain.reservationStockInOrder.repository.mapper.ReservationStockInOrderMapper;
import com.mhd.oms.domain.reservationStockInOrder.repository.po.MaterialBaseInfoPO;
import com.mhd.oms.domain.reservationStockInOrder.repository.po.ReservationStockInOrderPO;
+import com.mhd.oms.domain.reservationStockInOrder.repository.po.ReservationStockInOrderTotalPO;
import com.mhd.oms.domain.reservationStockInOrder.repository.todo.ReservationStockInOrderDO;
import com.mhd.oms.domain.reservationStockInOrder.repository.vo.*;
import com.mhd.oms.domain.reservationStockInOrder.service.ReservationStockInOrderDomainService;
@@ -106,6 +107,15 @@ public class ReservationStockInOrderImpl extends ServiceImpl当前筛选条件下不分页的全量合计,随分页列表一起返回
+ * (totalPlanQuantity/totalInQuantity),计划数量与入库数量分开计算
+ *
+ * @author rcx
+ * @date 2026-09-14
+ */
+@Data
+@ApiModel(value = "入库业务单列表合计对象", description = "入库业务单列表合计响应对象")
+public class ReservationStockInOrderTotalPO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("计划数量总数")
+ private BigDecimal totalPlanQuantity;
+
+ @ApiModelProperty("入库数量总数")
+ private BigDecimal totalInQuantity;
+}
diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/service/ReservationStockInOrderApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/service/ReservationStockInOrderApplicationService.java
index 1ad2051aa..8bc363c23 100644
--- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/service/ReservationStockInOrderApplicationService.java
+++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/service/ReservationStockInOrderApplicationService.java
@@ -26,6 +26,7 @@ import com.mhd.oms.domain.reservationStockInOrder.entity.ReservationStockInOrder
import com.mhd.oms.domain.reservationStockInOrder.repository.mapper.ReservationStockInOrderMapper;
import com.mhd.oms.domain.reservationStockInOrder.repository.po.MaterialBaseInfoPO;
import com.mhd.oms.domain.reservationStockInOrder.repository.po.ReservationStockInOrderPO;
+import com.mhd.oms.domain.reservationStockInOrder.repository.po.ReservationStockInOrderTotalPO;
import com.mhd.oms.domain.reservationStockInOrder.repository.todo.ReservationStockInOrderDO;
import com.mhd.oms.domain.reservationStockInOrder.repository.todo.ReservationStockInOrderDTO;
import com.mhd.oms.domain.reservationStockInOrder.repository.todo.ReservationStockInOrderImportRowDTO;
@@ -184,6 +185,15 @@ public class ReservationStockInOrderApplicationService {
return stockInOrderDomainService.queryList(stockInOrderDO);
}
+ /**
+ * 列表合计:按查询条件全量(不分页)汇总计划数量与入库数量。
+ * 须在 queryList/queryList1 之后用同一个DO调用:数据权限条件由列表查询原地写入DO,
+ * 合计查询才能继承生效后的筛选;且 PageHelper startPage 只拦截下一条SQL,本查询不会被分页。
+ */
+ public ReservationStockInOrderTotalPO queryListTotal(ReservationStockInOrderDO stockInOrderDO) {
+ return stockInOrderDomainService.queryListTotal(stockInOrderDO);
+ }
+
/**
* 新增入库单
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 26595005f..7a017789b 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
@@ -36,6 +36,7 @@ import com.mhd.oms.domain.reservationStockInOrder.repository.po.MaterialBaseInfo
import com.mhd.oms.domain.reservationStockInOrder.repository.po.MaterialGoodsRulePO;
import com.mhd.oms.domain.reservationStockInOrder.repository.po.MaterialWarehouseControlPO;
import com.mhd.oms.domain.reservationStockInOrder.repository.po.ReservationStockInOrderPO;
+import com.mhd.oms.domain.reservationStockInOrder.repository.po.ReservationStockInOrderTotalPO;
import com.mhd.oms.domain.reservationStockInOrder.repository.todo.ReservationStockInOrderDO;
import com.mhd.oms.domain.reservationStockOutOrder.entity.ReservationStockOutOrder;
import com.mhd.oms.domain.reservationStockOutOrder.repository.facade.IReservationStockOutOrderService;
@@ -106,6 +107,13 @@ public class ReservationStockInOrderDomainService {
return stockInOrderService.queryList(stockInOrderDO);
}
+ /**
+ * 列表合计:按查询条件全量(不分页)汇总计划数量与入库数量
+ */
+ public ReservationStockInOrderTotalPO queryListTotal(ReservationStockInOrderDO stockInOrderDO) {
+ return stockInOrderService.queryListTotal(stockInOrderDO);
+ }
+
/**
* 生成入库预约单号
*/
diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/executionStockInOrder/ExecutionStockInOrderApi.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/executionStockInOrder/ExecutionStockInOrderApi.java
index 68469eecf..64b296f15 100644
--- a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/executionStockInOrder/ExecutionStockInOrderApi.java
+++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/executionStockInOrder/ExecutionStockInOrderApi.java
@@ -2,10 +2,11 @@ package com.mhd.oms.interfaces.facade.executionStockInOrder;
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.github.pagehelper.PageInfo;
import com.mhd.oms.domain.executionInMaterialDetail.repository.po.ExecutionInMaterialDetailPO;
import com.mhd.oms.domain.executionStockInOrder.repository.facade.IExecutionStockInOrderService;
import com.mhd.oms.domain.executionStockInOrder.repository.po.ExecutionStockInOrderPO;
+import com.mhd.oms.domain.executionStockInOrder.repository.po.ExecutionStockInOrderTotalPO;
import com.mhd.oms.domain.executionStockInOrder.repository.todo.ExecutionStockInOrderDO;
import com.mhd.oms.domain.executionStockInOrder.repository.todo.ExecutionStockInOrderDTO;
import com.mhd.oms.domain.executionStockInOrder.repository.vo.DeliveryDataDTO;
@@ -44,17 +45,19 @@ public class ExecutionStockInOrderApi extends BaseController {
private IExecutionStockInOrderService reservationStockInOrderService;
/**
- * 分页查询入库单列表
+ * 分页查询入库单列表(附:当前查询条件下全量不分页的计划数量总数/入库数量总数)
*/
@ApiOperation("查询入库单列表")
@GetMapping("/list")
- public TableDataInfo list(ExecutionStockInOrderDTO stockInOrderDTO)
+ public HashMap list(ExecutionStockInOrderDTO stockInOrderDTO)
{
//转换实体
ExecutionStockInOrderDO stockInOrderDO = stockInOrderAssembler.toDO(stockInOrderDTO);
startPage();
List list = stockInOrderApplicationService.queryList(stockInOrderDO);
- return getDataTable(list);
+ // 合计须在列表查询后用同一个DO查询:数据权限条件由列表查询原地写入DO,且不再被分页拦截
+ ExecutionStockInOrderTotalPO total = stockInOrderApplicationService.queryListTotal(stockInOrderDO);
+ return getDataTableWithTotal(list, total);
}
/**
@@ -271,13 +274,32 @@ public class ExecutionStockInOrderApi extends BaseController {
@ApiOperation("查询入库单列表")
@GetMapping("/list1")
- public TableDataInfo list1(ExecutionStockInOrderDTO stockInOrderDTO)
+ public HashMap list1(ExecutionStockInOrderDTO stockInOrderDTO)
{
//转换实体
ExecutionStockInOrderDO stockInOrderDO = stockInOrderAssembler.toDO(stockInOrderDTO);
startPage();
List list = stockInOrderApplicationService.queryList1(stockInOrderDO);
- return getDataTable(list);
+ // 合计须在列表查询后用同一个DO查询:数据权限条件由列表查询原地写入DO,且不再被分页拦截
+ ExecutionStockInOrderTotalPO total = stockInOrderApplicationService.queryListTotal(stockInOrderDO);
+ return getDataTableWithTotal(list, total);
+ }
+
+ /**
+ * 分页结果 + 合计:data/total/code/msg 之外追加计划数量总数/入库数量总数(key与TableDataInfo序列化结果一致,仅多两个字段)
+ * 注:本类已导入spring的HttpStatus,common的HttpStatus用全限定名避免冲突
+ */
+ private HashMap getDataTableWithTotal(List> list, ExecutionStockInOrderTotalPO total) {
+ HashMap result = new HashMap<>();
+ result.put("data", list);
+ result.put("total", new PageInfo<>(list).getTotal());
+ result.put("code", com.mhd.common.core.constant.HttpStatus.SUCCESS);
+ result.put("msg", "查询成功");
+ if (total != null) {
+ result.put("totalPlanQuantity", total.getTotalPlanQuantity());
+ result.put("totalInQuantity", total.getTotalInQuantity());
+ }
+ return result;
}
}
\ No newline at end of file
diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/reservationStockInOrder/ReservationStockInOrderApi.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/reservationStockInOrder/ReservationStockInOrderApi.java
index e104d34a3..88f3d4334 100644
--- a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/reservationStockInOrder/ReservationStockInOrderApi.java
+++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/reservationStockInOrder/ReservationStockInOrderApi.java
@@ -2,10 +2,11 @@ package com.mhd.oms.interfaces.facade.reservationStockInOrder;
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.github.pagehelper.PageInfo;
import com.mhd.oms.domain.reservationInMaterialDetail.repository.po.ReservationInMaterialDetailPO;
import com.mhd.oms.domain.reservationStockInOrder.repository.facade.IReservationStockInOrderService;
import com.mhd.oms.domain.reservationStockInOrder.repository.po.ReservationStockInOrderPO;
+import com.mhd.oms.domain.reservationStockInOrder.repository.po.ReservationStockInOrderTotalPO;
import com.mhd.oms.domain.reservationStockInOrder.repository.todo.ReservationStockInOrderDO;
import com.mhd.oms.domain.reservationStockInOrder.repository.todo.ReservationStockInOrderDTO;
import com.mhd.oms.domain.reservationStockInOrder.repository.vo.DeliveryDataDTO;
@@ -49,17 +50,19 @@ public class ReservationStockInOrderApi extends BaseController {
private IReservationStockInOrderService reservationStockInOrderService;
/**
- * 分页查询入库单列表
+ * 分页查询入库单列表(附:当前查询条件下全量不分页的计划数量总数/入库数量总数)
*/
@ApiOperation("查询入库单列表")
@GetMapping("/list")
- public TableDataInfo list(ReservationStockInOrderDTO stockInOrderDTO)
+ public HashMap list(ReservationStockInOrderDTO stockInOrderDTO)
{
//转换实体
ReservationStockInOrderDO stockInOrderDO = stockInOrderAssembler.toDO(stockInOrderDTO);
startPage();
List list = stockInOrderApplicationService.queryList(stockInOrderDO);
- return getDataTable(list);
+ // 合计须在列表查询后用同一个DO查询:数据权限条件由列表查询原地写入DO,且不再被分页拦截
+ ReservationStockInOrderTotalPO total = stockInOrderApplicationService.queryListTotal(stockInOrderDO);
+ return getDataTableWithTotal(list, total);
}
/**
@@ -317,13 +320,32 @@ public class ReservationStockInOrderApi extends BaseController {
@ApiOperation("查询入库单列表")
@GetMapping("/list1")
- public TableDataInfo list1(ReservationStockInOrderDTO stockInOrderDTO)
+ public HashMap list1(ReservationStockInOrderDTO stockInOrderDTO)
{
//转换实体
ReservationStockInOrderDO stockInOrderDO = stockInOrderAssembler.toDO(stockInOrderDTO);
startPage();
List list = stockInOrderApplicationService.queryList1(stockInOrderDO);
- return getDataTable(list);
+ // 合计须在列表查询后用同一个DO查询:数据权限条件由列表查询原地写入DO,且不再被分页拦截
+ ReservationStockInOrderTotalPO total = stockInOrderApplicationService.queryListTotal(stockInOrderDO);
+ return getDataTableWithTotal(list, total);
+ }
+
+ /**
+ * 分页结果 + 合计:data/total/code/msg 之外追加计划数量总数/入库数量总数(key与TableDataInfo序列化结果一致,仅多两个字段)
+ * 注:本类已导入spring的HttpStatus,common的HttpStatus用全限定名避免冲突
+ */
+ private HashMap getDataTableWithTotal(List> list, ReservationStockInOrderTotalPO total) {
+ HashMap result = new HashMap<>();
+ result.put("data", list);
+ result.put("total", new PageInfo<>(list).getTotal());
+ result.put("code", com.mhd.common.core.constant.HttpStatus.SUCCESS);
+ result.put("msg", "查询成功");
+ if (total != null) {
+ result.put("totalPlanQuantity", total.getTotalPlanQuantity());
+ result.put("totalInQuantity", total.getTotalInQuantity());
+ }
+ return result;
}
@ApiOperation("生成入库预约单号")
diff --git a/mhd_oms/src/main/resources/mapper/executionStockInOrder/ExecutionStockInOrderMapper.xml b/mhd_oms/src/main/resources/mapper/executionStockInOrder/ExecutionStockInOrderMapper.xml
index e321f8670..57376a1e2 100644
--- a/mhd_oms/src/main/resources/mapper/executionStockInOrder/ExecutionStockInOrderMapper.xml
+++ b/mhd_oms/src/main/resources/mapper/executionStockInOrder/ExecutionStockInOrderMapper.xml
@@ -532,6 +532,17 @@
ORDER BY a.create_time IS NULL, a.create_time DESC
+
+
+
diff --git a/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml b/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml
index 26b745141..e70a0048b 100644
--- a/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml
+++ b/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml
@@ -539,6 +539,17 @@
ORDER BY a.create_time IS NULL, a.create_time DESC
+
+
+
diff --git a/mhd_wms/src/main/java/com/mhd/wms/application/service/handoverTaskOrder/HandoverTaskOrderApplicationService.java b/mhd_wms/src/main/java/com/mhd/wms/application/service/handoverTaskOrder/HandoverTaskOrderApplicationService.java
index fe9c17096..7b4c9919b 100644
--- a/mhd_wms/src/main/java/com/mhd/wms/application/service/handoverTaskOrder/HandoverTaskOrderApplicationService.java
+++ b/mhd_wms/src/main/java/com/mhd/wms/application/service/handoverTaskOrder/HandoverTaskOrderApplicationService.java
@@ -21,6 +21,7 @@ import com.mhd.system.api.model.LoginUser;
import com.mhd.wms.domain.handoverTaskOrder.entity.HandoverTaskOrder;
import com.mhd.wms.domain.handoverTaskOrder.repository.facade.IHandoverTaskOrderService;
import com.mhd.wms.domain.handoverTaskOrder.repository.po.HandoverTaskOrderPO;
+import com.mhd.wms.domain.handoverTaskOrder.repository.po.HandoverTaskOrderTotalPO;
import com.mhd.wms.domain.handoverTaskOrder.repository.todo.HandoverTaskOrderDO;
import com.mhd.wms.domain.handoverTaskOrder.service.HandoverTaskOrderDomainService;
import com.mhd.wms.application.service.materialInventory.MaterialInventoryApplicationService;
@@ -126,6 +127,15 @@ public class HandoverTaskOrderApplicationService {
return handoverTaskOrderDomainService.queryList(handoverTaskOrderDO);
}
+ /**
+ * 列表合计:按查询条件全量(不分页)汇总交接明细的计划数量与出库数量(复核数量)。
+ * 须在 queryList 之后用同一个DO调用:数据权限条件由列表查询原地写入DO,
+ * 合计查询才能继承生效后的筛选;且 PageHelper startPage 只拦截下一条SQL,本查询不会被分页。
+ */
+ public HandoverTaskOrderTotalPO queryListTotal(HandoverTaskOrderDO handoverTaskOrderDO) {
+ return handoverTaskOrderDomainService.queryListTotal(handoverTaskOrderDO);
+ }
+
/**
* 新增交接作业单
diff --git a/mhd_wms/src/main/java/com/mhd/wms/application/service/pickingOrder/PickingOrderApplicationService.java b/mhd_wms/src/main/java/com/mhd/wms/application/service/pickingOrder/PickingOrderApplicationService.java
index 38a13922b..6a842a382 100644
--- a/mhd_wms/src/main/java/com/mhd/wms/application/service/pickingOrder/PickingOrderApplicationService.java
+++ b/mhd_wms/src/main/java/com/mhd/wms/application/service/pickingOrder/PickingOrderApplicationService.java
@@ -37,6 +37,7 @@ import com.mhd.wms.domain.pickingMaterialDetail.service.PickingMaterialDetailDom
import com.mhd.wms.domain.pickingOrder.entity.PickingOrder;
import com.mhd.wms.domain.pickingOrder.repository.mapper.PickingOrderMapper;
import com.mhd.wms.domain.pickingOrder.repository.po.PickingOrderPO;
+import com.mhd.wms.domain.pickingOrder.repository.po.PickingOrderTotalPO;
import com.mhd.wms.domain.pickingOrder.repository.todo.PickingOrderDO;
import com.mhd.wms.domain.pickingOrder.service.PickingOrderDomainService;
import com.mhd.wms.domain.materialGoodsRule.repository.facade.IMaterialGoodsRuleService;
@@ -208,6 +209,15 @@ public class PickingOrderApplicationService {
return pickingOrderPOList;
}
+ /**
+ * 列表合计:按查询条件全量(不分页)汇总计划数量与出库数量(拣货数量)。
+ * 须在 queryList 之后用同一个DO调用:数据权限条件由列表查询原地写入DO,
+ * 合计查询才能继承生效后的筛选;且 PageHelper startPage 只拦截下一条SQL,本查询不会被分页。
+ */
+ public PickingOrderTotalPO queryListTotal(PickingOrderDO pickingOrderDO) {
+ return pickingOrderDomainService.queryListTotal(pickingOrderDO);
+ }
+
/**
* 新增拣货单
diff --git a/mhd_wms/src/main/java/com/mhd/wms/application/service/reviewOrder/ReviewOrderApplicationService.java b/mhd_wms/src/main/java/com/mhd/wms/application/service/reviewOrder/ReviewOrderApplicationService.java
index ef40b67d0..8e4f9a6ce 100644
--- a/mhd_wms/src/main/java/com/mhd/wms/application/service/reviewOrder/ReviewOrderApplicationService.java
+++ b/mhd_wms/src/main/java/com/mhd/wms/application/service/reviewOrder/ReviewOrderApplicationService.java
@@ -33,6 +33,7 @@ import com.mhd.wms.domain.reviewOrder.repository.mapper.ReviewMaterialDetailMapp
import com.mhd.wms.domain.reviewOrder.repository.mapper.ReviewOrderMapper;
import com.mhd.wms.domain.reviewOrder.repository.po.ReviewMaterialDetailPO;
import com.mhd.wms.domain.reviewOrder.repository.po.ReviewOrderPO;
+import com.mhd.wms.domain.reviewOrder.repository.po.ReviewOrderTotalPO;
import com.mhd.wms.domain.reviewOrder.repository.todo.ReviewOrderDO;
import com.mhd.wms.domain.stockOutTaskOrder.entity.StockOutTaskOrder;
import com.mhd.wms.domain.stockOutTaskOrder.repository.facade.IStockOutTaskOrderService;
@@ -107,6 +108,19 @@ public class ReviewOrderApplicationService {
return reviewOrderMapper.queryList(query);
}
+ /**
+ * 列表合计:按查询条件全量(不分页)汇总计划数量与出库数量(已复核数量)。
+ * 与 queryList 同样应用数据权限(方法幂等,重复应用结果一致);
+ * 须在 queryList 之后用同一个 query 调用,且 PageHelper startPage 只拦截下一条SQL,本查询不会被分页。
+ */
+ public ReviewOrderTotalPO queryListTotal(ReviewOrderDO query) {
+ if (query == null) {
+ query = new ReviewOrderDO();
+ }
+ applyReviewOrderDataPermission(query);
+ return reviewOrderMapper.queryListTotal(query);
+ }
+
/**
* PDA 复核任务列表:数据来自 REVIEW_ORDER,仅展示已下发任务;与出库单 PDA 列表的 tab 语义对齐。
*/
diff --git a/mhd_wms/src/main/java/com/mhd/wms/application/service/stockInOrder/StockInOrderApplicationService.java b/mhd_wms/src/main/java/com/mhd/wms/application/service/stockInOrder/StockInOrderApplicationService.java
index 042799783..d23cb6307 100644
--- a/mhd_wms/src/main/java/com/mhd/wms/application/service/stockInOrder/StockInOrderApplicationService.java
+++ b/mhd_wms/src/main/java/com/mhd/wms/application/service/stockInOrder/StockInOrderApplicationService.java
@@ -52,6 +52,7 @@ import com.mhd.wms.domain.stockInOrder.repository.facade.IStockInOrderService;
import com.mhd.wms.domain.stockInOrder.entity.StockInOrder;
import com.mhd.wms.domain.stockInOrder.repository.mapper.StockInOrderMapper;
import com.mhd.wms.domain.stockInOrder.repository.po.StockInOrderPO;
+import com.mhd.wms.domain.stockInOrder.repository.po.StockInOrderTotalPO;
import com.mhd.wms.domain.stockInOrder.repository.todo.StockInOrderDO;
import com.mhd.wms.domain.stockInOrder.repository.vo.GwInDetail;
import com.mhd.wms.domain.stockInOrder.repository.vo.GwStockInOrder;
@@ -284,6 +285,15 @@ public class StockInOrderApplicationService {
return stockInOrderPOS;
}
+ /**
+ * 列表合计:按查询条件全量(不分页)汇总计划数量与入库数量。
+ * 须在 queryList 之后用同一个DO调用:数据权限条件由列表查询原地写入DO,
+ * 合计查询才能继承生效后的筛选;且 PageHelper startPage 只拦截下一条SQL,本查询不会被分页。
+ */
+ public StockInOrderTotalPO queryListTotal(StockInOrderDO stockInOrderDO) {
+ return stockInOrderDomainService.queryListTotal(stockInOrderDO);
+ }
+
/**
* PDA入库签名列表查询
*
diff --git a/mhd_wms/src/main/java/com/mhd/wms/application/service/stockOutOrder/StockOutOrderApplicationService.java b/mhd_wms/src/main/java/com/mhd/wms/application/service/stockOutOrder/StockOutOrderApplicationService.java
index e43e6d37d..695c6ee77 100644
--- a/mhd_wms/src/main/java/com/mhd/wms/application/service/stockOutOrder/StockOutOrderApplicationService.java
+++ b/mhd_wms/src/main/java/com/mhd/wms/application/service/stockOutOrder/StockOutOrderApplicationService.java
@@ -64,6 +64,7 @@ import com.mhd.wms.domain.stockOutOrder.entity.StockOutOrder;
import com.mhd.wms.domain.stockOutOrder.repository.facade.IStockOutOrderService;
import com.mhd.wms.domain.stockOutOrder.repository.mapper.StockOutOrderMapper;
import com.mhd.wms.domain.stockOutOrder.repository.po.StockOutOrderPO;
+import com.mhd.wms.domain.stockOutOrder.repository.po.StockOutOrderTotalPO;
import com.mhd.wms.domain.stockOutOrder.repository.todo.StockOutOrderDO;
import com.mhd.wms.domain.stockOutOrder.service.StockOutOrderDomainService;
import com.mhd.wms.domain.outOrderFreezeRecord.service.OutOrderFreezeRecordDomainService;
@@ -330,6 +331,15 @@ public class StockOutOrderApplicationService {
return stockOutOrderPOS;
}
+ /**
+ * 列表合计:按查询条件全量(不分页)汇总计划数量与出库数量。
+ * 须在 queryList 之后用同一个DO调用:数据权限条件由列表查询原地写入DO,
+ * 合计查询才能继承生效后的筛选;且 PageHelper startPage 只拦截下一条SQL,本查询不会被分页。
+ */
+ public StockOutOrderTotalPO queryListTotal(StockOutOrderDO stockOutOrderDO) {
+ return stockOutOrderDomainService.queryListTotal(stockOutOrderDO);
+ }
+
/**
* PDA出库签名列表查询
*
diff --git a/mhd_wms/src/main/java/com/mhd/wms/application/service/stockReceiptOrder/StockReceiptOrderApplicationService.java b/mhd_wms/src/main/java/com/mhd/wms/application/service/stockReceiptOrder/StockReceiptOrderApplicationService.java
index 3760dfd7d..027266f82 100644
--- a/mhd_wms/src/main/java/com/mhd/wms/application/service/stockReceiptOrder/StockReceiptOrderApplicationService.java
+++ b/mhd_wms/src/main/java/com/mhd/wms/application/service/stockReceiptOrder/StockReceiptOrderApplicationService.java
@@ -42,6 +42,7 @@ import com.mhd.wms.domain.receiptOrderAccount.repository.facade.IReceiptOrderAcc
import com.mhd.wms.domain.stockInOrder.repository.facade.IStockInOrderService;
import com.mhd.wms.domain.stockInOrder.repository.todo.StockInOrderDO;
import com.mhd.wms.domain.stockReceiptOrder.repository.po.StockReceiptOrderPO;
+import com.mhd.wms.domain.stockReceiptOrder.repository.po.StockReceiptOrderTotalPO;
import com.mhd.wms.domain.stockReceiptOrder.repository.todo.NoReceiptOrderDO;
import com.mhd.wms.domain.stockReceiptOrder.repository.todo.StockReceiptOrderDO;
import com.mhd.wms.domain.stockReceiptOrder.service.StockReceiptOrderDomainService;
@@ -182,6 +183,15 @@ public class StockReceiptOrderApplicationService {
return stockReceiptOrderPOS;
}
+ /**
+ * 列表合计:按查询条件全量(不分页)汇总计划数量与入库数量(收货数量)。
+ * 须在 queryList 之后用同一个DO调用:数据权限条件由列表查询原地写入DO,
+ * 合计查询才能继承生效后的筛选;且 PageHelper startPage 只拦截下一条SQL,本查询不会被分页。
+ */
+ public StockReceiptOrderTotalPO queryListTotal(StockReceiptOrderDO stockReceiptOrderDO) {
+ return stockReceiptOrderDomainService.queryListTotal(stockReceiptOrderDO);
+ }
+
/**
* 修改收货单
*/
diff --git a/mhd_wms/src/main/java/com/mhd/wms/application/service/stockShelfOrder/StockShelfOrderApplicationService.java b/mhd_wms/src/main/java/com/mhd/wms/application/service/stockShelfOrder/StockShelfOrderApplicationService.java
index 9d5f81782..54a4678b8 100644
--- a/mhd_wms/src/main/java/com/mhd/wms/application/service/stockShelfOrder/StockShelfOrderApplicationService.java
+++ b/mhd_wms/src/main/java/com/mhd/wms/application/service/stockShelfOrder/StockShelfOrderApplicationService.java
@@ -58,6 +58,7 @@ import com.mhd.wms.domain.stockShelfOrder.entity.StockShelfOrder;
import com.mhd.wms.domain.stockShelfOrder.repository.facade.IStockShelfOrderService;
import com.mhd.wms.domain.stockShelfOrder.repository.mapper.StockShelfOrderMapper;
import com.mhd.wms.domain.stockShelfOrder.repository.po.StockShelfOrderPO;
+import com.mhd.wms.domain.stockShelfOrder.repository.po.StockShelfOrderTotalPO;
import com.mhd.wms.domain.stockShelfOrder.repository.todo.StockShelfOrderDO;
import com.mhd.wms.domain.stockShelfOrder.service.StockShelfOrderDomainService;
import com.mhd.wms.domain.customsDeclarationDetail.repository.facade.ICustomsDeclarationDetailService;
@@ -213,6 +214,15 @@ public class StockShelfOrderApplicationService {
return stockShelfOrderDomainService.queryList(stockShelfOrderDO);
}
+ /**
+ * 列表合计:按查询条件全量(不分页)汇总计划数量(应上架量)与入库数量(上架数量)。
+ * 须在 queryList 之后用同一个DO调用:数据权限条件由列表查询原地写入DO,
+ * 合计查询才能继承生效后的筛选;且 PageHelper startPage 只拦截下一条SQL,本查询不会被分页。
+ */
+ public StockShelfOrderTotalPO queryListTotal(StockShelfOrderDO stockShelfOrderDO) {
+ return stockShelfOrderDomainService.queryListTotal(stockShelfOrderDO);
+ }
+
/**
* 新增上架单
diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/handoverTaskOrder/repository/facade/IHandoverTaskOrderService.java b/mhd_wms/src/main/java/com/mhd/wms/domain/handoverTaskOrder/repository/facade/IHandoverTaskOrderService.java
index 1909f7ae8..aaeee0f2f 100644
--- a/mhd_wms/src/main/java/com/mhd/wms/domain/handoverTaskOrder/repository/facade/IHandoverTaskOrderService.java
+++ b/mhd_wms/src/main/java/com/mhd/wms/domain/handoverTaskOrder/repository/facade/IHandoverTaskOrderService.java
@@ -3,6 +3,7 @@ package com.mhd.wms.domain.handoverTaskOrder.repository.facade;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mhd.wms.domain.handoverTaskOrder.entity.HandoverTaskOrder;
import com.mhd.wms.domain.handoverTaskOrder.repository.po.HandoverTaskOrderPO;
+import com.mhd.wms.domain.handoverTaskOrder.repository.po.HandoverTaskOrderTotalPO;
import com.mhd.wms.domain.handoverTaskOrder.repository.todo.HandoverTaskOrderDO;
import java.util.List;
@@ -20,6 +21,11 @@ public interface IHandoverTaskOrderService extends IService
*/
public List queryList(HandoverTaskOrderDO handoverTaskOrderDO);
+ /**
+ * 列表合计:按查询条件全量(不分页)汇总交接明细的计划数量与出库数量(复核数量)
+ */
+ public HandoverTaskOrderTotalPO queryListTotal(HandoverTaskOrderDO handoverTaskOrderDO);
+
/**
* 新增交接作业单
*/
diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/handoverTaskOrder/repository/mapper/HandoverTaskOrderMapper.java b/mhd_wms/src/main/java/com/mhd/wms/domain/handoverTaskOrder/repository/mapper/HandoverTaskOrderMapper.java
index 0af21184d..54db84424 100644
--- a/mhd_wms/src/main/java/com/mhd/wms/domain/handoverTaskOrder/repository/mapper/HandoverTaskOrderMapper.java
+++ b/mhd_wms/src/main/java/com/mhd/wms/domain/handoverTaskOrder/repository/mapper/HandoverTaskOrderMapper.java
@@ -3,6 +3,7 @@ package com.mhd.wms.domain.handoverTaskOrder.repository.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mhd.wms.domain.handoverTaskOrder.entity.HandoverTaskOrder;
import com.mhd.wms.domain.handoverTaskOrder.repository.po.HandoverTaskOrderPO;
+import com.mhd.wms.domain.handoverTaskOrder.repository.po.HandoverTaskOrderTotalPO;
import com.mhd.wms.domain.handoverTaskOrder.repository.todo.HandoverTaskOrderDO;
import org.apache.ibatis.annotations.Param;
@@ -21,6 +22,11 @@ public interface HandoverTaskOrderMapper extends BaseMapper
*/
public List queryList(HandoverTaskOrderDO handoverTaskOrderDO);
+ /**
+ * 列表合计:按查询条件全量(不分页)汇总交接明细的计划数量与出库数量(复核数量)
+ */
+ public HandoverTaskOrderTotalPO queryListTotal(HandoverTaskOrderDO handoverTaskOrderDO);
+
public void updateOmsOrder(@Param("orderNumber") String orderNumber, @Param("status") Integer status);
public void updateOmsExecutionOrder(@Param("orderNumber") String orderNumber, @Param("status") Integer status);
diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/handoverTaskOrder/repository/persistence/HandoverTaskOrderImpl.java b/mhd_wms/src/main/java/com/mhd/wms/domain/handoverTaskOrder/repository/persistence/HandoverTaskOrderImpl.java
index d14bc4988..78d092676 100644
--- a/mhd_wms/src/main/java/com/mhd/wms/domain/handoverTaskOrder/repository/persistence/HandoverTaskOrderImpl.java
+++ b/mhd_wms/src/main/java/com/mhd/wms/domain/handoverTaskOrder/repository/persistence/HandoverTaskOrderImpl.java
@@ -11,6 +11,7 @@ import com.mhd.wms.domain.handoverTaskOrder.entity.HandoverTaskOrder;
import com.mhd.wms.domain.handoverTaskOrder.repository.facade.IHandoverTaskOrderService;
import com.mhd.wms.domain.handoverTaskOrder.repository.mapper.HandoverTaskOrderMapper;
import com.mhd.wms.domain.handoverTaskOrder.repository.po.HandoverTaskOrderPO;
+import com.mhd.wms.domain.handoverTaskOrder.repository.po.HandoverTaskOrderTotalPO;
import com.mhd.wms.domain.handoverTaskOrder.repository.todo.HandoverTaskOrderDO;
import com.mhd.wms.domain.shiftManage.entity.ShiftManage;
import com.mhd.wms.domain.shiftManage.repository.todo.ShiftManageDO;
@@ -43,6 +44,15 @@ public class HandoverTaskOrderImpl extends ServiceImpl当前筛选条件下不分页的全量合计,随分页列表一起返回
+ * (totalPlanQuantity/totalOutboundQuantity),计划数量与出库数量分开计算;
+ * 头表无数量列,两口径均按交接明细 task_handover_material_detail(del_flag=1) 求和:
+ * 计划数量=quantity,出库数量=check_quantity(复核数量, 与详情页出库数量口径一致)
+ *
+ * @author rcx
+ * @date 2026-09-14
+ */
+@Data
+@ApiModel(value = "出库交接列表合计对象", description = "出库交接列表合计响应对象")
+public class HandoverTaskOrderTotalPO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("计划数量总数(交接明细计划数量求和)")
+ private BigDecimal totalPlanQuantity;
+
+ @ApiModelProperty("出库数量总数(交接明细复核数量求和)")
+ private BigDecimal totalOutboundQuantity;
+}
diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/handoverTaskOrder/service/HandoverTaskOrderDomainService.java b/mhd_wms/src/main/java/com/mhd/wms/domain/handoverTaskOrder/service/HandoverTaskOrderDomainService.java
index 56804b665..82ed3f23e 100644
--- a/mhd_wms/src/main/java/com/mhd/wms/domain/handoverTaskOrder/service/HandoverTaskOrderDomainService.java
+++ b/mhd_wms/src/main/java/com/mhd/wms/domain/handoverTaskOrder/service/HandoverTaskOrderDomainService.java
@@ -33,6 +33,7 @@ import com.mhd.wms.domain.deliveTask.repository.todo.DeliveTaskDO;
import com.mhd.wms.domain.handoverTaskOrder.entity.HandoverTaskOrder;
import com.mhd.wms.domain.handoverTaskOrder.repository.facade.IHandoverTaskOrderService;
import com.mhd.wms.domain.handoverTaskOrder.repository.po.HandoverTaskOrderPO;
+import com.mhd.wms.domain.handoverTaskOrder.repository.po.HandoverTaskOrderTotalPO;
import com.mhd.wms.domain.handoverTaskOrder.repository.todo.HandoverTaskOrderDO;
import com.mhd.wms.domain.inventoryAdjustmentRecord.entity.InventoryAdjustmentRecord;
import com.mhd.wms.domain.inventoryAdjustmentRecord.repository.mapper.InventoryAdjustmentRecordMapper;
@@ -135,6 +136,13 @@ public class HandoverTaskOrderDomainService {
return handoverTaskOrderService.queryList(handoverTaskOrderDO);
}
+ /**
+ * 列表合计:按查询条件全量(不分页)汇总交接明细的计划数量与出库数量(复核数量)
+ */
+ public HandoverTaskOrderTotalPO queryListTotal(HandoverTaskOrderDO handoverTaskOrderDO) {
+ return handoverTaskOrderService.queryListTotal(handoverTaskOrderDO);
+ }
+
/**
* 新增交接作业单
diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/pickingOrder/repository/facade/IPickingOrderService.java b/mhd_wms/src/main/java/com/mhd/wms/domain/pickingOrder/repository/facade/IPickingOrderService.java
index 6cc9e3a25..1f02b0adb 100644
--- a/mhd_wms/src/main/java/com/mhd/wms/domain/pickingOrder/repository/facade/IPickingOrderService.java
+++ b/mhd_wms/src/main/java/com/mhd/wms/domain/pickingOrder/repository/facade/IPickingOrderService.java
@@ -3,6 +3,7 @@ package com.mhd.wms.domain.pickingOrder.repository.facade;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mhd.wms.domain.pickingOrder.entity.PickingOrder;
import com.mhd.wms.domain.pickingOrder.repository.po.PickingOrderPO;
+import com.mhd.wms.domain.pickingOrder.repository.po.PickingOrderTotalPO;
import com.mhd.wms.domain.pickingOrder.repository.todo.PickingOrderDO;
import java.util.List;
@@ -20,6 +21,11 @@ public interface IPickingOrderService extends IService
*/
public List queryList(PickingOrderDO pickingOrderDO);
+ /**
+ * 列表合计:按查询条件全量(不分页)汇总计划数量与出库数量(拣货数量)
+ */
+ public PickingOrderTotalPO queryListTotal(PickingOrderDO pickingOrderDO);
+
/**
* 新增拣货单
*/
diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/pickingOrder/repository/mapper/PickingOrderMapper.java b/mhd_wms/src/main/java/com/mhd/wms/domain/pickingOrder/repository/mapper/PickingOrderMapper.java
index 6ae3ffd54..94943e554 100644
--- a/mhd_wms/src/main/java/com/mhd/wms/domain/pickingOrder/repository/mapper/PickingOrderMapper.java
+++ b/mhd_wms/src/main/java/com/mhd/wms/domain/pickingOrder/repository/mapper/PickingOrderMapper.java
@@ -3,6 +3,7 @@ package com.mhd.wms.domain.pickingOrder.repository.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mhd.wms.domain.pickingOrder.entity.PickingOrder;
import com.mhd.wms.domain.pickingOrder.repository.po.PickingOrderPO;
+import com.mhd.wms.domain.pickingOrder.repository.po.PickingOrderTotalPO;
import com.mhd.wms.domain.pickingOrder.repository.todo.PickingOrderDO;
import java.util.List;
@@ -20,6 +21,11 @@ public interface PickingOrderMapper extends BaseMapper
*/
public List queryList(PickingOrderDO pickingOrderDO);
+ /**
+ * 列表合计:按查询条件全量(不分页)汇总计划数量与出库数量(拣货数量)
+ */
+ public PickingOrderTotalPO queryListTotal(PickingOrderDO pickingOrderDO);
+
/**
* 根据Id关联出库单查询
*/
diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/pickingOrder/repository/persistence/PickingOrderImpl.java b/mhd_wms/src/main/java/com/mhd/wms/domain/pickingOrder/repository/persistence/PickingOrderImpl.java
index 02187ecf7..5a2ab1df4 100644
--- a/mhd_wms/src/main/java/com/mhd/wms/domain/pickingOrder/repository/persistence/PickingOrderImpl.java
+++ b/mhd_wms/src/main/java/com/mhd/wms/domain/pickingOrder/repository/persistence/PickingOrderImpl.java
@@ -8,6 +8,7 @@ import com.mhd.wms.domain.pickingOrder.entity.PickingOrder;
import com.mhd.wms.domain.pickingOrder.repository.facade.IPickingOrderService;
import com.mhd.wms.domain.pickingOrder.repository.mapper.PickingOrderMapper;
import com.mhd.wms.domain.pickingOrder.repository.po.PickingOrderPO;
+import com.mhd.wms.domain.pickingOrder.repository.po.PickingOrderTotalPO;
import com.mhd.wms.domain.pickingOrder.repository.todo.PickingOrderDO;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -38,6 +39,15 @@ public class PickingOrderImpl extends ServiceImpl当前筛选条件下不分页的全量合计,随分页列表一起返回
+ * (totalPlanQuantity/totalOutboundQuantity),计划数量与出库数量分开计算;
+ * 出库数量口径与列表行 picking_quantity 列一致(拣货明细实拣汇总,del_flag随主单)
+ *
+ * @author rcx
+ * @date 2026-09-14
+ */
+@Data
+@ApiModel(value = "拣货管理列表合计对象", description = "拣货管理列表合计响应对象")
+public class PickingOrderTotalPO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("计划数量总数")
+ private BigDecimal totalPlanQuantity;
+
+ @ApiModelProperty("出库数量总数(拣货数量)")
+ private BigDecimal totalOutboundQuantity;
+}
diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/pickingOrder/service/PickingOrderDomainService.java b/mhd_wms/src/main/java/com/mhd/wms/domain/pickingOrder/service/PickingOrderDomainService.java
index 2fbaaf58c..10f86f0e7 100644
--- a/mhd_wms/src/main/java/com/mhd/wms/domain/pickingOrder/service/PickingOrderDomainService.java
+++ b/mhd_wms/src/main/java/com/mhd/wms/domain/pickingOrder/service/PickingOrderDomainService.java
@@ -46,6 +46,7 @@ import com.mhd.wms.domain.pickingMaterialDetail.repository.todo.PickingMaterialD
import com.mhd.wms.domain.pickingOrder.entity.PickingOrder;
import com.mhd.wms.domain.pickingOrder.repository.facade.IPickingOrderService;
import com.mhd.wms.domain.pickingOrder.repository.po.PickingOrderPO;
+import com.mhd.wms.domain.pickingOrder.repository.po.PickingOrderTotalPO;
import com.mhd.wms.domain.pickingOrder.repository.todo.PickingOrderDO;
import com.mhd.wms.application.service.reviewOrder.ReviewOrderApplicationService;
import com.mhd.wms.domain.pushSyncBms.PushSyncBmsDomainService;
@@ -140,6 +141,13 @@ public class PickingOrderDomainService {
return pickingOrderService.queryList(pickingOrderDO);
}
+ /**
+ * 列表合计:按查询条件全量(不分页)汇总计划数量与出库数量(拣货数量)
+ */
+ public PickingOrderTotalPO queryListTotal(PickingOrderDO pickingOrderDO) {
+ return pickingOrderService.queryListTotal(pickingOrderDO);
+ }
+
/**
* 新增拣货单
diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/reviewOrder/repository/mapper/ReviewOrderMapper.java b/mhd_wms/src/main/java/com/mhd/wms/domain/reviewOrder/repository/mapper/ReviewOrderMapper.java
index de063e2dd..9e4bf3a00 100644
--- a/mhd_wms/src/main/java/com/mhd/wms/domain/reviewOrder/repository/mapper/ReviewOrderMapper.java
+++ b/mhd_wms/src/main/java/com/mhd/wms/domain/reviewOrder/repository/mapper/ReviewOrderMapper.java
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mhd.wms.domain.reviewOrder.entity.ReviewOrder;
import com.mhd.wms.domain.reviewOrder.repository.po.ReviewMaterialDetailPO;
import com.mhd.wms.domain.reviewOrder.repository.po.ReviewOrderPO;
+import com.mhd.wms.domain.reviewOrder.repository.po.ReviewOrderTotalPO;
import com.mhd.wms.domain.reviewOrder.repository.todo.ReviewOrderDO;
import org.apache.ibatis.annotations.Param;
@@ -19,6 +20,11 @@ public interface ReviewOrderMapper extends BaseMapper {
*/
List queryList(ReviewOrderDO query);
+ /**
+ * 列表合计:按查询条件全量(不分页)汇总计划数量与出库数量(已复核数量)
+ */
+ ReviewOrderTotalPO queryListTotal(ReviewOrderDO query);
+
/**
* 详情-主表(按主键)
*/
diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/reviewOrder/repository/po/ReviewOrderTotalPO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/reviewOrder/repository/po/ReviewOrderTotalPO.java
new file mode 100644
index 000000000..b8c9640f1
--- /dev/null
+++ b/mhd_wms/src/main/java/com/mhd/wms/domain/reviewOrder/repository/po/ReviewOrderTotalPO.java
@@ -0,0 +1,31 @@
+package com.mhd.wms.domain.reviewOrder.repository.po;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * 复核管理列表合计PO
+ *
+ * 当前筛选条件下不分页的全量合计,随分页列表一起返回
+ * (totalPlanQuantity/totalOutboundQuantity),计划数量与出库数量分开计算;
+ * 口径与列表行的 total_plan_qty/total_reviewed_qty 列一致(明细聚合,不滤del_flag以兼容已反审tab)
+ *
+ * @author rcx
+ * @date 2026-09-14
+ */
+@Data
+@ApiModel(value = "复核管理列表合计对象", description = "复核管理列表合计响应对象")
+public class ReviewOrderTotalPO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("计划数量总数(明细计划量=待复核+已复核)")
+ private BigDecimal totalPlanQuantity;
+
+ @ApiModelProperty("出库数量总数(已复核数量)")
+ private BigDecimal totalOutboundQuantity;
+}
diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/repository/facade/IStockInOrderService.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/repository/facade/IStockInOrderService.java
index 2eaf44024..f627471da 100644
--- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/repository/facade/IStockInOrderService.java
+++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/repository/facade/IStockInOrderService.java
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.mhd.wms.domain.inMaterialDetail.repository.po.InMaterialDetailPO;
import com.mhd.wms.domain.stockInOrder.entity.StockInOrder;
import com.mhd.wms.domain.stockInOrder.repository.po.StockInOrderPO;
+import com.mhd.wms.domain.stockInOrder.repository.po.StockInOrderTotalPO;
import com.mhd.wms.domain.stockInOrder.repository.todo.StockInOrderDO;
import com.mhd.wms.interfaces.dto.stockInOrder.StockInOrderDTO;
@@ -22,6 +23,11 @@ public interface IStockInOrderService extends IService
*/
public List queryList(StockInOrderDO stockInOrderDO);
+ /**
+ * 列表合计:按查询条件全量(不分页)汇总计划数量与入库数量
+ */
+ public StockInOrderTotalPO queryListTotal(StockInOrderDO stockInOrderDO);
+
/**
* 新增入库单
*/
diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/repository/mapper/StockInOrderMapper.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/repository/mapper/StockInOrderMapper.java
index 37aabe0c5..7d54ab600 100644
--- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/repository/mapper/StockInOrderMapper.java
+++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/repository/mapper/StockInOrderMapper.java
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mhd.wms.domain.inMaterialDetail.repository.po.InMaterialDetailPO;
import com.mhd.wms.domain.stockInOrder.entity.StockInOrder;
import com.mhd.wms.domain.stockInOrder.repository.po.StockInOrderPO;
+import com.mhd.wms.domain.stockInOrder.repository.po.StockInOrderTotalPO;
import com.mhd.wms.domain.stockInOrder.repository.todo.StockInOrderDO;
import com.mhd.wms.interfaces.dto.stockInOrder.StockInOrderDTO;
import org.apache.ibatis.annotations.Param;
@@ -23,6 +24,11 @@ public interface StockInOrderMapper extends BaseMapper
*/
public List queryList(StockInOrderDO stockInOrderDO);
+ /**
+ * 列表合计:按查询条件全量(不分页)汇总计划数量与入库数量
+ */
+ public StockInOrderTotalPO queryListTotal(StockInOrderDO stockInOrderDO);
+
List queryInStockInfoByInOrderNumber(StockInOrderDTO stockInOrderDTO);
List queryNoticePrint(StockInOrderDO stockInOrderDO);
diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/repository/persistence/StockInOrderImpl.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/repository/persistence/StockInOrderImpl.java
index 4bedf4ca5..fc887da45 100644
--- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/repository/persistence/StockInOrderImpl.java
+++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/repository/persistence/StockInOrderImpl.java
@@ -6,6 +6,7 @@ import com.mhd.wms.domain.stockInOrder.entity.StockInOrder;
import com.mhd.wms.domain.stockInOrder.repository.facade.IStockInOrderService;
import com.mhd.wms.domain.stockInOrder.repository.mapper.StockInOrderMapper;
import com.mhd.wms.domain.stockInOrder.repository.po.StockInOrderPO;
+import com.mhd.wms.domain.stockInOrder.repository.po.StockInOrderTotalPO;
import com.mhd.wms.domain.stockInOrder.repository.todo.StockInOrderDO;
import com.mhd.wms.interfaces.dto.stockInOrder.StockInOrderDTO;
import org.springframework.beans.BeanUtils;
@@ -37,6 +38,15 @@ public class StockInOrderImpl extends ServiceImpl当前筛选条件下不分页的全量合计,随分页列表一起返回
+ * (totalPlanQuantity/totalInQuantity),计划数量与入库数量分开计算;
+ * 入库数量口径与列表行 receipt_quantity 列一致(收货单实收汇总)
+ *
+ * @author rcx
+ * @date 2026-09-14
+ */
+@Data
+@ApiModel(value = "入库管理列表合计对象", description = "入库管理列表合计响应对象")
+public class StockInOrderTotalPO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("计划数量总数")
+ private BigDecimal totalPlanQuantity;
+
+ @ApiModelProperty("入库数量总数(收货单实收汇总)")
+ private BigDecimal totalInQuantity;
+}
diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/service/StockInOrderDomainService.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/service/StockInOrderDomainService.java
index c12e66767..51ccb31a8 100644
--- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/service/StockInOrderDomainService.java
+++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/service/StockInOrderDomainService.java
@@ -60,6 +60,7 @@ import com.mhd.wms.domain.stockInOrder.entity.StockInOrder;
import com.mhd.wms.domain.stockInOrder.repository.facade.IStockInOrderService;
import com.mhd.wms.domain.stockInOrder.repository.mapper.StockInOrderMapper;
import com.mhd.wms.domain.stockInOrder.repository.po.StockInOrderPO;
+import com.mhd.wms.domain.stockInOrder.repository.po.StockInOrderTotalPO;
import com.mhd.wms.domain.stockInOrder.repository.todo.StockInOrderDO;
import com.mhd.wms.domain.stockInTaskOrder.entity.StockInTaskOrder;
import com.mhd.wms.domain.stockInTaskOrder.repository.facade.IStockInTaskOrderService;
@@ -160,6 +161,13 @@ public class StockInOrderDomainService {
return stockInOrderService.queryList(stockInOrderDO);
}
+ /**
+ * 列表合计:按查询条件全量(不分页)汇总计划数量与入库数量
+ */
+ public StockInOrderTotalPO queryListTotal(StockInOrderDO stockInOrderDO) {
+ return stockInOrderService.queryListTotal(stockInOrderDO);
+ }
+
/**
* PDA入库签名列表查询
*
diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/facade/IStockOutOrderService.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/facade/IStockOutOrderService.java
index c5088a224..556b80587 100644
--- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/facade/IStockOutOrderService.java
+++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/facade/IStockOutOrderService.java
@@ -5,6 +5,7 @@ import com.mhd.wms.domain.copyCodeReference.repository.po.CopyCodeReferencePO;
import com.mhd.wms.domain.outMaterialDetail.repository.po.OutMaterialDetailPO;
import com.mhd.wms.domain.stockOutOrder.entity.StockOutOrder;
import com.mhd.wms.domain.stockOutOrder.repository.po.StockOutOrderPO;
+import com.mhd.wms.domain.stockOutOrder.repository.po.StockOutOrderTotalPO;
import com.mhd.wms.domain.stockOutOrder.repository.todo.StockOutOrderDO;
import com.mhd.wms.interfaces.dto.stockOutOrder.StockOutOrderDTO;
@@ -23,6 +24,11 @@ public interface IStockOutOrderService extends IService
*/
public List queryList(StockOutOrderDO stockOutOrderDO);
+ /**
+ * 列表合计:按查询条件全量(不分页)汇总计划数量与出库数量
+ */
+ public StockOutOrderTotalPO queryListTotal(StockOutOrderDO stockOutOrderDO);
+
/**
* 新增出库单
*/
diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/mapper/StockOutOrderMapper.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/mapper/StockOutOrderMapper.java
index 6cb3b57b1..fc1dc1a5f 100644
--- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/mapper/StockOutOrderMapper.java
+++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/mapper/StockOutOrderMapper.java
@@ -5,6 +5,7 @@ import com.mhd.wms.domain.copyCodeReference.repository.po.CopyCodeReferencePO;
import com.mhd.wms.domain.outMaterialDetail.repository.po.OutMaterialDetailPO;
import com.mhd.wms.domain.stockOutOrder.entity.StockOutOrder;
import com.mhd.wms.domain.stockOutOrder.repository.po.StockOutOrderPO;
+import com.mhd.wms.domain.stockOutOrder.repository.po.StockOutOrderTotalPO;
import com.mhd.wms.domain.stockOutOrder.repository.todo.StockOutOrderDO;
import com.mhd.wms.interfaces.dto.stockOutOrder.StockOutOrderDTO;
@@ -24,6 +25,11 @@ public interface StockOutOrderMapper extends BaseMapper {
*/
public List queryList(StockOutOrderDO stockOutOrderDO);
+ /**
+ * 列表合计:按查询条件全量(不分页)汇总计划数量与出库数量
+ */
+ public StockOutOrderTotalPO queryListTotal(StockOutOrderDO stockOutOrderDO);
+
List queryOutStockNoticePrint(StockOutOrderDTO stockOutOrderDTO);
List queryOutStockNoticePrintDetail(StockOutOrderDTO stockOutOrderDTO);
diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/persistence/StockOutOrderImpl.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/persistence/StockOutOrderImpl.java
index 864ebfcfe..2f93a162e 100644
--- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/persistence/StockOutOrderImpl.java
+++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/persistence/StockOutOrderImpl.java
@@ -12,6 +12,7 @@ import com.mhd.wms.domain.stockOutOrder.entity.StockOutOrder;
import com.mhd.wms.domain.stockOutOrder.repository.facade.IStockOutOrderService;
import com.mhd.wms.domain.stockOutOrder.repository.mapper.StockOutOrderMapper;
import com.mhd.wms.domain.stockOutOrder.repository.po.StockOutOrderPO;
+import com.mhd.wms.domain.stockOutOrder.repository.po.StockOutOrderTotalPO;
import com.mhd.wms.domain.stockOutOrder.repository.todo.StockOutOrderDO;
import com.mhd.wms.interfaces.dto.stockOutOrder.StockOutOrderDTO;
import lombok.extern.slf4j.Slf4j;
@@ -45,6 +46,15 @@ public class StockOutOrderImpl extends ServiceImpl当前筛选条件下不分页的全量合计,随分页列表一起返回
+ * (totalPlanQuantity/totalOutboundQuantity),计划数量与出库数量分开计算;
+ * 出库数量口径与列表行 totalOutboundQuantity 列一致(out_material_detail level=1 实际出库汇总)
+ *
+ * @author rcx
+ * @date 2026-09-14
+ */
+@Data
+@ApiModel(value = "出库管理列表合计对象", description = "出库管理列表合计响应对象")
+public class StockOutOrderTotalPO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("计划数量总数")
+ private BigDecimal totalPlanQuantity;
+
+ @ApiModelProperty("出库数量总数(一级明细实际出库汇总)")
+ private BigDecimal totalOutboundQuantity;
+}
diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/service/StockOutOrderDomainService.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/service/StockOutOrderDomainService.java
index 27a1f0690..a4a03db24 100644
--- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/service/StockOutOrderDomainService.java
+++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/service/StockOutOrderDomainService.java
@@ -92,6 +92,7 @@ import com.mhd.wms.domain.stockOutOrder.entity.StockOutOrder;
import com.mhd.wms.domain.stockOutOrder.repository.facade.IStockOutOrderService;
import com.mhd.wms.domain.stockOutOrder.repository.mapper.StockOutOrderMapper;
import com.mhd.wms.domain.stockOutOrder.repository.po.StockOutOrderPO;
+import com.mhd.wms.domain.stockOutOrder.repository.po.StockOutOrderTotalPO;
import com.mhd.wms.domain.stockOutOrder.repository.todo.StockOutOrderDO;
import com.mhd.wms.domain.waveOrder.factorys.WaveOrderServiceFactory;
import com.mhd.wms.interfaces.dto.outMaterialDetail.OutMaterialDetailDTO;
@@ -194,6 +195,13 @@ public class StockOutOrderDomainService {
return stockOutOrderService.queryList(stockOutOrderDO);
}
+ /**
+ * 列表合计:按查询条件全量(不分页)汇总计划数量与出库数量
+ */
+ public StockOutOrderTotalPO queryListTotal(StockOutOrderDO stockOutOrderDO) {
+ return stockOutOrderService.queryListTotal(stockOutOrderDO);
+ }
+
/**
* PDA出库签名列表查询,默认 status=已出库(9)
*/
diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockReceiptOrder/repository/facade/IStockReceiptOrderService.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockReceiptOrder/repository/facade/IStockReceiptOrderService.java
index 53b2858f7..681a562e9 100644
--- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockReceiptOrder/repository/facade/IStockReceiptOrderService.java
+++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockReceiptOrder/repository/facade/IStockReceiptOrderService.java
@@ -3,6 +3,7 @@ package com.mhd.wms.domain.stockReceiptOrder.repository.facade;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mhd.wms.domain.stockReceiptOrder.entity.StockReceiptOrder;
import com.mhd.wms.domain.stockReceiptOrder.repository.po.StockReceiptOrderPO;
+import com.mhd.wms.domain.stockReceiptOrder.repository.po.StockReceiptOrderTotalPO;
import com.mhd.wms.domain.stockReceiptOrder.repository.todo.StockReceiptOrderDO;
import com.mhd.wms.interfaces.dto.stockReceiptOrder.StockReceiptOrderDTO;
@@ -21,6 +22,11 @@ public interface IStockReceiptOrderService extends IService
*/
public List queryList(StockReceiptOrderDO stockReceiptOrderDO);
+ /**
+ * 列表合计:按查询条件全量(不分页)汇总计划数量与入库数量(收货数量)
+ */
+ public StockReceiptOrderTotalPO queryListTotal(StockReceiptOrderDO stockReceiptOrderDO);
+
/**
* 新增收货单
*/
diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockReceiptOrder/repository/mapper/StockReceiptOrderMapper.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockReceiptOrder/repository/mapper/StockReceiptOrderMapper.java
index 89c421b17..a55f20372 100644
--- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockReceiptOrder/repository/mapper/StockReceiptOrderMapper.java
+++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockReceiptOrder/repository/mapper/StockReceiptOrderMapper.java
@@ -3,6 +3,7 @@ package com.mhd.wms.domain.stockReceiptOrder.repository.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mhd.wms.domain.stockReceiptOrder.entity.StockReceiptOrder;
import com.mhd.wms.domain.stockReceiptOrder.repository.po.StockReceiptOrderPO;
+import com.mhd.wms.domain.stockReceiptOrder.repository.po.StockReceiptOrderTotalPO;
import com.mhd.wms.domain.stockReceiptOrder.repository.todo.StockReceiptOrderDO;
import com.mhd.wms.interfaces.dto.stockReceiptOrder.StockReceiptOrderDTO;
@@ -21,6 +22,11 @@ public interface StockReceiptOrderMapper extends BaseMapper
*/
public List queryList(StockReceiptOrderDO stockReceiptOrderDO);
+ /**
+ * 列表合计:按查询条件全量(不分页)汇总计划数量与入库数量(收货数量)
+ */
+ public StockReceiptOrderTotalPO queryListTotal(StockReceiptOrderDO stockReceiptOrderDO);
+
/**
*
* @param stockReceiptOrderDTO
diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockReceiptOrder/repository/persistence/StockReceiptOrderImpl.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockReceiptOrder/repository/persistence/StockReceiptOrderImpl.java
index 1b1e5c8c9..1473e0605 100644
--- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockReceiptOrder/repository/persistence/StockReceiptOrderImpl.java
+++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockReceiptOrder/repository/persistence/StockReceiptOrderImpl.java
@@ -11,6 +11,7 @@ import com.mhd.wms.domain.stockReceiptOrder.entity.StockReceiptOrder;
import com.mhd.wms.domain.stockReceiptOrder.repository.facade.IStockReceiptOrderService;
import com.mhd.wms.domain.stockReceiptOrder.repository.mapper.StockReceiptOrderMapper;
import com.mhd.wms.domain.stockReceiptOrder.repository.po.StockReceiptOrderPO;
+import com.mhd.wms.domain.stockReceiptOrder.repository.po.StockReceiptOrderTotalPO;
import com.mhd.wms.domain.stockReceiptOrder.repository.todo.StockReceiptOrderDO;
import com.mhd.wms.interfaces.dto.stockReceiptOrder.StockReceiptOrderDTO;
import org.springframework.beans.BeanUtils;
@@ -44,6 +45,15 @@ public class StockReceiptOrderImpl extends ServiceImpl当前筛选条件下不分页的全量合计,随分页列表一起返回
+ * (totalPlanQuantity/totalInQuantity),计划数量与入库数量分开计算;
+ * 入库数量口径与列表行 receipt_quantity 列一致(收货单实收)
+ *
+ * @author rcx
+ * @date 2026-09-14
+ */
+@Data
+@ApiModel(value = "收货管理列表合计对象", description = "收货管理列表合计响应对象")
+public class StockReceiptOrderTotalPO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("计划数量总数")
+ private BigDecimal totalPlanQuantity;
+
+ @ApiModelProperty("入库数量总数(收货数量)")
+ private BigDecimal totalInQuantity;
+}
diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockReceiptOrder/service/StockReceiptOrderDomainService.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockReceiptOrder/service/StockReceiptOrderDomainService.java
index 08a53a153..2027e02a5 100644
--- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockReceiptOrder/service/StockReceiptOrderDomainService.java
+++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockReceiptOrder/service/StockReceiptOrderDomainService.java
@@ -65,6 +65,7 @@ import com.mhd.wms.domain.stockInTaskOrder.repository.todo.StockInTaskOrderDO;
import com.mhd.wms.domain.stockReceiptOrder.entity.StockReceiptOrder;
import com.mhd.wms.domain.stockReceiptOrder.repository.facade.IStockReceiptOrderService;
import com.mhd.wms.domain.stockReceiptOrder.repository.po.StockReceiptOrderPO;
+import com.mhd.wms.domain.stockReceiptOrder.repository.po.StockReceiptOrderTotalPO;
import com.mhd.wms.domain.stockReceiptOrder.repository.todo.NoReceiptOrderDO;
import com.mhd.wms.domain.stockReceiptOrder.repository.todo.StockReceiptOrderDO;
import com.mhd.wms.domain.stockShelfOrder.entity.StockShelfOrder;
@@ -154,6 +155,13 @@ public class StockReceiptOrderDomainService {
return stockReceiptOrderService.queryList(stockReceiptOrderDO);
}
+ /**
+ * 列表合计:按查询条件全量(不分页)汇总计划数量与入库数量(收货数量)
+ */
+ public StockReceiptOrderTotalPO queryListTotal(StockReceiptOrderDO stockReceiptOrderDO) {
+ return stockReceiptOrderService.queryListTotal(stockReceiptOrderDO);
+ }
+
/**
* 批量新增收货单
diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockShelfOrder/repository/facade/IStockShelfOrderService.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockShelfOrder/repository/facade/IStockShelfOrderService.java
index 94d73f025..d6087aad4 100644
--- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockShelfOrder/repository/facade/IStockShelfOrderService.java
+++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockShelfOrder/repository/facade/IStockShelfOrderService.java
@@ -5,6 +5,7 @@ import com.mhd.wms.domain.materialBaseInfo.entity.MaterialBaseInfo;
import com.mhd.wms.domain.materialInventory.repository.po.MaterialInventoryPO;
import com.mhd.wms.domain.stockShelfOrder.entity.StockShelfOrder;
import com.mhd.wms.domain.stockShelfOrder.repository.po.StockShelfOrderPO;
+import com.mhd.wms.domain.stockShelfOrder.repository.po.StockShelfOrderTotalPO;
import com.mhd.wms.domain.stockShelfOrder.repository.todo.StockShelfOrderDO;
import java.math.BigDecimal;
@@ -23,6 +24,11 @@ public interface IStockShelfOrderService extends IService
*/
public List queryList(StockShelfOrderDO stockShelfOrderDO);
+ /**
+ * 列表合计:按查询条件全量(不分页)汇总计划数量(应上架量)与入库数量(上架数量)
+ */
+ public StockShelfOrderTotalPO queryListTotal(StockShelfOrderDO stockShelfOrderDO);
+
/**
* 新增上架单
*/
diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockShelfOrder/repository/mapper/StockShelfOrderMapper.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockShelfOrder/repository/mapper/StockShelfOrderMapper.java
index 65337a867..cc3783759 100644
--- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockShelfOrder/repository/mapper/StockShelfOrderMapper.java
+++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockShelfOrder/repository/mapper/StockShelfOrderMapper.java
@@ -3,6 +3,7 @@ package com.mhd.wms.domain.stockShelfOrder.repository.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mhd.wms.domain.stockShelfOrder.entity.StockShelfOrder;
import com.mhd.wms.domain.stockShelfOrder.repository.po.StockShelfOrderPO;
+import com.mhd.wms.domain.stockShelfOrder.repository.po.StockShelfOrderTotalPO;
import com.mhd.wms.domain.stockShelfOrder.repository.todo.StockShelfOrderDO;
import org.apache.ibatis.annotations.Param;
@@ -22,6 +23,11 @@ public interface StockShelfOrderMapper extends BaseMapper
*/
public List queryList(StockShelfOrderDO stockShelfOrderDO);
+ /**
+ * 列表合计:按查询条件全量(不分页)汇总计划数量(应上架量)与入库数量(上架数量)
+ */
+ public StockShelfOrderTotalPO queryListTotal(StockShelfOrderDO stockShelfOrderDO);
+
public void updateOmsOrder(@Param("orderNumber") String orderNumber, @Param("status") Integer status, @Param("shelvesQuantity") BigDecimal shelvesQuantity);
public Integer getExecutionCount(@Param("orderNumber") String orderNumber);
diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockShelfOrder/repository/persistence/StockShelfOrderImpl.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockShelfOrder/repository/persistence/StockShelfOrderImpl.java
index 1d15b18dd..5d6fb5d2a 100644
--- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockShelfOrder/repository/persistence/StockShelfOrderImpl.java
+++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockShelfOrder/repository/persistence/StockShelfOrderImpl.java
@@ -13,6 +13,7 @@ import com.mhd.wms.domain.stockShelfOrder.entity.StockShelfOrder;
import com.mhd.wms.domain.stockShelfOrder.repository.facade.IStockShelfOrderService;
import com.mhd.wms.domain.stockShelfOrder.repository.mapper.StockShelfOrderMapper;
import com.mhd.wms.domain.stockShelfOrder.repository.po.StockShelfOrderPO;
+import com.mhd.wms.domain.stockShelfOrder.repository.po.StockShelfOrderTotalPO;
import com.mhd.wms.domain.stockShelfOrder.repository.todo.StockShelfOrderDO;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -45,6 +46,15 @@ public class StockShelfOrderImpl extends ServiceImpl当前筛选条件下不分页的全量合计,随分页列表一起返回
+ * (totalPlanQuantity/totalInQuantity),计划数量与入库数量分开计算;
+ * 计划数量口径=上架明细(level=1,del_flag=1)计划数量求和(应上架量),入库数量口径与列表行 shelves_quantity 列一致
+ *
+ * @author rcx
+ * @date 2026-09-14
+ */
+@Data
+@ApiModel(value = "上架管理列表合计对象", description = "上架管理列表合计响应对象")
+public class StockShelfOrderTotalPO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("计划数量总数(应上架量,明细计划数量求和)")
+ private BigDecimal totalPlanQuantity;
+
+ @ApiModelProperty("入库数量总数(上架数量)")
+ private BigDecimal totalInQuantity;
+}
diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockShelfOrder/service/StockShelfOrderDomainService.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockShelfOrder/service/StockShelfOrderDomainService.java
index a374b66ba..3c955b76c 100644
--- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockShelfOrder/service/StockShelfOrderDomainService.java
+++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockShelfOrder/service/StockShelfOrderDomainService.java
@@ -79,6 +79,7 @@ import com.mhd.wms.domain.stockInTaskOrder.repository.todo.StockInTaskOrderDO;
import com.mhd.wms.domain.stockShelfOrder.entity.StockShelfOrder;
import com.mhd.wms.domain.stockShelfOrder.repository.facade.IStockShelfOrderService;
import com.mhd.wms.domain.stockShelfOrder.repository.po.StockShelfOrderPO;
+import com.mhd.wms.domain.stockShelfOrder.repository.po.StockShelfOrderTotalPO;
import com.mhd.wms.domain.stockShelfOrder.repository.todo.StockShelfOrderDO;
import com.mhd.wms.domain.taskShelfMaterialDetail.entity.TaskShelfMaterialDetail;
import com.mhd.wms.domain.taskShelfMaterialDetail.repository.facade.ITaskShelfMaterialDetailService;
@@ -162,6 +163,13 @@ public class StockShelfOrderDomainService {
return stockShelfOrderService.queryList(stockShelfOrderDO);
}
+ /**
+ * 列表合计:按查询条件全量(不分页)汇总计划数量(应上架量)与入库数量(上架数量)
+ */
+ public StockShelfOrderTotalPO queryListTotal(StockShelfOrderDO stockShelfOrderDO) {
+ return stockShelfOrderService.queryListTotal(stockShelfOrderDO);
+ }
+
/**
* 新增上架单
diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/handoverTaskOrder/HandoverTaskOrderApi.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/handoverTaskOrder/HandoverTaskOrderApi.java
index 798a11e4d..1a25e6ff2 100644
--- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/handoverTaskOrder/HandoverTaskOrderApi.java
+++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/handoverTaskOrder/HandoverTaskOrderApi.java
@@ -1,10 +1,12 @@
package com.mhd.wms.interfaces.facadeApi.handoverTaskOrder;
import com.mhd.common.core.web.controller.BaseController;
+import com.mhd.common.core.constant.HttpStatus;
import com.mhd.common.core.web.domain.AjaxResult;
-import com.mhd.common.core.web.page.TableDataInfo;
+import com.github.pagehelper.PageInfo;
import com.mhd.wms.application.service.handoverTaskOrder.HandoverTaskOrderApplicationService;
import com.mhd.wms.domain.handoverTaskOrder.repository.po.HandoverTaskOrderPO;
+import com.mhd.wms.domain.handoverTaskOrder.repository.po.HandoverTaskOrderTotalPO;
import com.mhd.wms.domain.handoverTaskOrder.repository.todo.HandoverTaskOrderDO;
import com.mhd.wms.domain.shiftManage.repository.todo.ShiftManageDO;
import com.mhd.wms.interfaces.assember.handoverTaskOrder.HandoverTaskOrderAssembler;
@@ -15,6 +17,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
+import java.util.HashMap;
import java.util.List;
/**
@@ -33,17 +36,35 @@ public class HandoverTaskOrderApi extends BaseController {
private HandoverTaskOrderAssembler handoverTaskOrderAssembler;
/**
- * 分页查询交接作业单列表
+ * 分页查询交接作业单列表(附:当前查询条件下全量不分页的计划数量总数/出库数量总数)
*/
@ApiOperation("查询交接作业单列表")
@GetMapping("/list")
- public TableDataInfo list(HandoverTaskOrderDTO handoverTaskOrderDTO)
+ public HashMap list(HandoverTaskOrderDTO handoverTaskOrderDTO)
{
//转换实体
HandoverTaskOrderDO handoverTaskOrderDO = handoverTaskOrderAssembler.toDO(handoverTaskOrderDTO);
startPage();
List list = handoverTaskOrderApplicationService.queryList(handoverTaskOrderDO);
- return getDataTable(list);
+ // 合计须在列表查询后用同一个DO查询:数据权限条件由列表查询原地写入DO,且不再被分页拦截
+ HandoverTaskOrderTotalPO total = handoverTaskOrderApplicationService.queryListTotal(handoverTaskOrderDO);
+ return getDataTableWithTotal(list, total);
+ }
+
+ /**
+ * 分页结果 + 合计:data/total/code/msg 之外追加计划数量总数/出库数量总数(key与TableDataInfo序列化结果一致,仅多两个字段)
+ */
+ private HashMap getDataTableWithTotal(List> list, HandoverTaskOrderTotalPO 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;
}
/**
diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/pickingOrder/PickingOrderApi.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/pickingOrder/PickingOrderApi.java
index d671fc454..7b4134d5d 100644
--- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/pickingOrder/PickingOrderApi.java
+++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/pickingOrder/PickingOrderApi.java
@@ -2,10 +2,12 @@ package com.mhd.wms.interfaces.facadeApi.pickingOrder;
import cn.hutool.json.JSONUtil;
import com.mhd.common.core.web.controller.BaseController;
+import com.mhd.common.core.constant.HttpStatus;
import com.mhd.common.core.web.domain.AjaxResult;
-import com.mhd.common.core.web.page.TableDataInfo;
+import com.github.pagehelper.PageInfo;
import com.mhd.wms.application.service.pickingOrder.PickingOrderApplicationService;
import com.mhd.wms.domain.pickingOrder.repository.po.PickingOrderPO;
+import com.mhd.wms.domain.pickingOrder.repository.po.PickingOrderTotalPO;
import com.mhd.wms.domain.pickingOrder.repository.todo.PickingOrderDO;
import com.mhd.wms.interfaces.assember.pickingOrder.PickingOrderAssembler;
import com.mhd.wms.interfaces.dto.pickingOrder.PickingOrderDTO;
@@ -14,6 +16,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
+import java.util.HashMap;
import java.util.List;
/**
@@ -32,17 +35,35 @@ public class PickingOrderApi extends BaseController {
private PickingOrderAssembler pickingOrderAssembler;
/**
- * 分页查询拣货单列表
+ * 分页查询拣货单列表(附:当前查询条件下全量不分页的计划数量总数/出库数量总数)
*/
@ApiOperation("查询拣货单列表")
@GetMapping("/list")
- public TableDataInfo list(PickingOrderDTO pickingOrderDTO)
+ public HashMap list(PickingOrderDTO pickingOrderDTO)
{
//转换实体
PickingOrderDO pickingOrderDO = pickingOrderAssembler.toDO(pickingOrderDTO);
startPage();
List list = pickingOrderApplicationService.queryList(pickingOrderDO);
- return getDataTable(list);
+ // 合计须在列表查询后用同一个DO查询:数据权限条件由列表查询原地写入DO,且不再被分页拦截
+ PickingOrderTotalPO total = pickingOrderApplicationService.queryListTotal(pickingOrderDO);
+ return getDataTableWithTotal(list, total);
+ }
+
+ /**
+ * 分页结果 + 合计:data/total/code/msg 之外追加计划数量总数/出库数量总数(key与TableDataInfo序列化结果一致,仅多两个字段)
+ */
+ private HashMap getDataTableWithTotal(List> list, PickingOrderTotalPO 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;
}
/**
@@ -139,13 +160,15 @@ public class PickingOrderApi extends BaseController {
@ApiOperation("查询拣货单列表")
@GetMapping("/list1")
- public TableDataInfo list1(PickingOrderDTO pickingOrderDTO)
+ public HashMap list1(PickingOrderDTO pickingOrderDTO)
{
//转换实体
PickingOrderDO pickingOrderDO = pickingOrderAssembler.toDO(pickingOrderDTO);
startPage();
List list = pickingOrderApplicationService.queryList1(pickingOrderDO);
- return getDataTable(list);
+ // 合计须在列表查询后用同一个DO查询:数据权限条件由列表查询原地写入DO,且不再被分页拦截
+ PickingOrderTotalPO total = pickingOrderApplicationService.queryListTotal(pickingOrderDO);
+ return getDataTableWithTotal(list, total);
}
}
\ No newline at end of file
diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/reviewOrder/ReviewOrderApi.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/reviewOrder/ReviewOrderApi.java
index e98818258..0ea484e7f 100644
--- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/reviewOrder/ReviewOrderApi.java
+++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/reviewOrder/ReviewOrderApi.java
@@ -2,10 +2,12 @@ package com.mhd.wms.interfaces.facadeApi.reviewOrder;
import cn.hutool.json.JSONUtil;
import com.mhd.common.core.web.controller.BaseController;
+import com.mhd.common.core.constant.HttpStatus;
import com.mhd.common.core.web.domain.AjaxResult;
-import com.mhd.common.core.web.page.TableDataInfo;
+import com.github.pagehelper.PageInfo;
import com.mhd.wms.application.service.reviewOrder.ReviewOrderApplicationService;
import com.mhd.wms.domain.reviewOrder.repository.po.ReviewOrderPO;
+import com.mhd.wms.domain.reviewOrder.repository.po.ReviewOrderTotalPO;
import com.mhd.wms.domain.reviewOrder.repository.todo.ReviewOrderDO;
import com.mhd.wms.interfaces.assember.reviewOrder.ReviewOrderAssembler;
import com.mhd.wms.interfaces.dto.reviewOrder.ReviewOrderDTO;
@@ -21,6 +23,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
+import java.util.HashMap;
import java.util.List;
/**
@@ -39,11 +42,29 @@ public class ReviewOrderApi extends BaseController {
@ApiOperation("复核单分页列表")
@GetMapping("/list")
- public TableDataInfo list(ReviewOrderDTO reviewOrderDTO) {
+ public HashMap list(ReviewOrderDTO reviewOrderDTO) {
ReviewOrderDO query = reviewOrderAssembler.toDO(reviewOrderDTO);
startPage();
List list = reviewOrderApplicationService.queryList(query);
- return getDataTable(list);
+ // 合计须在列表查询后用同一个query调用:数据权限条件在查询前写入query,且不再被分页拦截
+ ReviewOrderTotalPO total = reviewOrderApplicationService.queryListTotal(query);
+ return getDataTableWithTotal(list, total);
+ }
+
+ /**
+ * 分页结果 + 合计:data/total/code/msg 之外追加计划数量总数/出库数量总数(key与TableDataInfo序列化结果一致,仅多两个字段)
+ */
+ private HashMap getDataTableWithTotal(List> list, ReviewOrderTotalPO 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_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/stockInOrder/StockInOrderApi.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/stockInOrder/StockInOrderApi.java
index 7ff3edcb7..b4a19a218 100644
--- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/stockInOrder/StockInOrderApi.java
+++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/stockInOrder/StockInOrderApi.java
@@ -2,11 +2,13 @@ package com.mhd.wms.interfaces.facadeApi.stockInOrder;
import com.mhd.common.core.domain.entity.R;
import com.mhd.common.core.web.controller.BaseController;
+import com.mhd.common.core.constant.HttpStatus;
import com.mhd.common.core.utils.bean.BeanUtils;
import com.mhd.common.core.web.domain.AjaxResult;
import com.mhd.common.core.web.page.TableDataInfo;
import com.mhd.common.core.exception.ServiceException;
import com.mhd.common.core.utils.StringUtils;
+import com.github.pagehelper.PageInfo;
import com.mhd.system.api.XxlJobServiceFeign;
import com.mhd.wms.application.service.stockInOrder.StockInOrderApplicationService;
import com.mhd.wms.domain.inMaterialDetail.entity.InMaterialDetail;
@@ -15,6 +17,7 @@ import com.mhd.wms.domain.inMaterialDetail.repository.todo.InMaterialDetailDO;
import com.mhd.wms.domain.inMaterialDetail.repository.todo.InMaterialDetailDO;
import com.mhd.wms.domain.stockInOrder.entity.StockInOrder;
import com.mhd.wms.domain.stockInOrder.repository.po.StockInOrderPO;
+import com.mhd.wms.domain.stockInOrder.repository.po.StockInOrderTotalPO;
import com.mhd.wms.domain.stockInOrder.repository.todo.StockInOrderDO;
import com.mhd.wms.domain.stockOutOrder.repository.todo.StockOutOrderDO;
import com.mhd.wms.interfaces.assember.stockInOrder.StockInOrderAssembler;
@@ -57,17 +60,35 @@ public class StockInOrderApi extends BaseController {
// private XxlJobServiceFeign xxlJobServiceFeign;
/**
- * 分页查询入库单列表
+ * 分页查询入库单列表(附:当前查询条件下全量不分页的计划数量总数/入库数量总数)
*/
@ApiOperation("查询入库单列表")
@GetMapping("/list")
- public TableDataInfo list(StockInOrderDTO stockInOrderDTO)
+ public HashMap list(StockInOrderDTO stockInOrderDTO)
{
//转换实体
StockInOrderDO stockInOrderDO = stockInOrderAssembler.toDO(stockInOrderDTO);
startPage();
List list = stockInOrderApplicationService.queryList(stockInOrderDO);
- return getDataTable(list);
+ // 合计须在列表查询后用同一个DO查询:数据权限条件由列表查询原地写入DO,且不再被分页拦截
+ StockInOrderTotalPO total = stockInOrderApplicationService.queryListTotal(stockInOrderDO);
+ return getDataTableWithTotal(list, total);
+ }
+
+ /**
+ * 分页结果 + 合计:data/total/code/msg 之外追加计划数量总数/入库数量总数(key与TableDataInfo序列化结果一致,仅多两个字段)
+ */
+ private HashMap getDataTableWithTotal(List> list, StockInOrderTotalPO 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("totalInQuantity", total.getTotalInQuantity());
+ }
+ return result;
}
/**
diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/stockOutOrder/StockOutOrderApi.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/stockOutOrder/StockOutOrderApi.java
index b2f9f0f51..c02072ca5 100644
--- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/stockOutOrder/StockOutOrderApi.java
+++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/stockOutOrder/StockOutOrderApi.java
@@ -2,6 +2,7 @@ package com.mhd.wms.interfaces.facadeApi.stockOutOrder;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.github.pagehelper.PageInfo;
import com.mhd.common.core.web.controller.BaseController;
import com.mhd.common.core.web.domain.AjaxResult;
import com.mhd.common.core.web.page.TableDataInfo;
@@ -25,6 +26,7 @@ import com.mhd.wms.domain.stockOutOrder.entity.StockOutOrder;
import com.mhd.wms.domain.stockOutOrder.repository.facade.IStockOutOrderService;
import com.mhd.wms.domain.stockOutOrder.repository.listener.ExcelParseService;
import com.mhd.wms.domain.stockOutOrder.repository.po.StockOutOrderPO;
+import com.mhd.wms.domain.stockOutOrder.repository.po.StockOutOrderTotalPO;
import com.mhd.wms.domain.stockOutOrder.repository.todo.StockOutOrderDO;
import com.mhd.wms.domain.outOrderFreezeRecord.service.OutOrderFreezeRecordDomainService;
import com.mhd.wms.interfaces.assember.stockOutOrder.StockOutOrderAssembler;
@@ -102,16 +104,35 @@ public class StockOutOrderApi extends BaseController {
}
/**
- * 分页查询出库单列表
+ * 分页查询出库单列表(附:当前查询条件下全量不分页的计划数量总数/出库数量总数)
*/
@ApiOperation("查询出库单列表")
@GetMapping("/list")
- public TableDataInfo list(StockOutOrderDTO stockOutOrderDTO) {
+ public HashMap list(StockOutOrderDTO stockOutOrderDTO) {
//转换实体
StockOutOrderDO stockOutOrderDO = stockOutOrderAssembler.toDO(stockOutOrderDTO);
startPage();
List list = stockOutOrderApplicationService.queryList(stockOutOrderDO);
- return getDataTable(list);
+ // 合计须在列表查询后用同一个DO查询:数据权限条件由列表查询原地写入DO,且不再被分页拦截
+ StockOutOrderTotalPO total = stockOutOrderApplicationService.queryListTotal(stockOutOrderDO);
+ return getDataTableWithTotal(list, total);
+ }
+
+ /**
+ * 分页结果 + 合计:data/total/code/msg 之外追加计划数量总数/出库数量总数(key与TableDataInfo序列化结果一致,仅多两个字段)
+ * 注:本类已导入spring的HttpStatus,common的HttpStatus用全限定名避免冲突
+ */
+ private HashMap getDataTableWithTotal(List> list, StockOutOrderTotalPO total) {
+ HashMap result = new HashMap<>();
+ result.put("data", list);
+ result.put("total", new PageInfo<>(list).getTotal());
+ result.put("code", com.mhd.common.core.constant.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_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/stockReceiptOrder/StockReceiptOrderApi.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/stockReceiptOrder/StockReceiptOrderApi.java
index 1216fecaa..6b450fd88 100644
--- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/stockReceiptOrder/StockReceiptOrderApi.java
+++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/stockReceiptOrder/StockReceiptOrderApi.java
@@ -1,10 +1,12 @@
package com.mhd.wms.interfaces.facadeApi.stockReceiptOrder;
import com.mhd.common.core.web.controller.BaseController;
+import com.mhd.common.core.constant.HttpStatus;
import com.mhd.common.core.web.domain.AjaxResult;
-import com.mhd.common.core.web.page.TableDataInfo;
+import com.github.pagehelper.PageInfo;
import com.mhd.wms.application.service.stockReceiptOrder.StockReceiptOrderApplicationService;
import com.mhd.wms.domain.stockReceiptOrder.repository.po.StockReceiptOrderPO;
+import com.mhd.wms.domain.stockReceiptOrder.repository.po.StockReceiptOrderTotalPO;
import com.mhd.wms.domain.stockReceiptOrder.repository.todo.StockReceiptOrderDO;
import com.mhd.wms.interfaces.assember.stockReceiptOrder.StockReceiptOrderAssembler;
import com.mhd.wms.interfaces.dto.stockReceiptOrder.StockReceiptOrderDTO;
@@ -13,6 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
+import java.util.HashMap;
import java.util.List;
/**
@@ -31,17 +34,35 @@ public class StockReceiptOrderApi extends BaseController {
private StockReceiptOrderAssembler stockReceiptOrderAssembler;
/**
- * 分页查询收货单列表
+ * 分页查询收货单列表(附:当前查询条件下全量不分页的计划数量总数/入库数量总数)
*/
@ApiOperation("查询收货单列表")
@GetMapping("/list")
- public TableDataInfo list(StockReceiptOrderDTO stockReceiptOrderDTO)
+ public HashMap list(StockReceiptOrderDTO stockReceiptOrderDTO)
{
//转换实体
StockReceiptOrderDO stockReceiptOrderDO = stockReceiptOrderAssembler.toDO(stockReceiptOrderDTO);
startPage();
List list = stockReceiptOrderApplicationService.queryList(stockReceiptOrderDO);
- return getDataTable(list);
+ // 合计须在列表查询后用同一个DO查询:数据权限条件由列表查询原地写入DO,且不再被分页拦截
+ StockReceiptOrderTotalPO total = stockReceiptOrderApplicationService.queryListTotal(stockReceiptOrderDO);
+ return getDataTableWithTotal(list, total);
+ }
+
+ /**
+ * 分页结果 + 合计:data/total/code/msg 之外追加计划数量总数/入库数量总数(key与TableDataInfo序列化结果一致,仅多两个字段)
+ */
+ private HashMap getDataTableWithTotal(List> list, StockReceiptOrderTotalPO 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("totalInQuantity", total.getTotalInQuantity());
+ }
+ return result;
}
/**
diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/stockShelfOrder/StockShelfOrderApi.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/stockShelfOrder/StockShelfOrderApi.java
index 85f90eb32..4f8b7a634 100644
--- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/stockShelfOrder/StockShelfOrderApi.java
+++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/stockShelfOrder/StockShelfOrderApi.java
@@ -1,10 +1,12 @@
package com.mhd.wms.interfaces.facadeApi.stockShelfOrder;
import com.mhd.common.core.web.controller.BaseController;
+import com.mhd.common.core.constant.HttpStatus;
import com.mhd.common.core.web.domain.AjaxResult;
-import com.mhd.common.core.web.page.TableDataInfo;
+import com.github.pagehelper.PageInfo;
import com.mhd.wms.application.service.stockShelfOrder.StockShelfOrderApplicationService;
import com.mhd.wms.domain.stockShelfOrder.repository.po.StockShelfOrderPO;
+import com.mhd.wms.domain.stockShelfOrder.repository.po.StockShelfOrderTotalPO;
import com.mhd.wms.domain.stockShelfOrder.repository.todo.StockShelfOrderDO;
import com.mhd.wms.interfaces.assember.stockShelfOrder.StockShelfOrderAssembler;
import com.mhd.wms.interfaces.dto.stockShelfOrder.StockShelfOrderDTO;
@@ -13,6 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
+import java.util.HashMap;
import java.util.List;
/**
@@ -31,17 +34,35 @@ public class StockShelfOrderApi extends BaseController {
private StockShelfOrderAssembler stockShelfOrderAssembler;
/**
- * 分页查询上架单列表
+ * 分页查询上架单列表(附:当前查询条件下全量不分页的计划数量总数/入库数量总数)
*/
@ApiOperation("查询上架单列表")
@GetMapping("/list")
- public TableDataInfo list(StockShelfOrderDTO stockShelfOrderDTO)
+ public HashMap list(StockShelfOrderDTO stockShelfOrderDTO)
{
//转换实体
StockShelfOrderDO stockShelfOrderDO = stockShelfOrderAssembler.toDO(stockShelfOrderDTO);
startPage();
List list = stockShelfOrderApplicationService.queryList(stockShelfOrderDO);
- return getDataTable(list);
+ // 合计须在列表查询后用同一个DO查询:数据权限条件由列表查询原地写入DO,且不再被分页拦截
+ StockShelfOrderTotalPO total = stockShelfOrderApplicationService.queryListTotal(stockShelfOrderDO);
+ return getDataTableWithTotal(list, total);
+ }
+
+ /**
+ * 分页结果 + 合计:data/total/code/msg 之外追加计划数量总数/入库数量总数(key与TableDataInfo序列化结果一致,仅多两个字段)
+ */
+ private HashMap getDataTableWithTotal(List> list, StockShelfOrderTotalPO 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("totalInQuantity", total.getTotalInQuantity());
+ }
+ return result;
}
/**
@@ -109,13 +130,15 @@ public class StockShelfOrderApi extends BaseController {
@ApiOperation("查询上架单列表")
@GetMapping("/list1")
- public TableDataInfo list1(StockShelfOrderDTO stockShelfOrderDTO)
+ public HashMap list1(StockShelfOrderDTO stockShelfOrderDTO)
{
//转换实体
StockShelfOrderDO stockShelfOrderDO = stockShelfOrderAssembler.toDO(stockShelfOrderDTO);
startPage();
List list = stockShelfOrderApplicationService.queryList1(stockShelfOrderDO);
- return getDataTable(list);
+ // 合计须在列表查询后用同一个DO查询:数据权限条件由列表查询原地写入DO,且不再被分页拦截
+ StockShelfOrderTotalPO total = stockShelfOrderApplicationService.queryListTotal(stockShelfOrderDO);
+ return getDataTableWithTotal(list, total);
}
}
diff --git a/mhd_wms/src/main/resources/mapper/handoverTaskOrder/HandoverTaskOrderMapper.xml b/mhd_wms/src/main/resources/mapper/handoverTaskOrder/HandoverTaskOrderMapper.xml
index e01a2e528..c76e50ac4 100644
--- a/mhd_wms/src/main/resources/mapper/handoverTaskOrder/HandoverTaskOrderMapper.xml
+++ b/mhd_wms/src/main/resources/mapper/handoverTaskOrder/HandoverTaskOrderMapper.xml
@@ -153,6 +153,26 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
order by a.create_time desc
+
+
+
update "NGWL_TEST_OMS".RESERVATION_STOCK_OUT_ORDER set ISSUE_STATUS = #{status},OUTBOUND_TIME = CURRENT_TIMESTAMP where OUT_ORDER_NUMBER = #{orderNumber} and DEL_FLAG = 1
diff --git a/mhd_wms/src/main/resources/mapper/pickingOrder/PickingOrderMapper.xml b/mhd_wms/src/main/resources/mapper/pickingOrder/PickingOrderMapper.xml
index 71490bd42..1e24bdcea 100644
--- a/mhd_wms/src/main/resources/mapper/pickingOrder/PickingOrderMapper.xml
+++ b/mhd_wms/src/main/resources/mapper/pickingOrder/PickingOrderMapper.xml
@@ -157,6 +157,24 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
order by a.create_time desc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mhd_wms/src/main/resources/mapper/stockShelfOrder/StockShelfOrderMapper.xml b/mhd_wms/src/main/resources/mapper/stockShelfOrder/StockShelfOrderMapper.xml
index 3b468716c..44464f0ac 100644
--- a/mhd_wms/src/main/resources/mapper/stockShelfOrder/StockShelfOrderMapper.xml
+++ b/mhd_wms/src/main/resources/mapper/stockShelfOrder/StockShelfOrderMapper.xml
@@ -181,6 +181,39 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
ORDER BY a.create_time DESC
+
+
+