From 53b7df9297e6b732e8a35d5e889c337d312a424b Mon Sep 17 00:00:00 2001 From: duwenyuan <15600000461@163.com> Date: Mon, 19 May 2025 10:32:00 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=AE=A1=E7=AE=97=E5=8F=B0?= =?UTF-8?q?=E7=AB=99=E5=88=9D=E5=A7=8B=E5=8C=96=E9=85=8D=E7=BD=AE=E4=BF=A1?= =?UTF-8?q?=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jeecg/common/CalculateStationData.java | 2025 ++++++++++------- 1 file changed, 1265 insertions(+), 760 deletions(-) diff --git a/jeecg-module-station-operation/src/main/java/org/jeecg/common/CalculateStationData.java b/jeecg-module-station-operation/src/main/java/org/jeecg/common/CalculateStationData.java index 41cce466..35532d99 100644 --- a/jeecg-module-station-operation/src/main/java/org/jeecg/common/CalculateStationData.java +++ b/jeecg-module-station-operation/src/main/java/org/jeecg/common/CalculateStationData.java @@ -29,789 +29,1294 @@ public class CalculateStationData { private MaximumPoolSizeProperties maximumPoolSizeProperties; @Autowired private RedisUtil redisUtil; - - /** - * 初始化配置信息 - */ + //region 初始化配置信息-- 20250430 修改 增加SAUNA2、 SPALAX-PLC节点 public RateParam initParameter() { try { - //文件路径 - String filePath = parameterProperties.getFilePath()+ File.separator +"parameter.xml"; //声明一个实体类存储参数信息 RateParam mRateParam = new RateParam(); + //声明一个接收参数的实体类 + Parameter mParameter = new Parameter(); + //声明一个map 存储特殊的台站及台站相关参数 + Map specialparaMap = new HashMap<>(); + + //文件路径 + String filePath = parameterProperties.getFilePath() + File.separator + "parameter.xml"; //创建一个文档解析器工厂 DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); //创建文档解析器 DocumentBuilder documentBuilder = factory.newDocumentBuilder(); //读取xml文件生成一个文档 Document document = documentBuilder.parse(filePath); - //声明一个接收参数的实体类 - Parameter mParameter = new Parameter(); - //声明一个map 存储特殊的台站及台站相关参数 - Map specialparaMap = new HashMap<>(); //获取文档的根元素 Element element = document.getDocumentElement(); //获取根元素的子节点 NodeList docChildNodes = element.getChildNodes(); - if (Objects.nonNull(docChildNodes) && docChildNodes.getLength()>0){ + if (docChildNodes.getLength() > 0) { //遍历子节点信息 - for(int i = 0; i < docChildNodes.getLength(); i++) { + for (int i = 0; i < docChildNodes.getLength(); i++) { //根据下标获取对应的节点信息 - Node n = docChildNodes.item(i); - //判断节点名称是否是 DAYSPAN - if(n.getNodeName().equals("DAYSPAN")) { - // 获取节点的第一个子节点 - Node childNode = n.getFirstChild(); - //如果节点信息不为空 - while(Objects.nonNull(childNode)) { - //判断节点名称是否是 item - if(childNode.getNodeName().equals("item")) { - // 获取节点的属性信息 - NamedNodeMap attributes = childNode.getAttributes(); - // 如果属性信息不为空 - if (Objects.nonNull(attributes)){ - // 遍历获取属性值 - for (int j=0; j< attributes.getLength(); j++){ - // 获取属性 - Node item = attributes.item(j); - // 如果属性名是 dayspan - if(item.getNodeName().equals("dayspan")) { - //赋值dayspan - mParameter.setDayspan(Double.parseDouble(item.getNodeValue())); - } - } - } - } - // 获取下一个节点 - childNode = childNode.getNextSibling(); - } - } else if(n.getNodeName().equals("WARNING")) {// 判断节点名称是否是 WARNING - // 获取节点第一个子节点 - Node childNode = n.getFirstChild(); - // 子节点不为空 - while(Objects.nonNull(childNode)) { - // 判断子节点的名称是否是 item - if(childNode.getNodeName().equals("item")) { - // 获取子节点的 属性 - NamedNodeMap attributes = childNode.getAttributes(); - // 子节点属性不为空 - if (Objects.nonNull(attributes)){ - // 遍历获取属性值 - for (int j =0; j0){ - //遍历子节点数据 - for(int j = 0; j < phdfChildNodes.getLength(); j++) { - // 获取子节点数据 - Node node = phdfChildNodes.item(j); - // 判断子节点名称是否是 SAUNA - if(node.getNodeName().equals("SAUNA")) { - // 获取子节点下的第一个节点信息 - Node childNode = node.getFirstChild(); - // 声明一个实体类存储参数信息 - StationTypeData typeData = new StationTypeData(); - // 判断子节点是否为空 - while(Objects.nonNull(childNode)) { - // 判断子节点名称是否是 item - if(childNode.getNodeName().equals("item")) { - //获取子节点的属性信息 - NamedNodeMap attributes = childNode.getAttributes(); - // 判断属性是否为空 - if (Objects.nonNull(attributes)){ - // 遍历获取属性值 - for (int k=0; k0){ - //遍历子节点数据 - for(int j = 0; j < phdChildNodes.getLength(); j++) { - // 获取子节点信息 - Node node = phdChildNodes.item(j); - //判断子节点名称是否是 SAUNA - if(node.getNodeName().equals("SAUNA")) { - //获取子节点下的第一个节点 - Node childNode = node.getFirstChild(); - //声明一个台站参数实体类 - StationTypeData typeData = new StationTypeData(); - //如果子节点不为空 - while(Objects.nonNull(childNode)) { - //判断节点的名称是否是 item - if(childNode.getNodeName().equals("item")) { - //获取节点的属性信息 - NamedNodeMap attributes = childNode.getAttributes(); - //节点属性信息不为空 - if (Objects.nonNull(attributes)){ - //遍历属性信息 - for (int k=0; k< attributes.getLength(); k++){ - //获取属性 - Node item = attributes.item(k); - if(item.getNodeName().equals("collect_low")) { - // 判断属性名称是 collect_low - typeData.setCollectLow(item.getNodeValue()); - } else if(item.getNodeName().equals("collect_high")) { - // 判断属性名称是 collect_high - typeData.setCollectHigh(item.getNodeValue()); - } else if(item.getNodeName().equals("live_low")) { - // 判断属性名称是 live_low - typeData.setLiveLow(item.getNodeValue()); - } else if(item.getNodeName().equals("live_high")) { - // 判断属性名称是 live_high - typeData.setLiveHigh(item.getNodeValue()); - } else if(item.getNodeName().equals("quantity")) { - // 判断属性名称是 quantity - typeData.setQuantity(item.getNodeValue()); - } else if(item.getNodeName().equals("xe_volume")) { - // 判断属性名称是 xe_volume - typeData.setXeVolume(item.getNodeValue()); - } else if(item.getNodeName().equals("mdc")) { - // 判断属性名称是 mdc - typeData.setMdc(item.getNodeValue()); - } else if(item.getNodeName().equals("nuclide_name")) { - // 判断属性名称是 nuclide_name - typeData.setNuclideName(item.getNodeValue()); - } else if(item.getNodeName().equals("live_qc")) { - // 判断属性名称是 live_qc - typeData.setLiveQc(item.getNodeValue()); - } else if(item.getNodeName().equals("number")) { - // 判断属性名称是 number - typeData.setNumber(item.getNodeValue()); - } - } - } - } - //获取下一个节点 - childNode = childNode.getNextSibling(); - } - //台站参数赋值 phd-sauna - mParameter.setPhdSauna(typeData); - } else if(node.getNodeName().equals("SPALAX")) {//判断节点名称是否是 spalax - //获取节点下的第一个子节点 - Node childNode = node.getFirstChild(); - //声明一个 台站参数实体类 - StationTypeData typeData = new StationTypeData(); - //判断子节点是否为空 - while(Objects.nonNull(childNode)) { - //判断节点名称是否是 item - if(childNode.getNodeName().equals("item")) { - //获取节点的属性信息 - NamedNodeMap attributes = childNode.getAttributes(); - //判断属性是否为空 - if (Objects.nonNull(attributes)){ - //遍历属性信息 - for (int k=0; k< attributes.getLength(); k++){ - //获取属性信息 - Node item = attributes.item(k); - if(item.getNodeName().equals("collect_low")) { - //属性名称为 collect_low - typeData.setCollectLow(item.getNodeValue()); - } else if(item.getNodeName().equals("collect_high")) { - //属性名称为 collect_high - typeData.setCollectHigh(item.getNodeValue()); - } else if(item.getNodeName().equals("live_low")) { - //属性名称为 live_low - typeData.setLiveLow(item.getNodeValue()); - } else if(item.getNodeName().equals("live_high")) { - //属性名称为 live_high - typeData.setLiveHigh(item.getNodeValue()); - } else if(item.getNodeName().equals("quantity")) { - //属性名称为 quantity - typeData.setQuantity(item.getNodeValue()); - } else if(item.getNodeName().equals("live_qc")) { - //属性名称为 live_qc - typeData.setLiveQc(item.getNodeValue()); - } else if(item.getNodeName().equals("number")) { - //属性名称为 number - typeData.setNumber(item.getNodeValue()); - } - } - } - } - //获取下一个节点 - childNode = childNode.getNextSibling(); - } - //台站参数赋值 phd-spalax - mParameter.setPhdSpalax(typeData); - } else if(node.getNodeName().equals("PARTICULATE")) {// 判断节点名称是否是 PARTICULATE - //获取节点下的第一个节点 - Node childNode = node.getFirstChild(); - //声明台站参数实体类 - StationTypeData typeData = new StationTypeData(); - //判断子节点是否为空 - while(Objects.nonNull(childNode)) { - //判断子节点名称是否是 item - if(childNode.getNodeName().equals("item")) { - //获取子节点的属性信息 - NamedNodeMap attributes = childNode.getAttributes(); - //判断属性是否为空 - if (Objects.nonNull(attributes)){ - //遍历属性信息 - for (int k=0; k < attributes.getLength(); k++){ - //获取节点的属性 - Node item = attributes.item(k); - if(item.getNodeName().equals("collect_low")) { - //属性名称是 collect_low - typeData.setCollectLow(item.getNodeValue()); - } else if(item.getNodeName().equals("collect_high")) { - //属性名称是 collect_high - typeData.setCollectHigh(item.getNodeValue()); - } else if(item.getNodeName().equals("live_low")) { - //属性名称是 live_low - typeData.setLiveLow(item.getNodeValue()); - } else if(item.getNodeName().equals("live_high")) { - //属性名称是 live_high - typeData.setLiveHigh(item.getNodeValue()); - } else if(item.getNodeName().equals("quantity")) { - //属性名称是 quantity - typeData.setQuantity(item.getNodeValue()); - } else if(item.getNodeName().equals("number")) { - //属性名称是 number - typeData.setNumber(item.getNodeValue()); - } - } - } - } - // 获取下一个节点 - childNode = childNode.getNextSibling(); - } - //台站参数赋值 phd-particulate - mParameter.setPhdParticulate(typeData); - } - } - } - } else if(n.getNodeName().equals("MET")) {// 判断节点名称是否是 met - //获取第一个子节点 - Node childNode = n.getFirstChild(); - //判断节点是否为空 - while(Objects.nonNull(childNode)) { - //判断节点名称是否是 item - if(childNode.getNodeName().equals("item")) { - //获取节点的属性信息 - NamedNodeMap attributes = childNode.getAttributes(); - //判断节点属性是否为空 - if (Objects.nonNull(attributes)){ - //遍历节点属性信息 - for (int k=0; k< attributes.getLength(); k++){ - //获取节点属性 - Node item = attributes.item(k); - //判断属性名称是否是 number - if(item.getNodeName().equals("number")) { - mParameter.setMet(item.getNodeValue()); - } - } - } - } - //获取下一个节点 - childNode = childNode.getNextSibling(); - } - } else if (n.getNodeName().equals("SOH")) {// 判断节点名称是否是 SOH - //获取第一个子节点 - Node childNode = n.getFirstChild(); - //判断节点是否为空 - while(Objects.nonNull(childNode)) { - //判断节点名称是否是 item - if(childNode.getNodeName().equals("item")) { - //获取节点的属性信息 - NamedNodeMap attributes = childNode.getAttributes(); - //判断节点属性是否为空 - if (Objects.nonNull(attributes)){ - //遍历节点属性信息 - for (int k=0; k< attributes.getLength(); k++){ - //获取节点属性 - Node item = attributes.item(k); - //判断属性名称是否是 number - if(item.getNodeName().equals("number")) { - mParameter.setSoh(item.getNodeValue()); - } - } - } - } - //获取下一个节点 - childNode = childNode.getNextSibling(); - } - } else if(n.getNodeName().equals("SPHD_MET_SOH")) {// 判断节点名称 是否是 SPHD_MET_SOH - //获取节点的子节点集合 - NodeList sphdmetsohChildNodes = n.getChildNodes(); - //声明一个实体类封装属性信息 - SphdMetSoh sphdMetSoh = new SphdMetSoh(); - // 遍历子节点集合 - for(int j = 0; j < sphdmetsohChildNodes.getLength(); j++) { - //获取子节点数据 - Node node = sphdmetsohChildNodes.item(j); - //判断子节点名称是否是 SAUNA - if(node.getNodeName().equals("SAUNA")) { - //获取第一个节点 - Node childNode = node.getFirstChild(); - //判断节点是否为空 - while(Objects.nonNull(childNode)) { - //判断节点名称是否是 item - if(childNode.getNodeName().equals("item")) { - //获取节点的属性信息 - NamedNodeMap attributes = childNode.getAttributes(); - //判断节点属性是否为空 - if (Objects.nonNull(attributes)){ - //遍历节点属性信息 - for (int k=0; k< attributes.getLength(); k++){ - //获取节点属性 - Node item = attributes.item(k); - //判断属性名称是否是 number - if(item.getNodeName().equals("number")) { - sphdMetSoh.setSaunaEverydaynums(item.getNodeValue()); - } - } - } - } - //获取下一个节点 - childNode = childNode.getNextSibling(); - } - } else if(node.getNodeName().equals("SPALAX")) { // 判断节点名称是否是 SPALAX - //获取第一个节点 - Node childNode = node.getFirstChild(); - //判断节点是否为空 - while(Objects.nonNull(childNode)) { - //判断节点名称是否是 item - if(childNode.getNodeName().equals("item")) { - //获取节点的属性信息 - NamedNodeMap attributes = childNode.getAttributes(); - //判断节点属性是否为空 - if (Objects.nonNull(attributes)){ - //遍历节点属性信息 - for (int k=0; k< attributes.getLength(); k++){ - //获取节点属性 - Node item = attributes.item(k); - //判断属性名称是否是 number - if(item.getNodeName().equals("number")) { - sphdMetSoh.setSpalaxEverydaynums(item.getNodeValue()); - } - } - } - } - //获取下一个节点 - childNode = childNode.getNextSibling(); - } - } else if(node.getNodeName().equals("PARTICULATE")) {// 判断节点名称是否是 PARTICULATE - //获取第一个子节点 - Node childNode = node.getFirstChild(); - //判断节点是否为空 - while(Objects.nonNull(childNode)) { - //判断节点名称是否是 item - if(childNode.getNodeName().equals("item")) { - //获取节点属性 - NamedNodeMap attributes = childNode.getAttributes(); - //判断节点属性是否为空 - if (Objects.nonNull(attributes)){ - //遍历节点属性 - for (int k=0; k< attributes.getLength(); k++){ - //获取属性 - Node item = attributes.item(k); - //判断属性名称是否是 number - if(item.getNodeName().equals("number")) { - sphdMetSoh.setParticulateEverydaynums(item.getNodeValue()); - } - } - } - } - //获取下一个节点 - childNode = childNode.getNextSibling(); - } - } - //将 sphdMetSoh 属性信息赋值给 参数实体 - mParameter.setSphdMetSoh(sphdMetSoh); - } - } else if (n.getNodeName().equals("SPECIAL")) {// 判断节点名称是否是 SPECIAL - //获取节点的子节点集合 - NodeList specialChildNodes = n.getChildNodes(); - //遍历子节点 - for(int j=0; j { + mParameter.setDayspan(Double.parseDouble(value)); + }); + } + childNode = childNode.getNextSibling(); + } + } + + private void parseWarning(Node node, Parameter mParameter) { + Node childNode = node.getFirstChild(); + while (Objects.nonNull(childNode)) { + if ("item".equals(childNode.getNodeName())) { + setAttributeSetter(childNode, "excellent", value -> { + mParameter.setExcellent(Double.parseDouble(value)); + }); + setAttributeSetter(childNode, "good", value -> { + mParameter.setGood(Double.parseDouble(value)); + }); + } + childNode = childNode.getNextSibling(); + } + } + + private void parsePhdf(Node n, Parameter mParameter) { + NodeList childNodes = n.getChildNodes(); + for (int i = 0; i < childNodes.getLength(); i++) { + Node node = childNodes.item(i); + switch (node.getNodeName()) { + case "SAUNA1": + mParameter.setPhdfSauna(parseStationTypeData(node)); + break; + case "SAUNA2": + mParameter.setPhdfSauna2(parseStationTypeData(node)); + break; + case "SPALAX": + mParameter.setPhdfSpalax(parseStationTypeData(node)); + break; + case "SPALAX-PLC": + mParameter.setPhdfSpalaxPLC(parseStationTypeData(node)); + break; + case "PARTICULATE": + mParameter.setPhdfParticulate(parseStationTypeData(node)); + break; + } + } + } + + private void parsePhd(Node n, Parameter mParameter) { + NodeList childNodes = n.getChildNodes(); + for (int i = 0; i < childNodes.getLength(); i++) { + Node node = childNodes.item(i); + switch (node.getNodeName()) { + case "SAUNA1": + mParameter.setPhdSauna(parseStationTypeData(node)); + break; + case "SAUNA2": + mParameter.setPhdSauna2(parseStationTypeData(node)); + break; + case "SPALAX": + mParameter.setPhdSpalax(parseStationTypeData(node)); + break; + case "SPALAX-PLC": + mParameter.setPhdSpalaxPLC(parseStationTypeData(node)); + break; + case "PARTICULATE": + mParameter.setPhdParticulate(parseStationTypeData(node)); + break; + } + } + } + + private void parseMet(Node node, Parameter mParameter) { + Node childNode = node.getFirstChild(); + while (Objects.nonNull(childNode)) { + if ("item".equals(childNode.getNodeName())) { + setAttributeSetter(childNode, "number", mParameter::setMet); + } + childNode = childNode.getNextSibling(); + } + } + + private void parseSoh(Node node, Parameter mParameter) { + Node childNode = node.getFirstChild(); + while (Objects.nonNull(childNode)) { + if ("item".equals(childNode.getNodeName())) { + setAttributeSetter(childNode, "number", mParameter::setSoh); + } + childNode = childNode.getNextSibling(); + } + } + + private void parseSphdMetSoh(Node n, Parameter mParameter) { + SphdMetSoh sphdMetSoh = new SphdMetSoh(); + NodeList childNodes = n.getChildNodes(); + for (int i = 0; i < childNodes.getLength(); i++) { + Node node = childNodes.item(i); + switch (node.getNodeName()) { + case "SAUNA": + sphdMetSoh.setSaunaEverydaynums(getNodeValue(node,"number")); + break; + case "SPALAX": + sphdMetSoh.setSpalaxEverydaynums(getNodeValue(node,"number")); + break; + case "PARTICULATE": + sphdMetSoh.setParticulateEverydaynums(getNodeValue(node,"number")); + break; + } + } + mParameter.setSphdMetSoh(sphdMetSoh); + } + + private void parseSpecial(Node n, Map specialparaMap) { + //声明一个实体类 封装台站参数信息 + NodeList childNodes = n.getChildNodes(); + for (int i = 0; i < childNodes.getLength(); i++) { + Node node = childNodes.item(i); + if ("STATION".equals(node.getNodeName())) { + String stationName = ""; + Specialpara spePara = new Specialpara(); + NamedNodeMap attributes = node.getAttributes(); + if (Objects.nonNull(attributes)) { + for (int k = 0; k < attributes.getLength(); k++) { + Node item = attributes.item(k); + if ("name".equals(item.getNodeName())) { + stationName = item.getNodeValue(); + } + } + NodeList parameterNodes = node.getChildNodes(); + for (int k = 0; k < parameterNodes.getLength(); k++) { + Node node1 = parameterNodes.item(k); + switch (node1.getNodeName()) { + case "PHDF": + spePara.setPhdf(parseStationTypeData(node1)); + break; + case "PHD": + spePara.setPhd(parseStationTypeData(node1)); + break; + case "SOH": + spePara.setSoh(getNodeValue(node1, "number")); + break; + case "MET": + spePara.setMet(getNodeValue(node1, "number")); + break; + case "SPHD_MET_SOH": + spePara.setSphdMetSoh(getNodeValue(node1, "number")); + break; + } + } + } + specialparaMap.put(stationName, spePara); + } + } + } + + private String getNodeValue(Node node, String attributeName) { + String value = ""; + Node childNode = node.getFirstChild(); + while (Objects.nonNull(childNode)) { + if ("item".equals(childNode.getNodeName())) { + value = setAttributeSetter(childNode, attributeName); + } + childNode = childNode.getNextSibling(); + } + return value; + } + + private StationTypeData parseStationTypeData(Node node) { + StationTypeData typeData = new StationTypeData(); + Node childNode = node.getFirstChild(); + while (Objects.nonNull(childNode)) { + if ("item".equals(childNode.getNodeName())) { + setAttributeSetter(childNode, "collect_low", typeData::setCollectLow); + setAttributeSetter(childNode, "collect_high", typeData::setCollectHigh); + setAttributeSetter(childNode, "live_low", typeData::setLiveLow); + setAttributeSetter(childNode, "live_high", typeData::setLiveHigh); + setAttributeSetter(childNode, "quantity", typeData::setQuantity); + setAttributeSetter(childNode, "xe_volume", typeData::setXeVolume); + setAttributeSetter(childNode, "mdc", typeData::setMdc); + setAttributeSetter(childNode, "nuclide_name", typeData::setNuclideName); + setAttributeSetter(childNode, "live_qc", typeData::setLiveQc); + setAttributeSetter(childNode, "number", typeData::setNumber); + } + childNode = childNode.getNextSibling(); + } + return typeData; + } + + private void setAttributeSetter(Node node, String attributeName, AttributeSetter setter) { + NamedNodeMap attributes = node.getAttributes(); + if (Objects.nonNull(attributes)) { + for (int i = 0; i < attributes.getLength(); i++) { + Node item = attributes.item(i); + if (attributeName.equals(item.getNodeName())) { + setter.setValue(item.getNodeValue()); + } + } + } + } + + private String setAttributeSetter(Node node, String attributeName) { + String value = ""; + NamedNodeMap attributes = node.getAttributes(); + if (Objects.nonNull(attributes)) { + for (int i = 0; i < attributes.getLength(); i++) { + Node item = attributes.item(i); + if (attributeName.equals(item.getNodeName())) { + value = item.getNodeValue(); + } + } + } + return value; + } + + + @FunctionalInterface + private interface AttributeSetter { + void setValue(String value); + } + //endregion + + //region 初始化配置信息 + /** + * 初始化配置信息 + */ +// public RateParam initParameter() { +// try { +// //文件路径 +// String filePath = parameterProperties.getFilePath() + File.separator + "parameter.xml"; +// //声明一个实体类存储参数信息 +// RateParam mRateParam = new RateParam(); +// //创建一个文档解析器工厂 +// DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); +// //创建文档解析器 +// DocumentBuilder documentBuilder = factory.newDocumentBuilder(); +// //读取xml文件生成一个文档 +// Document document = documentBuilder.parse(filePath); +// //声明一个接收参数的实体类 +// Parameter mParameter = new Parameter(); +// //声明一个map 存储特殊的台站及台站相关参数 +// Map specialparaMap = new HashMap<>(); +// //获取文档的根元素 +// Element element = document.getDocumentElement(); +// //获取根元素的子节点 +// NodeList docChildNodes = element.getChildNodes(); +// if (Objects.nonNull(docChildNodes) && docChildNodes.getLength() > 0) { +// //遍历子节点信息 +// for (int i = 0; i < docChildNodes.getLength(); i++) { +// //根据下标获取对应的节点信息 +// Node n = docChildNodes.item(i); +// //判断节点名称是否是 DAYSPAN +// if (n.getNodeName().equals("DAYSPAN")) { +// // 获取节点的第一个子节点 +// Node childNode = n.getFirstChild(); +// //如果节点信息不为空 +// while (Objects.nonNull(childNode)) { +// //判断节点名称是否是 item +// if (childNode.getNodeName().equals("item")) { +// // 获取节点的属性信息 +// NamedNodeMap attributes = childNode.getAttributes(); +// // 如果属性信息不为空 +// if (Objects.nonNull(attributes)) { +// // 遍历获取属性值 +// for (int j = 0; j < attributes.getLength(); j++) { +// // 获取属性 +// Node item = attributes.item(j); +// // 如果属性名是 dayspan +// if (item.getNodeName().equals("dayspan")) { +// //赋值dayspan +// mParameter.setDayspan(Double.parseDouble(item.getNodeValue())); +// } +// } +// } +// } +// // 获取下一个节点 +// childNode = childNode.getNextSibling(); +// } +// } else if (n.getNodeName().equals("WARNING")) {// 判断节点名称是否是 WARNING +// // 获取节点第一个子节点 +// Node childNode = n.getFirstChild(); +// // 子节点不为空 +// while (Objects.nonNull(childNode)) { +// // 判断子节点的名称是否是 item +// if (childNode.getNodeName().equals("item")) { +// // 获取子节点的 属性 +// NamedNodeMap attributes = childNode.getAttributes(); +// // 子节点属性不为空 +// if (Objects.nonNull(attributes)) { +// // 遍历获取属性值 +// for (int j = 0; j < attributes.getLength(); j++) { +// // 获取某一个节点的属性 +// Node item = attributes.item(j); +// if (item.getNodeName().equals("excellent")) { +// // 属性的名称是 excellent +// mParameter.setExcellent(Double.parseDouble(item.getNodeValue())); +// } else if (item.getNodeName().equals("good")) { +// // 属性的名称是 good +// mParameter.setGood(Double.parseDouble(item.getNodeValue())); +// } +// } +// } +// } +// // 获取下一个节点 +// childNode = childNode.getNextSibling(); +// } +// } else if (n.getNodeName().equals("PHDF")) { // 判断节点名称是否是 PHDF +// // 获取节点的所有子节点信息 +// NodeList phdfChildNodes = n.getChildNodes(); +// // 判断子节点数据是否为空 +// if (Objects.nonNull(phdfChildNodes) && phdfChildNodes.getLength() > 0) { +// //遍历子节点数据 +// for (int j = 0; j < phdfChildNodes.getLength(); j++) { +// // 获取子节点数据 +// Node node = phdfChildNodes.item(j); +// // 判断子节点名称是否是 SAUNA1 +// if (node.getNodeName().equals("SAUNA1")) { +// // 获取子节点下的第一个节点信息 +// Node childNode = node.getFirstChild(); +// // 声明一个实体类存储参数信息 +// StationTypeData typeData = new StationTypeData(); +// // 判断子节点是否为空 +// while (Objects.nonNull(childNode)) { +// // 判断子节点名称是否是 item +// if (childNode.getNodeName().equals("item")) { +// //获取子节点的属性信息 +// NamedNodeMap attributes = childNode.getAttributes(); +// // 判断属性是否为空 +// if (Objects.nonNull(attributes)) { +// // 遍历获取属性值 +// for (int k = 0; k < attributes.getLength(); k++) { +// // 获取当前下标的属性 +// Node item = attributes.item(k); +// if (item.getNodeName().equals("collect_low")) { +// // 如果属性名是 collect_low +// typeData.setCollectLow(item.getNodeValue()); +// } else if (item.getNodeName().equals("collect_high")) { +// // 如果属性名是 collect_high +// typeData.setCollectHigh(item.getNodeValue()); +// } else if (item.getNodeName().equals("live_low")) { +// // 如果属性名是 live_low +// typeData.setLiveLow(item.getNodeValue()); +// } else if (item.getNodeName().equals("live_high")) { +// // 如果属性名是 live_high +// typeData.setLiveHigh(item.getNodeValue()); +// } else if (item.getNodeName().equals("quantity")) { +// // 如果属性名是 quantity +// typeData.setQuantity(item.getNodeValue()); +// } else if (item.getNodeName().equals("xe_volume")) { +// // 如果属性名是 xe_volume +// typeData.setXeVolume(item.getNodeValue()); +// } else if (item.getNodeName().equals("mdc")) { +// // 如果属性名是 mdc +// typeData.setMdc(item.getNodeValue()); +// } else if (item.getNodeName().equals("nuclide_name")) { +// // 如果属性名是 nuclide_name +// typeData.setNuclideName(item.getNodeValue()); +// } else if (item.getNodeName().equals("live_qc")) { +// // 如果属性名是 live_qc +// typeData.setLiveQc(item.getNodeValue()); +// } else if (item.getNodeName().equals("number")) { +// // 如果属性名是 number +// typeData.setNumber(item.getNodeValue()); +// } +// } +// } +// } +// // 获取当前节点的下一个节点 +// childNode = childNode.getNextSibling(); +// } +// // 当前属性参数封装进 phdf-sauna中 +// mParameter.setPhdfSauna(typeData); +// } else if (node.getNodeName().equals("SAUNA2")) { +// // 获取子节点下的第一个节点信息 +// Node childNode = node.getFirstChild(); +// // 声明一个实体类存储参数信息 +// StationTypeData typeData = new StationTypeData(); +// // 判断子节点是否为空 +// while (Objects.nonNull(childNode)) { +// // 判断子节点名称是否是 item +// if (childNode.getNodeName().equals("item")) { +// //获取子节点的属性信息 +// NamedNodeMap attributes = childNode.getAttributes(); +// // 判断属性是否为空 +// if (Objects.nonNull(attributes)) { +// // 遍历获取属性值 +// for (int k = 0; k < attributes.getLength(); k++) { +// // 获取当前下标的属性 +// Node item = attributes.item(k); +// if (item.getNodeName().equals("collect_low")) { +// // 如果属性名是 collect_low +// typeData.setCollectLow(item.getNodeValue()); +// } else if (item.getNodeName().equals("collect_high")) { +// // 如果属性名是 collect_high +// typeData.setCollectHigh(item.getNodeValue()); +// } else if (item.getNodeName().equals("live_low")) { +// // 如果属性名是 live_low +// typeData.setLiveLow(item.getNodeValue()); +// } else if (item.getNodeName().equals("live_high")) { +// // 如果属性名是 live_high +// typeData.setLiveHigh(item.getNodeValue()); +// } else if (item.getNodeName().equals("quantity")) { +// // 如果属性名是 quantity +// typeData.setQuantity(item.getNodeValue()); +// } else if (item.getNodeName().equals("xe_volume")) { +// // 如果属性名是 xe_volume +// typeData.setXeVolume(item.getNodeValue()); +// } else if (item.getNodeName().equals("mdc")) { +// // 如果属性名是 mdc +// typeData.setMdc(item.getNodeValue()); +// } else if (item.getNodeName().equals("nuclide_name")) { +// // 如果属性名是 nuclide_name +// typeData.setNuclideName(item.getNodeValue()); +// } else if (item.getNodeName().equals("live_qc")) { +// // 如果属性名是 live_qc +// typeData.setLiveQc(item.getNodeValue()); +// } else if (item.getNodeName().equals("number")) { +// // 如果属性名是 number +// typeData.setNumber(item.getNodeValue()); +// } +// } +// } +// } +// // 获取当前节点的下一个节点 +// childNode = childNode.getNextSibling(); +// } +// // 当前属性参数封装进 phdf-sauna中 +// mParameter.setPhdfSauna2(typeData); +// } else if (node.getNodeName().equals("SPALAX")) { +// // 判断当前节点名称是否是 SPALAX +// // 获取第一个子节点 +// Node childNode = node.getFirstChild(); +// // 声明一个台站参数实体类 +// StationTypeData typeData = new StationTypeData(); +// // 如果子节点不为空 +// while (Objects.nonNull(childNode)) { +// // 判断节点名称是否是 item +// if (childNode.getNodeName().equals("item")) { +// // 获取子节点的属性 +// NamedNodeMap attributes = childNode.getAttributes(); +// // 属性不为空 +// if (Objects.nonNull(attributes)) { +// // 遍历节点的属性信息 +// for (int k = 0; k < attributes.getLength(); k++) { +// // 获取属性内容 +// Node item = attributes.item(k); +// if (item.getNodeName().equals("collect_low")) { +// // 如果属性名称是 collect_low +// typeData.setCollectLow(item.getNodeValue()); +// } else if (item.getNodeName().equals("collect_high")) { +// // 如果属性名称是 collect_high +// typeData.setCollectHigh(item.getNodeValue()); +// } else if (item.getNodeName().equals("live_low")) { +// // 如果属性名称是 live_low +// typeData.setLiveLow(item.getNodeValue()); +// } else if (item.getNodeName().equals("live_high")) { +// // 如果属性名称是 live_high +// typeData.setLiveHigh(item.getNodeValue()); +// } else if (item.getNodeName().equals("quantity")) { +// // 如果属性名称是 quantity +// typeData.setQuantity(item.getNodeValue()); +// } else if (item.getNodeName().equals("live_qc")) { +// // 如果属性名称是 live_qc +// typeData.setLiveQc(item.getNodeValue()); +// } else if (item.getNodeName().equals("number")) { +// // 如果属性名称是 number +// typeData.setNumber(item.getNodeValue()); +// } +// } +// } +// } +// // 获取下一个子节点 +// childNode = childNode.getNextSibling(); +// } +// //当前台站参数信息存入 phdf-spalax +// mParameter.setPhdfSpalax(typeData); +// } else if (node.getNodeName().equals("SPALAX-PLC")) { +// +// // 判断当前节点名称是否是 SPALAX +// // 获取第一个子节点 +// Node childNode = node.getFirstChild(); +// // 声明一个台站参数实体类 +// StationTypeData typeData = new StationTypeData(); +// // 如果子节点不为空 +// while (Objects.nonNull(childNode)) { +// // 判断节点名称是否是 item +// if (childNode.getNodeName().equals("item")) { +// // 获取子节点的属性 +// NamedNodeMap attributes = childNode.getAttributes(); +// // 属性不为空 +// if (Objects.nonNull(attributes)) { +// // 遍历节点的属性信息 +// for (int k = 0; k < attributes.getLength(); k++) { +// // 获取属性内容 +// Node item = attributes.item(k); +// if (item.getNodeName().equals("collect_low")) { +// // 如果属性名称是 collect_low +// typeData.setCollectLow(item.getNodeValue()); +// } else if (item.getNodeName().equals("collect_high")) { +// // 如果属性名称是 collect_high +// typeData.setCollectHigh(item.getNodeValue()); +// } else if (item.getNodeName().equals("live_low")) { +// // 如果属性名称是 live_low +// typeData.setLiveLow(item.getNodeValue()); +// } else if (item.getNodeName().equals("live_high")) { +// // 如果属性名称是 live_high +// typeData.setLiveHigh(item.getNodeValue()); +// } else if (item.getNodeName().equals("quantity")) { +// // 如果属性名称是 quantity +// typeData.setQuantity(item.getNodeValue()); +// } else if (item.getNodeName().equals("live_qc")) { +// // 如果属性名称是 live_qc +// typeData.setLiveQc(item.getNodeValue()); +// } else if (item.getNodeName().equals("number")) { +// // 如果属性名称是 number +// typeData.setNumber(item.getNodeValue()); +// } +// } +// } +// } +// // 获取下一个子节点 +// childNode = childNode.getNextSibling(); +// } +// //当前台站参数信息存入 phdf-spalax +// mParameter.setPhdfSpalaxPLC(typeData); +// } else if (node.getNodeName().equals("PARTICULATE")) { +// // 判断节点名称是否是 PARTICULATE +// // 获取当前节点的第一个子节点 +// Node childNode = node.getFirstChild(); +// // 声明一个台站参数实体类 +// StationTypeData typeData = new StationTypeData(); +// // 判断节点是否为空 +// while (Objects.nonNull(childNode)) { +// // 判断节点名称是否是 item +// if (childNode.getNodeName().equals("item")) { +// // 获取节点的属性信息 +// NamedNodeMap attributes = childNode.getAttributes(); +// // 判断属性信息是否为空 +// if (Objects.nonNull(attributes)) { +// //遍历属性信息 +// for (int k = 0; k < attributes.getLength(); k++) { +// // 获取某节点的属性信息 +// Node item = attributes.item(k); +// if (item.getNodeName().equals("collect_low")) { +// //属性名称是 collect_low +// typeData.setCollectLow(item.getNodeValue()); +// } else if (item.getNodeName().equals("collect_high")) { +// //属性名称是 collect_high +// typeData.setCollectHigh(item.getNodeValue()); +// } else if (item.getNodeName().equals("live_low")) { +// //属性名称是 live_low +// typeData.setLiveLow(item.getNodeValue()); +// } else if (item.getNodeName().equals("live_high")) { +// //属性名称是 live_high +// typeData.setLiveHigh(item.getNodeValue()); +// } else if (item.getNodeName().equals("quantity")) { +// //属性名称是 quantity +// typeData.setQuantity(item.getNodeValue()); +// } else if (item.getNodeName().equals("number")) { +// //属性名称是 number +// typeData.setNumber(item.getNodeValue()); +// } +// } +// } +// } +// //获取下一个节点 +// childNode = childNode.getNextSibling(); +// } +// //台站参数信息赋值phdf-particulate +// mParameter.setPhdfParticulate(typeData); +// } +// } +// } +// } else if (n.getNodeName().equals("PHD")) { +// // 判断节点名称是否是 PHD +// // 获取所有子节点数据 +// NodeList phdChildNodes = n.getChildNodes(); +// //判断子节点数据是否为空 +// if (Objects.nonNull(phdChildNodes) && phdChildNodes.getLength() > 0) { +// //遍历子节点数据 +// for (int j = 0; j < phdChildNodes.getLength(); j++) { +// // 获取子节点信息 +// Node node = phdChildNodes.item(j); +// //判断子节点名称是否是 SAUNA +// if (node.getNodeName().equals("SAUNA1")) { +// //获取子节点下的第一个节点 +// Node childNode = node.getFirstChild(); +// //声明一个台站参数实体类 +// StationTypeData typeData = new StationTypeData(); +// //如果子节点不为空 +// while (Objects.nonNull(childNode)) { +// //判断节点的名称是否是 item +// if (childNode.getNodeName().equals("item")) { +// //获取节点的属性信息 +// NamedNodeMap attributes = childNode.getAttributes(); +// //节点属性信息不为空 +// if (Objects.nonNull(attributes)) { +// //遍历属性信息 +// for (int k = 0; k < attributes.getLength(); k++) { +// //获取属性 +// Node item = attributes.item(k); +// if (item.getNodeName().equals("collect_low")) { +// // 判断属性名称是 collect_low +// typeData.setCollectLow(item.getNodeValue()); +// } else if (item.getNodeName().equals("collect_high")) { +// // 判断属性名称是 collect_high +// typeData.setCollectHigh(item.getNodeValue()); +// } else if (item.getNodeName().equals("live_low")) { +// // 判断属性名称是 live_low +// typeData.setLiveLow(item.getNodeValue()); +// } else if (item.getNodeName().equals("live_high")) { +// // 判断属性名称是 live_high +// typeData.setLiveHigh(item.getNodeValue()); +// } else if (item.getNodeName().equals("quantity")) { +// // 判断属性名称是 quantity +// typeData.setQuantity(item.getNodeValue()); +// } else if (item.getNodeName().equals("xe_volume")) { +// // 判断属性名称是 xe_volume +// typeData.setXeVolume(item.getNodeValue()); +// } else if (item.getNodeName().equals("mdc")) { +// // 判断属性名称是 mdc +// typeData.setMdc(item.getNodeValue()); +// } else if (item.getNodeName().equals("nuclide_name")) { +// // 判断属性名称是 nuclide_name +// typeData.setNuclideName(item.getNodeValue()); +// } else if (item.getNodeName().equals("live_qc")) { +// // 判断属性名称是 live_qc +// typeData.setLiveQc(item.getNodeValue()); +// } else if (item.getNodeName().equals("number")) { +// // 判断属性名称是 number +// typeData.setNumber(item.getNodeValue()); +// } +// } +// } +// } +// //获取下一个节点 +// childNode = childNode.getNextSibling(); +// } +// //台站参数赋值 phd-sauna +// mParameter.setPhdSauna(typeData); +// } else if (node.getNodeName().equals("SAUNA2")) { +// //获取子节点下的第一个节点 +// Node childNode = node.getFirstChild(); +// //声明一个台站参数实体类 +// StationTypeData typeData = new StationTypeData(); +// //如果子节点不为空 +// while (Objects.nonNull(childNode)) { +// //判断节点的名称是否是 item +// if (childNode.getNodeName().equals("item")) { +// //获取节点的属性信息 +// NamedNodeMap attributes = childNode.getAttributes(); +// //节点属性信息不为空 +// if (Objects.nonNull(attributes)) { +// //遍历属性信息 +// for (int k = 0; k < attributes.getLength(); k++) { +// //获取属性 +// Node item = attributes.item(k); +// if (item.getNodeName().equals("collect_low")) { +// // 判断属性名称是 collect_low +// typeData.setCollectLow(item.getNodeValue()); +// } else if (item.getNodeName().equals("collect_high")) { +// // 判断属性名称是 collect_high +// typeData.setCollectHigh(item.getNodeValue()); +// } else if (item.getNodeName().equals("live_low")) { +// // 判断属性名称是 live_low +// typeData.setLiveLow(item.getNodeValue()); +// } else if (item.getNodeName().equals("live_high")) { +// // 判断属性名称是 live_high +// typeData.setLiveHigh(item.getNodeValue()); +// } else if (item.getNodeName().equals("quantity")) { +// // 判断属性名称是 quantity +// typeData.setQuantity(item.getNodeValue()); +// } else if (item.getNodeName().equals("xe_volume")) { +// // 判断属性名称是 xe_volume +// typeData.setXeVolume(item.getNodeValue()); +// } else if (item.getNodeName().equals("mdc")) { +// // 判断属性名称是 mdc +// typeData.setMdc(item.getNodeValue()); +// } else if (item.getNodeName().equals("nuclide_name")) { +// // 判断属性名称是 nuclide_name +// typeData.setNuclideName(item.getNodeValue()); +// } else if (item.getNodeName().equals("live_qc")) { +// // 判断属性名称是 live_qc +// typeData.setLiveQc(item.getNodeValue()); +// } else if (item.getNodeName().equals("number")) { +// // 判断属性名称是 number +// typeData.setNumber(item.getNodeValue()); +// } +// } +// } +// } +// //获取下一个节点 +// childNode = childNode.getNextSibling(); +// } +// //台站参数赋值 phd-sauna +// mParameter.setPhdSauna2(typeData); +// } else if (node.getNodeName().equals("SPALAX")) {//判断节点名称是否是 spalax +// //获取节点下的第一个子节点 +// Node childNode = node.getFirstChild(); +// //声明一个 台站参数实体类 +// StationTypeData typeData = new StationTypeData(); +// //判断子节点是否为空 +// while (Objects.nonNull(childNode)) { +// //判断节点名称是否是 item +// if (childNode.getNodeName().equals("item")) { +// //获取节点的属性信息 +// NamedNodeMap attributes = childNode.getAttributes(); +// //判断属性是否为空 +// if (Objects.nonNull(attributes)) { +// //遍历属性信息 +// for (int k = 0; k < attributes.getLength(); k++) { +// //获取属性信息 +// Node item = attributes.item(k); +// if (item.getNodeName().equals("collect_low")) { +// //属性名称为 collect_low +// typeData.setCollectLow(item.getNodeValue()); +// } else if (item.getNodeName().equals("collect_high")) { +// //属性名称为 collect_high +// typeData.setCollectHigh(item.getNodeValue()); +// } else if (item.getNodeName().equals("live_low")) { +// //属性名称为 live_low +// typeData.setLiveLow(item.getNodeValue()); +// } else if (item.getNodeName().equals("live_high")) { +// //属性名称为 live_high +// typeData.setLiveHigh(item.getNodeValue()); +// } else if (item.getNodeName().equals("quantity")) { +// //属性名称为 quantity +// typeData.setQuantity(item.getNodeValue()); +// } else if (item.getNodeName().equals("live_qc")) { +// //属性名称为 live_qc +// typeData.setLiveQc(item.getNodeValue()); +// } else if (item.getNodeName().equals("number")) { +// //属性名称为 number +// typeData.setNumber(item.getNodeValue()); +// } +// } +// } +// } +// //获取下一个节点 +// childNode = childNode.getNextSibling(); +// } +// //台站参数赋值 phd-spalax +// mParameter.setPhdSpalax(typeData); +// } else if (node.getNodeName().equals("SPALAX-PLC")) { +// +// //获取节点下的第一个子节点 +// Node childNode = node.getFirstChild(); +// //声明一个 台站参数实体类 +// StationTypeData typeData = new StationTypeData(); +// //判断子节点是否为空 +// while (Objects.nonNull(childNode)) { +// //判断节点名称是否是 item +// if (childNode.getNodeName().equals("item")) { +// //获取节点的属性信息 +// NamedNodeMap attributes = childNode.getAttributes(); +// //判断属性是否为空 +// if (Objects.nonNull(attributes)) { +// //遍历属性信息 +// for (int k = 0; k < attributes.getLength(); k++) { +// //获取属性信息 +// Node item = attributes.item(k); +// if (item.getNodeName().equals("collect_low")) { +// //属性名称为 collect_low +// typeData.setCollectLow(item.getNodeValue()); +// } else if (item.getNodeName().equals("collect_high")) { +// //属性名称为 collect_high +// typeData.setCollectHigh(item.getNodeValue()); +// } else if (item.getNodeName().equals("live_low")) { +// //属性名称为 live_low +// typeData.setLiveLow(item.getNodeValue()); +// } else if (item.getNodeName().equals("live_high")) { +// //属性名称为 live_high +// typeData.setLiveHigh(item.getNodeValue()); +// } else if (item.getNodeName().equals("quantity")) { +// //属性名称为 quantity +// typeData.setQuantity(item.getNodeValue()); +// } else if (item.getNodeName().equals("live_qc")) { +// //属性名称为 live_qc +// typeData.setLiveQc(item.getNodeValue()); +// } else if (item.getNodeName().equals("number")) { +// //属性名称为 number +// typeData.setNumber(item.getNodeValue()); +// } +// } +// } +// } +// //获取下一个节点 +// childNode = childNode.getNextSibling(); +// } +// //台站参数赋值 phd-spalax +// mParameter.setPhdSpalaxPLC(typeData); +// +// } else if (node.getNodeName().equals("PARTICULATE")) {// 判断节点名称是否是 PARTICULATE +// //获取节点下的第一个节点 +// Node childNode = node.getFirstChild(); +// //声明台站参数实体类 +// StationTypeData typeData = new StationTypeData(); +// //判断子节点是否为空 +// while (Objects.nonNull(childNode)) { +// //判断子节点名称是否是 item +// if (childNode.getNodeName().equals("item")) { +// //获取子节点的属性信息 +// NamedNodeMap attributes = childNode.getAttributes(); +// //判断属性是否为空 +// if (Objects.nonNull(attributes)) { +// //遍历属性信息 +// for (int k = 0; k < attributes.getLength(); k++) { +// //获取节点的属性 +// Node item = attributes.item(k); +// if (item.getNodeName().equals("collect_low")) { +// //属性名称是 collect_low +// typeData.setCollectLow(item.getNodeValue()); +// } else if (item.getNodeName().equals("collect_high")) { +// //属性名称是 collect_high +// typeData.setCollectHigh(item.getNodeValue()); +// } else if (item.getNodeName().equals("live_low")) { +// //属性名称是 live_low +// typeData.setLiveLow(item.getNodeValue()); +// } else if (item.getNodeName().equals("live_high")) { +// //属性名称是 live_high +// typeData.setLiveHigh(item.getNodeValue()); +// } else if (item.getNodeName().equals("quantity")) { +// //属性名称是 quantity +// typeData.setQuantity(item.getNodeValue()); +// } else if (item.getNodeName().equals("number")) { +// //属性名称是 number +// typeData.setNumber(item.getNodeValue()); +// } +// } +// } +// } +// // 获取下一个节点 +// childNode = childNode.getNextSibling(); +// } +// //台站参数赋值 phd-particulate +// mParameter.setPhdParticulate(typeData); +// } +// } +// } +// } else if (n.getNodeName().equals("MET")) { +// // 判断节点名称是否是 met +// //获取第一个子节点 +// Node childNode = n.getFirstChild(); +// //判断节点是否为空 +// while (Objects.nonNull(childNode)) { +// //判断节点名称是否是 item +// if (childNode.getNodeName().equals("item")) { +// //获取节点的属性信息 +// NamedNodeMap attributes = childNode.getAttributes(); +// //判断节点属性是否为空 +// if (Objects.nonNull(attributes)) { +// //遍历节点属性信息 +// for (int k = 0; k < attributes.getLength(); k++) { +// //获取节点属性 +// Node item = attributes.item(k); +// //判断属性名称是否是 number +// if (item.getNodeName().equals("number")) { +// mParameter.setMet(item.getNodeValue()); +// } +// } +// } +// } +// //获取下一个节点 +// childNode = childNode.getNextSibling(); +// } +// } else if (n.getNodeName().equals("SOH")) { +// // 判断节点名称是否是 SOH +// //获取第一个子节点 +// Node childNode = n.getFirstChild(); +// //判断节点是否为空 +// while (Objects.nonNull(childNode)) { +// //判断节点名称是否是 item +// if (childNode.getNodeName().equals("item")) { +// //获取节点的属性信息 +// NamedNodeMap attributes = childNode.getAttributes(); +// //判断节点属性是否为空 +// if (Objects.nonNull(attributes)) { +// //遍历节点属性信息 +// for (int k = 0; k < attributes.getLength(); k++) { +// //获取节点属性 +// Node item = attributes.item(k); +// //判断属性名称是否是 number +// if (item.getNodeName().equals("number")) { +// mParameter.setSoh(item.getNodeValue()); +// } +// } +// } +// } +// //获取下一个节点 +// childNode = childNode.getNextSibling(); +// } +// } else if (n.getNodeName().equals("SPHD_MET_SOH")) { +// // 判断节点名称 是否是 SPHD_MET_SOH +// //获取节点的子节点集合 +// NodeList sphdmetsohChildNodes = n.getChildNodes(); +// //声明一个实体类封装属性信息 +// SphdMetSoh sphdMetSoh = new SphdMetSoh(); +// // 遍历子节点集合 +// for (int j = 0; j < sphdmetsohChildNodes.getLength(); j++) { +// //获取子节点数据 +// Node node = sphdmetsohChildNodes.item(j); +// //判断子节点名称是否是 SAUNA +// if (node.getNodeName().equals("SAUNA")) { +// //获取第一个节点 +// Node childNode = node.getFirstChild(); +// //判断节点是否为空 +// while (Objects.nonNull(childNode)) { +// //判断节点名称是否是 item +// if (childNode.getNodeName().equals("item")) { +// //获取节点的属性信息 +// NamedNodeMap attributes = childNode.getAttributes(); +// //判断节点属性是否为空 +// if (Objects.nonNull(attributes)) { +// //遍历节点属性信息 +// for (int k = 0; k < attributes.getLength(); k++) { +// //获取节点属性 +// Node item = attributes.item(k); +// //判断属性名称是否是 number +// if (item.getNodeName().equals("number")) { +// sphdMetSoh.setSaunaEverydaynums(item.getNodeValue()); +// } +// } +// } +// } +// //获取下一个节点 +// childNode = childNode.getNextSibling(); +// } +// } else if (node.getNodeName().equals("SPALAX")) { // 判断节点名称是否是 SPALAX +// //获取第一个节点 +// Node childNode = node.getFirstChild(); +// //判断节点是否为空 +// while (Objects.nonNull(childNode)) { +// //判断节点名称是否是 item +// if (childNode.getNodeName().equals("item")) { +// //获取节点的属性信息 +// NamedNodeMap attributes = childNode.getAttributes(); +// //判断节点属性是否为空 +// if (Objects.nonNull(attributes)) { +// //遍历节点属性信息 +// for (int k = 0; k < attributes.getLength(); k++) { +// //获取节点属性 +// Node item = attributes.item(k); +// //判断属性名称是否是 number +// if (item.getNodeName().equals("number")) { +// sphdMetSoh.setSpalaxEverydaynums(item.getNodeValue()); +// } +// } +// } +// } +// //获取下一个节点 +// childNode = childNode.getNextSibling(); +// } +// } else if (node.getNodeName().equals("PARTICULATE")) {// 判断节点名称是否是 PARTICULATE +// //获取第一个子节点 +// Node childNode = node.getFirstChild(); +// //判断节点是否为空 +// while (Objects.nonNull(childNode)) { +// //判断节点名称是否是 item +// if (childNode.getNodeName().equals("item")) { +// //获取节点属性 +// NamedNodeMap attributes = childNode.getAttributes(); +// //判断节点属性是否为空 +// if (Objects.nonNull(attributes)) { +// //遍历节点属性 +// for (int k = 0; k < attributes.getLength(); k++) { +// //获取属性 +// Node item = attributes.item(k); +// //判断属性名称是否是 number +// if (item.getNodeName().equals("number")) { +// sphdMetSoh.setParticulateEverydaynums(item.getNodeValue()); +// } +// } +// } +// } +// //获取下一个节点 +// childNode = childNode.getNextSibling(); +// } +// } +// //将 sphdMetSoh 属性信息赋值给 参数实体 +// mParameter.setSphdMetSoh(sphdMetSoh); +// } +// } else if (n.getNodeName().equals("SPECIAL")) { +// // 判断节点名称是否是 SPECIAL +// //获取节点的子节点集合 +// NodeList specialChildNodes = n.getChildNodes(); +// //遍历子节点 +// for (int j = 0; j < specialChildNodes.getLength(); j++) { +// //获取节点信息 +// Node node = specialChildNodes.item(j); +// //声明台站名称 +// String stationName = ""; +// //判断节点名称是否是 STATION +// if (node.getNodeName().equals("STATION")) { +// //获取节点的属性信息 +// NamedNodeMap attributes = node.getAttributes(); +// //声明一个实体类 封装台站参数信息 +// Specialpara spePara = new Specialpara(); +// //判断属性信息是否为空 +// if (Objects.nonNull(attributes)) { +// for (int k = 0; k < attributes.getLength(); k++) { +// //获取属性信息 +// Node item = attributes.item(k); +// //判断属性名称是否是 name +// if (item.getNodeName().equals("name")) { +// stationName = item.getNodeValue(); +// } +// } +// //获取子节点集合 +// NodeList parameterNodes = node.getChildNodes(); +// //遍历子节点 +// for (int k = 0; k < parameterNodes.getLength(); k++) { +// //获取子节点 +// Node node1 = parameterNodes.item(k); +// //判断子节点名称是否是 PHDF +// if (node1.getNodeName().equals("PHDF")) { +// //获取第一个子节点 +// Node childNode = node1.getFirstChild(); +// //声明一个 台站参数实体类 +// StationTypeData typeData = new StationTypeData(); +// //判断子节点是否为空 +// while (Objects.nonNull(childNode)) { +// //判断子节点名称是否是 item +// if (childNode.getNodeName().equals("item")) { +// //获取子节点的属性 +// NamedNodeMap attributes1 = childNode.getAttributes(); +// //判断属性是否为空 +// if (Objects.nonNull(attributes1)) { +// //遍历属性 +// for (int m = 0; m < attributes1.getLength(); m++) { +// //获取属性 +// Node item1 = attributes1.item(m); +// if (item1.getNodeName().equals("collect_low")) { +// //判断属性名称是否是 collect_low +// typeData.setCollectLow(item1.getNodeValue()); +// } else if (item1.getNodeName().equals("collect_high")) { +// //判断属性名称是否是 collect_high +// typeData.setCollectHigh(item1.getNodeValue()); +// } else if (item1.getNodeName().equals("live_low")) { +// //判断属性名称是否是 live_low +// typeData.setLiveLow(item1.getNodeValue()); +// } else if (item1.getNodeName().equals("live_high")) { +// //判断属性名称是否是 live_high +// typeData.setLiveHigh(item1.getNodeValue()); +// } else if (item1.getNodeName().equals("quantity")) { +// //判断属性名称是否是 xe_volume +// typeData.setQuantity(item1.getNodeValue()); +// } else if (item1.getNodeName().equals("xe_volume")) { +// //判断属性名称是否是 xe_volume +// typeData.setXeVolume(item1.getNodeValue()); +// } else if (item1.getNodeName().equals("mdc")) { +// //判断属性名称是否是 mdc +// typeData.setMdc(item1.getNodeValue()); +// } else if (item1.getNodeName().equals("nuclide_name")) { +// //判断属性名称是否是 nuclide_name +// typeData.setNuclideName(item1.getNodeValue()); +// } else if (item1.getNodeName().equals("live_qc")) { +// //判断属性名称是否是 live_qc +// typeData.setLiveQc(item1.getNodeValue()); +// } else if (item1.getNodeName().equals("number")) { +// //判断属性名称是否是 number +// typeData.setNumber(item1.getNodeValue()); +// } +// } +// } +// } +// //获取下一个节点 +// childNode = childNode.getNextSibling(); +// } +// //将参数实体赋值给 phdf +// spePara.setPhdf(typeData); +// } else if (node1.getNodeName().equals("PHD")) {// 判断子节点名称是否是 PHD +// //获取第一个子节点 +// Node childNode = node1.getFirstChild(); +// //声明一个台站参数实体 +// StationTypeData typeData = new StationTypeData(); +// //判断子节点是否为空 +// while (Objects.nonNull(childNode)) { +// //判断节点名称是否是 item +// if (childNode.getNodeName().equals("item")) { +// //获取节点的属性 +// NamedNodeMap attributes1 = childNode.getAttributes(); +// //判断节点属性是否为空 +// if (Objects.nonNull(attributes1)) { +// //遍历属性 +// for (int m = 0; m < attributes1.getLength(); m++) { +// //获取节点属性 +// Node item1 = attributes1.item(m); +// if (item1.getNodeName().equals("collect_low")) { +// // 判断节点名称是否是 collect_low +// typeData.setCollectLow(item1.getNodeValue()); +// } else if (item1.getNodeName().equals("collect_high")) { +// // 判断节点名称是否是 collect_high +// typeData.setCollectHigh(item1.getNodeValue()); +// } else if (item1.getNodeName().equals("live_low")) { +// // 判断节点名称是否是 live_low +// typeData.setLiveLow(item1.getNodeValue()); +// } else if (item1.getNodeName().equals("live_high")) { +// // 判断节点名称是否是 live_high +// typeData.setLiveHigh(item1.getNodeValue()); +// } else if (item1.getNodeName().equals("quantity")) { +// // 判断节点名称是否是 quantity +// typeData.setQuantity(item1.getNodeValue()); +// } else if (item1.getNodeName().equals("xe_volume")) { +// // 判断节点名称是否是 xe_volume +// typeData.setXeVolume(item1.getNodeValue()); +// } else if (item1.getNodeName().equals("mdc")) { +// // 判断节点名称是否是 mdc +// typeData.setMdc(item1.getNodeValue()); +// } else if (item1.getNodeName().equals("nuclide_name")) { +// // 判断节点名称是否是 nuclide_name +// typeData.setNuclideName(item1.getNodeValue()); +// } else if (item1.getNodeName().equals("live_qc")) { +// // 判断节点名称是否是 live_qc +// typeData.setLiveQc(item1.getNodeValue()); +// } else if (item1.getNodeName().equals("number")) { +// // 判断节点名称是否是 number +// typeData.setNumber(item1.getNodeValue()); +// } +// } +// } +// } +// //获取下一个节点 +// childNode = childNode.getNextSibling(); +// } +// //节点参数赋值 phd +// spePara.setPhd(typeData); +// } else if (node1.getNodeName().equals("SOH")) {// 判断节点名称是否是 SOH +// //获取第一个子节点 +// Node childNode = node1.getFirstChild(); +// //判断子节点是否为空 +// while (Objects.nonNull(childNode)) { +// //判断节点名称是否是 item +// if (childNode.getNodeName().equals("item")) { +// //获取节点属性 +// NamedNodeMap attributes1 = childNode.getAttributes(); +// //判断节点属性是否为空 +// if (Objects.nonNull(attributes1)) { +// //遍历节点属性 +// for (int m = 0; m < attributes1.getLength(); m++) { +// //获取属性 +// Node item1 = attributes1.item(m); +// //判断属性名称是否是 number +// if (item1.getNodeName().equals("number")) { +// spePara.setSoh(item1.getNodeValue()); +// } +// } +// } +// } +// childNode = childNode.getNextSibling(); +// } +// } else if (node1.getNodeName().equals("MET")) {// 判断节点名称是否是 MET +// //获取第一个子节点 +// Node childNode = node1.getFirstChild(); +// //判断子节点是否为空 +// while (Objects.nonNull(childNode)) { +// //判断节点名称是否是 item +// if (childNode.getNodeName().equals("item")) { +// //获取节点的属性 +// NamedNodeMap attributes1 = childNode.getAttributes(); +// //判断节点属性是否为空 +// if (Objects.nonNull(attributes1)) { +// //遍历节点属性 +// for (int m = 0; m < attributes1.getLength(); m++) { +// //获取节点属性 +// Node item1 = attributes1.item(m); +// //判断节点名称是否是 number +// if (item1.getNodeName().equals("number")) { +// spePara.setMet(item1.getNodeValue()); +// } +// } +// } +// } +// childNode = childNode.getNextSibling(); +// } +// } else if (node1.getNodeName().equals("SPHD_MET_SOH")) {// 判断子节点名称是否是 SPHD_MET_SOH +// //获取节点的第一个子节点 +// Node childNode = node1.getFirstChild(); +// //判断子节点是否为空 +// while (Objects.nonNull(childNode)) { +// //判断节点名称是否是 item +// if (childNode.getNodeName().equals("item")) { +// //获取节点属性 +// NamedNodeMap attributes1 = childNode.getAttributes(); +// //判断节点属性是否为空 +// if (Objects.nonNull(attributes1)) { +// //遍历节点属性 +// for (int m = 0; m < attributes1.getLength(); m++) { +// //获取属性 +// Node item1 = attributes1.item(m); +// //判断属性名称是否是 number +// if (item1.getNodeName().equals("number")) { +// spePara.setSphdMetSoh(item1.getNodeValue()); +// } +// } +// } +// } +// childNode = childNode.getNextSibling(); +// } +// } +// } +// } +// //台站名称作为 key 台站参数属性作为 value 存入一个map +// specialparaMap.put(stationName, spePara); +// } +// } // end for +// //参数信息赋值给参数 +// mRateParam.setParameter(mParameter); +// //特殊台站信息赋值给 特殊台站map +// mRateParam.setSpecialparam(specialparaMap); +// } // end else if +// } +// } +// return mRateParam; +// } catch (ParserConfigurationException e) { +// throw new RuntimeException(e); +// } catch (IOException e) { +// throw new RuntimeException(e); +// } catch (SAXException e) { +// throw new RuntimeException(e); +// } +// } +//endregion + /** * 多线程获取台站数据的提供率和有效率 * @param stationInfos 台站信息列表