From 6250f74b2a02770a37f2f0144c762f7952a12bd6 Mon Sep 17 00:00:00 2001 From: jinlin <jinlin> Date: 星期二, 18 二月 2025 08:58:51 +0800 Subject: [PATCH] 修改 --- modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/SimulatAssessService.java | 141 ++++++++++++++++++++++++++++++++-------------- 1 files changed, 97 insertions(+), 44 deletions(-) diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/SimulatAssessService.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/SimulatAssessService.java index 7ab70ec..11537ef 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/SimulatAssessService.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/SimulatAssessService.java @@ -121,16 +121,7 @@ Map<Integer, String> templetsStrMap2 = new HashMap<>(); private JSONObject xmlJSONObj; - - /** - * 鍒嗛〉鏌ヨ - * - * @param queryFilter - * @return - */ - /* public List<SimulatAssess> page(QueryFilter queryFilter) { - return baseDao.getList(queryFilter.getQueryParams()); - }*/ + /** * 鍒犻櫎 @@ -257,7 +248,7 @@ JsonUtils2.setJsonValueByPath(textJson, "id".split("/"), UUIDUtil.generateId().toString()); JsonUtils2.setJsonValueByPath(textJson, "attrs/label/textWrap/text".split("/"), dto.getName()); JsonUtils2.setJsonValueByPath(textJson, "position/x".split("/"), 20); - JsonUtils2.setJsonValueByPath(textJson, "position/y".split("/"), y - 15); + JsonUtils2.setJsonValueByPath(textJson, "position/y".split("/"), y + 10); jsonArray3.add(textJson); } @@ -607,7 +598,7 @@ if (jsonArray3.size() == 0) { StatusDto statusDto = new StatusDto(); statusDto.setTimes(phaseModelList.get(j).getGkDuration()); - statusDto.setStatus(""); + statusDto.setStatus("M"); productStatusDto.getStatusList().add(statusDto); } else { for (int a = 0; a < jsonArray3.size(); a++) { @@ -621,6 +612,9 @@ } } if (status != null || times != null) { + if (StringUtils.isBlank(status)) { + status = "M"; + } StatusDto statusDto = new StatusDto(); statusDto.setTimes(times); statusDto.setStatus(status); @@ -909,11 +903,11 @@ ele.addAttribute("value", String.valueOf(failureModel.getParam1())); break; case FailureModel.TYPE_BIN: - ele = failureModelTag.addElement("reliability"); + ele = failureModelTag.addElement("p"); ele.addAttribute("value", String.valueOf(failureModel.getParam1())); ele = failureModelTag.addElement("n"); ele.addAttribute("value", String.valueOf(failureModel.getParam2())); - ele = failureModelTag.addElement("k"); + ele = failureModelTag.addElement("m"); ele.addAttribute("value", String.valueOf(failureModel.getParam3())); break; case FailureModel.TYPE_WBL: @@ -1121,7 +1115,13 @@ .filter(item -> dataId.equals(item.getProductId())) .collect(Collectors.toList()).get(0); } - FailureModel failureModel = createFailureModel(paramData, taskBinoParam); + FailureModel failureModel = null; + if (1 == paramData.getRepairable() && + isRepairDirac(simulatAssess.getRepairDiracFlag(), taskPhaseModel, product.getId())) { + failureModel = createFailureModelDirac(); + } else { + failureModel = createFailureModel(paramData, taskBinoParam); + } failureModels.add(failureModel); Element failureTag = nodeTag.addElement("failure_model"); failureTag.addAttribute("name", failureModel.getId().toString()); @@ -1224,6 +1224,15 @@ return failureModel; } + private FailureModel createFailureModelDirac() { + FailureModel failureModel = new FailureModel(); + failureModel.setId(UUIDUtil.generateId()); + failureModel.setType(FailureModel.TYPE_FIX); + failureModel.setParam1(1); + + return failureModel; + } + private boolean isRepairDirac(Boolean repairDiracFlag, TaskPhaseModel taskPhaseModel, Long productId) { boolean result = false; @@ -1298,15 +1307,30 @@ JSONObject xmlJSONObj = XML.toJSONObject(xml); JSONArray jsonArray = xmlJSONObj.getJSONObject("ResultNodes").getJSONArray("ResultNode"); for (int i = 0; i < jsonArray.size(); i++) { - WeakDto data = new WeakDto(); Long productId1; String nameValue = jsonArray.getJSONObject(i).get("name").toString(); if (StringUtils.isNotBlank(nameValue)) { productId1 = Convert.toLong(nameValue.split("-")[0]); - Double mtbf = (Double) jsonArray.getJSONObject(i).get("mttf"); - Double mttr = (Double) jsonArray.getJSONObject(i).get("mttr"); - Double msr = (Double) jsonArray.getJSONObject(i).get("msr"); + Double mtbf = null; + Double mttr = null; + Double msr = null; + if (!jsonArray.getJSONObject(i).get("mttf").equals("inf")){ + mtbf = (Double)jsonArray.getJSONObject(i).get("mttf"); + }else{ + mtbf = 0.0; + } + if (!jsonArray.getJSONObject(i).get("mttr").equals("inf")){ + mttr = (Double)jsonArray.getJSONObject(i).get("mttr"); + }else{ + mttr = 0.0; + } + if (!jsonArray.getJSONObject(i).get("msr").equals("inf")){ + msr = (Double)jsonArray.getJSONObject(i).get("msr"); + }else{ + msr = 0.0; + } + WeakDto weakDto = new WeakDto(); weakDto.setId(productId1); weakDto.setMtbf(mtbf); @@ -1323,12 +1347,14 @@ } List<WeakDto> productList = baseDao.getProductList(taskId, productId); for (WeakDto item : productList) { - WeakDto dto = map.get(item.getId()); - item.setMtbf(dto.getMtbf()); - item.setMttr(dto.getMttr()); - item.setMsr(dto.getMsr()); - item.setMtbfTime(dto.getMtbf() / item.getTimeRate()); - item.setIsWeak(0); + if (map.get(item.getId()) != null) { + WeakDto dto = map.get(item.getId()); + item.setMtbf(dto.getMtbf()); + item.setMttr(dto.getMttr()); + item.setMsr(dto.getMsr()); + item.setMtbfTime(dto.getMtbf() / item.getTimeRate()); + item.setIsWeak(0); + } } List<WeakDto> treeList = new ArrayList<>(); @@ -1343,13 +1369,15 @@ private void getIsweak(List<WeakDto> treeList) { WeakDto minDto = null; for (WeakDto dto : treeList) { - if (dto.getProductType() == 10) - continue; - if (minDto == null) { - minDto = dto; - } - if (dto.getMtbfTime() < minDto.getMtbfTime()) { - minDto = dto; + if (dto.getMtbfTime() != null) { + if (dto.getProductType() == 10) + continue; + if (minDto == null) { + minDto = dto; + } + if (dto.getMtbfTime() < minDto.getMtbfTime()) { + minDto = dto; + } } } minDto.setIsWeak(1); @@ -1469,24 +1497,53 @@ String[] arr = availability.split(" "); // 閬嶅巻瀛愬瓧绗︿覆鏁扮粍锛屽皢姣忎釜鍏冪礌杞崲涓篸ouble骞跺瓨鍌ㄥ埌double鏁扮粍涓� Double j = 0.0; - Double b = 100.0; for (int a = 0; a < arr.length - 1; a++) { - if (Convert.toDouble(arr[a]) < Convert.toDouble(arr[a+1])) { - System.out.println(arr[a]); - } j = samplPeriod + j; - doubleArray.add(Double.parseDouble(arr[a])); + if (!StringUtils.isEmpty(arr[a])) { + doubleArray.add(Double.parseDouble(arr[a])); + } xList.add(j); } param.setXData(xList); param.setYData(doubleArray); - Double mtbf = (Double) jsonArray.getJSONObject(i).get("mttf"); - Double mttr = (Double) jsonArray.getJSONObject(i).get("mttr"); - Double msr = (Double) jsonArray.getJSONObject(i).get("msr"); + + Double mttfMle = null; + Double mttrMle = null; + Double mtbf = null; + Double mttr = null; + Double msr = null; + if (!jsonArray.getJSONObject(i).get("mttf").equals("inf")){ + mtbf = (Double)jsonArray.getJSONObject(i).get("mttf"); + }else{ + mtbf = 0.0; + } + if (!jsonArray.getJSONObject(i).get("mttr").equals("inf")){ + mttr = (Double)jsonArray.getJSONObject(i).get("mttr"); + }else{ + mttr = 0.0; + } + if (!jsonArray.getJSONObject(i).get("msr").equals("inf")){ + msr = (Double)jsonArray.getJSONObject(i).get("msr"); + }else{ + msr = 0.0; + } + + if (!jsonArray.getJSONObject(i).get("mttr_MLE").equals("inf")){ + mttrMle = (Double)jsonArray.getJSONObject(i).get("mttr_MLE"); + }else{ + mttrMle = 0.0; + } + if(!jsonArray.getJSONObject(i).get("mttf_MLE").equals("inf")){ + mttfMle = (Double) jsonArray.getJSONObject(i).get("mttf_MLE"); + }else{ + mttfMle = 0.0; + } data.setMtbf(mtbf); data.setMttr(mttr); data.setMsr(msr); + data.setMttfMle(mttfMle); + data.setMttrMle(mttrMle); } data.setCurveParam(param); } @@ -1659,12 +1716,8 @@ ObjectMapper mapper = new ObjectMapper(); String jsonStr = null; try { - // 浣跨敤 ObjectMapper 鐨� readValue 鏂规硶锛屽皢鏂囦欢涓殑 JSON 鏁版嵁杞崲涓轰竴涓� Java 瀵硅薄 - // 杩欓噷浣跨敤 Object 绫讳綔涓烘硾鍨嬪弬鏁帮紝琛ㄧず浠绘剰绫诲瀷鐨勫璞� Object obj = mapper.readValue(new File(filePath), Object.class); - // 浣跨敤 ObjectMapper 鐨� writeValueAsString 鏂规硶锛屽皢 Java 瀵硅薄杞崲涓� JSON 瀛楃涓� jsonStr = mapper.writeValueAsString(obj); - } catch (IOException e) { // 澶勭悊寮傚父 e.printStackTrace(); -- Gitblit v1.9.1