Commit d17111233379484c9d4b0b73378c765f54ab4a05
Merge branch 'minhang' of
http://222.66.0.204:8090/panzhaov5/bsth_control into minhang
Showing
8 changed files
with
366 additions
and
31 deletions
src/main/java/com/bsth/data/schedule/thread/SubmitToTrafficManage.java
| 1 | 1 | package com.bsth.data.schedule.thread; |
| 2 | 2 | |
| 3 | 3 | import com.bsth.service.TrafficManageService; |
| 4 | +import com.bsth.service.traffic.YgcBasicDataService; | |
| 4 | 5 | import org.slf4j.Logger; |
| 5 | 6 | import org.slf4j.LoggerFactory; |
| 6 | 7 | import org.springframework.beans.factory.annotation.Autowired; |
| ... | ... | @@ -18,6 +19,9 @@ public class SubmitToTrafficManage extends Thread{ |
| 18 | 19 | @Autowired |
| 19 | 20 | TrafficManageService trafficManageService; |
| 20 | 21 | |
| 22 | + @Autowired | |
| 23 | + YgcBasicDataService ygcBasicDataService; | |
| 24 | + | |
| 21 | 25 | @Override |
| 22 | 26 | public void run() { |
| 23 | 27 | logger.info("开始提交数据到运管处..."); |
| ... | ... | @@ -46,6 +50,12 @@ public class SubmitToTrafficManage extends Thread{ |
| 46 | 50 | } catch (Exception e) { |
| 47 | 51 | logger.error("提交线路计划班次表到运管处失败", e); |
| 48 | 52 | } |
| 53 | + try { | |
| 54 | + // 运管处基础数据更新 | |
| 55 | + ygcBasicDataService.updateYgcBasicData(); | |
| 56 | + } catch (Exception e) { | |
| 57 | + logger.error("运管处基础数据更新失败", e); | |
| 58 | + } | |
| 49 | 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 | 977 | |
| 978 | 978 | List<ScheduleRealInfo> list = scheduleRealInfoRepository.scheduleByDateAndLineTj(line, startDate, endDate, company, subCompany); |
| 979 | 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 | 985 | if(line.trim().length() != 0){ |
| 984 | 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 | 720 | Map<String, Object> tempMap = new HashMap<String, Object>(); |
| 721 | 721 | List<Map<String, Object>> list2 = keyMap.get(key); |
| 722 | 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 | 726 | boolean ists = false; |
| 727 | 727 | for(Map<String, Object> m : list2){ |
| 728 | 728 | String[] split = m.get("fcsj").toString().split(":"); |
| 729 | 729 | int fcsj = Integer.valueOf(split[0])*60 + Integer.valueOf(split[1]); |
| 730 | 730 | int xlDir = Integer.valueOf(m.get("dir").toString()); |
| 731 | 731 | int bcsj = Integer.valueOf(m.get("bcsj").toString()); |
| 732 | + if(temp >= fcsj){ | |
| 733 | + temp = fcsj; | |
| 734 | + ists = false; | |
| 735 | + } | |
| 732 | 736 | if(xlDir == 0){ |
| 733 | 737 | sxsj += bcsj; |
| 734 | 738 | sxbc ++; |
| 739 | + if(ists){ | |
| 740 | + sxtssj += fcsj - temp; | |
| 741 | + sxtsbc++; | |
| 742 | + } | |
| 735 | 743 | } else { |
| 736 | 744 | xxsj += bcsj; |
| 737 | 745 | xxbc ++; |
| 738 | - } | |
| 739 | - if(temp >= fcsj){ | |
| 740 | - temp = fcsj; | |
| 741 | - ists = false; | |
| 742 | - } else { | |
| 743 | 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 | 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 | 759 | Collections.sort(cjs); |
| ... | ... | @@ -757,12 +761,14 @@ public class ReportServiceImpl implements ReportService{ |
| 757 | 761 | zcj += i; |
| 758 | 762 | } |
| 759 | 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 | 770 | tempMap.put("cjqj", cjs.size()>0?cjs.get(0)+"——"+cjs.get(cjs.size()-1):"——"); |
| 764 | 771 | tempMap.put("pjcj", cjs.size()>0?zcj/cjs.size():"/"); |
| 765 | - tempMap.put("tssj", tssj); | |
| 766 | 772 | maps.put(key, tempMap); |
| 767 | 773 | } |
| 768 | 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 | 803 | String line = map.get("line").toString(); |
| 804 | 804 | String startDate = map.get("startDate").toString(); |
| 805 | 805 | String endDate = map.get("endDate").toString(); |
| 806 | + String bcType = map.get("bcType").toString(); | |
| 806 | 807 | String nbbm = map.get("nbbm").toString(); |
| 807 | 808 | String type = map.get("type").toString(); |
| 808 | 809 | |
| ... | ... | @@ -829,6 +830,11 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { |
| 829 | 830 | sql += " and gs_bm like '%"+company+"%' and fgs_bm like '%"+subCompany+"%'"; |
| 830 | 831 | // } |
| 831 | 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 | 839 | list = jdbcTemplate.query(sql, |
| 834 | 840 | new RowMapper<ScheduleRealInfo>(){ | ... | ... |
src/main/java/com/bsth/service/traffic/YgcBasicDataService.java
0 → 100644
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 | 41 | <span class="item-label" style="width: 80px;">线路: </span> |
| 42 | 42 | <select class="form-control" name="line" id="line" style="width: 160px;"></select> |
| 43 | 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 | 52 | <div style="margin-top: 10px"></div> |
| 45 | 53 | <div style="display: inline-block;margin-left: 10px;"> |
| 46 | 54 | <span class="item-label" style="width: 80px;">开始时间: </span> |
| ... | ... | @@ -60,7 +68,7 @@ |
| 60 | 68 | <!-- <option value="">请选择...</option> --> |
| 61 | 69 | <!-- </select> --> |
| 62 | 70 | <!-- </div> --> |
| 63 | - <div class="form-group"> | |
| 71 | + <div class="form-group" style="margin-left: 10px"> | |
| 64 | 72 | <input class="btn btn-default" type="button" id="query" value="筛选"/> |
| 65 | 73 | <input class="btn btn-default" type="button" id="export" value="导出"/> |
| 66 | 74 | </div> |
| ... | ... | @@ -207,6 +215,7 @@ |
| 207 | 215 | var startDate = $("#startDate").val(); |
| 208 | 216 | var endDate = $("#endDate").val(); |
| 209 | 217 | var model = $("#model").val(); |
| 218 | + var bcType = "0"; | |
| 210 | 219 | var nbbm = ""; |
| 211 | 220 | var company = $("#company").val(); |
| 212 | 221 | var subCompany = $("#subCompany").val(); |
| ... | ... | @@ -224,6 +233,7 @@ |
| 224 | 233 | startDate = $("#startDate").val(); |
| 225 | 234 | endDate = $("#endDate").val(); |
| 226 | 235 | // model = $("#model").val(); |
| 236 | + bcType = $("#bcType").val(); | |
| 227 | 237 | nbbm = $("#nbbm").val()!=null?$("#nbbm").val():""; |
| 228 | 238 | company = $("#company").val(); |
| 229 | 239 | subCompany = $("#subCompany").val(); |
| ... | ... | @@ -231,6 +241,7 @@ |
| 231 | 241 | params['line'] = line; |
| 232 | 242 | params['startDate'] = startDate; |
| 233 | 243 | params['endDate'] = endDate; |
| 244 | + params['bcType'] = bcType; | |
| 234 | 245 | // params['model'] = model; |
| 235 | 246 | params['company'] = company; |
| 236 | 247 | params['subCompany'] = subCompany; |
| ... | ... | @@ -265,6 +276,7 @@ |
| 265 | 276 | params['line'] = line; |
| 266 | 277 | params['startDate'] = startDate; |
| 267 | 278 | params['endDate'] = endDate; |
| 279 | + params['bcType'] = bcType; | |
| 268 | 280 | // params['model'] = model; |
| 269 | 281 | params['company'] = company; |
| 270 | 282 | params['subCompany'] = subCompany; | ... | ... |
src/main/resources/static/pages/report/timetable/timetable.html
| ... | ... | @@ -165,19 +165,21 @@ |
| 165 | 165 | <div class="col-md-6" > |
| 166 | 166 | <table class="table table-bordered table-checkable" id="formsTime5"> |
| 167 | 167 | <tr> |
| 168 | - <td colspan="7">全日分组行驶时间(区间除外)</td> | |
| 168 | + <td colspan="8">全日分组行驶时间(区间除外)</td> | |
| 169 | 169 | </tr> |
| 170 | 170 | <tr> |
| 171 | 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 | 177 | </tr> |
| 178 | 178 | <tr> |
| 179 | 179 | <td>上行</td> |
| 180 | 180 | <td style="text-align:center;">下行</td> |
| 181 | + <td>上行</td> | |
| 182 | + <td style="text-align:center;">下行</td> | |
| 181 | 183 | </tr> |
| 182 | 184 | <tbody class="tbody_time_5"> |
| 183 | 185 | |
| ... | ... | @@ -405,15 +407,16 @@ |
| 405 | 407 | <td align="center">{{result.sjd}}</td> |
| 406 | 408 | <td align="center">{{result.sxsj}}</td> |
| 407 | 409 | <td align="center">{{result.xxsj}}</td> |
| 410 | + <td align="center">{{result.sxtssj}}</td> | |
| 411 | + <td align="center">{{result.xxtssj}}</td> | |
| 408 | 412 | <td align="center">{{result.fqsj}}</td> |
| 409 | - <td align="center">{{result.tssj}}</td> | |
| 410 | 413 | <td align="center">{{result.cjqj}}</td> |
| 411 | 414 | <td align="center">{{result.pjcj}}</td> |
| 412 | 415 | </tr> |
| 413 | 416 | {{/each}} |
| 414 | 417 | {{if list.length == 0}} |
| 415 | 418 | <tr> |
| 416 | - <td colspan="7"><h6 class="muted">没有找到相关数据</h6></td> | |
| 419 | + <td colspan="8"><h6 class="muted">没有找到相关数据</h6></td> | |
| 417 | 420 | </tr> |
| 418 | 421 | {{/if}} |
| 419 | 422 | </script> | ... | ... |