package com.sw.mes.sap.reconciliation.framework;

/**
 * 交叉对账逻辑
 *
 * @Author：wanjia
 * @Date：2024/2/25 18:51
 */
@FunctionalInterface
public interface CrossComparison<R, T> {

    /**
     * 根据中间结果进行对账，这边会等到几个中间结果都取到后，才调用此方法
     *
     * @param data               扫表扫出来的对象，如果没有采用扫表的模式，则直接传null即可
     * @param intermediateResult 中间结果
     * @return 对账结果
     */
    ReconResult comparison(R data, IntermediateResult<T>... intermediateResult);

}
