Files
nanguangszwlback/mhd_oms/src/main/resources/mapper/executionOutMaterialDetail/ExecutionOutMaterialDetailMapper.xml
T

580 lines
30 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?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.executionOutMaterialDetail.repository.mapper.ExecutionOutMaterialDetailMapper">
<resultMap type="com.mhd.oms.domain.executionOutMaterialDetail.repository.po.ExecutionOutMaterialDetailPO" 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="outOrderNumber" column="out_order_number" />
<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="weightLimit" column="weight_limit" />
<result property="volumeLimit" column="volume_limit" />
<result property="quantity" column="quantity" />
<result property="allocationQuantity" column="allocation_quantity" />
<result property="pickingQuantity" column="picking_quantity" />
<result property="checkQuantity" column="check_quantity" />
<result property="waitCheckQuantity" column="WAIT_CHECK_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="materialInventoryId" column="material_inventory_id" />
<result property="warehouseId" column="warehouse_id" />
<result property="warehouseCode" column="warehouse_code" />
<result property="warehouseName" column="warehouse_name" />
<result property="storageSectionId" column="storage_section_id" />
<result property="storageCode" column="storage_code" />
<result property="storageName" column="storage_name" />
<result property="storageLocationId" column="storage_location_id" />
<result property="storageLocationCode" column="storage_location_code" />
<result property="storageLocationName" column="storage_location_name" />
<result property="level" column="level" />
<result property="parentUniqueId" column="parent_unique_id" />
<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="commodityName" column="COMMODITY_NAME" />
<result property="commodityNo" column="COMMODITY_NO" />
<result property="materialNo" column="MATERIAL_NO" />
<result property="specificationModel" column="SPECIFICATION_MODEL" />
<result property="skucode" column="SKUCODE" />
<result property="invoiceNo" column="INVOICE_NO" />
<result property="liter" column="LITER" />
<result property="size" column="SIZE" />
<result property="declareUnit" column="DECLARE_UNIT" />
<result property="batchRefNo" column="BATCH_REF_NO" />
<result property="sheetRefNo" column="SHEET_REF_NO" />
<result property="countryOfOrigin" column="COUNTRY_OF_ORIGIN" />
<result property="boxPalletNo" column="BOX_PALLET_NO" />
<result property="currency" column="CURRENCY" />
<result property="declareQuantity" column="DECLARE_QUANTITY" />
<result property="caseCount" column="CASE_COUNT" />
<result property="pieceCount" column="PIECE_COUNT" />
<result property="outboundQuantity" column="OUTBOUND_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="totalAmount" column="TOTAL_AMOUNT" />
<result property="unit" column="UNIT" />
<result property="extAttr1" column="EXT_ATTR_1" />
<result property="extAttr2" column="EXT_ATTR_2" />
<result property="productionDate" column="PRODUCTION_DATE" />
<result property="expiryDate" column="EXPIRY_DATE" />
<result property="inventoryDate" column="INVENTORY_DATE" />
<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" />
<result property="inOrderNumber" column="in_order_number" />
<result property="stockUnit" column="stock_unit" />
<result property="stockQuantity" column="stock_quantity" />
<result property="inventoryQuantity" column="inventory_quantity" />
<result property="lineNumGw" column="line_num_gw" />
<result property="specGw" column="spec_gw" />
<result property="unitGw" column="unit_gw" />
<result property="qtyGw" column="qty_gw" />
<result property="erpCurrGw" column="erp_curr_gw" />
<result property="erpPriceGw" column="erp_price_gw" />
<result property="amountGw" column="amount_gw" />
<result property="inOrderNumberGw" column="in_order_number_gw" />
</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.stock_quantity ,
a.stock_unit ,a.in_order_number ,
a.material_detail_id, a.organization_id, a.organization_name, a.top_organization_id, a.unique_id, a.out_order_number, a.material_base_info_id, a.line_number, a.material_code, a.material_name, a.bar_code, a.weight_limit, a.volume_limit,
a.quantity, a.already_allocation_quantity, a.allocation_quantity, a.picking_quantity, a.check_quantity, ROUND(GREATEST(0, IFNULL(a.quantity, 0) - IFNULL(a.check_quantity, 0), IFNULL(a.picking_quantity, 0) - IFNULL(a.check_quantity, 0)), 2) AS wait_check_quantity,
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.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.allow_modify,
a.material_inventory_id, a.batch_number, a.container_id, a.container_code, a.container_type, a.container_type_name, a.material_status_code, a.material_status_name,
a.remark, a.create_time, a.create_by,gen_picking_order,
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.COMMODITY_NAME,
a.COMMODITY_NO,
a.MATERIAL_NO ,
a.SPECIFICATION_MODEL,
a.SKUCODE ,
a.INVOICE_NO,
a.LITER,
a.SIZE,
a.DECLARE_UNIT,
a.BATCH_REF_NO,
a.SHEET_REF_NO,
a.COUNTRY_OF_ORIGIN,
a.BOX_PALLET_NO,
a.CURRENCY,
a.DECLARE_QUANTITY,
a.CASE_COUNT,
a.PIECE_COUNT,
a.OUTBOUND_QUANTITY,
a.TOTAL_NET_WEIGHT,
a.TOTAL_GROSS_WEIGHT,
a.TOTAL_VOLUME,
a.TOTAL_AREA,
a.TOTAL_AMOUNT,
a.UNIT,
a.EXT_ATTR_1,
a.EXT_ATTR_2,
a.PRODUCTION_DATE,
a.EXPIRY_DATE,
a.INVENTORY_DATE,
a.EXT_ATTR_3,
a.EXT_ATTR_4,
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
</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="outOrderNumber != null and outOrderNumber != '' ">
and a.out_order_number = #{outOrderNumber}
</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="allocationQuantity != null ">
and a.allocation_quantity = #{allocationQuantity}
</if>
<if test="pickingQuantity != null ">
and a.picking_quantity = #{pickingQuantity}
</if>
<if test="checkQuantity != null ">
and a.check_quantity = #{checkQuantity}
</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="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="storageSectionId != null ">
and a.storage_section_id = #{storageSectionId}
</if>
<if test="storageCode != null and storageCode != ''">
and a.storage_code = #{storageCode}
</if>
<if test="storageName != null and storageName != ''">
and a.storage_name like concat('%', #{storageName}, '%')
</if>
<if test="storageLocationId != null ">
and a.storage_location_id = #{storageLocationId}
</if>
<if test="storageLocationCode != null and storageLocationCode != ''">
and a.storage_location_code = #{storageLocationCode}
</if>
<if test="storageLocationName != null and storageLocationName != ''">
and a.storage_location_name like concat('%', #{storageLocationName}, '%')
</if>
<if test="level != null ">
and a.level = #{level}
</if>
<if test="genPickingOrder != null ">
and a.gen_picking_order = #{genPickingOrder}
</if>
<if test="parentUniqueId != null ">
and a.parent_unique_id = #{parentUniqueId}
</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="outOrderNumberList != null and outOrderNumberList.size > 0 ">
and a.out_order_number in
<foreach collection="outOrderNumberList" 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="joinStockOutOrderPoWhere">
<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="outOrderExpectStartTime != null and outOrderExpectStartTime != ''"><!-- 开始时间检索 -->
and date_format(b.expect_time,'%y%m%d') &gt;= date_format(#{outOrderExpectStartTime},'%y%m%d')
</if>
<if test="outOrderExpectEndTime != null and outOrderExpectEndTime != ''"><!-- 结束时间检索 -->
and date_format(b.expect_time,'%y%m%d') &lt;= date_format(#{outOrderExpectEndTime},'%y%m%d')
</if>
<if test="outOrderTypeCode != null and outOrderTypeCode != ''">
and b.order_type_code = #{outOrderTypeCode}
</if>
<!-- 出库状态: 1-已创建 2-已审核 3-部分分配 4-已分配 5-拣货中 6-波次中 7-拣货完成 8-复核中 9-已出库 10-已取消 11-已关闭 -->
<if test="outStatus != null ">
and b.status = #{outStatus}
</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.executionOutMaterialDetail.repository.todo.ExecutionOutMaterialDetailDO" resultMap="MaterialDetailResult">
select
<include refid="selectMaterialDetailPo"/>
from execution_out_material_detail a
<where>
<include refid="selectMaterialDetailPo1"/>
</where>
</select>
<select id="queryOutOrderList" parameterType="com.mhd.oms.domain.executionInMaterialDetail.repository.todo.QueryOrderOverStockDO" resultMap="MaterialDetailResult">
select
<include refid="selectMaterialDetailPo"/>
<include refid="com.mhd.oms.domain.executionStockOutOrder.repository.mapper.ExecutionStockOutOrderMapper.joinStockOutOrderPo"/>
from execution_out_material_detail a
left join execution_stock_out_order b on a.out_order_number = b.out_order_number
<where>
<include refid="joinMaterialDetailPoWhere"/>
<include refid="joinStockOutOrderPoWhere"/>
</where>
</select>
<update id="batchAddAllocationQuantityByIds" parameterType="com.mhd.oms.domain.executionOutMaterialDetail.repository.todo.ExecutionOutMaterialDetailDO">
UPDATE execution_out_material_detail
<set>
allocation_quantity = CASE material_detail_id
<foreach collection="children" item="item" index="index" separator=",">
WHEN #{item.materialDetailId} THEN allocation_quantity + #{item.allocationQuantity}
</foreach>
END,
update_by = #{item.updateBy},
update_by_name = #{item.updateByName},
update_time = now()
</set>
WHERE material_detail_id IN
<foreach collection="children" item="item" index="index" open="(" separator="," close=")">
#{item.materialDetailId}
</foreach>
</update>
<update id="batchAddPickingQuantityByIds" parameterType="com.mhd.oms.domain.executionOutMaterialDetail.repository.todo.ExecutionOutMaterialDetailDO">
UPDATE execution_out_material_detail
<set>
picking_quantity = CASE material_detail_id
<foreach collection="children" item="item" index="index" separator=",">
WHEN #{item.materialDetailId} THEN picking_quantity + #{item.pickingQuantity}
</foreach>
END,
update_by = #{updateBy},
update_by_name = #{updateByName},
update_time = now()
</set>
WHERE material_detail_id IN
<foreach collection="children" item="item" index="index" open="(" separator="," close=")">
#{item.materialDetailId}
</foreach>
</update>
<update id="batchAddPickingQuantityByUniqueIds" parameterType="com.mhd.oms.domain.executionOutMaterialDetail.repository.todo.ExecutionOutMaterialDetailDO">
UPDATE execution_out_material_detail
<set>
picking_quantity = CASE unique_id
<foreach collection="children" item="item" index="index" separator=",">
WHEN #{item.uniqueId} THEN picking_quantity + #{item.pickingQuantity}
</foreach>
END,
<trim prefix="picking_quantity = CASE unique_id" suffix="END,">
<foreach collection="children" item="item" index="index">
WHEN #{item.uniqueId} THEN picking_quantity + #{item.pickingQuantity}
</foreach>
</trim>
update_by = #{updateBy},
update_by_name = #{updateByName},
update_time = now()
</set>
WHERE unique_id IN
<foreach collection="children" item="item" index="index" open="(" separator="," close=")">
#{item.uniqueId}
</foreach>
</update>
<select id="getKcId" parameterType="java.lang.String" resultType="java.lang.Long">
select MATERIAL_INVENTORY_ID from "NGWL_TEST_WMS".OUT_MATERIAL_DETAIL where lot_no = #{lotNo}
</select>
<select id="getInOrderNumber" parameterType="java.lang.Long" resultType="java.lang.String">
select IN_ORDER_NUMBER from "NGWL_TEST_WMS".MATERIAL_INVENTORY where MATERIAL_INVENTORY_ID = #{id}
</select>
<select id="getWarehouse" parameterType="java.lang.Long" resultType="java.lang.String">
select WAREHOUSE_CODE from "NGWL_TEST_WMS".MATERIAL_INVENTORY where MATERIAL_INVENTORY_ID = #{id}
</select>
<select id="getOpWhLoc" parameterType="java.lang.Long" resultType="java.lang.String">
select STORAGE_LOCATION_CODE from "NGWL_TEST_WMS".MATERIAL_INVENTORY where MATERIAL_INVENTORY_ID = #{id}
</select>
<select id="getLotByKcId" parameterType="java.lang.Long" resultType="java.lang.String">
select LOT_NUMBER from "NGWL_TEST_WMS".MATERIAL_INVENTORY where MATERIAL_INVENTORY_ID = #{id}
</select>
<select id="getInLotNo" resultType="java.lang.String">
select LOT_NO from "NGWL_TEST_WMS".IN_MATERIAL_DETAIL where MATERIAL_BASE_INFO_ID = #{baseId} and IN_ORDER_NUMBER = #{inOrderNumber}
</select>
<select id="getLot" parameterType="java.lang.Long" resultType="java.lang.String">
select LOT_NO from "NGWL_TEST_WMS".OUT_MATERIAL_DETAIL where UNIQUE_ID = #{uniqueId}
</select>
<select id="getkcIdByUniqueId" parameterType="java.lang.Long" resultType="java.lang.Long">
select MATERIAL_INVENTORY_ID from "NGWL_TEST_WMS".OUT_MATERIAL_DETAIL where UNIQUE_ID = #{uniqueId}
</select>
<!-- ========== 出库明细查询(关联出库执行单) ========== -->
<resultMap type="com.mhd.oms.domain.executionOutMaterialDetail.repository.po.ExecutionOutMaterialDetailWithOrderPO"
id="OutMaterialDetailWithOrderResult" extends="MaterialDetailResult">
<result property="outOrderStatus" column="out_order_status" />
<result property="outOrderAuditStatus" column="out_order_audit_status" />
<result property="issueStatus" column="issue_status" />
<result property="materialClassifyName" column="material_classify_name" />
<result property="orderTypeCode" column="order_type_code" />
<result property="orderTypeName" column="order_type_name" />
<result property="orderShipperId" column="order_shipper_id" />
<result property="orderShipperCode" column="order_shipper_code" />
<result property="orderShipperName" column="order_shipper_name" />
<result property="orderOutboundDate" column="order_outbound_date" />
<result property="orderOutboundTime" column="order_outbound_time" />
<result property="insureAmount" column="insure_amount" />
<result property="goodsType" column="goods_type" />
</resultMap>
<select id="queryOutOrderDetailList"
parameterType="com.mhd.oms.domain.reservationInMaterialDetail.repository.todo.QueryOrderOverStockDO"
resultMap="OutMaterialDetailWithOrderResult">
select
a.material_detail_id, a.organization_id, a.organization_name, a.top_organization_id, a.unique_id,
a.out_order_number, a.material_base_info_id, a.material_code, a.material_name, a.bar_code,
a.weight_limit, a.volume_limit, a.quantity, a.allocation_quantity, a.picking_quantity, a.check_quantity,
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.material_inventory_id, a.batch_number,
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.allow_modify,
a.container_id, a.container_code, a.container_type, a.container_type_name,
a.material_status_code, a.material_status_name,
a.remark, a.create_time, a.create_by, a.create_by_name, a.gen_picking_order,
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.COMMODITY_NAME, a.COMMODITY_NO, a.MATERIAL_NO,
a.SPECIFICATION_MODEL, a.SKUCODE, a.INVOICE_NO, a.LITER, a.SIZE,
a.DECLARE_UNIT, a.BATCH_REF_NO, a.SHEET_REF_NO,
a.COUNTRY_OF_ORIGIN, a.BOX_PALLET_NO, a.CURRENCY,
a.DECLARE_QUANTITY, a.CASE_COUNT, a.PIECE_COUNT, a.OUTBOUND_QUANTITY,
a.TOTAL_NET_WEIGHT, a.TOTAL_GROSS_WEIGHT, a.TOTAL_VOLUME, a.TOTAL_AREA, a.TOTAL_AMOUNT,
a.UNIT, a.EXT_ATTR_1, a.EXT_ATTR_2, a.PRODUCTION_DATE, a.EXPIRY_DATE, a.INVENTORY_DATE,
a.EXT_ATTR_3, a.EXT_ATTR_4,
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.in_order_number,
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.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.OUTBOUND_DATE as order_outbound_date,
b.OUTBOUND_TIME as order_outbound_time,
b.status as out_order_status,
b.audit_status as out_order_audit_status,
b.issue_status as issue_status
from execution_out_material_detail a
left join execution_stock_out_order b on a.out_order_number = b.out_order_number
left join NGWL_TEST_WMS.material_base_info c on a.material_base_info_id = c.material_base_info_id
<where>
<if test="organizationId != null ">
and a.organization_id = #{organizationId}
</if>
<if test="topOrganizationId != null ">
and a.top_organization_id = #{topOrganizationId}
</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="outOrderNumber != null and outOrderNumber != ''">
and b.out_order_number like concat('%', #{outOrderNumber}, '%')
</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="outOrderTypeCode != null and outOrderTypeCode != ''">
and b.order_type_code = #{outOrderTypeCode}
</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>
<!-- 出库单展示状态issue_status: 0-已创建 2-已审核 3-已驳回 4-已出库;
执行出库单status不随WMS出库完成流转(回写被注释)"已出库"以issue_status=4为准 -->
and b.issue_status = 4
<if test="outOrderExpectStartTime != null">
and b.expect_time &gt;= #{outOrderExpectStartTime}
</if>
<if test="outOrderExpectEndTime != null">
and b.expect_time &lt;= #{outOrderExpectEndTime}
</if>
<!-- 出库时间区间(统计当天出库):严格按出仓日期OUTBOUND_DATE过滤(页面所见即所筛) -->
<if test="outboundDateStart != null and outboundDateStart != ''">
and date_format(b.OUTBOUND_DATE, '%Y-%m-%d') &gt;= #{outboundDateStart}
</if>
<if test="outboundDateEnd != null and outboundDateEnd != ''">
and date_format(b.OUTBOUND_DATE, '%Y-%m-%d') &lt;= #{outboundDateEnd}
</if>
and a.del_flag = 1
and b.del_flag = 1
</where>
order by a.create_time desc
</select>
</mapper>