guoyujie
2025-07-02 acffdf4d14de237f90cbb1501d37102d599b22fc
north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml
@@ -53,6 +53,7 @@
        <result column="quantity_available" property="finishedGoodsInventory.quantityAvailable"/>
        <result column="storage_region" property="finishedGoodsInventory.storageRegion"/>
        <result column="actual_signal_area" property="finishedGoodsInventory.actualSignalArea"/>
        <result column="box_no" property="finishedGoodsInventory.boxNo"/>
    </resultMap>
@@ -114,6 +115,8 @@
        <result column="product_name" property="orderDetail.productName"/>
        <result column="order_id" property="orderDetail.orderId"/>
        <result column="contract_id" property="order.contractId"/>
@@ -158,11 +161,11 @@
    <insert id="insertDeliveryDetail"  useGeneratedKeys="true" >
        insert into sd.delivery_detail (delivery_id,delivery_number,order_number,
                                        area,order_id,quantity,money,delivery_detail_remakes,delivery_detail_state,other_columns,create_time,price,other_money)
                                        area,order_id,quantity,money,delivery_detail_remakes,delivery_detail_state,other_columns,create_time,price,other_money,box_no)
        values (
                   #{number} ,#{deliveryNumber},#{orderDetail.orderNumber},#{deliveryDetailArea},
                #{orderDetail.orderId},#{orderDetail.deliveryDetail.quantity},
                #{deliveryDetailMoney},'',1,#{orderDetail.otherColumns},now(),#{orderDetail.price},#{otherMoneys}
                #{deliveryDetailMoney},'',1,#{orderDetail.otherColumns},now(),#{orderDetail.price},#{otherMoneys},#{orderDetail.finishedGoodsInventory.boxNo}
               )
    </insert>
@@ -187,10 +190,11 @@
               od.height,
               od.shape,
               fgi.actual_signal_area,
               dd.box_no,
               od.area,
               od.gross_area,
               dd.area as gross_area,
               od.compute_area,
               od.compute_gross_area,
               dd.area as compute_gross_area,
               od.processing_note,
               od.edging_type,
               od.perimeter,
