package com.hfkj.service.gas;

import com.hfkj.entity.BsGasClassGroupTask;
import com.hfkj.model.GasClassGroupTaskDataCount;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * 加油站班组任务
 * @author hurui
 */
public interface BsGasClassGroupTaskService {

    /**
     * 开始班组
     * @param gasId  油站id
     * @param gasClassGroupId 班组id
     */
    void startGroupTask(Long gasId, Long gasClassGroupId);

    /**
     * 结束班组任务
     * @param gasId 油站id
     */
    void endGroupTask(Long gasId);

    /**
     * 交接班组任务
     * @param gasId  油站id
     * @param gasClassGroupId 班组id
     */
    void swapGroupTask(Long gasId, Long gasClassGroupId);

    /**
     * 统计班组任务数据
     * @param groupTaskId
     * @return
     */
    GasClassGroupTaskDataCount countGroupTaskData(Long gasId, Integer classNum, Long groupTaskId, Integer status, Date startTime, Date endTime);

    /**
     * 编辑班组任务
     * @param gasClassGroupTask
     */
    void editGroupTask(BsGasClassGroupTask gasClassGroupTask);

    /**
     * 根据id查询详情
     * @param groupTaskId
     * @return
     */
    BsGasClassGroupTask getDetailById(Long groupTaskId);

    /**
     * 查询班组任务列表
     * @param param
     * @return
     */
    List<BsGasClassGroupTask> getGroupTaskList(Map<String, Object> param);

    /**
     * 跟油站 获取当前班组任务
     * @param merId
     * @return
     */
    BsGasClassGroupTask getCurrentTaskByMerId(Long merId);

}
