jinlin
2024-09-27 27bf11e737fa1434d234e39db282ab52f3a32114
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/ReliabilityAssessService.java
@@ -1,5 +1,6 @@
package com.zt.life.modules.mainPart.taskReliability.service;
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
import cn.hutool.json.XML;
import com.zt.common.exception.RenException;
@@ -146,46 +147,22 @@
                }
            }
            JSONObject xmlJSONObj = XML.toJSONObject(xml);
            JSONObject jsonObject = xmlJSONObj.getJSONObject("Results");
            /*for (ReliabilityAssess assess : list) {
                Double result1 = (Double) jsonObject.get(assess.getName());
            //JSONObject jsonObject = xmlJSONObj.getJSONObject("Results");
            JSONArray jsonArray = xmlJSONObj.getJSONObject("Results").getJSONArray("Result");
            for (ReliabilityAssess assess : list) {
                Double result1 = null;
                for (int i = 0; i < jsonArray.size(); i++) {
                    String nameValue = (String) jsonArray.getJSONObject(i).get("name");
                    if (nameValue.contains(assess.getId().toString())) {
                        // 获取对应的值
                        result1 = (Double)  jsonArray.getJSONObject(i).get("value");
                        break; // 如果找到就退出循环
                    }
                }
                if (result1 != null) {
                    result1 = Double.valueOf(new Formatter().format("%.2f", result1).toString());
                }
                Double result1=null;
                assess.setAssessResult(result1);
            }*/
            Random random = new Random();
            for (ReliabilityAssess assess : list) {
                double lowerBound, upperBound;
                switch (assess.getType()) {
                    case 5:
                        lowerBound = 0.95;
                        upperBound = 0.99;
                        break;
                    case 4:
                        lowerBound = 0.9;
                        upperBound = 0.95;
                        break;
                    case 3:
                        lowerBound = 0.85;
                        upperBound = 0.9;
                        break;
                    case 2:
                        lowerBound = 0.8;
                        upperBound = 0.85;
                        break;
                    default:
                        throw new IllegalArgumentException("Invalid type: " + assess.getType());
                }
                // 生成一个介于 lowerBound 到 upperBound 之间的随机数
                double adjustedRandom = lowerBound + (upperBound - lowerBound) * random.nextDouble();
                adjustedRandom = Double.parseDouble(new Formatter().format("%.2f", adjustedRandom).toString());
                // 设置评估结果
                assess.setAssessResult(adjustedRandom);
            }
        } else {
            list = null;
@@ -234,7 +211,7 @@
        Long productId = assessResult.getProductId();
        Long taskId = assessResult.getTaskId();
        Long itemId = assessResult.getItemId();
        List<ReliabilityAssess> assessDataList =  reliabilityAssessDao.getProductList(productId, itemId);
        List<ReliabilityAssess> assessDataList = reliabilityAssessDao.getProductList(productId, itemId);
        Task task = taskService.get(taskId);
        XhProductModel product = xhProductModelDao.getById(productId);
        List<XhProductModel> productList = xhProductModelDao.getByShipId(productId);
@@ -570,7 +547,7 @@
    }
    private void addTasksTag(List<TaskPhaseModel> taskPhaseModelAll,
                            Element root) {
                             Element root) {
        Element tasksTag = root.addElement("tasks");
        for (TaskPhaseModel taskPhaseModel : taskPhaseModelAll) {
            Element taskTag = tasksTag.addElement("task");