Browse Source

fix:印刷任务管理页面列表增加印刷室字段及检索条件支持按印刷室检索。

caozixuan 3 years ago
parent
commit
ed58d02107

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

@@ -1,5 +1,9 @@
 package com.qmth.distributed.print.business.bean.dto;
 
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import io.swagger.annotations.ApiModelProperty;
+
 /**
  * @Date: 2021/3/29.
  */
@@ -25,6 +29,16 @@ public class PrintTaskDto {
     private String packageCode;
     private Boolean normal;
 
+    @JsonSerialize(using = ToStringSerializer.class)
+    @ApiModelProperty(value = "印刷室id")
+    private Long printingHouseId;
+
+    @ApiModelProperty(value = "印刷室编号")
+    private String printingHouseCode;
+
+    @ApiModelProperty(value = "印刷室名称")
+    private String printingHouseName;
+
     public String getExamDetailId() {
         return examDetailId;
     }
@@ -176,4 +190,28 @@ public class PrintTaskDto {
     public void setNormal(Boolean normal) {
         this.normal = normal;
     }
+
+    public Long getPrintingHouseId() {
+        return printingHouseId;
+    }
+
+    public void setPrintingHouseId(Long printingHouseId) {
+        this.printingHouseId = printingHouseId;
+    }
+
+    public String getPrintingHouseCode() {
+        return printingHouseCode;
+    }
+
+    public void setPrintingHouseCode(String printingHouseCode) {
+        this.printingHouseCode = printingHouseCode;
+    }
+
+    public String getPrintingHouseName() {
+        return printingHouseName;
+    }
+
+    public void setPrintingHouseName(String printingHouseName) {
+        this.printingHouseName = printingHouseName;
+    }
 }

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

@@ -24,7 +24,19 @@ import java.util.Set;
  */
 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, @Param("printStartTime") Long printStartTime, @Param("printEndTime") Long printEndTime, @Param("orgIds") Set<Long> orgIds);
+    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("printStartTime") Long printStartTime,
+                                      @Param("printEndTime") Long printEndTime,
+                                      @Param("printingHouseId") Long printingHouseId,
+                                      @Param("orgIds") Set<Long> orgIds);
 
     IPage<ExaminationResult> findBriefPage(@Param("page") Page<ExaminationResult> page,
                                            @Param("schoolId") Long schoolId,
@@ -51,15 +63,37 @@ public interface ExamDetailMapper extends BaseMapper<ExamDetail> {
                                                   @Param("orgIds") Set<Long> orgIds);
 
     IPage<ExaminationDetailResult> findDetailPageById(@Param("page") Page<ExaminationDetailResult> page,
-                                                  @Param("examDetailId") Long examDetailId);
+                                                      @Param("examDetailId") Long examDetailId);
 
-    PrintTaskTotalDto taskTotalData(@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("printStartTime") Long printStartTime, @Param("printEndTime") Long printEndTime, @Param("orgIds") Set<Long> orgIds);
+    PrintTaskTotalDto taskTotalData(@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("printStartTime") Long printStartTime,
+                                    @Param("printEndTime") Long printEndTime,
+                                    @Param("printingHouseId") Long printingHouseId,
+                                    @Param("orgIds") Set<Long> orgIds);
 
     IPage<ClientExamStudentDto> listClientExamStudentPage(Page<ClientExamStudentDto> page, @Param("schoolId") Long schoolId, @Param("examDetailId") Long examDetailId, @Param("ticketNumber") String ticketNumber, @Param("studentName") String studentName, @Param("courseCode") String courseCode);
 
     List<Map> listStudentByExamDetailId(@Param("schoolId") Long schoolId, @Param("examDetailId") Long examDetailId, @Param("ticketNumber") String ticketNumber, @Param("type") String type);
 
-    Integer selectPaperCount(@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);
+    Integer selectPaperCount(@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("printingHouseId") Long printingHouseId,
+                             @Param("orgIds") Set<Long> orgIds);
 
     List<ExamDetailCourse> listSyncPaperNumberByPrintPlanId(Long printPlanId);
 }

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

