Browse Source

已办任务数量修改

wangliang 2 years ago
parent
commit
1d694a92a5

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

@@ -16,7 +16,7 @@ import java.util.List;
  * @author xf
  */
 public interface ExamPaperStructureMapper extends BaseMapper<ExamPaperStructure> {
-    IPage<ExamPaperStructure> listByPropositionTeacherId(@Param("page") Page<ExamPaperStructure> page, @Param("schoolId") Long schoolId, @Param("semesterId") Long semesterId, @Param("examId") Long examId, @Param("propositionTeacherId") Long propositionTeacherId, @Param("syncStatus") String syncStatus, @Param("structureStatusEnums") String[] structureStatusEnums);
+    IPage<ExamPaperStructure> listByPropositionTeacherId(@Param("page") Page<ExamPaperStructure> page, @Param("schoolId") Long schoolId, @Param("semesterId") Long semesterId, @Param("examId") Long examId, @Param("propositionTeacherId") Long propositionTeacherId, @Param("syncStatus") String syncStatus, @Param("structureStatusEnums") String[] structureStatusEnums, @Param("ready") Boolean ready);
 
-    List<ExamPaperStructure> listByPropositionTeacherId(@Param("schoolId") Long schoolId, @Param("semesterId") Long semesterId, @Param("examId") Long examId, @Param("propositionTeacherId") Long propositionTeacherId, @Param("syncStatus") String syncStatus, @Param("structureStatusEnums") String[] structureStatusEnums);
+    List<ExamPaperStructure> listByPropositionTeacherId(@Param("schoolId") Long schoolId, @Param("semesterId") Long semesterId, @Param("examId") Long examId, @Param("propositionTeacherId") Long propositionTeacherId, @Param("syncStatus") String syncStatus, @Param("structureStatusEnums") String[] structureStatusEnums, @Param("ready") Boolean ready);
 }

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

@@ -32,7 +32,7 @@ public interface GradeInitializeMapper {
                                                  @Param("userId") Long userId,
                                                  @Param("schoolId") Long schoolId);
 
-    List<GradeInitResult> listNeedAnalyzedPaperToWork(@Param("schoolId") Long schoolId, @Param("userId") Long userId);
+    List<GradeInitResult> listNeedAnalyzedPaperToWork(@Param("schoolId") Long schoolId, @Param("userId") Long userId, @Param("status") String status, @Param("ready") Boolean ready);
 
-    IPage<GradeInitResult> listNeedAnalyzedPaperToWork(@Param("iPage") Page<GradeInitResult> iPage, @Param("schoolId") Long schoolId, @Param("userId") Long userId);
+    IPage<GradeInitResult> listNeedAnalyzedPaperToWork(@Param("iPage") Page<GradeInitResult> iPage, @Param("schoolId") Long schoolId, @Param("userId") Long userId, @Param("status") String status, @Param("ready") Boolean ready);
 }

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

