package incheon.res.rdm.com.unitcst.service.impl;

import incheon.res.rdm.com.unitcst.mapper.RdmComUnitcstMapper;
import incheon.res.rdm.com.unitcst.mapper.RmtBiphDtMapper;
import incheon.res.rdm.com.unitcst.service.RmtBiphDtService;
import incheon.res.rdm.com.unitcst.vo.RdmComUnitcst;
import incheon.res.rdm.com.unitcst.vo.RdmComUnitcstVO;
import incheon.res.rdm.com.unitcst.vo.RmtBiphDt;
import incheon.res.rdm.com.unitcst.vo.RmtBiphDtVO;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.egovframe.rte.fdl.cmmn.EgovAbstractServiceImpl;
import org.egovframe.rte.psl.dataaccess.util.EgovMap;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.Iterator;
import java.util.List;

@Service
public class RmtBiphDtServiceImpl extends EgovAbstractServiceImpl implements RmtBiphDtService {

	protected Log log = LogFactory.getLog(this.getClass());
	
	@Resource
    private RmtBiphDtMapper rmtBiphDtMapper;
	
	@Resource
	private RdmComUnitcstMapper rdmComUnitcstMapper;
	
	/**
	 * @MethodDESC : 사업예정지 변경이력 입력
	 */
	@Override
	public void insertRmtBiphDt(RmtBiphDtVO vo) throws Exception{
		rmtBiphDtMapper.insertRmtBiphDt(vo);
	}
	
	/**
	 * @MethodDESC : 사업예정지 변경이력 삭제
	 */
	@Override
	public int deleteRmtBiphDt(RmtBiphDtVO vo) throws Exception{
		return rmtBiphDtMapper.deleteRmtBiphDt(vo);
	}
	
	/**
	 * @MethodDESC : 사업예정지 변경이력 입력
	 */
	@Override
	public void insertHistory(List list) throws Exception{
		Iterator iter = list.iterator();
		RdmComUnitcstVO rdmComUnitcstVO = new RdmComUnitcstVO();
		while(iter.hasNext()){
			EgovMap egovMap = (EgovMap)iter.next();
			String bprIdn = egovMap.get("bprIdn").toString();
			
			rdmComUnitcstVO.setBizIntsptMngNo(bprIdn);
			
			RdmComUnitcst rdmComUnitcst = rdmComUnitcstMapper.selectHistoryCount(rdmComUnitcstVO);
			int bphSeq = rdmComUnitcst.getCount().intValue();
			
			RmtBiphDtVO rmtBiphDtVO = new RmtBiphDtVO();
			rmtBiphDtVO.setChgHstrySe("접수완료");
			rmtBiphDtVO.setChgHstrySn(new BigDecimal(bphSeq+1));
			
			rmtBiphDtMapper.insertRmtBiphDt(rmtBiphDtVO);
		}
	}
}