Commit 935516d76915b290d89b4d6a8f487ba716761342

Authored by 徐烜
2 parents 72edb127 ce60fe55

Merge branch 'minhang' into pudong

src/main/java/com/bsth/controller/realcontrol/anomalyCheckController.java
1 package com.bsth.controller.realcontrol; 1 package com.bsth.controller.realcontrol;
2 2
  3 +import com.bsth.data.gpsdata.arrival.GeoCacheData;
3 import com.bsth.data.gpsdata.arrival.GpsRealAnalyse; 4 import com.bsth.data.gpsdata.arrival.GpsRealAnalyse;
4 import com.bsth.data.gpsdata.thread.GpsDataLoaderThread; 5 import com.bsth.data.gpsdata.thread.GpsDataLoaderThread;
5 import com.bsth.data.msg_queue.DirectivePushQueue; 6 import com.bsth.data.msg_queue.DirectivePushQueue;
@@ -30,6 +31,10 @@ public class anomalyCheckController { @@ -30,6 +31,10 @@ public class anomalyCheckController {
30 31
31 @Autowired 32 @Autowired
32 DayOfSchedule dayOfSchedule; 33 DayOfSchedule dayOfSchedule;
  34 +
  35 + @Autowired
  36 + GeoCacheData geoCacheData;
  37 +
33 /** 38 /**
34 * 出现重复班次的车辆 39 * 出现重复班次的车辆
35 * @param nbbm 40 * @param nbbm
@@ -75,4 +80,9 @@ public class anomalyCheckController { @@ -75,4 +80,9 @@ public class anomalyCheckController {
75 return; 80 return;
76 GpsDataLoaderThread.setFlag(flag); 81 GpsDataLoaderThread.setFlag(flag);
77 } 82 }
  83 +
  84 + @RequestMapping(value = "/updateCacheBuff")
  85 + public void updateCacheBuff(){
  86 + geoCacheData.loadData();
  87 + }
78 } 88 }
src/main/java/com/bsth/data/BasicData.java
@@ -274,22 +274,23 @@ public class BasicData implements CommandLineRunner { @@ -274,22 +274,23 @@ public class BasicData implements CommandLineRunner {
274 * 加载运管处的站点及序号 274 * 加载运管处的站点及序号
275 * 上行从1开始,下行顺序续编 275 * 上行从1开始,下行顺序续编
276 */ 276 */
277 - List<Object[]> ygcLines = stationRouteRepository.findAllLineWithYgc(); 277 + List<Map<String, String>> ygcLines = stationRouteRepository.findAllLineWithYgc();
278 if(ygcLines != null && ygcLines.size() > 0){ 278 if(ygcLines != null && ygcLines.size() > 0){
279 int size = ygcLines.size(); 279 int size = ygcLines.size();
280 - Object[] tempArray ; 280 + Map<String, String> tempMap ;
281 int num = 1; 281 int num = 1;
282 String key; 282 String key;
283 String lineCode = ""; 283 String lineCode = "";
284 for (int i = 0; i < size; i ++){ 284 for (int i = 0; i < size; i ++){
285 - tempArray = ygcLines.get(i); 285 + tempMap = ygcLines.get(i);
286 if(lineCode.equals("")){ 286 if(lineCode.equals("")){
287 - lineCode = tempArray[0]+"";  
288 - }else if(!lineCode.equals(tempArray[0]+"")){ 287 + lineCode = tempMap.get("lineCode");
  288 + }else if(!lineCode.equals(tempMap.get("lineCode"))){
289 num = 1; 289 num = 1;
290 - lineCode = tempArray[0]+""; 290 + lineCode = tempMap.get("lineCode");
291 } 291 }
292 - key = tempArray[0] + "_"+tempArray[1] + "_"+tempArray[3]; 292 + key = tempMap.get("lineCode") + "_"+String.valueOf(tempMap.get("directions"))
  293 + + "_"+tempMap.get("stationCode")+ "_"+tempMap.get("stationMark");
293 tempStationName2YgcNumber.put(key,num++); 294 tempStationName2YgcNumber.put(key,num++);
294 } 295 }
295 } 296 }
src/main/java/com/bsth/data/gpsdata/arrival/utils/SignalSchPlanMatcher.java
@@ -46,6 +46,16 @@ public class SignalSchPlanMatcher { @@ -46,6 +46,16 @@ public class SignalSchPlanMatcher {
46 return; 46 return;
47 } 47 }
48 } 48 }
  49 +
  50 + //线路编码不匹配
  51 + if("out".equals(sch.getBcType()) && !sch.getXlBm().equals(outSigal.getLineId())){
  52 + ScheduleRealInfo nextOut = dayOfSchedule.nextByBcType(sch, "out");
  53 + if(nextOut != null && nextOut.getXlBm().equals(outSigal.getLineId())
  54 + && fcSpace(sch, outSigal) > fcSpace(nextOut, outSigal)){
  55 + dayOfSchedule.addExecPlan(nextOut);
  56 + return;
  57 + }
  58 + }
49 }catch (Exception e){ 59 }catch (Exception e){
50 log.error("", e); 60 log.error("", e);
51 } 61 }
@@ -63,4 +73,8 @@ public class SignalSchPlanMatcher { @@ -63,4 +73,8 @@ public class SignalSchPlanMatcher {
63 outMatch(outSigal, next); 73 outMatch(outSigal, next);
64 } 74 }
65 } 75 }
  76 +
  77 + public static int fcSpace(ScheduleRealInfo sch, GpsEntity gps){
  78 + return (int) Math.abs((sch.getDfsjT() - gps.getTimestamp()));
  79 + }
