package com.prolog.cs.biz.inbound.domain.executor;

import com.prolog.cs.biz.inbound.service.impl.processor.enums.ConclusionEnum;
import com.prolog.cs.biz.inbound.service.impl.processor.enums.RcvTypeStrategyEnum;
import com.prolog.cs.biz.inbound.service.impl.processor.enums.RqcStrategyEnum;
import com.prolog.cs.biz.inbound.service.impl.processor.handler.TaskHandler;

import java.util.Map;

public interface RcvExecutor {

	/**
	 * 任务执行
	 * 
	 * @param dataList 待处理数据
	 * @param handler  执行器
	 * @param rcvType  收货类型
	 * @return
	 */
	Object excuteTask(Map<String, Object> dataMapList, TaskHandler handler, RcvTypeStrategyEnum rcvType,
			RqcStrategyEnum rqcStrategy, ConclusionEnum conclusionEnum,boolean isAuto);

	/**
	 * 获取主体策略
	 */
	Object getSubjectStrategy();
	
}
