From 658f06778c80893e8618d62357cebf49aea9346e Mon Sep 17 00:00:00 2001 From: jinlin <jinlin> Date: 星期一, 12 八月 2024 10:01:24 +0800 Subject: [PATCH] 修改 --- modules/mainPart/src/main/java/com/zt/life/modules/mainPart/TestScheme/service/TestSchemeService.java | 24 +++++++++++++++--------- 1 files changed, 15 insertions(+), 9 deletions(-) diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/TestScheme/service/TestSchemeService.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/TestScheme/service/TestSchemeService.java index e39eb41..439e250 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/TestScheme/service/TestSchemeService.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/TestScheme/service/TestSchemeService.java @@ -8,10 +8,13 @@ import org.springframework.stereotype.Service; import com.zt.common.db.query.QueryFilter; +import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.ArrayList; import java.util.Formatter; import java.util.List; import java.util.stream.Collectors; +import java.util.stream.Stream; /** @@ -46,11 +49,11 @@ public List<ResultDto> getResult(ConditionDto dto) { List<ResultDto> result = new ArrayList<>(); List<TestScheme> list = baseDao.getList(); - if (dto.getTjlx().equals("鏉′欢1")) { + if (dto.getTjlx().equals("鎸夐闄╁悕涔夊�兼煡璇�")) { result = this.getCondition1(dto, list); - } else if (dto.getTjlx().equals("鏉′欢2")) { + } else if (dto.getTjlx().equals("涓嶉檺瀹氱敓浜ф柟椋庨櫓鏌ヨ")) { result = this.getCondition2(dto, list); - } else if (dto.getTjlx().equals("鏉′欢3")) { + } else if (dto.getTjlx().equals("涓嶉檺瀹氳瀹氬�兼煡璇�")) { result = this.getCondition3(dto, list); } return result; @@ -63,7 +66,7 @@ for (int i = 1; i <= 10; i++) { Integer finalI = i; TestScheme data1 = list.stream().filter(k -> k.getPa().equals(dto.getUserRisk()) && k.getPc() == (2 * finalI + 2)).findFirst().get();// - TestScheme data2 = list.stream().filter(k -> k.getPa().equals(1 - dto.getUserRisk()) && k.getPc() == (2 * finalI + 2)).findFirst().get();// + TestScheme data2 = list.stream().filter(k -> k.getPa().equals(BigDecimal.ONE.subtract(dto.getUserRisk())) && k.getPc() == (2 * finalI + 2)).findFirst().get();// if (data1 != null && data2 != null) { Double value = data2.getValue() / data1.getValue(); double strate = dto.getMinAccepValue() / dto.getSpecifiedValue(); @@ -82,11 +85,14 @@ double TST1 = 0; //T/胃1 double TST0 = 0; //T/胃0 Integer finalC = C; - TestScheme data3 = list.stream().filter(k -> k.getPa().equals(1 - dto.getUserRisk()) && k.getPc() == (2 * finalC + 2)).findFirst().get();// + Stream<TestScheme> testSchemeStream = list.stream().filter(k -> k.getPa().equals(dto.getUserRisk()) && k.getPc() == (2 * finalC + 2)); + TestScheme data3 = testSchemeStream.findFirst().get(); if (data3 != null) { TST1 = data3.getValue() / 2; //T/胃1 //TST1 = Convert.ToDouble(TST1.ToString("G2")); //鍙栦袱浣嶆湁鏁堟暟瀛� - if (TST1 < 10) TST1 = TST1 + 0.1; + if (TST1 < 10) { + TST1 = TST1 + 0.1; + } T = TST1 * dto.getMinAccepValue(); //鎬昏瘯楠屾椂闂� TST0 = T / dto.getSpecifiedValue(); //T/胃0 TST1 * minAccepValue / specifiedValue } @@ -143,10 +149,10 @@ private List<ResultDto> getCondition3(ConditionDto dto, List<TestScheme> list) { List<ResultDto> result = new ArrayList<>(); - for (int i = 0; i <= dto.getShowFailureTime(); i++) { + for (int i = 0; i < dto.getShowFailureTime(); i++) { Integer finalI = i; List<TestScheme> data = list.stream().filter(k -> k.getPa().equals(dto.getUserRisk()) && k.getPc() == (2 * finalI + 2)).collect(Collectors.toList());// - List<TestScheme> data2 = list.stream().filter(k -> k.getPa().equals(1 - dto.getProductionRisk()) && k.getPc() == (2 * finalI + 2)).collect(Collectors.toList());// + List<TestScheme> data2 = list.stream().filter(k -> k.getPa().equals(BigDecimal.ONE.subtract(dto.getProductionRisk())) && k.getPc() == (2 * finalI + 2)).collect(Collectors.toList());// double T = 0; double TST1 = 0; // T/胃1 double TST0 = 0;// T/胃0 @@ -168,7 +174,7 @@ userRisk = userRisk + Math.pow(TST1, r) * Math.pow(e, -TST1) / getjc(r); } ResultDto resultDto = new ResultDto(); - resultDto.setAcceptNumber(i); + resultDto.setAcceptNumber(i + 1); resultDto.setTotalTestTime(String.valueOf(Math.round(T))); resultDto.setNumber(String.valueOf(Math.round(ST0))); resultDto.setProductionRiskReal(new Formatter().format("%.2f", productionRisk * 100).toString()); -- Gitblit v1.9.1