package org.wcs.business.stock.intf;

import org.wcs.model.po.app.AppStockSingleTask;

/**
 * 独立任务执行事件
 */
public interface IStockSingleTaskExecuteEvent {

    /**
     * 任务开始
     * @param appStockSingleTask 开始的任务
     * @param message 信息
     * @return 执行结果
     */
    String taskStart(AppStockSingleTask appStockSingleTask, String message);

    /**
     * 任务完成
     * @param appStockSingleTask 开始的任务
     * @param message 信息
     * @return 执行结果
     */
    String taskFinish(AppStockSingleTask appStockSingleTask, String message);

    /**
     * 任务异常
     * @param appStockSingleTask 开始的任务
     * @param message 信息
     * @return 执行结果
     */
    String taskError(AppStockSingleTask appStockSingleTask, String message);

    /**
     * 任务取消
     * @param appStockSingleTask 开始的任务
     * @param message 信息
     * @return 执行结果
     */
    String taskCancel(AppStockSingleTask appStockSingleTask, String message);

    /**
     * 任务重复入库
     * @param appStockSingleTask 开始的任务
     * @param message 信息
     * @return 执行结果
     */
    String taskDoubleIn(AppStockSingleTask appStockSingleTask, String message);

    /**
     * 任务空出库
     * @param appStockSingleTask 开始的任务
     * @param message 信息
     * @return 执行结果
     */
    String taskEmptyOut(AppStockSingleTask appStockSingleTask, String message);

    /**
     * 任务超时
     * @param appStockSingleTask 开始的任务
     * @param message 信息
     * @return 执行结果
     */
    String taskTimeOut(AppStockSingleTask appStockSingleTask, String message);



}
