package incheon.res.rdm.oe.perorg.service.impl;


import incheon.res.rdm.oe.perorg.mapper.RdmOePerorgMapper;
import incheon.res.rdm.oe.perorg.service.RdmOePerorgService;
import incheon.res.rdm.oe.perorg.vo.RdmOePerorg;
import incheon.res.rdm.oe.perorg.vo.RdmOePerorgVO;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.egovframe.rte.fdl.cmmn.EgovAbstractServiceImpl;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;



@Service
public class RdmOePerorgServiceImpl extends EgovAbstractServiceImpl implements RdmOePerorgService {

	protected Log log = LogFactory.getLog(this.getClass());
	
	@Resource
    private RdmOePerorgMapper rdmOePerorgMapper;
	

	
	
	/**
	 * @MethodDESC : 업체 기관 목록 (검색)
	 */
	public List selectPerorgList(RdmOePerorgVO vo) throws Exception {
   		return rdmOePerorgMapper.selectPerorgList(vo);
	}

	/**
	 * @MethodDESC : 업체 기관 상세조회
	 */
	public RdmOePerorg selectPerorg(RdmOePerorgVO vo) throws Exception {
   		return rdmOePerorgMapper.selectPerorg(vo);
	}

	/**
	 * @MethodDESC : 업체 count
	 */
	public int countPerorg(RdmOePerorgVO vo) throws Exception {
   		return rdmOePerorgMapper.countPerorg(vo);
	}
	
	/**
	 * @MethodDESC : 업체명 중복 체크
	 */
	public String checkComNam(RdmOePerorgVO vo) throws Exception {
   		return rdmOePerorgMapper.checkComNam(vo);
	}

	/**
	 * @MethodDESC : 업체검색 팝업
	 */
	public List selectPerorgListPopup(RdmOePerorgVO vo) throws Exception {
   		return rdmOePerorgMapper.selectPerorgListPopup(vo);
	}
	
	/**
	 * @MethodDESC : 업체Pop count
	 */
	public int countPerorgListPopup(RdmOePerorgVO vo) throws Exception {
   		return rdmOePerorgMapper.countPerorgListPopup(vo);
	}
	
	/**
	 * @MethodDESC : 신규 업체기관 관리번호
	 */
	public String selectComIdn(RdmOePerorgVO vo) throws Exception {
   		return rdmOePerorgMapper.selectComIdn(vo);
	}

	/**
	 * @MethodDESC : 업체정보 등록
	 */
	public void insertRmtCoogDt(RdmOePerorgVO vo) throws Exception {
   		rdmOePerorgMapper.insertRmtCoogDt(vo);
	}
	
	/**
	 * @MethodDESC : 업체정보 수정
	 */
	public void updateRmtCoogDt(RdmOePerorgVO vo) throws Exception {
   		rdmOePerorgMapper.updateRmtCoogDt(vo);
	}
	
	/**
	 * @MethodDESC : 업체정보 상세조회
	 */
	public RdmOePerorg selectRmtCoogDt(RdmOePerorgVO vo) throws Exception {
   		return rdmOePerorgMapper.selectRmtCoogDt(vo);
	}
	
	/**
	 * @MethodDESC : 사용승인
	 */
	public void approvePerorg(RdmOePerorgVO vo) throws Exception {
   		rdmOePerorgMapper.approvePerorg(vo);
	}
	
	/**
	 * @MethodDESC : 일괄사용승인
	 */
	public void approvePerorgList(RdmOePerorgVO vo) throws Exception {
		String comIdnStr = vo.getBzentyInstMngNoChk();
		String [] comIdn =comIdnStr.split(",");

		for(int i=0;i<comIdn.length;i++){
			vo.setBzentyInstMngNo(comIdn[i]);
			vo.setAutzrId(vo.getAutzrId());
			vo.setBzentyStts(vo.getBzentyStts());
			rdmOePerorgMapper.approvePerorg(vo);
		}
	}
	
	/**
	 * @MethodDESC : 사용취소
	 */
	public void cancelPerorg(RdmOePerorgVO vo) throws Exception {
   		rdmOePerorgMapper.cancelPerorg(vo);
	}
	
	/**
	 * @MethodDESC : 일괄사용취소
	 */
	public void cancelPerorgList(RdmOePerorgVO vo) throws Exception {
		String comIdnStr = vo.getBzentyInstMngNoChk();
		String [] comIdn =comIdnStr.split(",");

		for(int i=0;i<comIdn.length;i++){
			vo.setBzentyInstMngNo(comIdn[i]);
			vo.setCnclrId(vo.getCnclrId());
			vo.setBzentyStts(vo.getBzentyStts());
			rdmOePerorgMapper.cancelPerorg(vo);
		}
	}

	/**
	 * @MethodDESC : 관할구데이터조회
	 */
	public List selectRmtCoguCt(RdmOePerorgVO vo) throws Exception {

		return rdmOePerorgMapper.selectRmtCoguCt(vo);
	}

	/**
	 * @MethodDESC : 관할구데이터입력
	 */
	public void insertRmtCoguCt(RdmOePerorgVO vo) throws Exception {
		rdmOePerorgMapper.insertRmtCoguCt(vo);
	}
	
	/**
	 * @MethodDESC : 관할구데이터삭제
	 */
	public int deleteRmtCoguCt(RdmOePerorgVO vo) throws Exception {
		return rdmOePerorgMapper.deleteRmtCoguCt(vo);
	}

	public List selectCoogListAsGdi(RdmOePerorgVO vo) throws Exception {
		return rdmOePerorgMapper.selectCoogListAsGdi(vo);
	}
	
}