瀏覽代碼

bug修改

xiaof 4 年之前
父節點
當前提交
28206acac7

+ 6 - 6
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/dto/PrintTaskDto.java

@@ -8,8 +8,8 @@ public class PrintTaskDto {
     private String examDetailId;
     private String printPlanId;
     private String printPlanName;
-    private String examStartTime;
-    private String examEndTime;
+    private Long examStartTime;
+    private Long examEndTime;
     private String courseNameCode;
     private String paperNumber;
     private String examPlace;
@@ -48,19 +48,19 @@ public class PrintTaskDto {
         this.printPlanName = printPlanName;
     }
 
-    public String getExamStartTime() {
+    public Long getExamStartTime() {
         return examStartTime;
     }
 
-    public void setExamStartTime(String examStartTime) {
+    public void setExamStartTime(Long examStartTime) {
         this.examStartTime = examStartTime;
     }
 
-    public String getExamEndTime() {
+    public Long getExamEndTime() {
         return examEndTime;
     }
 
-    public void setExamEndTime(String examEndTime) {
+    public void setExamEndTime(Long examEndTime) {
         this.examEndTime = examEndTime;
     }
 

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

@@ -11,7 +11,7 @@ import com.qmth.distributed.print.business.bean.result.ExaminationResult;
 import com.qmth.distributed.print.business.entity.ExamDetail;
 import org.apache.ibatis.annotations.Param;
 
-import java.util.Map;
+import java.util.Set;
 
 /**
  * <p>
@@ -23,7 +23,7 @@ import java.util.Map;
  */
 public interface ExamDetailMapper extends BaseMapper<ExamDetail> {
 
-    IPage<PrintTaskDto> listPrintTask(Page<PrintTaskDto> page, @Param("schoolId") Long schoolId, @Param("printPlanId") Long printPlanId, @Param("status") String status, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber, @Param("examPlace") String examPlace, @Param("examRoom") String examRoom, @Param("examStartTime") Long examStartTime, @Param("examEndTime") Long examEndTime);
+    IPage<PrintTaskDto> listPrintTask(Page<PrintTaskDto> page, @Param("schoolId") Long schoolId, @Param("printPlanId") Long printPlanId, @Param("status") String status, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber, @Param("examPlace") String examPlace, @Param("examRoom") String examRoom, @Param("examStartTime") Long examStartTime, @Param("examEndTime") Long examEndTime, @Param("orgIds") Set<Long> orgIds);
 
     IPage<ExaminationResult> findBriefPage(@Param("page") Page<ExaminationResult> page,
                                            @Param("schoolId") Long schoolId,

+ 8 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/ExamPrintPlanMapper.java

@@ -3,11 +3,15 @@ package com.qmth.distributed.print.business.mapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.qmth.distributed.print.business.bean.result.PrintPlanBrief;
 import com.qmth.distributed.print.business.bean.result.PrintPlanResult;
 import com.qmth.distributed.print.business.entity.ExamPrintPlan;
 import com.qmth.distributed.print.business.enums.PrintPlanStatusEnum;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+import java.util.Set;
+
 /**
  * <p>
  * 印刷计划管理 Mapper 接口
@@ -22,5 +26,8 @@ public interface ExamPrintPlanMapper extends BaseMapper<ExamPrintPlan> {
                                              @Param("printPlanId") Long printPlanId,
                                              @Param("status") PrintPlanStatusEnum status,
                                              @Param("startTime") Long startTime,
-                                             @Param("endTime") Long endTime);
+                                             @Param("endTime") Long endTime,
+                                             @Param("orgIds") Set<Long> orgIds);
+
+    List<PrintPlanBrief> list(@Param("schoolId") Long schoolId, @Param("orgIds") Set<Long> orgIds);
 }

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

@@ -159,7 +159,6 @@ public interface CommonService {
 
     /**
      * 根据orgId查询所有子机构ID集合
-     * @param orgId
      * @return
      */
     public Set<Long> listSubOrgIds();

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

@@ -119,7 +119,7 @@ public interface ExamDetailService extends IService<ExamDetail> {
      */
     List<String> findExamRoomDatasource();
 
-    boolean submitTask(ExamDetail examDetail);
+    boolean submitTask(ExamDetail examDetail) throws IOException;
 
     boolean taskCancel(ExamDetail examDetail);
 

+ 17 - 14
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicTemplateServiceImpl.java

@@ -11,9 +11,9 @@ import com.qmth.distributed.print.business.entity.*;
 import com.qmth.distributed.print.business.enums.CardStatusEnum;
 import com.qmth.distributed.print.business.enums.CardTypeEnum;
 import com.qmth.distributed.print.business.enums.MakeMethodEnum;
+import com.qmth.distributed.print.business.enums.TemplateTypeEnum;
 import com.qmth.distributed.print.business.mapper.BasicTemplateMapper;
 import com.qmth.distributed.print.business.service.*;
-import com.qmth.distributed.print.business.util.OssUtil;
 import com.qmth.distributed.print.business.util.ServletUtil;
 import com.qmth.distributed.print.common.contant.SystemConstant;
 import com.qmth.distributed.print.common.enums.ExceptionResultEnum;
@@ -107,19 +107,22 @@ public class BasicTemplateServiceImpl extends ServiceImpl<BasicTemplateMapper, B
         // 新增权限
         basicTemplateOrgService.saveBatch(template.getType(), template.getId(), template.getOrgIds(), template.getCreateId());
 
-        // 通用题卡,同步更新exam_card
-        BasicAttachment attachment = basicAttachmentService.getById(template.getAttachmentId());
-
-        ExamCard examCard = examCardService.getOneByTemplateId(template.getId());
-        ExamCardParams examCardParams = new ExamCardParams();
-        examCardParams.setId(examCard == null ? null : examCard.getId());
-        examCardParams.setTitle(attachment.getName());
-        examCardParams.setMakeMethod(MakeMethodEnum.SELECT);// 默认SELECT
-        examCardParams.setType(CardTypeEnum.GENERIC); // 默认GENERIC
-        examCardParams.setTemplateId(template.getId());
-        examCardParams.setStatus(CardStatusEnum.SUBMIT); // 默认SUBMIT
-        examCardParams.setHtmlContent(commonService.readFileContent(attachment.getPath()));
-        examCardService.saveExamCard(examCardParams);
+        if (TemplateTypeEnum.GENERIC.name().equals(template.getType().name())
+                && basicTemplate.getAttachmentId().longValue() != template.getAttachmentId().longValue()) {
+            // 通用题卡,同步更新exam_card
+            BasicAttachment attachment = basicAttachmentService.getById(template.getAttachmentId());
+
+            ExamCard examCard = examCardService.getOneByTemplateId(template.getId());
+            ExamCardParams examCardParams = new ExamCardParams();
+            examCardParams.setId(examCard == null ? null : examCard.getId());
+            examCardParams.setTitle(attachment.getName());
+            examCardParams.setMakeMethod(MakeMethodEnum.SELECT);// 默认SELECT
+            examCardParams.setType(CardTypeEnum.GENERIC); // 默认GENERIC
+            examCardParams.setTemplateId(template.getId());
+            examCardParams.setStatus(CardStatusEnum.SUBMIT); // 默认SUBMIT
+            examCardParams.setHtmlContent(commonService.readFileContent(attachment.getPath()));
+            examCardService.saveExamCard(examCardParams);
+        }
         return isSuccess;
     }
 

+ 5 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamDetailServiceImpl.java

@@ -2,6 +2,7 @@ package com.qmth.distributed.print.business.service.impl;
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -101,8 +102,9 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
     @Override
     public IPage<PrintTaskDto> listPrintTask(Long printPlanId, String status, String courseCode, String paperNumber, String examPlace, String examRoom, Long examStartTime, Long examEndTime, Integer pageNumber, Integer pageSize) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
+        Set<Long> orgIds = commonService.listSubOrgIds();
         Page<PrintTaskDto> page = new Page<>(pageNumber, pageSize);
-        IPage<PrintTaskDto> pirntTaskDtoIPage = this.baseMapper.listPrintTask(page, schoolId, printPlanId, status, courseCode, paperNumber, examPlace, examRoom, examStartTime, examEndTime);
+        IPage<PrintTaskDto> pirntTaskDtoIPage = this.baseMapper.listPrintTask(page, schoolId, printPlanId, status, courseCode, paperNumber, examPlace, examRoom, examStartTime, examEndTime, orgIds);
         return pirntTaskDtoIPage;
     }
 
@@ -299,10 +301,11 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
     }
 
     @Override
-    public boolean submitTask(ExamDetail examDetail) {
+    public boolean submitTask(ExamDetail examDetail) throws IOException {
         // 检查前置操作是否完成 todo
         UpdateWrapper<ExamDetail> updateWrapper = new UpdateWrapper<>();
         updateWrapper.lambda().set(ExamDetail::getStatus, ExamDetailStatusEnum.WAITING).eq(ExamDetail::getId, examDetail.getId());
+
         return this.update(updateWrapper);
     }
 

+ 13 - 8
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamPrintPlanServiceImpl.java

@@ -23,14 +23,12 @@ import com.qmth.distributed.print.common.contant.SystemConstant;
 import com.qmth.distributed.print.common.enums.ExceptionResultEnum;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -56,10 +54,14 @@ public class ExamPrintPlanServiceImpl extends ServiceImpl<ExamPrintPlanMapper, E
     @Resource
     private BasicSchoolService basicSchoolService;
 
+    @Autowired
+    private CommonService commonService;
+
     @Transactional(rollbackFor = Exception.class)
     @Override
     public IPage<PrintPlanResult> printPlanPage(Long schoolId, Long printPlanId, PrintPlanStatusEnum status, Long startTime, Long endTime, int pageNumber, int pageSize) {
-        IPage<PrintPlanResult> page = examPrintPlanMapper.findPrintPlanPage(new Page<>(pageNumber, pageSize), schoolId, printPlanId, status, startTime, endTime);
+        Set<Long> orgIds = commonService.listSubOrgIds();
+        IPage<PrintPlanResult> page = examPrintPlanMapper.findPrintPlanPage(new Page<>(pageNumber, pageSize), schoolId, printPlanId, status, startTime, endTime, orgIds);
         List<PrintPlanResult> list = page.getRecords();
         for (PrintPlanResult printPlanResult : list) {
             List<Map> variableContent = JSONObject.parseArray(printPlanResult.getVariableContentTemp(), Map.class);
@@ -78,15 +80,18 @@ public class ExamPrintPlanServiceImpl extends ServiceImpl<ExamPrintPlanMapper, E
     @Transactional(rollbackFor = Exception.class)
     @Override
     public List<PrintPlanBrief> printPlanBriefQuery() {
-        List<PrintPlanBrief> printPlanBriefList = new ArrayList<>();
+        /*List<PrintPlanBrief> printPlanBriefList = new ArrayList<>();
         List<ExamPrintPlan> examPrintPlanList = this.list();
         for (ExamPrintPlan examPrintPlan : examPrintPlanList) {
             Long id = examPrintPlan.getId();
             String name = examPrintPlan.getName();
             PrintPlanStatusEnum status = examPrintPlan.getStatus();
             printPlanBriefList.add(new PrintPlanBrief(id, name ,status));
-        }
-        return printPlanBriefList;
+        }*/
+        Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
+        Set<Long> orgIds = commonService.listSubOrgIds();
+        List<PrintPlanBrief> list = this.baseMapper.list(schoolId, orgIds);
+        return list;
     }
 
     @Transactional(rollbackFor = Exception.class)

+ 10 - 1
distributed-print-business/src/main/resources/mapper/ExamDetailMapper.xml

@@ -41,7 +41,8 @@
             b.total_subjects totalSubjects,
             ifnull(b.pages_a3, 0) pagesA3,
             ifnull(b.pages_a4, 0) pagesA4,
-            c.singlePagesA3
+            c.singlePagesA3,
+            b.status
         FROM
             exam_print_plan a
                  JOIN
@@ -63,6 +64,8 @@
                     </if>
                 </where>
             GROUP BY exam_detail_id) c ON b.id = c.exam_detail_id
+                LEFT JOIN
+            sys_user d on a.create_id = d.id
             <where>
                 <if test="printPlanId != null and printPlanId != ''">
                     a.id = #{printPlanId}
@@ -82,6 +85,12 @@
                 <if test="examEndTime != null and examEndTime != ''">
                     b.exam_end_time &lt; #{examEndTime}
                 </if>
+                <if test="orgIds != null">
+                    AND d.org_id IN
+                    <foreach collection="orgIds" item="item" index="index" open="(" separator="," close=")">
+                        #{item}
+                    </foreach>
+                </if>
             </where>
         ORDER BY a.create_time desc
     </select>

+ 42 - 20
distributed-print-business/src/main/resources/mapper/ExamPrintPlanMapper.xml

@@ -31,11 +31,11 @@
     <select id="findPrintPlanPage"
             resultType="com.qmth.distributed.print.business.bean.result.PrintPlanResult">
         SELECT
-            id,
-            name,
-            exam_start_time AS examStartTime,
-            exam_end_time AS examEndTime,
-            status,
+            a.id,
+            a.name,
+            a.exam_start_time AS examStartTime,
+            a.exam_end_time AS examEndTime,
+            a.status,
             (
             SELECT
                 COUNT(
@@ -44,34 +44,56 @@
                 exam_detail_course
             WHERE
             exam_detail_id IN ( SELECT id FROM exam_detail WHERE print_plan_id = 1 )) AS totalGates,
-            print_content AS printContent,
-            backup_method AS backupMethod,
-            backup_count AS backupCount,
-            draw_rule AS drawRule,
-            variable_content AS variableContentTemp,
-            ordinary_content AS ordinaryContentTemp,
-            create_id AS createId,
-            create_time AS createTime
+            a.print_content AS printContent,
+            a.backup_method AS backupMethod,
+            a.backup_count AS backupCount,
+            a.draw_rule AS drawRule,
+            a.variable_content AS variableContentTemp,
+            a.ordinary_content AS ordinaryContentTemp,
+            a.create_id AS createId,
+            a.create_time AS createTime
         FROM
-            exam_print_plan
+            exam_print_plan a
+                LEFT JOIN
+            sys_user b on a.create_id = b.id
         <where>
             <if test="schoolId != null and schoolId > 0">
-                and school_id = #{schoolId}
+                and a.school_id = #{schoolId}
             </if>
             <if test="printPlanId != null and printPlanId > 0">
-                and id = #{printPlanId}
+                and a.id = #{printPlanId}
             </if>
             <if test="status != null">
-                and status = #{status}
+                and a.status = #{status}
             </if>
             <if test="startTime != null and startTime > 0">
-                and create_time >= #{startTime}
+                and a.create_time >= #{startTime}
             </if>
             <if test="endTime != null and endTime > 0">
-                and #{endTime} >= create_time
+                and #{endTime} >= a.create_time
+            </if>
+            <if test="orgIds != null">
+                AND b.org_id IN
+                <foreach collection="orgIds" item="item" index="index" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+        </where>
+        ORDER BY a.update_time DESC
+    </select>
+    <select id="list" resultType="com.qmth.distributed.print.business.bean.result.PrintPlanBrief">
+        select a.id, a.name, a.status from exam_print_plan a 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="orgIds != null">
+                AND b.org_id IN
+                <foreach collection="orgIds" item="item" index="index" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
             </if>
         </where>
-        ORDER BY update_time DESC
     </select>
 
 </mapper>

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

@@ -74,7 +74,17 @@
         </where>
     </select>
     <select id="listByTemplateId" resultMap="BaseResultMap">
-        select * from exam_task_detail a
-        where exists (select 1 from exam_card b on a.card_id = b.id where b.template_id = #{templateId})
+        SELECT
+            *
+        FROM
+            exam_task_detail a
+        WHERE
+            EXISTS( SELECT
+                    1
+                FROM
+                    exam_card b
+                WHERE
+                    a.card_id = b.id
+                        AND b.template_id = #{templateId})
     </select>
 </mapper>

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

@@ -199,7 +199,7 @@ public class ExamPrintPlanController {
      */
     @ApiOperation(value = "印刷任务管理-提交印刷")
     @RequestMapping(value = "/task_submit", method = RequestMethod.POST)
-    public Result taskSubmit(@RequestBody ExamDetail examDetail) {
+    public Result taskSubmit(@RequestBody ExamDetail examDetail) throws IOException {
         boolean isSuccess = examDetailService.submitTask(examDetail);
         return ResultUtil.ok(isSuccess);
     }