Browse Source

Merge remote-tracking branch 'origin/dev_v2.2.0' into dev_v2.2.0

wangliang 3 years ago
parent
commit
a12cec6f98
16 changed files with 132 additions and 42 deletions
  1. 2 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ExamTaskService.java
  2. 17 2
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicCampusServiceImpl.java
  3. 5 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicStudentServiceImpl.java
  4. 7 8
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamTaskPrintServiceImpl.java
  5. 31 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamTaskServiceImpl.java
  6. 5 5
      distributed-print/src/main/java/com/qmth/distributed/print/api/BasicCampusController.java
  7. 4 1
      distributed-print/src/main/java/com/qmth/distributed/print/api/BasicCourseController.java
  8. 4 4
      distributed-print/src/main/java/com/qmth/distributed/print/api/BasicStudentController.java
  9. 21 11
      distributed-print/src/main/java/com/qmth/distributed/print/api/ExamTaskController.java
  10. 0 10
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/entity/BasicCourse.java
  11. 4 0
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/mapper/BasicUserCourseMapper.java
  12. 2 0
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/BasicUserCourseService.java
  13. 7 0
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicCourseServiceImpl.java
  14. 5 0
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicUserCourseServiceImpl.java
  15. 1 0
      teachcloud-common/src/main/resources/mapper/BasicCourseMapper.xml
  16. 17 0
      teachcloud-common/src/main/resources/mapper/BasicUserCourseMapper.xml

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

@@ -159,4 +159,6 @@ public interface ExamTaskService extends IService<ExamTask> {
      * @return
      * @return
      */
      */
     public IPage<WorkResult> getFlowTaskReadyList(IPage<Map> iPage, Long schoolId, Long orgId, Long userId);
     public IPage<WorkResult> getFlowTaskReadyList(IPage<Map> iPage, Long schoolId, Long orgId, Long userId);
+
+    void switchCard(Long examTaskId);
 }
 }

+ 17 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicCampusServiceImpl.java

@@ -1,5 +1,6 @@
 package com.qmth.distributed.print.business.service.impl;
 package com.qmth.distributed.print.business.service.impl;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qmth.distributed.print.business.bean.params.BasicCampusParams;
 import com.qmth.distributed.print.business.bean.params.BasicCampusParams;
@@ -16,6 +17,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 
 import javax.annotation.Resource;
 import javax.annotation.Resource;
 import java.util.List;
 import java.util.List;
