Commit caf8d7f720cf9b9d0e90451bc79e5964962cfa3a

Authored by 徐烜
1 parent 2f028ce1

1、修改按客流生成时刻表中获取客流数据的逻辑

2、排班明细列表中添加备注字段
src/main/resources/static/pages/base/timesmodel/js/add-form-wizard.js
... ... @@ -305,6 +305,35 @@ var SKBFormWizard = function() {
305 305 });
306 306 }
307 307  
  308 + /**
  309 + * 判断某个时间是否在指定时间段内
  310 + * @param start 开始时间
  311 + * @param end 结束时间
  312 + * @param t 指定时间
  313 + * @param isWrapTime 是否重新包装时间
  314 + */
  315 + function issjd_extend(start, end, t, flag) {
  316 + var m_start = moment(start);
  317 + var m_end = moment(end);
  318 + var m_t = moment(t);
  319 +
  320 + if (flag) {
  321 + // 重新构造时间,保留时间的小时,分钟,秒,忽略年月日
  322 + var date_wrap_prefix = "2000-01-01 "; // 包装日期的前缀
  323 + var date_wrap_format = "YYYY-MM-DD HH:mm:ss"; // 日期格式
  324 +
  325 + var m_start_wrap = moment(date_wrap_prefix + m_start.format("HH:mm:ss"), date_wrap_format);
  326 + var m_end_wrap = moment(date_wrap_prefix + m_end.format("HH:mm:ss"), date_wrap_format);
  327 + var m_t_wrap = moment(date_wrap_prefix + m_t.format("HH:mm:ss"), date_wrap_format);
  328 +
  329 + return m_t_wrap.isAfter(m_start_wrap) && m_t_wrap.isBefore(m_end_wrap);
  330 + } else {
  331 + return issjd(start, end, t);
  332 + // return m_t.isAfter(m_start) && m_t.isBefore(m_end);
  333 + }
  334 +
  335 + }
  336 +
