瀏覽代碼

课时统计导出调整

dzx 1 年之前
父節點
當前提交
66ac13f76a

+ 36 - 36
src/main/java/com/xjrsoft/module/classtime/service/impl/ClassTimeStatisticsServiceImpl.java

@@ -163,6 +163,7 @@ public class ClassTimeStatisticsServiceImpl extends MPJBaseServiceImpl<ClassTime
                     new QueryWrapper<DictionaryDetail>().lambda()
                             .eq(DictionaryDetail::getItemId, 1833772737004875778L)
                             .eq(DictionaryDetail::getDeleteMark, DeleteMark.NODELETE.getCode())
+                            .orderByAsc(DictionaryDetail::getCode)
             );
             Map<String, String> CourseTimeTypeMap = CourseTimeTypeList.stream().collect(Collectors.toMap(DictionaryDetail::getCode, DictionaryDetail::getName));
             List<WfTeacherCourseTime> courseTimeList = this.baseMapper.getWfTeacherCourseTimeList(statistics);
@@ -550,6 +551,7 @@ public class ClassTimeStatisticsServiceImpl extends MPJBaseServiceImpl<ClassTime
                     new QueryWrapper<DictionaryDetail>().lambda()
                             .eq(DictionaryDetail::getItemId, 1833772737004875778L)
                             .eq(DictionaryDetail::getDeleteMark, DeleteMark.NODELETE.getCode())
+                            .orderByAsc(DictionaryDetail::getCode)
             );
 
             /**
@@ -568,6 +570,11 @@ public class ClassTimeStatisticsServiceImpl extends MPJBaseServiceImpl<ClassTime
                 rowData.add(sortCode.toString());//序号
                 rowData.add(recordVo.getUserName());//工号
                 rowData.add(recordVo.getName());//姓名
+                JsonObject courseTimeTypeJson = parser.parse(recordVo.getCourseTimeTypeData()).getAsJsonObject();
+                for (DictionaryDetail dictionaryDetail : CourseTimeTypeList) {
+                    Double courseTimeTypeTime = courseTimeTypeJson.get(dictionaryDetail.getName()).getAsDouble();
+                    rowData.add(courseTimeTypeTime == 0 ? "" : courseTimeTypeTime.toString());//教研会
+                }
 
 //                rowData.add(recordVo.getClassTime1()==null?"":recordVo.getClassTime1().toString());//教研会
 //                rowData.add(recordVo.getClassTime2()==null?"":recordVo.getClassTime2().toString());//督导听课
@@ -638,10 +645,10 @@ public class ClassTimeStatisticsServiceImpl extends MPJBaseServiceImpl<ClassTime
             }
 
             //第二行表头
-            createSecondTitle(workbook, sheet, statistics, weekTimeRangeVos.size() * 4 + 1);
+            createSecondTitle(workbook, sheet, statistics, weekTimeRangeVos.size() * 4 + 1, CourseTimeTypeList);
 
             //第三行表头
-            createThirdTitle(workbook, sheet, statistics.getMonth(), weekTimeRangeVos, 13);
+            createThirdTitle(workbook, sheet, statistics.getMonth(), weekTimeRangeVos, 7 + CourseTimeTypeList.size());
             //第四行表头
             createFourthTitle(workbook, sheet, weekTimeRangeVos, 13);
             int dataRowNumber = 4;
@@ -684,7 +691,7 @@ public class ClassTimeStatisticsServiceImpl extends MPJBaseServiceImpl<ClassTime
      * 中间动态表头:每周,总课时(含调顶课节)、顶课(节)、调课(节)、晚辅(节)......课时晚辅合计
      * 后端固定表头:总课时、课时费(元)、外聘教师超课时费(元)、总金额(元)
      */
