修改 wms 库存管理 页面查询和打印

This commit is contained in:
zhaoqing
2026-04-14 22:21:15 +08:00
parent 76e82f635a
commit 6aee88748b
4 changed files with 227 additions and 46 deletions
@@ -12,6 +12,8 @@ import org.springframework.stereotype.Service;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@Service @Service
public class CopyCodeReferenceApplicationService { public class CopyCodeReferenceApplicationService {
@@ -34,9 +36,6 @@ public class CopyCodeReferenceApplicationService {
public List<CopyCodeReferencePO> queryWeightList(CopyCodeReferenceDTO dto) { public List<CopyCodeReferencePO> queryWeightList(CopyCodeReferenceDTO dto) {
List<CopyCodeReferencePO> list = copyCodeReferenceDomainService.queryWeightList(dto); List<CopyCodeReferencePO> list = copyCodeReferenceDomainService.queryWeightList(dto);
for(int i = 0;i < list.size();i++) {
list.get(i).setSerialNumber(i+1);
}
return list; return list;
} }
@@ -14,13 +14,25 @@ import java.math.BigDecimal;
public class CopyCodeReferencePO extends BaseVOEntity { public class CopyCodeReferencePO extends BaseVOEntity {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ApiModelProperty("id")
private Integer id;
@ApiModelProperty("序号") @ApiModelProperty("序号")
private Integer serialNumber; private Integer serialNumber;
@ApiModelProperty("仓库id")
@Excel(name = "仓库id")
private String warehouseId;
@ApiModelProperty("仓库") @ApiModelProperty("仓库")
@Excel(name = "仓库") @Excel(name = "仓库")
private String warehouseName; private String warehouseName;
@ApiModelProperty("物料基础信息ID")
private Integer materialBaseInfoId;
@ApiModelProperty("物料编码") @ApiModelProperty("物料编码")
@Excel(name = "物料编码") @Excel(name = "物料编码")
private String materialCode; private String materialCode;
@@ -29,6 +41,9 @@ public class CopyCodeReferencePO extends BaseVOEntity {
@Excel(name = "物料名称") @Excel(name = "物料名称")
private String materialName; private String materialName;
@ApiModelProperty("上架单物料明细ID")
private Integer materialDetailId;
@ApiModelProperty("入库单号") @ApiModelProperty("入库单号")
@Excel(name = "入库单号") @Excel(name = "入库单号")
private String inOrderNumber; private String inOrderNumber;
@@ -53,6 +68,21 @@ public class CopyCodeReferencePO extends BaseVOEntity {
@Excel(name = "净重(KG)") @Excel(name = "净重(KG)")
private BigDecimal netWeight; private BigDecimal netWeight;
@ApiModelProperty("毛重(KG)")
@Excel(name = "毛重(KG)")
private BigDecimal grossWeight;
@ApiModelProperty("物料状态编码")
private Integer materialStatusCode;
@ApiModelProperty("组织ID")
@Excel(name = "组织ID")
private Integer organizationId;
@ApiModelProperty("一级组织ID")
@Excel(name = "一级组织ID")
private Integer topOrganizationId;
@ApiModelProperty("货主名称") @ApiModelProperty("货主名称")
@Excel(name = "货主名称") @Excel(name = "货主名称")
private String shipperName; private String shipperName;
@@ -65,5 +95,7 @@ public class CopyCodeReferencePO extends BaseVOEntity {
@Excel(name = "物料状态") @Excel(name = "物料状态")
private String materialStatusName; private String materialStatusName;
@ApiModelProperty("物料状态")
@Excel(name = "物料状态")
private String materialInventoryId;
} }
@@ -3,72 +3,173 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mhd.wms.domain.copyCodeReference.repository.mapper.CopyCodeReferenceMapper"> <mapper namespace="com.mhd.wms.domain.copyCodeReference.repository.mapper.CopyCodeReferenceMapper">
<!-- <resultMap id="CopyCodeReferencePOMap" type="com.mhd.wms.domain.copyCodeReference.repository.po.CopyCodeReferencePO">-->
<!-- <result property="serialNumber" column="serial_number"/>-->
<!-- <result property="warehouseName" column="warehouse_name"/>-->
<!-- <result property="materialCode" column="material_code"/>-->
<!-- <result property="materialName" column="material_name"/>-->
<!-- <result property="inOrderNumber" column="in_order_number"/>-->
<!-- <result property="lotNumber" column="lot_number"/>-->
<!-- <result property="batchNumber" column="batch_number"/>-->
<!-- <result property="containerCode" column="container_code"/>-->
<!-- <result property="inventoryQuantity" column="inventory_quantity"/>-->
<!-- <result property="shipperName" column="shipper_name"/>-->
<!-- <result property="boxPalletNo" column="box_pallet_no"/>-->
<!-- <result property="materialStatusName" column="material_status_name"/>-->
<!-- <result property="materialInventoryId" column="material_inventory_id"/>-->
<!-- <result property="netWeight" column="net_weight"/>-->
<!-- </resultMap>-->
<resultMap id="CopyCodeReferencePOMap" type="com.mhd.wms.domain.copyCodeReference.repository.po.CopyCodeReferencePO"> <resultMap id="CopyCodeReferencePOMap" type="com.mhd.wms.domain.copyCodeReference.repository.po.CopyCodeReferencePO">
<result property="serialNumber" column="serial_number"/> <result property="id" column="id"/>
<result property="materialInventoryId" column="material_inventory_id"/>
<result property="warehouseId" column="warehouse_id"/>
<result property="warehouseName" column="warehouse_name"/> <result property="warehouseName" column="warehouse_name"/>
<result property="materialBaseInfoId" column="material_base_info_id"/>
<result property="materialCode" column="material_code"/> <result property="materialCode" column="material_code"/>
<result property="materialName" column="material_name"/> <result property="materialName" column="material_name"/>
<result property="materialDetailId" column="material_detail_id"/>
<result property="inOrderNumber" column="in_order_number"/> <result property="inOrderNumber" column="in_order_number"/>
<result property="lotNumber" column="lot_number"/> <result property="lotNumber" column="lot_number"/>
<result property="batchNumber" column="batch_number"/> <result property="batchNumber" column="batch_number"/>
<result property="boxPalletNo" column="box_pallet_no"/>
<result property="containerCode" column="container_code"/> <result property="containerCode" column="container_code"/>
<result property="inventoryQuantity" column="inventory_quantity"/> <result property="inventoryQuantity" column="inventory_quantity"/>
<result property="shipperName" column="shipper_name"/>
<result property="boxPalletNo" column="box_pallet_no"/>
<result property="materialStatusName" column="material_status_name"/>
<result property="netWeight" column="net_weight"/> <result property="netWeight" column="net_weight"/>
<result property="grossWeight" column="gross_weight"/>
<result property="materialStatusCode" column="material_status_code"/>
<result property="materialStatusName" column="material_status_name"/>
<result property="serialNumber" column="serial_number"/>
<result property="organizationId" column="organization_id"/>
<result property="topOrganizationId" column="top_organization_id"/>
<result property="createBy" column="create_by"/>
<result property="createByName" column="create_by_name"/>
<result property="createTime" column="create_time"/>
<result property="updateBy" column="update_by"/>
<result property="updateByName" column="update_by_name"/>
<result property="updateTime" column="update_time"/>
<result property="delFlag" column="del_flag"/>
</resultMap> </resultMap>
<!-- 查询列表:条件是 material_base_info.copy_code = 1 -->
<select id="queryList" resultMap="CopyCodeReferencePOMap"> <select id="queryList" resultMap="CopyCodeReferencePOMap">
SELECT SELECT
mi.warehouse_name, id,
mbi.material_code, material_inventory_id,
mbi.material_name, warehouse_id,
mi.in_order_number, warehouse_name,
mi.batch_number, material_base_info_id,
mi.container_code, material_code,
mi.inventory_quantity, material_name,
mi.net_weight, material_detail_id,
mi.shipper_name, in_order_number,
mi.lot_number, lot_number,
mi.box_pallet_no, batch_number,
mi.material_status_name box_pallet_no,
FROM material_inventory mi container_code,
LEFT JOIN material_base_info mbi ON mi.material_base_info_id = mbi.material_base_info_id inventory_quantity,
LEFT JOIN shelf_material_detail ssd ON mi.material_detail_id = ssd.material_detail_id net_weight,
LEFT JOIN warehouse w ON mi.warehouse_id = w.warehouse_id gross_weight,
WHERE mi.del_flag = 1 material_status_code,
AND mbi.copy_code = 1 material_status_name,
<if test="shipperId != null"> serial_number,
AND mi.shipper_id = #{shipperId} organization_id,
</if> top_organization_id,
create_by,
create_by_name,
create_time,
update_by,
update_by_name,
update_time,
del_flag
FROM copy_code_reference
WHERE del_flag = 1
<if test="warehouseId != null"> <if test="warehouseId != null">
AND mi.warehouse_id = #{warehouseId} AND warehouse_id = #{warehouseId}
</if> </if>
<if test="materialCode != null and materialCode != ''"> <if test="materialCode != null and materialCode != ''">
AND mbi.material_code = #{materialCode} AND material_code = #{materialCode}
</if> </if>
<!-- <if test="materialName != null and materialName != ''">-->
<!-- AND material_name LIKE '%' || #{materialName} || '%'-->
<!-- </if>-->
<if test="batchNumber != null and batchNumber != ''"> <if test="batchNumber != null and batchNumber != ''">
AND mi.batch_number = #{batchNumber} AND batch_number = #{batchNumber}
</if> </if>
<if test="containerCode != null and containerCode != ''"> <!-- <if test="boxPalletNo != null and boxPalletNo != ''">-->
AND mi.container_code = #{containerCode} <!-- AND box_pallet_no = #{boxPalletNo}-->
</if> <!-- </if>-->
order by mi.create_time desc ORDER BY material_code, batch_number, box_pallet_no, serial_number
</select> </select>
<select id="queryWeightList" resultMap="CopyCodeReferencePOMap"> <select id="queryWeightList" resultMap="CopyCodeReferencePOMap">
SELECT SELECT
mi.net_weight, id,
mi.material_inventory_id material_inventory_id,
FROM material_inventory mi material_code,
LEFT JOIN material_base_info mbi ON mbi.material_base_info_id = mi.material_base_info_id AND mbi.del_flag = 1 batch_number,
WHERE mi.del_flag = 1 box_pallet_no,
AND mbi.copy_code = 1 net_weight,
AND mbi.material_code = #{materialCode} serial_number
AND mi.batch_number = #{batchNumber} FROM copy_code_reference
AND mi.box_pallet_no = #{boxPalletNo} WHERE del_flag = 1
AND material_code = #{materialCode}
AND batch_number = #{batchNumber}
AND box_pallet_no = #{boxPalletNo}
ORDER BY serial_number
</select> </select>
<!-- 查询列表:条件是 material_base_info.copy_code = 1 -->
<!-- <select id="queryList" resultMap="CopyCodeReferencePOMap">-->
<!-- SELECT-->
<!-- mi.warehouse_name,-->
<!-- mbi.material_code,-->
<!-- mbi.material_name,-->
<!-- mi.in_order_number,-->
<!-- mi.batch_number,-->
<!-- mi.container_code,-->
<!-- mi.inventory_quantity,-->
<!-- mi.net_weight,-->
<!-- mi.shipper_name,-->
<!-- mi.lot_number,-->
<!-- mi.box_pallet_no,-->
<!-- mi.material_status_name-->
<!-- FROM material_inventory mi-->
<!-- LEFT JOIN material_base_info mbi ON mi.material_base_info_id = mbi.material_base_info_id-->
<!-- LEFT JOIN shelf_material_detail ssd ON mi.material_detail_id = ssd.material_detail_id-->
<!-- LEFT JOIN warehouse w ON mi.warehouse_id = w.warehouse_id-->
<!-- WHERE mi.del_flag = 1-->
<!-- AND mbi.copy_code = 1-->
<!-- <if test="shipperId != null">-->
<!-- AND mi.shipper_id = #{shipperId}-->
<!-- </if>-->
<!-- <if test="warehouseId != null">-->
<!-- AND mi.warehouse_id = #{warehouseId}-->
<!-- </if>-->
<!-- <if test="materialCode != null and materialCode != ''">-->
<!-- AND mbi.material_code = #{materialCode}-->
<!-- </if>-->
<!-- <if test="batchNumber != null and batchNumber != ''">-->
<!-- AND mi.batch_number = #{batchNumber}-->
<!-- </if>-->
<!-- <if test="containerCode != null and containerCode != ''">-->
<!-- AND mi.container_code = #{containerCode}-->
<!-- </if>-->
<!-- order by mi.create_time desc-->
<!-- </select>-->
<!-- <select id="queryWeightList" resultMap="CopyCodeReferencePOMap">-->
<!-- SELECT-->
<!-- mi.net_weight,-->
<!-- mi.material_inventory_id-->
<!-- FROM material_inventory mi-->
<!-- LEFT JOIN material_base_info mbi ON mbi.material_base_info_id = mi.material_base_info_id AND mbi.del_flag = 1-->
<!-- WHERE mi.del_flag = 1-->
<!-- AND mbi.copy_code = 1-->
<!-- AND mbi.material_code = #{materialCode}-->
<!-- AND mi.batch_number = #{batchNumber}-->
<!-- AND mi.box_pallet_no = #{boxPalletNo}-->
<!-- </select>-->
</mapper> </mapper>
+49
View File
@@ -0,0 +1,49 @@
-- 创建抄码商品对照表
CREATE TABLE COPY_CODE_REFERENCE (
ID BIGINT PRIMARY KEY IDENTITY(1,1) COMMENT '主键ID',
MATERIAL_INVENTORY_ID BIGINT COMMENT '物料库存ID',
WAREHOUSE_ID BIGINT COMMENT '仓库ID',
WAREHOUSE_NAME VARCHAR(100) COMMENT '仓库名称',
MATERIAL_BASE_INFO_ID BIGINT COMMENT '物料基础信息ID',
MATERIAL_CODE VARCHAR(100) COMMENT '物料编码',
MATERIAL_NAME VARCHAR(200) COMMENT '物料名称',
MATERIAL_DETAIL_ID BIGINT COMMENT '上架单物料明细ID',
IN_ORDER_NUMBER VARCHAR(100) COMMENT '入库单号',
LOT_NUMBER VARCHAR(100) COMMENT 'LOT编码',
BATCH_NUMBER VARCHAR(100) COMMENT '批次号',
BOX_PALLET_NO VARCHAR(100) COMMENT '托盘号',
CONTAINER_CODE VARCHAR(100) COMMENT '容器编码',
INVENTORY_QUANTITY DECIMAL(18,6) COMMENT '数量',
NET_WEIGHT DECIMAL(18,6) COMMENT '净重(KG)',
GROSS_WEIGHT DECIMAL(18,6) COMMENT '毛重(KG)',
MATERIAL_STATUS_CODE VARCHAR(10) COMMENT '物料状态编码',
MATERIAL_STATUS_NAME VARCHAR(50) COMMENT '物料状态名称',
SERIAL_NUMBER INT COMMENT '打印序号',
ORGANIZATION_ID BIGINT COMMENT '组织ID',
TOP_ORGANIZATION_ID BIGINT COMMENT '一级组织ID',
DEL_FLAG INT DEFAULT 1 COMMENT '删除标记: 0-删除 1-正常',
CREATE_BY BIGINT COMMENT '创建者',
CREATE_BY_NAME VARCHAR(50) COMMENT '创建者姓名',
CREATE_TIME TIMESTAMP COMMENT '创建时间',
UPDATE_BY BIGINT COMMENT '更新者',
UPDATE_BY_NAME VARCHAR(50) COMMENT '更新者姓名',
UPDATE_TIME TIMESTAMP COMMENT '更新时间'
);
-- 创建索引
CREATE INDEX IDX_COPY_CODE_MATERIAL ON COPY_CODE_REFERENCE(MATERIAL_CODE);
CREATE INDEX IDX_COPY_CODE_BATCH ON COPY_CODE_REFERENCE(BATCH_NUMBER);
CREATE INDEX IDX_COPY_CODE_PALLET ON COPY_CODE_REFERENCE(BOX_PALLET_NO);
CREATE INDEX IDX_COPY_CODE_INVENTORY ON COPY_CODE_REFERENCE(MATERIAL_INVENTORY_ID);
COMMENT ON TABLE COPY_CODE_REFERENCE IS '抄码商品对照表';
alter table NGWL_TEST_WMS.MATERIAL_BASE_INFO
add COPY_CODE TINYINT default 2;
comment
on column NGWL_TEST_WMS.MATERIAL_BASE_INFO.COPY_CODE is '是否抄码: 1-是 2-否';