xiaof пре 3 година
родитељ
комит
3e8ae040e8

+ 10 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicPrintConfigServiceImpl.java

@@ -152,7 +152,11 @@ public class BasicPrintConfigServiceImpl extends ServiceImpl<BasicPrintConfigMap
         if (basicPrintConfigs.size() != 1) {
             throw ExceptionResultEnum.ERROR.exception("查询出多个印品配置");
         }
-        return basicPrintConfigs.get(0);
+        BasicPrintConfig printConfig = basicPrintConfigs.get(0);
+        if(!printConfig.getEnable()){
+            throw ExceptionResultEnum.ERROR.exception("该机构印品配置已禁用");
+        }
+        return printConfig;
     }
 
     @Override
@@ -181,6 +185,10 @@ public class BasicPrintConfigServiceImpl extends ServiceImpl<BasicPrintConfigMap
         if (basicPrintConfigs.size() != 1) {
             throw ExceptionResultEnum.ERROR.exception("查询出多个印品配置");
         }
-        return basicPrintConfigs.get(0);
+        BasicPrintConfig printConfig = basicPrintConfigs.get(0);
+        if(!printConfig.getEnable()){
+            throw ExceptionResultEnum.ERROR.exception("该机构印品配置已禁用");
+        }
+        return printConfig;
     }
 }

+ 10 - 5
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicSemesterServiceImpl.java

@@ -89,7 +89,12 @@ public class BasicSemesterServiceImpl extends ServiceImpl<BasicSemesterMapper, B
             basicSemester.setStartTime(startTime);
             basicSemester.setEndTime(endTime);
             basicSemester.setOrgId(sysUser.getOrgId());
-            basicSemester.setInUsed(false);
+
+            QueryWrapper<BasicSemester> queryWrapper = new QueryWrapper<>();
+            queryWrapper.lambda().eq(BasicSemester::getSchoolId, schoolId);
+            List<BasicSemester> basicSemesters = this.list(queryWrapper);
+
+            basicSemester.setInUsed(basicSemesters == null || basicSemesters.size() == 0);
             this.save(basicSemester);
         }
         return id;