@@ -22,7 +22,7 @@ import java.util.Map;
  */
 public interface ExamPaperStructureService extends IService<ExamPaperStructure> {
 
-    IPage<ExamPaperStructure> listByPropositionTeacherId(Long semesterId, Long examId, Integer pageNumber, Integer pageSize, String[] structureStatusEnums);
+    IPage<ExamPaperStructure> listByPropositionTeacherId(Long semesterId, Long examId, Integer pageNumber, Integer pageSize, String[] structureStatusEnums, Boolean ready);
 
     ExamPaperStructure upload(String examPaperStructure, String md5, String keys, MultipartFile[] files);
 
@@ -38,7 +38,7 @@ public interface ExamPaperStructureService extends IService<ExamPaperStructure>
      */
     Map<QuestionType, List<Question>> parseExamCloudPaperStruct(List<ExamCloudPaperStructDto> examCloudPaperStructDtoList);
 
-    long countByPropositionTeacherId();
+    long countByPropositionTeacherId(Boolean ready);
 
     /**
      * 评卷参数提交

+ 4 - 3
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/GradeInitializeService.java

@@ -3,6 +3,7 @@ package com.qmth.distributed.print.business.service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.qmth.distributed.print.business.bean.result.analyze.GradeInitResult;
 import com.qmth.teachcloud.common.entity.SysUser;
+import com.qmth.teachcloud.common.enums.GradeAnalyzePaperStatusEnum;
 
 /**
  * @Description: 教研分析对接-数据初始化服务实现类
@@ -20,9 +21,9 @@ public interface GradeInitializeService {
      * @param requestUser 请求的命题老师
      * @return 试卷结果
      */
-    IPage<GradeInitResult> findNeedAnalyzedPaper(Long semesterId, Long examId, String courseCode, SysUser requestUser,int pageNumber,int pageSize);
+    IPage<GradeInitResult> findNeedAnalyzedPaper(Long semesterId, Long examId, String courseCode, SysUser requestUser, int pageNumber, int pageSize);
 
-    long countByPropositionTeacherId();
+    long countByPropositionTeacherId(GradeAnalyzePaperStatusEnum status, Boolean ready);
 
-    IPage<GradeInitResult> listNeedAnalyzedPaperToWork(SysUser requestUser, Integer pageNumber, Integer pageSize);
+    IPage<GradeInitResult> listNeedAnalyzedPaperToWork(SysUser requestUser, Integer pageNumber, Integer pageSize, GradeAnalyzePaperStatusEnum status, Boolean ready);
 }

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

@@ -93,11 +93,11 @@ public class ExamPaperStructureServiceImpl extends ServiceImpl<ExamPaperStructur
     TBSyncTaskService tbSyncTaskService;
 
     @Override
