Browse Source

考评周期、考评等级

wangyangyang 3 years ago
parent
commit
5f3c29bc44

+ 3 - 1
operation_manager/src/main/java/com/huaxu/client/UserCenterClient.java

@@ -44,9 +44,11 @@ public interface UserCenterClient {
     @PostMapping("/org/getAllByTenantId")
     List<Org> getAllByTenantId();
 
+    @PostMapping(value = "/org/get")
+    AjaxMessage<Org> selectOne(@RequestParam Integer id);
     /**
      * 通过父配置id查询数据
      */
     @RequestMapping(value = "/dict/selectList", method = RequestMethod.POST)
-    public AjaxMessage<List<Dict>> selectDictList(@RequestBody Dict dict);
+    AjaxMessage<List<Dict>> selectDictList(@RequestBody Dict dict);
 }

+ 22 - 14
operation_manager/src/main/java/com/huaxu/evaluation/service/impl/EvaluationItemServiceImpl.java

@@ -109,23 +109,31 @@ public class EvaluationItemServiceImpl extends ServiceImpl<EvaluationItemMapper,
      */
     public boolean addEvaluationItem(EvaluationItemEntity evaluationItem) {
         LoginUser currentUser = UserUtil.getCurrentUser();
-        if (this.save(evaluationItem)) {
-            Long id = evaluationItem.getId();
-            for (EvaluationItemValueEntity item : evaluationItem.getItemValues()) {
-                if (currentUser != null) {
-                    item.setTenantId(currentUser.getTenantId());
-                    item.setCreateBy(currentUser.getUsername());
-                    item.setUpdateBy(currentUser.getUsername());
+        for (Integer itemCompanyId : evaluationItem.getDeptOrgIds()) {
+            Integer companyId = orgInfoUtil.getOrgCompanyId(itemCompanyId);
+            if (companyId != null) {
+                evaluationItem.setCompanyOrgId(companyId);
+                evaluationItem.setDeptOrgId(itemCompanyId);
+            } else {
+                evaluationItem.setCompanyOrgId(itemCompanyId);
+            }
+            if (this.save(evaluationItem)) {
+                Long id = evaluationItem.getId();
+                for (EvaluationItemValueEntity item : evaluationItem.getItemValues()) {
+                    if (currentUser != null) {
+                        item.setTenantId(currentUser.getTenantId());
+                        item.setCreateBy(currentUser.getUsername());
+                        item.setUpdateBy(currentUser.getUsername());
+                    }
+                    item.setEvaluationItemId(id);
+                    item.setStatus(1);
+                    item.setDateUpdate(new Date());
+                    item.setDateCreate(new Date());
+                    evaluationItemValueService.addEvaluationItemValue(item);
                 }
-                item.setEvaluationItemId(id);
-                item.setStatus(1);
-                item.setDateUpdate(new Date());
-                item.setDateCreate(new Date());
-                evaluationItemValueService.addEvaluationItemValue(item);
             }
-            return true;
         }
-        return false;
+        return true;
     }
 
     /**

+ 12 - 0
operation_manager/src/main/java/com/huaxu/org/OrgInfoUtil.java

@@ -56,4 +56,16 @@ public class OrgInfoUtil {
         redisUtil.putHashValues(key,keysValues);
         return keysValues;
     }
+    public Integer getOrgCompanyId(Integer id) {
+        Integer parentId = null;
+        Org org = userCenterClient.selectOne(id).getData();
+        Org parentOrg = new Org();
+        parentOrg.setOrgType(org.getOrgType());
+        while (!parentOrg.getOrgType().equals("company")) {
+            if (org.getParentOrgId().equals(0)) break;
+            Org temp = userCenterClient.selectOne(org.getParentOrgId()).getData();
+            parentOrg.setOrgType(temp.getOrgType());
+        }
+        return parentId;
+    }
 }

+ 1 - 0
user_center/src/main/java/com/huaxu/controller/OrgController.java

@@ -50,6 +50,7 @@ public class OrgController {
         return new AjaxMessage<>(ResultStatus.OK, result);
     }
 
+
     /**
      * 新增一条数据
      *