package com.changhong.epc.count.service.count.data.condition;
|
|
import com.changhong.epc.bean.tenant.norm.extend.AppStanderExtend;
|
import com.changhong.epc.count.service.count.execution.ICounter;
|
import com.changhong.epc.count.service.count.model.AmountKey;
|
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* 补助标准迭代器
|
* @ClassName: ICountConditionIter
|
* @author [九鼎联合科技]
|
* @date 2017年8月30日 下午10:14:38
|
* @param <A> 单元实体
|
* @param <T> 参数实体
|
* @param <P> 参数实体
|
*/
|
public interface ICountConditionIter<A, T, P> {
|
|
/**
|
* 添加迭代数据源
|
* @param data
|
*/
|
ICountConditionIter<A, T, P> setDataSource(List<T> data);
|
|
/**
|
* 组迭代
|
* @return
|
*/
|
void initGroup();
|
Boolean hasGropNext();
|
T getCurrGroup();
|
void groupNext();
|
void gropReset();
|
|
/**
|
* 行迭代
|
* @return
|
*/
|
void initRow();
|
Boolean hasRowNext();
|
void rowNext();
|
List<A> cruuRow();
|
|
/**
|
* 列迭代
|
* @return
|
*/
|
void initCol();
|
Boolean hasColNext();
|
A colNext();
|
A cruuCol();
|
|
/**
|
* 获取计算执行器
|
* · 普通计算
|
* · 系统变量计算
|
* @return
|
*/
|
ICounter<A, P> getExeCounter();
|
ICounter<A, P> getExeCounter(AppStanderExtend appStanderExtend);
|
|
/**
|
* 返回记录
|
* @return
|
*/
|
Map<AmountKey, String> getRecord();
|
}
|