소스 검색

按时间范围进行合同回款统计

lamphua 3 달 전
부모
커밋
acff3831dd

+ 26
- 3
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcContractController.java 파일 보기

82
         JSONObject amountObject = new JSONObject();
82
         JSONObject amountObject = new JSONObject();
83
         JSONArray cwAmountArray = new JSONArray();
83
         JSONArray cwAmountArray = new JSONArray();
84
         JSONObject cwAmountObject = new JSONObject();
84
         JSONObject cwAmountObject = new JSONObject();
85
+        JSONArray paidAmountArray = new JSONArray();
86
+        JSONObject paidAmountObject = new JSONObject();
87
+        JSONArray paidCwAmountArray = new JSONArray();
88
+        JSONObject paidCwAmountObject = new JSONObject();
85
         //每年合同数量及金额
89
         //每年合同数量及金额
86
         if (cmcContract.getSignDate() == null) {
90
         if (cmcContract.getSignDate() == null) {
87
             for (int i = 2019; i <= Calendar.getInstance().get(Calendar.YEAR); i++) {
91
             for (int i = 2019; i <= Calendar.getInstance().get(Calendar.YEAR); i++) {
89
                 List<CmcContract> yearList = cmcContractService.selectCmcContractList(cmcContract);
93
                 List<CmcContract> yearList = cmcContractService.selectCmcContractList(cmcContract);
90
                 yearObject.put(String.valueOf(i), yearList.size());
94
                 yearObject.put(String.valueOf(i), yearList.size());
91
                 BigDecimal amount = new BigDecimal(0);
95
                 BigDecimal amount = new BigDecimal(0);
96
+                BigDecimal paidAmount = new BigDecimal(0);
92
                 for (CmcContract contract : yearList) {
97
                 for (CmcContract contract : yearList) {
93
                     if (contract.getAmount() != null)
98
                     if (contract.getAmount() != null)
94
                         amount = amount.add(contract.getAmount());
99
                         amount = amount.add(contract.getAmount());
100
+                    if (contract.getPaidAmount() != null)
101
+                        paidAmount = paidAmount.add(contract.getPaidAmount());
95
                 }
102
                 }
96
                 amountObject.put(String.valueOf(i), amount);
103
                 amountObject.put(String.valueOf(i), amount);
97
-
104
+                paidAmountObject.put(String.valueOf(i), paidAmount);
98
             }
105
             }
99
             cmcContract.setSignDate(null);
106
             cmcContract.setSignDate(null);
100
         }
107
         }
102
             //输入年份合同数量及金额
109
             //输入年份合同数量及金额
103
             yearObject.put(new SimpleDateFormat("yyyy").format(cmcContract.getSignDate()), cmcContractService.selectCmcContractList(cmcContract).size());
110
             yearObject.put(new SimpleDateFormat("yyyy").format(cmcContract.getSignDate()), cmcContractService.selectCmcContractList(cmcContract).size());
104
             BigDecimal amount = new BigDecimal(0);
111
             BigDecimal amount = new BigDecimal(0);
112
+            BigDecimal paidAmount = new BigDecimal(0);
105
             for (CmcContract contract : cmcContractService.selectCmcContractList(cmcContract)) {
113
             for (CmcContract contract : cmcContractService.selectCmcContractList(cmcContract)) {
106
                 if (contract.getAmount() != null)
114
                 if (contract.getAmount() != null)
107
                     amount = amount.add(contract.getAmount());
115
                     amount = amount.add(contract.getAmount());
116
+                if (contract.getPaidAmount() != null)
117
+                    paidAmount = paidAmount.add(contract.getPaidAmount());
108
             }
118
             }
109
             amountObject.put(new SimpleDateFormat("yyyy").format(cmcContract.getSignDate()), amount);
119
             amountObject.put(new SimpleDateFormat("yyyy").format(cmcContract.getSignDate()), amount);
120
+            paidAmountObject.put(new SimpleDateFormat("yyyy").format(cmcContract.getSignDate()), paidAmount);
110
         }
