package kcg.faics.inter.service;

/** 
 * ArrestService.java
 * @author 이영호 
 * @since 2017. 3. 17.
 *
 *  수정일				 수정자			 수정내용
 *  -------------	--------	---------------------------
 *  2017. 3. 17. 	이영호			 최초생성
 * 
 */

import java.util.HashMap;
import java.util.List;

import kcg.faics.arrest.vo.ArrestCountVO;
import kcg.faics.cmmn.vo.CodeVO;
import kcg.faics.inter.vo.InternationalSearchVO;
import kcg.faics.inter.vo.InternationalVO;

public interface InternationalService {

	/**
	 * 주소 대분류를 반환한다.
	 * 
	 * @param 	 
	 * @return 소속 1 목록
	 * @throws Exception
	 *             기본 예외 처리
	 */
	List<CodeVO> getAddressAreaList(String area) throws Exception;
	
	/**
	 * 국제어선 나포정보를 등록한다.
	 * 
	 * @param internationalVo
	 * @return Map("result") = 1 : 성공, <else> : 실패
	 * @throws Exception
	 *             기본 예외 처리
	 */
	HashMap<String, Object> insert(InternationalVO internationalVo) throws Exception;
	
	/**
	 * 국제어선 나포정보를 수정한다.
	 * 
	 * @param internationalVo
	 * @return Map("result") = 1 : 성공, <else> : 실패
	 * @throws Exception
	 *             기본 예외 처리
	 */
	HashMap<String, Object> update(InternationalVO internationalVo) throws Exception;
	
	/**
	 * 국제어선 나포정보를 삭제한다.
	 * 
	 * @param internationalVo
	 * @return Map("result") = 1 : 성공, <else> : 실패
	 * @throws Exception
	 *             기본 예외 처리
	 */
	HashMap<String, Object> delete(InternationalVO internationalVo) throws Exception;
	
	/**
	 * 국제어선 나포정보를 조회한다.
	 * 
	 * @param internationalVo
	 * @return Map("result") = 1 : 성공, <else> : 실패
	 * @throws Exception
	 *             기본 예외 처리
	 */
	InternationalVO select(InternationalVO internationalVo) throws Exception;
	
	/**
	 * 국제어선 나포정보 목록을 전체조회한다.
	 * 
	 * @param internationalVo
	 * @return Map("result") = 1 : 성공, <else> : 실패
	 * @throws Exception
	 *             기본 예외 처리
	 */
	List<InternationalVO> getArrestListAll(InternationalSearchVO searchVO) throws Exception;
	
	/**
	 * 국제어선 나포정보 목록을 조회(검색)한다.
	 * 
	 * @param internationalVo
	 * @return Map("result") = 1 : 성공, <else> : 실패
	 * @throws Exception
	 *             기본 예외 처리
	 */
	List<InternationalVO> getArrestList(InternationalSearchVO searchVO) throws Exception;
	
	/**
	 * 국제어선 나포정보 목록을 조회(검색)한다.
	 * 
	 * @param internationalVo
	 * @return Map("result") = 1 : 성공, <else> : 실패
	 * @throws Exception
	 *             기본 예외 처리
	 */
	List<InternationalVO> getArrestListExcel(InternationalSearchVO searchVO) throws Exception;
	
	/**
	 * 국제어선 나포정보 목록을 조회(검색)한다.
	 * 
	 * @param internationalVo
	 * @return Map("result") = 1 : 성공, <else> : 실패
	 * @throws Exception
	 *             기본 예외 처리
	 */
	List<HashMap<String, Object>> getArrestListExcelHashMap(InternationalSearchVO searchVO) throws Exception;
	
	/**
	 * 국제어선 나포정보 목록 집계정보를  조회한다.
	 * 
	 * @param internationalVo
	 * @return Map("result") = 1 : 성공, <else> : 실패
	 * @throws Exception
	 *             기본 예외 처리
	 */
	InternationalVO getArrestListCount(InternationalSearchVO searchVO) throws Exception;
	
	/**
	 * 국제어선 나포정보 목록 집계정보를  조회한다.
	 * 
	 * @param internationalVo
	 * @return Map("result") = 1 : 성공, <else> : 실패
	 * @throws Exception
	 *             기본 예외 처리
	 */
	InternationalVO getArrestListCountExcel(InternationalSearchVO searchVO) throws Exception;
	
	/**
	 * 국제어선 나포정보 목록 전체 집계정보를  조회한다.
	 * 
	 * @param internationalVo
	 * @return Map("result") = 1 : 성공, <else> : 실패
	 * @throws Exception
	 *             기본 예외 처리
	 */
	ArrestCountVO getArrestListAllCount(InternationalSearchVO searchVO) throws Exception;
}
