|
@@ -21,11 +21,13 @@ import com.qmth.distributed.print.business.enums.TaskTypeEnum;
|
|
|
import com.qmth.distributed.print.business.mapper.ExamDetailMapper;
|
|
|
import com.qmth.distributed.print.business.service.*;
|
|
|
import com.qmth.distributed.print.business.templete.execute.AsyncCreatePdfTempleteService;
|
|
|
+import com.qmth.distributed.print.business.util.ConvertUtil;
|
|
|
import com.qmth.distributed.print.business.util.ServletUtil;
|
|
|
import com.qmth.distributed.print.common.contant.SystemConstant;
|
|
|
import com.qmth.distributed.print.common.enums.ExceptionResultEnum;
|
|
|
import org.apache.poi.hssf.usermodel.*;
|
|
|
import org.apache.poi.ss.usermodel.HorizontalAlignment;
|
|
|
+import org.apache.poi.xssf.usermodel.*;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.stereotype.Service;
|
|
@@ -69,6 +71,8 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
|
|
|
|
|
|
@Resource
|
|
|
TBTaskService tbTaskService;
|
|
|
+ @Resource
|
|
|
+ ConvertUtil convertUtil;
|
|
|
|
|
|
@Resource
|
|
|
AsyncCreatePdfTempleteService asyncCreatePdfTempleteService;
|
|
@@ -141,8 +145,6 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@Override
|
|
|
public List<FieldsDto> findExaminationFields(Long schoolId) {
|
|
|
- // TODO: 2021/4/9 回复schoolId的获取方式
|
|
|
-// BasicExamRule basicExamRule = basicExamRuleService.getBySchoolId();
|
|
|
BasicExamRule basicExamRule = basicExamRuleService.list(new QueryWrapper<BasicExamRule>().lambda().eq(BasicExamRule::getSchoolId, schoolId)).get(0);
|
|
|
if (basicExamRule == null) {
|
|
|
throw ExceptionResultEnum.ERROR.exception("找不到该学校考务字段信息 + schoolId" + schoolId);
|
|
@@ -191,23 +193,23 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
|
|
|
List<String> fieldsNameList = this.findExaminationFields(schoolId).stream().map(FieldsDto::getName).distinct().collect(Collectors.toList());
|
|
|
|
|
|
log.debug("导出Excel开始...");
|
|
|
- HSSFWorkbook wb = new HSSFWorkbook();
|
|
|
+ XSSFWorkbook wb = new XSSFWorkbook();
|
|
|
String fileName = "考务数据模板";
|
|
|
response.setHeader("Content-Disposition", "inline;filename=" + URLEncoder.encode(fileName, SystemConstant.CHARSET_NAME) + DEFALUT_EXT);
|
|
|
response.setContentType(DEFALUT_CONTENT_TYPE);
|
|
|
- HSSFSheet sheet = wb.createSheet(cacheService.schoolCache(schoolId).getName() + "考务数据模板");
|
|
|
+ XSSFSheet sheet = wb.createSheet(cacheService.schoolCache(schoolId).getName() + "考务数据模板");
|
|
|
|
|
|
- HSSFFont font = wb.createFont();
|
|
|
+ XSSFFont font = wb.createFont();
|
|
|
font.setFontHeightInPoints((short) 11);
|
|
|
font.setFontName("宋体"); //什么字体
|
|
|
|
|
|
- HSSFRow row = sheet.createRow(0);
|
|
|
- HSSFCellStyle style = wb.createCellStyle();
|
|
|
+ XSSFRow row = sheet.createRow(0);
|
|
|
+ XSSFCellStyle style = wb.createCellStyle();
|
|
|
style.setAlignment(HorizontalAlignment.CENTER);
|
|
|
style.setFont(font);
|
|
|
|
|
|
for (int i = 0; i < fieldsNameList.size(); i++) {
|
|
|
- HSSFCell cell = row.createCell(i);
|
|
|
+ XSSFCell cell = row.createCell(i);
|
|
|
cell.setCellValue(fieldsNameList.get(i));
|
|
|
cell.setCellStyle(style);
|
|
|
}
|
|
@@ -365,6 +367,7 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
|
|
|
System.out.println("totalSubjects" + totalSubjects);
|
|
|
ExamDetail examDetail = new ExamDetail();
|
|
|
examDetail.setId(SystemConstant.getDbUuid());
|
|
|
+ examDetail.setPackageCode(convertUtil.getIncre("p-","packageCode"));
|
|
|
examDetail.setSchoolId(Long.valueOf(String.valueOf(map.get("schoolId"))));
|
|
|
examDetail.setPrintPlanId(Long.valueOf(String.valueOf(map.get("printPlanId"))));
|
|
|
examDetail.setPrintPlanName(String.valueOf(map.get("printPlanName")));
|
|
@@ -522,21 +525,27 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
|
|
|
// 准备删除的考务-场次表id
|
|
|
List<Long> examDetailIds = this.list(new QueryWrapper<ExamDetail>().lambda().eq(ExamDetail::getPrintPlanId, printPlanId))
|
|
|
.stream().map(ExamDetail::getId).collect(Collectors.toList());
|
|
|
+ if (examDetailIds.size() == 0){
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ // 删除exam_detail 表数据
|
|
|
+ this.remove(new QueryWrapper<ExamDetail>().lambda().in(ExamDetail::getId, examDetailIds));
|
|
|
|
|
|
// 准备删除的考务-科目表id
|
|
|
List<Long> examDetailCourseIds = examDetailCourseService.list(new QueryWrapper<ExamDetailCourse>().lambda().in(ExamDetailCourse::getExamDetailId, examDetailIds))
|
|
|
.stream().map(ExamDetailCourse::getId).collect(Collectors.toList());
|
|
|
+ if (examDetailCourseIds.size() == 0){
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ // 删除exam_detail_course 表数据
|
|
|
+ examDetailCourseService.remove(new QueryWrapper<ExamDetailCourse>().lambda().in(ExamDetailCourse::getId, examDetailCourseIds));
|
|
|
|
|
|
// 准备删除的考务-考生表id
|
|
|
List<Long> examStudentIds = examStudentService.list(new QueryWrapper<ExamStudent>().lambda().in(ExamStudent::getExamDetailCourseId, examDetailCourseIds))
|
|
|
.stream().map(ExamStudent::getId).collect(Collectors.toList());
|
|
|
-
|
|
|
- // 删除exam_detail 表数据
|
|
|
- this.remove(new QueryWrapper<ExamDetail>().lambda().in(ExamDetail::getId, examDetailIds));
|
|
|
-
|
|
|
- // 删除exam_detail_course 表数据
|
|
|
- examDetailCourseService.remove(new QueryWrapper<ExamDetailCourse>().lambda().in(ExamDetailCourse::getId, examDetailCourseIds));
|
|
|
-
|
|
|
+ if (examStudentIds.size() == 0){
|
|
|
+ return;
|
|
|
+ }
|
|
|
// 删除exam_student 表数据
|
|
|
examStudentService.remove(new QueryWrapper<ExamStudent>().lambda().in(ExamStudent::getId, examStudentIds));
|
|
|
}
|