xiaof 3 年之前
父节点
当前提交
343111fe41

+ 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);
     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<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 param
      * @param printPlanIdList
      * @param printPlanIdList
+     * @param teachingRoomId
      * @return
      * @return
      */
      */
-    List<BasicCourse> list(String param, List<Long> printPlanIdList);
+    List<BasicCourse> list(String param, List<Long> printPlanIdList, Long teachingRoomId);
 
 
     /**
     /**
      * 机构禁用
      * 机构禁用

+ 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) {
     public IPage<PrintPlanResult> printPlanSyncPage(Long schoolId, Long printPlanId, Long startTime, Long endTime, int pageNumber, int pageSize) {
         Set<Long> orgIds = teachcloudCommonService.listSubOrgIds(null);
         Set<Long> orgIds = teachcloudCommonService.listSubOrgIds(null);
         String[] status = {PrintPlanStatusEnum.PRINT_FINISH.name(), PrintPlanStatusEnum.END.name()};
         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();
         List<PrintPlanResult> list = page.getRecords();
         for (PrintPlanResult printPlanResult : list) {
         for (PrintPlanResult printPlanResult : list) {
             List<Map> variableContent = JSONObject.parseArray(printPlanResult.getVariableContentTemp(), Map.class);
             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));
             printPlanBriefList.add(new PrintPlanBrief(id, name ,status));
         }*/
         }*/
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
         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;
         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.setStudentCount(examTaskPrint.getStudentCount());
             taskPrint.setCampusId(examTaskPrint.getCampusId());
             taskPrint.setCampusId(examTaskPrint.getCampusId());
             taskPrint.setPrintHouseId(examTaskPrint.getPrintHouseId());
             taskPrint.setPrintHouseId(examTaskPrint.getPrintHouseId());
