|
@@ -297,6 +297,7 @@ public class SubjectQuestionDTO {
|
|
public boolean validateGroupNumber(List<String> error) {
|
|
public boolean validateGroupNumber(List<String> error) {
|
|
Map<String, Integer> trialMap = new HashMap<String, Integer>();
|
|
Map<String, Integer> trialMap = new HashMap<String, Integer>();
|
|
Map<String, Map<Integer,Set<Integer>>> arbitrateTypeMap = new HashMap<>();
|
|
Map<String, Map<Integer,Set<Integer>>> arbitrateTypeMap = new HashMap<>();
|
|
|
|
+ Map<Integer, Double> doubleRateMap = new HashMap<>();
|
|
for (ExamQuestion question : list) {
|
|
for (ExamQuestion question : list) {
|
|
if (question.getGroupNumber() == null || question.getGroupNumber() < 0) {
|
|
if (question.getGroupNumber() == null || question.getGroupNumber() < 0) {
|
|
error.add("[" + subjectCode + "] 有评卷分组为空的记录");
|
|
error.add("[" + subjectCode + "] 有评卷分组为空的记录");
|
|
@@ -312,7 +313,12 @@ public class SubjectQuestionDTO {
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
//开启双评
|
|
//开启双评
|
|
- if(question.getDoubleRate()!=null && question.getDoubleRate()>0){
|
|
|
|
|
|
+ Double doubleRate = doubleRateMap.get(question.getGroupNumber());
|
|
|
|
+ if(doubleRate == null){
|
|
|
|
+ doubleRateMap =new HashMap<>();
|
|
|
|
+ doubleRateMap.put(question.getGroupNumber(),question.getDoubleRate());
|
|
|
|
+ }
|
|
|
|
+ if(doubleRate!=null && doubleRate>0){
|
|
//判断分组方式是否一致
|
|
//判断分组方式是否一致
|
|
Map<Integer,Set<Integer>> groupArbitrateTypeMap= arbitrateTypeMap.get(question.getSubjectCode());
|
|
Map<Integer,Set<Integer>> groupArbitrateTypeMap= arbitrateTypeMap.get(question.getSubjectCode());
|
|
if(groupArbitrateTypeMap ==null){
|
|
if(groupArbitrateTypeMap ==null){
|
|
@@ -321,12 +327,13 @@ public class SubjectQuestionDTO {
|
|
Set<Integer> arbitrateTypeSet= groupArbitrateTypeMap.get(question.getGroupNumber());
|
|
Set<Integer> arbitrateTypeSet= groupArbitrateTypeMap.get(question.getGroupNumber());
|
|
if(arbitrateTypeSet ==null ){
|
|
if(arbitrateTypeSet ==null ){
|
|
arbitrateTypeSet = new HashSet<>();
|
|
arbitrateTypeSet = new HashSet<>();
|
|
- }else if(arbitrateTypeSet.size()>1){
|
|
|
|
|
|
+ }
|
|
|
|
+ arbitrateTypeSet.add(question.getArbitrateType());
|
|
|
|
+ if(arbitrateTypeSet.size()>1){
|
|
error.add("[" + subjectCode + "] 分组号" + question.getGroupNumber() + " 仲裁方式不一致");
|
|
error.add("[" + subjectCode + "] 分组号" + question.getGroupNumber() + " 仲裁方式不一致");
|
|
return false;
|
|
return false;
|
|
- }else{
|
|
|
|
- arbitrateTypeSet.add(question.getArbitrateType());
|
|
|
|
}
|
|
}
|
|
|
|
+
|
|
groupArbitrateTypeMap.put(question.getGroupNumber(),arbitrateTypeSet);
|
|
groupArbitrateTypeMap.put(question.getGroupNumber(),arbitrateTypeSet);
|
|
arbitrateTypeMap.put(question.getSubjectCode(),groupArbitrateTypeMap);
|
|
arbitrateTypeMap.put(question.getSubjectCode(),groupArbitrateTypeMap);
|
|
|
|
|