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


import incheon.com.config.annotation.MainDB;
import incheon.res.rdm.oe.perorg.vo.RdmOePerorg;
import incheon.res.rdm.oe.perorg.vo.RdmOePerorgVO;
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 RdmOePerorgMapper {

	/**
	 * @MethodDESC : 업체 기관 목록 (검색)
	 */
	List selectPerorgList(RdmOePerorgVO vo) throws Exception;

	/**
	 * @MethodDESC : 업체 기관 상세조회
	 */
	RdmOePerorg selectPerorg(RdmOePerorgVO vo) throws Exception;


	/**
	 * @MethodDESC : 업체 count
	 */
	int countPerorg(RdmOePerorgVO vo) throws Exception;


	
	/**
	 * @MethodDESC : 업체명 중복 체크
	 */
	String checkComNam(RdmOePerorgVO vo) throws Exception;

	
	/**
	 * @MethodDESC : 업체검색 팝업
	 */
	List selectPerorgListPopup(RdmOePerorgVO vo) throws Exception;
	
	
	/**
	 * @MethodDESC : Pop 업체 count
	 */
	int countPerorgListPopup(RdmOePerorgVO vo) throws Exception;

	
	/**
	 * @MethodDESC : 신규 업체기관 관리번호
	 */
	String selectComIdn(RdmOePerorgVO vo) throws Exception;


	/**
	 * @MethodDESC : 업체정보 등록
	 */
	void insertRmtCoogDt(RdmOePerorgVO vo) throws Exception;
	
	/**
	 * @MethodDESC : 업체정보 수정
	 */
	void updateRmtCoogDt(RdmOePerorgVO vo) throws Exception;
	
	/**
	 * @MethodDESC : 업체 삭제
	 */
	int deleteRmtCoogDt(RdmOePerorgVO vo) throws Exception;
	
	/**
	 * @MethodDESC : 업체정보 상세조회
	 */
	RdmOePerorg selectRmtCoogDt(RdmOePerorgVO vo) throws Exception;
	
	/**
	 * @MethodDESC : 사용승인
	 */
	void approvePerorg(RdmOePerorgVO vo) throws Exception;
	
	/**
	 * @MethodDESC : 사용승인
	 */
	void cancelPerorg(RdmOePerorgVO vo) throws Exception;

	/**
	 * @MethodDESC : 관할구데이터조회
	 */
	List selectRmtCoguCt(RdmOePerorgVO vo);

	/**
	 * @MethodDESC : 관할구데이터입력
	 */
	void insertRmtCoguCt(RdmOePerorgVO vo);

	/**
	 * @MethodDESC : 관할구데이터삭제
	 */
	int deleteRmtCoguCt(RdmOePerorgVO vo);

	List selectCoogListAsGdi(RdmOePerorg vo);
	
}