-    public IPage<ExamPaperStructure> listByPropositionTeacherId(Long semesterId, Long examId, Integer pageNumber, Integer pageSize, String[] structureStatusEnums) {
+    public IPage<ExamPaperStructure> listByPropositionTeacherId(Long semesterId, Long examId, Integer pageNumber, Integer pageSize, String[] structureStatusEnums, Boolean ready) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
         Page<ExamPaperStructure> page = new Page<>(pageNumber, pageSize);
-        IPage<ExamPaperStructure> examPaperStructureIPage = this.baseMapper.listByPropositionTeacherId(page, schoolId, semesterId, examId, sysUser.getId(), ExamPrintPlanSyncStatusEnum.FINISH.name(), structureStatusEnums);
+        IPage<ExamPaperStructure> examPaperStructureIPage = this.baseMapper.listByPropositionTeacherId(page, schoolId, semesterId, examId, sysUser.getId(), ExamPrintPlanSyncStatusEnum.FINISH.name(), structureStatusEnums, ready);
         examPaperStructureIPage.getRecords().forEach(m -> {
             m.setStatusStr(ExamPaperStructureStatusEnum.INIT.equals(m.getStatus()) ? "未提交" : "已提交");
 
@@ -312,11 +312,11 @@ public class ExamPaperStructureServiceImpl extends ServiceImpl<ExamPaperStructur
     }
 
     @Override
-    public long countByPropositionTeacherId() {
+    public long countByPropositionTeacherId(Boolean ready) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
         String[] structureStatusEnums = new String[]{ExamPaperStructureStatusEnum.FINISH.name()};
-        List<ExamPaperStructure> examPaperStructureList = this.baseMapper.listByPropositionTeacherId(schoolId, null, null, sysUser.getId(), ExamPrintPlanSyncStatusEnum.FINISH.name(), structureStatusEnums);
+        List<ExamPaperStructure> examPaperStructureList = this.baseMapper.listByPropositionTeacherId(schoolId, null, null, sysUser.getId(), ExamPrintPlanSyncStatusEnum.FINISH.name(), structureStatusEnums, ready);
         return CollectionUtils.isEmpty(examPaperStructureList) ? 0 : examPaperStructureList.size();
     }
 
@@ -368,7 +368,7 @@ public class ExamPaperStructureServiceImpl extends ServiceImpl<ExamPaperStructur
             JSONArray jsonArrayPaper = JSONArray.parseArray(examTaskDetail.getPaperAttachmentIds());
             for (int i = 0; i < jsonArrayPaper.size(); i++) {
                 JSONObject object = jsonArrayPaper.getJSONObject(i);
-                if (!paperType.equals(String.valueOf(object.get("name")))){
+                if (!paperType.equals(String.valueOf(object.get("name")))) {
                     // 试卷类型不匹配跳过
                     continue;
                 }

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

@@ -15,6 +15,7 @@ import javax.annotation.Resource;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
+import java.util.Objects;
 
 /**
  * @Description: 教研分析对接-数据初始化服务实现类
@@ -51,18 +52,18 @@ public class GradeInitializeServiceImpl implements GradeInitializeService {
     }
 
     @Override
-    public long countByPropositionTeacherId() {
+    public long countByPropositionTeacherId(GradeAnalyzePaperStatusEnum status, Boolean ready) {
         SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
         Long schoolId = requestUser.getSchoolId();
         Long userId = requestUser.getId();
-        List<GradeInitResult> findNeedAnalyzedPaper = gradeInitializeMapper.listNeedAnalyzedPaperToWork(schoolId, userId);
+        List<GradeInitResult> findNeedAnalyzedPaper = gradeInitializeMapper.listNeedAnalyzedPaperToWork(schoolId, userId, Objects.nonNull(status) ? status.name() : null, ready);
         return findNeedAnalyzedPaper.isEmpty() ? 0 : findNeedAnalyzedPaper.size();
     }
 
     @Override
-    public IPage<GradeInitResult> listNeedAnalyzedPaperToWork(SysUser requestUser, Integer pageNumber, Integer pageSize) {
+    public IPage<GradeInitResult> listNeedAnalyzedPaperToWork(SysUser requestUser, Integer pageNumber, Integer pageSize, GradeAnalyzePaperStatusEnum status, Boolean ready) {
         Long schoolId = requestUser.getSchoolId();
         Long userId = requestUser.getId();
-        return gradeInitializeMapper.listNeedAnalyzedPaperToWork(new Page<>(pageNumber, pageSize), schoolId, userId);
+        return gradeInitializeMapper.listNeedAnalyzedPaperToWork(new Page<>(pageNumber, pageSize), schoolId, userId, Objects.nonNull(status) ? status.name() : null, ready);
     }
 }

+ 14 - 4
distributed-print-business/src/main/resources/mapper/ExamPaperStructureMapper.xml

@@ -66,10 +66,20 @@
             and be.id = #{examId}
         </if>
         <if test="structureStatusEnums != null and structureStatusEnums != ''">
-            AND ifnull(eps.status, 'INIT') NOT IN
-            <foreach collection="structureStatusEnums" item="item" index="index" open="(" separator="," close=")">
-                #{item}
-            </foreach>
+        <choose>
+            <when test="ready != null and ready != '' and ready == true">
+                AND eps.status IN
+                <foreach collection="structureStatusEnums" item="item" index="index" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </when>
+            <otherwise>
+                AND ifnull(eps.status, 'INIT') NOT IN
+                <foreach collection="structureStatusEnums" item="item" index="index" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </otherwise>
+        </choose>
         </if>
     </select>
 </mapper>

+ 11 - 1
distributed-print-business/src/main/resources/mapper/GradeInitializeMapper.xml

@@ -84,7 +84,17 @@
         MAX(paper_name) AS paper_name
         FROM
         grade_batch_paper
-        where status = 'SETTING_GRADE_PAPER_PARAM'
+        where  1 = 1
+        <if test="status != null and status != ''">
+            <choose>
+                <when test="ready != null and ready != '' and ready == true">
+                    and status <![CDATA[ <> ]]> #{status}
+                </when>
+                <otherwise>
+                    and status = #{status}
+                </otherwise>
+            </choose>
+        </if>
         GROUP BY school_id , paper_number , paper_type) pnpt ON et.school_id = pnpt.school_id
         AND et.paper_number = pnpt.paper_number
         AND LOCATE(pnpt.paper_type, etd.relate_paper_type)

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

@@ -52,7 +52,7 @@ public class ExamPaperStructureController {
                        @ApiParam(value = "考试ID", required = false) @RequestParam(required = false) Long examId,
                        @RequestParam @Min(SystemConstant.PAGE_NUMBER_MIN) Integer pageNumber,
                        @RequestParam @Min(SystemConstant.PAGE_SIZE_MIN) @Max(SystemConstant.PAGE_SIZE_MAX) Integer pageSize) {
-        IPage<ExamPaperStructure> examPaperStructureIPage = examPaperStructureService.listByPropositionTeacherId(semesterId, examId, pageNumber, pageSize, null);
+        IPage<ExamPaperStructure> examPaperStructureIPage = examPaperStructureService.listByPropositionTeacherId(semesterId, examId, pageNumber, pageSize, null, false);
         return ResultUtil.ok(examPaperStructureIPage);
     }
 
@@ -106,7 +106,7 @@ public class ExamPaperStructureController {
     /**
      * 设置科组长
      *
-     * @param data  data
+     * @param data data
      * @return Result
      */
     @ApiOperation(value = "设置科组长")

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

@@ -21,10 +21,7 @@ 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.ExceptionResultEnum;
-import com.qmth.teachcloud.common.enums.FlowApprovePassEnum;
-import com.qmth.teachcloud.common.enums.TaskTypeEnum;
-import com.qmth.teachcloud.common.enums.UploadFileEnum;
+import com.qmth.teachcloud.common.enums.*;
 import com.qmth.teachcloud.common.service.BasicAttachmentService;
 import com.qmth.teachcloud.common.service.BasicStudentService;
 import com.qmth.teachcloud.common.util.Result;
@@ -99,6 +96,12 @@ public class ExamTaskController {
     @Resource
     TFFlowJoinService tfFlowJoinService;
 
+    @Resource
+    ExamPaperStructureService examPaperStructureService;
+
+    @Resource
+    GradeInitializeService gradeInitializeService;
+
     /**
      * 命题任务管理-查询
      *
@@ -430,7 +433,10 @@ public class ExamTaskController {
     @ApiOperation(value = "入库审核-查询-已审核数量")
     @RequestMapping(value = "/review_list_audited_count", method = RequestMethod.POST)
     public Result taskReviewListAuditedCount() {
-        return ResultUtil.ok(examTaskService.listTaskReviewAudited(null, null, null, null, null, null, null, null, null, null, null, null, SystemConstant.PAGE_NUMBER, SystemConstant.PAGE_SIZE).getRecords().size());
+        int taskReviewAuditedCount = examTaskService.listTaskReviewAudited(null, null, null, null, null, null, null, null, null, null, null, null, SystemConstant.PAGE_NUMBER, SystemConstant.PAGE_SIZE).getRecords().size();
+        long paperCount = examPaperStructureService.countByPropositionTeacherId(true);
+        long gradeCount = gradeInitializeService.countByPropositionTeacherId(GradeAnalyzePaperStatusEnum.SETTING_GRADE_PAPER_PARAM, true);
+        return ResultUtil.ok(taskReviewAuditedCount + paperCount + gradeCount);
     }
 
     /**

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

@@ -1,12 +1,9 @@
 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.distributed.print.business.bean.params.analyze.GradeBatchPaperParam;
 import com.qmth.distributed.print.business.bean.result.EditResult;
 import com.qmth.distributed.print.business.bean.result.analyze.GradeBatchPaperResult;
-import com.qmth.distributed.print.business.entity.GradeBatch;
 import com.qmth.distributed.print.business.entity.GradeBatchPaper;
 import com.qmth.distributed.print.business.service.GradeBatchPaperService;
 import com.qmth.distributed.print.business.service.GradeBatchService;
@@ -115,7 +112,7 @@ public class GradeBatchPaperController {
     @ApiResponses({@ApiResponse(code = 200, message = "发布成功", response = EditResult.class)})
     public Result publish(@RequestParam Long batchId, @RequestParam Long gradeBatchPaperId) {
         GradeBatchPaper gradeBatchPaper = gradeBatchPaperService.getById(gradeBatchPaperId);
-        if(gradeBatchPaper == null){
+        if (gradeBatchPaper == null) {
             throw ExceptionResultEnum.ERROR.exception("没有批次课程信息");
         }
         asyncTeachCloudReportService.publish(gradeBatchPaper);

+ 8 - 7
distributed-print/src/main/java/com/qmth/distributed/print/api/WorkController.java

@@ -9,6 +9,7 @@ import com.qmth.distributed.print.business.service.ExamTaskService;
 import com.qmth.distributed.print.business.service.GradeInitializeService;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.SysUser;
+import com.qmth.teachcloud.common.enums.GradeAnalyzePaperStatusEnum;
 import com.qmth.teachcloud.common.util.Result;
 import com.qmth.teachcloud.common.util.ResultUtil;
 import com.qmth.teachcloud.common.util.ServletUtil;
@@ -72,7 +73,7 @@ public class WorkController {
     @ApiOperation(value = "阅卷待办任务-数量")
     @RequestMapping(value = "/structure/task/ready_count", method = RequestMethod.POST)
     public Result countStructure() {
-        return ResultUtil.ok(examPaperStructureService.countByPropositionTeacherId());
+        return ResultUtil.ok(examPaperStructureService.countByPropositionTeacherId(false));
     }
 
     /**
@@ -85,27 +86,27 @@ public class WorkController {
     public Result list(@RequestParam @Min(SystemConstant.PAGE_NUMBER_MIN) Integer pageNumber,
                        @RequestParam @Min(2) @Max(SystemConstant.PAGE_SIZE_MAX) Integer pageSize) {
         String[] structureStatusEnums = new String[]{ExamPaperStructureStatusEnum.FINISH.name()};
-        return ResultUtil.ok(examPaperStructureService.listByPropositionTeacherId(null, null, pageNumber, pageSize, structureStatusEnums));
+        return ResultUtil.ok(examPaperStructureService.listByPropositionTeacherId(null, null, pageNumber, pageSize, structureStatusEnums, false));
     }
 
     /**
-     * 阅卷待办任务-数量
+     * 教研待办任务-数量
      */
     @ApiOperation(value = "教研待办任务-数量")
     @RequestMapping(value = "/grade/task/ready_count", method = RequestMethod.POST)
     public Result countReport() {
-        return ResultUtil.ok(gradeInitializeService.countByPropositionTeacherId());
+        return ResultUtil.ok(gradeInitializeService.countByPropositionTeacherId(GradeAnalyzePaperStatusEnum.SETTING_GRADE_PAPER_PARAM, false));
     }
 
     /**
-     * 阅卷待办任务
+     * 教研待办任务
      */
-    @ApiOperation(value = "阅卷待办任务-列表")
+    @ApiOperation(value = "教研待办任务-列表")
     @RequestMapping(value = "/grade/task/ready", method = RequestMethod.POST)
     public Result gradeList(@RequestParam @Min(SystemConstant.PAGE_NUMBER_MIN) Integer pageNumber,
                             @RequestParam @Min(2) @Max(SystemConstant.PAGE_SIZE_MAX) Integer pageSize) {
         SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
-        return ResultUtil.ok(gradeInitializeService.listNeedAnalyzedPaperToWork(requestUser, pageNumber, pageSize));
+        return ResultUtil.ok(gradeInitializeService.listNeedAnalyzedPaperToWork(requestUser, pageNumber, pageSize, GradeAnalyzePaperStatusEnum.SETTING_GRADE_PAPER_PARAM, false));
     }
 }