|
|
@@ -3,6 +3,7 @@ package com.xjrsoft.module.classtime.service.impl;
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
import com.alibaba.excel.EasyExcel;
|
|
|
+import com.alibaba.excel.support.ExcelTypeEnum;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.github.yulichang.base.MPJBaseServiceImpl;
|
|
|
@@ -20,6 +21,7 @@ import com.xjrsoft.common.exception.MyException;
|
|
|
import com.xjrsoft.common.mybatis.SqlRunnerAdapter;
|
|
|
import com.xjrsoft.common.utils.VoToColumnUtil;
|
|
|
import com.xjrsoft.module.classtime.dto.AddClassTimeStatisticsDto;
|
|
|
+import com.xjrsoft.module.classtime.dto.CourseRecordDto;
|
|
|
import com.xjrsoft.module.classtime.entity.ClassTimeDelete;
|
|
|
import com.xjrsoft.module.classtime.entity.ClassTimeStatistics;
|
|
|
import com.xjrsoft.module.classtime.entity.ClassTimeStatisticsAdministration;
|
|
|
@@ -31,6 +33,7 @@ import com.xjrsoft.module.classtime.mapper.ClassTimeStatisticsRecordMapper;
|
|
|
import com.xjrsoft.module.classtime.service.IClassTimeDeleteService;
|
|
|
import com.xjrsoft.module.classtime.service.IClassTimeStatisticsService;
|
|
|
import com.xjrsoft.module.classtime.service.IClassTimeStatisticsSetService;
|
|
|
+import com.xjrsoft.module.classtime.vo.ClassTimeStatisticsAdministrationExcelVo;
|
|
|
import com.xjrsoft.module.classtime.vo.ClassTimeStatisticsRecordVo;
|
|
|
import com.xjrsoft.module.classtime.vo.CourseClassTimeStatisticsRecordVo;
|
|
|
import com.xjrsoft.module.classtime.vo.CourseListVo;
|
|
|
@@ -60,7 +63,6 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
import java.io.ByteArrayOutputStream;
|
|
|
-import java.io.IOException;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.math.RoundingMode;
|
|
|
import java.time.DayOfWeek;
|
|
|
@@ -598,8 +600,8 @@ public class ClassTimeStatisticsServiceImpl extends MPJBaseServiceImpl<ClassTime
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public List<CourseClassTimeStatisticsRecordVo> getCourseRecordList(Long id) {
|
|
|
- return this.baseMapper.getCourseRecordList(id);
|
|
|
+ public List<CourseClassTimeStatisticsRecordVo> getCourseRecordList(CourseRecordDto dto) {
|
|
|
+ return this.baseMapper.getCourseRecordList(dto);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -903,7 +905,7 @@ public class ClassTimeStatisticsServiceImpl extends MPJBaseServiceImpl<ClassTime
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public Boolean importAdministration(Long classTimeStatisticsId, MultipartFile file) throws IOException {
|
|
|
+ public Boolean importAdministration(Long classTimeStatisticsId, MultipartFile file){
|
|
|
try {
|
|
|
List<Map<Integer, Object>> excelDataList = EasyExcel.read(file.getInputStream()).sheet().headRowNumber(2).doReadSync();
|
|
|
List<User> teacherList = userService.list(
|
|
|
@@ -943,8 +945,16 @@ public class ClassTimeStatisticsServiceImpl extends MPJBaseServiceImpl<ClassTime
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public byte[] exportAdministration(Long classTimeStatisticsId) throws IOException {
|
|
|
- return new byte[0];
|
|
|
+ public byte[] exportAdministration(Long classTimeStatisticsId) {
|
|
|
+ CourseRecordDto dto = new CourseRecordDto() {{
|
|
|
+ setId(classTimeStatisticsId);
|
|
|
+ }};
|
|
|
+ List<CourseClassTimeStatisticsRecordVo> recordList = this.getCourseRecordList(dto);
|
|
|
+ List<ClassTimeStatisticsAdministrationExcelVo> list = BeanUtil.copyToList(recordList, ClassTimeStatisticsAdministrationExcelVo.class);
|
|
|
+ ByteArrayOutputStream bot = new ByteArrayOutputStream();
|
|
|
+ EasyExcel.write(bot, ClassTimeStatisticsAdministrationExcelVo.class).automaticMergeHead(false).excelType(ExcelTypeEnum.XLSX).sheet().doWrite(list);
|
|
|
+
|
|
|
+ return bot.toByteArray();
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -1050,8 +1060,6 @@ public class ClassTimeStatisticsServiceImpl extends MPJBaseServiceImpl<ClassTime
|
|
|
* 生成第三行表头
|
|
|
* 关于周的表头,周一日期到周二日期,第几周,最后拼接一个单独的月份
|
|
|
*
|
|
|
- * @param workbook
|
|
|
- * @param sheet
|
|
|
* @param month 月份
|
|
|
* @param weekTimeRangeVos 周的数据,包含周一的日期周二的日期
|
|
|
* @param lastIndex 前一个表头的单元格
|
|
|
@@ -1098,8 +1106,6 @@ public class ClassTimeStatisticsServiceImpl extends MPJBaseServiceImpl<ClassTime
|
|
|
* 生成第四行表头
|
|
|
* 表头内容:总课时(含调顶课节)、顶课(节)、调课(节)、晚辅(节)、课时晚辅合计
|
|
|
*
|
|
|
- * @param workbook
|
|
|
- * @param sheet
|
|
|
* @param weekTimeRangeVos 周的数据,包含周一的日期周二的日期
|
|
|
* @param lastIndex 前一个表头的单元格
|
|
|
*/
|