Эх сурвалжийг харах

Merge remote-tracking branch 'origin/dev_v2.1.0' into dev_v2.1.0

wangliang 4 жил өмнө
parent
commit
b7aa7871fe
13 өөрчлөгдсөн 147 нэмэгдсэн , 40 устгасан
  1. 1 1
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/SysUserServiceImpl.java
  2. 5 5
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/dto/query/BasicExamRecordDto.java
  3. 18 6
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/entity/TAExamCourseCollegeInspectDio.java
  4. 6 6
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/entity/TAExamCourseRecord.java
  5. 6 6
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/entity/TBExamStudent.java
  6. 9 9
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/impl/AnalyzeForStudentServiceImpl.java
  7. 5 0
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/impl/TAExamCourseCollegeInspectDioServiceImpl.java
  8. 2 2
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/impl/TAExamCourseServiceImpl.java
  9. 1 1
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/impl/TBExamStudentServiceImpl.java
  10. 1 1
      teachcloud-report-business/src/main/resources/mapper/TBAnswerMapper.xml
  11. 1 1
      teachcloud-report-business/src/main/resources/mapper/TBExamRecordMapper.xml
  12. 2 2
      teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/BasicDatasourceController.java
  13. 90 0
      teachcloud-report/src/test/java/com/qmth/teachcloud/report/AnalyzeForStudentServiceTest.java

+ 1 - 1
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/SysUserServiceImpl.java

@@ -247,7 +247,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
                 .eq(SysUser::getLoginName,teacherCode)
                 .eq(SysUser::getRealName,teacherName));
         SysRole sysRole = sysRoleService.getOne(new QueryWrapper<SysRole>().lambda().eq(SysRole::getType,RoleTypeEnum.TEACHER));
-        tbSchoolTeacherList = tbSchoolTeacherList.stream().filter(e -> Arrays.asList(e.getRoleIds()).contains(sysRole.getId())).collect(Collectors.toList());
+//        tbSchoolTeacherList = tbSchoolTeacherList.stream().filter(e -> Arrays.asList(e.getRoleIds()).contains(sysRole.getId())).collect(Collectors.toList());
         if (tbSchoolTeacherList.size() != 1){
             throw ExceptionResultEnum.ERROR.exception("教师基础数据信息异常");
         }

+ 5 - 5
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/dto/query/BasicExamRecordDto.java

