|
@@ -1,16 +1,16 @@
|
|
|
package com.qmth.distributed.print.business.templete.service.impl;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
-import com.qmth.distributed.print.business.entity.ExamStudent;
|
|
|
import com.qmth.distributed.print.business.entity.TSyncExamStudentScore;
|
|
|
+import com.qmth.distributed.print.business.entity.TeachClazz;
|
|
|
import com.qmth.distributed.print.business.service.ExamStudentService;
|
|
|
import com.qmth.distributed.print.business.service.TSyncExamStudentScoreService;
|
|
|
+import com.qmth.distributed.print.business.service.TeachClazzService;
|
|
|
import com.qmth.distributed.print.business.templete.service.PushLogicService;
|
|
|
import com.qmth.teachcloud.common.bean.result.SyncCountResult;
|
|
|
import com.qmth.teachcloud.common.contant.SystemConstant;
|
|
|
import com.qmth.teachcloud.common.entity.BasicClazz;
|
|
|
import com.qmth.teachcloud.common.entity.BasicMajor;
|
|
|
-import com.qmth.teachcloud.common.entity.BasicStudent;
|
|
|
import com.qmth.teachcloud.common.entity.SysUser;
|
|
|
import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
|
|
|
import com.qmth.teachcloud.common.service.BasicClazzService;
|
|
@@ -25,7 +25,10 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.util.LinkedMultiValueMap;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
-import java.util.*;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.Objects;
|
|
|
import java.util.concurrent.atomic.AtomicInteger;
|
|
|
|
|
|
/**
|
|
@@ -46,6 +49,9 @@ public class PushLogicServiceImpl implements PushLogicService {
|
|
|
@Resource
|
|
|
BasicClazzService basicClazzService;
|
|
|
|
|
|
+ @Resource
|
|
|
+ TeachClazzService teachClazzService;
|
|
|
+
|
|
|
@Resource
|
|
|
TSyncExamStudentScoreService tSyncExamStudentScoreService;
|
|
|
|
|
@@ -101,19 +107,21 @@ public class PushLogicServiceImpl implements PushLogicService {
|
|
|
try {
|
|
|
Long orgId = null, clazzId = null, majorId = null;
|
|
|
if (Objects.nonNull(student.get("studentCode")) && !Objects.equals("无", student.get("studentCode"))) {
|
|
|
- //先查学生表
|
|
|
- QueryWrapper<BasicStudent> basicStudentQueryWrapper = new QueryWrapper<>();
|
|
|
- basicStudentQueryWrapper.lambda().eq(BasicStudent::getSchoolId, sysUser.getSchoolId())
|
|
|
- .eq(BasicStudent::getStudentCode, student.get("studentCode"));
|
|
|
- BasicStudent basicStudent = basicStudentService.getOne(basicStudentQueryWrapper);
|
|
|
- if (Objects.isNull(basicStudent)) {//如果学生表为空,则查考生表
|
|
|
- QueryWrapper<ExamStudent> examStudentQueryWrapper = new QueryWrapper<>();
|
|
|
- examStudentQueryWrapper.lambda().eq(ExamStudent::getSchoolId, sysUser.getSchoolId())
|
|
|
- .eq(ExamStudent::getStudentCode, student.get("studentCode"));
|
|
|
- ExamStudent examStudent = examStudentService.getOne(examStudentQueryWrapper);
|
|
|
- Optional.ofNullable(examStudent).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("未找到此考生信息"));
|
|
|
- clazzId = Long.parseLong(examStudent.getClazzId());
|
|
|
- if (Objects.nonNull(clazzId)) {
|
|
|
+ String studentCode = String.valueOf(student.get("studentCode"));
|
|
|
+ String subjectCode = String.valueOf(student.get("subjectCode"));
|
|
|
+ String examNumber = String.valueOf(student.get("examNumber"));
|
|
|
+ Long printPlanId = Long.valueOf(student.get("examCode").toString()); // 计划ID
|
|
|
+
|
|
|
+ List<Map> studentInfos = examStudentService.listStudentScoreSync(schoolId, studentCode, examNumber, subjectCode, printPlanId);
|
|
|
+ if (studentInfos == null || studentInfos.size() == 0) {
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("未找到此考生信息");
|
|
|
+ }
|
|
|
+ Map stuMap = studentInfos.get(0);
|
|
|
+
|
|
|
+ clazzId = stuMap.get("clazzId") == null || "".equals(stuMap.get("clazzId")) ? null : Long.parseLong(String.valueOf(stuMap.get("clazzId")));
|
|
|
+ if (clazzId != null) {
|
|
|
+ TeachClazz teachClazz = teachClazzService.getById(clazzId);
|
|
|
+ if (teachClazz == null) {
|
|
|
BasicClazz basicClazz = basicClazzService.getById(clazzId);
|
|
|
if (Objects.nonNull(basicClazz)) {
|
|
|
majorId = basicClazz.getMajorId();
|
|
@@ -121,10 +129,6 @@ public class PushLogicServiceImpl implements PushLogicService {
|
|
|
orgId = basicMajor.getBelongOrgId();
|
|
|
}
|
|
|
}
|
|
|
- } else {
|
|
|
- orgId = basicStudent.getBelongOrgId();
|
|
|
- clazzId = basicStudent.getClazzId();
|
|
|
- majorId = basicStudent.getMajorId();
|
|
|
}
|
|
|
}
|
|
|
student.put(SystemConstant.SCHOOL_ID, schoolId);
|