package cmm.service.impl;

import java.util.List;

import org.springframework.dao.DataAccessException;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.TransactionException;

import cmm.Constant;
import cmm.util.CmmVO;
import cmm.util.DataMap;
import egovframework.com.cmm.service.impl.EgovComAbstractDAO;

/**
 * 공통에 대한 데이터 접근 클래스를 정의한다.
 * @Class Name : CmmDAO.java
 * @author ecplaza 
 * @since 2018-04-16
 * @version 1.0
 */
@Repository("cmmDAO")
public class CmmDAO extends EgovComAbstractDAO {
	
	@SuppressWarnings("unchecked")
	public List<DataMap> selectMenuHead(String authorCode) throws DataAccessException {
		return (List<DataMap>) list("cmmDAO.selectMenuHead", authorCode);
	}
	@SuppressWarnings("unchecked")
	public List<DataMap> selectMenuLeft(String authorCode) throws DataAccessException {
		return (List<DataMap>) list("cmmDAO.selectMenuLeft", authorCode);
	}
	@SuppressWarnings("unchecked")
	public List<DataMap> selectCmmActivityHstAllListTotCnt(DataMap paramMap) throws DataAccessException {
		return (List<DataMap>)list("cmmDAO.selectCmmActivityHstAllListTotCnt",paramMap);
	}
	@SuppressWarnings("deprecation")
	public int selectSatisfactionTotCnt(DataMap paramMap) throws DataAccessException {
		//return (Integer)getSqlMapClientTemplate().queryForObject("cmmDAO.selectSatisfactionTotCnt", paramMap);
		return 0;  // DDDDDDDDDDDdddd 임시 처리 (2021.08.13)
		
	}
	@SuppressWarnings("deprecation")
	public int selectCmmPscHstTotCnt(DataMap paramMap) throws DataAccessException {
		//return (Integer)getSqlMapClientTemplate().queryForObject("cmmDAO.selectCmmPscHstTotCnt", paramMap);
		return 0;  // DDDDDDDDDDDdddd 임시 처리 (2021.08.13)
	}
	public DataMap selectCmmPscHstDetail(DataMap paramMap) throws DataAccessException {
		//return (DataMap)select("cmmDAO.selectCmmPscHstDetail", paramMap);
		return null;  // DDDDDDDDDDDdddd 임시 처리 (2021.08.13)
	}
	public DataMap selectCmmPmsPostRandom(DataMap paramMap) throws DataAccessException {
		//return (DataMap)select("cmmDAO.selectCmmPmsPostRandom", paramMap);
		return null;  // DDDDDDDDDDDdddd 임시 처리 (2021.08.13)
	}
	/**
	 * 에셋 상세정보
	 * pick 레이어 사용(좌측 상단 및 상세 정보)
	 * @param paramMap
	 * @return
	 * @throws DataAccessException
	 */
	public DataMap selectCmmAmsAssetsDetail(DataMap paramMap) throws DataAccessException {
		paramMap.put("searchAssetClassArray", Constant.ASSETS_CLASS_ARRAY_PICK);
		
		//return (DataMap)select("cmmDAO.selectCmmAmsAssetsDetail", paramMap);
		return null;  // DDDDDDDDDDDdddd 임시 처리 (2021.08.13)
	}
	/**
	 * 에셋 미디어 그룹 목록
	 * pick 레이어 사용(좌측 목록)
	 * @param paramMap
	 * @return
	 * @throws DataAccessException
	 */
	@SuppressWarnings("unchecked")
	public List<DataMap> selectCmmAmsAssetsMediaGroupListCnt(DataMap paramMap) throws DataAccessException {
		paramMap.put("searchAssetClassArray", Constant.ASSETS_CLASS_ARRAY_PICK);
		paramMap.put("searchAssetTypeArray", Constant.ASSETS_TYPE_ARRAY_PICK);
		
		return (List<DataMap>)list("cmmDAO.selectCmmAmsAssetsMediaGroupListCnt",paramMap);
	}
	/**
	 * 에셋 미디어 그룹 목록
	 * pick 레이어 사용(좌측 목록)
	 * @param paramMap
	 * @return
	 * @throws DataAccessException
	 */
	@SuppressWarnings("unchecked")
	public List<DataMap> selectCmmAmsAssetsMediaGroupList(DataMap paramMap) throws DataAccessException {
		paramMap.put("searchAssetClassArray", Constant.ASSETS_CLASS_ARRAY_PICK);
		paramMap.put("searchAssetTypeArray", Constant.ASSETS_TYPE_ARRAY_PICK);
		
		return (List<DataMap>)list("cmmDAO.selectCmmAmsAssetsMediaGroupList",paramMap);
	}
	@SuppressWarnings("unchecked")
	public List<DataMap> selectCmmAmsAssetsMediaList(DataMap paramMap) throws DataAccessException {
		paramMap.put("searchAssetClassArray", Constant.ASSETS_CLASS_ARRAY_PICK);
		paramMap.put("searchAssetTypeArray", Constant.ASSETS_TYPE_ARRAY_PICK);
		
		return (List<DataMap>)list("cmmDAO.selectCmmAmsAssetsMediaList",paramMap);
	}
	/**
	 * 에셋 미디어 상세정보
	 * pick 레이어 사용(완문보기  상세정보)
	 * @param paramMap
	 * @return
	 * @throws DataAccessException
	 */
	public DataMap selectCmmAmsAssetsMediaDetail(DataMap paramMap) throws DataAccessException {
		//return (DataMap)select("cmmDAO.selectCmmAmsAssetsMediaDetail", paramMap);
		return null;  // DDDDDDDDDDDdddd 임시 처리 (2021.08.13)
	}
	/**
	 * 에셋 미디어 상세정보(미디어의 INTERFACE_ID 값으로 조회)
	 * pick 레이어 사용(완문보기  상세정보)
	 * @param paramMap
	 * @return
	 * @throws DataAccessException
	 */
	public DataMap selectCmmAmsAssetsMediaDetailByInterfaceId(DataMap paramMap) throws DataAccessException {
		//return (DataMap)select("cmmDAO.selectCmmAmsAssetsMediaDetailByInterfaceId", paramMap);
		return null;  // DDDDDDDDDDDdddd 임시 처리 (2021.08.13)
	}
	/**
	 * 에셋 미디어 OCR 목록
	 * pick 레이어 사용(문서 완문보기)
	 * @param paramMap
	 * @return
	 * @throws DataAccessException
	 */
	@SuppressWarnings("unchecked")
	public List<DataMap> selectCmmAmsAssetsMediaOcrList(DataMap paramMap) throws DataAccessException {
		return (List<DataMap>)list("cmmDAO.selectCmmAmsAssetsMediaOcrList",paramMap);
	}
	/**
	 * 에셋 상세 연관태그 목록
	 * pick 레이어 사용(상세 정보의 연관태그)
	 * @param paramMap
	 * @return
	 * @throws DataAccessException
	 */
	@SuppressWarnings("unchecked")
	public List<DataMap> selectCmmAmsAssetsTagsList(DataMap paramMap) throws DataAccessException {
		return (List<DataMap>)list("cmmDAO.selectCmmAmsAssetsTagsList",paramMap);
	}
	/**
	 * 에셋 상세 연속자료 목록 총 수
	 * pick 레이어 사용(상세 정보의 연속자료 목록 총 수)
	 * @param param
	 * @return
	 * @throws DataAccessException
	 */
	public int selectCmmAmsAssetsContinueListTotCnt(CmmVO param) throws DataAccessException {
		param.setSearchAssetClassArray(Constant.ASSETS_CLASS_ARRAY_PICK);
		param.setSearchAssetTypeArray(Constant.ASSETS_TYPE_ARRAY_PICK);
		
		//return (Integer)select("cmmDAO.selectCmmAmsAssetsContinueListTotCnt",param);
		return 0;  // DDDDDDDDDDDdddd 임시 처리 (2021.08.13)
	}
	/**
	 * 에셋 상세 연속자료 목록 
	 * pick 레이어 사용(상세 정보의 연속자료 목록)
	 * @param param
	 * @return
	 * @throws DataAccessException
	 */
	@SuppressWarnings("unchecked")
	public List<DataMap> selectCmmAmsAssetsContinueList(CmmVO param) throws DataAccessException {
		param.setSearchAssetClassArray(Constant.ASSETS_CLASS_ARRAY_PICK);
		param.setSearchAssetTypeArray(Constant.ASSETS_TYPE_ARRAY_PICK);
		
		return (List<DataMap>)list("cmmDAO.selectCmmAmsAssetsContinueList",param);
	}
	/**
	 * 에셋 상세 연관 지역문화이야기 목록
	 * pick 레이어 사용(지역문화이야기 목록)
	 * @param paramMap
	 * @return
	 * @throws DataAccessException
	 */
	@SuppressWarnings("unchecked")
	public List<DataMap> selectCmmAmsAssetsThemesContentsList(List paramMap) throws DataAccessException {
		return (List<DataMap>)list("cmmDAO.selectCmmAmsAssetsThemesContentsList",paramMap);
	}
	/**
	 * 에셋 상세  다른문화원 소장자료 목록
	 * pick 레이어 사용(다른문화원 소장자료 목록)
	 * @param paramMap
	 * @return
	 * @throws DataAccessException
	 */
	@SuppressWarnings("unchecked")
	public List<DataMap> selectCmmAmsAssetsDiffSojangList(DataMap paramMap) throws DataAccessException {
		return (List<DataMap>)list("cmmDAO.selectCmmAmsAssetsDiffSojangList",paramMap);
	}
	@SuppressWarnings("unchecked")
	public List<DataMap> selectCmmAmsAssetsOriginViewList(DataMap paramMap) throws DataAccessException {
		return (List<DataMap>)list("cmmDAO.selectCmmAmsAssetsOriginViewList",paramMap);
	}
	
