Commit 16a6e003c41b183df2c634ed70fd87659c78f955

Authored by 徐烜
1 parent bc0ca3e9

时刻表v2.7.14

1、添加吃饭班次标记
2、修正进场班次里程统计bug
3、将调整班次车距平衡逻辑调整到AdjustTripStratgy.js里的策略类里
src/main/resources/static/pages/base/timesmodel/gantt.html
... ... @@ -152,6 +152,7 @@
152 152 <script src="/pages/base/timesmodel/js/v2/core/InternalGroupObj.js"></script>
153 153 <script src="/pages/base/timesmodel/js/v2/core/InternalLpObj.js"></script>
154 154 <script src="/pages/base/timesmodel/js/v2/core/InternalScheduleObj.js"></script>
  155 +<script src="/pages/base/timesmodel/js/v2/AdjustTripStrategy.js"></script>
155 156 <script src="/pages/base/timesmodel/js/v2/main_v2.js"></script>
156 157 <script src="/pages/base/timesmodel/js/d3.relationshipgraph.js"></script>
157 158 <script src="/pages/base/timesmodel/js/errorinfo.js"></script>
... ...
src/main/resources/static/pages/base/timesmodel/js/v2/AdjustTripStrategy.js 0 → 100644
  1 +//------------------ 策略模块(以下) -----------------//
  2 +
  3 +var AdjustTripS1 = (function() {
  4 +
  5 + function _f1(aBc, schedule, paramObj, fre) {
  6 + if (fre > 0) {
  7 + aBc.sort(function (o1, o2) {
  8 + if (o1.getFcTimeObj().isBefore(o2.getFcTimeObj())) {
  9 + return -1;
  10 + } else {
  11 + return 1;
  12 + }
  13 + });
  14 +
  15 + var i;
  16 + var j;
  17 +
  18 + var iBcCountOfGroup = 3; // 3个班次取一次计算
  19 + var aBcOfGroup; // 3个班次列表
  20 + var aBcIntervalOfGroup; // 班次间隔列表,如:3个班次,2个间隔
  21 + var oBcFcTime; // 班次发车时间
  22 +
  23 + for (i = 0; i <= aBc.length - iBcCountOfGroup; i++) {
  24 + aBcOfGroup = [];
  25 + aBcIntervalOfGroup = [];
  26 + for (j = i; j < i + iBcCountOfGroup; j++) {
  27 + aBcOfGroup.push(aBc[j]);
  28 + }
  29 +
  30 + for (j = 0; j < aBcOfGroup.length; j++) {
  31 + if (j < aBcOfGroup.length - 1) {
  32 + aBcIntervalOfGroup.push(aBcOfGroup[j + 1].getFcTimeObj().diff(
  33 + aBcOfGroup[j].getFcTimeObj(), "m"));
  34 + }
  35 + }
  36 +
  37 + // 判定规则
  38 + oBcFcTime = aBcOfGroup[1].getFcTimeObj();
  39 +
  40 + // 第一个班次发车时间不动,根据间隔,调整中间一个班次
  41 + // 如果3个班次2个间隔时间差1分钟,不调整
  42 + // 如果第一个间隔大,调整第二个班次往前1分钟
  43 + // 如果第二个间隔大,调整第二个班次往后1分钟
  44 +
  45 + if (paramObj.isTroughBc(oBcFcTime) &&
  46 + aBcIntervalOfGroup[0] > paramObj.getTroughMaxFcjx()) {
  47 +
  48 + // aBcOfGroup[1].addMinuteToFcsj(-1);
  49 +
  50 + // 判定是否能调整发车时间
  51 + // if (aBcOfGroup[1].getGroup().getLp().isModifyBcFcsj(aBcOfGroup[1], -1, _paramObj)) {
  52 + aBcOfGroup[1]._$_fcsjObj.add(-1, "m");
  53 + aBcOfGroup[1].setArrTimeObj(paramObj.addMinute(
  54 + aBcOfGroup[1].getFcTimeObj(),
  55 + paramObj.calcuTravelTime(
  56 + aBcOfGroup[1].getFcTimeObj(),
  57 + aBcOfGroup[1].isUp())
  58 + ));
  59 +
  60 + // }
  61 + }
  62 +
  63 + //else if (_paramObj.isMPeakBc(oBcFcTime) &&
  64 + // aBcIntervalOfGroup[0] < _paramObj.getMPeakMinFcjx()) {
  65 + // aBcOfGroup[1].addMinuteToFcsj(1);
  66 + //} else if (_paramObj.isMPeakBc(oBcFcTime) &&
  67 + // aBcIntervalOfGroup[0] > _paramObj.getMPeakMaxFcjx()) {
  68 + // aBcOfGroup[1].addMinuteToFcsj(-1);
  69 + //} else if (_paramObj.isEPeakBc(oBcFcTime) &&
  70 + // aBcIntervalOfGroup[0] < _paramObj.getEPeakMinFcjx()) {
  71 + // aBcOfGroup[1].addMinuteToFcsj(1);
  72 + //} else if (_paramObj.isEPeakBc(oBcFcTime) &&
  73 + // aBcIntervalOfGroup[0] > _paramObj.getEPeakMaxFcjx()) {
  74 + // aBcOfGroup[1].addMinuteToFcsj(-1);
  75 + //}
  76 +
  77 +
  78 + else {
  79 + if (Math.abs(aBcIntervalOfGroup[0] - aBcIntervalOfGroup[1]) <= 1) {
  80 + //continue;
  81 + } else if (aBcIntervalOfGroup[0] > aBcIntervalOfGroup[1]) {
  82 +
  83 +
  84 + // 判定是否能调整发车时间
  85 + // if (aBcOfGroup[1].getGroup().getLp().isModifyBcFcsj(aBcOfGroup[1], -1, _paramObj)) {
  86 + aBcOfGroup[1]._$_fcsjObj.add(-1, "m");
  87 + aBcOfGroup[1].setArrTimeObj(paramObj.addMinute(
  88 + aBcOfGroup[1].getFcTimeObj(),
  89 + paramObj.calcuTravelTime(
  90 + aBcOfGroup[1].getFcTimeObj(),
  91 + aBcOfGroup[1].isUp())
  92 + ));
  93 + // }
  94 +
  95 + // aBcOfGroup[1].addMinuteToFcsj(-1);
  96 + } else {
  97 + // aBcOfGroup[1].addMinuteToFcsj(1);
  98 +
  99 + // 判定是否能调整发车时间
  100 + // if (aBcOfGroup[1].getGroup().getLp().isModifyBcFcsj(aBcOfGroup[1], 1, _paramObj)) {
  101 + aBcOfGroup[1]._$_fcsjObj.add(1, "m");
  102 + aBcOfGroup[1].setArrTimeObj(paramObj.addMinute(
  103 + aBcOfGroup[1].getFcTimeObj(),
  104 + paramObj.calcuTravelTime(
  105 + aBcOfGroup[1].getFcTimeObj(),
  106 + aBcOfGroup[1].isUp())
  107 + ));
  108 + // }
  109 + }
  110 + }
  111 +
  112 + //if (Math.abs(aBcIntervalOfGroup[0] - aBcIntervalOfGroup[1]) <= 1) {
  113 + // //continue;
  114 + //} else if (aBcIntervalOfGroup[0] > aBcIntervalOfGroup[1]) {
  115 + // aBcOfGroup[1].addMinuteToFcsj(-1);
  116 + //} else {
  117 + // aBcOfGroup[1].addMinuteToFcsj(1);
  118 + //}
  119 +
  120 +
  121 + }
  122 +
  123 + _f1(aBc, schedule, paramObj, fre - 1);
  124 +
  125 + }
  126 + }
  127 +
  128 +
  129 + function f1(aUpBc, aDownBc, schedule, paramObj) {
  130 + // TODO:9、调整纵向班次间隔
  131 + _f1(aUpBc, schedule, paramObj, 5);
  132 + _f1(aDownBc, schedule, paramObj, 5);
  133 +
  134 + schedule.fnAdjustLpBcInterval(1);
  135 +
  136 + _f1(aUpBc, schedule, paramObj, 5);
  137 + _f1(aDownBc, schedule, paramObj, 5);
  138 + }
  139 +
  140 + return f1;
  141 +}());
  142 +
  143 +//------------------ 策略模块(以上) -----------------//
  144 +
  145 +
  146 +
  147 +
  148 +
  149 +// 调整班次策略类
  150 +var AdjustTripStrategy = (function() {
  151 +
  152 + /**
  153 + * 内部策略配置封装类。
  154 + * @constructor
  155 + */
  156 + function InternalStrategy() {
  157 + // 策略函数对应,每个函数都由一个标识符号对应,类似配置函数
  158 + this._oSTRATIGIS = {
  159 + "ADJUST_TRIP": AdjustTripS1
  160 + };
  161 + }
  162 +
  163 + /**
  164 + * 返回策略函数
  165 + * @param str 标识
  166 + * @returns {function}
  167 + */
  168 + InternalStrategy.prototype.sFn = function(str) {
  169 + if (!this._oSTRATIGIS[str]) {
  170 + throw "指定标识" + str + "策略函数不存在!";
  171 + }
  172 + return this._oSTRATIGIS[str];
  173 + };
  174 + /**
  175 + * 替换策略配置
  176 + * @param str 策略函数标识
  177 + * @param fn 策略函数
  178 + */
  179 + InternalStrategy.prototype.sConfig = function(str, fn) {
  180 + this._oSTRATIGIS[str] = fn;
  181 + };
  182 +
  183 + return new InternalStrategy();
  184 +}());
