|
@@ -118,12 +118,28 @@ public class CmcProjectController extends BaseController
|
118
|
118
|
@GetMapping("/projectNumber")
|
119
|
119
|
public AjaxResult getProjectNumberByYear(CmcProject cmcProject)
|
120
|
120
|
{
|
121
|
|
- List<CmcProject> list = cmcProjectService.selectCmcProjectList(cmcProject);
|
|
121
|
+ List<CmcProject> list = cmcProjectService.selectCmcAllProjectList(cmcProject);
|
122
|
122
|
String number = list.get(0).getProjectNumber().substring(5);
|
123
|
123
|
String projectNumber = cmcProject.getProjectNumber() + (Integer.parseInt(number) + 1);
|
124
|
124
|
return success(projectNumber);
|
125
|
125
|
}
|
126
|
126
|
|
|
127
|
+ /**
|
|
128
|
+ * 项目类型列表
|
|
129
|
+ */
|
|
130
|
+ @GetMapping("/projectType")
|
|
131
|
+ public AjaxResult getProjectType()
|
|
132
|
+ {
|
|
133
|
+ List<String> typeList = new ArrayList<>();
|
|
134
|
+ Map<Object, List<CmcProject>> projectType = cmcProjectService.selectCmcAllProjectList(new CmcProject()).stream().collect(Collectors.groupingBy(item -> Optional.ofNullable(item.getProjectType())));
|
|
135
|
+ projectType.forEach((k, v) -> {
|
|
136
|
+ if (k != Optional.empty())
|
|
137
|
+ typeList.add(k.toString().substring(k.toString().indexOf("[") + 1, k.toString().indexOf("]")));
|
|
138
|
+ });
|
|
139
|
+ Collections.sort(typeList);
|
|
140
|
+ return success(typeList);
|
|
141
|
+ }
|
|
142
|
+
|
127
|
143
|
/**
|
128
|
144
|
* 获取cmc项目统计信息
|
129
|
145
|
*/
|
|
@@ -144,65 +160,23 @@ public class CmcProjectController extends BaseController
|
144
|
160
|
//每年项目数量
|
145
|
161
|
for (int i = 2019; i <= Calendar.getInstance().get(Calendar.YEAR); i++) {
|
146
|
162
|
cmcProject.setProjectNumber(String.valueOf(i));
|
147
|
|
- List<CmcProject> yearList = cmcProjectService.selectCmcProjectList(cmcProject);
|
|
163
|
+ List<CmcProject> yearList = cmcProjectService.selectCmcAllProjectList(cmcProject);
|
148
|
164
|
yearObject.put(String.valueOf(i), yearList.size());
|
149
|
165
|
}
|
150
|
|
- //院内外项目数量
|
151
|
166
|
cmcProject.setProjectNumber(null);
|
152
|
|
- cmcProject.setProjectSource("1");
|
153
|
|
- sourceObject.put("市场", cmcProjectService.selectCmcProjectList(cmcProject).size());
|
154
|
|
- cmcProject.setProjectSource("0");
|
155
|
|
- sourceObject.put("院内", cmcProjectService.selectCmcProjectList(cmcProject).size());
|
156
|
|
- //各类型项目数量
|
157
|
|
- cmcProject.setProjectSource(null);
|
158
|
|
- Map<Object, List<CmcProject>> typeGroup = cmcProjectService.selectCmcProjectList(cmcProject).stream().collect(Collectors.groupingBy(item -> Optional.ofNullable(item.getProjectType())));
|
159
|
|
- Set<Map.Entry<Object, List<CmcProject>>> typeEntries = typeGroup.entrySet();
|
160
|
|
- typeEntries.forEach(item -> {
|
161
|
|
- if (item.getKey() != Optional.empty()) {
|
162
|
|
- String str = item.getKey().toString();
|
163
|
|
- typeObject.put(str.substring(str.indexOf("[") + 1, str.indexOf("]")), item.getValue().size());
|
164
|
|
- }
|
165
|
|
- });
|
166
|
|
- //各承担部门项目数量
|
167
|
|
- for (int i = 107; i <= 115; i++) {
|
168
|
|
- cmcProject.setUndertakingDept(String.valueOf(i));
|
169
|
|
- List<CmcProject> deptList = new ArrayList<>();
|
170
|
|
- if (i != 113)
|
171
|
|
- deptList = cmcProjectService.selectCmcProjectList(cmcProject);
|
172
|
|
- else
|
173
|
|
- deptList = cmcProjectService.selectCmcInvestProjectList(cmcProject);
|
174
|
|
- deptObject.put(deptService.selectDeptById((long)i).getDeptName(), deptList.size());
|
175
|
|
- }
|
|
167
|
+ getProjectSourceStatistic(cmcProject, sourceObject);
|
|
168
|
+ getProjectTypeStatistic(cmcProject, typeObject);
|
|
169
|
+ getProjectDeptStatistic(cmcProject, deptObject);
|
|
170
|
+
|
|
171
|
+
|
176
|
172
|
}
|
177
|
173
|
//年度
|
178
|
174
|
else if (cmcProject.getProjectNumber() != null && cmcProject.getProjectSource() == null && cmcProject.getProjectType() == null && cmcProject.getUndertakingDept() == null) {
|
179
|
175
|
//输入年份项目数量
|
180
|
|
- yearObject.put(cmcProject.getProjectNumber(), cmcProjectService.selectCmcProjectList(cmcProject).size());
|
181
|
|
- //输入年份院内外项目数量
|
182
|
|
- cmcProject.setProjectSource("1");
|
183
|
|
- sourceObject.put("市场", cmcProjectService.selectCmcProjectList(cmcProject).size());
|
184
|
|
- cmcProject.setProjectSource("0");
|
185
|
|
- sourceObject.put("院内", cmcProjectService.selectCmcProjectList(cmcProject).size());
|
186
|
|
- //输入年份各类型项目数量
|
187
|
|
- cmcProject.setProjectSource(null);
|
188
|
|
- Map<Object, List<CmcProject>> typeGroup = cmcProjectService.selectCmcProjectList(cmcProject).stream().collect(Collectors.groupingBy(item -> Optional.ofNullable(item.getProjectType())));
|
189
|
|
- Set<Map.Entry<Object, List<CmcProject>>> typeEntries = typeGroup.entrySet();
|
190
|
|
- typeEntries.forEach(item -> {
|
191
|
|
- if (item.getKey() != Optional.empty()) {
|
192
|
|
- String str = item.getKey().toString();
|
193
|
|
- typeObject.put(str.substring(str.indexOf("[") + 1, str.indexOf("]")), item.getValue().size());
|
194
|
|
- }
|
195
|
|
- });
|
196
|
|
- //输入年份各承担部门项目数量
|
197
|
|
- for (int i = 107; i <= 115; i++) {
|
198
|
|
- cmcProject.setUndertakingDept(String.valueOf(i));
|
199
|
|
- List<CmcProject> deptList = new ArrayList<>();
|
200
|
|
- if (i != 113)
|
201
|
|
- deptList = cmcProjectService.selectCmcProjectList(cmcProject);
|
202
|
|
- else
|
203
|
|
- deptList = cmcProjectService.selectCmcInvestProjectList(cmcProject);
|
204
|
|
- deptObject.put(deptService.selectDeptById((long)i).getDeptName(), deptList.size());
|
205
|
|
- }
|
|
176
|
+ yearObject.put(cmcProject.getProjectNumber(), cmcProjectService.selectCmcAllProjectList(cmcProject).size());
|
|
177
|
+ getProjectSourceStatistic(cmcProject, sourceObject);
|
|
178
|
+ getProjectTypeStatistic(cmcProject, typeObject);
|
|
179
|
+ getProjectDeptStatistic(cmcProject, deptObject);
|
206
|
180
|
}
|
207
|
181
|
yearArray.add(yearObject);
|
208
|
182
|
sourceArray.add(sourceObject);
|
|
@@ -310,7 +284,7 @@ public class CmcProjectController extends BaseController
|
310
|
284
|
return cmcProject.getQualityInspectorName();
|
311
|
285
|
}
|
312
|
286
|
|
313
|
|
- public List<SysUser> getManageId(String deptId, String partyAId) {
|
|
287
|
+ public List<SysUser> getManageId(String deptId, String partyAId) {
|
314
|
288
|
List<SysUser> userList = new ArrayList<>();
|
315
|
289
|
CmcManageDept cmcManageDept = new CmcManageDept();
|
316
|
290
|
cmcManageDept.setDeptId(deptId);
|
|
@@ -321,5 +295,44 @@ public class CmcProjectController extends BaseController
|
321
|
295
|
return userList;
|
322
|
296
|
}
|
323
|
297
|
|
|
298
|
+ //院内外项目数量
|
|
299
|
+ public void getProjectSourceStatistic(CmcProject cmcProject, JSONObject sourceObject) {
|
|
300
|
+ cmcProject.setProjectSource("1");
|
|
301
|
+ sourceObject.put("院外", cmcProjectService.selectCmcAllProjectList(cmcProject).size());
|
|
302
|
+ cmcProject.setProjectSource("0");
|
|
303
|
+ sourceObject.put("院内", cmcProjectService.selectCmcAllProjectList(cmcProject).size());
|
|
304
|
+ cmcProject.setProjectSource(null);
|
|
305
|
+ }
|
|
306
|
+
|
|
307
|
+ //各类型项目数量
|
|
308
|
+ public void getProjectTypeStatistic(CmcProject cmcProject, JSONObject typeObject) {
|
|
309
|
+ //类型太多,循环效率不高-直接用Java特性进行分组统计
|
|
310
|
+ Map<Object, Long> typeGroup = cmcProjectService.selectCmcAllProjectList(cmcProject).stream().collect(Collectors.groupingBy(item -> Optional.ofNullable(item.getProjectType()), Collectors.counting()));
|
|
311
|
+ List<Map.Entry<Object, Long>> typeList = new ArrayList<>(typeGroup.entrySet());
|
|
312
|
+ typeList.sort(Map.Entry.comparingByValue());
|
|
313
|
+ typeList.forEach((item) -> {
|
|
314
|
+ if (item.getKey() != Optional.empty())
|
|
315
|
+ typeObject.put(item.toString().substring(item.toString().indexOf("[") + 1, item.toString().indexOf("]")), item.getValue());
|
|
316
|
+ });
|
|
317
|
+ }
|
|
318
|
+
|
|
319
|
+ //各部门承担项目数量
|
|
320
|
+ public void getProjectDeptStatistic(CmcProject cmcProject, JSONObject deptObject) {
|
|
321
|
+ for (int i = 107; i <= 115; i++) {
|
|
322
|
+ cmcProject.setUndertakingDept(String.valueOf(i));
|
|
323
|
+ List<CmcProject> deptList = new ArrayList<>();
|
|
324
|
+ if (i != 113)
|
|
325
|
+ deptList = cmcProjectService.selectCmcProjectList(cmcProject);
|
|
326
|
+ else
|
|
327
|
+ deptList = cmcProjectService.selectCmcInvestProjectList(cmcProject);
|
|
328
|
+ deptObject.put(deptService.selectDeptById((long)i).getDeptName(), deptList.size());
|
|
329
|
+ }
|
|
330
|
+ cmcProject.setUndertakingDept(null);
|
|
331
|
+ }
|
|
332
|
+
|
|
333
|
+ //项目完成数量
|
|
334
|
+ public void getProjectCompleteStatistic(CmcProject cmcProject, JSONObject deptObject) {
|
|
335
|
+ List<CmcProject> deptList = cmcProjectService.selectCmcProjectList(cmcProject);
|
|
336
|
+ }
|
324
|
337
|
|
325
|
338
|
}
|