Procházet zdrojové kódy

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

wangliang před 4 roky
rodič
revize
081d6d4db5

+ 12 - 0
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/entity/TAExamCourse.java

@@ -63,6 +63,10 @@ public class TAExamCourse implements Serializable {
     @TableField(value = "inspect_college_count")
     private Integer inspectCollegeCount;
 
+    @ApiModelProperty(value = "考查学院名称(','隔开)")
+    @TableField(value = "inspect_college_names")
+    private String inspectCollegeNames;
+
     @ApiModelProperty(value = "总体平均分")
     @TableField(value = "avg_score")
     private BigDecimal avgScore;
@@ -570,4 +574,12 @@ public class TAExamCourse implements Serializable {
     public void setCoefficient(BigDecimal coefficient) {
         this.coefficient = coefficient;
     }
+
+    public String getInspectCollegeNames() {
+        return inspectCollegeNames;
+    }
+
+    public void setInspectCollegeNames(String inspectCollegeNames) {
+        this.inspectCollegeNames = inspectCollegeNames;
+    }
 }

+ 8 - 0
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/impl/AnalyzeForReportServiceImpl.java

@@ -19,6 +19,7 @@ import com.qmth.teachcloud.report.business.service.*;
 import com.qmth.teachcloud.report.business.utils.AnalyzeScopeUtil;
 import com.qmth.teachcloud.report.business.utils.ConversionUtils;
 import com.qmth.teachcloud.report.business.utils.MathUtil;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -253,6 +254,12 @@ public class AnalyzeForReportServiceImpl implements AnalyzeForReportService {
                 teachCollegeName = tbSchoolCollege.getName();
             }
             int inspectCollegeCount = inspectCollegeIdList.size();
+            if (inspectCollegeIdList.size() == 0){
+                throw ExceptionResultEnum.ERROR.exception("没有考察学院");
+            }
+            List<SysOrg> sysOrgList = sysOrgService.listByIds(inspectCollegeIdList);
+            String inspectCollegeNames = StringUtils.join(sysOrgList.stream().map(SysOrg::getName).collect(Collectors.toList()),'、');
+
 
             /*
                 组装
@@ -268,6 +275,7 @@ public class AnalyzeForReportServiceImpl implements AnalyzeForReportService {
             taExamCourse.setTeachCollegeId(teachCollegeId);
             taExamCourse.setTeachCollegeName(teachCollegeName);
             taExamCourse.setInspectCollegeCount(inspectCollegeCount);
+            taExamCourse.setInspectCollegeNames(inspectCollegeNames);
             taExamCourse.setAvgScore(BigDecimal.valueOf(avgScore));
             taExamCourse.setPassCount((int) passCount);
             taExamCourse.setPassRate(passRate);

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

@@ -301,20 +301,20 @@ public class TAExamCourseServiceImpl extends ServiceImpl<TAExamCourseMapper, TAE
         trialCalculationResult.setTotalCount(totalCount);
         trialCalculationResult.setCurrentCount(currentCount);
         // - 卷面-总体
-        trialCalculationResult.setAvgScore(BigDecimal.valueOf(paperTotalAvgScore));
-        trialCalculationResult.setFailRate(paperTotalFailRate);
+        trialCalculationResult.setAvgScore(BigDecimal.valueOf(paperTotalAvgScore).setScale(1,BigDecimal.ROUND_HALF_UP));
+        trialCalculationResult.setFailRate(paperTotalFailRate.setScale(1,BigDecimal.ROUND_HALF_UP));
         trialCalculationResult.setFailCount((int) paperTotalFailCount);
         // - 卷面-应届
-        trialCalculationResult.setCurrentAvgScore(BigDecimal.valueOf(paperCurrentAvgScore));
-        trialCalculationResult.setCurrentFailRate(paperCurrentFailRate);
+        trialCalculationResult.setCurrentAvgScore(BigDecimal.valueOf(paperCurrentAvgScore).setScale(1,BigDecimal.ROUND_HALF_UP));
+        trialCalculationResult.setCurrentFailRate(paperCurrentFailRate.setScale(1,BigDecimal.ROUND_HALF_UP));
         trialCalculationResult.setCurrentFailCount((int) paperCurrentFailCount);
         // - 赋分-总体
-        trialCalculationResult.setAvgScoreAssign(BigDecimal.valueOf(totalAvgScore));
-        trialCalculationResult.setFailRateAssign(totalFailRate);
+        trialCalculationResult.setAvgScoreAssign(BigDecimal.valueOf(totalAvgScore).setScale(1,BigDecimal.ROUND_HALF_UP));
+        trialCalculationResult.setFailRateAssign(totalFailRate.setScale(1,BigDecimal.ROUND_HALF_UP));
         trialCalculationResult.setFailCountAssign((int) totalFailCount);
         // - 赋分-应届
-        trialCalculationResult.setCurrentAvgScoreAssign(BigDecimal.valueOf(currentAvgScore));
-        trialCalculationResult.setCurrentFailRateAssign(currentFailRate);
+        trialCalculationResult.setCurrentAvgScoreAssign(BigDecimal.valueOf(currentAvgScore).setScale(1,BigDecimal.ROUND_HALF_UP));
+        trialCalculationResult.setCurrentFailRateAssign(currentFailRate.setScale(1,BigDecimal.ROUND_HALF_UP));
         trialCalculationResult.setCurrentFailCountAssign((int) currentFailCount);
 
         return trialCalculationResult;

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

@@ -152,7 +152,7 @@
         a.teach_college_name teachCollegeName,
         a.teacher_name teacherName,
         round(a.avg_score_assign, 1) avgScoreAssign,
-        a.teacher_rank rank
+        a.teacher_rank `rank`
         FROM
         t_a_exam_course_college_teacher a
         LEFT JOIN

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

@@ -84,7 +84,8 @@
             a.reality_count realityCount,
             a.inspect_college_count inspectCollegeCount,
             a.absent_count absentCount,
-            a.teach_college_name teachCollegeName
+            a.teach_college_name teachCollegeName,
+            a.inspect_college_names inspectCollegeName
         FROM
             t_a_exam_course a
                 LEFT JOIN

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

@@ -21,6 +21,7 @@ import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.annotation.Resource;
+import java.math.BigDecimal;
 import java.util.Objects;
 
 @Api(tags = "课程Controller")
@@ -42,7 +43,7 @@ public class CourseController {
                                     @ApiParam(value = "学校id", required = false) @RequestParam(required = false) String schoolId,
                                     @ApiParam(value = "分页页码", required = true) @RequestParam int pageNumber,
                                     @ApiParam(value = "分页数", required = true) @RequestParam int pageSize) {
-        return ResultUtil.ok(taExamCourseService.surveyTeacherList(new Page<>(pageNumber, pageSize), SystemConstant.convertIdToLong(examId), semester, Objects.isNull(schoolId) ? (Long) ServletUtil.getRequestHeaderSchoolId() : SystemConstant.convertIdToLong(schoolId)));
+        return ResultUtil.ok(taExamCourseService.surveyTeacherList(new Page<>(pageNumber, pageSize), SystemConstant.convertIdToLong(examId), semester, Objects.isNull(schoolId) ? SystemConstant.convertIdToLong(String.valueOf(ServletUtil.getRequestHeaderSchoolId())) : SystemConstant.convertIdToLong(schoolId)));
     }
 
     @ApiOperation(value = "开课课程考试总览-教师各课堂成绩排名接口")
@@ -54,7 +55,7 @@ public class CourseController {
                                            @ApiParam(value = "科目编码", required = true) @RequestParam String courseCode,
                                            @ApiParam(value = "分页页码", required = true) @RequestParam int pageNumber,
                                            @ApiParam(value = "分页数", required = true) @RequestParam int pageSize) {
-        return ResultUtil.ok(taExamCourseService.surveyTeacherTeacherView(new Page<>(pageNumber, pageSize), Objects.isNull(schoolId) ? (Long) ServletUtil.getRequestHeaderSchoolId() : SystemConstant.convertIdToLong(schoolId), semester, SystemConstant.convertIdToLong(examId), courseCode));
+        return ResultUtil.ok(taExamCourseService.surveyTeacherTeacherView(new Page<>(pageNumber, pageSize), Objects.isNull(schoolId) ? SystemConstant.convertIdToLong(String.valueOf(ServletUtil.getRequestHeaderSchoolId()))  : SystemConstant.convertIdToLong(schoolId), semester, SystemConstant.convertIdToLong(examId), courseCode));
     }
 
     @ApiOperation(value = "开课课程考试总览-试题难度得分情况分析接口")
@@ -132,4 +133,17 @@ public class CourseController {
                                      @ApiParam(value = "分页数", required = true) @RequestParam int pageSize) {
         return ResultUtil.ok(taExamCourseService.surveyAspointsList(new Page<>(pageNumber, pageSize), Objects.isNull(schoolId) ? (Long) ServletUtil.getRequestHeaderSchoolId() : SystemConstant.convertIdToLong(schoolId), SystemConstant.convertIdToLong(examId), courseCode, publishStatus, semester));
     }
+
+    @ApiOperation(value = "赋分试算接口")
+    @RequestMapping(value = "/survey_aspoints/calculation", method = RequestMethod.POST)
+    @ApiResponses({@ApiResponse(code = 200, message = "赋分试算接口", response = TrialCalculationResult.class)})
+    public Result surveyAspointsCalculation(
+                                     @ApiParam(value = "考试id", required = true) @RequestParam String examId,
+                                     @ApiParam(value = "科目编码", required = true) @RequestParam String courseCode,
+                                     @ApiParam(value = "赋分系数", required = true) @RequestParam BigDecimal coefficient) {
+        return ResultUtil.ok(taExamCourseService.trialCalculate(SystemConstant.convertIdToLong(examId),courseCode,coefficient));
+    }
+
+
+
 }

+ 1 - 1
teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/DataDriveController.java

@@ -62,7 +62,7 @@ public class DataDriveController {
         taExamTotalService.exportCourseSummary(semester, examId, response);
     }
 
-    @ApiOperation(value = "全校考试总览-全校考试概况")
+    @ApiOperation(value = "全校课程考试分析-全校考试概况")
     @RequestMapping(value = "/course/get_overview", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "全校考试总览-全校考试概况", response = TAExamCourse.class)})
     public Result getOverview(@ApiParam(value = "学期", required = true) @RequestParam SemesterEnum semester,

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

@@ -21,7 +21,7 @@ public class AnalyzeForStudentServiceTest {
     @Test
     public void buildAnalyzeExamCourse() {
         Long examId = 1L;
-        String courseCode = "1013";
+        String courseCode = null;
         System.out.println(analyzeForReportService.buildAnalyzeExamCourse(examId,courseCode));
 
     }