Commit 6422d87e0284a085196c406e631f27bc5728bc69
Merge branch 'minhang' into pudong
Showing
19 changed files
with
2695 additions
and
1499 deletions
Too many changes to show.
To preserve performance only 19 of 57 files are displayed.
src/main/java/com/bsth/controller/realcontrol/ScheduleRealInfoController.java
| @@ -294,6 +294,21 @@ public class ScheduleRealInfoController extends BaseController<ScheduleRealInfo, | @@ -294,6 +294,21 @@ public class ScheduleRealInfoController extends BaseController<ScheduleRealInfo, | ||
| 294 | return scheduleRealInfoService.findKMBC(jGh, clZbh,lpName,date,line); | 294 | return scheduleRealInfoService.findKMBC(jGh, clZbh,lpName,date,line); |
| 295 | } | 295 | } |
| 296 | 296 | ||
| 297 | + /** | ||
| 298 | + * 路单公里统计 (闵行审计专用) | ||
| 299 | + * @param jGh | ||
| 300 | + * @param clZbh | ||
| 301 | + * @param lpName | ||
| 302 | + * @param date | ||
| 303 | + * @param line | ||
| 304 | + * @return | ||
| 305 | + */ | ||
| 306 | + @RequestMapping(value="/findKMBC_mh_2",method = RequestMethod.GET) | ||
| 307 | + public Map<String,Object> findKMBC_mh_2(@RequestParam String jGh,@RequestParam String clZbh,@RequestParam String lpName | ||
| 308 | + ,@RequestParam String date,@RequestParam String line){ | ||
| 309 | + return scheduleRealInfoService.findKMBC_mh_2(jGh, clZbh,lpName,date,line); | ||
| 310 | + } | ||
| 311 | + | ||
| 297 | @RequestMapping(value="/findKMBCQp",method = RequestMethod.GET) | 312 | @RequestMapping(value="/findKMBCQp",method = RequestMethod.GET) |
| 298 | public Map<String,Object> findKMBCQp(@RequestParam String clZbh | 313 | public Map<String,Object> findKMBCQp(@RequestParam String clZbh |
| 299 | ,@RequestParam String date,@RequestParam String line){ | 314 | ,@RequestParam String date,@RequestParam String line){ |
| @@ -337,6 +352,20 @@ public class ScheduleRealInfoController extends BaseController<ScheduleRealInfo, | @@ -337,6 +352,20 @@ public class ScheduleRealInfoController extends BaseController<ScheduleRealInfo, | ||
| 337 | return scheduleRealInfoService.queryListWaybill(jName, clZbh,lpName,date,line); | 352 | return scheduleRealInfoService.queryListWaybill(jName, clZbh,lpName,date,line); |
| 338 | } | 353 | } |
| 339 | 354 | ||
| 355 | + /** | ||
| 356 | + * @Title queryListWaybill | ||
| 357 | + * @Description 查询行车路单列表(闵行审计专用路单) | ||
| 358 | + * @param jName 驾驶员名字 | ||
| 359 | + * @param clZbh 车辆自编号(内部编号) | ||
| 360 | + * @param lpName 路牌 | ||
| 361 | + * @return | ||
| 362 | + */ | ||
| 363 | + @RequestMapping(value="/queryListWaybill_mh_2",method = RequestMethod.GET) | ||
| 364 | + public List<ScheduleRealInfo> queryListWaybill_mh_2(@RequestParam String jName,@RequestParam String clZbh,@RequestParam String lpName | ||
| 365 | + ,@RequestParam String date,@RequestParam String line){ | ||
| 366 | + return scheduleRealInfoService.queryListWaybill2(jName, clZbh,lpName,date,line); | ||
| 367 | + } | ||
| 368 | + | ||
| 340 | @RequestMapping(value="/queryListWaybillQp",method = RequestMethod.GET) | 369 | @RequestMapping(value="/queryListWaybillQp",method = RequestMethod.GET) |
| 341 | public List<ScheduleRealInfo> queryListWaybillQp(@RequestParam String clZbh, | 370 | public List<ScheduleRealInfo> queryListWaybillQp(@RequestParam String clZbh, |
| 342 | @RequestParam String date,@RequestParam String line){ | 371 | @RequestParam String date,@RequestParam String line){ |
| @@ -349,6 +378,12 @@ public class ScheduleRealInfoController extends BaseController<ScheduleRealInfo, | @@ -349,6 +378,12 @@ public class ScheduleRealInfoController extends BaseController<ScheduleRealInfo, | ||
| 349 | return scheduleRealInfoService.statisticsDaily(line, date, xlName, type); | 378 | return scheduleRealInfoService.statisticsDaily(line, date, xlName, type); |
| 350 | } | 379 | } |
| 351 | 380 | ||
| 381 | + @RequestMapping(value="/statisticsDaily_mh_2") | ||
| 382 | + public List<Map<String,Object>> statisticsDaily_mh_2(@RequestParam String line, @RequestParam String date, | ||
| 383 | + @RequestParam String xlName, @RequestParam String type){ | ||
| 384 | + return scheduleRealInfoService.statisticsDaily_mh_2(line, date, xlName, type); | ||
| 385 | + } | ||
| 386 | + | ||
| 352 | @RequestMapping(value="/statisticsDailyTj") | 387 | @RequestMapping(value="/statisticsDailyTj") |
| 353 | public List<Map<String,Object>> statisticsDailyTj(@RequestParam Map<String, Object> map){ | 388 | public List<Map<String,Object>> statisticsDailyTj(@RequestParam Map<String, Object> map){ |
| 354 | String gsdm=""; | 389 | String gsdm=""; |
| @@ -404,6 +439,11 @@ public class ScheduleRealInfoController extends BaseController<ScheduleRealInfo, | @@ -404,6 +439,11 @@ public class ScheduleRealInfoController extends BaseController<ScheduleRealInfo, | ||
| 404 | return scheduleRealInfoService.realScheduleList(line,date); | 439 | return scheduleRealInfoService.realScheduleList(line,date); |
| 405 | } | 440 | } |
| 406 | 441 | ||
| 442 | + @RequestMapping(value="/realScheduleList_mh_2") | ||
| 443 | + public List<ScheduleRealInfo> realScheduleList_mh_2(@RequestParam String line,@RequestParam String date){ | ||
| 444 | + return scheduleRealInfoService.realScheduleList_mh_2(line,date); | ||
| 445 | + } | ||
| 446 | + | ||
| 407 | @RequestMapping(value="/realScheduleListQp") | 447 | @RequestMapping(value="/realScheduleListQp") |
| 408 | public List<ScheduleRealInfo> realScheduleListQp(@RequestParam String line,@RequestParam String date){ | 448 | public List<ScheduleRealInfo> realScheduleListQp(@RequestParam String line,@RequestParam String date){ |
| 409 | return scheduleRealInfoService.realScheduleListQp(line,date); | 449 | return scheduleRealInfoService.realScheduleListQp(line,date); |
src/main/java/com/bsth/controller/report/ReportController.java
| @@ -261,4 +261,10 @@ public class ReportController { | @@ -261,4 +261,10 @@ public class ReportController { | ||
| 261 | return service.userList(map); | 261 | return service.userList(map); |
| 262 | } | 262 | } |
| 263 | 263 | ||
| 264 | + @RequestMapping(value="/countLineMileage") | ||
| 265 | + public List<Map<String,Object>> countLineMileage(@RequestParam Map<String, Object> map){ | ||
| 266 | + | ||
| 267 | + return service.countByList(map); | ||
| 268 | + } | ||
| 269 | + | ||
| 264 | } | 270 | } |
src/main/java/com/bsth/data/gpsdata/arrival/handlers/InOutStationSignalHandle.java
| @@ -96,10 +96,15 @@ public class InOutStationSignalHandle extends SignalHandle{ | @@ -96,10 +96,15 @@ public class InOutStationSignalHandle extends SignalHandle{ | ||
| 96 | } | 96 | } |
| 97 | 97 | ||
| 98 | //从站内到另一个站内 | 98 | //从站内到另一个站内 |
| 99 | - if(prev.getInstation() > 0 && gps.getInstation() > 0 | 99 | + if(prev.getInstation() == 1 && gps.getInstation() == 1 |
| 100 | && !prev.getStopNo().equals(gps.getStopNo()) | 100 | && !prev.getStopNo().equals(gps.getStopNo()) |
| 101 | && !prev.getStation().getName().equals(gps.getStation().getName())) | 101 | && !prev.getStation().getName().equals(gps.getStation().getName())) |
| 102 | return true; | 102 | return true; |
| 103 | + | ||
| 104 | + //从场内到站内 | ||
| 105 | + if(prev.getInstation() == 2 && gps.getInstation() == 1){ | ||
| 106 | + return true; | ||
| 107 | + } | ||
| 103 | return false; | 108 | return false; |
| 104 | } | 109 | } |
| 105 | 110 |
src/main/java/com/bsth/data/pilot80/PilotReport.java
| @@ -181,7 +181,7 @@ public class PilotReport { | @@ -181,7 +181,7 @@ public class PilotReport { | ||
| 181 | sch.setZdsjActualAll(d80.getTimestamp()); | 181 | sch.setZdsjActualAll(d80.getTimestamp()); |
| 182 | 182 | ||
| 183 | //没有里程的进场班次 | 183 | //没有里程的进场班次 |
| 184 | - if(sch.getBcsj() == null && sch.getJhlc() == null) | 184 | + if(isEmpty(sch.getBcsj()) && isEmpty(sch.getJhlc())) |
| 185 | sch.setFcsjActualAll(d80.getTimestamp()); | 185 | sch.setFcsjActualAll(d80.getTimestamp()); |
| 186 | 186 | ||
| 187 | dayOfSchedule.save(sch); | 187 | dayOfSchedule.save(sch); |
| @@ -190,6 +190,14 @@ public class PilotReport { | @@ -190,6 +190,14 @@ public class PilotReport { | ||
| 190 | } | 190 | } |
| 191 | } | 191 | } |
| 192 | } | 192 | } |
| 193 | + | ||
| 194 | + public boolean isEmpty(Integer v){ | ||
| 195 | + return v == null || v.equals(0); | ||
| 196 | + } | ||
| 197 | + | ||
| 198 | + public boolean isEmpty(Double v){ | ||
| 199 | + return v == null || v.equals(0); | ||
| 200 | + } | ||
| 193 | 201 | ||
| 194 | public void defaultReply(String nbbm, short requestCode, boolean agree){ | 202 | public void defaultReply(String nbbm, short requestCode, boolean agree){ |
| 195 | Line line = BasicData.nbbm2LineMap.get(nbbm); | 203 | Line line = BasicData.nbbm2LineMap.get(nbbm); |
src/main/java/com/bsth/service/gps/entity/HistoryGps_DTOV3.java
| 1 | -package com.bsth.service.gps.entity; | ||
| 2 | - | ||
| 3 | -import com.alibaba.fastjson.JSON; | ||
| 4 | -import com.alibaba.fastjson.JSONObject; | ||
| 5 | -import com.bsth.data.forecast.entity.ArrivalEntity; | ||
| 6 | -import com.fasterxml.jackson.annotation.JsonIgnore; | ||
| 7 | -import com.vividsolutions.jts.geom.Coordinate; | ||
| 8 | -import com.vividsolutions.jts.geom.GeometryFactory; | ||
| 9 | -import com.vividsolutions.jts.geom.Point; | ||
| 10 | - | ||
| 11 | -import java.util.List; | ||
| 12 | -import java.util.Map; | ||
| 13 | - | ||
| 14 | -/** | ||
| 15 | - * 历史GPS DTO | ||
| 16 | - * Created by panzhao on 2017/4/5. | ||
| 17 | - */ | ||
| 18 | -public class HistoryGps_DTOV3 { | ||
| 19 | - | ||
| 20 | - public static List<HistoryGps_DTOV3> craete(List<Map<String, Object>> mapList) { | ||
| 21 | - List<HistoryGps_DTOV3> list = JSONObject.parseArray(JSON.toJSONString(mapList), HistoryGps_DTOV3.class); | ||
| 22 | - | ||
| 23 | - GeometryFactory geometryFactory = new GeometryFactory(); | ||
| 24 | - Point point; | ||
| 25 | - for (HistoryGps_DTOV3 gps : list) { | ||
| 26 | - point = geometryFactory.createPoint(new Coordinate(gps.getLat(), gps.getLon())); | ||
| 27 | - gps.setPoint(point); | ||
| 28 | - } | ||
| 29 | - return list; | ||
| 30 | - } | ||
| 31 | - | ||
| 32 | - | ||
| 33 | - private double bd_lon; | ||
| 34 | - private double bd_lat; | ||
| 35 | - | ||
| 36 | - private double lon; | ||
| 37 | - private double lat; | ||
| 38 | - | ||
| 39 | - private String deviceId; | ||
| 40 | - private long ts; | ||
| 41 | - private long timestamp; | ||
| 42 | - private String stopNo; | ||
| 43 | - private float direction; | ||
| 44 | - | ||
| 45 | - private String lineId; | ||
| 46 | - private float speed; | ||
| 47 | - private ArrivalEntity inout_stop_info; | ||
| 48 | - private int inout_stop; | ||
| 49 | - | ||
| 50 | - private String nbbm; | ||
| 51 | - private int state; | ||
| 52 | - private int upDown; | ||
| 53 | - | ||
| 54 | - private String section_code; | ||
| 55 | - private String section_name; | ||
| 56 | - | ||
| 57 | - @JsonIgnore | ||
| 58 | - private Point point; | ||
| 59 | - | ||
| 60 | - @Override | ||
| 61 | - public int hashCode() { | ||
| 62 | - return this.toString().hashCode(); | ||
| 63 | - } | ||
| 64 | - | ||
| 65 | - @Override | ||
| 66 | - public boolean equals(Object obj) { | ||
| 67 | - HistoryGps_DTOV3 g2 = (HistoryGps_DTOV3) obj; | ||
| 68 | - return this.toString().equals(g2.toString()); | ||
| 69 | - } | ||
| 70 | - | ||
| 71 | - | ||
| 72 | - @Override | ||
| 73 | - public String toString() { | ||
| 74 | - return (this.getDeviceId() + "_" + (inout_stop_info==null?this.getStopNo():inout_stop_info.getStopName()) + "_" + this.getTs() + "_" + this.getLon() + "_" + this.getLat()); | ||
| 75 | - } | ||
| 76 | - | ||
| 77 | - public double getBd_lon() { | ||
| 78 | - return bd_lon; | ||
| 79 | - } | ||
| 80 | - | ||
| 81 | - public void setBd_lon(double bd_lon) { | ||
| 82 | - this.bd_lon = bd_lon; | ||
| 83 | - } | ||
| 84 | - | ||
| 85 | - public double getBd_lat() { | ||
| 86 | - return bd_lat; | ||
| 87 | - } | ||
| 88 | - | ||
| 89 | - public void setBd_lat(double bd_lat) { | ||
| 90 | - this.bd_lat = bd_lat; | ||
| 91 | - } | ||
| 92 | - | ||
| 93 | - public String getDeviceId() { | ||
| 94 | - return deviceId; | ||
| 95 | - } | ||
| 96 | - | ||
| 97 | - public void setDeviceId(String deviceId) { | ||
| 98 | - this.deviceId = deviceId; | ||
| 99 | - } | ||
| 100 | - | ||
| 101 | - public long getTs() { | ||
| 102 | - return ts; | ||
| 103 | - } | ||
| 104 | - | ||
| 105 | - public void setTs(long ts) { | ||
| 106 | - this.ts = ts; | ||
| 107 | - } | ||
| 108 | - | ||
| 109 | - public long getTimestamp() { | ||
| 110 | - return timestamp; | ||
| 111 | - } | ||
| 112 | - | ||
| 113 | - public void setTimestamp(long timestamp) { | ||
| 114 | - this.timestamp = timestamp; | ||
| 115 | - } | ||
| 116 | - | ||
| 117 | - public String getStopNo() { | ||
| 118 | - return stopNo; | ||
| 119 | - } | ||
| 120 | - | ||
| 121 | - public void setStopNo(String stopNo) { | ||
| 122 | - this.stopNo = stopNo; | ||
| 123 | - } | ||
| 124 | - | ||
| 125 | - public float getDirection() { | ||
| 126 | - return direction; | ||
| 127 | - } | ||
| 128 | - | ||
| 129 | - public void setDirection(float direction) { | ||
| 130 | - this.direction = direction; | ||
| 131 | - } | ||
| 132 | - | ||
| 133 | - public String getLineId() { | ||
| 134 | - return lineId; | ||
| 135 | - } | ||
| 136 | - | ||
| 137 | - public void setLineId(String lineId) { | ||
| 138 | - this.lineId = lineId; | ||
| 139 | - } | ||
| 140 | - | ||
| 141 | - public float getSpeed() { | ||
| 142 | - return speed; | ||
| 143 | - } | ||
| 144 | - | ||
| 145 | - public void setSpeed(float speed) { | ||
| 146 | - this.speed = speed; | ||
| 147 | - } | ||
| 148 | - | ||
| 149 | - public ArrivalEntity getInout_stop_info() { | ||
| 150 | - return inout_stop_info; | ||
| 151 | - } | ||
| 152 | - | ||
| 153 | - public void setInout_stop_info(ArrivalEntity inout_stop_info) { | ||
| 154 | - this.inout_stop_info = inout_stop_info; | ||
| 155 | - } | ||
| 156 | - | ||
| 157 | - public int getInout_stop() { | ||
| 158 | - return inout_stop; | ||
| 159 | - } | ||
| 160 | - | ||
| 161 | - public void setInout_stop(int inout_stop) { | ||
| 162 | - this.inout_stop = inout_stop; | ||
| 163 | - } | ||
| 164 | - | ||
| 165 | - public String getNbbm() { | ||
| 166 | - return nbbm; | ||
| 167 | - } | ||
| 168 | - | ||
| 169 | - public void setNbbm(String nbbm) { | ||
| 170 | - this.nbbm = nbbm; | ||
| 171 | - } | ||
| 172 | - | ||
| 173 | - public int getState() { | ||
| 174 | - return state; | ||
| 175 | - } | ||
| 176 | - | ||
| 177 | - public void setState(int state) { | ||
| 178 | - this.state = state; | ||
| 179 | - } | ||
| 180 | - | ||
| 181 | - public int getUpDown() { | ||
| 182 | - return upDown; | ||
| 183 | - } | ||
| 184 | - | ||
| 185 | - public void setUpDown(int upDown) { | ||
| 186 | - this.upDown = upDown; | ||
| 187 | - } | ||
| 188 | - | ||
| 189 | - public double getLon() { | ||
| 190 | - return lon; | ||
| 191 | - } | ||
| 192 | - | ||
| 193 | - public void setLon(double lon) { | ||
| 194 | - this.lon = lon; | ||
| 195 | - } | ||
| 196 | - | ||
| 197 | - public double getLat() { | ||
| 198 | - return lat; | ||
| 199 | - } | ||
| 200 | - | ||
| 201 | - public void setLat(double lat) { | ||
| 202 | - this.lat = lat; | ||
| 203 | - } | ||
| 204 | - | ||
| 205 | - public Point getPoint() { | ||
| 206 | - return point; | ||
| 207 | - } | ||
| 208 | - | ||
| 209 | - public void setPoint(Point point) { | ||
| 210 | - this.point = point; | ||
| 211 | - } | ||
| 212 | - | ||
| 213 | - public String getSection_code() { | ||
| 214 | - return section_code; | ||
| 215 | - } | ||
| 216 | - | ||
| 217 | - public void setSection_code(String section_code) { | ||
| 218 | - this.section_code = section_code; | ||
| 219 | - } | ||
| 220 | - | ||
| 221 | - public String getSection_name() { | ||
| 222 | - return section_name; | ||
| 223 | - } | ||
| 224 | - | ||
| 225 | - public void setSection_name(String section_name) { | ||
| 226 | - this.section_name = section_name; | ||
| 227 | - } | ||
| 228 | -} | 1 | +package com.bsth.service.gps.entity; |
| 2 | + | ||
| 3 | +import com.alibaba.fastjson.JSON; | ||
| 4 | +import com.alibaba.fastjson.JSONObject; | ||
| 5 | +import com.bsth.data.forecast.entity.ArrivalEntity; | ||
| 6 | +import com.fasterxml.jackson.annotation.JsonIgnore; | ||
| 7 | +import com.vividsolutions.jts.geom.Coordinate; | ||
| 8 | +import com.vividsolutions.jts.geom.GeometryFactory; | ||
| 9 | +import com.vividsolutions.jts.geom.Point; | ||
| 10 | + | ||
| 11 | +import java.util.List; | ||
| 12 | +import java.util.Map; | ||
| 13 | + | ||
| 14 | +/** | ||
| 15 | + * 历史GPS DTO | ||
| 16 | + * Created by panzhao on 2017/4/5. | ||
| 17 | + */ | ||
| 18 | +public class HistoryGps_DTOV3 { | ||
| 19 | + | ||
| 20 | + public static List<HistoryGps_DTOV3> craete(List<Map<String, Object>> mapList) { | ||
| 21 | + List<HistoryGps_DTOV3> list = JSONObject.parseArray(JSON.toJSONString(mapList), HistoryGps_DTOV3.class); | ||
| 22 | + | ||
| 23 | + GeometryFactory geometryFactory = new GeometryFactory(); | ||
| 24 | + Point point; | ||
| 25 | + for (HistoryGps_DTOV3 gps : list) { | ||
| 26 | + point = geometryFactory.createPoint(new Coordinate(gps.getLat(), gps.getLon())); | ||
| 27 | + gps.setPoint(point); | ||
| 28 | + } | ||
| 29 | + return list; | ||
| 30 | + } | ||
| 31 | + | ||
| 32 | + | ||
| 33 | + private double bd_lon; | ||
| 34 | + private double bd_lat; | ||
| 35 | + | ||
| 36 | + private double lon; | ||
| 37 | + private double lat; | ||
| 38 | + | ||
| 39 | + private String deviceId; | ||
| 40 | + private long ts; | ||
| 41 | + private long timestamp; | ||
| 42 | + private String stopNo; | ||
| 43 | + private float direction; | ||
| 44 | + | ||
| 45 | + private String lineId; | ||
| 46 | + private float speed; | ||
| 47 | + private ArrivalEntity inout_stop_info; | ||
| 48 | + private int inout_stop; | ||
| 49 | + | ||
| 50 | + private String nbbm; | ||
| 51 | + private int state; | ||
| 52 | + private int upDown; | ||
| 53 | + | ||
| 54 | + private String section_code; | ||
| 55 | + private String section_name; | ||
| 56 | + | ||
| 57 | + @JsonIgnore | ||
| 58 | + private Point point; | ||
| 59 | + | ||
| 60 | + @Override | ||
| 61 | + public int hashCode() { | ||
| 62 | + return this.toString().hashCode(); | ||
| 63 | + } | ||
| 64 | + | ||
| 65 | + @Override | ||
| 66 | + public boolean equals(Object obj) { | ||
| 67 | + HistoryGps_DTOV3 g2 = (HistoryGps_DTOV3) obj; | ||
| 68 | + return this.toString().equals(g2.toString()); | ||
| 69 | + } | ||
| 70 | + | ||
| 71 | + | ||
| 72 | + @Override | ||
| 73 | + public String toString() { | ||
| 74 | + return (this.getDeviceId() + "_" + (inout_stop_info==null?this.getStopNo():inout_stop_info.getStopName()) + "_" + this.getTs() + "_" + this.getLon() + "_" + this.getLat()); | ||
| 75 | + } | ||
| 76 | + | ||
| 77 | + public double getBd_lon() { | ||
| 78 | + return bd_lon; | ||
| 79 | + } | ||
| 80 | + | ||
| 81 | + public void setBd_lon(double bd_lon) { | ||
| 82 | + this.bd_lon = bd_lon; | ||
| 83 | + } | ||
| 84 | + | ||
| 85 | + public double getBd_lat() { | ||
| 86 | + return bd_lat; | ||
| 87 | + } | ||
| 88 | + | ||
| 89 | + public void setBd_lat(double bd_lat) { | ||
| 90 | + this.bd_lat = bd_lat; | ||
| 91 | + } | ||
| 92 | + | ||
| 93 | + public String getDeviceId() { | ||
| 94 | + return deviceId; | ||
| 95 | + } | ||
| 96 | + | ||
| 97 | + public void setDeviceId(String deviceId) { | ||
| 98 | + this.deviceId = deviceId; | ||
| 99 | + } | ||
| 100 | + | ||
| 101 | + public long getTs() { | ||
| 102 | + return ts; | ||
| 103 | + } | ||
| 104 | + | ||
| 105 | + public void setTs(long ts) { | ||
| 106 | + this.ts = ts; | ||
| 107 | + } | ||
| 108 | + | ||
| 109 | + public long getTimestamp() { | ||
| 110 | + return timestamp; | ||
| 111 | + } | ||
| 112 | + | ||
| 113 | + public void setTimestamp(long timestamp) { | ||
| 114 | + this.timestamp = timestamp; | ||
| 115 | + } | ||
| 116 | + | ||
| 117 | + public String getStopNo() { | ||
| 118 | + return stopNo; | ||
| 119 | + } | ||
| 120 | + | ||
| 121 | + public void setStopNo(String stopNo) { | ||
| 122 | + this.stopNo = stopNo; | ||
| 123 | + } | ||
| 124 | + | ||
| 125 | + public float getDirection() { | ||
| 126 | + return direction; | ||
| 127 | + } | ||
| 128 | + | ||
| 129 | + public void setDirection(float direction) { | ||
| 130 | + this.direction = direction; | ||
| 131 | + } | ||
| 132 | + | ||
| 133 | + public String getLineId() { | ||
| 134 | + return lineId; | ||
| 135 | + } | ||
| 136 | + | ||
| 137 | + public void setLineId(String lineId) { | ||
| 138 | + this.lineId = lineId; | ||
| 139 | + } | ||
| 140 | + | ||
| 141 | + public float getSpeed() { | ||
| 142 | + return speed; | ||
| 143 | + } | ||
| 144 | + | ||
| 145 | + public void setSpeed(float speed) { | ||
| 146 | + this.speed = speed; | ||
| 147 | + } | ||
| 148 | + | ||
| 149 | + public ArrivalEntity getInout_stop_info() { | ||
| 150 | + return inout_stop_info; | ||
| 151 | + } | ||
| 152 | + | ||
| 153 | + public void setInout_stop_info(ArrivalEntity inout_stop_info) { | ||
| 154 | + this.inout_stop_info = inout_stop_info; | ||
| 155 | + } | ||
| 156 | + | ||
| 157 | + public int getInout_stop() { | ||
| 158 | + return inout_stop; | ||
| 159 | + } | ||
| 160 | + | ||
| 161 | + public void setInout_stop(int inout_stop) { | ||
| 162 | + this.inout_stop = inout_stop; | ||
| 163 | + } | ||
| 164 | + | ||
| 165 | + public String getNbbm() { | ||
| 166 | + return nbbm; | ||
| 167 | + } | ||
| 168 | + | ||
| 169 | + public void setNbbm(String nbbm) { | ||
| 170 | + this.nbbm = nbbm; | ||
| 171 | + } | ||
| 172 | + | ||
| 173 | + public int getState() { | ||
| 174 | + return state; | ||
| 175 | + } | ||
| 176 | + | ||
| 177 | + public void setState(int state) { | ||
| 178 | + this.state = state; | ||
| 179 | + } | ||
| 180 | + | ||
| 181 | + public int getUpDown() { | ||
| 182 | + return upDown; | ||
| 183 | + } | ||
| 184 | + | ||
| 185 | + public void setUpDown(int upDown) { | ||
| 186 | + this.upDown = upDown; | ||
| 187 | + } | ||
| 188 | + | ||
| 189 | + public double getLon() { | ||
| 190 | + return lon; | ||
| 191 | + } | ||
| 192 | + | ||
| 193 | + public void setLon(double lon) { | ||
| 194 | + this.lon = lon; | ||
| 195 | + } | ||
| 196 | + | ||
| 197 | + public double getLat() { | ||
| 198 | + return lat; | ||
| 199 | + } | ||
| 200 | + | ||
| 201 | + public void setLat(double lat) { | ||
| 202 | + this.lat = lat; | ||
| 203 | + } | ||
| 204 | + | ||
| 205 | + public Point getPoint() { | ||
| 206 | + return point; | ||
| 207 | + } | ||
| 208 | + | ||
| 209 | + public void setPoint(Point point) { | ||
| 210 | + this.point = point; | ||
| 211 | + } | ||
| 212 | + | ||
| 213 | + public String getSection_code() { | ||
| 214 | + return section_code; | ||
| 215 | + } | ||
| 216 | + | ||
| 217 | + public void setSection_code(String section_code) { | ||
| 218 | + this.section_code = section_code; | ||
| 219 | + } | ||
| 220 | + | ||
| 221 | + public String getSection_name() { | ||
| 222 | + return section_name; | ||
| 223 | + } | ||
| 224 | + | ||
| 225 | + public void setSection_name(String section_name) { | ||
| 226 | + this.section_name = section_name; | ||
| 227 | + } | ||
| 228 | +} |
src/main/java/com/bsth/service/realcontrol/ScheduleRealInfoService.java
| @@ -172,4 +172,12 @@ public interface ScheduleRealInfoService extends BaseService<ScheduleRealInfo, L | @@ -172,4 +172,12 @@ public interface ScheduleRealInfoService extends BaseService<ScheduleRealInfo, L | ||
| 172 | Map<String,Object> addToHistory(ScheduleRealInfo sch); | 172 | Map<String,Object> addToHistory(ScheduleRealInfo sch); |
| 173 | 173 | ||
| 174 | Map<String, Object> deleteToHistory(Long id); | 174 | Map<String, Object> deleteToHistory(Long id); |
| 175 | + | ||
| 176 | + List<ScheduleRealInfo> queryListWaybill2(String jName, String clZbh, String lpName, String date, String line); | ||
| 177 | + | ||
| 178 | + Map<String,Object> findKMBC_mh_2(String jGh, String clZbh, String lpName, String date, String line); | ||
| 179 | + | ||
| 180 | + List<Map<String,Object>> statisticsDaily_mh_2(String line, String date, String xlName, String type); | ||
| 181 | + | ||
| 182 | + List<ScheduleRealInfo> realScheduleList_mh_2(String line, String date); | ||
| 175 | } | 183 | } |
src/main/java/com/bsth/service/realcontrol/impl/ScheduleRealInfoServiceImpl.java
| @@ -733,13 +733,6 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -733,13 +733,6 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 733 | state = state + "+1"; | 733 | state = state + "+1"; |
| 734 | type = "ASC"; | 734 | type = "ASC"; |
| 735 | } | 735 | } |
| 736 | - /*String sqlPlan = "select min(s.id) as id,s.j_Gh as jGh,s.cl_Zbh as clZbh," | ||
| 737 | - + " s.lp_Name as lpName,s.j_Name as jName,min(s.schedule_date_str) as dateStr ," | ||
| 738 | - + " min(s.fcsj) as fcsj, min(s.schedule_date) as date" | ||
| 739 | - + " from bsth_c_s_sp_info_real s " | ||
| 740 | - + " where s.xl_Bm = '" + line + "' and DATE_FORMAT(s.schedule_Date,'%Y-%m-%d') ='" + date + "' " | ||
| 741 | - + " GROUP BY s.j_Gh,s.cl_Zbh,s.lp_Name ,s.j_Name" | ||
| 742 | - + " order by (" + state + "),dateStr,fcsj " + type;*/ | ||
| 743 | String sqlMinYysj="select start_opt from bsth_c_line_config where " | 736 | String sqlMinYysj="select start_opt from bsth_c_line_config where " |
| 744 | + " id = (" | 737 | + " id = (" |
| 745 | + "select max(id) from bsth_c_line_config where line ='"+BasicData.lineId2CodeMap.inverse().get(line) +"'" | 738 | + "select max(id) from bsth_c_line_config where line ='"+BasicData.lineId2CodeMap.inverse().get(line) +"'" |
| @@ -773,43 +766,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -773,43 +766,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 773 | } | 766 | } |
| 774 | }); | 767 | }); |
| 775 | if (lpname.equals("lpName")) { | 768 | if (lpname.equals("lpName")) { |
| 776 | - /* SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm"); | ||
| 777 | - String sqlMinYysj="select start_opt from bsth_c_line_config where " | ||
| 778 | - + " id = (" | ||
| 779 | - + "select max(id) from bsth_c_line_config where line ='"+BasicData.lineId2CodeMap.inverse().get(line) +"'" | ||
| 780 | - + ")"; | ||
| 781 | - String minfcsj=jdbcTemplate.queryForObject(sqlMinYysj, String.class); | ||
| 782 | - String[] minSjs = minfcsj.split(":"); | ||
| 783 | - Long minSj=Long.parseLong(minSjs[0])*60+Long.parseLong(minSjs[1]); | ||
| 784 | - for (int i = 0; i < list.size(); i++) { | ||
| 785 | - ScheduleRealInfo s=list.get(i); | ||
| 786 | - String[] fcsj= s.getFcsj().split(":"); | ||
| 787 | - Long fcsjL=Long.parseLong(fcsj[0])*60+Long.parseLong(fcsj[1]); | ||
| 788 | - | ||
| 789 | - Long fscjT=0L; | ||
| 790 | - if(fcsjL<minSj){ | ||
| 791 | - Calendar calendar = new GregorianCalendar(); | ||
| 792 | - calendar.setTime(s.getScheduleDate()); | ||
| 793 | - calendar.add(calendar.DATE,1); | ||
| 794 | - s.setScheduleDate(calendar.getTime()); | ||
| 795 | - try { | ||
| 796 | - fscjT = sdf.parse(sdf.format(s.getScheduleDate())+" "+s.getFcsj()).getTime(); | ||
| 797 | - } catch (ParseException e) { | ||
| 798 | - // TODO Auto-generated catch block | ||
| 799 | - e.printStackTrace(); | ||
| 800 | - } | ||
| 801 | - | ||
| 802 | - }else{ | ||
| 803 | - try { | ||
| 804 | - fscjT =sdf.parse(s.getScheduleDateStr()+" "+s.getFcsj()).getTime(); | ||
| 805 | - } catch (ParseException e) { | ||
| 806 | - // TODO Auto-generated catch block | ||
| 807 | - e.printStackTrace(); | ||
| 808 | - }; | ||
| 809 | - } | ||
| 810 | - s.setFcsjT(fscjT); | ||
| 811 | - } | ||
| 812 | - Collections.sort(list, new ComparableReal());*/ | 769 | + |
| 813 | List<ScheduleRealInfo> listNew = new ArrayList<ScheduleRealInfo>(); | 770 | List<ScheduleRealInfo> listNew = new ArrayList<ScheduleRealInfo>(); |
| 814 | Pattern pattern = Pattern.compile("^[-\\+]?[\\d]*$"); | 771 | Pattern pattern = Pattern.compile("^[-\\+]?[\\d]*$"); |
| 815 | // if (px.equals("desc")) { | 772 | // if (px.equals("desc")) { |
| @@ -826,9 +783,6 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -826,9 +783,6 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 826 | listNew.add(t); | 783 | listNew.add(t); |
| 827 | } | 784 | } |
| 828 | } else { | 785 | } else { |
| 829 | -// if (zt == 2) { | ||
| 830 | -// listNew.add(t); | ||
| 831 | -// } | ||
| 832 | continue; | 786 | continue; |
| 833 | } | 787 | } |
| 834 | } | 788 | } |
| @@ -846,30 +800,6 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -846,30 +800,6 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 846 | listNew.add(t); | 800 | listNew.add(t); |
| 847 | } | 801 | } |
| 848 | } | 802 | } |
| 849 | - /*} else { | ||
| 850 | - int zt = 0; | ||
| 851 | - for (int l = 0; l < 3; l++) { | ||
| 852 | - for (int i = 0; i < list.size(); i++) { | ||
| 853 | - ScheduleRealInfo t = list.get(i); | ||
| 854 | - if (t.getLpName().indexOf("+") != -1) { | ||
| 855 | - if (zt == 2) { | ||
| 856 | - listNew.add(t); | ||
| 857 | - } | ||
| 858 | - | ||
| 859 | - } else if (pattern.matcher(t.getLpName()).matches()) { | ||
| 860 | - if (zt == 1) { | ||
| 861 | - listNew.add(t); | ||
| 862 | - } | ||
| 863 | - } else { | ||
| 864 | - if (zt == 0) { | ||
| 865 | - listNew.add(t); | ||
| 866 | - } | ||
| 867 | - } | ||
| 868 | - } | ||
| 869 | - zt++; | ||
| 870 | - } | ||
| 871 | - | ||
| 872 | - }*/ | ||
| 873 | return listNew; | 803 | return listNew; |
| 874 | } else { | 804 | } else { |
| 875 | return list; | 805 | return list; |
| @@ -1089,14 +1019,6 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -1089,14 +1019,6 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 1089 | List<String> lineList = Lists.newArrayList(Splitter.on(',').trimResults().omitEmptyStrings().split(lineStr)); | 1019 | List<String> lineList = Lists.newArrayList(Splitter.on(',').trimResults().omitEmptyStrings().split(lineStr)); |
| 1090 | 1020 | ||
| 1091 | Map<Integer, Integer> map = new HashMap<>(); | 1021 | Map<Integer, Integer> map = new HashMap<>(); |
| 1092 | - /*Integer code; | ||
| 1093 | - for (String lineCode : lineList) { | ||
| 1094 | - code = Integer.parseInt(lineCode); | ||
| 1095 | - if (!ScheduleBuffer.trustMap.containsKey(lineCode)) | ||
| 1096 | - ScheduleBuffer.trustMap.put(code, 0); | ||
| 1097 | - | ||
| 1098 | - map.put(code, ScheduleBuffer.trustMap.get(code)); | ||
| 1099 | - }*/ | ||
| 1100 | return map; | 1022 | return map; |
| 1101 | } | 1023 | } |
| 1102 | 1024 | ||
| @@ -1184,17 +1106,6 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -1184,17 +1106,6 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 1184 | rs.put("status", ResponseCode.ERROR); | 1106 | rs.put("status", ResponseCode.ERROR); |
| 1185 | rs.put("msg", "无实发时间,无法撤销!"); | 1107 | rs.put("msg", "无实发时间,无法撤销!"); |
| 1186 | } else { | 1108 | } else { |
| 1187 | - //将对应的到离站数据标记为不可信 ### 废弃的代码 #### | ||
| 1188 | - /*List<ArrivalEntity> list = ArrivalData_GPS.findByNbbm(sch.getClZbh()); | ||
| 1189 | - for (ArrivalEntity arr : list) { | ||
| 1190 | - if (arr.getInOut() == 1 | ||
| 1191 | - && arr.getUpDown() == Integer.parseInt(sch.getXlDir()) | ||
| 1192 | - && arr.getStopNo().equals(sch.getQdzCode()) | ||
| 1193 | - && Math.abs(arr.getTs() - sch.getFcsjActualTime()) < 1000 * 60) { | ||
| 1194 | - arr.setEnable(false); | ||
| 1195 | - break; | ||
| 1196 | - } | ||
| 1197 | - }*/ | ||
| 1198 | //日志记录 | 1109 | //日志记录 |
| 1199 | ScheduleModifyLogger.cxsf(sch); | 1110 | ScheduleModifyLogger.cxsf(sch); |
| 1200 | 1111 | ||
| @@ -1671,122 +1582,66 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -1671,122 +1582,66 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 1671 | } | 1582 | } |
| 1672 | 1583 | ||
| 1673 | 1584 | ||
| 1674 | - /* @Override | ||
| 1675 | - public Map<String, Object> findKMBC(String jName, String clZbh, | 1585 | + public Map<String, Object> findKMBC(String jGh, String clZbh, |
| 1676 | String lpName, String date, String line) { | 1586 | String lpName, String date, String line) { |
| 1677 | - List<ScheduleRealInfo> list = scheduleRealInfoRepository.queryListWaybill(jName, clZbh, lpName, date, line); | ||
| 1678 | - DecimalFormat format = new DecimalFormat("0.00"); | ||
| 1679 | -// int cjbc = scheduleRealInfoRepository.findCjbc(jName, clZbh, lpName); | ||
| 1680 | -// int ljbc = scheduleRealInfoRepository.findLjbc(jName, clZbh, lpName); | ||
| 1681 | - int jhbc = 0, cjbc = 0, ljbc = 0; | ||
| 1682 | - double jhlc = 0, yygl = 0, ksgl = 0, tempJhlc = 0,jhlcOrig=0, jcclc = 0; | ||
| 1683 | - float addMileage = 0l, remMileage = 0l,addMileageYy = 0l,addMileageJc =0l; | ||
| 1684 | Map<String, Object> map = new HashMap<String, Object>(); | 1587 | Map<String, Object> map = new HashMap<String, Object>(); |
| 1685 | - for (ScheduleRealInfo scheduleRealInfo : list) { | ||
| 1686 | - if (scheduleRealInfo != null) { | ||
| 1687 | - //计划里程(主任务过滤掉临加班次), | ||
| 1688 | - //烂班里程(主任务烂班), | ||
| 1689 | - //临加里程(主任务临加), | ||
| 1690 | - //计划班次,烂班班次,增加班次 | ||
| 1691 | - tempJhlc = scheduleRealInfo.getJhlc() == null ? 0 : scheduleRealInfo.getJhlc(); | ||
| 1692 | - jhlcOrig = scheduleRealInfo.getJhlcOrig()==null?0:scheduleRealInfo.getJhlcOrig(); | ||
| 1693 | - | ||
| 1694 | - if (scheduleRealInfo.isSflj()) { | ||
| 1695 | - addMileage += tempJhlc; | ||
| 1696 | - if (scheduleRealInfo.getBcType().equals("in") | ||
| 1697 | - || scheduleRealInfo.getBcType().equals("out")) { | ||
| 1698 | - addMileageJc +=tempJhlc; | ||
| 1699 | - }else{ | ||
| 1700 | - ljbc++; | ||
| 1701 | - addMileageYy +=tempJhlc; | ||
| 1702 | - } | ||
| 1703 | - | ||
| 1704 | - } else { | ||
| 1705 | - if (!(scheduleRealInfo.getBcType().equals("in") | ||
| 1706 | - || scheduleRealInfo.getBcType().equals("out"))) { | ||
| 1707 | - jhbc++; | ||
| 1708 | - jhlc += jhlcOrig; | ||
| 1709 | - if (scheduleRealInfo.getStatus() == -1) { | ||
| 1710 | - remMileage += jhlcOrig; | ||
| 1711 | - cjbc++; | ||
| 1712 | - } | ||
| 1713 | - } | ||
| 1714 | - | ||
| 1715 | - } | ||
| 1716 | - Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks(); | ||
| 1717 | - //计算营运里程,空驶里程 | ||
| 1718 | - if (childTaskPlans.isEmpty()) { | ||
| 1719 | - if (scheduleRealInfo.getBcType().equals("in") || | ||
| 1720 | - scheduleRealInfo.getBcType().equals("out")) { | ||
| 1721 | - if (scheduleRealInfo.getStatus() != -1) { | ||
| 1722 | - jcclc += tempJhlc; | ||
| 1723 | - } | ||
| 1724 | - | ||
| 1725 | - } | ||
| 1726 | - //主任务 放空班次属于营运 | ||
| 1727 | -// else if(scheduleRealInfo.getBcType().equals("venting")){ | ||
| 1728 | -// ksgl += tempJhlc; | ||
| 1729 | -// } | ||
| 1730 | - else { | ||
| 1731 | - if (scheduleRealInfo.getStatus() != -1) { | ||
| 1732 | - yygl += tempJhlc; | ||
| 1733 | - } | ||
| 1734 | - } | ||
| 1735 | - } else { | ||
| 1736 | - Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); | ||
| 1737 | - while (it.hasNext()) { | ||
| 1738 | - ChildTaskPlan childTaskPlan = it.next(); | ||
| 1739 | - if (childTaskPlan.getMileageType().equals("empty")) { | ||
| 1740 | - if (childTaskPlan.isDestroy()) { | ||
| 1741 | - remMileage += childTaskPlan.getMileage() == null ? 0 : childTaskPlan.getMileage(); | ||
| 1742 | - } else { | ||
| 1743 | - ksgl += childTaskPlan.getMileage() == null ? 0 : childTaskPlan.getMileage(); | ||
| 1744 | - } | ||
| 1745 | - } else { | ||
| 1746 | - if (childTaskPlan.isDestroy()) { | ||
| 1747 | - remMileage += childTaskPlan.getMileage() == null ? 0 : childTaskPlan.getMileage(); | ||
| 1748 | -// cjbc++; | ||
| 1749 | - } else { | ||
| 1750 | - yygl += childTaskPlan.getMileage() == null ? 0 : childTaskPlan.getMileage(); | ||
| 1751 | - } | ||
| 1752 | - } | ||
| 1753 | - } | ||
| 1754 | - } | 1588 | + List<ScheduleRealInfo> list=scheduleRealInfoRepository.queryListWaybillXcld(jGh, clZbh, lpName, date, line); |
| 1589 | + List<ScheduleRealInfo> lists=new ArrayList<ScheduleRealInfo>(); | ||
| 1590 | + for (int i = 0; i < list.size(); i++) { | ||
| 1591 | + ScheduleRealInfo s=list.get(i); | ||
| 1592 | + Set<ChildTaskPlan> cts = s.getcTasks(); | ||
| 1593 | + if(cts != null && cts.size() > 0){ | ||
| 1594 | + lists.add(s); | ||
| 1595 | + }else{ | ||
| 1596 | + if(s.getZdsjActual()!=null){ | ||
| 1597 | + lists.add(s); | ||
| 1598 | + } | ||
| 1755 | } | 1599 | } |
| 1756 | } | 1600 | } |
| 1757 | - | ||
| 1758 | - //yygl 包含了临加的营运公里 jcclc包含了临加的进出场里程 | ||
| 1759 | - map.put("jhlc", format.format(jhlc)); | ||
| 1760 | - map.put("remMileage", format.format(remMileage)); | ||
| 1761 | - map.put("addMileage", format.format(addMileage)); | ||
| 1762 | - map.put("yygl", format.format(yygl)); | ||
| 1763 | - map.put("ksgl", format.format(ksgl)); | ||
| 1764 | - map.put("realMileage", format.format(yygl + ksgl + jcclc)); | ||
| 1765 | -// map.put("realMileage", format.format(yygl + ksgl + jcclc+addMileage)); | ||
| 1766 | - map.put("jhbc", jhbc); | ||
| 1767 | - map.put("cjbc", cjbc); | ||
| 1768 | - map.put("ljbc", ljbc); | ||
| 1769 | - map.put("sjbc", jhbc - cjbc + ljbc); | ||
| 1770 | - map.put("jcclc", jcclc); | ||
| 1771 | - map.put("zkslc", format.format(ksgl + jcclc)); | ||
| 1772 | -// map.put("zkslc", format.format(ksgl + jcclc+addMileageJc)); | 1601 | + double ksgl=culateService.culateKsgl(list); |
| 1602 | + double sjgl=culateService.culateSjgl(lists); | ||
| 1603 | + double jccgl=culateService.culateJccgl(lists); | ||
| 1604 | + double ljgl=culateService.culateLjgl(lists); | ||
| 1605 | + | ||
| 1606 | + map.put("jhlc", Arith.add(culateService.culateJhgl(list),culateService.culateJhJccgl(list))); //计划里程 | ||
| 1607 | + map.put("remMileage", culateService.culateLbgl(list)); //烂班公里 | ||
| 1608 | + map.put("addMileage", ljgl); //临加公里 | ||
| 1609 | + map.put("yygl",Arith.add(sjgl,ljgl)); //实际公里 | ||
| 1610 | + map.put("ksgl", ksgl);//空驶公里 | ||
| 1611 | + map.put("realMileage",Arith.add(Arith.add(ksgl,jccgl ),Arith.add(sjgl,ljgl))); | ||
| 1612 | +// map.put("realMileage", format.format(yygl + ksgl + jcclc+addMileage)); | ||
| 1613 | + map.put("jhbc", culateService.culateJhbc(list,"")); | ||
| 1614 | + map.put("cjbc", culateService.culateLbbc(list)); | ||
| 1615 | + map.put("ljbc", culateService.culateLjbc(lists,"")); | ||
| 1616 | + map.put("sjbc", culateService.culateJhbc(lists,"") - culateService.culateLbbc(lists) + culateService.culateLjbc(lists,"")); | ||
| 1617 | + map.put("jcclc", jccgl); | ||
| 1618 | + map.put("zkslc", Arith.add(ksgl,jccgl)); | ||
| 1619 | +// map.put("zkslc", format.format(ksgl + jcclc+addMileageJc)); | ||
| 1773 | return map; | 1620 | return map; |
| 1774 | - }*/ | 1621 | + } |
| 1775 | 1622 | ||
| 1776 | - public Map<String, Object> findKMBC(String jGh, String clZbh, | 1623 | + public Map<String, Object> findKMBC_mh_2(String jGh, String clZbh, |
| 1777 | String lpName, String date, String line) { | 1624 | String lpName, String date, String line) { |
| 1778 | Map<String, Object> map = new HashMap<String, Object>(); | 1625 | Map<String, Object> map = new HashMap<String, Object>(); |
| 1779 | List<ScheduleRealInfo> list=scheduleRealInfoRepository.queryListWaybillXcld(jGh, clZbh, lpName, date, line); | 1626 | List<ScheduleRealInfo> list=scheduleRealInfoRepository.queryListWaybillXcld(jGh, clZbh, lpName, date, line); |
| 1780 | List<ScheduleRealInfo> lists=new ArrayList<ScheduleRealInfo>(); | 1627 | List<ScheduleRealInfo> lists=new ArrayList<ScheduleRealInfo>(); |
| 1781 | for (int i = 0; i < list.size(); i++) { | 1628 | for (int i = 0; i < list.size(); i++) { |
| 1782 | ScheduleRealInfo s=list.get(i); | 1629 | ScheduleRealInfo s=list.get(i); |
| 1630 | + if(s.isDestroy() && s.isReissue()){ | ||
| 1631 | + s.setRemark(""); | ||
| 1632 | + s.setFcsjActual(s.getDfsj()); | ||
| 1633 | + s.setZdsjActual(s.getZdsj()); | ||
| 1634 | + s.setStatus(2); | ||
| 1635 | + s.setJhlc(s.getJhlcOrig()); | ||
| 1636 | + } | ||
| 1637 | + | ||
| 1783 | Set<ChildTaskPlan> cts = s.getcTasks(); | 1638 | Set<ChildTaskPlan> cts = s.getcTasks(); |
| 1784 | if(cts != null && cts.size() > 0){ | 1639 | if(cts != null && cts.size() > 0){ |
| 1785 | - lists.add(s); | 1640 | + lists.add(s); |
| 1786 | }else{ | 1641 | }else{ |
| 1787 | - if(s.getZdsjActual()!=null){ | ||
| 1788 | - lists.add(s); | ||
| 1789 | - } | 1642 | + if(s.getZdsjActual()!=null){ |
| 1643 | + lists.add(s); | ||
| 1644 | + } | ||
| 1790 | } | 1645 | } |
| 1791 | } | 1646 | } |
| 1792 | double ksgl=culateService.culateKsgl(list); | 1647 | double ksgl=culateService.culateKsgl(list); |
| @@ -1905,63 +1760,6 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -1905,63 +1760,6 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 1905 | 1760 | ||
| 1906 | return listMap; | 1761 | return listMap; |
| 1907 | } | 1762 | } |
| 1908 | - | ||
| 1909 | - /* @Override | ||
| 1910 | - public List<ScheduleRealInfo> correctForm(String line, String startDate, | ||
| 1911 | - String endDate, String lpName, String code, String type) { | ||
| 1912 | - List<ScheduleRealInfo> list = scheduleRealInfoRepository.correctForm(line, startDate, endDate, lpName, code); | ||
| 1913 | - | ||
| 1914 | - if (type != null && type.length() != 0 && type.equals("export")) { | ||
| 1915 | - SimpleDateFormat sdfMonth = new SimpleDateFormat("yyyy-MM-dd"), | ||
| 1916 | - sdfSimple = new SimpleDateFormat("yyyyMMdd"); | ||
| 1917 | - List<Iterator<?>> listI = new ArrayList<Iterator<?>>(); | ||
| 1918 | - Map<String, Object> m = new HashMap<String, Object>(); | ||
| 1919 | - ReportUtils ee = new ReportUtils(); | ||
| 1920 | - m.put("dates", startDate + " 至 " + endDate); | ||
| 1921 | - List<Map<String, Object>> tempList = new ArrayList<Map<String, Object>>(); | ||
| 1922 | - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); | ||
| 1923 | - for (ScheduleRealInfo schedule : list) { | ||
| 1924 | - Map<String, Object> tempMap = new HashMap<String, Object>(); | ||
| 1925 | - tempMap.put("xlName", schedule.getXlName() != null ? schedule.getXlName() : ""); | ||
| 1926 | - tempMap.put("lpName", schedule.getLpName() != null ? schedule.getLpName() : ""); | ||
| 1927 | - tempMap.put("clZbh", schedule.getClZbh() != null ? schedule.getClZbh() : ""); | ||
| 1928 | - tempMap.put("jName", schedule.getjName() != null ? schedule.getjName() : ""); | ||
| 1929 | - tempMap.put("sName", schedule.getsName() != null ? schedule.getsName() : ""); | ||
| 1930 | - tempMap.put("fcsj", schedule.getFcsj() != null ? schedule.getFcsj() : ""); | ||
| 1931 | - tempMap.put("fcsjActual", schedule.getFcsjActual() != null ? schedule.getFcsjActual() : ""); | ||
| 1932 | - tempMap.put("zdsj", schedule.getZdsj() != null ? schedule.getZdsj() : ""); | ||
| 1933 | - tempMap.put("zdsjActual", schedule.getZdsjActual() != null ? schedule.getZdsjActual() : ""); | ||
| 1934 | - if (schedule.getUpdateBy() != null) { | ||
| 1935 | - if (schedule.getUpdateBy().getName() != null) | ||
| 1936 | - tempMap.put("userName", schedule.getUpdateBy().getName()); | ||
| 1937 | - else | ||
| 1938 | - tempMap.put("userName", ""); | ||
| 1939 | - } else { | ||
| 1940 | - tempMap.put("userName", ""); | ||
| 1941 | - } | ||
| 1942 | - if (schedule.getUpdateDate() != null) { | ||
| 1943 | - tempMap.put("updateDate", sdf.format(schedule.getUpdateDate())); | ||
| 1944 | - } else { | ||
| 1945 | - tempMap.put("updateDate", ""); | ||
| 1946 | - } | ||
| 1947 | - tempMap.put("remarks", schedule.getRemarks() != null ? schedule.getRemarks() : ""); | ||
| 1948 | - tempList.add(tempMap); | ||
| 1949 | - } | ||
| 1950 | - try { | ||
| 1951 | - listI.add(tempList.iterator()); | ||
| 1952 | - String path = this.getClass().getResource("/").getPath() + "static/pages/forms/"; | ||
| 1953 | - ee.excelReplace(listI, new Object[]{m}, path + "mould/correctForm.xls", | ||
| 1954 | - path + "export/修正报表" + sdfSimple.format(sdfMonth.parse(startDate)) + "-" + sdfSimple.format(sdfMonth.parse(endDate)) + ".xls"); | ||
| 1955 | - } catch (Exception e) { | ||
| 1956 | - // TODO: handle exception | ||
| 1957 | - e.printStackTrace(); | ||
| 1958 | - } | ||
| 1959 | - Map<String, Object> map = tempList.get(tempList.size() - 1); | ||
| 1960 | - System.out.println("tempMap:" + map); | ||
| 1961 | - } | ||
| 1962 | - | ||
| 1963 | - return list; | ||
| 1964 | - }*/ | ||
| 1965 | 1763 | ||
| 1966 | @Override | 1764 | @Override |
| 1967 | public List<SchEditInfoDto> correctForm(String line,String date,String endDate, | 1765 | public List<SchEditInfoDto> correctForm(String line,String date,String endDate, |
| @@ -2141,32 +1939,112 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -2141,32 +1939,112 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 2141 | t.setAdjustExps("子"); | 1939 | t.setAdjustExps("子"); |
| 2142 | listSchedule.add(t); | 1940 | listSchedule.add(t); |
| 2143 | } | 1941 | } |
| 2144 | - /* String sqlPc = "select * from bsth_c_s_child_task where schedule=" + s.getId() + " order by start_date "; | ||
| 2145 | - List<ScheduleRealInfo> lists = jdbcTemplate.query(sqlPc, | ||
| 2146 | - new RowMapper<ScheduleRealInfo>() { | ||
| 2147 | - @Override | ||
| 2148 | - public ScheduleRealInfo mapRow(ResultSet rs, int rowNum) throws SQLException { | ||
| 2149 | - ScheduleRealInfo t = new ScheduleRealInfo(); | ||
| 2150 | - if (rs.getInt("destroy") == 0) { | ||
| 2151 | - t.setFcsjActual(rs.getString("start_date")); | ||
| 2152 | - t.setZdsjActual(rs.getString("end_date")); | ||
| 2153 | - t.setJhlc(rs.getDouble("mileage")); | ||
| 2154 | - } else { | ||
| 2155 | - t.setFcsjActual(""); | ||
| 2156 | - t.setZdsjActual(""); | ||
| 2157 | - t.setJhlc(0.0); | ||
| 2158 | - } | ||
| 2159 | - t.setQdzName(rs.getString("start_station_name")); | ||
| 2160 | - t.setZdzName(rs.getString("end_station_name")); | ||
| 2161 | - t.setRemarks(rs.getString("remarks")); | ||
| 2162 | - t.setAdjustExps("子"); | ||
| 2163 | - return t; | ||
| 2164 | - } | ||
| 2165 | - }); | ||
| 2166 | - for (int j = 0; j < lists.size(); j++) { | ||
| 2167 | - ScheduleRealInfo t = lists.get(j); | 1942 | + } |
| 1943 | + } | ||
| 1944 | + | ||
| 1945 | + return listSchedule; | ||
| 1946 | + } | ||
| 1947 | + | ||
| 1948 | + @Override | ||
| 1949 | + public List<ScheduleRealInfo> queryListWaybill2(String jName, String clZbh, | ||
| 1950 | + String lpName, String date, String line) { | ||
| 1951 | + List<ScheduleRealInfo> listSchedule = new ArrayList<ScheduleRealInfo>(); | ||
| 1952 | + List<ScheduleRealInfo> list = null; | ||
| 1953 | + list = scheduleRealInfoRepository.queryListWaybill(jName, clZbh, lpName, date, line); | ||
| 1954 | + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm"); | ||
| 1955 | + String sqlMinYysj="select start_opt from bsth_c_line_config where " | ||
| 1956 | + + " id = (" | ||
| 1957 | + + "select max(id) from bsth_c_line_config where line ='"+BasicData.lineId2CodeMap.inverse().get(line) +"'" | ||
| 1958 | + + ")"; | ||
| 1959 | + String minfcsj=jdbcTemplate.queryForObject(sqlMinYysj, String.class); | ||
| 1960 | + String[] minSjs = minfcsj.split(":"); | ||
| 1961 | + Long minSj=Long.parseLong(minSjs[0])*60+Long.parseLong(minSjs[1]); | ||
| 1962 | + | ||
| 1963 | + for (int i = 0; i < list.size(); i++) { | ||
| 1964 | + ScheduleRealInfo s=list.get(i); | ||
| 1965 | + String[] fcsj= s.getFcsj().split(":"); | ||
| 1966 | + Long fcsjL=Long.parseLong(fcsj[0])*60+Long.parseLong(fcsj[1]); | ||
| 1967 | + | ||
| 1968 | + Long fscjT=0L; | ||
| 1969 | + if(fcsjL<minSj){ | ||
| 1970 | + Calendar calendar = new GregorianCalendar(); | ||
| 1971 | + calendar.setTime(s.getScheduleDate()); | ||
| 1972 | + calendar.add(calendar.DATE,1); | ||
| 1973 | + s.setScheduleDate(calendar.getTime()); | ||
| 1974 | + try { | ||
| 1975 | + fscjT = sdf.parse(sdf.format(s.getScheduleDate())+" "+s.getFcsj()).getTime(); | ||
| 1976 | + } catch (ParseException e) { | ||
| 1977 | + // TODO Auto-generated catch block | ||
| 1978 | + e.printStackTrace(); | ||
| 1979 | + } | ||
| 1980 | + | ||
| 1981 | + }else{ | ||
| 1982 | + try { | ||
| 1983 | + fscjT =sdf.parse(s.getScheduleDateStr()+" "+s.getFcsj()).getTime(); | ||
| 1984 | + } catch (ParseException e) { | ||
| 1985 | + // TODO Auto-generated catch block | ||
| 1986 | + e.printStackTrace(); | ||
| 1987 | + }; | ||
| 1988 | + } | ||
| 1989 | + s.setFcsjT(fscjT); | ||
| 1990 | + } | ||
| 1991 | + Collections.sort(list, new ComparableReal()); | ||
| 1992 | + for (int i = 0; i < list.size(); i++) { | ||
| 1993 | + ScheduleRealInfo s = list.get(i); | ||
| 1994 | + s.setAdjustExps(i + 1 + ""); | ||
| 1995 | + String remarks = ""; | ||
| 1996 | + if (s.getRemarks() != null) { | ||
| 1997 | + remarks += s.getRemarks(); | ||
| 1998 | + } | ||
| 1999 | + | ||
| 2000 | + Set<ChildTaskPlan> childTaskPlans = s.getcTasks(); | ||
| 2001 | + if (!childTaskPlans.isEmpty()) { | ||
| 2002 | + s.setFcsjActual(""); | ||
| 2003 | + s.setZdsjActual(""); | ||
| 2004 | + s.setJhlc(0.0); | ||
| 2005 | + } | ||
| 2006 | + | ||
| 2007 | + if (s.isDestroy()) { | ||
| 2008 | + if(s.isReissue()){ | ||
| 2009 | + s.setFcsjActual(s.getDfsj()); | ||
| 2010 | + s.setZdsjActual(s.getZdsj()); | ||
| 2011 | + s.setRemarks(""); | ||
| 2012 | + s.setStatus(2); | ||
| 2013 | + s.setJhlc(s.getJhlcOrig()); | ||
| 2014 | + } | ||
| 2015 | + else{ | ||
| 2016 | + s.setFcsjActual(""); | ||
| 2017 | + s.setZdsjActual(""); | ||
| 2018 | + s.setJhlc(0.0); | ||
| 2019 | + remarks += "(烂班)"; | ||
| 2020 | + s.setRemarks(remarks); | ||
| 2021 | + } | ||
| 2022 | + } | ||
| 2023 | + | ||
| 2024 | + listSchedule.add(s); | ||
| 2025 | + //计算营运里程,空驶里程 | ||
| 2026 | + if (!childTaskPlans.isEmpty()) { | ||
| 2027 | +// Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); | ||
| 2028 | + List<ChildTaskPlan> listit=new ArrayList<ChildTaskPlan>(childTaskPlans); | ||
| 2029 | + Collections.sort(listit, new ComparableChild()); | ||
| 2030 | + for (int j = 0; j < listit.size(); j++) { | ||
| 2031 | + ScheduleRealInfo t = new ScheduleRealInfo(); | ||
| 2032 | + ChildTaskPlan childTaskPlan = listit.get(j); | ||
| 2033 | + if (childTaskPlan.isDestroy()) { | ||
| 2034 | + t.setFcsjActual(""); | ||
| 2035 | + t.setZdsjActual(""); | ||
| 2036 | + t.setJhlc(0.0); | ||
| 2037 | + } else { | ||
| 2038 | + t.setFcsjActual(childTaskPlan.getStartDate()); | ||
| 2039 | + t.setZdsjActual(childTaskPlan.getEndDate()); | ||
| 2040 | + t.setJhlc(Double.parseDouble(String.valueOf(childTaskPlan.getMileage()))); | ||
| 2041 | + } | ||
| 2042 | + t.setQdzName(childTaskPlan.getStartStationName()); | ||
| 2043 | + t.setZdzName(childTaskPlan.getEndStationName()); | ||
| 2044 | + t.setRemarks(childTaskPlan.getRemarks()); | ||
| 2045 | + t.setAdjustExps("子"); | ||
| 2168 | listSchedule.add(t); | 2046 | listSchedule.add(t); |
| 2169 | - }*/ | 2047 | + } |
| 2170 | } | 2048 | } |
| 2171 | } | 2049 | } |
| 2172 | 2050 | ||
| @@ -2256,551 +2134,79 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -2256,551 +2134,79 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 2256 | return lMap; | 2134 | return lMap; |
| 2257 | } | 2135 | } |
| 2258 | 2136 | ||
| 2259 | - /* @Override | ||
| 2260 | - public List<Map<String, Object>> statisticsDaily(String line, String date, | 2137 | + @Override |
| 2138 | + public List<Map<String, Object>> statisticsDaily_mh_2(String line, String date, | ||
| 2261 | String xlName, String type) { | 2139 | String xlName, String type) { |
| 2262 | - List<ScheduleRealInfo> list = new ArrayList<ScheduleRealInfo>(); | ||
| 2263 | - if (date.length() == 10) | ||
| 2264 | - list = scheduleRealInfoRepository.scheduleByDateAndLine2(line, date); | ||
| 2265 | - else if (date.length() == 7) | ||
| 2266 | - list = scheduleRealInfoRepository.scheduleByDateAndLine3(line, date); | ||
| 2267 | - | ||
| 2268 | - | ||
| 2269 | - List<Map<String, Object>> lMap = new ArrayList<Map<String, Object>>(); | ||
| 2270 | - DecimalFormat format = new DecimalFormat("0.00"); | ||
| 2271 | - double jhlc = 0, tempJhlc = 0, childMileage = 0,jhlcOrig=0; | ||
| 2272 | - float sjgl = 0f, ssgl = 0f, ssgl_lz = 0f, ssgl_dm = 0f, ssgl_gz = 0f, ssgl_jf = 0f, ssgl_zs = 0f, ssgl_qr = 0f, ssgl_qc = 0f, ssgl_kx = 0f, ssgl_qh = 0f, ssgl_yw = 0f, ssgl_other = 0f, ljgl = 0f; | ||
| 2273 | - //班次 | ||
| 2274 | - int ssbc = 0, ssbc_lz = 0, ssbc_dm = 0, ssbc_gz = 0, ssbc_jf = 0, ssbc_zs = 0, ssbc_qr = 0, ssbc_qc = 0, ssbc_kx = 0, ssbc_qh = 0, ssbc_yw = 0, ssbc_other = 0; | ||
| 2275 | - int sj_0 = 6 * 60 + 31, sj_1 = 8 * 60 + 30, sj_2 = 16 * 60 + 1, sj_3 = 18 * 60; | ||
| 2276 | - int jhbc = 0, jhbc_m = 0, jhbc_a = 0; | ||
| 2277 | - int sjbc = 0, sjbc_m = 0, sjbc_a = 0; | ||
| 2278 | - int ljbc = 0, ljbc_m = 0, ljbc_a = 0; | ||
| 2279 | - int fzbc = 0, fzbc_m = 0, fzbc_a = 0; | ||
| 2280 | - int dtbc = 0, dtbc_m = 0, dtbc_a = 0; | ||
| 2281 | - int djg = 0, djg_m = 0, djg_a = 0, djg_time = 0; | ||
| 2282 | - | ||
| 2283 | - double jhlcZ = 0, tempJhlcZ = 0, childMileageZ = 0; | ||
| 2284 | - float sjglZ = 0f, ssglZ = 0f, ssgl_lzZ = 0f, ssgl_dmZ = 0f, | ||
| 2285 | - ssgl_gzZ = 0f, ssgl_jfZ = 0f, ssgl_zsZ = 0f, ssgl_qrZ = 0f, ssgl_qcZ = 0f, | ||
| 2286 | - ssgl_kxZ = 0f, ssgl_qhZ = 0f, ssgl_ywZ = 0f, ssgl_otherZ = 0f, ljglZ = 0f; | ||
| 2287 | - //班次 | ||
| 2288 | - int ssbcZ = 0, ssbc_lzZ = 0, ssbc_dmZ = 0, ssbc_gzZ = 0, ssbc_jfZ = 0, ssbc_zsZ = 0, ssbc_qrZ = 0, ssbc_qcZ = 0, ssbc_kxZ = 0, ssbc_qhZ = 0, ssbc_ywZ = 0, ssbc_otherZ = 0; | ||
| 2289 | - int jhbcZ = 0, jhbc_mZ = 0, jhbc_aZ = 0; | ||
| 2290 | - int sjbcZ = 0, sjbc_mZ = 0, sjbc_aZ = 0; | ||
| 2291 | - int ljbcZ = 0, ljbc_mZ = 0, ljbc_aZ = 0; | ||
| 2292 | - int fzbcZ = 0, fzbc_mZ = 0, fzbc_aZ = 0; | ||
| 2293 | - int dtbcZ = 0, dtbc_mZ = 0, dtbc_aZ = 0; | ||
| 2294 | - int djgZ = 0, djg_mZ = 0, djg_aZ = 0, djg_timeZ = 0; | ||
| 2295 | - Map<String, Object> map = null; | ||
| 2296 | - | ||
| 2297 | - double xgssgl=0,xgljgl=0,lj=0,cj=0; | ||
| 2298 | - for (int i = 0; i < list.size(); i++) { | ||
| 2299 | - ScheduleRealInfo scheduleRealInfo = list.get(i); | 2140 | + List<Map<String, Object>> lMap= new ArrayList<Map<String, Object>>(); |
| 2141 | + List<ScheduleRealInfo>list_s=scheduleRealInfoRepository.scheduleByDateAndLine2(line, date); | ||
| 2142 | + List<ScheduleRealInfo> lists =new ArrayList<ScheduleRealInfo>(); | ||
| 2143 | + for (int i = 0; i < list_s.size(); i++) { | ||
| 2144 | + ScheduleRealInfo s=list_s.get(i); | ||
| 2145 | + if(s.isDestroy() && s.isReissue()){ | ||
| 2146 | + s.setRemark(""); | ||
| 2147 | + s.setFcsjActual(s.getDfsj()); | ||
| 2148 | + s.setZdsjActual(s.getZdsj()); | ||
| 2149 | + s.setStatus(2); | ||
| 2150 | + s.setJhlc(s.getJhlcOrig()); | ||
| 2151 | + } | ||
| 2300 | 2152 | ||
| 2301 | - if (scheduleRealInfo != null) { | ||
| 2302 | - Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks(); | ||
| 2303 | - //计算实际里程,少驶里程,计划里程=实际里程+少驶里程 | ||
| 2304 | - if(!scheduleRealInfo.isSflj()){ | ||
| 2305 | - jhlc += tempJhlc; | ||
| 2306 | - jhlcZ += tempJhlc; | ||
| 2307 | - } | ||
| 2308 | - if (childTaskPlans.isEmpty()) { | ||
| 2309 | - tempJhlc = scheduleRealInfo.getJhlc() == null ? 0 : scheduleRealInfo.getJhlc(); | ||
| 2310 | - jhlcOrig = scheduleRealInfo.getJhlcOrig() == null ? 0 : scheduleRealInfo.getJhlcOrig(); | ||
| 2311 | - | ||
| 2312 | - if(jhlcOrig-tempJhlc>0){ | ||
| 2313 | - xgssgl +=jhlcOrig-tempJhlc; | ||
| 2314 | - cj += jhlcOrig-tempJhlc; | ||
| 2315 | - }else{ | ||
| 2316 | - xgljgl +=tempJhlc-jhlcOrig; | ||
| 2317 | - lj +=tempJhlc-jhlcOrig; | ||
| 2318 | - } | ||
| 2319 | - //临加公里 | ||
| 2320 | - if (scheduleRealInfo.isSflj()) { | ||
| 2321 | - ljgl += tempJhlc; | ||
| 2322 | - ljglZ += tempJhlc; | ||
| 2323 | - } | ||
| 2324 | - | ||
| 2325 | - if (scheduleRealInfo.getStatus() == -1) { | ||
| 2326 | - ssgl += tempJhlc; | ||
| 2327 | - ssglZ += tempJhlc; | ||
| 2328 | - ssbc++; | ||
| 2329 | - ssbcZ++; | ||
| 2330 | - if ((scheduleRealInfo.getRemarks() == null ? "" : scheduleRealInfo.getRemarks()).indexOf("路阻") != -1) { | ||
| 2331 | - ssgl_lz += tempJhlc; | ||
| 2332 | - ssgl_lzZ += tempJhlc; | ||
| 2333 | - ssbc_lz++; | ||
| 2334 | - ssbc_lzZ++; | ||
| 2335 | - } else if ((scheduleRealInfo.getRemarks() == null ? "" : scheduleRealInfo.getRemarks()).indexOf("吊慢") != -1) { | ||
| 2336 | - ssgl_dm += tempJhlc; | ||
| 2337 | - ssgl_dmZ += tempJhlc; | ||
| 2338 | - ssbc_dm++; | ||
| 2339 | - ssbc_dmZ++; | ||
| 2340 | - } else if ((scheduleRealInfo.getRemarks() == null ? "" : scheduleRealInfo.getRemarks()).indexOf("故障") != -1) { | ||
| 2341 | - ssgl_gz += tempJhlc; | ||
| 2342 | - ssgl_gzZ += tempJhlc; | ||
| 2343 | - ssbc_gz++; | ||
| 2344 | - ssbc_gzZ++; | ||
| 2345 | - } else if ((scheduleRealInfo.getRemarks() == null ? "" : scheduleRealInfo.getRemarks()).indexOf("纠纷") != -1) { | ||
| 2346 | - ssgl_jf += tempJhlc; | ||
| 2347 | - ssgl_jfZ += tempJhlc; | ||
| 2348 | - ssbc_jf++; | ||
| 2349 | - ssbc_jfZ++; | ||
| 2350 | - } else if ((scheduleRealInfo.getRemarks() == null ? "" : scheduleRealInfo.getRemarks()).indexOf("肇事") != -1) { | ||
| 2351 | - ssgl_zs += tempJhlc; | ||
| 2352 | - ssgl_zsZ += tempJhlc; | ||
| 2353 | - ssbc_zs++; | ||
| 2354 | - ssbc_zsZ++; | ||
| 2355 | - } else if ((scheduleRealInfo.getRemarks() == null ? "" : scheduleRealInfo.getRemarks()).indexOf("缺人") != -1) { | ||
| 2356 | - ssgl_qr += tempJhlc; | ||
| 2357 | - ssgl_qrZ += tempJhlc; | ||
| 2358 | - ssbc_qr++; | ||
| 2359 | - ssbc_qrZ++; | ||
| 2360 | - } else if ((scheduleRealInfo.getRemarks() == null ? "" : scheduleRealInfo.getRemarks()).indexOf("缺车") != -1) { | ||
| 2361 | - ssgl_qc += tempJhlc; | ||
| 2362 | - ssgl_qcZ += tempJhlc; | ||
| 2363 | - ssbc_qc++; | ||
| 2364 | - ssbc_qcZ++; | ||
| 2365 | - } else if ((scheduleRealInfo.getRemarks() == null ? "" : scheduleRealInfo.getRemarks()).indexOf("客稀") != -1) { | ||
| 2366 | - ssgl_kx += tempJhlc; | ||
| 2367 | - ssgl_kxZ += tempJhlc; | ||
| 2368 | - ssbc_kx++; | ||
| 2369 | - ssbc_kxZ++; | ||
| 2370 | - } else if ((scheduleRealInfo.getRemarks() == null ? "" : scheduleRealInfo.getRemarks()).indexOf("气候") != -1) { | ||
| 2371 | - ssgl_qh += tempJhlc; | ||
| 2372 | - ssgl_qhZ += tempJhlc; | ||
| 2373 | - ssbc_qh++; | ||
| 2374 | - ssbc_qhZ++; | ||
| 2375 | - } else if ((scheduleRealInfo.getRemarks() == null ? "" : scheduleRealInfo.getRemarks()).indexOf("援外") != -1) { | ||
| 2376 | - ssgl_yw += tempJhlc; | ||
| 2377 | - ssgl_ywZ += tempJhlc; | ||
| 2378 | - ssbc_yw++; | ||
| 2379 | - ssbc_ywZ++; | ||
| 2380 | - } else { | ||
| 2381 | - ssgl_other += tempJhlc; | ||
| 2382 | - ssgl_otherZ += tempJhlc; | ||
| 2383 | - ssbc_other++; | ||
| 2384 | - ssbc_otherZ++; | ||
| 2385 | - } | ||
| 2386 | - } else { | ||
| 2387 | - sjgl += tempJhlc; | ||
| 2388 | - sjglZ += tempJhlc; | ||
| 2389 | - } | ||
| 2390 | - } else { | ||
| 2391 | - Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); | ||
| 2392 | - while (it.hasNext()) { | ||
| 2393 | - ChildTaskPlan childTaskPlan = it.next(); | ||
| 2394 | - childMileage = childTaskPlan.getMileage() == null ? 0 : childTaskPlan.getMileage(); | ||
| 2395 | - if (childTaskPlan.isDestroy()) { | ||
| 2396 | - ssgl += childMileage; | ||
| 2397 | - ssglZ += childMileage; | ||
| 2398 | - ssbc++; | ||
| 2399 | - ssbcZ++; | ||
| 2400 | - if (childTaskPlan.getDestroyReason().equals("路阻")) { | ||
| 2401 | - ssgl_lz += childTaskPlan.getMileage(); | ||
| 2402 | - ssgl_lzZ += childTaskPlan.getMileage(); | ||
| 2403 | - ssbc_lzZ++; | ||
| 2404 | - ssbc_lzZ++; | ||
| 2405 | - } else if (childTaskPlan.getDestroyReason().equals("吊慢")) { | ||
| 2406 | - ssgl_dm += childTaskPlan.getMileage(); | ||
| 2407 | - ssgl_dmZ += childTaskPlan.getMileage(); | ||
| 2408 | - ssbc_dm++; | ||
| 2409 | - ssbc_dmZ++; | ||
| 2410 | - } else if (childTaskPlan.getDestroyReason().equals("故障")) { | ||
| 2411 | - ssgl_gz += childTaskPlan.getMileage(); | ||
| 2412 | - ssgl_gzZ += childTaskPlan.getMileage(); | ||
| 2413 | - ssbc_gz++; | ||
| 2414 | - ssbc_gzZ++; | ||
| 2415 | - } else if (childTaskPlan.getDestroyReason().equals("纠纷")) { | ||
| 2416 | - ssgl_jf += childTaskPlan.getMileage(); | ||
| 2417 | - ssgl_jfZ += childTaskPlan.getMileage(); | ||
| 2418 | - ssbc_jf++; | ||
| 2419 | - ssbc_jfZ++; | ||
| 2420 | - } else if (childTaskPlan.getDestroyReason().equals("肇事")) { | ||
| 2421 | - ssgl_zs += childTaskPlan.getMileage(); | ||
| 2422 | - ssgl_zsZ += childTaskPlan.getMileage(); | ||
| 2423 | - ssbc_zs++; | ||
| 2424 | - ssbc_zsZ++; | ||
| 2425 | - } else if (childTaskPlan.getDestroyReason().equals("缺人")) { | ||
| 2426 | - ssgl_qr += childTaskPlan.getMileage(); | ||
| 2427 | - ssgl_qrZ += childTaskPlan.getMileage(); | ||
| 2428 | - ssbc_qr++; | ||
| 2429 | - ssbc_qrZ++; | ||
| 2430 | - } else if (childTaskPlan.getDestroyReason().equals("缺车")) { | ||
| 2431 | - ssgl_qc += childTaskPlan.getMileage(); | ||
| 2432 | - ssgl_qcZ += childTaskPlan.getMileage(); | ||
| 2433 | - ssbc_qc++; | ||
| 2434 | - ssbc_qcZ++; | ||
| 2435 | - } else if (childTaskPlan.getDestroyReason().equals("客稀")) { | ||
| 2436 | - ssgl_kx += childTaskPlan.getMileage(); | ||
| 2437 | - ssgl_kxZ += childTaskPlan.getMileage(); | ||
| 2438 | - ssbc_kx++; | ||
| 2439 | - ssbc_kxZ++; | ||
| 2440 | - } else if (childTaskPlan.getDestroyReason().equals("气候")) { | ||
| 2441 | - ssgl_qh += childTaskPlan.getMileage(); | ||
| 2442 | - ssgl_qhZ += childTaskPlan.getMileage(); | ||
| 2443 | - ssbc_qh++; | ||
| 2444 | - ssbc_qhZ++; | ||
| 2445 | - } else if (childTaskPlan.getDestroyReason().equals("援外")) { | ||
| 2446 | - ssgl_yw += childTaskPlan.getMileage(); | ||
| 2447 | - ssgl_ywZ += childTaskPlan.getMileage(); | ||
| 2448 | - ssbc_yw++; | ||
| 2449 | - ssbc_ywZ++; | ||
| 2450 | - } else { | ||
| 2451 | - ssgl_other += childTaskPlan.getMileage(); | ||
| 2452 | - ssgl_otherZ += childTaskPlan.getMileage(); | ||
| 2453 | - ssbc_other++; | ||
| 2454 | - ssbc_otherZ++; | ||
| 2455 | - } | ||
| 2456 | - } else { | ||
| 2457 | - if (scheduleRealInfo.isSflj()) { | ||
| 2458 | - ljgl += tempJhlc; | ||
| 2459 | - ljglZ += tempJhlc; | ||
| 2460 | - } else{ | ||
| 2461 | - sjgl += childMileage; | ||
| 2462 | - sjglZ += childMileage; | ||
| 2463 | - } | ||
| 2464 | - } | ||
| 2465 | - } | ||
| 2466 | - } | ||
| 2467 | - | ||
| 2468 | - //班次 | ||
| 2469 | - jhbc++; | ||
| 2470 | - jhbcZ++; | ||
| 2471 | - String[] fcsj = scheduleRealInfo.getFcsj().split(":"); | ||
| 2472 | - String[] fcsjActual = (scheduleRealInfo.getFcsjActual() == null ? "0:00" : scheduleRealInfo.getFcsjActual()).split(":"); | ||
| 2473 | - if ((Integer.parseInt(fcsj[0]) * 60 + Integer.parseInt(fcsj[1])) > sj_0 && (Integer.parseInt(fcsj[0]) * 60 + Integer.parseInt(fcsj[1])) < sj_1) { | ||
| 2474 | - jhbc_m++; | ||
| 2475 | - jhbc_mZ++; | ||
| 2476 | - } else if ((Integer.parseInt(fcsj[0]) * 60 + Integer.parseInt(fcsj[1])) > sj_2 && (Integer.parseInt(fcsj[0]) * 60 + Integer.parseInt(fcsj[1])) < sj_3) { | ||
| 2477 | - jhbc_a++; | ||
| 2478 | - jhbc_aZ++; | ||
| 2479 | - } | ||
| 2480 | - if (scheduleRealInfo.getStatus() != -1) { | ||
| 2481 | - sjbc++; | ||
| 2482 | - sjbcZ++; | ||
| 2483 | - if ((Integer.parseInt(fcsjActual[0]) * 60 + Integer.parseInt(fcsjActual[1])) > sj_0 && (Integer.parseInt(fcsjActual[0]) * 60 + Integer.parseInt(fcsjActual[1])) < sj_1) { | ||
| 2484 | - sjbc_m++; | ||
| 2485 | - sjbc_mZ++; | ||
| 2486 | - } else if ((Integer.parseInt(fcsjActual[0]) * 60 + Integer.parseInt(fcsjActual[1])) > sj_2 && (Integer.parseInt(fcsjActual[0]) * 60 + Integer.parseInt(fcsjActual[1])) < sj_3) { | ||
| 2487 | - sjbc_a++; | ||
| 2488 | - sjbc_aZ++; | ||
| 2489 | - } | ||
| 2490 | - } | ||
| 2491 | - if (scheduleRealInfo.isSflj()) { | ||
| 2492 | - ljbc++; | ||
| 2493 | - ljbcZ++; | ||
| 2494 | - if ((Integer.parseInt(fcsjActual[0]) * 60 + Integer.parseInt(fcsjActual[1])) > sj_0 && (Integer.parseInt(fcsjActual[0]) * 60 + Integer.parseInt(fcsjActual[1])) < sj_1) { | ||
| 2495 | - ljbc_m++; | ||
| 2496 | - ljbc_mZ++; | ||
| 2497 | - } else if ((Integer.parseInt(fcsjActual[0]) * 60 + Integer.parseInt(fcsjActual[1])) > sj_2 && (Integer.parseInt(fcsjActual[0]) * 60 + Integer.parseInt(fcsjActual[1])) < sj_3) { | ||
| 2498 | - ljbc_a++; | ||
| 2499 | - ljbc_aZ++; | ||
| 2500 | - } | ||
| 2501 | - } | ||
| 2502 | - if (scheduleRealInfo.getBcType().equals("venting")) { | ||
| 2503 | - fzbc++; | ||
| 2504 | - fzbcZ++; | ||
| 2505 | - if ((Integer.parseInt(fcsjActual[0]) * 60 + Integer.parseInt(fcsjActual[1])) > sj_0 && (Integer.parseInt(fcsjActual[0]) * 60 + Integer.parseInt(fcsjActual[1])) < sj_1) { | ||
| 2506 | - fzbc_m++; | ||
| 2507 | - fzbc_mZ++; | ||
| 2508 | - } else if ((Integer.parseInt(fcsjActual[0]) * 60 + Integer.parseInt(fcsjActual[1])) > sj_2 && (Integer.parseInt(fcsjActual[0]) * 60 + Integer.parseInt(fcsjActual[1])) < sj_3) { | ||
| 2509 | - fzbc_a++; | ||
| 2510 | - fzbc_aZ++; | ||
| 2511 | - } | ||
| 2512 | - } | ||
| 2513 | - | ||
| 2514 | - if (i < list.size() - 1) { | ||
| 2515 | - if (!scheduleRealInfo.getXlBm().equals(list.get(i + 1).getXlBm())) { | ||
| 2516 | - map = new HashMap<String, Object>(); | ||
| 2517 | - map.put("xlName", scheduleRealInfo.getXlName()); | ||
| 2518 | - map.put("jhlc", format.format(jhlc)); | ||
| 2519 | - map.put("sjgl", format.format(sjgl)); | ||
| 2520 | - map.put("ssgl", format.format(ssgl+cj)); | ||
| 2521 | - map.put("ssgl_lz", ssgl_lz == 0 ? 0 : format.format(ssgl_lz)); | ||
| 2522 | - map.put("ssgl_dm", ssgl_dm == 0 ? 0 : format.format(ssgl_dm)); | ||
| 2523 | - map.put("ssgl_gz", ssgl_gz == 0 ? 0 : format.format(ssgl_gz)); | ||
| 2524 | - map.put("ssgl_jf", ssgl_jf == 0 ? 0 : format.format(ssgl_jf)); | ||
| 2525 | - map.put("ssgl_zs", ssgl_zs == 0 ? 0 : format.format(ssgl_zs)); | ||
| 2526 | - map.put("ssgl_qr", ssgl_qr == 0 ? 0 : format.format(ssgl_qr)); | ||
| 2527 | - map.put("ssgl_qc", ssgl_qc == 0 ? 0 : format.format(ssgl_qc)); | ||
| 2528 | - map.put("ssgl_kx", ssgl_kx == 0 ? 0 : format.format(ssgl_kx)); | ||
| 2529 | - map.put("ssgl_qh", ssgl_qh == 0 ? 0 : format.format(ssgl_qh)); | ||
| 2530 | - map.put("ssgl_yw", ssgl_yw == 0 ? 0 : format.format(ssgl_yw)); | ||
| 2531 | - map.put("ssgl_other", ssgl_other == 0 ? 0 : format.format(ssgl_other)); | ||
| 2532 | - map.put("ssbc", ssbc); | ||
| 2533 | - map.put("ssbc_lz", ssbc_lz); | ||
| 2534 | - map.put("ssbc_dm", ssbc_dm); | ||
| 2535 | - map.put("ssbc_gz", ssbc_gz); | ||
| 2536 | - map.put("ssbc_jf", ssbc_jf); | ||
| 2537 | - map.put("ssbc_zs", ssbc_zs); | ||
| 2538 | - map.put("ssbc_qr", ssbc_qr); | ||
| 2539 | - map.put("ssbc_qc", ssbc_qc); | ||
| 2540 | - map.put("ssbc_kx", ssbc_kx); | ||
| 2541 | - map.put("ssbc_qh", ssbc_qh); | ||
| 2542 | - map.put("ssbc_yw", ssbc_yw); | ||
| 2543 | - map.put("ssbc_other", ssbc_other); | ||
| 2544 | - map.put("ljgl", format.format(ljgl+lj)); | ||
| 2545 | - map.put("jhbc", jhbc); | ||
| 2546 | - map.put("jhbc_m", jhbc_m); | ||
| 2547 | - map.put("jhbc_a", jhbc_a); | ||
| 2548 | - map.put("sjbc", sjbc); | ||
| 2549 | - map.put("sjbc_m", sjbc_m); | ||
| 2550 | - map.put("sjbc_a", sjbc_a); | ||
| 2551 | - map.put("ljbc", ljbc); | ||
| 2552 | - map.put("ljbc_m", ljbc_m); | ||
| 2553 | - map.put("ljbc_a", ljbc_a); | ||
| 2554 | - map.put("fzbc", fzbc); | ||
| 2555 | - map.put("fzbc_m", fzbc_m); | ||
| 2556 | - map.put("fzbc_a", fzbc_a); | ||
| 2557 | - map.put("dtbc", dtbc); | ||
| 2558 | - map.put("dtbc_m", dtbc_m); | ||
| 2559 | - map.put("dtbc_a", dtbc_a); | ||
| 2560 | - map.put("djg", djg); | ||
| 2561 | - map.put("djg_m", djg_m); | ||
| 2562 | - map.put("djg_a", djg_a); | ||
| 2563 | - map.put("djg_time", djg_time); | ||
| 2564 | - lMap.add(map); | ||
| 2565 | - jhlc = 0; | ||
| 2566 | - tempJhlc = 0; | ||
| 2567 | - childMileage = 0; | ||
| 2568 | - sjgl = 0f; | ||
| 2569 | - ssgl = 0f; | ||
| 2570 | - ssgl_lz = 0f; | ||
| 2571 | - ssgl_dm = 0f; | ||
| 2572 | - ssgl_gz = 0f; | ||
| 2573 | - ssgl_jf = 0f; | ||
| 2574 | - ssgl_zs = 0f; | ||
| 2575 | - ssgl_qr = 0f; | ||
| 2576 | - ssgl_qc = 0f; | ||
| 2577 | - ssgl_kx = 0f; | ||
| 2578 | - ssgl_qh = 0f; | ||
| 2579 | - ssgl_yw = 0f; | ||
| 2580 | - ssgl_other = 0f; | ||
| 2581 | - ljgl = 0f; | ||
| 2582 | - //班次 | ||
| 2583 | - jhbc = 0; | ||
| 2584 | - jhbc_m = 0; | ||
| 2585 | - jhbc_a = 0; | ||
| 2586 | - sjbc = 0; | ||
| 2587 | - sjbc_m = 0; | ||
| 2588 | - sjbc_a = 0; | ||
| 2589 | - ljbc = 0; | ||
| 2590 | - ljbc_m = 0; | ||
| 2591 | - ljbc_a = 0; | ||
| 2592 | - fzbc = 0; | ||
| 2593 | - fzbc_m = 0; | ||
| 2594 | - fzbc_a = 0; | ||
| 2595 | - dtbc = 0; | ||
| 2596 | - dtbc_m = 0; | ||
| 2597 | - dtbc_a = 0; | ||
| 2598 | - djg = 0; | ||
| 2599 | - djg_m = 0; | ||
| 2600 | - djg_a = 0; | ||
| 2601 | - djg_time = 0; | ||
| 2602 | - lj=0; | ||
| 2603 | - cj=0; | ||
| 2604 | - } | ||
| 2605 | - } else { | ||
| 2606 | - map = new HashMap<String, Object>(); | ||
| 2607 | - map.put("xlName", scheduleRealInfo.getXlName()); | ||
| 2608 | - map.put("jhlc", format.format(jhlc)); | ||
| 2609 | - map.put("sjgl", format.format(sjgl)); | ||
| 2610 | - map.put("ssgl", format.format(ssgl+cj)); | ||
| 2611 | - map.put("ssgl_lz", ssgl_lz == 0 ? 0 : format.format(ssgl_lz)); | ||
| 2612 | - map.put("ssgl_dm", ssgl_dm == 0 ? 0 : format.format(ssgl_dm)); | ||
| 2613 | - map.put("ssgl_gz", ssgl_gz == 0 ? 0 : format.format(ssgl_gz)); | ||
| 2614 | - map.put("ssgl_jf", ssgl_jf == 0 ? 0 : format.format(ssgl_jf)); | ||
| 2615 | - map.put("ssgl_zs", ssgl_zs == 0 ? 0 : format.format(ssgl_zs)); | ||
| 2616 | - map.put("ssgl_qr", ssgl_qr == 0 ? 0 : format.format(ssgl_qr)); | ||
| 2617 | - map.put("ssgl_qc", ssgl_qc == 0 ? 0 : format.format(ssgl_qc)); | ||
| 2618 | - map.put("ssgl_kx", ssgl_kx == 0 ? 0 : format.format(ssgl_kx)); | ||
| 2619 | - map.put("ssgl_qh", ssgl_qh == 0 ? 0 : format.format(ssgl_qh)); | ||
| 2620 | - map.put("ssgl_yw", ssgl_yw == 0 ? 0 : format.format(ssgl_yw)); | ||
| 2621 | - map.put("ssgl_other", ssgl_other == 0 ? 0 : format.format(ssgl_other)); | ||
| 2622 | - map.put("ssbc", ssbc); | ||
| 2623 | - map.put("ssbc_lz", ssbc_lz); | ||
| 2624 | - map.put("ssbc_dm", ssbc_dm); | ||
| 2625 | - map.put("ssbc_gz", ssbc_gz); | ||
| 2626 | - map.put("ssbc_jf", ssbc_jf); | ||
| 2627 | - map.put("ssbc_zs", ssbc_zs); | ||
| 2628 | - map.put("ssbc_qr", ssbc_qr); | ||
| 2629 | - map.put("ssbc_qc", ssbc_qc); | ||
| 2630 | - map.put("ssbc_kx", ssbc_kx); | ||
| 2631 | - map.put("ssbc_qh", ssbc_qh); | ||
| 2632 | - map.put("ssbc_yw", ssbc_yw); | ||
| 2633 | - map.put("ssbc_other", ssbc_other); | ||
| 2634 | - map.put("ljgl", format.format(ljgl+lj)); | ||
| 2635 | - map.put("jhbc", jhbc); | ||
| 2636 | - map.put("jhbc_m", jhbc_m); | ||
| 2637 | - map.put("jhbc_a", jhbc_a); | ||
| 2638 | - map.put("sjbc", sjbc); | ||
| 2639 | - map.put("sjbc_m", sjbc_m); | ||
| 2640 | - map.put("sjbc_a", sjbc_a); | ||
| 2641 | - map.put("ljbc", ljbc); | ||
| 2642 | - map.put("ljbc_m", ljbc_m); | ||
| 2643 | - map.put("ljbc_a", ljbc_a); | ||
| 2644 | - map.put("fzbc", fzbc); | ||
| 2645 | - map.put("fzbc_m", fzbc_m); | ||
| 2646 | - map.put("fzbc_a", fzbc_a); | ||
| 2647 | - map.put("dtbc", dtbc); | ||
| 2648 | - map.put("dtbc_m", dtbc_m); | ||
| 2649 | - map.put("dtbc_a", dtbc_a); | ||
| 2650 | - map.put("djg", djg); | ||
| 2651 | - map.put("djg_m", djg_m); | ||
| 2652 | - map.put("djg_a", djg_a); | ||
| 2653 | - map.put("djg_time", djg_time); | ||
| 2654 | - lMap.add(map); | ||
| 2655 | - jhlc = 0; | ||
| 2656 | - tempJhlc = 0; | ||
| 2657 | - childMileage = 0; | ||
| 2658 | - sjgl = 0f; | ||
| 2659 | - ssgl = 0f; | ||
| 2660 | - ssgl_lz = 0f; | ||
| 2661 | - ssgl_dm = 0f; | ||
| 2662 | - ssgl_gz = 0f; | ||
| 2663 | - ssgl_jf = 0f; | ||
| 2664 | - ssgl_zs = 0f; | ||
| 2665 | - ssgl_qr = 0f; | ||
| 2666 | - ssgl_qc = 0f; | ||
| 2667 | - ssgl_kx = 0f; | ||
| 2668 | - ssgl_qh = 0f; | ||
| 2669 | - ssgl_yw = 0f; | ||
| 2670 | - ssgl_other = 0f; | ||
| 2671 | - ljgl = 0f; | ||
| 2672 | - //班次 | ||
| 2673 | - jhbc = 0; | ||
| 2674 | - jhbc_m = 0; | ||
| 2675 | - jhbc_a = 0; | ||
| 2676 | - sjbc = 0; | ||
| 2677 | - sjbc_m = 0; | ||
| 2678 | - sjbc_a = 0; | ||
| 2679 | - ljbc = 0; | ||
| 2680 | - ljbc_m = 0; | ||
| 2681 | - ljbc_a = 0; | ||
| 2682 | - fzbc = 0; | ||
| 2683 | - fzbc_m = 0; | ||
| 2684 | - fzbc_a = 0; | ||
| 2685 | - dtbc = 0; | ||
| 2686 | - dtbc_m = 0; | ||
| 2687 | - dtbc_a = 0; | ||
| 2688 | - djg = 0; | ||
| 2689 | - djg_m = 0; | ||
| 2690 | - djg_a = 0; | ||
| 2691 | - djg_time = 0; | ||
| 2692 | - lj=0; | ||
| 2693 | - cj=0; | 2153 | + Set<ChildTaskPlan> cts = s.getcTasks(); |
| 2154 | + if(cts != null && cts.size() > 0){ | ||
| 2155 | + lists.add(s); | ||
| 2156 | + }else{ | ||
| 2157 | + if(s.getZdsjActual()!=null){ | ||
| 2158 | + lists.add(s); | ||
| 2694 | } | 2159 | } |
| 2695 | } | 2160 | } |
| 2696 | } | 2161 | } |
| 2697 | - map = new HashMap<String, Object>(); | ||
| 2698 | - map.put("xlName", "合计"); | ||
| 2699 | - map.put("jhlc", format.format(jhlcZ)); | ||
| 2700 | - map.put("sjgl", format.format(sjglZ)); | ||
| 2701 | - map.put("ssgl", format.format(ssglZ+xgssgl)); | ||
| 2702 | - map.put("ssgl_lz", ssgl_lzZ == 0 ? 0 : format.format(ssgl_lzZ)); | ||
| 2703 | - map.put("ssgl_dm", ssgl_dmZ == 0 ? 0 : format.format(ssgl_dmZ)); | ||
| 2704 | - map.put("ssgl_gz", ssgl_gzZ == 0 ? 0 : format.format(ssgl_gzZ)); | ||
| 2705 | - map.put("ssgl_jf", ssgl_jfZ == 0 ? 0 : format.format(ssgl_jfZ)); | ||
| 2706 | - map.put("ssgl_zs", ssgl_zsZ == 0 ? 0 : format.format(ssgl_zsZ)); | ||
| 2707 | - map.put("ssgl_qr", ssgl_qrZ == 0 ? 0 : format.format(ssgl_qrZ)); | ||
| 2708 | - map.put("ssgl_qc", ssgl_qcZ == 0 ? 0 : format.format(ssgl_qcZ)); | ||
| 2709 | - map.put("ssgl_kx", ssgl_kxZ == 0 ? 0 : format.format(ssgl_kxZ)); | ||
| 2710 | - map.put("ssgl_qh", ssgl_qhZ == 0 ? 0 : format.format(ssgl_qhZ)); | ||
| 2711 | - map.put("ssgl_yw", ssgl_ywZ == 0 ? 0 : format.format(ssgl_ywZ)); | ||
| 2712 | - map.put("ssgl_other", ssgl_otherZ == 0 ? 0 : format.format(ssgl_otherZ)); | ||
| 2713 | - map.put("ssbc", ssbcZ); | ||
| 2714 | - map.put("ssbc_lz", ssbc_lzZ); | ||
| 2715 | - map.put("ssbc_dm", ssbc_lzZ); | ||
| 2716 | - map.put("ssbc_gz", ssbc_gzZ); | ||
| 2717 | - map.put("ssbc_jf", ssbc_jfZ); | ||
| 2718 | - map.put("ssbc_zs", ssbc_zsZ); | ||
| 2719 | - map.put("ssbc_qr", ssbc_qrZ); | ||
| 2720 | - map.put("ssbc_qc", ssbc_qcZ); | ||
| 2721 | - map.put("ssbc_kx", ssbc_qcZ); | ||
| 2722 | - map.put("ssbc_qh", ssbc_qhZ); | ||
| 2723 | - map.put("ssbc_yw", ssbc_ywZ); | ||
| 2724 | - map.put("ssbc_other", ssbc_otherZ); | ||
| 2725 | - map.put("ljgl", format.format(ljglZ+xgljgl)); | ||
| 2726 | - map.put("jhbc", jhbcZ); | ||
| 2727 | - map.put("jhbc_m", jhbc_mZ); | ||
| 2728 | - map.put("jhbc_a", jhbc_aZ); | ||
| 2729 | - map.put("sjbc", sjbcZ); | ||
| 2730 | - map.put("sjbc_m", sjbc_mZ); | ||
| 2731 | - map.put("sjbc_a", sjbc_aZ); | ||
| 2732 | - map.put("ljbc", ljbcZ); | ||
| 2733 | - map.put("ljbc_m", ljbc_mZ); | ||
| 2734 | - map.put("ljbc_a", ljbc_aZ); | ||
| 2735 | - map.put("fzbc", fzbcZ); | ||
| 2736 | - map.put("fzbc_m", fzbc_mZ); | ||
| 2737 | - map.put("fzbc_a", fzbc_aZ); | ||
| 2738 | - map.put("dtbc", dtbcZ); | ||
| 2739 | - map.put("dtbc_m", dtbc_mZ); | ||
| 2740 | - map.put("dtbc_a", dtbc_aZ); | ||
| 2741 | - map.put("djg", djgZ); | ||
| 2742 | - map.put("djg_m", djg_mZ); | ||
| 2743 | - map.put("djg_a", djg_aZ); | ||
| 2744 | - map.put("djg_time", djg_timeZ); | 2162 | + Map<String, Object> map = new HashMap<String, Object>(); |
| 2163 | + map.put("xlName", xlName); | ||
| 2164 | + double jhlc=culateService.culateJhgl(list_s); | ||
| 2165 | + map.put("jhlc",jhlc); | ||
| 2166 | + map.put("sjgl", Arith.add(culateService.culateSjgl(lists),culateService.culateLjgl(lists))); | ||
| 2167 | + double lbgl=culateService.culateLbgl(list_s); | ||
| 2168 | + map.put("ssgl", lbgl); | ||
| 2169 | + map.put("ssgl_lz", culateService.culateCJLC(list_s, "路阻")); | ||
| 2170 | + map.put("ssgl_dm", culateService.culateCJLC(list_s, "吊慢")); | ||
| 2171 | + map.put("ssgl_gz", culateService.culateCJLC(list_s, "故障")); | ||
| 2172 | + map.put("ssgl_jf", culateService.culateCJLC(list_s, "纠纷")); | ||
| 2173 | + map.put("ssgl_zs", culateService.culateCJLC(list_s, "肇事")); | ||
| 2174 | + map.put("ssgl_qr", culateService.culateCJLC(list_s, "缺人")); | ||
| 2175 | + map.put("ssgl_qc", culateService.culateCJLC(list_s, "缺车")); | ||
| 2176 | + map.put("ssgl_kx", culateService.culateCJLC(list_s, "客稀")); | ||
| 2177 | + map.put("ssgl_qh", culateService.culateCJLC(list_s, "气候")); | ||
| 2178 | + map.put("ssgl_yw", culateService.culateCJLC(list_s, "援外")); | ||
| 2179 | + double ssgl_pc=culateService.culateCJLC(list_s, "配车"); | ||
| 2180 | + double ssgl_by=culateService.culateCJLC(list_s, "保养"); | ||
| 2181 | + double ssgl_cj=culateService.culateCJLC(list_s, "抽减"); | ||
| 2182 | + double ssgl_qt=culateService.culateCJLC(list_s, "其他"); | ||
| 2183 | + map.put("ssgl_other", Arith.add(Arith.add(ssgl_pc, ssgl_by),Arith.add(ssgl_cj, ssgl_qt))); | ||
| 2184 | + map.put("ssbc", culateService.culateLbbc(list_s)); | ||
| 2185 | + double ljgl=culateService.culateLjgl(lists); | ||
| 2186 | + map.put("ljgl", ljgl); | ||
| 2187 | + map.put("jhbc", culateService.culateJhbc(list_s,"")); | ||
| 2188 | + map.put("jhbc_m", culateService.culateJhbc(list_s, "zgf")); | ||
| 2189 | + map.put("jhbc_a", culateService.culateJhbc(list_s, "wgf")); | ||
| 2190 | + map.put("sjbc", culateService.culateSjbc(lists,"")); | ||
| 2191 | + map.put("sjbc_m", culateService.culateSjbc(lists,"zgf")); | ||
| 2192 | + map.put("sjbc_a", culateService.culateSjbc(lists,"wgf")); | ||
| 2193 | + map.put("ljbc", culateService.culateLjbc(lists,"")); | ||
| 2194 | + map.put("ljbc_m", culateService.culateLjbc(lists,"zgf")); | ||
| 2195 | + map.put("ljbc_a", culateService.culateLjbc(lists,"wgf")); | ||
| 2196 | + map.put("fzbc", culateService.culateFzbc(lists, "")); | ||
| 2197 | + map.put("fzbc_m", culateService.culateFzbc(lists, "zgf")); | ||
| 2198 | + map.put("fzbc_a", culateService.culateFzbc(lists, "wgf")); | ||
| 2199 | + map.put("dtbc", 0); | ||
| 2200 | + map.put("dtbc_m", 0); | ||
| 2201 | + map.put("dtbc_a", 0); | ||
| 2202 | + map.put("djg", 0); | ||
| 2203 | + map.put("djg_m", 0); | ||
| 2204 | + map.put("djg_a", 0); | ||
| 2205 | + map.put("djg_time", 0); | ||
| 2206 | + map.put("jls", Arith.sub(Arith.add(jhlc, ljgl), lbgl)); | ||
| 2745 | lMap.add(map); | 2207 | lMap.add(map); |
| 2746 | - for (int i = 0; i < lMap.size(); i++) { | ||
| 2747 | - Map<String, Object> m=lMap.get(i); | ||
| 2748 | -// m.get("")) | ||
| 2749 | - jhlc += Double.parseDouble(m.get("jhlc").toString()); | ||
| 2750 | - sjgl += Double.parseDouble(m.get("sjgl").toString()); | ||
| 2751 | - ssgl += Double.parseDouble( m.get("ssgl").toString()); | ||
| 2752 | - ssgl_lz += Double.parseDouble( m.get("ssgl_lz").toString()); | ||
| 2753 | - ssgl_dm += Double.parseDouble(m.get("ssgl_dm").toString()); | ||
| 2754 | - ssgl_gz += Double.parseDouble( m.get("ssgl_gz").toString()); | ||
| 2755 | - ssgl_jf += m.get("ssgl_jf", ssgl_jf == 0 ? 0 : format.format(ssgl_jf)); | ||
| 2756 | - m.get("ssgl_zs", ssgl_zs == 0 ? 0 : format.format(ssgl_zs)); | ||
| 2757 | - m.get("ssgl_qr", ssgl_qr == 0 ? 0 : format.format(ssgl_qr)); | ||
| 2758 | - m.get("ssgl_qc", ssgl_qc == 0 ? 0 : format.format(ssgl_qc)); | ||
| 2759 | - m.get("ssgl_kx", ssgl_kx == 0 ? 0 : format.format(ssgl_kx)); | ||
| 2760 | - m.get("ssgl_qh", ssgl_qh == 0 ? 0 : format.format(ssgl_qh)); | ||
| 2761 | - m.get("ssgl_yw", ssgl_yw == 0 ? 0 : format.format(ssgl_yw)); | ||
| 2762 | - m.get("ssgl_other", ssgl_other == 0 ? 0 : format.format(ssgl_other)); | ||
| 2763 | - m.get("ljgl", ljgl == 0 ? 0 : format.format(ljgl)); | ||
| 2764 | - m.get("jhbc", jhbc); | ||
| 2765 | - m.get("jhbc_m", jhbc_m); | ||
| 2766 | - m.get("jhbc_a", jhbc_a); | ||
| 2767 | - m.get("sjbc", sjbc); | ||
| 2768 | - m.get("sjbc_m", sjbc_m); | ||
| 2769 | - m.get("sjbc_a", sjbc_a); | ||
| 2770 | - m.get("ljbc", ljbc); | ||
| 2771 | - m.get("ljbc_m", ljbc_m); | ||
| 2772 | - m.get("ljbc_a", ljbc_a); | ||
| 2773 | - m.get("fzbc", fzbc); | ||
| 2774 | - m.get("fzbc_m", fzbc_m); | ||
| 2775 | - m.get("fzbc_a", fzbc_a); | ||
| 2776 | - m.get("dtbc", dtbc); | ||
| 2777 | - m.get("dtbc_m", dtbc_m); | ||
| 2778 | - m.get("dtbc_a", dtbc_a); | ||
| 2779 | - m.get("djg", djg); | ||
| 2780 | - m.get("djg_m", djg_m); | ||
| 2781 | - m.get("djg_a", djg_a); | ||
| 2782 | - m.get("djg_time", djg_time); | ||
| 2783 | - } | ||
| 2784 | - | ||
| 2785 | - if (type != null && type.length() != 0 && type.equals("export")) { | ||
| 2786 | - SimpleDateFormat sdfMonth = new SimpleDateFormat("yyyy-MM-dd"), | ||
| 2787 | - sdfSimple = new SimpleDateFormat("yyyyMMdd"); | ||
| 2788 | - List<Iterator<?>> listI = new ArrayList<Iterator<?>>(); | ||
| 2789 | - Map<String, Object> m = new HashMap<String, Object>(); | ||
| 2790 | - ReportUtils ee = new ReportUtils(); | ||
| 2791 | - try { | ||
| 2792 | - listI.add(lMap.iterator()); | ||
| 2793 | - String path = this.getClass().getResource("/").getPath() + "static/pages/forms/"; | ||
| 2794 | - ee.excelReplace(listI, new Object[]{m}, path + "mould/statisticsDaily_.xls", | ||
| 2795 | - path + "export/统计日报" + sdfSimple.format(sdfMonth.parse(date)) + ".xls"); | ||
| 2796 | - } catch (Exception e) { | ||
| 2797 | - // TODO: handle exception | ||
| 2798 | - e.printStackTrace(); | ||
| 2799 | - } | ||
| 2800 | - } | ||
| 2801 | - | ||
| 2802 | return lMap; | 2208 | return lMap; |
| 2803 | - }*/ | 2209 | + } |
| 2804 | 2210 | ||
| 2805 | public final Map<String, Object> staticTj(List<ScheduleRealInfo> list){ | 2211 | public final Map<String, Object> staticTj(List<ScheduleRealInfo> list){ |
| 2806 | 2212 | ||
| @@ -3094,15 +2500,6 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -3094,15 +2500,6 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 3094 | 2500 | ||
| 3095 | @Override | 2501 | @Override |
| 3096 | public List<ScheduleRealInfo> realScheduleList(String line, String date) { | 2502 | public List<ScheduleRealInfo> realScheduleList(String line, String date) { |
| 3097 | - /*List<ScheduleRealInfo> listInfo = scheduleRealInfoRepository.queryUserInfo(line, date); | ||
| 3098 | - List<ScheduleRealInfo> listTotal = scheduleRealInfoRepository.scheduleByDateAndLine(line, date); | ||
| 3099 | - for(ScheduleRealInfo info:listInfo){ | ||
| 3100 | - for(ScheduleRealInfo total:listTotal){ | ||
| 3101 | - if(info.getjGh().equals(total.getjGh()) && info.getLpName().equals(total.getLpName()) && info.getClZbh().equals(total.getClZbh())){ | ||
| 3102 | - | ||
| 3103 | - } | ||
| 3104 | - } | ||
| 3105 | - }*/ | ||
| 3106 | List<ScheduleRealInfo> list = new ArrayList<ScheduleRealInfo>(); | 2503 | List<ScheduleRealInfo> list = new ArrayList<ScheduleRealInfo>(); |
| 3107 | String lpName = "lpName"; | 2504 | String lpName = "lpName"; |
| 3108 | String zdsj = ""; | 2505 | String zdsj = ""; |
| @@ -3189,16 +2586,103 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -3189,16 +2586,103 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 3189 | } | 2586 | } |
| 3190 | 2587 | ||
| 3191 | @Override | 2588 | @Override |
| 3192 | - public List<ScheduleRealInfo> realScheduleListQp(String line, String date) { | ||
| 3193 | - /*List<ScheduleRealInfo> listInfo = scheduleRealInfoRepository.queryUserInfo(line, date); | ||
| 3194 | - List<ScheduleRealInfo> listTotal = scheduleRealInfoRepository.scheduleByDateAndLine(line, date); | ||
| 3195 | - for(ScheduleRealInfo info:listInfo){ | ||
| 3196 | - for(ScheduleRealInfo total:listTotal){ | ||
| 3197 | - if(info.getjGh().equals(total.getjGh()) && info.getLpName().equals(total.getLpName()) && info.getClZbh().equals(total.getClZbh())){ | 2589 | + public List<ScheduleRealInfo> realScheduleList_mh_2(String line, String date) { |
| 2590 | + List<ScheduleRealInfo> list = new ArrayList<ScheduleRealInfo>(); | ||
| 2591 | + String lpName = "lpName"; | ||
| 2592 | + String zdsj = ""; | ||
| 2593 | + String zdsjActual = ""; | ||
| 2594 | + String zdsj1 = ""; | ||
| 2595 | + String zdsjActual1 = ""; | ||
| 2596 | + List<ScheduleRealInfo> listInfo = scheduleRealInfoRepository.scheduleByDateAndLineQp(line, date); | ||
| 3198 | 2597 | ||
| 3199 | - } | ||
| 3200 | - } | ||
| 3201 | - }*/ | 2598 | + for(ScheduleRealInfo s : listInfo){ |
| 2599 | + if(s.isDestroy() && s.isReissue()){ | ||
| 2600 | + s.setRemark(""); | ||
| 2601 | + s.setFcsjActual(s.getDfsj()); | ||
| 2602 | + s.setZdsjActual(s.getZdsj()); | ||
| 2603 | + s.setStatus(2); | ||
| 2604 | + s.setJhlc(s.getJhlcOrig()); | ||
| 2605 | + } | ||
| 2606 | + } | ||
| 2607 | + | ||
| 2608 | + for (int i = 0; i < listInfo.size(); i++) { | ||
| 2609 | + ScheduleRealInfo t = listInfo.get(i); | ||
| 2610 | + if (!lpName.equals(t.getLpName())) { | ||
| 2611 | + zdsjActual = t.getZdsjActual(); | ||
| 2612 | + zdsj = t.getZdsj(); | ||
| 2613 | + t.setZdsjActual(""); | ||
| 2614 | + t.setZdsj(""); | ||
| 2615 | + } else { | ||
| 2616 | + zdsj1 = t.getZdsj(); | ||
| 2617 | + zdsjActual1 = t.getZdsjActual(); | ||
| 2618 | + t.setZdsjActual(zdsjActual); | ||
| 2619 | + t.setZdsj(zdsj); | ||
| 2620 | + zdsj = zdsj1; | ||
| 2621 | + zdsjActual = zdsjActual1; | ||
| 2622 | + } | ||
| 2623 | + lpName = t.getLpName(); | ||
| 2624 | + list.add(t); | ||
| 2625 | + } | ||
| 2626 | + | ||
| 2627 | + List<ScheduleRealInfo> listInfo2 = scheduleRealInfoRepository.scheduleByDateAndLineQp2(line, date); | ||
| 2628 | + List<ScheduleRealInfo> xList = new ArrayList<ScheduleRealInfo>(); | ||
| 2629 | + List<ScheduleRealInfo> yList = new ArrayList<ScheduleRealInfo>(); | ||
| 2630 | + List<ScheduleRealInfo> zList = new ArrayList<ScheduleRealInfo>(); | ||
| 2631 | + List<ScheduleRealInfo> newList = new ArrayList<ScheduleRealInfo>(); | ||
| 2632 | + if (listInfo2.size() > 0) { | ||
| 2633 | + int a = listInfo2.size() % 3; | ||
| 2634 | + int b = listInfo2.size() / 3; | ||
| 2635 | + int x = 0, y = 0; | ||
| 2636 | + if (a == 2) { | ||
| 2637 | + x = b + 1; | ||
| 2638 | + y = x * 2; | ||
| 2639 | + } else if (b == 1) { | ||
| 2640 | + x = b + 1; | ||
| 2641 | + y = x * 2 - 1; | ||
| 2642 | + } else { | ||
| 2643 | + x = b; | ||
| 2644 | + y = 2 * x; | ||
| 2645 | + | ||
| 2646 | + } | ||
| 2647 | + for (int i = 0; i < listInfo2.size(); i++) { | ||
| 2648 | + ScheduleRealInfo s = listInfo2.get(i); | ||
| 2649 | + if (i + 1 <= x) { | ||
| 2650 | + xList.add(s); | ||
| 2651 | + } else if ((i + 1) > x && (i + 1) <= y) { | ||
| 2652 | + yList.add(s); | ||
| 2653 | + } else { | ||
| 2654 | + zList.add(s); | ||
| 2655 | + } | ||
| 2656 | + } | ||
| 2657 | + for (int i = 0; i < x; i++) { | ||
| 2658 | + newList.add(xList.get(i)); | ||
| 2659 | + if (yList.size() > i) { | ||
| 2660 | + newList.add(yList.get(i)); | ||
| 2661 | + } else { | ||
| 2662 | + newList.add(new ScheduleRealInfo()); | ||
| 2663 | + } | ||
| 2664 | + if (zList.size() > i) { | ||
| 2665 | + newList.add(zList.get(i)); | ||
| 2666 | + } else { | ||
| 2667 | + newList.add(new ScheduleRealInfo()); | ||
| 2668 | + } | ||
| 2669 | + | ||
| 2670 | + } | ||
| 2671 | + } | ||
| 2672 | + for (int i = 0; i < newList.size(); i++) { | ||
| 2673 | + ScheduleRealInfo t1 = newList.get(i); | ||
| 2674 | + for (int j = 0; j < list.size(); j++) { | ||
| 2675 | + ScheduleRealInfo t2 = list.get(j); | ||
| 2676 | + if (t1.getId() == t2.getId()) { | ||
| 2677 | + t1 = t2; | ||
| 2678 | + } | ||
| 2679 | + } | ||
| 2680 | + } | ||
| 2681 | + return newList; | ||
| 2682 | + } | ||
| 2683 | + | ||
| 2684 | + @Override | ||
| 2685 | + public List<ScheduleRealInfo> realScheduleListQp(String line, String date) { | ||
| 3202 | List<ScheduleRealInfo> list = new ArrayList<ScheduleRealInfo>(); | 2686 | List<ScheduleRealInfo> list = new ArrayList<ScheduleRealInfo>(); |
| 3203 | String lpName = "lpName"; | 2687 | String lpName = "lpName"; |
| 3204 | String zdsj = ""; | 2688 | String zdsj = ""; |
| @@ -3221,18 +2705,6 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -3221,18 +2705,6 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 3221 | zdsj = zdsj1; | 2705 | zdsj = zdsj1; |
| 3222 | zdsjActual = zdsjActual1; | 2706 | zdsjActual = zdsjActual1; |
| 3223 | } | 2707 | } |
| 3224 | - /*if(i<listInfo.size()-1){ | ||
| 3225 | - if(s.getLpName().equals(listInfo.get(i+1).getLpName())){ | ||
| 3226 | - zdsj=s.getZdsj(); | ||
| 3227 | - zdsjActual=s.getZdsjActual(); | ||
| 3228 | - }else{ | ||
| 3229 | - zdsj=""; | ||
| 3230 | - zdsjActual=""; | ||
| 3231 | - } | ||
| 3232 | - }else{ | ||
| 3233 | - zdsj=s.getZdsj(); | ||
| 3234 | - zdsjActual=s.getZdsjActual(); | ||
| 3235 | - }*/ | ||
| 3236 | 2708 | ||
| 3237 | lpName = t.getLpName(); | 2709 | lpName = t.getLpName(); |
| 3238 | list.add(t); | 2710 | list.add(t); |
| @@ -3241,12 +2713,6 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -3241,12 +2713,6 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 3241 | } | 2713 | } |
| 3242 | 2714 | ||
| 3243 | public List<Map<String, Object>> yesterdayDataList(String line, String date,String gsbm,String fgsbm,String jGh,String nbbm) { | 2715 | public List<Map<String, Object>> yesterdayDataList(String line, String date,String gsbm,String fgsbm,String jGh,String nbbm) { |
| 3244 | -// Arith arith=new Arith(); | ||
| 3245 | - //前一天日期 | ||
| 3246 | -// String date = sdfMonth.format(org.apache.commons.lang.time.DateUtils.addDays(new Date(), -1)); | ||
| 3247 | -// String date = "2016-09-20"; | ||
| 3248 | -// System.out.println("shijian1:"+new Date()); | ||
| 3249 | - | ||
| 3250 | List<Map<String, Object>> yesterdayDataList = new ArrayList<Map<String, Object>>(); | 2716 | List<Map<String, Object>> yesterdayDataList = new ArrayList<Map<String, Object>>(); |
| 3251 | if(line.equals("")){ | 2717 | if(line.equals("")){ |
| 3252 | yesterdayDataList=scheduleRealInfoRepository.yesterdayDataList(line, date,gsbm,fgsbm,nbbm); | 2718 | yesterdayDataList=scheduleRealInfoRepository.yesterdayDataList(line, date,gsbm,fgsbm,nbbm); |
| @@ -3279,67 +2745,6 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -3279,67 +2745,6 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 3279 | fage = false; | 2745 | fage = false; |
| 3280 | } | 2746 | } |
| 3281 | listS.add(scheduleRealInfo); | 2747 | listS.add(scheduleRealInfo); |
| 3282 | - | ||
| 3283 | - /* if (scheduleRealInfo != null) { | ||
| 3284 | - //计划里程(主任务过滤掉临加班次), | ||
| 3285 | - //烂班里程(主任务烂班), | ||
| 3286 | - //临加里程(主任务临加), | ||
| 3287 | - //计划班次,烂班班次,增加班次 | ||
| 3288 | - tempJhlc = scheduleRealInfo.getJhlc() == null ? 0 : scheduleRealInfo.getJhlc(); | ||
| 3289 | - if (scheduleRealInfo.isSflj()) { | ||
| 3290 | - if(scheduleRealInfo.getStatus() == -1){ | ||
| 3291 | - addMileage =Arith.add(addMileage, tempJhlc); | ||
| 3292 | - } | ||
| 3293 | - } else { | ||
| 3294 | - if (!(scheduleRealInfo.getBcType().equals("in") | ||
| 3295 | - || scheduleRealInfo.getBcType().equals("out"))) { | ||
| 3296 | - jhlc =Arith.add(jhlc,tempJhlc); | ||
| 3297 | - } | ||
| 3298 | - | ||
| 3299 | - if (scheduleRealInfo.getStatus() == -1) { | ||
| 3300 | - remMileage =Arith.add(remMileage,tempJhlc); | ||
| 3301 | - } | ||
| 3302 | - } | ||
| 3303 | - Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks(); | ||
| 3304 | - //计算营运里程,空驶里程 | ||
| 3305 | - if (childTaskPlans.isEmpty()) { | ||
| 3306 | - if (scheduleRealInfo.getBcType().equals("in") || | ||
| 3307 | - scheduleRealInfo.getBcType().equals("out")) { | ||
| 3308 | - if (scheduleRealInfo.getStatus() != -1) { | ||
| 3309 | - jcclc=Arith.add(jcclc,tempJhlc); | ||
| 3310 | - } | ||
| 3311 | - } | ||
| 3312 | - //主任务 放空班次属于营运 | ||
| 3313 | - // else if(scheduleRealInfo.getBcType().equals("venting")){ | ||
| 3314 | - // ksgl += tempJhlc; | ||
| 3315 | - // } | ||
| 3316 | - else { | ||
| 3317 | - if (scheduleRealInfo.getStatus() != -1) { | ||
| 3318 | - yygl=Arith.add(yygl,tempJhlc); | ||
| 3319 | - } | ||
| 3320 | - } | ||
| 3321 | - } else { | ||
| 3322 | - Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); | ||
| 3323 | - while (it.hasNext()) { | ||
| 3324 | - ChildTaskPlan childTaskPlan = it.next(); | ||
| 3325 | - if (childTaskPlan.getMileageType().equals("empty")) { | ||
| 3326 | - if (childTaskPlan.isDestroy()) { | ||
| 3327 | - remMileage=Arith.add(remMileage,childTaskPlan.getMileage() == null ? 0 : childTaskPlan.getMileage()); | ||
| 3328 | - } else { | ||
| 3329 | - ksgl += Arith.add(ksgl,childTaskPlan.getMileage() == null ? 0 : childTaskPlan.getMileage()); | ||
| 3330 | - } | ||
| 3331 | - } else { | ||
| 3332 | - if (childTaskPlan.isDestroy()) { | ||
| 3333 | - remMileage=Arith.add(remMileage,childTaskPlan.getMileage() == null ? 0 : childTaskPlan.getMileage()); | ||
| 3334 | - | ||
| 3335 | - } else { | ||
| 3336 | - yygl=Arith.add(yygl,childTaskPlan.getMileage() == null ? 0 : childTaskPlan.getMileage()); | ||
| 3337 | - | ||
| 3338 | - } | ||
| 3339 | - } | ||
| 3340 | - } | ||
| 3341 | - } | ||
| 3342 | - }*/ | ||
| 3343 | } | 2748 | } |
| 3344 | } | 2749 | } |
| 3345 | 2750 | ||
| @@ -3802,10 +3207,6 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -3802,10 +3207,6 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 3802 | ) { | 3207 | ) { |
| 3803 | jcclc += tempJhlc; | 3208 | jcclc += tempJhlc; |
| 3804 | } | 3209 | } |
| 3805 | - //主任务 放空班次属于营运 | ||
| 3806 | -// else if(scheduleRealInfo.getBcType().equals("venting")){ | ||
| 3807 | -// ksgl += tempJhlc; | ||
| 3808 | -// } | ||
| 3809 | else { | 3210 | else { |
| 3810 | if (scheduleRealInfo.getStatus() != -1) { | 3211 | if (scheduleRealInfo.getStatus() != -1) { |
| 3811 | if (scheduleRealInfo.isSflj()) { | 3212 | if (scheduleRealInfo.isSflj()) { |
| @@ -3973,86 +3374,6 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -3973,86 +3374,6 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 3973 | double jhlc = 0, yygl = 0, ksgl = 0, tempJhlc = 0, jcclc = 0,ljjcclc=0,jhjcclc=0; | 3374 | double jhlc = 0, yygl = 0, ksgl = 0, tempJhlc = 0, jcclc = 0,ljjcclc=0,jhjcclc=0; |
| 3974 | double addMileage = 0, remMileage = 0, addgl = 0, remgl = 0; | 3375 | double addMileage = 0, remMileage = 0, addgl = 0, remgl = 0; |
| 3975 | Map<String, Object> map = new HashMap<String, Object>(); | 3376 | Map<String, Object> map = new HashMap<String, Object>(); |
| 3976 | - /* for (ScheduleRealInfo scheduleRealInfo : list) { | ||
| 3977 | - if (scheduleRealInfo != null) { | ||
| 3978 | - //计划里程(主任务过滤掉临加班次), | ||
| 3979 | - //烂班里程(主任务烂班), | ||
| 3980 | - //临加里程(主任务临加), | ||
| 3981 | - //计划班次,烂班班次,增加班次 | ||
| 3982 | - double jh = 0, sj = 0; | ||
| 3983 | - tempJhlc = scheduleRealInfo.getJhlc() == null ? 0 : scheduleRealInfo.getJhlc(); | ||
| 3984 | - if (scheduleRealInfo.isSflj()) { | ||
| 3985 | - if(!(scheduleRealInfo.getBcType().equals("in") | ||
| 3986 | - || scheduleRealInfo.getBcType().equals("out"))){ | ||
| 3987 | - ljbc++; | ||
| 3988 | - } | ||
| 3989 | - } else { | ||
| 3990 | - if (!(scheduleRealInfo.getBcType().equals("in") | ||
| 3991 | - || scheduleRealInfo.getBcType().equals("out"))) { | ||
| 3992 | - jhbc++; | ||
| 3993 | - jh += tempJhlc; | ||
| 3994 | - } | ||
| 3995 | - | ||
| 3996 | - if (scheduleRealInfo.getStatus() == -1) { | ||
| 3997 | - remMileage += tempJhlc; | ||
| 3998 | - cjbc++; | ||
| 3999 | - } | ||
| 4000 | - } | ||
| 4001 | - Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks(); | ||
| 4002 | - //计算营运里程,空驶里程 | ||
| 4003 | - if (childTaskPlans.isEmpty()) { | ||
| 4004 | - if (scheduleRealInfo.getBcType().equals("in") || | ||
| 4005 | - scheduleRealInfo.getBcType().equals("out")) { | ||
| 4006 | - if(scheduleRealInfo.getStatus() != -1){ | ||
| 4007 | - if(scheduleRealInfo.isSflj()){ | ||
| 4008 | - ljjcclc += tempJhlc; | ||
| 4009 | - }else{ | ||
| 4010 | - jcclc += tempJhlc; | ||
| 4011 | - } | ||
| 4012 | - } | ||
| 4013 | - }else { | ||
| 4014 | - if (scheduleRealInfo.getStatus() != -1) { | ||
| 4015 | - if (scheduleRealInfo.isSflj()) { | ||
| 4016 | - addMileage += tempJhlc; | ||
| 4017 | - } | ||
| 4018 | - sj += tempJhlc; | ||
| 4019 | - } | ||
| 4020 | - } | ||
| 4021 | - } else { | ||
| 4022 | - Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); | ||
| 4023 | - while (it.hasNext()) { | ||
| 4024 | - ChildTaskPlan childTaskPlan = it.next(); | ||
| 4025 | - if (childTaskPlan.getMileageType().equals("empty")) { | ||
| 4026 | - if (childTaskPlan.isDestroy()) { | ||
| 4027 | - remMileage += childTaskPlan.getMileage() == null ? 0 : childTaskPlan.getMileage(); | ||
| 4028 | - } else { | ||
| 4029 | - if (scheduleRealInfo.isSflj()) { | ||
| 4030 | - addMileage += tempJhlc; | ||
| 4031 | - } | ||
| 4032 | - ksgl += childTaskPlan.getMileage() == null ? 0 : childTaskPlan.getMileage(); | ||
| 4033 | - } | ||
| 4034 | - } else { | ||
| 4035 | - if (childTaskPlan.isDestroy()) { | ||
| 4036 | - remMileage += childTaskPlan.getMileage() == null ? 0 : childTaskPlan.getMileage(); | ||
| 4037 | -// cjbc++; | ||
| 4038 | - } else { | ||
| 4039 | - if (scheduleRealInfo.isSflj()) { | ||
| 4040 | - addMileage += tempJhlc; | ||
| 4041 | - } | ||
| 4042 | - sj += childTaskPlan.getMileage() == null ? 0 : childTaskPlan.getMileage(); | ||
| 4043 | - } | ||
| 4044 | - } | ||
| 4045 | - } | ||
| 4046 | - } | ||
| 4047 | - jhlc += jh; | ||
| 4048 | - yygl += sj; | ||
| 4049 | - if (jh > sj) { | ||
| 4050 | - remgl += jh - sj; | ||
| 4051 | - } else if (sj > jh) { | ||
| 4052 | - addgl += sj - jh; | ||
| 4053 | - } | ||
| 4054 | - } | ||
| 4055 | - }*/ | ||
| 4056 | jhlc=culateMieageService.culateJhgl(lists); | 3377 | jhlc=culateMieageService.culateJhgl(lists); |
| 4057 | jcclc=culateMieageService.culateJccgl(lists); | 3378 | jcclc=culateMieageService.culateJccgl(lists); |
| 4058 | jhjcclc=culateMieageService.culateJhJccgl(lists); | 3379 | jhjcclc=culateMieageService.culateJhJccgl(lists); |
src/main/java/com/bsth/service/report/CulateMileageService.java
| @@ -30,5 +30,23 @@ public interface CulateMileageService { | @@ -30,5 +30,23 @@ public interface CulateMileageService { | ||
| 30 | 30 | ||
| 31 | int culateFzbc(List<ScheduleRealInfo> lists,String item); | 31 | int culateFzbc(List<ScheduleRealInfo> lists,String item); |
| 32 | 32 | ||
| 33 | + | ||
| 34 | + | ||
| 35 | + //以下计算方法供新报表使用 | ||
| 36 | + Map<String, Double> culateSjlcMap(List<ScheduleRealInfo> lists);//计划内营运and计划外营运 | ||
| 37 | + | ||
| 38 | + Map<String, Double> culateSjJcclcMap(List<ScheduleRealInfo> lists);//计划内进出场and计划外进出场 | ||
| 39 | + | ||
| 40 | + Map<String, Double> culateLjMile(List<ScheduleRealInfo> lists);//临加营运and临加进出场空驶 | ||
| 41 | + | ||
| 42 | + double culateSsMile(List<ScheduleRealInfo> lists); //烂班少驶 | ||
| 43 | + | ||
| 44 | + double culateSsMileXx(List<ScheduleRealInfo> lists,String item);//烂班少驶详细 | ||
| 45 | + | ||
| 46 | + double culateZrwJccLc(List<ScheduleRealInfo> lists,String item);//子任务进出场 | ||
| 47 | + | ||
| 48 | + double culateKfksLc(List<ScheduleRealInfo> lists); | ||
| 49 | + | ||
| 50 | + | ||
| 33 | } | 51 | } |
| 34 | 52 |
src/main/java/com/bsth/service/report/ReportService.java
| @@ -42,4 +42,6 @@ public interface ReportService { | @@ -42,4 +42,6 @@ public interface ReportService { | ||
| 42 | List<Map<String, String>> carList(Map<String, Object> map); | 42 | List<Map<String, String>> carList(Map<String, Object> map); |
| 43 | 43 | ||
| 44 | List<Map<String, String>> userList(Map<String, Object> map); | 44 | List<Map<String, String>> userList(Map<String, Object> map); |
| 45 | + | ||
| 46 | + List<Map<String, Object>> countByList(Map<String, Object> map); | ||
| 45 | } | 47 | } |
src/main/java/com/bsth/service/report/impl/CulateMileageServiceImpl.java
| @@ -16,6 +16,7 @@ import com.bsth.entity.realcontrol.ScheduleRealInfo; | @@ -16,6 +16,7 @@ import com.bsth.entity.realcontrol.ScheduleRealInfo; | ||
| 16 | import com.bsth.service.report.CulateMileageService; | 16 | import com.bsth.service.report.CulateMileageService; |
| 17 | import com.bsth.util.Arith; | 17 | import com.bsth.util.Arith; |
| 18 | import com.bsth.util.ComparableJob; | 18 | import com.bsth.util.ComparableJob; |
| 19 | +import com.google.common.util.concurrent.AbstractScheduledService.Scheduler; | ||
| 19 | 20 | ||
| 20 | @Service | 21 | @Service |
| 21 | public class CulateMileageServiceImpl implements CulateMileageService{ | 22 | public class CulateMileageServiceImpl implements CulateMileageService{ |
| @@ -135,9 +136,11 @@ public class CulateMileageServiceImpl implements CulateMileageService{ | @@ -135,9 +136,11 @@ public class CulateMileageServiceImpl implements CulateMileageService{ | ||
| 135 | Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); | 136 | Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); |
| 136 | while (it.hasNext()) { | 137 | while (it.hasNext()) { |
| 137 | ChildTaskPlan childTaskPlan = it.next(); | 138 | ChildTaskPlan childTaskPlan = it.next(); |
| 138 | - if (childTaskPlan.isDestroy()) { | ||
| 139 | - zlblc=Arith.add(zlblc,childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage()); | ||
| 140 | - } | 139 | + if(childTaskPlan.getMileageType().equals("service")){ |
| 140 | + if (childTaskPlan.isDestroy()) { | ||
| 141 | + zlblc=Arith.add(zlblc,childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage()); | ||
| 142 | + } | ||
| 143 | + } | ||
| 141 | } | 144 | } |
| 142 | } | 145 | } |
| 143 | } | 146 | } |
| @@ -625,5 +628,279 @@ public class CulateMileageServiceImpl implements CulateMileageService{ | @@ -625,5 +628,279 @@ public class CulateMileageServiceImpl implements CulateMileageService{ | ||
| 625 | } | 628 | } |
| 626 | return fzbc; | 629 | return fzbc; |
| 627 | } | 630 | } |
| 631 | + | ||
| 632 | + | ||
| 633 | + // | ||
| 634 | + // | ||
| 635 | + //新报表公里计算方法开始 | ||
| 636 | + // | ||
| 637 | + // | ||
| 638 | + | ||
| 639 | + //计划内营运and计划外营运 | ||
| 640 | + @Override | ||
| 641 | + public Map<String, Double> culateSjlcMap(List<ScheduleRealInfo> lists) { | ||
| 642 | + // TODO Auto-generated method stub | ||
| 643 | + double jhnlc=0.0; | ||
| 644 | + double jhwlc=0.0; | ||
| 645 | + for (int i = 0; i < lists.size(); i++) { | ||
| 646 | + ScheduleRealInfo t=lists.get(i); | ||
| 647 | + if(!isInOut(t)){ | ||
| 648 | + if(!t.isSflj()){ | ||
| 649 | + Set<ChildTaskPlan> childTaskPlans = t.getcTasks(); | ||
| 650 | + if(childTaskPlans.isEmpty()){ | ||
| 651 | + if(!t.isDestroy()){ | ||
| 652 | + if( Math.abs(t.getJhlc()-t.getJhlcOrig())>0){ | ||
| 653 | + jhwlc =Arith.add(jhwlc, t.getJhlcOrig()); | ||
| 654 | + }else{ | ||
| 655 | + jhnlc =Arith.add(jhnlc, t.getJhlc()); | ||
| 656 | + } | ||
| 657 | + } | ||
| 658 | + }else{ | ||
| 659 | + Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); | ||
| 660 | + double zrwlc=0.0; | ||
| 661 | + boolean fage=false; | ||
| 662 | + while (it.hasNext()) { | ||
| 663 | + ChildTaskPlan childTaskPlan = it.next(); | ||
| 664 | + if(childTaskPlan.getMileageType().equals("service")){ | ||
| 665 | + if (childTaskPlan.isDestroy()) { | ||
| 666 | + fage=true; | ||
| 667 | + }else{ | ||
| 668 | + zrwlc =Arith.add(zrwlc, childTaskPlan.getMileage()); | ||
| 669 | + } | ||
| 670 | + } | ||
| 671 | + } | ||
| 672 | + if(fage){ | ||
| 673 | + jhwlc =Arith.add(jhwlc, zrwlc); | ||
| 674 | + }else{ | ||
| 675 | + jhnlc =Arith.add(jhnlc, zrwlc); | ||
| 676 | + } | ||
| 677 | + } | ||
| 678 | + } | ||
| 679 | + } | ||
| 680 | + } | ||
| 681 | + | ||
| 682 | + Map<String, Double> map=new HashMap<String, Double>(); | ||
| 683 | + map.put("jhnlc", jhnlc); | ||
| 684 | + map.put("jhwlc", jhwlc); | ||
| 685 | + return map; | ||
| 686 | + } | ||
| 687 | + | ||
| 688 | + //计划内进出场and计划外进出场 | ||
| 689 | + @Override | ||
| 690 | + public Map<String, Double> culateSjJcclcMap(List<ScheduleRealInfo> lists) { | ||
| 691 | + // TODO Auto-generated method stub | ||
| 692 | + double jhwlc=0.0; | ||
| 693 | + double jhnlc=0.0; | ||
| 694 | + for (int i = 0; i < lists.size(); i++) { | ||
| 695 | + ScheduleRealInfo t=lists.get(i); | ||
| 696 | + if(t.getBcType().equals("in") || t.getBcType().equals("out")){ | ||
| 697 | + if(!t.isSflj()){ | ||
| 698 | + Set<ChildTaskPlan> childTaskPlans = t.getcTasks(); | ||
| 699 | + if(childTaskPlans.isEmpty()){ | ||
| 700 | + if(!t.isDestroy()){ | ||
| 701 | + if( Math.abs(t.getJhlc()-t.getJhlcOrig())>0){ | ||
| 702 | + jhwlc =Arith.add(jhwlc, t.getJhlcOrig()); | ||
| 703 | + }else{ | ||
| 704 | + jhnlc =Arith.add(jhnlc, t.getJhlc()); | ||
| 705 | + } | ||
| 706 | + } | ||
| 707 | + }else{ | ||
| 708 | + Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); | ||
| 709 | + double zrwlc=0.0; | ||
| 710 | + boolean fage=false; | ||
| 711 | + while (it.hasNext()) { | ||
| 712 | + ChildTaskPlan childTaskPlan = it.next(); | ||
| 713 | + if(childTaskPlan.getMileageType().equals("empty")){ | ||
| 714 | + if (childTaskPlan.isDestroy()) { | ||
| 715 | + fage=true; | ||
| 716 | + }else{ | ||
| 717 | + zrwlc =Arith.add(zrwlc, childTaskPlan.getMileage()); | ||
| 718 | + } | ||
| 719 | + } | ||
| 720 | + } | ||
| 721 | + if(fage){ | ||
| 722 | + jhwlc =Arith.add(jhwlc, zrwlc); | ||
| 723 | + }else{ | ||
| 724 | + jhnlc =Arith.add(jhnlc, zrwlc); | ||
| 725 | + } | ||
| 726 | + } | ||
| 727 | + } | ||
| 728 | + } | ||
| 729 | + } | ||
| 730 | + Map<String, Double> map=new HashMap<String, Double>(); | ||
| 731 | + map.put("jhnlc", jhnlc); | ||
| 732 | + map.put("jhwlc", jhwlc); | ||
| 733 | + return map; | ||
| 734 | + } | ||
| 735 | + | ||
| 736 | + @Override | ||
| 737 | + public Map<String, Double> culateLjMile(List<ScheduleRealInfo> lists) { | ||
| 738 | + // TODO Auto-generated method stub | ||
| 739 | + double ljjcc=0.0; | ||
| 740 | + double ljyy=0.0; | ||
| 741 | + for (int i = 0; i < lists.size(); i++) { | ||
| 742 | + ScheduleRealInfo t=lists.get(i); | ||
| 743 | + if(t.isSflj()){ | ||
| 744 | + if(t.getBcType().equals("in") || t.getBcType().equals("out")){ | ||
| 745 | + Set<ChildTaskPlan> childTaskPlans = t.getcTasks(); | ||
| 746 | + if(childTaskPlans.isEmpty()){ | ||
| 747 | + if(!t.isDestroy()){ | ||
| 748 | + ljjcc =Arith.add(ljjcc, t.getJhlc()); | ||
| 749 | + } | ||
| 750 | + | ||
| 751 | + } | ||
| 752 | + /*else{ | ||
| 753 | + //临加进出场子任务 待统计 | ||
| 754 | + Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); | ||
| 755 | + double zrwlc=0.0; | ||
| 756 | + boolean fage=false; | ||
| 757 | + while (it.hasNext()) { | ||
| 758 | + ChildTaskPlan childTaskPlan = it.next(); | ||
| 759 | + } | ||
| 760 | + }*/ | ||
| 761 | + } | ||
| 762 | + | ||
| 763 | + if(!isInOut(t)){ | ||
| 764 | + Set<ChildTaskPlan> childTaskPlans = t.getcTasks(); | ||
| 765 | + if(childTaskPlans.isEmpty()){ | ||
| 766 | + if(!t.isDestroy()){ | ||
| 767 | + ljyy =Arith.add(ljyy, t.getJhlc()); | ||
| 768 | + } | ||
| 769 | + }else{ | ||
| 770 | + Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); | ||
| 771 | + while (it.hasNext()) { | ||
| 772 | + ChildTaskPlan childTaskPlan = it.next(); | ||
| 773 | + if(!childTaskPlan.isDestroy()){ | ||
| 774 | + if(childTaskPlan.getMileageType().equals("service")){ | ||
| 775 | + ljyy =Arith.add(ljyy,childTaskPlan.getMileage()); | ||
| 776 | + } | ||
| 777 | + } | ||
| 778 | + } | ||
| 779 | + } | ||
| 780 | + } | ||
| 781 | + } | ||
| 782 | + } | ||
| 783 | + | ||
| 784 | + Map<String, Double> map=new HashMap<String,Double>(); | ||
| 785 | + map.put("ljjcc", ljjcc); | ||
| 786 | + map.put("ljyy", ljyy); | ||
| 787 | + return map; | ||
| 788 | + } | ||
| 789 | + | ||
| 790 | + @Override | ||
| 791 | + public double culateSsMile(List<ScheduleRealInfo> lists) { | ||
| 792 | + double zlblc =0.0; | ||
| 793 | + for (int i = 0; i < lists.size(); i++) { | ||
| 794 | + ScheduleRealInfo scheduleRealInfo=lists.get(i); | ||
| 795 | + if (!isInOut(scheduleRealInfo)) { | ||
| 796 | + Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks(); | ||
| 797 | + if(childTaskPlans.isEmpty()){ | ||
| 798 | + if(scheduleRealInfo.isDestroy()){ | ||
| 799 | + zlblc=Arith.add(zlblc,scheduleRealInfo.getJhlcOrig()==null?0:scheduleRealInfo.getJhlcOrig()); | ||
| 800 | + } | ||
| 801 | + }else{ | ||
| 802 | + Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); | ||
| 803 | + while (it.hasNext()) { | ||
| 804 | + ChildTaskPlan childTaskPlan = it.next(); | ||
| 805 | + if(childTaskPlan.getMileageType().equals("service")){ | ||
| 806 | + if (childTaskPlan.isDestroy()) { | ||
| 807 | + zlblc=Arith.add(zlblc,childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage()); | ||
| 808 | + } | ||
| 809 | + } | ||
| 810 | + } | ||
| 811 | + } | ||
| 812 | + } | ||
| 813 | + } | ||
| 814 | + return zlblc; | ||
| 815 | + } | ||
| 628 | 816 | ||
| 817 | + @Override | ||
| 818 | + public double culateSsMileXx(List<ScheduleRealInfo> lists, String item) { | ||
| 819 | + // TODO Auto-generated method stub | ||
| 820 | + double sum = 0; | ||
| 821 | + Set<ChildTaskPlan> cts; | ||
| 822 | + for(ScheduleRealInfo sch : lists){ | ||
| 823 | + if (sch.isSflj()) | ||
| 824 | + continue; | ||
| 825 | + cts = sch.getcTasks(); | ||
| 826 | + //有子任务 | ||
| 827 | + if (cts != null && cts.size() > 0) { | ||
| 828 | + for(ChildTaskPlan c : cts){ | ||
| 829 | + if(item.equals("其他")){ | ||
| 830 | + if(c.isDestroy() && | ||
| 831 | + ((c.getDestroyReason()==null?"": c.getDestroyReason()).equals(item)|| | ||
| 832 | + (c.getDestroyReason()==null?"": c.getDestroyReason()).equals(""))) | ||
| 833 | + sum = Arith.add(sum, c.getMileage()); | ||
| 834 | + }else{ | ||
| 835 | + if(c.isDestroy() && (c.getDestroyReason()==null?"": c.getDestroyReason()).equals(item)) | ||
| 836 | + sum = Arith.add(sum, c.getMileage()); | ||
| 837 | + } | ||
| 838 | + | ||
| 839 | + } | ||
| 840 | + } | ||
| 841 | + else if(isInOut(sch)) | ||
| 842 | + continue; | ||
| 843 | + //主任务烂班 | ||
| 844 | + else if(sch.getStatus() == -1){ | ||
| 845 | + if(sch.getAdjustExps().equals(item) || | ||
| 846 | + (StringUtils.isEmpty(sch.getAdjustExps()) && item.equals("其他"))){ | ||
| 847 | + sum = Arith.add(sum, sch.getJhlcOrig()); | ||
| 848 | + } | ||
| 849 | + } | ||
| 850 | + | ||
| 851 | + } | ||
| 852 | + return sum; | ||
| 853 | + } | ||
| 854 | + | ||
| 855 | + @Override | ||
| 856 | + public double culateZrwJccLc(List<ScheduleRealInfo> lists, String item) { | ||
| 857 | + // TODO Auto-generated method stub | ||
| 858 | + double zrwjcclc=0.0; | ||
| 859 | + for (int i = 0; i < lists.size(); i++) { | ||
| 860 | + ScheduleRealInfo t=lists.get(i); | ||
| 861 | + if(!isInOut(t)){ | ||
| 862 | + Set<ChildTaskPlan> childTaskPlans = t.getcTasks(); | ||
| 863 | + if(!childTaskPlans.isEmpty()){ | ||
| 864 | + Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); | ||
| 865 | + while (it.hasNext()) { | ||
| 866 | + ChildTaskPlan childTaskPlan = it.next(); | ||
| 867 | + if(childTaskPlan.getType2().equals("2")||childTaskPlan.getType2().equals("3")){ | ||
| 868 | + if (childTaskPlan.isDestroy()) { | ||
| 869 | + zrwjcclc=Arith.add(zrwjcclc,childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage()); | ||
| 870 | + } | ||
| 871 | + } | ||
| 872 | + } | ||
| 873 | + } | ||
| 874 | + } | ||
| 875 | + } | ||
| 876 | + return zrwjcclc; | ||
| 877 | + } | ||
| 878 | + | ||
| 879 | + @Override | ||
| 880 | + public double culateKfksLc(List<ScheduleRealInfo> lists) { | ||
| 881 | + // TODO Auto-generated method stub | ||
| 882 | + double kfks=0.0; | ||
| 883 | + for (int i = 0; i < lists.size(); i++) { | ||
| 884 | + ScheduleRealInfo t=lists.get(i); | ||
| 885 | + if(t.getBcType().equals("ldks")){ | ||
| 886 | + Set<ChildTaskPlan> childTaskPlans = t.getcTasks(); | ||
| 887 | + if(childTaskPlans.isEmpty()){ | ||
| 888 | + if(!t.isDestroy()){ | ||
| 889 | + kfks=Arith.add(kfks,t.getJhlcOrig()==null?0:t.getJhlcOrig()); | ||
| 890 | + } | ||
| 891 | + }else{ | ||
| 892 | + Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); | ||
| 893 | + while (it.hasNext()) { | ||
| 894 | + ChildTaskPlan childTaskPlan = it.next(); | ||
| 895 | + if (!childTaskPlan.isDestroy()) { | ||
| 896 | + kfks=Arith.add(kfks,childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage()); | ||
| 897 | + } | ||
| 898 | + } | ||
| 899 | + } | ||
| 900 | + } | ||
| 901 | + } | ||
| 902 | + return kfks; | ||
| 903 | + } | ||
| 904 | + | ||
| 905 | + | ||
| 629 | } | 906 | } |
src/main/java/com/bsth/service/report/impl/ReportServiceImpl.java
| @@ -29,6 +29,7 @@ import com.bsth.entity.Line; | @@ -29,6 +29,7 @@ import com.bsth.entity.Line; | ||
| 29 | import com.bsth.entity.Personnel; | 29 | import com.bsth.entity.Personnel; |
| 30 | import com.bsth.entity.StationRoute; | 30 | import com.bsth.entity.StationRoute; |
| 31 | import com.bsth.entity.excep.ArrivalInfo; | 31 | import com.bsth.entity.excep.ArrivalInfo; |
| 32 | +import com.bsth.entity.mcy_forms.Operationservice; | ||
| 32 | import com.bsth.entity.oil.Ylb; | 33 | import com.bsth.entity.oil.Ylb; |
| 33 | import com.bsth.entity.realcontrol.ChildTaskPlan; | 34 | import com.bsth.entity.realcontrol.ChildTaskPlan; |
| 34 | import com.bsth.entity.realcontrol.ScheduleRealInfo; | 35 | import com.bsth.entity.realcontrol.ScheduleRealInfo; |
| @@ -1420,4 +1421,180 @@ public class ReportServiceImpl implements ReportService{ | @@ -1420,4 +1421,180 @@ public class ReportServiceImpl implements ReportService{ | ||
| 1420 | List<StationRoute> listStation= stationRouteRepository.findByLine(line,zd); | 1421 | List<StationRoute> listStation= stationRouteRepository.findByLine(line,zd); |
| 1421 | return listStation; | 1422 | return listStation; |
| 1422 | } | 1423 | } |
| 1424 | + @Override | ||
| 1425 | + public List<Map<String, Object>> countByList(Map<String, Object> map) { | ||
| 1426 | + // TODO Auto-generated method stub | ||
| 1427 | + | ||
| 1428 | + List<Map<String, Object>> lMap = new ArrayList<Map<String, Object>>(); | ||
| 1429 | + String gsdm=""; | ||
| 1430 | + if(map.get("gsdm")!=null){ | ||
| 1431 | + gsdm=map.get("gsdm").toString(); | ||
| 1432 | + } | ||
| 1433 | + String fgsdm=""; | ||
| 1434 | + if(map.get("fgsdm")!=null){ | ||
| 1435 | + fgsdm=map.get("fgsdm").toString(); | ||
| 1436 | + } | ||
| 1437 | + String line=""; | ||
| 1438 | + if(map.get("line")!=null){ | ||
| 1439 | + line=map.get("line").toString(); | ||
| 1440 | + } | ||
| 1441 | + String date=""; | ||
| 1442 | + if(map.get("date")!=null){ | ||
| 1443 | + date=map.get("date").toString(); | ||
| 1444 | + } | ||
| 1445 | + String date2=""; | ||
| 1446 | + if(map.get("date2")!=null){ | ||
| 1447 | + date2=map.get("date2").toString(); | ||
| 1448 | + } | ||
| 1449 | + String xlName=""; | ||
| 1450 | + if(map.get("xlName")!=null){ | ||
| 1451 | + xlName=map.get("xlName").toString(); | ||
| 1452 | + } | ||
| 1453 | + String type=""; | ||
| 1454 | + if(map.get("type")!=null){ | ||
| 1455 | + type=map.get("type").toString(); | ||
| 1456 | + } | ||
| 1457 | + //所有班次信息 | ||
| 1458 | + List<ScheduleRealInfo> list = new ArrayList<ScheduleRealInfo>(); | ||
| 1459 | + | ||
| 1460 | + line =line.trim(); | ||
| 1461 | + if(line.equals("")){ | ||
| 1462 | + //查询所有线路 | ||
| 1463 | + list = scheduleRealInfoRepository.scheduleByDateAndLineTj(line, date,date2,gsdm,fgsdm); | ||
| 1464 | + }else{ | ||
| 1465 | + //查询单条线路 | ||
| 1466 | + list = scheduleRealInfoRepository.scheduleByDateAndLineTj2(line, date,date2); | ||
| 1467 | + } | ||
| 1468 | + | ||
| 1469 | + | ||
| 1470 | + String sql="select r.xl_bm" | ||
| 1471 | + + " from bsth_c_s_sp_info_real r where" | ||
| 1472 | + + " r.schedule_date_str BETWEEN '"+date+"' and '"+date2+"'"; | ||
| 1473 | + | ||
| 1474 | + | ||
| 1475 | + if(line.equals("")){ | ||
| 1476 | + sql +="and r.gs_bm='"+gsdm+"' " | ||
| 1477 | + + " and r.fgs_bm='"+fgsdm+"'"; | ||
| 1478 | + }else{ | ||
| 1479 | + sql += " and r.xl_bm = '"+line+"'"; | ||
| 1480 | + } | ||
| 1481 | + sql += " group by r.xl_bm"; | ||
| 1482 | + | ||
| 1483 | + List<String> listLine=jdbcTemplate.query(sql, new RowMapper<String>() { | ||
| 1484 | + @Override | ||
| 1485 | + public String mapRow(ResultSet arg0, int arg1) throws SQLException { | ||
| 1486 | + String ve = arg0.getString("xl_bm"); | ||
| 1487 | + return ve; | ||
| 1488 | + } | ||
| 1489 | + }); | ||
| 1490 | + | ||
| 1491 | + for (int i = 0; i < listLine.size(); i++) { | ||
| 1492 | + List<ScheduleRealInfo> lists = new ArrayList<ScheduleRealInfo>(); | ||
| 1493 | + String lineStr=listLine.get(i); | ||
| 1494 | + for (int j = 0; j < list.size(); j++) { | ||
| 1495 | + ScheduleRealInfo s=list.get(j); | ||
| 1496 | + if(s.getXlBm().equals(lineStr)){ | ||
| 1497 | + lists.add(s); | ||
| 1498 | + } | ||
| 1499 | + } | ||
| 1500 | + | ||
| 1501 | + //计算线路的各项公里 | ||
| 1502 | + if(lists.size()>0){ | ||
| 1503 | + Map<String, Object> newMap=staticTj(lists,"z"); | ||
| 1504 | + lMap.add(newMap); | ||
| 1505 | + } | ||
| 1506 | + } | ||
| 1507 | + if(list.size()>0){ | ||
| 1508 | + Map<String, Object> newMap=staticTj(list,"f"); | ||
| 1509 | + lMap.add(newMap); | ||
| 1510 | + } | ||
| 1511 | + return lMap; | ||
| 1512 | + } | ||
| 1513 | + | ||
| 1514 | + | ||
| 1515 | + public final Map<String, Object> staticTj(List<ScheduleRealInfo> list,String status){ | ||
| 1516 | + | ||
| 1517 | + List<ScheduleRealInfo> lists=new ArrayList<ScheduleRealInfo>(); | ||
| 1518 | + for(int i=0;i<list.size();i++){ | ||
| 1519 | + ScheduleRealInfo s=list.get(i); | ||
| 1520 | + Set<ChildTaskPlan> cts = s.getcTasks(); | ||
| 1521 | + if(cts != null && cts.size() > 0){ | ||
| 1522 | + lists.add(s); | ||
| 1523 | + }else{ | ||
| 1524 | + if(s.getZdsjActual()!=null){ | ||
| 1525 | + lists.add(s); | ||
| 1526 | + } | ||
| 1527 | + } | ||
| 1528 | + } | ||
| 1529 | + Map<String, Object> map = new HashMap<String, Object>(); | ||
| 1530 | + if(list.size()>0){ | ||
| 1531 | + if(status.equals("f")){ | ||
| 1532 | + map.put("xlName","合计"); | ||
| 1533 | + }else{ | ||
| 1534 | + map.put("xlName", list.get(0).getXlName()); | ||
| 1535 | + map.put("gs", list.get(0).getGsName()); | ||
| 1536 | + map.put("fgs", list.get(0).getFgsName()); | ||
| 1537 | + } | ||
| 1538 | + | ||
| 1539 | + double jhyygl=culateService.culateJhgl(list);//计划营运公里 | ||
| 1540 | + double jhjcclc= culateService.culateJhJccgl(list);//计划进出场公里(计划空驶公里) | ||
| 1541 | + map.put("jhlc", jhyygl); | ||
| 1542 | + map.put("jcclc", jhjcclc); | ||
| 1543 | + map.put("jhzlc", Arith.add(jhyygl, jhjcclc));//计划总里程 | ||
| 1544 | + | ||
| 1545 | + //计划内外营运 | ||
| 1546 | + Map<String, Double> culateSjlcMap=culateService.culateSjlcMap(lists); | ||
| 1547 | + double jhnlc=culateSjlcMap.get("jhnlc"); | ||
| 1548 | + double jhwlc=culateSjlcMap.get("jhwlc"); | ||
| 1549 | + map.put("jhnlc", jhnlc); | ||
| 1550 | + map.put("jhwlc", jhwlc); | ||
| 1551 | + double zyylc=Arith.add(jhnlc, jhwlc); | ||
| 1552 | + | ||
| 1553 | + //计划内外进出场 | ||
| 1554 | + Map<String, Double> culateSjJcclcMap=culateService.culateSjJcclcMap(lists); | ||
| 1555 | + double jhwjcclc=culateSjJcclcMap.get("jhwlc"); | ||
| 1556 | + double jhnjcclc=culateSjJcclcMap.get("jhnlc"); | ||
| 1557 | + map.put("jhwjcclc", jhwjcclc); | ||
| 1558 | + map.put("jhnjcclc", jhnjcclc); | ||
| 1559 | + double zjcclc=Arith.add(jhwjcclc, jhnjcclc); | ||
| 1560 | + | ||
| 1561 | + //临加公里 | ||
| 1562 | + Map<String, Double> culateLjMile=culateService.culateLjMile(lists); | ||
| 1563 | + double ljyy=culateLjMile.get("ljyy"); | ||
| 1564 | + double ljjcc=culateLjMile.get("ljjcc"); | ||
| 1565 | + map.put("ljyy", ljyy); | ||
| 1566 | + map.put("ljjcc", ljjcc); | ||
| 1567 | + double ljlc=Arith.add(ljyy, ljjcc); | ||
| 1568 | + | ||
| 1569 | + double lbss=culateService.culateSsMile(list);//烂班少驶 | ||
| 1570 | + map.put("lbss", lbss); | ||
| 1571 | + map.put("ssgl_lz", culateService.culateSsMileXx(list, "路阻")); | ||
| 1572 | + map.put("ssgl_dm", culateService.culateSsMileXx(list, "吊慢")); | ||
| 1573 | + map.put("ssgl_gz", culateService.culateSsMileXx(list, "故障")); | ||
| 1574 | + map.put("ssgl_jf", culateService.culateSsMileXx(list, "纠纷")); | ||
| 1575 | + map.put("ssgl_zs", culateService.culateSsMileXx(list, "肇事")); | ||
| 1576 | + map.put("ssgl_qr", culateService.culateSsMileXx(list, "缺人")); | ||
| 1577 | + map.put("ssgl_qc", culateService.culateSsMileXx(list, "缺车")); | ||
| 1578 | + map.put("ssgl_kx", culateService.culateSsMileXx(list, "客稀")); | ||
| 1579 | + map.put("ssgl_qh", culateService.culateSsMileXx(list, "气候")); | ||
| 1580 | + map.put("ssgl_yw", culateService.culateSsMileXx(list, "援外")); | ||
| 1581 | + map.put("ssgl_other", culateService.culateSsMileXx(list, "其他")); | ||
| 1582 | + | ||
| 1583 | + | ||
| 1584 | + double zrwjcclc=culateService.culateZrwJccLc(list, ""); | ||
| 1585 | + | ||
| 1586 | + map.put("zrwjcclc", zrwjcclc); | ||
| 1587 | + | ||
| 1588 | + double kfks=culateService.culateKfksLc(lists); | ||
| 1589 | + map.put("kfks", kfks); | ||
| 1590 | + double zlc=Arith.add(Arith.add(Arith.add(zrwjcclc, ljlc), | ||
| 1591 | + Arith.add(zjcclc, zyylc)),kfks); | ||
| 1592 | + | ||
| 1593 | + | ||
| 1594 | + map.put("zlc", zlc); | ||
| 1595 | + | ||
| 1596 | + } | ||
| 1597 | + return map; | ||
| 1598 | + } | ||
| 1599 | + | ||
| 1423 | } | 1600 | } |
src/main/java/com/bsth/websocket/handler/RealControlSocketHandler.java
| @@ -44,7 +44,7 @@ public class RealControlSocketHandler implements WebSocketHandler { | @@ -44,7 +44,7 @@ public class RealControlSocketHandler implements WebSocketHandler { | ||
| 44 | 44 | ||
| 45 | vsCount += list.size(); | 45 | vsCount += list.size(); |
| 46 | } | 46 | } |
| 47 | - logger.info("listen values size: " + vsCount + " -CloseStatus:" + arg1 + "conn: " + listenMap.keySet().size()); | 47 | + logger.info("listen values size: " + vsCount + " -CloseStatus:" + arg1 + "conn: " + users.size()); |
| 48 | } | 48 | } |
| 49 | 49 | ||
| 50 | @Override | 50 | @Override |
src/main/resources/static/pages/base/timesmodel/js/base-fun.js
| @@ -229,7 +229,7 @@ var BaseFun = function() { | @@ -229,7 +229,7 @@ var BaseFun = function() { | ||
| 229 | * @return : 返回一个数值。这里返回的是行驶时间数值 | 229 | * @return : 返回一个数值。这里返回的是行驶时间数值 |
| 230 | * | 230 | * |
| 231 | * */ | 231 | * */ |
| 232 | - getxssj : function(zg,wg,sj,pc,gf,dir) { | 232 | + getByDirTravelTime : function(zg,wg,sj,pc,gf,dir) { |
| 233 | var xxsj = 0; | 233 | var xxsj = 0; |
| 234 | if(baseF.isgfsjd(zg[0].st,zg[0].ed,sj) || baseF.isgfsjd(wg[0].st,wg[0].ed,sj)) | 234 | if(baseF.isgfsjd(zg[0].st,zg[0].ed,sj) || baseF.isgfsjd(wg[0].st,wg[0].ed,sj)) |
| 235 | xxsj = gf[dir]; | 235 | xxsj = gf[dir]; |
| @@ -303,7 +303,7 @@ var BaseFun = function() { | @@ -303,7 +303,7 @@ var BaseFun = function() { | ||
| 303 | dataMap.dira[cctag],xhNo++,0,gatps,0,null,null,null,0,0));// 晚餐班次 | 303 | dataMap.dira[cctag],xhNo++,0,gatps,0,null,null,null,0,0));// 晚餐班次 |
| 304 | } | 304 | } |
| 305 | var tzsj = dataMap.ztjxA[cctag]; | 305 | var tzsj = dataMap.ztjxA[cctag]; |
| 306 | - var _xxsj = baseF.getxssj(dataMap.zgfsjd,dataMap.wgfsjd,kssj,dataMap.pcxssjArr,dataMap.gfxxsjArr,cctag);// 获取行驶时间 | 306 | + var _xxsj = baseF.getByDirTravelTime(dataMap.zgfsjd,dataMap.wgfsjd,kssj,dataMap.pcxssjArr,dataMap.gfxxsjArr,cctag);// 获取行驶时间 |
| 307 | var tzsj = baseF.isLastbc(kssj,endTime,tzsj,_xxsj) ? 0 : tzsj; | 307 | var tzsj = baseF.isLastbc(kssj,endTime,tzsj,_xxsj) ? 0 : tzsj; |
| 308 | jsonArray.push(baseF.getbcObj( | 308 | jsonArray.push(baseF.getbcObj( |
| 309 | kssj,_xxsj,carArray[a],dataMap.bcTypeArr.normal, | 309 | kssj,_xxsj,carArray[a],dataMap.bcTypeArr.normal, |
| @@ -325,21 +325,7 @@ var BaseFun = function() { | @@ -325,21 +325,7 @@ var BaseFun = function() { | ||
| 325 | }, | 325 | }, |
| 326 | 326 | ||
| 327 | /** | 327 | /** |
| 328 | - * @description (TODO) 剔除不在上、下行时间范围内的班次. | ||
| 329 | - * | ||
| 330 | - * | ||
| 331 | - */ | ||
| 332 | - tcbzfwndbc02 : function(jsonArray,dataMap) { | ||
| 333 | - var _obj = baseF.getsxAndxxbc(jsonArray,dataMap); | ||
| 334 | - // 剔除上行不在时间范围内的班次 | ||
| 335 | - baseF.tcbc(_obj.sxbc,dataMap.smbcsjArr[0].kssj,dataMap.smbcsjArr[0].jssj); | ||
| 336 | - // 剔除下行不在时间范围内的班次 | ||
| 337 | - baseF.tcbc(_obj.xxbc,dataMap.smbcsjArr[1].kssj,dataMap.smbcsjArr[1].jssj); | ||
| 338 | - return _obj.sxbc.concat(_obj.xxbc); | ||
| 339 | - }, | ||
| 340 | - | ||
| 341 | - /** | ||
| 342 | - * @description : (TODO) 调整某班型下的各个路牌对应的班次以及工时、停站时间、是否分班. | 328 | + * @description : (TODO) 调整某班型下的各个路牌对应的班次以及工时、停站时间、是否分班. -- 这里我们也叫抽车 |
| 343 | * @param bxlpbc 班型下的各个路牌的所有班次数组. | 329 | * @param bxlpbc 班型下的各个路牌的所有班次数组. |
| 344 | * @param map 表单参数信息 | 330 | * @param map 表单参数信息 |
| 345 | * @param dataMap 封装的 以上、下行方向成对存在的 一些参数数组 [下标0 -- 代表上行 ; 下标1 -- 代表下行]. | 331 | * @param dataMap 封装的 以上、下行方向成对存在的 一些参数数组 [下标0 -- 代表上行 ; 下标1 -- 代表下行]. |
| @@ -396,30 +382,33 @@ var BaseFun = function() { | @@ -396,30 +382,33 @@ var BaseFun = function() { | ||
| 396 | * | 382 | * |
| 397 | * | 383 | * |
| 398 | **/ | 384 | **/ |
| 399 | - tzlpgs02 : function(bxlpbc , map , dataMap , saa , cara , bxrcObj , dgminpcs) { | 385 | + abstractBcByWorkTime : function(bxlpbc , map , dataMap , saa , cara , bxrcObj , dgminpcs) { |
| 400 | var rsultA = new Array(); | 386 | var rsultA = new Array(); |
| 401 | for(var a = 0 ; a < bxlpbc.length ; a++) { | 387 | for(var a = 0 ; a < bxlpbc.length ; a++) { |
| 402 | - // 定义该版型下对应的路牌的班次数组、班次数组长度。 | ||
| 403 | - var lpbc = bxlpbc[a].lpbc, lpbclen_; | 388 | + /*if(a>0) |
| 389 | + continue;*/ | ||
| 390 | + // 定义该版型下对应的路牌的班次数组、班次数组长度、该路牌上是否有首末班车。 | ||
| 391 | + var lpbc = bxlpbc[a].lpbc, lpbclen_ = lpbc.length; | ||
| 392 | + if(lpbclen_<=0) | ||
| 393 | + continue; | ||
| 394 | + var isFlag = baseF.lpDownIsHaveFirstAndLastBc(lpbc , dataMap.smbcsjArr); | ||
| 404 | // 定义当前路牌的初始工时、班型对应的标准工时 | 395 | // 定义当前路牌的初始工时、班型对应的标准工时 |
| 405 | - var initCountGs = bxlpbc[a].initCountGs ,bzgs = bxlpbc[a].bzgs; | 396 | + var initCountGs = bxlpbc[a].initCountGs , bzgs = bxlpbc[a].bzgs; |
| 406 | // 定义初始工时与日平均工时差值 | 397 | // 定义初始工时与日平均工时差值 |
| 407 | var initdx = initCountGs - bxlpbc[a].gsavg; | 398 | var initdx = initCountGs - bxlpbc[a].gsavg; |
| 408 | // 定义剔除班次数、剔除的时间段. | 399 | // 定义剔除班次数、剔除的时间段. |
| 409 | var deletebcNum = Math.ceil((initCountGs - bxlpbc[a].gsavg) / saa[0].zzsj.dgzzsj) , tcbcgzA = new Array(); | 400 | var deletebcNum = Math.ceil((initCountGs - bxlpbc[a].gsavg) / saa[0].zzsj.dgzzsj) , tcbcgzA = new Array(); |
| 410 | // var deletebcNum = parseInt((initCountGs - bxlpbc[a].gsavg) / saa[0].zzsj.dgzzsj) , tcbcgzA = new Array(); | 401 | // var deletebcNum = parseInt((initCountGs - bxlpbc[a].gsavg) / saa[0].zzsj.dgzzsj) , tcbcgzA = new Array(); |
| 411 | if(bxrcObj.type == '五工二休') { | 402 | if(bxrcObj.type == '五工二休') { |
| 412 | - if(lpbclen_>0) { | ||
| 413 | - // 定义晚高峰后能剔除多少班次数. | ||
| 414 | - var wgfhtcbcNum = parseInt(( dataMap.wgfzhsjd[0].ed - dataMap.wgfsjd[0].ed ) / (60000 * saa[0].zzsj.dgzzsj)); | ||
| 415 | - // 定义时间段内剔除班次规则. | ||
| 416 | - tcbcgzA.push({'minsj': dataMap.wgfsjd[0].ed , 'maxsj' : dataMap.wgfzhsjd[0].ed , 'deletebcNum' : wgfhtcbcNum}, | ||
| 417 | - {'minsj': dataMap.zgfsjd[0].ed , 'maxsj' : dataMap.wgfsjd[0].st , 'deletebcNum' : deletebcNum - wgfhtcbcNum}); | ||
| 418 | - // 逆序排序剔除. | ||
| 419 | - lpbc.sort(function(r,s){return s.fcno-r.fcno}); | ||
| 420 | - // 剔除不在高峰时间段内的班次. | ||
| 421 | - baseF.spliceBc02(lpbc , tcbcgzA , dataMap , 'desc' , true); | ||
| 422 | - } | 403 | + // 定义晚高峰后能剔除多少班次数. |
| 404 | + var wgfhtcbcNum = parseInt(( dataMap.wgfzhsjd[0].ed - dataMap.wgfsjd[0].ed ) / (60000 * saa[0].zzsj.dgzzsj)); | ||
| 405 | + // 定义时间段内剔除班次规则. | ||
| 406 | + tcbcgzA.push({'minsj': dataMap.wgfsjd[0].ed , 'maxsj' : dataMap.wgfzhsjd[0].ed ,'order' : 'desc' , 'deletebcNum' : wgfhtcbcNum}, | ||
| 407 | + {'minsj': dataMap.zgfsjd[0].ed , 'maxsj' : dataMap.wgfsjd[0].st , 'order' : 'asc' , 'deletebcNum' : deletebcNum - wgfhtcbcNum}); | ||
| 408 | + // 逆序排序剔除. | ||
| 409 | + // lpbc.sort(function(r,s){return s.fcno-r.fcno}); | ||
| 410 | + // 剔除不在高峰时间段内的班次. | ||
| 411 | + baseF.spliceBc02(lpbc , tcbcgzA , dataMap , 'desc' , false); | ||
| 423 | }else { | 412 | }else { |
| 424 | /*console.log(bxlpbc[a].lpNo , initCountGs , bzgs , saa[0].zzsj.dgzzsj , | 413 | /*console.log(bxlpbc[a].lpNo , initCountGs , bzgs , saa[0].zzsj.dgzzsj , |
| 425 | initCountGs - bzgs , (initCountGs - bzgs) /saa[0].zzsj.dgzzsj , | 414 | initCountGs - bzgs , (initCountGs - bzgs) /saa[0].zzsj.dgzzsj , |
| @@ -430,72 +419,92 @@ var BaseFun = function() { | @@ -430,72 +419,92 @@ var BaseFun = function() { | ||
| 430 | // 为了满足工时的要求,在低谷断开一段时间. | 419 | // 为了满足工时的要求,在低谷断开一段时间. |
| 431 | if(dgminpcs>0 && dgminpcs <= bxrcObj.fpcls ) { | 420 | if(dgminpcs>0 && dgminpcs <= bxrcObj.fpcls ) { |
| 432 | if( (a + 1) <= dgminpcs) { | 421 | if( (a + 1) <= dgminpcs) { |
| 433 | - var dgzjsj = baseF.getDateTime('12:30'); | 422 | + var dgzjsj = baseF.getDateTime('13:00'); |
| 434 | /*var zgfyh = dataMap.zgfsjd[0].ed; | 423 | /*var zgfyh = dataMap.zgfsjd[0].ed; |
| 435 | zgfyh.setMinutes(zgfyh.getMinutes()+ Math.min.apply(null, dataMap.dgxxsjArr));*/ | 424 | zgfyh.setMinutes(zgfyh.getMinutes()+ Math.min.apply(null, dataMap.dgxxsjArr));*/ |
| 436 | if( a % 2 == 0) { | 425 | if( a % 2 == 0) { |
| 437 | // 定义早高峰结束 ~ 12:30 剔除规则.如果剔除的班次数不够,则去晚高峰之后剔除剩下的班次. | 426 | // 定义早高峰结束 ~ 12:30 剔除规则.如果剔除的班次数不够,则去晚高峰之后剔除剩下的班次. |
| 438 | var swmaxtcbcNum = parseInt(( dgzjsj - dataMap.zgfsjd[0].ed) / (60000 * saa[0].zzsj.dgzzsj)); | 427 | var swmaxtcbcNum = parseInt(( dgzjsj - dataMap.zgfsjd[0].ed) / (60000 * saa[0].zzsj.dgzzsj)); |
| 439 | - if(deletebcNum < swmaxtcbcNum) { | 428 | + if(deletebcNum < swmaxtcbcNum || isFlag) { |
| 440 | // tcbcgzA.push({'minsj': dataMap.zgfsjd[0].ed , 'maxsj' : dgzjsj , 'order' : 'asc' , 'deletebcNum' : deletebcNum}); | 429 | // tcbcgzA.push({'minsj': dataMap.zgfsjd[0].ed , 'maxsj' : dgzjsj , 'order' : 'asc' , 'deletebcNum' : deletebcNum}); |
| 441 | - tcbcgzA.push({'minsj': dataMap.zgfsjd[0].ed , 'maxsj' : dgzjsj , 'order' : 'asc' , 'deletebcNum' : deletebcNum}); | 430 | + tcbcgzA.push({'minsj': dataMap.zgfsjd[0].ed , 'maxsj' : dgzjsj , 'order' : 'asc' , 'deletebcNum' : swmaxtcbcNum}); |
| 442 | }else { | 431 | }else { |
| 443 | tcbcgzA.push({'minsj': dataMap.zgfsjd[0].ed, 'maxsj' : dgzjsj , 'order' : 'asc' , 'deletebcNum' : swmaxtcbcNum}, | 432 | tcbcgzA.push({'minsj': dataMap.zgfsjd[0].ed, 'maxsj' : dgzjsj , 'order' : 'asc' , 'deletebcNum' : swmaxtcbcNum}, |
| 444 | {'minsj': dataMap.wgfsjd[0].ed , 'maxsj' : dataMap.wgfzhsjd[0].ed, 'order' : 'desc' , 'deletebcNum' : deletebcNum - swmaxtcbcNum}); | 433 | {'minsj': dataMap.wgfsjd[0].ed , 'maxsj' : dataMap.wgfzhsjd[0].ed, 'order' : 'desc' , 'deletebcNum' : deletebcNum - swmaxtcbcNum}); |
| 445 | } | 434 | } |
| 446 | - // tcbcgzA.push({'minsj': dataMap.zgfsjd[0].ed , 'maxsj' : dgzjsj , 'order' : 'asc' , 'deletebcNum' : deletebcNum}); | ||
| 447 | }else { | 435 | }else { |
| 448 | // 定义12:30 ~ 晚高峰开始以前剔除规则. 如果剔除的班次数不够,则去晚高峰之后剔除剩下的班次. | 436 | // 定义12:30 ~ 晚高峰开始以前剔除规则. 如果剔除的班次数不够,则去晚高峰之后剔除剩下的班次. |
| 449 | var xwmaxtcbcNum = parseInt(( dataMap.wgfsjd[0].st - dgzjsj) / (60000 * saa[0].zzsj.dgzzsj)); | 437 | var xwmaxtcbcNum = parseInt(( dataMap.wgfsjd[0].st - dgzjsj) / (60000 * saa[0].zzsj.dgzzsj)); |
| 450 | - if(deletebcNum < xwmaxtcbcNum) { | ||
| 451 | - tcbcgzA.push({'minsj': dgzjsj , 'maxsj' : dataMap.wgfsjd[0].st , 'order' : 'desc', 'deletebcNum' : deletebcNum}); | 438 | + if(deletebcNum < xwmaxtcbcNum || isFlag) { |
| 439 | + tcbcgzA.push({'minsj': dgzjsj , 'maxsj' : dataMap.wgfsjd[0].st , 'order' : 'desc', 'deletebcNum' : xwmaxtcbcNum}); | ||
| 452 | }else { | 440 | }else { |
| 453 | tcbcgzA.push({'minsj': dataMap.wgfsjd[0].ed , 'maxsj' : dataMap.wgfzhsjd[0].ed , 'order' : 'desc', 'deletebcNum' : deletebcNum - xwmaxtcbcNum}, | 441 | tcbcgzA.push({'minsj': dataMap.wgfsjd[0].ed , 'maxsj' : dataMap.wgfzhsjd[0].ed , 'order' : 'desc', 'deletebcNum' : deletebcNum - xwmaxtcbcNum}, |
| 454 | {'minsj': dgzjsj , 'maxsj' : dataMap.wgfsjd[0].st , 'order' : 'desc', 'deletebcNum' : xwmaxtcbcNum}); | 442 | {'minsj': dgzjsj , 'maxsj' : dataMap.wgfsjd[0].st , 'order' : 'desc', 'deletebcNum' : xwmaxtcbcNum}); |
| 455 | } | 443 | } |
| 456 | - // tcbcgzA.push({'minsj': dgzjsj , 'maxsj' : dataMap.wgfsjd[0].st , 'order' : 'desc', 'deletebcNum' : deletebcNum}); | ||
| 457 | } | 444 | } |
| 458 | // 按规则剔除班次.并且分班.路牌班次断开. | 445 | // 按规则剔除班次.并且分班.路牌班次断开. |
| 459 | baseF.spliceBc02(lpbc , tcbcgzA , dataMap , true); | 446 | baseF.spliceBc02(lpbc , tcbcgzA , dataMap , true); |
| 460 | }else { | 447 | }else { |
| 461 | // 按规则剔除班次.不分班.路牌班次不会断开. | 448 | // 按规则剔除班次.不分班.路牌班次不会断开. |
| 462 | - baseF.isdk02(lpbc , dataMap , deletebcNum , false); | 449 | + baseF.isdk02(lpbc , dataMap , saa , deletebcNum , false); |
| 463 | } | 450 | } |
| 464 | // 该班型下的路牌 不存在分班路牌. | 451 | // 该班型下的路牌 不存在分班路牌. |
| 465 | }else if(dgminpcs == 0){ | 452 | }else if(dgminpcs == 0){ |
| 466 | // 按规则剔除班次.不分班.路牌班次不会断开. | 453 | // 按规则剔除班次.不分班.路牌班次不会断开. |
| 467 | - baseF.isdk02(lpbc , dataMap , deletebcNum , false); | 454 | + baseF.isdk02(lpbc , dataMap , saa , deletebcNum , false); |
| 468 | } | 455 | } |
| 469 | // 双档 一个路牌两档劳动力 | 456 | // 双档 一个路牌两档劳动力 |
| 470 | }else if(bxlpbc[a].keepOff==2) { | 457 | }else if(bxlpbc[a].keepOff==2) { |
| 471 | // 按规则剔除班次.分班.但是路牌班次不会断开. | 458 | // 按规则剔除班次.分班.但是路牌班次不会断开. |
| 472 | - baseF.isdk02(lpbc , dataMap , deletebcNum , true); | 459 | + baseF.isdk02(lpbc , dataMap , saa , deletebcNum , true); |
| 473 | } | 460 | } |
| 474 | } | 461 | } |
| 475 | rsultA = rsultA.concat(lpbc); | 462 | rsultA = rsultA.concat(lpbc); |
| 476 | } | 463 | } |
| 477 | return rsultA; | 464 | return rsultA; |
| 478 | }, | 465 | }, |
| 466 | + /** | ||
| 467 | + * @description (TODO) 判断某路牌下是否存在首末班车时间班次. | ||
| 468 | + * @param arr 某路牌下的班次. | ||
| 469 | + * @param smbcsjArr 首末班车时间点数组集合. | ||
| 470 | + */ | ||
| 471 | + lpDownIsHaveFirstAndLastBc : function(arr , smbcsjArr) { | ||
| 472 | + for(var a = 0 ; a < arr.length ; a++) { | ||
| 473 | + for(var s = 0 ; s < smbcsjArr.length ; s++) { | ||
| 474 | + if(arr[a].fcsj == smbcsjArr[s].kssj || arr[a].fcsj == smbcsjArr[s].jssj) | ||
| 475 | + return true; | ||
| 476 | + } | ||
| 477 | + } | ||
| 478 | + return false; | ||
| 479 | + }, | ||
| 479 | 480 | ||
| 480 | /** | 481 | /** |
| 481 | * @description (TODO) 定义不断开班次的路牌剔除规则. | 482 | * @description (TODO) 定义不断开班次的路牌剔除规则. |
| 482 | * | 483 | * |
| 483 | * | 484 | * |
| 484 | */ | 485 | */ |
| 485 | - isdk02 : function(lpbc , dataMap , deletebcNum , isfb) { | ||
| 486 | - if(deletebcNum > 0) { | ||
| 487 | - var zgfzqtcbcNum = parseInt(( dataMap.zgfzqsjd[0].ed - dataMap.zgfzqsjd[0].st ) / (60000 * saa[0].zzsj.dgzzsj)), | ||
| 488 | - wgfhtcbcNum = parseInt(( dataMap.wgfzhsjd[0].ed - dataMap.wgfzhsjd[0].st ) / (60000 * saa[0].zzsj.dgzzsj)) | ||
| 489 | - tcbcgzA = new Array(); | ||
| 490 | - if( wgfhtcbcNum >= deletebcNum) { | 486 | + isdk02 : function(lpbc , dataMap , saa , deletebcNum , isfb) { |
| 487 | + if(lpbc.length > 0 && deletebcNum > 0) { | ||
| 488 | + lpbc.sort(function(r,s){return r.fcint-s.fcint}); | ||
| 489 | + var tcbcgzA = new Array(); | ||
| 490 | + debugger; | ||
| 491 | + if(lpbc[0].fcsj == dataMap.smbcsjArr[0].kssj || lpbc[0].fcsj == dataMap.smbcsjArr[1].kssj) { | ||
| 491 | tcbcgzA.push({'minsj': dataMap.wgfzhsjd[0].st , 'maxsj' : dataMap.wgfzhsjd[0].ed , 'order' : 'desc', 'deletebcNum' : deletebcNum}); | 492 | tcbcgzA.push({'minsj': dataMap.wgfzhsjd[0].st , 'maxsj' : dataMap.wgfzhsjd[0].ed , 'order' : 'desc', 'deletebcNum' : deletebcNum}); |
| 492 | - }else if(zgfzqtcbcNum >= deletebcNum){ | 493 | + }else if(lpbc[lpbc.length-1].fcsj == dataMap.smbcsjArr[0].jssj || lpbc[0].fcsj == dataMap.smbcsjArr[1].jssj) { |
| 493 | tcbcgzA.push({'minsj': dataMap.zgfzqsjd[0].st , 'maxsj' : dataMap.zgfzqsjd[0].ed , 'order' : 'asc', 'deletebcNum' : deletebcNum}); | 494 | tcbcgzA.push({'minsj': dataMap.zgfzqsjd[0].st , 'maxsj' : dataMap.zgfzqsjd[0].ed , 'order' : 'asc', 'deletebcNum' : deletebcNum}); |
| 494 | - }else if(deletebcNum >= (zgfzqtcbcNum + wgfhtcbcNum)){ | 495 | + }else { |
| 496 | + var zgfzqtcbcNum = parseInt(( dataMap.zgfzqsjd[0].ed - dataMap.zgfzqsjd[0].st ) / (60000 * saa[0].zzsj.dgzzsj)), | ||
| 497 | + wgfhtcbcNum = parseInt(( dataMap.wgfzhsjd[0].ed - dataMap.wgfzhsjd[0].st ) / (60000 * saa[0].zzsj.dgzzsj)); | ||
| 495 | tcbcgzA.push({'minsj': dataMap.wgfzhsjd[0].st , 'maxsj' : dataMap.wgfzhsjd[0].ed , 'order' : 'desc', 'deletebcNum' : wgfhtcbcNum}, | 498 | tcbcgzA.push({'minsj': dataMap.wgfzhsjd[0].st , 'maxsj' : dataMap.wgfzhsjd[0].ed , 'order' : 'desc', 'deletebcNum' : wgfhtcbcNum}, |
| 496 | - {'minsj': dataMap.zgfzqsjd[0].st , 'maxsj' : dataMap.zgfzqsjd[0].ed , 'order' : 'asc', 'deletebcNum' : zgfzqtcbcNum}); | 499 | + {'minsj': dataMap.zgfzqsjd[0].st , 'maxsj' : dataMap.zgfzqsjd[0].ed , 'order' : 'asc', 'deletebcNum' : zgfzqtcbcNum}); |
| 497 | } | 500 | } |
| 498 | - // lpbc.sort(function(m,n){return n.fcno-m.fcno}); | 501 | + /*if( wgfhtcbcNum >= deletebcNum) { |
| 502 | + | ||
| 503 | + }else if(zgfzqtcbcNum >= deletebcNum){ | ||
| 504 | + | ||
| 505 | + }else if(deletebcNum >= (zgfzqtcbcNum + wgfhtcbcNum)){ | ||
| 506 | + | ||
| 507 | + }*/ | ||
| 499 | baseF.spliceBc02(lpbc , tcbcgzA , dataMap , isfb); | 508 | baseF.spliceBc02(lpbc , tcbcgzA , dataMap , isfb); |
| 500 | } | 509 | } |
| 501 | }, | 510 | }, |
| @@ -518,7 +527,7 @@ var BaseFun = function() { | @@ -518,7 +527,7 @@ var BaseFun = function() { | ||
| 518 | for(var a = 0 ; a < arr.length ; a ++) { | 527 | for(var a = 0 ; a < arr.length ; a ++) { |
| 519 | var fcsj = baseF.getDateTime(arr[a].fcsj); | 528 | var fcsj = baseF.getDateTime(arr[a].fcsj); |
| 520 | // 判断是否在高峰时间范围.【true--表示在,false--表示不在】. | 529 | // 判断是否在高峰时间范围.【true--表示在,false--表示不在】. |
| 521 | - if(!baseF.isgfsjd01(fcsj,dataMap) && fcsj > tcbcgzA[t].minsj && fcsj < tcbcgzA[t].maxsj) { | 530 | + if(!baseF.isPeakTimeScope(fcsj,dataMap) && fcsj > tcbcgzA[t].minsj && fcsj < tcbcgzA[t].maxsj) { |
| 522 | if(order == 'asc') { | 531 | if(order == 'asc') { |
| 523 | arr[a-1].isfb = isfb ? 1 : 0; | 532 | arr[a-1].isfb = isfb ? 1 : 0; |
| 524 | arr[a-1].STOPTIME = 0; | 533 | arr[a-1].STOPTIME = 0; |
| @@ -544,7 +553,7 @@ var BaseFun = function() { | @@ -544,7 +553,7 @@ var BaseFun = function() { | ||
| 544 | * @map map 表单参数. | 553 | * @map map 表单参数. |
| 545 | * @return 返回一个满足单个路牌对应的标准工时、满足某班型下的所有路牌的平均工时对应的日平均工时、停站时间、路牌是否分班的班次集合. | 554 | * @return 返回一个满足单个路牌对应的标准工时、满足某班型下的所有路牌的平均工时对应的日平均工时、停站时间、路牌是否分班的班次集合. |
| 546 | */ | 555 | */ |
| 547 | - jslpgsAndbcs : function(bxrclist , jsonArray , cara , saa , dataMap , map) { | 556 | + abstractCar : function(bxrclist , jsonArray , cara , saa , dataMap , map) { |
| 548 | // 定义低谷最大发车时间、最大停站时间来反算出低谷最少配车数. | 557 | // 定义低谷最大发车时间、最大停站时间来反算出低谷最少配车数. |
| 549 | var dgmaxfcjx = parseInt(map.dgmaxfcjx), | 558 | var dgmaxfcjx = parseInt(map.dgmaxfcjx), |
| 550 | dgmaxtzsj = parseInt(map.dgmaxtzsj); | 559 | dgmaxtzsj = parseInt(map.dgmaxtzsj); |
| @@ -618,7 +627,7 @@ var BaseFun = function() { | @@ -618,7 +627,7 @@ var BaseFun = function() { | ||
| 618 | bxlpbc.sort(function(x,y){return x.fcint-y.fcint}); | 627 | bxlpbc.sort(function(x,y){return x.fcint-y.fcint}); |
| 619 | // console.log(bxlpbc); | 628 | // console.log(bxlpbc); |
| 620 | // 调整某班型下的各个路牌对应的班次以及工时、停站时间、是否分班. | 629 | // 调整某班型下的各个路牌对应的班次以及工时、停站时间、是否分班. |
| 621 | - rs = rs.concat(baseF.tzlpgs02(bxlpbc , map , dataMap , saa , cara , bxrclist[x] , dgminpcs)); | 630 | + rs = rs.concat(baseF.abstractBcByWorkTime(bxlpbc , map , dataMap , saa , cara , bxrclist[x] , dgminpcs)); |
| 622 | } | 631 | } |
| 623 | } | 632 | } |
| 624 | return rs; | 633 | return rs; |
| @@ -637,131 +646,483 @@ var BaseFun = function() { | @@ -637,131 +646,483 @@ var BaseFun = function() { | ||
| 637 | } | 646 | } |
| 638 | }, | 647 | }, |
| 639 | 648 | ||
| 640 | - BXPplaceClassesTime02 : function(saa , cara , map , seMap , dataMap , lpNoA) { | ||
| 641 | - // 得到所有路牌下的班次数[从各路牌下的第一个班次发车时间 到 营运结束时间点并且是连续的班次数]. | ||
| 642 | - var jsonArray = baseF.plgfbc01(saa , cara , map , seMap , dataMap); | ||
| 643 | - // return {'json':jsonArray,'bxrcgs':null}; | 649 | + /** |
| 650 | + * @description (TODO) 根据班型/人次/配车 排列时刻表明细. | ||
| 651 | + * @prarm saa 封装的一些 停站时间、周转时间、行驶时间、行驶里程等. | ||
| 652 | + * @param cara 路牌数组. | ||
| 653 | + * @param map 表单参数. | ||
| 654 | + * @param seMap 营运开始 ~ 结束时间 | ||
| 655 | + * @param dataMap 封装的 以上、下行方向成对存在的 一些参数数组 [下标0 -- 代表上行 ; 下标1 -- 代表下行]. | ||
| 656 | + * | ||
| 657 | + * ************************************ 思路 ********************************************** | ||
| 658 | + * | ||
| 659 | + * 第一步 根据表单参数初始化时刻表明细. -- 这里我们也可以叫初始化时刻表明细. | ||
| 660 | + * | ||
| 661 | + * 第二步 均匀初始化时刻表明细的发车间隙. -- 这里我们也可以叫纵向调整. | ||
| 662 | + * | ||
| 663 | + * 第三步 剔除首末班车以外的班次,并确认首末班车. | ||
| 664 | + * | ||
| 665 | + * 第四步 调整均匀发车间隙过程中产生的停站时间问题. -- 这里我们也可以叫横向调整. | ||
| 666 | + * | ||
| 667 | + * 第五步 把班型合理的分配到各个路牌上. | ||
| 668 | + * | ||
| 669 | + * 切割班型/人次/配车数 字符串 为 数组对象. | ||
| 670 | + * | ||
| 671 | + * 把班型分配到对应的具体路牌上. | ||
| 672 | + * | ||
| 673 | + * 第六步 根据各个路牌上班型的工时按照规则进行切割. -- 这里我们也叫抽车. | ||
| 674 | + * | ||
| 675 | + * 均匀抽车; | ||
| 676 | + * | ||
| 677 | + * 各个路牌满足行业班型标准工时 范围在 [1-1.5小时]内浮动; | ||
| 678 | + * | ||
| 679 | + * 相同班型下的日平均工时满足 参数的日平均工时 范围在 [10分钟]内浮动. | ||
| 680 | + * | ||
| 681 | + * | ||
| 682 | + * 第七步 确定吃饭时间. | ||
| 683 | + * | ||
| 684 | + * 第八步 确定进出场、早晚例保时间. | ||
| 685 | + * | ||
| 686 | + * *************************************************************************************** | ||
| 687 | + */ | ||
| 688 | + BXPplaceClassesTime02 : function(saa , cara , map , seMap , dataMap) { | ||
| 644 | 689 | ||
| 690 | + // 第一步 根据表单中的参数得到所有路牌下的班次数[从各路牌下的第一个班次发车时间 到 营运结束时间点并且是连续的班次数]. | ||
| 691 | + var jsonArray = baseF.GetByArgusInitAllLpDownedBcCollections(saa , cara , map , seMap , dataMap); | ||
| 692 | + | ||
| 693 | + // 第二步 纵向调整 | ||
| 694 | + baseF.evenStartDepartSpace(jsonArray , dataMap); | ||
| 695 | + | ||
| 696 | + // 第三步 剔除首末班车以外的班次,并确认首末班车. | ||
| 697 | + var markArray = baseF.markFirstAndLastBusAlsoDietNotInRangeBc(jsonArray , dataMap); | ||
| 698 | + | ||
| 699 | + // 第四步 横向调整 | ||
| 700 | + baseF.resizeByPitStopTime(cara , jsonArray , dataMap); | ||
| 701 | + | ||
| 702 | + /** | ||
| 703 | + * 第五步 把班型合理的分配到各个路牌上. | ||
| 704 | + * | ||
| 705 | + * 切割班型/人次/配车数 字符串 为 数组对象. | ||
| 706 | + * | ||
| 707 | + * 把班型分配到对应的具体路牌上. | ||
| 708 | + */ | ||
| 645 | // 切割班型/人次/配车数 字符串 为 数组对象. | 709 | // 切割班型/人次/配车数 字符串 为 数组对象. |
| 646 | - var list = baseF.splitBxRc02(map.bxrc); | 710 | + var list = baseF.getBxRcListCollection(map.bxrc); |
| 647 | // 把班型分配到对应的具体路牌上. | 711 | // 把班型分配到对应的具体路牌上. |
| 648 | - baseF.fprclp01(list,cara); | ||
| 649 | - // console.log(list); | ||
| 650 | - | ||
| 651 | - var tempA = baseF.jslpgsAndbcs(list.data , baseF.tcbzfwndbc02(jsonArray , dataMap) , cara , saa , dataMap , map); | ||
| 652 | - // return {'json':tempA,'bxrcgs':null}; | 712 | + baseF.bxAlloTotLp(list,cara); |
| 713 | + // 第六步 抽车来满足工时. | ||
| 714 | + var tempA = baseF.abstractCar(list , markArray , cara , saa , dataMap , map); | ||
| 653 | return {'json':baseF.addjcclcbc01(cara,tempA,dataMap,saa,map),'bxrcgs':null}; | 715 | return {'json':baseF.addjcclcbc01(cara,tempA,dataMap,saa,map),'bxrcgs':null}; |
| 654 | - var ttsmbA = baseF.tzsmbcsj01(tempA,dataMap.smbcsjArr,dataMap.ccsjArr,dataMap.cclcArr,dataMap.qdzArr,saa[0].lbsj,dataMap); | ||
| 655 | - | ||
| 656 | - baseF.jhfcjx02(ttsmbA,dataMap); | ||
| 657 | - //return {'json':baseF.addjcclcbc01(cara,ttsmbA,dataMap,saa,map),'bxrcgs':null}; | ||
| 658 | - //return {'json':ttsmbA,'bxrcgs':null}; | ||
| 659 | - var rsjar = baseF.tzsztest02(cara,ttsmbA,dataMap); | ||
| 660 | - return {'json':rsjar,'bxrcgs':null}; | ||
| 661 | - return {'json':baseF.addjcclcbc01(cara,rsjar,dataMap,saa,map),'bxrcgs':null}; | ||
| 662 | }, | 716 | }, |
| 663 | 717 | ||
| 664 | - tzsztest02 : function(cara,tempa,dataMap) { | ||
| 665 | - var jsrs = new Array(); | ||
| 666 | - for(var t = 0 ; t < cara.length; t++) { | ||
| 667 | - if(t>3) | ||
| 668 | - continue; | ||
| 669 | - var sslpbcA = new Array(); | ||
| 670 | - for(var j =0 ; j <tempa.length; j++) { | ||
| 671 | - // 判断当期遍历的班次是否属于当前的路牌. | ||
| 672 | - if(tempa[j].lpNo == cara[t].lpNo) | ||
| 673 | - sslpbcA.push(tempa[j]); | 718 | + /** |
| 719 | + * @description (TODO) 剔除不在上、下行时间范围内的班次. | ||
| 720 | + * @param jsonArray 初始化路牌下的所有班次并且已经均匀发车间隙的数组集合. | ||
| 721 | + * @param dataMap 封装的 以上、下行方向成对存在的 一些参数数组 [下标0 -- 代表上行 ; 下标1 -- 代表下行]. | ||
| 722 | + */ | ||
| 723 | + markFirstAndLastBusAlsoDietNotInRangeBc : function(jsonArray , dataMap) { | ||
| 724 | + // 定义上、下行的正常、区间、空放、直放班次、返回数组集合. | ||
| 725 | + var listMap = baseF.getUpAndDownBc( jsonArray , dataMap) , resultArray = new Array(); | ||
| 726 | + for(var i = 0 ; i < listMap.length ; i++) { | ||
| 727 | + if(listMap[i].bc.length > 0){ | ||
| 728 | + // 剔除不在时间范围内的班次 | ||
| 729 | + baseF.dietNotInRangeBc(listMap[i].bc , dataMap.smbcsjArr[i].kssj, dataMap.smbcsjArr[i].jssj); | ||
| 730 | + // 把班次顺序排序. | ||
| 731 | + listMap[i].bc.sort(function(a,b){return a.fcint-b.fcint}); | ||
| 732 | + // 确定首末班车时间. | ||
| 733 | + baseF.markFirstAndLastBusAlso(listMap[i].bc , dataMap , i); | ||
| 674 | } | 734 | } |
| 675 | - sslpbcA.sort(function(a,b){return a.fcno-b.fcno}); | ||
| 676 | - baseF.tztzsjInit02(sslpbcA,dataMap); | ||
| 677 | - jsrs = jsrs.concat(sslpbcA); | 735 | + resultArray = resultArray.concat(listMap[i].bc); |
| 678 | } | 736 | } |
| 679 | - return jsrs; | 737 | + return resultArray; |
| 680 | }, | 738 | }, |
| 681 | 739 | ||
| 682 | - tztzsjInit02 : function(ar,dataMap) { | ||
| 683 | - var maxXxsjA = [parseInt(dataMap.map.upTravelTime),parseInt(dataMap.map.downTravelTime)]; | ||
| 684 | - var v1 = Math.max.apply(null, maxXxsjA) *1.5; | ||
| 685 | - for(var r = 0 ; r< ar.length-1;r++) { | ||
| 686 | - var sgbcfcsj = baseF.getDateTime(ar[r+1].fcsj),dqbcddsj = baseF.getDateTime(ar[r].ARRIVALTIME); | ||
| 687 | - var dxmin = parseInt( (sgbcfcsj - dqbcddsj)/60000); | ||
| 688 | - if(dxmin<0 || ar[r].STOPTIME<0) { | ||
| 689 | - var cctag = baseF.dirDmToIndex(ar[r].xlDir); | ||
| 690 | - dxmin = ar[r].bcType == dataMap.bcTypeArr.cf ? 0 : baseF.isgfsjd01(baseF.getDateTime(ar[r].fcsj),dataMap) ? dataMap.gftzsj[cctag] : dataMap.dgtzsj[cctag]; | ||
| 691 | - }else if(dxmin >= v1 && dxmin < 180) { | ||
| 692 | - if(r==ar.length-2 || baseF.issmbcsjArr(ar[r+1].fcsj,dataMap.smbcsjArr)) { | ||
| 693 | - dxmin = dxmin; | ||
| 694 | - }else { | ||
| 695 | - dxmin = v1; | ||
| 696 | - } | 740 | + /** |
| 741 | + * @description (TODO) 确定某方向下的首末班车. | ||
| 742 | + * @param dirArray 某方向下的数组集合. | ||
| 743 | + * @param dataMap 封装的 以上、下行方向成对存在的 一些参数数组 [下标0 -- 代表上行 ; 下标1 -- 代表下行]. | ||
| 744 | + * @param dir 方向. | ||
| 745 | + */ | ||
| 746 | + markFirstAndLastBusAlso : function(dirArray , dataMap , dir) { | ||
| 747 | + if(dirArray.length>=2) { | ||
| 748 | + // 定义第一个、最后一个班次. | ||
| 749 | + var dirFirstBc = dirArray[0],dirLastBc = dirArray[dirArray.length-1]; | ||
| 750 | + // 确认首班车时间 | ||
| 751 | + if(dirFirstBc.fcsj != dataMap.smbcsjArr[dir].kssj) { | ||
| 752 | + // 定义第一个、最后一个班次. | ||
| 753 | + var dirFirstBc = dirArray[0],dirLastBc = dirArray[dirArray.length-1]; | ||
| 754 | + // 修改第一个班次的发车时间. | ||
| 755 | + dirFirstBc.fcsj = dataMap.smbcsjArr[dir].kssj; | ||
| 756 | + // 修改第一个班次的班次时间. | ||
| 757 | + dirFirstBc.bcsj = dataMap.gfxxsjArr[dir]; | ||
| 758 | + // 定义到达时间. | ||
| 759 | + var ddsj = baseF.getDateTime(dirFirstBc.fcsj); | ||
| 760 | + ddsj.setMinutes(ddsj.getMinutes() + dataMap.gfxxsjArr[dir]); | ||
| 761 | + // 修改第一个班次的到达时间. | ||
| 762 | + dirFirstBc.ARRIVALTIME = baseF.getTimeStr(ddsj); | ||
| 763 | + // dirFirstBc.STOPTIME = parseInt( (baseF.getDateTime(dirArray[1].fcsj) - ddsj) / 60000) ; | ||
| 764 | + | ||
| 697 | } | 765 | } |
| 698 | - if(ar[r].STOPTIME >0) { | ||
| 699 | - dqbcddsj.setMinutes(dqbcddsj.getMinutes() + dxmin); | ||
| 700 | - ar[r+1].fcsj = baseF.getTimeStr(dqbcddsj); | ||
| 701 | - dqbcddsj.setMinutes(dqbcddsj.getMinutes() + ar[r+1].bcsj); | ||
| 702 | - ar[r+1].ARRIVALTIME = baseF.getTimeStr(dqbcddsj); | ||
| 703 | - ar[r].STOPTIME = dxmin >= 180 ? 0 : parseInt(dxmin); | 766 | + // 确认末班车时间 |
| 767 | + if(dirLastBc.fcsj != dataMap.smbcsjArr[dir].jssj) { | ||
| 768 | + // 修改最后一个班次的发车时间. | ||
| 769 | + dirLastBc.fcsj = dataMap.smbcsjArr[dir].jssj; | ||
| 770 | + // 修改最后一个班次的班次时间. | ||
| 771 | + dirLastBc.bcsj = dataMap.dgxxsjArr[dir]; | ||
| 772 | + // 定义到达时间. | ||
| 773 | + var ddsj_ = baseF.getDateTime(dirLastBc.fcsj); | ||
| 774 | + // 修改上一个班次的停站时间. | ||
| 775 | + // dirArray[dirArray.length-2].STOPTIME = parseInt( (ddsj_ - baseF.getDateTime(dirArray[dirArray.length-2].ARRIVALTIME)) / 60000) | ||
| 776 | + ddsj_.setMinutes(ddsj_.getMinutes() + dataMap.dgxxsjArr[dir]); | ||
| 777 | + // 修改最后一个班次的到达时间. | ||
| 778 | + dirLastBc.ARRIVALTIME = baseF.getTimeStr(ddsj_); | ||
| 704 | } | 779 | } |
| 705 | } | 780 | } |
| 706 | }, | 781 | }, |
| 707 | 782 | ||
| 783 | + /** | ||
| 784 | + * @description (TODO) 判断是否首末班车. | ||
| 785 | + */ | ||
| 786 | + issmbcsjArr : function(str,arr) { | ||
| 787 | + var tag = false; | ||
| 788 | + for(var a = 0 ;a < arr.length;a++) { | ||
| 789 | + if(str == arr[a].kssj || str == arr[a].jssj) | ||
| 790 | + tag = true; | ||
| 791 | + } | ||
| 792 | + return tag; | ||
| 793 | + }, | ||
| 794 | + | ||
| 795 | + /** | ||
| 796 | + * @description (TODO) 获取 上、下行的正常、区间、空放、直放班次. | ||
| 797 | + * @param 需要分割的班次数据集合. | ||
| 798 | + * @param 封装的 以上、下行方向成对存在的 一些参数数组 [下标0 -- 代表上行 ; 下标1 -- 代表下行]. | ||
| 799 | + */ | ||
| 800 | + getUpAndDownBc : function(json,dataMap) { | ||
| 801 | + // 定义上行班次 、 下行班次 数组集合、返回数组集合对象. | ||
| 802 | + var upArray = new Array(),downArray = new Array(),rs = new Array(); | ||
| 803 | + for(var j = 0 ; j< json.length ; j++) { | ||
| 804 | + // 判断是否为正常、区间、空放、直放班次 | ||
| 805 | + if(json[j].bcType== dataMap.bcTypeArr.normal || | ||
| 806 | + json[j].bcType== dataMap.bcTypeArr.region || | ||
| 807 | + json[j].bcType== dataMap.bcTypeArr.major || | ||
| 808 | + json[j].bcType== dataMap.bcTypeArr.venting) { | ||
| 809 | + if(json[j].xlDir == dataMap.dira[0]) | ||
| 810 | + upArray.push(json[j]); | ||
| 811 | + else if(json[j].xlDir == dataMap.dira[1]) | ||
| 812 | + downArray.push(json[j]); | ||
| 813 | + } | ||
| 814 | + } | ||
| 815 | + rs.push({'bc' : upArray},{'bc' : downArray}) | ||
| 816 | + // 返回数据. | ||
| 817 | + return rs; | ||
| 818 | + }, | ||
| 819 | + | ||
| 820 | + /** | ||
| 821 | + * @desription (TODO) 剔除不在时间范围内的班次. | ||
| 822 | + * @param ar 某方向下的班次. | ||
| 823 | + * @param 开始时间. | ||
| 824 | + * @param 结束时间. | ||
| 825 | + */ | ||
| 826 | + dietNotInRangeBc : function(ar , kssj , jssj) { | ||
| 827 | + for(var s = 0 ; s < ar.length ; s++) { | ||
| 828 | + if(baseF.isDelete(baseF.getDateTime(kssj), | ||
| 829 | + baseF.getDateTime(jssj), | ||
| 830 | + baseF.getDateTime(ar[s].fcsj))) { | ||
| 831 | + ar.splice(s, 1); | ||
| 832 | + s--; | ||
| 833 | + } | ||
| 834 | + } | ||
| 835 | + }, | ||
| 836 | + | ||
| 837 | + /** | ||
| 838 | + * @description (TODO) 把班型人次合理的分配到不同的路牌上. | ||
| 839 | + * @param list 班型人次数组集合. | ||
| 840 | + * @param clzs 路牌数组. | ||
| 841 | + * @return 返回一个把路牌合理的分配到班型人次下组成的数据集合. | ||
| 842 | + * */ | ||
| 843 | + bxAlloTotLp : function(list,clzs) { | ||
| 844 | + // 定义 班型人次数组集合长度 、路牌数组长度. | ||
| 845 | + var lLen = list.length , cLen = clzs.length; | ||
| 846 | + if(lLen<= 0 || cLen<=0 ) | ||
| 847 | + return false; | ||
| 848 | + // 最多车次与总车次的比例. | ||
| 849 | + var blnum = Math.round(cLen/list[0].fpcls); | ||
| 850 | + // 定义已经分配出去的路牌. | ||
| 851 | + var rs = new Array(); | ||
| 852 | + // 遍历 | ||
| 853 | + for(var r = 0 ; r < lLen ; r++) { | ||
| 854 | + // 得到没有分配出去的路牌. | ||
| 855 | + var dxa = baseF.chaji_array(clzs,rs); | ||
| 856 | + // 定义当前车次数. | ||
| 857 | + var rsnum = list[r].fpcls; | ||
| 858 | + // 定义记录当前分割路牌的次数下标.分配到班型车次下的路牌数组. | ||
| 859 | + var index = 0 , sslp = new Array(); | ||
| 860 | + // 当前车次所有占比例. | ||
| 861 | + var tempint = parseInt(rsnum/blnum); | ||
| 862 | + // 判断如果比例小1 则为当前车次数. | ||
| 863 | + blnum = tempint <= 1 ? rsnum : blnum; | ||
| 864 | + // 判断当前班型车次数组下标值.如果为倒数第二个或者之前. | ||
| 865 | + if(r < lLen-1) { | ||
| 866 | + // 遍历 | ||
| 867 | + for(var c = 0 ; c < tempint ; c++) { | ||
| 868 | + // 创建新的没有分配出去的路牌数组. | ||
| 869 | + var temp = dxa.concat(); | ||
| 870 | + // 创建切割路牌数组. | ||
| 871 | + var tagA = new Array(); | ||
| 872 | + // 判断切割的下标值是否小于等于路牌数组的倒数第二个或者之前. | ||
| 873 | + if(index <= (dxa.length-blnum) ) { | ||
| 874 | + tagA = temp.splice(index,blnum); | ||
| 875 | + }else { | ||
| 876 | + tagA = temp.splice((dxa.length-blnum),blnum); | ||
| 877 | + } | ||
| 878 | + // 组合切割路牌数组.赋值给已分配出去的路牌. | ||
| 879 | + rs = rs.concat(tagA); | ||
| 880 | + // 赋值给分配到班型车次下的路牌数组. | ||
| 881 | + sslp = sslp.concat(tagA); | ||
| 882 | + // 记录切割下标. | ||
| 883 | + index = index + 1 + blnum; | ||
| 884 | + } | ||
| 885 | + // 分配到班型车次下的路牌数组. | ||
| 886 | + list[r].sslp = sslp; | ||
| 887 | + }else { | ||
| 888 | + list[r].sslp = dxa; | ||
| 889 | + } | ||
| 890 | + } | ||
| 891 | + }, | ||
| 892 | + /** | ||
| 893 | + * @description (TODO) [ 切割 班型/人次/配车数 ]参数 并封装成数组集合对象. | ||
| 894 | + * @param str 切割 班型/人次/配车数 字符串. | ||
| 895 | + */ | ||
| 896 | + getBxRcListCollection : function(str) { | ||
| 897 | + // 如果为空 , 直接return | ||
| 898 | + if(str=='' || str==null) | ||
| 899 | + return false; | ||
| 900 | + // 定义返回数组集合. | ||
| 901 | + var list = new Array(); | ||
| 902 | + // 获取各个班型对应的工时数组. | ||
| 903 | + var gsgd = baseF.getBcTypeAndWorkHuorsVConstant(); | ||
| 904 | + // 按多号切开. | ||
| 905 | + var bxrcAr = str.split(','); | ||
| 906 | + if(bxrcAr.length>0) { | ||
| 907 | + for(var s = 0 ; s< bxrcAr.length;s++) { | ||
| 908 | + // 按反斜杠切开. | ||
| 909 | + var s1a = bxrcAr[s].split('/'); | ||
| 910 | + if(s1a.length >= 4) { | ||
| 911 | + // 定义人数、配车数、日平均工时. | ||
| 912 | + var rs = parseInt(s1a[1]),fpcls = parseInt(s1a[2]),gsavg = parseInt(s1a[3]); | ||
| 913 | + // 定义班型标准小时系数 、 分钟系数. | ||
| 914 | + var hoursV = 0.0 , minueV = '' ; | ||
| 915 | + for(var g = 0 ; g < gsgd.length; g++) { | ||
| 916 | + // 如果班型字符串相同. | ||
| 917 | + if(gsgd[g].type == s1a[0]) { | ||
| 918 | + hoursV = gsgd[g].hoursV; | ||
| 919 | + minueV = gsgd[g].minueV; | ||
| 920 | + break; | ||
| 921 | + } | ||
| 922 | + } | ||
| 923 | + // 添加到返回数组集合中. | ||
| 924 | + list.push({'type' : s1a[0] , 'rs' : rs , 'fpcls' : fpcls , 'hoursV' : hoursV , | ||
| 925 | + 'minueV' : minueV , 'gsavg' : gsavg}); | ||
| 926 | + } | ||
| 927 | + } | ||
| 928 | + } | ||
| 929 | + // 返回数据. | ||
| 930 | + return list.sort(function(a,b){return b.rs-a.rs}); | ||
| 931 | + }, | ||
| 708 | 932 | ||
| 709 | /** | 933 | /** |
| 710 | - * @description : (TODO) 均匀发车间隙 | 934 | + * @description : (TODO) 纵向调整 均匀发车间隙. |
| 935 | + * @params : bcArr--初始化路牌下的所有班次数组集合. | ||
| 936 | + * @params : dataMap 封装的 以上、下行方向成对存在的 一些参数数组 [下标0 -- 代表上行 ; 下标1 -- 代表下行]. | ||
| 937 | + * @return : 返回一个数组.这里返回的是调整过后 发车间距均匀的班次数组. | ||
| 711 | * | 938 | * |
| 712 | - * @params : [arr--某个方向下的班次数组;dir--方向;zzsj--周转时间] | 939 | + * ***********************************思路*************************************************** |
| 940 | + * 高峰时段发车间隙 : 行业标准,不得超过20分钟. | ||
| 941 | + * 低谷最大发车间隙 : 以参数设定为准. | ||
| 942 | + * | ||
| 943 | + * | ||
| 944 | + * 第一步 获取某放下的班次数组集合.并按发车时间顺序排序. | ||
| 945 | + * | ||
| 946 | + * 第二步 以某方向下的首、末班车时间点作为开始、结束时间点 开始循环. 每一次循环以开始时间点加上不同时间段内的周转时间作为结束点, | ||
| 947 | + * 来作为一个调整发车间隙过程的时间区间. | ||
| 948 | + * | ||
| 949 | + * 均匀发车间隙规则: | ||
| 950 | + * 算出时间区间内的所有车辆数. | ||
| 951 | + * 发车间隙 = 该时间段内的周转时间 / 该时间段内的车辆数. | ||
| 952 | + * 第三步 调整时间区间内的班次[发车时间、行驶时间、到达时间]. | ||
| 953 | + * ***************************************************************************************** | ||
| 713 | * | 954 | * |
| 714 | - * @return : 返回一个数组.这里返回的是调整过后 发车间距均匀的班次数组 | ||
| 715 | **/ | 955 | **/ |
| 716 | - jhfcjx02 : function(bcArr,dataMap) { | 956 | + evenStartDepartSpace : function(bcArr,dataMap) { |
| 957 | + // 定义行业标准高峰最大发车间隙、低谷最大发车间隙(包括吃饭时间) | ||
| 958 | + var gfmaxfcjx = 20 , dgmaxfcjx = dataMap.dgmaxfcjx; | ||
| 959 | + // 判断班次数组集合长度是否为零. | ||
| 717 | if(bcArr.length<=0) | 960 | if(bcArr.length<=0) |
| 718 | return; | 961 | return; |
| 962 | + // 定义方向数组集合. | ||
| 719 | var dirA = dataMap.dira; | 963 | var dirA = dataMap.dira; |
| 964 | + // 定义配车总数(相当于路牌总数). | ||
| 720 | var clzs = parseInt(dataMap.map.clzs); | 965 | var clzs = parseInt(dataMap.map.clzs); |
| 721 | for(var d = 0 ; d < dirA.length; d++) { | 966 | for(var d = 0 ; d < dirA.length; d++) { |
| 967 | + // 定义方向、该方向下的班次数组集合. | ||
| 722 | var fxdm = dirA[d],fxbc = new Array(); | 968 | var fxdm = dirA[d],fxbc = new Array(); |
| 969 | + // 方向代码转为下标[0代表上行 ; 1代表下行]. | ||
| 723 | var cctag = baseF.dirDmToIndex(fxdm); | 970 | var cctag = baseF.dirDmToIndex(fxdm); |
| 724 | for(var b = 0;b<bcArr.length ; b++) { | 971 | for(var b = 0;b<bcArr.length ; b++) { |
| 972 | + // 获取发车时间转为毫秒数.(用于后面按发车时间顺序排序) | ||
| 725 | bcArr[b].fcint = baseF.getDateTime(bcArr[b].fcsj).getTime(); | 973 | bcArr[b].fcint = baseF.getDateTime(bcArr[b].fcsj).getTime(); |
| 974 | + // 如果方向相同则添加到该方向下的班次数组集合中. | ||
| 726 | if(bcArr[b].xlDir == fxdm) | 975 | if(bcArr[b].xlDir == fxdm) |
| 727 | fxbc.push(bcArr[b]); | 976 | fxbc.push(bcArr[b]); |
| 728 | } | 977 | } |
| 729 | - var kssj = baseF.getDateTime(dataMap.smbcsjArr[cctag].kssj),// 开始时间. | ||
| 730 | - jssj = baseF.getDateTime(dataMap.smbcsjArr[cctag].jssj);// 结束时间. | ||
| 731 | - fxbc.sort(function(m,n){return m.fcint - n.fcint}); | ||
| 732 | - while(kssj<=jssj) { | ||
| 733 | - var tagboolean = baseF.isgfsjd01(kssj,dataMap); | ||
| 734 | - var zzsj = tagboolean ? dataMap.zzsj.gfzzsj : dataMap.zzsj.dgzzsj; | ||
| 735 | - if(true){ | 978 | + // 判断某方向下的班次数组集合的长度是否小于零. |
| 979 | + if(fxbc.length>0) { | ||
| 980 | + // 按发车时间顺序排序. | ||
| 981 | + fxbc.sort(function(m,n){return m.fcint - n.fcint}); | ||
| 982 | + // 定义某方向下的开始、结束时间. | ||
| 983 | + var kssj = baseF.getDateTime(dataMap.smbcsjArr[cctag].kssj), | ||
| 984 | + jssj = baseF.getDateTime(dataMap.smbcsjArr[cctag].jssj); | ||
| 985 | + while(kssj<=jssj) { | ||
| 986 | + // 判断是否高峰时段. | ||
| 987 | + var tagboolean = baseF.isPeakTimeScope(kssj,dataMap); | ||
| 988 | + // 定义不同时间段内的周转时间. | ||
| 989 | + var zzsj = tagboolean ? dataMap.zzsj.gfzzsj : dataMap.zzsj.dgzzsj; | ||
| 990 | + // 定义时间区间的结束点. | ||
| 736 | var temp = new Date(); | 991 | var temp = new Date(); |
| 737 | temp.setHours(kssj.getHours()); | 992 | temp.setHours(kssj.getHours()); |
| 738 | temp.setMinutes(kssj.getMinutes()+zzsj); | 993 | temp.setMinutes(kssj.getMinutes()+zzsj); |
| 739 | - var sjdbcArr = baseF.getObjRegion(kssj,temp,fxbc,dataMap); | ||
| 740 | - var len_ = sjdbcArr.length; | ||
| 741 | - var bcCount = baseF.getlpNum(sjdbcArr);// 定长度 | 994 | + // 定义该时间区间内的班次数组集合、该数组集合长度. |
| 995 | + var sjdbcArr = baseF.getObjRegion(kssj,temp,fxbc,dataMap), | ||
| 996 | + len_ = sjdbcArr.length; | ||
| 997 | + // 定义该时间区间内的车辆数. | ||
| 998 | + var bcCount = baseF.getlpNum(sjdbcArr); | ||
| 742 | if(len_>0 && bcCount > 0) { | 999 | if(len_>0 && bcCount > 0) { |
| 1000 | + // 定义该时间区间内的发车间隙. | ||
| 743 | var _fcjx = parseInt(Math.ceil(zzsj/bcCount)); | 1001 | var _fcjx = parseInt(Math.ceil(zzsj/bcCount)); |
| 744 | - console.log(_fcjx); | 1002 | + if(tagboolean) { |
| 1003 | + if(_fcjx>gfmaxfcjx) | ||
| 1004 | + _fcjx = 20; | ||
| 1005 | + }else { | ||
| 1006 | + if(_fcjx>dgmaxfcjx) | ||
| 1007 | + _fcjx = dgmaxfcjx; | ||
| 1008 | + } | ||
| 1009 | + // console.log(_fcjx); | ||
| 1010 | + // 定义修改班次的起始时间点. | ||
| 745 | var fcnosj = new Date(kssj); | 1011 | var fcnosj = new Date(kssj); |
| 746 | for(var l = 0 ; l< len_ ; l++) { | 1012 | for(var l = 0 ; l< len_ ; l++) { |
| 747 | - // 每个路牌的末班车发车时间不准动. | ||
| 748 | - /*if(baseF.iszhclzsbc(fxbc, sjdbcArr[l].fcno , clzs)) { | ||
| 749 | - continue; | ||
| 750 | - }*/ | 1013 | + // 修改班次发车时间. |
| 751 | sjdbcArr[l].fcsj = baseF.getTimeStr(fcnosj); | 1014 | sjdbcArr[l].fcsj = baseF.getTimeStr(fcnosj); |
| 752 | - var _xxsj = baseF.getxssj(dataMap.zgfsjd, | 1015 | + sjdbcArr[l].fcint = fcnosj.getTime(); |
| 1016 | + // 获取行驶时间. | ||
| 1017 | + var _xxsj = baseF.getByDirTravelTime(dataMap.zgfsjd, | ||
| 753 | dataMap.wgfsjd,fcnosj,dataMap.pcxssjArr, | 1018 | dataMap.wgfsjd,fcnosj,dataMap.pcxssjArr, |
| 754 | - dataMap.gfxxsjArr,baseF.dirDmToIndex(sjdbcArr[l].xlDir));// 获取行驶时间 | 1019 | + dataMap.gfxxsjArr,baseF.dirDmToIndex(sjdbcArr[l].xlDir)); |
| 1020 | + // 修改行驶时间. | ||
| 755 | sjdbcArr[l].bcsj = _xxsj; | 1021 | sjdbcArr[l].bcsj = _xxsj; |
| 1022 | + // 定义到达时间. | ||
| 756 | var ddsj = new Date(); | 1023 | var ddsj = new Date(); |
| 757 | ddsj.setHours(fcnosj.getHours()); | 1024 | ddsj.setHours(fcnosj.getHours()); |
| 758 | ddsj.setMinutes(fcnosj.getMinutes()+_xxsj); | 1025 | ddsj.setMinutes(fcnosj.getMinutes()+_xxsj); |
| 1026 | + // 修改到达时间. | ||
| 759 | sjdbcArr[l].ARRIVALTIME = baseF.getTimeStr(ddsj); | 1027 | sjdbcArr[l].ARRIVALTIME = baseF.getTimeStr(ddsj); |
| 1028 | + // 重新赋值起始时间点. | ||
| 760 | fcnosj.setMinutes(fcnosj.getMinutes() + _fcjx); | 1029 | fcnosj.setMinutes(fcnosj.getMinutes() + _fcjx); |
| 761 | } | 1030 | } |
| 762 | } | 1031 | } |
| 1032 | + // 重新赋值开始时间点.来作为下一次的开始时间. | ||
| 1033 | + kssj = new Date(kssj.setMinutes(kssj.getMinutes() + zzsj)); | ||
| 1034 | + } | ||
| 1035 | + } | ||
| 1036 | + } | ||
| 1037 | + }, | ||
| 1038 | + | ||
| 1039 | + /** | ||
| 1040 | + * @description (TODO) 横向调整 调整停站时间. | ||
| 1041 | + * @param cara 路牌数组. | ||
| 1042 | + * @param tempa 所有的班次数组集合. | ||
| 1043 | + * @param dataMap 封装的 以上、下行方向成对存在的 一些参数数组 [下标0 -- 代表上行 ; 下标1 -- 代表下行]. | ||
| 1044 | + * | ||
| 1045 | + * ******************************** 思路 ************************************************* | ||
| 1046 | + * 第一步 等到每个路牌下的班次数组集合. | ||
| 1047 | + * | ||
| 1048 | + * 第二步 顺序排序每个路牌下的班次数组集合. | ||
| 1049 | + * | ||
| 1050 | + * 第三步 从第二个班次开始,用第二个班次的发车时间 - 上一个班次的到达时间 得到 上一个班次的停站时间. | ||
| 1051 | + * | ||
| 1052 | + * 第四步 修改上一个班次的停站时间. | ||
| 1053 | + * | ||
| 1054 | + * 修改停站时间规则:以行驶时间的10%-15% 为标准。 | ||
| 1055 | + * 如果超出该范围。则以录入参数低谷最大停站间隙为准。 | ||
| 1056 | + * 停站时间最大不能超过该停站时间。 | ||
| 1057 | + * 高峰附近的班次的停站时间在离高峰最近一个班次的停站时间浮动范围【1-2】分钟。 | ||
| 1058 | + * | ||
| 1059 | + * **************************************************************************************** | ||
| 1060 | + */ | ||
| 1061 | + resizeByPitStopTime : function(cara,tempa,dataMap) { | ||
| 1062 | + var cLen = cara.length,tLen = tempa.length; | ||
| 1063 | + if(cLen<= 0 || tLen<=0 || dataMap==null) | ||
| 1064 | + return; | ||
| 1065 | + // 定义低谷最大停站时间、行业标准最小、最大停站时间(行驶时间的10%~15%). | ||
| 1066 | + var dgmaxtzsj = dataMap.dgmaxtzsj,normmintzsj, normmaxtzsj; | ||
| 1067 | + for(var t = 0 ; t < cLen ; t++) { | ||
| 1068 | + // 定义当前路牌班次数组集合. | ||
| 1069 | + var sslpbcA = new Array(); | ||
| 1070 | + for(var j =0 ; j < tLen ; j++) { | ||
| 1071 | + // 判断当期遍历的班次是否属于当前的路牌.如果是则添加到当前的路牌班次数组集合. | ||
| 1072 | + if(tempa[j].lpNo == cara[t].lpNo) | ||
| 1073 | + sslpbcA.push(tempa[j]); | ||
| 1074 | + } | ||
| 1075 | + if(sslpbcA.length > 0) { | ||
| 1076 | + // 按发车时间顺序排序. | ||
| 1077 | + sslpbcA.sort(function(a,b){return a.fcint-b.fcint}); | ||
| 1078 | + // 按照规则修改停站时间. | ||
| 1079 | + for(var r = 0 ; r < sslpbcA.length-1 ; r++) { | ||
| 1080 | + // 定义上一个班次的发车时间、当前班次的到达时间、发车时间. | ||
| 1081 | + var sgbcfcsj = baseF.getDateTime(sslpbcA[r+1].fcsj), | ||
| 1082 | + dqbcddsj = baseF.getDateTime(sslpbcA[r].ARRIVALTIME), | ||
| 1083 | + dqbcfcsj = baseF.getDateTime(sslpbcA[r].fcsj); | ||
| 1084 | + // 定义每每相邻两个班次之间的时间差分钟数(也就是停站时间.) | ||
| 1085 | + var dxmin = parseInt( (sgbcfcsj - dqbcddsj)/60000); | ||
| 1086 | + // 定义当前班次方向下标代码[0代表上行;1代表下行]. | ||
| 1087 | + var cctag = baseF.dirDmToIndex(sslpbcA[r].xlDir); | ||
| 1088 | + // 定义是否高峰 | ||
| 1089 | + var flag = baseF.isPeakTimeScope(dqbcfcsj , dataMap); | ||
| 1090 | + // 获取行驶时间. | ||
| 1091 | + var xxsj = baseF.getByDirTravelTime(dataMap.zgfsjd , dataMap.wgfsjd , dqbcfcsj, | ||
| 1092 | + dataMap.pcxssjArr , dataMap.gfxxsjArr , | ||
| 1093 | + baseF.dirDmToIndex(sslpbcA[r].xlDir)); | ||
| 1094 | + normmintzsj = xxsj*0.1; | ||
| 1095 | + normmaxtzsj = xxsj*0.15; | ||
| 1096 | + // 如果小于零 | ||
| 1097 | + if(dxmin <= 0 && sslpbcA[r].isfb ==0 ) { | ||
| 1098 | + // 根据不同时段的停站时间.重新赋值停站时间. | ||
| 1099 | + dxmin = flag ? dataMap.gftzsj[cctag] : dataMap.dgtzsj[cctag]; | ||
| 1100 | + }else { | ||
| 1101 | + // 如果 大于等于低谷最大停站时间 并且 小于等于三小时.则把低谷最大停站时间 作为 停站时间. | ||
| 1102 | + if(dxmin >= dgmaxtzsj && dxmin < 180) { | ||
| 1103 | + dxmin = dgmaxtzsj; | ||
| 1104 | + // 如果大于零 并且 小于等于行业标准的最小停站时间 | ||
| 1105 | + }else if(dxmin > 0 && dxmin <= normmintzsj ) { | ||
| 1106 | + // dxmin = dxmin; | ||
| 1107 | + // 如果大于行业标准的最小停站时间 并且 小于等于行业标准的最大停站时间 | ||
| 1108 | + }else if(dxmin > normmintzsj && dxmin <= normmaxtzsj ) { | ||
| 1109 | + // dxmin = dxmin; | ||
| 1110 | + // 如果大于行业标准的最大停站时间 并且 小于低谷最大停站时间 | ||
| 1111 | + }else if(dxmin > normmaxtzsj && dxmin < dgmaxtzsj ) { | ||
| 1112 | + // dxmin = dxmin; | ||
| 1113 | + } | ||
| 1114 | + } | ||
| 1115 | + // 修改当前班次的停站时间. | ||
| 1116 | + sslpbcA[r].STOPTIME = parseInt(dxmin) ; | ||
| 1117 | + // 当前班次的到达时间 + 停站时间 作为下一个班次的发车时间. | ||
| 1118 | + dqbcddsj.setMinutes(dqbcddsj.getMinutes() + dxmin); | ||
| 1119 | + // 修改下一个班次的发车时间. | ||
| 1120 | + sslpbcA[r+1].fcsj = baseF.getTimeStr(dqbcddsj); | ||
| 1121 | + // 下一个班次的发车时间 + 行驶时间 作为下一个班次的到达时间. | ||
| 1122 | + dqbcddsj.setMinutes(dqbcddsj.getMinutes() + sslpbcA[r+1].bcsj); | ||
| 1123 | + // 修改下一个班次的到达时间. | ||
| 1124 | + sslpbcA[r+1].ARRIVALTIME = baseF.getTimeStr(dqbcddsj); | ||
| 763 | } | 1125 | } |
| 764 | - kssj = new Date(kssj.setMinutes(kssj.getMinutes() + zzsj)); | ||
| 765 | } | 1126 | } |
| 766 | } | 1127 | } |
| 767 | }, | 1128 | }, |
| @@ -769,7 +1130,7 @@ var BaseFun = function() { | @@ -769,7 +1130,7 @@ var BaseFun = function() { | ||
| 769 | BXPplaceClassesTime01 : function(saa,cara,map,seMap,dataMap,lpNoA) { | 1130 | BXPplaceClassesTime01 : function(saa,cara,map,seMap,dataMap,lpNoA) { |
| 770 | var jsonArray = baseF.plgfbc(saa,cara,map,seMap,dataMap); | 1131 | var jsonArray = baseF.plgfbc(saa,cara,map,seMap,dataMap); |
| 771 | var list = baseF.splitBxRc(map.bxrc); | 1132 | var list = baseF.splitBxRc(map.bxrc); |
| 772 | - baseF.fprclp01(list,cara); | 1133 | + baseF.bxAlloTotLp(list,cara); |
| 773 | var bxrclist = list.data; | 1134 | var bxrclist = list.data; |
| 774 | var rs = new Array(),bxrcgs= new Array(); | 1135 | var rs = new Array(),bxrcgs= new Array(); |
| 775 | // 遍历已分配好路牌的班型人次数组. | 1136 | // 遍历已分配好路牌的班型人次数组. |
| @@ -804,7 +1165,7 @@ var BaseFun = function() { | @@ -804,7 +1165,7 @@ var BaseFun = function() { | ||
| 804 | cara[l].lpName = bxrclist[x].type + '_' + lpNo ; | 1165 | cara[l].lpName = bxrclist[x].type + '_' + lpNo ; |
| 805 | } | 1166 | } |
| 806 | } | 1167 | } |
| 807 | - var _obj = baseF.getsxAndxxbc(lpbc,dataMap); | 1168 | + var _obj = baseF.getUpAndDownBc(lpbc,dataMap); |
| 808 | baseF.tcbc(_obj.sxbc,dataMap.smbcsjArr[0].kssj,dataMap.smbcsjArr[0].jssj);// 剔除上行不在时间范围内的班次 | 1169 | baseF.tcbc(_obj.sxbc,dataMap.smbcsjArr[0].kssj,dataMap.smbcsjArr[0].jssj);// 剔除上行不在时间范围内的班次 |
| 809 | baseF.tcbc(_obj.xxbc,dataMap.smbcsjArr[1].kssj,dataMap.smbcsjArr[1].jssj);// 剔除下行不在时间范围内的班次 | 1170 | baseF.tcbc(_obj.xxbc,dataMap.smbcsjArr[1].kssj,dataMap.smbcsjArr[1].jssj);// 剔除下行不在时间范围内的班次 |
| 810 | var tcnofwlpbc = _obj.sxbc.concat(_obj.xxbc); | 1171 | var tcnofwlpbc = _obj.sxbc.concat(_obj.xxbc); |
| @@ -1137,15 +1498,6 @@ var BaseFun = function() { | @@ -1137,15 +1498,6 @@ var BaseFun = function() { | ||
| 1137 | obj.ARRIVALTIME = baseF.getTimeStr(zhygbcydx); | 1498 | obj.ARRIVALTIME = baseF.getTimeStr(zhygbcydx); |
| 1138 | }, | 1499 | }, |
| 1139 | 1500 | ||
| 1140 | - issmbcsjArr : function(str,arr) { | ||
| 1141 | - var tag = false; | ||
| 1142 | - for(var a = 0 ;a < arr.length;a++) { | ||
| 1143 | - if(str == arr[a].kssj || str == arr[a].jssj) | ||
| 1144 | - tag = true; | ||
| 1145 | - } | ||
| 1146 | - return tag; | ||
| 1147 | - }, | ||
| 1148 | - | ||
| 1149 | getlpbcA : function(lpN_,jar) { | 1501 | getlpbcA : function(lpN_,jar) { |
| 1150 | var lpA = new Array(); | 1502 | var lpA = new Array(); |
| 1151 | for(var p = 0 ; p < jar.length; p++ ) { | 1503 | for(var p = 0 ; p < jar.length; p++ ) { |
| @@ -1211,7 +1563,7 @@ var BaseFun = function() { | @@ -1211,7 +1563,7 @@ var BaseFun = function() { | ||
| 1211 | var dxmin = parseInt( (sgbcfcsj - dqbcddsj)/60000); | 1563 | var dxmin = parseInt( (sgbcfcsj - dqbcddsj)/60000); |
| 1212 | if(dxmin<0 || ar[r].STOPTIME<0) { | 1564 | if(dxmin<0 || ar[r].STOPTIME<0) { |
| 1213 | var cctag = baseF.dirDmToIndex(ar[r].xlDir); | 1565 | var cctag = baseF.dirDmToIndex(ar[r].xlDir); |
| 1214 | - dxmin = ar[r].bcType == dataMap.bcTypeArr.cf ? 0 : baseF.isgfsjd01(baseF.getDateTime(ar[r].fcsj),dataMap) ? dataMap.gftzsj[cctag] : dataMap.dgtzsj[cctag]; | 1566 | + dxmin = ar[r].bcType == dataMap.bcTypeArr.cf ? 0 : baseF.isPeakTimeScope(baseF.getDateTime(ar[r].fcsj),dataMap) ? dataMap.gftzsj[cctag] : dataMap.dgtzsj[cctag]; |
| 1215 | /*dqbcddsj.setMinutes(dqbcddsj.getMinutes() + dxmin); | 1567 | /*dqbcddsj.setMinutes(dqbcddsj.getMinutes() + dxmin); |
| 1216 | ar[r+1].fcsj = baseF.getTimeStr(dqbcddsj); | 1568 | ar[r+1].fcsj = baseF.getTimeStr(dqbcddsj); |
| 1217 | dqbcddsj.setMinutes(dqbcddsj.getMinutes() + ar[r+1].bcsj); | 1569 | dqbcddsj.setMinutes(dqbcddsj.getMinutes() + ar[r+1].bcsj); |
| @@ -1261,7 +1613,7 @@ var BaseFun = function() { | @@ -1261,7 +1613,7 @@ var BaseFun = function() { | ||
| 1261 | jssj = baseF.getDateTime(dataMap.smbcsjArr[cctag].jssj);// 结束时间. | 1613 | jssj = baseF.getDateTime(dataMap.smbcsjArr[cctag].jssj);// 结束时间. |
| 1262 | fxbc.sort(function(m,n){return m.fcint - n.fcint}); | 1614 | fxbc.sort(function(m,n){return m.fcint - n.fcint}); |
| 1263 | while(kssj<=jssj) { | 1615 | while(kssj<=jssj) { |
| 1264 | - var tagboolean = baseF.isgfsjd01(kssj,dataMap); | 1616 | + var tagboolean = baseF.isPeakTimeScope(kssj,dataMap); |
| 1265 | var zzsj = tagboolean ? dataMap.zzsj.gfzzsj : dataMap.zzsj.dgzzsj; | 1617 | var zzsj = tagboolean ? dataMap.zzsj.gfzzsj : dataMap.zzsj.dgzzsj; |
| 1266 | if(!tagboolean){ | 1618 | if(!tagboolean){ |
| 1267 | var temp = new Date(); | 1619 | var temp = new Date(); |
| @@ -1280,7 +1632,7 @@ var BaseFun = function() { | @@ -1280,7 +1632,7 @@ var BaseFun = function() { | ||
| 1280 | continue; | 1632 | continue; |
| 1281 | } | 1633 | } |
| 1282 | sjdbcArr[l].fcsj = baseF.getTimeStr(fcnosj); | 1634 | sjdbcArr[l].fcsj = baseF.getTimeStr(fcnosj); |
| 1283 | - var _xxsj = baseF.getxssj(dataMap.zgfsjd, | 1635 | + var _xxsj = baseF.getByDirTravelTime(dataMap.zgfsjd, |
| 1284 | dataMap.wgfsjd,fcnosj,dataMap.pcxssjArr, | 1636 | dataMap.wgfsjd,fcnosj,dataMap.pcxssjArr, |
| 1285 | dataMap.gfxxsjArr,baseF.dirDmToIndex(sjdbcArr[l].xlDir));// 获取行驶时间 | 1637 | dataMap.gfxxsjArr,baseF.dirDmToIndex(sjdbcArr[l].xlDir));// 获取行驶时间 |
| 1286 | sjdbcArr[l].bcsj = _xxsj; | 1638 | sjdbcArr[l].bcsj = _xxsj; |
| @@ -1462,8 +1814,8 @@ var BaseFun = function() { | @@ -1462,8 +1814,8 @@ var BaseFun = function() { | ||
| 1462 | kssj.setMinutes(parseInt(strArray[1]) + lastObj.STOPTIME); | 1814 | kssj.setMinutes(parseInt(strArray[1]) + lastObj.STOPTIME); |
| 1463 | var cctag = baseF.dirDmToIndex(lastObj.xlDir); | 1815 | var cctag = baseF.dirDmToIndex(lastObj.xlDir); |
| 1464 | cctag = baseF.getfx(1,cctag); | 1816 | cctag = baseF.getfx(1,cctag); |
| 1465 | - var tzsj = baseF.isgfsjd01(kssj,dataMap) ? dataMap.gftzsj[cctag] : dataMap.dgtzsj[cctag]; | ||
| 1466 | - var _xxsj = baseF.getxssj(dataMap.zgfsjd,dataMap.wgfsjd,kssj,dataMap.pcxssjArr,dataMap.gfxxsjArr,cctag);// 获取行驶时间 | 1817 | + var tzsj = baseF.isPeakTimeScope(kssj,dataMap) ? dataMap.gftzsj[cctag] : dataMap.dgtzsj[cctag]; |
| 1818 | + var _xxsj = baseF.getByDirTravelTime(dataMap.zgfsjd,dataMap.wgfsjd,kssj,dataMap.pcxssjArr,dataMap.gfxxsjArr,cctag);// 获取行驶时间 | ||
| 1467 | // 定义班次序号 | 1819 | // 定义班次序号 |
| 1468 | var xhNo = lastObj.fcno+1; | 1820 | var xhNo = lastObj.fcno+1; |
| 1469 | var carArray = {'lp':lastObj.lp,'lpNo':lastObj.lpNo,'lpName':lastObj.lpName,'lpType':lastObj.lpType}; | 1821 | var carArray = {'lp':lastObj.lp,'lpNo':lastObj.lpNo,'lpName':lastObj.lpName,'lpType':lastObj.lpType}; |
| @@ -1514,64 +1866,6 @@ var BaseFun = function() { | @@ -1514,64 +1866,6 @@ var BaseFun = function() { | ||
| 1514 | }, | 1866 | }, |
| 1515 | 1867 | ||
| 1516 | /** | 1868 | /** |
| 1517 | - * @description (TODO) 把班型人次合理的分配到不同的路牌上. | ||
| 1518 | - * | ||
| 1519 | - * @param [bxgs--班型人次数组长度;list--班型人次数组集合;clzs--路牌数组] | ||
| 1520 | - * | ||
| 1521 | - * @return 返回一个把路牌合理的分配到班型人次下组成的数据集合. | ||
| 1522 | - * */ | ||
| 1523 | - fprclp01 : function(list,clzs) { | ||
| 1524 | - var bxgs = list.data.length; | ||
| 1525 | - // 定义总车数. | ||
| 1526 | - var dxcount = clzs.length; | ||
| 1527 | - /*for(var t = 1 ; t<bxgs ; t++) { | ||
| 1528 | - dxcount = dxcount + list.data[t].rs; | ||
| 1529 | - }*/ | ||
| 1530 | - // 最多车次与总车次的比例. | ||
| 1531 | - var blnum = Math.round(dxcount/list.data[0].fpcls); | ||
| 1532 | - var rs = new Array(); | ||
| 1533 | - // 遍历 | ||
| 1534 | - for(var r = 0 ; r<bxgs ;r++) { | ||
| 1535 | - // 得到没有分配出去的路牌. | ||
| 1536 | - var dxa = baseF.chaji_array(clzs,rs); | ||
| 1537 | - // 定义当前车次数. | ||
| 1538 | - var rsnum = list.data[r].fpcls; | ||
| 1539 | - // 定义记录当前分割路牌的次数下标.分配到班型车次下的路牌数组. | ||
| 1540 | - var index = 0,sslp = new Array(); | ||
| 1541 | - // 当前车次所有占比例. | ||
| 1542 | - var tempint = parseInt(rsnum/blnum); | ||
| 1543 | - // 判断如果比例小1 则为当前车次数. | ||
| 1544 | - blnum = tempint <=1 ? rsnum : blnum; | ||
| 1545 | - // 判断当前班型车次数组下标值.如果为倒数第二个或者之前 | ||
| 1546 | - if(r<bxgs-1) { | ||
| 1547 | - // 遍历 | ||
| 1548 | - for(var c = 0 ; c<tempint;c++) { | ||
| 1549 | - // 创建新的没有分配出去的路牌数组. | ||
| 1550 | - var temp = dxa.concat(); | ||
| 1551 | - // 创建切割路牌数组. | ||
| 1552 | - var tagA = new Array(); | ||
| 1553 | - // 判断切割的下标值是否小于等于路牌数组的倒数第二个或者之前. | ||
| 1554 | - if(index<=dxa.length-blnum) { | ||
| 1555 | - tagA = temp.splice(index,blnum); | ||
| 1556 | - }else { | ||
| 1557 | - tagA = temp.splice(dxa.length-blnum,blnum); | ||
| 1558 | - } | ||
| 1559 | - // 组合切割路牌数组.赋值给已分配出去的路牌. | ||
| 1560 | - rs = rs.concat(tagA); | ||
| 1561 | - // 赋值给分配到班型车次下的路牌数组. | ||
| 1562 | - sslp = sslp.concat(tagA); | ||
| 1563 | - // 记录切割下标. | ||
| 1564 | - index = index + 1 + blnum; | ||
| 1565 | - } | ||
| 1566 | - // 分配到班型车次下的路牌数组. | ||
| 1567 | - list.data[r].sslp = sslp; | ||
| 1568 | - }else { | ||
| 1569 | - list.data[r].sslp = dxa; | ||
| 1570 | - } | ||
| 1571 | - } | ||
| 1572 | - }, | ||
| 1573 | - | ||
| 1574 | - /** | ||
| 1575 | * @description : (TODO) 根据班型人次与车辆总数排列班次时刻数据. | 1869 | * @description : (TODO) 根据班型人次与车辆总数排列班次时刻数据. |
| 1576 | * | 1870 | * |
| 1577 | * @param [saa--数据配置参数;cara--路牌数组;map--表单配置参数;dataMap--方向成对的数据集合]. | 1871 | * @param [saa--数据配置参数;cara--路牌数组;map--表单配置参数;dataMap--方向成对的数据集合]. |
| @@ -2045,7 +2339,7 @@ var BaseFun = function() { | @@ -2045,7 +2339,7 @@ var BaseFun = function() { | ||
| 2045 | * | 2339 | * |
| 2046 | * ******************************** 思路 ********************************************************* | 2340 | * ******************************** 思路 ********************************************************* |
| 2047 | * | 2341 | * |
| 2048 | - * 首先,以早高峰开始时间作为开始点 , 并且作为最后一个路牌的第一个班次的发车时间展开。 | 2342 | + * 首先,以早高峰开始时间作为开始点,并且作为最后一个路牌的第一个班次的发车时间展开。(这里的原因是所有的车必须在早高峰开始点全部出车.) |
| 2049 | * | 2343 | * |
| 2050 | * 纵向展开: | 2344 | * 纵向展开: |
| 2051 | * 以最后一个路牌的第一个班次发车时间为开始点,以阶梯形式向上展开. | 2345 | * 以最后一个路牌的第一个班次发车时间为开始点,以阶梯形式向上展开. |
| @@ -2059,6 +2353,7 @@ var BaseFun = function() { | @@ -2059,6 +2353,7 @@ var BaseFun = function() { | ||
| 2059 | * 倒数第二个路牌的第一个班次的发车时间为 6:39 = 6:31 + 某周转时间段内的发车间隙为:8 | 2353 | * 倒数第二个路牌的第一个班次的发车时间为 6:39 = 6:31 + 某周转时间段内的发车间隙为:8 |
| 2060 | * 倒数第三个路牌的第一个班次的发车时间为 6:47 = 6:39 + 某周转时间段内的发车间隙为:8 | 2354 | * 倒数第三个路牌的第一个班次的发车时间为 6:47 = 6:39 + 某周转时间段内的发车间隙为:8 |
| 2061 | * 倒数第四个.... | 2355 | * 倒数第四个.... |
| 2356 | + * ............ | ||
| 2062 | * 以此类推. | 2357 | * 以此类推. |
| 2063 | * | 2358 | * |
| 2064 | * 横向展开: | 2359 | * 横向展开: |
| @@ -2080,8 +2375,9 @@ var BaseFun = function() { | @@ -2080,8 +2375,9 @@ var BaseFun = function() { | ||
| 2080 | * 第四个班次 | 2375 | * 第四个班次 |
| 2081 | * 第五个班次 | 2376 | * 第五个班次 |
| 2082 | * ........ | 2377 | * ........ |
| 2378 | + * 以此类推. | ||
| 2083 | */ | 2379 | */ |
| 2084 | - plgfbc01 : function(saa , cara , map, seMap , dataMap) { | 2380 | + GetByArgusInitAllLpDownedBcCollections : function(saa , cara , map, seMap , dataMap) { |
| 2085 | // 定义路牌长度 、所有路牌默认出场方向 [0--上行出场;1--下行出场] 、营运结束时间、返回数组. | 2381 | // 定义路牌长度 、所有路牌默认出场方向 [0--上行出场;1--下行出场] 、营运结束时间、返回数组. |
| 2086 | var len = cara.length , cctag , endTime = baseF.getDateTime(seMap.e) , rs = new Array(); | 2382 | var len = cara.length , cctag , endTime = baseF.getDateTime(seMap.e) , rs = new Array(); |
| 2087 | // 获取所有路牌默认出场方向.如果是环线则只有一个上行方向. | 2383 | // 获取所有路牌默认出场方向.如果是环线则只有一个上行方向. |
| @@ -2098,12 +2394,12 @@ var BaseFun = function() { | @@ -2098,12 +2394,12 @@ var BaseFun = function() { | ||
| 2098 | // 开启方向切换. | 2394 | // 开启方向切换. |
| 2099 | fxflag = 1; | 2395 | fxflag = 1; |
| 2100 | // 定义在某时间段内[高峰时间段、低谷时间段]的停站时间. | 2396 | // 定义在某时间段内[高峰时间段、低谷时间段]的停站时间. |
| 2101 | - var tzsj = baseF.isgfsjd01(kssj,dataMap) ? dataMap.gftzsj[fxTagDm] : dataMap.dgtzsj[fxTagDm]; | 2397 | + var tzsj = baseF.isPeakTimeScope(kssj,dataMap) ? dataMap.gftzsj[fxTagDm] : dataMap.dgtzsj[fxTagDm]; |
| 2102 | // 定义在某时间段内的行驶时间. | 2398 | // 定义在某时间段内的行驶时间. |
| 2103 | - var _xxsj = baseF.getxssj(dataMap.zgfsjd,dataMap.wgfsjd,kssj,dataMap.pcxssjArr,dataMap.gfxxsjArr,fxTagDm); | 2399 | + var _xxsj = baseF.getByDirTravelTime(dataMap.zgfsjd,dataMap.wgfsjd,kssj,dataMap.pcxssjArr,dataMap.gfxxsjArr,fxTagDm); |
| 2104 | // 定义当前班次的停站时间,这里是为了当计算到了最后一个班次的时候,那么停站时间为0 ,但是后续的班次的发车时间需要加上前一个班次的停站时间. | 2400 | // 定义当前班次的停站时间,这里是为了当计算到了最后一个班次的时候,那么停站时间为0 ,但是后续的班次的发车时间需要加上前一个班次的停站时间. |
| 2105 | var xs_tzsj = baseF.isLastbc(kssj,endTime,tzsj,_xxsj) ? 0 : tzsj; | 2401 | var xs_tzsj = baseF.isLastbc(kssj,endTime,tzsj,_xxsj) ? 0 : tzsj; |
| 2106 | - // 添加正常班次对象. | 2402 | + // 添加正常班次对象.(这里初始化时,都是正常班次类型.) |
| 2107 | rs.push(baseF.getbcObj(kssj , _xxsj , cara[c] , | 2403 | rs.push(baseF.getbcObj(kssj , _xxsj , cara[c] , |
| 2108 | dataMap.bcTypeArr.normal, | 2404 | dataMap.bcTypeArr.normal, |
| 2109 | dataMap.dira[fxTagDm] , xhNo++, | 2405 | dataMap.dira[fxTagDm] , xhNo++, |
| @@ -2114,6 +2410,7 @@ var BaseFun = function() { | @@ -2114,6 +2410,7 @@ var BaseFun = function() { | ||
| 2114 | kssj = new Date(kssj.setMinutes(kssj.getMinutes() + tzsj)); | 2410 | kssj = new Date(kssj.setMinutes(kssj.getMinutes() + tzsj)); |
| 2115 | } | 2411 | } |
| 2116 | } | 2412 | } |
| 2413 | + // 返回结果集. | ||
| 2117 | return rs; | 2414 | return rs; |
| 2118 | }, | 2415 | }, |
| 2119 | 2416 | ||
| @@ -2148,9 +2445,9 @@ var BaseFun = function() { | @@ -2148,9 +2445,9 @@ var BaseFun = function() { | ||
| 2148 | kssj,dataMap.zwcArr[1],cara[c],dataMap.bcTypeArr.cf, | 2445 | kssj,dataMap.zwcArr[1],cara[c],dataMap.bcTypeArr.cf, |
| 2149 | dataMap.dira[cctag],xhNo++,0,map,0,null,null,null,0,0));// 晚餐班次 | 2446 | dataMap.dira[cctag],xhNo++,0,map,0,null,null,null,0,0));// 晚餐班次 |
| 2150 | }*/ | 2447 | }*/ |
| 2151 | - var tzsj = baseF.isgfsjd01(kssj,dataMap) ? dataMap.gftzsj[cctag] : dataMap.dgtzsj[cctag]; | 2448 | + var tzsj = baseF.isPeakTimeScope(kssj,dataMap) ? dataMap.gftzsj[cctag] : dataMap.dgtzsj[cctag]; |
| 2152 | // var tzsj = dataMap.ztjxA[cctag]; | 2449 | // var tzsj = dataMap.ztjxA[cctag]; |
| 2153 | - var _xxsj = baseF.getxssj(dataMap.zgfsjd,dataMap.wgfsjd,kssj,dataMap.pcxssjArr,dataMap.gfxxsjArr,cctag);// 获取行驶时间 | 2450 | + var _xxsj = baseF.getByDirTravelTime(dataMap.zgfsjd,dataMap.wgfsjd,kssj,dataMap.pcxssjArr,dataMap.gfxxsjArr,cctag);// 获取行驶时间 |
| 2154 | var xs_tzsj = baseF.isLastbc(kssj,endTime,tzsj,_xxsj) ? 0 : tzsj; | 2451 | var xs_tzsj = baseF.isLastbc(kssj,endTime,tzsj,_xxsj) ? 0 : tzsj; |
| 2155 | rs.push(baseF.getbcObj( | 2452 | rs.push(baseF.getbcObj( |
| 2156 | kssj,_xxsj,cara[c],dataMap.bcTypeArr.normal, | 2453 | kssj,_xxsj,cara[c],dataMap.bcTypeArr.normal, |
| @@ -2162,7 +2459,7 @@ var BaseFun = function() { | @@ -2162,7 +2459,7 @@ var BaseFun = function() { | ||
| 2162 | return rs; | 2459 | return rs; |
| 2163 | }, | 2460 | }, |
| 2164 | 2461 | ||
| 2165 | - isgfsjd01 : function(kssj,dataMap) { | 2462 | + isPeakTimeScope : function(kssj,dataMap) { |
| 2166 | var tag = false; | 2463 | var tag = false; |
| 2167 | if((dataMap.zgfsjd[0].st <= kssj && kssj<= dataMap.zgfsjd[0].ed ) || | 2464 | if((dataMap.zgfsjd[0].st <= kssj && kssj<= dataMap.zgfsjd[0].ed ) || |
| 2168 | ( dataMap.wgfsjd[0].st <= kssj && kssj <= dataMap.wgfsjd[0].ed)) | 2465 | ( dataMap.wgfsjd[0].st <= kssj && kssj <= dataMap.wgfsjd[0].ed)) |
| @@ -2205,38 +2502,9 @@ var BaseFun = function() { | @@ -2205,38 +2502,9 @@ var BaseFun = function() { | ||
| 2205 | } | 2502 | } |
| 2206 | return result; | 2503 | return result; |
| 2207 | }, | 2504 | }, |
| 2208 | - | ||
| 2209 | - splitBxRc02 : function(str) { | ||
| 2210 | - var list = new Array(),rsa = new Array(); | ||
| 2211 | - var gsgd = baseF.getBxLs(); | ||
| 2212 | - var bxrcAr = str.split(','); | ||
| 2213 | - for(var s = 0 ; s< bxrcAr.length;s++) { | ||
| 2214 | - var s1a = bxrcAr[s].split('/'); | ||
| 2215 | - var rs = parseInt(s1a[1]); | ||
| 2216 | - var fpcls = parseInt(s1a[2]); | ||
| 2217 | - var gsavg = parseInt(s1a[3]); | ||
| 2218 | - var gsgdIndex = 0,hoursV = 0.0,minueV='' ; | ||
| 2219 | - for(var g = 0 ; g < gsgd.length; g++) { | ||
| 2220 | - if(gsgd[g].type == s1a[0]) { | ||
| 2221 | - gsgdIndex = g; | ||
| 2222 | - hoursV = gsgd[g].hoursV; | ||
| 2223 | - minueV = gsgd[g].minueV; | ||
| 2224 | - } | ||
| 2225 | - } | ||
| 2226 | - list.push({'type':s1a[0], | ||
| 2227 | - 'rs':rs, | ||
| 2228 | - 'fpcls':fpcls, | ||
| 2229 | - 'hoursV':hoursV, | ||
| 2230 | - 'minueV':minueV, | ||
| 2231 | - 'gsavg' : gsavg}); | ||
| 2232 | - rsa.push(rs); | ||
| 2233 | - } | ||
| 2234 | - return {'data':list.sort(function(a,b){return b.rs-a.rs}),'rsa':rsa.sort().reverse()}; | ||
| 2235 | - }, | ||
| 2236 | - | ||
| 2237 | splitBxRc : function(str) { | 2505 | splitBxRc : function(str) { |
| 2238 | var list = new Array(),rsa = new Array();; | 2506 | var list = new Array(),rsa = new Array();; |
| 2239 | - var gsgd = baseF.getBxLs(); | 2507 | + var gsgd = baseF.getBcTypeAndWorkHuorsVConstant(); |
| 2240 | var bxrcAr = str.split(','); | 2508 | var bxrcAr = str.split(','); |
| 2241 | for(var s = 0 ; s< bxrcAr.length;s++) { | 2509 | for(var s = 0 ; s< bxrcAr.length;s++) { |
| 2242 | var s1a = bxrcAr[s].split('/'); | 2510 | var s1a = bxrcAr[s].split('/'); |
| @@ -2265,7 +2533,7 @@ var BaseFun = function() { | @@ -2265,7 +2533,7 @@ var BaseFun = function() { | ||
| 2265 | * | 2533 | * |
| 2266 | * @return 返回一个工时规定数组集合. | 2534 | * @return 返回一个工时规定数组集合. |
| 2267 | * */ | 2535 | * */ |
| 2268 | - getBxLs : function() { | 2536 | + getBcTypeAndWorkHuorsVConstant : function() { |
| 2269 | return [{'type':'六工一休','hoursV':6.66, 'minueV':'6:40'}, | 2537 | return [{'type':'六工一休','hoursV':6.66, 'minueV':'6:40'}, |
| 2270 | {'type':'五工一休','hoursV':6.85, 'minueV':'6:51'}, | 2538 | {'type':'五工一休','hoursV':6.85, 'minueV':'6:51'}, |
| 2271 | {'type':'四工一休','hoursV':7.14, 'minueV':'7:08'}, | 2539 | {'type':'四工一休','hoursV':7.14, 'minueV':'7:08'}, |
| @@ -2318,7 +2586,7 @@ var BaseFun = function() { | @@ -2318,7 +2586,7 @@ var BaseFun = function() { | ||
| 2318 | * @return : 返回一个数组对象。这里返回的是时刻表明细数据 | 2586 | * @return : 返回一个数组对象。这里返回的是时刻表明细数据 |
| 2319 | **/ | 2587 | **/ |
| 2320 | tzsmbcsj : function(list,smbcsj,sj,cl,zd,lbsj) { | 2588 | tzsmbcsj : function(list,smbcsj,sj,cl,zd,lbsj) { |
| 2321 | - var _obj = baseF.getsxAndxxbc(list); | 2589 | + var _obj = baseF.getUpAndDownBc(list); |
| 2322 | baseF.tcbc(_obj.sxbc,smbcsj[0].kssj,smbcsj[0].jssj);// 剔除上行不在时间范围内的班次 | 2590 | baseF.tcbc(_obj.sxbc,smbcsj[0].kssj,smbcsj[0].jssj);// 剔除上行不在时间范围内的班次 |
| 2323 | baseF.tcbc(_obj.xxbc,smbcsj[1].kssj,smbcsj[1].jssj);// 剔除下行不在时间范围内的班次 | 2591 | baseF.tcbc(_obj.xxbc,smbcsj[1].kssj,smbcsj[1].jssj);// 剔除下行不在时间范围内的班次 |
| 2324 | baseF.dzsmsj(_obj.xxbc,smbcsj[1].kssj,smbcsj[1].jssj,_obj.sxbc);// 调整下行首末班车时间 | 2592 | baseF.dzsmsj(_obj.xxbc,smbcsj[1].kssj,smbcsj[1].jssj,_obj.sxbc);// 调整下行首末班车时间 |
| @@ -2335,7 +2603,7 @@ var BaseFun = function() { | @@ -2335,7 +2603,7 @@ var BaseFun = function() { | ||
| 2335 | * @return : 返回一个数组对象。这里返回的是时刻表明细数据 | 2603 | * @return : 返回一个数组对象。这里返回的是时刻表明细数据 |
| 2336 | **/ | 2604 | **/ |
| 2337 | tzsmbcsj01 : function(list,smbcsj,sj,cl,zd,lbsj,dm) { | 2605 | tzsmbcsj01 : function(list,smbcsj,sj,cl,zd,lbsj,dm) { |
| 2338 | - var _obj = baseF.getsxAndxxbc(list,dm); | 2606 | + var _obj = baseF.getUpAndDownBc(list,dm); |
| 2339 | baseF.tcbc(_obj.sxbc,smbcsj[0].kssj,smbcsj[0].jssj ,_obj.xxbc);// 剔除上行不在时间范围内的班次 | 2607 | baseF.tcbc(_obj.sxbc,smbcsj[0].kssj,smbcsj[0].jssj ,_obj.xxbc);// 剔除上行不在时间范围内的班次 |
| 2340 | baseF.tcbc(_obj.xxbc,smbcsj[1].kssj,smbcsj[1].jssj,_obj.sxbc);// 剔除下行不在时间范围内的班次 | 2608 | baseF.tcbc(_obj.xxbc,smbcsj[1].kssj,smbcsj[1].jssj,_obj.sxbc);// 剔除下行不在时间范围内的班次 |
| 2341 | if(smbcsj[1].jssj < smbcsj[0].jssj ) { | 2609 | if(smbcsj[1].jssj < smbcsj[0].jssj ) { |
| @@ -2493,23 +2761,6 @@ var BaseFun = function() { | @@ -2493,23 +2761,6 @@ var BaseFun = function() { | ||
| 2493 | return tag; | 2761 | return tag; |
| 2494 | }, | 2762 | }, |
| 2495 | 2763 | ||
| 2496 | - getsxAndxxbc : function(json,dataMap) { | ||
| 2497 | - var upArray = new Array(),downArray = new Array(),qt = new Array(); | ||
| 2498 | - for(var j = 0 ; j< json.length ; j++) { | ||
| 2499 | - if(json[j].bcType== dataMap.bcTypeArr.normal || | ||
| 2500 | - json[j].bcType== dataMap.bcTypeArr.region || | ||
| 2501 | - json[j].bcType== dataMap.bcTypeArr.major || | ||
| 2502 | - json[j].bcType== dataMap.bcTypeArr.venting) { | ||
| 2503 | - if(json[j].xlDir == dataMap.dira[0]) | ||
| 2504 | - upArray.push(json[j]); | ||
| 2505 | - else if(json[j].xlDir == dataMap.dira[1]) | ||
| 2506 | - downArray.push(json[j]); | ||
| 2507 | - }else if(json[j].bcType == dataMap.bcTypeArr.cf) { | ||
| 2508 | - qt.push(json[j]); | ||
| 2509 | - } | ||
| 2510 | - } | ||
| 2511 | - return {'sxbc' : upArray,'xxbc' : downArray,'qt': qt}; | ||
| 2512 | - }, | ||
| 2513 | /** | 2764 | /** |
| 2514 | * @description : (TODO) 在同一块路牌下,根据发车序号进行顺序排序 | 2765 | * @description : (TODO) 在同一块路牌下,根据发车序号进行顺序排序 |
| 2515 | * | 2766 | * |
| @@ -2541,13 +2792,13 @@ var BaseFun = function() { | @@ -2541,13 +2792,13 @@ var BaseFun = function() { | ||
| 2541 | var ags = {'tcc_id':lastObj.tcc,'skbName':lastObj.ttinfo,'lineName':lastObj.xl+'_'}; | 2792 | var ags = {'tcc_id':lastObj.tcc,'skbName':lastObj.ttinfo,'lineName':lastObj.xl+'_'}; |
| 2542 | for(var t = 0 ; t<num;t++){ | 2793 | for(var t = 0 ; t<num;t++){ |
| 2543 | cctag = obj.configuration.dataMap.map.linePlayType=='1'? 0: baseF.getfx(1,cctag); | 2794 | cctag = obj.configuration.dataMap.map.linePlayType=='1'? 0: baseF.getfx(1,cctag); |
| 2544 | - var _xxsj = baseF.getxssj(obj.configuration.dataMap.zgfsjd, | 2795 | + var _xxsj = baseF.getByDirTravelTime(obj.configuration.dataMap.zgfsjd, |
| 2545 | obj.configuration.dataMap.wgfsjd, | 2796 | obj.configuration.dataMap.wgfsjd, |
| 2546 | kssj, | 2797 | kssj, |
| 2547 | obj.configuration.dataMap.pcxssjArr, | 2798 | obj.configuration.dataMap.pcxssjArr, |
| 2548 | obj.configuration.dataMap.gfxxsjArr,cctag);// 获取行驶时间 | 2799 | obj.configuration.dataMap.gfxxsjArr,cctag);// 获取行驶时间 |
| 2549 | // tzsj = obj.configuration.dataMap.ztjxA[cctag]; | 2800 | // tzsj = obj.configuration.dataMap.ztjxA[cctag]; |
| 2550 | - var tzjx = baseF.isgfsjd01(kssj,obj.configuration.dataMap) ? obj.configuration.dataMap.gftzsj[cctag] : obj.configuration.dataMap.dgtzsj[cctag]; | 2801 | + var tzjx = baseF.isPeakTimeScope(kssj,obj.configuration.dataMap) ? obj.configuration.dataMap.gftzsj[cctag] : obj.configuration.dataMap.dgtzsj[cctag]; |
| 2551 | var temptzsj = ((t == num-1) ? 0 : tzsj); | 2802 | var temptzsj = ((t == num-1) ? 0 : tzsj); |
| 2552 | /*var xs_tzsj = baseF.isLastbc(kssj,endTime,tzsj,_xxsj) ? 0 : tzsj;*/ | 2803 | /*var xs_tzsj = baseF.isLastbc(kssj,endTime,tzsj,_xxsj) ? 0 : tzsj;*/ |
| 2553 | jsonArray.push(baseF.getbcObj( kssj, | 2804 | jsonArray.push(baseF.getbcObj( kssj, |
| @@ -2643,7 +2894,7 @@ var BaseFun = function() { | @@ -2643,7 +2894,7 @@ var BaseFun = function() { | ||
| 2643 | for(var i = 0 ; i<numqs;i++) { | 2894 | for(var i = 0 ; i<numqs;i++) { |
| 2644 | cctag = obj.configuration.dataMap.map.linePlayType=='1' ? 0 : bf.getfx(fxTagDm,cctag); | 2895 | cctag = obj.configuration.dataMap.map.linePlayType=='1' ? 0 : bf.getfx(fxTagDm,cctag); |
| 2645 | fxTagDm = 1; | 2896 | fxTagDm = 1; |
| 2646 | - var _xxsj = bf.getxssj(obj.configuration.dataMap.zgfsjd, | 2897 | + var _xxsj = bf.getByDirTravelTime(obj.configuration.dataMap.zgfsjd, |
| 2647 | obj.configuration.dataMap.wgfsjd,kssj, | 2898 | obj.configuration.dataMap.wgfsjd,kssj, |
| 2648 | obj.configuration.dataMap.pcxssjArr, | 2899 | obj.configuration.dataMap.pcxssjArr, |
| 2649 | obj.configuration.dataMap.gfxxsjArr,cctag);// 获取行驶时间 | 2900 | obj.configuration.dataMap.gfxxsjArr,cctag);// 获取行驶时间 |
| @@ -2743,7 +2994,7 @@ var BaseFun = function() { | @@ -2743,7 +2994,7 @@ var BaseFun = function() { | ||
| 2743 | /*if(parseInt((baseF.getDateTime(bcArr[l+1].fcsj) - baseF.getDateTime(bcArr[l].fcsj))/60000) ==_fcjx) | 2994 | /*if(parseInt((baseF.getDateTime(bcArr[l+1].fcsj) - baseF.getDateTime(bcArr[l].fcsj))/60000) ==_fcjx) |
| 2744 | continue;*/ | 2995 | continue;*/ |
| 2745 | bcArr[l].fcsj = baseF.getTimeStr(fcnosj); | 2996 | bcArr[l].fcsj = baseF.getTimeStr(fcnosj); |
| 2746 | - var _xxsj = baseF.getxssj(dataMap.zgfsjd, | 2997 | + var _xxsj = baseF.getByDirTravelTime(dataMap.zgfsjd, |
| 2747 | dataMap.wgfsjd,fcnosj,dataMap.pcxssjArr, | 2998 | dataMap.wgfsjd,fcnosj,dataMap.pcxssjArr, |
| 2748 | dataMap.gfxxsjArr,baseF.dirDmToIndex(bcArr[l].xlDir));// 获取行驶时间 | 2999 | dataMap.gfxxsjArr,baseF.dirDmToIndex(bcArr[l].xlDir));// 获取行驶时间 |
| 2749 | bcArr[l].bcsj = _xxsj; | 3000 | bcArr[l].bcsj = _xxsj; |
| @@ -2762,7 +3013,7 @@ var BaseFun = function() { | @@ -2762,7 +3013,7 @@ var BaseFun = function() { | ||
| 2762 | ddsj.setHours(fcsj.getHours()); | 3013 | ddsj.setHours(fcsj.getHours()); |
| 2763 | ddsj.setMinutes(fcsj.getMinutes()+_fcjx); | 3014 | ddsj.setMinutes(fcsj.getMinutes()+_fcjx); |
| 2764 | sjdbcArr[l].fcsj = baseF.getTimeStr(ddsj); | 3015 | sjdbcArr[l].fcsj = baseF.getTimeStr(ddsj); |
| 2765 | - var _xxsj = baseF.getxssj(dataMap.zgfsjd, | 3016 | + var _xxsj = baseF.getByDirTravelTime(dataMap.zgfsjd, |
| 2766 | dataMap.wgfsjd,ddsj,dataMap.pcxssjArr, | 3017 | dataMap.wgfsjd,ddsj,dataMap.pcxssjArr, |
| 2767 | dataMap.gfxxsjArr,baseF.dirDmToIndex(sjdbcArr[l].xlDir));// 获取行驶时间 | 3018 | dataMap.gfxxsjArr,baseF.dirDmToIndex(sjdbcArr[l].xlDir));// 获取行驶时间 |
| 2768 | sjdbcArr[l].bcsj = _xxsj; | 3019 | sjdbcArr[l].bcsj = _xxsj; |
| @@ -2835,7 +3086,7 @@ var BaseFun = function() { | @@ -2835,7 +3086,7 @@ var BaseFun = function() { | ||
| 2835 | xgbc.fcsj = baseF.getTimeStr(dqbcddsj);// 修改下个班次的发车时间. | 3086 | xgbc.fcsj = baseF.getTimeStr(dqbcddsj);// 修改下个班次的发车时间. |
| 2836 | var _xxsj = xgbc.bcsj; | 3087 | var _xxsj = xgbc.bcsj; |
| 2837 | /*if(!tagb && type=='cf') { | 3088 | /*if(!tagb && type=='cf') { |
| 2838 | - _xxsj = baseF.getxssj(dataMap.zgfsjd, | 3089 | + _xxsj = baseF.getByDirTravelTime(dataMap.zgfsjd, |
| 2839 | dataMap.wgfsjd,dqbcddsj,dataMap.pcxssjArr, | 3090 | dataMap.wgfsjd,dqbcddsj,dataMap.pcxssjArr, |
| 2840 | dataMap.gfxxsjArr,baseF.dirDmToIndex(xgbc.xlDir));// 获取行驶时间 | 3091 | dataMap.gfxxsjArr,baseF.dirDmToIndex(xgbc.xlDir));// 获取行驶时间 |
| 2841 | }*/ | 3092 | }*/ |
| @@ -2986,7 +3237,7 @@ var BaseFun = function() { | @@ -2986,7 +3237,7 @@ var BaseFun = function() { | ||
| 2986 | var cf = 0; | 3237 | var cf = 0; |
| 2987 | while(d1<d2) { | 3238 | while(d1<d2) { |
| 2988 | dir = baseF.getfx(1,dir); | 3239 | dir = baseF.getfx(1,dir); |
| 2989 | - var dx = baseF.getxssj(zg,wa,d1,pc,gf,dir) + ztjxA[dir]; | 3240 | + var dx = baseF.getByDirTravelTime(zg,wa,d1,pc,gf,dir) + ztjxA[dir]; |
| 2990 | if(d1> new Date (baseF.getCFDate(10,30)) && | 3241 | if(d1> new Date (baseF.getCFDate(10,30)) && |
| 2991 | d1<new Date (baseF.getCFDate(12,0)) && cf <=0) { | 3242 | d1<new Date (baseF.getCFDate(12,0)) && cf <=0) { |
| 2992 | dx = dx + 20; | 3243 | dx = dx + 20; |
src/main/resources/static/pages/base/timesmodel/js/gantt.js
| @@ -65,7 +65,7 @@ | @@ -65,7 +65,7 @@ | ||
| 65 | // 采用班型人次数据获取渲染时刻表明细图形的配置参数数据. | 65 | // 采用班型人次数据获取渲染时刻表明细图形的配置参数数据. |
| 66 | // data = BaseFun.BXPplaceClassesTime(stopAraay,CSMap.maxCar,map,seMap,dataMap,getylp(CSMap.maxCar).lpNoA); | 66 | // data = BaseFun.BXPplaceClassesTime(stopAraay,CSMap.maxCar,map,seMap,dataMap,getylp(CSMap.maxCar).lpNoA); |
| 67 | // data = BaseFun.BXPplaceClassesTime01(stopAraay,CSMap.maxCar,map,seMap,dataMap,getylp(CSMap.maxCar).lpNoA); | 67 | // data = BaseFun.BXPplaceClassesTime01(stopAraay,CSMap.maxCar,map,seMap,dataMap,getylp(CSMap.maxCar).lpNoA); |
| 68 | - data = BaseFun.BXPplaceClassesTime02(stopAraay,CSMap.maxCar,map,seMap,dataMap,getylp(CSMap.maxCar).lpNoA); | 68 | + data = BaseFun.BXPplaceClassesTime02(stopAraay,CSMap.maxCar,map,seMap,dataMap); |
| 69 | } | 69 | } |
| 70 | 70 | ||
| 71 | }else { | 71 | }else { |
src/main/resources/static/pages/forms/mh_sj/scheduleDaily/scheduleDaily_mh.html
0 → 100644
| 1 | +<style type="text/css"> | ||
| 2 | + .table-bordered { | ||
| 3 | + border: 1px solid; } | ||
| 4 | + .table-bordered > thead > tr > th, | ||
| 5 | + .table-bordered > thead > tr > td, | ||
| 6 | + .table-bordered > tbody > tr > th, | ||
| 7 | + .table-bordered > tbody > tr > td, | ||
| 8 | + .table-bordered > tfoot > tr > th, | ||
| 9 | + .table-bordered > tfoot > tr > td { | ||
| 10 | + border: 1px solid; | ||
| 11 | + text-align: center; } | ||
| 12 | + .table-bordered > thead > tr > th, | ||
| 13 | + .table-bordered > thead > tr > td { | ||
| 14 | + border-bottom-width: 2px; } | ||
| 15 | + | ||
| 16 | + .table > tbody + tbody { | ||
| 17 | + border-top: 1px solid; } | ||
| 18 | + | ||
| 19 | + #forms > thead > tr> td >span{ | ||
| 20 | + | ||
| 21 | + width: 5px; | ||
| 22 | +word-wrap: break-word; | ||
| 23 | +/* letter-spacing: 20px; */ | ||
| 24 | + } | ||
| 25 | + | ||
| 26 | + #forms tr> td >label{ | ||
| 27 | + word-break: keep-all;white-space:nowrap; | ||
| 28 | + } | ||
| 29 | +</style> | ||
| 30 | + | ||
| 31 | +<div class="page-head"> | ||
| 32 | + <div class="page-title"> | ||
| 33 | + <h1>调度日报</h1> | ||
| 34 | + </div> | ||
| 35 | +</div> | ||
| 36 | + | ||
| 37 | +<div class="row"> | ||
| 38 | + <div class="col-md-12"> | ||
| 39 | + <div class="portlet light porttlet-fit bordered"> | ||
| 40 | + <div class="portlet-title"> | ||
| 41 | + <form class="form-inline" action=""> | ||
| 42 | + <div style="display: inline-block; margin-left: 33px;" id="gsdmDiv_ddrb"> | ||
| 43 | + <span class="item-label" style="width: 80px;">公司: </span> | ||
| 44 | + <select class="form-control" name="company" id="gsdmDdrb" style="width: 180px;"></select> | ||
| 45 | + </div> | ||
| 46 | + <div style="display: inline-block; margin-left: 24px;" id="fgsdmDiv_ddrb"> | ||
| 47 | + <span class="item-label" style="width: 80px;">分公司: </span> | ||
| 48 | + <select class="form-control" name="subCompany" id="fgsdmDdrb" style="width: 180px;"></select> | ||
| 49 | + </div> | ||
| 50 | + <div style="margin-top: 2px"></div> | ||
| 51 | + <div style="display: inline-block;"> | ||
| 52 | + <span class="item-label" style="width: 80px;margin-left: 33px;">线路: </span> | ||
| 53 | + <select class="form-control" name="line" id="line" style="width: 180px;"></select> | ||
| 54 | + </div> | ||
| 55 | + <div style="display: inline-block;margin-left: 24px;"> | ||
| 56 | + <span class="item-label" style="width: 80px;"> 时间: </span> | ||
| 57 | + <input class="form-control" type="text" id="date" style="width: 180px;"/> | ||
| 58 | + </div> | ||
| 59 | + <div class="form-group"> | ||
| 60 | + <input class="btn btn-default" type="button" id="query" value="查询"/> | ||
| 61 | +<!-- <input class="btn btn-default" type="button" id="month" value="按月查询"/> --> | ||
| 62 | + <input class="btn btn-default" type="button" id="export" value="导出"/> | ||
| 63 | + </div> | ||
| 64 | + </form> | ||
| 65 | + </div> | ||
| 66 | + <div class="portlet-body"> | ||
| 67 | + <div class="table-container" id="ddrbBody" style="margin-top: 10px;overflow:auto;min-width: 906px"> | ||
| 68 | + <label>日期:<span id="rqxs"></span> 早高峰:6:31~8:30 晚高峰:16:01~18:00</label> | ||
| 69 | + <br/><label>计划+临加-少驶=<span id="jls"></span> 计算机实驶:<span id="jsjss"></span></label> | ||
| 70 | + <table class="table table-bordered table-hover table-checkable" id="forms"> | ||
| 71 | + <thead> | ||
| 72 | + <tr> | ||
| 73 | + <th colspan="40">线路调度日报</th> | ||
| 74 | + </tr> | ||
| 75 | + <tr> | ||
| 76 | + <td rowspan="3"><span >路线名</span></td> | ||
| 77 | + <td colspan="16"><c>全日</c>营运里程(公里)</td> | ||
| 78 | + <td colspan="15"><c>全日</c>营运班次</td> | ||
| 79 | + <td colspan="9">大间隔情况</td> | ||
| 80 | + </tr> | ||
| 81 | + <tr> | ||
| 82 | + <td rowspan="2"><span >计划</span></td> | ||
| 83 | + <td rowspan="2"><span >实驶</span></td> | ||
| 84 | + <td rowspan="2"><span>少驶公里</span></td> | ||
| 85 | + <td rowspan="2"><span>少驶班次</span></td> | ||
| 86 | + <td colspan="11">少驶原因(公里)</td> | ||
| 87 | + <td rowspan="2"><span >临加公里</span></td> | ||
| 88 | + <td colspan="3">计划班次</td> | ||
| 89 | + <td colspan="3">实际班次</td> | ||
| 90 | + <td colspan="3">临加班次</td> | ||
| 91 | + <td colspan="3">放站班次</td> | ||
| 92 | + <td colspan="3">调头班次</td> | ||
| 93 | + <td colspan="3">发生次数</td> | ||
| 94 | + <td rowspan="2">最大间隔时间(分)</td> | ||
| 95 | + <td colspan="5" rowspan="2">原因</td> | ||
| 96 | + </tr> | ||
| 97 | + <tr> | ||
| 98 | + <td><span >路阻</span></td> | ||
| 99 | + <td><span>吊慢</span></td> | ||
| 100 | + <td><span >故障</span></td> | ||
| 101 | + <td><span >纠纷</span></td> | ||
| 102 | + <td><span >肇事</span></td> | ||
| 103 | + <td><span>缺人</span></td> | ||
| 104 | + <td><span>缺车</span></td> | ||
| 105 | + <td><span >客稀</span></td> | ||
| 106 | + <td><span>气候</span></td> | ||
| 107 | + <td><span>援外</span></td> | ||
| 108 | + <td><span>其他</span></td> | ||
| 109 | + <td><span ><c>全日</c></span></td> | ||
| 110 | + <td><span >早高峰</span></td> | ||
| 111 | + <td><span>晚高峰</span></td> | ||
| 112 | + <td><span><c>全日</c></span></td> | ||
| 113 | + <td><span>早高峰</span></td> | ||
| 114 | + <td><span>晚高峰</span></td> | ||
| 115 | + <td><span><c>全日</c></span></td> | ||
| 116 | + <td><span>早高峰</span></td> | ||
| 117 | + <td><span>晚高峰</span></td> | ||
| 118 | + <td><span><c>全日</c></span></td> | ||
| 119 | + <td><span>早高峰</span></td> | ||
| 120 | + <td><span>晚高峰</span></td> | ||
| 121 | + <td><span><c>全日</c></span></td> | ||
| 122 | + <td><span>早高峰</span></td> | ||
| 123 | + <td><span>晚高峰</span></td> | ||
| 124 | + <td><span><c>全日</c></span></td> | ||
| 125 | + <td><span>早高峰</span></td> | ||
| 126 | + <td><span>晚高峰</span></td> | ||
| 127 | + </tr> | ||
| 128 | + </thead> | ||
| 129 | + | ||
| 130 | + <tbody class="scheduleDaily_1"> | ||
| 131 | + | ||
| 132 | + </tbody> | ||
| 133 | + <tr> | ||
| 134 | + <td colspan="40"> </td> | ||
| 135 | + </tr> | ||
| 136 | + <!-- <tr> | ||
| 137 | + <td colspan="40">合计</td> | ||
| 138 | + </tr> | ||
| 139 | + <tr> | ||
| 140 | + <td>售票</td> | ||
| 141 | + <td colspan="2">1元</td> | ||
| 142 | + <td colspan="2">2元</td> | ||
| 143 | + <td colspan="2">3元</td> | ||
| 144 | + <td colspan="2">4元</td> | ||
| 145 | + <td colspan="2">5元</td> | ||
| 146 | + <td colspan="2">6元</td> | ||
| 147 | + <td colspan="2">7元</td> | ||
| 148 | + <td colspan="2">8元</td> | ||
| 149 | + <td colspan="2">9元</td> | ||
| 150 | + <td colspan="2">10元</td> | ||
| 151 | + <td colspan="2"> </td> | ||
| 152 | + <td colspan="2">合计张数</td> | ||
| 153 | + <td colspan="2"> </td> | ||
| 154 | + <td colspan="2">预售票</td> | ||
| 155 | + <td colspan="2">1元</td> | ||
| 156 | + <td colspan="2">1.5元</td> | ||
| 157 | + <td colspan="2">合计张数</td> | ||
| 158 | + <td colspan="5"> </td> | ||
| 159 | + </tr> | ||
| 160 | + <tr> | ||
| 161 | + <td>张数</td> | ||
| 162 | + <td colspan="2"> </td> | ||
| 163 | + <td colspan="2"> </td> | ||
| 164 | + <td colspan="2"> </td> | ||
| 165 | + <td colspan="2"> </td> | ||
| 166 | + <td colspan="2"> </td> | ||
| 167 | + <td colspan="2"> </td> | ||
| 168 | + <td colspan="2"> </td> | ||
| 169 | + <td colspan="2"> </td> | ||
| 170 | + <td colspan="2"> </td> | ||
| 171 | + <td colspan="2"> </td> | ||
| 172 | + <td colspan="2"> </td> | ||
| 173 | + <td colspan="2">合计金额</td> | ||
| 174 | + <td colspan="2"> </td> | ||
| 175 | + <td colspan="2">张数</td> | ||
| 176 | + <td colspan="2"> </td> | ||
| 177 | + <td colspan="2"> </td> | ||
| 178 | + <td colspan="2">合计金额</td> | ||
| 179 | + <td colspan="5"> </td> | ||
| 180 | + </tr> | ||
| 181 | + <tr> | ||
| 182 | + <td colspan="40"> </td> | ||
| 183 | + </tr> --> | ||
| 184 | + <tr> | ||
| 185 | + <td colspan="2"><label>路牌</label></td> | ||
| 186 | + <td colspan="2"><label>车号</label></td> | ||
| 187 | + <td> <label>司早</label></td> | ||
| 188 | + <td><label>售早</label></td> | ||
| 189 | + <td><label>司晚</label></td> | ||
| 190 | + <td><label>售晚</label></td> | ||
| 191 | + <td colspan="2"><label>路牌</label></td> | ||
| 192 | + <td colspan="2"><label>车号</label></td> | ||
| 193 | + <td><label>司早</label></td> | ||
| 194 | + <td><label>售早</label></td> | ||
| 195 | + <td><label>司晚</label></td> | ||
| 196 | + <td><label>售晚</label></td> | ||
| 197 | + <td colspan="2"><label>路牌</label></td> | ||
| 198 | + <td colspan="2"><label>车号</label></td> | ||
| 199 | + <td><label>司早</label></td> | ||
| 200 | + <td><label>售早</label></td> | ||
| 201 | + <td><label>司晚</label></td> | ||
| 202 | + <td><label>售晚</label></td> | ||
| 203 | + <td colspan="2"><label>路牌</label></td> | ||
| 204 | + <td colspan="2"><label>车号</label></td> | ||
| 205 | + <td><label>司早</label></td> | ||
| 206 | + <td><label>售早</label></td> | ||
| 207 | + <td><label>司晚</label></td> | ||
| 208 | + <td><label>售晚</label></td> | ||
| 209 | + <td colspan="2"><label>路牌</label></td> | ||
| 210 | + <td colspan="2"><label>车号</label></td> | ||
| 211 | + <td><label>司早</label></td> | ||
| 212 | + <td><label>售早</label></td> | ||
| 213 | + <td><label>司晚</label></td> | ||
| 214 | + <td><label>售晚</label></td> | ||
| 215 | + </tr> | ||
| 216 | + <tbody class="scheduleDaily_2"> | ||
| 217 | + | ||
| 218 | + </tbody> | ||
| 219 | + <tr> | ||
| 220 | + <td colspan="40"> </td> | ||
| 221 | + </tr> | ||
| 222 | + <tr> | ||
| 223 | + <td rowspan="2">路牌</td> | ||
| 224 | + <td colspan="2" rowspan="2" style="word-break: keep-all;white-space:nowrap;">起点站</td> | ||
| 225 | + <td colspan="4">到达时间</td> | ||
| 226 | + <td colspan="4">发车时间</td> | ||
| 227 | + <td colspan="2" rowspan="2">备注</td> | ||
| 228 | + <td rowspan="2">路牌</td> | ||
| 229 | + <td colspan="2" rowspan="2" style="word-break: keep-all;white-space:nowrap;">起点站</td> | ||
| 230 | + <td colspan="4">到达时间</td> | ||
| 231 | + <td colspan="4">发车时间</td> | ||
| 232 | + <td colspan="2" rowspan="2">备注</td> | ||
| 233 | + <td rowspan="2">路牌</td> | ||
| 234 | + <td colspan="2" rowspan="2" style="word-break: keep-all;white-space:nowrap;">起点站</td> | ||
| 235 | + <td colspan="4">到达时间</td> | ||
| 236 | + <td colspan="4">发车时间</td> | ||
| 237 | + <td colspan="2" rowspan="2">备注</td> | ||
| 238 | + <td> </td> | ||
| 239 | + </tr> | ||
| 240 | + <tr> | ||
| 241 | + <td>应到</td> | ||
| 242 | + <td>实到</td> | ||
| 243 | + <td>快</td> | ||
| 244 | + <td>慢</td> | ||
| 245 | + <td>应发</td> | ||
| 246 | + <td>实发</td> | ||
| 247 | + <td>快</td> | ||
| 248 | + <td>慢</td> | ||
| 249 | + <td>应到</td> | ||
| 250 | + <td>实到</td> | ||
| 251 | + <td>快</td> | ||
| 252 | + <td>慢</td> | ||
| 253 | + <td>应发</td> | ||
| 254 | + <td>实发</td> | ||
| 255 | + <td>快</td> | ||
| 256 | + <td>慢</td> | ||
| 257 | + <td>应到</td> | ||
| 258 | + <td>实到</td> | ||
| 259 | + <td>快</td> | ||
| 260 | + <td>慢</td> | ||
| 261 | + <td>应发</td> | ||
| 262 | + <td>实发</td> | ||
| 263 | + <td>快</td> | ||
| 264 | + <td>慢</td> | ||
| 265 | + <td> </td> | ||
| 266 | + </tr> | ||
| 267 | + <tbody class="scheduleDaily_3"> | ||
| 268 | + | ||
| 269 | + </tbody> | ||
| 270 | + </table> | ||
| 271 | + </div> | ||
| 272 | + </div> | ||
| 273 | + </div> | ||
| 274 | + </div> | ||
| 275 | +</div> | ||
| 276 | + | ||
| 277 | +<script> | ||
| 278 | + $(function(){ | ||
| 279 | + // 关闭左侧栏 | ||
| 280 | + if (!$('body').hasClass('page-sidebar-closed')) | ||
| 281 | + $('.menu-toggler.sidebar-toggler').click(); | ||
| 282 | + | ||
| 283 | + $("#date").datetimepicker({ | ||
| 284 | + format : 'YYYY-MM-DD', | ||
| 285 | + locale : 'zh-cn' | ||
| 286 | + }); | ||
| 287 | + var d = new Date(); | ||
| 288 | + var year = d.getFullYear(); | ||
| 289 | + var month = d.getMonth() + 1; | ||
| 290 | + var day = d.getDate(); | ||
| 291 | + if(month < 10) | ||
| 292 | + month = "0" + month; | ||
| 293 | + if(day < 10) | ||
| 294 | + day = "0" + day; | ||
| 295 | + $("#date").val(year + "-" + month + "-" + day); | ||
| 296 | + | ||
| 297 | + $("#ddrbBody").height($(window).height()-100); | ||
| 298 | + /* $.get('/basic/lineCode2Name',function(result){ | ||
| 299 | + var data=[]; | ||
| 300 | + | ||
| 301 | + for(var code in result){ | ||
| 302 | + data.push({id: code, text: result[code]}); | ||
| 303 | + } | ||
| 304 | + initPinYinSelect2('#line',data,''); | ||
| 305 | + | ||
| 306 | + }) */ | ||
| 307 | + var fage=false; | ||
| 308 | + var obj = []; | ||
| 309 | + var xlList; | ||
| 310 | + $.get('/report/lineList',function(result){ | ||
| 311 | + xlList=result; | ||
| 312 | + $.get('/user/companyData', function(result){ | ||
| 313 | + obj = result; | ||
| 314 | + var options = ''; | ||
| 315 | + for(var i = 0; i < obj.length; i++){ | ||
| 316 | + options += '<option value="'+obj[i].companyCode+'">'+obj[i].companyName+'</option>'; | ||
| 317 | + } | ||
| 318 | + | ||
| 319 | + if(obj.length ==0){ | ||
| 320 | + $("#gsdmDiv_ddrb").css('display','none'); | ||
| 321 | + }else if(obj.length ==1){ | ||
| 322 | + $("#gsdmDiv_ddrb").css('display','none'); | ||
| 323 | + if(obj[0].children.length == 1 || obj[0].children.length ==0) | ||
| 324 | + $('#fgsdmDiv_ddrb').css('display','none'); | ||
| 325 | + } | ||
| 326 | + $('#gsdmDdrb').html(options); | ||
| 327 | + updateCompany(); | ||
| 328 | + }); | ||
| 329 | + }) | ||
| 330 | + $("#gsdmDdrb").on("change",updateCompany); | ||
| 331 | + function updateCompany(){ | ||
| 332 | + var company = $('#gsdmDdrb').val(); | ||
| 333 | + var options = ''; | ||
| 334 | + for(var i = 0; i < obj.length; i++){ | ||
| 335 | + if(obj[i].companyCode == company){ | ||
| 336 | + var children = obj[i].children; | ||
| 337 | + for(var j = 0; j < children.length; j++){ | ||
| 338 | + options += '<option value="'+children[j].code+'">'+children[j].name+'</option>'; | ||
| 339 | + } | ||
| 340 | + } | ||
| 341 | + } | ||
| 342 | + $('#fgsdmDdrb').html(options); | ||
| 343 | + initXl(); | ||
| 344 | + } | ||
| 345 | + $("#fgsdmDdrb").on("change",initXl); | ||
| 346 | + function initXl(){ | ||
| 347 | + var data=[]; | ||
| 348 | + if(fage){ | ||
| 349 | + $("#line").select2("destroy").html(''); | ||
| 350 | + } | ||
| 351 | + var fgs=$('#fgsdmDdrb').val(); | ||
| 352 | + var gs=$('#gsdmDdrb').val(); | ||
| 353 | + for(var i=0;i<xlList.length;i++){ | ||
| 354 | + if(gs!=""){ | ||
| 355 | + if(fgs!=""){ | ||
| 356 | + if(xlList[i]["fgsbm"]==fgs && xlList[i]["gsbm"]==gs){ | ||
| 357 | + data.push({id: xlList[i]["xlbm"], text: xlList[i]["xlname"]}); | ||
| 358 | + } | ||
| 359 | + }else{ | ||
| 360 | + if(xlList[i]["gsbm"]==gs){ | ||
| 361 | + data.push({id: xlList[i]["xlbm"], text: xlList[i]["xlname"]}); | ||
| 362 | + } | ||
| 363 | + } | ||
| 364 | + } | ||
| 365 | + } | ||
| 366 | + initPinYinSelect2('#line',data,''); | ||
| 367 | + fage=true; | ||
| 368 | + } | ||
| 369 | + $('#export').attr('disabled', "true"); | ||
| 370 | + | ||
| 371 | + var line = $("#line").val(); | ||
| 372 | + var xlName = $("#select2-line-container").html(); | ||
| 373 | + var date = $("#date").val(); | ||
| 374 | + | ||
| 375 | + function getTime(list){ | ||
| 376 | + $.each(list, function(i, obj) { | ||
| 377 | + if(obj.zdsj != null && obj.zdsjActual != null ){ | ||
| 378 | + var zdsjActual = (obj.zdsjActual).split(":"); | ||
| 379 | + var zdsj = (obj.zdsj).split(":"); | ||
| 380 | + if(zdsjActual[0]*60+Number(zdsjActual[1]) > zdsj[0]*60+Number(zdsj[1])){ | ||
| 381 | + obj["slow"] = (zdsjActual[0]*60+Number(zdsjActual[1])) - (zdsj[0]*60+Number(zdsj[1])); | ||
| 382 | + } | ||
| 383 | + else if(zdsjActual[0]*60+Number(zdsjActual[1]) < zdsj[0]*60+Number(zdsj[1])){ | ||
| 384 | + obj["fast"] = (zdsj[0]*60+Number(zdsj[1])) - (zdsjActual[0]*60+Number(zdsjActual[1])); | ||
| 385 | + } | ||
| 386 | + } | ||
| 387 | + | ||
| 388 | + if(obj.fcsj != null && obj.fcsjActual != null ){ | ||
| 389 | + var fcsjActual = (obj.fcsjActual).split(":"); | ||
| 390 | + var fcsj = (obj.fcsj).split(":"); | ||
| 391 | + if(fcsjActual[0]*60+Number(fcsjActual[1]) > fcsj[0]*60+Number(fcsj[1])){ | ||
| 392 | + obj["slow0"] = (fcsjActual[0]*60+Number(fcsjActual[1])) - (fcsj[0]*60+Number(fcsj[1])); | ||
| 393 | + } | ||
| 394 | + else if(fcsjActual[0]*60+Number(fcsjActual[1]) < fcsj[0]*60+Number(fcsj[1])){ | ||
| 395 | + obj["fast0"] = (fcsj[0]*60+Number(fcsj[1])) - (fcsjActual[0]*60+Number(fcsjActual[1])); | ||
| 396 | + } | ||
| 397 | + } | ||
| 398 | + }); | ||
| 399 | + } | ||
| 400 | + //查询 | ||
| 401 | + $("#query").on('click',function(){ | ||
| 402 | + line = $("#line").val(); | ||
| 403 | + xlName = $("#select2-line-container").html(); | ||
| 404 | + date = $("#date").val(); | ||
| 405 | + $("#rqxs").html(date); | ||
| 406 | + if(date == null || date.length == 0){ | ||
| 407 | + layer.msg("请选择时间"); | ||
| 408 | + return; | ||
| 409 | + } | ||
| 410 | + $("#ddrbBody").height($(window).height()-100); | ||
| 411 | + $("c").html("全日"); | ||
| 412 | + $("#export").removeAttr("disabled"); | ||
| 413 | + $get('/realSchedule/statisticsDaily_mh_2',{line:line,date:date,xlName:xlName,type:"query"},function(result){ | ||
| 414 | + var scheduleDaily_1 = template('scheduleDaily_1',{list:result}); | ||
| 415 | + $("#jls").html(result[0].jls); | ||
| 416 | + $("#jsjss").html(result[0].sjgl); | ||
| 417 | + $('#forms .scheduleDaily_1').html(scheduleDaily_1); | ||
| 418 | + }); | ||
| 419 | + $.get('/realSchedule/queryUserInfo',{line:line,date:date,state:2,type:"query"},function(result){ | ||
| 420 | + var scheduleDaily_2 = template('scheduleDaily_2',{list:result}); | ||
| 421 | + $('#forms .scheduleDaily_2').html(scheduleDaily_2); | ||
| 422 | + }); | ||
| 423 | + $.get('/realSchedule/realScheduleList_mh_2',{line:line,date:date,type:"query"},function(result){ | ||
| 424 | + getTime(result); | ||
| 425 | + var scheduleDaily_3 = template('scheduleDaily_3',{list:result}); | ||
| 426 | + $('#forms .scheduleDaily_3').html(scheduleDaily_3); | ||
| 427 | + }); | ||
| 428 | + | ||
| 429 | + }); | ||
| 430 | + | ||
| 431 | + //按月查询 | ||
| 432 | + /* $("#month").on('click',function(){ | ||
| 433 | + line = $("#line").val(); | ||
| 434 | + xlName = $("#select2-line-container").html(); | ||
| 435 | + date = $("#date").val(); | ||
| 436 | + if(date == null || date.length == 0){ | ||
| 437 | + layer.msg("请选择时间"); | ||
| 438 | + return; | ||
| 439 | + } | ||
| 440 | + date = date.substring(0, 7); | ||
| 441 | + $("c").html("全月"); | ||
| 442 | + $("#export").removeAttr("disabled"); | ||
| 443 | + $get('/realSchedule/statisticsDaily',{line:line,date:date,xlName:xlName,type:"query"},function(result){ | ||
| 444 | + var scheduleDaily_1 = template('scheduleDaily_1',{list:result}); | ||
| 445 | + $('#forms .scheduleDaily_1').html(scheduleDaily_1); | ||
| 446 | + }); | ||
| 447 | + $('#forms .scheduleDaily_2').html(""); | ||
| 448 | + $('#forms .scheduleDaily_3').html(""); | ||
| 449 | + | ||
| 450 | + }); */ | ||
| 451 | + | ||
| 452 | + $("#export").on("click",function(){ | ||
| 453 | + var params = {}; | ||
| 454 | + if(date == null || date.length == 0){ | ||
| 455 | + layer.msg("请选择时间"); | ||
| 456 | + return; | ||
| 457 | + } | ||
| 458 | + params['line'] = line; | ||
| 459 | + params['date'] = date; | ||
| 460 | + params['xlName'] = xlName; | ||
| 461 | + params['type'] = "export"; | ||
| 462 | + params['state'] = '2'; | ||
| 463 | + $get('/realSchedule/scheduleDailyExport', params, function(result){ | ||
| 464 | + if(date.length == 10) | ||
| 465 | + window.open("/downloadFile/download?fileName=调度日报"+moment(date).format("YYYYMMDD")); | ||
| 466 | + else | ||
| 467 | + window.open("/downloadFile/download?fileName=调度日报"+moment(date).format("YYYYMM")); | ||
| 468 | + }); | ||
| 469 | + }); | ||
| 470 | + | ||
| 471 | + }); | ||
| 472 | +</script> | ||
| 473 | +<script type="text/html" id="scheduleDaily_1"> | ||
| 474 | + {{each list as obj i}} | ||
| 475 | + <tr > | ||
| 476 | + <td>{{obj.xlName}}</td> | ||
| 477 | + <td>{{obj.jhlc}}</td> | ||
| 478 | + <td>{{obj.sjgl}}</td> | ||
| 479 | + <td>{{obj.ssgl}}</td> | ||
| 480 | + <td>{{obj.ssbc}}</td> | ||
| 481 | + <td>{{obj.ssgl_lz}}</td> | ||
| 482 | + <td>{{obj.ssgl_dm}}</td> | ||
| 483 | + <td>{{obj.ssgl_gz}}</td> | ||
| 484 | + <td>{{obj.ssgl_jf}}</td> | ||
| 485 | + <td>{{obj.ssgl_zs}}</td> | ||
| 486 | + <td>{{obj.ssgl_qr}}</td> | ||
| 487 | + <td>{{obj.ssgl_qc}}</td> | ||
| 488 | + <td>{{obj.ssgl_kx}}</td> | ||
| 489 | + <td>{{obj.ssgl_qh}}</td> | ||
| 490 | + <td>{{obj.ssgl_yw}}</td> | ||
| 491 | + <td>{{obj.ssgl_other}}</td> | ||
| 492 | + <td>{{obj.ljgl}}</td> | ||
| 493 | + <td>{{obj.jhbc}}</td> | ||
| 494 | + <td>{{obj.jhbc_m}}</td> | ||
| 495 | + <td>{{obj.jhbc_a}}</td> | ||
| 496 | + <td>{{obj.sjbc}}</td> | ||
| 497 | + <td>{{obj.sjbc_m}}</td> | ||
| 498 | + <td>{{obj.sjbc_a}}</td> | ||
| 499 | + <td>{{obj.ljbc}}</td> | ||
| 500 | + <td>{{obj.ljbc_m}}</td> | ||
| 501 | + <td>{{obj.ljbc_a}}</td> | ||
| 502 | + <td>{{obj.fzbc}}</td> | ||
| 503 | + <td>{{obj.fzbc_m}}</td> | ||
| 504 | + <td>{{obj.fzbc_a}}</td> | ||
| 505 | + <td>{{obj.dtbc}}</td> | ||
| 506 | + <td>{{obj.dtbc_m}}</td> | ||
| 507 | + <td>{{obj.dtbc_a}}</td> | ||
| 508 | + <td>{{obj.djg}}</td> | ||
| 509 | + <td>{{obj.djg_m}}</td> | ||
| 510 | + <td>{{obj.djg_a}}</td> | ||
| 511 | + <td>{{obj.djg_time}}</td> | ||
| 512 | + <td colspan="5"> </td> | ||
| 513 | + </tr> | ||
| 514 | + {{/each}} | ||
| 515 | + {{if list.length == 0}} | ||
| 516 | + <tr> | ||
| 517 | + <td colspan="40"><h6 class="muted">没有找到相关数据</h6></td> | ||
| 518 | + </tr> | ||
| 519 | + {{/if}} | ||
| 520 | +</script> | ||
| 521 | +<script type="text/html" id="scheduleDaily_2"> | ||
| 522 | + {{each list as obj i}} | ||
| 523 | + {{if i%5 == 0}} | ||
| 524 | + <tr> | ||
| 525 | + {{/if}} | ||
| 526 | + <td colspan="2">{{obj[3]}}</td> | ||
| 527 | + <td colspan="2">{{obj[2]}}</td> | ||
| 528 | + <td>{{obj[1]}}/{{obj[4]}}</td> | ||
| 529 | + <td>{{if obj[5] !=null}} | ||
| 530 | + {{obj[5]}}/ | ||
| 531 | + {{obj[6]}} | ||
| 532 | + | ||
| 533 | + {{/if}} | ||
| 534 | + </td> | ||
| 535 | + <td> </td> | ||
| 536 | + <td> </td> | ||
| 537 | + {{if (i+1)%5 == 0}} | ||
| 538 | + </tr> | ||
| 539 | + {{/if}} | ||
| 540 | + {{/each}} | ||
| 541 | + {{if list.length == 0}} | ||
| 542 | + <tr> | ||
| 543 | + <td colspan="40"><h6 class="muted">没有找到相关数据</h6></td> | ||
| 544 | + </tr> | ||
| 545 | + {{/if}} | ||
| 546 | +</script> | ||
| 547 | +<script type="text/html" id="scheduleDaily_3"> | ||
| 548 | + {{each list as obj i}} | ||
| 549 | + {{if i%3 == 0}} | ||
| 550 | + <tr> | ||
| 551 | + {{/if}} | ||
| 552 | + <td>{{obj.lpName}}</td> | ||
| 553 | + <td colspan="2" style="word-break: keep-all;white-space:nowrap;">{{obj.qdzName}}</td> | ||
| 554 | + <td>{{obj.zdsj}}</td> | ||
| 555 | + <td>{{obj.zdsjActual}}</td> | ||
| 556 | + <td>{{obj.fast}}</td> | ||
| 557 | + <td>{{obj.slow}}</td> | ||
| 558 | + <td>{{obj.fcsj}}</td> | ||
| 559 | + <td>{{obj.fcsjActual}} | ||
| 560 | + {{if obj.bcType== "in"}} | ||
| 561 | + (进) | ||
| 562 | + {{/if}} | ||
| 563 | + {{if obj.bcType== "out"}} | ||
| 564 | + (出) | ||
| 565 | + {{/if}} | ||
| 566 | + </td> | ||
| 567 | + <td>{{obj.fast0}}</td> | ||
| 568 | + <td>{{obj.slow0}} | ||
| 569 | + | ||
| 570 | + </td> | ||
| 571 | + <td colspan="2">{{obj.remarks}}</td> | ||
| 572 | + {{if (i+1)%3 == 0}} | ||
| 573 | + <td> </td> | ||
| 574 | + </tr> | ||
| 575 | + {{/if}} | ||
| 576 | + {{/each}} | ||
| 577 | + {{if list.length == 0}} | ||
| 578 | + <tr> | ||
| 579 | + <td colspan="40"><h6 class="muted">没有找到相关数据</h6></td> | ||
| 580 | + </tr> | ||
| 581 | + {{/if}} | ||
| 582 | +</script> | ||
| 0 | \ No newline at end of file | 583 | \ No newline at end of file |
src/main/resources/static/pages/forms/mh_sj/waybill/waybill_mh.html
0 → 100644
| 1 | +<style type="text/css"> | ||
| 2 | + .table-bordered { | ||
| 3 | + border: 1px solid; } | ||
| 4 | + .table-bordered > thead > tr > th, | ||
| 5 | + .table-bordered > thead > tr > td, | ||
| 6 | + .table-bordered > tbody > tr > th, | ||
| 7 | + .table-bordered > tbody > tr > td, | ||
| 8 | + .table-bordered > tfoot > tr > th, | ||
| 9 | + .table-bordered > tfoot > tr > td { | ||
| 10 | + border: 1px solid; } | ||
| 11 | + .table-bordered > thead > tr > th, | ||
| 12 | + .table-bordered > thead > tr > td { | ||
| 13 | + border-bottom-width: 2px; } | ||
| 14 | + | ||
| 15 | + .table > tbody + tbody { | ||
| 16 | + border-top: 1px solid; } | ||
| 17 | +</style> | ||
| 18 | + | ||
| 19 | +<div class="page-head"> | ||
| 20 | + <div class="page-title"> | ||
| 21 | + <h1>行车路单</h1> | ||
| 22 | + </div> | ||
| 23 | +</div> | ||
| 24 | + | ||
| 25 | +<div class="row"> | ||
| 26 | + <div class="col-md-12"> | ||
| 27 | + <div class="portlet light porttlet-fit bordered"> | ||
| 28 | + <div class="portlet-title"> | ||
| 29 | + <form class="form-inline" action=""> | ||
| 30 | + <div style="display: inline-block; margin-left: 33px;" id="gsdmDiv_xcld"> | ||
| 31 | + <span class="item-label" style="width: 80px;">公司: </span> | ||
| 32 | + <select class="form-control" name="company" id="gsdmXcld" style="width: 180px;"></select> | ||
| 33 | + </div> | ||
| 34 | + <div style="display: inline-block; margin-left: 24px;" id="fgsdmDiv_xcld"> | ||
| 35 | + <span class="item-label" style="width: 80px;">分公司: </span> | ||
| 36 | + <select class="form-control" name="subCompany" id="fgsdmXcld" style="width: 180px;"></select> | ||
| 37 | + </div> | ||
| 38 | + <div style="margin-top: 2px"></div> | ||
| 39 | + <div style="display: inline-block; margin-left: 33px;"> | ||
| 40 | + <span class="item-label" style="width: 80px;">线路: </span> | ||
| 41 | + <select class="form-control" name="line" id="line" style="width: 180px;"></select> | ||
| 42 | + </div> | ||
| 43 | + <div style="display: inline-block;margin-left: 24px;"> | ||
| 44 | + <span class="item-label" style="width: 80px;"> 时间: </span> | ||
| 45 | + <input class="form-control" type="text" id="date" style="width: 180px;"/> | ||
| 46 | + </div> | ||
| 47 | + <div class="form-group" style="display: inline-block;margin-left: 15px;"> | ||
| 48 | + <input class="btn btn-default" type="button" id="query" value="查询"/> | ||
| 49 | + <input class="btn btn-default" type="button" id="export" value="导出"/> | ||
| 50 | + <input class="btn btn-default" type="button" id="print" value="打印"/> | ||
| 51 | + <input class="btn btn-default" type="button" id="exportMore" value="批量导出"/> | ||
| 52 | + </div> | ||
| 53 | + </form> | ||
| 54 | + </div> | ||
| 55 | + <div class="portlet-body"> | ||
| 56 | + <div class="row"> | ||
| 57 | + <div class="col-md-3"> | ||
| 58 | + <div class="" id="left_height" style="margin-top: 10px;overflow:auto;"> | ||
| 59 | + <table class="table table-bordered table-hover table-checkable pre-scrollable" id="info"> | ||
| 60 | + <thead> | ||
| 61 | + <tr class="hidden"> | ||
| 62 | + <th class="rypx" style="cursor:pointer ">人员</th> | ||
| 63 | + <th class="zbhpx" style="cursor:pointer ">自编号</th> | ||
| 64 | + <th class="lppx" style="cursor:pointer ">路牌</th> | ||
| 65 | + </tr> | ||
| 66 | + </thead> | ||
| 67 | + <tbody> | ||
| 68 | + | ||
| 69 | + </tbody> | ||
| 70 | + </table> | ||
| 71 | + </div> | ||
| 72 | + </div> | ||
| 73 | + <div class="col-md-9" id="printArea"> | ||
| 74 | + <div class="table-container" id="xcld_height" style="margin-top: 10px;overflow:auto;min-width: 906px;"> | ||
| 75 | + <table class="table table-bordered table-checkable" id="forms"> | ||
| 76 | + <tbody class="ludan_1"> | ||
| 77 | + | ||
| 78 | + </tbody> | ||
| 79 | + <tbody class="ludan_2"> | ||
| 80 | + | ||
| 81 | + </tbody> | ||
| 82 | + <tbody class="ludan_3"> | ||
| 83 | + | ||
| 84 | + </tbody> | ||
| 85 | + <tbody class="ludan_4"> | ||
| 86 | + | ||
| 87 | + </tbody> | ||
| 88 | + </table> | ||
| 89 | + </div> | ||
| 90 | + </div> | ||
| 91 | + </div> | ||
| 92 | + </div> | ||
| 93 | + </div> | ||
| 94 | + </div> | ||
| 95 | +</div> | ||
| 96 | + | ||
| 97 | +<script> | ||
| 98 | + $(function(){ | ||
| 99 | + var fage=false; | ||
| 100 | + // 关闭左侧栏 | ||
| 101 | + if (!$('body').hasClass('page-sidebar-closed')) | ||
| 102 | + $('.menu-toggler.sidebar-toggler').click(); | ||
| 103 | + | ||
| 104 | + $("#date").datetimepicker({ | ||
| 105 | + format : 'YYYY-MM-DD', | ||
| 106 | + locale : 'zh-cn' | ||
| 107 | + }); | ||
| 108 | + | ||
| 109 | + $("#left_height").height($(window).height()-100); | ||
| 110 | + $("#xcld_height").height($(window).height()-100); | ||
| 111 | + | ||
| 112 | + var d = new Date(); | ||
| 113 | + var year = d.getFullYear(); | ||
| 114 | + var month = d.getMonth() + 1; | ||
| 115 | + var day = d.getDate(); | ||
| 116 | + if(month < 10) | ||
| 117 | + month = "0" + month; | ||
| 118 | + if(day < 10) | ||
| 119 | + day = "0" + day; | ||
| 120 | + $("#date").val(year + "-" + month + "-" + day); | ||
| 121 | + | ||
| 122 | + var obj = []; | ||
| 123 | + var xlList; | ||
| 124 | + $.get('/report/lineList',function(result){ | ||
| 125 | + xlList=result; | ||
| 126 | + | ||
| 127 | + $.get('/user/companyData', function(result){ | ||
| 128 | + obj = result; | ||
| 129 | + console.log(obj); | ||
| 130 | + var options = ''; | ||
| 131 | + for(var i = 0; i < obj.length; i++){ | ||
| 132 | + options += '<option value="'+obj[i].companyCode+'">'+obj[i].companyName+'</option>'; | ||
| 133 | + } | ||
| 134 | + | ||
| 135 | + if(obj.length ==0){ | ||
| 136 | + $("#gsdmDiv_xcld").css('display','none'); | ||
| 137 | + }else if(obj.length ==1){ | ||
| 138 | + $("#gsdmDiv_xcld").css('display','none'); | ||
| 139 | + if(obj[0].children.length == 1 || obj[0].children.length ==0) | ||
| 140 | + $('#fgsdmDiv_xcld').css('display','none'); | ||
| 141 | + } | ||
| 142 | + $('#gsdmXcld').html(options); | ||
| 143 | + | ||
| 144 | + updateCompany(); | ||
| 145 | + }); | ||
| 146 | + }); | ||
| 147 | + | ||
| 148 | + $("#gsdmXcld").on("change",updateCompany); | ||
| 149 | + function updateCompany(){ | ||
| 150 | + var company = $('#gsdmXcld').val(); | ||
| 151 | + var options = ''; | ||
| 152 | + for(var i = 0; i < obj.length; i++){ | ||
| 153 | + if(obj[i].companyCode == company){ | ||
| 154 | + var children = obj[i].children; | ||
| 155 | + for(var j = 0; j < children.length; j++){ | ||
| 156 | + options += '<option value="'+children[j].code+'">'+children[j].name+'</option>'; | ||
| 157 | + } | ||
| 158 | + } | ||
| 159 | + } | ||
| 160 | + $('#fgsdmXcld').html(options); | ||
| 161 | + initXl(); | ||
| 162 | + } | ||
| 163 | + | ||
| 164 | + | ||
| 165 | + | ||
| 166 | + | ||
| 167 | + $("#fgsdmXcld").on("change",initXl); | ||
| 168 | + function initXl(){ | ||
| 169 | + var data=[]; | ||
| 170 | + if(fage){ | ||
| 171 | + $("#line").select2("destroy").html(''); | ||
| 172 | + } | ||
| 173 | + var fgs=$('#fgsdmXcld').val(); | ||
| 174 | + var gs=$('#gsdmXcld').val(); | ||
| 175 | + for(var i=0;i<xlList.length;i++){ | ||
| 176 | + if(gs!=""){ | ||
| 177 | + if(fgs!=""){ | ||
| 178 | + if(xlList[i]["fgsbm"]==fgs && xlList[i]["gsbm"]==gs){ | ||
| 179 | + data.push({id: xlList[i]["xlbm"], text: xlList[i]["xlname"]}); | ||
| 180 | + } | ||
| 181 | + }else{ | ||
| 182 | + if(xlList[i]["gsbm"]==gs){ | ||
| 183 | + data.push({id: xlList[i]["xlbm"], text: xlList[i]["xlname"]}); | ||
| 184 | + } | ||
| 185 | + } | ||
| 186 | + } | ||
| 187 | + } | ||
| 188 | + initPinYinSelect2('#line',data,''); | ||
| 189 | + fage=true; | ||
| 190 | + } | ||
| 191 | + var date = ''; | ||
| 192 | + var line = ''; | ||
| 193 | + $("#query").on("click",function(){ | ||
| 194 | + $("#left_height").height($(window).height()-100); | ||
| 195 | + line = $("#line").val(); | ||
| 196 | + date = $("#date").val(); | ||
| 197 | + $(".hidden").removeClass("hidden"); | ||
| 198 | + $get('/realSchedule/queryUserInfo',{line:line,date:date,state:2},function(result){ | ||
| 199 | + // 把数据填充到模版中 | ||
| 200 | + var tbodyHtml = template('list_info',{list:result}); | ||
| 201 | + // 把渲染好的模版html文本追加到表格中 | ||
| 202 | + $('#info tbody').html(tbodyHtml); | ||
| 203 | + }); | ||
| 204 | + }); | ||
| 205 | + var type="desc"; | ||
| 206 | + $(".rypx").on("click",function(){ | ||
| 207 | + line = $("#line").val(); | ||
| 208 | + date = $("#date").val(); | ||
| 209 | + $(".hidden").removeClass("hidden"); | ||
| 210 | + $get('/realSchedule/queryUserInfoPx',{line:line,date:date,state:"j_Gh",type:type},function(result){ | ||
| 211 | + if(type=="desc"){ | ||
| 212 | + type ="asc"; | ||
| 213 | + }else{ | ||
| 214 | + type ="desc"; | ||
| 215 | + } | ||
| 216 | + // 把数据填充到模版中 | ||
| 217 | + var tbodyHtml = template('list_info_px',{list:result}); | ||
| 218 | + // 把渲染好的模版html文本追加到表格中 | ||
| 219 | + $('#info tbody').html(tbodyHtml); | ||
| 220 | + }); | ||
| 221 | + }) | ||
| 222 | + | ||
| 223 | + $(".zbhpx").on("click",function(){ | ||
| 224 | + line = $("#line").val(); | ||
| 225 | + date = $("#date").val(); | ||
| 226 | + $(".hidden").removeClass("hidden"); | ||
| 227 | + $get('/realSchedule/queryUserInfoPx',{line:line,date:date,state:"clZbh",type:type},function(result){ | ||
| 228 | + if(type=="desc"){ | ||
| 229 | + type ="asc"; | ||
| 230 | + }else{ | ||
| 231 | + type ="desc"; | ||
| 232 | + } | ||
| 233 | + // 把数据填充到模版中 | ||
| 234 | + var tbodyHtml = template('list_info_px',{list:result}); | ||
| 235 | + // 把渲染好的模版html文本追加到表格中 | ||
| 236 | + $('#info tbody').html(tbodyHtml); | ||
| 237 | + }); | ||
| 238 | + }) | ||
| 239 | + | ||
| 240 | + $(".lppx").on("click",function(){ | ||
| 241 | + line = $("#line").val(); | ||
| 242 | + date = $("#date").val(); | ||
| 243 | + $(".hidden").removeClass("hidden"); | ||
| 244 | + $get('/realSchedule/queryUserInfoPx',{line:line,date:date,state:"lpName",type:type},function(result){ | ||
| 245 | + if(type=="desc"){ | ||
| 246 | + type ="asc"; | ||
| 247 | + }else{ | ||
| 248 | + type ="desc"; | ||
| 249 | + } | ||
| 250 | + // 把数据填充到模版中 | ||
| 251 | + var tbodyHtml = template('list_info_px',{list:result}); | ||
| 252 | + // 把渲染好的模版html文本追加到表格中 | ||
| 253 | + $('#info tbody').html(tbodyHtml); | ||
| 254 | + }); | ||
| 255 | + }) | ||
| 256 | + | ||
| 257 | + var params = new Array(); | ||
| 258 | + var jName = ''; | ||
| 259 | + var jGh = ''; | ||
| 260 | + $("#info tbody").on("click","tr",function(){ | ||
| 261 | + if($(this).children().size() < 2){ | ||
| 262 | + return; | ||
| 263 | + } | ||
| 264 | + $("#xcld_height").height($(window).height()-100); | ||
| 265 | + $(this).children().each(function(index){ | ||
| 266 | + params[index] = $(this).text(); | ||
| 267 | + }); | ||
| 268 | + jName = params[0].split("\\")[0]; | ||
| 269 | + jGh = params[0].split("\\")[1]; | ||
| 270 | + var id = params[3]; | ||
| 271 | + var obj = $(this); | ||
| 272 | + $get('/realSchedule/MapById',{id:id},function(result){ | ||
| 273 | + result.scheduleDate = moment(result.scheduleDate).format("YYYY/MM/DD"); | ||
| 274 | + var ludan_1 = template('ludan_1',result); | ||
| 275 | + // 把渲染好的模版html文本追加到表格中 | ||
| 276 | + $('#forms .ludan_1').html(ludan_1); | ||
| 277 | + }); | ||
| 278 | + $get('/realSchedule/queryListWaybill_mh_2',{jName:jName,clZbh:params[1],lpName:params[2],date:date,line:line},function(result){ | ||
| 279 | + getTime(result); | ||
| 280 | + var ludan_2 = template('ludan_2',{list:result}); | ||
| 281 | + // 把渲染好的模版html文本追加到表格中 | ||
| 282 | + $('#forms .ludan_2').html(ludan_2); | ||
| 283 | + }); | ||
| 284 | + $get('/realSchedule/findKMBC_mh_2',{jGh:jGh,clZbh:params[1],lpName:params[2],date:date,line:line},function(result){ | ||
| 285 | + var ludan_3 = template('ludan_3',result); | ||
| 286 | + $('#forms .ludan_3').html(ludan_3); | ||
| 287 | + $("#info tbody tr").css('background-color', ''); | ||
| 288 | + obj.css('background-color', '#99CCFF'); | ||
| 289 | + }); | ||
| 290 | + | ||
| 291 | + | ||
| 292 | + }); | ||
| 293 | + | ||
| 294 | + $("#export").on("click",function(){ | ||
| 295 | + if(params.length < 1){ | ||
| 296 | + return; | ||
| 297 | + } | ||
| 298 | + $get('/realSchedule/exportWaybill',{jName:jName,clZbh:params[1],lpName:params[2],date:date,line:line},function(result){ | ||
| 299 | + window.open("/downloadFile/download?fileName="+date+"-"+jName+"-"+params[1]+"-"+params[2]+"-行车路单"); | ||
| 300 | + }); | ||
| 301 | + }); | ||
| 302 | + | ||
| 303 | + $("#print").click(function(){ | ||
| 304 | + $("#printArea").printArea(); | ||
| 305 | + }); | ||
| 306 | + | ||
| 307 | + $("#exportMore").on("click",function(){ | ||
| 308 | + if($("#info tbody tr td").length <= 1) | ||
| 309 | + return; | ||
| 310 | + var param = new Array(); | ||
| 311 | + $("#info tbody tr").each(function(index){ | ||
| 312 | + param[index] = new Array(); | ||
| 313 | + $(this).children().each(function(i){ | ||
| 314 | + if(i<3){ | ||
| 315 | + param[index][i] = $(this).text().split("\\")[0]; | ||
| 316 | + if(i==0){ | ||
| 317 | + param[index][3] = $(this).text().split("\\")[1]; | ||
| 318 | + | ||
| 319 | + } | ||
| 320 | + } | ||
| 321 | + }); | ||
| 322 | + }); | ||
| 323 | + $get('/realSchedule/exportWaybillMore',{date:date,line:line,strs:JSON.stringify(param)},function(result){ | ||
| 324 | + window.open("/downloadFile/downloadList?fileName="+result.fileName); | ||
| 325 | + }); | ||
| 326 | + }); | ||
| 327 | + | ||
| 328 | + function getTime(list){ | ||
| 329 | + $.each(list, function(i, obj) { | ||
| 330 | + if(obj.zdsj != null && obj.zdsjActual != null ){ | ||
| 331 | + var zdsjActual = (obj.zdsjActual).split(":"); | ||
| 332 | + var zdsj = (obj.zdsj).split(":"); | ||
| 333 | + if(zdsjActual[0]*60+Number(zdsjActual[1]) > zdsj[0]*60+Number(zdsj[1])){ | ||
| 334 | + obj["slow"] = (zdsjActual[0]*60+Number(zdsjActual[1])) - (zdsj[0]*60+Number(zdsj[1])); | ||
| 335 | + } | ||
| 336 | + else if(zdsjActual[0]*60+Number(zdsjActual[1]) < zdsj[0]*60+Number(zdsj[1])){ | ||
| 337 | + obj["fast"] = (zdsj[0]*60+Number(zdsj[1])) - (zdsjActual[0]*60+Number(zdsjActual[1])); | ||
| 338 | + } | ||
| 339 | + } | ||
| 340 | + }); | ||
| 341 | + } | ||
| 342 | + }); | ||
| 343 | +</script> | ||
| 344 | +<script type="text/html" id="list_info"> | ||
| 345 | + {{each list as obj i}} | ||
| 346 | + <tr> | ||
| 347 | + <td width="45%">{{obj[4]}}\{{obj[1]}}</td> | ||
| 348 | + <td width="32%">{{obj[2]}}</td> | ||
| 349 | + <td width="20%">{{obj[3]}}</td> | ||
| 350 | + <td width="3%" hidden="true">{{obj[0]}}</td> | ||
| 351 | + </tr> | ||
| 352 | + {{/each}} | ||
| 353 | + {{if list.length == 0}} | ||
| 354 | + <tr> | ||
| 355 | + <td colspan="3"><h6 class="muted">没有找到相关数据</h6></td> | ||
| 356 | + </tr> | ||
| 357 | + {{/if}} | ||
| 358 | +</script> | ||
| 359 | +<script type="text/html" id="list_info_px"> | ||
| 360 | + {{each list as obj i}} | ||
| 361 | + <tr> | ||
| 362 | + | ||
| 363 | + <td width="45%">{{obj.jName}}\{{obj.jGh}}</td> | ||
| 364 | + <td width="32%">{{obj.clZbh}}</td> | ||
| 365 | + <td width="23%">{{obj.lpName}}</td> | ||
| 366 | + <td hidden="true">{{obj.id}}</td> | ||
| 367 | + </tr> | ||
| 368 | + {{/each}} | ||
| 369 | + {{if list.length == 0}} | ||
| 370 | + <tr> | ||
| 371 | + <td colspan="3"><h6 class="muted">没有找到相关数据</h6></td> | ||
| 372 | + </tr> | ||
| 373 | + {{/if}} | ||
| 374 | +</script> | ||
| 375 | +<script type="text/html" id="ludan_1"> | ||
| 376 | + <tr> | ||
| 377 | + <td colspan="14">行车路单</td> | ||
| 378 | + </tr> | ||
| 379 | + <tr> | ||
| 380 | + <td colspan="14">路别:{{xlName}} 路牌:{{lpName}} 车号:{{clZbh}}({{plate}}) 出场时间:{{fcsjActual}} 到达站名:{{zdzName}} 当班调派:{{dbdp}} 日期:{{scheduleDate}}</td> | ||
| 381 | + </tr> | ||
| 382 | + <tr> | ||
| 383 | + <td colspan="2">出场存油 {{ccyl}}升</td> | ||
| 384 | + <td colspan="2">加注量 {{jzl}}升</td> | ||
| 385 | + <td colspan="2">进场存油 {{jcyl}}升</td> | ||
| 386 | + <td colspan="4">加注机油 升</td> | ||
| 387 | + <td colspan="4">本日耗油 {{yh}}升</td> | ||
| 388 | + </tr> | ||
| 389 | + <tr> | ||
| 390 | + <td rowspan="2">调度章</td> | ||
| 391 | + <td colspan="1"> </td> | ||
| 392 | + <td rowspan="2">早班</td> | ||
| 393 | + <td colspan="1"> </td> | ||
| 394 | + <td rowspan="2">夜班</td> | ||
| 395 | + <td colspan="1"> </td> | ||
| 396 | + <td rowspan="2" colspan="2">交叉</td> | ||
| 397 | + <td colspan="2"> </td> | ||
| 398 | + <td rowspan="2">其他</td> | ||
| 399 | + <td colspan="1"> </td> | ||
| 400 | + <td colspan="1"> </td> | ||
| 401 | + <td colspan="1"> </td> | ||
| 402 | + </tr> | ||
| 403 | + <tr> | ||
| 404 | + <td colspan="1"> </td> | ||
| 405 | + <td colspan="1"> </td> | ||
| 406 | + <td colspan="1"> </td> | ||
| 407 | + <td colspan="2"> </td> | ||
| 408 | + <td colspan="1"> </td> | ||
| 409 | + <td colspan="1"> </td> | ||
| 410 | + <td colspan="1"> </td> | ||
| 411 | + </tr> | ||
| 412 | + <tr> | ||
| 413 | + <td rowspan="2">车次</td> | ||
| 414 | + <td colspan="2">工号</td> | ||
| 415 | + <td rowspan="2">公里耗油</td> | ||
| 416 | + <td colspan="2">起讫站</td> | ||
| 417 | + <td colspan="4">时间</td> | ||
| 418 | + <td colspan="2">误点</td> | ||
| 419 | + <td rowspan="2" width="66px">里程(公里)计划</td> | ||
| 420 | + <td rowspan="2">备注</td> | ||
| 421 | + </tr> | ||
| 422 | + <tr> | ||
| 423 | + <td colspan="1" width="60px">司 机</td> | ||
| 424 | + <td colspan="1" width="60px">售 票</td> | ||
| 425 | + <td colspan="1">起点</td> | ||
| 426 | + <td colspan="1">终点</td> | ||
| 427 | + <td colspan="1">计发</td> | ||
| 428 | + <td colspan="1">实发</td> | ||
| 429 | + <td colspan="1">应到</td> | ||
| 430 | + <td colspan="1">实到</td> | ||
| 431 | + <td colspan="1">快</td> | ||
| 432 | + <td colspan="1">慢</td> | ||
| 433 | + </tr> | ||
| 434 | +</script> | ||
| 435 | +<script type="text/html" id="ludan_2"> | ||
| 436 | + {{each list as obj i}} | ||
| 437 | + <tr> | ||
| 438 | + <td>{{obj.adjustExps}}</td> | ||
| 439 | + <td>{{obj.jGh}}{{obj.jName}}</td> | ||
| 440 | + <td>{{if obj.sGh !=null}} | ||
| 441 | + {{obj.sGh}}{{obj.sName}} | ||
| 442 | + {{/if}} | ||
| 443 | + </td> | ||
| 444 | + <td> </td> | ||
| 445 | + <td>{{obj.qdzName}}</td> | ||
| 446 | + <td>{{obj.zdzName}}</td> | ||
| 447 | + <td>{{obj.fcsj}}</td> | ||
| 448 | + <td>{{obj.fcsjActual}}</td> | ||
| 449 | + <td>{{obj.zdsj}}</td> | ||
| 450 | + <td>{{obj.zdsjActual}}</td> | ||
| 451 | + <td>{{obj.fast}}</td> | ||
| 452 | + <td>{{obj.slow}}</td> | ||
| 453 | + <td> | ||
| 454 | + {{if obj.zdsjActual!=null}} | ||
| 455 | + {{obj.jhlc}} | ||
| 456 | + {{/if}} | ||
| 457 | + </td> | ||
| 458 | + <td > | ||
| 459 | + {{obj.remarks}} | ||
| 460 | + </td> | ||
| 461 | + </tr> | ||
| 462 | + {{/each}} | ||
| 463 | + {{if list.length == 0}} | ||
| 464 | + <tr> | ||
| 465 | + <td colspan="14"><h6 class="muted">没有找到相关数据</h6></td> | ||
| 466 | + </tr> | ||
| 467 | + {{/if}} | ||
| 468 | +</script> | ||
| 469 | +<script type="text/html" id="ludan_3"> | ||
| 470 | + <tr> | ||
| 471 | + <td colspan="2">计划班次</td> | ||
| 472 | + <td>{{jhbc}}</td> | ||
| 473 | + <td colspan="2">计划公里</td> | ||
| 474 | + <td>{{jhlc}}</td> | ||
| 475 | + <td colspan="2">烂班班次</td> | ||
| 476 | + <td>{{cjbc}}</td> | ||
| 477 | + <td colspan="3"> 烂班公里</td> | ||
| 478 | + <td colspan="2">{{remMileage}}</td> | ||
| 479 | + </tr> | ||
| 480 | + <tr> | ||
| 481 | + <td colspan="2">临加班次</td> | ||
| 482 | + <td>{{ljbc}}</td> | ||
| 483 | + <td colspan="2">临加公里</td> | ||
| 484 | + <td>{{addMileage}}</td> | ||
| 485 | + <td colspan="2">实际班次</td> | ||
| 486 | + <td>{{sjbc}}</td> | ||
| 487 | + <td colspan="3">营运公里</td> | ||
| 488 | + <td colspan="2">{{yygl}}</td> | ||
| 489 | + </tr> | ||
| 490 | + <tr> | ||
| 491 | + <td colspan="2">空驶公里</td> | ||
| 492 | + <td>{{zkslc}}</td> | ||
| 493 | + <td colspan="2">总公里</td> | ||
| 494 | + <td>{{realMileage}}</td> | ||
| 495 | + <td colspan="2"></td> | ||
| 496 | + <td></td> | ||
| 497 | + <td colspan="3"></td> | ||
| 498 | + <td colspan="2"></td> | ||
| 499 | + </tr> | ||
| 500 | +</script> |
src/main/resources/static/pages/forms/statement/scheduleAnaly.html
| @@ -273,6 +273,7 @@ | @@ -273,6 +273,7 @@ | ||
| 273 | params['model'] = model; | 273 | params['model'] = model; |
| 274 | params['company'] = company; | 274 | params['company'] = company; |
| 275 | params['subCompany'] = subCompany; | 275 | params['subCompany'] = subCompany; |
| 276 | + params['bcType'] = bcType; | ||
| 276 | params['type'] = "export"; | 277 | params['type'] = "export"; |
| 277 | $get('/pcpc/scheduleAnaly', params, function(result){ | 278 | $get('/pcpc/scheduleAnaly', params, function(result){ |
| 278 | window.open("/downloadFile/download?fileName=时刻表分析"+moment(startDate).format("YYYYMMDD")+"-"+moment(endDate).format("YYYYMMDD")); | 279 | window.open("/downloadFile/download?fileName=时刻表分析"+moment(startDate).format("YYYYMMDD")+"-"+moment(endDate).format("YYYYMMDD")); |
src/main/resources/static/pages/forms/statement/waybill.html
| @@ -207,7 +207,7 @@ | @@ -207,7 +207,7 @@ | ||
| 207 | line = $("#line").val(); | 207 | line = $("#line").val(); |
| 208 | date = $("#date").val(); | 208 | date = $("#date").val(); |
| 209 | $(".hidden").removeClass("hidden"); | 209 | $(".hidden").removeClass("hidden"); |
| 210 | - $get('/realSchedule/queryUserInfoPx',{line:line,date:date,state:"j_Gh",type:type},function(result){ | 210 | + $get('/realSchedule/queryUserInfoPx',{line:line,date:date,state:"jGh",type:type},function(result){ |
| 211 | if(type=="desc"){ | 211 | if(type=="desc"){ |
| 212 | type ="asc"; | 212 | type ="asc"; |
| 213 | }else{ | 213 | }else{ |
src/main/resources/static/pages/permission/user/changePWD.html
| @@ -49,8 +49,8 @@ | @@ -49,8 +49,8 @@ | ||
| 49 | $(function(){ | 49 | $(function(){ |
| 50 | $("#confirm").on("click",function(){ | 50 | $("#confirm").on("click",function(){ |
| 51 | var data = $('#changePWDForm').serializeJSON(); | 51 | var data = $('#changePWDForm').serializeJSON(); |
| 52 | - $.post('/user/changePWD',data,function(){ | ||
| 53 | - | 52 | + $.post('/user/changePWD',data,function(msg){ |
| 53 | + layer.alert(msg); | ||
| 54 | }); | 54 | }); |
| 55 | }); | 55 | }); |
| 56 | }); | 56 | }); |