Min před 1 rokem
rodič
revize
50ffb5a297
24 změnil soubory, kde provedl 359 přidání a 72 odebrání
  1. 8 2
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ExpenseItemController.java
  2. 1 1
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/GroupBudgetReviewController.java
  3. 1 1
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ProjectRequirementController.java
  4. 16 7
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ReportLogController.java
  5. 16 13
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/TaskCommentController.java
  6. 16 4
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/TaskController.java
  7. 22 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/UserController.java
  8. 4 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/UserCorpwxTimeController.java
  9. 1 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/vo/ExpenseItemVO.java
  10. 1 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/vo/TimelinessRateVO.java
  11. 2 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/DepartmentService.java
  12. 6 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ContractServiceImpl.java
  13. 32 2
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/DepartmentServiceImpl.java
  14. 3 1
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ExpenseSheetServiceImpl.java
  15. 4 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/FinanceServiceImpl.java
  16. 22 18
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/InformationServiceImpl.java
  17. 10 3
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/LeaveSheetServiceImpl.java
  18. 1 1
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ProjectApprovalServiceImpl.java
  19. 115 12
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ProjectServiceImpl.java
  20. 68 4
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ReportServiceImpl.java
  21. 4 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/TaskRestartServiceImpl.java
  22. 2 1
      fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/ExpenseItemMapper.xml
  23. 1 1
      fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/ProjectMapper.xml
  24. 3 1
      fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/ReportMapper.xml

+ 8 - 2
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ExpenseItemController.java

@@ -88,8 +88,14 @@ public class ExpenseItemController {
                 item.add(userName);
                 item.add(deptName);
             }else {
-                item.add(itemVO.getUsername());
-                item.add(itemVO.getDepartmentName());
+                if(dingding!=null&&dingding.getSyncContact()==1){
+                    item.add("$userName="+itemVO.getUsername()+"$");
+                    item.add("$departmentName="+String.valueOf(itemVO.getCorpDdDeptId())+"$");
+                }else {
+                    item.add(itemVO.getUsername());
+                    item.add(itemVO.getDepartmentName());
+                }
+
             }
             item.add(itemVO.getHappenDate());
             item.add(itemVO.getExpenseType());

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

