Commit ca7a16ce8cdc2f7fa090597944f5f3391231e87b

Authored by 游瑞烽
1 parent 009fc291

新增修正表报和站点修改

Signed-off-by: yrf123456 <463058651@qq.com>
src/main/java/com/bsth/controller/realcontrol/ScheduleRealInfoController.java
@@ -417,6 +417,70 @@ public class ScheduleRealInfoController extends BaseController&lt;ScheduleRealInfo, @@ -417,6 +417,70 @@ public class ScheduleRealInfoController extends BaseController&lt;ScheduleRealInfo,
417 } 417 }
418 return scheduleRealInfoService.statisticsDailyTj(gsdm,fgsdm,line, date,date2, xlName, type); 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 @RequestMapping(value="/MapById",method = RequestMethod.GET) 485 @RequestMapping(value="/MapById",method = RequestMethod.GET)
422 public Map<String, Object> MapById(@RequestParam("id") Long id){ 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,6 +4,7 @@ import com.bsth.controller.realcontrol.dto.ChangePersonCar;
4 import com.bsth.controller.realcontrol.dto.DfsjChange; 4 import com.bsth.controller.realcontrol.dto.DfsjChange;
5 import com.bsth.data.schedule.edit_logs.service.dto.SchEditInfoDto; 5 import com.bsth.data.schedule.edit_logs.service.dto.SchEditInfoDto;
6 import com.bsth.entity.realcontrol.ScheduleRealInfo; 6 import com.bsth.entity.realcontrol.ScheduleRealInfo;
  7 +import com.bsth.entity.report.MileageReport;
7 import com.bsth.entity.schedule.SchedulePlanInfo; 8 import com.bsth.entity.schedule.SchedulePlanInfo;
8 import com.bsth.service.BaseService; 9 import com.bsth.service.BaseService;
9 import org.springframework.stereotype.Service; 10 import org.springframework.stereotype.Service;
@@ -180,4 +181,10 @@ public interface ScheduleRealInfoService extends BaseService&lt;ScheduleRealInfo, L @@ -180,4 +181,10 @@ public interface ScheduleRealInfoService extends BaseService&lt;ScheduleRealInfo, L
180 List<Map<String,Object>> statisticsDaily_mh_2(String line, String date, String xlName, String type); 181 List<Map<String,Object>> statisticsDaily_mh_2(String line, String date, String xlName, String type);
181 182
182 List<ScheduleRealInfo> realScheduleList_mh_2(String line, String date); 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,6 +31,8 @@ import com.bsth.entity.realcontrol.ChildTaskPlan;
31 import com.bsth.entity.realcontrol.LineConfig; 31 import com.bsth.entity.realcontrol.LineConfig;
32 import com.bsth.entity.realcontrol.ScheduleRealInfo; 32 import com.bsth.entity.realcontrol.ScheduleRealInfo;
33 import com.bsth.entity.realcontrol.SvgAttribute; 33 import com.bsth.entity.realcontrol.SvgAttribute;
  34 +import com.bsth.entity.report.MileageReport;
  35 +import com.bsth.entity.report.ScheduleCorrectionReport;
34 import com.bsth.entity.schedule.CarConfigInfo; 36 import com.bsth.entity.schedule.CarConfigInfo;
35 import com.bsth.entity.schedule.EmployeeConfigInfo; 37 import com.bsth.entity.schedule.EmployeeConfigInfo;
36 import com.bsth.entity.schedule.GuideboardInfo; 38 import com.bsth.entity.schedule.GuideboardInfo;
@@ -4638,6 +4640,195 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -4638,6 +4640,195 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
4638 } 4640 }
4639 return rs; 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 class AccountMap implements Comparator<Map<String, Object>>{ 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 \ No newline at end of file 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,6 +153,53 @@ var PositionsPublicFunctions = function () {
153 // 描述/说明 153 // 描述/说明
154 $('#descriptionsTextarea').val(stationObj.stationRouteDescriptions); 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 getzdlyInfo : function(params,callback) { 204 getzdlyInfo : function(params,callback) {
158 $get('/stationroute/all',params,function(result) { 205 $get('/stationroute/all',params,function(result) {
src/main/resources/static/pages/base/station/list.html
@@ -170,6 +170,7 @@ @@ -170,6 +170,7 @@
170 </td> 170 </td>
171 <td> 171 <td>
172 <a href="positions.html?no={{obj.id}}" class="btn default blue-stripe btn-sm" data-pjax> 定位 </a> 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 </td> 174 </td>
174 </tr> 175 </tr>
175 {{/each}} 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>线路编码&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:
  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>线路名称&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:
  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>站点编码&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:
  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>站点名称&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:
  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>站点路由编码&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:
  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>站点路由名称&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:
  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>站点方向&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:
  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>上一站点&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:
  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>站点类型&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:
  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>是否撤销&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:
  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 + 道路编码&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:
  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 + 到站时间 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: </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 + 到站距离&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:</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> 版本号&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:
  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>描述/说明&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:
  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 \ No newline at end of file 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 \ No newline at end of file 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 \ No newline at end of file 295 \ No newline at end of file