Commit 36430cc88d8a8126c175119e2704e10b094db3cb

Authored by 潘钊
1 parent b669e0cd

update...

src/main/java/com/bsth/data/summary/entity/FastAndSlow.java
@@ -21,6 +21,22 @@ public class FastAndSlow { @@ -21,6 +21,22 @@ public class FastAndSlow {
21 private Long id; 21 private Long id;
22 22
23 /** 23 /**
  24 + * 驾驶员
  25 + */
  26 + private String jsy;
  27 +
  28 + /**
  29 + * 车辆自编号
  30 + */
  31 + private String nbbm;
  32 +
  33 + /**
  34 + * 路牌名称
  35 + */
  36 + @Column(name = "lp_name")
  37 + private String lpName;
  38 +
  39 + /**
24 * 发车站点 40 * 发车站点
25 */ 41 */
26 private String stationName; 42 private String stationName;
@@ -281,4 +297,28 @@ public class FastAndSlow { @@ -281,4 +297,28 @@ public class FastAndSlow {
281 public boolean isFast() { 297 public boolean isFast() {
282 return this.fcsjFast>0 || this.dfsjFast>0 || this.zdsjFast>0 || this.zdsjDfFast>0; 298 return this.fcsjFast>0 || this.dfsjFast>0 || this.zdsjFast>0 || this.zdsjDfFast>0;
283 } 299 }
  300 +
  301 + public String getLpName() {
  302 + return lpName;
  303 + }
  304 +
  305 + public void setLpName(String lpName) {
  306 + this.lpName = lpName;
  307 + }
  308 +
  309 + public String getNbbm() {
  310 + return nbbm;
  311 + }
  312 +
  313 + public void setNbbm(String nbbm) {
  314 + this.nbbm = nbbm;
  315 + }
  316 +
  317 + public String getJsy() {
  318 + return jsy;
  319 + }
  320 +
  321 + public void setJsy(String jsy) {
  322 + this.jsy = jsy;
  323 + }
284 } 324 }
285 \ No newline at end of file 325 \ No newline at end of file
src/main/java/com/bsth/data/summary/service/impl/FastAndSlowServiceImpl.java
@@ -119,29 +119,33 @@ public class FastAndSlowServiceImpl extends BaseServiceImpl<FastAndSlow, Long> i @@ -119,29 +119,33 @@ public class FastAndSlowServiceImpl extends BaseServiceImpl<FastAndSlow, Long> i
119 //前4行是表头 119 //前4行是表头
120 Row row; 120 Row row;
121 row = sheet.getRow(0); 121 row = sheet.getRow(0);
122 - row.getCell(4).setCellValue(list.get(0).getRq()); 122 + row.getCell(0).setCellValue(list.get(0).getRq());
123 row.getCell(13).setCellValue(BasicData.lineCode2NameMap.get(list.get(0).getLineCode())); 123 row.getCell(13).setCellValue(BasicData.lineCode2NameMap.get(list.get(0).getLineCode()));
124 FastAndSlow fas; 124 FastAndSlow fas;
125 for(int i = 0; i < list.size(); i++){ 125 for(int i = 0; i < list.size(); i++){
126 fas = list.get(i); 126 fas = list.get(i);
127 row = sheet.createRow(i + 4); 127 row = sheet.createRow(i + 4);
128 row.createCell(0).setCellValue(i + 1); 128 row.createCell(0).setCellValue(i + 1);
129 - row.createCell(1).setCellValue(fas.getStationName());  
130 - row.createCell(2).setCellValue(fas.getUpDown());  
131 - row.createCell(3).setCellValue(fas.getFcsj());  
132 - row.createCell(4).setCellValue(fas.getDfsj());  
133 - row.createCell(5).setCellValue(fas.getFcsjActual());  
134 - row.createCell(6).setCellValue(fas.getFcsjFast());  
135 - row.createCell(7).setCellValue(fas.getFcsjSlow());  
136 - row.createCell(8).setCellValue(fas.getDfsjFast());  
137 - row.createCell(9).setCellValue(fas.getDfsjSlow());  
138 - row.createCell(10).setCellValue(fas.getZdsj());  
139 - row.createCell(11).setCellValue(fas.getZdsjDf());  
140 - row.createCell(12).setCellValue(fas.getZdsjActual());  
141 - row.createCell(13).setCellValue(fas.getZdsjFast());  
142 - row.createCell(14).setCellValue(fas.getZdsjSlow());  
143 - row.createCell(15).setCellValue(fas.getZdsjDfFast());  
144 - row.createCell(16).setCellValue(fas.getZdsjDfSlow()); 129 + row.createCell(1).setCellValue(fas.getLpName());
  130 + row.createCell(2).setCellValue(fas.getNbbm());
  131 + row.createCell(3).setCellValue(fas.getJsy());
  132 +
  133 + row.createCell(4).setCellValue(fas.getStationName());
  134 + row.createCell(5).setCellValue(fas.getUpDown());
  135 + row.createCell(6).setCellValue(fas.getFcsj());
  136 + row.createCell(7).setCellValue(fas.getDfsj());
  137 + row.createCell(8).setCellValue(fas.getFcsjActual());
  138 + row.createCell(9).setCellValue(fas.getFcsjFast());
  139 + row.createCell(10).setCellValue(fas.getFcsjSlow());
  140 + row.createCell(11).setCellValue(fas.getDfsjFast());
  141 + row.createCell(12).setCellValue(fas.getDfsjSlow());
  142 + row.createCell(13).setCellValue(fas.getZdsj());
  143 + row.createCell(14).setCellValue(fas.getZdsjDf());
  144 + row.createCell(15).setCellValue(fas.getZdsjActual());
  145 + row.createCell(16).setCellValue(fas.getZdsjFast());
  146 + row.createCell(17).setCellValue(fas.getZdsjSlow());
  147 + row.createCell(18).setCellValue(fas.getZdsjDfFast());
  148 + row.createCell(19).setCellValue(fas.getZdsjDfSlow());
145 149
146 if(fas.getUpDown()==0) 150 if(fas.getUpDown()==0)
147 ups.add(fas); 151 ups.add(fas);
@@ -151,28 +155,28 @@ public class FastAndSlowServiceImpl extends BaseServiceImpl&lt;FastAndSlow, Long&gt; i @@ -151,28 +155,28 @@ public class FastAndSlowServiceImpl extends BaseServiceImpl&lt;FastAndSlow, Long&gt; i
151 //合计 155 //合计
152 int size = list.size(); 156 int size = list.size();
153 row = sheet.createRow(size + 4); 157 row = sheet.createRow(size + 4);
154 - row.createCell(1).setCellValue("发车:上行(计划快误点:"+jhfcFast(ups)+" 累计时间:"+jhfcFastTime(ups)+" 待发快误点:"+dffcFast(ups)+" 累计时间:"+dffcFastTime(ups)+") ");  
155 - row.createCell(9).setCellValue("下行(计划快误点:"+jhfcFast(downs)+" 累计时间:"+jhfcFastTime(downs)+" 待发快误点:"+dffcFast(downs)+" 累计时间:"+dffcFastTime(downs)+")"); 158 + row.createCell(2).setCellValue("发车:上行(计划快误点:"+jhfcFast(ups)+" 累计时间:"+jhfcFastTime(ups)+" 待发快误点:"+dffcFast(ups)+" 累计时间:"+dffcFastTime(ups)+") ");
  159 + row.createCell(12).setCellValue("下行(计划快误点:"+jhfcFast(downs)+" 累计时间:"+jhfcFastTime(downs)+" 待发快误点:"+dffcFast(downs)+" 累计时间:"+dffcFastTime(downs)+")");
156 row = sheet.createRow(size + 5); 160 row = sheet.createRow(size + 5);
157 - row.createCell(1).setCellValue("发车:上行(计划慢误点:"+jhfcSlow(ups)+" 累计时间:"+jhfcSlowTime(ups)+" 待发慢误点:"+dffcSlow(ups)+" 累计时间:"+dffcSlowTime(ups)+") ");  
158 - row.createCell(9).setCellValue("下行(计划慢误点:"+jhfcSlow(downs)+" 累计时间:"+jhfcSlowTime(downs)+" 待发慢误点:"+dffcSlow(downs)+" 累计时间:"+dffcSlowTime(downs)+")"); 161 + row.createCell(2).setCellValue("发车:上行(计划慢误点:"+jhfcSlow(ups)+" 累计时间:"+jhfcSlowTime(ups)+" 待发慢误点:"+dffcSlow(ups)+" 累计时间:"+dffcSlowTime(ups)+") ");
  162 + row.createCell(12).setCellValue("下行(计划慢误点:"+jhfcSlow(downs)+" 累计时间:"+jhfcSlowTime(downs)+" 待发慢误点:"+dffcSlow(downs)+" 累计时间:"+dffcSlowTime(downs)+")");
159 row = sheet.createRow(size + 6); 163 row = sheet.createRow(size + 6);
160 - row.createCell(1).setCellValue("到达:上行(计划快误点:"+jhzdFast(ups)+" 累计时间:"+jhzdFastTime(ups)+" 待发快误点:"+dfzdFast(ups)+" 累计时间:"+dfzdFastTime(ups)+") ");  
161 - row.createCell(9).setCellValue("下行(计划快误点:"+jhzdFast(downs)+" 累计时间:"+jhzdFastTime(downs)+" 待发快误点:"+dfzdFast(downs)+" 累计时间:"+dfzdFastTime(downs)+")"); 164 + row.createCell(2).setCellValue("到达:上行(计划快误点:"+jhzdFast(ups)+" 累计时间:"+jhzdFastTime(ups)+" 待发快误点:"+dfzdFast(ups)+" 累计时间:"+dfzdFastTime(ups)+") ");
  165 + row.createCell(12).setCellValue("下行(计划快误点:"+jhzdFast(downs)+" 累计时间:"+jhzdFastTime(downs)+" 待发快误点:"+dfzdFast(downs)+" 累计时间:"+dfzdFastTime(downs)+")");
162 row = sheet.createRow(size + 7); 166 row = sheet.createRow(size + 7);
163 - row.createCell(1).setCellValue("到达:上行(计划慢误点:"+jhzdSlow(ups)+" 累计时间:"+jhzdSlowTime(ups)+" 待发慢误点:"+dfzdSlow(ups)+" 累计时间:"+dfzdSlowTime(ups)+") ");  
164 - row.createCell(9).setCellValue("下行(计划慢误点:"+jhzdSlow(downs)+" 累计时间:"+jhzdSlowTime(downs)+" 待发慢误点:"+dfzdSlow(downs)+" 累计时间:"+dfzdSlowTime(downs)+")"); 167 + row.createCell(2).setCellValue("到达:上行(计划慢误点:"+jhzdSlow(ups)+" 累计时间:"+jhzdSlowTime(ups)+" 待发慢误点:"+dfzdSlow(ups)+" 累计时间:"+dfzdSlowTime(ups)+") ");
  168 + row.createCell(12).setCellValue("下行(计划慢误点:"+jhzdSlow(downs)+" 累计时间:"+jhzdSlowTime(downs)+" 待发慢误点:"+dfzdSlow(downs)+" 累计时间:"+dfzdSlowTime(downs)+")");
165 //合并单元格 169 //合并单元格
166 - sheet.addMergedRegion(new CellRangeAddress(size + 4, size + 4, 1, 8));  
167 - sheet.addMergedRegion(new CellRangeAddress(size + 4, size + 4, 9, 16));  
168 - sheet.addMergedRegion(new CellRangeAddress(size + 5, size + 5, 1, 8));  
169 - sheet.addMergedRegion(new CellRangeAddress(size + 5, size + 5, 9, 16));  
170 - sheet.addMergedRegion(new CellRangeAddress(size + 6, size + 6, 1, 8));  
171 - sheet.addMergedRegion(new CellRangeAddress(size + 6, size + 6, 9, 16));  
172 - sheet.addMergedRegion(new CellRangeAddress(size + 7, size + 7, 1, 8));  
173 - sheet.addMergedRegion(new CellRangeAddress(size + 7, size + 7, 9, 16));  
174 -  
175 - sheet.addMergedRegion(new CellRangeAddress(size + 4, size + 7, 0, 0)); 170 + sheet.addMergedRegion(new CellRangeAddress(size + 4, size + 4, 2, 11));
  171 + sheet.addMergedRegion(new CellRangeAddress(size + 4, size + 4, 12, 19));
  172 + sheet.addMergedRegion(new CellRangeAddress(size + 5, size + 5, 2, 11));
  173 + sheet.addMergedRegion(new CellRangeAddress(size + 5, size + 5, 12, 19));
  174 + sheet.addMergedRegion(new CellRangeAddress(size + 6, size + 6, 2, 11));
  175 + sheet.addMergedRegion(new CellRangeAddress(size + 6, size + 6, 12, 19));
  176 + sheet.addMergedRegion(new CellRangeAddress(size + 7, size + 7, 2, 11));
  177 + sheet.addMergedRegion(new CellRangeAddress(size + 7, size + 7, 12, 19));
  178 +
  179 + sheet.addMergedRegion(new CellRangeAddress(size + 4, size + 7, 0, 1));
176 } 180 }
177 181
178 private List<FastAndSlow> filterByType(List<FastAndSlow> all, String type) { 182 private List<FastAndSlow> filterByType(List<FastAndSlow> all, String type) {
src/main/resources/static/pages/summary/destory_sch_detail/d_s_d_wrap.html 0 → 100644
  1 +<!-- 烂班明细统计 -->
  2 +<iframe src="/pages/summary/destory_sch_detail/list.html?origin=real_control_iframe" frameborder="0" style="height: 100%;width: 100%;"></iframe>
0 \ No newline at end of file 3 \ No newline at end of file
src/main/resources/static/pages/summary/destory_sch_detail/list.html 0 → 100644
  1 +<!DOCTYPE html>
  2 +<html lang="zh-cn">
  3 +
  4 +<head>
  5 + <meta charset="UTF-8">
  6 + <link rel="stylesheet" href="/assets/plugins/uk3.0/uikit.min.css"/>
  7 + <link rel="stylesheet" href="/real_control_v2/assets/plugins/perfect-scrollbar/perfect-scrollbar.css" />
  8 + <!-- flatpickr -->
  9 + <link rel="stylesheet" href="/real_control_v2/assets/plugins/flatpickr/flatpickr.min.css">
  10 + <style>
  11 + html,body{
  12 + height: 100%;
  13 + }
  14 + .ct_page{
  15 + padding: 25px 15px;
  16 + height: 100%;
  17 + height: calc(100% - 50px);
  18 + }
  19 +
  20 + .ct_cont{
  21 + height: calc(100% - 35px);
  22 + }
  23 +
  24 + .ct_cont>div>div.uk-card{
  25 + height: 99%;
  26 + }
  27 +
  28 + .loading{
  29 + height: 100%;
  30 + text-align: center;
  31 + }
  32 + .loading .uk-spinner{
  33 + margin-top: 200px;
  34 + }
  35 + .loading circle{
  36 + stroke: red;
  37 + }
  38 +
  39 + .ps-container > .ps-scrollbar-x-rail, .ps-container > .ps-scrollbar-y-rail{
  40 + opacity: 0.6 !important;
  41 + padding: 0 !important;
  42 + }
  43 +
  44 + .ct_destroy_sch_table_width th:nth-of-type(1),.ct_destroy_sch_table_width td:nth-of-type(1){
  45 + width: 10%;
  46 + }
  47 + .ct_destroy_sch_table_width th:nth-of-type(2),.ct_destroy_sch_table_width td:nth-of-type(2){
  48 + width: 10%;
  49 + }
  50 + .ct_destroy_sch_table_width th:nth-of-type(3),.ct_destroy_sch_table_width td:nth-of-type(3){
  51 + width: 10%;
  52 + }
  53 + .ct_destroy_sch_table_width th:nth-of-type(4),.ct_destroy_sch_table_width td:nth-of-type(4){
  54 + width: 10%;
  55 + }
  56 + .ct_destroy_sch_table_width th:nth-of-type(5),.ct_destroy_sch_table_width td:nth-of-type(5){
  57 + width: 10%;
  58 + }
  59 + .ct_destroy_sch_table_width th:nth-of-type(6),.ct_destroy_sch_table_width td:nth-of-type(6){
  60 + width: 10%;
  61 + }
  62 + .ct_destroy_sch_table_width th:nth-of-type(7),.ct_destroy_sch_table_width td:nth-of-type(7){
  63 + width: 10%;
  64 + }
  65 + .ct_destroy_sch_table_width th:nth-of-type(8),.ct_destroy_sch_table_width td:nth-of-type(8){
  66 + width: 10%;
  67 + }
  68 + .ct_destroy_sch_table_width th:nth-of-type(9),.ct_destroy_sch_table_width td:nth-of-type(9){
  69 + width: 10%;
  70 + }
  71 + .ct_destroy_sch_table_width th:nth-of-type(10),.ct_destroy_sch_table_width td:nth-of-type(10){
  72 + width: 10%;
  73 + }
  74 +
  75 +/* .ct_table_wrap.day th:nth-of-type(1),.ct_table_wrap.day td:nth-of-type(1){
  76 + width: 10%;
  77 + }
  78 + .ct_table_wrap.day th:nth-of-type(2),.ct_table_wrap.day td:nth-of-type(2){
  79 + width: 10%;
  80 + }
  81 + .ct_table_wrap.day th:nth-of-type(3),.ct_table_wrap.day td:nth-of-type(3){
  82 + width: 10%;
  83 + }
  84 + .ct_table_wrap.day th:nth-of-type(4),.ct_table_wrap.day td:nth-of-type(4){
  85 + width: 10%;
  86 + }
  87 + .ct_table_wrap.day th:nth-of-type(5),.ct_table_wrap.day td:nth-of-type(5){
  88 + width: 5%;
  89 + }
  90 + .ct_table_wrap.day th:nth-of-type(6),.ct_table_wrap.day td:nth-of-type(6){
  91 + width: 15%;
  92 + }
  93 + .ct_table_wrap.day th:nth-of-type(7),.ct_table_wrap.day td:nth-of-type(7){
  94 + width: 10%;
  95 + }
  96 + .ct_table_wrap.day th:nth-of-type(8),.ct_table_wrap.day td:nth-of-type(8){
  97 + width: 10%;
  98 + }
  99 + .ct_table_wrap.day th:nth-of-type(9),.ct_table_wrap.day td:nth-of-type(9){
  100 + width: 10%;
  101 + }
  102 + .ct_table_wrap.day th:nth-of-type(10),.ct_table_wrap.day td:nth-of-type(10){
  103 + width: 10%;
  104 + }*/
  105 +
  106 + .ct_search_form_wrap{
  107 + border-bottom: 1px solid #e5e5e5;
  108 + padding: 10px 0 25px 10px;
  109 + }
  110 + .ct_search_form_wrap .ct_field{
  111 + display: inline-block;
  112 + margin: 0 5px;
  113 + }
  114 +
  115 + .ct_search_form_wrap .ct_field label{
  116 + font-size: 14px;
  117 + }
  118 +
  119 + .ct_search_form_wrap .ct_field input{
  120 + width: 110px;
  121 + }
  122 +
  123 + .ct_search_form_wrap .ct_field select{
  124 + width: auto;
  125 + min-width: 100px;
  126 + }
  127 +
  128 + .ct_search_form_wrap .uk-button{
  129 + padding: 0 14px;
  130 + }
  131 +
  132 + .ct_search_form_wrap .uk-button i{
  133 + vertical-align: middle;
  134 + margin-top: -2px;
  135 + margin-right: 7px;
  136 + }
  137 +
  138 + .ct_table_wrap{
  139 + font-size: 14px;
  140 + height: calc(100% - 77px);
  141 + }
  142 +
  143 + .t_body_wrap{
  144 + height: calc(100% - 41px);
  145 + overflow: auto;
  146 + position: relative;
  147 + }
  148 +
  149 + .ct_field.ct_field_bottom{
  150 + vertical-align: bottom;
  151 + font-size: 12px;
  152 + margin-left: 0;
  153 + }
  154 + </style>
  155 +</head>
  156 +
  157 +<body>
  158 +<div class="loading">
  159 + <div uk-spinner></div>
  160 +</div>
  161 +<div class="ct_page" style="display: none;">
  162 + <h3 class="uk-heading-line uk-heading-bullet"><span>烂班明细统计</span></h3>
  163 + <div class="ct_cont" >
  164 + <div class="ct_search_form_wrap">
  165 + <form>
  166 + <input type="hidden" name="status_eq" value="-1">
  167 + <div class="ct_field">
  168 + <label>公司:
  169 + <select class="uk-select" name="gsBm_eq">
  170 + </select>
  171 + </label>
  172 + </div>
  173 + <div class="ct_field">
  174 + <label>分公司:
  175 + <select class="uk-select" name="fgsBm_eq">
  176 + </select>
  177 + </label>
  178 + </div>
  179 + <div class="ct_field">
  180 + <label>线路:
  181 + <select class="uk-select" name="xlBm_eq">
  182 + </select>
  183 + </label>
  184 + </div>
  185 + <div class="ct_field">
  186 + <label>日期:
  187 + <input class="uk-input" name="rq" style="width: 220px;">
  188 + </label>
  189 + </div>
  190 + <div class="ct_field">
  191 + <button class="uk-button uk-button-primary search"><i uk-icon="icon: search"></i>搜索</button>
  192 + </div>
  193 + <div class="ct_field ct_field_bottom">
  194 + <span uk-icon="icon: question" title="暂时只支持单线路查询,目前实时汇总。导出功能先等等" uk-tooltip="pos: bottom"></span>
  195 + </div>
  196 + </form>
  197 + </div>
  198 + <div class="ct_table_wrap day">
  199 + <table class="uk-table uk-table-small ct_destroy_sch_table_width" style="margin-bottom: 0;">
  200 + <thead>
  201 + <tr>
  202 + <th>日期</th>
  203 + <th>线路</th>
  204 + <th>车号</th>
  205 + <th>司机</th>
  206 + <th>售票员</th>
  207 + <th>原因</th>
  208 + <th>班次</th>
  209 + <th>烂班公里</th>
  210 + <th>烂班时间</th>
  211 + <th>备注</th>
  212 + </tr>
  213 + </thead>
  214 + </table>
  215 + <div class="t_body_wrap">
  216 + <table class="uk-table uk-table-divider uk-table-hover uk-table-small ct_destroy_sch_table ct_destroy_sch_table_width">
  217 + <tbody>
  218 + </tbody>
  219 + </table>
  220 + </div>
  221 + </div>
  222 + </div>
  223 +</div>
  224 +
  225 +<script id="destroy_sch_list_temp" type="text/html">
  226 + {{each list as obj i}}
  227 + <tr>
  228 + <td>{{obj.scheduleDateStr}}</td>
  229 + <td>{{obj.xlName}}</td>
  230 + <td>{{obj.clZbh}}</td>
  231 + <td>{{obj.jGh}}</td>
  232 + <td>{{obj.sGh}}</td>
  233 + <td>{{obj.adjustExps}}</td>
  234 + <td><a>{{obj.destroySize}}</a></td>
  235 + <td>{{obj.destroyMileageSum}}</td>
  236 + <td>{{obj.dfsj}}</td>
  237 + <td>{{obj.remarks}}</td>
  238 + </tr>
  239 + {{/each}}
  240 +</script>
  241 +
  242 +<script src="/metronic_v4.5.4/plugins/jquery.min.js"></script>
  243 +<script src="/assets/plugins/uk3.0/uikit.min.js"></script>
  244 +<script src="/assets/plugins/uk3.0/uikit-icons.min.js"></script>
  245 +<script src="/real_control_v2/assets/plugins/perfect-scrollbar/perfect-scrollbar.jquery.js" ></script>
  246 +<!-- EventProxy -->
  247 +<script src="/assets/js/eventproxy.js"></script>
  248 +<!-- art-template 模版引擎 -->
  249 +<script src="/assets/plugins/template.js"></script>
  250 +<script src="/real_control_v2/assets/plugins/moment/moment.min.js"></script>
  251 +<!-- jquery.serializejson JSON序列化插件 -->
  252 +<script src="/assets/plugins/jquery.serializejson.js" merge="plugins"></script>
  253 +<!-- flatpickr -->
  254 +<script src="/real_control_v2/assets/plugins/flatpickr/flatpickr.min.js" ></script>
  255 +<script src="/real_control_v2/assets/plugins/flatpickr/l10n/zh.js" ></script>
  256 +<script>
  257 +
  258 + var f = $('form', '');
  259 + //var page=0, pageSize=120;
  260 +
  261 + var ep = EventProxy.create('query_comps', 'query_lines', function () {
  262 + $('[name=gsBm_eq]', f).trigger('change');//公司change
  263 + query();
  264 +
  265 + $('.loading').remove();
  266 + $('.ct_page').show();
  267 + });
  268 +
  269 + //点击搜索
  270 + $('button.search', f).on('click', query);
  271 +
  272 + function query() {
  273 + $('button.search', f).attr('disabled', 'disabled');
  274 + var data = f.serializeJSON();
  275 + //data.page = page;
  276 + //data.size = pageSize;
  277 +
  278 + //开始结束时间
  279 + data.scheduleDateStr_ge = data.rq.substr(0, 10);
  280 + data.scheduleDateStr_le = data.rq.substr(13);
  281 +
  282 + delete data.rq;
  283 +
  284 + $.get('/realSchedule/all', data, function (rs) {
  285 + console.log('rs', rs);
  286 + $('button.search', f).removeAttr('disabled');
  287 +
  288 + //按线路、车、人、烂班原因分组
  289 + var groupData = {}, key;
  290 + $.each(rs, function () {
  291 + key=this.xlBm+'_'+this.clZbh+'_'+this.jGh+'_'+this.adjustExps;
  292 + if(!groupData[key])
  293 + groupData[key] = [];
  294 +
  295 + groupData[key].push(this);
  296 + });
  297 +
  298 + var list = [], sch;
  299 + for(var k in groupData){
  300 + //排序
  301 + groupData[k].sort(sch_sort_fun);
  302 + sch=groupData[k][0];
  303 + sch.destroySize=groupData[k].length;
  304 + sch.destroyMileageSum=countMileage(groupData[k]);
  305 + list.push(sch);
  306 + }
  307 +
  308 + var htmlStr = template('destroy_sch_list_temp', {list: list});
  309 + $('.ct_destroy_sch_table tbody').html(htmlStr);
  310 + $('.t_body_wrap').perfectScrollbar('update');
  311 + });
  312 + }
  313 +
  314 +
  315 + function sch_sort_fun(a, b) {
  316 + return a.dfsjT - b.dfsjT;
  317 + }
  318 +
  319 + function countMileage(array) {
  320 + var sum=0;
  321 + $.each(array, function () {
  322 + sum = accAdd(sum, this.jhlcOrig);
  323 + });
  324 + return sum;
  325 + }
  326 +
  327 + var accAdd = function (a, b) {
  328 + var c, d, e;
  329 + try {
  330 + c = a.toString().split(".")[1].length;
  331 + } catch (f) {
  332 + c = 0;
  333 + }
  334 + try {
  335 + d = b.toString().split(".")[1].length;
  336 + } catch (f) {
  337 + d = 0;
  338 + }
  339 + return e = Math.pow(10, Math.max(c, d)), (mul(a, e) + mul(b, e)) / e;
  340 + };
  341 +
  342 + function mul(a, b) {
  343 + var c = 0,
  344 + d = a.toString(),
  345 + e = b.toString();
  346 + try {
  347 + c += d.split(".")[1].length;
  348 + } catch (f) {
  349 + }
  350 + try {
  351 + c += e.split(".")[1].length;
  352 + } catch (f) {
  353 + }
  354 + return Number(d.replace(".", "")) * Number(e.replace(".", "")) / Math.pow(10, c);
  355 + }
  356 +
  357 + //日期选择框
  358 + var fs='YYYY-MM-DD'
  359 + , ets=moment().subtract(1, 'days').format(fs)
  360 + , sts=moment().subtract(3, 'days').format(fs);
  361 + flatpickr('.ct_search_form_wrap [name=rq]', {
  362 + mode: "range", dateFormat: "Y-m-d","locale": "zh", defaultDate: [sts, ets]
  363 + });
  364 + var comps;
  365 + //构建公司级联下拉框
  366 + $.get('/user/companyData', function (rs) {
  367 + comps = rs;
  368 + var opts = '';
  369 + for(var i=0,obj;obj=comps[i++];){
  370 + opts += '<option value="'+obj.companyCode+'">'+obj.companyName+'</option>';
  371 + }
  372 + $('[name=gsBm_eq]', f).html(opts);
  373 + ep.emit('query_comps');
  374 + });
  375 +
  376 + var lineMapps;
  377 + //加载线路信息
  378 + $.get('/line/all', {'destroy_eq': 0}, function (rs) {
  379 + rs.sort(function (a, b) {
  380 + return a.name.localeCompare(b.name);
  381 + });
  382 + lineMapps={};
  383 + var k;
  384 + $.each(rs, function () {
  385 + k = this.company+'_'+this.brancheCompany;
  386 + if(!lineMapps[k])
  387 + lineMapps[k]=[];
  388 + lineMapps[k].push(this);
  389 + });
  390 +
  391 + ep.emit('query_lines');
  392 + });
  393 +
  394 + $('[name=gsBm_eq]', f).on('change', function () {
  395 + var code = $(this).val(), subs=[];
  396 + $.each(comps, function () {
  397 + if(this.companyCode==code)
  398 + subs=this.children;
  399 + });
  400 +
  401 + var opts='';
  402 + $.each(subs, function () {
  403 + opts += '<option value="'+this.code+'">'+this.name+'</option>';
  404 + });
  405 + $('[name=fgsBm_eq]', f).html(opts).trigger('change');
  406 + });
  407 +
  408 + $('[name=fgsBm_eq]', f).on('change', function () {
  409 + var k = $('[name=gsBm_eq]', f).val() + '_' + $(this).val();
  410 + var array = lineMapps[k];
  411 + var opts = '';
  412 + if(array){
  413 + $.each(array, function () {
  414 + opts += '<option value="'+this.lineCode+'">'+this.name+'</option>';
  415 + });
  416 + }
  417 + $('[name=xlBm_eq]', f).html(opts);
  418 + });
  419 +
  420 + //
  421 + //滚动条
  422 + $('.t_body_wrap').perfectScrollbar({suppressScrollX: true});
  423 +
  424 + $(document).on('submit', 'form', function () {
  425 + return false;
  426 + });
  427 +
  428 + $('#add_hours_icon').on('click', function () {
  429 + UIkit.notification('暂不开放!', 'danger');
  430 + });
  431 +</script>
  432 +</body>
  433 +</html>
0 \ No newline at end of file 434 \ No newline at end of file
src/main/resources/static/pages/summary/excel/快慢误点报表.xls
No preview for this file type
src/main/resources/static/pages/summary/fast_and_slow/data.html
@@ -18,24 +18,30 @@ @@ -18,24 +18,30 @@
18 <div class="data_table_wrap head"> 18 <div class="data_table_wrap head">
19 <table cellspacing="1" class="data_table"> 19 <table cellspacing="1" class="data_table">
20 <col /> 20 <col />
21 - <col width="14%"/>  
22 - <col width="4%"/>  
23 - <col width="6%"/>  
24 - <col width="6%"/>  
25 - <col width="6%"/>  
26 <col width="5%"/> 21 <col width="5%"/>
27 <col width="5%"/> 22 <col width="5%"/>
28 <col width="5%"/> 23 <col width="5%"/>
  24 + <col width="13%"/>
  25 + <col width="4%"/>
29 <col width="5%"/> 26 <col width="5%"/>
30 - <col width="6%"/>  
31 - <col width="6%"/>  
32 - <col width="6%"/>  
33 <col width="5%"/> 27 <col width="5%"/>
34 <col width="5%"/> 28 <col width="5%"/>
  29 + <col width="4%"/>
  30 + <col width="4%"/>
  31 + <col width="4%"/>
  32 + <col width="4%"/>
35 <col width="5%"/> 33 <col width="5%"/>
36 <col width="5%"/> 34 <col width="5%"/>
  35 + <col width="5%"/>
  36 + <col width="4%"/>
  37 + <col width="4%"/>
  38 + <col width="4%"/>
  39 + <col width="4%"/>
37 <tr> 40 <tr>
38 <td rowspan="3">序号</td> 41 <td rowspan="3">序号</td>
  42 + <td rowspan="3">路牌</td>
  43 + <td rowspan="3">车辆</td>
  44 + <td rowspan="3">人员</td>
39 <td rowspan="3">发车站点</td> 45 <td rowspan="3">发车站点</td>
40 <td rowspan="3">方向</td> 46 <td rowspan="3">方向</td>
41 <td colspan="7">发车时间</td> 47 <td colspan="7">发车时间</td>
@@ -70,25 +76,31 @@ @@ -70,25 +76,31 @@
70 <div class="data_table_wrap data" id="table_{{k}}"> 76 <div class="data_table_wrap data" id="table_{{k}}">
71 <table cellspacing="1" class="data_table"> 77 <table cellspacing="1" class="data_table">
72 <col /> 78 <col />
73 - <col width="14%"/>  
74 - <col width="4%"/>  
75 - <col width="6%"/>  
76 - <col width="6%"/>  
77 - <col width="6%"/>  
78 <col width="5%"/> 79 <col width="5%"/>
79 <col width="5%"/> 80 <col width="5%"/>
80 <col width="5%"/> 81 <col width="5%"/>
  82 + <col width="13%"/>
  83 + <col width="4%"/>
81 <col width="5%"/> 84 <col width="5%"/>
82 - <col width="6%"/>  
83 - <col width="6%"/>  
84 - <col width="6%"/>  
85 <col width="5%"/> 85 <col width="5%"/>
86 <col width="5%"/> 86 <col width="5%"/>
  87 + <col width="4%"/>
  88 + <col width="4%"/>
  89 + <col width="4%"/>
  90 + <col width="4%"/>
87 <col width="5%"/> 91 <col width="5%"/>
88 <col width="5%"/> 92 <col width="5%"/>
  93 + <col width="5%"/>
  94 + <col width="4%"/>
  95 + <col width="4%"/>
  96 + <col width="4%"/>
  97 + <col width="4%"/>
89 {{each listMap[k] as obj i}} 98 {{each listMap[k] as obj i}}
90 <tr> 99 <tr>
91 <td>{{i+1}}</td> 100 <td>{{i+1}}</td>
  101 + <td>{{obj.lpName}}</td>
  102 + <td>{{obj.nbbm}}</td>
  103 + <td>{{obj.jsy}}</td>
92 <td>{{obj.stationName}}</td> 104 <td>{{obj.stationName}}</td>
93 <td class="cell_dir_{{obj.upDown}}">{{obj.upDown==0?"上行":"下行"}}</td> 105 <td class="cell_dir_{{obj.upDown}}">{{obj.upDown==0?"上行":"下行"}}</td>
94 <td>{{obj.fcsj}}</td> 106 <td>{{obj.fcsj}}</td>
@@ -108,21 +120,21 @@ @@ -108,21 +120,21 @@
108 </tr> 120 </tr>
109 {{/each}} 121 {{/each}}
110 <tr> 122 <tr>
111 - <td rowspan="4">合计:</td>  
112 - <td colspan="8" class="count_col">发车:上行(计划快误点:<a class="c_c_0">{{countMap[k][0]['fast'][0]}}</a> &nbsp;累计时间:<a class="c_c_0">{{timeCountMap[k][0]['fast'][0]}}</a> &nbsp;待发快误点:<a class="c_c_0">{{countMap[k][0]['fast'][1]}}</a> &nbsp;累计时间:<a class="c_c_0">{{timeCountMap[k][0]['fast'][1]}}</a>)</td>  
113 - <td colspan="8" class="count_col">发车:下行(计划快误点:<a class="c_c_1">{{countMap[k][1]['fast'][0]}}</a> &nbsp;累计时间:<a class="c_c_1">{{timeCountMap[k][1]['fast'][0]}}</a> 待发快误点:<a class="c_c_1">{{countMap[k][1]['fast'][1]}}</a> &nbsp;累计时间:<a class="c_c_1">{{timeCountMap[k][1]['fast'][1]}}</a>)</td> 123 + <td rowspan="4" colspan="2">合计:</td>
  124 + <td colspan="9" class="count_col">发车:上行(计划快误点:<a class="c_c_0">{{countMap[k][0]['fast'][0]}}</a> &nbsp;累计时间:<a class="c_c_0">{{timeCountMap[k][0]['fast'][0]}}</a> &nbsp;待发快误点:<a class="c_c_0">{{countMap[k][0]['fast'][1]}}</a> &nbsp;累计时间:<a class="c_c_0">{{timeCountMap[k][0]['fast'][1]}}</a>)</td>
  125 + <td colspan="9" class="count_col">发车:下行(计划快误点:<a class="c_c_1">{{countMap[k][1]['fast'][0]}}</a> &nbsp;累计时间:<a class="c_c_1">{{timeCountMap[k][1]['fast'][0]}}</a> 待发快误点:<a class="c_c_1">{{countMap[k][1]['fast'][1]}}</a> &nbsp;累计时间:<a class="c_c_1">{{timeCountMap[k][1]['fast'][1]}}</a>)</td>
114 </tr> 126 </tr>
115 <tr> 127 <tr>
116 - <td colspan="8" class="count_col">发车:上行(计划慢误点:<a class="c_c_0">{{countMap[k][0]['slow'][0]}}</a> &nbsp;累计时间:<a class="c_c_0">{{timeCountMap[k][0]['slow'][0]}}</a> &nbsp;待发慢误点:<a class="c_c_0">{{countMap[k][0]['slow'][1]}}</a> &nbsp;累计时间:<a class="c_c_0">{{timeCountMap[k][0]['slow'][1]}}</a>)</td>  
117 - <td colspan="8" class="count_col">发车:下行(计划慢误点:<a class="c_c_1">{{countMap[k][1]['slow'][0]}}</a> &nbsp;累计时间:<a class="c_c_1">{{timeCountMap[k][1]['slow'][0]}}</a> &nbsp;待发慢误点:<a class="c_c_1">{{countMap[k][1]['slow'][1]}}</a> &nbsp;累计时间:<a class="c_c_1">{{timeCountMap[k][1]['slow'][1]}}</a>)</td> 128 + <td colspan="9" class="count_col">发车:上行(计划慢误点:<a class="c_c_0">{{countMap[k][0]['slow'][0]}}</a> &nbsp;累计时间:<a class="c_c_0">{{timeCountMap[k][0]['slow'][0]}}</a> &nbsp;待发慢误点:<a class="c_c_0">{{countMap[k][0]['slow'][1]}}</a> &nbsp;累计时间:<a class="c_c_0">{{timeCountMap[k][0]['slow'][1]}}</a>)</td>
  129 + <td colspan="9" class="count_col">发车:下行(计划慢误点:<a class="c_c_1">{{countMap[k][1]['slow'][0]}}</a> &nbsp;累计时间:<a class="c_c_1">{{timeCountMap[k][1]['slow'][0]}}</a> &nbsp;待发慢误点:<a class="c_c_1">{{countMap[k][1]['slow'][1]}}</a> &nbsp;累计时间:<a class="c_c_1">{{timeCountMap[k][1]['slow'][1]}}</a>)</td>
118 </tr> 130 </tr>
119 <tr> 131 <tr>
120 - <td colspan="8" class="count_col">到达:上行(计划快误点:<a class="c_c_0">{{countMap[k][0]['fast'][2]}}</a> &nbsp;累计时间:<a class="c_c_0">{{timeCountMap[k][0]['fast'][2]}}</a> &nbsp;待发快误点:<a class="c_c_0">{{countMap[k][0]['fast'][3]}}</a> &nbsp;累计时间:<a class="c_c_0">{{timeCountMap[k][0]['fast'][3]}}</a>)</td>  
121 - <td colspan="8" class="count_col">到达:下行(计划快误点:<a class="c_c_1">{{countMap[k][1]['fast'][2]}}</a> &nbsp;累计时间:<a class="c_c_1">{{timeCountMap[k][1]['fast'][2]}}</a> &nbsp;待发快误点:<a class="c_c_1">{{countMap[k][1]['fast'][3]}}</a> &nbsp;累计时间:<a class="c_c_1">{{timeCountMap[k][1]['fast'][3]}}</a>)</td> 132 + <td colspan="9" class="count_col">到达:上行(计划快误点:<a class="c_c_0">{{countMap[k][0]['fast'][2]}}</a> &nbsp;累计时间:<a class="c_c_0">{{timeCountMap[k][0]['fast'][2]}}</a> &nbsp;待发快误点:<a class="c_c_0">{{countMap[k][0]['fast'][3]}}</a> &nbsp;累计时间:<a class="c_c_0">{{timeCountMap[k][0]['fast'][3]}}</a>)</td>
  133 + <td colspan="9" class="count_col">到达:下行(计划快误点:<a class="c_c_1">{{countMap[k][1]['fast'][2]}}</a> &nbsp;累计时间:<a class="c_c_1">{{timeCountMap[k][1]['fast'][2]}}</a> &nbsp;待发快误点:<a class="c_c_1">{{countMap[k][1]['fast'][3]}}</a> &nbsp;累计时间:<a class="c_c_1">{{timeCountMap[k][1]['fast'][3]}}</a>)</td>
122 </tr> 134 </tr>
123 <tr> 135 <tr>
124 - <td colspan="8" class="count_col">到达:上行(计划慢误点:<a class="c_c_0">{{countMap[k][0]['slow'][2]}}</a> &nbsp;累计时间:<a class="c_c_0">{{timeCountMap[k][0]['slow'][2]}}</a> &nbsp;待发慢误点:<a class="c_c_0">{{countMap[k][0]['slow'][3]}}</a> &nbsp;累计时间:<a class="c_c_0">{{timeCountMap[k][0]['slow'][3]}}</a>)</td>  
125 - <td colspan="8" class="count_col">到达:下行(计划慢误点:<a class="c_c_1">{{countMap[k][1]['slow'][2]}}</a> &nbsp;累计时间:<a class="c_c_1">{{timeCountMap[k][1]['slow'][2]}}</a> &nbsp;待发慢误点:<a class="c_c_1">{{countMap[k][1]['slow'][3]}}</a> &nbsp;累计时间:<a class="c_c_1">{{timeCountMap[k][1]['slow'][3]}}</a>)</td> 136 + <td colspan="9" class="count_col">到达:上行(计划慢误点:<a class="c_c_0">{{countMap[k][0]['slow'][2]}}</a> &nbsp;累计时间:<a class="c_c_0">{{timeCountMap[k][0]['slow'][2]}}</a> &nbsp;待发慢误点:<a class="c_c_0">{{countMap[k][0]['slow'][3]}}</a> &nbsp;累计时间:<a class="c_c_0">{{timeCountMap[k][0]['slow'][3]}}</a>)</td>
  137 + <td colspan="9" class="count_col">到达:下行(计划慢误点:<a class="c_c_1">{{countMap[k][1]['slow'][2]}}</a> &nbsp;累计时间:<a class="c_c_1">{{timeCountMap[k][1]['slow'][2]}}</a> &nbsp;待发慢误点:<a class="c_c_1">{{countMap[k][1]['slow'][3]}}</a> &nbsp;累计时间:<a class="c_c_1">{{timeCountMap[k][1]['slow'][3]}}</a>)</td>
126 </tr> 138 </tr>
127 </table> 139 </table>
128 </div> 140 </div>
src/main/resources/static/pages/summary/fast_and_slow/main.html
@@ -101,10 +101,10 @@ @@ -101,10 +101,10 @@
101 } 101 }
102 102
103 .ct_right_tables{ 103 .ct_right_tables{
104 - width: calc(100% - 220px); 104 + width: calc(100% - 160px);
105 display: inline-block; 105 display: inline-block;
106 margin-left: 152px; 106 margin-left: 152px;
107 - padding: 25px; 107 + padding: 25px 0;
108 margin-bottom: 18px; 108 margin-bottom: 18px;
109 } 109 }
110 110
@@ -157,7 +157,7 @@ @@ -157,7 +157,7 @@
157 157
158 .data_table_wrap.head{ 158 .data_table_wrap.head{
159 position: fixed; 159 position: fixed;
160 - width: calc(100% - 300px); 160 + width: calc(100% - 190px);
161 top: 155px; 161 top: 155px;
162 padding-top: 25px; 162 padding-top: 25px;
163 background: #fff; 163 background: #fff;
src/main/resources/static/real_control_v2/fragments/north/nav/history_sch_maintain.html
@@ -126,20 +126,6 @@ @@ -126,20 +126,6 @@
126 $.each(rs, function (i) { 126 $.each(rs, function (i) {
127 tsStr += '<li ' + (i == 0 ? 'class="uk-active"' : '') + '><a>' + this + '</a></li>'; 127 tsStr += '<li ' + (i == 0 ? 'class="uk-active"' : '') + '><a>' + this + '</a></li>';
128 }); 128 });
129 - //临时放开闵行39路的日期权限  
130 - /*if(gb_data_basic.line_idx=='100001'){  
131 - var st = moment('2017-08-29', 'YYYY-MM-DD');  
132 - var et = moment().format('YYYY-MM-DD');  
133 - tsStr = '';  
134 - while(true){  
135 - var rq = st.format('YYYY-MM-DD');  
136 - tsStr += '<li ' + (rq == et ? 'class="uk-active"' : '') + '><a>' + rq + '</a></li>';  
137 - st.add(1, 'days');  
138 -  
139 - if(rq == et)  
140 - break;  
141 - }  
142 - }*/  
143 129
144 $('.h-s-time', modal).html(tsStr); 130 $('.h-s-time', modal).html(tsStr);
145 131