Kaynağa Gözat

Merge branch 'dev_v2.2.0' into release_v2.2.0

xiaof 3 yıl önce
ebeveyn
işleme
b96bfa316c
25 değiştirilmiş dosya ile 144 ekleme ve 51 silme
  1. 2 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/ExamPrintPlanMapper.java
  2. 2 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/PrintCommonService.java
  3. 2 3
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicStudentServiceImpl.java
  4. 11 4
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamPrintPlanServiceImpl.java
  5. 1 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamTaskPrintServiceImpl.java
  6. 2 3
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/PrintCommonServiceServiceImpl.java
  7. 25 1
      distributed-print-business/src/main/resources/mapper/ExamPrintPlanMapper.xml
  8. 2 2
      distributed-print-business/src/main/resources/mapper/ExamTaskMapper.xml
  9. 2 2
      distributed-print/src/main/java/com/qmth/distributed/print/api/BasicClazzController.java
  10. 3 2
      distributed-print/src/main/java/com/qmth/distributed/print/api/BasicCourseController.java
  11. 11 4
      distributed-print/src/main/java/com/qmth/distributed/print/api/BasicStudentController.java
  12. 1 1
      distributed-print/src/main/java/com/qmth/distributed/print/api/ExamTaskController.java
  13. 10 0
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/mapper/BasicClazzMapper.java
  14. 1 0
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/mapper/BasicStudentMapper.java
  15. 3 1
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/mapper/TBTaskMapper.java
  16. 1 1
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/BasicClazzService.java
  17. 2 1
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/BasicStudentService.java
  18. 7 0
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicCampusServiceImpl.java
  19. 13 1
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicClazzServiceImpl.java
  20. 0 2
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicCourseServiceImpl.java
  21. 4 7
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/SysOrgServiceImpl.java
  22. 12 7
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/TBTaskServiceImpl.java
  23. 15 0
      teachcloud-common/src/main/resources/mapper/BasicClazzMapper.xml
  24. 3 0
      teachcloud-common/src/main/resources/mapper/BasicStudentMapper.xml
  25. 9 8
      teachcloud-common/src/main/resources/mapper/TBTaskMapper.xml

+ 2 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/ExamPrintPlanMapper.java

@@ -51,4 +51,6 @@ public interface ExamPrintPlanMapper extends BaseMapper<ExamPrintPlan> {
     ClientPrintStatisticsTotalDto clientStatisticsTotalData(@Param("schoolId") Long schoolId, @Param("printPlanId") String printPlanId, @Param("examPlace") String examPlace, @Param("examStartTime") Long examStartTime, @Param("examEndTime") Long examEndTime, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber, @Param("orgId") Long orgId, @Param("examDetailStatus") String[] examDetailStatus);
 
     List<ThirdObjectDto> listThirdObject(Long schoolId);
+
+    List<PrintPlanBrief> listToClient(@Param("schoolId") Long schoolId, @Param("source") String source, @Param("module") String module, @Param("status") String[] status, @Param("orgId") Long orgId);
 }

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

