Pārlūkot izejas kodu

入库申请-新建命题任务-bug

xiaof 3 gadi atpakaļ
vecāks
revīzija
c923c95b52

+ 35 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/dto/TaskPrintExtendFieldsDto.java

@@ -0,0 +1,35 @@
+package com.qmth.distributed.print.business.bean.dto;
+
+/**
+ * @Date: 2021/3/29.
+ */
+public class TaskPrintExtendFieldsDto {
+
+    private String name;
+    private String code;
+    private Boolean enable;
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+
+    public Boolean getEnable() {
+        return enable;
+    }
+
+    public void setEnable(Boolean enable) {
+        this.enable = enable;
+    }
+}

+ 6 - 6
distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/ExamTask.java

@@ -99,8 +99,8 @@ public class ExamTask extends BaseEntity implements Serializable {
     @TableField("batch_no")
     private String batchNo;
 
-    @TableField("teach_org_id")
-    private Long teachOrgId;
+    @TableField("teaching_room_id")
+    private Long teachingRoomId;
 
     @TableField("teacher_name")
     private String teacherName;
@@ -248,12 +248,12 @@ public class ExamTask extends BaseEntity implements Serializable {
         this.batchNo = batchNo;
     }
 
-    public Long getTeachOrgId() {
-        return teachOrgId;
+    public Long getTeachingRoomId() {
+        return teachingRoomId;
     }
 
-    public void setTeachOrgId(Long teachOrgId) {
-        this.teachOrgId = teachOrgId;
+    public void setTeachingRoomId(Long teachingRoomId) {
+        this.teachingRoomId = teachingRoomId;
     }
 
     public String getTeacherName() {

+ 3 - 3
distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/ExamTaskPrint.java

@@ -80,7 +80,7 @@ public class ExamTaskPrint extends BaseEntity implements Serializable {
     private Long examDetailId;
 
     @TableField(exist = false)
-    private List<Map> extendFields;
+    private String extendFields;
 
     public static long getSerialVersionUID() {
         return serialVersionUID;
@@ -222,11 +222,11 @@ public class ExamTaskPrint extends BaseEntity implements Serializable {
         this.examDetailId = examDetailId;
     }
 
-    public List<Map> getExtendFields() {
+    public String getExtendFields() {
         return extendFields;
     }
 
-    public void setExtendFields(List<Map> extendFields) {
+    public void setExtendFields(String extendFields) {
         this.extendFields = extendFields;
     }
 }

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

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.qmth.distributed.print.business.bean.dto.ExamTaskPrintDto;
 import com.qmth.distributed.print.business.bean.dto.TaskPrintClassDto;
+import com.qmth.distributed.print.business.bean.dto.TaskPrintExtendFieldsDto;
 import com.qmth.distributed.print.business.bean.dto.TaskPrintHouseDto;
 import com.qmth.distributed.print.business.bean.params.TaskPrintParams;
 import com.qmth.distributed.print.business.entity.BasicStudent;
@@ -32,4 +33,6 @@ public interface ExamTaskPrintService extends IService<ExamTaskPrint> {
     List<TaskPrintClassDto> listClass(String printPlanId, String courseCode, String paperNumber);
 
     List<TaskPrintHouseDto> listHouse();
+
+    List<TaskPrintExtendFieldsDto> listTaskPrintExtendFields();
 }

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

@@ -2,6 +2,7 @@ package com.qmth.distributed.print.business.service.impl;
 
 import cn.hutool.core.date.DateUtil;
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -9,6 +10,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qmth.distributed.print.business.bean.dto.ExamTaskPrintDto;
 import com.qmth.distributed.print.business.bean.dto.TaskPrintClassDto;
+import com.qmth.distributed.print.business.bean.dto.TaskPrintExtendFieldsDto;
 import com.qmth.distributed.print.business.bean.dto.TaskPrintHouseDto;
 import com.qmth.distributed.print.business.bean.params.SerialNumberParams;
 import com.qmth.distributed.print.business.entity.*;
@@ -31,7 +33,6 @@ import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 
 import javax.annotation.Resource;
-import javax.net.ssl.HostnameVerifier;
 import java.util.*;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.stream.Collectors;
@@ -124,7 +125,7 @@ public class ExamTaskPrintServiceImpl extends ServiceImpl<ExamTaskPrintMapper, E
     @Transactional
     @Override
     public ExamDetail createTaskPrint(ExamTaskPrint examTaskPrint) {
-        Long schoolId = (Long) ServletUtil.getRequestHeaderSchoolId();
+        Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
 
         ExamPrintPlan examPrintPlan = examPrintPlanService.getById(examTaskPrint.getPrintPlanId());
@@ -145,7 +146,7 @@ public class ExamTaskPrintServiceImpl extends ServiceImpl<ExamTaskPrintMapper, E
         if (examTaskPrint.getId() == null) {
             // 校验班级
             QueryWrapper<ExamTaskPrint> queryWrapper = new QueryWrapper<>();
-            queryWrapper.lambda().eq(ExamTaskPrint::getPrintPlanId, examTaskPrint);
+            queryWrapper.lambda().eq(ExamTaskPrint::getPrintPlanId, examTaskPrint.getPrintPlanId());
             List<ExamTaskPrint> examTaskPrints = this.list(queryWrapper);
             validateClass(examTaskPrints, classIds);
 
@@ -160,6 +161,7 @@ public class ExamTaskPrintServiceImpl extends ServiceImpl<ExamTaskPrintMapper, E
             examDetail.setId(SystemConstant.getDbUuid());
             examDetail.setPackageCode(createTempNumber(serialNumberParams));
             examDetail.setSchoolId(schoolId);
+            examDetail.setOrgId(sysUser.getOrgId());
             examDetail.setPrintPlanId(examTaskPrint.getPrintPlanId());
             examDetail.setPrintPlanName(examPrintPlan.getName());
             examDetail.setExamPlace(examTaskPrint.getExamPlace());
@@ -179,6 +181,7 @@ public class ExamTaskPrintServiceImpl extends ServiceImpl<ExamTaskPrintMapper, E
             ExamDetailCourse examDetailCourse = new ExamDetailCourse();
             examDetailCourse.setId(SystemConstant.getDbUuid());
             examDetailCourse.setSchoolId(schoolId);
+            examDetailCourse.setOrgId(sysUser.getOrgId());
             examDetailCourse.setExamDetailId(examDetail.getId());
             examDetailCourse.setCourseCode(examTaskPrint.getCourseCode());
             examDetailCourse.setCourseName(examTaskPrint.getCourseName());
@@ -187,7 +190,7 @@ public class ExamTaskPrintServiceImpl extends ServiceImpl<ExamTaskPrintMapper, E
             examDetailCourse.setCreateId(examTaskPrint.getCreateId());
             examDetailCourseService.save(examDetailCourse);
 
-            saveBatchStudent(examTaskPrint, classIds, examDetailCourse.getId());
+            saveBatchStudent(examTaskPrint, classIds, examDetailCourse.getId(), sysUser);
 
             // 更改印刷计划状态
             examPrintPlan.setStatus(PrintPlanStatusEnum.READY);
@@ -230,7 +233,7 @@ public class ExamTaskPrintServiceImpl extends ServiceImpl<ExamTaskPrintMapper, E
             examStudentUpdateWrapper.lambda().eq(ExamStudent::getExamDetailCourseId, examDetailCourse.getId());
             examStudentService.remove(examStudentUpdateWrapper);
 
-            saveBatchStudent(taskPrint, classIds, examDetailCourse.getId());
+            saveBatchStudent(taskPrint, classIds, examDetailCourse.getId(), sysUser);
 
             return examDetail;
         }
@@ -238,7 +241,7 @@ public class ExamTaskPrintServiceImpl extends ServiceImpl<ExamTaskPrintMapper, E
 
     @Override
     public List<TaskPrintClassDto> listClass(String printPlanId, String courseCode, String paperNumber) {
-        Long schoolId = (Long) ServletUtil.getRequestHeaderSchoolId();
+        Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
         List<BasicUserCourse> courseList = basicUserCourseService.listBySchoolIdAndCourseCode(schoolId, courseCode);
         List<String> stringList = courseList.stream().map(m -> m.getClazz()).distinct().collect(Collectors.toList());
 
@@ -263,7 +266,7 @@ public class ExamTaskPrintServiceImpl extends ServiceImpl<ExamTaskPrintMapper, E
 
     @Override
     public List<TaskPrintHouseDto> listHouse() {
-        Long schoolId = (Long) ServletUtil.getRequestHeaderSchoolId();
+        Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
         List<TaskPrintHouseDto> houseDtos = this.baseMapper.listTaskPrintHouse(schoolId, OrgTypeEnum.PRINTING_HOUSE.name());
         // 校区没有指定校区,查询所有
         if (CollectionUtils.isEmpty(houseDtos)) {
@@ -272,7 +275,24 @@ public class ExamTaskPrintServiceImpl extends ServiceImpl<ExamTaskPrintMapper, E
         return houseDtos;
     }
 
-    private void saveBatchStudent(ExamTaskPrint examTaskPrint, List<String> classIds, Long examDetailCourseId) {
+    @Override
+    public List<TaskPrintExtendFieldsDto> listTaskPrintExtendFields() {
+        Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
+        BasicExamRule basicExamRule = basicExamRuleService.getBySchoolId(schoolId);
+        if(basicExamRule == null){
+            throw ExceptionResultEnum.ERROR.exception("通用规则未设置");
+        }
+        if(Objects.nonNull(basicExamRule.getExtendFields())){
+            List<TaskPrintExtendFieldsDto> taskPrintExtendFieldsDtos = JSONObject.parseArray(basicExamRule.getExtendFields(), TaskPrintExtendFieldsDto.class);
+            if(!CollectionUtils.isEmpty(taskPrintExtendFieldsDtos)){
+                taskPrintExtendFieldsDtos = taskPrintExtendFieldsDtos.stream().filter(m->m.getEnable()).collect(Collectors.toList());
+                return taskPrintExtendFieldsDtos;
+            }
+        }
+        return null;
+    }
+
+    private void saveBatchStudent(ExamTaskPrint examTaskPrint, List<String> classIds, Long examDetailCourseId, SysUser sysUser) {
         QueryWrapper<BasicStudent> queryWrapper1 = new QueryWrapper<>();
         queryWrapper1.lambda().eq(BasicStudent::getSchoolId, examTaskPrint.getSchoolId()).in(BasicStudent::getClazz, classIds);
         List<BasicStudent> basicStudents = basicStudentService.list(queryWrapper1);
@@ -283,6 +303,7 @@ public class ExamTaskPrintServiceImpl extends ServiceImpl<ExamTaskPrintMapper, E
             ExamStudent examStudent = new ExamStudent();
             examStudent.setId(SystemConstant.getDbUuid());
             examStudent.setSchoolId(examTaskPrint.getSchoolId());
+            examStudent.setOrgId(sysUser.getOrgId());
             examStudent.setExamDetailCourseId(examDetailCourseId);
             examStudent.setStudentName(basicStudent.getStudentName());
             examStudent.setStudentCode(basicStudent.getStudentCode());

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

@@ -931,8 +931,6 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
         ExamTask examTask = this.getById(examTaskDetail.getExamTaskId());
         if (examTaskDetail.getOperateType().equals(ExamStatusEnum.SUBMIT.name()) && !examTask.getReview()) {
             examTask.setStatus(ExamStatusEnum.FINISH);
-        } else {
-            examTask.setStatus(ExamStatusEnum.valueOf(examTaskDetail.getOperateType()));
         }
 
         UpdateWrapper<ExamTask> updateWrapper = new UpdateWrapper<>();
@@ -1335,9 +1333,9 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
         }
 
         if(MakeMethodEnum.SELF.equals(examCard.getMakeMethod())) {
-            UpdateWrapper<ExamTaskDetail> updateWrapper = new UpdateWrapper<>();
-            updateWrapper.lambda().eq(ExamTaskDetail::getCardId, examTaskDetail.getCardId());
-            examTaskDetailService.remove(updateWrapper);
+            UpdateWrapper<ExamCardDetail> updateWrapper = new UpdateWrapper<>();
+            updateWrapper.lambda().eq(ExamCardDetail::getCardId, examTaskDetail.getCardId());
+            examCardDetailService.remove(updateWrapper);
 
             examCardService.removeById(examTaskDetail.getCardId());
         }

+ 24 - 3
distributed-print/src/main/java/com/qmth/distributed/print/api/ExamTaskController.java

@@ -559,10 +559,11 @@ public class ExamTaskController {
      */
     @ApiOperation(value = "暂存/提交")
     @RequestMapping(value = "/save_task_apply", method = RequestMethod.POST)
+    @Aac(auth = BOOL.FALSE)
     public Result saveTaskApply(@RequestBody ExamTaskApplyParam examTaskApplyParam) throws IOException {
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
+        examTaskApplyParam.getExamTask().setUserId(sysUser.getId());
         ExamTask task = examTaskService.saveExamTaskNew(examTaskApplyParam.getExamTask());
-        task.setUserId(sysUser.getId());
         ExamTaskDetail examTaskDetail = examTaskApplyParam.getExamTaskDetail();
         examTaskDetail.setExamTaskId(task.getId());
         boolean isSuccess = examTaskService.saveExamTaskDetail(examTaskDetail);
@@ -583,6 +584,7 @@ public class ExamTaskController {
      */
     @ApiOperation(value = "切换题卡")
     @RequestMapping(value = "/switch_card", method = RequestMethod.POST)
+    @Aac(auth = BOOL.FALSE)
     public Result switchCard(@RequestParam(value = "examTaskId") Long examTaskId) {
         examTaskService.switchCard(examTaskId);
         return ResultUtil.ok(true, "");
@@ -600,6 +602,7 @@ public class ExamTaskController {
      */
     @ApiOperation(value = "卷库查询-发布印刷任务-查看列表")
     @RequestMapping(value = "/list_task_print", method = RequestMethod.POST)
+    @Aac(auth = BOOL.FALSE)
     public Result listTaskPrintStudent(@RequestParam(value = "printPlanId") Long printPlanId,
                                        @RequestParam(value = "courseCode") String courseCode,
                                        @RequestParam(value = "paperNumber") Long paperNumber,
@@ -611,13 +614,27 @@ public class ExamTaskController {
 
 
     /**
-     * 查看考生
+     * 扩展字段列表
+     *
+     * @return
+     */
+    @ApiOperation(value = "卷库查询-发布印刷任务-扩展字段列表")
+    @RequestMapping(value = "/list_task_print_extend_fields", method = RequestMethod.POST)
+    @Aac(auth = BOOL.FALSE)
+    public Result listTaskPrintExtendFields() {
+        List<TaskPrintExtendFieldsDto> extendFieldsDtos = examTaskPrintService.listTaskPrintExtendFields();
+        return ResultUtil.ok(extendFieldsDtos);
+    }
+
+    /**
+     * 班级列表
      *
      * @param printPlanId
      * @return
      */
     @ApiOperation(value = "卷库查询-发布印刷任务-班级列表")
     @RequestMapping(value = "/list_task_print_class", method = RequestMethod.POST)
+    @Aac(auth = BOOL.FALSE)
     public Result listTaskPrintClass(@RequestParam(value = "printPlanId") String printPlanId,
                                      @RequestParam(value = "courseCode") String courseCode,
                                      @RequestParam(value = "paperNumber") String paperNumber) {
@@ -626,12 +643,13 @@ public class ExamTaskController {
     }
 
     /**
-     * 查看考生
+     * 印刷室列表
      *
      * @return
      */
     @ApiOperation(value = "卷库查询-发布印刷任务-印刷室列表")
     @RequestMapping(value = "/list_task_print_house", method = RequestMethod.POST)
+    @Aac(auth = BOOL.FALSE)
     public Result listTaskPrintHouse() {
         List<TaskPrintHouseDto> houseDtos = examTaskPrintService.listHouse();
         return ResultUtil.ok(houseDtos);
@@ -645,6 +663,7 @@ public class ExamTaskController {
      */
     @ApiOperation(value = "卷库查询-发布印刷任务")
     @RequestMapping(value = "/save_task_print", method = RequestMethod.POST)
+    @Aac(auth = BOOL.FALSE)
     public Result createTaskPrint(@RequestBody ExamTaskPrint examTaskPrint) throws IOException {
         ExamDetail examDetail = examTaskPrintService.createTaskPrint(examTaskPrint);
         // 调用生成pdf方法
@@ -661,6 +680,7 @@ public class ExamTaskController {
      */
     @ApiOperation(value = "卷库查询-发布印刷任务-查看考生")
     @RequestMapping(value = "/list_task_print_student", method = RequestMethod.POST)
+    @Aac(auth = BOOL.FALSE)
     public Result listTaskPrintStudent(@RequestParam(value = "classId") String classId,
                                        @RequestParam Integer pageNumber,
                                        @RequestParam Integer pageSize) {
@@ -676,6 +696,7 @@ public class ExamTaskController {
      */
     @ApiOperation(value = "卷库查询-发布印刷任务-删除")
     @RequestMapping(value = "/remove_task_print", method = RequestMethod.POST)
+    @Aac(auth = BOOL.FALSE)
     public Result listTaskPrintStudent(@RequestParam(value = "examTaskPrintId") Long examTaskPrintId) {
         examTaskPrintService.remove(examTaskPrintId);
         return ResultUtil.ok(true, "");

+ 12 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/result/LoginResult.java

@@ -54,6 +54,9 @@ public class LoginResult implements Serializable {
     @ApiModelProperty(value = "应用来源")
     AppSourceEnum appSource;
 
+    @ApiModelProperty(value = "密码修改次数")
+    Integer pwdCount;
+
     public LoginResult() {
 
     }
@@ -67,6 +70,7 @@ public class LoginResult implements Serializable {
         this.accessToken = accessToken;
         this.roleList = roleList;
         this.appSource = appSource;
+        this.pwdCount = sysUser.getPwdCount();
     }
 
     public LoginResult(SysUser sysUser, String sessionId, String accessToken, SchoolNativeBean schoolInfo, OrgNativeBean orgInfo, AppSourceEnum appSource) {
@@ -159,6 +163,14 @@ public class LoginResult implements Serializable {
         this.time = time;
     }
 
+    public Integer getPwdCount() {
+        return pwdCount;
+    }
+
+    public void setPwdCount(Integer pwdCount) {
+        this.pwdCount = pwdCount;
+    }
+
     public class SchoolNativeBean implements Serializable {
 
         @ApiModelProperty(value = "id")

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

@@ -135,7 +135,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         if (!StringUtils.equals(sysUser.getPassword(), user.getOldPassword())) {
             throw ExceptionResultEnum.ERROR.exception("原密码不正确");
         }
-        sysUser.setPwdCount(sysUser.getPwdCount() + 1);
+        sysUser.setPwdCount(sysUser.getPwdCount() == null ? 1 : sysUser.getPwdCount() + 1);
         sysUser.setPwdUpdateTime(System.currentTimeMillis());
         sysUser.setPassword(user.getPassword());
         boolean success = this.updateById(sysUser);