|
@@ -15,6 +15,7 @@ import java.io.*;
|
|
|
import java.net.URLEncoder;
|
|
|
import java.util.List;
|
|
|
import java.util.*;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* pdf模板内容填充
|
|
@@ -50,6 +51,96 @@ public class PdfFillUtils {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 签到表预览数据
|
|
|
+ *
|
|
|
+ * @param response response
|
|
|
+ * @param data 数据内容
|
|
|
+ * @param fileName 文件名
|
|
|
+ */
|
|
|
+ public static String parseSignTempData(String data, String fileName) {
|
|
|
+ PdfSignDto pdfFillDto = new PdfSignDto();
|
|
|
+ pdfFillDto.setTitle("签到表样例");
|
|
|
+ pdfFillDto.setPackageNumber("123456789");
|
|
|
+
|
|
|
+ JSONObject jsonObject = JSON.parseObject(data);
|
|
|
+ // 基础信息
|
|
|
+ List<Map<String, String>> basicPlate = new ArrayList<>();
|
|
|
+ String basicData = jsonObject.getString("basic");
|
|
|
+ List<JSONObject> basicObjectList = JSON.parseArray(basicData, JSONObject.class).stream().filter(m->m.getBoolean("enable")).collect(Collectors.toList());
|
|
|
+ Map<String, String> basicMap;
|
|
|
+ for (JSONObject object : basicObjectList) {
|
|
|
+ basicMap = new HashMap<>();
|
|
|
+ basicMap.put("code", object.getString("code"));
|
|
|
+ basicMap.put("name", object.getString("name"));
|
|
|
+ basicMap.put("value", "xxx");
|
|
|
+ basicPlate.add(basicMap);
|
|
|
+ }
|
|
|
+ pdfFillDto.setBasicPlate(basicPlate);
|
|
|
+
|
|
|
+ // 表头信息
|
|
|
+ String studentData = jsonObject.getString("table");
|
|
|
+ List<JSONObject> studentObjectList = JSON.parseArray(studentData, JSONObject.class).stream().filter(m -> m.getBoolean("enable")).collect(Collectors.toList());
|
|
|
+ Map<String, String> studentHeadPlateMap = new LinkedHashMap<>();
|
|
|
+ for (JSONObject object : studentObjectList) {
|
|
|
+ studentHeadPlateMap.put(object.getString("code"), object.getString("name"));
|
|
|
+ }
|
|
|
+ studentHeadPlateMap.put("studentSign", "签名");
|
|
|
+ pdfFillDto.setStudentHeadPlate(studentHeadPlateMap);
|
|
|
+
|
|
|
+
|
|
|
+ // 考生信息
|
|
|
+ List<Map<String, String>> studentPlate = new ArrayList<>();
|
|
|
+ for (int i = 0; i < 60; i++) {
|
|
|
+ Map<String, String> studentMap = new HashMap<>();
|
|
|
+ for (JSONObject object : studentObjectList) {
|
|
|
+ studentMap.put(object.getString("code"), "xxx");
|
|
|
+ }
|
|
|
+ studentMap.put("studentSign", "");
|
|
|
+ studentPlate.add(studentMap);
|
|
|
+ }
|
|
|
+ pdfFillDto.setStudentPlate(studentPlate);
|
|
|
+ try {
|
|
|
+ CreatePrintPdfUtil createPrintPdfUtil = new CreatePrintPdfUtil();
|
|
|
+ return createPrintPdfUtil.createSignPdf(pdfFillDto, fileName, true);
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 卷袋贴临时数据
|
|
|
+ *
|
|
|
+ * @param data data
|
|
|
+ */
|
|
|
+ public static String packageTempData(String data, String fileName) {
|
|
|
+ PdfPackageDto pdfPackageDto = new PdfPackageDto();
|
|
|
+ pdfPackageDto.setTitle("卷袋贴样例");
|
|
|
+ pdfPackageDto.setPackageNumber("123456789");
|
|
|
+
|
|
|
+ List<JSONObject> basicObjectList = JSON.parseArray(data, JSONObject.class).stream().filter(m->m.getBoolean("enable")).collect(Collectors.toList());
|
|
|
+ // 基础信息
|
|
|
+ List<Map<String, String>> basicPlate = new ArrayList<>();
|
|
|
+ for (JSONObject object : basicObjectList) {
|
|
|
+ Map<String, String> basicMap = new HashMap<>();
|
|
|
+ basicMap.put("code", object.getString("code"));
|
|
|
+ basicMap.put("name", object.getString("name"));
|
|
|
+ basicMap.put("value", "xxx");
|
|
|
+ basicPlate.add(basicMap);
|
|
|
+ }
|
|
|
+ pdfPackageDto.setBasicPlate(basicPlate);
|
|
|
+
|
|
|
+ try {
|
|
|
+ CreatePrintPdfUtil createPrintPdfUtil = new CreatePrintPdfUtil();
|
|
|
+ return createPrintPdfUtil.createPackagePdf(pdfPackageDto, fileName, false);
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
public static void saveFile(ByteArrayOutputStream baos, String fileName) {
|
|
|
FileOutputStream fileOutputStream = null;
|
|
|
try {
|
|
@@ -207,101 +298,4 @@ public class PdfFillUtils {
|
|
|
return barcode128.createImageWithBarcode(writer.getDirectContent(), barColor, textColor);
|
|
|
}
|
|
|
|
|
|
-
|
|
|
- /**
|
|
|
- * 卷袋贴临时数据
|
|
|
- *
|
|
|
- * @param data data
|
|
|
- */
|
|
|
- public static void packageTempData(HttpServletResponse response, String data, String fileName) {
|
|
|
- PdfPackageDto pdfPackageDto = new PdfPackageDto();
|
|
|
- pdfPackageDto.setTitle("测试卷袋贴");
|
|
|
- pdfPackageDto.setPackageNumber("20000213134");
|
|
|
-
|
|
|
- List<JSONObject> basicObjectList = JSON.parseArray(data, JSONObject.class);
|
|
|
- // 基础信息
|
|
|
- List<Map<String, String>> basicPlate = new ArrayList<>();
|
|
|
- for (JSONObject object : basicObjectList) {
|
|
|
- Map<String, String> basicMap = new HashMap<>();
|
|
|
- basicMap.put("code", object.getString("code"));
|
|
|
- basicMap.put("name", object.getString("name"));
|
|
|
- basicMap.put("value", "XXXXXX");
|
|
|
- basicPlate.add(basicMap);
|
|
|
- }
|
|
|
- pdfPackageDto.setBasicPlate(basicPlate);
|
|
|
-
|
|
|
- try {
|
|
|
- CreatePrintPdfUtil createPrintPdfUtil = new CreatePrintPdfUtil();
|
|
|
- createPrintPdfUtil.createPackagePdf(response, pdfPackageDto, fileName, false);
|
|
|
- } catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 签到表预览数据
|
|
|
- *
|
|
|
- * @param response response
|
|
|
- * @param data 数据内容
|
|
|
- * @param fileName 文件名
|
|
|
- */
|
|
|
- public static void parseSignTempData(HttpServletResponse response, String data, String fileName) {
|
|
|
- PdfSignDto pdfFillDto = new PdfSignDto();
|
|
|
- pdfFillDto.setTitle("XXXXX签到表");
|
|
|
- pdfFillDto.setPackageNumber("123456789");
|
|
|
-
|
|
|
- JSONObject jsonObject = JSON.parseObject(data);
|
|
|
- // 基础信息
|
|
|
- List<Map<String, String>> basicPlate = new ArrayList<>();
|
|
|
- String basicData = jsonObject.getString("basic");
|
|
|
- List<JSONObject> basicObjectList = JSON.parseArray(basicData, JSONObject.class);
|
|
|
- Map<String, String> basicMap;
|
|
|
- for (JSONObject object : basicObjectList) {
|
|
|
- basicMap = new HashMap<>();
|
|
|
- basicMap.put("code", object.getString("code"));
|
|
|
- basicMap.put("name", object.getString("name"));
|
|
|
- basicMap.put("value", "XXXXXX");
|
|
|
- basicPlate.add(basicMap);
|
|
|
- }
|
|
|
- basicMap = new HashMap<>();
|
|
|
- basicMap.put("code", "actualExamCount");
|
|
|
- basicMap.put("name", "实考人数");
|
|
|
- basicMap.put("value", "");
|
|
|
- basicPlate.add(basicMap);
|
|
|
-
|
|
|
- pdfFillDto.setBasicPlate(basicPlate);
|
|
|
-
|
|
|
- // 表头信息
|
|
|
- String studentData = jsonObject.getString("table");
|
|
|
- List<JSONObject> studentObjectList = JSON.parseArray(studentData, JSONObject.class);
|
|
|
- Map<String, String> studentHeadPlateMap = new LinkedHashMap<>();
|
|
|
- for (JSONObject object : studentObjectList) {
|
|
|
- studentHeadPlateMap.put(object.getString("code"), object.getString("name"));
|
|
|
- studentHeadPlateMap.put("studentCode", "学号");
|
|
|
- studentHeadPlateMap.put("studentName", "姓名");
|
|
|
- studentHeadPlateMap.put("className", "班级");
|
|
|
- }
|
|
|
- studentHeadPlateMap.put("studentSign", "签名");
|
|
|
- pdfFillDto.setStudentHeadPlate(studentHeadPlateMap);
|
|
|
-
|
|
|
-
|
|
|
- // 考生信息
|
|
|
- List<Map<String, String>> studentPlate = new ArrayList<>();
|
|
|
- for (int i = 0; i < 55; i++) {
|
|
|
- Map<String, String> studentMap = new HashMap<>();
|
|
|
- for (JSONObject object : studentObjectList) {
|
|
|
- studentMap.put(object.getString("code"), "XXXXXX");
|
|
|
- }
|
|
|
- studentMap.put("studentSign", "");
|
|
|
- studentPlate.add(studentMap);
|
|
|
- }
|
|
|
- pdfFillDto.setStudentPlate(studentPlate);
|
|
|
- try {
|
|
|
- CreatePrintPdfUtil createPrintPdfUtil = new CreatePrintPdfUtil();
|
|
|
- createPrintPdfUtil.createSignPdf(response, pdfFillDto, fileName, false);
|
|
|
- } catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
}
|