package incheon.ags.cms.admin.service;

import incheon.ags.cms.admin.vo.CmsCmmnCdVO;
import incheon.ags.cms.admin.vo.RouteVO;
import incheon.ags.cms.admin.vo.VehicleVO;
import org.egovframe.rte.psl.dataaccess.util.EgovMap;

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

public interface CleaningAdminService {
    VehicleVO selectVehicleWithRouteList(int vhclId) throws Exception;
    List<EgovMap> selectVehicleList(VehicleVO vehicleVO) throws Exception;
    int selectVehicleTotalCount(VehicleVO vehicleVO) throws Exception;
    List<EgovMap> selectRouteList(RouteVO routeVO) throws Exception;
    int selectRouteTotalCount(RouteVO routeVO) throws Exception;
    List<EgovMap> selectSggList() throws Exception;
    List<EgovMap> selectControlRuleList() throws Exception;
    int insertVehicle(VehicleVO vehicleVO) throws Exception;
    int updateVehicle(VehicleVO vehicleVO) throws Exception;
    int disableVehicles(Map<String, Object> paramMap) throws Exception;
    void validateVehicle(VehicleVO vehicleVO) throws Exception;
    int insertRoute(RouteVO routeVO) throws Exception;
    int updateRoute(RouteVO routeVO) throws Exception;
    int disableRoutes(Map<String, Object> paramMap) throws Exception;
    List<CmsCmmnCdVO> selectCmsCmmnListByGroupCd(String groupCd) throws Exception;
    int insertControlRules(List<Map<String, Object>> rules) throws Exception;
    List<EgovMap> checkRouteMapping(List<Integer> rteIds) throws Exception;
}