@@ -118,9 +118,10 @@ public interface PrintCommonService {
      *
      * @param param
      * @param printPlanIdList
+     * @param teachingRoomId
      * @return
      */
-    List<BasicCourse> list(String param, List<Long> printPlanIdList);
+    List<BasicCourse> list(String param, List<Long> printPlanIdList, Long teachingRoomId);
 
     /**
      * 机构禁用

+ 2 - 3
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicStudentServiceImpl.java

@@ -50,13 +50,12 @@ public class BasicStudentServiceImpl extends ServiceImpl<BasicStudentMapper, Bas
     private BasicClazzService basicClazzService;
 
     @Override
-    public IPage<BasicStudentResult> basicStudentPage(String queryParams, Set<Long> clazzIdList,int pageNumber, int pageSize) {
+    public IPage<BasicStudentResult> basicStudentPage(String queryParams,Long campusId, Set<Long> clazzIdList,int pageNumber, int pageSize) {
         Long schoolId = SystemConstant.convertIdToLong(ServletUtil.getRequestHeaderSchoolId().toString());
 //        Set<Long> orgIds = teachcloudCommonService.listSubOrgIds(null);
         Set<Long> orgIds = null;
         queryParams = SystemConstant.translateSpecificSign(queryParams);
-        // TODO: 2021/8/31 加入班级列表查询 
-        return basicStudentMapper.findBasicStudentPage(new Page<>(pageNumber, pageSize), queryParams, schoolId, clazzIdList,orgIds);
+        return basicStudentMapper.findBasicStudentPage(new Page<>(pageNumber, pageSize), queryParams, schoolId,campusId, clazzIdList,orgIds);
     }
 
     @Override

+ 11 - 4
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamPrintPlanServiceImpl.java

@@ -104,7 +104,7 @@ public class ExamPrintPlanServiceImpl extends ServiceImpl<ExamPrintPlanMapper, E
     public IPage<PrintPlanResult> printPlanSyncPage(Long schoolId, Long printPlanId, Long startTime, Long endTime, int pageNumber, int pageSize) {
         Set<Long> orgIds = teachcloudCommonService.listSubOrgIds(null);
         String[] status = {PrintPlanStatusEnum.PRINT_FINISH.name(), PrintPlanStatusEnum.END.name()};
-        IPage<PrintPlanResult> page = examPrintPlanMapper.findPrintPlanSyncPage(new Page<>(pageNumber, pageSize), schoolId,status, printPlanId, startTime, endTime, orgIds);
+        IPage<PrintPlanResult> page = examPrintPlanMapper.findPrintPlanSyncPage(new Page<>(pageNumber, pageSize), schoolId, status, printPlanId, startTime, endTime, orgIds);
         List<PrintPlanResult> list = page.getRecords();
         for (PrintPlanResult printPlanResult : list) {
             List<Map> variableContent = JSONObject.parseArray(printPlanResult.getVariableContentTemp(), Map.class);
@@ -132,9 +132,16 @@ public class ExamPrintPlanServiceImpl extends ServiceImpl<ExamPrintPlanMapper, E
             printPlanBriefList.add(new PrintPlanBrief(id, name ,status));
         }*/
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
-        Set<Long> orgIds = teachcloudCommonService.listSubOrgIds(null);
-        String[] status = {PrintPlanStatusEnum.READY.name(), PrintPlanStatusEnum.PRINTING.name(), PrintPlanStatusEnum.PRINT_FINISH.name()};
-        List<PrintPlanBrief> list = this.baseMapper.list(schoolId, source, module, status, orgIds);
+        List<PrintPlanBrief> list;
+        if ("client".equals(source)) {
+            SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
+            String[] status = {PrintPlanStatusEnum.READY.name(), PrintPlanStatusEnum.PRINTING.name(), PrintPlanStatusEnum.PRINT_FINISH.name()};
+            list = this.baseMapper.listToClient(schoolId, source, module, status, sysUser.getOrgId());
+        } else {
+            Set<Long> orgIds = teachcloudCommonService.listSubOrgIds(null);
+            String[] status = {PrintPlanStatusEnum.READY.name(), PrintPlanStatusEnum.PRINTING.name(), PrintPlanStatusEnum.PRINT_FINISH.name()};
+            list = this.baseMapper.list(schoolId, source, module, status, orgIds);
+        }
         return list;
     }
 

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

@@ -251,6 +251,7 @@ public class ExamTaskPrintServiceImpl extends ServiceImpl<ExamTaskPrintMapper, E
             taskPrint.setStudentCount(examTaskPrint.getStudentCount());
             taskPrint.setCampusId(examTaskPrint.getCampusId());
             taskPrint.setPrintHouseId(examTaskPrint.getPrintHouseId());
+            taskPrint.setExtendFields(examTaskPrint.getExtendFields());
             taskPrint.setUpdateId(sysUser.getId());
             taskPrint.setUpdateTime(System.currentTimeMillis());
             this.updateById(taskPrint);

+ 2 - 3
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/PrintCommonServiceServiceImpl.java

