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