浏览代码

归档和计算班级查询更改

caozixuan 2 年之前
父节点
当前提交
dfed82cf16

+ 7 - 8
distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/TSyncExamStudentScore.java

@@ -110,9 +110,8 @@ public class TSyncExamStudentScore implements Serializable {
     @ApiModelProperty(value = "创建时间")
     private Long createTime;
 
-    @ApiModelProperty(value = "专业id")
-    @JsonSerialize(using = ToStringSerializer.class)
-    private Long majorId;
+    @ApiModelProperty(value = "专业名称")
+    private String majorName;
 
     @ApiModelProperty(value = "班级id")
     @JsonSerialize(using = ToStringSerializer.class)
@@ -141,7 +140,7 @@ public class TSyncExamStudentScore implements Serializable {
         this.schoolId = (Long) map.get(SystemConstant.SCHOOL_ID);
         this.orgId = (Long) map.get("orgId");
         this.semesterId = (Long) map.get("semesterId");
-        this.majorId = (Long) map.get("majorId");
+        this.majorName = String.valueOf(map.get("majorName"));
         this.clazzId = (Long) map.get("clazzId");
         this.examId = Long.parseLong(String.valueOf(map.get("examId")));
         this.examCode = (String) map.get("examCode");
@@ -203,12 +202,12 @@ public class TSyncExamStudentScore implements Serializable {
         this.clazzId = clazzId;
     }
 
-    public Long getMajorId() {
-        return majorId;
+    public String getMajorName() {
+        return majorName;
     }
 
-    public void setMajorId(Long majorId) {
-        this.majorId = majorId;
+    public void setMajorName(String majorName) {
+        this.majorName = majorName;
     }
 
     public List<File> getTrajectoryFileList() {

+ 0 - 3
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/GradeBatchStudentClazzServiceImpl.java

@@ -1,12 +1,9 @@
 package com.qmth.distributed.print.business.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.qmth.distributed.print.business.entity.GradeBatchStudent;
 import com.qmth.distributed.print.business.entity.GradeBatchStudentClazz;
 import com.qmth.distributed.print.business.mapper.GradeBatchStudentClazzMapper;
-import com.qmth.distributed.print.business.mapper.GradeBatchStudentMapper;
 import com.qmth.distributed.print.business.service.GradeBatchStudentClazzService;
-import com.qmth.distributed.print.business.service.GradeBatchStudentService;
 import org.springframework.stereotype.Service;
 
 /**

+ 1 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/OpenApiServiceImpl.java

@@ -197,8 +197,7 @@ public class OpenApiServiceImpl implements OpenApiService {
                 examStudentScore.setPaperName(m.getSubjectName());
                 examStudentScore.setPaperType(gradeBatchPaper.getPaperType());
                 examStudentScore.setCollege(m.getCollege());
-                BasicMajor basicMajor = basicMajorService.getById(m.getMajorId());
-                examStudentScore.setMajor(basicMajor == null ? null : basicMajor.getName());
+                examStudentScore.setMajor(m.getMajorName());
                 examStudentScore.setClassName(m.getClazzName());
                 List<GradeBatchStudentClazz> gradeBatchStudentClazzs = gradeBatchStudentClazzList.isEmpty() ? null : gradeBatchStudentClazzList.stream().filter(s -> s.getClazzId().equals(m.getClazzId().toString()) && s.getPaperNumber().equals(examStudentScore.getPaperNumber()) && s.getPaperType().equals(examStudentScore.getPaperType())).collect(Collectors.toList());
                 GradeBatchStudentClazz gradeBatchStudentClazz = gradeBatchStudentClazzs == null || gradeBatchStudentClazzs.isEmpty() ? null : gradeBatchStudentClazzs.get(0);

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

@@ -99,24 +99,22 @@ public class PushLogicServiceImpl implements PushLogicService {
                                         }
                                         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();
-                                                    BasicMajor basicMajor = basicMajorService.getById(majorId);
-                                                    orgId = basicMajor.getBelongOrgId();
-                                                }
-                                            }
-                                        }
+//                                        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();
+//                                                    BasicMajor basicMajor = basicMajorService.getById(majorId);
+//                                                    orgId = basicMajor.getBelongOrgId();
+//                                                }
+//                                            }
+//                                        }
                                     }
                                     student.put(SystemConstant.SCHOOL_ID, schoolId);
                                     student.put("semesterId", k);
                                     student.put("orgId", orgId);
-                                    student.put("clazzId", clazzId);
-                                    student.put("majorId", majorId);
                                     student.put("userId", sysUser.getId());
                                     tSyncExamStudentScoreList.add(new TSyncExamStudentScore(student));
                                 } catch (Exception e) {

+ 5 - 2
distributed-print-business/src/main/resources/db/1、init-table.sql

@@ -268,6 +268,7 @@ CREATE TABLE `basic_clazz` (
                                `school_id` bigint NOT NULL COMMENT '学校id',
                                `major_id` bigint NOT NULL COMMENT '专业id',
                                `clazz_code` varchar(50) DEFAULT NULL COMMENT '班级编号',
+                               `short_code` varchar(10) DEFAULT NULL COMMENT '简码',
                                `clazz_name` varchar(50) DEFAULT NULL COMMENT '班级名称',
                                `enable` tinyint(1) DEFAULT NULL COMMENT '是否可用',
                                `org_id` bigint DEFAULT NULL COMMENT '权限机构id',
@@ -305,6 +306,7 @@ CREATE TABLE `basic_course` (
                                 `school_id` bigint NOT NULL COMMENT '学校id',
                                 `org_id` bigint NOT NULL COMMENT '机构id',
                                 `code` varchar(20) NOT NULL COMMENT '课程编码',
+                                `short_code` varchar(10) DEFAULT NULL COMMENT '简码',
                                 `name` varchar(50) NOT NULL COMMENT '课程名称',
                                 `create_id` bigint DEFAULT NULL COMMENT '创建人',
                                 `create_time` bigint DEFAULT NULL COMMENT '创建时间',
@@ -325,6 +327,7 @@ CREATE TABLE `basic_exam` (
                               `id` bigint NOT NULL,
                               `school_id` bigint NOT NULL,
                               `semester_id` bigint DEFAULT NULL COMMENT '学期ID',
+                              `short_code` varchar(10) DEFAULT NULL COMMENT '简码',
                               `name` varchar(100) DEFAULT NULL COMMENT '考试名称',
                               `category` varchar(45) DEFAULT NULL COMMENT '考试类型(ONLINE:线上,OFFLINE:线下)',
                               `exam_model` varchar(45) DEFAULT NULL COMMENT '业务模式(MODEL1:电子交卷环节需要提交考务数据,MODEL2:电子交卷环节不需要提交考务数据,只输入印刷份数即可,MODEL3:电子交卷环节不需要提交考务数据)',
@@ -1791,7 +1794,7 @@ CREATE TABLE `t_sync_exam_student_score` (
                                              `school_id` bigint DEFAULT NULL COMMENT '学校id',
                                              `org_id` bigint DEFAULT NULL COMMENT '机构id',
                                              `semester_id` bigint DEFAULT NULL COMMENT '学期id',
-                                             `major_id` bigint DEFAULT NULL COMMENT '专业id',
+                                             `major_name` varchar(100) DEFAULT NULL COMMENT '专业名称',
                                              `clazz_id` bigint DEFAULT NULL COMMENT '班级id',
                                              `exam_id` bigint DEFAULT NULL COMMENT '云阅卷考试id',
                                              `exam_code` varchar(100) DEFAULT NULL COMMENT '云阅卷考试标识',
@@ -1815,7 +1818,7 @@ CREATE TABLE `t_sync_exam_student_score` (
                                              `create_id` bigint DEFAULT NULL COMMENT '创建人id',
                                              `create_time` bigint DEFAULT NULL COMMENT '创建时间',
                                              PRIMARY KEY (`id`) USING BTREE,
-                                             KEY `score_schoolId_idx` (`school_id`,`semester_id`,`org_id`,`major_id`,`clazz_id`,`student_code`) USING BTREE
+                                             KEY `score_schoolId_idx` (`school_id`,`semester_id`,`org_id`,`major_name`,`clazz_id`,`student_code`) USING BTREE
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='同步考生成绩表';
 
 -- ----------------------------

+ 17 - 3
distributed-print-business/src/main/resources/mapper/ExamStudentMapper.xml

@@ -214,7 +214,15 @@
         WHERE a.id = #{id}
     </select>
     <select id="listStudentScoreSync" resultType="java.util.Map">
-        SELECT a.clazz_id     clazzId,
+        SELECT CASE a.student_clazz_type
+                   WHEN 'TEACH_CLAZZ' THEN a.teach_clazz_id
+                   WHEN 'BASIC_CLAZZ' THEN a.clazz_id
+                   END clazzId,
+               CASE a.student_clazz_type
+                   WHEN 'TEACH_CLAZZ' THEN a.teach_clazz_name
+                   WHEN 'BASIC_CLAZZ' THEN a.clazz_name
+                   END clazzName,
+               a.major_name   majorName,
                b.course_code  courseCode,
                b.paper_number paperNumber,
                a.paper_type   paperType,
@@ -252,8 +260,14 @@
                  edc.course_name,
                  edc.paper_number,
                  es.paper_type,
-                 es.clazz_id,
-                 es.clazz_name
+                 CASE es.student_clazz_type
+                     WHEN 'TEACH_CLAZZ' THEN es.teach_clazz_id
+                     WHEN 'BASIC_CLAZZ' THEN es.clazz_id
+                     END clazz_id,
+                 CASE es.student_clazz_type
+                     WHEN 'TEACH_CLAZZ' THEN es.teach_clazz_name
+                     WHEN 'BASIC_CLAZZ' THEN es.clazz_name
+                     END clazz_name
              FROM
                  exam_student es
                      JOIN exam_detail_course edc ON es.exam_detail_course_id = edc.id