package incheon.ags.ias.srvy.srvyRspns.service;

import incheon.ags.ias.srvy.srvyRspns.vo.SrvyRspnsVO;
import incheon.ags.ias.srvy.srvyRspns.vo.SrvyRspnsSearchVO;

import java.util.List;
import java.util.Map;

public interface SrvyRspnsService {

    List<Map<String, Object>> selectSrvyRspnsList(SrvyRspnsSearchVO searchVO) throws Exception;
    int selectSrvyRspnsListTotCnt(SrvyRspnsSearchVO searchVO) throws Exception;
    SrvyRspnsVO selectSrvyRspnsDetail(SrvyRspnsVO srvyRspnsVO) throws Exception;
    int insertSrvyRspns(SrvyRspnsVO srvyRspnsVO) throws Exception;
    int updateSrvyRspns(SrvyRspnsVO srvyRspnsVO) throws Exception;
    int deleteSrvyRspns(SrvyRspnsVO srvyRspnsVO) throws Exception;
    Map<String, Object> selectSrvy(Map<String, Object> params) throws Exception;
    List<Map<String, Object>> selectSrvyRspdnt() throws Exception;
    List<Map<String, Object>> selectSrvyQitem() throws Exception;
    List<Map<String, Object>> selectSrvyQitemArtcl() throws Exception;
    List<Map<String, Object>> selectSrvyQitemList(Map<String, Object> params) throws Exception;
    List<Map<String, Object>> selectSrvyQitemArtclList(Map<String, Object> params) throws Exception;
    List<Map<String, Object>> selectSrvyList(SrvyRspnsVO srvyRspnsVO) throws Exception;
    int selectSrvyListCount(SrvyRspnsVO srvyRspnsVO) throws Exception;

    int insertMultipleResponses(List<SrvyRspnsVO> responseList) throws Exception;
    boolean validateResponseData(SrvyRspnsVO srvyRspnsVO) throws Exception;
    Map<String, Object> getResponseStatisticsSummary(String srvySn) throws Exception;

}
