Selaa lähdekoodia

任务导入修改1

yusm 1 vuosi sitten
vanhempi
commit
0e14bd3bfe

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

@@ -18,5 +18,6 @@ public class TasKVo extends Task {
     private Clue clue;
     private Contacts contacts;
     private List<TaskExecutor> taskExecutors;
+    private List<TaskLog> taskLogs;
 
 }

+ 72 - 7
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/impl/TaskServiceImpl.java

@@ -79,6 +79,12 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
     @Resource
     private SysFormMapper sysFormMapper;
 
+    @Resource
+    private TaskExecutorService taskExecutorService;
+
+    @Resource
+    private TaskLogService taskLogService;
+
 
     @Override
     @Transactional
@@ -421,7 +427,7 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
                                     first= userList.stream().filter(u -> u.getName().equals(userName)||(u.getJobNumber()!=null&&u.getJobNumber().equals(userName))).findFirst();
                                 }
                                 if (first.isPresent()) {
-                                  executorNames.add(first.get().getId());
+                                    executorIds.add(first.get().getId());
                                 } else {
                                     throw new Exception("["+userName+"]在系统中不存在");
                                 }
@@ -430,7 +436,7 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
                             for (String executorId : executorIds) {
                                 joiner.add(executorId);
                             }
-                            task.setExecutorId(joiner.toString()==null?"":joiner.toString());
+                            task.setExecutorId(joiner.length()==0?null:joiner.toString());
                         }
                     }
                     /*if(cell.getCellType()==CellType.STRING.getCode()&&!StringUtils.isEmpty(cell.getStringCellValue())){
@@ -447,11 +453,11 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
                     if(modelName.equals("priority")){
                         if(!StringUtils.isEmpty(cell.getStringCellValue())){
                             switch (cell.getStringCellValue()){
-                                case "底":task.setStatus(0);
+                                case "低":task.setPriority(0);
                                     break;
-                                case "中":task.setStatus(1);
+                                case "中":task.setPriority(1);
                                     break;
-                                case "高":task.setStatus(2);
+                                case "高":task.setPriority(2);
                                     break;
                             }
                         }
@@ -480,7 +486,39 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
             }
 
             if(importTaskList.size()>0){
-                if(!saveOrUpdateBatch(importTaskList)){
+                if(saveOrUpdateBatch(importTaskList)){
+                    ArrayList<TaskExecutor> taskExecutors = new ArrayList<>();
+                    ArrayList<TaskLog> taskLogs = new ArrayList<>();
+                    for (Task task : importTaskList) {
+                        String executorId = task.getExecutorId();
+
+                        if (StringUtils.isNotEmpty(executorId)){
+                            String[] split = executorId.split(",");
+                            for (String userId : split) {
+                                TaskExecutor taskExecutor = new TaskExecutor();
+                                taskExecutor.setTaskId(task.getId());
+                                taskExecutor.setExecutorId(userList.stream().filter(u -> u.getId().equals(userId)).collect(Collectors.toList()).get(0).getId());
+                                taskExecutor.setExecutorName(userList.stream().filter(u -> u.getId().equals(userId)).collect(Collectors.toList()).get(0).getName());
+                                taskExecutors.add(taskExecutor);
+                            }
+                        }
+                        TaskLog taskLog = new TaskLog();
+                        taskLog.setTaskId(task.getId());
+                        taskLog.setContent("通过文件导入任务");
+                        taskLog.setModTime(LocalDateTime.now());
+                        taskLog.setUserName(user.getName());
+                        taskLog.setUserId(user.getId());
+                        taskLogs.add(taskLog);
+                    }
+                    boolean b1 = taskExecutorService.saveOrUpdateBatch(taskExecutors);
+                    boolean b2 = taskLogService.saveOrUpdateBatch(taskLogs);
+                    if (b1&&b2){
+                        return msg;
+                    }else {
+                        msg.setError("验证失败");
+                        return msg;
+                    }
+                }else {
                     msg.setError("验证失败");
                     return msg;
                 }
@@ -547,11 +585,38 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
                 if(model.equals("taskName")){
                     value = String.valueOf(aClass.getMethod("getTaskName").invoke(tasKVo)).equals("null")?"":String.valueOf(aClass.getMethod("getTaskName").invoke(tasKVo));
                 }
+                if(model.equals("priority")){
+                    value = String.valueOf(aClass.getMethod("getPriority").invoke(tasKVo)).equals("null")?"":String.valueOf(aClass.getMethod("getPriority").invoke(tasKVo));
+                }
+                if(model.equals("executorId")){
+                    StringJoiner stringJoiner = new StringJoiner(",");
+                    List<TaskExecutor> taskExecutors = tasKVo.getTaskExecutors();
+                    if (taskExecutors!=null&&!taskExecutors.isEmpty()){
+                        for (TaskExecutor taskExecutor : taskExecutors) {
+                            stringJoiner.add(taskExecutor.getExecutorName());
+                        }
+                    }
+                    value =stringJoiner.length()==0?"":stringJoiner.toString();
+                }
+                if(model.equals("startDate")){
+                    if (tasKVo.getStartDate()!=null){
+                        LocalDate startDate = tasKVo.getStartDate();
+                        DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+                        value=startDate.format(dateTimeFormatter);
+                    }
+                }
+                if(model.equals("endDate")){
+                    if (tasKVo.getEndDate()!=null){
+                        LocalDate endDate = tasKVo.getEndDate();
+                        DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+                        value=endDate.format(dateTimeFormatter);
+                    }
+                }
                 item.add(value);
             }
             dataList.add(item);
         }
-        String fileName="联系人表导出_"+ System.currentTimeMillis();
+        String fileName="任务表导出_"+ System.currentTimeMillis();
         return excelExportService.exportGeneralExcelByTitleAndList(wxCorpInfo,fileName,dataList,path);
     }