package incheon.ags.uis.link.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;

import org.egovframe.rte.psl.dataaccess.util.EgovMap;
import incheon.ags.uis.link.vo.AgsUisLinkSearchVO;
import incheon.ags.uis.link.vo.AgsUisLinkVO;
import incheon.com.config.annotation.MainDB;

/**
 * 시설물 연계 관리 Mapper
 * @author jiwon
 * @since 2025-12-29
 */
@Mapper
@MainDB
public interface AgsUisLinkMapper {

    /**
     * 시설물 연계 목록 조회
     * @param searchVO 검색 조건
     * @return 목록
     */
    List<EgovMap> selectLinkList(AgsUisLinkSearchVO searchVO);

    /**
     * 시설물 연계 목록 총 개수
     * @param searchVO 검색 조건
     * @return 총 개수
     */
    int selectLinkListTotCnt(AgsUisLinkSearchVO searchVO);

    /**
     * 시설물 연계 상세 조회
     * @param linkId 연계 ID
     * @return 상세 정보
     */
    AgsUisLinkVO selectLinkDetail(Long linkId);

    /**
     * 시설물 연계 등록
     * @param vo 연계 정보
     */
    void insertLink(AgsUisLinkVO vo);

    /**
     * 시설물 연계 수정
     * @param vo 연계 정보
     */
    void updateLink(AgsUisLinkVO vo);

    /**
     * 시설물 연계 삭제
     * @param linkId 연계 ID
     */
    void deleteLink(Long linkId);
}