package incheon.res.rdm.oe.intusr.mapper;

import incheon.com.config.annotation.MainDB;
import incheon.res.rdm.oe.intusr.vo.RdmOeIntusrVO;
import incheon.res.rdm.oe.intusr.vo.RmtAusrDtVO;
import incheon.res.rdm.oe.requsr.vo.RdmOeRequsrVO;
import org.egovframe.rte.psl.dataaccess.mapper.Mapper;

import java.util.List;

@org.egovframe.rte.psl.dataaccess.mapper.Mapper @incheon.com.config.annotation.MainDB
public interface RmtAusrDtMapper{
	/**
	 * @MethodDESC : 신청자 정보 입력
	 */
	public void insertRmtAusrDt(RmtAusrDtVO vo) throws Exception;

	/**
	 * @MethodDESC : 신청자 정보 수정
	 */
	public int updateRmtAusrDt(RmtAusrDtVO vo) throws Exception;

	public int updateRmtAusrDt(RdmOeRequsrVO vo) throws Exception;

	public int updateRmtAusrDt(RdmOeIntusrVO vo) throws Exception;

	/**
	 * @MethodDESC : 신청자 정보 인증없이 수정
	 */
	public int updateRmtAusrDtWithoutPwd(RmtAusrDtVO vo) throws Exception;

	public int updateRmtAusrDtWithoutPwd(RdmOeRequsrVO vo) throws Exception;

	public int updateRmtAusrDtWithoutPwd(RdmOeIntusrVO vo) throws Exception;

	public int requestUser(RmtAusrDtVO vo) throws Exception;

	/**
	 * @MethodDESC : 신청자 정보 조회
	 */
	public RmtAusrDtVO selectRmtAusrInfo(RmtAusrDtVO vo) throws Exception;

	/**
	 * @MethodDESC : 신청자 정보 삭제
	 */
	public int deleteRmtAusrDt(RmtAusrDtVO vo) throws Exception;


	/**
	 * @MethodDESC : 신청자 사용 승인 취소
	 */
	public int approveRequsr(RmtAusrDtVO vo) throws Exception;

	/**
	 * @MethodDESC : 신청자 정보 신규 입력
	 */
	public void approveRequsrInfo(RmtAusrDtVO vo) throws Exception;

	/**
	 * @MethodDESC : 신청자 사용 승인 취소
	 */
	public int rejectRequsr(RmtAusrDtVO vo) throws Exception;

	/**
	 * 
	 * @MethodDESC : 신청자 사용 승인 일괄 취소
	 */
	public int rejectUsrBatch(RmtAusrDtVO vo) throws Exception;

	/**
	 * @MethodDESC : 신청자 정보 입력
	 */
	public void insertMngRmtUser(RmtAusrDtVO vo) throws Exception;

	/**
	 * @MethodDESC : 사용자 사용취소
	 */
	public int updateRmtAusrCancelDt(RmtAusrDtVO vo) throws Exception;

}
