package incheon.ags.por.mapper;

import java.util.List;

import incheon.ags.por.vo.PorBoardVO;
import incheon.ags.por.vo.PorNoticeVO;
import incheon.com.config.annotation.MainDB;

import org.egovframe.rte.psl.dataaccess.mapper.Mapper;

/**
 * 팝업공지 관리를 위한 데이터 접근 매퍼
 */
@org.egovframe.rte.psl.dataaccess.mapper.Mapper @incheon.com.config.annotation.MainDB
public interface PorNoticeMapper {

    /**
     * 팝업공지 게시목록을 조회한다.
     * @param PorNoticeVO - 조회할 정보가 담긴 PorNoticeVO
     * @return 게시물 목록
     * @exception Exception
     */
    public List<PorNoticeVO> selectPublishNoticePopupList(PorNoticeVO noticeVO) throws Exception;
    
    /**
     * 팝업공지 목록 건수를 조회한다.
     * @param PorNoticeVO - 조회할 정보가 담긴 PorNoticeVO
     * @return 건수
     * @exception Exception
     */
    public int selectNoticePopupListCount(PorNoticeVO noticeVO) throws Exception;
    
    /**
     * 팝업공지 목록을 조회한다.
     * @param PorNoticeVO - 조회할 정보가 담긴 PorNoticeVO
     * @return 게시물 목록
     * @exception Exception
     */
    public List<PorNoticeVO> selectNoticePopupList(PorNoticeVO noticeVO) throws Exception;
    
    /**
     * 팝업공지를 상세 조회한다.
     * @param PorNoticeVO - 조회할 정보가 담긴 PorNoticeVO
     * @return 게시물 목록
     * @exception Exception
     */
    public PorNoticeVO selectNoticePopup(PorNoticeVO noticeVO) throws Exception;
    
    /**
     * 팝업공지를 등록한다.
     * @param PorNoticeVO - 등록할 정보가 담긴 PorNoticeVO
     * @return 등록된 팝업공지 ID
     * @exception Exception
     */
    public int insertPopupNotice(PorNoticeVO noticeVO) throws Exception;
    
    /**
     * 팝업공지를 수정한다.
     * @param PorNoticeVO - 수정할 정보가 담긴 PorNoticeVO
     * @return 수정된 팝업공지 ID
     * @exception Exception
     */
    public int updatePopupNotice(PorNoticeVO noticeVO) throws Exception;
    
} 