@@ -234,6 +238,9 @@
            </if>
            <if test="orderDetail.finishedGoodsInventory.storageRegion != null and orderDetail.finishedGoodsInventory.storageRegion != ''">
                and fgi.storage_region regexp #{orderDetail.finishedGoodsInventory.storageRegion}
            </if>
            <if test="orderDetail.deliveryDetail.boxNo != null and orderDetail.deliveryDetail.boxNo != ''">
                and dd.box_no regexp  #{orderDetail.deliveryDetail.boxNo}
            </if>
            <if test="orderDetail.deliveryDetail.money != null and orderDetail.deliveryDetail.money != ''">
                and dd.money regexp  REGEXP_REPLACE(#{orderDetail.deliveryDetail.money},'\\.0+$','')
@@ -318,6 +325,9 @@
            <if test="orderDetail.finishedGoodsInventory.storageRegion != null and orderDetail.finishedGoodsInventory.storageRegion != ''">
                and fgi.storage_region regexp #{orderDetail.finishedGoodsInventory.storageRegion}
            </if>
            <if test="orderDetail.deliveryDetail.boxNo != null and orderDetail.deliveryDetail.boxNo != ''">
                and dd.box_no regexp  #{orderDetail.deliveryDetail.boxNo}
            </if>
            <if test="orderDetail.deliveryDetail.money != null and orderDetail.deliveryDetail.money != ''">
                and dd.money regexp  REGEXP_REPLACE(#{orderDetail.deliveryDetail.money},'\\.0+$','')
            </if>
@@ -375,6 +385,7 @@
               od.height,
               od.shape,
               fgi.actual_signal_area,
               fgi.box_no,
               od.area,
               od.gross_area,
               od.compute_area,
@@ -418,6 +429,9 @@
            </if>
            <if test="orderDetail.finishedGoodsInventory.storageRegion != null and orderDetail.finishedGoodsInventory.storageRegion != ''">
                and fgi.storage_region regexp #{orderDetail.finishedGoodsInventory.storageRegion}
            </if>
            <if test="orderDetail.finishedGoodsInventory.boxNo != null and orderDetail.finishedGoodsInventory.boxNo != ''">
                and fgi.box_no regexp #{orderDetail.finishedGoodsInventory.boxNo}
            </if>
            <if test="orderDetail.width != null and orderDetail.width != ''">
                and od.width regexp REGEXP_REPLACE(#{orderDetail.width},'\\.0+$','')
@@ -490,6 +504,9 @@
            </if>
            <if test="orderDetail.finishedGoodsInventory.storageRegion != null and orderDetail.finishedGoodsInventory.storageRegion != ''">
                and fgi.storage_region regexp #{orderDetail.finishedGoodsInventory.storageRegion}
            </if>
            <if test="orderDetail.finishedGoodsInventory.boxNo != null and orderDetail.finishedGoodsInventory.boxNo != ''">
                and fgi.box_no regexp #{orderDetail.finishedGoodsInventory.boxNo}
            </if>
            <if test="orderDetail.width != null and orderDetail.width != ''">
                and od.width regexp REGEXP_REPLACE(#{orderDetail.width},'\\.0+$','')
@@ -974,16 +991,15 @@
    </select>
    <select id="getSelectDeliveryPrinting" resultMap="selectDeliveryDetailOrderDetail" >
        select dd.delivery_id,od.order_id,od.product_id,od.product_name,sum(dd.area) as area,sum(dd.money) as money,sum(dd.quantity) as quantity from
        select dd.delivery_id,od.order_id,od.product_id,IF(#{type}='product_abbreviation',pt.remarks,od.product_name) as product_name,sum(dd.area) as area,
               sum(dd.money) as money,sum(dd.quantity) as quantity,o.contract_id from
        delivery_detail dd left join order_detail od on dd.order_id=od.order_id and dd.order_number=od.order_number
                                                            left join product pt on pt.id=od.product_id
                                                            left join sd.`order` o on o.order_id=dd.order_id
        <where>
            <if test="deliveryDetail.deliveryId != null and deliveryDetail.deliveryId != ''">
                and dd.delivery_id like concat('%',#{deliveryDetail.deliveryId},'%')
            </if>
        </where>
                where dd.delivery_id like concat('%',#{deliveryId},'%')
        group by od.order_id,od.product_name,od.product_id
    </select>
@@ -1028,13 +1044,21 @@
    </select>
    <select id="getSelectOrderotherMoney" >
        select bom.alias,ifnull(oom.price,0) as price,#{value}*od.quantity as count,ifnull(oom.price,0)*#{value}*od.quantity as monery
        select bom.alias,ifnull(oom.price,0) as price,#{value}*#{quantity} as count,ifnull(oom.price,0)*#{value}*#{quantity} as monery
                 from order_detail od
                 left join order_other_money oom on oom.order_id=od.order_id  and oom.column=#{key}
                 left join basic_other_money bom on bom.`column`=oom.`column`
        where  od.order_id = #{orderId} and od.order_number=#{orderNumber} and (od.other_columns!='{}' or od.other_columns!=null)
    </select>
    <select id="getSelectOrderotherMoneys" >
        select bom.alias,ifnull(oom.price,0) as price,#{value}*od.quantity as count,ifnull(oom.price,0)*#{value}*od.quantity as monery
        from order_detail od
                 left join order_other_money oom on oom.order_id=od.order_id  and oom.column=#{key}
                 left join basic_other_money bom on bom.`column`=oom.`column`
        where  od.order_id = #{orderId} and od.order_number=#{orderNumber} and (od.other_columns!='{}' or od.other_columns!=null)
    </select>
    <select id="getSelectOrderDetailPrinting" >
        select od.order_id,
               od.order_number,