xiatian 2 vuotta sitten
vanhempi
commit
de18ef74be

+ 8 - 0
src/main/java/cn/com/qmth/mps/bean/PaperDetailUnit.java

@@ -9,6 +9,8 @@ public class PaperDetailUnit {
 	private Double score;
 	@ApiModelProperty("给分间隔")
 	private Double scoreStep;
+	@ApiModelProperty("是否在当前分组")
+	private Boolean inGroup;
 	public Integer getNumber() {
 		return number;
 	}
@@ -27,5 +29,11 @@ public class PaperDetailUnit {
 	public void setScoreStep(Double scoreStep) {
 		this.scoreStep = scoreStep;
 	}
+	public Boolean getInGroup() {
+		return inGroup;
+	}
+	public void setInGroup(Boolean inGroup) {
+		this.inGroup = inGroup;
+	}
 	
 }

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

@@ -2,6 +2,7 @@ package cn.com.qmth.mps.service.impl;
 
 import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Map;
@@ -147,10 +148,34 @@ public class PaperGroupServiceImpl extends ServiceImpl<PaperGroupDao, PaperGroup
 		}
 		GroupInfoVo vo = new GroupInfoVo();
 		vo.setNumber(e.getNumber());
+		List<PaperDetail> pds=paperDetailService.getStructInfo(paperId);
 		Map<Long, List<PaperGroupUnit>> units = paperGroupUnitService.getGroupInfo(paperId);
-		vo.setGroupUnit(units.get(e.getId()));
+		vo.setStructInfo(getGroupInfo(pds,units.get(e.getId())));
 		return vo;
 	}
+	
+	private List<PaperDetail> getGroupInfo(List<PaperDetail> pds,List<PaperGroupUnit> units){
+		List<PaperDetail> ret=new ArrayList<>();
+		Set<Integer> detailSet=new HashSet<>();
+		Set<String> unitSet=new HashSet<>();
+		for(PaperGroupUnit unit:units) {
+			detailSet.add(unit.getDeatailNumber());
+			unitSet.add(unit.getDeatailNumber()+"-"+unit.getDetailUnitNumber());
+		}
+		for(PaperDetail pd:pds) {
+			if(detailSet.contains(pd.getNumber())) {
+				ret.add(pd);
+				for(PaperDetailUnit u:pd.getUnits()) {
+					if(unitSet.contains(pd.getNumber()+"-"+u.getNumber())) {
+						u.setInGroup(true);
+					}else {
+						u.setInGroup(false);
+					}
+				}
+			}
+		}
+		return ret;
+	}
 
 	private PaperGroupEntity getByPaperIdAndNumber(Long paperId, Integer groupNumber) {
 		QueryWrapper<PaperGroupEntity> wrapper = new QueryWrapper<>();

+ 6 - 6
src/main/java/cn/com/qmth/mps/vo/paper/GroupInfoVo.java

@@ -2,25 +2,25 @@ package cn.com.qmth.mps.vo.paper;
 
 import java.util.List;
 
-import cn.com.qmth.mps.bean.PaperGroupUnit;
+import cn.com.qmth.mps.bean.PaperDetail;
 import io.swagger.annotations.ApiModelProperty;
 
 public class GroupInfoVo {
 	@ApiModelProperty("分组序号")
 	private Integer number;
 	@ApiModelProperty("分组信息")
-	private List<PaperGroupUnit> groupUnit;
+	private List<PaperDetail> structInfo;
 	public Integer getNumber() {
 		return number;
 	}
 	public void setNumber(Integer number) {
 		this.number = number;
 	}
-	public List<PaperGroupUnit> getGroupUnit() {
-		return groupUnit;
+	public List<PaperDetail> getStructInfo() {
+		return structInfo;
 	}
-	public void setGroupUnit(List<PaperGroupUnit> groupUnit) {
-		this.groupUnit = groupUnit;
+	public void setStructInfo(List<PaperDetail> structInfo) {
+		this.structInfo = structInfo;
 	}
 	
 }