Przeglądaj źródła

评卷参数改动

caozixuan 2 lat temu
rodzic
commit
0cff34810e
16 zmienionych plików z 117 dodań i 33 usunięć
  1. 3 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ExamPaperGroupService.java
  2. 2 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ExamPaperStructureService.java
  3. 0 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamPaperGroupServiceImpl.java
  4. 5 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamPaperStructureServiceImpl.java
  5. 14 6
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/GradeBatchPaperServiceImpl.java
  6. 1 0
      distributed-print-business/src/main/resources/mapper/ExamPaperStructureMapper.xml
  7. 7 2
      distributed-print/src/main/java/com/qmth/distributed/print/api/ExamPaperStructureController.java
  8. 1 1
      distributed-print/src/main/java/com/qmth/distributed/print/api/SysUserController.java
  9. 12 11
      distributed-print/src/test/java/com/qmth/distributed/print/ServiceTest.java
  10. 1 1
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/enums/OrgTypeEnum.java
  11. 3 1
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/mapper/SysUserMapper.java
  12. 13 2
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/SysUserService.java
  13. 22 2
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/SysUserServiceImpl.java
  14. 0 2
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/sync/TeachCloudReportTaskUtils.java
  15. 32 1
      teachcloud-common/src/main/resources/mapper/SysUserMapper.xml
  16. 1 1
      teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/SysUserController.java

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

@@ -1,6 +1,7 @@
 package com.qmth.distributed.print.business.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.qmth.distributed.print.business.bean.marking.CardJpgResult;
 import com.qmth.distributed.print.business.bean.marking.GroupInfo;
 import com.qmth.distributed.print.business.entity.ExamPaperGroup;
 
