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>
@@ -66,6 +67,7 @@
        <result column="delivery_number" property="deliveryNumber"/>
        <result column="quantity" property="quantity"/>
        <result column="area" property="area"/>
        <result column="price" property="price"/>
        <result column="money" property="money"/>
        <result column="delivery_detail_remakes" property="deliveryDetailRemakes"/>
        <result column="delivery_detail_state" property="deliveryDetailState"/>
@@ -83,9 +85,14 @@
        <result column="delivery_date" property="delivery.deliveryDate"/>
        <result column="creator" property="delivery.creator"/>
        <result column="salesman" property="delivery.salesman"/>
        <result column="freight" property="delivery.freight"/>
        <result column="freight_price" property="delivery.freightPrice"/>
        <result column="freight_quantity" property="delivery.freightQuantity"/>
        <result column="product_id" property="orderDetail.productId"/>
        <result column="product_name" property="orderDetail.productName"/>
        <result column="other_money" property="order.otherMoney"/>
@@ -107,6 +114,8 @@
        <result column="product_id" property="orderDetail.productId"/>
        <result column="product_name" property="orderDetail.productName"/>
        <result column="order_id" property="orderDetail.orderId"/>
        <result column="contract_id" property="order.contractId"/>
@@ -145,14 +154,18 @@
        select sum(quantity) from sd.order_detail where  order_id=#{orderId}
    </select>
    <select id="selectOrderDetailDeliveryCount">
        SELECT * FROM sd.order_detail where order_id=#{orderDetail.orderId} and order_number=#{orderDetail.orderNumber}
    </select>
    <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)
                                        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},#{orderDetail.computeArea}*#{orderDetail.deliveryDetail.quantity},
                   #{number} ,#{deliveryNumber},#{orderDetail.orderNumber},#{deliveryDetailArea},
                #{orderDetail.orderId},#{orderDetail.deliveryDetail.quantity},
                #{deliveryDetailMoney},'',1,#{orderDetail.otherColumns},now(),#{orderDetail.price}
                #{deliveryDetailMoney},'',1,#{orderDetail.otherColumns},now(),#{orderDetail.price},#{otherMoneys},#{orderDetail.finishedGoodsInventory.boxNo}
               )
    </insert>
@@ -164,7 +177,7 @@
               dd.delivery_number,
               fgi.quantity_available + dd.quantity as quantity_available,
               od.order_number,
               od.quantity-dd.quantity as t_quantity,
               od.quantity-od.delivery_num as t_quantity,
               od.quantity as o_quantity,
               dd.quantity as d_quantity,
               od.building_number,
@@ -177,9 +190,11 @@
               od.height,
               od.shape,
               fgi.actual_signal_area,
               od.gross_area,
               dd.box_no,
               od.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,
@@ -224,6 +239,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>
@@ -263,7 +281,6 @@
        </where>
        order by dd.id
        limit #{offset},#{pageSize};
    </select>
    <select id="getSelectShippingOrderDetailPageTotal">
@@ -308,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>
@@ -345,7 +365,6 @@
                and dd.delivery_detail_remakes regexp #{orderDetail.deliveryDetail.deliveryDetailRemakes}
            </if>
        </where>
        limit #{offset},#{pageSize};
    </select>
    <select id="getSelectShippingOrderDetails" resultMap="selectDeliveryFinishedGoodsInventoryOrderDetail">
@@ -366,6 +385,8 @@
               od.height,
               od.shape,
               fgi.actual_signal_area,
               fgi.box_no,
               od.area,
               od.gross_area,
               od.compute_area,
               od.compute_gross_area,
@@ -409,6 +430,9 @@
            <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+$','')
            </if>
@@ -440,7 +464,6 @@
                and od.perimeter regexp #{orderDetail.perimeter}
            </if>
        </where>
        limit #{offset},#{pageSize};
    </select>
    <select id="getSelectShippingOrderDetailsPageTotal">
@@ -482,6 +505,9 @@
            <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+$','')
            </if>