@@ -22,7 +22,7 @@ public class BasicExamRecordDto {
     private String ticketNumber;
     private String studentCode;
     private Boolean absent;
-    private Boolean current;
+    private Boolean studentCurrent;
     private Long tbExamRecordId;
     private Long paperId;
     private String paperType;
@@ -142,12 +142,12 @@ public class BasicExamRecordDto {
         this.absent = absent;
     }
 
-    public Boolean getCurrent() {
-        return current;
+    public Boolean getStudentCurrent() {
+        return studentCurrent;
     }
 
-    public void setCurrent(Boolean current) {
-        this.current = current;
+    public void setStudentCurrent(Boolean studentCurrent) {
+        this.studentCurrent = studentCurrent;
     }
 
     public Long getTbExamRecordId() {

+ 18 - 6
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/entity/TAExamCourseCollegeInspectDio.java

@@ -48,8 +48,12 @@ public class TAExamCourseCollegeInspectDio implements Serializable {
 
     @ApiModelProperty(value = "学院id")
     @JsonSerialize(using = ToStringSerializer.class)
-    @TableField(value = "college_id")
-    private Long collegeId;
+    @TableField(value = "inspect_college_id")
+    private Long inspectCollegeId;
+
+    @ApiModelProperty(value = "学院名称")
+    @TableField(value = "inspect_college_name")
+    private String inspectCollegeName;
 
     @ApiModelProperty(value = "模块类型")
     @TableField(value = "dimension_type")
@@ -111,12 +115,20 @@ public class TAExamCourseCollegeInspectDio implements Serializable {
         this.examId = examId;
     }
 
-    public Long getCollegeId() {
-        return collegeId;
+    public Long getInspectCollegeId() {
+        return inspectCollegeId;
+    }
+
+    public void setInspectCollegeId(Long inspectCollegeId) {
+        this.inspectCollegeId = inspectCollegeId;
+    }
+
+    public String getInspectCollegeName() {
+        return inspectCollegeName;
     }
 
-    public void setCollegeId(Long collegeId) {
-        this.collegeId = collegeId;
+    public void setInspectCollegeName(String inspectCollegeName) {
+        this.inspectCollegeName = inspectCollegeName;
     }
 
     public String getDimensionType() {

+ 6 - 6
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/entity/TAExamCourseRecord.java

@@ -119,8 +119,8 @@ public class TAExamCourseRecord implements Serializable {
     private Boolean absent;
 
     @ApiModelProperty(value = "是否应届")
-    @TableField(value = "current")
-    private Boolean current;
+    @TableField(value = "student_current")
+    private Boolean studentCurrent;
 
     public static long getSerialVersionUID() {
         return serialVersionUID;
@@ -302,12 +302,12 @@ public class TAExamCourseRecord implements Serializable {
         this.absent = absent;
     }
 
-    public Boolean getCurrent() {
-        return current;
+    public Boolean getStudentCurrent() {
+        return studentCurrent;
     }
 
-    public void setCurrent(Boolean current) {
-        this.current = current;
+    public void setStudentCurrent(Boolean studentCurrent) {
+        this.studentCurrent = studentCurrent;
     }
 
     public Long getSchoolId() {

+ 6 - 6
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/entity/TBExamStudent.java

@@ -91,8 +91,8 @@ public class TBExamStudent implements Serializable {
     private Boolean absent;
 
     @ApiModelProperty(value = "是否本届,false:非本届,true:本届")
-    @TableField(value = "current")
-    private Boolean current;
+    @TableField(value = "student_current")
+    private Boolean studentCurrent;
 
     public Long getSchoolId() {
         return schoolId;
@@ -218,11 +218,11 @@ public class TBExamStudent implements Serializable {
         this.absent = absent;
     }
 
-    public Boolean getCurrent() {
-        return current;
+    public Boolean getStudentCurrent() {
+        return studentCurrent;
     }
 
-    public void setCurrent(Boolean current) {
-        this.current = current;
+    public void setStudentCurrent(Boolean studentCurrent) {
+        this.studentCurrent = studentCurrent;
     }
 }

+ 9 - 9
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/impl/AnalyzeForStudentServiceImpl.java

@@ -152,7 +152,7 @@ public class AnalyzeForStudentServiceImpl implements AnalyzeForStudentService {
              */
             // 该课程往届数据
             List<TAExamCourseRecord> pastDatasource = totalDatasource.stream()
-                    .filter(e -> !e.getCurrent()).collect(Collectors.toList());
+                    .filter(e -> !e.getStudentCurrent()).collect(Collectors.toList());
             int pastTotalCount = pastDatasource.size();
             long pastRealityCount = pastDatasource.stream().filter(e -> !e.getAbsent()).count();
             long pastAbsentCount = pastDatasource.stream().filter(TAExamCourseRecord::getAbsent).count();
@@ -166,7 +166,7 @@ public class AnalyzeForStudentServiceImpl implements AnalyzeForStudentService {
              */
             // 该课程下应届数据
             List<TAExamCourseRecord> currentDatasource = totalDatasource.stream()
-                    .filter(TAExamCourseRecord::getCurrent).collect(Collectors.toList());
+                    .filter(TAExamCourseRecord::getStudentCurrent).collect(Collectors.toList());
             // 人数统计
             int currentTotalCount = currentDatasource.size();
             long currentRealityCount = currentDatasource.stream().filter(e -> !e.getAbsent()).count();
@@ -305,7 +305,7 @@ public class AnalyzeForStudentServiceImpl implements AnalyzeForStudentService {
         List<TAExamCourseRecord> taExamCourseRecordDatasource = taExamCourseRecordService.list(new QueryWrapper<TAExamCourseRecord>().lambda()
                 .eq(TAExamCourseRecord::getExamId,examId)
                 .eq(TAExamCourseRecord::getAbsent,false)
-                .eq(TAExamCourseRecord::getCurrent,true));
+                .eq(TAExamCourseRecord::getStudentCurrent,true));
 
         List<String> effectiveCourseCodeList = tbExamCourseService.findEffectiveByExamId(examId,courseCode);
 
@@ -339,7 +339,7 @@ public class AnalyzeForStudentServiceImpl implements AnalyzeForStudentService {
             }
             taExamCourseRecordService.saveOrUpdateBatch(dataSource);
         }
-        return "exm_pap_tik 表更新完成";
+        return " 't_a_exam_course_record' 表更新完成";
     }
 
     @Transactional(rollbackFor = Exception.class)
@@ -358,7 +358,7 @@ public class AnalyzeForStudentServiceImpl implements AnalyzeForStudentService {
 
             // 本课程下所有应届考生考生记录
             List<TAExamCourseRecord> recordCourseCurrentDatasource = recordDatasource.stream()
-                    .filter(e -> effectiveCourseCode.equals(e.getCourseCode()) && e.getCurrent()).collect(Collectors.toList());
+                    .filter(e -> effectiveCourseCode.equals(e.getCourseCode()) && e.getStudentCurrent()).collect(Collectors.toList());
 
             List<Long> inspectCollegeIdList = recordCourseCurrentDatasource.stream().filter(e -> !e.getAbsent()).map(TAExamCourseRecord::getInspectCollegeId).distinct().collect(Collectors.toList());
             for (Long collegeId : inspectCollegeIdList) {
@@ -447,7 +447,7 @@ public class AnalyzeForStudentServiceImpl implements AnalyzeForStudentService {
                     .eq(TAExamCourseClazz::getCourseCode,effectiveCourseCode));
 
             List<TAExamCourseRecord> recordCourseCurrentDatasource = recordDatasource.stream()
-                    .filter(e -> effectiveCourseCode.equals(e.getCourseCode()) && e.getCurrent()).collect(Collectors.toList());
+                    .filter(e -> effectiveCourseCode.equals(e.getCourseCode()) && e.getStudentCurrent()).collect(Collectors.toList());
             List<Long> clazzIdList = recordCourseCurrentDatasource.stream().filter(e -> !e.getAbsent()).map(TAExamCourseRecord::getClazzId).distinct().collect(Collectors.toList());
             for (Long clazzId : clazzIdList) {
                 List<TAExamCourseRecord> clazzEffectiveRecordDatasource = recordCourseCurrentDatasource.stream()
@@ -518,7 +518,7 @@ public class AnalyzeForStudentServiceImpl implements AnalyzeForStudentService {
         for (String effectiveCourseCode : effectiveCourseCodeList) {
             // 有效考生作答数据源
             List<TAExamCourseRecord> effectiveDatasource = dataSource.stream()
-                    .filter(e -> effectiveCourseCode.equals(e.getCourseCode()) && !e.getAbsent() && e.getCurrent()).collect(Collectors.toList());
+                    .filter(e -> effectiveCourseCode.equals(e.getCourseCode()) && !e.getAbsent() && e.getStudentCurrent()).collect(Collectors.toList());
 
             // 考察点数据源
             List<TBDimension> dimensionDatasource = tbDimensionService.list(new QueryWrapper<TBDimension>().lambda()
@@ -975,7 +975,7 @@ public class AnalyzeForStudentServiceImpl implements AnalyzeForStudentService {
                 for (Long teacherId : teacherIdSet) {
                     // 该教师数据
                     List<TAExamCourseRecord> teacherRecordList = dataSource.stream()
-                            .filter(e -> inspectCollegeId.equals(e.getInspectCollegeId()) && teacherId.equals(e.getTeacherId()) && e.getCurrent())
+                            .filter(e -> inspectCollegeId.equals(e.getInspectCollegeId()) && teacherId.equals(e.getTeacherId()) && e.getStudentCurrent())
                             .collect(Collectors.toList());
 
                     // 学生人数
@@ -1085,7 +1085,7 @@ public class AnalyzeForStudentServiceImpl implements AnalyzeForStudentService {
             List<TAExamCourseTeacher> taExamCourseTeacherList = new ArrayList<>();
             List<TAExamCourseRecord> dataSource = taExamCourseRecordService.list(new QueryWrapper<TAExamCourseRecord>().lambda()
                     .eq(TAExamCourseRecord::getExamId,examId).eq(TAExamCourseRecord::getCourseCode,effectiveCourseCode));
-            List<TAExamCourseRecord> currentSource = dataSource.stream().filter(TAExamCourseRecord::getCurrent).collect(Collectors.toList());
+            List<TAExamCourseRecord> currentSource = dataSource.stream().filter(TAExamCourseRecord::getStudentCurrent).collect(Collectors.toList());
 
             Set<Long> teacherIdList = currentSource.stream().map(TAExamCourseRecord::getTeacherId).collect(Collectors.toSet());
             for (Long teacherId : teacherIdList) {

+ 5 - 0
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/impl/TAExamCourseCollegeInspectDioServiceImpl.java

@@ -3,9 +3,11 @@ package com.qmth.teachcloud.report.business.service.impl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
+import com.qmth.teachcloud.common.util.ServletUtil;
 import com.qmth.teachcloud.report.business.entity.TAExamCourseCollegeInspectDio;
 import com.qmth.teachcloud.report.business.mapper.TAExamCourseCollegeInspectDioMapper;
 import com.qmth.teachcloud.report.business.service.TAExamCourseCollegeInspectDioService;
+import com.qmth.teachcloud.report.business.service.TBExamService;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -24,6 +26,8 @@ import java.util.List;
 public class TAExamCourseCollegeInspectDioServiceImpl extends ServiceImpl<TAExamCourseCollegeInspectDioMapper, TAExamCourseCollegeInspectDio> implements TAExamCourseCollegeInspectDioService {
     @Resource
     private TAExamCourseCollegeInspectDioMapper taExamCourseCollegeInspectDioMapper;
+    @Resource
+    private TBExamService tbExamService;
 
     @Transactional(rollbackFor = Exception.class)
     @Override
@@ -33,6 +37,7 @@ public class TAExamCourseCollegeInspectDioServiceImpl extends ServiceImpl<TAExam
         }
         List<TAExamCourseCollegeInspectDio> taExamCourseCollegeInspectDioList = taExamCourseCollegeInspectDioMapper.findByTAExamCourseRecordDio(examId,courseCode);
         for (TAExamCourseCollegeInspectDio taExamCourseCollegeInspectDio : taExamCourseCollegeInspectDioList) {
+            taExamCourseCollegeInspectDio.setSchoolId(tbExamService.getById(taExamCourseCollegeInspectDio.getExamId()).getSchoolId());
             taExamCourseCollegeInspectDio.setId(SystemConstant.getDbUuid());
         }
         this.saveBatch(taExamCourseCollegeInspectDioList);

+ 2 - 2
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/impl/TAExamCourseServiceImpl.java

@@ -112,9 +112,9 @@ public class TAExamCourseServiceImpl extends ServiceImpl<TAExamCourseMapper, TAE
             // 本分数段人数
             long totalScoreCount = taExamCourseRecords.stream().filter(m -> m.getAssignedScore().doubleValue() >= startScore && m.getAssignedScore().doubleValue() <= endScore).count();
             // 应届有效人数
-            long totalCurrentCount = taExamCourseRecords.stream().filter(m -> m.getCurrent()).count();
+            long totalCurrentCount = taExamCourseRecords.stream().filter(TAExamCourseRecord::getStudentCurrent).count();
             // 本分数段应届有效人数
-            long totalScoreCurrentCount = taExamCourseRecords.stream().filter(m -> m.getCurrent() && m.getAssignedScore().doubleValue() >= startScore && m.getAssignedScore().doubleValue() <= endScore).count();
+            long totalScoreCurrentCount = taExamCourseRecords.stream().filter(m -> m.getStudentCurrent() && m.getAssignedScore().doubleValue() >= startScore && m.getAssignedScore().doubleValue() <= endScore).count();
             Map<String, Object> objectMap = new HashMap<>();
             objectMap.put("scores", String.join(",", str));
             objectMap.put("totalRealityCount", totalRealityCount);

+ 1 - 1
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/impl/TBExamStudentServiceImpl.java

@@ -158,7 +158,7 @@ public class TBExamStudentServiceImpl extends ServiceImpl<TBExamStudentMapper, T
                 ExamStudentTypeDto examStudentTypeDto = (ExamStudentTypeDto) tempList.get(y);
                 if (StringUtils.isNotBlank(examStudentTypeDto.getCurrent())) {
                     UpdateWrapper<TBExamStudent> updateWrapper = new UpdateWrapper<>();
-                    updateWrapper.lambda().set(TBExamStudent::getCurrent, "应届".equals(examStudentTypeDto.getCurrent().trim()))
+                    updateWrapper.lambda().set(TBExamStudent::getStudentCurrent, "应届".equals(examStudentTypeDto.getCurrent().trim()))
                             .eq(TBExamStudent::getExamId, examId)
                             .eq(TBExamStudent::getTicketNumber, examStudentTypeDto.getTicketNumber().trim())
                             .eq(TBExamStudent::getCourseCode, examStudentTypeDto.getCourseCode().trim());

+ 1 - 1
teachcloud-report-business/src/main/resources/mapper/TBAnswerMapper.xml

@@ -45,7 +45,7 @@
                 INNER JOIN
             t_a_exam_course_record record ON answer.exam_record_id = record.exam_record_id
         WHERE
-            record.absent = 0 AND record.current = 1
+            record.absent = 0 AND record.student_current = 1
           AND record.exam_id = #{examId}
           AND record.course_code = #{courseCode};
     </select>

+ 1 - 1
teachcloud-report-business/src/main/resources/mapper/TBExamRecordMapper.xml

@@ -19,7 +19,7 @@
             ticket_number AS ticketNumber,
             student_code AS studentCode,
             absent AS absent,
-            current,
+            student_current as studentCurrent,
             br.id AS tbExamRecordId,
             paper_id AS paperId,
             paper_type AS paperType,

+ 2 - 2
teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/BasicDatasourceController.java

@@ -598,7 +598,7 @@ public class BasicDatasourceController {
                 tbExamStudent.setTicketNumber(examNumber);
                 tbExamStudent.setAbsent(status == 2);
                 // 全部设置为本届
-                tbExamStudent.setCurrent(true);
+                tbExamStudent.setStudentCurrent(true);
                 tbExamStudentList.add(tbExamStudent);
 
                 // TODO: 2021/6/2 创建考生-考试记录关系表(全批次删除并新增)
@@ -745,7 +745,7 @@ public class BasicDatasourceController {
                     taExamCourseRecord.setMajorId(basicExamRecordDto.getMajorId());
                     taExamCourseRecord.setTotalScore(myScore);
                     taExamCourseRecord.setAbsent(basicExamRecordDto.getAbsent());
-                    taExamCourseRecord.setCurrent(basicExamRecordDto.getCurrent());
+                    taExamCourseRecord.setStudentCurrent(basicExamRecordDto.getStudentCurrent());
                     taExamCourseRecordList.add(taExamCourseRecord);
                 }
                 taExamCourseRecordDatasource.addAll(taExamCourseRecordList);

+ 90 - 0
teachcloud-report/src/test/java/com/qmth/teachcloud/report/AnalyzeForStudentServiceTest.java

@@ -0,0 +1,90 @@
+package com.qmth.teachcloud.report;
+
+import com.qmth.teachcloud.report.business.service.AnalyzeForStudentService;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import javax.annotation.Resource;
+
+/**
+ * @Description:
+ * @Author: CaoZixuan
+ * @Date:
+ */
+@SpringBootTest(classes = {TeachcloudReportApplication.class})
+@RunWith(SpringRunner.class)
+public class AnalyzeForStudentServiceTest {
+    @Resource
+    private AnalyzeForStudentService analyzeForStudentService;
+    @Test
+    public void buildAnalyzeExamCourse() {
+        Long examId = 1L;
+        String courseCode = "1013";
+        System.out.println(analyzeForStudentService.buildAnalyzeExamCourse(examId,courseCode));
+
+    }
+
+    @Test
+    public void buildAnalyzeExamCourseRecord() {
+        Long examId = 1L;
+        String courseCode = "1013";
+        System.out.println(analyzeForStudentService.buildAnalyzeExamCourseRecord(examId,courseCode));
+    }
+
+    @Test
+    public void buildAnalyzeExamCourseCollegeInspectByOther() {
+        Long examId = 1L;
+        String courseCode = "1013";
+        System.out.println(analyzeForStudentService.buildAnalyzeExamCourseCollegeInspect(examId,courseCode));
+    }
+
+    @Test
+    public void buildAnalyzeExamCourseClazz() {
+        Long examId = 1L;
+        String courseCode = "1013";
+        System.out.println(analyzeForStudentService.buildAnalyzeExamCourseClazz(examId,courseCode));
+    }
+
+    @Test
+    public void analyzePointScoreRate() throws Exception {
+        Long examId = 1L;
+        String courseCode = "1013";
+        analyzeForStudentService.AnalyzePointScoreRate(examId,courseCode);
+    }
+
+    @Test
+    public void buildAnalyzeExamCourseCollegeInspectDio() {
+        Long examId = 1L;
+        String courseCode = "1013";
+        System.out.println(analyzeForStudentService.buildAnalyzeExamCourseCollegeInspectDio(examId,courseCode));
+    }
+
+    @Test
+    public void buildAnalyzePaperStruct() {
+        Long examId = 1L;
+        String courseCode = "1013";
+        System.out.println(analyzeForStudentService.buildAnalyzePaperStruct(examId,courseCode));
+    }
+
+    @Test
+    public void buildAnalyzeExamTotal() {
+        Long examId = 1L;
+        System.out.println(analyzeForStudentService.buildAnalyzeExamTotal(examId));
+    }
+
+    @Test
+    public void buildAnalyzeExamCourseCollegeTeacher() {
+        Long examId = 1L;
+        String courseCode = "1013";
+        System.out.println(analyzeForStudentService.buildAnalyzeExamCourseCollegeTeacher(examId,courseCode));
+    }
+
+    @Test
+    public void buildAnalyzeExamCourseTeacher() {
+        Long examId = 1L;
+        String courseCode = "1013";
+        System.out.println(analyzeForStudentService.buildAnalyzeExamCourseTeacher(examId,courseCode));
+    }
+}