浏览代码

1.学生姓名异常处理
2.班级级联学院

caozixuan 4 年之前
父节点
当前提交
020478d100

+ 0 - 1
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/dto/excel/ExaminationDto.java

@@ -36,7 +36,6 @@ public class ExaminationDto implements Serializable {
     private String teachCollegeName;
 
     @ExcelNote(value = "学分")
-    @NotNull
     private String credit;
 
     @ExcelNote(value = "学号")

+ 2 - 2
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/mapper/TBExamStudentMapper.java

@@ -82,14 +82,14 @@ public interface TBExamStudentMapper extends BaseMapper<TBExamStudent> {
      * @param schoolId
      * @param examId
      * @param courseCode
-     * @param inspectCollegeId
+     * @param inspectCollegeIdList
      * @param teacherId
      * @param absent
      * @param current
      * @param status
      * @return
      */
-    List<TBExamStudentResult> selectClassList(@Param("schoolId") Long schoolId, @Param("examId") Long examId, @Param("teacherId") Long teacherId, @Param("courseCode") String courseCode, @Param("inspectCollegeId") Long inspectCollegeId, @Param("absent") Boolean absent, @Param("current") Boolean current, @Param("status") String status);
+    List<TBExamStudentResult> selectClassList(@Param("schoolId") Long schoolId, @Param("examId") Long examId, @Param("teacherId") Long teacherId, @Param("courseCode") String courseCode, @Param("inspectCollegeIdList") List<Long> inspectCollegeIdList, @Param("absent") Boolean absent, @Param("current") Boolean current, @Param("status") String status);
 
     /**
      * 开课成绩查询

+ 2 - 1
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/TBExamStudentService.java

@@ -72,12 +72,13 @@ public interface TBExamStudentService extends IService<TBExamStudent> {
      * @param examId
      * @param teacherId
      * @param courseCode
+     * @param inspectCollegeId
      * @param absent
      * @param current
      * @param status
      * @return
      */
-    List<TBExamStudentResult> selectClassList(Long schoolId, Long examId, Long teacherId, String courseCode, Boolean absent, Boolean current, PublishStatusEnum status);
+    List<TBExamStudentResult> selectClassList(Long schoolId, Long examId, Long teacherId, String courseCode,Long inspectCollegeId, Boolean absent, Boolean current, PublishStatusEnum status);
 
     /**
      * 开课成绩查询

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

@@ -10,6 +10,7 @@ import com.qmth.teachcloud.common.util.HttpUtil;
 import com.qmth.teachcloud.report.business.entity.TBCloudExam;
 import com.qmth.teachcloud.report.business.service.NewCallApiService;
 import com.qmth.teachcloud.report.business.service.TBCloudExamService;
+import org.apache.commons.lang3.StringEscapeUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
@@ -64,6 +65,7 @@ public class NewCallApiServiceImpl implements NewCallApiService {
             Long timestamp = System.currentTimeMillis();
             String accessToken = SignatureEntity.build(SignatureType.SECRET, SystemConstant.METHOD, dictionaryConfig.yunMarkDomain().getStudentScoreApi(), timestamp, tbCloudExam.getAccessKey(), tbCloudExam.getAccessSecret());
             String result = HttpUtil.post(url, params, accessToken, timestamp);
+            result = StringEscapeUtils.unescapeHtml4(result);
             if (Objects.nonNull(result)) {
                 if (result.contains("HTTP")) {
                     throw ExceptionResultEnum.ERROR.exception("云阅卷鉴权失败");

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

@@ -164,9 +164,15 @@ public class TBExamStudentServiceImpl extends ServiceImpl<TBExamStudentMapper, T
      * @return
      */
     @Override
-    public List<TBExamStudentResult> selectClassList(Long schoolId, Long examId, Long teacherId, String courseCode, Boolean absent, Boolean current, PublishStatusEnum status) {
+    public List<TBExamStudentResult> selectClassList(Long schoolId, Long examId, Long teacherId, String courseCode,Long inspectCollegeId, Boolean absent, Boolean current, PublishStatusEnum status) {
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
-        return tbExamStudentMapper.selectClassList(schoolId, examId, teacherId, courseCode, sysUser.getOrgId(), absent, current, Objects.nonNull(status) ? status.name() : null);
+        List<Long> orgIdList = new ArrayList<>();
+        if (inspectCollegeId != null && inspectCollegeId > 0){
+            orgIdList.add(inspectCollegeId);
+        }else {
+            orgIdList = sysOrgService.findCollegeIds(sysUser.getOrgId());
+        }
+        return tbExamStudentMapper.selectClassList(schoolId, examId, teacherId, courseCode, orgIdList, absent, current, Objects.nonNull(status) ? status.name() : null);
     }
 
     @Override

+ 5 - 2
teachcloud-report-business/src/main/resources/mapper/TBExamStudentMapper.xml

@@ -118,8 +118,11 @@
             <if test="teacherId != null and teacherId != ''">
                 and tbes.teacher_id = #{teacherId}
             </if>
-            <if test="inspectCollegeId != null and inspectCollegeId != ''">
-                and tbes.inspect_college_id = #{inspectCollegeId}
+            <if test="inspectCollegeIdList != null and inspectCollegeIdList != ''">
+                and tbes.inspect_college_id in
+                <foreach collection="inspectCollegeIdList" item="inspectCollegeId" index="index" open="(" separator="," close=")">
+                    #{inspectCollegeId}
+                </foreach>
             </if>
         </where>
     </select>

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

@@ -576,7 +576,6 @@ public class BasicDatasourceController {
              */
             TBStudent studentTemp = tbStudentService.getOne(new QueryWrapper<TBStudent>().lambda()
                     .eq(TBStudent::getSchoolId, schoolId)
-                    .eq(TBStudent::getName, name)
                     .eq(TBStudent::getStudentCode, studentCode));
             Long studentId;
             if (Objects.nonNull(studentTemp)) {
@@ -932,7 +931,9 @@ public class BasicDatasourceController {
                         tbExamination.setTeacherCode(teacherCode);
                         tbExamination.setTeacherName(teacherName);
                         tbExamination.setTeachCollegeName(teachCollegeName);
-                        tbExamination.setCredit(credit);
+                        if (SystemConstant.strNotNull(credit)){
+                            tbExamination.setCredit(credit);
+                        }
                         tbExamination.setStudentCode(studentCode);
                         tbExamination.setStudentName(studentName);
                         tbExamination.setInspectCollegeName(inspectCollegeName);

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

@@ -31,7 +31,7 @@ public class StudentReportController {
     @ApiResponses({@ApiResponse(code = 200, message = "考生信息", response = TBExamStudentResult.class)})
     public Result reportList(@ApiParam(value = "学校id", required = false) @RequestParam(required = false) String schoolId,
                              @ApiParam(value = "考试id", required = true) @RequestParam(required = false) String examId,
-                             @ApiParam(value = "学院id", required = true) @RequestParam(required = false) String collegeId,
+                             @ApiParam(value = "考察学院id", required = true) @RequestParam(required = false) String inspectCollegeId,
                              @ApiParam(value = "科目编码", required = true) @RequestParam(required = false) String courseCode,
                              @ApiParam(value = "班级id", required = true) @RequestParam(required = false) String clazzId,
                              @ApiParam(value = "是否缺考", required = true) @RequestParam(required = false) Boolean isAbsent,
@@ -40,7 +40,7 @@ public class StudentReportController {
                              @ApiParam(value = "分页数", required = true) @RequestParam int pageSize) {
         return ResultUtil.ok(tbExamStudentService.reportList(new Page<>(pageNumber, pageSize), SystemConstant.convertIdToLong(schoolId),
                 SystemConstant.convertIdToLong(examId),
-                SystemConstant.convertIdToLong(collegeId),
+                SystemConstant.convertIdToLong(inspectCollegeId),
                 courseCode,
                 SystemConstant.convertIdToLong(clazzId),
                 isAbsent, studentCode));

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

@@ -144,9 +144,10 @@ public class SysReportController {
                             @ApiParam(value = "考试id", required = true) @RequestParam String examId,
                             @ApiParam(value = "考试id", required = false) @RequestParam(required = false) String teacherId,
                             @ApiParam(value = "科目编码", required = true) @RequestParam String courseCode,
+                            @ApiParam(value = "考察学院", required = false) @RequestParam(required = false) String inspectCollegeId,
                             @ApiParam(value = "是否缺考,false:没缺考,true:缺考", required = false) @RequestParam(required = false) Boolean absent,
                             @ApiParam(value = "是否本届,false:非本届,true:本届", required = false) @RequestParam(required = false) Boolean current,
                             @ApiParam(value = "发布状态(UN_COMPUTE:未计算、COMPUTING:计算中、 UN_PUBLISH:未发布、PUBLISH:已发布)", required = false) @RequestParam(required = false) PublishStatusEnum status) {
-        return ResultUtil.ok(tbExamStudentService.selectClassList(SystemConstant.convertIdToLong(schoolId), SystemConstant.convertIdToLong(examId), SystemConstant.convertIdToLong(teacherId), courseCode, absent, current, status));
+        return ResultUtil.ok(tbExamStudentService.selectClassList(SystemConstant.convertIdToLong(schoolId), SystemConstant.convertIdToLong(examId), SystemConstant.convertIdToLong(teacherId), courseCode, SystemConstant.convertIdToLong(inspectCollegeId), absent, current, status));
     }
 }