121
         }
111
-        getProjectSourceStatistic(cmcContract, sourceObject, cwAmountObject);
122
+        getProjectSourceStatistic(cmcContract, sourceObject, cwAmountObject, paidCwAmountObject);
112
         yearArray.add(yearObject);
123
         yearArray.add(yearObject);
113
         sourceArray.add(sourceObject);
124
         sourceArray.add(sourceObject);
114
         amountArray.add(amountObject);
125
         amountArray.add(amountObject);
115
         cwAmountArray.add(cwAmountObject);
126
         cwAmountArray.add(cwAmountObject);
127
+        paidAmountArray.add(paidAmountObject);
128
+        paidCwAmountArray.add(paidCwAmountObject);
116
         jsonObject.put("year", yearArray);
129
         jsonObject.put("year", yearArray);
117
         jsonObject.put("source", sourceArray);
130
         jsonObject.put("source", sourceArray);
118
         jsonObject.put("amount", amountArray);
131
         jsonObject.put("amount", amountArray);
119
         jsonObject.put("cwAmount", cwAmountArray);
132
         jsonObject.put("cwAmount", cwAmountArray);
133
+        jsonObject.put("paidAmount", paidAmountArray);
134
+        jsonObject.put("paidCwAmount", paidCwAmountArray);
120
         return success(jsonObject);
135
         return success(jsonObject);
121
     }
136
     }
122
 
137
 
211
     }
226
     }
212
 
227
 
213
     //院内外项目数量及金额
228
     //院内外项目数量及金额
214
-    public void getProjectSourceStatistic(CmcContract cmcContract, JSONObject sourceObject, JSONObject cwAmountObject) {
229
+    public void getProjectSourceStatistic(CmcContract cmcContract, JSONObject sourceObject, JSONObject cwAmountObject, JSONObject paidCwAmountObject) {
215
         cmcContract.setProjectSource("1");
230
         cmcContract.setProjectSource("1");
216
         List<CmcContract> sourceList = cmcContractService.selectCmcContractList(cmcContract);
231
         List<CmcContract> sourceList = cmcContractService.selectCmcContractList(cmcContract);
217
         BigDecimal cAmount = new BigDecimal(0);
232
         BigDecimal cAmount = new BigDecimal(0);
218
         BigDecimal wAmount = new BigDecimal(0);
233
         BigDecimal wAmount = new BigDecimal(0);
234
+        BigDecimal paidCAmount = new BigDecimal(0);
235
+        BigDecimal paidWAmount = new BigDecimal(0);
219
         for (CmcContract contract : sourceList) {
236
         for (CmcContract contract : sourceList) {
220
             if(contract.getAmount() != null)
237
             if(contract.getAmount() != null)
221
                 wAmount = wAmount.add(contract.getAmount());
238
                 wAmount = wAmount.add(contract.getAmount());
239
+            if(contract.getPaidAmount() != null)
240
+                paidWAmount = paidWAmount.add(contract.getPaidAmount());
222
         }
241
         }
223
         sourceObject.put("院外项目", sourceList.size());
242
         sourceObject.put("院外项目", sourceList.size());
224
         cwAmountObject.put("院外项目承接金额", wAmount);
243
         cwAmountObject.put("院外项目承接金额", wAmount);
244
+        paidCwAmountObject.put("院外项目回款金额", paidWAmount);
225
         cmcContract.setProjectSource("0");
245
         cmcContract.setProjectSource("0");
226
         sourceList = cmcContractService.selectCmcContractList(cmcContract);
246
         sourceList = cmcContractService.selectCmcContractList(cmcContract);
227
         for (CmcContract contract : sourceList) {
247
         for (CmcContract contract : sourceList) {
228
             if(contract.getAmount() != null)
248
             if(contract.getAmount() != null)
229
                 cAmount = cAmount.add(contract.getAmount());
249
                 cAmount = cAmount.add(contract.getAmount());
250
+            if(contract.getPaidAmount() != null)
251
+                paidCAmount = paidCAmount.add(contract.getPaidAmount());
230
         }
252
         }
231
         sourceObject.put("院内项目", sourceList.size());
253
         sourceObject.put("院内项目", sourceList.size());
232
         cwAmountObject.put("院内项目承接金额", cAmount);
254
         cwAmountObject.put("院内项目承接金额", cAmount);
255
+        paidCwAmountObject.put("院内项目回款金额", paidCAmount);
233
         cmcContract.setProjectSource(null);
256
         cmcContract.setProjectSource(null);
234
     }
257
     }
