Commit 3e684046ad174819383a45cb90aa81c07cdaf6e7

Authored by 娄高锋
2 parents aab40b9b bb7ff122

Merge branch 'pudong_jdk8' of

http://61.169.120.202:8888/panzhaov5/bsth_control into pudong_jdk8

# Conflicts:
#	src/main/java/com/bsth/service/report/impl/ReportServiceImpl.java

Too many changes to show.

To preserve performance only 20 of 508 files are displayed.

doc/pom错误解决.txt
1   -1、jsonpath手动导入
2   -pom定义如下:
3   -<!-- https://mvnrepository.com/artifact/pentaho/simple-jndi -->
4   -<dependency>
5   - <groupId>pentaho</groupId>
6   - <artifactId>simple-jndi</artifactId>
7   - <version>1.0.0</version>
8   -</dependency>
9   -pom中repositoy添加如下:
10   -<repository>
11   - <id>pentaho-public</id>
12   - <url>https://repo.orl.eng.hitachivantara.com/artifactory/pnt-mvn/</url>
13   -</repository>
14   -如果无法获取,可能由于被墙了,则手动导入,控制台输入命令如下:
15   -mvn install:install-file -DgroupId=pentaho -DartifactId=simple-jndi -Dversion=1.0.0 -Dpackaging=jar -Dfile=./jar/simple-jndi-1.0.0.jar
  1 +1、jsonpath手动导入
  2 +pom定义如下:
  3 +<!-- https://mvnrepository.com/artifact/pentaho/simple-jndi -->
  4 +<dependency>
  5 + <groupId>pentaho</groupId>
  6 + <artifactId>simple-jndi</artifactId>
  7 + <version>1.0.0</version>
  8 +</dependency>
  9 +pom中repositoy添加如下:
  10 +<repository>
  11 + <id>pentaho-public</id>
  12 + <url>https://repo.orl.eng.hitachivantara.com/artifactory/pnt-mvn/</url>
  13 +</repository>
  14 +如果无法获取,可能由于被墙了,则手动导入,控制台输入命令如下:
  15 +mvn install:install-file -DgroupId=pentaho -DartifactId=simple-jndi -Dversion=1.0.0 -Dpackaging=jar -Dfile=./jar/simple-jndi-1.0.0.jar
... ...
1   -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
2   - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
3   -
4   - <modelVersion>4.0.0</modelVersion>
5   - <groupId>com.bsth</groupId>
6   - <artifactId>bsth_control</artifactId>
7   - <version>0.0.1-SNAPSHOT</version>
8   - <packaging>war</packaging>
9   -
10   - <parent>
11   - <groupId>org.springframework.boot</groupId>
12   - <artifactId>spring-boot-starter-parent</artifactId>
13   - <version>2.1.6.RELEASE</version>
14   - </parent>
15   -
16   - <dependencies>
17   - <dependency>
18   - <groupId>org.springframework.boot</groupId>
19   - <artifactId>spring-boot-starter-web</artifactId>
20   - </dependency>
21   -
22   - <dependency>
23   - <groupId>org.springframework.boot</groupId>
24   - <artifactId>spring-boot-starter-tomcat</artifactId>
25   - <scope>provided</scope>
26   - </dependency>
27   - <dependency>
28   - <groupId>javax.servlet</groupId>
29   - <artifactId>javax.servlet-api</artifactId>
30   - <version>3.1.0</version>
31   - <scope>provided</scope>
32   - </dependency>
33   - <dependency>
34   - <groupId>org.springframework.boot</groupId>
35   - <artifactId>spring-boot-starter-security</artifactId>
36   - </dependency>
37   - <dependency>
38   - <groupId>org.springframework.boot</groupId>
39   - <artifactId>spring-boot-starter-data-jpa</artifactId>
40   - </dependency>
41   - <dependency>
42   - <groupId>org.springframework.boot</groupId>
43   - <artifactId>spring-boot-starter-aop</artifactId>
44   - </dependency>
45   -
46   - <dependency>
47   - <groupId>org.springframework</groupId>
48   - <artifactId>spring-context-support</artifactId>
49   - </dependency>
50   - <dependency>
51   - <groupId>org.springframework.boot</groupId>
52   - <artifactId>spring-boot-starter-websocket</artifactId>
53   - </dependency>
54   - <dependency>
55   - <groupId>org.springframework.boot</groupId>
56   - <artifactId>spring-boot-configuration-processor</artifactId>
57   - <optional>true</optional>
58   - </dependency>
59   - <dependency>
60   - <groupId>org.springframework.kafka</groupId>
61   - <artifactId>spring-kafka</artifactId>
62   - </dependency>
63   - <dependency>
64   - <groupId>mysql</groupId>
65   - <artifactId>mysql-connector-java</artifactId>
66   - <version>5.1.38</version>
67   - </dependency>
68   -
69   - <dependency>
70   - <groupId>joda-time</groupId>
71   - <artifactId>joda-time</artifactId>
72   - </dependency>
73   - <dependency>
74   - <groupId>com.alibaba</groupId>
75   - <artifactId>fastjson</artifactId>
76   - <version>1.2.4</version>
77   - </dependency>
78   -
79   - <dependency>
80   - <groupId>org.apache.httpcomponents</groupId>
81   - <artifactId>httpclient</artifactId>
82   - </dependency>
83   -
84   - <!-- dbcp2数据库连接池 -->
85   - <dependency>
86   - <groupId>org.apache.commons</groupId>
87   - <artifactId>commons-dbcp2</artifactId>
88   - </dependency>
89   -
90   - <dependency>
91   - <groupId>org.hibernate</groupId>
92   - <artifactId>hibernate-search-orm</artifactId>
93   - <version>5.11.2.Final</version>
94   - </dependency>
95   -
96   - <dependency>
97   - <groupId>commons-lang</groupId>
98   - <artifactId>commons-lang</artifactId>
99   - <version>2.6</version>
100   - </dependency>
101   - <dependency>
102   - <groupId>org.apache.commons</groupId>
103   - <artifactId>commons-lang3</artifactId>
104   - <version>3.4</version>
105   - </dependency>
106   - <dependency>
107   - <groupId>commons-fileupload</groupId>
108   - <artifactId>commons-fileupload</artifactId>
109   - <version>1.2.2</version>
110   - </dependency>
111   - <dependency>
112   - <groupId>commons-io</groupId>
113   - <artifactId>commons-io</artifactId>
114   - <version>2.4</version>
115   - </dependency>
116   - <dependency>
117   - <groupId>org.codehaus.janino</groupId>
118   - <artifactId>janino</artifactId>
119   - </dependency>
120   -
121   - <dependency>
122   - <groupId>org.apache.poi</groupId>
123   - <artifactId>poi-ooxml</artifactId>
124   - <version>3.13</version>
125   - </dependency>
126   -
127   - <dependency>
128   - <groupId>com.google.guava</groupId>
129   - <artifactId>guava</artifactId>
130   - <version>19.0</version>
131   - </dependency>
132   - <!-- ftp文件上传包 -->
133   - <dependency>
134   - <groupId>commons-net</groupId>
135   - <artifactId>commons-net</artifactId>
136   - <version>3.5</version>
137   - </dependency>
138   - <dependency>
139   - <groupId>org.apache.commons</groupId>
140   - <artifactId>commons-compress</artifactId>
141   - <version>1.3</version>
142   - </dependency>
143   - <!-- drools 6依赖 -->
144   - <dependency>
145   - <groupId>org.kie</groupId>
146   - <artifactId>kie-api</artifactId>
147   - </dependency>
148   - <dependency>
149   - <groupId>org.drools</groupId>
150   - <artifactId>drools-compiler</artifactId>
151   - </dependency>
152   -
153   - <!-- springboot测试 -->
154   - <dependency>
155   - <groupId>org.springframework.boot</groupId>
156   - <artifactId>spring-boot-starter-test</artifactId>
157   - <scope>test</scope>
158   - </dependency>
159   -
160   - <dependency>
161   - <groupId>c3p0</groupId>
162   - <artifactId>c3p0</artifactId>
163   - <version>0.9.1.2</version>
164   - </dependency>
165   -
166   - <!-- 图表 -->
167   - <dependency>
168   - <groupId>com.google.code.gson</groupId>
169   - <artifactId>gson</artifactId>
170   - <version>2.8.5</version>
171   - </dependency>
172   - <dependency>
173   - <groupId>com.github.abel533</groupId>
174   - <artifactId>ECharts</artifactId>
175   - <version>2.1.8</version>
176   - </dependency>
177   -
178   - <dependency>
179   - <groupId>org.apache.tika</groupId>
180   - <artifactId>tika-core</artifactId>
181   - <version>1.7</version>
182   - </dependency>
183   -
184   - <!-- pentaho kettle 依赖 -->
185   - <dependency>
186   - <groupId>pentaho-kettle</groupId>
187   - <artifactId>kettle-core</artifactId>
188   - <version>6.0.1.0-386</version>
189   - <exclusions>
190   - <exclusion>
191   - <groupId>org.apache.xmlgraphics</groupId>
192   - <artifactId>batik-js</artifactId>
193   - </exclusion>
194   - </exclusions>
195   - </dependency>
196   - <dependency>
197   - <groupId>pentaho-kettle</groupId>
198   - <artifactId>kettle-engine</artifactId>
199   - <version>6.0.1.0-386</version>
200   - </dependency>
201   - <dependency>
202   - <groupId>pentaho</groupId>
203   - <artifactId>metastore</artifactId>
204   - <version>6.0.1.0-386</version>
205   - </dependency>
206   - <dependency>
207   - <groupId>org.apache.commons</groupId>
208   - <artifactId>commons-vfs2</artifactId>
209   - <version>2.1-20150824</version>
210   - </dependency>
211   -
212   - <dependency>
213   - <groupId>net.sourceforge.jexcelapi</groupId>
214   - <artifactId>jxl</artifactId>
215   - <version>2.6.12</version>
216   - <exclusions>
217   - <exclusion>
218   - <groupId>log4j</groupId>
219   - <artifactId>log4j</artifactId>
220   - </exclusion>
221   - </exclusions>
222   - </dependency>
223   - <dependency>
224   - <groupId>rhino</groupId>
225   - <artifactId>js</artifactId>
226   - <version>1.7R2</version>
227   - </dependency>
228   - <dependency>
229   - <groupId>javax.mail</groupId>
230   - <artifactId>mail</artifactId>
231   - <version>1.4.7</version>
232   - </dependency>
233   -
234   - <dependency>
235   - <groupId>com.github.axet</groupId>
236   - <artifactId>kaptcha</artifactId>
237   - <version>0.0.9</version>
238   - </dependency>
239   -
240   - <dependency>
241   - <groupId>commons-codec</groupId>
242   - <artifactId>commons-codec</artifactId>
243   - <version>1.4</version>
244   - <scope>compile</scope>
245   - </dependency>
246   - <dependency>
247   - <groupId>org.bouncycastle</groupId>
248   - <artifactId>bcprov-jdk15on</artifactId>
249   - <version>1.52</version>
250   - </dependency>
251   - <dependency>
252   - <groupId>axis</groupId>
253   - <artifactId>axis</artifactId>
254   - <version>1.4</version>
255   - </dependency>
256   - <dependency>
257   - <groupId>javax.xml</groupId>
258   - <artifactId>jaxrpc-api</artifactId>
259   - <version>1.1</version>
260   - </dependency>
261   -
262   - <dependency>
263   - <groupId>org.apache.axis2</groupId>
264   - <artifactId>axis2-adb</artifactId>
265   - <version>1.7.4</version>
266   - </dependency>
267   - <dependency>
268   - <groupId>org.apache.axis2</groupId>
269   - <artifactId>axis2-transport-local</artifactId>
270   - <version>1.7.4</version>
271   - </dependency>
272   - <dependency>
273   - <groupId>org.apache.axis2</groupId>
274   - <artifactId>axis2-transport-http</artifactId>
275   - <version>1.7.4</version>
276   - </dependency>
277   -
278   - <dependency>
279   - <groupId>org.dbunit</groupId>
280   - <artifactId>dbunit</artifactId>
281   - <version>2.4.9</version>
282   - <scope>test</scope>
283   -
284   - <exclusions>
285   - <exclusion>
286   - <groupId>org.slf4j</groupId>
287   - <artifactId>slf4j-api</artifactId>
288   - </exclusion>
289   - </exclusions>
290   - </dependency>
291   -
292   - <dependency>
293   - <groupId>com.h2database</groupId>
294   - <artifactId>h2</artifactId>
295   - <version>1.2.132</version>
296   - <scope>test</scope>
297   - </dependency>
298   -
299   -
300   - <dependency>
301   - <groupId>org.apache.mina</groupId>
302   - <artifactId>mina-core</artifactId>
303   - <version>2.0.13</version>
304   - </dependency>
305   -
306   - <dependency>
307   - <groupId>com.google.protobuf</groupId>
308   - <artifactId>protobuf-java</artifactId>
309   - <version>3.3.0</version>
310   - </dependency>
311   -
312   - <dependency>
313   - <groupId>com.github.stuxuhai</groupId>
314   - <artifactId>jpinyin</artifactId>
315   - <version>1.1.8</version>
316   - </dependency>
317   -
318   - <!-- dubbo 需要的jar start -->
319   - <dependency>
320   - <groupId>com.alibaba</groupId>
321   - <artifactId>dubbo</artifactId>
322   - <!--<version>2.6.3</version>-->
323   - <version>2.5.3</version>
324   - <exclusions>
325   - <exclusion>
326   - <groupId>org.springframework</groupId>
327   - <artifactId>spring</artifactId>
328   - </exclusion>
329   - <exclusion>
330   - <groupId>log4j</groupId>
331   - <artifactId>log4j</artifactId>
332   - </exclusion>
333   - </exclusions>
334   - </dependency>
335   -
336   - <dependency>
337   - <groupId>org.apache.zookeeper</groupId>
338   - <artifactId>zookeeper</artifactId>
339   - <version>3.4.5</version>
340   - <exclusions>
341   - <exclusion>
342   - <groupId>log4j</groupId>
343   - <artifactId>log4j</artifactId>
344   - </exclusion>
345   - <exclusion>
346   - <groupId>org.slf4j</groupId>
347   - <artifactId>slf4j-log4j12</artifactId>
348   - </exclusion>
349   - </exclusions>
350   - </dependency>
351   -
352   - <dependency>
353   - <groupId>com.101tec</groupId>
354   - <artifactId>zkclient</artifactId>
355   - <version>0.3</version>
356   - <exclusions>
357   - <exclusion>
358   - <groupId>log4j</groupId>
359   - <artifactId>log4j</artifactId>
360   - </exclusion>
361   - </exclusions>
362   - </dependency>
363   -
364   - <!-- plan common工程依赖 -->
365   - <dependency>
366   - <groupId>com.bsth.control_v2</groupId>
367   - <artifactId>plan_module-common</artifactId>
368   - <version>1.0-SNAPSHOT</version>
369   - </dependency>
370   - <!-- plan common config 工程依赖 -->
371   - <dependency>
372   - <groupId>com.bsth.control_v2</groupId>
373   - <artifactId>plan_module-common-config</artifactId>
374   - <version>1.0-SNAPSHOT</version>
375   - </dependency>
376   - <dependency>
377   - <groupId>org.slf4j</groupId>
378   - <artifactId>slf4j-api</artifactId>
379   - <version>1.7.7</version>
380   - </dependency>
381   - <dependency>
382   - <groupId>ch.qos.logback</groupId>
383   - <artifactId>logback-classic</artifactId>
384   - <version>1.1.11</version>
385   - </dependency>
386   - <dependency>
387   - <groupId>org.slf4j</groupId>
388   - <artifactId>log4j-over-slf4j</artifactId>
389   - <version>1.7.7</version>
390   - </dependency>
391   -
392   - <dependency>
393   - <groupId>org.projectlombok</groupId>
394   - <artifactId>lombok</artifactId>
395   - </dependency>
396   -
397   - <!-- https://mvnrepository.com/artifact/pentaho/simple-jndi -->
398   - <dependency>
399   - <groupId>pentaho</groupId>
400   - <artifactId>simple-jndi</artifactId>
401   - <version>1.0.0</version>
402   - </dependency>
403   -
404   - <!-- geotool -->
405   - <dependency>
406   - <groupId>org.locationtech.jts</groupId>
407   - <artifactId>jts-core</artifactId>
408   - <version>1.16.1</version>
409   - </dependency>
410   -
411   - <dependency>
412   - <groupId>org.hibernate</groupId>
413   - <artifactId>hibernate-spatial</artifactId>
414   - </dependency>
415   - </dependencies>
416   -
417   - <dependencyManagement>
418   - <dependencies>
419   - <!-- drools 6依赖 -->
420   - <dependency>
421   - <groupId>org.drools</groupId>
422   - <artifactId>drools-bom</artifactId>
423   - <type>pom</type>
424   - <version>6.3.0.Final</version>
425   - <scope>import</scope>
426   - </dependency>
427   - </dependencies>
428   - </dependencyManagement>
429   -
430   - <build>
431   - <plugins>
432   - <plugin>
433   - <artifactId>maven-compiler-plugin</artifactId>
434   - <configuration>
435   - <source>1.8</source>
436   - <target>1.8</target>
437   - </configuration>
438   - </plugin>
439   - <plugin>
440   - <artifactId>maven-war-plugin</artifactId>
441   - <configuration>
442   - <failOnMissingWebXml>false</failOnMissingWebXml>
443   - </configuration>
444   - </plugin>
445   - <plugin>
446   - <groupId>org.springframework.boot</groupId>
447   - <artifactId>spring-boot-maven-plugin</artifactId>
448   - </plugin>
449   - </plugins>
450   - <resources>
451   - <resource>
452   - <directory>src/main/resources</directory>
453   - <filtering>false</filtering>
454   - </resource>
455   - </resources>
456   - </build>
457   - <repositories>
458   - <repository>
459   - <id>spring-snapshots</id>
460   - <url>http://repo.spring.io/snapshot</url>
461   - <snapshots>
462   - <enabled>true</enabled>
463   - </snapshots>
464   - </repository>
465   - <repository>
466   - <id>spring-milestones</id>
467   - <url>http://repo.spring.io/milestone</url>
468   - </repository>
469   - <repository>
470   - <id>pentaho-public</id>
471   - <url>https://repo.orl.eng.hitachivantara.com/artifactory/pnt-mvn/</url>
472   - </repository>
473   - </repositories>
474   - <pluginRepositories>
475   - <pluginRepository>
476   - <id>spring-snapshots</id>
477   - <url>http://repo.spring.io/snapshot</url>
478   - </pluginRepository>
479   - <pluginRepository>
480   - <id>spring-milestones</id>
481   - <url>http://repo.spring.io/milestone</url>
482   - </pluginRepository>
483   - </pluginRepositories>
484   -
485   - <properties>
486   - <start-class>com.bsth.Application</start-class>
487   - </properties>
488   -</project>
  1 +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  2 + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  3 +
  4 + <modelVersion>4.0.0</modelVersion>
  5 + <groupId>com.bsth</groupId>
  6 + <artifactId>bsth_control</artifactId>
  7 + <version>0.0.1-SNAPSHOT</version>
  8 + <packaging>war</packaging>
  9 +
  10 + <parent>
  11 + <groupId>org.springframework.boot</groupId>
  12 + <artifactId>spring-boot-starter-parent</artifactId>
  13 + <version>2.1.6.RELEASE</version>
  14 + </parent>
  15 +
  16 + <dependencies>
  17 + <dependency>
  18 + <groupId>org.springframework.boot</groupId>
  19 + <artifactId>spring-boot-starter-web</artifactId>
  20 + </dependency>
  21 +
  22 + <dependency>
  23 + <groupId>org.springframework.boot</groupId>
  24 + <artifactId>spring-boot-starter-tomcat</artifactId>
  25 + <scope>provided</scope>
  26 + </dependency>
  27 + <dependency>
  28 + <groupId>javax.servlet</groupId>
  29 + <artifactId>javax.servlet-api</artifactId>
  30 + <version>3.1.0</version>
  31 + <scope>provided</scope>
  32 + </dependency>
  33 + <dependency>
  34 + <groupId>org.springframework.boot</groupId>
  35 + <artifactId>spring-boot-starter-security</artifactId>
  36 + </dependency>
  37 + <dependency>
  38 + <groupId>org.springframework.boot</groupId>
  39 + <artifactId>spring-boot-starter-data-jpa</artifactId>
  40 + </dependency>
  41 + <dependency>
  42 + <groupId>org.springframework.boot</groupId>
  43 + <artifactId>spring-boot-starter-aop</artifactId>
  44 + </dependency>
  45 +
  46 + <dependency>
  47 + <groupId>org.springframework</groupId>
  48 + <artifactId>spring-context-support</artifactId>
  49 + </dependency>
  50 + <dependency>
  51 + <groupId>org.springframework.boot</groupId>
  52 + <artifactId>spring-boot-starter-websocket</artifactId>
  53 + </dependency>
  54 + <dependency>
  55 + <groupId>org.springframework.boot</groupId>
  56 + <artifactId>spring-boot-configuration-processor</artifactId>
  57 + <optional>true</optional>
  58 + </dependency>
  59 + <dependency>
  60 + <groupId>org.springframework.kafka</groupId>
  61 + <artifactId>spring-kafka</artifactId>
  62 + </dependency>
  63 + <dependency>
  64 + <groupId>mysql</groupId>
  65 + <artifactId>mysql-connector-java</artifactId>
  66 + <version>5.1.38</version>
  67 + </dependency>
  68 +
  69 + <dependency>
  70 + <groupId>joda-time</groupId>
  71 + <artifactId>joda-time</artifactId>
  72 + </dependency>
  73 + <dependency>
  74 + <groupId>com.alibaba</groupId>
  75 + <artifactId>fastjson</artifactId>
  76 + <version>1.2.4</version>
  77 + </dependency>
  78 +
  79 + <dependency>
  80 + <groupId>org.apache.httpcomponents</groupId>
  81 + <artifactId>httpclient</artifactId>
  82 + </dependency>
  83 +
  84 + <!-- dbcp2数据库连接池 -->
  85 + <dependency>
  86 + <groupId>org.apache.commons</groupId>
  87 + <artifactId>commons-dbcp2</artifactId>
  88 + </dependency>
  89 +
  90 + <dependency>
  91 + <groupId>org.hibernate</groupId>
  92 + <artifactId>hibernate-search-orm</artifactId>
  93 + <version>5.11.2.Final</version>
  94 + </dependency>
  95 +
  96 + <dependency>
  97 + <groupId>commons-lang</groupId>
  98 + <artifactId>commons-lang</artifactId>
  99 + <version>2.6</version>
  100 + </dependency>
  101 + <dependency>
  102 + <groupId>org.apache.commons</groupId>
  103 + <artifactId>commons-lang3</artifactId>
  104 + <version>3.4</version>
  105 + </dependency>
  106 + <dependency>
  107 + <groupId>commons-fileupload</groupId>
  108 + <artifactId>commons-fileupload</artifactId>
  109 + <version>1.2.2</version>
  110 + </dependency>
  111 + <dependency>
  112 + <groupId>commons-io</groupId>
  113 + <artifactId>commons-io</artifactId>
  114 + <version>2.4</version>
  115 + </dependency>
  116 + <dependency>
  117 + <groupId>org.codehaus.janino</groupId>
  118 + <artifactId>janino</artifactId>
  119 + </dependency>
  120 +
  121 + <dependency>
  122 + <groupId>org.apache.poi</groupId>
  123 + <artifactId>poi-ooxml</artifactId>
  124 + <version>3.13</version>
  125 + </dependency>
  126 +
  127 + <dependency>
  128 + <groupId>com.google.guava</groupId>
  129 + <artifactId>guava</artifactId>
  130 + <version>19.0</version>
  131 + </dependency>
  132 + <!-- ftp文件上传包 -->
  133 + <dependency>
  134 + <groupId>commons-net</groupId>
  135 + <artifactId>commons-net</artifactId>
  136 + <version>3.5</version>
  137 + </dependency>
  138 + <dependency>
  139 + <groupId>org.apache.commons</groupId>
  140 + <artifactId>commons-compress</artifactId>
  141 + <version>1.3</version>
  142 + </dependency>
  143 + <!-- drools 6依赖 -->
  144 + <dependency>
  145 + <groupId>org.kie</groupId>
  146 + <artifactId>kie-api</artifactId>
  147 + </dependency>
  148 + <dependency>
  149 + <groupId>org.drools</groupId>
  150 + <artifactId>drools-compiler</artifactId>
  151 + </dependency>
  152 +
  153 + <!-- springboot测试 -->
  154 + <dependency>
  155 + <groupId>org.springframework.boot</groupId>
  156 + <artifactId>spring-boot-starter-test</artifactId>
  157 + <scope>test</scope>
  158 + </dependency>
  159 +
  160 + <dependency>
  161 + <groupId>c3p0</groupId>
  162 + <artifactId>c3p0</artifactId>
  163 + <version>0.9.1.2</version>
  164 + </dependency>
  165 +
  166 + <!-- 图表 -->
  167 + <dependency>
  168 + <groupId>com.google.code.gson</groupId>
  169 + <artifactId>gson</artifactId>
  170 + <version>2.8.5</version>
  171 + </dependency>
  172 + <dependency>
  173 + <groupId>com.github.abel533</groupId>
  174 + <artifactId>ECharts</artifactId>
  175 + <version>2.1.8</version>
  176 + </dependency>
  177 +
  178 + <dependency>
  179 + <groupId>org.apache.tika</groupId>
  180 + <artifactId>tika-core</artifactId>
  181 + <version>1.7</version>
  182 + </dependency>
  183 +
  184 + <!-- pentaho kettle 依赖 -->
  185 + <dependency>
  186 + <groupId>pentaho-kettle</groupId>
  187 + <artifactId>kettle-core</artifactId>
  188 + <version>6.0.1.0-386</version>
  189 + <exclusions>
  190 + <exclusion>
  191 + <groupId>org.apache.xmlgraphics</groupId>
  192 + <artifactId>batik-js</artifactId>
  193 + </exclusion>
  194 + </exclusions>
  195 + </dependency>
  196 + <dependency>
  197 + <groupId>pentaho-kettle</groupId>
  198 + <artifactId>kettle-engine</artifactId>
  199 + <version>6.0.1.0-386</version>
  200 + </dependency>
  201 + <dependency>
  202 + <groupId>pentaho</groupId>
  203 + <artifactId>metastore</artifactId>
  204 + <version>6.0.1.0-386</version>
  205 + </dependency>
  206 + <dependency>
  207 + <groupId>org.apache.commons</groupId>
  208 + <artifactId>commons-vfs2</artifactId>
  209 + <version>2.1-20150824</version>
  210 + </dependency>
  211 +
  212 + <dependency>
  213 + <groupId>net.sourceforge.jexcelapi</groupId>
  214 + <artifactId>jxl</artifactId>
  215 + <version>2.6.12</version>
  216 + <exclusions>
  217 + <exclusion>
  218 + <groupId>log4j</groupId>
  219 + <artifactId>log4j</artifactId>
  220 + </exclusion>
  221 + </exclusions>
  222 + </dependency>
  223 + <dependency>
  224 + <groupId>rhino</groupId>
  225 + <artifactId>js</artifactId>
  226 + <version>1.7R2</version>
  227 + </dependency>
  228 + <dependency>
  229 + <groupId>javax.mail</groupId>
  230 + <artifactId>mail</artifactId>
  231 + <version>1.4.7</version>
  232 + </dependency>
  233 +
  234 + <dependency>
  235 + <groupId>com.github.axet</groupId>
  236 + <artifactId>kaptcha</artifactId>
  237 + <version>0.0.9</version>
  238 + </dependency>
  239 +
  240 + <dependency>
  241 + <groupId>commons-codec</groupId>
  242 + <artifactId>commons-codec</artifactId>
  243 + <version>1.4</version>
  244 + <scope>compile</scope>
  245 + </dependency>
  246 + <dependency>
  247 + <groupId>org.bouncycastle</groupId>
  248 + <artifactId>bcprov-jdk15on</artifactId>
  249 + <version>1.52</version>
  250 + </dependency>
  251 + <dependency>
  252 + <groupId>axis</groupId>
  253 + <artifactId>axis</artifactId>
  254 + <version>1.4</version>
  255 + </dependency>
  256 + <dependency>
  257 + <groupId>javax.xml</groupId>
  258 + <artifactId>jaxrpc-api</artifactId>
  259 + <version>1.1</version>
  260 + </dependency>
  261 +
  262 + <dependency>
  263 + <groupId>org.apache.axis2</groupId>
  264 + <artifactId>axis2-adb</artifactId>
  265 + <version>1.7.4</version>
  266 + </dependency>
  267 + <dependency>
  268 + <groupId>org.apache.axis2</groupId>
  269 + <artifactId>axis2-transport-local</artifactId>
  270 + <version>1.7.4</version>
  271 + </dependency>
  272 + <dependency>
  273 + <groupId>org.apache.axis2</groupId>
  274 + <artifactId>axis2-transport-http</artifactId>
  275 + <version>1.7.4</version>
  276 + </dependency>
  277 +
  278 + <dependency>
  279 + <groupId>org.dbunit</groupId>
  280 + <artifactId>dbunit</artifactId>
  281 + <version>2.4.9</version>
  282 + <scope>test</scope>
  283 +
  284 + <exclusions>
  285 + <exclusion>
  286 + <groupId>org.slf4j</groupId>
  287 + <artifactId>slf4j-api</artifactId>
  288 + </exclusion>
  289 + </exclusions>
  290 + </dependency>
  291 +
  292 + <dependency>
  293 + <groupId>com.h2database</groupId>
  294 + <artifactId>h2</artifactId>
  295 + <version>1.2.132</version>
  296 + <scope>test</scope>
  297 + </dependency>
  298 +
  299 +
  300 + <dependency>
  301 + <groupId>org.apache.mina</groupId>
  302 + <artifactId>mina-core</artifactId>
  303 + <version>2.0.13</version>
  304 + </dependency>
  305 +
  306 + <dependency>
  307 + <groupId>com.google.protobuf</groupId>
  308 + <artifactId>protobuf-java</artifactId>
  309 + <version>3.3.0</version>
  310 + </dependency>
  311 +
  312 + <dependency>
  313 + <groupId>com.github.stuxuhai</groupId>
  314 + <artifactId>jpinyin</artifactId>
  315 + <version>1.1.8</version>
  316 + </dependency>
  317 +
  318 + <!-- dubbo 需要的jar start -->
  319 + <dependency>
  320 + <groupId>com.alibaba</groupId>
  321 + <artifactId>dubbo</artifactId>
  322 + <!--<version>2.6.3</version>-->
  323 + <version>2.5.3</version>
  324 + <exclusions>
  325 + <exclusion>
  326 + <groupId>org.springframework</groupId>
  327 + <artifactId>spring</artifactId>
  328 + </exclusion>
  329 + <exclusion>
  330 + <groupId>log4j</groupId>
  331 + <artifactId>log4j</artifactId>
  332 + </exclusion>
  333 + </exclusions>
  334 + </dependency>
  335 +
  336 + <dependency>
  337 + <groupId>org.apache.zookeeper</groupId>
  338 + <artifactId>zookeeper</artifactId>
  339 + <version>3.4.5</version>
  340 + <exclusions>
  341 + <exclusion>
  342 + <groupId>log4j</groupId>
  343 + <artifactId>log4j</artifactId>
  344 + </exclusion>
  345 + <exclusion>
  346 + <groupId>org.slf4j</groupId>
  347 + <artifactId>slf4j-log4j12</artifactId>
  348 + </exclusion>
  349 + </exclusions>
  350 + </dependency>
  351 +
  352 + <dependency>
  353 + <groupId>com.101tec</groupId>
  354 + <artifactId>zkclient</artifactId>
  355 + <version>0.3</version>
  356 + <exclusions>
  357 + <exclusion>
  358 + <groupId>log4j</groupId>
  359 + <artifactId>log4j</artifactId>
  360 + </exclusion>
  361 + </exclusions>
  362 + </dependency>
  363 +
  364 + <!-- plan common工程依赖 -->
  365 + <dependency>
  366 + <groupId>com.bsth.control_v2</groupId>
  367 + <artifactId>plan_module-common</artifactId>
  368 + <version>1.0-SNAPSHOT</version>
  369 + </dependency>
  370 + <!-- plan common config 工程依赖 -->
  371 + <dependency>
  372 + <groupId>com.bsth.control_v2</groupId>
  373 + <artifactId>plan_module-common-config</artifactId>
  374 + <version>1.0-SNAPSHOT</version>
  375 + </dependency>
  376 + <dependency>
  377 + <groupId>org.slf4j</groupId>
  378 + <artifactId>slf4j-api</artifactId>
  379 + <version>1.7.7</version>
  380 + </dependency>
  381 + <dependency>
  382 + <groupId>ch.qos.logback</groupId>
  383 + <artifactId>logback-classic</artifactId>
  384 + <version>1.1.11</version>
  385 + </dependency>
  386 + <dependency>
  387 + <groupId>org.slf4j</groupId>
  388 + <artifactId>log4j-over-slf4j</artifactId>
  389 + <version>1.7.7</version>
  390 + </dependency>
  391 +
  392 + <dependency>
  393 + <groupId>org.projectlombok</groupId>
  394 + <artifactId>lombok</artifactId>
  395 + </dependency>
  396 +
  397 + <!-- https://mvnrepository.com/artifact/pentaho/simple-jndi -->
  398 + <dependency>
  399 + <groupId>pentaho</groupId>
  400 + <artifactId>simple-jndi</artifactId>
  401 + <version>1.0.0</version>
  402 + </dependency>
  403 +
  404 + <!-- geotool -->
  405 + <dependency>
  406 + <groupId>org.locationtech.jts</groupId>
  407 + <artifactId>jts-core</artifactId>
  408 + <version>1.16.1</version>
  409 + </dependency>
  410 +
  411 + <dependency>
  412 + <groupId>org.hibernate</groupId>
  413 + <artifactId>hibernate-spatial</artifactId>
  414 + </dependency>
  415 + </dependencies>
  416 +
  417 + <dependencyManagement>
  418 + <dependencies>
  419 + <!-- drools 6依赖 -->
  420 + <dependency>
  421 + <groupId>org.drools</groupId>
  422 + <artifactId>drools-bom</artifactId>
  423 + <type>pom</type>
  424 + <version>6.3.0.Final</version>
  425 + <scope>import</scope>
  426 + </dependency>
  427 + </dependencies>
  428 + </dependencyManagement>
  429 +
  430 + <build>
  431 + <plugins>
  432 + <plugin>
  433 + <artifactId>maven-compiler-plugin</artifactId>
  434 + <configuration>
  435 + <source>1.8</source>
  436 + <target>1.8</target>
  437 + </configuration>
  438 + </plugin>
  439 + <plugin>
  440 + <artifactId>maven-war-plugin</artifactId>
  441 + <configuration>
  442 + <failOnMissingWebXml>false</failOnMissingWebXml>
  443 + </configuration>
  444 + </plugin>
  445 + <plugin>
  446 + <groupId>org.springframework.boot</groupId>
  447 + <artifactId>spring-boot-maven-plugin</artifactId>
  448 + </plugin>
  449 + </plugins>
  450 + <resources>
  451 + <resource>
  452 + <directory>src/main/resources</directory>
  453 + <filtering>false</filtering>
  454 + </resource>
  455 + </resources>
  456 + </build>
  457 + <repositories>
  458 + <repository>
  459 + <id>spring-snapshots</id>
  460 + <url>http://repo.spring.io/snapshot</url>
  461 + <snapshots>
  462 + <enabled>true</enabled>
  463 + </snapshots>
  464 + </repository>
  465 + <repository>
  466 + <id>spring-milestones</id>
  467 + <url>http://repo.spring.io/milestone</url>
  468 + </repository>
  469 + <repository>
  470 + <id>pentaho-public</id>
  471 + <url>https://repo.orl.eng.hitachivantara.com/artifactory/pnt-mvn/</url>
  472 + </repository>
  473 + </repositories>
  474 + <pluginRepositories>
  475 + <pluginRepository>
  476 + <id>spring-snapshots</id>
  477 + <url>http://repo.spring.io/snapshot</url>
  478 + </pluginRepository>
  479 + <pluginRepository>
  480 + <id>spring-milestones</id>
  481 + <url>http://repo.spring.io/milestone</url>
  482 + </pluginRepository>
  483 + </pluginRepositories>
  484 +
  485 + <properties>
  486 + <start-class>com.bsth.Application</start-class>
  487 + </properties>
  488 +</project>
