فهرست منبع

cso报告适配

mamingxu 2 هفته پیش
والد
کامیت
c9978ee754

+ 1 - 0
easier-report-biz/src/main/java/com/yaoyicloud/controller/ReportController.java

@@ -58,6 +58,7 @@ public class ReportController {
                 request,
                 resource.getModuleType()
         );
+
         HttpSession session = SESSION_MAP.get(relationId);
         // 2. 线程安全地更新 Session 中的报告路径列表
         synchronized (session) {

+ 0 - 1
easier-report-biz/src/main/java/com/yaoyicloud/render/BasicInfoRender.java

@@ -58,7 +58,6 @@ public final class BasicInfoRender extends AbstractRender {
         FxyProtos.BasicInfo.Builder basicInfoBuilder = FxyProtos.BasicInfo.newBuilder();
         JsonFormat.parser().merge(info, basicInfoBuilder);
 
-
         FxyProtos.BasicInfo defaultInstance = FxyProtos.BasicInfo.getDefaultInstance();
         FxyProtos.BasicInfo mergedProto = defaultInstance.toBuilder()
                 .mergeFrom(basicInfoBuilder.build())

+ 14 - 4
easier-report-biz/src/main/java/com/yaoyicloud/render/ServiceProviderInfoRender.java

@@ -1,9 +1,11 @@
 package com.yaoyicloud.render;
 
 import java.io.IOException;
+import java.util.ArrayList;
 import java.util.Map;
 import com.deepoove.poi.config.Configure;
 import com.deepoove.poi.config.ConfigureBuilder;
+import com.deepoove.poi.policy.RenderPolicy;
 import com.fasterxml.jackson.core.type.TypeReference;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.google.protobuf.util.JsonFormat;
@@ -48,12 +50,13 @@ public final class ServiceProviderInfoRender extends AbstractRender {
 
         // 配置POI-TL渲染器
         ConfigureBuilder builder = Configure.builder();
-
+        RenderPolicy indicatorsRenderPolicy = this.indicatorsRenderPolicy();
+        builder.bind("checkItemScores", indicatorsRenderPolicy);
         FxyProtos.AuditResult.Builder auditResultBuilder = FxyProtos.AuditResult.newBuilder();
         JsonFormat.parser().merge(info, auditResultBuilder);
 
-        FxyProtos.BasicInfo defaultInstance = FxyProtos.BasicInfo.getDefaultInstance();
-        FxyProtos.BasicInfo mergedProto = defaultInstance.toBuilder()
+        FxyProtos.AuditResult defaultInstance = FxyProtos.AuditResult.getDefaultInstance();
+        FxyProtos.AuditResult mergedProto = defaultInstance.toBuilder()
                 .mergeFrom(auditResultBuilder.build())
                 .build();
 
@@ -67,7 +70,7 @@ public final class ServiceProviderInfoRender extends AbstractRender {
         if (addtionalMap != null) {
             data.putAll(addtionalMap);
         }
-  //      fillBasicDefaultValues(data);
+    //    fillDefaultValues(data);
 
         try {
             // 渲染文档
@@ -79,5 +82,12 @@ public final class ServiceProviderInfoRender extends AbstractRender {
             throw new IOException("文档渲染失败", e);
         }
     }
+    /**
+     * 填充默认值,确保所有必要字段都存在
+     */
+    private void fillDefaultValues(Map<String, Object> data) {
+        Object checkItemScores = data.get("checkItemScores");
+
+    }
 
 }

+ 8 - 1
easier-report-biz/src/main/java/com/yaoyicloud/service/impl/ReportServiceImpl.java

@@ -2,6 +2,8 @@ package com.yaoyicloud.service.impl;
 
 import java.io.File;
 import java.io.FileOutputStream;
+import java.time.LocalDate;
+import java.util.HashMap;
 import java.util.Map;
 
 import com.yaoyicloud.config.FilerepoProperties;
@@ -49,7 +51,9 @@ public class ReportServiceImpl implements ReportService {
         try (FileOutputStream fos = new FileOutputStream(tempTemplateFile)) {
             fos.write(templateBytes);
         }
-        Map<String, Object> processedData = null;
+        Map<String, Object> processedData = new HashMap<>();
+        processedData.put("reportDate", LocalDate.now().toString());
+        processedData.put("type", reportType.getDesc());
         String sessionId = request.getSession().getId();
         String reportPath = null;
         switch (moduleType) {
@@ -62,12 +66,15 @@ public class ReportServiceImpl implements ReportService {
                 reportPath =
                     new BasicInfoRender("temp", filerepoProperties).renderDocx(data, processedData, templateBytes,
                         String.valueOf(relationId));
+                break;
             case PLATFORM_COMPANY_ATTACHMENTSECTION:
                 reportPath = new AttachmentSectionRender("temp", filerepoProperties).renderDocx(data, processedData,
                     templateBytes, String.valueOf(relationId));
+                break;
             case COMMON:
                 reportPath = new ServiceProviderInfoRender("temp", filerepoProperties).renderDocx(data, processedData,
                     templateBytes, String.valueOf(relationId));
+                break;
             default:
                 throw new UnsupportedOperationException("Unsupported module type: " + moduleType);
 

+ 2 - 0
easier-report-biz/src/main/proto/fxy.proto

@@ -42,6 +42,8 @@ message AuditResult {
 
     optional CheckSummary overallSummary = 7;
     repeated CheckItemScore checkItemScores = 8;
+
+  //  optional string reportDate = 11; // ${服务商信息:报告日期}
 }
 
 message SuperiorAuthority { // 直属机关

BIN
easier-report-biz/src/test/resources/docx/service_provider_info.docx