Commit 53e043d5a444d2d00e5fef501a41b24b65f46804

Authored by 徐烜
1 parent ca9dd7db

时刻表v2_2.3

1、如果首末班车时间一致,每圈的一个班次使用下行
2、从上标线早高峰班次里选取主站,副站班次如有多个,选取第一个班次
src/main/resources/static/pages/base/timesmodel/js/v2_2/InternalScheduleObj.js
... ... @@ -164,8 +164,14 @@ var InternalScheduleObj_v2_2 = (function() {
164 164 this._qIsUp = true; // 每一圈是上行开始还是下行开始
165 165  
166 166 // 确定_qIsUp,哪个方向的首班车晚就用哪个
167   - this._qIsUp = this._oParam.getUpFirstDTimeObj().isBefore(
168   - this._oParam.getDownFirstDTimeObj()) ? false : true;
  167 + // this._qIsUp = this._oParam.getUpFirstDTimeObj().isBefore(
  168 + // this._oParam.getDownFirstDTimeObj()) ? false : true;
  169 +
  170 + // 确定_qIsUp,哪个方向的首班车晚就用哪个
  171 + // 使用diff判定,如果两个时间相等 this._qIsUp = false
  172 + this._qIsUp = this._oParam.getUpFirstDTimeObj().diff(this._oParam.getDownFirstDTimeObj()) <= 0 ? false : true;
  173 +
  174 +
169 175 // 上标线开始时间,就是方向的首班车时间
170 176 var st = this._qIsUp ? this._oParam.getUpFirstDTimeObj() : this._oParam.getDownFirstDTimeObj();
171 177 // 上标线结束时间,使用最晚的末班车时间,结束时间的班次方向
... ... @@ -447,7 +453,7 @@ var InternalScheduleObj_v2_2 = (function() {
447 453  
448 454 console.log("//---------------- v2_3行车计划,初始化3 start ----------------//");
449 455  
450   - // 计算上标线早高峰时间段里的主站方向班次,如果有多个,取后面一个,如果没有报错
  456 + // 计算上标线早高峰时间段里的主站方向班次,如果有多个,取一个,如果没有报错
451 457 var bMasterDir = this._oParam.isUpOneWayStop(); // 主站班次方向
452 458 var aMasterBcIndex = this._internalLpArray[0].fnFindBcWithTimeRange( // 在早高峰范围内的主站班次
453 459 this._oParam.getMPeakStartTimeObj(),
... ... @@ -474,10 +480,10 @@ var InternalScheduleObj_v2_2 = (function() {
474 480 if (aMasterBcIndex.length == 0 && aSlaveBcIndex == 0) {
475 481 alert("上标线在早高峰区间内没找到主站或副站班次,这是不可能的!");
476 482 throw "上标线在早高峰区间内没找到主站或副站班次,这是不可能的!";
477   - } else if (aMasterBcIndex.length > 0) { // 有主站班次,取最后一个班次,然后尝试取前面一个副站班次
478   - oMasterBc = aMasterBcIndex[aMasterBcIndex.length - 1]["oBc"]; // 取最后一个班次(length - 1)
479   - iMasterGroupIndex = aMasterBcIndex[aMasterBcIndex.length - 1]["iGroupIndex"];
480   - iMasterBcIndex = aMasterBcIndex[aMasterBcIndex.length - 1]["iBcIndex"];
  483 + } else if (aMasterBcIndex.length > 0) { // 有主站班次,取第一个班次,然后尝试取前面一个副站班次
  484 + oMasterBc = aMasterBcIndex[0]["oBc"]; // 取最后一个班次(length - 1)
  485 + iMasterGroupIndex = aMasterBcIndex[0]["iGroupIndex"];
  486 + iMasterBcIndex = aMasterBcIndex[0]["iBcIndex"];
481 487  
482 488 oSlaveBc = this._internalLpArray[0].getBc( // 尝试获取前面一个副站班次,可能不存在
483 489 iMasterBcIndex == 0 ? iMasterGroupIndex - 1 : iMasterGroupIndex,
... ... @@ -490,10 +496,10 @@ var InternalScheduleObj_v2_2 = (function() {
490 496 oSlaveBc = undefined;
491 497 }
492 498  
493   - } else if (aSlaveBcIndex.length > 0) { // 没有主站班次,有副站班次,取最后一个班次,然后取后面一个主站班次
494   - oSlaveBc = aSlaveBcIndex[aSlaveBcIndex.length - 1]["oBc"];
495   - iSlaveGroupIndex = aSlaveBcIndex[aSlaveBcIndex.length - 1]["iGroupIndex"];
496   - iSlaveBcIndex = aSlaveBcIndex[aSlaveBcIndex.length - 1]["iBcIndex"];
  499 + } else if (aSlaveBcIndex.length > 0) { // 没有主站班次,有副站班次,取第一个班次,然后取后面一个主站班次
  500 + oSlaveBc = aSlaveBcIndex[0]["oBc"];
  501 + iSlaveGroupIndex = aSlaveBcIndex[0]["iGroupIndex"];
  502 + iSlaveBcIndex = aSlaveBcIndex[0]["iBcIndex"];
497 503  
498 504 oMasterBc = this._internalLpArray[0].getBc(
499 505 iSlaveBcIndex == 0 ? iSlaveGroupIndex : iSlaveGroupIndex + 1,
... ...