package com.bonus.material.repair.service;


import com.bonus.common.core.web.domain.AjaxResult;
import com.bonus.material.repair.domain.RepairApplyRecord;
import com.bonus.material.repair.domain.RepairTask;
import com.bonus.material.repair.domain.RepairTaskDetails;
import com.bonus.material.repair.domain.vo.RepairDeviceListVo;
import com.bonus.material.repair.domain.vo.RepairDeviceVO;
import com.bonus.system.api.domain.SysUser;

import java.util.ArrayList;
import java.util.List;

/**
 * @author syruan
 */
public interface RepairService {

    /**
     * 获取维修任务列表
     * @param bean
     * @return
     */
    List<RepairTask> getRepairTaskList(RepairTask bean);

    /**
     * 获取维修详细列表
     */
    List<RepairDeviceListVo> getRepairMaTypeList(RepairTaskDetails bean);

    /**
     * 提交维修记录
     */
    AjaxResult submitRepairApply(RepairApplyRecord bean);

    /**
     * 快捷维修记录
     * @param list
     * @return
     */
    AjaxResult fastRepairApply(List<RepairTaskDetails> list);

    AjaxResult batchRepairApply(List<RepairDeviceVO> repairDeviceVOList);

    /**
     * 维修明细--批量审核--更新明细status
     */
    int completeRepair(ArrayList<Long> ids);

    /**
     * 查询维修人员列表
     * @return
     */
    List<SysUser> selectUserList();

    /**
     * 提交审核
     * @param taskList 任务信息集合
     */
    AjaxResult endRepairTask(List<RepairTask> taskList);

    AjaxResult rejectRepair(List<Long> taskList);


    /**
     * 导出维修列表
     * @param bean
     * @return
     */
    List<RepairTask> exportRepairTaskList(RepairTask bean);
}
