package jnpf.attendance.service;

import jnpf.entity.attendance.FtbAttendanceDailyRule;
import jnpf.model.attendance.vo.DailyRuleResultVo;

import java.util.List;

public abstract class RuleProcessor {
    protected RuleProcessor nextRuleProcessor;
    public RuleProcessor setNext(RuleProcessor nextRuleProcessor) {
        this.nextRuleProcessor=nextRuleProcessor;
        return nextRuleProcessor;
    }

    /**
     * 获取下一个规则
     * @return 下一个规则
     */
    public RuleProcessor getNext(){
        return nextRuleProcessor;
    }

    /**
     * 执行规则生成
     * @param hisDailyRules 历史规则
     * @param currDailyRule 当前新增规则
     * @param resultList 异常结果响应
     */
    public abstract void ruleArrangementHandle(List<FtbAttendanceDailyRule> hisDailyRules, List<FtbAttendanceDailyRule> currDailyRule, List<DailyRuleResultVo> resultList);
}
