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