235
 
258
 

+ 26
- 2
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcSubContractController.java 파일 보기

92
         JSONObject amountObject = new JSONObject();
92
         JSONObject amountObject = new JSONObject();
93
         JSONArray cwAmountArray = new JSONArray();
93
         JSONArray cwAmountArray = new JSONArray();
94
         JSONObject cwAmountObject = new JSONObject();
94
         JSONObject cwAmountObject = new JSONObject();
95
+        JSONArray paidAmountArray = new JSONArray();
96
+        JSONObject paidAmountObject = new JSONObject();
97
+        JSONArray paidCwAmountArray = new JSONArray();
98
+        JSONObject paidCwAmountObject = new JSONObject();
95
         //每年合同数量及金额
99
         //每年合同数量及金额
96
         if (cmcSubContract.getSignDate() == null) {
100
         if (cmcSubContract.getSignDate() == null) {
97
             for (int i = 2019; i <= Calendar.getInstance().get(Calendar.YEAR); i++) {
101
             for (int i = 2019; i <= Calendar.getInstance().get(Calendar.YEAR); i++) {
99
                 List<CmcSubContract> yearList = cmcSubContractService.selectCmcSubContractList(cmcSubContract);
103
                 List<CmcSubContract> yearList = cmcSubContractService.selectCmcSubContractList(cmcSubContract);
100
                 yearObject.put(String.valueOf(i), yearList.size());
104
                 yearObject.put(String.valueOf(i), yearList.size());
101
                 BigDecimal amount = new BigDecimal(0);
105
                 BigDecimal amount = new BigDecimal(0);
106
+                BigDecimal paidAmount = new BigDecimal(0);
102
                 for (CmcSubContract subContract : yearList) {
107
                 for (CmcSubContract subContract : yearList) {
103
                     if (subContract.getSubAmount() != null)
108
                     if (subContract.getSubAmount() != null)
104
                         amount = amount.add(subContract.getSubAmount());
109
                         amount = amount.add(subContract.getSubAmount());
110
+                    if (subContract.getPaidAmount() != null)
111
+                        paidAmount = paidAmount.add(subContract.getPaidAmount());
105
                 }
112
                 }
106
                 amountObject.put(String.valueOf(i), amount);
113
                 amountObject.put(String.valueOf(i), amount);
114
+                paidAmountObject.put(String.valueOf(i), paidAmount);
107
             }
115
             }
108
             cmcSubContract.setSignDate(null);
116
             cmcSubContract.setSignDate(null);
109
         }
117
         }
111
             //输入年份合同数量及金额
119
             //输入年份合同数量及金额
112
             yearObject.put(new SimpleDateFormat("yyyy").format(cmcSubContract.getSignDate()), cmcSubContractService.selectCmcSubContractList(cmcSubContract).size());
120
             yearObject.put(new SimpleDateFormat("yyyy").format(cmcSubContract.getSignDate()), cmcSubContractService.selectCmcSubContractList(cmcSubContract).size());
113
             BigDecimal amount = new BigDecimal(0);
121
             BigDecimal amount = new BigDecimal(0);
122
+            BigDecimal paidAmount = new BigDecimal(0);
114
             for (CmcSubContract subContract : cmcSubContractService.selectCmcSubContractList(cmcSubContract)) {
123
             for (CmcSubContract subContract : cmcSubContractService.selectCmcSubContractList(cmcSubContract)) {
115
                 if (subContract.getSubAmount() != null)
124
                 if (subContract.getSubAmount() != null)
116
                     amount = amount.add(subContract.getSubAmount());
125
                     amount = amount.add(subContract.getSubAmount());
126
+                if (subContract.getPaidAmount() != null)
127
+                    paidAmount = paidAmount.add(subContract.getPaidAmount());
117
             }
128
             }
