Browse Source

搜索部门

QuYueTing 6 months ago
parent
commit
7878102fbe

+ 15 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/vo/DepartmentVO.java

@@ -1,5 +1,6 @@
 package com.management.platform.entity.vo;
 
+import com.management.platform.entity.Department;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
@@ -23,4 +24,18 @@ public class DepartmentVO {
     private List<String> otherManagerIds;
     private Integer ddDeptid;
     private Integer pushToSap;
+
+    public static DepartmentVO convertFromDepartment(Department department) {
+        DepartmentVO vo = new DepartmentVO()
+                .setId(department.getDepartmentId())
+                .setManagerId(department.getManagerId())
+                .setLabel(department.getDepartmentName())
+                .setParentId(department.getSuperiorId())
+                .setPushToSap(department.getPushToSap())
+                .setCorpwxDeptid(department.getCorpwxDeptid())
+                .setReportAuditUserid(department.getReportAuditUserid())
+                .setDdDeptid(department.getDdDeptid())
+                .setSeq(department.getSeq());
+        return vo;
+    }
 }

+ 43 - 11
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/DepartmentServiceImpl.java

@@ -1013,6 +1013,7 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
             List users = result.get("user");
             List depts = result.get("dept");
             if (users.size()!=0){
+                //按人员匹配的情况
                 List<User> realUser = userMapper.selectList(new QueryWrapper<User>().in("corpwx_userid", users));
                 if (realUser.size()!=0){
                     List<DepartmentVO> listById = new ArrayList<>();
@@ -1043,22 +1044,40 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
                 }
             }
             if (depts.size()!=0){
+                //按部门匹配的情况
                 List<Department> departmentList = departmentMapper.selectList(new QueryWrapper<Department>().in("corpwx_deptid", depts).eq("company_id",companyId));
-                List<Department> allDepartmentList = departmentMapper.selectList(new QueryWrapper<Department>().eq("company_id",companyId));
-                List<User> userList = userMapper.selectList(new QueryWrapper<User>().eq("company_id", companyId).eq("is_active",1));
-                List<DepartmentOtherManager> departmentOtherManagerList = departmentOtherManagerMapper.selectList(new QueryWrapper<DepartmentOtherManager>().eq("company_id", companyId));
-                //结果列表
+//                List<Department> allDepartmentList = departmentMapper.selectList(new QueryWrapper<Department>().eq("company_id",companyId));
+//                List<User> userList = userMapper.selectList(new QueryWrapper<User>().eq("company_id", companyId).eq("is_active",1));
+//                List<DepartmentOtherManager> departmentOtherManagerList = departmentOtherManagerMapper.selectList(new QueryWrapper<DepartmentOtherManager>().eq("company_id", companyId));
+//                //结果列表
+//                List<DepartmentVO> list = new ArrayList<>();
+//                List<Department> rootDepartments = allDepartmentList.stream().filter(dept -> dept.getSuperiorId() == null).collect(Collectors.toList());
+//                rootDepartments.forEach(root->{
+//                    DepartmentVO rootDeptVO = formatDepartmentToVO(root, departmentOtherManagerList);
+//                    list.add(rootDeptVO);
+//                    fillSubDepartmentList(allDepartmentList, rootDeptVO, departmentOtherManagerList);
+//                });
                 List<DepartmentVO> list = new ArrayList<>();
-                List<Department> rootDepartments = departmentList.stream().filter(dept -> dept.getSuperiorId() == null).collect(Collectors.toList());
-                rootDepartments.forEach(root->{
-                    DepartmentVO rootDeptVO = formatDepartmentToVO(root, departmentOtherManagerList);
-                    list.add(rootDeptVO);
-                    fillSubDepartmentList(allDepartmentList, rootDeptVO, departmentOtherManagerList);
+                departmentList.forEach(dept->{
+                    DepartmentVO departmentVO = DepartmentVO.convertFromDepartment(dept);
+                    list.add(departmentVO);
                 });
+                //从allDepartmentList中找到departmentList中的部门,并组装成树形结构,节点类型为DepartmentVO
+//                for (Department department : departmentList) {
+//                    DepartmentVO departmentVO = DepartmentVO.convertFromDepartment(department);
+//                    Integer parentId = departmentVO.getParentId();
+//                    if (parentId != null) {
+//                        DepartmentVO parentToRootAsTree = findParentToRootAsTree(allDepartmentList, departmentVO);
+//                        list.add(parentToRootAsTree);
+//                    } else {
+//                        //根节点
+//                        list.add(departmentVO);
+//                    }
+//                }
                 //处理部门下人员列表
-                List<DepartmentVO> userListWithDept = getUserListWithDept(userList, list);
+//                List<DepartmentVO> userListWithDept = getUserListWithDept(userList, list);
                 HashMap<String, Object> data = new HashMap<>();
-                data.put("data",userListWithDept);
+                data.put("data",list);
                 data.put("nextCursor","");
                 msg.data = data;
                 return msg;
@@ -1090,6 +1109,19 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
         }
     }
 
+    public DepartmentVO findParentToRootAsTree(List<Department> allDeptList, DepartmentVO deptVO) {
+        Integer parentId = deptVO.getParentId();
+        if (parentId == null) {
+            return deptVO;
+        }
+        Department parentDept = allDeptList.stream().filter(dept -> dept.getDepartmentId().equals(parentId)).findFirst().get();
+        DepartmentVO parentDeptVO = DepartmentVO.convertFromDepartment(parentDept);
+        ArrayList arrayList = new ArrayList();
+        arrayList.add(deptVO);
+        parentDeptVO.setChildren(arrayList);
+        return findParentToRootAsTree(allDeptList, parentDeptVO);
+    }
+
     public List<DepartmentVO> getUserListWithDept(List<User> userList,List<DepartmentVO> departmentVOList ){
         if(departmentVOList!=null&&departmentVOList.size()>0){
             for (DepartmentVO departmentVO : departmentVOList) {

+ 70 - 74
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ReportServiceImpl.java

@@ -6481,95 +6481,91 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                         } else if (String.valueOf(map.get("state")).equals("-1")) {
                             item.add("导入待审核");
                         } else {
-                            //部门审核
-                            if (String.valueOf(map.get("isDeptAudit")).equals("1") && timeType.getReportAuditType() != 7) {
-                                String deptAuditorId = map.get("deptAuditorName") + "";
-                                String departmentName = map.get("departmentName") + "";
-                                for (User userItem : userList) {
-                                    if (userItem.getId().equals(deptAuditorId)) {
-                                        if (needCorpWxTranslate) {
-                                            String deptAuditorName = "$userName=" + userItem.getCorpwxRealUserid() + "$";
-                                            departmentName = "$departmentName=" + departmentName + "$";
-                                            if (timeType.getReportAuditType() == 4) {
-                                                departmentName = map.get("buDepartmentName") + "";
-                                                departmentName = "$departmentName=" + departmentName + "$";
-                                                item.add("待项目所属BU[" + departmentName + "](" + deptAuditorName + ")审核");
-                                            } else {
-                                                item.add("待" + departmentName + "(" + deptAuditorName + ")审核");
-                                            }
-                                        }else if (dingding!=null&&dingding.getContactNeedTranslate()==1) {
-                                            String deptAuditorName = "$userName=" + userItem.getDingdingUserid() + "$";
-                                            departmentName = "$departmentName=" + departmentName + "$";
-                                            if (timeType.getReportAuditType() == 4) {
-                                                departmentName = map.get("buDepartmentName") + "";
-                                                departmentName = "$departmentName=" + departmentName + "$";
-                                                item.add("待项目所属BU[" + departmentName + "](" + deptAuditorName + ")审核");
-                                            } else {
-                                                item.add("待" + departmentName + "(" + deptAuditorName + ")审核");
+                            //项目和部门并行审核模式
+                            if (timeType.getReportAuditType() == 7) {
+                                String str = "待";
+                                if (String.valueOf(map.get("projectAuditState")).equals("0")) {
+                                    String projectAuditorName = map.get("projectAuditorName") + "";
+                                    if (needCorpWxTranslate) {
+                                        for (User userItem : userList) {
+                                            if (userItem.getId().equals(map.get("projectAuditorId"))) {
+                                                projectAuditorName = "$userName=" + userItem.getCorpwxRealUserid() + "$";
+                                                break;
                                             }
-                                        } else {
-                                            if (timeType.getReportAuditType() == 4) {
-                                                departmentName = map.get("buDepartmentName") + "";
-                                                item.add("待项目所属BU[" + departmentName + "](" + userItem.getName() + ")审核");
-                                            } else {
-                                                item.add("待" + departmentName + "(" + userItem.getName() + ")审核");
+                                        }
+                                    }
+                                    str += "项目审核人("+projectAuditorName+")";
+                                }
+                                if (String.valueOf(map.get("departmentAuditState")).equals("0")) {
+                                    String deptAuditorId = map.get("deptAuditorName") + "";
+                                    for (User userItem : userList) {
+                                        if (userItem.getId().equals(deptAuditorId)) {
+                                            String deptAuditorName = userItem.getName();
+                                            if (needCorpWxTranslate) {
+                                                deptAuditorName = "$userName=" + userItem.getCorpwxRealUserid() + "$";
                                             }
+                                            if (str.length() > 1) str += "、";
+                                            str += "部门审核人("+deptAuditorName+")";
+                                            break;
                                         }
-                                        break;
                                     }
                                 }
+                                str += "审核";
+                                item.add(str);
                             } else {
-                                //项目审核或分组审核
-                                if (timeType.getReportAuditType() == 7) {
-                                    //项目和部门并行审核模式
-                                    String str = "待";
-                                    if (String.valueOf(map.get("projectAuditState")).equals("0")) {
-                                        String projectAuditorName = map.get("projectAuditorName") + "";
-                                        if (needCorpWxTranslate) {
-                                            for (User userItem : userList) {
-                                                if (userItem.getId().equals(map.get("projectAuditorId"))) {
-                                                    projectAuditorName = "$userName=" + userItem.getCorpwxRealUserid() + "$";
-                                                    break;
+                                if (String.valueOf(map.get("isDeptAudit")).equals("1")) {
+                                    String deptAuditorId = map.get("deptAuditorName") + "";
+                                    String departmentName = map.get("departmentName") + "";
+                                    for (User userItem : userList) {
+                                        if (userItem.getId().equals(deptAuditorId)) {
+                                            if (needCorpWxTranslate) {
+                                                String deptAuditorName = "$userName=" + userItem.getCorpwxRealUserid() + "$";
+                                                departmentName = "$departmentName=" + departmentName + "$";
+                                                if (timeType.getReportAuditType() == 4) {
+                                                    departmentName = map.get("buDepartmentName") + "";
+                                                    departmentName = "$departmentName=" + departmentName + "$";
+                                                    item.add("待项目所属BU[" + departmentName + "](" + deptAuditorName + ")审核");
+                                                } else {
+                                                    item.add("待" + departmentName + "(" + deptAuditorName + ")审核");
+                                                }
+                                            }else if (dingding!=null&&dingding.getContactNeedTranslate()==1) {
+                                                String deptAuditorName = "$userName=" + userItem.getDingdingUserid() + "$";
+                                                departmentName = "$departmentName=" + departmentName + "$";
+                                                if (timeType.getReportAuditType() == 4) {
+                                                    departmentName = map.get("buDepartmentName") + "";
+                                                    departmentName = "$departmentName=" + departmentName + "$";
+                                                    item.add("待项目所属BU[" + departmentName + "](" + deptAuditorName + ")审核");
+                                                } else {
+                                                    item.add("待" + departmentName + "(" + deptAuditorName + ")审核");
+                                                }
+                                            } else {
+                                                if (timeType.getReportAuditType() == 4) {
+                                                    departmentName = map.get("buDepartmentName") + "";
+                                                    item.add("待项目所属BU[" + departmentName + "](" + userItem.getName() + ")审核");
+                                                } else {
+                                                    item.add("待" + departmentName + "(" + userItem.getName() + ")审核");
                                                 }
                                             }
+                                            break;
                                         }
-                                        str += "项目审核人("+projectAuditorName+")";
                                     }
-                                    if (String.valueOf(map.get("departmentAuditState")).equals("0")) {
-                                        String deptAuditorId = map.get("deptAuditorName") + "";
+                                } else if (String.valueOf(map.get("projectAuditState")).equals("0") || String.valueOf(map.get("groupAuditState")).equals("0")) {
+                                    String projectAuditorName = map.get("projectAuditorName") + "";
+                                    String projectAuditorId = map.get("projectAuditorId") + "";
+                                    if (needCorpWxTranslate||(dingding!=null&&dingding.getContactNeedTranslate()==1)) {
                                         for (User userItem : userList) {
-                                            if (userItem.getId().equals(deptAuditorId)) {
-                                                String deptAuditorName = userItem.getName();
-                                                if (needCorpWxTranslate) {
-                                                    deptAuditorName = "$userName=" + userItem.getCorpwxRealUserid() + "$";
+                                            if (userItem.getId().equals(projectAuditorId)) {
+                                                if(needCorpWxTranslate){
+                                                    projectAuditorName = "$userName=" + userItem.getCorpwxUserid() + "$";
+                                                }else if(dingding!=null&&dingding.getContactNeedTranslate()==1){
+                                                    projectAuditorName = "$userName=" + userItem.getDingdingUserid() + "$";
                                                 }
-                                                if (str.length() > 1) str += "、";
-                                                str += "部门审核人("+deptAuditorName+")";
+                                                item.add("待"+(companyId == 469?"部门主管":"项目审核人") + "(" + projectAuditorName + ")审核");
                                                 break;
                                             }
                                         }
-                                    }
-                                    str += "审核";
-                                    item.add(str);
-                                } else {
-                                    if (String.valueOf(map.get("projectAuditState")).equals("0") || String.valueOf(map.get("groupAuditState")).equals("0")) {
-                                        String projectAuditorName = map.get("projectAuditorName") + "";
-                                        String projectAuditorId = map.get("projectAuditorId") + "";
-                                        if (needCorpWxTranslate||(dingding!=null&&dingding.getContactNeedTranslate()==1)) {
-                                            for (User userItem : userList) {
-                                                if (userItem.getId().equals(projectAuditorId)) {
-                                                    if(needCorpWxTranslate){
-                                                        projectAuditorName = "$userName=" + userItem.getCorpwxUserid() + "$";
-                                                    }else if(dingding!=null&&dingding.getContactNeedTranslate()==1){
-                                                        projectAuditorName = "$userName=" + userItem.getDingdingUserid() + "$";
-                                                    }
-                                                    item.add("待"+(companyId == 469?"部门主管":"项目审核人") + "(" + projectAuditorName + ")审核");
-                                                    break;
-                                                }
-                                            }
-                                        } else {
-                                            item.add("待"+(companyId == 469?"部门主管":"项目审核人") + "(" + projectAuditorName + ")审核");
-                                        }
+                                    } else {
+                                        item.add("待"+(companyId == 469?"部门主管":"项目审核人") + "(" + projectAuditorName + ")审核");
                                     }
                                 }
                             }

+ 1 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/WxCorpInfoServiceImpl.java

@@ -2120,7 +2120,7 @@ public class WxCorpInfoServiceImpl extends ServiceImpl<WxCorpInfoMapper, WxCorpI
                     }else{
                         System.err.println("==================通讯录查询请求无userid列表===================");
                     }
-                    System.err.println(respJson.toString());
+                    System.err.println("通讯录搜索返回结果=="+respJson.toString());
                     Boolean is_last = respJson.getBoolean("is_last");
                     if (!is_last){
                         itemCursor = respJson.getString("next_cursor");

+ 14 - 14
fhKeeper/formulahousekeeper/timesheet-workshop-stand/index.html

@@ -11,11 +11,11 @@
         <link rel="shortcut icon" type="image/x-icon" href="./favicon.ico"/>
         <!-- <link href="./static/css/public.css" rel="stylesheet" type="text/css"/> -->
         <!-- 引入样式 -->
-        <link href="https://cdn.staticfile.org/element-ui/2.13.0/theme-chalk/index.css" rel="stylesheet">
-        <!-- <link rel="stylesheet" href="./static/style/theme/index.css"> -->
+        <!-- <link href="https://cdn.staticfile.org/element-ui/2.13.0/theme-chalk/index.css" rel="stylesheet"> -->
+        <link rel="stylesheet" href="./static/style/theme/index.css">
         <!-- 接入JQ  -->
-        <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
-        <!-- <script src="./static/js/jquery.min.js"></script> -->
+        <!-- <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script> -->
+        <script src="./static/js/jquery.min.js"></script>
         <style>
             /* 滚动条样式修改 */
             /*滚动条凹槽的颜色,还可以设置边框属性 */
@@ -126,20 +126,20 @@
             }
         </script>
         <!-- 引入Vue.js -->
-        <script src="https://cdn.staticfile.org/vue/2.6.10/vue.min.js"></script>
-        <!-- <script src="./static/js/vue.min.js"></script> -->
+        <!-- <script src="https://cdn.staticfile.org/vue/2.6.10/vue.min.js"></script> -->
+        <script src="./static/js/vue.min.js"></script>
         <!-- 引入vuex.js -->
-        <script src="https://cdn.staticfile.org/vuex/3.0.0/vuex.min.js"></script>
-        <!-- <script src="./static/js/vuex.min.js"></script> -->
+        <!-- <script src="https://cdn.staticfile.org/vuex/3.0.0/vuex.min.js"></script> -->
+        <script src="./static/js/vuex.min.js"></script>
         <!-- 引入vue-router -->
-        <script src="https://cdn.staticfile.org/vue-router/3.0.0/vue-router.min.js"></script>
-        <!-- <script src="./static/js/vue-router.min.js"></script> -->
+        <!-- <script src="https://cdn.staticfile.org/vue-router/3.0.0/vue-router.min.js"></script> -->
+        <script src="./static/js/vue-router.min.js"></script>
         <!-- 引入组件库 -->
-        <script src="https://cdn.staticfile.org/element-ui/2.13.0/index.js"></script>
-        <!-- <script src="./static/js/element-ui.js"></script> -->
+        <!-- <script src="https://cdn.staticfile.org/element-ui/2.13.0/index.js"></script> -->
+        <script src="./static/js/element-ui.js"></script>
         <!-- 引入echarts -->
-        <script src="https://cdn.staticfile.org/echarts/3.8.5/echarts.min.js"></script>
-        <!-- <script src="./static/js/echarts.min.js"></script> -->
+        <!-- <script src="https://cdn.staticfile.org/echarts/3.8.5/echarts.min.js"></script> -->
+        <script src="./static/js/echarts.min.js"></script>
         <!-- 引入企业微信js -->
         <script src="https://res.wx.qq.com/open/js/jweixin-1.2.0.js" referrerpolicy="origin"></script>
         <script src="https://open.work.weixin.qq.com/wwopen/js/jwxwork-1.0.0.js" referrerpolicy="origin"></script>