Browse Source

--优化检测设备状态功能

develop
mengff 1 year ago
parent
commit
7d2a9bbd34
  1. 25
      zc-business/src/main/java/com/zc/business/controller/StatusController.java
  2. 16
      zc-business/src/main/java/com/zc/business/domain/Status.java
  3. 3
      zc-business/src/main/resources/mapper/business/StatusMapper.xml

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

@ -1,16 +1,21 @@
package com.zc.business.controller; package com.zc.business.controller;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.zc.business.domain.Status; import com.zc.business.domain.Status;
import com.zc.business.service.impl.StatusService; import com.zc.business.service.impl.StatusService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletResponse;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.temporal.ChronoUnit; import java.time.temporal.ChronoUnit;
import java.util.*; import java.util.*;
@ -40,6 +45,22 @@ public class StatusController extends BaseController {
return getDataTable(listStatus); return getDataTable(listStatus);
} }
/**
* 导出请填写功能名称列表
*/
@Log(title = "【请填写功能名称】", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, Status status)
{
LocalDateTime todayStart = status.getStartTime().truncatedTo(ChronoUnit.DAYS);
LocalDateTime currentTime = status.getTime().truncatedTo(ChronoUnit.DAYS).plusDays(1);
status.setStartTime(todayStart);
status.setTime(currentTime);
List<Status> listStatus = statusService.list(status);
ExcelUtil<Status> util = new ExcelUtil<>(Status.class);
util.exportExcel(response, listStatus, "【请填写功能名称】数据");
}
//按时间划分设备柱状图 //按时间划分设备柱状图
@ApiOperation("设备状态柱状图按时间和类型") @ApiOperation("设备状态柱状图按时间和类型")
@GetMapping ("/list") @GetMapping ("/list")
@ -51,9 +72,9 @@ public class StatusController extends BaseController {
status.setTime(currentTime); status.setTime(currentTime);
String type=status.getType(); String type=status.getType();
List<Status> listStatus = statusService.list(status); List<Status> listStatus = statusService.list(status);
List<Status> listStatu=listStatus.stream().filter(iteam ->iteam.getType()!=null && iteam.getType().equals(type)).collect(Collectors.toList()); // List<Status> listStatu=listStatus.stream().filter(iteam ->iteam.getType()!=null && iteam.getType().equals(type)).collect(Collectors.toList());
//根据时间分组 //根据时间分组
Map<String, List<Status>> map = listStatu.stream() Map<String, List<Status>> map = listStatus.stream()
.collect(Collectors.groupingBy(Status -> (Status.getTime().getYear()+"-"+Status.getTime().getMonthValue()+"-"+Status.getTime().getDayOfYear()))); .collect(Collectors.groupingBy(Status -> (Status.getTime().getYear()+"-"+Status.getTime().getMonthValue()+"-"+Status.getTime().getDayOfYear())));
//根据类型分组 //根据类型分组
// Map<String, List<Status>> maps = listStatu.stream().filter(iteam->iteam.getType()!=null).collect(Collectors.groupingBy(Status::getType)); // Map<String, List<Status>> maps = listStatu.stream().filter(iteam->iteam.getType()!=null).collect(Collectors.groupingBy(Status::getType));

16
zc-business/src/main/java/com/zc/business/domain/Status.java

@ -1,6 +1,7 @@
package com.zc.business.domain; package com.zc.business.domain;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime; import java.time.LocalDateTime;
@ -107,14 +108,18 @@ public class Status {
} }
private long id; private long id;
@Excel(name = "设备桩号")
private String deviceNo; private String deviceNo;
@Excel(name = "设备类型")
private String deviceName; private String deviceName;
@Excel(name = "状态")
private int deviceStatus; private int deviceStatus;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern ="yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern ="yyyy-MM-dd HH:mm:ss")
@Excel(name = "监测时间", width = 30, dateFormat = "yyyy-MM-dd")
private LocalDateTime time; private LocalDateTime time;
public String getSuccessRate() { public String getSuccessRate() {
@ -135,14 +140,17 @@ public class Status {
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern ="yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern ="yyyy-MM-dd HH:mm:ss")
private LocalDateTime startTime; private LocalDateTime startTime;
@Excel(name = "设备IP")
private String deviceIp; private String deviceIp;
private String successRate; private String successRate;
private String lostRate; private String lostRate;
@Excel(name = "方向")
private String direction; private String direction;
@Excel(name = "厂家")
private String production; private String production;
@ -186,6 +194,8 @@ public class Status {
this.content = content; this.content = content;
} }
@Excel(name = "型号")
private String model; private String model;
public String getType() { public String getType() {
@ -196,10 +206,14 @@ public class Status {
this.type = type; this.type = type;
} }
@Excel(name = "网段")
private String network; private String network;
private String content; private String content;
@Excel(name = "类型")
private String type; private String type;
} }

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

@ -88,6 +88,9 @@
<if test="status.deviceNo != null"> <if test="status.deviceNo != null">
AND s.device_no = #{status.deviceNo} AND s.device_no = #{status.deviceNo}
</if> </if>
<if test="status.type != null">
AND d.type = #{status.type}
</if>
</where> </where>
</select> </select>

Loading…
Cancel
Save