Commit 1de6f89b48070ea8699eabbf0074e07ae8bc763c

Authored by 徐烜
2 parents 05e6889a c2efac08

Merge branch 'minhang' of http://222.66.0.204:8090//panzhaov5/bsth_control into minhang

src/main/java/com/bsth/repository/StationRepository.java
@@ -40,10 +40,17 @@ public interface StationRepository extends BaseRepository<Station, Integer> { @@ -40,10 +40,17 @@ public interface StationRepository extends BaseRepository<Station, Integer> {
40 /*@Query(value = "SELECT s.b_jwpoints,s.id FROM bsth_c_station s where s.station_name like ?1" 40 /*@Query(value = "SELECT s.b_jwpoints,s.id FROM bsth_c_station s where s.station_name like ?1"
41 , nativeQuery=true) 41 , nativeQuery=true)
42 List<Object[]> findStationName(String stationName);*/ 42 List<Object[]> findStationName(String stationName);*/
43 - @Query(value = " SELECT t.b_jwpoints,t.id FROM (" + 43 + /*@Query(value = " SELECT t.b_jwpoints,t.id FROM (" +
44 " SELECT b.id,b.b_jwpoints,b.station_name,a.directions FROM (" + 44 " SELECT b.id,b.b_jwpoints,b.station_name,a.directions FROM (" +
45 " SELECT s.station,s.station_name,s.directions FROM bsth_c_stationroute s where s.destroy = 0 and s.directions = ?1) a " + 45 " SELECT s.station,s.station_name,s.directions FROM bsth_c_stationroute s where s.destroy = 0 and s.directions = ?1) a " +
46 " LEFT JOIN bsth_c_station b on a.station = b. id) t where t.station_name LIKE ?2" 46 " LEFT JOIN bsth_c_station b on a.station = b. id) t where t.station_name LIKE ?2"
  47 + , nativeQuery=true)*/
  48 + @Query(value = " SELECT t.b_jwpoints,t.id FROM (" +
  49 + " SELECT b.id,b.b_jwpoints,b.station_name,a.directions FROM (" +
  50 + " SELECT s.station,s.station_name,s.directions FROM bsth_c_stationroute s where s.destroy = 0 and s.directions = ?1) a " +
  51 + " LEFT JOIN " +
  52 + " (SELECT r.id,r.b_jwpoints,r.station_name from bsth_c_station r where r.destroy = 0 and r.station_name LIKE ?2 ) " +
  53 + " b on a.station = b. id) t where t.station_name LIKE ?2 "
47 , nativeQuery=true) 54 , nativeQuery=true)
48 List<Object[]> findStationName(Integer dir , String stationName); 55 List<Object[]> findStationName(Integer dir , String stationName);
49 56
@@ -101,18 +108,24 @@ public interface StationRepository extends BaseRepository&lt;Station, Integer&gt; { @@ -101,18 +108,24 @@ public interface StationRepository extends BaseRepository&lt;Station, Integer&gt; {
101 "y = ?9 , " + 108 "y = ?9 , " +
102 "b_polygon_grid = ST_GeomFromText(?10) , " + 109 "b_polygon_grid = ST_GeomFromText(?10) , " +
103 "g_polygon_grid = ST_GeomFromText(?11) , " + 110 "g_polygon_grid = ST_GeomFromText(?11) , " +
104 - "destroy = ?12 , " +  
105 - "radius = ?13 , " +  
106 - "shapes_type = ?14 , " +  
107 - "versions = ?15 , " +  
108 - "descriptions = ?16 " +  
109 - " WHERE id = ?17 ", nativeQuery=true) 111 + /*"destroy = ?12 , " +*/
  112 + "radius = ?12 , " +
  113 + "shapes_type = ?13 , " +
  114 + "versions = ?14 , " +
  115 + "descriptions = ?15 " +
  116 + " WHERE id = ?16 ", nativeQuery=true)
110 public void stationUpdate(String stationCod,String stationName,String roadCoding,String dbType,String bJwpoints, 117 public void stationUpdate(String stationCod,String stationName,String roadCoding,String dbType,String bJwpoints,
  118 +
  119 + Float gLonx,Float gLaty,Float x,Float y, String bPolygonGrid,String gPolygonGrid,
  120 +
  121 + Integer radius,String shapesType, Integer versions,String descriptions,Integer stationId);
  122 +
  123 + /*public void stationUpdate(String stationCod,String stationName,String roadCoding,String dbType,String bJwpoints,
111 124
112 Float gLonx,Float gLaty,Float x,Float y, String bPolygonGrid,String gPolygonGrid, 125 Float gLonx,Float gLaty,Float x,Float y, String bPolygonGrid,String gPolygonGrid,
113 126
114 Integer destroy, Integer radius,String shapesType, Integer versions,String descriptions,Integer stationId); 127 Integer destroy, Integer radius,String shapesType, Integer versions,String descriptions,Integer stationId);
115 - 128 + */
116 129
117 @Query(value = "select st_astext(g_polygon_grid) as g_polygon_grid, shapes_type,concat(g_lonx, ' ', g_laty) as g_center_point ,radius, station_cod,station_name from bsth_c_station where station_cod=?1", nativeQuery = true) 130 @Query(value = "select st_astext(g_polygon_grid) as g_polygon_grid, shapes_type,concat(g_lonx, ' ', g_laty) as g_center_point ,radius, station_cod,station_name from bsth_c_station where station_cod=?1", nativeQuery = true)
118 public Object[][] bufferAera(String stationCode); 131 public Object[][] bufferAera(String stationCode);
src/main/java/com/bsth/service/directive/DirectiveServiceImpl.java
@@ -331,17 +331,18 @@ public class DirectiveServiceImpl extends BaseServiceImpl&lt;D60, Integer&gt; implemen @@ -331,17 +331,18 @@ public class DirectiveServiceImpl extends BaseServiceImpl&lt;D60, Integer&gt; implemen
331 rs.put("msg", "发送C0响应指令到车载设备失败,但该操作已经被系统记录!"); 331 rs.put("msg", "发送C0响应指令到车载设备失败,但该操作已经被系统记录!");
332 332
333 pilotReport.reply(d80); 333 pilotReport.reply(d80);
  334 +
  335 + // 通知页面
  336 + Map<String, Object> sockMap = new HashMap<>();
  337 + sockMap.put("fn", "d80Confirm");
  338 + sockMap.put("id", d80.getId());
  339 + sockMap.put("lineId", d80.getData().getLineId());
  340 + socketHandler.sendMessageToLine(d80.getData().getLineId().toString(), JSON.toJSONString(sockMap));
334 } 341 }
335 } catch (Exception e) { 342 } catch (Exception e) {
336 logger.error("80响应出现异常...", e); 343 logger.error("80响应出现异常...", e);
337 rs.put("status", ResponseCode.SUCCESS); 344 rs.put("status", ResponseCode.SUCCESS);
338 } 345 }
339 - // 通知页面  
340 - Map<String, Object> sockMap = new HashMap<>();  
341 - sockMap.put("fn", "d80Confirm");  
342 - sockMap.put("id", d80.getId());  
343 - sockMap.put("lineId", d80.getData().getLineId());  
344 - socketHandler.sendMessageToLine(d80.getData().getLineId().toString(), JSON.toJSONString(sockMap));  
345 346
346 return rs; 347 return rs;
347 } 348 }
src/main/java/com/bsth/service/impl/StationServiceImpl.java
@@ -930,7 +930,8 @@ public class StationServiceImpl extends BaseServiceImpl&lt;Station, Integer&gt; implem @@ -930,7 +930,8 @@ public class StationServiceImpl extends BaseServiceImpl&lt;Station, Integer&gt; implem
930 Float x = map.get("x").equals("") ? null : Float.parseFloat(map.get("x").toString()); 930 Float x = map.get("x").equals("") ? null : Float.parseFloat(map.get("x").toString());
931 Float y = map.get("y").equals("") ? null : Float.parseFloat(map.get("y").toString()); 931 Float y = map.get("y").equals("") ? null : Float.parseFloat(map.get("y").toString());
932 // 更新 932 // 更新
933 - repository.stationUpdate(stationCod, zdmc, roadCoding, dbType, bJwpoints, gLonx, gLaty, x, y, bPloygonGrid, gPloygonGrid, destroy, radius, shapesType, versions, descriptions, stationId); 933 + /*repository.stationUpdate(stationCod, zdmc, roadCoding, dbType, bJwpoints, gLonx, gLaty, x, y, bPloygonGrid, gPloygonGrid, destroy, radius, shapesType, versions, descriptions, stationId);*/
  934 + repository.stationUpdate(stationCod, zdmc, roadCoding, dbType, bJwpoints, gLonx, gLaty, x, y, bPloygonGrid, gPloygonGrid, radius, shapesType, versions, descriptions, stationId);
