cs преди 2 години
родител
ревизия
6c741fe463

+ 1 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/UserYearleaveSettingController.java

@@ -220,7 +220,7 @@ public class UserYearleaveSettingController {
         if (department.getCorpwxDeptpid()==null || department.getCorpwxDeptpid()==1) {
             return depHierarchy;
         }else{
-            Department supDep = departmentMapper.selectOne(new QueryWrapper<Department>().eq("corpwx_deptid",department.getCorpwxDeptpid()));
+            Department supDep = departmentMapper.selectOne(new QueryWrapper<Department>().eq("corpwx_deptid",department.getCorpwxDeptpid()).eq("company_id",department.getCompanyId()));
             return getWxDepartment(supDep) + "/" + depHierarchy;
         }
     }

+ 35 - 8
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ProjectServiceImpl.java

@@ -1886,12 +1886,21 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
             data.add(task.get("project_name") == null?"":task.get("project_name").toString());
             data.add(task.get("name") != null?task.get("name").toString():"");
             if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
-                Optional<User> first = userList.stream().filter(ul -> ul.getId().equals(task.get("executor_id"))).findFirst();
-                if(first.isPresent()){
-                    data.add("$userName="+(first.get().getCorpwxUserid() == null?"":first.get().getCorpwxUserid())+"$");
-                }else {
-                    data.add("");
+                String userName = "";
+                if(task.get("executor_id") != null){
+                    String[] executorIds = task.get("executor_id").toString().split(",");
+                    for (int i = 0; i < executorIds.length; i++) {
+                        String executorId = executorIds[i];
+                        Optional<User> first = userList.stream().filter(ul -> ul.getId().equals(executorId)).findFirst();
+                        if(first.isPresent()){
+                            userName += "$userName="+(first.get().getCorpwxUserid() == null?"":first.get().getCorpwxUserid())+"$";
+                            if (i < executorIds.length - 1){
+                                userName += ",";
+                            }
+                        }
+                    }
                 }
+                data.add(userName);
             }else {
                 data.add(task.get("executor_name") != null?task.get("executor_name").toString():"");
             }
@@ -4490,18 +4499,30 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
         }
     }
 
-    //递归获取企业微信所有上级部门字符串,格式:"上级部门/上级部门/部门"
+    //用于报表展示:递归获取企业微信所有上级部门字符串,格式:"上级部门/上级部门/部门"
     private String getWxDepartment(Department department) {
         String depHierarchy = department.getCorpwxDeptid().toString();
         //搜到父部门进行添加
         if (department.getCorpwxDeptpid()==null || department.getCorpwxDeptpid()==1) {
             return depHierarchy;
         }else{
-            Department supDep = departmentMapper.selectOne(new QueryWrapper<Department>().eq("corpwx_deptid",department.getCorpwxDeptpid()));
+            Department supDep = departmentMapper.selectOne(new QueryWrapper<Department>().eq("corpwx_deptid",department.getCorpwxDeptpid()).eq("company_id",department.getCompanyId()));
             return getWxDepartment(supDep) + "/" + depHierarchy;
         }
     }
 
+    //用于导出:递归获取企业微信所有上级部门字符串,格式:"上级部门/上级部门/部门"
+    private String exportWxDepartment(Department department) {
+        String depHierarchy = "$departmentName="+department.getCorpwxDeptid()+"$";
+        //搜到父部门进行添加
+        if (department.getCorpwxDeptpid()==null || department.getCorpwxDeptpid()==1) {
+            return depHierarchy;
+        }else{
+            Department supDep = departmentMapper.selectOne(new QueryWrapper<Department>().eq("corpwx_deptid", department.getCorpwxDeptpid()).eq("company_id", department.getCompanyId()));
+            return exportWxDepartment(supDep) + "/" + depHierarchy;
+        }
+    }
+
     @Override
     public HttpRespMsg exportData(String keyword,
                                   @RequestParam(required = false, defaultValue = "1") Integer searchField,
@@ -5824,6 +5845,9 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                     continue;
                 }
             }
+            if (!map.containsKey("deptName")){
+                map.put("deptName","未分配");
+            }
             //计算请假时间
             Float leaveSum = 0F;
             for (LeaveSheet sheet : leaveSheet) {
@@ -5912,13 +5936,16 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
             for (Department department : deptName) {
                 if (item.get("deptId").toString().equals(department.getDepartmentId().toString())){
                     if (wxCorpInfo!=null && wxCorpInfo.getSaasSyncContact()==1){
-                        item.put("deptName",getWxDepartment(department));
+                        item.put("deptName",exportWxDepartment(department));
                     }else {
                         item.put("deptName",getSupDepartment(department));
                     }
                     continue;
                 }
             }
+            if (!item.containsKey("deptName")){
+                item.put("deptName","未分配");
+            }
             //计算请假时间
             Float leaveSum = 0F;
             for (LeaveSheet sheet : leaveSheet) {