package com.yfd.platform.modules.patroltask.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yfd.platform.modules.basedata.domain.SubstationDevice;
import com.yfd.platform.modules.patroltask.domain.ExaminePlan;

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

/**
 * <p>
 * 检修计划表 服务类
 * </p>
 *
 *
 * @since 2023-04-08
 */
public interface IExaminePlanService extends IService<ExaminePlan> {

    /**********************************
    * 用途说明: 根据Id查询关联信息
    * 参数说明 id
    * 参数说明 deviceLevel
    * 返回值说明: java.util.List<java.util.Map<java.lang.String,java.lang.Object>>
    ***********************************/
    List<Map<String, Object>> getBindInfoById(String id, String deviceLevel);

    /**********************************
    * 用途说明: 根据Id查询检修计划绑定点位
    * 参数说明 id 检修计划id
    * 返回值说明: java.util.List<com.yfd.platform.modules.basedata.domain.SubstationDevice>
    ***********************************/
    List<SubstationDevice> getBindExamineDevice(String id);

    /**********************************
    * 用途说明: 分页查询检修计划
    * 参数说明 page 分页参数
    * 参数说明 stationId 变电站id
    * 参数说明 configName 检修计划名称
    * 参数说明 bindStatus 绑定状态
    * 返回值说明: com.baomidou.mybatisplus.extension.plugins.pagination.Page<java.util.Map<java.lang.String,java.lang.Object>>
    ***********************************/
    Page<Map<String, Object>> getExaminePlanPage(Page<Map<String, Object>> page, String stationId, String configName, String bindStatus);
}
