廖井涛
2024-09-25 49ff365a6977628cbb5db0ec5a4a234edd0c91ad
north-glass-erp/src/main/resources/mapper/sd/CustomerMapper.xml
@@ -41,7 +41,7 @@
    <select id="getSelectCustomerDeliveryDate" >
        select d.delivery_id,d.order_id,d.customer_id,d.customer_name,
        select d.delivery_id,dd.order_id,d.customer_id,d.customer_name,
               d.project,od.product_name,sum(dd.quantity) as quantity,sum(dd.area) as area,dd.price,sum(dd.money) as money,
                date(d.create_time) as create_time
@@ -51,7 +51,7 @@
                where date(d.create_time)>=#{startDate} and date(d.create_time) &lt;= #{endDate}
                and d.customer_id = #{orderDetail.order.customerId}
        group by od.product_id, od.width, od.height
        group by od.order_id,od.product_id
        limit #{offset},#{pageSize};
    </select>
@@ -65,7 +65,7 @@
        where
             date(d.create_time)>=#{startDate} and date(d.create_time) &lt;= #{endDate}
            and d.customer_id = #{orderDetail.order.customerId}
        group by od.product_id, od.width, od.height) as zu
        group by od.order_id,od.product_id) as zu
    </select>
    <select id="getSelectCustomerOderDate" >
@@ -77,7 +77,7 @@
        o.customer_id,
        o.customer_name,
        sum(od.quantity) as quantity,
        sum(od.area) as area,
        sum(od.compute_gross_area) as area,
        od.shape,
        od.width,
        od.height,
@@ -91,9 +91,9 @@
        left join `order` o on o.order_id = od.order_id
        <where>
            and date(o.create_time)>=#{startDate} and date(o.create_time) &lt;= #{endDate}
                                   and o.customer_id = #{orderDetail.order.customerId}
                                   and o.customer_id = #{orderDetail.order.customerId} and o.create_order>0
        </where>
        group by od.product_id, od.width, od.height
        group by od.order_id,od.product_id
        limit #{offset},#{pageSize};
    </select>
@@ -105,9 +105,9 @@
        left join `order` o on o.order_id = od.order_id
        <where>
            and date(o.create_time)>=#{startDate} and date(o.create_time) &lt;= #{endDate}
                and o.customer_id = #{orderDetail.order.customerId}
                and o.customer_id = #{orderDetail.order.customerId} and o.create_order>0
        </where>
        group by od.product_id, od.width, od.height) as zu
        group by od.order_id,od.product_id) as zu
    </select>
    <select id="getCustomerList">
@@ -224,34 +224,89 @@
    </delete>
    <select id="exportSelectCustomerDeliveryDate" >
        select d.delivery_id,d.order_id,d.customer_id,d.customer_name,
               d.project,od.product_name,sum(dd.quantity) as quantity,sum(dd.area) as area,dd.price,sum(dd.money) as money,
        select d.delivery_id,
               dd.order_id,
               d.customer_name,
               d.project,
               od.product_name,
               sum(dd.quantity)    as quantity,
               sum(dd.area)        as area,
               dd.price,
               sum(dd.money)       as money,
               date(d.create_time) as create_time
        from sd.delivery_detail dd
                 left join sd.delivery d on d.delivery_id = dd.delivery_id
                 left join sd.order_detail od on od.order_id=dd.order_id and od.order_number=dd.order_number
                 left join sd.order_detail od on od.order_id = dd.order_id and od.order_number = dd.order_number
        where date(d.create_time)>=#{startDate} and date(d.create_time) &lt;= #{endDate}
        where date(d.create_time) >= #{startDate}
          and date(d.create_time) &lt;= #{endDate}
          and d.customer_id = #{orderDetail.order.customerId}
        group by od.product_id, od.width, od.height
        group by od.order_id,od.product_id
        UNION ALL
        select d.delivery_id,
               o.order_id,
               d.customer_name,
               d.project,
               bom.alias           as product_name,
               sum(om.quantity)    as quantity,
               0                   as area,
               om.price,
               sum(om.money)       as money,
               date(d.create_time) as create_time
        from (select * from sd.delivery_detail group by order_id) as dd
                 left join sd.delivery d on d.delivery_id = dd.delivery_id
                 left join sd.`order` o on o.order_id = dd.order_id
                 left join sd.order_other_money om on om.order_id = o.order_id
                 left join sd.basic_other_money bom on bom.`column` = om.`column`
        where date(d.create_time) >= #{startDate}
          and date(d.create_time) &lt;= #{endDate}
          and d.customer_id = #{orderDetail.order.customerId}
          and om.money is not null
        group by d.delivery_id, o.order_id, om.`column`
    </select>
    <select id="exportSelectCustomerOderDate" >
        select od.order_id,
        o.project,
        od.product_name,
        o.customer_name,
        sum(od.quantity) as quantity,
        sum(od.area) as area,
        od.price,
        sum(od.gross_amount) as money,
        date(o.create_time) as create_time
               o.project,
               od.product_name,
               o.customer_name,
               sum(od.quantity)     as quantity,
               sum(od.compute_gross_area)         as area,
               od.price,
               sum(od.gross_amount) as money,
               date(o.create_time)  as create_time
        from order_detail od
        left join `order` o on o.order_id = od.order_id
        where
             date(o.create_time)>=#{startDate} and date(o.create_time) &lt;= #{endDate}
            and o.customer_id = #{orderDetail.order.customerId}
        group by od.product_id, od.width, od.height
                 left join `order` o on o.order_id = od.order_id
        where date(o.create_time) >= #{startDate}
          and date(o.create_time) &lt;= #{endDate}
          and o.customer_id = #{orderDetail.order.customerId}
          and o.create_order>0
        group by od.order_id,od.product_id
        UNION ALL
        select o.order_id,
               o.project,
               bom.alias           as product_name,
               o.customer_name,
               sum(om.quantity)    as quantity,
               0                   as area,
               om.price,
               sum(om.money)       as money,
               date(o.create_time) as create_time
        from `order` o
                 left join sd.order_other_money om on om.order_id = o.order_id
                 left join sd.basic_other_money bom on bom.`column` = om.`column`
        where date(o.create_time) >= #{startDate}
          and date(o.create_time) &lt;= #{endDate}
          and o.customer_id = #{orderDetail.order.customerId}
          and om.money is not null
        group by o.order_id, om.`column`
    </select>
</mapper>