廖井涛
2024-07-11 e55a701f5d4807a84eecc6aff5f69e35e9ee6af4
north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml
@@ -34,6 +34,7 @@
        <result column="batch" property="order.batch"/>
        <result column="t_quantity" property="order.quantity"/>
        <result column="calculate_type" property="order.calculateType"/>
        <result column="customer_id" property="delivery.customerId"/>
@@ -147,11 +148,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)
                                        area,order_id,quantity,money,delivery_detail_remakes,delivery_detail_state,other_columns,create_time,price)
        values (
                   #{number} ,#{deliveryNumber},#{orderDetail.orderNumber},#{orderDetail.computeGrossArea},
                   #{number} ,#{deliveryNumber},#{orderDetail.orderNumber},#{orderDetail.computeArea}*#{orderDetail.deliveryDetail.quantity},
                #{orderDetail.orderId},#{orderDetail.deliveryDetail.quantity},
                #{orderDetail.price}*#{orderDetail.deliveryDetail.quantity},'',1,#{orderDetail.otherColumns},now()
                #{deliveryDetailMoney},'',1,#{orderDetail.otherColumns},now(),#{orderDetail.price}
               )
    </insert>
@@ -169,7 +170,7 @@
               od.building_number,
               od.product_id,
               od.product_name,
               od.price,
               dd.price,
               fgi.storage_region,
               dd.money,
               od.width,
@@ -261,7 +262,7 @@
            </if>
        </where>
        order by dd.id desc
        order by dd.id
        limit #{offset},#{pageSize};
    </select>
@@ -351,6 +352,7 @@
        select od.order_id,
               od.order_number,
               o.batch,
               o.calculate_type,
               fgi.quantity_available,
               od.quantity- od.delivery_num as t_quantity,
               od.quantity as o_quantity,
@@ -369,7 +371,8 @@
               od.compute_gross_area,
               od.processing_note,
               od.edging_type,
               od.perimeter
               od.perimeter,
               od.other_columns
        from sd.order_detail od
                 left join sd.`order` o on od.order_id = o.order_id
                 left join mm.finished_goods_inventory fgi
@@ -874,8 +877,10 @@
    </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,pt.remarks as product_name,sum(dd.area) as area,sum(dd.money) as money,sum(dd.quantity) as quantity 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
        <where>
            <if test="deliveryDetail.deliveryId != null and deliveryDetail.deliveryId != ''">
@@ -885,10 +890,22 @@
        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
         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
    </select>
    <select id="getSelectDeliveryDetailPrinting" >
        select od.order_id,
               od.order_number,
               od.product_name,
               p.remarks as product_name,
               od.width,
               od.height,
               dd.quantity,
@@ -896,11 +913,108 @@
               dd.area,
               ifnull(od.processing_note,"") as processingNote,
               ifnull(od.building_number,"") as buildingNumber,
               od.price
               dd.price,
               od.other_columns
        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
        where delivery_id = #{deliveryId}
          and od.order_id = #{orderId}
          and od.product_id = #{productId}
    </select>
    <select id="getSelectotherMoney" >
        select bom.alias,oom.price,#{value}*dd.quantity  as count,oom.price*#{value}*dd.quantity as monery
        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 order_other_money oom on oom.order_id=dd.order_id  and oom.column=#{key}
        left join basic_other_money bom on bom.`column`=oom.`column`
        where delivery_id = #{deliveryId}
          and od.order_id = #{orderId} and od.order_number=#{orderNumber} and (od.other_columns!='{}' or od.other_columns!=null)
    </select>
    <select id="getSelectOrderotherMoney" >
        select bom.alias,oom.price,#{value}*od.quantity as count,oom.price*#{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,
               od.product_name,
               od.width,
               od.height,
               od.quantity,
               od.gross_amount,
               od.compute_gross_area,
               ifnull(od.processing_note,"") as processingNote,
               ifnull(od.building_number,"") as buildingNumber,
               od.price,
               od.other_columns
        from  order_detail od
        where  od.order_id = #{orderId}
          and od.product_id = #{productId}
    </select>
    <select id="exportDeliveryDetailReport">
        select dd.id,
            dd.delivery_id,
        dd.delivery_number,
        d.payment_terms,
        d.project,
        d.customer_id,
        d.customer_name,
        d.delivery_date,
        d.pay_method,
        d.pay_date,
        d.salesman,
        d.creator,
        d.contacts,
        d.contact_number,
        d.delivery_address,
        dd.order_id,
        dd.order_number,
        dd.area,
        dd.money,
        dd.quantity,
        dd.delivery_detail_remakes,
        dd.create_time
        from sd.delivery_detail dd
        left join sd.delivery d on dd.delivery_id=d.delivery_id
        where  date(d.create_time)>=#{dates[0]} and date(d.create_time) &lt;= #{dates[1]}
    </select>
    <select id="exportDeliveryDetailProductReport">
        select dd.id,
            dd.delivery_id,
               dd.delivery_number,
               od.product_id,
               od.product_name,
               d.payment_terms,
               d.project,
               d.customer_id,
               d.customer_name,
               d.delivery_date,
               d.pay_method,
               d.pay_date,
               d.salesman,
               d.creator,
               d.contacts,
               d.contact_number,
               d.delivery_address,
               dd.order_id,
               dd.order_number,
               sum(dd.area) as area,
               sum(dd.money) as money,
               sum(dd.quantity) as quantity,
               dd.delivery_detail_remakes,
               dd.create_time
        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
        where  date(d.create_time)>=#{dates[0]} and date(d.create_time) &lt;= #{dates[1]}
    </select>
</mapper>