package incheon.ags.aip.service;

import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;

import incheon.ags.aip.vo.AipExtracVO;
import incheon.ags.aip.vo.AipSearchVO;

public interface AipExtracService {
	
	/**
	 * 조서 count
	 * @param vo
	 * @return 조서 count
	 * @exception Exception
	 */
	public int getExtracCount(AipSearchVO vo) throws Exception;
	
	/**
	 * 조서 리스트
	 * @param vo
	 * @return 조서 List
	 * @exception Exception
	 */
	public List<AipExtracVO> getExtracList(AipSearchVO vo) throws Exception;

	/**
	 * 조서 상세검색
	 * @param vo
	 * @return 조서 상세검색
	 * @exception Exception
	 */
	public Map<String, Object> getExtracMap(Map<String, Object> param) throws Exception;
	
	/**
	 * 조서 파일 리스트
	 * @param map
	 * @return 
	 * @exception Exception
	 */
	public List<Map<String, Object>> getExtracFileList(Map<String, Object> param) throws Exception;

	/**
	 * 조서 등록
	 * @param param
	 * @return
	 * @exception Exception
	 */
	public int updateExtrac(AipExtracVO vo) throws Exception;
	
	/**
	 * 파일 삭제
	 * @param uuid
	 * @return
	 * @exception Exception
	 */
	public List<Map<String, Object>> deleteFiles(List<String> uuid) throws Exception;
	
	/**
	 * 조서 파일 업로드
	 * @param file
	 * @return
	 * @exception Exception
	 */
	public int insertExtracFile(Map<String, Object> file) throws Exception;
	
	/**
	 * 북마크 등록
	 * @param param
	 * @return 
	 * @exception Exception
	 */
	public String insertBmk(Map<String, Object> param) throws Exception;
	
	/**
	 * 북마크 삭제
	 * @param param
	 * @return 북마크 삭제
	 * @exception Exception
	 */
	public int deleteBmk(Map<String, Object> param) throws Exception;

	/**
	 * 내용 : 엑셀 입력데이터 update
	 * @Method Name : setExcelData
	 * @param list
	 * @return
	 * @throws Exception
	 */
	public void setExcelData(List<Map<String, Object>> list) throws Exception;
	
	/**
	 * 내용 : 엑셀 다운로드 속성조건 조회
	 * @Method Name : selectExcelDownData
	 * @param map
	 * @return
	 * @throws Exception
	 */
	public List<LinkedHashMap<String, Object>> selectExcelDownData(AipSearchVO vo) throws Exception;

	/**
	 * 내용 : 엑셀 다운로드 공간조건 조회
	 * @Method Name : selectExcelDownDataByIds
	 * @param map
	 * @return
	 * @throws Exception
	 */
	public List<LinkedHashMap<String, Object>> selectExcelDownDataByIds(List<Long> gidList) throws Exception;


}