... ...
src/main/java/com/bsth/Application.java
1   -package com.bsth;
2   -
3   -import com.bsth.data.SystemParamCache;
4   -import com.fasterxml.jackson.annotation.JsonInclude;
5   -import com.fasterxml.jackson.databind.ObjectMapper;
6   -import com.fasterxml.jackson.databind.SerializationFeature;
7   -import org.springframework.beans.factory.annotation.Autowired;
8   -import org.springframework.boot.SpringApplication;
9   -import org.springframework.boot.autoconfigure.SpringBootApplication;
10   -import org.springframework.boot.builder.SpringApplicationBuilder;
11   -import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
12   -import org.springframework.context.annotation.Bean;
13   -import org.springframework.context.annotation.EnableAspectJAutoProxy;
14   -import org.springframework.context.annotation.Primary;
15   -import org.springframework.transaction.annotation.EnableTransactionManagement;
16   -
17   -import java.util.concurrent.Executors;
18   -import java.util.concurrent.ScheduledExecutorService;
19   -
20   -@EnableAspectJAutoProxy
21   -@EnableTransactionManagement
22   -@SpringBootApplication
23   -public class Application extends SpringBootServletInitializer {
24   -
25   - public static ScheduledExecutorService mainServices = Executors.newScheduledThreadPool(21);
26   -
27   - @Autowired
28   - private SystemParamCache systemParamCache;
29   -
30   - @Override
31   - protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
32   - return application.sources(Application.class);
33   - }
34   -
35   - @Bean
36   - @Primary
37   - public ObjectMapper objectMapper() {
38   - ObjectMapper mapper = new ObjectMapper();
39   - mapper.disable(SerializationFeature.FAIL_ON_EMPTY_BEANS);
40   - mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
41   -
42   - return mapper;
43   - }
44   -
45   - public static void main(String[] args) throws Exception {
46   - SpringApplication.run(Application.class, args);
47   - }
  1 +package com.bsth;
  2 +
  3 +import com.bsth.data.SystemParamCache;
  4 +import com.fasterxml.jackson.annotation.JsonInclude;
  5 +import com.fasterxml.jackson.databind.ObjectMapper;
  6 +import com.fasterxml.jackson.databind.SerializationFeature;
  7 +import org.springframework.beans.factory.annotation.Autowired;
  8 +import org.springframework.boot.SpringApplication;
  9 +import org.springframework.boot.autoconfigure.SpringBootApplication;
  10 +import org.springframework.boot.builder.SpringApplicationBuilder;
  11 +import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
  12 +import org.springframework.context.annotation.Bean;
  13 +import org.springframework.context.annotation.EnableAspectJAutoProxy;
  14 +import org.springframework.context.annotation.Primary;
  15 +import org.springframework.transaction.annotation.EnableTransactionManagement;
  16 +
  17 +import java.util.concurrent.Executors;
  18 +import java.util.concurrent.ScheduledExecutorService;
  19 +
  20 +@EnableAspectJAutoProxy
  21 +@EnableTransactionManagement
  22 +@SpringBootApplication
  23 +public class Application extends SpringBootServletInitializer {
  24 +
  25 + public static ScheduledExecutorService mainServices = Executors.newScheduledThreadPool(21);
  26 +
  27 + @Autowired
  28 + private SystemParamCache systemParamCache;
  29 +
  30 + @Override
  31 + protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
  32 + return application.sources(Application.class);
  33 + }
  34 +
  35 + @Bean
  36 + @Primary
  37 + public ObjectMapper objectMapper() {
  38 + ObjectMapper mapper = new ObjectMapper();
  39 + mapper.disable(SerializationFeature.FAIL_ON_EMPTY_BEANS);
  40 + mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
  41 +
  42 + return mapper;
  43 + }
  44 +
  45 + public static void main(String[] args) throws Exception {
  46 + SpringApplication.run(Application.class, args);
  47 + }
48 48 }
49 49 \ No newline at end of file
... ...
src/main/java/com/bsth/StartCommand.java
1   -package com.bsth;
2   -
3   -
4   -import com.bsth.security.SecurityMetadataSourceService;
5   -
6   -import org.slf4j.Logger;
7   -import org.slf4j.LoggerFactory;
8   -import org.springframework.beans.factory.annotation.Autowired;
9   -import org.springframework.boot.CommandLineRunner;
10   -import org.springframework.stereotype.Component;
11   -
12   -
13   -/**
14   - * 随应用启动运行
15   - * @author PanZhao
16   - *
17   - */
18   -@Component
19   -public class StartCommand implements CommandLineRunner{
20   -
21   - Logger logger = LoggerFactory.getLogger(this.getClass());
22   -
23   - @Autowired
24   - SecurityMetadataSourceService invocationSecurityMetadataSourceService;
25   -
26   - @Override
27   - public void run(String... arg0){
28   -
29   - try {
30   - //启动时加载所有资源
31   - invocationSecurityMetadataSourceService.loadResourceDefine();
32   - } catch (Exception e) {
33   - e.printStackTrace();
34   - }
35   - }
36   -}
  1 +package com.bsth;
  2 +
  3 +
  4 +import com.bsth.security.SecurityMetadataSourceService;
  5 +
  6 +import org.slf4j.Logger;
  7 +import org.slf4j.LoggerFactory;
  8 +import org.springframework.beans.factory.annotation.Autowired;
  9 +import org.springframework.boot.CommandLineRunner;
  10 +import org.springframework.stereotype.Component;
  11 +
  12 +
  13 +/**
  14 + * 随应用启动运行
  15 + * @author PanZhao
  16 + *
  17 + */
  18 +@Component
  19 +public class StartCommand implements CommandLineRunner{
  20 +
  21 + Logger logger = LoggerFactory.getLogger(this.getClass());
  22 +
  23 + @Autowired
  24 + SecurityMetadataSourceService invocationSecurityMetadataSourceService;
  25 +
  26 + @Override
  27 + public void run(String... arg0){
  28 +
  29 + try {
  30 + //启动时加载所有资源
  31 + invocationSecurityMetadataSourceService.loadResourceDefine();
  32 + } catch (Exception e) {
  33 + e.printStackTrace();
  34 + }
  35 + }
  36 +}
... ...
src/main/java/com/bsth/WebAppConfiguration.java
1   -package com.bsth;
2   -
3   -import com.bsth.filter.ResourceFilter;
4   -import com.bsth.websocket.WebSocketHandshakeInterceptor;
5   -import com.bsth.websocket.handler.RealControlSocketHandler;
6   -import org.slf4j.Logger;
7   -import org.slf4j.LoggerFactory;
8   -import org.springframework.boot.web.servlet.FilterRegistrationBean;
9   -import org.springframework.context.annotation.Bean;
10   -import org.springframework.context.annotation.ComponentScan;
11   -import org.springframework.context.annotation.Configuration;
12   -import org.springframework.web.filter.CharacterEncodingFilter;
13   -import org.springframework.web.filter.FormContentFilter;
14   -import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
15   -import org.springframework.web.socket.config.annotation.EnableWebSocket;
16   -import org.springframework.web.socket.config.annotation.WebSocketConfigurer;
17   -import org.springframework.web.socket.config.annotation.WebSocketHandlerRegistry;
18   -
19   -import javax.servlet.Filter;
20   -
21   -/**
22   - * @author Hill
23   - */
24   -@Configuration
25   -@EnableWebSocket
26   -@ComponentScan
27   -public class WebAppConfiguration implements WebSocketConfigurer, WebMvcConfigurer {
28   -
29   - /**
30   - * @Title: httpPutFormContentFilter
31   - * @Description: TODO(弥补浏览器不支持PUT/DELETE,对携带 _method 参数的请求进行转换)
32   - */
33   - @Bean
34   - public Filter httpPutFormContentFilter() {
35   - return new FormContentFilter();
36   - }
37   -
38   - /**
39   - * @Title: characterEncodingFilter
40   - * @Description: TODO(编码过滤器)
41   - */
42   - /*@Bean
43   - public Filter characterEncodingFilter(){
44   - return new CharacterEncodingFilter("UTF-8");
45   - }*/
46   -
47   - /**
48   - *
49   - * @Title: resourceFilterRegistration
50   - * @Description: TODO(静态资源过滤器, 只处理 /pages 目录下的片段请求 )
51   - */
52   - @Bean
53   - public FilterRegistrationBean resourceFilterRegistration(){
54   - FilterRegistrationBean registration = new FilterRegistrationBean();
55   - registration.setFilter(new ResourceFilter());
56   - registration.addUrlPatterns("/pages/*");
57   - return registration;
58   - }
59   -
60   - @Override
61   - public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
62   - //线调webSocket
63   - registry.addHandler(new RealControlSocketHandler(), "/sockjs/realcontrol").addInterceptors(new WebSocketHandshakeInterceptor())
64   - .withSockJS();
65   - }
66   -}
  1 +package com.bsth;
  2 +
  3 +import com.bsth.filter.ResourceFilter;
  4 +import com.bsth.websocket.WebSocketHandshakeInterceptor;
  5 +import com.bsth.websocket.handler.RealControlSocketHandler;
  6 +import org.slf4j.Logger;
  7 +import org.slf4j.LoggerFactory;
  8 +import org.springframework.boot.web.servlet.FilterRegistrationBean;
  9 +import org.springframework.context.annotation.Bean;
  10 +import org.springframework.context.annotation.ComponentScan;
  11 +import org.springframework.context.annotation.Configuration;
  12 +import org.springframework.web.filter.CharacterEncodingFilter;
  13 +import org.springframework.web.filter.FormContentFilter;
  14 +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
  15 +import org.springframework.web.socket.config.annotation.EnableWebSocket;
  16 +import org.springframework.web.socket.config.annotation.WebSocketConfigurer;
  17 +import org.springframework.web.socket.config.annotation.WebSocketHandlerRegistry;
  18 +
  19 +import javax.servlet.Filter;
  20 +
  21 +/**
  22 + * @author Hill
  23 + */
  24 +@Configuration
  25 +@EnableWebSocket
  26 +@ComponentScan
  27 +public class WebAppConfiguration implements WebSocketConfigurer, WebMvcConfigurer {
  28 +
  29 + /**
  30 + * @Title: httpPutFormContentFilter
  31 + * @Description: TODO(弥补浏览器不支持PUT/DELETE,对携带 _method 参数的请求进行转换)
  32 + */
  33 + @Bean
  34 + public Filter httpPutFormContentFilter() {
  35 + return new FormContentFilter();
  36 + }
  37 +
  38 + /**
  39 + * @Title: characterEncodingFilter
  40 + * @Description: TODO(编码过滤器)
  41 + */
  42 + /*@Bean
  43 + public Filter characterEncodingFilter(){
  44 + return new CharacterEncodingFilter("UTF-8");
  45 + }*/
  46 +
  47 + /**
  48 + *
  49 + * @Title: resourceFilterRegistration
  50 + * @Description: TODO(静态资源过滤器, 只处理 /pages 目录下的片段请求 )
  51 + */
  52 + @Bean
  53 + public FilterRegistrationBean resourceFilterRegistration(){
  54 + FilterRegistrationBean registration = new FilterRegistrationBean();
  55 + registration.setFilter(new ResourceFilter());
  56 + registration.addUrlPatterns("/pages/*");
  57 + return registration;
  58 + }
  59 +
  60 + @Override
  61 + public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
  62 + //线调webSocket
  63 + registry.addHandler(new RealControlSocketHandler(), "/sockjs/realcontrol").addInterceptors(new WebSocketHandshakeInterceptor())
  64 + .withSockJS();
  65 + }
  66 +}
