Commit 91f214b32992fd23d1d22baa5ac033ece39405fa

Authored by 李强
1 parent b5db7075

bsthlq <2519941818@qq.com>

src/main/resources/static/pages/base/timesmodel/bctz.html
... ... @@ -18,9 +18,10 @@
18 18 <table class="table table-striped table-bordered table-hover table-checkable" id="datatable_bctz">
19 19 <thead>
20 20 <tr role="row" class="heading">
21   - <th width="33%">路牌</th>
22   - <th width="33%">当前班次数</th>
23   - <th width="33%">调整班次数</th>
  21 + <th width="25%">路牌编码</th>
  22 + <th width="25%">路牌名称</th>
  23 + <th width="25%">当前班次数</th>
  24 + <th width="25%">调整班次数</th>
24 25 </tr>
25 26 </thead>
26 27 <tbody></tbody>
... ... @@ -40,13 +41,16 @@
40 41 {{each list as obj i }}
41 42 <tr role="row" class="filter">
42 43 <td>
43   - <input type="text" readonly class="form-control form-filter input-sm" name="lpname_{{i+1}}" value="{{obj.lpNo}}">
  44 + <input type="text" readonly class="form-control form-filter input-sm" name="lpno_{{i+1}}" value="{{obj.lpNo}}">
  45 + </td>
  46 + <td>
  47 + <input type="text" readonly class="form-control form-filter input-sm" name="lpname_{{i+1}}" value="{{obj.lpName}}">
44 48 </td>
45 49 <td>
46 50 <input type="text" readonly class="form-control form-filter input-sm" name="dqbc_{{i+1}}" value="{{obj.bcs}}">
47 51 </td>
48 52 <td>
49   - <input type="number" class="form-control form-filter input-sm" name="{{i+1}}" value="{{obj.bcs}}">
  53 + <input type="number" class="form-control form-filter input-sm" name="{{i+1}}" value="{{obj.bcs}}" min="0">
