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

Merge remote-tracking branch 'origin/dev_v3.3.4' into dev_v3.3.4

wangliang 11 сар өмнө
parent
commit
7e839ab14e

+ 4 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicProfessionalServiceImpl.java

@@ -62,13 +62,15 @@ public class BasicProfessionalServiceImpl extends ServiceImpl<BasicProfessionalM
     @Override
     public Boolean saveData(BasicProfessional basicProfessional) {
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
-
+        BasicProfessional basicProfessional1 = this.getOne(new QueryWrapper<BasicProfessional>().lambda().eq(BasicProfessional::getOrgId, basicProfessional.getOrgId()).eq(BasicProfessional::getName, basicProfessional.getName()));
         if (basicProfessional.getId() == null) {
+            if (basicProfessional1 != null) {
+                throw ExceptionResultEnum.ERROR.exception("专业名称已存在");
+            }
             basicProfessional.insertInfo(sysUser.getId());
             basicProfessional.setSchoolId(sysUser.getSchoolId());
             return this.save(basicProfessional);
         } else {
-            BasicProfessional basicProfessional1 = this.getOne(new QueryWrapper<BasicProfessional>().lambda().eq(BasicProfessional::getOrgId, basicProfessional.getOrgId()).eq(BasicProfessional::getName, basicProfessional.getName()));
             if (basicProfessional1 != null && basicProfessional1.getId().longValue() != basicProfessional.getId().longValue()) {
                 throw ExceptionResultEnum.ERROR.exception("专业名称已存在");
             }

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

@@ -258,7 +258,7 @@ public class ObeCultureProgramRequirementServiceImpl extends ServiceImpl<ObeCult
                 MatrixSubRequirementDto matrixSubRequirementDto = new MatrixSubRequirementDto();
                 matrixSubRequirementDto.setId(tpMatrix.getObeSubRequirementId());
                 matrixSubRequirementDto.setName(concatRequirementName(tpMatrix.getRequirementSortNum(), tpMatrix.getSubRequirementSortNum()));
-                matrixSubRequirementDto.setScale(new BigDecimal(tpMatrix.getScale()));
+                matrixSubRequirementDto.setScale(tpMatrix.getScale() != null ? new BigDecimal(tpMatrix.getScale()) : null);
                 matrixSubRequirementDto.setContent(tpMatrix.getRequirementContent());
                 return matrixSubRequirementDto;
             }).collect(Collectors.toList());

+ 4 - 2
distributed-print/install/mysql/init/teachcloud_db.sql