+            taskPrint.setExtendFields(examTaskPrint.getExtendFields());
             taskPrint.setUpdateId(sysUser.getId());
             taskPrint.setUpdateId(sysUser.getId());
             taskPrint.setUpdateTime(System.currentTimeMillis());
             taskPrint.setUpdateTime(System.currentTimeMillis());
             this.updateById(taskPrint);
             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
      * @return
      */
      */
     @Override
     @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());
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
-        Set<Long> orgIds = teachcloudCommonService.listSubOrgIds(null);
+        Set<Long> orgIds = teachcloudCommonService.listSubOrgIds(teachingRoomId);
         if (printPlanIdList.size() == 0) {
         if (printPlanIdList.size() == 0) {
             QueryWrapper<BasicCourse> queryWrapper = new QueryWrapper<>();
             QueryWrapper<BasicCourse> queryWrapper = new QueryWrapper<>();
             queryWrapper.lambda().eq(BasicCourse::getSchoolId, schoolId).in(BasicCourse::getTeachingRoomId, orgIds);
             queryWrapper.lambda().eq(BasicCourse::getSchoolId, schoolId).in(BasicCourse::getTeachingRoomId, orgIds);
@@ -855,7 +855,6 @@ public class PrintCommonServiceServiceImpl implements PrintCommonService {
         if (examTask != null && !examTask.getEnable()) {
         if (examTask != null && !examTask.getEnable()) {
             log.info("命题任务已禁用");
             log.info("命题任务已禁用");
             return;
             return;
-//            throw ExceptionResultEnum.ERROR.exception("命题任务已禁用");
         }
         }
         ExamTaskDetail examTaskDetail = examTaskDetailService.getByExamTaskId(examTask.getId());
         ExamTaskDetail examTaskDetail = examTaskDetailService.getByExamTaskId(examTask.getId());
         if (!examTaskDetail.getEnable()) {
         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
             and third_relate_id is not null
         ORDER BY third_relate_id DESC
         ORDER BY third_relate_id DESC
     </select>
     </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>
 </mapper>

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

@@ -438,7 +438,7 @@
         LEFT JOIN
         LEFT JOIN
         exam_card f ON b.card_id = f.id
         exam_card f ON b.card_id = f.id
         <where>
         <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 != ''">
             <if test="schoolId != null and schoolId != ''">
                 and a.school_id = #{schoolId}
                 and a.school_id = #{schoolId}
             </if>
             </if>
@@ -464,7 +464,7 @@
                 and f.make_method = #{makeMethod}
                 and f.make_method = #{makeMethod}
             </if>
             </if>
             <if test="!containsQuestionTeacher and orgIds != null">
             <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=")">
                 <foreach collection="orgIds" item="item" index="index" open="(" separator="," close=")">
                     #{item}
                     #{item}
                 </foreach>
                 </foreach>

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

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

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

+ 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;
 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.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qmth.boot.api.exception.ApiException;
 import com.qmth.boot.api.exception.ApiException;
 import com.qmth.teachcloud.common.bean.params.ArraysParams;
 import com.qmth.teachcloud.common.bean.params.ArraysParams;
 import com.qmth.teachcloud.common.bean.result.TaskListResult;
 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.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.BasicAttachment;
 import com.qmth.teachcloud.common.entity.BasicAttachment;
 import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.entity.TBTask;
 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.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.TBTaskService;
+import com.qmth.teachcloud.common.service.TeachcloudCommonService;
 import com.qmth.teachcloud.common.util.JacksonUtil;
 import com.qmth.teachcloud.common.util.JacksonUtil;
 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;
@@ -27,7 +26,6 @@ import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.multipart.MultipartFile;
 import org.springframework.web.multipart.MultipartFile;
 
 
 import javax.annotation.Resource;
 import javax.annotation.Resource;
-import java.io.IOException;
 import java.util.*;
 import java.util.*;
 
 
 /**
 /**
@@ -42,6 +40,9 @@ import java.util.*;
 public class TBTaskServiceImpl extends ServiceImpl<TBTaskMapper, TBTask> implements TBTaskService {
 public class TBTaskServiceImpl extends ServiceImpl<TBTaskMapper, TBTask> implements TBTaskService {
     private final static Logger log = LoggerFactory.getLogger(TBTaskServiceImpl.class);
     private final static Logger log = LoggerFactory.getLogger(TBTaskServiceImpl.class);
 
 
+    @Resource
+    private TeachcloudCommonService teachcloudCommonService;
+
     @Resource
     @Resource
     TBTaskMapper tbTaskMapper;
     TBTaskMapper tbTaskMapper;
 
 
@@ -200,7 +201,11 @@ public class TBTaskServiceImpl extends ServiceImpl<TBTaskMapper, TBTask> impleme
     @Override
     @Override
     public IPage<TaskListResult> query(IPage<Map> iPage, Long schoolId, Long printPlanId, TaskStatusEnum status, TaskTypeEnum type, TaskResultEnum result) {
     public IPage<TaskListResult> query(IPage<Map> iPage, Long schoolId, Long printPlanId, TaskStatusEnum status, TaskTypeEnum type, TaskResultEnum result) {
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
         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);
     }
     }
 
 
     /**
     /**

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

@@ -12,13 +12,7 @@
             tbt.`result`,
             tbt.`result`,
             tbt.create_time as createTime,
             tbt.create_time as createTime,
             tbt.create_id as createId,
             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.result_file_path),false,true) as hasResultFile,
             if(ISNULL(tbt.report_file_path),false,true) as hasReportFile,
             if(ISNULL(tbt.report_file_path),false,true) as hasReportFile,
             tbt.reset_count as resetCount,
             tbt.reset_count as resetCount,
@@ -27,6 +21,7 @@
             t_b_task tbt
             t_b_task tbt
             left join exam_print_plan epp on
             left join exam_print_plan epp on
             epp.id = tbt.print_plan_id
             epp.id = tbt.print_plan_id
+            left join sys_user su on su.id = tbt.create_id
             <where>
             <where>
                 <if test="schoolId != null and schoolId != ''">
                 <if test="schoolId != null and schoolId != ''">
                     and tbt.school_id = #{schoolId}
                     and tbt.school_id = #{schoolId}
@@ -43,7 +38,13 @@
                 <if test="result != null and result != ''">
                 <if test="result != null and result != ''">
                     and tbt.result = #{result}
                     and tbt.result = #{result}
                 </if>
                 </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}
                     and tbt.create_id = #{createId}
                 </if>
                 </if>
             </where>
             </where>