package incheon.ags.cms.admin.mapper;

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.mapper.Mapper;
import org.egovframe.rte.psl.dataaccess.util.EgovMap;

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

@org.egovframe.rte.psl.dataaccess.mapper.Mapper @incheon.com.config.annotation.MainDB public interface CleaningAdminMapper {
    VehicleVO selectVehicleDetailByVhclId(int vhclId) throws Exception;
    List<RouteVO> selectRouteListByVhclId(int vhclId) throws Exception;
    List<EgovMap> selectControlRuleList() 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;
    int insertVehicle(VehicleVO vehicleVO) throws Exception;
    int updateVehicle(VehicleVO vehicleVO) throws Exception;
    int disableVehicles(Map<String, Object> paramMap) throws Exception;
    int insertVehicleRouteMapping(VehicleVO vehicleVO) throws Exception;
    int expireVehicleRouteMapping(VehicleVO vehicleVO) throws Exception;
    EgovMap existVehicle(VehicleVO vehicleVO) throws Exception;
    EgovMap existVehicleWithoutVhclId(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> selectRouteMappingList(List<Integer> rteIds) throws Exception;
}