@@ -513,7 +539,6 @@
                and od.perimeter regexp #{orderDetail.perimeter}
            </if>
        </where>
        limit #{offset},#{pageSize};
    </select>
@@ -537,13 +562,19 @@
        dd.order_id,
        dd.order_number,
        dd.area,
        dd.price,
        dd.money,
        dd.quantity,
        dd.delivery_detail_remakes,
        dd.create_time
        dd.create_time,
        o.other_money,
        d.freight_price,
        d.freight_quantity,
        d.freight
        from sd.delivery_detail dd
        left join sd.delivery d on dd.delivery_id=d.delivery_id
        left join order_detail od on dd.order_id=od.order_id and dd.order_number=od.order_number
        left join sd.`order` o on dd.order_id=o.order_id
        <where>
               and date(dd.create_time)>=#{startDate} and date(dd.create_time) &lt;= #{endDate}
            <if test="deliveryDetail.deliveryId != null and deliveryDetail.deliveryId != ''">
@@ -565,13 +596,16 @@
                and dd.order_number like concat('%', #{deliveryDetail.orderNumber},'%')
            </if>
            <if test="deliveryDetail.area != null and deliveryDetail.area != ''">
                and dd.area like concat('%', #{deliveryDetail.area},'%')
                and dd.area regexp REGEXP_REPLACE(#{deliveryDetail.area},'\\.0+$','')
            </if>
            <if test="deliveryDetail.price != null and deliveryDetail.price != ''">
                and dd.price regexp REGEXP_REPLACE(#{deliveryDetail.price},'\\.0+$','')
            </if>
            <if test="deliveryDetail.money != null and deliveryDetail.money != ''">
                and dd.money like concat('%', #{deliveryDetail.money},'%')
                and dd.money regexp REGEXP_REPLACE(#{deliveryDetail.money},'\\.0+$','')
            </if>
            <if test="deliveryDetail.quantity != null and deliveryDetail.quantity != ''">
                and dd.quantity like concat('%', #{deliveryDetail.quantity},'%')
                and dd.quantity regexp REGEXP_REPLACE(#{deliveryDetail.quantity},'\\.0+$','')
            </if>
            <if test="deliveryDetail.deliveryDetailRemakes != null and deliveryDetail.deliveryDetailRemakes != ''">
                and dd.delivery_detail_remakes like concat('%', #{deliveryDetail.deliveryDetailRemakes},'%')
@@ -615,6 +649,18 @@
            <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.deliveryAddress != null and deliveryDetail.delivery.deliveryAddress != '')">
                and d.delivery_address like concat('%', #{deliveryDetail.delivery.deliveryAddress},'%')
            </if>
            <if test="deliveryDetail.order!=null and (deliveryDetail.order.otherMoney != null )">
                and o.other_money regexp REGEXP_REPLACE(#{deliveryDetail.order.otherMoney},'\\.0+$','')
            </if>
            <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.freight != null )">
                and d.freight regexp REGEXP_REPLACE(#{deliveryDetail.delivery.freight},'\\.0+$','')
            </if>
            <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.freightQuantity != null )">
                and d.freight_quantity regexp REGEXP_REPLACE(#{deliveryDetail.delivery.freightQuantity},'\\.0+$','')
            </if>
            <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.freightPrice != null )">
                and d.freight_price regexp REGEXP_REPLACE(#{deliveryDetail.delivery.freightPrice},'\\.0+$','')
            </if>
        </where>
        order by dd.delivery_id,dd.delivery_number
@@ -627,6 +673,7 @@
        from sd.delivery_detail dd
        left join sd.delivery d on dd.delivery_id=d.delivery_id
        left join order_detail od on dd.order_id=od.order_id and dd.order_number=od.order_number
        left join sd.`order` o on dd.order_id=o.order_id
        <where>
            and date(dd.create_time)>=#{startDate} and date(dd.create_time) &lt;= #{endDate}
            <if test="deliveryDetail.deliveryId != null and deliveryDetail.deliveryId != ''">
@@ -648,13 +695,16 @@
                and dd.order_number like concat('%', #{deliveryDetail.orderNumber},'%')
            </if>
            <if test="deliveryDetail.area != null and deliveryDetail.area != ''">
                and dd.area like concat('%', #{deliveryDetail.area},'%')
                and dd.area regexp REGEXP_REPLACE(#{deliveryDetail.area},'\\.0+$','')
            </if>
            <if test="deliveryDetail.price != null and deliveryDetail.price != ''">
                and dd.price regexp REGEXP_REPLACE(#{deliveryDetail.price},'\\.0+$','')
            </if>
            <if test="deliveryDetail.money != null and deliveryDetail.money != ''">
                and dd.money like concat('%', #{deliveryDetail.money},'%')
                and dd.money regexp REGEXP_REPLACE(#{deliveryDetail.money},'\\.0+$','')
            </if>
            <if test="deliveryDetail.quantity != null and deliveryDetail.quantity != ''">
                and dd.quantity like concat('%', #{deliveryDetail.quantity},'%')
                and dd.quantity regexp REGEXP_REPLACE(#{deliveryDetail.quantity},'\\.0+$','')
            </if>
            <if test="deliveryDetail.deliveryDetailRemakes != null and deliveryDetail.deliveryDetailRemakes != ''">
                and dd.delivery_detail_remakes like concat('%', #{deliveryDetail.deliveryDetailRemakes},'%')
@@ -698,7 +748,18 @@
            <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.deliveryAddress != null and deliveryDetail.delivery.deliveryAddress != '')">
                and d.delivery_address like concat('%', #{deliveryDetail.delivery.deliveryAddress},'%')
            </if>
            <if test="deliveryDetail.order!=null and (deliveryDetail.order.otherMoney != null )">
                and o.other_money regexp REGEXP_REPLACE(#{deliveryDetail.order.otherMoney},'\\.0+$','')
            </if>
            <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.freight != null )">
                and d.freight regexp REGEXP_REPLACE(#{deliveryDetail.delivery.freight},'\\.0+$','')
            </if>
            <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.freightQuantity != null )">
                and d.freight_quantity regexp REGEXP_REPLACE(#{deliveryDetail.delivery.freightQuantity},'\\.0+$','')
            </if>
            <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.freightPrice != null )">
                and d.freight_price regexp REGEXP_REPLACE(#{deliveryDetail.delivery.freightPrice},'\\.0+$','')
            </if>
        </where>
        order by dd.delivery_id,dd.delivery_number
    </select>
@@ -724,12 +785,18 @@
        dd.order_id,
        dd.order_number,
        sum(dd.area) as area,
        dd.price,
        sum(dd.money) as money,
        sum(dd.quantity) as quantity,
        dd.delivery_detail_remakes,
        dd.create_time
        dd.create_time,
        o.other_money,
        d.freight_price,
        d.freight_quantity,
        d.freight
        from sd.delivery_detail dd left join delivery d on dd.delivery_id=d.delivery_id
            left join order_detail od on dd.order_id=od.order_id and dd.order_number=od.order_number
            left join sd.`order` o on dd.order_id=o.order_id
        <where>
            and date(dd.create_time)>=#{startDate} and date(dd.create_time) &lt;= #{endDate}
            <if test="deliveryDetail.deliveryId != null and deliveryDetail.deliveryId != ''">
@@ -738,12 +805,6 @@
            <if test="deliveryDetail.deliveryNumber != null and deliveryDetail.deliveryNumber != ''">
                and dd.delivery_number like concat('%',#{deliveryDetail.deliveryNumber},'%')
            </if>
            <if test="deliveryDetail.orderDetail!=null and deliveryDetail.orderDetail.productId != null and deliveryDetail.orderDetail.productId != ''">
                and od.product_id like concat('%',#{deliveryDetail.orderDetail.productId},'%')
            </if>
            <if test="deliveryDetail.orderDetail!=null and deliveryDetail.orderDetail.productName != null and deliveryDetail.orderDetail.productName != ''">
                and od.product_name like concat('%', #{deliveryDetail.orderDetail.productName},'%')
            </if>
            <if test="deliveryDetail.orderId != null and deliveryDetail.orderId != ''">
                and dd.order_id like concat('%', #{deliveryDetail.orderId},'%')
            </if>
@@ -751,13 +812,16 @@
                and dd.order_number like concat('%', #{deliveryDetail.orderNumber},'%')
            </if>
            <if test="deliveryDetail.area != null and deliveryDetail.area != ''">
                and dd.area like concat('%', #{deliveryDetail.area},'%')
                and dd.area regexp REGEXP_REPLACE(#{deliveryDetail.area},'\\.0+$','')
            </if>
            <if test="deliveryDetail.price != null and deliveryDetail.price != ''">
                and dd.price regexp REGEXP_REPLACE(#{deliveryDetail.price},'\\.0+$','')
            </if>
            <if test="deliveryDetail.money != null and deliveryDetail.money != ''">
                and dd.money like concat('%', #{deliveryDetail.money},'%')
                and dd.money regexp REGEXP_REPLACE(#{deliveryDetail.money},'\\.0+$','')
            </if>
            <if test="deliveryDetail.quantity != null and deliveryDetail.quantity != ''">
                and dd.quantity like concat('%', #{deliveryDetail.quantity},'%')
                and dd.quantity regexp REGEXP_REPLACE(#{deliveryDetail.quantity},'\\.0+$','')
            </if>
            <if test="deliveryDetail.deliveryDetailRemakes != null and deliveryDetail.deliveryDetailRemakes != ''">
                and dd.delivery_detail_remakes like concat('%', #{deliveryDetail.deliveryDetailRemakes},'%')
@@ -802,14 +866,26 @@
                and d.delivery_address like concat('%', #{deliveryDetail.delivery.deliveryAddress},'%')
            </if>
            <if test="deliveryDetail.orderDetail!=null and (deliveryDetail.orderDetail.productName != null and deliveryDetail.orderDetail.productName != '')">
                and od.product_id like concat('%', #{deliveryDetail.orderDetail.productName},'%')
                and od.product_name like concat('%', #{deliveryDetail.orderDetail.productName},'%')
            </if>
            <if test="deliveryDetail.orderDetail!=null and (deliveryDetail.orderDetail.productId != null and deliveryDetail.orderDetail.productId != '')">
                and od.product_name like concat('%', #{deliveryDetail.orderDetail.productId},'%')
                and od.product_id like concat('%', #{deliveryDetail.orderDetail.productId},'%')
            </if>
            <if test="deliveryDetail.order!=null and (deliveryDetail.order.otherMoney != null )">
                and o.other_money regexp REGEXP_REPLACE(#{deliveryDetail.order.otherMoney},'\\.0+$','')
            </if>
            <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.freight != null )">
                and d.freight regexp REGEXP_REPLACE(#{deliveryDetail.delivery.freight},'\\.0+$','')
            </if>
            <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.freightQuantity != null )">
                and d.freight_quantity like concat('%', #{deliveryDetail.delivery.freightQuantity},'%')
            </if>
            <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.freightPrice != null )">
                and d.freight_price regexp REGEXP_REPLACE(#{deliveryDetail.delivery.freightPrice},'\\.0+$','')
            </if>
        </where>
        group by dd.delivery_id,od.product_id
        group by dd.delivery_id,dd.order_id,od.product_id
        order by dd.delivery_id,dd.delivery_number
        limit #{offset},#{pageSize};
    </select>
@@ -822,6 +898,7 @@
        select dd.id as id
        from sd.delivery_detail dd left join delivery d on dd.delivery_id=d.delivery_id
        left join order_detail od on dd.order_id=od.order_id and dd.order_number=od.order_number
        left join sd.`order` o on dd.order_id=o.order_id
        <where>
            and date(dd.create_time)>=#{startDate} and date(dd.create_time) &lt;= #{endDate}
            <if test="deliveryDetail.deliveryId != null and deliveryDetail.deliveryId != ''">
@@ -830,12 +907,6 @@
            <if test="deliveryDetail.deliveryNumber != null and deliveryDetail.deliveryNumber != ''">
                and dd.delivery_number like concat('%',#{deliveryDetail.deliveryNumber},'%')
            </if>
            <if test="deliveryDetail.orderDetail!=null and deliveryDetail.orderDetail.productId != null and deliveryDetail.orderDetail.productId != ''">
                and od.product_id like concat('%',#{deliveryDetail.orderDetail.productId},'%')
            </if>
            <if test="deliveryDetail.orderDetail!=null and deliveryDetail.orderDetail.productName != null and deliveryDetail.orderDetail.productName != ''">
                and od.product_name like concat('%', #{deliveryDetail.orderDetail.productName},'%')
            </if>
            <if test="deliveryDetail.orderId != null and deliveryDetail.orderId != ''">
                and dd.order_id like concat('%', #{deliveryDetail.orderId},'%')
            </if>
@@ -843,13 +914,16 @@
                and dd.order_number like concat('%', #{deliveryDetail.orderNumber},'%')
            </if>
            <if test="deliveryDetail.area != null and deliveryDetail.area != ''">
                and dd.area like concat('%', #{deliveryDetail.area},'%')
                and dd.area regexp REGEXP_REPLACE(#{deliveryDetail.area},'\\.0+$','')
            </if>
            <if test="deliveryDetail.price != null and deliveryDetail.price != ''">
                and dd.price regexp REGEXP_REPLACE(#{deliveryDetail.price},'\\.0+$','')
            </if>
            <if test="deliveryDetail.money != null and deliveryDetail.money != ''">
                and dd.money like concat('%', #{deliveryDetail.money},'%')
                and dd.money regexp REGEXP_REPLACE(#{deliveryDetail.money},'\\.0+$','')
            </if>
            <if test="deliveryDetail.quantity != null and deliveryDetail.quantity != ''">
                and dd.quantity like concat('%', #{deliveryDetail.quantity},'%')
                and dd.quantity regexp REGEXP_REPLACE(#{deliveryDetail.quantity},'\\.0+$','')
            </if>
            <if test="deliveryDetail.deliveryDetailRemakes != null and deliveryDetail.deliveryDetailRemakes != ''">
                and dd.delivery_detail_remakes like concat('%', #{deliveryDetail.deliveryDetailRemakes},'%')
@@ -894,46 +968,53 @@
                and d.delivery_address like concat('%', #{deliveryDetail.delivery.deliveryAddress},'%')
            </if>
            <if test="deliveryDetail.orderDetail!=null and (deliveryDetail.orderDetail.productName != null and deliveryDetail.orderDetail.productName != '')">
                and od.product_id like concat('%', #{deliveryDetail.orderDetail.productName},'%')
                and od.product_name like concat('%', #{deliveryDetail.orderDetail.productName},'%')
            </if>
            <if test="deliveryDetail.orderDetail!=null and (deliveryDetail.orderDetail.productId != null and deliveryDetail.orderDetail.productId != '')">
                and od.product_name like concat('%', #{deliveryDetail.orderDetail.productId},'%')
                and od.product_id like concat('%', #{deliveryDetail.orderDetail.productId},'%')
            </if>
            <if test="deliveryDetail.order!=null and (deliveryDetail.order.otherMoney != null )">
                and o.other_money regexp REGEXP_REPLACE(#{deliveryDetail.order.otherMoney},'\\.0+$','')
            </if>
            <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.freight != null )">
                and d.freight regexp REGEXP_REPLACE(#{deliveryDetail.delivery.freight},'\\.0+$','')
            </if>
            <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.freightQuantity != null )">
                and d.freight_quantity like concat('%', #{deliveryDetail.delivery.freightQuantity},'%')
            </if>
            <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.freightPrice != null )">
                and d.freight_price regexp REGEXP_REPLACE(#{deliveryDetail.delivery.freightPrice},'\\.0+$','')
            </if>
        </where>
        group by dd.delivery_id,od.product_id) as zu
        group by dd.delivery_id,dd.order_id,od.product_id) as zu
    </select>
    <select id="getSelectDeliveryPrinting" resultMap="selectDeliveryDetailOrderDetail" >
        select dd.delivery_id,od.order_id,od.product_id,pt.remarks as 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>
    <select id="getSelectOrderPrinting"  >
        select od.order_id,od.product_id,p.remarks as product_name,sum(od.compute_gross_area) as area,sum(od.gross_amount) as gross_amount ,sum(od.quantity) as quantity from
        select od.order_id,od.product_id,od.product_name,sum(od.compute_gross_area) as area,sum(od.gross_amount) as gross_amount ,sum(od.quantity) as quantity from
         order_detail od left join product p on od.product_id=p.id
        <where>
            <if test="orderDetail.orderId != null and orderDetail.orderId != ''">
                and od.order_id like concat('%',#{orderDetail.orderId},'%')
            </if>
        </where>
        group by od.product_name,od.product_id
        where od.order_id = #{orderId}
        and od.product_id = #{productId}
        group by od.product_name,od.product_id ;
    </select>
    <select id="getSelectDeliveryDetailPrinting" >
        select od.order_id,
               od.order_number,
               p.remarks as product_name,
               od.product_name,
               od.width,
               od.height,
               dd.quantity,
@@ -942,7 +1023,8 @@
               ifnull(od.processing_note,"") as processingNote,
               ifnull(od.building_number,"") as buildingNumber,
               dd.price,
               od.other_columns
               od.other_columns,
               od.remarks
        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 p on od.product_id = p.id
@@ -962,8 +1044,16 @@
    </select>
    <select id="getSelectOrderotherMoney" >
        select bom.alias,oom.price,#{value}*od.quantity as count,oom.price*#{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)
@@ -978,10 +1068,12 @@
               od.quantity,
               od.gross_amount,
               od.compute_gross_area,
               od.area,
               ifnull(od.processing_note,"") as processingNote,
               ifnull(od.building_number,"") as buildingNumber,
               od.price,
               od.other_columns
               od.other_columns,
               od.remarks
        from  order_detail od
        where  od.order_id = #{orderId}
          and od.product_id = #{productId}
@@ -1010,13 +1102,19 @@
        dd.order_id,
        dd.order_number,
        dd.area,
        dd.price,
        dd.money,
        dd.quantity,
        dd.delivery_detail_remakes,
        dd.create_time
        dd.create_time,
        o.other_money,
        d.freight,
        d.freight_price,
        d.freight_quantity
        from sd.delivery_detail dd
        left join sd.delivery d on dd.delivery_id=d.delivery_id
        left join order_detail od on dd.order_id=od.order_id and dd.order_number=od.order_number
        left join sd.`order` o on dd.order_id=o.order_id
        left join sd.customer c on d.customer_id=c.id
        where  date(d.create_time)>=#{dates[0]} and date(d.create_time) &lt;= #{dates[1]}
    </select>
@@ -1046,12 +1144,18 @@
               sum(dd.money) as money,
               sum(dd.quantity) as quantity,
               dd.delivery_detail_remakes,
               dd.create_time
               dd.price,
               dd.create_time,
               o.other_money,
               d.freight,
               d.freight_price,
               d.freight_quantity
        from sd.delivery_detail dd left join delivery d on dd.delivery_id=d.delivery_id
                                   left join order_detail od on dd.order_id=od.order_id and dd.order_number=od.order_number
                                   left join sd.`order` o on dd.order_id=o.order_id
                                   left join sd.customer c on d.customer_id=c.id
        where  date(d.create_time)>=#{dates[0]} and date(d.create_time) &lt;= #{dates[1]}
        group by dd.delivery_id,od.product_id
        group by dd.delivery_id,dd.order_id,od.product_id
        order by dd.delivery_id,dd.delivery_number
    </select>
</mapper>