package incheon.ags.ias.linkData.service;


import incheon.ags.ias.linkData.vo.LinkDataSearchVO;
import incheon.ags.ias.linkData.vo.LinkDataVO;
import incheon.ags.ias.linkData.web.dto.LinkDataRequestDTO;

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

public interface LinkDataService {
    List<Map<String,Object>> selectLinkDataList(LinkDataSearchVO linkDataSearchVO) throws Exception;
    LinkDataVO selectLinkDataDetail(LinkDataVO linkDataVO) throws Exception;
    List<Map<String,Object>> selectSysList() throws Exception;
    int insertLinkData(LinkDataVO linkDataVO) throws Exception;
    int updateLinkData(LinkDataVO linkDataVO) throws Exception;
    int deleteLinkData(LinkDataVO linkDataVO) throws Exception;
    int selectLinkDataCnt(LinkDataSearchVO linkDataSearchVO) throws Exception;

    List<Map<String,Object>> selectMetDataWithLinkId(LinkDataVO linkDataVO) throws Exception;
    List<Map<String,Object>> selectMetDataDmndHeader(LinkDataVO linkDataVO) throws Exception;
    List<Map<String,Object>> selectMetDataDmndParam(LinkDataVO linkDataVO) throws Exception;
    int processMetadataCUD(LinkDataRequestDTO.MetadataCUD metadata, String linkId) throws Exception;
    int processApiDataCUD(LinkDataRequestDTO.ApiDataCUD apiData, String linkId, String linkTypeCd) throws Exception;

    List<Map<String,Object>> selectClctDalySmryList(LinkDataSearchVO linkDataSearchVO) throws Exception;
    List<Map<String,Object>> selectClctIntgHstryList(LinkDataSearchVO linkDataSearchVO) throws Exception;
    int selectDalySmryTotPrcsCnt(LinkDataSearchVO linkDataSearchVO) throws Exception;
    int selectDalySmryTotScsCnt(LinkDataSearchVO linkDataSearchVO) throws Exception;
    int selectDalySmryTotFailCnt(LinkDataSearchVO linkDataSearchVO) throws Exception;
    int selectDalyScsRpbltyAvg(LinkDataSearchVO linkDataSearchVO) throws Exception;
    long selectDalyPrcsHrAvg(LinkDataSearchVO linkDataSearchVO) throws Exception;
    int selectClctHstryTotCnt(LinkDataSearchVO linkDataSearchVO) throws Exception;

    List<Map<String,Object>> selectLinkDataHoprHstryList(LinkDataSearchVO linkDataSearchVO) throws Exception;
    int insertLinkDataHoprHstry(LinkDataVO linkDataVO) throws Exception;
    int selectLinkDataHoprHstryTotCnt(LinkDataSearchVO linkDataSearchVO) throws Exception;
}