	public int selectCmmAmsAssetsOriginViewListAjaxCnt(DataMap paramMap) throws DataAccessException {
		//return (Integer)select("cmmDAO.selectCmmAmsAssetsOriginViewListAjaxCnt", paramMap);
		return 0;  // DDDDDDDDDDDdddd 임시 처리 (2021.08.13)
	}
	@SuppressWarnings("unchecked")
	public List<DataMap> selectCmmAmsAssetsOriginViewListAjax(DataMap paramMap) throws DataAccessException {
		return (List<DataMap>)list("cmmDAO.selectCmmAmsAssetsOriginViewListAjax",paramMap);
	}
	
	public DataMap selectCmmAmsAssetsOriginViewDetail(DataMap paramMap) throws DataAccessException {
		//return (DataMap)select("cmmDAO.selectCmmAmsAssetsOriginViewDetail",paramMap);
		return null;  // DDDDDDDDDDDdddd 임시 처리 (2021.08.13)
	}
	@SuppressWarnings("deprecation")
	public int selectCmmScrapCnt(DataMap paramMap) throws DataAccessException {
		//return (Integer)getSqlMapClientTemplate().queryForObject("cmmDAO.selectCmmScrapCnt", paramMap);
		return 0;  // DDDDDDDDDDDdddd 임시 처리 (2021.08.13)
	}
	public void insertSatisfaction(DataMap paramMap) throws TransactionException {
        insert("cmmDAO.insertSatisfaction", paramMap);
	}
	public void insertCmmSchedulerHst(DataMap paramMap) throws TransactionException {
        insert("cmmDAO.insertCmmSchedulerHst", paramMap);
	}
	public void insertCmmPscHst(DataMap paramMap) throws TransactionException {
        insert("cmmDAO.insertCmmPscHst", paramMap);
	}
	public void updateCmmPscHst(DataMap paramMap) throws TransactionException {
        update("cmmDAO.updateCmmPscHst", paramMap);
	}
	public void insertCmmScrapTypeA(DataMap paramMap) throws TransactionException{
		insert("cmmDAO.insertCmmScrapTypeA", paramMap);
	}
	public void insertCmmScrapTypeB(DataMap paramMap) throws TransactionException{
		insert("cmmDAO.insertCmmScrapTypeB", paramMap);
	}
	public void insertCmmScrapTypeC(DataMap paramMap) throws TransactionException{
		insert("cmmDAO.insertCmmScrapTypeC", paramMap);
	}
	public void insertCmmScrapTypeG(DataMap paramMap) throws TransactionException{
		insert("cmmDAO.insertCmmScrapTypeG", paramMap);
	}
	public void insertCmmScrapTypeI(DataMap paramMap) throws TransactionException{
		insert("cmmDAO.insertCmmScrapTypeI", paramMap);
	}
	public void insertCmmScrapTypeP(DataMap paramMap) throws TransactionException{
		insert("cmmDAO.insertCmmScrapTypeP", paramMap);
	}
	public void insertCmmScrapTypeT(DataMap paramMap) throws TransactionException{
		insert("cmmDAO.insertCmmScrapTypeT", paramMap);
	}
	public void insertCmmActivityHstTypeA(DataMap paramMap) throws TransactionException {
        insert("cmmDAO.insertCmmActivityHstTypeA", paramMap);
	}
	public void insertCmmActivityHstTypeB(DataMap paramMap) throws TransactionException {
        insert("cmmDAO.insertCmmActivityHstTypeB", paramMap);
	}
	public void insertCmmActivityHstTypeC(DataMap paramMap) throws TransactionException {
        insert("cmmDAO.insertCmmActivityHstTypeC", paramMap);
	}
	/* 미사용 주석처리 (2019.12.06)
	public void insertCmmActivityHstTypeL(DataMap paramMap) throws TransactionException {
        insert("cmmDAO.insertCmmActivityHstTypeL", paramMap);
	}
	*/
	public void insertCmmActivityHstTypeG(DataMap paramMap) throws TransactionException {
        insert("cmmDAO.insertCmmActivityHstTypeG", paramMap);
	}
	public void insertCmmActivityHstTypeI(DataMap paramMap) throws TransactionException {
        insert("cmmDAO.insertCmmActivityHstTypeI", paramMap);
	}
	public void insertCmmActivityHstTypeP(DataMap paramMap) throws TransactionException {
        insert("cmmDAO.insertCmmActivityHstTypeP", paramMap);
	}
	public void insertCmmActivityHstTypeT(DataMap paramMap) throws TransactionException {
        insert("cmmDAO.insertCmmActivityHstTypeT", paramMap);
	}
	public void updateCmmActivityHst(DataMap paramMap) throws TransactionException {
        delete("cmmDAO.updateCmmActivityHst", paramMap);
	}
	public void deleteCmmScrapInfo(DataMap paramMap) throws TransactionException{
		delete("cmmDAO.deleteCmmScrapInfo", paramMap);
	}
	