+import java.util.Objects;
 
 
 /**
 /**
  * <p>
  * <p>
@@ -42,13 +44,22 @@ public class BasicCampusServiceImpl extends ServiceImpl<BasicCampusMapper, Basic
         Long schoolId = sysUser.getSchoolId();
         Long schoolId = sysUser.getSchoolId();
         Long orgId = sysUser.getOrgId();
         Long orgId = sysUser.getOrgId();
 
 
+        Long campusId = basicCampusParams.getId();
         String campusName = basicCampusParams.getCampusName();
         String campusName = basicCampusParams.getCampusName();
         String campusCode = basicCampusParams.getCampusCode();
         String campusCode = basicCampusParams.getCampusCode();
         if (!SystemConstant.strNotNull(campusCode)){
         if (!SystemConstant.strNotNull(campusCode)){
             throw ExceptionResultEnum.ERROR.exception("缺少校区编号");
             throw ExceptionResultEnum.ERROR.exception("缺少校区编号");
         }
         }
-        Long campusId;
-        if (SystemConstant.longNotNull(basicCampusParams.getId())){
+        BasicCampus checkName = this.getOne(new QueryWrapper<BasicCampus>().lambda().eq(BasicCampus::getEnable,true).eq(BasicCampus::getSchoolId,schoolId).eq(BasicCampus::getCampusName,campusName));
+        if (Objects.nonNull(checkName) && !checkName.getId().equals(campusId)){
+            throw ExceptionResultEnum.ERROR.exception("校区名称【" + campusName + "】重复");
+        }
+        BasicCampus checkCode = this.getOne(new QueryWrapper<BasicCampus>().lambda().eq(BasicCampus::getEnable,true).eq(BasicCampus::getSchoolId,schoolId).eq(BasicCampus::getCampusCode,campusCode));
+        if (Objects.nonNull(checkCode) && !checkCode.getId().equals(campusId)){
+            throw ExceptionResultEnum.ERROR.exception("校区编号【" + campusCode + "】重复");
+        }
+
+        if (SystemConstant.longNotNull(campusId)){
             // 编辑
             // 编辑
             campusId = basicCampusParams.getId();
             campusId = basicCampusParams.getId();
             UpdateWrapper<BasicCampus> updateWrapper = new UpdateWrapper<>();
             UpdateWrapper<BasicCampus> updateWrapper = new UpdateWrapper<>();
@@ -62,6 +73,10 @@ public class BasicCampusServiceImpl extends ServiceImpl<BasicCampusMapper, Basic
         }else {
         }else {
             // 新增
             // 新增
             campusId = SystemConstant.getDbUuid();
             campusId = SystemConstant.getDbUuid();
+            BasicCampus old = this.getById(campusId);
+            if (Objects.isNull(old) || old.getEnable().equals(false)){
+                throw ExceptionResultEnum.ERROR.exception("所选校区主键不存在或被禁用");
+            }
             BasicCampus basicCampus = new BasicCampus();
             BasicCampus basicCampus = new BasicCampus();
             basicCampus.setId(campusId);
             basicCampus.setId(campusId);
             basicCampus.setCampusCode(campusCode);
             basicCampus.setCampusCode(campusCode);

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

@@ -211,7 +211,7 @@ public class BasicStudentServiceImpl extends ServiceImpl<BasicStudentMapper, Bas
             basicStudent.setSchoolId(schoolId);
             basicStudent.setSchoolId(schoolId);
 
 
             // 保存
             // 保存
-            if (Objects.isNull(id)){
+            if (!SystemConstant.longNotNull(id)){
                 // id为空 -> 新增
                 // id为空 -> 新增
                 // 获取分布式id
                 // 获取分布式id
                 id = SystemConstant.getDbUuid();
                 id = SystemConstant.getDbUuid();
@@ -219,6 +219,10 @@ public class BasicStudentServiceImpl extends ServiceImpl<BasicStudentMapper, Bas
                 basicStudent.setCreateId(sysUser.getId());
                 basicStudent.setCreateId(sysUser.getId());
             }else {
             }else {
                 // id不为空 -> 更新
                 // id不为空 -> 更新
+                BasicStudent old = this.getById(id);
+                if (Objects.isNull(old) || old.getEnable().equals(false)){
+                    throw ExceptionResultEnum.ERROR.exception("学生主键不存在或被禁用");
+                }
                 basicStudent.setId(id);
                 basicStudent.setId(id);
                 basicStudent.setUpdateId(sysUser.getId());
                 basicStudent.setUpdateId(sysUser.getId());
             }
             }

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

@@ -19,10 +19,10 @@ import com.qmth.distributed.print.business.enums.PrintPlanStatusEnum;
 import com.qmth.distributed.print.business.mapper.ExamTaskPrintMapper;
 import com.qmth.distributed.print.business.mapper.ExamTaskPrintMapper;
 import com.qmth.distributed.print.business.service.*;
 import com.qmth.distributed.print.business.service.*;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.contant.SystemConstant;
-import com.qmth.teachcloud.common.entity.BasicCourse;
+import com.qmth.teachcloud.common.entity.BasicUserCourse;
 import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
-import com.qmth.teachcloud.common.service.BasicCourseService;
+import com.qmth.teachcloud.common.service.BasicUserCourseService;
 import com.qmth.teachcloud.common.util.ConvertUtil;
 import com.qmth.teachcloud.common.util.ConvertUtil;
 import com.qmth.teachcloud.common.util.ServletUtil;
 import com.qmth.teachcloud.common.util.ServletUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -60,7 +60,7 @@ public class ExamTaskPrintServiceImpl extends ServiceImpl<ExamTaskPrintMapper, E
     private BasicExamRuleService basicExamRuleService;
     private BasicExamRuleService basicExamRuleService;
 
 
     @Autowired
     @Autowired
-    private BasicCourseService basicCourseService;
+    private BasicUserCourseService basicUserCourseService;
 
 
     @Resource
     @Resource
     ConvertUtil convertUtil;
     ConvertUtil convertUtil;
@@ -257,19 +257,17 @@ public class ExamTaskPrintServiceImpl extends ServiceImpl<ExamTaskPrintMapper, E
     @Override
     @Override
     public List<TaskPrintClassDto> listClass(String printPlanId, String courseCode, String paperNumber) {
     public List<TaskPrintClassDto> listClass(String printPlanId, String courseCode, String paperNumber) {
         Long schoolId = (Long) ServletUtil.getRequestHeaderSchoolId();
         Long schoolId = (Long) ServletUtil.getRequestHeaderSchoolId();
-        QueryWrapper<BasicCourse> courseQueryWrapper = new QueryWrapper<>();
-        courseQueryWrapper.lambda().eq(BasicCourse::getSchoolId, schoolId).eq(BasicCourse::getCode, courseCode);
-        List<BasicCourse> courseList = basicCourseService.list(courseQueryWrapper);
+        List<BasicUserCourse> courseList = basicUserCourseService.listBySchoolIdAndCourseCode(schoolId, courseCode);
         List<String> stringList = courseList.stream().map(m -> m.getClazz()).distinct().collect(Collectors.toList());
         List<String> stringList = courseList.stream().map(m -> m.getClazz()).distinct().collect(Collectors.toList());
 
 
-        if(!CollectionUtils.isEmpty(stringList)) {
+        if (!CollectionUtils.isEmpty(stringList)) {
             QueryWrapper<ExamTaskPrint> examTaskPrintQueryWrapper = new QueryWrapper<>();
             QueryWrapper<ExamTaskPrint> examTaskPrintQueryWrapper = new QueryWrapper<>();
             examTaskPrintQueryWrapper.lambda().eq(ExamTaskPrint::getPrintPlanId, printPlanId).eq(ExamTaskPrint::getCourseCode, courseCode).eq(ExamTaskPrint::getPaperNumber, paperNumber);
             examTaskPrintQueryWrapper.lambda().eq(ExamTaskPrint::getPrintPlanId, printPlanId).eq(ExamTaskPrint::getCourseCode, courseCode).eq(ExamTaskPrint::getPaperNumber, paperNumber);
             List<ExamTaskPrint> examTaskPrints = this.list(examTaskPrintQueryWrapper);
             List<ExamTaskPrint> examTaskPrints = this.list(examTaskPrintQueryWrapper);
             for (ExamTaskPrint examTaskPrint : examTaskPrints) {
             for (ExamTaskPrint examTaskPrint : examTaskPrints) {
                 List<String> classIds = Arrays.asList(examTaskPrint.getClassId().split(","));
                 List<String> classIds = Arrays.asList(examTaskPrint.getClassId().split(","));
                 for (String classId : classIds) {
                 for (String classId : classIds) {
-                    if(stringList.contains(classId)){
+                    if (stringList.contains(classId)) {
                         stringList.remove(classId);
                         stringList.remove(classId);
                     }
                     }
                 }
                 }
@@ -283,6 +281,7 @@ public class ExamTaskPrintServiceImpl extends ServiceImpl<ExamTaskPrintMapper, E
 
 
     @Override
     @Override
     public List<TaskPrintHouseDto> listHouse() {
     public List<TaskPrintHouseDto> listHouse() {
+        // todo  xf
         return null;
         return null;
     }
     }
 
 

+ 31 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamTaskServiceImpl.java

@@ -1315,4 +1315,35 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
     public IPage<WorkResult> getFlowTaskReadyList(IPage<Map> iPage, Long schoolId, Long orgId, Long userId) {
     public IPage<WorkResult> getFlowTaskReadyList(IPage<Map> iPage, Long schoolId, Long orgId, Long userId) {
         return examTaskMapper.getFlowTaskReadyList(iPage, schoolId, orgId, String.valueOf(userId));
         return examTaskMapper.getFlowTaskReadyList(iPage, schoolId, orgId, String.valueOf(userId));
     }
     }
+
+    @Transactional
+    @Override
+    public void switchCard(Long examTaskId) {
+        ExamTaskDetail examTaskDetail = examTaskDetailService.getByExamTaskId(examTaskId);
+        if(examTaskDetail == null){
+            throw ExceptionResultEnum.ERROR.exception("命题任务不存在");
+        }
+        if(examTaskDetail.getCardId() == null){
+            throw ExceptionResultEnum.ERROR.exception("命题任务没有绑定题卡");
+        }
+        ExamCard examCard = examCardService.getById(examTaskDetail.getCardId());
+        if(examCard == null){
+            throw ExceptionResultEnum.ERROR.exception("题卡不存在");
+        }
+        if(MakeMethodEnum.CUST.equals(examCard.getMakeMethod())){
+            throw ExceptionResultEnum.ERROR.exception("客户制卡方式,不能切换");
+        }
+
+        if(MakeMethodEnum.SELF.equals(examCard.getMakeMethod())) {
+            UpdateWrapper<ExamTaskDetail> updateWrapper = new UpdateWrapper<>();
+            updateWrapper.lambda().eq(ExamTaskDetail::getCardId, examTaskDetail.getCardId());
+            examTaskDetailService.remove(updateWrapper);
+
+            examCardService.removeById(examTaskDetail.getCardId());
+        }
+
+        UpdateWrapper<ExamTaskDetail> examTaskDetailUpdateWrapper = new UpdateWrapper<>();
+        examTaskDetailUpdateWrapper.lambda().set(ExamTaskDetail::getCardId, null).eq(ExamTaskDetail::getId, examTaskDetail.getId());
+        examTaskDetailService.update(examTaskDetailUpdateWrapper);
+    }
 }
 }

+ 5 - 5
distributed-print/src/main/java/com/qmth/distributed/print/api/BasicCampusController.java

@@ -1,6 +1,8 @@
 package com.qmth.distributed.print.api;
 package com.qmth.distributed.print.api;
 
 
 
 
+import com.qmth.boot.api.annotation.Aac;
+import com.qmth.boot.api.annotation.BOOL;
 import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.distributed.print.business.bean.params.BasicCampusParams;
 import com.qmth.distributed.print.business.bean.params.BasicCampusParams;
 import com.qmth.distributed.print.business.bean.result.EditResult;
 import com.qmth.distributed.print.business.bean.result.EditResult;
@@ -11,10 +13,7 @@ import com.qmth.teachcloud.common.util.ResultUtil;
 import com.qmth.teachcloud.common.util.ServletUtil;
 import com.qmth.teachcloud.common.util.ServletUtil;
 import io.swagger.annotations.*;
 import io.swagger.annotations.*;
 import org.springframework.validation.BindingResult;
 import org.springframework.validation.BindingResult;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 
 import javax.annotation.Resource;
 import javax.annotation.Resource;
 import javax.validation.Valid;
 import javax.validation.Valid;
@@ -30,6 +29,7 @@ import javax.validation.Valid;
 @Api(tags = "校区管理controller")
 @Api(tags = "校区管理controller")
 @RestController
 @RestController
 @RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + "/${prefix.url.basic}/campus")
 @RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + "/${prefix.url.basic}/campus")
+@Aac(strict = BOOL.FALSE, auth = BOOL.FALSE)
 public class BasicCampusController {
 public class BasicCampusController {
     @Resource
     @Resource
     private BasicCampusService basicCampusService;
     private BasicCampusService basicCampusService;
@@ -55,7 +55,7 @@ public class BasicCampusController {
     @ApiOperation(value = "校区管理-删除(逻辑)")
     @ApiOperation(value = "校区管理-删除(逻辑)")
     @RequestMapping(value = "/delete", method = RequestMethod.POST)
     @RequestMapping(value = "/delete", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "删除成功", response = EditResult.class)})
     @ApiResponses({@ApiResponse(code = 200, message = "删除成功", response = EditResult.class)})
-    public Result deleteBasicCampus(@ApiParam(value = "校区id",required = true) String id) {
+    public Result deleteBasicCampus(@ApiParam(value = "校区id",required = true) @RequestParam String id) {
         return ResultUtil.ok(basicCampusService.removeBasicCampusById(SystemConstant.convertIdToLong(id)));
         return ResultUtil.ok(basicCampusService.removeBasicCampusById(SystemConstant.convertIdToLong(id)));
     }
     }
 
 

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

@@ -1,6 +1,8 @@
 package com.qmth.distributed.print.api;
 package com.qmth.distributed.print.api;
 
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.qmth.boot.api.annotation.Aac;
+import com.qmth.boot.api.annotation.BOOL;
 import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.distributed.print.business.bean.result.EditResult;
 import com.qmth.distributed.print.business.bean.result.EditResult;
 import com.qmth.distributed.print.business.service.PrintCommonService;
 import com.qmth.distributed.print.business.service.PrintCommonService;
@@ -37,6 +39,7 @@ import java.util.Objects;
 @Api(tags = "课程Controller")
 @Api(tags = "课程Controller")
 @RestController
 @RestController
 @RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + "/${prefix.url.basic}/course")
 @RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + "/${prefix.url.basic}/course")
+@Aac(strict = BOOL.FALSE, auth = BOOL.FALSE)
 public class BasicCourseController {
 public class BasicCourseController {
 
 
     @Resource
     @Resource
@@ -134,7 +137,7 @@ public class BasicCourseController {
     @ApiOperation(value = "课程管理-批量删除(逻辑)")
     @ApiOperation(value = "课程管理-批量删除(逻辑)")
     @RequestMapping(value = "/delete_batch", method = RequestMethod.POST)
     @RequestMapping(value = "/delete_batch", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "删除成功", response = EditResult.class)})
     @ApiResponses({@ApiResponse(code = 200, message = "删除成功", response = EditResult.class)})
-    public Result deleteBasicCampus(@ApiParam(value = "选择的要删除的学生id集合",required = true) List<Long> idList) {
+    public Result deleteBasicCampus(@ApiParam(value = "选择的要删除的课程id集合",required = true) @RequestParam List<Long> idList) {
         return ResultUtil.ok(basicCourseService.removeBasicCourseBatch(idList));
         return ResultUtil.ok(basicCourseService.removeBasicCourseBatch(idList));
     }
     }
 
 

+ 4 - 4
distributed-print/src/main/java/com/qmth/distributed/print/api/BasicStudentController.java

@@ -1,11 +1,11 @@
 package com.qmth.distributed.print.api;
 package com.qmth.distributed.print.api;
 
 
 
 
+import com.qmth.boot.api.annotation.Aac;
+import com.qmth.boot.api.annotation.BOOL;
 import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.boot.api.constant.ApiConstant;
-import com.qmth.distributed.print.business.bean.params.BasicCampusParams;
 import com.qmth.distributed.print.business.bean.params.BasicStudentParams;
 import com.qmth.distributed.print.business.bean.params.BasicStudentParams;
 import com.qmth.distributed.print.business.bean.result.EditResult;
 import com.qmth.distributed.print.business.bean.result.EditResult;
-import com.qmth.distributed.print.business.entity.BasicStudent;
 import com.qmth.distributed.print.business.service.BasicStudentService;
 import com.qmth.distributed.print.business.service.BasicStudentService;
 import com.qmth.distributed.print.business.service.PrintCommonService;
 import com.qmth.distributed.print.business.service.PrintCommonService;
 import com.qmth.distributed.print.business.templete.execute.AsyncStudentDataImportService;
 import com.qmth.distributed.print.business.templete.execute.AsyncStudentDataImportService;
@@ -17,7 +17,6 @@ import com.qmth.teachcloud.common.util.Result;
 import com.qmth.teachcloud.common.util.ResultUtil;
 import com.qmth.teachcloud.common.util.ResultUtil;
 import com.qmth.teachcloud.common.util.ServletUtil;
 import com.qmth.teachcloud.common.util.ServletUtil;
 import io.swagger.annotations.*;
 import io.swagger.annotations.*;
-import org.junit.Test;
 import org.springframework.validation.BindingResult;
 import org.springframework.validation.BindingResult;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 import org.springframework.web.multipart.MultipartFile;
@@ -39,6 +38,7 @@ import java.util.Objects;
 @Api(tags = "学生管理controller")
 @Api(tags = "学生管理controller")
 @RestController
 @RestController
 @RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + "/${prefix.url.basic}/student")
 @RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + "/${prefix.url.basic}/student")
+@Aac(strict = BOOL.FALSE, auth = BOOL.FALSE)
 public class BasicStudentController {
 public class BasicStudentController {
     @Resource
     @Resource
     private BasicStudentService basicStudentService;
     private BasicStudentService basicStudentService;
@@ -70,7 +70,7 @@ public class BasicStudentController {
     @ApiOperation(value = "学生基本信息管理-批量删除(逻辑)")
     @ApiOperation(value = "学生基本信息管理-批量删除(逻辑)")
     @RequestMapping(value = "/delete_batch", method = RequestMethod.POST)
     @RequestMapping(value = "/delete_batch", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "删除成功", response = EditResult.class)})
     @ApiResponses({@ApiResponse(code = 200, message = "删除成功", response = EditResult.class)})
-    public Result deleteBasicCampus(@ApiParam(value = "选择的要删除的学生id集合",required = true) List<Long> idList) {
+    public Result deleteBasicCampus(@ApiParam(value = "选择的要删除的学生id集合",required = true) @RequestParam List<Long> idList) {
         return ResultUtil.ok(basicStudentService.removeBasicStudentBatch(idList));
         return ResultUtil.ok(basicStudentService.removeBasicStudentBatch(idList));
     }
     }
 
 

+ 21 - 11
distributed-print/src/main/java/com/qmth/distributed/print/api/ExamTaskController.java

@@ -553,22 +553,19 @@ public class ExamTaskController {
     }
     }
 
 
     /**
     /**
-     * 暂存/提交
+     * 入库申请-新建命题任务
      *
      *
      * @param examTaskApplyParam
      * @param examTaskApplyParam
      * @return
      * @return
      */
      */
     @ApiOperation(value = "暂存/提交")
     @ApiOperation(value = "暂存/提交")
