routes-service.js 8.34 KB
var RoutesService = (function(){
	 
	var service = {
		/**
		 * 系统规划保存
		 * @param params
		 * @param cb
		 */
		collectionSave: function (params, cb) {
			$.ajax('/api/lsstationroute/addRoutes', {
				method: 'POST',
				data: JSON.stringify(params),
				contentType: 'application/json',
				success: function (res) {
					cb && cb(res);
				}
			});
		},

		/**
		 * 获取站点和路段路由信息
		 * @param id_
		 * @param dir_
		 * @param version
		 * @param callback
		 */
		getStation: function(id_,dir_,version,callback) {
			$get('/stationroute/findStations', {'line.id_eq': id_ , 'directions_eq': dir_, 'versions_eq': version}, function(result) {
				callback && callback(result);
			});
        },

		/**
		 * 获取站点路由信息
		 * @param params
		 * @param callback
		 */
		getzdlyInfo: function(params,callback) {
			$get('/api/lsstationroute/findAllByParams', params, function(result) {
				callback && callback(result);
			});
		},

		/**
		 * 按线路和方向查询所有站点的信息 用于调整上一站
		 * @param id_
		 * @param dir_
		 * @param version
		 * @param callback
		 */
		getStationRoutePoint: function(id_,dir_,version,callback) {
			$get('/stationroute/getStationRouteList',{'line.id_eq': id_, directions_eq: dir_, versions_eq:version},function(result) {
				callback && callback(result);
			});
		},

		/**
		 * 查询是否有已存在站点名称
		 * @param stationName
		 * @param callback
		 */
		getLikeStationName: function (stationName,callback) {
			 $get('/station/all', {stationName_eq: stationName}, function(array){
				 callback && callback(array);
			 });
		},

		/**
		 * 获取最新站点ID
		 * @param callback
		 */
		getStationCode: function(callback) {
			$get('/station/findStationCode',null,function(stationCode) {
				if(stationCode>0) {
					callback && callback(stationCode);
				}
			});
		},

		/**
		 * 获取最新路段ID
		 * @param callback
		 */
		getSectionCode: function(callback) {
			$get('/section/getSectionCode',null,function(sectionCode) {
				callback && callback(sectionCode);
			});
		},

		/**
		 * 获取所有线路版本信息
		 * @param lineId
		 * @param callback
		 */
		getAllLineVersions:function(lineId,callback){
			$get('/lineVersions/findAllHistroyLineVersionsById',{lineId:lineId},function(result) {
				callback && callback(result);
			});
		},

		/**
		 *
		 * @param lineId
		 * @param direction
		 * @param stationRouteCode
		 * @param callback
		 */
		findUpStationRouteCode : function(lineId, direction, stationRouteCode, callback) {
			$get('/stationroute/findUpStationRouteCode',{lineId: lineId, direction: direction, stationRouteCode: stationRouteCode},function(result) {
				callback && callback(result);
			});
		},

		/**
		 *
		 * @param lineId
		 * @param diraction
		 * @param sectionRouteCode
		 * @param version
		 * @param callback
		 */
		findUpSectionRouteCode : function(lineId,diraction,sectionRouteCode,version,callback) {
			$get('/sectionroute/findUpSectionRouteCode',{lineId:lineId,direction:diraction,sectionRouteCode:sectionRouteCode,versions:version},function(result) {
				callback && callback(result);
			});
		 },

		/**
		 * 新增站点路由
		 * @param stationRoute
		 * @param callback
		 */
		addStationRoute : function(stationRoute, callback) {
			$post('/api/lsstationroute/add', stationRoute, function(data) {
				callback && callback(data);
			});
		},

		/**
		 * 站点路由更新
		 * @param stationRoute
		 * @param callback
		 */
		modifyStationRoute : function(stationRoute, callback) {
			$post('/api/lsstationroute/modify', stationRoute, function(data) {
				callback && callback(data);
			});
		},

		/**
		 * 撤销站点
		 * @param stationRoute
		 * @param callback
		 */
		stationRouteIsDestroy : function(stationRoute,callback) {
			$post('/stationroute/stationRouteIsDestroy',stationRoute,function(data) {
				callback && callback(data);
			})

		},

		/**
		 * 编辑线路走向保存
		 * @param section
		 * @param callback
		 */
		sectionUpdate:function(section, callback) {
			$post('/api/lssectionroute/modify', section, function(data) {
				callback && callback(data);
			})
		},

		/**
		 * 生成线路走向
		 * @param section
		 * @param callback
		 */
		sectionSave:function(section, callback){
			$post('/api/lssectionroute/add',section,function(data) {
				callback && callback(data);
			})
		},

		/**
		 * 获取线路名称
		 * @param id
		 * @param callback
		 */
		getIdLineName : function (id,callback) {
			$get('/line/' + id ,null, function(result){
				callback && callback(result);
			});
		},

		/**
		 * 查询站点信息
		 * @param lineId
		 * @param direction
		 * @param callback
		 */
		getStationRouteInfo : function(lineId,direction,callback) {
			$get('/stationroute/all',{'line.id_eq' : lineId , 'directions_eq' : direction},function(resultdata) {
				callback && callback(resultdata);
			});
		},

		/**
		 * 查询路段信息
		 * @param lineId
		 * @param direction
		 * @param version
		 * @param callback
		 */
		getSectionRouteInfo : function(lineId, direction, version, callback) {
			$get('/api/lssectionroute/findAll',{'line.id_eq': lineId , 'directions_eq': direction, 'versions_eq': version, 'destroy_eq': 0},function(sectionRoutes) {
				callback && callback(sectionRoutes);
			});
		},

		/**
		 * 根据ID查询路段信息
		 * @param sectionRouteId
		 * @param callback
		 */
		getSectionRouteInfoById : function(sectionRouteId, callback){
			$get('/api/lssectionroute/' + sectionRouteId, {}, function(r) {
				return callback && callback(r);
			});
		},

		/**
		 * 手动规划线路保存
		 * @param params
		 * @param cb
		 */
		manualSave : function(params, cb) {
			$.ajax('/api/lsstationroute/addRoutes', {
				method: 'POST',
				data: JSON.stringify(params),
				contentType: 'application/json',
				success: function (res) {
					cb && cb(res);
				}
			});
		},

		/**
		 * 编辑线路走向保存
		 * @param section
		 * @param callback
		 */
		inoutSectionUpdate:function(section,callback) {
			$post('/inout/sectionUpdate',section,function(data) {
				callback && callback(data);
			})
		},

		/**
		 * 生成线路走向
		 * @param section
		 * @param callback
		 */
		inoutSectionSave:function(section,callback){
			$post('/inout/sectionSave',section,function(data) {
				callback && callback(data);
			})
		},

		/**
		 * 根据线路查找进出场的起终点信息
		 * @param lineId
		 * @param version
		 * @param cb
		 */
		getStartEndByLine: function (lineId, version, cb) {
			$get('/inout/getStartEndByLine', {lineId : lineId, version : version}, function (r) {
				return cb && cb(r);
			});
		},

		/**
		 * 根据起终点查找对应的路段信息
		 * @param lineId
		 * @param version
		 * @param start
		 * @param end
		 * @param cb
		 */
		getRouteByStartEnd: function (lineId, version, start, end, cb) {
			$get('/inout/getRouteByStartEnd', {lineId : lineId, version : version, start : start, end : end}, function (r) {
				return cb && cb(r);
			});
		},

		/**
		 * 根据ID查询路段信息
		 * @param sectionRouteId
		 * @param callback
		 */
		getRouteInfoById : function(sectionRouteId,callback){
			$get('/inout/' + sectionRouteId,{},function(r) {
				return callback && callback(r);
			});
		},

		/**
		 *
		 * @param stationName
		 * @param cb
		 */
		findStationByName: function(stationName, cb) {
			$get('/station/findStationByName', {stationName: stationName}, function(stations) {
				cb && cb(stations);
			});
		},

		/**
		 *
		 * @param sectionName
		 * @param cb
		 */
		findSectionByName: function(sectionName, cb) {
			$get('/section/findSectionByName', {sectionName: sectionName}, function(res) {
				cb && cb(res.data);
			});
		},

		/**
		 *
		 * @param lineId
		 * @param version
		 * @param callback
		 */
		circularRouteHandle: function (lineId, version, callback) {
			$post('/api/lsstationroute/circularRouteHandle', {lineId: lineId, version: version}, function() {
				callback && callback();
			});
		},

		/**
		 * 获取前置电子围栏信息
		 * @param id
		 * @param callback
		 */
		findGeoPremise: function(id, callback) {
			$get('/api/geopremise/' + id, {}, function(res) {
				callback && callback(res);
			})
		},

		/**
		 * 保存前置电子围栏信息
		 * @param params
		 * @param callback
		 */
		saveGeoPremise: function (params, callback) {
			$post('/api/geopremise/', params, function(res) {
				callback && callback(res);
			})
		}
	};

	return service;
})();

proxy.emit('routes-service-loaded');