cloudroam
2024-10-12 2a3e68dac71137fe89483ff243314d7684051d1d
src/main/resources/mapper/payment/OrderMapper.xml
@@ -90,6 +90,10 @@
        <if test="condition.customerAddress != null and condition.customerAddress != ''">
            AND q.customer_address LIKE concat('%', #{condition.customerAddress},'%')
        </if>
        <if test="condition.address != null and condition.address != ''">
            AND CONCAT(q.customer_province, q.customer_city, q.customer_region, q.customer_address) LIKE concat('%',
            #{condition.address},'%')
        </if>
        <if test="condition.customer != null and condition.customer != ''">
            AND (q.customer LIKE concat('%', #{condition.customer},'%')
                or q.customer_tel LIKE concat('%', #{condition.customer},'%')
@@ -110,11 +114,18 @@
        <if test="condition.endDate != null">
            AND q.payment_time &lt;= #{condition.endDate}
        </if>
<!--        <if test="condition.createStartDate != null">-->
<!--            AND q.create_time &gt;= #{condition.createStartDate}-->
<!--        </if>-->
<!--        <if test="condition.createEndDate != null">-->
<!--            AND q.create_time &lt;= #{condition.createEndDate}-->
<!--        </if>-->
        <!-- 修改查询日期对应的的创建时间为支付时间 2024-10-12-->
        <if test="condition.createStartDate != null">
            AND q.create_time &gt;= #{condition.createStartDate}
            AND q.payment_time  &gt;= #{condition.createStartDate}
        </if>
        <if test="condition.createEndDate != null">
            AND q.create_time &lt;= #{condition.createEndDate}
            AND q.payment_time &lt;= #{condition.createEndDate}
        </if>
        <if test="condition.partnerId != null">
            AND q.partner_id = #{condition.partnerId}
@@ -129,6 +140,7 @@
                and (oi.status = 'reduce' or oi.status = 'abnormal')
            )
            and q.transfer_id is null
            and q.status in ('COLLECTION', 'SEND')
        </if>
        <if test="condition.billId != null and condition.billId != ''">
            AND q.bill_id = #{condition.billId}
@@ -139,6 +151,9 @@
                where oi.order_id = q.id
                and oi.flower_name LIKE concat('%', #{condition.flowerName},'%')
            )
        </if>
        <if test="condition.warehouseLocationCode != null and condition.warehouseLocationCode != ''">
            AND q.warehouse_location_code LIKE concat('%', #{condition.warehouseLocationCode},'%')
        </if>
        ORDER BY q.create_time desc, q.payment_time desc
@@ -256,4 +271,95 @@
        join t_order_point_goods opg on opg.goods_record_id = gr.id
        where opg.order_id = #{orderId}
    </select>
    <select id="getFlowerCompleteNumWithinTimeRange" resultType="java.lang.Integer">
        select IFNULL(sum(oi.num),0) as complete_num
        from t_order o
        left join t_order_item oi
        on o.id=oi.order_id
        where o.DELETEd=0 and oi.DELETEd=0
          and o.status_backend not in ('PENDING','CANCEL','REFUND')
          and o.create_by=#{userId}
          AND oi.flower_id=#{flowerId}
          AND o.payment_time BETWEEN  #{startTime}  AND #{endTime}
    </select>
    <select id="selectOrderExportList" resultType="com.mzl.flower.dto.response.payment.OrderListExportDTO">
        SELECT q.order_no,q.create_time,q.customer,q.customer_tel,q.total_amount,q.status_backend,q.partner_name,q.warehouse_location_code,q.remarks,
               u.nick_name createName ,
               code.label as statusBackendStr,
               code2.label as specialNeedsStr,
               CONCAT(q.customer_province, q.customer_city,q.customer_region,q.customer_address) AS customerAddress,
               (select Sum(COALESCE(oi.num, 0) * COALESCE(oi.supplier_price, 0))
        from t_order_item oi where order_id = q.id) supplierAmount
        FROM t_order q
        left join t_user u on q.create_by = u.id
        LEFT JOIN (SELECT ct.label, ct.value from t_code_value ct where type_code = 'ORDER_STATUS_BACKEND') code ON q.status_backend = code.value
        LEFT JOIN (SELECT ct.label, ct.value from t_code_value ct where type_code = 'SPEC_REQ') code2 ON q.special_needs = code2.value
        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.address != null and condition.address != ''">
            AND CONCAT(q.customer_province, q.customer_city, q.customer_region, q.customer_address) LIKE concat('%',
            #{condition.address},'%')
        </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 &gt;= #{condition.startDate}
        </if>
        <if test="condition.endDate != null">
            AND q.payment_time &lt;= #{condition.endDate}
        </if>
        <if test="condition.createStartDate != null">
            AND q.create_time &gt;= #{condition.createStartDate}
        </if>
        <if test="condition.createEndDate != null">
            AND q.create_time &lt;= #{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
            and q.status in ('COLLECTION', 'SEND')
        </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>
        <if test="condition.warehouseLocationCode != null and condition.warehouseLocationCode != ''">
            AND q.warehouse_location_code LIKE concat('%', #{condition.warehouseLocationCode},'%')
        </if>
        ORDER BY q.create_time desc, q.payment_time desc
    </select>
</mapper>