From 26b03b6720fe222be3fdad7931a94a4842dca0c2 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期三, 21 八月 2024 11:52:49 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ycl-server/src/main/java/com/ycl/platform/service/impl/PlatformServiceImpl.java        |    1 +
 ycl-pojo/src/main/java/com/ycl/platform/domain/form/PlatformForm.java                  |    5 ++++-
 ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateReportServiceImpl.java |   20 ++++++++++++++++----
 ycl-pojo/src/main/java/com/ycl/platform/domain/entity/Platform.java                    |    4 ++++
 ycl-pojo/src/main/java/com/ycl/platform/domain/vo/PlatformVO.java                      |    3 +++
 ycl-server/src/main/resources/mapper/zgyw/PlatformMapper.xml                           |    4 +++-
 ycl-server/src/main/resources/mapper/zgyw/CalculateReportMapper.xml                    |   13 +++++++------
 7 files changed, 38 insertions(+), 12 deletions(-)

diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/Platform.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/Platform.java
index 0a4a0c5..8f75456 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/Platform.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/Platform.java
@@ -22,6 +22,10 @@
     /** 骞冲彴鍚嶇О */
     private String platformName;
 
+    @TableField("sub_platform_name")
+    /** 瀛愮骇骞冲彴鍚嶇О */
+    private String subPlatformName;
+
     @TableField("platform_ip")
     /** 骞冲彴鍚嶇О */
     private String platformIP;
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/form/PlatformForm.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/form/PlatformForm.java
index d81528d..c820bad 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/form/PlatformForm.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/form/PlatformForm.java
@@ -24,10 +24,13 @@
 @ApiModel(value = "Platform琛ㄥ崟", description = "骞冲彴杩愯鐩戞帶琛ㄥ崟")
 public class PlatformForm extends AbsForm {
 
-    @NotBlank(message = "骞冲彴鍚嶇О涓嶈兘涓虹┖", groups = {Add.class, Update.class})
     @ApiModelProperty("骞冲彴鍚嶇О")
     private String platformName;
 
+    /** 瀛愮骇骞冲彴鍚嶇О */
+    @ApiModelProperty("骞冲彴鍚嶇О")
+    private String subPlatformName;
+
     @NotBlank(message = "骞冲彴IP涓嶈兘涓虹┖", groups = {Add.class, Update.class})
     @ApiModelProperty("骞冲彴IP")
     private String platformIP;
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/PlatformVO.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/PlatformVO.java
index c0c328b..7e8f169 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/PlatformVO.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/PlatformVO.java
@@ -19,6 +19,9 @@
     /** 骞冲彴鍚嶇О */
     private String platformName;
 
+    /** 瀛愮骇骞冲彴鍚嶇О */
+    private String subPlatformName;
+
     /** 骞冲彴IP */
     private String platformIP;
 
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateReportServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateReportServiceImpl.java
index 8020953..eab4a39 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateReportServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateReportServiceImpl.java
@@ -1,10 +1,15 @@
 package com.ycl.platform.service.impl;
 
 import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.ExcelWriter;
+import com.alibaba.excel.write.metadata.WriteSheet;
+import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ycl.platform.domain.entity.CalculateRecord;
 import com.ycl.platform.domain.entity.CalculateReport;
+import com.ycl.platform.domain.entity.CalculateRule;
 import com.ycl.platform.domain.excel.CalculateExport;
 import com.ycl.platform.domain.form.CalculateReportBackfillForm;
 import com.ycl.platform.domain.form.CalculateReportForm;
@@ -14,6 +19,7 @@
 import com.ycl.platform.mapper.CalculateRecordMapper;
 import com.ycl.platform.mapper.CalculateReportMapper;
 import com.ycl.platform.service.CalculateReportService;
+import com.ycl.platform.service.ICalculateRuleService;
 import com.ycl.system.Result;
 import com.ycl.system.page.PageUtil;
 import enumeration.general.CalculateReportStatusEnum;
@@ -44,7 +50,7 @@
 @RequiredArgsConstructor
 public class CalculateReportServiceImpl extends ServiceImpl<CalculateReportMapper, CalculateReport> implements CalculateReportService {
 
-    private final CalculateReportMapper calculateReportMapper;
+    private final ICalculateRuleService calculateRuleService;
     private final CalculateRecordMapper calculateRecordMapper;
 
     /**
@@ -211,13 +217,19 @@
         calculateExport.setNum(list.stream().mapToInt(CalculateExport::getNum).sum());
         calculateExport.setScore(100 + list.stream().mapToInt(CalculateExport::getScore).sum());
         list.add(calculateExport);
+        // 鑾峰彇瑙勫垯
+        List<CalculateRule> ruleList = calculateRuleService.list(new LambdaQueryWrapper<CalculateRule>().eq(CalculateRule::getContractId, contractId));
         // 杈撳嚭鏂囦欢
         response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
         response.setCharacterEncoding("utf-8");
         String fileName = URLEncoder.encode("鏍哥畻鎶ュ憡", StandardCharsets.UTF_8).replace("\\+", "%20");
         response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
-        EasyExcel.write(response.getOutputStream(), CalculateExport.class)
-                .sheet("鏍哥畻鎶ュ憡")
-                .doWrite(list);
+        // 澧炲姞sheet
+        try (ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).build()){
+            WriteSheet sheet = EasyExcel.writerSheet(0, "鏍哥畻鎶ュ憡").head(CalculateExport.class).build();
+            excelWriter.write(list, sheet);
+            WriteSheet sheet2 = EasyExcel.writerSheet(1, "鏍哥畻瑙勫垯").head(CalculateRule.class).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).build();
+            excelWriter.write(ruleList, sheet2);
+        }
     }
 }
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/PlatformServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/PlatformServiceImpl.java
index b1bb3f9..aa4c25c 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/PlatformServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/PlatformServiceImpl.java
@@ -54,6 +54,7 @@
             List<Platform> childList = form.getDeployList().stream().map(deploy -> {
                 Platform child = new Platform();
                 BeanUtils.copyProperties(deploy, child);
+                child.setPlatformName(entity.getPlatformName());
                 child.setParentId(entity.getId());
                 child.setCreateTime(now);
                 child.setUpdateTime(now);
diff --git a/ycl-server/src/main/resources/mapper/zgyw/CalculateReportMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/CalculateReportMapper.xml
index a3c9adf..85e8d77 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/CalculateReportMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/CalculateReportMapper.xml
@@ -102,12 +102,13 @@
 
     <select id="exportData" resultType="com.ycl.platform.domain.excel.CalculateExport">
         SELECT
-            SUBSTRING_INDEX(rule_name, '/', 1) AS rule_name,
-            COUNT(*) AS num,
-            -SUM(score) AS score
-        FROM t_contract_score
-        WHERE contract_id = #{contractId} AND auditing_status = 'PASS' AND deleted = 0
-        GROUP BY SUBSTRING_INDEX(rule_name, '/', 1)
+            a.rule_name,
+            COUNT(b.id) AS num,
+            IFNULL(-SUM(score), 0) AS score
+        FROM t_calculate_rule a
+        LEFT JOIN t_contract_score b ON b.rule_id = a.id AND auditing_status = 'PASS' AND b.deleted = 0
+        WHERE a.contract_id = #{contractId} AND a.deleted = 0
+        GROUP BY a.rule_name
     </select>
 
 </mapper>
diff --git a/ycl-server/src/main/resources/mapper/zgyw/PlatformMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/PlatformMapper.xml
index 5102e2b..962b43a 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/PlatformMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/PlatformMapper.xml
@@ -10,6 +10,7 @@
         <result column="area" property="area" />
         <result column="create_time" property="createTime" />
         <result column="update_time" property="updateTime" />
+        <result column="sub_platform_name" property="subPlatformName" />
     </resultMap>
 
 
@@ -45,7 +46,8 @@
             TP.create_time,
             TP.update_time,
             TP.id,
-            TP.parent_id
+            TP.parent_id,
+            TP.sub_platform_name
         FROM
             t_platform TP
         WHERE

--
Gitblit v1.8.0