package com.hdkj.lt.core.sys.dao;

import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

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

/**
 * @author lihao
 * @date 2025/6/26 10:51
 * @discription 线路图查询 mapper
 **/
@Mapper
public interface FhzgOrganSuffixMapper {

    /**
     * 通过故障Id或者线路Id查询地市简称
     * @param id
     * @param lineId
     * @return
     */
    String getOrganSuffixByFaultIdOrLineId(@Param("id") Long id, @Param("lineId") String lineId);

    /**
     * 通过计划Id或者线路Id查询地市简称
     * @param id
     * @param lineId
     * @return
     */
    String getOrganSuffixByPlanIdOrLineId(@Param("id") Long id, @Param("lineId") String lineId);

    /**
     * 通过配电光伏用户Id查询与故障相关的地市简称
     * @param customerId
     * @return
     */
    String getOrganSuffixFaultByCustomerId(@Param("customerId") String customerId);

    /**
     * 通过配电光伏用户Id查询与计划相关的地市简称
     * @param customerId
     * @return
     */
    String getOrganSuffixPlanByCustomerId(@Param("customerId") String customerId);

    /**
     * 通过故障方案Id查询地市简称
     * @param schemeId
     * @return
     */
    String getOrganSuffixFaultBySchemeId(@Param("schemeId") Long schemeId);

    /**
     * 通过计划方案Id查询地市简称
     * @param schemeId
     * @return
     */
    String getOrganSuffixByPlanSchemeId(@Param("schemeId") Long schemeId);

    /**
     * 通过开关设备Id或者线路Id查询地市简称
     * @param psrId
     * @param feeder
     * @return
     */
    String getOrganSuffixByPsrIdOrFeeder(@Param("psrId") String psrId, @Param("feeder") String feeder);

    @MapKey(value = "tab_suffix")
    List<Map<String, Object>> getOrganSuffixList(@Param("nameList") List<String> nameList);

    /**
     * 通过区县ISC_ORG_ID 查询表名后缀
     * @param maintOrg
     * @return
     */
    String getOrganSuffixByMaintOrg(@Param("maintOrg") String maintOrg);

    /**
     * 通过电站id查询表名后缀
     * @param stationId
     * @return
     */
    String getOrganSuffixByStationId(@Param("stationId") String stationId);
}
