From 4c2934bfa4825dbdd2c976669d64ae5c59d46056 Mon Sep 17 00:00:00 2001 From: liriming <1343021927@qq.com> Date: 星期二, 29 四月 2025 15:54:19 +0800 Subject: [PATCH] RunMachineStateTask --- shasteel-biz/src/main/java/com/iailab/module/shasteel/job/task/RunMachineStateTask.java | 175 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 168 insertions(+), 7 deletions(-) diff --git a/shasteel-biz/src/main/java/com/iailab/module/shasteel/job/task/RunMachineStateTask.java b/shasteel-biz/src/main/java/com/iailab/module/shasteel/job/task/RunMachineStateTask.java index 2306258..a8a6706 100644 --- a/shasteel-biz/src/main/java/com/iailab/module/shasteel/job/task/RunMachineStateTask.java +++ b/shasteel-biz/src/main/java/com/iailab/module/shasteel/job/task/RunMachineStateTask.java @@ -33,15 +33,15 @@ put("F0000101190", Arrays.asList("C0000101199", "C0000101200", "C0000101201", "C0000101202")); put("F0000101191", Arrays.asList("M0000100854", "M0000100855", "M0000100856", "M0000100857")); put("F0000101192", Arrays.asList("C0000101242", "C0000101243", "C0000101244", "C0000101245")); - put("F0000101193", Arrays.asList("C0000101223", "C0000101224", "C0000101225", "C0000101226")); - put("F0000101194", Arrays.asList("C0000101210", "C0000101211", "C0000101212", "C0000101213")); - put("F0000101195", Arrays.asList("C0000101214", "C0000101215", "C0000101216", "C0000101217")); + put("F0000101193", Arrays.asList("C0000101223", "C0000101224", "C0000101225", "C0000101226"));// + put("F0000101194", Arrays.asList("C0000101210", "C0000101211", "C0000101212", "C0000101213"));// + put("F0000101195", Arrays.asList("C0000101214", "C0000101215", "C0000101216", "C0000101217"));// put("F0000101196", Arrays.asList("F0000100105", "F0000100106", "F0000100107", "F0000100108")); put("F0000101197", Arrays.asList("F0000100116", "F0000100117", "F0000100118", "F0000100119")); put("F0000101198", Arrays.asList("M0000100032", "M0000100035", "M0000100038", "M0000100041")); put("F0000101201", Arrays.asList("C0000101203", "C0000101204", "C0000101205", "C0000101206")); - put("F0000101204", Arrays.asList("C0000101227", "C0000101228", "C0000101229", "C0000101230")); + put("F0000101204", Arrays.asList("C0000101227", "C0000101228", "C0000101229", "C0000101230"));// put("F0000101207", Arrays.asList("F0000100102", "F0000100103")); put("F0000101208", Arrays.asList("F0000100113", "F0000100114")); @@ -51,9 +51,13 @@ put("F0000101212", Arrays.asList("C0000101207", "C0000101208")); put("F0000101213", Arrays.asList("C0000101116", "C0000101117")); put("F0000101214", Arrays.asList("C0000101240", "C0000101241")); - put("F0000101215", Arrays.asList("C0000101231", "C0000101232")); - put("F0000101216", Arrays.asList("C0000101221", "C0000101222")); - put("F0000101217", Arrays.asList("C0000101218", "C0000101219")); + put("F0000101215", Arrays.asList("C0000101231", "C0000101232"));// + put("F0000101216", Arrays.asList("C0000101221", "C0000101222"));// + put("F0000101217", Arrays.asList("C0000101218", "C0000101219"));// + + put("F0000100104", Arrays.asList("F0000100104"));// + put("C0000101233", Arrays.asList("C0000101233"));// + put("C0000101220", Arrays.asList("C0000101220"));// }}; private static final HashMap<String, List<String>> sumPoints = new HashMap<String, List<String>>() {{ @@ -70,10 +74,94 @@ put("F0000101228", Arrays.asList("F0000101195", "F0000101206", "F0000101217", "C0000101220")); }}; + private static final HashMap<String, List<String>> qhPoints = new HashMap<String, List<String>>() {{ + put("1", Arrays.asList("F0000100098", "F0000100099", "F0000100100", "F0000100101","F0000100105", "F0000100106", "F0000100107", "F0000100108","F0000100102", "F0000100103")); + }}; + + private boolean qhFlag1 = false; + private boolean qhFlag2 = false; + private boolean qhFlag135 = false; + private boolean qhFlag180 = false; + private boolean qhFlagTotal = false; + @Override public void run(String params) { logger.info("RunMachineStateTask定时任务正在执行,参数为:{}", params); try { + List<String> qhPointNos = qhPoints.values().stream().flatMap(List::stream).collect(Collectors.toList()); + Map<String, Object> qhPointsRealValue = dataPointApi.queryPointsRealValue(qhPointNos); + for (Map.Entry<String, List<String>> entry : qhPoints.entrySet()) { + ApiPointValueWriteDTO apiPointValueWriteDTO = new ApiPointValueWriteDTO(); + for (String pointNo : entry.getValue()) { + Double value = Double.valueOf(String.format("%.2f", Double.valueOf(qhPointsRealValue.get(pointNo).toString()))); + if ("F0000100098".equals(pointNo) && value == 0.00) { + apiPointValueWriteDTO.setValue(0); + apiPointValueWriteDTO.setPointNo("C0000101223"); + dataPointApi.writePointRealValue(apiPointValueWriteDTO); + apiPointValueWriteDTO.setPointNo("C0000101210"); + dataPointApi.writePointRealValue(apiPointValueWriteDTO); + apiPointValueWriteDTO.setPointNo("C0000101214"); + dataPointApi.writePointRealValue(apiPointValueWriteDTO); + }else if ("F0000100099".equals(pointNo) && value == 0.00) { + apiPointValueWriteDTO.setValue(0); + apiPointValueWriteDTO.setPointNo("C0000101224"); + dataPointApi.writePointRealValue(apiPointValueWriteDTO); + apiPointValueWriteDTO.setPointNo("C0000101211"); + dataPointApi.writePointRealValue(apiPointValueWriteDTO); + apiPointValueWriteDTO.setPointNo("C0000101215"); + dataPointApi.writePointRealValue(apiPointValueWriteDTO); + }else if ("F0000100100".equals(pointNo) && value == 0.00) { + apiPointValueWriteDTO.setValue(0); + apiPointValueWriteDTO.setPointNo("C0000101225"); + dataPointApi.writePointRealValue(apiPointValueWriteDTO); + apiPointValueWriteDTO.setPointNo("C0000101212"); + dataPointApi.writePointRealValue(apiPointValueWriteDTO); + apiPointValueWriteDTO.setPointNo("C0000101216"); + dataPointApi.writePointRealValue(apiPointValueWriteDTO); + }else if ("F0000100101".equals(pointNo) && value == 0.00) { + apiPointValueWriteDTO.setValue(0); + apiPointValueWriteDTO.setPointNo("C0000101226"); + dataPointApi.writePointRealValue(apiPointValueWriteDTO); + apiPointValueWriteDTO.setPointNo("C0000101213"); + dataPointApi.writePointRealValue(apiPointValueWriteDTO); + apiPointValueWriteDTO.setPointNo("C0000101217"); + dataPointApi.writePointRealValue(apiPointValueWriteDTO); + }else if ("F0000100105".equals(pointNo) && value == 0.00) { + apiPointValueWriteDTO.setValue(0); + apiPointValueWriteDTO.setPointNo("C0000101227"); + dataPointApi.writePointRealValue(apiPointValueWriteDTO); + }else if ("F0000100106".equals(pointNo) && value == 0.00) { + apiPointValueWriteDTO.setValue(0); + apiPointValueWriteDTO.setPointNo("C0000101228"); + dataPointApi.writePointRealValue(apiPointValueWriteDTO); + }else if ("F0000100107".equals(pointNo) && value == 0.00) { + apiPointValueWriteDTO.setValue(0); + apiPointValueWriteDTO.setPointNo("C0000101229"); + dataPointApi.writePointRealValue(apiPointValueWriteDTO); + }else if ("F0000100108".equals(pointNo) && value == 0.00) { + apiPointValueWriteDTO.setValue(0); + apiPointValueWriteDTO.setPointNo("C0000101230"); + dataPointApi.writePointRealValue(apiPointValueWriteDTO); + }else if ("F0000100102".equals(pointNo) && value == 0.00) { + apiPointValueWriteDTO.setValue(0); + apiPointValueWriteDTO.setPointNo("C0000101231"); + dataPointApi.writePointRealValue(apiPointValueWriteDTO); + apiPointValueWriteDTO.setPointNo("C0000101221"); + dataPointApi.writePointRealValue(apiPointValueWriteDTO); + apiPointValueWriteDTO.setPointNo("C0000101218"); + dataPointApi.writePointRealValue(apiPointValueWriteDTO); + }else if ("F0000100103".equals(pointNo) && value == 0.00) { + apiPointValueWriteDTO.setValue(0); + apiPointValueWriteDTO.setPointNo("C0000101232"); + dataPointApi.writePointRealValue(apiPointValueWriteDTO); + apiPointValueWriteDTO.setPointNo("C0000101222"); + dataPointApi.writePointRealValue(apiPointValueWriteDTO); + apiPointValueWriteDTO.setPointNo("C0000101219"); + dataPointApi.writePointRealValue(apiPointValueWriteDTO); + } + } + } + List<String> partPointNos = partPoints.values().stream().flatMap(List::stream).collect(Collectors.toList()); Map<String, Object> partPointsRealValue = dataPointApi.queryPointsRealValue(partPointNos); for (Map.Entry<String, List<String>> entry : partPoints.entrySet()) { @@ -93,12 +181,64 @@ writeDTO.setPointNo(entry.getKey()); BigDecimal value = count == 0 ? BigDecimal.ZERO : new BigDecimal(dataValue).divide(new BigDecimal(count), 2, BigDecimal.ROUND_HALF_UP); writeDTO.setValue(value); + if ("F0000101185".equals(entry.getKey()) && value.compareTo(BigDecimal.ZERO) == 0) { + qhFlag1 = true; + } + if ("F0000101196".equals(entry.getKey()) && value.compareTo(BigDecimal.ZERO) == 0) { + qhFlag2 = true; + } + if ("F0000101207".equals(entry.getKey()) && value.compareTo(BigDecimal.ZERO) == 0) { + qhFlag135 = true; + } + if ("F0000100104".equals(entry.getKey()) && value.compareTo(BigDecimal.ZERO) == 0) { + qhFlag180 = true; + } }else { writeDTO.setPointNo(entry.getKey()); writeDTO.setValue(dataValue); } + logger.info("写入常量点="+writeDTO.getPointNo()+",值="+writeDTO.getValue()); dataPointApi.writePointRealValue(writeDTO); + } + ApiPointValueWriteDTO apiPointValueWriteDTO = new ApiPointValueWriteDTO(); + if(qhFlag1){ + logger.info("一期机组气耗率为0"); + apiPointValueWriteDTO.setValue(0); + apiPointValueWriteDTO.setPointNo("F0000101193"); + dataPointApi.writePointRealValue(apiPointValueWriteDTO); + apiPointValueWriteDTO.setPointNo("F0000101194"); + dataPointApi.writePointRealValue(apiPointValueWriteDTO); + apiPointValueWriteDTO.setPointNo("F0000101195"); + dataPointApi.writePointRealValue(apiPointValueWriteDTO); + } + if(qhFlag2){ + logger.info("二期机组气耗率为0"); + apiPointValueWriteDTO.setValue(0); + apiPointValueWriteDTO.setPointNo("F0000101204"); + dataPointApi.writePointRealValue(apiPointValueWriteDTO); + apiPointValueWriteDTO.setPointNo("F0000101205"); + dataPointApi.writePointRealValue(apiPointValueWriteDTO); + apiPointValueWriteDTO.setPointNo("F0000101206"); + dataPointApi.writePointRealValue(apiPointValueWriteDTO); + } + if(qhFlag135){ + logger.info("135机组气耗率为0"); + apiPointValueWriteDTO.setValue(0); + apiPointValueWriteDTO.setPointNo("F0000101215"); + dataPointApi.writePointRealValue(apiPointValueWriteDTO); + apiPointValueWriteDTO.setPointNo("F0000101216"); + dataPointApi.writePointRealValue(apiPointValueWriteDTO); + apiPointValueWriteDTO.setPointNo("F0000101217"); + dataPointApi.writePointRealValue(apiPointValueWriteDTO); + } + if(qhFlag180){ + logger.info("180机组气耗率为0"); + apiPointValueWriteDTO.setValue(0); + apiPointValueWriteDTO.setPointNo("C0000101233"); + dataPointApi.writePointRealValue(apiPointValueWriteDTO); + apiPointValueWriteDTO.setPointNo("C0000101220"); + dataPointApi.writePointRealValue(apiPointValueWriteDTO); } Thread.sleep(5000); List<String> sumPointNos = sumPoints.values().stream().flatMap(List::stream).collect(Collectors.toList());//合计 @@ -118,6 +258,9 @@ writeDTO.setPointNo(entry.getKey()); BigDecimal value = count == 0 ? BigDecimal.ZERO : new BigDecimal(dataValue).divide(new BigDecimal(count), 2, BigDecimal.ROUND_HALF_UP); writeDTO.setValue(value); + if ("F0000101218".equals(entry.getKey()) && value.compareTo(BigDecimal.ZERO) == 0) { + qhFlagTotal = true; + } }else { writeDTO.setPointNo(entry.getKey()); writeDTO.setValue(dataValue); @@ -126,6 +269,24 @@ dataPointApi.writePointRealValue(writeDTO); } + if(qhFlagTotal){ + logger.info("合计气耗率为0"); + apiPointValueWriteDTO = new ApiPointValueWriteDTO(); + apiPointValueWriteDTO.setValue(0); + apiPointValueWriteDTO.setPointNo("F0000101226"); + dataPointApi.writePointRealValue(apiPointValueWriteDTO); + apiPointValueWriteDTO.setPointNo("F0000101227"); + dataPointApi.writePointRealValue(apiPointValueWriteDTO); + apiPointValueWriteDTO.setPointNo("F0000101228"); + dataPointApi.writePointRealValue(apiPointValueWriteDTO); + } + + qhFlag1 = false; + qhFlag2 = false; + qhFlag135 = false; + qhFlag180 = false; + qhFlagTotal = false; + } catch (Exception ex) { logger.error("RunMachineStateTask运行异常", ex); } -- Gitblit v1.9.3