xiatian 2 éve
szülő
commit
f19470f2df

+ 1 - 1
src/main/java/cn/com/qmth/mps/service/impl/PaperGroupServiceImpl.java

@@ -124,7 +124,7 @@ public class PaperGroupServiceImpl extends ServiceImpl<PaperGroupDao, PaperGroup
 				StringBuilder nameSb = new StringBuilder();
 				for (Integer num : set) {
 					numSb.append(num).append(",");
-					nameSb.append(detailMap.get(num)).append(",");
+					nameSb.append(detailMap.get(num).getName()).append(",");
 				}
 				vo.setDetailNumbers(numSb.substring(0, numSb.length() - 1));
 				vo.setDetailNames(nameSb.substring(0, nameSb.length() - 1));

+ 1 - 0
src/main/java/cn/com/qmth/mps/service/impl/PaperGroupUnitServiceImpl.java

@@ -46,6 +46,7 @@ public class PaperGroupUnitServiceImpl extends ServiceImpl<PaperGroupUnitDao, Pa
 		QueryWrapper<PaperGroupUnitEntity> wrapper = new QueryWrapper<>();
 		LambdaQueryWrapper<PaperGroupUnitEntity> lw = wrapper.lambda();
 		lw.eq(PaperGroupUnitEntity::getPaperId, paperId);
+		lw.orderByAsc(PaperGroupUnitEntity::getDetailNumber);
 		lw.orderByAsc(PaperGroupUnitEntity::getDetailUnitNumber);
 		return this.list(wrapper);
 	}

+ 22 - 1
src/main/java/cn/com/qmth/mps/service/impl/PaperServiceImpl.java

@@ -251,7 +251,28 @@ public class PaperServiceImpl extends ServiceImpl<PaperDao, PaperEntity> impleme
 		if (!user.getRole().equals(Role.SUPER_ADMIN) && !user.getSchoolId().equals(exam.getSchoolId())) {
 			throw new StatusException("没有权限");
 		}
-		return this.baseMapper.list(examId,user.getId());
+		List<PaperVo> ret=this.baseMapper.list(examId,user.getId());
+		if (CollectionUtils.isNotEmpty(ret)) {
+			new BatchSetDataUtil<PaperVo>() {
+
+				@Override
+				protected void setData(List<PaperVo> dataList) {
+					List<Long> paperIds = dataList.stream().map(dto -> dto.getId()).distinct()
+							.collect(Collectors.toList());
+					List<GroupCountVo> ret = paperGroupService.findGroupCount(paperIds);
+					if (ret != null && ret.size() > 0) {
+						Map<Long, Integer> countMap = new HashMap<>();
+						for (GroupCountVo item : ret) {
+							countMap.put(item.getPaperId(), item.getGroupCount());
+						}
+						for (PaperVo vo : dataList) {
+							vo.setGroupCount(countMap.get(vo.getId()));
+						}
+					}
+				}
+			}.setDataForBatch(ret, 20);
+		}
+		return ret;
 	}
 
 	@Override