934 // 站点路由Id 935 // 站点路由Id
935 Integer stationRouteId = map.get("stationRouteId").equals("") ? null : Integer.parseInt(map.get("stationRouteId").toString()); 936 Integer stationRouteId = map.get("stationRouteId").equals("") ? null : Integer.parseInt(map.get("stationRouteId").toString());
936 StationRoute resultS = routeRepository.findOne(stationRouteId); 937 StationRoute resultS = routeRepository.findOne(stationRouteId);
src/main/java/com/bsth/service/realcontrol/impl/ScheduleRealInfoServiceImpl.java
@@ -3714,7 +3714,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -3714,7 +3714,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
3714 List<ScheduleRealInfo> list3 = this.realScheduleList(line, date); 3714 List<ScheduleRealInfo> list3 = this.realScheduleList(line, date);
3715 3715
3716 Map<String, Object> nMap=new HashMap<String, Object>(); 3716 Map<String, Object> nMap=new HashMap<String, Object>();
3717 - nMap.put("date", date); 3717 + nMap.put("date", xlName+date);
3718 nMap.put("jls", list1.get(0).get("jls")); 3718 nMap.put("jls", list1.get(0).get("jls"));
3719 nMap.put("sjgl", list1.get(0).get("sjgl")); 3719 nMap.put("sjgl", list1.get(0).get("sjgl"));
3720 for (Map<String, Object> m : list1) { 3720 for (Map<String, Object> m : list1) {
src/main/resources/static/pages/base/line/add.html
@@ -228,7 +228,14 @@ @@ -228,7 +228,14 @@
228 </div> 228 </div>
229 </div> 229 </div>
230 <!-- 是否营运 END --> 230 <!-- 是否营运 END -->
231 - 231 + <!-- 权证车辆数 START -->
  232 + <div class="col-md-6">
  233 + <label class="control-label col-md-5"> 权证车辆数&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: </label>
  234 + <div class="col-md-4">
  235 + <input type="text" class="form-control" name="warrantCar" id="warrantCarInput" placeholder="权证车辆数">
  236 + </div>
  237 + </div>
  238 + <!-- 权证车辆数 END -->
232 239
233 </div> 240 </div>
234 <!-- 表单分组组件 form-group END --> 241 <!-- 表单分组组件 form-group END -->
src/main/resources/static/pages/base/line/details.html
@@ -220,7 +220,14 @@ @@ -220,7 +220,14 @@
220 </div> 220 </div>
221 </div> 221 </div>
222 <!-- 是否营运 END --> 222 <!-- 是否营运 END -->
223 - 223 + <!-- 权证车辆数 START -->
  224 + <div class="col-md-6">
  225 + <label class="control-label col-md-5"> 权证车辆数&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: </label>
  226 + <div class="col-md-4">
  227 + <input type="text" class="form-control" name="warrantCar" id="warrantCarInput" placeholder="权证车辆数">
  228 + </div>
  229 + </div>
  230 + <!-- 权证车辆数 END -->
224 231
225 </div> 232 </div>
226 <!-- 表单分组组件 form-group END --> 233 <!-- 表单分组组件 form-group END -->
src/main/resources/static/pages/base/line/edit.html
@@ -43,7 +43,7 @@ @@ -43,7 +43,7 @@
43 <!-- 表单内容 START --> 43 <!-- 表单内容 START -->
44 <div class="form-body"> 44 <div class="form-body">
45 <input type="hidden" name="id" id="lineId"> 45 <input type="hidden" name="id" id="lineId">
46 - 46 + <input type="hidden" name="inUse" id="inUse">
47 <!-- 表单分组组件 form-group START --> 47 <!-- 表单分组组件 form-group START -->
48 <div class="form-group"> 48 <div class="form-group">
49 <!-- 线路编码 (* 必填项) START --> 49 <!-- 线路编码 (* 必填项) START -->
@@ -229,7 +229,14 @@ @@ -229,7 +229,14 @@
229 </div> 229 </div>
230 <!-- 是否营运 END --> 230 <!-- 是否营运 END -->
231 231
232 - 232 + <!-- 权证车辆数 START -->
  233 + <div class="col-md-6">
  234 + <label class="control-label col-md-5"> 权证车辆数&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: </label>
  235 + <div class="col-md-4">
  236 + <input type="text" class="form-control" name="warrantCar" id="warrantCarInput" placeholder="权证车辆数">
  237 + </div>
  238 + </div>
  239 + <!-- 权证车辆数 END -->
233 </div> 240 </div>
234 <!-- 表单分组组件 form-group END --> 241 <!-- 表单分组组件 form-group END -->
235 <!-- 表单分组组件 form-group START --> 242 <!-- 表单分组组件 form-group START -->
src/main/resources/static/pages/base/line/js/line-add-form.js
@@ -116,6 +116,7 @@ $(function(){ @@ -116,6 +116,7 @@ $(function(){
116 'carSumNumber' : {number : true,digits : true,maxlength: 8},// 车辆总数 必须输入合法的数字(负数,小数)。必须输入整数。最大长度. 116 'carSumNumber' : {number : true,digits : true,maxlength: 8},// 车辆总数 必须输入合法的数字(负数,小数)。必须输入整数。最大长度.
117 'hvacCarNumber' : {number : true,digits : true,maxlength: 8},// 空调车辆数 必须输入合法的数字(负数,小数)。 必须输入整数。 最大长度. 117 'hvacCarNumber' : {number : true,digits : true,maxlength: 8},// 空调车辆数 必须输入合法的数字(负数,小数)。 必须输入整数。 最大长度.
118 'ordCarNumber' : {number : true,digits : true,maxlength: 8},// 普通车辆数 必须输入合法的数字(负数,小数)。 必须输入整数。最大长度. 118 'ordCarNumber' : {number : true,digits : true,maxlength: 8},// 普通车辆数 必须输入合法的数字(负数,小数)。 必须输入整数。最大长度.
  119 + 'warrantCar' : {number : true,digits : true,maxlength: 8},
119 'history' : {maxlength: 200},// 线路沿革 输入长度最多是 200 的字符串(汉字算一个字符)。 120 'history' : {maxlength: 200},// 线路沿革 输入长度最多是 200 的字符串(汉字算一个字符)。
120 'descriptions' : {maxlength: 200}// 描述/说明 输入长度最多是 200 的字符串(汉字算一个字符)。 121 'descriptions' : {maxlength: 200}// 描述/说明 输入长度最多是 200 的字符串(汉字算一个字符)。
121 }, 122 },
src/main/resources/static/pages/base/line/js/line-edit-form.js
@@ -171,6 +171,7 @@ @@ -171,6 +171,7 @@
171 'carSumNumber' : {number : true,digits : true,maxlength: 8},// 车辆总数 必须输入合法的数字(负数,小数)。必须输入整数。最大长度. 171 'carSumNumber' : {number : true,digits : true,maxlength: 8},// 车辆总数 必须输入合法的数字(负数,小数)。必须输入整数。最大长度.
172 'hvacCarNumber' : {number : true,digits : true,maxlength: 8},// 空调车辆数 必须输入合法的数字(负数,小数)。 必须输入整数。 最大长度. 172 'hvacCarNumber' : {number : true,digits : true,maxlength: 8},// 空调车辆数 必须输入合法的数字(负数,小数)。 必须输入整数。 最大长度.
173 'ordCarNumber' : {number : true,digits : true,maxlength: 8},// 普通车辆数 必须输入合法的数字(负数,小数)。 必须输入整数。最大长度. 173 'ordCarNumber' : {number : true,digits : true,maxlength: 8},// 普通车辆数 必须输入合法的数字(负数,小数)。 必须输入整数。最大长度.
  174 + 'warrantCar' : {number : true,digits : true,maxlength: 8},
174 'history' : {maxlength: 200},// 线路沿革 输入长度最多是 200 的字符串(汉字算一个字符)。 175 'history' : {maxlength: 200},// 线路沿革 输入长度最多是 200 的字符串(汉字算一个字符)。
175 'descriptions' : {maxlength: 200}// 描述/说明 输入长度最多是 200 的字符串(汉字算一个字符)。 176 'descriptions' : {maxlength: 200}// 描述/说明 输入长度最多是 200 的字符串(汉字算一个字符)。
176 }, 177 },
src/main/resources/static/pages/base/timesmodel/js/base-fun.js
@@ -459,8 +459,8 @@ var BaseFun = function() { @@ -459,8 +459,8 @@ var BaseFun = function() {
459 var markAfterGs = baseF.getSumWorkTime(tList , dataMap, saa); 459 var markAfterGs = baseF.getSumWorkTime(tList , dataMap, saa);
460 var gsDx = parseFloat((markAfterGs - bzgs).toFixed(2)); 460 var gsDx = parseFloat((markAfterGs - bzgs).toFixed(2));
461 lpbc.sort(function(m,n){return m.fcno-n.fcno}); 461 lpbc.sort(function(m,n){return m.fcno-n.fcno});
462 - if(isOff) {  
463 - if(gsDx > 1.5) { 462 + if(gsDx > 1.5) {
  463 + if(isOff) {
464 var hoursDx = parseFloat((gsDx - 1.5).toFixed(2)); 464 var hoursDx = parseFloat((gsDx - 1.5).toFixed(2));
465 // console.log(gsDx , hoursDx ,Math.ceil(hoursDx*60)); 465 // console.log(gsDx , hoursDx ,Math.ceil(hoursDx*60));
466 var minueDx = Math.ceil(hoursDx*60); 466 var minueDx = Math.ceil(hoursDx*60);
@@ -471,14 +471,15 @@ var BaseFun = function() { @@ -471,14 +471,15 @@ var BaseFun = function() {
471 lpbc.splice( (s+1) , bs*2); 471 lpbc.splice( (s+1) , bs*2);
472 }else { 472 }else {
473 lpbc.splice( s , bs*2); 473 lpbc.splice( s , bs*2);
  474 + lpbc[s-bs*2 +1].isfb = 1;
  475 + lpbc[s-bs*2 +1].STOPTIME = 0;
474 } 476 }
475 break; 477 break;
476 } 478 }
477 } 479 }
  480 + }else {
478 481
479 } 482 }
480 - }else {  
481 -  
482 } 483 }
483 }, 484 },
484 485
@@ -762,7 +763,11 @@ var BaseFun = function() { @@ -762,7 +763,11 @@ var BaseFun = function() {
762 * 相同班型下的日平均工时满足 参数的日平均工时 范围在 [10分钟]内浮动. 763 * 相同班型下的日平均工时满足 参数的日平均工时 范围在 [10分钟]内浮动.
763 * 764 *
764 * 765 *
765 - * 第七步 确定吃饭时间. 766 + * 第七步 确定吃饭时间(吃时间初步定位20分钟). 一般情况下
  767 + *
  768 + * 早餐 :10:15以后到12:30之间用餐的12:30是指用餐结束时间哦.
  769 + *
  770 + * 午餐 :一般在18:00以后在19:00以前.
766 * 771 *
767 * 第八步 确定进出场、早晚例保时间. 772 * 第八步 确定进出场、早晚例保时间.
768 * 773 *
@@ -771,19 +776,19 @@ var BaseFun = function() { @@ -771,19 +776,19 @@ var BaseFun = function() {
771 BXPplaceClassesTime02 : function(saa , cara , map , seMap , dataMap) { 776 BXPplaceClassesTime02 : function(saa , cara , map , seMap , dataMap) {
772 777
773 // 第一步 根据表单中的参数得到所有路牌下的班次数[从各路牌下的第一个班次发车时间 到 营运结束时间点并且是连续的班次数]. 778 // 第一步 根据表单中的参数得到所有路牌下的班次数[从各路牌下的第一个班次发车时间 到 营运结束时间点并且是连续的班次数].
774 - var jsonArray = baseF.GetByArgusInitAllLpDownedBcCollections(saa , cara , map , seMap , dataMap); 779 + var allLMapBc = baseF.GetByArgusInitAllLpDownedBcCollections(saa , cara , map , seMap , dataMap);
  780 +
  781 + // return {'json':jsonArray,'bxrcgs':null};
775 782
776 // 第二步 纵向调整 783 // 第二步 纵向调整
777 - baseF.evenStartDepartSpace(jsonArray , dataMap); 784 + baseF.evenStartDepartSpace(allLMapBc , dataMap);
778 785
779 // 第三步 剔除首末班车以外的班次,并确认首末班车. 786 // 第三步 剔除首末班车以外的班次,并确认首末班车.
780 - var markArray = baseF.markFirstAndLastBusAlsoDietNotInRangeBc(jsonArray , dataMap); 787 + var markArray = baseF.markFirstAndLastBusAlsoDietNotInRangeBc(allLMapBc , dataMap);
781 788
782 // 第四步 横向调整 789 // 第四步 横向调整
783 baseF.resizeByPitStopTime(cara , markArray , dataMap); 790 baseF.resizeByPitStopTime(cara , markArray , dataMap);
784 791
785 - // return {'json':markArray,'bxrcgs':null};  
786 -  
787 /** 792 /**
788 * 第五步 把班型合理的分配到各个路牌上. 793 * 第五步 把班型合理的分配到各个路牌上.
789 * 794 *
@@ -793,11 +798,140 @@ var BaseFun = function() { @@ -793,11 +798,140 @@ var BaseFun = function() {
793 */ 798 */
794 // 切割班型/人次/配车数 字符串 为 数组对象. 799 // 切割班型/人次/配车数 字符串 为 数组对象.
795 var list = baseF.getBxRcListCollection(map.bxrc); 800 var list = baseF.getBxRcListCollection(map.bxrc);
  801 +
796 // 把班型分配到对应的具体路牌上. 802 // 把班型分配到对应的具体路牌上.
797 baseF.bxAlloTotLp(list,cara); 803 baseF.bxAlloTotLp(list,cara);
  804 +
798 // 第六步 抽车来满足工时. 805 // 第六步 抽车来满足工时.
799 var tempA = baseF.abstractCar(list , markArray , cara , saa , dataMap , map); 806 var tempA = baseF.abstractCar(list , markArray , cara , saa , dataMap , map);
800 - return {'json':baseF.addjcclcbc01(cara,tempA,dataMap,saa,map),'bxrcgs':null}; 807 +
  808 + // 第七步 确定吃饭时间.
  809 + baseF.markeEatTime(list , tempA , cara , saa , dataMap ,map);
  810 +
  811 +
  812 + baseF.resizeByPitStopTime(cara , tempA , dataMap);
  813 + baseF.updfcno01(tempA,0);
  814 + // return {'json':tempA,'bxrcgs':null};
  815 + // 确定进出场、早晚例保时间.并返回班次数组集合
  816 + return {'json':baseF.addInOutFieldBc(cara,tempA,dataMap,saa,map),'bxrcgs':null};
  817 + },
  818 +
  819 + markeEatTime : function(list , markArray , cara , saa , dataMap ,map) {
  820 + var cfddDm = parseInt(map.cfdd);
  821 + var mLen = markArray.length,cLen=cara.length,sLen =list.length ;
  822 + if(mLen<=0 || cLen<=0 || sLen<=0)
  823 + return false;
  824 + for(var c = 0 ; c<cLen ; c++) {
  825 + var lpNo=cara[c].lpNo,lpType;
  826 + for(var s = 0 ; s<sLen;s++ ) {
  827 + if(list[s].sslp[0].lpNo==lpNo) {
  828 + lpType = list[s].type;
  829 + break;
  830 + }
  831 + }
  832 + if(lpType=='五工二休')
  833 + continue;
  834 + var lpbcArray = new Array();
  835 + for(var m = 0 ; m < mLen; m++) {
  836 + if(markArray[m].lpNo==lpNo)
  837 + lpbcArray.push(markArray[m]);
  838 + }
  839 + lpbcArray.sort(function(a,b){return a.fcint - b.fcint});
  840 + baseF.isHaveBc(baseF.getDateTime('10:15') , baseF.getDateTime('12:15'),lpbcArray,cfddDm ,dataMap , cara[c] ,map, markArray, 0);
  841 + //baseF.isHaveBc(baseF.getDateTime('18:00') , baseF.getDateTime('19:00'),lpbcArray,cfddDm ,dataMap , cara[c] ,map, markArray, 1);
  842 + }
  843 + },
  844 +
  845 + isHaveBc : function(kssj , jssj , bcArray,cfddDm , dataMap , lpObj , map, markArray , cfIndex) {
  846 + var canCf = new Array(), countTzsj = 0, isLast = new Array();
  847 + for(var b = 0 ; b<bcArray.length;b++) {
  848 + var bcddsj = baseF.getDateTime(bcArray[b].ARRIVALTIME);
  849 + if(bcddsj<=jssj) {
  850 + countTzsj += bcArray[b].STOPTIME;
  851 + canCf.push(bcArray[b]);
  852 + }
  853 + /*if(bcddsj>= kssj && bcddsj<=jssj) {
  854 + countTzsj += bcArray[b].STOPTIME;
  855 + canCf.push(bcArray[b]);
  856 + }
  857 + if(bcddsj < kssj)
  858 + isLast.push(bcArray[b]);*/
  859 + }
  860 + if(canCf.length>0) {
  861 + console.log('countTzsj:' + countTzsj + 'length:' + canCf.length);
  862 + var fxDm = baseF.dirDmToIndex(canCf[canCf.length-1].xlDir);
  863 + // console.log(countTzsj , canCf[canCf.length-1].fcsj);
  864 + if(cfddDm == fxDm && canCf.length>2) {
  865 + var tzdx = canCf[canCf.length-2].STOPTIME - dataMap.zwcArr[cfIndex];
  866 + canCf[canCf.length-2].STOPTIME = tzdx >= 0 ? tzdx : 0;
  867 + var obj = baseF.getbcObj(
  868 + baseF.getDateTime(canCf[canCf.length-2].ARRIVALTIME),dataMap.zwcArr[cfIndex],lpObj,dataMap.bcTypeArr.cf,
  869 + dataMap.dira[cfddDm], canCf[canCf.length-1].fcno+1 , 0 , map , 0 , null , null , null , 0 , 0);
  870 + markArray.push(obj);
  871 + if(tzdx<0) {
  872 + // canCf[canCf.length-1].STOPTIME = 0;
  873 + var fcsj = baseF.getDateTime(canCf[canCf.length-2].ARRIVALTIME);
  874 + fcsj.setMinutes(fcsj.getMinutes() + canCf[canCf.length-2].STOPTIME + dataMap.zwcArr[cfIndex]);
  875 + canCf[canCf.length-1].fcsj = baseF.getTimeStr(fcsj);
  876 + fcsj.setMinutes(fcsj.getMinutes() + canCf[canCf.length-1].bcsj);
  877 + canCf[canCf.length-1].ARRIVALTIME = baseF.getTimeStr(fcsj);
  878 + }
  879 + }else {
  880 + var obj = baseF.getbcObj(
  881 + baseF.getDateTime(canCf[canCf.length-1].ARRIVALTIME),dataMap.zwcArr[cfIndex],lpObj,dataMap.bcTypeArr.cf,
  882 + dataMap.dira[cfddDm], canCf[canCf.length-1].fcno+1 , 0 , map , 0 , null , null , null , 0 , 0);
  883 + markArray.push(obj);
  884 +
  885 + }
  886 + }
  887 + /*if(canCf.length>0) {
  888 + var fxDm = baseF.dirDmToIndex(canCf[canCf.length-1].xlDir);
  889 + // console.log(countTzsj , canCf[canCf.length-1].fcsj);
  890 + if(cfddDm == fxDm && canCf.length>2) {
  891 + var tzdx = canCf[canCf.length-2].STOPTIME - dataMap.zwcArr[cfIndex];
  892 + canCf[canCf.length-2].STOPTIME = tzdx >= 0 ? tzdx : 0;
  893 + var obj = baseF.getbcObj(
  894 + baseF.getDateTime(canCf[canCf.length-2].ARRIVALTIME),dataMap.zwcArr[cfIndex],lpObj,dataMap.bcTypeArr.cf,
  895 + dataMap.dira[cfddDm], canCf[canCf.length-1].fcno+1 , 0 , map , 0 , null , null , null , 0 , 0);
  896 + markArray.push(obj);
  897 + if(tzdx<0) {
  898 + // canCf[canCf.length-1].STOPTIME = 0;
  899 + var fcsj = baseF.getDateTime(canCf[canCf.length-2].ARRIVALTIME);
  900 + fcsj.setMinutes(fcsj.getMinutes() + canCf[canCf.length-2].STOPTIME + dataMap.zwcArr[cfIndex]);
  901 + canCf[canCf.length-1].fcsj = baseF.getTimeStr(fcsj);
  902 + fcsj.setMinutes(fcsj.getMinutes() + canCf[canCf.length-1].bcsj);
  903 + canCf[canCf.length-1].ARRIVALTIME = baseF.getTimeStr(fcsj);
  904 + }
  905 + }else {
  906 + var obj = baseF.getbcObj(
  907 + baseF.getDateTime(canCf[canCf.length-1].ARRIVALTIME),dataMap.zwcArr[cfIndex],lpObj,dataMap.bcTypeArr.cf,
  908 + dataMap.dira[cfddDm], canCf[canCf.length-1].fcno+1 , 0 , map , 0 , null , null , null , 0 , 0);
  909 + markArray.push(obj);
  910 +
  911 + }
  912 + }else if(isLast.length>0) {
  913 + var fxDm = baseF.dirDmToIndex(isLast[isLast.length-1].xlDir);
  914 + if(cfddDm ==fxDm && canCf.length>2) {
  915 + var tzdx = canCf[canCf.length-2].STOPTIME - dataMap.zwcArr[cfIndex];
  916 + canCf[canCf.length-2].STOPTIME = tzdx >= 0 ? tzdx : 0;
  917 + var obj = baseF.getbcObj(
  918 + baseF.getDateTime(isLast[isLast.length-2].ARRIVALTIME),dataMap.zwcArr[cfIndex],lpObj,dataMap.bcTypeArr.cf,
  919 + dataMap.dira[cfddDm], isLast[isLast.length-1].fcno+1 , 0 , map , 0 , null , null , null , 0 , 0);
  920 + markArray.push(obj);
  921 + if(tzdx<0) {
  922 + var fcsj = baseF.getDateTime(isLast[isLast.length-2].ARRIVALTIME);
  923 + fcsj.setMinutes(fcsj.getMinutes() + isLast[isLast.length-2].STOPTIME + dataMap.zwcArr[cfIndex]);
  924 + isLast[isLast.length-1].fcsj = baseF.getTimeStr(fcsj);
  925 + fcsj.setMinutes(fcsj.getMinutes() +isLast[isLast.length-1].bcsj);
  926 + isLast[isLast.length-1].ARRIVALTIME = baseF.getTimeStr(fcsj);
  927 + }
  928 + }else {
  929 + var obj = baseF.getbcObj(
  930 + baseF.getDateTime(isLast[isLast.length-1].ARRIVALTIME),dataMap.zwcArr[cfIndex],lpObj,dataMap.bcTypeArr.cf,
  931 + dataMap.dira[cfddDm], isLast[isLast.length-1].fcno+1 , 0 , map , 0 , null , null , null , 0 , 0);
  932 + markArray.push(obj);
  933 + }
  934 + }*/
801 }, 935 },
802 936
803 /** 937 /**
@@ -1084,6 +1218,7 @@ var BaseFun = function() { @@ -1084,6 +1218,7 @@ var BaseFun = function() {
1084 if(len_>0 && bcCount > 0) { 1218 if(len_>0 && bcCount > 0) {
1085 // 定义该时间区间内的发车间隙. 1219 // 定义该时间区间内的发车间隙.
1086 var _fcjx = parseInt(Math.ceil(zzsj/bcCount)); 1220 var _fcjx = parseInt(Math.ceil(zzsj/bcCount));
  1221 + console.log(_fcjx);
1087 if(tagboolean) { 1222 if(tagboolean) {
1088 if(_fcjx>gfmaxfcjx) 1223 if(_fcjx>gfmaxfcjx)
1089 _fcjx = 20; 1224 _fcjx = 20;
@@ -1091,7 +1226,6 @@ var BaseFun = function() { @@ -1091,7 +1226,6 @@ var BaseFun = function() {
1091 if(_fcjx>dgmaxfcjx) 1226 if(_fcjx>dgmaxfcjx)
1092 _fcjx = dgmaxfcjx; 1227 _fcjx = dgmaxfcjx;
1093 } 1228 }
1094 - // console.log(_fcjx);  
1095 // 定义修改班次的起始时间点. 1229 // 定义修改班次的起始时间点.
1096 var fcnosj = new Date(kssj); 1230 var fcnosj = new Date(kssj);
1097 for(var l = 0 ; l< len_ ; l++) { 1231 for(var l = 0 ; l< len_ ; l++) {
@@ -1154,8 +1288,10 @@ var BaseFun = function() { @@ -1154,8 +1288,10 @@ var BaseFun = function() {
1154 var sslpbcA = new Array(); 1288 var sslpbcA = new Array();
1155 for(var j =0 ; j < tLen ; j++) { 1289 for(var j =0 ; j < tLen ; j++) {
1156 // 判断当期遍历的班次是否属于当前的路牌.如果是则添加到当前的路牌班次数组集合. 1290 // 判断当期遍历的班次是否属于当前的路牌.如果是则添加到当前的路牌班次数组集合.
1157 - if(tempa[j].lpNo == cara[t].lpNo) 1291 + if(tempa[j].lpNo == cara[t].lpNo) {
  1292 + tempa[j].fcint = baseF.getDateTime(tempa[j].fcsj).getTime();
1158 sslpbcA.push(tempa[j]); 1293 sslpbcA.push(tempa[j]);
  1294 + }
1159 } 1295 }
1160 if(sslpbcA.length > 0) { 1296 if(sslpbcA.length > 0) {
1161 // 按发车时间顺序排序. 1297 // 按发车时间顺序排序.
@@ -1178,35 +1314,51 @@ var BaseFun = function() { @@ -1178,35 +1314,51 @@ var BaseFun = function() {
1178 baseF.dirDmToIndex(sslpbcA[r].xlDir)); 1314 baseF.dirDmToIndex(sslpbcA[r].xlDir));
1179 normmintzsj = xxsj*0.1; 1315 normmintzsj = xxsj*0.1;
1180 normmaxtzsj = xxsj*0.15; 1316 normmaxtzsj = xxsj*0.15;
  1317 + var flag = false;
1181 // 如果小于零 1318 // 如果小于零
1182 - if(dxmin <= 0 && sslpbcA[r].isfb ==0 ) { 1319 + if(dxmin < 0 && sslpbcA[r].isfb ==0) {
1183 // 根据不同时段的停站时间.重新赋值停站时间. 1320 // 根据不同时段的停站时间.重新赋值停站时间.
1184 - dxmin = flag ? dataMap.gftzsj[cctag] : dataMap.dgtzsj[cctag]; 1321 + if(sslpbcA[r].bcType=='normal' && sslpbcA[r+1].bcType =='normal')
  1322 + dxmin = flag ? dataMap.gftzsj[cctag] : dataMap.dgtzsj[cctag];
  1323 + else
  1324 + dxmin = 0;
  1325 + flag = true;
  1326 + }else if(dxmin==0){
  1327 + dxmin = 0;
  1328 + flag = true;
1185 }else { 1329 }else {
1186 // 如果 大于等于低谷最大停站时间 并且 小于等于三小时.则把低谷最大停站时间 作为 停站时间. 1330 // 如果 大于等于低谷最大停站时间 并且 小于等于三小时.则把低谷最大停站时间 作为 停站时间.
1187 - if(dxmin >= dgmaxtzsj && dxmin < 180) { 1331 + if(dxmin >= dgmaxtzsj && dxmin < 180 && sslpbcA[r].isfb==0) {
1188 dxmin = dgmaxtzsj; 1332 dxmin = dgmaxtzsj;
  1333 + flag = true;
1189 // 如果大于零 并且 小于等于行业标准的最小停站时间 1334 // 如果大于零 并且 小于等于行业标准的最小停站时间
1190 }else if(dxmin > 0 && dxmin <= normmintzsj ) { 1335 }else if(dxmin > 0 && dxmin <= normmintzsj ) {
1191 // dxmin = dxmin; 1336 // dxmin = dxmin;
  1337 + flag = true;
1192 // 如果大于行业标准的最小停站时间 并且 小于等于行业标准的最大停站时间 1338 // 如果大于行业标准的最小停站时间 并且 小于等于行业标准的最大停站时间
1193 }else if(dxmin > normmintzsj && dxmin <= normmaxtzsj ) { 1339 }else if(dxmin > normmintzsj && dxmin <= normmaxtzsj ) {
1194 // dxmin = dxmin; 1340 // dxmin = dxmin;
  1341 + flag = true;
1195 // 如果大于行业标准的最大停站时间 并且 小于低谷最大停站时间 1342 // 如果大于行业标准的最大停站时间 并且 小于低谷最大停站时间
1196 }else if(dxmin > normmaxtzsj && dxmin < dgmaxtzsj ) { 1343 }else if(dxmin > normmaxtzsj && dxmin < dgmaxtzsj ) {
1197 // dxmin = dxmin; 1344 // dxmin = dxmin;
  1345 + flag = true;
  1346 + }else if (dxmin >= 180){
  1347 + dxmin = 0;
1198 } 1348 }
1199 } 1349 }
1200 - // 修改当前班次的停站时间.  
1201 - sslpbcA[r].STOPTIME = parseInt(dxmin) ;  
1202 - // 当前班次的到达时间 + 停站时间 作为下一个班次的发车时间.  
1203 - dqbcddsj.setMinutes(dqbcddsj.getMinutes() + dxmin);  
1204 - // 修改下一个班次的发车时间.  
1205 - sslpbcA[r+1].fcsj = baseF.getTimeStr(dqbcddsj);  
1206 - // 下一个班次的发车时间 + 行驶时间 作为下一个班次的到达时间.  
1207 - dqbcddsj.setMinutes(dqbcddsj.getMinutes() + sslpbcA[r+1].bcsj);  
1208 - // 修改下一个班次的到达时间.  
1209 - sslpbcA[r+1].ARRIVALTIME = baseF.getTimeStr(dqbcddsj); 1350 + if(flag) {
  1351 + // 修改当前班次的停站时间.
  1352 + sslpbcA[r].STOPTIME = parseInt(dxmin) ;
  1353 + // 当前班次的到达时间 + 停站时间 作为下一个班次的发车时间.
  1354 + dqbcddsj.setMinutes(dqbcddsj.getMinutes() + dxmin);
  1355 + // 修改下一个班次的发车时间.
  1356 + sslpbcA[r+1].fcsj = baseF.getTimeStr(dqbcddsj);
  1357 + // 下一个班次的发车时间 + 行驶时间 作为下一个班次的到达时间.
  1358 + dqbcddsj.setMinutes(dqbcddsj.getMinutes() + sslpbcA[r+1].bcsj);
  1359 + // 修改下一个班次的到达时间.
  1360 + sslpbcA[r+1].ARRIVALTIME = baseF.getTimeStr(dqbcddsj);
  1361 + }
1210 } 1362 }
1211 } 1363 }
1212 } 1364 }
@@ -1297,10 +1449,19 @@ var BaseFun = function() { @@ -1297,10 +1449,19 @@ var BaseFun = function() {
1297 dataMap.smbcsjArr,dataMap.ccsjArr,dataMap.cclcArr,dataMap.qdzArr,saa[0].lbsj,dataMap);*/ 1449 dataMap.smbcsjArr,dataMap.ccsjArr,dataMap.cclcArr,dataMap.qdzArr,saa[0].lbsj,dataMap);*/
1298 var rsjar = baseF.tzsztest(cara,jar3,dataMap); 1450 var rsjar = baseF.tzsztest(cara,jar3,dataMap);
1299 // return {'json':rsjar,'bxrcgs':bxrcgs}; 1451 // return {'json':rsjar,'bxrcgs':bxrcgs};
1300 - return {'json':baseF.addjcclcbc01(cara,rsjar,dataMap,saa,map),'bxrcgs':bxrcgs}; 1452 + return {'json':baseF.addInOutFieldBc(cara,rsjar,dataMap,saa,map),'bxrcgs':bxrcgs};
1301 }, 1453 },
1302 1454
1303 - addjcclcbc01 : function(cara,rsjar,dataMap,saa,map) { 1455 + /**
  1456 + * @description (TODO) 添加进出场班次.
  1457 + * @param cara 路牌
  1458 + * @param rsjar 班次集合数组
  1459 + * @param dataMap dataMap 封装的 以上、下行方向成对存在的 一些参数数组 [下标0 -- 代表上行 ; 下标1 -- 代表下行].
  1460 + * @param saa 封装的一些 停站时间、周转时间、行驶时间、行驶里程等.
  1461 + * @param map 表单参数对象.
  1462 + *
  1463 + */
  1464 + addInOutFieldBc : function(cara,rsjar,dataMap,saa,map) {
1304 var resultJA = new Array(),bcs = 0; 1465 var resultJA = new Array(),bcs = 0;
1305 for(var m = 0 ; m < cara.length; m++) { 1466 for(var m = 0 ; m < cara.length; m++) {
1306 // 获取路牌编号. 1467 // 获取路牌编号.
@@ -1319,7 +1480,7 @@ var BaseFun = function() { @@ -1319,7 +1480,7 @@ var BaseFun = function() {
1319 lpbc_.sort(function(a,b){return a.fcno-b.fcno}); 1480 lpbc_.sort(function(a,b){return a.fcno-b.fcno});
1320 baseF.addcfbc01(lpbc_,dataMap,map); 1481 baseF.addcfbc01(lpbc_,dataMap,map);
1321 // 按照发车序号顺序排序. 1482 // 按照发车序号顺序排序.
1322 - // lpbc_.sort(function(a,b){return a.fcno-b.fcno}); 1483 + lpbc_.sort(function(a,b){return a.fcno-b.fcno});
1323 var tt = baseF.addjclbbc01(lpbc_,dataMap,saa[0].lbsj,map); 1484 var tt = baseF.addjclbbc01(lpbc_,dataMap,saa[0].lbsj,map);
1324 bcs = baseF.updfcno01(tt,bcs); 1485 bcs = baseF.updfcno01(tt,bcs);
1325 resultJA = resultJA.concat(tt); 1486 resultJA = resultJA.concat(tt);
@@ -1344,8 +1505,8 @@ var BaseFun = function() { @@ -1344,8 +1505,8 @@ var BaseFun = function() {
1344 addcfbc01 : function(lpbcar,dataMap,map) { 1505 addcfbc01 : function(lpbcar,dataMap,map) {
1345 var gs = 0 ,sicftag = true; 1506 var gs = 0 ,sicftag = true;
1346 for(var g = 0 ; g <lpbcar.length-1;g++ ) { 1507 for(var g = 0 ; g <lpbcar.length-1;g++ ) {
1347 - if( parseInt((baseF.getDateTime(lpbcar[g+1].fcsj) - baseF.getDateTime(lpbcar[g].ARRIVALTIME))/60000) > 80  
1348 - && lpbcar[g].STOPTIME==0 ) { 1508 + if( parseInt((baseF.getDateTime(lpbcar[g+1].fcsj) - baseF.getDateTime(lpbcar[g].ARRIVALTIME))/60000) > 180
  1509 + && lpbcar[g].STOPTIME==0 && lpbcar[g].bcType =='normal' ) {
1349 lpbcar[g].isfb = 1; 1510 lpbcar[g].isfb = 1;
1350 } 1511 }
1351 /*gs = gs + lpbcar[g].bcsj + lpbcar[g].STOPTIME; 1512 /*gs = gs + lpbcar[g].bcsj + lpbcar[g].STOPTIME;
@@ -1767,25 +1928,7 @@ var BaseFun = function() { @@ -1767,25 +1928,7 @@ var BaseFun = function() {
1767 dqbcfcsj,dataMap.ccsjArr[fxdm],car,dataMap.bcTypeArr.out, 1928 dqbcfcsj,dataMap.ccsjArr[fxdm],car,dataMap.bcTypeArr.out,
1768 dataMap.dira[fxdm],2,dataMap.cclcArr[fxdm],gatps,0,dataMap.qdzArr[fxdm],null,null,0,0));// 出场班次 1929 dataMap.dira[fxdm],2,dataMap.cclcArr[fxdm],gatps,0,dataMap.qdzArr[fxdm],null,null,0,0));// 出场班次
1769 fcno ++; 1930 fcno ++;
1770 - }/*else if(b > 0 && b < bc.length-1){  
1771 - var jcbckssj = baseF.getDateTime(bc[b].ARRIVALTIME)  
1772 - var ccbckssj = baseF.getDateTime(bc[b+1].fcsj)  
1773 - var dx = parseInt((ccbckssj - jcbckssj)/60000);  
1774 - if(bc[b].STOPTIME==0) {  
1775 - // bc[b].STOPTIME = 0;  
1776 - //console.log(bc[b].fcno);  
1777 - var fcno_ = bc[b].fcno + 2;  
1778 - stas = true;  
1779 - // console.log(bc[b],bc[b+1],b);  
1780 - result.push(baseF.getbcObj(  
1781 - jcbckssj,dataMap.jcsjArr[fxdm],car,dataMap.bcTypeArr.in_,  
1782 - dataMap.dira[fxdm],fcno_++,dataMap.jclcArr[fxdm],gatps,0,dataMap.qdzArr[fxdm],null,null,0,0));// 进场班次  
1783 - var ccfx = baseF.dirDmToIndex(bc[b+1].xlDir);  
1784 - result.push(baseF.getbcObj(  
1785 - ccbckssj,dataMap.ccsjArr[ccfx],car,dataMap.bcTypeArr.out,  
1786 - dataMap.dira[ccfx],fcno_++,dataMap.cclcArr[ccfx],gatps,0,dataMap.qdzArr[ccfx],null,null,0,0));// 出场班次  
1787 - }  
1788 - }*/else if(b==bc.length-1){ 1931 + }else if(b==bc.length-1){
1789 var fcno_ = dxfno + 2; 1932 var fcno_ = dxfno + 2;
1790 var qdbcddsj = baseF.getDateTime(bc[b].ARRIVALTIME); 1933 var qdbcddsj = baseF.getDateTime(bc[b].ARRIVALTIME);
1791 result.push(baseF.getbcObj( 1934 result.push(baseF.getbcObj(
src/main/resources/static/pages/base/timesmodel/js/d3.relationshipgraph.js
@@ -968,7 +968,7 @@ var RelationshipGraph = function () { @@ -968,7 +968,7 @@ var RelationshipGraph = function () {
968 for(var z = 0 ;z < tza.length;z++) { 968 for(var z = 0 ;z < tza.length;z++) {
969 if(tza[z].lpNo == lpNo && tza[z].bcsj >0 ) { 969 if(tza[z].lpNo == lpNo && tza[z].bcsj >0 ) {
970 timeNum = timeNum + tza[z].bcsj + tza[z].STOPTIME; 970 timeNum = timeNum + tza[z].bcsj + tza[z].STOPTIME;
971 - if( tza[z].bcType !='bd' && tza[z].bcType !='lc' ) { 971 + if( tza[z].bcType !='bd' && tza[z].bcType !='lc' && tza[z].bcType !='cf') {
972 tempNum ++; 972 tempNum ++;
973 } 973 }
974 } 974 }
@@ -983,32 +983,6 @@ var RelationshipGraph = function () { @@ -983,32 +983,6 @@ var RelationshipGraph = function () {
983 $(textNodes[1]).text("总班次:"+(tempNum)); 983 $(textNodes[1]).text("总班次:"+(tempNum));
984 // $_this.pptjbx($("."+className).children("rect")[2],zgs*1,lpNo,$_this); 984 // $_this.pptjbx($("."+className).children("rect")[2],zgs*1,lpNo,$_this);
985 } 985 }
986 - /*for(var a=0;a<array.length;a++) {  
987 - debugger;  
988 - var tempNum = 0,timeNum = 0,lpNo = '';  
989 - for(var g = 0 ; g <gdata.length;g++) {  
990 - var temp_i = parseInt(d3.select(gdata[g]).attr('y'))-this.configuration.offsetY;  
991 - if(temp_i<array[a] && temp_i>minValue) {  
992 - var parentNodeCName = d3.select(gdata[g]).attr('id'),  
993 - // nodes = d3.selectAll('text[parent-node='+ parentNodeCName +']')[0]  
994 - $_d = d3.select(gdata[g]).data()[0];  
995 - lpNo = $_d.lpNo;  
996 - timeNum = timeNum + parseInt($_d.STOPTIME) + parseInt($_d.bcsj);  
997 - if($_d.bcType!='bd' && $_d.bcType!='lc' && $_d.bcType!='cf' && $_d.bcsj>0)  
998 - tempNum++;  
999 - }  
1000 - }  
1001 - minValue = array[a];  
1002 - var className = 'statis_container_' + array[a];  
1003 - var textNodes = $("."+className).children("text");  
1004 - var hours = parseInt(timeNum/60);  
1005 - var mimus = timeNum%60,zgs = hours + (mimus==0? "": "." + mimus);  
1006 - var zgs = parseFloat((timeNum/60).toFixed(2));  
1007 - var zgs = timeNum;  
1008 - $(textNodes[0]).text("总工时:" + zgs);  
1009 - $(textNodes[1]).text("总班次:"+(tempNum));  
1010 - $_this.pptjbx($("."+className).children("rect")[2],zgs*1,lpNo,$_this);  
1011 - }*/  
1012 } 986 }
1013 987
1014 }, { 988 }, {
@@ -3027,7 +3001,9 @@ var RelationshipGraph = function () { @@ -3027,7 +3001,9 @@ var RelationshipGraph = function () {
3027 nowDate.setMinutes(parseInt(tm.min)+d.bcsj);// 10.3.1、设置分钟. 3001 nowDate.setMinutes(parseInt(tm.min)+d.bcsj);// 10.3.1、设置分钟.
3028 // 9.1.4、修改当前班次的到达时间. 3002 // 9.1.4、修改当前班次的到达时间.
3029 d.ARRIVALTIME = BaseFun.getTimeStr(nowDate); 3003 d.ARRIVALTIME = BaseFun.getTimeStr(nowDate);
3030 - d.STOPTIME = d.isfb ==1 ? 0 : parseInt((BaseFun.getDateTime(nodeContext.nextData.fcsj) - BaseFun.getDateTime(d.ARRIVALTIME))/ 60000); 3004 + d.STOPTIME = d.isfb == 1 ? 0 : parseInt((BaseFun.getDateTime(nodeContext.nextData.fcsj) - BaseFun.getDateTime(d.ARRIVALTIME))/ 60000);
  3005 + // parseInt((BaseFun.getDateTime(nodeContext.nextData.fcsj) - BaseFun.getDateTime(d.ARRIVALTIME))/ 60000)
  3006 +
3031 /** 3007 /**
3032 * 9.2、修改元素沿X轴方向的X坐标属性值. 3008 * 9.2、修改元素沿X轴方向的X坐标属性值.
3033 * 3009 *
@@ -3144,6 +3120,38 @@ var RelationshipGraph = function () { @@ -3144,6 +3120,38 @@ var RelationshipGraph = function () {
3144 } 3120 }
3145 } 3121 }
3146 }else { 3122 }else {
  3123 + var dataMap = $_GlobalGraph.configuration.dataMap;
  3124 + // 定义是否高峰
  3125 + var flag = BaseFun.isPeakTimeScope(BaseFun.getDateTime(nodeContext.lastData.fcsj) , dataMap);
  3126 + // 定义当前班次方向下标代码[0代表上行;1代表下行].
  3127 + var cctag = BaseFun.dirDmToIndex(nodeContext.lastData.xlDir);
  3128 + // 获取行驶时间.
  3129 + var xxsj = BaseFun.getByDirTravelTime(dataMap.zgfsjd , dataMap.wgfsjd , nowDate, dataMap.pcxssjArr , dataMap.gfxxsjArr , cctag);
  3130 + var normmintzsj = xxsj*0.1,normmaxtzsj = xxsj*0.15;
  3131 + // 如果小于零
  3132 + if(dxMinues <= 0 && nodeContext.lastData.isfb ==0 ) {
  3133 + // 根据不同时段的停站时间.重新赋值停站时间.
  3134 + dxmin = flag ? dataMap.gftzsj[cctag] : dataMap.dgtzsj[cctag];
  3135 + }else {
  3136 + // 如果 大于等于低谷最大停站时间 并且 小于等于三小时.则把低谷最大停站时间 作为 停站时间.
  3137 + if(dxMinues >= dataMap.dgmaxtzsj && dxMinues < 180) {
  3138 + dxMinues = dataMap.dgmaxtzsj;
  3139 + // 如果大于零 并且 小于等于行业标准的最小停站时间
  3140 + }else if(dxMinues > 0 && dxMinues <= normmintzsj ) {
  3141 + // dxmin = dxmin;
  3142 + // 如果大于行业标准的最小停站时间 并且 小于等于行业标准的最大停站时间
  3143 + }else if(dxMinues > normmintzsj && dxMinues <= normmaxtzsj ) {
  3144 + // dxmin = dxmin;
  3145 + // 如果大于行业标准的最大停站时间 并且 小于低谷最大停站时间
  3146 + }else if(dxMinues > normmaxtzsj && dxMinues < dataMap.dgmaxtzsj ) {
  3147 + // dxmin = dxmin;
  3148 + }else if (dxMinues >= 180){
  3149 + dxMinues = 0;
  3150 + }
  3151 + }
  3152 + // 修改当前班次的停站时间.
  3153 + // nodeContext.lastData.STOPTIME = dxMinues;
  3154 + // d.STOPTIME = parseInt(dxmin) ;
3147 /** 3155 /**
3148 * 11.2.1、如果是正常班次 3156 * 11.2.1、如果是正常班次
3149 * 3157 *
@@ -3370,11 +3378,41 @@ var RelationshipGraph = function () { @@ -3370,11 +3378,41 @@ var RelationshipGraph = function () {
3370 } 3378 }
3371 } 3379 }
3372 }else { 3380 }else {
  3381 + var dxMinues = parseInt((BaseFun.getDateTime(d.fcsj) - BaseFun.getDateTime(_obj.lastData.ARRIVALTIME)) / 60000);
3373 /** 3382 /**
3374 * 1.5.6、修改上个元素班次与当前班次的停站时间和text元素的文本属性值. 3383 * 1.5.6、修改上个元素班次与当前班次的停站时间和text元素的文本属性值.
3375 * 3384 *
3376 **/ 3385 **/
3377 - _obj.lastData.STOPTIME = parseInt((BaseFun.getDateTime(d.fcsj) - BaseFun.getDateTime(_obj.lastData.ARRIVALTIME)) / 60000); 3386 + var dataMap = $_GlobalGraph.configuration.dataMap;
  3387 + // 定义是否高峰
  3388 + var flag = BaseFun.isPeakTimeScope(BaseFun.getDateTime(nodeContext.lastData.fcsj) , dataMap);
  3389 + // 定义当前班次方向下标代码[0代表上行;1代表下行].
  3390 + var cctag = BaseFun.dirDmToIndex(nodeContext.lastData.xlDir);
  3391 + // 获取行驶时间.
  3392 + var xxsj = BaseFun.getByDirTravelTime(dataMap.zgfsjd , dataMap.wgfsjd , nowDate, dataMap.pcxssjArr , dataMap.gfxxsjArr , cctag);
  3393 + var normmintzsj = xxsj*0.1,normmaxtzsj = xxsj*0.15;
  3394 + // 如果小于零
  3395 + if(dxMinues <= 0 && nodeContext.lastData.isfb ==0 ) {
  3396 + // 根据不同时段的停站时间.重新赋值停站时间.
  3397 + dxmin = flag ? dataMap.gftzsj[cctag] : dataMap.dgtzsj[cctag];
  3398 + }else {
  3399 + // 如果 大于等于低谷最大停站时间 并且 小于等于三小时.则把低谷最大停站时间 作为 停站时间.
  3400 + if(dxMinues >= dataMap.dgmaxtzsj && dxMinues < 180) {
  3401 + dxMinues = dataMap.dgmaxtzsj;
  3402 + // 如果大于零 并且 小于等于行业标准的最小停站时间
  3403 + }else if(dxMinues > 0 && dxMinues <= normmintzsj ) {
  3404 + // dxmin = dxmin;
  3405 + // 如果大于行业标准的最小停站时间 并且 小于等于行业标准的最大停站时间
  3406 + }else if(dxMinues > normmintzsj && dxMinues <= normmaxtzsj ) {
  3407 + // dxmin = dxmin;
  3408 + // 如果大于行业标准的最大停站时间 并且 小于低谷最大停站时间
  3409 + }else if(dxMinues > normmaxtzsj && dxMinues < dataMap.dgmaxtzsj ) {
  3410 + // dxmin = dxmin;
  3411 + }else if (dxMinues >= 180){
  3412 + dxMinues = 0;
  3413 + }
  3414 + }
  3415 + _obj.lastData.STOPTIME = dxMinues;
3378 for(var t = 0 ; t < _obj.lastTextNodes.length ;t++) { 3416 for(var t = 0 ; t < _obj.lastTextNodes.length ;t++) {
3379 var nowTextNode = d3.select(_obj.lastTextNodes[t]); 3417 var nowTextNode = d3.select(_obj.lastTextNodes[t]);
3380 if(nowTextNode.attr('text-type')=='gap') 3418 if(nowTextNode.attr('text-type')=='gap')
src/main/resources/static/pages/forms/mould/countByBus1.xls 0 → 100644
No preview for this file type
src/main/resources/static/pages/forms/mould/countByBus2.xls 0 → 100644
No preview for this file type
src/main/resources/static/pages/forms/mould/countByLine.xls 0 → 100644
No preview for this file type
src/main/resources/static/pages/forms/statement/scheduleDaily.html
@@ -70,7 +70,7 @@ word-wrap: break-word; @@ -70,7 +70,7 @@ word-wrap: break-word;
70 <table class="table table-bordered table-hover table-checkable" id="forms"> 70 <table class="table table-bordered table-hover table-checkable" id="forms">
71 <thead> 71 <thead>
72 <tr> 72 <tr>
73 - <th colspan="40">线路调度日报</th> 73 + <th colspan="40"><lable id="xlmc"></lable>线路调度日报</th>
74 </tr> 74 </tr>
75 <tr> 75 <tr>
76 <td rowspan="3"><span >路线名</span></td> 76 <td rowspan="3"><span >路线名</span></td>
@@ -407,6 +407,7 @@ word-wrap: break-word; @@ -407,6 +407,7 @@ word-wrap: break-word;
407 layer.msg("请选择时间"); 407 layer.msg("请选择时间");
408 return; 408 return;
409 } 409 }
  410 + $("#xlmc").html(xlName);
410 $("#ddrbBody").height($(window).height()-100); 411 $("#ddrbBody").height($(window).height()-100);
411 $("c").html("全日"); 412 $("c").html("全日");
412 $("#export").removeAttr("disabled"); 413 $("#export").removeAttr("disabled");