@@ -98,8 +103,8 @@ public class BasicSemesterServiceImpl extends ServiceImpl<BasicSemesterMapper, B
     @Transactional
     @Override
     public boolean deleteBasicSemesterById(Long id) {
-        List<BasicExam> examList = basicExamService.list(new QueryWrapper<BasicExam>().lambda().eq(BasicExam::getSemesterId,id));
-        if (examList.size() > 0){
+        List<BasicExam> examList = basicExamService.list(new QueryWrapper<BasicExam>().lambda().eq(BasicExam::getSemesterId, id));
+        if (examList.size() > 0) {
             throw ExceptionResultEnum.ERROR.exception("所选学期中包含考试 不能被删除");
         }
         return this.removeById(id);
@@ -120,11 +125,11 @@ public class BasicSemesterServiceImpl extends ServiceImpl<BasicSemesterMapper, B
     public boolean setInUsed(Long id) {
         BasicSemester semester = this.getById(id);
         // 只能设置一个当前使用学期
-        if(!semester.getInUsed()){
+        if (!semester.getInUsed()) {
             QueryWrapper<BasicSemester> queryWrapper = new QueryWrapper<>();
             queryWrapper.lambda().eq(BasicSemester::getSchoolId, semester.getSchoolId());
             List<BasicSemester> list = this.list(queryWrapper);
-            if(!CollectionUtils.isEmpty(list)) {
+            if (!CollectionUtils.isEmpty(list)) {
                 list = list.stream().map(m -> {
                     m.setInUsed(false);
                     return m;

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

@@ -1667,6 +1667,9 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
             examTask.setCreateId(sysUser.getId());
             examTask.setCreateTime(System.currentTimeMillis());
 
+            BasicPrintConfig basicPrintConfig = basicPrintConfigService.getByExamIdAndCourseCode(examTask.getExamId(), examTask.getCourseCode());
+            examTask.setCardRuleId(basicPrintConfig.getCardRuleId());
+
             if (Objects.isNull(examTask.getFlowId())) {
                 if (basicExamRule.getReview()) {
                     Map<String, Object> map = new HashMap<>();
@@ -1693,10 +1696,8 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
             examTaskDetailService.save(examTaskDetail);
 
             // 创建印刷计划
-            Long examId = examTask.getId();
-            String courseCode = examTask.getCourseCode();
             ExamDetailParams examDetailParams = JSONObject.parseObject(String.valueOf(jsonObject.get("examDetail")), ExamDetailParams.class);
-            BasicPrintConfig basicPrintConfig = basicPrintConfigService.getByExamIdAndCourseCode(examId, courseCode);
+
             ExamPrintPlan examPrintPlan = new ExamPrintPlan();
             examPrintPlan.insertInfo(sysUser.getId());
             examPrintPlan.setSchoolId(schoolId);
@@ -1705,14 +1706,14 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
             examPrintPlan.setExamStartTime(examDetailParams.getExamStartTime());
             examPrintPlan.setExamEndTime(examDetailParams.getExamEndTime());
             examPrintPlan.setPrintContent(String.join(",", JSONObject.parseArray(basicPrintConfig.getPrintContent(), String.class)));
-            examPrintPlan.setBackupMethod(BackupMethodEnum.convertToEnum(basicPrintConfig.getBackupMethod()));
+            examPrintPlan.setBackupMethod(BackupMethodEnum.valueOf(basicPrintConfig.getBackupMethod()));
             examPrintPlan.setBackupCount(basicPrintConfig.getBackupCount());
             examPrintPlan.setDrawRule(basicPrintConfig.getDrawRule());
             examPrintPlan.setVariableContent(basicPrintConfig.getVariableContent());
             examPrintPlan.setOrdinaryContent(basicPrintConfig.getOrdinaryContent());
             examPrintPlan.setStatus(PrintPlanStatusEnum.READY);
             examPrintPlan.setSyncStatus(ExamPrintPlanSyncStatusEnum.INIT);
-            examPrintPlan.setExamId(examId);
+            examPrintPlan.setExamId(examTask.getExamId());
             examPrintPlanService.save(examPrintPlan);
 
             List<ExamDetailList> examDetailLists = JSONObject.parseArray(JSONObject.toJSONString(examDetailParams.getList()), ExamDetailList.class);

+ 4 - 2
distributed-print-business/src/main/resources/mapper/ExamPrintPlanMapper.xml

@@ -99,7 +99,7 @@
             resultType="com.qmth.distributed.print.business.bean.result.PrintPlanResult">
         SELECT
         a.id,
-        a.semester_id semesterId,
+        be.semester_id semesterId,
         a.name,
         a.exam_start_time AS examStartTime,
         a.exam_end_time AS examEndTime,
@@ -126,6 +126,8 @@
         a.sync_status syncStatus
         FROM
         exam_print_plan a
+        LEFT JOIN
+            basic_exam be on a.school_id = be.school_id and a.exam_id = be.id
         LEFT JOIN
         sys_user b on a.create_id = b.id
         <where>
@@ -137,7 +139,7 @@
                 and a.school_id = #{schoolId}
             </if>
             <if test="semesterId!= null and semesterId != ''">
-                and a.semester_id = #{semesterId}
+                and be.semester_id = #{semesterId}
             </if>
             <if test="printPlanId!= null and printPlanId != ''">
                 and a.id = #{printPlanId}

+ 3 - 11
distributed-print/src/main/java/com/qmth/distributed/print/api/SysController.java

@@ -154,20 +154,12 @@ public class SysController {
             if (StringUtils.isBlank(password)) {
                 throw ExceptionResultEnum.ERROR.exception("密码不能为空");
             }
-            QueryWrapper<SysUser> wrapper1 = new QueryWrapper<>();
-            wrapper1 = wrapper;
-            wrapper1.lambda().eq(SysUser::getLoginName, loginName);
-            userList = sysUserService.list(wrapper1);
+            wrapper.lambda().and(w -> w.eq(SysUser::getLoginName, loginName).or().eq(SysUser::getCode, loginName));
+            userList = sysUserService.list(wrapper);
 
             //用户不存在
             if (userList == null || userList.isEmpty()) {
-                wrapper1.clear();
-                wrapper1 = wrapper;
-                wrapper.lambda().eq(SysUser::getCode, loginName);
-                userList = sysUserService.list(wrapper1);
-                if (userList == null || userList.isEmpty()) {
-                    throw ExceptionResultEnum.ERROR.exception("用户不存在");
-                }
+                throw ExceptionResultEnum.ERROR.exception("用户不存在");
             }
             if (userList.size() > 1) {
                 throw ExceptionResultEnum.ERROR.exception("查出多个用户");