	/**
	 * 모바일 디바이스 정보 목록
	 * @param paramMap
	 * @return
	 * @throws DataAccessException
	 */
	@SuppressWarnings("unchecked")
	public List<DataMap> selecCmmMobileDeviceInfoList(DataMap paramMap) throws DataAccessException {
		return (List<DataMap>)list("cmmDAO.selecCmmMobileDeviceInfoList",paramMap);
	}
	
	public void insertCmmActivityMediaHst(DataMap paramMap) throws TransactionException {
        insert("cmmDAO.insertCmmActivityMediaHst", paramMap);
	}
	
	@SuppressWarnings("unchecked")
	public List<DataMap> selectCmmAmsAssetsTagKeyList(DataMap paramMap) throws DataAccessException {
		return (List<DataMap>)list("cmmDAO.selectCmmAmsAssetsTagKeyList",paramMap);
	}
	
	public DataMap selectCmmAmsAssetsMediaDetail2(DataMap paramMap) throws DataAccessException {
		//return (DataMap)select("cmmDAO.selectCmmAmsAssetsMediaDetail2", paramMap);
		return null;  // DDDDDDDDDDDdddd 임시 처리 (2021.08.13)
	}
	
	@SuppressWarnings("deprecation")
	public int selectCmmWebzineCnfirm(DataMap paramMap) throws DataAccessException {
		//return (Integer)getSqlMapClientTemplate().queryForObject("cmmDAO.selectCmmWebzineCnfirm", paramMap);
		return 0;  // DDDDDDDDDDDdddd 임시 처리 (2021.08.13)
	}
	
	public void insertCmmWebzineSubScribe(DataMap paramMap) throws TransactionException {
        insert("cmmDAO.insertCmmWebzineSubScribe", paramMap);
	}
	
	@SuppressWarnings("unchecked")
	public List<DataMap> selectMainExtGiaList(DataMap param) throws DataAccessException {
        return (List<DataMap>)list("cmmDAO.selectMainExtGiaList", param);
    }
	
	public void deleteCmmMainExtGiaData(DataMap paramMap) throws TransactionException{
		delete("cmmDAO.deleteCmmMainExtGiaData", paramMap);
	}
	
	public void insertCmmMainData(DataMap paramMap) throws TransactionException {
        insert("cmmDAO.insertCmmMainData", paramMap);
	}
	
	public DataMap getMainLogo() throws DataAccessException {
		//return (DataMap)select("cmmDAO.getMainLogo");
		return null;  // DDDDDDDDDDDdddd 임시 처리 (2021.08.13)
	}
	
}
