diff --git a/os-ems/src/main/java/com/os/ems/base/domain/EmsBaseLineInfo.java b/os-ems/src/main/java/com/os/ems/base/domain/EmsBaseLineInfo.java index b95056f..ef9c785 100644 --- a/os-ems/src/main/java/com/os/ems/base/domain/EmsBaseLineInfo.java +++ b/os-ems/src/main/java/com/os/ems/base/domain/EmsBaseLineInfo.java @@ -1,17 +1,21 @@ package com.os.ems.base.domain; +import com.os.common.core.domain.BaseEntity; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; import com.os.common.annotation.Excel; import com.os.common.core.domain.TreeEntity; +import java.util.ArrayList; +import java.util.List; + /** * 计量线路信息对象 ems_base_line_info * * @author Yinq * @date 2025-08-13 */ -public class EmsBaseLineInfo extends TreeEntity +public class EmsBaseLineInfo extends BaseEntity { private static final long serialVersionUID = 1L; @@ -66,6 +70,56 @@ public class EmsBaseLineInfo extends TreeEntity @Excel(name = "计量设备状态", readConverterExp = "0=启用,1=停用") private Long monitorStatus; + private List children = new ArrayList<>(); + + private String parentName; + + private Long parentId; + + private Integer orderNum; + + private String ancestors; + + public List getChildren() { + return children; + } + + public void setChildren(List children) { + this.children = children; + } + + public String getParentName() { + return parentName; + } + + public void setParentName(String parentName) { + this.parentName = parentName; + } + + public Long getParentId() { + return parentId; + } + + public void setParentId(Long parentId) { + this.parentId = parentId; + } + + public Integer getOrderNum() { + return orderNum; + } + + public void setOrderNum(Integer orderNum) { + this.orderNum = orderNum; + } + + public String getAncestors() { + return ancestors; + } + + public void setAncestors(String ancestors) { + this.ancestors = ancestors; + } + public String getMonitorAddr() { return monitorAddr; } diff --git a/os-ems/src/main/java/com/os/ems/report/controller/EmsBoardController.java b/os-ems/src/main/java/com/os/ems/report/controller/EmsBoardController.java new file mode 100644 index 0000000..5f0162e --- /dev/null +++ b/os-ems/src/main/java/com/os/ems/report/controller/EmsBoardController.java @@ -0,0 +1,45 @@ +package com.os.ems.report.controller; + +import com.os.common.core.controller.BaseController; +import com.os.common.core.domain.AjaxResult; +import com.os.common.core.page.TableDataInfo; +import com.os.common.utils.poi.ExcelUtil; +import com.os.ems.report.domain.EnergyStatisticalReport; +import com.os.ems.report.domain.PeaksValleysConsumptionReport; +import com.os.ems.report.domain.RealTimeDataBo; +import com.os.ems.report.service.IEmsBoardService; +import com.os.ems.report.service.IEmsReportService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + + +/** + * 能源看板Controller + * + * @author Yinq + * @date 2024-05-22 + */ +@RestController +@RequestMapping("/ems/board") +public class EmsBoardController extends BaseController { + + @Autowired + private IEmsBoardService emsBoardService; + + /** + * 统计能耗报表 + * @param hashMap + * @return + */ + @GetMapping("/energyStatisticalReportList") + public AjaxResult energyStatisticalReportList(@RequestParam(required = false) Map hashMap) { + List list = emsBoardService.energyStatisticalReportList(hashMap); + return success(list); + } + +} diff --git a/os-ems/src/main/java/com/os/ems/report/controller/EmsReportController.java b/os-ems/src/main/java/com/os/ems/report/controller/EmsReportController.java index 33ce9f3..9836efc 100644 --- a/os-ems/src/main/java/com/os/ems/report/controller/EmsReportController.java +++ b/os-ems/src/main/java/com/os/ems/report/controller/EmsReportController.java @@ -84,7 +84,6 @@ public class EmsReportController extends BaseController { return success(list); } - /** * 能源对比分析接口 * @param hashMap @@ -97,4 +96,8 @@ public class EmsReportController extends BaseController { return success(list); } + + + + } diff --git a/os-ems/src/main/java/com/os/ems/report/domain/RealTimeDataBo.java b/os-ems/src/main/java/com/os/ems/report/domain/RealTimeDataBo.java new file mode 100644 index 0000000..70866e8 --- /dev/null +++ b/os-ems/src/main/java/com/os/ems/report/domain/RealTimeDataBo.java @@ -0,0 +1,90 @@ +package com.os.ems.report.domain; + + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.os.common.annotation.Excel; +import com.os.common.core.domain.BaseEntity; + +import java.math.BigDecimal; +import java.util.Date; + + +/** + * 实时能源数据Bo + * + * @author Yinq + * @date 2023-10-12 + */ +public class RealTimeDataBo extends BaseEntity { + + private static final long serialVersionUID = 1L; + + /** + * 主键标识 + */ + private Long objId; + + /** + * 计量设备编号 + */ + @Excel(name = "计量设备编号") + private String monitorCode; + + /** + * 计量设备名称 + */ + @Excel(name = "计量设备名称") + private String monitorName; + + /** + * 仪表值 + */ + @Excel(name = "仪表值") + private BigDecimal instrumentValue; + + /** + * 耗量 + */ + @Excel(name = "耗量") + private BigDecimal expend; + + /** + * 记录时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "记录时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date recordTime; + + /** + * 开始时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date beginTime; + + /** + * 结束时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date endTime; + + /** + * 修改标识(0是 1否) + */ + @Excel(name = "修改标识", readConverterExp = "0=是,1=否") + private String updateFlag; + + /** + * 发电量 + */ + @Excel(name = "发电量") + private BigDecimal powerExpend; + + /** + * 反向有功仪表值 + */ + @Excel(name = "反向有功仪表值") + private BigDecimal powerValue; + +} diff --git a/os-ems/src/main/java/com/os/ems/report/service/IEmsBoardService.java b/os-ems/src/main/java/com/os/ems/report/service/IEmsBoardService.java new file mode 100644 index 0000000..8610aa6 --- /dev/null +++ b/os-ems/src/main/java/com/os/ems/report/service/IEmsBoardService.java @@ -0,0 +1,27 @@ +package com.os.ems.report.service; + + +import com.os.ems.report.domain.EnergyStatisticalReport; +import com.os.ems.report.domain.PeaksValleysConsumptionReport; +import com.os.ems.report.domain.RealTimeDataBo; + +import java.util.List; +import java.util.Map; + +/** + * 能源报表Service接口 + * + * @author Yinq + * @date 2024-05-22 + */ +public interface IEmsBoardService { + + /** + * 统计能耗报表 + * @param hashMap + * @return + */ + List energyStatisticalReportList(Map hashMap); + + +} diff --git a/os-ems/src/main/java/com/os/ems/report/service/impl/EmsBoardServiceImpl.java b/os-ems/src/main/java/com/os/ems/report/service/impl/EmsBoardServiceImpl.java new file mode 100644 index 0000000..7e39d21 --- /dev/null +++ b/os-ems/src/main/java/com/os/ems/report/service/impl/EmsBoardServiceImpl.java @@ -0,0 +1,60 @@ +package com.os.ems.report.service.impl; + +import com.os.ems.base.domain.EmsBaseWorkUnit; +import com.os.ems.base.mapper.EmsBaseMonitorWorkUnitMapper; +import com.os.ems.base.mapper.EmsBaseWorkUnitMapper; +import com.os.ems.report.domain.EnergyStatisticalReport; +import com.os.ems.report.domain.PeaksValleysConsumptionReport; +import com.os.ems.report.domain.RealTimeDataBo; +import com.os.ems.report.mapper.EmsReportMapper; +import com.os.ems.report.service.IEmsBoardService; +import com.os.ems.report.service.IEmsReportService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.math.BigDecimal; +import java.util.*; +import java.util.stream.Collectors; + +import static com.os.common.utils.DateUtils.getTimeIntervals; + + +/** + * 能源报表Service业务层处理 + * + * @author Yinq + * @date 2024-05-22 + */ +@Service +public class EmsBoardServiceImpl implements IEmsBoardService { + @Autowired + private EmsReportMapper emsReportMapper; + + @Autowired + private EmsBaseMonitorWorkUnitMapper emsBaseMonitorWorkUnitMapper; + + @Autowired + private EmsBaseWorkUnitMapper emsBaseWorkUnitMapper; + + + /** + * 统计能耗报表 + * + * @param hashMap + * @return + */ + @Override + public List energyStatisticalReportList(Map hashMap) { + if (!hashMap.containsKey("dateType") && !hashMap.containsKey("energyType")) { + return null; + } + hashMap.put("timeSub", Integer.parseInt(String.valueOf(hashMap.get("dateType")))); + List reportList = new ArrayList<>(); + + if (Objects.equals(String.valueOf(hashMap.get("energyType")), "2")) { + reportList = emsReportMapper.energyStatisticalDnbReportList(hashMap); + } + return null; + } + +}