فهرست منبع

3.1.0-同步教研分析

xiaof 3 سال پیش
والد
کامیت
1115e2ee7e

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

@@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.qmth.distributed.print.business.bean.result.analyze.GradeInitResult;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 /**
  * @Description: 教研分析-试卷初始化页面(老师)
  * @Author: CaoZixuan
@@ -29,4 +31,8 @@ public interface GradeInitializeMapper {
                                                  @Param("courseCode") String courseCode,
                                                  @Param("userId") Long userId,
                                                  @Param("schoolId") Long schoolId);
+
+    List<GradeInitResult> listNeedAnalyzedPaperToWork(@Param("schoolId") Long schoolId, @Param("userId") Long userId);
+
+    IPage<GradeInitResult> listNeedAnalyzedPaperToWork(@Param("iPage") Page<GradeInitResult> iPage, @Param("schoolId") Long schoolId, @Param("userId") Long userId);
 }

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

@@ -21,4 +21,8 @@ public interface GradeInitializeService {
      * @return 试卷结果
      */
     IPage<GradeInitResult> findNeedAnalyzedPaper(Long semesterId, Long examId, String courseCode, SysUser requestUser,int pageNumber,int pageSize);
+
+    long countByPropositionTeacherId();
+
+    IPage<GradeInitResult> listNeedAnalyzedPaperToWork(SysUser requestUser, Integer pageNumber, Integer pageSize);
 }

+ 20 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/GradeInitializeServiceImpl.java

@@ -6,9 +6,11 @@ import com.qmth.distributed.print.business.bean.result.analyze.GradeInitResult;
 import com.qmth.distributed.print.business.mapper.GradeInitializeMapper;
 import com.qmth.distributed.print.business.service.GradeInitializeService;
 import com.qmth.teachcloud.common.entity.SysUser;