50 54 </td>
51 55 </tr>
52 56 {{/each}}
... ... @@ -57,230 +61,239 @@
57 61 {{/if}}
58 62 </script>
59 63 <script type="text/javascript">
60   -$('#tzbc_mobal').on('tzbcMobal.show', function(e,obj,cardata,bf){
61   - setTimeout(function(){
62   - // 加载延迟200毫秒显示mobal
63   - $('#tzbc_mobal').modal({show : true,backdrop: 'static', keyboard: false});
64   - },200);
65   - // 当模态框对用户可见时触发(将等待 CSS 过渡效果完成)。
66   - $('#tzbc_mobal').on('show.bs.modal', function () {
67   - // 把数据填充到模版中
68   - var tbodyHtml = template('bctz_temp',{list:cardata});
69   - // 把渲染好的模版html文本追加到表格中
70   - $('#datatable_bctz tbody').html(tbodyHtml);
71   - });
72   - // 获取表单元素
73   - var form = $('#tzbcForm');
74   - // 错误提示元素
75   - var tzbcAlert = $('#tzbcAlert', form);
76   - // 下一步点击事件
77   - $('#tzbcnext').on('click', function() {
78   - form.submit();// 表单提交
79   - });
80   - // 表单验证
81   - form.validate({
82   - errorElement : 'span',
83   - errorClass : 'help-block help-block-error',
84   - focusInvalid : false,
85   - rules : {
86   - },
87   - invalidHandler : function(event, validator) {
88   - tzbcAlert.show();
89   - App.scrollTo(reladplusname, -200);
90   - },
91   - highlight : function(element) {
92   - $(element).closest('.form-group').addClass('has-error');
93   - },
94   - unhighlight : function(element) {
95   - $(element).closest('.form-group').removeClass('has-error');
96   - },
97   - success : function(label) {
98   - label.closest('.form-group').removeClass('has-error');
99   - },
100   - submitHandler : function(f) {
101   - // 1、 获取表单内容,并序列化
102   - var params = form.serializeJSON();
103   - var dataMap = obj.configuration.dataMap;
104   - // 2、 调整路牌对应的班次总数
105   - updFormParams(params);
106   - // 3、调整班次.并重新给定班次序号和发车序号.再确定首末班车时间.最后渲染数据
107   - obj.data(bf.tzsmbcsj01(bf.setbcsAndfcno(tzbcDate()),
108   - obj.configuration.dataMap.smbcsjArr,
109   - obj.configuration.dataMap.ccsjArr,
110   - obj.configuration.dataMap.cclcArr,
111   - obj.configuration.dataMap.qdzArr,
112   - obj.configuration.dataMap.lbsj,dataMap));
113   - // 3、记录早操.并保存历史班次数据
114   - obj.addHistory();
115   - // 5、隐藏错误提示
116   - tzbcAlert.hide();
117   - // 6、隐藏 reladplus_mobal 弹出层
118   - $('#tzbc_mobal').modal('hide');
119   - }
120   - });
121   -
122   - /**
123   - * @description : (TODO) 调整路牌对应的班次总数.
124   - *
125   - * ❀ 根据路牌对应班次的数值,把路牌对应的当前班次总数修改成调整后的班次总数,并转为数值类型以及把空值转为0.
126   - *
127   - * @params : [p--表单序列化对象].
128   - */
129   - function updFormParams(p) {
130   - for(var i= 0;i<cardata.length;i++) {
131   - if(p[i+1] != undefined) {
132   - if(p[i+1]=='')
133   - cardata[i].tzbc = 0;
134   - else
135   - cardata[i].tzbc = parseInt(p[i+1]);
  64 +$('#tzbc_mobal').on('tzbcMobal.show', function(e,obj,cardata,bf,error){
  65 + if(obj != null && obj !='' && bf != null && bf!='' && cardata.length>0){
  66 + // 延迟200毫秒显示mobal
  67 + setTimeout(function(){$('#tzbc_mobal').modal({show : true,backdrop: 'static', keyboard: false});},200);
  68 + // 当模态框对用户可见时触发(将等待 CSS 过渡效果完成)。
  69 + $('#tzbc_mobal').on('show.bs.modal', function () {
  70 + // 把数据填充到模版中
  71 + var tbodyHtml = template('bctz_temp',{list:cardata});
  72 + // 把渲染好的模版html文本追加到表格中
  73 + $('#datatable_bctz tbody').html(tbodyHtml);
  74 + });
  75 + // 获取表单元素
  76 + var form = $('#tzbcForm');
  77 + // 错误提示元素
  78 + var tzbcAlert = $('#tzbcAlert', form);
  79 + // 下一步点击事件
  80 + $('#tzbcnext').on('click', function() {
  81 + form.submit();// 表单提交
  82 + });
  83 + // 表单验证
  84 + form.validate({
  85 + errorElement : 'span',
  86 + errorClass : 'help-block help-block-error',
  87 + focusInvalid : false,
  88 + rules : {
  89 + },
  90 + invalidHandler : function(event, validator) {
  91 + tzbcAlert.show();
  92 + App.scrollTo(reladplusname, -200);
  93 + },
  94 + highlight : function(element) {
  95 + $(element).closest('.form-group').addClass('has-error');
  96 + },
  97 + unhighlight : function(element) {
  98 + $(element).closest('.form-group').removeClass('has-error');
  99 + },
  100 + success : function(label) {
  101 + label.closest('.form-group').removeClass('has-error');
  102 + },
  103 + submitHandler : function(f) {
  104 + // 1、 获取表单内容,并序列化
  105 + var params = form.serializeJSON();
  106 + var dataMap = obj.configuration.dataMap;
  107 + // 2、 调整路牌对应的班次总数
  108 + updFormParams(params);
  109 + // 3、调整班次.并重新给定班次序号和发车序号.再确定首末班车时间.最后渲染数据.
  110 + var jar = bf.tzsmbcsj01(bf.setbcsAndfcno(tzbcDate()),
  111 + obj.configuration.dataMap.smbcsjArr,
  112 + obj.configuration.dataMap.ccsjArr,
  113 + obj.configuration.dataMap.cclcArr,
  114 + obj.configuration.dataMap.qdzArr,
  115 + obj.configuration.dataMap.lbsj,dataMap);
  116 + obj.data(bf.addjcclcbc01(obj.configuration.taskTypes,jar,dataMap,
  117 + obj.configuration.stopAraay,obj.configuration.dataMap.map));
  118 + // 3、记录早操.并保存历史班次数据
  119 + obj.addHistory();
  120 + // 5、隐藏错误提示
  121 + tzbcAlert.hide();
  122 + // 6、隐藏 reladplus_mobal 弹出层
  123 + $('#tzbc_mobal').modal('hide');
  124 + }
  125 + });
  126 +
  127 + /**
  128 + * @description : (TODO) 调整路牌对应的班次总数.
  129 + *
  130 + * ❀ 根据路牌对应班次的数值,把路牌对应的当前班次总数修改成调整后的班次总数,并转为数值类型以及把空值转为0.
  131 + *
  132 + * @params : [p--表单序列化对象].
  133 + */
  134 + function updFormParams(p) {
  135 + for(var i= 0;i<cardata.length;i++) {
  136 + if(p[i+1] != undefined) {
  137 + if(p[i+1]=='')
  138 + cardata[i].tzbc = 0;
  139 + else
  140 + cardata[i].tzbc = parseInt(p[i+1]);
  141 + }
136 142 }
137 143 }
138   - }
139   -
140   - /**
141   - * @description : (TODO)调整班次.
142   - *
143   - * @return : 返回一个数组.这里返回的是一个调整完班次数后的数组.
144   - */
145   - function tzbcDate() {
146   - // 1、获取当前所有的班次数.
147   - var dr = obj.getDataArray(),
148   - result = new Array();// 定义返回数组对象.
149   - // 2、遍历路牌对应的班次总数.
150   - for(var i = 0 ; i<cardata.length;i++) {
151   - var zcbcsz = new Array(),// 定义当前路牌下的正常班次数组.
152   - zwlbbcsz = new Array(),// 定义当前路牌下的早晚例保、吃饭班次数组.
153   - jccbcs = 0,// 进出场班次数.这个值是为了计算总班次数时除去时间为空的班次
154   - jccbcsz = new Array();// 定义当前路牌下的进出场班次数组.
155   - // 3、遍历当前所有的班次数.
156   - for(var j = 0 ;j<dr.length;j++) {
157   - // 4、判断当前遍历的班次是否属于当前路牌对应的班次数组对象.
158   - if(cardata[i].lpNo == dr[j].parent && dr[j].bcsj>0 ){
159   - // 5、把当前班次添加到上序定义的不同班次数组中.
160   - if(dr[j].bcType =='bd' || dr[j].bcType=='lc' || dr[j].bcType =='cf')
161   - zwlbbcsz.push(dr[j]);// 添加到早晚例保、吃饭班次数组中.
162   - else if(dr[j].bcType=='in' || dr[j].bcType =='out')
163   - jccbcs++;
164   - else
165   - zcbcsz.push(dr[j]);// 添加到正常班次数组.
166   - }
167   - if(cardata[i].lpNo == dr[j].parent && (dr[j].bcType=='in' || dr[j].bcType =='out')) {
168   - jccbcsz.push(dr[j]);// 添加到进出场班次数组中.
  144 +
  145 + /**
  146 + * @description : (TODO)调整班次.
  147 + *
  148 + * @return : 返回一个数组.这里返回的是一个调整完班次数后的数组.
  149 + */
  150 + function tzbcDate() {
  151 + // 1、获取当前所有的班次数.
  152 + var dr = obj.getDataArray(),
  153 + result = new Array();// 定义返回数组对象.
  154 + // 2、遍历路牌对应的班次总数.
  155 + for(var i = 0 ; i<cardata.length;i++) {
  156 + var zcbcsz = new Array(),// 定义当前路牌下的正常班次数组.
  157 + zwlbbcsz = new Array(),// 定义当前路牌下的早晚例保、吃饭班次数组.
  158 + jccbcs = 0,// 进出场班次数.这个值是为了计算总班次数时除去时间为空的班次
  159 + jccbcsz = new Array();// 定义当前路牌下的进出场班次数组.
  160 + // 3、遍历当前所有的班次数.
  161 + for(var j = 0 ;j<dr.length;j++) {
  162 + // 4、判断当前遍历的班次是否属于当前路牌对应的班次数组对象.
  163 + if(cardata[i].lpNo == dr[j].parent && dr[j].bcsj>0 ){
  164 + // 5、把当前班次添加到上序定义的不同班次数组中.
  165 + if(dr[j].bcType =='bd' || dr[j].bcType=='lc' || dr[j].bcType =='cf')
  166 + zwlbbcsz.push(dr[j]);// 添加到早晚例保、吃饭班次数组中.
  167 + else if(dr[j].bcType=='in' || dr[j].bcType =='out')
  168 + jccbcs++;
  169 + else
  170 + zcbcsz.push(dr[j]);// 添加到正常班次数组.
  171 + }
  172 + if(cardata[i].lpNo == dr[j].parent && (dr[j].bcType=='in' || dr[j].bcType =='out')) {
  173 + jccbcsz.push(dr[j]);// 添加到进出场班次数组中.
  174 + }
169 175 }
170   - }
171   - // 6、调整班次
172   - result = result.concat(tcbcgz(bf.pxarr(zcbcsz),cardata[i].tzbc,zwlbbcsz,bf.pxarr(jccbcsz),jccbcs,cardata[i]));
  176 + // 6、调整班次
  177 + result = result.concat(tcbcgz(bf.pxarr(zcbcsz),cardata[i].tzbc,zwlbbcsz,bf.pxarr(jccbcsz),jccbcs,cardata[i]));
  178 + }
  179 + return result;
173 180 }
174   - return result;
175   - }
176   -
177   - /**
178   - * @description : (TODO)
179   - *
180   - * @params : [ar-- 当前路牌下的正常班次数组;num--当前路牌对应的班次总数;qa--当前路牌下的早晚例保、吃饭班次数组,ja--当前路牌下的进出场班次数组]
181   - *
182   - * @return : 返回一个数组.这里返回一个根据班次总数调整过车班次数组
183   - */
184   - function tcbcgz(ar,num,qa,ja,jccbcs,cara) {
185   - var rsbcA = new Array();
186   - if(ar.length>0) {
187   - var ra_ = new Array();
188   - var _dx = num-jccbcs;// 班次总数值 - 进出时间大于零的班次 = 正常班次数
189   - var lastbcsjStr = ar[ar.length-1].ARRIVALTIME;// 标记调整班次之前最后一个班次的达到时间
190   - var fcno_ = Math.abs(ar.length+jccbcs-num),// 调整班次差
191   - tempS = '';// 标记调整班次是添加还是剔除[jq--剔除;add--添加]
192   - var fxdm = bf.dirDmToIndex(ar[ar.length-1].xlDir);// 标记调整班次之前最后一个班次的方向
193   - // 如果调整班次差是成对的,那么方向一致.否则改变方向
194   - if(fcno_%2!=0)
195   - fxdm = bf.getfx(1,fxdm);// 改变方向
196   - // 如果当前路牌的班次总数大于等于调整后的班次总数则截取班次,反之添加班次
197   - if(ar.length>=_dx) {
198   - ra_ = ar.splice(0,_dx);// 截取班次数(这里从下标0开始截取到 对应的班次总数值)
199   - tempS = 'jq';
200   - }else if(ar.length<_dx) {
201   - var tzsj_ = obj.configuration.dataMap.ztjxA[fxdm],sh = ar[ar.length-1];
202   - var startTime = new Date();
203   - var strArray = sh.ARRIVALTIME.split(':');
204   - startTime.setHours(parseInt(strArray[0]));
205   - startTime.setMinutes(parseInt(strArray[1]) + tzsj_);
206   - bf.addbc(obj,sh,startTime,tzsj_,sh.fcno + 1,ar,_dx - ar.length);
207   - ra_ = ar;
208   - tempS = 'add';
209   - }
210   - rsbcA = tzsj(ra_,qa,ja,lastbcsjStr,fcno_,tempS,fxdm);
211   - }else if(ar.length==0) {
212   - rsbcA = bf.addlpbc(obj,bf,cara.lpNo,num);
  181 +
  182 + /**
  183 + * @description : (TODO)
  184 + *
  185 + * @params : [ar-- 当前路牌下的正常班次数组;num--当前路牌对应的班次总数;qa--当前路牌下的早晚例保、吃饭班次数组,ja--当前路牌下的进出场班次数组]
  186 + *
  187 + * @return : 返回一个数组.这里返回一个根据班次总数调整过车班次数组
  188 + */
  189 + function tcbcgz(ar,num,qa,ja,jccbcs,cara) {
  190 + var rsbcA = new Array();
  191 + if(ar.length>0) {
  192 + var ra_ = new Array();
  193 + var _dx = num-jccbcs;// 班次总数值 - 进出时间大于零的班次 = 正常班次数
  194 + var lastbcsjStr = ar[ar.length-1].ARRIVALTIME;// 标记调整班次之前最后一个班次的达到时间
  195 + var fcno_ = Math.abs(ar.length+jccbcs-num),// 调整班次差
  196 + tempS = '';// 标记调整班次是添加还是剔除[jq--剔除;add--添加]
  197 + var fxdm = bf.dirDmToIndex(ar[ar.length-1].xlDir);// 标记调整班次之前最后一个班次的方向
  198 + // 如果调整班次差是成对的,那么方向一致.否则改变方向
  199 + if(fcno_%2!=0)
  200 + fxdm = bf.getfx(1,fxdm);// 改变方向
  201 + // 如果当前路牌的班次总数大于等 于调整后的班次总数则截取班次,反之添加班次
  202 + if(ar.length>=_dx) {
  203 + ra_ = ar.splice(0,_dx);// 截取班次数(这里从下标0开始截取到 对应的班次总数值)
  204 + tempS = 'jq';
  205 + }else if(ar.length<_dx) {
  206 + var sh = ar[ar.length-1];
  207 + var cctag = bf.dirDmToIndex(ar[ar.length-1].xlDir);// 标记调整班次之前最后一个班次的方向
  208 + cctag = bf.getfx(1,cctag);// 改变方向
  209 + var startTime = new Date();
  210 + var strArray = sh.ARRIVALTIME.split(':');
  211 + startTime.setHours(parseInt(strArray[0]));
  212 + startTime.setMinutes(parseInt(strArray[1]));
  213 + var tzjx = bf.isgfsjd01(startTime,obj.configuration.dataMap) ? obj.configuration.dataMap.gftzsj[cctag] : obj.configuration.dataMap.dgtzsj[cctag];
  214 + startTime.setMinutes(parseInt(strArray[1]) + tzjx);
  215 + bf.addbc(obj , sh , startTime , tzjx, (sh.fcno + 1),ar, (_dx - ar.length));
  216 + ra_ = ar;
  217 + tempS = 'add';
  218 + }
  219 + // rsbcA = tzsj(ra_,qa,ja,lastbcsjStr,fcno_,tempS,fxdm);
  220 + rsbcA = ra_;
  221 + }else if(ar.length==0) {
  222 + rsbcA = bf.addlpbc(obj,bf,cara.lpNo,num);
  223 + }
  224 + return rsbcA;
213 225 }
214   - return rsbcA;
215   - }
216   -
217   - /**
218   - * @description : (TODO) 调整时间
219   - *
220   - * @params : [a1-- 当前路牌下的正常班次数组;a2--当前路牌下的早晚例保、吃饭班次数组;a3--当前路牌下的进出场班次数组]
221   - *
222   - * @return : 返回一个数组.这里返回的是一个调整时间后的班次数组
223   - */
224   - function tzsj(a1,a2,a3,sjstr,fcno_,tempS,fxdm) {
225   - return a1.concat(jsjclc(a1[a1.length-1].ARRIVALTIME,a2,a3,sjstr,fcno_,tempS,fxdm));
226   - }
227   -
228   - /**
229   - * @description : (TODO)调整进出场、离场班次
230   - *
231   - * @params : [st--当前路牌最后一个班次的到达时间;ar--当前路牌下的早晚例保、吃饭班次数组,pa--当前路牌下的进出场班次数组]
232   - *
233   - * @return
234   - */
235   - function jsjclc(st,ar,pa,sjstr,fcno_,tempS,fxdm) {
236   - // 1、修改进出场班次.
237   - for(var p = 0;p<pa.length;p++) {
238   - // A)、如果当前班次的发车时间等于 在没有调整班次总数之前的最后一个班次的到达时间,则这个班次是在没有调整班次之前的那个进场班次
239   - if(pa[p].fcsj == sjstr && pa[p].bcType =='in') {
240   - pa[p].fcsj = st;
241   - pa[p].bcsj = obj.configuration.dataMap.ccsjArr[fxdm];
242   - pa[p].xlDir = obj.configuration.dataMap.dira[fxdm];
243   - var _s = bf.getDateTime(st);
244   - var _tt = new Date(_s);
245   - _tt.setMinutes(_tt.getMinutes()+pa[p].bcsj);
246   - var ddsjStr = bf.getTimeStr(_tt);
247   - pa[p].ARRIVALTIME = ddsjStr;
248   - if(tempS =='add')
249   - pa[p].fcno = pa[p].fcno+fcno_;
250   - else if(tempS =='jq')
251   - pa[p].fcno = pa[p].fcno-fcno_;
252   - }
253   - // B)、剔除掉 当前班次的到达时间大于调整班次过后最后一个班次到达时间的班次
254   - if((bf.getDateTime(pa[p].ARRIVALTIME)-bf.getDateTime(st))/60000 > pa[p].bcsj) {
255   - console.log('{' + pa[p].lpNo + '----' + pa[p].ARRIVALTIME + '----' + st + '}');
256   - console.log('修改进出场班次时...该班次的到达时间大于了最后一个班次的到达时间,应该剔除掉!');
257   - pa.splice(p,1);
258   - }
  226 +
  227 + /**
  228 + * @description : (TODO) 调整时间
  229 + *
  230 + * @params : [a1-- 当前路牌下的正常班次数组;a2--当前路牌下的早晚例保、吃饭班次数组;a3--当前路牌下的进出场班次数组]
  231 + *
  232 + * @return : 返回一个数组.这里返回的是一个调整时间后的班次数组
  233 + */
  234 + function tzsj(a1,a2,a3,sjstr,fcno_,tempS,fxdm) {
  235 + return a1.concat(jsjclc(a1[a1.length-1].ARRIVALTIME,a2,a3,sjstr,fcno_,tempS,fxdm));
259 236 }
260   - // 2、修改晚例保班次.
261   - for(var i = 0 ; i<ar.length;i++) {
262   - // A)、修改离场班次属性值
263   - if(ar[i].bcType=='lc') {
264   - ar[i].fcsj = ddsjStr;
265   - ar[i].xlDir = obj.configuration.dataMap.dira[fxdm];
266   - var _lcs = bf.getDateTime(ddsjStr);
267   - var _lctt = new Date(_lcs);
268   - _lctt.setMinutes(_lctt.getMinutes()+ar[i].bcsj);
269   - ar[i].ARRIVALTIME = bf.getTimeStr(_lctt);
270   - if(tempS =='add')
271   - ar[i].fcno = ar[i].fcno+fcno_;
272   - else if(tempS =='jq')
273   - ar[i].fcno = ar[i].fcno-fcno_;
  237 +
  238 + /**
  239 + * @description : (TODO)调整进出场、离场班次
  240 + *
  241 + * @params : [st--当前路牌最后一个班次的到达时间;ar--当前路牌下的早晚例保、吃饭班次数组,pa--当前路牌下的进出场班次数组]
  242 + *
  243 + * @return
  244 + */
  245 + function jsjclc(st,ar,pa,sjstr,fcno_,tempS,fxdm) {
  246 + // 1、修改进出场班次.
  247 + for(var p = 0;p<pa.length;p++) {
  248 + // A)、如果当前班次的发车时间等于 在没有调整班次总数之前的最后一个班次的到达时间,则这个班次是在没有调整班次之前的那个进场班次
  249 + if(pa[p].fcsj == sjstr && pa[p].bcType =='in') {
  250 + pa[p].fcsj = st;
  251 + pa[p].bcsj = obj.configuration.dataMap.ccsjArr[fxdm];
  252 + pa[p].xlDir = obj.configuration.dataMap.dira[fxdm];
  253 + var _s = bf.getDateTime(st);
  254 + var _tt = new Date(_s);
  255 + _tt.setMinutes(_tt.getMinutes()+pa[p].bcsj);
  256 + var ddsjStr = bf.getTimeStr(_tt);
  257 + pa[p].ARRIVALTIME = ddsjStr;
  258 + if(tempS =='add')
  259 + pa[p].fcno = pa[p].fcno+fcno_;
  260 + else if(tempS =='jq')
  261 + pa[p].fcno = pa[p].fcno-fcno_;
  262 + }
  263 + // B)、剔除掉 当前班次的到达时间大于调整班次过后最后一个班次到达时间的班次
  264 + if((bf.getDateTime(pa[p].ARRIVALTIME)-bf.getDateTime(st))/60000 > pa[p].bcsj) {
  265 + console.log('{' + pa[p].lpNo + '----' + pa[p].ARRIVALTIME + '----' + st + '}');
  266 + console.log('修改进出场班次时...该班次的到达时间大于了最后一个班次的到达时间,应该剔除掉!');
  267 + pa.splice(p,1);
  268 + }
274 269 }
275   - // B)、剔除掉 当前班次的到达时间大于调整班次过后最后一个班次到达时间的班次
276   - if(bf.getDateTime(ar[i].ARRIVALTIME)>bf.getDateTime(st) && ar[i].bcType!='lc') {
277   - console.log('{' + ar[i].lpNo + '----' + ar[i].ARRIVALTIME + '----' + st + '}')
278   - console.log('修改晚例保班次时...该班次的到达时间大于了最后一个班次的到达时间,应该剔除掉!');
279   - ar.splice(i,1);
  270 + // 2、修改晚例保班次.
  271 + for(var i = 0 ; i<ar.length;i++) {
  272 + // A)、修改离场班次属性值
  273 + if(ar[i].bcType=='lc') {
  274 + ar[i].fcsj = ddsjStr;
  275 + ar[i].xlDir = obj.configuration.dataMap.dira[fxdm];
  276 + var _lcs = bf.getDateTime(ddsjStr);
  277 + var _lctt = new Date(_lcs);
  278 + _lctt.setMinutes(_lctt.getMinutes()+ar[i].bcsj);
  279 + ar[i].ARRIVALTIME = bf.getTimeStr(_lctt);
  280 + if(tempS =='add')
  281 + ar[i].fcno = ar[i].fcno+fcno_;
  282 + else if(tempS =='jq')
  283 + ar[i].fcno = ar[i].fcno-fcno_;
  284 + }
  285 + // B)、剔除掉 当前班次的到达时间大于调整班次过后最后一个班次到达时间的班次
  286 + if(bf.getDateTime(ar[i].ARRIVALTIME)>bf.getDateTime(st) && ar[i].bcType!='lc') {
  287 + console.log('{' + ar[i].lpNo + '----' + ar[i].ARRIVALTIME + '----' + st + '}')
  288 + console.log('修改晚例保班次时...该班次的到达时间大于了最后一个班次的到达时间,应该剔除掉!');
  289 + ar.splice(i,1);
  290 + }
280 291 }
281   - }
282   - // 3、合并进出场、例保班次,并返回.
283   - return pa.concat(ar);
284   - }
  292 + // 3、合并进出场、例保班次,并返回.
  293 + return pa.concat(ar);
  294 + }
  295 + } else{
  296 + error.show('参数异常!','【 obj:' + obj + ' , cardata:' + cardata + ' , bf:' + bf + '】');
  297 + }
285 298 });
286 299 </script>
287 300 \ No newline at end of file
... ...
src/main/resources/static/pages/base/timesmodel/gantt.html
... ... @@ -87,7 +87,7 @@
87 87 </li>
88 88 <li>
89 89 <a href="javascript:" class="tool-action aboutread">
90   - <i class="fa fa-arrows-v"></i>&nbsp;调整班次
  90 + <i class="fa fa-arrows-v"></i>&nbsp;班次调整
91 91 </a>
92 92 </li>
93 93 </ul>
... ... @@ -116,4 +116,5 @@
116 116 <script src="/pages/base/timesmodel/js/ContextJS/js/context.js"></script>
117 117 <script src="/pages/base/timesmodel/js/base-fun.js"></script>
118 118 <script src="/pages/base/timesmodel/js/d3.relationshipgraph.js"></script>
  119 +<script src="/pages/base/timesmodel/js/errorinfo.js"></script>
119 120 <script src="/pages/base/timesmodel/js/gantt.js"></script>
120 121 \ No newline at end of file
... ...
src/main/resources/static/pages/base/timesmodel/js/base-fun.js
... ... @@ -426,9 +426,11 @@ var BaseFun = function() {
426 426 lpbc_.push(rsjar[x]);
427 427 }
428 428 }
429   - baseF.addcfbc01(lpbc_,dataMap,map);
430 429 // 按照发车序号顺序排序.
431 430 lpbc_.sort(function(a,b){return a.fcno-b.fcno});
  431 + baseF.addcfbc01(lpbc_,dataMap,map);
  432 + // 按照发车序号顺序排序.
  433 + // lpbc_.sort(function(a,b){return a.fcno-b.fcno});
432 434 var tt = baseF.addjclbbc01(lpbc_,dataMap,saa[0].lbsj,map);
433 435 bcs = baseF.updfcno01(tt,bcs);
434 436 // debugger;
... ... @@ -453,12 +455,17 @@ var BaseFun = function() {
453 455  
454 456 addcfbc01 : function(lpbcar,dataMap,map) {
455 457 var gs = 0 ,sicftag = true;
456   - for(var g = 0 ; g <lpbcar.length;g++ ) {
457   - gs = gs + lpbcar[g].bcsj + lpbcar[g].STOPTIME;
458   - if(lpbcar[g].STOPTIME==0 && g!=0 && g!=(lpbcar.length-1)) {
  458 + for(var g = 0 ; g <lpbcar.length-1;g++ ) {
  459 + if( parseInt((baseF.getDateTime(lpbcar[g+1].fcsj) - baseF.getDateTime(lpbcar[g].ARRIVALTIME))/60000) > 80
  460 + && lpbcar[g].STOPTIME==0 ) {
459 461 lpbcar[g].isfb = 1;
460   - sicftag = false;
461 462 }
  463 + /*gs = gs + lpbcar[g].bcsj + lpbcar[g].STOPTIME;
  464 + if(lpbcar[g].STOPTIME==0 && g>0 && g<(lpbcar.length-1)) {
  465 + debugger;
  466 + lpbcar[g].isfb = 1;
  467 + sicftag = false;
  468 + }*/
462 469 }
463 470 /*if(sicftag) {
464 471 for(var j = 0 ; j <lpbcar.length;j ++ ) {
... ... @@ -1940,8 +1947,10 @@ var BaseFun = function() {
1940 1947 kssj,
1941 1948 obj.configuration.dataMap.pcxssjArr,
1942 1949 obj.configuration.dataMap.gfxxsjArr,cctag);// 获取行驶时间
1943   - tzsj = obj.configuration.dataMap.ztjxA[cctag];
1944   - var temptzsj = t == num-1 ? 0 : tzsj;
  1950 + // tzsj = obj.configuration.dataMap.ztjxA[cctag];
  1951 + var tzjx = baseF.isgfsjd01(kssj,obj.configuration.dataMap) ? obj.configuration.dataMap.gftzsj[cctag] : obj.configuration.dataMap.dgtzsj[cctag];
  1952 + var temptzsj = ((t == num-1) ? 0 : tzsj);
  1953 + /*var xs_tzsj = baseF.isLastbc(kssj,endTime,tzsj,_xxsj) ? 0 : tzsj;*/
1945 1954 jsonArray.push(baseF.getbcObj( kssj,
1946 1955 _xxsj,
1947 1956 carArray,
... ... @@ -1954,7 +1963,7 @@ var BaseFun = function() {
1954 1963 obj.configuration.dataMap.zdzArr[cctag],
1955 1964 null,temptzsj,0));
1956 1965 // kssj = new Date(kssj.setMinutes(kssj.getMinutes() + temptzsj));
1957   - kssj.setMinutes(kssj.getMinutes() + temptzsj)
  1966 + kssj.setMinutes(kssj.getMinutes() + tzjx)
1958 1967 }
1959 1968 lastObj.STOPTIME = 10;
1960 1969 },
... ...
src/main/resources/static/pages/base/timesmodel/js/d3.relationshipgraph.js
... ... @@ -229,7 +229,7 @@ $(&#39;.updownread&#39;).on(&#39;click&#39;,function() {
229 229 /************************************************************************************************************************************************/
230 230  
231 231 /**
232   - * @description : (TODO) 调整班次点击事件
  232 + * @description : (TODO) 班次调整点击事件
233 233 *
234 234 * @status OK.
235 235 ************************************************************************************************************************************************/
... ... @@ -417,31 +417,6 @@ $(&#39;.editlp&#39;).on(&#39;click&#39;,function() {
417 417 });
418 418 /************************************************************************************************************************************************/
419 419  
420   -/**
421   - * @description : (TODO)获取路牌对应的班次数(这里的班次不包括早晚例保班次、吃饭时间)
422   - *
423   - * @params : [a1--班次数组;a2--路牌数组]
424   - *
425   - * @return : 返回一个数组.这里返回的是一个封装的每个路牌对应的班次数(这里的班次不包括早晚例保班次、吃饭时间、班次时间为0的班次)
426   - ************************************************************************************************************************************************/
427   -var getbczs = function (a1,a2) {
428   - var array = new Array();
429   - // 1、遍历路牌数组
430   - for(var i = 0;i<a2.length;i++) {
431   - var bcs = 0;
432   - // 2、遍历班次数组
433   - for(var j =0;j<a1.length;j++) {
434   - // 3、判断当前班次j是否属于当前路牌i下,除去早晚例保班次、吃饭时间、班次时间为0的班次
435   - if(a1[j].parent == a2[i].lpA.lpNo && a1[j].bcType!='bd' && a1[j].bcType!='lc' && a1[j].bcType!='cf' && a1[j].bcsj>0)
436   - bcs++;
437   - }
438   - // 4、把每个路牌下的对应班次数一一封装在一起,并添加到返回数组里边
439   - array.push({lpNo:a2[i].lpA.lpNo,bcs:bcs});
440   - }
441   - return array;
442   -}
443   -/************************************************************************************************************************************************/
444   -
445 420  
446 421 /**
447 422 * d3动画过度
... ... @@ -937,6 +912,44 @@ var RelationshipGraph = function () {
937 912 return dataArray;
938 913 }
939 914 }, {
  915 + /**
  916 + * @description : (TODO) 获取路牌对应的班次数(这里的班次不包括早晚例保班次、吃饭时间)
  917 + *
  918 + * @params : [a1--班次数组;a2--路牌数组]
  919 + *
  920 + * @return : 返回一个数组.这里返回的是一个封装的每个路牌对应的班次数(这里的班次不包括早晚例保班次、吃饭时间、班次时间为0的班次)
  921 + **/
  922 + key : 'getbczs',
  923 + value : function getbczs(a1,a2,dataMap) {
  924 + // 定义返回数组.
  925 + var array = new Array();
  926 + // 判断参数数组长度大于〇,dataMap不能为空.
  927 + if(a1.length>0 && a2.length>0 && dataMap!=null && dataMap!='') {
  928 + // 遍历路牌数组
  929 + for(var i = 0 ;i < a2.length ; i++) {
  930 + // 定义当前路牌下班次数,初始化为0.
  931 + var bcs = 0;
  932 + // 遍历班次数组
  933 + for(var j = 0 ; j < a1.length ; j++) {
  934 + // 判断当前班次j是否属于当前路牌i下,除去早晚例保班次、吃饭时间、班次时间为0的班次
  935 + if(a1[j].parent == a2[i].lpA.lpNo &&
  936 + a1[j].bcType != dataMap.bcTypeArr.bd &&
  937 + a1[j].bcType != dataMap.bcTypeArr.lc &&
  938 + a1[j].bcType != dataMap.bcTypeArr.cf &&
  939 + a1[j].bcsj > 0) {
  940 + bcs++;
  941 + }
  942 + }
  943 + // 把每个路牌下的对应班次数一一封装在一起,并添加到返回数组里边
  944 + array.push({lpNo : a2[i].lpA.lpNo , lpName:a2[i].lpA.lpName , bcs:bcs});
  945 + }
  946 + }else {
  947 + error.show('参数异常!','【 a1:' + a1 + ' , a2:' + a2 + ' , dataMap:' + dataMap + '】');
  948 + // console.log("您传入的参数异常!【 a1:" + a1 + ", a2:" + a2 + ", dataMap:" + dataMap);
  949 + }
  950 + return array;
  951 + }
  952 + }, {
940 953 key : 'addHistory' ,
941 954 value : function addHistory() {
942 955 historyArray.push({'data':JSON.stringify(this.getDataArray()),'granph':JSON.stringify(this.configuration)});
... ... @@ -1409,7 +1422,7 @@ var RelationshipGraph = function () {
1409 1422 }
1410 1423 }, {
1411 1424 /**
1412   - * @description : (TODO) 调整班次函数.
  1425 + * @description : (TODO) 班次调整函数.
1413 1426 *
1414 1427 * @status OK.
1415 1428 * */
... ... @@ -1418,7 +1431,9 @@ var RelationshipGraph = function () {
1418 1431 // 弹出层mobal页面
1419 1432 $.get('/pages/base/timesmodel/bctz.html', function(m){
1420 1433 $(pjaxContainer).append(m);
1421   - $('#tzbc_mobal').trigger('tzbcMobal.show',[$_GlobalGraph,getbczs($_GlobalGraph.getDataArray(),yAxisYArray),BaseFun]);
  1434 + // 获取各路牌下的班次数
  1435 + var lpbcs = $_GlobalGraph.getbczs($_GlobalGraph.getDataArray() , yAxisYArray , $_GlobalGraph.configuration.dataMap);
  1436 + $('#tzbc_mobal').trigger('tzbcMobal.show',[$_GlobalGraph , lpbcs , BaseFun , ErrorInfo]);
1422 1437 });
1423 1438 }
1424 1439  
... ...