... ...
src/main/java/com/bsth/XDApplication.java
1   -package com.bsth;
2   -
3   -import com.bsth.data.BasicData;
4   -import com.bsth.data.LineVersionsData;
5   -import com.bsth.data.ThreadMonotor;
6   -import com.bsth.data.car_out_info.UpdateDBThread;
7   -import com.bsth.data.directive.DirectivesPstThread;
8   -import com.bsth.data.forecast.SampleTimeDataLoader;
9   -import com.bsth.data.gpsdata_v2.thread.GpsDataLoaderThread;
10   -import com.bsth.data.gpsdata_v2.thread.OfflineMonitorThread;
11   -import com.bsth.data.gpsdata_v2.thread.RfidDataLoaderThread;
12   -import com.bsth.data.maintenance_plan.MtPlanDataLoadThread;
13   -import com.bsth.data.msg_queue.DirectivePushQueue;
14   -import com.bsth.data.msg_queue.WebSocketPushQueue;
15   -import com.bsth.data.safe_driv.SafeDrivDataLoadThread;
16   -import com.bsth.data.schedule.DayOfSchedule;
17   -import com.bsth.data.schedule.auto_exec.AutoExecScanThread;
18   -import com.bsth.data.schedule.e_state_check.thread.FixedCheckStationCodeThread;
19   -import com.bsth.data.schedule.edit_logs.SeiPstThread;
20   -import com.bsth.data.schedule.late_adjust.ScheduleLateThread;
21   -import com.bsth.data.schedule.signal.SchSiginUpdateDBThread;
22   -import com.bsth.data.schedule.thread.CalcOilThread;
23   -import com.bsth.data.schedule.thread.SchedulePstThread;
24   -import com.bsth.data.schedule.thread.ScheduleRefreshThread;
25   -import com.bsth.data.schedule.thread.SubmitToTrafficManage;
26   -import com.bsth.util.DateUtils;
27   -import com.bsth.util.Tools;
28   -import org.slf4j.Logger;
29   -import org.slf4j.LoggerFactory;
30   -import org.springframework.beans.factory.annotation.Autowired;
31   -import org.springframework.boot.CommandLineRunner;
32   -import org.springframework.stereotype.Component;
33   -
34   -import java.util.concurrent.ScheduledExecutorService;
35   -import java.util.concurrent.TimeUnit;
36   -
37   -/**
38   - * 线调大部分服务都在这里启动
39   - * Created by panzhao on 2017/5/14.
40   - */
41   -@Component
42   -public class XDApplication implements CommandLineRunner {
43   -
44   - Logger log = LoggerFactory.getLogger(this.getClass());
45   -
46   - @Autowired
47   - BasicData.BasicDataLoader basicDataLoader;
48   - @Autowired
49   - UpdateDBThread fcxxUpdateThread;
50   - @Autowired
51   - ScheduleRefreshThread scheduleRefreshThread;
52   - @Autowired
53   - SchedulePstThread schedulePstThread;
54   - @Autowired
55   - ScheduleLateThread scheduleLateThread;
56   - @Autowired
57   - SubmitToTrafficManage submitToTrafficManage;
58   - @Autowired
59   - CalcOilThread calcOilThread;
60   - @Autowired
61   - DirectivesPstThread directivesPstThread;
62   - @Autowired
63   - ThreadMonotor threadMonotor;
64   - @Autowired
65   - SeiPstThread seiPstThread;
66   - @Autowired
67   - SampleTimeDataLoader sampleTimeDataLoader;
68   - @Autowired
69   - SchSiginUpdateDBThread schSiginUpdateDBThread;
70   - @Autowired
71   - AutoExecScanThread autoExecScanThread;
72   -
73   - @Autowired
74   - GpsDataLoaderThread gpsDataLoader;
75   - @Autowired
76   - RfidDataLoaderThread rfidDataLoader;
77   -
78   - @Autowired
79   - OfflineMonitorThread offlineMonitorThread;
80   -
81   - @Autowired
82   - LineVersionsData lineVersionsData;
83   -
84   - /*@Autowired
85   - FixedEnableVerionsThread fixedEnableVerionsThread;*/
86   -
87   - @Autowired
88   - SafeDrivDataLoadThread safeDrivDataLoadThread;
89   -
90   - @Autowired
91   - MtPlanDataLoadThread mtPlanDataLoadThread;
92   -
93   - @Autowired
94   - FixedCheckStationCodeThread fixedCheckStationCodeThread;
95   -
96   - private static long timeDiff;
97   - private static long timeDiffTraffic;
98   -
99   - static {
100   - // 早上2:20
101   - timeDiff = (DateUtils.getTimestamp() + 1000 * 60 * 140) - System.currentTimeMillis();
102   - if (timeDiff < 0)
103   - timeDiff += (1000 * 60 * 60 * 24);
104   - // 早上09:00
105   - timeDiffTraffic = (DateUtils.getTimestamp() + 3600000 * 9) - System.currentTimeMillis();
106   - if (timeDiffTraffic < 0)
107   - timeDiffTraffic += (1000 * 60 * 60 * 24);
108   - }
109   -
110   - @Override
111   - public void run(String... strings) throws Exception {
112   - try {
113   - Tools tools = new Tools("application.properties");
114   - String environment = tools.getValue("spring.profiles.active");
115   - //预先加载基础的对照数据
116   - basicDataLoader.loadAllData();
117   - switch (environment){
118   - case "dev":
119   - devInit();
120   - break;
121   - case "prod":
122   - prodInit();
123   - break;
124   - case "test":
125   - testInit();
126   - break;
127   - case "cloud":
128   - cloudInit();
129   - break;
130   - default:
131   - break;
132   - }
133   - }catch (Exception e){
134   - log.error("线调后台启动出现异常!!", e);
135   - System.exit(1);
136   - }
137   - }
138   -
139   - @Autowired
140   - DayOfSchedule dayOfSchedule;
141   - public void devInit(){
142   - log.info("devInit...");
143   - ScheduledExecutorService sexec = Application.mainServices;
144   - //抓取GPS数据
145   - gpsDataLoader.setFlag(-1);
146   - //dayOfSchedule.dataRecovery();
147   -
148   - //安全驾驶
149   - sexec.scheduleWithFixedDelay(safeDrivDataLoadThread, 180, 10, TimeUnit.SECONDS);
150   -
151   - /** 线调业务 */
152   - sexec.scheduleWithFixedDelay(scheduleRefreshThread, 10, 120, TimeUnit.SECONDS);//班次更新线程
153   - sexec.scheduleWithFixedDelay(scheduleLateThread, 140, 20, TimeUnit.SECONDS);//检查班次误点
154   - sexec.scheduleWithFixedDelay(gpsDataLoader, 100, 2, TimeUnit.SECONDS);//抓取GPS数据
155   - sexec.scheduleWithFixedDelay(rfidDataLoader, 5, 5, TimeUnit.SECONDS);//抓取RFID数据
156   - sexec.scheduleWithFixedDelay(fixedCheckStationCodeThread, 60, 60 * 5, TimeUnit.SECONDS);//检查班次站点编码
157   -
158   - sexec.scheduleWithFixedDelay(offlineMonitorThread, 120, 60, TimeUnit.SECONDS);//GPS设备掉离线
159   - sexec.scheduleWithFixedDelay(schedulePstThread, 180, 10, TimeUnit.SECONDS);//班次延迟入库线程
160   - sexec.scheduleWithFixedDelay(seiPstThread, 180, 60, TimeUnit.SECONDS);//班次修正日志入库
161   - sexec.scheduleWithFixedDelay(directivesPstThread, 120, 60, TimeUnit.SECONDS);//调度指令延迟入库
162   - sexec.scheduleWithFixedDelay(threadMonotor, 240, 60, TimeUnit.SECONDS);//线程监听(防止重要的线程阻塞、异常结束。以及部分主备切换工作)
163   - sexec.scheduleWithFixedDelay(sampleTimeDataLoader, 140, 120 * 60, TimeUnit.SECONDS);//到离站预测需要的站点间耗时数据
164   - sexec.scheduleWithFixedDelay(basicDataLoader, 1, 1, TimeUnit.HOURS);//基础数据更新
165   - sexec.scheduleWithFixedDelay(autoExecScanThread, 180, 50, TimeUnit.SECONDS);//班次自动执行
166   - //DirectivePushQueue.start();//消息队列 -指令,系统下发的
167   - WebSocketPushQueue.start();//消息队列 -webSocket ,推送至线调web页面的
168   -
169   - /** 线调为其他程序提供的数据 --写入数据库 */
170   - sexec.scheduleWithFixedDelay(fcxxUpdateThread, 160, 30, TimeUnit.SECONDS);//发车信息(发车屏、信息发布)
171   - //线路首末班数据(网关用,班次更新时写入)
172   - //com.bsth.data.schedule.f_a_l.FirstAndLastHandler
173   - sexec.scheduleWithFixedDelay(schSiginUpdateDBThread, 160, 60 * 30, TimeUnit.SECONDS);//无法自动完成的班次信息(网关用,补信号)
174   -
175   - //运管处静态数据提交
176   - //log.info(timeDiff / 1000 / 60 + "分钟之后提交到运管处");
177   - //sexec.scheduleAtFixedRate(submitToTrafficManage, timeDiffTraffic / 1000, 60 * 60 * 24, TimeUnit.SECONDS);
178   - //计算油、公里加注
179   - sexec.scheduleAtFixedRate(calcOilThread, timeDiff / 1000, 60 * 60 * 24, TimeUnit.SECONDS);
180   -
181   - //线路版本更新
182   - sexec.scheduleWithFixedDelay(lineVersionsData, 60 * 5, 60 * 15, TimeUnit.SECONDS);
183   -
184   - //线路版本更新
185   - //sexec.scheduleWithFixedDelay(fixedEnableVerionsThread, 60 * 4, 60 * 2 , TimeUnit.SECONDS);
186   - }
187   -
188   - public void prodInit(){
189   - log.info("prodInit...");
190   - ScheduledExecutorService sexec = Application.mainServices;
191   - //安全驾驶
192   - sexec.scheduleWithFixedDelay(safeDrivDataLoadThread, 180, 10, TimeUnit.SECONDS);
193   - sexec.scheduleWithFixedDelay(mtPlanDataLoadThread, 180, 10, TimeUnit.SECONDS);
194   -
195   - GpsDataLoaderThread.setFlag(-1);
196   - /** 线调业务 */
197   - sexec.scheduleWithFixedDelay(scheduleRefreshThread, 10, 120, TimeUnit.SECONDS);//班次更新线程
198   - sexec.scheduleWithFixedDelay(scheduleLateThread, 140, 20, TimeUnit.SECONDS);//检查班次误点
199   - sexec.scheduleWithFixedDelay(gpsDataLoader, 0, 2, TimeUnit.SECONDS);//抓取GPS数据
200   - sexec.scheduleWithFixedDelay(rfidDataLoader, 5, 5, TimeUnit.SECONDS);//抓取RFID数据
201   - sexec.scheduleWithFixedDelay(fixedCheckStationCodeThread, 60, 60 * 5, TimeUnit.SECONDS);//检查班次站点编码
202   -
203   - sexec.scheduleWithFixedDelay(offlineMonitorThread, 120, 60, TimeUnit.SECONDS);//GPS设备掉离线
204   - sexec.scheduleWithFixedDelay(schedulePstThread, 180, 10, TimeUnit.SECONDS);//班次延迟入库线程
205   - sexec.scheduleWithFixedDelay(seiPstThread, 180, 60, TimeUnit.SECONDS);//班次修正日志入库
206   - sexec.scheduleWithFixedDelay(directivesPstThread, 120, 60, TimeUnit.SECONDS);//调度指令延迟入库
207   - sexec.scheduleWithFixedDelay(threadMonotor, 240, 60, TimeUnit.SECONDS);//线程监听(防止重要的线程阻塞、异常结束。以及部分主备切换工作)
208   - sexec.scheduleWithFixedDelay(sampleTimeDataLoader, 140, 120 * 60, TimeUnit.SECONDS);//到离站预测需要的站点间耗时数据
209   - sexec.scheduleWithFixedDelay(basicDataLoader, 1, 1, TimeUnit.HOURS);//基础数据更新
210   - sexec.scheduleWithFixedDelay(autoExecScanThread, 180, 50, TimeUnit.SECONDS);//班次自动执行
211   - DirectivePushQueue.start();//消息队列 -指令,系统下发的
212   - WebSocketPushQueue.start();//消息队列 -webSocket ,推送至线调web页面的
213   -
214   - /** 线调为其他程序提供的数据 --写入数据库 */
215   - sexec.scheduleWithFixedDelay(fcxxUpdateThread, 160, 30, TimeUnit.SECONDS);//发车信息(发车屏、信息发布)
216   - //线路首末班数据(网关用,班次更新时写入)
217   - //com.bsth.data.schedule.f_a_l.FirstAndLastHandler
218   - sexec.scheduleWithFixedDelay(schSiginUpdateDBThread, 160, 60 * 30, TimeUnit.SECONDS);//无法自动完成的班次信息(网关用,补信号)
219   -
220   - //运管处静态数据提交
221   - log.info(timeDiff / 1000 / 60 + "分钟之后提交到运管处");
222   - sexec.scheduleAtFixedRate(submitToTrafficManage, timeDiffTraffic / 1000, 60 * 60 * 24, TimeUnit.SECONDS);
223   - //计算油、公里加注
224   - sexec.scheduleAtFixedRate(calcOilThread, timeDiff / 1000, 60 * 60 * 24, TimeUnit.SECONDS);
225   -
226   - //线路版本更新
227   - sexec.scheduleWithFixedDelay(lineVersionsData, 60 * 5, 60 * 15, TimeUnit.SECONDS);
228   -
229   - //线路版本更新
230   - //sexec.scheduleWithFixedDelay(fixedEnableVerionsThread, 60 * 4, 60 * 2 , TimeUnit.SECONDS);
231   - }
232   -
233   - public void testInit(){
234   - log.info("testInit...");
235   - ScheduledExecutorService sexec = Application.mainServices;
236   - //安全驾驶
237   - sexec.scheduleWithFixedDelay(safeDrivDataLoadThread, 180, 10, TimeUnit.SECONDS);
238   - sexec.scheduleWithFixedDelay(mtPlanDataLoadThread, 180, 10, TimeUnit.SECONDS);
239   -
240   - GpsDataLoaderThread.setFlag(-1);
241   - //dayOfSchedule.dataRecovery();
242   - /** 线调业务 */
243   - sexec.scheduleWithFixedDelay(scheduleRefreshThread, 10, 120, TimeUnit.SECONDS);//班次更新线程
244   - sexec.scheduleWithFixedDelay(scheduleLateThread, 140, 20, TimeUnit.SECONDS);//检查班次误点
245   - sexec.scheduleWithFixedDelay(gpsDataLoader, 0, 2, TimeUnit.SECONDS);//抓取GPS数据
246   - sexec.scheduleWithFixedDelay(rfidDataLoader, 5, 5, TimeUnit.SECONDS);//抓取RFID数据
247   - sexec.scheduleWithFixedDelay(fixedCheckStationCodeThread, 60, 60 * 5, TimeUnit.SECONDS);//检查班次站点编码
248   -
249   - sexec.scheduleWithFixedDelay(offlineMonitorThread, 120, 60, TimeUnit.SECONDS);//GPS设备掉离线
250   - sexec.scheduleWithFixedDelay(schedulePstThread, 180, 10, TimeUnit.SECONDS);//班次延迟入库线程
251   - sexec.scheduleWithFixedDelay(seiPstThread, 180, 60, TimeUnit.SECONDS);//班次修正日志入库
252   - sexec.scheduleWithFixedDelay(directivesPstThread, 120, 60, TimeUnit.SECONDS);//调度指令延迟入库
253   - sexec.scheduleWithFixedDelay(threadMonotor, 240, 60, TimeUnit.SECONDS);//线程监听(防止重要的线程阻塞、异常结束。以及部分主备切换工作)
254   - sexec.scheduleWithFixedDelay(sampleTimeDataLoader, 140, 120 * 60, TimeUnit.SECONDS);//到离站预测需要的站点间耗时数据
255   - sexec.scheduleWithFixedDelay(basicDataLoader, 1, 1, TimeUnit.HOURS);//基础数据更新
256   - sexec.scheduleWithFixedDelay(autoExecScanThread, 180, 50, TimeUnit.SECONDS);//班次自动执行
257   - //DirectivePushQueue.start();//消息队列 -指令,系统下发的
258   - WebSocketPushQueue.start();//消息队列 -webSocket ,推送至线调web页面的
259   -
260   - /** 线调为其他程序提供的数据 --写入数据库 */
261   - sexec.scheduleWithFixedDelay(fcxxUpdateThread, 160, 30, TimeUnit.SECONDS);//发车信息(发车屏、信息发布)
262   - //线路首末班数据(网关用,班次更新时写入)
263   - //com.bsth.data.schedule.f_a_l.FirstAndLastHandler
264   - sexec.scheduleWithFixedDelay(schSiginUpdateDBThread, 160, 60 * 30, TimeUnit.SECONDS);//无法自动完成的班次信息(网关用,补信号)
265   -
266   - //运管处静态数据提交
267   - //log.info(timeDiff / 1000 / 60 + "分钟之后提交到运管处");
268   - //sexec.scheduleAtFixedRate(submitToTrafficManage, timeDiffTraffic / 1000, 60 * 60 * 24, TimeUnit.SECONDS);
269   - //计算油、公里加注
270   - sexec.scheduleAtFixedRate(calcOilThread, timeDiff / 1000, 60 * 60 * 24, TimeUnit.SECONDS);
271   -
272   - //线路版本更新
273   - sexec.scheduleWithFixedDelay(lineVersionsData, 60 * 5, 60 * 15, TimeUnit.SECONDS);
274   -
275   - //线路版本更新
276   - //sexec.scheduleWithFixedDelay(fixedEnableVerionsThread, 60 * 4, 60 * 2 , TimeUnit.SECONDS);
277   - }
278   -
279   - public void cloudInit(){
280   - log.info("cloudInit...");
281   - ScheduledExecutorService sexec = Application.mainServices;
282   - //安全驾驶
283   - sexec.scheduleWithFixedDelay(safeDrivDataLoadThread, 180, 10, TimeUnit.SECONDS);
284   - sexec.scheduleWithFixedDelay(mtPlanDataLoadThread, 180, 10, TimeUnit.SECONDS);
285   -
286   - GpsDataLoaderThread.setFlag(-1);
287   - /** 线调业务 */
288   - sexec.scheduleWithFixedDelay(scheduleRefreshThread, 10, 120, TimeUnit.SECONDS);//班次更新线程
289   - sexec.scheduleWithFixedDelay(scheduleLateThread, 140, 20, TimeUnit.SECONDS);//检查班次误点
290   - sexec.scheduleWithFixedDelay(gpsDataLoader, 0, 2, TimeUnit.SECONDS);//抓取GPS数据
291   - sexec.scheduleWithFixedDelay(rfidDataLoader, 5, 5, TimeUnit.SECONDS);//抓取RFID数据
292   - sexec.scheduleWithFixedDelay(fixedCheckStationCodeThread, 60, 60 * 5, TimeUnit.SECONDS);//检查班次站点编码
293   -
294   - sexec.scheduleWithFixedDelay(offlineMonitorThread, 120, 60, TimeUnit.SECONDS);//GPS设备掉离线
295   - sexec.scheduleWithFixedDelay(schedulePstThread, 180, 10, TimeUnit.SECONDS);//班次延迟入库线程
296   - sexec.scheduleWithFixedDelay(seiPstThread, 180, 60, TimeUnit.SECONDS);//班次修正日志入库
297   - sexec.scheduleWithFixedDelay(directivesPstThread, 120, 60, TimeUnit.SECONDS);//调度指令延迟入库
298   - sexec.scheduleWithFixedDelay(threadMonotor, 240, 60, TimeUnit.SECONDS);//线程监听(防止重要的线程阻塞、异常结束。以及部分主备切换工作)
299   - sexec.scheduleWithFixedDelay(sampleTimeDataLoader, 140, 120 * 60, TimeUnit.SECONDS);//到离站预测需要的站点间耗时数据
300   - sexec.scheduleWithFixedDelay(basicDataLoader, 1, 1, TimeUnit.HOURS);//基础数据更新
301   - sexec.scheduleWithFixedDelay(autoExecScanThread, 180, 50, TimeUnit.SECONDS);//班次自动执行
302   - DirectivePushQueue.start();//消息队列 -指令,系统下发的
303   - WebSocketPushQueue.start();//消息队列 -webSocket ,推送至线调web页面的
304   -
305   - /** 线调为其他程序提供的数据 --写入数据库 */
306   - sexec.scheduleWithFixedDelay(fcxxUpdateThread, 160, 30, TimeUnit.SECONDS);//发车信息(发车屏、信息发布)
307   - //线路首末班数据(网关用,班次更新时写入)
308   - //com.bsth.data.schedule.f_a_l.FirstAndLastHandler
309   - sexec.scheduleWithFixedDelay(schSiginUpdateDBThread, 160, 60 * 30, TimeUnit.SECONDS);//无法自动完成的班次信息(网关用,补信号)
310   -
311   - //运管处静态数据提交
312   - log.info(timeDiff / 1000 / 60 + "分钟之后提交到运管处");
313   - sexec.scheduleAtFixedRate(submitToTrafficManage, timeDiffTraffic / 1000, 60 * 60 * 24, TimeUnit.SECONDS);
314   - //计算油、公里加注
315   - sexec.scheduleAtFixedRate(calcOilThread, timeDiff / 1000, 60 * 60 * 24, TimeUnit.SECONDS);
316   -
317   - //线路版本更新
318   - sexec.scheduleWithFixedDelay(lineVersionsData, 60 * 5, 60 * 15, TimeUnit.SECONDS);
319   -
320   - //线路版本更新
321   - //sexec.scheduleWithFixedDelay(fixedEnableVerionsThread, 60 * 4, 60 * 2 , TimeUnit.SECONDS);
322   - }
323   -}
  1 +package com.bsth;
  2 +
  3 +import com.bsth.data.BasicData;
  4 +import com.bsth.data.LineVersionsData;
  5 +import com.bsth.data.ThreadMonotor;
  6 +import com.bsth.data.car_out_info.UpdateDBThread;
  7 +import com.bsth.data.directive.DirectivesPstThread;
  8 +import com.bsth.data.forecast.SampleTimeDataLoader;
  9 +import com.bsth.data.gpsdata_v2.thread.GpsDataLoaderThread;
  10 +import com.bsth.data.gpsdata_v2.thread.OfflineMonitorThread;
  11 +import com.bsth.data.gpsdata_v2.thread.RfidDataLoaderThread;
  12 +import com.bsth.data.maintenance_plan.MtPlanDataLoadThread;
  13 +import com.bsth.data.msg_queue.DirectivePushQueue;
  14 +import com.bsth.data.msg_queue.WebSocketPushQueue;
  15 +import com.bsth.data.safe_driv.SafeDrivDataLoadThread;
  16 +import com.bsth.data.schedule.DayOfSchedule;
  17 +import com.bsth.data.schedule.auto_exec.AutoExecScanThread;
  18 +import com.bsth.data.schedule.e_state_check.thread.FixedCheckStationCodeThread;
  19 +import com.bsth.data.schedule.edit_logs.SeiPstThread;
  20 +import com.bsth.data.schedule.late_adjust.ScheduleLateThread;
  21 +import com.bsth.data.schedule.signal.SchSiginUpdateDBThread;
  22 +import com.bsth.data.schedule.thread.CalcOilThread;
  23 +import com.bsth.data.schedule.thread.SchedulePstThread;
  24 +import com.bsth.data.schedule.thread.ScheduleRefreshThread;
  25 +import com.bsth.data.schedule.thread.SubmitToTrafficManage;
  26 +import com.bsth.util.DateUtils;
  27 +import com.bsth.util.Tools;
  28 +import org.slf4j.Logger;
  29 +import org.slf4j.LoggerFactory;
  30 +import org.springframework.beans.factory.annotation.Autowired;
  31 +import org.springframework.boot.CommandLineRunner;
  32 +import org.springframework.stereotype.Component;
  33 +
  34 +import java.util.concurrent.ScheduledExecutorService;
  35 +import java.util.concurrent.TimeUnit;
  36 +
  37 +/**
  38 + * 线调大部分服务都在这里启动
  39 + * Created by panzhao on 2017/5/14.
  40 + */
  41 +@Component
  42 +public class XDApplication implements CommandLineRunner {
  43 +
  44 + Logger log = LoggerFactory.getLogger(this.getClass());
  45 +
  46 + @Autowired
  47 + BasicData.BasicDataLoader basicDataLoader;
  48 + @Autowired
  49 + UpdateDBThread fcxxUpdateThread;
  50 + @Autowired
  51 + ScheduleRefreshThread scheduleRefreshThread;
  52 + @Autowired
  53 + SchedulePstThread schedulePstThread;
  54 + @Autowired
  55 + ScheduleLateThread scheduleLateThread;
  56 + @Autowired
  57 + SubmitToTrafficManage submitToTrafficManage;
  58 + @Autowired
  59 + CalcOilThread calcOilThread;
  60 + @Autowired
  61 + DirectivesPstThread directivesPstThread;
  62 + @Autowired
  63 + ThreadMonotor threadMonotor;
  64 + @Autowired
  65 + SeiPstThread seiPstThread;
  66 + @Autowired
  67 + SampleTimeDataLoader sampleTimeDataLoader;
  68 + @Autowired
  69 + SchSiginUpdateDBThread schSiginUpdateDBThread;
  70 + @Autowired
  71 + AutoExecScanThread autoExecScanThread;
  72 +
  73 + @Autowired
  74 + GpsDataLoaderThread gpsDataLoader;
  75 + @Autowired
  76 + RfidDataLoaderThread rfidDataLoader;
  77 +
  78 + @Autowired
  79 + OfflineMonitorThread offlineMonitorThread;
  80 +
  81 + @Autowired
  82 + LineVersionsData lineVersionsData;
  83 +
  84 + /*@Autowired
  85 + FixedEnableVerionsThread fixedEnableVerionsThread;*/
  86 +
  87 + @Autowired
  88 + SafeDrivDataLoadThread safeDrivDataLoadThread;
  89 +
  90 + @Autowired
  91 + MtPlanDataLoadThread mtPlanDataLoadThread;
  92 +
  93 + @Autowired
  94 + FixedCheckStationCodeThread fixedCheckStationCodeThread;
  95 +
  96 + private static long timeDiff;
  97 + private static long timeDiffTraffic;
  98 +
  99 + static {
  100 + // 早上2:20
  101 + timeDiff = (DateUtils.getTimestamp() + 1000 * 60 * 140) - System.currentTimeMillis();
  102 + if (timeDiff < 0)
  103 + timeDiff += (1000 * 60 * 60 * 24);
  104 + // 早上09:00
  105 + timeDiffTraffic = (DateUtils.getTimestamp() + 3600000 * 9) - System.currentTimeMillis();
  106 + if (timeDiffTraffic < 0)
  107 + timeDiffTraffic += (1000 * 60 * 60 * 24);
  108 + }
  109 +
  110 + @Override
  111 + public void run(String... strings) throws Exception {
  112 + try {
  113 + Tools tools = new Tools("application.properties");
  114 + String environment = tools.getValue("spring.profiles.active");
  115 + //预先加载基础的对照数据
  116 + basicDataLoader.loadAllData();
  117 + switch (environment){
  118 + case "dev":
  119 + devInit();
  120 + break;
  121 + case "prod":
  122 + prodInit();
  123 + break;
  124 + case "test":
  125 + testInit();
  126 + break;
  127 + case "cloud":
  128 + cloudInit();
  129 + break;
  130 + default:
  131 + break;
  132 + }
  133 + }catch (Exception e){
  134 + log.error("线调后台启动出现异常!!", e);
  135 + System.exit(1);
  136 + }
  137 + }
  138 +
  139 + @Autowired
  140 + DayOfSchedule dayOfSchedule;
  141 + public void devInit(){
  142 + log.info("devInit...");
  143 + ScheduledExecutorService sexec = Application.mainServices;
  144 + //抓取GPS数据
  145 + gpsDataLoader.setFlag(-1);
  146 + //dayOfSchedule.dataRecovery();
  147 +
  148 + //安全驾驶
  149 + sexec.scheduleWithFixedDelay(safeDrivDataLoadThread, 180, 10, TimeUnit.SECONDS);
  150 +
  151 + /** 线调业务 */
  152 + sexec.scheduleWithFixedDelay(scheduleRefreshThread, 10, 120, TimeUnit.SECONDS);//班次更新线程
  153 + sexec.scheduleWithFixedDelay(scheduleLateThread, 140, 20, TimeUnit.SECONDS);//检查班次误点
  154 + sexec.scheduleWithFixedDelay(gpsDataLoader, 100, 2, TimeUnit.SECONDS);//抓取GPS数据
  155 + sexec.scheduleWithFixedDelay(rfidDataLoader, 5, 5, TimeUnit.SECONDS);//抓取RFID数据
  156 + sexec.scheduleWithFixedDelay(fixedCheckStationCodeThread, 60, 60 * 5, TimeUnit.SECONDS);//检查班次站点编码
  157 +
  158 + sexec.scheduleWithFixedDelay(offlineMonitorThread, 120, 60, TimeUnit.SECONDS);//GPS设备掉离线
  159 + sexec.scheduleWithFixedDelay(schedulePstThread, 180, 10, TimeUnit.SECONDS);//班次延迟入库线程
  160 + sexec.scheduleWithFixedDelay(seiPstThread, 180, 60, TimeUnit.SECONDS);//班次修正日志入库
  161 + sexec.scheduleWithFixedDelay(directivesPstThread, 120, 60, TimeUnit.SECONDS);//调度指令延迟入库
  162 + sexec.scheduleWithFixedDelay(threadMonotor, 240, 60, TimeUnit.SECONDS);//线程监听(防止重要的线程阻塞、异常结束。以及部分主备切换工作)
  163 + sexec.scheduleWithFixedDelay(sampleTimeDataLoader, 140, 120 * 60, TimeUnit.SECONDS);//到离站预测需要的站点间耗时数据
  164 + sexec.scheduleWithFixedDelay(basicDataLoader, 1, 1, TimeUnit.HOURS);//基础数据更新
  165 + sexec.scheduleWithFixedDelay(autoExecScanThread, 180, 50, TimeUnit.SECONDS);//班次自动执行
  166 + //DirectivePushQueue.start();//消息队列 -指令,系统下发的
  167 + WebSocketPushQueue.start();//消息队列 -webSocket ,推送至线调web页面的
  168 +
  169 + /** 线调为其他程序提供的数据 --写入数据库 */
  170 + sexec.scheduleWithFixedDelay(fcxxUpdateThread, 160, 30, TimeUnit.SECONDS);//发车信息(发车屏、信息发布)
  171 + //线路首末班数据(网关用,班次更新时写入)
  172 + //com.bsth.data.schedule.f_a_l.FirstAndLastHandler
  173 + sexec.scheduleWithFixedDelay(schSiginUpdateDBThread, 160, 60 * 30, TimeUnit.SECONDS);//无法自动完成的班次信息(网关用,补信号)
  174 +
  175 + //运管处静态数据提交
  176 + //log.info(timeDiff / 1000 / 60 + "分钟之后提交到运管处");
  177 + //sexec.scheduleAtFixedRate(submitToTrafficManage, timeDiffTraffic / 1000, 60 * 60 * 24, TimeUnit.SECONDS);
  178 + //计算油、公里加注
  179 + sexec.scheduleAtFixedRate(calcOilThread, timeDiff / 1000, 60 * 60 * 24, TimeUnit.SECONDS);
  180 +
  181 + //线路版本更新
  182 + sexec.scheduleWithFixedDelay(lineVersionsData, 60 * 5, 60 * 15, TimeUnit.SECONDS);
  183 +
  184 + //线路版本更新
  185 + //sexec.scheduleWithFixedDelay(fixedEnableVerionsThread, 60 * 4, 60 * 2 , TimeUnit.SECONDS);
  186 + }
  187 +
  188 + public void prodInit(){
  189 + log.info("prodInit...");
  190 + ScheduledExecutorService sexec = Application.mainServices;
  191 + //安全驾驶
  192 + sexec.scheduleWithFixedDelay(safeDrivDataLoadThread, 180, 10, TimeUnit.SECONDS);
  193 + sexec.scheduleWithFixedDelay(mtPlanDataLoadThread, 180, 10, TimeUnit.SECONDS);
  194 +
  195 + GpsDataLoaderThread.setFlag(-1);
  196 + /** 线调业务 */
  197 + sexec.scheduleWithFixedDelay(scheduleRefreshThread, 10, 120, TimeUnit.SECONDS);//班次更新线程
  198 + sexec.scheduleWithFixedDelay(scheduleLateThread, 140, 20, TimeUnit.SECONDS);//检查班次误点
  199 + sexec.scheduleWithFixedDelay(gpsDataLoader, 0, 2, TimeUnit.SECONDS);//抓取GPS数据
  200 + sexec.scheduleWithFixedDelay(rfidDataLoader, 5, 5, TimeUnit.SECONDS);//抓取RFID数据
  201 + sexec.scheduleWithFixedDelay(fixedCheckStationCodeThread, 60, 60 * 5, TimeUnit.SECONDS);//检查班次站点编码
  202 +
  203 + sexec.scheduleWithFixedDelay(offlineMonitorThread, 120, 60, TimeUnit.SECONDS);//GPS设备掉离线
  204 + sexec.scheduleWithFixedDelay(schedulePstThread, 180, 10, TimeUnit.SECONDS);//班次延迟入库线程
  205 + sexec.scheduleWithFixedDelay(seiPstThread, 180, 60, TimeUnit.SECONDS);//班次修正日志入库
  206 + sexec.scheduleWithFixedDelay(directivesPstThread, 120, 60, TimeUnit.SECONDS);//调度指令延迟入库
  207 + sexec.scheduleWithFixedDelay(threadMonotor, 240, 60, TimeUnit.SECONDS);//线程监听(防止重要的线程阻塞、异常结束。以及部分主备切换工作)
  208 + sexec.scheduleWithFixedDelay(sampleTimeDataLoader, 140, 120 * 60, TimeUnit.SECONDS);//到离站预测需要的站点间耗时数据
  209 + sexec.scheduleWithFixedDelay(basicDataLoader, 1, 1, TimeUnit.HOURS);//基础数据更新
  210 + sexec.scheduleWithFixedDelay(autoExecScanThread, 180, 50, TimeUnit.SECONDS);//班次自动执行
  211 + DirectivePushQueue.start();//消息队列 -指令,系统下发的
  212 + WebSocketPushQueue.start();//消息队列 -webSocket ,推送至线调web页面的
  213 +
  214 + /** 线调为其他程序提供的数据 --写入数据库 */
  215 + sexec.scheduleWithFixedDelay(fcxxUpdateThread, 160, 30, TimeUnit.SECONDS);//发车信息(发车屏、信息发布)
  216 + //线路首末班数据(网关用,班次更新时写入)
  217 + //com.bsth.data.schedule.f_a_l.FirstAndLastHandler
  218 + sexec.scheduleWithFixedDelay(schSiginUpdateDBThread, 160, 60 * 30, TimeUnit.SECONDS);//无法自动完成的班次信息(网关用,补信号)
  219 +
  220 + //运管处静态数据提交
  221 + log.info(timeDiff / 1000 / 60 + "分钟之后提交到运管处");
  222 + sexec.scheduleAtFixedRate(submitToTrafficManage, timeDiffTraffic / 1000, 60 * 60 * 24, TimeUnit.SECONDS);
  223 + //计算油、公里加注
  224 + sexec.scheduleAtFixedRate(calcOilThread, timeDiff / 1000, 60 * 60 * 24, TimeUnit.SECONDS);
  225 +
  226 + //线路版本更新
  227 + sexec.scheduleWithFixedDelay(lineVersionsData, 60 * 5, 60 * 15, TimeUnit.SECONDS);
  228 +
  229 + //线路版本更新
  230 + //sexec.scheduleWithFixedDelay(fixedEnableVerionsThread, 60 * 4, 60 * 2 , TimeUnit.SECONDS);
  231 + }
  232 +
  233 + public void testInit(){
  234 + log.info("testInit...");
  235 + ScheduledExecutorService sexec = Application.mainServices;
  236 + //安全驾驶
  237 + sexec.scheduleWithFixedDelay(safeDrivDataLoadThread, 180, 10, TimeUnit.SECONDS);
  238 + sexec.scheduleWithFixedDelay(mtPlanDataLoadThread, 180, 10, TimeUnit.SECONDS);
  239 +
  240 + GpsDataLoaderThread.setFlag(-1);
  241 + //dayOfSchedule.dataRecovery();
  242 + /** 线调业务 */
  243 + sexec.scheduleWithFixedDelay(scheduleRefreshThread, 10, 120, TimeUnit.SECONDS);//班次更新线程
  244 + sexec.scheduleWithFixedDelay(scheduleLateThread, 140, 20, TimeUnit.SECONDS);//检查班次误点
  245 + sexec.scheduleWithFixedDelay(gpsDataLoader, 0, 2, TimeUnit.SECONDS);//抓取GPS数据
  246 + sexec.scheduleWithFixedDelay(rfidDataLoader, 5, 5, TimeUnit.SECONDS);//抓取RFID数据
  247 + sexec.scheduleWithFixedDelay(fixedCheckStationCodeThread, 60, 60 * 5, TimeUnit.SECONDS);//检查班次站点编码
  248 +
  249 + sexec.scheduleWithFixedDelay(offlineMonitorThread, 120, 60, TimeUnit.SECONDS);//GPS设备掉离线
  250 + sexec.scheduleWithFixedDelay(schedulePstThread, 180, 10, TimeUnit.SECONDS);//班次延迟入库线程
  251 + sexec.scheduleWithFixedDelay(seiPstThread, 180, 60, TimeUnit.SECONDS);//班次修正日志入库
  252 + sexec.scheduleWithFixedDelay(directivesPstThread, 120, 60, TimeUnit.SECONDS);//调度指令延迟入库
  253 + sexec.scheduleWithFixedDelay(threadMonotor, 240, 60, TimeUnit.SECONDS);//线程监听(防止重要的线程阻塞、异常结束。以及部分主备切换工作)
  254 + sexec.scheduleWithFixedDelay(sampleTimeDataLoader, 140, 120 * 60, TimeUnit.SECONDS);//到离站预测需要的站点间耗时数据
  255 + sexec.scheduleWithFixedDelay(basicDataLoader, 1, 1, TimeUnit.HOURS);//基础数据更新
  256 + sexec.scheduleWithFixedDelay(autoExecScanThread, 180, 50, TimeUnit.SECONDS);//班次自动执行
  257 + //DirectivePushQueue.start();//消息队列 -指令,系统下发的
  258 + WebSocketPushQueue.start();//消息队列 -webSocket ,推送至线调web页面的
  259 +
  260 + /** 线调为其他程序提供的数据 --写入数据库 */
  261 + sexec.scheduleWithFixedDelay(fcxxUpdateThread, 160, 30, TimeUnit.SECONDS);//发车信息(发车屏、信息发布)
  262 + //线路首末班数据(网关用,班次更新时写入)
  263 + //com.bsth.data.schedule.f_a_l.FirstAndLastHandler
  264 + sexec.scheduleWithFixedDelay(schSiginUpdateDBThread, 160, 60 * 30, TimeUnit.SECONDS);//无法自动完成的班次信息(网关用,补信号)
  265 +
  266 + //运管处静态数据提交
  267 + //log.info(timeDiff / 1000 / 60 + "分钟之后提交到运管处");
  268 + //sexec.scheduleAtFixedRate(submitToTrafficManage, timeDiffTraffic / 1000, 60 * 60 * 24, TimeUnit.SECONDS);
  269 + //计算油、公里加注
  270 + sexec.scheduleAtFixedRate(calcOilThread, timeDiff / 1000, 60 * 60 * 24, TimeUnit.SECONDS);
  271 +
  272 + //线路版本更新
  273 + sexec.scheduleWithFixedDelay(lineVersionsData, 60 * 5, 60 * 15, TimeUnit.SECONDS);
  274 +
  275 + //线路版本更新
  276 + //sexec.scheduleWithFixedDelay(fixedEnableVerionsThread, 60 * 4, 60 * 2 , TimeUnit.SECONDS);
  277 + }
  278 +
  279 + public void cloudInit(){
  280 + log.info("cloudInit...");
  281 + ScheduledExecutorService sexec = Application.mainServices;
  282 + //安全驾驶
  283 + sexec.scheduleWithFixedDelay(safeDrivDataLoadThread, 180, 10, TimeUnit.SECONDS);
  284 + sexec.scheduleWithFixedDelay(mtPlanDataLoadThread, 180, 10, TimeUnit.SECONDS);
  285 +
  286 + GpsDataLoaderThread.setFlag(-1);
  287 + /** 线调业务 */
  288 + sexec.scheduleWithFixedDelay(scheduleRefreshThread, 10, 120, TimeUnit.SECONDS);//班次更新线程
  289 + sexec.scheduleWithFixedDelay(scheduleLateThread, 140, 20, TimeUnit.SECONDS);//检查班次误点
  290 + sexec.scheduleWithFixedDelay(gpsDataLoader, 0, 2, TimeUnit.SECONDS);//抓取GPS数据
  291 + sexec.scheduleWithFixedDelay(rfidDataLoader, 5, 5, TimeUnit.SECONDS);//抓取RFID数据
  292 + sexec.scheduleWithFixedDelay(fixedCheckStationCodeThread, 60, 60 * 5, TimeUnit.SECONDS);//检查班次站点编码
  293 +
  294 + sexec.scheduleWithFixedDelay(offlineMonitorThread, 120, 60, TimeUnit.SECONDS);//GPS设备掉离线
  295 + sexec.scheduleWithFixedDelay(schedulePstThread, 180, 10, TimeUnit.SECONDS);//班次延迟入库线程
  296 + sexec.scheduleWithFixedDelay(seiPstThread, 180, 60, TimeUnit.SECONDS);//班次修正日志入库
  297 + sexec.scheduleWithFixedDelay(directivesPstThread, 120, 60, TimeUnit.SECONDS);//调度指令延迟入库
  298 + sexec.scheduleWithFixedDelay(threadMonotor, 240, 60, TimeUnit.SECONDS);//线程监听(防止重要的线程阻塞、异常结束。以及部分主备切换工作)
  299 + sexec.scheduleWithFixedDelay(sampleTimeDataLoader, 140, 120 * 60, TimeUnit.SECONDS);//到离站预测需要的站点间耗时数据
  300 + sexec.scheduleWithFixedDelay(basicDataLoader, 1, 1, TimeUnit.HOURS);//基础数据更新
  301 + sexec.scheduleWithFixedDelay(autoExecScanThread, 180, 50, TimeUnit.SECONDS);//班次自动执行
  302 + DirectivePushQueue.start();//消息队列 -指令,系统下发的
  303 + WebSocketPushQueue.start();//消息队列 -webSocket ,推送至线调web页面的
  304 +
  305 + /** 线调为其他程序提供的数据 --写入数据库 */
  306 + sexec.scheduleWithFixedDelay(fcxxUpdateThread, 160, 30, TimeUnit.SECONDS);//发车信息(发车屏、信息发布)
  307 + //线路首末班数据(网关用,班次更新时写入)
  308 + //com.bsth.data.schedule.f_a_l.FirstAndLastHandler
  309 + sexec.scheduleWithFixedDelay(schSiginUpdateDBThread, 160, 60 * 30, TimeUnit.SECONDS);//无法自动完成的班次信息(网关用,补信号)
  310 +
  311 + //运管处静态数据提交
  312 + log.info(timeDiff / 1000 / 60 + "分钟之后提交到运管处");
  313 + sexec.scheduleAtFixedRate(submitToTrafficManage, timeDiffTraffic / 1000, 60 * 60 * 24, TimeUnit.SECONDS);
  314 + //计算油、公里加注
  315 + sexec.scheduleAtFixedRate(calcOilThread, timeDiff / 1000, 60 * 60 * 24, TimeUnit.SECONDS);
  316 +
  317 + //线路版本更新
  318 + sexec.scheduleWithFixedDelay(lineVersionsData, 60 * 5, 60 * 15, TimeUnit.SECONDS);
  319 +
  320 + //线路版本更新
  321 + //sexec.scheduleWithFixedDelay(fixedEnableVerionsThread, 60 * 4, 60 * 2 , TimeUnit.SECONDS);
  322 + }
  323 +}