@@ -251,7 +251,7 @@ public class GroupBudgetReviewController {
             List<String> item=new ArrayList<>();
             item.add(groupBudgetReview.getProjectName());
             item.add(groupBudgetReview.getGroupName());
-            if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
+            if((wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1)||(dingding!=null&&dingding.getSyncContact()==1)){
                 Optional<User> first = userList.stream().filter(u -> u.getId().equals(groupBudgetReview.getCreatorId())).findFirst();
                 if(first.isPresent()){
                     item.add("$userName="+first.get().getName()+"$");

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

@@ -169,7 +169,7 @@ public class ProjectRequirementController {
             String userString = corpwxUseridList.toString();
             resultData.add(pr.getProjectCode());
             resultData.add(pr.getProjectName());
-            if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
+            if((wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1)||(dingding!=null&&dingding.getSyncContact()==1)){
                 resultData.add(userString.replaceAll("\\[","").replaceAll("]",""));
             }else {
                 resultData.add(pr.getActiveUsers());

+ 16 - 7
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ReportLogController.java

@@ -1,10 +1,13 @@
 package com.management.platform.controller;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.management.platform.entity.CompanyDingding;
 import com.management.platform.entity.ReportLog;
 import com.management.platform.entity.User;
 import com.management.platform.entity.WxCorpInfo;
+import com.management.platform.mapper.CompanyDingdingMapper;
 import com.management.platform.mapper.UserMapper;
 import com.management.platform.mapper.WxCorpInfoMapper;
 import com.management.platform.service.ReportLogService;
@@ -35,6 +38,8 @@ public class ReportLogController {
     private UserMapper userMapper;
     @Resource
     WxCorpInfoMapper wxCorpInfoMapper;
+    @Resource
+    private CompanyDingdingMapper companyDingdingMapper;
 
     @RequestMapping("/get")
     public HttpRespMsg get(String creatorId, String createDate) {
@@ -42,15 +47,19 @@ public class ReportLogController {
         User user = userMapper.selectById(creatorId);
         List<ReportLog> list = reportLogService.list(new QueryWrapper<ReportLog>().eq("creator_id", creatorId).eq("create_date", createDate));
         WxCorpInfo wxCorpInfo = wxCorpInfoMapper.selectOne(new QueryWrapper<WxCorpInfo>().eq("company_id",user.getCompanyId()));
-        if (wxCorpInfo!=null && wxCorpInfo.getSaasSyncContact() == 1){
-            List<User> users = userMapper.selectList(new QueryWrapper<User>().eq("company_id",user.getCompanyId()));
-            for (ReportLog reportLog : list) {
-                String operatorId = reportLog.getOperatorId();
-                for (User item : users) {
-                    if (item.getId().equals(operatorId)){
-                        String name = item.getName();
+        CompanyDingding dingding = companyDingdingMapper.selectOne(new LambdaQueryWrapper<CompanyDingding>().eq(CompanyDingding::getCompanyId, user.getCompanyId()));
+        List<User> users = userMapper.selectList(new QueryWrapper<User>().eq("company_id",user.getCompanyId()));
+        for (ReportLog reportLog : list) {
+            String operatorId = reportLog.getOperatorId();
+            for (User item : users) {
+                if (item.getId().equals(operatorId)){
+                    String name = item.getName();
+                    if (wxCorpInfo!=null && wxCorpInfo.getSaasSyncContact() == 1){
                         reportLog.setMsg(reportLog.getMsg().replace(name,"$userName=" + item.getCorpwxUserid() + "$"));
+                    }else if(dingding!=null&&dingding.getSyncContact()==1){
+                        reportLog.setMsg(reportLog.getMsg().replace(name,"$userName=" + item.getDingdingUserid() + "$"));
                     }
+
                 }
             }
         }

+ 16 - 13
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/TaskCommentController.java

@@ -1,12 +1,10 @@
 package com.management.platform.controller;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.management.platform.entity.*;
-import com.management.platform.mapper.TaskPersonLiableMapper;
-import com.management.platform.mapper.TaskRestartMapper;
-import com.management.platform.mapper.UserMapper;
-import com.management.platform.mapper.WxCorpInfoMapper;
+import com.management.platform.mapper.*;
 import com.management.platform.service.TaskCommentService;
 import com.management.platform.service.UserService;
 import com.management.platform.util.HttpRespMsg;
@@ -46,6 +44,8 @@ public class TaskCommentController {
     private TaskRestartMapper taskRestartMapper;
     @Resource
     private TaskPersonLiableMapper taskPersonLiableMapper;
+    @Resource
+    private CompanyDingdingMapper companyDingdingMapper;
     /**
      * 添加任务留言
      * @return
@@ -76,23 +76,26 @@ public class TaskCommentController {
         String token = request.getHeader("token");
         User user = userMapper.selectById(token);
         WxCorpInfo wxCorpInfo = wxCorpInfoMapper.selectOne(new QueryWrapper<WxCorpInfo>().eq("company_id",user.getCompanyId()));
+        CompanyDingding dingding = companyDingdingMapper.selectOne(new LambdaQueryWrapper<CompanyDingding>().eq(CompanyDingding::getCompanyId, user.getCompanyId()));
         List<User> users = userMapper.selectList(new QueryWrapper<User>().eq("company_id",user.getCompanyId()));
         for (TaskComment taskComment : taskComments) {
             List<TaskRestart> taskRestartList = taskRestarts.stream().filter(tr -> tr.getTaskCommentId().equals(taskComment.getId())).collect(Collectors.toList());
             List<TaskPersonLiable> taskPersonLiableList = taskPersonLiables.stream().filter(tp -> tp.getTaskCommentId().equals(taskComment.getId())).collect(Collectors.toList());
-            if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
-                String userWxId = "";
-                String userName = taskComment.getUserName();
-                for (User item : users) {
-                    if (item.getId().equals(taskComment.getUserId())){
+            String userWxId = "";
+            String userName = taskComment.getUserName();
+            for (User item : users) {
+                if (item.getId().equals(taskComment.getUserId())){
+                    if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
                         userWxId = item.getCorpwxRealUserid();
-                        break;
+                    }else if(dingding!=null&&dingding.getSyncContact()==1){
+                        userWxId = item.getDingdingUserid();
                     }
+                    break;
                 }
-                String content = taskComment.getContent();
-                String newContent = content.replace(userName, "$userName=" + userWxId + "$");
-                taskComment.setContent(newContent);
             }
+            String content = taskComment.getContent();
+            String newContent = content.replace(userName, "$userName=" + userWxId + "$");
+            taskComment.setContent(newContent);
             for (TaskPersonLiable taskPersonLiable : taskPersonLiableList) {
                 Optional<User> first = users.stream().filter(us -> us.getId().equals(taskPersonLiable.getPersonLiableId())).findFirst();
                 if(first.isPresent()){

+ 16 - 4
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/TaskController.java

@@ -270,12 +270,13 @@ public class TaskController {
                 taskService.update(sample, new QueryWrapper<Task>().eq("parent_tid", task.getId()));
             }
             List<TaskExecutor> oldExeList = taskExecutorMapper.selectList(new QueryWrapper<TaskExecutor>().eq("task_id", task.getId()));
+            CompanyDingding dingding = companyDingdingService.getOne(new LambdaQueryWrapper<CompanyDingding>().eq(CompanyDingding::getCompanyId, user.getCompanyId()));
             //计算需要移除的执行人
             List<Integer> ids = oldExeList.stream().filter(old->!task.getExecutorList().stream().anyMatch(newT->newT.getId()!=null&&newT.getId().equals(old.getId())))
                         .map(TaskExecutor::getId).collect(Collectors.toList());
             List<TaskExecutor> hasRemoveExecutor = oldExeList.stream().filter(old -> !task.getExecutorList().stream().anyMatch(newT -> newT.getId() != null && newT.getId().equals(old.getId()))).collect(Collectors.toList());
             if(hasRemoveExecutor.size()>0){
-                if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
+                if((wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1)||(dingding!=null&&dingding.getSyncContact()==1)){
                     taskCommentString.append(",移除了执行人"+hasRemoveExecutor.stream().map(h->{
                         if(!h.getExecutorId().equals(user.getId())){
                             return "$userName="+h.getExecutorName()+"$";
@@ -301,7 +302,7 @@ public class TaskController {
                         .map(TaskExecutor::getExecutorId).collect(Collectors.toList());
                 List<TaskExecutor> newAddExecutor = task.getExecutorList().stream().filter(newT -> !StringUtils.isEmpty(newT.getExecutorId()) && !oldExeList.stream().anyMatch(old -> newT.getExecutorId().equals(old.getExecutorId()))).collect(Collectors.toList());
                 if(newAddExecutor.size()>0){
-                    if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
+                    if((wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1)||(dingding!=null&&dingding.getSyncContact()==1)){
                         taskCommentString.append(",新增了执行人"+newAddExecutor.stream().map(h->{
                             if(!h.getExecutorId().equals(user.getId())){
                                 return "$userName="+h.getExecutorName()+"$";
@@ -317,7 +318,7 @@ public class TaskController {
                     Optional<TaskExecutor> first = oldExeList.stream().filter(o -> o.getId().equals(oldHa.getId())).findFirst();
                     if(first.isPresent()){
                         if(!oldHa.getPlanHours().equals(first.get().getPlanHours())){
-                            if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
+                            if((wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1)||(dingding!=null&&dingding.getSyncContact()==1)){
                                 if(oldHa.getExecutorId().equals(user.getId())){
                                     taskCommentString.append(",修改了执行人"+oldHa.getExecutorName()+"计划工时为"+oldHa.getPlanHours()+"小时");
                                 }else {
@@ -1069,6 +1070,13 @@ public class TaskController {
                     }else {
                         row.createCell(2).setCellValue("");
                     }
+                }else if(dingding!=null&&dingding.getSyncContact()==1){
+                    Optional<User> first = userList.stream().filter(ul -> ul.getId().equals(task.getExecutorId())).findFirst();
+                    if(first.isPresent()){
+                        row.createCell(2).setCellValue("$userName="+(first.get().getDingdingUserid()==null?"":first.get().getDingdingUserid())+"$");
+                    }else {
+                        row.createCell(2).setCellValue("");
+                    }
                 }else {
                     row.createCell(2).setCellValue(task.getExecutorName());
                 }
@@ -1424,6 +1432,8 @@ public class TaskController {
             String executorString = executorList.stream().map(t->{
                 if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
                     return "$userName="+t.getExecutorName()+"$";
+                }else if(dingding!=null&&dingding.getSyncContact()==1){
+                    return "$userName="+t.getExecutorName()+"$";
                 }else {
                     return t.getExecutorName();
                 }
@@ -1438,7 +1448,9 @@ public class TaskController {
                     if(department.isPresent()){
                         if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
                             item.add("$departmentName="+department.get().getCorpwxDeptid()+"$");
-                        }else {
+                        }else if(dingding!=null&&dingding.getSyncContact()==1){
+                            item.add("$departmentName="+department.get().getDdDeptid()+"$");
+                        } else {
                             item.add(department.get().getDepartmentName());
                         }
                     }else {

+ 22 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/UserController.java

@@ -403,6 +403,8 @@ public class UserController {
                     row.createCell(0).setCellValue(rowNum);
                     if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
                         row.createCell(1).setCellValue("$userName="+(item.getCorpwxUserid()==null?" ":item.getCorpwxUserid())+"$");
+                    }else if(dingding!=null&&dingding.getSyncContact()==1){
+                        row.createCell(1).setCellValue("$userName="+(item.getDingdingUserid()==null?" ":item.getDingdingUserid())+"$");
                     }else {
                         row.createCell(1).setCellValue(item.getName());
                     }
@@ -410,6 +412,16 @@ public class UserController {
                     row.createCell(3).setCellValue(item.getPhone());
                     if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
                         row.createCell(4).setCellValue("$departmentName="+(item.getCorpwxDeptid()==null?" ":item.getCorpwxDeptid())+"$");
+                    }else if(dingding!=null&&dingding.getSyncContact()==1){
+                        if (item.getDepartmentId() != 0) {
+                            Optional<Department> first = deptList.stream().filter(d -> d.getDepartmentId().equals(item.getDepartmentId())).findFirst();
+                            if(first.isPresent()){
+                                Department department =first.get();
+                                row.createCell(4).setCellValue("$departmentName="+(department.getDdDeptid()==null?" ":department.getDdDeptid())+"$");
+                            }else {
+                                row.createCell(4).setCellValue(item.getDepartmentName());
+                            }
+                        }
                     }else {
                         row.createCell(4).setCellValue(item.getDepartmentName());
                     }
@@ -419,6 +431,8 @@ public class UserController {
                             if(first.isPresent()){
                                 if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
                                     row.createCell(5).setCellValue("$userName="+(first.get().getCorpwxUserid()==null?" ":first.get().getCorpwxUserid())+"$");
+                                }else if(dingding!=null&&dingding.getSyncContact()==1){
+                                    row.createCell(5).setCellValue("$userName="+(first.get().getDingdingUserid()==null?" ":first.get().getDingdingUserid())+"$");
                                 }else {
                                     row.createCell(5).setCellValue(first.get().getName());
                                 }
@@ -614,6 +628,14 @@ public class UserController {
                 if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
                     row.createCell(1).setCellValue("$userName="+(item.getCorpwxUserid()==null?"":item.getCorpwxUserid())+"$");
                     row.createCell(2).setCellValue("$departmentName="+(item.getCorpwxDeptid()==null?"":item.getCorpwxDeptid())+"$");
+                }else if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
+                    row.createCell(1).setCellValue("$userName="+(item.getDingdingUserid()==null?"":item.getDingdingUserid())+"$");
+                    Optional<Department> first = deptList.stream().filter(d -> d.getDepartmentId().equals(item.getDepartmentId())).findFirst();
+                    if(first.isPresent()){
+                        row.createCell(2).setCellValue("$departmentName="+(first.get().getDdDeptid()==null?"":first.get().getDdDeptid())+"$");
+                    }else {
+                        row.createCell(2).setCellValue("");
+                    }
                 }else {
                     row.createCell(1).setCellValue(item.getName());
                     row.createCell(2).setCellValue(item.getDepartmentName());

+ 4 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/UserCorpwxTimeController.java

@@ -300,6 +300,8 @@ public class UserCorpwxTimeController {
             dataList.add((String)dataItem.get("weekDayTxt"));
             if(wxCorpInfo.getSaasSyncContact()==1){
                 dataList.add("$userName="+(String)dataItem.get("corpwxUserid")+"$");
+            }else if(dingding!=null&&dingding.getSyncContact()==1){
+                dataList.add("$userName="+(String)dataItem.get("username")+"$");
             }else{
                 dataList.add((String)dataItem.get("username"));
             }
@@ -380,6 +382,8 @@ public class UserCorpwxTimeController {
             dataList.add(ymonth);
             if(wxCorpInfo.getSaasSyncContact()==1){
                 dataList.add("$userName="+(String)dataItem.get("corpwxUserid")+"$");
+            }else if(dingding!=null&&dingding.getSyncContact()==1){
+                dataList.add("$userName="+(String)dataItem.get("username")+"$");
             }else{
                 dataList.add((String)dataItem.get("username"));
             }

+ 1 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/vo/ExpenseItemVO.java

@@ -13,4 +13,5 @@ public class ExpenseItemVO extends ExpenseItem {
     public String departmentName;
     public String corpwxUserId;
     public String corpwxDeptId;
+    public String corpDdDeptId;
 }

+ 1 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/vo/TimelinessRateVO.java

@@ -14,6 +14,7 @@ public class TimelinessRateVO {
     private String userName;
     private String corpwxUserId;
     private Integer corpwxDeptId;
+    private Integer corpDdDeptId;
     private String departmentName;
     private String timelinessRate;
     private String timelinessRateWithLeave;

+ 2 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/DepartmentService.java

@@ -61,4 +61,6 @@ public interface DepartmentService extends IService<Department> {
     String exportWxDepartment(Department department,List<Department> departmentList);
 
     HttpRespMsg sortList(HttpServletRequest request,List<DepartmentVO> list);
+
+    String exportDdDepartment(Department department, List<Department> departmentList);
 }

+ 6 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ContractServiceImpl.java

@@ -2,6 +2,7 @@ package com.management.platform.service.impl;
 
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.management.platform.entity.*;
@@ -96,6 +97,7 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract> i
             String token = request.getHeader("token");
             User user = userMapper.selectById(token);
             WxCorpInfo wxCorpInfo = wxCorpInfoMapper.selectOne(new QueryWrapper<WxCorpInfo>().eq("company_id", user.getCompanyId()));
+            CompanyDingding dingding = companyDingdingMapper.selectOne(new LambdaQueryWrapper<CompanyDingding>().eq(CompanyDingding::getCompanyId, user.getCompanyId()));
             List<SysRichFunction> functionContractList = sysFunctionMapper.getRoleFunctions(user.getRoleId(), "查看全部合同");
             if(functionContractList.size() <= 0){
                 httpRespMsg.setError(MessageUtils.message("access.viewError"));
@@ -179,6 +181,8 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract> i
                             String msg = "";
                             if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
                                 msg = "$userName=" + contractLog.get("operateCorpWxId") + "$" + contractLog.get("msg");
+                            }if(dingding!=null&&dingding.getSyncContact()==1){
+                                msg = "$userName=" + contractLog.get("operateName") + "$" + contractLog.get("msg");
                             }else {
                                 msg = contractLog.get("operateName") + "" + contractLog.get("msg");
                             }
@@ -263,6 +267,8 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract> i
             item.add(contract.getEndDate()==null?"":contract.getEndDate()+"");
             if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
                 contract.setCreatorName("$userName=" + contract.getCreatorWxCorpId() + "$");
+            }if(dingding!=null&&dingding.getSyncContact()==1){
+                contract.setCreatorName("$userName=" + contract.getCreatorName() + "$");
             }else {
                 contract.setCreatorName(contract.getCreatorName());
             }

+ 32 - 2
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/DepartmentServiceImpl.java

@@ -815,6 +815,9 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
                 if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
                     String corpwxUserId = userList.stream().filter(ul -> ul.getId().equals(uid)).findFirst().get().getCorpwxUserid();
                     name ="$userName="+ (corpwxUserId==null?"":corpwxUserId) +"$";
+                }else if(dingding!=null&&dingding.getSyncContact()==1){
+                    String targetName = userList.stream().filter(ul -> ul.getId().equals(uid)).findFirst().get().getName();
+                    name ="$userName="+ (targetName==null?"":targetName) +"$";
                 }else {
                      name = userList.stream().filter(ul -> ul.getId().equals(uid)).findFirst().get().getName();
                 }
@@ -1198,10 +1201,14 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
             for (Map<String, Object> membMap : itemList) {
                 List<String> membRowData = new ArrayList<String>();
                 membRowData.add(String.valueOf(seq));
-                if(wxCorpInfo.getSaasSyncContact()==1){
+                if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
                     membRowData.add("$userName="+(String)membMap.get("name")+"$");
                 }else {
-                    membRowData.add((String)membMap.get("name"));
+                    if(dingding!=null&&dingding.getSyncContact()==1){
+                        membRowData.add("$userName="+(String)membMap.get("name")+"$");
+                    }else {
+                        membRowData.add((String)membMap.get("name"));
+                    }
                 }
                 membRowData.add(((Double)membMap.get("cost")).toString());
                 allList.add(membRowData);
@@ -1386,6 +1393,8 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
                 List<String> item=new ArrayList<>();
                 if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
                     item.add("$departmentName="+(departmentMasterVO.getCorpwxDeptid()==null?"":departmentMasterVO.getCorpwxDeptid())+"$");
+                }else if(dingding!=null&&dingding.getSyncContact()==1){
+                    item.add("$departmentName="+(departmentMasterVO.getDdDeptid()==null?"":departmentMasterVO.getDdDeptid())+"$");
                 }else {
                     item.add(departmentMasterVO.getDepartmentName());
                 }
@@ -1626,6 +1635,27 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
         }
     }
 
+    @Override
+    public String exportDdDepartment(Department department, List<Department> departmentList) {
+        if(department == null || department.getDdDeptid() == null){
+            return "";
+        }
+        String depHierarchy = "$departmentName="+department.getDdDeptid()+"$";
+        //搜到父部门进行添加
+        if (department.getSuperiorId()==null || department.getSuperiorId()==0) {
+            return depHierarchy;
+        }else{
+            Department supDept = null;
+            for (Department dept : departmentList) {
+                if (department.getSuperiorId().equals(dept.getDepartmentId())){
+                    supDept = dept;
+                    break;
+                }
+            }
+            return exportDdDepartment(supDept,departmentList) + "/" + depHierarchy;
+        }
+    }
+
     /**
      * 对部门进行排序
      * @param request

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

@@ -791,7 +791,7 @@ public class ExpenseSheetServiceImpl extends ServiceImpl<ExpenseSheetMapper, Exp
         information.setUserId(owner.getId());
         information.setTime(LocalDateTime.now());
         information.setMsg("您"+(sheet.getCreateDate() == null?"":dateTimeFormatter.format(sheet.getCreateDate())) + "费用报销申请审核"+(sheet.getStatus() == 0?"已通过":"已驳回")+", 审核人:"
-                +(auditor.getCorpwxUserid() != null ? ("$userName="+auditor.getCorpwxUserid()+"$"):auditor.getName()));
+                +(auditor.getCorpwxUserid() != null ? ("$userName="+auditor.getCorpwxUserid()+"$"):auditor.getDingdingUserid()!=null?("$userName="+auditor.getDingdingUserid()+"$"):auditor.getName()));
         information.setType(3);//费用报销模块
         information.setContent(sheet.getId()+"");
         informationMapper.insert(information);
@@ -1170,6 +1170,8 @@ public class ExpenseSheetServiceImpl extends ServiceImpl<ExpenseSheetMapper, Exp
                 List<String> item=new ArrayList<>();
                 if (wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
                     item.add("$userName=" + record.getOwnerName() +"$");
+                }else if (dingding!=null&&dingding.getSyncContact()==1){
+                    item.add("$userName=" + record.getOwnerName() +"$");
                 }else {
                     item.add(record.getOwnerName());
                 }

+ 4 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/FinanceServiceImpl.java

@@ -1200,6 +1200,8 @@ public class FinanceServiceImpl extends ServiceImpl<FinanceMapper, Finance> impl
                             BigDecimal field7 = userFinance.getCustomField7() == null? new BigDecimal(0):userFinance.getCustomField6().multiply(new BigDecimal(workingTime)).divide(userTime.get(creatorId).workingTime, 6, BigDecimal.ROUND_HALF_UP);
                             if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
                                 membRowData.add("$userName="+(us.getCorpwxUserid()==null?"":us.getCorpwxUserid())+"$");
+                            }if(dingding!=null&&dingding.getSyncContact()==1){
+                                membRowData.add("$userName="+us.getName()+"$");
                             }else {
                                 membRowData.add(us.getName());
                             }
@@ -1300,6 +1302,8 @@ public class FinanceServiceImpl extends ServiceImpl<FinanceMapper, Finance> impl
                                     User us = userList.stream().filter(u->u.getId().equals(npu.getUserId())).findFirst().get();
                                     if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
                                         membRowData.add("$userName="+(us.getCorpwxUserid()==null?"":us.getCorpwxUserid())+"$");
+                                    }else if(dingding!=null&&dingding.getSyncContact()==1){
+                                        membRowData.add("$userName="+npu.getName()+"$");
                                     }else {
                                         membRowData.add(npu.getName());
                                     }

+ 22 - 18
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/InformationServiceImpl.java

@@ -1,14 +1,13 @@
 package com.management.platform.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.management.platform.entity.Information;
-import com.management.platform.entity.TaskComment;
-import com.management.platform.entity.User;
-import com.management.platform.entity.WxCorpInfo;
+import com.management.platform.entity.*;
 import com.management.platform.mapper.InformationMapper;
 import com.management.platform.mapper.UserMapper;
 import com.management.platform.mapper.WxCorpInfoMapper;
+import com.management.platform.service.CompanyDingdingService;
 import com.management.platform.service.InformationService;
 import com.management.platform.util.HttpRespMsg;
 import com.management.platform.util.MessageUtils;
@@ -40,6 +39,8 @@ public class InformationServiceImpl extends ServiceImpl<InformationMapper, Infor
 
     @Resource
     private InformationService informationService;
+    @Resource
+    private CompanyDingdingService companyDingdingService;
 
     @Override
     public HttpRespMsg getInformationList(HttpServletRequest request) {
@@ -49,24 +50,27 @@ public class InformationServiceImpl extends ServiceImpl<InformationMapper, Infor
             List<Information> information = informationMapper.selectList(new QueryWrapper<Information>()
                     .eq("user_id", user.getId()).orderByDesc("time").last("LIMIT 20"));
             WxCorpInfo wxCorpInfo = wxCorpInfoMapper.selectOne(new QueryWrapper<WxCorpInfo>().eq("company_id",user.getCompanyId()));
-            if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
-                List<User> users = userMapper.selectList(new QueryWrapper<User>().eq("company_id",user.getCompanyId()));
-                for (Information info : information) {
-                    if (info.getMsg() == null){
-                        continue;
-                    } else if (info.getMsg().contains("更新任务进展为")){
-                        String name = info.getMsg().substring(0, info.getMsg().indexOf("更新任务进展为"));
-                        String userWxId = "";
-                        for (User item : users) {
-                            if (name.equals(item.getName())){
+            CompanyDingding dingding = companyDingdingService.getOne(new LambdaQueryWrapper<CompanyDingding>().eq(CompanyDingding::getCompanyId, user.getCompanyId()));
+            List<User> users = userMapper.selectList(new QueryWrapper<User>().eq("company_id",user.getCompanyId()));
+            for (Information info : information) {
+                if (info.getMsg() == null){
+                    continue;
+                } else if (info.getMsg().contains("更新任务进展为")){
+                    String name = info.getMsg().substring(0, info.getMsg().indexOf("更新任务进展为"));
+                    String userWxId = "";
+                    for (User item : users) {
+                        if (name.equals(item.getName())){
+                            if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
                                 userWxId = item.getCorpwxRealUserid();
-                                break;
+                            }else if(dingding!=null&&dingding.getSyncContact()==1){
+                                userWxId = item.getDingdingUserid();
                             }
+                            break;
                         }
-                        String msg = info.getMsg();
-                        String newMsg = msg.replace(name, "$userName=" + userWxId + "$");
-                        info.setMsg(newMsg);
                     }
+                    String msg = info.getMsg();
+                    String newMsg = msg.replace(name, "$userName=" + userWxId + "$");
+                    info.setMsg(newMsg);
                 }
             }
             httpRespMsg.data = information;

+ 10 - 3
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/LeaveSheetServiceImpl.java

@@ -214,7 +214,7 @@ public class LeaveSheetServiceImpl extends ServiceImpl<LeaveSheetMapper, LeaveSh
         information.setUserId(owner.getId());
         information.setTime(LocalDateTime.now());
         information.setMsg("您"+applyTimeDesc + "请假申请审核"+(sheet.getStatus() == 0?"已通过":"已驳回")+", 审核人:"
-                +(auditor.getCorpwxUserid() != null ? ("$userName="+auditor.getCorpwxUserid()+"$"):auditor.getName()));
+                +(auditor.getCorpwxUserid() != null ? ("$userName="+auditor.getCorpwxUserid()+"$"):auditor.getDingdingUserid() != null ? ("$userName="+auditor.getDingdingUserid()+"$"):auditor.getName()));
         information.setType(4);
         information.setContent(sheet.getId()+"");
         informationMapper.insert(information);
@@ -226,7 +226,7 @@ public class LeaveSheetServiceImpl extends ServiceImpl<LeaveSheetMapper, LeaveSh
         information.setUserId(sheet.getAuditorId());
         information.setTime(LocalDateTime.now());
         User owner = userMapper.selectById(sheet.getOwnerId());
-        information.setMsg("请假待审核, 请假人:" + (owner.getCorpwxUserid() != null?("$userName="+owner.getCorpwxUserid()+"$"):owner.getName()));
+        information.setMsg("请假待审核, 请假人:" + (owner.getCorpwxUserid() != null?("$userName="+owner.getCorpwxUserid()+"$"):owner.getDingdingUserid() != null?("$userName="+owner.getDingdingUserid()+"$"):owner.getName()));
         information.setType(4);
         information.setContent(sheet.getId()+"");
         informationMapper.insert(information);
@@ -606,6 +606,13 @@ public class LeaveSheetServiceImpl extends ServiceImpl<LeaveSheetMapper, LeaveSh
                 }else {
                     item.add("");
                 }
+            }else if(dingding!=null&&dingding.getSyncContact()==1){
+                if (present){
+                    User us = userList.stream().filter(ul -> ul.getId().equals(leaveSheet.getOwnerId())).findFirst().get();
+                    item.add("$userName="+(us.getDingdingUserid()==null?"":us.getDingdingUserid())+"$");
+                }else {
+                    item.add("");
+                }
             }else {
                 item.add(leaveSheet.getOwnerName()==null?"":leaveSheet.getOwnerName());
             }
@@ -651,7 +658,7 @@ public class LeaveSheetServiceImpl extends ServiceImpl<LeaveSheetMapper, LeaveSh
             Optional<User> first = userList.stream().filter(u -> u.getId().equals(leaveSheet.getAuditorId())).findFirst();
             String auditorName = first.isPresent()?first.get().getName():"";
             //转译处理
-            if (wxCorpInfo != null && wxCorpInfo.getSaasSyncContact() == 1) {
+            if ((wxCorpInfo != null && wxCorpInfo.getSaasSyncContact() == 1)||(dingding != null && dingding.getSyncContact() == 1)) {
                 auditorName = "$userName="+auditorName+"$";
             }
             String statusS = "";

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

@@ -746,7 +746,7 @@ public class ProjectApprovalServiceImpl extends ServiceImpl<ProjectApprovalMappe
             item.add(record.getProjectName());
             item.add(record.getCategoryName());
             item.add(record.getIsPublic()==0?"正式项目":"非项目");
-            if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
+            if((wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1)||(dingding!=null&&dingding.getSyncContact()==1)){
                 item.add("$userName="+(record.getInchargerName()==null?"":record.getInchargerName())+"$");
             }else {
                 item.add(record.getInchargerName()==null?"":record.getInchargerName());

+ 115 - 12
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ProjectServiceImpl.java

@@ -1577,6 +1577,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                 finalDeptIds = deptIds;
             }
             List<Map<String, Object>> membList = projectMapper.getProjectCost(companyId,startDate, endDate, curProjectId,stateKey, userIdList,finalDeptIds,filterDeptIds, true);
+            CompanyDingding dingding = companyDingdingMapper.selectOne(new LambdaQueryWrapper<CompanyDingding>().eq(CompanyDingding::getCompanyId, companyId));
             map.put("membList", membList);
             for (Map<String, Object> membMap : membList) {
                 double pTotalTime = 0;
@@ -1602,6 +1603,13 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                     }else {
                         membRowData.add((String)("$departmentName="+membMap.get("corpwxDeptId")+"$"));
                     }
+                }else if(dingding!=null&&dingding.getSyncContact()==1){
+                    membRowData.add((String)("$userName="+membMap.get("name")+"$"));
+                    if(membMap.get("departmentName").equals("未分配")){
+                        membRowData.add("未分配");
+                    }else {
+                        membRowData.add((String)("$departmentName="+membMap.get("corpDdDeptId")+"$"));
+                    }
                 }else {
                     membRowData.add((String)membMap.get("name"));
                     membRowData.add((String)membMap.get("departmentName"));
@@ -1904,12 +1912,17 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                                     membRowData.add("未分配");
                                 }else {
                                     membRowData.add(departmentService.exportWxDepartment(dept,allDepartmentList));
-//                                    membRowData.add((String)("$departmentName="+membMap.get("corpwxDeptId")+"$"));
+                                }
+                            }else if(dingding!=null&&dingding.getSyncContact()==1){
+                                membRowData.add((String)("$userName="+membMap.get("name")+"$"));
+                                if(membMap.get("departmentName").equals("未分配")){
+                                    membRowData.add("未分配");
+                                }else {
+                                    membRowData.add(departmentService.exportDdDepartment(dept,allDepartmentList));
                                 }
                             }else {
                                 membRowData.add((String)membMap.get("name"));
                                 membRowData.add(departmentService.getSupDepartment(dept,allDepartmentList));
-//                                membRowData.add((String)membMap.get("departmentName"));
                             }
                             String creatorId = (String)membMap.get("creatorId");
                             User us = userList.stream().filter(u->u.getId().equals(creatorId)).findFirst().get();
@@ -2064,6 +2077,13 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                         }else {
                             membRowData.add("");
                         }
+                    }else if(dingding!=null&&dingding.getSyncContact()==1){
+                        membRowData.add((String)("$userName="+user.getName()+"$"));
+                        if(first.isPresent()){
+                            membRowData.add((String)("$departmentName="+first.get().getDdDeptid()+"$"));
+                        }else {
+                            membRowData.add("");
+                        }
                     }else {
                         membRowData.add(user.getName());
                         if(first.isPresent()){
@@ -2772,6 +2792,8 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                 User incharger = first.get();
                 if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
                     data.add("$userName="+incharger.getCorpwxUserid()+"$");
+                }if(dingding!=null&&dingding.getSyncContact()==1){
+                    data.add("$userName="+incharger.getDingdingUserid()+"$");
                 }else {
                     data.add(incharger.getName());
                 }
@@ -2921,7 +2943,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                 data.add(task.get("group_real_hours") == null?"":task.get("group_real_hours").toString());
             }
             data.add(task.get("name") != null?task.get("name").toString():"");
-            if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
+            if((wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1)||(dingding!=null&&dingding.getSyncContact()==1)){
                 String userName = "";
                 if(task.get("executor_id") != null){
                     String[] executorIds = task.get("executor_id").toString().split(",");
@@ -2929,7 +2951,11 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                         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(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
+                                userName += "$userName="+(first.get().getCorpwxUserid() == null?"":first.get().getCorpwxUserid())+"$";
+                            }else if(dingding!=null&&dingding.getSyncContact()==1){
+                                userName += "$userName="+(first.get().getDingdingUserid() == null?"":first.get().getDingdingUserid())+"$";
+                            }
                             if (i < executorIds.length - 1){
                                 userName += ",";
                             }
@@ -4179,6 +4205,10 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                     rowData.add("$userName="+(map.get("corpwxUserId")==null?"":map.get("corpwxUserId"))+"$");
                     rowData.add(String.valueOf(StringUtils.isEmpty(map.get("jobNumber"))?"":map.get("jobNumber")));
                     rowData.add("$departmentName="+(map.get("corpwxDeptId")==null?"":map.get("corpwxDeptId"))+"$");
+                }else if(dingding!=null&&dingding.getSyncContact()==1){
+                    rowData.add("$userName="+(String)map.get("username")+"$");
+                    rowData.add(String.valueOf(StringUtils.isEmpty(map.get("jobNumber"))?"":map.get("jobNumber")));
+                    rowData.add("$departmentName="+rowData.add((String)map.get("departmentName"))+"$");
                 }else {
                     rowData.add((String)map.get("username"));
                     rowData.add(String.valueOf(StringUtils.isEmpty(map.get("jobNumber"))?"":map.get("jobNumber")));
@@ -4321,6 +4351,8 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                 rowData.add(""+seq);
                 if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
                     rowData.add("$userName="+(map.get("corpwxUserId")==null?"":map.get("corpwxUserId"))+"$");
+                }else if(dingding!=null&&dingding.getSyncContact()==1){
+                    rowData.add("$userName="+(String)map.get("username")+"$");
                 }else {
                     rowData.add((String)map.get("username"));
                 }
@@ -6528,10 +6560,14 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
             //rowData.add(("1".equals(projectVO.getIsPublic())?"是":"否"));
             rowData.add(("1".equals(projectVO.getIsPublic())?MessageUtils.message("excel.yes"):MessageUtils.message("excel.no")));
             rowData.add(projectVO.getProjectName());
-            if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
+            if((wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1)||(dingding!=null&&dingding.getSyncContact()==1)){
                 if(projectVO.getInchargerId()!=null){
                     User us = userList.stream().filter(ul -> ul.getId().equals(projectVO.getInchargerId())).findFirst().get();
-                    rowData.add("$userName="+us.getCorpwxUserid()+"$");
+                    if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
+                        rowData.add("$userName="+us.getCorpwxUserid()+"$");
+                    }else if(dingding!=null&&dingding.getSyncContact()==1){
+                        rowData.add("$userName="+us.getDingdingUserid()+"$");
+                    }
                 }else {
                     rowData.add("");
                 }
@@ -6547,6 +6583,12 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                     }else {
                         names+="$userName="+(participator.get(i).getCorpwxUserId())+"$"+",";
                     }
+                }else if(dingding!=null&&dingding.getSyncContact()==1){
+                    if(i==participator.size()-1){
+                        names+="$userName="+(participator.get(i).getName())+"$";
+                    }else {
+                        names+="$userName="+(participator.get(i).getName())+"$"+",";
+                    }
                 }else {
                     if(i==participator.size()-1){
                         names+=participator.get(i).getName();
@@ -6560,10 +6602,14 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
             rowData.add(start==null?"":sdf.format(start));
             LocalDate end = projectVO.getPlanEndDate();
             rowData.add(end==null?"":sdf.format(end));
-            if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
+            if((wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1)||(dingding!=null&&dingding.getSyncContact()==1)){
                 Optional<User> first = userList.stream().filter(ul -> ul.getId().equals(projectVO.getCreatorId())).findFirst();
                 if(first.isPresent()){
-                    rowData.add("$userName="+(first.get().getCorpwxUserid()==null?"":first.get().getCorpwxUserid())+"$");
+                    if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
+                        rowData.add("$userName="+(first.get().getCorpwxUserid()==null?"":first.get().getCorpwxUserid())+"$");
+                    }else if(dingding!=null&&dingding.getSyncContact()==1){
+                        rowData.add("$userName="+(first.get().getDingdingUserid()==null?"":first.get().getDingdingUserid())+"$");
+                    }
                 }else {
                     rowData.add("");
                 }
@@ -6906,6 +6952,14 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                     }
                     String s = String.valueOf(membMap.get("corpwxDeptId") == null ? "" : membMap.get("corpwxDeptId"));
                     membRowData.add("$departmentName=" + s + "$");
+                }else if(dingding!=null&&dingding.getSyncContact()==1){
+                    Optional<User> first = userList.stream().filter(ul -> ul.getId().equals(membMap.get("creatorId"))).findFirst();
+                    if(first.isPresent()){
+                        membRowData.add("$userName="+first.get().getDingdingUserid()+"$");
+                    }else {
+                        membRowData.add("");
+                    }
+                    membRowData.add("$departmentName=" + (String)membMap.get("departmentName") + "$");
                 }else {
                     membRowData.add((String)membMap.get("name"));
                     membRowData.add((String)membMap.get("departmentName"));
@@ -7741,6 +7795,8 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                     List<String> membRowData=new ArrayList<>();
                     if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
                         membRowData.add("$userName"+(user.getCorpwxUserid()==null?"":user.getCorpwxUserid())+"$");
+                    }else if(dingding!=null&&dingding.getSyncContact()==1){
+                        membRowData.add("$userName"+(user.getName()==null?"":user.getName())+"$");
                     }else {
                         membRowData.add(user.getName());
                     }
@@ -8479,12 +8535,16 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
             List<String> item=new ArrayList<>();
             if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
                 item.add("$userName="+(timelinessRateVO.getCorpwxUserId()==null?"":timelinessRateVO.getCorpwxUserId())+"$");
+            }else if(dingding!=null&&dingding.getSyncContact()==1){
+                item.add("$userName="+timelinessRateVO.getUserName()+"$");
             }else {
                 item.add(timelinessRateVO.getUserName());
             }
             item.add(timelinessRateVO.getJobNumber());
             if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
                 item.add("$departmentName=" + (timelinessRateVO.getCorpwxDeptId()==null?"":timelinessRateVO.getCorpwxDeptId()) + "$");
+            }else if(dingding!=null&&dingding.getSyncContact()==1){
+                item.add("$departmentName=" + (timelinessRateVO.getCorpDdDeptId()==null?"":timelinessRateVO.getCorpDdDeptId()) + "$");
             }else {
                 item.add(timelinessRateVO.getDepartmentName());
             }
@@ -8747,6 +8807,10 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                 item.add("$userName="+(map.get("corpwxUserId")==null?"":map.get("corpwxUserId"))+"$");
                 item.add(String.valueOf(StringUtils.isEmpty(map.get("jobNumber"))?"":map.get("jobNumber")));
                 item.add("$departmentName="+(map.get("corpwxDeptId")==null?"":map.get("corpwxDeptId"))+"$");
+            }else if(dingding!=null&&dingding.getSyncContact()==1){
+                item.add("$userName="+((String) map.get("name"))+"$");
+                item.add(String.valueOf(StringUtils.isEmpty(map.get("jobNumber"))?"":map.get("jobNumber")));
+                item.add("$departmentName="+((String) map.get("departmentName")==null?"":(String) map.get("departmentName"))+"$");
             }else {
                 item.add((String) map.get("name"));
                 item.add(String.valueOf(StringUtils.isEmpty(map.get("jobNumber"))?"":map.get("jobNumber")));
@@ -10227,6 +10291,9 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
             if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
                 item.add("$userName=" + map.get("name") +"$");
                 item.add("$departmentName="+(map.get("corpwxDeptId")==null?"":map.get("corpwxDeptId"))+"$");
+            }else if(dingding!=null&&dingding.getSyncContact()==1){
+                item.add("$userName=" + map.get("name") +"$");
+                item.add("$departmentName="+((String) map.get("departmentName")==null?"":(String) map.get("departmentName"))+"$");
             }else {
                 item.add((String) map.get("name"));
                 item.add((String) map.get("departmentName")==null?"":(String) map.get("departmentName"));
@@ -10525,12 +10592,16 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
             List<String> item=new ArrayList<>();
             if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
                 item.add("$userName="+(timelinessRateVO.getCorpwxUserId()==null?"":timelinessRateVO.getCorpwxUserId())+"$");
+            }else if(dingding!=null&&dingding.getSyncContact()==1){
+                item.add("$userName="+(timelinessRateVO.getUserName())+"$");
             }else {
                 item.add(timelinessRateVO.getUserName());
             }
             item.add(timelinessRateVO.getJobNumber());
             if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
                 item.add("$departmentName="+(String.valueOf(timelinessRateVO.getCorpwxDeptId()==null?"":timelinessRateVO.getCorpwxDeptId()))+"$");
+            }else if(dingding!=null&&dingding.getSyncContact()==1){
+                item.add("$departmentName="+(timelinessRateVO.getDepartmentName())+"$");
             }else {
                 item.add(timelinessRateVO.getDepartmentName());
             }
@@ -11313,6 +11384,8 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
 //                        }else {
 //                            membRowData.add((String)("$departmentName="+membMap.get("corpwxDeptId")+"$"));
 //                        }
+                    }else if(dingding!=null&&dingding.getSyncContact()==1){
+                        membRowData.add(("$userName="+(String)membMap.get("name")+"$"));
                     }else {
                         membRowData.add((String)membMap.get("name"));
 //                        membRowData.add((String)membMap.get("departmentName"));
@@ -11569,6 +11642,9 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                     if (wxCorpInfo != null && wxCorpInfo.getSaasSyncContact().equals(1)){
                         item.add("$userName="+map.get("wxUserId") + "$");
                         item.add("$departmentName="+map.get("wxdeptId") + "$");
+                    }else if (dingding != null && dingding.getSyncContact().equals(1)){
+                        item.add("$userName="+map.get("userName") + "$");
+                        item.add("$departmentName="+map.get("departmentName") + "$");
                     }else {
                         item.add(map.get("userName") + "");
                         item.add(map.get("departmentName") + "");
@@ -11593,6 +11669,9 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                 if (wxCorpInfo != null && wxCorpInfo.getSaasSyncContact().equals(1)){
                     item.add("$userName="+maps.get(0).get("wxUserId") + "$");
                     item.add("$departmentName="+maps.get(0).get("wxdeptId") + "$");
+                }else if (dingding != null && dingding.getSyncContact().equals(1)){
+                    item.add("$userName="+maps.get(0).get("userName") + "$");
+                    item.add("$departmentName="+maps.get(0).get("departmentName") + "$");
                 }else {
                     item.add(maps.get(0).get("userName") + "");
                     item.add(maps.get(0).get("departmentName") + "");
@@ -12333,6 +12412,8 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
         for (LaborHourRateVo laborHourRateVo : resultList) {
             if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
                 list.add("$departmentName="+laborHourRateVo.getDepartment_name()+"$");
+            }else if(dingding!=null&&dingding.getSyncContact()==1){
+                list.add("$departmentName="+laborHourRateVo.getDepartment_name()+"$");
             }else {
                 list.add(laborHourRateVo.getDepartment_name());
             }
@@ -12793,8 +12874,16 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
             }
             deptIndex+=maps.size();
             for (int i = 0; i < maps.size(); i++) {
-                list.add("$departmentName="+String.valueOf(maps.get(i).get("corpwxDeptId"))+"$");
-                list.add("$userName="+maps.get(i).get("corpwxUserId")+"$");
+                if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
+                    list.add("$departmentName="+String.valueOf(maps.get(i).get("corpwxDeptId"))+"$");
+                    list.add("$userName="+maps.get(i).get("corpwxUserId")+"$");
+                }else if(dingding!=null&&dingding.getSyncContact()==1){
+                    list.add("$departmentName="+String.valueOf(maps.get(i).get("departmentName"))+"$");
+                    list.add("$userName="+String.valueOf(maps.get(i).get("userName"))+"$");
+                }else {
+                    list.add(String.valueOf(maps.get(i).get("departmentName")));
+                    list.add(String.valueOf(maps.get(i).get("userName")));
+                }
                 list.add(String.valueOf(maps.get(i).get("projectName")));
                 list.add(String.valueOf(maps.get(i).get("projectCode")));
                 list.add(String.valueOf(maps.get(i).get("residueTime")));
@@ -13274,6 +13363,8 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
             list.add(String.valueOf(map.get("projectName")));
             if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
                 list.add("$departmentName="+map.get("corpwxDeptId")+"$");
+            }else if(dingding!=null&&dingding.getSyncContact()==1){
+                list.add("$departmentName="+String.valueOf(map.get("department_name"))+"$");
             }else {
                 list.add(String.valueOf(map.get("department_name")));
             }
@@ -13482,6 +13573,8 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                 if(i==userProgress.size()-1){
                     if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
                         sb.append("$userName="+String.valueOf(userProgress.get(i).get("userName"))+"$"+String.valueOf(userProgress.get(i).get("progress")));
+                    }else if(dingding!=null&&dingding.getSyncContact()==1){
+                        sb.append("$userName="+String.valueOf(userProgress.get(i).get("userName"))+"$"+String.valueOf(userProgress.get(i).get("progress")));
                     }else {
                         sb.append(String.valueOf(userProgress.get(i).get("userName"))+String.valueOf(userProgress.get(i).get("progress")));
                     }
@@ -13489,6 +13582,8 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                 }else {
                     if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
                         sb.append("$userName="+String.valueOf(userProgress.get(i).get("userName"))+"$"+String.valueOf(userProgress.get(i).get("progress"))+",");
+                    }else if(dingding!=null&&dingding.getSyncContact()==1){
+                        sb.append("$userName="+String.valueOf(userProgress.get(i).get("userName"))+"$"+String.valueOf(userProgress.get(i).get("progress"))+",");
                     }else {
                         sb.append(String.valueOf(userProgress.get(i).get("userName"))+String.valueOf(userProgress.get(i).get("progress"))+",");
                     }
@@ -13719,8 +13814,16 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
             }
             deptIndex+=maps.size();
             for (int i = 0; i < maps.size(); i++) {
-                list.add("$departmentName="+String.valueOf(maps.get(i).get("corpwxDeptId"))+"$");
-                list.add("$userName="+maps.get(i).get("corpwxUserId")+"$");
+                if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
+                    list.add("$departmentName="+String.valueOf(maps.get(i).get("corpwxDeptId"))+"$");
+                    list.add("$userName="+maps.get(i).get("corpwxUserId")+"$");
+                }else if(dingding!=null&&dingding.getSyncContact()==1){
+                    list.add("$departmentName="+String.valueOf(maps.get(i).get("departmentName"))+"$");
+                    list.add("$userName="+String.valueOf(maps.get(i).get("userName"))+"$");
+                }else {
+                    list.add(String.valueOf(maps.get(i).get("departmentName")));
+                    list.add(String.valueOf(maps.get(i).get("userName")));
+                }
                 list.add(String.valueOf(maps.get(i).get("projectName")));
                 list.add(String.valueOf(maps.get(i).get("projectCode")));
                 list.add(String.valueOf(maps.get(i).get("taskName")));

+ 68 - 4
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ReportServiceImpl.java

@@ -2731,12 +2731,16 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
         String str = null;
         String fillUserId = null;
         WxCorpInfo wxCorpInfo = wxCorpInfoMapper.selectOne(new QueryWrapper<WxCorpInfo>().eq("company_id", company.getId()));
+        CompanyDingding dingding = companyDingdingService.getOne(new LambdaQueryWrapper<CompanyDingding>().eq(CompanyDingding::getCompanyId, company.getId()));
         if (oneReport.getState() == -1) {//待部门直属领导审核
             //str = "您"+date+"导入的日报中"+pNames+"项目被["+user.getName()+"]驳回。原因:" + reason+",请重新导入。";
             String sendToUser = user.getName();
             if (wxCorpInfo != null && wxCorpInfo.getSaasSyncContact() == 1) {
                 //需要转译
                 sendToUser = "$userName="+user.getCorpwxUserid()+"$";
+            }else if (dingding != null && dingding.getSyncContact() == 1) {
+                //需要转译
+                sendToUser = "$userName="+user.getDingdingUserid()+"$";
             }
             str = MessageUtils.message("profession.impProReject",date,pNames,sendToUser,reason);
             fillUserId = oneReport.getFillUserid();
@@ -2746,6 +2750,9 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
             if (wxCorpInfo != null && wxCorpInfo.getSaasSyncContact() == 1) {
                 //需要转译
                 sendToUser = "$userName="+user.getCorpwxUserid()+"$";
+            }else if (dingding != null && dingding.getSyncContact() == 1) {
+                //需要转译
+                sendToUser = "$userName="+user.getDingdingUserid()+"$";
             }
             str = MessageUtils.message("profession.fillProReject",date,pNames,sendToUser,reason);
             fillUserId = oneReport.getCreatorId();
@@ -4522,6 +4529,9 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
             if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
                 dataItem.add("$userName="+(userMonthWork.corpwxUserId==null?"":userMonthWork.corpwxUserId)+"$"+(worktimeList.size()==0?"("+MessageUtils.message("entry.noFill")+")":""));
                 dataItem.add("$departmentName="+(userMonthWork.departmentName==null?"":userMonthWork.departmentName)+"$");
+            }else if(dingding!=null&&dingding.getSyncContact()==1){
+                dataItem.add("$userName="+(userMonthWork.name==null?"":userMonthWork.name)+"$"+(worktimeList.size()==0?"("+MessageUtils.message("entry.noFill")+")":""));
+                dataItem.add("$departmentName="+(userMonthWork.departmentName==null?"":userMonthWork.departmentName)+"$");
             }else {
                 dataItem.add(userMonthWork.name+(worktimeList.size()==0?"("+MessageUtils.message("entry.noFill")+")":""));
                 dataItem.add(userMonthWork.departmentName);
@@ -5546,7 +5556,10 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                 if(needCorpWxTranslate){
                     item.add("$userName="+(map.get("corpwxUserId")==null?"":map.get("corpwxUserId"))+"$");
                     item.add(departmentService.exportWxDepartment(dept,departments));
-                }else {
+                }else if(dingding!=null&&dingding.getSyncContact()==1){
+                    item.add("$userName="+(map.get("name")==null?"":map.get("name"))+"$");
+                    item.add(departmentService.exportDdDepartment(dept,departments));
+                }else  {
                     item.add((String) map.get("name"));
                     item.add(departmentService.getSupDepartment(dept,departments));
                 }
@@ -5654,6 +5667,9 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                         if(needCorpWxTranslate){
                             String projectAuditorName ="$userName="+String.valueOf(map.get("projectAuditorCorpwxUserId"))+"$";
                             item.add(projectAuditorName);
+                        }else if(dingding!=null&&dingding.getSyncContact()==1){
+                            String projectAuditorName ="$userName="+(String)map.get("projectAuditorName")+"$";
+                            item.add(projectAuditorName);
                         }else {
                             item.add((String)map.get("projectAuditorName"));
                         }
@@ -5661,6 +5677,9 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                     if(needCorpWxTranslate){
                         String projectManagerName ="$userName="+String.valueOf(map.get("projectManagerCorpwxUserId"))+"$";
                         item.add(projectManagerName);
+                    }else if(dingding!=null&&dingding.getSyncContact()==1){
+                        String projectAuditorName ="$userName="+(String)map.get("projectManagerName")+"$";
+                        item.add(projectAuditorName);
                     }else {
                         item.add((String)map.get("projectManagerName"));
                     }
@@ -5718,7 +5737,29 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
 											msg = time+" " + auditMsg;
 										}
 									}
-								}else {
+								}else if(dingding!=null&&dingding.getSyncContact()==1){
+                                    Optional<User> first = userList.stream().filter(ul -> ul.getId().equals(audit.getOperatorId())).findFirst();
+                                    if(first.isPresent()){
+                                        String dingdingUserid = first.get().getDingdingUserid();
+                                        if (!StringUtils.isEmpty(dingdingUserid) && auditMsg.contains(dingdingUserid)) {
+                                            if(auditMsg.contains("提交了")){
+                                                int i = auditMsg.indexOf("提");
+                                                String substring = auditMsg.substring(0, i);
+                                                msg = time+" " + auditMsg.replace(substring,"\\$userName="+dingdingUserid+"$\\");
+                                            }else if(auditMsg.contains("审核通过了")){
+                                                int i = auditMsg.indexOf("审");
+                                                String substring = auditMsg.substring(0, i);
+                                                msg = time+" " + auditMsg.replace(substring,"\\$userName="+dingdingUserid+"$\\");
+                                            }else if(auditMsg.contains("驳回了")) {
+                                                int i = auditMsg.indexOf("驳");
+                                                String substring = auditMsg.substring(0, i);
+                                                msg = time+" " + auditMsg.replace(substring,"\\$userName="+dingdingUserid+"$\\");
+                                            }
+                                        } else {
+                                            msg = time+" " + auditMsg;
+                                        }
+                                    }
+                                }else {
 									msg = time+" " + auditMsg;
 								}
 							} 
@@ -5788,6 +5829,16 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                                             } else {
                                                 item.add("待" + departmentName + "(" + deptAuditorName + ")审核");
                                             }
+                                        }else if (dingding!=null&&dingding.getSyncContact()==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") + "";
@@ -5804,10 +5855,14 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                                 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) {
+                                    if (needCorpWxTranslate||(dingding!=null&&dingding.getSyncContact()==1)) {
                                         for (User userItem : userList) {
                                             if (userItem.getId().equals(projectAuditorId)) {
-                                                projectAuditorName = "$userName=" + userItem.getCorpwxUserid() + "$";
+                                                if(needCorpWxTranslate){
+                                                    projectAuditorName = "$userName=" + userItem.getCorpwxUserid() + "$";
+                                                }else if(dingding!=null&&dingding.getSyncContact()==1){
+                                                    projectAuditorName = "$userName=" + userItem.getDingdingUserid() + "$";
+                                                }
                                                 item.add("待项目审核人" + "(" + projectAuditorName + ")审核");
                                                 break;
                                             }
@@ -6274,6 +6329,9 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
             if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
                 line.add("$departmentName="+dataItem.corpwxDeptId+"$");
                 line.add("$userName="+dataItem.corpwxUserId+"$");
+            }else if(dingding!=null&&dingding.getSyncContact()==1){
+                line.add("$departmentName="+dataItem.department+"$");
+                line.add("$userName="+dataItem.name+"$");
             }else {
                 line.add(dataItem.department);
                 line.add(dataItem.name);
@@ -8748,6 +8806,9 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
             if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
                 item.add("$userName="+String.valueOf(record.get("corpWxUserId"))+"$");
                 item.add("$departmentName="+String.valueOf(record.get("corpWxDeptId"))+"$");
+            }else if(dingding!=null&&dingding.getSyncContact()==1){
+                item.add("$userName="+String.valueOf(record.get("userName"))+"$");
+                item.add("$departmentName="+String.valueOf(record.get("deptName"))+"$");
             }else {
                 item.add(String.valueOf(record.get("userName")));
                 item.add(String.valueOf(record.get("deptName")));
@@ -9030,6 +9091,9 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
             if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
                 item.add("$userName="+String.valueOf(map.get("corpwxUserId"))+"$");
                 item.add("$departmentName="+String.valueOf(map.get("corpwxDeptId"))+"$");
+            }else if(dingding!=null&&dingding.getSyncContact()==1){
+                item.add("$userName="+String.valueOf(map.get("name"))+"$");
+                item.add("$departmentName="+String.valueOf(map.get("departmentName"))+"$");
             }else {
                 item.add(String.valueOf(map.get("name")));
                 item.add(String.valueOf(map.get("departmentName")));

+ 4 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/TaskRestartServiceImpl.java

@@ -154,6 +154,10 @@ public class TaskRestartServiceImpl extends ServiceImpl<TaskRestartMapper, TaskR
                         if(first.get().getCorpwxRealUserid()!=null){
                             personLiableNames.append("$userName="+(first.get().getCorpwxUserid()==null?"":first.get().getCorpwxUserid())+"$"+",");
                         }
+                    }else if(dingding!=null&&dingding.getSyncContact()==1){
+                        if(first.get().getName()!=null){
+                            personLiableNames.append("$userName="+(first.get().getName())+"$"+",");
+                        }
                     }else {
                         personLiableNames.append(first.get().getName()+",");
                     }

+ 2 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/ExpenseItemMapper.xml

@@ -36,6 +36,7 @@
         <result column="department_name" property="departmentName" />
         <result column="corpwxUserId" property="corpwxUserId" />
         <result column="corpwxDeptId" property="corpwxDeptId" />
+        <result column="corpDdDeptId" property="corpDdDeptId" />
     </resultMap>
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
@@ -43,7 +44,7 @@
     </sql>
     <select id="getUserExpenseDetail" resultMap="UserBaseResultMap">
         select a.id, a.expense_id, a.project_id, a.happen_date, a.invoice_type, a.tax_percent, a.tax_value, a.amount, a.remark, a.expense_type, a.pic,a.status,
-        user.name as username,user.corpwx_userid as corpwxUserId, department.department_name,department.corpwx_deptid as corpwxDeptId
+        user.name as username,user.corpwx_userid as corpwxUserId, department.department_name,department.corpwx_deptid as corpwxDeptId,department.dd_deptid as corpDdDeptId
         from expense_item a
         left join expense_sheet b on a.expense_id = b.id
         left join user on user.id = b.owner_id

+ 1 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/ProjectMapper.xml

@@ -386,7 +386,7 @@
 
     <!--获取某个项目每个人分别需要的工时-->
     <select id="getProjectCost" resultType="java.util.Map">
-        SELECT b.id as creatorId,a.project_id as projectId, b.name,b.corpwx_userid as corpwxUserId,a.dept_id as deptId,department.corpwx_deptid as corpwxDeptId, IFNULL(department.department_name, '未分配') as departmentName, SUM(a.working_time) AS cost, SUM(a.cost) AS costMoney
+        SELECT b.id as creatorId,a.project_id as projectId, b.name,b.corpwx_userid as corpwxUserId,a.dept_id as deptId,department.corpwx_deptid as corpwxDeptId,department.dd_deptid as corpDdDeptId, IFNULL(department.department_name, '未分配') as departmentName, SUM(a.working_time) AS cost, SUM(a.cost) AS costMoney
         FROM report AS a
         JOIN user AS b ON a.creator_id = b.id
         left join department on department.department_id = a.dept_id

+ 3 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/ReportMapper.xml

@@ -996,8 +996,10 @@
     </select>
 
     <select id="getUserReportTimelinessRate" resultType="java.util.Map">
-        select `user`.name as userName,`user`.corpwx_userid as corpwxUserId,`user`.corpwx_deptid as corpwxDeptId,rl.create_date as createDate,MIN(rl.operate_date )as createTime from report_log rl
+        select `user`.name as userName,`user`.corpwx_userid as corpwxUserId,d.dd_deptid as corpDdDeptId,`user`.corpwx_deptid as corpwxDeptId,rl.create_date as createDate,MIN(rl.operate_date )as createTime
+        from report_log rl
         left join `user` on `user`.id=rl.operator_id
+        left join department d on `user`.department_id=d.department_id
         where rl.company_id=#{companyId}
         and rl.create_date between  #{startDate} and #{endDate}
         and rl.msg like '%提交了%'