Commit d17111233379484c9d4b0b73378c765f54ab4a05

Authored by 廖磊
2 parents d531ff0f 3c109706

Merge branch 'minhang' of

http://222.66.0.204:8090/panzhaov5/bsth_control into minhang
src/main/java/com/bsth/data/schedule/thread/SubmitToTrafficManage.java
1 package com.bsth.data.schedule.thread; 1 package com.bsth.data.schedule.thread;
2 2
3 import com.bsth.service.TrafficManageService; 3 import com.bsth.service.TrafficManageService;
  4 +import com.bsth.service.traffic.YgcBasicDataService;
4 import org.slf4j.Logger; 5 import org.slf4j.Logger;
5 import org.slf4j.LoggerFactory; 6 import org.slf4j.LoggerFactory;
6 import org.springframework.beans.factory.annotation.Autowired; 7 import org.springframework.beans.factory.annotation.Autowired;
@@ -18,6 +19,9 @@ public class SubmitToTrafficManage extends Thread{ @@ -18,6 +19,9 @@ public class SubmitToTrafficManage extends Thread{
18 @Autowired 19 @Autowired
19 TrafficManageService trafficManageService; 20 TrafficManageService trafficManageService;
20 21
  22 + @Autowired
  23 + YgcBasicDataService ygcBasicDataService;
  24 +
21 @Override 25 @Override
22 public void run() { 26 public void run() {
23 logger.info("开始提交数据到运管处..."); 27 logger.info("开始提交数据到运管处...");
@@ -46,6 +50,12 @@ public class SubmitToTrafficManage extends Thread{ @@ -46,6 +50,12 @@ public class SubmitToTrafficManage extends Thread{
46 } catch (Exception e) { 50 } catch (Exception e) {
47 logger.error("提交线路计划班次表到运管处失败", e); 51 logger.error("提交线路计划班次表到运管处失败", e);
48 } 52 }
  53 + try {
  54 + // 运管处基础数据更新
  55 + ygcBasicDataService.updateYgcBasicData();
  56 + } catch (Exception e) {
  57 + logger.error("运管处基础数据更新失败", e);
  58 + }
49 logger.info("提交数据到运管处结束!"); 59 logger.info("提交数据到运管处结束!");
50 } 60 }
51 } 61 }
src/main/java/com/bsth/service/forms/impl/FormsServiceImpl.java
@@ -977,9 +977,11 @@ public class FormsServiceImpl implements FormsService { @@ -977,9 +977,11 @@ public class FormsServiceImpl implements FormsService {
977 977
978 List<ScheduleRealInfo> list = scheduleRealInfoRepository.scheduleByDateAndLineTj(line, startDate, endDate, company, subCompany); 978 List<ScheduleRealInfo> list = scheduleRealInfoRepository.scheduleByDateAndLineTj(line, startDate, endDate, company, subCompany);
979 List<Line> lineList = lineRepository.findLineBygsBm(company, subCompany, line.length()==0?"%"+line+"%":line); 979 List<Line> lineList = lineRepository.findLineBygsBm(company, subCompany, line.length()==0?"%"+line+"%":line);
980 -  
981 - String sql = "select * from bsth_c_s_sp_info where gs_bm = '"+company+"' and fgs_bm = '"+subCompany+"' "  
982 - + "and DATE_FORMAT(schedule_date,'%Y-%m-%d') BETWEEN '"+startDate+"' and '"+endDate+"' "; 980 +
  981 + String sql = "select gs_name, fgs_name, cl_zbh, fcsj, bc_type, xl_bm, xl_name, schedule_date"
  982 + + " from bsth_c_s_sp_info where gs_bm = '"+company+"' and fgs_bm = '"+subCompany+"' "
  983 + + "and DATE_FORMAT(schedule_date,'%Y-%m-%d') >= '"+startDate+"' "
  984 + + "and DATE_FORMAT(schedule_date,'%Y-%m-%d') <= '"+endDate+"' ";
983 if(line.trim().length() != 0){ 985 if(line.trim().length() != 0){
984 sql += "and xl_bm = '"+line+"' "; 986 sql += "and xl_bm = '"+line+"' ";
985 } 987 }
src/main/java/com/bsth/service/report/impl/ReportServiceImpl.java
@@ -720,36 +720,40 @@ public class ReportServiceImpl implements ReportService{ @@ -720,36 +720,40 @@ public class ReportServiceImpl implements ReportService{
720 Map<String, Object> tempMap = new HashMap<String, Object>(); 720 Map<String, Object> tempMap = new HashMap<String, Object>();
721 List<Map<String, Object>> list2 = keyMap.get(key); 721 List<Map<String, Object>> list2 = keyMap.get(key);
722 List<Integer> cjs = new ArrayList<Integer>(); 722 List<Integer> cjs = new ArrayList<Integer>();
723 - int sxsj = 0, xxsj = 0, zcj = 0, tssj = 0;  
724 - int sxbc = 0, xxbc = 0;  
725 - int temp = 24*60+1; 723 + int sxsj = 0, xxsj = 0, sxtssj = 0, xxtssj = 0;
  724 + int sxbc = 0, xxbc = 0, sxtsbc = 0, xxtsbc = 0;
  725 + int temp = 24*60+1, zcj = 0;
726 boolean ists = false; 726 boolean ists = false;
727 for(Map<String, Object> m : list2){ 727 for(Map<String, Object> m : list2){
728 String[] split = m.get("fcsj").toString().split(":"); 728 String[] split = m.get("fcsj").toString().split(":");
729 int fcsj = Integer.valueOf(split[0])*60 + Integer.valueOf(split[1]); 729 int fcsj = Integer.valueOf(split[0])*60 + Integer.valueOf(split[1]);
730 int xlDir = Integer.valueOf(m.get("dir").toString()); 730 int xlDir = Integer.valueOf(m.get("dir").toString());
731 int bcsj = Integer.valueOf(m.get("bcsj").toString()); 731 int bcsj = Integer.valueOf(m.get("bcsj").toString());
  732 + if(temp >= fcsj){
  733 + temp = fcsj;
  734 + ists = false;
  735 + }
732 if(xlDir == 0){ 736 if(xlDir == 0){
733 sxsj += bcsj; 737 sxsj += bcsj;
734 sxbc ++; 738 sxbc ++;
  739 + if(ists){
  740 + sxtssj += fcsj - temp;
  741 + sxtsbc++;
  742 + }
735 } else { 743 } else {
736 xxsj += bcsj; 744 xxsj += bcsj;
737 xxbc ++; 745 xxbc ++;
738 - }  
739 - if(temp >= fcsj){  
740 - temp = fcsj;  
741 - ists = false;  
742 - } else {  
743 if(ists){ 746 if(ists){
744 - tssj += fcsj - temp;  
745 - ists = false;  
746 - } else {  
747 - cjs.add(fcsj - temp); 747 + xxtssj += fcsj - temp;
  748 + xxtsbc++;
748 } 749 }
  750 + }
  751 + if(temp < fcsj){
  752 + cjs.add(fcsj - temp);
749 temp = fcsj; 753 temp = fcsj;
750 - if(m.get("ists").equals("1")){  
751 - ists = true;  
752 - } 754 + }
  755 + if(m.get("ists").toString().trim().equals("1")){
  756 + ists = true;
753 } 757 }
754 } 758 }
755 Collections.sort(cjs); 759 Collections.sort(cjs);
@@ -757,12 +761,14 @@ public class ReportServiceImpl implements ReportService{ @@ -757,12 +761,14 @@ public class ReportServiceImpl implements ReportService{
757 zcj += i; 761 zcj += i;
758 } 762 }
759 tempMap.put("sjd", key); 763 tempMap.put("sjd", key);
760 - tempMap.put("sxsj", sxsj / sxbc);  
761 - tempMap.put("xxsj", xxsj / xxbc);  
762 - tempMap.put("fqsj", (sxsj + xxsj) / list2.size()); 764 + tempMap.put("sxsj", sxbc != 0 ? sxsj / sxbc : "0");
  765 + tempMap.put("xxsj", xxbc != 0 ? xxsj / xxbc : "0");
  766 + tempMap.put("sxtssj", sxtsbc != 0 ? sxtssj / sxtsbc : "0");
  767 + tempMap.put("xxtssj", xxtsbc != 0 ? xxtssj / xxtsbc : "0");
  768 + tempMap.put("fqsj", Integer.valueOf(tempMap.get("sxsj").toString()) + Integer.valueOf(tempMap.get("xxsj").toString())
  769 + + Integer.valueOf(tempMap.get("sxtssj").toString()) + Integer.valueOf(tempMap.get("xxtssj").toString()));
763 tempMap.put("cjqj", cjs.size()>0?cjs.get(0)+"——"+cjs.get(cjs.size()-1):"——"); 770 tempMap.put("cjqj", cjs.size()>0?cjs.get(0)+"——"+cjs.get(cjs.size()-1):"——");
764 tempMap.put("pjcj", cjs.size()>0?zcj/cjs.size():"/"); 771 tempMap.put("pjcj", cjs.size()>0?zcj/cjs.size():"/");
765 - tempMap.put("tssj", tssj);  
766 maps.put(key, tempMap); 772 maps.put(key, tempMap);
767 } 773 }
768 newList.add(maps.get("(首)——6:30")); 774 newList.add(maps.get("(首)——6:30"));
src/main/java/com/bsth/service/schedule/impl/PeopleCarPlanServiceImpl.java
@@ -803,6 +803,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { @@ -803,6 +803,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService {
803 String line = map.get("line").toString(); 803 String line = map.get("line").toString();
804 String startDate = map.get("startDate").toString(); 804 String startDate = map.get("startDate").toString();
805 String endDate = map.get("endDate").toString(); 805 String endDate = map.get("endDate").toString();
  806 + String bcType = map.get("bcType").toString();
806 String nbbm = map.get("nbbm").toString(); 807 String nbbm = map.get("nbbm").toString();
807 String type = map.get("type").toString(); 808 String type = map.get("type").toString();
808 809
@@ -829,6 +830,11 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { @@ -829,6 +830,11 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService {
829 sql += " and gs_bm like '%"+company+"%' and fgs_bm like '%"+subCompany+"%'"; 830 sql += " and gs_bm like '%"+company+"%' and fgs_bm like '%"+subCompany+"%'";
830 // } 831 // }
831 sql += " and bc_type != 'in' and bc_type != 'out' and bc_type != 'ldks'"; 832 sql += " and bc_type != 'in' and bc_type != 'out' and bc_type != 'ldks'";
  833 + if(bcType.trim().equals("1")){
  834 + sql += " and bc_type != 'region'";
  835 + } else if(bcType.trim().equals("2")){
  836 + sql += " and bc_type = 'region'";
  837 + }
832 838
833 list = jdbcTemplate.query(sql, 839 list = jdbcTemplate.query(sql,
834 new RowMapper<ScheduleRealInfo>(){ 840 new RowMapper<ScheduleRealInfo>(){
src/main/java/com/bsth/service/traffic/YgcBasicDataService.java 0 → 100644
  1 +package com.bsth.service.traffic;
  2 +
  3 +/**
  4 + * 运管处基础数据操作接口类
  5 + * Created by zlz on 2017/6/16.
  6 + */
  7 +public interface YgcBasicDataService {
  8 + /**
  9 + * 更新运管处基础数据
  10 + */
  11 + void updateYgcBasicData();
  12 +}
  13 +
src/main/java/com/bsth/service/traffic/impl/YgcBasicDataServiceImpl.java 0 → 100644
  1 +package com.bsth.service.traffic.impl;
  2 +
  3 +import com.bsth.service.impl.TrafficManageServiceImpl;
  4 +import com.bsth.service.traffic.YgcBasicDataService;
  5 +import com.bsth.util.db.DBUtils_oldSystem;
  6 +import org.apache.axiom.om.*;
  7 +import org.apache.axis2.addressing.EndpointReference;
  8 +import org.apache.axis2.client.Options;
  9 +import org.apache.axis2.client.ServiceClient;
  10 +import org.apache.commons.codec.digest.DigestUtils;
  11 +import org.slf4j.Logger;
  12 +import org.slf4j.LoggerFactory;
  13 +import org.springframework.beans.factory.annotation.Autowired;
  14 +import org.springframework.jdbc.core.BatchPreparedStatementSetter;
  15 +import org.springframework.jdbc.core.JdbcTemplate;
  16 +import org.springframework.stereotype.Service;
  17 +import org.w3c.dom.Document;
  18 +import org.w3c.dom.NodeList;
  19 +
  20 +import javax.activation.DataHandler;
  21 +import javax.xml.parsers.DocumentBuilder;
  22 +import javax.xml.parsers.DocumentBuilderFactory;
  23 +import java.io.*;
  24 +import java.sql.PreparedStatement;
  25 +import java.sql.SQLException;
  26 +import java.util.ArrayList;
  27 +import java.util.HashMap;
  28 +import java.util.List;
  29 +import java.util.zip.ZipEntry;
  30 +import java.util.zip.ZipFile;
  31 +import java.util.zip.ZipInputStream;
  32 +
  33 +/**
  34 + * 运管处基础数据操作类
  35 + * Created by zq on 2017/6/15.
  36 + */
  37 +@Service
  38 +public class YgcBasicDataServiceImpl implements YgcBasicDataService{
  39 + Logger logger = LoggerFactory.getLogger(TrafficManageServiceImpl.class);
  40 +
  41 + @Autowired
  42 + JdbcTemplate jdbcTemplate;
  43 +
  44 + private static String IP = "218.242.195.76:9091";
  45 + private static String targetEndpoint = "http://" + IP +"/ygc.TransManager.Basicdown?wsdl";
  46 + private static String namespace = "http://service.shygc.com";
  47 + private static String userName = "admin";
  48 + private static String passWord = "000000";
  49 + private static EndpointReference targetEPR;
  50 + {
  51 + try {
  52 + targetEPR = new EndpointReference(targetEndpoint);
  53 + } catch (Exception e) {
  54 + e.printStackTrace();
  55 + }
  56 + }
  57 +
  58 + /**
  59 + * 更新运管处基础数据
  60 + */
  61 + public void updateYgcBasicData(){
  62 + String saveFile = "ygcBasicData.zip";
  63 + String flag = "failure";
  64 + try {
  65 + // 调用接口下载基础数据
  66 + if(download(userName, DigestUtils.md5Hex(passWord), saveFile)){
  67 + // 读取基础数据zip
  68 + StringBuffer sb = readZipFile(saveFile);
  69 + // 解析xml
  70 + List<HashMap<String,String>> result = parseXml(sb);
  71 + // 插入数据库
  72 + if(result != null && result.size() > 0){
  73 + insertRecord(result);
  74 + }
  75 + }
  76 + flag = "success";
  77 + }catch (Exception e){
  78 + e.printStackTrace();
  79 + }
  80 + finally {
  81 + // 删除文件
  82 + File fill = new File(saveFile);
  83 + logger.info("updateYgcBasicData:"+fill.getAbsolutePath());
  84 + logger.info("updateYgcBasicData:"+flag);
  85 + if(fill.exists()){
  86 + fill.delete();
  87 + }
  88 + }
  89 + }
  90 + /**
  91 + * 下载基础数据,并生成rar文件
  92 + * @param userName
  93 + * @param password
  94 + * @param saveFile
  95 + * @return
  96 + */
  97 + private boolean download(String userName, String password, String saveFile)
  98 + {
  99 + try
  100 + {
  101 + OMElement data = buildDownloadEnvelope(userName, password);
  102 + ServiceClient sender = new ServiceClient();
  103 + Options options = sender.getOptions();
  104 + options.setProperty("SO_TIMEOUT", Integer.valueOf(1800000));
  105 + options.setTo(targetEPR);
  106 + sender.setOptions(options);
  107 + System.out.println("The data in method download: " + data);
  108 + data.build();
  109 + OMElement ome = sender.sendReceive(data);
  110 +
  111 + OMText binaryNode = (OMText)ome.getFirstOMChild();
  112 + binaryNode.setOptimize(true);
  113 + DataHandler actualDH = (DataHandler)binaryNode.getDataHandler();
  114 + FileOutputStream imageOutStream = new FileOutputStream(saveFile);
  115 + InputStream is = actualDH.getInputStream();
  116 + int read ;
  117 + byte[] buffer = new byte[1024];
  118 + while ((read = is.read(buffer)) != -1) {
  119 + imageOutStream.write(buffer, 0, read);
  120 + }
  121 + return true;
  122 + } catch (Exception e) {
  123 + e.printStackTrace();
  124 + }return false;
  125 + }
  126 +
  127 + /**
  128 + * 构建webservice接口参数
  129 + * @param userName
  130 + * @param password
  131 + * @return
  132 + */
  133 + private OMElement buildDownloadEnvelope(String userName, String password)
  134 + {
  135 + OMFactory fac = OMAbstractFactory.getOMFactory();
  136 + OMNamespace omNs = fac.createOMNamespace(namespace,
  137 + "ser");
  138 + OMElement data = fac.createOMElement("downloadAllDataFile", omNs);
  139 + OMElement _userName = fac.createOMElement("userName", omNs);
  140 + _userName.setText(userName);
  141 + OMElement _passWord = fac.createOMElement("passWord", omNs);
  142 + _passWord.setText(String.valueOf(password));
  143 +
  144 + data.addChild(_userName);
  145 + data.addChild(_passWord);
  146 +
  147 + OMElement soap = fac.createOMElement("downloadAllDataFile", omNs);
  148 + soap.addChild(data);
  149 + return soap;
  150 + }
  151 +
  152 + /**
  153 + * 读取zip文件的内容
  154 + * @param file
  155 + * @return
  156 + * @throws Exception
  157 + */
  158 + public StringBuffer readZipFile(String file) throws Exception {
  159 + ZipFile zf = new ZipFile(file);
  160 + InputStream in = new BufferedInputStream(new FileInputStream(file));
  161 + ZipInputStream zin = new ZipInputStream(in);
  162 + ZipEntry ze;
  163 + StringBuffer sb = new StringBuffer();
  164 + while ((ze = zin.getNextEntry()) != null) {
  165 + System.out.print(ze);
  166 + if (ze.isDirectory()) {
  167 + } else {
  168 + System.err.println("file - " + ze.getName() + " : "
  169 + + ze.getSize() + " bytes");
  170 + long size = ze.getSize();
  171 + if (size > 0) {
  172 + BufferedReader br = new BufferedReader(
  173 + new InputStreamReader(zf.getInputStream(ze),"GBK"));
  174 + String line;
  175 + boolean addFlag = false;
  176 + while ((line = br.readLine()) != null) {
  177 + if(line.indexOf("BusLineList") != -1){
  178 + addFlag = true;
  179 + }
  180 + if(addFlag){
  181 + sb.append(line);
  182 + }
  183 +
  184 + if(line.indexOf("/BusLineList") != -1){
  185 + break;
  186 + }
  187 + }
  188 + br.close();
  189 + }
  190 + }
  191 + }
  192 + zin.closeEntry();
  193 + return sb;
  194 + }
  195 +
  196 + /**
  197 + * 解析xml
  198 + * @param sb
  199 + */
  200 + private List<HashMap<String,String>> parseXml(StringBuffer sb){
  201 + List<HashMap<String,String>> list = new ArrayList<>();
  202 + HashMap<String,String> map;
  203 + try {
  204 + DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
  205 + DocumentBuilder builder = factory.newDocumentBuilder();
  206 + Document doc = builder.parse(new ByteArrayInputStream(sb.toString().getBytes()));
  207 + NodeList nl = doc.getElementsByTagName("BusLine");
  208 + String lineName; //线路名称
  209 + String lineId; // 线路ID
  210 + String abbreviation ; // 公司名称
  211 + String ddfs ; // 调度方式
  212 + String lineStandardCode; // 上海市线路编码
  213 + String parentUnitName ; // 总公司
  214 + for (int i = 0; i < nl.getLength(); i++) {
  215 + parentUnitName = doc.getElementsByTagName("ParentUnitName").item(i).getFirstChild() == null ?"":
  216 + doc.getElementsByTagName("ParentUnitName").item(i).getFirstChild().getNodeValue();
  217 + if(parentUnitName.indexOf("浦东") != -1){// 只查找浦东的数据
  218 + lineName = doc.getElementsByTagName("LineName").item(i).getFirstChild() == null ?"":
  219 + doc.getElementsByTagName("LineName").item(i).getFirstChild().getNodeValue();
  220 + lineId = doc.getElementsByTagName("LineId").item(i).getFirstChild() == null ?"":
  221 + doc.getElementsByTagName("LineId").item(i).getFirstChild().getNodeValue();
  222 + abbreviation = doc.getElementsByTagName("Abbreviation").item(i).getFirstChild() == null ?"":
  223 + doc.getElementsByTagName("Abbreviation").item(i).getFirstChild().getNodeValue();
  224 + ddfs = doc.getElementsByTagName("DDFS").item(i).getFirstChild() == null ?"":
  225 + doc.getElementsByTagName("DDFS").item(i).getFirstChild().getNodeValue();
  226 + lineStandardCode = doc.getElementsByTagName("LineStandardCode").item(i).getFirstChild() == null ?"":
  227 + doc.getElementsByTagName("LineStandardCode").item(i).getFirstChild().getNodeValue();
  228 + map = new HashMap<>();
  229 + map.put("lineName",lineName);
  230 + map.put("lineId",lineId);
  231 + map.put("abbreviation",abbreviation);
  232 + map.put("ddfs",ddfs);
  233 + map.put("lineStandardCode",lineStandardCode);
  234 + list.add(map);
  235 + }
  236 + }
  237 + }catch (Exception e){
  238 + e.printStackTrace();;
  239 + }
  240 + return list;
  241 + }
  242 +
  243 + /**
  244 + * 批量插入用法
  245 + * @param list
  246 + */
  247 + public boolean insertRecord(List<HashMap<String,String>> list)
  248 + {
  249 + boolean flag = false;
  250 + final List<HashMap<String,String>> tempList=list;
  251 + String sql="INSERT INTO JJWGPS_T_SHSXLFILE(XLID,SHSXLBM,XLMC,GSMC,DDFS,CREATETIME,XLMC_ALL) VALUES (?,?,?,?,?,SYSDATE,?)";
  252 + jdbcTemplate = new JdbcTemplate(DBUtils_oldSystem.getDataSource());
  253 + jdbcTemplate.batchUpdate(sql, new BatchPreparedStatementSetter()
  254 + {
  255 + public void setValues(PreparedStatement ps, int i)throws SQLException
  256 + {
  257 + String lineId =tempList.get(i).get("lineId");
  258 + String lineStandardCode =tempList.get(i).get("lineStandardCode");
  259 + String lineName =tempList.get(i).get("lineName");
  260 + String abbreviation =tempList.get(i).get("abbreviation");
  261 + String ddfs =tempList.get(i).get("ddfs");
  262 + String lineNameAll = lineName;
  263 + if(ddfs.equals("2")){
  264 + lineNameAll = lineName+"区间(走向部分在全程线路之外)";
  265 + }else if(ddfs.equals("7")){
  266 + lineNameAll = lineName+"区间(走向在全程线路之内)";
  267 + }
  268 + ps.setString(1, lineId);
  269 + ps.setString(2, lineStandardCode);
  270 + ps.setString(3, lineName);
  271 + ps.setString(4, abbreviation);
  272 + ps.setString(5, ddfs);
  273 + ps.setString(6, lineNameAll);
  274 + }
  275 + public int getBatchSize()
  276 + {
  277 + return tempList.size();
  278 + }
  279 + });
  280 + flag = true;
  281 + return flag;
  282 + }
  283 +}
src/main/resources/static/pages/forms/statement/scheduleAnaly_sum.html
@@ -41,6 +41,14 @@ @@ -41,6 +41,14 @@
41 <span class="item-label" style="width: 80px;">线路: </span> 41 <span class="item-label" style="width: 80px;">线路: </span>
42 <select class="form-control" name="line" id="line" style="width: 160px;"></select> 42 <select class="form-control" name="line" id="line" style="width: 160px;"></select>
43 </div> 43 </div>
  44 + <div style="display: inline-block;margin-left: 10px;">
  45 + <span class="item-label" style="width: 80px;">班次类型: </span>
  46 + <select class="form-control" name="bcType" id="bcType" style="width: 160px;">
  47 + <option value="0">全部</option>
  48 + <option value="1">全程</option>
  49 + <option value="2">区间</option>
  50 + </select>
  51 + </div>
44 <div style="margin-top: 10px"></div> 52 <div style="margin-top: 10px"></div>
45 <div style="display: inline-block;margin-left: 10px;"> 53 <div style="display: inline-block;margin-left: 10px;">
46 <span class="item-label" style="width: 80px;">开始时间: </span> 54 <span class="item-label" style="width: 80px;">开始时间: </span>
@@ -60,7 +68,7 @@ @@ -60,7 +68,7 @@
60 <!-- <option value="">请选择...</option> --> 68 <!-- <option value="">请选择...</option> -->
61 <!-- </select> --> 69 <!-- </select> -->
62 <!-- </div> --> 70 <!-- </div> -->
63 - <div class="form-group"> 71 + <div class="form-group" style="margin-left: 10px">
64 <input class="btn btn-default" type="button" id="query" value="筛选"/> 72 <input class="btn btn-default" type="button" id="query" value="筛选"/>
65 <input class="btn btn-default" type="button" id="export" value="导出"/> 73 <input class="btn btn-default" type="button" id="export" value="导出"/>
66 </div> 74 </div>
@@ -207,6 +215,7 @@ @@ -207,6 +215,7 @@
207 var startDate = $("#startDate").val(); 215 var startDate = $("#startDate").val();
208 var endDate = $("#endDate").val(); 216 var endDate = $("#endDate").val();
209 var model = $("#model").val(); 217 var model = $("#model").val();
  218 + var bcType = "0";
210 var nbbm = ""; 219 var nbbm = "";
211 var company = $("#company").val(); 220 var company = $("#company").val();
212 var subCompany = $("#subCompany").val(); 221 var subCompany = $("#subCompany").val();
@@ -224,6 +233,7 @@ @@ -224,6 +233,7 @@
224 startDate = $("#startDate").val(); 233 startDate = $("#startDate").val();
225 endDate = $("#endDate").val(); 234 endDate = $("#endDate").val();
226 // model = $("#model").val(); 235 // model = $("#model").val();
  236 + bcType = $("#bcType").val();
227 nbbm = $("#nbbm").val()!=null?$("#nbbm").val():""; 237 nbbm = $("#nbbm").val()!=null?$("#nbbm").val():"";
228 company = $("#company").val(); 238 company = $("#company").val();
229 subCompany = $("#subCompany").val(); 239 subCompany = $("#subCompany").val();
@@ -231,6 +241,7 @@ @@ -231,6 +241,7 @@
231 params['line'] = line; 241 params['line'] = line;
232 params['startDate'] = startDate; 242 params['startDate'] = startDate;
233 params['endDate'] = endDate; 243 params['endDate'] = endDate;
  244 + params['bcType'] = bcType;
234 // params['model'] = model; 245 // params['model'] = model;
235 params['company'] = company; 246 params['company'] = company;
236 params['subCompany'] = subCompany; 247 params['subCompany'] = subCompany;
@@ -265,6 +276,7 @@ @@ -265,6 +276,7 @@
265 params['line'] = line; 276 params['line'] = line;
266 params['startDate'] = startDate; 277 params['startDate'] = startDate;
267 params['endDate'] = endDate; 278 params['endDate'] = endDate;
  279 + params['bcType'] = bcType;
268 // params['model'] = model; 280 // params['model'] = model;
269 params['company'] = company; 281 params['company'] = company;
270 params['subCompany'] = subCompany; 282 params['subCompany'] = subCompany;
src/main/resources/static/pages/report/timetable/timetable.html
@@ -165,19 +165,21 @@ @@ -165,19 +165,21 @@
165 <div class="col-md-6" > 165 <div class="col-md-6" >
166 <table class="table table-bordered table-checkable" id="formsTime5"> 166 <table class="table table-bordered table-checkable" id="formsTime5">
167 <tr> 167 <tr>
168 - <td colspan="7">全日分组行驶时间(区间除外)</td> 168 + <td colspan="8">全日分组行驶时间(区间除外)</td>
169 </tr> 169 </tr>
170 <tr> 170 <tr>
171 <td width="20%" rowspan="2" style="text-align:center;vertical-align:middle;">分组 时间</td> 171 <td width="20%" rowspan="2" style="text-align:center;vertical-align:middle;">分组 时间</td>
172 - <td width="23%" colspan="2" style="text-align:center;vertical-align:middle;">计划行驶(分)</td>  
173 - <td width="15%" rowspan="2" style="text-align:center;vertical-align:middle;">分圈时间</td>  
174 - <td width="15%" rowspan="2" style="text-align:center;vertical-align:middle;">停驶时间</td>  
175 - <td width="15%" rowspan="2" style="text-align:center;vertical-align:middle;">车距区间</td>  
176 - <td width="12%" rowspan="2" style="text-align:center;vertical-align:middle;">平均车距</td> 172 + <td width="19%" colspan="2" style="text-align:center;vertical-align:middle;">计划行驶(分)</td>
  173 + <td width="19%" colspan="2" style="text-align:center;vertical-align:middle;">停站时间</td>
  174 + <td width="14%" rowspan="2" style="text-align:center;vertical-align:middle;">周转时间</td>
  175 + <td width="14%" rowspan="2" style="text-align:center;vertical-align:middle;">车距区间</td>
  176 + <td width="14%" rowspan="2" style="text-align:center;vertical-align:middle;">平均车距</td>
177 </tr> 177 </tr>
178 <tr> 178 <tr>
179 <td>上行</td> 179 <td>上行</td>
180 <td style="text-align:center;">下行</td> 180 <td style="text-align:center;">下行</td>
  181 + <td>上行</td>
  182 + <td style="text-align:center;">下行</td>
181 </tr> 183 </tr>
182 <tbody class="tbody_time_5"> 184 <tbody class="tbody_time_5">
183 185
@@ -405,15 +407,16 @@ @@ -405,15 +407,16 @@
405 <td align="center">{{result.sjd}}</td> 407 <td align="center">{{result.sjd}}</td>
406 <td align="center">{{result.sxsj}}</td> 408 <td align="center">{{result.sxsj}}</td>
407 <td align="center">{{result.xxsj}}</td> 409 <td align="center">{{result.xxsj}}</td>
  410 + <td align="center">{{result.sxtssj}}</td>
  411 + <td align="center">{{result.xxtssj}}</td>
408 <td align="center">{{result.fqsj}}</td> 412 <td align="center">{{result.fqsj}}</td>
409 - <td align="center">{{result.tssj}}</td>  
410 <td align="center">{{result.cjqj}}</td> 413 <td align="center">{{result.cjqj}}</td>
411 <td align="center">{{result.pjcj}}</td> 414 <td align="center">{{result.pjcj}}</td>
412 </tr> 415 </tr>
413 {{/each}} 416 {{/each}}
414 {{if list.length == 0}} 417 {{if list.length == 0}}
415 <tr> 418 <tr>
416 - <td colspan="7"><h6 class="muted">没有找到相关数据</h6></td> 419 + <td colspan="8"><h6 class="muted">没有找到相关数据</h6></td>
417 </tr> 420 </tr>
418 {{/if}} 421 {{/if}}
419 </script> 422 </script>