118
             amountObject.put(new SimpleDateFormat("yyyy").format(cmcSubContract.getSignDate()), amount);
129
             amountObject.put(new SimpleDateFormat("yyyy").format(cmcSubContract.getSignDate()), amount);
130
+            paidAmountObject.put(new SimpleDateFormat("yyyy").format(cmcSubContract.getSignDate()), paidAmount);
119
         }
131
         }
120
-        getProjectSourceStatistic(cmcSubContract, sourceObject, cwAmountObject);
132
+        getProjectSourceStatistic(cmcSubContract, sourceObject, cwAmountObject, paidCwAmountObject);
121
         yearArray.add(yearObject);
133
         yearArray.add(yearObject);
122
         sourceArray.add(sourceObject);
134
         sourceArray.add(sourceObject);
123
         amountArray.add(amountObject);
135
         amountArray.add(amountObject);
124
         cwAmountArray.add(cwAmountObject);
136
         cwAmountArray.add(cwAmountObject);
137
+        paidAmountArray.add(paidAmountObject);
138
+        paidCwAmountArray.add(paidCwAmountObject);
125
         jsonObject.put("year", yearArray);
139
         jsonObject.put("year", yearArray);
126
         jsonObject.put("source", sourceArray);
140
         jsonObject.put("source", sourceArray);
127
         jsonObject.put("amount", amountArray);
141
         jsonObject.put("amount", amountArray);
128
         jsonObject.put("cwAmount", cwAmountArray);
142
         jsonObject.put("cwAmount", cwAmountArray);
143
+        jsonObject.put("paidAmount", paidAmountArray);
144
+        jsonObject.put("paidCwAmount", paidCwAmountArray);
129
         return success(jsonObject);
145
         return success(jsonObject);
130
     }
146
     }
131
 
147
 
160
     }
176
     }
161
 
177
 
162
     //院内外项目数量及金额
178
     //院内外项目数量及金额
163
-    public void getProjectSourceStatistic(CmcSubContract cmcSubContract, JSONObject sourceObject, JSONObject cwAmountObject) {
179
+    public void getProjectSourceStatistic(CmcSubContract cmcSubContract, JSONObject sourceObject, JSONObject cwAmountObject, JSONObject paidCwAmountObject) {
164
         cmcSubContract.setProjectSource("1");
180
         cmcSubContract.setProjectSource("1");
165
         List<CmcSubContract> sourceList = cmcSubContractService.selectCmcSubContractList(cmcSubContract);
181
         List<CmcSubContract> sourceList = cmcSubContractService.selectCmcSubContractList(cmcSubContract);
166
         BigDecimal cAmount = new BigDecimal(0);
182
         BigDecimal cAmount = new BigDecimal(0);
167
         BigDecimal wAmount = new BigDecimal(0);
183
         BigDecimal wAmount = new BigDecimal(0);
184
+        BigDecimal paidCAmount = new BigDecimal(0);
185
+        BigDecimal paidWAmount = new BigDecimal(0);
168
         for (CmcSubContract subContract : sourceList) {
186
         for (CmcSubContract subContract : sourceList) {
169
             if(subContract.getSubAmount() != null)
187
             if(subContract.getSubAmount() != null)
170
                 wAmount = wAmount.add(subContract.getSubAmount());
188
                 wAmount = wAmount.add(subContract.getSubAmount());
189
+            if(subContract.getPaidAmount() != null)
190
+                paidWAmount = paidWAmount.add(subContract.getPaidAmount());
171
         }
191
         }
172
         sourceObject.put("院外项目", sourceList.size());
192
         sourceObject.put("院外项目", sourceList.size());
173
         cwAmountObject.put("院外项目分包金额", wAmount);
193
         cwAmountObject.put("院外项目分包金额", wAmount);
194
+        paidCwAmountObject.put("院外项目付款金额", paidWAmount);
174
         cmcSubContract.setProjectSource("0");
195
         cmcSubContract.setProjectSource("0");
175
         sourceList = cmcSubContractService.selectCmcSubContractList(cmcSubContract);
196
         sourceList = cmcSubContractService.selectCmcSubContractList(cmcSubContract);
176
         for (CmcSubContract subContract : sourceList) {
197
         for (CmcSubContract subContract : sourceList) {
177
             if(subContract.getSubAmount() != null)
198
             if(subContract.getSubAmount() != null)
178
                 cAmount = cAmount.add(subContract.getSubAmount());
199
                 cAmount = cAmount.add(subContract.getSubAmount());
200
+            if(subContract.getPaidAmount() != null)
201
+                paidCAmount = paidCAmount.add(subContract.getPaidAmount());
179
         }
202
         }
180
         sourceObject.put("院内项目", sourceList.size());
203
         sourceObject.put("院内项目", sourceList.size());
181
         cwAmountObject.put("院内项目分包金额", cAmount);
204
         cwAmountObject.put("院内项目分包金额", cAmount);
205
+        paidCwAmountObject.put("院内项目付款金额", paidCAmount);
182
         cmcSubContract.setProjectSource(null);
206
         cmcSubContract.setProjectSource(null);
183
     }
207
     }
