From df570ada7f90b357fef9f077a3b910df0e4ef018 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E4=B8=87=E9=87=8C?= <1726150332@qq.com> Date: Tue, 25 Nov 2025 14:08:46 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=BB=91=E8=9A=8A=E9=A6=99?= =?UTF-8?q?=E5=88=86=E7=B1=BB=E6=B1=87=E6=80=BB=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/QcStaticTableServiceImpl.java | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcStaticTableServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcStaticTableServiceImpl.java index 2d157333a..e34673924 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcStaticTableServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcStaticTableServiceImpl.java @@ -2093,6 +2093,32 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService { dto1.put("dataTitle"+(abctitles.size()+bpDefects.size()+5),"0%"); } + // 新增:计算dataTitle13的值 + BigDecimal dataTitle13Value = BigDecimal.ZERO; + try { + // 获取dataTitle9、dataTitle10、dataTitle11的值 + BigDecimal dataTitle9 = new BigDecimal(dto1.getOrDefault("dataTitle9", "0")); + BigDecimal dataTitle10 = new BigDecimal(dto1.getOrDefault("dataTitle10", "0")); + BigDecimal dataTitle11 = new BigDecimal(dto1.getOrDefault("dataTitle11", "0")); + BigDecimal dataTitle8 = new BigDecimal(dto1.getOrDefault("dataTitle8", "1")); + + // 计算公式:dataTitle9×1 + dataTitle10×0.65 + dataTitle11×0.35 + BigDecimal weightedSum = dataTitle9.multiply(BigDecimal.ONE) + .add(dataTitle10.multiply(new BigDecimal("0.65"))) + .add(dataTitle11.multiply(new BigDecimal("0.35"))); + + // 除以dataTitle8并转换为百分比 + if(dataTitle8.compareTo(BigDecimal.ZERO) != 0){ + dataTitle13Value = weightedSum + .multiply(new BigDecimal("100")) + .divide(dataTitle8, 2, BigDecimal.ROUND_HALF_UP); + } + } catch (Exception e) { + System.out.println("计算dataTitle13时出错: " + e.getMessage()); + } + + // 更新dataTitle13的值 + dto1.put("dataTitle" + (abctitles.size() + bpDefects.size() + 2), dataTitle13Value + "%"); dtos.add(dto1); }