wangliang 3 лет назад
Родитель
Сommit
4ec75be9a3

+ 5 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/templete/service/impl/PushLogicServiceImpl.java

@@ -79,10 +79,13 @@ public class PushLogicServiceImpl implements PushLogicService {
         Long schoolId = sysUser.getSchoolId();
         Integer examId = (Integer) map.get("examId");
         Long examIdLong = Long.parseLong(String.valueOf(examId));
+        String subjectCode = (String) map.get("subjectCode");
+        String college = (String) map.get("college");
+        String className = (String) map.get("className");
         List<TSyncExamStudentScore> tSyncExamStudentScoreList = null;
         List<String> errorTSyncExamStudentScoreList = null;
         try {
-            int totalCount = stmmsUtils.getStudentCount(schoolId, examId, null, null, null, null, null, null, null, true);
+            int totalCount = stmmsUtils.getStudentCount(schoolId, examId, null, null, null, subjectCode, college, className, null, true);
             log.info("云阅卷:考试成绩考生数量查询接口调用,返回数量:{}", totalCount);
             if (totalCount > 0) {
                 int pageSize = stmmsUtils.getDefaultPageSize();
@@ -94,7 +97,7 @@ public class PushLogicServiceImpl implements PushLogicService {
                 tSyncExamStudentScoreList = new ArrayList<>();
                 errorTSyncExamStudentScoreList = new ArrayList<>();
                 for (int i = 1; i <= pageNos; i++) {
-                    List<Map> students = stmmsUtils.getStudentScore(schoolId, examId, null, null, null, null, null, null, null, true, i, pageSize);
+                    List<Map> students = stmmsUtils.getStudentScore(schoolId, examId, null, null, null, subjectCode, college, className, null, true, i, pageSize);
                     for (Map student : students) {
                         try {
                             //查学院id

+ 24 - 1
distributed-print/src/main/java/com/qmth/distributed/print/api/TSyncExamStudentScoreController.java

@@ -18,11 +18,15 @@ import com.qmth.distributed.print.business.templete.execute.AsyncScoreExportServ
 import com.qmth.distributed.print.business.templete.execute.AsyncScorePushService;
 import com.qmth.teachcloud.common.config.DictionaryConfig;
 import com.qmth.teachcloud.common.contant.SystemConstant;
+import com.qmth.teachcloud.common.entity.BasicClazz;
+import com.qmth.teachcloud.common.entity.SysOrg;
 import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.entity.TBTask;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
 import com.qmth.teachcloud.common.enums.PushTypeEnum;
 import com.qmth.teachcloud.common.enums.TaskTypeEnum;
+import com.qmth.teachcloud.common.service.BasicClazzService;
+import com.qmth.teachcloud.common.service.SysOrgService;
 import com.qmth.teachcloud.common.util.Result;
 import com.qmth.teachcloud.common.util.ResultUtil;
 import com.qmth.teachcloud.common.util.ServletUtil;
@@ -75,6 +79,12 @@ public class TSyncExamStudentScoreController {
     @Resource
     ExamPrintPlanService examPrintPlanService;
 
+    @Resource
+    SysOrgService sysOrgService;
+
+    @Resource
+    BasicClazzService basicClazzService;
+
     @ApiOperation(value = "成绩归档查询列表")
     @ApiResponses({@ApiResponse(code = 200, message = "成绩查询信息", response = TSyncExamStudentScoreResult.class)})
     @RequestMapping(value = "/score/list", method = RequestMethod.POST)
@@ -117,7 +127,9 @@ public class TSyncExamStudentScoreController {
     @ApiResponses({@ApiResponse(code = 200, message = "同步异步任务信息", response = TBSyncTask.class)})
     @RequestMapping(value = "/score/sync", method = RequestMethod.POST)
     public Result sync(@ApiParam(value = "学期id", required = true) @RequestParam String semesterId,
-                       @ApiParam(value = "学院id", required = true) @RequestParam String orgId) {
+                       @ApiParam(value = "学院id", required = true) @RequestParam String orgId,
+                       @ApiParam(value = "班级id", required = false) @RequestParam(required = false) String clazzId,
+                       @ApiParam(value = "课程编码", required = false) @RequestParam(required = false) String courseCode) {
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
         QueryWrapper<ExamPrintPlan> examPrintPlanQueryWrapper = new QueryWrapper<ExamPrintPlan>();
         examPrintPlanQueryWrapper.select(" DISTINCT third_relate_id ").eq("school_id", sysUser.getSchoolId())
@@ -129,8 +141,19 @@ public class TSyncExamStudentScoreController {
         } else if (examPrintPlanList.size() > 1) {
             throw ExceptionResultEnum.ERROR.exception("此学期学院下找到了多条考试记录");
         }
+        SysOrg sysOrg = sysOrgService.getById(SystemConstant.convertIdToLong(orgId));
+        Optional.ofNullable(sysOrg).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("未找到此学院信息"));
+        BasicClazz basicClazz = null;
+        if (Objects.nonNull(clazzId)) {
+            basicClazz = basicClazzService.getById(SystemConstant.convertIdToLong(clazzId));
+            Optional.ofNullable(basicClazz).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("未找到此班级信息"));
+        }
         Map<String, Object> map = printCommonService.savePush(PushTypeEnum.SCORE_PUSH);
         map.computeIfAbsent("examId", v -> Integer.parseInt(String.valueOf(examPrintPlanList.get(0).getThirdRelateId())));
+        map.computeIfAbsent("subjectCode", v -> courseCode);
+        map.computeIfAbsent("college", v -> sysOrg.getName());
+        BasicClazz finalBasicClazz = basicClazz;
+        map.computeIfAbsent("className", v -> finalBasicClazz.getClazzName());
         asyncScorePushService.pushTask(map);
         TBSyncTask tbSyncTask = Objects.nonNull(map.get(SystemConstant.TB_SYNC_TASK)) ? (TBSyncTask) map.get(SystemConstant.TB_SYNC_TASK) : null;
         return Objects.nonNull(tbSyncTask) ? ResultUtil.ok(tbSyncTask.getId()) : ResultUtil.error("创建同步推送任务失败");

+ 42 - 14
teachcloud-common/src/main/java/com/qmth/teachcloud/common/sync/StmmsUtils.java

@@ -461,13 +461,27 @@ public class StmmsUtils {
     public int getStudentCount(Long schoolId, Integer examId, String examCode, String examNumber, String studentCode, String subjectCode, String college, String className, String teacher, boolean withMarkTrack) {
         Map<String, Object> map = new HashMap<>();
         map.put("examId", validParam(String.valueOf(examId), null, true, "考试ID"));
-//        map.put("examCode", validParam(examCode, null, false, "考试编码"));
-//        map.put("examNumber", validParam(examNumber, null, false, "准考证号"));
-//        map.put("studentCode", validParam(studentCode, null, false, "学号"));
-//        map.put("subjectCode", validParam(subjectCode, null, false, "课程编码"));
-//        map.put("college", validParam(college, null, false, "学院"));
-//        map.put("className", validParam(className, null, false, "班级"));
-//        map.put("teacher", validParam(teacher, null, false, "教师"));
+        if(Objects.nonNull(examCode)){
+            map.put("examCode", validParam(examCode, null, false, "考试编码"));
+        }
+        if(Objects.nonNull(examNumber)){
+            map.put("examNumber", validParam(examNumber, null, false, "准考证号"));
+        }
+        if(Objects.nonNull(studentCode)){
+            map.put("studentCode", validParam(studentCode, null, false, "学号"));
+        }
+        if(Objects.nonNull(subjectCode)){
+            map.put("subjectCode", validParam(subjectCode, null, false, "课程编码"));
+        }
+        if(Objects.nonNull(college)){
+            map.put("college", validParam(college, null, false, "学院"));
+        }
+        if(Objects.nonNull(className)){
+            map.put("className", validParam(className, null, false, "班级"));
+        }
+        if(Objects.nonNull(teacher)){
+            map.put("teacher", validParam(teacher, null, false, "教师"));
+        }
         map.put("withMarkTrack", validParam(withMarkTrack, true, false, "评分标记"));
 
         String hostUrl = dictionaryConfig.syncDataDomain().getHostUrl();
@@ -511,13 +525,27 @@ public class StmmsUtils {
     public List<Map> getStudentScore(Long schoolId, Integer examId, String examCode, String examNumber, String studentCode, String subjectCode, String college, String className, String teacher, boolean withMarkTrack, int pageNo, int pageSize) {
         Map<String, Object> map = new HashMap<>();
         map.put("examId", validParam(String.valueOf(examId), null, true, "考试ID"));
-//        map.put("examCode", validParam(examCode, null, false, "考试编码"));
-//        map.put("examNumber", validParam(examNumber, null, false, "准考证号"));
-//        map.put("studentCode", validParam(studentCode, null, false, "学号"));
-//        map.put("subjectCode", validParam(subjectCode, null, false, "课程编码"));
-//        map.put("college", validParam(college, null, false, "学院"));
-//        map.put("className", validParam(className, null, false, "班级"));
-//        map.put("teacher", validParam(teacher, null, false, "教师"));
+        if(Objects.nonNull(examCode)){
+            map.put("examCode", validParam(examCode, null, false, "考试编码"));
+        }
+        if(Objects.nonNull(examNumber)){
+            map.put("examNumber", validParam(examNumber, null, false, "准考证号"));
+        }
+        if(Objects.nonNull(studentCode)){
+            map.put("studentCode", validParam(studentCode, null, false, "学号"));
+        }
+        if(Objects.nonNull(subjectCode)){
+            map.put("subjectCode", validParam(subjectCode, null, false, "课程编码"));
+        }
+        if(Objects.nonNull(college)){
+            map.put("college", validParam(college, null, false, "学院"));
+        }
+        if(Objects.nonNull(className)){
+            map.put("className", validParam(className, null, false, "班级"));
+        }
+        if(Objects.nonNull(teacher)){
+            map.put("teacher", validParam(teacher, null, false, "教师"));
+        }
         map.put("withMarkTrack", validParam(withMarkTrack, true, false, "评分标记"));
         map.put("pageNumber", validParam(String.valueOf(pageNo), null, true, "页码"));
         map.put("pageSize", validParam(String.valueOf(pageSize), null, true, "数量"));

+ 0 - 3
teachcloud-common/src/main/java/com/qmth/teachcloud/common/util/ImageTrajectoryUtil.java

@@ -53,9 +53,6 @@ public class ImageTrajectoryUtil {
                 }
                 g.drawString(stringJoiner.toString(), (Integer) jsonObject.get("left"), (Integer) jsonObject.get("top"));
             }
-//            g.drawString("22.00", 23, image.getHeight() - 20);
-//            g.drawString("×", 33, image.getHeight() - 40);
-//            g.drawString("√", 43, image.getHeight() - 60);
             g.dispose();
 
             output = new FileOutputStream(targetFile);