入库oms;

This commit is contained in:
王奎兴
2026-04-09 10:27:20 +08:00
parent f66b11622d
commit 42ec0ec4ad
33 changed files with 8731 additions and 0 deletions
@@ -0,0 +1,339 @@
<?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.oms.domain.reservationInMaterialDetail.repository.mapper.ReservationInMaterialDetailMapper">
<resultMap type="com.mhd.oms.domain.reservationInMaterialDetail.repository.po.ReservationInMaterialDetailPO" 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="uniqueId" column="unique_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" jdbcType="BIGINT" />
<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" />
<result property="specificationModel" column="SPECIFICATION_MODEL" />
<result property="skuCode" column="SKU_CODE" />
<result property="invoiceNo" column="INVOICE_NO" />
<result property="liter" column="LITER" />
<result property="dimensions" column="DIMENSIONS" />
<result property="declarationUnit" column="DECLARATION_UNIT" />
<result property="batchRefNo" column="BATCH_REF_NO" />
<result property="sheetRefNo" column="SHEET_REF_NO" />
<result property="originCountry" column="ORIGIN_COUNTRY" />
<result property="boxPalletNo" column="BOX_PALLET_NO" />
<result property="currency" column="CURRENCY" />
<result property="unit" column="UNIT" />
<result property="declaredQuantity" column="DECLARED_QUANTITY" />
<result property="boxCount" column="BOX_COUNT" />
<result property="pieceCount" column="PIECE_COUNT" />
<result property="inboundQuantity" column="INBOUND_QUANTITY" />
<result property="totalNetWeight" column="TOTAL_NET_WEIGHT" />
<result property="totalGrossWeight" column="TOTAL_GROSS_WEIGHT" />
<result property="totalVolume" column="TOTAL_VOLUME" />
<result property="totalArea" column="TOTAL_AREA" />
<result property="totalPrice" column="TOTAL_PRICE" />
<result property="productionDate" column="PRODUCTION_DATE" />
<result property="expiryDate" column="EXPIRY_DATE" />
<result property="inventoryDate" column="INVENTORY_DATE" />
<result property="extAttr1" column="EXT_ATTR_1" />
<result property="extAttr2" column="EXT_ATTR_2" />
<result property="extAttr3" column="EXT_ATTR_3" />
<result property="extAttr4" column="EXT_ATTR_4" />
<result property="contractFee" column="contract_fee" />
<result property="monthlyWarehouseFee" column="monthly_warehouse_fee" />
<result property="halfMonthWhFee" column="half_month_wh_fee" />
<result property="discountRate" column="discount_rate" />
<result property="singleVolume" column="single_volume" />
<result property="singleGrossWeight" column="single_gross_weight" />
<result property="lotNo" column="lot_no" />
</resultMap>
<sql id="selectMaterialDetailPo">
a.contract_fee ,
a.monthly_warehouse_fee ,
a.half_month_wh_fee ,
a.discount_rate ,
a.single_volume ,
a.single_gross_weight ,
a.lot_no ,
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,
CASE
WHEN a.pack_detail_id IS NULL OR TRIM(a.pack_detail_id) = '' THEN NULL
ELSE CAST(a.pack_detail_id AS BIGINT)
END as 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,
a.SPECIFICATION_MODEL, a.SKU_CODE, a.INVOICE_NO, a.LITER, a.DIMENSIONS, a.DECLARATION_UNIT, a.BATCH_REF_NO, a.SHEET_REF_NO,
a.ORIGIN_COUNTRY, a.BOX_PALLET_NO, a.CURRENCY, a.UNIT, a.DECLARED_QUANTITY, a.BOX_COUNT, a.PIECE_COUNT, a.INBOUND_QUANTITY,
a.TOTAL_NET_WEIGHT, a.TOTAL_GROSS_WEIGHT, a.TOTAL_VOLUME, a.TOTAL_AREA, a.TOTAL_PRICE,
a.PRODUCTION_DATE, a.EXPIRY_DATE, a.INVENTORY_DATE, a.EXT_ATTR_1, a.EXT_ATTR_2, a.EXT_ATTR_3, a.EXT_ATTR_4
,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 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.oms.domain.reservationInMaterialDetail.repository.todo.ReservationInMaterialDetailDO" resultMap="MaterialDetailResult">
select
<include refid="selectMaterialDetailPo"/>
from reservation_in_material_detail a
<where>
<include refid="selectMaterialDetailPo1"/>
</where>
</select>
<select id="queryInOrderList" parameterType="com.mhd.oms.domain.reservationInMaterialDetail.repository.todo.QueryOrderOverStockDO" resultMap="MaterialDetailResult">
select
<include refid="selectMaterialDetailPo"/>
<include refid="com.mhd.wms.domain.stockInOrder.repository.mapper.StockInOrderMapper.joinStockInOrderPo"/>
from reservation_in_material_detail a
LEFT JOIN reservation_stock_in_order b ON a.in_order_number = b.in_order_number
<where>
<include refid="joinMaterialDetailPoWhere"/>
<include refid="joinStockInOrderPoWhere"/>
</where>
</select>
</mapper>
@@ -0,0 +1,444 @@
<?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.oms.domain.reservationStockInOrder.repository.mapper.ReservationStockInOrderMapper">
<resultMap type="com.mhd.oms.domain.reservationStockInOrder.repository.po.ReservationStockInOrderPO" id="StockInOrderResult">
<result property="inOrderId" column="in_order_id" />
<result property="organizationId" column="organization_id" />
<result property="organizationName" column="organization_name" />
<result property="topOrganizationId" column="top_organization_id" />
<result property="noticeNumber" column="notice_number" />
<result property="inOrderNumber" column="in_order_number" />
<result property="status" column="status" />
<result property="auditStatus" column="audit_status" />
<result property="auditRemark" column="audit_remark" />
<result property="auditBy" column="audit_by" />
<result property="auditByName" column="audit_by_name" />
<result property="auditTime" column="audit_time" />
<result property="warehouseId" column="warehouse_id" />
<result property="warehouseCode" column="warehouse_code" />
<result property="warehouseName" column="warehouse_name" />
<result property="shipperId" column="shipper_id" />
<result property="shipperName" column="shipper_name" />
<result property="orderTypeCode" column="order_type_code" />
<result property="orderTypeName" column="order_type_name" />
<result property="supplierId" column="supplier_id" />
<result property="supplierName" column="supplier_name" />
<result property="expectTime" column="expect_time" />
<result property="supplyChainNumber" column="supply_chain_number" />
<result property="priorityLevelCode" column="priority_level_code" />
<result property="priorityLevelName" column="priority_level_name" />
<result property="directWarehouse" column="direct_warehouse" />
<result property="annexUrl" column="annex_url" />
<result property="quantity" column="quantity" />
<result property="planInQuantity" column="plan_in_quantity" />
<result property="receiptQuantity" column="receipt_quantity" />
<result property="shelvesQuantity" column="shelves_quantity" />
<result property="cancelOrder" column="cancel_order" />
<result property="cancelRemark" column="cancel_remark" />
<result property="cancelBy" column="cancel_by" />
<result property="cancelByName" column="cancel_by_name" />
<result property="cancelTime" column="cancel_time" />
<result property="closeOrder" column="close_order" />
<result property="closeRemark" column="close_remark" />
<result property="closeBy" column="close_by" />
<result property="closeByName" column="close_by_name" />
<result property="closeTime" column="close_time" />
<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" />
<result property="to" column="TO" />
<result property="contactPerson" column="CONTACT_PERSON" />
<result property="vehicleInfo" column="VEHICLE_INFO" />
<result property="consignmentNo" column="CONSIGNMENT_NO" />
<result property="tel" column="TEL" />
<result property="driverSignature" column="DRIVER_SIGNATURE" />
<result property="fax" column="FAX" />
<result property="declarationArea" column="DECLARATION_AREA" />
<result property="manufacturer" column="MANUFACTURER" />
<result property="customsBrokerInfo" column="CUSTOMS_BROKER_INFO" />
<result property="deliveryAddress" column="DELIVERY_ADDRESS" />
<result property="entryExitCustoms" column="ENTRY_EXIT_CUSTOMS" />
<result property="originDestinationCountry" column="ORIGIN_DESTINATION_COUNTRY" />
<result property="carrier" column="CARRIER" />
<result property="containerNo" column="CONTAINER_NO" />
<result property="transportMethod" column="TRANSPORT_METHOD" />
<result property="supervisionMethod" column="SUPERVISION_METHOD" />
<result property="customsInspection" column="CUSTOMS_INSPECTION" />
<result property="needCustomsDeclaration" column="NEED_CUSTOMS_DECLARATION" />
<result property="needTransport" column="NEED_TRANSPORT" />
<result property="warehouseDate" column="WAREHOUSE_DATE" />
<result property="completionTime" column="COMPLETION_TIME" />
<result property="orderDate" column="ORDER_DATE" />
</resultMap>
<sql id="selectStockInOrderPo">
a.in_order_id, a.organization_id, a.organization_name, a.top_organization_id, a.notice_number, a.in_order_number, a.status,
a.audit_status, a.audit_remark, a.audit_by, a.audit_by_name, a.audit_time, a.warehouse_id, a.warehouse_code, a.warehouse_name, a.shipper_id, a.shipper_code,
a.shipper_name, a.order_type_code, a.order_type_name, a.supplier_id, a.supplier_code, a.supplier_name, a.expect_time, a.supply_chain_number,
a.priority_level_code, a.priority_level_name, a.direct_warehouse, a.annex_url, a.material_quantity, a.quantity,
-- 计划入库数量:入库明细表 in_material_detail 的 quantity 汇总
(select ifnull(sum(imd.quantity), 0)
from in_material_detail imd
where imd.in_order_number = a.in_order_number
and imd.del_flag = 1
and (imd.level is null or imd.level = 1)
) as plan_in_quantity,
-- 收货数量:收货单表 stock_receipt_order 的 receipt_quantity 汇总
(select ifnull(sum(sro.receipt_quantity), 0)
from stock_receipt_order sro
where sro.in_order_number = a.in_order_number
and sro.del_flag = 1
) as receipt_quantity,
-- 上架数量:上架单表 stock_shelf_order 的 shelves_quantity 汇总
(select ifnull(sum(sso.shelves_quantity), 0)
from stock_shelf_order sso
where sso.in_order_number = a.in_order_number
and sso.del_flag = 1
) as shelves_quantity,
a.weight_limit, a.volume_limit, a.cancel_order, a.cancel_remark, a.cancel_by,
a.cancel_by_name, a.cancel_time, a.close_order, a.close_remark, a.close_by, a.close_by_name, a.close_time, 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, over_stock_id, over_stock_status, over_stock_type,
a."TO", a.CONTACT_PERSON, a.VEHICLE_INFO, a.CONSIGNMENT_NO, a.TEL, a.DRIVER_SIGNATURE, a.FAX, a.DECLARATION_AREA, a.MANUFACTURER,
a.CUSTOMS_BROKER_INFO, a.DELIVERY_ADDRESS, a.ENTRY_EXIT_CUSTOMS, a.ORIGIN_DESTINATION_COUNTRY, a.CARRIER, a.CONTAINER_NO,
a.TRANSPORT_METHOD, a.SUPERVISION_METHOD, a.CUSTOMS_INSPECTION, a.NEED_CUSTOMS_DECLARATION, a.NEED_TRANSPORT,
a.WAREHOUSE_DATE, a.COMPLETION_TIME, a.ORDER_DATE
</sql>
<sql id="joinStockInOrderPo">
,b.notice_number, b.warehouse_id, b.warehouse_code, b.warehouse_name, b.shipper_id, b.shipper_code, b.shipper_name,
b.order_type_code, b.order_type_name, b.supplier_id, b.supplier_code, b.supplier_name, b.expect_time, b.supply_chain_number, b.priority_level_code,
b.priority_level_name, b.direct_warehouse, b.annex_url, b.material_quantity as in_order_material_quantity, b.quantity as in_order_quantity
</sql>
<sql id="joinStockInOrderPoWhere">
<if test="noticeNumber != null and noticeNumber != ''">
and b.notice_number = #{noticeNumber}
</if>
<if test="inOrderNumber != null and inOrderNumber != ''">
and b.in_order_number like concat('%', #{inOrderNumber}, '%')
</if>
<if test="warehouseId != null ">
and b.warehouse_id = #{warehouseId}
</if>
<if test="warehouseCode != null and warehouseCode != ''">
and b.warehouse_code = #{warehouseCode}
</if>
<if test="warehouseName != null and warehouseName != ''">
and b.warehouse_name like concat('%', #{warehouseName}, '%')
</if>
<if test="shipperId != null ">
and b.shipper_id = #{shipperId}
</if>
<if test="shipperName != null and shipperName != ''">
and b.shipper_name like concat('%', #{shipperName}, '%')
</if>
<if test="orderTypeCode != null and orderTypeCode != ''">
and b.order_type_code = #{orderTypeCode}
</if>
<if test="orderTypeName != null and orderTypeName != ''">
and b.order_type_name like concat('%', #{orderTypeName}, '%')
</if>
<if test="supplierId != null ">
and b.supplier_id = #{supplierId}
</if>
<if test="supplierName != null and supplierName != ''">
and b.supplier_name like concat('%', #{supplierName}, '%')
</if>
<if test="expectTime != null ">
and b.expect_time = #{expectTime}
</if>
<if test="supplyChainNumber != null and supplyChainNumber != ''">
and b.supply_chain_number = #{supplyChainNumber}
</if>
<if test="priorityLevelCode != null and priorityLevelCode != ''">
and b.priority_level_code = #{priorityLevelCode}
</if>
<if test="priorityLevelName != null and priorityLevelName != ''">
and b.priority_level_name like concat('%', #{priorityLevelName}, '%')
</if>
<if test="directWarehouse != null ">
and b.direct_warehouse = #{directWarehouse}
</if>
<if test="annexUrl != null and annexUrl != ''">
and b.annex_url = #{annexUrl}
</if>
<if test="quantity != null ">
and b.quantity = #{quantity}
</if>
</sql>
<sql id="selectStockInOrderPo1">
<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="noticeNumber != null and noticeNumber != ''">
and a.notice_number = #{noticeNumber}
</if>
<if test="inOrderNumber != null and inOrderNumber != ''">
and a.in_order_number = #{inOrderNumber}
</if>
<if test="status != null ">
and a.status = #{status}
</if>
<if test="ltStatus != null ">
and a.status &lt; #{ltStatus}
</if>
<if test="gtStatus != null ">
and a.status &gt; #{gtStatus}
</if>
<if test="auditStatus != null ">
and a.audit_status = #{auditStatus}
</if>
<if test="ltAuditStatus != null ">
and a.audit_status &lt; #{ltAuditStatus}
</if>
<if test="gtAuditStatus != null ">
and a.audit_status &gt; #{gtAuditStatus}
</if>
<if test="auditRemark != null and auditRemark != ''">
and a.audit_remark = #{auditRemark}
</if>
<if test="auditBy != null ">
and a.audit_by = #{auditBy}
</if>
<if test="auditByName != null and auditByName != ''">
and a.audit_by_name like concat('%', #{auditByName}, '%')
</if>
<if test="auditTime != null ">
and a.audit_time = #{auditTime}
</if>
<if test="warehouseId != null ">
and a.warehouse_id = #{warehouseId}
</if>
<if test="warehouseCode != null and warehouseCode != ''">
and a.warehouse_code = #{warehouseCode}
</if>
<if test="warehouseName != null and warehouseName != ''">
and a.warehouse_name like concat('%', #{warehouseName}, '%')
</if>
<if test="shipperId != null ">
and a.shipper_id = #{shipperId}
</if>
<if test="shipperName != null and shipperName != ''">
and a.shipper_name like concat('%', #{shipperName}, '%')
</if>
<if test="orderTypeCode != null and orderTypeCode != ''">
and a.order_type_code = #{orderTypeCode}
</if>
<if test="orderTypeName != null and orderTypeName != ''">
and a.order_type_name like concat('%', #{orderTypeName}, '%')
</if>
<if test="supplierId != null ">
and a.supplier_id = #{supplierId}
</if>
<if test="supplierName != null and supplierName != ''">
and a.supplier_name like concat('%', #{supplierName}, '%')
</if>
<if test="expectTime != null ">
and a.expect_time = #{expectTime}
</if>
<if test="supplyChainNumber != null and supplyChainNumber != ''">
and a.supply_chain_number = #{supplyChainNumber}
</if>
<if test="priorityLevelCode != null and priorityLevelCode != ''">
and a.priority_level_code = #{priorityLevelCode}
</if>
<if test="priorityLevelName != null and priorityLevelName != ''">
and a.priority_level_name like concat('%', #{priorityLevelName}, '%')
</if>
<if test="directWarehouse != null ">
and a.direct_warehouse = #{directWarehouse}
</if>
<if test="annexUrl != null and annexUrl != ''">
and a.annex_url = #{annexUrl}
</if>
<if test="quantity != null ">
and a.quantity = #{quantity}
</if>
<if test="cancelOrder != null ">
and a.cancel_order = #{cancelOrder}
</if>
<if test="cancelRemark != null and cancelRemark != ''">
and a.cancel_remark = #{cancelRemark}
</if>
<if test="cancelBy != null ">
and a.cancel_by = #{cancelBy}
</if>
<if test="cancelByName != null and cancelByName != ''">
and a.cancel_by_name like concat('%', #{cancelByName}, '%')
</if>
<if test="cancelTime != null ">
and a.cancel_time = #{cancelTime}
</if>
<if test="closeOrder != null ">
and a.close_order = #{closeOrder}
</if>
<if test="closeRemark != null and closeRemark != ''">
and a.close_remark = #{closeRemark}
</if>
<if test="closeBy != null ">
and a.close_by = #{closeBy}
</if>
<if test="closeByName != null and closeByName != ''">
and a.close_by_name like concat('%', #{closeByName}, '%')
</if>
<if test="closeTime != null ">
and a.close_time = #{closeTime}
</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="inOrderIds != null and inOrderIds.size > 0 ">
and a.in_order_id in
<foreach collection="inOrderIds" item="item" index="index" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
<!-- 报关相关字段查询条件 -->
<if test="to != null and to != ''">
and a."TO" like concat('%', #{to}, '%')
</if>
<if test="contactPerson != null and contactPerson != ''">
and a.CONTACT_PERSON like concat('%', #{contactPerson}, '%')
</if>
<if test="vehicleInfo != null and vehicleInfo != ''">
and a.VEHICLE_INFO like concat('%', #{vehicleInfo}, '%')
</if>
<if test="consignmentNo != null and consignmentNo != ''">
and a.CONSIGNMENT_NO like concat('%', #{consignmentNo}, '%')
</if>
<if test="tel != null and tel != ''">
and a.TEL like concat('%', #{tel}, '%')
</if>
<if test="driverSignature != null and driverSignature != ''">
and a.DRIVER_SIGNATURE like concat('%', #{driverSignature}, '%')
</if>
<if test="fax != null and fax != ''">
and a.FAX like concat('%', #{fax}, '%')
</if>
<if test="declarationArea != null and declarationArea != ''">
and a.DECLARATION_AREA like concat('%', #{declarationArea}, '%')
</if>
<if test="manufacturer != null and manufacturer != ''">
and a.MANUFACTURER like concat('%', #{manufacturer}, '%')
</if>
<if test="customsBrokerInfo != null and customsBrokerInfo != ''">
and a.CUSTOMS_BROKER_INFO like concat('%', #{customsBrokerInfo}, '%')
</if>
<if test="deliveryAddress != null and deliveryAddress != ''">
and a.DELIVERY_ADDRESS like concat('%', #{deliveryAddress}, '%')
</if>
<if test="entryExitCustoms != null and entryExitCustoms != ''">
and a.ENTRY_EXIT_CUSTOMS like concat('%', #{entryExitCustoms}, '%')
</if>
<if test="originDestinationCountry != null and originDestinationCountry != ''">
and a.ORIGIN_DESTINATION_COUNTRY like concat('%', #{originDestinationCountry}, '%')
</if>
<if test="carrier != null and carrier != ''">
and a.CARRIER like concat('%', #{carrier}, '%')
</if>
<if test="containerNo != null and containerNo != ''">
and a.CONTAINER_NO = #{containerNo}
</if>
<if test="transportMethod != null and transportMethod != ''">
and a.TRANSPORT_METHOD = #{transportMethod}
</if>
<if test="supervisionMethod != null and supervisionMethod != ''">
and a.SUPERVISION_METHOD = #{supervisionMethod}
</if>
<if test="customsInspection != null">
and a.CUSTOMS_INSPECTION = #{customsInspection}
</if>
<if test="needCustomsDeclaration != null">
and a.NEED_CUSTOMS_DECLARATION = #{needCustomsDeclaration}
</if>
<if test="needTransport != null">
and a.NEED_TRANSPORT = #{needTransport}
</if>
<if test="warehouseDate != null">
and a.WAREHOUSE_DATE = #{warehouseDate}
</if>
<if test="completionTime != null">
and a.COMPLETION_TIME = #{completionTime}
</if>
<if test="orderDate != null">
and a.ORDER_DATE = #{orderDate}
</if>
<if test="createTimeStart != null and createTimeStart != ''">
and date_format(a.create_time,'%Y-%m-%d') &gt;= #{createTimeStart}
</if>
<if test="createTimeEnd != null and createTimeEnd != ''">
and date_format(a.create_time,'%Y-%m-%d') &lt;= #{createTimeEnd}
</if>
<!-- 入库明细:物料名称、物料编码(同一明细行同时满足;与计划数量汇总口径一致)。关联 material_base_info 避免明细冗余名称与主档不一致时筛不到 -->
<if test="(materialName != null and materialName != '') or (materialCode != null and materialCode != '')">
and exists (
select 1 from in_material_detail imd
left join material_base_info mb on imd.material_base_info_id = mb.material_base_info_id and mb.del_flag = 1
where imd.in_order_number = a.in_order_number
and imd.del_flag = 1
and (imd.level is null or imd.level = 1)
<if test="materialName != null and materialName != ''">
and (
imd.material_name like concat('%', #{materialName}, '%')
or mb.material_name like concat('%', #{materialName}, '%')
)
</if>
<if test="materialCode != null and materialCode != ''">
and (
imd.material_code like concat('%', #{materialCode}, '%')
or mb.material_code like concat('%', #{materialCode}, '%')
)
</if>
)
</if>
<choose>
<when test="delFlag != null"> and a.del_flag = #{delFlag} </when>
<otherwise> and a.del_flag = 1 </otherwise>
</choose>
</sql>
<select id="queryList" parameterType="com.mhd.oms.domain.reservationStockInOrder.repository.todo.ReservationStockInOrderDO" resultMap="StockInOrderResult">
select
<include refid="selectStockInOrderPo"/>
from reservation_stock_in_order a
<where>
<include refid="selectStockInOrderPo1"/>
</where>
ORDER BY a.create_time IS NULL, a.create_time DESC
</select>
<select id="getinfo" parameterType="java.lang.Long" resultType="com.mhd.oms.domain.reservationStockInOrder.repository.po.MaterialBaseInfoPO">
select * from "NGWL_TEST_WMS".MATERIAL_BASE_INFO where MATERIAL_BASE_INFO_ID = #{id}
</select>
<select id="getInfoByMaterialBaseInfoIds" parameterType="java.lang.Long" resultType="com.mhd.oms.domain.reservationStockInOrder.repository.po.MaterialWarehouseControlPO">
select * from "NGWL_TEST_WMS".MATERIAL_WAREHOUSE_CONTROL where MATERIAL_BASE_INFO_ID = #{id}
</select>
<select id="getGoodsInfoByMaterialBaseInfoIds" parameterType="java.lang.Long" resultType="com.mhd.oms.domain.reservationStockInOrder.repository.po.MaterialGoodsRulePO">
select * from "NGWL_TEST_WMS".MATERIAL_GOODS_RULE where MATERIAL_BASE_INFO_ID = #{id}
</select>
</mapper>