Commit 31c980a74e1d1914b7aac1bf0d472f81bef3ae46

Authored by 娄高锋
1 parent 12ab2d8d

首末班准点率增加误点明细在合计汇总的准点率百分比上

src/main/java/com/bsth/service/schedule/impl/PeopleCarPlanServiceImpl.java
@@ -1485,7 +1485,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { @@ -1485,7 +1485,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService {
1485 1485
1486 try { 1486 try {
1487 String sql = "select a.schedule_date_str, a.real_exec_date, a.xl_name, a.fcsj, a.fcsj_actual, a.zdsj, a.zdsj_actual, a.qdz_name, a.zdz_name, a.xl_dir, a.status, a.gs_name, a.fgs_name," 1487 String sql = "select a.schedule_date_str, a.real_exec_date, a.xl_name, a.fcsj, a.fcsj_actual, a.zdsj, a.zdsj_actual, a.qdz_name, a.zdz_name, a.xl_dir, a.status, a.gs_name, a.fgs_name,"
1488 - + " a.cc_service, b.start_opt from bsth_c_s_sp_info_real a left join (select line, start_opt from bsth_c_line_config order by id desc) b on a.xl_bm = b.line" 1488 + + " a.cc_service, a.remarks, a.adjust_exps, b.start_opt from bsth_c_s_sp_info_real a left join (select line, start_opt from bsth_c_line_config order by id desc) b on a.xl_bm = b.line"
1489 + " where schedule_date_str >= '"+startDate+"' and schedule_date_str <= '"+endDate+"'" 1489 + " where schedule_date_str >= '"+startDate+"' and schedule_date_str <= '"+endDate+"'"
1490 + " and bc_type != 'in' and bc_type != 'out' and bc_type != 'ldks' and bc_type != 'region'"; 1490 + " and bc_type != 'in' and bc_type != 'out' and bc_type != 'ldks' and bc_type != 'region'";
1491 if(line.length() != 0) 1491 if(line.length() != 0)
@@ -1512,6 +1512,8 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { @@ -1512,6 +1512,8 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService {
1512 schedule.setGsName(rs.getString("gs_name")); 1512 schedule.setGsName(rs.getString("gs_name"));
1513 schedule.setFgsName(rs.getString("fgs_name")); 1513 schedule.setFgsName(rs.getString("fgs_name"));
1514 schedule.setCcService(rs.getBoolean("cc_service")); 1514 schedule.setCcService(rs.getBoolean("cc_service"));
  1515 + schedule.setRemarks(rs.getString("remarks")!=null?rs.getString("remarks"):"");
  1516 + schedule.setAdjustExps(rs.getString("adjust_exps")!=null?rs.getString("adjust_exps"):"");
1515 1517
1516 int startOpt = 0; 1518 int startOpt = 0;
1517 if(rs.getString("start_opt") != null && rs.getString("start_opt").trim().length() != 0){ 1519 if(rs.getString("start_opt") != null && rs.getString("start_opt").trim().length() != 0){
@@ -1569,6 +1571,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { @@ -1569,6 +1571,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService {
1569 subCompanyName = s.getFgsName(); 1571 subCompanyName = s.getFgsName();
1570 } 1572 }
1571 1573
  1574 + List<Map<String, Object>> mapList = new ArrayList<Map<String, Object>>();
1572 for(String xlName : keyMap.keySet()){ 1575 for(String xlName : keyMap.keySet()){
1573 List<Map<String, Object>> tempList = new ArrayList<Map<String,Object>>(); 1576 List<Map<String, Object>> tempList = new ArrayList<Map<String,Object>>();
1574 Map<String, Object> tempMap = new HashMap<String, Object>(); 1577 Map<String, Object> tempMap = new HashMap<String, Object>();
@@ -1630,10 +1633,38 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { @@ -1630,10 +1633,38 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService {
1630 temp.put("sjfcLast0", s4.getFcsjActual()); 1633 temp.put("sjfcLast0", s4.getFcsjActual());
1631 temp.put("delayLast0", delayLast0>0?"+"+delayLast0:delayLast0); 1634 temp.put("delayLast0", delayLast0>0?"+"+delayLast0:delayLast0);
1632 jhbc += 2; 1635 jhbc += 2;
1633 - if(delayFirst0 <= 1l && delayFirst0 >= -3l) 1636 + if(delayFirst0 <= 1l && delayFirst0 >= -3l){
1634 sjbc++; 1637 sjbc++;
1635 - if(delayLast0 <= 1l && delayLast0 >= -3l) 1638 + } else {
  1639 + Map<String, Object> m = new HashMap<String, Object>();
  1640 + m.put("date", date.substring(5));
  1641 + m.put("line", xlName);
  1642 + m.put("firstOrLast", "上行首发");
  1643 + m.put("qdz", s1.getQdzName());
  1644 + m.put("jhfc", s1.getFcsj());
  1645 + m.put("sjfc", s2.getFcsjActual());
  1646 + m.put("delay", delayFirst0>0?"+"+delayFirst0:delayFirst0);
  1647 + m.put("remarks1", s1.getRemarks());
  1648 + m.put("remarks2", s2.getRemarks());
  1649 + m.put("remarks", s1.getRemarks() + s2.getRemarks());
  1650 + mapList.add(m);
  1651 + }
  1652 + if(delayLast0 <= 1l && delayLast0 >= -3l){
1636 sjbc++; 1653 sjbc++;
  1654 + } else {
  1655 + Map<String, Object> m = new HashMap<String, Object>();
  1656 + m.put("date", date.substring(5));
  1657 + m.put("line", xlName);
  1658 + m.put("firstOrLast", "上行末发");
  1659 + m.put("qdz", s3.getQdzName());
  1660 + m.put("jhfc", s3.getFcsj());
  1661 + m.put("sjfc", s4.getFcsjActual());
  1662 + m.put("delay", delayLast0>0?"+"+delayLast0:delayLast0);
  1663 + m.put("remarks1", s3.getRemarks());
  1664 + m.put("remarks2", s4.getRemarks());
  1665 + m.put("remarks", s3.getRemarks() + s4.getRemarks());
  1666 + mapList.add(m);
  1667 + }
1637 } else { 1668 } else {
1638 temp.put("qdzFirst0", "--"); 1669 temp.put("qdzFirst0", "--");
1639 temp.put("jhfcFirst0", "/"); 1670 temp.put("jhfcFirst0", "/");
@@ -1662,10 +1693,40 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { @@ -1662,10 +1693,40 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService {
1662 temp.put("sjfcLast1", s4.getFcsjActual()); 1693 temp.put("sjfcLast1", s4.getFcsjActual());
1663 temp.put("delayLast1", delayLast1>0?"+"+delayLast1:delayLast1); 1694 temp.put("delayLast1", delayLast1>0?"+"+delayLast1:delayLast1);
1664 jhbc += 2; 1695 jhbc += 2;
1665 - if(delayFirst1 <= 1l && delayFirst1 >= -3l) 1696 + if(delayFirst1 <= 1l && delayFirst1 >= -2l){
1666 sjbc++; 1697 sjbc++;
1667 - if(delayLast1 <= 1l && delayLast1 >= -3l) 1698 + } else {
  1699 + Map<String, Object> m = new HashMap<String, Object>();
  1700 + m.put("date", date.substring(5));
  1701 + m.put("line", xlName);
  1702 + m.put("firstOrLast", "下行首发");
  1703 + m.put("qdz", s1.getQdzName());
  1704 + m.put("jhfc", s1.getFcsj());
  1705 + m.put("sjfc", s2.getFcsjActual());
  1706 + m.put("delay", delayFirst1>0?"+"+delayFirst1:delayFirst1);
  1707 + m.put("remarks1", s1.getRemarks());
  1708 + m.put("remarks2", s2.getRemarks());
  1709 + m.put("remarks", s1.getRemarks() + s2.getAdjustExps());
  1710 + mapList.add(m);
  1711 + }
  1712 +
  1713 + if(delayLast1 <= 1l && delayLast1 >= -2l){
1668 sjbc++; 1714 sjbc++;
  1715 + } else {
  1716 + Map<String, Object> m = new HashMap<String, Object>();
  1717 + m.put("date", date.substring(5));
  1718 + m.put("line", xlName);
  1719 + m.put("firstOrLast", "下行末发");
  1720 + m.put("qdz", s3.getQdzName());
  1721 + m.put("jhfc", s3.getFcsj());
  1722 + m.put("sjfc", s4.getFcsjActual());
  1723 + m.put("delay", delayLast1>0?"+"+delayLast1:delayLast1);
  1724 + m.put("remarks1", s3.getRemarks());
  1725 + m.put("remarks2", s4.getRemarks());
  1726 + m.put("remarks", s3.getRemarks() + s4.getRemarks());
  1727 + mapList.add(m);
  1728 + }
  1729 +
1669 } else { 1730 } else {
1670 temp.put("qdzFirst1", "--"); 1731 temp.put("qdzFirst1", "--");
1671 temp.put("jhfcFirst1", "/"); 1732 temp.put("jhfcFirst1", "/");
@@ -1692,14 +1753,20 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { @@ -1692,14 +1753,20 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService {
1692 Map<String, Object> tempMap = new HashMap<String, Object>(); 1753 Map<String, Object> tempMap = new HashMap<String, Object>();
1693 if(resList.size() > 0){ 1754 if(resList.size() > 0){
1694 tempMap.put("date", "合计汇总"); 1755 tempMap.put("date", "合计汇总");
1695 - int jhbc = 0, sjbc = 0; 1756 + int jhbc = 0, sjbc = 0, i = 0;
  1757 + tempMap.put("jhbc", jhbc);
  1758 + tempMap.put("sjbc", sjbc);
1696 for(Map<String, Object> m : resList){ 1759 for(Map<String, Object> m : resList){
1697 jhbc += Integer.valueOf(m.get("jhbc").toString()); 1760 jhbc += Integer.valueOf(m.get("jhbc").toString());
1698 sjbc += Integer.valueOf(m.get("sjbc").toString()); 1761 sjbc += Integer.valueOf(m.get("sjbc").toString());
1699 } 1762 }
1700 - tempMap.put("jhbc", jhbc);  
1701 - tempMap.put("sjbc", sjbc);  
1702 - tempMap.put("zdl", nf.format((float) sjbc / jhbc *100) + "%"); 1763 + tempMap.put("zdl", nf.format((float) sjbc / jhbc * 100) + "%");
  1764 + for(Map<String, Object> m : mapList){
  1765 + m.put("no", ++i);
  1766 + m.put("company", companyName);
  1767 + m.put("subCompany", subCompanyName);
  1768 + }
  1769 + tempMap.put("map", mapList);
1703 if(!type.equals("export")) 1770 if(!type.equals("export"))
1704 resList.add(tempMap); 1771 resList.add(tempMap);
1705 } 1772 }
src/main/resources/static/pages/forms/statement/firstAndLastBus_sum.html
@@ -110,6 +110,25 @@ @@ -110,6 +110,25 @@
110 110
111 </tbody> 111 </tbody>
112 </table> 112 </table>
  113 + <table class="table table-bordered table-hover table-checkable" id="sumMap">
  114 + <thead>
  115 + <tr class="hidden">
  116 + <th style="display: none;"></th>
  117 + <th>日期</th>
  118 + <th>序号</th>
  119 + <th>分公司</th>
  120 + <th>线路</th>
  121 + <th>首末班次</th>
  122 + <th>计发</th>
  123 + <th>实发</th>
  124 + <th>误差</th>
  125 + <th>调度路单备注</th>
  126 + </tr>
  127 + </thead>
  128 + <tbody>
  129 +
  130 + </tbody>
  131 + </table>
113 </div> 132 </div>
114 </div> 133 </div>
115 </div> 134 </div>
@@ -124,12 +143,9 @@ @@ -124,12 +143,9 @@
124 if (!$('body').hasClass('page-sidebar-closed')) 143 if (!$('body').hasClass('page-sidebar-closed'))
125 $('.menu-toggler.sidebar-toggler').click(); 144 $('.menu-toggler.sidebar-toggler').click();
126 145
127 - $("#startDate,#endDate").datetimepicker({  
128 - format : 'YYYY-MM-DD',  
129 - locale : 'zh-cn'  
130 - });  
131 146
132 var d = new Date(); 147 var d = new Date();
  148 + d.setTime(d.getTime() - 1*1000*60*60*24);
133 var year = d.getFullYear(); 149 var year = d.getFullYear();
134 var month = d.getMonth() + 1; 150 var month = d.getMonth() + 1;
135 var day = d.getDate(); 151 var day = d.getDate();
@@ -137,7 +153,13 @@ @@ -137,7 +153,13 @@
137 month = "0" + month; 153 month = "0" + month;
138 if(day < 10) 154 if(day < 10)
139 day = "0" + day; 155 day = "0" + day;
140 - $("#startDate,#endDate").val(year + "-" + month + "-" + day); 156 + var dateTime = year + "-" + month + "-" + day;
  157 + $("#startDate,#endDate").datetimepicker({
  158 + format : 'YYYY-MM-DD',
  159 + locale : 'zh-cn',
  160 + maxDate : dateTime
  161 + });
  162 + $("#startDate,#endDate").val(dateTime);
141 163
142 var fage=false; 164 var fage=false;
143 var xlList; 165 var xlList;
@@ -218,14 +240,28 @@ @@ -218,14 +240,28 @@
218 var list; 240 var list;
219 $("#forms tbody").on("click","a",function(){ 241 $("#forms tbody").on("click","a",function(){
220 var index = $(this).parent().parent().index(); 242 var index = $(this).parent().parent().index();
221 - $.each(list, function(i, g){  
222 - if(index == i){  
223 - var tbodyHtml = template('list_maps',{list:g.map});  
224 - $('#map tbody').html(tbodyHtml);  
225 - $("#map .hidden").removeClass("hidden");  
226 - $("html,body").animate({scrollTop:$("#map").offset().top},1000);  
227 - }  
228 - }); 243 + if(index < list.length - 1){
  244 + $.each(list, function(i, g){
  245 + if(index == i){
  246 + var tbodyHtml = template('list_maps',{list:g.map});
  247 + $('#map tbody').html(tbodyHtml);
  248 + $("#sumMap tr").addClass("hidden");
  249 + $("#map .hidden").removeClass("hidden");
  250 + $("html,body").animate({scrollTop:$("#map").offset().top},1000);
  251 + }
  252 + });
  253 + } else {
  254 + var tempList = [];
  255 + $.each(list, function(i, g){
  256 + if(index == i){
  257 + var tbodyHtml = template('list_sumMaps',{list:g.map});
  258 + $('#sumMap tbody').html(tbodyHtml);
  259 + $("#map tr").addClass("hidden");
  260 + $("#sumMap .hidden").removeClass("hidden");
  261 + $("html,body").animate({scrollTop:$("#sumMap").offset().top},1000);
  262 + }
  263 + });
  264 + }
229 }); 265 });
230 266
231 $("#query").on("click",jsDoQuery); 267 $("#query").on("click",jsDoQuery);
@@ -260,6 +296,7 @@ @@ -260,6 +296,7 @@
260 params['type'] = "query"; 296 params['type'] = "query";
261 $("#forms .hidden").removeClass("hidden"); 297 $("#forms .hidden").removeClass("hidden");
262 $("#map tr").addClass("hidden"); 298 $("#map tr").addClass("hidden");
  299 + $("#sumMap tr").addClass("hidden");
263 $get('/pcpc/firstAndLastBus_sum', params, function(result){ 300 $get('/pcpc/firstAndLastBus_sum', params, function(result){
264 // 把数据填充到模版中 301 // 把数据填充到模版中
265 var tbodyHtml = template('list_firstAndLastBus_sum',{list:result}); 302 var tbodyHtml = template('list_firstAndLastBus_sum',{list:result});
@@ -307,7 +344,7 @@ @@ -307,7 +344,7 @@
307 <td colspan='4'>{{obj.date}}</td> 344 <td colspan='4'>{{obj.date}}</td>
308 <td>{{obj.jhbc}}</td> 345 <td>{{obj.jhbc}}</td>
309 <td>{{obj.sjbc}}</td> 346 <td>{{obj.sjbc}}</td>
310 - <td>{{obj.zdl}}</td> 347 + <td><a id='delay'>{{obj.zdl}}</a></td>
311 {{/if}} 348 {{/if}}
312 </tr> 349 </tr>
313 {{/each}} 350 {{/each}}
@@ -368,4 +405,19 @@ @@ -368,4 +405,19 @@
368 {{/if}} 405 {{/if}}
369 </tr> 406 </tr>
370 {{/each}} 407 {{/each}}
  408 +</script>
  409 +<script type="text/html" id="list_sumMaps">
  410 + {{each list as obj i}}
  411 + <tr>
  412 + <td>{{obj.date}}</td>
  413 + <td>{{obj.no}}</td>
  414 + <td>{{obj.subCompany}}</td>
  415 + <td>{{obj.line}}</td>
  416 + <td>{{obj.firstOrLast}}</td>
  417 + <td>{{obj.jhfc}}</td>
  418 + <td>{{obj.sjfc}}</td>
  419 + <td>{{obj.delay}}</td>
  420 + <td>{{obj.remarks1}}</td>
  421 + </tr>
  422 + {{/each}}
371 </script> 423 </script>
372 \ No newline at end of file 424 \ No newline at end of file