Browse Source

Merge remote-tracking branch 'origin/dev_v3.3.1' into dev_v3.3.1

wangliang 1 year ago
parent
commit
975800d698

+ 2 - 1
distributed-print/src/main/java/com/qmth/distributed/print/api/mark/MarkGroupController.java

@@ -131,9 +131,10 @@ public class MarkGroupController extends BaseController {
     @RequestMapping(value = "/class/summary", method = RequestMethod.POST)
     public Result classSummary(@ApiParam(value = "考试ID", required = true) @RequestParam Long examId,
                                @ApiParam(value = "试卷编号", required = true) @RequestParam String paperNumber,
+                               @ApiParam(value = "班级") @RequestParam(required = false) String className,
                                @RequestParam @Min(SystemConstant.PAGE_NUMBER_MIN) Integer pageNumber,
                                @RequestParam @Min(SystemConstant.PAGE_SIZE_MIN) @Max(SystemConstant.PAGE_SIZE_MAX) Integer pageSize) {
-        IPage<MarkGroupClassProgressDto> markGroupClassProgressDtoIPage = markGroupService.summaryGroupClassProgress(examId, paperNumber, pageNumber, pageSize);
+        IPage<MarkGroupClassProgressDto> markGroupClassProgressDtoIPage = markGroupService.summaryGroupClassProgress(examId, paperNumber,className, pageNumber, pageSize);
         return ResultUtil.ok(markGroupClassProgressDtoIPage);
     }
 

+ 9 - 0
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/dto/mark/manage/MarkGroupSummaryProgressDto.java

@@ -4,10 +4,19 @@ import java.util.List;
 
 public class MarkGroupSummaryProgressDto {
 
+    private Boolean openMarkClass;
     private MarkGroupTotalProgressDto totalInfo;
     private List<MarkGroupClassProgressDto> classInfo;
     private List<MarkGroupProgressDto> groupInfo;
 
+    public Boolean getOpenMarkClass() {
+        return openMarkClass;
+    }
+
+    public void setOpenMarkClass(Boolean openMarkClass) {
+        this.openMarkClass = openMarkClass;
+    }
+
     public MarkGroupTotalProgressDto getTotalInfo() {
         return totalInfo;
     }

+ 1 - 1
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/mapper/MarkUserClassMapper.java

@@ -23,5 +23,5 @@ public interface MarkUserClassMapper extends BaseMapper<MarkUserClass> {
     List<MarkUser> listClassMarkerByExamIdAndPaperNumberAndGroupNumberAndClassName(@Param("examId") Long examId, @Param("paperNumber") String paperNumber, @Param("groupNumber") Integer groupNumber, @Param("className") String className);
     List<MarkUserClass> listMarkerClassByExamIdAndPaperNumberAndUserId(@Param("examId") Long examId, @Param("paperNumber") String paperNumber, @Param("userId") Long userId);
 
-    IPage<MarkGroupClassProgressDto> pageClassByExamIdAndPaperNumber(@Param("page") Page<MarkGroupClassProgressDto> page, @Param("examId") Long examId, @Param("paperNumber") String paperNumber);
+    IPage<MarkGroupClassProgressDto> pageClassByExamIdAndPaperNumber(@Param("page") Page<MarkGroupClassProgressDto> page, @Param("examId") Long examId, @Param("paperNumber") String paperNumber, @Param("className") String className);
 }

+ 1 - 1
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/MarkGroupService.java

@@ -35,7 +35,7 @@ public interface MarkGroupService extends IService<MarkGroup> {
 
     MarkGroupSummaryProgressDto summaryGroupProgress(Long examId, String paperNumber);
 
-    IPage<MarkGroupClassProgressDto> summaryGroupClassProgress(Long examId, String paperNumber, Integer pageNumber, Integer pageSize);
+    IPage<MarkGroupClassProgressDto> summaryGroupClassProgress(Long examId, String paperNumber, String className, Integer pageNumber, Integer pageSize);
 
     void updateMarkedCount(Long examId, String paperNumber, Integer groupNumber, int count);
 

+ 1 - 1
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/MarkUserClassService.java

@@ -33,7 +33,7 @@ public interface MarkUserClassService extends IService<MarkUserClass> {
 
     List<MarkUserClass> listByExamIdAndPaperNumber(Long examId, String paperNumber);
 
-    IPage<MarkGroupClassProgressDto> pageClassByExamIdAndPaperNumber(Page<MarkGroupClassProgressDto> page, Long examId, String paperNumber);
+    IPage<MarkGroupClassProgressDto> pageClassByExamIdAndPaperNumber(Page<MarkGroupClassProgressDto> page, Long examId, String paperNumber, String className);
 
     List<MarkUserClass> listByExamIdAndPaperNumberAndUserId(Long examId, String paperNumber, Long userId);
 }

+ 7 - 3
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/MarkGroupServiceImpl.java

@@ -171,8 +171,12 @@ public class MarkGroupServiceImpl extends MppServiceImpl<MarkGroupMapper, MarkGr
         MarkGroupSummaryProgressDto markGroupSummaryProgressDto = new MarkGroupSummaryProgressDto();
 
         // totalInfo
-        MarkGroupTotalProgressDto markGroupTotalProgressDto = new MarkGroupTotalProgressDto();
         MarkPaper markPaper = markPaperService.getByExamIdAndPaperNumber(examId, paperNumber);
+        if (markPaper == null) {
+            return markGroupSummaryProgressDto;
+        }
+        markGroupSummaryProgressDto.setOpenMarkClass(markPaper.getOpenMarkClass());
+        MarkGroupTotalProgressDto markGroupTotalProgressDto = new MarkGroupTotalProgressDto();
         markGroupTotalProgressDto.setStudentCount(markPaper.getStudentCount());
         markGroupTotalProgressDto.setUploadCount(markPaper.getUploadCount());
         markGroupTotalProgressDto.setAbsentCount(markPaper.getAbsentCount());
@@ -206,11 +210,11 @@ public class MarkGroupServiceImpl extends MppServiceImpl<MarkGroupMapper, MarkGr
     }
 
     @Override
-    public IPage<MarkGroupClassProgressDto> summaryGroupClassProgress(Long examId, String paperNumber, Integer pageNumber, Integer pageSize) {
+    public IPage<MarkGroupClassProgressDto> summaryGroupClassProgress(Long examId, String paperNumber, String className, Integer pageNumber, Integer pageSize) {
         MarkPaper markPaper = markPaperService.getByExamIdAndPaperNumber(examId, paperNumber);
         if (markPaper.getOpenMarkClass()) {
             Page<MarkGroupClassProgressDto> page = new Page<>(pageNumber, pageSize);
-            IPage<MarkGroupClassProgressDto> markGroupClassProgressDtoIPage = markUserClassService.pageClassByExamIdAndPaperNumber(page, examId, paperNumber);
+            IPage<MarkGroupClassProgressDto> markGroupClassProgressDtoIPage = markUserClassService.pageClassByExamIdAndPaperNumber(page, examId, paperNumber, className);
             for (MarkGroupClassProgressDto markGroupClassProgressDto : markGroupClassProgressDtoIPage.getRecords()) {
                 Integer groupNumber = markGroupClassProgressDto.getGroupNumber();
                 List<MarkTask> totalMarkTaskList = new ArrayList<>();

+ 2 - 3
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/MarkUserClassServiceImpl.java

@@ -12,7 +12,6 @@ import com.qmth.teachcloud.common.bean.params.mark.setting.MarkGroupClassUserPar
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
 import com.qmth.teachcloud.mark.dto.mark.manage.MarkGroupClassProgressDto;
-import com.qmth.teachcloud.mark.dto.mark.setting.MarkGroupDto;
 import com.qmth.teachcloud.mark.dto.mark.setting.MarkUserClassDetailDto;
 import com.qmth.teachcloud.mark.dto.mark.setting.MarkUserClassDto;
 import com.qmth.teachcloud.mark.entity.MarkGroup;
@@ -151,8 +150,8 @@ public class MarkUserClassServiceImpl extends ServiceImpl<MarkUserClassMapper, M
     }
 
     @Override
-    public IPage<MarkGroupClassProgressDto> pageClassByExamIdAndPaperNumber(Page<MarkGroupClassProgressDto> page, Long examId, String paperNumber) {
-        return this.baseMapper.pageClassByExamIdAndPaperNumber(page, examId, paperNumber);
+    public IPage<MarkGroupClassProgressDto> pageClassByExamIdAndPaperNumber(Page<MarkGroupClassProgressDto> page, Long examId, String paperNumber, String className) {
+        return this.baseMapper.pageClassByExamIdAndPaperNumber(page, examId, paperNumber, className);
     }
 
     @Override

+ 3 - 0
teachcloud-mark/src/main/resources/mapper/MarkUserClassMapper.xml

@@ -41,6 +41,9 @@
         WHERE
             mg.exam_id = #{examId}
           AND mg.paper_number = #{paperNumber}
+            <if test="className != null and className != ''">
+                AND muc.class_name = #{className}
+            </if>
         ORDER BY  muc.class_name, mg.number
     </select>
     <select id="listMarkerClassByExamIdAndPaperNumberAndUserId"