Browse Source

优化非机预警设备备注字段内容

优化查询单个设备在线率返回值小数长度
develop
zhaoxianglong 11 months ago
parent
commit
78ce466c41
  1. 27
      zc-business/src/main/java/com/zc/business/controller/NonAutomaticWarningController.java
  2. 10
      zc-business/src/main/java/com/zc/business/controller/StatusController.java
  3. 6
      zc-business/src/main/java/com/zc/business/domain/Status.java
  4. 3
      zc-business/src/main/resources/mapper/business/StatusMapper.xml

27
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);

10
zc-business/src/main/java/com/zc/business/controller/StatusController.java

@ -112,11 +112,13 @@ public class StatusController extends BaseController {
List<Status> listStatus = statusService.list(status);
// Group by day and calculate average successRate
Map<Integer, Double> averageSuccessRateByDay = listStatus.stream()
// Group by day and calculate average successRate with two decimal places
Map<Integer, Integer> 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("暂无数据");
}

6
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;
}
}

3
zc-business/src/main/resources/mapper/business/StatusMapper.xml

@ -18,6 +18,7 @@
<result column="facilities_type" jdbcType="VARCHAR" property="network"/>
<result column="remark" jdbcType="VARCHAR" property="content"/>
<result column="type" jdbcType="VARCHAR" property="type"/>
<result column="use_state" jdbcType="VARCHAR" property="useState"/>
</resultMap>
@ -102,7 +103,7 @@
<if test="status.deviceId != null">
AND s.device_id = #{status.deviceId}
</if>
<if test="status.useState != null">
<if test="status.useState != null and status.useState != 0">
AND d.use_state = #{status.useState}
</if>
</where>

Loading…
Cancel
Save