浏览代码

项目任务导入

yurk 2 年之前
父节点
当前提交
0909d28822

+ 44 - 34
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/TaskServiceImpl.java

@@ -343,17 +343,19 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
                 if (nameCell == null) {
                     break;
                 }
-                XSSFCell typeCell = row.getCell(1);
-                XSSFCell stagesCell = row.getCell(2);
+                XSSFCell stagesCell = row.getCell(1);
+                XSSFCell typeCell = row.getCell(2);
                 XSSFCell executorCell = row.getCell(3);
                 XSSFCell levelCell = row.getCell(4);
                 XSSFCell endDateCell = row.getCell(5);
                 XSSFCell planHoursCell = row.getCell(6);
                 nameCell.setCellType(CellType.STRING);
-                typeCell.setCellType(CellType.STRING);
                 stagesCell.setCellType(CellType.STRING);
+                typeCell.setCellType(CellType.STRING);
                 endDateCell.setCellType(CellType.NUMERIC);
-                planHoursCell.setCellType(CellType.STRING);
+                if(planHoursCell!=null){
+                    planHoursCell.setCellType(CellType.STRING);
+                }
                 String name = nameCell.getStringCellValue();
                 String type = typeCell.getStringCellValue();
                 //忽略表头
@@ -364,32 +366,34 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
                 task.setCompanyId(companyId);
                 task.setProjectId(projectId);
                 task.setGroupId(groupId);
-                String[] executorNameArray = executorCell.getStringCellValue().split(",");
-                List<String> executorNameList = Arrays.asList(executorNameArray);
-                String executorIdString="";
-                String executorNameString="";
-                String executorColorString="";
-                for (int i=0;i<executorNameList.size();i++) {
-                    String executorName = executorNameList.get(i);
-                    Optional<User> first = allUserList.stream().filter(u -> u.getName().equals(executorName)).findFirst();
-                    if (first.isPresent()) {
-                        User find = first.get();
-                        if(i==executorNameList.size()-1){
-                            executorIdString+=find.getId();
-                            executorNameString+=find.getName();
-                            executorColorString+=find.getColor();
-                        }else{
-                            executorIdString+=find.getId()+",";
-                            executorNameString+=find.getName()+",";
-                            executorColorString+=find.getColor()+",";
+                if(executorCell!=null){
+                    String[] executorNameArray = executorCell.getStringCellValue().split(",");
+                    List<String> executorNameList = Arrays.asList(executorNameArray);
+                    String executorIdString="";
+                    String executorNameString="";
+                    String executorColorString="";
+                    for (int i=0;i<executorNameList.size();i++) {
+                        String executorName = executorNameList.get(i);
+                        Optional<User> first = allUserList.stream().filter(u -> u.getName().equals(executorName)).findFirst();
+                        if (first.isPresent()) {
+                            User find = first.get();
+                            if(i==executorNameList.size()-1){
+                                executorIdString+=find.getId();
+                                executorNameString+=find.getName();
+                                executorColorString+=find.getColor();
+                            }else{
+                                executorIdString+=find.getId()+",";
+                                executorNameString+=find.getName()+",";
+                                executorColorString+=find.getColor()+",";
+                            }
+                        }else {
+                            httpRespMsg.setError("执行人["+executorName+"]不存在");
                         }
-                    }else {
-                        httpRespMsg.setError("执行人["+executorName+"]不存在");
                     }
+                    task.setExecutorId(executorIdString);
+                    task.setExecutorName(executorNameString);
+                    task.setExecutorColor(executorColorString);
                 }
-                task.setExecutorId(executorIdString);
-                task.setExecutorName(executorNameString);
-                task.setExecutorColor(executorColorString);
                 //获取当前导入的任务列表
                 List<Stages> stagesList = stagesMapper.selectList(new QueryWrapper<Stages>().eq("project_id",projectId).eq("group_id",groupId));
                 if(!stagesList.stream().anyMatch(sg->sg.getStagesName().equals(stagesCell.getStringCellValue()))){
@@ -409,13 +413,19 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
                     task.setStagesName(theFirst.get().getStagesName());
                     task.setSeq(seq++);
                 }
-                task.setTaskLevel(taskLevelMap.get(levelCell.getStringCellValue()));
-                Date dateCellValue = endDateCell.getDateCellValue();
-                System.out.println("日期=="+dateCellValue.toString());
-                String formatValue = new SimpleDateFormat("yyyy-MM-dd").format(dateCellValue);
-                LocalDate endDate = LocalDate.parse(formatValue, DateTimeFormatter.ofPattern("yyyy-MM-dd"));
-                task.setEndDate(endDate);
-                task.setPlanHours(Integer.parseInt(planHoursCell.getStringCellValue()));
+                if(levelCell!=null){
+                    task.setTaskLevel(taskLevelMap.get(levelCell.getStringCellValue()));
+                }
+                if(endDateCell.getDateCellValue()!=null){
+                    Date dateCellValue = endDateCell.getDateCellValue();
+                    System.out.println("日期=="+dateCellValue.toString());
+                    String formatValue = new SimpleDateFormat("yyyy-MM-dd").format(dateCellValue);
+                    LocalDate endDate = LocalDate.parse(formatValue, DateTimeFormatter.ofPattern("yyyy-MM-dd"));
+                    task.setEndDate(endDate);
+                }
+                if(planHoursCell!=null){
+                    task.setPlanHours(Integer.parseInt(planHoursCell.getStringCellValue()));
+                }
                 task.setCreaterId(creator.getId());
                 task.setCreatorColor(creator.getColor());
                 task.setCreaterName(creator.getName());

二进制
fhKeeper/formulahousekeeper/management-platform/src/main/resources/upload/项目任务导入模板.xlsx