Commit d88e6db8e23887f95ebd99bf0a74de7122db4472

Authored by 李强
1 parent a0ec3eb5

bsthlq <2519941818@qq.com>

src/main/resources/static/pages/base/timesmodel/js/base-fun.js
@@ -332,6 +332,8 @@ var BaseFun = function() { @@ -332,6 +332,8 @@ var BaseFun = function() {
332 var rs = new Array(),bxrcgs= new Array(); 332 var rs = new Array(),bxrcgs= new Array();
333 // 遍历已分配好路牌的班型人次数组. 333 // 遍历已分配好路牌的班型人次数组.
334 for(var x = 0 ; x < bxrclist.length; x++) { 334 for(var x = 0 ; x < bxrclist.length; x++) {
  335 + /*if(x>0)
  336 + continue;*/
335 // 定义当前班型人次下的路牌数组. 337 // 定义当前班型人次下的路牌数组.
336 var cla = bxrclist[x].sslp; 338 var cla = bxrclist[x].sslp;
337 var dsdnmb = bxrclist[x].rs/bxrclist[x].fpcls; 339 var dsdnmb = bxrclist[x].rs/bxrclist[x].fpcls;
@@ -339,12 +341,13 @@ var BaseFun = function() { @@ -339,12 +341,13 @@ var BaseFun = function() {
339 var hoursV = bxrclist[x].hoursV*dsdnmb; 341 var hoursV = bxrclist[x].hoursV*dsdnmb;
340 // 遍历路牌 342 // 遍历路牌
341 for(var s = 0 ; s < cla.length; s++) { 343 for(var s = 0 ; s < cla.length; s++) {
  344 + /*if(s>1 || s==0)
  345 + continue;*/
342 //cla[s].lpName = bxrclist[x].type; 346 //cla[s].lpName = bxrclist[x].type;
343 // 获取路牌编号. 347 // 获取路牌编号.
344 var lpNo = cla[s].lpNo; 348 var lpNo = cla[s].lpNo;
345 // 定义路牌下的所有班次. 349 // 定义路牌下的所有班次.
346 var lpbc = new Array(); 350 var lpbc = new Array();
347 - bxrcgs.push({'lpNo':lpNo,'hoursV':hoursV,'type':bxrclist[x].type});  
348 // 遍历班次数. 351 // 遍历班次数.
349 for(var i =0 ; i <jsonArray.length; i++) { 352 for(var i =0 ; i <jsonArray.length; i++) {
350 // 判断当期遍历的班次是否属于当前的路牌. 353 // 判断当期遍历的班次是否属于当前的路牌.
@@ -359,10 +362,20 @@ var BaseFun = function() { @@ -359,10 +362,20 @@ var BaseFun = function() {
359 cara[l].lpName = bxrclist[x].type + '_' + lpNo ; 362 cara[l].lpName = bxrclist[x].type + '_' + lpNo ;
360 } 363 }
361 } 364 }
  365 + var _obj = baseF.getsxAndxxbc(lpbc,dataMap);
  366 + baseF.tcbc(_obj.sxbc,dataMap.smbcsjArr[0].kssj,dataMap.smbcsjArr[0].jssj);// 剔除上行不在时间范围内的班次
  367 + baseF.tcbc(_obj.xxbc,dataMap.smbcsjArr[1].kssj,dataMap.smbcsjArr[1].jssj);// 剔除下行不在时间范围内的班次
  368 + var tcnofwlpbc = _obj.sxbc.concat(_obj.xxbc);
362 // 按照发车序号顺序排序. 369 // 按照发车序号顺序排序.
363 - lpbc.sort(function(a,b){return b.fcno-a.fcno}); 370 + tcnofwlpbc.sort(function(a,b){return b.fcno-a.fcno});
  371 + /*var gsv = 0 ;
  372 + for(var z = 0 ;z < tza.length;z++) {
  373 + gsv = gsv + tza[z].bcsj + tza[z].STOPTIME;
  374 + }*/
  375 + // parseFloat((gsv/60).toFixed(2))
  376 + bxrcgs.push({'lpNo':lpNo,'hoursV':hoursV,'type':bxrclist[x].type});
364 // 调整班次数.也就是说调整工时. 377 // 调整班次数.也就是说调整工时.
365 - rs = rs.concat(baseF.tzlpgs01(lpbc,hoursV,map,dataMap,lpNo,saa,bxrclist[x].type,lpNo,cara.length)); 378 + rs = rs.concat(baseF.tzlpgs01(tcnofwlpbc,hoursV,map,dataMap,lpNo,saa,bxrclist[x].type,lpNo,cara.length));
366 } 379 }
367 } 380 }
368 var jar01 = baseF.tzsmbcsj01( 381 var jar01 = baseF.tzsmbcsj01(
@@ -375,6 +388,26 @@ var BaseFun = function() { @@ -375,6 +388,26 @@ var BaseFun = function() {
375 var jar = baseF.tzsmbcsj01( 388 var jar = baseF.tzsmbcsj01(
376 baseF.setbcsAndfcno(baseF.tzsmbcsj01(baseF.setbcsAndfcno(baseF.tzsztest(cara,jar01,dataMap)),dataMap.smbcsjArr,dataMap.ccsjArr,dataMap.cclcArr,dataMap.qdzArr,saa[0].lbsj,dataMap)), 389 baseF.setbcsAndfcno(baseF.tzsmbcsj01(baseF.setbcsAndfcno(baseF.tzsztest(cara,jar01,dataMap)),dataMap.smbcsjArr,dataMap.ccsjArr,dataMap.cclcArr,dataMap.qdzArr,saa[0].lbsj,dataMap)),
377 dataMap.smbcsjArr,dataMap.ccsjArr,dataMap.cclcArr,dataMap.qdzArr,saa[0].lbsj,dataMap); 390 dataMap.smbcsjArr,dataMap.ccsjArr,dataMap.cclcArr,dataMap.qdzArr,saa[0].lbsj,dataMap);
  391 + // return {'json':jar,'bxrcgs':bxrcgs};
  392 + for(var r = 0 ; r < bxrcgs.length; r++) {
  393 + var lpNo = bxrcgs[r].lpNo;
  394 + var gsv = 0 , bczs = 0;
  395 + for(var g = 0 ; g< jar.length; g++) {
  396 + if(jar[g].lpNo == lpNo) {
  397 + gsv = gsv + jar[g].bcsj + jar[g].STOPTIME;
  398 + bczs++;
  399 + }
  400 + }
  401 + bxrcgs[r].sjgsV = gsv;
  402 + bxrcgs[r].bczs = bczs;
  403 + }
  404 + var jar3 = baseF.dqbcsAndgs(bxrcgs,jar,dataMap,cara.length);
  405 + // return {'json':jar3,'bxrcgs':bxrcgs};
  406 + /*var jar4 = baseF.tzsmbcsj01(
  407 + baseF.setbcsAndfcno(baseF.tzsmbcsj01(baseF.setbcsAndfcno(baseF.tzsztest(cara,jar3,dataMap)),dataMap.smbcsjArr,dataMap.ccsjArr,dataMap.cclcArr,dataMap.qdzArr,saa[0].lbsj,dataMap)),
  408 + dataMap.smbcsjArr,dataMap.ccsjArr,dataMap.cclcArr,dataMap.qdzArr,saa[0].lbsj,dataMap);*/
  409 + var rsjar = baseF.tzsztest(cara,jar3,dataMap);
  410 + return {'json':rsjar,'bxrcgs':bxrcgs};
378 var resultJA = new Array(); 411 var resultJA = new Array();
379 for(var m = 0 ; m < cara.length; m++) { 412 for(var m = 0 ; m < cara.length; m++) {
380 // 获取路牌编号. 413 // 获取路牌编号.
@@ -382,11 +415,11 @@ var BaseFun = function() { @@ -382,11 +415,11 @@ var BaseFun = function() {
382 // 定义路牌下的所有班次. 415 // 定义路牌下的所有班次.
383 var lpbc_ = new Array(); 416 var lpbc_ = new Array();
384 // 遍历班次数. 417 // 遍历班次数.
385 - for(var x =0 ; x <jar.length; x++) { 418 + for(var x =0 ; x <rsjar.length; x++) {
386 // 判断当期遍历的班次是否属于当前的路牌. 419 // 判断当期遍历的班次是否属于当前的路牌.
387 - if(jar[x].lpNo == lpNo_) {  
388 - delete jar[x].fcint;  
389 - lpbc_.push(jar[x]); 420 + if(rsjar[x].lpNo == lpNo_) {
  421 + delete rsjar[x].fcint;
  422 + lpbc_.push(rsjar[x]);
390 } 423 }
391 } 424 }
392 // 按照发车序号顺序排序. 425 // 按照发车序号顺序排序.
@@ -396,6 +429,222 @@ var BaseFun = function() { @@ -396,6 +429,222 @@ var BaseFun = function() {
396 return {'json':resultJA,'bxrcgs':bxrcgs}; 429 return {'json':resultJA,'bxrcgs':bxrcgs};
397 }, 430 },
398 431
  432 + dqbcsAndgs : function(bxrcgs,jar,dataMap,cla) {
  433 + var bxA = new Array(),rsA = new Array();
  434 + for(var b = 0 ;b <bxrcgs.length; b++) {
  435 + if(bxA.indexOf(bxrcgs[b].type)<0)
  436 + bxA.push(bxrcgs[b].type);
  437 + }
  438 + var maxXxsjA = [parseInt(dataMap.map.upTravelTime),parseInt(dataMap.map.downTravelTime)];
  439 + var v1 = Math.max.apply(null, maxXxsjA) *1.5;
  440 + for(var a = 0 ;a < bxA.length;a++) {
  441 + var type = bxA[a],bxszA = new Array();
  442 + for(var s = 0 ; s < bxrcgs.length; s++) {
  443 + if(type == bxrcgs[s].type)
  444 + bxszA.push({'szgs':bxrcgs[s].sjgsV,'szbc' : bxrcgs[s].bczs, 'lpNo':bxrcgs[s].lpNo,'type' :bxrcgs[s].type});
  445 + }
  446 + var lpA = new Array();
  447 + if(bxszA.length>1) {
  448 + /*bxszA.sort(function(c,d){return ((c.szbc - d.szbc) && (c.szgs - d.szgs))});*/
  449 + bxszA.sort(function(c,d){return d.szgs - c.szgs});
  450 + for(var t = 0 ;t < bxszA.length;t++) {
  451 + var lpN_ = bxszA[t].lpNo;
  452 + /*if(lpN_==bxszA[0].lpNo)
  453 + continue;*/
  454 + var dx = bxszA[t].szbc - bxszA[0].szbc;
  455 + var type_ = bxszA[t].type;
  456 + lpA = baseF.getlpbcA(lpN_,jar);
  457 + lpA.sort(function(x,y){return y.fcno - x.fcno});
  458 + var tempTag = false;
  459 + var isyddygbc = !baseF.issmbcsjArr(lpA[lpA.length-1].fcsj,dataMap.smbcsjArr);
  460 + var isydzhygbc = !baseF.issmbcsjArr(lpA[0].fcsj,dataMap.smbcsjArr);
  461 + if(dx>0) {
  462 + for(var j = 0 ; j < dx ; j++) {
  463 + for(var k = 0 ; k<lpA.length;k++) {
  464 + // 得到当前路牌下的发车时间.
  465 + var dqbcfcsj = baseF.getDateTime(lpA[k].fcsj);
  466 + // 判断时间范围.
  467 + if(dataMap.zgfsjd[0].ed < dqbcfcsj && dqbcfcsj < dataMap.wgfsjd[0].st) {
  468 + lpA.splice(k,1);
  469 + break;
  470 + }
  471 + }
  472 + }
  473 + tempTag = true;
  474 + }else if(bxszA[t].szgs < bxszA[0].szgs) {
  475 + var gsdx = bxszA[0].szgs - bxszA[t].szgs;
  476 + // console.log(gsdx + '---' + lpN_);
  477 + if(gsdx<=v1) {
  478 + if(isyddygbc && isydzhygbc) {
  479 + var dygbcydx = 0,zhygbcydx = 0;
  480 + if(gsdx%2==0) {
  481 + dygbcydx = gsdx/2;
  482 + zhygbcydx = dygbcydx;
  483 + }else {
  484 + dygbcydx = gsdx%2;
  485 + zhygbcydx = gsdx - dygbcydx;
  486 + }
  487 + baseF.dygbcUpd(lpA[lpA.length-1],dygbcydx);
  488 + baseF.zhygbcUpd(lpA[0],lpA[1],zhygbcydx);
  489 + }else if(isyddygbc) {
  490 + baseF.dygbcUpd(lpA[lpA.length-1],gsdx);
  491 + }else if(isydzhygbc) {
  492 + baseF.zhygbcUpd(lpA[0],lpA[1],gsdx);
  493 + }
  494 + }else {
  495 + var isZerInt = baseF.istzsjZero(lpA,dataMap);
  496 + var vag = 0,avgdx = 0;
  497 + if(gsdx % isZerInt==0) {
  498 + vag = gsdx / isZerInt;
  499 + }else {
  500 + vag = parseInt(gsdx / isZerInt);
  501 + avgdx = gsdx - vag*isZerInt;
  502 + if(isyddygbc && isydzhygbc) {
  503 + var dygbcydx = 0,zhygbcydx = 0;
  504 + if(avgdx%2==0) {
  505 + dygbcydx = avgdx/2;
  506 + zhygbcydx = dygbcydx;
  507 + }else {
  508 + dygbcydx = avgdx%2;
  509 + zhygbcydx = avgdx - dygbcydx;
  510 + }
  511 + baseF.dygbcUpd(lpA[lpA.length-1],dygbcydx);
  512 + baseF.zhygbcUpd(lpA[0],lpA[1],zhygbcydx);
  513 + }else if(isyddygbc) {
  514 + baseF.dygbcUpd(lpA[lpA.length-1],avgdx);
  515 + }else if(isydzhygbc) {
  516 + baseF.zhygbcUpd(lpA[0],lpA[1],avgdx);
  517 + }
  518 + }
  519 + var qbbfbc = new Array();
  520 + for(var v = 1 ; v < lpA.length;v++) {
  521 + var ddsj = baseF.getDateTime(lpA[v-1].fcsj);
  522 + if(baseF.getDateTime("13:00") <= baseF.getDateTime(lpA[v].fcsj)) {
  523 + if(lpA[v].STOPTIME > 0 && !baseF.issmbcsjArr(lpA[v].fcsj,dataMap.smbcsjArr) ) {
  524 + lpA[v].STOPTIME = lpA[v].STOPTIME + vag;
  525 + ddsj.setMinutes(ddsj.getMinutes() - lpA[v].STOPTIME);
  526 + lpA[v].ARRIVALTIME = baseF.getTimeStr(ddsj);
  527 + ddsj.setMinutes(ddsj.getMinutes() - lpA[v].bcsj);
  528 + lpA[v].fcsj = baseF.getTimeStr(ddsj);
  529 +
  530 + }
  531 + }else {
  532 + if(!baseF.issmbcsjArr(lpA[v].fcsj,dataMap.smbcsjArr)) {
  533 + qbbfbc.push(lpA[v]);
  534 + }
  535 + }
  536 + }
  537 + qbbfbc.sort(function(x,y){return x.fcno - y.fcno});
  538 + for(var q = 0 ; q < qbbfbc.length; q++) {
  539 + if(q<(qbbfbc.length-1))
  540 + qbbfbc[q].STOPTIME = qbbfbc[q].STOPTIME + vag;
  541 + if(q==0)
  542 + continue;
  543 + else {
  544 + var ddsj_ = baseF.getDateTime(qbbfbc[q-1].ARRIVALTIME);
  545 + ddsj_.setMinutes(ddsj_.getMinutes() + qbbfbc[q-1].STOPTIME);
  546 + qbbfbc[q].fcsj = baseF.getTimeStr(ddsj_);
  547 + ddsj_.setMinutes(ddsj_.getMinutes() + qbbfbc[q].bcsj);
  548 + qbbfbc[q].ARRIVALTIME = baseF.getTimeStr(ddsj_);
  549 + }
  550 + }
  551 + }
  552 + }
  553 + var start = baseF.getDateTime(lpA[0].ARRIVALTIME);
  554 + var end = baseF.getDateTime(lpA[lpA.length-1].fcsj);
  555 + var hourdx = start.getHours() - end.getHours();
  556 + var minuedx = hourdx* 60 + (start.getMinutes() - end.getMinutes()) + lpA[0].STOPTIME;
  557 + var dx = 0;
  558 + /*if(minuedx > bxszA[0].szgs && tempTag) {
  559 + dx = minuedx - bxszA[0].szgs;
  560 + console.log(dx);
  561 + }else */
  562 + if(minuedx < bxszA[0].szgs && tempTag) {
  563 + dx = bxszA[0].szgs - minuedx;
  564 + if(dx > v1 && isyddygbc && isydzhygbc) {
  565 + var dygbcydx = 0,zhygbcydx = 0;
  566 + if(dx%2==0) {
  567 + dygbcydx = dx/2;
  568 + zhygbcydx = dygbcydx;
  569 + }else {
  570 + dygbcydx = dx%2;
  571 + zhygbcydx = dx - dygbcydx;
  572 + }
  573 + baseF.dygbcUpd(lpA[lpA.length-1],dygbcydx);
  574 + baseF.zhygbcUpd(lpA[0],lpA[1],zhygbcydx);
  575 + }else {
  576 + if(isyddygbc && isydzhygbc) {
  577 + var dygbcydx = 0,zhygbcydx = 0;
  578 + if(dx%2==0) {
  579 + dygbcydx = dx/2;
  580 + zhygbcydx = dygbcydx;
  581 + }else {
  582 + dygbcydx = dx%2;
  583 + zhygbcydx = dx - dygbcydx;
  584 + }
  585 + baseF.dygbcUpd(lpA[lpA.length-1],dygbcydx);
  586 + baseF.zhygbcUpd(lpA[0],lpA[1],zhygbcydx);
  587 + }else if(isyddygbc) {
  588 + baseF.dygbcUpd(lpA[lpA.length-1],dx);
  589 + }else if(isydzhygbc) {
  590 + baseF.zhygbcUpd(lpA[0],lpA[1],dx);
  591 + }
  592 + }
  593 + }
  594 + rsA = rsA.concat(lpA);
  595 + }
  596 +
  597 + }else {
  598 + rsA = rsA.concat(baseF.getlpbcA(bxszA[0].lpNo,jar));
  599 + }
  600 + }
  601 + return rsA;
  602 + },
  603 +
  604 + istzsjZero : function(arr,dataMap) {
  605 + var rsint = 0;
  606 + for(var r = 1 ; r<arr.length;r++) {
  607 + if(arr[r].STOPTIME>0 && !baseF.issmbcsjArr(arr[r].fcsj,dataMap.smbcsjArr)) {
  608 + rsint++;
  609 + }
  610 + }
  611 + return rsint;
  612 + },
  613 +
  614 + dygbcUpd : function(obj,dx) {
  615 + obj.STOPTIME = obj.STOPTIME + dx;
  616 + var dygbcfcsj = baseF.getDateTime(obj.fcsj);
  617 + dygbcfcsj.setMinutes(dygbcfcsj.getMinutes() - dx);
  618 + obj.fcsj = baseF.getTimeStr(dygbcfcsj);
  619 + },
  620 +
  621 + zhygbcUpd: function(obj,xgOjb,dx) {
  622 + xgOjb.STOPTIME = xgOjb.STOPTIME + dx;
  623 + var zhygbcydx = baseF.getDateTime(obj.fcsj);
  624 + zhygbcydx.setMinutes(zhygbcydx.getMinutes() + dx);
  625 + obj.fcsj = baseF.getTimeStr(zhygbcydx);
  626 + zhygbcydx.setMinutes(zhygbcydx.getMinutes() + obj.bcsj);
  627 + obj.ARRIVALTIME = baseF.getTimeStr(zhygbcydx);
  628 + },
  629 +
  630 + issmbcsjArr : function(str,arr) {
  631 + var tag = false;
  632 + for(var a = 0 ;a < arr.length;a++) {
  633 + if(str == arr[a].kssj || str == arr[a].jssj)
  634 + tag = true;
  635 + }
  636 + return tag;
  637 + },
  638 +
  639 + getlpbcA : function(lpN_,jar) {
  640 + var lpA = new Array();
  641 + for(var p = 0 ; p < jar.length; p++ ) {
  642 + if(jar[p].lpNo == lpN_)
  643 + lpA.push(jar[p]);
  644 + }
  645 + return lpA;
  646 + },
  647 +
399 tzsztest : function(cara,tempa,dataMap) { 648 tzsztest : function(cara,tempa,dataMap) {
400 var jsrs = new Array(); 649 var jsrs = new Array();
401 for(var t = 0 ; t < cara.length; t++) { 650 for(var t = 0 ; t < cara.length; t++) {
@@ -445,22 +694,32 @@ var BaseFun = function() { @@ -445,22 +694,32 @@ var BaseFun = function() {
445 }, 694 },
446 695
447 tztzsjInit01 : function(ar,dataMap) { 696 tztzsjInit01 : function(ar,dataMap) {
  697 + var maxXxsjA = [parseInt(dataMap.map.upTravelTime),parseInt(dataMap.map.downTravelTime)];
  698 + var v1 = Math.max.apply(null, maxXxsjA) *1.5;
448 for(var r = 0 ; r< ar.length-1;r++) { 699 for(var r = 0 ; r< ar.length-1;r++) {
449 var sgbcfcsj = baseF.getDateTime(ar[r+1].fcsj),dqbcddsj = baseF.getDateTime(ar[r].ARRIVALTIME); 700 var sgbcfcsj = baseF.getDateTime(ar[r+1].fcsj),dqbcddsj = baseF.getDateTime(ar[r].ARRIVALTIME);
450 var dxmin = parseInt( (sgbcfcsj - dqbcddsj)/60000); 701 var dxmin = parseInt( (sgbcfcsj - dqbcddsj)/60000);
451 if(dxmin<0 || ar[r].STOPTIME<0) { 702 if(dxmin<0 || ar[r].STOPTIME<0) {
452 var cctag = baseF.dirDmToIndex(ar[r].xlDir); 703 var cctag = baseF.dirDmToIndex(ar[r].xlDir);
453 dxmin = ar[r].bcType == dataMap.bcTypeArr.cf ? 0 : baseF.isgfsjd01(baseF.getDateTime(ar[r].fcsj),dataMap) ? dataMap.gftzsj[cctag] : dataMap.dgtzsj[cctag]; 704 dxmin = ar[r].bcType == dataMap.bcTypeArr.cf ? 0 : baseF.isgfsjd01(baseF.getDateTime(ar[r].fcsj),dataMap) ? dataMap.gftzsj[cctag] : dataMap.dgtzsj[cctag];
454 - dqbcddsj.setMinutes(dqbcddsj.getMinutes() + dxmin); 705 + /*dqbcddsj.setMinutes(dqbcddsj.getMinutes() + dxmin);
455 ar[r+1].fcsj = baseF.getTimeStr(dqbcddsj); 706 ar[r+1].fcsj = baseF.getTimeStr(dqbcddsj);
456 dqbcddsj.setMinutes(dqbcddsj.getMinutes() + ar[r+1].bcsj); 707 dqbcddsj.setMinutes(dqbcddsj.getMinutes() + ar[r+1].bcsj);
457 - ar[r+1].ARRIVALTIME = baseF.getTimeStr(dqbcddsj); 708 + ar[r+1].ARRIVALTIME = baseF.getTimeStr(dqbcddsj);*/
458 /*sgbcfcsj.setMinutes(sgbcfcsj.getMinutes() - dxmin); 709 /*sgbcfcsj.setMinutes(sgbcfcsj.getMinutes() - dxmin);
459 ar[r].ARRIVALTIME = baseF.getTimeStr(sgbcfcsj); 710 ar[r].ARRIVALTIME = baseF.getTimeStr(sgbcfcsj);
460 sgbcfcsj.setMinutes(sgbcfcsj.getMinutes() - ar[r].bcsj); 711 sgbcfcsj.setMinutes(sgbcfcsj.getMinutes() - ar[r].bcsj);
461 ar[r].fcsj = baseF.getTimeStr(sgbcfcsj);*/ 712 ar[r].fcsj = baseF.getTimeStr(sgbcfcsj);*/
  713 + }else if(dxmin >= v1 && dxmin < 180) {
  714 + dxmin = v1;
  715 + }
  716 + if(ar[r].STOPTIME >0) {
  717 + dqbcddsj.setMinutes(dqbcddsj.getMinutes() + dxmin);
  718 + ar[r+1].fcsj = baseF.getTimeStr(dqbcddsj);
  719 + dqbcddsj.setMinutes(dqbcddsj.getMinutes() + ar[r+1].bcsj);
  720 + ar[r+1].ARRIVALTIME = baseF.getTimeStr(dqbcddsj);
  721 + ar[r].STOPTIME = dxmin >= 180 ? 0 : parseInt(dxmin);
462 } 722 }
463 - ar[r].STOPTIME = dxmin>180 ? 0 : dxmin;  
464 } 723 }
465 }, 724 },
466 725
@@ -573,64 +832,122 @@ var BaseFun = function() { @@ -573,64 +832,122 @@ var BaseFun = function() {
573 var jczwsj = saa[0].lbsj*2 + dataMap.ccsjArr[baseF.dirDmToIndex(arr[0].xlDir)] + 832 var jczwsj = saa[0].lbsj*2 + dataMap.ccsjArr[baseF.dirDmToIndex(arr[0].xlDir)] +
574 dataMap.jcsjArr[baseF.dirDmToIndex(arr[arr.length-1].xlDir)]; 833 dataMap.jcsjArr[baseF.dirDmToIndex(arr[arr.length-1].xlDir)];
575 // 定义路牌总工时.第一次切高峰之间和晚高峰之后的班次. 834 // 定义路牌总工时.第一次切高峰之间和晚高峰之后的班次.
576 - var lpdqzgs = parseFloat(((baseF.getlpzgs(arr) + jczwsj)/60).toFixed(2));  
577 - while(lpdqzgs>gs) {  
578 - for(var t = 0 ; t<arr.length;t++) {  
579 - // 得到当前路牌下的发车时间.  
580 - var dqbcfcsj = baseF.getDateTime(arr[t].fcsj);  
581 - // 判断时间范围.  
582 - if(!baseF.issplice(dqbcfcsj,dataMap,type,lpNo,cla)) {  
583 - arr.splice(t,1);  
584 - break; 835 + var lpdqzgs = parseFloat(((baseF.getlpzgs(arr) + jczwsj)/60).toFixed(2)),tagboolean = true;
  836 + while(tagboolean) {
  837 + if(lpdqzgs>gs) {
  838 + var temp = true ;
  839 + for(var t = 0 ; t<arr.length;t++) {
  840 + // 得到当前路牌下的发车时间.
  841 + var dqbcfcsj = baseF.getDateTime(arr[t].fcsj);
  842 + // 判断时间范围.
  843 + if(!baseF.issplice(dqbcfcsj,dataMap,type,lpNo,cla)) {
  844 + arr.splice(t,1);
  845 + temp = false;
  846 + break;
  847 + }
585 } 848 }
  849 + lpdqzgs = parseFloat(((baseF.getlpzgs(arr) + jczwsj)/60).toFixed(2));
  850 + if(temp)
  851 + tagboolean = false;
  852 + }else {
  853 + tagboolean = false;
586 } 854 }
587 - lpdqzgs = parseFloat(((baseF.getlpzgs(arr) + jczwsj)/60).toFixed(2));  
588 } 855 }
  856 + if(arr[0].xlDir == arr[arr.length-1].xlDir) {
  857 + baseF.addbc01(arr,arr[0],dataMap);
  858 + }
  859 + var gfzjst = null
589 for(var c = 0 ; c<arr.length;c++) { 860 for(var c = 0 ; c<arr.length;c++) {
590 var cfsjbc = baseF.getDateTime(arr[c].fcsj); 861 var cfsjbc = baseF.getDateTime(arr[c].fcsj);
591 if(dataMap.gfzjsjd[0].st <= cfsjbc && cfsjbc <= dataMap.gfzjsjd[0].ed && arr[c].bcType == dataMap.bcTypeArr.cf ) 862 if(dataMap.gfzjsjd[0].st <= cfsjbc && cfsjbc <= dataMap.gfzjsjd[0].ed && arr[c].bcType == dataMap.bcTypeArr.cf )
592 gfzjst = baseF.getDateTime(arr[c].ARRIVALTIME); 863 gfzjst = baseF.getDateTime(arr[c].ARRIVALTIME);
593 } 864 }
594 - gfzjst == null ? dataMap.gfzjsjd[0].st : gfzjst; 865 + gfzjst = gfzjst == null ? dataMap.gfzjsjd[0].st : gfzjst;
595 var gfzjbc = new Array(),wgfbc = new Array(),zgfbc = new Array(); 866 var gfzjbc = new Array(),wgfbc = new Array(),zgfbc = new Array();
596 - for(var a = 0 ; a<arr.length;a++) {  
597 - var tmkssj = baseF.getDateTime(arr[a].fcsj) 867 + for(var x = 0 ; x<arr.length;x++) {
  868 + var tmkssj = baseF.getDateTime(arr[x].fcsj)
598 if(gfzjst <= tmkssj && tmkssj <= dataMap.gfzjsjd[0].ed) 869 if(gfzjst <= tmkssj && tmkssj <= dataMap.gfzjsjd[0].ed)
599 - gfzjbc.push(arr[a]); 870 + gfzjbc.push(arr[x]);
600 else if(dataMap.wgfsjd[0].st <= tmkssj && tmkssj <= dataMap.wgfsjd[0].ed) 871 else if(dataMap.wgfsjd[0].st <= tmkssj && tmkssj <= dataMap.wgfsjd[0].ed)
601 - wgfbc.push(arr[a]); 872 + wgfbc.push(arr[x]);
602 else 873 else
603 - zgfbc.push(arr[a]); 874 + zgfbc.push(arr[x]);
604 } 875 }
605 gfzjbc.sort(function(a,b){return a.fcno-b.fcno}); 876 gfzjbc.sort(function(a,b){return a.fcno-b.fcno});
606 wgfbc.sort(function(a,b){return a.fcno-b.fcno}); 877 wgfbc.sort(function(a,b){return a.fcno-b.fcno});
607 - if(gfzjbc[gfzjbc.length-1].xlDir == wgfbc[0].xlDir)  
608 - gfzjbc.splice(gfzjbc.length-1,1);  
609 - if(type!='五工二休') {  
610 - var gfzjst = null;  
611 - var dxmin = parseInt((baseF.getDateTime(wgfbc[0].fcsj) - baseF.getDateTime(gfzjbc[gfzjbc.length-1].ARRIVALTIME))/60000);  
612 - var addmin = parseInt(dxmin/gfzjbc.length);  
613 - for(var g = 0 ;g < gfzjbc.length;g++) {  
614 - if(gfzjbc[g].bcType != dataMap.bcTypeArr.cf)  
615 - gfzjbc[g].STOPTIME = gfzjbc[g].STOPTIME + addmin;  
616 - if(g==0) {  
617 - continue;  
618 - }else {  
619 - var tempd = baseF.getDateTime(gfzjbc[g-1].ARRIVALTIME);  
620 - tempd.setMinutes(tempd.getMinutes() + gfzjbc[g-1].STOPTIME);  
621 - gfzjbc[g].fcsj = baseF.getTimeStr(tempd);  
622 - tempd.setMinutes(tempd.getMinutes() + gfzjbc[g].bcsj);  
623 - gfzjbc[g].ARRIVALTIME = baseF.getTimeStr(tempd); 878 + if(gfzjbc.length>0 && wgfbc.length>0) {
  879 + if(gfzjbc[gfzjbc.length-1].xlDir == wgfbc[0].xlDir && dataMap.map.linePlayType == "0"){
  880 + // addbc
  881 + baseF.addbc01(gfzjbc,gfzjbc[gfzjbc.length-1],dataMap);
  882 + }
  883 + if(type!='五工二休') {
  884 + var dxmin = parseInt((baseF.getDateTime(wgfbc[0].fcsj) - baseF.getDateTime(gfzjbc[gfzjbc.length-1].ARRIVALTIME))/60000);
  885 + var addmin = parseInt(dxmin/gfzjbc.length);
  886 + var rsM = baseF.gettzsjbs(gfzjbc,addmin,dataMap);
  887 + if(rsM.tag) {
  888 + for(var g = 0 ;g < gfzjbc.length;g++) {
  889 + if(gfzjbc[g].bcType != dataMap.bcTypeArr.cf)
  890 + gfzjbc[g].STOPTIME = gfzjbc[g].STOPTIME + addmin;
  891 + if(g==0) {
  892 + continue;
  893 + }else {
  894 + var tempd = baseF.getDateTime(gfzjbc[g-1].ARRIVALTIME);
  895 + tempd.setMinutes(tempd.getMinutes() + gfzjbc[g-1].STOPTIME);
  896 + gfzjbc[g].fcsj = baseF.getTimeStr(tempd);
  897 + tempd.setMinutes(tempd.getMinutes() + gfzjbc[g].bcsj);
  898 + gfzjbc[g].ARRIVALTIME = baseF.getTimeStr(tempd);
  899 + }
  900 + }
624 } 901 }
  902 + gfzjbc[gfzjbc.length-1].STOPTIME = parseInt((baseF.getDateTime(wgfbc[0].fcsj) - baseF.getDateTime(gfzjbc[gfzjbc.length-1].ARRIVALTIME))/60000);
625 } 903 }
626 - gfzjbc[gfzjbc.length-1].STOPTIME = parseInt((baseF.getDateTime(wgfbc[0].fcsj) - baseF.getDateTime(gfzjbc[gfzjbc.length-1].ARRIVALTIME))/60000);  
627 } 904 }
628 return gfzjbc.concat(wgfbc).concat(zgfbc); 905 return gfzjbc.concat(wgfbc).concat(zgfbc);
629 }, 906 },
630 907
  908 + addbc01 : function(gfzjbc,lastObj,dataMap) {
  909 + var kssj = new Date(),strArray = lastObj.ARRIVALTIME.split(':');
  910 + kssj.setHours(parseInt(strArray[0]));
  911 + kssj.setMinutes(parseInt(strArray[1]) + lastObj.STOPTIME);
  912 + var cctag = baseF.dirDmToIndex(lastObj.xlDir);
  913 + cctag = baseF.getfx(1,cctag);
  914 + var tzsj = baseF.isgfsjd01(kssj,dataMap) ? dataMap.gftzsj[cctag] : dataMap.dgtzsj[cctag];
  915 + var _xxsj = baseF.getxssj(dataMap.zgfsjd,dataMap.wgfsjd,kssj,dataMap.pcxssjArr,dataMap.gfxxsjArr,cctag);// 获取行驶时间
  916 + // 定义班次序号
  917 + var xhNo = lastObj.fcno+1;
  918 + var carArray = {'lp':lastObj.lp,'lpNo':lastObj.lpNo,'lpName':lastObj.lpName,'lpType':lastObj.lpType};
  919 + var ags = {'tcc_id':lastObj.tcc,'skbName':lastObj.ttinfo,'lineName':lastObj.xl+'_'};
  920 + gfzjbc.push(baseF.getbcObj( kssj,
  921 + _xxsj,
  922 + carArray,
  923 + 'normal',
  924 + dataMap.dira[cctag],
  925 + xhNo++,
  926 + dataMap.pcxslcArr[cctag],
  927 + ags,0,
  928 + dataMap.qdzArr[cctag],
  929 + dataMap.zdzArr[cctag],
  930 + null,tzsj,0));
  931 + },
  932 +
  933 + gettzsjbs : function(array,bs,dataMap) {
  934 + var tag = true,dx = 0;
  935 + var tempA = new Array(),maxXxsjA = [parseInt(dataMap.map.upTravelTime),parseInt(dataMap.map.downTravelTime)];
  936 + for(var r = 0 ; r<array.length;r++) {
  937 + tempA.push(array[r].STOPTIME + bs);
  938 + }
  939 + var v1 = Math.max.apply(null, maxXxsjA) *1.5;
  940 + var v2 = Math.max.apply(null, tempA);
  941 + if( v2 > v1) {
  942 + tag = false;
  943 + dx = parseInt(v2 -v1);
  944 + }
  945 + return {tag:tag,dx:dx};
  946 + },
  947 +
631 issplice : function (kssj,dataMap,type,lpNo,cla){ 948 issplice : function (kssj,dataMap,type,lpNo,cla){
632 var tag = false; 949 var tag = false;
633 - if(type=='五工二休' || lpNo <Math.round(cla/2)) { 950 + if(type=='五工二休' || lpNo <= Math.round(cla/2)) {
634 if((dataMap.zgfsjd[0].st <=kssj && kssj<= dataMap.zgfsjd[0].ed ) || 951 if((dataMap.zgfsjd[0].st <=kssj && kssj<= dataMap.zgfsjd[0].ed ) ||
635 ( dataMap.wgfsjd[0].st <= kssj && kssj <= dataMap.wgfsjd[0].ed)) 952 ( dataMap.wgfsjd[0].st <= kssj && kssj <= dataMap.wgfsjd[0].ed))
636 tag = true; 953 tag = true;
@@ -1152,12 +1469,12 @@ var BaseFun = function() { @@ -1152,12 +1469,12 @@ var BaseFun = function() {
1152 while(kssj<=endTime) { 1469 while(kssj<=endTime) {
1153 cctag = map.linePlayType=='1' ? 0 : baseF.getfx(fxTagDm,cctag); 1470 cctag = map.linePlayType=='1' ? 0 : baseF.getfx(fxTagDm,cctag);
1154 fxTagDm = 1; 1471 fxTagDm = 1;
1155 - var cfdd = baseF.getcfdd(map.cfdd,cctag); 1472 + /*var cfdd = baseF.getcfdd(map.cfdd,cctag);
1156 if(kssj> new Date (baseF.getCFDate(10,30)) && 1473 if(kssj> new Date (baseF.getCFDate(10,30)) &&
1157 kssj<new Date (baseF.getCFDate(11,30)) && $_cfn<1 && cfdd == cctag) { 1474 kssj<new Date (baseF.getCFDate(11,30)) && $_cfn<1 && cfdd == cctag) {
1158 $_cfn++; 1475 $_cfn++;
1159 rs.push(baseF.getbcObj( 1476 rs.push(baseF.getbcObj(
1160 - kssj,dataMap.zwcArr[0],cara[c],dataMap.bcTypeArr.cf, 1477 + kssj,dataMap.zwcAr r[0],cara[c],dataMap.bcTypeArr.cf,
1161 dataMap.dira[cctag],xhNo++,0,map,0,null,null,null,0,0));// 午餐班次 1478 dataMap.dira[cctag],xhNo++,0,map,0,null,null,null,0,0));// 午餐班次
1162 }else if(kssj> new Date (baseF.getCFDate(18,30)) && 1479 }else if(kssj> new Date (baseF.getCFDate(18,30)) &&
1163 kssj<new Date (baseF.getCFDate(19,30)) && $_cfw<1 && cfdd == cctag && 1480 kssj<new Date (baseF.getCFDate(19,30)) && $_cfw<1 && cfdd == cctag &&
@@ -1166,15 +1483,15 @@ var BaseFun = function() { @@ -1166,15 +1483,15 @@ var BaseFun = function() {
1166 rs.push(baseF.getbcObj( 1483 rs.push(baseF.getbcObj(
1167 kssj,dataMap.zwcArr[1],cara[c],dataMap.bcTypeArr.cf, 1484 kssj,dataMap.zwcArr[1],cara[c],dataMap.bcTypeArr.cf,
1168 dataMap.dira[cctag],xhNo++,0,map,0,null,null,null,0,0));// 晚餐班次 1485 dataMap.dira[cctag],xhNo++,0,map,0,null,null,null,0,0));// 晚餐班次
1169 - } 1486 + }*/
1170 var tzsj = baseF.isgfsjd01(kssj,dataMap) ? dataMap.gftzsj[cctag] : dataMap.dgtzsj[cctag]; 1487 var tzsj = baseF.isgfsjd01(kssj,dataMap) ? dataMap.gftzsj[cctag] : dataMap.dgtzsj[cctag];
1171 // var tzsj = dataMap.ztjxA[cctag]; 1488 // var tzsj = dataMap.ztjxA[cctag];
1172 var _xxsj = baseF.getxssj(dataMap.zgfsjd,dataMap.wgfsjd,kssj,dataMap.pcxssjArr,dataMap.gfxxsjArr,cctag);// 获取行驶时间 1489 var _xxsj = baseF.getxssj(dataMap.zgfsjd,dataMap.wgfsjd,kssj,dataMap.pcxssjArr,dataMap.gfxxsjArr,cctag);// 获取行驶时间
1173 - tzsj = baseF.isLastbc(kssj,endTime,tzsj,_xxsj) ? 0 : tzsj; 1490 + var xs_tzsj = baseF.isLastbc(kssj,endTime,tzsj,_xxsj) ? 0 : tzsj;
1174 rs.push(baseF.getbcObj( 1491 rs.push(baseF.getbcObj(
1175 kssj,_xxsj,cara[c],dataMap.bcTypeArr.normal, 1492 kssj,_xxsj,cara[c],dataMap.bcTypeArr.normal,
1176 dataMap.dira[cctag],xhNo++,dataMap.pcxslcArr[cctag],map,0, 1493 dataMap.dira[cctag],xhNo++,dataMap.pcxslcArr[cctag],map,0,
1177 - dataMap.qdzArr[cctag],dataMap.zdzArr[cctag],null,tzsj,0));// 正常班次 1494 + dataMap.qdzArr[cctag],dataMap.zdzArr[cctag],null,xs_tzsj,0));// 正常班次
1178 kssj = new Date(kssj.setMinutes(kssj.getMinutes() + tzsj)); 1495 kssj = new Date(kssj.setMinutes(kssj.getMinutes() + tzsj));
1179 } 1496 }
1180 } 1497 }
@@ -1336,8 +1653,8 @@ var BaseFun = function() { @@ -1336,8 +1653,8 @@ var BaseFun = function() {
1336 var _obj = baseF.getsxAndxxbc(list); 1653 var _obj = baseF.getsxAndxxbc(list);
1337 baseF.tcbc(_obj.sxbc,smbcsj[0].kssj,smbcsj[0].jssj);// 剔除上行不在时间范围内的班次 1654 baseF.tcbc(_obj.sxbc,smbcsj[0].kssj,smbcsj[0].jssj);// 剔除上行不在时间范围内的班次
1338 baseF.tcbc(_obj.xxbc,smbcsj[1].kssj,smbcsj[1].jssj);// 剔除下行不在时间范围内的班次 1655 baseF.tcbc(_obj.xxbc,smbcsj[1].kssj,smbcsj[1].jssj);// 剔除下行不在时间范围内的班次
1339 - baseF.dzsmsj(_obj.sxbc,smbcsj[0].kssj,smbcsj[0].jssj,_obj.xxbc);// 调整上行首末班车时间  
1340 baseF.dzsmsj(_obj.xxbc,smbcsj[1].kssj,smbcsj[1].jssj,_obj.sxbc);// 调整下行首末班车时间 1656 baseF.dzsmsj(_obj.xxbc,smbcsj[1].kssj,smbcsj[1].jssj,_obj.sxbc);// 调整下行首末班车时间
  1657 + baseF.dzsmsj(_obj.sxbc,smbcsj[0].kssj,smbcsj[0].jssj,_obj.xxbc);// 调整上行首末班车时间
1341 baseF.tzqtbc(_obj.sxbc,_obj.qt,sj,cl,zd,lbsj); 1658 baseF.tzqtbc(_obj.sxbc,_obj.qt,sj,cl,zd,lbsj);
1342 baseF.tzqtbc(_obj.xxbc,_obj.qt,sj,cl,zd,lbsj); 1659 baseF.tzqtbc(_obj.xxbc,_obj.qt,sj,cl,zd,lbsj);
1343 return _obj.sxbc.concat(_obj.xxbc).concat(_obj.qt); 1660 return _obj.sxbc.concat(_obj.xxbc).concat(_obj.qt);
@@ -1353,8 +1670,14 @@ var BaseFun = function() { @@ -1353,8 +1670,14 @@ var BaseFun = function() {
1353 var _obj = baseF.getsxAndxxbc(list,dm); 1670 var _obj = baseF.getsxAndxxbc(list,dm);
1354 baseF.tcbc(_obj.sxbc,smbcsj[0].kssj,smbcsj[0].jssj ,_obj.xxbc);// 剔除上行不在时间范围内的班次 1671 baseF.tcbc(_obj.sxbc,smbcsj[0].kssj,smbcsj[0].jssj ,_obj.xxbc);// 剔除上行不在时间范围内的班次
1355 baseF.tcbc(_obj.xxbc,smbcsj[1].kssj,smbcsj[1].jssj,_obj.sxbc);// 剔除下行不在时间范围内的班次 1672 baseF.tcbc(_obj.xxbc,smbcsj[1].kssj,smbcsj[1].jssj,_obj.sxbc);// 剔除下行不在时间范围内的班次
1356 - baseF.dzsmsj(_obj.sxbc,smbcsj[0].kssj,smbcsj[0].jssj,_obj.xxbc);// 调整上行首末班车时间  
1357 - baseF.dzsmsj(_obj.xxbc,smbcsj[1].kssj,smbcsj[1].jssj,_obj.sxbc);// 调整下行首末班车时间 1673 + if(smbcsj[1].jssj < smbcsj[0].jssj ) {
  1674 + baseF.dzsmsj(_obj.xxbc,smbcsj[1].kssj,smbcsj[1].jssj,_obj.sxbc);// 调整下行首末班车时间
  1675 + baseF.dzsmsj(_obj.sxbc,smbcsj[0].kssj,smbcsj[0].jssj,_obj.xxbc);// 调整上行首末班车时间
  1676 + }else {
  1677 + baseF.dzsmsj(_obj.sxbc,smbcsj[0].kssj,smbcsj[0].jssj,_obj.xxbc);// 调整上行首末班车时间
  1678 + baseF.dzsmsj(_obj.xxbc,smbcsj[1].kssj,smbcsj[1].jssj,_obj.sxbc);// 调整下行首末班车时间
  1679 + }
  1680 +
1358 return _obj.sxbc.concat(_obj.xxbc).concat(_obj.qt); 1681 return _obj.sxbc.concat(_obj.xxbc).concat(_obj.qt);
1359 }, 1682 },
1360 tcbc : function(ar,kssj,jssj,ppar) { 1683 tcbc : function(ar,kssj,jssj,ppar) {
src/main/resources/static/pages/base/timesmodel/js/d3.relationshipgraph.js
@@ -947,11 +947,30 @@ var RelationshipGraph = function () { @@ -947,11 +947,30 @@ var RelationshipGraph = function () {
947 key : 'statistics', 947 key : 'statistics',
948 value : function statistics() { 948 value : function statistics() {
949 var $_this = this, 949 var $_this = this,
950 - array = $_this.getSvgyAxisTransformY(),  
951 - gdata = d3.selectAll('rect.data')[0],  
952 - arrayTemp = new Array(),  
953 - minValue = 0,timeNum; 950 + // array = $_this.getSvgyAxisTransformY(),
  951 + array = $_this.configuration.taskTypes,
  952 + tza = $_this.getDataArray();
954 for(var a=0;a<array.length;a++) { 953 for(var a=0;a<array.length;a++) {
  954 + var lpNo = array[a].lpNo;
  955 + var timeNum = 0 ,tempNum = 0;
  956 + for(var z = 0 ;z < tza.length;z++) {
  957 + if(tza[z].lpNo == lpNo) {
  958 + timeNum = timeNum + tza[z].bcsj + tza[z].STOPTIME;
  959 + tempNum ++;
  960 + }
  961 + }
  962 + var className = 'statis_container_' + lpNo;
  963 + var textNodes = $("."+className).children("text");
  964 + var hours = parseInt(timeNum/60);
  965 + var mimus = timeNum%60, zgs = hours + (mimus==0? "": "." + mimus);
  966 + var zgs = parseFloat((timeNum/60).toFixed(2));
  967 + // var zgs = timeNum;
  968 + $(textNodes[0]).text("总工时:" + zgs);
  969 + $(textNodes[1]).text("总班次:"+(tempNum));
  970 + // $_this.pptjbx($("."+className).children("rect")[2],zgs*1,lpNo,$_this);
  971 + }
  972 + /*for(var a=0;a<array.length;a++) {
  973 + debugger;
955 var tempNum = 0,timeNum = 0,lpNo = ''; 974 var tempNum = 0,timeNum = 0,lpNo = '';
956 for(var g = 0 ; g <gdata.length;g++) { 975 for(var g = 0 ; g <gdata.length;g++) {
957 var temp_i = parseInt(d3.select(gdata[g]).attr('y'))-this.configuration.offsetY; 976 var temp_i = parseInt(d3.select(gdata[g]).attr('y'))-this.configuration.offsetY;
@@ -968,13 +987,14 @@ var RelationshipGraph = function () { @@ -968,13 +987,14 @@ var RelationshipGraph = function () {
968 minValue = array[a]; 987 minValue = array[a];
969 var className = 'statis_container_' + array[a]; 988 var className = 'statis_container_' + array[a];
970 var textNodes = $("."+className).children("text"); 989 var textNodes = $("."+className).children("text");
971 - /*var hours = parseInt(timeNum/60);  
972 - var mimus = timeNum%60,zgs = hours + (mimus==0? "": "." + mimus);*/ 990 + var hours = parseInt(timeNum/60);
  991 + var mimus = timeNum%60,zgs = hours + (mimus==0? "": "." + mimus);
973 var zgs = parseFloat((timeNum/60).toFixed(2)); 992 var zgs = parseFloat((timeNum/60).toFixed(2));
  993 + var zgs = timeNum;
974 $(textNodes[0]).text("总工时:" + zgs); 994 $(textNodes[0]).text("总工时:" + zgs);
975 $(textNodes[1]).text("总班次:"+(tempNum)); 995 $(textNodes[1]).text("总班次:"+(tempNum));
976 $_this.pptjbx($("."+className).children("rect")[2],zgs*1,lpNo,$_this); 996 $_this.pptjbx($("."+className).children("rect")[2],zgs*1,lpNo,$_this);
977 - } 997 + }*/
978 } 998 }
979 999
980 }, { 1000 }, {
@@ -1025,11 +1045,12 @@ var RelationshipGraph = function () { @@ -1025,11 +1045,12 @@ var RelationshipGraph = function () {
1025 value : function createStatistics() { 1045 value : function createStatistics() {
1026 var svg = d3.select('.gantt-chart'), 1046 var svg = d3.select('.gantt-chart'),
1027 _this = this, 1047 _this = this,
1028 - array = _this.getSvgyAxisTransformY(); 1048 + yAyxisA = _this.getSvgyAxisTransformY();
  1049 + array = _this.configuration.taskTypes;
1029 var g_statis = svg.selectAll('.g_statis').data([1]).enter().append('g').classed({'g_statis':true}).attr("transform", "translate(" + _this.configuration.offsetX + ", " + _this.configuration.offsetY + ")"); 1050 var g_statis = svg.selectAll('.g_statis').data([1]).enter().append('g').classed({'g_statis':true}).attr("transform", "translate(" + _this.configuration.offsetX + ", " + _this.configuration.offsetY + ")");
1030 for(var c = 0 ;c<array.length;c++) { 1051 for(var c = 0 ;c<array.length;c++) {
1031 - var className = 'statis_container_' + array[c];  
1032 - var statis_container = g_statis.append('g').attr("class",className).attr("transform", "translate(" + 0 + ", " + array[c] + ")"); 1052 + var className = 'statis_container_' + array[c].lpNo;
  1053 + var statis_container = g_statis.append('g').attr("class",className).attr("transform", "translate(" + 0 + ", " + yAyxisA[c] + ")");
1033 statis_container.append('rect').classed({'rect_shift':true}) 1054 statis_container.append('rect').classed({'rect_shift':true})
1034 .attr("x",-_this.configuration.offsetX) 1055 .attr("x",-_this.configuration.offsetX)
1035 .attr("y",9) 1056 .attr("y",9)
@@ -1527,7 +1548,8 @@ var RelationshipGraph = function () { @@ -1527,7 +1548,8 @@ var RelationshipGraph = function () {
1527 key : 'setIdValue', 1548 key : 'setIdValue',
1528 value : function setIdValue(obj) { 1549 value : function setIdValue(obj) {
1529 // 设置id属性值. 由一个 常量字符串 + 班次数 + 常量字符串 + 发车序号 + 常量字符 + 对应的y轴值. 1550 // 设置id属性值. 由一个 常量字符串 + 班次数 + 常量字符串 + 发车序号 + 常量字符 + 对应的y轴值.
1530 - return 'shift-rect-' + obj.bcs + '_' + obj.fcno + '_' + $_GlobalGraph.configuration.y(obj.parent); 1551 + // return 'shift-rect-' + obj.bcs + '_' + obj.fcno + '_' + $_GlobalGraph.configuration.y(obj.parent);
  1552 + return 'shift-rect-' + obj.bcs + '_' + obj.fcno + '_' + $_GlobalGraph.configuration.y(obj.lpName);
1531 } 1553 }
1532 }, { 1554 }, {
1533 /** 1555 /**
@@ -1615,7 +1637,8 @@ var RelationshipGraph = function () { @@ -1615,7 +1637,8 @@ var RelationshipGraph = function () {
1615 * */ 1637 * */
1616 key : 'setRectParenNodeIdV', 1638 key : 'setRectParenNodeIdV',
1617 value : function setRectParenNodeIdV(obj) { 1639 value : function setRectParenNodeIdV(obj) {
1618 - return 'parent_' + $_GlobalGraph.configuration.y(obj.parent) + '_' + obj.bcs + "_node_" + obj.fcno; 1640 + // return 'parent_' + $_GlobalGraph.configuration.y(obj.parent) + '_' + obj.bcs + "_node_" + obj.fcno;
  1641 + return 'parent_' + $_GlobalGraph.configuration.y(obj.lpName) + '_' + obj.bcs + "_node_" + obj.fcno;
1619 } 1642 }
1620 }, { 1643 }, {
1621 /** 1644 /**
@@ -1629,7 +1652,8 @@ var RelationshipGraph = function () { @@ -1629,7 +1652,8 @@ var RelationshipGraph = function () {
1629 * */ 1652 * */
1630 key : 'setNextNodeIdV', 1653 key : 'setNextNodeIdV',
1631 value : function setNextNodeIdV(obj) { 1654 value : function setNextNodeIdV(obj) {
1632 - return "shift-rect-" + (obj.bcs+1) + '_' + (obj.fcno+1) + '_' + $_GlobalGraph.configuration.y(obj.parent); 1655 + // return "shift-rect-" + (obj.bcs+1) + '_' + (obj.fcno+1) + '_' + $_GlobalGraph.configuration.y(obj.parent);
  1656 + return "shift-rect-" + (obj.bcs+1) + '_' + (obj.fcno+1) + '_' + $_GlobalGraph.configuration.y(obj.lpName);
1633 } 1657 }
1634 }, { 1658 }, {
1635 /** 1659 /**
@@ -1643,7 +1667,8 @@ var RelationshipGraph = function () { @@ -1643,7 +1667,8 @@ var RelationshipGraph = function () {
1643 * */ 1667 * */
1644 key : 'setLastNodeIdV', 1668 key : 'setLastNodeIdV',
1645 value : function setLastNodeIdV(obj) { 1669 value : function setLastNodeIdV(obj) {
1646 - return "shift-rect-" + (obj.bcs-1) + '_' + (obj.fcno-1)+ '_' + $_GlobalGraph.configuration.y(obj.parent); 1670 + // return "shift-rect-" + (obj.bcs-1) + '_' + (obj.fcno-1)+ '_' + $_GlobalGraph.configuration.y(obj.parent);
  1671 + return "shift-rect-" + (obj.bcs-1) + '_' + (obj.fcno-1)+ '_' + $_GlobalGraph.configuration.y(obj.lpName);
1647 } 1672 }
1648 }, { 1673 }, {
1649 /** 1674 /**
@@ -1671,7 +1696,8 @@ var RelationshipGraph = function () { @@ -1671,7 +1696,8 @@ var RelationshipGraph = function () {
1671 * */ 1696 * */
1672 key : 'setText01IdV', 1697 key : 'setText01IdV',
1673 value : function setText01IdV(obj) { 1698 value : function setText01IdV(obj) {
1674 - return "shift-rect-text01-" + obj.bcs + '_' + obj.fcno + $_GlobalGraph.configuration.y(obj.parent); 1699 + // return "shift-rect-text01-" + obj.bcs + '_' + obj.fcno + $_GlobalGraph.configuration.y(obj.parent);
  1700 + return "shift-rect-text01-" + obj.bcs + '_' + obj.fcno + $_GlobalGraph.configuration.y(obj.lpName);
1675 } 1701 }
1676 }, { 1702 }, {
1677 /** 1703 /**
@@ -1755,7 +1781,8 @@ var RelationshipGraph = function () { @@ -1755,7 +1781,8 @@ var RelationshipGraph = function () {
1755 * */ 1781 * */
1756 key : 'setCircleIdV', 1782 key : 'setCircleIdV',
1757 value : function setCircleIdV(obj) { 1783 value : function setCircleIdV(obj) {
1758 - return "shift-rect-circle-" + obj.bcs + '_' + obj.fcno + $_GlobalGraph.configuration.y(obj.parent); 1784 + // return "shift-rect-circle-" + obj.bcs + '_' + obj.fcno + $_GlobalGraph.configuration.y(obj.parent);
  1785 + return "shift-rect-circle-" + obj.bcs + '_' + obj.fcno + $_GlobalGraph.configuration.y(obj.lpName);
1759 } 1786 }
1760 }, { 1787 }, {
1761 /** 1788 /**
@@ -1833,7 +1860,8 @@ var RelationshipGraph = function () { @@ -1833,7 +1860,8 @@ var RelationshipGraph = function () {
1833 * */ 1860 * */
1834 key : 'setText02IdV', 1861 key : 'setText02IdV',
1835 value : function setText02IdV(obj) { 1862 value : function setText02IdV(obj) {
1836 - return "shift-rect-text02-" + obj.bcs + '_' + obj.fcno + $_GlobalGraph.configuration.y(obj.parent); 1863 + // return "shift-rect-text02-" + obj.bcs + '_' + obj.fcno + $_GlobalGraph.configuration.y(obj.parent);
  1864 + return "shift-rect-text02-" + obj.bcs + '_' + obj.fcno + $_GlobalGraph.configuration.y(obj.lpName);
1837 } 1865 }
1838 }, { 1866 }, {
1839 /** 1867 /**
@@ -1873,7 +1901,9 @@ var RelationshipGraph = function () { @@ -1873,7 +1901,9 @@ var RelationshipGraph = function () {
1873 * */ 1901 * */
1874 key : 'setText03IdV', 1902 key : 'setText03IdV',
1875 value : function setText03IdV(obj) { 1903 value : function setText03IdV(obj) {
1876 - return "shift-rect-text03-" + obj.bcs + '_' + obj.fcno + $_GlobalGraph.configuration.y(obj.parent); 1904 + /*return "shift-rect-text03-" + obj.bcs + '_' + obj.fcno + $_GlobalGraph.configuration.y(obj.parent);*/
  1905 + return "shift-rect-text03-" + obj.bcs + '_' + obj.fcno + $_GlobalGraph.configuration.y(obj.lpName);
  1906 +
1877 } 1907 }
1878 }, { 1908 }, {
1879 /** 1909 /**
@@ -1911,7 +1941,8 @@ var RelationshipGraph = function () { @@ -1911,7 +1941,8 @@ var RelationshipGraph = function () {
1911 * */ 1941 * */
1912 key : 'setText04IdV', 1942 key : 'setText04IdV',
1913 value : function (obj) { 1943 value : function (obj) {
1914 - return "shift-rect-text04-" + obj.bcs + '_' + obj.fcno + $_GlobalGraph.configuration.y(obj.parent); 1944 + /*return "shift-rect-text04-" + obj.bcs + '_' + obj.fcno + $_GlobalGraph.configuration.y(obj.parent);*/
  1945 + return "shift-rect-text04-" + obj.bcs + '_' + obj.fcno + $_GlobalGraph.configuration.y(obj.lpName);
1915 } 1946 }
1916 }, { 1947 }, {
1917 /** 1948 /**
@@ -2011,7 +2042,8 @@ var RelationshipGraph = function () { @@ -2011,7 +2042,8 @@ var RelationshipGraph = function () {
2011 * */ 2042 * */
2012 key : 'setCoverRectIdV', 2043 key : 'setCoverRectIdV',
2013 value : function setCoverRectIdV(obj) { 2044 value : function setCoverRectIdV(obj) {
2014 - return "shift-rect-cover-" + obj.bcs + '_' + obj.fcno + $_GlobalGraph.configuration.y(obj.parent); 2045 + /*return "shift-rect-cover-" + obj.bcs + '_' + obj.fcno + $_GlobalGraph.configuration.y(obj.parent);*/
  2046 + return "shift-rect-cover-" + obj.bcs + '_' + obj.fcno + $_GlobalGraph.configuration.y(obj.lpName);
2015 } 2047 }
2016 }, { 2048 }, {
2017 /** 2049 /**
@@ -2039,7 +2071,8 @@ var RelationshipGraph = function () { @@ -2039,7 +2071,8 @@ var RelationshipGraph = function () {
2039 * */ 2071 * */
2040 key : 'setCoverRectParentV', 2072 key : 'setCoverRectParentV',
2041 value : function setCoverRectParentV(obj) { 2073 value : function setCoverRectParentV(obj) {
2042 - return "shift-rect-" + obj.bcs + '_' + obj.fcno + '_' + $_GlobalGraph.configuration.y(obj.parent) + '-cover'; 2074 + //return "shift-rect-" + obj.bcs + '_' + obj.fcno + '_' + $_GlobalGraph.configuration.y(obj.parent) + '-cover';
  2075 + return "shift-rect-" + obj.bcs + '_' + obj.fcno + '_' + $_GlobalGraph.configuration.y(obj.lpName) + '-cover';
2043 } 2076 }
2044 }, { 2077 }, {
2045 /** 2078 /**
@@ -2053,7 +2086,8 @@ var RelationshipGraph = function () { @@ -2053,7 +2086,8 @@ var RelationshipGraph = function () {
2053 * */ 2086 * */
2054 key : 'setCoverRectLastIdV', 2087 key : 'setCoverRectLastIdV',
2055 value : function setCoverRectLastIdV(obj) { 2088 value : function setCoverRectLastIdV(obj) {
2056 - return "shift-rect-cover-" + obj.bcs + '_' + (obj.fcno+1) + $_GlobalGraph.configuration.y(obj.parent); 2089 + // return "shift-rect-cover-" + obj.bcs + '_' + (obj.fcno+1) + $_GlobalGraph.configuration.y(obj.parent);
  2090 + return "shift-rect-cover-" + obj.bcs + '_' + (obj.fcno+1) + $_GlobalGraph.configuration.y(obj.lpName);
2057 } 2091 }
2058 }, { 2092 }, {
2059 key : 'mouseUpEvent', 2093 key : 'mouseUpEvent',
src/main/resources/static/pages/base/timesmodel/js/gantt.js
@@ -388,7 +388,8 @@ @@ -388,7 +388,8 @@
388 * @return 返回甘特图的参数配置信息. 388 * @return 返回甘特图的参数配置信息.
389 * */ 389 * */
390 function getGraphArgus(p) { 390 function getGraphArgus(p) {
391 - var VALUEKEYNAME = 'Worldwide Gross',MULTIPLE = Math.round(105/parseInt(p.stopAraay[0].sxsj)) >=4 ? Math.round(90/parseInt(p.stopAraay[0].sxsj)) : 3 , 391 + var MULTIPLE = Math.round(105/parseInt(p.stopAraay[0].sxsj)) >=4 ? Math.round(90/parseInt(p.stopAraay[0].sxsj)) : Math.round(90/parseInt(p.stopAraay[0].sxsj)) *2;
  392 + var VALUEKEYNAME = 'Worldwide Gross' ,
392 DXHOURS = 24,MINUTE = 60,WIDTH = DXHOURS*MINUTE,MARGINLEFT = 380,HEIGHT = p.yAxisCarArray.length*60 + 240, 393 DXHOURS = 24,MINUTE = 60,WIDTH = DXHOURS*MINUTE,MARGINLEFT = 380,HEIGHT = p.yAxisCarArray.length*60 + 240,
393 MARGINBOTTOM = 240,OFFSETX = 90,OFFSETY = 180,OFFSETUPY = 120,OFFSETDOWNY = 60, 394 MARGINBOTTOM = 240,OFFSETX = 90,OFFSETY = 180,OFFSETUPY = 120,OFFSETDOWNY = 60,
394 STARTDATETIME = p.startDateTime ,ENDDATETIME = p.endDateTime ,TASKTYPES =p.yAxisCarArray ,TICKFORMAT ='%H:%M' ,SHOWTOOLTIPS = true; 395 STARTDATETIME = p.startDateTime ,ENDDATETIME = p.endDateTime ,TASKTYPES =p.yAxisCarArray ,TICKFORMAT ='%H:%M' ,SHOWTOOLTIPS = true;