package com.sundata.internalevaluation.calc.calcUnit; import com.sundata.internalevaluation.calc.model.CalcResult; import com.sundata.internalevaluation.calc.model.CalcUnit; import com.sundata.internalevaluation.calc.model.finals.CalcType; import java.util.List; import java.util.Map; /** * Created by IntelliJ IDEA. * * @author JoeLazy * @date 2025-02-12 10:44:34 * @description: 查询逻辑计算单元 */ public class QueryLogicCalcUnit extends CalcUnit { /** * 创建数据单元的绝对对象,对象必须包含如下参数 * * @param calcCode 计算对象编号 * @param calcName 计算对象名称 * @param calcType 计算类型 * @param initContext 计算单元初始化参数 */ public QueryLogicCalcUnit(String calcCode, String calcName, CalcType calcType, Map initContext) { super(calcCode, calcName, calcType, initContext); } /** * 判断是否已经计算过数据了 * * @param calculateInstanceNumber 计算流水号 * @return 是否计算过 true 计算过 false 没有计算过 */ @Override public boolean isCalcFinished(String calculateInstanceNumber) { return false; } /** * 初始化计算结果的方法,如果已经计算过,在实现过程中,应当在此方法中根据计算流水号重新初始化 resultContext 结果对象,为其他依赖对象做准备 * 若明明计算过本单元但再次计算时没有初始化该对象,则计算依赖出现问题无法定位与处理 * * @param calculateInstanceNumber 计算流水号 */ @Override public void initResultContext(String calculateInstanceNumber) { } /** * 根据节点配置获取源节点; * * @return 所有源头节点 */ @Override public List getSourceCalcUnits() { return List.of(); } /** * 计算之后的方法,可实现为空 * * @param context */ @Override public void afterCalc(Map context) { } /** * 计算之前,可实现空 * * @param context */ @Override public void beforeCalc(Map context) { } /** * 必须实现的主体计算内容 * * @param thisResult 本计算单元的结果 * @param calculateInstanceNumber 计算流水号 * @param context 节点计算参数清单 * @param sourceResults 源头计算节点的结果 */ @Override public void calc(CalcResult thisResult, String calculateInstanceNumber, Map context, Map> sourceResults) { } }