AuditResultRender.java 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. //package com.yaoyicloud.render;
  2. //
  3. //import java.io.IOException;
  4. //import java.nio.file.Paths;
  5. //import java.util.Map;
  6. //import java.util.UUID;
  7. //
  8. //import com.deepoove.poi.config.Configure;
  9. //import com.deepoove.poi.config.ConfigureBuilder;
  10. //import com.deepoove.poi.plugin.table.LoopRowTableRenderPolicy;
  11. //import com.fasterxml.jackson.core.JsonGenerator;
  12. //import com.fasterxml.jackson.core.JsonProcessingException;
  13. //import com.fasterxml.jackson.databind.ObjectMapper;
  14. //import com.fasterxml.jackson.databind.SerializerProvider;
  15. //import com.fasterxml.jackson.databind.module.SimpleModule;
  16. //import com.fasterxml.jackson.databind.ser.std.StdSerializer;
  17. //import com.yaoyicloud.message.FxyProtos.AuditResult;
  18. //import com.yaoyicloud.message.FxyProtos.CheckItemScore;
  19. //import com.yaoyicloud.message.FxyProtos.CheckSummary;
  20. //
  21. //import cn.hutool.core.util.StrUtil;
  22. //
  23. ///**
  24. // * AuditResult渲染器
  25. // *
  26. // */
  27. //public final class AuditResultRender extends AbstractRender {
  28. //
  29. // public AuditResultRender(String cwd) {
  30. // super(cwd);
  31. // }
  32. //
  33. // /**
  34. // * Docx 渲染
  35. // *
  36. // * @param info 数据
  37. // * @param templateFileContent 模板内容
  38. // * @return 本地文件目录
  39. // * @throws IOException
  40. // */
  41. // public String renderDocx(AuditResult info, Map<String, Object> addtionalMap, byte[] templateFileContent) throws IOException {
  42. // ObjectMapper mapper = new ObjectMapper();
  43. // SimpleModule module = new SimpleModule();
  44. // module.addSerializer(new AuditResultSerializer(AuditResult.class));
  45. // module.addSerializer(new CheckItemScoreSerializer(CheckItemScore.class));
  46. // module.addSerializer(new CheckSummarySerializer(CheckSummary.class));
  47. // mapper.registerModule(module);
  48. //
  49. // String jsonStr = mapper.writeValueAsString(info);
  50. //
  51. // // 注: 报告模板的模板变量按照json序列化的结果命名
  52. // // 注: 目前的实现假设:一个session对应一个cwd目录
  53. // ConfigureBuilder builder = Configure.builder();
  54. // builder.bind("checkItemScores", new LoopRowTableRenderPolicy());
  55. // this.docxResultPath = this.renderDocx(jsonStr, addtionalMap, templateFileContent, builder,
  56. // Paths.get(cwd, UUID.randomUUID().toString() + ".docx").toString());
  57. // return this.docxResultPath;
  58. // }
  59. //
  60. // /*
  61. // * 通过序列化和反序列化
  62. // * 1. 默认显示规则的数据转换
  63. // * 2. 避免TL处理模板面对复杂数据类型
  64. // */
  65. // public class AuditResultSerializer extends StdSerializer<AuditResult> {
  66. //
  67. // public AuditResultSerializer() {
  68. // this(null);
  69. // }
  70. //
  71. // public AuditResultSerializer(Class<AuditResult> t) {
  72. // super(t);
  73. // }
  74. //
  75. // @Override
  76. // public void serialize(AuditResult value, JsonGenerator jgen, SerializerProvider provider)
  77. // throws IOException, JsonProcessingException {
  78. //
  79. // jgen.writeStartObject();
  80. // jgen.writeStringField("opinion", StrUtil.isBlank(value.getOpinion()) ? "-" : value.getOpinion());
  81. // jgen.writeStringField("serviceProviderName", value.getServiceProviderName());
  82. // // Note: ignore reportVersion
  83. // jgen.writeStringField("auditDate", value.getAuditDate());
  84. // jgen.writeObjectField("overallSummary", value.getOverallSummary());
  85. // jgen.writeObjectField("checkItemScores", value.getCheckItemScoresList());
  86. // jgen.writeEndObject();
  87. // }
  88. // }
  89. //
  90. // public class CheckItemScoreSerializer extends StdSerializer<CheckItemScore> {
  91. //
  92. // public CheckItemScoreSerializer() {
  93. // this(null);
  94. // }
  95. //
  96. // public CheckItemScoreSerializer(Class<CheckItemScore> t) {
  97. // super(t);
  98. // }
  99. //
  100. // @Override
  101. // public void serialize(CheckItemScore value, JsonGenerator jgen, SerializerProvider provider)
  102. // throws IOException, JsonProcessingException {
  103. //
  104. // jgen.writeStartObject();
  105. // jgen.writeStringField("category", StrUtil.isBlank(value.getCategory()) ? "-" : value.getCategory());
  106. // jgen.writeStringField("itemName", value.getItemName());
  107. // jgen.writeNumberField("score", value.getScore());
  108. // jgen.writeEndObject();
  109. // }
  110. // }
  111. //
  112. // public class CheckSummarySerializer extends StdSerializer<CheckSummary> {
  113. //
  114. // public CheckSummarySerializer() {
  115. // this(null);
  116. // }
  117. //
  118. // public CheckSummarySerializer(Class<CheckSummary> t) {
  119. // super(t);
  120. // }
  121. //
  122. // @Override
  123. // public void serialize(CheckSummary value, JsonGenerator jgen, SerializerProvider provider)
  124. // throws IOException, JsonProcessingException {
  125. // jgen.writeStartObject();
  126. // jgen.writeStringField("score", value.getScore() < 0 ? "-" : String.valueOf(value.getScore()));
  127. // jgen.writeStringField("riskSummary", value.getRiskSummary());
  128. // jgen.writeStringField("suggestion", value.getSuggestion());
  129. // jgen.writeEndObject();
  130. // }
  131. // }
  132. //}