@@ -41,9 +41,9 @@ public interface ExamDetailService extends IService<ExamDetail> {
      */
     double calculateTotalPackages(Long printPlanId);
 
-    IPage<PrintTaskDto> listPrintTask(Long printPlanId, String status, String courseCode, String paperNumber, String examPlace, String examRoom, Long examStartTime, Long examEndTime, Long printStartTime, Long printEndTime, Integer pageNumber, Integer pageSize);
+    IPage<PrintTaskDto> listPrintTask(Long printPlanId, String status, String courseCode, String paperNumber, String examPlace, String examRoom, Long examStartTime, Long examEndTime, Long printStartTime, Long printEndTime,Long printingHouseId, Integer pageNumber, Integer pageSize);
 
-    PrintTaskTotalDto taskTotalData(Long printPlanId, String status, String courseCode, String paperNumber, String examPlace, String examRoom, Long examStartTime, Long examEndTime, Long printStartTime, Long printEndTime);
+    PrintTaskTotalDto taskTotalData(Long printPlanId, String status, String courseCode, String paperNumber, String examPlace, String examRoom, Long examStartTime, Long examEndTime, Long printStartTime, Long printEndTime,Long printingHouseId);
 
     String taskViewPDF(Long examDetailId);
 

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

@@ -124,23 +124,23 @@ 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, Long printStartTime, Long printEndTime, Integer pageNumber, Integer pageSize) {
+    public IPage<PrintTaskDto> listPrintTask(Long printPlanId, String status, String courseCode, String paperNumber, String examPlace, String examRoom, Long examStartTime, Long examEndTime, Long printStartTime, Long printEndTime,Long printingHouseId, Integer pageNumber, Integer pageSize) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
         Set<Long> orgIds = teachcloudCommonService.listSubOrgIds(null);
         Page<PrintTaskDto> page = new Page<>(pageNumber, pageSize);
-        IPage<PrintTaskDto> pirntTaskDtoIPage = this.baseMapper.listPrintTask(page, schoolId, printPlanId, status, courseCode, paperNumber, examPlace, examRoom, examStartTime, examEndTime,printStartTime, printEndTime,  orgIds);
+        IPage<PrintTaskDto> pirntTaskDtoIPage = this.baseMapper.listPrintTask(page, schoolId, printPlanId, status, courseCode, paperNumber, examPlace, examRoom, examStartTime, examEndTime,printStartTime, printEndTime,printingHouseId,  orgIds);
         return pirntTaskDtoIPage;
     }
 
     @Override
-    public PrintTaskTotalDto taskTotalData(Long printPlanId, String status, String courseCode, String paperNumber, String examPlace, String examRoom, Long examStartTime, Long examEndTime, Long printStartTime, Long printEndTime) {
+    public PrintTaskTotalDto taskTotalData(Long printPlanId, String status, String courseCode, String paperNumber, String examPlace, String examRoom, Long examStartTime, Long examEndTime, Long printStartTime, Long printEndTime,Long printingHouseId) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
         Set<Long> orgIds = teachcloudCommonService.listSubOrgIds(null);
-        PrintTaskTotalDto printTaskTotalDto = this.baseMapper.taskTotalData(schoolId, printPlanId, status, courseCode, paperNumber, examPlace, examRoom, examStartTime, examEndTime, printStartTime, printEndTime, orgIds);
+        PrintTaskTotalDto printTaskTotalDto = this.baseMapper.taskTotalData(schoolId, printPlanId, status, courseCode, paperNumber, examPlace, examRoom, examStartTime, examEndTime, printStartTime, printEndTime,printingHouseId, orgIds);
 
         if (printTaskTotalDto != null) {
             // 试卷总计
-            Integer paperCount = this.baseMapper.selectPaperCount(schoolId, printPlanId, status, courseCode, paperNumber, examPlace, examRoom, examStartTime, examEndTime, orgIds);
+            Integer paperCount = this.baseMapper.selectPaperCount(schoolId, printPlanId, status, courseCode, paperNumber, examPlace, examRoom, examStartTime, examEndTime,printingHouseId, orgIds);
             printTaskTotalDto.setPaperCount(paperCount == null ? 0 : paperCount.intValue());
         }
         return printTaskTotalDto;

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

@@ -45,7 +45,10 @@
             b.validate,
             b.print_start_time printStartTime,
             b.print_end_time printEndTime,
-            b.normal
+            b.normal,
+            b.print_house_id as printingHouseId,
+            e.name as printingHouseName,
+            e.code as printingHouseCode
         FROM
             exam_print_plan a
                  JOIN
@@ -69,6 +72,8 @@
             GROUP BY exam_detail_id) c ON b.id = c.exam_detail_id
                 LEFT JOIN
             sys_user d on a.create_id = d.id