@@ -951,7 +951,8 @@ CREATE TABLE IF NOT EXISTS `exam_student` (
   PRIMARY KEY (`id`) USING BTREE,
   UNIQUE KEY `unique_ticket_number_idx` (`school_id`,`ticket_number`) USING BTREE,
   KEY `exam_student_schoolId_idx` (`school_id`,`student_code`) USING BTREE,
-  KEY `idx_exam_detail_course_id` (`exam_detail_course_id`) USING BTREE
+  KEY `idx_exam_detail_course_id` (`exam_detail_course_id`) USING BTREE,
+  KEY `idx_4` (`exam_id`, `paper_number`, `student_code`) USING BTREE
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='考生';
 
 -- ----------------------------
@@ -5703,7 +5704,8 @@ CREATE TABLE IF NOT EXISTS `t_r_exam_student` (
   `administrative_class` varchar(100) DEFAULT NULL COMMENT '行政班级',
   `score` double DEFAULT NULL COMMENT '学生成绩',
   `result_detail` mediumtext COMMENT '考生课程考核成绩评价明细结果',
-  PRIMARY KEY (`id`) USING BTREE
+  PRIMARY KEY (`id`) USING BTREE,
+    KEY `idx_1` (`r_basic_info_id`,`student_code`) USING BTREE
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='报告考生表';
 
 -- ----------------------------

+ 3 - 1
distributed-print/install/mysql/upgrade/3.3.4.sql

@@ -365,4 +365,6 @@ INSERT INTO sys_privilege
 VALUES(2103, '重新计算', 'Calculate', 'BUTTON', 2080, 4, 'AUTH', '2104', 1, 0, 1);
 INSERT INTO sys_privilege
 (id, name, url, `type`, parent_id, `sequence`, property, related, enable, default_auth, front_display)
-VALUES(2104, '学生毕业要求达成度重新计算', '/api/admin/obe/student_requirement/again/calculate', 'URL', 2080, 3, 'AUTH', NULL, 1, 1, 1);
+VALUES(2104, '学生毕业要求达成度重新计算', '/api/admin/obe/student_requirement/again/calculate', 'URL', 2080, 3, 'AUTH', NULL, 1, 1, 1);
+
+UPDATE `sys_privilege` SET `url` = '/api/admin/course/degree/final_score/template_download' WHERE (`id` = '2014');

+ 3 - 3
distributed-print/src/main/java/com/qmth/distributed/print/api/mark/MarkSettingController.java

@@ -146,9 +146,9 @@ public class MarkSettingController {
                              @ApiParam(value = "课程代码") @RequestParam(required = false) String courseCode,
                              @ApiParam(value = "试卷编号") @RequestParam(required = false) String paperNumber,
                              HttpServletResponse response) {
-        if (semesterId == null) {
-            throw ExceptionResultEnum.SEMESTER_ID_IS_NULL.exception();
-        }
+//        if (semesterId == null) {
+//            throw ExceptionResultEnum.SEMESTER_ID_IS_NULL.exception();
+//        }
         if (examId == null) {
             throw ExceptionResultEnum.EXAM_ID_IS_NULL.exception();
         }

+ 3 - 2
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/mapper/ScanOmrTaskMapper.java

@@ -2,10 +2,10 @@ package com.qmth.teachcloud.mark.mapper;
 
 import java.util.List;
 
-import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
 import org.apache.ibatis.annotations.Param;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
 import com.qmth.teachcloud.mark.dto.ScanStudentDto;
 import com.qmth.teachcloud.mark.entity.ScanOmrTask;
 import com.qmth.teachcloud.mark.enums.OmrTaskStatus;
@@ -24,12 +24,13 @@ public interface ScanOmrTaskMapper extends BaseMapper<ScanOmrTask> {
 			@Param(value = "pageSize") int pageSize, @Param(value = "status") OmrTaskStatus status);
 
 	List<ScanStudentDto> listByExamIdAndStatusAndUserId(@Param(value = "examId") Long examId,
+														@Param(value = "scanStatus") String scanStatus,
 														@Param("courseCode") String courseCode,
 														@Param("coursePaperId") String coursePaperId,
 														@Param(value = "status") OmrTaskStatus status,
 														@Param("markPaperStatus") String markPaperStatus, @Param("dpr") DataPermissionRule dpr);
 
-	int getStudentCountByExamAndStatusAndUserId(@Param(value = "examId") Long examId,
+	int getStudentCountByExamAndStatusAndUserId(@Param(value = "examId") Long examId,@Param(value = "scanStatus") String scanStatus,
 												@Param("courseCode") String courseCode, @Param("coursePaperId") String coursePaperId, @Param(value = "status") String status, @Param("markPaperStatus") String markPaperStatus, @Param("dpr") DataPermissionRule dpr);
 
     int countOmrTask(@Param("scanOmrTask") ScanOmrTask scanOmrTask, @Param("dpr") DataPermissionRule dpr);

+ 2 - 2
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/ScanOmrTaskServiceImpl.java

@@ -613,7 +613,7 @@ public class ScanOmrTaskServiceImpl extends ServiceImpl<ScanOmrTaskMapper, ScanO
     @Override
     public int getFinishStudentCountByExamAndUserId(Long examId, String courseCode, String coursePaperId, String status,
             DataPermissionRule dpr) {
-        return this.baseMapper.getStudentCountByExamAndStatusAndUserId(examId, courseCode, coursePaperId, status,
+        return this.baseMapper.getStudentCountByExamAndStatusAndUserId(examId,ScanStatus.SCANNED.getName(), courseCode, coursePaperId, status,
                 MarkPaperStatus.FORMAL.name(), dpr);
     }
 
@@ -654,7 +654,7 @@ public class ScanOmrTaskServiceImpl extends ServiceImpl<ScanOmrTaskMapper, ScanO
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
         DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(sysUser.getSchoolId(),
                 sysUser.getId(), ServletUtil.getRequest().getServletPath());
-        return this.baseMapper.listByExamIdAndStatusAndUserId(examId, courseCode, coursePaperId, status,
+        return this.baseMapper.listByExamIdAndStatusAndUserId(examId,ScanStatus.SCANNED.getName(), courseCode, coursePaperId, status,
                 MarkPaperStatus.FORMAL.name(), dpr);
     }
 

+ 12 - 4
teachcloud-mark/src/main/resources/mapper/ScanOmrTaskMapper.xml

@@ -33,7 +33,7 @@
 	</select>
 	
 	<select id="listByExamIdAndStatusAndUserId" resultType="com.qmth.teachcloud.mark.dto.ScanStudentDto">
-		select 
+		select
 			s.id studentId,
 			s.student_name,
 			s.student_code
@@ -42,6 +42,9 @@
 				<if test="examId != null">
 					and s.exam_id = #{examId}
 				</if>
+				<if test="scanStatus != null">
+					and s.scan_status = #{scanStatus}
+				</if>
 				<if test="courseCode != null and courseCode != ''">
 					and s.course_code = #{courseCode}
 				</if>
@@ -51,9 +54,10 @@
 					and exists (select 1 from mark_paper mp where s.exam_id = mp.exam_id and s.course_paper_id = mp.course_paper_id and s.paper_type = mp.paper_type and mp.status = #{markPaperStatus})
 					and exists(select 1
 						from scan_omr_task t
-						where s.id = t.student_id
+						where t.exam_id = #{examId}
 						and t.status=#{status}
-						<if test="dpr != null">
+						and s.id = t.student_id
+				<if test="dpr != null">
 							<if test="dpr.requestUserId != null">
 								AND s.create_id = #{dpr.requestUserId}
 							</if>
@@ -76,6 +80,9 @@
 			<if test="examId != null">
 				and s.exam_id = #{examId}
 			</if>
+			<if test="scanStatus != null">
+				and s.scan_status = #{scanStatus}
+			</if>
 			<if test="courseCode != null and courseCode != ''">
 				and s.course_code = #{courseCode}
 			</if>
@@ -85,8 +92,9 @@
 			and exists (select 1 from mark_paper mp where s.exam_id = mp.exam_id and s.course_paper_id = mp.course_paper_id and s.paper_type = mp.paper_type and mp.status = #{markPaperStatus})
 			and exists(select 1
 			from scan_omr_task t
-			where s.id = t.student_id
+			where t.exam_id = #{examId}
 			and t.status=#{status}
+			and s.id = t.student_id
 			<if test="dpr != null">
 				<if test="dpr.requestUserId != null">
 					AND s.create_id = #{dpr.requestUserId}