QueryLogicCalcUnit.java 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. package com.sundata.internalevaluation.calc.calcUnit;
  2. import com.sundata.internalevaluation.calc.model.CalcResult;
  3. import com.sundata.internalevaluation.calc.model.CalcUnit;
  4. import com.sundata.internalevaluation.calc.model.finals.CalcType;
  5. import java.util.List;
  6. import java.util.Map;
  7. /**
  8. * Created by IntelliJ IDEA.
  9. *
  10. * @author JoeLazy
  11. * @date 2025-02-12 10:44:34
  12. * @description: 查询逻辑计算单元
  13. */
  14. public class QueryLogicCalcUnit extends CalcUnit {
  15. /**
  16. * 创建数据单元的绝对对象,对象必须包含如下参数
  17. *
  18. * @param calcCode 计算对象编号
  19. * @param calcName 计算对象名称
  20. * @param calcType 计算类型
  21. * @param initContext 计算单元初始化参数
  22. */
  23. public QueryLogicCalcUnit(String calcCode, String calcName, CalcType calcType, Map<String, Object> initContext) {
  24. super(calcCode, calcName, calcType, initContext);
  25. }
  26. /**
  27. * 判断是否已经计算过数据了
  28. *
  29. * @param calculateInstanceNumber 计算流水号
  30. * @return 是否计算过 true 计算过 false 没有计算过
  31. */
  32. @Override
  33. public boolean isCalcFinished(String calculateInstanceNumber) {
  34. return false;
  35. }
  36. /**
  37. * 初始化计算结果的方法,如果已经计算过,在实现过程中,应当在此方法中根据计算流水号重新初始化 resultContext 结果对象,为其他依赖对象做准备
  38. * 若明明计算过本单元但再次计算时没有初始化该对象,则计算依赖出现问题无法定位与处理
  39. *
  40. * @param calculateInstanceNumber 计算流水号
  41. */
  42. @Override
  43. public void initResultContext(String calculateInstanceNumber) {
  44. }
  45. /**
  46. * 根据节点配置获取源节点;
  47. *
  48. * @return 所有源头节点
  49. */
  50. @Override
  51. public List<CalcUnit> getSourceCalcUnits() {
  52. return List.of();
  53. }
  54. /**
  55. * 计算之后的方法,可实现为空
  56. *
  57. * @param context
  58. */
  59. @Override
  60. public void afterCalc(Map<String, Object> context) {
  61. }
  62. /**
  63. * 计算之前,可实现空
  64. *
  65. * @param context
  66. */
  67. @Override
  68. public void beforeCalc(Map<String, Object> context) {
  69. }
  70. /**
  71. * 必须实现的主体计算内容
  72. *
  73. * @param thisResult 本计算单元的结果
  74. * @param calculateInstanceNumber 计算流水号
  75. * @param context 节点计算参数清单
  76. * @param sourceResults 源头计算节点的结果
  77. */
  78. @Override
  79. public void calc(CalcResult<String, Object> thisResult, String calculateInstanceNumber, Map<String, Object> context, Map<CalcUnit, CalcResult<String, Object>> sourceResults) {
  80. }
  81. }