Przeglądaj źródła

导入版 工时导入修改

Min 1 rok temu
rodzic
commit
10e00c7b8c

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

@@ -386,7 +386,10 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                 projectIds.add(-1);
             }
             List<Map<String,Object>> particpationList=participationMapper.getAllParticipator(projectIds);
-            List<Report> reportList = reportMapper.selectList(new QueryWrapper<Report>().in("project_id",projectIds).and(wrapper -> wrapper.eq("state", 0).or().eq("state", 1).or().eq("state", 3)));
+            List<Report> reportList=new ArrayList<>();
+            if(timeType.getProjectManDay()==1){
+                reportList = reportMapper.selectList(new QueryWrapper<Report>().in("project_id",projectIds).and(wrapper -> wrapper.eq("state", 0).or().eq("state", 1).or().eq("state", 3)));
+            }
             for (Project project : projectList) {
                 //todo:计算项目预算工时
                 if(project.getManDay()!=null){

+ 57 - 14
fhKeeper/formulahousekeeper/management-platform-import/src/main/java/com/management/platform/service/impl/ReportServiceImpl.java

@@ -3871,6 +3871,10 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                     continue;
                 }
                 for (int i=1;i<7+reportCustomList.size(); i++) {
+                    Cell cell = sheet.getRow(0).getCell(i);
+                    if(cell!=null&&(cell.getStringCellValue().contains("日期")||cell.getStringCellValue().contains("时间"))){
+                        continue;
+                    }
                     if (row.getCell(i) != null) {
                         row.getCell(i).setCellType(CellType.STRING);
                     }
@@ -4018,19 +4022,53 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                             report.setState(-1);//待部门上级审核员审核
                             report.setDepartmentAuditState(1);//部门已审核,到上层领导审核
                         }
+                        if(row.getCell(5)!=null&&!StringUtils.isEmpty(row.getCell(5).getStringCellValue())){
+                            report.setContent(row.getCell(5).getStringCellValue());
+                        }
                         report.setCreateDate(LocalDate.parse(reportDate, dtf));
                         report.setCost(reportCreator.getCost()==null?new BigDecimal(0) : reportCreator.getCost().multiply(new BigDecimal(time)));
                         for (int i = 0; i < reportCustomList.size(); i++) {
+                            Cell cell=null;
                             switch (i+1){
-                                case 1:report.setPlate1(row.getCell(7).getStringCellValue());
+                                case 1:
+                                    cell =sheet.getRow(0).getCell(7);
+                                    if(cell!=null&&(cell.getStringCellValue().contains("日期")||cell.getStringCellValue().contains("时间"))){
+                                        row.getCell(7).setCellType(CellType.NUMERIC);
+                                        String format = sdf.format(row.getCell(7).getDateCellValue());
+                                        report.setPlate1(format);
+                                    }else report.setPlate1(row.getCell(7).getStringCellValue());
                                 break;
-                                case 2:report.setPlate2(row.getCell(8).getStringCellValue());
+                                case 2:
+                                    cell = sheet.getRow(0).getCell(8);
+                                    if(cell!=null&&(cell.getStringCellValue().contains("日期")||cell.getStringCellValue().contains("时间"))){
+                                        row.getCell(8).setCellType(CellType.NUMERIC);
+                                        String format =sdf.format(row.getCell(8).getDateCellValue());
+                                        report.setPlate2(dtf.format(LocalDate.parse(format, dtf)));
+                                    }else  report.setPlate2(row.getCell(8).getStringCellValue());
                                 break;
-                                case 3:report.setPlate3(row.getCell(9).getStringCellValue());
+                                case 3:
+                                    cell = sheet.getRow(0).getCell(9);
+                                    if(cell!=null&&(cell.getStringCellValue().contains("日期")||cell.getStringCellValue().contains("时间"))){
+                                        row.getCell(9).setCellType(CellType.NUMERIC);
+                                        String format = sdf.format(row.getCell(9).getDateCellValue());
+                                        report.setPlate3(format);
+                                    }else  report.setPlate3(row.getCell(9).getStringCellValue());
                                 break;
-                                case 4:report.setPlate4(row.getCell(10).getStringCellValue());
+                                case 4:
+                                    cell = sheet.getRow(0).getCell(10);
+                                    if(cell!=null&&(cell.getStringCellValue().contains("日期")||cell.getStringCellValue().contains("时间"))){
+                                        row.getCell(10).setCellType(CellType.NUMERIC);
+                                        String format = sdf.format(row.getCell(10).getDateCellValue());
+                                        report.setPlate4(format);
+                                    }else  report.setPlate4(row.getCell(10).getStringCellValue());
                                 break;
-                                case 5:report.setPlate5(row.getCell(11).getStringCellValue());
+                                case 5:
+                                    cell = sheet.getRow(0).getCell(11);
+                                    if(cell!=null&&(cell.getStringCellValue().contains("日期")||cell.getStringCellValue().contains("时间"))){
+                                        row.getCell(11).setCellType(CellType.NUMERIC);
+                                        String format = sdf.format(row.getCell(11).getDateCellValue());
+                                        report.setPlate5(format);
+                                    }else  report.setPlate5(row.getCell(11).getStringCellValue());
                                 break;
                             }
                         }
@@ -6259,7 +6297,10 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
         if(reportCustomList.size()>0){
             reportCustomList.forEach(rl->{
                 heads.add(rl.getCustomName());
-                exampleDataList.add("自定义示例内容");
+                if(rl.getCustomName().length()>2&&(rl.getCustomName().contains("时间")||rl.getCustomName().contains("日期"))){
+                    exampleDataList.add("2023/06/28");
+                }else exampleDataList.add("自定义示例内容");
+
             });
         }
         List<List<String>> allList = new ArrayList<>();
@@ -6397,18 +6438,12 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                                 case "员工工号":
                                     // 输入批注信息
                                     comment = drawing.createCellComment(anchor);
-                                    // 输入批注信息
-                                    //comment.setString(new HSSFRichTextString("日期格式:yyyy-MM-dd\n" +
-                                    //        "例如: 2021-01-01"));
                                     comment.setString(new XSSFRichTextString("员工存在重名情况下,必填"));
                                     cell.setCellComment(comment);
                                     break;
                                 case "子项目名称":
-                                    // 输入批注信息
                                     comment = drawing.createCellComment(anchor);
                                     // 输入批注信息
-                                    //comment.setString(new HSSFRichTextString("日期格式:yyyy-MM-dd\n" +
-                                    //        "例如: 2021-01-01"));
                                     comment.setString(new XSSFRichTextString("项目下的子项目,没有可以不填"));
                                     cell.setCellComment(comment);
                                     break;
@@ -6416,12 +6451,20 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                                     // 输入批注信息
                                     comment = drawing.createCellComment(anchor);
                                     // 输入批注信息
-                                    //comment.setString(new HSSFRichTextString("日期格式:yyyy-MM-dd\n" +
-                                    //        "例如: 2021-01-01"));
                                     comment.setString(new XSSFRichTextString("填写当天在该项目上投入的工作时长,填写数字;单位为小时"));
                                     cell.setCellComment(comment);
                                     break;
                             }
+                            if((rowList.get(i).contains("时间")||rowList.get(i).contains("日期"))&&rowList.get(i).length()>2){
+                                // 输入批注信息
+                                comment = drawing.createCellComment(anchor);
+                                // 输入批注信息
+                                //comment.setString(new HSSFRichTextString("日期格式:yyyy-MM-dd\n" +
+                                //        "例如: 2021-01-01"));
+                                comment.setString(new XSSFRichTextString("日期格式:yyyy/MM/dd\n" +
+                                        "例如: 2021/01/01"));
+                                cell.setCellComment(comment);
+                            }
                         }else {
                             cell.setCellStyle(cellStyle);
                         }