package com.njcn.device.pms.mapper.majornetwork;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
import com.njcn.device.pms.pojo.dto.GeneratrixAndPowerStationDTO;
import com.njcn.device.pms.pojo.dto.GeneratrixAndPowerStationSonDTO;
import com.njcn.device.pms.pojo.dto.PmsGeneratrixDTO;
import com.njcn.device.pms.pojo.param.ConditionParam;
import com.njcn.device.pms.pojo.param.PmsGeneratrixParam;
import com.njcn.device.pms.pojo.po.GeneratrixWire;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * pms-device
 *
 * @author cdf
 * @date 2022/10/26
 */
@Mapper
public interface PmsGeneratrixWireMapper extends MppBaseMapper<GeneratrixWire> {


    /**
     * 获取母线信息
     *
     * @param pmsGeneratrixParam 入参
     * @return 母线信息
     */
    List<PmsGeneratrixDTO> getGeneratrixInfo(@Param("pmsGeneratrixParam") PmsGeneratrixParam pmsGeneratrixParam);

    /**
     * 获取母线与电站关联信息
     *
     * @param param 条件参数
     * @return java.util.List<com.njcn.device.pms.pojo.dto.GeneratrixAndPowerStationDTO>
     * @author yzh
     * @date 2022/11/3
     */
    List<GeneratrixAndPowerStationDTO> getGeneratrixAndPowerStationInfo(@Param("param") PmsGeneratrixParam param);
    /**
     * @Description: 普测计划页面调用根据条件查询母线信息
     * @Param: [data, param]
     * @return: java.util.List<com.njcn.device.pms.pojo.dto.GeneratrixAndPowerStationDTO>
     * @Author: clam
     * @Date: 2022/12/5
     */
    List<GeneratrixAndPowerStationSonDTO> getGeneratrixByCondition(@Param("orgList")List<String> data, @Param("param") ConditionParam param);

    /**
     * 根据单位分组线路
     * @author cdf
     * @date 2023/5/11
     */
    List<GeneratrixWire> getGeneratrixWireList();

    /**
     * @Description: 监测点和线路关系
     * @param
     * @return: java.util.List<com.njcn.device.pms.pojo.po.GeneratrixWire>
     * @Author: wr
     * @Date: 2023/10/11 13:57
     */
    List<GeneratrixWire> getWireAndMonitor();
}
