|
@@ -1,11 +1,13 @@
|
1
|
1
|
package com.ruoyi.web.controller.oa;
|
2
|
2
|
|
|
3
|
+import java.util.ArrayList;
|
3
|
4
|
import java.util.List;
|
4
|
5
|
import java.util.Objects;
|
5
|
6
|
import javax.servlet.http.HttpServletResponse;
|
6
|
7
|
|
7
|
8
|
import com.alibaba.fastjson2.JSONArray;
|
8
|
9
|
import com.alibaba.fastjson2.JSONObject;
|
|
10
|
+import com.ruoyi.common.core.domain.entity.SysDictData;
|
9
|
11
|
import com.ruoyi.common.utils.DateUtils;
|
10
|
12
|
import com.ruoyi.oa.domain.CmcAssessContent;
|
11
|
13
|
import com.ruoyi.oa.domain.CmcAssessContentWork;
|
|
@@ -13,6 +15,7 @@ import com.ruoyi.oa.service.ICmcAssessContentService;
|
13
|
15
|
import com.ruoyi.oa.service.ICmcAssessContentWorkService;
|
14
|
16
|
import com.ruoyi.oa.service.ICmcProjectService;
|
15
|
17
|
import com.ruoyi.system.service.ISysDeptService;
|
|
18
|
+import com.ruoyi.system.service.ISysDictDataService;
|
16
|
19
|
import com.ruoyi.system.service.ISysUserService;
|
17
|
20
|
import org.springframework.beans.factory.annotation.Autowired;
|
18
|
21
|
import org.springframework.web.bind.annotation.*;
|
|
@@ -47,6 +50,8 @@ public class CmcAssessController extends BaseController
|
47
|
50
|
private ISysDeptService deptService;
|
48
|
51
|
@Autowired
|
49
|
52
|
private ICmcProjectService cmcProjectService;
|
|
53
|
+ @Autowired
|
|
54
|
+ private ISysDictDataService dictDataService;
|
50
|
55
|
|
51
|
56
|
/**
|
52
|
57
|
* 查询考核表列表
|
|
@@ -91,8 +96,12 @@ public class CmcAssessController extends BaseController
|
91
|
96
|
}
|
92
|
97
|
formData.put("deptName", deptService.selectDeptById(userService.selectUserById(userId).getDeptId()).getDeptName());
|
93
|
98
|
formData.put("postGroup", userService.selectUserPostGroup(userService.selectUserById(userId).getUserName()));
|
94
|
|
- formData.put("pmlevel", userService.selectUserById(userId).getPmLevel());
|
95
|
|
- formData.put("titles", userService.selectUserById(userId).getTitles());
|
|
99
|
+ formData.put("pmLevel", dictDataService.selectDictLabel("sys_user_pmlevel", userService.selectUserById(userId).getPmLevel()));
|
|
100
|
+ String[] titles = userService.selectUserById(userId).getTitles().split(",");
|
|
101
|
+ List<String> titleList = new ArrayList<>();
|
|
102
|
+ for (String title : titles)
|
|
103
|
+ titleList.add(dictDataService.selectDictLabel("sys_user_titles", title));
|
|
104
|
+ formData.put("titles", String.join(",", titleList));
|
96
|
105
|
formData.put("remark", userService.selectUserById(userId).getRemark());
|
97
|
106
|
formData.put("entryDate", userService.selectUserById(userId).getEntryDate());
|
98
|
107
|
formData.put("age", userService.selectUserById(userId).getAge());
|
|
@@ -220,6 +229,21 @@ public class CmcAssessController extends BaseController
|
220
|
229
|
cmcAssess.setManagerAssessment(formDataJson.getString("managerAssessment"));
|
221
|
230
|
cmcAssess.setManagerAdvice(formDataJson.getString("managerAdvice"));
|
222
|
231
|
cmcAssess.setManagerTime(formDataJson.getDate("managerTime"));
|
|
232
|
+ //判断是否删除某项考核工作
|
|
233
|
+ List<CmcAssessContentWork> cmcAssessContentWorks = cmcAssessContentWorkService.selectCmcAssessContentWorkByWorkId(formDataJson.getString("assessId"));
|
|
234
|
+ List<String> oldCmcAssessContentWorkIds = new ArrayList<>();
|
|
235
|
+ List<String> newCmcAssessContentWorkIds = new ArrayList<>();
|
|
236
|
+ for (CmcAssessContentWork cmcAssessContentWork : cmcAssessContentWorks) {
|
|
237
|
+ oldCmcAssessContentWorkIds.add(cmcAssessContentWork.getWorkId());
|
|
238
|
+ }
|
|
239
|
+ for (String key : formDataJson.keySet()) {
|
|
240
|
+ if (key.length() == 5 && key.startsWith("f") && !formDataJson.get(key).equals(""))
|
|
241
|
+ newCmcAssessContentWorkIds.add(key.substring(1));
|
|
242
|
+ }
|
|
243
|
+ for (String id : oldCmcAssessContentWorkIds) {
|
|
244
|
+ if (!newCmcAssessContentWorkIds.contains(id.substring(19)))
|
|
245
|
+ cmcAssessContentWorkService.deleteCmcAssessContentWorkByWorkId(id);
|
|
246
|
+ }
|
223
|
247
|
for (String key : formDataJson.keySet()) {
|
224
|
248
|
if (key.startsWith("role") && !Objects.equals(formDataJson.get(key), new JSONArray())) {
|
225
|
249
|
CmcAssessContent cmcAssessContent = cmcAssessContentService.selectCmcAssessContentByContentId(formDataJson.getString("assessId") + key.substring(4)).get(0);
|
|
@@ -236,9 +260,17 @@ public class CmcAssessController extends BaseController
|
236
|
260
|
cmcAssessContentService.updateCmcAssessContent(cmcAssessContent);
|
237
|
261
|
}
|
238
|
262
|
if (key.length() == 5 && key.startsWith("f") && !formDataJson.get(key).equals("")) {
|
239
|
|
- CmcAssessContentWork cmcAssessContentWork = cmcAssessContentWorkService.selectCmcAssessContentWorkByWorkId(formDataJson.getString("assessId") + key.substring(1)).get(0);
|
240
|
|
- cmcAssessContentWork.setWorkLoad(formDataJson.getString(key));
|
241
|
|
- cmcAssessContentWorkService.updateCmcAssessContentWork(cmcAssessContentWork);
|
|
263
|
+ List<CmcAssessContentWork> cmcAssessContentWorkList = cmcAssessContentWorkService.selectCmcAssessContentWorkByWorkId(formDataJson.getString("assessId") + key.substring(1));
|
|
264
|
+ if (cmcAssessContentWorkList.size() > 0) { //某项考核工作更改工作量
|
|
265
|
+ cmcAssessContentWorkList.get(0).setWorkLoad(formDataJson.getString(key));
|
|
266
|
+ cmcAssessContentWorkService.updateCmcAssessContentWork(cmcAssessContentWorkList.get(0));
|
|
267
|
+ }
|
|
268
|
+ else { //新增一项考核工作
|
|
269
|
+ CmcAssessContentWork cmcAssessContentWork = new CmcAssessContentWork();
|
|
270
|
+ cmcAssessContentWork.setWorkId(formDataJson.getString("assessId") + key.substring(1));
|
|
271
|
+ cmcAssessContentWork.setWorkLoad(formDataJson.getString(key));
|
|
272
|
+ cmcAssessContentWorkService.insertCmcAssessContentWork(cmcAssessContentWork);
|
|
273
|
+ }
|
242
|
274
|
}
|
243
|
275
|
if (key.startsWith("familiar")) {
|
244
|
276
|
CmcAssessContent cmcAssessContent = cmcAssessContentService.selectCmcAssessContentByContentId(formDataJson.getString("assessId") + key.substring(8)).get(0);
|