|
@@ -16,6 +16,7 @@ import com.qmth.distributed.print.business.bean.result.ExaminationResult;
|
|
import com.qmth.distributed.print.business.bean.result.SummarizedDataResult;
|
|
import com.qmth.distributed.print.business.bean.result.SummarizedDataResult;
|
|
import com.qmth.distributed.print.business.entity.*;
|
|
import com.qmth.distributed.print.business.entity.*;
|
|
import com.qmth.distributed.print.business.enums.ExamDetailStatusEnum;
|
|
import com.qmth.distributed.print.business.enums.ExamDetailStatusEnum;
|
|
|
|
+import com.qmth.distributed.print.business.enums.PrintPlanStatusEnum;
|
|
import com.qmth.distributed.print.business.mapper.ExamDetailMapper;
|
|
import com.qmth.distributed.print.business.mapper.ExamDetailMapper;
|
|
import com.qmth.distributed.print.business.service.*;
|
|
import com.qmth.distributed.print.business.service.*;
|
|
import com.qmth.distributed.print.business.util.ServletUtil;
|
|
import com.qmth.distributed.print.business.util.ServletUtil;
|
|
@@ -25,7 +26,6 @@ import org.apache.poi.hssf.usermodel.*;
|
|
import org.apache.poi.ss.usermodel.HorizontalAlignment;
|
|
import org.apache.poi.ss.usermodel.HorizontalAlignment;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.slf4j.LoggerFactory;
|
|
-import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
@@ -58,11 +58,11 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
|
|
private CacheService cacheService;
|
|
private CacheService cacheService;
|
|
@Resource
|
|
@Resource
|
|
private ExamStudentService examStudentService;
|
|
private ExamStudentService examStudentService;
|
|
-
|
|
|
|
- @Autowired
|
|
|
|
|
|
+ @Resource
|
|
|
|
+ private ExamPrintPlanService examPrintPlanService;
|
|
|
|
+ @Resource
|
|
private BasicAttachmentService basicAttachmentService;
|
|
private BasicAttachmentService basicAttachmentService;
|
|
-
|
|
|
|
- @Autowired
|
|
|
|
|
|
+ @Resource
|
|
private CommonService commonService;
|
|
private CommonService commonService;
|
|
|
|
|
|
private final static Logger log = LoggerFactory.getLogger(ExamDetailServiceImpl.class);
|
|
private final static Logger log = LoggerFactory.getLogger(ExamDetailServiceImpl.class);
|
|
@@ -328,8 +328,8 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
|
|
map.put("printPlanName", e.get("printPlanName"));
|
|
map.put("printPlanName", e.get("printPlanName"));
|
|
map.put("examPlace", e.get("examPlace"));
|
|
map.put("examPlace", e.get("examPlace"));
|
|
map.put("examRoom", e.get("examRoom"));
|
|
map.put("examRoom", e.get("examRoom"));
|
|
- map.put("examDate", e.get("examDate"));
|
|
|
|
- map.put("examTime", e.get("examTime"));
|
|
|
|
|
|
+ map.put("examStartTime", e.get("examStartTime"));
|
|
|
|
+ map.put("examEndTime", e.get("examEndTime"));
|
|
return Stream.of(map);
|
|
return Stream.of(map);
|
|
}).distinct().collect(Collectors.toList());
|
|
}).distinct().collect(Collectors.toList());
|
|
|
|
|
|
@@ -339,15 +339,15 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
|
|
for (Map<String, Object> map : examDetailKeyList) {
|
|
for (Map<String, Object> map : examDetailKeyList) {
|
|
String examPlace = String.valueOf(map.get("examPlace"));
|
|
String examPlace = String.valueOf(map.get("examPlace"));
|
|
String examRoom = String.valueOf(map.get("examRoom"));
|
|
String examRoom = String.valueOf(map.get("examRoom"));
|
|
- String examDate = String.valueOf(map.get("examDate"));
|
|
|
|
- String examTime = String.valueOf(map.get("examTime"));
|
|
|
|
|
|
+ String examStartTime = String.valueOf(map.get("examStartTime"));
|
|
|
|
+ String examEndTime = String.valueOf(map.get("examEndTime"));
|
|
System.out.println("dataList : " + JSON.toJSONString(dataList));
|
|
System.out.println("dataList : " + JSON.toJSONString(dataList));
|
|
- System.out.println(examPlace + examRoom + examDate + examTime);
|
|
|
|
|
|
+ System.out.println(examPlace + examRoom + examStartTime + examEndTime);
|
|
long totalSubjects = dataList.stream()
|
|
long totalSubjects = dataList.stream()
|
|
.filter(e -> String.valueOf(e.get("examPlace")).equals(examPlace) &&
|
|
.filter(e -> String.valueOf(e.get("examPlace")).equals(examPlace) &&
|
|
String.valueOf(e.get("examRoom")).equals(examRoom) &&
|
|
String.valueOf(e.get("examRoom")).equals(examRoom) &&
|
|
- String.valueOf(e.get("examDate")).equals(examDate) &&
|
|
|
|
- String.valueOf(e.get("examTime")).equals(examTime)).count();
|
|
|
|
|
|
+ String.valueOf(e.get("examStartTime")).equals(examStartTime) &&
|
|
|
|
+ String.valueOf(e.get("examEndTime")).equals(examEndTime)).count();
|
|
|
|
|
|
System.out.println("totalSubjects" + totalSubjects);
|
|
System.out.println("totalSubjects" + totalSubjects);
|
|
ExamDetail examDetail = new ExamDetail();
|
|
ExamDetail examDetail = new ExamDetail();
|
|
@@ -358,10 +358,10 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
|
|
examDetail.setPrintPlanName(String.valueOf(map.get("printPlanName")));
|
|
examDetail.setPrintPlanName(String.valueOf(map.get("printPlanName")));
|
|
examDetail.setExamPlace(examPlace);
|
|
examDetail.setExamPlace(examPlace);
|
|
examDetail.setExamRoom(examRoom);
|
|
examDetail.setExamRoom(examRoom);
|
|
|
|
+ examDetail.setStatus(ExamDetailStatusEnum.NEW);
|
|
examDetail.setTotalSubjects(Math.toIntExact(totalSubjects));
|
|
examDetail.setTotalSubjects(Math.toIntExact(totalSubjects));
|
|
- // TODO: 2021/4/9 解析日期和时间
|
|
|
|
- examDetail.setExamStartTime(1L);
|
|
|
|
- examDetail.setExamEndTime(2L);
|
|
|
|
|
|
+ examDetail.setExamStartTime(SystemConstant.convertIdToLong(examStartTime));
|
|
|
|
+ examDetail.setExamEndTime(SystemConstant.convertIdToLong(examEndTime));
|
|
examDetail.setCreateId(userId);
|
|
examDetail.setCreateId(userId);
|
|
examDetail.setUpdateId(userId);
|
|
examDetail.setUpdateId(userId);
|
|
examDetailList.add(examDetail);
|
|
examDetailList.add(examDetail);
|
|
@@ -379,8 +379,8 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
|
|
map.put("printPlanId", e.get("printPlanId"));
|
|
map.put("printPlanId", e.get("printPlanId"));
|
|
map.put("examPlace", e.get("examPlace"));
|
|
map.put("examPlace", e.get("examPlace"));
|
|
map.put("examRoom", e.get("examRoom"));
|
|
map.put("examRoom", e.get("examRoom"));
|
|
- map.put("examDate", e.get("examDate"));
|
|
|
|
- map.put("examTime", e.get("examTime"));
|
|
|
|
|
|
+ map.put("examStartTime", e.get("examStartTime"));
|
|
|
|
+ map.put("examEndTime", e.get("examEndTime"));
|
|
map.put("courseCode", e.get("courseCode"));
|
|
map.put("courseCode", e.get("courseCode"));
|
|
map.put("courseName", e.get("courseName"));
|
|
map.put("courseName", e.get("courseName"));
|
|
map.put("paperNumber", e.get("paperNumber"));
|
|
map.put("paperNumber", e.get("paperNumber"));
|
|
@@ -393,8 +393,8 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
|
|
Long printPlanId = Long.valueOf(String.valueOf(map.get("printPlanId")));
|
|
Long printPlanId = Long.valueOf(String.valueOf(map.get("printPlanId")));
|
|
String examPlace = String.valueOf(map.get("examPlace"));
|
|
String examPlace = String.valueOf(map.get("examPlace"));
|
|
String examRoom = String.valueOf(map.get("examRoom"));
|
|
String examRoom = String.valueOf(map.get("examRoom"));
|
|
- Long examStartTime = 1L;
|
|
|
|
- Long examEndTime = 2L;
|
|
|
|
|
|
+ Long examStartTime = SystemConstant.convertIdToLong(String.valueOf(map.get("examStartTime")));
|
|
|
|
+ Long examEndTime = SystemConstant.convertIdToLong(String.valueOf(map.get("examEndTime")));
|
|
String courseCode = String.valueOf(map.get("courseCode"));
|
|
String courseCode = String.valueOf(map.get("courseCode"));
|
|
String courseName = String.valueOf(map.get("courseName"));
|
|
String courseName = String.valueOf(map.get("courseName"));
|
|
String paperNumber = String.valueOf(map.get("paperNumber"));
|
|
String paperNumber = String.valueOf(map.get("paperNumber"));
|
|
@@ -431,8 +431,8 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
|
|
Long printPlanId = Long.valueOf(String.valueOf(map.get("printPlanId")));
|
|
Long printPlanId = Long.valueOf(String.valueOf(map.get("printPlanId")));
|
|
String examPlace = String.valueOf(map.get("examPlace"));
|
|
String examPlace = String.valueOf(map.get("examPlace"));
|
|
String examRoom = String.valueOf(map.get("examRoom"));
|
|
String examRoom = String.valueOf(map.get("examRoom"));
|
|
- Long examStartTime = 1L;
|
|
|
|
- Long examEndTime = 2L;
|
|
|
|
|
|
+ Long examStartTime = SystemConstant.convertIdToLong(String.valueOf(map.get("examStartTime")));
|
|
|
|
+ Long examEndTime = SystemConstant.convertIdToLong(String.valueOf(map.get("examEndTime")));
|
|
String courseCode = String.valueOf(map.get("courseCode"));
|
|
String courseCode = String.valueOf(map.get("courseCode"));
|
|
String courseName = String.valueOf(map.get("courseName"));
|
|
String courseName = String.valueOf(map.get("courseName"));
|
|
String paperNumber = String.valueOf(map.get("paperNumber"));
|
|
String paperNumber = String.valueOf(map.get("paperNumber"));
|
|
@@ -464,7 +464,7 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
|
|
examStudent.setExamDetailCourseId(examDetailCourseId);
|
|
examStudent.setExamDetailCourseId(examDetailCourseId);
|
|
examStudent.setStudentName(studentName);
|
|
examStudent.setStudentName(studentName);
|
|
examStudent.setStudentCode(studentCode);
|
|
examStudent.setStudentCode(studentCode);
|
|
- examStudent.setTicketNumber("");
|
|
|
|
|
|
+ examStudent.setTicketNumber(studentCode);
|
|
examStudent.setSiteNumber("");
|
|
examStudent.setSiteNumber("");
|
|
examStudent.setCreateId(userId);
|
|
examStudent.setCreateId(userId);
|
|
examStudent.setUpdateId(userId);
|
|
examStudent.setUpdateId(userId);
|
|
@@ -495,4 +495,37 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
|
|
.ne(ExamDetail::getStatus, ExamDetailStatusEnum.READY);
|
|
.ne(ExamDetail::getStatus, ExamDetailStatusEnum.READY);
|
|
return this.list(queryWrapper);
|
|
return this.list(queryWrapper);
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
|
+ @Override
|
|
|
|
+ public void deleteExaminationData(Long printPlanId) {
|
|
|
|
+ ExamPrintPlan examPrintPlan = examPrintPlanService.getById(printPlanId);
|
|
|
|
+ if (examPrintPlan.getId() == null || examPrintPlan.getId() <= 0){
|
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("未找主键为 '" + printPlanId + "' 的印刷计划信息");
|
|
|
|
+ }
|
|
|
|
+ PrintPlanStatusEnum status = examPrintPlan.getStatus();
|
|
|
|
+ if (PrintPlanStatusEnum.NEW != status && PrintPlanStatusEnum.READY != status){
|
|
|
|
+ throw ExceptionResultEnum.ERROR.exception(status + "状态下的印刷计划不能删除考务数据");
|
|
|
|
+ }
|
|
|
|
+ // 准备删除的考务-场次表id
|
|
|
|
+ List<Long> examDetailIds = this.list(new QueryWrapper<ExamDetail>().lambda().eq(ExamDetail::getPrintPlanId,printPlanId))
|
|
|
|
+ .stream().map(ExamDetail::getId).collect(Collectors.toList());
|
|
|
|
+
|
|
|
|
+ // 准备删除的考务-科目表id
|
|
|
|
+ List<Long> examDetailCourseIds = examDetailCourseService.list(new QueryWrapper<ExamDetailCourse>().lambda().in(ExamDetailCourse::getExamDetailId,examDetailIds))
|
|
|
|
+ .stream().map(ExamDetailCourse::getId).collect(Collectors.toList());
|
|
|
|
+
|
|
|
|
+ // 准备删除的考务-考生表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));
|
|
|
|
+
|
|
|
|
+ // 删除exam_student 表数据
|
|
|
|
+ examStudentService.remove(new QueryWrapper<ExamStudent>().lambda().in(ExamStudent::getId,examStudentIds));
|
|
|
|
+ }
|
|
}
|
|
}
|