-    void createSecondTitle(Workbook workbook, Sheet sheet, ClassTimeStatistics statistics, int mergeCoulmn){
+    void createSecondTitle(Workbook workbook, Sheet sheet, ClassTimeStatistics statistics, int mergeCoulmn, List<DictionaryDetail> CourseTimeTypeList){
         Font font = workbook.createFont();
         font.setFontName("宋体");
         font.setFontHeightInPoints((short)12);
@@ -695,67 +702,60 @@ public class ClassTimeStatisticsServiceImpl extends MPJBaseServiceImpl<ClassTime
         cellStyle.setAlignment(HorizontalAlignment.CENTER);
 
         Row row1 = sheet.createRow(1);
-        Cell row1cell1 = row1.createCell(0);
+        int cellNumber = 0;
+        Cell row1cell1 = row1.createCell(cellNumber);
         row1cell1.setCellValue("序号");
         row1cell1.setCellStyle(cellStyle);
+        cellNumber ++;
 
-        Cell row1cell2 = row1.createCell(1);
+        Cell row1cell2 = row1.createCell(cellNumber);
         row1cell2.setCellValue("工号");
         row1cell2.setCellStyle(cellStyle);
+        cellNumber ++;
 
-        Cell row1cell3 = row1.createCell(2);
+        Cell row1cell3 = row1.createCell(cellNumber);
         row1cell3.setCellValue("姓名");
         row1cell3.setCellStyle(cellStyle);
+        cellNumber ++;
 
-        Cell row1cell4 = row1.createCell(3);
-        row1cell4.setCellValue("教研会");
-        row1cell4.setCellStyle(cellStyle);
-
-        Cell row1cell5 = row1.createCell(4);
-        row1cell5.setCellValue("督导听课");
-        row1cell5.setCellStyle(cellStyle);
-
-        Cell row1cell6 = row1.createCell(5);
-        row1cell6.setCellValue("临近三年退休政策");
-        row1cell6.setCellStyle(cellStyle);
-
-        Cell row1cell7 = row1.createCell(6);
-        row1cell7.setCellValue("出题");
-        row1cell7.setCellStyle(cellStyle);
-
-        Cell row1cell8 = row1.createCell(7);
-        row1cell8.setCellValue("阅卷");
-        row1cell8.setCellStyle(cellStyle);
-
-        Cell row1cell9 = row1.createCell(8);
-        row1cell9.setCellValue("周末培优");
-        row1cell9.setCellStyle(cellStyle);
+        for (DictionaryDetail detail : CourseTimeTypeList) {
+            Cell row1cell4 = row1.createCell(cellNumber);
+            row1cell4.setCellValue(detail.getName());
+            row1cell4.setCellStyle(cellStyle);
+            cellNumber ++;
+        }
 
-        Cell row1cell10 = row1.createCell(9);
+        Cell row1cell10 = row1.createCell(cellNumber);
         row1cell10.setCellValue("早自习");
         row1cell10.setCellStyle(cellStyle);
+        cellNumber ++;
 
-        Cell row1cell11 = row1.createCell(10);
+        Cell row1cell11 = row1.createCell(cellNumber);
         row1cell11.setCellValue("正课(含调顶课时)");
         row1cell11.setCellStyle(cellStyle);
+        cellNumber ++;
 
-        Cell row1cell12 = row1.createCell(11);
+        Cell row1cell12 = row1.createCell(cellNumber);
         row1cell12.setCellValue("晚辅(含调顶课时)");
         row1cell12.setCellStyle(cellStyle);
+        cellNumber ++;
 
-        Cell row1cell13 = row1.createCell(12);
+        Cell row1cell13 = row1.createCell(cellNumber);
         row1cell13.setCellValue("顶课");
         row1cell13.setCellStyle(cellStyle);
+        cellNumber ++;
 
-        Cell row1cell14 = row1.createCell(13);
+        Cell row1cell14 = row1.createCell(cellNumber);
         row1cell14.setCellValue("调课");
         row1cell14.setCellStyle(cellStyle);
+        cellNumber ++;
 
-        Cell row1cell15 = row1.createCell(14);
+        Cell row1cell15 = row1.createCell(cellNumber);
         row1cell15.setCellValue("正课课时数(平台导出" + statistics.getMonth() + "月)");
         row1cell15.setCellStyle(cellStyle);
+        cellNumber ++;
 
-        int index = 14 + mergeCoulmn;
+        int index = cellNumber + mergeCoulmn;
         Cell row1cell16 = row1.createCell(index);
         row1cell16.setCellValue("总课时");
         row1cell16.setCellStyle(cellStyle);