Commit ca7a16ce8cdc2f7fa090597944f5f3391231e87b
1 parent
009fc291
新增修正表报和站点修改
Signed-off-by: yrf123456 <463058651@qq.com>
Showing
11 changed files
with
1852 additions
and
0 deletions
src/main/java/com/bsth/controller/realcontrol/ScheduleRealInfoController.java
| ... | ... | @@ -417,6 +417,70 @@ public class ScheduleRealInfoController extends BaseController<ScheduleRealInfo, |
| 417 | 417 | } |
| 418 | 418 | return scheduleRealInfoService.statisticsDailyTj(gsdm,fgsdm,line, date,date2, xlName, type); |
| 419 | 419 | } |
| 420 | + | |
| 421 | + /* | |
| 422 | + * 公里修正报表 | |
| 423 | + */ | |
| 424 | + @RequestMapping(value="/mileageReportTj") | |
| 425 | + public List<Map<String,Object>> mileageReport(@RequestParam Map<String, Object> map){ | |
| 426 | + String gsdm=""; | |
| 427 | + if(map.get("gsdm")!=null){ | |
| 428 | + gsdm=map.get("gsdm").toString(); | |
| 429 | + } | |
| 430 | + String fgsdm=""; | |
| 431 | + if(map.get("fgsdm")!=null){ | |
| 432 | + fgsdm=map.get("fgsdm").toString(); | |
| 433 | + } | |
| 434 | + String line=""; | |
| 435 | + if(map.get("line")!=null){ | |
| 436 | + line=map.get("line").toString(); | |
| 437 | + } | |
| 438 | + String date=""; | |
| 439 | + if(map.get("date")!=null){ | |
| 440 | + date=map.get("date").toString(); | |
| 441 | + } | |
| 442 | + String date2=""; | |
| 443 | + if(map.get("date2")!=null){ | |
| 444 | + date2=map.get("date2").toString(); | |
| 445 | + } | |
| 446 | + String xlName=""; | |
| 447 | + if(map.get("xlName")!=null){ | |
| 448 | + xlName=map.get("xlName").toString(); | |
| 449 | + } | |
| 450 | + return scheduleRealInfoService.mileageReport(gsdm,fgsdm,line, date,date2); | |
| 451 | + } | |
| 452 | + | |
| 453 | + /* | |
| 454 | + * 班次修正报表 | |
| 455 | + */ | |
| 456 | + @RequestMapping(value="/scheduleCorrectionReport") | |
| 457 | + public List<Map<String,Object>> scheduleCorrectionReport(@RequestParam Map<String, Object> map){ | |
| 458 | + String gsdm=""; | |
| 459 | + if(map.get("gsdm")!=null){ | |
| 460 | + gsdm=map.get("gsdm").toString(); | |
| 461 | + } | |
| 462 | + String fgsdm=""; | |
| 463 | + if(map.get("fgsdm")!=null){ | |
| 464 | + fgsdm=map.get("fgsdm").toString(); | |
| 465 | + } | |
| 466 | + String line=""; | |
| 467 | + if(map.get("line")!=null){ | |
| 468 | + line=map.get("line").toString(); | |
| 469 | + } | |
| 470 | + String date=""; | |
| 471 | + if(map.get("date")!=null){ | |
| 472 | + date=map.get("date").toString(); | |
| 473 | + } | |
| 474 | + String date2=""; | |
| 475 | + if(map.get("date2")!=null){ | |
| 476 | + date2=map.get("date2").toString(); | |
| 477 | + } | |
| 478 | + String xlName=""; | |
| 479 | + if(map.get("xlName")!=null){ | |
| 480 | + xlName=map.get("xlName").toString(); | |
| 481 | + } | |
| 482 | + return scheduleRealInfoService.scheduleCorrectionReport(gsdm,fgsdm,line, date,date2); | |
| 483 | + } | |
| 420 | 484 | |
| 421 | 485 | @RequestMapping(value="/MapById",method = RequestMethod.GET) |
| 422 | 486 | public Map<String, Object> MapById(@RequestParam("id") Long id){ | ... | ... |
src/main/java/com/bsth/entity/report/MileageReport.java
0 → 100644
| 1 | +package com.bsth.entity.report; | |
| 2 | + | |
| 3 | +import java.util.Date; | |
| 4 | + | |
| 5 | +/** | |
| 6 | + * @ClassName: MileageReport.java | |
| 7 | + * @Description: TODO(营运里程修正报表) | |
| 8 | + * @author: YouRuiFeng | |
| 9 | + * @date: 2017-8-14 上午11:09:19 | |
| 10 | + * | |
| 11 | + */ | |
| 12 | +public class MileageReport { | |
| 13 | + /** 公司编码 */ | |
| 14 | + private String companyId; | |
| 15 | + | |
| 16 | + /** 分公司编码 */ | |
| 17 | + private String subCompanyId; | |
| 18 | + | |
| 19 | + /** 公司名称 */ | |
| 20 | + private String companyName; | |
| 21 | + | |
| 22 | + /** 分公司名称 */ | |
| 23 | + private String subCompanyName; | |
| 24 | + | |
| 25 | + /** 线路编码 */ | |
| 26 | + private String lineCode; | |
| 27 | + | |
| 28 | + /** 线路名称 */ | |
| 29 | + private String lineName; | |
| 30 | + | |
| 31 | + /** 总营运公里 */ | |
| 32 | + private double zgl; | |
| 33 | + | |
| 34 | + /** 实际运营公里 */ | |
| 35 | + private double sjyygl; | |
| 36 | + | |
| 37 | + /** 实际空驶公里 */ | |
| 38 | + private double sjksgl; | |
| 39 | + | |
| 40 | + /** 手动待发公里 */ | |
| 41 | + private double sddfgl; | |
| 42 | + | |
| 43 | + /** 自动代发公里 */ | |
| 44 | + private double zddfgl; | |
| 45 | + | |
| 46 | + /** 完全无Gps信号公里 */ | |
| 47 | + private double wqwxhgl; | |
| 48 | + | |
| 49 | + /** 部分无Gps公里 */ | |
| 50 | + private double bfwxhgl; | |
| 51 | + | |
| 52 | + /** 漂移公里 */ | |
| 53 | + private double pygl; | |
| 54 | + | |
| 55 | + /** 临加公里 */ | |
| 56 | + private double ljgl; | |
| 57 | + | |
| 58 | + /** 子任务 */ | |
| 59 | + private double zrwgl; | |
| 60 | + | |
| 61 | + /** 其他*/ | |
| 62 | + private String other; | |
| 63 | + | |
| 64 | + /** 备注 */ | |
| 65 | + private String remarks; | |
| 66 | + | |
| 67 | + /** 日期 (班次日期) */ | |
| 68 | + private String rq; | |
| 69 | + | |
| 70 | + private Date createDate; | |
| 71 | + | |
| 72 | + | |
| 73 | + public String getCompanyId() { | |
| 74 | + return companyId; | |
| 75 | + } | |
| 76 | + | |
| 77 | + public void setCompanyId(String companyId) { | |
| 78 | + this.companyId = companyId; | |
| 79 | + } | |
| 80 | + | |
| 81 | + public String getSubCompanyId() { | |
| 82 | + return subCompanyId; | |
| 83 | + } | |
| 84 | + | |
| 85 | + public void setSubCompanyId(String subCompanyId) { | |
| 86 | + this.subCompanyId = subCompanyId; | |
| 87 | + } | |
| 88 | + | |
| 89 | + public String getCompanyName() { | |
| 90 | + return companyName; | |
| 91 | + } | |
| 92 | + | |
| 93 | + public void setCompanyName(String companyName) { | |
| 94 | + this.companyName = companyName; | |
| 95 | + } | |
| 96 | + | |
| 97 | + public String getSubCompanyName() { | |
| 98 | + return subCompanyName; | |
| 99 | + } | |
| 100 | + | |
| 101 | + public void setSubCompanyName(String subCompanyName) { | |
| 102 | + this.subCompanyName = subCompanyName; | |
| 103 | + } | |
| 104 | + | |
| 105 | + public String getLineCode() { | |
| 106 | + return lineCode; | |
| 107 | + } | |
| 108 | + | |
| 109 | + public void setLineCode(String lineCode) { | |
| 110 | + this.lineCode = lineCode; | |
| 111 | + } | |
| 112 | + | |
| 113 | + public String getLineName() { | |
| 114 | + return lineName; | |
| 115 | + } | |
| 116 | + | |
| 117 | + public void setLineName(String lineName) { | |
| 118 | + this.lineName = lineName; | |
| 119 | + } | |
| 120 | + | |
| 121 | + public double getZgl() { | |
| 122 | + return zgl; | |
| 123 | + } | |
| 124 | + | |
| 125 | + public void setZgl(double zgl) { | |
| 126 | + this.zgl = zgl; | |
| 127 | + } | |
| 128 | + | |
| 129 | + public double getSjyygl() { | |
| 130 | + return sjyygl; | |
| 131 | + } | |
| 132 | + | |
| 133 | + public void setSjyygl(double sjyygl) { | |
| 134 | + this.sjyygl = sjyygl; | |
| 135 | + } | |
| 136 | + | |
| 137 | + public double getSjksgl() { | |
| 138 | + return sjksgl; | |
| 139 | + } | |
| 140 | + | |
| 141 | + public void setSjksgl(double sjksgl) { | |
| 142 | + this.sjksgl = sjksgl; | |
| 143 | + } | |
| 144 | + | |
| 145 | + public double getSddfgl() { | |
| 146 | + return sddfgl; | |
| 147 | + } | |
| 148 | + | |
| 149 | + public void setSddfgl(double sddfgl) { | |
| 150 | + this.sddfgl = sddfgl; | |
| 151 | + } | |
| 152 | + | |
| 153 | + public double getZddfgl() { | |
| 154 | + return zddfgl; | |
| 155 | + } | |
| 156 | + | |
| 157 | + public void setZddfgl(double zddfgl) { | |
| 158 | + this.zddfgl = zddfgl; | |
| 159 | + } | |
| 160 | + | |
| 161 | + public double getWqwxhgl() { | |
| 162 | + return wqwxhgl; | |
| 163 | + } | |
| 164 | + | |
| 165 | + public void setWqwxhgl(double wqwxhgl) { | |
| 166 | + this.wqwxhgl = wqwxhgl; | |
| 167 | + } | |
| 168 | + | |
| 169 | + public double getBfwxhgl() { | |
| 170 | + return bfwxhgl; | |
| 171 | + } | |
| 172 | + | |
| 173 | + public void setBfwxhgl(double bfwxhgl) { | |
| 174 | + this.bfwxhgl = bfwxhgl; | |
| 175 | + } | |
| 176 | + | |
| 177 | + public double getPygl() { | |
| 178 | + return pygl; | |
| 179 | + } | |
| 180 | + | |
| 181 | + public void setPygl(double pygl) { | |
| 182 | + this.pygl = pygl; | |
| 183 | + } | |
| 184 | + | |
| 185 | + public double getLjgl() { | |
| 186 | + return ljgl; | |
| 187 | + } | |
| 188 | + | |
| 189 | + public void setLjgl(double ljgl) { | |
| 190 | + this.ljgl = ljgl; | |
| 191 | + } | |
| 192 | + | |
| 193 | + public double getZrwgl() { | |
| 194 | + return zrwgl; | |
| 195 | + } | |
| 196 | + | |
| 197 | + public void setZrwgl(double zrwgl) { | |
| 198 | + this.zrwgl = zrwgl; | |
| 199 | + } | |
| 200 | + | |
| 201 | + public String getOther() { | |
| 202 | + return other; | |
| 203 | + } | |
| 204 | + | |
| 205 | + public void setOther(String other) { | |
| 206 | + this.other = other; | |
| 207 | + } | |
| 208 | + | |
| 209 | + public String getRemarks() { | |
| 210 | + return remarks; | |
| 211 | + } | |
| 212 | + | |
| 213 | + public void setRemarks(String remarks) { | |
| 214 | + this.remarks = remarks; | |
| 215 | + } | |
| 216 | + | |
| 217 | + public String getRq() { | |
| 218 | + return rq; | |
| 219 | + } | |
| 220 | + | |
| 221 | + public void setRq(String rq) { | |
| 222 | + this.rq = rq; | |
| 223 | + } | |
| 224 | + | |
| 225 | + public Date getCreateDate() { | |
| 226 | + return createDate; | |
| 227 | + } | |
| 228 | + | |
| 229 | + public void setCreateDate(Date createDate) { | |
| 230 | + this.createDate = createDate; | |
| 231 | + } | |
| 232 | + | |
| 233 | + | |
| 234 | +} | ... | ... |
src/main/java/com/bsth/entity/report/ScheduleCorrectionReport.java
0 → 100644
| 1 | +package com.bsth.entity.report; | |
| 2 | + | |
| 3 | +import java.util.Date; | |
| 4 | + | |
| 5 | +/** | |
| 6 | + * @ClassName: MileageReport.java | |
| 7 | + * @Description: TODO(营运里程修正报表) | |
| 8 | + * @author: YouRuiFeng | |
| 9 | + * @date: 2017-8-14 上午11:09:19 | |
| 10 | + * | |
| 11 | + */ | |
| 12 | +public class ScheduleCorrectionReport { | |
| 13 | + /** 公司编码 */ | |
| 14 | + private String companyId; | |
| 15 | + | |
| 16 | + /** 分公司编码 */ | |
| 17 | + private String subCompanyId; | |
| 18 | + | |
| 19 | + /** 公司名称 */ | |
| 20 | + private String companyName; | |
| 21 | + | |
| 22 | + /** 分公司名称 */ | |
| 23 | + private String subCompanyName; | |
| 24 | + | |
| 25 | + /** 线路编码 */ | |
| 26 | + private String lineCode; | |
| 27 | + | |
| 28 | + /** 线路名称 */ | |
| 29 | + private String lineName; | |
| 30 | + | |
| 31 | + /** 总营运班次 */ | |
| 32 | + private int zbc; | |
| 33 | + | |
| 34 | + /** 实际运营班次 */ | |
| 35 | + private int sjyybc; | |
| 36 | + | |
| 37 | + /** 实际空驶班次 */ | |
| 38 | + private int sjksbc; | |
| 39 | + | |
| 40 | + /** 手动待发班次 */ | |
| 41 | + private int sddfbc; | |
| 42 | + | |
| 43 | + /** 自动代发班次 */ | |
| 44 | + private int zddfbc; | |
| 45 | + | |
| 46 | + /** 完全无Gps信号班次 */ | |
| 47 | + private int wqwxhbc; | |
| 48 | + | |
| 49 | + /** 部分无Gps班次 */ | |
| 50 | + private int bfwxhbc; | |
| 51 | + | |
| 52 | + /** 漂移班次 */ | |
| 53 | + private int pybc; | |
| 54 | + | |
| 55 | + /** 临加班次 */ | |
| 56 | + private int ljbc; | |
| 57 | + | |
| 58 | + /** 子任务 */ | |
| 59 | + private int zrwbc; | |
| 60 | + | |
| 61 | + /** 其他*/ | |
| 62 | + private String other; | |
| 63 | + | |
| 64 | + /** 备注 */ | |
| 65 | + private String remarks; | |
| 66 | + | |
| 67 | + /** 日期 (班次日期) */ | |
| 68 | + private String rq; | |
| 69 | + | |
| 70 | + private Date createDate; | |
| 71 | + | |
| 72 | + public String getCompanyId() { | |
| 73 | + return companyId; | |
| 74 | + } | |
| 75 | + | |
| 76 | + public void setCompanyId(String companyId) { | |
| 77 | + this.companyId = companyId; | |
| 78 | + } | |
| 79 | + | |
| 80 | + public String getSubCompanyId() { | |
| 81 | + return subCompanyId; | |
| 82 | + } | |
| 83 | + | |
| 84 | + public void setSubCompanyId(String subCompanyId) { | |
| 85 | + this.subCompanyId = subCompanyId; | |
| 86 | + } | |
| 87 | + | |
| 88 | + public String getCompanyName() { | |
| 89 | + return companyName; | |
| 90 | + } | |
| 91 | + | |
| 92 | + public void setCompanyName(String companyName) { | |
| 93 | + this.companyName = companyName; | |
| 94 | + } | |
| 95 | + | |
| 96 | + public String getSubCompanyName() { | |
| 97 | + return subCompanyName; | |
| 98 | + } | |
| 99 | + | |
| 100 | + public void setSubCompanyName(String subCompanyName) { | |
| 101 | + this.subCompanyName = subCompanyName; | |
| 102 | + } | |
| 103 | + | |
| 104 | + public String getLineCode() { | |
| 105 | + return lineCode; | |
| 106 | + } | |
| 107 | + | |
| 108 | + public void setLineCode(String lineCode) { | |
| 109 | + this.lineCode = lineCode; | |
| 110 | + } | |
| 111 | + | |
| 112 | + public String getLineName() { | |
| 113 | + return lineName; | |
| 114 | + } | |
| 115 | + | |
| 116 | + public void setLineName(String lineName) { | |
| 117 | + this.lineName = lineName; | |
| 118 | + } | |
| 119 | + | |
| 120 | + public int getZbc() { | |
| 121 | + return zbc; | |
| 122 | + } | |
| 123 | + | |
| 124 | + public void setZbc(int zbc) { | |
| 125 | + this.zbc = zbc; | |
| 126 | + } | |
| 127 | + | |
| 128 | + public int getSjyybc() { | |
| 129 | + return sjyybc; | |
| 130 | + } | |
| 131 | + | |
| 132 | + public void setSjyybc(int sjyybc) { | |
| 133 | + this.sjyybc = sjyybc; | |
| 134 | + } | |
| 135 | + | |
| 136 | + public int getSjksbc() { | |
| 137 | + return sjksbc; | |
| 138 | + } | |
| 139 | + | |
| 140 | + public void setSjksbc(int sjksbc) { | |
| 141 | + this.sjksbc = sjksbc; | |
| 142 | + } | |
| 143 | + | |
| 144 | + public int getSddfbc() { | |
| 145 | + return sddfbc; | |
| 146 | + } | |
| 147 | + | |
| 148 | + public void setSddfbc(int sddfbc) { | |
| 149 | + this.sddfbc = sddfbc; | |
| 150 | + } | |
| 151 | + | |
| 152 | + public int getZddfbc() { | |
| 153 | + return zddfbc; | |
| 154 | + } | |
| 155 | + | |
| 156 | + public void setZddfbc(int zddfbc) { | |
| 157 | + this.zddfbc = zddfbc; | |
| 158 | + } | |
| 159 | + | |
| 160 | + public int getWqwxhbc() { | |
| 161 | + return wqwxhbc; | |
| 162 | + } | |
| 163 | + | |
| 164 | + public void setWqwxhbc(int wqwxhbc) { | |
| 165 | + this.wqwxhbc = wqwxhbc; | |
| 166 | + } | |
| 167 | + | |
| 168 | + public int getBfwxhbc() { | |
| 169 | + return bfwxhbc; | |
| 170 | + } | |
| 171 | + | |
| 172 | + public void setBfwxhbc(int bfwxhbc) { | |
| 173 | + this.bfwxhbc = bfwxhbc; | |
| 174 | + } | |
| 175 | + | |
| 176 | + public int getPybc() { | |
| 177 | + return pybc; | |
| 178 | + } | |
| 179 | + | |
| 180 | + public void setPybc(int pybc) { | |
| 181 | + this.pybc = pybc; | |
| 182 | + } | |
| 183 | + | |
| 184 | + public int getLjbc() { | |
| 185 | + return ljbc; | |
| 186 | + } | |
| 187 | + | |
| 188 | + public void setLjbc(int ljbc) { | |
| 189 | + this.ljbc = ljbc; | |
| 190 | + } | |
| 191 | + | |
| 192 | + public int getZrwbc() { | |
| 193 | + return zrwbc; | |
| 194 | + } | |
| 195 | + | |
| 196 | + public void setZrwbc(int zrwbc) { | |
| 197 | + this.zrwbc = zrwbc; | |
| 198 | + } | |
| 199 | + | |
| 200 | + public String getOther() { | |
| 201 | + return other; | |
| 202 | + } | |
| 203 | + | |
| 204 | + public void setOther(String other) { | |
| 205 | + this.other = other; | |
| 206 | + } | |
| 207 | + | |
| 208 | + public String getRemarks() { | |
| 209 | + return remarks; | |
| 210 | + } | |
| 211 | + | |
| 212 | + public void setRemarks(String remarks) { | |
| 213 | + this.remarks = remarks; | |
| 214 | + } | |
| 215 | + | |
| 216 | + public String getRq() { | |
| 217 | + return rq; | |
| 218 | + } | |
| 219 | + | |
| 220 | + public void setRq(String rq) { | |
| 221 | + this.rq = rq; | |
| 222 | + } | |
| 223 | + | |
| 224 | + public Date getCreateDate() { | |
| 225 | + return createDate; | |
| 226 | + } | |
| 227 | + | |
| 228 | + public void setCreateDate(Date createDate) { | |
| 229 | + this.createDate = createDate; | |
| 230 | + } | |
| 231 | + | |
| 232 | +} | ... | ... |
src/main/java/com/bsth/service/realcontrol/ScheduleRealInfoService.java
| ... | ... | @@ -4,6 +4,7 @@ import com.bsth.controller.realcontrol.dto.ChangePersonCar; |
| 4 | 4 | import com.bsth.controller.realcontrol.dto.DfsjChange; |
| 5 | 5 | import com.bsth.data.schedule.edit_logs.service.dto.SchEditInfoDto; |
| 6 | 6 | import com.bsth.entity.realcontrol.ScheduleRealInfo; |
| 7 | +import com.bsth.entity.report.MileageReport; | |
| 7 | 8 | import com.bsth.entity.schedule.SchedulePlanInfo; |
| 8 | 9 | import com.bsth.service.BaseService; |
| 9 | 10 | import org.springframework.stereotype.Service; |
| ... | ... | @@ -180,4 +181,10 @@ public interface ScheduleRealInfoService extends BaseService<ScheduleRealInfo, L |
| 180 | 181 | List<Map<String,Object>> statisticsDaily_mh_2(String line, String date, String xlName, String type); |
| 181 | 182 | |
| 182 | 183 | List<ScheduleRealInfo> realScheduleList_mh_2(String line, String date); |
| 184 | + | |
| 185 | + List<Map<String, Object>> mileageReport(String gsdm, String fgsdm, | |
| 186 | + String line, String date, String date2); | |
| 187 | + | |
| 188 | + List<Map<String, Object>> scheduleCorrectionReport(String gsdm, String fgsdm, | |
| 189 | + String line, String date, String date2); | |
| 183 | 190 | } | ... | ... |
src/main/java/com/bsth/service/realcontrol/impl/ScheduleRealInfoServiceImpl.java
| ... | ... | @@ -31,6 +31,8 @@ import com.bsth.entity.realcontrol.ChildTaskPlan; |
| 31 | 31 | import com.bsth.entity.realcontrol.LineConfig; |
| 32 | 32 | import com.bsth.entity.realcontrol.ScheduleRealInfo; |
| 33 | 33 | import com.bsth.entity.realcontrol.SvgAttribute; |
| 34 | +import com.bsth.entity.report.MileageReport; | |
| 35 | +import com.bsth.entity.report.ScheduleCorrectionReport; | |
| 34 | 36 | import com.bsth.entity.schedule.CarConfigInfo; |
| 35 | 37 | import com.bsth.entity.schedule.EmployeeConfigInfo; |
| 36 | 38 | import com.bsth.entity.schedule.GuideboardInfo; |
| ... | ... | @@ -4638,6 +4640,195 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 4638 | 4640 | } |
| 4639 | 4641 | return rs; |
| 4640 | 4642 | } |
| 4643 | + | |
| 4644 | + | |
| 4645 | + @Override | |
| 4646 | + public List<Map<String, Object>> mileageReport(String gsdm, | |
| 4647 | + String fgsdm, String line, String date, String date2) { | |
| 4648 | + | |
| 4649 | + String sql = "select * from calc_mileage where 1=1 " ; | |
| 4650 | + if (!line.equals(" ")) { | |
| 4651 | + sql = sql+" and line_code='"+ line+"' "; | |
| 4652 | + } | |
| 4653 | + sql = sql+" and DATE_FORMAT(rq,'%Y-%m-%d') between '"+ date+"' and '"+ date2+"'"; | |
| 4654 | + if (!gsdm.equals(" ")) { | |
| 4655 | + sql = sql+" and company_id="+gsdm; | |
| 4656 | + } | |
| 4657 | + if (!gsdm.equals(" ")) { | |
| 4658 | + sql = sql+" and sub_company_id="+fgsdm; | |
| 4659 | + } | |
| 4660 | + sql = sql+" order by line_code"; | |
| 4661 | + List<MileageReport> list = jdbcTemplate.query(sql, | |
| 4662 | + new RowMapper<MileageReport>() { | |
| 4663 | + @Override | |
| 4664 | + public MileageReport mapRow(ResultSet rs, int rowNum) throws SQLException { | |
| 4665 | + MileageReport mr = new MileageReport(); | |
| 4666 | + mr.setCompanyName(rs.getString("company_name")); | |
| 4667 | + mr.setSubCompanyName(rs.getString("sub_company_name")); | |
| 4668 | + mr.setLineName(rs.getString("line_name")); | |
| 4669 | + mr.setSjyygl(rs.getDouble("sjyygl")); | |
| 4670 | + mr.setSjksgl(rs.getDouble("sjksgl")); | |
| 4671 | + mr.setZgl(rs.getDouble("zyygl")); | |
| 4672 | + mr.setZddfgl(rs.getDouble("sddfgl")); | |
| 4673 | + mr.setSddfgl(rs.getDouble("zddfgl")); | |
| 4674 | + mr.setWqwxhgl(rs.getDouble("wqwxhgl")); | |
| 4675 | + mr.setBfwxhgl(rs.getDouble("bfwxhgl")); | |
| 4676 | + mr.setPygl(rs.getDouble("pygl")); | |
| 4677 | + mr.setLjgl(rs.getDouble("ljgl")); | |
| 4678 | + mr.setZrwgl(rs.getDouble("zrwgl")); | |
| 4679 | + mr.setOther(rs.getString("other")); | |
| 4680 | + return mr; | |
| 4681 | + } | |
| 4682 | + }); | |
| 4683 | + List<Map<String, Object>> lMap = new ArrayList<Map<String, Object>>(); | |
| 4684 | + double sjyygl = 0.0; | |
| 4685 | + double sjksgl = 0.0; | |
| 4686 | + double zgl = 0.0; | |
| 4687 | + double sddfgl = 0.0; | |
| 4688 | + double zddfgl = 0.0; | |
| 4689 | + double wqwxhgl = 0.0; | |
| 4690 | + double bfwxhgl = 0.0; | |
| 4691 | + double pygl = 0.0; | |
| 4692 | + double ljgl = 0.0; | |
| 4693 | + double zrwgl = 0.0; | |
| 4694 | + for(MileageReport mr:list) { | |
| 4695 | + Map<String, Object> resMap = new HashMap<String, Object>(); | |
| 4696 | + resMap.put("gsName", mr.getCompanyName()); | |
| 4697 | + resMap.put("fgsName", mr.getSubCompanyName()); | |
| 4698 | + resMap.put("xlName", mr.getLineName()); | |
| 4699 | + resMap.put("sjyygl", mr.getSjyygl()); | |
| 4700 | + resMap.put("sjksgl", mr.getSjksgl()); | |
| 4701 | + resMap.put("zgl", mr.getZgl()); | |
| 4702 | + resMap.put("sddfgl", mr.getSddfgl()); | |
| 4703 | + resMap.put("zddfgl", mr.getZddfgl()); | |
| 4704 | + resMap.put("wqwxhgl", mr.getWqwxhgl()); | |
| 4705 | + resMap.put("bfwxhgl", mr.getBfwxhgl()); | |
| 4706 | + resMap.put("pygl", mr.getPygl()); | |
| 4707 | + resMap.put("ljgl", mr.getLjgl()); | |
| 4708 | + resMap.put("zrwgl", mr.getZrwgl()); | |
| 4709 | + resMap.put("other", mr.getOther()); | |
| 4710 | + lMap.add(resMap); | |
| 4711 | + sjyygl = Arith.add(sjyygl,mr.getSjyygl()); | |
| 4712 | + sjksgl = Arith.add(sjksgl,mr.getSjksgl()); | |
| 4713 | + zgl = Arith.add(zgl,mr.getZgl()); | |
| 4714 | + sddfgl = Arith.add(sddfgl,mr.getSddfgl()); | |
| 4715 | + zddfgl = Arith.add(zddfgl,mr.getZddfgl()); | |
| 4716 | + wqwxhgl = Arith.add(wqwxhgl,mr.getWqwxhgl()); | |
| 4717 | + bfwxhgl = Arith.add(bfwxhgl,mr.getBfwxhgl()); | |
| 4718 | + pygl = Arith.add(pygl,mr.getPygl()); | |
| 4719 | + ljgl = Arith.add(ljgl,mr.getLjgl()); | |
| 4720 | + zrwgl = Arith.add(zrwgl,mr.getZrwgl()); | |
| 4721 | + } | |
| 4722 | + Map<String, Object> resMap = new HashMap<String, Object>(); | |
| 4723 | + resMap.put("xlName", "合计"); | |
| 4724 | + resMap.put("sjyygl", sjyygl); | |
| 4725 | + resMap.put("sjksgl", sjksgl); | |
| 4726 | + resMap.put("zgl", zgl); | |
| 4727 | + resMap.put("sddfgl", sddfgl); | |
| 4728 | + resMap.put("zddfgl", zddfgl); | |
| 4729 | + resMap.put("wqwxhgl", wqwxhgl); | |
| 4730 | + resMap.put("bfwxhgl", bfwxhgl); | |
| 4731 | + resMap.put("pygl", pygl); | |
| 4732 | + resMap.put("ljgl", ljgl); | |
| 4733 | + resMap.put("zrwgl", zrwgl); | |
| 4734 | + resMap.put("other", null); | |
| 4735 | + lMap.add(resMap); | |
| 4736 | + return lMap; | |
| 4737 | + } | |
| 4738 | + | |
| 4739 | + @Override | |
| 4740 | + public List<Map<String, Object>> scheduleCorrectionReport(String gsdm, | |
| 4741 | + String fgsdm, String line, String date, String date2) { | |
| 4742 | + | |
| 4743 | + String sql = "select * from calc_schedule where 1=1 " ; | |
| 4744 | + if (!line.equals(" ")) { | |
| 4745 | + sql = sql+" and line_code='"+ line+"' "; | |
| 4746 | + } | |
| 4747 | + sql = sql+" and DATE_FORMAT(rq,'%Y-%m-%d') between '"+ date+"' and '"+ date2+"'"; | |
| 4748 | + if (!gsdm.equals(" ")) { | |
| 4749 | + sql = sql+" and company_id="+gsdm; | |
| 4750 | + } | |
| 4751 | + if (!gsdm.equals(" ")) { | |
| 4752 | + sql = sql+" and sub_company_id="+fgsdm; | |
| 4753 | + } | |
| 4754 | + sql = sql+" order by line_code"; | |
| 4755 | + List<ScheduleCorrectionReport> list = jdbcTemplate.query(sql, | |
| 4756 | + new RowMapper<ScheduleCorrectionReport>() { | |
| 4757 | + @Override | |
| 4758 | + public ScheduleCorrectionReport mapRow(ResultSet rs, int rowNum) throws SQLException { | |
| 4759 | + ScheduleCorrectionReport sReport = new ScheduleCorrectionReport(); | |
| 4760 | + sReport.setCompanyName(rs.getString("company_name")); | |
| 4761 | + sReport.setSubCompanyName(rs.getString("sub_company_name")); | |
| 4762 | + sReport.setLineName(rs.getString("line_name")); | |
| 4763 | + sReport.setSjyybc(rs.getInt("sjyybc")); | |
| 4764 | + sReport.setSjksbc(rs.getInt("sjksbc")); | |
| 4765 | + sReport.setZbc(rs.getInt("zyybc")); | |
| 4766 | + sReport.setZddfbc(rs.getInt("sddfbc")); | |
| 4767 | + sReport.setSddfbc(rs.getInt("zddfbc")); | |
| 4768 | + sReport.setWqwxhbc(rs.getInt("wqwxhbc")); | |
| 4769 | + sReport.setBfwxhbc(rs.getInt("bfwxhbc")); | |
| 4770 | + sReport.setPybc(rs.getInt("pybc")); | |
| 4771 | + sReport.setLjbc(rs.getInt("ljbc")); | |
| 4772 | + sReport.setZrwbc(rs.getInt("zrwbc")); | |
| 4773 | + sReport.setOther(rs.getString("other")); | |
| 4774 | + return sReport; | |
| 4775 | + } | |
| 4776 | + }); | |
| 4777 | + List<Map<String, Object>> lMap = new ArrayList<Map<String, Object>>(); | |
| 4778 | + int sjyybc = 0; | |
| 4779 | + int sjksbc = 0; | |
| 4780 | + int zbc = 0; | |
| 4781 | + int sddfbc = 0; | |
| 4782 | + int zddfbc = 0; | |
| 4783 | + int wqwxhbc = 0; | |
| 4784 | + int bfwxhbc = 0; | |
| 4785 | + int pybc = 0; | |
| 4786 | + int ljbc = 0; | |
| 4787 | + int zrwbc = 0; | |
| 4788 | + for(ScheduleCorrectionReport sReport:list) { | |
| 4789 | + Map<String, Object> resMap = new HashMap<String, Object>(); | |
| 4790 | + resMap.put("gsName", sReport.getCompanyName()); | |
| 4791 | + resMap.put("fgsName", sReport.getSubCompanyName()); | |
| 4792 | + resMap.put("xlName", sReport.getLineName()); | |
| 4793 | + resMap.put("sjyybc", sReport.getSjyybc()); | |
| 4794 | + resMap.put("sjksbc", sReport.getSjksbc()); | |
| 4795 | + resMap.put("zbc", sReport.getZbc()); | |
| 4796 | + resMap.put("sddfbc", sReport.getSddfbc()); | |
| 4797 | + resMap.put("zddfbc", sReport.getZddfbc()); | |
| 4798 | + resMap.put("wqwxhbc", sReport.getWqwxhbc()); | |
| 4799 | + resMap.put("bfwxhbc", sReport.getBfwxhbc()); | |
| 4800 | + resMap.put("pybc", sReport.getPybc()); | |
| 4801 | + resMap.put("ljbc", sReport.getLjbc()); | |
| 4802 | + resMap.put("zrwbc", sReport.getZrwbc()); | |
| 4803 | + resMap.put("other", sReport.getOther()); | |
| 4804 | + lMap.add(resMap); | |
| 4805 | + sjyybc = sjyybc + sReport.getSjyybc(); | |
| 4806 | + sjksbc = sjksbc + sReport.getSjksbc(); | |
| 4807 | + zbc = zbc + sReport.getZbc(); | |
| 4808 | + sddfbc = sddfbc + sReport.getSddfbc(); | |
| 4809 | + zddfbc = zddfbc + sReport.getZddfbc(); | |
| 4810 | + wqwxhbc = wqwxhbc + sReport.getWqwxhbc(); | |
| 4811 | + bfwxhbc = bfwxhbc + sReport.getBfwxhbc(); | |
| 4812 | + pybc = pybc + sReport.getPybc(); | |
| 4813 | + ljbc = ljbc + sReport.getLjbc(); | |
| 4814 | + zrwbc = zrwbc + sReport.getZrwbc(); | |
| 4815 | + } | |
| 4816 | + Map<String, Object> resMap = new HashMap<String, Object>(); | |
| 4817 | + resMap.put("xlName", "合计"); | |
| 4818 | + resMap.put("sjyybc", sjyybc); | |
| 4819 | + resMap.put("sjksbc", sjksbc); | |
| 4820 | + resMap.put("zbc", zbc); | |
| 4821 | + resMap.put("sddfbc", sddfbc); | |
| 4822 | + resMap.put("zddfbc", zddfbc); | |
| 4823 | + resMap.put("wqwxhbc", wqwxhbc); | |
| 4824 | + resMap.put("bfwxhbc", bfwxhbc); | |
| 4825 | + resMap.put("pybc", pybc); | |
| 4826 | + resMap.put("ljbc", ljbc); | |
| 4827 | + resMap.put("zrwbc", zrwbc); | |
| 4828 | + resMap.put("other", null); | |
| 4829 | + lMap.add(resMap); | |
| 4830 | + return lMap; | |
| 4831 | + } | |
| 4641 | 4832 | } |
| 4642 | 4833 | |
| 4643 | 4834 | class AccountMap implements Comparator<Map<String, Object>>{ | ... | ... |
src/main/resources/static/pages/base/station/js/station-list-edit.js
0 → 100644
| 1 | +/** | |
| 2 | + * | |
| 3 | + * @JSName : list_edit.js(修改站点信息list_edit.html页面js) | |
| 4 | + * | |
| 5 | + * @Version 公交调度系统BS版 0.1 | |
| 6 | + * | |
| 7 | + */ | |
| 8 | + | |
| 9 | +(function(){ | |
| 10 | + // 获取参站点路由路ID | |
| 11 | + var no = []; | |
| 12 | + no = $.url().param('no').split(","); | |
| 13 | + var id = no[0]; | |
| 14 | + $('#lineNameInput').val(no[1]); | |
| 15 | + // 获取站点对象信息 | |
| 16 | + var editStation = {}; | |
| 17 | + /*PositionsPublicFunctions.getStationRouteInfo(id,function(r) { | |
| 18 | + editStation = r; | |
| 19 | + });*/ | |
| 20 | + $.ajax({ | |
| 21 | + url: "/stationroute/findStationRouteInfo", //请求地址 | |
| 22 | + type: "Get", | |
| 23 | + async:false, | |
| 24 | + //请求方式 | |
| 25 | + data: { id : id}, //请求参数 | |
| 26 | + success: function (result) { | |
| 27 | + editStation = result[0]; | |
| 28 | + } | |
| 29 | + }); | |
| 30 | + // 初始化表单值 | |
| 31 | + PositionsPublicFunctions.setListEditFrom(editStation); | |
| 32 | + var initzdlyP = {'lineCode_eq':editStation.stationRouteLIneCode,'destroy_eq':0,'directions_eq':editStation.stationRoutedirections}; | |
| 33 | + initSelect(initzdlyP); | |
| 34 | + | |
| 35 | + // 编辑表单元素 | |
| 36 | + var form = $('#list_edit_station_form'); | |
| 37 | + // 获取错误提示元素 | |
| 38 | + var error = $('.alert-danger', form); | |
| 39 | + // 提交数据按钮事件 | |
| 40 | + $('#editStationButton').on('click', function() { | |
| 41 | + // 表单提交 | |
| 42 | + form.submit(); | |
| 43 | + }); | |
| 44 | + // 表单验证 | |
| 45 | + form.validate({ | |
| 46 | + errorElement : 'span', | |
| 47 | + errorClass : 'help-block help-block-error', | |
| 48 | + focusInvalid : false, | |
| 49 | + rules : { | |
| 50 | + 'stationName' : {required : true},// 站点路由名称 必填项 | |
| 51 | + 'stationCod': {required : true,},// 站点编码 必填项 | |
| 52 | + 'directions' : {required : true,dirIs : true},// 站点方向 必填项 必填项 | |
| 53 | + 'stationRouteCode' : {isStart : true},// 站点序号 | |
| 54 | + 'stationMark' : {required : true},// 站点类型 必填项 | |
| 55 | + 'bJwpoints' : {required : true},// 经纬度坐标点 必填项 | |
| 56 | + 'shapesType' : {required : true},// 几何图形类型 必填项 | |
| 57 | + 'radius' : {required : true},// 圆形半径 必填项 | |
| 58 | + 'destroy' : {required : true},// 是否撤销 必填项 | |
| 59 | + 'toTime' : {number : true},// 到站时间 必须输入合法的数字(负数,小数)。 | |
| 60 | + 'distances' : {number : true},// 到站距离 // 到站距离 | |
| 61 | + 'descriptions' : {maxlength: 150}// 描述与说明 最大长度 | |
| 62 | + }, | |
| 63 | + invalidHandler : function(event, validator) { | |
| 64 | + error.show(); | |
| 65 | + App.scrollTo(error, -200); | |
| 66 | + }, | |
| 67 | + highlight : function(element) { | |
| 68 | + $(element).closest('.form-group').addClass('has-error'); | |
| 69 | + }, | |
| 70 | + unhighlight : function(element) { | |
| 71 | + $(element).closest('.form-group').removeClass('has-error'); | |
| 72 | + }, | |
| 73 | + success : function(label) { | |
| 74 | + label.closest('.form-group').removeClass('has-error'); | |
| 75 | + }, | |
| 76 | + submitHandler : function(f) { | |
| 77 | + error.hide(); | |
| 78 | + var params = form.serializeJSON(); | |
| 79 | + /*if(params.shapesType=='圆形') | |
| 80 | + params.shapesType = 'r'; | |
| 81 | + else if(params.shapesType=='多边形') | |
| 82 | + params.shapesType = 'd';*/ | |
| 83 | + if(params.stationRouteCode=='请选择...') | |
| 84 | + params.stationRouteCode=''; | |
| 85 | + PositionsPublicFunctions.stationUpdate(params,function(resuntDate) { | |
| 86 | + if(resuntDate.status=='SUCCESS') { | |
| 87 | + // 弹出添加成功提示消息 | |
| 88 | + layer.msg('修改成功...'); | |
| 89 | + }else { | |
| 90 | + // 弹出添加失败提示消息 | |
| 91 | + layer.msg('修改失败...'); | |
| 92 | + } | |
| 93 | + //返回站点信息页面 | |
| 94 | + loadPage('list.html'); | |
| 95 | + }); | |
| 96 | + } | |
| 97 | + }); | |
| 98 | + // 站点序号值改变事件 | |
| 99 | + $('#stationrouteSelect').on('change',function() { | |
| 100 | + var stationRValue = $('#stationrouteSelect').val(); | |
| 101 | + if(stationRValue=='请选择...') { | |
| 102 | + $('#stationMarkSelect').val('B'); | |
| 103 | + }else { | |
| 104 | + var tempStr = stationRValue.split('_'); | |
| 105 | + if(tempStr[1] == 'E') { | |
| 106 | + $('#stationMarkSelect').val('E'); | |
| 107 | + }else { | |
| 108 | + $('#stationMarkSelect').val('Z'); | |
| 109 | + } | |
| 110 | + } | |
| 111 | + }); | |
| 112 | + function initSelect(p){ | |
| 113 | + PositionsPublicFunctions.getzdlyInfo(p,function(array) { | |
| 114 | + // 定义路段路由长度、渲染拼音检索下拉框格式数据. | |
| 115 | + var len_ = array.length,paramsD = new Array(); | |
| 116 | + if(len_>0) { | |
| 117 | + paramsD.push({'id':'请选择...','text':'请选择...'}); | |
| 118 | + // 遍历. | |
| 119 | + $.each(array, function(i, g){ | |
| 120 | + // 判断. | |
| 121 | + if(g.name!='' || g.name != null) { | |
| 122 | + if(g.stationRouteCode != editStation.stationRouteCode) { | |
| 123 | + // 添加拼音检索下拉框格式数据数组. | |
| 124 | + /* paramsD.push({'id':g.stationRouteCode + '_' + g.stationMark + '_' + g.directions, | |
| 125 | + 'text':g.stationName + ' (' + g.stationRouteCode + ')' + ' --' + PositionsPublicFunctions.dirdmToName(g.directions)}); */ | |
| 126 | + if(editStation.stationRouteStationMark=='E' && i == (len_-2)){ | |
| 127 | + paramsD.push({'id':g.stationRouteCode + '_' + 'E' + '_' + g.directions, | |
| 128 | + 'text':g.stationName + ' (' + g.stationRouteCode + ')' + ' --' + PositionsPublicFunctions.dirdmToName(g.directions)}); | |
| 129 | + }else { | |
| 130 | + paramsD.push({'id':g.stationRouteCode + '_' + g.stationMark + '_' + g.directions, | |
| 131 | + 'text':g.stationName + ' (' + g.stationRouteCode + ')' + ' --' + PositionsPublicFunctions.dirdmToName(g.directions)}); | |
| 132 | + } | |
| 133 | + } | |
| 134 | + } | |
| 135 | + }); | |
| 136 | + $('#stationrouteSelect').empty(); | |
| 137 | + // 初始化上一个路段拼音检索下拉框. | |
| 138 | + initPinYinSelect2($('#stationrouteSelect'),paramsD,function(selector) { | |
| 139 | + setZdlyValue(); | |
| 140 | + }); | |
| 141 | + } | |
| 142 | + }); | |
| 143 | + } | |
| 144 | + function setZdlyValue() { | |
| 145 | + PositionsPublicFunctions.findUpStationRouteCode(editStation.stationRouteLine,editStation.stationRoutedirections,editStation.stationRouteCode,function(str) { | |
| 146 | + /* if(str.length>0){ | |
| 147 | + var upStationRouteCode = str[0].stationRouteCode + '_' + str[0].stationRouteMarke + '_' + editStation.stationRoutedirections; | |
| 148 | + $('#stationrouteSelect').select2('val',upStationRouteCode); | |
| 149 | + } */ | |
| 150 | + if(str.length>0){ | |
| 151 | + var upStationRouteCode = str[0].stationRouteCode + '_' + editStation.stationRouteStationMark + '_' + editStation.stationRoutedirections; | |
| 152 | + $('#stationrouteSelect').select2('val',upStationRouteCode); | |
| 153 | + }else { | |
| 154 | + $('#stationrouteSelect').select2('val','请选择...'); | |
| 155 | + } | |
| 156 | + $('#stationMarkSelect').val(editStation.stationRouteStationMark); | |
| 157 | + }); | |
| 158 | + } | |
| 159 | + // 当站点类型为中途站或者终点站时,上一站点为必填项! | |
| 160 | + $.validator.addMethod("isStart", function(value,element) { | |
| 161 | + var tel = false; | |
| 162 | + var stationMarkV = $('#stationMarkSelect').val(); | |
| 163 | + var stationrouteSelectV = $('#stationrouteSelect').val(); | |
| 164 | + if(stationMarkV =='B'){ | |
| 165 | + tel = true; | |
| 166 | + return tel; | |
| 167 | + }else if(stationMarkV =='Z' || stationMarkV =='E'){ | |
| 168 | + if(stationrouteSelectV!='' && stationrouteSelectV!='请选择...' && stationrouteSelectV!=null){ | |
| 169 | + tel = true; | |
| 170 | + return tel; | |
| 171 | + } | |
| 172 | + } | |
| 173 | + return tel; | |
| 174 | + }, '当站点类型为中途站或者终点站时,上一站点为必填项!'); | |
| 175 | + // 方向 | |
| 176 | + $.validator.addMethod("dirIs", function(value,element) { | |
| 177 | + var tel = true; | |
| 178 | + var stationMarkV = $('#stationdirSelect').val(); | |
| 179 | + if(stationMarkV!=editStation.stationRoutedirections){ | |
| 180 | + tel = false; | |
| 181 | + } | |
| 182 | + return tel; | |
| 183 | + }, '方向必须一致!'); | |
| 184 | +})(); | |
| 0 | 185 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/base/station/js/station-positions-function.js
| ... | ... | @@ -153,6 +153,53 @@ var PositionsPublicFunctions = function () { |
| 153 | 153 | // 描述/说明 |
| 154 | 154 | $('#descriptionsTextarea').val(stationObj.stationRouteDescriptions); |
| 155 | 155 | }, |
| 156 | + setListEditFrom : function(stationObj) { | |
| 157 | + // 图形坐标点集合(百度坐标) | |
| 158 | + $('#bPolygonGridInput').val(stationObj.stationBPolyonGrid); | |
| 159 | + // 百度地图经纬度坐标中心点 | |
| 160 | + $('#bJwpointsInput').val(stationObj.stationJwpoints); | |
| 161 | + // WGS坐标点图形集合 | |
| 162 | + $('#bPolygonGridInput').val(stationObj.stationGPloyonGrid); | |
| 163 | + /*// 城建坐标x | |
| 164 | + $('#xInput').val(stationObj.stationGlonx); | |
| 165 | + // 城建坐标y | |
| 166 | + $('#yInput').val(stationObj.stationGlony);*/ | |
| 167 | + // 获取图形类型元素,并添加值 | |
| 168 | + $('#shapesTypeSelect').val(stationObj.stationShapesType); | |
| 169 | + // 获取半径元素,并添加值 | |
| 170 | + $('#radiusInput').val(stationObj.stationRadius); | |
| 171 | + // 线路ID | |
| 172 | + $('#stationRouteLineInput').val(stationObj.stationRouteLIneCode); | |
| 173 | + // 站点编码 | |
| 174 | + $('#stationCodInput').val(stationObj.stationCode); | |
| 175 | + | |
| 176 | + // 线路编码 | |
| 177 | + $('#lineCodeInput').val(stationObj.stationRouteCode); | |
| 178 | + /*// 线路名称 | |
| 179 | + $('#lineNameInput').val();*/ | |
| 180 | + // 站点ID | |
| 181 | + $('#StationCodeInput').val(stationObj.stationRouteStation); | |
| 182 | + // 站点路由ID | |
| 183 | + $('#stationRouteIdInput').val(stationObj.stationRouteId); | |
| 184 | + // 站点名称 | |
| 185 | + $('#zdmcInput').val(stationObj.zdmc); | |
| 186 | + // 站点路由线路名称 | |
| 187 | + $('#stationNameInput').val(stationObj.stationName); | |
| 188 | + // 获取站点类型元素设值 | |
| 189 | + $('#stationMarkSelect').val(stationObj.stationRouteStationMark); | |
| 190 | + // 获取站点方向元素设值 | |
| 191 | + $('#stationdirSelect').val(stationObj.stationRoutedirections); | |
| 192 | + // 获取站点道路编码元素设值 | |
| 193 | + $('#roadCodingCodInput').val(stationObj.stationRoadCoding); | |
| 194 | + // 是否撤销 | |
| 195 | + $('#destroySelect').val(stationObj.stationRouteDestroy); | |
| 196 | + // 到站时间 | |
| 197 | + $('#toTimeInput').val(stationObj.stationRouteToTime); | |
| 198 | + // 到站距离 | |
| 199 | + $('#distancesInput').val(stationObj.stationRouteDistances); | |
| 200 | + // 描述/说明 | |
| 201 | + $('#descriptionsTextarea').val(stationObj.stationRouteDescriptions); | |
| 202 | + }, | |
| 156 | 203 | // 获取站点路由. |
| 157 | 204 | getzdlyInfo : function(params,callback) { |
| 158 | 205 | $get('/stationroute/all',params,function(result) { | ... | ... |
src/main/resources/static/pages/base/station/list.html
| ... | ... | @@ -170,6 +170,7 @@ |
| 170 | 170 | </td> |
| 171 | 171 | <td> |
| 172 | 172 | <a href="positions.html?no={{obj.id}}" class="btn default blue-stripe btn-sm" data-pjax> 定位 </a> |
| 173 | + <a href="list_edit.html?no={{obj.id}},{{obj.line.name}}" class="btn default blue-stripe btn-sm" data-pjax> 修改 </a> | |
| 173 | 174 | </td> |
| 174 | 175 | </tr> |
| 175 | 176 | {{/each}} | ... | ... |
src/main/resources/static/pages/base/station/list_edit.html
0 → 100644
| 1 | +<div class="page-head"> | |
| 2 | + <div class="page-title"> | |
| 3 | + <h1>修改站点信息</h1> | |
| 4 | + </div> | |
| 5 | +</div> | |
| 6 | + | |
| 7 | +<ul class="page-breadcrumb breadcrumb"> | |
| 8 | + <li><a href="/pages/home.html" data-pjax>首页</a> <i class="fa fa-circle"></i></li> | |
| 9 | + <li><span class="active">基础信息</span> <i class="fa fa-circle"></i></li> | |
| 10 | + <li><a href="/pages/base/station/list.html" data-pjax>站点信息</a> <i class="fa fa-circle"></i></li> | |
| 11 | + <li><span class="active">修改站点信息</span></li> | |
| 12 | +</ul> | |
| 13 | + | |
| 14 | +<!-- 信息容器组件 START --> | |
| 15 | +<div class="portlet light bordered"> | |
| 16 | + | |
| 17 | + <!-- 信息容器组件标题 START --> | |
| 18 | + <div class="portlet-title"> | |
| 19 | + <div class="caption"> | |
| 20 | + <i class="icon-equalizer font-red-sunglo"></i> | |
| 21 | + <span class="caption-subject font-red-sunglo bold uppercase">修改站点信息</span> | |
| 22 | + </div> | |
| 23 | + </div> | |
| 24 | + <!-- 信息容器组件标题 END --> | |
| 25 | + | |
| 26 | + <!-- 表单容器组件 START --> | |
| 27 | + <div class="portlet-body form" id="StationEditForm"> | |
| 28 | + | |
| 29 | + <!-- START FORM --> | |
| 30 | + <form action="/" class="form-horizontal" id="list_edit_station_form" > | |
| 31 | + | |
| 32 | + <!-- 错误提示信息组件 START --> | |
| 33 | + <div class="alert alert-danger display-hide"> | |
| 34 | + <button class="close" data-close="alert"></button> | |
| 35 | + 您的输入有误,请检查下面的输入项 | |
| 36 | + </div> | |
| 37 | + <!-- 错误提示信息组件 END --> | |
| 38 | + | |
| 39 | + <!-- 表单内容 START --> | |
| 40 | + <div class="form-body"> | |
| 41 | + <input type="hidden" name="id" id="lineId"> | |
| 42 | + | |
| 43 | + <!-- 表单分组组件 form-group START --> | |
| 44 | + <div class="form-group"> | |
| 45 | + <!-- 图形坐标点集合(百度坐标) --> | |
| 46 | + <input type="hidden" name="bPolygonGrid" id="bPolygonGridInput" /> | |
| 47 | + <!-- 经纬度坐标点 --> | |
| 48 | + <input type="hidden" name="bJwpoints" id="bJwpointsInput"> | |
| 49 | + <!-- 图形坐标点集合(WGS坐标) --> | |
| 50 | + <input type="hidden" name="gPolygonGrid" id="gPolygonGridInput" /> | |
| 51 | + <!-- 原始坐标类型 --> | |
| 52 | + <input type="hidden" name="dbType" id="dbTypeInput" value="b"/> | |
| 53 | + <!-- 城建坐标x | |
| 54 | + <input type="hidden" name="x" id="xInput" /> | |
| 55 | + 城建坐标y | |
| 56 | + <input type="hidden" name="y" id="yInput" />--> | |
| 57 | + <!-- 几何图形类型 --> | |
| 58 | + <input type="hidden" name="shapesType" id="shapesTypeSelect"> | |
| 59 | + <!-- 圆形半径 --> | |
| 60 | + <input type="hidden" name="radius" id="radiusInput" > | |
| 61 | + <!-- 线路ID --> | |
| 62 | + <input type="hidden" name="stationRouteLine" id="stationRouteLineInput"> | |
| 63 | + <!-- 站点编码 --> | |
| 64 | + <input type="hidden" name="stationCod" id="stationCodInput"> | |
| 65 | + | |
| 66 | + <!-- 线路编号(* 必填项) START --> | |
| 67 | + <div class="col-md-6"> | |
| 68 | + <label class="control-label col-md-5"> | |
| 69 | + <span class="required"> * </span>线路编码 : | |
| 70 | + </label> | |
| 71 | + <div class="col-md-4"> | |
| 72 | + <input type="text" class="form-control" name="lineCode" id="lineCodeInput" placeholder="线路编号" readonly="readonly"> | |
| 73 | + </div> | |
| 74 | + </div> | |
| 75 | + <!-- 线路编号 (* 必填项) END --> | |
| 76 | + | |
| 77 | + <!-- 线路名称 (* 必填项) START --> | |
| 78 | + <div class="col-md-6"> | |
| 79 | + <label class="control-label col-md-5"> | |
| 80 | + <span class="required"> * </span>线路名称 : | |
| 81 | + </label> | |
| 82 | + <div class="col-md-4"> | |
| 83 | + <input type="text" class="form-control" name="lineName" id="lineNameInput" placeholder="线路名称" readonly="readonly" /> | |
| 84 | + <span class="help-block"> 例如 :浦东88路 </span> | |
| 85 | + </div> | |
| 86 | + </div> | |
| 87 | + <!-- 线路名称 (* 必填项) END --> | |
| 88 | + </div> | |
| 89 | + <!-- 表单分组组件 form-group END --> | |
| 90 | + | |
| 91 | + <!-- 表单分组组件 form-group START --> | |
| 92 | + <div class="form-group"> | |
| 93 | + <!-- 站点编号(* 必填项) START --> | |
| 94 | + <div class="col-md-6"> | |
| 95 | + <label class="control-label col-md-5"> | |
| 96 | + <span class="required"> * </span>站点编码 : | |
| 97 | + </label> | |
| 98 | + <div class="col-md-4"> | |
| 99 | + <input type="text" class="form-control" name="stationId" id="StationCodeInput" placeholder="站点编号" readonly="readonly"> | |
| 100 | + </div> | |
| 101 | + </div> | |
| 102 | + <!-- 站点编号 (* 必填项) END --> | |
| 103 | + | |
| 104 | + <!-- 站点名称 (* 必填项) START --> | |
| 105 | + <div class="col-md-6"> | |
| 106 | + <label class="control-label col-md-5"> | |
| 107 | + <span class="required"> * </span>站点名称 : | |
| 108 | + </label> | |
| 109 | + <div class="col-md-4"> | |
| 110 | + <input type="text" class="form-control" name="zdmc" id="zdmcInput" placeholder="站点名称" readonly="readonly"> | |
| 111 | + </div> | |
| 112 | + </div> | |
| 113 | + <!-- 站点名称 (* 必填项) END --> | |
| 114 | + </div> | |
| 115 | + <!-- 表单分组组件 form-group END --> | |
| 116 | + | |
| 117 | + <!-- 表单分组组件 form-group START --> | |
| 118 | + <div class="form-group"> | |
| 119 | + <!-- 站点路由编码 --> | |
| 120 | + <div class="col-md-6"> | |
| 121 | + <label class="control-label col-md-5"> | |
| 122 | + <span class="required"> * </span>站点路由编码 : | |
| 123 | + </label> | |
| 124 | + <div class="col-md-4"> | |
| 125 | + <input type="text" class="form-control" name="stationRouteId" id="stationRouteIdInput" placeholder="站点路由编码" readonly="readonly"> | |
| 126 | + </div> | |
| 127 | + </div> | |
| 128 | + | |
| 129 | + <!-- 站点路由名称 --> | |
| 130 | + <div class="col-md-6"> | |
| 131 | + <label class="control-label col-md-5"> | |
| 132 | + <span class="required"> * </span>站点路由名称 : | |
| 133 | + </label> | |
| 134 | + <div class="col-md-4"> | |
| 135 | + <input type="text" class="form-control" name="stationName" id="stationNameInput" placeholder="站点路由名称" > | |
| 136 | + </div> | |
| 137 | + </div> | |
| 138 | + </div> | |
| 139 | + <!-- 表单分组组件 form-group END --> | |
| 140 | + | |
| 141 | + <!-- 表单分组组件 form-group START --> | |
| 142 | + <div class="form-group"> | |
| 143 | + <!-- 站点方向 --> | |
| 144 | + <div class="col-md-6"> | |
| 145 | + <label class="control-label col-md-5"> | |
| 146 | + <span class="required"> * </span>站点方向 : | |
| 147 | + </label> | |
| 148 | + <div class="col-md-4"> | |
| 149 | + <select name="directions" class="form-control" id="stationdirSelect"> | |
| 150 | + <option value="">-- 请选择站点类型 --</option> | |
| 151 | + <option value="0">上行</option> | |
| 152 | + <option value="1">下行</option> | |
| 153 | + </select> | |
| 154 | + </div> | |
| 155 | + </div> | |
| 156 | + | |
| 157 | + <!-- 站点序号 --> | |
| 158 | + <div class="col-md-6"> | |
| 159 | + <label class="control-label col-md-5"> | |
| 160 | + <span class="required"> * </span>上一站点 : | |
| 161 | + </label> | |
| 162 | + <div class="col-md-4"> | |
| 163 | + <select name="stationRouteCode" class="form-control" id="stationrouteSelect" style="width:100%"></select> | |
| 164 | + <span class="help-block">说明:选择的站点将作为本站序号的参考,成为选择站点的下一站。 </span> | |
| 165 | + </div> | |
| 166 | + </div> | |
| 167 | + </div> | |
| 168 | + <!-- 表单分组组件 form-group END --> | |
| 169 | + | |
| 170 | + <!-- 表单分组组件 form-group START --> | |
| 171 | + <div class="form-group"> | |
| 172 | + <!-- 站点类型 --> | |
| 173 | + <div class="col-md-6"> | |
| 174 | + <label class="control-label col-md-5"> | |
| 175 | + <span class="required"> * </span>站点类型 : | |
| 176 | + </label> | |
| 177 | + <div class="col-md-4"> | |
| 178 | + <select name="stationMark" class="form-control" id="stationMarkSelect"> | |
| 179 | + <option value="">-- 请选择站点类型 --</option> | |
| 180 | + <option value="B">起点站</option> | |
| 181 | + <option value="Z">中途站</option> | |
| 182 | + <option value="E">终点站</option> | |
| 183 | + </select> | |
| 184 | + </div> | |
| 185 | + </div> | |
| 186 | + | |
| 187 | + <!-- 是否撤销 START (因为options值基本固定,所以在页面固定。【以后可以根具需求修改成使用字典表实现】) --> | |
| 188 | + <div class="col-md-6"> | |
| 189 | + <label class="control-label col-md-5"> | |
| 190 | + <span class="required"> * </span>是否撤销 : | |
| 191 | + </label> | |
| 192 | + <div class="col-md-4"> | |
| 193 | + <select name="destroy" class="form-control" id="destroySelect"> | |
| 194 | + <option value="">-- 请选择撤销类型 --</option> | |
| 195 | + <option value="0">否</option> | |
| 196 | + <option value="1">是</option> | |
| 197 | + </select> | |
| 198 | + </div> | |
| 199 | + </div> | |
| 200 | + <!-- 是否撤销 START --> | |
| 201 | + </div> | |
| 202 | + <!-- 表单分组组件 form-group END --> | |
| 203 | + | |
| 204 | + <!-- 表单分组组件 form-group START --> | |
| 205 | + <div class="form-group"> | |
| 206 | + <!-- 道路编码--> | |
| 207 | + <div class="col-md-6"> | |
| 208 | + <label class="control-label col-md-5"><span class="required"> * </span> | |
| 209 | + 道路编码 : | |
| 210 | + </label> | |
| 211 | + <div class="col-md-4"> | |
| 212 | + <input type="text" class="form-control" name="roadCoding" id="roadCodingCodInput" placeholder="道路编码"> | |
| 213 | + </div> | |
| 214 | + </div> | |
| 215 | + | |
| 216 | + <!-- 到站时间 --> | |
| 217 | + <div class="col-md-6"> | |
| 218 | + <label class="control-label col-md-5"><span class="required"> * </span> | |
| 219 | + 到站时间 : </label> | |
| 220 | + <div class="col-md-4"> | |
| 221 | + <input type="text" class="form-control" name="toTime" id="toTimeInput" placeholder="到站时间"> | |
| 222 | + <span class="help-block">单位:分钟(min)</span> | |
| 223 | + </div> | |
| 224 | + </div> | |
| 225 | + </div> | |
| 226 | + <!-- 表单分组组件 form-group END --> | |
| 227 | + | |
| 228 | + <!-- 表单分组组件 form-group START --> | |
| 229 | + <div class="form-group"> | |
| 230 | + <!-- 到站距离 --> | |
| 231 | + <div class="col-md-6"> | |
| 232 | + <label class="control-label col-md-5"><span class="required"> * </span> | |
| 233 | + 到站距离 :</label> | |
| 234 | + <div class="col-md-4"> | |
| 235 | + <input type="text" class="form-control" name="distances" id="distancesInput" placeholder="到站距离"> | |
| 236 | + <span class="help-block">单位:公里(km)</span> | |
| 237 | + </div> | |
| 238 | + </div> | |
| 239 | + | |
| 240 | + <!-- 版本号 --> | |
| 241 | + <div class="col-md-6"> | |
| 242 | + <label class="control-label col-md-5"><span class="required"> * </span> 版本号 : | |
| 243 | + </label> | |
| 244 | + <div class="col-md-4"> | |
| 245 | + <input type="text" class="form-control" name="versions" value='1' Readonly> | |
| 246 | + </div> | |
| 247 | + </div> | |
| 248 | + </div> | |
| 249 | + <!-- 表单分组组件 form-group END --> | |
| 250 | + | |
| 251 | + <!-- 表单分组组件 form-group START --> | |
| 252 | + <div class="form-group"> | |
| 253 | + <!-- 描述/说明 --> | |
| 254 | + <div class="col-md-6"> | |
| 255 | + <label class="control-label col-md-5"><span class="required"> * </span>描述/说明 : | |
| 256 | + </label> | |
| 257 | + <div class="col-md-4"> | |
| 258 | + <textarea class="form-control" rows="3" name="descriptions" id="descriptionsTextarea" placeholder="描述/说明"></textarea> | |
| 259 | + </div> | |
| 260 | + </div> | |
| 261 | + | |
| 262 | + | |
| 263 | + </div> | |
| 264 | + <!-- 表单分组组件 form-group END --> | |
| 265 | + | |
| 266 | + <!-- 表单按钮组件 START --> | |
| 267 | + <div class="form-actions"> | |
| 268 | + <div class="row"> | |
| 269 | + <div class="col-md-offset-5 col-md-7"> | |
| 270 | + <button type="submit" class="btn green" ><i class="fa fa-check"></i> 提交</button> | |
| 271 | + <a type="button" class="btn default" href="list.html" data-pjax><i class="fa fa-times"></i> 取消</a> | |
| 272 | + </div> | |
| 273 | + </div> | |
| 274 | + </div> | |
| 275 | + <!-- 表单按钮组件 END --> | |
| 276 | + </form> | |
| 277 | + <!-- END FORM--> | |
| 278 | + </div> | |
| 279 | + <!-- 表单组件 END --> | |
| 280 | +</div> | |
| 281 | +<!-- 信息容器组件 END --> | |
| 282 | + | |
| 283 | +<script src="/pages/base/station/js/positionstation.js"></script> | |
| 284 | +<script src="/pages/base/station/js/station-positions-function.js"></script> | |
| 285 | +<script src="/pages/base/station/js/station-list-edit.js"></script> | |
| 0 | 286 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/forms/statement/mileageReport.html
0 → 100644
| 1 | +<style type="text/css"> | |
| 2 | + .table-bordered { | |
| 3 | + border: 1px solid; } | |
| 4 | + .table-bordered > thead > tr > th, | |
| 5 | + .table-bordered > thead > tr > td, | |
| 6 | + .table-bordered > tbody > tr > th, | |
| 7 | + .table-bordered > tbody > tr > td, | |
| 8 | + .table-bordered > tfoot > tr > th, | |
| 9 | + .table-bordered > tfoot > tr > td { | |
| 10 | + border: 1px solid; } | |
| 11 | + .table-bordered > thead > tr > th, | |
| 12 | + .table-bordered > thead > tr > td { | |
| 13 | + border-bottom-width: 2px; } | |
| 14 | + | |
| 15 | + .table > tbody + tbody { | |
| 16 | + border-top: 1px solid; } | |
| 17 | + | |
| 18 | + #forms > thead > tr> td >span{ | |
| 19 | + width: 5px; | |
| 20 | + word-wrap: break-word; | |
| 21 | + letter-spacing: 20px; | |
| 22 | + } | |
| 23 | + | |
| 24 | + #forms > thead > tr> td >label{ | |
| 25 | + word-break: keep-all;white-space:nowrap; | |
| 26 | + } | |
| 27 | +</style> | |
| 28 | + | |
| 29 | +<div class="page-head"> | |
| 30 | + <div class="page-title"> | |
| 31 | + <h1>运营里程修正报表</h1> | |
| 32 | + </div> | |
| 33 | +</div> | |
| 34 | + | |
| 35 | +<!-- <div class="row"> --> | |
| 36 | + <div class="col-md-12 portlet light porttlet-fit bordered" style="height:calc(100% - 56px)"> | |
| 37 | +<!-- <div> --> | |
| 38 | + <div class="portlet-title"> | |
| 39 | + <form class="form-inline" action=""> | |
| 40 | + <div style="display: inline-block; " id="gsdmDiv"> | |
| 41 | + <span class="item-label" style="width: 80px;margin-left: 28px;">公司: </span> | |
| 42 | + <select class="form-control" name="company" id="gsdm" style="width: 180px;"></select> | |
| 43 | + </div> | |
| 44 | + <div style="display: inline-block; margin-left: 29px;" id="fgsdmDiv"> | |
| 45 | + <span class="item-label" style="width: 80px;">分公司: </span> | |
| 46 | + <select class="form-control" name="subCompany" id="fgsdm" style="width: 180px;"></select> | |
| 47 | + </div> | |
| 48 | + <div style="display: inline-block;margin-left: 15px;"> | |
| 49 | + <span class="item-label" style="width: 80px;">线路: </span> | |
| 50 | + <select class="form-control" name="line" id="line" style="width: 180px;"></select> | |
| 51 | + </div> | |
| 52 | + <div style="margin-top: 10px"></div> | |
| 53 | + <div style="display: inline-block;"> | |
| 54 | + <span class="item-label" style="width: 80px;">开始时间: </span> | |
| 55 | + <input class="form-control" type="text" id="date" style="width: 180px;"/> | |
| 56 | + </div> | |
| 57 | + <div style="display: inline-block;margin-left: 15px;"> | |
| 58 | + <span class="item-label" style="width: 80px;">结束时间: </span> | |
| 59 | + <input class="form-control" type="text" id="date2" style="width: 180px;"/> | |
| 60 | + </div> | |
| 61 | + <div class="form-group" style="width: 80px;margin-left: 15px;"> | |
| 62 | + <input class="btn btn-default" type="button" id="query" value="查询"/> | |
| 63 | + </div> | |
| 64 | + </form> | |
| 65 | + </div> | |
| 66 | + <div class="portlet-body" id="tjrbBody" style="overflow:auto;height: calc(100% - 80px)"> | |
| 67 | + <div class="table-container" style="margin-top: 10px;min-width: 906px"> | |
| 68 | + <table class="table table-bordered table-hover table-checkable" id="forms"> | |
| 69 | + <thead> | |
| 70 | + <tr> | |
| 71 | + <!-- <td rowspan="2">计划总公里</td> | |
| 72 | + <td rowspan="2">计划营运公里</td> | |
| 73 | + <td rowspan="2">计划空驶公里</td> --> | |
| 74 | + <td rowspan="2" style="text-align: center; padding-top: 45px">公司名</td> | |
| 75 | + <td rowspan="2" style="text-align: center; padding-top: 45px">分公司名</td> | |
| 76 | + <td rowspan="2" style="text-align: center; padding-top: 45px">线路</td> | |
| 77 | + <td rowspan="2" style="text-align: center; padding-top: 45px">实际营运公里</td> | |
| 78 | + <td rowspan="2" style="text-align: center; padding-top: 45px">实际空驶公里</td> | |
| 79 | + <td rowspan="2" style="text-align: center; padding-top: 45px">实际总公里</td> | |
| 80 | + <!-- <td rowspan="2" style="text-align: center; padding-top: 45px">少驶公里</td> --> | |
| 81 | + <td colspan="2" align="center" style="text-align: center;">待发调整公里</td> | |
| 82 | + <td colspan="3" align="center" style="text-align: center;">无信号公里</td> | |
| 83 | + <!-- <td rowspan="2">少驶班次</td> --> | |
| 84 | + <td rowspan="2" style="text-align: center; padding-top: 45px">临加公里</td> | |
| 85 | + <td rowspan="2" style="text-align: center; padding-top: 45px">子任务</td> | |
| 86 | + <td rowspan="2" style="text-align: center; padding-top: 45px">其他</td> | |
| 87 | + </tr> | |
| 88 | + <tr> | |
| 89 | + <td class="hidden"></td> | |
| 90 | + <td rowspan="2" style="text-align: center;">手动待发公里</td> | |
| 91 | + <td rowspan="2" style="text-align: center;">自动待发公里</td> | |
| 92 | + <!-- <td rowspan="2" style="text-align: center;">待发合计公里</td> --> | |
| 93 | + <td rowspan="2" style="text-align: center;">完全无信号公里</td> | |
| 94 | + <td rowspan="2" style="text-align: center;">部分无信号公里</td> | |
| 95 | + <td rowspan="2" style="text-align: center;">漂移公里</td> | |
| 96 | + </tr> | |
| 97 | + | |
| 98 | + </thead> | |
| 99 | + <tbody class="mileageReport"> | |
| 100 | + | |
| 101 | + </tbody> | |
| 102 | + </table> | |
| 103 | + </div> | |
| 104 | + </div> | |
| 105 | + </div> | |
| 106 | +<!-- </div> | |
| 107 | +</div> --> | |
| 108 | + | |
| 109 | +<script> | |
| 110 | + $(function(){ | |
| 111 | + $('#export').attr('disabled', "true"); | |
| 112 | + | |
| 113 | + // 关闭左侧栏 | |
| 114 | + if (!$('body').hasClass('page-sidebar-closed')) | |
| 115 | + $('.menu-toggler.sidebar-toggler').click(); | |
| 116 | + | |
| 117 | + $("#date").datetimepicker({ | |
| 118 | + format : 'YYYY-MM-DD', | |
| 119 | + locale : 'zh-cn' | |
| 120 | + }); | |
| 121 | + | |
| 122 | + $("#date2").datetimepicker({ | |
| 123 | + format : 'YYYY-MM-DD', | |
| 124 | + locale : 'zh-cn' | |
| 125 | + }); | |
| 126 | + var d = new Date(); | |
| 127 | + var year = d.getFullYear(); | |
| 128 | + var month = d.getMonth() + 1; | |
| 129 | + var day = d.getDate(); | |
| 130 | + if(month < 10) | |
| 131 | + month = "0" + month; | |
| 132 | + if(day < 10) | |
| 133 | + day = "0" + day; | |
| 134 | + $("#date").val(year + "-" + month + "-" + day); | |
| 135 | + | |
| 136 | + $("#date2").val(year + "-" + month + "-" + day); | |
| 137 | + | |
| 138 | + var fage=false; | |
| 139 | + var obj = []; | |
| 140 | + var xlList; | |
| 141 | + $.get('/report/lineList',function(result){ | |
| 142 | + xlList=result; | |
| 143 | + $.get('/user/companyData', function(result){ | |
| 144 | + obj = result; | |
| 145 | + var options = ''; | |
| 146 | + for(var i = 0; i < obj.length; i++){ | |
| 147 | + options += '<option value="'+obj[i].companyCode+'">'+obj[i].companyName+'</option>'; | |
| 148 | + } | |
| 149 | + | |
| 150 | + if(obj.length ==0){ | |
| 151 | + $("#gsdmDiv").css('display','none'); | |
| 152 | + }else if(obj.length ==1){ | |
| 153 | + $("#gsdmDiv").css('display','none'); | |
| 154 | + if(obj[0].children.length == 1 || obj[0].children.length ==0) | |
| 155 | + $('#fgsdmDiv').css('display','none'); | |
| 156 | + } | |
| 157 | + $('#gsdm').html(options); | |
| 158 | + updateCompany(); | |
| 159 | + }); | |
| 160 | + }) | |
| 161 | + $("#gsdm").on("change",updateCompany); | |
| 162 | + function updateCompany(){ | |
| 163 | + var company = $('#gsdm').val(); | |
| 164 | + var options = ''; | |
| 165 | + for(var i = 0; i < obj.length; i++){ | |
| 166 | + if(obj[i].companyCode == company){ | |
| 167 | + var children = obj[i].children; | |
| 168 | + for(var j = 0; j < children.length; j++){ | |
| 169 | + options += '<option value="'+children[j].code+'">'+children[j].name+'</option>'; | |
| 170 | + } | |
| 171 | + } | |
| 172 | + } | |
| 173 | + $('#fgsdm').html(options); | |
| 174 | +// initXl(); | |
| 175 | + } | |
| 176 | + | |
| 177 | + var tempData = {}; | |
| 178 | + $.get('/report/lineList',function(xlList){ | |
| 179 | + var data = []; | |
| 180 | + data.push({id: " ", text: "全部线路"}); | |
| 181 | + $.get('/user/companyData', function(result){ | |
| 182 | + for(var i = 0; i < result.length; i++){ | |
| 183 | + var companyCode = result[i].companyCode; | |
| 184 | + var children = result[i].children; | |
| 185 | + for(var j = 0; j < children.length; j++){ | |
| 186 | + var code = children[j].code; | |
| 187 | + for(var k=0;k < xlList.length;k++ ){ | |
| 188 | + if(xlList[k]["fgsbm"]==code && xlList[k]["gsbm"]==companyCode){ | |
| 189 | + data.push({id: xlList[k]["xlbm"], text: xlList[k]["xlname"]}); | |
| 190 | + tempData[xlList[k]["xlbm"]] = companyCode+":"+code; | |
| 191 | + } | |
| 192 | + } | |
| 193 | + } | |
| 194 | + } | |
| 195 | + initPinYinSelect2('#line',data,''); | |
| 196 | + | |
| 197 | + }); | |
| 198 | + }); | |
| 199 | + | |
| 200 | + $("#line").on("change", function(){ | |
| 201 | + if($("#line").val() == " "){ | |
| 202 | + $("#gsdm").attr("disabled", false); | |
| 203 | + $("#fgsdm").attr("disabled", false); | |
| 204 | + } else { | |
| 205 | + var temp = tempData[$("#line").val()].split(":"); | |
| 206 | + $("#gsdm").val(temp[0]); | |
| 207 | + updateCompany(); | |
| 208 | + $("#fgsdm").val(temp[1]); | |
| 209 | + $("#gsdm").attr("disabled", true); | |
| 210 | + $("#fgsdm").attr("disabled", true); | |
| 211 | + } | |
| 212 | + }); | |
| 213 | + | |
| 214 | + | |
| 215 | + var line =""; | |
| 216 | + var xlName =""; | |
| 217 | + var date = ""; | |
| 218 | + var date2 =""; | |
| 219 | + var gsdm=""; | |
| 220 | + var fgsdm=""; | |
| 221 | + $("#query").on("click",function(){ | |
| 222 | + if($("#date").val() == null || $("#date").val().trim().length == 0){ | |
| 223 | + layer.msg("请选择时间范围!"); | |
| 224 | + return; | |
| 225 | + } | |
| 226 | + if($("#date2").val() == null || $("#date2").val().trim().length == 0){ | |
| 227 | + layer.msg("请选择时间范围!"); | |
| 228 | + return; | |
| 229 | + } | |
| 230 | +// $("#tjrbBody").height($(window).height()-100); | |
| 231 | + line = $("#line").val(); | |
| 232 | + xlName = $("#select2-line-container").html(); | |
| 233 | + date = $("#date").val(); | |
| 234 | + date2 =$("#date2").val(); | |
| 235 | + gsdm =$("#gsdm").val(); | |
| 236 | + fgsdm=$("#fgsdm").val(); | |
| 237 | + if(line=="请选择"){ | |
| 238 | + line=""; | |
| 239 | + } | |
| 240 | + if(date==null || date =="" ||date2==null || date2 ==""){ | |
| 241 | + layer.msg('请选择时间段.'); | |
| 242 | + }else{ | |
| 243 | + var params = {}; | |
| 244 | + params['gsdm'] = gsdm; | |
| 245 | + params['fgsdm'] =fgsdm ; | |
| 246 | + params['line'] = line; | |
| 247 | + params['date'] = date; | |
| 248 | + params['date2'] = date2; | |
| 249 | + params['xlName'] = xlName; | |
| 250 | + params['type'] = "query"; | |
| 251 | + $get('/realSchedule/mileageReportTj',params,function(result){ | |
| 252 | + // 把数据填充到模版中 | |
| 253 | + var tbodyHtml = template('mileageReport',{list:result}); | |
| 254 | + // 把渲染好的模版html文本追加到表格中 | |
| 255 | + $('#forms .mileageReport').html(tbodyHtml); | |
| 256 | + | |
| 257 | + /* if(result.length == 0) | |
| 258 | + $("#export").attr('disabled',"true"); | |
| 259 | + else | |
| 260 | + $("#export").removeAttr("disabled"); */ | |
| 261 | + }); | |
| 262 | + } | |
| 263 | + | |
| 264 | + }); | |
| 265 | +// $("#tjrbBody").height($(window).height()-100); | |
| 266 | + // 导出 | |
| 267 | + /* $("#export").on("click",function(){ | |
| 268 | + var params = {}; | |
| 269 | + params['gsdm'] = gsdm; | |
| 270 | + params['fgsdm'] =fgsdm ; | |
| 271 | + params['line'] = line; | |
| 272 | + params['date'] = date; | |
| 273 | + params['date2'] = date2; | |
| 274 | + params['xlName'] = xlName; | |
| 275 | + params['type'] = "export"; | |
| 276 | + $get('/realSchedule/mileageReportTj',params,function(result){ | |
| 277 | + window.open("/downloadFile/download?fileName=统计日报"+moment(date).format("YYYYMMDD")); | |
| 278 | + }); | |
| 279 | + }); */ | |
| 280 | + | |
| 281 | + }); | |
| 282 | +</script> | |
| 283 | +<script type="text/html" id="mileageReport"> | |
| 284 | + {{each list as obj i}} | |
| 285 | + <tr> | |
| 286 | + {{if obj.xlName=='合计'}} | |
| 287 | + <td colspan="3">{{obj.xlName}}</td> | |
| 288 | + {{/if}} | |
| 289 | + {{if obj.xlName!='合计'}} | |
| 290 | + <td>{{obj.gsName}}</td> | |
| 291 | + <td>{{obj.fgsName}}</td> | |
| 292 | + <td>{{obj.xlName}}</td> | |
| 293 | + {{/if}} | |
| 294 | + <td>{{obj.sjyygl}}</td> | |
| 295 | + <td>{{obj.sjksgl}}</td> | |
| 296 | + <td>{{obj.zgl}}</td> | |
| 297 | + <td>{{obj.sddfgl}}</td> | |
| 298 | + <td>{{obj.zddfgl}}</td> | |
| 299 | + <td>{{obj.wqwxhgl}}</td> | |
| 300 | + <td>{{obj.bfwxhgl}}</td> | |
| 301 | + <td>{{obj.pygl}}</td> | |
| 302 | + <td>{{obj.ljgl}}</td> | |
| 303 | + <td>{{obj.zrwgl}}</td> | |
| 304 | + <td>{{obj.other}}</td> | |
| 305 | + | |
| 306 | + </tr> | |
| 307 | + {{/each}} | |
| 308 | + {{if list.length == 0}} | |
| 309 | + <tr> | |
| 310 | + <td colspan="44"><h6 class="muted">没有找到相关数据</h6></td> | |
| 311 | + </tr> | |
| 312 | + {{/if}} | |
| 313 | +</script> | |
| 0 | 314 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/forms/statement/scheduleCorrectionReport.html
0 → 100644
| 1 | +<style type="text/css"> | |
| 2 | + .table-bordered { | |
| 3 | + border: 1px solid; } | |
| 4 | + .table-bordered > thead > tr > th, | |
| 5 | + .table-bordered > thead > tr > td, | |
| 6 | + .table-bordered > tbody > tr > th, | |
| 7 | + .table-bordered > tbody > tr > td, | |
| 8 | + .table-bordered > tfoot > tr > th, | |
| 9 | + .table-bordered > tfoot > tr > td { | |
| 10 | + border: 1px solid; } | |
| 11 | + .table-bordered > thead > tr > th, | |
| 12 | + .table-bordered > thead > tr > td { | |
| 13 | + border-bottom-width: 2px; } | |
| 14 | + | |
| 15 | + .table > tbody + tbody { | |
| 16 | + border-top: 1px solid; } | |
| 17 | + | |
| 18 | + #forms > thead > tr> td >span{ | |
| 19 | + width: 5px; | |
| 20 | + word-wrap: break-word; | |
| 21 | + letter-spacing: 20px; | |
| 22 | + } | |
| 23 | + | |
| 24 | + #forms > thead > tr> td >label{ | |
| 25 | + word-break: keep-all;white-space:nowrap; | |
| 26 | + } | |
| 27 | +</style> | |
| 28 | + | |
| 29 | +<div class="page-head"> | |
| 30 | + <div class="page-title"> | |
| 31 | + <h1>班次修正报表</h1> | |
| 32 | + </div> | |
| 33 | +</div> | |
| 34 | + | |
| 35 | +<!-- <div class="row"> --> | |
| 36 | + <div class="col-md-12 portlet light porttlet-fit bordered" style="height:calc(100% - 56px)"> | |
| 37 | +<!-- <div> --> | |
| 38 | + <div class="portlet-title"> | |
| 39 | + <form class="form-inline" action=""> | |
| 40 | + <div style="display: inline-block; " id="gsdmDiv"> | |
| 41 | + <span class="item-label" style="width: 80px;margin-left: 28px;">公司: </span> | |
| 42 | + <select class="form-control" name="company" id="gsdm" style="width: 180px;"></select> | |
| 43 | + </div> | |
| 44 | + <div style="display: inline-block; margin-left: 29px;" id="fgsdmDiv"> | |
| 45 | + <span class="item-label" style="width: 80px;">分公司: </span> | |
| 46 | + <select class="form-control" name="subCompany" id="fgsdm" style="width: 180px;"></select> | |
| 47 | + </div> | |
| 48 | + <div style="display: inline-block;margin-left: 15px;"> | |
| 49 | + <span class="item-label" style="width: 80px;">线路: </span> | |
| 50 | + <select class="form-control" name="line" id="line" style="width: 180px;"></select> | |
| 51 | + </div> | |
| 52 | + <div style="margin-top: 10px"></div> | |
| 53 | + <div style="display: inline-block;"> | |
| 54 | + <span class="item-label" style="width: 80px;">开始时间: </span> | |
| 55 | + <input class="form-control" type="text" id="date" style="width: 180px;"/> | |
| 56 | + </div> | |
| 57 | + <div style="display: inline-block;margin-left: 15px;"> | |
| 58 | + <span class="item-label" style="width: 80px;">结束时间: </span> | |
| 59 | + <input class="form-control" type="text" id="date2" style="width: 180px;"/> | |
| 60 | + </div> | |
| 61 | + <div class="form-group" style="width: 80px;margin-left: 15px;"> | |
| 62 | + <input class="btn btn-default" type="button" id="query" value="查询"/> | |
| 63 | + </div> | |
| 64 | + </form> | |
| 65 | + </div> | |
| 66 | + <div class="portlet-body" id="tjrbBody" style="overflow:auto;height: calc(100% - 80px)"> | |
| 67 | + <div class="table-container" style="margin-top: 10px;min-width: 906px"> | |
| 68 | + <table class="table table-bordered table-hover table-checkable" id="forms"> | |
| 69 | + <thead> | |
| 70 | + <tr> | |
| 71 | + <td rowspan="2" style="text-align: center; padding-top: 45px">公司名</td> | |
| 72 | + <td rowspan="2" style="text-align: center; padding-top: 45px">分公司名</td> | |
| 73 | + <td rowspan="2" style="text-align: center; padding-top: 45px">线路</td> | |
| 74 | + <td rowspan="2" style="text-align: center; padding-top: 45px">实际营运班次</td> | |
| 75 | + <td rowspan="2" style="text-align: center; padding-top: 45px">实际空驶班次</td> | |
| 76 | + <td rowspan="2" style="text-align: center; padding-top: 45px">实际总班次</td> | |
| 77 | + <!-- <td rowspan="2" style="text-align: center; padding-top: 45px">少驶班次</td> --> | |
| 78 | + <td colspan="2" align="center" style="text-align: center;">待发调整班次</td> | |
| 79 | + <td colspan="3" align="center" style="text-align: center;">无信号班次</td> | |
| 80 | + <!-- <td rowspan="2">少驶班次</td> --> | |
| 81 | + <td rowspan="2" style="text-align: center; padding-top: 45px">临加班次</td> | |
| 82 | + <td rowspan="2" style="text-align: center; padding-top: 45px">子任务</td> | |
| 83 | + <td rowspan="2" style="text-align: center; padding-top: 45px">其他</td> | |
| 84 | + </tr> | |
| 85 | + <tr> | |
| 86 | + <td class="hidden"></td> | |
| 87 | + <td rowspan="2" style="text-align: center;">手动待发班次</td> | |
| 88 | + <td rowspan="2" style="text-align: center;">自动待发班次</td> | |
| 89 | + <!-- <td rowspan="2" style="text-align: center;">待发合计班次</td> --> | |
| 90 | + <td rowspan="2" style="text-align: center;">完全无信号班次</td> | |
| 91 | + <td rowspan="2" style="text-align: center;">部分无信号班次</td> | |
| 92 | + <td rowspan="2" style="text-align: center;">漂移班次</td> | |
| 93 | + </tr> | |
| 94 | + | |
| 95 | + </thead> | |
| 96 | + <tbody class="scheduleReport"> | |
| 97 | + | |
| 98 | + </tbody> | |
| 99 | + </table> | |
| 100 | + </div> | |
| 101 | + </div> | |
| 102 | + </div> | |
| 103 | +<!-- </div> | |
| 104 | +</div> --> | |
| 105 | + | |
| 106 | +<script> | |
| 107 | + $(function(){ | |
| 108 | + $('#export').attr('disabled', "true"); | |
| 109 | + | |
| 110 | + // 关闭左侧栏 | |
| 111 | + if (!$('body').hasClass('page-sidebar-closed')) | |
| 112 | + $('.menu-toggler.sidebar-toggler').click(); | |
| 113 | + | |
| 114 | + $("#date").datetimepicker({ | |
| 115 | + format : 'YYYY-MM-DD', | |
| 116 | + locale : 'zh-cn' | |
| 117 | + }); | |
| 118 | + | |
| 119 | + $("#date2").datetimepicker({ | |
| 120 | + format : 'YYYY-MM-DD', | |
| 121 | + locale : 'zh-cn' | |
| 122 | + }); | |
| 123 | + var d = new Date(); | |
| 124 | + var year = d.getFullYear(); | |
| 125 | + var month = d.getMonth() + 1; | |
| 126 | + var day = d.getDate(); | |
| 127 | + if(month < 10) | |
| 128 | + month = "0" + month; | |
| 129 | + if(day < 10) | |
| 130 | + day = "0" + day; | |
| 131 | + $("#date").val(year + "-" + month + "-" + day); | |
| 132 | + | |
| 133 | + $("#date2").val(year + "-" + month + "-" + day); | |
| 134 | + | |
| 135 | + var fage=false; | |
| 136 | + var obj = []; | |
| 137 | + var xlList; | |
| 138 | + $.get('/report/lineList',function(result){ | |
| 139 | + xlList=result; | |
| 140 | + $.get('/user/companyData', function(result){ | |
| 141 | + obj = result; | |
| 142 | + var options = ''; | |
| 143 | + for(var i = 0; i < obj.length; i++){ | |
| 144 | + options += '<option value="'+obj[i].companyCode+'">'+obj[i].companyName+'</option>'; | |
| 145 | + } | |
| 146 | + | |
| 147 | + if(obj.length ==0){ | |
| 148 | + $("#gsdmDiv").css('display','none'); | |
| 149 | + }else if(obj.length ==1){ | |
| 150 | + $("#gsdmDiv").css('display','none'); | |
| 151 | + if(obj[0].children.length == 1 || obj[0].children.length ==0) | |
| 152 | + $('#fgsdmDiv').css('display','none'); | |
| 153 | + } | |
| 154 | + $('#gsdm').html(options); | |
| 155 | + updateCompany(); | |
| 156 | + }); | |
| 157 | + }) | |
| 158 | + $("#gsdm").on("change",updateCompany); | |
| 159 | + function updateCompany(){ | |
| 160 | + var company = $('#gsdm').val(); | |
| 161 | + var options = ''; | |
| 162 | + for(var i = 0; i < obj.length; i++){ | |
| 163 | + if(obj[i].companyCode == company){ | |
| 164 | + var children = obj[i].children; | |
| 165 | + for(var j = 0; j < children.length; j++){ | |
| 166 | + options += '<option value="'+children[j].code+'">'+children[j].name+'</option>'; | |
| 167 | + } | |
| 168 | + } | |
| 169 | + } | |
| 170 | + $('#fgsdm').html(options); | |
| 171 | +// initXl(); | |
| 172 | + } | |
| 173 | + | |
| 174 | + var tempData = {}; | |
| 175 | + $.get('/report/lineList',function(xlList){ | |
| 176 | + var data = []; | |
| 177 | + data.push({id: " ", text: "全部线路"}); | |
| 178 | + $.get('/user/companyData', function(result){ | |
| 179 | + for(var i = 0; i < result.length; i++){ | |
| 180 | + var companyCode = result[i].companyCode; | |
| 181 | + var children = result[i].children; | |
| 182 | + for(var j = 0; j < children.length; j++){ | |
| 183 | + var code = children[j].code; | |
| 184 | + for(var k=0;k < xlList.length;k++ ){ | |
| 185 | + if(xlList[k]["fgsbm"]==code && xlList[k]["gsbm"]==companyCode){ | |
| 186 | + data.push({id: xlList[k]["xlbm"], text: xlList[k]["xlname"]}); | |
| 187 | + tempData[xlList[k]["xlbm"]] = companyCode+":"+code; | |
| 188 | + } | |
| 189 | + } | |
| 190 | + } | |
| 191 | + } | |
| 192 | + initPinYinSelect2('#line',data,''); | |
| 193 | + | |
| 194 | + }); | |
| 195 | + }); | |
| 196 | + | |
| 197 | + $("#line").on("change", function(){ | |
| 198 | + if($("#line").val() == " "){ | |
| 199 | + $("#gsdm").attr("disabled", false); | |
| 200 | + $("#fgsdm").attr("disabled", false); | |
| 201 | + } else { | |
| 202 | + var temp = tempData[$("#line").val()].split(":"); | |
| 203 | + $("#gsdm").val(temp[0]); | |
| 204 | + updateCompany(); | |
| 205 | + $("#fgsdm").val(temp[1]); | |
| 206 | + $("#gsdm").attr("disabled", true); | |
| 207 | + $("#fgsdm").attr("disabled", true); | |
| 208 | + } | |
| 209 | + }); | |
| 210 | + | |
| 211 | + | |
| 212 | + var line =""; | |
| 213 | + var xlName =""; | |
| 214 | + var date = ""; | |
| 215 | + var date2 =""; | |
| 216 | + var gsdm=""; | |
| 217 | + var fgsdm=""; | |
| 218 | + $("#query").on("click",function(){ | |
| 219 | + if($("#date").val() == null || $("#date").val().trim().length == 0){ | |
| 220 | + layer.msg("请选择时间范围!"); | |
| 221 | + return; | |
| 222 | + } | |
| 223 | + if($("#date2").val() == null || $("#date2").val().trim().length == 0){ | |
| 224 | + layer.msg("请选择时间范围!"); | |
| 225 | + return; | |
| 226 | + } | |
| 227 | +// $("#tjrbBody").height($(window).height()-100); | |
| 228 | + line = $("#line").val(); | |
| 229 | + xlName = $("#select2-line-container").html(); | |
| 230 | + date = $("#date").val(); | |
| 231 | + date2 =$("#date2").val(); | |
| 232 | + gsdm =$("#gsdm").val(); | |
| 233 | + fgsdm=$("#fgsdm").val(); | |
| 234 | + if(line=="请选择"){ | |
| 235 | + line=""; | |
| 236 | + } | |
| 237 | + if(date==null || date =="" ||date2==null || date2 ==""){ | |
| 238 | + layer.msg('请选择时间段.'); | |
| 239 | + }else{ | |
| 240 | + var params = {}; | |
| 241 | + params['gsdm'] = gsdm; | |
| 242 | + params['fgsdm'] =fgsdm ; | |
| 243 | + params['line'] = line; | |
| 244 | + params['date'] = date; | |
| 245 | + params['date2'] = date2; | |
| 246 | + params['xlName'] = xlName; | |
| 247 | + params['type'] = "query"; | |
| 248 | + $get('/realSchedule/scheduleCorrectionReport',params,function(result){ | |
| 249 | + // 把数据填充到模版中 | |
| 250 | + var tbodyHtml = template('scheduleReport',{list:result}); | |
| 251 | + // 把渲染好的模版html文本追加到表格中 | |
| 252 | + $('#forms .scheduleReport').html(tbodyHtml); | |
| 253 | + | |
| 254 | + /* if(result.length == 0) | |
| 255 | + $("#export").attr('disabled',"true"); | |
| 256 | + else | |
| 257 | + $("#export").removeAttr("disabled"); */ | |
| 258 | + }); | |
| 259 | + } | |
| 260 | + | |
| 261 | + }); | |
| 262 | + }); | |
| 263 | +</script> | |
| 264 | +<script type="text/html" id="scheduleReport"> | |
| 265 | + {{each list as obj i}} | |
| 266 | + <tr> | |
| 267 | + {{if obj.xlName=='合计'}} | |
| 268 | + <td colspan="3">{{obj.xlName}}</td> | |
| 269 | + {{/if}} | |
| 270 | + {{if obj.xlName!='合计'}} | |
| 271 | + <td>{{obj.gsName}}</td> | |
| 272 | + <td>{{obj.fgsName}}</td> | |
| 273 | + <td>{{obj.xlName}}</td> | |
| 274 | + {{/if}} | |
| 275 | + <td>{{obj.sjyybc}}</td> | |
| 276 | + <td>{{obj.sjksbc}}</td> | |
| 277 | + <td>{{obj.zbc}}</td> | |
| 278 | + <td>{{obj.sddfbc}}</td> | |
| 279 | + <td>{{obj.zddfbc}}</td> | |
| 280 | + <td>{{obj.wqwxhbc}}</td> | |
| 281 | + <td>{{obj.bfwxhbc}}</td> | |
| 282 | + <td>{{obj.pybc}}</td> | |
| 283 | + <td>{{obj.ljbc}}</td> | |
| 284 | + <td>{{obj.zrwbc}}</td> | |
| 285 | + <td>{{obj.other}}</td> | |
| 286 | + | |
| 287 | + </tr> | |
| 288 | + {{/each}} | |
| 289 | + {{if list.length == 0}} | |
| 290 | + <tr> | |
| 291 | + <td colspan="44"><h6 class="muted">没有找到相关数据</h6></td> | |
| 292 | + </tr> | |
| 293 | + {{/if}} | |
| 294 | +</script> | |
| 0 | 295 | \ No newline at end of file | ... | ... |