... ...
src/main/java/com/bsth/annotation/BusinessDescription.java
1   -package com.bsth.annotation;
2   -
3   -import java.lang.annotation.ElementType;
4   -import java.lang.annotation.Retention;
5   -import java.lang.annotation.RetentionPolicy;
6   -import java.lang.annotation.Target;
7   -
8   -/**
9   - * @author Hill
10   - */
11   -@Retention(RetentionPolicy.RUNTIME)
12   -@Target(ElementType.METHOD)
13   -public @interface BusinessDescription {
14   -
15   - /**
16   - * 业务描述内容
17   - * @return
18   - */
19   - String value();
20   -}
  1 +package com.bsth.annotation;
  2 +
  3 +import java.lang.annotation.ElementType;
  4 +import java.lang.annotation.Retention;
  5 +import java.lang.annotation.RetentionPolicy;
  6 +import java.lang.annotation.Target;
  7 +
  8 +/**
  9 + * @author Hill
  10 + */
  11 +@Retention(RetentionPolicy.RUNTIME)
  12 +@Target(ElementType.METHOD)
  13 +public @interface BusinessDescription {
  14 +
  15 + /**
  16 + * 业务描述内容
  17 + * @return
  18 + */
  19 + String value();
  20 +}
... ...
src/main/java/com/bsth/common/Constants.java
1   -package com.bsth.common;
2   -
3   -/**
4   - *
5   - * @ClassName: Constants
6   - * @Description: TODO(常量类)
7   - * @author PanZhao
8   - * @date 2016年3月18日 下午11:06:53
9   - *
10   - */
11   -public class Constants {
12   -
13   - /**
14   - * 不需要拦截的资源
15   - */
16   - public static final String LOGIN = "/user/login/**";
17   - public static final String ORIGINAL_LOGIN_PAGE = "/login.html";
18   - public static String LOGIN_PAGE = "/login.html";
19   - public static final String ASSETS_URL = "/login_assets/**";
20   - public static final String FAVICON_URL = "/favicon.ico";
21   - public static final String LOGIN_FAILURE = "/user/loginFailure";
22   - public static final String CAPTCHA = "/captcha.jpg";
23   -
24   - // springboot manage health的检测url
25   - public static final String ACTUATOR_MANAGEMENT_HEALTH = "/manage/health";
26   - // 车辆数据同步url
27   - public static final String VEHICLE_DATA_SYNC_URL = "/dataSync/vehicle/api/**";
28   -
29   - //对外的营运数据接口
30   - public static final String SERVICE_INTERFACE = "/companyService/**";
31   -
32   - /**
33   - * 线调部分子页面不做拦截,便于浏览器缓存
34   - */
35   - public static final String XD_CHILD_PAGES = "/real_control_v2/**";
36   - public static final String XD_REAL_GPS = "/gps/real/line";
37   - //public static final String XD_TEMPS = "/pages/control/line/temps/**";
38   -
39   - //车载网关上行接口
40   - public static final String UPSTREAM_URL = "/control/upstream";
41   - //rfid 上传入口
42   - public static final String UP_RFID_URL = "/rfid/**";
43   -
44   - public static final String SESSION_USERNAME = "sessionUserName";
45   - public static final String COMPANY_AUTHORITYS = "cmyAuths";
46   - public static final String STATION_AND_SECTION_COUNT = "/station/updateStationAndSectionCode";
47   -
48   - /**
49   - * 解除调度指令和班次的外键约束
50   - */
51   - public static final String REMOVE_DIRECTIVE_SCH_FK = "update bsth_v_directive_60 set sch=NULL where sch=?";
52   -
53   - /**
54   - * 批量解除调度指令和班次的外键约束
55   - */
56   - public static final String MULTI_REMOVE_DIRECTIVE_SCH_FK = "update bsth_v_directive_60 set sch=NULL where sch in ";
57   -
58   - /**
59   - * 批量解除子任务和班次的外键约束
60   - */
61   - public static final String MULTI_REMOVE_CHILDTASK_SCH_FK = "update bsth_c_s_child_task set schedule=NULL where schedule in ";
62   -
63   - public static final String WEAK_CIPHER = "weakCipher";
64   -
65   - public static final String FILE_AUTH = "/.well-known/pki-validation/fileauth.txt";
66   -
67   - public static final String SSO_TOKEN = "ssoToken";
68   -
69   - public static final String RESOURCE_AUTHORITYS = "resourceAuthoritys";
70   -}
  1 +package com.bsth.common;
  2 +
  3 +/**
  4 + *
  5 + * @ClassName: Constants
  6 + * @Description: TODO(常量类)
  7 + * @author PanZhao
  8 + * @date 2016年3月18日 下午11:06:53
  9 + *
  10 + */
  11 +public class Constants {
  12 +
  13 + /**
  14 + * 不需要拦截的资源
  15 + */
  16 + public static final String LOGIN = "/user/login/**";
  17 + public static final String ORIGINAL_LOGIN_PAGE = "/login.html";
  18 + public static String LOGIN_PAGE = "/login.html";
  19 + public static final String ASSETS_URL = "/login_assets/**";
  20 + public static final String FAVICON_URL = "/favicon.ico";
  21 + public static final String LOGIN_FAILURE = "/user/loginFailure";
  22 + public static final String CAPTCHA = "/captcha.jpg";
  23 +
  24 + // springboot manage health的检测url
  25 + public static final String ACTUATOR_MANAGEMENT_HEALTH = "/manage/health";
  26 + // 车辆数据同步url
  27 + public static final String VEHICLE_DATA_SYNC_URL = "/dataSync/vehicle/api/**";
  28 +
  29 + //对外的营运数据接口
  30 + public static final String SERVICE_INTERFACE = "/companyService/**";
  31 +
  32 + /**
  33 + * 线调部分子页面不做拦截,便于浏览器缓存
  34 + */
  35 + public static final String XD_CHILD_PAGES = "/real_control_v2/**";
  36 + public static final String XD_REAL_GPS = "/gps/real/line";
  37 + //public static final String XD_TEMPS = "/pages/control/line/temps/**";
  38 +
  39 + //车载网关上行接口
  40 + public static final String UPSTREAM_URL = "/control/upstream";
  41 + //rfid 上传入口
  42 + public static final String UP_RFID_URL = "/rfid/**";
  43 +
  44 + public static final String SESSION_USERNAME = "sessionUserName";
  45 + public static final String COMPANY_AUTHORITYS = "cmyAuths";
  46 + public static final String STATION_AND_SECTION_COUNT = "/station/updateStationAndSectionCode";
  47 +
  48 + /**
  49 + * 解除调度指令和班次的外键约束
  50 + */
  51 + public static final String REMOVE_DIRECTIVE_SCH_FK = "update bsth_v_directive_60 set sch=NULL where sch=?";
  52 +
  53 + /**
  54 + * 批量解除调度指令和班次的外键约束
  55 + */
  56 + public static final String MULTI_REMOVE_DIRECTIVE_SCH_FK = "update bsth_v_directive_60 set sch=NULL where sch in ";
  57 +
  58 + /**
  59 + * 批量解除子任务和班次的外键约束
  60 + */
  61 + public static final String MULTI_REMOVE_CHILDTASK_SCH_FK = "update bsth_c_s_child_task set schedule=NULL where schedule in ";
  62 +
  63 + public static final String WEAK_CIPHER = "weakCipher";
  64 +
  65 + public static final String FILE_AUTH = "/.well-known/pki-validation/fileauth.txt";
  66 +
  67 + public static final String SSO_TOKEN = "ssoToken";
  68 +
  69 + public static final String RESOURCE_AUTHORITYS = "resourceAuthoritys";
  70 +}
... ...
src/main/java/com/bsth/common/SystemParamKeys.java
1   -package com.bsth.common;
2   -
3   -/**
4   - * @author Hill
5   - */
6   -public class SystemParamKeys {
7   -
8   - public static final String SPECIAL_ROLES = "special.roles";
9   -
10   - public static final String SPECIAL_DAYS = "special.days";
11   -
12   - public static final String URL_HTTP_GPS_REAL_CACHE = "url.http.gps.real.cache";
13   -
14   - public static final String URL_HTTP_GPS_REAL = "url.http.gps.real";
15   -
16   - public static final String URL_HTTP_DIRECTIVE = "url.http.directive";
17   -
18   - public static final String URL_HTTP_RFID = "url.http.rfid";
19   -
20   - public static final String URL_HTTP_REPORT = "url.http.report.%s";
21   -
22   - public static final String URL_HTTP_TICKETING = "url.http.ticketing";
23   -
24   - public static final String URL_HTTP_DSM_ACK = "url.http.dsm.ack";
25   -
26   - public static final String URL_HTTP_CP_ACK = "url.http.cp.ack";
27   -
28   - public static final String MAIL_ADMIN = "mail.admin";
29   -
30   - public static final String MAIL_WAYBILL = "mail.waybill";
31   -
32   - public static final String ENABLED_FIRST_LAST_GENERATION = "enabled.first.last.generation";
33   -
34   - public static final String ENABLED_FILTER_SQL_INJECTION = "enabled.filter.sql.injection";
35   -
36   - public static final String ENABLED_SSO = "enabled.sso";
37   -
38   - public static final String SSO_SYSTEM_CODE = "sso.system.code";
39   -
40   - public static final String URL_HTTP_SSO_LOGIN = "url.http.sso.login";
41   -
42   - public static final String URL_HTTP_SSO_LOGOUT = "url.http.sso.logout";
43   -
44   - public static final String URL_HTTP_SSO_AUTH = "url.http.sso.auth";
45   -
46   - public static final String URL_HTTP_MAINTENANCE = "url.http.maintenance";
47   -
48   - public static final String ENABLED_WHITE_IP = "enabled.white.ip";
49   -
50   - public static final String ENABLED_FILTER_AUTHORITY = "enabled.filter.authority";
51   -}
  1 +package com.bsth.common;
  2 +
  3 +/**
  4 + * @author Hill
  5 + */
  6 +public class SystemParamKeys {
  7 +
  8 + public static final String SPECIAL_ROLES = "special.roles";
  9 +
  10 + public static final String SPECIAL_DAYS = "special.days";
  11 +
  12 + public static final String URL_HTTP_GPS_REAL_CACHE = "url.http.gps.real.cache";
  13 +
  14 + public static final String URL_HTTP_GPS_REAL = "url.http.gps.real";
  15 +
  16 + public static final String URL_HTTP_DIRECTIVE = "url.http.directive";
  17 +
  18 + public static final String URL_HTTP_RFID = "url.http.rfid";
  19 +
  20 + public static final String URL_HTTP_REPORT = "url.http.report.%s";
  21 +
  22 + public static final String URL_HTTP_TICKETING = "url.http.ticketing";
  23 +
  24 + public static final String URL_HTTP_DSM_ACK = "url.http.dsm.ack";
  25 +
  26 + public static final String URL_HTTP_CP_ACK = "url.http.cp.ack";
  27 +
  28 + public static final String MAIL_ADMIN = "mail.admin";
  29 +
  30 + public static final String MAIL_WAYBILL = "mail.waybill";
  31 +
  32 + public static final String ENABLED_FIRST_LAST_GENERATION = "enabled.first.last.generation";
  33 +
  34 + public static final String ENABLED_FILTER_SQL_INJECTION = "enabled.filter.sql.injection";
  35 +
  36 + public static final String ENABLED_SSO = "enabled.sso";
  37 +
  38 + public static final String SSO_SYSTEM_CODE = "sso.system.code";
  39 +
  40 + public static final String URL_HTTP_SSO_LOGIN = "url.http.sso.login";
  41 +
  42 + public static final String URL_HTTP_SSO_LOGOUT = "url.http.sso.logout";
  43 +
  44 + public static final String URL_HTTP_SSO_AUTH = "url.http.sso.auth";
  45 +
  46 + public static final String URL_HTTP_MAINTENANCE = "url.http.maintenance";
  47 +
  48 + public static final String ENABLED_WHITE_IP = "enabled.white.ip";
  49 +
  50 + public static final String ENABLED_FILTER_AUTHORITY = "enabled.filter.authority";
  51 +}
