diff --git a/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsEnergyPriceConfigController.java b/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsEnergyPriceConfigController.java index b6c8e6a..0117d6f 100644 --- a/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsEnergyPriceConfigController.java +++ b/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsEnergyPriceConfigController.java @@ -31,9 +31,9 @@ public class EmsEnergyPriceConfigController extends BaseController */ @PreAuthorize("@ss.hasPermi('system:config:list')") @GetMapping("/list") - public TableDataInfo list(String startTime,String endTime) + public TableDataInfo list(String siteId, String startTime,String endTime) { - List list = emsEnergyPriceConfigService.selectEmsEnergyPriceConfigList(startTime,endTime); + List list = emsEnergyPriceConfigService.selectEmsEnergyPriceConfigList(siteId,startTime,endTime); return getDataTable2(list); } diff --git a/ems-system/src/main/java/com/xzzn/ems/domain/EmsEnergyPriceConfig.java b/ems-system/src/main/java/com/xzzn/ems/domain/EmsEnergyPriceConfig.java index c4c45c1..6887f1e 100644 --- a/ems-system/src/main/java/com/xzzn/ems/domain/EmsEnergyPriceConfig.java +++ b/ems-system/src/main/java/com/xzzn/ems/domain/EmsEnergyPriceConfig.java @@ -20,6 +20,10 @@ public class EmsEnergyPriceConfig extends BaseEntity /** */ private Long id; + /** 站点id */ + @Excel(name = "站点id") + private String siteId; + /** 年份,如2025 */ @Excel(name = "年份,如2025") private String year; @@ -54,6 +58,16 @@ public class EmsEnergyPriceConfig extends BaseEntity return id; } + public void setSiteId(String siteId) + { + this.siteId = siteId; + } + + public String getSiteId() + { + return siteId; + } + public void setYear(String year) { this.year = year; @@ -118,6 +132,7 @@ public class EmsEnergyPriceConfig extends BaseEntity public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) .append("id", getId()) + .append("siteId", getSiteId()) .append("year", getYear()) .append("month", getMonth()) .append("peak", getPeak()) diff --git a/ems-system/src/main/java/com/xzzn/ems/domain/vo/EnergyPriceVo.java b/ems-system/src/main/java/com/xzzn/ems/domain/vo/EnergyPriceVo.java index 4614dca..1a2bf0c 100644 --- a/ems-system/src/main/java/com/xzzn/ems/domain/vo/EnergyPriceVo.java +++ b/ems-system/src/main/java/com/xzzn/ems/domain/vo/EnergyPriceVo.java @@ -12,6 +12,9 @@ import java.util.List; public class EnergyPriceVo { /** */ private Long id; + /** 站点id */ + @Excel(name = "站点id") + private String siteId; /** 年份 */ @Excel(name = "年份") private String year; @@ -41,6 +44,14 @@ public class EnergyPriceVo { this.id = id; } + public String getSiteId() { + return siteId; + } + + public void setSiteId(String siteId) { + this.siteId = siteId; + } + public String getYear() { return year; } diff --git a/ems-system/src/main/java/com/xzzn/ems/mapper/EmsEnergyPriceConfigMapper.java b/ems-system/src/main/java/com/xzzn/ems/mapper/EmsEnergyPriceConfigMapper.java index f6b3d2e..816ae73 100644 --- a/ems-system/src/main/java/com/xzzn/ems/mapper/EmsEnergyPriceConfigMapper.java +++ b/ems-system/src/main/java/com/xzzn/ems/mapper/EmsEnergyPriceConfigMapper.java @@ -62,11 +62,15 @@ public interface EmsEnergyPriceConfigMapper public int deleteEmsEnergyPriceConfigByIds(Long[] ids); // 查询当年电价配置列表 - public List getCurrentYearConfigList(int currentYear); - // 根据指定年月获取电价配置 - public EmsEnergyPriceConfig getConfigListByYearAndMonth(@Param("currentYear") String currentYear, @Param("month")String month); + public List getCurrentYearConfigList(@Param("siteId")String siteId,@Param("currentYear")int currentYear); + // 站点指定年月获取电价配置 + public EmsEnergyPriceConfig getConfigListByYearAndMonth(@Param("siteId")String siteId, + @Param("currentYear") String currentYear, + @Param("month")String month); // 插入或更新 public void insertOrUpdateEmsEnergyPriceConfig(EmsEnergyPriceConfig priceConfig); // 获取指定年月的电价时间配置 - public List getTimeRangeByDate(@Param("currentYear")int currentYear, @Param("currentMonth")int currentMonth); + public List getTimeRangeByDate(@Param("siteId")String siteId, + @Param("currentYear")int currentYear, + @Param("currentMonth")int currentMonth); } diff --git a/ems-system/src/main/java/com/xzzn/ems/mapper/EmsSiteSettingMapper.java b/ems-system/src/main/java/com/xzzn/ems/mapper/EmsSiteSettingMapper.java index abcc74a..f29e394 100644 --- a/ems-system/src/main/java/com/xzzn/ems/mapper/EmsSiteSettingMapper.java +++ b/ems-system/src/main/java/com/xzzn/ems/mapper/EmsSiteSettingMapper.java @@ -90,4 +90,6 @@ public interface EmsSiteSettingMapper * @return */ public List getAllSiteDeviceList(String siteId); + + public List getAllSiteId(); } diff --git a/ems-system/src/main/java/com/xzzn/ems/service/IEmsEnergyPriceConfigService.java b/ems-system/src/main/java/com/xzzn/ems/service/IEmsEnergyPriceConfigService.java index c0ee58f..3828d4a 100644 --- a/ems-system/src/main/java/com/xzzn/ems/service/IEmsEnergyPriceConfigService.java +++ b/ems-system/src/main/java/com/xzzn/ems/service/IEmsEnergyPriceConfigService.java @@ -25,7 +25,7 @@ public interface IEmsEnergyPriceConfigService * * @return 电价配置集合 */ - public List selectEmsEnergyPriceConfigList(String startTime,String endTime); + public List selectEmsEnergyPriceConfigList(String siteId, String startTime,String endTime); /** * 新增电价配置-按月 diff --git a/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsEnergyPriceConfigServiceImpl.java b/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsEnergyPriceConfigServiceImpl.java index 82aa8c4..69d2fd5 100644 --- a/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsEnergyPriceConfigServiceImpl.java +++ b/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsEnergyPriceConfigServiceImpl.java @@ -1,9 +1,7 @@ package com.xzzn.ems.service.impl; import java.time.LocalDate; -import java.util.ArrayList; -import java.util.Comparator; -import java.util.List; +import java.util.*; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; @@ -15,6 +13,7 @@ import com.xzzn.ems.domain.EmsPriceTimeConfig; import com.xzzn.ems.domain.vo.EnergyPriceTimeRange; import com.xzzn.ems.domain.vo.EnergyPriceVo; import com.xzzn.ems.mapper.EmsPriceTimeConfigMapper; +import com.xzzn.ems.mapper.EmsSiteSettingMapper; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -37,6 +36,8 @@ public class EmsEnergyPriceConfigServiceImpl implements IEmsEnergyPriceConfigSer private EmsPriceTimeConfigMapper emsPriceTimeConfigMapper; @Autowired private RedisCache redisCache; + @Autowired + private EmsSiteSettingMapper emsSiteSettingMapper; /** * 查询电价配置 @@ -68,14 +69,14 @@ public class EmsEnergyPriceConfigServiceImpl implements IEmsEnergyPriceConfigSer * @return 电价配置 */ @Override - public List selectEmsEnergyPriceConfigList(String startTime,String endTime) + public List selectEmsEnergyPriceConfigList(String siteId,String startTime,String endTime) { List responses = new ArrayList<>(); // 根据时间截取年份 String[] startTimeArr = startTime.split("-"); int currentYear = Integer.valueOf(startTimeArr[0]); - List priceConfigs = emsEnergyPriceConfigMapper.getCurrentYearConfigList(currentYear); + List priceConfigs = emsEnergyPriceConfigMapper.getCurrentYearConfigList(siteId,currentYear); if (priceConfigs != null && priceConfigs.size() > 0) { for (EmsEnergyPriceConfig priceConfig : priceConfigs) { @@ -106,14 +107,14 @@ public class EmsEnergyPriceConfigServiceImpl implements IEmsEnergyPriceConfigSer { String year = priceVo.getYear(); String month = priceVo.getMonth(); - + String siteId = priceVo.getSiteId(); // 判断入参 - if(StringUtils.isEmpty(year) || StringUtils.isEmpty(month)){ + if(StringUtils.isEmpty(siteId) || StringUtils.isEmpty(year) || StringUtils.isEmpty(month)){ return 0; } // 校验当前月电价设置是否已存在,不存在则新增,存在则更新 - EmsEnergyPriceConfig priceConfig = emsEnergyPriceConfigMapper.getConfigListByYearAndMonth(year,month); + EmsEnergyPriceConfig priceConfig = emsEnergyPriceConfigMapper.getConfigListByYearAndMonth(siteId,year,month); if (priceConfig != null){ return 0; } else { @@ -214,9 +215,15 @@ public class EmsEnergyPriceConfigServiceImpl implements IEmsEnergyPriceConfigSer int currentMonth = LocalDate.now().getMonthValue(); int currentYear = LocalDate.now().getYear(); - List timeRanges = emsEnergyPriceConfigMapper.getTimeRangeByDate(currentYear,currentMonth); + List siteIds = emsSiteSettingMapper.getAllSiteId(); + if (siteIds == null || siteIds.size() == 0) { + return; + } + for (String siteId : siteIds) { + List timeRanges = emsEnergyPriceConfigMapper.getTimeRangeByDate(siteId,currentYear,currentMonth); + String key = RedisKeyConstants.ENERGY_PRICE_TIME + siteId + "_" + currentYear + currentMonth; + redisCache.setCacheObject(key,timeRanges, 31, TimeUnit.DAYS); + } - String key = RedisKeyConstants.ENERGY_PRICE_TIME + currentYear + currentMonth; - redisCache.setCacheObject(key,timeRanges, 31, TimeUnit.DAYS); } } diff --git a/ems-system/src/main/resources/mapper/ems/EmsEnergyPriceConfigMapper.xml b/ems-system/src/main/resources/mapper/ems/EmsEnergyPriceConfigMapper.xml index e27b431..99bb6c9 100644 --- a/ems-system/src/main/resources/mapper/ems/EmsEnergyPriceConfigMapper.xml +++ b/ems-system/src/main/resources/mapper/ems/EmsEnergyPriceConfigMapper.xml @@ -6,6 +6,7 @@ + @@ -20,19 +21,19 @@ - select id, year, month, peak, high, flat, valley, create_by, create_time, update_by, update_time, remark from ems_energy_price_config + select id, site_id, year, month, peak, high, flat, valley, create_by, create_time, update_by, update_time, remark from ems_energy_price_config @@ -44,6 +45,7 @@ insert into ems_energy_price_config + site_id, year, month, peak, @@ -57,6 +59,7 @@ remark, + #{siteId}, #{year}, #{month}, #{peak}, @@ -74,6 +77,7 @@ update ems_energy_price_config + site_id = #{siteId}, year = #{year}, month = #{month}, peak = #{peak}, @@ -104,6 +108,9 @@ year = #{currentYear} + + and site_id = #{siteId} + @@ -111,6 +118,7 @@ useGeneratedKeys="true" keyProperty="id"> INSERT INTO ems_energy_price_config ( id, + site_id, year, month, peak, @@ -124,6 +132,7 @@ remark ) VALUES ( #{id}, + #{siteId}, #{year}, #{month}, #{peak}, @@ -145,7 +154,8 @@ @@ -155,7 +165,8 @@ t2.end_time as endTime from ems_energy_price_config t left join ems_price_time_config t2 on t.id = t2.price_id - where t.`year` = #{currentYear} + where t.site_id = #{siteId} + and t.`year` = #{currentYear} and t.`month` = #{currentMonth} \ No newline at end of file diff --git a/ems-system/src/main/resources/mapper/ems/EmsSiteSettingMapper.xml b/ems-system/src/main/resources/mapper/ems/EmsSiteSettingMapper.xml index b7dadf6..bf2424a 100644 --- a/ems-system/src/main/resources/mapper/ems/EmsSiteSettingMapper.xml +++ b/ems-system/src/main/resources/mapper/ems/EmsSiteSettingMapper.xml @@ -147,4 +147,8 @@ and es.site_id = #{siteId} + + \ No newline at end of file