Files
nanguangszwlback/mhd_oms/src/main/resources/mapper/reservationStockOutOrder/ReservationStockOutOrderMapper.xml
T
rcx 4ad31a870a fix(oms): 物料解析防张冠李戴+导入三类校验合并报错,客户编码只认USER_MEMBER_CODE
一、出库业务单导入(ReservationStockInOrderImpl)
- 物料不存在/客户不存在/批次库存不足三类校验全部收集完成后统一报错,不再分阶段中断
- materialCache 取用统一 trim,防 Excel 编号带空格导致校验被跳过

二、物料三级解析防张冠李戴(MaterialBaseInfoResolveService)
- baseId 按主键查到的档案与明细编码不一致时不再信任 baseId,转库存ID反查/编码+组织兜底,两级落空才退回按ID档案,命中打WARN日志
- 背景:前端把库存ID传进 materialBaseInfoId,撞上编码=名称的脏档案主键后整行物料被覆盖成错误物料

三、客户编码口径(reservationStockOutOrder/ReservationStockOutOrderMapper.xml)
- queryCustomerByCode 只认 USER.USER_MEMBER_CODE,不再放行 USER_SHIPPER.CUSTOMER_NC_CODE

四、明细查询补字段(reserveStockOutOrder/ReserveStockOutOrderMapper.xml)
- resultMap 补 status/issue_status 映射,detailsList 查询补查 a.status, a.issue_status
2026-09-03 15:52:18 +08:00

