|
@@ -823,43 +823,49 @@ public class CreatePdfNewUtil {
|
|
|
*/
|
|
|
public BasicAttachment examStudentHtml(String studentHtml, ExamStudent examStudent, String paperType, ExamDetail examDetail,
|
|
|
Long userId, List<PdfDto> examStudentPdfList, List<File> fileTempList, BasicCardRule basicCardRule) throws IOException {
|
|
|
- if (ExamNumberStyleEnum.PRINT.equals(basicCardRule.getExamNumberStyle())) {
|
|
|
- // 生成学生考号条码并将图片转成base64
|
|
|
- studentHtml = studentHtml.replaceAll("\\$\\{studentCodeBarcode\\}", examStudent != null && examStudent.getStudentCode() != null ? GoogleBarCodeUtil.createBarCode(examStudent.getStudentCode(), false) : "");
|
|
|
- studentHtml = studentHtml.replaceAll("\\$\\{ticketNumberBarcode\\}", examStudent != null && examStudent.getTicketNumber() != null ? GoogleBarCodeUtil.createBarCode(examStudent.getTicketNumber(), false) : "");
|
|
|
- studentHtml = studentHtml.replaceAll("\\$\\{examNumber\\}", examStudent != null && examStudent.getStudentCode() != null ? GoogleBarCodeUtil.createBarCode(examStudent.getStudentCode(), false) : "");
|
|
|
- studentHtml = studentHtml.replaceAll("\\$\\{examNumberStr\\}", examStudent != null && examStudent.getStudentCode() != null ? examStudent.getStudentCode() : "");
|
|
|
- // 随机生成学生试卷条码并将图片转成base64
|
|
|
- studentHtml = studentHtml.replaceAll("\\$\\{paperType\\}", examStudent != null && examStudent.getPaperType() != null ? GoogleBarCodeUtil.createBarCode(SystemConstant.convertPaperType(examStudent.getPaperType()), false) : StringUtils.isNotBlank(paperType) ? GoogleBarCodeUtil.createBarCode(SystemConstant.convertPaperType(paperType), false) : "");
|
|
|
- // 替换考生卷型
|
|
|
- studentHtml = studentHtml.replaceAll("\\$\\{paperTypeName\\}", examStudent != null && examStudent.getPaperType() != null ? examStudent.getPaperType() : StringUtils.isNotBlank(paperType) ? paperType : "");
|
|
|
+ if (basicCardRule != null) {
|
|
|
+ if (ExamNumberStyleEnum.PRINT.equals(basicCardRule.getExamNumberStyle())) {
|
|
|
+ // 生成学生考号条码并将图片转成base64
|
|
|
+ studentHtml = studentHtml.replaceAll("\\$\\{studentCodeBarcode\\}", examStudent != null && examStudent.getStudentCode() != null ? GoogleBarCodeUtil.createBarCode(examStudent.getStudentCode(), false) : "");
|
|
|
+ studentHtml = studentHtml.replaceAll("\\$\\{ticketNumberBarcode\\}", examStudent != null && examStudent.getTicketNumber() != null ? GoogleBarCodeUtil.createBarCode(examStudent.getTicketNumber(), false) : "");
|
|
|
+ studentHtml = studentHtml.replaceAll("\\$\\{examNumber\\}", examStudent != null && examStudent.getStudentCode() != null ? GoogleBarCodeUtil.createBarCode(examStudent.getStudentCode(), false) : "");
|
|
|
+ studentHtml = studentHtml.replaceAll("\\$\\{examNumberStr\\}", examStudent != null && examStudent.getStudentCode() != null ? examStudent.getStudentCode() : "");
|
|
|
+ // 随机生成学生试卷条码并将图片转成base64
|
|
|
+ studentHtml = studentHtml.replaceAll("\\$\\{paperType\\}", examStudent != null && examStudent.getPaperType() != null ? GoogleBarCodeUtil.createBarCode(SystemConstant.convertPaperType(examStudent.getPaperType()), false) : StringUtils.isNotBlank(paperType) ? GoogleBarCodeUtil.createBarCode(SystemConstant.convertPaperType(paperType), false) : "");
|
|
|
+ // 替换考生卷型
|
|
|
+ studentHtml = studentHtml.replaceAll("\\$\\{paperTypeName\\}", examStudent != null && examStudent.getPaperType() != null ? examStudent.getPaperType() : StringUtils.isNotBlank(paperType) ? paperType : "");
|
|
|
|
|
|
- if (examStudent != null) {
|
|
|
- // 根据题卡规则必选字段,替换相应值,没有则“”
|
|
|
- List<StudentExtendDto> studentExtendDtos = createExtendObject(examDetail, examStudent, basicCardRule);
|
|
|
- if (studentExtendDtos != null) {
|
|
|
- for (StudentExtendDto extendDto : studentExtendDtos) {
|
|
|
- studentHtml = studentHtml.replaceAll("\\$\\{" + extendDto.getFieldName() + "\\}", String.valueOf(extendDto.getValue()));
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- } else if (ExamNumberStyleEnum.FILL.equals(basicCardRule.getExamNumberStyle())) {
|
|
|
- String fillFields = basicCardRule.getFillFields();
|
|
|
- if (StringUtils.isNotBlank(fillFields)) {
|
|
|
if (examStudent != null) {
|
|
|
// 根据题卡规则必选字段,替换相应值,没有则“”
|
|
|
List<StudentExtendDto> studentExtendDtos = createExtendObject(examDetail, examStudent, basicCardRule);
|
|
|
- if (CollectionUtils.isNotEmpty(studentExtendDtos)) {
|
|
|
- for (String s : fillFields.split(",")) {
|
|
|
- Optional<StudentExtendDto> extendDto = studentExtendDtos.stream().filter(m -> m.getFieldName().equals(s)).findFirst();
|
|
|
- if (extendDto.isPresent()) {
|
|
|
- StudentExtendDto studentExtendDto = extendDto.get();
|
|
|
- studentHtml = studentHtml.replaceAll("\\$\\{" + studentExtendDto.getFieldName() + "\\}", String.valueOf(studentExtendDto.getValue()));
|
|
|
+ if (studentExtendDtos != null) {
|
|
|
+ for (StudentExtendDto extendDto : studentExtendDtos) {
|
|
|
+ studentHtml = studentHtml.replaceAll("\\$\\{" + extendDto.getFieldName() + "\\}", String.valueOf(extendDto.getValue()));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else if (ExamNumberStyleEnum.FILL.equals(basicCardRule.getExamNumberStyle())) {
|
|
|
+ String fillFields = basicCardRule.getFillFields();
|
|
|
+ if (StringUtils.isNotBlank(fillFields)) {
|
|
|
+ if (examStudent != null) {
|
|
|
+ // 根据题卡规则必选字段,替换相应值,没有则“”
|
|
|
+ List<StudentExtendDto> studentExtendDtos = createExtendObject(examDetail, examStudent, basicCardRule);
|
|
|
+ if (CollectionUtils.isNotEmpty(studentExtendDtos)) {
|
|
|
+ for (String s : fillFields.split(",")) {
|
|
|
+ Optional<StudentExtendDto> extendDto = studentExtendDtos.stream().filter(m -> m.getFieldName().equals(s)).findFirst();
|
|
|
+ if (extendDto.isPresent()) {
|
|
|
+ StudentExtendDto studentExtendDto = extendDto.get();
|
|
|
+ studentHtml = studentHtml.replaceAll("\\$\\{" + studentExtendDto.getFieldName() + "\\}", String.valueOf(studentExtendDto.getValue()));
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ } else {
|
|
|
+ // 替换条码参数
|
|
|
+ studentHtml = studentHtml.replaceAll("<img src=\"data:image/png;base64,\\$\\{examNumber\\}\">", "");
|
|
|
+ studentHtml = studentHtml.replaceAll("\\$\\{examNumberStr\\}", "");
|
|
|
}
|
|
|
|
|
|
studentHtml = studentHtml.replaceAll("\\$\\{packageCodeDom\\}", "");
|
|
@@ -1019,12 +1025,13 @@ public class CreatePdfNewUtil {
|
|
|
/**
|
|
|
* 通用题卡html
|
|
|
*
|
|
|
- * @param htmlContent html内容
|
|
|
+ * @param examCard examCard
|
|
|
* @param paperType 卷型
|
|
|
* @param basicCardRule 题卡规则
|
|
|
* @param backupPackageCode 备用题卡条码号
|
|
|
*/
|
|
|
- public String replaceBackupCardHtmlParam(String htmlContent, String paperType, BasicCardRule basicCardRule, String backupPackageCode) {
|
|
|
+ public String replaceBackupCardHtmlParam(ExamCard examCard, String paperType, BasicCardRule basicCardRule, String backupPackageCode) {
|
|
|
+ String htmlContent = examCard.getHtmlContent();
|
|
|
// 替换条码参数
|
|
|
htmlContent = htmlContent.replaceAll("<img src=\"data:image/png;base64,\\$\\{examNumber\\}\">", "");
|
|
|
htmlContent = htmlContent.replaceAll("\\$\\{examNumberStr\\}", "");
|
|
@@ -1061,7 +1068,30 @@ public class CreatePdfNewUtil {
|
|
|
if (StringUtils.isNotBlank(backupPackageCode)) {
|
|
|
//通用题卡生成卷袋贴条码
|
|
|
String packageCodeImg = GoogleBarCodeUtil.createBarCode(backupPackageCode, false);
|
|
|
- htmlContent = htmlContent.replaceAll("\\$\\{packageCodeDom\\}", "<img src='" + "data:image/png;base64," + packageCodeImg + "'><p>" + backupPackageCode + "</p>");
|
|
|
+ // 上传通卡
|
|
|
+ if (CardCreateMethodEnum.UPLOAD.equals(examCard.getCreateMethod())) {
|
|
|
+ if (htmlContent.contains("<div class=\"page-box page-box-0\">")) {
|
|
|
+ String packageCodeDiv = "<div class=\"page-box page-box-0\"><div class=\"package-number\" style=\"position: absolute;width: 200px;height: 40px;top: 10px;right: 25%;margin-left: -100px;text-align: center;z-index: 99;\"><img src=\"data:image/png;base64," + packageCodeImg + "\" style=\"display: block; height: 28px; width: 100%\" /><p style=\"line-height: 1; font-size: 12px; margin: 0;\">" + backupPackageCode + "</p></div>";
|
|
|
+ htmlContent = htmlContent.replaceAll("<div class=\"page-box page-box-0\">", packageCodeDiv);
|
|
|
+ } else if (htmlContent.contains("<div class=\"page-box page-box-A3 page-box-0\">")) {
|
|
|
+ String packageCodeDiv = "<div class=\"page-box page-box-A3 page-box-0\"><div class=\"package-number\" style=\"position: absolute;width: 200px;height: 40px;top: 10px;right: 25%;margin-left: -100px;text-align: center;z-index: 99;\"><img src=\"data:image/png;base64," + packageCodeImg + "\" style=\"display: block; height: 28px; width: 100%\" /><p style=\"line-height: 1; font-size: 12px; margin: 0;\">" + backupPackageCode + "</p></div>";
|
|
|
+ htmlContent = htmlContent.replaceAll("<div class=\"page-box page-box-A3 page-box-0\">", packageCodeDiv);
|
|
|
+ } else if (htmlContent.contains("<div class=\"page-box page-box-A3 page-box-0 page-box-less\">")) {
|
|
|
+ String packageCodeDiv = "<div class=\"page-box page-box-A3 page-box-0 page-box-less\"><div class=\"package-number\" style=\"position: absolute;width: 200px;height: 40px;top: 10px;right: 25%;margin-left: -100px;text-align: center;z-index: 99;\"><img src=\"data:image/png;base64," + packageCodeImg + "\" style=\"display: block; height: 28px; width: 100%\" /><p style=\"line-height: 1; font-size: 12px; margin: 0;\">" + backupPackageCode + "</p></div>";
|
|
|
+ htmlContent = htmlContent.replaceAll("<div class=\"page-box page-box-A3 page-box-0 page-box-less\">", packageCodeDiv);
|
|
|
+ } else if (htmlContent.contains("<div class=\"page-box page-box-A4 page-box-0\">")) {
|
|
|
+ String packageCodeDiv = "<div class=\"page-box page-box-A4 page-box-0\"><div class=\"package-number\" style=\"position: absolute;width: 200px;height: 40px;top: 10px;right: 25%;margin-left: -100px;text-align: center;z-index: 99;\"><img src=\"data:image/png;base64," + packageCodeImg + "\" style=\"display: block; height: 28px; width: 100%\" /><p style=\"line-height: 1; font-size: 12px; margin: 0;\">" + backupPackageCode + "</p></div>";
|
|
|
+ htmlContent = htmlContent.replaceAll("<div class=\"page-box page-box-A4 page-box-0\">", packageCodeDiv);
|
|
|
+ } else if (htmlContent.contains("<div class=\"page-box page-box-A4 page-box-0 page-box-less\">")) {
|
|
|
+ String packageCodeDiv = "<div class=\"page-box page-box-A4 page-box-0 page-box-less\"><div class=\"package-number\" style=\"position: absolute;width: 200px;height: 40px;top: 10px;right: 25%;margin-left: -100px;text-align: center;z-index: 99;\"><img src=\"data:image/png;base64," + packageCodeImg + "\" style=\"display: block; height: 28px; width: 100%\" /><p style=\"line-height: 1; font-size: 12px; margin: 0;\">" + backupPackageCode + "</p></div>";
|
|
|
+ htmlContent = htmlContent.replaceAll("<div class=\"page-box page-box-A4 page-box-0 page-box-less\">", packageCodeDiv);
|
|
|
+ } else if (htmlContent.contains("<div id=\"preview-page-box-0\" class=\"page-box page-box-A3 page-box-0 page-box-less\">")) {
|
|
|
+ String packageCodeDiv = "<div id=\"preview-page-box-0\" class=\"page-box page-box-A3 page-box-0 page-box-less\"><div class=\"package-number\" style=\"position: absolute;width: 200px;height: 40px;top: 10px;right: 25%;margin-left: -100px;text-align: center;z-index: 99;\"><img src=\"data:image/png;base64," + packageCodeImg + "\" style=\"display: block; height: 28px; width: 100%\" /><p style=\"line-height: 1; font-size: 12px; margin: 0;\">" + backupPackageCode + "</p></div>";
|
|
|
+ htmlContent = htmlContent.replaceAll("<div id=\"preview-page-box-0\" class=\"page-box page-box-A3 page-box-0 page-box-less\">", packageCodeDiv);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ htmlContent = htmlContent.replaceAll("\\$\\{packageCodeDom\\}", "<img src='" + "data:image/png;base64," + packageCodeImg + "'><p>" + backupPackageCode + "</p>");
|
|
|
+ }
|
|
|
} else {
|
|
|
htmlContent = htmlContent.replaceAll("\\$\\{packageCodeDom\\}", "");
|
|
|
}
|