BudgetDimFunctionDetailServiceI.java 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. package cn.com.lzt.budget.dimfunction.service;
  2. import cn.com.lzt.budget.costbreakdownmeasure.entity.BudgetCostBreakdownMeasureEntity;
  3. import cn.com.lzt.budget.data.dto.BudgetRedisCellData;
  4. import cn.com.lzt.budget.dimfunction.entity.BudgetDimFunctionDetailEntity;
  5. import cn.com.lzt.budget.dimfunction.entity.BudgetDimFunctionEntity;
  6. import cn.com.lzt.budget.instmeasure.entity.BudgetInstMeasureEntity;
  7. import org.jeecgframework.core.common.service.CommonService;
  8. import java.io.Serializable;
  9. import java.math.BigDecimal;
  10. import java.util.List;
  11. public interface BudgetDimFunctionDetailServiceI extends CommonService{
  12. public void delete(BudgetDimFunctionDetailEntity entity) throws Exception;
  13. public Serializable save(BudgetDimFunctionDetailEntity entity) throws Exception;
  14. public void saveOrUpdate(BudgetDimFunctionDetailEntity entity) throws Exception;
  15. public BigDecimal calc(String functionId, String functionDetailId, String currentMeasureId, String currentEntityId, String currentPeriodDetailId, boolean deep, boolean update, boolean isActual);
  16. /**
  17. * 后台计算 单元格改动后影响
  18. * @param instMeasureEntity
  19. */
  20. public void backCalcOneInstMeasure(BudgetInstMeasureEntity instMeasureEntity);
  21. /**
  22. * 返回维度公式 依赖的实例
  23. * @param detailEntity 维度公式实例
  24. * @param measureId 指标维度
  25. * @param entityId 预算实体
  26. * @param currentPeriodDetailId 时间维度
  27. * @return
  28. */
  29. public List<BudgetInstMeasureEntity> getTempsheetDependents(BudgetDimFunctionDetailEntity detailEntity,String measureId, String entityId,String currentPeriodDetailId);
  30. /**
  31. * 成本总表维度公式依赖
  32. * @param detailEntity
  33. * @param measureId
  34. * @param entityId
  35. * @return
  36. */
  37. public List<BudgetCostBreakdownMeasureEntity> getCostbreakdownDependents(BudgetDimFunctionDetailEntity detailEntity, String measureId, String entityId);
  38. /**
  39. * 递归获取所有依赖
  40. * @return
  41. */
  42. public List<BudgetRedisCellData> getDeepDependents(String functionId, String currentMeasureId, String currentEntityId, String currentPeriodDetailId);
  43. public List<BudgetRedisCellData> getDeepDependents(BudgetDimFunctionEntity dimFunctionEntity,String currentMeasureId, String currentEntityId,String currentPeriodDetailId);
  44. public BigDecimal calcExcelFormula(BudgetInstMeasureEntity instMeasureEntity, boolean deep,boolean isActual);
  45. public BigDecimal calcExcelFormula(BudgetCostBreakdownMeasureEntity breakdownMeasureEntity,boolean isActual);
  46. public void removeCache();
  47. }