瀏覽代碼

课表导出

dzx 8 月之前
父節點
當前提交
a3a5db11bc

+ 32 - 12
src/main/java/com/xjrsoft/module/courseTable/service/impl/CourseTableServiceImpl.java

@@ -1260,19 +1260,20 @@ public class CourseTableServiceImpl extends ServiceImpl<CourseTableMapper, Cours
      */
     @Override
     public ByteArrayOutputStream exportQuery(CourseTableExportQueryDto dto) throws IOException {
-        BaseSemester semester = baseSemesterMapper.selectById(dto.getSemesterId());
-        //根据年级、专业部,查询需要导出的班级
-        List<BaseClass> classList = baseClassService.list(
-                new QueryWrapper<BaseClass>().lambda()
-                        .eq(BaseClass::getDeleteMark, DeleteMark.NODELETE.getCode())
-                        .eq(BaseClass::getIsGraduate, 1)
-                        .in(BaseClass::getGradeId, dto.getGradeIds())
-                        .in(BaseClass::getOrgId, dto.getDeptIds())
-        );
+        BaseSemester baseSemester = baseSemesterMapper.selectById(dto.getSemesterId());
         CourseTableExportQueryUtil exportQueryUtil = new CourseTableExportQueryUtil();
         String schoolName = "重庆市铜梁职业教育中心";
         ByteArrayOutputStream bot = new ByteArrayOutputStream();
-        if("calss".equals(dto.getCourseType())){
+        if("calss".equals(dto.getCourseType())){//班级课表
+            //根据年级、专业部,查询需要导出的班级
+            List<BaseClass> classList = baseClassService.list(
+                    new QueryWrapper<BaseClass>().lambda()
+                            .eq(BaseClass::getDeleteMark, DeleteMark.NODELETE.getCode())
+                            .eq(BaseClass::getIsGraduate, 1)
+                            .in(BaseClass::getGradeId, dto.getGradeIds())
+                            .in(BaseClass::getOrgId, dto.getDeptIds())
+            );
+
             Workbook workbook = new XSSFWorkbook();
             String sheetName = "班级课表";
             Sheet sheet = workbook.createSheet(sheetName);
@@ -1291,9 +1292,9 @@ public class CourseTableServiceImpl extends ServiceImpl<CourseTableMapper, Cours
 
                 int bigHeadRow = (classTableRowCount + 2) * i;
                 //生成第一行title
-                ImportExcelUtil.createBigHead(workbook, sheet, bigHead, bigHeadRow, 9);
+                ImportExcelUtil.createBigHead(workbook, sheet, bigHead, bigHeadRow, 8);
                 //生成副标题,展示所属学期
-                ImportExcelUtil.createSubtitle(workbook, sheet, semester.getName(), bigHeadRow + 1, 9);
+                ImportExcelUtil.createSubtitle(workbook, sheet, baseSemester.getName(), bigHeadRow + 1, 8);
                 //生成第三行,显示学校名字、班主任和班级名字
                 exportQueryUtil.createThirdTitle(workbook, sheet, bigHeadRow + 2, schoolName, rightName);
                 //生成表头
@@ -1302,6 +1303,25 @@ public class CourseTableServiceImpl extends ServiceImpl<CourseTableMapper, Cours
                 exportQueryUtil.createContent(workbook, sheet, bigHeadRow + 4, tableVo, dto.getCourseType());
             }
             workbook.write(bot);
+        }else if("teacher".equals(dto.getCourseType())){//教师课表
+            //根据学期和周次,查询当前所有有课表的教师id
+            LocalDateTime startDateTime = LocalDateTime.ofInstant(baseSemester.getTeachingStart().toInstant(), ZoneId.systemDefault());
+
+            LocalDate startDate = startDateTime.plusDays((dto.getWeek() - 1) * 7L).toLocalDate();
+            LocalDate endDate = startDate.plusDays(6);
+
+            List<CourseTable> list = this.list(
+                    new QueryWrapper<CourseTable>().lambda()
+                            .eq(CourseTable::getBaseSemesterId, dto.getSemesterId())
+                            .ge(CourseTable::getScheduleDate, startDate)
+                            .le(CourseTable::getScheduleDate, endDate)
+            );
+
+
+        }else if("classroom".equals(dto.getCourseType())){//教室课表
+
+        }else if("all".equals(dto.getCourseType())){//总课表
+
         }
 
         return bot;

+ 10 - 1
src/main/java/com/xjrsoft/module/schedule/util/CourseTableExportQueryUtil.java

@@ -36,7 +36,7 @@ public class CourseTableExportQueryUtil {
         font.setBold(true);// 设置为粗体
         font.setFontName("宋体");
         //font.setColor(IndexedColors.RED.getIndex()); // 设置字体颜色为红色
-        font.setFontHeightInPoints((short) 18);
+        font.setFontHeightInPoints((short) 14);
 
         //设置样式
         CellStyle cellStyle = workbook.createCellStyle();
@@ -50,6 +50,15 @@ public class CourseTableExportQueryUtil {
 
         //创建一行
         Row row = sheet.createRow(rowNumber);
+        Cell cell = row.createCell(0);
+        cell.setCellValue(leftTitle);
+        cell.setCellStyle(cellStyle);
+        sheet.addMergedRegion(new CellRangeAddress(rowNumber, rowNumber, 0, 2));
+
+        cell = row.createCell(1);
+        cell.setCellValue(rightTitle);
+        cell.setCellStyle(cellStyle);
+        sheet.addMergedRegion(new CellRangeAddress(rowNumber, rowNumber, 3, 8));
     }