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

import incheon.res.rdm.oe.intusr.mapper.RmtDusrDtMapper;
import incheon.res.rdm.oe.intusr.service.RmtDusrDtService;
import incheon.res.rdm.oe.intusr.vo.RmtDusrDtVO;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;

/**
 * 
 * @Class Name : RmtDusrDtServiceImpl.java
 * @Description : RmtDusrDtServiceImpl Class
 * @Modification Information  
 * @
 * @  수정일       수정자              수정내용
 * @ ---------   ---------   -------------------------------
 * @ 2014. 6. 10.    홍성욱          최초생성
 * 
 * @author 홍성욱
 * @since 2014. 6. 10.
 * @version 1.0
 */
@Service
public class RmtDusrDtServiceImpl implements RmtDusrDtService {
	protected Log log = LogFactory.getLog(this.getClass());
	
	@Resource
	private RmtDusrDtMapper rmtDusrDtMapper;


	/**
	 * @MethodDESC : 승인 취소
	 */
	@Override
	public void rejectRequsrInfo(RmtDusrDtVO vo) throws Exception {
		rmtDusrDtMapper.rejectRequsrInfo(vo);
	}


	/**
	 * @MethodDESC : 등록요청
	 */
	@Override
	public int requestUser(RmtDusrDtVO vo) throws Exception {
		return rmtDusrDtMapper.requestUser(vo);
	}

	/**
	 * @MethodDESC : 상세 조회
	 */
	@Override
	public RmtDusrDtVO selectRmtDusrInfo(RmtDusrDtVO vo) throws Exception {
		return rmtDusrDtMapper.selectRmtDusrInfo(vo);
	}

	/**
	 * @MethodDESC : 삭제 처리
	 */
	@Override
	public int deleteRmtDusrDt(RmtDusrDtVO vo) throws Exception {
		return rmtDusrDtMapper.deleteRmtDusrDt(vo);
	}


	/**
	 * @MethodDESC : 승인처리
	 */
	@Override
	public int approveRequsr(RmtDusrDtVO vo) throws Exception {
		return rmtDusrDtMapper.approveRequsr(vo);
	}

	/**
	 * @MethodDESC : 승인취소 처리
	 */
	@Override
	public int rejectRequsr(RmtDusrDtVO vo) throws Exception {
		return rmtDusrDtMapper.rejectRequsr(vo);
	}

	/**
	 * @MethodDESC : 일괄 승인취소 처리
	 */
	@Override
	public int rejectUsrBatch(RmtDusrDtVO vo) throws Exception {
		if(vo.getChkId() != null){
			String[] chkArray = vo.getChkId();
			int result = 0;
			for(int i = 0; i < chkArray.length; i++){
				RmtDusrDtVO rddVO = new RmtDusrDtVO();
				rddVO.setCnclrId(vo.getCnclrId());
				rddVO.setUserAcntMngNo(chkArray[i]);
				result += rmtDusrDtMapper.rejectUsrBatch(rddVO);
			}
			return result;
		}else{
			return 0;			
		}
	}

	@Override
	public void insertMngRmtUser(RmtDusrDtVO vo) throws Exception {
		rmtDusrDtMapper.insertMngRmtUser(vo);
	}

	/**
	 * @MethodDESC : 사용자 사용취소 로그 입력
	 */
	@Override
	public void insertRmtAusrLogDt(RmtDusrDtVO vo) throws Exception {
		rmtDusrDtMapper.insertRmtAusrLogDt(vo);
	}


}
