StationRepository.java
5.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
package com.bsth.repository;
import java.util.List;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
import com.bsth.entity.Station;
/**
*
* @Interface: StationRepository(站点Repository数据持久层接口)
*
* @Extends : BaseRepository
*
* @Description: TODO(站点Repository数据持久层接口)
*
* @Author bsth@lq
*
* @Date 2016年05月03日 上午9:21:17
*
* @Version 公交调度系统BS版 0.1
*
*/
@Repository
public interface StationRepository extends BaseRepository<Station, Integer> {
/**
* @Description :TODO(查询最大站点ID)
*
* @return int <站点id>
*/
@Query(value = "SELECT IFNULL(num,0) as maxId from (SELECT MAX(id) as num FROM bsth_c_station) k"
, nativeQuery=true)
long stationMaxId();
/*@Query(value = "SELECT s.b_jwpoints,s.id FROM bsth_c_station s where s.station_name like ?1"
, nativeQuery=true)
List<Object[]> findStationName(String stationName);*/
/*@Query(value = " SELECT t.b_jwpoints,t.id FROM (" +
" SELECT b.id,b.b_jwpoints,b.station_name,a.directions FROM (" +
" SELECT s.station,s.station_name,s.directions FROM bsth_c_stationroute s where s.destroy = 0 and s.directions = ?1) a " +
" LEFT JOIN bsth_c_station b on a.station = b. id) t where t.station_name LIKE ?2"
, nativeQuery=true)*/
@Query(value = " SELECT t.b_jwpoints,t.id FROM (" +
" SELECT b.id,b.b_jwpoints,b.station_name,a.directions FROM (" +
" SELECT s.station,s.station_name,s.directions FROM bsth_c_stationroute s where s.destroy = 0 and s.directions = ?1) a " +
" LEFT JOIN " +
" (SELECT r.id,r.b_jwpoints,r.station_name from bsth_c_station r where r.destroy = 0 and r.station_name LIKE ?2 ) " +
" b on a.station = b. id) t where t.station_name LIKE ?2 "
, nativeQuery=true)
List<Object[]> findStationName(Integer dir , String stationName);
/**
* @Description :TODO(站点保存)
*
* @param map <stationCode:站点编码;stationName:站点名称;roadCoding:道路编码;dbType:原坐标类型;bJwpoints:中心点百度坐标
*
* gLonx:中心点WGS坐标经度;gLaty:中心点WGS坐标纬度;x:城建x;y:城建坐标y;gPloygonGrid:多变形WGS坐标;
*
* bPloygonGrid:多边形百度坐标;destroy:是否撤销;radius:圆半径;shapesType:图形类型;versions:版本号;
*
* descriptions:说明;createBy:创建人;updateBy:更新人>
*/
@Transactional
@Modifying
@Query(value="INSERT INTO bsth_c_station (" +
"station_cod , station_name , road_coding , db_type , b_jwpoints , " +
"g_lonx , g_laty , x , y , g_polygon_grid,b_polygon_grid, " +
"destroy , radius , shapes_type , versions , descriptions," +
"create_by,update_by,id) " +
" VALUES(" +
"?1 , ?2 , ?3 , ?4 , ?5," +
"?6 , ?7 , ?8 , ?9 , ST_GeomFromText(?10),ST_GeomFromText(?11)," +
"?12 ,?13, ?14, ?15, ?16," +
"?17,?18,?19)", nativeQuery=true)
public void stationSave(String stationCode,String stationName,String roadCoding,String dbType,String bJwpoints,
Float gLonx, Float gLaty, Float x,Float y, String gPloygonGrid, String bPloygonGrid,
Integer destroy,Integer radius,String shapesType,Integer versions,String descriptions,Integer createBy,Integer updateBy,int id);
/**
* @Description :TODO(站点更新)
*
* @param map <stationCode:站点编码;stationName:站点名称;roadCoding:道路编码;dbType:原坐标类型;bJwpoints:中心点百度坐标
*
* gLonx:中心点WGS坐标经度;gLaty:中心点WGS坐标纬度;x:城建x;y:城建坐标y;gPloygonGrid:多变形WGS坐标;
*
* bPloygonGrid:多边形百度坐标;destroy:是否撤销;radius:圆半径;shapesType:图形类型;versions:版本号;
*
* descriptions:说明;createBy:创建人;updateBy:更新人>
*/
@Transactional
@Modifying
@Query(value="UPDATE bsth_c_station SET " +
"station_cod = ?1 , " +
"station_name = ?2 , " +
"road_coding = ?3 , " +
"db_type = ?4 , " +
"b_jwpoints = ?5 , " +
"g_lonx = ?6 , " +
"g_laty = ?7 , " +
"x = ?8 , " +
"y = ?9 , " +
"b_polygon_grid = ST_GeomFromText(?10) , " +
"g_polygon_grid = ST_GeomFromText(?11) , " +
/*"destroy = ?12 , " +*/
"radius = ?12 , " +
"shapes_type = ?13 , " +
"versions = ?14 , " +
"descriptions = ?15 " +
" WHERE id = ?16 ", nativeQuery=true)
public void stationUpdate(String stationCod,String stationName,String roadCoding,String dbType,String bJwpoints,
Float gLonx,Float gLaty,Float x,Float y, String bPolygonGrid,String gPolygonGrid,
Integer radius,String shapesType, Integer versions,String descriptions,Integer stationId);
/*public void stationUpdate(String stationCod,String stationName,String roadCoding,String dbType,String bJwpoints,
Float gLonx,Float gLaty,Float x,Float y, String bPolygonGrid,String gPolygonGrid,
Integer destroy, Integer radius,String shapesType, Integer versions,String descriptions,Integer stationId);
*/
@Query(value = "select st_astext(g_polygon_grid) as g_polygon_grid, shapes_type,concat(g_lonx, ' ', g_laty) as g_center_point ,radius, station_cod,station_name from bsth_c_station where station_cod=?1", nativeQuery = true)
public Object[][] bufferAera(String stationCode);
}