66 } 80 }
src/main/java/com/bsth/data/schedule/DayOfSchedule.java
@@ -790,12 +790,13 @@ public class DayOfSchedule { @@ -790,12 +790,13 @@ public class DayOfSchedule {
790 790
791 boolean flag = false; 791 boolean flag = false;
792 for(ScheduleRealInfo temp : list){ 792 for(ScheduleRealInfo temp : list){
793 - if(temp == sch){  
794 - flag = true;  
795 - }  
796 793
797 if(flag && temp.getBcType().equals(bcType)) 794 if(flag && temp.getBcType().equals(bcType))
798 return temp; 795 return temp;
  796 +
  797 + if(temp == sch){
  798 + flag = true;
  799 + }
799 } 800 }
800 return null; 801 return null;
801 } 802 }
src/main/java/com/bsth/repository/StationRouteRepository.java
@@ -259,8 +259,9 @@ public interface StationRouteRepository extends BaseRepository&lt;StationRoute, Int @@ -259,8 +259,9 @@ public interface StationRouteRepository extends BaseRepository&lt;StationRoute, Int
259 @Query("select s from StationRoute s where s.destroy=0 and s.lineCode=?1") 259 @Query("select s from StationRoute s where s.destroy=0 and s.lineCode=?1")
260 List<StationRoute> findByLineCode(String lineCode); 260 List<StationRoute> findByLineCode(String lineCode);
261 261
262 - @Query("SELECT " +  
263 - "lineCode,directions,stationName,stationCode " + 262 + @Query("SELECT new map(" +
  263 + "lineCode as lineCode,directions as directions,stationName as stationName,stationCode as stationCode," +
  264 + "line.linePlayType as linePlayType,s.stationMark as stationMark) " +
264 "FROM " + 265 "FROM " +
265 "StationRoute s " + 266 "StationRoute s " +
266 "WHERE " + 267 "WHERE " +
@@ -268,7 +269,7 @@ public interface StationRouteRepository extends BaseRepository&lt;StationRoute, Int @@ -268,7 +269,7 @@ public interface StationRouteRepository extends BaseRepository&lt;StationRoute, Int
268 "and s.lineCode in(select lineCode from Line where inUse = 1) " + 269 "and s.lineCode in(select lineCode from Line where inUse = 1) " +
269 "ORDER BY " + 270 "ORDER BY " +
270 "lineCode,directions,stationRouteCode") 271 "lineCode,directions,stationRouteCode")
271 - List<Object[]> findAllLineWithYgc(); 272 + List<Map<String, String>> findAllLineWithYgc();
272 273
273 @Modifying 274 @Modifying
274 @Query(value="update bsth_c_stationroute set directions = case directions when 1 then 0 when 0 then 1 end where line_code = ?1 ", nativeQuery=true) 275 @Query(value="update bsth_c_stationroute set directions = case directions when 1 then 0 when 0 then 1 end where line_code = ?1 ", nativeQuery=true)
src/main/java/com/bsth/service/excep/impl/OutboundServiceImpl.java
@@ -69,7 +69,7 @@ public class OutboundServiceImpl implements OutboundService{ @@ -69,7 +69,7 @@ public class OutboundServiceImpl implements OutboundService{
69 } 69 }
70 70
71 } 71 }
72 - sql +=" order by id limit ?,?"; 72 + sql +=" limit ?,?";
73 73
74 74
75 try { 75 try {
src/main/java/com/bsth/service/impl/TrafficManageServiceImpl.java
@@ -134,12 +134,19 @@ public class TrafficManageServiceImpl implements TrafficManageService{ @@ -134,12 +134,19 @@ public class TrafficManageServiceImpl implements TrafficManageService{
134 * 上传线路信息 134 * 上传线路信息
135 */ 135 */
136 @Override 136 @Override
137 - public String setXL() { 137 + public String setXL(Map<String, Object> param) {
138 String result = "failure"; 138 String result = "failure";
139 StringBuffer sBuffer = new StringBuffer(); 139 StringBuffer sBuffer = new StringBuffer();
140 try { 140 try {
141 - Iterator<Line> lineIterator = lineRepository.findAll().iterator(); 141 + Map<String,Object> map = new HashMap<String,Object>();
  142 + map.put("lineCode_eq", param.get("xl.lineCode_like")+"");
  143 + Iterator<Line> lineIterator;
142 Line line = null; 144 Line line = null;
  145 + if(param.get("xl.lineCode_like").equals("")){
  146 + lineIterator = lineRepository.findAll().iterator();
  147 + }else {
  148 + line = lineRepository.findOne(new CustomerSpecs<Line>(map));
  149 + }
143 List<StationRoute> upStationsList = null;// 上行站点路由集 150 List<StationRoute> upStationsList = null;// 上行站点路由集
144 List<StationRoute> downStationsList = null;// 下行站点路由集 151 List<StationRoute> downStationsList = null;// 下行站点路由集
145 List<LineInformation> lineInformationsList = null; 152 List<LineInformation> lineInformationsList = null;
@@ -147,14 +154,15 @@ public class TrafficManageServiceImpl implements TrafficManageService{ @@ -147,14 +154,15 @@ public class TrafficManageServiceImpl implements TrafficManageService{
147 sBuffer.append("<Data>"); 154 sBuffer.append("<Data>");
148 sBuffer.append("<RequestOrg>上海巴士拓华科技发展有限公司</RequestOrg>"); 155 sBuffer.append("<RequestOrg>上海巴士拓华科技发展有限公司</RequestOrg>");
149 sBuffer.append("<DataList>"); 156 sBuffer.append("<DataList>");
150 - while(lineIterator.hasNext()){  
151 - line = lineIterator.next();  
152 - if(!line.getName().equals("浦江4路")){  
153 - continue;  
154 - }  
155 - if(BasicData.lineId2ShangHaiCodeMap.get(line.getId()) == null 157 +// while(lineIterator.hasNext()){
  158 +// line = lineIterator.next();
  159 +// if(BasicData.lineId2ShangHaiCodeMap.get(line.getId()) == null
  160 +// || line.getInUse() == 0){
  161 +// continue;
  162 +// }
  163 + if(BasicData.lineId2ShangHaiCodeMap.get(line.getId()) == null
156 || line.getInUse() == 0){ 164 || line.getInUse() == 0){
157 - continue; 165 + return result;
158 } 166 }
159 sBuffer.append("<LINE_ID>").append(line.getId()).append("</LINE_ID>"); 167 sBuffer.append("<LINE_ID>").append(line.getId()).append("</LINE_ID>");
160 sBuffer.append("<LINE_CODE>").append(BasicData.lineId2ShangHaiCodeMap.get(line.getId())).append("</LINE_CODE>"); 168 sBuffer.append("<LINE_CODE>").append(BasicData.lineId2ShangHaiCodeMap.get(line.getId())).append("</LINE_CODE>");
@@ -176,7 +184,7 @@ public class TrafficManageServiceImpl implements TrafficManageService{ @@ -176,7 +184,7 @@ public class TrafficManageServiceImpl implements TrafficManageService{
176 startId = packagStationPointXml(upStationsList, sBuffer, startId); 184 startId = packagStationPointXml(upStationsList, sBuffer, startId);
177 packagStationPointXml(downStationsList, sBuffer, startId); 185 packagStationPointXml(downStationsList, sBuffer, startId);
178 sBuffer.append("</LinePointList>"); 186 sBuffer.append("</LinePointList>");
179 - } 187 +// }
180 sBuffer.append("</DataList>"); 188 sBuffer.append("</DataList>");
181 sBuffer.append("</Data>"); 189 sBuffer.append("</Data>");
182 System.out.println(sBuffer.toString()); 190 System.out.println(sBuffer.toString());
@@ -301,6 +309,8 @@ public class TrafficManageServiceImpl implements TrafficManageService{ @@ -301,6 +309,8 @@ public class TrafficManageServiceImpl implements TrafficManageService{
301 List<ScheduleRealInfo> list = scheduleRealInfoRepository.setLD(date); 309 List<ScheduleRealInfo> list = scheduleRealInfoRepository.setLD(date);
302 List<Map<String,Object>> listGroup = scheduleRealInfoRepository.setLDGroup(date); 310 List<Map<String,Object>> listGroup = scheduleRealInfoRepository.setLDGroup(date);
303 Map<String,Object> map = new HashMap<String,Object>(); 311 Map<String,Object> map = new HashMap<String,Object>();
  312 + HashMap<String,String> paramMap;
  313 + HashMap<String,String> otherMap = new HashMap<String, String>();
304 for(Map<String,Object> schRealInfo:listGroup){ 314 for(Map<String,Object> schRealInfo:listGroup){
305 if(schRealInfo != null){ 315 if(schRealInfo != null){
306 //根据车辆自编号查询车牌号 316 //根据车辆自编号查询车牌号
@@ -347,16 +357,20 @@ public class TrafficManageServiceImpl implements TrafficManageService{ @@ -347,16 +357,20 @@ public class TrafficManageServiceImpl implements TrafficManageService{
347 sf.append("<SJGH>"+scheduleRealInfo.getjGh()+"</SJGH>"); 357 sf.append("<SJGH>"+scheduleRealInfo.getjGh()+"</SJGH>");
348 sf.append("<SXX>"+scheduleRealInfo.getXlDir()+"</SXX>"); 358 sf.append("<SXX>"+scheduleRealInfo.getXlDir()+"</SXX>");
349 sf.append("<FCZDMC>"+scheduleRealInfo.getQdzName()+"</FCZDMC>"); 359 sf.append("<FCZDMC>"+scheduleRealInfo.getQdzName()+"</FCZDMC>");
350 - sf.append("<FCZDXH>" + getYgcStationNumByLineCodeAndDirectionAndStationName(  
351 - scheduleRealInfo.getXlBm(), scheduleRealInfo.getXlDir(), scheduleRealInfo.getQdzCode()) + "</FCZDXH>"); 360 + // 起点站的参数
  361 + otherMap.put("stationMark","B");
  362 + paramMap = packageYgcStationNumParam(scheduleRealInfo,otherMap);
  363 + sf.append("<FCZDXH>" + getYgcStationNumByLineCodeAndDirectionAndStationName(paramMap) + "</FCZDXH>");
352 sf.append("<FCZDBM>"+scheduleRealInfo.getQdzCode()+"</FCZDBM>"); 364 sf.append("<FCZDBM>"+scheduleRealInfo.getQdzCode()+"</FCZDBM>");
353 sf.append("<JHFCSJ>"+scheduleRealInfo.getFcsj()+"</JHFCSJ>"); 365 sf.append("<JHFCSJ>"+scheduleRealInfo.getFcsj()+"</JHFCSJ>");
354 sf.append("<DFSJ>"+scheduleRealInfo.getDfsj()+"</DFSJ>"); 366 sf.append("<DFSJ>"+scheduleRealInfo.getDfsj()+"</DFSJ>");
355 sf.append("<SJFCSJ>"+scheduleRealInfo.getFcsjActual()+"</SJFCSJ>"); 367 sf.append("<SJFCSJ>"+scheduleRealInfo.getFcsjActual()+"</SJFCSJ>");
356 sf.append("<FCZDLX>"+""+"</FCZDLX>"); 368 sf.append("<FCZDLX>"+""+"</FCZDLX>");
357 sf.append("<DDZDMC>"+scheduleRealInfo.getZdzName()+"</DDZDMC>"); 369 sf.append("<DDZDMC>"+scheduleRealInfo.getZdzName()+"</DDZDMC>");
358 - sf.append("<DDZDXH>"+ getYgcStationNumByLineCodeAndDirectionAndStationName(  
359 - scheduleRealInfo.getXlBm(), scheduleRealInfo.getXlDir(), scheduleRealInfo.getZdzCode()) +"</DDZDXH>"); 370 + // 终点站的参数
  371 + otherMap.put("stationMark","E");
  372 + paramMap = packageYgcStationNumParam(scheduleRealInfo,otherMap);
  373 + sf.append("<DDZDXH>"+ getYgcStationNumByLineCodeAndDirectionAndStationName(paramMap) +"</DDZDXH>");
360 sf.append("<DDZDBM>"+scheduleRealInfo.getZdzCode()+"</DDZDBM>"); 374 sf.append("<DDZDBM>"+scheduleRealInfo.getZdzCode()+"</DDZDBM>");
361 sf.append("<JHDDSJ>"+scheduleRealInfo.getZdsj()+"</JHDDSJ>"); 375 sf.append("<JHDDSJ>"+scheduleRealInfo.getZdsj()+"</JHDDSJ>");
362 sf.append("<SJDDSJ>"+scheduleRealInfo.getZdsjActual()+"</SJDDSJ>"); 376 sf.append("<SJDDSJ>"+scheduleRealInfo.getZdsjActual()+"</SJDDSJ>");
@@ -650,6 +664,8 @@ public class TrafficManageServiceImpl implements TrafficManageService{ @@ -650,6 +664,8 @@ public class TrafficManageServiceImpl implements TrafficManageService{
650 List<SchedulePlanInfo> schedulePlanList = schedulePlanInfoRepository.findLineScheduleBc(tomorrow); 664 List<SchedulePlanInfo> schedulePlanList = schedulePlanInfoRepository.findLineScheduleBc(tomorrow);
651 int j = 0; // 初始化标识 665 int j = 0; // 初始化标识
652 if(schedulePlanList != null ){ 666 if(schedulePlanList != null ){
  667 + HashMap<String,String> paramMap;
  668 + HashMap<String,String> otherMap = new HashMap<String, String>();
653 int size = schedulePlanList.size(); 669 int size = schedulePlanList.size();
654 for (int i = 0; i < size; i++) { 670 for (int i = 0; i < size; i++) {
655 schedulePlanInfo = schedulePlanList.get(i); 671 schedulePlanInfo = schedulePlanList.get(i);
@@ -676,12 +692,16 @@ public class TrafficManageServiceImpl implements TrafficManageService{ @@ -676,12 +692,16 @@ public class TrafficManageServiceImpl implements TrafficManageService{
676 sBuffer.append("<SJGH>").append(schedulePlanInfo.getjGh()).append("</SJGH>"); 692 sBuffer.append("<SJGH>").append(schedulePlanInfo.getjGh()).append("</SJGH>");
677 sBuffer.append("<SXX>").append(schedulePlanInfo.getXlDir()).append("</SXX>"); 693 sBuffer.append("<SXX>").append(schedulePlanInfo.getXlDir()).append("</SXX>");
678 sBuffer.append("<FCZDMC>").append(schedulePlanInfo.getQdzName()).append("</FCZDMC>"); 694 sBuffer.append("<FCZDMC>").append(schedulePlanInfo.getQdzName()).append("</FCZDMC>");
679 - sBuffer.append("<ZDXH>").append(getYgcStationNumByLineCodeAndDirectionAndStationName(  
680 - schedulePlanInfo.getXlBm(), schedulePlanInfo.getXlDir(), schedulePlanInfo.getQdzCode())).append("</ZDXH>"); 695 + // 起点站的参数
  696 + otherMap.put("stationMark","B");
  697 + paramMap = packageYgcStationNumParam(schedulePlanInfo,otherMap);
  698 + sBuffer.append("<ZDXH>").append(getYgcStationNumByLineCodeAndDirectionAndStationName(paramMap)).append("</ZDXH>");
681 sBuffer.append("<JHFCSJ>").append(schedulePlanInfo.getFcsj()).append("</JHFCSJ>"); 699 sBuffer.append("<JHFCSJ>").append(schedulePlanInfo.getFcsj()).append("</JHFCSJ>");
682 sBuffer.append("<DDZDMC>").append(schedulePlanInfo.getZdzName()).append("</DDZDMC>"); 700 sBuffer.append("<DDZDMC>").append(schedulePlanInfo.getZdzName()).append("</DDZDMC>");
683 - sBuffer.append("<DDXH>").append(getYgcStationNumByLineCodeAndDirectionAndStationName(  
684 - schedulePlanInfo.getXlBm(), schedulePlanInfo.getXlDir(), schedulePlanInfo.getZdzCode())).append("</DDXH>"); 701 + // 起点站的参数
  702 + otherMap.put("stationMark","E");
  703 + paramMap = packageYgcStationNumParam(schedulePlanInfo,otherMap);
  704 + sBuffer.append("<DDXH>").append(getYgcStationNumByLineCodeAndDirectionAndStationName(paramMap)).append("</DDXH>");
685 sBuffer.append("<JHDDSJ>").append(calcDdsj(schedulePlanInfo.getFcsj(),schedulePlanInfo.getBcsj())) 705 sBuffer.append("<JHDDSJ>").append(calcDdsj(schedulePlanInfo.getFcsj(),schedulePlanInfo.getBcsj()))
686 .append("</JHDDSJ>"); 706 .append("</JHDDSJ>");
687 sBuffer.append("</BC>"); 707 sBuffer.append("</BC>");
@@ -743,6 +763,8 @@ public class TrafficManageServiceImpl implements TrafficManageService{ @@ -743,6 +763,8 @@ public class TrafficManageServiceImpl implements TrafficManageService{
743 HashMap<String,Object> param = new HashMap<String, Object>(); 763 HashMap<String,Object> param = new HashMap<String, Object>();
744 String lineCode ; 764 String lineCode ;
745 sBuffer.append("<SKBs>"); 765 sBuffer.append("<SKBs>");
  766 + HashMap<String,String> paramMap;
  767 + HashMap<String,String> otherMap = new HashMap<String, String>();
746 for (int i = 0; i < idArray.length; i++) { 768 for (int i = 0; i < idArray.length; i++) {
747 ttInfo = ttInfoRepository.findOne(Long.valueOf(idArray[i])); 769 ttInfo = ttInfoRepository.findOne(Long.valueOf(idArray[i]));
748 if(ttInfo == null) 770 if(ttInfo == null)
@@ -783,12 +805,16 @@ public class TrafficManageServiceImpl implements TrafficManageService{ @@ -783,12 +805,16 @@ public class TrafficManageServiceImpl implements TrafficManageService{
783 sBuffer.append("<LPBH>").append(ttInfoDetail.getLp().getLpNo()).append("</LPBH>"); 805 sBuffer.append("<LPBH>").append(ttInfoDetail.getLp().getLpNo()).append("</LPBH>");
784 sBuffer.append("<SXX>").append(ttInfoDetail.getXlDir()).append("</SXX>"); 806 sBuffer.append("<SXX>").append(ttInfoDetail.getXlDir()).append("</SXX>");
785 sBuffer.append("<FCZDMC>").append(ttInfoDetail.getQdz().getStationName()).append("</FCZDMC>"); 807 sBuffer.append("<FCZDMC>").append(ttInfoDetail.getQdz().getStationName()).append("</FCZDMC>");
786 - sBuffer.append("<ZDXH>").append(getYgcStationNumByLineCodeAndDirectionAndStationName(  
787 - lineCode, ttInfoDetail.getXlDir(), ttInfoDetail.getQdz().getStationCod())).append("</ZDXH>"); 808 + // 起点站的参数
  809 + otherMap.put("stationMark","B");
  810 + paramMap = packageYgcStationNumParam(ttInfoDetail,otherMap);
  811 + sBuffer.append("<ZDXH>").append(getYgcStationNumByLineCodeAndDirectionAndStationName(paramMap)).append("</ZDXH>");
788 sBuffer.append("<JHFCSJ>").append(changeTimeFormat(ttInfoDetail)).append("</JHFCSJ>"); 812 sBuffer.append("<JHFCSJ>").append(changeTimeFormat(ttInfoDetail)).append("</JHFCSJ>");
789 sBuffer.append("<DDZDMC>").append(ttInfoDetail.getZdz().getStationName()).append("</DDZDMC>"); 813 sBuffer.append("<DDZDMC>").append(ttInfoDetail.getZdz().getStationName()).append("</DDZDMC>");
790 - sBuffer.append("<DDXH>").append(getYgcStationNumByLineCodeAndDirectionAndStationName(  
791 - lineCode, ttInfoDetail.getXlDir(), ttInfoDetail.getZdz().getStationCod())).append("</DDXH>"); 814 + // 起点站的参数
  815 + otherMap.put("stationMark","E");
  816 + paramMap = packageYgcStationNumParam(ttInfoDetail,otherMap);
  817 + sBuffer.append("<DDXH>").append(getYgcStationNumByLineCodeAndDirectionAndStationName(paramMap)).append("</DDXH>");
792 sBuffer.append("<JHDDSJ>").append(calcDdsj(ttInfoDetail.getFcsj(),ttInfoDetail.getBcsj())).append("</JHDDSJ>"); 818 sBuffer.append("<JHDDSJ>").append(calcDdsj(ttInfoDetail.getFcsj(),ttInfoDetail.getBcsj())).append("</JHDDSJ>");
793 sBuffer.append("</BC>"); 819 sBuffer.append("</BC>");
794 } 820 }
@@ -1136,6 +1162,7 @@ public class TrafficManageServiceImpl implements TrafficManageService{ @@ -1136,6 +1162,7 @@ public class TrafficManageServiceImpl implements TrafficManageService{
1136 private int packagStationXml(List<StationRoute> stationsList,StringBuffer sBuffer,int startId){ 1162 private int packagStationXml(List<StationRoute> stationsList,StringBuffer sBuffer,int startId){
1137 int size = stationsList.size(); 1163 int size = stationsList.size();
1138 StationRoute srRoute; 1164 StationRoute srRoute;
  1165 + HashMap<String,String> paraMap;
1139 String zdlx ;// 站点类型:0:起点站、1:终点站、2:中途站 1166 String zdlx ;// 站点类型:0:起点站、1:终点站、2:中途站
1140 for (int i = 0; i < size; i++) { 1167 for (int i = 0; i < size; i++) {
1141 srRoute = stationsList.get(i); 1168 srRoute = stationsList.get(i);
@@ -1147,10 +1174,11 @@ public class TrafficManageServiceImpl implements TrafficManageService{ @@ -1147,10 +1174,11 @@ public class TrafficManageServiceImpl implements TrafficManageService{
1147 }else{ 1174 }else{
1148 zdlx = "2"; 1175 zdlx = "2";
1149 } 1176 }
  1177 + paraMap = packageYgcStationNumParam(srRoute,null);
1150 sBuffer.append("<Station>"); 1178 sBuffer.append("<Station>");
1151 - sBuffer.append("<STATION_ID>").append(getYgcStationNumByLineCodeAndDirectionAndStationName(srRoute.getLineCode(),srRoute.getDirections()+"",srRoute.getStationCode())).append("</STATION_ID>"); 1179 + sBuffer.append("<STATION_ID>").append(getYgcStationNumByLineCodeAndDirectionAndStationName(paraMap)).append("</STATION_ID>");
1152 sBuffer.append("<UPDDOWN>").append(srRoute.getDirections()).append("</UPDDOWN>"); 1180 sBuffer.append("<UPDDOWN>").append(srRoute.getDirections()).append("</UPDDOWN>");
1153 - sBuffer.append("<STATION_NO>").append(getYgcStationNumByLineCodeAndDirectionAndStationName(srRoute.getLineCode(),srRoute.getDirections()+"",srRoute.getStationCode())).append("</STATION_NO>"); 1181 + sBuffer.append("<STATION_NO>").append(i).append("</STATION_NO>");
1154 sBuffer.append("<STATION_CODE>").append(srRoute.getStationCode()).append("</STATION_CODE>"); 1182 sBuffer.append("<STATION_CODE>").append(srRoute.getStationCode()).append("</STATION_CODE>");
1155 sBuffer.append("<STATION_NAME>").append(srRoute.getStationName()).append("</STATION_NAME>"); 1183 sBuffer.append("<STATION_NAME>").append(srRoute.getStationName()).append("</STATION_NAME>");
1156 sBuffer.append("<STATION_LON>").append(srRoute.getStation().getgLonx()).append("</STATION_LON>"); 1184 sBuffer.append("<STATION_LON>").append(srRoute.getStation().getgLonx()).append("</STATION_LON>");
@@ -1173,6 +1201,7 @@ public class TrafficManageServiceImpl implements TrafficManageService{ @@ -1173,6 +1201,7 @@ public class TrafficManageServiceImpl implements TrafficManageService{
1173 private int packagStationPointXml(List<StationRoute> stationsList,StringBuffer sBuffer,int startId){ 1201 private int packagStationPointXml(List<StationRoute> stationsList,StringBuffer sBuffer,int startId){
1174 int size = stationsList.size(); 1202 int size = stationsList.size();
1175 StationRoute srRoute; 1203 StationRoute srRoute;
  1204 + HashMap<String,String> paraMap;
1176 String zdlx ;// 站点类型:0:起点站、1:终点站、2:中途站 1205 String zdlx ;// 站点类型:0:起点站、1:终点站、2:中途站
1177 for (int i = 0; i < size; i++) { 1206 for (int i = 0; i < size; i++) {
1178 srRoute = stationsList.get(i); 1207 srRoute = stationsList.get(i);
@@ -1184,8 +1213,9 @@ public class TrafficManageServiceImpl implements TrafficManageService{ @@ -1184,8 +1213,9 @@ public class TrafficManageServiceImpl implements TrafficManageService{
1184 }else{ 1213 }else{
1185 zdlx = "2"; 1214 zdlx = "2";
1186 } 1215 }
  1216 + paraMap = packageYgcStationNumParam(srRoute,null);
1187 sBuffer.append("<Point>"); 1217 sBuffer.append("<Point>");
1188 - sBuffer.append("<POINT_ID>").append(getYgcStationNumByLineCodeAndDirectionAndStationName(srRoute.getLineCode(),srRoute.getDirections()+"",srRoute.getStationCode())).append("</POINT_ID>"); 1218 + sBuffer.append("<POINT_ID>").append(getYgcStationNumByLineCodeAndDirectionAndStationName(paraMap)).append("</POINT_ID>");
1189 sBuffer.append("<UPDDOWN>").append(srRoute.getDirections()).append("</UPDDOWN>"); 1219 sBuffer.append("<UPDDOWN>").append(srRoute.getDirections()).append("</UPDDOWN>");
1190 sBuffer.append("<POINTLON>").append(srRoute.getStation().getgLonx()).append("</POINTLON>"); 1220 sBuffer.append("<POINTLON>").append(srRoute.getStation().getgLonx()).append("</POINTLON>");
1191 sBuffer.append("<POINTLAT>").append(srRoute.getStation().getgLaty()).append("</POINTLAT>"); 1221 sBuffer.append("<POINTLAT>").append(srRoute.getStation().getgLaty()).append("</POINTLAT>");
@@ -1196,15 +1226,94 @@ public class TrafficManageServiceImpl implements TrafficManageService{ @@ -1196,15 +1226,94 @@ public class TrafficManageServiceImpl implements TrafficManageService{
1196 } 1226 }
1197 1227
1198 /** 1228 /**
1199 - *  
1200 - * @param lineCode 线路编码  
1201 - * @param direction 线路方向  
1202 - * @param stationCode 让点名称 1229 + * 获取运管处站点序号
  1230 + * @param map
1203 * @return 运管处站点序号 1231 * @return 运管处站点序号
1204 */ 1232 */
1205 - private Integer getYgcStationNumByLineCodeAndDirectionAndStationName(String lineCode,String direction,String stationCode){  
1206 - Integer number = 0;  
1207 - number = BasicData.stationName2YgcNumber.get(lineCode+"_"+direction+"_"+stationCode); 1233 + private Integer getYgcStationNumByLineCodeAndDirectionAndStationName(HashMap<String,String> map){
  1234 + // 线路编码
  1235 + String lineCode = map.get("lineCode");
  1236 + // 线路走向 0:上行 1:下行
  1237 + String direction = map.get("direction");
  1238 + // 站点编码
  1239 + String stationCode = map.get("stationCode");
  1240 + // 站点类型:B:起点站 Z:中途站 E:终点站 T:停车场
  1241 + String stationMark = map.get("stationMark");
  1242 + String[] marks = null;
  1243 + // 起点站,先从起点找,找不到再从中途站找,最后从终点找
  1244 + if(stationMark.equals("B")){
  1245 + marks= new String[]{"B","Z","E"};
  1246 + }else if(stationMark.equals("E")){// 终点站相反
  1247 + marks= new String[]{"E","Z","B"};
  1248 + }else if(stationMark.equals("Z")){
  1249 + marks= new String[]{"Z"};
  1250 + }
  1251 + Integer number = null;
  1252 + for (int i = 0 ;i < marks.length ; i ++){
  1253 + number = BasicData.stationName2YgcNumber.get(lineCode+"_"+direction+"_"+stationCode+"_"+marks[i]);
  1254 + if(number != null){
  1255 + break;
  1256 + }
  1257 + }
1208 return number == null ? 0 : number; 1258 return number == null ? 0 : number;
1209 } 1259 }
  1260 +
  1261 + /**
  1262 + * 封装查询站序条件
  1263 + * @param obj
  1264 + * @return
  1265 + */
  1266 + private HashMap packageYgcStationNumParam(Object obj,HashMap<String,String> otherParam){
  1267 + HashMap<String,String> map = new HashMap<String,String>();
  1268 + String lineCode = "",direction = "",stationCode = "",stationMark = "";
  1269 + // 站点路由
  1270 + if(obj instanceof StationRoute){
  1271 + StationRoute sr = (StationRoute)obj;
  1272 + lineCode = sr.getLineCode();
  1273 + direction = String.valueOf(sr.getDirections());
  1274 + stationCode = sr.getStationCode();
  1275 + stationMark = sr.getStationMark();
  1276 + }else if(obj instanceof ScheduleRealInfo){ //实际排班计划明细。
  1277 + ScheduleRealInfo sri = (ScheduleRealInfo)obj;
  1278 + lineCode = sri.getXlBm();
  1279 + direction = sri.getXlDir();
  1280 + if(otherParam != null && otherParam.get("stationMark") != null){
  1281 + stationMark = otherParam.get("stationMark");
  1282 + if(stationMark.equals("B")){ // 起点站
  1283 + stationCode = sri.getQdzCode();
  1284 + }else if(stationMark.equals("E")){ // 终点站
  1285 + stationCode = sri.getZdzCode();
  1286 + }
  1287 + }
  1288 + }else if(obj instanceof SchedulePlanInfo){ //排班计划明细
  1289 + SchedulePlanInfo spi = (SchedulePlanInfo)obj;
  1290 + lineCode = spi.getXlBm();
  1291 + direction = spi.getXlDir();
  1292 + if(otherParam != null && otherParam.get("stationMark") != null){
  1293 + stationMark = otherParam.get("stationMark");
  1294 + if(stationMark.equals("B")){ // 起点站
  1295 + stationCode = spi.getQdzCode();
  1296 + }else if(stationMark.equals("E")){ // 终点站
  1297 + stationCode = spi.getZdzCode();
  1298 + }
  1299 + }
  1300 + }else if(obj instanceof TTInfoDetail){ //时刻表明细
  1301 + TTInfoDetail ttid = (TTInfoDetail)obj;
  1302 + lineCode = ttid.getXl().getLineCode();
  1303 + direction = ttid.getXlDir();
  1304 + if(otherParam != null && otherParam.get("stationMark") != null){
  1305 + stationMark = otherParam.get("stationMark");
  1306 + if(stationMark.equals("B")){ // 起点站
  1307 + stationCode = ttid.getQdz().getStationCod();
  1308 + }else if(stationMark.equals("E")){ // 终点站
  1309 + stationCode = ttid.getZdz().getStationCod();
  1310 + }
  1311 + }
  1312 + }
  1313 + map.put("lineCode",lineCode);// 站点编码
  1314 + map.put("direction",direction); // 上下行
  1315 + map.put("stationCode",stationCode); // 站点编号
  1316 + map.put("stationMark",stationMark); // 站点类型
  1317 + return map;
  1318 + }
1210 } 1319 }
src/main/java/com/bsth/service/oil/impl/YlbServiceImpl.java
@@ -31,6 +31,7 @@ import com.bsth.common.ResponseCode; @@ -31,6 +31,7 @@ import com.bsth.common.ResponseCode;
31 import com.bsth.data.BasicData; 31 import com.bsth.data.BasicData;
32 import com.bsth.entity.Cars; 32 import com.bsth.entity.Cars;
33 import com.bsth.entity.Line; 33 import com.bsth.entity.Line;
  34 +import com.bsth.entity.mcy_forms.Daily;
34 import com.bsth.entity.oil.Cyl; 35 import com.bsth.entity.oil.Cyl;
35 import com.bsth.entity.oil.Ylb; 36 import com.bsth.entity.oil.Ylb;
36 import com.bsth.entity.oil.Ylxxb; 37 import com.bsth.entity.oil.Ylxxb;
@@ -100,7 +101,8 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS @@ -100,7 +101,8 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS
100 // TODO Auto-generated method stub 101 // TODO Auto-generated method stub
101 Map<String, Object> newMap=new HashMap<String,Object>(); 102 Map<String, Object> newMap=new HashMap<String,Object>();
102 //当天YLB信息 103 //当天YLB信息
103 - List<Ylb> ylList=repository.obtainYl(rq,"","","","","nbbm"); 104 +// List<Ylb> ylList=repository.obtainYl(rq,"","","","","nbbm");
  105 + List<Ylb> ylList=this.listOrderBy(rq,"","","","","nbbm");
104 //当天YLXXB信息 106 //当天YLXXB信息
105 // List<Ylxxb> ylxxList=ylxxbRepository.obtainYlxx(rq); 107 // List<Ylxxb> ylxxList=ylxxbRepository.obtainYlxx(rq);
106 //前一天所有车辆最后进场班次信息 108 //前一天所有车辆最后进场班次信息
@@ -258,7 +260,8 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS @@ -258,7 +260,8 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS
258 DecimalFormat df = new DecimalFormat("#.00"); 260 DecimalFormat df = new DecimalFormat("#.00");
259 // TODO Auto-generated method stub 261 // TODO Auto-generated method stub
260 // 当天YLB信息 262 // 当天YLB信息
261 - List<Ylb> ylList = repository.obtainYl(rq,gsbm,fgsbm,line,nbbm,"nbbm"); 263 + List<Ylb> ylList = this.listOrderBy(rq,gsbm,fgsbm,line,nbbm,"nbbm");
  264 +// repository.obtainYl(rq,gsbm,fgsbm,line,nbbm,"nbbm");
262 // 当天YLXXB信息 265 // 当天YLXXB信息
263 List<Ylxxb> ylxxList = ylxxbRepository.obtainYlxx(rq, 0,gsbm); 266 List<Ylxxb> ylxxList = ylxxbRepository.obtainYlxx(rq, 0,gsbm);
264 // 前一天所有车辆最后进场班次信息 267 // 前一天所有车辆最后进场班次信息
@@ -482,13 +485,15 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS @@ -482,13 +485,15 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS
482 List<Ylb> ylbList =new ArrayList<Ylb>(); 485 List<Ylb> ylbList =new ArrayList<Ylb>();
483 List<Ylb> ylbLists =new ArrayList<Ylb>(); 486 List<Ylb> ylbLists =new ArrayList<Ylb>();
484 List<Ylb> iterator2=new ArrayList<Ylb>(); 487 List<Ylb> iterator2=new ArrayList<Ylb>();
485 - if(xlbm.equals("")){  
486 - ylbLists=repository.obtainYl(rq,gsbm,fgsbm,xlbm,nbbm,"jcsx");  
487 - iterator2=repository.obtainYl(rq,gsbm,fgsbm,xlbm,nbbm,"nbbm,jcsx");  
488 - }else{  
489 - ylbLists=repository.obtainYl_eq(rq,gsbm,fgsbm,xlbm,nbbm,"jcsx");  
490 - iterator2=repository.obtainYl_eq(rq,gsbm,fgsbm,xlbm,nbbm,"nbbm,jcsx");  
491 - } 488 +// if(xlbm.equals("")){
  489 + ylbLists=this.listOrderBy(rq,gsbm,fgsbm,xlbm,nbbm,"jcsx");
  490 +// repository.obtainYl(rq,gsbm,fgsbm,xlbm,nbbm,"jcsx");
  491 + iterator2=this.listOrderBy(rq,gsbm,fgsbm,xlbm,nbbm,"nbbm,jcsx");
  492 +// repository.obtainYl(rq,gsbm,fgsbm,xlbm,nbbm,"nbbm,jcsx");
  493 +// }else{
  494 +// ylbLists=repository.obtainYl_eq(rq,gsbm,fgsbm,xlbm,nbbm,"jcsx");
  495 +// iterator2=repository.obtainYl_eq(rq,gsbm,fgsbm,xlbm,nbbm,"nbbm,jcsx");
  496 +// }
492 497
493 // 从排班表中计算出行驶的总里程 498 // 从排班表中计算出行驶的总里程
494 499
@@ -602,8 +607,14 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS @@ -602,8 +607,14 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS
602 if(j==iterator2.size()-1){ 607 if(j==iterator2.size()-1){
603 ylxs=czyl; 608 ylxs=czyl;
604 }else{ 609 }else{
605 - l=Math.round(nextJzyl);  
606 - ylxs=l*100/100; 610 +// l=Math.round(nextJzyl);
  611 +// ylxs=l*100/100;
  612 + if(iterator2.get(j+1).getNbbm().equals(t.getNbbm())){
  613 + l=Math.round(nextJzyl);
  614 + ylxs=l*100/100;
  615 + }else{
  616 + ylxs=czyl;
  617 + }
607 618
608 } 619 }
609 yh=Arith.add(yh, Arith.sub(nextJzyl,ylxs)); 620 yh=Arith.add(yh, Arith.sub(nextJzyl,ylxs));
@@ -833,7 +844,8 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS @@ -833,7 +844,8 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS
833 } 844 }
834 // List<Ylb> ylListBe=repository.obtainYlbefore(rq, gsbm, "", xlbm, nbbm); 845 // List<Ylb> ylListBe=repository.obtainYlbefore(rq, gsbm, "", xlbm, nbbm);
835 List<Ylb> ylListBe=repository.listMaxRqJcsx(rq, gsbm, fgsbm, xlbm, nbbm); 846 List<Ylb> ylListBe=repository.listMaxRqJcsx(rq, gsbm, fgsbm, xlbm, nbbm);
836 - List<Ylb> ylbList=repository.obtainYl(rq,gsbm,fgsbm,xlbm,nbbm,"nbbm"); 847 + List<Ylb> ylbList=this.listOrderBy(rq,gsbm,fgsbm,xlbm,nbbm,"nbbm");
  848 +// repository.obtainYl(rq,gsbm,fgsbm,xlbm,nbbm,"nbbm");
837 List<Ylxxb> ylxxbList=ylxxbRepository.obtainYlxx(rq,0,gsbm); 849 List<Ylxxb> ylxxbList=ylxxbRepository.obtainYlxx(rq,0,gsbm);
838 for (int i = 0; i < ylxxbList.size(); i++) { 850 for (int i = 0; i < ylxxbList.size(); i++) {
839 Boolean fage=true; 851 Boolean fage=true;
@@ -1278,8 +1290,10 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS @@ -1278,8 +1290,10 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS
1278 map.put("nbbm_eq", nbbm_eq); 1290 map.put("nbbm_eq", nbbm_eq);
1279 map.put("rq_eq", rq_eq); 1291 map.put("rq_eq", rq_eq);
1280 1292
1281 - List<Ylb> iterator2=repository.obtainYl(sdf.format(rq_eq),ylb.getSsgsdm(),ylb.getFgsdm(),"", 1293 + List<Ylb> iterator2=this.listOrderBy(sdf.format(rq_eq),ylb.getSsgsdm(),ylb.getFgsdm(),"",
1282 ylb.getNbbm(),"jcsx"); 1294 ylb.getNbbm(),"jcsx");
  1295 +// repository.obtainYl(sdf.format(rq_eq),ylb.getSsgsdm(),ylb.getFgsdm(),"",
  1296 +// ylb.getNbbm(),"jcsx");
1283 DecimalFormat df = new DecimalFormat("#.00"); 1297 DecimalFormat df = new DecimalFormat("#.00");
1284 Double zyl = 0.0; 1298 Double zyl = 0.0;
1285 Double nextJzyl = 0.0; 1299 Double nextJzyl = 0.0;
@@ -1395,7 +1409,8 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS @@ -1395,7 +1409,8 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS
1395 t.setCreatetime(new Date()); 1409 t.setCreatetime(new Date());
1396 String[] jhsjStr = jhsj.split(":"); 1410 String[] jhsjStr = jhsj.split(":");
1397 long fcsjL= Long.parseLong(jhsjStr[0])*60+Long.parseLong(jhsjStr[1]); 1411 long fcsjL= Long.parseLong(jhsjStr[0])*60+Long.parseLong(jhsjStr[1]);
1398 - List<Ylb> list=repository.obtainYl(rq, gsdm, fgsdm, xlbm, nbbm, "jhsj"); 1412 + List<Ylb> list=this.listOrderBy(rq, gsdm, fgsdm, xlbm, nbbm, "jhsj");
  1413 +// repository.obtainYl(rq, gsdm, fgsdm, xlbm, nbbm, "jhsj");
1399 int jcsx=1; 1414 int jcsx=1;
1400 if(list.size()>0){ 1415 if(list.size()>0){
1401 for (int i = 0; i < list.size(); i++) { 1416 for (int i = 0; i < list.size(); i++) {
@@ -1439,4 +1454,43 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS @@ -1439,4 +1454,43 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS
1439 } 1454 }
1440 return maps; 1455 return maps;
1441 } 1456 }
  1457 +
  1458 + public List<Ylb> listOrderBy(String rq,String gsdm,
  1459 + String fgsdm,String xlbm,String nbbm,
  1460 + String px) {
  1461 + // TODO Auto-generated method stub
  1462 + String sql="SELECT * FROM bsth_c_ylb "
  1463 + + " where to_days('"+rq+"')=to_days(rq) and ssgsdm like '%"+gsdm+"%' "
  1464 + + " and fgsdm like '%"+fgsdm+"%'";
  1465 + if(xlbm.equals("")){
  1466 + sql+= " and xlbm like '%"+xlbm+"%' ";
  1467 + }else{
  1468 + sql+= " and xlbm = '"+xlbm+"' ";
  1469 + }
  1470 +
  1471 + sql += "and nbbm like '%"+nbbm+"%' order by "+px+" asc ";
  1472 +
  1473 + List<Ylb> list = jdbcTemplate.query(sql, new RowMapper<Ylb>() {
  1474 + @Override
  1475 + public Ylb mapRow(ResultSet arg0, int arg1) throws SQLException {
  1476 + Ylb y = new Ylb();
  1477 + y.setId(arg0.getInt("id"));
  1478 + return y;
  1479 + }
  1480 + });
  1481 + List<Ylb> lists=new ArrayList<Ylb>();
  1482 + List<Ylb> ylbLists=repository.obtainYl(rq,gsdm,fgsdm,xlbm,nbbm,"jcsx");
  1483 + for (int i = 0; i < list.size(); i++) {
  1484 + Ylb t=list.get(i);
  1485 + for (int j = 0; j < ylbLists.size(); j++) {
  1486 + Ylb t2=ylbLists.get(j);
  1487 + if(t.getId().intValue()==t2.getId().intValue()){
  1488 + lists.add(t2);
  1489 + break;
  1490 + }
  1491 + }
  1492 + }
  1493 +
  1494 + return lists;
  1495 + }
1442 } 1496 }
src/main/java/com/bsth/service/realcontrol/impl/ScheduleRealInfoServiceImpl.java
@@ -3267,26 +3267,28 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -3267,26 +3267,28 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
3267 yesterdayDataList.get(x).put("totalKilometers", zlc); 3267 yesterdayDataList.get(x).put("totalKilometers", zlc);
3268 3268
3269 } 3269 }
  3270 + List<Map<String, Object>> yesterdayDataLists = new ArrayList<Map<String, Object>>();
  3271 +
3270 for (int i = 0; i < yesterdayDataList.size(); i++) { 3272 for (int i = 0; i < yesterdayDataList.size(); i++) {
3271 Map<String, Object> map=yesterdayDataList.get(i); 3273 Map<String, Object> map=yesterdayDataList.get(i);
3272 Double zlc=map.get("totalKilometers")==null?0.0:Double.parseDouble(map.get("totalKilometers").toString()); 3274 Double zlc=map.get("totalKilometers")==null?0.0:Double.parseDouble(map.get("totalKilometers").toString());
3273 - if(zlc<=0){  
3274 - yesterdayDataList.remove(map); 3275 + if(zlc>0){
  3276 + yesterdayDataLists.add(map);
3275 } 3277 }
3276 } 3278 }
3277 //增加顺序号 3279 //增加顺序号
3278 - for (int i = 0; i < yesterdayDataList.size(); i++) { 3280 + for (int i = 0; i < yesterdayDataLists.size(); i++) {
3279 if (i == 0) { 3281 if (i == 0) {
3280 - yesterdayDataList.get(i).put("seqNumber", 1); 3282 + yesterdayDataLists.get(i).put("seqNumber", 1);
3281 } else { 3283 } else {
3282 - if (yesterdayDataList.get(i - 1).get("clZbh").equals(yesterdayDataList.get(i).get("clZbh"))) {  
3283 - yesterdayDataList.get(i).put("seqNumber", 1 + (int) yesterdayDataList.get(i - 1).get("seqNumber")); 3284 + if (yesterdayDataLists.get(i - 1).get("clZbh").equals(yesterdayDataLists.get(i).get("clZbh"))) {
  3285 + yesterdayDataLists.get(i).put("seqNumber", 1 + (int) yesterdayDataLists.get(i - 1).get("seqNumber"));
3284 } else { 3286 } else {
3285 - yesterdayDataList.get(i).put("seqNumber", 1); 3287 + yesterdayDataLists.get(i).put("seqNumber", 1);
3286 } 3288 }
3287 } 3289 }
3288 } 3290 }
3289 - return yesterdayDataList; 3291 + return yesterdayDataLists;
3290 } 3292 }
3291 3293
3292 /** 3294 /**
src/main/java/com/bsth/util/ReportUtils.java
@@ -47,10 +47,12 @@ public class ReportUtils { @@ -47,10 +47,12 @@ public class ReportUtils {
47 POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream( 47 POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream(
48 sourcePath)); 48 sourcePath));
49 HSSFWorkbook wb = new HSSFWorkbook(fs); 49 HSSFWorkbook wb = new HSSFWorkbook(fs);
50 - Map<String, Object> m = (Map<String, Object>)tArray[0];  
51 - if(m.containsKey("sheetName") && m.get("sheetName")!=null  
52 - && m.get("sheetName").toString().trim().length()!=0)  
53 - wb.setSheetName(0, m.get("sheetName").toString()); 50 + if(tArray.length != 0 && tArray[0] instanceof java.util.Map){
  51 + Map<String, Object> m = (Map<String, Object>)tArray[0];
  52 + if(m.containsKey("sheetName") && m.get("sheetName")!=null
  53 + && m.get("sheetName").toString().trim().length()!=0)
  54 + wb.setSheetName(0, m.get("sheetName").toString());
  55 + }
54 HSSFSheet sheet = wb.getSheetAt(0); 56 HSSFSheet sheet = wb.getSheetAt(0);
55 HSSFRow row; 57 HSSFRow row;
56 HSSFCell cell = null; 58 HSSFCell cell = null;
src/main/resources/static/pages/excep/boundList.html
@@ -157,7 +157,7 @@ $(function(){ @@ -157,7 +157,7 @@ $(function(){
157 increaseArea: '20%' 157 increaseArea: '20%'
158 } 158 }
159 159
160 - jsDoQuery(null,true); 160 +// jsDoQuery(null,true);
161 161
162 //重置 162 //重置
163 $('tr.filter .filter-cancel').on('click', function(){ 163 $('tr.filter .filter-cancel').on('click', function(){
src/main/resources/static/real_control_v2/fragments/home/tooltip.html
@@ -19,6 +19,9 @@ @@ -19,6 +19,9 @@
19 </a> 19 </a>
20 </div> 20 </div>
21 <div> 21 <div>
  22 + <span class="field">车牌号:</span>{{plateNo}}
  23 + </div>
  24 + <div>
22 <span class="field">站点:</span>{{stationName}} 25 <span class="field">站点:</span>{{stationName}}
23 </div> 26 </div>
24 <!-- <div> 27 <!-- <div>
@@ -56,6 +59,9 @@ @@ -56,6 +59,9 @@
56 </a> 59 </a>
57 </div> 60 </div>
58 <div> 61 <div>
  62 + <span class="field">车牌号:</span>{{gps.plateNo}}
  63 + </div>
  64 + <div>
59 <span class="field">站点:</span>{{gps.stationName}} 65 <span class="field">站点:</span>{{gps.stationName}}
60 </div> 66 </div>
61 <div> 67 <div>
src/main/resources/static/real_control_v2/js/utils/svg_chart_tooltip.js
@@ -13,6 +13,7 @@ var gb_svg_tooltip = (function () { @@ -13,6 +13,7 @@ var gb_svg_tooltip = (function () {
13 if (rect.attr('aria-describedby')) 13 if (rect.attr('aria-describedby'))
14 return; 14 return;
15 var gps = gb_data_gps.findOne($(this).attr('_id').split('_')[1]); 15 var gps = gb_data_gps.findOne($(this).attr('_id').split('_')[1]);
  16 + addPlateNo(gps);
16 $(this).qtip({ 17 $(this).qtip({
17 show: { 18 show: {
18 ready: true, 19 ready: true,
@@ -70,6 +71,7 @@ var gb_svg_tooltip = (function () { @@ -70,6 +71,7 @@ var gb_svg_tooltip = (function () {
70 }, 71 },
71 content: { 72 content: {
72 text: function () { 73 text: function () {
  74 + addPlateNo(gpsArray);
73 return temps['tooltip_multi_gps_temp']({list: gpsArray}); 75 return temps['tooltip_multi_gps_temp']({list: gpsArray});
74 } 76 }
75 }, 77 },
@@ -190,6 +192,7 @@ var gb_svg_tooltip = (function () { @@ -190,6 +192,7 @@ var gb_svg_tooltip = (function () {
190 */ 192 */
191 var refreshTooltip = function (deviceId, wrap) { 193 var refreshTooltip = function (deviceId, wrap) {
192 var gps = gb_data_gps.findOne(deviceId); 194 var gps = gb_data_gps.findOne(deviceId);
  195 + addPlateNo(gps);
193 196
194 var cont = temps['tooltip_gps_temp'](gps); 197 var cont = temps['tooltip_gps_temp'](gps);
195 var htmlStr = $(cont).find('.cont-text-panel').html(); 198 var htmlStr = $(cont).find('.cont-text-panel').html();
@@ -201,6 +204,21 @@ var gb_svg_tooltip = (function () { @@ -201,6 +204,21 @@ var gb_svg_tooltip = (function () {
201 //console.log('refreshTooltip htmlStr', htmlStr, wrap); 204 //console.log('refreshTooltip htmlStr', htmlStr, wrap);
202 }; 205 };
203 206
  207 + /**
  208 + * 为GPS附加车牌号
  209 + * @param gpsArray
  210 + */
  211 + function addPlateNo(gpsArray) {
  212 + if (!isArray(gpsArray))
  213 + gpsArray = [gpsArray];
  214 + try {
  215 + $.each(gpsArray, function () {
  216 + if(!this.plateNo)
  217 + this.plateNo = gb_data_basic.nbbm2PlateMap()[this.nbbm];
  218 + });
  219 + }catch (e){}
  220 + }
  221 +
204 return { 222 return {
205 update: updateFixedTip, 223 update: updateFixedTip,
206 refresh: refresh, 224 refresh: refresh,
src/main/resources/static/real_control_v2/mapmonitor/fragments/playback_v2/main.html
@@ -1021,7 +1021,7 @@ @@ -1021,7 +1021,7 @@
1021 //从localStorage 获取路段 1021 //从localStorage 获取路段
1022 routes = JSON.parse(storage.getItem(lineCode + '_route')); 1022 routes = JSON.parse(storage.getItem(lineCode + '_route'));
1023 routes = [routes.up_bd, routes.down_bd]; 1023 routes = [routes.up_bd, routes.down_bd];
1024 - switchPolyline(lineCode, updown); 1024 + switchPolyline(updown);
1025 }; 1025 };
1026 return { 1026 return {
1027 initData: initData, 1027 initData: initData,