package incheon.ags.dss.status.mapper;

import java.util.List;
import java.util.Map;
import org.egovframe.rte.psl.dataaccess.mapper.Mapper;
import incheon.ags.dss.status.vo.AnaLgdFomMstVO;
import incheon.ags.dss.status.vo.AnaLgdFomDtlVO;

@Mapper
@incheon.com.config.annotation.MainDB
public interface AnaLgdFomMapper {

    // [Master]
    void insertAnaLgdFomMst(AnaLgdFomMstVO vo) throws Exception;
    void updateAnaLgdFomMst(AnaLgdFomMstVO vo) throws Exception;
    void deleteAnaLgdFomMst(AnaLgdFomMstVO vo) throws Exception;
    AnaLgdFomMstVO selectAnaLgdFomMstDetail(AnaLgdFomMstVO vo) throws Exception;

    // [Detail]
    void insertAnaLgdFomDtl(AnaLgdFomDtlVO vo) throws Exception;
    void deleteAnaLgdFomDtlByMst(int lgdFrmNo) throws Exception; // 마스터 하위 전체 삭제
    List<AnaLgdFomDtlVO> selectAnaLgdFomDtlList(int lgdFrmNo) throws Exception;

    // [Special] 지도 엔진용 JSON 설정 조회 (Step 4 쿼리)
    Map<String, Object> selectLegendConfigJson(int lgdFrmNo) throws Exception;
}