0 185 \ No newline at end of file
... ...
src/main/resources/static/pages/base/timesmodel/js/v2/ParameterObj.js
... ... @@ -1236,7 +1236,7 @@ var ParameterObj = function() {
1236 1236 var paramObj = this;
1237 1237  
1238 1238 if (isUp) {
1239   - if (bcType == "in_") {
  1239 + if (bcType == "in_" || bcType == "in") {
1240 1240 return paramObj.getUpInLc();
1241 1241 } else if (bcType == "out") {
1242 1242 return paramObj.getUpOutLc();
... ... @@ -1250,7 +1250,7 @@ var ParameterObj = function() {
1250 1250 return paramObj.getUpNormalLc();
1251 1251 }
1252 1252 } else {
1253   - if (bcType == "in_") {
  1253 + if (bcType == "in_" || bcType == "in") {
1254 1254 return paramObj.getDownInLc();
1255 1255 } else if (bcType == "out") {
1256 1256 return paramObj.getDownOutLc();
... ...
src/main/resources/static/pages/base/timesmodel/js/v2/core/InternalBcObj.js
... ... @@ -94,6 +94,10 @@ InternalBcObj.prototype.setGroup = function(groupObj) {
94 94 this._$$_internal_group_obj = groupObj;
95 95 };
96 96  
  97 +InternalBcObj.prototype.getGroup = function() {
  98 + return this._$$_internal_group_obj
  99 +};
  100 +
97 101 /**
98 102 * 是否上行。
99 103 * @returns boolean
... ...
src/main/resources/static/pages/base/timesmodel/js/v2/core/InternalGroupObj.js
... ... @@ -53,6 +53,9 @@ InternalGroupObj.prototype.setLp = function(lpObj) {
53 53 bc2.setLp(lpObj);
54 54 }
55 55 };
  56 +InternalGroupObj.prototype.getLp = function() {
  57 + return this._$$_internal_lp_obj;
  58 +};
56 59  
57 60  
58 61  
... ...
src/main/resources/static/pages/base/timesmodel/js/v2/core/InternalLpObj.js
... ... @@ -962,6 +962,58 @@ InternalLpObj.prototype.fnAdjustBcTime = function(oParam) {
962 962 };
963 963  
964 964 /**
  965 + * 返回指定班次的上一个班次。
  966 + * @param oBc {moment} 指定班次
  967 + * @returns {object} 上一个班次,如果没有,返回false
  968 + */
  969 +InternalLpObj.prototype.getPreBc = function(oBc) {
  970 + // 获取车次链个数
  971 + var iBcChainCount = this.fnGetBcChainCount();
  972 +
  973 + var i;
  974 + var j;
  975 + var oBcIndex;
  976 + var iQIndex;
  977 + var iBcIndex;
  978 + var iBcCount;
  979 + var _oPreBc;
  980 + var _bFindCurrentBc = false;
  981 +
  982 + for (i = 0; i < iBcChainCount; i++) {
  983 + oBcIndex = this.fnGetBcChainInfo(i);
  984 + iQIndex = oBcIndex["s_q"];
  985 + iBcIndex = oBcIndex["s_b"];
  986 + iBcCount = oBcIndex["bcount"];
  987 +
  988 + for (j = 0; j < iBcCount - 1; j++) {
  989 + if (oBc.getFcTimeObj().format("HH:mm") ==
  990 + this.getBc(iQIndex, iBcIndex).getFcTimeObj().format("HH:mm")) {
  991 + _bFindCurrentBc = true;
  992 + break;
  993 + }
  994 +
  995 + // 进入到下一圈
  996 + iBcIndex = iBcIndex == 0 ? 1 : 0;
  997 + iQIndex = iBcIndex == 0 ? iQIndex + 1 : iQIndex;
  998 + }
  999 +
  1000 + if (_bFindCurrentBc) {
  1001 + if (iQIndex == oBcIndex["s_q"] && iBcIndex == oBcIndex["s_q"]) { // 第一个班次
  1002 + break;
  1003 + } else {
  1004 + _oPreBc = this.getBc(
  1005 + iBcIndex == 0 ? iQIndex - 1 : iQIndex,
  1006 + iBcIndex == 0 ? 1 : 0);
  1007 + }
  1008 + }
  1009 +
  1010 + }
  1011 +
  1012 + return _oPreBc || false;
  1013 +
  1014 +};
  1015 +
  1016 +/**
965 1017 * 是否能调整班次的发车时间。
966 1018 * @param oBc 指定班次
967 1019 * @param iStep 修正步长
... ... @@ -977,7 +1029,6 @@ InternalLpObj.prototype.isModifyBcFcsj = function(oBc, iStep, oParam) {
977 1029 var iQIndex;
978 1030 var iBcIndex;
979 1031 var iBcCount;
980   - var oBc;
981 1032 var oPreBc;
982 1033  
983 1034 var iBcStopTime;
... ... @@ -990,9 +1041,7 @@ InternalLpObj.prototype.isModifyBcFcsj = function(oBc, iStep, oParam) {
990 1041 iBcIndex = oBcIndex["s_b"];
991 1042 iBcCount = oBcIndex["bcount"];
992 1043  
993   - oPreBc = this.getBc(
994   - iBcIndex == 0 ? iQIndex - 1 : iQIndex,
995   - iBcIndex == 0 ? 1 : 0);
  1044 + oPreBc = this.getPreBc(oBc);
996 1045  
997 1046 // 如果是第一个班次
998 1047 if (!oPreBc) {
... ... @@ -1003,6 +1052,10 @@ InternalLpObj.prototype.isModifyBcFcsj = function(oBc, iStep, oParam) {
1003 1052 }
1004 1053 }
1005 1054  
  1055 + if (oPreBc.fnGetEatTime() > 0) { // 如果是吃饭班次,不能修改发车时间
  1056 + return false;
  1057 + }
  1058 +
1006 1059 aRangeStopTime = oParam.calcuTripLayoverTimeRange(
1007 1060 oPreBc.getArrTimeObj(), oPreBc.isUp(), oPreBc.getBcTime()
1008 1061 );
... ...
src/main/resources/static/pages/base/timesmodel/js/v2/core/InternalScheduleObj.js
... ... @@ -1732,133 +1732,15 @@ var InternalScheduleObj = function(paramObj, lpArray, factory) {
1732 1732 },
1733 1733  
1734 1734 /**
1735   - * 调整班次间隔。
1736   - * @param boolean isUp 是否上行
  1735 + * 调整班次间隔(使用策略类)。
1737 1736 * @param oStartTime 开始时间对象
1738   - * @param fre int 迭代次数
1739 1737 */
1740   - fnAdjustBcInterval: function(isUp, oStartTime, fre) {
1741   - if (fre > 0) {
1742   - var aBc = !oStartTime ? _fnGetBcList(isUp) : _fnGetBcList2(isUp, oStartTime); // 指定方向的班次列表
1743   -
1744   - aBc.sort(function(o1, o2) {
1745   - if (o1.getFcTimeObj().isBefore(o2.getFcTimeObj())) {
1746   - return -1;
1747   - } else {
1748   - return 1;
1749   - }
1750   - });
1751   -
1752   - var i;
1753   - var j;
1754   -
1755   - var iBcCountOfGroup = 3; // 3个班次取一次计算
1756   - var aBcOfGroup; // 3个班次列表
1757   - var aBcIntervalOfGroup; // 班次间隔列表,如:3个班次,2个间隔
1758   - var oBcFcTime; // 班次发车时间
1759   -
1760   - for (i = 0; i <= aBc.length - iBcCountOfGroup; i++) {
1761   - aBcOfGroup = [];
1762   - aBcIntervalOfGroup = [];
1763   - for (j = i; j < i + iBcCountOfGroup; j++) {
1764   - aBcOfGroup.push(aBc[j]);
1765   - }
1766   -
1767   - for (j = 0; j < aBcOfGroup.length; j++) {
1768   - if (j < aBcOfGroup.length - 1) {
1769   - aBcIntervalOfGroup.push(aBcOfGroup[j + 1].getFcTimeObj().diff(
1770   - aBcOfGroup[j].getFcTimeObj(), "m"));
1771   - }
1772   - }
1773   -
1774   - // 判定规则
1775   - oBcFcTime = aBcOfGroup[1].getFcTimeObj();
1776   -
1777   - // 第一个班次发车时间不动,根据间隔,调整中间一个班次
1778   - // 如果3个班次2个间隔时间差1分钟,不调整
1779   - // 如果第一个间隔大,调整第二个班次往前1分钟
1780   - // 如果第二个间隔大,调整第二个班次往后1分钟
1781   -
1782   - if (_paramObj.isTroughBc(oBcFcTime) &&
1783   - aBcIntervalOfGroup[0] > _paramObj.getTroughMaxFcjx()) {
1784   -
1785   - // aBcOfGroup[1].addMinuteToFcsj(-1);
1786   -
1787   - // 判定是否能调整发车时间
1788   - if (aBcOfGroup[1]._$$_internal_lp_obj.isModifyBcFcsj(aBcOfGroup[1], -1, _paramObj)) {
1789   - aBcOfGroup[1]._$_fcsjObj.add(-1, "m");
1790   - aBcOfGroup[1].setArrTimeObj(_paramObj.addMinute(
1791   - aBcOfGroup[1].getFcTimeObj(),
1792   - _paramObj.calcuTravelTime(
1793   - aBcOfGroup[1].getFcTimeObj(),
1794   - aBcOfGroup[1].isUp())
1795   - ));
1796   -
1797   - }
1798   - }
1799   -
1800   - //else if (_paramObj.isMPeakBc(oBcFcTime) &&
1801   - // aBcIntervalOfGroup[0] < _paramObj.getMPeakMinFcjx()) {
1802   - // aBcOfGroup[1].addMinuteToFcsj(1);
1803   - //} else if (_paramObj.isMPeakBc(oBcFcTime) &&
1804   - // aBcIntervalOfGroup[0] > _paramObj.getMPeakMaxFcjx()) {
1805   - // aBcOfGroup[1].addMinuteToFcsj(-1);
1806   - //} else if (_paramObj.isEPeakBc(oBcFcTime) &&
1807   - // aBcIntervalOfGroup[0] < _paramObj.getEPeakMinFcjx()) {
1808   - // aBcOfGroup[1].addMinuteToFcsj(1);
1809   - //} else if (_paramObj.isEPeakBc(oBcFcTime) &&
1810   - // aBcIntervalOfGroup[0] > _paramObj.getEPeakMaxFcjx()) {
1811   - // aBcOfGroup[1].addMinuteToFcsj(-1);
1812   - //}
1813   -
1814   -
1815   - else {
1816   - if (Math.abs(aBcIntervalOfGroup[0] - aBcIntervalOfGroup[1]) <= 1) {
1817   - //continue;
1818   - } else if (aBcIntervalOfGroup[0] > aBcIntervalOfGroup[1]) {
1819   -
1820   -
1821   - // 判定是否能调整发车时间
1822   - if (aBcOfGroup[1]._$$_internal_lp_obj.isModifyBcFcsj(aBcOfGroup[1], -1, _paramObj)) {
1823   - aBcOfGroup[1]._$_fcsjObj.add(-1, "m");
1824   - aBcOfGroup[1].setArrTimeObj(_paramObj.addMinute(
1825   - aBcOfGroup[1].getFcTimeObj(),
1826   - _paramObj.calcuTravelTime(
1827   - aBcOfGroup[1].getFcTimeObj(),
1828   - aBcOfGroup[1].isUp())
1829   - ));
1830   - }
1831   -
1832   - // aBcOfGroup[1].addMinuteToFcsj(-1);
1833   - } else {
1834   - // aBcOfGroup[1].addMinuteToFcsj(1);
1835   -
1836   - // 判定是否能调整发车时间
1837   - if (aBcOfGroup[1]._$$_internal_lp_obj.isModifyBcFcsj(aBcOfGroup[1], 1, _paramObj)) {
1838   - aBcOfGroup[1]._$_fcsjObj.add(1, "m");
1839   - aBcOfGroup[1].setArrTimeObj(_paramObj.addMinute(
1840   - aBcOfGroup[1].getFcTimeObj(),
1841   - _paramObj.calcuTravelTime(
1842   - aBcOfGroup[1].getFcTimeObj(),
1843   - aBcOfGroup[1].isUp())
1844   - ));
1845   - }
1846   - }
1847   - }
1848   -
1849   - //if (Math.abs(aBcIntervalOfGroup[0] - aBcIntervalOfGroup[1]) <= 1) {
1850   - // //continue;
1851   - //} else if (aBcIntervalOfGroup[0] > aBcIntervalOfGroup[1]) {
1852   - // aBcOfGroup[1].addMinuteToFcsj(-1);
1853   - //} else {
1854   - // aBcOfGroup[1].addMinuteToFcsj(1);
1855   - //}
1856   -
1857   -
1858   - }
1859   -
1860   - this.fnAdjustBcInterval(isUp, oStartTime, fre - 1);
1861   - }
  1738 + fnAdjustBcInterval: function(oStartTime) {
  1739 + // 获取上行班次列表
  1740 + var aUpBc = !oStartTime ? _fnGetBcList(true) : _fnGetBcList2(true, oStartTime); // 指定方向的班次列表
  1741 + var aDownBc = !oStartTime ? _fnGetBcList(false) : _fnGetBcList2(false, oStartTime); // 指定方向的班次列表
  1742 + // 使用策略类调用指定策略函数,注意 AdjustTripStrategy.js 导入
  1743 + AdjustTripStrategy.sFn("ADJUST_TRIP")(aUpBc, aDownBc, this, _paramObj);
1862 1744  
1863 1745 },
1864 1746  
... ...
src/main/resources/static/pages/base/timesmodel/js/v2/main_v2.js
... ... @@ -540,6 +540,7 @@ var Main_v2 = function() {
540 540 z == 1 ? j + 1 : j,
541 541 z == 1 ? 0 : 1);
542 542  
  543 + oInternalBc_temp._$_isRealEat = true;
543 544 oInternalBc_temp._$_fcsj_desc = "(吃" + oInternalBc_temp.getFcTimeObj().format("HH:mm") + ")";
544 545 }
545 546  
... ... @@ -555,7 +556,9 @@ var Main_v2 = function() {
555 556 "isUp": oInternalBc._$_isUp, // 是否上行
556 557  
557 558 "bcType": oInternalBc._$_bcType, // 班次类型
558   - "fcsj": oInternalBc._$_fcsjObj.format("HH:mm"), // 发车时间描述
  559 + "fcsj": oInternalBc._$_isRealEat ?
  560 + ("*" + oInternalBc._$_fcsjObj.format("HH:mm")) :
  561 + oInternalBc._$_fcsjObj.format("HH:mm"), // 发车时间描述
559 562 "fcsjDesc" : oInternalBc._$_fcsj_desc || oInternalBc._$_fcsjObj.format("HH:mm"),
560 563  
561 564 "groupNo": j, // 第几圈
... ... @@ -791,24 +794,18 @@ var Main_v2 = function() {
791 794 // 8、调整路牌班次间隔(使用平均停站时间)
792 795 schedule.fnAdjustLpBcInterval(1);
793 796  
794   - // TODO:9、调整纵向班次间隔
795   - schedule.fnAdjustBcInterval(true, false, 5);
796   - schedule.fnAdjustBcInterval(false, false, 5);
797   -
798   - schedule.fnAdjustLpBcInterval(1);
799   -
800   - schedule.fnAdjustBcInterval(true, false, 5);
801   - schedule.fnAdjustBcInterval(false, false, 5);
  797 + // 9、调整纵向班次间隔
  798 + schedule.fnAdjustBcInterval(false);
802 799  
803 800 // 10、确定末班车
804 801 schedule.fnCalcuLastBc();
805 802  
806 803 // 11、祛除上标线结尾有删除标记的班次
807 804 schedule.fnRemoveDelLastFlagBc();
808   - //
809   - // // // TODO:12、平均化指定时间后的班次列表间隔
810   - // // schedule.fnAdjustBcInterval2_avg(true, _paramObj.toTimeObj("19:50"));
811   - // // schedule.fnAdjustBcInterval2_avg(false, _paramObj.toTimeObj("19:50"));
  805 +
  806 + // TODO:12、平均化指定时间后的班次列表间隔
  807 + // schedule.fnAdjustBcInterval2_avg(true, _paramObj.toTimeObj("19:50"));
  808 + // schedule.fnAdjustBcInterval2_avg(false, _paramObj.toTimeObj("19:50"));
812 809  
813 810 // 10、补进出场例保班次
814 811 schedule.fnCalcuOtherBc();
... ...