... ...
src/main/java/com/bsth/controller/BaseController.java
1   -package com.bsth.controller;
2   -
3   -import com.bsth.service.BaseService;
4   -import com.google.common.base.Splitter;
5   -import org.springframework.beans.factory.annotation.Autowired;
6   -import org.springframework.data.domain.Page;
7   -import org.springframework.data.domain.PageRequest;
8   -import org.springframework.data.domain.Sort;
9   -import org.springframework.data.domain.Sort.Direction;
10   -import org.springframework.web.bind.annotation.PathVariable;
11   -import org.springframework.web.bind.annotation.RequestMapping;
12   -import org.springframework.web.bind.annotation.RequestMethod;
13   -import org.springframework.web.bind.annotation.RequestParam;
14   -
15   -import java.io.Serializable;
16   -import java.util.ArrayList;
17   -import java.util.Arrays;
18   -import java.util.List;
19   -import java.util.Map;
20   -
21   -/**
22   - * @param <T>
23   - * @param <ID> 主键类型
24   - * @author PanZhao
25   - * @ClassName: BaseController
26   - * @Description: TODO(基础的Controller实现)
27   - * @date 2016年3月17日 下午12:44:06
28   - */
29   -public class BaseController<T, ID extends Serializable> {
30   -
31   - @Autowired
32   - protected BaseService<T, ID> baseService;
33   -
34   - /**
35   - * @param @param map 查询条件
36   - * @param @param page 页码
37   - * @param @param size 每页显示数量
38   - * @throws
39   - * @Title: list
40   - * @Description: TODO(多条件分页查询)
41   - */
42   - @RequestMapping(method = RequestMethod.GET)
43   - public Page<T> list(@RequestParam Map<String, Object> map,
44   - @RequestParam(defaultValue = "0") int page,
45   - @RequestParam(defaultValue = "10") int size,
46   - @RequestParam(defaultValue = "id") String order,
47   - @RequestParam(defaultValue = "DESC") String direction) {
48   -
49   - // 允许多个字段排序,order可以写单个字段,也可以写多个字段
50   - // 多个字段格式:{col1},{col2},{col3},....,{coln}
51   - List<String> order_columns = Splitter.on(",").trimResults().splitToList(order);
52   - // 多字段排序:DESC,ASC...
53   - List<String> order_dirs = Splitter.on(",").trimResults().splitToList(direction);
54   -
55   - if (order_dirs.size() == 1) { // 所有字段采用一种排序
56   - if (null != order_dirs.get(0) && order_dirs.get(0).equals("ASC")) {
57   - return baseService.list(map, new PageRequest(page, size, new Sort(Direction.ASC, order_columns)));
58   - } else {
59   - return baseService.list(map, new PageRequest(page, size, new Sort(Direction.DESC, order_columns)));
60   - }
61   - } else if (order_columns.size() == order_dirs.size()) {
62   - List<Sort.Order> orderList = new ArrayList<>();
63   - for (int i = 0; i < order_columns.size(); i++) {
64   - if (null != order_dirs.get(i) && order_dirs.get(i).equals("ASC")) {
65   - orderList.add(new Sort.Order(Direction.ASC, order_columns.get(i)));
66   - } else {
67   - orderList.add(new Sort.Order(Direction.DESC, order_columns.get(i)));
68   - }
69   - }
70   - return baseService.list(map, new PageRequest(page, size, new Sort(orderList)));
71   - } else {
72   - throw new RuntimeException("多字段排序参数格式问题,排序顺序和字段数不一致");
73   - }
74   - }
75   -
76   - /**
77   - * @param @param map
78   - * @throws
79   - * @Title: list
80   - * @Description: TODO(多条件查询)
81   - */
82   - @RequestMapping(value = "/all", method = RequestMethod.GET)
83   - public Iterable<T> list(@RequestParam Map<String, Object> map) {
84   - return baseService.list(map);
85   - }
86   -
87   - /**
88   - * @param @param map
89   - * @throws
90   - * @Title: list
91   - * @Description: TODO(多条件查询)
92   - */
93   - @RequestMapping(value = "/findAll", method = RequestMethod.GET)
94   - public List<T> findAll(@RequestParam Map<String, Object> map,
95   - @RequestParam(defaultValue = "id") String order,
96   - @RequestParam(defaultValue = "DESC") String direction) {
97   - String[] columns = order.split(","), directions = direction.split(",");
98   - if (columns.length != directions.length) {
99   - throw new IllegalArgumentException("不合法的排序参数");
100   - }
101   -
102   - List<Sort.Order> orders = new ArrayList<>();
103   - for (int i = 0;i < columns.length;i++) {
104   - String column = columns[i], direction1 = directions[i];
105   - if ("DESC".equals(direction1)) {
106   - orders.add(Sort.Order.desc(column));
107   - } else if ("ASC".equals(direction1)) {
108   - orders.add(Sort.Order.asc(column));
109   - } else {
110   - throw new IllegalArgumentException("不合法的排序参数");
111   - }
112   - }
113   -
114   - return baseService.findAll(map, Sort.by(orders));
115   - }
116   -
117   - /**
118   - * @param @param t
119   - * @param @return 设定文件
120   - * @return Map<String,Object> {status: 1(成功),-1(失败)}
121   - * @throws
122   - * @Title: save
123   - * @Description: TODO(持久化对象)
124   - */
125   - @RequestMapping(method = RequestMethod.POST)
126   - public Map<String, Object> save(T t) {
127   - return baseService.save(t);
128   - }
129   -
130   - /**
131   - * @param @param id
132   - * @throws
133   - * @Title: findById
134   - * @Description: TODO(根据主键获取单个对象)
135   - */
136   - @RequestMapping(value = "/{id}", method = RequestMethod.GET)
137   - public T findById(@PathVariable("id") ID id) {
138   - return baseService.findById(id);
139   - }
140   -
141   - /**
142   - * @param @param id
143   - * @throws
144   - * @Title: delete
145   - * @Description: TODO(根据主键删除对象)
146   - */
147   - @RequestMapping(value = "/{id}", method = RequestMethod.DELETE)
148   - public Map<String, Object> delete(@PathVariable("id") ID id) {
149   - return baseService.delete(id);
150   - }
151   -
152   -}
  1 +package com.bsth.controller;
  2 +
  3 +import com.bsth.service.BaseService;
  4 +import com.google.common.base.Splitter;
  5 +import org.springframework.beans.factory.annotation.Autowired;
  6 +import org.springframework.data.domain.Page;
  7 +import org.springframework.data.domain.PageRequest;
  8 +import org.springframework.data.domain.Sort;
  9 +import org.springframework.data.domain.Sort.Direction;
  10 +import org.springframework.web.bind.annotation.PathVariable;
  11 +import org.springframework.web.bind.annotation.RequestMapping;
  12 +import org.springframework.web.bind.annotation.RequestMethod;
  13 +import org.springframework.web.bind.annotation.RequestParam;
  14 +
  15 +import java.io.Serializable;
  16 +import java.util.ArrayList;
  17 +import java.util.Arrays;
  18 +import java.util.List;
  19 +import java.util.Map;
  20 +
  21 +/**
  22 + * @param <T>
  23 + * @param <ID> 主键类型
  24 + * @author PanZhao
  25 + * @ClassName: BaseController
  26 + * @Description: TODO(基础的Controller实现)
  27 + * @date 2016年3月17日 下午12:44:06
  28 + */
  29 +public class BaseController<T, ID extends Serializable> {
  30 +
  31 + @Autowired
  32 + protected BaseService<T, ID> baseService;
  33 +
  34 + /**
  35 + * @param @param map 查询条件
  36 + * @param @param page 页码
  37 + * @param @param size 每页显示数量
  38 + * @throws
  39 + * @Title: list
  40 + * @Description: TODO(多条件分页查询)
  41 + */
  42 + @RequestMapping(method = RequestMethod.GET)
  43 + public Page<T> list(@RequestParam Map<String, Object> map,
  44 + @RequestParam(defaultValue = "0") int page,
  45 + @RequestParam(defaultValue = "10") int size,
  46 + @RequestParam(defaultValue = "id") String order,
  47 + @RequestParam(defaultValue = "DESC") String direction) {
  48 +
  49 + // 允许多个字段排序,order可以写单个字段,也可以写多个字段
  50 + // 多个字段格式:{col1},{col2},{col3},....,{coln}
  51 + List<String> order_columns = Splitter.on(",").trimResults().splitToList(order);
  52 + // 多字段排序:DESC,ASC...
  53 + List<String> order_dirs = Splitter.on(",").trimResults().splitToList(direction);
  54 +
  55 + if (order_dirs.size() == 1) { // 所有字段采用一种排序
  56 + if (null != order_dirs.get(0) && order_dirs.get(0).equals("ASC")) {
  57 + return baseService.list(map, new PageRequest(page, size, new Sort(Direction.ASC, order_columns)));
  58 + } else {
  59 + return baseService.list(map, new PageRequest(page, size, new Sort(Direction.DESC, order_columns)));
  60 + }
  61 + } else if (order_columns.size() == order_dirs.size()) {
  62 + List<Sort.Order> orderList = new ArrayList<>();
  63 + for (int i = 0; i < order_columns.size(); i++) {
  64 + if (null != order_dirs.get(i) && order_dirs.get(i).equals("ASC")) {
  65 + orderList.add(new Sort.Order(Direction.ASC, order_columns.get(i)));
  66 + } else {
  67 + orderList.add(new Sort.Order(Direction.DESC, order_columns.get(i)));
  68 + }
  69 + }
  70 + return baseService.list(map, new PageRequest(page, size, new Sort(orderList)));
  71 + } else {
  72 + throw new RuntimeException("多字段排序参数格式问题,排序顺序和字段数不一致");
  73 + }
  74 + }
  75 +
  76 + /**
  77 + * @param @param map
  78 + * @throws
  79 + * @Title: list
  80 + * @Description: TODO(多条件查询)
  81 + */
  82 + @RequestMapping(value = "/all", method = RequestMethod.GET)
  83 + public Iterable<T> list(@RequestParam Map<String, Object> map) {
  84 + return baseService.list(map);
  85 + }
  86 +
  87 + /**
  88 + * @param @param map
  89 + * @throws
  90 + * @Title: list
  91 + * @Description: TODO(多条件查询)
  92 + */
  93 + @RequestMapping(value = "/findAll", method = RequestMethod.GET)
  94 + public List<T> findAll(@RequestParam Map<String, Object> map,
  95 + @RequestParam(defaultValue = "id") String order,
  96 + @RequestParam(defaultValue = "DESC") String direction) {
  97 + String[] columns = order.split(","), directions = direction.split(",");
  98 + if (columns.length != directions.length) {
  99 + throw new IllegalArgumentException("不合法的排序参数");
  100 + }
  101 +
  102 + List<Sort.Order> orders = new ArrayList<>();
  103 + for (int i = 0;i < columns.length;i++) {
  104 + String column = columns[i], direction1 = directions[i];
  105 + if ("DESC".equals(direction1)) {
  106 + orders.add(Sort.Order.desc(column));
  107 + } else if ("ASC".equals(direction1)) {
  108 + orders.add(Sort.Order.asc(column));
  109 + } else {
  110 + throw new IllegalArgumentException("不合法的排序参数");
  111 + }
  112 + }
  113 +
  114 + return baseService.findAll(map, Sort.by(orders));
  115 + }
  116 +
  117 + /**
  118 + * @param @param t
  119 + * @param @return 设定文件
  120 + * @return Map<String,Object> {status: 1(成功),-1(失败)}
  121 + * @throws
  122 + * @Title: save
  123 + * @Description: TODO(持久化对象)
  124 + */
  125 + @RequestMapping(method = RequestMethod.POST)
  126 + public Map<String, Object> save(T t) {
  127 + return baseService.save(t);
  128 + }
  129 +
  130 + /**
  131 + * @param @param id
  132 + * @throws
  133 + * @Title: findById
  134 + * @Description: TODO(根据主键获取单个对象)
  135 + */
  136 + @RequestMapping(value = "/{id}", method = RequestMethod.GET)
  137 + public T findById(@PathVariable("id") ID id) {
  138 + return baseService.findById(id);
  139 + }
  140 +
  141 + /**
  142 + * @param @param id
  143 + * @throws
  144 + * @Title: delete
  145 + * @Description: TODO(根据主键删除对象)
  146 + */
  147 + @RequestMapping(value = "/{id}", method = RequestMethod.DELETE)
  148 + public Map<String, Object> delete(@PathVariable("id") ID id) {
  149 + return baseService.delete(id);
  150 + }
  151 +
  152 +}
... ...
src/main/java/com/bsth/controller/CarParkController.java
1   -package com.bsth.controller;
2   -
3   -import java.util.HashMap;
4   -import java.util.List;
5   -import java.util.Map;
6   -
7   -import com.bsth.entity.CarPark;
8   -import com.bsth.service.CarParkService;
9   -import com.bsth.util.GetUIDAndCode;
10   -
11   -import org.springframework.beans.factory.annotation.Autowired;
12   -import org.springframework.web.bind.annotation.*;
13   -
14   -
15   -@RestController
16   -@RequestMapping("carpark")
17   -public class CarParkController extends BaseController<CarPark, Integer> {
18   - @Autowired
19   - CarParkService service;
20   -
21   - /**
22   - * @Description :TODO(查询停车场编码)
23   - *
24   - * @return int <carParkCode 停车场编码>
25   - */
26   - @RequestMapping(value="getCarParkCode" , method = RequestMethod.GET)
27   - public Map<String, Object> getStationCode() {
28   - Map<String, Object> resultMap = new HashMap<String, Object>();
29   - resultMap.put("carParkCode", "FFFFFF" + service.carParkMaxId() + 1);
30   - return resultMap;
31   - }
32   - /**
33   - * 新增停车场信息
34   - *
35   - *
36   - * @param map<area:面积;bCenterPoint:中心点百度坐标;bParkPoint:多边形图形百度坐标点集合;
37   - *
38   - * brancheCompany:分公司;company:公司;createBy:创建人;createDate:创建日期;dbType:原坐标类型;descriptions:描述;
39   - *
40   - * destroy:是否撤销;gCenterPoint:WGS中心点坐标;gParkPoint:WGS多边形图形坐标集合;id:停车场ID;parkCode:停车场编码;
41   - *
42   - * parkName:停车名称;radius:圆半径;shapesType:图形类型;versions:版本号>
43   - *
44   - * @return map <SUCCESS:成功;ERROR:失败>
45   - *
46   - */
47   - @RequestMapping(value="carParkSave" , method = RequestMethod.POST)
48   - public Map<String, Object> stationSave(@RequestParam Map<String, Object> map) {
49   - map.put("createBy", "");
50   - map.put("updateBy", "");
51   - return service.carParkSave(map);
52   - }
53   - @RequestMapping(value = "findCarParkInfoFormId",method = RequestMethod.GET)
54   - public List<Map<String, Object>> findCarParkInfoFormId(@RequestParam Map<String, Object> map) {
55   - return service.findCarParkInfoFormId(map);
56   - }
57   - /**
58   - * 修改停车场信息
59   - *
60   - *
61   - * @param map<area:面积;bCenterPoint:中心点百度坐标;bParkPoint:多边形图形百度坐标点集合;
62   - *
63   - * brancheCompany:分公司;company:公司;createBy:创建人;createDate:创建日期;dbType:原坐标类型;descriptions:描述;
64   - *
65   - * destroy:是否撤销;gCenterPoint:WGS中心点坐标;gParkPoint:WGS多边形图形坐标集合;id:停车场ID;parkCode:停车场编码;
66   - *
67   - * parkName:停车名称;radius:圆半径;shapesType:图形类型;versions:版本号>
68   - *
69   - * @return map <SUCCESS:成功;ERROR:失败>
70   - *
71   - */
72   - @RequestMapping(value="carParkUpdate" , method = RequestMethod.POST)
73   - public Map<String, Object> carParkUpdate(@RequestParam Map<String, Object> map) {
74   - map.put("updateBy", "");
75   - return service.carParkUpdate(map);
76   - }
77   -
78   - @RequestMapping(value="isHaveParkCode",method=RequestMethod.GET)
79   - public boolean isHaveParkCode(@RequestParam Map<String,Object> map) {
80   - return service.selectTccInfoByCode(map);
81   - }
82   -}
  1 +package com.bsth.controller;
  2 +
  3 +import java.util.HashMap;
  4 +import java.util.List;
  5 +import java.util.Map;
  6 +
  7 +import com.bsth.entity.CarPark;
  8 +import com.bsth.service.CarParkService;
  9 +import com.bsth.util.GetUIDAndCode;
  10 +
  11 +import org.springframework.beans.factory.annotation.Autowired;
  12 +import org.springframework.web.bind.annotation.*;
  13 +
  14 +
  15 +@RestController
  16 +@RequestMapping("carpark")
  17 +public class CarParkController extends BaseController<CarPark, Integer> {
  18 + @Autowired
  19 + CarParkService service;
  20 +
  21 + /**
  22 + * @Description :TODO(查询停车场编码)
  23 + *
  24 + * @return int <carParkCode 停车场编码>
  25 + */
  26 + @RequestMapping(value="getCarParkCode" , method = RequestMethod.GET)
  27 + public Map<String, Object> getStationCode() {
  28 + Map<String, Object> resultMap = new HashMap<String, Object>();
  29 + resultMap.put("carParkCode", "FFFFFF" + service.carParkMaxId() + 1);
  30 + return resultMap;
  31 + }
  32 + /**
  33 + * 新增停车场信息
  34 + *
  35 + *
  36 + * @param map<area:面积;bCenterPoint:中心点百度坐标;bParkPoint:多边形图形百度坐标点集合;
  37 + *
  38 + * brancheCompany:分公司;company:公司;createBy:创建人;createDate:创建日期;dbType:原坐标类型;descriptions:描述;
  39 + *
  40 + * destroy:是否撤销;gCenterPoint:WGS中心点坐标;gParkPoint:WGS多边形图形坐标集合;id:停车场ID;parkCode:停车场编码;
  41 + *
  42 + * parkName:停车名称;radius:圆半径;shapesType:图形类型;versions:版本号>
  43 + *
  44 + * @return map <SUCCESS:成功;ERROR:失败>
  45 + *
  46 + */
  47 + @RequestMapping(value="carParkSave" , method = RequestMethod.POST)
  48 + public Map<String, Object> stationSave(@RequestParam Map<String, Object> map) {
  49 + map.put("createBy", "");
  50 + map.put("updateBy", "");
  51 + return service.carParkSave(map);
  52 + }
  53 + @RequestMapping(value = "findCarParkInfoFormId",method = RequestMethod.GET)
  54 + public List<Map<String, Object>> findCarParkInfoFormId(@RequestParam Map<String, Object> map) {
  55 + return service.findCarParkInfoFormId(map);
  56 + }
  57 + /**
  58 + * 修改停车场信息
  59 + *
  60 + *
  61 + * @param map<area:面积;bCenterPoint:中心点百度坐标;bParkPoint:多边形图形百度坐标点集合;
  62 + *
  63 + * brancheCompany:分公司;company:公司;createBy:创建人;createDate:创建日期;dbType:原坐标类型;descriptions:描述;
  64 + *
  65 + * destroy:是否撤销;gCenterPoint:WGS中心点坐标;gParkPoint:WGS多边形图形坐标集合;id:停车场ID;parkCode:停车场编码;
  66 + *
  67 + * parkName:停车名称;radius:圆半径;shapesType:图形类型;versions:版本号>
  68 + *
  69 + * @return map <SUCCESS:成功;ERROR:失败>
  70 + *
  71 + */
  72 + @RequestMapping(value="carParkUpdate" , method = RequestMethod.POST)
  73 + public Map<String, Object> carParkUpdate(@RequestParam Map<String, Object> map) {
  74 + map.put("updateBy", "");
  75 + return service.carParkUpdate(map);
  76 + }
  77 +
  78 + @RequestMapping(value="isHaveParkCode",method=RequestMethod.GET)
  79 + public boolean isHaveParkCode(@RequestParam Map<String,Object> map) {
  80 + return service.selectTccInfoByCode(map);
  81 + }
  82 +}
... ...
src/main/java/com/bsth/controller/GeoPremiseController.java
1   -package com.bsth.controller;
2   -
3   -import com.bsth.common.ResponseCode;
4   -import com.bsth.entity.GeoPremise;
5   -import com.bsth.service.GeoPremiseService;
6   -import com.bsth.util.GeoConverter;
7   -import org.springframework.beans.factory.annotation.Autowired;
8   -import org.springframework.web.bind.annotation.RequestMapping;
9   -import org.springframework.web.bind.annotation.RequestMethod;
10   -import org.springframework.web.bind.annotation.RestController;
11   -
12   -import java.util.HashMap;
13   -import java.util.Map;
14   -
15   -/**
16   - * @author Hill
17   - */
18   -@RestController
19   -@RequestMapping("/api/geopremise")
20   -public class GeoPremiseController extends BaseController<GeoPremise, Integer> {
21   -
22   - @Autowired
23   - private GeoPremiseService geoPremiseService;
24   -
25   - @Override
26   - @RequestMapping(method = RequestMethod.POST)
27   - public Map<String, Object> save(GeoPremise geoPremise) {
28   - Map<String, Object> result = new HashMap<>();
29   - try {
30   - String coords = geoPremise.getCoords();
31   - geoPremise.setCoordsWgs(GeoConverter.polygonBd2wgs(String.format("POLYGON((%s))", coords)).toString().replace("POLYGON((", "").replace("))", ""));
32   - result.putAll(geoPremiseService.save(geoPremise));
33   - result.put("status", ResponseCode.SUCCESS);
34   - } catch (Exception e) {
35   - result.put("status", ResponseCode.ERROR);
36   - }
37   -
38   - return result;
39   - }
40   -}
  1 +package com.bsth.controller;
  2 +
  3 +import com.bsth.common.ResponseCode;
  4 +import com.bsth.entity.GeoPremise;
  5 +import com.bsth.service.GeoPremiseService;
  6 +import com.bsth.util.GeoConverter;
  7 +import org.springframework.beans.factory.annotation.Autowired;
  8 +import org.springframework.web.bind.annotation.RequestMapping;
  9 +import org.springframework.web.bind.annotation.RequestMethod;
  10 +import org.springframework.web.bind.annotation.RestController;
  11 +
  12 +import java.util.HashMap;
  13 +import java.util.Map;
  14 +
  15 +/**
  16 + * @author Hill
  17 + */
  18 +@RestController
  19 +@RequestMapping("/api/geopremise")
  20 +public class GeoPremiseController extends BaseController<GeoPremise, Integer> {
  21 +
  22 + @Autowired
  23 + private GeoPremiseService geoPremiseService;
  24 +
  25 + @Override
  26 + @RequestMapping(method = RequestMethod.POST)
  27 + public Map<String, Object> save(GeoPremise geoPremise) {
  28 + Map<String, Object> result = new HashMap<>();
  29 + try {
  30 + String coords = geoPremise.getCoords();
  31 + geoPremise.setCoordsWgs(GeoConverter.polygonBd2wgs(String.format("POLYGON((%s))", coords)).toString().replace("POLYGON((", "").replace("))", ""));
  32 + result.putAll(geoPremiseService.save(geoPremise));
  33 + result.put("status", ResponseCode.SUCCESS);
  34 + } catch (Exception e) {
  35 + result.put("status", ResponseCode.ERROR);
  36 + }
  37 +
  38 + return result;
  39 + }
  40 +}
... ...
src/main/java/com/bsth/controller/IndexController.java
1   -package com.bsth.controller;
2   -
3   -import java.io.BufferedInputStream;
4   -import java.io.IOException;
5   -import java.io.InputStream;
6   -
7   -import javax.servlet.http.HttpServletResponse;
8   -
9   -import org.apache.commons.lang3.StringUtils;
10   -import org.slf4j.Logger;
11   -import org.slf4j.LoggerFactory;
12   -import org.springframework.web.bind.annotation.RequestMapping;
13   -import org.springframework.web.bind.annotation.RequestMethod;
14   -import org.springframework.web.bind.annotation.RestController;
15   -
16   -@RestController
17   -@RequestMapping("/")
18   -public class IndexController {
19   -
20   - Logger logger = LoggerFactory.getLogger(this.getClass());
21   -
22   - String indexSource;
23   -
24   - /**
25   - * 构造函数
26   - */
27   - public IndexController() {
28   - load();
29   - }
30   -
31   - /**
32   - *
33   - * @Title: index
34   - * @Description: TODO(输出首页 index.html)
35   - */
36   - @RequestMapping
37   - public void index(String initFragment, HttpServletResponse resp) {
38   -
39   - // 初始打开的片段地址
40   - String outStr = StringUtils.replace(indexSource, "^_^initFragment^_^",
41   - initFragment == null ? "" : initFragment);
42   -
43   - resp.setContentType("text/html;charset=UTF-8");
44   - try {
45   - resp.getOutputStream().write(outStr.getBytes());
46   - } catch (IOException e) {
47   - logger.error("", e);
48   - }
49   -
50   - }
51   -
52   - @RequestMapping(value = "/index/load", method = RequestMethod.GET)
53   - public void load() {
54   - BufferedInputStream bis = null;
55   -
56   - try {
57   - InputStream is = IndexController.class.getClassLoader().getResourceAsStream("static/index.html");
58   - bis = new BufferedInputStream(is);
59   - StringBuilder source = new StringBuilder();
60   - byte[] buffer = new byte[bis.available()];
61   -
62   - while (bis.read(buffer) != -1) {
63   - source.append(new String(buffer));
64   - }
65   -
66   - indexSource = source.toString();
67   - } catch (Exception e) {
68   - logger.error("", e);
69   - } finally {
70   - try {
71   - bis.close();
72   - } catch (IOException e) {
73   - logger.error("", e);
74   - }
75   - }
76   - }
77   -}
  1 +package com.bsth.controller;
  2 +
  3 +import java.io.BufferedInputStream;
  4 +import java.io.IOException;
  5 +import java.io.InputStream;
  6 +
  7 +import javax.servlet.http.HttpServletResponse;
  8 +
  9 +import org.apache.commons.lang3.StringUtils;
  10 +import org.slf4j.Logger;
  11 +import org.slf4j.LoggerFactory;
  12 +import org.springframework.web.bind.annotation.RequestMapping;
  13 +import org.springframework.web.bind.annotation.RequestMethod;
  14 +import org.springframework.web.bind.annotation.RestController;
  15 +
  16 +@RestController
  17 +@RequestMapping("/")
  18 +public class IndexController {
  19 +
  20 + Logger logger = LoggerFactory.getLogger(this.getClass());
  21 +
  22 + String indexSource;
  23 +
  24 + /**
  25 + * 构造函数
  26 + */
  27 + public IndexController() {
  28 + load();
  29 + }
  30 +
  31 + /**
  32 + *
  33 + * @Title: index
  34 + * @Description: TODO(输出首页 index.html)
  35 + */
  36 + @RequestMapping
  37 + public void index(String initFragment, HttpServletResponse resp) {
  38 +
  39 + // 初始打开的片段地址
  40 + String outStr = StringUtils.replace(indexSource, "^_^initFragment^_^",
  41 + initFragment == null ? "" : initFragment);
  42 +
  43 + resp.setContentType("text/html;charset=UTF-8");
  44 + try {
  45 + resp.getOutputStream().write(outStr.getBytes());
  46 + } catch (IOException e) {
  47 + logger.error("", e);
  48 + }
  49 +
  50 + }
  51 +
  52 + @RequestMapping(value = "/index/load", method = RequestMethod.GET)
  53 + public void load() {
  54 + BufferedInputStream bis = null;
  55 +
  56 + try {
  57 + InputStream is = IndexController.class.getClassLoader().getResourceAsStream("static/index.html");
  58 + bis = new BufferedInputStream(is);
  59 + StringBuilder source = new StringBuilder();
  60 + byte[] buffer = new byte[bis.available()];
  61 +
  62 + while (bis.read(buffer) != -1) {
  63 + source.append(new String(buffer));
  64 + }
  65 +
  66 + indexSource = source.toString();
  67 + } catch (Exception e) {
  68 + logger.error("", e);
  69 + } finally {
  70 + try {
  71 + bis.close();
  72 + } catch (IOException e) {
  73 + logger.error("", e);
  74 + }
  75 + }
  76 + }
  77 +}