+                LEFT JOIN
+            sys_org e ON b.print_house_id = e.id
             <where>
                 <if test="schoolId != null and schoolId != ''">
                     and a.school_id = #{schoolId}
@@ -97,6 +102,9 @@
                 <if test="printEndTime != null and printEndTime != ''">
                     and b.print_start_time &lt; #{printEndTime}
                 </if>
+                <if test="printingHouseId != null and printingHouseId != ''">
+                    and b.print_house_id = #{printingHouseId}
+                </if>
                 <if test="orgIds != null">
                     AND d.org_id IN
                     <foreach collection="orgIds" item="item" index="index" open="(" separator="," close=")">
@@ -325,6 +333,9 @@
             <if test="printEndTime != null and printEndTime != ''">
                 and b.print_start_time &lt; #{printEndTime}
             </if>
+            <if test="printingHouseId != null and printingHouseId != ''">
+                and b.print_house_id = #{printingHouseId}
+            </if>
             <if test="orgIds != null">
                 AND d.org_id IN
                 <foreach collection="orgIds" item="item" index="index" open="(" separator="," close=")">
@@ -422,6 +433,9 @@
             <if test="examEndTime != null and examEndTime != ''">
                 and b.exam_end_time &lt; #{examEndTime}
             </if>
+            <if test="printingHouseId != null and printingHouseId != ''">
+                and b.print_house_id = #{printingHouseId}
+            </if>
             <if test="orgIds != null">
                 AND d.org_id IN
                 <foreach collection="orgIds" item="item" index="index" open="(" separator="," close=")">

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

@@ -199,6 +199,7 @@ public class ExamPrintPlanController {
      * @param examPlace
      * @param examStartTime
      * @param examEndTime
+     * @param printingHouseId 印刷室id
      * @param pageNumber
      * @param pageSize
      * @return
@@ -215,9 +216,10 @@ public class ExamPrintPlanController {
                            @RequestParam(value = "examEndTime", required = false) Long examEndTime,
                            @RequestParam(value = "printStartTime", required = false) Long printStartTime,
                            @RequestParam(value = "printEndTime", required = false) Long printEndTime,
+                           @RequestParam(value = "printingHouseId", required = false) String printingHouseId,
                            @RequestParam @Min(SystemConstant.PAGE_NUMBER_MIN) Integer pageNumber,
                            @RequestParam @Min(SystemConstant.PAGE_SIZE_MIN) @Max(SystemConstant.PAGE_SIZE_MAX) Integer pageSize) {
-        IPage<PrintTaskDto> examTasks = examDetailService.listPrintTask(printPlanId, status, courseCode, paperNumber, examPlace, examRoom, examStartTime, examEndTime, printStartTime, printEndTime, pageNumber, pageSize);
+        IPage<PrintTaskDto> examTasks = examDetailService.listPrintTask(printPlanId, status, courseCode, paperNumber, examPlace, examRoom, examStartTime, examEndTime, printStartTime, printEndTime,SystemConstant.convertIdToLong(printingHouseId), pageNumber, pageSize);
         return ResultUtil.ok(examTasks);
     }
 
@@ -285,8 +287,9 @@ public class ExamPrintPlanController {
                                 @RequestParam(value = "examStartTime", required = false) Long examStartTime,
                                 @RequestParam(value = "examEndTime", required = false) Long examEndTime,
                                 @RequestParam(value = "printStartTime", required = false) Long printStartTime,
-                                @RequestParam(value = "printEndTime", required = false) Long printEndTime) {
-        PrintTaskTotalDto printTaskTotalDto = examDetailService.taskTotalData(printPlanId, status, courseCode, paperNumber, examPlace, examRoom, examStartTime, examEndTime, printStartTime, printEndTime);
+                                @RequestParam(value = "printEndTime", required = false) Long printEndTime,
+                                @RequestParam(value = "printingHouseId", required = false) String printingHouseId) {
+        PrintTaskTotalDto printTaskTotalDto = examDetailService.taskTotalData(printPlanId, status, courseCode, paperNumber, examPlace, examRoom, examStartTime, examEndTime, printStartTime, printEndTime,SystemConstant.convertIdToLong(printingHouseId));
         return ResultUtil.ok(printTaskTotalDto);
     }