l3能源成本分摊(部分完成留存)

This commit is contained in:
2025-12-07 17:23:47 +08:00
parent b6328a94da
commit 59951b77c3
100 changed files with 14350 additions and 847 deletions

View File

@@ -2,7 +2,12 @@ package com.klp.ems.service;
import com.klp.ems.domain.EmsEnergyRate;
import com.klp.ems.domain.vo.EmsEnergyRateVo;
import com.klp.ems.domain.vo.EmsRateTierVo;
import com.klp.ems.domain.vo.EmsRateTimePeriodLinkVo;
import com.klp.ems.domain.bo.EmsEnergyRateBo;
import com.klp.ems.domain.bo.EmsRateTierBo;
import com.klp.ems.domain.bo.EmsRateTimePeriodLinkBo;
import com.klp.ems.domain.bo.EmsRateTierPeriodLinkBo;
import com.klp.common.core.page.TableDataInfo;
import com.klp.common.core.domain.PageQuery;
@@ -10,7 +15,8 @@ import java.util.Collection;
import java.util.List;
/**
* 能源费率currency 为 INT0=CNY,1=USD,2=EURService接口
* 能源费率Service接口
* 支持:固定费率、峰谷分时、阶梯电价、峰谷+阶梯组合
*
* @author Joshi
* @date 2025-09-28
@@ -18,32 +24,62 @@ import java.util.List;
public interface IEmsEnergyRateService {
/**
* 查询能源费率currency 为 INT0=CNY,1=USD,2=EUR
* 查询能源费率
*/
EmsEnergyRateVo queryById(Long energyRateId);
/**
* 查询能源费率currency 为 INT0=CNY,1=USD,2=EUR列表
* 查询能源费率列表
*/
TableDataInfo<EmsEnergyRateVo> queryPageList(EmsEnergyRateBo bo, PageQuery pageQuery);
/**
* 查询能源费率currency 为 INT0=CNY,1=USD,2=EUR列表
* 查询能源费率列表
*/
List<EmsEnergyRateVo> queryList(EmsEnergyRateBo bo);
/**
* 新增能源费率(currency 为 INT0=CNY,1=USD,2=EUR
* 新增能源费率(包括梯度和时段费率
*/
Boolean insertByBo(EmsEnergyRateBo bo);
/**
* 修改能源费率(currency 为 INT0=CNY,1=USD,2=EUR
* 修改能源费率(包括梯度和时段费率
*/
Boolean updateByBo(EmsEnergyRateBo bo);
/**
* 校验并批量删除能源费率(currency 为 INT0=CNY,1=USD,2=EUR信息
* 删除能源费率(级联删除梯度和时段费率)
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
/**
* 获取费率的梯度费率列表
*/
List<EmsRateTierVo> getRateTiers(Long energyRateId);
/**
* 获取费率的时段费率列表
*/
List<EmsRateTimePeriodLinkVo> getRateTimePeriods(Long energyRateId);
/**
* 保存梯度费率返回保存后的梯度列表包含tierId
*/
List<EmsRateTierVo> saveTiers(Long energyRateId, List<EmsRateTierBo> tiers);
/**
* 保存时段费率
*/
Boolean saveTimePeriods(Long energyRateId, List<EmsRateTimePeriodLinkBo> timePeriods);
/**
* 获取梯度的峰谷时段费率(用于梯度+峰谷组合模式)
*/
List<EmsRateTierPeriodLinkBo> getTierPeriodLinks(Long tierId);
/**
* 保存梯度-时段关联费率(用于梯度+峰谷组合模式)
*/
Boolean saveTierPeriodLinks(Long tierId, List<EmsRateTierPeriodLinkBo> tierPeriodLinks);
}