package kcg.faics.report.service.impl;

import java.util.HashMap;

import kcg.faics.report.vo.ReportFileVO;
import kcg.faics.report.vo.ReportVO;

import org.springframework.stereotype.Repository;

import egovframework.rte.psl.dataaccess.EgovAbstractMapper;

/**
 * 견문 관련 파일 Mapper 클래스.
 * 
 * @author 하영지
 *
 */
@Repository("reportFileMapper")
public class ReportFileMapper extends EgovAbstractMapper {

	/**
	 * 파일 정보를 입력한다.
	 * 
	 * @param fileVO 파일 VO
	 * @return 1-성공, 0-실패
	 */
	public int insertFile(final ReportVO fileVO) {
		return update("ReportFile.insert", fileVO);
	}

	/**
	 * 시퀀스에 업로드된 파일 갯수를 갱신한다.
	 * 
	 * @param map 업로드된 파일 갯수와 시퀀스를 담고있는 맵
	 * @return 1-성공, 0-실패
	 */
	public int updateFileSeq(final HashMap<String, Object> map) {
		return update("ReportFile.updateFileSeq", map);
	}
	
	/**
	 * 파일 정보를 갱신한다.
	 * 
	 * @param fileVO 파일 VO
	 * @return 1-성공, 0-실패
	 */
	public int updateFile(final ReportVO fileVO) {
		return update("ReportFile.insert", fileVO);
	}

	/**
	 * 파일을 저장할 시퀀스를 반환한다.
	 * @return 파일 시퀀스
	 */
	public ReportFileVO selectFileSeq() {
		return selectOne("ReportFile.selectFileSeq");
	}

	/**
	 * 견문 파일 저장 시퀀스를 증가시킨다.
	 * @return 시퀀스
	 */
	public int insertFileSeq() {
		ReportFileVO reportFileVO = new ReportFileVO();
		int result = insert("ReportFile.insertFileSeq", reportFileVO);
		return reportFileVO.getFsSeq();
	}

}