493 lines
26 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.reservationStockOutOrder.repository.mapper.ReservationStockOutOrderMapper">
<resultMap type="com.mhd.oms.domain.reservationStockOutOrder.repository.po.ReservationStockOutOrderPO" id="StockOutOrderResult">
<result property="outOrderId" column="out_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="outOrderNumber" column="out_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="customerId" column="customer_id" />
<result property="customerName" column="customer_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="review" column="review" />
<result property="annexUrl" column="annex_url" />
<result property="quantity" column="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="vehicleModelPlate" column="vehicle_model_plate"/>
<result property="entrustNo" column="entrust_no"/>
<result property="tel" column="tel"/>
<result property="driverSign" column="driver_sign"/>
<result property="fax" column="fax"/>
<result property="declareCustoms" column="declare_customs"/>
<result property="manufacturer" column="manufacturer"/>
<result property="customsDeclarerInfo" column="customs_declarer_info"/>
<result property="deliveryAddr" column="delivery_addr"/>
<result property="entryExitCustoms" column="entry_exit_customs"/>
<result property="departureArrivalCountry" column="departure_arrival_country"/>
<result property="carrier" column="carrier"/>
<result property="containerNo" column="container_no"/>
<result property="containerNoName" column="container_no_name"/>
<result property="outboundDate" column="outbound_date"/>
<result property="completeTime" column="complete_time"/>
<result property="orderDate" column="order_date"/>
<result property="transportModeCode" column="transport_mode_code"/>
<result property="transportModeName" column="transport_mode_name"/>
<result property="supervisionModeCode" column="supervision_mode_code"/>
<result property="supervisionModeName" column="supervision_mode_name"/>
<result property="customsInspectionFlag" column="customs_inspection_flag"/>
<result property="needDeclareFlag" column="need_declare_flag"/>
<result property="needTransportFlag" column="need_transport_flag"/>
<result property="pictureApp" column="picture_app"/>
<result property="issueStatus" column="issue_status" />
<result property="issueTime" column="issue_time" />
<result property="issueId" column="issue_id" />
<result property="issueName" column="issue_name" />
<result property="reservationAuditId" column="reservation_audit_id" />
<result property="reservationAuditName" column="reservation_audit_name" />
<result property="reservationAuditTime" column="reservation_audit_time" />
<result property="directorId" column="DIRECTOR_ID" />
<result property="directorPhone" column="DIRECTOR_PHONE" />
<result property="directorName" column="DIRECTOR_NAME" />
<result property="reservationOrderSource" column="RESERVATION_ORDER_SOURCE" />
<result property="outboundTime" column="OUTBOUND_TIME" />
<result property="businessOrderNo" column="BUSINESS_ORDER_NO" />
<result property="returnQuantity" column="RETURN_QUANTITY" />
<result property="deliveryName" column="DELIVERY_NAME" />
<result property="customerNumber" column="CUSTOMER_NUMBER" />
<result property="invoiceNumber" column="INVOICE_NUMBER" />
<result property="returnOrderNumber" column="RETURN_ORDER_NUMBER" />
<result property="totalAmount" column="TOTAL_AMOUNT" />
<result property="route" column="ROUTE" />
<result property="pushTime" column="PUSH_TIME" />
<result property="pushStatus" column="PUSH_STATUS" />
<result property="pushBy" column="PUSH_BY" />
<result property="pushByName" column="PUSH_BY_NAME" />
<result property="trainNo" column="TRAIN_NO" />
<result property="amount" column="AMOUNT" />
<result property="executionOutOrderNumber" column="EXECUTION_OUT_ORDER_NUMBER" />
<result property="lineCode" column="LINE_CODE" />
<result property="lineName" column="LINE_NAME" />
<result property="shuttleNo" column="SHUTTLE_NO" />
</resultMap>
<sql id="selectStockOutOrderPo">
a.out_order_id, a.organization_id, a.organization_name, a.top_organization_id, a.receipt_notice_id, a.notice_number, a.out_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.customer_id, a.customer_code, a.customer_name, a.expect_time, a.supply_chain_number, a.priority_level_code,
a.priority_level_name, a.direct_warehouse, a.review, a.annex_url, a.material_quantity, a.quantity, a.weight_limit, a.volume_limit, a.check_quantity, 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.check_status,a.BUSINESS_ORDER_NO,
a.check_task_distribution, a.check_task_distribution_time, a.check_operators_by, a.check_operators_name, a.mobilize_code,
a.remark, a.create_time, a.create_by, a.create_by_name,a.business_number,a.train_no,a.amount,
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."TO",
a.CONTACT_PERSON,a.VEHICLE_MODEL_PLATE,a.ENTRUST_NO,a.TEL,a.DRIVER_SIGN,a.FAX,a.DECLARE_CUSTOMS,a.MANUFACTURER,
a.CUSTOMS_DECLARER_INFO,a.DELIVERY_ADDR,a.ENTRY_EXIT_CUSTOMS,a.DEPARTURE_ARRIVAL_COUNTRY,a.CARRIER,a.CONTAINER_NO,a.CONTAINER_NO_NAME,a.OUTBOUND_DATE,
a.COMPLETE_TIME,a.ORDER_DATE,a.TRANSPORT_MODE_CODE,a.TRANSPORT_MODE_NAME,a.SUPERVISION_MODE_CODE,a.SUPERVISION_MODE_NAME,
a.CUSTOMS_INSPECTION_FLAG,a.NEED_DECLARE_FLAG,a.NEED_TRANSPORT_FLAG,a.picture_app,a.reservation_audit_time,a.reservation_audit_name
,a.reservation_audit_id,a.issue_name,a.issue_id,a.issue_time,a.issue_status,a.tms_order_number,
a.DIRECTOR_NAME ,a.DIRECTOR_PHONE,a.DIRECTOR_ID,a.RESERVATION_ORDER_SOURCE,a.OUTBOUND_TIME,a.RETURN_QUANTITY,a.DELIVERY_NAME,a.CUSTOMER_NUMBER,a.INVOICE_NUMBER,a.RETURN_ORDER_NUMBER,a.TOTAL_AMOUNT,
a.ROUTE,a.PUSH_TIME,a.PUSH_STATUS,a.PUSH_BY,a.PUSH_BY_NAME,a.execution_out_order_number,a.LINE_CODE,a.LINE_NAME,a.SHUTTLE_NO
</sql>
<sql id="joinStockOutOrderPo">
,b.notice_number, b.out_order_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.customer_id, b.customer_name, b.expect_time, b.supply_chain_number, b.priority_level_code,
b.priority_level_name, b.direct_warehouse, b.review, b.annex_url, b.quantity
</sql>
<sql id="joinStockOutOrderPoYc">
,b.notice_number, b.out_order_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.customer_id, b.customer_name, b.expect_time, b.supply_chain_number, b.priority_level_code,
b.priority_level_name, b.direct_warehouse, b.review, b.annex_url
</sql>
<sql id="selectStockOutOrderPo1">
<if test="outOrderId != null ">
and a.out_order_id = #{outOrderId}
</if>
<if test="tmsOrderNumber != null and tmsOrderNumber != ''">
and a.tms_order_number like concat('%', #{tmsOrderNumber}, '%')
</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="outOrderNumber != null and outOrderNumber != ''">
and a.out_order_number like concat('%', #{outOrderNumber}, '%')
</if>
<!-- 出库状态: 1-已创建 2-已审核 3-部分分配 4-已分配 5-拣货中 6-波次中 7-拣货完成 8-复核中 9-已出库 10-已取消 11-已关闭 -->
<if test="status != null ">
<choose>
<when test="status == -1 "> <!-- 作业中 -->
<!-- 出库状态: 3-部分分配 4-已分配 5-拣货中 6-波次中 7-拣货完成 8-复核中-->
and a.status IN (3, 4, 5, 6, 7, 8)
</when>
<otherwise>
and a.status = #{status}
</otherwise>
</choose>
</if>
<!-- 出库状态: 1-已创建 2-已审核 3-部分分配 4-已分配 5-拣货中 6-波次中 7-拣货完成 8-复核中 9-已出库 10-已取消 11-已关闭 -->
<if test="gtStatus != null ">
and a.status &gt; #{gtStatus}
</if>
<if test="ltStatus != null ">
and a.status &lt; #{ltStatus}
</if>
<if test="auditStatus != null ">
and a.audit_status = #{auditStatus}
</if>
<if test="auditRemark != null and auditRemark != ''">
and a.audit_remark = #{auditRemark}
</if>
<if test="checkTaskDistribution != null ">
and a.check_task_distribution = #{checkTaskDistribution}
</if>
<if test="issueStatus != null">
and a.issue_status = #{issueStatus}
</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="customerId != null ">
and a.customer_id = #{customerId}
</if>
<if test="customerName != null and customerName != ''">
and a.customer_name like concat('%', #{customerName}, '%')
</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="review != null ">
and a.review = #{review}
</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="checkStatus != null ">
and a.check_status = #{checkStatus}
</if>
<if test="gtCheckStatus != null ">
and a.check_status &gt; #{gtCheckStatus}
</if>
<if test="ltCheckStatus != null ">
and a.check_status &lt; #{ltCheckStatus}
</if>
<if test="updateByName != null and updateByName != ''">
and a.update_by_name like concat('%', #{updateByName}, '%')
</if>
<if test="checkOperatorsBy != null and checkOperatorsBy != ''">
and a.check_operators_by = #{checkOperatorsBy}
</if>
<if test="outOrderIds != null and outOrderIds.size > 0 ">
and a.out_order_id in
<foreach collection="outOrderIds" item="item" index="index" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
<if test="auditTimeStart != null and auditTimeStart != ''">
and date_format(a.audit_time,'%Y-%m-%d') &gt;= #{auditTimeStart}
</if>
<if test="auditTimeEnd != null and auditTimeEnd != ''">
and date_format(a.audit_time,'%Y-%m-%d') &lt;= #{auditTimeEnd}
</if>
<if test="needDeclareFlag != null and needDeclareFlag != ''">
and a.NEED_DECLARE_FLAG = #{needDeclareFlag}
</if>
<if test="pushTimeFrom != null">
and a.PUSH_TIME <![CDATA[>=]]> #{pushTimeFrom}
</if>
<if test="pushTimeTo != null">
and a.PUSH_TIME <![CDATA[<=]]> #{pushTimeTo}
</if>
<if test="createTimeFrom != null">
and a.create_time <![CDATA[>=]]> #{createTimeFrom}
</if>
<if test="createTimeTo != null">
and a.create_time <![CDATA[<=]]> #{createTimeTo}
</if>
<if test="pushStatus != null">
and a.PUSH_STATUS = #{pushStatus}
</if>
<if test="businessNumber != null and businessNumber != ''">
and a.BUSINESS_NUMBER = #{businessNumber}
</if>
<if test="businessType != null and businessType != ''">
and a.BUSINESS_TYPE = #{businessType}
</if>
<if test="issueStatus != null">
and a.ISSUE_STATUS = #{issueStatus}
</if>
<if test="reservationOrderSource != null and reservationOrderSource != ''">
and a.RESERVATION_ORDER_SOURCE = #{reservationOrderSource}
</if>
<if test="needTransportFlag != null and needTransportFlag != ''">
and a.NEED_TRANSPORT_FLAG = #{needTransportFlag}
</if>
<if test="createByName != null and createByName != ''">
and a.create_by_name like concat('%', #{createByName}, '%')
</if>
<if test="createTimeStart != null and createTimeStart != ''">
and a.create_time >= #{createTimeStart}
</if>
<if test="createTimeEnd != null and createTimeEnd != ''">
and a.create_time <![CDATA[ < ]]> DATEADD(DAY, 1, #{createTimeEnd})
</if>
<if test="outboundDateStart != null and outboundDateStart != ''">
and a.outbound_date >= #{outboundDateStart}
</if>
<if test="outboundDateEnd != null and outboundDateEnd != ''">
and a.outbound_date <![CDATA[ < ]]> DATEADD(DAY, 1, #{outboundDateEnd})
</if>
<if test="organizationId != null ">
and a.organization_id = #{organizationId}
</if>
<if test="orderTypeName != null and orderTypeName != ''">
and (a.BUSINESS_TYPE like concat('%', #{orderTypeName}, '%') or a.ORDER_TYPE_CODE like concat('%', #{orderTypeName}, '%'))
</if>
<if test="xfStatus != null and xfStatus != '' and xfStatus == '已下发'">
and a.issue_time is not null
</if>
<if test="xfStatus != null and xfStatus != '' and xfStatus == '未下发'">
and a.issue_time is null
</if>
<!-- 出库明细:物料名称、物料编码(同一明细行同时满足;与出库明细口径一致)。关联 material_base_info 避免明细冗余名称与主档不一致时筛不到 -->
<!-- <if test="(materialName != null and materialName != '') or (materialCode != null and materialCode != '')">-->
<!-- and exists (-->
<!-- select 1 from out_material_detail omd-->
<!-- left join material_base_info mb on omd.material_base_info_id = mb.material_base_info_id and mb.del_flag = 1-->
<!-- where omd.out_order_number = a.out_order_number-->
<!-- and omd.del_flag = 1-->
<!-- and (omd.level is null or omd.level = 1)-->
<!-- <if test="materialName != null and materialName != ''">-->
<!-- and (-->
<!-- omd.material_name like concat('%', #{materialName}, '%')-->
<!-- or mb.material_name like concat('%', #{materialName}, '%')-->
<!-- )-->
<!-- </if>-->
<!-- <if test="materialCode != null and materialCode != ''">-->
<!-- and (-->
<!-- omd.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.reservationStockOutOrder.repository.todo.ReservationStockOutOrderDO" resultMap="StockOutOrderResult">
select
<include refid="selectStockOutOrderPo"/>
from reservation_stock_out_order a
<where>
<include refid="selectStockOutOrderPo1"/>
</where>
order by a.create_time desc nulls last
</select>
<!-- 出库单提货单打印-表头查询 -->
<select id="queryOutStockNoticePrint" resultMap="StockOutOrderResult">
SELECT
a.notice_number,
a.out_order_number,
a.supply_chain_number,
a.shipper_name,
a.expect_time,
a.document_creator_name,
a.document_creator,
a.document_date,
a.warehouse_name,
a.remark
FROM reservation_stock_out_order a
WHERE a.del_flag = 1
AND a.out_order_id = #{outOrderId}
</select>
<!-- 出库单提货单打印-明细查询 -->
<select id="queryOutStockNoticePrintDetail" resultMap="OutMaterialDetailResult">
SELECT
b.batch_number,
b.material_code,
b.material_name,
b.specification_model,
b.quantity,
b.unit_name,
b.pack_name,
b.warehouse_code,
b.warehouse_id,
b.storage_location_name,
b.lot_no,
b.piece_count,
b.material_base_info_id,
b.outbound_quantity,
b.box_pallet_no
FROM reservation_out_material_detail b
WHERE b.del_flag = 1
AND b.out_order_number = (SELECT out_order_number FROM reservation_stock_out_order WHERE out_order_id = #{outOrderId} AND del_flag = 1)
ORDER BY b.material_detail_id
</select>
<!-- 明细结果映射 -->
<resultMap type="com.mhd.oms.domain.reservationOutMaterialDetail.repository.po.ReservationOutMaterialDetailPO" id="OutMaterialDetailResult">
<result property="batchNumber" column="batch_number"/>
<result property="materialCode" column="material_code"/>
<result property="materialName" column="material_name"/>
<result property="specificationModel" column="specification_model"/>
<result property="quantity" column="quantity"/>
<result property="unitName" column="unit_name"/>
<result property="packName" column="pack_name"/>
<result property="warehouseCode" column="warehouse_code"/>
<result property="warehouseId" column="warehouse_id"/>
<result property="storageLocationName" column="storage_location_name"/>
<result property="lotNo" column="lot_no"/>
<result property="pieceCount" column="piece_count"/>
<result property="materialBaseInfoId" column="material_base_info_id"/>
<result property="outboundQuantity" column="outbound_quantity"/>
<result property="boxPalletNo" column="box_pallet_no"/>
</resultMap>
<!-- 按客户编号+组织查询客户(用户表):出入库导入校验客户存在性并自动匹配客户名称,结果为空表示客户不存在。
客户编码只认 USER.USER_MEMBER_CODE(客户编码);
2026-09-03 起不再放行 USER_SHIPPER.CUSTOMER_NC_CODENC客户代码),避免会员/NC编码撞车导致不存在的客户编号误通过 -->
<select id="queryCustomerByCode" resultType="com.mhd.common.core.domain.po.UserPo">
select max(u.user_id) as user_id, max(u.user_name) as user_name, max(u.user_member_code) as user_member_code
from NGWL_TEST_USER."USER" u
where u.ORGANIZATION_ID = #{organizationId} and u.DEL_FLAG = 1
and u.USER_MEMBER_CODE = #{userMemberCode}
</select>
<select id="countByOrderNumberPrefix" resultType="java.lang.Integer" parameterType="java.lang.String">
SELECT COUNT(1)
FROM reservation_stock_out_order
WHERE out_order_number LIKE concat(#{prefix}, '%')
</select>
<select id="generateReserveOrderNumber1" resultType="java.lang.String">
SELECT out_order_number
FROM reservation_stock_out_order
WHERE out_order_number LIKE concat(#{prefix}, '%')
</select>
</mapper>