+import com.qmth.teachcloud.common.util.ServletUtil;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.util.List;
 
 /**
  * @Description: 教研分析对接-数据初始化服务实现类
@@ -22,9 +24,25 @@ public class GradeInitializeServiceImpl implements GradeInitializeService {
 
 
     @Override
-    public IPage<GradeInitResult> findNeedAnalyzedPaper(Long semesterId, Long examId, String courseCode, SysUser requestUser,int pageNumber,int pageSize) {
+    public IPage<GradeInitResult> findNeedAnalyzedPaper(Long semesterId, Long examId, String courseCode, SysUser requestUser, int pageNumber, int pageSize) {
         Long schoolId = requestUser.getSchoolId();
         Long userId = requestUser.getId();
-        return gradeInitializeMapper.findNeedAnalyzedPaper(new Page<>(pageNumber, pageSize), semesterId,examId,courseCode,userId,schoolId);
+        return gradeInitializeMapper.findNeedAnalyzedPaper(new Page<>(pageNumber, pageSize), semesterId, examId, courseCode, userId, schoolId);
+    }
+
+    @Override
+    public long countByPropositionTeacherId() {
+        SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
+        Long schoolId = requestUser.getSchoolId();
+        Long userId = requestUser.getId();
+        List<GradeInitResult> findNeedAnalyzedPaper = gradeInitializeMapper.listNeedAnalyzedPaperToWork(schoolId, userId);
+        return findNeedAnalyzedPaper.isEmpty() ? 0 : findNeedAnalyzedPaper.size();
+    }
+
+    @Override
+    public IPage<GradeInitResult> listNeedAnalyzedPaperToWork(SysUser requestUser, Integer pageNumber, Integer pageSize) {
+        Long schoolId = requestUser.getSchoolId();
+        Long userId = requestUser.getId();
+        return gradeInitializeMapper.listNeedAnalyzedPaperToWork(new Page<>(pageNumber, pageSize),schoolId, userId);
     }
 }

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

@@ -16,7 +16,6 @@ import com.qmth.distributed.print.business.bean.dto.PdfDto;
 import com.qmth.distributed.print.business.bean.params.SerialNumberParams;
 import com.qmth.distributed.print.business.entity.*;
 import com.qmth.distributed.print.business.enums.ExamDetailStatusEnum;
-import com.qmth.distributed.print.business.enums.GradeAnalyzePaperStatusEnum;
 import com.qmth.distributed.print.business.enums.PrintPlanStatusEnum;
 import com.qmth.distributed.print.business.service.*;
 import com.qmth.distributed.print.business.util.HtmlToPdfUtil;

+ 41 - 0
distributed-print-business/src/main/resources/mapper/GradeInitializeMapper.xml

@@ -50,4 +50,45 @@
         </where>
         ORDER BY bs.name , be.name , et.course_code , et.paper_number , pnpt.paper_type
     </select>
+
+    <select id="listNeedAnalyzedPaperToWork"
+            resultType="com.qmth.distributed.print.business.bean.result.analyze.GradeInitResult">
+        SELECT
+        bs.name AS semesterName,
+        be.name AS examName,
+        et.course_code AS courseCode,
+        et.course_name AS courseName,
+        et.paper_number AS paperNumber,
+        pnpt.paper_type AS paperType,
+        pnpt.paper_name AS paperName
+        FROM
+        exam_task et
+        INNER JOIN
+        exam_task_detail etd ON et.id = etd.exam_task_id
+        INNER JOIN
+        (SELECT
+        school_id,
+        paper_number,
+        paper_type,
+        MAX(paper_name) AS paper_name
+        FROM
+        grade_batch_paper
+        where status = "SETTING_GRADE_PAPER_PARAM"
+        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)
+        LEFT JOIN
+        basic_exam be ON et.exam_id = be.id
+        LEFT JOIN
+        basic_semester bs ON bs.id = be.semester_id
+        <where>
+            <if test="schoolId != null and schoolId != ''">
+                AND et.school_id = #{schoolId}
+            </if>
+            <if test="userId != null and userId != ''">
+                AND et.user_id = #{userId}
+            </if>
+        </where>
+        ORDER BY bs.name , be.name , et.course_code , et.paper_number , pnpt.paper_type
+    </select>
 </mapper>

+ 28 - 0
distributed-print/src/main/java/com/qmth/distributed/print/api/WorkController.java

@@ -4,10 +4,13 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.distributed.print.business.bean.result.WorkResult;
+import com.qmth.distributed.print.business.bean.result.analyze.GradeInitResult;
 import com.qmth.distributed.print.business.entity.ExamPaperStructure;
 import com.qmth.distributed.print.business.enums.ExamPaperStructureStatusEnum;
 import com.qmth.distributed.print.business.service.ExamPaperStructureService;
 import com.qmth.distributed.print.business.service.ExamTaskService;
+import com.qmth.distributed.print.business.service.GradeBatchPaperService;
+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.util.Result;
@@ -45,6 +48,9 @@ public class WorkController {
     @Autowired
     ExamPaperStructureService examPaperStructureService;
 
+    @Resource
+    GradeInitializeService gradeInitializeService;
+
     @ApiOperation(value = "获取待办接口")
     @RequestMapping(value = "/exam/task/ready", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = WorkResult.class)})
@@ -87,5 +93,27 @@ public class WorkController {
         IPage<ExamPaperStructure> examPaperStructureIPage = examPaperStructureService.listByPropositionTeacherId(null, null, pageNumber, pageSize, structureStatusEnums);
         return ResultUtil.ok(examPaperStructureIPage);
     }
+
+    /**
+     * 阅卷待办任务-数量
+     */
+    @ApiOperation(value = "教研待办任务-数量")
+    @RequestMapping(value = "/grade/task/ready_count", method = RequestMethod.POST)
+    public Result countReport() {
+        long count = gradeInitializeService.countByPropositionTeacherId();
+        return ResultUtil.ok(count);
+    }
+
+    /**
+     * 阅卷待办任务
+     */
+    @ApiOperation(value = "阅卷待办任务-列表")
+    @RequestMapping(value = "/grade/task/ready", method = RequestMethod.POST)
+    public Result gradeList(@RequestParam @Min(SystemConstant.PAGE_NUMBER_MIN) Integer pageNumber,
+                            @RequestParam @Min(SystemConstant.PAGE_SIZE_MIN) @Max(SystemConstant.PAGE_SIZE_MAX) Integer pageSize) {
+        SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
+        IPage<GradeInitResult> needAnalyzedPaper = gradeInitializeService.listNeedAnalyzedPaperToWork(requestUser, pageNumber, pageSize);
+        return ResultUtil.ok(needAnalyzedPaper);
+    }
 }