-    @RequestMapping(value = "/apply_save", method = RequestMethod.POST)
-    public Result taskApplySave(@RequestBody ExamTaskApplyParam examTaskApplyParam) throws IOException {
-
+    @RequestMapping(value = "/save_task_apply", method = RequestMethod.POST)
+    public Result saveTaskApply(@RequestBody ExamTaskApplyParam examTaskApplyParam) throws IOException {
+        SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
         ExamTask task = examTaskService.saveExamTaskNew(examTaskApplyParam.getExamTask());
         ExamTask task = examTaskService.saveExamTaskNew(examTaskApplyParam.getExamTask());
-        //发送短信
-        if (task.getId() != null) {
-            basicMessageService.sendNoticeTaskCreate(task);
-        }
-
+        task.setUserId(sysUser.getId());
         ExamTaskDetail examTaskDetail = examTaskApplyParam.getExamTaskDetail();
         ExamTaskDetail examTaskDetail = examTaskApplyParam.getExamTaskDetail();
+        examTaskDetail.setExamTaskId(task.getId());
         boolean isSuccess = examTaskService.saveExamTaskDetail(examTaskDetail);
         boolean isSuccess = examTaskService.saveExamTaskDetail(examTaskDetail);
         ExamTask examTask = examTaskService.getById(examTaskDetail.getExamTaskId());
         ExamTask examTask = examTaskService.getById(examTaskDetail.getExamTaskId());
         if (examTaskDetail.getOperateType().equals(ExamStatusEnum.SUBMIT.name()) && !examTask.getReview()) {
         if (examTaskDetail.getOperateType().equals(ExamStatusEnum.SUBMIT.name()) && !examTask.getReview()) {
@@ -579,6 +576,19 @@ public class ExamTaskController {
         return ResultUtil.ok(isSuccess);
         return ResultUtil.ok(isSuccess);
     }
     }
 
 
+    /**
+     * 入库申请-新建命题任务-切换题卡
+     *
+     * @param examTaskId
+     * @return
+     */
+    @ApiOperation(value = "切换题卡")
+    @RequestMapping(value = "/switch_card", method = RequestMethod.POST)
+    public Result switchCard(@RequestParam(value = "examTaskId") Long examTaskId) {
+        examTaskService.switchCard(examTaskId);
+        return ResultUtil.ok(true, "");
+    }
+
     /**
     /**
      * 查看印刷任务发布
      * 查看印刷任务发布
      *
      *
@@ -626,8 +636,8 @@ public class ExamTaskController {
     @ApiOperation(value = "卷库查询-发布印刷任务-班级列表")
     @ApiOperation(value = "卷库查询-发布印刷任务-班级列表")
     @RequestMapping(value = "/list_task_print_class", method = RequestMethod.POST)
     @RequestMapping(value = "/list_task_print_class", method = RequestMethod.POST)
     public Result listTaskPrintClass(@RequestParam(value = "printPlanId") String printPlanId,
     public Result listTaskPrintClass(@RequestParam(value = "printPlanId") String printPlanId,
-                                       @RequestParam(value = "courseCode") String courseCode,
-                                       @RequestParam(value = "paperNumber") String paperNumber) {
+                                     @RequestParam(value = "courseCode") String courseCode,
+                                     @RequestParam(value = "paperNumber") String paperNumber) {
         List<TaskPrintClassDto> classDtos = examTaskPrintService.listClass(printPlanId, courseCode, paperNumber);
         List<TaskPrintClassDto> classDtos = examTaskPrintService.listClass(printPlanId, courseCode, paperNumber);
         return ResultUtil.ok(classDtos);
         return ResultUtil.ok(classDtos);
     }
     }

+ 0 - 10
teachcloud-common/src/main/java/com/qmth/teachcloud/common/entity/BasicCourse.java

@@ -46,8 +46,6 @@ public class BasicCourse extends BaseEntity implements Serializable {
      */
      */
     private String name;
     private String name;
 
 
-    private String clazz;
-
     @ApiModelProperty(value = "是否可用")
     @ApiModelProperty(value = "是否可用")
     @TableField("enable")
     @TableField("enable")
     private Boolean enable;
     private Boolean enable;
@@ -103,12 +101,4 @@ public class BasicCourse extends BaseEntity implements Serializable {
     public void setTeachingRoomId(Long teachingRoomId) {
     public void setTeachingRoomId(Long teachingRoomId) {
         this.teachingRoomId = teachingRoomId;
         this.teachingRoomId = teachingRoomId;
     }
     }
-
-    public String getClazz() {
-        return clazz;
-    }
-
-    public void setClazz(String clazz) {
-        this.clazz = clazz;
-    }
 }
 }

+ 4 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/mapper/BasicUserCourseMapper.java

@@ -2,6 +2,9 @@ package com.qmth.teachcloud.common.mapper;
 
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.qmth.teachcloud.common.entity.BasicUserCourse;
 import com.qmth.teachcloud.common.entity.BasicUserCourse;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 
 /**
 /**
  * <p>
  * <p>
@@ -13,4 +16,5 @@ import com.qmth.teachcloud.common.entity.BasicUserCourse;
  */
  */
 public interface BasicUserCourseMapper extends BaseMapper<BasicUserCourse> {
 public interface BasicUserCourseMapper extends BaseMapper<BasicUserCourse> {
 
 
+    List<BasicUserCourse> listBySchoolIdAndCourseCode(@Param("schoolId") Long schoolId, @Param("courseCode") String courseCode);
 }
 }

+ 2 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/BasicUserCourseService.java

@@ -28,4 +28,6 @@ public interface BasicUserCourseService extends IService<BasicUserCourse> {
      * @param sysUser 执行人
      * @param sysUser 执行人
      */
      */
     void updateByCourseIdAndClazzList(Long courseId, List<String> clazzList,SysUser sysUser);
     void updateByCourseIdAndClazzList(Long courseId, List<String> clazzList,SysUser sysUser);
+
+    List<BasicUserCourse> listBySchoolIdAndCourseCode(Long schoolId, String courseCode);
 }
 }

+ 7 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicCourseServiceImpl.java

@@ -11,6 +11,7 @@ import com.qmth.teachcloud.common.bean.params.BasicCourseParams;
 import com.qmth.teachcloud.common.bean.result.BasicCourseResult;
 import com.qmth.teachcloud.common.bean.result.BasicCourseResult;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.BasicCourse;
 import com.qmth.teachcloud.common.entity.BasicCourse;
+import com.qmth.teachcloud.common.entity.BasicUserCourse;
 import com.qmth.teachcloud.common.entity.SysOrg;
 import com.qmth.teachcloud.common.entity.SysOrg;
 import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
@@ -138,6 +139,7 @@ public class BasicCourseServiceImpl extends ServiceImpl<BasicCourseMapper, Basic
             throw ExceptionResultEnum.ERROR.exception("请选择要删除的目标");
             throw ExceptionResultEnum.ERROR.exception("请选择要删除的目标");
         }
         }
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
+        basicUserCourseService.remove(new QueryWrapper<BasicUserCourse>().lambda().in(BasicUserCourse::getCourseId,idList).eq(BasicUserCourse::getSchoolId,sysUser.getSchoolId()));
 
 
         UpdateWrapper<BasicCourse> updateWrapper = new UpdateWrapper<>();
         UpdateWrapper<BasicCourse> updateWrapper = new UpdateWrapper<>();
         updateWrapper.lambda()
         updateWrapper.lambda()
