Commit 841c9a3e6066d2b9899c7fb53f2be1a7e37ec37c

Authored by 徐烜
2 parents 8611b6e0 2daaa599

Merge branch 'lggj' of http://192.168.168.245:8888/panzhaov5/bsth_control into lggj

Showing 50 changed files with 2709 additions and 1159 deletions

Too many changes to show.

To preserve performance only 50 of 149 files are displayed.

src/main/java/com/bsth/Application.java
1 1 package com.bsth;
2 2  
3 3 import com.bsth.data.SystemParamCache;
4   -import com.bsth.service.SystemParamService;
5 4 import com.fasterxml.jackson.annotation.JsonInclude;
6 5 import com.fasterxml.jackson.databind.ObjectMapper;
7 6 import com.fasterxml.jackson.databind.SerializationFeature;
... ... @@ -23,7 +22,7 @@ import java.util.concurrent.ScheduledExecutorService;
23 22 @SpringBootApplication
24 23 public class Application extends SpringBootServletInitializer {
25 24  
26   - public static ScheduledExecutorService mainServices = Executors.newScheduledThreadPool(21);
  25 + public static ScheduledExecutorService mainServices = Executors.newScheduledThreadPool(30);
27 26  
28 27 @Autowired
29 28 private SystemParamCache systemParamCache;
... ...
src/main/java/com/bsth/XDApplication.java
... ... @@ -23,6 +23,7 @@ import com.bsth.data.schedule.thread.SchedulePstThread;
23 23 import com.bsth.data.schedule.thread.ScheduleRefreshThread;
24 24 import com.bsth.data.schedule.thread.SubmitToTrafficManage;
25 25 import com.bsth.data.zndd.ZnddThread;
  26 +import com.bsth.data.zndd.ZnddTwoThread;
26 27 import com.bsth.util.DateUtils;
27 28 import com.bsth.util.Tools;
28 29 import org.slf4j.Logger;
... ... @@ -85,6 +86,9 @@ public class XDApplication implements CommandLineRunner {
85 86 FixedEnableVerionsThread fixedEnableVerionsThread;*/
86 87 @Autowired
87 88 ZnddThread znddThread;
  89 +
  90 + @Autowired
  91 + ZnddTwoThread ZnddtwoThread;
88 92 @Autowired
89 93 SafeDrivDataLoadThread safeDrivDataLoadThread;
90 94  
... ... @@ -145,8 +149,9 @@ public class XDApplication implements CommandLineRunner {
145 149 //dayOfSchedule.dataRecovery();
146 150  
147 151 //智能调度
148   - sexec.scheduleWithFixedDelay(znddThread, 15, 25, TimeUnit.SECONDS);
149   -
  152 + sexec.scheduleWithFixedDelay(znddThread, 30, 30, TimeUnit.SECONDS);
  153 + //智能调度
  154 + sexec.scheduleWithFixedDelay(ZnddtwoThread, 30, 60, TimeUnit.SECONDS);
150 155 //安全驾驶
151 156 sexec.scheduleWithFixedDelay(safeDrivDataLoadThread, 180, 10, TimeUnit.SECONDS);
152 157  
... ... @@ -190,10 +195,14 @@ public class XDApplication implements CommandLineRunner {
190 195 public void prodInit(){
191 196 log.info("prodInit...");
192 197 ScheduledExecutorService sexec = Application.mainServices;
  198 +
  199 +
193 200 //安全驾驶
194 201 sexec.scheduleWithFixedDelay(safeDrivDataLoadThread, 180, 10, TimeUnit.SECONDS);
195 202 //智能调度
196   - sexec.scheduleWithFixedDelay(znddThread, 15, 25, TimeUnit.SECONDS);
  203 + sexec.scheduleWithFixedDelay(znddThread, 30, 30, TimeUnit.SECONDS);
  204 + //智能调度
  205 + sexec.scheduleWithFixedDelay(ZnddtwoThread, 30, 60, TimeUnit.SECONDS);
197 206 GpsDataLoaderThread.setFlag(-1);
198 207 /** 线调业务 */
199 208 sexec.scheduleWithFixedDelay(scheduleRefreshThread, 10, 120, TimeUnit.SECONDS);//班次更新线程
... ... @@ -237,8 +246,11 @@ public class XDApplication implements CommandLineRunner {
237 246 ScheduledExecutorService sexec = Application.mainServices;
238 247 //安全驾驶
239 248 sexec.scheduleWithFixedDelay(safeDrivDataLoadThread, 180, 10, TimeUnit.SECONDS);
  249 +
240 250 //智能调度
241   - sexec.scheduleWithFixedDelay(znddThread, 15, 25, TimeUnit.SECONDS);
  251 + sexec.scheduleWithFixedDelay(znddThread, 30, 30, TimeUnit.SECONDS);
  252 + //智能调度
  253 + sexec.scheduleWithFixedDelay(ZnddtwoThread, 30, 60, TimeUnit.SECONDS);
242 254 GpsDataLoaderThread.setFlag(-1);
243 255 //dayOfSchedule.dataRecovery();
244 256 /** 线调业务 */
... ... @@ -260,7 +272,7 @@ public class XDApplication implements CommandLineRunner {
260 272 WebSocketPushQueue.start();//消息队列 -webSocket ,推送至线调web页面的
261 273  
262 274 /** 线调为其他程序提供的数据 --写入数据库 */
263   - sexec.scheduleWithFixedDelay(fcxxUpdateThread, 160, 30, TimeUnit.SECONDS);//发车信息(发车屏、信息发布)
  275 + //sexec.scheduleWithFixedDelay(fcxxUpdateThread, 160, 30, TimeUnit.SECONDS);//发车信息(发车屏、信息发布)
264 276 //线路首末班数据(网关用,班次更新时写入)
265 277 //com.bsth.data.schedule.f_a_l.FirstAndLastHandler
266 278 sexec.scheduleWithFixedDelay(schSiginUpdateDBThread, 160, 60 * 30, TimeUnit.SECONDS);//无法自动完成的班次信息(网关用,补信号)
... ... @@ -284,7 +296,7 @@ public class XDApplication implements CommandLineRunner {
284 296 //安全驾驶
285 297 sexec.scheduleWithFixedDelay(safeDrivDataLoadThread, 180, 10, TimeUnit.SECONDS);
286 298 //智能调度
287   - sexec.scheduleWithFixedDelay(znddThread, 15, 30, TimeUnit.SECONDS);
  299 + sexec.scheduleWithFixedDelay(znddThread, 15, 60, TimeUnit.SECONDS);
288 300  
289 301 GpsDataLoaderThread.setFlag(-1);
290 302 /** 线调业务 */
... ...
src/main/java/com/bsth/controller/lg_travel/RegionConterller.java 0 → 100644
  1 +package com.bsth.controller.lg_travel;
  2 +
  3 +import com.bsth.controller.BaseController;
  4 +import com.bsth.entity.lg_travel.Region;
  5 +import org.springframework.web.bind.annotation.RequestMapping;
  6 +import org.springframework.web.bind.annotation.RestController;
  7 +
  8 +/**
  9 + * 区域
  10 + */
  11 +
  12 +@RestController
  13 +@RequestMapping("region")
  14 +public class RegionConterller extends BaseController<Region, Long> {
  15 +
  16 +
  17 +}
... ...
src/main/java/com/bsth/controller/lg_travel/RegionLineCarConterller.java 0 → 100644
  1 +package com.bsth.controller.lg_travel;
  2 +
  3 +import com.bsth.controller.BaseController;
  4 +import com.bsth.entity.lg_travel.RegionLineCar;
  5 +import org.springframework.web.bind.annotation.RequestMapping;
  6 +import org.springframework.web.bind.annotation.RestController;
  7 +
  8 +/**
  9 + * 区域
  10 + */
  11 +
  12 +@RestController
  13 +@RequestMapping("regionLineCar")
  14 +public class RegionLineCarConterller extends BaseController<RegionLineCar, Long> {
  15 +
  16 +
  17 +}
... ...
src/main/java/com/bsth/controller/oil/JdlController.java
... ... @@ -2,21 +2,22 @@ package com.bsth.controller.oil;
2 2  
3 3 import java.io.File;
4 4 import java.util.HashMap;
  5 +import java.util.List;
5 6 import java.util.Map;
6 7  
  8 +import javax.servlet.http.HttpServletResponse;
  9 +
7 10 import org.springframework.beans.factory.annotation.Autowired;
8 11 import org.springframework.web.bind.annotation.RequestMapping;
9 12 import org.springframework.web.bind.annotation.RequestMethod;
10 13 import org.springframework.web.bind.annotation.RequestParam;
11 14 import org.springframework.web.bind.annotation.RestController;
12 15 import org.springframework.web.multipart.MultipartFile;
13   -import org.springframework.web.servlet.ModelAndView;
14 16  
15   -import com.alibaba.fastjson.JSON;
16   -import com.alibaba.fastjson.JSONArray;
17   -import com.alibaba.fastjson.JSONObject;
18 17 import com.bsth.controller.BaseController;
19 18 import com.bsth.entity.oil.Jdl;
  19 +import com.bsth.entity.oil.JdlConnector;
  20 +import com.bsth.entity.oil.JdlReception;
20 21 import com.bsth.service.oil.JdlService;
21 22 import com.google.common.io.Files;
22 23  
... ... @@ -46,9 +47,87 @@ public class JdlController extends BaseController&lt;Jdl, Integer&gt; {
46 47 return "{\"result\":" + "\""+result+"\"}";
47 48 }
48 49  
  50 + /** 24年12月工单更新电量导入 */
  51 + @RequestMapping(value = "/uploadFile_2412",method = RequestMethod.POST)
  52 + public String uploadFile_2412(MultipartFile file, String gsbm_, String gsName,
  53 + String fgsbm_, String fgsName, String stationName) throws Exception{
  54 + File newFile = new File(
  55 + getDataImportClasspath() + File.separator +
  56 + file.getOriginalFilename());
  57 + Files.write(file.getBytes(), newFile);
  58 +
  59 + String result = jdlService.importExcel_2412(newFile, gsbm_, gsName, fgsbm_, fgsName, stationName);
  60 + return "{\"result\":" + "\""+result+"\"}";
  61 + }
  62 +
49 63 @RequestMapping(value = "/query",method = RequestMethod.GET)
50 64 public Map<String, Object> query(@RequestParam Map<String, Object> map) throws Exception{
51 65 return jdlService.query(map);
52 66 }
53 67  
  68 + @RequestMapping(value = "/query_2412",method = RequestMethod.GET)
  69 + public Map<String, Object> query_2412(@RequestParam Map<String, Object> map) throws Exception{
  70 + return jdlService.query_2412(map);
  71 + }
  72 +
  73 + @RequestMapping(value = "/queryJdlReception",method = RequestMethod.GET)
  74 + public List<JdlReception> queryJdlReception(@RequestParam Map<String, Object> map) throws Exception{
  75 + return jdlService.queryJdlReception(map);
  76 + }
  77 +
  78 + @RequestMapping(value = "/queryJdlReceptionBatch",method = RequestMethod.GET)
  79 + public Map<String, Object> queryJdlReceptionBatch(@RequestParam Map<String, Object> map) throws Exception{
  80 + return jdlService.queryJdlReceptionBatch(map);
  81 + }
  82 +
  83 + @RequestMapping(value = "/queryJdlReceptionBatchData",method = RequestMethod.GET)
  84 + public List<JdlReception> queryJdlReceptionBatchData(@RequestParam Map<String, Object> map) throws Exception{
  85 + return jdlService.queryJdlReceptionBatchData(map);
  86 + }
  87 +
  88 + @RequestMapping(value = "/deleteJdlReceptionBatch",method = RequestMethod.POST)
  89 + public Map<String, Object> deleteJdlReceptionBatch(@RequestParam Map<String, Object> map) throws Exception{
  90 + return jdlService.deleteJdlReceptionBatch(map);
  91 + }
  92 +
  93 + @RequestMapping(value = "/updateJdlReceptionBatch",method = RequestMethod.POST)
  94 + public Map<String, Object> updateJdlReceptionBatch(@RequestParam Map<String, Object> map) throws Exception{
  95 + return jdlService.updateJdlReceptionBatch(map);
  96 + }
  97 +
  98 + @RequestMapping(value = "/downloadJdlReceptionImportFile",method = RequestMethod.GET)
  99 + public void downloadJdlReceptionImportFile(@RequestParam Map<String, Object> map, HttpServletResponse response) throws Exception{
  100 + jdlService.downloadJdlReceptionImportFile(map, response);
  101 + }
  102 +
  103 + @RequestMapping(value = "/queryJdlConnector",method = RequestMethod.GET)
  104 + public List<JdlConnector> queryJdlConnector(@RequestParam Map<String, Object> map) throws Exception{
  105 + return jdlService.queryJdlConnector(map);
  106 + }
  107 +
  108 + @RequestMapping(value = "/queryJdlConnectorById",method = RequestMethod.GET)
  109 + public JdlConnector queryJdlConnectorById(@RequestParam int id) throws Exception{
  110 + return jdlService.queryJdlConnectorById(id);
  111 + }
  112 +
  113 + @RequestMapping(value = "/queryJdlStationName",method = RequestMethod.GET)
  114 + public List<String> queryJdlStationName() throws Exception{
  115 + return jdlService.queryJdlStationName();
  116 + }
  117 +
  118 + @RequestMapping(value = "/addJdlConnector",method = RequestMethod.POST)
  119 + public Map<String, Object> addJdlConnector(@RequestParam Map<String, Object> map) throws Exception{
  120 + return jdlService.addJdlConnector(map);
  121 + }
  122 +
  123 + @RequestMapping(value = "/deleteJdlConnector",method = RequestMethod.POST)
  124 + public Map<String, Object> deleteJdlConnector(@RequestParam Map<String, Object> map) throws Exception{
  125 + return jdlService.deleteJdlConnector(map);
  126 + }
  127 +
  128 + @RequestMapping(value = "/updateJdlConnector",method = RequestMethod.POST)
  129 + public Map<String, Object> updateJdlConnector(@RequestParam Map<String, Object> map) throws Exception{
  130 + return jdlService.updateJdlConnector(map);
  131 + }
  132 +
54 133 }
... ...
src/main/java/com/bsth/controller/realcontrol/ServiceDataInterface.java
... ... @@ -87,6 +87,7 @@ public class ServiceDataInterface {
87 87 if (null == sch)
88 88 continue;
89 89 map = new HashMap<>();
  90 + map.put("id", sch.getId());
90 91 map.put("clZbh", sch.getClZbh());
91 92 map.put("jGh", sch.getjGh());
92 93 map.put("jName", sch.getjName());
... ...
src/main/java/com/bsth/controller/zndd/LoggerZnddController.java
... ... @@ -54,4 +54,15 @@ public class LoggerZnddController extends BaseController&lt;LoggerZndd, Integer&gt; {
54 54 public Map<String, Object> schTZSF(String line,String date,String endDate,String changType,String type){
55 55 return loggerZnddService.schTZSF(line,date,endDate,changType,type);
56 56 }
  57 +
  58 + /**
  59 + * 获取当前方向下的下一个班次
  60 + * @param id
  61 + * @return
  62 + */
  63 + @RequestMapping(value = "nextSch/{id}", method = RequestMethod.GET)
  64 + public ScheduleRealInfo nextSch(@PathVariable("id") Long id){
  65 + return loggerZnddService.nextSch(id);
  66 +
  67 + }
57 68 }
... ...
src/main/java/com/bsth/controller/zndd/ZnddStatusController.java
... ... @@ -7,6 +7,7 @@ import com.bsth.service.zndd.ZnddStatusService;
7 7 import org.springframework.beans.factory.annotation.Autowired;
8 8 import org.springframework.web.bind.annotation.RequestMapping;
9 9 import org.springframework.web.bind.annotation.RequestMethod;
  10 +import org.springframework.web.bind.annotation.RequestParam;
10 11 import org.springframework.web.bind.annotation.RestController;
11 12  
12 13 import java.util.HashMap;
... ... @@ -34,4 +35,21 @@ public class ZnddStatusController extends BaseController&lt;znddStatus, Integer&gt; {
34 35 return result;
35 36 }
36 37  
  38 +
  39 + /**
  40 + *新增类型
  41 + * */
  42 + @RequestMapping(value = "/update", method = RequestMethod.POST)
  43 + public Map<String, Object> update(@RequestParam Integer id, @RequestParam Integer openStatus) {
  44 + Map<String, Object> result = new HashMap<>();
  45 + try {
  46 + znddStatusService.update(id,openStatus);
  47 + result.put("status", ResponseCode.SUCCESS);
  48 + } catch (Exception e) {
  49 + result.put("status", ResponseCode.ERROR);
  50 + result.put("msg", e.getMessage());
  51 + }
  52 + return result;
  53 + }
  54 +
37 55 }
... ...
src/main/java/com/bsth/data/car_out_info/CarOutInfoHandler.java
... ... @@ -117,8 +117,8 @@ public class CarOutInfoHandler {
117 117 //删除
118 118 jdbcTemplate.update("delete from bsth_t_clfcxxb");
119 119 //重新写入
120   - jdbcTemplate.batchUpdate("insert into bsth_t_clfcxxb(rq, line_code, line_name, lp_name, lp_sn, dfsj, nbbm, cph, bc_type, end_station_name, updown, jGh, jName, remarks, sn)" +
121   - " VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", new BatchPreparedStatementSetter() {
  120 + jdbcTemplate.batchUpdate("insert into bsth_t_clfcxxb(rq, line_code, line_name, lp_name, lp_sn, dfsj, nbbm, cph, bc_type, end_station_name, updown, jGh, jName, remarks, sn, sch)" +
  121 + " VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", new BatchPreparedStatementSetter() {
122 122 @Override
123 123 public void setValues(PreparedStatement ps, int i) throws SQLException {
124 124 ScheduleRealInfo sch = pstList.get(i);
... ... @@ -137,6 +137,7 @@ public class CarOutInfoHandler {
137 137 ps.setString(13, sch.getjName());
138 138 ps.setString(14, sch.getRemarks());
139 139 ps.setInt(15, sch.getFcpSn());
  140 + ps.setLong(16, sch.getId());
140 141 }
141 142  
142 143 @Override
... ...
src/main/java/com/bsth/data/kl/KlData.java
... ... @@ -6,9 +6,10 @@ import org.slf4j.Logger;
6 6 import org.slf4j.LoggerFactory;
7 7 import org.springframework.beans.factory.annotation.Autowired;
8 8 import org.springframework.beans.factory.annotation.Value;
9   -import org.springframework.scheduling.annotation.Scheduled;
10 9 import org.springframework.stereotype.Component;
11   -import java.util.*;
  10 +
  11 +import java.util.HashMap;
  12 +import java.util.Map;
12 13  
13 14 /**
14 15 * @author ym
... ... @@ -30,7 +31,7 @@ public class KlData {
30 31 @Value("${passengerFlow.url}")
31 32 private String url;
32 33  
33   - @Scheduled(cron = "0/10 * * * * ?")
  34 + /* @Scheduled(cron = "0/10 * * * * ?")
34 35 public void loadKl() {
35 36 Map<String,Kl> map= new HashMap<>();
36 37 List<Kl> list = klService.loadKl();
... ... @@ -40,7 +41,7 @@ public class KlData {
40 41 map.put(kl.getDeviceId(),kl);
41 42 }
42 43 KlData =map;
43   - }
  44 + }*/
44 45  
45 46 public static Kl getKl(String deviceId){
46 47 //return KlData.get( KlData.keySet().toArray()[0]);
... ...
src/main/java/com/bsth/data/pilot80/PilotReport.java
1 1 package com.bsth.data.pilot80;
2 2  
  3 +import com.alibaba.fastjson.JSON;
3 4 import com.alibaba.fastjson.JSONObject;
4 5 import com.bsth.data.BasicData;
5 6 import com.bsth.data.LineConfigData;
... ... @@ -23,7 +24,10 @@ import org.slf4j.LoggerFactory;
23 24 import org.springframework.beans.factory.annotation.Autowired;
24 25 import org.springframework.stereotype.Component;
25 26  
26   -import java.util.*;
  27 +import java.util.ArrayList;
  28 +import java.util.Collection;
  29 +import java.util.Date;
  30 +import java.util.List;
27 31 import java.util.concurrent.ConcurrentHashMap;
28 32  
29 33 /**
... ... @@ -102,21 +106,11 @@ public class PilotReport {
102 106 }
103 107 break;
104 108 //报警请求
105   - case 0x10:
106   - try {
107   - String url = systemParamService.getValue("url.yjbj")+"dataDockingApi/accident/saveAccident?";
108   - url = url + "accidentTime=" + new Date().getTime() + "&nbbm=" + nbbm;
109   - logger.info("url===="+url);
110   - String res = HttpClientUtils.get(url).toString();
111   - JSONObject jsonObject = JSONObject.parseObject(res);
112   - if ((int) jsonObject.get("code") == 200) {
113   - logger.info("报警请求成功");
114   - }else {
115   - logger.info("报警请求失败");
116   - }
117   - }catch (Exception e){
118   - logger.info("报警请求异常");
119   - }
  109 + case 0x21:
  110 + case 0x22:
  111 + case 0x23:
  112 + case 0x24:
  113 + yjbj(nbbm,d80);
120 114 break;
121 115 }
122 116  
... ... @@ -132,6 +126,39 @@ public class PilotReport {
132 126 }
133 127 }
134 128  
  129 + public void yjbj(String nbbm,D80 d80){
  130 + try {
  131 + ScheduleRealInfo sch = null;
  132 +
  133 + if (d80.getData().getStopNo() != null && !d80.getData().getStopNo().equals("")){
  134 + d80.setStationName(BasicData.stationCode2NameMap.get(d80.getData().getStopNo()));
  135 + }
  136 + if (d80.getSchId() != null){
  137 + sch = dayOfSchedule.get(d80.getSchId());
  138 + Long nextschid = dayOfSchedule.nextByLp(sch).getId();
  139 + d80.setNextschId(nextschid);
  140 + }
  141 + String url = systemParamService.getValue("url.yjbj")+"dataDockingApi/accident/saveAccident?";
  142 + url = url + "accidentTime=" + new Date().getTime() + "&nbbm=" + nbbm +"&requestCode=" +d80.getData().getRequestCode()
  143 + +"&lon=" +d80.getData().getLon()+"&lat="+d80.getData().getLat();
  144 + if (sch != null){
  145 + url = url + "&lineName=" +sch.getXlName()+"&jsy=" +sch.getjGh()+"&jsName=" +sch.getjName();
  146 + }
  147 + logger.info("url===="+url);
  148 + StringBuilder sb = HttpClientUtils.get(url);
  149 +
  150 +
  151 + JSONObject jsonObject = JSON.parseObject(sb.toString());
  152 + if ((int) jsonObject.get("code") == 200) {
  153 + logger.info("报警请求成功=" + jsonObject.get("msg"));
  154 + }else {
  155 + logger.info("报警请求失败="+ jsonObject.get("msg"));
  156 + }
  157 + }catch (Exception e){
  158 + logger.info("报警请求异常",e);
  159 + }
  160 + }
  161 +
135 162 public void report(DC0_A4 c0a4) {
136 163 String deviceId = c0a4.getData().getDeviceId();
137 164 if (StringUtils.isNotEmpty(deviceId))
... ...
src/main/java/com/bsth/data/zndd/AutomaticSch.java
1 1 package com.bsth.data.zndd;
2 2  
3 3 import com.alibaba.fastjson.JSON;
  4 +import com.alibaba.fastjson.JSONArray;
4 5 import com.alibaba.fastjson.JSONObject;
5 6 import com.alibaba.fastjson.TypeReference;
6 7 import com.bsth.data.BasicData;
... ... @@ -8,18 +9,24 @@ import com.bsth.data.adjg.domain.LargeGap;
8 9 import com.bsth.data.directive.DayOfDirectives;
9 10 import com.bsth.data.gpsdata_v2.GpsRealData;
10 11 import com.bsth.data.gpsdata_v2.entity.GpsEntity;
  12 +import com.bsth.data.gpsdata_v2.rfid.RfidHttpLoader;
  13 +import com.bsth.data.gpsdata_v2.rfid.entity.RfidInfo;
11 14 import com.bsth.data.schedule.DayOfSchedule;
12 15 import com.bsth.data.schedule.ScheduleComparator;
  16 +import com.bsth.data.schedule.edit_logs.entity.SchEditInfo;
  17 +import com.bsth.data.schedule.edit_logs.service.SchEditInfoService;
13 18 import com.bsth.data.schedule.late_adjust.LateAdjustHandle;
14 19 import com.bsth.entity.directive.D60;
15 20 import com.bsth.entity.realcontrol.ScheduleRealInfo;
  21 +import com.bsth.entity.zndd.StationPeopleLogger;
16 22 import com.bsth.entity.zndd.ZnddYuAn;
17 23 import com.bsth.repository.StationRouteRepository;
18 24 import com.bsth.service.directive.DirectiveService;
19 25 import com.bsth.service.realcontrol.ScheduleRealInfoService;
  26 +import com.bsth.service.zndd.ZnddLoggerService;
20 27 import com.bsth.service.zndd.ZnddYuAnService;
  28 +import com.bsth.util.DateUtils;
21 29 import com.bsth.util.HttpClientUtils;
22   -import com.google.gson.Gson;
23 30 import org.apache.commons.lang3.StringUtils;
24 31 import org.slf4j.Logger;
25 32 import org.slf4j.LoggerFactory;
... ... @@ -29,8 +36,6 @@ import org.springframework.stereotype.Component;
29 36 import java.text.ParseException;
30 37 import java.text.SimpleDateFormat;
31 38 import java.util.*;
32   -import java.util.concurrent.ConcurrentHashMap;
33   -import java.util.concurrent.ConcurrentMap;
34 39 import java.util.regex.Matcher;
35 40 import java.util.regex.Pattern;
36 41  
... ... @@ -62,38 +67,77 @@ public class AutomaticSch {
62 67 @Autowired
63 68 ZnddYuAnService znddYuAnService;
64 69  
65   - Queue<Map> queue = new LinkedList<>();
  70 + @Autowired
  71 + ZnddLoggerService znddLoggerService;
  72 + @Autowired
  73 + SchEditInfoService schEditInfoService;
  74 +
66 75  
67 76 private static SimpleDateFormat sdfHHmm = new SimpleDateFormat("HH:mm");
  77 + private static SimpleDateFormat sdfMonth = new SimpleDateFormat("yyyy-MM-dd");
68 78 SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm");
69 79  
70 80 private static Comparator<ScheduleRealInfo> cpm = new ScheduleComparator.DFSJ2();
71 81 private Map<String,Long> drivreMap =new HashMap<>(); //自动重发map
72   - // 当日60指令缓存
73   - private ConcurrentMap<Integer, D60> d60Map = new ConcurrentHashMap<>();//d60map
74 82  
75   - String urldkl = "http://10.10.200.202:5580/monitor/api/getMonitorInfoByDay?key=1&solt=1111&t=1&dayStr=2024-10-23"; //大间隔接口
  83 + String urldkl = "http://10.10.200.202:5580/monitor/api/getMonitorInfoByDay?key=1&solt=1111&t=1&dayStr="; //大间隔接口
76 84  
77 85 //http://10.10.200.201:8083/wxk-prod-api/service-api/lggj/schedule/drByInfo 维修接口
78   -
79   - private Map<String,Long> SFMAP = new HashMap<>();
  86 + String urldkls = "http://10.10.200.140:13089/bsth_passengerflow/klbus/currentInsideNum.do"; //满载接口
  87 + private Map<Long,Long> SFMAP = new HashMap<>();
80 88  
81 89 //满载
82 90 public void mz(){
83 91 try {
  92 + StringBuilder sb = HttpClientUtils.get(urldkls);
  93 + List<Object> list = JSONArray.parseArray(String.valueOf(sb));
  94 + for (Object b :list){
  95 + Map m = (Map) b;
  96 + Integer num = Integer.parseInt(m.get("inside_num").toString());
  97 +
  98 + int count= getPenum("MZ","0");
  99 + if(num < count){//大间隔阈值 检测到超过15个人的时候推送
  100 + return;
  101 + }
  102 + ScheduleRealInfo sr = dayOfSchedule.executeCurr(m.get("nbbm").toString()); //查询当前车辆执行班次
  103 + GpsEntity gps = gpsRealData.get(m.get("sbbh").toString());
  104 + Map msp = new HashMap();
  105 + msp.put("lineCode",m.get("xlbm"));
  106 + msp.put("lineName",m.get("XLMC"));
  107 + msp.put("stationName",gps.getStationName());
  108 + msp.put("rqStr",sdfMonth.format(new Date()));
  109 + msp.put("rq",sdfHHmm.format(new Date()));
  110 + msp.put("type","MZ");
  111 + msp.put("xlDir",gps.getUpDown());
  112 + msp.put("fcsj","");
  113 + msp.put("clzbh",gps.getNbbm());
  114 + msp.put("numType",num);
  115 + if (sr != null )
  116 + msp.put("xlDir",sr.getXlDir());
  117 +
  118 + if (gps != null )
  119 + msp.put("station",gps.getStation().getCode());
  120 +
  121 + ts(msp);
  122 + LogerWait("满载",sr);
  123 + }
84 124  
85   - List<ScheduleRealInfo> sr = dayOfSchedule.findByBcType("W9G-041","normal");
  125 + //测试使用
  126 + /* List<ScheduleRealInfo> sr = dayOfSchedule.findByBcType("W9G-041","normal");
86 127 ts(addStationPeople(sr.get(5), "MZ", 0L));//第二种 设备未离线 出站时间内未出站
  128 +
  129 + String chartStr = JSON.toJSONString(sr.get(5));
  130 + logger.info("满载--"+chartStr);*/
87 131 }
88 132 catch (Exception e){
89   - logger.error("满载------------------",e);
  133 + logger.error("满载检测接口出错------------------",e);
90 134 }
91 135 }
92 136  
93 137 //大间隔的情况
94 138 public void dfTz(int k ){
95 139 try{
96   - StringBuilder sb = HttpClientUtils.get(urldkl /*+ sdfMonth.format(new Date())*/);
  140 + StringBuilder sb = HttpClientUtils.get(urldkl + sdfMonth.format(new Date()));
97 141 if (sb == null)
98 142 return;
99 143 JSONObject obj = JSON.parseObject(sb.toString());
... ... @@ -106,44 +150,39 @@ public class AutomaticSch {
106 150 }else {
107 151 continue;
108 152 }
109   - if (k == 0 ){
110   - if(lg.getlGType() == 0){
111   - ts(ConvertDJK(lg,sch,"FCJG"));
  153 + Long t0 = new Date().getTime() - (1000 * 60 * 2);
  154 + Long t1 = t0 - (1000 * 60 * 2);
  155 + Long t2 = t0 + (1000 * 60 * 2);
  156 + //判断当前间隔是否出现过并且在当前时间段内 大于2分钟 小于1分钟的时间之内
  157 + if (SFMAP.get(lg.getId()) == null) {
  158 + if (k == 0) {
  159 + if (lg.getlGType() == 0) {
  160 + ts(ConvertDJK(lg, sch, "FCJG"));
  161 + SFMAP.put(lg.getId(), lg.getTsTime());
  162 + LogerWait("发车大间隔",sch);
  163 + }
  164 + } else {
  165 + if (lg.getlGType() != 0) {
  166 + ts(ConvertDJK(lg, sch, "DJG"));
  167 + SFMAP.put(lg.getId(), lg.getTsTime());
  168 + LogerWait("行车大间隔",sch);
  169 + }
112 170 }
113   - }else {
114   - if(lg.getlGType() != 0){
115   - ts(ConvertDJK(lg,sch,"DJG"));
  171 + }
  172 + //大于10000条的时候开始清理map
  173 + if (SFMAP.size() > 10000){
  174 + for (Map.Entry<Long, Long> m : SFMAP.entrySet()){
  175 + if(m.getValue() < DateUtils.getTimestamp()){
  176 + SFMAP.remove(m.getKey());
  177 + }
116 178 }
117 179 }
118   -
119 180 }
120 181  
121 182 }catch (Exception e){
122 183 logger.error("大间隔推送失败------------------",e);
123 184 }
124 185 }
125   - //发现大客流 -> 大客流情况 ->处置大客流
126   - public void Dkl(){
127   - //推送
128   -
129   - try{
130   - Map m = queue.poll();
131   - if (m != null) {
132   - if (Integer.valueOf(m.get("num").toString()) > 15) {
133   - //超过10的时候 判断为大客流
134   - ts(ConvertDKL(m));
135   - }
136   - }
137   -
138   - ScheduleRealInfo sr = dayOfSchedule.findByNbbm("W8A-027").get(0);
139   - ts(addStationPeople(sr, "DKL", 0L));//大客流
140   -
141   -
142   - }catch (Exception e){
143   - logger.error("大客流推送失败------------------",e);
144   - }
145   -
146   - }
147 186  
148 187 //实发未发检测 -- 车辆GPS掉线的情况下,车辆该出站了
149 188 /**
... ... @@ -175,18 +214,33 @@ public class AutomaticSch {
175 214 //1。一直没收到gps
176 215 //2.gps长时间离线的情况下
177 216 //3.人为调整过的都跳过
178   - if (gps == null || gps.getTimestamp() + (1000 * 60 * 3) < time || (gps.getAbnormalStatus() != null && gps.getAbnormalStatus().equals("offline"))) {
179   - ts(addStationPeople(sr, "SFTZ_1", 0L));
180   - Gson gson = new Gson();
181   - String chartStr = gson.toJsonTree(sr).toString();
182   - logger.info("实发调整--" + chartStr);
  217 + if (gps == null || gps.getTimestamp() + (1000 * 60 * 5) < time || (gps.getAbnormalStatus() != null && gps.getAbnormalStatus().equals("offline"))) {
  218 + String sfsj = null;
  219 + //rfid 判断
  220 + List<RfidInfo> list = RfidHttpLoader.load();
  221 + for (RfidInfo ri : list) {
  222 + if (ri.getRecogTime() != null && ri.getRecogTime().getTime() > System.currentTimeMillis() - 300000) {
  223 + //最新的rfid是出站状态
  224 + if (ri.getNbbm().equals(sr.getClZbh())){
  225 + sfsj = sdfHHmm.format(ri.getInoutStation().getTimestamp());
  226 + }
  227 + if (ri.getNbbm().equals(sr.getClZbh()) && ri.getInoutStation().getInout() == 0) {
  228 + sfsj = sdfHHmm.format(ri.getInoutStation().getTimestamp());
  229 + }
  230 + }
  231 + }
  232 + if (sfsj != null){
  233 + sr.setFcsjActual(sfsj);
  234 + ts(addStationPeople(sr, "SFTZ_1", 0L));
  235 + LogerWait("实发调整",sr);
  236 + }
183 237 }
184 238 }
185 239 }
186 240 }
187 241  
188 242 }
189   - }catch (Exception e){
  243 + }catch (Throwable e){
190 244 logger.error("自动调度,实发未发推送失败---",e);
191 245 }
192 246 logger.warn("实发未发扫描结束");
... ... @@ -196,6 +250,7 @@ public class AutomaticSch {
196 250 public void sfCX(){
197 251 //查询所有班次
198 252 //remark 人工干预过的的不检测
  253 + logger.warn("实发撤销检测扫描开始");
199 254 try {
200 255  
201 256 Map<String, String> lineMap = BasicData.lineCode2NameMap;
... ... @@ -211,8 +266,7 @@ public class AutomaticSch {
211 266 for (ScheduleRealInfo t : oldSchDateList){
212 267 // 发车误点
213 268 if (t.getDfsj() != null && t.getFcsjActual() != null
214   - && (t.getBcType().equals("normal") || t.getBcType().equals("region"))
215   - && (StringUtils.isEmpty(t.getRemarks()) || t.getRemarks().equals("_智能调度-异常实发"))) {
  269 + && (t.getBcType().equals("normal") || t.getBcType().equals("region"))) {
216 270  
217 271 long sjc = t.getFcsjActualTime() - t.getDfsjT();
218 272 long time = System.currentTimeMillis();//当前时间
... ... @@ -222,20 +276,35 @@ public class AutomaticSch {
222 276 if (sjc >= -1 * 60 * 1000 && sjc <= 3 * 60 * 1000) {
223 277 continue;
224 278 } else {
  279 + //备注不为null时,查询是否有调度操作记录
  280 + List<SchEditInfo> seiList = new ArrayList<>();
  281 + if (!StringUtils.isEmpty(t.getRemarks())){
  282 + Map msp = new HashMap();
  283 + msp.put("schId_eq",t.getId());
  284 + seiList = (List<SchEditInfo>) schEditInfoService.list(msp);
  285 + //有操作记录的跳过
  286 + Boolean isCZ = false;
  287 + for(SchEditInfo e : seiList){
  288 + if (e.getType().equals("FCXXWT") || e.getType().equals("DFTZ") || e.getType().equals("SFTZ")){
  289 + isCZ = true;
  290 + }
  291 + }
  292 + if (isCZ)
  293 + continue;
  294 + }
225 295 //异常实发
226 296 ts(addStationPeople(t, "YCSF", 0l));
227   - Gson gson = new Gson();
228   - String chartStr = gson.toJsonTree(t).toString();
229   - logger.info("实发撤销--" + chartStr);
  297 + LogerWait("实发撤销",t);
230 298 }
231 299 }
232 300 }
233 301  
234 302 }
235 303 }
236   - }catch (Exception e){
  304 + }catch (Throwable e){
237 305 logger.error("实发撤销推送接口出错-----------",e);
238 306 }
  307 + logger.warn("实发撤销检测扫描结束");
239 308 }
240 309  
241 310 public Boolean isLines(String line) {
... ... @@ -273,8 +342,7 @@ public class AutomaticSch {
273 342 String lineCode;
274 343 for (Map.Entry<String, String> ts : lineMap.entrySet()) {
275 344 lineCode = ts.getKey();
276   - if(isLines(lineCode)) {
277   -
  345 + /* if(isLines(lineCode)) {*/
278 346 oldSchDateList = dayOfSchedule.findByLineCode(lineCode);
279 347 for (ScheduleRealInfo t : oldSchDateList) {
280 348 //指令重发
... ... @@ -297,10 +365,10 @@ public class AutomaticSch {
297 365 //下发时间未超过5分钟返回
298 366 }
299 367 }
300   - }
  368 + /*}*/
301 369 }
302 370 }
303   - }catch (Exception e){
  371 + }catch (Throwable e){
304 372 logger.error("自动调度,指令重发---",e);
305 373 }
306 374 logger.warn("指令重发扫描结束");
... ... @@ -319,8 +387,8 @@ public class AutomaticSch {
319 387 if(sch.getDfsjT() > t)
320 388 break;
321 389  
322   - /*if(sch.isLate()) //演示使用 不跳过
323   - continue;*/
  390 + if(sch.isLate()) //演示使用 不跳过
  391 + continue;
324 392  
325 393 if(sch.getStatus() == 0
326 394 && StringUtils.isEmpty(sch.getFcsjActual())){
... ... @@ -336,10 +404,8 @@ public class AutomaticSch {
336 404 for (Map m : dzList){
337 405 if (basicData.nbbmCompanyPlateMap.get(prev.getClZbh()) != null && m.get("terminal").equals(basicData.nbbmCompanyPlateMap.get(prev.getClZbh()).replaceAll("-",""))){
338 406 sch.setRemark(m.get("sj").toString());
339   - Gson gson = new Gson();
340   - String chartStr = gson.toJsonTree(sch).toString();
341   - logger.info("误点--"+chartStr);
342 407 ts(addStationPeople(sch, "WD", 0L));
  408 + LogerWait("误点",sch);
343 409 }
344 410 }
345 411 }
... ... @@ -353,31 +419,85 @@ public class AutomaticSch {
353 419 }
354 420  
355 421  
  422 + public void LogerWait(String type,ScheduleRealInfo sch){
  423 + String chartStr = "id-"+sch.getId() +",xlName-"+sch.getXlName() + ",fcsj-"+sch.getFcsj() + ",FcsjActual-"+ sch.getFcsjActual()+",clzbh-" + sch.getClZbh();
  424 + logger.info(type+"--" + chartStr);
  425 + }
356 426  
357   - public void ts(Map m) throws ParseException {
358   - //记录存一下 --超过当前时间的是否推送?
359   - String st = m.get("lineCode")+"_"+m.get("type")+"_"+m.get("rqStr");
360   - Long sj = sdf.parse(m.get("rqStr").toString() +" "+ m.get("rq")).getTime();
361   - Long dsj = new Date().getTime();
362   - List<Long> list = new ArrayList();
363   - //111_DJG_2024-06-24
364   - if (ZnddThread.ZNDDTYPEMAP.get(st) != null ) {
365   - list = ZnddThread.ZNDDTYPEMAP.get(st);
366   - int i = 0;
367   -
368   - for (Long s : list){ //推送过的同样情况1小时内 &&//超过当前时间的不推送&& sj < dsj
369   - if (Math.abs(s - sj) > (60 * 60 * 1000)){
370   - i ++ ;
  427 + /**
  428 + *每辆车倒数第二个班次执行之前3分钟提示
  429 + */
  430 + public void TowdescSch(){
  431 + logger.warn("末二班车执行方法开始");
  432 + try {
  433 + //获取所有线路
  434 + Map<String, String> lineMap = BasicData.lineCode2NameMap;
  435 + //findByNbbm车辆索引获取的班次
  436 + Map<String, List<ScheduleRealInfo>> groupedByCity = new HashMap<>();
  437 + if(System.currentTimeMillis() < DateUtils.getTimestamp() + (1000 * 60 * 60 * 20)){
  438 + logger.info("未到晚上8点----"+(DateUtils.getTimestamp() + (1000 * 60 * 60 * 20)));
  439 + return;
  440 + }
  441 +
  442 + for (Map.Entry<String, String> t : lineMap.entrySet()) {
  443 + List<ScheduleRealInfo> srList = dayOfSchedule.findByLineCode(t.getKey());
  444 + Map<String, List<ScheduleRealInfo>> mapType = new HashMap();
  445 + //所有车辆
  446 + for (ScheduleRealInfo s : srList) {
  447 + if (mapType.get(s.getClZbh()) != null)
  448 + continue;
  449 +
  450 + List<ScheduleRealInfo> schadd = new ArrayList<>();
  451 + //每辆车下的班次
  452 + for (ScheduleRealInfo sch : srList) {
  453 + if (s.getClZbh().equals(sch.getClZbh())) {
  454 + schadd.add(sch);
  455 + }
  456 + }
  457 + mapType.put(s.getClZbh(), schadd);
  458 + }
  459 + //判断倒数第二个班次是否快要发车
  460 + for (String key : mapType.keySet()) {
  461 + List<ScheduleRealInfo> carList = mapType.get(key);
  462 + Collections.sort(carList, new ScheduleComparator.FCSJ());
  463 + //倒数第二个班次保证数量超过两条
  464 + ScheduleRealInfo scht = carList.size() >= 2 ? carList.get(carList.size() - 2) : null;
  465 + if (scht == null)
  466 + continue;
  467 +
  468 + if (scht.getDfsjT() > DateUtils.getTimestamp() + (1000 * 60 * 60 * 20) &&
  469 + scht.getDfsjT() - System.currentTimeMillis() < (1000* 60 * 4) &&
  470 + scht.getDfsjT() - System.currentTimeMillis() >= (1000* 60 *3)) {
  471 + //推送一下
  472 + ts(addStationPeople(scht,"DESCTWO",0l));
  473 +
  474 + LogerWait("末二班车推送",scht);
  475 + }
371 476 }
372 477 }
373   - outEntrance.Znddjk(m);//测试推送
374   - }else {
375   - list.add(sj);
376   - ZnddThread.ZNDDTYPEMAP.put(st,list);//存记录
377   - outEntrance.Znddjk(m);//推送
  478 +
  479 + }catch (Exception e){
  480 + logger.error("(倒数第二班车)末二班车执行方法出错"+ e);
378 481 }
  482 + }
  483 +
  484 +
379 485  
  486 + public void ts(Map m) throws ParseException {
380 487  
  488 + //储存日志
  489 + StationPeopleLogger splogger = new StationPeopleLogger();
  490 + splogger.setType(m.get("type").toString());
  491 + splogger.setLineName(m.get("lineName").toString());
  492 + splogger.setLineCode(m.get("lineCode").toString());
  493 + splogger.setRq(sdf.format(new Date()));
  494 + splogger.setRqStr(m.get("rqStr").toString());
  495 + splogger.setXlDir(m.get("xlDir").toString());
  496 + splogger.setFcsj(m.get("fcsj").toString());
  497 + splogger.setClZbh(m.get("clzbh").toString());
  498 + znddLoggerService.save(splogger);
  499 +
  500 + outEntrance.Znddjk(m);//推送
381 501 }
382 502  
383 503  
... ... @@ -404,16 +524,6 @@ public class AutomaticSch {
404 524 return sp;
405 525 }
406 526  
407   - //大间隔数据转换
408   - public Map ConvertDKL(Map m){
409   - Map sp = new HashMap();
410   - sp.put("uuid",UUID());
411   - sp.put("lineCode",m.get("lineCode"));
412   - sp.put("lineName",m.get("lineName"));
413   - sp.put("rqStr",sdf.format(new Date()));
414   - sp.put("rq",sdfHHmm.format(new Date())); //检测到时间
415   - return sp;
416   - }
417 527  
418 528  
419 529 //转换
... ...
src/main/java/com/bsth/data/zndd/OutEntrance.java
... ... @@ -6,9 +6,13 @@ import com.bsth.common.ResponseCode;
6 6 import com.bsth.data.BasicData;
7 7 import com.bsth.data.schedule.DayOfSchedule;
8 8 import com.bsth.data.schedule.ScheduleComparator;
  9 +import com.bsth.data.schedule.late_adjust.LateAdjustHandle;
  10 +import com.bsth.entity.DKLInfo;
9 11 import com.bsth.entity.realcontrol.ScheduleRealInfo;
10   -import com.bsth.entity.zndd.StationPeopleLogger;
11 12 import com.bsth.entity.zndd.StationSignsLogger;
  13 +import com.bsth.entity.zndd.znddStatus;
  14 +import com.bsth.repository.zndd.ZnddStatusRepository;
  15 +import com.bsth.service.DKLInfoService;
12 16 import com.bsth.util.HttpClientUtils;
13 17 import com.bsth.util.SignUtils;
14 18 import com.bsth.websocket.handler.SendUtils;
... ... @@ -17,20 +21,19 @@ import org.slf4j.Logger;
17 21 import org.slf4j.LoggerFactory;
18 22 import org.springframework.beans.factory.annotation.Autowired;
19 23 import org.springframework.beans.factory.annotation.Value;
  24 +import org.springframework.dao.DataAccessException;
  25 +import org.springframework.jdbc.core.JdbcTemplate;
20 26 import org.springframework.scheduling.annotation.Scheduled;
21 27 import org.springframework.web.bind.annotation.*;
  28 +
22 29 import java.io.*;
23 30 import java.nio.file.Files;
24 31 import java.nio.file.Path;
25 32 import java.nio.file.Paths;
26 33 import java.nio.file.StandardCopyOption;
27   -
28   -import java.io.ByteArrayInputStream;
29   -import java.io.File;
30   -import java.io.FileOutputStream;
31   -import java.io.InputStream;
32 34 import java.text.SimpleDateFormat;
33 35 import java.time.Duration;
  36 +import java.time.LocalDateTime;
34 37 import java.time.LocalTime;
35 38 import java.time.format.DateTimeFormatter;
36 39 import java.util.*;
... ... @@ -54,9 +57,8 @@ public class OutEntrance {
54 57  
55 58 @Value("${dc.imgurl}")
56 59 private String imgurl; //存储图片地址
57   -
58   - @Value("${dc.profile}")
59   - private String profile; //存储图片地址*/
  60 +
  61 + private String profile = "profile"; //存储图片地址*/
60 62  
61 63 @Value("${baidu.ak}")
62 64 private String ak; //百度api秘钥*/
... ... @@ -69,6 +71,18 @@ public class OutEntrance {
69 71 @Autowired
70 72 AutomaticSch automaticSch;
71 73  
  74 + @Autowired
  75 + private DKLInfoService dklInfoService;
  76 +
  77 + @Autowired
  78 + JdbcTemplate jdbcTemplate;
  79 +
  80 + @Autowired
  81 + ZnddStatusRepository znddStatusRepository;
  82 +
  83 + @Autowired
  84 + BasicData basicData;
  85 +
72 86 //调度屏小程序接口。
73 87 @RequestMapping(value = "/OutCar", method = RequestMethod.POST)
74 88 public Map OutCarOutCar(@RequestParam Map m,@RequestBody StationSignsLogger ssLogger) {
... ... @@ -93,7 +107,7 @@ public class OutEntrance {
93 107 }
94 108  
95 109  
96   - //查询班次情况自动回复
  110 + //查询班次情况自动回复 --拥堵
97 111 //当前日期
98 112 List<Map> dzList = carMonitor.carMonitor(ssLogger.getLineCode(), ssLogger.getDir(), ssLogger.getStation()); //信息发布接口
99 113 if (dzList.size() > 0){
... ... @@ -106,9 +120,36 @@ public class OutEntrance {
106 120 if(!"畅通".equals(trafficStatus)){
107 121 s=road+trafficStatus+",";
108 122 }
109   - rtn.put("message",s+"车辆预计还有"+dzList.get(0).get("sj")+"抵达,请耐心等待");
  123 + rtn.put("message",s+"亲爱的乘客,我们的调度员已接收到通知,车辆预计还有"+dzList.get(0).get("sj")+"抵达,请稍等片刻");
110 124 }else {
111   - //筛选方向
  125 + //第一个班次
  126 + //所有应发未到的班次--晚点的情况
  127 + Collection<ScheduleRealInfo> all = LateAdjustHandle.allLateSch();
  128 + for (ScheduleRealInfo schc : all) {
  129 + if(schc.getXlBm().equals(m.get("lineCode"))) {
  130 + Long schId = schc.getId();
  131 + ScheduleRealInfo sch = null;
  132 + if (schId != null)
  133 + sch = dayOfSchedule.get(schId);
  134 +
  135 + ScheduleRealInfo prev = dayOfSchedule.prev(sch);
  136 + List<Map> dzLists = carMonitor.carMonitor(prev.getXlBm(), prev.getXlDir(), prev.getZdzCode()); //信息发布接口
  137 + for (Map mst : dzLists) {
  138 + //匹配到当前车辆
  139 + if (basicData.nbbmCompanyPlateMap.get(prev.getClZbh()) != null && mst.get("terminal").equals(basicData.nbbmCompanyPlateMap.get(prev.getClZbh()).replaceAll("-", ""))) {
  140 + if (sch.getXlBm().equals(schc.getXlBm())) {
  141 + rtn.put("message", "非常抱歉,车辆因路上交通拥堵,预计还需要" + mst.get("sj").toString() + "抵达,请稍等片刻");
  142 + rtn.put("status", ResponseCode.SUCCESS);
  143 + return rtn;
  144 + }
  145 + }
  146 + }
  147 + }
  148 + }
  149 +
  150 +
  151 +
  152 + //筛选方向 -- 正常班次未到发车时间
112 153 List<ScheduleRealInfo> rs = dayOfSchedule.findByLineAndUpDown(ssLogger.getLineCode(),Integer.parseInt(ssLogger.getDir()));
113 154 if(rs.size()>0){
114 155 //排序
... ... @@ -125,7 +166,7 @@ public class OutEntrance {
125 166 }
126 167 }
127 168 if(sjtext!=null){
128   - rtn.put("message","车辆预计"+sjtext+"发车,请耐心等待");
  169 + rtn.put("message","亲爱的乘客,我们的调度员已接收到通知,车辆将按照计划,在"+sjtext+"准时发车,请稍等片刻");
129 170 }else {
130 171 rtn.put("message","当日运营已结束");
131 172 }
... ... @@ -153,6 +194,23 @@ public class OutEntrance {
153 194 rtn.put("status", "验证失败");
154 195 return rtn;
155 196 }
  197 + //大客流开关
  198 + List<znddStatus> znddStatusList = (List<znddStatus>) znddStatusRepository.findAll();
  199 + Boolean isType = false;
  200 + String excuteStatus = null;
  201 + for (znddStatus zs : znddStatusList) {
  202 + if (zs.getType().equals("dkl")) {
  203 + isType = true;
  204 + excuteStatus = zs.getExcuteStatus();
  205 + }
  206 + }
  207 +
  208 + if (!isType){
  209 + logger.info("大客流接口未开启--------------");
  210 + rtn.put("status",ResponseCode.SUCCESS);
  211 + return rtn;
  212 + }
  213 +
156 214 String num=jsonObject.getString("num");
157 215 int count=automaticSch.getPenum("DKL","0");
158 216 if(Integer.parseInt(num)<count){
... ... @@ -169,15 +227,30 @@ public class OutEntrance {
169 227 String lineCode = line.get("lineCode").toString();
170 228 String stationCode = line.get("stationCode").toString();
171 229 String dir = line.get("dir").toString();
172   - /*StationRoute stationRoute=BasicData.stationCode2StationMap.get(lineCode+"_"+stationCode);*/
  230 + imgMap.put(lineCode+"_"+dir,img);
  231 + DKLInfo dklInfo =new DKLInfo();
  232 + dklInfo.setLineCode(stationCode);
  233 + String lineName=BasicData.lineCode2NameMap.get(lineCode);
  234 + String stationName=BasicData.stationCode2NameMap.get(lineCode+"_"+dir+"_"+stationCode);
  235 + dklInfo.setLineName(lineName);
  236 + dklInfo.setStationCode(stationCode);
  237 + dklInfo.setStationName(stationName);
  238 + dklInfo.setNum(Integer.parseInt(num));
  239 + dklInfo.setUpDown(dir);
  240 + dklInfo.setImage(img);
  241 + dklInfoService.save(dklInfo);
  242 + if(Integer.parseInt(num)<count){
  243 + continue;
  244 + }
173 245 Map m = new HashMap();
174 246 m.put("image", img);
175 247 m.put("stationCode", stationCode);
176 248 m.put("lineCode", lineCode);
177   - m.put("stationName",BasicData.stationCode2NameMap.get(lineCode+"_"+dir+"_"+stationCode));
178   - m.put("lineName",BasicData.lineCode2NameMap.get(lineCode));
  249 + m.put("stationName",stationName);
  250 + m.put("lineName",lineName);
179 251 m.put("num",num);
180 252 m.put("xlDir",dir);
  253 + m.put("excuteStatus",excuteStatus);
181 254 List<ScheduleRealInfo> srList=dayOfSchedule.findByLineAndUpDown(lineCode,Integer.parseInt(dir));
182 255 List<ScheduleRealInfo> sl=new ArrayList<>();
183 256 for (ScheduleRealInfo scheduleRealInfo : srList) {//筛选出运营班次
... ... @@ -253,33 +326,6 @@ public class OutEntrance {
253 326 }
254 327  
255 328  
256   - //智能调度接口-大客流
257   - @RequestMapping(value="/dkl",method = RequestMethod.POST)
258   - public Map ddkl(@RequestParam Map m) {
259   - Map rtn = new HashMap<>();
260   -
261   - try {
262   - ObjectMapper mapper = new ObjectMapper();
263   - //map转换实体类
264   - StationPeopleLogger ssLogger = mapper.convertValue(m, StationPeopleLogger.class);
265   -
266   - ssLogger.setType("大客流");
267   -
268   - //保存记录
269   - //znddLoggerService.save(ssLogger);
270   - //线调页面推送
271   - //sendUtils.sendzndd(ssLogger);
272   -
273   - rtn.put("status",ResponseCode.SUCCESS);
274   - } catch (Exception e) {
275   - rtn.put("status", ResponseCode.ERROR);
276   - logger.error("大客流推送异常----",e);
277   - }
278   - return rtn;
279   - }
280   -
281   -
282   -
283 329  
284 330 /**
285 331 * 保存base64图片
... ... @@ -319,7 +365,7 @@ public class OutEntrance {
319 365 destfile.mkdirs();
320 366 }
321 367 //文件新名称
322   - String fileNameNew = AutomaticSch.UUID()+ ".png";
  368 + String fileNameNew = System.currentTimeMillis()+"_"+AutomaticSch.UUID()+ ".png";
323 369 File f = new File(destfile.getAbsoluteFile() + File.separator + fileNameNew);
324 370 // 将字符串转换成二进制,用于显示图片
325 371 // 将上面生成的图片格式字符串 imgStr,还原成图片显示
... ... @@ -397,7 +443,9 @@ public class OutEntrance {
397 443 @Scheduled(cron = "0 0 0 * * ?")
398 444 public void clearImg(){
399 445 try {
400   - File folder=new File(imgurl+"/avat");
  446 + LocalDateTime date =LocalDateTime.now().minusDays(7);
  447 + String[] d=date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")).split("-");
  448 + File folder=new File(imgurl+"/avat/"+d[0]+"/"+d[1]+"/"+d[2]);
401 449 delete(folder);
402 450 } catch (Exception e) {
403 451 e.printStackTrace();
... ... @@ -416,4 +464,28 @@ public class OutEntrance {
416 464 folder.delete(); // 删除空文件夹或者文件
417 465 }
418 466  
  467 + private static Map<String,String> imgMap =new HashMap<>();
  468 + //调度获取站台视频
  469 + @RequestMapping(value = "/getStationVideo", method = RequestMethod.GET)
  470 + public String getStationVideo(@RequestParam Map m) {
  471 + if (m.get("lineCode")==null || m.get("upDown")==null){
  472 + return null;
  473 + }
  474 + String sql="select url from station_video where line_code ='"+m.get("lineCode")+"' and up_down ='"+m.get("upDown")+"'";
  475 + String url= null;
  476 + try {
  477 + url = jdbcTemplate.queryForObject(sql,String.class);
  478 + } catch (DataAccessException e) {
  479 + return null;
  480 + }
  481 + return url;
  482 + }
  483 +
  484 + //调度获取站台图片
  485 + @RequestMapping(value = "/getStationImg", method = RequestMethod.GET)
  486 + public String getStationImg(@RequestParam Map m) {
  487 + String url=imgMap.get(m.get("lineCode")+"_"+m.get("upDown"));
  488 + return url;
  489 + }
  490 +
419 491 }
... ...
src/main/java/com/bsth/data/zndd/ZnddThread.java
... ... @@ -45,11 +45,8 @@ public class ZnddThread extends Thread{
45 45 static Map<String,List> ZNDDTYPEMAP = new HashMap<>(); //已经推送过的检测
46 46  
47 47  
48   - String url = "https://lgapp.bsth.tech:13089/bsth_passengerflow/klbus/currentInsideNum.do"; //车内客流接口
49 48  
50 49  
51   - String urldkl = "http://10.10.200.140:13089/bsth_passengerflow/klbus/currentInsideNum.do"; //大客流接口
52   -
53 50 private static SimpleDateFormat sdfHHmm = new SimpleDateFormat("HH:mm");
54 51 private static SimpleDateFormat sdfMonth = new SimpleDateFormat("yyyy-MM-dd");
55 52 private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
... ... @@ -64,13 +61,7 @@ public class ZnddThread extends Thread{
64 61 //automaticSch.mz();
65 62 //automaticSch.dfTz();//大间隔
66 63 for (znddStatus zs : znddStatusList) {
67   - if (zs.getOpenStatus().equals("0")) {
68   - //预案5个
69   - if (zs.getType().equals("fcjg")) {
70   - automaticSch.dfTz(0);
71   - logger.info("发车间隔执行完毕");
72   - }
73   -
  64 + if (zs.getOpenStatus() != null && zs.getOpenStatus().equals("0")) {
74 65 if (zs.getType().equals("sftz")) {
75 66 automaticSch.sftz();//实发未发
76 67 logger.info("实发执行完毕");
... ... @@ -79,31 +70,13 @@ public class ZnddThread extends Thread{
79 70 automaticSch.sfCX();// 异常实发 - 实发撤销
80 71 logger.info("异常实发执行完毕");
81 72 }
82   - if (zs.getType().equals("zlcf")){
83   - automaticSch.drivresponse();
84   - logger.info("设备重发执行完毕");
85   - }
86   - if (zs.getType().equals("wd")){
87   - automaticSch.wd();
88   - logger.info("误点执行完毕");
89   - }
90   - if (zs.getType().equals("djg")){
91   - automaticSch.dfTz(1);
92   - logger.info("行车大间隔执行完毕");
93   - }
94   -
95   - if (zs.getType().equals("dkl")){
96   - automaticSch.Dkl();
97   - logger.info("大客流执行完毕");
98   - }
99   - if (zs.getType().equals("mz")){
100   - automaticSch.mz();
101   - logger.info("满载执行完毕");
102   - }
103   -
  73 + if (zs.getType().equals("zlcf")){
  74 + automaticSch.drivresponse();
  75 + logger.info("设备重发执行完毕");
  76 + }
104 77 }
105 78 }
106   - }catch (Exception e){
  79 + }catch (Throwable e){
107 80 logger.info("智能调度线程——————",e);
108 81 }
109 82  
... ...
src/main/java/com/bsth/data/zndd/ZnddTwoThread.java 0 → 100644
  1 +package com.bsth.data.zndd;
  2 +
  3 +import com.bsth.data.LineConfigData;
  4 +import com.bsth.data.gpsdata_v2.GpsRealData;
  5 +import com.bsth.data.gpsdata_v2.entity.GpsEntity;
  6 +import com.bsth.data.schedule.DayOfSchedule;
  7 +import com.bsth.entity.realcontrol.ScheduleRealInfo;
  8 +import com.bsth.entity.zndd.znddStatus;
  9 +import com.bsth.repository.StationRouteRepository;
  10 +import com.bsth.repository.zndd.ZnddStatusRepository;
  11 +import org.slf4j.Logger;
  12 +import org.slf4j.LoggerFactory;
  13 +import org.springframework.beans.factory.annotation.Autowired;
  14 +import org.springframework.stereotype.Component;
  15 +
  16 +import java.text.ParseException;
  17 +import java.text.SimpleDateFormat;
  18 +import java.util.Comparator;
  19 +import java.util.HashMap;
  20 +import java.util.List;
  21 +import java.util.Map;
  22 +
  23 +/**
  24 + * 调度预案 发车间隔、误点、大间隔、满载、大客流
  25 + */
  26 +@Component
  27 +public class ZnddTwoThread extends Thread{
  28 +
  29 + Logger logger = LoggerFactory.getLogger(this.getClass());
  30 + /*@Autowired
  31 + StationPeopleLoggerRepository stationPeopleLoggerRepository;*/
  32 + @Autowired
  33 + DayOfSchedule dayOfSchedule;
  34 + @Autowired
  35 + LineConfigData lineConfs;
  36 + @Autowired
  37 + GpsRealData gpsRealData;
  38 + @Autowired
  39 + StationRouteRepository stationRouteRepository;
  40 + @Autowired
  41 + OutEntrance outEntrance;
  42 + @Autowired
  43 + AutomaticSch automaticSch;
  44 +
  45 + @Autowired
  46 + ZnddStatusRepository znddStatusRepository;
  47 +
  48 + static Map<String,List> ZNDDTYPEMAP = new HashMap<>(); //已经推送过的检测
  49 +
  50 +
  51 +
  52 +
  53 + private static SimpleDateFormat sdfHHmm = new SimpleDateFormat("HH:mm");
  54 + private static SimpleDateFormat sdfMonth = new SimpleDateFormat("yyyy-MM-dd");
  55 + private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
  56 + @Override
  57 + public void run() {
  58 + try {
  59 + List<znddStatus> znddStatusList = (List<znddStatus>) znddStatusRepository.findAll();
  60 +
  61 + for (znddStatus zs : znddStatusList) {
  62 + if (zs.getOpenStatus() != null && zs.getOpenStatus().equals("0")) {
  63 + //预案5个
  64 + if (zs.getType().equals("fcjg")) {
  65 + new Thread() {
  66 + @Override
  67 + public void run() {
  68 + automaticSch.dfTz(0);
  69 + logger.info("发车间隔执行完毕");
  70 + }
  71 + }.start();//启动线程
  72 + }
  73 + if (zs.getType().equals("wd")) {
  74 + new Thread() {
  75 + @Override
  76 + public void run() {
  77 + automaticSch.wd();
  78 + logger.info("误点执行完毕");
  79 + }
  80 + }.start();//启动线程
  81 + }
  82 + if (zs.getType().equals("djg")) {
  83 + new Thread() {
  84 + @Override
  85 + public void run() {
  86 + automaticSch.dfTz(1);
  87 + logger.info("行车大间隔执行完毕");
  88 + }
  89 + }.start();//启动线程
  90 +
  91 + }
  92 + if (zs.getType().equals("mz")) {
  93 + new Thread() {
  94 + @Override
  95 + public void run() {
  96 + automaticSch.mz();
  97 + logger.info("满载执行完毕");
  98 + }
  99 + }.start();//启动线程
  100 +
  101 + }
  102 + if (zs.getType().equals("desctwo")) {
  103 + new Thread() {
  104 + @Override
  105 + public void run() {
  106 + automaticSch.TowdescSch();
  107 + logger.info("末二班车");
  108 + }
  109 + }.start();//启动线程
  110 +
  111 +
  112 + }
  113 + }
  114 + }
  115 +
  116 +
  117 + } catch (Exception e) {
  118 + logger.info("智能调度线程——————", e);
  119 + }
  120 + }
  121 +
  122 +
  123 + //满载
  124 + /* public void MZ(){
  125 + try {
  126 + StringBuilder sb = HttpClientUtils.get(url);
  127 + List<Object> list = JSONArray.parseArray(String.valueOf(sb));
  128 + for (Object b :list){
  129 + Map m = (Map) b;
  130 + Integer num = Integer.parseInt(m.get("inside_num").toString());
  131 + if (num >= 15){ //大间隔阈值 检测到超过15个人的时候推送
  132 + ScheduleRealInfo sr = dayOfSchedule.executeCurr(m.get("nbbm").toString()); //查询当前车辆执行班次
  133 + GpsEntity gps = gpsRealData.get(m.get("sbbh").toString());
  134 + Map msp = new HashMap();
  135 + msp.put("lineCode",m.get("xlbm"));
  136 + msp.put("lineName",m.get("xlmc"));
  137 + msp.put("stationName",gps.getStationName());
  138 + msp.put("rqStr",sdfMonth.format(new Date()));
  139 + msp.put("rq",sdfHHmm.format(new Date()));
  140 + msp.put("type","MZ");
  141 + msp.put("numType",num);
  142 + if (sr != null )
  143 + msp.put("xlDir",sr.getXlDir());
  144 +
  145 + if (gps != null )
  146 + msp.put("station",gps.getStation().getCode());
  147 +
  148 + ts(msp);
  149 + }
  150 + }
  151 +
  152 + }catch (Exception e){
  153 + logger.error("满载检测接口出错-----------",e);
  154 + }
  155 + }*/
  156 + public void ts(Map m) throws ParseException {
  157 + outEntrance.Znddjk(m);//测试推送
  158 + }
  159 + /* public void ts(Map m) throws ParseException {
  160 + //记录存一下 --超过当前时间的是否推送?
  161 + String st = m.get("lineCode")+"_"+m.get("type")+"_"+m.get("rqStr");
  162 + Long sj = sdf.parse(m.get("rqStr").toString() +" "+ m.get("rq")).getTime();
  163 + List<Long> list = new ArrayList();
  164 + //111_DJG_2024-06-24
  165 + if (ZNDDTYPEMAP.get(st) != null ) {
  166 + list = ZNDDTYPEMAP.get(st);
  167 + int i = 0;
  168 + for (Long s : list){
  169 + if (Math.abs(s - sj) > (60 * 60 * 1000)){
  170 + i ++ ;
  171 + }
  172 + }
  173 + if (i == list.size()){
  174 + list.add(sj);
  175 + ZNDDTYPEMAP.put(st,list);//存记录
  176 + outEntrance.Znddjk(m);//推送
  177 + }
  178 + return;
  179 + }else {
  180 + list.add(sj);
  181 + ZNDDTYPEMAP.put(st,list);//存记录
  182 + outEntrance.Znddjk(m);//推送
  183 + }
  184 +
  185 + }
  186 +
  187 +*/
  188 +
  189 + /* //发车间隔
  190 + public void FCJG(){
  191 + try {
  192 + //无数据情况下 查看发车间隔配置数据是否正常bsth_c_calc_interval
  193 + List<CalcIntervalDetail> fcjgList = userCarCountHandler.calcLast();
  194 + if (fcjgList!= null && !fcjgList.isEmpty()){
  195 + for (CalcIntervalDetail cd : fcjgList){
  196 + Map sp = new HashMap();
  197 + sp.put("lineCode",cd.getLineCode());
  198 + sp.put("lineName",cd.getLineName());
  199 + sp.put("rqStr",cd.getDate());
  200 + sp.put("rq",cd.getSjfc2());
  201 + sp.put("type","FCJG");
  202 + sp.put("xlDir",cd.getXlDir());
  203 + sp.put("numType",cd.getSubTime());
  204 + sp.put("fcsj",cd.getSjfc2());
  205 + sp.put("stationName",cd.getStation());
  206 + ts(sp);
  207 + }
  208 + }
  209 + }catch (Exception e){
  210 + logger.error("发车间隔检测出现出错-----------",e);
  211 + }
  212 + }
  213 +*/
  214 +
  215 + //转换
  216 + public Map addStationPeople(ScheduleRealInfo info,String type,Long sst,String sj) throws ParseException{
  217 + Map sp = new HashMap();
  218 + sp.put("lineCode",info.getXlBm());
  219 + sp.put("lineName",info.getXlName() );
  220 + sp.put("rqStr",info.getScheduleDateStr());
  221 + sp.put("rq",new java.sql.Date(sdf.parse((info.getScheduleDateStr()+" " + sj)).getTime())); //检测到时间
  222 + sp.put("type",type);
  223 + sp.put("xlDir",info.getXlDir());
  224 + sp.put("numType",sst);
  225 + return sp;
  226 + }
  227 +
  228 +
  229 +
  230 + //排序
  231 + public static class GpsComp implements Comparator<GpsEntity> {
  232 + @Override
  233 + public int compare(GpsEntity o1, GpsEntity o2) {
  234 + return Integer.parseInt(o1.getRemark()) - Integer.parseInt(o2.getRemark());
  235 + }
  236 + }
  237 +
  238 +}
  239 +
... ...
src/main/java/com/bsth/data/zndd/carMonitor.java
... ... @@ -81,6 +81,7 @@ public class carMonitor {
81 81 map.put("lat",responseEle.elementTextTrim("lat"));
82 82 map.put("nbbm",responseEle.elementTextTrim("insidecode"));
83 83 map.put("road",responseEle.elementTextTrim("road"));
  84 + map.put("schId",responseEle.elementTextTrim("schId"));
84 85 list.add(map);
85 86 }
86 87 }
... ...
src/main/java/com/bsth/data/zndd/voice/GJC.java
... ... @@ -16,9 +16,9 @@ public enum GJC {
16 16 CC(7, "出场"),
17 17 KQ(8, "开启"),
18 18 GB(9, "关闭"),
19   - ge(10, "个"),
  19 + ge(10, "个"),
20 20 dao(11, "到"),
21   - de(12, "的");
  21 + de(12, "的班次");
22 22  
23 23 private int code;
24 24 private String description;
... ...
src/main/java/com/bsth/data/zndd/voice/UploadVideoServlet.java
1 1 package com.bsth.data.zndd.voice;
2 2  
3 3 import com.alibaba.fastjson.JSONObject;
4   -import com.bsth.data.BasicData;
5 4 import com.bsth.data.zndd.baidu.speech.restapi.asrdemo.AsrMain;
6 5 import com.bsth.entity.StationRoute;
7 6 import com.bsth.entity.sys.SysUser;
... ... @@ -124,7 +123,7 @@ public class UploadVideoServlet extends HttpServlet {
124 123 String text = textList.get(0).toString();
125 124 //text="新增出厂班次";
126 125 //text="帮我添加一个鸿音路南芦公路到临港大道枢纽站的班次";
127   - if(isSimilarity(ZL.zdzdbc,text,null)){//帮我添加一个xx到xx站的班次(帮我添加一个鸿音路南芦公路到临港大道枢纽站的班次)
  126 + /*if(isSimilarity(ZL.zdzdbc,text,null)){//帮我添加一个xx到xx站的班次(帮我添加一个鸿音路南芦公路到临港大道枢纽站的班次)
128 127 String[] ks = text.replace(",","").split("到");
129 128 if(ks[0].split("个").length==1){
130 129 writer.write(text+"_识别失败"+",999");
... ... @@ -137,9 +136,9 @@ public class UploadVideoServlet extends HttpServlet {
137 136 String Station1= ks[0].split("个")[1];
138 137 String Station2= ks[1].split("的")[0];
139 138  
140   - /* String fcsj = null;//线路名,上下行,发车时间
  139 + *//* String fcsj = null;//线路名,上下行,发车时间
141 140 //发车时间
142   - fcsj = extractTimes(text);*/
  141 + fcsj = extractTimes(text);*//*
143 142 //线路名称 - 线路编码和名称对照
144 143  
145 144 Map<String, Object> param = new HashMap<>();
... ... @@ -163,7 +162,7 @@ public class UploadVideoServlet extends HttpServlet {
163 162 }
164 163 writer.write(text +",1,"+m.get("stationcode1")+","+m.get("stationcode2")+","+0);
165 164 return;
166   - }
  165 + }*/
167 166 if(isSimilarity(ZL.LJCCBC,text,null)){//添加出厂班次
168 167 writer.write(text+"_"+ZL.LJCCBC.getDescription()+",2");
169 168 return;
... ...
src/main/java/com/bsth/data/zndd/voice/VoiceUtil.java
1   -package com.bsth.data.zndd.voice;
2   -
3   -import com.alibaba.fastjson.JSON;
4   -import com.alibaba.fastjson.JSONObject;
5   -import com.sun.media.sound.WaveFileReader;
6   -import com.sun.media.sound.WaveFileWriter;
7   -import org.slf4j.Logger;
8   -import org.slf4j.LoggerFactory;
9   -import org.springframework.util.Assert;
10   -import org.springframework.util.StringUtils;
11   -import org.vosk.LibVosk;
12   -import org.vosk.LogLevel;
13   -import org.vosk.Model;
14   -import org.vosk.Recognizer;
15   -
16   -import javax.sound.sampled.*;
17   -import java.io.*;
18   -import java.nio.file.Files;
19   -import java.nio.file.Paths;
20   -
21   -public class VoiceUtil {
22   - /* @Value("${leenleda.vosk.model}")
23   - private String VOSKMODELPATH;*/
24   -
25   - Logger log = LoggerFactory.getLogger(this.getClass());
26   - public String getWord(String filePath) throws IOException, UnsupportedAudioFileException {
27   - Assert.isTrue(StringUtils.hasLength("D:\\pcm\\vosk-model-small-cn-0.22"), "无效的VOS模块!");
28   - byte[] bytes = Files.readAllBytes(Paths.get(filePath));
29   - // 转换为16KHZ
30   - reSamplingAndSave(bytes, filePath);
31   - File f = new File(filePath);
32   - RandomAccessFile rdf = null;
33   - rdf = new RandomAccessFile(f, "r");
34   - log.info("声音尺寸:{}", toInt(read(rdf, 4, 4)));
35   - log.info("音频格式:{}", toShort(read(rdf, 20, 2)));
36   - short track = toShort(read(rdf, 22, 2));
37   - log.info("1 单声道 2 双声道: {}", track);
38   - log.info("采样率、音频采样级别 16000 = 16KHz: {}", toInt(read(rdf, 24, 4)));
39   - log.info("每秒波形的数据量:{}", toShort(read(rdf, 22, 2)));
40   - log.info("采样帧的大小:{}", toShort(read(rdf, 32, 2)));
41   - log.info("采样位数:{}", toShort(read(rdf, 34, 2)));
42   - rdf.close();
43   - LibVosk.setLogLevel(LogLevel.WARNINGS);
44   - try (
45   - Model model = new Model("D:\\pcm\\vosk-model-small-cn-0.22");
46   - InputStream ais = AudioSystem.getAudioInputStream(new BufferedInputStream(new FileInputStream(filePath)));
47   - // 采样率为音频采样率的声道倍数
48   - Recognizer recognizer = new Recognizer(model, 16000 * track)) {
49   -
50   - recognizer.setWords(true);
51   -
52   - String result = recognizer.getFinalResult();
53   - log.info("识别结果:{}", result);
54   - if (StringUtils.hasLength(result)) {
55   - JSONObject jsonObject = JSON.parseObject(result);
56   - return jsonObject.getString("text").replace(" ", "");
57   - }
58   - return "";
59   - }
60   -
61   -
62   -
63   - }
64   -
65   - public static int toInt(byte[] b) {
66   - return (((b[3] & 0xff) << 24) + ((b[2] & 0xff) << 16) + ((b[1] & 0xff) << 8) + ((b[0] & 0xff) << 0));
67   - }
68   -
69   - public static short toShort(byte[] b) {
70   - return (short) ((b[1] << 8) + (b[0] << 0));
71   - }
72   -
73   - public static byte[] read(RandomAccessFile rdf, int pos, int length) throws IOException {
74   - rdf.seek(pos);
75   - byte result[] = new byte[length];
76   - for (int i = 0; i < length; i++) {
77   - result[i] = rdf.readByte();
78   - }
79   - return result;
80   - }
81   -
82   - public static void reSamplingAndSave(byte[] data, String path) throws IOException, UnsupportedAudioFileException {
83   - WaveFileReader reader = new WaveFileReader();
84   - AudioInputStream audioIn = reader.getAudioInputStream(new ByteArrayInputStream(data));
85   - AudioFormat srcFormat = audioIn.getFormat();
86   - int targetSampleRate = 16000;
87   - AudioFormat dstFormat = new AudioFormat(srcFormat.getEncoding(),
88   - targetSampleRate,
89   - srcFormat.getSampleSizeInBits(),
90   - srcFormat.getChannels(),
91   - srcFormat.getFrameSize(),
92   - srcFormat.getFrameRate(),
93   - srcFormat.isBigEndian());
94   - AudioInputStream convertedIn = AudioSystem.getAudioInputStream(dstFormat, audioIn);
95   - File file = new File(path);
96   - WaveFileWriter writer = new WaveFileWriter();
97   - writer.write(convertedIn, AudioFileFormat.Type.WAVE, file);
98   - }
99   -}
100 1 \ No newline at end of file
  2 +//package com.bsth.data.zndd.voice;
  3 +//
  4 +//import com.alibaba.fastjson.JSON;
  5 +//import com.alibaba.fastjson.JSONObject;
  6 +//import com.sun.media.sound.WaveFileReader;
  7 +//import com.sun.media.sound.WaveFileWriter;
  8 +//import org.slf4j.Logger;
  9 +//import org.slf4j.LoggerFactory;
  10 +//import org.springframework.util.Assert;
  11 +//import org.springframework.util.StringUtils;
  12 +//import org.vosk.LibVosk;
  13 +//import org.vosk.LogLevel;
  14 +//import org.vosk.Model;
  15 +//import org.vosk.Recognizer;
  16 +//
  17 +//import javax.sound.sampled.*;
  18 +//import java.io.*;
  19 +//import java.nio.file.Files;
  20 +//import java.nio.file.Paths;
  21 +//
  22 +//public class VoiceUtil {
  23 +// /* @Value("${leenleda.vosk.model}")
  24 +// private String VOSKMODELPATH;*/
  25 +//
  26 +// Logger log = LoggerFactory.getLogger(this.getClass());
  27 +// public String getWord(String filePath) throws IOException, UnsupportedAudioFileException {
  28 +// Assert.isTrue(StringUtils.hasLength("D:\\pcm\\vosk-model-small-cn-0.22"), "无效的VOS模块!");
  29 +// byte[] bytes = Files.readAllBytes(Paths.get(filePath));
  30 +// // 转换为16KHZ
  31 +// reSamplingAndSave(bytes, filePath);
  32 +// File f = new File(filePath);
  33 +// RandomAccessFile rdf = null;
  34 +// rdf = new RandomAccessFile(f, "r");
  35 +// log.info("声音尺寸:{}", toInt(read(rdf, 4, 4)));
  36 +// log.info("音频格式:{}", toShort(read(rdf, 20, 2)));
  37 +// short track = toShort(read(rdf, 22, 2));
  38 +// log.info("1 单声道 2 双声道: {}", track);
  39 +// log.info("采样率、音频采样级别 16000 = 16KHz: {}", toInt(read(rdf, 24, 4)));
  40 +// log.info("每秒波形的数据量:{}", toShort(read(rdf, 22, 2)));
  41 +// log.info("采样帧的大小:{}", toShort(read(rdf, 32, 2)));
  42 +// log.info("采样位数:{}", toShort(read(rdf, 34, 2)));
  43 +// rdf.close();
  44 +// LibVosk.setLogLevel(LogLevel.WARNINGS);
  45 +// try (
  46 +// Model model = new Model("D:\\pcm\\vosk-model-small-cn-0.22");
  47 +// InputStream ais = AudioSystem.getAudioInputStream(new BufferedInputStream(new FileInputStream(filePath)));
  48 +// // 采样率为音频采样率的声道倍数
  49 +// Recognizer recognizer = new Recognizer(model, 16000 * track)) {
  50 +//
  51 +// recognizer.setWords(true);
  52 +//
  53 +// String result = recognizer.getFinalResult();
  54 +// log.info("识别结果:{}", result);
  55 +// if (StringUtils.hasLength(result)) {
  56 +// JSONObject jsonObject = JSON.parseObject(result);
  57 +// return jsonObject.getString("text").replace(" ", "");
  58 +// }
  59 +// return "";
  60 +// }
  61 +//
  62 +//
  63 +//
  64 +// }
  65 +//
  66 +// public static int toInt(byte[] b) {
  67 +// return (((b[3] & 0xff) << 24) + ((b[2] & 0xff) << 16) + ((b[1] & 0xff) << 8) + ((b[0] & 0xff) << 0));
  68 +// }
  69 +//
  70 +// public static short toShort(byte[] b) {
  71 +// return (short) ((b[1] << 8) + (b[0] << 0));
  72 +// }
  73 +//
  74 +// public static byte[] read(RandomAccessFile rdf, int pos, int length) throws IOException {
  75 +// rdf.seek(pos);
  76 +// byte result[] = new byte[length];
  77 +// for (int i = 0; i < length; i++) {
  78 +// result[i] = rdf.readByte();
  79 +// }
  80 +// return result;
  81 +// }
  82 +//
  83 +// public static void reSamplingAndSave(byte[] data, String path) throws IOException, UnsupportedAudioFileException {
  84 +// WaveFileReader reader = new WaveFileReader();
  85 +// AudioInputStream audioIn = reader.getAudioInputStream(new ByteArrayInputStream(data));
  86 +// AudioFormat srcFormat = audioIn.getFormat();
  87 +// int targetSampleRate = 16000;
  88 +// AudioFormat dstFormat = new AudioFormat(srcFormat.getEncoding(),
  89 +// targetSampleRate,
  90 +// srcFormat.getSampleSizeInBits(),
  91 +// srcFormat.getChannels(),
  92 +// srcFormat.getFrameSize(),
  93 +// srcFormat.getFrameRate(),
  94 +// srcFormat.isBigEndian());
  95 +// AudioInputStream convertedIn = AudioSystem.getAudioInputStream(dstFormat, audioIn);
  96 +// File file = new File(path);
  97 +// WaveFileWriter writer = new WaveFileWriter();
  98 +// writer.write(convertedIn, AudioFileFormat.Type.WAVE, file);
  99 +// }*/
  100 +//}
101 101 \ No newline at end of file
... ...
src/main/java/com/bsth/entity/Cars.java
1 1 package com.bsth.entity;
2 2  
3 3 import com.bsth.entity.schedule.BEntity;
  4 +import com.fasterxml.jackson.annotation.JsonIgnore;
4 5 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
5 6 import org.hibernate.annotations.Formula;
6 7  
... ... @@ -145,6 +146,24 @@ public class Cars extends BEntity implements Serializable {
145 146 /** 线路名称(TODO:在原系统里没有,这里暂时留着,并且不做线路关联,只保留个名字) */
146 147 private String xlmc;
147 148  
  149 +
  150 + //** 车辆颜色 *//*
  151 + @Transient
  152 + @JsonIgnore
  153 + private String color;
  154 + //** 车辆最大乘坐人数 *//*
  155 + @Transient
  156 + @JsonIgnore
  157 + private String maxPeople;
  158 + //** 票价类型 *//*
  159 + @Transient
  160 + @JsonIgnore
  161 + private String priceType;
  162 + //** 票价 *//*
  163 + @Transient
  164 + @JsonIgnore
  165 + private String price;
  166 +
148 167 public Cars() {}
149 168  
150 169 public Cars(Object id, Object nbbh, Object clbh, Object cph, Object sbbh) {
... ... @@ -164,7 +183,40 @@ public class Cars extends BEntity implements Serializable {
164 183 this.equipmentCode = sbbh.toString();
165 184 }
166 185 }
167   -
  186 +
  187 +
  188 + public String getColor() {
  189 + return color;
  190 + }
  191 +
  192 + public void setColor(String color) {
  193 + this.color = color;
  194 + }
  195 +
  196 + public String getMaxPeople() {
  197 + return maxPeople;
  198 + }
  199 +
  200 + public void setMaxPeople(String maxPeople) {
  201 + this.maxPeople = maxPeople;
  202 + }
  203 +
  204 + public String getPriceType() {
  205 + return priceType;
  206 + }
  207 +
  208 + public void setPriceType(String priceType) {
  209 + this.priceType = priceType;
  210 + }
  211 +
  212 + public String getPrice() {
  213 + return price;
  214 + }
  215 +
  216 + public void setPrice(String price) {
  217 + this.price = price;
  218 + }
  219 +
168 220 public String getServiceNo() {
169 221 return serviceNo;
170 222 }
... ...
src/main/java/com/bsth/entity/DKLInfo.java 0 → 100644
  1 +package com.bsth.entity;
  2 +
  3 +import javax.persistence.*;
  4 +import java.util.Date;
  5 +
  6 +
  7 +
  8 +@Entity
  9 +@Table(name = "dkl_info")
  10 +public class DKLInfo {
  11 +
  12 + // ID
  13 + @Id
  14 + @GeneratedValue(strategy = GenerationType.IDENTITY)
  15 + private Integer id;
  16 +
  17 + private String lineCode;
  18 +
  19 + private String lineName;
  20 +
  21 + private String stationCode;
  22 +
  23 + private String stationName;
  24 +
  25 + private int num;
  26 +
  27 + private String upDown;
  28 +
  29 + private String image;
  30 +
  31 + // 创建日期
  32 + @Column(updatable = false, name = "create_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP")
  33 + private Date createDate;
  34 +
  35 +
  36 + public Integer getId() {
  37 + return id;
  38 + }
  39 +
  40 + public void setId(Integer id) {
  41 + this.id = id;
  42 + }
  43 +
  44 + public String getLineCode() {
  45 + return lineCode;
  46 + }
  47 +
  48 + public void setLineCode(String lineCode) {
  49 + this.lineCode = lineCode;
  50 + }
  51 +
  52 + public String getLineName() {
  53 + return lineName;
  54 + }
  55 +
  56 + public void setLineName(String lineName) {
  57 + this.lineName = lineName;
  58 + }
  59 +
  60 + public String getStationCode() {
  61 + return stationCode;
  62 + }
  63 +
  64 + public void setStationCode(String stationCode) {
  65 + this.stationCode = stationCode;
  66 + }
  67 +
  68 + public String getStationName() {
  69 + return stationName;
  70 + }
  71 +
  72 + public void setStationName(String stationName) {
  73 + this.stationName = stationName;
  74 + }
  75 +
  76 + public int getNum() {
  77 + return num;
  78 + }
  79 +
  80 + public void setNum(int num) {
  81 + this.num = num;
  82 + }
  83 +
  84 + public String getUpDown() {
  85 + return upDown;
  86 + }
  87 +
  88 + public void setUpDown(String upDown) {
  89 + this.upDown = upDown;
  90 + }
  91 +
  92 + public String getImage() {
  93 + return image;
  94 + }
  95 +
  96 + public void setImage(String image) {
  97 + this.image = image;
  98 + }
  99 +
  100 + public Date getCreateDate() {
  101 + return createDate;
  102 + }
  103 +
  104 + public void setCreateDate(Date createDate) {
  105 + this.createDate = createDate;
  106 + }
  107 +
  108 +}
... ...
src/main/java/com/bsth/entity/directive/D80.java
... ... @@ -78,6 +78,7 @@ public class D80 {
78 78 @JsonIgnore
79 79 private Short requestCode;
80 80  
  81 +
81 82 public Long getSchId() {
82 83 return schId;
83 84 }
... ... @@ -110,6 +111,30 @@ public class D80 {
110 111 this.requestCode = requestCode;
111 112 }
112 113  
  114 + @Transient
  115 + @JsonIgnore
  116 + private String stationName;
  117 + @Transient
  118 + @JsonIgnore
  119 + private Long nextschId;
  120 +
  121 + public Long getNextschId() {
  122 + return nextschId;
  123 + }
  124 +
  125 + public void setNextschId(Long nextschId) {
  126 + this.nextschId = nextschId;
  127 + }
  128 +
  129 + public String getStationName() {
  130 + return stationName;
  131 + }
  132 +
  133 + public void setStationName(String stationName) {
  134 + this.stationName = stationName;
  135 + }
  136 +
  137 +
113 138 @Embeddable
114 139 public static class D80Data {
115 140  
... ... @@ -121,6 +146,9 @@ public class D80 {
121 146 /**
122 147 * 请求代码 0xa1 恢复运营 0xa2 申请调档 0xa3 出场请求 0xa5 进场请求 0xa7 加油请求 0x50 车辆故障 0x70
123 148 * 路阻报告 0x60 事故报告 0x11 扣证纠纷 0x12 报警 0x10 S0S
  149 + * 0x21 单车有人伤 0x22 单车无人伤
  150 + * 0x23 双车有人伤 0x24 双车无人伤
  151 + *
124 152 */
125 153 private Short requestCode;
126 154  
... ... @@ -134,7 +162,48 @@ public class D80 {
134 162 */
135 163 @Transient
136 164 private String nbbm;
137   -
  165 + /**
  166 + * 经度
  167 + */
  168 + @Transient
  169 + @JsonIgnore
  170 + private Float lon;
  171 +
  172 + /**
  173 + * 纬度
  174 + */
  175 + @Transient
  176 + @JsonIgnore
  177 + private Float lat;
  178 + @Transient
  179 + @JsonIgnore
  180 + private String stopNo;
  181 +
  182 +
  183 + public String getStopNo() {
  184 + return stopNo;
  185 + }
  186 +
  187 + public void setStopNo(String stopNo) {
  188 + this.stopNo = stopNo;
  189 + }
  190 +
  191 + public Float getLon() {
  192 + return lon;
  193 + }
  194 +
  195 + public void setLon(Float lon) {
  196 + this.lon = lon;
  197 + }
  198 +
  199 + public Float getLat() {
  200 + return lat;
  201 + }
  202 +
  203 + public void setLat(Float lat) {
  204 + this.lat = lat;
  205 + }
  206 +
138 207 public Short getOperCode2() {
139 208 return operCode2;
140 209 }
... ...
src/main/java/com/bsth/entity/lg_travel/Region.java 0 → 100644
  1 +package com.bsth.entity.lg_travel;
  2 +
  3 +import com.bsth.entity.schedule.BEntity;
  4 +
  5 +import javax.persistence.Entity;
  6 +import javax.persistence.Id;
  7 +import javax.persistence.Table;
  8 +import java.io.Serializable;
  9 +
  10 +/**
  11 + * 区域
  12 + */
  13 +@Entity
  14 +@Table(name = "bsth_c_region")
  15 +public class Region extends BEntity implements Serializable {
  16 + @Id
  17 + private Long id;
  18 + //区域名称
  19 + private String name;
  20 + //是否删除
  21 + private String destroy;
  22 +
  23 +
  24 +
  25 +
  26 + public void setId(Long id) {
  27 + this.id = id;
  28 + }
  29 +
  30 + public Long getId() {
  31 + return id;
  32 + }
  33 +
  34 + public String getName() {
  35 + return name;
  36 + }
  37 +
  38 + public void setName(String name) {
  39 + this.name = name;
  40 + }
  41 +
  42 + public String getDestroy() {
  43 + return destroy;
  44 + }
  45 +
  46 + public void setDestroy(String destroy) {
  47 + this.destroy = destroy;
  48 + }
  49 +}
0 50 \ No newline at end of file
... ...
src/main/java/com/bsth/entity/lg_travel/RegionLineCar.java 0 → 100644
  1 +package com.bsth.entity.lg_travel;
  2 +
  3 +import com.bsth.entity.Line;
  4 +import com.bsth.entity.schedule.BEntity;
  5 +
  6 +import javax.persistence.*;
  7 +import java.io.Serializable;
  8 +
  9 +/**
  10 + * 区域
  11 + */
  12 +@Entity
  13 +@Table(name = "bsth_c_region_line_car")
  14 +public class RegionLineCar extends BEntity implements Serializable {
  15 + @Id
  16 + @GeneratedValue(strategy = GenerationType.IDENTITY)
  17 + private Long id;
  18 + //区域名称
  19 + @ManyToOne
  20 + private Region region;
  21 + //线路
  22 + @ManyToOne
  23 + private Line line;
  24 + //线路名称
  25 + private String lineName;
  26 + //车辆自编号
  27 + private String clZbh;
  28 +
  29 + public Long getId() {
  30 + return id;
  31 + }
  32 +
  33 + public void setId(Long id) {
  34 + this.id = id;
  35 + }
  36 +
  37 +
  38 + public Region getRegion() {
  39 + return region;
  40 + }
  41 +
  42 + public void setRegion(Region region) {
  43 + this.region = region;
  44 + }
  45 +
  46 + public Line getLine() {
  47 + return line;
  48 + }
  49 +
  50 + public void setLine(Line line) {
  51 + this.line = line;
  52 + }
  53 +
  54 + public String getLineName() {
  55 + return lineName;
  56 + }
  57 +
  58 + public void setLineName(String lineName) {
  59 + this.lineName = lineName;
  60 + }
  61 +
  62 + public String getClZbh() {
  63 + return clZbh;
  64 + }
  65 +
  66 + public void setClZbh(String clZbh) {
  67 + this.clZbh = clZbh;
  68 + }
  69 +
  70 +
  71 +}
0 72 \ No newline at end of file
... ...
src/main/java/com/bsth/entity/oil/Dlb.java
1   -package com.bsth.entity.oil;
2   -
3   -import java.text.DecimalFormat;
4   -import java.util.Date;
5   -
6   -import javax.persistence.*;
7   -
8   -import org.springframework.format.annotation.DateTimeFormat;
9   -
10   -import com.bsth.data.BasicData;
11   -
12   -@Entity
13   -@Table(name = "bsth_c_dlb")
14   -public class Dlb {
15   - @Id
16   - @GeneratedValue(strategy = GenerationType.IDENTITY)
17   - private Integer id;
18   - @DateTimeFormat(pattern="yyyy-MM-dd")
19   - private Date rq;
20   - private String xlbm;
21   - private String linename;
22   - private String ssgsdm;
23   - private String fgsdm;
24   - private String nbbm;
25   - private String jsy;
26   - private Double czlc=0.0;
27   - private Double jzlc=0.0;
28   - //出站存电
29   - private Double czcd=0.0;
30   - //进站存电
31   - private Double jzcd=0.0;
32   - //充电量
33   - private Double cdl;
34   - private int sfkt;
35   - private String jhsj;
36   - //耗电
37   - private Double hd=0.0;
38   - private Double sh=0.0;
39   - private String shyy;
40   - private Double zlc=0.0;
41   - private int yhlx;
42   -
43   - private Double ns=0.0;
44   - private Double fyylc=0.0;
45   - private Double jhzlc=0.0;
46   - private Double jhfyylc=0.0;
47   - private int jhzbc;
48   - private int jhbc;
49   - private int sjzbc;
50   - private int sjbc;
51   - private String edituser;
52   - private Date edittime;
53   - private Date createtime;
54   - private Date updatetime;
55   - private int nylx;
56   - //进场顺序(根据最先出场和最后进场来关联车辆的存电量)
57   - private int jcsx;
58   -
59   - private String jname;
60   - @Transient
61   - private String name;
62   - @Transient
63   - private String bglyh;
64   -
65   - @Transient
66   - private String xlname;
67   -
68   - @Transient
69   - private String gsname;
70   -
71   - @Transient
72   - private String fgsname;
73   -
74   -
75   -
76   - private String lp;
77   -
78   - public Integer getId() {
79   - return id;
80   - }
81   -
82   - public void setId(Integer id) {
83   - this.id = id;
84   - }
85   -
86   - public Date getRq() {
87   - return rq;
88   - }
89   -
90   - public void setRq(Date rq) {
91   - this.rq = rq;
92   - }
93   -
94   - public String getXlbm() {
95   - return xlbm;
96   - }
97   -
98   - public void setXlbm(String xlbm) {
99   - this.xlbm = xlbm;
100   - }
101   -
102   - public String getLinename() {
103   - return linename;
104   - }
105   -
106   - public void setLinename(String linename) {
107   - this.linename = linename;
108   - }
109   -
110   - public String getSsgsdm() {
111   - return ssgsdm;
112   - }
113   -
114   - public void setSsgsdm(String ssgsdm) {
115   - this.ssgsdm = ssgsdm;
116   - }
117   -
118   - public String getFgsdm() {
119   - return fgsdm;
120   - }
121   -
122   - public void setFgsdm(String fgsdm) {
123   - this.fgsdm = fgsdm;
124   - }
125   -
126   - public String getNbbm() {
127   - return nbbm;
128   - }
129   -
130   - public void setNbbm(String nbbm) {
131   - this.nbbm = nbbm;
132   - }
133   -
134   - public String getJsy() {
135   - return jsy;
136   - }
137   -
138   - public void setJsy(String jsy) {
139   - this.jsy = jsy;
140   - }
141   -
142   - public Double getCzlc() {
143   - return czlc;
144   - }
145   -
146   - public void setCzlc(Double czlc) {
147   - this.czlc = czlc;
148   - }
149   -
150   - public Double getJzlc() {
151   - return jzlc;
152   - }
153   -
154   - public void setJzlc(Double jzlc) {
155   - this.jzlc = jzlc;
156   - }
157   -
158   - public Double getCzcd() {
159   - return czcd;
160   - }
161   -
162   - public void setCzcd(Double czcd) {
163   - this.czcd = czcd;
164   - }
165   -
166   - public Double getJzcd() {
167   - return jzcd;
168   - }
169   -
170   - public void setJzcd(Double jzcd) {
171   - this.jzcd = jzcd;
172   - }
173   -
174   - public Double getCdl() {
175   - return cdl;
176   - }
177   -
178   - public void setCdl(Double cdl) {
179   - this.cdl = cdl;
180   - }
181   -
182   - public int getSfkt() {
183   - return sfkt;
184   - }
185   -
186   - public void setSfkt(int sfkt) {
187   - this.sfkt = sfkt;
188   - }
189   -
190   - public String getJhsj() {
191   - return jhsj;
192   - }
193   -
194   - public void setJhsj(String jhsj) {
195   - this.jhsj = jhsj;
196   - }
197   -
198   - public Double getHd() {
199   - return hd;
200   - }
201   -
202   - public void setHd(Double hd) {
203   - this.hd = hd;
204   - }
205   -
206   - public Double getSh() {
207   - return sh;
208   - }
209   -
210   - public void setSh(Double sh) {
211   - this.sh = sh;
212   - }
213   -
214   - public String getShyy() {
215   - return shyy;
216   - }
217   -
218   - public void setShyy(String shyy) {
219   - this.shyy = shyy;
220   - }
221   -
222   - public Double getZlc() {
223   - return zlc;
224   - }
225   -
226   - public void setZlc(Double zlc) {
227   - this.zlc = zlc;
228   - }
229   -
230   - public int getYhlx() {
231   - return yhlx;
232   - }
233   -
234   - public void setYhlx(int yhlx) {
235   - this.yhlx = yhlx;
236   - }
237   -
238   - public Double getNs() {
239   - return ns;
240   - }
241   -
242   - public void setNs(Double ns) {
243   - this.ns = ns;
244   - }
245   -
246   - public Double getFyylc() {
247   - return fyylc;
248   - }
249   -
250   - public void setFyylc(Double fyylc) {
251   - this.fyylc = fyylc;
252   - }
253   -
254   - public Double getJhzlc() {
255   - return jhzlc;
256   - }
257   -
258   - public void setJhzlc(Double jhzlc) {
259   - this.jhzlc = jhzlc;
260   - }
261   -
262   - public Double getJhfyylc() {
263   - return jhfyylc;
264   - }
265   -
266   - public void setJhfyylc(Double jhfyylc) {
267   - this.jhfyylc = jhfyylc;
268   - }
269   -
270   - public int getJhzbc() {
271   - return jhzbc;
272   - }
273   -
274   - public void setJhzbc(int jhzbc) {
275   - this.jhzbc = jhzbc;
276   - }
277   -
278   - public int getJhbc() {
279   - return jhbc;
280   - }
281   -
282   - public void setJhbc(int jhbc) {
283   - this.jhbc = jhbc;
284   - }
285   -
286   - public int getSjzbc() {
287   - return sjzbc;
288   - }
289   -
290   - public void setSjzbc(int sjzbc) {
291   - this.sjzbc = sjzbc;
292   - }
293   -
294   - public int getSjbc() {
295   - return sjbc;
296   - }
297   -
298   - public void setSjbc(int sjbc) {
299   - this.sjbc = sjbc;
300   - }
301   -
302   - public String getEdituser() {
303   - return edituser;
304   - }
305   -
306   - public void setEdituser(String edituser) {
307   - this.edituser = edituser;
308   - }
309   -
310   - public Date getEdittime() {
311   - return edittime;
312   - }
313   -
314   - public void setEdittime(Date edittime) {
315   - this.edittime = edittime;
316   - }
317   -
318   - public Date getCreatetime() {
319   - return createtime;
320   - }
321   -
322   - public void setCreatetime(Date createtime) {
323   - this.createtime = createtime;
324   - }
325   -
326   - public int getNylx() {
327   - return nylx;
328   - }
329   -
330   - public void setNylx(int nylx) {
331   - this.nylx = nylx;
332   - }
333   -
334   - public int getJcsx() {
335   - return jcsx;
336   - }
337   -
338   - public void setJcsx(int jcsx) {
339   - this.jcsx = jcsx;
340   - }
341   -
342   - public String getBglyh() {
343   - if(this.getZlc()==0){
344   - return "0";
345   - }else{
346   - DecimalFormat df = new DecimalFormat("0.00");
347   - return df.format(this.getHd()/this.getZlc()*100);
348   - }
349   - }
350   -
351   - public void setBglyh(String bglyh) {
352   - this.bglyh = bglyh;
353   - }
354   -
355   - public String getXlname() {
356   - return BasicData.lineCodeAllNameMap.get(this.xlbm);
357   - }
358   -
359   - public void setXlname(String xlname) {
360   - this.xlname = xlname;
361   - }
362   -
363   - public String getGsname() {
364   - return BasicData.businessCodeNameMap.get(this.ssgsdm);
365   - }
366   -
367   - public void setGsname(String gsname) {
368   - this.gsname = gsname;
369   - }
370   -
371   - public String getName() {
372   - return BasicData.allPerson.get(this.ssgsdm+"-"+this.jsy);
373   - }
374   -
375   - public void setName(String name) {
376   - this.name = name;
377   - }
378   -
379   - public String getFgsname() {
380   - return BasicData.businessFgsCodeNameMap.get(this.fgsdm+"_"+this.ssgsdm);
381   - }
382   -
383   - public void setFgsname(String fgsname) {
384   - this.fgsname = fgsname;
385   - }
386   -
387   - public Date getUpdatetime() {
388   - return updatetime;
389   - }
390   -
391   - public void setUpdatetime(Date updatetime) {
392   - this.updatetime = updatetime;
393   - }
394   -
395   - public String getLp() {
396   - return lp;
397   - }
398   -
399   - public void setLp(String lp) {
400   - this.lp = lp;
401   - }
402   -
403   - public String getJname() {
404   - return jname;
405   - }
406   -
407   - public void setJname(String jname) {
408   - this.jname = jname;
409   - }
410   -
411   -
412   -
413   -}
  1 +package com.bsth.entity.oil;
  2 +
  3 +import java.text.DecimalFormat;
  4 +import java.util.Date;
  5 +
  6 +import javax.persistence.*;
  7 +
  8 +import org.springframework.format.annotation.DateTimeFormat;
  9 +
  10 +import com.bsth.data.BasicData;
  11 +
  12 +@Entity
  13 +@Table(name = "bsth_c_dlb")
  14 +public class Dlb {
  15 + @Id
  16 + @GeneratedValue(strategy = GenerationType.IDENTITY)
  17 + private Integer id;
  18 + @DateTimeFormat(pattern="yyyy-MM-dd")
  19 + private Date rq;
  20 + private String xlbm;
  21 + private String linename;
  22 + private String ssgsdm;
  23 + private String fgsdm;
  24 + private String nbbm;
  25 + private String jsy;
  26 + private Double czlc=0.0;
  27 + private Double jzlc=0.0;
  28 + //出站存电
  29 + private Double czcd=0.0;
  30 + //进站存电
  31 + private Double jzcd=0.0;
  32 + //充电量
  33 + private Double cdl;
  34 + private int sfkt;
  35 + private String jhsj;
  36 + //耗电
  37 + private Double hd=0.0;
  38 + private Double sh=0.0;
  39 + private String shyy;
  40 + private Double zlc=0.0;
  41 + private int yhlx;
  42 +
  43 + private Double ns=0.0;
  44 + private Double fyylc=0.0;
  45 + private Double jhzlc=0.0;
  46 + private Double jhfyylc=0.0;
  47 + private int jhzbc;
  48 + private int jhbc;
  49 + private int sjzbc;
  50 + private int sjbc;
  51 + private String edituser;
  52 + private Date edittime;
  53 + private Date createtime;
  54 + private Date updatetime;
  55 + private int nylx;
  56 + //进场顺序(根据最先出场和最后进场来关联车辆的存电量)
  57 + private int jcsx;
  58 +
  59 + private String jname;
  60 + @Transient
  61 + private String name;
  62 + @Transient
  63 + private String bglyh;
  64 +
  65 + @Transient
  66 + private String xlname;
  67 +
  68 + @Transient
  69 + private String gsname;
  70 +
  71 + @Transient
  72 + private String fgsname;
  73 +
  74 +
  75 +
  76 + private String lp;
  77 +
  78 + public Integer getId() {
  79 + return id;
  80 + }
  81 +
  82 + public void setId(Integer id) {
  83 + this.id = id;
  84 + }
  85 +
  86 + public Date getRq() {
  87 + return rq;
  88 + }
  89 +
  90 + public void setRq(Date rq) {
  91 + this.rq = rq;
  92 + }
  93 +
  94 + public String getXlbm() {
  95 + return xlbm;
  96 + }
  97 +
  98 + public void setXlbm(String xlbm) {
  99 + this.xlbm = xlbm;
  100 + }
  101 +
  102 + public String getLinename() {
  103 + return linename;
  104 + }
  105 +
  106 + public void setLinename(String linename) {
  107 + this.linename = linename;
  108 + }
  109 +
  110 + public String getSsgsdm() {
  111 + return ssgsdm;
  112 + }
  113 +
  114 + public void setSsgsdm(String ssgsdm) {
  115 + this.ssgsdm = ssgsdm;
  116 + }
  117 +
  118 + public String getFgsdm() {
  119 + return fgsdm;
  120 + }
  121 +
  122 + public void setFgsdm(String fgsdm) {
  123 + this.fgsdm = fgsdm;
  124 + }
  125 +
  126 + public String getNbbm() {
  127 + return nbbm;
  128 + }
  129 +
  130 + public void setNbbm(String nbbm) {
  131 + this.nbbm = nbbm;
  132 + }
  133 +
  134 + public String getJsy() {
  135 + return jsy;
  136 + }
  137 +
  138 + public void setJsy(String jsy) {
  139 + this.jsy = jsy;
  140 + }
  141 +
  142 + public Double getCzlc() {
  143 + return czlc;
  144 + }
  145 +
  146 + public void setCzlc(Double czlc) {
  147 + this.czlc = czlc;
  148 + }
  149 +
  150 + public Double getJzlc() {
  151 + return jzlc;
  152 + }
  153 +
  154 + public void setJzlc(Double jzlc) {
  155 + this.jzlc = jzlc;
  156 + }
  157 +
  158 + public Double getCzcd() {
  159 + return czcd;
  160 + }
  161 +
  162 + public void setCzcd(Double czcd) {
  163 + this.czcd = czcd;
  164 + }
  165 +
  166 + public Double getJzcd() {
  167 + return jzcd;
  168 + }
  169 +
  170 + public void setJzcd(Double jzcd) {
  171 + this.jzcd = jzcd;
  172 + }
  173 +
  174 + public Double getCdl() {
  175 + return cdl;
  176 + }
  177 +
  178 + public void setCdl(Double cdl) {
  179 + this.cdl = cdl;
  180 + }
  181 +
  182 + public int getSfkt() {
  183 + return sfkt;
  184 + }
  185 +
  186 + public void setSfkt(int sfkt) {
  187 + this.sfkt = sfkt;
  188 + }
  189 +
  190 + public String getJhsj() {
  191 + return jhsj;
  192 + }
  193 +
  194 + public void setJhsj(String jhsj) {
  195 + this.jhsj = jhsj;
  196 + }
  197 +
  198 + public Double getHd() {
  199 + return hd;
  200 + }
  201 +
  202 + public void setHd(Double hd) {
  203 + this.hd = hd;
  204 + }
  205 +
  206 + public Double getSh() {
  207 + return sh;
  208 + }
  209 +
  210 + public void setSh(Double sh) {
  211 + this.sh = sh;
  212 + }
  213 +
  214 + public String getShyy() {
  215 + return shyy;
  216 + }
  217 +
  218 + public void setShyy(String shyy) {
  219 + this.shyy = shyy;
  220 + }
  221 +
  222 + public Double getZlc() {
  223 + return zlc;
  224 + }
  225 +
  226 + public void setZlc(Double zlc) {
  227 + this.zlc = zlc;
  228 + }
  229 +
  230 + public int getYhlx() {
  231 + return yhlx;
  232 + }
  233 +
  234 + public void setYhlx(int yhlx) {
  235 + this.yhlx = yhlx;
  236 + }
  237 +
  238 + public Double getNs() {
  239 + return ns;
  240 + }
  241 +
  242 + public void setNs(Double ns) {
  243 + this.ns = ns;
  244 + }
  245 +
  246 + public Double getFyylc() {
  247 + return fyylc;
  248 + }
  249 +
  250 + public void setFyylc(Double fyylc) {
  251 + this.fyylc = fyylc;
  252 + }
  253 +
  254 + public Double getJhzlc() {
  255 + return jhzlc;
  256 + }
  257 +
  258 + public void setJhzlc(Double jhzlc) {
  259 + this.jhzlc = jhzlc;
  260 + }
  261 +
  262 + public Double getJhfyylc() {
  263 + return jhfyylc;
  264 + }
  265 +
  266 + public void setJhfyylc(Double jhfyylc) {
  267 + this.jhfyylc = jhfyylc;
  268 + }
  269 +
  270 + public int getJhzbc() {
  271 + return jhzbc;
  272 + }
  273 +
  274 + public void setJhzbc(int jhzbc) {
  275 + this.jhzbc = jhzbc;
  276 + }
  277 +
  278 + public int getJhbc() {
  279 + return jhbc;
  280 + }
  281 +
  282 + public void setJhbc(int jhbc) {
  283 + this.jhbc = jhbc;
  284 + }
  285 +
  286 + public int getSjzbc() {
  287 + return sjzbc;
  288 + }
  289 +
  290 + public void setSjzbc(int sjzbc) {
  291 + this.sjzbc = sjzbc;
  292 + }
  293 +
  294 + public int getSjbc() {
  295 + return sjbc;
  296 + }
  297 +
  298 + public void setSjbc(int sjbc) {
  299 + this.sjbc = sjbc;
  300 + }
  301 +
  302 + public String getEdituser() {
  303 + return edituser;
  304 + }
  305 +
  306 + public void setEdituser(String edituser) {
  307 + this.edituser = edituser;
  308 + }
  309 +
  310 + public Date getEdittime() {
  311 + return edittime;
  312 + }
  313 +
  314 + public void setEdittime(Date edittime) {
  315 + this.edittime = edittime;
  316 + }
  317 +
  318 + public Date getCreatetime() {
  319 + return createtime;
  320 + }
  321 +
  322 + public void setCreatetime(Date createtime) {
  323 + this.createtime = createtime;
  324 + }
  325 +
  326 + public int getNylx() {
  327 + return nylx;
  328 + }
  329 +
  330 + public void setNylx(int nylx) {
  331 + this.nylx = nylx;
  332 + }
  333 +
  334 + public int getJcsx() {
  335 + return jcsx;
  336 + }
  337 +
  338 + public void setJcsx(int jcsx) {
  339 + this.jcsx = jcsx;
  340 + }
  341 +
  342 + public String getBglyh() {
  343 + if(this.getZlc()==0){
  344 + return "0";
  345 + }else{
  346 + DecimalFormat df = new DecimalFormat("0.000");
  347 + return df.format(this.getHd()/this.getZlc()*100);
  348 + }
  349 + }
  350 +
  351 + public void setBglyh(String bglyh) {
  352 + this.bglyh = bglyh;
  353 + }
  354 +
  355 + public String getXlname() {
  356 + return BasicData.lineCodeAllNameMap.get(this.xlbm);
  357 + }
  358 +
  359 + public void setXlname(String xlname) {
  360 + this.xlname = xlname;
  361 + }
  362 +
  363 + public String getGsname() {
  364 + return BasicData.businessCodeNameMap.get(this.ssgsdm);
  365 + }
  366 +
  367 + public void setGsname(String gsname) {
  368 + this.gsname = gsname;
  369 + }
  370 +
  371 + public String getName() {
  372 + return BasicData.allPerson.get(this.ssgsdm+"-"+this.jsy);
  373 + }
  374 +
  375 + public void setName(String name) {
  376 + this.name = name;
  377 + }
  378 +
  379 + public String getFgsname() {
  380 + return BasicData.businessFgsCodeNameMap.get(this.fgsdm+"_"+this.ssgsdm);
  381 + }
  382 +
  383 + public void setFgsname(String fgsname) {
  384 + this.fgsname = fgsname;
  385 + }
  386 +
  387 + public Date getUpdatetime() {
  388 + return updatetime;
  389 + }
  390 +
  391 + public void setUpdatetime(Date updatetime) {
  392 + this.updatetime = updatetime;
  393 + }
  394 +
  395 + public String getLp() {
  396 + return lp;
  397 + }
  398 +
  399 + public void setLp(String lp) {
  400 + this.lp = lp;
  401 + }
  402 +
  403 + public String getJname() {
  404 + return jname;
  405 + }
  406 +
  407 + public void setJname(String jname) {
  408 + this.jname = jname;
  409 + }
  410 +
  411 +
  412 +
  413 +}
... ...
src/main/java/com/bsth/entity/oil/JdlConnector.java 0 → 100644
  1 +package com.bsth.entity.oil;
  2 +
  3 +import java.util.Date;
  4 +
  5 +import javax.persistence.Entity;
  6 +import javax.persistence.GeneratedValue;
  7 +import javax.persistence.GenerationType;
  8 +import javax.persistence.Id;
  9 +import javax.persistence.Table;
  10 +
  11 +import org.springframework.format.annotation.DateTimeFormat;
  12 +
  13 +/**
  14 +--------------------------------------------------------
  15 + `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
  16 + `connector_name` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '充电枪名称',
  17 + `connector_id` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '充电枪自编号',
  18 + `station_name` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '充电站名称',
  19 + `remark` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '备注',
  20 + `create_by` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '创建人',
  21 + `create_date` datetime DEFAULT NULL COMMENT '创建时间',
  22 + `update_by` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '修改人',
  23 + `update_date` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
  24 +*/
  25 +@Entity
  26 +@Table(name = "bsth_c_jdl_connector")
  27 +public class JdlConnector {
  28 + @Id
  29 + @GeneratedValue(strategy = GenerationType.IDENTITY)
  30 + private Integer id;
  31 + private String connectorName;
  32 + private String connectorId;
  33 + private String stationName;
  34 + private String remark;
  35 + private String createBy;
  36 + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
  37 + private Date createDate;
  38 + private String updateBy;
  39 + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
  40 + private Date updateDate;
  41 +
  42 +
  43 + public Integer getId() {
  44 + return id;
  45 + }
  46 + public void setId(Integer id) {
  47 + this.id = id;
  48 + }
  49 + public String getConnectorName() {
  50 + return connectorName;
  51 + }
  52 + public void setConnectorName(String connectorName) {
  53 + this.connectorName = connectorName;
  54 + }
  55 + public String getConnectorId() {
  56 + return connectorId;
  57 + }
  58 + public void setConnectorId(String connectorId) {
  59 + this.connectorId = connectorId;
  60 + }
  61 + public String getStationName() {
  62 + return stationName;
  63 + }
  64 + public void setStationName(String stationName) {
  65 + this.stationName = stationName;
  66 + }
  67 + public String getRemark() {
  68 + return remark;
  69 + }
  70 + public void setRemark(String remark) {
  71 + this.remark = remark;
  72 + }
  73 + public String getCreateBy() {
  74 + return createBy;
  75 + }
  76 + public void setCreateBy(String createBy) {
  77 + this.createBy = createBy;
  78 + }
  79 + public Date getCreateDate() {
  80 + return createDate;
  81 + }
  82 + public void setCreateDate(Date createDate) {
  83 + this.createDate = createDate;
  84 + }
  85 + public String getUpdateBy() {
  86 + return updateBy;
  87 + }
  88 + public void setUpdateBy(String updateBy) {
  89 + this.updateBy = updateBy;
  90 + }
  91 + public Date getUpdateDate() {
  92 + return updateDate;
  93 + }
  94 + public void setUpdateDate(Date updateDate) {
  95 + this.updateDate = updateDate;
  96 + }
  97 +
  98 +}
0 99 \ No newline at end of file
... ...
src/main/java/com/bsth/entity/oil/JdlReception.java 0 → 100644
  1 +package com.bsth.entity.oil;
  2 +
  3 +import java.util.Date;
  4 +
  5 +import javax.persistence.Entity;
  6 +import javax.persistence.GeneratedValue;
  7 +import javax.persistence.GenerationType;
  8 +import javax.persistence.Id;
  9 +import javax.persistence.Table;
  10 +
  11 +import org.springframework.format.annotation.DateTimeFormat;
  12 +
  13 +/**
  14 +--------------------------------------------------------
  15 + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
  16 + `station_name` varchar(255) DEFAULT NULL COMMENT '站点名称',
  17 + `connector_id` varchar(255) DEFAULT NULL COMMENT '枪编号',
  18 + `connector_name` varchar(255) DEFAULT NULL COMMENT '充电枪名',
  19 + `order_no` varchar(255) DEFAULT NULL COMMENT '订单编号',
  20 + `start_time` varchar(255) DEFAULT NULL COMMENT '充电开始时间',
  21 + `end_time` varchar(255) DEFAULT NULL COMMENT '充电结束时间',
  22 + `start_soc` double(11,2) DEFAULT NULL COMMENT '开始 SOC(%)',
  23 + `end_soc` double(11,2) DEFAULT NULL COMMENT '结束 SOC(%)',
  24 + `stop_reason` varchar(255) DEFAULT NULL COMMENT '终止原因',
  25 + `charge_capacity` double(11,3) DEFAULT NULL COMMENT '充电量,单位:度',
  26 + `electric_charge` double(11,2) DEFAULT NULL COMMENT '电费,单位:元',
  27 + `service_charge` double(11,2) DEFAULT NULL COMMENT '服务费,单位:元',
  28 + `total_amount` double(11,2) DEFAULT NULL COMMENT '总费用,单位:元',
  29 + `vin_code` varchar(255) DEFAULT NULL COMMENT '卡号',
  30 + `card_no` varchar(255) DEFAULT NULL COMMENT 'VIN,车架号',
  31 + `car_code` varchar(255) DEFAULT NULL COMMENT '车牌号',
  32 + `date_str` varchar(255) DEFAULT NULL COMMENT '营运日期',
  33 + `origin` int(2) NOT NULL DEFAULT '0' COMMENT '数据源(0:接口获取;1:导入)',
  34 + `sum_time` bigint(11) DEFAULT NULL COMMENT '总计充电时间(分钟)',
  35 + `pile_id` varchar(255) DEFAULT NULL COMMENT '桩号',
  36 + `create_by` varchar(255) DEFAULT NULL COMMENT '创建人',
  37 + `create_date` datetime DEFAULT NULL COMMENT '创建时间',
  38 + `update_by` varchar(255) DEFAULT NULL COMMENT '修改人',
  39 + `update_date` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
  40 +*/
  41 +@Entity
  42 +@Table(name = "bsth_c_jdl_reception")
  43 +public class JdlReception {
  44 + @Id
  45 + @GeneratedValue(strategy = GenerationType.IDENTITY)
  46 + private Long id;
  47 + private String stationName;
  48 + private String connectorId;
  49 + private String connectorName;
  50 + private String orderNo;
  51 + private String startTime;
  52 + private String endTime;
  53 + private Double startSoc;
  54 + private Double endSoc;
  55 + private String stopReason;
  56 + private Double chargeCapacity;
  57 + private Double electricCharge;
  58 + private Double serviceCharge;
  59 + private Double totalAmount;
  60 + private String vinCode;
  61 + private String cardNo;
  62 + private String carCode;
  63 + private String dateStr;
  64 + private Integer origin;
  65 + private Integer sumTime;
  66 + private String batchNo;
  67 + private String pileId;
  68 + private String remark;
  69 + private String createBy;
  70 + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
  71 + private Date createDate;
  72 + private String updateBy;
  73 + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
  74 + private Date updateDate;
  75 +
  76 +
  77 + public Long getId() {
  78 + return id;
  79 + }
  80 + public void setId(Long id) {
  81 + this.id = id;
  82 + }
  83 + public String getStationName() {
  84 + return stationName;
  85 + }
  86 + public void setStationName(String stationName) {
  87 + this.stationName = stationName;
  88 + }
  89 + public String getConnectorId() {
  90 + return connectorId;
  91 + }
  92 + public void setConnectorId(String connectorId) {
  93 + this.connectorId = connectorId;
  94 + }
  95 + public String getConnectorName() {
  96 + return connectorName;
  97 + }
  98 + public void setConnectorName(String connectorName) {
  99 + this.connectorName = connectorName;
  100 + }
  101 + public String getOrderNo() {
  102 + return orderNo;
  103 + }
  104 + public void setOrderNo(String orderNo) {
  105 + this.orderNo = orderNo;
  106 + }
  107 + public String getStartTime() {
  108 + return startTime;
  109 + }
  110 + public void setStartTime(String startTime) {
  111 + this.startTime = startTime;
  112 + }
  113 + public String getEndTime() {
  114 + return endTime;
  115 + }
  116 + public void setEndTime(String endTime) {
  117 + this.endTime = endTime;
  118 + }
  119 + public Double getStartSoc() {
  120 + return startSoc;
  121 + }
  122 + public void setStartSoc(Double startSoc) {
  123 + this.startSoc = startSoc;
  124 + }
  125 + public Double getEndSoc() {
  126 + return endSoc;
  127 + }
  128 + public void setEndSoc(Double endSoc) {
  129 + this.endSoc = endSoc;
  130 + }
  131 + public String getStopReason() {
  132 + return stopReason;
  133 + }
  134 + public void setStopReason(String stopReason) {
  135 + this.stopReason = stopReason;
  136 + }
  137 + public Double getChargeCapacity() {
  138 + return chargeCapacity;
  139 + }
  140 + public void setChargeCapacity(Double chargeCapacity) {
  141 + this.chargeCapacity = chargeCapacity;
  142 + }
  143 + public Double getElectricCharge() {
  144 + return electricCharge;
  145 + }
  146 + public void setElectricCharge(Double electricCharge) {
  147 + this.electricCharge = electricCharge;
  148 + }
  149 + public Double getServiceCharge() {
  150 + return serviceCharge;
  151 + }
  152 + public void setServiceCharge(Double serviceCharge) {
  153 + this.serviceCharge = serviceCharge;
  154 + }
  155 + public Double getTotalAmount() {
  156 + return totalAmount;
  157 + }
  158 + public void setTotalAmount(Double totalAmount) {
  159 + this.totalAmount = totalAmount;
  160 + }
  161 + public String getVinCode() {
  162 + return vinCode;
  163 + }
  164 + public void setVinCode(String vinCode) {
  165 + this.vinCode = vinCode;
  166 + }
  167 + public String getCardNo() {
  168 + return cardNo;
  169 + }
  170 + public void setCardNo(String cardNo) {
  171 + this.cardNo = cardNo;
  172 + }
  173 + public String getCarCode() {
  174 + return carCode;
  175 + }
  176 + public void setCarCode(String carCode) {
  177 + this.carCode = carCode;
  178 + }
  179 + public String getDateStr() {
  180 + return dateStr;
  181 + }
  182 + public void setDateStr(String dateStr) {
  183 + this.dateStr = dateStr;
  184 + }
  185 + public Integer getOrigin() {
  186 + return origin;
  187 + }
  188 + public void setOrigin(Integer origin) {
  189 + this.origin = origin;
  190 + }
  191 + public Integer getSumTime() {
  192 + return sumTime;
  193 + }
  194 + public void setSumTime(Integer sumTime) {
  195 + this.sumTime = sumTime;
  196 + }
  197 + public String getBatchNo() {
  198 + return batchNo;
  199 + }
  200 + public void setBatchNo(String batchNo) {
  201 + this.batchNo = batchNo;
  202 + }
  203 + public String getPileId() {
  204 + return pileId;
  205 + }
  206 + public void setPileId(String pileId) {
  207 + this.pileId = pileId;
  208 + }
  209 + public String getRemark() {
  210 + return remark;
  211 + }
  212 + public void setRemark(String remark) {
  213 + this.remark = remark;
  214 + }
  215 + public String getCreateBy() {
  216 + return createBy;
  217 + }
  218 + public void setCreateBy(String createBy) {
  219 + this.createBy = createBy;
  220 + }
  221 + public Date getCreateDate() {
  222 + return createDate;
  223 + }
  224 + public void setCreateDate(Date createDate) {
  225 + this.createDate = createDate;
  226 + }
  227 + public String getUpdateBy() {
  228 + return updateBy;
  229 + }
  230 + public void setUpdateBy(String updateBy) {
  231 + this.updateBy = updateBy;
  232 + }
  233 + public Date getUpdateDate() {
  234 + return updateDate;
  235 + }
  236 + public void setUpdateDate(Date updateDate) {
  237 + this.updateDate = updateDate;
  238 + }
  239 +
  240 +}
0 241 \ No newline at end of file
... ...
src/main/java/com/bsth/entity/oil/Qlb.java
... ... @@ -348,7 +348,7 @@ public class Qlb {
348 348 if(this.getZlc()==0){
349 349 return "0";
350 350 }else{
351   - DecimalFormat df = new DecimalFormat("0.00");
  351 + DecimalFormat df = new DecimalFormat("0.000");
352 352 return df.format(this.getHn()/this.getZlc()*100);
353 353 }
354 354 }
... ...
src/main/java/com/bsth/entity/oil/Ylb.java
1   -package com.bsth.entity.oil;
2   -
3   -import java.text.DecimalFormat;
4   -import java.util.Date;
5   -
6   -import javax.persistence.*;
7   -
8   -import org.springframework.format.annotation.DateTimeFormat;
9   -
10   -import com.bsth.data.BasicData;
11   -
12   -@Entity
13   -@Table(name = "bsth_c_ylb")
14   -public class Ylb {
15   - @Id
16   - @GeneratedValue(strategy = GenerationType.IDENTITY)
17   - private Integer id;
18   - @DateTimeFormat(pattern="yyyy-MM-dd")
19   - private Date rq;
20   - private String xlbm;
21   - private String linename;
22   - private String ssgsdm;
23   - private String fgsdm;
24   - private String nbbm;
25   - private String jsy;
26   - private String jname;
27   - private Double czlc=0.0;
28   - private Double jzlc=0.0;
29   - private Double czyl=0.0;
30   - private Double jzyl=0.0;
31   - private Double jzl=0.0;
32   - private int sfkt;
33   - private String jhsj;
34   - private Double yh=0.0;
35   - private Double sh=0.0;
36   - private String shyy;
37   - private Double zlc=0.0;
38   - private int yhlx;
39   - private String rylx="0";
40   - private Double ns=0.0;
41   - private Double fyylc=0.0;
42   - private Double jhzlc=0.0;
43   - private Double jhfyylc=0.0;
44   - private int jhzbc;
45   - private int jhbc;
46   - private int sjzbc;
47   - private int sjbc;
48   - private String edituser;
49   - private Date edittime;
50   - private Date updatetime;
51   - private Date createtime;
52   -
53   - private int nylx;
54   - //进场顺序(根据最先出场和最后进场来关联车辆的存油量)
55   - private int jcsx;
56   -
57   - private String lp;
58   - @Transient
59   - private String bglyh;
60   -
61   - @Transient
62   - private String xlname;
63   -
64   - @Transient
65   - private String gsname;
66   -
67   - @Transient
68   - private String fgsname;
69   -
70   - @Transient
71   - private String name;
72   -
73   - public Integer getId() {
74   - return id;
75   - }
76   -
77   - public void setId(Integer id) {
78   - this.id = id;
79   - }
80   - public Date getRq() {
81   - return rq;
82   - }
83   -
84   - public void setRq(Date rq) {
85   - this.rq = rq;
86   - }
87   -
88   - public String getXlbm() {
89   - return xlbm;
90   - }
91   -
92   - public void setXlbm(String xlbm) {
93   - this.xlbm = xlbm;
94   - }
95   -
96   - public String getLinename() {
97   - return linename;
98   - }
99   -
100   - public void setLinename(String linename) {
101   - this.linename = linename;
102   - }
103   -
104   - public String getSsgsdm() {
105   - return ssgsdm;
106   - }
107   - public void setSsgsdm(String ssgsdm) {
108   - this.ssgsdm = ssgsdm;
109   - }
110   - public String getFgsdm() {
111   - return fgsdm;
112   - }
113   - public void setFgsdm(String fgsdm) {
114   - this.fgsdm = fgsdm;
115   - }
116   - public String getNbbm() {
117   - return nbbm;
118   - }
119   - public void setNbbm(String nbbm) {
120   - this.nbbm = nbbm;
121   - }
122   - public String getJsy() {
123   - return jsy;
124   - }
125   - public void setJsy(String jsy) {
126   - this.jsy = jsy;
127   - }
128   - public Double getCzlc() {
129   - return czlc;
130   - }
131   - public void setCzlc(Double czlc) {
132   - this.czlc = czlc;
133   - }
134   - public Double getJzlc() {
135   - return jzlc;
136   - }
137   - public void setJzlc(Double jzlc) {
138   - this.jzlc = jzlc;
139   - }
140   - public Double getCzyl() {
141   - return czyl;
142   - }
143   - public void setCzyl(Double czyl) {
144   - this.czyl = czyl;
145   - }
146   - public Double getJzyl() {
147   - return jzyl;
148   - }
149   - public void setJzyl(Double jzyl) {
150   - this.jzyl = jzyl;
151   - }
152   - public Double getJzl() {
153   - return jzl;
154   - }
155   - public void setJzl(Double jzl) {
156   - this.jzl = jzl;
157   - }
158   - public int getSfkt() {
159   - return sfkt;
160   - }
161   - public void setSfkt(int sfkt) {
162   - this.sfkt = sfkt;
163   - }
164   - public String getJhsj() {
165   - return jhsj;
166   - }
167   - public void setJhsj(String jhsj) {
168   - this.jhsj = jhsj;
169   - }
170   - public Double getYh() {
171   - return yh;
172   - }
173   - public void setYh(Double yh) {
174   - this.yh = yh;
175   - }
176   - public Double getSh() {
177   - return sh;
178   - }
179   - public void setSh(Double sh) {
180   - this.sh = sh;
181   - }
182   - public String getShyy() {
183   - return shyy;
184   - }
185   - public void setShyy(String shyy) {
186   - this.shyy = shyy;
187   - }
188   - public Double getZlc() {
189   - return zlc;
190   - }
191   - public void setZlc(Double zlc) {
192   - this.zlc = zlc;
193   - }
194   - public int getYhlx() {
195   - return yhlx;
196   - }
197   - public void setYhlx(int yhlx) {
198   - this.yhlx = yhlx;
199   - }
200   - public String getRylx() {
201   - return rylx;
202   - }
203   - public void setRylx(String rylx) {
204   - this.rylx = rylx;
205   - }
206   - public Double getNs() {
207   - return ns;
208   - }
209   - public void setNs(Double ns) {
210   - this.ns = ns;
211   - }
212   - public Double getFyylc() {
213   - return fyylc;
214   - }
215   - public void setFyylc(Double fyylc) {
216   - this.fyylc = fyylc;
217   - }
218   - public Double getJhzlc() {
219   - return jhzlc;
220   - }
221   - public void setJhzlc(Double jhzlc) {
222   - this.jhzlc = jhzlc;
223   - }
224   - public Double getJhfyylc() {
225   - return jhfyylc;
226   - }
227   - public void setJhfyylc(Double jhfyylc) {
228   - this.jhfyylc = jhfyylc;
229   - }
230   - public int getJhzbc() {
231   - return jhzbc;
232   - }
233   - public void setJhzbc(int jhzbc) {
234   - this.jhzbc = jhzbc;
235   - }
236   - public int getJhbc() {
237   - return jhbc;
238   - }
239   - public void setJhbc(int jhbc) {
240   - this.jhbc = jhbc;
241   - }
242   - public int getSjzbc() {
243   - return sjzbc;
244   - }
245   - public void setSjzbc(int sjzbc) {
246   - this.sjzbc = sjzbc;
247   - }
248   - public int getSjbc() {
249   - return sjbc;
250   - }
251   - public void setSjbc(int sjbc) {
252   - this.sjbc = sjbc;
253   - }
254   - public String getEdituser() {
255   - return edituser;
256   - }
257   - public void setEdituser(String edituser) {
258   - this.edituser = edituser;
259   - }
260   - public Date getEdittime() {
261   - return edittime;
262   - }
263   - public void setEdittime(Date edittime) {
264   - this.edittime = edittime;
265   - }
266   - public Date getCreatetime() {
267   - return createtime;
268   - }
269   - public void setCreatetime(Date createtime) {
270   - this.createtime = createtime;
271   - }
272   - public int getNylx() {
273   - return nylx;
274   - }
275   - public void setNylx(int nylx) {
276   - this.nylx = nylx;
277   - }
278   -
279   - public int getJcsx(){
280   - return jcsx;
281   - }
282   -
283   - public void setJcsx(int jcsx){
284   - this.jcsx=jcsx;
285   - }
286   -
287   - public String getBglyh() {
288   - if(this.getZlc()==0){
289   - return "0";
290   - }else{
291   - DecimalFormat df = new DecimalFormat("0.00");
292   - return df.format(this.getYh()/this.getZlc()*100);
293   - }
294   - }
295   -
296   - public void setBglyh(String bglyh) {
297   - this.bglyh = bglyh;
298   - }
299   -
300   - public String getXlname() {
301   - return BasicData.lineCodeAllNameMap.get(this.xlbm);
302   - }
303   -
304   - public void setXlname(String xlname) {
305   - this.xlname = xlname;
306   - }
307   -
308   - public String getGsname() {
309   - return BasicData.businessCodeNameMap.get(this.ssgsdm);
310   - }
311   -
312   - public void setGsname(String gsname) {
313   - this.gsname = gsname;
314   - }
315   -
316   -
317   - public String getFgsname() {
318   - return BasicData.businessFgsCodeNameMap.get(this.fgsdm+"_"+this.ssgsdm);
319   - }
320   -
321   - public void setFgsname(String fgsname) {
322   - this.fgsname = fgsname;
323   - }
324   -
325   - public String getName() {
326   - return BasicData.allPerson.get(this.ssgsdm+"-"+this.jsy);
327   - }
328   -
329   - public void setName(String name) {
330   - this.name = name;
331   - }
332   -
333   -
334   - public Date getUpdatetime() {
335   - return updatetime;
336   - }
337   -
338   - public void setUpdatetime(Date updatetime) {
339   - this.updatetime = updatetime;
340   - }
341   -
342   - public String getLp() {
343   - return lp;
344   - }
345   -
346   - public void setLp(String lp) {
347   - this.lp = lp;
348   - }
349   -
350   - public String getJname() {
351   - return jname;
352   - }
353   -
354   - public void setJname(String jname) {
355   - this.jname = jname;
356   - }
357   -
358   -
359   -}
  1 +package com.bsth.entity.oil;
  2 +
  3 +import java.text.DecimalFormat;
  4 +import java.util.Date;
  5 +
  6 +import javax.persistence.*;
  7 +
  8 +import org.springframework.format.annotation.DateTimeFormat;
  9 +
  10 +import com.bsth.data.BasicData;
  11 +
  12 +@Entity
  13 +@Table(name = "bsth_c_ylb")
  14 +public class Ylb {
  15 + @Id
  16 + @GeneratedValue(strategy = GenerationType.IDENTITY)
  17 + private Integer id;
  18 + @DateTimeFormat(pattern="yyyy-MM-dd")
  19 + private Date rq;
  20 + private String xlbm;
  21 + private String linename;
  22 + private String ssgsdm;
  23 + private String fgsdm;
  24 + private String nbbm;
  25 + private String jsy;
  26 + private String jname;
  27 + private Double czlc=0.0;
  28 + private Double jzlc=0.0;
  29 + private Double czyl=0.0;
  30 + private Double jzyl=0.0;
  31 + private Double jzl=0.0;
  32 + private int sfkt;
  33 + private String jhsj;
  34 + private Double yh=0.0;
  35 + private Double sh=0.0;
  36 + private String shyy;
  37 + private Double zlc=0.0;
  38 + private int yhlx;
  39 + private String rylx="0";
  40 + private Double ns=0.0;
  41 + private Double fyylc=0.0;
  42 + private Double jhzlc=0.0;
  43 + private Double jhfyylc=0.0;
  44 + private int jhzbc;
  45 + private int jhbc;
  46 + private int sjzbc;
  47 + private int sjbc;
  48 + private String edituser;
  49 + private Date edittime;
  50 + private Date updatetime;
  51 + private Date createtime;
  52 +
  53 + private int nylx;
  54 + //进场顺序(根据最先出场和最后进场来关联车辆的存油量)
  55 + private int jcsx;
  56 +
  57 + private String lp;
  58 + @Transient
  59 + private String bglyh;
  60 +
  61 + @Transient
  62 + private String xlname;
  63 +
  64 + @Transient
  65 + private String gsname;
  66 +
  67 + @Transient
  68 + private String fgsname;
  69 +
  70 + @Transient
  71 + private String name;
  72 +
  73 + public Integer getId() {
  74 + return id;
  75 + }
  76 +
  77 + public void setId(Integer id) {
  78 + this.id = id;
  79 + }
  80 + public Date getRq() {
  81 + return rq;
  82 + }
  83 +
  84 + public void setRq(Date rq) {
  85 + this.rq = rq;
  86 + }
  87 +
  88 + public String getXlbm() {
  89 + return xlbm;
  90 + }
  91 +
  92 + public void setXlbm(String xlbm) {
  93 + this.xlbm = xlbm;
  94 + }
  95 +
  96 + public String getLinename() {
  97 + return linename;
  98 + }
  99 +
  100 + public void setLinename(String linename) {
  101 + this.linename = linename;
  102 + }
  103 +
  104 + public String getSsgsdm() {
  105 + return ssgsdm;
  106 + }
  107 + public void setSsgsdm(String ssgsdm) {
  108 + this.ssgsdm = ssgsdm;
  109 + }
  110 + public String getFgsdm() {
  111 + return fgsdm;
  112 + }
  113 + public void setFgsdm(String fgsdm) {
  114 + this.fgsdm = fgsdm;
  115 + }
  116 + public String getNbbm() {
  117 + return nbbm;
  118 + }
  119 + public void setNbbm(String nbbm) {
  120 + this.nbbm = nbbm;
  121 + }
  122 + public String getJsy() {
  123 + return jsy;
  124 + }
  125 + public void setJsy(String jsy) {
  126 + this.jsy = jsy;
  127 + }
  128 + public Double getCzlc() {
  129 + return czlc;
  130 + }
  131 + public void setCzlc(Double czlc) {
  132 + this.czlc = czlc;
  133 + }
  134 + public Double getJzlc() {
  135 + return jzlc;
  136 + }
  137 + public void setJzlc(Double jzlc) {
  138 + this.jzlc = jzlc;
  139 + }
  140 + public Double getCzyl() {
  141 + return czyl;
  142 + }
  143 + public void setCzyl(Double czyl) {
  144 + this.czyl = czyl;
  145 + }
  146 + public Double getJzyl() {
  147 + return jzyl;
  148 + }
  149 + public void setJzyl(Double jzyl) {
  150 + this.jzyl = jzyl;
  151 + }
  152 + public Double getJzl() {
  153 + return jzl;
  154 + }
  155 + public void setJzl(Double jzl) {
  156 + this.jzl = jzl;
  157 + }
  158 + public int getSfkt() {
  159 + return sfkt;
  160 + }
  161 + public void setSfkt(int sfkt) {
  162 + this.sfkt = sfkt;
  163 + }
  164 + public String getJhsj() {
  165 + return jhsj;
  166 + }
  167 + public void setJhsj(String jhsj) {
  168 + this.jhsj = jhsj;
  169 + }
  170 + public Double getYh() {
  171 + return yh;
  172 + }
  173 + public void setYh(Double yh) {
  174 + this.yh = yh;
  175 + }
  176 + public Double getSh() {
  177 + return sh;
  178 + }
  179 + public void setSh(Double sh) {
  180 + this.sh = sh;
  181 + }
  182 + public String getShyy() {
  183 + return shyy;
  184 + }
  185 + public void setShyy(String shyy) {
  186 + this.shyy = shyy;
  187 + }
  188 + public Double getZlc() {
  189 + return zlc;
  190 + }
  191 + public void setZlc(Double zlc) {
  192 + this.zlc = zlc;
  193 + }
  194 + public int getYhlx() {
  195 + return yhlx;
  196 + }
  197 + public void setYhlx(int yhlx) {
  198 + this.yhlx = yhlx;
  199 + }
  200 + public String getRylx() {
  201 + return rylx;
  202 + }
  203 + public void setRylx(String rylx) {
  204 + this.rylx = rylx;
  205 + }
  206 + public Double getNs() {
  207 + return ns;
  208 + }
  209 + public void setNs(Double ns) {
  210 + this.ns = ns;
  211 + }
  212 + public Double getFyylc() {
  213 + return fyylc;
  214 + }
  215 + public void setFyylc(Double fyylc) {
  216 + this.fyylc = fyylc;
  217 + }
  218 + public Double getJhzlc() {
  219 + return jhzlc;
  220 + }
  221 + public void setJhzlc(Double jhzlc) {
  222 + this.jhzlc = jhzlc;
  223 + }
  224 + public Double getJhfyylc() {
  225 + return jhfyylc;
  226 + }
  227 + public void setJhfyylc(Double jhfyylc) {
  228 + this.jhfyylc = jhfyylc;
  229 + }
  230 + public int getJhzbc() {
  231 + return jhzbc;
  232 + }
  233 + public void setJhzbc(int jhzbc) {
  234 + this.jhzbc = jhzbc;
  235 + }
  236 + public int getJhbc() {
  237 + return jhbc;
  238 + }
  239 + public void setJhbc(int jhbc) {
  240 + this.jhbc = jhbc;
  241 + }
  242 + public int getSjzbc() {
  243 + return sjzbc;
  244 + }
  245 + public void setSjzbc(int sjzbc) {
  246 + this.sjzbc = sjzbc;
  247 + }
  248 + public int getSjbc() {
  249 + return sjbc;
  250 + }
  251 + public void setSjbc(int sjbc) {
  252 + this.sjbc = sjbc;
  253 + }
  254 + public String getEdituser() {
  255 + return edituser;
  256 + }
  257 + public void setEdituser(String edituser) {
  258 + this.edituser = edituser;
  259 + }
  260 + public Date getEdittime() {
  261 + return edittime;
  262 + }
  263 + public void setEdittime(Date edittime) {
  264 + this.edittime = edittime;
  265 + }
  266 + public Date getCreatetime() {
  267 + return createtime;
  268 + }
  269 + public void setCreatetime(Date createtime) {
  270 + this.createtime = createtime;
  271 + }
  272 + public int getNylx() {
  273 + return nylx;
  274 + }
  275 + public void setNylx(int nylx) {
  276 + this.nylx = nylx;
  277 + }
  278 +
  279 + public int getJcsx(){
  280 + return jcsx;
  281 + }
  282 +
  283 + public void setJcsx(int jcsx){
  284 + this.jcsx=jcsx;
  285 + }
  286 +
  287 + public String getBglyh() {
  288 + if(this.getZlc()==0){
  289 + return "0";
  290 + }else{
  291 + DecimalFormat df = new DecimalFormat("0.000");
  292 + return df.format(this.getYh()/this.getZlc()*100);
  293 + }
  294 + }
  295 +
  296 + public void setBglyh(String bglyh) {
  297 + this.bglyh = bglyh;
  298 + }
  299 +
  300 + public String getXlname() {
  301 + return BasicData.lineCodeAllNameMap.get(this.xlbm);
  302 + }
  303 +
  304 + public void setXlname(String xlname) {
  305 + this.xlname = xlname;
  306 + }
  307 +
  308 + public String getGsname() {
  309 + return BasicData.businessCodeNameMap.get(this.ssgsdm);
  310 + }
  311 +
  312 + public void setGsname(String gsname) {
  313 + this.gsname = gsname;
  314 + }
  315 +
  316 +
  317 + public String getFgsname() {
  318 + return BasicData.businessFgsCodeNameMap.get(this.fgsdm+"_"+this.ssgsdm);
  319 + }
  320 +
  321 + public void setFgsname(String fgsname) {
  322 + this.fgsname = fgsname;
  323 + }
  324 +
  325 + public String getName() {
  326 + return BasicData.allPerson.get(this.ssgsdm+"-"+this.jsy);
  327 + }
  328 +
  329 + public void setName(String name) {
  330 + this.name = name;
  331 + }
  332 +
  333 +
  334 + public Date getUpdatetime() {
  335 + return updatetime;
  336 + }
  337 +
  338 + public void setUpdatetime(Date updatetime) {
  339 + this.updatetime = updatetime;
  340 + }
  341 +
  342 + public String getLp() {
  343 + return lp;
  344 + }
  345 +
  346 + public void setLp(String lp) {
  347 + this.lp = lp;
  348 + }
  349 +
  350 + public String getJname() {
  351 + return jname;
  352 + }
  353 +
  354 + public void setJname(String jname) {
  355 + this.jname = jname;
  356 + }
  357 +
  358 +
  359 +}
... ...
src/main/java/com/bsth/entity/realcontrol/ScheduleRealInfo.java
... ... @@ -21,7 +21,7 @@ import java.util.Set;
21 21 @NamedAttributeNode("cTasks")
22 22 })
23 23 })
24   -public class ScheduleRealInfo {
  24 +public class ScheduleRealInfo implements Cloneable{
25 25 /** 主键Id */
26 26 @Id
27 27 private Long id;
... ... @@ -1054,4 +1054,10 @@ public class ScheduleRealInfo {
1054 1054 public void setOperationType(String operationType) {
1055 1055 this.operationType = operationType;
1056 1056 }
  1057 +
  1058 + @Override
  1059 + public ScheduleRealInfo clone() throws CloneNotSupportedException {
  1060 + ScheduleRealInfo cloned = (ScheduleRealInfo) super.clone();
  1061 + return cloned;
  1062 + }
1057 1063 }
... ...
src/main/java/com/bsth/entity/zndd/StationPeopleLogger.java
... ... @@ -7,7 +7,7 @@ import javax.persistence.*;
7 7 import java.io.Serializable;
8 8  
9 9 @Entity
10   -@Table(name = "bsth_c_t_station_people_logger") //智能调度记录查询
  10 +@Table(name = "bsth_c_t_station_people_logger") //智能调度记录检测
11 11 @JsonIgnoreProperties(value={"hibernateLazyInitializer","handler","fieldHandler"})
12 12 public class StationPeopleLogger implements Serializable {
13 13 // ID
... ... @@ -19,8 +19,10 @@ public class StationPeopleLogger implements Serializable {
19 19 //线路名称
20 20 private String lineName;
21 21 //站点code
  22 + @Transient
22 23 private String station;
23 24 //站点名称
  25 + @Transient
24 26 private String stationName;
25 27 //日期
26 28 private String rqStr;
... ... @@ -31,8 +33,19 @@ public class StationPeopleLogger implements Serializable {
31 33 //上下行
32 34 private String xlDir;
33 35 //人数 or 差距时间 or 站点差数 根据类型判断
34   - private Long numType;
35   -
  36 + private String fcsj;
  37 +
  38 + private String clZbh;
  39 +
  40 +
  41 +
  42 + public String getClZbh() {
  43 + return clZbh;
  44 + }
  45 +
  46 + public void setClZbh(String clZbh) {
  47 + this.clZbh = clZbh;
  48 + }
36 49  
37 50 public void setId(Long id) {
38 51 this.id = id;
... ... @@ -90,8 +103,12 @@ public class StationPeopleLogger implements Serializable {
90 103 this.rq = rq;
91 104 }
92 105  
93   - public Long getNumType() {
94   - return numType;
  106 + public String getFcsj() {
  107 + return fcsj;
  108 + }
  109 +
  110 + public void setFcsj(String fcsj) {
  111 + this.fcsj = fcsj;
95 112 }
96 113  
97 114 public String getStation() {
... ... @@ -110,8 +127,5 @@ public class StationPeopleLogger implements Serializable {
110 127 this.stationName = stationName;
111 128 }
112 129  
113   - public void setNumType(Long numType) {
114   - this.numType = numType;
115   - }
116 130  
117 131 }
... ...
src/main/java/com/bsth/entity/zndd/znddStatus.java
... ... @@ -23,6 +23,25 @@ public class znddStatus {
23 23  
24 24 private String name;
25 25  
  26 + //大客流是否自动执行班次 0开 1关 null关
  27 + private String excuteStatus;
  28 +
  29 + public String getExcuteStatus() {
  30 + return excuteStatus;
  31 + }
  32 +
  33 + public void setExcuteStatus(String excuteStatus) {
  34 + this.excuteStatus = excuteStatus;
  35 + }
  36 +
  37 +
  38 + public Long getId() {
  39 + return id;
  40 + }
  41 +
  42 + public void setId(Long id) {
  43 + this.id = id;
  44 + }
26 45  
27 46 public String getType() {
28 47 return type;
... ...
src/main/java/com/bsth/repository/DKLInfoRepository.java 0 → 100644
  1 +package com.bsth.repository;
  2 +
  3 +import com.bsth.entity.DKLInfo;
  4 +import org.springframework.stereotype.Repository;
  5 +
  6 +
  7 +@Repository
  8 +public interface DKLInfoRepository extends BaseRepository<DKLInfo, Integer> {
  9 +}
... ...
src/main/java/com/bsth/repository/lg_travel/RegionLineCarRepository.java 0 → 100644
  1 +package com.bsth.repository.lg_travel;
  2 +
  3 +
  4 +import com.bsth.entity.lg_travel.RegionLineCar;
  5 +import com.bsth.repository.BaseRepository;
  6 +import org.springframework.stereotype.Repository;
  7 +
  8 +@Repository
  9 +public interface RegionLineCarRepository extends BaseRepository<RegionLineCar, Long> {
  10 +}
... ...
src/main/java/com/bsth/repository/lg_travel/RegionRepository.java 0 → 100644
  1 +package com.bsth.repository.lg_travel;
  2 +
  3 +
  4 +import com.bsth.entity.lg_travel.Region;
  5 +import com.bsth.repository.BaseRepository;
  6 +import org.springframework.stereotype.Repository;
  7 +
  8 +@Repository
  9 +public interface RegionRepository extends BaseRepository<Region, Long> {
  10 +}
... ...
src/main/java/com/bsth/repository/oil/JdlConnectorRepository.java 0 → 100644
  1 +package com.bsth.repository.oil;
  2 +
  3 +import java.util.List;
  4 +
  5 +import org.springframework.data.jpa.repository.Modifying;
  6 +import org.springframework.data.jpa.repository.Query;
  7 +import org.springframework.stereotype.Repository;
  8 +import org.springframework.transaction.annotation.Transactional;
  9 +
  10 +import com.bsth.entity.oil.JdlConnector;
  11 +import com.bsth.repository.BaseRepository;
  12 +
  13 +@Repository
  14 +public interface JdlConnectorRepository extends BaseRepository<JdlConnector, Integer>{
  15 +
  16 + @Query(value="SELECT j FROM JdlConnector j WHERE connectorName like %?1% and connectorId like %?2% and stationName like %?3% order by stationName, connectorId ")
  17 + List<JdlConnector> query(String connectorName, String connectorId, String stationName);
  18 +
  19 + @Query(value="SELECT j FROM JdlConnector j WHERE connectorName = ?1 ")
  20 + List<JdlConnector> queryByGunName(String connectorName);
  21 +
  22 + @Query(value="SELECT j FROM JdlConnector j WHERE id = ?1 ")
  23 + JdlConnector queryById(Integer id);
  24 +
  25 + @Query(value="SELECT j.stationName FROM JdlConnector j group by stationName ")
  26 + List<String> queryStationName();
  27 +
  28 + @Modifying
  29 + @Transactional
  30 + @Query(value = "delete JdlConnector j where id = ?1 ")
  31 + void delete(Integer id);
  32 +
  33 + @Transactional
  34 + @Modifying
  35 + @Query(value="UPDATE bsth_c_jdl_connector SET " +
  36 + " connector_name = ?2," +
  37 + " connector_id = ?3," +
  38 + " station_name = ?4" +
  39 + " WHERE id = ?1 ", nativeQuery=true)
  40 + public void update(Integer id, String connectorName, String connectorId, String stationName);
  41 +
  42 +}
... ...
src/main/java/com/bsth/repository/oil/JdlReceptionRepository.java 0 → 100644
  1 +package com.bsth.repository.oil;
  2 +
  3 +import java.util.List;
  4 +
  5 +import org.springframework.data.jpa.repository.Modifying;
  6 +import org.springframework.data.jpa.repository.Query;
  7 +import org.springframework.stereotype.Repository;
  8 +import org.springframework.transaction.annotation.Transactional;
  9 +
  10 +import com.bsth.entity.oil.JdlReception;
  11 +import com.bsth.repository.BaseRepository;
  12 +
  13 +@Repository
  14 +public interface JdlReceptionRepository extends BaseRepository<JdlReception, Integer>{
  15 +
  16 + @Query(value="SELECT date_str, car_code, sum(CAST(charge_capacity AS DECIMAL(10, 3))) charge_capacity FROM bsth_c_jdl_reception where date_str = ?1 and car_code like %?2% group by date_str, car_code order by date_str" ,nativeQuery=true)
  17 + List<Object[]> querySum(String rq, String nbbm);
  18 +
  19 + @Query(value="SELECT * FROM bsth_c_jdl_reception where date_str = ?1 and car_code like %?2% " ,nativeQuery=true)
  20 + List<JdlReception> query(String rq, String nbbm);
  21 +
  22 + @Query(value="SELECT batch_no, create_by, DATE_FORMAT(create_date, '%Y-%m-%d %H:%i:%s') create_date FROM bsth_c_jdl_reception where DATE_FORMAT(create_date, '%Y-%m-%d') = ?1 and origin = 1 group by batch_no, create_by, create_date order by batch_no" ,nativeQuery=true)
  23 + List<Object[]> queryBatch(String rq);
  24 +
  25 + @Query(value="SELECT batch_no, create_by, DATE_FORMAT(create_date, '%Y-%m-%d %H:%i:%s') create_date FROM bsth_c_jdl_reception where DATE_FORMAT(create_date, '%Y-%m-%d') >= ?1 and DATE_FORMAT(create_date, '%Y-%m-%d') <= ?2 and create_by like %?3% and origin = 1 group by batch_no, create_by, create_date order by create_date, create_by, batch_no" ,nativeQuery=true)
  26 + List<Object[]> queryBatchByDates(String rq1, String rq2, String createBy);
  27 +
  28 + @Query(value="SELECT * FROM bsth_c_jdl_reception where create_by = ?1 and DATE_FORMAT(create_date, '%Y-%m-%d %H:%i:%s') = ?2 and origin = 1 " ,nativeQuery=true)
  29 + List<JdlReception> queryBatchData(String createBy, String createDate);
  30 +
  31 + @Query(value="SELECT j FROM JdlReception j WHERE id = ?1 ")
  32 + List<JdlReception> queryById(Long id);
  33 +
  34 + @Query(value="SELECT j FROM JdlReception j WHERE endTime >= ?1 and startTime <= ?2 and carCode = ?3 ")
  35 + List<JdlReception> queryRepeatCar(String startTime, String endTime, String nbbm);
  36 +
  37 + @Query(value="SELECT j FROM JdlReception j WHERE endTime >= ?1 and startTime <= ?2 and connectorId = ?3 and carCode != ?4 ")
  38 + List<JdlReception> queryRepeatConnector(String startTime, String endTime, String connectorId, String nbbm);
  39 +
  40 + @Modifying
  41 + @Transactional
  42 + @Query(value = "delete JdlReception j where createBy = ?1 and DATE_FORMAT(createDate, '%Y-%m-%d %H:%i:%s') = ?2 and origin = 1")
  43 + void deleteBatch(String createBy, String createDate);
  44 +
  45 + @Transactional
  46 + @Modifying
  47 + @Query(value="UPDATE bsth_c_jdl_reception SET " +
  48 + " date_str = ?2," +
  49 + " pile_id = ?3," +
  50 + " car_code = ?4," +
  51 + " start_time = ?5," +
  52 + " end_time = ?6," +
  53 + " sum_time = ?7," +
  54 + " start_soc = ?8," +
  55 + " end_soc = ?9," +
  56 + " charge_capacity = ?10," +
  57 + " stop_reason = ?11" +
  58 + " WHERE id = ?1", nativeQuery=true)
  59 + public void update(Long id, String dateStr, String pileId, String carCode, String startTime, String endTime, Integer sumTime, Double startSoc, Double endSoc, Double chargeCapacity, String stopReason);
  60 +
  61 +}
... ...
src/main/java/com/bsth/repository/oil/NylogRepository.java
1 1 package com.bsth.repository.oil;
2 2  
  3 +import java.util.List;
3 4  
4   -
  5 +import org.springframework.data.jpa.repository.Query;
5 6 import org.springframework.stereotype.Repository;
  7 +
6 8 import com.bsth.entity.oil.Nylog;
7 9 import com.bsth.repository.BaseRepository;
8 10  
9 11 @Repository
10 12 public interface NylogRepository extends BaseRepository<Nylog, Integer>{
  13 +
  14 + @Query(value="select n from Nylog n where nylx = ?1 and czmc = ?2 and cxtj = ?3 order by createdate desc ")
  15 + List<Nylog> selectByCxtj(String nylx, String czmc, String cxtj);
  16 +
11 17 }
... ...
src/main/java/com/bsth/repository/zndd/ZnddLoggerRepository.java 0 → 100644
  1 +package com.bsth.repository.zndd;
  2 +
  3 +import com.bsth.entity.zndd.StationPeopleLogger;
  4 +import com.bsth.repository.BaseRepository;
  5 +
  6 +public interface ZnddLoggerRepository extends BaseRepository<StationPeopleLogger, Integer> {
  7 +}
... ...
src/main/java/com/bsth/repository/zndd/ZnddStatusRepository.java
... ... @@ -2,10 +2,20 @@ package com.bsth.repository.zndd;
2 2  
3 3 import com.bsth.entity.zndd.znddStatus;
4 4 import com.bsth.repository.BaseRepository;
  5 +import org.springframework.data.jpa.repository.Modifying;
  6 +import org.springframework.data.jpa.repository.Query;
5 7 import org.springframework.stereotype.Repository;
  8 +import org.springframework.transaction.annotation.Transactional;
6 9  
7 10  
8 11 @Repository
9 12 public interface ZnddStatusRepository extends BaseRepository<znddStatus, Integer> {
  13 +
  14 +
  15 + @Transactional
  16 + @Modifying
  17 + @Query(value="UPDATE zndd_status SET " +
  18 + "open_status = ?2 WHERE id = ?1", nativeQuery=true)
  19 + void update(Integer id, Integer openStatus);
10 20  
11 21 }
... ...
src/main/java/com/bsth/service/DKLInfoService.java 0 → 100644
  1 +package com.bsth.service;
  2 +
  3 +import com.bsth.entity.DKLInfo;
  4 +
  5 +
  6 +public interface DKLInfoService extends BaseService<DKLInfo, Integer> {
  7 +}
... ...
src/main/java/com/bsth/service/calc/impl/CalcWaybillServiceImpl.java
... ... @@ -2395,7 +2395,7 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer
2395 2395 }
2396 2396  
2397 2397 int i=1;
2398   - DecimalFormat df = new DecimalFormat("0.00");//格式化小数
  2398 + DecimalFormat df = new DecimalFormat("0.000");//格式化小数
2399 2399 double allNum = 0.0;
2400 2400 while (iter.hasNext()) {
2401 2401 Map.Entry entry = (Map.Entry) iter.next();
... ... @@ -2433,7 +2433,6 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer
2433 2433 listStr.add(c.getTs()+"");
2434 2434 // 把列合计的数添加到最后一个
2435 2435 cList.add(c);
2436   - // DecimalFormat df = new DecimalFormat("0.00");//格式化小数
2437 2436 for (CalcWaybillDetail c1:cList) {
2438 2437 if(StringUtils.isEmpty(c1.getXl())) {
2439 2438 listStr.add("");
... ...
src/main/java/com/bsth/service/impl/DKLInfoServiceImpl.java 0 → 100644
  1 +package com.bsth.service.impl;
  2 +
  3 +import com.bsth.entity.DKLInfo;
  4 +import com.bsth.service.DKLInfoService;
  5 +import org.springframework.stereotype.Service;
  6 +
  7 +
  8 +@Service
  9 +public class DKLInfoServiceImpl extends BaseServiceImpl<DKLInfo, Integer> implements DKLInfoService {
  10 +}
... ...
src/main/java/com/bsth/service/impl/StationRouteServiceImpl.java
... ... @@ -710,6 +710,9 @@ public class StationRouteServiceImpl extends BaseServiceImpl&lt;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&lt;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/lg_travel/RegionLineCarService.java 0 → 100644
  1 +package com.bsth.service.lg_travel;
  2 +
  3 +import com.bsth.entity.lg_travel.RegionLineCar;
  4 +import com.bsth.service.BaseService;
  5 +
  6 +public interface RegionLineCarService extends BaseService<RegionLineCar, Long> {
  7 +}
... ...
src/main/java/com/bsth/service/lg_travel/RegionService.java 0 → 100644
  1 +package com.bsth.service.lg_travel;
  2 +
  3 +import com.bsth.entity.lg_travel.Region;
  4 +import com.bsth.service.BaseService;
  5 +
  6 +public interface RegionService extends BaseService<Region, Long> {
  7 +}
... ...
src/main/java/com/bsth/service/lg_travel/impl/RegionLineCarServiceImpl.java 0 → 100644
  1 +package com.bsth.service.lg_travel.impl;
  2 +
  3 +
  4 +import com.bsth.entity.lg_travel.RegionLineCar;
  5 +import com.bsth.service.impl.BaseServiceImpl;
  6 +import com.bsth.service.lg_travel.RegionLineCarService;
  7 +import org.springframework.stereotype.Service;
  8 +
  9 +@Service
  10 +public class RegionLineCarServiceImpl extends BaseServiceImpl<RegionLineCar, Long> implements RegionLineCarService {
  11 +
  12 +
  13 +
  14 +}
... ...
src/main/java/com/bsth/service/lg_travel/impl/RegionServiceImpl.java 0 → 100644
  1 +package com.bsth.service.lg_travel.impl;
  2 +
  3 +
  4 +import com.bsth.entity.lg_travel.Region;
  5 +import com.bsth.service.impl.BaseServiceImpl;
  6 +import com.bsth.service.lg_travel.RegionService;
  7 +import org.springframework.stereotype.Service;
  8 +
  9 +@Service
  10 +public class RegionServiceImpl extends BaseServiceImpl<Region, Long> implements RegionService {
  11 +
  12 +
  13 +
  14 +}
... ...
src/main/java/com/bsth/service/oil/JdlService.java
1 1 package com.bsth.service.oil;
2 2  
3 3 import java.io.File;
  4 +import java.io.IOException;
  5 +import java.util.List;
4 6 import java.util.Map;
5 7  
  8 +import javax.servlet.http.HttpServletResponse;
  9 +
6 10 import com.bsth.entity.oil.Jdl;
  11 +import com.bsth.entity.oil.JdlConnector;
  12 +import com.bsth.entity.oil.JdlReception;
7 13 import com.bsth.service.BaseService;
8 14  
9 15 public interface JdlService extends BaseService<Jdl, Integer> {
10 16  
11 17 public String importExcel(File file, String gsbm_, String gsName, String fgsbm, String fgsName);
  18 +
  19 + /** 24年12月工单更新电量导入 */
  20 + public String importExcel_2412(File file, String gsbm_, String gsName, String fgsbm, String fgsName, String stationName);
12 21  
13 22 public Map<String, Object> query(Map<String, Object> map);
  23 +
  24 + public Map<String, Object> query_2412(Map<String, Object> map);
  25 +
  26 + public List<JdlReception> queryJdlReception(Map<String, Object> map);
  27 +
  28 + public Map<String, Object> queryJdlReceptionBatch(Map<String, Object> map);
  29 +
  30 + public List<JdlReception> queryJdlReceptionBatchData(Map<String, Object> map);
  31 +
  32 + public Map<String, Object> deleteJdlReceptionBatch(Map<String, Object> map);
  33 +
  34 + public Map<String, Object> updateJdlReceptionBatch(Map<String, Object> map);
  35 +
  36 + public void downloadJdlReceptionImportFile(Map<String, Object> map, HttpServletResponse response) throws IOException;
  37 +
  38 + /**
  39 + * 查询车辆充电量,以jdl表格式返回
  40 + * @param rq 营运日期
  41 + * @param nbbm 车辆自编号(为‘’时查询全部车辆)
  42 + * @return
  43 + */
  44 + public List<Jdl> queryJdlByJdlReception(String rq, String nbbm);
  45 +
  46 + public List<JdlConnector> queryJdlConnector(Map<String, Object> map);
  47 +
  48 + public JdlConnector queryJdlConnectorById(Integer id);
  49 +
  50 + public List<String> queryJdlStationName();
  51 +
  52 + public Map<String, Object> addJdlConnector(Map<String, Object> map);
  53 +
  54 + public Map<String, Object> deleteJdlConnector(Map<String, Object> map);
  55 +
  56 + public Map<String, Object> updateJdlConnector(Map<String, Object> map);
14 57  
15 58 }
... ...
src/main/java/com/bsth/service/oil/impl/DlbServiceImpl.java
... ... @@ -48,6 +48,7 @@ import com.bsth.repository.CarsRepository;
48 48 import com.bsth.repository.oil.CdlRepository;
49 49 import com.bsth.repository.oil.CylRepository;
50 50 import com.bsth.repository.oil.DlbRepository;
  51 +import com.bsth.repository.oil.JdlReceptionRepository;
51 52 import com.bsth.repository.oil.JdlRepository;
52 53 import com.bsth.repository.oil.NylogRepository;
53 54 import com.bsth.repository.oil.YlbRepository;
... ... @@ -55,6 +56,7 @@ import com.bsth.repository.oil.YlxxbRepository;
55 56 import com.bsth.security.util.SecurityUtils;
56 57 import com.bsth.service.impl.BaseServiceImpl;
57 58 import com.bsth.service.oil.DlbService;
  59 +import com.bsth.service.oil.JdlService;
58 60 import com.bsth.service.realcontrol.ScheduleRealInfoService;
59 61 import com.bsth.util.Arith;
60 62 import com.bsth.util.BatchSaveUtils;
... ... @@ -77,6 +79,8 @@ public class DlbServiceImpl extends BaseServiceImpl&lt;Dlb,Integer&gt; implements DlbS
77 79  
78 80 @Autowired
79 81 ScheduleRealInfoService scheduleRealInfoService;
  82 + @Autowired
  83 + JdlService jdlService;
80 84  
81 85 @Autowired
82 86 JdbcTemplate jdbcTemplate;
... ... @@ -91,7 +95,8 @@ public class DlbServiceImpl extends BaseServiceImpl&lt;Dlb,Integer&gt; implements DlbS
91 95 Map<String, Boolean> carsMap=new HashMap<String, Boolean>();
92 96 for (int i = 0; i < carsList.size(); i++) {
93 97 Cars c=carsList.get(i);
94   - carsMap.put(c.getInsideCode(), c.getSfdc());
  98 + carsMap.put(c.getInsideCode(), (c.getSfdc()!=null?c.getSfdc():false)
  99 + || (c.getSfmix()!=null?c.getSfmix():false));//电车或油电混合,都可以充电
95 100 }
96 101 SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
97 102 Date dNow = new Date(); //当前时间
... ... @@ -103,8 +108,8 @@ public class DlbServiceImpl extends BaseServiceImpl&lt;Dlb,Integer&gt; implements DlbS
103 108 String rq=sdf.format(dBefore);
104 109 // String rq="2017-11-02";
105 110 String line="";
106   - //保留两位小数
107   - DecimalFormat df = new DecimalFormat("#.00");
  111 + //公里保留三位小数
  112 + DecimalFormat df = new DecimalFormat("#.000");
108 113 // TODO Auto-generated method stub
109 114 Map<String, Object> newMap=new HashMap<String,Object>();
110 115 //当天DLB信息
... ... @@ -112,7 +117,9 @@ public class DlbServiceImpl extends BaseServiceImpl&lt;Dlb,Integer&gt; implements DlbS
112 117 //当天YLXXB信息
113 118 List<Ylxxb> ylxxList=ylxxbRepository.obtainYlxx(rq,1,"");
114 119 //当天加电信息表
115   - List<Jdl> jdlList=jdlRepository.JdlList(rq);
  120 + List<Jdl> jdlList = jdlRepository.JdlList(rq);
  121 +// List<Jdl> jdlList = jdlService.queryJdlByJdlReception(rq, "");
  122 +// jdlList.addAll(jdlRepository.JdlList(rq));
116 123 //前一天所有车辆最后进场班次信息
117 124 // List<Dlb> dlListBe=repository.obtainYlbefore(rq, "", "", "", "");
118 125 List<Cdl> cdyList=cdlRepository.obtainCdl();
... ... @@ -123,7 +130,7 @@ public class DlbServiceImpl extends BaseServiceImpl&lt;Dlb,Integer&gt; implements DlbS
123 130 boolean sfdc=false;
124 131 Map<String, Object> map=listpb.get(x);
125 132 if (carsMap.get(map.get("clZbh").toString())!=null) {
126   - sfdc= carsMap.get(map.get("clZbh").toString());
  133 + sfdc = carsMap.get(map.get("clZbh").toString());
127 134 }else{
128 135 sfdc=false;
129 136 }
... ... @@ -237,7 +244,8 @@ public class DlbServiceImpl extends BaseServiceImpl&lt;Dlb,Integer&gt; implements DlbS
237 244 Map<String, Boolean> carsMap = new HashMap<String, Boolean>();
238 245 for (int i = 0; i < carsList.size(); i++) {
239 246 Cars c = carsList.get(i);
240   - carsMap.put(c.getInsideCode(), c.getSfdc());
  247 + carsMap.put(c.getInsideCode(), (c.getSfdc()!=null?c.getSfdc():false)
  248 + || (c.getSfmix()!=null?c.getSfmix():false));//电车或油电混合,都可以充电
241 249 }
242 250 String rq = map2.get("rq").toString();
243 251 String line = "";
... ... @@ -257,8 +265,8 @@ public class DlbServiceImpl extends BaseServiceImpl&lt;Dlb,Integer&gt; implements DlbS
257 265 nbbm=map2.get("nbbm_eq").toString();
258 266 }
259 267 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
260   - // 保留两位小数
261   - DecimalFormat df = new DecimalFormat("#.00");
  268 + // 加注量与能耗保留两位小数
  269 + DecimalFormat df = new DecimalFormat("0.##");
262 270 // TODO Auto-generated method stub
263 271 // 当天DLB信息
264 272 List<Dlb> dlList = this.listOrderBy(rq,gsbm,fgsbm,"",nbbm,"nbbm");
... ... @@ -281,8 +289,9 @@ public class DlbServiceImpl extends BaseServiceImpl&lt;Dlb,Integer&gt; implements DlbS
281 289 }
282 290 }
283 291  
284   - List<Jdl> jdlList=jdlRepository.JdlList(rq);
285   - List<Jdl> jdlList_1=jdlRepository.JdlList_1(rq, gsbm, "-1");
  292 + List<Jdl> jdlList = jdlRepository.JdlList(rq);
  293 +// List<Jdl> jdlList = jdlService.queryJdlByJdlReception(rq, "");
  294 +// jdlList.addAll(jdlRepository.JdlList(rq));
286 295 String sxtj=map2.get("sxtj").toString();
287 296 if(sxtj.equals("0")){
288 297 listpb=listpbs;
... ... @@ -360,41 +369,15 @@ public class DlbServiceImpl extends BaseServiceImpl&lt;Dlb,Integer&gt; implements DlbS
360 369 //车辆总里程
361 370 double zlc =lcMap.get(map_.get("clZbh").toString());
362 371 //车辆总加电量
363   - double zjzl = 0.0, zjzl_1 = 0.0;
364   - for (int j = 0; j < ylxxList.size(); j++) {
365   - Ylxxb ylxxb = ylxxList.get(j);
366   - if (map_.get("clZbh").toString().equals(ylxxb.getNbbm())
367   - && map_.get("company").toString().equals(ylxxb.getGsdm())) {
368   - zjzl = Arith.add(zjzl, ylxxb.getJzl());
369   - }
370   - }
  372 + double zjzl = 0.0;
  373 + // 2022年12月20号要求不按车队导入,这之后导入的加注量将覆盖原加注量
371 374 for (int i = 0; i < jdlList.size(); i++) {
372 375 Jdl jdl=jdlList.get(i);
373   - if(map_.get("clZbh").toString().equals(jdl.getNbbm())
374   - &&clFgs.get(map_.get("clZbh").toString()).contains(jdl.getGsBm()+"_"+jdl.getFgsBm())){
375   - zjzl = Arith.add(zjzl,jdl.getJdl());
  376 + if(map_.get("clZbh").toString().equals(jdl.getNbbm())){
  377 + zjzl = Arith.add(zjzl, jdl.getJdl());
376 378 }
377 379 }
378   - int num = 0; // 2022年12月20号要求不按车队导入,这之后导入的加注量将覆盖原加注量
379   - for (int i = 0; i < jdlList_1.size(); i++) {
380   - Jdl jdl=jdlList_1.get(i);
381   - if(map_.get("clZbh").toString().equals(jdl.getNbbm())
382   - &&map_.get("company").toString().equals(jdl.getGsBm())){
383   - zjzl_1 = Arith.add(zjzl_1,jdl.getJdl());
384   - num++;
385   - }
386   - }
387   - if(num > 0){
388   - zjzl = zjzl_1;
389   - }
390 380  
391   -// double clsh=0.0;
392   -// if(shMap.get(map_.get("clZbh").toString())==null){
393   -// clsh=0.0;
394   -// }else{
395   -// clsh=shMap.get(map_.get("clZbh").toString());
396   -// }
397   -// zjzl =Arith.sub(zjzl, clsh);
398 381 Double nextJzyl = 0.0;
399 382 for (int i = 0; i < listpb.size(); i++) {
400 383 Map<String, Object> map = listpb.get(i);
... ... @@ -934,18 +917,26 @@ public class DlbServiceImpl extends BaseServiceImpl&lt;Dlb,Integer&gt; implements DlbS
934 917 String fgsdm,String xlbm,String nbbm,
935 918 String px) {
936 919 // TODO Auto-generated method stub
937   - String sql="SELECT * FROM bsth_c_dlb "
938   - + " where rq='"+rq+"' and ssgsdm like '%"+gsdm+"%' "
939   - + " and fgsdm like '%"+fgsdm+"%'";
  920 + List<String> objList = new ArrayList<String>();
  921 + String sql="SELECT * FROM bsth_c_dlb "
  922 + + " where rq = ? "
  923 + + " and ssgsdm like ? "
  924 + + " and fgsdm like ? ";
  925 + objList.add(rq);
  926 + objList.add('%' + gsdm + '%');
  927 + objList.add('%' + fgsdm + '%');
940 928 if(xlbm.equals("")){
941   - sql+= " and xlbm like '%"+xlbm+"%' ";
  929 + sql+= " and xlbm like ? ";
  930 + objList.add('%' + xlbm + '%');
942 931 }else{
943   - sql+= " and xlbm = '"+xlbm+"' ";
  932 + sql+= " and xlbm = ? ";
  933 + objList.add(xlbm);
944 934 }
945   -
946   - sql += "and nbbm like '%"+nbbm+"%' order by "+px+" asc ";
947 935  
948   - List<Dlb> list = jdbcTemplate.query(sql, new RowMapper<Dlb>() {
  936 + sql += "and nbbm like ? order by "+px+" asc ";
  937 + objList.add('%' + nbbm + '%');
  938 +
  939 + List<Dlb> list = jdbcTemplate.query(sql, objList.toArray(), new RowMapper<Dlb>() {
949 940 @Override
950 941 public Dlb mapRow(ResultSet arg0, int arg1) throws SQLException {
951 942 Dlb y = new Dlb();
... ... @@ -1075,8 +1066,8 @@ public class DlbServiceImpl extends BaseServiceImpl&lt;Dlb,Integer&gt; implements DlbS
1075 1066 // TODO Auto-generated method stub
1076 1067 Map<String, List<Dlb>> mapList=new HashMap<String,List<Dlb>>();
1077 1068 SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
1078   - // 保留两位小数
1079   - DecimalFormat df = new DecimalFormat("#.00");
  1069 + // 加注量与能耗保留两位小数
  1070 + DecimalFormat df = new DecimalFormat("0.##");
1080 1071 List<Dlb> dlbList=this.listOrderBy(date,gsdm,fgsdm,"","","nbbm");
1081 1072 List<Dlb> dlbList_upd=new ArrayList<Dlb>();
1082 1073 List<Dlb> dlbList_del=new ArrayList<Dlb>();
... ... @@ -1132,8 +1123,11 @@ public class DlbServiceImpl extends BaseServiceImpl&lt;Dlb,Integer&gt; implements DlbS
1132 1123 shMap.put(cl, Arith.add(sh, dlb.getSh()));
1133 1124 }
1134 1125 }
1135   - List<Jdl> jdlList=jdlRepository.JdlList(date);
1136   - List<Ylxxb> ylxxList = ylxxbRepository.obtainYlxx(date, 0,gsdm);
  1126 + List<Jdl> jdlList = jdlRepository.JdlList(date);
  1127 +// List<Jdl> jdlList = jdlService.queryJdlByJdlReception(date, "");
  1128 +// jdlList.addAll(jdlRepository.JdlList(date));
  1129 +
  1130 +// List<Ylxxb> ylxxList = ylxxbRepository.obtainYlxx(date, 0,gsdm);
1137 1131 Map<String, Object> newMap_=new HashMap<String,Object>();
1138 1132 Map<String, Object> cMap=new HashMap<String, Object>();
1139 1133 List<Map<String, Object>> listpb_=listpbDc;
... ... @@ -1148,19 +1142,10 @@ public class DlbServiceImpl extends BaseServiceImpl&lt;Dlb,Integer&gt; implements DlbS
1148 1142 double zlc =lcMap.get(map_.get("clZbh").toString());
1149 1143 //车辆总加电量
1150 1144 double zjzl = 0.0;
1151   - for (int j = 0; j < ylxxList.size(); j++) {
1152   - Ylxxb ylxxb = ylxxList.get(j);
1153   - if (map_.get("clZbh").toString().equals(ylxxb.getNbbm())
1154   - && map_.get("company").toString().equals(ylxxb.getGsdm())) {
1155   - zjzl = Arith.add(zjzl, ylxxb.getJzl());
1156   - }
1157   - }
1158 1145 for (int i = 0; i < jdlList.size(); i++) {
1159 1146 Jdl jdl=jdlList.get(i);
1160   - if(map_.get("clZbh").toString().equals(jdl.getNbbm())
1161   - &&map_.get("company").toString().equals(jdl.getGsBm())
1162   - &&map_.get("bCompany").toString().equals(jdl.getFgsBm())){
1163   - zjzl = Arith.add(zjzl,jdl.getJdl());
  1147 + if(map_.get("clZbh").toString().equals(jdl.getNbbm())){
  1148 + zjzl = Arith.add(zjzl, jdl.getJdl());
1164 1149 }
1165 1150 }
1166 1151 double clsh=0.0;
... ...