maven
2 天以前 0ef7a6b7f63a1f7b866bccef4eabf64041d5bbad
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
<?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.production.mapper.SalesLedgerSchedulingMapper">
 
    <select id="listPage" resultType="com.ruoyi.production.dto.SalesLedgerSchedulingDto">
        SELECT
        T2.id as salesLedgerProductId,
        T1.id as salesLedgerId,
        ifNull(sum(t3.scheduling_num),0) AS schedulingNum,
        T1.sales_contract_no,
        T1.customer_contract_no,
        T1.project_name,
        T1.entry_date,
        T1.customer_name,
        T2.quantity,
        T2.product_category,
        T2.specification_model,
        T2.unit
        FROM
        sales_ledger_product T2
        LEFT join sales_ledger_scheduling t3 on T2.id = t3.sales_ledger_product_id
        LEFT JOIN sales_ledger T1 ON T1.id = T2.sales_ledger_id
        <where>
            T1.id is not null
            <if test="salesLedgerDto.customerName != null and salesLedgerDto.customerName != '' ">
                AND  T1.customer_name LIKE CONCAT('%',#{salesLedgerDto.customerName},'%')
            </if>
            <if test="salesLedgerDto.customerContractNo != null and salesLedgerDto.customerContractNo !='' ">
                AND  T1.customer_contract_no LIKE CONCAT('%',#{salesLedgerDto.customerContractNo},'%')
            </if>
            <if test="salesLedgerDto.salesContractNo != null and salesLedgerDto.salesContractNo != '' ">
                AND  T1.sales_contract_no LIKE CONCAT('%',#{salesLedgerDto.salesContractNo},'%')
            </if>
            <if test="salesLedgerDto.projectName != null and salesLedgerDto.projectName != '' ">
                AND T1.project_name LIKE CONCAT('%',#{salesLedgerDto.projectName},'%')
            </if>
            <if test="salesLedgerDto.entryDateStart != null and salesLedgerDto.entryDateStart != '' ">
                AND T1.entry_date &gt;= DATE_FORMAT(#{salesLedgerDto.entryDateStart},'%Y-%m-%d')
            </if>
            <if test="salesLedgerDto.entryDateEnd != null and salesLedgerDto.entryDateEnd != '' ">
                AND  T1.entry_date &lt;= DATE_FORMAT(#{salesLedgerDto.entryDateEnd},'%Y-%m-%d')
            </if>
        </where>
        GROUP BY T2.id
    </select>
    <select id="list" resultType="com.ruoyi.production.dto.SalesLedgerSchedulingDto">
        SELECT
            T2.id,
            ifNull(sum(t3.scheduling_num),0) AS schedulingNum,
            T1.sales_contract_no,
            T1.customer_contract_no,
            T1.project_name,
            T1.entry_date,
            T1.customer_name,
            T2.quantity,
            T2.product_category,
            T2.specification_model,
            T2.unit
        FROM
            sales_ledger_product T2
                LEFT JOIN sales_ledger T1 ON T1.id = T2.sales_ledger_id
                LEFT join sales_ledger_scheduling t3 on T1.id = t3.sales_ledger_id
        where T1.id is not null
        GROUP BY T2.id
    </select>
    <select id="listPageProcess" resultType="com.ruoyi.production.dto.SalesLedgerSchedulingProcessDto">
        SELECT
        t3.id as salesLedgerProductId,
        T1.id as salesLedgerId,
        T2.id,
        T2.status,
        T2.scheduling_user_id,
        T2.scheduling_user_name,
        T2.scheduling_date,
        ifNull(T2.scheduling_num,0) AS schedulingNum,
        T1.sales_contract_no,
        T1.customer_contract_no,
        T1.project_name,
        T1.customer_name,
        t3.product_category,
        t3.specification_model,
        t3.unit
        FROM
        sales_ledger_scheduling T2
        LEFT JOIN sales_ledger T1 ON T1.id = T2.sales_ledger_id
        left join sales_ledger_product t3 on T2.sales_ledger_product_id = t3.id
        <where>
            1 = 1
            <if test="salesLedgerDto.status != null and salesLedgerDto.status != '' ">
                AND  T2.status = #{salesLedgerDto.status}
            </if>
            <if test="salesLedgerDto.customerName != null and salesLedgerDto.customerName != '' ">
                AND  T1.customer_name LIKE CONCAT('%',#{salesLedgerDto.customerName},'%')
            </if>
            <if test="salesLedgerDto.customerContractNo != null and salesLedgerDto.customerContractNo !='' ">
                AND  T1.customer_contract_no LIKE CONCAT('%',#{salesLedgerDto.customerContractNo},'%')
            </if>
            <if test="salesLedgerDto.salesContractNo != null and salesLedgerDto.salesContractNo != '' ">
                AND  T1.sales_contract_no LIKE CONCAT('%',#{salesLedgerDto.salesContractNo},'%')
            </if>
            <if test="salesLedgerDto.projectName != null and salesLedgerDto.projectName != '' ">
                AND T1.project_name LIKE CONCAT('%',#{salesLedgerDto.projectName},'%')
            </if>
            <if test="salesLedgerDto.schedulingDateStart != null and salesLedgerDto.schedulingDateStart != '' ">
                AND T2.scheduling_date &gt;= DATE_FORMAT(#{salesLedgerDto.entryDateStart},'%Y-%m-%d')
            </if>
            <if test="salesLedgerDto.schedulingDateEnd != null and salesLedgerDto.schedulingDateEnd != '' ">
                AND  T2.scheduling_date &lt;= DATE_FORMAT(#{salesLedgerDto.entryDateEnd},'%Y-%m-%d')
            </if>
        </where>
        order by T2.update_time desc
    </select>
</mapper>