|
@@ -3,17 +3,15 @@ package com.ruoyi.web.controller.oa;
|
3
|
3
|
import java.math.BigDecimal;
|
4
|
4
|
import java.text.ParseException;
|
5
|
5
|
import java.text.SimpleDateFormat;
|
6
|
|
-import java.util.Calendar;
|
7
|
|
-import java.util.Date;
|
8
|
|
-import java.util.List;
|
|
6
|
+import java.util.*;
|
9
|
7
|
import javax.servlet.http.HttpServletResponse;
|
10
|
8
|
|
11
|
9
|
import com.alibaba.fastjson2.JSONArray;
|
12
|
10
|
import com.alibaba.fastjson2.JSONObject;
|
|
11
|
+import com.ruoyi.common.utils.DateUtils;
|
13
|
12
|
import com.ruoyi.common.utils.SnowFlake;
|
|
13
|
+import com.ruoyi.oa.domain.*;
|
14
|
14
|
import com.ruoyi.oa.domain.CmcSubContract;
|
15
|
|
-import com.ruoyi.oa.domain.CmcSubContract;
|
16
|
|
-import com.ruoyi.oa.domain.CmcPartner;
|
17
|
15
|
import com.ruoyi.oa.service.ICmcPartnerService;
|
18
|
16
|
import org.springframework.beans.factory.annotation.Autowired;
|
19
|
17
|
import org.springframework.web.bind.annotation.GetMapping;
|
|
@@ -84,82 +82,176 @@ public class CmcSubContractController extends BaseController
|
84
|
82
|
@GetMapping("/statistic")
|
85
|
83
|
public AjaxResult getSubContractStatistic(CmcSubContract cmcSubContract) throws ParseException {
|
86
|
84
|
JSONObject jsonObject = new JSONObject();
|
87
|
|
- JSONArray yearArray = new JSONArray();
|
88
|
|
- JSONObject yearObject = new JSONObject();
|
89
|
|
- JSONArray sourceArray = new JSONArray();
|
90
|
|
- JSONObject sourceObject = new JSONObject();
|
91
|
|
- JSONArray amountArray = new JSONArray();
|
92
|
|
- JSONObject amountObject = new JSONObject();
|
93
|
|
- JSONArray cwAmountArray = new JSONArray();
|
94
|
|
- JSONObject cwAmountObject = new JSONObject();
|
95
|
|
- JSONArray paidYearArray = new JSONArray();
|
96
|
|
- JSONObject paidYearObject = new JSONObject();
|
97
|
|
- JSONArray paidSourceArray = new JSONArray();
|
98
|
|
- JSONObject paidSourceObject = new JSONObject();
|
99
|
|
- JSONArray paidAmountArray = new JSONArray();
|
100
|
|
- JSONObject paidAmountObject = new JSONObject();
|
101
|
|
- JSONArray paidCwAmountArray = new JSONArray();
|
102
|
|
- JSONObject paidCwAmountObject = new JSONObject();
|
|
85
|
+ JSONArray yearCountArray = new JSONArray();
|
|
86
|
+ JSONObject yearCountObject = new JSONObject();
|
|
87
|
+ JSONArray monthCountArray = new JSONArray();
|
|
88
|
+ JSONObject monthCountObject = new JSONObject();
|
|
89
|
+ JSONArray sourceCountArray = new JSONArray();
|
|
90
|
+ JSONObject sourceCountObject = new JSONObject();
|
|
91
|
+ JSONArray yearAmountArray = new JSONArray();
|
|
92
|
+ JSONObject yearAmountObject = new JSONObject();
|
|
93
|
+ JSONArray monthAmountArray = new JSONArray();
|
|
94
|
+ JSONObject monthAmountObject = new JSONObject();
|
|
95
|
+ JSONArray sourceAmountArray = new JSONArray();
|
|
96
|
+ JSONObject sourceAmountObject = new JSONObject();
|
|
97
|
+ JSONArray paidYearCountArray = new JSONArray();
|
|
98
|
+ JSONObject paidYearCountObject = new JSONObject();
|
|
99
|
+ JSONArray paidMonthCountArray = new JSONArray();
|
|
100
|
+ JSONObject paidMonthCountObject = new JSONObject();
|
|
101
|
+ JSONArray paidSourceCountArray = new JSONArray();
|
|
102
|
+ JSONObject paidSourceCountObject = new JSONObject();
|
|
103
|
+ JSONArray paidYearAmountArray = new JSONArray();
|
|
104
|
+ JSONObject paidYearAmountObject = new JSONObject();
|
|
105
|
+ JSONArray paidMonthAmountArray = new JSONArray();
|
|
106
|
+ JSONObject paidMonthAmountObject = new JSONObject();
|
|
107
|
+ JSONArray paidSourceAmountArray = new JSONArray();
|
|
108
|
+ JSONObject paidSourceAmountObject = new JSONObject();
|
|
109
|
+ int yearCount = 0;
|
|
110
|
+ int paidYearCount = 0;
|
|
111
|
+ BigDecimal yearAmount = new BigDecimal(0);
|
|
112
|
+ BigDecimal paidYearAmount = new BigDecimal(0);
|
103
|
113
|
//每年合同数量及金额
|
104
|
114
|
if (cmcSubContract.getSignDate() == null) {
|
105
|
|
- for (int i = 2019; i <= Calendar.getInstance().get(Calendar.YEAR); i++) {
|
106
|
|
- cmcSubContract.setSignDate(new SimpleDateFormat("yyyy").parse(String.valueOf(i)));
|
107
|
|
- List<CmcSubContract> yearList = cmcSubContractService.selectCmcSubContractList(cmcSubContract);
|
108
|
|
- yearObject.put(String.valueOf(i), yearList.size());
|
109
|
|
- int count = 0;
|
110
|
|
- BigDecimal amount = new BigDecimal(0);
|
111
|
|
- BigDecimal paidAmount = new BigDecimal(0);
|
112
|
|
- for (CmcSubContract subContract : yearList) {
|
113
|
|
- if (subContract.getSubAmount() != null)
|
114
|
|
- amount = amount.add(subContract.getSubAmount());
|
115
|
|
- if (subContract.getPaidAmount() != null) {
|
116
|
|
- paidAmount = paidAmount.add(subContract.getPaidAmount());
|
117
|
|
- if (subContract.getPaidAmount().compareTo(subContract.getSubAmount()) >= 0)
|
118
|
|
- count ++;
|
|
115
|
+ if (cmcSubContract.getParams().size() == 0) {
|
|
116
|
+ for (int i = 2019; i <= Calendar.getInstance().get(Calendar.YEAR); i++) {
|
|
117
|
+ cmcSubContract.setSignDate(new SimpleDateFormat("yyyy").parse(String.valueOf(i)));
|
|
118
|
+ List<CmcSubContract> yearContractList = cmcSubContractService.selectCmcSubContractList(cmcSubContract);
|
|
119
|
+ int yearCountI = yearContractList.size();
|
|
120
|
+ int paidYearCountI = 0;
|
|
121
|
+ BigDecimal yearAmountI = new BigDecimal(0);
|
|
122
|
+ BigDecimal paidAmountI = new BigDecimal(0);
|
|
123
|
+ for (CmcSubContract contract : yearContractList) {
|
|
124
|
+ if (contract.getSubAmount() != null) {
|
|
125
|
+ yearAmountI = yearAmountI.add(contract.getSubAmount());
|
|
126
|
+ if (contract.getPaidAmount() != null) {
|
|
127
|
+ paidAmountI = paidAmountI.add(contract.getPaidAmount());
|
|
128
|
+ if (contract.getPaidAmount().compareTo(contract.getSubAmount()) >= 0)
|
|
129
|
+ paidYearCountI++;
|
|
130
|
+ }
|
|
131
|
+ }
|
|
132
|
+ }
|
|
133
|
+ yearCount += yearCountI;
|
|
134
|
+ paidYearCount += paidYearCountI;
|
|
135
|
+ yearAmount = yearAmount.add(yearAmountI);
|
|
136
|
+ paidYearAmount = paidYearAmount.add(paidAmountI);
|
|
137
|
+ yearCountObject.put(String.valueOf(i), yearCountI);
|
|
138
|
+ paidYearCountObject.put(String.valueOf(i), paidYearCountI);
|
|
139
|
+ yearAmountObject.put(String.valueOf(i), yearAmountI);
|
|
140
|
+ paidYearAmountObject.put(String.valueOf(i), paidAmountI);
|
|
141
|
+ }
|
|
142
|
+ }
|
|
143
|
+ else {
|
|
144
|
+ String beginTime = (String) cmcSubContract.getParams().get("beginTime");
|
|
145
|
+ String endTime = (String) cmcSubContract.getParams().get("endTime");
|
|
146
|
+ List<String> monthList = DateUtils.getMonthBetweenDate(beginTime, endTime);
|
|
147
|
+ for (int i = 0; i < monthList.size(); i++) {
|
|
148
|
+ String beginTimeString = monthList.get(i) + "-01";
|
|
149
|
+ Calendar calendar = Calendar.getInstance();
|
|
150
|
+ calendar.set(Calendar.YEAR, Integer.parseInt(monthList.get(i).split("-")[0]));
|
|
151
|
+ calendar.set(Calendar.MONTH, Integer.parseInt(monthList.get(i).split("-")[1]) - 1);
|
|
152
|
+ String endTimeString = monthList.get(i) + "-" + calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
|
|
153
|
+ cmcSubContract.setSignDate(new SimpleDateFormat("yyyy").parse(beginTimeString));
|
|
154
|
+ Map<String, Object> params = new HashMap<>();
|
|
155
|
+ params.put("beginTime", beginTimeString + " 00:00:00");
|
|
156
|
+ params.put("endTime", endTimeString + " 23:59:59");
|
|
157
|
+ cmcSubContract.setParams(params);
|
|
158
|
+ List<CmcSubContract> monthContractList = cmcSubContractService.selectCmcSubContractListByRange(cmcSubContract);
|
|
159
|
+ int monthCount = monthContractList.size();
|
|
160
|
+ int paidMonthCount = 0;
|
|
161
|
+ BigDecimal monthAmount = new BigDecimal(0);
|
|
162
|
+ BigDecimal paidMonthAmount = new BigDecimal(0);
|
|
163
|
+ for (CmcSubContract contract : monthContractList) {
|
|
164
|
+ if (contract.getSubAmount() != null) {
|
|
165
|
+ monthAmount = monthAmount.add(contract.getSubAmount());
|
|
166
|
+ if (contract.getPaidAmount() != null) {
|
|
167
|
+ paidMonthAmount = paidYearAmount.add(contract.getPaidAmount());
|
|
168
|
+ if (contract.getPaidAmount().compareTo(contract.getSubAmount()) >= 0)
|
|
169
|
+ paidMonthCount++;
|
|
170
|
+ }
|
|
171
|
+ }
|
119
|
172
|
}
|
|
173
|
+ monthCountObject.put(monthList.get(i), monthCount);
|
|
174
|
+ monthAmountObject.put(monthList.get(i),monthAmount);
|
|
175
|
+ paidMonthCountObject.put(monthList.get(i), paidMonthCount);
|
|
176
|
+ paidMonthAmountObject.put(monthList.get(i), paidMonthAmount);
|
120
|
177
|
}
|
121
|
|
- paidYearObject.put(String.valueOf(i), count);
|
122
|
|
- amountObject.put(String.valueOf(i), amount);
|
123
|
|
- paidAmountObject.put(String.valueOf(i), paidAmount);
|
124
|
178
|
}
|
125
|
179
|
cmcSubContract.setSignDate(null);
|
126
|
180
|
}
|
127
|
|
- else {
|
|
181
|
+ else if (cmcSubContract.getSignDate() != null) {
|
128
|
182
|
//输入年份合同数量及金额
|
129
|
|
- yearObject.put(new SimpleDateFormat("yyyy").format(cmcSubContract.getSignDate()), cmcSubContractService.selectCmcSubContractList(cmcSubContract).size());
|
130
|
|
- int count = 0;
|
131
|
|
- BigDecimal amount = new BigDecimal(0);
|
132
|
|
- BigDecimal paidAmount = new BigDecimal(0);
|
133
|
|
- for (CmcSubContract subContract : cmcSubContractService.selectCmcSubContractList(cmcSubContract)) {
|
134
|
|
- if (subContract.getSubAmount() != null)
|
135
|
|
- amount = amount.add(subContract.getSubAmount());
|
136
|
|
- if (subContract.getPaidAmount() != null) {
|
137
|
|
- paidAmount = paidAmount.add(subContract.getPaidAmount());
|
138
|
|
- if (subContract.getPaidAmount().compareTo(subContract.getSubAmount()) >= 0)
|
139
|
|
- count ++;
|
|
183
|
+ yearCount = cmcSubContractService.selectCmcSubContractList(cmcSubContract).size();
|
|
184
|
+ yearCountObject.put(new SimpleDateFormat("yyyy").format(cmcSubContract.getSignDate()), yearCount);
|
|
185
|
+ for (int i = 1; i <= 12; i++) {
|
|
186
|
+ String month = i < 10 ? "0" + i : String.valueOf(i);
|
|
187
|
+ String beginTimeString = new SimpleDateFormat("yyyy").format(cmcSubContract.getSignDate()) + "-" + month + "-01";
|
|
188
|
+ Calendar calendar = Calendar.getInstance();
|
|
189
|
+ calendar.set(Calendar.YEAR, Integer.parseInt(new SimpleDateFormat("yyyy").format(cmcSubContract.getSignDate())));
|
|
190
|
+ calendar.set(Calendar.MONTH, i - 1);
|
|
191
|
+ String endTimeString = new SimpleDateFormat("yyyy").format(cmcSubContract.getSignDate()) + "-" + month + "-" + calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
|
|
192
|
+ cmcSubContract.setSignDate(new SimpleDateFormat("yyyy").parse(beginTimeString));
|
|
193
|
+ Map<String, Object> params = new HashMap<>();
|
|
194
|
+ params.put("beginTime", beginTimeString + " 00:00:00");
|
|
195
|
+ params.put("endTime", endTimeString + " 23:59:59");
|
|
196
|
+ cmcSubContract.setParams(params);
|
|
197
|
+ List<CmcSubContract> monthContractList = cmcSubContractService.selectCmcSubContractListByRange(cmcSubContract);
|
|
198
|
+ int monthCount = monthContractList.size();
|
|
199
|
+ int paidMonthCount = 0;
|
|
200
|
+ BigDecimal monthAmount = new BigDecimal(0);
|
|
201
|
+ BigDecimal paidMonthAmount = new BigDecimal(0);
|
|
202
|
+ for (CmcSubContract contract : monthContractList) {
|
|
203
|
+ if (contract.getSubAmount() != null) {
|
|
204
|
+ monthAmount = monthAmount.add(contract.getSubAmount());
|
|
205
|
+ if (contract.getPaidAmount() != null) {
|
|
206
|
+ paidMonthAmount = paidYearAmount.add(contract.getPaidAmount());
|
|
207
|
+ if (contract.getPaidAmount().compareTo(contract.getSubAmount()) >= 0)
|
|
208
|
+ paidMonthCount++;
|
|
209
|
+ }
|
|
210
|
+ }
|
140
|
211
|
}
|
|
212
|
+ monthCountObject.put(new SimpleDateFormat("yyyy").format(cmcSubContract.getSignDate()) + "-" + month, monthCount);
|
|
213
|
+ monthAmountObject.put(new SimpleDateFormat("yyyy").format(cmcSubContract.getSignDate()) + "-" + month,monthAmount);
|
|
214
|
+ paidMonthCountObject.put(new SimpleDateFormat("yyyy").format(cmcSubContract.getSignDate()) + "-" + month, paidMonthCount);
|
|
215
|
+ paidMonthAmountObject.put(new SimpleDateFormat("yyyy").format(cmcSubContract.getSignDate()) + "-" + month, paidMonthAmount);
|
141
|
216
|
}
|
142
|
|
- paidYearObject.put(new SimpleDateFormat("yyyy").format(cmcSubContract.getSignDate()), count);
|
143
|
|
- amountObject.put(new SimpleDateFormat("yyyy").format(cmcSubContract.getSignDate()), amount);
|
144
|
|
- paidAmountObject.put(new SimpleDateFormat("yyyy").format(cmcSubContract.getSignDate()), paidAmount);
|
|
217
|
+ for (CmcSubContract contract : cmcSubContractService.selectCmcSubContractList(cmcSubContract)) {
|
|
218
|
+ if (contract.getSubAmount() != null)
|
|
219
|
+ yearAmount = yearAmount.add(contract.getSubAmount());
|
|
220
|
+ if (contract.getPaidAmount() != null) {
|
|
221
|
+ paidYearAmount = paidYearAmount.add(contract.getPaidAmount());
|
|
222
|
+ if (contract.getPaidAmount().compareTo(contract.getSubAmount()) >= 0)
|
|
223
|
+ paidYearCount ++;
|
|
224
|
+ }
|
|
225
|
+ }
|
|
226
|
+ paidYearCountObject.put(new SimpleDateFormat("yyyy").format(cmcSubContract.getSignDate()), paidYearCount);
|
|
227
|
+ yearAmountObject.put(new SimpleDateFormat("yyyy").format(cmcSubContract.getSignDate()), yearAmount);
|
|
228
|
+ paidYearAmountObject.put(new SimpleDateFormat("yyyy").format(cmcSubContract.getSignDate()), paidYearAmount);
|
145
|
229
|
}
|
146
|
|
- getProjectSourceStatistic(cmcSubContract, sourceObject, paidSourceObject, cwAmountObject, paidCwAmountObject);
|
147
|
|
- yearArray.add(yearObject);
|
148
|
|
- sourceArray.add(sourceObject);
|
149
|
|
- amountArray.add(amountObject);
|
150
|
|
- cwAmountArray.add(cwAmountObject);
|
151
|
|
- paidYearArray.add(paidYearObject);
|
152
|
|
- paidSourceArray.add(paidSourceObject);
|
153
|
|
- paidAmountArray.add(paidAmountObject);
|
154
|
|
- paidCwAmountArray.add(paidCwAmountObject);
|
155
|
|
- jsonObject.put("year", yearArray);
|
156
|
|
- jsonObject.put("source", sourceArray);
|
157
|
|
- jsonObject.put("amount", amountArray);
|
158
|
|
- jsonObject.put("paidYear", paidYearArray);
|
159
|
|
- jsonObject.put("paidSource", paidSourceArray);
|
160
|
|
- jsonObject.put("cwAmount", cwAmountArray);
|
161
|
|
- jsonObject.put("paidAmount", paidAmountArray);
|
162
|
|
- jsonObject.put("paidCwAmount", paidCwAmountArray);
|
|
230
|
+ getProjectSourceStatistic(cmcSubContract, sourceCountObject, paidSourceCountObject, sourceAmountObject, paidSourceAmountObject, yearCount, paidYearCount, yearAmount, paidYearAmount);
|
|
231
|
+ yearCountArray.add(yearCountObject);
|
|
232
|
+ monthCountArray.add(monthCountObject);
|
|
233
|
+ sourceCountArray.add(sourceCountObject);
|
|
234
|
+ yearAmountArray.add(yearAmountObject);
|
|
235
|
+ monthAmountArray.add(monthAmountObject);
|
|
236
|
+ sourceAmountArray.add(sourceAmountObject);
|
|
237
|
+ paidYearCountArray.add(paidYearCountObject);
|
|
238
|
+ paidMonthCountArray.add(paidMonthCountObject);
|
|
239
|
+ paidSourceCountArray.add(paidSourceCountObject);
|
|
240
|
+ paidYearAmountArray.add(paidYearAmountObject);
|
|
241
|
+ paidMonthAmountArray.add(paidMonthAmountObject);
|
|
242
|
+ paidSourceAmountArray.add(paidSourceAmountObject);
|
|
243
|
+ jsonObject.put("yearCount", yearCountArray);
|
|
244
|
+ jsonObject.put("monthCount", monthCountArray);
|
|
245
|
+ jsonObject.put("sourceCount", sourceCountArray);
|
|
246
|
+ jsonObject.put("yearAmount", yearAmountArray);
|
|
247
|
+ jsonObject.put("monthAmount", monthAmountArray);
|
|
248
|
+ jsonObject.put("sourceAmount", sourceAmountArray);
|
|
249
|
+ jsonObject.put("paidYearCount", paidYearCountArray);
|
|
250
|
+ jsonObject.put("paidMonthCount", paidMonthCountArray);
|
|
251
|
+ jsonObject.put("paidSourceCount", paidSourceCountArray);
|
|
252
|
+ jsonObject.put("paidYearAmount", paidYearAmountArray);
|
|
253
|
+ jsonObject.put("paidMonthAmount", paidMonthAmountArray);
|
|
254
|
+ jsonObject.put("paidSourceAmount", paidSourceAmountArray);
|
163
|
255
|
return success(jsonObject);
|
164
|
256
|
}
|
165
|
257
|
|
|
@@ -194,44 +286,65 @@ public class CmcSubContractController extends BaseController
|
194
|
286
|
}
|
195
|
287
|
|
196
|
288
|
//院内外项目数量及金额
|
197
|
|
- public void getProjectSourceStatistic(CmcSubContract cmcSubContract, JSONObject sourceObject, JSONObject paidSourceObject, JSONObject cwAmountObject, JSONObject paidCwAmountObject) {
|
198
|
|
- cmcSubContract.setProjectSource("1");
|
199
|
|
- List<CmcSubContract> sourceList = cmcSubContractService.selectCmcSubContractList(cmcSubContract);
|
200
|
|
- int cCount = 0;
|
201
|
|
- int wCount = 0;
|
|
289
|
+ public void getProjectSourceStatistic(CmcSubContract cmcSubContract, JSONObject sourceCountObject, JSONObject paidSourceCountObject, JSONObject sourceAmountObject, JSONObject paidSourceAmountObject,
|
|
290
|
+ int count, int paidCount, BigDecimal amount, BigDecimal paidAmount) {
|
|
291
|
+ int cCount;
|
|
292
|
+ int wCount;
|
|
293
|
+ int nCount;
|
|
294
|
+ int paidCCount = 0;
|
|
295
|
+ int paidWCount = 0;
|
|
296
|
+ int paidNCount;
|
202
|
297
|
BigDecimal cAmount = new BigDecimal(0);
|
203
|
298
|
BigDecimal wAmount = new BigDecimal(0);
|
|
299
|
+ BigDecimal nAmount;
|
204
|
300
|
BigDecimal paidCAmount = new BigDecimal(0);
|
205
|
301
|
BigDecimal paidWAmount = new BigDecimal(0);
|
206
|
|
- for (CmcSubContract subContract : sourceList) {
|
207
|
|
- if (subContract.getSubAmount() != null)
|
208
|
|
- wAmount = wAmount.add(subContract.getSubAmount());
|
209
|
|
- if (subContract.getPaidAmount() != null) {
|
210
|
|
- paidWAmount = paidWAmount.add(subContract.getPaidAmount());
|
211
|
|
- if (subContract.getPaidAmount().compareTo(subContract.getSubAmount()) >= 0)
|
212
|
|
- wCount ++;
|
|
302
|
+ BigDecimal paidNAmount;
|
|
303
|
+ cmcSubContract.setProjectSource("1");
|
|
304
|
+ List<CmcSubContract> sourceList = cmcSubContractService.selectCmcSubContractList(cmcSubContract);
|
|
305
|
+ wCount = sourceList.size();
|
|
306
|
+ for (CmcSubContract contract : sourceList) {
|
|
307
|
+ if (contract.getSubAmount() != null)
|
|
308
|
+ wAmount = wAmount.add(contract.getSubAmount());
|
|
309
|
+ if (contract.getPaidAmount() != null) {
|
|
310
|
+ paidWAmount = paidWAmount.add(contract.getPaidAmount());
|
|
311
|
+ if (contract.getPaidAmount().compareTo(contract.getSubAmount()) >= 0)
|
|
312
|
+ paidWCount ++;
|
213
|
313
|
}
|
214
|
314
|
}
|
215
|
|
- sourceObject.put("院外项目", sourceList.size());
|
216
|
|
- paidSourceObject.put("已完成付款院外项目", wCount);
|
217
|
|
- cwAmountObject.put("院外项目分包金额", wAmount);
|
218
|
|
- paidCwAmountObject.put("院外项目付款金额", paidWAmount);
|
|
315
|
+ nCount = count - wCount;
|
|
316
|
+ paidNCount = paidCount - wCount;
|
|
317
|
+ nAmount = amount.subtract(wAmount);
|
|
318
|
+ paidNAmount = paidAmount.subtract(paidWAmount);
|
|
319
|
+ sourceCountObject.put("院外项目", wCount);
|
|
320
|
+ paidSourceCountObject.put("已完成付款院外项目", paidWCount);
|
|
321
|
+ sourceAmountObject.put("院外项目分包金额", wAmount);
|
|
322
|
+ paidSourceAmountObject.put("院外项目付款金额", paidWAmount);
|
219
|
323
|
cmcSubContract.setProjectSource("0");
|
220
|
324
|
sourceList = cmcSubContractService.selectCmcSubContractList(cmcSubContract);
|
221
|
|
- for (CmcSubContract subContract : sourceList) {
|
222
|
|
- if (subContract.getSubAmount() != null)
|
223
|
|
- cAmount = cAmount.add(subContract.getSubAmount());
|
224
|
|
- if (subContract.getPaidAmount() != null) {
|
225
|
|
- paidCAmount = paidCAmount.add(subContract.getPaidAmount());
|
226
|
|
- if (subContract.getPaidAmount().compareTo(subContract.getSubAmount()) >= 0)
|
227
|
|
- cCount ++;
|
|
325
|
+ cCount = sourceList.size();
|
|
326
|
+ for (CmcSubContract contract : sourceList) {
|
|
327
|
+ if (contract.getSubAmount() != null)
|
|
328
|
+ cAmount = cAmount.add(contract.getSubAmount());
|
|
329
|
+ if (contract.getPaidAmount() != null) {
|
|
330
|
+ paidCAmount = paidCAmount.add(contract.getPaidAmount());
|
|
331
|
+ if (contract.getPaidAmount().compareTo(contract.getSubAmount()) >= 0)
|
|
332
|
+ paidCCount ++;
|
228
|
333
|
}
|
229
|
334
|
}
|
230
|
|
- sourceObject.put("院内项目", sourceList.size());
|
231
|
|
- paidSourceObject.put("已完成付款院内项目", cCount);
|
232
|
|
- cwAmountObject.put("院内项目分包金额", cAmount);
|
233
|
|
- paidCwAmountObject.put("院内项目付款金额", paidCAmount);
|
|
335
|
+ nCount = nCount - cCount;
|
|
336
|
+ paidNCount = paidNCount - cCount;
|
|
337
|
+ nAmount = nAmount.subtract(cAmount);
|
|
338
|
+ paidNAmount = paidNAmount.subtract(paidCAmount);
|
|
339
|
+ sourceCountObject.put("院内项目", cCount);
|
|
340
|
+ paidSourceCountObject.put("已完成付款院内项目", paidCCount);
|
|
341
|
+ sourceAmountObject.put("院内项目分包金额", cAmount);
|
|
342
|
+ paidSourceAmountObject.put("院内项目付款金额", paidCAmount);
|
234
|
343
|
cmcSubContract.setProjectSource(null);
|
|
344
|
+ sourceCountObject.put("未关联项目", nCount);
|
|
345
|
+ paidSourceCountObject.put("已完成付款未关联项目", paidNCount);
|
|
346
|
+ sourceAmountObject.put("未关联项目分包金额", nAmount);
|
|
347
|
+ paidSourceAmountObject.put("未关联项目付款金额", paidNAmount);
|
235
|
348
|
}
|
236
|
349
|
|
237
|
350
|
}
|