From 24187ca6d941ab35524b805cec1ba87f97a5e376 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B4=BE=E5=90=8C=E5=AD=A6?= Date: Wed, 3 Dec 2025 08:43:32 +0800 Subject: [PATCH] =?UTF-8?q?feat(report):=20=E4=BC=98=E5=8C=96=E8=87=AA?= =?UTF-8?q?=E5=AE=9A=E4=B9=89=E6=8A=A5=E5=91=8A=E6=95=B0=E5=80=BC=E8=AE=A1?= =?UTF-8?q?=E7=AE=97=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 引入NumberUtil工具类判断字符串是否为数字 - 修复治理前后数据值的BigDecimal转换逻辑 - 确保计算公式中使用正确的数值进行比较和运算 - 提高数值处理的准确性和健壮性 fix(service): 修复敏感用户服务更新逻辑 - 修改保存方法返回值直接返回this.save结果 - 更正更新操作调用this.updateById方法 - 修复查询条件中ID比较的参数传递问题 - 确保更新时排除当前记录的唯一性校验正确 feat(vo): 扩展敏感用户视图对象字段 - 新增用户协议容量字段userAgreementCapacity - 添加装机容量字段installedCapacity - 增加所属厂站名称字段substationName - 完善相关字段注释说明 --- .../csharmonic/pojo/vo/PqSensitiveUserVo.java | 15 +++++++++++++++ .../service/impl/CustomReportServiceImpl.java | 7 ++++--- .../service/impl/PqSensitiveUserServiceImpl.java | 8 +++----- 3 files changed, 22 insertions(+), 8 deletions(-) diff --git a/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/vo/PqSensitiveUserVo.java b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/vo/PqSensitiveUserVo.java index b54d5b5..17b6358 100644 --- a/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/vo/PqSensitiveUserVo.java +++ b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/vo/PqSensitiveUserVo.java @@ -46,4 +46,19 @@ public class PqSensitiveUserVo implements Serializable{ * 是否治理 */ private String isGovern; + + /** + * 用户协议容量 + */ + private Double userAgreementCapacity; + + /** + * 装机容量 + */ + private Double installedCapacity; + + /** + * 所属厂站名称 + */ + private String substationName; } diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/CustomReportServiceImpl.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/CustomReportServiceImpl.java index 7d15f8d..c888d77 100644 --- a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/CustomReportServiceImpl.java +++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/CustomReportServiceImpl.java @@ -7,6 +7,7 @@ import cn.hutool.core.date.TimeInterval; import cn.hutool.core.io.IoUtil; import cn.hutool.core.text.StrPool; import cn.hutool.core.util.CharsetUtil; +import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.json.*; import com.baomidou.dynamic.datasource.annotation.DS; @@ -343,13 +344,13 @@ public class CustomReportServiceImpl implements CustomReportService { if (afterData != null && beforeData != null) { String beforeDataValue = beforeData.getValue(); String afterDataValue = afterData.getValue(); - if (StrUtil.isNotEmpty(beforeDataValue) && StrUtil.isNotEmpty(afterDataValue)) { + if (NumberUtil.isNumber(beforeDataValue) && NumberUtil.isNumber(afterDataValue)) { // (治理前 - 治理后) / 治理前 * 100 - BigDecimal before = new BigDecimal(beforeData.getValue()); + BigDecimal before = new BigDecimal(beforeDataValue); if (before.compareTo(BigDecimal.ZERO) == 0) { value = "0.00"; } else { - BigDecimal after = new BigDecimal(afterData.getValue()); + BigDecimal after = new BigDecimal(afterDataValue); BigDecimal result = before.subtract(after) .divide(before, 4, RoundingMode.HALF_UP) .multiply(BigDecimal.valueOf(100)) diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/PqSensitiveUserServiceImpl.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/PqSensitiveUserServiceImpl.java index afc35a1..c27800c 100644 --- a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/PqSensitiveUserServiceImpl.java +++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/PqSensitiveUserServiceImpl.java @@ -92,8 +92,7 @@ public class PqSensitiveUserServiceImpl extends ServiceImpl