|
@@ -1,6 +1,8 @@
|
1
|
1
|
package com.ruoyi.web.controller.oa;
|
2
|
2
|
|
3
|
3
|
import java.io.IOException;
|
|
4
|
+import java.text.ParseException;
|
|
5
|
+import java.text.SimpleDateFormat;
|
4
|
6
|
import java.util.*;
|
5
|
7
|
import java.util.stream.Collectors;
|
6
|
8
|
import javax.servlet.http.HttpServletResponse;
|
|
@@ -9,10 +11,10 @@ import com.alibaba.fastjson2.JSONArray;
|
9
|
11
|
import com.alibaba.fastjson2.JSONObject;
|
10
|
12
|
import com.ruoyi.common.core.domain.entity.SysUser;
|
11
|
13
|
import com.ruoyi.common.utils.StringUtils;
|
|
14
|
+import com.ruoyi.oa.domain.CmcArchive;
|
12
|
15
|
import com.ruoyi.oa.domain.CmcManageDept;
|
13
|
|
-import com.ruoyi.oa.service.ICmcManageDeptService;
|
14
|
|
-import com.ruoyi.oa.service.ICmcPartyAService;
|
15
|
|
-import com.ruoyi.oa.service.ICmcProjectWorkService;
|
|
16
|
+import com.ruoyi.oa.domain.CmcSettle;
|
|
17
|
+import com.ruoyi.oa.service.*;
|
16
|
18
|
import com.ruoyi.system.service.ISysDeptService;
|
17
|
19
|
import com.ruoyi.system.service.ISysUserService;
|
18
|
20
|
import com.ruoyi.web.controller.qyweixin.MessageController;
|
|
@@ -23,7 +25,6 @@ import com.ruoyi.common.core.controller.BaseController;
|
23
|
25
|
import com.ruoyi.common.core.domain.AjaxResult;
|
24
|
26
|
import com.ruoyi.common.enums.BusinessType;
|
25
|
27
|
import com.ruoyi.oa.domain.CmcProject;
|
26
|
|
-import com.ruoyi.oa.service.ICmcProjectService;
|
27
|
28
|
import com.ruoyi.common.utils.poi.ExcelUtil;
|
28
|
29
|
import com.ruoyi.common.core.page.TableDataInfo;
|
29
|
30
|
|
|
@@ -55,6 +56,12 @@ public class CmcProjectController extends BaseController
|
55
|
56
|
@Autowired
|
56
|
57
|
private ICmcManageDeptService cmcManageDeptService;
|
57
|
58
|
|
|
59
|
+ @Autowired
|
|
60
|
+ private ICmcArchiveService cmcArchiveService;
|
|
61
|
+
|
|
62
|
+ @Autowired
|
|
63
|
+ private ICmcSettleService cmcSettleService;
|
|
64
|
+
|
58
|
65
|
/**
|
59
|
66
|
* 查询cmc项目列表
|
60
|
67
|
*/
|
|
@@ -144,8 +151,7 @@ public class CmcProjectController extends BaseController
|
144
|
151
|
* 获取cmc项目统计信息
|
145
|
152
|
*/
|
146
|
153
|
@GetMapping("/statistic")
|
147
|
|
- public AjaxResult getProjectStatistic(CmcProject cmcProject)
|
148
|
|
- {
|
|
154
|
+ public AjaxResult getProjectStatistic(CmcProject cmcProject) throws ParseException {
|
149
|
155
|
JSONObject jsonObject = new JSONObject();
|
150
|
156
|
JSONArray yearArray = new JSONArray();
|
151
|
157
|
JSONObject yearObject = new JSONObject();
|
|
@@ -157,40 +163,84 @@ public class CmcProjectController extends BaseController
|
157
|
163
|
JSONObject deptObject = new JSONObject();
|
158
|
164
|
JSONArray completeArray = new JSONArray();
|
159
|
165
|
JSONObject completeObject = new JSONObject();
|
|
166
|
+ JSONArray archiveArray = new JSONArray();
|
|
167
|
+ JSONObject archiveObject = new JSONObject();
|
|
168
|
+ JSONArray settleArray = new JSONArray();
|
|
169
|
+ JSONObject settleObject = new JSONObject();
|
160
|
170
|
//整体
|
161
|
171
|
if (cmcProject.getProjectNumber() == null && cmcProject.getProjectSource() == null && cmcProject.getProjectType() == null && cmcProject.getUndertakingDept() == null) {
|
162
|
172
|
//每年项目数量
|
163
|
173
|
for (int i = 2019; i <= Calendar.getInstance().get(Calendar.YEAR); i++) {
|
|
174
|
+ //总数
|
164
|
175
|
cmcProject.setProjectNumber(String.valueOf(i));
|
165
|
176
|
List<CmcProject> yearList = cmcProjectService.selectCmcAllProjectList(cmcProject);
|
166
|
177
|
yearObject.put(String.valueOf(i), yearList.size());
|
|
178
|
+ //已完成
|
|
179
|
+ cmcProject.setIsComplete("1");
|
|
180
|
+ yearList = cmcProjectService.selectCmcAllProjectList(cmcProject);
|
|
181
|
+ completeObject.put(String.valueOf(i), yearList.size());
|
|
182
|
+ //已归档
|
|
183
|
+ CmcArchive cmcArchive = new CmcArchive();
|
|
184
|
+ cmcArchive.setProjectNumber(String.valueOf(i));
|
|
185
|
+ cmcArchive.setArchiveTime(new SimpleDateFormat("yyyy").parse(String.valueOf(i)));
|
|
186
|
+ List<CmcArchive> archiveList = cmcArchiveService.selectCmcArchiveList(cmcArchive);
|
|
187
|
+ archiveObject.put(String.valueOf(i), archiveList.size());
|
|
188
|
+ //已结算
|
|
189
|
+ CmcSettle cmcSettle = new CmcSettle();
|
|
190
|
+ cmcSettle.setProjectNumber(String.valueOf(i));
|
|
191
|
+ cmcSettle.setGmTime(new SimpleDateFormat("yyyy").parse(String.valueOf(i)));
|
|
192
|
+ List<CmcSettle> settleList = cmcSettleService.selectCmcSettleList(cmcSettle);
|
|
193
|
+ settleObject.put(String.valueOf(i), settleList.size());
|
167
|
194
|
}
|
168
|
195
|
cmcProject.setProjectNumber(null);
|
|
196
|
+ cmcProject.setIsComplete(null);
|
169
|
197
|
getProjectSourceStatistic(cmcProject, sourceObject);
|
170
|
198
|
getProjectTypeStatistic(cmcProject, typeObject);
|
171
|
199
|
getProjectDeptStatistic(cmcProject, deptObject);
|
172
|
|
- getProjectCompleteStatistic(cmcProject, completeObject);
|
173
|
200
|
|
174
|
201
|
}
|
175
|
202
|
//年度
|
176
|
203
|
else if (cmcProject.getProjectNumber() != null && cmcProject.getProjectSource() == null && cmcProject.getProjectType() == null && cmcProject.getUndertakingDept() == null) {
|
177
|
204
|
//输入年份项目数量
|
178
|
|
- yearObject.put(cmcProject.getProjectNumber(), cmcProjectService.selectCmcAllProjectList(cmcProject).size());
|
|
205
|
+ List<CmcProject> yearList = cmcProjectService.selectCmcAllProjectList(cmcProject);
|
|
206
|
+ //总数
|
|
207
|
+ yearObject.put(cmcProject.getProjectNumber(), yearList.size());
|
|
208
|
+ //已完成
|
|
209
|
+ cmcProject.setIsComplete("1");
|
|
210
|
+ yearList = cmcProjectService.selectCmcAllProjectList(cmcProject);
|
|
211
|
+ completeObject.put(cmcProject.getProjectNumber(), yearList.size());
|
|
212
|
+ cmcProject.setIsComplete(null);
|
|
213
|
+ //已归档
|
|
214
|
+ CmcArchive cmcArchive = new CmcArchive();
|
|
215
|
+ cmcArchive.setProjectNumber(cmcProject.getProjectNumber());
|
|
216
|
+ cmcArchive.setArchiveTime(new SimpleDateFormat("yyyy").parse(cmcProject.getProjectNumber() + "-01-01"));
|
|
217
|
+ List<CmcArchive> archiveList = cmcArchiveService.selectCmcArchiveList(cmcArchive);
|
|
218
|
+ archiveObject.put(cmcProject.getProjectNumber(), archiveList.size());
|
|
219
|
+ //已结算
|
|
220
|
+ CmcSettle cmcSettle = new CmcSettle();
|
|
221
|
+ cmcSettle.setProjectNumber(cmcProject.getProjectNumber());
|
|
222
|
+ cmcSettle.setGmTime(new SimpleDateFormat("yyyy").parse(cmcProject.getProjectNumber() + "-01-01"));
|
|
223
|
+ List<CmcSettle> settleList = cmcSettleService.selectCmcSettleList(cmcSettle);
|
|
224
|
+ settleObject.put(cmcProject.getProjectNumber(), settleList.size());
|
|
225
|
+
|
179
|
226
|
getProjectSourceStatistic(cmcProject, sourceObject);
|
180
|
227
|
getProjectTypeStatistic(cmcProject, typeObject);
|
181
|
228
|
getProjectDeptStatistic(cmcProject, deptObject);
|
182
|
|
- getProjectCompleteStatistic(cmcProject, completeObject);
|
183
|
229
|
}
|
184
|
230
|
yearArray.add(yearObject);
|
185
|
231
|
sourceArray.add(sourceObject);
|
186
|
232
|
deptArray.add(deptObject);
|
187
|
233
|
typeArray.add(typeObject);
|
188
|
234
|
completeArray.add(completeObject);
|
|
235
|
+ archiveArray.add(archiveObject);
|
|
236
|
+ settleArray.add(settleObject);
|
189
|
237
|
jsonObject.put("year", yearArray);
|
190
|
238
|
jsonObject.put("source", sourceArray);
|
191
|
239
|
jsonObject.put("dept", deptArray);
|
192
|
240
|
jsonObject.put("type", typeArray);
|
193
|
241
|
jsonObject.put("complete", completeArray);
|
|
242
|
+ jsonObject.put("archive", archiveArray);
|
|
243
|
+ jsonObject.put("settle", settleArray);
|
194
|
244
|
return success(jsonObject);
|
195
|
245
|
}
|
196
|
246
|
|
|
@@ -335,11 +385,4 @@ public class CmcProjectController extends BaseController
|
335
|
385
|
cmcProject.setUndertakingDept(null);
|
336
|
386
|
}
|
337
|
387
|
|
338
|
|
- //项目完成数量
|
339
|
|
- public void getProjectCompleteStatistic(CmcProject cmcProject, JSONObject completeObject) {
|
340
|
|
- cmcProject.setIsComplete("1");
|
341
|
|
- List<CmcProject> completeList = cmcProjectService.selectCmcAllProjectList(cmcProject);
|
342
|
|
- completeObject.put("已完成",completeList.size());
|
343
|
|
- }
|
344
|
|
-
|
345
|
388
|
}
|