@@ -548,9 +548,9 @@ public class PrintCommonServiceServiceImpl implements PrintCommonService {
      * @return
      */
     @Override
-    public List<BasicCourse> list(String param, List<Long> printPlanIdList) {
+    public List<BasicCourse> list(String param, List<Long> printPlanIdList, Long teachingRoomId) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
-        Set<Long> orgIds = teachcloudCommonService.listSubOrgIds(null);
+        Set<Long> orgIds = teachcloudCommonService.listSubOrgIds(teachingRoomId);
         if (printPlanIdList.size() == 0) {
             QueryWrapper<BasicCourse> queryWrapper = new QueryWrapper<>();
             queryWrapper.lambda().eq(BasicCourse::getSchoolId, schoolId).in(BasicCourse::getTeachingRoomId, orgIds);
@@ -855,7 +855,6 @@ public class PrintCommonServiceServiceImpl implements PrintCommonService {
         if (examTask != null && !examTask.getEnable()) {
             log.info("命题任务已禁用");
             return;
-//            throw ExceptionResultEnum.ERROR.exception("命题任务已禁用");
         }
         ExamTaskDetail examTaskDetail = examTaskDetailService.getByExamTaskId(examTask.getId());
         if (!examTaskDetail.getEnable()) {

+ 25 - 1
distributed-print-business/src/main/resources/mapper/ExamPrintPlanMapper.xml

@@ -520,5 +520,29 @@
             and third_relate_id is not null
         ORDER BY third_relate_id DESC
     </select>
-
+    <select id="listToClient" resultType="com.qmth.distributed.print.business.bean.result.PrintPlanBrief">
+        SELECT DISTINCT
+            a.id, a.name, a.status
+        FROM
+            exam_print_plan a
+                LEFT JOIN
+        exam_detail c ON a.id = c.print_plan_id
+                LEFT JOIN
+            sys_user b ON a.create_id = b.id
+        <where>
+            <if test="schoolId != null and schoolId != ''">
+                and a.school_id = #{schoolId}
+            </if>
+            <if test="module == 'try'">
+                AND LOCATE('PAPER', print_content) > 0
+            </if>
+            AND a.status IN
+            <foreach collection="status" item="item" index="index" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+            <if test="orgId != null">
+                AND c.print_house_id = #{orgId}
+            </if>
+        </where>
+    </select>
 </mapper>

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

@@ -438,7 +438,7 @@
         LEFT JOIN
         exam_card f ON b.card_id = f.id
         <where>
-            (a.status = 'SUBMIT' and a.flow_id is null or (a.flow_id is not null and g.status = 'FINISH'))
+            (a.status = 'SUBMIT' and (a.flow_id is null or (a.flow_id is not null and g.status = 'FINISH')))
             <if test="schoolId != null and schoolId != ''">
                 and a.school_id = #{schoolId}
             </if>
@@ -464,7 +464,7 @@
                 and f.make_method = #{makeMethod}
             </if>
             <if test="!containsQuestionTeacher and orgIds != null">
-                AND d.org_id IN
+                AND a.org_id IN
                 <foreach collection="orgIds" item="item" index="index" open="(" separator="," close=")">
                     #{item}
                 </foreach>

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

@@ -86,7 +86,7 @@ public class BasicClazzController {
     @ApiOperation(value = "班级数据源查询")
     @RequestMapping(value = "/datasource", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = Result.class)})
-    public Result findBasicClazzList() {
-        return ResultUtil.ok(basicClazzService.findClazzDatasource());
+    public Result findBasicClazzList(@ApiParam(value = "校区主键") @RequestParam(required = false) String campusId) {
+        return ResultUtil.ok(basicClazzService.findClazzDatasource(SystemConstant.convertIdToLong(campusId)));
     }
 }

+ 3 - 2
distributed-print/src/main/java/com/qmth/distributed/print/api/BasicCourseController.java

@@ -79,12 +79,13 @@ public class BasicCourseController {
     @ApiOperation(value = "模糊查询")
     @RequestMapping(value = "/query", method = RequestMethod.POST)
     public Result query(@RequestParam(value = "param", required = false) String param,
-                        @RequestParam(value = "printPlanId", required = false) List<String> printPlanId) {
+                        @RequestParam(value = "printPlanId", required = false) List<String> printPlanId,
+                        @RequestParam(value = "teachingRoomId", required = false) Long teachingRoomId) {
         if (Objects.isNull(printPlanId)){
             printPlanId = new ArrayList<>();
         }
         List<Long> printPlanIdList = printPlanId.stream().map(SystemConstant::convertIdToLong).collect(Collectors.toList());
-        List<BasicCourse> userDtos = printCommonService.list(param, printPlanIdList);
+        List<BasicCourse> userDtos = printCommonService.list(param, printPlanIdList, teachingRoomId);
         return ResultUtil.ok(userDtos);
     }
 //

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

@@ -21,9 +21,7 @@ import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
 import javax.validation.Valid;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
+import java.util.*;
 
 /**
  * <p>
@@ -49,9 +47,18 @@ public class BasicStudentController {
     @RequestMapping(value = "/query", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = Result.class)})
     public Result findBasicStudentList(@ApiParam(value = "查询参数(学生学号或姓名)") @RequestParam(required = false) String queryParams,
+                                       @ApiParam(value = "校区主键") @RequestParam(required = false) String campusId,
+                                       @ApiParam(value = "班级主键") @RequestParam(required = false) String clazzId,
                                       @ApiParam(value = "分页页码", required = true) @RequestParam int pageNumber,
                                       @ApiParam(value = "分页数", required = true) @RequestParam int pageSize) {
-        return ResultUtil.ok(basicStudentService.basicStudentPage(queryParams,null, pageNumber, pageSize));
+        Set<Long> clazzIdSet = new HashSet<>();
+        if (SystemConstant.strNotNull(clazzId)){
+            clazzIdSet.add(SystemConstant.convertIdToLong(clazzId));
+        }else {
+            clazzIdSet = null;
+        }
+
+        return ResultUtil.ok(basicStudentService.basicStudentPage(queryParams,SystemConstant.convertIdToLong(campusId),clazzIdSet, pageNumber, pageSize));
     }
 
     @ApiOperation(value = "学生基本信息管理-新增/编辑")

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

@@ -729,7 +729,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,classIds,pageNumber,pageSize));
+        return ResultUtil.ok(basicStudentService.basicStudentPage(null,null,classIds,pageNumber,pageSize));
     }
 
     /**

+ 10 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/mapper/BasicClazzMapper.java

@@ -7,6 +7,8 @@ import com.qmth.teachcloud.common.bean.result.BasicClazzResult;
 import com.qmth.teachcloud.common.entity.BasicClazz;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+import java.util.Map;
 import java.util.Set;
 
 /**
@@ -20,4 +22,12 @@ public interface BasicClazzMapper extends BaseMapper<BasicClazz> {
                                                    @Param("queryParams") String queryParams,
                                                    @Param("schoolId") Long schoolId,
                                                    @Param("orgIds") Set<Long> orgIds);
+
+    /**
+     * 根据班级idList和学校id查询新命题任务数据
+     * @param schoolId 学校id
+     * @param clazzIds 班级idSet
+     * @return 数据
+     */
+    List<Map<Object,Object>> findExamTaskPrintByClazzIdSet(@Param("schoolId") Long schoolId,@Param("clazzIds") List<Long> clazzIds);
 }

+ 1 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/mapper/BasicStudentMapper.java

@@ -27,6 +27,7 @@ public interface BasicStudentMapper extends BaseMapper<BasicStudent> {
     IPage<BasicStudentResult> findBasicStudentPage(@Param("iPage") Page<BasicStudentResult> iPage,
                                                    @Param("queryParams") String queryParams,
                                                    @Param("schoolId") Long schoolId,
+                                                   @Param("campusId") Long campusId,
                                                    @Param("clazzIdList") Set<Long> clazzIdList,
                                                    @Param("orgIds") Set<Long> orgIds);
 }

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

@@ -7,6 +7,7 @@ import com.qmth.teachcloud.common.entity.TBTask;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.Map;
+import java.util.Set;
 
 /**
  * <p>
@@ -24,5 +25,6 @@ public interface TBTaskMapper extends BaseMapper<TBTask> {
                                        @Param("status") String status,
                                        @Param("type") String type,
                                        @Param("result") String result,
-                                       @Param("createId")Long createId);
+                                       @Param("createId") Long createId,
+                                       @Param("orgIds") Set<Long> orgIds);
 }

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

@@ -55,5 +55,5 @@ public interface BasicClazzService extends IService<BasicClazz> {
      * 查询班级下拉数据源
      * @return 班级数据源
      */
-    List<ClazzDatasourceResult> findClazzDatasource();
+    List<ClazzDatasourceResult> findClazzDatasource(Long campusId);
 }

+ 2 - 1
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/BasicStudentService.java

@@ -30,12 +30,13 @@ public interface BasicStudentService extends IService<BasicStudent> {
     /**
      * 学生基础信息分页查询
      * @param queryParams 查询参数(学生学号或姓名)
+     * @param campusId 校区主键
      * @param clazzIdList 班级主键集合
      * @param pageNumber 分页页码
      * @param pageSize 分页容量
      * @return 分页结果
      */
-    IPage<BasicStudentResult> basicStudentPage(String queryParams,Set<Long> clazzIdList, int pageNumber,int pageSize);
+    IPage<BasicStudentResult> basicStudentPage(String queryParams,Long campusId, Set<Long> clazzIdList, int pageNumber,int pageSize);
 
     /**
      * 新增/编辑 学生基础信息

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

@@ -7,10 +7,12 @@ import com.qmth.teachcloud.common.bean.params.BasicCampusParams;
 import com.qmth.teachcloud.common.bean.result.BasicCampusResult;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.BasicCampus;
+import com.qmth.teachcloud.common.entity.BasicClazz;
 import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
 import com.qmth.teachcloud.common.mapper.BasicCampusMapper;
 import com.qmth.teachcloud.common.service.BasicCampusService;
+import com.qmth.teachcloud.common.service.BasicClazzService;
 import com.qmth.teachcloud.common.util.ServletUtil;
 import org.omg.CORBA.OBJ_ADAPTER;
 import org.springframework.stereotype.Service;
@@ -32,6 +34,8 @@ import java.util.Objects;
 public class BasicCampusServiceImpl extends ServiceImpl<BasicCampusMapper, BasicCampus> implements BasicCampusService {
     @Resource
     private BasicCampusMapper basicCampusMapper;
+    @Resource
+    private BasicClazzService basicClazzService;
 
     @Override
     public List<BasicCampusResult> basicCampusList(Long schoolId) {
@@ -97,6 +101,9 @@ public class BasicCampusServiceImpl extends ServiceImpl<BasicCampusMapper, Basic
     @Override
     public Boolean removeBasicCampusById(Long id) {
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
+        if (basicClazzService.list(new QueryWrapper<BasicClazz>().lambda().eq(BasicClazz::getCampusId,id)).size() > 0){
+            throw ExceptionResultEnum.ERROR.exception("课程中绑定了要删除的校区,无法删除");
+        }
 
         UpdateWrapper<BasicCampus> updateWrapper = new UpdateWrapper<>();
         updateWrapper.lambda().set(BasicCampus::getEnable,false)

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

@@ -10,6 +10,7 @@ import com.qmth.teachcloud.common.bean.dto.excel.DescribeImportDto;
 import com.qmth.teachcloud.common.bean.params.BasicClazzParams;
 import com.qmth.teachcloud.common.bean.result.BasicClazzResult;
 import com.qmth.teachcloud.common.bean.result.ClazzDatasourceResult;
+import com.qmth.teachcloud.common.contant.SpringContextHolder;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.*;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
@@ -67,10 +68,20 @@ public class BasicClazzServiceImpl extends ServiceImpl<BasicClazzMapper, BasicCl
     @Transactional(rollbackFor = Exception.class)
     @Override
     public Boolean removeBasicClazzBatch(List<Long> idList) {
+        Long schoolId = SystemConstant.convertIdToLong(ServletUtil.getRequestHeaderSchoolId().toString());
         if (idList.size() == 0) {
             throw ExceptionResultEnum.ERROR.exception("请选择要删除的目标");
         }
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
+        // 业务处理 - 判断'exam_task_print'表中是否已经选中该班级
+        List<Map<Object,Object>> mapList = basicClazzMapper.findExamTaskPrintByClazzIdSet(schoolId,idList);
+        if (mapList.size() > 0){
+            StringBuilder clazzNames = new StringBuilder();
+            for (Map<Object, Object> map : mapList) {
+                clazzNames.append(map.get("clazzName")).append(",");
+            }
+            throw ExceptionResultEnum.ERROR.exception("【班级】 : " + clazzNames.substring(0,clazzNames.length() - 1) + "生成了考务文件,无法删除");
+        }
 
         // 异常处理
         String errorStudent = "";
@@ -184,10 +195,11 @@ public class BasicClazzServiceImpl extends ServiceImpl<BasicClazzMapper, BasicCl
     }
 
     @Override
-    public List<ClazzDatasourceResult> findClazzDatasource() {
+    public List<ClazzDatasourceResult> findClazzDatasource(Long campusId) {
         Long schoolId = SystemConstant.convertIdToLong(ServletUtil.getRequestHeaderSchoolId().toString());
         return this.list(new QueryWrapper<BasicClazz>().lambda()
                 .eq(BasicClazz::getEnable, true)
+                .eq(BasicClazz::getCampusId, campusId)
                 .eq(BasicClazz::getSchoolId, schoolId)).stream()
                 .map(e -> {
                     ClazzDatasourceResult clazzDatasourceResult = new ClazzDatasourceResult();

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

@@ -18,14 +18,12 @@ import com.qmth.teachcloud.common.enums.OrgTypeEnum;
 import com.qmth.teachcloud.common.mapper.BasicCourseMapper;
 import com.qmth.teachcloud.common.service.*;
 import com.qmth.teachcloud.common.util.ServletUtil;
-import org.checkerframework.checker.units.qual.C;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.LinkedMultiValueMap;
 
 import javax.annotation.Resource;
 import java.util.*;
-import java.util.stream.Collectors;
 
 /**
  * <p>

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

@@ -301,12 +301,9 @@ public class SysOrgServiceImpl extends ServiceImpl<SysOrgMapper, SysOrg> impleme
 
     @Override
     public List<SysOrg> findDeepByOrgIdAndType(OrgTypeEnum orgTypeEnum) {
-        Set<Long> orgIds = teachcloudCommonService.listSubOrgIds(null);
-        List<SysOrg> sysOrgList = new ArrayList<>();
-        if (orgIds.size() > 0) {
-            sysOrgList = this.list(new QueryWrapper<SysOrg>().lambda().eq(SysOrg::getType, orgTypeEnum).eq(SysOrg::getEnable, true)
-                    .in(SysOrg::getId, orgIds));
-        }
-        return sysOrgList;
+        Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
+
+        return this.list(new QueryWrapper<SysOrg>().lambda().eq(SysOrg::getType, orgTypeEnum).eq(SysOrg::getEnable, true)
+                .in(SysOrg::getSchoolId, schoolId));
     }
 }

+ 12 - 7
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/TBTaskServiceImpl.java

@@ -1,22 +1,21 @@
 package com.qmth.teachcloud.common.service.impl;
 
-import com.alibaba.fastjson.JSONArray;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qmth.boot.api.exception.ApiException;
 import com.qmth.teachcloud.common.bean.params.ArraysParams;
 import com.qmth.teachcloud.common.bean.result.TaskListResult;
-import com.qmth.teachcloud.common.config.DictionaryConfig;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.BasicAttachment;
 import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.entity.TBTask;
-import com.qmth.teachcloud.common.enums.*;
+import com.qmth.teachcloud.common.enums.TaskResultEnum;
+import com.qmth.teachcloud.common.enums.TaskStatusEnum;
+import com.qmth.teachcloud.common.enums.TaskTypeEnum;
 import com.qmth.teachcloud.common.mapper.TBTaskMapper;
-import com.qmth.teachcloud.common.service.BasicAttachmentService;
-import com.qmth.teachcloud.common.service.SysUserService;
 import com.qmth.teachcloud.common.service.TBTaskService;
+import com.qmth.teachcloud.common.service.TeachcloudCommonService;
 import com.qmth.teachcloud.common.util.JacksonUtil;
 import com.qmth.teachcloud.common.util.ResultUtil;
 import com.qmth.teachcloud.common.util.ServletUtil;
@@ -27,7 +26,6 @@ import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
-import java.io.IOException;
 import java.util.*;
 
 /**
@@ -42,6 +40,9 @@ import java.util.*;
 public class TBTaskServiceImpl extends ServiceImpl<TBTaskMapper, TBTask> implements TBTaskService {
     private final static Logger log = LoggerFactory.getLogger(TBTaskServiceImpl.class);
 
+    @Resource
+    private TeachcloudCommonService teachcloudCommonService;
+
     @Resource
     TBTaskMapper tbTaskMapper;
 
@@ -200,7 +201,11 @@ public class TBTaskServiceImpl extends ServiceImpl<TBTaskMapper, TBTask> impleme
     @Override
     public IPage<TaskListResult> query(IPage<Map> iPage, Long schoolId, Long printPlanId, TaskStatusEnum status, TaskTypeEnum type, TaskResultEnum result) {
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
-        return tbTaskMapper.query(iPage, schoolId, printPlanId, Objects.nonNull(status) ? status.name() : null, Objects.nonNull(type) ? type.name() : null, Objects.nonNull(result) ? result.name() : null, sysUser.getId());
+        Set<Long> orgIds = null;
+        if (TaskTypeEnum.CREATE_PDF.equals(type)) {
+            orgIds = teachcloudCommonService.listSubOrgIds(null);
+        }
+        return tbTaskMapper.query(iPage, schoolId, printPlanId, Objects.nonNull(status) ? status.name() : null, Objects.nonNull(type) ? type.name() : null, Objects.nonNull(result) ? result.name() : null, sysUser.getId(), orgIds);
     }
 
     /**

+ 15 - 0
teachcloud-common/src/main/resources/mapper/BasicClazzMapper.xml

@@ -37,4 +37,19 @@
         </where>
         ORDER BY clz.create_time DESC
     </select>
+    <select id="findExamTaskPrintByClazzIdSet" resultType="java.util.Map">
+        SELECT
+            id, class_id AS clazzId, class_name AS clazzName
+        FROM
+            exam_task_print
+        <where>
+            AND school_id = #{schoolId}
+            <if test="clazzIds != null">
+                AND class_id IN
+                <foreach collection="clazzIds" item="item" index="index" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+        </where>
+    </select>
 </mapper>

+ 3 - 0
teachcloud-common/src/main/resources/mapper/BasicStudentMapper.xml

@@ -51,6 +51,9 @@
             <if test="schoolId != null and schoolId > 0">
                 and stu.school_id = #{schoolId}
             </if>
+            <if test="campusId != null and campusId > 0">
+                and stu.campus_Id = #{campusId}
+            </if>
             <if test="clazzIdList != null">
                 AND stu.clazz_id IN
                 <foreach collection="clazzIdList" item="item" index="index" open="(" separator="," close=")">

+ 9 - 8
teachcloud-common/src/main/resources/mapper/TBTaskMapper.xml

@@ -12,13 +12,7 @@
             tbt.`result`,
             tbt.create_time as createTime,
             tbt.create_id as createId,
-            (
-            select
-            t.real_name
-            from
-            sys_user t
-            where
-            t.id = tbt.create_id) as createName,
+            su.real_name as createName,
             if(ISNULL(tbt.result_file_path),false,true) as hasResultFile,
             if(ISNULL(tbt.report_file_path),false,true) as hasReportFile,
             tbt.reset_count as resetCount,
@@ -27,6 +21,7 @@
             t_b_task tbt
             left join exam_print_plan epp on
             epp.id = tbt.print_plan_id
+            left join sys_user su on su.id = tbt.create_id
             <where>
                 <if test="schoolId != null and schoolId != ''">
                     and tbt.school_id = #{schoolId}
@@ -43,7 +38,13 @@
                 <if test="result != null and result != ''">
                     and tbt.result = #{result}
                 </if>
-                <if test="createId != null and createId != ''">
+                <if test="orgIds != null">
+                    AND su.org_id IN
+                    <foreach collection="orgIds" item="item" index="index" open="(" separator="," close=")">
+                        #{item}
+                    </foreach>
+                </if>
+                <if test="orgIds == null and createId != null and createId != ''">
                     and tbt.create_id = #{createId}
                 </if>
             </where>