<?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.OrderMapper">
|
|
<update id="setPartnerOrderReceive">
|
update t_order set status_backend = 'RECEIVE', status = 'RECEIVE'
|
where status_backend = 'SEND' and partner_id is not null
|
</update>
|
|
<select id="getPartnerOrderReceive" resultType="com.mzl.flower.entity.payment.Order">
|
select * from t_order t where status_backend = 'SEND' and partner_id is not null
|
</select>
|
|
<select id="getOrderStatusCount" resultType="com.mzl.flower.dto.response.payment.OrderStatusCountDTO">
|
SELECT q.status_backend value, count(1) orderCount
|
FROM t_order q
|
WHERE q.deleted = 0
|
<if test="condition.orderNo != null and condition.orderNo != ''">
|
AND q.order_no LIKE concat('%', #{condition.orderNo},'%')
|
</if>
|
<if test="condition.customerAddress != null and condition.customerAddress != ''">
|
AND q.customer_address LIKE concat('%', #{condition.customerAddress},'%')
|
</if>
|
<if test="condition.customer != null and condition.customer != ''">
|
AND (q.customer LIKE concat('%', #{condition.customer},'%')
|
or q.customer_tel LIKE concat('%', #{condition.customer},'%')
|
)
|
</if>
|
<if test="condition.createBy != null and condition.createBy != ''">
|
AND q.create_by = #{condition.createBy}
|
</if>
|
<if test="condition.status != null and condition.status != ''">
|
AND q.status = #{condition.status}
|
</if>
|
<if test="condition.statusBackend != null and condition.statusBackend != ''">
|
AND q.status_backend = #{condition.statusBackend}
|
</if>
|
<if test="condition.startDate != null">
|
AND q.payment_time >= #{condition.startDate}
|
</if>
|
<if test="condition.endDate != null">
|
AND q.payment_time <= #{condition.endDate}
|
</if>
|
<if test="condition.createStartDate != null">
|
AND q.create_time >= #{condition.createStartDate}
|
</if>
|
<if test="condition.createEndDate != null">
|
AND q.create_time <= #{condition.createEndDate}
|
</if>
|
<if test="condition.partnerId != null">
|
AND q.partner_id = #{condition.partnerId}
|
</if>
|
<if test="condition.partnerName != null and condition.partnerName != ''">
|
AND q.partner_name LIKE concat('%', #{condition.partnerName},'%')
|
</if>
|
<if test="condition.levelDown != null and condition.levelDown != ''">
|
AND exists(
|
select 1 from t_order_item oi
|
where oi.order_id = q.id
|
and oi.status = 'reduce'
|
)
|
and q.transfer_id is null
|
</if>
|
<if test="condition.billId != null and condition.billId != ''">
|
AND q.bill_id = #{condition.billId}
|
</if>
|
<if test="condition.flowerName != null and condition.flowerName != ''">
|
AND exists(
|
select 1 from t_order_item oi
|
where oi.order_id = q.id
|
and oi.flower_name LIKE concat('%', #{condition.flowerName},'%')
|
)
|
</if>
|
GROUP BY q.status_backend
|
</select>
|
|
<select id="selectOrderList" resultType="com.mzl.flower.dto.response.payment.OrderListDTO">
|
SELECT q.*, u.nick_name createName
|
, (
|
select count(1) from t_order_item oi
|
where oi.order_id = q.id
|
and (oi.status = 'reduce' or oi.status = 'abnormal')
|
) levelDownCount
|
FROM t_order q
|
left join t_user u on q.create_by = u.id
|
WHERE q.deleted = 0
|
<if test="condition.orderNo != null and condition.orderNo != ''">
|
AND q.order_no LIKE concat('%', #{condition.orderNo},'%')
|
</if>
|
<if test="condition.customerAddress != null and condition.customerAddress != ''">
|
AND q.customer_address LIKE concat('%', #{condition.customerAddress},'%')
|
</if>
|
<if test="condition.customer != null and condition.customer != ''">
|
AND (q.customer LIKE concat('%', #{condition.customer},'%')
|
or q.customer_tel LIKE concat('%', #{condition.customer},'%')
|
)
|
</if>
|
<if test="condition.createBy != null and condition.createBy != ''">
|
AND q.create_by = #{condition.createBy}
|
</if>
|
<if test="condition.status != null and condition.status != ''">
|
AND q.status = #{condition.status}
|
</if>
|
<if test="condition.statusBackend != null and condition.statusBackend != ''">
|
AND q.status_backend = #{condition.statusBackend}
|
</if>
|
<if test="condition.startDate != null">
|
AND q.payment_time >= #{condition.startDate}
|
</if>
|
<if test="condition.endDate != null">
|
AND q.payment_time <= #{condition.endDate}
|
</if>
|
<if test="condition.createStartDate != null">
|
AND q.create_time >= #{condition.createStartDate}
|
</if>
|
<if test="condition.createEndDate != null">
|
AND q.create_time <= #{condition.createEndDate}
|
</if>
|
<if test="condition.partnerId != null">
|
AND q.partner_id = #{condition.partnerId}
|
</if>
|
<if test="condition.partnerName != null and condition.partnerName != ''">
|
AND q.partner_name LIKE concat('%', #{condition.partnerName},'%')
|
</if>
|
<if test="condition.levelDown != null and condition.levelDown != ''">
|
AND exists(
|
select 1 from t_order_item oi
|
where oi.order_id = q.id
|
and (oi.status = 'reduce' or oi.status = 'abnormal')
|
)
|
and q.transfer_id is null
|
</if>
|
<if test="condition.billId != null and condition.billId != ''">
|
AND q.bill_id = #{condition.billId}
|
</if>
|
<if test="condition.flowerName != null and condition.flowerName != ''">
|
AND exists(
|
select 1 from t_order_item oi
|
where oi.order_id = q.id
|
and oi.flower_name LIKE concat('%', #{condition.flowerName},'%')
|
)
|
</if>
|
|
ORDER BY q.create_time desc, q.payment_time desc
|
</select>
|
|
<select id="selectOrderCheckList" resultType="com.mzl.flower.dto.response.payment.OrderCheckListDTO">
|
SELECT q.*
|
FROM t_order q
|
WHERE q.deleted = 0
|
<if test="condition.orderNo != null and condition.orderNo != ''">
|
AND q.order_no LIKE concat('%', #{condition.orderNo},'%')
|
</if>
|
<if test="condition.customerAddress != null and condition.customerAddress != ''">
|
AND q.customer_address LIKE concat('%', #{condition.customerAddress},'%')
|
</if>
|
<if test="condition.customer != null and condition.customer != ''">
|
AND (q.customer LIKE concat('%', #{condition.customer},'%')
|
or q.customer_tel LIKE concat('%', #{condition.customer},'%')
|
)
|
</if>
|
<if test="condition.createBy != null and condition.createBy != ''">
|
AND q.create_by = #{condition.createBy}
|
</if>
|
<if test="condition.status != null and condition.status != ''">
|
AND q.status = #{condition.status}
|
</if>
|
<if test="condition.statusBackend != null and condition.statusBackend != ''">
|
AND q.status_backend = #{condition.statusBackend}
|
</if>
|
<if test="condition.startDate != null">
|
AND q.payment_time >= #{condition.startDate}
|
</if>
|
<if test="condition.endDate != null">
|
AND q.payment_time <= #{condition.endDate}
|
</if>
|
<if test="condition.createStartDate != null">
|
AND q.create_time >= #{condition.createStartDate}
|
</if>
|
<if test="condition.createEndDate != null">
|
AND q.create_time <= #{condition.createEndDate}
|
</if>
|
<if test="condition.partnerId != null">
|
AND q.partner_id = #{condition.partnerId}
|
</if>
|
<if test="condition.partnerName != null and condition.partnerName != ''">
|
AND q.partner_name LIKE concat('%', #{condition.partnerName},'%')
|
</if>
|
<if test="condition.levelDown != null and condition.levelDown != ''">
|
AND exists(
|
select 1 from t_order_item oi
|
where oi.order_id = q.id
|
and oi.status = 'reduce'
|
)
|
and q.transfer_id is null
|
</if>
|
<if test="condition.idList != null and condition.idList.size > 0">
|
and q.id in
|
<foreach collection="condition.idList" item="id" open="(" separator="," close=")">
|
#{id}
|
</foreach>
|
</if>
|
|
ORDER BY q.partner_id DESC, q.warehouse_id, q.warehouse_location_id, q.create_time desc, q.payment_time desc
|
</select>
|
|
<select id="getSupplierSaleNum" resultType="com.mzl.flower.dto.response.payment.SupplierNumDTO">
|
select oi.supplier_id, sum(oi.num) num
|
from t_order_item oi
|
join t_order o on oi.order_id = o.id
|
where o.status_backend in ('EVALUATE', 'COMPLETED')
|
and oi.supplier_id is not null
|
and o.payment_time >= #{startTime}
|
and o.payment_time < #{endTime}
|
GROUP BY oi.supplier_id
|
</select>
|
|
<select id="getOrderForSettlement" resultType="com.mzl.flower.entity.payment.Order">
|
select o.*
|
from t_order o
|
where o.status_backend = 'EVALUATE'
|
</select>
|
|
<select id="getOrderForAutoReceive" resultType="com.mzl.flower.entity.payment.Order">
|
select o.*
|
from t_order o
|
where o.status_backend = 'RECEIVE'
|
and o.create_time < #{endTime}
|
and not exists(
|
select 1 from t_order_item_sales os
|
where os.order_id = o.id
|
and os.status = 'PENDING'
|
)
|
</select>
|
|
<select id="getOrderForBill" resultType="com.mzl.flower.entity.payment.Order">
|
select o.*
|
from t_order o
|
where o.receive_time >= #{startTime}
|
and o.receive_time < #{endTime}
|
and o.bill_id is null
|
</select>
|
</mapper>
|