184
 
208
 

+ 13
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/domain/CmcContract.java 파일 보기

56
     @Excel(name = "合同金额")
56
     @Excel(name = "合同金额")
57
     private BigDecimal amount;
57
     private BigDecimal amount;
58
 
58
 
59
+    /** 实际回款金额 */
60
+    @Excel(name = "实际回款金额")
61
+    private BigDecimal paidAmount;
62
+
59
     /** 履约保证金 */
63
     /** 履约保证金 */
60
     @Excel(name = "履约保证金")
64
     @Excel(name = "履约保证金")
61
     private BigDecimal deposit;
65
     private BigDecimal deposit;
265
     {
269
     {
266
         return amount;
270
         return amount;
267
     }
271
     }
272
+    public void setPaidAmount(BigDecimal paidAmount)
273
+    {
274
+        this.paidAmount = paidAmount;
275
+    }
276
+
277
+    public BigDecimal getPaidAmount()
278
+    {
279
+        return paidAmount;
280
+    }
268
     public void setDeposit(BigDecimal deposit)
281
     public void setDeposit(BigDecimal deposit)
269
     {
282
     {
270
         this.deposit = deposit;
283
         this.deposit = deposit;

+ 4
- 3
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/domain/CmcContractPaid.java 파일 보기

1
 package com.ruoyi.oa.domain;
1
 package com.ruoyi.oa.domain;
2
 
2
 
3
+import java.math.BigDecimal;
3
 import java.util.Date;
4
 import java.util.Date;
4
 import com.fasterxml.jackson.annotation.JsonFormat;
5
 import com.fasterxml.jackson.annotation.JsonFormat;
5
 import org.apache.commons.lang3.builder.ToStringBuilder;
6
 import org.apache.commons.lang3.builder.ToStringBuilder;
30
 
31
 
31
     /** 实际回款金额 */
32
     /** 实际回款金额 */
32
     @Excel(name = "实际回款金额")
33
     @Excel(name = "实际回款金额")
33
-    private String paidAmount;
34
+    private BigDecimal paidAmount;
34
 
35
 
35
     /** 实际回款时间 */
36
     /** 实际回款时间 */
36
     @JsonFormat(pattern = "yyyy-MM-dd")
37
     @JsonFormat(pattern = "yyyy-MM-dd")
64
     {
65
     {
65
         return paidPercentage;
66
         return paidPercentage;
66
     }
67
     }
67
-    public void setPaidAmount(String paidAmount) 
68
+    public void setPaidAmount(BigDecimal paidAmount)
68
     {
69
     {
69
         this.paidAmount = paidAmount;
70
         this.paidAmount = paidAmount;
70
     }
71
     }
71
 
72
 
72
-    public String getPaidAmount() 
73
+    public BigDecimal getPaidAmount()
73
     {
74
     {
74
         return paidAmount;
75
         return paidAmount;
75
     }
76
     }

+ 13
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/domain/CmcSubContract.java 파일 보기

30
     @Excel(name = "分包合同金额")
30
     @Excel(name = "分包合同金额")
31
     private BigDecimal subAmount;
31
     private BigDecimal subAmount;
32
 
32
 
33
+    /** 实际付款金额 */
34
+    @Excel(name = "实际付款金额")
35
+    private BigDecimal paidAmount;
36
+
33
     /** 项目id */
37
     /** 项目id */
34
     @Excel(name = "项目编号")
38
     @Excel(name = "项目编号")
35
     private String projectNumber;
39
     private String projectNumber;
166
     {
170
     {
167
         return subAmount;
171
         return subAmount;
168
     }
172
     }
173
+    public void setPaidAmount(BigDecimal paidAmount)
174
+    {
175
+        this.paidAmount = paidAmount;
176
+    }
177
+
178
+    public BigDecimal getPaidAmount()
179
+    {
180
+        return paidAmount;
181
+    }
169
     public void setPartnerId(String partnerId)
182
     public void setPartnerId(String partnerId)
170
     {
183
     {
171
         this.partnerId = partnerId;
184
         this.partnerId = partnerId;

+ 9
- 1
oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcContractMapper.xml 파일 보기

16
         <result property="budgetAmount"    column="budget_amount"    />
16
         <result property="budgetAmount"    column="budget_amount"    />
17
         <result property="borrowAmount"    column="borrow_amount"    />
17
         <result property="borrowAmount"    column="borrow_amount"    />
18
         <result property="settleAmount"    column="settle_amount"    />
18
         <result property="settleAmount"    column="settle_amount"    />
19
+        <result property="paidAmount"    column="paid_amount"    />
19
         <result property="deposit"    column="deposit"    />
20
         <result property="deposit"    column="deposit"    />
20
         <result property="contractDocument"    column="contract_document"    />
21
         <result property="contractDocument"    column="contract_document"    />
21
         <result property="drafter"    column="drafter"    />
22
         <result property="drafter"    column="drafter"    />
74
 
75
 
75
     <sql id="selectCmcContractVo">
76
     <sql id="selectCmcContractVo">
76
         select distinct c.contract_id, c.contract_code, c.contract_name, c.contract_number, c.tender_id, t.project_name as t_project_name, p.project_number, p.project_name,
77
         select distinct c.contract_id, c.contract_code, c.contract_name, c.contract_number, c.tender_id, t.project_name as t_project_name, p.project_number, p.project_name,
77
-               p.project_source, c.party_a_id, pa.party_a_name, t.a_person as a_person, t.a_phone as a_phone, t.agent as agent, t.agent_person as agent_person,
78
+               p.project_source, c.party_a_id, pa.party_a_name, t.a_person as a_person, t.a_phone as a_phone, t.agent as agent, t.agent_person as agent_person, sum(cp.paid_amount) as paid_amount,
78
                t.agent_phone as agent_phone, c.amount, c.deposit, c.contract_document, c.drafter, u.nick_name as draft_nick_name, c.draft_time, c.remark, c.sign_date, c.sign_remark, c.sign_scan,
79
                t.agent_phone as agent_phone, c.amount, c.deposit, c.contract_document, c.drafter, u.nick_name as draft_nick_name, c.draft_time, c.remark, c.sign_date, c.sign_remark, c.sign_scan,
79
                c.comment_type, c.manager_comment, c.manager_user_id, u1.nick_name as manager_nick_name, c.manager_time, c.gm_user_id, u2.nick_name as gm_nick_name, c.gm_time, c.gm_comment from cmc_contract as c
80
                c.comment_type, c.manager_comment, c.manager_user_id, u1.nick_name as manager_nick_name, c.manager_time, c.gm_user_id, u2.nick_name as gm_nick_name, c.gm_time, c.gm_comment from cmc_contract as c
80
         left join sys_user as u on u.user_id = c.drafter
81
         left join sys_user as u on u.user_id = c.drafter
84
         left join cmc_party_a as pa on pa.party_a_id = c.party_a_id
85
         left join cmc_party_a as pa on pa.party_a_id = c.party_a_id
85
         left join cmc_project_contract as pc on pc.contract_id = c.contract_id
86
         left join cmc_project_contract as pc on pc.contract_id = c.contract_id
86
         left join cmc_project as p on pc.project_id = p.project_id
87
         left join cmc_project as p on pc.project_id = p.project_id
88
+        left join cmc_contract_paid as cp on cp.contract_id = c.contract_id
87
     </sql>
89
     </sql>
88
 
90
 
89
     <select id="selectCmcContractList" parameterType="CmcContract" resultMap="CmcContractResult">
91
     <select id="selectCmcContractList" parameterType="CmcContract" resultMap="CmcContractResult">
107
             <if test="projectSource != null  and projectSource != ''"> and p.project_source = #{projectSource}</if>
109
             <if test="projectSource != null  and projectSource != ''"> and p.project_source = #{projectSource}</if>
108
             <if test="projectName != null  and projectName != ''"> and p.project_name like concat('%', #{projectName}, '%')</if>
110
             <if test="projectName != null  and projectName != ''"> and p.project_name like concat('%', #{projectName}, '%')</if>
109
             <if test="partyAName != null  and partyAName != ''"> and pa.party_a_name like concat('%', #{partyAName}, '%')</if>
111
             <if test="partyAName != null  and partyAName != ''"> and pa.party_a_name like concat('%', #{partyAName}, '%')</if>
112
+            <if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 -->
113
+                and date_format(c.sign_date,'%y%m%d') &gt;= date_format(#{params.beginTime},'%y%m%d')
114
+            </if>
115
+            <if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 -->
116
+                and date_format(c.sign_date,'%y%m%d') &lt;= date_format(#{params.endTime},'%y%m%d')
117
+            </if>
110
         </where>
118
         </where>
111
         group by c.contract_id
119
         group by c.contract_id
112
         order by c.draft_time desc
120
         order by c.draft_time desc

+ 1
- 1
oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcContractPaidMapper.xml 파일 보기

22
         <where>  
22
         <where>  
23
             <if test="contractId != null  and contractId != ''"> and contract_id = #{contractId}</if>
23
             <if test="contractId != null  and contractId != ''"> and contract_id = #{contractId}</if>
24
             <if test="paidPercentage != null  and paidPercentage != ''"> and paid_percentage = #{paidPercentage}</if>
24
             <if test="paidPercentage != null  and paidPercentage != ''"> and paid_percentage = #{paidPercentage}</if>
25
-            <if test="paidAmount != null  and paidAmount != ''"> and paid_amount = #{paidAmount}</if>
25
+            <if test="paidAmount != null"> and paid_amount = #{paidAmount}</if>
26
             <if test="paidTime != null "> and paid_time = #{paidTime}</if>
26
             <if test="paidTime != null "> and paid_time = #{paidTime}</if>
27
         </where>
27
         </where>
28
     </select>
28
     </select>

+ 9
- 1
oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcSubContractMapper.xml 파일 보기

8
         <result property="subContractId"    column="sub_contract_id"    />
8
         <result property="subContractId"    column="sub_contract_id"    />
9
         <result property="subContractName"    column="sub_contract_name"    />
9
         <result property="subContractName"    column="sub_contract_name"    />
10
         <result property="subAmount"    column="sub_amount"    />
10
         <result property="subAmount"    column="sub_amount"    />
11
+        <result property="paidAmount"    column="paid_amount"    />
11
         <result property="partnerId"    column="partner_id"    />
12
         <result property="partnerId"    column="partner_id"    />
12
         <result property="contactPerson"    column="contact_person"    />
13
         <result property="contactPerson"    column="contact_person"    />
13
         <result property="telephone"    column="telephone"    />
14
         <result property="telephone"    column="telephone"    />
60
     </resultMap>
61
     </resultMap>
61
 
62
 
62
     <sql id="selectCmcSubContractVo">
63
     <sql id="selectCmcSubContractVo">
63
-        select distinct sc.sub_contract_id, sc.sub_contract_name, sc.sub_amount, sc.partner_id, pa.partner_name, sc.contact_person, sc.telephone, sc.contract_document, sc.drafter,
64
+        select distinct sc.sub_contract_id, sc.sub_contract_name, sc.sub_amount, sc.partner_id, pa.partner_name, sc.contact_person, sc.telephone, sc.contract_document, sc.drafter, sum(cp.paid_amount) as paid_amount,
64
                p.project_number, p.project_name, p.project_source,u.nick_name as draft_nick_name, sc.draft_time, sc.remark, sc.sign_date, sc.sign_remark, sc.sign_scan, sc.comment_type, sc.manager_comment,
65
                p.project_number, p.project_name, p.project_source,u.nick_name as draft_nick_name, sc.draft_time, sc.remark, sc.sign_date, sc.sign_remark, sc.sign_scan, sc.comment_type, sc.manager_comment,
65
                sc.manager_user_id, u1.nick_name as manager_nick_name, sc.manager_time, sc.gm_user_id, u2.nick_name as gm_nick_name, sc.gm_time, sc.gm_comment from cmc_sub_contract as sc
66
                sc.manager_user_id, u1.nick_name as manager_nick_name, sc.manager_time, sc.gm_user_id, u2.nick_name as gm_nick_name, sc.gm_time, sc.gm_comment from cmc_sub_contract as sc
66
         left join sys_user as u on u.user_id = sc.drafter
67
         left join sys_user as u on u.user_id = sc.drafter
69
         left join cmc_partner as pa on pa.partner_id = sc.partner_id
70
         left join cmc_partner as pa on pa.partner_id = sc.partner_id
70
         left join cmc_project_sub_contract as psc on psc.sub_contract_id = sc.sub_contract_id
71
         left join cmc_project_sub_contract as psc on psc.sub_contract_id = sc.sub_contract_id
71
         left join cmc_project as p on psc.project_id = p.project_id
72
         left join cmc_project as p on psc.project_id = p.project_id
73
+        left join cmc_contract_paid as cp on cp.contract_id = sc.sub_contract_id
72
     </sql>
74
     </sql>
73
 
75
 
74
     <select id="selectCmcSubContractList" parameterType="CmcSubContract" resultMap="CmcSubContractResult">
76
     <select id="selectCmcSubContractList" parameterType="CmcSubContract" resultMap="CmcSubContractResult">
87
             <if test="signScan != null  and signScan != ''"> and sc.sign_scan = #{signScan}</if>
89
             <if test="signScan != null  and signScan != ''"> and sc.sign_scan = #{signScan}</if>
88
             <if test="commentType != null  and commentType != ''"> and sc.comment_type = #{commentType}</if>
90
             <if test="commentType != null  and commentType != ''"> and sc.comment_type = #{commentType}</if>
89
             <if test="projectSource != null  and projectSource != ''"> and p.project_source = #{projectSource}</if>
91
             <if test="projectSource != null  and projectSource != ''"> and p.project_source = #{projectSource}</if>
92
+            <if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 -->
93
+                and date_format(sc.sign_date,'%y%m%d') &gt;= date_format(#{params.beginTime},'%y%m%d')
94
+            </if>
95
+            <if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 -->
96
+                and date_format(sc.sign_date,'%y%m%d') &lt;= date_format(#{params.endTime},'%y%m%d')
97
+            </if>
90
         </where>
98
         </where>
91
         group by sc.sub_contract_id
99
         group by sc.sub_contract_id
92
         order by sc.draft_time desc
100
         order by sc.draft_time desc

Loading…
취소
저장