package egovframework.migration.service;

import java.util.ArrayList;
import java.util.List;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

@Service("MariaMigrationService")
public class MariaMigrationService {

	@Resource(name = "KcdfNewDAO")
    private KcdfNewDAO kcdfNewDAO;
	
	@Resource(name = "NcmsDAO")
    private NcmsDAO ncmsDAO;
	
	
	public int selectOracleBasicCount() {
		// TODO Auto-generated method stub
		return 0;
	}

	public int selectMariaBasicCount() {
		// TODO Auto-generated method stub
		return 0;
	}

	public int selectOraclePublishCount() {
		// TODO Auto-generated method stub
		return 0;
	}

	public int selectMariaPublishCount() {
		// TODO Auto-generated method stub
		return 0;
	}

	public int selectOracleFileCount() {
		// TODO Auto-generated method stub
		return 0;
	}

	public int selectMariaFileCount() {
		// TODO Auto-generated method stub
		return 0;
	}

	public int selectOracleResrvationCount() {
		// TODO Auto-generated method stub
		return 0;
	}

	public int selectMariaResrvationCount() {
		// TODO Auto-generated method stub
		return 0;
	}

	public void selectOracleBasicList() {
		// TODO Auto-generated method stub
		
	}

	public void selectOraclePublishList() {
		// TODO Auto-generated method stub
		
	}

	public void selectOracleFileList() {
		// TODO Auto-generated method stub
		
	}

	public void selectOracleResrvationList() {
		// TODO Auto-generated method stub
		
	}

	public int selectKcdfBasicCount() {
		return kcdfNewDAO.selectKcdfBasicCount();
	}

	public void kcdfMigration() {
		try {
			
			int selectKcdfBasicCount =	kcdfNewDAO.selectKcdfBasicCount();
			List<KcdfNewBbsVO> list =  new ArrayList<KcdfNewBbsVO>();
			KcdfNewBbsVO tempKcdfNewBbsVO = new KcdfNewBbsVO(); //limit 를 위해 사용
			int enterval = 100;
			int i = 0;
			if(selectKcdfBasicCount > enterval){
				for(i=0; i< selectKcdfBasicCount; i++){ //enterval 개씩 끊어서 insert
					if (i % enterval == 0 ){ //0
						tempKcdfNewBbsVO.setRecordCountPerPage(enterval);
						tempKcdfNewBbsVO.setFirstIndex(i);
						list = kcdfNewDAO.selectKcdfBbsList(tempKcdfNewBbsVO);
						for(int j=0; j< list.size(); j++){
							ncmsDAO.insertNcmsBbsInfo(list.get(j));
						}
					}
				}
				
				/*if(selectKcdfBasicCount != tempKcdfNewBbsVO.getFirstIndex()) { // enterval 개씩 끊어서 insert 후 남은 데이터 insert
					tempKcdfNewBbsVO.setFirstIndex(selectKcdfBasicCount);
					tempKcdfNewBbsVO.setRecordCountPerPage(enterval);
					list = kcdfNewDAO.selectKcdfBbsList(tempKcdfNewBbsVO);
					for(i=0; i< list.size(); i++){
						kcdfNewDAO.insertNcmsBbsInfo(list.get(i));
					}
				}*/
			}else{ //enterval 개 미만
				tempKcdfNewBbsVO.setFirstIndex(0);
				tempKcdfNewBbsVO.setRecordCountPerPage(enterval);
				list = kcdfNewDAO.selectKcdfBbsList(tempKcdfNewBbsVO);
				for(i=0; i< selectKcdfBasicCount; i++){
					ncmsDAO.insertNcmsBbsInfo(list.get(i));
				}
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}


}
