package com.bonus.sgzb.base.service;

import com.bonus.sgzb.base.domain.RepairApplyRecord;
import com.bonus.sgzb.base.domain.RepairTask;
import com.bonus.sgzb.base.domain.RepairTaskDetails;
import com.bonus.sgzb.base.domain.vo.DictVo;
import com.bonus.sgzb.common.core.web.domain.AjaxResult;
import com.bonus.sgzb.system.api.domain.SysUser;

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

/**
 * @author c liu
 * @date 2023/12/11
 */
public interface RepairService {

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

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

    /**
     * 新增维修记录
     * @param bean
     * @return
     */
    AjaxResult submitRepairApply(RepairApplyRecord bean);

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

    /**
     * 完成维修
     * @param ids
     * @return
     */
    int completeRepair(ArrayList<Long> ids);

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

    /**
     * 提交审核
     * @param taskList
     * @return
     */
    AjaxResult endRepairTask(List<RepairTask> taskList);

    /**
     * 根据value获取字典数据
     * @param value
     * @return
     */
    List<DictVo> getDicSelect(String value);

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