|
@@ -7,6 +7,8 @@ import java.util.HashSet;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
import java.util.Set;
|
|
import java.util.Set;
|
|
|
|
+import java.util.regex.Matcher;
|
|
|
|
+import java.util.regex.Pattern;
|
|
|
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -324,15 +326,19 @@ public class PaperService {
|
|
List<Question> subQuesList = paperDetailUnit.getQuestion().getSubQuestions();
|
|
List<Question> subQuesList = paperDetailUnit.getQuestion().getSubQuestions();
|
|
// 套题序号
|
|
// 套题序号
|
|
if (subQuesList != null && subQuesList.size() > 0) {
|
|
if (subQuesList != null && subQuesList.size() > 0) {
|
|
|
|
+ int index = subNum;
|
|
for (Question subQues : subQuesList) {
|
|
for (Question subQues : subQuesList) {
|
|
Map<String, String> params = new HashMap<String, String>();
|
|
Map<String, String> params = new HashMap<String, String>();
|
|
params.put("number", String.valueOf(++subNum));
|
|
params.put("number", String.valueOf(++subNum));
|
|
subQues.setQuesParams(params);
|
|
subQues.setQuesParams(params);
|
|
quesService.formatQuesUnit(subQues);
|
|
quesService.formatQuesUnit(subQues);
|
|
}
|
|
}
|
|
|
|
+ String quesBodyHtml = relaceRuestionIdx(paperDetailUnit.getQuestion().getQuesBody(), index);
|
|
|
|
+ paperDetailUnit.getQuestion().setQuesBody(quesBodyHtml);
|
|
} else {
|
|
} else {
|
|
paperDetailUnit.setNumber(++subNum);
|
|
paperDetailUnit.setNumber(++subNum);
|
|
}
|
|
}
|
|
|
|
+
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -549,6 +555,7 @@ public class PaperService {
|
|
public String checkPaperName(String paperName, String orgId) {
|
|
public String checkPaperName(String paperName, String orgId) {
|
|
String msg = null;
|
|
String msg = null;
|
|
Paper paperTemp = new Paper();
|
|
Paper paperTemp = new Paper();
|
|
|
|
+ paperTemp.setCreateTime(null);
|
|
paperTemp.setName(paperName.trim());
|
|
paperTemp.setName(paperName.trim());
|
|
paperTemp.setOrgId(orgId);
|
|
paperTemp.setOrgId(orgId);
|
|
Paper paper = paperRepo.findOne(Example.of(paperTemp));
|
|
Paper paper = paperRepo.findOne(Example.of(paperTemp));
|
|
@@ -559,4 +566,23 @@ public class PaperService {
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ private String relaceRuestionIdx(String str, int baseIdx) {
|
|
|
|
+ StringBuffer sb = new StringBuffer("");
|
|
|
|
+ Pattern pattern = Pattern.compile("##(\\d+)##");
|
|
|
|
+
|
|
|
|
+ Matcher matcher = pattern.matcher(str);
|
|
|
|
+
|
|
|
|
+ while (matcher.find()) {
|
|
|
|
+ String idx = matcher.group(1);
|
|
|
|
+ matcher.appendReplacement(sb, "___" + String.valueOf(Integer.parseInt(idx) + baseIdx) + "___");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (StringUtils.isEmpty(sb.toString())) {
|
|
|
|
+ return str;
|
|
|
|
+ } else {
|
|
|
|
+ matcher.appendTail(sb);
|
|
|
|
+ return sb.toString();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
}
|
|
}
|