diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/TVibrationSensorHourlyReportController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/TVibrationSensorHourlyReportController.java new file mode 100644 index 0000000..de1d364 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/TVibrationSensorHourlyReportController.java @@ -0,0 +1,57 @@ +package com.ruoyi.web.controller.system; + +import java.util.List; + +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +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.ResponseBody; + +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.ruoyi.system.domain.TVibrationSensorHourlyReport; +import com.ruoyi.system.service.ITVibrationSensorHourlyReportService; + +/** + * 振动传感器整点报表 + * + * @author ruoyi + */ +@Controller +@RequestMapping("/system/TVibrationSensorHourlyReport") +public class TVibrationSensorHourlyReportController extends BaseController { + + private final String prefix = "system/TVibrationSensorHourlyReport"; + + @Autowired + private ITVibrationSensorHourlyReportService tVibrationSensorHourlyReportService; + + @GetMapping() + public String index() { + return prefix + "/TVibrationSensorHourlyReport"; + } + + @PostMapping("/list") + @ResponseBody + public TableDataInfo list(TVibrationSensorHourlyReport query) { + startPage(); + List list = tVibrationSensorHourlyReportService.selectTVibrationSensorHourlyReportList(query); + return getDataTable(list); + } + + @Log(title = "振动传感器整点报表", businessType = BusinessType.EXPORT) + @PostMapping("/export") + @ResponseBody + public AjaxResult export(TVibrationSensorHourlyReport query) { + List list = tVibrationSensorHourlyReportService.selectTVibrationSensorHourlyReportList(query); + ExcelUtil util = new ExcelUtil<>(TVibrationSensorHourlyReport.class); + return util.exportExcel(list, "振动传感器整点报表"); + } +} diff --git a/ruoyi-admin/src/main/resources/templates/system/TVibrationSensorHourlyReport/TVibrationSensorHourlyReport.html b/ruoyi-admin/src/main/resources/templates/system/TVibrationSensorHourlyReport/TVibrationSensorHourlyReport.html new file mode 100644 index 0000000..fff84b7 --- /dev/null +++ b/ruoyi-admin/src/main/resources/templates/system/TVibrationSensorHourlyReport/TVibrationSensorHourlyReport.html @@ -0,0 +1,229 @@ + + + + + + + + + + +
+
+
+
+ 测控点信息 +
+
+ + + + +
+
+
+
+
+
+
+ +
+
+
+
+
+ +
+ +
+
+
+ + +
+
+
+
+
+
+ + + + + + + diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/TVibrationSensorHourlyReport.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/TVibrationSensorHourlyReport.java new file mode 100644 index 0000000..f419ec5 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/TVibrationSensorHourlyReport.java @@ -0,0 +1,146 @@ +package com.ruoyi.system.domain; + +import java.math.BigDecimal; +import java.util.Date; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 振动传感器整点报表 T_VibrationSensor_Hourly_Report + * + * @author ruoyi + */ +public class TVibrationSensorHourlyReport extends BaseEntity { + private static final long serialVersionUID = 1L; + + private Long objId; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "报表小时", width = 20, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date reportTime; + + @Excel(name = "振动传感器ID") + private String sensorId; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "采集时间", width = 20, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date collectTime; + + @Excel(name = "速度(mm/s)") + private BigDecimal speed; + + @Excel(name = "位移(um)") + private BigDecimal displacement; + + @Excel(name = "加速度(g)") + private BigDecimal acceleration; + + @Excel(name = "温度(℃)") + private BigDecimal temperature; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "记录时间", width = 20, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date recodeTime; + + private String monitorName; + + public String getMonitorName() { + return monitorName; + } + + public void setMonitorName(String monitorName) { + this.monitorName = monitorName; + } + + public Long getObjId() { + return objId; + } + + public void setObjId(Long objId) { + this.objId = objId; + } + + public Date getReportTime() { + return reportTime; + } + + public void setReportTime(Date reportTime) { + this.reportTime = reportTime; + } + + public String getSensorId() { + return sensorId; + } + + public void setSensorId(String sensorId) { + this.sensorId = sensorId; + } + + public Date getCollectTime() { + return collectTime; + } + + public void setCollectTime(Date collectTime) { + this.collectTime = collectTime; + } + + public BigDecimal getSpeed() { + return speed; + } + + public void setSpeed(BigDecimal speed) { + this.speed = speed; + } + + public BigDecimal getDisplacement() { + return displacement; + } + + public void setDisplacement(BigDecimal displacement) { + this.displacement = displacement; + } + + public BigDecimal getAcceleration() { + return acceleration; + } + + public void setAcceleration(BigDecimal acceleration) { + this.acceleration = acceleration; + } + + public BigDecimal getTemperature() { + return temperature; + } + + public void setTemperature(BigDecimal temperature) { + this.temperature = temperature; + } + + public Date getRecodeTime() { + return recodeTime; + } + + public void setRecodeTime(Date recodeTime) { + this.recodeTime = recodeTime; + } + + @Override + public String toString() { + return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) + .append("objId", getObjId()) + .append("reportTime", getReportTime()) + .append("sensorId", getSensorId()) + .append("collectTime", getCollectTime()) + .append("speed", getSpeed()) + .append("displacement", getDisplacement()) + .append("acceleration", getAcceleration()) + .append("temperature", getTemperature()) + .append("recodeTime", getRecodeTime()) + .append("remark", getRemark()) + .toString(); + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TVibrationSensorHourlyReportMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TVibrationSensorHourlyReportMapper.java new file mode 100644 index 0000000..6897739 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TVibrationSensorHourlyReportMapper.java @@ -0,0 +1,24 @@ +package com.ruoyi.system.mapper; + +import java.util.Date; +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import com.ruoyi.system.domain.TVibrationSensorHourlyReport; + +/** + * 振动传感器整点报表Mapper + * + * @author ruoyi + */ +public interface TVibrationSensorHourlyReportMapper { + + List selectTVibrationSensorHourlyReportList(TVibrationSensorHourlyReport query); + + /** + * 调用存储过程写入整点报表(一般由 SQL Server 代理定时执行;此方法便于手工补数或测试) + * + * @param hourEnd 区间右端点(不包含),与存储过程参数一致;传 null 时由库端按当前整点计算 + */ + void insertHourlyReportByProcedure(@Param("hourEnd") Date hourEnd); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ITVibrationSensorHourlyReportService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ITVibrationSensorHourlyReportService.java new file mode 100644 index 0000000..7aa53a4 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ITVibrationSensorHourlyReportService.java @@ -0,0 +1,17 @@ +package com.ruoyi.system.service; + +import java.util.Date; +import java.util.List; + +import com.ruoyi.system.domain.TVibrationSensorHourlyReport; + +/** + * 振动传感器整点报表Service + * + * @author ruoyi + */ +public interface ITVibrationSensorHourlyReportService { + + List selectTVibrationSensorHourlyReportList(TVibrationSensorHourlyReport query); + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TVibrationSensorHourlyReportServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TVibrationSensorHourlyReportServiceImpl.java new file mode 100644 index 0000000..d60da1d --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TVibrationSensorHourlyReportServiceImpl.java @@ -0,0 +1,41 @@ +package com.ruoyi.system.service.impl; + +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import com.ruoyi.system.domain.TVibrationSensorHourlyReport; +import com.ruoyi.system.mapper.TVibrationSensorHourlyReportMapper; +import com.ruoyi.system.service.ITVibrationSensorHourlyReportService; + +/** + * 振动传感器整点报表Service实现 + * + * @author ruoyi + */ +@Service +public class TVibrationSensorHourlyReportServiceImpl implements ITVibrationSensorHourlyReportService { + + @Autowired + private TVibrationSensorHourlyReportMapper tVibrationSensorHourlyReportMapper; + + @Override + public List selectTVibrationSensorHourlyReportList(TVibrationSensorHourlyReport query) { + if (query != null && query.getSensorId() != null && !query.getSensorId().trim().isEmpty()) { + List sensorIdList = Arrays.stream(query.getSensorId().split(",")) + .map(String::trim) + .filter(item -> !item.isEmpty()) + .distinct() + .collect(Collectors.toList()); + if (!sensorIdList.isEmpty()) { + query.getParams().put("sensorIdList", sensorIdList); + } + } + return tVibrationSensorHourlyReportMapper.selectTVibrationSensorHourlyReportList(query); + } + + +} diff --git a/ruoyi-system/src/main/resources/mapper/system/TVibrationSensorHourlyReportMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TVibrationSensorHourlyReportMapper.xml new file mode 100644 index 0000000..552b92f --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/system/TVibrationSensorHourlyReportMapper.xml @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + + + + +