 package kcg.faics.arrest.service.impl;

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

import kcg.faics.arrest.vo.ArrestCountVO;
import kcg.faics.arrest.vo.ArrestSearchVO;
import kcg.faics.arrest.vo.ArrestVO;
import kcg.faics.board.vo.BoardSearchVO;
import kcg.faics.board.vo.BoardVO;
import kcg.faics.cmmn.vo.CodeVO;
import kcg.faics.member.vo.MemberSearchVO;
import kcg.faics.member.vo.MemberVO;

import org.springframework.stereotype.Repository;

import egovframework.rte.psl.dataaccess.EgovAbstractMapper;


/** 
 * ArrestMapper.java 
 * @author 이영호 
 * @since 2017. 3. 14.
 *
 *  	 수정일                     수정자                                       수정내용
 *  -------------	--------	---------------------------
 *  2017. 3. 16. 	이영호			   최초생성
 * 
 */
@Repository("arrestMapper")
public class ArrestMapper extends EgovAbstractMapper {
	
	
	
	
	
    /**
	 * 중국어선 나포정보를 등록한다.
	 * 
	 * @param arrestVO 게시판 내용 구성 객체
	 * @return 글 총 갯수
	 * @throws Exception 기본 예외 처리
	 */
	public HashMap<String, Object> insertArrest(final ArrestVO arrestVO) throws Exception {
		
		HashMap<String, Object> resultMap = new HashMap<String, Object>();
		
		int result = 0;
		try {
			result = insert("Arrest.insertArrest", arrestVO);
			resultMap.put("result", result);
			resultMap.put("id", "");
		} catch (Exception e) {
			e.printStackTrace();
		}
		return resultMap;
	};
	
	/**
	 * 중국어선 나포정보를 수정한다.
	 * 
	 * @param arrestVO 나포정보 객체
	 * @return 글 총 갯수
	 * @throws Exception 기본 예외 처리
	 */
	public HashMap<String, Object> updateArrest(final ArrestVO arrestVO) throws Exception {
		
		HashMap<String, Object> resultMap = new HashMap<String, Object>();
		
		int result = 0;
		try {
			result = insert("Arrest.updateArrest", arrestVO);
			resultMap.put("result", result);
			resultMap.put("id", arrestVO.getArrestId());
		} catch (Exception e) {
			e.printStackTrace();
		}
		return resultMap;
	}
	
	/**
	 * 중국어선 나포정보를 삭제한다.
	 * 
	 * @param boardVO 게시판 내용 구성 객체
	 * @return 글 총 갯수
	 * @throws Exception 기본 예외 처리
	 */
	public HashMap<String, Object> deleteArrest(final ArrestVO arrestVO) throws Exception {
		
		HashMap<String, Object> resultMap = new HashMap<String, Object>();
		
		int result = 0;
		try {
			result = insert("Arrest.deleteArrest", arrestVO);
			resultMap.put("result", result);
			resultMap.put("arrestId", arrestVO.getArrestId());
		} catch (Exception e) {
			e.printStackTrace();
		}
		return resultMap;
	};

	/**
	 * 주소지 시군구 명을 반환한다.
	 * 
	 * @param onlyCentral
	 *            중앙부처만 반환 - true, 모든 목록반환 - false
	 * @return 소속 1 목록
	 * @throws Exception 기본 예외 처리
	 */
	public List<CodeVO> getAddressAreaList(String area) throws Exception {
		List<CodeVO> tempList = selectList("Arrest.getAddressAreaList", area);
		return tempList;
	}
	
	/**
	 * 중국어선 나포정보를 반환한다.
	 * 
	 * @param dataVO  
	 * @return 선택한 사용자 정보 반환
	 * @throws Exception 기본 예외 처리
	 */
	public ArrestVO getArrest(final ArrestVO dataVO) {
		ArrestVO result = selectOne("Arrest.getArrest", dataVO);
		return result;
	}
	
	/**
	 * 중국어선 나포정보 목록(no paging)을 반환한다.
	 * 
	 * @param arrestSearchVO
	 *            검색정보 객체
	 * @return 게시물 리스트
	 * @throws Exception
	 *             기본 예외 처리
	 */
	public List<ArrestVO> getArrestListAll(final ArrestSearchVO arrestSearchVO) throws Exception {
		return selectList("Arrest.getArrestListAll", arrestSearchVO);
	}
	
	/**
	 * 중국어선 나포정보  목록조회
	 * 
	 * @param arrestSearchVO
	 *            검색정보 객체
	 * @return 게시물 리스트
	 * @throws Exception
	 *             기본 예외 처리
	 */
	public List<ArrestVO> getArrestList(final ArrestSearchVO arrestSearchVO) throws Exception {
		return selectList("Arrest.getArrestList", arrestSearchVO);
	}
	/**
	 * 중국어선 나포정보  집계정보조회
	 * 
	 * @param arrestSearchVO
	 *            검색정보 객체
	 * @return 게시물 리스트
	 * @throws Exception
	 *             기본 예외 처리
	 */
	public ArrestVO getArrestListCount(final ArrestSearchVO arrestSearchVO) throws Exception {
		return selectOne("Arrest.getArrestListCount", arrestSearchVO);
	}
	
	/**
	 * 중국어선 나포정보  집계정보조회
	 * 
	 * @param arrestSearchVO
	 *            검색정보 객체
	 * @return 게시물 리스트
	 * @throws Exception
	 *             기본 예외 처리
	 */
	public ArrestVO getArrestListCountExcel(final ArrestSearchVO arrestSearchVO) throws Exception {
		return selectOne("Arrest.getArrestListCountExcel", arrestSearchVO);
	}
	
	/**
	 * 중국어선 나포정보  집계정보조회
	 * 
	 * @param arrestSearchVO
	 *            검색정보 객체
	 * @return 게시물 리스트
	 * @throws Exception
	 *             기본 예외 처리
	 */
	public ArrestCountVO getArrestListAllCount(final ArrestSearchVO arrestSearchVO) throws Exception {
		return selectOne("Arrest.getArrestListAllCount", arrestSearchVO);
	}
	
	/**
	 * 중국어선 나포정보  집계정보조회
	 * 
	 * @param arrestSearchVO
	 *            검색정보 객체
	 * @return 게시물 리스트
	 * @throws Exception
	 *             기본 예외 처리
	 */
	public List<ArrestVO> getArrestListExcel(final ArrestSearchVO arrestSearchVO) throws Exception {
		return selectList("Arrest.getArrestListExcel", arrestSearchVO);
	}
	
	/**
	 * 중국어선 나포정보  집계정보조회
	 * 
	 * @param arrestSearchVO
	 *            검색정보 객체
	 * @return 게시물 리스트
	 * @throws Exception
	 *             기본 예외 처리
	 */
	public List<HashMap<String, Object>> getArrestListExcelHashMap(final ArrestSearchVO arrestSearchVO) {
		return selectList("Arrest.getArrestListExcelHashMap", arrestSearchVO);
	}
}