@@ -23,12 +24,14 @@ public interface ExamPaperGroupService extends IService<ExamPaperGroup> {
 
     /**
      * 删除考试试卷分组信息
+     *
      * @param examPaperStructureId 试卷结构id
      */
     void deleteExamPaperGroupInfo(Long examPaperStructureId);
 
     /**
      * 查询分组
+     *
      * @param id 试卷结构表id
      */
     List<ExamPaperGroup> listByExamPaperStructureId(Long id);

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

@@ -63,9 +63,10 @@ public interface ExamPaperStructureService extends IService<ExamPaperStructure>
      * @param examId      考试id
      * @param courseCode  课程编号
      * @param paperNumber 试卷编号
+     * @param paperType   试卷类型
      * @return 题卡jpg文件结果
      */
-    List<CardJpgResult> findCardJpgFileByPaperNumber(Long examId, String courseCode, String paperNumber);
+    List<CardJpgResult> findCardJpgFileByPaperNumber(Long examId, String courseCode, String paperNumber, String paperType);
 
     /**
      * 绑定科组长

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

@@ -8,7 +8,6 @@ import com.qmth.distributed.print.business.bean.marking.Marker;
 import com.qmth.distributed.print.business.bean.marking.PictureConfig;
 import com.qmth.distributed.print.business.bean.marking.Question;
 import com.qmth.distributed.print.business.entity.ExamPaperGroup;
-import com.qmth.distributed.print.business.entity.ExamPaperGroupMarker;
 import com.qmth.distributed.print.business.mapper.ExamPaperGroupMapper;
 import com.qmth.distributed.print.business.service.ExamPaperGroupMarkerService;
 import com.qmth.distributed.print.business.service.ExamPaperGroupService;

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

@@ -354,7 +354,7 @@ public class ExamPaperStructureServiceImpl extends ServiceImpl<ExamPaperStructur
     }
 
     @Override
-    public List<CardJpgResult> findCardJpgFileByPaperNumber(Long examId, String courseCode, String paperNumber) {
+    public List<CardJpgResult> findCardJpgFileByPaperNumber(Long examId, String courseCode, String paperNumber, String paperType) {
         Long examTaskId = examTaskService.getOne(new QueryWrapper<ExamTask>().lambda()
                 .eq(ExamTask::getExamId, examId)
                 .eq(ExamTask::getCourseCode, courseCode)
@@ -368,6 +368,10 @@ public class ExamPaperStructureServiceImpl extends ServiceImpl<ExamPaperStructur
             JSONArray jsonArrayPaper = JSONArray.parseArray(examTaskDetail.getPaperAttachmentIds());
             for (int i = 0; i < jsonArrayPaper.size(); i++) {
                 JSONObject object = jsonArrayPaper.getJSONObject(i);
+                if (!paperType.equals(String.valueOf(object.get("name")))){
+                    // 试卷类型不匹配跳过
+                    continue;
+                }
                 String jpgAttachmentInfo = examCardDetailService.getOne(new QueryWrapper<ExamCardDetail>().lambda()
                         .eq(ExamCardDetail::getCardId, Long.parseLong((String) object.get("cardId")))).getJpgAttachmentInfo();
                 if (StringUtils.isBlank(jpgAttachmentInfo)) {

+ 14 - 6
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/GradeBatchPaperServiceImpl.java

@@ -16,6 +16,7 @@ import com.qmth.teachcloud.common.entity.SysOrg;
 import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
 import com.qmth.teachcloud.common.enums.GradeAnalyzePaperStatusEnum;
+import com.qmth.teachcloud.common.enums.OrgTypeEnum;
 import com.qmth.teachcloud.common.service.SysOrgService;
 import com.qmth.teachcloud.common.service.TeachcloudCommonService;
 import org.springframework.beans.BeanUtils;
@@ -243,12 +244,19 @@ public class GradeBatchPaperServiceImpl extends ServiceImpl<GradeBatchPaperMappe
             throw ExceptionResultEnum.ERROR.exception("机构id不存在");
         }
 
-        List<SysOrg> collegeList = null;
-//        List<SysOrg> collegeList = sysOrgService.findParentsByOrgId(orgId).stream().filter(e -> OrgTypeEnum.COLLEGE.equals(e.getType())).distinct().collect(Collectors.toList());
-//        if (collegeList.size() != 1) {
-//            throw ExceptionResultEnum.ERROR.exception("未找到开课学院");
-//        }
-        return collegeList.get(0);
+
+        List<SysOrg> orgList = sysOrgService.findParentsByOrgId(orgId).stream().distinct().collect(Collectors.toList());
+        List<SysOrg> schoolOrgList = orgList.stream().filter(e -> OrgTypeEnum.SCHOOL.equals(e.getType())).collect(Collectors.toList());
+        if (schoolOrgList.size() != 1){
+            throw ExceptionResultEnum.ERROR.exception("学校信息异常");
+        }
+        SysOrg schoolOrg = schoolOrgList.get(0);
+        Long schoolOrgId = schoolOrg.getId();
+        List<SysOrg> collegeOrgList = orgList.stream().filter(e -> schoolOrgId.equals(e.getParentId())).collect(Collectors.toList());;
+        if (collegeOrgList.size() != 1){
+            throw ExceptionResultEnum.ERROR.exception("开课学院异常");
+        }
+        return collegeOrgList.get(0);
     }
 
     @Transactional(rollbackFor = Exception.class)

+ 1 - 0
distributed-print-business/src/main/resources/mapper/ExamPaperStructureMapper.xml

@@ -55,6 +55,7 @@
             exam_paper_structure eps ON edc.school_id = eps.school_id
                 AND edc.paper_number = eps.paper_number
                 AND edc.course_code = eps.course_code
+                AND es.paper_type = eps.paper_type
         WHERE
             epp.school_id = #{schoolId}
             and et.user_id = #{propositionTeacherId}

+ 7 - 2
distributed-print/src/main/java/com/qmth/distributed/print/api/ExamPaperStructureController.java

@@ -153,8 +153,13 @@ public class ExamPaperStructureController {
     @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = Result.class)})
     public Result findCardJpgFileByPaperNumber(@ApiParam(value = "考试id", required = true) @RequestParam String examId,
                                                @ApiParam(value = "课程代码", required = true) @RequestParam String courseCode,
-                                               @ApiParam(value = "试卷编号", required = true) @RequestParam String paperNumber) {
-        return ResultUtil.ok(examPaperStructureService.findCardJpgFileByPaperNumber(SystemConstant.convertIdToLong(examId), courseCode, paperNumber));
+                                               @ApiParam(value = "试卷编号", required = true) @RequestParam String paperNumber,
+                                               @ApiParam(value = "试卷类型") @RequestParam(required = false) String paperType) {
+        if (!SystemConstant.strNotNull(paperType)){
+            // TODO: 2022/8/30 测试用需要删除 
+            paperType = "B";
+        }
+        return ResultUtil.ok(examPaperStructureService.findCardJpgFileByPaperNumber(SystemConstant.convertIdToLong(examId), courseCode, paperNumber, paperType));
     }
 }
 

+ 1 - 1
distributed-print/src/main/java/com/qmth/distributed/print/api/SysUserController.java

@@ -81,7 +81,7 @@ public class SysUserController {
                        @RequestParam(value = "enable", required = false) Boolean enable,
                        @RequestParam @Min(SystemConstant.PAGE_NUMBER_MIN) Integer pageNumber,
                        @RequestParam @Min(SystemConstant.PAGE_SIZE_MIN) @Max(SystemConstant.PAGE_SIZE_MAX) Integer pageSize) {
-        return ResultUtil.ok(sysUserService.list(userInfo, SystemConstant.convertIdToLong(orgId), roleId, enable, null, null, pageNumber, pageSize));
+        return ResultUtil.ok(sysUserService.listForPrintSystem(userInfo, SystemConstant.convertIdToLong(orgId), roleId, enable, pageNumber, pageSize));
     }
 
     /**

+ 12 - 11
distributed-print/src/test/java/com/qmth/distributed/print/ServiceTest.java

@@ -135,14 +135,14 @@ public class ServiceTest {
     }
 
     @Test
-    public void findByExamDetailId(){
+    public void findByExamDetailId() {
         Long examDetailId = 1L;
         ExamPrintPlan examPrintPlan = examPrintPlanService.findByExamDetailId(examDetailId);
         System.out.println(JSON.toJSONString(examPrintPlan));
     }
 
     @Test
-    public void approveForm(){
+    public void approveForm() {
         Long examTask = 167675409079468032L;
         System.out.println(JSON.toJSONString(examTaskService.findExamTaskApprovalForm(examTask)));
     }
@@ -152,19 +152,19 @@ public class ServiceTest {
         Long id = 165147096339447808L;
         ExamCardDetail examCardDetail = examCardDetailService.getById(id);
         String htmlContent = examCardDetail.getHtmlContent();
-        BasicAttachment basicAttachment = printCommonService.saveAttachmentHtmlAndPdf("那不勒斯",htmlContent,1L);
+        BasicAttachment basicAttachment = printCommonService.saveAttachmentHtmlAndPdf("那不勒斯", htmlContent, 1L);
         System.out.println(JSON.toJSONString(basicAttachment));
     }
 
     @Test
-    public void findExamObject(){
+    public void findExamObject() {
         String paperNumber = "cn004-0906-001";
         ExamObjectDto examObjectDto = examTaskService.findExamObjectDtoByPaperNumber(paperNumber);
         System.out.println(JSON.toJSONString(examObjectDto));
     }
 
     @Test
-    public void findBasicPrintConfig(){
+    public void findBasicPrintConfig() {
         Long examId = 228554176387354624L;
         String courseCode = "gd-gdsx";
 //        BasicPrintConfig basicPrintConfig = basicPrintConfigService.getByExamIdAndCourseCode(examId,courseCode);
@@ -178,16 +178,16 @@ public class ServiceTest {
     }
 
     @Test
-    public void findExamStudent(){
+    public void findExamStudent() {
         Long schoolId = 2L;
         String clazzId = "225944699725156352";
-        List<ExamStudent> examStudentList = examStudentMapper.listExamStudentBySchoolIdAndClazzId(schoolId,clazzId);
+        List<ExamStudent> examStudentList = examStudentMapper.listExamStudentBySchoolIdAndClazzId(schoolId, clazzId);
         System.out.println(JSON.toJSONString(examStudentList));
     }
 
     @Test
-    public void findCardJpgFileByPaperNumber(){
-        List<CardJpgResult> resultList = examPaperStructureService.findCardJpgFileByPaperNumber(237292182900310016L,"yznwl","yznwl-0415-001");
+    public void findCardJpgFileByPaperNumber() {
+        List<CardJpgResult> resultList = examPaperStructureService.findCardJpgFileByPaperNumber(237292182900310016L, "yznwl", "yznwl-0415-001", "A");
         System.out.println(JSON.toJSONString(resultList));
     }
 
@@ -198,13 +198,14 @@ public class ServiceTest {
 
         File file = new File("E:" + File.separator + "file" + File.separator + "学生导入模板.xlsx");
         FileInputStream input = new FileInputStream(file);
-        MultipartFile multipartFile =new MockMultipartFile("file", file.getName(), "text/plain", IOUtils.toByteArray(input));
+        MultipartFile multipartFile = new MockMultipartFile("file", file.getName(), "text/plain", IOUtils.toByteArray(input));
 
         SysUser requestUser = new SysUser();
         requestUser.setId(293030757817909248L);
         requestUser.setSchoolId(292366699577999360L);
 
-        System.out.println(JSON.toJSONString(examTaskService.findExamTaskStudentObject(examObjectType,basicCourseId,multipartFile,requestUser)));
+        System.out.println(JSON.toJSONString(examTaskService.findExamTaskStudentObject(examObjectType, basicCourseId, multipartFile, requestUser)));
+        String x = "";
     }
 
 }

+ 1 - 1
teachcloud-common/src/main/java/com/qmth/teachcloud/common/enums/OrgTypeEnum.java

@@ -13,7 +13,7 @@ public enum OrgTypeEnum {
 
     SCHOOL("学校"),
 
-//    COLLEGE("学院"),
+    COLLEGE("学院"),
 
 //    FACULTY("院系"),
 

+ 3 - 1
teachcloud-common/src/main/java/com/qmth/teachcloud/common/mapper/SysUserMapper.java

@@ -26,7 +26,9 @@ import java.util.Set;
  */
 public interface SysUserMapper extends BaseMapper<SysUser> {
 
-    IPage<UserDto> listPage(Page<UserDto> page, @Param("schoolId") Long schoolId, @Param("userInfo") String userInfo, @Param("orgId") Long orgId, @Param("roleId") String roleId, @Param("enable") Boolean enable, @Param("loginName") String loginName, @Param("realName") String realName);
+    IPage<UserDto> listForPrintSystem(Page<UserDto> page, @Param("schoolId") Long schoolId, @Param("userInfo") String userInfo, @Param("orgId") Long orgId, @Param("roleId") String roleId, @Param("enable") Boolean enable);
+
+    IPage<UserDto> listForReportSystem(Page<UserDto> page, @Param("schoolId") Long schoolId, @Param("roleId") String roleId, @Param("enable") Boolean enable,@Param("loginName") String loginName,@Param("realName") String realName);
 
     List<BlurryUserDto> listUser(@Param("schoolId") Long schoolId, @Param("type") String type, @Param("courseCode") String courseCode, @Param("param") String param, @Param("orgIds") Set<Long> orgIds);
 

+ 13 - 2
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/SysUserService.java

@@ -34,19 +34,30 @@ public interface SysUserService extends IService<SysUser> {
 
 
     /**
-     * 查询用户列表
+     * 知学知考系统 - 查询用户列表
      *
      * @param userInfo   用户信息(账号/姓名/手机号)
      * @param orgId      机构id
      * @param roleId     角色id
      * @param enable     启用禁用状态
+     * @param pageNumber 分页页数
+     * @param pageSize   分页容量
+     * @return 用户集合
+     */
+    IPage<UserDto> listForPrintSystem(String userInfo, Long orgId, String roleId, Boolean enable, Integer pageNumber, Integer pageSize);
+
+    /**
+     * 教研分析系统 - 查询用户列表
+     *
+     * @param roleId     角色id
+     * @param enable     启用禁用状态
      * @param loginName  账号
      * @param realName   真实姓名
      * @param pageNumber 分页页数
      * @param pageSize   分页容量
      * @return 用户集合
      */
-    IPage<UserDto> list(String userInfo, Long orgId, String roleId, Boolean enable, String loginName, String realName, Integer pageNumber, Integer pageSize);
+    IPage<UserDto> listForReportSystem(String roleId, Boolean enable, String loginName, String realName, Integer pageNumber, Integer pageSize);
 
     Long saveUser(UserSaveParams userSaveParams) throws IllegalAccessException;
 

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

@@ -98,11 +98,31 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     SysRoleGroupMemberService sysRoleGroupMemberService;
 
     @Override
-    public IPage<UserDto> list(String userInfo, Long orgId, String roleId, Boolean enable, String loginName, String realName, Integer pageNumber, Integer pageSize) {
+    public IPage<UserDto> listForPrintSystem(String userInfo, Long orgId, String roleId, Boolean enable, Integer pageNumber, Integer pageSize) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
 
         Page<UserDto> page = new Page<>(pageNumber, pageSize);
-        IPage<UserDto> userDtoIPage = this.baseMapper.listPage(page, schoolId, SystemConstant.translateSpecificSign(userInfo), orgId, roleId, enable, SystemConstant.translateSpecificSign(loginName), SystemConstant.translateSpecificSign(realName));
+        IPage<UserDto> userDtoIPage = this.baseMapper.listForPrintSystem(page, schoolId, SystemConstant.translateSpecificSign(userInfo), orgId, roleId, enable);
+        if (userDtoIPage.getRecords().size() > 0) {
+            userDtoIPage.getRecords().forEach(m -> {
+                //角色
+                List<SysRole> roles = sysRoleService.listRolesByUserId(Long.valueOf(m.getId()));
+                m.setRoles(roles);
+
+                //课程
+                List<BasicCourse> courses = basicCourseService.listCoursesByUserId(Long.valueOf(m.getId()));
+                m.setCourses(courses);
+            });
+        }
+        return userDtoIPage;
+    }
+
+    @Override
+    public IPage<UserDto> listForReportSystem(String roleId, Boolean enable, String loginName, String realName, Integer pageNumber, Integer pageSize) {
+        Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
+
+        Page<UserDto> page = new Page<>(pageNumber, pageSize);
+        IPage<UserDto> userDtoIPage = this.baseMapper.listForReportSystem(page, schoolId, roleId, enable, SystemConstant.translateSpecificSign(loginName), SystemConstant.translateSpecificSign(realName));
         if (userDtoIPage.getRecords().size() > 0) {
             userDtoIPage.getRecords().forEach(m -> {
                 //角色

+ 0 - 2
teachcloud-common/src/main/java/com/qmth/teachcloud/common/sync/TeachCloudReportTaskUtils.java

@@ -65,8 +65,6 @@ public class TeachCloudReportTaskUtils {
             Map<String, Object> map = new HashMap<>();
             map.put("id", validParam(thirdSemesterId, null, false, "学期ID"));
             map.put("semesterName", validParam(semesterName, null, true, "学期名称"));
-            map.put("startTime", validParam(startTime, null, true, "学期开始时间"));
-            map.put("endTime", validParam(endTime, null, true, "学期结束时间"));
             map.put("enable", validParam(enable, true, true, "是否启用标记"));
 
             String accessToken = createSign(schoolId, timestamp, saveUrl);

+ 32 - 1
teachcloud-common/src/main/resources/mapper/SysUserMapper.xml

@@ -35,7 +35,7 @@
             </if>
         </where>
     </update>
-    <select id="listPage" resultType="com.qmth.teachcloud.common.bean.dto.UserDto">
+    <select id="listForPrintSystem" resultType="com.qmth.teachcloud.common.bean.dto.UserDto">
         SELECT
             a.id,
             a.school_id schoolId,
@@ -71,6 +71,36 @@
             <if test="enable != null">
                 and a.enable = #{enable}
             </if>
+        </where>
+        order by a.create_time desc
+    </select>
+
+    <select id="listForReportSystem" resultType="com.qmth.teachcloud.common.bean.dto.UserDto">
+        SELECT
+            a.id,
+            a.school_id schoolId,
+            a.login_name loginName,
+            a.real_name realName,
+            a.mobile_number mobileNumber,
+            a.enable,
+            a.remark,
+            a.org_id orgId,
+            a.code code,
+            b.name orgName
+        FROM
+            sys_user a
+                left join
+            sys_org b on a.org_id = b.id
+        <where>
+            <if test="schoolId != null and schoolId != ''">
+                and a.school_id = #{schoolId}
+            </if>
+            <if test="roleId != null and roleId != ''">
+                and a.id in (select user_id from sys_user_role b where b.role_id = #{roleId})
+            </if>
+            <if test="enable != null">
+                and a.enable = #{enable}
+            </if>
             <if test="loginName != null and loginName != ''">
                 and a.login_name like concat('%', #{loginName} , '%')
             </if>
@@ -339,4 +369,5 @@
             </if>
         </where>
     </select>
+
 </mapper>

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

@@ -59,7 +59,7 @@ public class SysUserController {
                        @RequestParam(value = "realName", required = false) String realName,
                        @RequestParam @Min(SystemConstant.PAGE_NUMBER_MIN) Integer pageNumber,
                        @RequestParam @Min(SystemConstant.PAGE_SIZE_MIN) @Max(SystemConstant.PAGE_SIZE_MAX) Integer pageSize) {
-        return ResultUtil.ok(sysUserService.list(null, null, roleId, enable, loginName, realName, pageNumber, pageSize));
+        return ResultUtil.ok(sysUserService.listForReportSystem(roleId, enable, loginName, realName, pageNumber, pageSize));
     }
 
     /**