| <?xml version="1.0" encoding="UTF-8" ?> | 
| <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > | 
| <mapper namespace="com.mzl.flower.mapper.payment.DeliveryOrderItemMapper"> | 
|   | 
|     <select id="selectDoItemList" resultType="com.mzl.flower.dto.response.payment.DeliveryOrderItemListDTO"> | 
|         SELECT q.id, o.order_no, o.warehouse_name, o.warehouse_location_code | 
|             , oi.flower_name, oi.flower_unit, oi.flower_color, oi.flower_cover, oi.num | 
|             , oi.supplier_price price, oi.flower_level | 
|         FROM t_delivery_order_item q | 
|         join t_order o on q.order_id = o.id | 
|         join t_order_item oi on oi.id = q.order_item_id | 
|         WHERE q.deleted = 0 and o.deleted = 0 and oi.deleted = 0 | 
|         and q.delivery_id = #{deliveryId} | 
|     </select> | 
|   | 
|     <select id="selectDoItemCheckList" resultType="com.mzl.flower.dto.response.payment.DeliveryOrderItemCheckDTO"> | 
|         SELECT oi.id, oi.flower_name, oi.flower_unit, oi.flower_color, oi.flower_cover, oi.num | 
|         , oi.supplier_price price, oi.flower_level, oi.status, oi.check_images, oi.check_time, oi.check_remarks | 
|         FROM t_delivery_order_item q | 
|         join t_order_item oi on oi.id = q.order_item_id | 
|         WHERE q.deleted = 0 and oi.deleted = 0 | 
|         and q.delivery_id = #{deliveryId} | 
|     </select> | 
|   | 
|     <select id="selectDoItemListByTime" resultType="com.mzl.flower.dto.response.payment.DeliveryOrderItemStatisticsDTO"> | 
|         SELECT oi.flower_name, oi.flower_level, sum(oi.num) num, sum(oi.supplier_price) price | 
|         FROM t_delivery_order_item doi | 
|         join t_delivery_order q on q.id = doi.delivery_id | 
|         join t_order_item oi on oi.id = doi.order_item_id | 
|         WHERE q.deleted = 0 and doi.deleted = 0 | 
|         and q.supplier_id = #{supplierId} | 
|         <if test="startDate != null"> | 
|             AND q.create_time > #{startDate} | 
|         </if> | 
|         <if test="endDate != null"> | 
|             AND q.create_time <= #{endDate} | 
|         </if> | 
|         group by oi.flower_name, oi.flower_level | 
|     </select> | 
|   | 
|     <select id="selectSettlementListByTime" resultType="com.mzl.flower.dto.response.payment.DeliveryOrderItemSettlementDTO"> | 
|         SELECT oi.flower_name, oi.flower_level, oi.num, oi.supplier_price price | 
|         , s.`status`, sd.check_fee, sd.station_fee, sd.sales_fee, s.service_fee_rate | 
|         , o.status_backend, o.create_time orderTime | 
|         FROM t_delivery_order_item doi | 
|         join t_delivery_order q on q.id = doi.delivery_id | 
|         join t_order o on o.id = q.order_id | 
|         join t_order_item oi on oi.id = doi.order_item_id | 
|         left join t_order_settlement_detail sd on sd.order_item_id = oi.id | 
|         left join t_order_settlement s on sd.settlement_id = s.id | 
|         WHERE q.deleted = 0 and doi.deleted = 0 | 
|         and q.supplier_id = #{supplierId} | 
|         <if test="startDate != null"> | 
|             AND q.create_time > #{startDate} | 
|         </if> | 
|         <if test="endDate != null"> | 
|             AND q.create_time <= #{endDate} | 
|         </if> | 
|         order by q.create_time desc | 
|     </select> | 
|   | 
|     <select id="getSupplierStatisticsByTime" resultType="com.mzl.flower.dto.response.payment.DeliveryOrderItemStatisticsDTO"> | 
|         SELECT sum(oi.num) num, sum(oi.supplier_price) price | 
|         FROM t_delivery_order_item doi | 
|         join t_delivery_order q on q.id = doi.delivery_id | 
|         join t_order_item oi on oi.id = doi.order_item_id | 
|         WHERE q.deleted = 0 and doi.deleted = 0 | 
|         and q.supplier_id = #{supplierId} | 
|         <if test="startDate != null"> | 
|             AND q.create_time > #{startDate} | 
|         </if> | 
|         <if test="endDate != null"> | 
|             AND q.create_time <= #{endDate} | 
|         </if> | 
|     </select> | 
|   | 
|     <select id="getDoItemCount" resultType="java.lang.Integer"> | 
|         SELECT sum(oi.num) | 
|         FROM t_delivery_order_item doi | 
|         join t_delivery_order q on q.id = doi.delivery_id | 
|         join t_order_item oi on oi.id = doi.order_item_id | 
|         WHERE q.deleted = 0 and doi.deleted = 0 | 
|         and q.supplier_id = #{supplierId} | 
|         <if test="status != null and status != ''"> | 
|             AND q.status = #{status} | 
|         </if> | 
|         <if test="startDate != null"> | 
|             AND q.create_time > #{startDate} | 
|         </if> | 
|         <if test="endDate != null"> | 
|             AND q.create_time <= #{endDate} | 
|         </if> | 
|     </select> | 
|   | 
|     <select id="selectDoItemList4Check" resultType="com.mzl.flower.dto.response.payment.DeliveryOrderItem4CheckDTO"> | 
|         SELECT oi.id, q.delivery_id, oi.flower_name, oi.flower_unit, oi.flower_color | 
|         , oi.flower_cover, oi.num , oi.supplier_price price, oi.flower_level, oi.status | 
|         , (select oic.num from t_order_item_check oic where oic.order_item_id = oi.id and oic.type = 'replace') replaceNum | 
|         , (select oic.num from t_order_item_check oic where oic.order_item_id = oi.id and oic.type = 'reduce') reduceNum | 
|         , (select oic.num from t_order_item_check oic where oic.order_item_id = oi.id and oic.type = 'lack') lackNum | 
|         FROM t_delivery_order_item q | 
|         join t_order_item oi on oi.id = q.order_item_id | 
|         WHERE q.deleted = 0 and oi.deleted = 0 | 
|         and q.delivery_id in | 
|         <foreach collection="deliveryIds" item="item" open="(" separator="," close=")"> | 
|             #{item} | 
|         </foreach> | 
|     </select> | 
| </mapper> |