Commit d143649f69ba1f9a3e1fb09460bfea1c8090772a
12312
Showing
25 changed files
with
1834 additions
and
851 deletions
Too many changes to show.
To preserve performance only 25 of 71 files are displayed.
pom.xml
| @@ -400,6 +400,12 @@ | @@ -400,6 +400,12 @@ | ||
| 400 | <version>1.0.0</version> | 400 | <version>1.0.0</version> |
| 401 | </dependency> | 401 | </dependency> |
| 402 | 402 | ||
| 403 | + <!-- geotool --> | ||
| 404 | + <dependency> | ||
| 405 | + <groupId>org.locationtech.jts</groupId> | ||
| 406 | + <artifactId>jts-core</artifactId> | ||
| 407 | + <version>1.16.1</version> | ||
| 408 | + </dependency> | ||
| 403 | </dependencies> | 409 | </dependencies> |
| 404 | 410 | ||
| 405 | <dependencyManagement> | 411 | <dependencyManagement> |
src/main/java/com/bsth/common/Constants.java
| @@ -54,4 +54,9 @@ public class Constants { | @@ -54,4 +54,9 @@ public class Constants { | ||
| 54 | * 批量解除调度指令和班次的外键约束 | 54 | * 批量解除调度指令和班次的外键约束 |
| 55 | */ | 55 | */ |
| 56 | public static final String MULTI_REMOVE_DIRECTIVE_SCH_FK = "update bsth_v_directive_60 set sch=NULL where sch in "; | 56 | public static final String MULTI_REMOVE_DIRECTIVE_SCH_FK = "update bsth_v_directive_60 set sch=NULL where sch in "; |
| 57 | + | ||
| 58 | + /** | ||
| 59 | + * 批量解除子任务和班次的外键约束 | ||
| 60 | + */ | ||
| 61 | + public static final String MULTI_REMOVE_CHILDTASK_SCH_FK = "update bsth_c_s_child_task set schedule=NULL where schedule in "; | ||
| 57 | } | 62 | } |
src/main/java/com/bsth/controller/InoutCarparkController.java
0 → 100644
| 1 | +package com.bsth.controller; | ||
| 2 | + | ||
| 3 | +import com.bsth.common.ResponseCode; | ||
| 4 | +import com.bsth.entity.LsInoutSectionRoute; | ||
| 5 | +import com.bsth.repository.StationRouteCacheRepository; | ||
| 6 | +import com.bsth.repository.StationRouteRepository; | ||
| 7 | +import com.bsth.service.InoutCarparkService; | ||
| 8 | +import com.bsth.service.StationRouteService; | ||
| 9 | +import com.fasterxml.jackson.core.JsonProcessingException; | ||
| 10 | +import org.slf4j.Logger; | ||
| 11 | +import org.slf4j.LoggerFactory; | ||
| 12 | +import org.springframework.beans.factory.annotation.Autowired; | ||
| 13 | +import org.springframework.util.StringUtils; | ||
| 14 | +import org.springframework.web.bind.annotation.*; | ||
| 15 | + | ||
| 16 | +import java.util.HashMap; | ||
| 17 | +import java.util.Map; | ||
| 18 | + | ||
| 19 | +@RestController | ||
| 20 | +@RequestMapping("inout") | ||
| 21 | +public class InoutCarparkController extends BaseController<LsInoutSectionRoute, Long>{ | ||
| 22 | + | ||
| 23 | + private final static Logger logger = LoggerFactory.getLogger(InoutCarparkController.class); | ||
| 24 | + | ||
| 25 | + @Autowired | ||
| 26 | + InoutCarparkService inoutCarparkService; | ||
| 27 | + | ||
| 28 | + @RequestMapping(value = "/getStartEndByLine", method = RequestMethod.GET) | ||
| 29 | + public Map<String, Object> getStartEndByLine(@RequestParam("lineId")int lineId, @RequestParam("version")int version) { | ||
| 30 | + return inoutCarparkService.getStartEndByLine(lineId, version); | ||
| 31 | + } | ||
| 32 | + | ||
| 33 | + @RequestMapping(value = "/getRouteByStartEnd", method = RequestMethod.GET) | ||
| 34 | + public Map<String, Object> getRouteByStartEnd(@RequestParam("lineId")int lineId, @RequestParam("version")int version, @RequestParam("start")String start, @RequestParam("end")String end) { | ||
| 35 | + return inoutCarparkService.getRouteByStartEnd(lineId, version, start, end); | ||
| 36 | + } | ||
| 37 | + | ||
| 38 | + /** | ||
| 39 | + * 新增路段信息 | ||
| 40 | + * | ||
| 41 | + * @param map:<bsectionVector:折线百度坐标集合;dbType:圆坐标类型;descriptions:描述与说明;destroy:是否撤销;directions:方向;lineId:线路ID | ||
| 42 | + * | ||
| 43 | + * lineCode :线路编码;roadCoding:道路编码;sectionCode:路段编码;sectionDistance:路段长度;sectionName:路段名称;sectionTime:路段时长; | ||
| 44 | + * | ||
| 45 | + * sectionrouteCode:路段序号;speedLimit:路段限速> | ||
| 46 | + * | ||
| 47 | + * @return map<SUCCESS:成功;ERROR:异常> | ||
| 48 | + */ | ||
| 49 | + @RequestMapping(value="sectionSave" , method = RequestMethod.POST) | ||
| 50 | + public Map<String, Object> sectionSave(@RequestParam Map<String, Object> map) { | ||
| 51 | + map.put("createBy", ""); | ||
| 52 | + map.put("updateBy", ""); | ||
| 53 | + return inoutCarparkService.sectionSave(map); | ||
| 54 | + } | ||
| 55 | + | ||
| 56 | + /** | ||
| 57 | + * @Description :TODO(编辑线路走向) | ||
| 58 | + * | ||
| 59 | + * @param map <sectionId:路段ID; sectionJSON:路段信息> | ||
| 60 | + * | ||
| 61 | + * @return Map<String, Object> <SUCCESS ; ERROR> | ||
| 62 | + */ | ||
| 63 | + @RequestMapping(value="sectionUpdate" , method = RequestMethod.POST) | ||
| 64 | + public Map<String, Object> sectionUpdate(@RequestParam Map<String, Object> map) { | ||
| 65 | + | ||
| 66 | + map.put("updateBy", ""); | ||
| 67 | + | ||
| 68 | + map.put("createBy", ""); | ||
| 69 | + | ||
| 70 | + map.put("createDate", ""); | ||
| 71 | + | ||
| 72 | + return inoutCarparkService.sectionUpdate(map); | ||
| 73 | + | ||
| 74 | + } | ||
| 75 | + | ||
| 76 | + /** | ||
| 77 | + * @param id //路段路由id | ||
| 78 | + * @Description: TODO(撤销路段) | ||
| 79 | + */ | ||
| 80 | + @RequestMapping(value = "/destroy", method = RequestMethod.POST) | ||
| 81 | + public Map<String, Object> destroy(@RequestParam Map<String, Object> map) { | ||
| 82 | + return inoutCarparkService.destroy(map); | ||
| 83 | + } | ||
| 84 | + | ||
| 85 | + /** | ||
| 86 | + * 从历史轨迹做进场路径规划 | ||
| 87 | + * @Description: TODO(撤销路段) | ||
| 88 | + */ | ||
| 89 | + @RequestMapping(value = "/pathPlaningByHistory", method = RequestMethod.POST) | ||
| 90 | + public Map<String, Object> pathPlaningByHistory(@RequestParam Map<String, Object> map){ | ||
| 91 | + Map<String, Object> result = new HashMap<>(); | ||
| 92 | + result.put("status", ResponseCode.SUCCESS); | ||
| 93 | + try { | ||
| 94 | + String schId = (String)map.get("schId"), version = (String)map.get("version"); | ||
| 95 | + if (StringUtils.isEmpty(schId) || StringUtils.isEmpty(version)) { | ||
| 96 | + throw new RuntimeException("无效的参数"); | ||
| 97 | + } | ||
| 98 | + inoutCarparkService.pathPlaningByHistory(Long.parseLong(schId), Integer.parseInt(version)); | ||
| 99 | + } catch (Exception e) { | ||
| 100 | + result.put("status", ResponseCode.ERROR); | ||
| 101 | + logger.error("路径规划异常", e); | ||
| 102 | + } | ||
| 103 | + | ||
| 104 | + return result; | ||
| 105 | + } | ||
| 106 | +} |
src/main/java/com/bsth/controller/oil/YlbController.java
| @@ -234,8 +234,24 @@ public class YlbController extends BaseController<Ylb, Integer>{ | @@ -234,8 +234,24 @@ public class YlbController extends BaseController<Ylb, Integer>{ | ||
| 234 | 234 | ||
| 235 | @RequestMapping(value = "/checkDate",method = RequestMethod.GET) | 235 | @RequestMapping(value = "/checkDate",method = RequestMethod.GET) |
| 236 | public String checkDate(@RequestParam Map<String, Object> map){ | 236 | public String checkDate(@RequestParam Map<String, Object> map){ |
| 237 | - String list=ylbService.checkDate(map); | ||
| 238 | - return list; | 237 | + String result=ylbService.checkDate(map); |
| 238 | + return result; | ||
| 239 | + } | ||
| 240 | + | ||
| 241 | + @RequestMapping(value = "/getModifyRights",method = RequestMethod.GET) | ||
| 242 | + public Map<String, Object> getModifyRights(@RequestParam Map<String, Object> map){ | ||
| 243 | + String result=ylbService.getModifyRights(); | ||
| 244 | + Map<String, Object> resMap = new HashMap<String, Object>(); | ||
| 245 | + resMap.put("text", result); | ||
| 246 | + return resMap; | ||
| 247 | + } | ||
| 248 | + | ||
| 249 | + @RequestMapping(value = "/modifyRightsChange",method = RequestMethod.GET) | ||
| 250 | + public Map<String, Object> modifyRightsChange(@RequestParam Map<String, Object> map){ | ||
| 251 | + String result=ylbService.modifyRightsChange(); | ||
| 252 | + Map<String, Object> resMap = new HashMap<String, Object>(); | ||
| 253 | + resMap.put("text", result); | ||
| 254 | + return resMap; | ||
| 239 | } | 255 | } |
| 240 | 256 | ||
| 241 | @RequestMapping(value = "/sumYlb",method = RequestMethod.GET) | 257 | @RequestMapping(value = "/sumYlb",method = RequestMethod.GET) |
src/main/java/com/bsth/controller/realcontrol/ServiceDataInterface.java
| @@ -13,9 +13,12 @@ import com.bsth.data.gpsdata_v2.GpsRealData; | @@ -13,9 +13,12 @@ import com.bsth.data.gpsdata_v2.GpsRealData; | ||
| 13 | import com.bsth.data.gpsdata_v2.entity.GpsEntity; | 13 | import com.bsth.data.gpsdata_v2.entity.GpsEntity; |
| 14 | import com.bsth.data.schedule.DayOfSchedule; | 14 | import com.bsth.data.schedule.DayOfSchedule; |
| 15 | import com.bsth.data.schedule.external.TccExternalService; | 15 | import com.bsth.data.schedule.external.TccExternalService; |
| 16 | +import com.bsth.entity.Line; | ||
| 16 | import com.bsth.entity.directive.D60; | 17 | import com.bsth.entity.directive.D60; |
| 17 | import com.bsth.entity.realcontrol.ScheduleRealInfo; | 18 | import com.bsth.entity.realcontrol.ScheduleRealInfo; |
| 19 | +import com.bsth.repository.LineRepository; | ||
| 18 | import com.bsth.repository.directive.D60Repository; | 20 | import com.bsth.repository.directive.D60Repository; |
| 21 | +import com.bsth.service.LineService; | ||
| 19 | import com.bsth.websocket.handler.SendUtils; | 22 | import com.bsth.websocket.handler.SendUtils; |
| 20 | import com.fasterxml.jackson.databind.ObjectMapper; | 23 | import com.fasterxml.jackson.databind.ObjectMapper; |
| 21 | import com.google.common.base.Splitter; | 24 | import com.google.common.base.Splitter; |
| @@ -59,6 +62,13 @@ public class ServiceDataInterface { | @@ -59,6 +62,13 @@ public class ServiceDataInterface { | ||
| 59 | @Autowired | 62 | @Autowired |
| 60 | private SendUtils sendUtils; | 63 | private SendUtils sendUtils; |
| 61 | 64 | ||
| 65 | + | ||
| 66 | + @Autowired | ||
| 67 | + LineRepository lineRepository; | ||
| 68 | + | ||
| 69 | + @Autowired | ||
| 70 | + private LineService service; | ||
| 71 | + | ||
| 62 | /** | 72 | /** |
| 63 | * 获取车辆 和 当前执行班次对照信息 | 73 | * 获取车辆 和 当前执行班次对照信息 |
| 64 | * | 74 | * |
| @@ -324,9 +334,26 @@ public class ServiceDataInterface { | @@ -324,9 +334,26 @@ public class ServiceDataInterface { | ||
| 324 | 334 | ||
| 325 | ObjectMapper mapper = new ObjectMapper(); | 335 | ObjectMapper mapper = new ObjectMapper(); |
| 326 | try { | 336 | try { |
| 337 | + List<Map<String,String>> emergencyList = new ArrayList(); | ||
| 338 | + List<Map<String,String>> emergencyListAll = new ArrayList(); | ||
| 327 | List<Map> maps = mapper.readValue(jsonStr,mapper.getTypeFactory().constructParametricType(List.class, Map.class)); | 339 | List<Map> maps = mapper.readValue(jsonStr,mapper.getTypeFactory().constructParametricType(List.class, Map.class)); |
| 328 | for (Map map : maps) { | 340 | for (Map map : maps) { |
| 329 | sendUtils.sendContingencyPlan(map); | 341 | sendUtils.sendContingencyPlan(map); |
| 342 | + emergencyList.add((Map<String, String>) map.get("emergencyLine")); | ||
| 343 | + } | ||
| 344 | + | ||
| 345 | + for (Map.Entry<String, String> m : BasicData.lineCode2NameMap.entrySet()){ | ||
| 346 | + for (Map<String,String> emer : emergencyList){ | ||
| 347 | + for (Map.Entry<String,String> t : emer.entrySet()){ | ||
| 348 | + if(m.getKey().equals(t.getKey())){ | ||
| 349 | + emergencyListAll.add(emer); // | ||
| 350 | + Line line = lineRepository.findById(Integer.parseInt(t.getKey())).get(); | ||
| 351 | + line.setName(t.getValue()); | ||
| 352 | + Map<String, Object> status = service.update(line); | ||
| 353 | + logger.info("应急接口修改线路名称-----------------------"+status.get("status")); | ||
| 354 | + } | ||
| 355 | + } | ||
| 356 | + } | ||
| 330 | } | 357 | } |
| 331 | } catch (IOException e) { | 358 | } catch (IOException e) { |
| 332 | result.put("errCode", 502); | 359 | result.put("errCode", 502); |
src/main/java/com/bsth/controller/report/ReportController.java
| @@ -218,8 +218,9 @@ public class ReportController { | @@ -218,8 +218,9 @@ public class ReportController { | ||
| 218 | return new ArrayList<Map<String, Object>>(); | 218 | return new ArrayList<Map<String, Object>>(); |
| 219 | } | 219 | } |
| 220 | @RequestMapping(value = "/sreachZd", method = RequestMethod.GET) | 220 | @RequestMapping(value = "/sreachZd", method = RequestMethod.GET) |
| 221 | - public List<Map<String, String>> sreachPersonnel(@RequestParam String line,@RequestParam int zdlx) { | ||
| 222 | - return service.sreachZd(line,zdlx); | 221 | + public List<Map<String, String>> sreachPersonnel(@RequestParam String line,@RequestParam int zdlx, |
| 222 | + @RequestParam String date1,@RequestParam String date2) { | ||
| 223 | + return service.sreachZd(line,zdlx,date1,date2); | ||
| 223 | } | 224 | } |
| 224 | 225 | ||
| 225 | 226 |
src/main/java/com/bsth/controller/schedule/TrafficManageController.java
| 1 | -package com.bsth.controller.schedule; | ||
| 2 | - | ||
| 3 | -import com.bsth.service.TrafficManageService; | ||
| 4 | - | ||
| 5 | -import org.springframework.beans.factory.annotation.Autowired; | ||
| 6 | -import org.springframework.web.bind.annotation.RequestMapping; | ||
| 7 | -import org.springframework.web.bind.annotation.RequestMethod; | ||
| 8 | -import org.springframework.web.bind.annotation.RequestParam; | ||
| 9 | -import org.springframework.web.bind.annotation.RestController; | ||
| 10 | - | ||
| 11 | -/** | ||
| 12 | - * | ||
| 13 | - * @author BSTH | ||
| 14 | - * | ||
| 15 | - */ | ||
| 16 | -@RestController | ||
| 17 | -@RequestMapping("trmg") | ||
| 18 | -public class TrafficManageController { | ||
| 19 | - | ||
| 20 | - @Autowired | ||
| 21 | - private TrafficManageService trManageService; | ||
| 22 | - | ||
| 23 | - | ||
| 24 | - @RequestMapping(value = "/setXL", method = RequestMethod.GET) | ||
| 25 | - public String setXL(@RequestParam("ids") String ids) throws Exception { | ||
| 26 | - try { | ||
| 27 | - return trManageService.setXL(ids); | ||
| 28 | - } catch (Exception exp) { | ||
| 29 | - throw new Exception(exp.getCause()); | ||
| 30 | - } | ||
| 31 | - } | ||
| 32 | - | ||
| 33 | - @RequestMapping(value = "/setXLByInUse", method = RequestMethod.GET) | ||
| 34 | - public String setXLByInUse(@RequestParam("inUse") String inUse) throws Exception { | ||
| 35 | - try { | ||
| 36 | - return trManageService.setXLByInUse(inUse); | ||
| 37 | - } catch (Exception exp) { | ||
| 38 | - throw new Exception(exp.getCause()); | ||
| 39 | - } | ||
| 40 | - } | ||
| 41 | - | ||
| 42 | - @RequestMapping(value = "/setCL", method = RequestMethod.GET) | ||
| 43 | - public String setCL() throws Exception { | ||
| 44 | - try { | ||
| 45 | - return trManageService.setCL(); | ||
| 46 | - } catch (Exception exp) { | ||
| 47 | - throw new Exception(exp.getCause()); | ||
| 48 | - } | ||
| 49 | - } | ||
| 50 | - | ||
| 51 | - @RequestMapping(value = "/setSJ", method = RequestMethod.GET) | ||
| 52 | - public String setSJ() throws Exception { | ||
| 53 | - try { | ||
| 54 | - return trManageService.setSJ(); | ||
| 55 | - } catch (Exception exp) { | ||
| 56 | - throw new Exception(exp.getCause()); | ||
| 57 | - } | ||
| 58 | - } | ||
| 59 | - | ||
| 60 | - @RequestMapping(value = "/setLD", method = RequestMethod.GET) | ||
| 61 | - public String setLD() throws Exception { | ||
| 62 | - try { | ||
| 63 | - return trManageService.setLD(); | ||
| 64 | - } catch (Exception exp) { | ||
| 65 | - throw new Exception(exp.getCause()); | ||
| 66 | - } | ||
| 67 | - } | ||
| 68 | - | ||
| 69 | - @RequestMapping(value = "/setLDByDate", method = RequestMethod.GET) | ||
| 70 | - public String setLDByDate(@RequestParam("theDate") String theDate) throws Exception { | ||
| 71 | - try { | ||
| 72 | - return trManageService.setLD(theDate); | ||
| 73 | - } catch (Exception exp) { | ||
| 74 | - throw new Exception(exp.getCause()); | ||
| 75 | - } | ||
| 76 | - } | ||
| 77 | - | ||
| 78 | - @RequestMapping(value = "/setLDFile", method = RequestMethod.GET) | ||
| 79 | - public String setLDFile() throws Exception { | ||
| 80 | - try { | ||
| 81 | - return trManageService.setLDFile(); | ||
| 82 | - } catch (Exception exp) { | ||
| 83 | - throw new Exception(exp.getCause()); | ||
| 84 | - } | ||
| 85 | - } | ||
| 86 | - | ||
| 87 | - @RequestMapping(value = "/setLCYH", method = RequestMethod.GET) | ||
| 88 | - public String setLCYH() throws Exception { | ||
| 89 | - try { | ||
| 90 | - return trManageService.setLCYH(); | ||
| 91 | - } catch (Exception exp) { | ||
| 92 | - throw new Exception(exp.getCause()); | ||
| 93 | - } | ||
| 94 | - } | ||
| 95 | - | ||
| 96 | - @RequestMapping(value = "/setDDRB", method = RequestMethod.GET) | ||
| 97 | - public String setDDRB() throws Exception { | ||
| 98 | - try { | ||
| 99 | - return trManageService.setDDRB(); | ||
| 100 | - } catch (Exception exp) { | ||
| 101 | - throw new Exception(exp.getCause()); | ||
| 102 | - } | ||
| 103 | - } | ||
| 104 | - | ||
| 105 | - @RequestMapping(value = "/setJHBC", method = RequestMethod.GET) | ||
| 106 | - public String setJHBC() throws Exception { | ||
| 107 | - try { | ||
| 108 | - return trManageService.setJHBC(); | ||
| 109 | - } catch (Exception exp) { | ||
| 110 | - throw new Exception(exp.getCause()); | ||
| 111 | - } | ||
| 112 | - } | ||
| 113 | - | ||
| 114 | - @RequestMapping(value = "/setJHBCByDate", method = RequestMethod.GET) | ||
| 115 | - public String setJHBCByDate(@RequestParam("theDate") String theDate) throws Exception { | ||
| 116 | - try { | ||
| 117 | - return trManageService.setJHBC(theDate); | ||
| 118 | - } catch (Exception exp) { | ||
| 119 | - throw new Exception(exp.getCause()); | ||
| 120 | - } | ||
| 121 | - } | ||
| 122 | - | ||
| 123 | - @RequestMapping(value = "/setSKB", method = RequestMethod.GET) | ||
| 124 | - public String setSKB(@RequestParam("ids") String ids) throws Exception { | ||
| 125 | - try { | ||
| 126 | - return trManageService.setSKB(ids); | ||
| 127 | - } catch (Exception exp) { | ||
| 128 | - throw new Exception(exp.getCause()); | ||
| 129 | - } | ||
| 130 | - } | ||
| 131 | - | ||
| 132 | - @RequestMapping(value = "/setXLPC", method = RequestMethod.GET) | ||
| 133 | - public String setXLPC() throws Exception { | ||
| 134 | - try { | ||
| 135 | - return trManageService.setXLPC(); | ||
| 136 | - } catch (Exception exp) { | ||
| 137 | - throw new Exception(exp.getCause()); | ||
| 138 | - } | ||
| 139 | - } | ||
| 140 | - | ||
| 141 | - @RequestMapping(value = "/setCS", method = RequestMethod.GET) | ||
| 142 | - public String setCS() throws Exception { | ||
| 143 | - try { | ||
| 144 | - return trManageService.setCS(); | ||
| 145 | - } catch (Exception exp) { | ||
| 146 | - throw new Exception(exp.getCause()); | ||
| 147 | - } | ||
| 148 | - } | ||
| 149 | - | ||
| 150 | - @RequestMapping(value = "/getDownLoadAllDataFile", method = RequestMethod.GET) | ||
| 151 | - public String getDownLoadAllDataFile() throws Exception { | ||
| 152 | - try { | ||
| 153 | - return trManageService.getDownLoadAllDataFile(); | ||
| 154 | - } catch (Exception exp) { | ||
| 155 | - throw new Exception(exp.getCause()); | ||
| 156 | - } | ||
| 157 | - } | ||
| 158 | - | ||
| 159 | -} | 1 | +package com.bsth.controller.schedule; |
| 2 | + | ||
| 3 | +import com.bsth.service.TrafficManageService; | ||
| 4 | + | ||
| 5 | +import org.springframework.beans.factory.annotation.Autowired; | ||
| 6 | +import org.springframework.web.bind.annotation.RequestMapping; | ||
| 7 | +import org.springframework.web.bind.annotation.RequestMethod; | ||
| 8 | +import org.springframework.web.bind.annotation.RequestParam; | ||
| 9 | +import org.springframework.web.bind.annotation.RestController; | ||
| 10 | + | ||
| 11 | +/** | ||
| 12 | + * | ||
| 13 | + * @author BSTH | ||
| 14 | + * | ||
| 15 | + */ | ||
| 16 | +@RestController | ||
| 17 | +@RequestMapping("trmg") | ||
| 18 | +public class TrafficManageController { | ||
| 19 | + | ||
| 20 | + @Autowired | ||
| 21 | + private TrafficManageService trManageService; | ||
| 22 | + | ||
| 23 | + | ||
| 24 | + @RequestMapping(value = "/setXL", method = RequestMethod.GET) | ||
| 25 | + public String setXL(@RequestParam("ids") String ids) throws Exception { | ||
| 26 | + try { | ||
| 27 | + return trManageService.setXL(ids); | ||
| 28 | + } catch (Exception exp) { | ||
| 29 | + throw new Exception(exp.getCause()); | ||
| 30 | + } | ||
| 31 | + } | ||
| 32 | + | ||
| 33 | + @RequestMapping(value = "/setXLByInUse", method = RequestMethod.GET) | ||
| 34 | + public String setXLByInUse(@RequestParam("inUse") String inUse) throws Exception { | ||
| 35 | + try { | ||
| 36 | + return trManageService.setXLByInUse(inUse); | ||
| 37 | + } catch (Exception exp) { | ||
| 38 | + throw new Exception(exp.getCause()); | ||
| 39 | + } | ||
| 40 | + } | ||
| 41 | + | ||
| 42 | + @RequestMapping(value = "/setCL", method = RequestMethod.GET) | ||
| 43 | + public String setCL() throws Exception { | ||
| 44 | + try { | ||
| 45 | + return trManageService.setCL(); | ||
| 46 | + } catch (Exception exp) { | ||
| 47 | + throw new Exception(exp.getCause()); | ||
| 48 | + } | ||
| 49 | + } | ||
| 50 | + | ||
| 51 | + @RequestMapping(value = "/setSJ", method = RequestMethod.GET) | ||
| 52 | + public String setSJ() throws Exception { | ||
| 53 | + try { | ||
| 54 | + return trManageService.setSJ(); | ||
| 55 | + } catch (Exception exp) { | ||
| 56 | + throw new Exception(exp.getCause()); | ||
| 57 | + } | ||
| 58 | + } | ||
| 59 | + | ||
| 60 | + @RequestMapping(value = "/setLD", method = RequestMethod.GET) | ||
| 61 | + public String setLD() throws Exception { | ||
| 62 | + try { | ||
| 63 | + return trManageService.setLD(); | ||
| 64 | + } catch (Exception exp) { | ||
| 65 | + throw new Exception(exp.getCause()); | ||
| 66 | + } | ||
| 67 | + } | ||
| 68 | + | ||
| 69 | + @RequestMapping(value = "/setLDByDate", method = RequestMethod.GET) | ||
| 70 | + public String setLDByDate(@RequestParam("theDate") String theDate) throws Exception { | ||
| 71 | + try { | ||
| 72 | + return trManageService.setLD(theDate); | ||
| 73 | + } catch (Exception exp) { | ||
| 74 | + throw new Exception(exp.getCause()); | ||
| 75 | + } | ||
| 76 | + } | ||
| 77 | + | ||
| 78 | + @RequestMapping(value = "/setLDFile", method = RequestMethod.GET) | ||
| 79 | + public String setLDFile() throws Exception { | ||
| 80 | + try { | ||
| 81 | + return trManageService.setLDFile(); | ||
| 82 | + } catch (Exception exp) { | ||
| 83 | + throw new Exception(exp.getCause()); | ||
| 84 | + } | ||
| 85 | + } | ||
| 86 | + | ||
| 87 | + @RequestMapping(value = "/setLCYH", method = RequestMethod.GET) | ||
| 88 | + public String setLCYH() throws Exception { | ||
| 89 | + try { | ||
| 90 | + return trManageService.setLCYH(); | ||
| 91 | + } catch (Exception exp) { | ||
| 92 | + throw new Exception(exp.getCause()); | ||
| 93 | + } | ||
| 94 | + } | ||
| 95 | + | ||
| 96 | + @RequestMapping(value = "/setDDRB", method = RequestMethod.GET) | ||
| 97 | + public String setDDRB() throws Exception { | ||
| 98 | + try { | ||
| 99 | + return trManageService.setDDRB(); | ||
| 100 | + } catch (Exception exp) { | ||
| 101 | + throw new Exception(exp.getCause()); | ||
| 102 | + } | ||
| 103 | + } | ||
| 104 | + | ||
| 105 | + @RequestMapping(value = "/setJHBC", method = RequestMethod.GET) | ||
| 106 | + public String setJHBC() throws Exception { | ||
| 107 | + try { | ||
| 108 | + return trManageService.setJHBC(); | ||
| 109 | + } catch (Exception exp) { | ||
| 110 | + throw new Exception(exp.getCause()); | ||
| 111 | + } | ||
| 112 | + } | ||
| 113 | + | ||
| 114 | + @RequestMapping(value = "/setJHBCByDate", method = RequestMethod.GET) | ||
| 115 | + public String setJHBCByDate(@RequestParam("theDate") String theDate) throws Exception { | ||
| 116 | + try { | ||
| 117 | + return trManageService.setJHBC(theDate); | ||
| 118 | + } catch (Exception exp) { | ||
| 119 | + throw new Exception(exp.getCause()); | ||
| 120 | + } | ||
| 121 | + } | ||
| 122 | + | ||
| 123 | + @RequestMapping(value = "/setSKB", method = RequestMethod.GET) | ||
| 124 | + public String setSKB(@RequestParam("ids") String ids, @RequestParam("qyrqs") String qyrqs) throws Exception { | ||
| 125 | + try { | ||
| 126 | + return trManageService.setSKB(ids, qyrqs); | ||
| 127 | + } catch (Exception exp) { | ||
| 128 | + throw new Exception(exp.getCause()); | ||
| 129 | + } | ||
| 130 | + } | ||
| 131 | + | ||
| 132 | + @RequestMapping(value = "/setXLPC", method = RequestMethod.GET) | ||
| 133 | + public String setXLPC() throws Exception { | ||
| 134 | + try { | ||
| 135 | + return trManageService.setXLPC(); | ||
| 136 | + } catch (Exception exp) { | ||
| 137 | + throw new Exception(exp.getCause()); | ||
| 138 | + } | ||
| 139 | + } | ||
| 140 | + | ||
| 141 | + @RequestMapping(value = "/setCS", method = RequestMethod.GET) | ||
| 142 | + public String setCS() throws Exception { | ||
| 143 | + try { | ||
| 144 | + return trManageService.setCS(); | ||
| 145 | + } catch (Exception exp) { | ||
| 146 | + throw new Exception(exp.getCause()); | ||
| 147 | + } | ||
| 148 | + } | ||
| 149 | + | ||
| 150 | + @RequestMapping(value = "/getDownLoadAllDataFile", method = RequestMethod.GET) | ||
| 151 | + public String getDownLoadAllDataFile() throws Exception { | ||
| 152 | + try { | ||
| 153 | + return trManageService.getDownLoadAllDataFile(); | ||
| 154 | + } catch (Exception exp) { | ||
| 155 | + throw new Exception(exp.getCause()); | ||
| 156 | + } | ||
| 157 | + } | ||
| 158 | + | ||
| 159 | +} |
src/main/java/com/bsth/data/gpsdata_v2/DataHandleProcess.java
| @@ -6,6 +6,7 @@ import com.bsth.data.gpsdata_v2.entity.GpsEntity; | @@ -6,6 +6,7 @@ import com.bsth.data.gpsdata_v2.entity.GpsEntity; | ||
| 6 | import com.bsth.data.gpsdata_v2.handlers.*; | 6 | import com.bsth.data.gpsdata_v2.handlers.*; |
| 7 | import com.bsth.email.SendEmailController; | 7 | import com.bsth.email.SendEmailController; |
| 8 | import com.bsth.email.entity.EmailBean; | 8 | import com.bsth.email.entity.EmailBean; |
| 9 | +import com.bsth.util.IpUtils; | ||
| 9 | import com.fasterxml.jackson.databind.ObjectMapper; | 10 | import com.fasterxml.jackson.databind.ObjectMapper; |
| 10 | import com.google.common.collect.ArrayListMultimap; | 11 | import com.google.common.collect.ArrayListMultimap; |
| 11 | import org.apache.commons.lang3.StringUtils; | 12 | import org.apache.commons.lang3.StringUtils; |
| @@ -109,7 +110,7 @@ public class DataHandleProcess { | @@ -109,7 +110,7 @@ public class DataHandleProcess { | ||
| 109 | //发送邮件 | 110 | //发送邮件 |
| 110 | EmailBean mail = new EmailBean(); | 111 | EmailBean mail = new EmailBean(); |
| 111 | mail.setSubject("线调GPS处理"); | 112 | mail.setSubject("线调GPS处理"); |
| 112 | - mail.setContent("GPS处理超时,检查日志信息<br/>"); | 113 | + mail.setContent(IpUtils.getLocalIpAddress() + "GPS处理超时,检查日志信息<br/>"); |
| 113 | sendEmailController.sendMail("113252620@qq.com", mail); | 114 | sendEmailController.sendMail("113252620@qq.com", mail); |
| 114 | logger.info(new ObjectMapper().writeValueAsString(list)); | 115 | logger.info(new ObjectMapper().writeValueAsString(list)); |
| 115 | logger.info("DataHandlerProcess:邮件发送成功!"); | 116 | logger.info("DataHandlerProcess:邮件发送成功!"); |
src/main/java/com/bsth/data/schedule/DayOfSchedule.java
| @@ -1020,6 +1020,7 @@ public class DayOfSchedule { | @@ -1020,6 +1020,7 @@ public class DayOfSchedule { | ||
| 1020 | } | 1020 | } |
| 1021 | inStr.deleteCharAt(inStr.length() - 1).append(")"); | 1021 | inStr.deleteCharAt(inStr.length() - 1).append(")"); |
| 1022 | jdbcTemplate.update(Constants.MULTI_REMOVE_DIRECTIVE_SCH_FK + " " + inStr.toString()); | 1022 | jdbcTemplate.update(Constants.MULTI_REMOVE_DIRECTIVE_SCH_FK + " " + inStr.toString()); |
| 1023 | + jdbcTemplate.update(Constants.MULTI_REMOVE_CHILDTASK_SCH_FK + " " + inStr.toString()); | ||
| 1023 | } | 1024 | } |
| 1024 | 1025 | ||
| 1025 | //删除班次数据 | 1026 | //删除班次数据 |
src/main/java/com/bsth/entity/CarPark.java
| @@ -40,7 +40,7 @@ public class CarPark { | @@ -40,7 +40,7 @@ public class CarPark { | ||
| 40 | 40 | ||
| 41 | // 地理位置(百度坐标) | 41 | // 地理位置(百度坐标) |
| 42 | private String bParkPoint; | 42 | private String bParkPoint; |
| 43 | - | 43 | + |
| 44 | // 地理位置中心点(百度坐标) | 44 | // 地理位置中心点(百度坐标) |
| 45 | private String bCenterPoint; | 45 | private String bCenterPoint; |
| 46 | 46 | ||
| @@ -81,7 +81,7 @@ public class CarPark { | @@ -81,7 +81,7 @@ public class CarPark { | ||
| 81 | private String brancheCompany; | 81 | private String brancheCompany; |
| 82 | 82 | ||
| 83 | /** 组合公司分公司编码 */ | 83 | /** 组合公司分公司编码 */ |
| 84 | - @Formula(" concat(company, '_', branche_company) ") | 84 | + @Transient |
| 85 | private String cgsbm; | 85 | private String cgsbm; |
| 86 | 86 | ||
| 87 | // 是否撤销 | 87 | // 是否撤销 |
| @@ -106,14 +106,6 @@ public class CarPark { | @@ -106,14 +106,6 @@ public class CarPark { | ||
| 106 | // 修改日期 | 106 | // 修改日期 |
| 107 | @Column(name = "update_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP") | 107 | @Column(name = "update_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP") |
| 108 | private Date updateDate; | 108 | private Date updateDate; |
| 109 | - | ||
| 110 | - public String getCgsbm() { | ||
| 111 | - return cgsbm; | ||
| 112 | - } | ||
| 113 | - | ||
| 114 | - public void setCgsbm(String cgsbm) { | ||
| 115 | - this.cgsbm = cgsbm; | ||
| 116 | - } | ||
| 117 | 109 | ||
| 118 | public Integer getId() { | 110 | public Integer getId() { |
| 119 | return id; | 111 | return id; |
| @@ -219,6 +211,14 @@ public class CarPark { | @@ -219,6 +211,14 @@ public class CarPark { | ||
| 219 | this.company = company; | 211 | this.company = company; |
| 220 | } | 212 | } |
| 221 | 213 | ||
| 214 | + public String getCgsbm() { | ||
| 215 | + return this.company + "_" + this.brancheCompany; | ||
| 216 | + } | ||
| 217 | + | ||
| 218 | + public void setCgsbm(String cgsbm) { | ||
| 219 | + this.cgsbm = cgsbm; | ||
| 220 | + } | ||
| 221 | + | ||
| 222 | public Integer getDestroy() { | 222 | public Integer getDestroy() { |
| 223 | return destroy; | 223 | return destroy; |
| 224 | } | 224 | } |
src/main/java/com/bsth/entity/LsInoutSectionRoute.java
0 → 100644
| 1 | +package com.bsth.entity; | ||
| 2 | + | ||
| 3 | +import javax.persistence.*; | ||
| 4 | +import java.util.Date; | ||
| 5 | + | ||
| 6 | + | ||
| 7 | +/** | ||
| 8 | + * | ||
| 9 | + * @ClassName : LsInoutSectionRoute(历史进出场路段路由实体类) | ||
| 10 | + * | ||
| 11 | + * @Author : bsth@lq | ||
| 12 | + * | ||
| 13 | + * @Description : TODO(历史路段路由) | ||
| 14 | + * | ||
| 15 | + * @Version 公交调度系统BS版 0.1 | ||
| 16 | + * | ||
| 17 | + */ | ||
| 18 | + | ||
| 19 | +@Entity | ||
| 20 | +@Table(name = "bsth_c_ls_inout_sectionroute") | ||
| 21 | +public class LsInoutSectionRoute { | ||
| 22 | + | ||
| 23 | + @Id | ||
| 24 | + @GeneratedValue(strategy = GenerationType.IDENTITY) | ||
| 25 | + private Long id; | ||
| 26 | + | ||
| 27 | + // 路段路由序号 | ||
| 28 | + private Integer sectionrouteCode; | ||
| 29 | + | ||
| 30 | + // 线路编号 | ||
| 31 | + private String lineCode; | ||
| 32 | + | ||
| 33 | + /** | ||
| 34 | + * 进出场起点编码 | ||
| 35 | + */ | ||
| 36 | + private String start; | ||
| 37 | + | ||
| 38 | + /** | ||
| 39 | + * 进出场终点编码 | ||
| 40 | + */ | ||
| 41 | + private String end; | ||
| 42 | + | ||
| 43 | + // 路段编号 | ||
| 44 | + private String sectionCode; | ||
| 45 | + | ||
| 46 | + // 路段路由方向 | ||
| 47 | + private Integer directions; | ||
| 48 | + | ||
| 49 | + // 版本号 | ||
| 50 | + private Integer versions; | ||
| 51 | + | ||
| 52 | + // 是否撤销 | ||
| 53 | + private Integer destroy; | ||
| 54 | + | ||
| 55 | + // 描述 | ||
| 56 | + private String descriptions; | ||
| 57 | + | ||
| 58 | + // 创建人 | ||
| 59 | + private Integer createBy; | ||
| 60 | + | ||
| 61 | + // 修改人 | ||
| 62 | + private Integer updateBy; | ||
| 63 | + | ||
| 64 | + // 创建日期 | ||
| 65 | + @Column(updatable = false, name = "create_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP") | ||
| 66 | + private Date createDate; | ||
| 67 | + | ||
| 68 | + // 修改日期 | ||
| 69 | + @Column(name = "update_date", columnDefinition = "timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP") | ||
| 70 | + private Date updateDate; | ||
| 71 | + | ||
| 72 | + // 路段信息 | ||
| 73 | + @OneToOne | ||
| 74 | + private Section section; | ||
| 75 | + | ||
| 76 | + // 线路信息 | ||
| 77 | + @ManyToOne | ||
| 78 | + private Line line; | ||
| 79 | + | ||
| 80 | + public Long getId() { | ||
| 81 | + return id; | ||
| 82 | + } | ||
| 83 | + | ||
| 84 | + public void setId(Long id) { | ||
| 85 | + this.id = id; | ||
| 86 | + } | ||
| 87 | + | ||
| 88 | + public Integer getSectionrouteCode() { | ||
| 89 | + return sectionrouteCode; | ||
| 90 | + } | ||
| 91 | + | ||
| 92 | + public void setSectionrouteCode(Integer sectionrouteCode) { | ||
| 93 | + this.sectionrouteCode = sectionrouteCode; | ||
| 94 | + } | ||
| 95 | + | ||
| 96 | + public String getLineCode() { | ||
| 97 | + return lineCode; | ||
| 98 | + } | ||
| 99 | + | ||
| 100 | + public void setLineCode(String lineCode) { | ||
| 101 | + this.lineCode = lineCode; | ||
| 102 | + } | ||
| 103 | + | ||
| 104 | + public String getStart() { | ||
| 105 | + return start; | ||
| 106 | + } | ||
| 107 | + | ||
| 108 | + public void setStart(String start) { | ||
| 109 | + this.start = start; | ||
| 110 | + } | ||
| 111 | + | ||
| 112 | + public String getEnd() { | ||
| 113 | + return end; | ||
| 114 | + } | ||
| 115 | + | ||
| 116 | + public void setEnd(String end) { | ||
| 117 | + this.end = end; | ||
| 118 | + } | ||
| 119 | + | ||
| 120 | + public String getSectionCode() { | ||
| 121 | + return sectionCode; | ||
| 122 | + } | ||
| 123 | + | ||
| 124 | + public void setSectionCode(String sectionCode) { | ||
| 125 | + this.sectionCode = sectionCode; | ||
| 126 | + } | ||
| 127 | + | ||
| 128 | + public Integer getDirections() { | ||
| 129 | + return directions; | ||
| 130 | + } | ||
| 131 | + | ||
| 132 | + public void setDirections(Integer directions) { | ||
| 133 | + this.directions = directions; | ||
| 134 | + } | ||
| 135 | + | ||
| 136 | + public Integer getVersions() { | ||
| 137 | + return versions; | ||
| 138 | + } | ||
| 139 | + | ||
| 140 | + public void setVersions(Integer versions) { | ||
| 141 | + this.versions = versions; | ||
| 142 | + } | ||
| 143 | + | ||
| 144 | + public Integer getDestroy() { | ||
| 145 | + return destroy; | ||
| 146 | + } | ||
| 147 | + | ||
| 148 | + public void setDestroy(Integer destroy) { | ||
| 149 | + this.destroy = destroy; | ||
| 150 | + } | ||
| 151 | + | ||
| 152 | + public String getDescriptions() { | ||
| 153 | + return descriptions; | ||
| 154 | + } | ||
| 155 | + | ||
| 156 | + public void setDescriptions(String descriptions) { | ||
| 157 | + this.descriptions = descriptions; | ||
| 158 | + } | ||
| 159 | + | ||
| 160 | + public Integer getCreateBy() { | ||
| 161 | + return createBy; | ||
| 162 | + } | ||
| 163 | + | ||
| 164 | + public void setCreateBy(Integer createBy) { | ||
| 165 | + this.createBy = createBy; | ||
| 166 | + } | ||
| 167 | + | ||
| 168 | + public Integer getUpdateBy() { | ||
| 169 | + return updateBy; | ||
| 170 | + } | ||
| 171 | + | ||
| 172 | + public void setUpdateBy(Integer updateBy) { | ||
| 173 | + this.updateBy = updateBy; | ||
| 174 | + } | ||
| 175 | + | ||
| 176 | + public Date getCreateDate() { | ||
| 177 | + return createDate; | ||
| 178 | + } | ||
| 179 | + | ||
| 180 | + public void setCreateDate(Date createDate) { | ||
| 181 | + this.createDate = createDate; | ||
| 182 | + } | ||
| 183 | + | ||
| 184 | + public Date getUpdateDate() { | ||
| 185 | + return updateDate; | ||
| 186 | + } | ||
| 187 | + | ||
| 188 | + public void setUpdateDate(Date updateDate) { | ||
| 189 | + this.updateDate = updateDate; | ||
| 190 | + } | ||
| 191 | + | ||
| 192 | + public Section getSection() { | ||
| 193 | + return section; | ||
| 194 | + } | ||
| 195 | + | ||
| 196 | + public void setSection(Section section) { | ||
| 197 | + this.section = section; | ||
| 198 | + } | ||
| 199 | + | ||
| 200 | + public Line getLine() { | ||
| 201 | + return line; | ||
| 202 | + } | ||
| 203 | + | ||
| 204 | + public void setLine(Line line) { | ||
| 205 | + this.line = line; | ||
| 206 | + } | ||
| 207 | +} |
src/main/java/com/bsth/entity/Section.java
| 1 | package com.bsth.entity; | 1 | package com.bsth.entity; |
| 2 | 2 | ||
| 3 | +import org.hibernate.annotations.Formula; | ||
| 4 | + | ||
| 3 | import java.util.Date; | 5 | import java.util.Date; |
| 4 | 6 | ||
| 5 | import javax.persistence.Column; | 7 | import javax.persistence.Column; |
| @@ -53,12 +55,15 @@ public class Section{ | @@ -53,12 +55,15 @@ public class Section{ | ||
| 53 | private String sectionType; | 55 | private String sectionType; |
| 54 | 56 | ||
| 55 | // 路段矢量(空间坐标点集合)--GPS坐标点 | 57 | // 路段矢量(空间坐标点集合)--GPS坐标点 |
| 58 | + @Formula("ST_AsText(gsection_vector)") | ||
| 56 | private String gsectionVector; | 59 | private String gsectionVector; |
| 57 | 60 | ||
| 58 | // 路段矢量(空间坐标点集合)--百度原始坐标坐标点 | 61 | // 路段矢量(空间坐标点集合)--百度原始坐标坐标点 |
| 62 | + @Formula("ST_AsText(bsection_vector)") | ||
| 59 | private String bsectionVector; | 63 | private String bsectionVector; |
| 60 | 64 | ||
| 61 | // 路段矢量(空间坐标点集合)--城建坐标点 | 65 | // 路段矢量(空间坐标点集合)--城建坐标点 |
| 66 | + @Formula("ST_AsText(csection_vector)") | ||
| 62 | private String csectionVector; | 67 | private String csectionVector; |
| 63 | 68 | ||
| 64 | // 交叉路 | 69 | // 交叉路 |
src/main/java/com/bsth/entity/Station.java
| 1 | package com.bsth.entity; | 1 | package com.bsth.entity; |
| 2 | 2 | ||
| 3 | +import com.bsth.util.Geo.Point; | ||
| 3 | import com.fasterxml.jackson.annotation.JsonIgnoreProperties; | 4 | import com.fasterxml.jackson.annotation.JsonIgnoreProperties; |
| 5 | +import org.hibernate.annotations.Formula; | ||
| 6 | +import org.locationtech.jts.geom.Geometry; | ||
| 7 | +import org.locationtech.jts.io.WKBReader; | ||
| 4 | 8 | ||
| 5 | -import javax.persistence.Column; | ||
| 6 | -import javax.persistence.Entity; | ||
| 7 | -import javax.persistence.GeneratedValue; | ||
| 8 | -import javax.persistence.GenerationType; | ||
| 9 | -import javax.persistence.Id; | ||
| 10 | -import javax.persistence.Table; | 9 | +import javax.persistence.*; |
| 11 | 10 | ||
| 12 | import java.util.Arrays; | 11 | import java.util.Arrays; |
| 13 | import java.util.Date; | 12 | import java.util.Date; |
| 13 | +import java.util.List; | ||
| 14 | 14 | ||
| 15 | 15 | ||
| 16 | /** | 16 | /** |
| @@ -89,6 +89,9 @@ public class Station { | @@ -89,6 +89,9 @@ public class Station { | ||
| 89 | 89 | ||
| 90 | // 多边形空间原坐标坐标点集合 | 90 | // 多边形空间原坐标坐标点集合 |
| 91 | private byte[] bPolygonGrid; | 91 | private byte[] bPolygonGrid; |
| 92 | + | ||
| 93 | + @Transient | ||
| 94 | + private String bdPolygon; | ||
| 92 | 95 | ||
| 93 | /** | 96 | /** |
| 94 | * 是否撤销 | 97 | * 是否撤销 |
| @@ -272,6 +275,17 @@ public class Station { | @@ -272,6 +275,17 @@ public class Station { | ||
| 272 | this.bPolygonGrid = bPolygonGrid; | 275 | this.bPolygonGrid = bPolygonGrid; |
| 273 | } | 276 | } |
| 274 | 277 | ||
| 278 | + public String getBdPolygon() { | ||
| 279 | + if (bPolygonGrid == null) { | ||
| 280 | + return null; | ||
| 281 | + } | ||
| 282 | + Geometry geometry = getGeometryFromBytes(getbPolygonGrid()); | ||
| 283 | + if (geometry == null) { | ||
| 284 | + return null; | ||
| 285 | + } | ||
| 286 | + return geometry.toString(); | ||
| 287 | + } | ||
| 288 | + | ||
| 275 | public Integer getDestroy() { | 289 | public Integer getDestroy() { |
| 276 | return destroy; | 290 | return destroy; |
| 277 | } | 291 | } |
| @@ -328,6 +342,48 @@ public class Station { | @@ -328,6 +342,48 @@ public class Station { | ||
| 328 | this.updateDate = updateDate; | 342 | this.updateDate = updateDate; |
| 329 | } | 343 | } |
| 330 | 344 | ||
| 345 | + private static Geometry getGeometryFromBytes(byte[] geometryAsBytes) { | ||
| 346 | + Geometry geometry = null; | ||
| 347 | + try { | ||
| 348 | + // 字节数组小于5,说明geometry有问题 | ||
| 349 | + if (geometryAsBytes.length < 5) { | ||
| 350 | + throw new Exception("Invalid geometry inputStream - less than five bytes"); | ||
| 351 | + } | ||
| 352 | + | ||
| 353 | + //first four bytes of the geometry are the SRID, | ||
| 354 | + //followed by the actual WKB. Determine the SRID | ||
| 355 | + //这里是取字节数组的前4个来解析srid | ||
| 356 | + byte[] sridBytes = new byte[4]; | ||
| 357 | + System.arraycopy(geometryAsBytes, 0, sridBytes, 0, 4); | ||
| 358 | + boolean bigEndian = (geometryAsBytes[4] == 0x00); | ||
| 359 | + // 解析srid | ||
| 360 | + int srid = 0; | ||
| 361 | + if (bigEndian) { | ||
| 362 | + for (int i = 0; i < sridBytes.length; i++) { | ||
| 363 | + srid = (srid << 8) + (sridBytes[i] & 0xff); | ||
| 364 | + } | ||
| 365 | + } else { | ||
| 366 | + for (int i = 0; i < sridBytes.length; i++) { | ||
| 367 | + srid += (sridBytes[i] & 0xff) << (8 * i); | ||
| 368 | + } | ||
| 369 | + } | ||
| 370 | + | ||
| 371 | + //use the JTS WKBReader for WKB parsing | ||
| 372 | + WKBReader wkbReader = new WKBReader(); | ||
| 373 | + // 使用geotool的WKBReader 把字节数组转成geometry对象。 | ||
| 374 | + //copy the byte array, removing the first four | ||
| 375 | + //SRID bytes | ||
| 376 | + byte[] wkb = new byte[geometryAsBytes.length - 4]; | ||
| 377 | + System.arraycopy(geometryAsBytes, 4, wkb, 0, wkb.length); | ||
| 378 | + geometry = wkbReader.read(wkb); | ||
| 379 | + geometry.setSRID(srid); | ||
| 380 | + } catch (Exception e) { | ||
| 381 | + e.printStackTrace(); | ||
| 382 | + } | ||
| 383 | + | ||
| 384 | + return geometry; | ||
| 385 | + } | ||
| 386 | + | ||
| 331 | @Override | 387 | @Override |
| 332 | public String toString() { | 388 | public String toString() { |
| 333 | return "Station [id=" + id + ", stationCod=" + stationCod + ", stationName=" + stationName + ", roadCoding=" | 389 | return "Station [id=" + id + ", stationCod=" + stationCod + ", stationName=" + stationName + ", roadCoding=" |
src/main/java/com/bsth/entity/schedule/datasync/VehicleDataSyncTask.java
src/main/java/com/bsth/repository/CarParkRepository.java
| 1 | -package com.bsth.repository; | ||
| 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.CarPark; | ||
| 11 | - | ||
| 12 | -@Repository | ||
| 13 | -public interface CarParkRepository extends BaseRepository<CarPark, Integer>{ | ||
| 14 | - | ||
| 15 | - // 查询最大ID | ||
| 16 | - @Query(value = "SELECT IFNULL(num,0) as maxId from (SELECT MAX(id) as num FROM bsth_c_car_park) k" | ||
| 17 | - , nativeQuery=true) | ||
| 18 | - public long carParkMaxId(); | ||
| 19 | - | ||
| 20 | - @Transactional | ||
| 21 | - @Modifying | ||
| 22 | - @Query(value="INSERT INTO bsth_c_car_park (" + | ||
| 23 | - " area , company , park_code , park_name , branche_company , " + | ||
| 24 | - | ||
| 25 | - "create_by , create_date , descriptions , destroy, update_by, " + | ||
| 26 | - | ||
| 27 | - "update_date , versions , b_center_point , b_park_point ,db_type, " + | ||
| 28 | - | ||
| 29 | - "g_center_point, g_park_point, radius, shapes_type) " + | ||
| 30 | - | ||
| 31 | - " VALUES(" + | ||
| 32 | - "?1 , ?2 , ?3 , ?4 , ?5," + | ||
| 33 | - | ||
| 34 | - "?6 , str_to_date(?7,'%Y-%m-%d %H:%i:%s') , ?8 , ?9 , ?10," + | ||
| 35 | - | ||
| 36 | - "str_to_date(?11,'%Y-%m-%d %H:%i:%s'), ?12 ,?13,ST_GeomFromText(?14), ?15, " + | ||
| 37 | - | ||
| 38 | - "?16, ST_GeomFromText(?17), ?18,?19)", nativeQuery=true) | ||
| 39 | - public void carParkSave(Double area,String company,String parkCode,String parkName, | ||
| 40 | - | ||
| 41 | - String brancheCompany,Integer createBy,String createDate,String descriptions,Integer destroy, | ||
| 42 | - | ||
| 43 | - Integer updateBy,String updateDate,Integer versions,String bCenterPoint,String bParkPoint, | ||
| 44 | - | ||
| 45 | - String dbType,String gCenterPoint,String gParkPoint,Integer radius,String shapesType); | ||
| 46 | - | ||
| 47 | - | ||
| 48 | - /** | ||
| 49 | - * @Description :TODO(查询路段信息) | ||
| 50 | - * | ||
| 51 | - * @param map <id:路段路由ID> | ||
| 52 | - * | ||
| 53 | - * @return List<Object[]> | ||
| 54 | - */ | ||
| 55 | - @Query(value ="SELECT k.id AS carParkId," + | ||
| 56 | - "k.area AS carParkArea," + | ||
| 57 | - "k.company AS carParkCompany," + | ||
| 58 | - "k.park_code AS carParkCode," + | ||
| 59 | - "k.park_name AS carParkName," + | ||
| 60 | - "k.branche_company AS carParkBrancheCompany," + | ||
| 61 | - "k.create_by AS carParkCreateBy," + | ||
| 62 | - "k.create_date AS carParkCreateDate," + | ||
| 63 | - "k.descriptions AS carParkDescriptions," + | ||
| 64 | - "k.destroy AS carParkDestroy," + | ||
| 65 | - "k.update_by AS carParkUpdate," + | ||
| 66 | - "k.update_date AS carParkUpdateDate," + | ||
| 67 | - "k.versions AS carParkVersions," + | ||
| 68 | - "k.b_center_point AS carParkBcenterPoint," + | ||
| 69 | - "ST_AsText(k.b_park_point) AS carParkBparkPoint," + | ||
| 70 | - "k.g_center_point AS carParkGcenterPoint," + | ||
| 71 | - "ST_AsText(k.g_park_point) AS carParkGparkPoint, " + | ||
| 72 | - "k.db_type AS carParkDBtype," + | ||
| 73 | - "k.radius AS carParkRadius," + | ||
| 74 | - "k.shapes_type AS carParkShapesType FROM bsth_c_car_park k where k.id = ?1", nativeQuery=true) | ||
| 75 | - List<Object[]> findCarParkInfoFormId(int id); | ||
| 76 | - | ||
| 77 | - @Transactional | ||
| 78 | - @Modifying | ||
| 79 | - @Query(value="UPDATE bsth_c_car_park SET " + | ||
| 80 | - "area = ?1 , " + | ||
| 81 | - "company = ?2 , " + | ||
| 82 | - "park_code = ?3 , " + | ||
| 83 | - "park_name = ?4 , " + | ||
| 84 | - "branche_company = ?5 , " + | ||
| 85 | - "create_by = ?6 , " + | ||
| 86 | - "create_date = str_to_date(?7,'%Y-%m-%d %H:%i:%s') , " + | ||
| 87 | - "descriptions = ?8 , " + | ||
| 88 | - "destroy = ?9 , " + | ||
| 89 | - "update_by = ?10 , " + | ||
| 90 | - "update_date =str_to_date(?11,'%Y-%m-%d %H:%i:%s') , " + | ||
| 91 | - "versions = ?12 , " + | ||
| 92 | - "b_center_point = ?13 , " + | ||
| 93 | - "g_center_point = ?14 , " + | ||
| 94 | - "b_park_point = ST_GeomFromText(?15) , " + | ||
| 95 | - "g_park_point = ST_GeomFromText(?16) , " + | ||
| 96 | - "db_type = ?17 , " + | ||
| 97 | - "radius = ?18 , " + | ||
| 98 | - "shapes_type = ?19 " + | ||
| 99 | - " WHERE id = ?20 ", nativeQuery=true) | ||
| 100 | - public void carParkUpdate(double area,String company,String parkCode,String parkName,String brancheCompany, | ||
| 101 | - | ||
| 102 | - Integer createBy ,String createDate,String descriptions,Integer destroy,Integer updateBy, | ||
| 103 | - | ||
| 104 | - String updateDate,Integer versions,String bCenterPoint,String gCenterPoint,String bParkPoint, | ||
| 105 | - | ||
| 106 | - String gParkPoint,String dbType,Integer radius,String shapesType,Integer id ); | ||
| 107 | - | ||
| 108 | - @Query(value = "select st_astext(g_park_point), shapes_type, g_center_point, radius,park_code,park_name from bsth_c_car_park where park_code=?1", nativeQuery = true) | ||
| 109 | - public Object[][] bufferAera(String parkCode); | ||
| 110 | - | ||
| 111 | - @Query(value ="SELECT p.park_name,p.park_code from bsth_c_car_park p where p.park_code = ?1", nativeQuery=true) | ||
| 112 | - List<Object[]> selectTccInfoByCode(String parkCode); | ||
| 113 | -} | 1 | +package com.bsth.repository; |
| 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.CarPark; | ||
| 11 | + | ||
| 12 | +@Repository | ||
| 13 | +public interface CarParkRepository extends BaseRepository<CarPark, Integer>{ | ||
| 14 | + | ||
| 15 | + // 查询最大ID | ||
| 16 | + @Query(value = "SELECT IFNULL(num,0) as maxId from (SELECT MAX(id) as num FROM bsth_c_car_park) k" | ||
| 17 | + , nativeQuery=true) | ||
| 18 | + public long carParkMaxId(); | ||
| 19 | + | ||
| 20 | + @Transactional | ||
| 21 | + @Modifying | ||
| 22 | + @Query(value="INSERT INTO bsth_c_car_park (" + | ||
| 23 | + " area , company , park_code , park_name , branche_company , " + | ||
| 24 | + | ||
| 25 | + "create_by , create_date , descriptions , destroy, update_by, " + | ||
| 26 | + | ||
| 27 | + "update_date , versions , b_center_point , b_park_point ,db_type, " + | ||
| 28 | + | ||
| 29 | + "g_center_point, g_park_point, radius, shapes_type) " + | ||
| 30 | + | ||
| 31 | + " VALUES(" + | ||
| 32 | + "?1 , ?2 , ?3 , ?4 , ?5," + | ||
| 33 | + | ||
| 34 | + "?6 , str_to_date(?7,'%Y-%m-%d %H:%i:%s') , ?8 , ?9 , ?10," + | ||
| 35 | + | ||
| 36 | + "str_to_date(?11,'%Y-%m-%d %H:%i:%s'), ?12 ,?13,ST_GeomFromText(?14), ?15, " + | ||
| 37 | + | ||
| 38 | + "?16, ST_GeomFromText(?17), ?18,?19)", nativeQuery=true) | ||
| 39 | + public void carParkSave(Double area,String company,String parkCode,String parkName, | ||
| 40 | + | ||
| 41 | + String brancheCompany,Integer createBy,String createDate,String descriptions,Integer destroy, | ||
| 42 | + | ||
| 43 | + Integer updateBy,String updateDate,Integer versions,String bCenterPoint,String bParkPoint, | ||
| 44 | + | ||
| 45 | + String dbType,String gCenterPoint,String gParkPoint,Integer radius,String shapesType); | ||
| 46 | + | ||
| 47 | + | ||
| 48 | + /** | ||
| 49 | + * @Description :TODO(查询路段信息) | ||
| 50 | + * | ||
| 51 | + * @param map <id:路段路由ID> | ||
| 52 | + * | ||
| 53 | + * @return List<Object[]> | ||
| 54 | + */ | ||
| 55 | + @Query(value ="SELECT k.id AS carParkId," + | ||
| 56 | + "k.area AS carParkArea," + | ||
| 57 | + "k.company AS carParkCompany," + | ||
| 58 | + "k.park_code AS carParkCode," + | ||
| 59 | + "k.park_name AS carParkName," + | ||
| 60 | + "k.branche_company AS carParkBrancheCompany," + | ||
| 61 | + "k.create_by AS carParkCreateBy," + | ||
| 62 | + "k.create_date AS carParkCreateDate," + | ||
| 63 | + "k.descriptions AS carParkDescriptions," + | ||
| 64 | + "k.destroy AS carParkDestroy," + | ||
| 65 | + "k.update_by AS carParkUpdate," + | ||
| 66 | + "k.update_date AS carParkUpdateDate," + | ||
| 67 | + "k.versions AS carParkVersions," + | ||
| 68 | + "k.b_center_point AS carParkBcenterPoint," + | ||
| 69 | + "ST_AsText(k.b_park_point) AS carParkBparkPoint," + | ||
| 70 | + "k.g_center_point AS carParkGcenterPoint," + | ||
| 71 | + "ST_AsText(k.g_park_point) AS carParkGparkPoint, " + | ||
| 72 | + "k.db_type AS carParkDBtype," + | ||
| 73 | + "k.radius AS carParkRadius," + | ||
| 74 | + "k.shapes_type AS carParkShapesType FROM bsth_c_car_park k where k.id = ?1", nativeQuery=true) | ||
| 75 | + List<Object[]> findCarParkInfoFormId(int id); | ||
| 76 | + | ||
| 77 | + @Transactional | ||
| 78 | + @Modifying | ||
| 79 | + @Query(value="UPDATE bsth_c_car_park SET " + | ||
| 80 | + "area = ?1 , " + | ||
| 81 | + "company = ?2 , " + | ||
| 82 | + "park_code = ?3 , " + | ||
| 83 | + "park_name = ?4 , " + | ||
| 84 | + "branche_company = ?5 , " + | ||
| 85 | + "create_by = ?6 , " + | ||
| 86 | + "create_date = str_to_date(?7,'%Y-%m-%d %H:%i:%s') , " + | ||
| 87 | + "descriptions = ?8 , " + | ||
| 88 | + "destroy = ?9 , " + | ||
| 89 | + "update_by = ?10 , " + | ||
| 90 | + "update_date =str_to_date(?11,'%Y-%m-%d %H:%i:%s') , " + | ||
| 91 | + "versions = ?12 , " + | ||
| 92 | + "b_center_point = ?13 , " + | ||
| 93 | + "g_center_point = ?14 , " + | ||
| 94 | + "b_park_point = ST_GeomFromText(?15) , " + | ||
| 95 | + "g_park_point = ST_GeomFromText(?16) , " + | ||
| 96 | + "db_type = ?17 , " + | ||
| 97 | + "radius = ?18 , " + | ||
| 98 | + "shapes_type = ?19 " + | ||
| 99 | + " WHERE id = ?20 ", nativeQuery=true) | ||
| 100 | + public void carParkUpdate(double area,String company,String parkCode,String parkName,String brancheCompany, | ||
| 101 | + | ||
| 102 | + Integer createBy ,String createDate,String descriptions,Integer destroy,Integer updateBy, | ||
| 103 | + | ||
| 104 | + String updateDate,Integer versions,String bCenterPoint,String gCenterPoint,String bParkPoint, | ||
| 105 | + | ||
| 106 | + String gParkPoint,String dbType,Integer radius,String shapesType,Integer id ); | ||
| 107 | + | ||
| 108 | + @Query(value = "select st_astext(g_park_point), shapes_type, g_center_point, radius,park_code,park_name from bsth_c_car_park where park_code=?1", nativeQuery = true) | ||
| 109 | + public Object[][] bufferAera(String parkCode); | ||
| 110 | + | ||
| 111 | + @Query(value ="SELECT p.park_name,p.park_code from bsth_c_car_park p where p.park_code = ?1", nativeQuery=true) | ||
| 112 | + List<Object[]> selectTccInfoByCode(String parkCode); | ||
| 113 | + | ||
| 114 | + @Query(value ="select c.id, c.area,c.company,c.park_code,c.park_name,c.branche_company,c.create_by,c.create_date,c.descriptions,c.destroy,c.update_by,c.update_date,c.versions,c.b_center_point,ST_AsText(c.b_park_point) b_park_point,c.g_center_point,ST_AsText(c.g_park_point) g_park_point,c.db_type,c.radius,c.shapes_type from bsth_c_line_information l left join bsth_c_car_park c on l.car_park = c.park_code where l.line = ?1", nativeQuery=true) | ||
| 115 | + CarPark findByLineId(int lineId); | ||
| 116 | +} |
src/main/java/com/bsth/repository/LsInoutSectionRouteRepository.java
0 → 100644
| 1 | +package com.bsth.repository; | ||
| 2 | + | ||
| 3 | +import com.bsth.entity.LsInoutSectionRoute; | ||
| 4 | +import com.bsth.entity.LsSectionRoute; | ||
| 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 java.util.List; | ||
| 11 | + | ||
| 12 | +/** | ||
| 13 | + * | ||
| 14 | + * @Interface: SectionRouteRepository(路段路由Repository数据持久层接口) | ||
| 15 | + * | ||
| 16 | + * @Extends : BaseRepository | ||
| 17 | + * | ||
| 18 | + * @Description: TODO(路段路由Repository数据持久层接口) | ||
| 19 | + * | ||
| 20 | + * @Author bsth@lq | ||
| 21 | + * | ||
| 22 | + * @Version 公交调度系统BS版 0.1 | ||
| 23 | + * | ||
| 24 | + */ | ||
| 25 | + | ||
| 26 | +@Repository | ||
| 27 | +public interface LsInoutSectionRouteRepository extends BaseRepository<LsInoutSectionRoute, Long> { | ||
| 28 | + | ||
| 29 | + /** | ||
| 30 | + * 查询待更新线路的路段路由 | ||
| 31 | + */ | ||
| 32 | + @Query(value = "SELECT sr FROM LsInoutSectionRoute sr where sr.line.id =?1 and sr.versions=?2 and sr.start=?3 and sr.end=?4 and sr.destroy=0") | ||
| 33 | + List<LsInoutSectionRoute> getRouteByStartEnd(int lineId, int version, String start, String end); | ||
| 34 | + | ||
| 35 | + /** | ||
| 36 | + * | ||
| 37 | + * @param lineCode | ||
| 38 | + * @param version | ||
| 39 | + * @param start | ||
| 40 | + * @param end | ||
| 41 | + * @param sectionrouteCode | ||
| 42 | + */ | ||
| 43 | + @Modifying | ||
| 44 | + @Query(value="UPDATE bsth_c_ls_inout_sectionroute set sectionroute_code = (sectionroute_code+1) where line_code = ?1 and versions = ?2 and start = ?3 and end = ?4 and sectionroute_code >=?5 and destroy = 0", nativeQuery=true) | ||
| 45 | + public void sectionUpdSectionRouteCode(String lineCode, int version, String start, String end, Integer sectionrouteCode); | ||
| 46 | + | ||
| 47 | + /** | ||
| 48 | + * 撤销线路某版本进出场 | ||
| 49 | + * @param lineCode | ||
| 50 | + * @param version | ||
| 51 | + * @param start | ||
| 52 | + * @param end | ||
| 53 | + */ | ||
| 54 | + @Modifying | ||
| 55 | + @Query(value="UPDATE bsth_c_ls_inout_sectionroute set destroy = 1 where line_code = ?1 and versions = ?2 and start = ?3 and end = ?4", nativeQuery=true) | ||
| 56 | + public void destroy(String lineCode, int version, String start, String end); | ||
| 57 | +} |
src/main/java/com/bsth/repository/LsStationRouteRepository.java
| 1 | -package com.bsth.repository; | ||
| 2 | - | ||
| 3 | -import java.util.List; | ||
| 4 | -import java.util.Map; | ||
| 5 | - | ||
| 6 | -import org.springframework.data.domain.Sort; | ||
| 7 | -import org.springframework.data.jpa.repository.EntityGraph; | ||
| 8 | -import org.springframework.data.jpa.repository.Modifying; | ||
| 9 | -import org.springframework.data.jpa.repository.Query; | ||
| 10 | -import org.springframework.stereotype.Repository; | ||
| 11 | -import org.springframework.transaction.annotation.Transactional; | ||
| 12 | - | ||
| 13 | -import com.bsth.entity.LsStationRoute; | ||
| 14 | -import com.bsth.entity.StationRoute; | ||
| 15 | - | ||
| 16 | -/** | ||
| 17 | - * | ||
| 18 | - * @Interface: StationRouteRepository(站点路由Repository数据持久层接口) | ||
| 19 | - * | ||
| 20 | - * @Extends : BaseRepository | ||
| 21 | - * | ||
| 22 | - * @Description: TODO(站点路由Repository数据持久层接口) | ||
| 23 | - * | ||
| 24 | - * @Author bsth@lq | ||
| 25 | - * | ||
| 26 | - * @Version 公交调度系统BS版 0.1 | ||
| 27 | - * | ||
| 28 | - */ | ||
| 29 | - | ||
| 30 | -@Repository | ||
| 31 | -public interface LsStationRouteRepository extends BaseRepository<LsStationRoute, Integer> { | ||
| 32 | - | ||
| 33 | - /** | ||
| 34 | - * 查询待更新线路的站点路由 | ||
| 35 | - */ | ||
| 36 | - @EntityGraph(value = "ls_stationRoute_station", type = EntityGraph.EntityGraphType.FETCH) | ||
| 37 | - @Query(value = "SELECT DISTINCT sr FROM LsStationRoute sr where sr.line.id =?1 and sr.lineCode=?2 and sr.versions=?3 and sr.destroy=0") | ||
| 38 | - List<LsStationRoute> findupdated(Integer lineId, String lineCode, Integer versions); | ||
| 39 | - | ||
| 40 | - @Query(value = "SELECT a.`stationRoute.id`," + | ||
| 41 | - "a.`stationRoute.line`," + | ||
| 42 | - "a.`stationRoute.station`," + | ||
| 43 | - "a.`stationRoute.stationName`," + | ||
| 44 | - "a.`stationRoute.stationRouteCode`," + | ||
| 45 | - "a.`stationRoute.lineCode`," + | ||
| 46 | - "a.`stationRoute.stationMark`," + | ||
| 47 | - "a.`stationRoute.outStationNmber`," + | ||
| 48 | - "a.`stationRoute.directions`," + | ||
| 49 | - "a.`stationRoute.distances`," + | ||
| 50 | - "a.`stationRoute.toTime`," + | ||
| 51 | - "a.`stationRoute.firstTime`," + | ||
| 52 | - "a.`stationRoute.endTime`," + | ||
| 53 | - "a.`stationRoute.descriptions`," + | ||
| 54 | - "a.`stationRoute.versions`," + | ||
| 55 | - "b.id AS 'station.id'," + | ||
| 56 | - "b.station_cod AS 'station.stationCod'," + | ||
| 57 | - "b.station_name AS 'station.stationName'," + | ||
| 58 | - "b.road_coding AS 'station.roadCoding'," + | ||
| 59 | - "b.db_type AS 'station.dbType'," + | ||
| 60 | - "b.b_jwpoints AS 'station.bJwpoints'," + | ||
| 61 | - "b.g_lonx AS 'station.gLonx'," + | ||
| 62 | - "b.g_lonx AS 'station.gLaty'," + | ||
| 63 | - "b.x AS 'station.x'," + | ||
| 64 | - "b.y AS 'station.y'," + | ||
| 65 | - "b.shapes_type AS 'station.shapesType'," + | ||
| 66 | - "b.radius AS 'station.radius'," + | ||
| 67 | - "ST_AsText(b.g_polygon_grid) AS 'station.gPolygonGrid'," + | ||
| 68 | - "ST_AsText(b.b_polygon_grid) AS 'station.bPolygonGrid'," + | ||
| 69 | - "b.destroy AS 'station.destroy'," + | ||
| 70 | - "b.versions AS 'station.versions'," + | ||
| 71 | - "b.descriptions AS 'station.descriptions', " + | ||
| 72 | - "a.`stationRoute.industryCode` " + | ||
| 73 | - " FROM (" + | ||
| 74 | - "SELECT r.id AS 'stationRoute.id'," + | ||
| 75 | - " r.line AS 'stationRoute.line'," + | ||
| 76 | - "r.station AS 'stationRoute.station'," + | ||
| 77 | - "r.station_name AS 'stationRoute.stationName'," + | ||
| 78 | - "r.station_route_code as 'stationRoute.stationRouteCode'," + | ||
| 79 | - "r.line_code AS 'stationRoute.lineCode'," + | ||
| 80 | - "r.station_mark AS 'stationRoute.stationMark'," + | ||
| 81 | - "r.out_station_nmber AS 'stationRoute.outStationNmber'," + | ||
| 82 | - "r.directions AS 'stationRoute.directions'," + | ||
| 83 | - "r.distances AS 'stationRoute.distances'," + | ||
| 84 | - "r.to_time AS 'stationRoute.toTime'," + | ||
| 85 | - "r.first_time AS 'stationRoute.firstTime'," + | ||
| 86 | - "r.end_time AS 'stationRoute.endTime'," + | ||
| 87 | - "r.descriptions AS 'stationRoute.descriptions'," + | ||
| 88 | - "r.versions AS 'stationRoute.versions', " + | ||
| 89 | - "r.industry_code AS 'stationRoute.industryCode' " + | ||
| 90 | - " FROM bsth_c_ls_stationroute r WHERE r.line = ?1 and r.directions = ?2 and r.versions=?3 and r.destroy=0) a " + | ||
| 91 | - "LEFT JOIN bsth_c_station b " + | ||
| 92 | - "ON a.`stationRoute.station` = b.id ORDER BY a.`stationRoute.stationRouteCode` ASC", nativeQuery=true) | ||
| 93 | - List<Object[]> findPoints(Integer lineId, Integer direction, Integer versions); | ||
| 94 | - | ||
| 95 | - | ||
| 96 | - @Query(value = "SELECT a.stationRouteLine," + | ||
| 97 | - " a.stationRouteStation," + | ||
| 98 | - " a.stationRouteCode," + | ||
| 99 | - " a.stationRouteLIneCode," + | ||
| 100 | - " a.stationRouteStationMark," + | ||
| 101 | - " a.stationOutStationNmber," + | ||
| 102 | - " a.stationRoutedirections," + | ||
| 103 | - " a.stationRouteDistances," + | ||
| 104 | - " a.stationRouteToTime," + | ||
| 105 | - " a.staitonRouteFirstTime," + | ||
| 106 | - " a.stationRouteEndTime," + | ||
| 107 | - " a.stationRouteDescriptions," + | ||
| 108 | - " a.stationRouteDestroy," + | ||
| 109 | - " a.stationRouteVersions," + | ||
| 110 | - " a.stationRouteCreateBy," + | ||
| 111 | - " a.stationRouteCreateDate," + | ||
| 112 | - " a.stationRouteUpdateBy," + | ||
| 113 | - " a.stationRouteUpdateDate," + | ||
| 114 | - " b.id AS stationId," + | ||
| 115 | - " b.station_cod AS stationCode," + | ||
| 116 | - " a.stationRouteName," + | ||
| 117 | - " b.road_coding AS stationRoadCoding," + | ||
| 118 | - " b.db_type AS stationDbType," + | ||
| 119 | - " b.b_jwpoints AS stationJwpoints," + | ||
| 120 | - " b.g_lonx AS stationGlonx," + | ||
| 121 | - " b.g_laty AS stationGlaty," + | ||
| 122 | - " b.x AS stationX," + | ||
| 123 | - " b.y AS stationY," + | ||
| 124 | - " ST_AsText(b.b_polygon_grid) as stationBPolyonGrid," + | ||
| 125 | - " ST_AsText(b.g_polygon_grid) AS stationGPloyonGrid, " + | ||
| 126 | - " b.destroy AS stationDestroy," + | ||
| 127 | - " b.radius AS stationRadius," + | ||
| 128 | - " b.shapes_type AS stationShapesType," + | ||
| 129 | - " b.versions AS stationVersions," + | ||
| 130 | - " b.descriptions AS sttationDescriptions," + | ||
| 131 | - " b.create_by AS stationCreateBy," + | ||
| 132 | - " b.create_date AS stationCreateDate," + | ||
| 133 | - " b.update_by AS stationUpdateBy," + | ||
| 134 | - " b.update_date AS stationUpdateDate," + | ||
| 135 | - " a.stationRouteId," + | ||
| 136 | - "b.station_name as zdmc, "+ | ||
| 137 | - "a.industryCode "+ | ||
| 138 | - " FROM ( SELECT s.id AS stationRouteId," + | ||
| 139 | - " s.line AS stationRouteLine," + | ||
| 140 | - " s.station as stationRouteStation," + | ||
| 141 | - " s.station_name AS stationRouteName," + | ||
| 142 | - " s.station_route_code as stationRouteCode," + | ||
| 143 | - " s.industry_code as industryCode," + | ||
| 144 | - " s.line_code AS stationRouteLIneCode," + | ||
| 145 | - " s.station_mark AS stationRouteStationMark," + | ||
| 146 | - " s.out_station_nmber AS stationOutStationNmber," + | ||
| 147 | - " s.directions AS stationRoutedirections," + | ||
| 148 | - " s.distances AS stationRouteDistances," + | ||
| 149 | - " s.to_time AS stationRouteToTime," + | ||
| 150 | - " s.first_time AS staitonRouteFirstTime," + | ||
| 151 | - " s.end_time AS stationRouteEndTime," + | ||
| 152 | - " s.descriptions AS stationRouteDescriptions," + | ||
| 153 | - " s.destroy AS stationRouteDestroy," + | ||
| 154 | - " s.versions AS stationRouteVersions," + | ||
| 155 | - " s.create_by AS stationRouteCreateBy," + | ||
| 156 | - " s.create_date AS stationRouteCreateDate," + | ||
| 157 | - " s.update_by AS stationRouteUpdateBy," + | ||
| 158 | - " s.update_date AS stationRouteUpdateDate FROM bsth_c_ls_stationroute s WHERE s.line = ?1 and s.directions = ?2 and s.versions=?3 and s.destroy = 0) a " + | ||
| 159 | - " LEFT JOIN bsth_c_station b ON a.stationRouteStation = b.id order by a.stationRouteCode", nativeQuery=true) | ||
| 160 | - List<Object[]> getStationRouteList(Integer lineId, Integer dir ,Integer version); | ||
| 161 | - /** | ||
| 162 | - * 更新路线前删除线路版本号历史原有站点路由 | ||
| 163 | - * | ||
| 164 | - * @param line | ||
| 165 | - * @param dir | ||
| 166 | - */ | ||
| 167 | - @Modifying | ||
| 168 | - @Transactional | ||
| 169 | - @Query(value="DELETE from bsth_c_ls_stationroute where line = ?1 and directions = ?2 and versions = ?3", nativeQuery=true) | ||
| 170 | - public void batchDelete(Integer line,Integer dir, Integer versions); | ||
| 171 | - | ||
| 172 | - /** | ||
| 173 | - * 更新路线前撤销线路版本号历史原有站点路由 | ||
| 174 | - * | ||
| 175 | - * @param line | ||
| 176 | - * @param dir | ||
| 177 | - */ | ||
| 178 | - @Modifying | ||
| 179 | - @Query(value="UPDATE bsth_c_ls_stationroute set destroy = 1 where line = ?1 and directions = ?2 and versions = ?3", nativeQuery=true) | ||
| 180 | - public void batchDestroy(Integer sectionRouteLine, Integer directions, Integer versions); | ||
| 181 | - | ||
| 182 | - /** | ||
| 183 | - * 按线路编码查询各站点的顺序号 | ||
| 184 | - * @param lineCode 线路编码 | ||
| 185 | - * @param lineVersion 版本号 | ||
| 186 | - * @return | ||
| 187 | - */ | ||
| 188 | - @Query("SELECT new map(" + | ||
| 189 | - "lineCode as lineCode,directions as directions,stationName as stationName,stationCode as stationCode," + | ||
| 190 | - "line.linePlayType as linePlayType,s.stationMark as stationMark) " + | ||
| 191 | - "FROM " + | ||
| 192 | - "LsStationRoute s " + | ||
| 193 | - "WHERE " + | ||
| 194 | - "s.destroy = 0 AND s.lineCode = ?1 AND s.versions = ?2 " + | ||
| 195 | - "ORDER BY " + | ||
| 196 | - "lineCode,directions,stationRouteCode") | ||
| 197 | - List<Map<String, String>> findLineWithLineCode4Ygc(String lineCode,Integer lineVersion); | ||
| 198 | - /** | ||
| 199 | - * @Description : TODO(根据站点路由Id查询详情) | ||
| 200 | - * | ||
| 201 | - * @param id:站点路由ID | ||
| 202 | - * | ||
| 203 | - * @return List<Object[]> | ||
| 204 | - */ | ||
| 205 | - @Query(value = "SELECT a.stationRouteLine," + | ||
| 206 | - " a.stationRouteStation," + | ||
| 207 | - " a.stationRouteCode," + | ||
| 208 | - " a.stationRouteLIneCode," + | ||
| 209 | - " a.stationRouteStationMark," + | ||
| 210 | - " a.stationOutStationNmber," + | ||
| 211 | - " a.stationRoutedirections," + | ||
| 212 | - " a.stationRouteDistances," + | ||
| 213 | - " a.stationRouteToTime," + | ||
| 214 | - " a.staitonRouteFirstTime," + | ||
| 215 | - " a.stationRouteEndTime," + | ||
| 216 | - " a.stationRouteDescriptions," + | ||
| 217 | - " a.stationRouteDestroy," + | ||
| 218 | - " a.stationRouteVersions," + | ||
| 219 | - " a.stationRouteCreateBy," + | ||
| 220 | - " a.stationRouteCreateDate," + | ||
| 221 | - " a.stationRouteUpdateBy," + | ||
| 222 | - " a.stationRouteUpdateDate," + | ||
| 223 | - " b.id AS stationId," + | ||
| 224 | - " b.station_cod AS stationCode," + | ||
| 225 | - " a.stationRouteName," + | ||
| 226 | - " b.road_coding AS stationRoadCoding," + | ||
| 227 | - " b.db_type AS stationDbType," + | ||
| 228 | - " b.b_jwpoints AS stationJwpoints," + | ||
| 229 | - " b.g_lonx AS stationGlonx," + | ||
| 230 | - " b.g_laty AS stationGlaty," + | ||
| 231 | - " b.x AS stationX," + | ||
| 232 | - " b.y AS stationY," + | ||
| 233 | - " ST_AsText(b.b_polygon_grid) as stationBPolyonGrid," + | ||
| 234 | - " ST_AsText(b.g_polygon_grid) AS stationGPloyonGrid, " + | ||
| 235 | - " b.destroy AS stationDestroy," + | ||
| 236 | - " b.radius AS stationRadius," + | ||
| 237 | - " b.shapes_type AS stationShapesType," + | ||
| 238 | - " b.versions AS stationVersions," + | ||
| 239 | - " b.descriptions AS sttationDescriptions," + | ||
| 240 | - " b.create_by AS stationCreateBy," + | ||
| 241 | - " b.create_date AS stationCreateDate," + | ||
| 242 | - " b.update_by AS stationUpdateBy," + | ||
| 243 | - " b.update_date AS stationUpdateDate," + | ||
| 244 | - " a.stationRouteId,b.station_name as zdmc, " + | ||
| 245 | - " a.industryCode "+ | ||
| 246 | - " FROM " + | ||
| 247 | - "( SELECT s.id AS stationRouteId," + | ||
| 248 | - " s.line AS stationRouteLine," + | ||
| 249 | - " s.station as stationRouteStation," + | ||
| 250 | - " s.station_name AS stationRouteName," + | ||
| 251 | - " s.station_route_code as stationRouteCode," + | ||
| 252 | - " s.industry_code as industryCode," + | ||
| 253 | - " s.line_code AS stationRouteLIneCode," + | ||
| 254 | - " s.station_mark AS stationRouteStationMark," + | ||
| 255 | - " s.out_station_nmber AS stationOutStationNmber," + | ||
| 256 | - " s.directions AS stationRoutedirections," + | ||
| 257 | - " s.distances AS stationRouteDistances," + | ||
| 258 | - " s.to_time AS stationRouteToTime," + | ||
| 259 | - " s.first_time AS staitonRouteFirstTime," + | ||
| 260 | - " s.end_time AS stationRouteEndTime," + | ||
| 261 | - " s.descriptions AS stationRouteDescriptions," + | ||
| 262 | - " s.destroy AS stationRouteDestroy," + | ||
| 263 | - " s.versions AS stationRouteVersions," + | ||
| 264 | - " s.create_by AS stationRouteCreateBy," + | ||
| 265 | - " s.create_date AS stationRouteCreateDate," + | ||
| 266 | - " s.update_by AS stationRouteUpdateBy," + | ||
| 267 | - " s.update_date AS stationRouteUpdateDate FROM bsth_c_ls_stationroute s WHERE s.id = ?1 ) a " + | ||
| 268 | - " LEFT JOIN bsth_c_station b ON a.stationRouteStation = b.id", nativeQuery=true) | ||
| 269 | - List<Object[]> findStationRouteInfo(Integer id); | ||
| 270 | - | ||
| 271 | - // 批量修改站点行业编码 | ||
| 272 | - @Modifying | ||
| 273 | - @Query(value="update bsth_c_ls_stationroute set industry_code =?2 where id = ?1 ", nativeQuery=true) | ||
| 274 | - void updIndustryCode(Integer id, String industryCode); | ||
| 275 | - | ||
| 276 | - @Modifying | ||
| 277 | - @Query(value="UPDATE bsth_c_ls_stationroute set station_route_code = (station_route_code+10) where line = ?1 and directions = ?2 and station_route_code >=?3 and destroy = 0", nativeQuery=true) | ||
| 278 | - void stationUpdStationRouteCode(Integer line,Integer dir,Integer routeCod); | ||
| 279 | - | ||
| 280 | - @Modifying | ||
| 281 | - @Query(value="update bsth_c_ls_stationroute set directions = case directions when 1 then 0 when 0 then 1 end where line = ?1 ", nativeQuery=true) | ||
| 282 | - void stationRouteDir(Integer line); | ||
| 283 | - | ||
| 284 | - @Query("select r from LsStationRoute r where r.line.id=?1 and r.directions=?2 and r.destroy=0 order by r.stationRouteCode") | ||
| 285 | - List<LsStationRoute> findByLine(int lineId, int dir); | ||
| 286 | - | ||
| 287 | - @Modifying | ||
| 288 | - @Query(value="update bsth_c_ls_stationroute set distances =?2 where id = ?1 ", nativeQuery=true) | ||
| 289 | - void upddis(Integer id,Double dis); | ||
| 290 | - | ||
| 291 | - @Query(value="select * from bsth_c_ls_stationroute where line_code = ?3 and directions = ?4 and destroy = 0 and versions = ?5 limit ?1,?2", nativeQuery=true) | ||
| 292 | - Iterable<LsStationRoute> page(int start , int end , int line ,int dir, int version); | ||
| 293 | - | ||
| 294 | - @Query(value="select count(*) from bsth_c_ls_stationroute where line_code = ?1 and directions = ?2 and destroy = 0 and versions = ?3 ", nativeQuery=true) | ||
| 295 | - int count(int line, int dir, int version); | ||
| 296 | -} | 1 | +package com.bsth.repository; |
| 2 | + | ||
| 3 | +import java.util.List; | ||
| 4 | +import java.util.Map; | ||
| 5 | + | ||
| 6 | +import org.springframework.data.jpa.repository.EntityGraph; | ||
| 7 | +import org.springframework.data.jpa.repository.Modifying; | ||
| 8 | +import org.springframework.data.jpa.repository.Query; | ||
| 9 | +import org.springframework.stereotype.Repository; | ||
| 10 | +import org.springframework.transaction.annotation.Transactional; | ||
| 11 | + | ||
| 12 | +import com.bsth.entity.LsStationRoute; | ||
| 13 | + | ||
| 14 | +/** | ||
| 15 | + * | ||
| 16 | + * @Interface: StationRouteRepository(站点路由Repository数据持久层接口) | ||
| 17 | + * | ||
| 18 | + * @Extends : BaseRepository | ||
| 19 | + * | ||
| 20 | + * @Description: TODO(站点路由Repository数据持久层接口) | ||
| 21 | + * | ||
| 22 | + * @Author bsth@lq | ||
| 23 | + * | ||
| 24 | + * @Version 公交调度系统BS版 0.1 | ||
| 25 | + * | ||
| 26 | + */ | ||
| 27 | + | ||
| 28 | +@Repository | ||
| 29 | +public interface LsStationRouteRepository extends BaseRepository<LsStationRoute, Integer> { | ||
| 30 | + | ||
| 31 | + /** | ||
| 32 | + * 查询待更新线路的站点路由 | ||
| 33 | + */ | ||
| 34 | + @EntityGraph(value = "ls_stationRoute_station", type = EntityGraph.EntityGraphType.FETCH) | ||
| 35 | + @Query(value = "SELECT DISTINCT sr FROM LsStationRoute sr where sr.line.id =?1 and sr.lineCode=?2 and sr.versions=?3 and sr.destroy=0") | ||
| 36 | + List<LsStationRoute> findupdated(Integer lineId, String lineCode, Integer versions); | ||
| 37 | + | ||
| 38 | + @Query(value = "SELECT a.`stationRoute.id`," + | ||
| 39 | + "a.`stationRoute.line`," + | ||
| 40 | + "a.`stationRoute.station`," + | ||
| 41 | + "a.`stationRoute.stationName`," + | ||
| 42 | + "a.`stationRoute.stationRouteCode`," + | ||
| 43 | + "a.`stationRoute.lineCode`," + | ||
| 44 | + "a.`stationRoute.stationMark`," + | ||
| 45 | + "a.`stationRoute.outStationNmber`," + | ||
| 46 | + "a.`stationRoute.directions`," + | ||
| 47 | + "a.`stationRoute.distances`," + | ||
| 48 | + "a.`stationRoute.toTime`," + | ||
| 49 | + "a.`stationRoute.firstTime`," + | ||
| 50 | + "a.`stationRoute.endTime`," + | ||
| 51 | + "a.`stationRoute.descriptions`," + | ||
| 52 | + "a.`stationRoute.versions`," + | ||
| 53 | + "b.id AS 'station.id'," + | ||
| 54 | + "b.station_cod AS 'station.stationCod'," + | ||
| 55 | + "b.station_name AS 'station.stationName'," + | ||
| 56 | + "b.road_coding AS 'station.roadCoding'," + | ||
| 57 | + "b.db_type AS 'station.dbType'," + | ||
| 58 | + "b.b_jwpoints AS 'station.bJwpoints'," + | ||
| 59 | + "b.g_lonx AS 'station.gLonx'," + | ||
| 60 | + "b.g_lonx AS 'station.gLaty'," + | ||
| 61 | + "b.x AS 'station.x'," + | ||
| 62 | + "b.y AS 'station.y'," + | ||
| 63 | + "b.shapes_type AS 'station.shapesType'," + | ||
| 64 | + "b.radius AS 'station.radius'," + | ||
| 65 | + "ST_AsText(b.g_polygon_grid) AS 'station.gPolygonGrid'," + | ||
| 66 | + "ST_AsText(b.b_polygon_grid) AS 'station.bPolygonGrid'," + | ||
| 67 | + "b.destroy AS 'station.destroy'," + | ||
| 68 | + "b.versions AS 'station.versions'," + | ||
| 69 | + "b.descriptions AS 'station.descriptions', " + | ||
| 70 | + "a.`stationRoute.industryCode` " + | ||
| 71 | + " FROM (" + | ||
| 72 | + "SELECT r.id AS 'stationRoute.id'," + | ||
| 73 | + " r.line AS 'stationRoute.line'," + | ||
| 74 | + "r.station AS 'stationRoute.station'," + | ||
| 75 | + "r.station_name AS 'stationRoute.stationName'," + | ||
| 76 | + "r.station_route_code as 'stationRoute.stationRouteCode'," + | ||
| 77 | + "r.line_code AS 'stationRoute.lineCode'," + | ||
| 78 | + "r.station_mark AS 'stationRoute.stationMark'," + | ||
| 79 | + "r.out_station_nmber AS 'stationRoute.outStationNmber'," + | ||
| 80 | + "r.directions AS 'stationRoute.directions'," + | ||
| 81 | + "r.distances AS 'stationRoute.distances'," + | ||
| 82 | + "r.to_time AS 'stationRoute.toTime'," + | ||
| 83 | + "r.first_time AS 'stationRoute.firstTime'," + | ||
| 84 | + "r.end_time AS 'stationRoute.endTime'," + | ||
| 85 | + "r.descriptions AS 'stationRoute.descriptions'," + | ||
| 86 | + "r.versions AS 'stationRoute.versions', " + | ||
| 87 | + "r.industry_code AS 'stationRoute.industryCode' " + | ||
| 88 | + " FROM bsth_c_ls_stationroute r WHERE r.line = ?1 and r.directions = ?2 and r.versions=?3 and r.destroy=0) a " + | ||
| 89 | + "LEFT JOIN bsth_c_station b " + | ||
| 90 | + "ON a.`stationRoute.station` = b.id ORDER BY a.`stationRoute.stationRouteCode` ASC", nativeQuery=true) | ||
| 91 | + List<Object[]> findPoints(Integer lineId, Integer direction, Integer versions); | ||
| 92 | + | ||
| 93 | + | ||
| 94 | + @Query(value = "SELECT a.stationRouteLine," + | ||
| 95 | + " a.stationRouteStation," + | ||
| 96 | + " a.stationRouteCode," + | ||
| 97 | + " a.stationRouteLIneCode," + | ||
| 98 | + " a.stationRouteStationMark," + | ||
| 99 | + " a.stationOutStationNmber," + | ||
| 100 | + " a.stationRoutedirections," + | ||
| 101 | + " a.stationRouteDistances," + | ||
| 102 | + " a.stationRouteToTime," + | ||
| 103 | + " a.staitonRouteFirstTime," + | ||
| 104 | + " a.stationRouteEndTime," + | ||
| 105 | + " a.stationRouteDescriptions," + | ||
| 106 | + " a.stationRouteDestroy," + | ||
| 107 | + " a.stationRouteVersions," + | ||
| 108 | + " a.stationRouteCreateBy," + | ||
| 109 | + " a.stationRouteCreateDate," + | ||
| 110 | + " a.stationRouteUpdateBy," + | ||
| 111 | + " a.stationRouteUpdateDate," + | ||
| 112 | + " b.id AS stationId," + | ||
| 113 | + " b.station_cod AS stationCode," + | ||
| 114 | + " a.stationRouteName," + | ||
| 115 | + " b.road_coding AS stationRoadCoding," + | ||
| 116 | + " b.db_type AS stationDbType," + | ||
| 117 | + " b.b_jwpoints AS stationJwpoints," + | ||
| 118 | + " b.g_lonx AS stationGlonx," + | ||
| 119 | + " b.g_laty AS stationGlaty," + | ||
| 120 | + " b.x AS stationX," + | ||
| 121 | + " b.y AS stationY," + | ||
| 122 | + " ST_AsText(b.b_polygon_grid) as stationBPolyonGrid," + | ||
| 123 | + " ST_AsText(b.g_polygon_grid) AS stationGPloyonGrid, " + | ||
| 124 | + " b.destroy AS stationDestroy," + | ||
| 125 | + " b.radius AS stationRadius," + | ||
| 126 | + " b.shapes_type AS stationShapesType," + | ||
| 127 | + " b.versions AS stationVersions," + | ||
| 128 | + " b.descriptions AS sttationDescriptions," + | ||
| 129 | + " b.create_by AS stationCreateBy," + | ||
| 130 | + " b.create_date AS stationCreateDate," + | ||
| 131 | + " b.update_by AS stationUpdateBy," + | ||
| 132 | + " b.update_date AS stationUpdateDate," + | ||
| 133 | + " a.stationRouteId," + | ||
| 134 | + "b.station_name as zdmc, "+ | ||
| 135 | + "a.industryCode "+ | ||
| 136 | + " FROM ( SELECT s.id AS stationRouteId," + | ||
| 137 | + " s.line AS stationRouteLine," + | ||
| 138 | + " s.station as stationRouteStation," + | ||
| 139 | + " s.station_name AS stationRouteName," + | ||
| 140 | + " s.station_route_code as stationRouteCode," + | ||
| 141 | + " s.industry_code as industryCode," + | ||
| 142 | + " s.line_code AS stationRouteLIneCode," + | ||
| 143 | + " s.station_mark AS stationRouteStationMark," + | ||
| 144 | + " s.out_station_nmber AS stationOutStationNmber," + | ||
| 145 | + " s.directions AS stationRoutedirections," + | ||
| 146 | + " s.distances AS stationRouteDistances," + | ||
| 147 | + " s.to_time AS stationRouteToTime," + | ||
| 148 | + " s.first_time AS staitonRouteFirstTime," + | ||
| 149 | + " s.end_time AS stationRouteEndTime," + | ||
| 150 | + " s.descriptions AS stationRouteDescriptions," + | ||
| 151 | + " s.destroy AS stationRouteDestroy," + | ||
| 152 | + " s.versions AS stationRouteVersions," + | ||
| 153 | + " s.create_by AS stationRouteCreateBy," + | ||
| 154 | + " s.create_date AS stationRouteCreateDate," + | ||
| 155 | + " s.update_by AS stationRouteUpdateBy," + | ||
| 156 | + " s.update_date AS stationRouteUpdateDate FROM bsth_c_ls_stationroute s WHERE s.line = ?1 and s.directions = ?2 and s.versions=?3 and s.destroy = 0) a " + | ||
| 157 | + " LEFT JOIN bsth_c_station b ON a.stationRouteStation = b.id order by a.stationRouteCode", nativeQuery=true) | ||
| 158 | + List<Object[]> getStationRouteList(Integer lineId, Integer dir ,Integer version); | ||
| 159 | + /** | ||
| 160 | + * 更新路线前删除线路版本号历史原有站点路由 | ||
| 161 | + * | ||
| 162 | + * @param line | ||
| 163 | + * @param dir | ||
| 164 | + */ | ||
| 165 | + @Modifying | ||
| 166 | + @Transactional | ||
| 167 | + @Query(value="DELETE from bsth_c_ls_stationroute where line = ?1 and directions = ?2 and versions = ?3", nativeQuery=true) | ||
| 168 | + public void batchDelete(Integer line,Integer dir, Integer versions); | ||
| 169 | + | ||
| 170 | + /** | ||
| 171 | + * 更新路线前撤销线路版本号历史原有站点路由 | ||
| 172 | + * | ||
| 173 | + * @param line | ||
| 174 | + * @param dir | ||
| 175 | + */ | ||
| 176 | + @Modifying | ||
| 177 | + @Query(value="UPDATE bsth_c_ls_stationroute set destroy = 1 where line = ?1 and directions = ?2 and versions = ?3", nativeQuery=true) | ||
| 178 | + public void batchDestroy(Integer sectionRouteLine, Integer directions, Integer versions); | ||
| 179 | + | ||
| 180 | + /** | ||
| 181 | + * 按线路编码查询各站点的顺序号 | ||
| 182 | + * @param lineCode 线路编码 | ||
| 183 | + * @param lineVersion 版本号 | ||
| 184 | + * @return | ||
| 185 | + */ | ||
| 186 | + @Query("SELECT new map(" + | ||
| 187 | + "lineCode as lineCode,directions as directions,stationName as stationName,stationCode as stationCode," + | ||
| 188 | + "line.linePlayType as linePlayType,s.stationMark as stationMark) " + | ||
| 189 | + "FROM " + | ||
| 190 | + "LsStationRoute s " + | ||
| 191 | + "WHERE " + | ||
| 192 | + "s.destroy = 0 AND s.lineCode = ?1 AND s.versions = ?2 " + | ||
| 193 | + "ORDER BY " + | ||
| 194 | + "lineCode,directions,stationRouteCode") | ||
| 195 | + List<Map<String, String>> findLineWithLineCode4Ygc(String lineCode,Integer lineVersion); | ||
| 196 | + /** | ||
| 197 | + * @Description : TODO(根据站点路由Id查询详情) | ||
| 198 | + * | ||
| 199 | + * @param id:站点路由ID | ||
| 200 | + * | ||
| 201 | + * @return List<Object[]> | ||
| 202 | + */ | ||
| 203 | + @Query(value = "SELECT a.stationRouteLine," + | ||
| 204 | + " a.stationRouteStation," + | ||
| 205 | + " a.stationRouteCode," + | ||
| 206 | + " a.stationRouteLIneCode," + | ||
| 207 | + " a.stationRouteStationMark," + | ||
| 208 | + " a.stationOutStationNmber," + | ||
| 209 | + " a.stationRoutedirections," + | ||
| 210 | + " a.stationRouteDistances," + | ||
| 211 | + " a.stationRouteToTime," + | ||
| 212 | + " a.staitonRouteFirstTime," + | ||
| 213 | + " a.stationRouteEndTime," + | ||
| 214 | + " a.stationRouteDescriptions," + | ||
| 215 | + " a.stationRouteDestroy," + | ||
| 216 | + " a.stationRouteVersions," + | ||
| 217 | + " a.stationRouteCreateBy," + | ||
| 218 | + " a.stationRouteCreateDate," + | ||
| 219 | + " a.stationRouteUpdateBy," + | ||
| 220 | + " a.stationRouteUpdateDate," + | ||
| 221 | + " b.id AS stationId," + | ||
| 222 | + " b.station_cod AS stationCode," + | ||
| 223 | + " a.stationRouteName," + | ||
| 224 | + " b.road_coding AS stationRoadCoding," + | ||
| 225 | + " b.db_type AS stationDbType," + | ||
| 226 | + " b.b_jwpoints AS stationJwpoints," + | ||
| 227 | + " b.g_lonx AS stationGlonx," + | ||
| 228 | + " b.g_laty AS stationGlaty," + | ||
| 229 | + " b.x AS stationX," + | ||
| 230 | + " b.y AS stationY," + | ||
| 231 | + " ST_AsText(b.b_polygon_grid) as stationBPolyonGrid," + | ||
| 232 | + " ST_AsText(b.g_polygon_grid) AS stationGPloyonGrid, " + | ||
| 233 | + " b.destroy AS stationDestroy," + | ||
| 234 | + " b.radius AS stationRadius," + | ||
| 235 | + " b.shapes_type AS stationShapesType," + | ||
| 236 | + " b.versions AS stationVersions," + | ||
| 237 | + " b.descriptions AS sttationDescriptions," + | ||
| 238 | + " b.create_by AS stationCreateBy," + | ||
| 239 | + " b.create_date AS stationCreateDate," + | ||
| 240 | + " b.update_by AS stationUpdateBy," + | ||
| 241 | + " b.update_date AS stationUpdateDate," + | ||
| 242 | + " a.stationRouteId,b.station_name as zdmc, " + | ||
| 243 | + " a.industryCode "+ | ||
| 244 | + " FROM " + | ||
| 245 | + "( SELECT s.id AS stationRouteId," + | ||
| 246 | + " s.line AS stationRouteLine," + | ||
| 247 | + " s.station as stationRouteStation," + | ||
| 248 | + " s.station_name AS stationRouteName," + | ||
| 249 | + " s.station_route_code as stationRouteCode," + | ||
| 250 | + " s.industry_code as industryCode," + | ||
| 251 | + " s.line_code AS stationRouteLIneCode," + | ||
| 252 | + " s.station_mark AS stationRouteStationMark," + | ||
| 253 | + " s.out_station_nmber AS stationOutStationNmber," + | ||
| 254 | + " s.directions AS stationRoutedirections," + | ||
| 255 | + " s.distances AS stationRouteDistances," + | ||
| 256 | + " s.to_time AS stationRouteToTime," + | ||
| 257 | + " s.first_time AS staitonRouteFirstTime," + | ||
| 258 | + " s.end_time AS stationRouteEndTime," + | ||
| 259 | + " s.descriptions AS stationRouteDescriptions," + | ||
| 260 | + " s.destroy AS stationRouteDestroy," + | ||
| 261 | + " s.versions AS stationRouteVersions," + | ||
| 262 | + " s.create_by AS stationRouteCreateBy," + | ||
| 263 | + " s.create_date AS stationRouteCreateDate," + | ||
| 264 | + " s.update_by AS stationRouteUpdateBy," + | ||
| 265 | + " s.update_date AS stationRouteUpdateDate FROM bsth_c_ls_stationroute s WHERE s.id = ?1 ) a " + | ||
| 266 | + " LEFT JOIN bsth_c_station b ON a.stationRouteStation = b.id", nativeQuery=true) | ||
| 267 | + List<Object[]> findStationRouteInfo(Integer id); | ||
| 268 | + | ||
| 269 | + // 批量修改站点行业编码 | ||
| 270 | + @Modifying | ||
| 271 | + @Query(value="update bsth_c_ls_stationroute set industry_code =?2 where id = ?1 ", nativeQuery=true) | ||
| 272 | + void updIndustryCode(Integer id, String industryCode); | ||
| 273 | + | ||
| 274 | + @Modifying | ||
| 275 | + @Query(value="UPDATE bsth_c_ls_stationroute set station_route_code = (station_route_code+10) where line = ?1 and directions = ?2 and station_route_code >=?3 and destroy = 0", nativeQuery=true) | ||
| 276 | + void stationUpdStationRouteCode(Integer line,Integer dir,Integer routeCod); | ||
| 277 | + | ||
| 278 | + @Modifying | ||
| 279 | + @Query(value="update bsth_c_ls_stationroute set directions = case directions when 1 then 0 when 0 then 1 end where line = ?1 ", nativeQuery=true) | ||
| 280 | + void stationRouteDir(Integer line); | ||
| 281 | + | ||
| 282 | + @Query("select r from LsStationRoute r where r.line.id=?1 and r.directions=?2 and r.destroy=0 order by r.stationRouteCode") | ||
| 283 | + List<LsStationRoute> findByLine(int lineId, int dir); | ||
| 284 | + | ||
| 285 | + @Modifying | ||
| 286 | + @Query(value="update bsth_c_ls_stationroute set distances =?2 where id = ?1 ", nativeQuery=true) | ||
| 287 | + void upddis(Integer id,Double dis); | ||
| 288 | + | ||
| 289 | + @Query(value="select * from bsth_c_ls_stationroute where line_code = ?3 and directions = ?4 and destroy = 0 and versions = ?5 limit ?1,?2", nativeQuery=true) | ||
| 290 | + Iterable<LsStationRoute> page(int start , int end , int line ,int dir, int version); | ||
| 291 | + | ||
| 292 | + @Query(value="select count(*) from bsth_c_ls_stationroute where line_code = ?1 and directions = ?2 and destroy = 0 and versions = ?3 ", nativeQuery=true) | ||
| 293 | + int count(int line, int dir, int version); | ||
| 294 | + | ||
| 295 | + @Query(value = " select r.station_code, r.station_name, r.versions " + | ||
| 296 | + "from bsth_c_ls_stationroute r where r.line_code = ?1 " + | ||
| 297 | + "and r.directions=?2 and r.destroy = 0 and r.versions in(" + | ||
| 298 | + "select v.versions from bsth_c_line_versions v where v.line_code=?1 " + | ||
| 299 | + "and ((date_format(v.start_date, '%Y-%m-%d') >= ?3 and date_format(v.start_date, '%Y-%m-%d') <= ?4) " + | ||
| 300 | + " or (date_format(v.start_date, '%Y-%m-%d') <= ?4 and date_format(v.end_date, '%Y-%m-%d') >= ?4) " + | ||
| 301 | + " or (date_format(v.start_date, '%Y-%m-%d') >= ?3 and date_format(v.end_date, '%Y-%m-%d') <= ?4))" + | ||
| 302 | + ") order by r.versions desc, r.station_route_code asc ", nativeQuery = true) | ||
| 303 | + List<Object[]> findHistory(String lineCode, Integer updown, String date1, String date2); | ||
| 304 | + | ||
| 305 | + @Query("select r from LsStationRoute r where r.line.id=?1 and r.versions=?2 and r.directions=?3 and r.destroy=0 order by r.stationRouteCode") | ||
| 306 | + List<LsStationRoute> findByLineVersion(int lineId, int version, int dir); | ||
| 307 | +} |
src/main/java/com/bsth/repository/StationRouteRepository.java
| @@ -422,7 +422,7 @@ public interface StationRouteRepository extends BaseRepository<StationRoute, Int | @@ -422,7 +422,7 @@ public interface StationRouteRepository extends BaseRepository<StationRoute, Int | ||
| 422 | @Query("select r from StationRoute r where r.line.id=?1 and r.directions=?2 and r.destroy=0 order by r.stationRouteCode") | 422 | @Query("select r from StationRoute r where r.line.id=?1 and r.directions=?2 and r.destroy=0 order by r.stationRouteCode") |
| 423 | List<StationRoute> findByLine(Integer lineId, Integer dir); | 423 | List<StationRoute> findByLine(Integer lineId, Integer dir); |
| 424 | 424 | ||
| 425 | - @Query("select r from StationRoute r where r.lineCode=?1 and r.directions=?2 and versions is not null order by r.destroy, r.stationRouteCode") | 425 | + @Query("select r from StationRoute r where r.lineCode=?1 and r.directions=?2 and r.destroy=0 order by r.stationRouteCode") |
| 426 | List<StationRoute> findAllByLine(String lineCode, int updown); | 426 | List<StationRoute> findAllByLine(String lineCode, int updown); |
| 427 | 427 | ||
| 428 | @EntityGraph(value = "stationRoute_station", type = EntityGraph.EntityGraphType.FETCH) | 428 | @EntityGraph(value = "stationRoute_station", type = EntityGraph.EntityGraphType.FETCH) |
src/main/java/com/bsth/repository/oil/YlbRepository.java
| @@ -47,8 +47,8 @@ public interface YlbRepository extends BaseRepository<Ylb, Integer>{ | @@ -47,8 +47,8 @@ public interface YlbRepository extends BaseRepository<Ylb, Integer>{ | ||
| 47 | List<Ylb> listMaxRqJcsx(String rq,String gsbm,String fgsbm,String xlbm,String nbbm); | 47 | List<Ylb> listMaxRqJcsx(String rq,String gsbm,String fgsbm,String xlbm,String nbbm); |
| 48 | 48 | ||
| 49 | @Query(value="select * from bsth_c_ylb where " | 49 | @Query(value="select * from bsth_c_ylb where " |
| 50 | - + " DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= rq " | ||
| 51 | - + " and rq< ?1 and ssgsdm like %?2%" | 50 | + + " rq >= str_to_date(?1, '%Y-%m-%d') - INTERVAL 90 DAY " |
| 51 | + + " and rq< ?1 and ssgsdm like %?2% " | ||
| 52 | + " and fgsdm like %?3% and xlbm like %?4% and nbbm like %?5% " | 52 | + " and fgsdm like %?3% and xlbm like %?4% and nbbm like %?5% " |
| 53 | + " order by nbbm , rq desc,jcsx desc,lp desc",nativeQuery=true) | 53 | + " order by nbbm , rq desc,jcsx desc,lp desc",nativeQuery=true) |
| 54 | List<Ylb> listByRqJcsx(String rq,String gsbm,String fgsbm,String xlbm,String nbbm); | 54 | List<Ylb> listByRqJcsx(String rq,String gsbm,String fgsbm,String xlbm,String nbbm); |
src/main/java/com/bsth/repository/schedule/TTInfoDetailRepository.java
| @@ -47,6 +47,7 @@ public interface TTInfoDetailRepository extends BaseRepository<TTInfoDetail, Lon | @@ -47,6 +47,7 @@ public interface TTInfoDetailRepository extends BaseRepository<TTInfoDetail, Lon | ||
| 47 | @Query(value = "select tt from TTInfoDetail tt where tt.ttinfo.id = ?1 and tt.lp.id = ?2 order by tt.fcno asc") | 47 | @Query(value = "select tt from TTInfoDetail tt where tt.ttinfo.id = ?1 and tt.lp.id = ?2 order by tt.fcno asc") |
| 48 | List<TTInfoDetail> findBcdetails(Long ttinfoId, Long lpId); | 48 | List<TTInfoDetail> findBcdetails(Long ttinfoId, Long lpId); |
| 49 | 49 | ||
| 50 | + @Query(value = "select tt from TTInfoDetail tt left join fetch tt.lp where tt.ttinfo.id = ?1 ") | ||
| 50 | List<TTInfoDetail> findByTtinfoId(Long id); | 51 | List<TTInfoDetail> findByTtinfoId(Long id); |
| 51 | 52 | ||
| 52 | @Modifying | 53 | @Modifying |
src/main/java/com/bsth/service/InoutCarparkService.java
0 → 100644
| 1 | +package com.bsth.service; | ||
| 2 | + | ||
| 3 | +import com.bsth.entity.LsStationRoute; | ||
| 4 | +import com.bsth.entity.StationRoute; | ||
| 5 | +import com.bsth.entity.StationRouteCache; | ||
| 6 | +import com.fasterxml.jackson.core.JsonProcessingException; | ||
| 7 | + | ||
| 8 | +import javax.servlet.http.HttpServletResponse; | ||
| 9 | +import java.util.List; | ||
| 10 | +import java.util.Map; | ||
| 11 | + | ||
| 12 | +public interface InoutCarparkService { | ||
| 13 | + | ||
| 14 | + Map<String, Object> getStartEndByLine(int lineId, int version); | ||
| 15 | + | ||
| 16 | + Map<String, Object> getRouteByStartEnd(int lineId, int version, String start, String end); | ||
| 17 | + | ||
| 18 | + Map<String, Object> sectionSave(Map<String, Object> map); | ||
| 19 | + | ||
| 20 | + Map<String, Object> sectionUpdate(Map<String, Object> map); | ||
| 21 | + | ||
| 22 | + Map<String, Object> destroy(Map<String, Object> map); | ||
| 23 | + | ||
| 24 | + void pathPlaningByHistory(long schId, int versions) throws JsonProcessingException; | ||
| 25 | +} |
src/main/java/com/bsth/service/TrafficManageService.java
| 1 | -package com.bsth.service; | ||
| 2 | - | ||
| 3 | -/** | ||
| 4 | - * | ||
| 5 | - * @Interface: LineService(线路service业务层实现接口) | ||
| 6 | - * | ||
| 7 | - * @extends : BaseService | ||
| 8 | - * | ||
| 9 | - * @Description: TODO(线路service业务层实现接口) | ||
| 10 | - * | ||
| 11 | - * @Author bsth@lq | ||
| 12 | - * | ||
| 13 | - * @Date 2016年4月28日 上午9:21:17 | ||
| 14 | - * | ||
| 15 | - * @Version 公交调度系统BS版 0.1 | ||
| 16 | - * | ||
| 17 | - */ | ||
| 18 | -public interface TrafficManageService { | ||
| 19 | - | ||
| 20 | - /** | ||
| 21 | - * 上传线路信息 | ||
| 22 | - * | ||
| 23 | - * @return 调用接口返回信息 | ||
| 24 | - */ | ||
| 25 | - String setXL(String ids); | ||
| 26 | - | ||
| 27 | - /** | ||
| 28 | - * 上传线路信息 | ||
| 29 | - * | ||
| 30 | - * @return 调用接口返回信息 | ||
| 31 | - */ | ||
| 32 | - String setXLByInUse(String ids); | ||
| 33 | - | ||
| 34 | - /** | ||
| 35 | - * 上传车辆信息 | ||
| 36 | - * | ||
| 37 | - * @return 调用接口返回信息 | ||
| 38 | - */ | ||
| 39 | - String setCL(); | ||
| 40 | - | ||
| 41 | - /** | ||
| 42 | - * 上传司机信息 | ||
| 43 | - * @return 调用接口返回信息 | ||
| 44 | - */ | ||
| 45 | - String setSJ(); | ||
| 46 | - | ||
| 47 | - /** | ||
| 48 | - * 上传超速数据 | ||
| 49 | - * | ||
| 50 | - * @return 调用接口返回信息 | ||
| 51 | - */ | ||
| 52 | - String setCS(); | ||
| 53 | - | ||
| 54 | - /** | ||
| 55 | - * 上传线路班次时刻表数据 | ||
| 56 | - * | ||
| 57 | - * @return 调用接口返回信息 | ||
| 58 | - */ | ||
| 59 | - String setSKB(String ids); | ||
| 60 | - | ||
| 61 | - /** | ||
| 62 | - * 线路人员车辆配置信息 | ||
| 63 | - * @return 调用接口返回信息 | ||
| 64 | - */ | ||
| 65 | - String setXLPC(); | ||
| 66 | - | ||
| 67 | - /** | ||
| 68 | - * 线路计划班次表 | ||
| 69 | - * @return 调用接口返回信息 | ||
| 70 | - */ | ||
| 71 | - String setJHBC(); | ||
| 72 | - | ||
| 73 | - String setJHBC(String theDate); | ||
| 74 | - | ||
| 75 | - String setLD(String theDate); | ||
| 76 | - | ||
| 77 | - String setLD(); | ||
| 78 | - | ||
| 79 | - String setLDFile(); | ||
| 80 | - | ||
| 81 | - String setLCYH(); | ||
| 82 | - | ||
| 83 | - String setDDRB(); | ||
| 84 | - | ||
| 85 | - /** | ||
| 86 | - * 下载全量的公交基础数据 | ||
| 87 | - * @return | ||
| 88 | - */ | ||
| 89 | - String getDownLoadAllDataFile(); | ||
| 90 | - | ||
| 91 | - /** | ||
| 92 | - * 下载增量的公交基础数据 | ||
| 93 | - * @return | ||
| 94 | - */ | ||
| 95 | - String getDownLoadIncreaseDataFile(); | ||
| 96 | - | ||
| 97 | - /** | ||
| 98 | - * 指定线路查询方式公交基础数据下载 | ||
| 99 | - * @return | ||
| 100 | - */ | ||
| 101 | - String getDownLoadWarrantsBusLineStation(); | ||
| 102 | -} | 1 | +package com.bsth.service; |
| 2 | + | ||
| 3 | +/** | ||
| 4 | + * | ||
| 5 | + * @Interface: LineService(线路service业务层实现接口) | ||
| 6 | + * | ||
| 7 | + * @extends : BaseService | ||
| 8 | + * | ||
| 9 | + * @Description: TODO(线路service业务层实现接口) | ||
| 10 | + * | ||
| 11 | + * @Author bsth@lq | ||
| 12 | + * | ||
| 13 | + * @Date 2016年4月28日 上午9:21:17 | ||
| 14 | + * | ||
| 15 | + * @Version 公交调度系统BS版 0.1 | ||
| 16 | + * | ||
| 17 | + */ | ||
| 18 | +public interface TrafficManageService { | ||
| 19 | + | ||
| 20 | + /** | ||
| 21 | + * 上传线路信息 | ||
| 22 | + * | ||
| 23 | + * @return 调用接口返回信息 | ||
| 24 | + */ | ||
| 25 | + String setXL(String ids); | ||
| 26 | + | ||
| 27 | + /** | ||
| 28 | + * 上传线路信息 | ||
| 29 | + * | ||
| 30 | + * @return 调用接口返回信息 | ||
| 31 | + */ | ||
| 32 | + String setXLByInUse(String ids); | ||
| 33 | + | ||
| 34 | + /** | ||
| 35 | + * 上传车辆信息 | ||
| 36 | + * | ||
| 37 | + * @return 调用接口返回信息 | ||
| 38 | + */ | ||
| 39 | + String setCL(); | ||
| 40 | + | ||
| 41 | + /** | ||
| 42 | + * 上传司机信息 | ||
| 43 | + * @return 调用接口返回信息 | ||
| 44 | + */ | ||
| 45 | + String setSJ(); | ||
| 46 | + | ||
| 47 | + /** | ||
| 48 | + * 上传超速数据 | ||
| 49 | + * | ||
| 50 | + * @return 调用接口返回信息 | ||
| 51 | + */ | ||
| 52 | + String setCS(); | ||
| 53 | + | ||
| 54 | + /** | ||
| 55 | + * 上传线路班次时刻表数据 | ||
| 56 | + * | ||
| 57 | + * @return 调用接口返回信息 | ||
| 58 | + */ | ||
| 59 | + String setSKB(String ids, String qyrqs); | ||
| 60 | + | ||
| 61 | + /** | ||
| 62 | + * 线路人员车辆配置信息 | ||
| 63 | + * @return 调用接口返回信息 | ||
| 64 | + */ | ||
| 65 | + String setXLPC(); | ||
| 66 | + | ||
| 67 | + /** | ||
| 68 | + * 线路计划班次表 | ||
| 69 | + * @return 调用接口返回信息 | ||
| 70 | + */ | ||
| 71 | + String setJHBC(); | ||
| 72 | + | ||
| 73 | + String setJHBC(String theDate); | ||
| 74 | + | ||
| 75 | + String setLD(String theDate); | ||
| 76 | + | ||
| 77 | + String setLD(); | ||
| 78 | + | ||
| 79 | + String setLDFile(); | ||
| 80 | + | ||
| 81 | + String setLCYH(); | ||
| 82 | + | ||
| 83 | + String setDDRB(); | ||
| 84 | + | ||
| 85 | + /** | ||
| 86 | + * 下载全量的公交基础数据 | ||
| 87 | + * @return | ||
| 88 | + */ | ||
| 89 | + String getDownLoadAllDataFile(); | ||
| 90 | + | ||
| 91 | + /** | ||
| 92 | + * 下载增量的公交基础数据 | ||
| 93 | + * @return | ||
| 94 | + */ | ||
| 95 | + String getDownLoadIncreaseDataFile(); | ||
| 96 | + | ||
| 97 | + /** | ||
| 98 | + * 指定线路查询方式公交基础数据下载 | ||
| 99 | + * @return | ||
| 100 | + */ | ||
| 101 | + String getDownLoadWarrantsBusLineStation(); | ||
| 102 | +} |
src/main/java/com/bsth/service/forms/impl/BudgetServiceImpl.java
| @@ -150,7 +150,6 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | @@ -150,7 +150,6 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | ||
| 150 | 150 | ||
| 151 | for(int i = 0; i < textList.size(); i++){ | 151 | for(int i = 0; i < textList.size(); i++){ |
| 152 | String text = textList.get(i); | 152 | String text = textList.get(i); |
| 153 | -// System.out.println(text); | ||
| 154 | String[] split = text.split(","); | 153 | String[] split = text.split(","); |
| 155 | int rowNo = Integer.valueOf(split[0].trim()); | 154 | int rowNo = Integer.valueOf(split[0].trim()); |
| 156 | String year = split[1].trim(); | 155 | String year = split[1].trim(); |
| @@ -229,11 +228,11 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | @@ -229,11 +228,11 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | ||
| 229 | Budget bud = budgets.get(0); | 228 | Budget bud = budgets.get(0); |
| 230 | if(b.getFormalPerson() != null){ | 229 | if(b.getFormalPerson() != null){ |
| 231 | if(bud.getBudgetMileage() != null){ | 230 | if(bud.getBudgetMileage() != null){ |
| 232 | - bud.setChangeMileage(b.getFormalPerson()); | 231 | + bud.setChangeMileage(b.getFormalMileage()); |
| 233 | } else { | 232 | } else { |
| 234 | - bud.setBudgetMileage(b.getFormalPerson()); | 233 | + bud.setBudgetMileage(b.getFormalMileage()); |
| 235 | } | 234 | } |
| 236 | - bud.setFormalMileage(b.getFormalPerson()); | 235 | + bud.setFormalMileage(b.getFormalMileage()); |
| 237 | } | 236 | } |
| 238 | if(b.getFormalPerson() != null){ | 237 | if(b.getFormalPerson() != null){ |
| 239 | if(bud.getBudgetPerson() != null){ | 238 | if(bud.getBudgetPerson() != null){ |
| @@ -251,11 +250,11 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | @@ -251,11 +250,11 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | ||
| 251 | } | 250 | } |
| 252 | bud.setFormalAmounts(b.getFormalAmounts()); | 251 | bud.setFormalAmounts(b.getFormalAmounts()); |
| 253 | } | 252 | } |
| 254 | - repository.update(bud.getBudgetMileage(), bud.getChangeMileage(), bud.getFormalPerson(), | 253 | + repository.update(bud.getBudgetMileage(), bud.getChangeMileage(), bud.getFormalMileage(), |
| 255 | bud.getBudgetPerson(), bud.getChangePerson(), bud.getFormalPerson(), | 254 | bud.getBudgetPerson(), bud.getChangePerson(), bud.getFormalPerson(), |
| 256 | bud.getBudgetAmounts(), bud.getChangeAmounts(), bud.getFormalAmounts(), bud.getId()); | 255 | bud.getBudgetAmounts(), bud.getChangeAmounts(), bud.getFormalAmounts(), bud.getId()); |
| 257 | } else { | 256 | } else { |
| 258 | - b.setBudgetMileage(b.getFormalPerson()); | 257 | + b.setBudgetMileage(b.getFormalMileage()); |
| 259 | b.setBudgetPerson(b.getFormalPerson()); | 258 | b.setBudgetPerson(b.getFormalPerson()); |
| 260 | b.setBudgetAmounts(b.getFormalAmounts()); | 259 | b.setBudgetAmounts(b.getFormalAmounts()); |
| 261 | insertList.add(b); | 260 | insertList.add(b); |
| @@ -380,7 +379,6 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | @@ -380,7 +379,6 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | ||
| 380 | r.setXlName(lineAllMap.get(name).getName()); | 379 | r.setXlName(lineAllMap.get(name).getName()); |
| 381 | } | 380 | } |
| 382 | } else { | 381 | } else { |
| 383 | - boolean flag = true; | ||
| 384 | for(String key : lineAllMap.keySet()){ | 382 | for(String key : lineAllMap.keySet()){ |
| 385 | Line l = lineAllMap.get(key); | 383 | Line l = lineAllMap.get(key); |
| 386 | String name = l.getName(); | 384 | String name = l.getName(); |
| @@ -388,15 +386,11 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | @@ -388,15 +386,11 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | ||
| 388 | name = name.replaceAll("区间", "") + l.getStartStationName().substring(0, 1); | 386 | name = name.replaceAll("区间", "") + l.getStartStationName().substring(0, 1); |
| 389 | } | 387 | } |
| 390 | if(l.getName().equals(lineName) || name.equals(lineName)){ | 388 | if(l.getName().equals(lineName) || name.equals(lineName)){ |
| 391 | - flag = false; | ||
| 392 | r.setXlBm(l.getLineCode()); | 389 | r.setXlBm(l.getLineCode()); |
| 393 | r.setXlName(l.getName()); | 390 | r.setXlName(l.getName()); |
| 394 | break; | 391 | break; |
| 395 | } | 392 | } |
| 396 | } | 393 | } |
| 397 | -// if(flag){ | ||
| 398 | -// System.out.println(m.get("lineName").toString() + " >> " + lineName); | ||
| 399 | -// } | ||
| 400 | } | 394 | } |
| 401 | 395 | ||
| 402 | if(r.getXlBm() != null){ | 396 | if(r.getXlBm() != null){ |
| @@ -432,6 +426,7 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | @@ -432,6 +426,7 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | ||
| 432 | // TODO Auto-generated method stub | 426 | // TODO Auto-generated method stub |
| 433 | SimpleDateFormat sdfYY = new SimpleDateFormat("YYYY"); | 427 | SimpleDateFormat sdfYY = new SimpleDateFormat("YYYY"); |
| 434 | SimpleDateFormat sdfMM = new SimpleDateFormat("MM"); | 428 | SimpleDateFormat sdfMM = new SimpleDateFormat("MM"); |
| 429 | + DecimalFormat df = new DecimalFormat("0.###"); | ||
| 435 | List<Map<String, Object>> resList = new ArrayList<Map<String, Object>>(); | 430 | List<Map<String, Object>> resList = new ArrayList<Map<String, Object>>(); |
| 436 | Map<String, Map<String, Object>> keyMap = new HashMap<String, Map<String, Object>>(); | 431 | Map<String, Map<String, Object>> keyMap = new HashMap<String, Map<String, Object>>(); |
| 437 | Map<String, Boolean> lineNature = lineService.lineNature(); | 432 | Map<String, Boolean> lineNature = lineService.lineNature(); |
| @@ -474,9 +469,9 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | @@ -474,9 +469,9 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | ||
| 474 | m.put("xlName", xlName); | 469 | m.put("xlName", xlName); |
| 475 | m.put("sfyy", sfyy); | 470 | m.put("sfyy", sfyy); |
| 476 | m.put("sfjc", sfjc); | 471 | m.put("sfjc", sfjc); |
| 477 | - m.put("budget", b.getBudgetMileage()!=null?b.getBudgetMileage():""); | ||
| 478 | - m.put("change", b.getChangeMileage()!=null?b.getChangeMileage():""); | ||
| 479 | - m.put("formal", b.getFormalMileage()!=null?b.getFormalMileage():""); | 472 | + m.put("budget", b.getBudgetMileage()!=null?df.format(b.getBudgetMileage()):""); |
| 473 | + m.put("change", b.getChangeMileage()!=null?df.format(b.getChangeMileage()):""); | ||
| 474 | + m.put("formal", b.getFormalMileage()!=null?df.format(b.getFormalMileage()):""); | ||
| 480 | for(int i = 1; i <= 12; i++){ | 475 | for(int i = 1; i <= 12; i++){ |
| 481 | m.put("mon"+i, ""); | 476 | m.put("mon"+i, ""); |
| 482 | m.put("bud"+i, ""); | 477 | m.put("bud"+i, ""); |
| @@ -494,28 +489,28 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | @@ -494,28 +489,28 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | ||
| 494 | String bud = "bud" + Integer.valueOf(b.getYear().split("-")[1]); | 489 | String bud = "bud" + Integer.valueOf(b.getYear().split("-")[1]); |
| 495 | if(b.getBudgetMileage()!=null){ | 490 | if(b.getBudgetMileage()!=null){ |
| 496 | if(m.get("budget").toString().length() > 0){ | 491 | if(m.get("budget").toString().length() > 0){ |
| 497 | - m.put("budget", new BigDecimal(m.get("budget").toString()).add( | ||
| 498 | - new BigDecimal(b.getBudgetMileage())).doubleValue()); | 492 | + m.put("budget", df.format(new BigDecimal(m.get("budget").toString()).add( |
| 493 | + new BigDecimal(b.getBudgetMileage())).doubleValue())); | ||
| 499 | } else { | 494 | } else { |
| 500 | - m.put("budget", b.getBudgetMileage()); | 495 | + m.put("budget", df.format(b.getBudgetMileage())); |
| 501 | } | 496 | } |
| 502 | } | 497 | } |
| 503 | if(b.getChangeMileage()!=null){ | 498 | if(b.getChangeMileage()!=null){ |
| 504 | if(m.get("change").toString().length() > 0){ | 499 | if(m.get("change").toString().length() > 0){ |
| 505 | - m.put("change", new BigDecimal(m.get("change").toString()).add( | ||
| 506 | - new BigDecimal(b.getChangeMileage())).doubleValue()); | 500 | + m.put("change", df.format(new BigDecimal(m.get("change").toString()).add( |
| 501 | + new BigDecimal(b.getChangeMileage())).doubleValue())); | ||
| 507 | } else { | 502 | } else { |
| 508 | - m.put("change", b.getChangeMileage()); | 503 | + m.put("change", df.format(b.getChangeMileage())); |
| 509 | } | 504 | } |
| 510 | } | 505 | } |
| 511 | if(b.getFormalMileage()!=null){ | 506 | if(b.getFormalMileage()!=null){ |
| 512 | if(m.get("formal").toString().length() > 0){ | 507 | if(m.get("formal").toString().length() > 0){ |
| 513 | - m.put("formal", new BigDecimal(m.get("formal").toString()).add( | ||
| 514 | - new BigDecimal(b.getFormalMileage())).doubleValue()); | 508 | + m.put("formal", df.format(new BigDecimal(m.get("formal").toString()).add( |
| 509 | + new BigDecimal(b.getFormalMileage())).doubleValue())); | ||
| 515 | } else { | 510 | } else { |
| 516 | - m.put("formal", b.getFormalMileage()); | 511 | + m.put("formal", df.format(b.getFormalMileage())); |
| 517 | } | 512 | } |
| 518 | - m.put(bud, b.getFormalMileage()); | 513 | + m.put(bud, df.format(b.getFormalMileage())); |
| 519 | } | 514 | } |
| 520 | } | 515 | } |
| 521 | } | 516 | } |
| @@ -611,6 +606,50 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | @@ -611,6 +606,50 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | ||
| 611 | } | 606 | } |
| 612 | strList.add(gsBm + "_all"); | 607 | strList.add(gsBm + "_all"); |
| 613 | 608 | ||
| 609 | + BigDecimal monAll = new BigDecimal("0"); | ||
| 610 | + BigDecimal preAll = new BigDecimal("0"); | ||
| 611 | + for(int i = 1; i <= 12; i++){ | ||
| 612 | + if(m.get("mon"+i).toString().length() > 0){ | ||
| 613 | + BigDecimal val = new BigDecimal(m.get("mon"+i).toString()); | ||
| 614 | + monAll = monAll.add(val); | ||
| 615 | + val = val.divide(new BigDecimal("10000"), 3, BigDecimal.ROUND_HALF_UP); | ||
| 616 | + m.put("mon"+i, val.doubleValue()); | ||
| 617 | + } | ||
| 618 | + if(m.get("pre"+i).toString().length() > 0){ | ||
| 619 | + BigDecimal val = new BigDecimal(m.get("pre"+i).toString()); | ||
| 620 | + preAll = preAll.add(val); | ||
| 621 | + val = val.divide(new BigDecimal("10000"), 3, BigDecimal.ROUND_HALF_UP); | ||
| 622 | + m.put("pre"+i, val.doubleValue()); | ||
| 623 | + if(m.get("mon"+i).toString().length() > 0){ | ||
| 624 | + BigDecimal monVal = new BigDecimal(m.get("mon"+i).toString()); | ||
| 625 | + BigDecimal sub = monVal.subtract(val); | ||
| 626 | + m.put("sub"+i, sub.doubleValue() > 0 ? "+" + sub.doubleValue() : sub.doubleValue()); | ||
| 627 | + } else { | ||
| 628 | + m.put("sub"+i, "-" + val.doubleValue()); | ||
| 629 | + } | ||
| 630 | + } | ||
| 631 | + } | ||
| 632 | + monAll = monAll.divide(new BigDecimal("10000"), 3, BigDecimal.ROUND_HALF_UP); | ||
| 633 | + preAll = preAll.divide(new BigDecimal("10000"), 3, BigDecimal.ROUND_HALF_UP); | ||
| 634 | + Double subAll = monAll.subtract(preAll).doubleValue(); | ||
| 635 | + m.put("monAll", monAll.doubleValue()); | ||
| 636 | + m.put("preAll", preAll.doubleValue()); | ||
| 637 | + m.put("subAll", subAll > 0 ? "+" + subAll : subAll); | ||
| 638 | + | ||
| 639 | + if(m.get("formal").toString().length() > 0 && m.get("monAll").toString().length() > 0 | ||
| 640 | + && new BigDecimal(m.get("formal").toString()).doubleValue() > 0d){ | ||
| 641 | + BigDecimal formal = new BigDecimal(m.get("formal").toString()); | ||
| 642 | + m.put("complete", monAll.divide( | ||
| 643 | + formal, 4, BigDecimal.ROUND_HALF_UP).multiply( | ||
| 644 | + new BigDecimal(100)).divide( | ||
| 645 | + new BigDecimal(1), 2, BigDecimal.ROUND_HALF_UP)+ "%"); | ||
| 646 | + BigDecimal diff = monAll.subtract(formal); | ||
| 647 | + m.put("diff", diff.doubleValue() > 0 ? "+" + diff.doubleValue() : diff.doubleValue()); | ||
| 648 | + } else { | ||
| 649 | + m.put("complete", ""); | ||
| 650 | + m.put("diff", ""); | ||
| 651 | + } | ||
| 652 | + | ||
| 614 | for(String str : strList){ | 653 | for(String str : strList){ |
| 615 | if(!keyMap.containsKey(str)){ | 654 | if(!keyMap.containsKey(str)){ |
| 616 | continue; | 655 | continue; |
| @@ -652,7 +691,7 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | @@ -652,7 +691,7 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | ||
| 652 | } | 691 | } |
| 653 | if(m.get(bud).toString().length() > 0){ | 692 | if(m.get(bud).toString().length() > 0){ |
| 654 | if(map.get(bud).toString().length() > 0){ | 693 | if(map.get(bud).toString().length() > 0){ |
| 655 | - map.put(mon, new BigDecimal(m.get(bud).toString()).add( | 694 | + map.put(bud, new BigDecimal(m.get(bud).toString()).add( |
| 656 | new BigDecimal(map.get(bud).toString())).doubleValue()); | 695 | new BigDecimal(map.get(bud).toString())).doubleValue()); |
| 657 | } else { | 696 | } else { |
| 658 | map.put(bud, new BigDecimal(m.get(bud).toString()).doubleValue()); | 697 | map.put(bud, new BigDecimal(m.get(bud).toString()).doubleValue()); |
| @@ -670,50 +709,6 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | @@ -670,50 +709,6 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | ||
| 670 | List<Map<String, Object>>dataList = (List<Map<String, Object>>)map.get("dataList"); | 709 | List<Map<String, Object>>dataList = (List<Map<String, Object>>)map.get("dataList"); |
| 671 | dataList.add(m); | 710 | dataList.add(m); |
| 672 | } | 711 | } |
| 673 | - | ||
| 674 | - BigDecimal monAll = new BigDecimal("0"); | ||
| 675 | - BigDecimal preAll = new BigDecimal("0"); | ||
| 676 | - for(int i = 1; i <= 12; i++){ | ||
| 677 | - if(m.get("mon"+i).toString().length() > 0){ | ||
| 678 | - BigDecimal val = new BigDecimal(m.get("mon"+i).toString()); | ||
| 679 | - monAll = monAll.add(val); | ||
| 680 | - val = val.divide(new BigDecimal("10000"), 3, BigDecimal.ROUND_HALF_UP); | ||
| 681 | - m.put("mon"+i, val.doubleValue()); | ||
| 682 | - } | ||
| 683 | - if(m.get("pre"+i).toString().length() > 0){ | ||
| 684 | - BigDecimal val = new BigDecimal(m.get("pre"+i).toString()); | ||
| 685 | - preAll = preAll.add(val); | ||
| 686 | - val = val.divide(new BigDecimal("10000"), 3, BigDecimal.ROUND_HALF_UP); | ||
| 687 | - m.put("pre"+i, val.doubleValue()); | ||
| 688 | - if(m.get("mon"+i).toString().length() > 0){ | ||
| 689 | - BigDecimal monVal = new BigDecimal(m.get("mon"+i).toString()); | ||
| 690 | - BigDecimal sub = monVal.subtract(val); | ||
| 691 | - m.put("sub"+i, sub.doubleValue() > 0 ? "+" + sub.doubleValue() : sub.doubleValue()); | ||
| 692 | - } else { | ||
| 693 | - m.put("sub"+i, "-" + val.doubleValue()); | ||
| 694 | - } | ||
| 695 | - } | ||
| 696 | - } | ||
| 697 | - monAll = monAll.divide(new BigDecimal("10000"), 3, BigDecimal.ROUND_HALF_UP); | ||
| 698 | - preAll = preAll.divide(new BigDecimal("10000"), 3, BigDecimal.ROUND_HALF_UP); | ||
| 699 | - Double subAll = monAll.subtract(preAll).doubleValue(); | ||
| 700 | - m.put("monAll", monAll.doubleValue()); | ||
| 701 | - m.put("preAll", preAll.doubleValue()); | ||
| 702 | - m.put("subAll", subAll > 0 ? "+" + subAll : subAll); | ||
| 703 | - | ||
| 704 | - if(m.get("formal").toString().length() > 0 && m.get("monAll").toString().length() > 0 | ||
| 705 | - && new BigDecimal(m.get("formal").toString()).doubleValue() > 0d){ | ||
| 706 | - BigDecimal formal = new BigDecimal(m.get("formal").toString()); | ||
| 707 | - m.put("complete", monAll.divide( | ||
| 708 | - formal, 4, BigDecimal.ROUND_HALF_UP).multiply( | ||
| 709 | - new BigDecimal(100)).divide( | ||
| 710 | - new BigDecimal(1), 2, BigDecimal.ROUND_HALF_UP)+ "%"); | ||
| 711 | - BigDecimal diff = monAll.subtract(formal); | ||
| 712 | - m.put("diff", diff.doubleValue() > 0 ? "+" + diff.doubleValue() : diff.doubleValue()); | ||
| 713 | - } else { | ||
| 714 | - m.put("complete", ""); | ||
| 715 | - m.put("diff", ""); | ||
| 716 | - } | ||
| 717 | } | 712 | } |
| 718 | 713 | ||
| 719 | for(String key : strs){ | 714 | for(String key : strs){ |
| @@ -764,14 +759,10 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | @@ -764,14 +759,10 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | ||
| 764 | if(m.get("mon"+i).toString().length() > 0){ | 759 | if(m.get("mon"+i).toString().length() > 0){ |
| 765 | BigDecimal val = new BigDecimal(m.get("mon"+i).toString()); | 760 | BigDecimal val = new BigDecimal(m.get("mon"+i).toString()); |
| 766 | monAll = monAll.add(val); | 761 | monAll = monAll.add(val); |
| 767 | - val = val.divide(new BigDecimal("10000"), 3, BigDecimal.ROUND_HALF_UP); | ||
| 768 | - m.put("mon"+i, val.doubleValue()); | ||
| 769 | } | 762 | } |
| 770 | if(m.get("pre"+i).toString().length() > 0){ | 763 | if(m.get("pre"+i).toString().length() > 0){ |
| 771 | BigDecimal val = new BigDecimal(m.get("pre"+i).toString()); | 764 | BigDecimal val = new BigDecimal(m.get("pre"+i).toString()); |
| 772 | preAll = preAll.add(val); | 765 | preAll = preAll.add(val); |
| 773 | - val = val.divide(new BigDecimal("10000"), 3, BigDecimal.ROUND_HALF_UP); | ||
| 774 | - m.put("pre"+i, val.doubleValue()); | ||
| 775 | if(m.get("mon"+i).toString().length() > 0){ | 766 | if(m.get("mon"+i).toString().length() > 0){ |
| 776 | BigDecimal monVal = new BigDecimal(m.get("mon"+i).toString()); | 767 | BigDecimal monVal = new BigDecimal(m.get("mon"+i).toString()); |
| 777 | BigDecimal sub = monVal.subtract(val); | 768 | BigDecimal sub = monVal.subtract(val); |
| @@ -781,8 +772,6 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | @@ -781,8 +772,6 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | ||
| 781 | } | 772 | } |
| 782 | } | 773 | } |
| 783 | } | 774 | } |
| 784 | - monAll = monAll.divide(new BigDecimal("10000"), 3, BigDecimal.ROUND_HALF_UP); | ||
| 785 | - preAll = preAll.divide(new BigDecimal("10000"), 3, BigDecimal.ROUND_HALF_UP); | ||
| 786 | Double subAll = monAll.subtract(preAll).doubleValue(); | 775 | Double subAll = monAll.subtract(preAll).doubleValue(); |
| 787 | m.put("monAll", monAll.doubleValue()); | 776 | m.put("monAll", monAll.doubleValue()); |
| 788 | m.put("preAll", preAll.doubleValue()); | 777 | m.put("preAll", preAll.doubleValue()); |
| @@ -869,6 +858,7 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | @@ -869,6 +858,7 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | ||
| 869 | // TODO Auto-generated method stub | 858 | // TODO Auto-generated method stub |
| 870 | SimpleDateFormat sdfYY = new SimpleDateFormat("YYYY"); | 859 | SimpleDateFormat sdfYY = new SimpleDateFormat("YYYY"); |
| 871 | SimpleDateFormat sdfMM = new SimpleDateFormat("MM"); | 860 | SimpleDateFormat sdfMM = new SimpleDateFormat("MM"); |
| 861 | + DecimalFormat df = new DecimalFormat("0.###"); | ||
| 872 | List<Map<String, Object>> resList = new ArrayList<Map<String, Object>>(); | 862 | List<Map<String, Object>> resList = new ArrayList<Map<String, Object>>(); |
| 873 | Map<String, Map<String, Object>> keyMap = new HashMap<String, Map<String, Object>>(); | 863 | Map<String, Map<String, Object>> keyMap = new HashMap<String, Map<String, Object>>(); |
| 874 | Map<String, Boolean> lineNature = lineService.lineNature(); | 864 | Map<String, Boolean> lineNature = lineService.lineNature(); |
| @@ -911,9 +901,9 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | @@ -911,9 +901,9 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | ||
| 911 | m.put("xlName", xlName); | 901 | m.put("xlName", xlName); |
| 912 | m.put("sfyy", sfyy); | 902 | m.put("sfyy", sfyy); |
| 913 | m.put("sfjc", sfjc); | 903 | m.put("sfjc", sfjc); |
| 914 | - m.put("budget", b.getBudgetPerson()!=null?b.getBudgetPerson():""); | ||
| 915 | - m.put("change", b.getChangePerson()!=null?b.getChangePerson():""); | ||
| 916 | - m.put("formal", b.getFormalPerson()!=null?b.getFormalPerson():""); | 904 | + m.put("budget", b.getBudgetPerson()!=null?df.format(b.getBudgetPerson()):""); |
| 905 | + m.put("change", b.getChangePerson()!=null?df.format(b.getChangePerson()):""); | ||
| 906 | + m.put("formal", b.getFormalPerson()!=null?df.format(b.getFormalPerson()):""); | ||
| 917 | for(int i = 1; i <= 12; i++){ | 907 | for(int i = 1; i <= 12; i++){ |
| 918 | m.put("mon"+i, ""); | 908 | m.put("mon"+i, ""); |
| 919 | m.put("bud"+i, ""); | 909 | m.put("bud"+i, ""); |
| @@ -931,28 +921,28 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | @@ -931,28 +921,28 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | ||
| 931 | String bud = "bud" + Integer.valueOf(b.getYear().split("-")[1]); | 921 | String bud = "bud" + Integer.valueOf(b.getYear().split("-")[1]); |
| 932 | if(b.getBudgetPerson()!=null){ | 922 | if(b.getBudgetPerson()!=null){ |
| 933 | if(m.get("budget").toString().length() > 0){ | 923 | if(m.get("budget").toString().length() > 0){ |
| 934 | - m.put("budget", new BigDecimal(m.get("budget").toString()).add( | ||
| 935 | - new BigDecimal(b.getBudgetPerson())).doubleValue()); | 924 | + m.put("budget", df.format(new BigDecimal(m.get("budget").toString()).add( |
| 925 | + new BigDecimal(b.getBudgetPerson())).doubleValue())); | ||
| 936 | } else { | 926 | } else { |
| 937 | - m.put("budget", b.getBudgetPerson()); | 927 | + m.put("budget", df.format(b.getBudgetPerson())); |
| 938 | } | 928 | } |
| 939 | } | 929 | } |
| 940 | if(b.getChangePerson()!=null){ | 930 | if(b.getChangePerson()!=null){ |
| 941 | if(m.get("change").toString().length() > 0){ | 931 | if(m.get("change").toString().length() > 0){ |
| 942 | - m.put("change", new BigDecimal(m.get("change").toString()).add( | ||
| 943 | - new BigDecimal(b.getChangePerson())).doubleValue()); | 932 | + m.put("change", df.format(new BigDecimal(m.get("change").toString()).add( |
| 933 | + new BigDecimal(b.getChangePerson())).doubleValue())); | ||
| 944 | } else { | 934 | } else { |
| 945 | - m.put("change", b.getChangePerson()); | 935 | + m.put("change", df.format(b.getChangePerson())); |
| 946 | } | 936 | } |
| 947 | } | 937 | } |
| 948 | if(b.getFormalPerson()!=null){ | 938 | if(b.getFormalPerson()!=null){ |
| 949 | if(m.get("formal").toString().length() > 0){ | 939 | if(m.get("formal").toString().length() > 0){ |
| 950 | - m.put("formal", new BigDecimal(m.get("formal").toString()).add( | ||
| 951 | - new BigDecimal(b.getFormalPerson())).doubleValue()); | 940 | + m.put("formal", df.format(new BigDecimal(m.get("formal").toString()).add( |
| 941 | + new BigDecimal(b.getFormalPerson())).doubleValue())); | ||
| 952 | } else { | 942 | } else { |
| 953 | - m.put("formal", b.getFormalPerson()); | 943 | + m.put("formal", df.format(b.getFormalPerson())); |
| 954 | } | 944 | } |
| 955 | - m.put(bud, b.getFormalPerson()); | 945 | + m.put(bud, df.format(b.getFormalPerson())); |
| 956 | } | 946 | } |
| 957 | } | 947 | } |
| 958 | } | 948 | } |
| @@ -1091,7 +1081,7 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | @@ -1091,7 +1081,7 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | ||
| 1091 | } | 1081 | } |
| 1092 | if(m.get(bud).toString().length() > 0){ | 1082 | if(m.get(bud).toString().length() > 0){ |
| 1093 | if(map.get(bud).toString().length() > 0){ | 1083 | if(map.get(bud).toString().length() > 0){ |
| 1094 | - map.put(mon, new BigDecimal(m.get(bud).toString()).add( | 1084 | + map.put(bud, new BigDecimal(m.get(bud).toString()).add( |
| 1095 | new BigDecimal(map.get(bud).toString())).doubleValue()); | 1085 | new BigDecimal(map.get(bud).toString())).doubleValue()); |
| 1096 | } else { | 1086 | } else { |
| 1097 | map.put(bud, new BigDecimal(m.get(bud).toString()).doubleValue()); | 1087 | map.put(bud, new BigDecimal(m.get(bud).toString()).doubleValue()); |
| @@ -1308,6 +1298,7 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | @@ -1308,6 +1298,7 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | ||
| 1308 | // TODO Auto-generated method stub | 1298 | // TODO Auto-generated method stub |
| 1309 | SimpleDateFormat sdfYY = new SimpleDateFormat("YYYY"); | 1299 | SimpleDateFormat sdfYY = new SimpleDateFormat("YYYY"); |
| 1310 | SimpleDateFormat sdfMM = new SimpleDateFormat("MM"); | 1300 | SimpleDateFormat sdfMM = new SimpleDateFormat("MM"); |
| 1301 | + DecimalFormat df = new DecimalFormat("0.###"); | ||
| 1311 | List<Map<String, Object>> resList = new ArrayList<Map<String, Object>>(); | 1302 | List<Map<String, Object>> resList = new ArrayList<Map<String, Object>>(); |
| 1312 | Map<String, Map<String, Object>> keyMap = new HashMap<String, Map<String, Object>>(); | 1303 | Map<String, Map<String, Object>> keyMap = new HashMap<String, Map<String, Object>>(); |
| 1313 | Map<String, Boolean> lineNature = lineService.lineNature(); | 1304 | Map<String, Boolean> lineNature = lineService.lineNature(); |
| @@ -1351,9 +1342,9 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | @@ -1351,9 +1342,9 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | ||
| 1351 | m.put("xlName", xlName); | 1342 | m.put("xlName", xlName); |
| 1352 | m.put("sfyy", sfyy); | 1343 | m.put("sfyy", sfyy); |
| 1353 | m.put("sfjc", sfjc); | 1344 | m.put("sfjc", sfjc); |
| 1354 | - m.put("budget", b.getBudgetAmounts()!=null?b.getBudgetAmounts():""); | ||
| 1355 | - m.put("change", b.getChangeAmounts()!=null?b.getChangeAmounts():""); | ||
| 1356 | - m.put("formal", b.getFormalAmounts()!=null?b.getFormalAmounts():""); | 1345 | + m.put("budget", b.getBudgetAmounts()!=null?df.format(b.getBudgetAmounts()):""); |
| 1346 | + m.put("change", b.getChangeAmounts()!=null?df.format(b.getChangeAmounts()):""); | ||
| 1347 | + m.put("formal", b.getFormalAmounts()!=null?df.format(b.getFormalAmounts()):""); | ||
| 1357 | for(int i = 1; i <= 12; i++){ | 1348 | for(int i = 1; i <= 12; i++){ |
| 1358 | m.put("mon"+i, ""); | 1349 | m.put("mon"+i, ""); |
| 1359 | m.put("bud"+i, ""); | 1350 | m.put("bud"+i, ""); |
| @@ -1372,28 +1363,28 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | @@ -1372,28 +1363,28 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | ||
| 1372 | String bud = "bud" + Integer.valueOf(b.getYear().split("-")[1]); | 1363 | String bud = "bud" + Integer.valueOf(b.getYear().split("-")[1]); |
| 1373 | if(b.getBudgetAmounts()!=null){ | 1364 | if(b.getBudgetAmounts()!=null){ |
| 1374 | if(m.get("budget").toString().length() > 0){ | 1365 | if(m.get("budget").toString().length() > 0){ |
| 1375 | - m.put("budget", new BigDecimal(m.get("budget").toString()).add( | ||
| 1376 | - new BigDecimal(b.getBudgetAmounts())).doubleValue()); | 1366 | + m.put("budget", df.format(new BigDecimal(m.get("budget").toString()).add( |
| 1367 | + new BigDecimal(b.getBudgetAmounts())).doubleValue())); | ||
| 1377 | } else { | 1368 | } else { |
| 1378 | - m.put("budget", b.getBudgetAmounts()); | 1369 | + m.put("budget", df.format(b.getBudgetAmounts())); |
| 1379 | } | 1370 | } |
| 1380 | } | 1371 | } |
| 1381 | if(b.getChangeAmounts()!=null){ | 1372 | if(b.getChangeAmounts()!=null){ |
| 1382 | if(m.get("change").toString().length() > 0){ | 1373 | if(m.get("change").toString().length() > 0){ |
| 1383 | - m.put("change", new BigDecimal(m.get("change").toString()).add( | ||
| 1384 | - new BigDecimal(b.getChangeAmounts())).doubleValue()); | 1374 | + m.put("change", df.format(new BigDecimal(m.get("change").toString()).add( |
| 1375 | + new BigDecimal(b.getChangeAmounts())).doubleValue())); | ||
| 1385 | } else { | 1376 | } else { |
| 1386 | - m.put("change", b.getChangeAmounts()); | 1377 | + m.put("change", df.format(b.getChangeAmounts())); |
| 1387 | } | 1378 | } |
| 1388 | } | 1379 | } |
| 1389 | if(b.getFormalAmounts()!=null){ | 1380 | if(b.getFormalAmounts()!=null){ |
| 1390 | if(m.get("formal").toString().length() > 0){ | 1381 | if(m.get("formal").toString().length() > 0){ |
| 1391 | - m.put("formal", new BigDecimal(m.get("formal").toString()).add( | ||
| 1392 | - new BigDecimal(b.getFormalAmounts())).doubleValue()); | 1382 | + m.put("formal", df.format(new BigDecimal(m.get("formal").toString()).add( |
| 1383 | + new BigDecimal(b.getFormalAmounts())).doubleValue())); | ||
| 1393 | } else { | 1384 | } else { |
| 1394 | - m.put("formal", b.getFormalAmounts()); | 1385 | + m.put("formal", df.format(b.getFormalAmounts())); |
| 1395 | } | 1386 | } |
| 1396 | - m.put(bud, b.getFormalAmounts()); | 1387 | + m.put(bud, df.format(b.getFormalAmounts())); |
| 1397 | } | 1388 | } |
| 1398 | } | 1389 | } |
| 1399 | } | 1390 | } |
| @@ -1529,7 +1520,7 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | @@ -1529,7 +1520,7 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | ||
| 1529 | } | 1520 | } |
| 1530 | } | 1521 | } |
| 1531 | for(int i = 1; i <= 12; i++){ | 1522 | for(int i = 1; i <= 12; i++){ |
| 1532 | - String mon = "mon"+i, bud = "bud"+i; | 1523 | + String mon = "mon"+i, bud = "bud"+i, pre = "pre"+i; |
| 1533 | if(m.get(mon).toString().length() > 0){ | 1524 | if(m.get(mon).toString().length() > 0){ |
| 1534 | if(map.get(mon).toString().length() > 0){ | 1525 | if(map.get(mon).toString().length() > 0){ |
| 1535 | map.put(mon, new BigDecimal(m.get(mon).toString()).add( | 1526 | map.put(mon, new BigDecimal(m.get(mon).toString()).add( |
| @@ -1540,12 +1531,20 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | @@ -1540,12 +1531,20 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | ||
| 1540 | } | 1531 | } |
| 1541 | if(m.get(bud).toString().length() > 0){ | 1532 | if(m.get(bud).toString().length() > 0){ |
| 1542 | if(map.get(bud).toString().length() > 0){ | 1533 | if(map.get(bud).toString().length() > 0){ |
| 1543 | - map.put(mon, new BigDecimal(m.get(bud).toString()).add( | 1534 | + map.put(bud, new BigDecimal(m.get(bud).toString()).add( |
| 1544 | new BigDecimal(map.get(bud).toString())).doubleValue()); | 1535 | new BigDecimal(map.get(bud).toString())).doubleValue()); |
| 1545 | } else { | 1536 | } else { |
| 1546 | map.put(bud, new BigDecimal(m.get(bud).toString()).doubleValue()); | 1537 | map.put(bud, new BigDecimal(m.get(bud).toString()).doubleValue()); |
| 1547 | } | 1538 | } |
| 1548 | } | 1539 | } |
| 1540 | + if(m.get(pre).toString().length() > 0){ | ||
| 1541 | + if(map.get(pre).toString().length() > 0){ | ||
| 1542 | + map.put(pre, new BigDecimal(m.get(pre).toString()).add( | ||
| 1543 | + new BigDecimal(map.get(pre).toString())).doubleValue()); | ||
| 1544 | + } else { | ||
| 1545 | + map.put(pre, new BigDecimal(m.get(pre).toString()).doubleValue()); | ||
| 1546 | + } | ||
| 1547 | + } | ||
| 1549 | } | 1548 | } |
| 1550 | if(m.containsKey("num") && m.get("num").toString().length() > 0){ | 1549 | if(m.containsKey("num") && m.get("num").toString().length() > 0){ |
| 1551 | if(map.containsKey("num") && map.get("num").toString().length() > 0){ | 1550 | if(map.containsKey("num") && map.get("num").toString().length() > 0){ |
| @@ -1582,10 +1581,10 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | @@ -1582,10 +1581,10 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | ||
| 1582 | } | 1581 | } |
| 1583 | } | 1582 | } |
| 1584 | } | 1583 | } |
| 1585 | - BigDecimal monAll_ = monAll.divide(new BigDecimal("1000000"), 3, BigDecimal.ROUND_HALF_UP); | 1584 | + monAll = monAll.divide(new BigDecimal("1000000"), 3, BigDecimal.ROUND_HALF_UP); |
| 1586 | preAll = preAll.divide(new BigDecimal("1000000"), 3, BigDecimal.ROUND_HALF_UP); | 1585 | preAll = preAll.divide(new BigDecimal("1000000"), 3, BigDecimal.ROUND_HALF_UP); |
| 1587 | - Double subAll = monAll_.subtract(preAll).doubleValue(); | ||
| 1588 | - m.put("monAll", monAll_.doubleValue()); | 1586 | + Double subAll = monAll.subtract(preAll).doubleValue(); |
| 1587 | + m.put("monAll", monAll.doubleValue()); | ||
| 1589 | m.put("preAll", preAll.doubleValue()); | 1588 | m.put("preAll", preAll.doubleValue()); |
| 1590 | m.put("subAll", subAll > 0 ? "+" + subAll : subAll); | 1589 | m.put("subAll", subAll > 0 ? "+" + subAll : subAll); |
| 1591 | 1590 | ||
| @@ -1687,10 +1686,10 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | @@ -1687,10 +1686,10 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | ||
| 1687 | } | 1686 | } |
| 1688 | } | 1687 | } |
| 1689 | } | 1688 | } |
| 1690 | - BigDecimal monAll_ = monAll.divide(new BigDecimal("1000000"), 3, BigDecimal.ROUND_HALF_UP); | 1689 | + monAll = monAll.divide(new BigDecimal("1000000"), 3, BigDecimal.ROUND_HALF_UP); |
| 1691 | preAll = preAll.divide(new BigDecimal("1000000"), 3, BigDecimal.ROUND_HALF_UP); | 1690 | preAll = preAll.divide(new BigDecimal("1000000"), 3, BigDecimal.ROUND_HALF_UP); |
| 1692 | - Double subAll = monAll_.subtract(preAll).doubleValue(); | ||
| 1693 | - m.put("monAll", monAll_.doubleValue()); | 1691 | + Double subAll = monAll.subtract(preAll).doubleValue(); |
| 1692 | + m.put("monAll", monAll.doubleValue()); | ||
| 1694 | m.put("preAll", preAll.doubleValue()); | 1693 | m.put("preAll", preAll.doubleValue()); |
| 1695 | m.put("subAll", subAll > 0 ? "+" + subAll : subAll); | 1694 | m.put("subAll", subAll > 0 ? "+" + subAll : subAll); |
| 1696 | 1695 | ||
| @@ -1784,6 +1783,7 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | @@ -1784,6 +1783,7 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | ||
| 1784 | // TODO Auto-generated method stub | 1783 | // TODO Auto-generated method stub |
| 1785 | SimpleDateFormat sdfYY = new SimpleDateFormat("YYYY"); | 1784 | SimpleDateFormat sdfYY = new SimpleDateFormat("YYYY"); |
| 1786 | SimpleDateFormat sdfMM = new SimpleDateFormat("MM"); | 1785 | SimpleDateFormat sdfMM = new SimpleDateFormat("MM"); |
| 1786 | + DecimalFormat df = new DecimalFormat("0.###"); | ||
| 1787 | List<Map<String, Object>> resList = new ArrayList<Map<String, Object>>(); | 1787 | List<Map<String, Object>> resList = new ArrayList<Map<String, Object>>(); |
| 1788 | Map<String, Map<String, Object>> keyMap = new HashMap<String, Map<String, Object>>(); | 1788 | Map<String, Map<String, Object>> keyMap = new HashMap<String, Map<String, Object>>(); |
| 1789 | List<Budget> findByYear = repository.findByYear(year); | 1789 | List<Budget> findByYear = repository.findByYear(year); |
| @@ -1834,9 +1834,9 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | @@ -1834,9 +1834,9 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | ||
| 1834 | m.put("xlBm", xlBm); | 1834 | m.put("xlBm", xlBm); |
| 1835 | m.put("xlName", xlName); | 1835 | m.put("xlName", xlName); |
| 1836 | m.put("type", "公里"); | 1836 | m.put("type", "公里"); |
| 1837 | - m.put("budget", b.getBudgetMileage()!=null?b.getBudgetMileage():""); | ||
| 1838 | - m.put("change", b.getChangeMileage()!=null?b.getChangeMileage():""); | ||
| 1839 | - m.put("formal", b.getFormalMileage()!=null?b.getFormalMileage():""); | 1837 | + m.put("budget", b.getBudgetMileage()!=null?df.format(b.getBudgetMileage()):""); |
| 1838 | + m.put("change", b.getChangeMileage()!=null?df.format(b.getChangeMileage()):""); | ||
| 1839 | + m.put("formal", b.getFormalMileage()!=null?df.format(b.getFormalMileage()):""); | ||
| 1840 | for(int i = 1; i <= 12; i++){ | 1840 | for(int i = 1; i <= 12; i++){ |
| 1841 | m.put("mon"+i, ""); | 1841 | m.put("mon"+i, ""); |
| 1842 | m.put("bud"+i, ""); | 1842 | m.put("bud"+i, ""); |
| @@ -1844,7 +1844,7 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | @@ -1844,7 +1844,7 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | ||
| 1844 | } | 1844 | } |
| 1845 | String bud = "bud" + Integer.valueOf(b.getYear().split("-")[1]); | 1845 | String bud = "bud" + Integer.valueOf(b.getYear().split("-")[1]); |
| 1846 | if(b.getFormalMileage()!=null){ | 1846 | if(b.getFormalMileage()!=null){ |
| 1847 | - m.put(bud, b.getFormalMileage()); | 1847 | + m.put(bud, df.format(b.getFormalMileage())); |
| 1848 | } | 1848 | } |
| 1849 | m.put("monAll", "0"); | 1849 | m.put("monAll", "0"); |
| 1850 | xlMap.put(key1, m); | 1850 | xlMap.put(key1, m); |
| @@ -1854,28 +1854,28 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | @@ -1854,28 +1854,28 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | ||
| 1854 | String bud = "bud" + Integer.valueOf(b.getYear().split("-")[1]); | 1854 | String bud = "bud" + Integer.valueOf(b.getYear().split("-")[1]); |
| 1855 | if(b.getBudgetMileage()!=null){ | 1855 | if(b.getBudgetMileage()!=null){ |
| 1856 | if(m.get("budget").toString().length() > 0){ | 1856 | if(m.get("budget").toString().length() > 0){ |
| 1857 | - m.put("budget", new BigDecimal(m.get("budget").toString()).add( | ||
| 1858 | - new BigDecimal(b.getBudgetMileage())).doubleValue()); | 1857 | + m.put("budget", df.format(new BigDecimal(m.get("budget").toString()).add( |
| 1858 | + new BigDecimal(b.getBudgetMileage())).doubleValue())); | ||
| 1859 | } else { | 1859 | } else { |
| 1860 | - m.put("budget", b.getBudgetMileage()); | 1860 | + m.put("budget", df.format(b.getBudgetMileage())); |
| 1861 | } | 1861 | } |
| 1862 | } | 1862 | } |
| 1863 | if(b.getChangeMileage()!=null){ | 1863 | if(b.getChangeMileage()!=null){ |
| 1864 | if(m.get("change").toString().length() > 0){ | 1864 | if(m.get("change").toString().length() > 0){ |
| 1865 | - m.put("change", new BigDecimal(m.get("change").toString()).add( | ||
| 1866 | - new BigDecimal(b.getChangeMileage())).doubleValue()); | 1865 | + m.put("change", df.format(new BigDecimal(m.get("change").toString()).add( |
| 1866 | + new BigDecimal(b.getChangeMileage())).doubleValue())); | ||
| 1867 | } else { | 1867 | } else { |
| 1868 | - m.put("change", b.getChangeMileage()); | 1868 | + m.put("change", df.format(b.getChangeMileage())); |
| 1869 | } | 1869 | } |
| 1870 | } | 1870 | } |
| 1871 | if(b.getFormalMileage()!=null){ | 1871 | if(b.getFormalMileage()!=null){ |
| 1872 | if(m.get("formal").toString().length() > 0){ | 1872 | if(m.get("formal").toString().length() > 0){ |
| 1873 | - m.put("formal", new BigDecimal(m.get("formal").toString()).add( | ||
| 1874 | - new BigDecimal(b.getFormalMileage())).doubleValue()); | 1873 | + m.put("formal", df.format(new BigDecimal(m.get("formal").toString()).add( |
| 1874 | + new BigDecimal(b.getFormalMileage())).doubleValue())); | ||
| 1875 | } else { | 1875 | } else { |
| 1876 | - m.put("formal", b.getFormalMileage()); | 1876 | + m.put("formal", df.format(b.getFormalMileage())); |
| 1877 | } | 1877 | } |
| 1878 | - m.put(bud, b.getFormalMileage()); | 1878 | + m.put(bud, df.format(b.getFormalMileage())); |
| 1879 | } | 1879 | } |
| 1880 | } | 1880 | } |
| 1881 | } | 1881 | } |
| @@ -1888,9 +1888,9 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | @@ -1888,9 +1888,9 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | ||
| 1888 | m.put("xlBm", xlBm); | 1888 | m.put("xlBm", xlBm); |
| 1889 | m.put("xlName", xlName); | 1889 | m.put("xlName", xlName); |
| 1890 | m.put("type", "人次"); | 1890 | m.put("type", "人次"); |
| 1891 | - m.put("budget", b.getBudgetPerson()!=null?b.getBudgetPerson():""); | ||
| 1892 | - m.put("change", b.getChangePerson()!=null?b.getChangePerson():""); | ||
| 1893 | - m.put("formal", b.getFormalPerson()!=null?b.getFormalPerson():""); | 1891 | + m.put("budget", b.getBudgetPerson()!=null?df.format(b.getBudgetPerson()):""); |
| 1892 | + m.put("change", b.getChangePerson()!=null?df.format(b.getChangePerson()):""); | ||
| 1893 | + m.put("formal", b.getFormalPerson()!=null?df.format(b.getFormalPerson()):""); | ||
| 1894 | for(int i = 1; i <= 12; i++){ | 1894 | for(int i = 1; i <= 12; i++){ |
| 1895 | m.put("mon"+i, ""); | 1895 | m.put("mon"+i, ""); |
| 1896 | m.put("bud"+i, ""); | 1896 | m.put("bud"+i, ""); |
| @@ -1898,7 +1898,7 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | @@ -1898,7 +1898,7 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | ||
| 1898 | } | 1898 | } |
| 1899 | String bud = "bud" + Integer.valueOf(b.getYear().split("-")[1]); | 1899 | String bud = "bud" + Integer.valueOf(b.getYear().split("-")[1]); |
| 1900 | if(b.getFormalPerson()!=null){ | 1900 | if(b.getFormalPerson()!=null){ |
| 1901 | - m.put(bud, b.getFormalPerson()); | 1901 | + m.put(bud, df.format(b.getFormalPerson())); |
| 1902 | } | 1902 | } |
| 1903 | m.put("monAll", "0"); | 1903 | m.put("monAll", "0"); |
| 1904 | xlMap.put(key2, m); | 1904 | xlMap.put(key2, m); |
| @@ -1908,28 +1908,28 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | @@ -1908,28 +1908,28 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | ||
| 1908 | String bud = "bud" + Integer.valueOf(b.getYear().split("-")[1]); | 1908 | String bud = "bud" + Integer.valueOf(b.getYear().split("-")[1]); |
| 1909 | if(b.getBudgetPerson()!=null){ | 1909 | if(b.getBudgetPerson()!=null){ |
| 1910 | if(m.get("budget").toString().length() > 0){ | 1910 | if(m.get("budget").toString().length() > 0){ |
| 1911 | - m.put("budget", new BigDecimal(m.get("budget").toString()).add( | ||
| 1912 | - new BigDecimal(b.getBudgetPerson())).doubleValue()); | 1911 | + m.put("budget", df.format(new BigDecimal(m.get("budget").toString()).add( |
| 1912 | + new BigDecimal(b.getBudgetPerson())).doubleValue())); | ||
| 1913 | } else { | 1913 | } else { |
| 1914 | - m.put("budget", b.getBudgetPerson()); | 1914 | + m.put("budget", df.format(b.getBudgetPerson())); |
| 1915 | } | 1915 | } |
| 1916 | } | 1916 | } |
| 1917 | if(b.getChangePerson()!=null){ | 1917 | if(b.getChangePerson()!=null){ |
| 1918 | if(m.get("change").toString().length() > 0){ | 1918 | if(m.get("change").toString().length() > 0){ |
| 1919 | - m.put("change", new BigDecimal(m.get("change").toString()).add( | ||
| 1920 | - new BigDecimal(b.getChangePerson())).doubleValue()); | 1919 | + m.put("change", df.format(new BigDecimal(m.get("change").toString()).add( |
| 1920 | + new BigDecimal(b.getChangePerson())).doubleValue())); | ||
| 1921 | } else { | 1921 | } else { |
| 1922 | - m.put("change", b.getChangePerson()); | 1922 | + m.put("change", df.format(b.getChangePerson())); |
| 1923 | } | 1923 | } |
| 1924 | } | 1924 | } |
| 1925 | if(b.getFormalPerson()!=null){ | 1925 | if(b.getFormalPerson()!=null){ |
| 1926 | if(m.get("formal").toString().length() > 0){ | 1926 | if(m.get("formal").toString().length() > 0){ |
| 1927 | - m.put("formal", new BigDecimal(m.get("formal").toString()).add( | ||
| 1928 | - new BigDecimal(b.getFormalPerson())).doubleValue()); | 1927 | + m.put("formal", df.format(new BigDecimal(m.get("formal").toString()).add( |
| 1928 | + new BigDecimal(b.getFormalPerson())).doubleValue())); | ||
| 1929 | } else { | 1929 | } else { |
| 1930 | - m.put("formal", b.getFormalPerson()); | 1930 | + m.put("formal", df.format(b.getFormalPerson())); |
| 1931 | } | 1931 | } |
| 1932 | - m.put(bud, b.getFormalPerson()); | 1932 | + m.put(bud, df.format(b.getFormalPerson())); |
| 1933 | } | 1933 | } |
| 1934 | } | 1934 | } |
| 1935 | } | 1935 | } |
| @@ -1942,9 +1942,9 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | @@ -1942,9 +1942,9 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | ||
| 1942 | m.put("xlBm", xlBm); | 1942 | m.put("xlBm", xlBm); |
| 1943 | m.put("xlName", xlName); | 1943 | m.put("xlName", xlName); |
| 1944 | m.put("type", "营收"); | 1944 | m.put("type", "营收"); |
| 1945 | - m.put("budget", b.getBudgetAmounts()!=null?b.getBudgetAmounts():""); | ||
| 1946 | - m.put("change", b.getChangeAmounts()!=null?b.getChangeAmounts():""); | ||
| 1947 | - m.put("formal", b.getFormalAmounts()!=null?b.getFormalAmounts():""); | 1945 | + m.put("budget", b.getBudgetAmounts()!=null?df.format(b.getBudgetAmounts()):""); |
| 1946 | + m.put("change", b.getChangeAmounts()!=null?df.format(b.getChangeAmounts()):""); | ||
| 1947 | + m.put("formal", b.getFormalAmounts()!=null?df.format(b.getFormalAmounts()):""); | ||
| 1948 | for(int i = 1; i <= 12; i++){ | 1948 | for(int i = 1; i <= 12; i++){ |
| 1949 | m.put("mon"+i, ""); | 1949 | m.put("mon"+i, ""); |
| 1950 | m.put("bud"+i, ""); | 1950 | m.put("bud"+i, ""); |
| @@ -1952,7 +1952,7 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | @@ -1952,7 +1952,7 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | ||
| 1952 | } | 1952 | } |
| 1953 | String bud = "bud" + Integer.valueOf(b.getYear().split("-")[1]); | 1953 | String bud = "bud" + Integer.valueOf(b.getYear().split("-")[1]); |
| 1954 | if(b.getFormalAmounts()!=null){ | 1954 | if(b.getFormalAmounts()!=null){ |
| 1955 | - m.put(bud, b.getFormalAmounts()); | 1955 | + m.put(bud, df.format(b.getFormalAmounts())); |
| 1956 | } | 1956 | } |
| 1957 | m.put("monAll", "0"); | 1957 | m.put("monAll", "0"); |
| 1958 | xlMap.put(key3, m); | 1958 | xlMap.put(key3, m); |
| @@ -1962,28 +1962,28 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | @@ -1962,28 +1962,28 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | ||
| 1962 | String bud = "bud" + Integer.valueOf(b.getYear().split("-")[1]); | 1962 | String bud = "bud" + Integer.valueOf(b.getYear().split("-")[1]); |
| 1963 | if(b.getBudgetAmounts()!=null){ | 1963 | if(b.getBudgetAmounts()!=null){ |
| 1964 | if(m.get("budget").toString().length() > 0){ | 1964 | if(m.get("budget").toString().length() > 0){ |
| 1965 | - m.put("budget", new BigDecimal(m.get("budget").toString()).add( | ||
| 1966 | - new BigDecimal(b.getBudgetAmounts())).doubleValue()); | 1965 | + m.put("budget", df.format(new BigDecimal(m.get("budget").toString()).add( |
| 1966 | + new BigDecimal(b.getBudgetAmounts())).doubleValue())); | ||
| 1967 | } else { | 1967 | } else { |
| 1968 | - m.put("budget", b.getBudgetAmounts()); | 1968 | + m.put("budget", df.format(b.getBudgetAmounts())); |
| 1969 | } | 1969 | } |
| 1970 | } | 1970 | } |
| 1971 | if(b.getChangeAmounts()!=null){ | 1971 | if(b.getChangeAmounts()!=null){ |
| 1972 | if(m.get("change").toString().length() > 0){ | 1972 | if(m.get("change").toString().length() > 0){ |
| 1973 | - m.put("change", new BigDecimal(m.get("change").toString()).add( | ||
| 1974 | - new BigDecimal(b.getChangeAmounts())).doubleValue()); | 1973 | + m.put("change", df.format(new BigDecimal(m.get("change").toString()).add( |
| 1974 | + new BigDecimal(b.getChangeAmounts())).doubleValue())); | ||
| 1975 | } else { | 1975 | } else { |
| 1976 | - m.put("change", b.getChangeAmounts()); | 1976 | + m.put("change", df.format(b.getChangeAmounts())); |
| 1977 | } | 1977 | } |
| 1978 | } | 1978 | } |
| 1979 | if(b.getFormalAmounts()!=null){ | 1979 | if(b.getFormalAmounts()!=null){ |
| 1980 | if(m.get("formal").toString().length() > 0){ | 1980 | if(m.get("formal").toString().length() > 0){ |
| 1981 | - m.put("formal", new BigDecimal(m.get("formal").toString()).add( | ||
| 1982 | - new BigDecimal(b.getFormalAmounts())).doubleValue()); | 1981 | + m.put("formal", df.format(new BigDecimal(m.get("formal").toString()).add( |
| 1982 | + new BigDecimal(b.getFormalAmounts())).doubleValue())); | ||
| 1983 | } else { | 1983 | } else { |
| 1984 | - m.put("formal", b.getFormalAmounts()); | 1984 | + m.put("formal", df.format(b.getFormalAmounts())); |
| 1985 | } | 1985 | } |
| 1986 | - m.put(bud, b.getFormalAmounts()); | 1986 | + m.put(bud, df.format(b.getFormalAmounts())); |
| 1987 | } | 1987 | } |
| 1988 | } | 1988 | } |
| 1989 | } | 1989 | } |
| @@ -2298,7 +2298,7 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | @@ -2298,7 +2298,7 @@ public class BudgetServiceImpl extends BaseServiceImpl<Budget, Integer> implemen | ||
| 2298 | } | 2298 | } |
| 2299 | if(m.get(bud).toString().length() > 0){ | 2299 | if(m.get(bud).toString().length() > 0){ |
| 2300 | if(map.get(bud).toString().length() > 0){ | 2300 | if(map.get(bud).toString().length() > 0){ |
| 2301 | - map.put(mon, new BigDecimal(m.get(bud).toString()).add( | 2301 | + map.put(bud, new BigDecimal(m.get(bud).toString()).add( |
| 2302 | new BigDecimal(map.get(bud).toString())).doubleValue()); | 2302 | new BigDecimal(map.get(bud).toString())).doubleValue()); |
| 2303 | } else { | 2303 | } else { |
| 2304 | map.put(bud, new BigDecimal(m.get(bud).toString()).doubleValue()); | 2304 | map.put(bud, new BigDecimal(m.get(bud).toString()).doubleValue()); |
src/main/java/com/bsth/service/forms/impl/RevenueLoader.java
| @@ -40,13 +40,13 @@ public class RevenueLoader { | @@ -40,13 +40,13 @@ public class RevenueLoader { | ||
| 40 | */ | 40 | */ |
| 41 | public static List<Map<String, Object>> load(String date, String gsBm){ | 41 | public static List<Map<String, Object>> load(String date, String gsBm){ |
| 42 | try { | 42 | try { |
| 43 | - url = ConfigUtil.get("http.ticketing.interface") + "?txnType=getLineRevenue&busiDate="+date+"&companyCode="+gsBm; | 43 | + url = ConfigUtil.get("http.ticketing.interface") + "?revenueFlag=1&txnType=getLineRevenue&busiDate="+date+"&companyCode="+gsBm; |
| 44 | list = new ArrayList<>(); | 44 | list = new ArrayList<>(); |
| 45 | httpClient = HttpClients.createDefault(); | 45 | httpClient = HttpClients.createDefault(); |
| 46 | get = new HttpGet(url); | 46 | get = new HttpGet(url); |
| 47 | requestConfig = RequestConfig.custom() | 47 | requestConfig = RequestConfig.custom() |
| 48 | - .setConnectTimeout(2500).setConnectionRequestTimeout(2000) | ||
| 49 | - .setSocketTimeout(2500).build(); | 48 | + .setConnectTimeout(10000).setConnectionRequestTimeout(10000) |
| 49 | + .setSocketTimeout(60000).build(); | ||
| 50 | get.setConfig(requestConfig); | 50 | get.setConfig(requestConfig); |
| 51 | if(list.size() > 0) | 51 | if(list.size() > 0) |
| 52 | list.clear(); | 52 | list.clear(); |
src/main/java/com/bsth/service/impl/InoutCarparkServiceImpl.java
0 → 100644
| 1 | +package com.bsth.service.impl; | ||
| 2 | + | ||
| 3 | +import com.alibaba.fastjson.JSONArray; | ||
| 4 | +import com.bsth.common.ResponseCode; | ||
| 5 | +import com.bsth.data.BasicData; | ||
| 6 | +import com.bsth.entity.*; | ||
| 7 | +import com.bsth.entity.realcontrol.ScheduleRealInfo; | ||
| 8 | +import com.bsth.repository.*; | ||
| 9 | +import com.bsth.repository.realcontrol.ScheduleRealInfoRepository; | ||
| 10 | +import com.bsth.service.InoutCarparkService; | ||
| 11 | +import com.bsth.service.gps.GpsService; | ||
| 12 | +import com.bsth.util.TransGPS; | ||
| 13 | +import com.fasterxml.jackson.core.JsonProcessingException; | ||
| 14 | +import com.fasterxml.jackson.databind.ObjectMapper; | ||
| 15 | +import org.joda.time.DateTime; | ||
| 16 | +import org.joda.time.format.DateTimeFormat; | ||
| 17 | +import org.joda.time.format.DateTimeFormatter; | ||
| 18 | +import org.slf4j.Logger; | ||
| 19 | +import org.slf4j.LoggerFactory; | ||
| 20 | +import org.springframework.beans.factory.annotation.Autowired; | ||
| 21 | +import org.springframework.stereotype.Service; | ||
| 22 | +import org.springframework.transaction.annotation.Transactional; | ||
| 23 | + | ||
| 24 | +import javax.persistence.EntityManager; | ||
| 25 | +import java.text.SimpleDateFormat; | ||
| 26 | +import java.util.*; | ||
| 27 | + | ||
| 28 | +/** | ||
| 29 | + * @author Hill | ||
| 30 | + */ | ||
| 31 | +@Service | ||
| 32 | +public class InoutCarparkServiceImpl extends BaseServiceImpl<LsInoutSectionRoute, Long> implements InoutCarparkService { | ||
| 33 | + | ||
| 34 | + private final static Logger logger = LoggerFactory.getLogger(InoutCarparkServiceImpl.class); | ||
| 35 | + | ||
| 36 | + @Autowired | ||
| 37 | + private LsStationRouteRepository lsStationRouteRepository; | ||
| 38 | + | ||
| 39 | + @Autowired | ||
| 40 | + private CarParkRepository carParkRepository; | ||
| 41 | + | ||
| 42 | + @Autowired | ||
| 43 | + private LsInoutSectionRouteRepository lsInoutSectionRouteRepository; | ||
| 44 | + | ||
| 45 | + @Autowired | ||
| 46 | + private SectionRepository sectionRepository; | ||
| 47 | + | ||
| 48 | + @Autowired | ||
| 49 | + LineRepository lineRepository; | ||
| 50 | + | ||
| 51 | + @Autowired | ||
| 52 | + private ScheduleRealInfoRepository scheduleRealInfoRepository; | ||
| 53 | + | ||
| 54 | + @Autowired | ||
| 55 | + private GpsService gpsService; | ||
| 56 | + | ||
| 57 | + @Override | ||
| 58 | + public Map<String, Object> getStartEndByLine(int lineId, int version) { | ||
| 59 | + Map<String, Object> result = new HashMap<>(), data = new HashMap<>(); | ||
| 60 | + result.put("code", 0); | ||
| 61 | + result.put("msg", ""); | ||
| 62 | + result.put("data", data); | ||
| 63 | + | ||
| 64 | + List<LsStationRoute> upRoutes = lsStationRouteRepository.findByLineVersion(lineId, version, 0), downRoutes = lsStationRouteRepository.findByLineVersion(lineId, version, 1); | ||
| 65 | + CarPark carPark = carParkRepository.findByLineId(lineId); | ||
| 66 | + if (carPark == null) { | ||
| 67 | + result.put("code", 500); | ||
| 68 | + result.put("msg", "线路标准信息中无相应的停车场信息"); | ||
| 69 | + | ||
| 70 | + return result; | ||
| 71 | + } | ||
| 72 | + if (upRoutes.size() < 2) { | ||
| 73 | + result.put("code", 500); | ||
| 74 | + result.put("msg", "线路上行站级少于2"); | ||
| 75 | + | ||
| 76 | + return result; | ||
| 77 | + } | ||
| 78 | + LsStationRoute upFirst = upRoutes.get(0), upLast = upRoutes.get(upRoutes.size() - 1); | ||
| 79 | + LsStationRoute downFirst = downRoutes.get(0), downLast = downRoutes.get(downRoutes.size() - 1); | ||
| 80 | + // 环线或双环线只需提取一个起点站 | ||
| 81 | + if (upFirst.getStationCode().equals(upLast.getStationCode())) { | ||
| 82 | + data.put("start", new LsStationRoute[]{ upFirst }); | ||
| 83 | + data.put("end", new LsStationRoute[]{ upFirst }); | ||
| 84 | + } else { | ||
| 85 | + if (downRoutes.size() < 2) { | ||
| 86 | + result.put("code", 500); | ||
| 87 | + result.put("msg", "非环线线路下行站级少于2"); | ||
| 88 | + | ||
| 89 | + return result; | ||
| 90 | + } | ||
| 91 | + data.put("start", new LsStationRoute[]{ upFirst, downFirst }); | ||
| 92 | + data.put("end", new LsStationRoute[]{ upLast, downLast }); | ||
| 93 | + } | ||
| 94 | + data.put("carpark", carPark); | ||
| 95 | + | ||
| 96 | + return result; | ||
| 97 | + } | ||
| 98 | + | ||
| 99 | + @Override | ||
| 100 | + public Map<String, Object> getRouteByStartEnd(int lineId, int version, String start, String end) { | ||
| 101 | + Map<String, Object> result = new HashMap<>(), data = new HashMap<>(); | ||
| 102 | + result.put("code", 0); | ||
| 103 | + result.put("msg", ""); | ||
| 104 | + result.put("data", data); | ||
| 105 | + data.put("routes", lsInoutSectionRouteRepository.getRouteByStartEnd(lineId, version, start, end)); | ||
| 106 | + | ||
| 107 | + return result; | ||
| 108 | + } | ||
| 109 | + | ||
| 110 | + /** | ||
| 111 | + * 新增路段信息 | ||
| 112 | + * | ||
| 113 | + * @param map:<bsectionVector:折线百度坐标集合;dbType:圆坐标类型;descriptions:描述与说明;destroy:是否撤销;directions:方向;lineId:线路ID | ||
| 114 | + * | ||
| 115 | + * lineCode :线路编码;roadCoding:道路编码;sectionCode:路段编码;sectionDistance:路段长度;sectionName:路段名称;sectionTime:路段时长; | ||
| 116 | + * | ||
| 117 | + * sectionrouteCode:路段序号;speedLimit:路段限速> | ||
| 118 | + * | ||
| 119 | + * @return map<SUCCESS:成功;ERROR:异常> | ||
| 120 | + */ | ||
| 121 | + @Override | ||
| 122 | + @Transactional | ||
| 123 | + public Map<String, Object> sectionSave(Map<String, Object> map) { | ||
| 124 | + Map<String, Object> resultMap = new HashMap<String, Object>(); | ||
| 125 | + try { | ||
| 126 | + // 线路ID. | ||
| 127 | + Integer lineId = map.get("lineId").equals("") ? null : Integer.valueOf(map.get("lineId").toString()); | ||
| 128 | + // 线路编码. | ||
| 129 | + String lineCode = map.get("lineCode").equals("") ? "" : map.get("lineCode").toString(); | ||
| 130 | + // 路段名称. | ||
| 131 | + String sectionName = map.get("sectionName").equals("") ? "" : map.get("sectionName").toString(); | ||
| 132 | + // 路段编码. | ||
| 133 | + String sectionCode = map.get("sectionCode").equals("") ? "" : map.get("sectionCode").toString(); | ||
| 134 | + // 道路编码. | ||
| 135 | + String roadCoding = map.get("roadCoding").equals("") ? "" : map.get("roadCoding").toString(); | ||
| 136 | + // 原始坐标类型. | ||
| 137 | + String dbType = map.get("dbType").equals("") ? "" :map.get("dbType").toString(); | ||
| 138 | + // 路段几何图形坐标. | ||
| 139 | + String sectionJSON = map.get("bsectionVector").equals("") ? "" : map.get("bsectionVector").toString(); | ||
| 140 | + // 路段序号 | ||
| 141 | + String sectionrouteCode = map.get("sectionrouteCode").equals("") ? "" : map.get("sectionrouteCode").toString(); | ||
| 142 | + // 路段时长. | ||
| 143 | + Double sectionTime = map.get("sectionTime").equals("") ? 0.0d : Double.valueOf(map.get("sectionTime").toString()); | ||
| 144 | + // 路段距离. | ||
| 145 | + Double sectionDistance = map.get("sectionDistance").equals("") ? 0.0d : Double.valueOf(map.get("sectionDistance").toString()); | ||
| 146 | + // 路段限速. | ||
| 147 | + Double speedLimit = map.get("speedLimit").equals("") ? 0.0d : Double.valueOf(map.get("speedLimit").toString()); | ||
| 148 | + // 版本. | ||
| 149 | + Integer versions = map.get("versions").equals("") ? 1 : Integer.valueOf(map.get("versions").toString()); | ||
| 150 | + // 是否撤销. | ||
| 151 | + Integer destroy = map.get("destroy").equals("") ? 0 : Integer.valueOf(map.get("destroy").toString()); | ||
| 152 | + // 路段方向. | ||
| 153 | + Integer directions = map.get("directions").equals("") ? 0 : Integer.valueOf(map.get("directions").toString()); | ||
| 154 | + // 描述与说明. | ||
| 155 | + String descriptions = map.get("descriptions").equals("")? "" : map.get("descriptions").toString(); | ||
| 156 | + // 起始 | ||
| 157 | + String start = map.get("start").equals("")? "" : map.get("start").toString(); | ||
| 158 | + // 结束 | ||
| 159 | + String end = map.get("end").equals("")? "" : map.get("end").toString(); | ||
| 160 | + // 原始线状图形坐标集合 | ||
| 161 | + String sectionsBpoints = ""; | ||
| 162 | + // WGS线状图形坐标集合 | ||
| 163 | + String sectionsWJPpoints = ""; | ||
| 164 | + if(!sectionJSON.equals("")) { | ||
| 165 | + // 转换成JSON数组 | ||
| 166 | + JSONArray sectionsArray = JSONArray.parseArray(sectionJSON); | ||
| 167 | + // 遍历 | ||
| 168 | + for(int s = 0 ;s<sectionsArray.size();s++) { | ||
| 169 | + String pointsLngStr = sectionsArray.getJSONObject(s).get("lng").toString(); | ||
| 170 | + String pointsLatStr = sectionsArray.getJSONObject(s).get("lat").toString(); | ||
| 171 | + String WGSLngStr = ""; | ||
| 172 | + String WGSLatStr = ""; | ||
| 173 | + TransGPS.Location resultPoint = FromBDPointToWGSPoint(pointsLngStr,pointsLatStr); | ||
| 174 | + WGSLngStr = String.valueOf(resultPoint.getLng()); | ||
| 175 | + WGSLatStr = String.valueOf(resultPoint.getLat()); | ||
| 176 | + if(s==0) { | ||
| 177 | + sectionsBpoints = pointsLngStr + " " + pointsLatStr; | ||
| 178 | + sectionsWJPpoints = WGSLngStr + " " + WGSLatStr; | ||
| 179 | + }else { | ||
| 180 | + sectionsBpoints = sectionsBpoints + "," + pointsLngStr + " " + pointsLatStr; | ||
| 181 | + sectionsWJPpoints = sectionsWJPpoints + "," + WGSLngStr + " " + WGSLatStr; | ||
| 182 | + } | ||
| 183 | + } | ||
| 184 | + } | ||
| 185 | + // WGS坐标点集合 | ||
| 186 | + String gsectionVector = "LINESTRING(" + sectionsWJPpoints +")"; | ||
| 187 | + // 原坐标点集合 | ||
| 188 | + String bsectionVector = "LINESTRING(" + sectionsBpoints + ")"; | ||
| 189 | + String crosesRoad=""; | ||
| 190 | + String endNode =""; | ||
| 191 | + String startNode=""; | ||
| 192 | + String middleNode=""; | ||
| 193 | + String sectionType=""; | ||
| 194 | + String csectionVector=null; | ||
| 195 | + Integer id = Integer.valueOf(sectionCode); | ||
| 196 | + sectionRepository.systemSave(sectionCode, sectionName, crosesRoad, endNode, startNode, middleNode, gsectionVector, bsectionVector, sectionType, csectionVector, roadCoding, sectionDistance, sectionTime, dbType, speedLimit, descriptions, versions, id); | ||
| 197 | + Section section = sectionRepository.findById(id).get(); | ||
| 198 | + | ||
| 199 | + Line line = lineRepository.findById(lineId).get(); | ||
| 200 | + | ||
| 201 | + | ||
| 202 | + if (map.get("status") == null || Integer.parseInt(map.get("status").toString()) != 0) { | ||
| 203 | + | ||
| 204 | + LsInoutSectionRoute sectionRoute = new LsInoutSectionRoute(); | ||
| 205 | + Integer routeCode = null; | ||
| 206 | + if(!sectionrouteCode.equals("")){ | ||
| 207 | + String sectionrouteCodeArray[] = sectionrouteCode.split("_"); | ||
| 208 | + routeCode = Integer.valueOf(sectionrouteCodeArray[0])+1; | ||
| 209 | + }else { | ||
| 210 | + routeCode = 1; | ||
| 211 | + } | ||
| 212 | + sectionRoute.setSectionrouteCode(routeCode); | ||
| 213 | + sectionRoute.setLineCode(lineCode); | ||
| 214 | + sectionRoute.setSection(section); | ||
| 215 | + sectionRoute.setSectionCode(sectionCode); | ||
| 216 | + sectionRoute.setDirections(directions); | ||
| 217 | + sectionRoute.setDescriptions(descriptions); | ||
| 218 | + sectionRoute.setDestroy(destroy); | ||
| 219 | + sectionRoute.setVersions(versions); | ||
| 220 | + sectionRoute.setLine(line); | ||
| 221 | + sectionRoute.setStart(start); | ||
| 222 | + sectionRoute.setEnd(end); | ||
| 223 | + lsInoutSectionRouteRepository.save(sectionRoute); | ||
| 224 | + } | ||
| 225 | + | ||
| 226 | + | ||
| 227 | + resultMap.put("status", ResponseCode.SUCCESS); | ||
| 228 | + } catch (Exception e) { | ||
| 229 | + resultMap.put("status", ResponseCode.ERROR); | ||
| 230 | + logger.error("save erro.", e); | ||
| 231 | + } | ||
| 232 | + return resultMap; | ||
| 233 | + } | ||
| 234 | + | ||
| 235 | + /** 百度坐标转WGS坐标 */ | ||
| 236 | + public TransGPS.Location FromBDPointToWGSPoint(String bLonx, String bLatx) { | ||
| 237 | + | ||
| 238 | + double lng = Double.parseDouble(bLonx); | ||
| 239 | + | ||
| 240 | + double lat = Double.parseDouble(bLatx); | ||
| 241 | + | ||
| 242 | + TransGPS.Location bdLoc = TransGPS.LocationMake(lng, lat); | ||
| 243 | + | ||
| 244 | + TransGPS.Location location = TransGPS.bd_decrypt(bdLoc); | ||
| 245 | + | ||
| 246 | + TransGPS.Location WGSPoint = TransGPS.transformFromGCJToWGS(location); | ||
| 247 | + | ||
| 248 | + return WGSPoint; | ||
| 249 | + | ||
| 250 | + } | ||
| 251 | + | ||
| 252 | + /** | ||
| 253 | + * @Description :TODO(编辑线路走向) | ||
| 254 | + * | ||
| 255 | + * @param map <sectionId:路段ID; sectionJSON:路段信息> | ||
| 256 | + * | ||
| 257 | + * @return Map<String, Object> <SUCCESS ; ERROR> | ||
| 258 | + */ | ||
| 259 | + @Override | ||
| 260 | + @Transactional | ||
| 261 | + public Map<String, Object> sectionUpdate(Map<String, Object> map) { | ||
| 262 | + Map<String, Object> resultMap = new HashMap<String, Object>(); | ||
| 263 | + try { | ||
| 264 | + String bsectionVector = map.get("bsectionVector").equals("") ? "" :map.get("bsectionVector").toString(); | ||
| 265 | + // 原始线状图形坐标集合 | ||
| 266 | + String sectionsBpoints = ""; | ||
| 267 | + // WGS线状图形坐标集合 | ||
| 268 | + String sectionsWJPpoints = ""; | ||
| 269 | + if(!bsectionVector.equals("")) { | ||
| 270 | + // 转换成JSON数组 | ||
| 271 | + JSONArray sectionsArray = JSONArray.parseArray(bsectionVector); | ||
| 272 | + // 遍历 | ||
| 273 | + for(int s = 0 ;s<sectionsArray.size();s++) { | ||
| 274 | + String pointsLngStr = sectionsArray.getJSONObject(s).get("lng").toString(); | ||
| 275 | + String pointsLatStr = sectionsArray.getJSONObject(s).get("lat").toString(); | ||
| 276 | + /** to WGS坐标 */ | ||
| 277 | + TransGPS.Location resultPoint = FromBDPointToWGSPoint(pointsLngStr,pointsLatStr); | ||
| 278 | + String WGSLngStr = String.valueOf(resultPoint.getLng()); | ||
| 279 | + String WGSLatStr = String.valueOf(resultPoint.getLat()); | ||
| 280 | + if(s==0) { | ||
| 281 | + sectionsBpoints = pointsLngStr + " " + pointsLatStr; | ||
| 282 | + sectionsWJPpoints = WGSLngStr + " " + WGSLatStr; | ||
| 283 | + }else { | ||
| 284 | + sectionsBpoints = sectionsBpoints + "," + pointsLngStr + " " + pointsLatStr; | ||
| 285 | + sectionsWJPpoints = sectionsWJPpoints + "," + WGSLngStr + " " + WGSLatStr; | ||
| 286 | + } | ||
| 287 | + } | ||
| 288 | + } | ||
| 289 | + // 原坐标类型 | ||
| 290 | + String dbType = map.get("dbType").equals("") ? "" : map.get("dbType").toString(); | ||
| 291 | + // 说明 | ||
| 292 | + String descriptions = ""; | ||
| 293 | + // 是否撤销 | ||
| 294 | + Integer destroy = map.get("destroy").equals("") ? null : Integer.parseInt(map.get("destroy").toString()); | ||
| 295 | + // 方向 | ||
| 296 | + Integer directions = map.get("directions").equals("") ? null : Integer.parseInt(map.get("directions").toString()); | ||
| 297 | + // 线路ID | ||
| 298 | + Integer sectionRouteLine = map.get("sectionRouteLine").equals("") ? null : Integer.parseInt(map.get("sectionRouteLine").toString()); | ||
| 299 | + // 道路编码 | ||
| 300 | + String roadCoding = map.get("roadCoding").equals("") ? "" : map.get("roadCoding").toString(); | ||
| 301 | + // 路段编码 | ||
| 302 | + String sectionCode = map.get("sectionCode").equals("") ? "" : map.get("sectionCode").toString(); | ||
| 303 | + // 路段长度 | ||
| 304 | + Double sectionDistance = map.get("sectionDistance").equals("") ? null : Double.valueOf(map.get("sectionDistance").toString()); | ||
| 305 | + // 路段ID | ||
| 306 | + Integer sectionId = map.get("sectionId").equals("") ? 0 : Integer.parseInt(map.get("sectionId").toString()); | ||
| 307 | + // 路段名称 | ||
| 308 | + String sectionName = map.get("sectionName").equals("") ? "" : map.get("sectionName").toString(); | ||
| 309 | + // 路段路由Id | ||
| 310 | + Long sectionRouteId = map.get("sectionRouteId").equals("") ? null : Long.valueOf(map.get("sectionRouteId").toString()); | ||
| 311 | + // 线路编码 | ||
| 312 | + String lineCode =map.get("lineCode").equals("") ? "" : map.get("lineCode").toString(); | ||
| 313 | + // 路段时长 | ||
| 314 | + Double sectionTime = map.get("sectionTime").equals("") ? null : Double.valueOf(map.get("sectionTime").toString()); | ||
| 315 | + // 路段路由 | ||
| 316 | + Integer sectionrouteCode = "".equals(map.get("sectionrouteCode")) ? null : Integer.valueOf(map.get("sectionrouteCode").toString()); | ||
| 317 | + // 限速 | ||
| 318 | + Double speedLimit = map.get("speedLimit").equals("") ? null : Double.valueOf(map.get("speedLimit").toString()); | ||
| 319 | + // 版本 | ||
| 320 | + Integer version = map.get("versions").equals("") ? null : Integer.valueOf(map.get("versions").toString()); | ||
| 321 | + // 起始 | ||
| 322 | + String start = map.get("start").equals("")? "" : map.get("start").toString(); | ||
| 323 | + // 结束 | ||
| 324 | + String end = map.get("end").equals("")? "" : map.get("end").toString(); | ||
| 325 | + // WGS坐标点集合 | ||
| 326 | + String gsectionVector = null; | ||
| 327 | + if(!sectionsWJPpoints.equals("")) { | ||
| 328 | + gsectionVector = "LINESTRING(" + sectionsWJPpoints +")"; | ||
| 329 | + } | ||
| 330 | + // 原坐标点集合 | ||
| 331 | + String bsectionVectorS = null; | ||
| 332 | + if(!sectionsBpoints.equals("")) { | ||
| 333 | + bsectionVectorS = "LINESTRING(" + sectionsBpoints + ")"; | ||
| 334 | + } | ||
| 335 | + Integer createBy = map.get("createBy").equals("") ? null : Integer.valueOf(map.get("createBy").toString()); | ||
| 336 | + String createDate = map.get("createDate").equals("") ? null : map.get("createDate").toString(); | ||
| 337 | + Integer updateBy = map.get("updateBy").equals("") ?null : Integer.valueOf(map.get("updateBy").toString()); | ||
| 338 | + SimpleDateFormat formatter = new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss"); | ||
| 339 | + Date date = new Date(); | ||
| 340 | + // 修改日期 | ||
| 341 | + String updateDate = formatter.format(date); | ||
| 342 | + String crosesRoad=""; | ||
| 343 | + String endNode=""; | ||
| 344 | + String startNode=""; | ||
| 345 | + String middleNode=""; | ||
| 346 | + String sectionType=""; | ||
| 347 | + // 更新 | ||
| 348 | + sectionRepository.sectionUpdate(sectionId, gsectionVector, bsectionVectorS, sectionCode, sectionName, crosesRoad, endNode, startNode, middleNode, sectionType, roadCoding, sectionDistance, sectionTime, dbType, speedLimit, descriptions, version, createBy, createDate, updateBy, updateDate); | ||
| 349 | + | ||
| 350 | + Line line = lineRepository.findById(sectionRouteLine).get(); | ||
| 351 | + Section section = sectionRepository.findById(sectionId).get(); | ||
| 352 | + | ||
| 353 | + if(map.get("status") == null || Integer.parseInt(map.get("status").toString()) != 0) { | ||
| 354 | + | ||
| 355 | + LsInoutSectionRoute resultS = lsInoutSectionRouteRepository.findById(sectionRouteId).get(); | ||
| 356 | + int old_code = resultS.getSectionrouteCode(); | ||
| 357 | + // 是否修改路段序号标记 | ||
| 358 | + boolean type = false; | ||
| 359 | + if(sectionrouteCode!=null) { | ||
| 360 | + if(++sectionrouteCode == old_code) { | ||
| 361 | + type = true; | ||
| 362 | + } | ||
| 363 | + // 默认是最前面路段 | ||
| 364 | + }else { | ||
| 365 | + sectionrouteCode = 1; | ||
| 366 | + } | ||
| 367 | + if(!type) | ||
| 368 | + lsInoutSectionRouteRepository.sectionUpdSectionRouteCode(lineCode, version, start, end,sectionrouteCode); | ||
| 369 | + LsInoutSectionRoute route = new LsInoutSectionRoute(); | ||
| 370 | + route.setId(sectionRouteId); | ||
| 371 | + route.setSectionrouteCode(sectionrouteCode); | ||
| 372 | + route.setLineCode(lineCode); | ||
| 373 | + route.setSectionCode(sectionCode); | ||
| 374 | + route.setDirections(directions); | ||
| 375 | + route.setVersions(version); | ||
| 376 | + route.setDestroy(destroy); | ||
| 377 | + route.setCreateBy(createBy); | ||
| 378 | + route.setUpdateBy(updateBy); | ||
| 379 | + route.setSection(section); | ||
| 380 | + route.setLine(line); | ||
| 381 | + route.setStart(start); | ||
| 382 | + route.setEnd(end); | ||
| 383 | + lsInoutSectionRouteRepository.save(route); | ||
| 384 | + } | ||
| 385 | + resultMap.put("status", ResponseCode.SUCCESS); | ||
| 386 | + } catch (Exception e) { | ||
| 387 | + resultMap.put("status", ResponseCode.ERROR); | ||
| 388 | + logger.error("save erro.", e); | ||
| 389 | + } | ||
| 390 | + return resultMap; | ||
| 391 | + } | ||
| 392 | + | ||
| 393 | + @Override | ||
| 394 | + public Map<String, Object> destroy(Map<String, Object> map) { | ||
| 395 | + Map<String, Object> resultMap = new HashMap<String, Object>(); | ||
| 396 | + try { | ||
| 397 | + long id = Long.parseLong(map.get("id").toString()); | ||
| 398 | + | ||
| 399 | + if(map.get("status") == null || Integer.parseInt(map.get("status").toString()) != 0) { | ||
| 400 | + lsInoutSectionRouteRepository.deleteById(id); | ||
| 401 | + } | ||
| 402 | + resultMap.put("status", ResponseCode.SUCCESS); | ||
| 403 | + } catch (Exception e) { | ||
| 404 | + resultMap.put("status", ResponseCode.ERROR); | ||
| 405 | + logger.error("destroy erro.", e); | ||
| 406 | + } | ||
| 407 | + return resultMap; | ||
| 408 | + } | ||
| 409 | + | ||
| 410 | + @Override | ||
| 411 | + @Transactional | ||
| 412 | + public void pathPlaningByHistory(long schId, int versions) throws JsonProcessingException { | ||
| 413 | + ScheduleRealInfo scheduleRealInfo = scheduleRealInfoRepository.findById(schId).get(); | ||
| 414 | + DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-MM-ddHH:mm"); | ||
| 415 | + DateTime start = formatter.parseDateTime(scheduleRealInfo.getRealExecDate() + scheduleRealInfo.getFcsjActual()); | ||
| 416 | + DateTime end = formatter.parseDateTime(scheduleRealInfo.getRealExecDate() + scheduleRealInfo.getZdsjActual()); | ||
| 417 | + if (start.isAfter(end)) { | ||
| 418 | + end = end.plusDays(1); | ||
| 419 | + } | ||
| 420 | + Map<String, Object> map = gpsService.history(new String[]{ scheduleRealInfo.getClZbh() }, start.getMillis() / 1000 - 20, end.getMillis() / 1000 + 20); | ||
| 421 | + List<Map<String, Object>> list = (List<Map<String, Object>>)map.get("list"); | ||
| 422 | + List<Map<String, Object>> bsectionVector = new ArrayList<>(); | ||
| 423 | + for (Map<String, Object> m : list) { | ||
| 424 | + Map<String, Object> m1 = new HashMap<>(); | ||
| 425 | + Float lng = (Float)m.get("lon"), lat = (Float)m.get("lat"); | ||
| 426 | + if (lng == 0 || lat == 0) { | ||
| 427 | + continue; | ||
| 428 | + } | ||
| 429 | + m1.put("lng", m.get("bd_lon")); | ||
| 430 | + m1.put("lat", m.get("bd_lat")); | ||
| 431 | + bsectionVector.add(m1); | ||
| 432 | + } | ||
| 433 | + map.clear(); | ||
| 434 | + map.put("lineId", scheduleRealInfo.getXlBm()); | ||
| 435 | + map.put("lineCode", scheduleRealInfo.getXlBm()); | ||
| 436 | + map.put("sectionName", scheduleRealInfo.getQdzName() + "-" + scheduleRealInfo.getZdzName()); | ||
| 437 | + map.put("sectionCode", sectionRepository.sectionMaxId() + 1); | ||
| 438 | + map.put("roadCoding", ""); | ||
| 439 | + map.put("dbType", "b"); | ||
| 440 | + map.put("sectionrouteCode", "1"); | ||
| 441 | + map.put("sectionTime", ""); | ||
| 442 | + map.put("sectionDistance", ""); | ||
| 443 | + map.put("speedLimit", "60"); | ||
| 444 | + map.put("versions", versions); | ||
| 445 | + map.put("destroy", 0); | ||
| 446 | + map.put("directions", 3); | ||
| 447 | + map.put("descriptions", ""); | ||
| 448 | + map.put("start", scheduleRealInfo.getQdzCode()); | ||
| 449 | + map.put("end", scheduleRealInfo.getZdzCode()); | ||
| 450 | + map.put("bsectionVector", new ObjectMapper().writeValueAsString(bsectionVector)); | ||
| 451 | + | ||
| 452 | + lsInoutSectionRouteRepository.destroy(scheduleRealInfo.getXlBm(), versions, scheduleRealInfo.getQdzCode(), scheduleRealInfo.getZdzCode()); | ||
| 453 | + sectionSave(map); | ||
| 454 | + } | ||
| 455 | +} |