... ...
src/main/java/com/bsth/controller/InoutCarparkController.java
1   -package com.bsth.controller;
2   -
3   -import com.bsth.common.ResponseCode;
4   -import com.bsth.entity.LsInoutSectionRoute;
5   -import com.bsth.service.InoutCarparkService;
6   -import org.slf4j.Logger;
7   -import org.slf4j.LoggerFactory;
8   -import org.springframework.beans.factory.annotation.Autowired;
9   -import org.springframework.util.StringUtils;
10   -import org.springframework.web.bind.annotation.RequestMapping;
11   -import org.springframework.web.bind.annotation.RequestMethod;
12   -import org.springframework.web.bind.annotation.RequestParam;
13   -import org.springframework.web.bind.annotation.RestController;
14   -
15   -import java.util.HashMap;
16   -import java.util.Map;
17   -
18   -@RestController
19   -@RequestMapping("inout")
20   -public class InoutCarparkController extends BaseController<LsInoutSectionRoute, Long>{
21   -
22   - private final static Logger logger = LoggerFactory.getLogger(InoutCarparkController.class);
23   -
24   - @Autowired
25   - InoutCarparkService inoutCarparkService;
26   -
27   - @RequestMapping(value = "/getStartEndByLine", method = RequestMethod.GET)
28   - public Map<String, Object> getStartEndByLine(@RequestParam("lineId")int lineId, @RequestParam("version")int version) {
29   - return inoutCarparkService.getStartEndByLine(lineId, version);
30   - }
31   -
32   - @RequestMapping(value = "/getRouteByStartEnd", method = RequestMethod.GET)
33   - public Map<String, Object> getRouteByStartEnd(@RequestParam("lineId")int lineId, @RequestParam("version")int version, @RequestParam("start")String start, @RequestParam("end")String end) {
34   - return inoutCarparkService.getRouteByStartEnd(lineId, version, start, end);
35   - }
36   -
37   - /**
38   - * 新增路段信息
39   - *
40   - * @param map:<bsectionVector:折线百度坐标集合;dbType:圆坐标类型;descriptions:描述与说明;destroy:是否撤销;directions:方向;lineId:线路ID
41   - *
42   - * lineCode :线路编码;roadCoding:道路编码;sectionCode:路段编码;sectionDistance:路段长度;sectionName:路段名称;sectionTime:路段时长;
43   - *
44   - * sectionrouteCode:路段序号;speedLimit:路段限速>
45   - *
46   - * @return map<SUCCESS:成功;ERROR:异常>
47   - */
48   - @RequestMapping(value="sectionSave" , method = RequestMethod.POST)
49   - public Map<String, Object> sectionSave(LsInoutSectionRoute sectionRoute) {
50   - Map<String, Object> result = new HashMap<>();
51   - try {
52   - inoutCarparkService.add(sectionRoute);
53   - result.put("status", ResponseCode.SUCCESS);
54   - } catch (Exception e) {
55   - result.put("status", ResponseCode.ERROR);
56   - result.put("msg", e.getMessage());
57   - logger.error("", e);
58   - }
59   -
60   - return result;
61   - }
62   -
63   - /**
64   - * @Description :TODO(编辑线路走向)
65   - *
66   - * @param map <sectionId:路段ID; sectionJSON:路段信息>
67   - *
68   - * @return Map<String, Object> <SUCCESS ; ERROR>
69   - */
70   - @RequestMapping(value="sectionUpdate" , method = RequestMethod.POST)
71   - public Map<String, Object> sectionUpdate(LsInoutSectionRoute sectionRoute) {
72   - Map<String, Object> result = new HashMap<>();
73   - try {
74   - inoutCarparkService.modify(sectionRoute);
75   - result.put("status", ResponseCode.SUCCESS);
76   - } catch (Exception e) {
77   - result.put("status", ResponseCode.ERROR);
78   - result.put("msg", e.getMessage());
79   - logger.error("", e);
80   - }
81   -
82   - return result;
83   - }
84   -
85   - /**
86   - * @param id //路段路由id
87   - * @Description: TODO(撤销路段)
88   - */
89   - @RequestMapping(value = "/destroy", method = RequestMethod.POST)
90   - public Map<String, Object> destroy(@RequestParam Map<String, Object> map) {
91   - return inoutCarparkService.destroy(map);
92   - }
93   -
94   - /**
95   - * 从历史轨迹做进场路径规划
96   - * @Description: TODO(撤销路段)
97   - */
98   - @RequestMapping(value = "/pathPlaningByHistory", method = RequestMethod.POST)
99   - public Map<String, Object> pathPlaningByHistory(@RequestParam Map<String, Object> map){
100   - Map<String, Object> result = new HashMap<>();
101   - result.put("status", ResponseCode.SUCCESS);
102   - try {
103   - String schId = (String)map.get("schId"), version = (String)map.get("version");
104   - if (StringUtils.isEmpty(schId) || StringUtils.isEmpty(version)) {
105   - throw new RuntimeException("无效的参数");
106   - }
107   - inoutCarparkService.pathPlaningByHistory(Long.parseLong(schId), Integer.parseInt(version));
108   - } catch (Exception e) {
109   - result.put("status", ResponseCode.ERROR);
110   - logger.error("路径规划异常", e);
111   - }
112   -
113   - return result;
114   - }
115   -}
  1 +package com.bsth.controller;
  2 +
  3 +import com.bsth.common.ResponseCode;
  4 +import com.bsth.entity.LsInoutSectionRoute;
  5 +import com.bsth.service.InoutCarparkService;
  6 +import org.slf4j.Logger;
  7 +import org.slf4j.LoggerFactory;
  8 +import org.springframework.beans.factory.annotation.Autowired;
  9 +import org.springframework.util.StringUtils;
  10 +import org.springframework.web.bind.annotation.RequestMapping;
  11 +import org.springframework.web.bind.annotation.RequestMethod;
  12 +import org.springframework.web.bind.annotation.RequestParam;
  13 +import org.springframework.web.bind.annotation.RestController;
  14 +
  15 +import java.util.HashMap;
  16 +import java.util.Map;
  17 +
  18 +@RestController
  19 +@RequestMapping("inout")
  20 +public class InoutCarparkController extends BaseController<LsInoutSectionRoute, Long>{
  21 +
  22 + private final static Logger logger = LoggerFactory.getLogger(InoutCarparkController.class);
  23 +
  24 + @Autowired
  25 + InoutCarparkService inoutCarparkService;
  26 +
  27 + @RequestMapping(value = "/getStartEndByLine", method = RequestMethod.GET)
  28 + public Map<String, Object> getStartEndByLine(@RequestParam("lineId")int lineId, @RequestParam("version")int version) {
  29 + return inoutCarparkService.getStartEndByLine(lineId, version);
  30 + }
  31 +
  32 + @RequestMapping(value = "/getRouteByStartEnd", method = RequestMethod.GET)
  33 + public Map<String, Object> getRouteByStartEnd(@RequestParam("lineId")int lineId, @RequestParam("version")int version, @RequestParam("start")String start, @RequestParam("end")String end) {
  34 + return inoutCarparkService.getRouteByStartEnd(lineId, version, start, end);
  35 + }
  36 +
  37 + /**
  38 + * 新增路段信息
  39 + *
  40 + * @param map:<bsectionVector:折线百度坐标集合;dbType:圆坐标类型;descriptions:描述与说明;destroy:是否撤销;directions:方向;lineId:线路ID
  41 + *
  42 + * lineCode :线路编码;roadCoding:道路编码;sectionCode:路段编码;sectionDistance:路段长度;sectionName:路段名称;sectionTime:路段时长;
  43 + *
  44 + * sectionrouteCode:路段序号;speedLimit:路段限速>
  45 + *
  46 + * @return map<SUCCESS:成功;ERROR:异常>
  47 + */
  48 + @RequestMapping(value="sectionSave" , method = RequestMethod.POST)
  49 + public Map<String, Object> sectionSave(LsInoutSectionRoute sectionRoute) {
  50 + Map<String, Object> result = new HashMap<>();
  51 + try {
  52 + inoutCarparkService.add(sectionRoute);
  53 + result.put("status", ResponseCode.SUCCESS);
  54 + } catch (Exception e) {
  55 + result.put("status", ResponseCode.ERROR);
  56 + result.put("msg", e.getMessage());
  57 + logger.error("", e);
  58 + }
  59 +
  60 + return result;
  61 + }
  62 +
  63 + /**
  64 + * @Description :TODO(编辑线路走向)
  65 + *
  66 + * @param map <sectionId:路段ID; sectionJSON:路段信息>
  67 + *
  68 + * @return Map<String, Object> <SUCCESS ; ERROR>
  69 + */
  70 + @RequestMapping(value="sectionUpdate" , method = RequestMethod.POST)
  71 + public Map<String, Object> sectionUpdate(LsInoutSectionRoute sectionRoute) {
  72 + Map<String, Object> result = new HashMap<>();
  73 + try {
  74 + inoutCarparkService.modify(sectionRoute);
  75 + result.put("status", ResponseCode.SUCCESS);
  76 + } catch (Exception e) {
  77 + result.put("status", ResponseCode.ERROR);
  78 + result.put("msg", e.getMessage());
  79 + logger.error("", e);
  80 + }
  81 +
  82 + return result;
  83 + }
  84 +
  85 + /**
  86 + * @param id //路段路由id
  87 + * @Description: TODO(撤销路段)
  88 + */
  89 + @RequestMapping(value = "/destroy", method = RequestMethod.POST)
  90 + public Map<String, Object> destroy(@RequestParam Map<String, Object> map) {
  91 + return inoutCarparkService.destroy(map);
  92 + }
  93 +
  94 + /**
  95 + * 从历史轨迹做进场路径规划
  96 + * @Description: TODO(撤销路段)
  97 + */
  98 + @RequestMapping(value = "/pathPlaningByHistory", method = RequestMethod.POST)
  99 + public Map<String, Object> pathPlaningByHistory(@RequestParam Map<String, Object> map){
  100 + Map<String, Object> result = new HashMap<>();
  101 + result.put("status", ResponseCode.SUCCESS);
  102 + try {
  103 + String schId = (String)map.get("schId"), version = (String)map.get("version");
  104 + if (StringUtils.isEmpty(schId) || StringUtils.isEmpty(version)) {
  105 + throw new RuntimeException("无效的参数");
  106 + }
  107 + inoutCarparkService.pathPlaningByHistory(Long.parseLong(schId), Integer.parseInt(version));
  108 + } catch (Exception e) {
  109 + result.put("status", ResponseCode.ERROR);
  110 + logger.error("路径规划异常", e);
  111 + }
  112 +
  113 + return result;
  114 + }
  115 +}
... ...
src/main/java/com/bsth/controller/LineController.java
1   -package com.bsth.controller;
2   -
3   -import com.bsth.common.ResponseCode;
4   -import com.bsth.entity.Line;
5   -import com.bsth.entity.LineVersions;
6   -import com.bsth.service.LineService;
7   -import com.bsth.service.LineVersionsService;
8   -import com.bsth.util.GetUIDAndCode;
9   -import org.springframework.beans.factory.annotation.Autowired;
10   -import org.springframework.web.bind.annotation.RequestMapping;
11   -import org.springframework.web.bind.annotation.RequestMethod;
12   -import org.springframework.web.bind.annotation.RequestParam;
13   -import org.springframework.web.bind.annotation.RestController;
14   -
15   -import java.text.ParseException;
16   -import java.text.SimpleDateFormat;
17   -import java.util.Date;
18   -import java.util.HashMap;
19   -import java.util.Map;
20   -
21   -/**
22   - *
23   - * @ClassName: LineController(线路控制器)
24   - *
25   - * @Extends : BaseController
26   - *
27   - * @Description: TODO(线路控制层)
28   - *
29   - * @Author bsth@lq
30   - *
31   - * @Date 2016年4月28日 上午9:21:17
32   - *
33   - * @Version 公交调度系统BS版 0.1
34   - *
35   - */
36   -@RestController
37   -@RequestMapping("line")
38   -public class LineController extends BaseController<Line, Integer> {
39   -
40   - @Autowired
41   - private LineService service;
42   -
43   - @Autowired
44   - private LineVersionsService lineVersionsService;
45   -
46   - /**
47   - * 获取线路编码与ID
48   - *
49   - * @return int <lineCode:线路编码>
50   - */
51   - @RequestMapping(value = "getLineCode", method = RequestMethod.GET)
52   - public long getLineCode() {
53   - return service.selectMaxIdToLineCode() + 1;
54   - }
55   -
56   - /**
57   - * 验证线路编码是否存在
58   - *
59   - * @return Map < {valid: true }:是否通过验证>
60   - */
61   - @RequestMapping(value = "lineCodeVerification", method = RequestMethod.GET)
62   - public String lineCodeVerification(@RequestParam(defaultValue = "lineCode") String lineCode) {
63   - return service.lineCodeVerification(lineCode);
64   - }
65   -
66   - /**
67   - *
68   - * 保存
69   - *
70   - */
71   - @RequestMapping(method = RequestMethod.POST)
72   - public Map<String, Object> save(Line t){
73   - Map<String, Object> map = new HashMap<>();
74   - if(t.getId()==null) {
75   -
76   - t.setId(Integer.valueOf(t.getLineCode()));
77   -
78   - }
79   - if( (t.getId().toString().length()) > 6 || service.lineCodeVerification(t.getLineCode()).equals("false") ) {
80   -
81   - map.put("status", ResponseCode.ERROR);
82   - return map;
83   - }
84   - if(t.getDestroy() == 0){
85   - t.setInUse(1);
86   - } else
87   - t.setInUse(0);
88   - // 添加线路版本
89   - SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
90   - try {
91   - Date endDate = simpleDateFormat.parse("2088-08-08 00:00:00");
92   - LineVersions lineVersions = new LineVersions();
93   - lineVersions.setName("原始版本");
94   - lineVersions.setLine(t);
95   - lineVersions.setLineCode(t.getLineCode());
96   - lineVersions.setStartDate(new java.sql.Date(new Date().getTime()));
97   - lineVersions.setEndDate(new java.sql.Date(endDate.getTime()));// 2088-8-8 00:00:00
98   - lineVersions.setVersions(1);
99   - lineVersions.setStatus(1);
100   - // 先添加线路再添加版本
101   - service.save(t);
102   - return lineVersionsService.save(lineVersions);
103   - } catch (ParseException e) {
104   - // TODO Auto-generated catch block
105   - e.printStackTrace();
106   - map.put("status", ResponseCode.ERROR);
107   - return map;
108   - }
109   - }
110   -
111   - /**
112   - * 更改
113   - */
114   - @RequestMapping(value="/update", method = RequestMethod.POST)
115   - public Map<String, Object> update(Line l){
116   - Map<String, Object> map = new HashMap<>();
117   - if((l.getId().toString().length()) > 6 || service.lineCodeVerification(l.getLineCode()).equals("true") ) {
118   -
119   - map.put("status", ResponseCode.ERROR);
120   - return map;
121   - }
122   - return service.update(l);
123   - }
124   -
125   - @RequestMapping(value ="/findById" , method = RequestMethod.GET)
126   - Line findByID(@RequestParam(defaultValue = "id") Integer id){
127   - return service.findById(id);
128   - }
129   -
130   - /**
131   - * 删除线路
132   - * @param id
133   - * @return
134   - */
135   - @RequestMapping(value ="/remove" , method = RequestMethod.POST)
136   - public Map<String, Object> remove(Integer id){
137   - return service.remove(id);
138   - }
139   -}
  1 +package com.bsth.controller;
  2 +
  3 +import com.bsth.common.ResponseCode;
  4 +import com.bsth.entity.Line;
  5 +import com.bsth.entity.LineVersions;
  6 +import com.bsth.service.LineService;
  7 +import com.bsth.service.LineVersionsService;
  8 +import com.bsth.util.GetUIDAndCode;
  9 +import org.springframework.beans.factory.annotation.Autowired;
  10 +import org.springframework.web.bind.annotation.RequestMapping;
  11 +import org.springframework.web.bind.annotation.RequestMethod;
  12 +import org.springframework.web.bind.annotation.RequestParam;
  13 +import org.springframework.web.bind.annotation.RestController;
  14 +
  15 +import java.text.ParseException;
  16 +import java.text.SimpleDateFormat;
  17 +import java.util.Date;
  18 +import java.util.HashMap;
  19 +import java.util.Map;
  20 +
  21 +/**
  22 + *
  23 + * @ClassName: LineController(线路控制器)
  24 + *
  25 + * @Extends : BaseController
  26 + *
  27 + * @Description: TODO(线路控制层)
  28 + *
  29 + * @Author bsth@lq
  30 + *
  31 + * @Date 2016年4月28日 上午9:21:17
  32 + *
  33 + * @Version 公交调度系统BS版 0.1
  34 + *
  35 + */
  36 +@RestController
  37 +@RequestMapping("line")
  38 +public class LineController extends BaseController<Line, Integer> {
  39 +
  40 + @Autowired
  41 + private LineService service;
  42 +
  43 + @Autowired
  44 + private LineVersionsService lineVersionsService;
  45 +
  46 + /**
  47 + * 获取线路编码与ID
  48 + *
  49 + * @return int <lineCode:线路编码>
  50 + */
  51 + @RequestMapping(value = "getLineCode", method = RequestMethod.GET)
  52 + public long getLineCode() {
  53 + return service.selectMaxIdToLineCode() + 1;
  54 + }
  55 +
  56 + /**
  57 + * 验证线路编码是否存在
  58 + *
  59 + * @return Map < {valid: true }:是否通过验证>
  60 + */
  61 + @RequestMapping(value = "lineCodeVerification", method = RequestMethod.GET)
  62 + public String lineCodeVerification(@RequestParam(defaultValue = "lineCode") String lineCode) {
  63 + return service.lineCodeVerification(lineCode);
  64 + }
  65 +
  66 + /**
  67 + *
  68 + * 保存
  69 + *
  70 + */
  71 + @RequestMapping(method = RequestMethod.POST)
  72 + public Map<String, Object> save(Line t){
  73 + Map<String, Object> map = new HashMap<>();
  74 + if(t.getId()==null) {
  75 +
  76 + t.setId(Integer.valueOf(t.getLineCode()));
  77 +
  78 + }
  79 + if( (t.getId().toString().length()) > 6 || service.lineCodeVerification(t.getLineCode()).equals("false") ) {
  80 +
  81 + map.put("status", ResponseCode.ERROR);
  82 + return map;
  83 + }
  84 + if(t.getDestroy() == 0){
  85 + t.setInUse(1);
  86 + } else
  87 + t.setInUse(0);
  88 + // 添加线路版本
  89 + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  90 + try {
  91 + Date endDate = simpleDateFormat.parse("2088-08-08 00:00:00");
  92 + LineVersions lineVersions = new LineVersions();
  93 + lineVersions.setName("原始版本");
  94 + lineVersions.setLine(t);
  95 + lineVersions.setLineCode(t.getLineCode());
  96 + lineVersions.setStartDate(new java.sql.Date(new Date().getTime()));
  97 + lineVersions.setEndDate(new java.sql.Date(endDate.getTime()));// 2088-8-8 00:00:00
  98 + lineVersions.setVersions(1);
  99 + lineVersions.setStatus(1);
  100 + // 先添加线路再添加版本
  101 + service.save(t);
  102 + return lineVersionsService.save(lineVersions);
  103 + } catch (ParseException e) {
  104 + // TODO Auto-generated catch block
  105 + e.printStackTrace();
  106 + map.put("status", ResponseCode.ERROR);
  107 + return map;
  108 + }
  109 + }
  110 +
  111 + /**
  112 + * 更改
  113 + */
  114 + @RequestMapping(value="/update", method = RequestMethod.POST)
  115 + public Map<String, Object> update(Line l){
  116 + Map<String, Object> map = new HashMap<>();
  117 + if((l.getId().toString().length()) > 6 || service.lineCodeVerification(l.getLineCode()).equals("true") ) {
  118 +
  119 + map.put("status", ResponseCode.ERROR);
  120 + return map;
  121 + }
  122 + return service.update(l);
  123 + }
  124 +
  125 + @RequestMapping(value ="/findById" , method = RequestMethod.GET)
  126 + Line findByID(@RequestParam(defaultValue = "id") Integer id){
  127 + return service.findById(id);
  128 + }
  129 +
  130 + /**
  131 + * 删除线路
  132 + * @param id
  133 + * @return
  134 + */
  135 + @RequestMapping(value ="/remove" , method = RequestMethod.POST)
  136 + public Map<String, Object> remove(Integer id){
  137 + return service.remove(id);
  138 + }
  139 +}
... ...
src/main/java/com/bsth/controller/LineRegionController.java
1   -package com.bsth.controller;
2   -
3   -import com.bsth.common.ResponseCode;
4   -import com.bsth.entity.LineRegion;
5   -import com.bsth.entity.LsStationRoute;
6   -import com.bsth.service.LineRegionService;
7   -import org.slf4j.Logger;
8   -import org.slf4j.LoggerFactory;
9   -import org.springframework.beans.factory.annotation.Autowired;
10   -import org.springframework.web.bind.annotation.RequestMapping;
11   -import org.springframework.web.bind.annotation.RequestMethod;
12   -import org.springframework.web.bind.annotation.RequestParam;
13   -import org.springframework.web.bind.annotation.RestController;
14   -
15   -import java.util.HashMap;
16   -import java.util.List;
17   -import java.util.Map;
18   -
19   -/**
20   - * @Author Hill
21   - */
22   -@RestController
23   -@RequestMapping("/api/lineregion")
24   -public class LineRegionController extends BaseController<LineRegion, Integer> {
25   -
26   - private Logger log = LoggerFactory.getLogger(LineRegionController.class);
27   -
28   - @Autowired
29   - private LineRegionService lineRegionService;
30   -
31   - @RequestMapping(path = "findStationRoutes")
32   - public List<LsStationRoute> findStationRoutes(@RequestParam(defaultValue = "id") Integer regionId) {
33   - return lineRegionService.findStationRoutes(regionId);
34   - }
35   -
36   - @RequestMapping(path = "add", method = RequestMethod.POST)
37   - public Map<String, Object> add(LineRegion lineRegion) {
38   - Map<String, Object> result = new HashMap<>();
39   - try {
40   - lineRegionService.add(lineRegion);
41   - result.put("status", ResponseCode.SUCCESS);
42   - } catch (Exception e) {
43   - log.error("添加线路区间异常", e);
44   - result.put("status", ResponseCode.ERROR);
45   - }
46   -
47   - return result;
48   - }
49   -
50   - @RequestMapping(path = "modify", method = RequestMethod.POST)
51   - public Map<String, Object> modify(LineRegion lineRegion) {
52   - Map<String, Object> result = new HashMap<>();
53   - try {
54   - lineRegionService.save(lineRegion);
55   - result.put("status", ResponseCode.SUCCESS);
56   - } catch (Exception e) {
57   - log.error("变更线路区间异常", e);
58   - result.put("status", ResponseCode.ERROR);
59   - }
60   -
61   - return result;
62   - }
63   -}
  1 +package com.bsth.controller;
  2 +
  3 +import com.bsth.common.ResponseCode;
  4 +import com.bsth.entity.LineRegion;
  5 +import com.bsth.entity.LsStationRoute;
  6 +import com.bsth.service.LineRegionService;
  7 +import org.slf4j.Logger;
  8 +import org.slf4j.LoggerFactory;
  9 +import org.springframework.beans.factory.annotation.Autowired;
  10 +import org.springframework.web.bind.annotation.RequestMapping;
  11 +import org.springframework.web.bind.annotation.RequestMethod;
  12 +import org.springframework.web.bind.annotation.RequestParam;
  13 +import org.springframework.web.bind.annotation.RestController;
  14 +
  15 +import java.util.HashMap;
  16 +import java.util.List;
  17 +import java.util.Map;
  18 +
  19 +/**
  20 + * @Author Hill
  21 + */
  22 +@RestController
  23 +@RequestMapping("/api/lineregion")
  24 +public class LineRegionController extends BaseController<LineRegion, Integer> {
  25 +
  26 + private Logger log = LoggerFactory.getLogger(LineRegionController.class);
  27 +
  28 + @Autowired
  29 + private LineRegionService lineRegionService;
  30 +
  31 + @RequestMapping(path = "findStationRoutes")
  32 + public List<LsStationRoute> findStationRoutes(@RequestParam(defaultValue = "id") Integer regionId) {
  33 + return lineRegionService.findStationRoutes(regionId);
  34 + }
  35 +
  36 + @RequestMapping(path = "add", method = RequestMethod.POST)
  37 + public Map<String, Object> add(LineRegion lineRegion) {
  38 + Map<String, Object> result = new HashMap<>();
  39 + try {
  40 + lineRegionService.add(lineRegion);
  41 + result.put("status", ResponseCode.SUCCESS);
  42 + } catch (Exception e) {
  43 + log.error("添加线路区间异常", e);
  44 + result.put("status", ResponseCode.ERROR);
  45 + }
  46 +
  47 + return result;
  48 + }
  49 +
  50 + @RequestMapping(path = "modify", method = RequestMethod.POST)
  51 + public Map<String, Object> modify(LineRegion lineRegion) {
  52 + Map<String, Object> result = new HashMap<>();
  53 + try {
  54 + lineRegionService.save(lineRegion);
  55 + result.put("status", ResponseCode.SUCCESS);
  56 + } catch (Exception e) {
  57 + log.error("变更线路区间异常", e);
  58 + result.put("status", ResponseCode.ERROR);
  59 + }
  60 +
  61 + return result;
  62 + }
  63 +}
