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;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
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.service.impl.StatusService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
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.RestController;
import javax.servlet.http.HttpServletResponse;
import java.time.LocalDateTime;
import java.time.temporal.ChronoUnit;
import java.util.*;
@ -40,6 +45,22 @@ public class StatusController extends BaseController {
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("设备状态柱状图按时间和类型")
@GetMapping ("/list")
@ -51,9 +72,9 @@ public class StatusController extends BaseController {
status.setTime(currentTime);
String type=status.getType();
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())));
//根据类型分组
// 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;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
@ -107,14 +108,18 @@ public class Status {
}
private long id;
@Excel(name = "设备桩号")
private String deviceNo;
@Excel(name = "设备类型")
private String deviceName;
@Excel(name = "状态")
private int deviceStatus;
@DateTimeFormat(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;
public String getSuccessRate() {
@ -135,14 +140,17 @@ public class Status {
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern ="yyyy-MM-dd HH:mm:ss")
private LocalDateTime startTime;
@Excel(name = "设备IP")
private String deviceIp;
private String successRate;
private String lostRate;
@Excel(name = "方向")
private String direction;
@Excel(name = "厂家")
private String production;
@ -186,6 +194,8 @@ public class Status {
this.content = content;
}
@Excel(name = "型号")
private String model;
public String getType() {
@ -196,10 +206,14 @@ public class Status {
this.type = type;
}
@Excel(name = "网段")
private String network;
private String content;
@Excel(name = "类型")
private String type;
}

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

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

Loading…
Cancel
Save