From 78ce466c419763a536b59cbc2645acc8b185c39d Mon Sep 17 00:00:00 2001 From: zhaoxianglong Date: Wed, 20 Mar 2024 16:42:09 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=9D=9E=E6=9C=BA=E9=A2=84?= =?UTF-8?q?=E8=AD=A6=E8=AE=BE=E5=A4=87=E5=A4=87=E6=B3=A8=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E5=86=85=E5=AE=B9=20=E4=BC=98=E5=8C=96=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E5=8D=95=E4=B8=AA=E8=AE=BE=E5=A4=87=E5=9C=A8=E7=BA=BF=E7=8E=87?= =?UTF-8?q?=E8=BF=94=E5=9B=9E=E5=80=BC=E5=B0=8F=E6=95=B0=E9=95=BF=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../NonAutomaticWarningController.java | 27 ++++++++++++------- .../business/controller/StatusController.java | 10 ++++--- .../java/com/zc/business/domain/Status.java | 6 ++--- .../mapper/business/StatusMapper.xml | 3 ++- 4 files changed, 28 insertions(+), 18 deletions(-) diff --git a/zc-business/src/main/java/com/zc/business/controller/NonAutomaticWarningController.java b/zc-business/src/main/java/com/zc/business/controller/NonAutomaticWarningController.java index 4e3ad35f..0663a021 100644 --- a/zc-business/src/main/java/com/zc/business/controller/NonAutomaticWarningController.java +++ b/zc-business/src/main/java/com/zc/business/controller/NonAutomaticWarningController.java @@ -17,6 +17,7 @@ import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; @@ -208,30 +209,36 @@ public class NonAutomaticWarningController extends BaseController { } dcWarning.setWarningTime(happenTime); dcWarning.setCreateTime(new Date()); + String stakeMark = ""; if (crossingName.startsWith("大学城")) { - dcWarning.setStakeMark("K059+289"); + stakeMark = "K059+289"; } else if (crossingName.startsWith("长清")) { - dcWarning.setStakeMark("K072+847"); + stakeMark = "K072+847"; } else if (crossingName.startsWith("孝里")) { - dcWarning.setStakeMark("K086+499"); + stakeMark = "K086+499"; } else if (crossingName.startsWith("平阴北")) { - dcWarning.setStakeMark("K099+750"); + stakeMark = "K099+750"; } else if (crossingName.startsWith("平阴南")) { - dcWarning.setStakeMark("K126+223"); + stakeMark = "K126+223"; } else if (crossingName.startsWith("平阴")) { - dcWarning.setStakeMark("K105+904"); + stakeMark = "K105+904"; } else if (crossingName.startsWith("东平")) { - dcWarning.setStakeMark("K145+933"); + stakeMark = "K145+933"; } else if (crossingName.startsWith("梁山东")) { - dcWarning.setStakeMark("K173+950"); + stakeMark = "K173+950"; } else if (crossingName.startsWith("梁山")) { - dcWarning.setStakeMark("K179+396"); + stakeMark = "K179+396"; } else if (crossingName.startsWith("嘉祥")) { - dcWarning.setStakeMark("K190+495"); + stakeMark = "K190+495"; } + dcWarning.setStakeMark(stakeMark); + dcWarning.setWarningTitle(srcName + "收费站" + direction + "发生" + warningType + "事件"); dcWarning.setWarningSource(6); dcWarning.setWarningState(1); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); + String formattedDate = sdf.format(happenTime); + dcWarning.setRemark("非机预警设备:"+formattedDate + "在" + stakeMark + srcName + "收费站的" + direction + "发生了一起" + warningType + "事件"); dcWarningService.insertDcWarning(dcWarning); }); System.out.println("message content:" + jsonObjString); diff --git a/zc-business/src/main/java/com/zc/business/controller/StatusController.java b/zc-business/src/main/java/com/zc/business/controller/StatusController.java index 07e3d102..691175fa 100644 --- a/zc-business/src/main/java/com/zc/business/controller/StatusController.java +++ b/zc-business/src/main/java/com/zc/business/controller/StatusController.java @@ -112,11 +112,13 @@ public class StatusController extends BaseController { List listStatus = statusService.list(status); - // Group by day and calculate average successRate - Map averageSuccessRateByDay = listStatus.stream() + // Group by day and calculate average successRate with two decimal places + Map averageSuccessRateByDay = listStatus.stream() .collect(Collectors.groupingBy(s -> s.getTime().getDayOfMonth(), - Collectors.averagingDouble(s -> Double.parseDouble(s.getSuccessRate().replace("%",""))))); - + Collectors.collectingAndThen( + Collectors.averagingDouble(s -> Double.parseDouble(s.getSuccessRate().replace("%", ""))), + avg -> Math.round(Float.parseFloat(String.format("%.2f", avg))) + ))); if (averageSuccessRateByDay.isEmpty()) { return AjaxResult.success("暂无数据"); } diff --git a/zc-business/src/main/java/com/zc/business/domain/Status.java b/zc-business/src/main/java/com/zc/business/domain/Status.java index 2d74b95a..bf61b15c 100644 --- a/zc-business/src/main/java/com/zc/business/domain/Status.java +++ b/zc-business/src/main/java/com/zc/business/domain/Status.java @@ -118,7 +118,7 @@ public class Status { @Excel(name = "状态") private int deviceStatus; @Excel(name = "使用状态") - private int useState; + private Integer useState; @@ -230,11 +230,11 @@ public class Status { private String type; - public int getUseState() { + public Integer getUseState() { return useState; } - public void setUseState(int useState) { + public void setUseState(Integer useState) { this.useState = useState; } } diff --git a/zc-business/src/main/resources/mapper/business/StatusMapper.xml b/zc-business/src/main/resources/mapper/business/StatusMapper.xml index 9c40d3bf..2f303a32 100644 --- a/zc-business/src/main/resources/mapper/business/StatusMapper.xml +++ b/zc-business/src/main/resources/mapper/business/StatusMapper.xml @@ -18,6 +18,7 @@ + @@ -102,7 +103,7 @@ AND s.device_id = #{status.deviceId} - + AND d.use_state = #{status.useState}