package incheon.res.rdm.dp.levy.mapper;


import incheon.com.config.annotation.MainDB;
import incheon.res.rdm.com.levy.vo.LevyCancelVO;
import incheon.res.rdm.com.levy.vo.LevyDecrementVO;
import incheon.res.rdm.com.levy.vo.LevyResultVO;
import incheon.res.rdm.com.levy.vo.LevyAcceptVO;
import incheon.res.rdm.dp.levy.vo.RdmDpLevy;
import incheon.res.rdm.dp.levy.vo.RdmDpLevyVO;
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 RdmDpLevyMapper {

	
	/**
	 * @MethodDESC : 초기 셋팅ui 년도
	 */
	List selectInitUI(RdmDpLevyVO vo) throws Exception;

	/**
	 * @MethodDESC : 시퀀스 정보 가져오기
	 */
	RdmDpLevy selectInitDB(RdmDpLevyVO vo) throws Exception;

	/**
	 * @MethodDESC : 부과정보 저장
	 */
	void insertLevy(RdmDpLevyVO vo) throws Exception;

	/**
	 * @MethodDESC : 부과정보 수정
	 */
	int updateLevy(RdmDpLevyVO vo) throws Exception;

	int deleteLevy(RdmDpLevyVO vo) throws Exception;

	/**
	 * @MethodDESC : 부과정보 가져오기
	 */
	RdmDpLevy selectLevyDt(RdmDpLevyVO vo) throws Exception;

	/**
	 * @MethodDESC : 시퀀스 정보 가져오기
	 */
	RdmDpLevy selectLevyInfo(RdmDpLevyVO vo) throws Exception;

	void insertLevyResult(LevyResultVO vo) throws Exception;

	void insertAcceptResult(LevyAcceptVO vo) throws Exception;

	void insertLevyCancel(LevyCancelVO vo) throws Exception;

	void insertDecrement(LevyDecrementVO vo) throws Exception;

	List selectLevyResult(LevyResultVO vo) throws Exception;

	List selectAcceptResult(LevyAcceptVO vo) throws Exception;

	int updateConfirm(RdmDpLevyVO vo) throws Exception;

	int updateLevyLesCde(RdmDpLevyVO vo) throws Exception;

	List selectLevyDtLinkMngKey(LevyAcceptVO vo) throws Exception;
}