1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
| <?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.ruoyi.sales.mapper.SalesQuotationMapper">
| <select id="listPage" resultType="com.ruoyi.sales.dto.SalesQuotationDto">
| SELECT t1.id,
| t1.quotation_no,
| COALESCE(merged_customer.customer_name, t1.customer) AS customer,
| t1.salesperson,
| t1.quotation_date,
| t1.valid_date,
| t1.payment_method,
| t1.delivery_period,
| t1.status,
| t1.total_amount,
| t1.remark,
| t1.create_time,
| t1.update_time,
| t1.create_user,
| t1.update_user,
| t1.tenant_id,
| t1.dept_id,
| t2.approve_user_ids
| FROM sales_quotation t1
| LEFT JOIN approve_process t2 ON t1.quotation_no = t2.approve_reason and t2.approve_type = 6
| LEFT JOIN (
| SELECT cpp.id, cpp.type, cpp.customer_id,
| CASE
| WHEN cpp.type = 0 THEN cp.customer_name
| WHEN cpp.type = 1 THEN c.customer_name
| ELSE NULL
| END AS customer_name
| FROM customer_private_pool cpp
| LEFT JOIN customer_private cp ON cpp.type = 0 AND cpp.customer_id = cp.id
| LEFT JOIN customer c ON cpp.type = 1 AND cpp.customer_id = c.id
| ) merged_customer ON t1.customer = merged_customer.id
| WHERE 1=1
| <if test="salesQuotationDto.quotationNo != null and salesQuotationDto.quotationNo != '' ">
| AND t1.quotation_no LIKE CONCAT('%',#{salesQuotationDto.quotationNo},'%')
| </if>
| <if test="salesQuotationDto.customer != null and salesQuotationDto.customer != '' ">
| AND t1.customer = #{salesQuotationDto.customer}
| </if>
| <if test="salesQuotationDto.status != null and salesQuotationDto.status != '' ">
| AND t1.status = #{salesQuotationDto.status}
| </if>
| </select>
|
| </mapper>
|
|