chenlu
2025-08-11 8bcd0cc77b0c7aa2c00ffd926ee87f1f09a3a3b5
north-glass-erp/src/main/resources/mapper/mm/FinishedGoodsInventory.xml
@@ -18,10 +18,16 @@
        <result column="remark" property="remark"/>
        <result column="update_time" property="updateTime"/>
        <result column="end_time" property="endTime"/>
        <result column="box_no" property="boxNo"/>
        <result column="weight" property="weight"/>
        <result column="order_id" property="order.orderId"/>
        <result column="project" property="order.project"/>
        <result column="order_type" property="order.orderType"/>
        <result column="customer_id" property="order.customerId"/>
        <result column="customer_name" property="order.customerName"/>
        <result column="batch" property="order.batch"/>
        <result column="salesman" property="order.salesman"/>
        <result column="order_number" property="orderDetail.orderNumber"/>
@@ -29,6 +35,7 @@
        <result column="height" property="orderDetail.height"/>
        <result column="product_name" property="orderDetail.productName"/>
        <result column="product_id" property="orderDetail.productId"/>
        <result column="building_number" property="orderDetail.buildingNumber"/>
    </resultMap>
    <!--映射成品入库-->
@@ -576,6 +583,38 @@
    </select>
    <select id="getSelectWarehousingByProcessId" resultMap="selectFlowCard">
        select
        fc.id,
        o.order_id,
        od.building_number,
        od.product_id,
        od.product_name,
        od.width,
        od.height,
        o.creator,
        o.project,
        fc.order_number,
        od.quantity,
        fc.inventory_quantity-fc.received_quantity as inventory_quantity,
        o.area,
        fc.process_id,
        fc.received_quantity,
        o.batch,
        o.calculate_type,
        od.compute_area,
        od.price,
        od.area as areas,
        od.gross_area,
        od.compute_gross_area
        from (select *,min(inventory_quantity) as min_inventory_quantity from pp.flow_card  group by  order_id,order_number,process_id) as fc
        left join sd.order_detail od on fc.order_id=od.order_id and fc.order_number=od.order_number inner join sd.`order` o on
        o.order_id=fc.order_id
        where fc.received_quantity <![CDATA[<]]> fc.min_inventory_quantity and o.create_order>0 and
            fc.order_id=#{order_id} and fc.order_number=#{order_number} and fc.process_id=#{process_id};
    </select>
    <select id="getSelectWarehousing" resultMap="selectFlowCard">
        select
@@ -720,10 +759,15 @@
        o.order_id,
        o.project,
        o.order_type,
        o.customer_id,
        o.customer_name,
        o.batch,
        o.salesman,
        od.product_name,
        od.product_id,
        od.width,
        od.height,
        od.building_number,
        fgi.inventory,
        fgi.quantity_available,
        fgi.actual_signal_area,
@@ -734,10 +778,13 @@
        fgi.update_time,
        fgi.enter_storage_time,
        fgi.end_time,
        fgi.remark
        fgi.remark,
        fgi.box_no,
        round(fgi.area*p.total_thickness*2.5/1000,5) as weight
        from finished_goods_inventory fgi
        left join sd.order_detail od on fgi.order_id = od.order_id and fgi.order_number = od.order_number
        left join sd.`order` o on fgi.order_id = o.order_id
        left join sd.product p on p.id=od.product_id
        <where>
                and fgi.status = 0 and fgi.quantity_available>0 and o.create_order>0
            <if test="finishedGoodsInventory.orderDetail.width != null and finishedGoodsInventory.orderDetail.width != ''">
@@ -752,6 +799,9 @@
            <if test="finishedGoodsInventory.orderDetail.productId != null and finishedGoodsInventory.orderDetail.productId != ''">
                and od.product_id regexp #{finishedGoodsInventory.orderDetail.productId}
            </if>
            <if test="finishedGoodsInventory.orderDetail.buildingNumber != null and finishedGoodsInventory.orderDetail.buildingNumber != ''">
                and od.building_number regexp #{finishedGoodsInventory.orderDetail.buildingNumber}
            </if>
            <if test="finishedGoodsInventory.order.orderId != null and finishedGoodsInventory.order.orderId != ''">
                and o.order_id regexp #{finishedGoodsInventory.order.orderId}
            </if>
