廖井涛
2025-08-11 b499a7e1dbcc4b9dbcdcaa46bbf5c24271bf6698
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>
    <!--映射成品入库-->
@@ -46,6 +53,7 @@
        <result column="area" property="order.area"/>
        <result column="batch" property="order.batch"/>
        <result column="order_quantity" property="order.quantity"/>
        <result column="calculate_type" property="order.calculateType"/>
        <result column="building_number" property="orderDetail.buildingNumber"/>
        <result column="width" property="orderDetail.width"/>
@@ -53,6 +61,12 @@
        <result column="product_name" property="orderDetail.productName"/>
        <result column="product_id" property="orderDetail.productId"/>
        <result column="quantity" property="orderDetail.quantity"/>
        <result column="price" property="orderDetail.price"/>
        <result column="areas" property="orderDetail.area"/>
        <result column="gross_area" property="orderDetail.grossArea"/>
        <result column="compute_area" property="orderDetail.computeArea"/>
        <result column="compute_gross_area" property="orderDetail.computeGrossArea"/>
    </resultMap>
    <!--映射成品出库-->
@@ -569,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
@@ -587,7 +633,13 @@
        o.area,
        fc.process_id,
        fc.received_quantity,
        o.batch
        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
@@ -707,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,
@@ -721,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 != ''">
@@ -739,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>
@@ -748,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>
@@ -783,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>
@@ -813,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>
@@ -822,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>
@@ -858,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>