|
@@ -16,7 +16,6 @@ import com.qmth.eds.common.util.ServletUtil;
|
|
|
import com.qmth.eds.mapper.ExamAssignMapper;
|
|
|
import com.qmth.eds.service.*;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
-import org.checkerframework.checker.units.qual.C;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
@@ -56,11 +55,10 @@ public class ExamAssignServiceImpl extends ServiceImpl<ExamAssignMapper, ExamAss
|
|
|
ExamAssignMapper examAssignMapper;
|
|
|
|
|
|
@Override
|
|
|
- public IPage<ExamAssignDto> pageData(Long semesterId, Long examTypeId, String courseCode, Integer pageNumber, Integer pageSize) {
|
|
|
+ public IPage<ExamAssignDto> pageData(Long semesterId, Long examTypeId, Long collegeId, String courseCode, Integer pageNumber, Integer pageSize) {
|
|
|
Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
|
|
|
- SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
|
|
|
Page<ExamAssignDto> page = new Page<>(pageNumber, pageSize);
|
|
|
- IPage<ExamAssignDto> assignListDtoIPage = this.baseMapper.pageData(page, sysUser.getOrgId(), semesterId, examTypeId, courseCode);
|
|
|
+ IPage<ExamAssignDto> assignListDtoIPage = this.baseMapper.pageData(page, collegeId, semesterId, examTypeId, courseCode);
|
|
|
|
|
|
ExamSyncTotal examSyncTotal = examSyncTotalService.getBySemesterIdAndExamTypeIdAndUseFile(schoolId, semesterId, examTypeId, true);
|
|
|
if (examSyncTotal == null) {
|
|
@@ -82,6 +80,14 @@ public class ExamAssignServiceImpl extends ServiceImpl<ExamAssignMapper, ExamAss
|
|
|
}
|
|
|
record.setActualCount(actualCount);
|
|
|
record.setOpenCollege(kkxy);
|
|
|
+
|
|
|
+ ExamAssign examAssign = this.baseMapper.getBySchoolIdAndSemesterIdAndExamTypeIdAndCourseCodeAndOpenCollege(collegeId, semesterId, examTypeId, record.getCourseCode(), kkxy);
|
|
|
+ if (examAssign != null) {
|
|
|
+ record.setId(examAssign.getId());
|
|
|
+ record.setFormula(examAssign.getFormula());
|
|
|
+ record.setStatus(examAssign.getStatus());
|
|
|
+ record.setPublish(examAssign.getPublish());
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
return assignListDtoIPage;
|
|
@@ -126,10 +132,14 @@ public class ExamAssignServiceImpl extends ServiceImpl<ExamAssignMapper, ExamAss
|
|
|
public IPage<AssignResultPreviewResult> assignResultPreview(IPage<Map> iPage,
|
|
|
Long semesterId,
|
|
|
Long examTypeId,
|
|
|
- String courseCode, String openCollege, String kcCollege, String clazzId, String teacherCode) {
|
|
|
- SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
|
|
|
+ Long collegeId,
|
|
|
+ String courseCode,
|
|
|
+ String openCollege,
|
|
|
+ String kcCollege,
|
|
|
+ String clazzId,
|
|
|
+ String teacherCode) {
|
|
|
Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
|
|
|
- return examAssignMapper.assignResultPreview(iPage, schoolId, sysUser.getOrgId(), semesterId, examTypeId, courseCode, openCollege, kcCollege, clazzId, teacherCode);
|
|
|
+ return examAssignMapper.assignResultPreview(iPage, schoolId, collegeId, semesterId, examTypeId, courseCode, openCollege, kcCollege, clazzId, teacherCode);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -138,29 +148,16 @@ public class ExamAssignServiceImpl extends ServiceImpl<ExamAssignMapper, ExamAss
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public ExamAssignDto toCalc(Long semesterId, Long examTypeId, String courseCode, String courseName, String openCollege) {
|
|
|
+ public ExamAssignDto toCalc(Long semesterId, Long examTypeId, Long collegeId, String courseCode, String courseName, String openCollege) {
|
|
|
Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
|
|
|
- SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
|
|
|
|
|
|
- QueryWrapper<ExamAssign> queryWrapper = new QueryWrapper<>();
|
|
|
- queryWrapper.lambda().eq(ExamAssign::getSchoolId, sysUser.getOrgId())
|
|
|
- .eq(ExamAssign::getSemesterId, semesterId)
|
|
|
- .eq(ExamAssign::getExamTypeId, examTypeId)
|
|
|
- .eq(ExamAssign::getCourseCode, courseCode)
|
|
|
- .eq(ExamAssign::getOpenCollege, openCollege);
|
|
|
- ExamAssign examAssign = this.getOne(queryWrapper);
|
|
|
+ ExamAssign examAssign = this.baseMapper.getBySchoolIdAndSemesterIdAndExamTypeIdAndCourseCodeAndOpenCollege(collegeId, semesterId, examTypeId, courseCode, openCollege);
|
|
|
ExamAssignDto examAssignDto = new ExamAssignDto();
|
|
|
if (examAssign == null) {
|
|
|
- examAssignDto.setSchoolId(sysUser.getSchoolId());
|
|
|
- examAssignDto.setSemesterId(semesterId);
|
|
|
- examAssignDto.setExamTypeId(examTypeId);
|
|
|
- examAssignDto.setCourseCode(courseCode);
|
|
|
- examAssignDto.setCourseName(courseName);
|
|
|
- examAssignDto.setOpenCollege(openCollege);
|
|
|
- examAssignDto.setStatus(ExamAssignStatusEnum.INIT);
|
|
|
- } else {
|
|
|
- BeanUtils.copyProperties(examAssign, examAssignDto);
|
|
|
+ examAssign = new ExamAssign(collegeId, semesterId, examTypeId, courseCode, courseName, openCollege, null, null, ExamAssignStatusEnum.INIT, false);
|
|
|
+ this.save(examAssign);
|
|
|
}
|
|
|
+ BeanUtils.copyProperties(examAssign, examAssignDto);
|
|
|
|
|
|
ExamSyncTotal examSyncTotal = examSyncTotalService.getBySemesterIdAndExamTypeIdAndUseFile(schoolId, semesterId, examTypeId, true);
|
|
|
if (examSyncTotal == null) {
|
|
@@ -181,13 +178,21 @@ public class ExamAssignServiceImpl extends ServiceImpl<ExamAssignMapper, ExamAss
|
|
|
|
|
|
@Transactional
|
|
|
@Override
|
|
|
- public boolean publish(Long id) {
|
|
|
+ public boolean publish(Long id, Long semesterId, Long examTypeId, Long collegeId, String courseCode, String courseName, String openCollege) {
|
|
|
Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
|
|
|
- ExamAssign examAssign = this.getById(id);
|
|
|
- Long semesterId = examAssign.getSemesterId();
|
|
|
- Long examTypeId = examAssign.getExamTypeId();
|
|
|
- Long collegeId = examAssign.getSchoolId();
|
|
|
- String courseCode = examAssign.getCourseCode();
|
|
|
+ SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
|
|
|
+
|
|
|
+ ExamAssign examAssign;
|
|
|
+ if (id == null) {
|
|
|
+ examAssign = new ExamAssign(collegeId, semesterId, examTypeId, courseCode, courseName, openCollege, null, null, ExamAssignStatusEnum.INIT, false);
|
|
|
+ examAssign.insertInfo(sysUser.getId());
|
|
|
+ this.save(examAssign);
|
|
|
+ } else {
|
|
|
+ examAssign = this.getById(id);
|
|
|
+ if(examAssign.getFormula() != null && !ExamAssignStatusEnum.FINISH.equals(examAssign.getStatus())){
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("赋分计算未完成,暂无法发布成绩");
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
// 查询对外数据
|
|
|
ExamSyncTotal examSyncTotal = examSyncTotalService.getBySemesterIdAndExamTypeIdAndUseFile(schoolId, semesterId, examTypeId, true);
|
|
@@ -249,7 +254,7 @@ public class ExamAssignServiceImpl extends ServiceImpl<ExamAssignMapper, ExamAss
|
|
|
// 更新发布状态为已发布
|
|
|
UpdateWrapper<ExamAssign> examAssignUpdateWrapper = new UpdateWrapper<>();
|
|
|
examAssignUpdateWrapper.lambda().set(ExamAssign::getPublish, true)
|
|
|
- .eq(ExamAssign::getId, id);
|
|
|
+ .eq(ExamAssign::getId, examAssign.getId());
|
|
|
return this.update(examAssignUpdateWrapper);
|
|
|
}
|
|
|
}
|