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}