@@ -761,6 +811,20 @@
            <if test="finishedGoodsInventory.order.orderType != null and finishedGoodsInventory.order.orderType != ''">
                and o.order_type regexp #{finishedGoodsInventory.order.orderType}
            </if>
            <if test="finishedGoodsInventory.order.customerId != null and finishedGoodsInventory.order.customerId != ''">
                and o.customer_id regexp #{finishedGoodsInventory.order.customerId}
            </if>
            <if test="finishedGoodsInventory.order.customerName != null and finishedGoodsInventory.order.customerName != ''">
                and o.customer_name regexp #{finishedGoodsInventory.order.customerName}
            </if>
            <if test="finishedGoodsInventory.order.batch != null and finishedGoodsInventory.order.batch != ''">
                and o.batch regexp #{finishedGoodsInventory.order.batch}
            </if>
            <if test="finishedGoodsInventory.order.salesman != null and finishedGoodsInventory.order.salesman != ''">
                and o.salesman regexp #{finishedGoodsInventory.order.salesman}
            </if>
            <if test="finishedGoodsInventory.orderDetail.height != null and finishedGoodsInventory.orderDetail.height != ''">
                and od.height regexp REGEXP_REPLACE(#{finishedGoodsInventory.orderDetail.height},'\\.0+$','')
            </if>
@@ -796,6 +860,9 @@
            </if>
            <if test="finishedGoodsInventory.remark != null and finishedGoodsInventory.remark != ''">
                and fgi.remark regexp #{finishedGoodsInventory.remark}
            </if>
            <if test="finishedGoodsInventory.boxNo != null and finishedGoodsInventory.boxNo != ''">
                and fgi.box_no regexp #{finishedGoodsInventory.boxNo}
            </if>
        </where>
@@ -826,6 +893,9 @@
            <if test="finishedGoodsInventory.orderDetail.productId != null and finishedGoodsInventory.orderDetail.productId != ''">
                and od.product_id regexp #{finishedGoodsInventory.orderDetail.productId}
            </if>
            <if test="finishedGoodsInventory.orderDetail.buildingNumber != null and finishedGoodsInventory.orderDetail.buildingNumber != ''">
                and od.building_number regexp #{finishedGoodsInventory.orderDetail.buildingNumber}
            </if>
            <if test="finishedGoodsInventory.order.orderId != null and finishedGoodsInventory.order.orderId != ''">
                and o.order_id regexp #{finishedGoodsInventory.order.orderId}
            </if>
@@ -835,6 +905,20 @@
            <if test="finishedGoodsInventory.order.orderType != null and finishedGoodsInventory.order.orderType != ''">
                and o.order_type regexp #{finishedGoodsInventory.order.orderType}
            </if>
            <if test="finishedGoodsInventory.order.customerId != null and finishedGoodsInventory.order.customerId != ''">
                and o.customer_id regexp #{finishedGoodsInventory.order.customerId}
            </if>
            <if test="finishedGoodsInventory.order.customerName != null and finishedGoodsInventory.order.customerName != ''">
                and o.customer_name regexp #{finishedGoodsInventory.order.customerName}
            </if>
            <if test="finishedGoodsInventory.order.batch != null and finishedGoodsInventory.order.batch != ''">
                and o.batch regexp #{finishedGoodsInventory.order.batch}
            </if>
            <if test="finishedGoodsInventory.order.salesman != null and finishedGoodsInventory.order.salesman != ''">
                and o.salesman regexp #{finishedGoodsInventory.order.salesman}
            </if>
            <if test="finishedGoodsInventory.orderDetail.height != null and finishedGoodsInventory.orderDetail.height != ''">
                and od.height regexp REGEXP_REPLACE(#{finishedGoodsInventory.orderDetail.height},'\\.0+$','')
            </if>
@@ -871,6 +955,9 @@
            <if test="finishedGoodsInventory.remark != null and finishedGoodsInventory.remark != ''">
                and fgi.remark regexp #{finishedGoodsInventory.remark}
            </if>
            <if test="finishedGoodsInventory.boxNo != null and finishedGoodsInventory.boxNo != ''">
                and fgi.box_no regexp #{finishedGoodsInventory.boxNo}
            </if>
        </where>