package kcg.faics.tg.service.impl;

import java.util.List;

import kcg.faics.tg.vo.FerrySearchVO;
import kcg.faics.tg.vo.FerryVO;

import org.springframework.stereotype.Repository;

import egovframework.rte.psl.dataaccess.EgovAbstractMapper;

/**
 * 국제여객선 관련 Mapper 클래스.
 * 
 * @author kimnomin
 *
 */
@Repository("ferryMapper")
public class FerryMapper extends EgovAbstractMapper {
	
	/**
	 * 국제여객선 정보를 반환한다.
	 * 
	 * @param vo
	 *            국제여객선 VO
	 * @return 국제여객선 정보
	 * @throws Exception
	 *             기본 예외 처리
	 */
	public FerryVO select(final FerryVO vo) throws Exception {
		return selectOne("Ferry.select", vo);
	}
	
	/**
	 * 국제여객선 목록을 반환한다.
	 * 
	 * @param searchVO
	 *            검색조건 VO
	 * @return 치안대상 목록
	 */
	public List<FerryVO> selectList(final FerrySearchVO searchVO) {
		return selectList("Ferry.selectList", searchVO);
	}
	
	/**
	 * 국제여객선 정보를 입력한다.
	 * 
	 * @param vo
	 *            입력할 국제여객선 VO
	 * @return <code>1</code> 성공, <code>0</code> 실패
	 */
	public int insert(final FerryVO vo) {
		return insert("Ferry.insert", vo);
	}
	
	/**
	 * 국제여객선 정보를 삭제한다.
	 * 
	 * @param vo
	 *            국제여객선 VO
	 * @return <code>1</code>성공, <code>0</code>실패
	 * @throws Exception
	 *             기본 예외 처리
	 */
	public int delete(final FerryVO vo) throws Exception {
		return delete("Ferry.delete", vo);
	}

	/**
	 * 국제여객선 정보를 수정한다.
	 * 
	 * @param vo
	 *            국제여객선 VO
	 * @return <code>1</code>성공, <code>0</code>실패
	 * @throws Exception
	 *             기본 예외 처리
	 */
	public int update(final FerryVO vo) throws Exception {
		return update("Ferry.update", vo);
	}
	
	/**
	 * SER_NO의 최대값을 반환한다.
	 * 
	 * @param vo
	 *            국제여객선 VO
	 * @return SER_NO 최대 값
	 * @throws Exception
	 *             기본 예외 처리
	 */
	public int selectMaxSerNo(final FerryVO vo) throws Exception {
		return selectOne("Ferry.selectMaxSerNo", vo);
	}
}