@@ -235,6 +237,7 @@ public class BasicCourseServiceImpl extends ServiceImpl<BasicCourseMapper, Basic
             basicCourse.setCode(courseCode);
             basicCourse.setCode(courseCode);
             basicCourse.setTeachingRoomId(teachingRoomId);
             basicCourse.setTeachingRoomId(teachingRoomId);
             basicCourse.setSchoolId(schoolId);
             basicCourse.setSchoolId(schoolId);
+            basicCourse.setOrgId(sysUser.getOrgId());
 
 
             if (!SystemConstant.longNotNull(id)){
             if (!SystemConstant.longNotNull(id)){
                 // 没有id -》新增
                 // 没有id -》新增
@@ -244,6 +247,10 @@ public class BasicCourseServiceImpl extends ServiceImpl<BasicCourseMapper, Basic
                 basicCourse.setEnable(true);
                 basicCourse.setEnable(true);
             }else {
             }else {
                 // 有id -》 更新
                 // 有id -》 更新
+                BasicCourse old = this.getById(id);
+                if (Objects.isNull(old) || old.getEnable().equals(false)){
+                    throw ExceptionResultEnum.ERROR.exception("课程主键不存在或被禁用");
+                }
                 basicCourse.setId(id);
                 basicCourse.setId(id);
                 basicCourse.setUpdateId(sysUser.getId());
                 basicCourse.setUpdateId(sysUser.getId());
                 basicCourse.setOrgId(sysUser.getOrgId());
                 basicCourse.setOrgId(sysUser.getOrgId());

+ 5 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicUserCourseServiceImpl.java

@@ -99,4 +99,9 @@ public class BasicUserCourseServiceImpl extends ServiceImpl<BasicUserCourseMappe
         }
         }
         this.saveBatch(willAddList);
         this.saveBatch(willAddList);
     }
     }
