cs před 2 roky
rodič
revize
d6416b4b3c

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

@@ -4220,6 +4220,30 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
         return msg;
     }
 
+    //递归获取所有上级部门字符串,格式:"上级部门/上级部门/部门"
+    private String getSupDepartment(Department department) {
+        String depHierarchy = department.getDepartmentName();
+        //搜到父部门进行添加
+        if (department.getSuperiorId()!=null) {
+            Department supDep = departmentMapper.selectById(department.getSuperiorId());
+            depHierarchy = supDep.getDepartmentName() +  "/" + depHierarchy;
+            getSupDepartment(supDep);
+        }
+        return depHierarchy;
+    }
+
+    //递归获取企业微信所有上级部门字符串,格式:"上级部门/上级部门/部门"
+    private String getWxDepartment(Department department) {
+        String depHierarchy = "$departmentName="+department.getCorpwxDeptid()+"$";
+        //搜到父部门进行添加
+        if (department.getCorpwxDeptpid()!=null) {
+            Department supDep = departmentMapper.selectById(department.getCorpwxDeptpid());
+            depHierarchy = "$departmentName="+supDep.getCorpwxDeptid()+"$" +  "/" + depHierarchy;
+            getWxDepartment(supDep);
+        }
+        return depHierarchy;
+    }
+
     @Override
     public HttpRespMsg exportData(String keyword,
                                   @RequestParam(required = false, defaultValue = "1") Integer searchField,
@@ -4228,6 +4252,9 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
         String token = request.getHeader("TOKEN");
         User user = userMapper.selectById(token);
         List<Department> departmentList = departmentMapper.selectList(new QueryWrapper<Department>().eq("company_id", user.getCompanyId()));
+        for (Department department : departmentList) {
+            department.setDepartmentName(getSupDepartment(department));
+        }
         String userId = null;
         List<SysRoleFunction> functionList = sysRoleFunctionMapper.getRoleFunctionNames(user.getRoleId());
         if(!functionList.stream().anyMatch(fun->fun.getFunctionName().equals("查看全部项目"))) {
@@ -4403,7 +4430,9 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                 Optional<Department> first = departmentList.stream().filter(dl -> dl.getDepartmentId().equals(projectVO.getDeptId())).findFirst();
                 if(first.isPresent()){
                     if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
-                        rowData.add("$departmentName="+first.get().getCorpwxDeptid()+"$");
+                        Integer corpwxDeptid = first.get().getCorpwxDeptid();
+                        Department department = departmentMapper.selectOne(new QueryWrapper<Department>().eq("corpwx_deptid", corpwxDeptid));
+                        rowData.add(getWxDepartment(department));
                     }else {
                         rowData.add(first.get().getDepartmentName());
                     }

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

@@ -376,6 +376,12 @@ public class WxCorpInfoServiceImpl extends ServiceImpl<WxCorpInfoMapper, WxCorpI
             JSONObject reqParam = new JSONObject();
             reqParam.put("auth_corpid", corpInfo.getCorpid());
             reqParam.put("permanent_code", corpInfo.getPermanentCode());
+
+            System.out.println("SuiteAccessToken为:"+getSuiteAccessToken());
+            System.out.println("CompanyId为:"+corpInfo.getCompanyId());
+            System.out.println("Corpid为:"+corpInfo.getCorpid());
+            System.out.println("PermanentCode"+corpInfo.getPermanentCode());
+
             HttpEntity<String> requestEntity = new HttpEntity<String>(reqParam.toJSONString(), headers);
             ResponseEntity<String> responseEntity = this.restTemplate.exchange(url,
                     HttpMethod.POST, requestEntity, String.class);
@@ -903,6 +909,10 @@ public class WxCorpInfoServiceImpl extends ServiceImpl<WxCorpInfoMapper, WxCorpI
         for (WxCorpInfo wxCorpInfo : wxCorpInfos) {
             //更新Access_token
             String accessToken = getCorpAccessToken(wxCorpInfo);
+            if (StringUtils.isEmpty(accessToken)){
+                System.out.println(wxCorpInfo.getCorpName()+"accessToken获取失败");
+                continue;
+            }
             url = url.replace("ACCESS_TOKEN", accessToken);
             //查询并更新审核中的审批单
             System.out.println("+++++++++++++++++++开始查询并更新审核中的审批单+++++++++++++++++++");