Commit df8d79a048467cffb16da2976807929c8a1c5cae
Merge branch 'chengdu' of http://192.168.168.245:8888/panzhaov5/bsth_control into chengdu
Showing
40 changed files
with
2509 additions
and
866 deletions
Too many changes to show.
To preserve performance only 40 of 76 files are displayed.
pom.xml
| ... | ... | @@ -61,6 +61,10 @@ |
| 61 | 61 | <artifactId>spring-kafka</artifactId> |
| 62 | 62 | </dependency> |
| 63 | 63 | <dependency> |
| 64 | + <groupId>org.springframework.boot</groupId> | |
| 65 | + <artifactId>spring-boot-starter-amqp</artifactId> | |
| 66 | + </dependency> | |
| 67 | + <dependency> | |
| 64 | 68 | <groupId>mysql</groupId> |
| 65 | 69 | <artifactId>mysql-connector-java</artifactId> |
| 66 | 70 | <version>5.1.38</version> |
| ... | ... | @@ -412,6 +416,23 @@ |
| 412 | 416 | <groupId>org.hibernate</groupId> |
| 413 | 417 | <artifactId>hibernate-spatial</artifactId> |
| 414 | 418 | </dependency> |
| 419 | + | |
| 420 | + <dependency> | |
| 421 | + <groupId>io.minio</groupId> | |
| 422 | + <artifactId>minio</artifactId> | |
| 423 | + <version>8.5.14</version> | |
| 424 | + <exclusions> | |
| 425 | + <exclusion> | |
| 426 | + <groupId>org.jetbrains.kotlin</groupId> | |
| 427 | + <artifactId>kotlin-stdlib</artifactId> | |
| 428 | + </exclusion> | |
| 429 | + </exclusions> | |
| 430 | + </dependency> | |
| 431 | + <dependency> | |
| 432 | + <groupId>org.jetbrains.kotlin</groupId> | |
| 433 | + <artifactId>kotlin-stdlib</artifactId> | |
| 434 | + <version>1.3.72</version> | |
| 435 | + </dependency> | |
| 415 | 436 | </dependencies> |
| 416 | 437 | |
| 417 | 438 | <dependencyManagement> | ... | ... |
src/main/java/com/bsth/Application.java
| 1 | 1 | package com.bsth; |
| 2 | 2 | |
| 3 | +import com.bsth.data.BasicData; | |
| 3 | 4 | import com.bsth.data.SystemParamCache; |
| 4 | 5 | import com.fasterxml.jackson.annotation.JsonInclude; |
| 5 | 6 | import com.fasterxml.jackson.databind.ObjectMapper; |
| ... | ... | @@ -27,6 +28,9 @@ public class Application extends SpringBootServletInitializer { |
| 27 | 28 | @Autowired |
| 28 | 29 | private SystemParamCache systemParamCache; |
| 29 | 30 | |
| 31 | + @Autowired | |
| 32 | + private BasicData.BasicDataLoader basicDataLoader; | |
| 33 | + | |
| 30 | 34 | @Override |
| 31 | 35 | protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { |
| 32 | 36 | return application.sources(Application.class); | ... | ... |
src/main/java/com/bsth/DataSourceConfig.java
0 → 100644
| 1 | +package com.bsth; | |
| 2 | + | |
| 3 | +import org.springframework.beans.factory.annotation.Qualifier; | |
| 4 | +import org.springframework.boot.context.properties.ConfigurationProperties; | |
| 5 | +import org.springframework.boot.jdbc.DataSourceBuilder; | |
| 6 | +import org.springframework.context.annotation.Bean; | |
| 7 | +import org.springframework.context.annotation.Configuration; | |
| 8 | +import org.springframework.context.annotation.Primary; | |
| 9 | +import org.springframework.jdbc.core.JdbcTemplate; | |
| 10 | + | |
| 11 | +import javax.sql.DataSource; | |
| 12 | + | |
| 13 | +/** | |
| 14 | + * @author Hill | |
| 15 | + */ | |
| 16 | +@Configuration | |
| 17 | +public class DataSourceConfig { | |
| 18 | + | |
| 19 | + @Bean(name = "dataSource") | |
| 20 | + @Qualifier("dataSource") | |
| 21 | + @Primary | |
| 22 | + @ConfigurationProperties(prefix = "spring.datasource.control") | |
| 23 | + public DataSource dataSource(){ | |
| 24 | + return DataSourceBuilder.create().build(); | |
| 25 | + } | |
| 26 | + | |
| 27 | + @Bean(name = "infoPublishDataSource") | |
| 28 | + @Qualifier("infoPublishDataSource") | |
| 29 | + @ConfigurationProperties(prefix = "spring.datasource.info-publish") | |
| 30 | + public DataSource infoPublishDataSource(){ | |
| 31 | + return DataSourceBuilder.create().build(); | |
| 32 | + } | |
| 33 | + | |
| 34 | + @Bean(name = "jdbcTemplate") | |
| 35 | + @Primary | |
| 36 | + public JdbcTemplate jdbcTemplate(@Qualifier("dataSource")DataSource dataSource){ | |
| 37 | + return new JdbcTemplate(dataSource); | |
| 38 | + } | |
| 39 | + | |
| 40 | + @Bean(name = "infoPublishJdbcTemplate") | |
| 41 | + public JdbcTemplate infoPublishJdbcTemplate(@Qualifier("infoPublishDataSource")DataSource dataSource){ | |
| 42 | + return new JdbcTemplate(dataSource); | |
| 43 | + } | |
| 44 | +} | ... | ... |
src/main/java/com/bsth/XDApplication.java
| ... | ... | @@ -28,6 +28,7 @@ import com.bsth.util.Tools; |
| 28 | 28 | import org.slf4j.Logger; |
| 29 | 29 | import org.slf4j.LoggerFactory; |
| 30 | 30 | import org.springframework.beans.factory.annotation.Autowired; |
| 31 | +import org.springframework.beans.factory.annotation.Value; | |
| 31 | 32 | import org.springframework.boot.CommandLineRunner; |
| 32 | 33 | import org.springframework.stereotype.Component; |
| 33 | 34 | |
| ... | ... | @@ -43,6 +44,9 @@ public class XDApplication implements CommandLineRunner { |
| 43 | 44 | |
| 44 | 45 | Logger log = LoggerFactory.getLogger(this.getClass()); |
| 45 | 46 | |
| 47 | + @Value("${spring.profiles.active}") | |
| 48 | + private String active; | |
| 49 | + | |
| 46 | 50 | @Autowired |
| 47 | 51 | BasicData.BasicDataLoader basicDataLoader; |
| 48 | 52 | @Autowired |
| ... | ... | @@ -110,11 +114,7 @@ public class XDApplication implements CommandLineRunner { |
| 110 | 114 | @Override |
| 111 | 115 | public void run(String... strings) throws Exception { |
| 112 | 116 | try { |
| 113 | - Tools tools = new Tools("application.properties"); | |
| 114 | - String environment = tools.getValue("spring.profiles.active"); | |
| 115 | - //预先加载基础的对照数据 | |
| 116 | - basicDataLoader.loadAllData(); | |
| 117 | - switch (environment){ | |
| 117 | + switch (active){ | |
| 118 | 118 | case "dev": |
| 119 | 119 | devInit(); |
| 120 | 120 | break; | ... | ... |
src/main/java/com/bsth/common/SystemParamKeys.java
| ... | ... | @@ -48,4 +48,8 @@ public class SystemParamKeys { |
| 48 | 48 | public static final String ENABLED_WHITE_IP = "enabled.white.ip"; |
| 49 | 49 | |
| 50 | 50 | public static final String ENABLED_FILTER_AUTHORITY = "enabled.filter.authority"; |
| 51 | + | |
| 52 | + public static final String URL_HTTP_WVP_PLAY = "url.http.wvp.play"; | |
| 53 | + | |
| 54 | + public static final String TOKEN_HTTP_WVP = "token.http.wvp"; | |
| 51 | 55 | } | ... | ... |
src/main/java/com/bsth/config/MinioConfig.java
0 → 100644
| 1 | +package com.bsth.config; | |
| 2 | + | |
| 3 | +import io.minio.MinioClient; | |
| 4 | +import org.springframework.beans.factory.annotation.Value; | |
| 5 | +import org.springframework.context.annotation.Bean; | |
| 6 | +import org.springframework.context.annotation.Configuration; | |
| 7 | + | |
| 8 | +@Configuration | |
| 9 | +public class MinioConfig { | |
| 10 | + | |
| 11 | + /** | |
| 12 | + * 访问地址 | |
| 13 | + */ | |
| 14 | + @Value("${minio.url}") | |
| 15 | + private String endpoint; | |
| 16 | + | |
| 17 | + /** | |
| 18 | + * accessKey类似于用户ID,用于唯一标识你的账户 | |
| 19 | + */ | |
| 20 | + @Value("${minio.accessKey}") | |
| 21 | + private String accessKey; | |
| 22 | + | |
| 23 | + /** | |
| 24 | + * secretKey是你账户的密码 | |
| 25 | + */ | |
| 26 | + @Value("${minio.secretKey}") | |
| 27 | + private String secretKey; | |
| 28 | + | |
| 29 | + @Bean | |
| 30 | + public MinioClient minioClient() { | |
| 31 | + MinioClient minioClient = MinioClient.builder() | |
| 32 | + .endpoint(endpoint) | |
| 33 | + .credentials(accessKey, secretKey) | |
| 34 | + .build(); | |
| 35 | + | |
| 36 | + return minioClient; | |
| 37 | + } | |
| 38 | +} | ... | ... |
src/main/java/com/bsth/config/RabbitConfig.java
0 → 100644
| 1 | +package com.bsth.config; | |
| 2 | + | |
| 3 | +import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter; | |
| 4 | +import org.springframework.amqp.support.converter.MessageConverter; | |
| 5 | +import org.springframework.context.annotation.Bean; | |
| 6 | +import org.springframework.context.annotation.Configuration; | |
| 7 | + | |
| 8 | +/** | |
| 9 | + * @author hill | |
| 10 | + * @date | |
| 11 | + */ | |
| 12 | +@Configuration | |
| 13 | +public class RabbitConfig { | |
| 14 | + | |
| 15 | + /** | |
| 16 | + * 报警队列名(调度系统) | |
| 17 | + */ | |
| 18 | + public final static String QUEUE_ALARM_SCHEDULE = "schedule"; | |
| 19 | + | |
| 20 | + @Bean | |
| 21 | + public MessageConverter messageConverter(){ | |
| 22 | + return new Jackson2JsonMessageConverter(); | |
| 23 | + } | |
| 24 | +} | |
| 25 | + | |
| 26 | + | ... | ... |
src/main/java/com/bsth/controller/DvrController.java
0 → 100644
| 1 | +package com.bsth.controller; | |
| 2 | + | |
| 3 | +import com.bsth.common.ResponseCode; | |
| 4 | +import com.bsth.data.SystemParamCache; | |
| 5 | +import com.bsth.util.HttpClientUtils; | |
| 6 | +import com.fasterxml.jackson.databind.ObjectMapper; | |
| 7 | +import org.slf4j.Logger; | |
| 8 | +import org.slf4j.LoggerFactory; | |
| 9 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 10 | +import org.springframework.util.StringUtils; | |
| 11 | +import org.springframework.web.bind.annotation.RequestMapping; | |
| 12 | +import org.springframework.web.bind.annotation.RequestParam; | |
| 13 | +import org.springframework.web.bind.annotation.RestController; | |
| 14 | + | |
| 15 | +import java.util.*; | |
| 16 | + | |
| 17 | +@RestController | |
| 18 | +@RequestMapping("dvr") | |
| 19 | +public class DvrController { | |
| 20 | + | |
| 21 | + private final static Logger log = LoggerFactory.getLogger(DvrController.class); | |
| 22 | + | |
| 23 | + @Autowired | |
| 24 | + private ObjectMapper mapper; | |
| 25 | + | |
| 26 | + @RequestMapping(value = "/jt1078") | |
| 27 | + public Map<String, Object> jt1078(@RequestParam("sim") String sim, @RequestParam("channel") int channel) { | |
| 28 | + Map<String, Object> result = new HashMap<>(); | |
| 29 | + result.put("status", ResponseCode.ERROR); | |
| 30 | + result.put("msg", "未获取到视频播放地址"); | |
| 31 | + try { | |
| 32 | + if (StringUtils.isEmpty(sim)) { | |
| 33 | + result.put("msg", "sim为空"); | |
| 34 | + throw new IllegalArgumentException("无效的sim"); | |
| 35 | + } | |
| 36 | + if (channel < 1 || channel > 10) { | |
| 37 | + result.put("msg", "无效的通道号"); | |
| 38 | + throw new IllegalArgumentException("无效的通道号"); | |
| 39 | + } | |
| 40 | + sim = sim.replaceAll("^0+", ""); | |
| 41 | + String url = SystemParamCache.getUrlHttpWvpPlay(); | |
| 42 | + url = String.format(url, sim, channel); | |
| 43 | + Map<String, Object> header = new HashMap<>(); | |
| 44 | + header.put("access-token", SystemParamCache.getTokenHttpWvp()); | |
| 45 | + StringBuilder sb = HttpClientUtils.post(url, "{}", header); | |
| 46 | + if (sb != null) { | |
| 47 | + Map<String, Object> response = mapper.readValue(sb.toString(), Map.class); | |
| 48 | + if ((Integer) response.get("code") == 0) { | |
| 49 | + Map<String, Object> data = mapper.readValue(mapper.writeValueAsString(response.get("data")), Map.class); | |
| 50 | + result.put("status", ResponseCode.SUCCESS); | |
| 51 | + result.put("data", data); | |
| 52 | + } | |
| 53 | + result.put("msg", response.get("msg")); | |
| 54 | + } | |
| 55 | + } catch (Exception e) { | |
| 56 | + result.put("status", ResponseCode.ERROR); | |
| 57 | + if (result.get("msg") == null) { | |
| 58 | + result.put("msg", "捕获到异常,检查日志信息"); | |
| 59 | + } | |
| 60 | + log.error(e.getMessage(), e); | |
| 61 | + } | |
| 62 | + | |
| 63 | + return result; | |
| 64 | + } | |
| 65 | +} | ... | ... |
src/main/java/com/bsth/controller/alaram/AlarmAdasController.java
0 → 100644
| 1 | +package com.bsth.controller.alaram; | |
| 2 | + | |
| 3 | +import com.bsth.common.ResponseCode; | |
| 4 | +import com.bsth.message.entity.AlarmADASVo; | |
| 5 | +import com.bsth.service.alarm.AlarmAdasService; | |
| 6 | +import org.slf4j.Logger; | |
| 7 | +import org.slf4j.LoggerFactory; | |
| 8 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 9 | +import org.springframework.web.bind.annotation.RequestMapping; | |
| 10 | +import org.springframework.web.bind.annotation.RequestParam; | |
| 11 | +import org.springframework.web.bind.annotation.RestController; | |
| 12 | + | |
| 13 | +import java.util.*; | |
| 14 | + | |
| 15 | +@RestController | |
| 16 | +@RequestMapping("alarm_adas") | |
| 17 | +public class AlarmAdasController { | |
| 18 | + | |
| 19 | + private final static Logger log = LoggerFactory.getLogger(AlarmAdasController.class); | |
| 20 | + | |
| 21 | + @Autowired | |
| 22 | + private AlarmAdasService alarmAdasService; | |
| 23 | + | |
| 24 | + @RequestMapping(value = "/list") | |
| 25 | + public Map<String, Object> list(@RequestParam Map<String, String> param, | |
| 26 | + @RequestParam(defaultValue = "0") int page, | |
| 27 | + @RequestParam(defaultValue = "15") int size, | |
| 28 | + @RequestParam(defaultValue = "timestamp") String order, | |
| 29 | + @RequestParam(defaultValue = "0") int direction) { | |
| 30 | + Map<String, Object> result = new HashMap<>(); | |
| 31 | + try { | |
| 32 | + List<AlarmADASVo> alarmADASVoList = alarmAdasService.list(param, page, size, order, direction); | |
| 33 | + Collections.sort(alarmADASVoList, new Comparator<AlarmADASVo>() { | |
| 34 | + @Override | |
| 35 | + public int compare(AlarmADASVo o1, AlarmADASVo o2) { | |
| 36 | + return (int) (o2.getAlarmTimeBegin() - o1.getAlarmTimeBegin()); | |
| 37 | + } | |
| 38 | + }); | |
| 39 | + int total = alarmADASVoList.size(), start = page * size, end = start + size; | |
| 40 | + if (end > total) { | |
| 41 | + end = total; | |
| 42 | + } | |
| 43 | + result.put("list", alarmADASVoList.subList(start, end)); | |
| 44 | + result.put("totalPages", total % size == 0 ? total / size - 1 : total / size); | |
| 45 | + result.put("page", page); | |
| 46 | + result.put("status", ResponseCode.SUCCESS); | |
| 47 | + } catch (Exception e) { | |
| 48 | + result.put("status", ResponseCode.ERROR); | |
| 49 | + log.error(e.getMessage(), e); | |
| 50 | + } | |
| 51 | + | |
| 52 | + return result; | |
| 53 | + } | |
| 54 | +} | ... | ... |
src/main/java/com/bsth/controller/alaram/AlarmDsmController.java
0 → 100644
| 1 | +package com.bsth.controller.alaram; | |
| 2 | + | |
| 3 | +import com.bsth.common.ResponseCode; | |
| 4 | +import com.bsth.message.entity.AlarmDSMVo; | |
| 5 | +import com.bsth.service.alarm.AlarmDsmService; | |
| 6 | +import org.slf4j.Logger; | |
| 7 | +import org.slf4j.LoggerFactory; | |
| 8 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 9 | +import org.springframework.web.bind.annotation.RequestMapping; | |
| 10 | +import org.springframework.web.bind.annotation.RequestParam; | |
| 11 | +import org.springframework.web.bind.annotation.RestController; | |
| 12 | + | |
| 13 | +import java.util.*; | |
| 14 | + | |
| 15 | +@RestController | |
| 16 | +@RequestMapping("alarm_dsm") | |
| 17 | +public class AlarmDsmController { | |
| 18 | + | |
| 19 | + private final static Logger log = LoggerFactory.getLogger(AlarmDsmController.class); | |
| 20 | + | |
| 21 | + @Autowired | |
| 22 | + private AlarmDsmService alarmDsmService; | |
| 23 | + | |
| 24 | + @RequestMapping(value = "/list") | |
| 25 | + public Map<String, Object> list(@RequestParam Map<String, String> param, | |
| 26 | + @RequestParam(defaultValue = "0") int page, | |
| 27 | + @RequestParam(defaultValue = "15") int size, | |
| 28 | + @RequestParam(defaultValue = "timestamp") String order, | |
| 29 | + @RequestParam(defaultValue = "0") int direction) { | |
| 30 | + Map<String, Object> result = new HashMap<>(); | |
| 31 | + try { | |
| 32 | + List<AlarmDSMVo> alarmDSMVoList = alarmDsmService.list(param, page, size, order, direction); | |
| 33 | + Collections.sort(alarmDSMVoList, new Comparator<AlarmDSMVo>() { | |
| 34 | + @Override | |
| 35 | + public int compare(AlarmDSMVo o1, AlarmDSMVo o2) { | |
| 36 | + return (int) (o2.getAlarmTimeBegin() - o1.getAlarmTimeBegin()); | |
| 37 | + } | |
| 38 | + }); | |
| 39 | + int total = alarmDSMVoList.size(), start = page * size, end = start + size; | |
| 40 | + if (end > total) { | |
| 41 | + end = total; | |
| 42 | + } | |
| 43 | + result.put("list", alarmDSMVoList.subList(start, end)); | |
| 44 | + result.put("totalPages", total % size == 0 ? total / size - 1 : total / size); | |
| 45 | + result.put("page", page); | |
| 46 | + result.put("status", ResponseCode.SUCCESS); | |
| 47 | + } catch (Exception e) { | |
| 48 | + result.put("status", ResponseCode.ERROR); | |
| 49 | + log.error(e.getMessage(), e); | |
| 50 | + } | |
| 51 | + | |
| 52 | + return result; | |
| 53 | + } | |
| 54 | +} | ... | ... |
src/main/java/com/bsth/controller/alaram/MinioController.java
0 → 100644
| 1 | +package com.bsth.controller.alaram; | |
| 2 | + | |
| 3 | +import com.bsth.common.ResponseCode; | |
| 4 | +import io.minio.MinioClient; | |
| 5 | +import io.minio.GetPresignedObjectUrlArgs; | |
| 6 | +import io.minio.http.Method; | |
| 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.RequestParam; | |
| 12 | +import org.springframework.web.bind.annotation.RestController; | |
| 13 | + | |
| 14 | +import java.util.ArrayList; | |
| 15 | +import java.util.HashMap; | |
| 16 | +import java.util.List; | |
| 17 | +import java.util.Map; | |
| 18 | +import java.util.concurrent.TimeUnit; | |
| 19 | + | |
| 20 | +@RestController | |
| 21 | +@RequestMapping("api/minio") | |
| 22 | +public class MinioController { | |
| 23 | + | |
| 24 | + private final static Logger log = LoggerFactory.getLogger(MinioController.class); | |
| 25 | + | |
| 26 | + @Autowired | |
| 27 | + private MinioClient minioClient; | |
| 28 | + | |
| 29 | + @RequestMapping(value = "/preSignedUrl") | |
| 30 | + public Map<String, Object> preSignedUrl(@RequestParam(defaultValue = "dsm") String bucket, @RequestParam(name = "objects[]") String[] objects) { | |
| 31 | + Map<String, Object> result = new HashMap<>(); | |
| 32 | + try { | |
| 33 | + List<String> urls = new ArrayList<>(); | |
| 34 | + for (String object : objects) { | |
| 35 | + String url = minioClient.getPresignedObjectUrl( | |
| 36 | + GetPresignedObjectUrlArgs.builder() | |
| 37 | + .bucket(bucket) | |
| 38 | + .object(object) | |
| 39 | + .method(Method.GET) | |
| 40 | + .expiry(5, TimeUnit.MINUTES) | |
| 41 | + .build() | |
| 42 | + ); | |
| 43 | + urls.add(url); | |
| 44 | + } | |
| 45 | + | |
| 46 | + result.put("urls", urls); | |
| 47 | + result.put("status", ResponseCode.SUCCESS); | |
| 48 | + } catch (Exception e) { | |
| 49 | + log.error("minio预签名异常", e); | |
| 50 | + result.put("msg", "minio预签名异常"); | |
| 51 | + result.put("status", ResponseCode.ERROR); | |
| 52 | + } | |
| 53 | + | |
| 54 | + return result; | |
| 55 | + } | |
| 56 | +} | ... | ... |
src/main/java/com/bsth/controller/publish/InfoPublishController.java
0 → 100644
| 1 | +package com.bsth.controller.publish; | |
| 2 | + | |
| 3 | +import com.bsth.common.ResponseCode; | |
| 4 | +import com.bsth.entity.publish.ScanStatictic; | |
| 5 | +import com.bsth.message.entity.AlarmADASVo; | |
| 6 | +import com.bsth.service.alarm.AlarmAdasService; | |
| 7 | +import com.bsth.service.publish.InfoPublishService; | |
| 8 | +import com.bsth.util.ReportUtils; | |
| 9 | +import org.slf4j.Logger; | |
| 10 | +import org.slf4j.LoggerFactory; | |
| 11 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 12 | +import org.springframework.web.bind.annotation.RequestMapping; | |
| 13 | +import org.springframework.web.bind.annotation.RequestParam; | |
| 14 | +import org.springframework.web.bind.annotation.RestController; | |
| 15 | + | |
| 16 | +import java.util.*; | |
| 17 | + | |
| 18 | +@RestController | |
| 19 | +@RequestMapping("api/info_publish") | |
| 20 | +public class InfoPublishController { | |
| 21 | + | |
| 22 | + private final static Logger log = LoggerFactory.getLogger(InfoPublishController.class); | |
| 23 | + | |
| 24 | + @Autowired | |
| 25 | + private InfoPublishService infoPublishService; | |
| 26 | + | |
| 27 | + @RequestMapping(value = "/scan_statistic/list") | |
| 28 | + public Map<String, Object> list(@RequestParam Map<String, String> param, | |
| 29 | + @RequestParam(defaultValue = "0") int page, | |
| 30 | + @RequestParam(defaultValue = "15") int size, | |
| 31 | + @RequestParam(defaultValue = "timestamp") String order, | |
| 32 | + @RequestParam(defaultValue = "0") int direction) { | |
| 33 | + Map<String, Object> result = new HashMap<>(); | |
| 34 | + try { | |
| 35 | + Map<String, Object> results = infoPublishService.list(param, page, size, order, direction); | |
| 36 | + | |
| 37 | + result.putAll(results); | |
| 38 | + result.put("page", page); | |
| 39 | + result.put("status", ResponseCode.SUCCESS); | |
| 40 | + } catch (Exception e) { | |
| 41 | + result.put("status", ResponseCode.ERROR); | |
| 42 | + log.error(e.getMessage(), e); | |
| 43 | + } | |
| 44 | + | |
| 45 | + return result; | |
| 46 | + } | |
| 47 | + | |
| 48 | + @RequestMapping(value = "/scan_statistic/list_export") | |
| 49 | + public Map<String, Object> list(@RequestParam Map<String, String> param) { | |
| 50 | + Map<String, Object> result = new HashMap<>(); | |
| 51 | + try { | |
| 52 | + Map<String, Object> results = infoPublishService.export(param); | |
| 53 | + ReportUtils util = new ReportUtils(); | |
| 54 | + String path = this.getClass().getResource("/").getPath() + "static/pages/forms", rq = param.get("rq"); | |
| 55 | + util.excelReplace((List<Iterator<?>>) results.get("list"), new Object[]{}, String.format("%s/mould/scanStatistic.xls", path), String.format("%s/export/一站一码扫码情况%s.xls", path, rq)); | |
| 56 | + | |
| 57 | + result.put("status", ResponseCode.SUCCESS); | |
| 58 | + } catch (Exception e) { | |
| 59 | + result.put("status", ResponseCode.ERROR); | |
| 60 | + log.error(e.getMessage(), e); | |
| 61 | + } | |
| 62 | + | |
| 63 | + return result; | |
| 64 | + } | |
| 65 | +} | ... | ... |
src/main/java/com/bsth/controller/realcontrol/DataManagerController.java
| 1 | -package com.bsth.controller.realcontrol; | |
| 2 | - | |
| 3 | -import com.bsth.service.realcontrol.DataManagerService; | |
| 4 | -import org.apache.commons.lang3.StringEscapeUtils; | |
| 5 | -import org.springframework.beans.factory.annotation.Autowired; | |
| 6 | -import org.springframework.web.bind.annotation.RequestMapping; | |
| 7 | -import org.springframework.web.bind.annotation.RequestParam; | |
| 8 | -import org.springframework.web.bind.annotation.RestController; | |
| 9 | - | |
| 10 | -import java.util.Map; | |
| 11 | - | |
| 12 | -/** | |
| 13 | - * 数据管理,包括从老系统的数据迁移。新系统的数据校验等 | |
| 14 | - * Created by panzhao on 2017/4/17. | |
| 15 | - */ | |
| 16 | -@RestController | |
| 17 | -@RequestMapping("dataManager") | |
| 18 | -public class DataManagerController { | |
| 19 | - | |
| 20 | - @Autowired | |
| 21 | - DataManagerService dataManagerService; | |
| 22 | - | |
| 23 | - @RequestMapping("cars/old_now") | |
| 24 | - public Map<String, Object> carInfos(@RequestParam Integer lineId){ | |
| 25 | - return dataManagerService.carInfos(lineId); | |
| 26 | - } | |
| 27 | - | |
| 28 | - @RequestMapping("car/updateDevices") | |
| 29 | - public Map<String, Object> updateDevices(@RequestParam String jsonStr){ | |
| 30 | - jsonStr = StringEscapeUtils.unescapeHtml4(jsonStr); | |
| 31 | - return dataManagerService.updateDevices(jsonStr); | |
| 32 | - } | |
| 33 | -} | |
| 1 | +package com.bsth.controller.realcontrol; | |
| 2 | + | |
| 3 | +import com.bsth.service.realcontrol.DataManagerService; | |
| 4 | +import org.apache.commons.lang3.StringEscapeUtils; | |
| 5 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 6 | +import org.springframework.web.bind.annotation.RequestMapping; | |
| 7 | +import org.springframework.web.bind.annotation.RequestParam; | |
| 8 | +import org.springframework.web.bind.annotation.RestController; | |
| 9 | + | |
| 10 | +import java.util.Map; | |
| 11 | + | |
| 12 | +/** | |
| 13 | + * 数据管理,包括从老系统的数据迁移。新系统的数据校验等 | |
| 14 | + * Created by panzhao on 2017/4/17. | |
| 15 | + */ | |
| 16 | +//@RestController | |
| 17 | +@RequestMapping("dataManager") | |
| 18 | +public class DataManagerController { | |
| 19 | + | |
| 20 | + @Autowired | |
| 21 | + DataManagerService dataManagerService; | |
| 22 | + | |
| 23 | + @RequestMapping("cars/old_now") | |
| 24 | + public Map<String, Object> carInfos(@RequestParam Integer lineId){ | |
| 25 | + return dataManagerService.carInfos(lineId); | |
| 26 | + } | |
| 27 | + | |
| 28 | + @RequestMapping("car/updateDevices") | |
| 29 | + public Map<String, Object> updateDevices(@RequestParam String jsonStr){ | |
| 30 | + jsonStr = StringEscapeUtils.unescapeHtml4(jsonStr); | |
| 31 | + return dataManagerService.updateDevices(jsonStr); | |
| 32 | + } | |
| 33 | +} | ... | ... |
src/main/java/com/bsth/controller/realcontrol/ServiceDataInterface.java
src/main/java/com/bsth/data/BasicData.java
| ... | ... | @@ -17,6 +17,7 @@ import com.bsth.repository.*; |
| 17 | 17 | import org.apache.commons.lang3.StringUtils; |
| 18 | 18 | import org.slf4j.Logger; |
| 19 | 19 | import org.slf4j.LoggerFactory; |
| 20 | +import org.springframework.beans.factory.InitializingBean; | |
| 20 | 21 | import org.springframework.beans.factory.annotation.Autowired; |
| 21 | 22 | import org.springframework.jdbc.core.BeanPropertyRowMapper; |
| 22 | 23 | import org.springframework.jdbc.core.JdbcTemplate; |
| ... | ... | @@ -58,6 +59,9 @@ public class BasicData { |
| 58 | 59 | //车辆自编号和牌照号对照 (K: 车辆自编号 ,V:牌照号) |
| 59 | 60 | public static Map<String, String> nbbmCompanyPlateMap; |
| 60 | 61 | |
| 62 | + //车辆自编号和sim号对照 (K:车辆自编号 V: sim号) | |
| 63 | + public static Map<String, String> nbbm2SimMap; | |
| 64 | + | |
| 61 | 65 | //站点编码和名称对照,包括停车场 (K: lineCode_updown_stationCode ,V:站点名称) |
| 62 | 66 | public static Map<String, String> stationCode2NameMap; |
| 63 | 67 | |
| ... | ... | @@ -121,7 +125,7 @@ public class BasicData { |
| 121 | 125 | }*/ |
| 122 | 126 | |
| 123 | 127 | @Component |
| 124 | - public static class BasicDataLoader extends Thread { | |
| 128 | + public static class BasicDataLoader extends Thread implements InitializingBean { | |
| 125 | 129 | |
| 126 | 130 | @Autowired |
| 127 | 131 | CarsRepository carsRepository; |
| ... | ... | @@ -164,6 +168,11 @@ public class BasicData { |
| 164 | 168 | loadAllData(); |
| 165 | 169 | } |
| 166 | 170 | |
| 171 | + @Override | |
| 172 | + public void afterPropertiesSet() throws Exception { | |
| 173 | + loadAllData(); | |
| 174 | + } | |
| 175 | + | |
| 167 | 176 | /** |
| 168 | 177 | * @Title: loadAllData |
| 169 | 178 | * @Description: TODO(加载所有数据) |
| ... | ... | @@ -225,9 +234,10 @@ public class BasicData { |
| 225 | 234 | Map<String, String> nbbm2CompanyCode = new HashMap<>(); |
| 226 | 235 | //车辆和分公司代码对照 |
| 227 | 236 | Map<String, String> nbbm2FgsCompanyCode = new HashMap<>(); |
| 228 | - | |
| 229 | 237 | //车辆自编号和拍照号对照 |
| 230 | 238 | Map<String, String> nbbmCompanyPlate = new HashMap<>(); |
| 239 | + // 车辆自编号和sim对照 | |
| 240 | + Map<String, String> nbbm2Sim = new HashMap<>(); | |
| 231 | 241 | |
| 232 | 242 | Iterator<Cars> carIterator = carsRepository.findAll().iterator(); |
| 233 | 243 | Cars car; |
| ... | ... | @@ -237,12 +247,14 @@ public class BasicData { |
| 237 | 247 | nbbm2CompanyCode.put(car.getInsideCode(), car.getBusinessCode()); |
| 238 | 248 | nbbm2FgsCompanyCode.put(car.getInsideCode(), car.getBrancheCompanyCode() + "_" + car.getBusinessCode() ); |
| 239 | 249 | nbbmCompanyPlate.put(car.getInsideCode(), car.getCarPlate()); |
| 250 | + nbbm2Sim.put(car.getInsideCode(), car.getSim()); | |
| 240 | 251 | } |
| 241 | 252 | |
| 242 | 253 | deviceId2NbbmMap = deviceId2Nbbm; |
| 243 | 254 | nbbm2CompanyCodeMap = nbbm2CompanyCode; |
| 244 | 255 | nbbm2FgsCompanyCodeMap = nbbm2FgsCompanyCode; |
| 245 | - nbbmCompanyPlateMap =nbbmCompanyPlate; | |
| 256 | + nbbmCompanyPlateMap = nbbmCompanyPlate; | |
| 257 | + nbbm2SimMap = nbbm2Sim; | |
| 246 | 258 | } |
| 247 | 259 | |
| 248 | 260 | /** | ... | ... |
src/main/java/com/bsth/data/SystemParamCache.java
| ... | ... | @@ -105,6 +105,14 @@ public class SystemParamCache implements InitializingBean { |
| 105 | 105 | return Boolean.parseBoolean(systemParamService1.getValue(SystemParamKeys.ENABLED_FILTER_AUTHORITY)); |
| 106 | 106 | } |
| 107 | 107 | |
| 108 | + public static String getUrlHttpWvpPlay() { | |
| 109 | + return systemParamService1.getValue(SystemParamKeys.URL_HTTP_WVP_PLAY); | |
| 110 | + } | |
| 111 | + | |
| 112 | + public static String getTokenHttpWvp() { | |
| 113 | + return systemParamService1.getValue(SystemParamKeys.TOKEN_HTTP_WVP); | |
| 114 | + } | |
| 115 | + | |
| 108 | 116 | @Override |
| 109 | 117 | public void afterPropertiesSet() throws Exception { |
| 110 | 118 | systemParamService1 = systemParamService; | ... | ... |
src/main/java/com/bsth/data/alarm/AlarmCenter.java
0 → 100644
| 1 | +package com.bsth.data.alarm; | |
| 2 | + | |
| 3 | +import com.bsth.message.entity.AlarmADASVo; | |
| 4 | +import com.bsth.message.entity.AlarmDSMVo; | |
| 5 | +import com.bsth.message.entity.AlarmVo; | |
| 6 | +import com.bsth.websocket.handler.SendUtils; | |
| 7 | +import org.slf4j.Logger; | |
| 8 | +import org.slf4j.LoggerFactory; | |
| 9 | +import org.springframework.beans.BeansException; | |
| 10 | +import org.springframework.context.ApplicationContext; | |
| 11 | +import org.springframework.context.ApplicationContextAware; | |
| 12 | +import org.springframework.stereotype.Component; | |
| 13 | + | |
| 14 | +import java.util.HashSet; | |
| 15 | +import java.util.Set; | |
| 16 | + | |
| 17 | +@Component | |
| 18 | +public class AlarmCenter implements ApplicationContextAware { | |
| 19 | + | |
| 20 | + private static Set<AlarmDSMVo> dsmVoSet = new HashSet<>(); | |
| 21 | + | |
| 22 | + private static Set<AlarmADASVo> adasVoSet = new HashSet<>(); | |
| 23 | + | |
| 24 | + private static SendUtils sendUtils; | |
| 25 | + | |
| 26 | + private static Logger logger = LoggerFactory.getLogger(AlarmCenter.class); | |
| 27 | + | |
| 28 | + public static void put(AlarmVo alarmVo){ | |
| 29 | + if (alarmVo instanceof AlarmDSMVo) { | |
| 30 | + dsmVoSet.add((AlarmDSMVo) alarmVo); | |
| 31 | + sendUtils.sendAlarm(alarmVo); | |
| 32 | + } else if (alarmVo instanceof AlarmADASVo) { | |
| 33 | + adasVoSet.add((AlarmADASVo) alarmVo); | |
| 34 | + sendUtils.sendAlarm(alarmVo); | |
| 35 | + } | |
| 36 | + } | |
| 37 | + | |
| 38 | + public static Set<AlarmDSMVo> findAllDsm(){ | |
| 39 | + return new HashSet<>(dsmVoSet); | |
| 40 | + } | |
| 41 | + | |
| 42 | + public static Set<AlarmADASVo> findAllAdas(){ | |
| 43 | + return new HashSet<>(adasVoSet); | |
| 44 | + } | |
| 45 | + | |
| 46 | + public static void clear(){ | |
| 47 | + dsmVoSet.clear(); | |
| 48 | + adasVoSet.clear(); | |
| 49 | + logger.info("清除报警数据..."); | |
| 50 | + } | |
| 51 | + | |
| 52 | + @Override | |
| 53 | + public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { | |
| 54 | + sendUtils = applicationContext.getBean(SendUtils.class); | |
| 55 | + } | |
| 56 | +} | ... | ... |
src/main/java/com/bsth/data/gpsdata_v2/entity/GpsEntity.java
| ... | ... | @@ -123,6 +123,11 @@ public class GpsEntity implements Cloneable{ |
| 123 | 123 | */ |
| 124 | 124 | private int inOrOutStation; |
| 125 | 125 | |
| 126 | + /** | |
| 127 | + * sim号 | |
| 128 | + */ | |
| 129 | + private String sim; | |
| 130 | + | |
| 126 | 131 | public Object clone() { |
| 127 | 132 | try { |
| 128 | 133 | return super.clone(); |
| ... | ... | @@ -431,4 +436,12 @@ public class GpsEntity implements Cloneable{ |
| 431 | 436 | public void setInOrOutStation(int inOrOutStation) { |
| 432 | 437 | this.inOrOutStation = inOrOutStation; |
| 433 | 438 | } |
| 439 | + | |
| 440 | + public String getSim() { | |
| 441 | + return sim; | |
| 442 | + } | |
| 443 | + | |
| 444 | + public void setSim(String sim) { | |
| 445 | + this.sim = sim; | |
| 446 | + } | |
| 434 | 447 | } | ... | ... |
src/main/java/com/bsth/data/gpsdata_v2/handlers/GpsStateProcess.java
| 1 | -package com.bsth.data.gpsdata_v2.handlers; | |
| 2 | - | |
| 3 | -import com.bsth.data.gpsdata_v2.entity.GpsEntity; | |
| 4 | -import com.bsth.data.gpsdata_v2.status_manager.GpsStatusManager; | |
| 5 | -import com.bsth.data.schedule.DayOfSchedule; | |
| 6 | -import com.bsth.entity.realcontrol.ScheduleRealInfo; | |
| 7 | -import org.springframework.beans.factory.annotation.Autowired; | |
| 8 | -import org.springframework.stereotype.Component; | |
| 9 | - | |
| 10 | -import java.util.concurrent.ConcurrentHashMap; | |
| 11 | -import java.util.concurrent.ConcurrentMap; | |
| 12 | - | |
| 13 | -/** | |
| 14 | - * GPS 状态处理 | |
| 15 | - * Created by panzhao on 2017/11/15. | |
| 16 | - */ | |
| 17 | -@Component | |
| 18 | -public class GpsStateProcess { | |
| 19 | - | |
| 20 | - @Autowired | |
| 21 | - DayOfSchedule dayOfSchedule; | |
| 22 | - | |
| 23 | - @Autowired | |
| 24 | - GpsStatusManager gpsStatusManager; | |
| 25 | - | |
| 26 | - /** | |
| 27 | - * 设置状态差异连续次数 | |
| 28 | - */ | |
| 29 | - private static ConcurrentMap<String, Integer> stateDiffMap = new ConcurrentHashMap<>(); | |
| 30 | - | |
| 31 | - private final static int CHANGE_THRESHOLD = 2; | |
| 32 | - | |
| 33 | - public void process(GpsEntity gps) { | |
| 34 | - //在执行的任务 | |
| 35 | - ScheduleRealInfo sch = dayOfSchedule.executeCurr(gps.getNbbm()); | |
| 36 | - | |
| 37 | - if (null == sch) | |
| 38 | - return; | |
| 39 | - | |
| 40 | - int upDown = Integer.parseInt(sch.getXlDir()); | |
| 41 | - int schState = dayOfSchedule.emptyService(sch)?1:0; | |
| 42 | - String device = gps.getDeviceId(); | |
| 43 | - /** | |
| 44 | - * 网关在进终点的时候,会直接将当前点位状态改变 | |
| 45 | - * 为避免出现单个点的状态跳动,设置一下切换阈值 | |
| 46 | - */ | |
| 47 | - if(gps.getState() != schState || gps.getUpDown() != upDown){ | |
| 48 | - Integer count = 0; | |
| 49 | - if(stateDiffMap.containsKey(device)) | |
| 50 | - count = stateDiffMap.get(device); | |
| 51 | - | |
| 52 | - count ++; | |
| 53 | - | |
| 54 | - if(count >= CHANGE_THRESHOLD){ | |
| 55 | - //下发指令纠正车载的 营运状态 和 走向 | |
| 56 | - gpsStatusManager.changeServiceState(gps.getNbbm(), upDown, schState, "同步@系统"); | |
| 57 | - count = 0; | |
| 58 | - } | |
| 59 | - | |
| 60 | - stateDiffMap.put(device, count); | |
| 61 | - | |
| 62 | - //记录原始设备状态 | |
| 63 | - gps.setOrigStateStr(gps.getUpDown() + "_" + gps.getState()); | |
| 64 | - } | |
| 65 | - else | |
| 66 | - stateDiffMap.put(device, 0); | |
| 67 | - | |
| 68 | - if (gps.getUpDown() != upDown) { | |
| 69 | - gps.setUpDown((byte) upDown);//修正走向 | |
| 70 | - } | |
| 71 | - | |
| 72 | - if(gps.getState() != schState){ | |
| 73 | - gps.setState(schState);//修正营运状态 | |
| 74 | - } | |
| 75 | - | |
| 76 | - if (!sch.getXlBm().equals(gps.getLineId())) { | |
| 77 | - //切换车载的 线路编码 | |
| 78 | - gpsStatusManager.changeLine(gps.getNbbm(), sch.getXlBm(), "同步@系统"); | |
| 79 | - } | |
| 80 | - } | |
| 81 | -} | |
| 1 | +package com.bsth.data.gpsdata_v2.handlers; | |
| 2 | + | |
| 3 | +import com.bsth.data.gpsdata_v2.entity.GpsEntity; | |
| 4 | +import com.bsth.data.gpsdata_v2.status_manager.GpsStatusManager; | |
| 5 | +import com.bsth.data.schedule.DayOfSchedule; | |
| 6 | +import com.bsth.entity.realcontrol.ScheduleRealInfo; | |
| 7 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 8 | +import org.springframework.stereotype.Component; | |
| 9 | + | |
| 10 | +import java.util.concurrent.ConcurrentHashMap; | |
| 11 | +import java.util.concurrent.ConcurrentMap; | |
| 12 | + | |
| 13 | +/** | |
| 14 | + * GPS 状态处理 | |
| 15 | + * Created by panzhao on 2017/11/15. | |
| 16 | + */ | |
| 17 | +@Component | |
| 18 | +public class GpsStateProcess { | |
| 19 | + | |
| 20 | + @Autowired | |
| 21 | + DayOfSchedule dayOfSchedule; | |
| 22 | + | |
| 23 | + @Autowired | |
| 24 | + GpsStatusManager gpsStatusManager; | |
| 25 | + | |
| 26 | + /** | |
| 27 | + * 设置状态差异连续次数 | |
| 28 | + */ | |
| 29 | + private static ConcurrentMap<String, Integer> stateDiffMap = new ConcurrentHashMap<>(); | |
| 30 | + | |
| 31 | + private final static int CHANGE_THRESHOLD = 2; | |
| 32 | + | |
| 33 | + public void process(GpsEntity gps) { | |
| 34 | + //在执行的任务 | |
| 35 | + ScheduleRealInfo sch = dayOfSchedule.executeCurr(gps.getNbbm()); | |
| 36 | + | |
| 37 | + if (null == sch) | |
| 38 | + return; | |
| 39 | + | |
| 40 | + int upDown = Integer.parseInt(sch.getXlDir()); | |
| 41 | + int schState = dayOfSchedule.emptyService(sch)?1:0; | |
| 42 | + String device = gps.getDeviceId(); | |
| 43 | + /** | |
| 44 | + * 网关在进终点的时候,会直接将当前点位状态改变 | |
| 45 | + * 为避免出现单个点的状态跳动,设置一下切换阈值 | |
| 46 | + */ | |
| 47 | + if(gps.getState() != schState || gps.getUpDown() != upDown){ | |
| 48 | + Integer count = 0; | |
| 49 | + if(stateDiffMap.containsKey(device)) | |
| 50 | + count = stateDiffMap.get(device); | |
| 51 | + | |
| 52 | + count ++; | |
| 53 | + | |
| 54 | + if(count >= CHANGE_THRESHOLD){ | |
| 55 | + //下发指令纠正车载的 营运状态 和 走向 | |
| 56 | + gpsStatusManager.changeServiceState(gps.getNbbm(), upDown, schState, "同步@系统"); | |
| 57 | + count = 0; | |
| 58 | + } | |
| 59 | + | |
| 60 | + stateDiffMap.put(device, count); | |
| 61 | + | |
| 62 | + //记录原始设备状态 | |
| 63 | + gps.setOrigStateStr(gps.getUpDown() + "_" + gps.getState()); | |
| 64 | + } | |
| 65 | + else | |
| 66 | + stateDiffMap.put(device, 0); | |
| 67 | + | |
| 68 | +// if (gps.getUpDown() != upDown) { | |
| 69 | +// gps.setUpDown((byte) upDown);//修正走向 | |
| 70 | +// } | |
| 71 | + | |
| 72 | + if(gps.getState() != schState){ | |
| 73 | + gps.setState(schState);//修正营运状态 | |
| 74 | + } | |
| 75 | + | |
| 76 | + if (!sch.getXlBm().equals(gps.getLineId())) { | |
| 77 | + //切换车载的 线路编码 | |
| 78 | + gpsStatusManager.changeLine(gps.getNbbm(), sch.getXlBm(), "同步@系统"); | |
| 79 | + } | |
| 80 | + } | |
| 81 | +} | ... | ... |
src/main/java/com/bsth/data/gpsdata_v2/handlers/StationInsideProcess.java
| ... | ... | @@ -5,7 +5,6 @@ import com.bsth.data.gpsdata_v2.cache.GpsCacheData; |
| 5 | 5 | import com.bsth.data.gpsdata_v2.entity.GpsEntity; |
| 6 | 6 | import com.bsth.data.gpsdata_v2.entity.StationRoute; |
| 7 | 7 | import com.bsth.data.gpsdata_v2.utils.GeoUtils; |
| 8 | -import com.bsth.entity.Station; | |
| 9 | 8 | import org.springframework.stereotype.Component; |
| 10 | 9 | |
| 11 | 10 | import java.util.List; |
| ... | ... | @@ -52,9 +51,9 @@ public class StationInsideProcess { |
| 52 | 51 | gps.setPremiseCode(prev.getPremiseCode()); |
| 53 | 52 | |
| 54 | 53 | //在场,站外 |
| 55 | - if (gps.getInstation() == 0) { | |
| 56 | - gps.setStopNo(prev.getStopNo());//继承上一个点的站点编码 | |
| 57 | - } | |
| 54 | +// if (gps.getInstation() == 0) { | |
| 55 | +// gps.setStopNo(prev.getStopNo());//继承上一个点的站点编码 | |
| 56 | +// } | |
| 58 | 57 | } |
| 59 | 58 | } |
| 60 | 59 | } | ... | ... |
src/main/java/com/bsth/data/gpsdata_v2/load/GatewayHttpLoader.java
| ... | ... | @@ -71,7 +71,7 @@ public class GatewayHttpLoader implements ApplicationContextAware, InitializingB |
| 71 | 71 | list = GpsDataUtils.clearInvalid(list); |
| 72 | 72 | |
| 73 | 73 | List<GpsEntity> ups = new ArrayList<>(); |
| 74 | - String nbbm; | |
| 74 | + String nbbm, sim; | |
| 75 | 75 | for (GpsEntity gps : list) { |
| 76 | 76 | if (StringUtils.isBlank(gps.getDeviceId())) |
| 77 | 77 | continue; |
| ... | ... | @@ -80,6 +80,10 @@ public class GatewayHttpLoader implements ApplicationContextAware, InitializingB |
| 80 | 80 | continue; |
| 81 | 81 | |
| 82 | 82 | nbbm = BasicData.deviceId2NbbmMap.get(gps.getDeviceId()); |
| 83 | + if (!StringUtils.isBlank(nbbm)) { | |
| 84 | + sim = BasicData.nbbm2SimMap.get(nbbm); | |
| 85 | + gps.setSim(sim); | |
| 86 | + } | |
| 83 | 87 | gps.setNbbm(nbbm); |
| 84 | 88 | ups.add(gps); |
| 85 | 89 | } | ... | ... |
src/main/java/com/bsth/data/safe_driv/SafeDrivCenter.java
| 1 | -package com.bsth.data.safe_driv; | |
| 2 | - | |
| 3 | -import com.bsth.websocket.handler.SendUtils; | |
| 4 | -import org.joda.time.format.DateTimeFormat; | |
| 5 | -import org.joda.time.format.DateTimeFormatter; | |
| 6 | -import org.slf4j.Logger; | |
| 7 | -import org.slf4j.LoggerFactory; | |
| 8 | -import org.springframework.beans.BeansException; | |
| 9 | -import org.springframework.beans.factory.annotation.Autowired; | |
| 10 | -import org.springframework.context.ApplicationContext; | |
| 11 | -import org.springframework.context.ApplicationContextAware; | |
| 12 | -import org.springframework.stereotype.Component; | |
| 13 | - | |
| 14 | -import java.util.HashMap; | |
| 15 | -import java.util.HashSet; | |
| 16 | -import java.util.Map; | |
| 17 | -import java.util.Set; | |
| 18 | - | |
| 19 | -/** | |
| 20 | - * 安全驾驶 | |
| 21 | - * Created by panzhao on 2017/4/6. | |
| 22 | - */ | |
| 23 | -@Component | |
| 24 | -public class SafeDrivCenter implements ApplicationContextAware { | |
| 25 | - | |
| 26 | - private static Set<SafeDriv> data; | |
| 27 | - | |
| 28 | - @Autowired | |
| 29 | - SafeDrivDataLoadThread safeDrivDataLoadThread; | |
| 30 | - | |
| 31 | - static SendUtils sendUtils; | |
| 32 | - | |
| 33 | - /** | |
| 34 | - * 车辆自编号 和 最新一条数据对照 | |
| 35 | - */ | |
| 36 | - private static Map<String, SafeDriv> safeMap; | |
| 37 | - | |
| 38 | - static Logger logger = LoggerFactory.getLogger(SafeDrivCenter.class); | |
| 39 | - | |
| 40 | - static { | |
| 41 | - data = new HashSet<>(); | |
| 42 | - safeMap = new HashMap<>(); | |
| 43 | - } | |
| 44 | - | |
| 45 | - private static DateTimeFormatter fmt = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss.SSS"); | |
| 46 | - public static void put(SafeDriv sd){ | |
| 47 | - sd.setTs(fmt.parseMillis(sd.getStartime())); | |
| 48 | - if(Integer.parseInt(sd.getYczltype()) == 5 && Integer.parseInt(sd.getJctype()) == 4 | |
| 49 | - || Integer.parseInt(sd.getYczltype()) == 6 && Integer.parseInt(sd.getJctype()) == 4) | |
| 50 | - sd.setJctype("B" + sd.getJctype()); | |
| 51 | - else if(sd.getYczltype().indexOf("A") == -1) | |
| 52 | - sd.setYczltype("A" + sd.getYczltype()); | |
| 53 | - | |
| 54 | - //SafeDriv old = safeMap.get(sd.getClzbh()); | |
| 55 | - if(!data.contains(sd)){ | |
| 56 | - //通知客户端 | |
| 57 | - sendUtils.sendSafeDriv(sd); | |
| 58 | - data.add(sd); | |
| 59 | - safeMap.put(sd.getClzbh(), sd); | |
| 60 | - } | |
| 61 | - } | |
| 62 | - | |
| 63 | - public static Set<SafeDriv> findAll(){ | |
| 64 | - return data; | |
| 65 | - } | |
| 66 | - | |
| 67 | - public static void clear(){ | |
| 68 | - data = new HashSet<>(); | |
| 69 | - safeMap = new HashMap<>(); | |
| 70 | - logger.info("清除安全驾驶数据,,,"); | |
| 71 | - } | |
| 72 | - | |
| 73 | - @Override | |
| 74 | - public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { | |
| 75 | - sendUtils = applicationContext.getBean(SendUtils.class); | |
| 76 | - } | |
| 77 | -} | |
| 1 | +package com.bsth.data.safe_driv; | |
| 2 | + | |
| 3 | +import com.bsth.websocket.handler.SendUtils; | |
| 4 | +import org.joda.time.format.DateTimeFormat; | |
| 5 | +import org.joda.time.format.DateTimeFormatter; | |
| 6 | +import org.slf4j.Logger; | |
| 7 | +import org.slf4j.LoggerFactory; | |
| 8 | +import org.springframework.beans.BeansException; | |
| 9 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 10 | +import org.springframework.context.ApplicationContext; | |
| 11 | +import org.springframework.context.ApplicationContextAware; | |
| 12 | +import org.springframework.stereotype.Component; | |
| 13 | + | |
| 14 | +import java.util.HashMap; | |
| 15 | +import java.util.HashSet; | |
| 16 | +import java.util.Map; | |
| 17 | +import java.util.Set; | |
| 18 | + | |
| 19 | +/** | |
| 20 | + * 安全驾驶 | |
| 21 | + * Created by panzhao on 2017/4/6. | |
| 22 | + */ | |
| 23 | +@Component | |
| 24 | +public class SafeDrivCenter implements ApplicationContextAware { | |
| 25 | + | |
| 26 | + private static Set<SafeDriv> data; | |
| 27 | + | |
| 28 | + @Autowired | |
| 29 | + SafeDrivDataLoadThread safeDrivDataLoadThread; | |
| 30 | + | |
| 31 | + static SendUtils sendUtils; | |
| 32 | + | |
| 33 | + /** | |
| 34 | + * 车辆自编号 和 最新一条数据对照 | |
| 35 | + */ | |
| 36 | + private static Map<String, SafeDriv> safeMap; | |
| 37 | + | |
| 38 | + static Logger logger = LoggerFactory.getLogger(SafeDrivCenter.class); | |
| 39 | + | |
| 40 | + static { | |
| 41 | + data = new HashSet<>(); | |
| 42 | + safeMap = new HashMap<>(); | |
| 43 | + } | |
| 44 | + | |
| 45 | + private static DateTimeFormatter fmt = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss.SSS"); | |
| 46 | + public static void put(SafeDriv sd){ | |
| 47 | + sd.setTs(fmt.parseMillis(sd.getStartime())); | |
| 48 | + if(Integer.parseInt(sd.getYczltype()) == 5 && Integer.parseInt(sd.getJctype()) == 4 | |
| 49 | + || Integer.parseInt(sd.getYczltype()) == 6 && Integer.parseInt(sd.getJctype()) == 4) | |
| 50 | + sd.setJctype("B" + sd.getJctype()); | |
| 51 | + else if(sd.getYczltype().indexOf("A") == -1) | |
| 52 | + sd.setYczltype("A" + sd.getYczltype()); | |
| 53 | + | |
| 54 | + //SafeDriv old = safeMap.get(sd.getClzbh()); | |
| 55 | + if(!data.contains(sd)){ | |
| 56 | + //通知客户端 | |
| 57 | + sendUtils.sendSafeDriv(sd); | |
| 58 | + data.add(sd); | |
| 59 | + safeMap.put(sd.getClzbh(), sd); | |
| 60 | + } | |
| 61 | + } | |
| 62 | + | |
| 63 | + public static Set<SafeDriv> findAll(){ | |
| 64 | + return data; | |
| 65 | + } | |
| 66 | + | |
| 67 | + public static void clear(){ | |
| 68 | + data = new HashSet<>(); | |
| 69 | + safeMap = new HashMap<>(); | |
| 70 | + logger.info("清除安全驾驶数据..."); | |
| 71 | + } | |
| 72 | + | |
| 73 | + @Override | |
| 74 | + public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { | |
| 75 | + sendUtils = applicationContext.getBean(SendUtils.class); | |
| 76 | + } | |
| 77 | +} | ... | ... |
src/main/java/com/bsth/data/schedule/thread/CalcOilThread.java
| 1 | 1 | package com.bsth.data.schedule.thread; |
| 2 | 2 | |
| 3 | +import com.bsth.data.alarm.AlarmCenter; | |
| 3 | 4 | import com.bsth.data.directive.DayOfDirectives; |
| 4 | 5 | import com.bsth.data.gpsdata_v2.handlers.overspeed.OverspeedProcess; |
| 5 | 6 | import com.bsth.data.gpsdata_v2.thread.GpsDataLoaderThread; |
| ... | ... | @@ -84,6 +85,8 @@ public class CalcOilThread extends Thread{ |
| 84 | 85 | dayOfDirectives.clearAll(); |
| 85 | 86 | //清除安全驾驶数据 |
| 86 | 87 | SafeDrivCenter.clear(); |
| 88 | + //清除报警数据 | |
| 89 | + AlarmCenter.clear(); | |
| 87 | 90 | //清除保养计划数据 |
| 88 | 91 | MtPlanCenter.clear(); |
| 89 | 92 | //清除超速缓存数据 | ... | ... |
src/main/java/com/bsth/entity/Cars.java
| 1 | -package com.bsth.entity; | |
| 2 | - | |
| 3 | -import com.bsth.entity.schedule.BEntity; | |
| 4 | -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; | |
| 5 | -import org.hibernate.annotations.Formula; | |
| 6 | - | |
| 7 | -import javax.persistence.*; | |
| 8 | -import java.io.Serializable; | |
| 9 | -import java.util.Date; | |
| 10 | - | |
| 11 | -/** | |
| 12 | - * | |
| 13 | - * @ClassName : Cars(车实体类) | |
| 14 | - * | |
| 15 | - * @Author : bsth@lq | |
| 16 | - * | |
| 17 | - * @Description : TODO(车辆基本信息) | |
| 18 | - * | |
| 19 | - * @Data : 2016-04-27 | |
| 20 | - * | |
| 21 | - * @Version 公交调度系统BS版 0.1 | |
| 22 | - * | |
| 23 | - */ | |
| 24 | - | |
| 25 | -@Entity | |
| 26 | -@Table(name = "bsth_c_cars") | |
| 27 | -@JsonIgnoreProperties(value={"hibernateLazyInitializer","handler","fieldHandler"}) | |
| 28 | -public class Cars extends BEntity implements Serializable { | |
| 29 | - | |
| 30 | - /** 主键Id */ | |
| 31 | - @Id | |
| 32 | - @GeneratedValue(strategy = GenerationType.IDENTITY) | |
| 33 | - private Integer id; | |
| 34 | - | |
| 35 | - /** 自编号/内部编号 */ | |
| 36 | - @Column(nullable = false, length = 20, unique = true) | |
| 37 | - private String insideCode; | |
| 38 | - | |
| 39 | - // 公司、分公司暂时不用关联实体 | |
| 40 | - /** 公司代码 */ | |
| 41 | - @Column(nullable = false) | |
| 42 | - private String businessCode; | |
| 43 | - /** 公司名称 */ | |
| 44 | - @Column(nullable = false) | |
| 45 | - private String company; | |
| 46 | - /** 分公司编码 */ | |
| 47 | - private String brancheCompanyCode; | |
| 48 | - /** 分公司 */ | |
| 49 | - private String brancheCompany; | |
| 50 | - | |
| 51 | - /** 组合公司分公司编码 */ | |
| 52 | - @Formula(" concat(business_code, '_', branche_company_code) ") | |
| 53 | - private String cgsbm; | |
| 54 | - | |
| 55 | - /** 车辆编码(TODO:在原系统里没有,这里暂时留着) */ | |
| 56 | - @Column(nullable = false) | |
| 57 | - private String carCode; | |
| 58 | - /** 车牌号 */ | |
| 59 | - @Column(nullable = false) | |
| 60 | - private String carPlate; | |
| 61 | - /** 供应商名称 */ | |
| 62 | - @Column(nullable = false) | |
| 63 | - private String supplierName; | |
| 64 | - /** 设备终端号 */ | |
| 65 | - @Column(nullable = false) | |
| 66 | - private String equipmentCode; | |
| 67 | - | |
| 68 | - // 以下信息来自总公司的业务系统,可能需要调用相关接口 | |
| 69 | - /** 车型类别 */ | |
| 70 | - private String carClass ; | |
| 71 | - /** 技术速度 */ | |
| 72 | - private Double speed; | |
| 73 | - /** 座位数 */ | |
| 74 | - private Integer carSeatnNumber; | |
| 75 | - /** 载客标准 */ | |
| 76 | - private String carStandard; | |
| 77 | - /** 标准油耗(开空调) */ | |
| 78 | - private Double kburnStandard; | |
| 79 | - /** 标准油耗(关空调) */ | |
| 80 | - private Double gburnStandard; | |
| 81 | - /** 报废号 */ | |
| 82 | - private String scrapCode; | |
| 83 | - /** 报废日期 */ | |
| 84 | - private Date scrapDate; | |
| 85 | - /** 厂牌型号1 */ | |
| 86 | - private String makeCodeOne; | |
| 87 | - /** 厂牌型号2 */ | |
| 88 | - private String makeCodeTwo; | |
| 89 | - /** 车辆等级标准 */ | |
| 90 | - private String carGride; | |
| 91 | - /** 出厂排放标准 */ | |
| 92 | - private String emissionsStandard; | |
| 93 | - /** 发动机号码1 */ | |
| 94 | - private String engineCodeOne; | |
| 95 | - /** 发动机号码2 */ | |
| 96 | - private String engineCodeTwo; | |
| 97 | - /** 车架号码1 */ | |
| 98 | - private String carNumberOne; | |
| 99 | - /** 车架号码2 */ | |
| 100 | - private String carNumberTwo; | |
| 101 | - /** 启用日期(2008-10-10)*/ | |
| 102 | - private Date openDate; | |
| 103 | - /** 取消日期 */ | |
| 104 | - private Date closeDate; | |
| 105 | - | |
| 106 | - /** 是否空调车 */ | |
| 107 | - @Column(nullable = true) | |
| 108 | - private Boolean hvacCar; | |
| 109 | - /** 有无人售票 */ | |
| 110 | - @Column(nullable = true) | |
| 111 | - private Boolean ticketType; | |
| 112 | - /** 是否有LED服务屏 */ | |
| 113 | - @Column(nullable = true) | |
| 114 | - private Boolean ledScreen; | |
| 115 | - /** 是否有TV视频 */ | |
| 116 | - @Column(nullable = true) | |
| 117 | - private Boolean tvVideoType; | |
| 118 | - | |
| 119 | - /** 车辆类型 */ | |
| 120 | - private String carType; | |
| 121 | - /** 是否机动车(机动车类型选择)*/ | |
| 122 | - private String vehicleStats; | |
| 123 | - /** 营运状态 */ | |
| 124 | - private String operatorsState; | |
| 125 | - /** 营运证编码 */ | |
| 126 | - private String serviceNo; | |
| 127 | - /** 是否电车(TODO:在原系统里没有,这里暂时留着) */ | |
| 128 | - private Boolean sfdc; | |
| 129 | - /** 是否混合动力(TODO:在原系统里没有,这里暂时留着) */ | |
| 130 | - private Boolean sfmix; | |
| 131 | - /** 是否氢能源车 */ | |
| 132 | - private Boolean hydrogen; | |
| 133 | - /** 备注/描述 */ | |
| 134 | - private String descriptions; | |
| 135 | - | |
| 136 | - /** 车辆序号(TODO:在原系统里没有,这里暂时留着) */ | |
| 137 | - private String carOrdinal; | |
| 138 | - /** 视频编号 */ | |
| 139 | - private String videoCode; | |
| 140 | - /** 是否报废 */ | |
| 141 | - @Column(nullable = true) | |
| 142 | - private Boolean scrapState; | |
| 143 | - /** 是否切换(TODO:在原系统里没有,这里暂时留着)*/ | |
| 144 | - private Integer isSwitch; | |
| 145 | - /** 线路名称(TODO:在原系统里没有,这里暂时留着,并且不做线路关联,只保留个名字) */ | |
| 146 | - private String xlmc; | |
| 147 | - | |
| 148 | - public Cars() {} | |
| 149 | - | |
| 150 | - public Cars(Object id, Object nbbh, Object clbh, Object cph, Object sbbh) { | |
| 151 | - if (id != null) { | |
| 152 | - this.id = Integer.valueOf(id.toString()); | |
| 153 | - } | |
| 154 | - if (nbbh != null) { | |
| 155 | - this.insideCode = nbbh.toString(); | |
| 156 | - } | |
| 157 | - if (clbh != null) { | |
| 158 | - this.carCode = clbh.toString(); | |
| 159 | - } | |
| 160 | - if (cph != null) { | |
| 161 | - this.carPlate = cph.toString(); | |
| 162 | - } | |
| 163 | - if (sbbh != null) { | |
| 164 | - this.equipmentCode = sbbh.toString(); | |
| 165 | - } | |
| 166 | - } | |
| 167 | - | |
| 168 | - public String getServiceNo() { | |
| 169 | - return serviceNo; | |
| 170 | - } | |
| 171 | - | |
| 172 | - public void setServiceNo(String serviceNo) { | |
| 173 | - this.serviceNo = serviceNo; | |
| 174 | - } | |
| 175 | - | |
| 176 | - public Integer getId() { | |
| 177 | - return id; | |
| 178 | - } | |
| 179 | - | |
| 180 | - public void setId(Integer id) { | |
| 181 | - this.id = id; | |
| 182 | - } | |
| 183 | - | |
| 184 | - public String getInsideCode() { | |
| 185 | - return insideCode; | |
| 186 | - } | |
| 187 | - | |
| 188 | - public void setInsideCode(String insideCode) { | |
| 189 | - this.insideCode = insideCode; | |
| 190 | - } | |
| 191 | - | |
| 192 | - public String getBusinessCode() { | |
| 193 | - return businessCode; | |
| 194 | - } | |
| 195 | - | |
| 196 | - public void setBusinessCode(String businessCode) { | |
| 197 | - this.businessCode = businessCode; | |
| 198 | - } | |
| 199 | - | |
| 200 | - public String getCompany() { | |
| 201 | - return company; | |
| 202 | - } | |
| 203 | - | |
| 204 | - public void setCompany(String company) { | |
| 205 | - this.company = company; | |
| 206 | - } | |
| 207 | - | |
| 208 | - public String getBrancheCompanyCode() { | |
| 209 | - return brancheCompanyCode; | |
| 210 | - } | |
| 211 | - | |
| 212 | - public void setBrancheCompanyCode(String brancheCompanyCode) { | |
| 213 | - this.brancheCompanyCode = brancheCompanyCode; | |
| 214 | - } | |
| 215 | - | |
| 216 | - public String getBrancheCompany() { | |
| 217 | - return brancheCompany; | |
| 218 | - } | |
| 219 | - | |
| 220 | - public void setBrancheCompany(String brancheCompany) { | |
| 221 | - this.brancheCompany = brancheCompany; | |
| 222 | - } | |
| 223 | - | |
| 224 | - public String getCarCode() { | |
| 225 | - return carCode; | |
| 226 | - } | |
| 227 | - | |
| 228 | - public void setCarCode(String carCode) { | |
| 229 | - this.carCode = carCode; | |
| 230 | - } | |
| 231 | - | |
| 232 | - public String getCarPlate() { | |
| 233 | - return carPlate; | |
| 234 | - } | |
| 235 | - | |
| 236 | - public void setCarPlate(String carPlate) { | |
| 237 | - this.carPlate = carPlate; | |
| 238 | - } | |
| 239 | - | |
| 240 | - public String getSupplierName() { | |
| 241 | - return supplierName; | |
| 242 | - } | |
| 243 | - | |
| 244 | - public void setSupplierName(String supplierName) { | |
| 245 | - this.supplierName = supplierName; | |
| 246 | - } | |
| 247 | - | |
| 248 | - public String getEquipmentCode() { | |
| 249 | - return equipmentCode; | |
| 250 | - } | |
| 251 | - | |
| 252 | - public void setEquipmentCode(String equipmentCode) { | |
| 253 | - this.equipmentCode = equipmentCode; | |
| 254 | - } | |
| 255 | - | |
| 256 | - public String getCarClass() { | |
| 257 | - return carClass; | |
| 258 | - } | |
| 259 | - | |
| 260 | - public void setCarClass(String carClass) { | |
| 261 | - this.carClass = carClass; | |
| 262 | - } | |
| 263 | - | |
| 264 | - public Double getSpeed() { | |
| 265 | - return speed; | |
| 266 | - } | |
| 267 | - | |
| 268 | - public void setSpeed(Double speed) { | |
| 269 | - this.speed = speed; | |
| 270 | - } | |
| 271 | - | |
| 272 | - public Integer getCarSeatnNumber() { | |
| 273 | - return carSeatnNumber; | |
| 274 | - } | |
| 275 | - | |
| 276 | - public void setCarSeatnNumber(Integer carSeatnNumber) { | |
| 277 | - this.carSeatnNumber = carSeatnNumber; | |
| 278 | - } | |
| 279 | - | |
| 280 | - public String getCarStandard() { | |
| 281 | - return carStandard; | |
| 282 | - } | |
| 283 | - | |
| 284 | - public void setCarStandard(String carStandard) { | |
| 285 | - this.carStandard = carStandard; | |
| 286 | - } | |
| 287 | - | |
| 288 | - public Double getKburnStandard() { | |
| 289 | - return kburnStandard; | |
| 290 | - } | |
| 291 | - | |
| 292 | - public void setKburnStandard(Double kburnStandard) { | |
| 293 | - this.kburnStandard = kburnStandard; | |
| 294 | - } | |
| 295 | - | |
| 296 | - public Double getGburnStandard() { | |
| 297 | - return gburnStandard; | |
| 298 | - } | |
| 299 | - | |
| 300 | - public void setGburnStandard(Double gburnStandard) { | |
| 301 | - this.gburnStandard = gburnStandard; | |
| 302 | - } | |
| 303 | - | |
| 304 | - public String getScrapCode() { | |
| 305 | - return scrapCode; | |
| 306 | - } | |
| 307 | - | |
| 308 | - public void setScrapCode(String scrapCode) { | |
| 309 | - this.scrapCode = scrapCode; | |
| 310 | - } | |
| 311 | - | |
| 312 | - public Date getScrapDate() { | |
| 313 | - return scrapDate; | |
| 314 | - } | |
| 315 | - | |
| 316 | - public void setScrapDate(Date scrapDate) { | |
| 317 | - this.scrapDate = scrapDate; | |
| 318 | - } | |
| 319 | - | |
| 320 | - public String getMakeCodeOne() { | |
| 321 | - return makeCodeOne; | |
| 322 | - } | |
| 323 | - | |
| 324 | - public void setMakeCodeOne(String makeCodeOne) { | |
| 325 | - this.makeCodeOne = makeCodeOne; | |
| 326 | - } | |
| 327 | - | |
| 328 | - public String getMakeCodeTwo() { | |
| 329 | - return makeCodeTwo; | |
| 330 | - } | |
| 331 | - | |
| 332 | - public void setMakeCodeTwo(String makeCodeTwo) { | |
| 333 | - this.makeCodeTwo = makeCodeTwo; | |
| 334 | - } | |
| 335 | - | |
| 336 | - public String getCarGride() { | |
| 337 | - return carGride; | |
| 338 | - } | |
| 339 | - | |
| 340 | - public void setCarGride(String carGride) { | |
| 341 | - this.carGride = carGride; | |
| 342 | - } | |
| 343 | - | |
| 344 | - public String getEmissionsStandard() { | |
| 345 | - return emissionsStandard; | |
| 346 | - } | |
| 347 | - | |
| 348 | - public void setEmissionsStandard(String emissionsStandard) { | |
| 349 | - this.emissionsStandard = emissionsStandard; | |
| 350 | - } | |
| 351 | - | |
| 352 | - public String getEngineCodeOne() { | |
| 353 | - return engineCodeOne; | |
| 354 | - } | |
| 355 | - | |
| 356 | - public void setEngineCodeOne(String engineCodeOne) { | |
| 357 | - this.engineCodeOne = engineCodeOne; | |
| 358 | - } | |
| 359 | - | |
| 360 | - public String getEngineCodeTwo() { | |
| 361 | - return engineCodeTwo; | |
| 362 | - } | |
| 363 | - | |
| 364 | - public void setEngineCodeTwo(String engineCodeTwo) { | |
| 365 | - this.engineCodeTwo = engineCodeTwo; | |
| 366 | - } | |
| 367 | - | |
| 368 | - public String getCarNumberOne() { | |
| 369 | - return carNumberOne; | |
| 370 | - } | |
| 371 | - | |
| 372 | - public void setCarNumberOne(String carNumberOne) { | |
| 373 | - this.carNumberOne = carNumberOne; | |
| 374 | - } | |
| 375 | - | |
| 376 | - public String getCarNumberTwo() { | |
| 377 | - return carNumberTwo; | |
| 378 | - } | |
| 379 | - | |
| 380 | - public void setCarNumberTwo(String carNumberTwo) { | |
| 381 | - this.carNumberTwo = carNumberTwo; | |
| 382 | - } | |
| 383 | - | |
| 384 | - public Date getOpenDate() { | |
| 385 | - return openDate; | |
| 386 | - } | |
| 387 | - | |
| 388 | - public void setOpenDate(Date openDate) { | |
| 389 | - this.openDate = openDate; | |
| 390 | - } | |
| 391 | - | |
| 392 | - public Date getCloseDate() { | |
| 393 | - return closeDate; | |
| 394 | - } | |
| 395 | - | |
| 396 | - public void setCloseDate(Date closeDate) { | |
| 397 | - this.closeDate = closeDate; | |
| 398 | - } | |
| 399 | - | |
| 400 | - public Boolean getHvacCar() { | |
| 401 | - return hvacCar; | |
| 402 | - } | |
| 403 | - | |
| 404 | - public void setHvacCar(Boolean hvacCar) { | |
| 405 | - this.hvacCar = hvacCar; | |
| 406 | - } | |
| 407 | - | |
| 408 | - public Boolean getTicketType() { | |
| 409 | - return ticketType; | |
| 410 | - } | |
| 411 | - | |
| 412 | - public void setTicketType(Boolean ticketType) { | |
| 413 | - this.ticketType = ticketType; | |
| 414 | - } | |
| 415 | - | |
| 416 | - public Boolean getLedScreen() { | |
| 417 | - return ledScreen; | |
| 418 | - } | |
| 419 | - | |
| 420 | - public void setLedScreen(Boolean ledScreen) { | |
| 421 | - this.ledScreen = ledScreen; | |
| 422 | - } | |
| 423 | - | |
| 424 | - public Boolean getTvVideoType() { | |
| 425 | - return tvVideoType; | |
| 426 | - } | |
| 427 | - | |
| 428 | - public void setTvVideoType(Boolean tvVideoType) { | |
| 429 | - this.tvVideoType = tvVideoType; | |
| 430 | - } | |
| 431 | - | |
| 432 | - public String getCarType() { | |
| 433 | - return carType; | |
| 434 | - } | |
| 435 | - | |
| 436 | - public void setCarType(String carType) { | |
| 437 | - this.carType = carType; | |
| 438 | - } | |
| 439 | - | |
| 440 | - public String getVehicleStats() { | |
| 441 | - return vehicleStats; | |
| 442 | - } | |
| 443 | - | |
| 444 | - public void setVehicleStats(String vehicleStats) { | |
| 445 | - this.vehicleStats = vehicleStats; | |
| 446 | - } | |
| 447 | - | |
| 448 | - public String getOperatorsState() { | |
| 449 | - return operatorsState; | |
| 450 | - } | |
| 451 | - | |
| 452 | - public void setOperatorsState(String operatorsState) { | |
| 453 | - this.operatorsState = operatorsState; | |
| 454 | - } | |
| 455 | - | |
| 456 | - public Boolean getSfdc() { | |
| 457 | - return sfdc; | |
| 458 | - } | |
| 459 | - | |
| 460 | - public void setSfdc(Boolean sfdc) { | |
| 461 | - this.sfdc = sfdc; | |
| 462 | - } | |
| 463 | - | |
| 464 | - public String getDescriptions() { | |
| 465 | - return descriptions; | |
| 466 | - } | |
| 467 | - | |
| 468 | - public void setDescriptions(String descriptions) { | |
| 469 | - this.descriptions = descriptions; | |
| 470 | - } | |
| 471 | - | |
| 472 | - public String getCarOrdinal() { | |
| 473 | - return carOrdinal; | |
| 474 | - } | |
| 475 | - | |
| 476 | - public void setCarOrdinal(String carOrdinal) { | |
| 477 | - this.carOrdinal = carOrdinal; | |
| 478 | - } | |
| 479 | - | |
| 480 | - public String getVideoCode() { | |
| 481 | - return videoCode; | |
| 482 | - } | |
| 483 | - | |
| 484 | - public void setVideoCode(String videoCode) { | |
| 485 | - this.videoCode = videoCode; | |
| 486 | - } | |
| 487 | - | |
| 488 | - public Boolean getScrapState() { | |
| 489 | - return scrapState; | |
| 490 | - } | |
| 491 | - | |
| 492 | - public void setScrapState(Boolean scrapState) { | |
| 493 | - this.scrapState = scrapState; | |
| 494 | - } | |
| 495 | - | |
| 496 | - public Integer getIsSwitch() { | |
| 497 | - return isSwitch; | |
| 498 | - } | |
| 499 | - | |
| 500 | - public void setIsSwitch(Integer isSwitch) { | |
| 501 | - this.isSwitch = isSwitch; | |
| 502 | - } | |
| 503 | - | |
| 504 | - public String getXlmc() { | |
| 505 | - return xlmc; | |
| 506 | - } | |
| 507 | - | |
| 508 | - public void setXlmc(String xlmc) { | |
| 509 | - this.xlmc = xlmc; | |
| 510 | - } | |
| 511 | - | |
| 512 | - public String getCgsbm() { | |
| 513 | - return cgsbm; | |
| 514 | - } | |
| 515 | - | |
| 516 | - public void setCgsbm(String cgsbm) { | |
| 517 | - this.cgsbm = cgsbm; | |
| 518 | - } | |
| 519 | - | |
| 520 | - public Boolean getSfmix() { | |
| 521 | - return sfmix; | |
| 522 | - } | |
| 523 | - | |
| 524 | - public void setSfmix(Boolean sfmix) { | |
| 525 | - this.sfmix = sfmix; | |
| 526 | - } | |
| 527 | - | |
| 528 | - public Boolean getHydrogen() { | |
| 529 | - return hydrogen; | |
| 530 | - } | |
| 531 | - | |
| 532 | - public void setHydrogen(Boolean hydrogen) { | |
| 533 | - this.hydrogen = hydrogen; | |
| 534 | - } | |
| 535 | -} | |
| 1 | +package com.bsth.entity; | |
| 2 | + | |
| 3 | +import com.bsth.entity.schedule.BEntity; | |
| 4 | +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; | |
| 5 | +import org.hibernate.annotations.Formula; | |
| 6 | + | |
| 7 | +import javax.persistence.*; | |
| 8 | +import java.io.Serializable; | |
| 9 | +import java.util.Date; | |
| 10 | + | |
| 11 | +/** | |
| 12 | + * | |
| 13 | + * @ClassName : Cars(车实体类) | |
| 14 | + * | |
| 15 | + * @Author : bsth@lq | |
| 16 | + * | |
| 17 | + * @Description : TODO(车辆基本信息) | |
| 18 | + * | |
| 19 | + * @Data : 2016-04-27 | |
| 20 | + * | |
| 21 | + * @Version 公交调度系统BS版 0.1 | |
| 22 | + * | |
| 23 | + */ | |
| 24 | + | |
| 25 | +@Entity | |
| 26 | +@Table(name = "bsth_c_cars") | |
| 27 | +@JsonIgnoreProperties(value={"hibernateLazyInitializer","handler","fieldHandler"}) | |
| 28 | +public class Cars extends BEntity implements Serializable { | |
| 29 | + | |
| 30 | + /** 主键Id */ | |
| 31 | + @Id | |
| 32 | + @GeneratedValue(strategy = GenerationType.IDENTITY) | |
| 33 | + private Integer id; | |
| 34 | + | |
| 35 | + /** 自编号/内部编号 */ | |
| 36 | + @Column(nullable = false, length = 20, unique = true) | |
| 37 | + private String insideCode; | |
| 38 | + | |
| 39 | + // 公司、分公司暂时不用关联实体 | |
| 40 | + /** 公司代码 */ | |
| 41 | + @Column(nullable = false) | |
| 42 | + private String businessCode; | |
| 43 | + /** 公司名称 */ | |
| 44 | + @Column(nullable = false) | |
| 45 | + private String company; | |
| 46 | + /** 分公司编码 */ | |
| 47 | + private String brancheCompanyCode; | |
| 48 | + /** 分公司 */ | |
| 49 | + private String brancheCompany; | |
| 50 | + | |
| 51 | + /** 组合公司分公司编码 */ | |
| 52 | + @Formula(" concat(business_code, '_', branche_company_code) ") | |
| 53 | + private String cgsbm; | |
| 54 | + | |
| 55 | + /** 车辆编码(TODO:在原系统里没有,这里暂时留着) */ | |
| 56 | + @Column(nullable = false) | |
| 57 | + private String carCode; | |
| 58 | + /** 车牌号 */ | |
| 59 | + @Column(nullable = false) | |
| 60 | + private String carPlate; | |
| 61 | + /** 供应商名称 */ | |
| 62 | + @Column(nullable = false) | |
| 63 | + private String supplierName; | |
| 64 | + /** 设备终端号 */ | |
| 65 | + @Column(nullable = false) | |
| 66 | + private String equipmentCode; | |
| 67 | + | |
| 68 | + // 以下信息来自总公司的业务系统,可能需要调用相关接口 | |
| 69 | + /** 车型类别 */ | |
| 70 | + private String carClass ; | |
| 71 | + /** 技术速度 */ | |
| 72 | + private Double speed; | |
| 73 | + /** 座位数 */ | |
| 74 | + private Integer carSeatnNumber; | |
| 75 | + /** 载客标准 */ | |
| 76 | + private String carStandard; | |
| 77 | + /** 标准油耗(开空调) */ | |
| 78 | + private Double kburnStandard; | |
| 79 | + /** 标准油耗(关空调) */ | |
| 80 | + private Double gburnStandard; | |
| 81 | + /** 报废号 */ | |
| 82 | + private String scrapCode; | |
| 83 | + /** 报废日期 */ | |
| 84 | + private Date scrapDate; | |
| 85 | + /** 厂牌型号1 */ | |
| 86 | + private String makeCodeOne; | |
| 87 | + /** 厂牌型号2 */ | |
| 88 | + private String makeCodeTwo; | |
| 89 | + /** 车辆等级标准 */ | |
| 90 | + private String carGride; | |
| 91 | + /** 出厂排放标准 */ | |
| 92 | + private String emissionsStandard; | |
| 93 | + /** 发动机号码1 */ | |
| 94 | + private String engineCodeOne; | |
| 95 | + /** 发动机号码2 */ | |
| 96 | + private String engineCodeTwo; | |
| 97 | + /** 车架号码1 */ | |
| 98 | + private String carNumberOne; | |
| 99 | + /** 车架号码2 */ | |
| 100 | + private String carNumberTwo; | |
| 101 | + /** 启用日期(2008-10-10)*/ | |
| 102 | + private Date openDate; | |
| 103 | + /** 取消日期 */ | |
| 104 | + private Date closeDate; | |
| 105 | + | |
| 106 | + /** 是否空调车 */ | |
| 107 | + @Column(nullable = true) | |
| 108 | + private Boolean hvacCar; | |
| 109 | + /** 有无人售票 */ | |
| 110 | + @Column(nullable = true) | |
| 111 | + private Boolean ticketType; | |
| 112 | + /** 是否有LED服务屏 */ | |
| 113 | + @Column(nullable = true) | |
| 114 | + private Boolean ledScreen; | |
| 115 | + /** 是否有TV视频 */ | |
| 116 | + @Column(nullable = true) | |
| 117 | + private Boolean tvVideoType; | |
| 118 | + | |
| 119 | + /** 车辆类型 */ | |
| 120 | + private String carType; | |
| 121 | + /** 是否机动车(机动车类型选择)*/ | |
| 122 | + private String vehicleStats; | |
| 123 | + /** 营运状态 */ | |
| 124 | + private String operatorsState; | |
| 125 | + /** 营运证编码 */ | |
| 126 | + private String serviceNo; | |
| 127 | + /** 是否电车(TODO:在原系统里没有,这里暂时留着) */ | |
| 128 | + private Boolean sfdc; | |
| 129 | + /** 是否混合动力(TODO:在原系统里没有,这里暂时留着) */ | |
| 130 | + private Boolean sfmix; | |
| 131 | + /** 是否氢能源车 */ | |
| 132 | + private Boolean hydrogen; | |
| 133 | + /** 备注/描述 */ | |
| 134 | + private String descriptions; | |
| 135 | + | |
| 136 | + /** 车辆序号(TODO:在原系统里没有,这里暂时留着) */ | |
| 137 | + private String carOrdinal; | |
| 138 | + /** 视频编号 */ | |
| 139 | + private String videoCode; | |
| 140 | + /** 是否报废 */ | |
| 141 | + @Column(nullable = true) | |
| 142 | + private Boolean scrapState; | |
| 143 | + /** 是否切换(TODO:在原系统里没有,这里暂时留着)*/ | |
| 144 | + private Integer isSwitch; | |
| 145 | + /** 线路名称(TODO:在原系统里没有,这里暂时留着,并且不做线路关联,只保留个名字) */ | |
| 146 | + private String xlmc; | |
| 147 | + | |
| 148 | + /** | |
| 149 | + * 终端sim号 | |
| 150 | + */ | |
| 151 | + private String sim; | |
| 152 | + | |
| 153 | + public Cars() {} | |
| 154 | + | |
| 155 | + public Cars(Object id, Object nbbh, Object clbh, Object cph, Object sbbh) { | |
| 156 | + if (id != null) { | |
| 157 | + this.id = Integer.valueOf(id.toString()); | |
| 158 | + } | |
| 159 | + if (nbbh != null) { | |
| 160 | + this.insideCode = nbbh.toString(); | |
| 161 | + } | |
| 162 | + if (clbh != null) { | |
| 163 | + this.carCode = clbh.toString(); | |
| 164 | + } | |
| 165 | + if (cph != null) { | |
| 166 | + this.carPlate = cph.toString(); | |
| 167 | + } | |
| 168 | + if (sbbh != null) { | |
| 169 | + this.equipmentCode = sbbh.toString(); | |
| 170 | + } | |
| 171 | + } | |
| 172 | + | |
| 173 | + public String getServiceNo() { | |
| 174 | + return serviceNo; | |
| 175 | + } | |
| 176 | + | |
| 177 | + public void setServiceNo(String serviceNo) { | |
| 178 | + this.serviceNo = serviceNo; | |
| 179 | + } | |
| 180 | + | |
| 181 | + public Integer getId() { | |
| 182 | + return id; | |
| 183 | + } | |
| 184 | + | |
| 185 | + public void setId(Integer id) { | |
| 186 | + this.id = id; | |
| 187 | + } | |
| 188 | + | |
| 189 | + public String getInsideCode() { | |
| 190 | + return insideCode; | |
| 191 | + } | |
| 192 | + | |
| 193 | + public void setInsideCode(String insideCode) { | |
| 194 | + this.insideCode = insideCode; | |
| 195 | + } | |
| 196 | + | |
| 197 | + public String getBusinessCode() { | |
| 198 | + return businessCode; | |
| 199 | + } | |
| 200 | + | |
| 201 | + public void setBusinessCode(String businessCode) { | |
| 202 | + this.businessCode = businessCode; | |
| 203 | + } | |
| 204 | + | |
| 205 | + public String getCompany() { | |
| 206 | + return company; | |
| 207 | + } | |
| 208 | + | |
| 209 | + public void setCompany(String company) { | |
| 210 | + this.company = company; | |
| 211 | + } | |
| 212 | + | |
| 213 | + public String getBrancheCompanyCode() { | |
| 214 | + return brancheCompanyCode; | |
| 215 | + } | |
| 216 | + | |
| 217 | + public void setBrancheCompanyCode(String brancheCompanyCode) { | |
| 218 | + this.brancheCompanyCode = brancheCompanyCode; | |
| 219 | + } | |
| 220 | + | |
| 221 | + public String getBrancheCompany() { | |
| 222 | + return brancheCompany; | |
| 223 | + } | |
| 224 | + | |
| 225 | + public void setBrancheCompany(String brancheCompany) { | |
| 226 | + this.brancheCompany = brancheCompany; | |
| 227 | + } | |
| 228 | + | |
| 229 | + public String getCarCode() { | |
| 230 | + return carCode; | |
| 231 | + } | |
| 232 | + | |
| 233 | + public void setCarCode(String carCode) { | |
| 234 | + this.carCode = carCode; | |
| 235 | + } | |
| 236 | + | |
| 237 | + public String getCarPlate() { | |
| 238 | + return carPlate; | |
| 239 | + } | |
| 240 | + | |
| 241 | + public void setCarPlate(String carPlate) { | |
| 242 | + this.carPlate = carPlate; | |
| 243 | + } | |
| 244 | + | |
| 245 | + public String getSupplierName() { | |
| 246 | + return supplierName; | |
| 247 | + } | |
| 248 | + | |
| 249 | + public void setSupplierName(String supplierName) { | |
| 250 | + this.supplierName = supplierName; | |
| 251 | + } | |
| 252 | + | |
| 253 | + public String getEquipmentCode() { | |
| 254 | + return equipmentCode; | |
| 255 | + } | |
| 256 | + | |
| 257 | + public void setEquipmentCode(String equipmentCode) { | |
| 258 | + this.equipmentCode = equipmentCode; | |
| 259 | + } | |
| 260 | + | |
| 261 | + public String getCarClass() { | |
| 262 | + return carClass; | |
| 263 | + } | |
| 264 | + | |
| 265 | + public void setCarClass(String carClass) { | |
| 266 | + this.carClass = carClass; | |
| 267 | + } | |
| 268 | + | |
| 269 | + public Double getSpeed() { | |
| 270 | + return speed; | |
| 271 | + } | |
| 272 | + | |
| 273 | + public void setSpeed(Double speed) { | |
| 274 | + this.speed = speed; | |
| 275 | + } | |
| 276 | + | |
| 277 | + public Integer getCarSeatnNumber() { | |
| 278 | + return carSeatnNumber; | |
| 279 | + } | |
| 280 | + | |
| 281 | + public void setCarSeatnNumber(Integer carSeatnNumber) { | |
| 282 | + this.carSeatnNumber = carSeatnNumber; | |
| 283 | + } | |
| 284 | + | |
| 285 | + public String getCarStandard() { | |
| 286 | + return carStandard; | |
| 287 | + } | |
| 288 | + | |
| 289 | + public void setCarStandard(String carStandard) { | |
| 290 | + this.carStandard = carStandard; | |
| 291 | + } | |
| 292 | + | |
| 293 | + public Double getKburnStandard() { | |
| 294 | + return kburnStandard; | |
| 295 | + } | |
| 296 | + | |
| 297 | + public void setKburnStandard(Double kburnStandard) { | |
| 298 | + this.kburnStandard = kburnStandard; | |
| 299 | + } | |
| 300 | + | |
| 301 | + public Double getGburnStandard() { | |
| 302 | + return gburnStandard; | |
| 303 | + } | |
| 304 | + | |
| 305 | + public void setGburnStandard(Double gburnStandard) { | |
| 306 | + this.gburnStandard = gburnStandard; | |
| 307 | + } | |
| 308 | + | |
| 309 | + public String getScrapCode() { | |
| 310 | + return scrapCode; | |
| 311 | + } | |
| 312 | + | |
| 313 | + public void setScrapCode(String scrapCode) { | |
| 314 | + this.scrapCode = scrapCode; | |
| 315 | + } | |
| 316 | + | |
| 317 | + public Date getScrapDate() { | |
| 318 | + return scrapDate; | |
| 319 | + } | |
| 320 | + | |
| 321 | + public void setScrapDate(Date scrapDate) { | |
| 322 | + this.scrapDate = scrapDate; | |
| 323 | + } | |
| 324 | + | |
| 325 | + public String getMakeCodeOne() { | |
| 326 | + return makeCodeOne; | |
| 327 | + } | |
| 328 | + | |
| 329 | + public void setMakeCodeOne(String makeCodeOne) { | |
| 330 | + this.makeCodeOne = makeCodeOne; | |
| 331 | + } | |
| 332 | + | |
| 333 | + public String getMakeCodeTwo() { | |
| 334 | + return makeCodeTwo; | |
| 335 | + } | |
| 336 | + | |
| 337 | + public void setMakeCodeTwo(String makeCodeTwo) { | |
| 338 | + this.makeCodeTwo = makeCodeTwo; | |
| 339 | + } | |
| 340 | + | |
| 341 | + public String getCarGride() { | |
| 342 | + return carGride; | |
| 343 | + } | |
| 344 | + | |
| 345 | + public void setCarGride(String carGride) { | |
| 346 | + this.carGride = carGride; | |
| 347 | + } | |
| 348 | + | |
| 349 | + public String getEmissionsStandard() { | |
| 350 | + return emissionsStandard; | |
| 351 | + } | |
| 352 | + | |
| 353 | + public void setEmissionsStandard(String emissionsStandard) { | |
| 354 | + this.emissionsStandard = emissionsStandard; | |
| 355 | + } | |
| 356 | + | |
| 357 | + public String getEngineCodeOne() { | |
| 358 | + return engineCodeOne; | |
| 359 | + } | |
| 360 | + | |
| 361 | + public void setEngineCodeOne(String engineCodeOne) { | |
| 362 | + this.engineCodeOne = engineCodeOne; | |
| 363 | + } | |
| 364 | + | |
| 365 | + public String getEngineCodeTwo() { | |
| 366 | + return engineCodeTwo; | |
| 367 | + } | |
| 368 | + | |
| 369 | + public void setEngineCodeTwo(String engineCodeTwo) { | |
| 370 | + this.engineCodeTwo = engineCodeTwo; | |
| 371 | + } | |
| 372 | + | |
| 373 | + public String getCarNumberOne() { | |
| 374 | + return carNumberOne; | |
| 375 | + } | |
| 376 | + | |
| 377 | + public void setCarNumberOne(String carNumberOne) { | |
| 378 | + this.carNumberOne = carNumberOne; | |
| 379 | + } | |
| 380 | + | |
| 381 | + public String getCarNumberTwo() { | |
| 382 | + return carNumberTwo; | |
| 383 | + } | |
| 384 | + | |
| 385 | + public void setCarNumberTwo(String carNumberTwo) { | |
| 386 | + this.carNumberTwo = carNumberTwo; | |
| 387 | + } | |
| 388 | + | |
| 389 | + public Date getOpenDate() { | |
| 390 | + return openDate; | |
| 391 | + } | |
| 392 | + | |
| 393 | + public void setOpenDate(Date openDate) { | |
| 394 | + this.openDate = openDate; | |
| 395 | + } | |
| 396 | + | |
| 397 | + public Date getCloseDate() { | |
| 398 | + return closeDate; | |
| 399 | + } | |
| 400 | + | |
| 401 | + public void setCloseDate(Date closeDate) { | |
| 402 | + this.closeDate = closeDate; | |
| 403 | + } | |
| 404 | + | |
| 405 | + public Boolean getHvacCar() { | |
| 406 | + return hvacCar; | |
| 407 | + } | |
| 408 | + | |
| 409 | + public void setHvacCar(Boolean hvacCar) { | |
| 410 | + this.hvacCar = hvacCar; | |
| 411 | + } | |
| 412 | + | |
| 413 | + public Boolean getTicketType() { | |
| 414 | + return ticketType; | |
| 415 | + } | |
| 416 | + | |
| 417 | + public void setTicketType(Boolean ticketType) { | |
| 418 | + this.ticketType = ticketType; | |
| 419 | + } | |
| 420 | + | |
| 421 | + public Boolean getLedScreen() { | |
| 422 | + return ledScreen; | |
| 423 | + } | |
| 424 | + | |
| 425 | + public void setLedScreen(Boolean ledScreen) { | |
| 426 | + this.ledScreen = ledScreen; | |
| 427 | + } | |
| 428 | + | |
| 429 | + public Boolean getTvVideoType() { | |
| 430 | + return tvVideoType; | |
| 431 | + } | |
| 432 | + | |
| 433 | + public void setTvVideoType(Boolean tvVideoType) { | |
| 434 | + this.tvVideoType = tvVideoType; | |
| 435 | + } | |
| 436 | + | |
| 437 | + public String getCarType() { | |
| 438 | + return carType; | |
| 439 | + } | |
| 440 | + | |
| 441 | + public void setCarType(String carType) { | |
| 442 | + this.carType = carType; | |
| 443 | + } | |
| 444 | + | |
| 445 | + public String getVehicleStats() { | |
| 446 | + return vehicleStats; | |
| 447 | + } | |
| 448 | + | |
| 449 | + public void setVehicleStats(String vehicleStats) { | |
| 450 | + this.vehicleStats = vehicleStats; | |
| 451 | + } | |
| 452 | + | |
| 453 | + public String getOperatorsState() { | |
| 454 | + return operatorsState; | |
| 455 | + } | |
| 456 | + | |
| 457 | + public void setOperatorsState(String operatorsState) { | |
| 458 | + this.operatorsState = operatorsState; | |
| 459 | + } | |
| 460 | + | |
| 461 | + public Boolean getSfdc() { | |
| 462 | + return sfdc; | |
| 463 | + } | |
| 464 | + | |
| 465 | + public void setSfdc(Boolean sfdc) { | |
| 466 | + this.sfdc = sfdc; | |
| 467 | + } | |
| 468 | + | |
| 469 | + public String getDescriptions() { | |
| 470 | + return descriptions; | |
| 471 | + } | |
| 472 | + | |
| 473 | + public void setDescriptions(String descriptions) { | |
| 474 | + this.descriptions = descriptions; | |
| 475 | + } | |
| 476 | + | |
| 477 | + public String getCarOrdinal() { | |
| 478 | + return carOrdinal; | |
| 479 | + } | |
| 480 | + | |
| 481 | + public void setCarOrdinal(String carOrdinal) { | |
| 482 | + this.carOrdinal = carOrdinal; | |
| 483 | + } | |
| 484 | + | |
| 485 | + public String getVideoCode() { | |
| 486 | + return videoCode; | |
| 487 | + } | |
| 488 | + | |
| 489 | + public void setVideoCode(String videoCode) { | |
| 490 | + this.videoCode = videoCode; | |
| 491 | + } | |
| 492 | + | |
| 493 | + public Boolean getScrapState() { | |
| 494 | + return scrapState; | |
| 495 | + } | |
| 496 | + | |
| 497 | + public void setScrapState(Boolean scrapState) { | |
| 498 | + this.scrapState = scrapState; | |
| 499 | + } | |
| 500 | + | |
| 501 | + public Integer getIsSwitch() { | |
| 502 | + return isSwitch; | |
| 503 | + } | |
| 504 | + | |
| 505 | + public void setIsSwitch(Integer isSwitch) { | |
| 506 | + this.isSwitch = isSwitch; | |
| 507 | + } | |
| 508 | + | |
| 509 | + public String getXlmc() { | |
| 510 | + return xlmc; | |
| 511 | + } | |
| 512 | + | |
| 513 | + public void setXlmc(String xlmc) { | |
| 514 | + this.xlmc = xlmc; | |
| 515 | + } | |
| 516 | + | |
| 517 | + public String getCgsbm() { | |
| 518 | + return cgsbm; | |
| 519 | + } | |
| 520 | + | |
| 521 | + public void setCgsbm(String cgsbm) { | |
| 522 | + this.cgsbm = cgsbm; | |
| 523 | + } | |
| 524 | + | |
| 525 | + public Boolean getSfmix() { | |
| 526 | + return sfmix; | |
| 527 | + } | |
| 528 | + | |
| 529 | + public void setSfmix(Boolean sfmix) { | |
| 530 | + this.sfmix = sfmix; | |
| 531 | + } | |
| 532 | + | |
| 533 | + public Boolean getHydrogen() { | |
| 534 | + return hydrogen; | |
| 535 | + } | |
| 536 | + | |
| 537 | + public void setHydrogen(Boolean hydrogen) { | |
| 538 | + this.hydrogen = hydrogen; | |
| 539 | + } | |
| 540 | + | |
| 541 | + public String getSim() { | |
| 542 | + return sim; | |
| 543 | + } | |
| 544 | + | |
| 545 | + public void setSim(String sim) { | |
| 546 | + this.sim = sim; | |
| 547 | + } | |
| 548 | +} | ... | ... |
src/main/java/com/bsth/entity/publish/ScanStatictic.java
0 → 100644
| 1 | +package com.bsth.entity.publish; | |
| 2 | + | |
| 3 | +public class ScanStatictic { | |
| 4 | + | |
| 5 | + private String rq; | |
| 6 | + | |
| 7 | + private String physicalCode; | |
| 8 | + | |
| 9 | + private String stationName; | |
| 10 | + | |
| 11 | + private int count; | |
| 12 | + | |
| 13 | + public String getRq() { | |
| 14 | + return rq; | |
| 15 | + } | |
| 16 | + | |
| 17 | + public void setRq(String rq) { | |
| 18 | + this.rq = rq; | |
| 19 | + } | |
| 20 | + | |
| 21 | + public String getPhysicalCode() { | |
| 22 | + return physicalCode; | |
| 23 | + } | |
| 24 | + | |
| 25 | + public void setPhysicalCode(String physicalCode) { | |
| 26 | + this.physicalCode = physicalCode; | |
| 27 | + } | |
| 28 | + | |
| 29 | + public String getStationName() { | |
| 30 | + return stationName; | |
| 31 | + } | |
| 32 | + | |
| 33 | + public void setStationName(String stationName) { | |
| 34 | + this.stationName = stationName; | |
| 35 | + } | |
| 36 | + | |
| 37 | + public int getCount() { | |
| 38 | + return count; | |
| 39 | + } | |
| 40 | + | |
| 41 | + public void setCount(int count) { | |
| 42 | + this.count = count; | |
| 43 | + } | |
| 44 | +} | ... | ... |
src/main/java/com/bsth/message/entity/AlarmADASVo.java
0 → 100644
| 1 | +package com.bsth.message.entity; | |
| 2 | + | |
| 3 | +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; | |
| 4 | + | |
| 5 | +import java.util.ArrayList; | |
| 6 | +import java.util.List; | |
| 7 | + | |
| 8 | +@JsonIgnoreProperties(ignoreUnknown = true) | |
| 9 | +public class AlarmADASVo implements AlarmVo { | |
| 10 | + | |
| 11 | + private String clientId; | |
| 12 | + | |
| 13 | + /** | |
| 14 | + * 车辆编码(内部编码) | |
| 15 | + */ | |
| 16 | + private String vehicleCode; | |
| 17 | + | |
| 18 | + /** | |
| 19 | + * 设备号 | |
| 20 | + */ | |
| 21 | + private String deviceId; | |
| 22 | + | |
| 23 | + /** | |
| 24 | + * 车牌号 | |
| 25 | + */ | |
| 26 | + private String vehiclePlate; | |
| 27 | + | |
| 28 | + /** | |
| 29 | + * 报警ID | |
| 30 | + */ | |
| 31 | + private String alarmId; | |
| 32 | + | |
| 33 | + /** | |
| 34 | + * 报警/事件类型 | |
| 35 | + * 0x01:前向碰撞报警 | |
| 36 | + * 0x02:车道偏离报警 | |
| 37 | + * 0x03:车距过近报警 | |
| 38 | + * 0x04:行人碰撞报警 | |
| 39 | + * 0x05:频繁变道报警 | |
| 40 | + * 0x06:道路标识超限报警 | |
| 41 | + * 0x07:障碍物报警 | |
| 42 | + * 0x08~0x0F:用户自定义 | |
| 43 | + * 0x10:道路标志识别事件 | |
| 44 | + * 0x11:主动抓拍事件 | |
| 45 | + * 0x12~0x1F:用户自定义 | |
| 46 | + */ | |
| 47 | + private int type; | |
| 48 | + | |
| 49 | + /** | |
| 50 | + * 报警级别 | |
| 51 | + * 0x01 一级报警 | |
| 52 | + * 0x02 二级报警 | |
| 53 | + */ | |
| 54 | + private int level; | |
| 55 | + | |
| 56 | + /** | |
| 57 | + * 前车车速(Km/h)范围0~250,仅报警类型为1和2时有效 | |
| 58 | + */ | |
| 59 | + private int frontSpeed; | |
| 60 | + | |
| 61 | + /** | |
| 62 | + * 前车/行人距离(100ms),范围0~100,仅报警类型为1、2和4时有效 | |
| 63 | + */ | |
| 64 | + private int frontDistance; | |
| 65 | + | |
| 66 | + /** | |
| 67 | + * 偏离类型:1.左侧偏离 2.右侧偏离(报警类型为2时有效) | |
| 68 | + */ | |
| 69 | + private int deviateType; | |
| 70 | + | |
| 71 | + /** | |
| 72 | + * 道路标志识别类型:1.限速标志 2.限高标志 3.限重标志(报警类型为6和10时有效) | |
| 73 | + */ | |
| 74 | + private int roadSign; | |
| 75 | + | |
| 76 | + /** | |
| 77 | + * 道路标志识别数据 | |
| 78 | + */ | |
| 79 | + private int roadSignValue; | |
| 80 | + | |
| 81 | + /** | |
| 82 | + * 车速 | |
| 83 | + */ | |
| 84 | + private int speed; | |
| 85 | + | |
| 86 | + /** | |
| 87 | + * 高程 | |
| 88 | + */ | |
| 89 | + private int altitude; | |
| 90 | + | |
| 91 | + /** | |
| 92 | + * 纬度 | |
| 93 | + */ | |
| 94 | + private int latitude; | |
| 95 | + | |
| 96 | + /** | |
| 97 | + * 经度 | |
| 98 | + */ | |
| 99 | + private int longitude; | |
| 100 | + | |
| 101 | + /** | |
| 102 | + * 日期时间(ms) | |
| 103 | + */ | |
| 104 | + private long alarmTimeBegin; | |
| 105 | + | |
| 106 | + /** | |
| 107 | + * 日期时间(ms) | |
| 108 | + */ | |
| 109 | + private long alarmTimeEnd; | |
| 110 | + | |
| 111 | + /** | |
| 112 | + * 车辆状态 | |
| 113 | + */ | |
| 114 | + private int statusBit; | |
| 115 | + | |
| 116 | + /** | |
| 117 | + * 附件path | |
| 118 | + */ | |
| 119 | + private List<String> paths = new ArrayList<>(); | |
| 120 | + | |
| 121 | + private String lineCode; | |
| 122 | + | |
| 123 | + public String getClientId() { | |
| 124 | + return clientId; | |
| 125 | + } | |
| 126 | + | |
| 127 | + public void setClientId(String clientId) { | |
| 128 | + this.clientId = clientId; | |
| 129 | + } | |
| 130 | + | |
| 131 | + public String getVehicleCode() { | |
| 132 | + return vehicleCode; | |
| 133 | + } | |
| 134 | + | |
| 135 | + public void setVehicleCode(String vehicleCode) { | |
| 136 | + this.vehicleCode = vehicleCode; | |
| 137 | + } | |
| 138 | + | |
| 139 | + public String getDeviceId() { | |
| 140 | + return deviceId; | |
| 141 | + } | |
| 142 | + | |
| 143 | + public void setDeviceId(String deviceId) { | |
| 144 | + this.deviceId = deviceId; | |
| 145 | + } | |
| 146 | + | |
| 147 | + public String getVehiclePlate() { | |
| 148 | + return vehiclePlate; | |
| 149 | + } | |
| 150 | + | |
| 151 | + public void setVehiclePlate(String vehiclePlate) { | |
| 152 | + this.vehiclePlate = vehiclePlate; | |
| 153 | + } | |
| 154 | + | |
| 155 | + public String getAlarmId() { | |
| 156 | + return alarmId; | |
| 157 | + } | |
| 158 | + | |
| 159 | + public void setAlarmId(String alarmId) { | |
| 160 | + this.alarmId = alarmId; | |
| 161 | + } | |
| 162 | + | |
| 163 | + public int getType() { | |
| 164 | + return type; | |
| 165 | + } | |
| 166 | + | |
| 167 | + public void setType(int type) { | |
| 168 | + this.type = type; | |
| 169 | + } | |
| 170 | + | |
| 171 | + public int getLevel() { | |
| 172 | + return level; | |
| 173 | + } | |
| 174 | + | |
| 175 | + public void setLevel(int level) { | |
| 176 | + this.level = level; | |
| 177 | + } | |
| 178 | + | |
| 179 | + public int getFrontSpeed() { | |
| 180 | + return frontSpeed; | |
| 181 | + } | |
| 182 | + | |
| 183 | + public void setFrontSpeed(int frontSpeed) { | |
| 184 | + this.frontSpeed = frontSpeed; | |
| 185 | + } | |
| 186 | + | |
| 187 | + public int getFrontDistance() { | |
| 188 | + return frontDistance; | |
| 189 | + } | |
| 190 | + | |
| 191 | + public void setFrontDistance(int frontDistance) { | |
| 192 | + this.frontDistance = frontDistance; | |
| 193 | + } | |
| 194 | + | |
| 195 | + public int getDeviateType() { | |
| 196 | + return deviateType; | |
| 197 | + } | |
| 198 | + | |
| 199 | + public void setDeviateType(int deviateType) { | |
| 200 | + this.deviateType = deviateType; | |
| 201 | + } | |
| 202 | + | |
| 203 | + public int getRoadSign() { | |
| 204 | + return roadSign; | |
| 205 | + } | |
| 206 | + | |
| 207 | + public void setRoadSign(int roadSign) { | |
| 208 | + this.roadSign = roadSign; | |
| 209 | + } | |
| 210 | + | |
| 211 | + public int getRoadSignValue() { | |
| 212 | + return roadSignValue; | |
| 213 | + } | |
| 214 | + | |
| 215 | + public void setRoadSignValue(int roadSignValue) { | |
| 216 | + this.roadSignValue = roadSignValue; | |
| 217 | + } | |
| 218 | + | |
| 219 | + public int getSpeed() { | |
| 220 | + return speed; | |
| 221 | + } | |
| 222 | + | |
| 223 | + public void setSpeed(int speed) { | |
| 224 | + this.speed = speed; | |
| 225 | + } | |
| 226 | + | |
| 227 | + public int getAltitude() { | |
| 228 | + return altitude; | |
| 229 | + } | |
| 230 | + | |
| 231 | + public void setAltitude(int altitude) { | |
| 232 | + this.altitude = altitude; | |
| 233 | + } | |
| 234 | + | |
| 235 | + public int getLatitude() { | |
| 236 | + return latitude; | |
| 237 | + } | |
| 238 | + | |
| 239 | + public void setLatitude(int latitude) { | |
| 240 | + this.latitude = latitude; | |
| 241 | + } | |
| 242 | + | |
| 243 | + public int getLongitude() { | |
| 244 | + return longitude; | |
| 245 | + } | |
| 246 | + | |
| 247 | + public void setLongitude(int longitude) { | |
| 248 | + this.longitude = longitude; | |
| 249 | + } | |
| 250 | + | |
| 251 | + public long getAlarmTimeBegin() { | |
| 252 | + return alarmTimeBegin; | |
| 253 | + } | |
| 254 | + | |
| 255 | + public void setAlarmTimeBegin(long alarmTimeBegin) { | |
| 256 | + this.alarmTimeBegin = alarmTimeBegin; | |
| 257 | + } | |
| 258 | + | |
| 259 | + public long getAlarmTimeEnd() { | |
| 260 | + return alarmTimeEnd; | |
| 261 | + } | |
| 262 | + | |
| 263 | + public void setAlarmTimeEnd(long alarmTimeEnd) { | |
| 264 | + this.alarmTimeEnd = alarmTimeEnd; | |
| 265 | + } | |
| 266 | + | |
| 267 | + public int getStatusBit() { | |
| 268 | + return statusBit; | |
| 269 | + } | |
| 270 | + | |
| 271 | + public void setStatusBit(int statusBit) { | |
| 272 | + this.statusBit = statusBit; | |
| 273 | + } | |
| 274 | + | |
| 275 | + public List<String> getPaths() { | |
| 276 | + return paths; | |
| 277 | + } | |
| 278 | + | |
| 279 | + public void setPaths(List<String> paths) { | |
| 280 | + this.paths = paths; | |
| 281 | + } | |
| 282 | + | |
| 283 | + public String getAlarmType() { | |
| 284 | + return "adas"; | |
| 285 | + } | |
| 286 | + | |
| 287 | + public String getLineCode() { | |
| 288 | + return lineCode; | |
| 289 | + } | |
| 290 | + | |
| 291 | + @Override | |
| 292 | + public void setLineCode(String lineCode) { | |
| 293 | + this.lineCode = lineCode; | |
| 294 | + } | |
| 295 | + | |
| 296 | + @Override | |
| 297 | + public int hashCode() { | |
| 298 | + return String.format("%s_%d_%d", this.clientId, this.alarmTimeBegin, this.type).hashCode(); | |
| 299 | + } | |
| 300 | + | |
| 301 | + @Override | |
| 302 | + public boolean equals(Object obj) { | |
| 303 | + AlarmADASVo other = (AlarmADASVo) obj; | |
| 304 | + | |
| 305 | + return this.clientId.equals(other.getClientId()) && this.alarmTimeBegin == other.getAlarmTimeBegin() && this.type == other.getType(); | |
| 306 | + } | |
| 307 | + | |
| 308 | + @Override | |
| 309 | + public String toString() { | |
| 310 | + return "AlarmADASVo{" + | |
| 311 | + "clientId='" + clientId + '\'' + | |
| 312 | + ", vehicleCode='" + vehicleCode + '\'' + | |
| 313 | + ", deviceId='" + deviceId + '\'' + | |
| 314 | + ", vehiclePlate='" + vehiclePlate + '\'' + | |
| 315 | + ", alarmId='" + alarmId + '\'' + | |
| 316 | + ", type=" + type + | |
| 317 | + ", level=" + level + | |
| 318 | + ", frontSpeed=" + frontSpeed + | |
| 319 | + ", frontDistance=" + frontDistance + | |
| 320 | + ", deviateType=" + deviateType + | |
| 321 | + ", roadSign=" + roadSign + | |
| 322 | + ", roadSignValue=" + roadSignValue + | |
| 323 | + ", speed=" + speed + | |
| 324 | + ", altitude=" + altitude + | |
| 325 | + ", latitude=" + latitude + | |
| 326 | + ", longitude=" + longitude + | |
| 327 | + ", alarmTimeBegin=" + alarmTimeBegin + | |
| 328 | + ", alarmTimeEnd=" + alarmTimeEnd + | |
| 329 | + ", statusBit=" + statusBit + | |
| 330 | + ", paths=" + paths + | |
| 331 | + '}'; | |
| 332 | + } | |
| 333 | +} | |
| 0 | 334 | \ No newline at end of file | ... | ... |
src/main/java/com/bsth/message/entity/AlarmDSMVo.java
0 → 100644
| 1 | +package com.bsth.message.entity; | |
| 2 | + | |
| 3 | +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; | |
| 4 | + | |
| 5 | +import java.util.ArrayList; | |
| 6 | +import java.util.List; | |
| 7 | + | |
| 8 | +@JsonIgnoreProperties(ignoreUnknown = true) | |
| 9 | +public class AlarmDSMVo implements AlarmVo { | |
| 10 | + | |
| 11 | + private String clientId; | |
| 12 | + | |
| 13 | + /** | |
| 14 | + * 车辆编码(内部编码) | |
| 15 | + */ | |
| 16 | + private String vehicleCode; | |
| 17 | + | |
| 18 | + /** | |
| 19 | + * 设备号 | |
| 20 | + */ | |
| 21 | + private String deviceId; | |
| 22 | + | |
| 23 | + /** | |
| 24 | + * 车牌号 | |
| 25 | + */ | |
| 26 | + private String vehiclePlate; | |
| 27 | + | |
| 28 | + /** | |
| 29 | + * 报警ID | |
| 30 | + */ | |
| 31 | + private String alarmId; | |
| 32 | + | |
| 33 | + /** | |
| 34 | + * 报警/事件类型 | |
| 35 | + * 0x01:疲劳驾驶报警 | |
| 36 | + * 0x02:接打电话报警 | |
| 37 | + * 0x03:抽烟报警 | |
| 38 | + * 0x04:分神驾驶报警 | |
| 39 | + * 0x05:驾驶员异常报警 | |
| 40 | + * 0x06~0x0F:用户自定义 | |
| 41 | + * 0x10:自动抓拍事件 | |
| 42 | + * 0x11:驾驶员变更事件 | |
| 43 | + * 0x12~0x1F:用户自定义 | |
| 44 | + */ | |
| 45 | + private int type; | |
| 46 | + | |
| 47 | + /** | |
| 48 | + * 报警级别 | |
| 49 | + * 0x01 一级报警 | |
| 50 | + * 0x02 二级报警 | |
| 51 | + */ | |
| 52 | + private int level; | |
| 53 | + | |
| 54 | + /** | |
| 55 | + * 疲劳程度 | |
| 56 | + */ | |
| 57 | + private int fatigueDegree; | |
| 58 | + | |
| 59 | + /** | |
| 60 | + * 预留 | |
| 61 | + */ | |
| 62 | + private int reserves; | |
| 63 | + | |
| 64 | + /** | |
| 65 | + * 车速 | |
| 66 | + */ | |
| 67 | + private int speed; | |
| 68 | + | |
| 69 | + /** | |
| 70 | + * 高程 | |
| 71 | + */ | |
| 72 | + private int altitude; | |
| 73 | + | |
| 74 | + /** | |
| 75 | + * 纬度 | |
| 76 | + */ | |
| 77 | + private int latitude; | |
| 78 | + | |
| 79 | + /** | |
| 80 | + * 经度 | |
| 81 | + */ | |
| 82 | + private int longitude; | |
| 83 | + | |
| 84 | + /** | |
| 85 | + * 警报开始时间 | |
| 86 | + */ | |
| 87 | + private long alarmTimeBegin; | |
| 88 | + | |
| 89 | + /** | |
| 90 | + * 警报结束时间 | |
| 91 | + */ | |
| 92 | + private long alarmTimeEnd; | |
| 93 | + | |
| 94 | + /** | |
| 95 | + * 车辆状态 | |
| 96 | + */ | |
| 97 | + private int statusBit; | |
| 98 | + | |
| 99 | + /** | |
| 100 | + * 附件path | |
| 101 | + */ | |
| 102 | + private List<String> paths = new ArrayList<>(); | |
| 103 | + | |
| 104 | + private String lineCode; | |
| 105 | + | |
| 106 | + /** | |
| 107 | + * 限速值(0.01km/h) | |
| 108 | + */ | |
| 109 | + private int speedLimit; | |
| 110 | + | |
| 111 | + /** | |
| 112 | + * 超速速度峰值(0.01km/h) | |
| 113 | + */ | |
| 114 | + private int speedPeak; | |
| 115 | + | |
| 116 | + /** | |
| 117 | + * 超速持续时长(S) | |
| 118 | + */ | |
| 119 | + private int duration; | |
| 120 | + | |
| 121 | + public String getClientId() { | |
| 122 | + return clientId; | |
| 123 | + } | |
| 124 | + | |
| 125 | + public void setClientId(String clientId) { | |
| 126 | + this.clientId = clientId; | |
| 127 | + } | |
| 128 | + | |
| 129 | + public String getVehicleCode() { | |
| 130 | + return vehicleCode; | |
| 131 | + } | |
| 132 | + | |
| 133 | + public void setVehicleCode(String vehicleCode) { | |
| 134 | + this.vehicleCode = vehicleCode; | |
| 135 | + } | |
| 136 | + | |
| 137 | + public String getDeviceId() { | |
| 138 | + return deviceId; | |
| 139 | + } | |
| 140 | + | |
| 141 | + public void setDeviceId(String deviceId) { | |
| 142 | + this.deviceId = deviceId; | |
| 143 | + } | |
| 144 | + | |
| 145 | + public String getVehiclePlate() { | |
| 146 | + return vehiclePlate; | |
| 147 | + } | |
| 148 | + | |
| 149 | + public void setVehiclePlate(String vehiclePlate) { | |
| 150 | + this.vehiclePlate = vehiclePlate; | |
| 151 | + } | |
| 152 | + | |
| 153 | + public List<String> getPaths() { | |
| 154 | + return paths; | |
| 155 | + } | |
| 156 | + | |
| 157 | + public void setPaths(List<String> paths) { | |
| 158 | + this.paths = paths; | |
| 159 | + } | |
| 160 | + | |
| 161 | + public String getAlarmId() { | |
| 162 | + return alarmId; | |
| 163 | + } | |
| 164 | + | |
| 165 | + public void setAlarmId(String alarmId) { | |
| 166 | + this.alarmId = alarmId; | |
| 167 | + } | |
| 168 | + | |
| 169 | + public int getType() { | |
| 170 | + return type; | |
| 171 | + } | |
| 172 | + | |
| 173 | + public void setType(int type) { | |
| 174 | + this.type = type; | |
| 175 | + } | |
| 176 | + | |
| 177 | + public int getLevel() { | |
| 178 | + return level; | |
| 179 | + } | |
| 180 | + | |
| 181 | + public void setLevel(int level) { | |
| 182 | + this.level = level; | |
| 183 | + } | |
| 184 | + | |
| 185 | + public int getFatigueDegree() { | |
| 186 | + return fatigueDegree; | |
| 187 | + } | |
| 188 | + | |
| 189 | + public void setFatigueDegree(int fatigueDegree) { | |
| 190 | + this.fatigueDegree = fatigueDegree; | |
| 191 | + } | |
| 192 | + | |
| 193 | + public int getReserves() { | |
| 194 | + return reserves; | |
| 195 | + } | |
| 196 | + | |
| 197 | + public void setReserves(int reserves) { | |
| 198 | + this.reserves = reserves; | |
| 199 | + } | |
| 200 | + | |
| 201 | + public int getSpeed() { | |
| 202 | + return speed; | |
| 203 | + } | |
| 204 | + | |
| 205 | + public void setSpeed(int speed) { | |
| 206 | + this.speed = speed; | |
| 207 | + } | |
| 208 | + | |
| 209 | + public int getAltitude() { | |
| 210 | + return altitude; | |
| 211 | + } | |
| 212 | + | |
| 213 | + public void setAltitude(int altitude) { | |
| 214 | + this.altitude = altitude; | |
| 215 | + } | |
| 216 | + | |
| 217 | + public int getLatitude() { | |
| 218 | + return latitude; | |
| 219 | + } | |
| 220 | + | |
| 221 | + public void setLatitude(int latitude) { | |
| 222 | + this.latitude = latitude; | |
| 223 | + } | |
| 224 | + | |
| 225 | + public int getLongitude() { | |
| 226 | + return longitude; | |
| 227 | + } | |
| 228 | + | |
| 229 | + public void setLongitude(int longitude) { | |
| 230 | + this.longitude = longitude; | |
| 231 | + } | |
| 232 | + | |
| 233 | + public long getAlarmTimeBegin() { | |
| 234 | + return alarmTimeBegin; | |
| 235 | + } | |
| 236 | + | |
| 237 | + public void setAlarmTimeBegin(long alarmTimeBegin) { | |
| 238 | + this.alarmTimeBegin = alarmTimeBegin; | |
| 239 | + } | |
| 240 | + | |
| 241 | + public long getAlarmTimeEnd() { | |
| 242 | + return alarmTimeEnd; | |
| 243 | + } | |
| 244 | + | |
| 245 | + public void setAlarmTimeEnd(long alarmTimeEnd) { | |
| 246 | + this.alarmTimeEnd = alarmTimeEnd; | |
| 247 | + } | |
| 248 | + | |
| 249 | + public int getStatusBit() { | |
| 250 | + return statusBit; | |
| 251 | + } | |
| 252 | + | |
| 253 | + public void setStatusBit(int statusBit) { | |
| 254 | + this.statusBit = statusBit; | |
| 255 | + } | |
| 256 | + | |
| 257 | + public String getAlarmType() { | |
| 258 | + return "dsm"; | |
| 259 | + } | |
| 260 | + | |
| 261 | + public String getLineCode() { | |
| 262 | + return lineCode; | |
| 263 | + } | |
| 264 | + | |
| 265 | + @Override | |
| 266 | + public void setLineCode(String lineCode) { | |
| 267 | + this.lineCode = lineCode; | |
| 268 | + } | |
| 269 | + | |
| 270 | + public int getSpeedLimit() { | |
| 271 | + return speedLimit; | |
| 272 | + } | |
| 273 | + | |
| 274 | + public void setSpeedLimit(int speedLimit) { | |
| 275 | + this.speedLimit = speedLimit; | |
| 276 | + } | |
| 277 | + | |
| 278 | + public int getSpeedPeak() { | |
| 279 | + return speedPeak; | |
| 280 | + } | |
| 281 | + | |
| 282 | + public void setSpeedPeak(int speedPeak) { | |
| 283 | + this.speedPeak = speedPeak; | |
| 284 | + } | |
| 285 | + | |
| 286 | + public int getDuration() { | |
| 287 | + return duration; | |
| 288 | + } | |
| 289 | + | |
| 290 | + public void setDuration(int duration) { | |
| 291 | + this.duration = duration; | |
| 292 | + } | |
| 293 | + | |
| 294 | + public String getAttach() { | |
| 295 | + return String.format("峰值(km/h):%d[%d],持续(s):%d", speedPeak / 100, speedLimit/ 100, duration); | |
| 296 | + } | |
| 297 | + | |
| 298 | + @Override | |
| 299 | + public int hashCode() { | |
| 300 | + return String.format("%s_%d_%d", this.clientId, this.alarmTimeBegin, this.type).hashCode(); | |
| 301 | + } | |
| 302 | + | |
| 303 | + @Override | |
| 304 | + public boolean equals(Object obj) { | |
| 305 | + AlarmDSMVo other = (AlarmDSMVo) obj; | |
| 306 | + | |
| 307 | + return this.clientId.equals(other.getClientId()) && this.alarmTimeBegin == other.getAlarmTimeBegin() && this.type == other.getType(); | |
| 308 | + } | |
| 309 | + | |
| 310 | + @Override | |
| 311 | + public String toString() { | |
| 312 | + return "AlarmDSMVo{" + | |
| 313 | + "clientId='" + clientId + '\'' + | |
| 314 | + ", vehicleCode='" + vehicleCode + '\'' + | |
| 315 | + ", deviceId='" + deviceId + '\'' + | |
| 316 | + ", vehiclePlate='" + vehiclePlate + '\'' + | |
| 317 | + ", alarmId='" + alarmId + '\'' + | |
| 318 | + ", type=" + type + | |
| 319 | + ", level=" + level + | |
| 320 | + ", fatigueDegree=" + fatigueDegree + | |
| 321 | + ", reserves=" + reserves + | |
| 322 | + ", speed=" + speed + | |
| 323 | + ", altitude=" + altitude + | |
| 324 | + ", latitude=" + latitude + | |
| 325 | + ", longitude=" + longitude + | |
| 326 | + ", alarmTimeBegin=" + alarmTimeBegin + | |
| 327 | + ", alarmTimeEnd=" + alarmTimeEnd + | |
| 328 | + ", statusBit=" + statusBit + | |
| 329 | + ", paths=" + paths + | |
| 330 | + '}'; | |
| 331 | + } | |
| 332 | +} | |
| 0 | 333 | \ No newline at end of file | ... | ... |
src/main/java/com/bsth/message/entity/AlarmVo.java
0 → 100644
src/main/java/com/bsth/message/handler/MessageHandler.java renamed to src/main/java/com/bsth/message/handler/KafkaMessageHandler.java
| 1 | 1 | package com.bsth.message.handler; |
| 2 | 2 | |
| 3 | +import com.bsth.data.gpsdata_v2.GpsRealData; | |
| 3 | 4 | import com.bsth.message.buffer.CarEnergyBuffer; |
| 4 | -import com.bsth.message.entity.CarEnergy; | |
| 5 | -import com.bsth.message.entity.CarErrorStop; | |
| 6 | -import com.bsth.message.entity.InoutPark; | |
| 5 | +import com.bsth.message.entity.*; | |
| 7 | 6 | import com.bsth.websocket.handler.SendUtils; |
| 8 | 7 | import com.fasterxml.jackson.databind.ObjectMapper; |
| 9 | 8 | import org.springframework.beans.factory.annotation.Autowired; |
| ... | ... | @@ -20,7 +19,7 @@ import java.util.List; |
| 20 | 19 | */ |
| 21 | 20 | @Component |
| 22 | 21 | @ConditionalOnProperty("kafka.use") |
| 23 | -public class MessageHandler { | |
| 22 | +public class KafkaMessageHandler { | |
| 24 | 23 | |
| 25 | 24 | @Autowired |
| 26 | 25 | private SendUtils sendUtils; |
| ... | ... | @@ -28,6 +27,9 @@ public class MessageHandler { |
| 28 | 27 | @Autowired |
| 29 | 28 | private ObjectMapper mapper; |
| 30 | 29 | |
| 30 | + @Autowired | |
| 31 | + GpsRealData gpsRealData; | |
| 32 | + | |
| 31 | 33 | @KafkaListener(topics="schedule-main-carerrorstop") |
| 32 | 34 | public void receivedCarErrorStop(Message<String> message) { |
| 33 | 35 | try { | ... | ... |
src/main/java/com/bsth/message/handler/RabbitMessageHandler.java
0 → 100644
| 1 | +package com.bsth.message.handler; | |
| 2 | + | |
| 3 | +import com.bsth.config.RabbitConfig; | |
| 4 | +import com.bsth.data.alarm.AlarmCenter; | |
| 5 | +import com.bsth.data.gpsdata_v2.GpsRealData; | |
| 6 | +import com.bsth.data.gpsdata_v2.entity.GpsEntity; | |
| 7 | +import com.bsth.message.entity.*; | |
| 8 | +import com.fasterxml.jackson.databind.ObjectMapper; | |
| 9 | +import org.slf4j.Logger; | |
| 10 | +import org.slf4j.LoggerFactory; | |
| 11 | +import org.springframework.amqp.rabbit.annotation.RabbitHandler; | |
| 12 | +import org.springframework.amqp.rabbit.annotation.RabbitListener; | |
| 13 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 14 | +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; | |
| 15 | +import org.springframework.stereotype.Component; | |
| 16 | + | |
| 17 | +import java.util.HashMap; | |
| 18 | +import java.util.Map; | |
| 19 | + | |
| 20 | +/** | |
| 21 | + * @author Hill | |
| 22 | + */ | |
| 23 | +@Component | |
| 24 | +@ConditionalOnProperty("rabbit.use") | |
| 25 | +public class RabbitMessageHandler { | |
| 26 | + | |
| 27 | + private final static Logger log = LoggerFactory.getLogger(RabbitMessageHandler.class); | |
| 28 | + | |
| 29 | + @Autowired | |
| 30 | + private ObjectMapper mapper; | |
| 31 | + | |
| 32 | + @Autowired | |
| 33 | + GpsRealData gpsRealData; | |
| 34 | + | |
| 35 | + @RabbitHandler | |
| 36 | + @RabbitListener(queues = RabbitConfig.QUEUE_ALARM_SCHEDULE) | |
| 37 | + public void onAlarmScheduleMessage(String message) { | |
| 38 | + try { | |
| 39 | + AlarmVo alarmVo = null; | |
| 40 | + Map<String, Object> data = mapper.readValue(message, mapper.getTypeFactory().constructMapType(HashMap.class, String.class, Object.class)); | |
| 41 | + if ("dsm".equals(data.get("alarmType"))) { | |
| 42 | + alarmVo = mapper.readValue(message, AlarmDSMVo.class); | |
| 43 | + } else if ("adas".equals(data.get("alarmType"))) { | |
| 44 | + alarmVo = mapper.readValue(message, AlarmADASVo.class); | |
| 45 | + } else if ("over-speed".equals(data.get("alarmType"))) { | |
| 46 | + alarmVo = mapper.readValue(message, AlarmDSMVo.class); | |
| 47 | + ((AlarmDSMVo)alarmVo).setType(17); | |
| 48 | + } | |
| 49 | + if (alarmVo != null) { | |
| 50 | + if (alarmVo.getVehicleCode() == null) { | |
| 51 | + log.warn("报警未匹配到车辆,alarmVo: {}", alarmVo); | |
| 52 | + return; | |
| 53 | + } | |
| 54 | + GpsEntity gps = gpsRealData.getByNbbm(alarmVo.getVehicleCode()); | |
| 55 | + if (gps == null || gps.getLineId() == null) { | |
| 56 | + alarmVo.setLineCode("249231"); | |
| 57 | + log.warn("报警未匹配到线路,alarmVo: {}", alarmVo); | |
| 58 | + } else { | |
| 59 | + alarmVo.setLineCode(gps.getLineId()); | |
| 60 | + } | |
| 61 | + AlarmCenter.put(alarmVo); | |
| 62 | + } | |
| 63 | + } catch (Exception e) { | |
| 64 | + log.error("报警监听异常,message: {}", message, e); | |
| 65 | + } | |
| 66 | + } | |
| 67 | +} | ... | ... |
src/main/java/com/bsth/service/alarm/AlarmAdasService.java
0 → 100644
| 1 | +package com.bsth.service.alarm; | |
| 2 | + | |
| 3 | +import com.bsth.message.entity.AlarmADASVo; | |
| 4 | + | |
| 5 | +import java.util.List; | |
| 6 | +import java.util.Map; | |
| 7 | + | |
| 8 | +public interface AlarmAdasService { | |
| 9 | + | |
| 10 | + List<AlarmADASVo> list(Map<String, String> map, int page, int size, String order, int direction); | |
| 11 | +} | ... | ... |
src/main/java/com/bsth/service/alarm/AlarmDsmService.java
0 → 100644
| 1 | +package com.bsth.service.alarm; | |
| 2 | + | |
| 3 | +import com.bsth.message.entity.AlarmDSMVo; | |
| 4 | + | |
| 5 | +import java.util.List; | |
| 6 | +import java.util.Map; | |
| 7 | + | |
| 8 | +public interface AlarmDsmService { | |
| 9 | + | |
| 10 | + List<AlarmDSMVo> list(Map<String, String> map, int page, int size, String order, int direction); | |
| 11 | +} | ... | ... |
src/main/java/com/bsth/service/alarm/impl/AlarmAdasServiceImpl.java
0 → 100644
| 1 | +package com.bsth.service.alarm.impl; | |
| 2 | + | |
| 3 | +import com.bsth.data.alarm.AlarmCenter; | |
| 4 | +import com.bsth.message.entity.AlarmADASVo; | |
| 5 | +import com.bsth.service.alarm.AlarmAdasService; | |
| 6 | +import com.fasterxml.jackson.databind.ObjectMapper; | |
| 7 | +import org.springframework.stereotype.Service; | |
| 8 | +import org.springframework.util.StringUtils; | |
| 9 | + | |
| 10 | +import java.lang.reflect.Field; | |
| 11 | +import java.util.ArrayList; | |
| 12 | +import java.util.List; | |
| 13 | +import java.util.Map; | |
| 14 | + | |
| 15 | +@Service | |
| 16 | +public class AlarmAdasServiceImpl implements AlarmAdasService { | |
| 17 | + @Override | |
| 18 | + public List<AlarmADASVo> list(Map<String, String> map, int page, int size, String order, int direction) { | |
| 19 | + List<AlarmADASVo> alarmAdasVoList = new ArrayList<>(); | |
| 20 | + for (AlarmADASVo alarmADASVo : AlarmCenter.findAllAdas()) { | |
| 21 | + try { | |
| 22 | + if (filter(alarmADASVo, map)) { | |
| 23 | + alarmAdasVoList.add(alarmADASVo); | |
| 24 | + } | |
| 25 | + } catch (NoSuchFieldException e) { | |
| 26 | + throw new RuntimeException(e); | |
| 27 | + } catch (IllegalAccessException e) { | |
| 28 | + throw new RuntimeException(e); | |
| 29 | + } | |
| 30 | + } | |
| 31 | + | |
| 32 | + return alarmAdasVoList; | |
| 33 | + } | |
| 34 | + | |
| 35 | + private boolean filter(Object obj, Map<String, String> param) throws NoSuchFieldException, IllegalAccessException { | |
| 36 | + boolean result = true; | |
| 37 | + ObjectMapper mapper = new ObjectMapper(); | |
| 38 | + if (param.get("lines") != null) { | |
| 39 | + AlarmADASVo alarmADASVo = (AlarmADASVo) obj; | |
| 40 | + if (param.get("lines").toString().indexOf(String.format("%s,", alarmADASVo.getLineCode())) < 0) { | |
| 41 | + return false; | |
| 42 | + } | |
| 43 | + | |
| 44 | + AlarmADASVo other = mapper.convertValue(param, AlarmADASVo.class); | |
| 45 | + Field[] fields = obj.getClass().getDeclaredFields(); | |
| 46 | + for (Map.Entry<String, String> entry : param.entrySet()) { | |
| 47 | + String key = entry.getKey(), val = entry.getValue(); | |
| 48 | + if (StringUtils.isEmpty(val)) { | |
| 49 | + continue; | |
| 50 | + } | |
| 51 | + | |
| 52 | + for (Field field : fields) { | |
| 53 | + if (field.getName().equals(key)) { | |
| 54 | + field.setAccessible(true); | |
| 55 | + Object fv1 = field.get(obj), fv2 = field.get(other); | |
| 56 | + if (!fv2.equals(fv1)) { | |
| 57 | + return false; | |
| 58 | + } | |
| 59 | + } | |
| 60 | + } | |
| 61 | + } | |
| 62 | + } else { | |
| 63 | + result = false; | |
| 64 | + } | |
| 65 | + | |
| 66 | + return result; | |
| 67 | + } | |
| 68 | +} | ... | ... |
src/main/java/com/bsth/service/alarm/impl/AlarmDsmServiceImpl.java
0 → 100644
| 1 | +package com.bsth.service.alarm.impl; | |
| 2 | + | |
| 3 | +import com.bsth.data.alarm.AlarmCenter; | |
| 4 | +import com.bsth.message.entity.AlarmADASVo; | |
| 5 | +import com.bsth.message.entity.AlarmDSMVo; | |
| 6 | +import com.bsth.service.alarm.AlarmDsmService; | |
| 7 | +import com.fasterxml.jackson.databind.ObjectMapper; | |
| 8 | +import org.springframework.stereotype.Service; | |
| 9 | +import org.springframework.util.StringUtils; | |
| 10 | + | |
| 11 | +import java.lang.reflect.Field; | |
| 12 | +import java.util.*; | |
| 13 | + | |
| 14 | +@Service | |
| 15 | +public class AlarmDsmServiceImpl implements AlarmDsmService { | |
| 16 | + @Override | |
| 17 | + public List<AlarmDSMVo> list(Map<String, String> map, int page, int size, String order, int direction) { | |
| 18 | + List<AlarmDSMVo> alarmDSMVoList = new ArrayList<>(); | |
| 19 | + for (AlarmDSMVo alarmDSMVo : AlarmCenter.findAllDsm()) { | |
| 20 | + try { | |
| 21 | + if (filter(alarmDSMVo, map)) { | |
| 22 | + alarmDSMVoList.add(alarmDSMVo); | |
| 23 | + } | |
| 24 | + } catch (NoSuchFieldException e) { | |
| 25 | + throw new RuntimeException(e); | |
| 26 | + } catch (IllegalAccessException e) { | |
| 27 | + throw new RuntimeException(e); | |
| 28 | + } | |
| 29 | + } | |
| 30 | + | |
| 31 | + return alarmDSMVoList; | |
| 32 | + } | |
| 33 | + | |
| 34 | + private boolean filter(Object obj, Map<String, String> param) throws NoSuchFieldException, IllegalAccessException { | |
| 35 | + boolean result = true; | |
| 36 | + ObjectMapper mapper = new ObjectMapper(); | |
| 37 | + if (param.get("lines") != null) { | |
| 38 | + AlarmDSMVo alarmDSMVo = (AlarmDSMVo) obj; | |
| 39 | + if (param.get("lines").toString().indexOf(String.format("%s,", alarmDSMVo.getLineCode())) < 0) { | |
| 40 | + return false; | |
| 41 | + } | |
| 42 | + } | |
| 43 | + | |
| 44 | + AlarmDSMVo other = mapper.convertValue(param, AlarmDSMVo.class); | |
| 45 | + Field[] fields = obj.getClass().getDeclaredFields(); | |
| 46 | + for (Map.Entry<String, String> entry : param.entrySet()) { | |
| 47 | + String key = entry.getKey(), val = entry.getValue(); | |
| 48 | + if (StringUtils.isEmpty(val)) { | |
| 49 | + continue; | |
| 50 | + } | |
| 51 | + | |
| 52 | + for (Field field : fields) { | |
| 53 | + if (field.getName().equals(key)) { | |
| 54 | + field.setAccessible(true); | |
| 55 | + Object fv1 = field.get(obj), fv2 = field.get(other); | |
| 56 | + if (!fv2.equals(fv1)) { | |
| 57 | + return false; | |
| 58 | + } | |
| 59 | + } | |
| 60 | + } | |
| 61 | + } | |
| 62 | + | |
| 63 | + return result; | |
| 64 | + } | |
| 65 | +} | ... | ... |
src/main/java/com/bsth/service/gps/GpsServiceImpl.java
| ... | ... | @@ -559,6 +559,22 @@ public class GpsServiceImpl implements GpsService { |
| 559 | 559 | public Map<String, ArrivalEntity> findArrivalByTs(Long st, Long et, List<DeviceChange> dcs) { |
| 560 | 560 | Map<String, ArrivalEntity> map = new HashMap<>(); |
| 561 | 561 | |
| 562 | + List<ArrivalEntity> list = findArrivalListByTs(st, et, dcs); | |
| 563 | + | |
| 564 | + String stationName, prefix; | |
| 565 | + for(ArrivalEntity arr : list){ | |
| 566 | + prefix = arr.getLineCode() + "_" + arr.getUpDown() + "_"; | |
| 567 | + stationName = BasicData.getStationNameByCode(arr.getStopNo(), prefix); | |
| 568 | + | |
| 569 | + arr.setStopName(stationName); | |
| 570 | + | |
| 571 | + // 反转进出状态 | |
| 572 | + map.put(arr.getDeviceId() + "_" + arr.getTs(), arr); | |
| 573 | + } | |
| 574 | + return map; | |
| 575 | + } | |
| 576 | + | |
| 577 | + private List<ArrivalEntity> findArrivalListByTs(Long st, Long et, List<DeviceChange> dcs) { | |
| 562 | 578 | // weeks_year 分区字段 |
| 563 | 579 | Calendar sCal = Calendar.getInstance(); |
| 564 | 580 | sCal.setTime(new Date(st)); |
| ... | ... | @@ -591,21 +607,10 @@ public class GpsServiceImpl implements GpsService { |
| 591 | 607 | sql.append(" UNION "); |
| 592 | 608 | } |
| 593 | 609 | |
| 594 | - logger.info("arrivl sql : " + sql.toString()); | |
| 610 | + logger.info("arrival sql : " + sql.toString()); | |
| 595 | 611 | JdbcTemplate jdbcTemplate_ms = new JdbcTemplate(DBUtils_MS.getDataSource()); |
| 596 | - List<ArrivalEntity> list = jdbcTemplate_ms.query(sql.toString(), BeanPropertyRowMapper.newInstance(ArrivalEntity.class)); | |
| 597 | - | |
| 598 | - String stationName, prefix; | |
| 599 | - for(ArrivalEntity arr : list){ | |
| 600 | - prefix = arr.getLineCode() + "_" + arr.getUpDown() + "_"; | |
| 601 | - stationName = BasicData.getStationNameByCode(arr.getStopNo(), prefix); | |
| 602 | 612 | |
| 603 | - arr.setStopName(stationName); | |
| 604 | - | |
| 605 | - // 反转进出状态 | |
| 606 | - map.put(arr.getDeviceId() + "_" + arr.getTs(), arr); | |
| 607 | - } | |
| 608 | - return map; | |
| 613 | + return jdbcTemplate_ms.query(sql.toString(), BeanPropertyRowMapper.newInstance(ArrivalEntity.class)); | |
| 609 | 614 | } |
| 610 | 615 | |
| 611 | 616 | |
| ... | ... | @@ -1074,7 +1079,55 @@ public class GpsServiceImpl implements GpsService { |
| 1074 | 1079 | |
| 1075 | 1080 | @Override |
| 1076 | 1081 | public void arrivalExcel(String nbbm, long st, long et, HttpServletResponse resp) { |
| 1082 | + st = st * 1000; | |
| 1083 | + et = et * 1000; | |
| 1084 | + List<DeviceChange> dcs = findDeviceChangeLogs(nbbm, et, st); | |
| 1085 | + // 查询到离站数据 | |
| 1086 | + List<ArrivalEntity> list = findArrivalListByTs(st, et, dcs); | |
| 1077 | 1087 | |
| 1088 | + //创建excel工作簿 | |
| 1089 | + Workbook wb = new HSSFWorkbook(); | |
| 1090 | + Sheet sheet = wb.createSheet("到离站信息"); | |
| 1091 | + //表头 | |
| 1092 | + Row row = sheet.createRow(0); | |
| 1093 | + row.setHeight((short) (1.5 * 256)); | |
| 1094 | + row.createCell(0).setCellValue("序号"); | |
| 1095 | + row.createCell(1).setCellValue("车辆"); | |
| 1096 | + row.createCell(2).setCellValue("牌照号"); | |
| 1097 | + row.createCell(3).setCellValue("站名"); | |
| 1098 | + row.createCell(4).setCellValue("时间"); | |
| 1099 | + row.createCell(5).setCellValue("进/出站"); | |
| 1100 | + //数据 | |
| 1101 | + DateTimeFormatter fmtHHmmss = DateTimeFormat.forPattern("HH:mm.ss"), fmt = DateTimeFormat.forPattern("yyyyMMddHHmm"); | |
| 1102 | + ArrivalEntity arrival; | |
| 1103 | + String prefix, stationName; | |
| 1104 | + for(int i = 0; i < list.size(); i ++){ | |
| 1105 | + arrival = list.get(i); | |
| 1106 | + prefix = arrival.getLineCode() + "_" + arrival.getUpDown() + "_"; | |
| 1107 | + stationName = BasicData.getStationNameByCode(arrival.getStopNo(), prefix); | |
| 1108 | + row = sheet.createRow(i + 1); | |
| 1109 | + row.createCell(0).setCellValue(i + 1); | |
| 1110 | + row.createCell(1).setCellValue(nbbm); | |
| 1111 | + row.createCell(2).setCellValue(BasicData.nbbmCompanyPlateMap.get(nbbm)); | |
| 1112 | + row.createCell(3).setCellValue(stationName); | |
| 1113 | + row.createCell(4).setCellValue(fmtHHmmss.print(arrival.getTs())); | |
| 1114 | + row.createCell(5).setCellValue(arrival.getInOut() == 0 ? "进站" : "出站"); | |
| 1115 | + } | |
| 1116 | + | |
| 1117 | + String filename = nbbm + "到离站数据" + fmt.print(st) + "至" + fmt.print(et) + ".xls"; | |
| 1118 | + try { | |
| 1119 | + resp.setContentType("application/x-msdownload"); | |
| 1120 | + resp.addHeader("content-disposition", "attachment;filename=" + URLEncoder.encode(filename, "UTF-8")); | |
| 1121 | + | |
| 1122 | + OutputStream out=resp.getOutputStream(); | |
| 1123 | + wb.write(out); | |
| 1124 | + out.flush(); | |
| 1125 | + out.close(); | |
| 1126 | + } catch (UnsupportedEncodingException e) { | |
| 1127 | + logger.error("", e); | |
| 1128 | + } catch (IOException e) { | |
| 1129 | + logger.error("", e); | |
| 1130 | + } | |
| 1078 | 1131 | } |
| 1079 | 1132 | |
| 1080 | 1133 | @Override | ... | ... |
src/main/java/com/bsth/service/impl/StationRouteServiceImpl.java
| ... | ... | @@ -710,6 +710,9 @@ public class StationRouteServiceImpl extends BaseServiceImpl<StationRoute, Integ |
| 710 | 710 | String sleepStr = ""; |
| 711 | 711 | // 方向 |
| 712 | 712 | int directions = objects.get(i)[8]==null ? null : Integer.valueOf(objects.get(i)[8].toString()); |
| 713 | + if (directions == 1) { | |
| 714 | + stationName = stationName.replaceAll("\\(起点站\\)", "").replaceAll("\\(终点站\\)", "").replaceAll("(起点站)", "").replaceAll("(终点站)", ""); | |
| 715 | + } | |
| 713 | 716 | /** 获取路段路由信息 @pararm:<lineId:线路ID;directions:方向> */ |
| 714 | 717 | List<Object[]> sobje = sectionRouteRepository.sectionRouteVector(lineId,directions); |
| 715 | 718 | if(sobje.size()==1) { |
| ... | ... | @@ -799,6 +802,9 @@ public class StationRouteServiceImpl extends BaseServiceImpl<StationRoute, Integ |
| 799 | 802 | String sleepStr = ""; |
| 800 | 803 | // 方向 |
| 801 | 804 | int directions = objects.get(i)[8]==null ? null : Integer.valueOf(objects.get(i)[8].toString()); |
| 805 | + if (directions == 1) { | |
| 806 | + stationName = stationName.replaceAll("\\(起点站\\)", "").replaceAll("\\(终点站\\)", "").replaceAll("(起点站)", "").replaceAll("(终点站)", ""); | |
| 807 | + } | |
| 802 | 808 | /** 获取路段路由信息 @pararm:<lineId:线路ID;directions:方向> */ |
| 803 | 809 | List<Object[]> sobje = sectionRouteRepository.sectionRouteVector(lineId,directions); |
| 804 | 810 | if(sobje.size()==1) { | ... | ... |
src/main/java/com/bsth/service/publish/InfoPublishService.java
0 → 100644
src/main/java/com/bsth/service/publish/impl/InfoPublishServiceImpl.java
0 → 100644
| 1 | +package com.bsth.service.publish.impl; | |
| 2 | + | |
| 3 | +import com.bsth.entity.publish.ScanStatictic; | |
| 4 | +import com.bsth.service.publish.InfoPublishService; | |
| 5 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 6 | +import org.springframework.beans.factory.annotation.Qualifier; | |
| 7 | +import org.springframework.jdbc.core.BeanPropertyRowMapper; | |
| 8 | +import org.springframework.jdbc.core.JdbcTemplate; | |
| 9 | +import org.springframework.stereotype.Service; | |
| 10 | +import org.springframework.util.StringUtils; | |
| 11 | + | |
| 12 | +import java.util.*; | |
| 13 | + | |
| 14 | +@Service | |
| 15 | +public class InfoPublishServiceImpl implements InfoPublishService { | |
| 16 | + | |
| 17 | + @Autowired | |
| 18 | + @Qualifier("infoPublishJdbcTemplate") | |
| 19 | + private JdbcTemplate infoPublishJdbcTemplate; | |
| 20 | + | |
| 21 | + @Override | |
| 22 | + public Map<String, Object> list(Map<String, String> map, int page, int size, String order, int direction) { | |
| 23 | + Map<String, Object> result = new HashMap<>(); | |
| 24 | + StringBuilder query = new StringBuilder("SELECT ? rq, physicalCode physical_code, stationName station_name,count(1) `count` FROM bsth_h_scan where 1 = 1"); | |
| 25 | + List<Object> params = new ArrayList<>(); | |
| 26 | + params.add(map.get("rq")); | |
| 27 | + for (Map.Entry<String, String> entry : map.entrySet()) { | |
| 28 | + String key = entry.getKey(), value = entry.getValue(); | |
| 29 | + if (StringUtils.isEmpty(key) || ",page,size,order,direction,".indexOf(String.format(",%s,", key)) > -1) { | |
| 30 | + continue; | |
| 31 | + } | |
| 32 | + if ("rq".equals(key)) { | |
| 33 | + query.append(" and rq between ? and ?"); | |
| 34 | + String[] rqs = value.split("-"); | |
| 35 | + if (rqs.length != 2) { | |
| 36 | + throw new RuntimeException("异常的起止日期"); | |
| 37 | + } | |
| 38 | + for (String rq : rqs) { | |
| 39 | + params.add(rq); | |
| 40 | + } | |
| 41 | + } else { | |
| 42 | + query.append(" and ").append(key).append(" like concat(?, '%')"); | |
| 43 | + params.add(value); | |
| 44 | + } | |
| 45 | + } | |
| 46 | + query.append(" GROUP BY physicalCode, stationName"); | |
| 47 | + StringBuilder count = new StringBuilder("SELECT COUNT(*) FROM (").append(query).append(") t"); | |
| 48 | + Integer total = infoPublishJdbcTemplate.queryForObject(count.toString(), params.toArray(), Integer.class); | |
| 49 | + query.append(" ORDER BY physicalCode LIMIT ").append(page * size).append(",").append(size); | |
| 50 | + List<ScanStatictic> data = infoPublishJdbcTemplate.query(query.toString(), params.toArray(), BeanPropertyRowMapper.newInstance(ScanStatictic.class)); | |
| 51 | + result.put("list", data); | |
| 52 | + result.put("totalPages", total % size == 0 ? total / size - 1 : total / size); | |
| 53 | + | |
| 54 | + return result; | |
| 55 | + } | |
| 56 | + | |
| 57 | + @Override | |
| 58 | + public Map<String, Object> export(Map<String, String> map) { | |
| 59 | + Map<String, Object> result = new HashMap<>(); | |
| 60 | + StringBuilder query = new StringBuilder("SELECT ? rq, physicalCode, stationName,count(1) `count` FROM bsth_h_scan where 1 = 1"); | |
| 61 | + List<Object> params = new ArrayList<>(); | |
| 62 | + params.add(map.get("rq")); | |
| 63 | + for (Map.Entry<String, String> entry : map.entrySet()) { | |
| 64 | + String key = entry.getKey(), value = entry.getValue(); | |
| 65 | + if ("rq".equals(key)) { | |
| 66 | + query.append(" and rq between ? and ?"); | |
| 67 | + String[] rqs = value.split("-"); | |
| 68 | + if (rqs.length != 2) { | |
| 69 | + throw new RuntimeException("异常的起止日期"); | |
| 70 | + } | |
| 71 | + for (String rq : rqs) { | |
| 72 | + params.add(rq); | |
| 73 | + } | |
| 74 | + } else { | |
| 75 | + query.append(" and ").append(key).append(" like concat(?, '%')"); | |
| 76 | + params.add(value); | |
| 77 | + } | |
| 78 | + } | |
| 79 | + query.append(" GROUP BY physicalCode, stationName"); | |
| 80 | + query.append(" ORDER BY physicalCode"); | |
| 81 | + List<Iterator<?>> iterators = new ArrayList<>(); | |
| 82 | + iterators.add(infoPublishJdbcTemplate.queryForList(query.toString(), params.toArray()).iterator()); | |
| 83 | + result.put("list", iterators); | |
| 84 | + | |
| 85 | + return result; | |
| 86 | + } | |
| 87 | +} | ... | ... |
src/main/java/com/bsth/service/realcontrol/impl/DataManagerServiceImpl.java
| 1 | -package com.bsth.service.realcontrol.impl; | |
| 2 | - | |
| 3 | -import com.alibaba.fastjson.JSONArray; | |
| 4 | -import com.alibaba.fastjson.JSONObject; | |
| 5 | -import com.bsth.common.ResponseCode; | |
| 6 | -import com.bsth.data.BasicData; | |
| 7 | -import com.bsth.entity.Cars; | |
| 8 | -import com.bsth.repository.CarsRepository; | |
| 9 | -import com.bsth.service.realcontrol.DataManagerService; | |
| 10 | -import com.bsth.util.db.DBUtils_oldSystem; | |
| 11 | -import org.slf4j.Logger; | |
| 12 | -import org.slf4j.LoggerFactory; | |
| 13 | -import org.springframework.beans.factory.annotation.Autowired; | |
| 14 | -import org.springframework.jdbc.core.JdbcTemplate; | |
| 15 | -import org.springframework.stereotype.Service; | |
| 16 | - | |
| 17 | -import java.util.ArrayList; | |
| 18 | -import java.util.HashMap; | |
| 19 | -import java.util.List; | |
| 20 | -import java.util.Map; | |
| 21 | - | |
| 22 | -/** | |
| 23 | - * Created by panzhao on 2017/4/18. | |
| 24 | - */ | |
| 25 | -@Service | |
| 26 | -public class DataManagerServiceImpl implements DataManagerService{ | |
| 27 | - | |
| 28 | - @Autowired | |
| 29 | - CarsRepository carsRepository; | |
| 30 | - | |
| 31 | - @Autowired | |
| 32 | - JdbcTemplate controlJdbcTemp; | |
| 33 | - | |
| 34 | - @Autowired | |
| 35 | - BasicData.BasicDataLoader dataLoader; | |
| 36 | - | |
| 37 | - Logger logger = LoggerFactory.getLogger(this.getClass()); | |
| 38 | - | |
| 39 | - @Override | |
| 40 | - public Map<String, Object> carInfos(Integer lineId) { | |
| 41 | - | |
| 42 | - Map<String, Object> rs = new HashMap<>(); | |
| 43 | - try { | |
| 44 | - List<Map<String, String>> nowData = new ArrayList<>(); | |
| 45 | - List<Map<String, String>> oldData = new ArrayList<>(); | |
| 46 | - Map<String, String> map; | |
| 47 | - | |
| 48 | - //查询新系统车辆信息 | |
| 49 | - List<Cars> list = carsRepository.findCarsByLineId(lineId); | |
| 50 | - for(Cars c : list){ | |
| 51 | - map = new HashMap<>(); | |
| 52 | - map.put("nbbm", c.getInsideCode()); | |
| 53 | - map.put("device", c.getEquipmentCode()); | |
| 54 | - nowData.add(map); | |
| 55 | - } | |
| 56 | - | |
| 57 | - //获取老系统数据 | |
| 58 | - JdbcTemplate jdbcTemplate = new JdbcTemplate(DBUtils_oldSystem.getDataSource()); | |
| 59 | - List<Map<String, Object>> oyList = jdbcTemplate.queryForList("select NBBM,SBBH from JJWGPS_T_CLXXB t where xlbm=?", BasicData.lineId2CodeMap.get(lineId)); | |
| 60 | - for(Map<String, Object> tempMap : oyList){ | |
| 61 | - map = new HashMap<>(); | |
| 62 | - map.put("nbbm", tempMap.get("NBBM").toString()); | |
| 63 | - map.put("device", tempMap.get("SBBH").toString()); | |
| 64 | - oldData.add(map); | |
| 65 | - } | |
| 66 | - | |
| 67 | - rs.put("status", ResponseCode.SUCCESS); | |
| 68 | - rs.put("nows", nowData); | |
| 69 | - rs.put("olds", oldData); | |
| 70 | - }catch (Exception e){ | |
| 71 | - logger.error("", e); | |
| 72 | - rs.put("status", ResponseCode.ERROR); | |
| 73 | - rs.put("msg", e.getMessage()); | |
| 74 | - } | |
| 75 | - | |
| 76 | - return rs; | |
| 77 | - } | |
| 78 | - | |
| 79 | - /** | |
| 80 | - * 更新设备号 | |
| 81 | - * @param jsonStr | |
| 82 | - * @return | |
| 83 | - */ | |
| 84 | - @Override | |
| 85 | - public Map<String, Object> updateDevices(String jsonStr) { | |
| 86 | - Map<String, Object> rs = new HashMap<>(); | |
| 87 | - try { | |
| 88 | - int count=0; | |
| 89 | - JSONArray array = JSONArray.parseArray(jsonStr); | |
| 90 | - JSONObject jObj; | |
| 91 | - for(int i = 0; i < array.size(); i ++){ | |
| 92 | - jObj = array.getJSONObject(i); | |
| 93 | - count += controlJdbcTemp.update("update bsth_c_cars set equipment_code=? where inside_code=?" | |
| 94 | - , jObj.getString("device"), jObj.getString("nbbm")); | |
| 95 | - } | |
| 96 | - | |
| 97 | - //刷新缓存 | |
| 98 | - dataLoader.loadDeviceInfo(); | |
| 99 | - rs.put("status", ResponseCode.SUCCESS); | |
| 100 | - rs.put("count", count); | |
| 101 | - }catch (Exception e){ | |
| 102 | - logger.error("", e); | |
| 103 | - rs.put("status", ResponseCode.ERROR); | |
| 104 | - rs.put("msg", e.getMessage()); | |
| 105 | - } | |
| 106 | - return rs; | |
| 107 | - } | |
| 108 | -} | |
| 1 | +package com.bsth.service.realcontrol.impl; | |
| 2 | + | |
| 3 | +import com.alibaba.fastjson.JSONArray; | |
| 4 | +import com.alibaba.fastjson.JSONObject; | |
| 5 | +import com.bsth.common.ResponseCode; | |
| 6 | +import com.bsth.data.BasicData; | |
| 7 | +import com.bsth.entity.Cars; | |
| 8 | +import com.bsth.repository.CarsRepository; | |
| 9 | +import com.bsth.service.realcontrol.DataManagerService; | |
| 10 | +import com.bsth.util.db.DBUtils_oldSystem; | |
| 11 | +import org.slf4j.Logger; | |
| 12 | +import org.slf4j.LoggerFactory; | |
| 13 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 14 | +import org.springframework.jdbc.core.JdbcTemplate; | |
| 15 | +import org.springframework.stereotype.Service; | |
| 16 | + | |
| 17 | +import java.util.ArrayList; | |
| 18 | +import java.util.HashMap; | |
| 19 | +import java.util.List; | |
| 20 | +import java.util.Map; | |
| 21 | + | |
| 22 | +/** | |
| 23 | + * Created by panzhao on 2017/4/18. | |
| 24 | + */ | |
| 25 | +//@Service | |
| 26 | +public class DataManagerServiceImpl implements DataManagerService{ | |
| 27 | + | |
| 28 | + @Autowired | |
| 29 | + CarsRepository carsRepository; | |
| 30 | + | |
| 31 | + @Autowired | |
| 32 | + JdbcTemplate controlJdbcTemp; | |
| 33 | + | |
| 34 | + @Autowired | |
| 35 | + BasicData.BasicDataLoader dataLoader; | |
| 36 | + | |
| 37 | + Logger logger = LoggerFactory.getLogger(this.getClass()); | |
| 38 | + | |
| 39 | + @Override | |
| 40 | + public Map<String, Object> carInfos(Integer lineId) { | |
| 41 | + | |
| 42 | + Map<String, Object> rs = new HashMap<>(); | |
| 43 | + try { | |
| 44 | + List<Map<String, String>> nowData = new ArrayList<>(); | |
| 45 | + List<Map<String, String>> oldData = new ArrayList<>(); | |
| 46 | + Map<String, String> map; | |
| 47 | + | |
| 48 | + //查询新系统车辆信息 | |
| 49 | + List<Cars> list = carsRepository.findCarsByLineId(lineId); | |
| 50 | + for(Cars c : list){ | |
| 51 | + map = new HashMap<>(); | |
| 52 | + map.put("nbbm", c.getInsideCode()); | |
| 53 | + map.put("device", c.getEquipmentCode()); | |
| 54 | + nowData.add(map); | |
| 55 | + } | |
| 56 | + | |
| 57 | + //获取老系统数据 | |
| 58 | + JdbcTemplate jdbcTemplate = new JdbcTemplate(DBUtils_oldSystem.getDataSource()); | |
| 59 | + List<Map<String, Object>> oyList = jdbcTemplate.queryForList("select NBBM,SBBH from JJWGPS_T_CLXXB t where xlbm=?", BasicData.lineId2CodeMap.get(lineId)); | |
| 60 | + for(Map<String, Object> tempMap : oyList){ | |
| 61 | + map = new HashMap<>(); | |
| 62 | + map.put("nbbm", tempMap.get("NBBM").toString()); | |
| 63 | + map.put("device", tempMap.get("SBBH").toString()); | |
| 64 | + oldData.add(map); | |
| 65 | + } | |
| 66 | + | |
| 67 | + rs.put("status", ResponseCode.SUCCESS); | |
| 68 | + rs.put("nows", nowData); | |
| 69 | + rs.put("olds", oldData); | |
| 70 | + }catch (Exception e){ | |
| 71 | + logger.error("", e); | |
| 72 | + rs.put("status", ResponseCode.ERROR); | |
| 73 | + rs.put("msg", e.getMessage()); | |
| 74 | + } | |
| 75 | + | |
| 76 | + return rs; | |
| 77 | + } | |
| 78 | + | |
| 79 | + /** | |
| 80 | + * 更新设备号 | |
| 81 | + * @param jsonStr | |
| 82 | + * @return | |
| 83 | + */ | |
| 84 | + @Override | |
| 85 | + public Map<String, Object> updateDevices(String jsonStr) { | |
| 86 | + Map<String, Object> rs = new HashMap<>(); | |
| 87 | + try { | |
| 88 | + int count=0; | |
| 89 | + JSONArray array = JSONArray.parseArray(jsonStr); | |
| 90 | + JSONObject jObj; | |
| 91 | + for(int i = 0; i < array.size(); i ++){ | |
| 92 | + jObj = array.getJSONObject(i); | |
| 93 | + count += controlJdbcTemp.update("update bsth_c_cars set equipment_code=? where inside_code=?" | |
| 94 | + , jObj.getString("device"), jObj.getString("nbbm")); | |
| 95 | + } | |
| 96 | + | |
| 97 | + //刷新缓存 | |
| 98 | + dataLoader.loadDeviceInfo(); | |
| 99 | + rs.put("status", ResponseCode.SUCCESS); | |
| 100 | + rs.put("count", count); | |
| 101 | + }catch (Exception e){ | |
| 102 | + logger.error("", e); | |
| 103 | + rs.put("status", ResponseCode.ERROR); | |
| 104 | + rs.put("msg", e.getMessage()); | |
| 105 | + } | |
| 106 | + return rs; | |
| 107 | + } | |
| 108 | +} | ... | ... |
src/main/java/com/bsth/util/HttpClientUtils.java
| ... | ... | @@ -126,8 +126,8 @@ public class HttpClientUtils { |
| 126 | 126 | } |
| 127 | 127 | //超时时间 |
| 128 | 128 | RequestConfig requestConfig = RequestConfig.custom() |
| 129 | - .setConnectTimeout(2500).setConnectionRequestTimeout(2000) | |
| 130 | - .setSocketTimeout(3500).build(); | |
| 129 | + .setConnectTimeout(15000).setConnectionRequestTimeout(15000) | |
| 130 | + .setSocketTimeout(15000).build(); | |
| 131 | 131 | post.setConfig(requestConfig); |
| 132 | 132 | if (data != null) { |
| 133 | 133 | post.setEntity((new StringEntity(data, "UTF-8"))); | ... | ... |