Ver Fonte

任务操作记录生成 导致的bug

Min há 1 ano atrás
pai
commit
01c6a28fa7

+ 6 - 3
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/TaskCommentController.java

@@ -87,15 +87,18 @@ public class TaskCommentController {
                 if (item.getId().equals(taskComment.getUserId())){
                     if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
                         userWxId = item.getCorpwxRealUserid();
+                        String content = taskComment.getContent();
+                        String newContent = content.replace(userName, "$userName=" + userWxId + "$");
+                        taskComment.setContent(newContent);
                     }else if(dingding!=null&&dingding.getContactNeedTranslate()==1){
                         userWxId = item.getDingdingUserid();
+                        String content = taskComment.getContent();
+                        String newContent = content.replace(userName, "$userName=" + userWxId + "$");
+                        taskComment.setContent(newContent);
                     }
                     break;
                 }
             }
-            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()){

+ 7 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/TaskController.java

@@ -276,6 +276,8 @@ public class TaskController {
                         .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){
+                //存在执行认为空的情况
+                hasRemoveExecutor=hasRemoveExecutor.stream().filter(h->h.getExecutorId()!=null).collect(Collectors.toList());
                 if((wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1)||(dingding!=null&&dingding.getContactNeedTranslate()==1)){
                     taskCommentString.append(",移除了执行人"+hasRemoveExecutor.stream().map(h->{
                         if(!h.getExecutorId().equals(user.getId())){
@@ -302,6 +304,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){
+                    newAddExecutor=newAddExecutor.stream().filter(n->n.getExecutorId()!=null).collect(Collectors.toList());
                     if((wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1)||(dingding!=null&&dingding.getContactNeedTranslate()==1)){
                         taskCommentString.append(",新增了执行人"+newAddExecutor.stream().map(h->{
                             if(!h.getExecutorId().equals(user.getId())){
@@ -315,6 +318,10 @@ public class TaskController {
                     }
                 }
                 for (TaskExecutor oldHa : oldHas) {
+                    //执行人为空的情况跳过
+                    if(oldHa.getExecutorId()==null){
+                        continue;
+                    }
                     Optional<TaskExecutor> first = oldExeList.stream().filter(o -> o.getId().equals(oldHa.getId())).findFirst();
                     if(first.isPresent()){
                         if(!oldHa.getPlanHours().equals(first.get().getPlanHours())){