... ...
src/main/java/com/bsth/controller/LsSectionRouteController.java
1   -package com.bsth.controller;
2   -
3   -import com.bsth.common.ResponseCode;
4   -import com.bsth.entity.LsSectionRoute;
5   -import com.bsth.entity.LsStationRoute;
6   -import com.bsth.entity.SectionRoute;
7   -import com.bsth.service.LsSectionRouteService;
8   -import org.slf4j.Logger;
9   -import org.slf4j.LoggerFactory;
10   -import org.springframework.beans.factory.annotation.Autowired;
11   -import org.springframework.data.domain.Page;
12   -import org.springframework.web.bind.annotation.RequestMapping;
13   -import org.springframework.web.bind.annotation.RequestMethod;
14   -import org.springframework.web.bind.annotation.RequestParam;
15   -import org.springframework.web.bind.annotation.RestController;
16   -
17   -import java.util.Arrays;
18   -import java.util.HashMap;
19   -import java.util.List;
20   -import java.util.Map;
21   -
22   -/**
23   - *
24   - * @ClassName: SectionRouteController(路段路由控制器)
25   - *
26   - * @Extends : BaseController
27   - *
28   - * @Description: TODO(路段路由控制层)
29   - *
30   - * @Author bsth@lq
31   - *
32   - * @Date 2016年05月03日 上午9:21:17
33   - *
34   - * @Version 公交调度系统BS版 0.1
35   - *
36   - */
37   -
38   -@RestController
39   -@RequestMapping("/api/lssectionroute")
40   -public class LsSectionRouteController extends BaseController<LsSectionRoute, Integer> {
41   -
42   - private final static Logger log = LoggerFactory.getLogger(LsSectionRouteController.class);
43   -
44   - @Autowired
45   - private LsSectionRouteService lsSectionRouteService;
46   -
47   - @RequestMapping(value = "/findSectionRoutes" , method = RequestMethod.GET)
48   - public List<LsSectionRoute> findSectionRoutes(@RequestParam Map<String, Object> map) {
49   - map.put("destroy_eq", 0);
50   - if (map.get("line.id_eq") == null || map.get("versions_eq") == null) {
51   - throw new IllegalArgumentException("需正确传入线路、版本参数");
52   - }
53   -
54   - return lsSectionRouteService.findSectionRoutes(map);
55   - }
56   -
57   - @RequestMapping(value = "/findPageByParams", method = RequestMethod.GET)
58   - public Page<LsSectionRoute> findPageByParams(@RequestParam Map<String, Object> params) {
59   - int page = params.get("page") == null ? 0 : Integer.parseInt(params.get("page").toString());
60   - int size = params.get("size") == null ? 10 : Integer.parseInt(params.get("size").toString());
61   - String order = params.get("order").toString(), direction = params.get("direction").toString();
62   -
63   - return super.list(params, page, size, order, direction);
64   - }
65   -
66   - /**
67   - * @param id
68   - * @throws
69   - * @Description: TODO(批量撤销路段)
70   - */
71   - @RequestMapping(value = "/destroy", method = RequestMethod.POST)
72   - public Map<String, Object> destroy(Integer id) {
73   - Map<String, Object> result = new HashMap<>();
74   - try {
75   - lsSectionRouteService.batchDestroy(Arrays.asList(id));
76   - result.put("status", ResponseCode.SUCCESS);
77   - } catch (Exception e) {
78   - result.put("status", ResponseCode.ERROR);
79   - log.error("", e);
80   - }
81   -
82   - return result;
83   - }
84   -
85   - /**
86   - * @param ids
87   - * @throws
88   - * @Description: TODO(批量撤销路段)
89   - */
90   - @RequestMapping(value = "/batchDestroy", method = RequestMethod.POST)
91   - public Map<String, Object> batchDestroy(@RequestParam(value = "ids[]") List<Integer> ids) {
92   - Map<String, Object> result = new HashMap<>();
93   - try {
94   - lsSectionRouteService.batchDestroy(ids);
95   - result.put("status", ResponseCode.SUCCESS);
96   - } catch (Exception e) {
97   - result.put("status", ResponseCode.ERROR);
98   - log.error("", e);
99   - }
100   -
101   - return result;
102   - }
103   -
104   - /**
105   - * @param ids
106   - * @throws
107   - * @Description: TODO(批量恢复撤销站点)
108   - */
109   - @RequestMapping(value = "/batchRecover", method = RequestMethod.POST)
110   - public Map<String, Object> batchRecover(@RequestParam(value = "ids[]") List<Integer> ids) {
111   - Map<String, Object> result = new HashMap<>();
112   - try {
113   - lsSectionRouteService.batchRecover(ids);
114   - result.put("status", ResponseCode.SUCCESS);
115   - } catch (Exception e) {
116   - result.put("status", ResponseCode.ERROR);
117   - result.put("msg", e.getMessage());
118   - log.error("", e);
119   - }
120   -
121   - return result;
122   - }
123   -
124   - /**
125   - * @param lineId
126   - * @param version
127   - * @param direction
128   - * @param otherDirection
129   - * @throws
130   - * @Description: 引用另一上下行路段
131   - */
132   - @RequestMapping(value = "/quoteOtherSide", method = RequestMethod.POST)
133   - public Map<String, Object> quoteOtherSide(int lineId, int version, int direction, int otherDirection) {
134   - Map<String, Object> result = new HashMap<>();
135   - try {
136   - lsSectionRouteService.quoteOtherSide(lineId, version, direction, otherDirection);
137   - result.put("status", ResponseCode.SUCCESS);
138   - } catch (Exception e) {
139   - result.put("status", ResponseCode.ERROR);
140   - log.error("", e);
141   - }
142   -
143   - return result;
144   - }
145   -
146   - @RequestMapping(value = "/add", method = RequestMethod.POST)
147   - public Map<String, Object> add(LsSectionRoute sectionRoute) {
148   - Map<String, Object> result = new HashMap<>();
149   - try {
150   - lsSectionRouteService.add(sectionRoute);
151   - result.put("status", ResponseCode.SUCCESS);
152   - } catch (Exception e) {
153   - result.put("status", ResponseCode.ERROR);
154   - result.put("msg", e.getMessage());
155   - log.error("", e);
156   - }
157   -
158   - return result;
159   - }
160   -
161   - @RequestMapping(value = "/modify", method = RequestMethod.POST)
162   - public Map<String, Object> modify(LsSectionRoute sectionRoute) {
163   - Map<String, Object> result = new HashMap<>();
164   - try {
165   - lsSectionRouteService.modify(sectionRoute);
166   - result.put("status", ResponseCode.SUCCESS);
167   - } catch (Exception e) {
168   - result.put("status", ResponseCode.ERROR);
169   - result.put("msg", e.getMessage());
170   - log.error("", e);
171   - }
172   -
173   - return result;
174   - }
175   -}
  1 +package com.bsth.controller;
  2 +
  3 +import com.bsth.common.ResponseCode;
  4 +import com.bsth.entity.LsSectionRoute;
  5 +import com.bsth.entity.LsStationRoute;
  6 +import com.bsth.entity.SectionRoute;
  7 +import com.bsth.service.LsSectionRouteService;
  8 +import org.slf4j.Logger;
  9 +import org.slf4j.LoggerFactory;
  10 +import org.springframework.beans.factory.annotation.Autowired;
  11 +import org.springframework.data.domain.Page;
  12 +import org.springframework.web.bind.annotation.RequestMapping;
  13 +import org.springframework.web.bind.annotation.RequestMethod;
  14 +import org.springframework.web.bind.annotation.RequestParam;
  15 +import org.springframework.web.bind.annotation.RestController;
  16 +
  17 +import java.util.Arrays;
  18 +import java.util.HashMap;
  19 +import java.util.List;
  20 +import java.util.Map;
  21 +
  22 +/**
  23 + *
  24 + * @ClassName: SectionRouteController(路段路由控制器)
  25 + *
  26 + * @Extends : BaseController
  27 + *
  28 + * @Description: TODO(路段路由控制层)
  29 + *
  30 + * @Author bsth@lq
  31 + *
  32 + * @Date 2016年05月03日 上午9:21:17
  33 + *
  34 + * @Version 公交调度系统BS版 0.1
  35 + *
  36 + */
  37 +
  38 +@RestController
  39 +@RequestMapping("/api/lssectionroute")
  40 +public class LsSectionRouteController extends BaseController<LsSectionRoute, Integer> {
  41 +
  42 + private final static Logger log = LoggerFactory.getLogger(LsSectionRouteController.class);
  43 +
  44 + @Autowired
  45 + private LsSectionRouteService lsSectionRouteService;
  46 +
  47 + @RequestMapping(value = "/findSectionRoutes" , method = RequestMethod.GET)
  48 + public List<LsSectionRoute> findSectionRoutes(@RequestParam Map<String, Object> map) {
  49 + map.put("destroy_eq", 0);
  50 + if (map.get("line.id_eq") == null || map.get("versions_eq") == null) {
  51 + throw new IllegalArgumentException("需正确传入线路、版本参数");
  52 + }
  53 +
  54 + return lsSectionRouteService.findSectionRoutes(map);
  55 + }
  56 +
  57 + @RequestMapping(value = "/findPageByParams", method = RequestMethod.GET)
  58 + public Page<LsSectionRoute> findPageByParams(@RequestParam Map<String, Object> params) {
  59 + int page = params.get("page") == null ? 0 : Integer.parseInt(params.get("page").toString());
  60 + int size = params.get("size") == null ? 10 : Integer.parseInt(params.get("size").toString());
  61 + String order = params.get("order").toString(), direction = params.get("direction").toString();
  62 +
  63 + return super.list(params, page, size, order, direction);
  64 + }
  65 +
  66 + /**
  67 + * @param id
  68 + * @throws
  69 + * @Description: TODO(批量撤销路段)
  70 + */
  71 + @RequestMapping(value = "/destroy", method = RequestMethod.POST)
  72 + public Map<String, Object> destroy(Integer id) {
  73 + Map<String, Object> result = new HashMap<>();
  74 + try {
  75 + lsSectionRouteService.batchDestroy(Arrays.asList(id));
  76 + result.put("status", ResponseCode.SUCCESS);
  77 + } catch (Exception e) {
  78 + result.put("status", ResponseCode.ERROR);
  79 + log.error("", e);
  80 + }
  81 +
  82 + return result;
  83 + }
  84 +
  85 + /**
  86 + * @param ids
  87 + * @throws
  88 + * @Description: TODO(批量撤销路段)
  89 + */
  90 + @RequestMapping(value = "/batchDestroy", method = RequestMethod.POST)
  91 + public Map<String, Object> batchDestroy(@RequestParam(value = "ids[]") List<Integer> ids) {
  92 + Map<String, Object> result = new HashMap<>();
  93 + try {
  94 + lsSectionRouteService.batchDestroy(ids);
  95 + result.put("status", ResponseCode.SUCCESS);
  96 + } catch (Exception e) {
  97 + result.put("status", ResponseCode.ERROR);
  98 + log.error("", e);
  99 + }
  100 +
  101 + return result;
  102 + }
  103 +
  104 + /**
  105 + * @param ids
  106 + * @throws
  107 + * @Description: TODO(批量恢复撤销站点)
  108 + */
  109 + @RequestMapping(value = "/batchRecover", method = RequestMethod.POST)
  110 + public Map<String, Object> batchRecover(@RequestParam(value = "ids[]") List<Integer> ids) {
  111 + Map<String, Object> result = new HashMap<>();
  112 + try {
  113 + lsSectionRouteService.batchRecover(ids);
  114 + result.put("status", ResponseCode.SUCCESS);
  115 + } catch (Exception e) {
  116 + result.put("status", ResponseCode.ERROR);
  117 + result.put("msg", e.getMessage());
  118 + log.error("", e);
  119 + }
  120 +
  121 + return result;
  122 + }
  123 +
  124 + /**
  125 + * @param lineId
  126 + * @param version
  127 + * @param direction
  128 + * @param otherDirection
  129 + * @throws
  130 + * @Description: 引用另一上下行路段
  131 + */
  132 + @RequestMapping(value = "/quoteOtherSide", method = RequestMethod.POST)
  133 + public Map<String, Object> quoteOtherSide(int lineId, int version, int direction, int otherDirection) {
  134 + Map<String, Object> result = new HashMap<>();
  135 + try {
  136 + lsSectionRouteService.quoteOtherSide(lineId, version, direction, otherDirection);
  137 + result.put("status", ResponseCode.SUCCESS);
  138 + } catch (Exception e) {
  139 + result.put("status", ResponseCode.ERROR);
  140 + log.error("", e);
  141 + }
  142 +
  143 + return result;
  144 + }
  145 +
  146 + @RequestMapping(value = "/add", method = RequestMethod.POST)
  147 + public Map<String, Object> add(LsSectionRoute sectionRoute) {
  148 + Map<String, Object> result = new HashMap<>();
  149 + try {
  150 + lsSectionRouteService.add(sectionRoute);
  151 + result.put("status", ResponseCode.SUCCESS);
  152 + } catch (Exception e) {
  153 + result.put("status", ResponseCode.ERROR);
  154 + result.put("msg", e.getMessage());
  155 + log.error("", e);
  156 + }
  157 +
  158 + return result;
  159 + }
  160 +
  161 + @RequestMapping(value = "/modify", method = RequestMethod.POST)
  162 + public Map<String, Object> modify(LsSectionRoute sectionRoute) {
  163 + Map<String, Object> result = new HashMap<>();
  164 + try {
  165 + lsSectionRouteService.modify(sectionRoute);
  166 + result.put("status", ResponseCode.SUCCESS);
  167 + } catch (Exception e) {
  168 + result.put("status", ResponseCode.ERROR);
  169 + result.put("msg", e.getMessage());
  170 + log.error("", e);
  171 + }
  172 +
  173 + return result;
  174 + }
  175 +}
