package cn.com.lzt.budget.dimfunction.service; import cn.com.lzt.budget.costbreakdownmeasure.entity.BudgetCostBreakdownMeasureEntity; import cn.com.lzt.budget.data.dto.BudgetRedisCellData; import cn.com.lzt.budget.dimfunction.entity.BudgetDimFunctionDetailEntity; import cn.com.lzt.budget.dimfunction.entity.BudgetDimFunctionEntity; import cn.com.lzt.budget.instmeasure.entity.BudgetInstMeasureEntity; import org.jeecgframework.core.common.service.CommonService; import java.io.Serializable; import java.math.BigDecimal; import java.util.List; public interface BudgetDimFunctionDetailServiceI extends CommonService{ public void delete(BudgetDimFunctionDetailEntity entity) throws Exception; public Serializable save(BudgetDimFunctionDetailEntity entity) throws Exception; public void saveOrUpdate(BudgetDimFunctionDetailEntity entity) throws Exception; public BigDecimal calc(String functionId, String functionDetailId, String currentMeasureId, String currentEntityId, String currentPeriodDetailId, boolean deep, boolean update, boolean isActual); /** * 后台计算 单元格改动后影响 * @param instMeasureEntity */ public void backCalcOneInstMeasure(BudgetInstMeasureEntity instMeasureEntity); /** * 返回维度公式 依赖的实例 * @param detailEntity 维度公式实例 * @param measureId 指标维度 * @param entityId 预算实体 * @param currentPeriodDetailId 时间维度 * @return */ public List getTempsheetDependents(BudgetDimFunctionDetailEntity detailEntity,String measureId, String entityId,String currentPeriodDetailId); /** * 成本总表维度公式依赖 * @param detailEntity * @param measureId * @param entityId * @return */ public List getCostbreakdownDependents(BudgetDimFunctionDetailEntity detailEntity, String measureId, String entityId); /** * 递归获取所有依赖 * @return */ public List getDeepDependents(String functionId, String currentMeasureId, String currentEntityId, String currentPeriodDetailId); public List getDeepDependents(BudgetDimFunctionEntity dimFunctionEntity,String currentMeasureId, String currentEntityId,String currentPeriodDetailId); public BigDecimal calcExcelFormula(BudgetInstMeasureEntity instMeasureEntity, boolean deep,boolean isActual); public BigDecimal calcExcelFormula(BudgetCostBreakdownMeasureEntity breakdownMeasureEntity,boolean isActual); public void removeCache(); }