From 037c019df632b03b78dbabd9a60b688baaa87a95 Mon Sep 17 00:00:00 2001 From: ShiJiuZhou <15315423958@163.com> Date: Tue, 3 Mar 2026 16:35:46 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=83=BD=E8=80=97=E7=9B=AE?= =?UTF-8?q?=E6=A0=87=E9=85=8D=E7=BD=AE=EF=BC=8C=E8=83=BD=E8=80=97=E5=AE=9A?= =?UTF-8?q?=E9=A2=9D=E9=85=8D=E7=BD=AE=EF=BC=8C=E6=96=B0=E5=A2=9E=E8=83=BD?= =?UTF-8?q?=E6=BA=90=E7=9B=91=E6=8E=A7=EF=BC=8C=E5=B3=B0=E5=B9=B3=E8=B0=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../desk/dashboard/utils/DateUtils.java | 8 + .../controller/BsEnergyMonitorController.java | 131 +++++++++++++++ .../controller/BsEnergyQuotaController.java | 52 ++---- .../controller/BsEnergyTargetController.java | 65 +++---- .../BsPeakFlatValleyController.java | 130 ++++++++++++++ .../energy/excel/BsEnergyMonitorExcel.java | 159 ++++++++++++++++++ .../energy/excel/BsPeakFlatValleyExcel.java | 158 +++++++++++++++++ .../energy/mapper/BsEnergyMonitorMapper.java | 63 +++++++ .../energy/mapper/BsPeakFlatValleyMapper.java | 63 +++++++ .../energy/mapper/EnergyMonitorMapper.xml | 42 +++++ .../energy/mapper/PeakFlatValleyMapper.xml | 42 +++++ .../energy/pojo/dto/BsEnergyMonitorDTO.java | 45 +++++ .../energy/pojo/dto/BsPeakFlatValleyDTO.java | 45 +++++ .../pojo/entity/BsEnergyMonitorEntity.java | 128 ++++++++++++++ .../pojo/entity/BsEnergyQuotaEntity.java | 21 ++- .../pojo/entity/BsEnergyTargetEntity.java | 25 ++- .../pojo/entity/BsPeakFlatValleyEntity.java | 137 +++++++++++++++ .../energy/pojo/vo/BsEnergyMonitorVO.java | 45 +++++ .../desk/energy/pojo/vo/BsEnergyQuotaVO.java | 9 - .../energy/pojo/vo/BsPeakFlatValleyVO.java | 45 +++++ .../service/IBsEnergyMonitorService.java | 61 +++++++ .../service/IBsEnergyTargetService.java | 15 ++ .../service/IBsPeakFlatValleyService.java | 61 +++++++ .../impl/BsEnergyMonitorServiceImpl.java | 63 +++++++ .../impl/BsEnergyTargetServiceImpl.java | 26 +++ .../impl/BsPeakFlatValleyServiceImpl.java | 63 +++++++ .../wrapper/BsEnergyMonitorWrapper.java | 59 +++++++ .../energy/wrapper/BsEnergyQuotaWrapper.java | 25 +-- .../wrapper/BsPeakFlatValleyWrapper.java | 59 +++++++ 29 files changed, 1720 insertions(+), 125 deletions(-) create mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/energy/controller/BsEnergyMonitorController.java create mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/energy/controller/BsPeakFlatValleyController.java create mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/energy/excel/BsEnergyMonitorExcel.java create mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/energy/excel/BsPeakFlatValleyExcel.java create mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/energy/mapper/BsEnergyMonitorMapper.java create mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/energy/mapper/BsPeakFlatValleyMapper.java create mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/energy/mapper/EnergyMonitorMapper.xml create mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/energy/mapper/PeakFlatValleyMapper.xml create mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/energy/pojo/dto/BsEnergyMonitorDTO.java create mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/energy/pojo/dto/BsPeakFlatValleyDTO.java create mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/energy/pojo/entity/BsEnergyMonitorEntity.java create mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/energy/pojo/entity/BsPeakFlatValleyEntity.java create mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/energy/pojo/vo/BsEnergyMonitorVO.java create mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/energy/pojo/vo/BsPeakFlatValleyVO.java create mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/energy/service/IBsEnergyMonitorService.java create mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/energy/service/IBsPeakFlatValleyService.java create mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/energy/service/impl/BsEnergyMonitorServiceImpl.java create mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/energy/service/impl/BsPeakFlatValleyServiceImpl.java create mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/energy/wrapper/BsEnergyMonitorWrapper.java create mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/energy/wrapper/BsPeakFlatValleyWrapper.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/utils/DateUtils.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/utils/DateUtils.java index 3437693e..6d71730a 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/utils/DateUtils.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/utils/DateUtils.java @@ -292,4 +292,12 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils return Date.from(getPreviousDayEnd(daysAgo).atZone(ZoneId.systemDefault()).toInstant()); } + /** + * 根据月份获取季度 + * @param month 月份 + * @return 季度 + */ + public static int getQuarter(int month) { + return ((month - 1) / 3) + 1; + } } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/controller/BsEnergyMonitorController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/controller/BsEnergyMonitorController.java new file mode 100644 index 00000000..e85733bb --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/controller/BsEnergyMonitorController.java @@ -0,0 +1,131 @@ +/** + * BladeX Commercial License Agreement + * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved. + *

+ * Use of this software is governed by the Commercial License Agreement + * obtained after purchasing a license from BladeX. + *

+ * 1. This software is for development use only under a valid license + * from BladeX. + *

+ * 2. Redistribution of this software's source code to any third party + * without a commercial license is strictly prohibited. + *

+ * 3. Licensees may copyright their own code but cannot use segments + * from this software for such purposes. Copyright of this software + * remains with BladeX. + *

+ * Using this software signifies agreement to this License, and the software + * must not be used for illegal purposes. + *

+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is + * not liable for any claims arising from secondary or illegal development. + *

+ * Author: Chill Zhuang (bladejava@qq.com) + */ +package org.springblade.desk.energy.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.Valid; +import lombok.AllArgsConstructor; +import org.springblade.core.boot.ctrl.BladeController; +import org.springblade.core.excel.util.ExcelUtil; +import org.springblade.core.mp.support.Condition; +import org.springblade.core.mp.support.Query; +import org.springblade.core.secure.BladeUser; +import org.springblade.core.secure.annotation.IsAdmin; +import org.springblade.core.tool.api.R; +import org.springblade.core.tool.utils.DateUtil; +import org.springblade.core.tool.utils.Func; +import org.springblade.desk.energy.excel.BsEnergyMonitorExcel; +import org.springblade.desk.energy.pojo.entity.BsEnergyMonitorEntity; +import org.springblade.desk.energy.pojo.vo.BsEnergyMonitorVO; +import org.springblade.desk.energy.service.IBsEnergyMonitorService; +import org.springblade.desk.energy.wrapper.BsEnergyMonitorWrapper; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Map; + +/** + * 能源监控表 控制器 + * + * @author BladeX + * @since 2026-03-03 + */ +@RestController +@AllArgsConstructor +@RequestMapping("/bsEnergyMonitor") +@Tag(name = "能源监控表", description = "能源监控表接口") +public class BsEnergyMonitorController extends BladeController { + + private final IBsEnergyMonitorService bsEnergyMonitorService; + + /** + * 能源监控表 详情 + */ + @GetMapping("/detail") + @Operation(summary = "详情", description = "传入bsEnergyMonitor") + public R detail(BsEnergyMonitorEntity bsEnergyMonitor) { + BsEnergyMonitorEntity detail = bsEnergyMonitorService.getOne(Condition.getQueryWrapper(bsEnergyMonitor)); + return R.data(BsEnergyMonitorWrapper.build().entityVO(detail)); + } + + /** + * 能源监控表 自定义分页 + */ + @GetMapping("/page") + @Operation(summary = "分页", description = "传入bsEnergyMonitor") + public R> page(BsEnergyMonitorVO bsEnergyMonitor, Query query) { + IPage pages = bsEnergyMonitorService.selectBsEnergyMonitorPage(Condition.getPage(query), bsEnergyMonitor); + return R.data(pages); + } + + /** + * 能源监控表 新增或修改 + */ + @PostMapping("/submit") + @Operation(summary = "新增或修改", description = "传入bsEnergyMonitor") + public R submit(@Valid @RequestBody BsEnergyMonitorEntity bsEnergyMonitor) { + if (bsEnergyMonitor.getId() == null) { + // 新增需要校验 + BsEnergyMonitorEntity bsEnergyMonitorEntity = bsEnergyMonitorService.getOne(new QueryWrapper().eq("month", bsEnergyMonitor.getMonth())); + if (bsEnergyMonitorEntity != null) { + return R.fail("该月份能源监控表已存在"); + } + } + bsEnergyMonitor.setLastWaterRate(bsEnergyMonitor.getLastWater().divide(bsEnergyMonitor.getLastWaterTarget(), 2)); + bsEnergyMonitor.setLastElectricRate(bsEnergyMonitor.getLastElectric().divide(bsEnergyMonitor.getLastElectricTarget(), 2)); + bsEnergyMonitor.setCurrentWaterRate(bsEnergyMonitor.getCurrentWater().divide(bsEnergyMonitor.getCurrentWaterTarget(), 2)); + bsEnergyMonitor.setCurrentElectricRate(bsEnergyMonitor.getCurrentElectric().divide(bsEnergyMonitor.getCurrentElectricTarget(), 2)); + return R.status(bsEnergyMonitorService.saveOrUpdate(bsEnergyMonitor)); + } + + /** + * 能源监控表 删除 + */ + @PostMapping("/remove") + @Operation(summary = "逻辑删除", description = "传入ids") + public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) { + return R.status(bsEnergyMonitorService.deleteLogic(Func.toLongList(ids))); + } + + + /** + * 导出数据 + */ + @IsAdmin + @GetMapping("/export-bsEnergyMonitor") + @Operation(summary = "导出数据", description = "传入bsEnergyMonitor") + public void exportBsEnergyMonitor(@Parameter(hidden = true) @RequestParam Map bsEnergyMonitor, BladeUser bladeUser, HttpServletResponse response) { + QueryWrapper queryWrapper = Condition.getQueryWrapper(bsEnergyMonitor, BsEnergyMonitorEntity.class); + List list = bsEnergyMonitorService.exportBsEnergyMonitor(queryWrapper); + ExcelUtil.export(response, "能源监控表数据" + DateUtil.time(), "能源监控表数据表", list, BsEnergyMonitorExcel.class); + } + +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/controller/BsEnergyQuotaController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/controller/BsEnergyQuotaController.java index 7901e2a4..52a6c2d6 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/controller/BsEnergyQuotaController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/controller/BsEnergyQuotaController.java @@ -25,6 +25,7 @@ */ package org.springblade.desk.energy.controller; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; @@ -71,61 +72,39 @@ public class BsEnergyQuotaController extends BladeController { * 能源定额 详情 */ @GetMapping("/detail") - @ApiOperationSupport(order = 1) @Operation(summary = "详情", description = "传入bsEnergyQuota") public R detail(BsEnergyQuotaEntity bsEnergyQuota) { BsEnergyQuotaEntity detail = bsEnergyQuotaService.getOne(Condition.getQueryWrapper(bsEnergyQuota)); return R.data(BsEnergyQuotaWrapper.build().entityVO(detail)); } - /** - * 能源定额 分页 - */ - @GetMapping("/list") - @ApiOperationSupport(order = 2) - @Operation(summary = "分页", description = "传入bsEnergyQuota") - public R> list(@Parameter(hidden = true) @RequestParam Map bsEnergyQuota, Query query) { - IPage pages = bsEnergyQuotaService.page(Condition.getPage(query), Condition.getQueryWrapper(bsEnergyQuota, BsEnergyQuotaEntity.class)); - return R.data(BsEnergyQuotaWrapper.build().pageVO(pages)); - } /** * 能源定额 自定义分页 */ @GetMapping("/page") - @ApiOperationSupport(order = 3) @Operation(summary = "分页", description = "传入bsEnergyQuota") public R> page(BsEnergyQuotaVO bsEnergyQuota, Query query) { IPage pages = bsEnergyQuotaService.selectBsEnergyQuotaPage(Condition.getPage(query), bsEnergyQuota); return R.data(pages); } - /** - * 能源定额 新增 - */ - @PostMapping("/save") - @ApiOperationSupport(order = 4) - @Operation(summary = "新增", description = "传入bsEnergyQuota") - public R save(@Valid @RequestBody BsEnergyQuotaEntity bsEnergyQuota) { - return R.status(bsEnergyQuotaService.save(bsEnergyQuota)); - } - - /** - * 能源定额 修改 - */ - @PostMapping("/update") - @ApiOperationSupport(order = 5) - @Operation(summary = "修改", description = "传入bsEnergyQuota") - public R update(@Valid @RequestBody BsEnergyQuotaEntity bsEnergyQuota) { - return R.status(bsEnergyQuotaService.updateById(bsEnergyQuota)); - } - /** * 能源定额 新增或修改 */ @PostMapping("/submit") - @ApiOperationSupport(order = 6) @Operation(summary = "新增或修改", description = "传入bsEnergyQuota") public R submit(@Valid @RequestBody BsEnergyQuotaEntity bsEnergyQuota) { + if (bsEnergyQuota.getId() == null){ + // 新增需要校验 + BsEnergyQuotaEntity bsEnergyQuotaEntity = bsEnergyQuotaService.getOne(new LambdaQueryWrapper() + .eq(BsEnergyQuotaEntity::getWorkCenterId, bsEnergyQuota.getWorkCenterId()) + .eq(BsEnergyQuotaEntity::getEquipmentId, bsEnergyQuota.getEquipmentId()) + .eq(BsEnergyQuotaEntity::getType, bsEnergyQuota.getType()) + .eq(BsEnergyQuotaEntity::getDate, bsEnergyQuota.getDate())); + if (bsEnergyQuotaEntity != null) { + return R.fail("该日期能源定额已存在"); + } + } return R.status(bsEnergyQuotaService.saveOrUpdate(bsEnergyQuota)); } @@ -133,26 +112,19 @@ public class BsEnergyQuotaController extends BladeController { * 能源定额 删除 */ @PostMapping("/remove") - @ApiOperationSupport(order = 7) @Operation(summary = "逻辑删除", description = "传入ids") public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) { return R.status(bsEnergyQuotaService.deleteLogic(Func.toLongList(ids))); } - /** * 导出数据 */ @IsAdmin @GetMapping("/export-bsEnergyQuota") - @ApiOperationSupport(order = 9) @Operation(summary = "导出数据", description = "传入bsEnergyQuota") public void exportBsEnergyQuota(@Parameter(hidden = true) @RequestParam Map bsEnergyQuota, BladeUser bladeUser, HttpServletResponse response) { QueryWrapper queryWrapper = Condition.getQueryWrapper(bsEnergyQuota, BsEnergyQuotaEntity.class); - //if (!AuthUtil.isAdministrator()) { - // queryWrapper.lambda().eq(BsEnergyQuota::getTenantId, bladeUser.getTenantId()); - //} - //queryWrapper.lambda().eq(BsEnergyQuotaEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED); List list = bsEnergyQuotaService.exportBsEnergyQuota(queryWrapper); ExcelUtil.export(response, "能源定额数据" + DateUtil.time(), "能源定额数据表", list, BsEnergyQuotaExcel.class); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/controller/BsEnergyTargetController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/controller/BsEnergyTargetController.java index d4b3774d..5227ba0c 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/controller/BsEnergyTargetController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/controller/BsEnergyTargetController.java @@ -25,6 +25,7 @@ */ package org.springblade.desk.energy.controller; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; @@ -50,6 +51,7 @@ import org.springblade.desk.energy.service.IBsEnergyTargetService; import org.springblade.desk.energy.wrapper.BsEnergyTargetWrapper; import org.springframework.web.bind.annotation.*; +import java.math.BigDecimal; import java.util.List; import java.util.Map; @@ -71,61 +73,57 @@ public class BsEnergyTargetController extends BladeController { * 能耗目标表 详情 */ @GetMapping("/detail") - @ApiOperationSupport(order = 1) @Operation(summary = "详情", description = "传入bsEnergyTarget") public R detail(BsEnergyTargetEntity bsEnergyTarget) { BsEnergyTargetEntity detail = bsEnergyTargetService.getOne(Condition.getQueryWrapper(bsEnergyTarget)); return R.data(BsEnergyTargetWrapper.build().entityVO(detail)); } + /** - * 能耗目标表 分页 + * 能耗目标表 获取用水目标 */ - @GetMapping("/list") - @ApiOperationSupport(order = 2) - @Operation(summary = "分页", description = "传入bsEnergyTarget") - public R> list(@Parameter(hidden = true) @RequestParam Map bsEnergyTarget, Query query) { - IPage pages = bsEnergyTargetService.page(Condition.getPage(query), Condition.getQueryWrapper(bsEnergyTarget, BsEnergyTargetEntity.class)); - return R.data(BsEnergyTargetWrapper.build().pageVO(pages)); + @GetMapping("/detailByWater") + @Operation(summary = "详情", description = "获取用水目标") + public R getWaterTargetByMonth(String month) { + BigDecimal waterTarget = bsEnergyTargetService.getWaterTargetByMonth(month); + return R.data(waterTarget); + } + + /** + * 能耗目标表 获取用水目标 + */ + @GetMapping("/detailByElectric") + @Operation(summary = "详情", description = "获取用水目标") + public R getElectricTargetByMonth(String month) { + BigDecimal electricTarget = bsEnergyTargetService.getElectricTargetByMonth(month); + return R.data(electricTarget); } /** * 能耗目标表 自定义分页 */ @GetMapping("/page") - @ApiOperationSupport(order = 3) @Operation(summary = "分页", description = "传入bsEnergyTarget") public R> page(BsEnergyTargetVO bsEnergyTarget, Query query) { IPage pages = bsEnergyTargetService.selectBsEnergyTargetPage(Condition.getPage(query), bsEnergyTarget); return R.data(pages); } - /** - * 能耗目标表 新增 - */ - @PostMapping("/save") - @ApiOperationSupport(order = 4) - @Operation(summary = "新增", description = "传入bsEnergyTarget") - public R save(@Valid @RequestBody BsEnergyTargetEntity bsEnergyTarget) { - return R.status(bsEnergyTargetService.save(bsEnergyTarget)); - } - - /** - * 能耗目标表 修改 - */ - @PostMapping("/update") - @ApiOperationSupport(order = 5) - @Operation(summary = "修改", description = "传入bsEnergyTarget") - public R update(@Valid @RequestBody BsEnergyTargetEntity bsEnergyTarget) { - return R.status(bsEnergyTargetService.updateById(bsEnergyTarget)); - } - /** * 能耗目标表 新增或修改 */ @PostMapping("/submit") - @ApiOperationSupport(order = 6) @Operation(summary = "新增或修改", description = "传入bsEnergyTarget") public R submit(@Valid @RequestBody BsEnergyTargetEntity bsEnergyTarget) { + if (bsEnergyTarget.getId() == null) { + // 新增需要校验 + BsEnergyTargetEntity bsEnergyTargetEntity = bsEnergyTargetService.getOne(new LambdaQueryWrapper(). + eq(BsEnergyTargetEntity::getMonth, bsEnergyTarget.getMonth()) + .eq(BsEnergyTargetEntity::getType, bsEnergyTarget.getType())); + if (bsEnergyTargetEntity != null) { + return R.fail("该月份能耗目标已存在"); + } + } return R.status(bsEnergyTargetService.saveOrUpdate(bsEnergyTarget)); } @@ -133,26 +131,19 @@ public class BsEnergyTargetController extends BladeController { * 能耗目标表 删除 */ @PostMapping("/remove") - @ApiOperationSupport(order = 7) @Operation(summary = "逻辑删除", description = "传入ids") public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) { return R.status(bsEnergyTargetService.deleteLogic(Func.toLongList(ids))); } - /** * 导出数据 */ @IsAdmin @GetMapping("/export-bsEnergyTarget") - @ApiOperationSupport(order = 9) @Operation(summary = "导出数据", description = "传入bsEnergyTarget") public void exportBsEnergyTarget(@Parameter(hidden = true) @RequestParam Map bsEnergyTarget, BladeUser bladeUser, HttpServletResponse response) { QueryWrapper queryWrapper = Condition.getQueryWrapper(bsEnergyTarget, BsEnergyTargetEntity.class); - //if (!AuthUtil.isAdministrator()) { - // queryWrapper.lambda().eq(BsEnergyTarget::getTenantId, bladeUser.getTenantId()); - //} - //queryWrapper.lambda().eq(BsEnergyTargetEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED); List list = bsEnergyTargetService.exportBsEnergyTarget(queryWrapper); ExcelUtil.export(response, "能耗目标表数据" + DateUtil.time(), "能耗目标表数据表", list, BsEnergyTargetExcel.class); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/controller/BsPeakFlatValleyController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/controller/BsPeakFlatValleyController.java new file mode 100644 index 00000000..f546c235 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/controller/BsPeakFlatValleyController.java @@ -0,0 +1,130 @@ +/** + * BladeX Commercial License Agreement + * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved. + *

+ * Use of this software is governed by the Commercial License Agreement + * obtained after purchasing a license from BladeX. + *

+ * 1. This software is for development use only under a valid license + * from BladeX. + *

+ * 2. Redistribution of this software's source code to any third party + * without a commercial license is strictly prohibited. + *

+ * 3. Licensees may copyright their own code but cannot use segments + * from this software for such purposes. Copyright of this software + * remains with BladeX. + *

+ * Using this software signifies agreement to this License, and the software + * must not be used for illegal purposes. + *

+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is + * not liable for any claims arising from secondary or illegal development. + *

+ * Author: Chill Zhuang (bladejava@qq.com) + */ +package org.springblade.desk.energy.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.Valid; +import lombok.AllArgsConstructor; +import org.springblade.core.boot.ctrl.BladeController; +import org.springblade.core.excel.util.ExcelUtil; +import org.springblade.core.mp.support.Condition; +import org.springblade.core.mp.support.Query; +import org.springblade.core.secure.BladeUser; +import org.springblade.core.secure.annotation.IsAdmin; +import org.springblade.core.tool.api.R; +import org.springblade.core.tool.utils.DateUtil; +import org.springblade.core.tool.utils.Func; +import org.springblade.desk.energy.excel.BsPeakFlatValleyExcel; +import org.springblade.desk.energy.pojo.entity.BsPeakFlatValleyEntity; +import org.springblade.desk.energy.pojo.vo.BsPeakFlatValleyVO; +import org.springblade.desk.energy.service.IBsPeakFlatValleyService; +import org.springblade.desk.energy.wrapper.BsPeakFlatValleyWrapper; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Map; + +/** + * 峰平谷 控制器 + * + * @author BladeX + * @since 2026-03-03 + */ +@RestController +@AllArgsConstructor +@RequestMapping("/bsPeakFlatValley") +@Tag(name = "峰平谷", description = "峰平谷接口") +public class BsPeakFlatValleyController extends BladeController { + + private final IBsPeakFlatValleyService bsPeakFlatValleyService; + + /** + * 峰平谷 详情 + */ + @GetMapping("/detail") + @Operation(summary = "详情", description = "传入bsPeakFlatValley") + public R detail(BsPeakFlatValleyEntity bsPeakFlatValley) { + BsPeakFlatValleyEntity detail = bsPeakFlatValleyService.getOne(Condition.getQueryWrapper(bsPeakFlatValley)); + return R.data(BsPeakFlatValleyWrapper.build().entityVO(detail)); + } + + /** + * 峰平谷 自定义分页 + */ + @GetMapping("/page") + @Operation(summary = "分页", description = "传入bsPeakFlatValley") + public R> page(BsPeakFlatValleyVO bsPeakFlatValley, Query query) { + IPage pages = bsPeakFlatValleyService.selectBsPeakFlatValleyPage(Condition.getPage(query), bsPeakFlatValley); + return R.data(pages); + } + + /** + * 峰平谷 新增或修改 + */ + @PostMapping("/submit") + @Operation(summary = "新增或修改", description = "传入bsPeakFlatValley") + public R submit(@Valid @RequestBody BsPeakFlatValleyEntity bsPeakFlatValley) { + if (bsPeakFlatValley.getId() == null){ + // 新增校验是否存在 + BsPeakFlatValleyEntity bsPeakFlatValleyEntity = bsPeakFlatValleyService.getOne(new LambdaQueryWrapper() + .eq(BsPeakFlatValleyEntity::getMonth, bsPeakFlatValley.getMonth())); + if (bsPeakFlatValleyEntity != null) { + return R.fail("该月份峰平谷已存在"); + } + } + return R.status(bsPeakFlatValleyService.saveOrUpdate(bsPeakFlatValley)); + } + + /** + * 峰平谷 删除 + */ + @PostMapping("/remove") + @Operation(summary = "逻辑删除", description = "传入ids") + public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) { + return R.status(bsPeakFlatValleyService.deleteLogic(Func.toLongList(ids))); + } + + /** + * 导出数据 + */ + @IsAdmin + @GetMapping("/export-bsPeakFlatValley") + @ApiOperationSupport(order = 9) + @Operation(summary = "导出数据", description = "传入bsPeakFlatValley") + public void exportBsPeakFlatValley(@Parameter(hidden = true) @RequestParam Map bsPeakFlatValley, BladeUser bladeUser, HttpServletResponse response) { + QueryWrapper queryWrapper = Condition.getQueryWrapper(bsPeakFlatValley, BsPeakFlatValleyEntity.class); + List list = bsPeakFlatValleyService.exportBsPeakFlatValley(queryWrapper); + ExcelUtil.export(response, "峰平谷数据" + DateUtil.time(), "峰平谷数据表", list, BsPeakFlatValleyExcel.class); + } + +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/excel/BsEnergyMonitorExcel.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/excel/BsEnergyMonitorExcel.java new file mode 100644 index 00000000..dda68f5d --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/excel/BsEnergyMonitorExcel.java @@ -0,0 +1,159 @@ +/** + * BladeX Commercial License Agreement + * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved. + *

+ * Use of this software is governed by the Commercial License Agreement + * obtained after purchasing a license from BladeX. + *

+ * 1. This software is for development use only under a valid license + * from BladeX. + *

+ * 2. Redistribution of this software's source code to any third party + * without a commercial license is strictly prohibited. + *

+ * 3. Licensees may copyright their own code but cannot use segments + * from this software for such purposes. Copyright of this software + * remains with BladeX. + *

+ * Using this software signifies agreement to this License, and the software + * must not be used for illegal purposes. + *

+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is + * not liable for any claims arising from secondary or illegal development. + *

+ * Author: Chill Zhuang (bladejava@qq.com) + */ +package org.springblade.desk.energy.excel; + + +import lombok.Data; + +import java.util.Date; +import java.math.BigDecimal; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import java.io.Serializable; +import java.io.Serial; + + +/** + * 能源监控表 Excel实体类 + * + * @author BladeX + * @since 2026-03-03 + */ +@Data +@ColumnWidth(25) +@HeadRowHeight(20) +@ContentRowHeight(18) +public class BsEnergyMonitorExcel implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * ID + */ + @ColumnWidth(20) + @ExcelProperty("ID") + private Long id; + /** + * 月份 + */ + @ColumnWidth(20) + @ExcelProperty("月份") + private Date month; + /** + * 上月用水 + */ + @ColumnWidth(20) + @ExcelProperty("上月用水") + private BigDecimal lastWater; + /** + * 上月用电 + */ + @ColumnWidth(20) + @ExcelProperty("上月用电") + private BigDecimal lastElectric; + /** + * 上月产能 + */ + @ColumnWidth(20) + @ExcelProperty("上月产能") + private BigDecimal lastOutput; + /** + * 上月用水 + */ + @ColumnWidth(20) + @ExcelProperty("上月用水") + private BigDecimal currentWater; + /** + * 上月用电 + */ + @ColumnWidth(20) + @ExcelProperty("上月用电") + private BigDecimal currentElectric; + /** + * 上月产能 + */ + @ColumnWidth(20) + @ExcelProperty("上月产能") + private BigDecimal currentOutput; + /** + * 上月用水目标 + */ + @ColumnWidth(20) + @ExcelProperty("上月用水目标") + private BigDecimal lastWaterTarget; + /** + * 上月用电目标 + */ + @ColumnWidth(20) + @ExcelProperty("上月用电目标") + private BigDecimal lastElectricTarget; + /** + * 是否已删除 + */ + @ColumnWidth(20) + @ExcelProperty("是否已删除") + private Long isDeleted; + /** + * 本月用水目标 + */ + @ColumnWidth(20) + @ExcelProperty("本月用水目标") + private BigDecimal currentWaterTarget; + /** + * 本月用电目标 + */ + @ColumnWidth(20) + @ExcelProperty("本月用电目标") + private BigDecimal currentElectricTarget; + /** + * 上月用水实际完成 + */ + @ColumnWidth(20) + @ExcelProperty("上月用水实际完成") + private BigDecimal lastWaterRate; + /** + * 上月用电实际完成 + */ + @ColumnWidth(20) + @ExcelProperty("上月用电实际完成") + private BigDecimal lastElectricRate; + /** + * 本月用水实际完成 + */ + @ColumnWidth(20) + @ExcelProperty("本月用水实际完成") + private BigDecimal currentWaterRate; + /** + * 本月用电实际完成 + */ + @ColumnWidth(20) + @ExcelProperty("本月用电实际完成") + private BigDecimal currentElectricRate; + +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/excel/BsPeakFlatValleyExcel.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/excel/BsPeakFlatValleyExcel.java new file mode 100644 index 00000000..873eb492 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/excel/BsPeakFlatValleyExcel.java @@ -0,0 +1,158 @@ +/** + * BladeX Commercial License Agreement + * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved. + *

+ * Use of this software is governed by the Commercial License Agreement + * obtained after purchasing a license from BladeX. + *

+ * 1. This software is for development use only under a valid license + * from BladeX. + *

+ * 2. Redistribution of this software's source code to any third party + * without a commercial license is strictly prohibited. + *

+ * 3. Licensees may copyright their own code but cannot use segments + * from this software for such purposes. Copyright of this software + * remains with BladeX. + *

+ * Using this software signifies agreement to this License, and the software + * must not be used for illegal purposes. + *

+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is + * not liable for any claims arising from secondary or illegal development. + *

+ * Author: Chill Zhuang (bladejava@qq.com) + */ +package org.springblade.desk.energy.excel; + + +import lombok.Data; + +import java.util.Date; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import java.io.Serializable; +import java.io.Serial; + + +/** + * 峰平谷 Excel实体类 + * + * @author BladeX + * @since 2026-03-03 + */ +@Data +@ColumnWidth(25) +@HeadRowHeight(20) +@ContentRowHeight(18) +public class BsPeakFlatValleyExcel implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * ID + */ + @ColumnWidth(20) + @ExcelProperty("ID") + private Long id; + /** + * 月份 + */ + @ColumnWidth(20) + @ExcelProperty("月份") + private Date month; + /** + * 尖时一开始时间 + */ + @ColumnWidth(20) + @ExcelProperty("尖时一开始时间") + private String sharpOneStartTime; + /** + * 尖时一结束时间 + */ + @ColumnWidth(20) + @ExcelProperty("尖时一结束时间") + private String sharpOneEndTime; + /** + * 峰时一开始时间 + */ + @ColumnWidth(20) + @ExcelProperty("峰时一开始时间") + private String peakOneStartTime; + /** + * 峰时一结束时间 + */ + @ColumnWidth(20) + @ExcelProperty("峰时一结束时间") + private String peakOneEndTime; + /** + * 平时一开始时间 + */ + @ColumnWidth(20) + @ExcelProperty("平时一开始时间") + private String flatOneStartTime; + /** + * 平时一结束时间 + */ + @ColumnWidth(20) + @ExcelProperty("平时一结束时间") + private String flatOneEndTime; + /** + * 谷时一开始时间 + */ + @ColumnWidth(20) + @ExcelProperty("谷时一开始时间") + private String valleyOneStartTime; + /** + * 谷时一结束时间 + */ + @ColumnWidth(20) + @ExcelProperty("谷时一结束时间") + private String valleyOneEndTime; + /** + * 尖时二开始时间 + */ + @ColumnWidth(20) + @ExcelProperty("尖时二开始时间") + private String sharpTwoStartTime; + /** + * 尖时二结束时间 + */ + @ColumnWidth(20) + @ExcelProperty("尖时二结束时间") + private String sharpTwoEndTime; + /** + * 峰时二开始时间 + */ + @ColumnWidth(20) + @ExcelProperty("峰时二开始时间") + private String peakTwoStartTime; + /** + * 峰时二结束时间 + */ + @ColumnWidth(20) + @ExcelProperty("峰时二结束时间") + private String peakTwoEndTime; + /** + * 平时二开始时间 + */ + @ColumnWidth(20) + @ExcelProperty("平时二开始时间") + private String flatTwoStartTime; + /** + * 平时二结束时间 + */ + @ColumnWidth(20) + @ExcelProperty("平时二结束时间") + private String flatTwoEndTime; + /** + * 是否已删除 + */ + @ColumnWidth(20) + @ExcelProperty("是否已删除") + private Long isDeleted; + +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/mapper/BsEnergyMonitorMapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/mapper/BsEnergyMonitorMapper.java new file mode 100644 index 00000000..38cca1a6 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/mapper/BsEnergyMonitorMapper.java @@ -0,0 +1,63 @@ +/** + * BladeX Commercial License Agreement + * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved. + *

+ * Use of this software is governed by the Commercial License Agreement + * obtained after purchasing a license from BladeX. + *

+ * 1. This software is for development use only under a valid license + * from BladeX. + *

+ * 2. Redistribution of this software's source code to any third party + * without a commercial license is strictly prohibited. + *

+ * 3. Licensees may copyright their own code but cannot use segments + * from this software for such purposes. Copyright of this software + * remains with BladeX. + *

+ * Using this software signifies agreement to this License, and the software + * must not be used for illegal purposes. + *

+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is + * not liable for any claims arising from secondary or illegal development. + *

+ * Author: Chill Zhuang (bladejava@qq.com) + */ +package org.springblade.desk.energy.mapper; + +import org.springblade.desk.energy.pojo.entity.BsEnergyMonitorEntity; +import org.springblade.desk.energy.pojo.vo.BsEnergyMonitorVO; +import org.springblade.desk.energy.excel.BsEnergyMonitorExcel; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.ibatis.annotations.Param; +import java.util.List; + +/** + * 能源监控表 Mapper 接口 + * + * @author BladeX + * @since 2026-03-03 + */ +public interface BsEnergyMonitorMapper extends BaseMapper { + + /** + * 自定义分页 + * + * @param page 分页参数 + * @param bsEnergyMonitor 查询参数 + * @return List + */ + List selectBsEnergyMonitorPage(IPage page, BsEnergyMonitorVO bsEnergyMonitor); + + + /** + * 获取导出数据 + * + * @param queryWrapper 查询条件 + * @return List + */ + List exportBsEnergyMonitor(@Param("ew") Wrapper queryWrapper); + +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/mapper/BsPeakFlatValleyMapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/mapper/BsPeakFlatValleyMapper.java new file mode 100644 index 00000000..6f11a580 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/mapper/BsPeakFlatValleyMapper.java @@ -0,0 +1,63 @@ +/** + * BladeX Commercial License Agreement + * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved. + *

+ * Use of this software is governed by the Commercial License Agreement + * obtained after purchasing a license from BladeX. + *

+ * 1. This software is for development use only under a valid license + * from BladeX. + *

+ * 2. Redistribution of this software's source code to any third party + * without a commercial license is strictly prohibited. + *

+ * 3. Licensees may copyright their own code but cannot use segments + * from this software for such purposes. Copyright of this software + * remains with BladeX. + *

+ * Using this software signifies agreement to this License, and the software + * must not be used for illegal purposes. + *

+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is + * not liable for any claims arising from secondary or illegal development. + *

+ * Author: Chill Zhuang (bladejava@qq.com) + */ +package org.springblade.desk.energy.mapper; + +import org.springblade.desk.energy.pojo.entity.BsPeakFlatValleyEntity; +import org.springblade.desk.energy.pojo.vo.BsPeakFlatValleyVO; +import org.springblade.desk.energy.excel.BsPeakFlatValleyExcel; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.ibatis.annotations.Param; +import java.util.List; + +/** + * 峰平谷 Mapper 接口 + * + * @author BladeX + * @since 2026-03-03 + */ +public interface BsPeakFlatValleyMapper extends BaseMapper { + + /** + * 自定义分页 + * + * @param page 分页参数 + * @param bsPeakFlatValley 查询参数 + * @return List + */ + List selectBsPeakFlatValleyPage(IPage page, BsPeakFlatValleyVO bsPeakFlatValley); + + + /** + * 获取导出数据 + * + * @param queryWrapper 查询条件 + * @return List + */ + List exportBsPeakFlatValley(@Param("ew") Wrapper queryWrapper); + +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/mapper/EnergyMonitorMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/mapper/EnergyMonitorMapper.xml new file mode 100644 index 00000000..523b19fe --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/mapper/EnergyMonitorMapper.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/mapper/PeakFlatValleyMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/mapper/PeakFlatValleyMapper.xml new file mode 100644 index 00000000..c4b86bff --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/mapper/PeakFlatValleyMapper.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/pojo/dto/BsEnergyMonitorDTO.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/pojo/dto/BsEnergyMonitorDTO.java new file mode 100644 index 00000000..e474576e --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/pojo/dto/BsEnergyMonitorDTO.java @@ -0,0 +1,45 @@ +/** + * BladeX Commercial License Agreement + * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved. + *

+ * Use of this software is governed by the Commercial License Agreement + * obtained after purchasing a license from BladeX. + *

+ * 1. This software is for development use only under a valid license + * from BladeX. + *

+ * 2. Redistribution of this software's source code to any third party + * without a commercial license is strictly prohibited. + *

+ * 3. Licensees may copyright their own code but cannot use segments + * from this software for such purposes. Copyright of this software + * remains with BladeX. + *

+ * Using this software signifies agreement to this License, and the software + * must not be used for illegal purposes. + *

+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is + * not liable for any claims arising from secondary or illegal development. + *

+ * Author: Chill Zhuang (bladejava@qq.com) + */ +package org.springblade.desk.energy.pojo.dto; + +import org.springblade.desk.energy.pojo.entity.BsEnergyMonitorEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.io.Serial; + +/** + * 能源监控表 数据传输对象实体类 + * + * @author BladeX + * @since 2026-03-03 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class BsEnergyMonitorDTO extends BsEnergyMonitorEntity { + @Serial + private static final long serialVersionUID = 1L; + +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/pojo/dto/BsPeakFlatValleyDTO.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/pojo/dto/BsPeakFlatValleyDTO.java new file mode 100644 index 00000000..1c027664 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/pojo/dto/BsPeakFlatValleyDTO.java @@ -0,0 +1,45 @@ +/** + * BladeX Commercial License Agreement + * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved. + *

+ * Use of this software is governed by the Commercial License Agreement + * obtained after purchasing a license from BladeX. + *

+ * 1. This software is for development use only under a valid license + * from BladeX. + *

+ * 2. Redistribution of this software's source code to any third party + * without a commercial license is strictly prohibited. + *

+ * 3. Licensees may copyright their own code but cannot use segments + * from this software for such purposes. Copyright of this software + * remains with BladeX. + *

+ * Using this software signifies agreement to this License, and the software + * must not be used for illegal purposes. + *

+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is + * not liable for any claims arising from secondary or illegal development. + *

+ * Author: Chill Zhuang (bladejava@qq.com) + */ +package org.springblade.desk.energy.pojo.dto; + +import org.springblade.desk.energy.pojo.entity.BsPeakFlatValleyEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.io.Serial; + +/** + * 峰平谷 数据传输对象实体类 + * + * @author BladeX + * @since 2026-03-03 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class BsPeakFlatValleyDTO extends BsPeakFlatValleyEntity { + @Serial + private static final long serialVersionUID = 1L; + +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/pojo/entity/BsEnergyMonitorEntity.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/pojo/entity/BsEnergyMonitorEntity.java new file mode 100644 index 00000000..8309665e --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/pojo/entity/BsEnergyMonitorEntity.java @@ -0,0 +1,128 @@ +/** + * BladeX Commercial License Agreement + * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved. + *

+ * Use of this software is governed by the Commercial License Agreement + * obtained after purchasing a license from BladeX. + *

+ * 1. This software is for development use only under a valid license + * from BladeX. + *

+ * 2. Redistribution of this software's source code to any third party + * without a commercial license is strictly prohibited. + *

+ * 3. Licensees may copyright their own code but cannot use segments + * from this software for such purposes. Copyright of this software + * remains with BladeX. + *

+ * Using this software signifies agreement to this License, and the software + * must not be used for illegal purposes. + *

+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is + * not liable for any claims arising from secondary or illegal development. + *

+ * Author: Chill Zhuang (bladejava@qq.com) + */ +package org.springblade.desk.energy.pojo.entity; + +import lombok.Data; +import io.swagger.v3.oas.annotations.media.Schema; +import com.baomidou.mybatisplus.annotation.TableName; +import java.util.Date; +import java.math.BigDecimal; +import lombok.EqualsAndHashCode; +import org.springblade.core.tenant.mp.TenantEntity; +import java.io.Serial; + +/** + * 能源监控表 实体类 + * + * @author BladeX + * @since 2026-03-03 + */ +@Data +@TableName("BS_ENERGY_MONITOR") +@Schema(description = "BsEnergyMonitor对象") +@EqualsAndHashCode(callSuper = true) +public class BsEnergyMonitorEntity extends TenantEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 月份 + */ + @Schema(description = "月份") + private Date month; + /** + * 上月用水 + */ + @Schema(description = "上月用水") + private BigDecimal lastWater; + /** + * 上月用电 + */ + @Schema(description = "上月用电") + private BigDecimal lastElectric; + /** + * 上月产能 + */ + @Schema(description = "上月产能") + private BigDecimal lastOutput; + /** + * 上月用水 + */ + @Schema(description = "上月用水") + private BigDecimal currentWater; + /** + * 上月用电 + */ + @Schema(description = "上月用电") + private BigDecimal currentElectric; + /** + * 上月产能 + */ + @Schema(description = "上月产能") + private BigDecimal currentOutput; + /** + * 上月用水目标 + */ + @Schema(description = "上月用水目标") + private BigDecimal lastWaterTarget; + /** + * 上月用电目标 + */ + @Schema(description = "上月用电目标") + private BigDecimal lastElectricTarget; + /** + * 本月用水目标 + */ + @Schema(description = "本月用水目标") + private BigDecimal currentWaterTarget; + /** + * 本月用电目标 + */ + @Schema(description = "本月用电目标") + private BigDecimal currentElectricTarget; + /** + * 上月用水实际完成 + */ + @Schema(description = "上月用水实际完成") + private BigDecimal lastWaterRate; + /** + * 上月用电实际完成 + */ + @Schema(description = "上月用电实际完成") + private BigDecimal lastElectricRate; + /** + * 本月用水实际完成 + */ + @Schema(description = "本月用水实际完成") + private BigDecimal currentWaterRate; + /** + * 本月用电实际完成 + */ + @Schema(description = "本月用电实际完成") + private BigDecimal currentElectricRate; + +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/pojo/entity/BsEnergyQuotaEntity.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/pojo/entity/BsEnergyQuotaEntity.java index 557f8ec0..a130b1f2 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/pojo/entity/BsEnergyQuotaEntity.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/pojo/entity/BsEnergyQuotaEntity.java @@ -25,14 +25,14 @@ */ package org.springblade.desk.energy.pojo.entity; -import lombok.Data; -import io.swagger.v3.oas.annotations.media.Schema; import com.baomidou.mybatisplus.annotation.TableName; -import java.util.Date; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; import lombok.EqualsAndHashCode; import org.springblade.core.mp.base.BaseEntity; -import org.springblade.core.tenant.mp.TenantEntity; + import java.io.Serial; +import java.util.Date; /** * 能源定额 实体类 @@ -59,21 +59,26 @@ public class BsEnergyQuotaEntity extends BaseEntity { */ @Schema(description = "作业中心ID") private Long workCenterId; + /** + * 作业中心名称 + */ + @Schema(description = "作业中心名称") + private String workCenterName; /** * 设备ID */ @Schema(description = "设备ID") private Long equipmentId; /** - * 月份 + * 设备名称 */ - @Schema(description = "月份") - private String month; + @Schema(description = "设备名称") + private String equipmentName; /** * 日期 */ @Schema(description = "日期") - private String date; + private Date date; /** * 自来水用水量 */ diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/pojo/entity/BsEnergyTargetEntity.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/pojo/entity/BsEnergyTargetEntity.java index 89db10d2..8f3462c1 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/pojo/entity/BsEnergyTargetEntity.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/pojo/entity/BsEnergyTargetEntity.java @@ -25,15 +25,15 @@ */ package org.springblade.desk.energy.pojo.entity; -import lombok.Data; -import io.swagger.v3.oas.annotations.media.Schema; import com.baomidou.mybatisplus.annotation.TableName; -import java.math.BigDecimal; -import java.util.Date; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; import lombok.EqualsAndHashCode; import org.springblade.core.mp.base.BaseEntity; -import org.springblade.core.tenant.mp.TenantEntity; + import java.io.Serial; +import java.math.BigDecimal; +import java.util.Date; /** * 能耗目标表 实体类 @@ -59,7 +59,12 @@ public class BsEnergyTargetEntity extends BaseEntity { * 月份 */ @Schema(description = "月份") - private String month; + private Date month; + /** + * 年 + */ + @Schema(description = "年") + private Date year; /** * 日期 */ @@ -69,6 +74,10 @@ public class BsEnergyTargetEntity extends BaseEntity { * 目标 */ @Schema(description = "目标") - private Long target; - + private BigDecimal target; + /** + * 季度 + */ + @Schema(description = "季度") + private String quarter; } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/pojo/entity/BsPeakFlatValleyEntity.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/pojo/entity/BsPeakFlatValleyEntity.java new file mode 100644 index 00000000..05c4adf4 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/pojo/entity/BsPeakFlatValleyEntity.java @@ -0,0 +1,137 @@ +/** + * BladeX Commercial License Agreement + * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved. + *

+ * Use of this software is governed by the Commercial License Agreement + * obtained after purchasing a license from BladeX. + *

+ * 1. This software is for development use only under a valid license + * from BladeX. + *

+ * 2. Redistribution of this software's source code to any third party + * without a commercial license is strictly prohibited. + *

+ * 3. Licensees may copyright their own code but cannot use segments + * from this software for such purposes. Copyright of this software + * remains with BladeX. + *

+ * Using this software signifies agreement to this License, and the software + * must not be used for illegal purposes. + *

+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is + * not liable for any claims arising from secondary or illegal development. + *

+ * Author: Chill Zhuang (bladejava@qq.com) + */ +package org.springblade.desk.energy.pojo.entity; + +import lombok.Data; +import io.swagger.v3.oas.annotations.media.Schema; +import com.baomidou.mybatisplus.annotation.TableName; +import java.util.Date; +import lombok.EqualsAndHashCode; +import org.springblade.core.mp.base.BaseEntity; +import org.springblade.core.tenant.mp.TenantEntity; +import java.io.Serial; + +/** + * 峰平谷 实体类 + * + * @author BladeX + * @since 2026-03-03 + */ +@Data +@TableName("BS_PEAK_FLAT_VALLEY") +@Schema(description = "BsPeakFlatValley对象") +@EqualsAndHashCode(callSuper = true) +public class BsPeakFlatValleyEntity extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 月份 + */ + @Schema(description = "月份") + private Date month; + /** + * 尖时一开始时间 + */ + @Schema(description = "尖时一开始时间") + private String sharpOneStartTime; + /** + * 尖时一结束时间 + */ + @Schema(description = "尖时一结束时间") + private String sharpOneEndTime; + /** + * 峰时一开始时间 + */ + @Schema(description = "峰时一开始时间") + private String peakOneStartTime; + /** + * 峰时一结束时间 + */ + @Schema(description = "峰时一结束时间") + private String peakOneEndTime; + /** + * 平时一开始时间 + */ + @Schema(description = "平时一开始时间") + private String flatOneStartTime; + /** + * 平时一结束时间 + */ + @Schema(description = "平时一结束时间") + private String flatOneEndTime; + /** + * 谷时一开始时间 + */ + @Schema(description = "谷时一开始时间") + private String valleyOneStartTime; + /** + * 谷时一结束时间 + */ + @Schema(description = "谷时一结束时间") + private String valleyOneEndTime; + /** + * 尖时二开始时间 + */ + @Schema(description = "尖时二开始时间") + private String sharpTwoStartTime; + /** + * 尖时二结束时间 + */ + @Schema(description = "尖时二结束时间") + private String sharpTwoEndTime; + /** + * 峰时二开始时间 + */ + @Schema(description = "峰时二开始时间") + private String peakTwoStartTime; + /** + * 峰时二结束时间 + */ + @Schema(description = "峰时二结束时间") + private String peakTwoEndTime; + /** + * 平时二开始时间 + */ + @Schema(description = "平时二开始时间") + private String flatTwoStartTime; + /** + * 平时二结束时间 + */ + @Schema(description = "平时二结束时间") + private String flatTwoEndTime; + /** + * 谷时二开始时间 + */ + @Schema(description = "谷时二开始时间") + private String valleyTwoStartTime; + /** + * 谷时二结束时间 + */ + @Schema(description = "谷时二结束时间") + private String valleyTwoEndTime; +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/pojo/vo/BsEnergyMonitorVO.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/pojo/vo/BsEnergyMonitorVO.java new file mode 100644 index 00000000..a2515293 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/pojo/vo/BsEnergyMonitorVO.java @@ -0,0 +1,45 @@ +/** + * BladeX Commercial License Agreement + * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved. + *

+ * Use of this software is governed by the Commercial License Agreement + * obtained after purchasing a license from BladeX. + *

+ * 1. This software is for development use only under a valid license + * from BladeX. + *

+ * 2. Redistribution of this software's source code to any third party + * without a commercial license is strictly prohibited. + *

+ * 3. Licensees may copyright their own code but cannot use segments + * from this software for such purposes. Copyright of this software + * remains with BladeX. + *

+ * Using this software signifies agreement to this License, and the software + * must not be used for illegal purposes. + *

+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is + * not liable for any claims arising from secondary or illegal development. + *

+ * Author: Chill Zhuang (bladejava@qq.com) + */ +package org.springblade.desk.energy.pojo.vo; + +import org.springblade.desk.energy.pojo.entity.BsEnergyMonitorEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.io.Serial; + +/** + * 能源监控表 视图实体类 + * + * @author BladeX + * @since 2026-03-03 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class BsEnergyMonitorVO extends BsEnergyMonitorEntity { + @Serial + private static final long serialVersionUID = 1L; + +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/pojo/vo/BsEnergyQuotaVO.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/pojo/vo/BsEnergyQuotaVO.java index 33179aeb..2b3a81ce 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/pojo/vo/BsEnergyQuotaVO.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/pojo/vo/BsEnergyQuotaVO.java @@ -42,13 +42,4 @@ public class BsEnergyQuotaVO extends BsEnergyQuotaEntity { @Serial private static final long serialVersionUID = 1L; - /** - * 作业中心名称 - */ - private String workCenterName; - - /** - * 设备名称 - */ - private String equipmentName; } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/pojo/vo/BsPeakFlatValleyVO.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/pojo/vo/BsPeakFlatValleyVO.java new file mode 100644 index 00000000..4cfeab8d --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/pojo/vo/BsPeakFlatValleyVO.java @@ -0,0 +1,45 @@ +/** + * BladeX Commercial License Agreement + * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved. + *

+ * Use of this software is governed by the Commercial License Agreement + * obtained after purchasing a license from BladeX. + *

+ * 1. This software is for development use only under a valid license + * from BladeX. + *

+ * 2. Redistribution of this software's source code to any third party + * without a commercial license is strictly prohibited. + *

+ * 3. Licensees may copyright their own code but cannot use segments + * from this software for such purposes. Copyright of this software + * remains with BladeX. + *

+ * Using this software signifies agreement to this License, and the software + * must not be used for illegal purposes. + *

+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is + * not liable for any claims arising from secondary or illegal development. + *

+ * Author: Chill Zhuang (bladejava@qq.com) + */ +package org.springblade.desk.energy.pojo.vo; + +import org.springblade.desk.energy.pojo.entity.BsPeakFlatValleyEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.io.Serial; + +/** + * 峰平谷 视图实体类 + * + * @author BladeX + * @since 2026-03-03 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class BsPeakFlatValleyVO extends BsPeakFlatValleyEntity { + @Serial + private static final long serialVersionUID = 1L; + +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/service/IBsEnergyMonitorService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/service/IBsEnergyMonitorService.java new file mode 100644 index 00000000..3f8b27e1 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/service/IBsEnergyMonitorService.java @@ -0,0 +1,61 @@ +/** + * BladeX Commercial License Agreement + * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved. + *

+ * Use of this software is governed by the Commercial License Agreement + * obtained after purchasing a license from BladeX. + *

+ * 1. This software is for development use only under a valid license + * from BladeX. + *

+ * 2. Redistribution of this software's source code to any third party + * without a commercial license is strictly prohibited. + *

+ * 3. Licensees may copyright their own code but cannot use segments + * from this software for such purposes. Copyright of this software + * remains with BladeX. + *

+ * Using this software signifies agreement to this License, and the software + * must not be used for illegal purposes. + *

+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is + * not liable for any claims arising from secondary or illegal development. + *

+ * Author: Chill Zhuang (bladejava@qq.com) + */ +package org.springblade.desk.energy.service; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import org.springblade.desk.energy.pojo.entity.BsEnergyMonitorEntity; +import org.springblade.desk.energy.pojo.vo.BsEnergyMonitorVO; +import org.springblade.desk.energy.excel.BsEnergyMonitorExcel; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springblade.core.mp.base.BaseService; +import java.util.List; + +/** + * 能源监控表 服务类 + * + * @author BladeX + * @since 2026-03-03 + */ +public interface IBsEnergyMonitorService extends BaseService { + /** + * 自定义分页 + * + * @param page 分页参数 + * @param bsEnergyMonitor 查询参数 + * @return IPage + */ + IPage selectBsEnergyMonitorPage(IPage page, BsEnergyMonitorVO bsEnergyMonitor); + + + /** + * 导出数据 + * + * @param queryWrapper 查询条件 + * @return List + */ + List exportBsEnergyMonitor(Wrapper queryWrapper); + +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/service/IBsEnergyTargetService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/service/IBsEnergyTargetService.java index 2eabef3b..17a70a92 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/service/IBsEnergyTargetService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/service/IBsEnergyTargetService.java @@ -31,6 +31,8 @@ import org.springblade.desk.energy.pojo.vo.BsEnergyTargetVO; import org.springblade.desk.energy.excel.BsEnergyTargetExcel; import com.baomidou.mybatisplus.core.metadata.IPage; import org.springblade.core.mp.base.BaseService; + +import java.math.BigDecimal; import java.util.List; /** @@ -58,4 +60,17 @@ public interface IBsEnergyTargetService extends BaseService exportBsEnergyTarget(Wrapper queryWrapper); + /** + * 根据月份获取用水目标 + * @param month 月份 + * @return 用水目标 + */ + BigDecimal getWaterTargetByMonth(String month); + + /** + * 根据月份获取用电目标 + * @param month 月份 + * @return 用电目标 + */ + BigDecimal getElectricTargetByMonth(String month); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/service/IBsPeakFlatValleyService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/service/IBsPeakFlatValleyService.java new file mode 100644 index 00000000..e0c7deb0 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/service/IBsPeakFlatValleyService.java @@ -0,0 +1,61 @@ +/** + * BladeX Commercial License Agreement + * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved. + *

+ * Use of this software is governed by the Commercial License Agreement + * obtained after purchasing a license from BladeX. + *

+ * 1. This software is for development use only under a valid license + * from BladeX. + *

+ * 2. Redistribution of this software's source code to any third party + * without a commercial license is strictly prohibited. + *

+ * 3. Licensees may copyright their own code but cannot use segments + * from this software for such purposes. Copyright of this software + * remains with BladeX. + *

+ * Using this software signifies agreement to this License, and the software + * must not be used for illegal purposes. + *

+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is + * not liable for any claims arising from secondary or illegal development. + *

+ * Author: Chill Zhuang (bladejava@qq.com) + */ +package org.springblade.desk.energy.service; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import org.springblade.desk.energy.pojo.entity.BsPeakFlatValleyEntity; +import org.springblade.desk.energy.pojo.vo.BsPeakFlatValleyVO; +import org.springblade.desk.energy.excel.BsPeakFlatValleyExcel; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springblade.core.mp.base.BaseService; +import java.util.List; + +/** + * 峰平谷 服务类 + * + * @author BladeX + * @since 2026-03-03 + */ +public interface IBsPeakFlatValleyService extends BaseService { + /** + * 自定义分页 + * + * @param page 分页参数 + * @param bsPeakFlatValley 查询参数 + * @return IPage + */ + IPage selectBsPeakFlatValleyPage(IPage page, BsPeakFlatValleyVO bsPeakFlatValley); + + + /** + * 导出数据 + * + * @param queryWrapper 查询条件 + * @return List + */ + List exportBsPeakFlatValley(Wrapper queryWrapper); + +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/service/impl/BsEnergyMonitorServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/service/impl/BsEnergyMonitorServiceImpl.java new file mode 100644 index 00000000..4aaf1ba5 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/service/impl/BsEnergyMonitorServiceImpl.java @@ -0,0 +1,63 @@ +/** + * BladeX Commercial License Agreement + * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved. + *

+ * Use of this software is governed by the Commercial License Agreement + * obtained after purchasing a license from BladeX. + *

+ * 1. This software is for development use only under a valid license + * from BladeX. + *

+ * 2. Redistribution of this software's source code to any third party + * without a commercial license is strictly prohibited. + *

+ * 3. Licensees may copyright their own code but cannot use segments + * from this software for such purposes. Copyright of this software + * remains with BladeX. + *

+ * Using this software signifies agreement to this License, and the software + * must not be used for illegal purposes. + *

+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is + * not liable for any claims arising from secondary or illegal development. + *

+ * Author: Chill Zhuang (bladejava@qq.com) + */ +package org.springblade.desk.energy.service.impl; + +import org.springblade.desk.energy.pojo.entity.BsEnergyMonitorEntity; +import org.springblade.desk.energy.pojo.vo.BsEnergyMonitorVO; +import org.springblade.desk.energy.excel.BsEnergyMonitorExcel; +import org.springblade.desk.energy.mapper.BsEnergyMonitorMapper; +import org.springblade.desk.energy.service.IBsEnergyMonitorService; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springblade.core.mp.base.BaseServiceImpl; +import java.util.List; + +/** + * 能源监控表 服务实现类 + * + * @author BladeX + * @since 2026-03-03 + */ +@Service +public class BsEnergyMonitorServiceImpl extends BaseServiceImpl implements IBsEnergyMonitorService { + + @Override + public IPage selectBsEnergyMonitorPage(IPage page, BsEnergyMonitorVO bsEnergyMonitor) { + return page.setRecords(baseMapper.selectBsEnergyMonitorPage(page, bsEnergyMonitor)); + } + + + @Override + public List exportBsEnergyMonitor(Wrapper queryWrapper) { + List bsEnergyMonitorList = baseMapper.exportBsEnergyMonitor(queryWrapper); + //bsEnergyMonitorList.forEach(bsEnergyMonitor -> { + // bsEnergyMonitor.setTypeName(DictCache.getValue(DictEnum.YES_NO, BsEnergyMonitor.getType())); + //}); + return bsEnergyMonitorList; + } + +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/service/impl/BsEnergyTargetServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/service/impl/BsEnergyTargetServiceImpl.java index e4d21b6f..8f9cb33b 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/service/impl/BsEnergyTargetServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/service/impl/BsEnergyTargetServiceImpl.java @@ -25,6 +25,8 @@ */ package org.springblade.desk.energy.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import org.springblade.desk.dashboard.utils.DateUtils; import org.springblade.desk.energy.pojo.entity.BsEnergyTargetEntity; import org.springblade.desk.energy.pojo.vo.BsEnergyTargetVO; import org.springblade.desk.energy.excel.BsEnergyTargetExcel; @@ -34,6 +36,8 @@ import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import org.springblade.core.mp.base.BaseServiceImpl; + +import java.math.BigDecimal; import java.util.List; /** @@ -60,4 +64,26 @@ public class BsEnergyTargetServiceImpl extends BaseServiceImpl() + .eq(BsEnergyTargetEntity::getMonth, month)); + if(energyTargetEntity != null){ + return energyTargetEntity.getTarget(); + } + return new BigDecimal(0); + } + + @Override + public BigDecimal getElectricTargetByMonth(String month) { + String year = month.substring(0, 4); + int quarter = DateUtils.getQuarter(Integer.parseInt(month.substring(5, 7))); + BsEnergyTargetEntity energyTargetEntity = this.getOne(new LambdaQueryWrapper() + .eq(BsEnergyTargetEntity::getYear, year) + .eq(BsEnergyTargetEntity::getQuarter, quarter)); + if (energyTargetEntity != null) { + return energyTargetEntity.getTarget(); + } + return new BigDecimal(0); + } } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/service/impl/BsPeakFlatValleyServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/service/impl/BsPeakFlatValleyServiceImpl.java new file mode 100644 index 00000000..5a51e301 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/service/impl/BsPeakFlatValleyServiceImpl.java @@ -0,0 +1,63 @@ +/** + * BladeX Commercial License Agreement + * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved. + *

+ * Use of this software is governed by the Commercial License Agreement + * obtained after purchasing a license from BladeX. + *

+ * 1. This software is for development use only under a valid license + * from BladeX. + *

+ * 2. Redistribution of this software's source code to any third party + * without a commercial license is strictly prohibited. + *

+ * 3. Licensees may copyright their own code but cannot use segments + * from this software for such purposes. Copyright of this software + * remains with BladeX. + *

+ * Using this software signifies agreement to this License, and the software + * must not be used for illegal purposes. + *

+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is + * not liable for any claims arising from secondary or illegal development. + *

+ * Author: Chill Zhuang (bladejava@qq.com) + */ +package org.springblade.desk.energy.service.impl; + +import org.springblade.desk.energy.pojo.entity.BsPeakFlatValleyEntity; +import org.springblade.desk.energy.pojo.vo.BsPeakFlatValleyVO; +import org.springblade.desk.energy.excel.BsPeakFlatValleyExcel; +import org.springblade.desk.energy.mapper.BsPeakFlatValleyMapper; +import org.springblade.desk.energy.service.IBsPeakFlatValleyService; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springblade.core.mp.base.BaseServiceImpl; +import java.util.List; + +/** + * 峰平谷 服务实现类 + * + * @author BladeX + * @since 2026-03-03 + */ +@Service +public class BsPeakFlatValleyServiceImpl extends BaseServiceImpl implements IBsPeakFlatValleyService { + + @Override + public IPage selectBsPeakFlatValleyPage(IPage page, BsPeakFlatValleyVO bsPeakFlatValley) { + return page.setRecords(baseMapper.selectBsPeakFlatValleyPage(page, bsPeakFlatValley)); + } + + + @Override + public List exportBsPeakFlatValley(Wrapper queryWrapper) { + List bsPeakFlatValleyList = baseMapper.exportBsPeakFlatValley(queryWrapper); + //bsPeakFlatValleyList.forEach(bsPeakFlatValley -> { + // bsPeakFlatValley.setTypeName(DictCache.getValue(DictEnum.YES_NO, BsPeakFlatValley.getType())); + //}); + return bsPeakFlatValleyList; + } + +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/wrapper/BsEnergyMonitorWrapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/wrapper/BsEnergyMonitorWrapper.java new file mode 100644 index 00000000..375d7d6c --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/wrapper/BsEnergyMonitorWrapper.java @@ -0,0 +1,59 @@ +/** + * BladeX Commercial License Agreement + * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved. + *

+ * Use of this software is governed by the Commercial License Agreement + * obtained after purchasing a license from BladeX. + *

+ * 1. This software is for development use only under a valid license + * from BladeX. + *

+ * 2. Redistribution of this software's source code to any third party + * without a commercial license is strictly prohibited. + *

+ * 3. Licensees may copyright their own code but cannot use segments + * from this software for such purposes. Copyright of this software + * remains with BladeX. + *

+ * Using this software signifies agreement to this License, and the software + * must not be used for illegal purposes. + *

+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is + * not liable for any claims arising from secondary or illegal development. + *

+ * Author: Chill Zhuang (bladejava@qq.com) + */ +package org.springblade.desk.energy.wrapper; + +import org.springblade.core.mp.support.BaseEntityWrapper; +import org.springblade.core.tool.utils.BeanUtil; +import org.springblade.desk.energy.pojo.entity.BsEnergyMonitorEntity; +import org.springblade.desk.energy.pojo.vo.BsEnergyMonitorVO; +import java.util.Objects; + +/** + * 能源监控表 包装类,返回视图层所需的字段 + * + * @author BladeX + * @since 2026-03-03 + */ +public class BsEnergyMonitorWrapper extends BaseEntityWrapper { + + public static BsEnergyMonitorWrapper build() { + return new BsEnergyMonitorWrapper(); + } + + @Override + public BsEnergyMonitorVO entityVO(BsEnergyMonitorEntity bsEnergyMonitor) { + BsEnergyMonitorVO bsEnergyMonitorVO = Objects.requireNonNull(BeanUtil.copyProperties(bsEnergyMonitor, BsEnergyMonitorVO.class)); + + //User createUser = UserCache.getUser(bsEnergyMonitor.getCreateUser()); + //User updateUser = UserCache.getUser(bsEnergyMonitor.getUpdateUser()); + //bsEnergyMonitorVO.setCreateUserName(createUser.getName()); + //bsEnergyMonitorVO.setUpdateUserName(updateUser.getName()); + + return bsEnergyMonitorVO; + } + + +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/wrapper/BsEnergyQuotaWrapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/wrapper/BsEnergyQuotaWrapper.java index 903d647d..be6c8020 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/wrapper/BsEnergyQuotaWrapper.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/wrapper/BsEnergyQuotaWrapper.java @@ -25,17 +25,12 @@ */ package org.springblade.desk.energy.wrapper; -import jakarta.annotation.Resource; import org.springblade.core.mp.support.BaseEntityWrapper; import org.springblade.core.tool.utils.BeanUtil; -import org.springblade.desk.basic.pojo.entity.WorkCenter; -import org.springblade.desk.basic.service.IWorkCenterService; -import org.springblade.desk.device.pojo.entity.EquipmentEntity; -import org.springblade.desk.device.service.IEquipmentService; import org.springblade.desk.energy.pojo.entity.BsEnergyQuotaEntity; import org.springblade.desk.energy.pojo.vo.BsEnergyQuotaVO; + import java.util.Objects; -import java.util.Optional; /** * 能源定额 包装类,返回视图层所需的字段 @@ -45,29 +40,13 @@ import java.util.Optional; */ public class BsEnergyQuotaWrapper extends BaseEntityWrapper { - @Resource - private IWorkCenterService iWorkCenterService; - - @Resource - private IEquipmentService iEquipmentService; - public static BsEnergyQuotaWrapper build() { return new BsEnergyQuotaWrapper(); } @Override public BsEnergyQuotaVO entityVO(BsEnergyQuotaEntity bsEnergyQuota) { - BsEnergyQuotaVO bsEnergyQuotaVO = Objects.requireNonNull(BeanUtil.copyProperties(bsEnergyQuota, BsEnergyQuotaVO.class)); - WorkCenter workCenter = iWorkCenterService.getById(bsEnergyQuota.getWorkCenterId()); - if (workCenter != null) { - bsEnergyQuotaVO.setWorkCenterName(workCenter.getWcName()); - } - EquipmentEntity equipmentEntity = iEquipmentService.getById(bsEnergyQuota.getEquipmentId()); - if (equipmentEntity != null) { - bsEnergyQuotaVO.setEquipmentName(equipmentEntity.getDeviceName()); - } - return bsEnergyQuotaVO; + return Objects.requireNonNull(BeanUtil.copyProperties(bsEnergyQuota, BsEnergyQuotaVO.class)); } - } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/wrapper/BsPeakFlatValleyWrapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/wrapper/BsPeakFlatValleyWrapper.java new file mode 100644 index 00000000..df019a87 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/wrapper/BsPeakFlatValleyWrapper.java @@ -0,0 +1,59 @@ +/** + * BladeX Commercial License Agreement + * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved. + *

+ * Use of this software is governed by the Commercial License Agreement + * obtained after purchasing a license from BladeX. + *

+ * 1. This software is for development use only under a valid license + * from BladeX. + *

+ * 2. Redistribution of this software's source code to any third party + * without a commercial license is strictly prohibited. + *

+ * 3. Licensees may copyright their own code but cannot use segments + * from this software for such purposes. Copyright of this software + * remains with BladeX. + *

+ * Using this software signifies agreement to this License, and the software + * must not be used for illegal purposes. + *

+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is + * not liable for any claims arising from secondary or illegal development. + *

+ * Author: Chill Zhuang (bladejava@qq.com) + */ +package org.springblade.desk.energy.wrapper; + +import org.springblade.core.mp.support.BaseEntityWrapper; +import org.springblade.core.tool.utils.BeanUtil; +import org.springblade.desk.energy.pojo.entity.BsPeakFlatValleyEntity; +import org.springblade.desk.energy.pojo.vo.BsPeakFlatValleyVO; +import java.util.Objects; + +/** + * 峰平谷 包装类,返回视图层所需的字段 + * + * @author BladeX + * @since 2026-03-03 + */ +public class BsPeakFlatValleyWrapper extends BaseEntityWrapper { + + public static BsPeakFlatValleyWrapper build() { + return new BsPeakFlatValleyWrapper(); + } + + @Override + public BsPeakFlatValleyVO entityVO(BsPeakFlatValleyEntity bsPeakFlatValley) { + BsPeakFlatValleyVO bsPeakFlatValleyVO = Objects.requireNonNull(BeanUtil.copyProperties(bsPeakFlatValley, BsPeakFlatValleyVO.class)); + + //User createUser = UserCache.getUser(bsPeakFlatValley.getCreateUser()); + //User updateUser = UserCache.getUser(bsPeakFlatValley.getUpdateUser()); + //bsPeakFlatValleyVO.setCreateUserName(createUser.getName()); + //bsPeakFlatValleyVO.setUpdateUserName(updateUser.getName()); + + return bsPeakFlatValleyVO; + } + + +}