Commit bfe404d97e4add1042c77ec3cefc9ea94d65697a
Merge branch 'minhang' into pudong
Showing
27 changed files
with
1742 additions
and
282 deletions
src/main/java/com/bsth/controller/realcontrol/OilStationSocietyController.java
0 → 100644
| 1 | +package com.bsth.controller.realcontrol; | |
| 2 | + | |
| 3 | +import com.bsth.controller.BaseController; | |
| 4 | +import com.bsth.entity.realcontrol.OilStationSociety; | |
| 5 | +import org.springframework.web.bind.annotation.RequestMapping; | |
| 6 | +import org.springframework.web.bind.annotation.RestController; | |
| 7 | + | |
| 8 | +/** | |
| 9 | + * Created by panzhao on 2017/3/16. | |
| 10 | + */ | |
| 11 | +@RestController | |
| 12 | +@RequestMapping("/oilStation") | |
| 13 | +public class OilStationSocietyController extends BaseController<OilStationSociety, String>{ | |
| 14 | +} | ... | ... |
src/main/java/com/bsth/controller/realcontrol/ScheduleRealInfoController.java
| ... | ... | @@ -279,13 +279,13 @@ public class ScheduleRealInfoController extends BaseController<ScheduleRealInfo, |
| 279 | 279 | return scheduleRealInfoService.queryUserInfoPx(line, date,state,type); |
| 280 | 280 | } |
| 281 | 281 | |
| 282 | - @RequestMapping(value = "/exportWaybill") | |
| 282 | + @RequestMapping(value = "/exportWaybill",method = RequestMethod.GET) | |
| 283 | 283 | public List<ScheduleRealInfo> exportWaybill(@RequestParam String jName, @RequestParam String clZbh, |
| 284 | 284 | @RequestParam String lpName,@RequestParam String date,@RequestParam String line) { |
| 285 | 285 | return scheduleRealInfoService.exportWaybill(jName, clZbh, lpName,date,line); |
| 286 | 286 | } |
| 287 | 287 | |
| 288 | - @RequestMapping(value = "/exportWaybillQp") | |
| 288 | + @RequestMapping(value = "/exportWaybillQp",method = RequestMethod.GET) | |
| 289 | 289 | public List<ScheduleRealInfo> exportWaybillQp(@RequestParam String clZbh |
| 290 | 290 | ,@RequestParam String date,@RequestParam String line) { |
| 291 | 291 | return scheduleRealInfoService.exportWaybillQp( clZbh, date,line); |
| ... | ... | @@ -308,13 +308,13 @@ public class ScheduleRealInfoController extends BaseController<ScheduleRealInfo, |
| 308 | 308 | return scheduleRealInfoService.findLine(line); |
| 309 | 309 | } |
| 310 | 310 | |
| 311 | - @RequestMapping(value="/findKMBC") | |
| 311 | + @RequestMapping(value="/findKMBC",method = RequestMethod.GET) | |
| 312 | 312 | public Map<String,Object> findKMBC(@RequestParam String jName,@RequestParam String clZbh,@RequestParam String lpName |
| 313 | 313 | ,@RequestParam String date,@RequestParam String line){ |
| 314 | 314 | return scheduleRealInfoService.findKMBC(jName, clZbh,lpName,date,line); |
| 315 | 315 | } |
| 316 | 316 | |
| 317 | - @RequestMapping(value="/findKMBCQp") | |
| 317 | + @RequestMapping(value="/findKMBCQp",method = RequestMethod.GET) | |
| 318 | 318 | public Map<String,Object> findKMBCQp(@RequestParam String clZbh |
| 319 | 319 | ,@RequestParam String date,@RequestParam String line){ |
| 320 | 320 | return scheduleRealInfoService.findKMBCQp(clZbh,date,line); |
| ... | ... | @@ -344,13 +344,13 @@ public class ScheduleRealInfoController extends BaseController<ScheduleRealInfo, |
| 344 | 344 | * @param lpName 路牌 |
| 345 | 345 | * @return |
| 346 | 346 | */ |
| 347 | - @RequestMapping(value="/queryListWaybill") | |
| 347 | + @RequestMapping(value="/queryListWaybill",method = RequestMethod.GET) | |
| 348 | 348 | public List<ScheduleRealInfo> queryListWaybill(@RequestParam String jName,@RequestParam String clZbh,@RequestParam String lpName |
| 349 | 349 | ,@RequestParam String date,@RequestParam String line){ |
| 350 | 350 | return scheduleRealInfoService.queryListWaybill(jName, clZbh,lpName,date,line); |
| 351 | 351 | } |
| 352 | 352 | |
| 353 | - @RequestMapping(value="/queryListWaybillQp") | |
| 353 | + @RequestMapping(value="/queryListWaybillQp",method = RequestMethod.GET) | |
| 354 | 354 | public List<ScheduleRealInfo> queryListWaybillQp(@RequestParam String clZbh, |
| 355 | 355 | @RequestParam String date,@RequestParam String line){ |
| 356 | 356 | return scheduleRealInfoService.queryListWaybillQp(clZbh,date,line); |
| ... | ... | @@ -362,6 +362,12 @@ public class ScheduleRealInfoController extends BaseController<ScheduleRealInfo, |
| 362 | 362 | return scheduleRealInfoService.statisticsDaily(line, date, xlName, type); |
| 363 | 363 | } |
| 364 | 364 | |
| 365 | + @RequestMapping(value="/statisticsDailyTj") | |
| 366 | + public List<Map<String,Object>> statisticsDailyTj(@RequestParam String line, @RequestParam String date, | |
| 367 | + @RequestParam String date2,@RequestParam String xlName, @RequestParam String type){ | |
| 368 | + return scheduleRealInfoService.statisticsDailyTj(line, date,date2, xlName, type); | |
| 369 | + } | |
| 370 | + | |
| 365 | 371 | @RequestMapping(value="/MapById",method = RequestMethod.GET) |
| 366 | 372 | public Map<String, Object> MapById(@RequestParam("id") Long id){ |
| 367 | 373 | return scheduleRealInfoService.MapById(id); |
| ... | ... | @@ -457,7 +463,7 @@ public class ScheduleRealInfoController extends BaseController<ScheduleRealInfo, |
| 457 | 463 | return scheduleRealInfoService.scheduleDailyExport(map); |
| 458 | 464 | } |
| 459 | 465 | |
| 460 | - @RequestMapping(value = "exportWaybillMore", method = RequestMethod.POST) | |
| 466 | + @RequestMapping(value = "exportWaybillMore", method = RequestMethod.GET) | |
| 461 | 467 | public Map<String, Object> exportWaybillMore(@RequestParam Map<String, Object> map){ |
| 462 | 468 | return scheduleRealInfoService.exportWaybillMore(map); |
| 463 | 469 | } | ... | ... |
src/main/java/com/bsth/controller/realcontrol/ServiceDataInterface.java
| 1 | -package com.bsth.controller.realcontrol; | |
| 2 | - | |
| 3 | -import com.bsth.data.schedule.DayOfSchedule; | |
| 4 | -import com.bsth.entity.realcontrol.ScheduleRealInfo; | |
| 5 | -import org.apache.commons.lang3.StringUtils; | |
| 6 | -import org.springframework.beans.factory.annotation.Autowired; | |
| 7 | -import org.springframework.web.bind.annotation.RequestMapping; | |
| 8 | -import org.springframework.web.bind.annotation.RequestParam; | |
| 9 | -import org.springframework.web.bind.annotation.RestController; | |
| 10 | - | |
| 11 | -import java.util.ArrayList; | |
| 12 | -import java.util.List; | |
| 13 | - | |
| 14 | -/** | |
| 15 | - * 对外的营运数据接口,主要输出当日的数据 | |
| 16 | - * Created by panzhao on 2017/3/15. | |
| 17 | - */ | |
| 18 | -@RestController | |
| 19 | -@RequestMapping("/companyService") | |
| 20 | -public class ServiceDataInterface { | |
| 21 | - | |
| 22 | - private final static String SECRE_KEY = "dVPHJkWUt5FhMT7jrM2dLV7QvlHAmZFd42rs1P0usBx8A7HZki"; | |
| 23 | - | |
| 24 | - @Autowired | |
| 25 | - DayOfSchedule dayOfSchedule; | |
| 26 | - | |
| 27 | - @RequestMapping("/getCurrentDayPlan") | |
| 28 | - public List<ScheduleRealInfo> getCurrentDayPlan( | |
| 29 | - @RequestParam String companyId, | |
| 30 | - @RequestParam String workId, | |
| 31 | - @RequestParam String secretKey) { | |
| 32 | - | |
| 33 | - if (StringUtils.isEmpty(secretKey) || !secretKey.equals(SECRE_KEY)) | |
| 34 | - return null; | |
| 35 | - | |
| 36 | - List<ScheduleRealInfo> all = new ArrayList<>(dayOfSchedule.findAll()), rs = new ArrayList<>(); | |
| 37 | - for (ScheduleRealInfo sch : all) { | |
| 38 | - if (sch.getGsBm() != null | |
| 39 | - && sch.getGsBm().equals(companyId) | |
| 40 | - && sch.getjGh().equals(workId)) { | |
| 41 | - rs.add(sch); | |
| 42 | - } | |
| 43 | - } | |
| 44 | - return rs; | |
| 45 | - } | |
| 46 | - | |
| 47 | - @RequestMapping("/returnCCInfo") | |
| 48 | - public List<ScheduleRealInfo> returnCCInfo(@RequestParam String companyId, @RequestParam String secretKey){ | |
| 49 | - if (StringUtils.isEmpty(secretKey) || !secretKey.equals(SECRE_KEY)) | |
| 50 | - return null; | |
| 51 | - | |
| 52 | - | |
| 53 | - List<ScheduleRealInfo> all = new ArrayList<>(dayOfSchedule.findAll()), rs = new ArrayList<>(); | |
| 54 | - for (ScheduleRealInfo sch : all) { | |
| 55 | - | |
| 56 | - if (sch.getBcType().equals("out") | |
| 57 | - && sch.getGsBm() != null | |
| 58 | - && sch.getGsBm().equals(companyId)) { | |
| 59 | - rs.add(sch); | |
| 60 | - } | |
| 61 | - } | |
| 62 | - return rs; | |
| 63 | - } | |
| 64 | - | |
| 65 | - @RequestMapping("/returnJCInfo") | |
| 66 | - public List<ScheduleRealInfo> returnJCInfo(@RequestParam String companyId, @RequestParam String secretKey){ | |
| 67 | - if (StringUtils.isEmpty(secretKey) || !secretKey.equals(SECRE_KEY)) | |
| 68 | - return null; | |
| 69 | - | |
| 70 | - | |
| 71 | - List<ScheduleRealInfo> all = new ArrayList<>(dayOfSchedule.findAll()), rs = new ArrayList<>(); | |
| 72 | - for (ScheduleRealInfo sch : all) { | |
| 73 | - if (sch.getBcType().equals("in") | |
| 74 | - && sch.getGsBm() != null | |
| 75 | - && sch.getGsBm().equals(companyId)) { | |
| 76 | - rs.add(sch); | |
| 77 | - } | |
| 78 | - } | |
| 79 | - return rs; | |
| 80 | - } | |
| 81 | -} | |
| 1 | +package com.bsth.controller.realcontrol; | |
| 2 | + | |
| 3 | +import com.bsth.data.schedule.DayOfSchedule; | |
| 4 | +import com.bsth.entity.realcontrol.ScheduleRealInfo; | |
| 5 | +import org.apache.commons.lang3.StringUtils; | |
| 6 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 7 | +import org.springframework.web.bind.annotation.RequestMapping; | |
| 8 | +import org.springframework.web.bind.annotation.RequestParam; | |
| 9 | +import org.springframework.web.bind.annotation.RestController; | |
| 10 | + | |
| 11 | +import java.util.ArrayList; | |
| 12 | +import java.util.List; | |
| 13 | + | |
| 14 | +/** | |
| 15 | + * 对外的营运数据接口,主要输出当日的数据 | |
| 16 | + * Created by panzhao on 2017/3/15. | |
| 17 | + */ | |
| 18 | +@RestController | |
| 19 | +@RequestMapping("/companyService") | |
| 20 | +public class ServiceDataInterface { | |
| 21 | + | |
| 22 | + private final static String SECRE_KEY = "dVPHJkWUt5FhMT7jrM2dLV7QvlHAmZFd42rs1P0usBx8A7HZki"; | |
| 23 | + | |
| 24 | + @Autowired | |
| 25 | + DayOfSchedule dayOfSchedule; | |
| 26 | + | |
| 27 | + @RequestMapping("/getCurrentDayPlan") | |
| 28 | + public List<ScheduleRealInfo> getCurrentDayPlan( | |
| 29 | + @RequestParam String companyId, | |
| 30 | + @RequestParam String workId, | |
| 31 | + @RequestParam String secretKey) { | |
| 32 | + | |
| 33 | + if (StringUtils.isEmpty(secretKey) || !secretKey.equals(SECRE_KEY)) | |
| 34 | + return null; | |
| 35 | + | |
| 36 | + List<ScheduleRealInfo> all = new ArrayList<>(dayOfSchedule.findAll()), rs = new ArrayList<>(); | |
| 37 | + for (ScheduleRealInfo sch : all) { | |
| 38 | + if (sch.getGsBm() != null | |
| 39 | + && sch.getGsBm().equals(companyId) | |
| 40 | + && sch.getjGh().equals(workId)) { | |
| 41 | + rs.add(sch); | |
| 42 | + } | |
| 43 | + } | |
| 44 | + return rs; | |
| 45 | + } | |
| 46 | + | |
| 47 | + @RequestMapping("/returnCCInfo") | |
| 48 | + public List<ScheduleRealInfo> returnCCInfo(@RequestParam String companyId, @RequestParam String secretKey){ | |
| 49 | + if (StringUtils.isEmpty(secretKey) || !secretKey.equals(SECRE_KEY)) | |
| 50 | + return null; | |
| 51 | + | |
| 52 | + | |
| 53 | + List<ScheduleRealInfo> all = new ArrayList<>(dayOfSchedule.findAll()), rs = new ArrayList<>(); | |
| 54 | + for (ScheduleRealInfo sch : all) { | |
| 55 | + | |
| 56 | + if (sch.getBcType().equals("out") | |
| 57 | + && sch.getGsBm() != null | |
| 58 | + && sch.getGsBm().equals(companyId)) { | |
| 59 | + rs.add(sch); | |
| 60 | + } | |
| 61 | + } | |
| 62 | + return rs; | |
| 63 | + } | |
| 64 | + | |
| 65 | + @RequestMapping("/returnJCInfo") | |
| 66 | + public List<ScheduleRealInfo> returnJCInfo(@RequestParam String companyId, @RequestParam String secretKey){ | |
| 67 | + if (StringUtils.isEmpty(secretKey) || !secretKey.equals(SECRE_KEY)) | |
| 68 | + return null; | |
| 69 | + | |
| 70 | + | |
| 71 | + List<ScheduleRealInfo> all = new ArrayList<>(dayOfSchedule.findAll()), rs = new ArrayList<>(); | |
| 72 | + for (ScheduleRealInfo sch : all) { | |
| 73 | + if (sch.getBcType().equals("in") | |
| 74 | + && sch.getGsBm() != null | |
| 75 | + && sch.getGsBm().equals(companyId)) { | |
| 76 | + rs.add(sch); | |
| 77 | + } | |
| 78 | + } | |
| 79 | + return rs; | |
| 80 | + } | |
| 81 | +} | ... | ... |
src/main/java/com/bsth/controller/realcontrol/dto/LpData.java
| ... | ... | @@ -22,7 +22,7 @@ public class LpData { |
| 22 | 22 | this.zdzName = sch.getZdzName(); |
| 23 | 23 | } |
| 24 | 24 | |
| 25 | - public void appendTo(ScheduleRealInfo sch, int type, boolean changeRealTime) { | |
| 25 | + public void appendTo(ScheduleRealInfo sch, int type) { | |
| 26 | 26 | |
| 27 | 27 | if (type == 0) { |
| 28 | 28 | //只换人 |
| ... | ... | @@ -33,11 +33,11 @@ public class LpData { |
| 33 | 33 | } else if (type == 1) { |
| 34 | 34 | //只换车 |
| 35 | 35 | sch.setClZbh(this.nbbm); |
| 36 | - | |
| 37 | - //换实际时间 | |
| 36 | + changeRealTime(sch); | |
| 37 | + /*//换实际时间 | |
| 38 | 38 | if(changeRealTime){ |
| 39 | 39 | changeRealTime(sch); |
| 40 | - } | |
| 40 | + }*/ | |
| 41 | 41 | |
| 42 | 42 | } else if (type == 2) { |
| 43 | 43 | //换人并换车 |
| ... | ... | @@ -48,9 +48,9 @@ public class LpData { |
| 48 | 48 | sch.setClZbh(this.nbbm); |
| 49 | 49 | |
| 50 | 50 | //换实际时间 |
| 51 | - if(changeRealTime){ | |
| 51 | + //if(changeRealTime){ | |
| 52 | 52 | changeRealTime(sch); |
| 53 | - } | |
| 53 | + //} | |
| 54 | 54 | } |
| 55 | 55 | } |
| 56 | 56 | ... | ... |
src/main/java/com/bsth/entity/realcontrol/OilStationSociety.java
0 → 100644
| 1 | +package com.bsth.entity.realcontrol; | |
| 2 | + | |
| 3 | +import javax.persistence.Entity; | |
| 4 | +import javax.persistence.Id; | |
| 5 | +import javax.persistence.Table; | |
| 6 | + | |
| 7 | +/** | |
| 8 | + * 社会加油站 | |
| 9 | + * Created by panzhao on 2017/3/16. | |
| 10 | + */ | |
| 11 | +@Entity | |
| 12 | +@Table(name = "bsth_c_oil_station") | |
| 13 | +public class OilStationSociety { | |
| 14 | + | |
| 15 | + @Id | |
| 16 | + private String lineCode; | |
| 17 | + | |
| 18 | + /** | |
| 19 | + * 加油站名称 | |
| 20 | + */ | |
| 21 | + private String stationName; | |
| 22 | + | |
| 23 | + /** | |
| 24 | + * 上行进场距离 | |
| 25 | + */ | |
| 26 | + private Double upInMile; | |
| 27 | + /** | |
| 28 | + * 上行出场距离 | |
| 29 | + */ | |
| 30 | + private Double upOutMile; | |
| 31 | + | |
| 32 | + /** | |
| 33 | + * 下行进场距离 | |
| 34 | + */ | |
| 35 | + private Double downInMile; | |
| 36 | + /** | |
| 37 | + * 下行出场距离 | |
| 38 | + */ | |
| 39 | + private Double downOutMile; | |
| 40 | + | |
| 41 | + | |
| 42 | + /** | |
| 43 | + * 上行进场时间 分钟 | |
| 44 | + */ | |
| 45 | + private int upInTime; | |
| 46 | + /** | |
| 47 | + * 上行出场时间 分钟 | |
| 48 | + */ | |
| 49 | + private int upOutTime; | |
| 50 | + | |
| 51 | + /** | |
| 52 | + * 下行进场时间 分钟 | |
| 53 | + */ | |
| 54 | + private int downInTime; | |
| 55 | + /** | |
| 56 | + * 下行出场时间 分钟 | |
| 57 | + */ | |
| 58 | + private int downOutTime; | |
| 59 | + | |
| 60 | + | |
| 61 | + public String getLineCode() { | |
| 62 | + return lineCode; | |
| 63 | + } | |
| 64 | + | |
| 65 | + public void setLineCode(String lineCode) { | |
| 66 | + this.lineCode = lineCode; | |
| 67 | + } | |
| 68 | + | |
| 69 | + public String getStationName() { | |
| 70 | + return stationName; | |
| 71 | + } | |
| 72 | + | |
| 73 | + public void setStationName(String stationName) { | |
| 74 | + this.stationName = stationName; | |
| 75 | + } | |
| 76 | + | |
| 77 | + public Double getUpInMile() { | |
| 78 | + return upInMile; | |
| 79 | + } | |
| 80 | + | |
| 81 | + public void setUpInMile(Double upInMile) { | |
| 82 | + this.upInMile = upInMile; | |
| 83 | + } | |
| 84 | + | |
| 85 | + public Double getUpOutMile() { | |
| 86 | + return upOutMile; | |
| 87 | + } | |
| 88 | + | |
| 89 | + public void setUpOutMile(Double upOutMile) { | |
| 90 | + this.upOutMile = upOutMile; | |
| 91 | + } | |
| 92 | + | |
| 93 | + public Double getDownInMile() { | |
| 94 | + return downInMile; | |
| 95 | + } | |
| 96 | + | |
| 97 | + public void setDownInMile(Double downInMile) { | |
| 98 | + this.downInMile = downInMile; | |
| 99 | + } | |
| 100 | + | |
| 101 | + public Double getDownOutMile() { | |
| 102 | + return downOutMile; | |
| 103 | + } | |
| 104 | + | |
| 105 | + public void setDownOutMile(Double downOutMile) { | |
| 106 | + this.downOutMile = downOutMile; | |
| 107 | + } | |
| 108 | + | |
| 109 | + public int getUpInTime() { | |
| 110 | + return upInTime; | |
| 111 | + } | |
| 112 | + | |
| 113 | + public void setUpInTime(int upInTime) { | |
| 114 | + this.upInTime = upInTime; | |
| 115 | + } | |
| 116 | + | |
| 117 | + public int getUpOutTime() { | |
| 118 | + return upOutTime; | |
| 119 | + } | |
| 120 | + | |
| 121 | + public void setUpOutTime(int upOutTime) { | |
| 122 | + this.upOutTime = upOutTime; | |
| 123 | + } | |
| 124 | + | |
| 125 | + public int getDownInTime() { | |
| 126 | + return downInTime; | |
| 127 | + } | |
| 128 | + | |
| 129 | + public void setDownInTime(int downInTime) { | |
| 130 | + this.downInTime = downInTime; | |
| 131 | + } | |
| 132 | + | |
| 133 | + public int getDownOutTime() { | |
| 134 | + return downOutTime; | |
| 135 | + } | |
| 136 | + | |
| 137 | + public void setDownOutTime(int downOutTime) { | |
| 138 | + this.downOutTime = downOutTime; | |
| 139 | + } | |
| 140 | +} | ... | ... |
src/main/java/com/bsth/entity/realcontrol/ScheduleRealInfo.java
| ... | ... | @@ -626,6 +626,11 @@ public class ScheduleRealInfo { |
| 626 | 626 | } |
| 627 | 627 | } |
| 628 | 628 | |
| 629 | + @Override | |
| 630 | + public int hashCode() { | |
| 631 | + return ("schedule_" + this.id).hashCode(); | |
| 632 | + } | |
| 633 | + | |
| 629 | 634 | public String getQdzArrDateJH() { |
| 630 | 635 | return qdzArrDatejh; |
| 631 | 636 | } |
| ... | ... | @@ -760,6 +765,7 @@ public class ScheduleRealInfo { |
| 760 | 765 | } |
| 761 | 766 | |
| 762 | 767 | public void destroy(){ |
| 768 | + this.jhlc = 0.0; | |
| 763 | 769 | this.status = -1; |
| 764 | 770 | } |
| 765 | 771 | ... | ... |
src/main/java/com/bsth/repository/realcontrol/OilStationSocietyRepository.java
0 → 100644
| 1 | +package com.bsth.repository.realcontrol; | |
| 2 | + | |
| 3 | +import com.bsth.entity.realcontrol.OilStationSociety; | |
| 4 | +import com.bsth.repository.BaseRepository; | |
| 5 | +import org.springframework.stereotype.Repository; | |
| 6 | + | |
| 7 | +/** | |
| 8 | + * Created by panzhao on 2017/3/16. | |
| 9 | + */ | |
| 10 | +@Repository | |
| 11 | +public interface OilStationSocietyRepository extends BaseRepository<OilStationSociety, String>{ | |
| 12 | +} | ... | ... |
src/main/java/com/bsth/repository/realcontrol/ScheduleRealInfoRepository.java
| ... | ... | @@ -127,6 +127,10 @@ public interface ScheduleRealInfoRepository extends BaseRepository<ScheduleRealI |
| 127 | 127 | @Query(value="select s from ScheduleRealInfo s where s.xlBm like %?1% and DATE_FORMAT(s.scheduleDate,'%Y-%m') = ?2 and s.bcType not in ('in','out') order by s.xlBm") |
| 128 | 128 | List<ScheduleRealInfo> scheduleByDateAndLine3(String line,String date); |
| 129 | 129 | |
| 130 | + //按照时间段统计 | |
| 131 | + @Query(value="select s from ScheduleRealInfo s where s.xlBm like %?1% and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') between ?2 and ?3 and s.bcType not in ('in','out') order by s.xlBm") | |
| 132 | + List<ScheduleRealInfo> scheduleByDateAndLineTj(String line,String date,String date2); | |
| 133 | + | |
| 130 | 134 | @Query(value="select new map(s.scheduleDate as scheduleDate,s.xlBm as xlBm,s.clZbh as clZbh,s.jGh as jGh) from ScheduleRealInfo s where s.xlBm like %?1% and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2 and s.gsBm like %?3% and s.fgsBm like %?4% GROUP BY xlBm,clZbh,jGh,scheduleDate,jGh ORDER BY xlBm,clZbh") |
| 131 | 135 | List<Map<String,Object>> yesterdayDataList(String line,String date,String gsbm,String fgsbm); |
| 132 | 136 | ... | ... |
src/main/java/com/bsth/service/realcontrol/OilStationSocietyService.java
0 → 100644
| 1 | +package com.bsth.service.realcontrol; | |
| 2 | + | |
| 3 | +import com.bsth.entity.realcontrol.OilStationSociety; | |
| 4 | +import com.bsth.service.BaseService; | |
| 5 | + | |
| 6 | +/** | |
| 7 | + * Created by panzhao on 2017/3/16. | |
| 8 | + */ | |
| 9 | +public interface OilStationSocietyService extends BaseService<OilStationSociety, String> { | |
| 10 | +} | ... | ... |
src/main/java/com/bsth/service/realcontrol/ScheduleRealInfoService.java
| ... | ... | @@ -112,6 +112,8 @@ public interface ScheduleRealInfoService extends BaseService<ScheduleRealInfo, L |
| 112 | 112 | |
| 113 | 113 | List<Map<String,Object>> statisticsDaily(String line, String date, String xlName, String type); |
| 114 | 114 | |
| 115 | + List<Map<String,Object>> statisticsDailyTj(String line, String date,String date2, String xlName, String type); | |
| 116 | + | |
| 115 | 117 | //List<Object> scheduleDaily(String line,String date); |
| 116 | 118 | |
| 117 | 119 | int countByLineCodeAndDate(String xlBm, String schDate); |
| ... | ... | @@ -156,7 +158,7 @@ public interface ScheduleRealInfoService extends BaseService<ScheduleRealInfo, L |
| 156 | 158 | |
| 157 | 159 | Map<String,Object> lpChangeMulti(String leftIdx, String rightIdx, int type); |
| 158 | 160 | |
| 159 | - void lpChange(ScheduleRealInfo leftSch, ScheduleRealInfo rightSch, int type, boolean changeRealTime); | |
| 161 | + void lpChange(ScheduleRealInfo leftSch, ScheduleRealInfo rightSch, int type); | |
| 160 | 162 | |
| 161 | 163 | Map<String,Object> revokeRealArrive(Long id); |
| 162 | 164 | } | ... | ... |
src/main/java/com/bsth/service/realcontrol/impl/ChildTaskPlanServiceImpl.java
| ... | ... | @@ -9,6 +9,7 @@ import com.bsth.repository.realcontrol.ChildTaskPlanRepository; |
| 9 | 9 | import com.bsth.repository.realcontrol.ScheduleRealInfoRepository; |
| 10 | 10 | import com.bsth.service.impl.BaseServiceImpl; |
| 11 | 11 | import com.bsth.service.realcontrol.ChildTaskPlanService; |
| 12 | +import org.apache.commons.lang3.StringUtils; | |
| 12 | 13 | import org.springframework.beans.factory.annotation.Autowired; |
| 13 | 14 | import org.springframework.jdbc.core.JdbcTemplate; |
| 14 | 15 | import org.springframework.stereotype.Service; |
| ... | ... | @@ -45,8 +46,11 @@ public class ChildTaskPlanServiceImpl extends BaseServiceImpl<ChildTaskPlan, Lon |
| 45 | 46 | //保存起终点名称 |
| 46 | 47 | String prefix = sch.getXlBm() + "_" + sch.getXlDir() + "_"; |
| 47 | 48 | |
| 48 | - t.setStartStationName(BasicData.getStationNameByCode(t.getStartStation(), prefix)); | |
| 49 | - t.setEndStationName(BasicData.getStationNameByCode(t.getEndStation(), prefix)); | |
| 49 | + if(StringUtils.isEmpty(t.getStartStationName())) | |
| 50 | + t.setStartStationName(BasicData.getStationNameByCode(t.getStartStation(), prefix)); | |
| 51 | + | |
| 52 | + if(StringUtils.isEmpty(t.getEndStationName())) | |
| 53 | + t.setEndStationName(BasicData.getStationNameByCode(t.getEndStation(), prefix)); | |
| 50 | 54 | //先持久化子任务 |
| 51 | 55 | rs = super.save(t); |
| 52 | 56 | //再关联主任务 | ... | ... |
src/main/java/com/bsth/service/realcontrol/impl/OilStationSocietyServiceImpl.java
0 → 100644
| 1 | +package com.bsth.service.realcontrol.impl; | |
| 2 | + | |
| 3 | +import com.bsth.entity.realcontrol.OilStationSociety; | |
| 4 | +import com.bsth.service.impl.BaseServiceImpl; | |
| 5 | +import com.bsth.service.realcontrol.OilStationSocietyService; | |
| 6 | +import org.springframework.stereotype.Service; | |
| 7 | + | |
| 8 | +/** | |
| 9 | + * Created by panzhao on 2017/3/16. | |
| 10 | + */ | |
| 11 | +@Service | |
| 12 | +public class OilStationSocietyServiceImpl extends BaseServiceImpl<OilStationSociety, String> implements OilStationSocietyService { | |
| 13 | +} | ... | ... |
src/main/java/com/bsth/service/realcontrol/impl/ScheduleRealInfoServiceImpl.java
| ... | ... | @@ -854,6 +854,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 854 | 854 | } else { |
| 855 | 855 | sch.setStatus(0); |
| 856 | 856 | sch.setRemarks("");//清空备注 |
| 857 | + sch.setJhlc(sch.getJhlcOrig()); | |
| 857 | 858 | rs.put("status", ResponseCode.SUCCESS); |
| 858 | 859 | rs.put("t", sch); |
| 859 | 860 | |
| ... | ... | @@ -1058,9 +1059,11 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 1058 | 1059 | |
| 1059 | 1060 | //修改班次里程 |
| 1060 | 1061 | String jhlc = map.get("jhlc"); |
| 1061 | - if (StringUtils.isNotEmpty(jhlc) | |
| 1062 | - /*&& Double.parseDouble(jhlc) != sch.getJhlc()*/) { | |
| 1063 | - sch.setJhlc(Double.parseDouble(jhlc)); | |
| 1062 | + if (StringUtils.isNotEmpty(jhlc)) { | |
| 1063 | + if(Double.parseDouble(jhlc) == 0) | |
| 1064 | + destroy(sch.getId() + "", "", map.get("adjustExps").toString()); | |
| 1065 | + else | |
| 1066 | + sch.setJhlc(Double.parseDouble(jhlc)); | |
| 1064 | 1067 | } |
| 1065 | 1068 | } |
| 1066 | 1069 | |
| ... | ... | @@ -1313,14 +1316,14 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 1313 | 1316 | } else { |
| 1314 | 1317 | if (!(scheduleRealInfo.getBcType().equals("in") |
| 1315 | 1318 | || scheduleRealInfo.getBcType().equals("out"))) { |
| 1316 | - jhbc++; | |
| 1317 | - jhlc += tempJhlc; | |
| 1319 | + jhbc++; | |
| 1320 | + jhlc += tempJhlc; | |
| 1321 | + if (scheduleRealInfo.getStatus() == -1) { | |
| 1322 | + remMileage += tempJhlc; | |
| 1323 | + cjbc++; | |
| 1324 | + } | |
| 1318 | 1325 | } |
| 1319 | 1326 | |
| 1320 | - if (scheduleRealInfo.getStatus() == -1) { | |
| 1321 | - remMileage += tempJhlc; | |
| 1322 | - cjbc++; | |
| 1323 | - } | |
| 1324 | 1327 | } |
| 1325 | 1328 | Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks(); |
| 1326 | 1329 | //计算营运里程,空驶里程 |
| ... | ... | @@ -1429,14 +1432,651 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 1429 | 1432 | e.printStackTrace(); |
| 1430 | 1433 | } |
| 1431 | 1434 | } |
| 1432 | - | |
| 1433 | - return listMap; | |
| 1434 | - } | |
| 1435 | - | |
| 1436 | - @Override | |
| 1437 | - public List<ScheduleRealInfo> correctForm(String line, String startDate, | |
| 1438 | - String endDate, String lpName, String code, String type) { | |
| 1439 | - List<ScheduleRealInfo> list = scheduleRealInfoRepository.correctForm(line, startDate, endDate, lpName, code); | |
| 1435 | + | |
| 1436 | + return listMap; | |
| 1437 | + } | |
| 1438 | + | |
| 1439 | + @Override | |
| 1440 | + public List<ScheduleRealInfo> correctForm(String line, String startDate, | |
| 1441 | + String endDate, String lpName, String code, String type) { | |
| 1442 | + List<ScheduleRealInfo> list = scheduleRealInfoRepository.correctForm(line, startDate, endDate, lpName, code); | |
| 1443 | + | |
| 1444 | + if (type != null && type.length() != 0 && type.equals("export")) { | |
| 1445 | + SimpleDateFormat sdfMonth = new SimpleDateFormat("yyyy-MM-dd"), | |
| 1446 | + sdfSimple = new SimpleDateFormat("yyyyMMdd"); | |
| 1447 | + List<Iterator<?>> listI = new ArrayList<Iterator<?>>(); | |
| 1448 | + Map<String, Object> m = new HashMap<String, Object>(); | |
| 1449 | + ReportUtils ee = new ReportUtils(); | |
| 1450 | + m.put("dates", startDate + " 至 " + endDate); | |
| 1451 | + List<Map<String, Object>> tempList = new ArrayList<Map<String, Object>>(); | |
| 1452 | + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); | |
| 1453 | + for (ScheduleRealInfo schedule : list) { | |
| 1454 | + Map<String, Object> tempMap = new HashMap<String, Object>(); | |
| 1455 | + tempMap.put("xlName", schedule.getXlName() != null ? schedule.getXlName() : ""); | |
| 1456 | + tempMap.put("lpName", schedule.getLpName() != null ? schedule.getLpName() : ""); | |
| 1457 | + tempMap.put("clZbh", schedule.getClZbh() != null ? schedule.getClZbh() : ""); | |
| 1458 | + tempMap.put("jName", schedule.getjName() != null ? schedule.getjName() : ""); | |
| 1459 | + tempMap.put("sName", schedule.getsName() != null ? schedule.getsName() : ""); | |
| 1460 | + tempMap.put("fcsj", schedule.getFcsj() != null ? schedule.getFcsj() : ""); | |
| 1461 | + tempMap.put("fcsjActual", schedule.getFcsjActual() != null ? schedule.getFcsjActual() : ""); | |
| 1462 | + tempMap.put("zdsj", schedule.getZdsj() != null ? schedule.getZdsj() : ""); | |
| 1463 | + tempMap.put("zdsjActual", schedule.getZdsjActual() != null ? schedule.getZdsjActual() : ""); | |
| 1464 | + if (schedule.getUpdateBy() != null) { | |
| 1465 | + if (schedule.getUpdateBy().getName() != null) | |
| 1466 | + tempMap.put("userName", schedule.getUpdateBy().getName()); | |
| 1467 | + else | |
| 1468 | + tempMap.put("userName", ""); | |
| 1469 | + } else { | |
| 1470 | + tempMap.put("userName", ""); | |
| 1471 | + } | |
| 1472 | + if (schedule.getUpdateDate() != null) { | |
| 1473 | + tempMap.put("updateDate", sdf.format(schedule.getUpdateDate())); | |
| 1474 | + } else { | |
| 1475 | + tempMap.put("updateDate", ""); | |
| 1476 | + } | |
| 1477 | + tempMap.put("remarks", schedule.getRemarks() != null ? schedule.getRemarks() : ""); | |
| 1478 | + tempList.add(tempMap); | |
| 1479 | + } | |
| 1480 | + try { | |
| 1481 | + listI.add(tempList.iterator()); | |
| 1482 | + String path = this.getClass().getResource("/").getPath() + "static/pages/forms/"; | |
| 1483 | + ee.excelReplace(listI, new Object[]{m}, path + "mould/correctForm.xls", | |
| 1484 | + path + "export/修正报表" + sdfSimple.format(sdfMonth.parse(startDate)) + "-" + sdfSimple.format(sdfMonth.parse(endDate)) + ".xls"); | |
| 1485 | + } catch (Exception e) { | |
| 1486 | + // TODO: handle exception | |
| 1487 | + e.printStackTrace(); | |
| 1488 | + } | |
| 1489 | + Map<String, Object> map = tempList.get(tempList.size() - 1); | |
| 1490 | + System.out.println("tempMap:" + map); | |
| 1491 | + } | |
| 1492 | + | |
| 1493 | + return list; | |
| 1494 | + } | |
| 1495 | + | |
| 1496 | + @Override | |
| 1497 | + public List<ScheduleRealInfo> queryListWaybill(String jName, String clZbh, | |
| 1498 | + String lpName, String date, String line) { | |
| 1499 | + List<ScheduleRealInfo> listSchedule = new ArrayList<ScheduleRealInfo>(); | |
| 1500 | + List<ScheduleRealInfo> list = null; | |
| 1501 | + list = scheduleRealInfoRepository.queryListWaybill(jName, clZbh, lpName, date, line); | |
| 1502 | + for (int i = 0; i < list.size(); i++) { | |
| 1503 | + ScheduleRealInfo s = list.get(i); | |
| 1504 | + s.setAdjustExps(i + 1 + ""); | |
| 1505 | + String remarks = ""; | |
| 1506 | + if (s.getRemarks() != null) { | |
| 1507 | + remarks += s.getRemarks(); | |
| 1508 | + } | |
| 1509 | + | |
| 1510 | + Set<ChildTaskPlan> childTaskPlans = s.getcTasks(); | |
| 1511 | + if (!childTaskPlans.isEmpty()) { | |
| 1512 | + s.setFcsjActual(""); | |
| 1513 | + s.setZdsjActual(""); | |
| 1514 | + s.setJhlc(0.0); | |
| 1515 | + } | |
| 1516 | + | |
| 1517 | + if (s.isDestroy()) { | |
| 1518 | + s.setFcsjActual(""); | |
| 1519 | + s.setZdsjActual(""); | |
| 1520 | + s.setJhlc(0.0); | |
| 1521 | + remarks += "(烂班)"; | |
| 1522 | + s.setRemarks(remarks); | |
| 1523 | + } | |
| 1524 | + listSchedule.add(s); | |
| 1525 | + //计算营运里程,空驶里程 | |
| 1526 | + if (!childTaskPlans.isEmpty()) { | |
| 1527 | + String sqlPc = "select * from bsth_c_s_child_task where schedule=" + s.getId() + " order by start_date "; | |
| 1528 | + List<ScheduleRealInfo> lists = jdbcTemplate.query(sqlPc, | |
| 1529 | + new RowMapper<ScheduleRealInfo>() { | |
| 1530 | + @Override | |
| 1531 | + public ScheduleRealInfo mapRow(ResultSet rs, int rowNum) throws SQLException { | |
| 1532 | + ScheduleRealInfo t = new ScheduleRealInfo(); | |
| 1533 | + if (rs.getInt("destroy") == 0) { | |
| 1534 | + t.setFcsjActual(rs.getString("start_date")); | |
| 1535 | + t.setZdsjActual(rs.getString("end_date")); | |
| 1536 | + t.setJhlc(rs.getDouble("mileage")); | |
| 1537 | + } else { | |
| 1538 | + t.setFcsjActual(""); | |
| 1539 | + t.setZdsjActual(""); | |
| 1540 | + t.setJhlc(0.0); | |
| 1541 | + } | |
| 1542 | + t.setQdzName(rs.getString("start_station_name")); | |
| 1543 | + t.setZdzName(rs.getString("end_station_name")); | |
| 1544 | + t.setRemarks(rs.getString("remarks")); | |
| 1545 | + t.setAdjustExps("子"); | |
| 1546 | + return t; | |
| 1547 | + } | |
| 1548 | + }); | |
| 1549 | + for (int j = 0; j < lists.size(); j++) { | |
| 1550 | + ScheduleRealInfo t = lists.get(j); | |
| 1551 | + listSchedule.add(t); | |
| 1552 | + } | |
| 1553 | + } | |
| 1554 | + } | |
| 1555 | + | |
| 1556 | + return listSchedule; | |
| 1557 | + } | |
| 1558 | + | |
| 1559 | + @Override | |
| 1560 | + public Map<String, Object> removeChildTask(Long taskId) { | |
| 1561 | + Map<String, Object> rs = new HashMap<>(); | |
| 1562 | + ChildTaskPlan chTask = cTaskPlanRepository.findOne(taskId); | |
| 1563 | + | |
| 1564 | + ScheduleRealInfo sch = dayOfSchedule.get(chTask.getSchedule().getId()); | |
| 1565 | + try { | |
| 1566 | + | |
| 1567 | + sch.getcTasks().remove(chTask); | |
| 1568 | + scheduleRealInfoRepository.save(sch); | |
| 1569 | + rs.put("status", ResponseCode.SUCCESS); | |
| 1570 | + } catch (Exception e) { | |
| 1571 | + logger.error("", e); | |
| 1572 | + rs.put("status", ResponseCode.ERROR); | |
| 1573 | + } | |
| 1574 | + return rs; | |
| 1575 | + } | |
| 1576 | + | |
| 1577 | + @Override | |
| 1578 | + public List<Map<String, Object>> statisticsDaily(String line, String date, | |
| 1579 | + String xlName, String type) { | |
| 1580 | + List<ScheduleRealInfo> list = new ArrayList<ScheduleRealInfo>(); | |
| 1581 | + if (date.length() == 10) | |
| 1582 | + list = scheduleRealInfoRepository.scheduleByDateAndLine2(line, date); | |
| 1583 | + else if (date.length() == 7) | |
| 1584 | + list = scheduleRealInfoRepository.scheduleByDateAndLine3(line, date); | |
| 1585 | + | |
| 1586 | + List<Map<String, Object>> lMap = new ArrayList<Map<String, Object>>(); | |
| 1587 | + DecimalFormat format = new DecimalFormat("0.00"); | |
| 1588 | + double jhlc = 0, tempJhlc = 0, childMileage = 0; | |
| 1589 | + 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; | |
| 1590 | + //班次 | |
| 1591 | + 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; | |
| 1592 | + int sj_0 = 6 * 60 + 31, sj_1 = 8 * 60 + 30, sj_2 = 16 * 60 + 1, sj_3 = 18 * 60; | |
| 1593 | + int jhbc = 0, jhbc_m = 0, jhbc_a = 0; | |
| 1594 | + int sjbc = 0, sjbc_m = 0, sjbc_a = 0; | |
| 1595 | + int ljbc = 0, ljbc_m = 0, ljbc_a = 0; | |
| 1596 | + int fzbc = 0, fzbc_m = 0, fzbc_a = 0; | |
| 1597 | + int dtbc = 0, dtbc_m = 0, dtbc_a = 0; | |
| 1598 | + int djg = 0, djg_m = 0, djg_a = 0, djg_time = 0; | |
| 1599 | + | |
| 1600 | + double jhlcZ = 0, tempJhlcZ = 0, childMileageZ = 0; | |
| 1601 | + float sjglZ = 0f, ssglZ = 0f, ssgl_lzZ = 0f, ssgl_dmZ = 0f, | |
| 1602 | + ssgl_gzZ = 0f, ssgl_jfZ = 0f, ssgl_zsZ = 0f, ssgl_qrZ = 0f, ssgl_qcZ = 0f, | |
| 1603 | + ssgl_kxZ = 0f, ssgl_qhZ = 0f, ssgl_ywZ = 0f, ssgl_otherZ = 0f, ljglZ = 0f; | |
| 1604 | + //班次 | |
| 1605 | + 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; | |
| 1606 | + int jhbcZ = 0, jhbc_mZ = 0, jhbc_aZ = 0; | |
| 1607 | + int sjbcZ = 0, sjbc_mZ = 0, sjbc_aZ = 0; | |
| 1608 | + int ljbcZ = 0, ljbc_mZ = 0, ljbc_aZ = 0; | |
| 1609 | + int fzbcZ = 0, fzbc_mZ = 0, fzbc_aZ = 0; | |
| 1610 | + int dtbcZ = 0, dtbc_mZ = 0, dtbc_aZ = 0; | |
| 1611 | + int djgZ = 0, djg_mZ = 0, djg_aZ = 0, djg_timeZ = 0; | |
| 1612 | + Map<String, Object> map = null; | |
| 1613 | + for (int i = 0; i < list.size(); i++) { | |
| 1614 | + ScheduleRealInfo scheduleRealInfo = list.get(i); | |
| 1615 | + if (scheduleRealInfo != null) { | |
| 1616 | + Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks(); | |
| 1617 | + //计算实际里程,少驶里程,计划里程=实际里程+少驶里程 | |
| 1618 | + if (childTaskPlans.isEmpty()) { | |
| 1619 | + tempJhlc = scheduleRealInfo.getJhlc() == null ? 0 : scheduleRealInfo.getJhlc(); | |
| 1620 | + //临加公里 | |
| 1621 | + if (scheduleRealInfo.isSflj()) { | |
| 1622 | + ljgl += tempJhlc; | |
| 1623 | + ljglZ += tempJhlc; | |
| 1624 | + } else { | |
| 1625 | + jhlc += tempJhlc; | |
| 1626 | + jhlcZ += tempJhlc; | |
| 1627 | + } | |
| 1628 | + if (scheduleRealInfo.getStatus() == -1) { | |
| 1629 | + ssgl += tempJhlc; | |
| 1630 | + ssglZ += tempJhlc; | |
| 1631 | + ssbc++; | |
| 1632 | + ssbcZ++; | |
| 1633 | + if ((scheduleRealInfo.getRemarks() == null ? "" : scheduleRealInfo.getRemarks()).indexOf("路阻") != -1) { | |
| 1634 | + ssgl_lz += tempJhlc; | |
| 1635 | + ssgl_lzZ += tempJhlc; | |
| 1636 | + ssbc_lz++; | |
| 1637 | + ssbc_lzZ++; | |
| 1638 | + } else if ((scheduleRealInfo.getRemarks() == null ? "" : scheduleRealInfo.getRemarks()).indexOf("吊慢") != -1) { | |
| 1639 | + ssgl_dm += tempJhlc; | |
| 1640 | + ssgl_dmZ += tempJhlc; | |
| 1641 | + ssbc_dm++; | |
| 1642 | + ssbc_dmZ++; | |
| 1643 | + } else if ((scheduleRealInfo.getRemarks() == null ? "" : scheduleRealInfo.getRemarks()).indexOf("故障") != -1) { | |
| 1644 | + ssgl_gz += tempJhlc; | |
| 1645 | + ssgl_gzZ += tempJhlc; | |
| 1646 | + ssbc_gz++; | |
| 1647 | + ssbc_gzZ++; | |
| 1648 | + } else if ((scheduleRealInfo.getRemarks() == null ? "" : scheduleRealInfo.getRemarks()).indexOf("纠纷") != -1) { | |
| 1649 | + ssgl_jf += tempJhlc; | |
| 1650 | + ssgl_jfZ += tempJhlc; | |
| 1651 | + ssbc_jf++; | |
| 1652 | + ssbc_jfZ++; | |
| 1653 | + } else if ((scheduleRealInfo.getRemarks() == null ? "" : scheduleRealInfo.getRemarks()).indexOf("肇事") != -1) { | |
| 1654 | + ssgl_zs += tempJhlc; | |
| 1655 | + ssgl_zsZ += tempJhlc; | |
| 1656 | + ssbc_zs++; | |
| 1657 | + ssbc_zsZ++; | |
| 1658 | + } else if ((scheduleRealInfo.getRemarks() == null ? "" : scheduleRealInfo.getRemarks()).indexOf("缺人") != -1) { | |
| 1659 | + ssgl_qr += tempJhlc; | |
| 1660 | + ssgl_qrZ += tempJhlc; | |
| 1661 | + ssbc_qr++; | |
| 1662 | + ssbc_qrZ++; | |
| 1663 | + } else if ((scheduleRealInfo.getRemarks() == null ? "" : scheduleRealInfo.getRemarks()).indexOf("缺车") != -1) { | |
| 1664 | + ssgl_qc += tempJhlc; | |
| 1665 | + ssgl_qcZ += tempJhlc; | |
| 1666 | + ssbc_qc++; | |
| 1667 | + ssbc_qcZ++; | |
| 1668 | + } else if ((scheduleRealInfo.getRemarks() == null ? "" : scheduleRealInfo.getRemarks()).indexOf("客稀") != -1) { | |
| 1669 | + ssgl_kx += tempJhlc; | |
| 1670 | + ssgl_kxZ += tempJhlc; | |
| 1671 | + ssbc_kx++; | |
| 1672 | + ssbc_kxZ++; | |
| 1673 | + } else if ((scheduleRealInfo.getRemarks() == null ? "" : scheduleRealInfo.getRemarks()).indexOf("气候") != -1) { | |
| 1674 | + ssgl_qh += tempJhlc; | |
| 1675 | + ssgl_qhZ += tempJhlc; | |
| 1676 | + ssbc_qh++; | |
| 1677 | + ssbc_qhZ++; | |
| 1678 | + } else if ((scheduleRealInfo.getRemarks() == null ? "" : scheduleRealInfo.getRemarks()).indexOf("援外") != -1) { | |
| 1679 | + ssgl_yw += tempJhlc; | |
| 1680 | + ssgl_ywZ += tempJhlc; | |
| 1681 | + ssbc_yw++; | |
| 1682 | + ssbc_ywZ++; | |
| 1683 | + } else { | |
| 1684 | + ssgl_other += tempJhlc; | |
| 1685 | + ssgl_otherZ += tempJhlc; | |
| 1686 | + ssbc_other++; | |
| 1687 | + ssbc_otherZ++; | |
| 1688 | + } | |
| 1689 | + } else { | |
| 1690 | + sjgl += tempJhlc; | |
| 1691 | + sjglZ += tempJhlc; | |
| 1692 | + } | |
| 1693 | + } else { | |
| 1694 | + Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); | |
| 1695 | + while (it.hasNext()) { | |
| 1696 | + ChildTaskPlan childTaskPlan = it.next(); | |
| 1697 | + childMileage = childTaskPlan.getMileage() == null ? 0 : childTaskPlan.getMileage(); | |
| 1698 | + jhlc += childMileage; | |
| 1699 | + jhlcZ += childMileage; | |
| 1700 | + if (childTaskPlan.isDestroy()) { | |
| 1701 | + ssgl += childMileage; | |
| 1702 | + ssglZ += childMileage; | |
| 1703 | + ssbc++; | |
| 1704 | + ssbcZ++; | |
| 1705 | + if (childTaskPlan.getDestroyReason().equals("路阻")) { | |
| 1706 | + ssgl_lz += childTaskPlan.getMileage(); | |
| 1707 | + ssgl_lzZ += childTaskPlan.getMileage(); | |
| 1708 | + ssbc_lzZ++; | |
| 1709 | + ssbc_lzZ++; | |
| 1710 | + } else if (childTaskPlan.getDestroyReason().equals("吊慢")) { | |
| 1711 | + ssgl_dm += childTaskPlan.getMileage(); | |
| 1712 | + ssgl_dmZ += childTaskPlan.getMileage(); | |
| 1713 | + ssbc_dm++; | |
| 1714 | + ssbc_dmZ++; | |
| 1715 | + } else if (childTaskPlan.getDestroyReason().equals("故障")) { | |
| 1716 | + ssgl_gz += childTaskPlan.getMileage(); | |
| 1717 | + ssgl_gzZ += childTaskPlan.getMileage(); | |
| 1718 | + ssbc_gz++; | |
| 1719 | + ssbc_gzZ++; | |
| 1720 | + } else if (childTaskPlan.getDestroyReason().equals("纠纷")) { | |
| 1721 | + ssgl_jf += childTaskPlan.getMileage(); | |
| 1722 | + ssgl_jfZ += childTaskPlan.getMileage(); | |
| 1723 | + ssbc_jf++; | |
| 1724 | + ssbc_jfZ++; | |
| 1725 | + } else if (childTaskPlan.getDestroyReason().equals("肇事")) { | |
| 1726 | + ssgl_zs += childTaskPlan.getMileage(); | |
| 1727 | + ssgl_zsZ += childTaskPlan.getMileage(); | |
| 1728 | + ssbc_zs++; | |
| 1729 | + ssbc_zsZ++; | |
| 1730 | + } else if (childTaskPlan.getDestroyReason().equals("缺人")) { | |
| 1731 | + ssgl_qr += childTaskPlan.getMileage(); | |
| 1732 | + ssgl_qrZ += childTaskPlan.getMileage(); | |
| 1733 | + ssbc_qr++; | |
| 1734 | + ssbc_qrZ++; | |
| 1735 | + } else if (childTaskPlan.getDestroyReason().equals("缺车")) { | |
| 1736 | + ssgl_qc += childTaskPlan.getMileage(); | |
| 1737 | + ssgl_qcZ += childTaskPlan.getMileage(); | |
| 1738 | + ssbc_qc++; | |
| 1739 | + ssbc_qcZ++; | |
| 1740 | + } else if (childTaskPlan.getDestroyReason().equals("客稀")) { | |
| 1741 | + ssgl_kx += childTaskPlan.getMileage(); | |
| 1742 | + ssgl_kxZ += childTaskPlan.getMileage(); | |
| 1743 | + ssbc_kx++; | |
| 1744 | + ssbc_kxZ++; | |
| 1745 | + } else if (childTaskPlan.getDestroyReason().equals("气候")) { | |
| 1746 | + ssgl_qh += childTaskPlan.getMileage(); | |
| 1747 | + ssgl_qhZ += childTaskPlan.getMileage(); | |
| 1748 | + ssbc_qh++; | |
| 1749 | + ssbc_qhZ++; | |
| 1750 | + } else if (childTaskPlan.getDestroyReason().equals("援外")) { | |
| 1751 | + ssgl_yw += childTaskPlan.getMileage(); | |
| 1752 | + ssgl_ywZ += childTaskPlan.getMileage(); | |
| 1753 | + ssbc_yw++; | |
| 1754 | + ssbc_ywZ++; | |
| 1755 | + } else { | |
| 1756 | + ssgl_other += childTaskPlan.getMileage(); | |
| 1757 | + ssgl_otherZ += childTaskPlan.getMileage(); | |
| 1758 | + ssbc_other++; | |
| 1759 | + ssbc_otherZ++; | |
| 1760 | + } | |
| 1761 | + } else { | |
| 1762 | + sjgl += childMileage; | |
| 1763 | + sjglZ += childMileage; | |
| 1764 | + } | |
| 1765 | + } | |
| 1766 | + } | |
| 1767 | + | |
| 1768 | + //班次 | |
| 1769 | + jhbc++; | |
| 1770 | + jhbcZ++; | |
| 1771 | + String[] fcsj = scheduleRealInfo.getFcsj().split(":"); | |
| 1772 | + String[] fcsjActual = (scheduleRealInfo.getFcsjActual() == null ? "0:00" : scheduleRealInfo.getFcsjActual()).split(":"); | |
| 1773 | + if ((Integer.parseInt(fcsj[0]) * 60 + Integer.parseInt(fcsj[1])) > sj_0 && (Integer.parseInt(fcsj[0]) * 60 + Integer.parseInt(fcsj[1])) < sj_1) { | |
| 1774 | + jhbc_m++; | |
| 1775 | + jhbc_mZ++; | |
| 1776 | + } else if ((Integer.parseInt(fcsj[0]) * 60 + Integer.parseInt(fcsj[1])) > sj_2 && (Integer.parseInt(fcsj[0]) * 60 + Integer.parseInt(fcsj[1])) < sj_3) { | |
| 1777 | + jhbc_a++; | |
| 1778 | + jhbc_aZ++; | |
| 1779 | + } | |
| 1780 | + if (scheduleRealInfo.getStatus() != -1) { | |
| 1781 | + sjbc++; | |
| 1782 | + sjbcZ++; | |
| 1783 | + if ((Integer.parseInt(fcsjActual[0]) * 60 + Integer.parseInt(fcsjActual[1])) > sj_0 && (Integer.parseInt(fcsjActual[0]) * 60 + Integer.parseInt(fcsjActual[1])) < sj_1) { | |
| 1784 | + sjbc_m++; | |
| 1785 | + sjbc_mZ++; | |
| 1786 | + } else if ((Integer.parseInt(fcsjActual[0]) * 60 + Integer.parseInt(fcsjActual[1])) > sj_2 && (Integer.parseInt(fcsjActual[0]) * 60 + Integer.parseInt(fcsjActual[1])) < sj_3) { | |
| 1787 | + sjbc_a++; | |
| 1788 | + sjbc_aZ++; | |
| 1789 | + } | |
| 1790 | + } | |
| 1791 | + if (scheduleRealInfo.isSflj()) { | |
| 1792 | + ljbc++; | |
| 1793 | + ljbcZ++; | |
| 1794 | + if ((Integer.parseInt(fcsjActual[0]) * 60 + Integer.parseInt(fcsjActual[1])) > sj_0 && (Integer.parseInt(fcsjActual[0]) * 60 + Integer.parseInt(fcsjActual[1])) < sj_1) { | |
| 1795 | + ljbc_m++; | |
| 1796 | + ljbc_mZ++; | |
| 1797 | + } else if ((Integer.parseInt(fcsjActual[0]) * 60 + Integer.parseInt(fcsjActual[1])) > sj_2 && (Integer.parseInt(fcsjActual[0]) * 60 + Integer.parseInt(fcsjActual[1])) < sj_3) { | |
| 1798 | + ljbc_a++; | |
| 1799 | + ljbc_aZ++; | |
| 1800 | + } | |
| 1801 | + } | |
| 1802 | + if (scheduleRealInfo.getBcType().equals("venting")) { | |
| 1803 | + fzbc++; | |
| 1804 | + fzbcZ++; | |
| 1805 | + if ((Integer.parseInt(fcsjActual[0]) * 60 + Integer.parseInt(fcsjActual[1])) > sj_0 && (Integer.parseInt(fcsjActual[0]) * 60 + Integer.parseInt(fcsjActual[1])) < sj_1) { | |
| 1806 | + fzbc_m++; | |
| 1807 | + fzbc_mZ++; | |
| 1808 | + } else if ((Integer.parseInt(fcsjActual[0]) * 60 + Integer.parseInt(fcsjActual[1])) > sj_2 && (Integer.parseInt(fcsjActual[0]) * 60 + Integer.parseInt(fcsjActual[1])) < sj_3) { | |
| 1809 | + fzbc_a++; | |
| 1810 | + fzbc_aZ++; | |
| 1811 | + } | |
| 1812 | + } | |
| 1813 | + | |
| 1814 | + if (i < list.size() - 1) { | |
| 1815 | + if (!scheduleRealInfo.getXlBm().equals(list.get(i + 1).getXlBm())) { | |
| 1816 | + map = new HashMap<String, Object>(); | |
| 1817 | + map.put("xlName", scheduleRealInfo.getXlName()); | |
| 1818 | + map.put("jhlc", format.format(jhlc)); | |
| 1819 | + map.put("sjgl", format.format(sjgl)); | |
| 1820 | + map.put("ssgl", format.format(ssgl)); | |
| 1821 | + map.put("ssgl_lz", ssgl_lz == 0 ? 0 : format.format(ssgl_lz)); | |
| 1822 | + map.put("ssgl_dm", ssgl_dm == 0 ? 0 : format.format(ssgl_dm)); | |
| 1823 | + map.put("ssgl_gz", ssgl_gz == 0 ? 0 : format.format(ssgl_gz)); | |
| 1824 | + map.put("ssgl_jf", ssgl_jf == 0 ? 0 : format.format(ssgl_jf)); | |
| 1825 | + map.put("ssgl_zs", ssgl_zs == 0 ? 0 : format.format(ssgl_zs)); | |
| 1826 | + map.put("ssgl_qr", ssgl_qr == 0 ? 0 : format.format(ssgl_qr)); | |
| 1827 | + map.put("ssgl_qc", ssgl_qc == 0 ? 0 : format.format(ssgl_qc)); | |
| 1828 | + map.put("ssgl_kx", ssgl_kx == 0 ? 0 : format.format(ssgl_kx)); | |
| 1829 | + map.put("ssgl_qh", ssgl_qh == 0 ? 0 : format.format(ssgl_qh)); | |
| 1830 | + map.put("ssgl_yw", ssgl_yw == 0 ? 0 : format.format(ssgl_yw)); | |
| 1831 | + map.put("ssgl_other", ssgl_other == 0 ? 0 : format.format(ssgl_other)); | |
| 1832 | + map.put("ssbc", ssbc); | |
| 1833 | + map.put("ssbc_lz", ssbc_lz); | |
| 1834 | + map.put("ssbc_dm", ssbc_dm); | |
| 1835 | + map.put("ssbc_gz", ssbc_gz); | |
| 1836 | + map.put("ssbc_jf", ssbc_jf); | |
| 1837 | + map.put("ssbc_zs", ssbc_zs); | |
| 1838 | + map.put("ssbc_qr", ssbc_qr); | |
| 1839 | + map.put("ssbc_qc", ssbc_qc); | |
| 1840 | + map.put("ssbc_kx", ssbc_kx); | |
| 1841 | + map.put("ssbc_qh", ssbc_qh); | |
| 1842 | + map.put("ssbc_yw", ssbc_yw); | |
| 1843 | + map.put("ssbc_other", ssbc_other); | |
| 1844 | + map.put("ljgl", ljgl == 0 ? 0 : format.format(ljgl)); | |
| 1845 | + map.put("jhbc", jhbc); | |
| 1846 | + map.put("jhbc_m", jhbc_m); | |
| 1847 | + map.put("jhbc_a", jhbc_a); | |
| 1848 | + map.put("sjbc", sjbc); | |
| 1849 | + map.put("sjbc_m", sjbc_m); | |
| 1850 | + map.put("sjbc_a", sjbc_a); | |
| 1851 | + map.put("ljbc", ljbc); | |
| 1852 | + map.put("ljbc_m", ljbc_m); | |
| 1853 | + map.put("ljbc_a", ljbc_a); | |
| 1854 | + map.put("fzbc", fzbc); | |
| 1855 | + map.put("fzbc_m", fzbc_m); | |
| 1856 | + map.put("fzbc_a", fzbc_a); | |
| 1857 | + map.put("dtbc", dtbc); | |
| 1858 | + map.put("dtbc_m", dtbc_m); | |
| 1859 | + map.put("dtbc_a", dtbc_a); | |
| 1860 | + map.put("djg", djg); | |
| 1861 | + map.put("djg_m", djg_m); | |
| 1862 | + map.put("djg_a", djg_a); | |
| 1863 | + map.put("djg_time", djg_time); | |
| 1864 | + lMap.add(map); | |
| 1865 | + jhlc = 0; | |
| 1866 | + tempJhlc = 0; | |
| 1867 | + childMileage = 0; | |
| 1868 | + sjgl = 0f; | |
| 1869 | + ssgl = 0f; | |
| 1870 | + ssgl_lz = 0f; | |
| 1871 | + ssgl_dm = 0f; | |
| 1872 | + ssgl_gz = 0f; | |
| 1873 | + ssgl_jf = 0f; | |
| 1874 | + ssgl_zs = 0f; | |
| 1875 | + ssgl_qr = 0f; | |
| 1876 | + ssgl_qc = 0f; | |
| 1877 | + ssgl_kx = 0f; | |
| 1878 | + ssgl_qh = 0f; | |
| 1879 | + ssgl_yw = 0f; | |
| 1880 | + ssgl_other = 0f; | |
| 1881 | + ljgl = 0f; | |
| 1882 | + //班次 | |
| 1883 | + jhbc = 0; | |
| 1884 | + jhbc_m = 0; | |
| 1885 | + jhbc_a = 0; | |
| 1886 | + sjbc = 0; | |
| 1887 | + sjbc_m = 0; | |
| 1888 | + sjbc_a = 0; | |
| 1889 | + ljbc = 0; | |
| 1890 | + ljbc_m = 0; | |
| 1891 | + ljbc_a = 0; | |
| 1892 | + fzbc = 0; | |
| 1893 | + fzbc_m = 0; | |
| 1894 | + fzbc_a = 0; | |
| 1895 | + dtbc = 0; | |
| 1896 | + dtbc_m = 0; | |
| 1897 | + dtbc_a = 0; | |
| 1898 | + djg = 0; | |
| 1899 | + djg_m = 0; | |
| 1900 | + djg_a = 0; | |
| 1901 | + djg_time = 0; | |
| 1902 | + } | |
| 1903 | + } else { | |
| 1904 | + map = new HashMap<String, Object>(); | |
| 1905 | + map.put("xlName", scheduleRealInfo.getXlName()); | |
| 1906 | + map.put("jhlc", format.format(jhlc)); | |
| 1907 | + map.put("sjgl", format.format(sjgl)); | |
| 1908 | + map.put("ssgl", format.format(ssgl)); | |
| 1909 | + map.put("ssgl_lz", ssgl_lz == 0 ? 0 : format.format(ssgl_lz)); | |
| 1910 | + map.put("ssgl_dm", ssgl_dm == 0 ? 0 : format.format(ssgl_dm)); | |
| 1911 | + map.put("ssgl_gz", ssgl_gz == 0 ? 0 : format.format(ssgl_gz)); | |
| 1912 | + map.put("ssgl_jf", ssgl_jf == 0 ? 0 : format.format(ssgl_jf)); | |
| 1913 | + map.put("ssgl_zs", ssgl_zs == 0 ? 0 : format.format(ssgl_zs)); | |
| 1914 | + map.put("ssgl_qr", ssgl_qr == 0 ? 0 : format.format(ssgl_qr)); | |
| 1915 | + map.put("ssgl_qc", ssgl_qc == 0 ? 0 : format.format(ssgl_qc)); | |
| 1916 | + map.put("ssgl_kx", ssgl_kx == 0 ? 0 : format.format(ssgl_kx)); | |
| 1917 | + map.put("ssgl_qh", ssgl_qh == 0 ? 0 : format.format(ssgl_qh)); | |
| 1918 | + map.put("ssgl_yw", ssgl_yw == 0 ? 0 : format.format(ssgl_yw)); | |
| 1919 | + map.put("ssgl_other", ssgl_other == 0 ? 0 : format.format(ssgl_other)); | |
| 1920 | + map.put("ssbc", ssbc); | |
| 1921 | + map.put("ssbc_lz", ssbc_lz); | |
| 1922 | + map.put("ssbc_dm", ssbc_dm); | |
| 1923 | + map.put("ssbc_gz", ssbc_gz); | |
| 1924 | + map.put("ssbc_jf", ssbc_jf); | |
| 1925 | + map.put("ssbc_zs", ssbc_zs); | |
| 1926 | + map.put("ssbc_qr", ssbc_qr); | |
| 1927 | + map.put("ssbc_qc", ssbc_qc); | |
| 1928 | + map.put("ssbc_kx", ssbc_kx); | |
| 1929 | + map.put("ssbc_qh", ssbc_qh); | |
| 1930 | + map.put("ssbc_yw", ssbc_yw); | |
| 1931 | + map.put("ssbc_other", ssbc_other); | |
| 1932 | + map.put("ljgl", ljgl == 0 ? 0 : format.format(ljgl)); | |
| 1933 | + map.put("jhbc", jhbc); | |
| 1934 | + map.put("jhbc_m", jhbc_m); | |
| 1935 | + map.put("jhbc_a", jhbc_a); | |
| 1936 | + map.put("sjbc", sjbc); | |
| 1937 | + map.put("sjbc_m", sjbc_m); | |
| 1938 | + map.put("sjbc_a", sjbc_a); | |
| 1939 | + map.put("ljbc", ljbc); | |
| 1940 | + map.put("ljbc_m", ljbc_m); | |
| 1941 | + map.put("ljbc_a", ljbc_a); | |
| 1942 | + map.put("fzbc", fzbc); | |
| 1943 | + map.put("fzbc_m", fzbc_m); | |
| 1944 | + map.put("fzbc_a", fzbc_a); | |
| 1945 | + map.put("dtbc", dtbc); | |
| 1946 | + map.put("dtbc_m", dtbc_m); | |
| 1947 | + map.put("dtbc_a", dtbc_a); | |
| 1948 | + map.put("djg", djg); | |
| 1949 | + map.put("djg_m", djg_m); | |
| 1950 | + map.put("djg_a", djg_a); | |
| 1951 | + map.put("djg_time", djg_time); | |
| 1952 | + lMap.add(map); | |
| 1953 | + jhlc = 0; | |
| 1954 | + tempJhlc = 0; | |
| 1955 | + childMileage = 0; | |
| 1956 | + sjgl = 0f; | |
| 1957 | + ssgl = 0f; | |
| 1958 | + ssgl_lz = 0f; | |
| 1959 | + ssgl_dm = 0f; | |
| 1960 | + ssgl_gz = 0f; | |
| 1961 | + ssgl_jf = 0f; | |
| 1962 | + ssgl_zs = 0f; | |
| 1963 | + ssgl_qr = 0f; | |
| 1964 | + ssgl_qc = 0f; | |
| 1965 | + ssgl_kx = 0f; | |
| 1966 | + ssgl_qh = 0f; | |
| 1967 | + ssgl_yw = 0f; | |
| 1968 | + ssgl_other = 0f; | |
| 1969 | + ljgl = 0f; | |
| 1970 | + //班次 | |
| 1971 | + jhbc = 0; | |
| 1972 | + jhbc_m = 0; | |
| 1973 | + jhbc_a = 0; | |
| 1974 | + sjbc = 0; | |
| 1975 | + sjbc_m = 0; | |
| 1976 | + sjbc_a = 0; | |
| 1977 | + ljbc = 0; | |
| 1978 | + ljbc_m = 0; | |
| 1979 | + ljbc_a = 0; | |
| 1980 | + fzbc = 0; | |
| 1981 | + fzbc_m = 0; | |
| 1982 | + fzbc_a = 0; | |
| 1983 | + dtbc = 0; | |
| 1984 | + dtbc_m = 0; | |
| 1985 | + dtbc_a = 0; | |
| 1986 | + djg = 0; | |
| 1987 | + djg_m = 0; | |
| 1988 | + djg_a = 0; | |
| 1989 | + djg_time = 0; | |
| 1990 | + } | |
| 1991 | + } | |
| 1992 | + } | |
| 1993 | + map = new HashMap<String, Object>(); | |
| 1994 | + map.put("xlName", "合计"); | |
| 1995 | + map.put("jhlc", format.format(jhlcZ)); | |
| 1996 | + map.put("sjgl", format.format(sjglZ)); | |
| 1997 | + map.put("ssgl", format.format(ssglZ)); | |
| 1998 | + map.put("ssgl_lz", ssgl_lzZ == 0 ? 0 : format.format(ssgl_lzZ)); | |
| 1999 | + map.put("ssgl_dm", ssgl_dmZ == 0 ? 0 : format.format(ssgl_dmZ)); | |
| 2000 | + map.put("ssgl_gz", ssgl_gzZ == 0 ? 0 : format.format(ssgl_gzZ)); | |
| 2001 | + map.put("ssgl_jf", ssgl_jfZ == 0 ? 0 : format.format(ssgl_jfZ)); | |
| 2002 | + map.put("ssgl_zs", ssgl_zsZ == 0 ? 0 : format.format(ssgl_zsZ)); | |
| 2003 | + map.put("ssgl_qr", ssgl_qrZ == 0 ? 0 : format.format(ssgl_qrZ)); | |
| 2004 | + map.put("ssgl_qc", ssgl_qcZ == 0 ? 0 : format.format(ssgl_qcZ)); | |
| 2005 | + map.put("ssgl_kx", ssgl_kxZ == 0 ? 0 : format.format(ssgl_kxZ)); | |
| 2006 | + map.put("ssgl_qh", ssgl_qhZ == 0 ? 0 : format.format(ssgl_qhZ)); | |
| 2007 | + map.put("ssgl_yw", ssgl_ywZ == 0 ? 0 : format.format(ssgl_ywZ)); | |
| 2008 | + map.put("ssgl_other", ssgl_otherZ == 0 ? 0 : format.format(ssgl_otherZ)); | |
| 2009 | + map.put("ssbc", ssbcZ); | |
| 2010 | + map.put("ssbc_lz", ssbc_lzZ); | |
| 2011 | + map.put("ssbc_dm", ssbc_lzZ); | |
| 2012 | + map.put("ssbc_gz", ssbc_gzZ); | |
| 2013 | + map.put("ssbc_jf", ssbc_jfZ); | |
| 2014 | + map.put("ssbc_zs", ssbc_zsZ); | |
| 2015 | + map.put("ssbc_qr", ssbc_qrZ); | |
| 2016 | + map.put("ssbc_qc", ssbc_qcZ); | |
| 2017 | + map.put("ssbc_kx", ssbc_qcZ); | |
| 2018 | + map.put("ssbc_qh", ssbc_qhZ); | |
| 2019 | + map.put("ssbc_yw", ssbc_ywZ); | |
| 2020 | + map.put("ssbc_other", ssbc_otherZ); | |
| 2021 | + map.put("ljgl", ljglZ == 0 ? 0 : format.format(ljglZ)); | |
| 2022 | + map.put("jhbc", jhbcZ); | |
| 2023 | + map.put("jhbc_m", jhbc_mZ); | |
| 2024 | + map.put("jhbc_a", jhbc_aZ); | |
| 2025 | + map.put("sjbc", sjbcZ); | |
| 2026 | + map.put("sjbc_m", sjbc_mZ); | |
| 2027 | + map.put("sjbc_a", sjbc_aZ); | |
| 2028 | + map.put("ljbc", ljbcZ); | |
| 2029 | + map.put("ljbc_m", ljbc_mZ); | |
| 2030 | + map.put("ljbc_a", ljbc_aZ); | |
| 2031 | + map.put("fzbc", fzbcZ); | |
| 2032 | + map.put("fzbc_m", fzbc_mZ); | |
| 2033 | + map.put("fzbc_a", fzbc_aZ); | |
| 2034 | + map.put("dtbc", dtbcZ); | |
| 2035 | + map.put("dtbc_m", dtbc_mZ); | |
| 2036 | + map.put("dtbc_a", dtbc_aZ); | |
| 2037 | + map.put("djg", djgZ); | |
| 2038 | + map.put("djg_m", djg_mZ); | |
| 2039 | + map.put("djg_a", djg_aZ); | |
| 2040 | + map.put("djg_time", djg_timeZ); | |
| 2041 | + lMap.add(map); | |
| 2042 | + /* for (int i = 0; i < lMap.size(); i++) { | |
| 2043 | + Map<String, Object> m=lMap.get(i); | |
| 2044 | +// m.get("")) | |
| 2045 | + jhlc += Double.parseDouble(m.get("jhlc").toString()); | |
| 2046 | + sjgl += Double.parseDouble(m.get("sjgl").toString()); | |
| 2047 | + ssgl += Double.parseDouble( m.get("ssgl").toString()); | |
| 2048 | + ssgl_lz += Double.parseDouble( m.get("ssgl_lz").toString()); | |
| 2049 | + ssgl_dm += Double.parseDouble(m.get("ssgl_dm").toString()); | |
| 2050 | + ssgl_gz += Double.parseDouble( m.get("ssgl_gz").toString()); | |
| 2051 | + ssgl_jf += m.get("ssgl_jf", ssgl_jf == 0 ? 0 : format.format(ssgl_jf)); | |
| 2052 | + m.get("ssgl_zs", ssgl_zs == 0 ? 0 : format.format(ssgl_zs)); | |
| 2053 | + m.get("ssgl_qr", ssgl_qr == 0 ? 0 : format.format(ssgl_qr)); | |
| 2054 | + m.get("ssgl_qc", ssgl_qc == 0 ? 0 : format.format(ssgl_qc)); | |
| 2055 | + m.get("ssgl_kx", ssgl_kx == 0 ? 0 : format.format(ssgl_kx)); | |
| 2056 | + m.get("ssgl_qh", ssgl_qh == 0 ? 0 : format.format(ssgl_qh)); | |
| 2057 | + m.get("ssgl_yw", ssgl_yw == 0 ? 0 : format.format(ssgl_yw)); | |
| 2058 | + m.get("ssgl_other", ssgl_other == 0 ? 0 : format.format(ssgl_other)); | |
| 2059 | + m.get("ljgl", ljgl == 0 ? 0 : format.format(ljgl)); | |
| 2060 | + m.get("jhbc", jhbc); | |
| 2061 | + m.get("jhbc_m", jhbc_m); | |
| 2062 | + m.get("jhbc_a", jhbc_a); | |
| 2063 | + m.get("sjbc", sjbc); | |
| 2064 | + m.get("sjbc_m", sjbc_m); | |
| 2065 | + m.get("sjbc_a", sjbc_a); | |
| 2066 | + m.get("ljbc", ljbc); | |
| 2067 | + m.get("ljbc_m", ljbc_m); | |
| 2068 | + m.get("ljbc_a", ljbc_a); | |
| 2069 | + m.get("fzbc", fzbc); | |
| 2070 | + m.get("fzbc_m", fzbc_m); | |
| 2071 | + m.get("fzbc_a", fzbc_a); | |
| 2072 | + m.get("dtbc", dtbc); | |
| 2073 | + m.get("dtbc_m", dtbc_m); | |
| 2074 | + m.get("dtbc_a", dtbc_a); | |
| 2075 | + m.get("djg", djg); | |
| 2076 | + m.get("djg_m", djg_m); | |
| 2077 | + m.get("djg_a", djg_a); | |
| 2078 | + m.get("djg_time", djg_time); | |
| 2079 | + }*/ | |
| 1440 | 2080 | |
| 1441 | 2081 | if (type != null && type.length() != 0 && type.equals("export")) { |
| 1442 | 2082 | SimpleDateFormat sdfMonth = new SimpleDateFormat("yyyy-MM-dd"), |
| ... | ... | @@ -1444,141 +2084,25 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 1444 | 2084 | List<Iterator<?>> listI = new ArrayList<Iterator<?>>(); |
| 1445 | 2085 | Map<String, Object> m = new HashMap<String, Object>(); |
| 1446 | 2086 | ReportUtils ee = new ReportUtils(); |
| 1447 | - m.put("dates", startDate + " 至 " + endDate); | |
| 1448 | - List<Map<String, Object>> tempList = new ArrayList<Map<String, Object>>(); | |
| 1449 | - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); | |
| 1450 | - for (ScheduleRealInfo schedule : list) { | |
| 1451 | - Map<String, Object> tempMap = new HashMap<String, Object>(); | |
| 1452 | - tempMap.put("xlName", schedule.getXlName() != null ? schedule.getXlName() : ""); | |
| 1453 | - tempMap.put("lpName", schedule.getLpName() != null ? schedule.getLpName() : ""); | |
| 1454 | - tempMap.put("clZbh", schedule.getClZbh() != null ? schedule.getClZbh() : ""); | |
| 1455 | - tempMap.put("jName", schedule.getjName() != null ? schedule.getjName() : ""); | |
| 1456 | - tempMap.put("sName", schedule.getsName() != null ? schedule.getsName() : ""); | |
| 1457 | - tempMap.put("fcsj", schedule.getFcsj() != null ? schedule.getFcsj() : ""); | |
| 1458 | - tempMap.put("fcsjActual", schedule.getFcsjActual() != null ? schedule.getFcsjActual() : ""); | |
| 1459 | - tempMap.put("zdsj", schedule.getZdsj() != null ? schedule.getZdsj() : ""); | |
| 1460 | - tempMap.put("zdsjActual", schedule.getZdsjActual() != null ? schedule.getZdsjActual() : ""); | |
| 1461 | - if (schedule.getUpdateBy() != null) { | |
| 1462 | - if (schedule.getUpdateBy().getName() != null) | |
| 1463 | - tempMap.put("userName", schedule.getUpdateBy().getName()); | |
| 1464 | - else | |
| 1465 | - tempMap.put("userName", ""); | |
| 1466 | - } else { | |
| 1467 | - tempMap.put("userName", ""); | |
| 1468 | - } | |
| 1469 | - if (schedule.getUpdateDate() != null) { | |
| 1470 | - tempMap.put("updateDate", sdf.format(schedule.getUpdateDate())); | |
| 1471 | - } else { | |
| 1472 | - tempMap.put("updateDate", ""); | |
| 1473 | - } | |
| 1474 | - tempMap.put("remarks", schedule.getRemarks() != null ? schedule.getRemarks() : ""); | |
| 1475 | - tempList.add(tempMap); | |
| 1476 | - } | |
| 1477 | 2087 | try { |
| 1478 | - listI.add(tempList.iterator()); | |
| 2088 | + listI.add(lMap.iterator()); | |
| 1479 | 2089 | String path = this.getClass().getResource("/").getPath() + "static/pages/forms/"; |
| 1480 | - ee.excelReplace(listI, new Object[]{m}, path + "mould/correctForm.xls", | |
| 1481 | - path + "export/修正报表" + sdfSimple.format(sdfMonth.parse(startDate)) + "-" + sdfSimple.format(sdfMonth.parse(endDate)) + ".xls"); | |
| 2090 | + ee.excelReplace(listI, new Object[]{m}, path + "mould/statisticsDaily_.xls", | |
| 2091 | + path + "export/统计日报" + sdfSimple.format(sdfMonth.parse(date)) + ".xls"); | |
| 1482 | 2092 | } catch (Exception e) { |
| 1483 | 2093 | // TODO: handle exception |
| 1484 | 2094 | e.printStackTrace(); |
| 1485 | 2095 | } |
| 1486 | - Map<String, Object> map = tempList.get(tempList.size() - 1); | |
| 1487 | - System.out.println("tempMap:" + map); | |
| 1488 | - } | |
| 1489 | - | |
| 1490 | - return list; | |
| 1491 | - } | |
| 1492 | - | |
| 1493 | - @Override | |
| 1494 | - public List<ScheduleRealInfo> queryListWaybill(String jName, String clZbh, | |
| 1495 | - String lpName, String date, String line) { | |
| 1496 | - List<ScheduleRealInfo> listSchedule = new ArrayList<ScheduleRealInfo>(); | |
| 1497 | - List<ScheduleRealInfo> list = null; | |
| 1498 | - list = scheduleRealInfoRepository.queryListWaybill(jName, clZbh, lpName, date, line); | |
| 1499 | - for (int i = 0; i < list.size(); i++) { | |
| 1500 | - ScheduleRealInfo s = list.get(i); | |
| 1501 | - s.setAdjustExps(i + 1 + ""); | |
| 1502 | - String remarks = ""; | |
| 1503 | - if (s.getRemarks() != null) { | |
| 1504 | - remarks += s.getRemarks(); | |
| 1505 | - } | |
| 1506 | - | |
| 1507 | - Set<ChildTaskPlan> childTaskPlans = s.getcTasks(); | |
| 1508 | - if (!childTaskPlans.isEmpty()) { | |
| 1509 | - s.setFcsjActual(""); | |
| 1510 | - s.setZdsjActual(""); | |
| 1511 | - s.setJhlc(0.0); | |
| 1512 | - } | |
| 1513 | - | |
| 1514 | - if (s.isDestroy()) { | |
| 1515 | - s.setFcsjActual(""); | |
| 1516 | - s.setZdsjActual(""); | |
| 1517 | - s.setJhlc(0.0); | |
| 1518 | - remarks += "(烂班)"; | |
| 1519 | - s.setRemarks(remarks); | |
| 1520 | - } | |
| 1521 | - listSchedule.add(s); | |
| 1522 | - //计算营运里程,空驶里程 | |
| 1523 | - if (!childTaskPlans.isEmpty()) { | |
| 1524 | - String sqlPc = "select * from bsth_c_s_child_task where schedule=" + s.getId() + " order by start_date "; | |
| 1525 | - List<ScheduleRealInfo> lists = jdbcTemplate.query(sqlPc, | |
| 1526 | - new RowMapper<ScheduleRealInfo>() { | |
| 1527 | - @Override | |
| 1528 | - public ScheduleRealInfo mapRow(ResultSet rs, int rowNum) throws SQLException { | |
| 1529 | - ScheduleRealInfo t = new ScheduleRealInfo(); | |
| 1530 | - if (rs.getInt("destroy") == 0) { | |
| 1531 | - t.setFcsjActual(rs.getString("start_date")); | |
| 1532 | - t.setZdsjActual(rs.getString("end_date")); | |
| 1533 | - t.setJhlc(rs.getDouble("mileage")); | |
| 1534 | - } else { | |
| 1535 | - t.setFcsjActual(""); | |
| 1536 | - t.setZdsjActual(""); | |
| 1537 | - t.setJhlc(0.0); | |
| 1538 | - } | |
| 1539 | - t.setQdzName(rs.getString("start_station_name")); | |
| 1540 | - t.setZdzName(rs.getString("end_station_name")); | |
| 1541 | - t.setRemarks(rs.getString("remarks")); | |
| 1542 | - t.setAdjustExps("子"); | |
| 1543 | - return t; | |
| 1544 | - } | |
| 1545 | - }); | |
| 1546 | - for (int j = 0; j < lists.size(); j++) { | |
| 1547 | - ScheduleRealInfo t = lists.get(j); | |
| 1548 | - listSchedule.add(t); | |
| 1549 | - } | |
| 1550 | - } | |
| 1551 | 2096 | } |
| 1552 | 2097 | |
| 1553 | - return listSchedule; | |
| 1554 | - } | |
| 1555 | - | |
| 1556 | - @Override | |
| 1557 | - public Map<String, Object> removeChildTask(Long taskId) { | |
| 1558 | - Map<String, Object> rs = new HashMap<>(); | |
| 1559 | - ChildTaskPlan chTask = cTaskPlanRepository.findOne(taskId); | |
| 1560 | - | |
| 1561 | - ScheduleRealInfo sch = dayOfSchedule.get(chTask.getSchedule().getId()); | |
| 1562 | - try { | |
| 1563 | - | |
| 1564 | - sch.getcTasks().remove(chTask); | |
| 1565 | - scheduleRealInfoRepository.save(sch); | |
| 1566 | - rs.put("status", ResponseCode.SUCCESS); | |
| 1567 | - } catch (Exception e) { | |
| 1568 | - logger.error("", e); | |
| 1569 | - rs.put("status", ResponseCode.ERROR); | |
| 1570 | - } | |
| 1571 | - return rs; | |
| 2098 | + return lMap; | |
| 1572 | 2099 | } |
| 1573 | - | |
| 2100 | + | |
| 1574 | 2101 | @Override |
| 1575 | - public List<Map<String, Object>> statisticsDaily(String line, String date, | |
| 2102 | + public List<Map<String, Object>> statisticsDailyTj(String line, String date,String date2, | |
| 1576 | 2103 | String xlName, String type) { |
| 1577 | 2104 | List<ScheduleRealInfo> list = new ArrayList<ScheduleRealInfo>(); |
| 1578 | - if (date.length() == 10) | |
| 1579 | - list = scheduleRealInfoRepository.scheduleByDateAndLine2(line, date); | |
| 1580 | - else if (date.length() == 7) | |
| 1581 | - list = scheduleRealInfoRepository.scheduleByDateAndLine3(line, date); | |
| 2105 | + list = scheduleRealInfoRepository.scheduleByDateAndLineTj(line, date,date2); | |
| 1582 | 2106 | |
| 1583 | 2107 | List<Map<String, Object>> lMap = new ArrayList<Map<String, Object>>(); |
| 1584 | 2108 | DecimalFormat format = new DecimalFormat("0.00"); |
| ... | ... | @@ -3609,17 +4133,21 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 3609 | 4133 | } |
| 3610 | 4134 | |
| 3611 | 4135 | ScheduleRealInfo leftSch, rightSch = null; |
| 3612 | - boolean changeRealTime = true; | |
| 3613 | 4136 | for (int i = 0; i < largeList.size(); i++) { |
| 3614 | 4137 | leftSch = largeList.get(i); |
| 3615 | 4138 | if (i < smallList.size()) { |
| 3616 | 4139 | rightSch = smallList.get(i); |
| 3617 | 4140 | ts.add(rightSch); |
| 3618 | - } else | |
| 3619 | - changeRealTime = false; | |
| 4141 | + } else{ | |
| 4142 | + //不对称时多出来的 | |
| 4143 | + lpChangeByLeft(leftSch, largeList.get(i - 1), type); | |
| 4144 | + ts.add(leftSch); | |
| 4145 | + cars.add(leftSch.getClZbh()); | |
| 4146 | + continue; | |
| 4147 | + } | |
| 3620 | 4148 | |
| 3621 | 4149 | //调换路牌 |
| 3622 | - lpChange(leftSch, rightSch, type, changeRealTime); | |
| 4150 | + lpChange(leftSch, rightSch, type); | |
| 3623 | 4151 | ts.add(leftSch); |
| 3624 | 4152 | |
| 3625 | 4153 | cars.add(leftSch.getClZbh()); |
| ... | ... | @@ -3655,19 +4183,38 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 3655 | 4183 | } |
| 3656 | 4184 | |
| 3657 | 4185 | @Override |
| 3658 | - public void lpChange(ScheduleRealInfo leftSch, ScheduleRealInfo rightSch, int type, boolean changeRealTime) { | |
| 4186 | + public void lpChange(ScheduleRealInfo leftSch, ScheduleRealInfo rightSch, int type) { | |
| 3659 | 4187 | LpData leftData = new LpData(leftSch); |
| 3660 | 4188 | LpData rightData = new LpData(rightSch); |
| 3661 | 4189 | |
| 3662 | - leftData.appendTo(rightSch, type, changeRealTime); | |
| 3663 | - rightData.appendTo(leftSch, type, changeRealTime); | |
| 4190 | + leftData.appendTo(rightSch, type); | |
| 4191 | + rightData.appendTo(leftSch, type); | |
| 4192 | + | |
| 4193 | + if(type > 0){ | |
| 4194 | + //更新车辆和班次映射信息 | |
| 4195 | + dayOfSchedule.removeNbbm2SchMapp(leftSch, leftData.getNbbm()); | |
| 4196 | + dayOfSchedule.removeNbbm2SchMapp(rightSch, rightData.getNbbm()); | |
| 3664 | 4197 | |
| 3665 | - //更新车辆和班次映射信息 | |
| 3666 | - dayOfSchedule.removeNbbm2SchMapp(leftSch, leftData.getNbbm()); | |
| 3667 | - dayOfSchedule.removeNbbm2SchMapp(rightSch, rightData.getNbbm()); | |
| 4198 | + dayOfSchedule.addNbbm2SchMapp(leftSch, rightData.getNbbm()); | |
| 4199 | + dayOfSchedule.addNbbm2SchMapp(rightSch, leftData.getNbbm()); | |
| 4200 | + } | |
| 4201 | + } | |
| 4202 | + | |
| 4203 | + /** | |
| 4204 | + * 更换左边班次的路牌,右边不变 | |
| 4205 | + * @param leftSch | |
| 4206 | + * @param rightSch | |
| 4207 | + * @param type | |
| 4208 | + */ | |
| 4209 | + public void lpChangeByLeft(ScheduleRealInfo leftSch, ScheduleRealInfo rightSch, int type) { | |
| 4210 | + LpData rightData = new LpData(rightSch); | |
| 3668 | 4211 | |
| 3669 | - dayOfSchedule.addNbbm2SchMapp(leftSch, rightData.getNbbm()); | |
| 3670 | - dayOfSchedule.addNbbm2SchMapp(rightSch, leftData.getNbbm()); | |
| 4212 | + rightData.appendTo(leftSch, type); | |
| 4213 | + | |
| 4214 | + if(type > 0){ | |
| 4215 | + //更新车辆和班次映射信息 | |
| 4216 | + dayOfSchedule.addNbbm2SchMapp(leftSch, rightData.getNbbm()); | |
| 4217 | + } | |
| 3671 | 4218 | } |
| 3672 | 4219 | |
| 3673 | 4220 | @Override | ... | ... |
src/main/resources/static/pages/forms/statement/scheduleDaily.html
| ... | ... | @@ -37,7 +37,7 @@ |
| 37 | 37 | </div> |
| 38 | 38 | <div class="form-group"> |
| 39 | 39 | <input class="btn btn-default" type="button" id="query" value="查询"/> |
| 40 | - <input class="btn btn-default" type="button" id="month" value="按月查询"/> | |
| 40 | +<!-- <input class="btn btn-default" type="button" id="month" value="按月查询"/> --> | |
| 41 | 41 | <input class="btn btn-default" type="button" id="export" value="导出"/> |
| 42 | 42 | </div> |
| 43 | 43 | </form> |
| ... | ... | @@ -345,7 +345,7 @@ |
| 345 | 345 | }); |
| 346 | 346 | |
| 347 | 347 | //按月查询 |
| 348 | - $("#month").on('click',function(){ | |
| 348 | + /* $("#month").on('click',function(){ | |
| 349 | 349 | line = $("#line").val(); |
| 350 | 350 | xlName = $("#select2-line-container").html(); |
| 351 | 351 | date = $("#date").val(); |
| ... | ... | @@ -363,7 +363,7 @@ |
| 363 | 363 | $('#forms .scheduleDaily_2').html(""); |
| 364 | 364 | $('#forms .scheduleDaily_3').html(""); |
| 365 | 365 | |
| 366 | - }); | |
| 366 | + }); */ | |
| 367 | 367 | |
| 368 | 368 | $("#export").on("click",function(){ |
| 369 | 369 | var params = {}; | ... | ... |
src/main/resources/static/pages/forms/statement/statisticsDaily.html
| ... | ... | @@ -32,9 +32,13 @@ |
| 32 | 32 | <select class="form-control" name="line" id="line" style="width: 180px;"></select> |
| 33 | 33 | </div> |
| 34 | 34 | <div style="display: inline-block;margin-left: 15px;"> |
| 35 | - <span class="item-label" style="width: 80px;">时间: </span> | |
| 35 | + <span class="item-label" style="width: 80px;">开始时间: </span> | |
| 36 | 36 | <input class="form-control" type="text" id="date" style="width: 180px;"/> |
| 37 | 37 | </div> |
| 38 | + <div style="display: inline-block;margin-left: 15px;"> | |
| 39 | + <span class="item-label" style="width: 80px;">结束时间: </span> | |
| 40 | + <input class="form-control" type="text" id="date2" style="width: 180px;"/> | |
| 41 | + </div> | |
| 38 | 42 | <div class="form-group"> |
| 39 | 43 | <input class="btn btn-default" type="button" id="query" value="查询"/> |
| 40 | 44 | <input class="btn btn-default" type="button" id="export" value="导出"/> |
| ... | ... | @@ -124,6 +128,22 @@ |
| 124 | 128 | format : 'YYYY-MM-DD', |
| 125 | 129 | locale : 'zh-cn' |
| 126 | 130 | }); |
| 131 | + | |
| 132 | + $("#date2").datetimepicker({ | |
| 133 | + format : 'YYYY-MM-DD', | |
| 134 | + locale : 'zh-cn' | |
| 135 | + }); | |
| 136 | + var d = new Date(); | |
| 137 | + var year = d.getFullYear(); | |
| 138 | + var month = d.getMonth() + 1; | |
| 139 | + var day = d.getDate(); | |
| 140 | + if(month < 10) | |
| 141 | + month = "0" + month; | |
| 142 | + if(day < 10) | |
| 143 | + day = "0" + day; | |
| 144 | + $("#date").val(year + "-" + month + "-" + day); | |
| 145 | + | |
| 146 | + $("#date2").val(year + "-" + month + "-" + day); | |
| 127 | 147 | $.get('/basic/lineCode2Name',function(result){ |
| 128 | 148 | var data=[]; |
| 129 | 149 | |
| ... | ... | @@ -139,24 +159,31 @@ |
| 139 | 159 | var line =""; |
| 140 | 160 | var xlName =""; |
| 141 | 161 | var date = ""; |
| 162 | + var date2 =""; | |
| 142 | 163 | $("#query").on("click",function(){ |
| 143 | 164 | line = $("#line").val(); |
| 144 | 165 | xlName = $("#select2-line-container").html(); |
| 145 | 166 | date = $("#date").val(); |
| 167 | + date2 =$("#date2").val(); | |
| 146 | 168 | if(line=="请选择"){ |
| 147 | 169 | line=""; |
| 148 | 170 | } |
| 149 | - $get('/realSchedule/statisticsDaily',{line:line,date:date,xlName:xlName,type:"query"},function(result){ | |
| 150 | - // 把数据填充到模版中 | |
| 151 | - var tbodyHtml = template('statisticsDaily',{list:result}); | |
| 152 | - // 把渲染好的模版html文本追加到表格中 | |
| 153 | - $('#forms .statisticsDaily').html(tbodyHtml); | |
| 154 | - | |
| 155 | - if(result.length == 0) | |
| 156 | - $("#export").attr('disabled',"true"); | |
| 157 | - else | |
| 158 | - $("#export").removeAttr("disabled"); | |
| 159 | - }); | |
| 171 | + if(date==null || date =="" ||date2==null || date2 ==""){ | |
| 172 | + layer.msg('请选择时间段.'); | |
| 173 | + }else{ | |
| 174 | + $get('/realSchedule/statisticsDailyTj',{line:line,date:date,date2:date2,xlName:xlName,type:"query"},function(result){ | |
| 175 | + // 把数据填充到模版中 | |
| 176 | + var tbodyHtml = template('statisticsDaily',{list:result}); | |
| 177 | + // 把渲染好的模版html文本追加到表格中 | |
| 178 | + $('#forms .statisticsDaily').html(tbodyHtml); | |
| 179 | + | |
| 180 | + if(result.length == 0) | |
| 181 | + $("#export").attr('disabled',"true"); | |
| 182 | + else | |
| 183 | + $("#export").removeAttr("disabled"); | |
| 184 | + }); | |
| 185 | + } | |
| 186 | + | |
| 160 | 187 | }); |
| 161 | 188 | |
| 162 | 189 | $("#export").on("click",function(){ | ... | ... |
src/main/resources/static/pages/forms/statement/waybill.html
| ... | ... | @@ -238,13 +238,13 @@ |
| 238 | 238 | // 把渲染好的模版html文本追加到表格中 |
| 239 | 239 | $('#forms .ludan_1').html(ludan_1); |
| 240 | 240 | }); |
| 241 | - $post('/realSchedule/queryListWaybill',{jName:jName,clZbh:params[1],lpName:params[2],date:date,line:line},function(result){ | |
| 241 | + $get('/realSchedule/queryListWaybill',{jName:jName,clZbh:params[1],lpName:params[2],date:date,line:line},function(result){ | |
| 242 | 242 | getTime(result); |
| 243 | 243 | var ludan_2 = template('ludan_2',{list:result}); |
| 244 | 244 | // 把渲染好的模版html文本追加到表格中 |
| 245 | 245 | $('#forms .ludan_2').html(ludan_2); |
| 246 | 246 | }); |
| 247 | - $post('/realSchedule/findKMBC',{jName:jName,clZbh:params[1],lpName:params[2],date:date,line:line},function(result){ | |
| 247 | + $get('/realSchedule/findKMBC',{jName:jName,clZbh:params[1],lpName:params[2],date:date,line:line},function(result){ | |
| 248 | 248 | var ludan_3 = template('ludan_3',result); |
| 249 | 249 | $('#forms .ludan_3').html(ludan_3); |
| 250 | 250 | }); |
| ... | ... | @@ -254,7 +254,7 @@ |
| 254 | 254 | if(params.length < 1){ |
| 255 | 255 | return; |
| 256 | 256 | } |
| 257 | - $post('/realSchedule/exportWaybill',{jName:jName,clZbh:params[1],lpName:params[2],date:date,line:line},function(result){ | |
| 257 | + $get('/realSchedule/exportWaybill',{jName:jName,clZbh:params[1],lpName:params[2],date:date,line:line},function(result){ | |
| 258 | 258 | window.open("/downloadFile/download?fileName="+date+"-"+jName+"-"+params[1]+"-"+params[2]+"-行车路单"); |
| 259 | 259 | }); |
| 260 | 260 | }); | ... | ... |
src/main/resources/static/pages/forms/statement/waybillQp.html
| ... | ... | @@ -181,13 +181,13 @@ |
| 181 | 181 | $('#forms .ludan_1').html(ludan_1); |
| 182 | 182 | //$('#forms .ludan_4').html(ludan_4); |
| 183 | 183 | }); |
| 184 | - $post('/realSchedule/queryListWaybillQp',{clZbh:params[0],date:date,line:line},function(result){ | |
| 184 | + $get('/realSchedule/queryListWaybillQp',{clZbh:params[0],date:date,line:line},function(result){ | |
| 185 | 185 | getTime(result); |
| 186 | 186 | var ludan_2 = template('ludan_2',{list:result}); |
| 187 | 187 | // 把渲染好的模版html文本追加到表格中 |
| 188 | 188 | $('#forms .ludan_2').html(ludan_2); |
| 189 | 189 | }); |
| 190 | - $post('/realSchedule/findKMBCQp',{clZbh:params[0],date:date,line:line},function(result){ | |
| 190 | + $get('/realSchedule/findKMBCQp',{clZbh:params[0],date:date,line:line},function(result){ | |
| 191 | 191 | console.log(result); |
| 192 | 192 | var ludan_3 = template('ludan_3',{map:result}); |
| 193 | 193 | $('#forms .ludan_3').html(ludan_3); |
| ... | ... | @@ -199,7 +199,7 @@ |
| 199 | 199 | if(params.length < 1){ |
| 200 | 200 | return; |
| 201 | 201 | } |
| 202 | - $post('/realSchedule/exportWaybillQp',{clZbh:params[0],date:date,line:line},function(result){ | |
| 202 | + $get('/realSchedule/exportWaybillQp',{clZbh:params[0],date:date,line:line},function(result){ | |
| 203 | 203 | var fileName=date+"-"+params[0]+"-行车路单" |
| 204 | 204 | window.open("/downloadFile/download?fileName="+fileName); |
| 205 | 205 | // window.open("/downloadFile/download?fileName="+encodeURIComponent(encodeURIComponent(fileName))); | ... | ... |
src/main/resources/static/real_control_v2/css/line_schedule.css
| ... | ... | @@ -239,7 +239,7 @@ |
| 239 | 239 | } |
| 240 | 240 | |
| 241 | 241 | .schedule-body .ct_table dl:nth-child(even){ |
| 242 | - background: rgba(249, 249, 249, 0.31); | |
| 242 | + background: rgba(101, 204, 220, 0.13); | |
| 243 | 243 | } |
| 244 | 244 | |
| 245 | 245 | span.fcsj-diff { |
| ... | ... | @@ -532,7 +532,7 @@ div.drop-rail[data-type="car"]:before { |
| 532 | 532 | } |
| 533 | 533 | |
| 534 | 534 | dl.relevance-active dd:nth-child(n+2) { |
| 535 | - background: #c1e2f9 !important; | |
| 535 | + background: #d2d2d2 !important; | |
| 536 | 536 | } |
| 537 | 537 | |
| 538 | 538 | dl.relevance-active.intimity dd:nth-child(n+2) { | ... | ... |
src/main/resources/static/real_control_v2/css/main.css
| ... | ... | @@ -863,4 +863,40 @@ svg rect.offline{ |
| 863 | 863 | color: white; |
| 864 | 864 | box-shadow: 0px 4px 6px 0 rgba(0, 0, 0, 0.2), 0px 4px 10px 0 rgba(0, 0, 0, 0.19); |
| 865 | 865 | border-radius: 1px 1px 4px 4px; |
| 866 | +} | |
| 867 | + | |
| 868 | +#oil_station-modal.ct-form-modal form.uk-form-horizontal .uk-form-label{ | |
| 869 | + width: 120px; | |
| 870 | +} | |
| 871 | + | |
| 872 | +#oil_station-modal.ct-form-modal form.uk-form-horizontal .uk-form-controls{ | |
| 873 | + margin-left: 125px; | |
| 874 | +} | |
| 875 | + | |
| 876 | +#oil_station-modal .uk-form-icon>[class*=uk-icon-]{ | |
| 877 | + right: 23px; | |
| 878 | +} | |
| 879 | + | |
| 880 | +#oil_station-modal .uk-form-icon:not(.uk-form-icon-flip)>input{ | |
| 881 | + padding-left: 10px !important; | |
| 882 | +} | |
| 883 | + | |
| 884 | +#oil_station-modal .uk-form-icon{ | |
| 885 | + width: calc(100% - 145px); | |
| 886 | +} | |
| 887 | + | |
| 888 | +#oil_station-modal .uk-icon-mile:before{ | |
| 889 | + content: '公里'; | |
| 890 | +} | |
| 891 | + | |
| 892 | +#oil_station-modal .uk-icon-minute:before{ | |
| 893 | + content: '分钟'; | |
| 894 | +} | |
| 895 | + | |
| 896 | +option.oil_station_opt{ | |
| 897 | + color: red; | |
| 898 | +} | |
| 899 | + | |
| 900 | +#oil_station-modal .uk-modal .uk-form.fv-form{ | |
| 901 | + margin-bottom: 0 !important; | |
| 866 | 902 | } |
| 867 | 903 | \ No newline at end of file | ... | ... |
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/fcxxwt.html
| ... | ... | @@ -197,7 +197,7 @@ |
| 197 | 197 | } |
| 198 | 198 | |
| 199 | 199 | //里程有修改 |
| 200 | - if(data.jhlc != sch.jhlc){ | |
| 200 | + if(data.jhlc != sch.jhlc && data.jhlc != 0){ | |
| 201 | 201 | var confHtml = '<h4 style="color: #c04c4c;margin-bottom: 9px;">确认要将班次里程由'+sch.jhlc+' 修改为'+data.jhlc+' </h4><small>备注:</small>'; |
| 202 | 202 | UIkit.modal.prompt(confHtml, data.remarks, function(remarks){ |
| 203 | 203 | if(remarks){ | ... | ... |
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/lj_zrw.html
| ... | ... | @@ -267,7 +267,7 @@ |
| 267 | 267 | } |
| 268 | 268 | }); |
| 269 | 269 | //公里与主任务不符合 |
| 270 | - if (sum != sch.jhlc) { | |
| 270 | + if (sum != sch.jhlcOrig) { | |
| 271 | 271 | if (i > 1) |
| 272 | 272 | calcs += ('=' + sum); |
| 273 | 273 | calcs += (' ≠ ' + sch.jhlc); |
| ... | ... | @@ -320,6 +320,11 @@ |
| 320 | 320 | var sch = getActiveSch(); |
| 321 | 321 | if (!sch) |
| 322 | 322 | return notify_err('无法获取到主任务信息!'); |
| 323 | + | |
| 324 | + if(sch.bcType == 'out' || sch.bcType == 'in'){ | |
| 325 | + notify_err('暂不能在进出场班次上做回场子任务!'); | |
| 326 | + return; | |
| 327 | + } | |
| 323 | 328 | open_modal(folder + '/sub_task/add_sub_task_inpark.html', { |
| 324 | 329 | sch: sch |
| 325 | 330 | }, modal_opts); |
| ... | ... | @@ -330,6 +335,10 @@ |
| 330 | 335 | var sch = getActiveSch(); |
| 331 | 336 | if (!sch) |
| 332 | 337 | return notify_err('无法获取到主任务信息!'); |
| 338 | + if(sch.bcType == 'out' || sch.bcType == 'in'){ | |
| 339 | + notify_err('暂不能在进出场班次上做出场子任务!'); | |
| 340 | + return; | |
| 341 | + } | |
| 333 | 342 | open_modal(folder + '/sub_task/add_sub_task_outpark.html', { |
| 334 | 343 | sch: sch |
| 335 | 344 | }, modal_opts); |
| ... | ... | @@ -369,6 +378,20 @@ |
| 369 | 378 | }); |
| 370 | 379 | }, '确定删除'); |
| 371 | 380 | }; |
| 381 | + //加油 | |
| 382 | + var add_oil = function () { | |
| 383 | + var sch = getActiveSch(); | |
| 384 | + if (!sch) | |
| 385 | + return notify_err('无法获取到主任务信息!'); | |
| 386 | + | |
| 387 | + if(sch.bcType == 'out' || sch.bcType == 'in'){ | |
| 388 | + notify_err('暂不能在进出场班次上做加油子任务!'); | |
| 389 | + return; | |
| 390 | + } | |
| 391 | + open_modal(folder + '/sub_task/add_sub_task_oil.html', { | |
| 392 | + sch: sch | |
| 393 | + }, modal_opts); | |
| 394 | + }; | |
| 372 | 395 | |
| 373 | 396 | var callbackHandler = { |
| 374 | 397 | add_temp_sch: add_temp_sch, |
| ... | ... | @@ -377,7 +400,8 @@ |
| 377 | 400 | add_sub_task_in: add_sub_task_in, |
| 378 | 401 | remove_sub_task: remove_sub_task, |
| 379 | 402 | add_sub_task_out: add_sub_task_out, |
| 380 | - add_sub_task_range_turn: add_sub_task_range_turn | |
| 403 | + add_sub_task_range_turn: add_sub_task_range_turn, | |
| 404 | + add_oil: add_oil | |
| 381 | 405 | }; |
| 382 | 406 | |
| 383 | 407 | //右键菜单 |
| ... | ... | @@ -394,6 +418,9 @@ |
| 394 | 418 | "add_sub_task": { |
| 395 | 419 | name: "添加子任务", |
| 396 | 420 | items: { |
| 421 | + 'add_oil':{ | |
| 422 | + name: '加油' | |
| 423 | + }, | |
| 397 | 424 | 'add_sub_task_in': { |
| 398 | 425 | name: '回场' |
| 399 | 426 | }, | ... | ... |
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/sub_task/add_sub_task_inpark.html
| ... | ... | @@ -52,7 +52,7 @@ |
| 52 | 52 | </div> |
| 53 | 53 | </div> |
| 54 | 54 | <div class="uk-width-7-10 pl5"> |
| 55 | - <input type="text" name="mileage" required> | |
| 55 | + <input type="number" step="0.01" name="mileage" required> | |
| 56 | 56 | </div> |
| 57 | 57 | </div> |
| 58 | 58 | <div class="uk-grid"> |
| ... | ... | @@ -125,7 +125,7 @@ |
| 125 | 125 | </div> |
| 126 | 126 | </div> |
| 127 | 127 | <div class="uk-width-7-10 pl5"> |
| 128 | - <input type="text" name="mileage" required style="width: calc(100% - 62px);"> | |
| 128 | + <input type="number" step="0.01" name="mileage" required style="width: calc(100% - 62px);"> | |
| 129 | 129 | <a style="font-size: 12px;color: grey;cursor: default;" data-uk-tooltip title="可选择回场路径,设置途径点位。暂不开放" id="inpark_paths_link">路径(<span>0</span>)</a> |
| 130 | 130 | </div> |
| 131 | 131 | </div> |
| ... | ... | @@ -190,7 +190,7 @@ |
| 190 | 190 | </div> |
| 191 | 191 | </div> |
| 192 | 192 | <div class="uk-width-7-10 pl5"> |
| 193 | - <input type="text" name="mileage" required> | |
| 193 | + <input type="number" step="0.01" name="mileage" required> | |
| 194 | 194 | </div> |
| 195 | 195 | </div> |
| 196 | 196 | <div class="uk-grid"> | ... | ... |
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/sub_task/add_sub_task_oil.html
0 → 100644
| 1 | +<div class="uk-modal ct-form-modal" id="schedule-addsch_oil-modal"> | |
| 2 | + <div class="uk-modal-dialog" style="width: 1201px;"> | |
| 3 | + <a href="" class="uk-modal-close uk-close"></a> | |
| 4 | + <div class="uk-modal-header"> | |
| 5 | + <h2>加油</h2></div> | |
| 6 | + | |
| 7 | + <div class="uk-grid"> | |
| 8 | + <div class="uk-width-1-3"> | |
| 9 | + <form class="uk-form uk-form-horizontal "> | |
| 10 | + <input type="hidden" name="type1" value="正常"> | |
| 11 | + <input type="hidden" name="type2" value="1"> | |
| 12 | + <input type="hidden" name="mileageType" value="service"> | |
| 13 | + | |
| 14 | + <div class="uk-panel uk-panel-box uk-panel-box-primary"> | |
| 15 | + <div class="uk-panel-badge uk-badge ">营运</div> | |
| 16 | + <h3 class="uk-panel-title">线路上站点间</h3> | |
| 17 | + <div class="uk-form-row"> | |
| 18 | + <label class="uk-form-label">起点站</label> | |
| 19 | + <div class="uk-form-controls"> | |
| 20 | + <input type="hidden" name="startStation"> | |
| 21 | + <input type="text" name="startStationName" disabled> | |
| 22 | + </div> | |
| 23 | + </div> | |
| 24 | + <div class="uk-form-row"> | |
| 25 | + <label class="uk-form-label">终点站</label> | |
| 26 | + <div class="uk-form-controls"> | |
| 27 | + <input type="hidden" name="endStation"> | |
| 28 | + <input type="text" name="endStationName" disabled> | |
| 29 | + </div> | |
| 30 | + </div> | |
| 31 | + <div class="uk-form-row"> | |
| 32 | + <label class="uk-form-label">里程</label> | |
| 33 | + <div class="uk-form-controls"> | |
| 34 | + <input type="number" step="0.01" name="mileage" max=222 | |
| 35 | + data-fv-lessthan-inclusive="false" | |
| 36 | + disabled> | |
| 37 | + </div> | |
| 38 | + </div> | |
| 39 | + <div class="uk-form-row"> | |
| 40 | + <label class="uk-form-label">开始时间</label> | |
| 41 | + <div class="uk-form-controls"> | |
| 42 | + <input type="time" name="startDate" required> | |
| 43 | + </div> | |
| 44 | + </div> | |
| 45 | + <div class="uk-form-row"> | |
| 46 | + <label class="uk-form-label">结束时间</label> | |
| 47 | + <div class="uk-form-controls"> | |
| 48 | + <input type="time" name="endDate" required> | |
| 49 | + </div> | |
| 50 | + </div> | |
| 51 | + </div> | |
| 52 | + </form> | |
| 53 | + </div> | |
| 54 | + | |
| 55 | + <div class="uk-width-1-3"> | |
| 56 | + <form class="uk-form uk-form-horizontal"> | |
| 57 | + <input type="hidden" name="type1" value="临加"> | |
| 58 | + <input type="hidden" name="type2" value="2"> | |
| 59 | + <input type="hidden" name="mileageType" value="empty"> | |
| 60 | + | |
| 61 | + <div class="uk-panel uk-panel-box uk-panel-box-secondary"> | |
| 62 | + <div class="uk-panel-badge uk-badge uk-badge-default">空驶</div> | |
| 63 | + <h3 class="uk-panel-title">进场</h3> | |
| 64 | + <div class="uk-form-row"> | |
| 65 | + <label class="uk-form-label">起点站</label> | |
| 66 | + <div class="uk-form-controls"> | |
| 67 | + <select name="startStation" required> | |
| 68 | + </select> | |
| 69 | + <input type="hidden" name="startStationName" disabled> | |
| 70 | + </div> | |
| 71 | + </div> | |
| 72 | + <div class="uk-form-row"> | |
| 73 | + <label class="uk-form-label">终点站</label> | |
| 74 | + <div class="uk-form-controls"> | |
| 75 | + <select name="endStation" required> | |
| 76 | + </select> | |
| 77 | + <input type="hidden" name="endStationName" disabled> | |
| 78 | + </div> | |
| 79 | + </div> | |
| 80 | + <div class="uk-form-row"> | |
| 81 | + <label class="uk-form-label">里程</label> | |
| 82 | + <div class="uk-form-controls"> | |
| 83 | + <input type="number" step="0.01" name="mileage" max=222 | |
| 84 | + data-fv-lessthan-inclusive="false" | |
| 85 | + required> | |
| 86 | + </div> | |
| 87 | + </div> | |
| 88 | + <div class="uk-form-row"> | |
| 89 | + <label class="uk-form-label">开始时间</label> | |
| 90 | + <div class="uk-form-controls"> | |
| 91 | + <input type="time" name="startDate" required> | |
| 92 | + </div> | |
| 93 | + </div> | |
| 94 | + <div class="uk-form-row"> | |
| 95 | + <label class="uk-form-label">结束时间</label> | |
| 96 | + <div class="uk-form-controls"> | |
| 97 | + <input type="time" name="endDate" required> | |
| 98 | + </div> | |
| 99 | + </div> | |
| 100 | + </div> | |
| 101 | + </form> | |
| 102 | + </div> | |
| 103 | + | |
| 104 | + <div class="uk-width-1-3"> | |
| 105 | + <form class="uk-form uk-form-horizontal"> | |
| 106 | + <input type="hidden" name="type1" value="临加"> | |
| 107 | + <input type="hidden" name="type2" value="3"> | |
| 108 | + <input type="hidden" name="mileageType" value="empty"> | |
| 109 | + | |
| 110 | + <div class="uk-panel uk-panel-box uk-panel-box-secondary"> | |
| 111 | + <div class="uk-panel-badge uk-badge uk-badge-default">空驶</div> | |
| 112 | + <h3 class="uk-panel-title">出场</h3> | |
| 113 | + <div class="uk-form-row"> | |
| 114 | + <label class="uk-form-label">起点站</label> | |
| 115 | + <div class="uk-form-controls"> | |
| 116 | + <select name="startStation" required> | |
| 117 | + </select> | |
| 118 | + <input type="hidden" name="startStationName" disabled> | |
| 119 | + </div> | |
| 120 | + </div> | |
| 121 | + <div class="uk-form-row"> | |
| 122 | + <label class="uk-form-label">终点站</label> | |
| 123 | + <div class="uk-form-controls"> | |
| 124 | + <select name="endStation" required> | |
| 125 | + </select> | |
| 126 | + <input type="hidden" name="endStationName" disabled> | |
| 127 | + </div> | |
| 128 | + </div> | |
| 129 | + <div class="uk-form-row"> | |
| 130 | + <label class="uk-form-label">里程</label> | |
| 131 | + <div class="uk-form-controls"> | |
| 132 | + <input type="number" step="0.01" name="mileage" max=222 | |
| 133 | + data-fv-lessthan-inclusive="false" | |
| 134 | + required> | |
| 135 | + </div> | |
| 136 | + </div> | |
| 137 | + <div class="uk-form-row"> | |
| 138 | + <label class="uk-form-label">开始时间</label> | |
| 139 | + <div class="uk-form-controls"> | |
| 140 | + <input type="time" name="startDate" required> | |
| 141 | + </div> | |
| 142 | + </div> | |
| 143 | + <div class="uk-form-row"> | |
| 144 | + <label class="uk-form-label">结束时间</label> | |
| 145 | + <div class="uk-form-controls"> | |
| 146 | + <input type="time" name="endDate" required> | |
| 147 | + </div> | |
| 148 | + </div> | |
| 149 | + </div> | |
| 150 | + </form> | |
| 151 | + </div> | |
| 152 | + </div> | |
| 153 | + <div class="uk-modal-footer uk-text-right" style="margin-bottom: -20px;"> | |
| 154 | + <span class="bind_gas_station_panel" style="position: absolute;left: 30px;text-decoration: underline;"></span> | |
| 155 | + <button type="button" class="uk-button uk-modal-close">取消</button> | |
| 156 | + <button type="submit" id="submitChildTaskBtn" class="uk-button uk-button-primary"><i class="uk-icon-check"></i> 保存</button> | |
| 157 | + </div> | |
| 158 | + </div> | |
| 159 | + | |
| 160 | + <script id="schedule-addsch_oil-form-temp" type="text/html"> | |
| 161 | + | |
| 162 | + </script> | |
| 163 | + | |
| 164 | + <script> | |
| 165 | + (function () { | |
| 166 | + var modal = '#schedule-addsch_oil-modal', | |
| 167 | + sch, stationRoutes, parks, oilStation; | |
| 168 | + var yyForm = $('form', modal)[0]; | |
| 169 | + var jcForm = $('form', modal)[1]; | |
| 170 | + var ccForm = $('form', modal)[2]; | |
| 171 | + var oilId; | |
| 172 | + var lineInfo; | |
| 173 | + | |
| 174 | + var folder = '/real_control_v2/fragments/line_schedule/context_menu'; | |
| 175 | + $(modal).on('init', function (e, data) { | |
| 176 | + e.stopPropagation(); | |
| 177 | + sch = data.sch; | |
| 178 | + oilId = sch.xlBm + '_oil_station'; | |
| 179 | + lineInfo = gb_data_basic.codeToLine[sch.xlBm]; | |
| 180 | + | |
| 181 | + //站点路由 | |
| 182 | + stationRoutes = gb_common.groupBy(gb_data_basic.stationRoutes(sch.xlBm).sort(function (a, b) { | |
| 183 | + return a.stationRouteCode - b.stationRouteCode; | |
| 184 | + }), 'directions'); | |
| 185 | + | |
| 186 | + setDefaultVal(); | |
| 187 | + //停车场 | |
| 188 | + $.get('/basic/parks', function (rs) { | |
| 189 | + parks = rs; | |
| 190 | + var opts = ''; | |
| 191 | + for (var code in parks) { | |
| 192 | + opts += '<option value="' + code + '">' + parks[code] + '</option>'; | |
| 193 | + } | |
| 194 | + $('[name=endStation]', jcForm).html(opts); | |
| 195 | + $('[name=startStation]', ccForm).html(opts); | |
| 196 | + }); | |
| 197 | + | |
| 198 | + //切换空驶起终点 | |
| 199 | + $('[name=endStation]', jcForm).on('change', reCalcIn); | |
| 200 | + $('[name=startStation]', jcForm).on('change', reCalcIn); | |
| 201 | + | |
| 202 | + $('[name=endStation]', ccForm).on('change', reCalcOut); | |
| 203 | + $('[name=startStation]', ccForm).on('change', reCalcOut); | |
| 204 | + //修改开始时间 | |
| 205 | + $('[name=startDate]', jcForm).on('change', reCalcIn); | |
| 206 | + $('[name=startDate]', ccForm).on('change', reCalcOut); | |
| 207 | + | |
| 208 | + //绑定的社会加油站 | |
| 209 | + $.get('/oilStation/'+sch.xlBm, function (rs) { | |
| 210 | + var htmlStr; | |
| 211 | + oilStation = rs; | |
| 212 | + if(oilStation){ | |
| 213 | + htmlStr = '<a><i class="uk-icon-product-hunt"></i> '+oilStation.stationName+'</a>'; | |
| 214 | + | |
| 215 | + var opt = '<option value="'+oilId+'" class="oil_station_opt">'+oilStation.stationName+'</option>'; | |
| 216 | + $('[name=endStation]', jcForm).prepend(opt).val(oilId).change(); | |
| 217 | + $('[name=startStation]', ccForm).prepend(opt).val(oilId).change(); | |
| 218 | + } | |
| 219 | + else | |
| 220 | + htmlStr = '<a>为'+sch.xlName+'绑定一个社会加油站</a>'; | |
| 221 | + | |
| 222 | + $('.bind_gas_station_panel', modal).html(htmlStr); | |
| 223 | + $('.bind_gas_station_panel a', modal).on('click', function () { | |
| 224 | + open_modal(folder + '/sub_task//oil_station.html', { | |
| 225 | + sch: sch | |
| 226 | + }, {center: false, bgclose: false, modal: false}); | |
| 227 | + }); | |
| 228 | + }); | |
| 229 | + }); | |
| 230 | + | |
| 231 | + var dataArray = []; | |
| 232 | + var fs = $('form', modal).formValidation({ | |
| 233 | + framework: 'uikit', | |
| 234 | + locale: 'zh_CN' | |
| 235 | + }); | |
| 236 | + fs.on('success.form.fv', function(e) { | |
| 237 | + e.preventDefault(); | |
| 238 | + if($(this).is(':hidden')) | |
| 239 | + return; | |
| 240 | + dataArray.push($.extend($(this).serializeJSON(), getDisabledVal(this) | |
| 241 | + , {remarks: '加油', 'schedule.id': sch.id})); | |
| 242 | + $(this).data('valid', true); | |
| 243 | + | |
| 244 | + if(allValidSuccess()){ | |
| 245 | + var i = 0; | |
| 246 | + (function () { | |
| 247 | + var f = arguments.callee; | |
| 248 | + if(i >= dataArray.length){ | |
| 249 | + UIkit.modal(modal).hide(); | |
| 250 | + $('#schedule-lj_zrw-modal .main-schedule-table').trigger('refresh', {sch: sch}); | |
| 251 | + return; | |
| 252 | + } | |
| 253 | + var data = dataArray[i]; | |
| 254 | + //里程为0的不保存 | |
| 255 | + if(data.mileage==0){ | |
| 256 | + i++; | |
| 257 | + f(); | |
| 258 | + } | |
| 259 | + else{ | |
| 260 | + gb_common.$post('/childTask', data, function (rs) { | |
| 261 | + notify_succ('子任务添加成功'); | |
| 262 | + gb_schedule_table.updateSchedule(rs.t); | |
| 263 | + i++; | |
| 264 | + f(); | |
| 265 | + }); | |
| 266 | + } | |
| 267 | + })(); | |
| 268 | + } | |
| 269 | + }); | |
| 270 | + | |
| 271 | + //校验不过 | |
| 272 | + fs.on('err.field.fv', function () { | |
| 273 | + $('#submitChildTaskBtn', modal).removeClass('disabled').removeAttr('disabled'); | |
| 274 | + }); | |
| 275 | + | |
| 276 | + //submit | |
| 277 | + $('#submitChildTaskBtn', modal).on('click', function () { | |
| 278 | + //空驶的进场终点名称 | |
| 279 | + if(!oilStation || $('[name=endStation]', jcForm).val() != oilId) | |
| 280 | + $('[name=endStationName]', jcForm).val(''); | |
| 281 | + else | |
| 282 | + $('[name=endStationName]', jcForm).val(oilStation.stationName); | |
| 283 | + | |
| 284 | + //空驶的出场起点名称 | |
| 285 | + if(!oilStation || $('[name=startStation]', ccForm).val() != oilId) | |
| 286 | + $('[name=startStationName]', ccForm).val(''); | |
| 287 | + else | |
| 288 | + $('[name=startStationName]', ccForm).val(oilStation.stationName); | |
| 289 | + | |
| 290 | + | |
| 291 | + //提交表单 | |
| 292 | + $(this).addClass('disabled').attr('disabled','disabled'); | |
| 293 | + dataArray = []; | |
| 294 | + fs.data('valid', false); | |
| 295 | + fs.formValidation('validate'); | |
| 296 | + //fs.submit(); | |
| 297 | + }); | |
| 298 | + | |
| 299 | + //获取表单disabled 项的值 | |
| 300 | + function getDisabledVal(f) { | |
| 301 | + var rs = {}; | |
| 302 | + $('input,select', f).each(function () { | |
| 303 | + if($(this).attr('disabled')){ | |
| 304 | + rs[$(this).attr('name')]=$(this).val(); | |
| 305 | + } | |
| 306 | + }); | |
| 307 | + return rs; | |
| 308 | + } | |
| 309 | + | |
| 310 | + function allValidSuccess() { | |
| 311 | + var flag = true; | |
| 312 | + $('form:visible', modal).each(function (i, f) { | |
| 313 | + if(!$(f).data('valid')){ | |
| 314 | + flag = false; | |
| 315 | + return false; | |
| 316 | + } | |
| 317 | + }); | |
| 318 | + return flag; | |
| 319 | + } | |
| 320 | + | |
| 321 | + function setDefaultVal() { | |
| 322 | + //营运班次 | |
| 323 | + $('[name=startStation]', yyForm).val(sch.qdzCode); | |
| 324 | + $('[name=startStationName]', yyForm).val(sch.qdzName); | |
| 325 | + $('[name=endStation]', yyForm).val(sch.zdzCode); | |
| 326 | + $('[name=endStationName]', yyForm).val(sch.zdzName); | |
| 327 | + $('[name=mileage]', yyForm).val(sch.jhlc); | |
| 328 | + $('[name=startDate]', yyForm).val(sch.fcsjActual==null?sch.dfsj:sch.fcsjActual); | |
| 329 | + $('[name=endDate]', yyForm).val(sch.zdsjActual==null?sch.zdsj:sch.zdsjActual); | |
| 330 | + | |
| 331 | + //设置进场默认值 | |
| 332 | + $('[name=startStation]', jcForm).html(createStationOpts(stationRoutes[sch.xlDir])); | |
| 333 | + $('[name=startDate]', jcForm).val(sch.zdsjActual==null?sch.zdsj:sch.zdsjActual); | |
| 334 | + $('[name=startStation]', jcForm).val(sch.zdzCode); | |
| 335 | + | |
| 336 | + //设置出场默认值 | |
| 337 | + $('[name=endStation]', ccForm).html(createStationOpts(stationRoutes[sch.xlDir])); | |
| 338 | + $('[name=endStation]', ccForm).val(sch.zdzCode); | |
| 339 | + } | |
| 340 | + | |
| 341 | + function createStationOpts(list) { | |
| 342 | + var opts = ''; | |
| 343 | + $.each(list, function () { | |
| 344 | + opts += '<option value="'+this.station.stationCod+'">'+this.stationName+'</option>'; | |
| 345 | + }); | |
| 346 | + return opts; | |
| 347 | + } | |
| 348 | + | |
| 349 | + function reCalcIn() { | |
| 350 | + if(!oilStation || $('[name=endStation]', jcForm).val() != oilId) | |
| 351 | + return; | |
| 352 | + | |
| 353 | + var data; | |
| 354 | + var qdz = $('[name=startStation]', jcForm).find("option:selected").text(); | |
| 355 | + if(qdz == lineInfo.startStationName){ | |
| 356 | + //起点进场 | |
| 357 | + data = { | |
| 358 | + mileage: oilStation.upInMile, | |
| 359 | + time: oilStation.upInTime | |
| 360 | + } | |
| 361 | + } | |
| 362 | + else if(qdz == lineInfo.endStationName){ | |
| 363 | + //终点进场 | |
| 364 | + data = { | |
| 365 | + mileage: oilStation.downInMile, | |
| 366 | + time: oilStation.downInTime | |
| 367 | + } | |
| 368 | + } | |
| 369 | + if(!data) | |
| 370 | + return; | |
| 371 | + | |
| 372 | + $('[name=mileage]', jcForm).val(data.mileage); | |
| 373 | + var st = $('[name=startDate]', jcForm).val(); | |
| 374 | + if(!st) | |
| 375 | + return; | |
| 376 | + var ets = moment(st, 'HH:mm').add(data.time, 'minute').format('HH:mm'); | |
| 377 | + $('[name=endDate]', jcForm).val(ets); | |
| 378 | + | |
| 379 | + //出场时间 + 1 分钟 | |
| 380 | + $('[name=startDate]', ccForm).val(moment(ets, 'HH:mm').add(1, 'minute').format('HH:mm')); | |
| 381 | + } | |
| 382 | + | |
| 383 | + function reCalcOut() { | |
| 384 | + if(!oilStation || $('[name=startStation]', ccForm).val() != oilId) | |
| 385 | + return; | |
| 386 | + | |
| 387 | + var data; | |
| 388 | + var zdz = $('[name=endStation]', ccForm).find("option:selected").text(); | |
| 389 | + if(zdz == lineInfo.startStationName){ | |
| 390 | + //出场到起点 | |
| 391 | + data = { | |
| 392 | + mileage: oilStation.upOutMile, | |
| 393 | + time: oilStation.upOutTime | |
| 394 | + } | |
| 395 | + } | |
| 396 | + else if(zdz == lineInfo.endStationName){ | |
| 397 | + //出场到终点 | |
| 398 | + data = { | |
| 399 | + mileage: oilStation.downOutMile, | |
| 400 | + time: oilStation.downOutTime | |
| 401 | + } | |
| 402 | + } | |
| 403 | + if(!data) | |
| 404 | + return; | |
| 405 | + | |
| 406 | + $('[name=mileage]', ccForm).val(data.mileage); | |
| 407 | + var st = $('[name=startDate]', ccForm).val(); | |
| 408 | + if(!st) | |
| 409 | + return; | |
| 410 | + var ets = moment(st, 'HH:mm').add(data.time, 'minute').format('HH:mm'); | |
| 411 | + $('[name=endDate]', ccForm).val(ets); | |
| 412 | + } | |
| 413 | + })(); | |
| 414 | + </script> | |
| 415 | +</div> | ... | ... |
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/sub_task/add_sub_task_outpark.html
| ... | ... | @@ -52,7 +52,7 @@ |
| 52 | 52 | </div> |
| 53 | 53 | </div> |
| 54 | 54 | <div class="uk-width-7-10 pl5"> |
| 55 | - <input type="text" name="mileage" required style="width: calc(100% - 62px);"> | |
| 55 | + <input type="number" step="0.01" name="mileage" required style="width: calc(100% - 62px);"> | |
| 56 | 56 | <a style="font-size: 12px;color: grey;cursor: default;" target="_blank" |
| 57 | 57 | class="linkToLineInfo">线路标准</a> |
| 58 | 58 | </div> |
| ... | ... | @@ -128,7 +128,7 @@ |
| 128 | 128 | </div> |
| 129 | 129 | </div> |
| 130 | 130 | <div class="uk-width-7-10 pl5"> |
| 131 | - <input type="text" name="mileage" disabled> | |
| 131 | + <input type="number" step="0.01" name="mileage" disabled> | |
| 132 | 132 | </div> |
| 133 | 133 | </div> |
| 134 | 134 | <div class="uk-grid"> | ... | ... |
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/sub_task/add_sub_task_range_turn.html
| ... | ... | @@ -168,7 +168,7 @@ |
| 168 | 168 | </div> |
| 169 | 169 | </div> |
| 170 | 170 | <div class="uk-width-7-10 pl5"> |
| 171 | - <input type="text" name="mileage" value="{{sch.jhlc}}" required> | |
| 171 | + <input type="number" step="0.01" name="mileage" value="{{sch.jhlc}}" required> | |
| 172 | 172 | </div> |
| 173 | 173 | </div> |
| 174 | 174 | <div class="uk-grid"> |
| ... | ... | @@ -237,7 +237,7 @@ |
| 237 | 237 | </div> |
| 238 | 238 | </div> |
| 239 | 239 | <div class="uk-width-7-10 pl5"> |
| 240 | - <input type="text" name="mileage" required> | |
| 240 | + <input type="number" step="0.01" name="mileage" required> | |
| 241 | 241 | </div> |
| 242 | 242 | </div> |
| 243 | 243 | <div class="uk-grid"> | ... | ... |
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/sub_task/oil_station.html
0 → 100644
| 1 | +<div class="uk-modal ct-form-modal" id="oil_station-modal"> | |
| 2 | + <div class="uk-modal-dialog" style="width: 450px;"> | |
| 3 | + <a href="" class="uk-modal-close uk-close"></a> | |
| 4 | + <div class="uk-modal-header"> | |
| 5 | + <h2>社会加油站</h2></div> | |
| 6 | + | |
| 7 | + <form class="uk-form uk-form-horizontal " style="margin-bottom: 0 !important;"> | |
| 8 | + <div class="uk-form-row"> | |
| 9 | + <label class="uk-form-label">线路</label> | |
| 10 | + <div class="uk-form-icon"> | |
| 11 | + <input type="hidden" name="lineCode"> | |
| 12 | + <input type="text" name="qdzName" disabled> | |
| 13 | + </div> | |
| 14 | + </div> | |
| 15 | + <div class="uk-form-row"> | |
| 16 | + <label class="uk-form-label">加油站名称</label> | |
| 17 | + <div class="uk-form-icon"> | |
| 18 | + <input type="text" name="stationName" value="社会加油站" required> | |
| 19 | + </div> | |
| 20 | + </div> | |
| 21 | + <div class="uk-form-row"> | |
| 22 | + <label class="uk-form-label">起点进场里程</label> | |
| 23 | + <div class="uk-form-icon"> | |
| 24 | + <i class="uk-icon-mile"></i> | |
| 25 | + <input type="number" name="upInMile" step="0.01" required> | |
| 26 | + </div> | |
| 27 | + </div> | |
| 28 | + <div class="uk-form-row"> | |
| 29 | + <label class="uk-form-label">终点进场里程</label> | |
| 30 | + <div class="uk-form-icon"> | |
| 31 | + <i class="uk-icon-mile"></i> | |
| 32 | + <input type="number" name="downInMile" step="0.01" required> | |
| 33 | + </div> | |
| 34 | + </div> | |
| 35 | + <div class="uk-form-row"> | |
| 36 | + <label class="uk-form-label">起点进场时间</label> | |
| 37 | + <div class="uk-form-icon"> | |
| 38 | + <i class="uk-icon-minute"></i> | |
| 39 | + <input type="text" name="upInTime" required> | |
| 40 | + </div> | |
| 41 | + </div> | |
| 42 | + <div class="uk-form-row"> | |
| 43 | + <label class="uk-form-label">终点进场时间</label> | |
| 44 | + <div class="uk-form-icon"> | |
| 45 | + <i class="uk-icon-minute"></i> | |
| 46 | + <input type="text" name="downInTime" required> | |
| 47 | + </div> | |
| 48 | + </div> | |
| 49 | + | |
| 50 | + <hr> | |
| 51 | + <div class="uk-form-row"> | |
| 52 | + <label class="uk-form-label">出场到起点里程</label> | |
| 53 | + <div class="uk-form-icon"> | |
| 54 | + <i class="uk-icon-mile"></i> | |
| 55 | + <input type="number" name="upOutMile" step="0.01" required> | |
| 56 | + </div> | |
| 57 | + </div> | |
| 58 | + <div class="uk-form-row"> | |
| 59 | + <label class="uk-form-label">出场到终点里程</label> | |
| 60 | + <div class="uk-form-icon"> | |
| 61 | + <i class="uk-icon-mile"></i> | |
| 62 | + <input type="number" name="downOutMile" step="0.01" required> | |
| 63 | + </div> | |
| 64 | + </div> | |
| 65 | + <div class="uk-form-row"> | |
| 66 | + <label class="uk-form-label">出场到起点时间</label> | |
| 67 | + <div class="uk-form-icon"> | |
| 68 | + <i class="uk-icon-minute"></i> | |
| 69 | + <input type="text" name="upOutTime" required> | |
| 70 | + </div> | |
| 71 | + </div> | |
| 72 | + <div class="uk-form-row"> | |
| 73 | + <label class="uk-form-label">出场到终点时间</label> | |
| 74 | + <div class="uk-form-icon"> | |
| 75 | + <i class="uk-icon-minute"></i> | |
| 76 | + <input type="text" name="downOutTime" required> | |
| 77 | + </div> | |
| 78 | + </div> | |
| 79 | + <div class="uk-modal-footer uk-text-right" style="margin-bottom: -20px;"> | |
| 80 | + <button type="button" class="uk-button uk-modal-close">取消</button> | |
| 81 | + <button type="submit" class="uk-button uk-button-primary"><i class="uk-icon-check"></i> 保存</button> | |
| 82 | + </div> | |
| 83 | + </form> | |
| 84 | + </div> | |
| 85 | + | |
| 86 | + <script id="" type="text/html"> | |
| 87 | + | |
| 88 | + </script> | |
| 89 | + | |
| 90 | + <script> | |
| 91 | + (function () { | |
| 92 | + var modal = '#oil_station-modal', | |
| 93 | + sch, oilStation; | |
| 94 | + | |
| 95 | + var cognates = { | |
| 96 | + 'upInMile': 'upOutMile', | |
| 97 | + 'downInMile': 'downOutMile', | |
| 98 | + 'upInTime': 'upOutTime', | |
| 99 | + 'downInTime': 'downOutTime' | |
| 100 | + }; | |
| 101 | + $(modal).on('init', function (e, data) { | |
| 102 | + e.stopPropagation(); | |
| 103 | + sch = data.sch; | |
| 104 | + | |
| 105 | + $.get('/oilStation/'+sch.xlBm, function (rs) { | |
| 106 | + oilStation = rs; | |
| 107 | + setDefaultVal(oilStation); | |
| 108 | + }); | |
| 109 | + | |
| 110 | + $('form [name=qdzName]', modal).val(sch.xlName); | |
| 111 | + $('form [name=lineCode]', modal).val(sch.xlBm); | |
| 112 | + | |
| 113 | + //submit | |
| 114 | + var f = $('form', modal).formValidation(gb_form_validation_opts); | |
| 115 | + f.on('success.form.fv', function(e) { | |
| 116 | + e.preventDefault(); | |
| 117 | + var data = $(this).serializeJSON(); | |
| 118 | + | |
| 119 | + gb_common.$post('/oilStation', data, function (rs) { | |
| 120 | + notify_succ('添加成功!'); | |
| 121 | + UIkit.modal(modal).hide(); | |
| 122 | + $('#schedule-addsch_oil-modal').trigger('init', {sch: sch}); | |
| 123 | + }); | |
| 124 | + }); | |
| 125 | + | |
| 126 | + $('form input', modal).on('input', function () { | |
| 127 | + var name = $(this).attr('name'); | |
| 128 | + if(cognates[name]){ | |
| 129 | + $('form [name='+cognates[name]+']', modal).val($(this).val()); | |
| 130 | + } | |
| 131 | + }); | |
| 132 | + }); | |
| 133 | + | |
| 134 | + function setDefaultVal(obj) { | |
| 135 | + if(!obj) | |
| 136 | + return; | |
| 137 | + $('form input', modal).each(function () { | |
| 138 | + var name = $(this).attr('name'); | |
| 139 | + if(obj[name]) | |
| 140 | + $(this).val(obj[name]); | |
| 141 | + }); | |
| 142 | + } | |
| 143 | + })(); | |
| 144 | + </script> | |
| 145 | +</div> | ... | ... |
src/main/resources/static/real_control_v2/js/line_schedule/context_menu.js
| ... | ... | @@ -144,6 +144,41 @@ var gb_schedule_context_menu = (function () { |
| 144 | 144 | notify_succ('撤销执行成功!'); |
| 145 | 145 | }); |
| 146 | 146 | }, '确认撤销执行'); |
| 147 | + }, | |
| 148 | + | |
| 149 | + add_sub_task_in: function (sch) { | |
| 150 | + if(sch.bcType == 'out' || sch.bcType == 'in'){ | |
| 151 | + notify_err('暂不能在进出场班次上做回场子任务!'); | |
| 152 | + return; | |
| 153 | + } | |
| 154 | + open_modal(folder + '/sub_task/add_sub_task_inpark.html', { | |
| 155 | + sch: sch | |
| 156 | + }, modal_opts); | |
| 157 | + }, | |
| 158 | + add_sub_task_out: function (sch) { | |
| 159 | + if(sch.bcType == 'out' || sch.bcType == 'in'){ | |
| 160 | + notify_err('暂不能在进出场班次上做出场子任务!'); | |
| 161 | + return; | |
| 162 | + } | |
| 163 | + open_modal(folder + '/sub_task/add_sub_task_outpark.html', { | |
| 164 | + sch: sch | |
| 165 | + }, modal_opts); | |
| 166 | + }, | |
| 167 | + add_sub_task_range_turn: function (sch) { | |
| 168 | + if(sch.bcType == 'out' || sch.bcType == 'in') | |
| 169 | + return notify_err('进出场班次不能做区间掉头!'); | |
| 170 | + open_modal(folder + '/sub_task/add_sub_task_range_turn.html', { | |
| 171 | + sch: sch | |
| 172 | + }, modal_opts); | |
| 173 | + }, | |
| 174 | + add_oil: function (sch) { | |
| 175 | + if(sch.bcType == 'out' || sch.bcType == 'in'){ | |
| 176 | + notify_err('暂不能在进出场班次上做加油子任务!'); | |
| 177 | + return; | |
| 178 | + } | |
| 179 | + open_modal(folder + '/sub_task/add_sub_task_oil.html', { | |
| 180 | + sch: sch | |
| 181 | + }, modal_opts); | |
| 147 | 182 | } |
| 148 | 183 | }; |
| 149 | 184 | |
| ... | ... | @@ -185,6 +220,23 @@ var gb_schedule_context_menu = (function () { |
| 185 | 220 | 'lj_zrw': { |
| 186 | 221 | name: '临加/子任务' |
| 187 | 222 | }, |
| 223 | + 'shortcut': { | |
| 224 | + name: '...', | |
| 225 | + items: { | |
| 226 | + 'add_oil': { | |
| 227 | + name: '(子任务)加油' | |
| 228 | + }, | |
| 229 | + 'add_sub_task_in': { | |
| 230 | + name: '(子任务)回场' | |
| 231 | + }, | |
| 232 | + 'add_sub_task_out': { | |
| 233 | + name: '(子任务)出场' | |
| 234 | + }, | |
| 235 | + 'add_sub_task_range_turn': { | |
| 236 | + name: '(子任务)区间调头' | |
| 237 | + } | |
| 238 | + } | |
| 239 | + }, | |
| 188 | 240 | 'sep4': '---------', |
| 189 | 241 | 'tzrc': { |
| 190 | 242 | name: '调整人车' | ... | ... |