From 0091dd076ed7d6dfb06fa820dabd9cf5e738514c Mon Sep 17 00:00:00 2001 From: xyc <jc_xiong@hotmail.com> Date: 星期四, 07 十一月 2024 17:15:13 +0800 Subject: [PATCH] 仿真评估检查模型时,总体工况模型里未使用的节点,不检查其模型是否存在。 --- modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/TaskService.java | 246 +++++++++++++++++++++++++++--------------------- 1 files changed, 137 insertions(+), 109 deletions(-) diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/TaskService.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/TaskService.java index 4c947b3..f7f7290 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/TaskService.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/TaskService.java @@ -145,135 +145,143 @@ for (OperatConditModel gkModel : gkModelTree) { XhProductModel node = (XhProductModel) productTreeList.stream().filter(item -> gkModel.getProductId().equals(item.getId())).collect(Collectors.toList()).get(0); - if (null == gkModel.getModelId()) { - // 宸ュ喌妯″瀷鏍戜笉瀹屾暣 - setTaskModelCheckResult(task, phase, taskPhaseModel, - node, null, null, null, - TaskModelCheckResultDto.CATEGORY_GK_MODEL, checkResult); - } else { - List<ModelRbd> modelRbds = modelRbdList.stream().filter(item -> - gkModel.getModelId().equals(item.getId())).collect(Collectors.toList()); - if (modelRbds.size() == 0) { - // 寤烘ā鏈畬鎴� + if (isNodeInRbdOfParent(node, gkModelTree, rbdNodeList)) { + if (null == gkModel.getModelId()) { + // 宸ュ喌妯″瀷鏍戜笉瀹屾暣 setTaskModelCheckResult(task, phase, taskPhaseModel, node, null, null, null, - TaskModelCheckResultDto.CATEGORY_MODEL, checkResult); + TaskModelCheckResultDto.CATEGORY_GK_MODEL, checkResult); } else { - if (!"宸插畬鎴�".equals(modelRbds.get(0).getModelState())) { + List<ModelRbd> modelRbds = modelRbdList.stream().filter(item -> + gkModel.getModelId().equals(item.getId())).collect(Collectors.toList()); + if (modelRbds.size() == 0) { // 寤烘ā鏈畬鎴� setTaskModelCheckResult(task, phase, taskPhaseModel, - node, modelRbds.get(0), null, null, + node, null, null, null, TaskModelCheckResultDto.CATEGORY_MODEL, checkResult); } else { - List<ModelNodeAlgorithm> deviceNodes = rbdNodeList.stream().filter(item -> - gkModel.getModelId().equals(item.getModelId())).collect(Collectors.toList()); - for (ModelNodeAlgorithm deviceNode : deviceNodes) { - XhProductModel device = (XhProductModel) productTreeList.stream().filter(item -> - deviceNode.getDataId().equals(item.getId())).collect(Collectors.toList()).get(0); - if ("5".equals(device.getProductType())) { - // 璁惧 - List<ParamData> params = paramDataList.stream().filter(item -> - deviceNode.getDataId().equals(item.getProductId())).collect(Collectors.toList()); - if (params.size() == 0) { - // 璁惧鍙傛暟鏈厤缃� - setTaskModelCheckResult(task, phase, taskPhaseModel, - node, modelRbds.get(0), device, null, - TaskModelCheckResultDto.CATEGORY_PARAM, checkResult); - } else { - ParamData param = params.get(0); - if (param.getReliabDistribType() == null) { + if (!"宸插畬鎴�".equals(modelRbds.get(0).getModelState())) { + // 寤烘ā鏈畬鎴� + setTaskModelCheckResult(task, phase, taskPhaseModel, + node, modelRbds.get(0), null, null, + TaskModelCheckResultDto.CATEGORY_MODEL, checkResult); + } else { + List<ModelNodeAlgorithm> deviceNodes = rbdNodeList.stream().filter(item -> + gkModel.getModelId().equals(item.getModelId())).collect(Collectors.toList()); + for (ModelNodeAlgorithm deviceNode : deviceNodes) { + XhProductModel device = (XhProductModel) productTreeList.stream().filter(item -> + deviceNode.getDataId().equals(item.getId())).collect(Collectors.toList()).get(0); + if ("5".equals(device.getProductType())) { + // 璁惧 + List<ParamData> params = paramDataList.stream().filter(item -> + deviceNode.getDataId().equals(item.getProductId())).collect(Collectors.toList()); + if (params.size() == 0) { + // 璁惧鍙傛暟鏈厤缃� setTaskModelCheckResult(task, phase, taskPhaseModel, - node, modelRbds.get(0), device, "鍙潬鎬у垎甯冪被鍨�", + node, modelRbds.get(0), device, null, TaskModelCheckResultDto.CATEGORY_PARAM, checkResult); } else { - if (param.getReliabDistribType() == 1) { - // 鎸囨暟鍒嗗竷 - if (param.getTaskMtbcfRegulate() == null) { - setTaskModelCheckResult(task, phase, taskPhaseModel, - node, modelRbds.get(0), device, "MTBCF", - TaskModelCheckResultDto.CATEGORY_PARAM, checkResult); - } - } - if (param.getReliabDistribType() == 2) { - // 濞佸竷灏斿垎甯� - if (param.getTaskMtbcfRegulate() == null) { - setTaskModelCheckResult(task, phase, taskPhaseModel, - node, modelRbds.get(0), device, "MTBCF", - TaskModelCheckResultDto.CATEGORY_PARAM, checkResult); - } - if (param.getTaskMtbcfOtherParams2() == null) { - setTaskModelCheckResult(task, phase, taskPhaseModel, - node, modelRbds.get(0), device, "MTBCF鍙傛暟2", - TaskModelCheckResultDto.CATEGORY_PARAM, checkResult); - } - if (param.getTaskMtbcfOtherParams3() == null) { - setTaskModelCheckResult(task, phase, taskPhaseModel, - node, modelRbds.get(0), device, "MTBCF鍙傛暟3", - TaskModelCheckResultDto.CATEGORY_PARAM, checkResult); - } - } - if (param.getReliabDistribType() == 3) { - // 浜岄」鍒嗗竷 - List<TaskBinoParam> binoParams = binoParamList.stream().filter(item -> - phase.getId().equals(item.getPhaseId()) && - taskPhaseModel.getOperatConditId().equals(item.getOperatConditId()) && - modelRbds.get(0).getId().equals(item.getModelId()) && - device.getId().equals(item.getProductId())).collect(Collectors.toList()); - if (binoParams.size() == 0) { - setTaskModelCheckResult(task, phase, taskPhaseModel, - node, modelRbds.get(0), device, "浜岄」鍒嗗竷鍙傛暟", - TaskModelCheckResultDto.CATEGORY_PARAM, checkResult); - } else { - TaskBinoParam binoParam = binoParams.get(0); - if (binoParam.getSuccessRate() == null) { + ParamData param = params.get(0); + if (param.getReliabDistribType() == null) { + setTaskModelCheckResult(task, phase, taskPhaseModel, + node, modelRbds.get(0), device, "鍙潬鎬у垎甯冪被鍨�", + TaskModelCheckResultDto.CATEGORY_PARAM, checkResult); + } else { + if (param.getReliabDistribType() == 1) { + // 鎸囨暟鍒嗗竷 + if (param.getTaskMtbcfRegulate() == null) { setTaskModelCheckResult(task, phase, taskPhaseModel, - node, modelRbds.get(0), device, "鎴愬姛鐜�", + node, modelRbds.get(0), device, "MTBCF", + TaskModelCheckResultDto.CATEGORY_PARAM, checkResult); + } + } + if (param.getReliabDistribType() == 2) { + // 濞佸竷灏斿垎甯� + if (param.getTaskMtbcfRegulate() == null) { + setTaskModelCheckResult(task, phase, taskPhaseModel, + node, modelRbds.get(0), device, "MTBCF", + TaskModelCheckResultDto.CATEGORY_PARAM, checkResult); + } + if (param.getTaskMtbcfOtherParams2() == null) { + setTaskModelCheckResult(task, phase, taskPhaseModel, + node, modelRbds.get(0), device, "MTBCF鍙傛暟2", + TaskModelCheckResultDto.CATEGORY_PARAM, checkResult); + } + if (param.getTaskMtbcfOtherParams3() == null) { + setTaskModelCheckResult(task, phase, taskPhaseModel, + node, modelRbds.get(0), device, "MTBCF鍙傛暟3", + TaskModelCheckResultDto.CATEGORY_PARAM, checkResult); + } + } + if (param.getReliabDistribType() == 3) { + // 浜岄」鍒嗗竷 + List<TaskBinoParam> binoParams = binoParamList.stream().filter(item -> + phase.getId().equals(item.getPhaseId()) && + taskPhaseModel.getOperatConditId().equals(item.getOperatConditId()) && + modelRbds.get(0).getId().equals(item.getModelId()) && + device.getId().equals(item.getProductId())).collect(Collectors.toList()); + if (binoParams.size() == 0) { + setTaskModelCheckResult(task, phase, taskPhaseModel, + node, modelRbds.get(0), device, "浜岄」鍒嗗竷鍙傛暟", TaskModelCheckResultDto.CATEGORY_PARAM, checkResult); } else { - if (binoParam.getSuccessTimes() != null && binoParam.getSimulatTimes() == null) { + TaskBinoParam binoParam = binoParams.get(0); + if (binoParam.getSuccessRate() == null) { setTaskModelCheckResult(task, phase, taskPhaseModel, - node, modelRbds.get(0), device, "鎬绘鏁�", + node, modelRbds.get(0), device, "鎴愬姛鐜�", TaskModelCheckResultDto.CATEGORY_PARAM, checkResult); - } - if (binoParam.getSuccessTimes() == null && binoParam.getSimulatTimes() != null) { - setTaskModelCheckResult(task, phase, taskPhaseModel, - node, modelRbds.get(0), device, "鎴愬姛娆℃暟", - TaskModelCheckResultDto.CATEGORY_PARAM, checkResult); + } else { + if (binoParam.getSuccessTimes() != null && binoParam.getSimulatTimes() == null) { + setTaskModelCheckResult(task, phase, taskPhaseModel, + node, modelRbds.get(0), device, "鎬绘鏁�", + TaskModelCheckResultDto.CATEGORY_PARAM, checkResult); + } + if (binoParam.getSuccessTimes() == null && binoParam.getSimulatTimes() != null) { + setTaskModelCheckResult(task, phase, taskPhaseModel, + node, modelRbds.get(0), device, "鎴愬姛娆℃暟", + TaskModelCheckResultDto.CATEGORY_PARAM, checkResult); + } } } } - } - if (1 == param.getRepairable()) { - // 鍙淮淇� - if (param.getRepairDistribType() == null) { + if (param.getRepairable() == null) { setTaskModelCheckResult(task, phase, taskPhaseModel, - node, modelRbds.get(0), device, "缁翠慨鍒嗗竷绫诲瀷", + node, modelRbds.get(0), device, "鏄惁鍙淮淇�", TaskModelCheckResultDto.CATEGORY_PARAM, checkResult); - } - if (param.getRepairDistribType() == 1) { - // 鎸囨暟鍒嗗竷 - if (param.getRepairMttcr() == null) { - setTaskModelCheckResult(task, phase, taskPhaseModel, - node, modelRbds.get(0), device, "MTTCR", - TaskModelCheckResultDto.CATEGORY_PARAM, checkResult); - } - } - if (param.getRepairDistribType() == 2) { - // 濞佸竷灏斿垎甯� - if (param.getRepairMttcr() == null) { - setTaskModelCheckResult(task, phase, taskPhaseModel, - node, modelRbds.get(0), device, "MTTCR", - TaskModelCheckResultDto.CATEGORY_PARAM, checkResult); - } - if (param.getRepairMttcrOtherParams2() == null) { - setTaskModelCheckResult(task, phase, taskPhaseModel, - node, modelRbds.get(0), device, "MTTCR鍙傛暟2", - TaskModelCheckResultDto.CATEGORY_PARAM, checkResult); - } - if (param.getRepairMttcrOtherParams3() == null) { - setTaskModelCheckResult(task, phase, taskPhaseModel, - node, modelRbds.get(0), device, "MTTCR鍙傛暟3", - TaskModelCheckResultDto.CATEGORY_PARAM, checkResult); + } else { + if (1 == param.getRepairable()) { + // 鍙淮淇� + if (param.getRepairDistribType() == null) { + setTaskModelCheckResult(task, phase, taskPhaseModel, + node, modelRbds.get(0), device, "缁翠慨鍒嗗竷绫诲瀷", + TaskModelCheckResultDto.CATEGORY_PARAM, checkResult); + } + if (param.getRepairDistribType() == 1) { + // 鎸囨暟鍒嗗竷 + if (param.getRepairMttcr() == null) { + setTaskModelCheckResult(task, phase, taskPhaseModel, + node, modelRbds.get(0), device, "MTTCR", + TaskModelCheckResultDto.CATEGORY_PARAM, checkResult); + } + } + if (param.getRepairDistribType() == 2) { + // 濞佸竷灏斿垎甯� + if (param.getRepairMttcr() == null) { + setTaskModelCheckResult(task, phase, taskPhaseModel, + node, modelRbds.get(0), device, "MTTCR", + TaskModelCheckResultDto.CATEGORY_PARAM, checkResult); + } + if (param.getRepairMttcrOtherParams2() == null) { + setTaskModelCheckResult(task, phase, taskPhaseModel, + node, modelRbds.get(0), device, "MTTCR鍙傛暟2", + TaskModelCheckResultDto.CATEGORY_PARAM, checkResult); + } + if (param.getRepairMttcrOtherParams3() == null) { + setTaskModelCheckResult(task, phase, taskPhaseModel, + node, modelRbds.get(0), device, "MTTCR鍙傛暟3", + TaskModelCheckResultDto.CATEGORY_PARAM, checkResult); + } + } } } } @@ -296,6 +304,26 @@ } + private boolean isNodeInRbdOfParent(XhProductModel node, + List<OperatConditModel> gkModelTree, + List<ModelNodeAlgorithm> rbdNodeList) { + boolean result = false; + List<OperatConditModel> parents = gkModelTree.stream().filter(item -> + item.getProductId().equals(node.getPid())).collect(Collectors.toList()); + if (parents.size() > 0) { + OperatConditModel parent = parents.get(0); + if (parent.getModelId() != null) { + List<ModelNodeAlgorithm> nodes = rbdNodeList.stream().filter(item -> + item.getModelId().equals(parent.getModelId()) && item.getDataId().equals(node.getId())).collect(Collectors.toList()); + if (nodes.size() > 0) { + result = true; + } + } + } + + return result; + } + /** * 鍙潬鎬ц瘎瀹氾細瀵逛换鍔″彲闈犳�фā鍨嬨�佸弬鏁伴厤缃�佸彲闈犳�ц瘎瀹氭暟鎹繘琛屽畬鏁存�ф鏌ワ紝骞舵寚鍑轰互涓�11绫婚敊璇細 * 1锛変换鍔℃�绘椂闀挎湭閰嶇疆 -- Gitblit v1.9.1