集成wms服务模块

This commit is contained in:
hjx
2026-01-19 18:55:23 +08:00
parent aab59723f9
commit 1655d57057
835 changed files with 96160 additions and 0 deletions
@@ -0,0 +1,289 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mhd.wms.domain.inMaterialDetail.repository.mapper.InMaterialDetailMapper">
<resultMap type="com.mhd.wms.domain.inMaterialDetail.repository.po.InMaterialDetailPO" id="MaterialDetailResult">
<result property="materialDetailId" column="material_detail_id" />
<result property="organizationId" column="organization_id" />
<result property="organizationName" column="organization_name" />
<result property="topOrganizationId" column="top_organization_id" />
<result property="materialBaseInfoId" column="material_base_info_id" />
<result property="materialCode" column="material_code" />
<result property="materialName" column="material_name" />
<result property="barCode" column="bar_code" />
<result property="quantity" column="quantity" />
<result property="receiptQuantity" column="receipt_quantity" />
<result property="shelvesQuantity" column="shelves_quantity" />
<result property="packId" column="pack_id" />
<result property="packCode" column="pack_code" />
<result property="packName" column="pack_name" />
<result property="packDetailId" column="pack_detail_id" />
<result property="unitCode" column="unit_code" />
<result property="unitName" column="unit_name" />
<result property="materialWarehouseControlId" column="material_warehouse_control_id" />
<result property="serialNumberManage" column="serial_number_manage" />
<result property="qualityInspectionManage" column="quality_inspection_manage" />
<result property="qualityInspectionStage" column="quality_inspection_stage" />
<result property="qualityInspectionRule" column="quality_inspection_rule" />
<result property="qualityInspectionTerm" column="quality_inspection_term" />
<result property="qualityInspectionResults" column="quality_inspection_results" />
<result property="allowOvercharge" column="allow_overcharge" />
<result property="overchargeRatio" column="overcharge_ratio" />
<result property="batchNumber" column="batch_number" />
<result property="materialStatusCode" column="material_status_code" />
<result property="materialStatusName" column="material_status_name" />
<result property="distributeRuleId" column="distribute_rule_id" />
<result property="distributeRuleCode" column="distribute_rule_code" />
<result property="distributeRuleName" column="distribute_rule_name" />
<result property="containerId" column="container_id" />
<result property="containerCode" column="container_code" />
<result property="containerType" column="container_type" />
<result property="containerTypeName" column="container_type_name" />
<result property="remark" column="remark" />
<result property="createTime" column="create_time" />
<result property="createBy" column="create_by" />
<result property="createByName" column="create_by_name" />
<result property="updateTime" column="update_time" />
<result property="updateBy" column="update_by" />
<result property="updateByName" column="update_by_name" />
<result property="delFlag" column="del_flag" />
<result property="overStockId" column="over_stock_id" />
<result property="overStockStatus" column="over_stock_status" />
<result property="overStockType" column="over_stock_type" />
</resultMap>
<sql id="selectMaterialDetailPo">
a.material_detail_id, a.organization_id, a.organization_name, a.top_organization_id, a.unique_id, a.in_order_number, a.material_base_info_id,
a.material_code, a.material_name, a.bar_code, a.quantity, a.receipt_quantity, a.shelves_quantity,
a.receipt_status, a.shelves_status, a.pack_id, a.pack_code, a.pack_name,
a.pack_detail_id, a.unit_code, a.unit_name, a.material_warehouse_control_id, a.serial_number_manage, a.quality_inspection_manage,
a.quality_inspection_stage, a.quality_inspection_rule, a.quality_inspection_ratio, a.quality_inspection_term, a.quality_inspection_results, a.allow_overcharge,
a.overcharge_ratio, a.batch_number, a.material_status_code, a.material_status_name, a.distribute_rule_id, a.distribute_rule_code,
a.distribute_rule_name, a.container_id, a.container_code, a.container_type, a.container_type_name,
a.warehouse_id, a.warehouse_code, a.warehouse_name, a.storage_section_id, a.storage_code, a.storage_name, a.storage_location_id, a.storage_location_code, a.storage_location_name,
a.level, a.parent_unique_id, a.remark, a.create_time, a.create_by,a.create_by_name, a.update_time, a.update_by, a.update_by_name, a.del_flag, a.over_stock_id, a.over_stock_status, a.over_stock_type
,CASE
WHEN (a.quantity - a.receipt_quantity) &lt; 0 THEN 0
ELSE (a.quantity - a.receipt_quantity)
END AS wait_receipt_quantity,
CASE
WHEN (a.receipt_quantity - a.shelves_quantity) &lt; 0 THEN 0
ELSE (a.receipt_quantity - a.shelves_quantity)
END AS wait_shelves_quantity
</sql>
<sql id="selectMaterialDetailPo1">
<if test="organizationId != null ">
and a.organization_id = #{organizationId}
</if>
<if test="organizationName != null and organizationName != ''">
and a.organization_name like concat('%', #{organizationName}, '%')
</if>
<if test="topOrganizationId != null ">
and a.top_organization_id = #{topOrganizationId}
</if>
<if test="inOrderNumber != null and inOrderNumber != '' ">
and a.in_order_number = #{inOrderNumber}
</if>
<if test="materialBaseInfoId != null ">
and a.material_base_info_id = #{materialBaseInfoId}
</if>
<if test="materialCode != null and materialCode != ''">
and a.material_code = #{materialCode}
</if>
<if test="materialName != null and materialName != ''">
and a.material_name like concat('%', #{materialName}, '%')
</if>
<if test="barCode != null and barCode != ''">
and a.bar_code = #{barCode}
</if>
<if test="quantity != null ">
and a.quantity = #{quantity}
</if>
<if test="receiptQuantity != null ">
and a.receipt_quantity = #{receiptQuantity}
</if>
<if test="shelvesQuantity != null ">
and a.shelves_quantity = #{shelvesQuantity}
</if>
<if test="packId != null ">
and a.pack_id = #{packId}
</if>
<if test="packCode != null and packCode != ''">
and a.pack_code = #{packCode}
</if>
<if test="packName != null and packName != ''">
and a.pack_name like concat('%', #{packName}, '%')
</if>
<if test="packDetailId != null and packDetailId != ''">
and a.pack_detail_id = #{packDetailId}
</if>
<if test="unitCode != null and unitCode != ''">
and a.unit_code = #{unitCode}
</if>
<if test="unitName != null and unitName != ''">
and a.unit_name like concat('%', #{unitName}, '%')
</if>
<if test="materialWarehouseControlId != null ">
and a.material_warehouse_control_id = #{materialWarehouseControlId}
</if>
<if test="serialNumberManage != null ">
and a.serial_number_manage = #{serialNumberManage}
</if>
<if test="qualityInspectionManage != null ">
and a.quality_inspection_manage = #{qualityInspectionManage}
</if>
<if test="qualityInspectionStage != null ">
and a.quality_inspection_stage = #{qualityInspectionStage}
</if>
<if test="qualityInspectionRule != null ">
and a.quality_inspection_rule = #{qualityInspectionRule}
</if>
<if test="qualityInspectionTerm != null ">
and a.quality_inspection_term = #{qualityInspectionTerm}
</if>
<if test="qualityInspectionResults != null ">
and a.quality_inspection_results = #{qualityInspectionResults}
</if>
<if test="allowOvercharge != null ">
and a.allow_overcharge = #{allowOvercharge}
</if>
<if test="overchargeRatio != null ">
and a.overcharge_ratio = #{overchargeRatio}
</if>
<if test="batchNumber != null and batchNumber != ''">
and a.batch_number = #{batchNumber}
</if>
<if test="materialStatusCode != null and materialStatusCode != ''">
and a.material_status_code = #{materialStatusCode}
</if>
<if test="materialStatusName != null and materialStatusName != ''">
and a.material_status_name like concat('%', #{materialStatusName}, '%')
</if>
<if test="distributeRuleId != null ">
and a.distribute_rule_id = #{distributeRuleId}
</if>
<if test="distributeRuleCode != null and distributeRuleCode != ''">
and a.distribute_rule_code = #{distributeRuleCode}
</if>
<if test="distributeRuleName != null and distributeRuleName != ''">
and a.distribute_rule_name like concat('%', #{distributeRuleName}, '%')
</if>
<if test="containerId != null ">
and a.container_id = #{containerId}
</if>
<if test="containerCode != null and containerCode != ''">
and a.container_code = #{containerCode}
</if>
<if test="containerType != null and containerType != ''">
and a.container_type = #{containerType}
</if>
<if test="containerTypeName != null and containerTypeName != ''">
and a.container_type_name like concat('%', #{containerTypeName}, '%')
</if>
<if test="createByName != null and createByName != ''">
and a.create_by_name like concat('%', #{createByName}, '%')
</if>
<if test="updateByName != null and updateByName != ''">
and a.update_by_name like concat('%', #{updateByName}, '%')
</if>
<if test="inOrderNumberList != null and inOrderNumberList.size > 0 ">
and a.in_order_number in
<foreach collection="inOrderNumberList" item="item" index="index" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
<choose>
<when test="delFlag != null"> and a.del_flag = #{delFlag} </when>
<otherwise> and a.del_flag = 1 </otherwise>
</choose>
</sql>
<sql id="joinMaterialDetailPoWhere">
<if test="organizationId != null ">
and a.organization_id = #{organizationId}
</if>
<if test="organizationName != null and organizationName != ''">
and a.organization_name like concat('%', #{organizationName}, '%')
</if>
<if test="topOrganizationId != null ">
and a.top_organization_id = #{topOrganizationId}
</if>
<if test="overStockStatus != null ">
and a.over_stock_status = #{overStockStatus}
</if>
<if test="materialBaseInfoId != null ">
and a.material_base_info_id = #{materialBaseInfoId}
</if>
<if test="materialBaseInfoIdList != null and materialBaseInfoIdList != ''">
and a.material_base_info_id in
<foreach collection="materialBaseInfoIdList" item="item" index="index" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
<choose>
<when test="delFlag != null"> and a.del_flag = #{delFlag} </when>
<otherwise> and a.del_flag = 1 </otherwise>
</choose>
</sql>
<sql id="joinStockInOrderPoWhere">
<if test="outOrderNumber != null and outOrderNumber != ''">
and b.out_order_number = #{outOrderNumber}
</if>
<if test="warehouseId != null and warehouseId != '' ">
and b.warehouse_id = #{warehouseId}
</if>
<if test="shipperId != null and shipperId != ''">
and b.shipper_id = #{shipperId}
</if>
<if test="shipperIdList != null and shipperIdList != ''">
and b.shipper_id in
<foreach collection="shipperIdList" item="item" index="index" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
<if test="inOrderExpectStartTime != null and inOrderExpectStartTime != ''"><!-- 开始时间检索 -->
and date_format(b.expect_time,'%y%m%d') &gt;= date_format(#{inOrderExpectStartTime},'%y%m%d')
</if>
<if test="inOrderExpectEndTime != null and inOrderExpectEndTime != ''"><!-- 结束时间检索 -->
and date_format(b.expect_time,'%y%m%d') &lt;= date_format(#{inOrderExpectEndTime},'%y%m%d')
</if>
<if test="inOrderTypeCode != null and inOrderTypeCode != ''">
and b.order_type_code = #{outOrderTypeCode}
</if>
<!-- 入库状态: 1-已创建 2-已审核 3-收货中 4-上架中 5-已入库 -->
<if test="inStatus != null ">
and b.status = #{inStatus}
</if>
<choose>
<when test="delFlag != null"> and b.del_flag = #{delFlag} </when>
<otherwise> and b.del_flag = 1 </otherwise>
</choose>
</sql>
<select id="queryList" parameterType="com.mhd.wms.domain.inMaterialDetail.repository.todo.InMaterialDetailDO" resultMap="MaterialDetailResult">
select
<include refid="selectMaterialDetailPo"/>
from in_material_detail a
<where>
<include refid="selectMaterialDetailPo1"/>
</where>
</select>
<select id="queryInOrderList" parameterType="com.mhd.wms.domain.overStock.repository.todo.QueryOrderOverStockDO" resultMap="MaterialDetailResult">
select
<include refid="selectMaterialDetailPo"/>
<include refid="com.mhd.wms.domain.stockInOrder.repository.mapper.StockInOrderMapper.joinStockInOrderPo"/>
from in_material_detail a
LEFT JOIN stock_in_order b ON a.in_order_number = b.in_order_number
<where>
<include refid="joinMaterialDetailPoWhere"/>
<include refid="joinStockInOrderPoWhere"/>
</where>
</select>
</mapper>