|
|
|
@ -2093,6 +2093,32 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService {
|
|
|
|
dto1.put("dataTitle"+(abctitles.size()+bpDefects.size()+5),"0%");
|
|
|
|
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);
|
|
|
|
dtos.add(dto1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|