... ...
src/main/java/com/bsth/controller/LsStationRouteController.java
1   -package com.bsth.controller;
2   -
3   -import com.bsth.common.ResponseCode;
4   -import com.bsth.entity.LsSectionRoute;
5   -import com.bsth.entity.LsStationRoute;
6   -import com.bsth.service.LsStationRouteService;
7   -import com.fasterxml.jackson.databind.ObjectMapper;
8   -import org.slf4j.Logger;
9   -import org.slf4j.LoggerFactory;
10   -import org.springframework.beans.factory.annotation.Autowired;
11   -import org.springframework.data.domain.Page;
12   -import org.springframework.web.bind.annotation.*;
13   -
14   -import java.util.*;
15   -
16   -/**
17   - * @author Hill
18   - */
19   -@RestController
20   -@RequestMapping("/api/lsstationroute")
21   -public class LsStationRouteController extends BaseController<LsStationRoute, Integer> {
22   -
23   - private static final Logger log = LoggerFactory.getLogger(LsStationRouteController.class);
24   -
25   - @Autowired
26   - private LsStationRouteService lsStationRouteService;
27   -
28   - @Autowired
29   - private ObjectMapper mapper;
30   -
31   - @RequestMapping(value = "/findAllByParams", method = RequestMethod.GET)
32   - public Iterable<LsStationRoute> findAllByParams(@RequestParam Map<String, Object> params) {
33   - return lsStationRouteService.findAllByParams(params);
34   - }
35   -
36   - @RequestMapping(value = "/findPageByParams", method = RequestMethod.GET)
37   - public Page<LsStationRoute> findPageByParams(@RequestParam Map<String, Object> params) {
38   - int page = params.get("page") == null ? 0 : Integer.parseInt(params.get("page").toString());
39   - int size = params.get("size") == null ? 10 : Integer.parseInt(params.get("size").toString());
40   - String order = params.get("order").toString(), direction = params.get("direction").toString();
41   -
42   - return super.list(params, page, size, order, direction);
43   - }
44   -
45   - @RequestMapping(value = "/findRoutes" , method = RequestMethod.GET)
46   - public Map<String, Object> findRoutes(@RequestParam Map<String, Object> map) {
47   - map.put("destroy_eq", 0);
48   - if (map.get("line.id_eq") == null || map.get("versions_eq") == null) {
49   - throw new IllegalArgumentException("需正确传入线路、版本参数");
50   - }
51   -
52   - return lsStationRouteService.findRoutes(map);
53   - }
54   -
55   - @RequestMapping(value = "/findStationRoutes" , method = RequestMethod.GET)
56   - public List<LsStationRoute> findStationRoutes(@RequestParam Map<String, Object> map) {
57   - map.put("destroy_eq", 0);
58   - if (map.get("line.id_eq") == null || map.get("versions_eq") == null) {
59   - throw new IllegalArgumentException("需正确传入线路、版本参数");
60   - }
61   -
62   - return lsStationRouteService.findStationRoutes(map);
63   - }
64   -
65   - /**
66   - * @Description :TODO(查询站点的下一个缓存站点)
67   - */
68   - @RequestMapping(value = "/findCurrentAndNext" , method = RequestMethod.GET)
69   - public List<LsStationRoute> findCurrentAndNext(Integer id) {
70   - return lsStationRouteService.findCurrentAndNext(id);
71   - }
72   -
73   - /**
74   - * @param id
75   - * @throws
76   - * @Description: TODO(批量撤销站点)
77   - */
78   - @RequestMapping(value = "/destroy", method = RequestMethod.POST)
79   - public Map<String, Object> destroy(Integer id) {
80   - Map<String, Object> result = new HashMap<>();
81   - try {
82   - lsStationRouteService.batchDestroy(Arrays.asList(id));
83   - result.put("status", ResponseCode.SUCCESS);
84   - } catch (Exception e) {
85   - result.put("status", ResponseCode.ERROR);
86   - result.put("msg", e.getMessage());
87   - log.error("", e);
88   - }
89   -
90   - return result;
91   - }
92   -
93   - /**
94   - * @param ids
95   - * @throws
96   - * @Description: TODO(批量撤销站点)
97   - */
98   - @RequestMapping(value = "/batchDestroy", method = RequestMethod.POST)
99   - public Map<String, Object> batchDestroy(@RequestParam(value = "ids[]") List<Integer> ids) {
100   - Map<String, Object> result = new HashMap<>();
101   - try {
102   - lsStationRouteService.batchDestroy(ids);
103   - result.put("status", ResponseCode.SUCCESS);
104   - } catch (Exception e) {
105   - result.put("status", ResponseCode.ERROR);
106   - result.put("msg", e.getMessage());
107   - log.error("", e);
108   - }
109   -
110   - return result;
111   - }
112   -
113   - /**
114   - * @param ids
115   - * @throws
116   - * @Description: TODO(批量恢复撤销站点)
117   - */
118   - @RequestMapping(value = "/batchRecover", method = RequestMethod.POST)
119   - public Map<String, Object> batchRecover(@RequestParam(value = "ids[]") List<Integer> ids) {
120   - Map<String, Object> result = new HashMap<>();
121   - try {
122   - lsStationRouteService.batchRecover(ids);
123   - result.put("status", ResponseCode.SUCCESS);
124   - } catch (Exception e) {
125   - result.put("status", ResponseCode.ERROR);
126   - result.put("msg", e.getMessage());
127   - log.error("", e);
128   - }
129   -
130   - return result;
131   - }
132   -
133   - /**
134   - * 保存线路某个版本下单行的站点和路段路由
135   - * 常规使用在根据百度地图生成数据或者模板导入的批量保存
136   - * @param map
137   - * @return
138   - */
139   - @RequestMapping(value="addRoutes" , method = RequestMethod.POST)
140   - public Map<String, Object> addRoutes(@RequestBody Map<String, Object> map) {
141   - Map<String, Object> result = new HashMap<>();
142   - try {
143   - if (map.get("lineId") == null || map.get("versions") == null || map.get("directions") == null) {
144   - throw new IllegalArgumentException("需正确传入线路、方向、版本参数");
145   - }
146   - Integer versions = Integer.parseInt(map.get("versions").toString()), directions = Integer.parseInt(map.get("directions").toString()), lineId = Integer.parseInt(map.get("lineId").toString());
147   - List<LsStationRoute> stationRoutes = mapper.convertValue(map.get("stationRoutes"), mapper.constructType(mapper.getTypeFactory().constructParametricType(List.class, LsStationRoute.class)));
148   - List<LsSectionRoute> sectionRoutes = mapper.convertValue(map.get("sectionRoutes"), mapper.constructType(mapper.getTypeFactory().constructParametricType(List.class, LsSectionRoute.class)));
149   -
150   - result.putAll(lsStationRouteService.addRoutes(lineId, versions, directions, stationRoutes, sectionRoutes));
151   - result.put("status", ResponseCode.SUCCESS);
152   - } catch (Exception e) {
153   - result.put("status", ResponseCode.ERROR);
154   - log.error("", e);
155   - }
156   -
157   - return result;
158   - }
159   -
160   - @RequestMapping(value = "/add", method = RequestMethod.POST)
161   - public Map<String, Object> add(LsStationRoute stationRoute) {
162   - Map<String, Object> result = new HashMap<>();
163   - try {
164   - lsStationRouteService.add(stationRoute);
165   - result.put("status", ResponseCode.SUCCESS);
166   - } catch (Exception e) {
167   - result.put("status", ResponseCode.ERROR);
168   - result.put("msg", e.getMessage());
169   - log.error("", e);
170   - }
171   -
172   - return result;
173   - }
174   -
175   - @RequestMapping(value = "/modify", method = RequestMethod.POST)
176   - public Map<String, Object> modify(LsStationRoute stationRoute) {
177   - Map<String, Object> result = new HashMap<>();
178   - try {
179   - lsStationRouteService.modify(stationRoute);
180   - result.put("status", ResponseCode.SUCCESS);
181   - } catch (Exception e) {
182   - result.put("status", ResponseCode.ERROR);
183   - result.put("msg", e.getMessage());
184   - log.error("", e);
185   - }
186   -
187   - return result;
188   - }
189   -
190   - @RequestMapping(value = "/exchangeDirection", method = RequestMethod.POST)
191   - public Map<String, Object> exchangeDirection(int lineId, int version) {
192   - Map<String, Object> result = new HashMap<>();
193   - try {
194   - lsStationRouteService.exchangeDirection(lineId, version);
195   - result.put("status", ResponseCode.SUCCESS);
196   - } catch (Exception e) {
197   - result.put("status", ResponseCode.ERROR);
198   - result.put("msg", e.getMessage());
199   - log.error("", e);
200   - }
201   -
202   - return result;
203   - }
204   -
205   - @RequestMapping(value = "/modifyDistance", method = RequestMethod.POST)
206   - public Map<String, Object> modifyDistance(@RequestParam Map<String, Object> params) {
207   - Map<String, Object> result = new HashMap<>();
208   - try {
209   - List<Integer> ids = new ArrayList<>();
210   - List<Double> distances = new ArrayList<>();
211   - for (Map.Entry<String, Object> entry : params.entrySet()) {
212   - String key = entry.getKey(), value = String.valueOf(entry.getValue());
213   - ids.add(Integer.parseInt(key.split("_")[1]));
214   - distances.add(Double.parseDouble(value) / 1000);
215   - }
216   - if (ids.size() == 0) {
217   - throw new IllegalArgumentException("不合法的参数");
218   - }
219   - lsStationRouteService.modifyDistance(ids, distances);
220   - result.put("status", ResponseCode.SUCCESS);
221   - } catch (Exception e) {
222   - result.put("status", ResponseCode.ERROR);
223   - result.put("msg", e.getMessage());
224   - log.error("", e);
225   - }
226   -
227   - return result;
228   - }
229   -
230   - @RequestMapping(value = "/circularRouteHandle", method = RequestMethod.POST)
231   - public Map<String, Object> circularRouteHandle(Integer lineId, Integer version) {
232   - Map<String, Object> result = new HashMap<>();
233   - try {
234   - lsStationRouteService.circularRouteHandle(lineId, version);
235   - result.put("status", ResponseCode.SUCCESS);
236   - } catch (Exception e) {
237   - result.put("status", ResponseCode.ERROR);
238   - result.put("msg", e.getMessage());
239   - log.error("", e);
240   - }
241   -
242   - return result;
243   - }
244   -
245   - @RequestMapping(value = "/analyzeRoutes")
246   - public Map<String, Object> analyzeRoutes(Integer lineId, Integer version, Integer direction) {
247   - Map<String, Object> result = new HashMap<>();
248   - try {
249   - result.putAll(lsStationRouteService.analyzeRoutes(lineId, version, direction));
250   - result.put("status", ResponseCode.SUCCESS);
251   - } catch (Exception e) {
252   - result.put("status", ResponseCode.ERROR);
253   - result.put("msg", e.getMessage());
254   - log.error("", e);
255   - }
256   -
257   - return result;
258   - }
259   -}
  1 +package com.bsth.controller;
  2 +
  3 +import com.bsth.common.ResponseCode;
  4 +import com.bsth.entity.LsSectionRoute;
  5 +import com.bsth.entity.LsStationRoute;
  6 +import com.bsth.service.LsStationRouteService;
  7 +import com.fasterxml.jackson.databind.ObjectMapper;
  8 +import org.slf4j.Logger;
  9 +import org.slf4j.LoggerFactory;
  10 +import org.springframework.beans.factory.annotation.Autowired;
  11 +import org.springframework.data.domain.Page;
  12 +import org.springframework.web.bind.annotation.*;
  13 +
  14 +import java.util.*;
  15 +
  16 +/**
  17 + * @author Hill
  18 + */
  19 +@RestController
  20 +@RequestMapping("/api/lsstationroute")
  21 +public class LsStationRouteController extends BaseController<LsStationRoute, Integer> {
  22 +
  23 + private static final Logger log = LoggerFactory.getLogger(LsStationRouteController.class);
  24 +
  25 + @Autowired
  26 + private LsStationRouteService lsStationRouteService;
  27 +
  28 + @Autowired
  29 + private ObjectMapper mapper;
  30 +
  31 + @RequestMapping(value = "/findAllByParams", method = RequestMethod.GET)
  32 + public Iterable<LsStationRoute> findAllByParams(@RequestParam Map<String, Object> params) {
  33 + return lsStationRouteService.findAllByParams(params);
  34 + }
  35 +
  36 + @RequestMapping(value = "/findPageByParams", method = RequestMethod.GET)
  37 + public Page<LsStationRoute> findPageByParams(@RequestParam Map<String, Object> params) {
  38 + int page = params.get("page") == null ? 0 : Integer.parseInt(params.get("page").toString());
  39 + int size = params.get("size") == null ? 10 : Integer.parseInt(params.get("size").toString());
  40 + String order = params.get("order").toString(), direction = params.get("direction").toString();
  41 +
  42 + return super.list(params, page, size, order, direction);
  43 + }
  44 +
  45 + @RequestMapping(value = "/findRoutes" , method = RequestMethod.GET)
  46 + public Map<String, Object> findRoutes(@RequestParam Map<String, Object> map) {
  47 + map.put("destroy_eq", 0);
  48 + if (map.get("line.id_eq") == null || map.get("versions_eq") == null) {
  49 + throw new IllegalArgumentException("需正确传入线路、版本参数");
  50 + }
  51 +
  52 + return lsStationRouteService.findRoutes(map);
  53 + }
  54 +
  55 + @RequestMapping(value = "/findStationRoutes" , method = RequestMethod.GET)
  56 + public List<LsStationRoute> findStationRoutes(@RequestParam Map<String, Object> map) {
  57 + map.put("destroy_eq", 0);
  58 + if (map.get("line.id_eq") == null || map.get("versions_eq") == null) {
  59 + throw new IllegalArgumentException("需正确传入线路、版本参数");
  60 + }
  61 +
  62 + return lsStationRouteService.findStationRoutes(map);
  63 + }
  64 +
  65 + /**
  66 + * @Description :TODO(查询站点的下一个缓存站点)
  67 + */
  68 + @RequestMapping(value = "/findCurrentAndNext" , method = RequestMethod.GET)
  69 + public List<LsStationRoute> findCurrentAndNext(Integer id) {
  70 + return lsStationRouteService.findCurrentAndNext(id);
  71 + }
  72 +
  73 + /**
  74 + * @param id
  75 + * @throws
  76 + * @Description: TODO(批量撤销站点)
  77 + */
  78 + @RequestMapping(value = "/destroy", method = RequestMethod.POST)
  79 + public Map<String, Object> destroy(Integer id) {
  80 + Map<String, Object> result = new HashMap<>();
  81 + try {
  82 + lsStationRouteService.batchDestroy(Arrays.asList(id));
  83 + result.put("status", ResponseCode.SUCCESS);
  84 + } catch (Exception e) {
  85 + result.put("status", ResponseCode.ERROR);
  86 + result.put("msg", e.getMessage());
  87 + log.error("", e);
  88 + }
  89 +
  90 + return result;
  91 + }
  92 +
  93 + /**
  94 + * @param ids
  95 + * @throws
  96 + * @Description: TODO(批量撤销站点)
  97 + */
  98 + @RequestMapping(value = "/batchDestroy", method = RequestMethod.POST)
  99 + public Map<String, Object> batchDestroy(@RequestParam(value = "ids[]") List<Integer> ids) {
  100 + Map<String, Object> result = new HashMap<>();
  101 + try {
  102 + lsStationRouteService.batchDestroy(ids);
  103 + result.put("status", ResponseCode.SUCCESS);
  104 + } catch (Exception e) {
  105 + result.put("status", ResponseCode.ERROR);
  106 + result.put("msg", e.getMessage());
  107 + log.error("", e);
  108 + }
  109 +
  110 + return result;
  111 + }
  112 +
  113 + /**
  114 + * @param ids
  115 + * @throws
  116 + * @Description: TODO(批量恢复撤销站点)
  117 + */
  118 + @RequestMapping(value = "/batchRecover", method = RequestMethod.POST)
  119 + public Map<String, Object> batchRecover(@RequestParam(value = "ids[]") List<Integer> ids) {
  120 + Map<String, Object> result = new HashMap<>();
  121 + try {
  122 + lsStationRouteService.batchRecover(ids);
  123 + result.put("status", ResponseCode.SUCCESS);
  124 + } catch (Exception e) {
  125 + result.put("status", ResponseCode.ERROR);
  126 + result.put("msg", e.getMessage());
  127 + log.error("", e);
  128 + }
  129 +
  130 + return result;
  131 + }
  132 +
  133 + /**
  134 + * 保存线路某个版本下单行的站点和路段路由
  135 + * 常规使用在根据百度地图生成数据或者模板导入的批量保存
  136 + * @param map
  137 + * @return
  138 + */
  139 + @RequestMapping(value="addRoutes" , method = RequestMethod.POST)
  140 + public Map<String, Object> addRoutes(@RequestBody Map<String, Object> map) {
  141 + Map<String, Object> result = new HashMap<>();
  142 + try {
  143 + if (map.get("lineId") == null || map.get("versions") == null || map.get("directions") == null) {
  144 + throw new IllegalArgumentException("需正确传入线路、方向、版本参数");
  145 + }
  146 + Integer versions = Integer.parseInt(map.get("versions").toString()), directions = Integer.parseInt(map.get("directions").toString()), lineId = Integer.parseInt(map.get("lineId").toString());
  147 + List<LsStationRoute> stationRoutes = mapper.convertValue(map.get("stationRoutes"), mapper.constructType(mapper.getTypeFactory().constructParametricType(List.class, LsStationRoute.class)));
  148 + List<LsSectionRoute> sectionRoutes = mapper.convertValue(map.get("sectionRoutes"), mapper.constructType(mapper.getTypeFactory().constructParametricType(List.class, LsSectionRoute.class)));
  149 +
  150 + result.putAll(lsStationRouteService.addRoutes(lineId, versions, directions, stationRoutes, sectionRoutes));
  151 + result.put("status", ResponseCode.SUCCESS);
  152 + } catch (Exception e) {
  153 + result.put("status", ResponseCode.ERROR);
  154 + log.error("", e);
  155 + }
  156 +
  157 + return result;
  158 + }
  159 +
  160 + @RequestMapping(value = "/add", method = RequestMethod.POST)
  161 + public Map<String, Object> add(LsStationRoute stationRoute) {
  162 + Map<String, Object> result = new HashMap<>();
  163 + try {
  164 + lsStationRouteService.add(stationRoute);
  165 + result.put("status", ResponseCode.SUCCESS);
  166 + } catch (Exception e) {
  167 + result.put("status", ResponseCode.ERROR);
  168 + result.put("msg", e.getMessage());
  169 + log.error("", e);
  170 + }
  171 +
  172 + return result;
  173 + }
  174 +
  175 + @RequestMapping(value = "/modify", method = RequestMethod.POST)
  176 + public Map<String, Object> modify(LsStationRoute stationRoute) {
  177 + Map<String, Object> result = new HashMap<>();
  178 + try {
  179 + lsStationRouteService.modify(stationRoute);
  180 + result.put("status", ResponseCode.SUCCESS);
  181 + } catch (Exception e) {
  182 + result.put("status", ResponseCode.ERROR);
  183 + result.put("msg", e.getMessage());
  184 + log.error("", e);
  185 + }
  186 +
  187 + return result;
  188 + }
  189 +
  190 + @RequestMapping(value = "/exchangeDirection", method = RequestMethod.POST)
  191 + public Map<String, Object> exchangeDirection(int lineId, int version) {
  192 + Map<String, Object> result = new HashMap<>();
  193 + try {
  194 + lsStationRouteService.exchangeDirection(lineId, version);
  195 + result.put("status", ResponseCode.SUCCESS);
  196 + } catch (Exception e) {
  197 + result.put("status", ResponseCode.ERROR);
  198 + result.put("msg", e.getMessage());
  199 + log.error("", e);
  200 + }
  201 +
  202 + return result;
  203 + }
  204 +
  205 + @RequestMapping(value = "/modifyDistance", method = RequestMethod.POST)
  206 + public Map<String, Object> modifyDistance(@RequestParam Map<String, Object> params) {
  207 + Map<String, Object> result = new HashMap<>();
  208 + try {
  209 + List<Integer> ids = new ArrayList<>();
  210 + List<Double> distances = new ArrayList<>();
  211 + for (Map.Entry<String, Object> entry : params.entrySet()) {
  212 + String key = entry.getKey(), value = String.valueOf(entry.getValue());
  213 + ids.add(Integer.parseInt(key.split("_")[1]));
  214 + distances.add(Double.parseDouble(value) / 1000);
  215 + }
  216 + if (ids.size() == 0) {
  217 + throw new IllegalArgumentException("不合法的参数");
  218 + }
  219 + lsStationRouteService.modifyDistance(ids, distances);
  220 + result.put("status", ResponseCode.SUCCESS);
  221 + } catch (Exception e) {
  222 + result.put("status", ResponseCode.ERROR);
  223 + result.put("msg", e.getMessage());
  224 + log.error("", e);
  225 + }
  226 +
  227 + return result;
  228 + }
  229 +
  230 + @RequestMapping(value = "/circularRouteHandle", method = RequestMethod.POST)
  231 + public Map<String, Object> circularRouteHandle(Integer lineId, Integer version) {
  232 + Map<String, Object> result = new HashMap<>();
  233 + try {
  234 + lsStationRouteService.circularRouteHandle(lineId, version);
  235 + result.put("status", ResponseCode.SUCCESS);
  236 + } catch (Exception e) {
  237 + result.put("status", ResponseCode.ERROR);
  238 + result.put("msg", e.getMessage());
  239 + log.error("", e);
  240 + }
  241 +
  242 + return result;
  243 + }
  244 +
  245 + @RequestMapping(value = "/analyzeRoutes")
  246 + public Map<String, Object> analyzeRoutes(Integer lineId, Integer version, Integer direction) {
  247 + Map<String, Object> result = new HashMap<>();
  248 + try {
  249 + result.putAll(lsStationRouteService.analyzeRoutes(lineId, version, direction));
  250 + result.put("status", ResponseCode.SUCCESS);
  251 + } catch (Exception e) {
  252 + result.put("status", ResponseCode.ERROR);
  253 + result.put("msg", e.getMessage());
  254 + log.error("", e);
  255 + }
  256 +
  257 + return result;
  258 + }
  259 +}
... ...
src/main/java/com/bsth/controller/SectionController.java
1   -package com.bsth.controller;
2   -
3   -import com.bsth.common.ResponseCode;
4   -import com.bsth.entity.Section;
5   -import com.bsth.entity.Station;
6   -import com.bsth.repository.SectionRepository;
7   -import com.bsth.service.SectionService;
8   -import org.slf4j.Logger;
9   -import org.slf4j.LoggerFactory;
10   -import org.springframework.beans.factory.annotation.Autowired;
11   -import org.springframework.web.bind.annotation.RequestMapping;
12   -import org.springframework.web.bind.annotation.RequestMethod;
13   -import org.springframework.web.bind.annotation.RequestParam;
14   -import org.springframework.web.bind.annotation.RestController;
15   -
16   -import javax.servlet.http.HttpServletRequest;
17   -import java.util.HashMap;
18   -import java.util.List;
19   -import java.util.Map;
20   -
21   -/**
22   - *
23   - * @ClassName: SectionController(路段控制器)
24   - *
25   - * @Extends : BaseController
26   - *
27   - * @Description: TODO(路段控制层)
28   - *
29   - * @Author bsth@lq
30   - *
31   - * @Date 2016年05月03日 上午9:21:17
32   - *
33   - * @Version 公交调度系统BS版 0.1
34   - *
35   - */
36   -
37   -@RestController
38   -@RequestMapping("section")
39   -public class SectionController extends BaseController<Section, Integer> {
40   -
41   - private final static Logger log = LoggerFactory.getLogger(SectionController.class);
42   -
43   - @Autowired
44   - SectionService sectionService;
45   -
46   - @Autowired
47   - SectionRepository sectionRepository;
48   -
49   - /**
50   - * @Description :TODO(查询路段编码)
51   - *
52   - * @return int <sectionCode路段编码>
53   - */
54   - @RequestMapping(value="getSectionCode", method = RequestMethod.GET)
55   - public long getSectionCode() {
56   - return sectionRepository.findLatestSectionId() + 1;
57   - }
58   -
59   - /**
60   - * @Description :TODO(把路段截取位双路名路段)
61   - *
62   - * @return int <sectionCode路段编码>
63   - */
64   - @RequestMapping(value="doubleName", method = RequestMethod.POST)
65   - public Map<String, Object> doubleName(@RequestParam Map<String, Object> map) {
66   - return sectionService.doubleName(map);
67   - }
68   -
69   - @RequestMapping(value="add", method = RequestMethod.POST)
70   - public Map<String, Object> add(Section section) {
71   - Map<String, Object> result = new HashMap<>();
72   - try {
73   - sectionService.add(section);
74   - result.put("status", ResponseCode.SUCCESS);
75   - } catch (Exception e) {
76   - result.put("status", ResponseCode.ERROR);
77   - log.error("", e);
78   - }
79   -
80   - return result;
81   - }
82   -
83   - @RequestMapping(value="modify", method = RequestMethod.POST)
84   - public Map<String, Object> modify(Section section) {
85   - Map<String, Object> result = new HashMap<>();
86   - try {
87   - sectionService.modify(section);
88   - result.put("status", ResponseCode.SUCCESS);
89   - } catch (Exception e) {
90   - result.put("status", ResponseCode.ERROR);
91   - log.error("", e);
92   - }
93   -
94   - return result;
95   - }
96   -
97   - @RequestMapping(value="findDistinctSectionName", method = RequestMethod.GET)
98   - public Map<String, Object> findDistinctSectionName() {
99   - Map<String, Object> result = new HashMap<>();
100   - try {
101   - result.put("data", sectionService.findDistinctSectionName());
102   - result.put("status", ResponseCode.SUCCESS);
103   - } catch (Exception e) {
104   - result.put("status", ResponseCode.ERROR);
105   - log.error("", e);
106   - }
107   -
108   - return result;
109   - }
110   -
111   - /**
112   - * 根据路段名搜索路段信息
113   - * @param sectionName
114   - * @return 站点列表
115   - */
116   - @RequestMapping(value="findSectionByName" , method = RequestMethod.GET)
117   - public Map<String, Object> findSectionByName(String sectionName) {
118   - Map<String, Object> result = new HashMap<>();
119   - try {
120   - result.put("data", sectionService.findSectionByName(sectionName));
121   - result.put("status", ResponseCode.SUCCESS);
122   - } catch (Exception e) {
123   - result.put("status", ResponseCode.ERROR);
124   - log.error("", e);
125   - }
126   -
127   - return result;
128   - }
129   -}
  1 +package com.bsth.controller;
  2 +
  3 +import com.bsth.common.ResponseCode;
  4 +import com.bsth.entity.Section;
  5 +import com.bsth.entity.Station;
  6 +import com.bsth.repository.SectionRepository;
  7 +import com.bsth.service.SectionService;
  8 +import org.slf4j.Logger;
  9 +import org.slf4j.LoggerFactory;
  10 +import org.springframework.beans.factory.annotation.Autowired;
  11 +import org.springframework.web.bind.annotation.RequestMapping;
  12 +import org.springframework.web.bind.annotation.RequestMethod;
  13 +import org.springframework.web.bind.annotation.RequestParam;
  14 +import org.springframework.web.bind.annotation.RestController;
  15 +
  16 +import javax.servlet.http.HttpServletRequest;
  17 +import java.util.HashMap;
  18 +import java.util.List;
  19 +import java.util.Map;
  20 +
  21 +/**
  22 + *
  23 + * @ClassName: SectionController(路段控制器)
  24 + *
  25 + * @Extends : BaseController
  26 + *
  27 + * @Description: TODO(路段控制层)
  28 + *
  29 + * @Author bsth@lq
  30 + *
  31 + * @Date 2016年05月03日 上午9:21:17
  32 + *
  33 + * @Version 公交调度系统BS版 0.1
  34 + *
  35 + */
  36 +
  37 +@RestController
  38 +@RequestMapping("section")
  39 +public class SectionController extends BaseController<Section, Integer> {
  40 +
  41 + private final static Logger log = LoggerFactory.getLogger(SectionController.class);
  42 +
  43 + @Autowired
  44 + SectionService sectionService;
  45 +
  46 + @Autowired
  47 + SectionRepository sectionRepository;
  48 +
  49 + /**
  50 + * @Description :TODO(查询路段编码)
  51 + *
  52 + * @return int <sectionCode路段编码>
  53 + */
  54 + @RequestMapping(value="getSectionCode", method = RequestMethod.GET)
  55 + public long getSectionCode() {
  56 + return sectionRepository.findLatestSectionId() + 1;
  57 + }
  58 +
  59 + /**
  60 + * @Description :TODO(把路段截取位双路名路段)
  61 + *
  62 + * @return int <sectionCode路段编码>
  63 + */
  64 + @RequestMapping(value="doubleName", method = RequestMethod.POST)
  65 + public Map<String, Object> doubleName(@RequestParam Map<String, Object> map) {
  66 + return sectionService.doubleName(map);
  67 + }
  68 +
  69 + @RequestMapping(value="add", method = RequestMethod.POST)
  70 + public Map<String, Object> add(Section section) {
  71 + Map<String, Object> result = new HashMap<>();
  72 + try {
  73 + sectionService.add(section);
  74 + result.put("status", ResponseCode.SUCCESS);
  75 + } catch (Exception e) {
  76 + result.put("status", ResponseCode.ERROR);
  77 + log.error("", e);
  78 + }
  79 +
  80 + return result;
  81 + }
  82 +
  83 + @RequestMapping(value="modify", method = RequestMethod.POST)
  84 + public Map<String, Object> modify(Section section) {
  85 + Map<String, Object> result = new HashMap<>();
  86 + try {
  87 + sectionService.modify(section);
  88 + result.put("status", ResponseCode.SUCCESS);
  89 + } catch (Exception e) {
  90 + result.put("status", ResponseCode.ERROR);
  91 + log.error("", e);
  92 + }
  93 +
  94 + return result;
  95 + }
  96 +
  97 + @RequestMapping(value="findDistinctSectionName", method = RequestMethod.GET)
  98 + public Map<String, Object> findDistinctSectionName() {
  99 + Map<String, Object> result = new HashMap<>();
  100 + try {
  101 + result.put("data", sectionService.findDistinctSectionName());
  102 + result.put("status", ResponseCode.SUCCESS);
  103 + } catch (Exception e) {
  104 + result.put("status", ResponseCode.ERROR);
  105 + log.error("", e);
  106 + }
  107 +
  108 + return result;
  109 + }
  110 +
  111 + /**
  112 + * 根据路段名搜索路段信息
  113 + * @param sectionName
  114 + * @return 站点列表
  115 + */
  116 + @RequestMapping(value="findSectionByName" , method = RequestMethod.GET)
  117 + public Map<String, Object> findSectionByName(String sectionName) {
  118 + Map<String, Object> result = new HashMap<>();
  119 + try {
  120 + result.put("data", sectionService.findSectionByName(sectionName));
  121 + result.put("status", ResponseCode.SUCCESS);
  122 + } catch (Exception e) {
  123 + result.put("status", ResponseCode.ERROR);
  124 + log.error("", e);
  125 + }
  126 +
  127 + return result;
  128 + }
  129 +}
... ...
src/main/java/com/bsth/controller/SectionRouteController.java
1   -package com.bsth.controller;
2   -
3   -import java.util.List;
4   -import java.util.Map;
5   -
6   -import org.springframework.beans.factory.annotation.Autowired;
7   -import org.springframework.web.bind.annotation.RequestMapping;
8   -import org.springframework.web.bind.annotation.RequestMethod;
9   -import org.springframework.web.bind.annotation.RequestParam;
10   -import org.springframework.web.bind.annotation.RestController;
11   -
12   -import com.bsth.entity.SectionRoute;
13   -import com.bsth.service.SectionRouteService;
14   -
15   -/**
16   - *
17   - * @ClassName: SectionRouteController(路段路由控制器)
18   - *
19   - * @Extends : BaseController
20   - *
21   - * @Description: TODO(路段路由控制层)
22   - *
23   - * @Author bsth@lq
24   - *
25   - * @Date 2016年05月03日 上午9:21:17
26   - *
27   - * @Version 公交调度系统BS版 0.1
28   - *
29   - */
30   -
31   -@RestController
32   -@RequestMapping("sectionroute")
33   -public class SectionRouteController extends BaseController<SectionRoute, Integer> {
34   -
35   - @Autowired
36   - SectionRouteService routeService;
37   -
38   - /**
39   - * @param @param map
40   - * @throws
41   - * @Title: list
42   - * @Description: TODO(多条件查询)
43   - */
44   - @RequestMapping(value = "/all", method = RequestMethod.GET)
45   - public Iterable<SectionRoute> list(@RequestParam Map<String, Object> map) {
46   - return routeService.list(map);
47   - }
48   -
49   - /**
50   - * @Description :TODO(查询路段信息)
51   - *
52   - * @param map <line.id_eq:线路ID; directions_eq:方向>
53   - *
54   - * @return Map<String, Object>
55   - */
56   - @RequestMapping(value = "/findSection" , method = RequestMethod.GET)
57   - public List<Map<String, Object>> findPoints(@RequestParam Map<String, Object> map) {
58   - return routeService.getSectionRoute(map);
59   - }
60   -
61   - /**
62   - * @Description :TODO(查询线路某方向下的上一个路段序号)
63   - *
64   - * @param map <lineId:线路ID; direction:方向;sectionRouteCode:路段编码>
65   - *
66   - * @return List<Map<String, Object>>
67   - */
68   - @RequestMapping(value = "/findUpSectionRouteCode" , method = RequestMethod.GET)
69   - public List<Map<String, Object>> findUpStationRouteCode(@RequestParam Map<String, Object> map) {
70   - return routeService.findUpSectionRouteCode(map);
71   - }
72   -}
  1 +package com.bsth.controller;
  2 +
  3 +import java.util.List;
  4 +import java.util.Map;
  5 +
  6 +import org.springframework.beans.factory.annotation.Autowired;
  7 +import org.springframework.web.bind.annotation.RequestMapping;
  8 +import org.springframework.web.bind.annotation.RequestMethod;
  9 +import org.springframework.web.bind.annotation.RequestParam;
  10 +import org.springframework.web.bind.annotation.RestController;
  11 +
  12 +import com.bsth.entity.SectionRoute;
  13 +import com.bsth.service.SectionRouteService;
  14 +
  15 +/**
  16 + *
  17 + * @ClassName: SectionRouteController(路段路由控制器)
  18 + *
  19 + * @Extends : BaseController
  20 + *
  21 + * @Description: TODO(路段路由控制层)
  22 + *
  23 + * @Author bsth@lq
  24 + *
  25 + * @Date 2016年05月03日 上午9:21:17
  26 + *
  27 + * @Version 公交调度系统BS版 0.1
  28 + *
  29 + */
  30 +
  31 +@RestController
  32 +@RequestMapping("sectionroute")
  33 +public class SectionRouteController extends BaseController<SectionRoute, Integer> {
  34 +
  35 + @Autowired
  36 + SectionRouteService routeService;
  37 +
  38 + /**
  39 + * @param @param map
  40 + * @throws
  41 + * @Title: list
  42 + * @Description: TODO(多条件查询)
  43 + */
  44 + @RequestMapping(value = "/all", method = RequestMethod.GET)
  45 + public Iterable<SectionRoute> list(@RequestParam Map<String, Object> map) {
  46 + return routeService.list(map);
  47 + }
  48 +
  49 + /**
  50 + * @Description :TODO(查询路段信息)
  51 + *
  52 + * @param map <line.id_eq:线路ID; directions_eq:方向>
  53 + *
  54 + * @return Map<String, Object>
  55 + */
  56 + @RequestMapping(value = "/findSection" , method = RequestMethod.GET)
  57 + public List<Map<String, Object>> findPoints(@RequestParam Map<String, Object> map) {
  58 + return routeService.getSectionRoute(map);
  59 + }
  60 +
  61 + /**
  62 + * @Description :TODO(查询线路某方向下的上一个路段序号)
  63 + *
  64 + * @param map <lineId:线路ID; direction:方向;sectionRouteCode:路段编码>
  65 + *
  66 + * @return List<Map<String, Object>>
  67 + */
  68 + @RequestMapping(value = "/findUpSectionRouteCode" , method = RequestMethod.GET)
  69 + public List<Map<String, Object>> findUpStationRouteCode(@RequestParam Map<String, Object> map) {
  70 + return routeService.findUpSectionRouteCode(map);
  71 + }
  72 +}
... ...