308 337 /**
309 338 * @description : (TODO) 根据获取参数方式来获取表单参数详情html模版页.
310 339 *
... ... @@ -337,8 +366,17 @@ var SKBFormWizard = function() {
337 366 // 定义一个周转时间.
338 367 var zzsj = parseInt(map.upTravelTime) + 10*2 + parseInt(map.downTravelTime);
339 368 // 定义时间对象.
340   - var date = new Date(),
341   - rq = date.getFullYear() + '-' + (date.getMonth()+1) + '-' + (date.getDate()-7);
  369 + var date = new Date();
  370 + // var rq = date.getFullYear() + '-' + (date.getMonth()+1) + '-' + (date.getDate()-7);
  371 +
  372 + // 减去7天
  373 + var m_date = moment(date);
  374 + m_date.add(-7, "d");
  375 + var rq = m_date.format("YYYY-MM-DD");
  376 +
  377 + console.log(date);
  378 + console.log(date.getDate());
  379 + console.log(rq);
342 380 // 定义开始时间字符串.
343 381 var startDateTime = rq + ' ' + '00:00';
344 382 // 定义结束时间自妇产.
... ... @@ -350,45 +388,55 @@ var SKBFormWizard = function() {
350 388 *
351 389 * 返回的是一个每次以半小时为间隔作为开始时间点, 在加上周转时间作为结束时间点的 时段段内的客流最大通过量.
352 390 * */
353   - getJSONP("http://139.196.13.237:8080/bsth-busfareflow-gj/Crlcxb/selectsjbctgl.do",params,function(json){
354   - // 定义时段集合,可容量.
355   - var sjdArr = getsjdArr(map),krlInt = parseInt(krl);
356   - // 遍历时段集合.
357   - for(var s = 0 ; s<sjdArr.length;s++) {
358   - // 分割时间段.
359   - var strA = sjdArr[s].time.split('-');
360   - // 定义开始时间与结束时间,车辆数.
361   - var st = getDateTime(rq + ' ' + strA[0]),et = getDateTime(rq + ' ' + strA[1]),num = 0;
362   - // 遍历时间段内的客流数据集合.
363   - for(var j = 0 ; j < json.length; j ++) {
364   - // 定义当前客流班次产生的时间.
365   - var dqsj = getDateTime(json[j].sj);
366   - // 判断是否这时间段内.
367   - if(issjd(st,et,dqsj)) {
368   - // 车辆数相加.
369   - num = num + Math.ceil(parseInt(json[j].tgl)/krlInt);
370   - }
371   - }
372   - sjdArr[s].num = num;
373   - }
  391 + getJSONP(
  392 + // "http://139.196.13.237:8080/bsth-busfareflow-gj/Crlcxb/selectsjbctgl.do",
  393 + "http://180.166.5.82:9816/bsth-busfareflow-gj/Crlcxb/selectsjbctgl.do",
  394 + params,function(json){
  395 + console.log(json);
  396 +
  397 + // 定义时段集合,可容量.
  398 + var sjdArr = getsjdArr(map),krlInt = parseInt(krl);
  399 + console.log("krlInt=" + krlInt);
  400 + // 遍历时段集合.
  401 + for(var s = 0 ; s<sjdArr.length;s++) {
  402 + // 分割时间段.
  403 + var strA = sjdArr[s].time.split('-');
  404 + // 定义开始时间与结束时间,车辆数.
  405 + var st = getDateTime(rq + ' ' + strA[0]),et = getDateTime(rq + ' ' + strA[1]),num = 0;
  406 +
  407 + console.log("s=" + s + " st=" + st + " et=" + et);
  408 +
  409 + // 遍历时间段内的客流数据集合.
  410 + for(var j = 0 ; j < json.length; j ++) {
  411 + // 定义当前客流班次产生的时间.
  412 + var dqsj = getDateTime(json[j].sj);
  413 + // 判断是否这时间段内.
  414 + if(issjd_extend(st, et, dqsj, true)) {
  415 + // 车辆数相加.
  416 + sjdArr[s].num += Math.ceil(parseInt(json[j].tgl) / krlInt);
  417 + // num = num + Math.ceil(parseInt(json[j].tgl)/krlInt);
  418 + }
  419 + }
  420 + // sjdArr[s].num = num;
  421 + }
374 422  
375   - // 注意:如果为0,设置成 10 17默认值
376   - map.zgfbeforepcs = sjdArr[0].num == 0 ? 10 : sjdArr[0].num;// 早高峰前配车数
377   - map.zgfpcs = sjdArr[2].num == 0 ? 17 : sjdArr[2].num;// 早高峰配车数
378   - map.gfzjpcs = sjdArr[4].num == 0 ? 10 : sjdArr[4].num;// 高峰之间配车数
379   - map.wgfpcs = sjdArr[2].num == 0 ? 17 : sjdArr[2].num ;// 晚高峰配车数
380   - map.wgfafterpcs = (sjdArr[1].num + sjdArr[3].num) == 0 ? 10 : sjdArr[1].num + sjdArr[3].num;// 晚高峰后配车数
  423 + // 注意:如果为0,设置成 10 17默认值
  424 + map.zgfbeforepcs = sjdArr[0].num == 0 ? 10 : sjdArr[0].num;// 早高峰前配车数
  425 + map.zgfpcs = sjdArr[2].num == 0 ? 17 : sjdArr[2].num;// 早高峰配车数
  426 + map.gfzjpcs = sjdArr[4].num == 0 ? 10 : sjdArr[4].num;// 高峰之间配车数
  427 + map.wgfpcs = sjdArr[2].num == 0 ? 17 : sjdArr[2].num ;// 晚高峰配车数
  428 + map.wgfafterpcs = (sjdArr[1].num + sjdArr[3].num) == 0 ? 10 : sjdArr[1].num + sjdArr[3].num;// 晚高峰后配车数
381 429  
382   - // 注意:高峰 5 低谷 20 其他 10
383   - map.upStopTime = 10;
384   - map.downStopTime = 10;
385   - map.mixstopTime = 5;
386   - map.maxstopTime = 20;
  430 + // 注意:高峰 5 低谷 20 其他 10
  431 + map.upStopTime = 10;
  432 + map.downStopTime = 10;
  433 + map.mixstopTime = 5;
  434 + map.maxstopTime = 20;
387 435  
388   - //alert("dddd");
  436 + //alert("dddd");
389 437  
390   - // 返回参数详情模版.
391   - return cb && cb ({'forminput':template(tempName,{map:map}),'datadisplay': template(tempName +'config',{map:null})});
  438 + // 返回参数详情模版.
  439 + return cb && cb ({'forminput':template(tempName,{map:map}),'datadisplay': template(tempName +'config',{map:null})});
392 440 });
393 441 }else if(n==1) {
394 442 // 更具站点路由版本获取起点终点站
... ... @@ -588,6 +636,13 @@ var SKBFormWizard = function() {
588 636 'gfjypcs': {required : true,number : true,digits: true}, // 高峰建议配车数
589 637 'jbclcount': {required : true,number : true,digits: true} // 建议加班车数
590 638 },
  639 + messages: {
  640 + 'zgfbeforepcs': "未获取客流数据请手动输入",
  641 + 'zgfpcs': "未获取客流数据请手动输入",
  642 + 'wgfafterpcs': "未获取客流数据请手动输入",
  643 + 'wgfpcs': "未获取客流数据请手动输入",
  644 + 'gfzjpcs': "未获取客流数据请手动输入"
  645 + },
591 646  
592 647 /**
593 648 * 类型:Callback。当未通过验证的表单提交时,可以在该回调函数中处理一些事情。
... ...
src/main/resources/static/pages/scheduleApp/module/core/schedulePlanManage/info/edit.html
... ... @@ -215,6 +215,16 @@
215 215 </div>
216 216 </div>
217 217  
  218 + <div class="form-group">
  219 + <label class="col-md-2 control-label">备注:</label>
  220 + <div class="col-md-3">
  221 + <textarea class="form-control" readonly
  222 + ng-model="ctrl.schedulePlanInfoForSave.remark"
  223 + />
  224 + </div>
  225 +
  226 + </div>
  227 +
218 228 </div>
219 229  
220 230 <div class="form-actions">
... ...