+
+    @Override
+    public List<BasicUserCourse> listBySchoolIdAndCourseCode(Long schoolId, String courseCode) {
+        return this.baseMapper.listBySchoolIdAndCourseCode(schoolId, courseCode);
+    }
 }
 }

+ 1 - 0
teachcloud-common/src/main/resources/mapper/BasicCourseMapper.xml

@@ -66,6 +66,7 @@
             MAX(org.name) AS teachingRoomName,
             MAX(org.name) AS teachingRoomName,
             GROUP_CONCAT(buc.clazz
             GROUP_CONCAT(buc.clazz
                          SEPARATOR ',') AS clazz,
                          SEPARATOR ',') AS clazz,
+            MAX(bc.enable) as enable,
             MAX(bc.create_id) AS createId,
             MAX(bc.create_id) AS createId,
             MAX(bc.create_time) AS createTime
             MAX(bc.create_time) AS createTime
         FROM
         FROM

+ 17 - 0
teachcloud-common/src/main/resources/mapper/BasicUserCourseMapper.xml

@@ -14,5 +14,22 @@
         id,
         id,
         user_id, course_id
         user_id, course_id
     </sql>
     </sql>
+    <select id="listBySchoolIdAndCourseCode" resultType="com.qmth.teachcloud.common.entity.BasicUserCourse">
+        SELECT
+            a.id,
+            a.school_id schoolId,
+            a.org_id orgId,
+            a.user_id userId,
+            a.course_id courseId,
+            a.clazz,
+            a.create_id createId,
+            a.create_time createTime
+        FROM
+            basic_user_course a
+                LEFT JOIN
+            basic_course b ON a.course_id = b.id
+        WHERE
+            a.school_id = #{schoolId} AND b.code = #{courseCode}
+    </select>
 
 
 </mapper>
 </mapper>