Forráskód Böngészése

Merge branch 'dev_v2.2.0' into release_v2.2.0

xiaof 3 éve
szülő
commit
fb8606b4cf

+ 1 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/ExamTaskMapper.java

@@ -93,7 +93,7 @@ public interface ExamTaskMapper extends BaseMapper<ExamTask> {
 
     List<ExamTask> listExamTaskAuditExpire(@Param("startTime") Long startTime, @Param("endTime") Long endTime);
 
-    List<ExamTaskDetailDto> listTaskPaper(@Param("schoolId") Long schoolId, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber, @Param("startTime") Long startTime, @Param("endTime") Long endTime, @Param("orgIds") Set<Long> orgIds, @Param("containsQuestionTeacher") boolean containsQuestionTeacher, @Param("userId") Long userId);
+    List<ExamTaskDetailDto> listTaskPaper(@Param("schoolId") Long schoolId, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber, @Param("cardRuleId") Long cardRuleId, @Param("makeMethod") MakeMethodEnum makeMethod, @Param("startTime") Long startTime, @Param("endTime") Long endTime, @Param("orgIds") Set<Long> orgIds, @Param("containsQuestionTeacher") boolean containsQuestionTeacher, @Param("userId") Long userId);
 
     /**
      * 获取待办任务

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

@@ -150,9 +150,9 @@ public interface ExamTaskService extends IService<ExamTask> {
      */
     void sendSmsOverdueTask();
 
-    List<ExamTaskDetailDto> listTaskPaper(String courseCode, String paperNumber, Long startTime, Long endTime);
+    List<ExamTaskDetailDto> listTaskPaper(String courseCode, String paperNumber, Long cardRuleId, MakeMethodEnum makeMethod, Long startTime, Long endTime);
 
-    TBTask taskDownloadPdf(String courseCode, String paperNumber, Long startTime, Long endTime);
+    TBTask taskDownloadPdf(String courseCode, String paperNumber, Long cardRuleId, MakeMethodEnum makeMethod, Long startTime, Long endTime);
 
     /**
      * 获取待办任务

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

@@ -82,7 +82,11 @@ public class ExamCardServiceImpl extends ServiceImpl<ExamCardMapper, ExamCard> i
         if (examCardParams.getId() == null) {
             examCard = new ExamCard();
             examCard.setSchoolId(schoolId);
-            examCard.setOrgId(basicCourseService.getOrgIdBySchoolIdAndCourseCode(schoolId, examCardParams.getCourseCode()));
+            if(Objects.isNull(examCardParams.getTemplateId())) {
+                examCard.setOrgId(basicCourseService.getOrgIdBySchoolIdAndCourseCode(schoolId, examCardParams.getCourseCode()));
+            } else {
+                examCard.setOrgId(user.getOrgId());
+            }
             examCard.setCourseCode(examCardParams.getCourseCode());
             examCard.setCourseName(examCardParams.getCourseName());
             examCard.setTitle(examCardParams.getTitle());

+ 8 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamTaskPrintServiceImpl.java

@@ -28,6 +28,7 @@ import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
 import com.qmth.teachcloud.common.enums.MqTagEnum;
 import com.qmth.teachcloud.common.enums.OrgTypeEnum;
 import com.qmth.teachcloud.common.enums.TaskTypeEnum;
+import com.qmth.teachcloud.common.service.BasicClazzService;
 import com.qmth.teachcloud.common.service.BasicStudentService;
 import com.qmth.teachcloud.common.service.BasicUserCourseService;
 import com.qmth.teachcloud.common.service.TBTaskService;
@@ -81,6 +82,9 @@ public class ExamTaskPrintServiceImpl extends ServiceImpl<ExamTaskPrintMapper, E
     @Lazy
     PrintCommonService printCommonService;
 
+    @Autowired
+    BasicClazzService basicClazzService;
+
     @Resource
     RedisUtil redisUtil;
 
@@ -237,7 +241,8 @@ public class ExamTaskPrintServiceImpl extends ServiceImpl<ExamTaskPrintMapper, E
         } else {
             // 校验班级
             QueryWrapper<ExamTaskPrint> queryWrapper = new QueryWrapper<>();
-            queryWrapper.lambda().eq(ExamTaskPrint::getPrintPlanId, examTaskPrint).ne(ExamTaskPrint::getId, examTaskPrint.getId());
+            queryWrapper.lambda().eq(ExamTaskPrint::getPrintPlanId, examTaskPrint.getPrintPlanId())
+                    .ne(ExamTaskPrint::getId, examTaskPrint.getId());
             List<ExamTaskPrint> examTaskPrints = this.list(queryWrapper);
             // 校验班级
             validateClass(examTaskPrints, classIds);
@@ -382,7 +387,8 @@ public class ExamTaskPrintServiceImpl extends ServiceImpl<ExamTaskPrintMapper, E
                 List<String> hisClassIds = Arrays.asList(taskPrint.getClassId().split(","));
                 for (String classId : classIds) {
                     if (hisClassIds.contains(classId)) {
-                        throw ExceptionResultEnum.ERROR.exception(classId + "已分配考场");
+                        String clazzNamesByClazzIds = basicClazzService.findClazzNamesByClazzIds(classId, ",");
+                        throw ExceptionResultEnum.ERROR.exception(clazzNamesByClazzIds + "已分配考场");
                     }
                 }
             }

+ 6 - 5
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamTaskServiceImpl.java

@@ -1272,7 +1272,7 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
     }
 
     @Override
-    public List<ExamTaskDetailDto> listTaskPaper(String courseCode, String paperNumber, Long startTime, Long
+    public List<ExamTaskDetailDto> listTaskPaper(String courseCode, String paperNumber, Long cardRuleId, MakeMethodEnum makeMethod, Long startTime, Long
             endTime) {
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
         // 查询用户角色是否包含命题老师
@@ -1280,13 +1280,13 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
         boolean containsQuestionTeacher = list.stream().filter(m -> RoleTypeEnum.QUESTION_TEACHER.equals(m.getType())).count() > 0;
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
         Set<Long> orgIds = teachcloudCommonService.listSubOrgIds(null);
-        List<ExamTaskDetailDto> examTaskDetailDtos = this.baseMapper.listTaskPaper(schoolId, courseCode, paperNumber, startTime, endTime, orgIds, containsQuestionTeacher, sysUser.getId());
+        List<ExamTaskDetailDto> examTaskDetailDtos = this.baseMapper.listTaskPaper(schoolId, courseCode, paperNumber, cardRuleId, makeMethod, startTime, endTime, orgIds, containsQuestionTeacher, sysUser.getId());
         return examTaskDetailDtos;
     }
 
     @Override
-    public TBTask taskDownloadPdf(String courseCode, String paperNumber, Long startTime, Long endTime) {
-        List<ExamTaskDetailDto> examTasks = this.listTaskPaper(courseCode, paperNumber, startTime, endTime);
+    public TBTask taskDownloadPdf(String courseCode, String paperNumber, Long cardRuleId, MakeMethodEnum makeMethod, Long startTime, Long endTime) {
+        List<ExamTaskDetailDto> examTasks = this.listTaskPaper(courseCode, paperNumber, cardRuleId, makeMethod, startTime, endTime);
         if (CollectionUtils.isEmpty(examTasks)) {
             throw ExceptionResultEnum.ERROR.exception("没有可导出数据");
         }
@@ -1513,6 +1513,7 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
         return examTaskMapper.findFlowIdToNotMySelf(currentUserId);
     }
 
+    @Transactional
     @Override
     public ExamTask submitTaskApply(ExamTaskApplyTemp examTaskApplyTemp) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
@@ -1592,7 +1593,7 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
             examPrintPlan.setCreateId(sysUser.getId());
             examPrintPlanService.save(examPrintPlan);
 
-            List<ExamDetailList> examDetailLists = JSONObject.parseArray(String.valueOf(examDetailParams.getList()), ExamDetailList.class);
+            List<ExamDetailList> examDetailLists = JSONObject.parseArray(JSONObject.toJSONString(examDetailParams.getList()), ExamDetailList.class);
 
             int i = 1;
             for (ExamDetailList examDetailList : examDetailLists) {

+ 8 - 6
distributed-print/src/main/java/com/qmth/distributed/print/api/ExamTaskController.java

@@ -59,7 +59,7 @@ import java.util.stream.Collectors;
 @Api(tags = "命题任务Controller")
 @RestController
 @RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + "/${prefix.url.exam}/task")
-//@Aac(strict = BOOL.FALSE, auth = BOOL.FALSE)
+
 public class ExamTaskController {
 
     @Autowired
@@ -273,7 +273,7 @@ public class ExamTaskController {
      * @param paperNumber
      * @param startTime
      * @param endTime
-     * @param userName     命题老师名称
+     * @param userName    命题老师名称
      * @param pageNumber
      * @param pageSize
      * @return
@@ -449,7 +449,7 @@ public class ExamTaskController {
     @RequestMapping(value = "/review_save_batch", method = RequestMethod.POST)
     public Result taskReviewSaveBatch(@RequestBody ExamTaskReviewLog taskReviewLog) throws IOException {
         List<Long> examTaskIdList = Arrays.asList(taskReviewLog.getExamTaskIds());
-        if(!CollectionUtils.isEmpty(examTaskIdList)){
+        if (!CollectionUtils.isEmpty(examTaskIdList)) {
             for (Long examTaskId : examTaskIdList) {
                 ExamTask examTask = examTaskService.getById(examTaskId);
                 Task task = taskService.createTaskQuery().processInstanceId(String.valueOf(examTask.getFlowId())).singleResult();
@@ -593,9 +593,11 @@ public class ExamTaskController {
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = EditResult.class)})
     public Result paperCardDownloadPdf(@RequestParam(value = "courseCode", required = false) String courseCode,
                                        @RequestParam(value = "paperNumber", required = false) String paperNumber,
+                                       @RequestParam(value = "cardRuleId", required = false) Long cardRuleId,
+                                       @RequestParam(value = "makeMethod", required = false) MakeMethodEnum makeMethod,
                                        @RequestParam(value = "startTime", required = false) Long startTime,
                                        @RequestParam(value = "endTime", required = false) Long endTime) {
-        TBTask tbTask = examTaskService.taskDownloadPdf(courseCode, paperNumber, startTime, endTime);
+        TBTask tbTask = examTaskService.taskDownloadPdf(courseCode, paperNumber, cardRuleId, makeMethod, startTime, endTime);
         return Objects.nonNull(tbTask) ? ResultUtil.ok(new EditResult(tbTask.getId())) : ResultUtil.error("创建任务失败");
     }
 
@@ -778,7 +780,7 @@ public class ExamTaskController {
                                        @RequestParam Integer pageNumber,
                                        @RequestParam Integer pageSize) {
         Set<Long> classIds = Arrays.stream(classId.split(",")).map(SystemConstant::convertIdToLong).collect(Collectors.toSet());
-        return ResultUtil.ok(basicStudentService.basicStudentPage(null,null,classIds,pageNumber,pageSize));
+        return ResultUtil.ok(basicStudentService.basicStudentPage(null, null, classIds, pageNumber, pageSize));
     }
 
     /**
@@ -812,6 +814,7 @@ public class ExamTaskController {
     @ApiOperation(value = "命题任务-审批-获取试卷审批表pdf")
     @RequestMapping(value = "/find_approve_form_pdf", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = Result.class)})
+//    @Aac(strict = BOOL.FALSE, auth = BOOL.FALSE)
     public void findApproveFormPdf(@ApiParam(value = "命题任务id", required = true) @RequestParam String examTaskId,
                                    @ApiParam(value = "html", required = true) @RequestParam String htmlContent) throws Exception {
         // -- 测试用html --
@@ -824,6 +827,5 @@ public class ExamTaskController {
         examTaskService.findExamTaskApprovalPdf(response,SystemConstant.convertIdToLong(examTaskId), htmlContent);
     }
 
-
 }
 

+ 14 - 4
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/SysOrgServiceImpl.java

@@ -20,6 +20,7 @@ import com.qmth.teachcloud.common.mapper.SysUserMapper;
 import com.qmth.teachcloud.common.service.*;
 import com.qmth.teachcloud.common.util.ResultUtil;
 import com.qmth.teachcloud.common.util.ServletUtil;
+import org.apache.ibatis.annotations.Case;
 import org.springframework.dao.DuplicateKeyException;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -301,9 +302,18 @@ public class SysOrgServiceImpl extends ServiceImpl<SysOrgMapper, SysOrg> impleme
 
     @Override
     public List<SysOrg> findDeepByOrgIdAndType(OrgTypeEnum orgTypeEnum) {
-        Set<Long> orgIds = teachcloudCommonService.listSubOrgIds(null);
-        return this.list(new QueryWrapper<SysOrg>().lambda().eq(SysOrg::getType, orgTypeEnum)
-                .eq(SysOrg::getEnable, true)
-                .in(SysOrg::getId, orgIds));
+
+        Set<Long> orgIds = null;
+        if (OrgTypeEnum.TEACHING_ROOM.equals(orgTypeEnum)){
+            orgIds = teachcloudCommonService.listSubOrgIds(null);
+        }
+        QueryWrapper<SysOrg> queryWrapper = new QueryWrapper<>();
+        queryWrapper.lambda().eq(SysOrg::getType, orgTypeEnum)
+                .eq(SysOrg::getEnable, true);
+        if (Objects.nonNull(orgIds)){
+            queryWrapper.lambda().in(SysOrg::getId,orgIds);
+        }
+
+        return this.list(queryWrapper);
     }
 }