|
@@ -813,7 +813,7 @@ public class CreatePdfUtil {
|
|
|
studentHtml = studentHtml.replaceAll("\\$\\{examTime\\}", examTime);
|
|
|
studentHtml = studentHtml.replaceAll("\\$\\{ticketNumber\\}", t.getTicketNumber());
|
|
|
studentHtml = studentHtml.replaceAll("\\$\\{siteNumber\\}", t.getSiteNumber());
|
|
|
- if(StringUtils.isNotEmpty(t.getPaperType())) {
|
|
|
+ if (StringUtils.isNotEmpty(t.getPaperType())) {
|
|
|
studentHtml = studentHtml.replaceAll("\\$\\{paperTypeName\\}", t.getPaperType());
|
|
|
}
|
|
|
studentHtml = studentHtml.replaceAll("\\$\\{studentCode\\}", t.getStudentCode());
|
|
@@ -826,7 +826,7 @@ public class CreatePdfUtil {
|
|
|
|
|
|
List<StudentExtendDto> studentExtendDtos = createExtendObject(t, basicCardRule);
|
|
|
for (StudentExtendDto extendDto : studentExtendDtos) {
|
|
|
- studentHtml = studentHtml.replaceAll("\\$\\{"+extendDto.getFieldName()+"\\}", String.valueOf(extendDto.getValue()));
|
|
|
+ studentHtml = studentHtml.replaceAll("\\$\\{" + extendDto.getFieldName() + "\\}", String.valueOf(extendDto.getValue()));
|
|
|
}
|
|
|
|
|
|
//学生题卡
|
|
@@ -837,37 +837,40 @@ public class CreatePdfUtil {
|
|
|
|
|
|
/**
|
|
|
* 题卡规则字段
|
|
|
- * @param examStudent 考生对象
|
|
|
+ *
|
|
|
+ * @param examStudent 考生对象
|
|
|
* @param basicCardRule 题卡规则对象
|
|
|
* @return
|
|
|
*/
|
|
|
- private List<StudentExtendDto> createExtendObject(ExamStudent examStudent, BasicCardRule basicCardRule){
|
|
|
+ private List<StudentExtendDto> createExtendObject(ExamStudent examStudent, BasicCardRule basicCardRule) {
|
|
|
List<JSONObject> requiredFieldsJson = JSONArray.parseArray(basicCardRule.getRequiredFields(), JSONObject.class);
|
|
|
Map<String, Object> studentExtendMap = JSONArray.parseArray(examStudent.getExtendFields(), JSONObject.class).stream().collect(Collectors.toMap(k -> String.valueOf(k.get("code")), v -> v.get("value")));
|
|
|
List<StudentExtendDto> studentExtendDtos = new ArrayList<>();
|
|
|
- if(requiredFieldsJson.size() > 0){
|
|
|
+ if (requiredFieldsJson.size() > 0) {
|
|
|
for (JSONObject jsonObject : requiredFieldsJson) {
|
|
|
StudentExtendDto studentExtendDto = new StudentExtendDto();
|
|
|
String code = String.valueOf(jsonObject.get("code"));
|
|
|
studentExtendDto.setFieldName(code);
|
|
|
- String upperCode = code.substring(0, 1).toUpperCase() + code.substring(1);
|
|
|
- Object value = ReflectUtil.getFieldValue(examStudent, "get"+upperCode);
|
|
|
- ReflectUtil.setFieldValue(studentExtendDto, "set"+ upperCode, value);
|
|
|
+ Object value = ReflectUtil.getFieldValue(examStudent, code);
|
|
|
+ studentExtendDto.setValue(value == null ? "" : value);
|
|
|
studentExtendDtos.add(studentExtendDto);
|
|
|
}
|
|
|
}
|
|
|
List<JSONObject> extendFieldsJson = JSONArray.parseArray(basicCardRule.getExtendFields(), JSONObject.class);
|
|
|
- if(extendFieldsJson.size() > 0){
|
|
|
+ if (extendFieldsJson.size() > 0) {
|
|
|
for (JSONObject jsonObject : extendFieldsJson) {
|
|
|
+ boolean enable = Boolean.parseBoolean(jsonObject.get("enable").toString());
|
|
|
+ if (!enable) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
StudentExtendDto studentExtendDto = new StudentExtendDto();
|
|
|
String code = String.valueOf(jsonObject.get("code"));
|
|
|
studentExtendDto.setFieldName(code);
|
|
|
- String upperCode = code.substring(0, 1).toUpperCase() + code.substring(1);
|
|
|
- Object value = ReflectUtil.getFieldValue(examStudent, "get"+upperCode);
|
|
|
- if(value == null){
|
|
|
+ Object value = ReflectUtil.getFieldValue(examStudent, code);
|
|
|
+ if (value == null) {
|
|
|
value = studentExtendMap.get(code);
|
|
|
}
|
|
|
- ReflectUtil.setFieldValue(studentExtendDto, "set"+ upperCode, value);
|
|
|
+ studentExtendDto.setValue(value == null ? "" : value);
|
|
|
studentExtendDtos.add(studentExtendDto);
|
|
|
}
|
|
|
}
|