From 8af8197901c9cd886a090a65c8cfa8f51528e17a Mon Sep 17 00:00:00 2001
From: rcx <3084692334@qq.com>
Date: Thu, 10 Sep 2026 11:35:30 +0800
Subject: [PATCH] =?UTF-8?q?feat(oms/wms):=20=E5=87=BA=E5=85=A5=E5=BA=93?=
=?UTF-8?q?=E6=98=8E=E7=BB=86=E8=B4=A7=E7=89=A9=E7=A7=8D=E7=B1=BB=E6=94=B9?=
=?UTF-8?q?=E6=98=BE=E7=89=A9=E6=96=99=E5=88=86=E7=B1=BB=E5=90=8D=E7=A7=B0?=
=?UTF-8?q?=E3=80=81=E5=8D=95=E6=8D=AE=E7=B1=BB=E5=9E=8B=E5=9B=9E=E6=98=BE?=
=?UTF-8?q?=E4=B8=8E=E6=9F=A5=E8=AF=A2=E6=9D=A1=E4=BB=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
一、货物种类
- O/W出入库明细查询新增返回materialClassifyName(物料分类名称,多个逗号分隔)
- WMS入库导出"货物种类"列、出库导出"种类"列改为物料分类名称(原为goodsType编码转文字)
- OMS出入库导出新增"货物种类"列,货物类型列加字典转换不再显示0/1/2编码
二、单据类型
- O/W入库明细查询新增orderTypeCode/orderTypeName回显与查询条件(编码精确/名称模糊)
- WMS入库明细导出新增"业务单据类型"列(第31列)
三、时间字段
- OMS出库明细查询返回增加completeTime完成时间
- OMS orderOutboundDate出仓日期格式恢复为yyyy-MM-dd HH:mm:ss
- OMS出库时间过滤改为三级兜底:出库时间OUTBOUND_TIME→出仓日期→建档时间
四、修复
- WMS出库导出SQL修复TOTAL_PRICE列不存在(总价改用TOTAL_AMOUNT),总价值暂无来源占位空列
---
.../po/ExecutionInMaterialDetailPO.java | 2 +-
.../ExecutionInMaterialDetailWithOrderPO.java | 4 ++++
.../ExecutionInMaterialDetailQueryDTO.java | 6 ++++++
.../todo/QueryOrderOverStockDO.java | 6 ++++++
...ExecutionOutMaterialDetailWithOrderPO.java | 8 ++++++--
.../executionInMaterialDetailMapper.xml | 13 ++++++++++++-
.../ExecutionOutMaterialDetailMapper.xml | 9 +++++----
.../po/InMaterialDetailExportPO.java | 7 +++++--
.../po/InMaterialDetailWithOrderPO.java | 3 +++
.../po/OutMaterialDetailExportPO.java | 4 ++--
.../po/OutMaterialDetailWithOrderPO.java | 8 ++++++++
.../todo/QueryOrderOverStockDO.java | 6 ++++++
.../InMaterialDetailQueryDTO.java | 6 ++++++
.../OutMaterialDetailMapper.xml | 13 +++++++++----
.../InMaterialDetailMapper.xml | 19 +++++++++++++++++--
15 files changed, 96 insertions(+), 18 deletions(-)
diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/executionInMaterialDetail/repository/po/ExecutionInMaterialDetailPO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/executionInMaterialDetail/repository/po/ExecutionInMaterialDetailPO.java
index 86be848a0..25f6bb9bb 100644
--- a/mhd_oms/src/main/java/com/mhd/oms/domain/executionInMaterialDetail/repository/po/ExecutionInMaterialDetailPO.java
+++ b/mhd_oms/src/main/java/com/mhd/oms/domain/executionInMaterialDetail/repository/po/ExecutionInMaterialDetailPO.java
@@ -501,6 +501,6 @@ public class ExecutionInMaterialDetailPO extends ExecutionStockInOrderBasePO {
private BigDecimal insureAmount;
@ApiModelProperty("货物类型:0-物料 1-半成品 2-成品")
- @Excel(name = "货物类型")
+ @Excel(name = "货物类型", readConverterExp = "0=物料,1=半成品,2=成品")
private Integer goodsType;
}
\ No newline at end of file
diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/executionInMaterialDetail/repository/po/ExecutionInMaterialDetailWithOrderPO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/executionInMaterialDetail/repository/po/ExecutionInMaterialDetailWithOrderPO.java
index ee731a970..6bdc2549f 100644
--- a/mhd_oms/src/main/java/com/mhd/oms/domain/executionInMaterialDetail/repository/po/ExecutionInMaterialDetailWithOrderPO.java
+++ b/mhd_oms/src/main/java/com/mhd/oms/domain/executionInMaterialDetail/repository/po/ExecutionInMaterialDetailWithOrderPO.java
@@ -24,6 +24,10 @@ public class ExecutionInMaterialDetailWithOrderPO extends ExecutionInMaterialDet
@Excel(name = "单据状态", readConverterExp = "0=已创建,2=已审核,3=已驳回,4=已入库")
private Integer issueStatus;
+ @ApiModelProperty("货物种类(物料分类名称,多个逗号分隔)")
+ @Excel(name = "货物种类")
+ private String materialClassifyName;
+
@ApiModelProperty("入库单审核状态: 1-未审核 2-审核不通过 3-审核通过")
@Excel(name = "入库单审核状态: 1-未审核 2-审核不通过 3-审核通过")
private Integer inOrderAuditStatus;
diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/executionInMaterialDetail/repository/todo/ExecutionInMaterialDetailQueryDTO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/executionInMaterialDetail/repository/todo/ExecutionInMaterialDetailQueryDTO.java
index bc082e42f..91e42b873 100644
--- a/mhd_oms/src/main/java/com/mhd/oms/domain/executionInMaterialDetail/repository/todo/ExecutionInMaterialDetailQueryDTO.java
+++ b/mhd_oms/src/main/java/com/mhd/oms/domain/executionInMaterialDetail/repository/todo/ExecutionInMaterialDetailQueryDTO.java
@@ -45,6 +45,12 @@ public class ExecutionInMaterialDetailQueryDTO extends BaseVOEntity {
@ApiModelProperty("入库单类型编码")
private String inOrderTypeCode;
+ @ApiModelProperty("入库单类型编码(与inOrderTypeCode同义)")
+ private String orderTypeCode;
+
+ @ApiModelProperty("入库单类型名称(模糊查询)")
+ private String orderTypeName;
+
@ApiModelProperty("入库状态: 1-已创建 2-已审核 3-收货中 4-上架中 5-已入库 6-已取消 7-已关闭")
private Integer inStatus;
diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/executionInMaterialDetail/repository/todo/QueryOrderOverStockDO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/executionInMaterialDetail/repository/todo/QueryOrderOverStockDO.java
index 4c6cedc24..662cf7333 100644
--- a/mhd_oms/src/main/java/com/mhd/oms/domain/executionInMaterialDetail/repository/todo/QueryOrderOverStockDO.java
+++ b/mhd_oms/src/main/java/com/mhd/oms/domain/executionInMaterialDetail/repository/todo/QueryOrderOverStockDO.java
@@ -78,6 +78,12 @@ public class QueryOrderOverStockDO extends BaseVOEntity {
@Excel(name = "入库单类型编码")
private String inOrderTypeCode;
+ @ApiModelProperty("入库单类型编码(与inOrderTypeCode同义)")
+ private String orderTypeCode;
+
+ @ApiModelProperty("入库单类型名称")
+ private String orderTypeName;
+
@ApiModelProperty("入库单类型名称")
@Excel(name = "入库单类型名称")
private String inOrderTypeName;
diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/executionOutMaterialDetail/repository/po/ExecutionOutMaterialDetailWithOrderPO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/executionOutMaterialDetail/repository/po/ExecutionOutMaterialDetailWithOrderPO.java
index 4a8c47fa2..6f40eb45c 100644
--- a/mhd_oms/src/main/java/com/mhd/oms/domain/executionOutMaterialDetail/repository/po/ExecutionOutMaterialDetailWithOrderPO.java
+++ b/mhd_oms/src/main/java/com/mhd/oms/domain/executionOutMaterialDetail/repository/po/ExecutionOutMaterialDetailWithOrderPO.java
@@ -44,7 +44,7 @@ public class ExecutionOutMaterialDetailWithOrderPO extends ExecutionOutMaterialD
@ApiModelProperty("出仓日期")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- @Excel(name = "出仓日期", width = 30, dateFormat = "yyyy-MM-dd")
+ @Excel(name = "出仓日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date orderOutboundDate;
@ApiModelProperty("出库时间")
@@ -58,6 +58,10 @@ public class ExecutionOutMaterialDetailWithOrderPO extends ExecutionOutMaterialD
private BigDecimal insureAmount;
@ApiModelProperty("货物类型:0-物料 1-半成品 2-成品")
- @Excel(name = "货物类型: 0-物料 1-半成品 2-成品")
+ @Excel(name = "货物类型", readConverterExp = "0=物料,1=半成品,2=成品")
private Integer goodsType;
+
+ @ApiModelProperty("货物种类(物料分类名称,多个逗号分隔)")
+ @Excel(name = "货物种类")
+ private String materialClassifyName;
}
diff --git a/mhd_oms/src/main/resources/mapper/executionInMaterialDetail/executionInMaterialDetailMapper.xml b/mhd_oms/src/main/resources/mapper/executionInMaterialDetail/executionInMaterialDetailMapper.xml
index 6e815bb7b..bec732497 100644
--- a/mhd_oms/src/main/resources/mapper/executionInMaterialDetail/executionInMaterialDetailMapper.xml
+++ b/mhd_oms/src/main/resources/mapper/executionInMaterialDetail/executionInMaterialDetailMapper.xml
@@ -366,6 +366,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+
+
+
@@ -404,10 +407,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
a.single_volume, a.single_gross_weight, a.lot_no,
a.drink_date, a.fire_insure_fee, a.unit_price,
a.line_num_gw, a.spec_gw, a.unit_gw, a.qty_gw, a.erp_curr_gw, a.erp_price_gw, a.amount_gw,
- c.insure_amount, c.goods_type,
+ c.insure_amount, c.goods_type, c.material_classify_name,
b.shipper_id as order_shipper_id,
b.shipper_code as order_shipper_code,
b.shipper_name as order_shipper_name,
+ b.order_type_code,
+ b.order_type_name,
b.status as in_order_status,
b.audit_status as in_order_audit_status,
b.issue_status as issue_status,
@@ -452,6 +457,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
and b.order_type_code = #{inOrderTypeCode}
+
+ and b.order_type_code = #{orderTypeCode}
+
+
+ and b.order_type_name like concat('%', #{orderTypeName}, '%')
+
and b.issue_status = 4
diff --git a/mhd_oms/src/main/resources/mapper/executionOutMaterialDetail/ExecutionOutMaterialDetailMapper.xml b/mhd_oms/src/main/resources/mapper/executionOutMaterialDetail/ExecutionOutMaterialDetailMapper.xml
index e6123fcb5..83b4ad5ba 100644
--- a/mhd_oms/src/main/resources/mapper/executionOutMaterialDetail/ExecutionOutMaterialDetailMapper.xml
+++ b/mhd_oms/src/main/resources/mapper/executionOutMaterialDetail/ExecutionOutMaterialDetailMapper.xml
@@ -455,6 +455,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+
@@ -496,7 +497,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
a.stock_unit, a.stock_quantity, a.inventory_quantity,
a.line_num_gw, a.spec_gw, a.unit_gw, a.qty_gw,
a.erp_curr_gw, a.erp_price_gw, a.amount_gw, a.in_order_number_gw, a.in_line_num_gw,
- c.insure_amount, c.goods_type,
+ c.insure_amount, c.goods_type, c.material_classify_name,
b.shipper_id as order_shipper_id,
b.shipper_code as order_shipper_code,
b.shipper_name as order_shipper_name,
@@ -554,12 +555,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
and b.expect_time <= #{outOrderExpectEndTime}
-
+
- and date_format(IFNULL(b.OUTBOUND_DATE, b.create_time), '%Y-%m-%d') >= #{outboundDateStart}
+ and date_format(IFNULL(b.OUTBOUND_TIME, IFNULL(b.OUTBOUND_DATE, b.create_time)), '%Y-%m-%d') >= #{outboundDateStart}
- and date_format(IFNULL(b.OUTBOUND_DATE, b.create_time), '%Y-%m-%d') <= #{outboundDateEnd}
+ and date_format(IFNULL(b.OUTBOUND_TIME, IFNULL(b.OUTBOUND_DATE, b.create_time)), '%Y-%m-%d') <= #{outboundDateEnd}
and a.del_flag = 1
and b.del_flag = 1
diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/inMaterialDetail/repository/po/InMaterialDetailExportPO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/inMaterialDetail/repository/po/InMaterialDetailExportPO.java
index a9a81a591..08dd39bd8 100644
--- a/mhd_wms/src/main/java/com/mhd/wms/domain/inMaterialDetail/repository/po/InMaterialDetailExportPO.java
+++ b/mhd_wms/src/main/java/com/mhd/wms/domain/inMaterialDetail/repository/po/InMaterialDetailExportPO.java
@@ -86,8 +86,8 @@ public class InMaterialDetailExportPO {
@Excel(name = "备注", sort = 23)
private String remark;
- @Excel(name = "货物种类", sort = 24, readConverterExp = "0=物料,1=半成品,2=成品")
- private Integer goodsType;
+ @Excel(name = "货物种类", sort = 24)
+ private String materialClassifyName;
@Excel(name = "总重量", sort = 25)
private BigDecimal totalGrossWeight;
@@ -106,4 +106,7 @@ public class InMaterialDetailExportPO {
@Excel(name = "单据状态", sort = 30, readConverterExp = "5=已入库")
private Integer inOrderStatus;
+
+ @Excel(name = "业务单据类型", sort = 31)
+ private String orderTypeName;
}
diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/inMaterialDetail/repository/po/InMaterialDetailWithOrderPO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/inMaterialDetail/repository/po/InMaterialDetailWithOrderPO.java
index 6726c3345..d0c93eef1 100644
--- a/mhd_wms/src/main/java/com/mhd/wms/domain/inMaterialDetail/repository/po/InMaterialDetailWithOrderPO.java
+++ b/mhd_wms/src/main/java/com/mhd/wms/domain/inMaterialDetail/repository/po/InMaterialDetailWithOrderPO.java
@@ -41,4 +41,7 @@ public class InMaterialDetailWithOrderPO extends InMaterialDetailPO {
@ApiModelProperty("货物类型: 0-物料 1-半成品 2-成品")
@Excel(name = "货物类型: 0-物料 1-半成品 2-成品")
private Integer goodsType;
+
+ @ApiModelProperty("货物种类(物料分类名称,多个逗号分隔)")
+ private String materialClassifyName;
}
diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/outMaterialDetail/repository/po/OutMaterialDetailExportPO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/outMaterialDetail/repository/po/OutMaterialDetailExportPO.java
index a34896773..78a955ca1 100644
--- a/mhd_wms/src/main/java/com/mhd/wms/domain/outMaterialDetail/repository/po/OutMaterialDetailExportPO.java
+++ b/mhd_wms/src/main/java/com/mhd/wms/domain/outMaterialDetail/repository/po/OutMaterialDetailExportPO.java
@@ -97,8 +97,8 @@ public class OutMaterialDetailExportPO {
@Excel(name = "入库单号", sort = 27)
private String inOrderNumber;
- @Excel(name = "种类", sort = 28, readConverterExp = "0=物料,1=半成品,2=成品")
- private Integer goodsType;
+ @Excel(name = "种类", sort = 28)
+ private String materialClassifyName;
@Excel(name = "总价值", sort = 29)
private BigDecimal totalAmount;
diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/outMaterialDetail/repository/po/OutMaterialDetailWithOrderPO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/outMaterialDetail/repository/po/OutMaterialDetailWithOrderPO.java
index b45770de0..aa1e3a11e 100644
--- a/mhd_wms/src/main/java/com/mhd/wms/domain/outMaterialDetail/repository/po/OutMaterialDetailWithOrderPO.java
+++ b/mhd_wms/src/main/java/com/mhd/wms/domain/outMaterialDetail/repository/po/OutMaterialDetailWithOrderPO.java
@@ -38,6 +38,9 @@ public class OutMaterialDetailWithOrderPO extends OutMaterialDetailPO {
@ApiModelProperty("出库单状态(与outOrderStatus同值,便于前端按status字段名绑定)")
private Integer status;
+ @ApiModelProperty("货物种类(物料分类名称,多个逗号分隔)")
+ private String materialClassifyName;
+
@ApiModelProperty("出库单审核状态: 1-未审核 2-审核不通过 3-审核通过")
@Excel(name = "出库单审核状态: 1-未审核 2-审核不通过 3-审核通过")
private Integer outOrderAuditStatus;
@@ -48,6 +51,11 @@ public class OutMaterialDetailWithOrderPO extends OutMaterialDetailPO {
@Excel(name = "出仓日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date outboundDate;
+ @ApiModelProperty("完成时间(出库完成时间,Excel导入/录单时填写)")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date completeTime;
+
@ApiModelProperty("保额")
@Excel(name = "保额")
private BigDecimal insureAmount;
diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/overStock/repository/todo/QueryOrderOverStockDO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/overStock/repository/todo/QueryOrderOverStockDO.java
index fd74d7ab8..e48247cb3 100644
--- a/mhd_wms/src/main/java/com/mhd/wms/domain/overStock/repository/todo/QueryOrderOverStockDO.java
+++ b/mhd_wms/src/main/java/com/mhd/wms/domain/overStock/repository/todo/QueryOrderOverStockDO.java
@@ -78,6 +78,12 @@ public class QueryOrderOverStockDO extends BaseVOEntity {
@Excel(name = "入库单类型编码")
private String inOrderTypeCode;
+ @ApiModelProperty("入库单类型编码(与inOrderTypeCode同义)")
+ private String orderTypeCode;
+
+ @ApiModelProperty("入库单类型名称")
+ private String orderTypeName;
+
@ApiModelProperty("入库单类型名称")
@Excel(name = "入库单类型名称")
private String inOrderTypeName;
diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/inMaterialDetail/InMaterialDetailQueryDTO.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/inMaterialDetail/InMaterialDetailQueryDTO.java
index b32387b5e..307d837ca 100644
--- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/inMaterialDetail/InMaterialDetailQueryDTO.java
+++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/inMaterialDetail/InMaterialDetailQueryDTO.java
@@ -41,6 +41,12 @@ public class InMaterialDetailQueryDTO extends BaseVOEntity {
@ApiModelProperty("入库单类型编码(如退货入库 tui_huo_ru_ku)")
private String inOrderTypeCode;
+ @ApiModelProperty("入库单类型编码(与inOrderTypeCode同义)")
+ private String orderTypeCode;
+
+ @ApiModelProperty("入库单类型名称(模糊查询)")
+ private String orderTypeName;
+
@ApiModelProperty("物料基础信息id")
private Long materialBaseInfoId;
diff --git a/mhd_wms/src/main/resources/mapper/OutMaterialDetail/OutMaterialDetailMapper.xml b/mhd_wms/src/main/resources/mapper/OutMaterialDetail/OutMaterialDetailMapper.xml
index ed4d52f07..2ae53ff48 100644
--- a/mhd_wms/src/main/resources/mapper/OutMaterialDetail/OutMaterialDetailMapper.xml
+++ b/mhd_wms/src/main/resources/mapper/OutMaterialDetail/OutMaterialDetailMapper.xml
@@ -391,10 +391,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+
+
+
and b.status = 5
@@ -494,13 +502,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
a.contract_fee as contractFee,
CAST(NULL AS DECIMAL) as fireInsureFee,
a.remark as remark,
- c.goods_type as goodsType,
+ c.material_classify_name as materialClassifyName,
a.TOTAL_GROSS_WEIGHT as totalGrossWeight,
c.insure_amount as insureAmount,
a.storage_name as storageName,
c.charge_standard as chargeStandard,
a.EXPIRY_DATE as expiryDate,
- b.status as inOrderStatus
+ b.status as inOrderStatus,
+ b.order_type_name as orderTypeName
from in_material_detail a
join stock_in_order b on a.in_order_number = b.in_order_number
left join material_base_info c on a.material_base_info_id = c.material_base_info_id
@@ -542,6 +551,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
and b.order_type_code = #{inOrderTypeCode}
+
+ and b.order_type_code = #{orderTypeCode}
+
+
+ and b.order_type_name like concat('%', #{orderTypeName}, '%')
+
and b.status = 5
and date_format(IFNULL(b.warehouse_date, b.create_time), '%Y-%m-%d') >= #{warehouseDateStart}