fuliqi
2024-08-21 26b03b6720fe222be3fdad7931a94a4842dca0c2
Merge remote-tracking branch 'origin/master'
7个文件已修改
50 ■■■■ 已修改文件
ycl-pojo/src/main/java/com/ycl/platform/domain/entity/Platform.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/form/PlatformForm.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/vo/PlatformVO.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateReportServiceImpl.java 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/service/impl/PlatformServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/resources/mapper/zgyw/CalculateReportMapper.xml 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/resources/mapper/zgyw/PlatformMapper.xml 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
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;
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;
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;
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);
        }
    }
}
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);
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>
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