Commit 07ac546924789e840ba856a50d98ef10c73183c9
Merge branch 'minhang' into pudong
Showing
13 changed files
with
281 additions
and
133 deletions
src/main/java/com/bsth/entity/Line.java
| ... | ... | @@ -104,6 +104,9 @@ public class Line implements Serializable { |
| 104 | 104 | /** 开辟日期 date*/ |
| 105 | 105 | @DateTimeFormat(pattern ="yyyy-MM-dd") |
| 106 | 106 | private Date openDate; |
| 107 | + | |
| 108 | + /** 大间隔等级 */ | |
| 109 | + private Integer spacGrade; | |
| 107 | 110 | |
| 108 | 111 | /** 线路沿革 varchar length(50) */ |
| 109 | 112 | private String history; |
| ... | ... | @@ -155,6 +158,14 @@ public class Line implements Serializable { |
| 155 | 158 | /** 是否在使用 <1:是;0:否> bit length(50) */ |
| 156 | 159 | private Integer inUse; |
| 157 | 160 | |
| 161 | + public Integer getSpacGrade() { | |
| 162 | + return spacGrade; | |
| 163 | + } | |
| 164 | + | |
| 165 | + public void setSpacGrade(Integer spacGrade) { | |
| 166 | + this.spacGrade = spacGrade; | |
| 167 | + } | |
| 168 | + | |
| 158 | 169 | public Integer getWarrantCar() { |
| 159 | 170 | return warrantCar; |
| 160 | 171 | } | ... | ... |
src/main/java/com/bsth/repository/SectionRouteRepository.java
| ... | ... | @@ -159,11 +159,11 @@ public interface SectionRouteRepository extends BaseRepository<SectionRoute, Int |
| 159 | 159 | */ |
| 160 | 160 | @Query(value = "SELECT " + |
| 161 | 161 | "c.directions," + |
| 162 | - "ST_AsText(s.bsection_vector) as bsection_vector," + | |
| 162 | + "ST_AsText(s.gsection_vector) as gsection_vector," + | |
| 163 | 163 | "s.speed_limit," + |
| 164 | 164 | "s.section_name " + |
| 165 | 165 | " FROM bsth_c_sectionroute c " + |
| 166 | - " LEFT JOIN bsth_c_section s on c.section = s.id where c.line = ?1 and c.directions = ?2", nativeQuery=true) | |
| 166 | + " LEFT JOIN bsth_c_section s on c.section = s.id where c.line = ?1 and c.directions = ?2 and c.destroy = 0", nativeQuery=true) | |
| 167 | 167 | List<Object[]> sectionRouteVector(Integer lineId,Integer directions); |
| 168 | 168 | |
| 169 | 169 | @Transactional | ... | ... |
src/main/java/com/bsth/repository/StationRouteRepository.java
| ... | ... | @@ -153,7 +153,7 @@ public interface StationRouteRepository extends BaseRepository<StationRoute, Int |
| 153 | 153 | "s.station_route_code," + |
| 154 | 154 | "s.directions," + |
| 155 | 155 | "s.distances,"+ |
| 156 | - "s.station FROM bsth_c_stationroute s where s.line = ?1) a " + | |
| 156 | + "s.station FROM bsth_c_stationroute s where s.line = ?1 and s.destroy=0) a " + | |
| 157 | 157 | "LEFT JOIN bsth_c_station b " + |
| 158 | 158 | " on a.station = b.id ORDER BY a.directions ASC ) k ORDER BY k.directions,k.station_route_code ASC", nativeQuery=true) |
| 159 | 159 | List<Object[]> usingSingle(Integer lineId); | ... | ... |
src/main/java/com/bsth/service/impl/StationRouteServiceImpl.java
| ... | ... | @@ -24,6 +24,7 @@ import org.springframework.transaction.annotation.Transactional; |
| 24 | 24 | |
| 25 | 25 | import java.io.ByteArrayInputStream; |
| 26 | 26 | import java.io.File; |
| 27 | +import java.io.FileOutputStream; | |
| 27 | 28 | import java.io.InputStream; |
| 28 | 29 | import java.text.DecimalFormat; |
| 29 | 30 | import java.util.*; |
| ... | ... | @@ -511,57 +512,38 @@ public class StationRouteServiceImpl extends BaseServiceImpl<StationRoute, Integ |
| 511 | 512 | */ |
| 512 | 513 | @Override |
| 513 | 514 | public Map<String, Object> usingSingle(Map<String, Object> map) { |
| 514 | - | |
| 515 | 515 | // 返回值map |
| 516 | 516 | Map<String, Object> resultMap = new HashMap<String,Object>(); |
| 517 | - | |
| 518 | 517 | try { |
| 519 | - | |
| 520 | 518 | // 获取线路ID |
| 521 | 519 | Integer lineId = map.get("lineId").equals("") ? 0 : Integer.parseInt(map.get("lineId").toString()); |
| 522 | - | |
| 523 | 520 | /** 查询线路信息 @param:<lineId:线路ID> */ |
| 524 | 521 | Line line = lineRepository.findOne(lineId); |
| 525 | - | |
| 526 | 522 | /** 查询线路信息下的站点路由信息 @param:<lineId:线路ID> */ |
| 527 | 523 | List<Object[]> objects = repository.usingSingle(lineId); |
| 528 | - | |
| 529 | 524 | if (objects.size()>0) { |
| 530 | - | |
| 531 | 525 | /** 获取配置文件里的ftp登录参数 */ |
| 532 | 526 | Map<String, Object> FTPParamMap = readPropertiesGetFTPParam(); |
| 533 | - | |
| 534 | 527 | // 压缩文件名 |
| 535 | 528 | String odlGzFileName = line.getLineCode() + ".txt.gz"; |
| 536 | - | |
| 537 | 529 | // txt文件名 |
| 538 | 530 | String textFileName = line.getLineCode() + ".txt"; |
| 539 | - | |
| 540 | 531 | // 创建一个ftp上传实例 |
| 541 | 532 | FTPClientUtils clientUtils = new FTPClientUtils(); |
| 542 | - | |
| 543 | 533 | // IP |
| 544 | 534 | String url = FTPParamMap.get("url").toString(); |
| 545 | - | |
| 546 | 535 | // 端口 |
| 547 | 536 | int port = Integer.valueOf(FTPParamMap.get("port").toString()); |
| 548 | - | |
| 549 | 537 | // 用户名 |
| 550 | 538 | String username = FTPParamMap.get("username").toString(); |
| 551 | - | |
| 552 | 539 | // 密码 |
| 553 | 540 | String password = FTPParamMap.get("password").toString(); |
| 554 | - | |
| 555 | 541 | // 相对路径 |
| 556 | 542 | String remotePath = FTPParamMap.get("remotePath").toString(); |
| 557 | - | |
| 558 | 543 | /** 如果已存在相同行单文件名则先删除 */ |
| 559 | 544 | clientUtils.deleteFtpFile(url, port, username, password, remotePath, odlGzFileName); |
| 560 | - | |
| 561 | 545 | clientUtils.deleteFtpFile(url, port, username, password, remotePath, textFileName); |
| 562 | - | |
| 563 | 546 | String textStr = ""; |
| 564 | - | |
| 565 | 547 | boolean tempTag = ishxType(objects); |
| 566 | 548 | |
| 567 | 549 | if(tempTag) |
| ... | ... | @@ -575,6 +557,12 @@ public class StationRouteServiceImpl extends BaseServiceImpl<StationRoute, Integ |
| 575 | 557 | |
| 576 | 558 | InputStream input = new ByteArrayInputStream(textStr.getBytes("gbk")); |
| 577 | 559 | |
| 560 | + // FileOutputStream fos = new FileOutputStream("test.txt"); | |
| 561 | + /*int len = 0 ; | |
| 562 | + byte[] cbuf = new byte[1024]; | |
| 563 | + while((len = input.read(cbuf)) != -1) { | |
| 564 | + fos.write(cbuf, 0, len); | |
| 565 | + }*/ | |
| 578 | 566 | /** 生成txt文件,上传ftp */ |
| 579 | 567 | clientUtils.uploadFile(url, port, username, password, remotePath, textFileName, input); |
| 580 | 568 | |
| ... | ... | @@ -645,25 +633,23 @@ public class StationRouteServiceImpl extends BaseServiceImpl<StationRoute, Integ |
| 645 | 633 | * @return String |
| 646 | 634 | */ |
| 647 | 635 | public String newTextFileToFTP(List<Object[]> objects,Integer lineId) { |
| 648 | - | |
| 649 | 636 | // 返回值String |
| 650 | 637 | String stationRStr = ""; |
| 651 | - | |
| 652 | 638 | // windows下的文本文件换行符 |
| 653 | 639 | //String enterStr = "\r\n"; |
| 654 | - | |
| 655 | 640 | // linux/unix下的文本文件换行符 |
| 656 | 641 | String enterStr = "\r"; |
| 657 | - | |
| 642 | + int defaultZdxh = 0; | |
| 658 | 643 | if(objects.size()>0) { |
| 659 | - | |
| 660 | 644 | for(int i = 0; i<objects.size();i++) { |
| 661 | - | |
| 645 | + defaultZdxh ++ ; | |
| 662 | 646 | // 经度 |
| 663 | - String lng = objects.get(i)[0].equals("") ? "" : objects.get(i)[0].toString(); | |
| 647 | + String lng = objects.get(i)[0].equals("") ? "0" : objects.get(i)[0].toString(); | |
| 664 | 648 | |
| 665 | 649 | // 纬度 |
| 666 | - String lat = objects.get(i)[1].equals("") ? "" : objects.get(i)[1].toString(); | |
| 650 | + String lat = objects.get(i)[1].equals("") ? "0" : objects.get(i)[1].toString(); | |
| 651 | + | |
| 652 | + Point point = new Point(Double.valueOf(lng), Double.valueOf(lat)); | |
| 667 | 653 | |
| 668 | 654 | lat = "\t" + lat; |
| 669 | 655 | |
| ... | ... | @@ -673,23 +659,32 @@ public class StationRouteServiceImpl extends BaseServiceImpl<StationRoute, Integ |
| 673 | 659 | String stationMake = ""; |
| 674 | 660 | |
| 675 | 661 | if(stationMakeStr.equals("E")) { |
| 676 | - | |
| 677 | 662 | stationMake = "\t2"; |
| 678 | - | |
| 679 | 663 | }else { |
| 680 | - | |
| 681 | 664 | stationMake ="\t1"; |
| 682 | - | |
| 683 | 665 | } |
| 684 | 666 | |
| 685 | 667 | // 站点序号 |
| 686 | - String stationNo = objects.get(i)[4].equals("") ? "" : objects.get(i)[4].toString(); | |
| 668 | + // String stationNo = objects.get(i)[4].equals("") ? "" : objects.get(i)[4].toString(); | |
| 669 | + String stationNo = String.valueOf(defaultZdxh); | |
| 687 | 670 | |
| 688 | 671 | stationNo = "\t" + stationNo; |
| 689 | 672 | |
| 690 | 673 | // 站点编码 |
| 691 | 674 | String stationCode = objects.get(i)[5].equals("") ? "" : objects.get(i)[5].toString(); |
| 692 | 675 | |
| 676 | + int len = stationCode.length(); | |
| 677 | + if(len<8) { | |
| 678 | + int dx = 8 - len; | |
| 679 | + String addStr = ""; | |
| 680 | + for(int p =0;p<dx;p++) { | |
| 681 | + addStr = addStr + "0"; | |
| 682 | + } | |
| 683 | + stationCode = addStr + stationCode; | |
| 684 | + }else if(len>8){ | |
| 685 | + stationCode = stationCode.substring(8); | |
| 686 | + } | |
| 687 | + | |
| 693 | 688 | stationCode = "\t" +stationCode; |
| 694 | 689 | |
| 695 | 690 | double dis = objects.get(i)[6]==null ? 0.0 : Double.parseDouble(objects.get(i)[6].toString())*1000; |
| ... | ... | @@ -709,41 +704,33 @@ public class StationRouteServiceImpl extends BaseServiceImpl<StationRoute, Integ |
| 709 | 704 | |
| 710 | 705 | // 限速 |
| 711 | 706 | String sleepStr = ""; |
| 712 | - | |
| 713 | 707 | // 方向 |
| 714 | 708 | int directions = objects.get(i)[8]==null ? null : Integer.valueOf(objects.get(i)[8].toString()); |
| 715 | - | |
| 716 | 709 | /** 获取路段路由信息 @pararm:<lineId:线路ID;directions:方向> */ |
| 717 | 710 | List<Object[]> sobje = routeRepository.sectionRouteVector(lineId,directions); |
| 718 | - | |
| 719 | 711 | if(sobje.size()==1) { |
| 720 | - | |
| 721 | - double dsleepStr = sobje.get(0)[2] == null ? 60d : Double.valueOf(sobje.get(0)[2].toString()); | |
| 722 | - | |
| 723 | - sleepStr = "\t" + new DecimalFormat("0").format(dsleepStr); | |
| 724 | - | |
| 712 | + int dsleepStr = sobje.get(0)[2] == null || sobje.get(0)[2].equals("") ? 60 : Integer.valueOf(sobje.get(0)[2].toString()); | |
| 713 | + sleepStr = "\t" + String.valueOf(dsleepStr); | |
| 725 | 714 | }else if(sobje.size()>1){ |
| 726 | - | |
| 727 | - /** 这里暂时只根据站点名称去匹配所在路段的限速值 ,如果路段名称"至"之前的地名与站点名称等同,就认为站点在路段上。 */ | |
| 728 | 715 | for(int j =0;j<sobje.size();j++) { |
| 729 | - | |
| 730 | - String sectionName = sobje.get(j)[3].toString(); | |
| 731 | - | |
| 732 | - String sectionNameA[] = sectionName.split("至"); | |
| 733 | - | |
| 734 | - if(stationName.equals(sectionNameA[0])){ | |
| 735 | - | |
| 736 | - /*sleepStr = sobje.get(j)[2].toString();*/ | |
| 737 | - | |
| 738 | - double dsleepStrt = sobje.get(0)[2] == null ? 60d : Double.valueOf(sobje.get(j)[2].toString()); | |
| 739 | - | |
| 740 | - sleepStr = "\t" + new DecimalFormat("0").format(dsleepStrt); | |
| 741 | - | |
| 716 | + double dsleepStrt = sobje.get(j)[2] == null || sobje.get(j)[2].equals("") ? 60d : Double.valueOf(sobje.get(j)[2].toString()); | |
| 717 | + String pointsStr = sobje.get(j)[1]==null || sobje.get(j)[1].equals("") ? null : sobje.get(j)[1].toString(); | |
| 718 | + pointsStr = pointsStr.substring(11, pointsStr.length()-1); | |
| 719 | + List<Point> ps = new ArrayList<>(); | |
| 720 | + String[] pArray = pointsStr.split(","); | |
| 721 | + for(int a = 0; a <pArray.length; a++) { | |
| 722 | + String[] tmepA = pArray[a].split(" "); | |
| 723 | + Point temp = new Point(Double.valueOf(tmepA[0]), Double.valueOf(tmepA[1])); | |
| 724 | + ps.add(temp); | |
| 725 | + } | |
| 726 | + if(GeoUtils.isInSection(ps, point)) { | |
| 727 | + sleepStr = "\t" + String.valueOf((int)dsleepStrt); | |
| 728 | + break; | |
| 742 | 729 | } |
| 743 | - | |
| 744 | 730 | } |
| 745 | 731 | } |
| 746 | - | |
| 732 | + if(sleepStr.equals("")) | |
| 733 | + sleepStr = "\t" + "60"; | |
| 747 | 734 | stationRStr = stationRStr + lng + lat + stationMake + stationNo + stationCode + staitondistance + sleepStr + stationName + enterStr; |
| 748 | 735 | } |
| 749 | 736 | |
| ... | ... | @@ -762,9 +749,12 @@ public class StationRouteServiceImpl extends BaseServiceImpl<StationRoute, Integ |
| 762 | 749 | for(int i = 0; i<objects.size();i++) { |
| 763 | 750 | if(Integer.valueOf(objects.get(i)[8].toString())==0) { |
| 764 | 751 | // 经度 |
| 765 | - String lng = objects.get(i)[0].equals("") ? "" : objects.get(i)[0].toString(); | |
| 752 | + String lng = objects.get(i)[0].equals("") ? "0" : objects.get(i)[0].toString(); | |
| 753 | + | |
| 766 | 754 | // 纬度 |
| 767 | - String lat = objects.get(i)[1].equals("") ? "" : objects.get(i)[1].toString(); | |
| 755 | + String lat = objects.get(i)[1].equals("") ? "0" : objects.get(i)[1].toString(); | |
| 756 | + | |
| 757 | + Point point = new Point(Double.valueOf(lng), Double.valueOf(lat)); | |
| 768 | 758 | lat = "\t" + lat; |
| 769 | 759 | // 站点类型 |
| 770 | 760 | String stationMakeStr = objects.get(i)[3].equals("") ? "" : objects.get(i)[3].toString(); |
| ... | ... | @@ -779,6 +769,17 @@ public class StationRouteServiceImpl extends BaseServiceImpl<StationRoute, Integ |
| 779 | 769 | String stationNo = "\t" + xh; |
| 780 | 770 | // 站点编码 |
| 781 | 771 | String stationCode = objects.get(i)[5].equals("") ? "" : objects.get(i)[5].toString(); |
| 772 | + int len = stationCode.length(); | |
| 773 | + if(len<8) { | |
| 774 | + int dx = 8 - len; | |
| 775 | + String addStr = ""; | |
| 776 | + for(int p =0;p<dx;p++) { | |
| 777 | + addStr = addStr + "0"; | |
| 778 | + } | |
| 779 | + stationCode = addStr + stationCode; | |
| 780 | + }else if(len>8){ | |
| 781 | + stationCode = stationCode.substring(8); | |
| 782 | + } | |
| 782 | 783 | stationCode = "\t" +stationCode; |
| 783 | 784 | double dis = objects.get(i)[6]==null ? 0.0 : Double.parseDouble(objects.get(i)[6].toString())*1000; |
| 784 | 785 | String tempDistc = String.valueOf((int) dis); |
| ... | ... | @@ -794,20 +795,28 @@ public class StationRouteServiceImpl extends BaseServiceImpl<StationRoute, Integ |
| 794 | 795 | /** 获取路段路由信息 @pararm:<lineId:线路ID;directions:方向> */ |
| 795 | 796 | List<Object[]> sobje = routeRepository.sectionRouteVector(lineId,directions); |
| 796 | 797 | if(sobje.size()==1) { |
| 797 | - double dsleepStr = sobje.get(0)[2] == null ? 60d : Double.valueOf(sobje.get(0)[2].toString()); | |
| 798 | - sleepStr = "\t" + new DecimalFormat("0").format(dsleepStr); | |
| 798 | + int dsleepStr = sobje.get(0)[2] == null || sobje.get(0)[2].equals("") ? 60 : Integer.valueOf(sobje.get(0)[2].toString()); | |
| 799 | + sleepStr = "\t" + String.valueOf(dsleepStr); | |
| 799 | 800 | }else if(sobje.size()>1){ |
| 800 | - /** 这里暂时只根据站点名称去匹配所在路段的限速值 ,如果路段名称"至"之前的地名与站点名称等同,就认为站点在路段上。 */ | |
| 801 | 801 | for(int j =0;j<sobje.size();j++) { |
| 802 | - String sectionName = sobje.get(j)[3].toString(); | |
| 803 | - String sectionNameA[] = sectionName.split("至"); | |
| 804 | - if(stationName.equals(sectionNameA[0])){ | |
| 805 | - /*sleepStr = sobje.get(j)[2].toString();*/ | |
| 806 | - double dsleepStrt = sobje.get(0)[2] == null ? 60d : Double.valueOf(sobje.get(j)[2].toString()); | |
| 807 | - sleepStr = "\t" + new DecimalFormat("0").format(dsleepStrt); | |
| 802 | + double dsleepStrt = sobje.get(j)[2] == null || sobje.get(j)[2].equals("") ? 60d : Double.valueOf(sobje.get(j)[2].toString()); | |
| 803 | + String pointsStr = sobje.get(j)[1]==null || sobje.get(j)[1].equals("") ? null : sobje.get(j)[1].toString(); | |
| 804 | + pointsStr = pointsStr.substring(11, pointsStr.length()-1); | |
| 805 | + List<Point> ps = new ArrayList<>(); | |
| 806 | + String[] pArray = pointsStr.split(","); | |
| 807 | + for(int a = 0; a <pArray.length; a++) { | |
| 808 | + String[] tmepA = pArray[a].split(" "); | |
| 809 | + Point temp = new Point(Double.valueOf(tmepA[0]), Double.valueOf(tmepA[1])); | |
| 810 | + ps.add(temp); | |
| 811 | + } | |
| 812 | + if(GeoUtils.isInSection(ps, point)) { | |
| 813 | + sleepStr = "\t" + String.valueOf((int)dsleepStrt); | |
| 814 | + break; | |
| 808 | 815 | } |
| 809 | 816 | } |
| 810 | 817 | } |
| 818 | + if(sleepStr.equals("")) | |
| 819 | + sleepStr = "\t" + "60"; | |
| 811 | 820 | xh++; |
| 812 | 821 | restStr = restStr + lng + lat + stationMake + stationNo + stationCode + staitondistance + sleepStr + stationName + enterStr; |
| 813 | 822 | } | ... | ... |
src/main/resources/static/pages/base/line/add.html
| ... | ... | @@ -289,14 +289,20 @@ |
| 289 | 289 | </div> |
| 290 | 290 | <!-- 线路规划类型 (* 必填项) END --> |
| 291 | 291 | |
| 292 | - <!-- 开辟日期 START --> | |
| 292 | + <!--大间隔等级 START --> | |
| 293 | 293 | <div class="col-md-6"> |
| 294 | - <label class="control-label col-md-5"> 开辟日期 : </label> | |
| 294 | + <label class="control-label col-md-5"> 大间隔等级 : </label> | |
| 295 | 295 | <div class="col-md-4"> |
| 296 | - <input type="text" class="form-control" name="openDate" id="openDateInput" placeholder="开辟日期"> | |
| 296 | + <select name="spacGrade" class="form-control" id="spacGradeSelect"> | |
| 297 | + <option value="">-- 请选择大间隔等级 --</option> | |
| 298 | + <option value="1">一级</option> | |
| 299 | + <option value="2">二级</option> | |
| 300 | + <option value="3">三级</option> | |
| 301 | + <option value="4">四级</option> | |
| 302 | + </select> | |
| 297 | 303 | </div> |
| 298 | 304 | </div> |
| 299 | - <!-- 开辟日期 END --> | |
| 305 | + <!-- 大间隔等级END --> | |
| 300 | 306 | </div> |
| 301 | 307 | <!-- 表单分组组件 form-group START --> |
| 302 | 308 | |
| ... | ... | @@ -398,6 +404,15 @@ |
| 398 | 404 | </div> |
| 399 | 405 | </div> |
| 400 | 406 | <!-- 空调车辆数 END --> |
| 407 | + | |
| 408 | + <!-- 开辟日期 START --> | |
| 409 | + <div class="col-md-6"> | |
| 410 | + <label class="control-label col-md-5"> 开辟日期 : </label> | |
| 411 | + <div class="col-md-4"> | |
| 412 | + <input type="text" class="form-control" name="openDate" id="openDateInput" placeholder="开辟日期"> | |
| 413 | + </div> | |
| 414 | + </div> | |
| 415 | + <!-- 开辟日期 END --> | |
| 401 | 416 | </div> |
| 402 | 417 | <!-- 表单分组组件 form-group END --> |
| 403 | 418 | ... | ... |
src/main/resources/static/pages/base/line/details.html
| ... | ... | @@ -282,14 +282,20 @@ |
| 282 | 282 | </div> |
| 283 | 283 | <!-- 线路规划类型 (* 必填项) END --> |
| 284 | 284 | |
| 285 | - <!-- 开辟日期 START --> | |
| 285 | + <!--大间隔等级 START --> | |
| 286 | 286 | <div class="col-md-6"> |
| 287 | - <label class="control-label col-md-5"> 开辟日期 : </label> | |
| 287 | + <label class="control-label col-md-5"> 大间隔等级 : </label> | |
| 288 | 288 | <div class="col-md-4"> |
| 289 | - <input type="text" class="form-control" name="openDate" id="openDateInput" placeholder="开辟日期"> | |
| 289 | + <select name="spacGrade" class="form-control" id="spacGradeSelect"> | |
| 290 | + <option value="">-- 请选择大间隔等级 --</option> | |
| 291 | + <option value="1">一级</option> | |
| 292 | + <option value="2">二级</option> | |
| 293 | + <option value="3">三级</option> | |
| 294 | + <option value="4">四级</option> | |
| 295 | + </select> | |
| 290 | 296 | </div> |
| 291 | 297 | </div> |
| 292 | - <!-- 开辟日期 END --> | |
| 298 | + <!-- 大间隔等级END --> | |
| 293 | 299 | </div> |
| 294 | 300 | <!-- 表单分组组件 form-group START --> |
| 295 | 301 | |
| ... | ... | @@ -391,6 +397,15 @@ |
| 391 | 397 | </div> |
| 392 | 398 | </div> |
| 393 | 399 | <!-- 空调车辆数 END --> |
| 400 | + | |
| 401 | + <!-- 开辟日期 START --> | |
| 402 | + <div class="col-md-6"> | |
| 403 | + <label class="control-label col-md-5"> 开辟日期 : </label> | |
| 404 | + <div class="col-md-4"> | |
| 405 | + <input type="text" class="form-control" name="openDate" id="openDateInput" placeholder="开辟日期"> | |
| 406 | + </div> | |
| 407 | + </div> | |
| 408 | + <!-- 开辟日期 END --> | |
| 394 | 409 | </div> |
| 395 | 410 | <!-- 表单分组组件 form-group END --> |
| 396 | 411 | ... | ... |
src/main/resources/static/pages/base/line/edit.html
| ... | ... | @@ -290,14 +290,20 @@ |
| 290 | 290 | </div> |
| 291 | 291 | <!-- 线路规划类型 (* 必填项) END --> |
| 292 | 292 | |
| 293 | - <!-- 开辟日期 START --> | |
| 293 | + <!--大间隔等级 START --> | |
| 294 | 294 | <div class="col-md-6"> |
| 295 | - <label class="control-label col-md-5"> 开辟日期 : </label> | |
| 295 | + <label class="control-label col-md-5"> 大间隔等级 : </label> | |
| 296 | 296 | <div class="col-md-4"> |
| 297 | - <input type="text" class="form-control" name="openDate" id="openDateInput" placeholder="开辟日期"> | |
| 297 | + <select name="spacGrade" class="form-control" id="spacGradeSelect"> | |
| 298 | + <option value="">-- 请选择大间隔等级 --</option> | |
| 299 | + <option value="1">一级</option> | |
| 300 | + <option value="2">二级</option> | |
| 301 | + <option value="3">三级</option> | |
| 302 | + <option value="4">四级</option> | |
| 303 | + </select> | |
| 298 | 304 | </div> |
| 299 | 305 | </div> |
| 300 | - <!-- 开辟日期 END --> | |
| 306 | + <!-- 大间隔等级END --> | |
| 301 | 307 | </div> |
| 302 | 308 | <!-- 表单分组组件 form-group START --> |
| 303 | 309 | |
| ... | ... | @@ -399,6 +405,15 @@ |
| 399 | 405 | </div> |
| 400 | 406 | </div> |
| 401 | 407 | <!-- 空调车辆数 END --> |
| 408 | + | |
| 409 | + <!-- 开辟日期 START --> | |
| 410 | + <div class="col-md-6"> | |
| 411 | + <label class="control-label col-md-5"> 开辟日期 : </label> | |
| 412 | + <div class="col-md-4"> | |
| 413 | + <input type="text" class="form-control" name="openDate" id="openDateInput" placeholder="开辟日期"> | |
| 414 | + </div> | |
| 415 | + </div> | |
| 416 | + <!-- 开辟日期 END --> | |
| 402 | 417 | </div> |
| 403 | 418 | <!-- 表单分组组件 form-group END --> |
| 404 | 419 | ... | ... |
src/main/resources/static/pages/base/timesmodel/bctz.html
| ... | ... | @@ -100,15 +100,16 @@ $('#tzbc_mobal').on('tzbcMobal.show', function(e,obj,cardata,bf){ |
| 100 | 100 | submitHandler : function(f) { |
| 101 | 101 | // 1、 获取表单内容,并序列化 |
| 102 | 102 | var params = form.serializeJSON(); |
| 103 | + var dataMap = obj.configuration.dataMap; | |
| 103 | 104 | // 2、 调整路牌对应的班次总数 |
| 104 | 105 | updFormParams(params); |
| 105 | 106 | // 3、调整班次.并重新给定班次序号和发车序号.再确定首末班车时间.最后渲染数据 |
| 106 | - obj.data(bf.tzsmbcsj(bf.setbcsAndfcno(tzbcDate()), | |
| 107 | + obj.data(bf.tzsmbcsj01(bf.setbcsAndfcno(tzbcDate()), | |
| 107 | 108 | obj.configuration.dataMap.smbcsjArr, |
| 108 | 109 | obj.configuration.dataMap.ccsjArr, |
| 109 | 110 | obj.configuration.dataMap.cclcArr, |
| 110 | 111 | obj.configuration.dataMap.qdzArr, |
| 111 | - obj.configuration.dataMap.lbsj)); | |
| 112 | + obj.configuration.dataMap.lbsj,dataMap)); | |
| 112 | 113 | // 3、记录早操.并保存历史班次数据 |
| 113 | 114 | obj.addHistory(); |
| 114 | 115 | // 5、隐藏错误提示 |
| ... | ... | @@ -232,7 +233,6 @@ $('#tzbc_mobal').on('tzbcMobal.show', function(e,obj,cardata,bf){ |
| 232 | 233 | * @return |
| 233 | 234 | */ |
| 234 | 235 | function jsjclc(st,ar,pa,sjstr,fcno_,tempS,fxdm) { |
| 235 | - console.log('{' + tempS + '......}') | |
| 236 | 236 | // 1、修改进出场班次. |
| 237 | 237 | for(var p = 0;p<pa.length;p++) { |
| 238 | 238 | // A)、如果当前班次的发车时间等于 在没有调整班次总数之前的最后一个班次的到达时间,则这个班次是在没有调整班次之前的那个进场班次 | ... | ... |
src/main/resources/static/pages/base/timesmodel/js/add-form-reload.js
| ... | ... | @@ -46,7 +46,8 @@ |
| 46 | 46 | obj.jhlc = d[i].jhlc;// 计划里程 |
| 47 | 47 | obj.lp = d[i].lp==null ? null : d[i].lp.id;// 路牌id |
| 48 | 48 | obj.lpType = d[i].lp==null ? null : d[i].lp.lpType;// 路牌类型 |
| 49 | - obj.parent = d[i].lp.lpName;// 路牌名称 | |
| 49 | + obj.parent = d[i].lp.lpNo;// 路牌名称 | |
| 50 | + obj.lpName = d[i].lp.lpName; | |
| 50 | 51 | obj.lpNo = d[i].lp.lpNo;// 路牌编码 |
| 51 | 52 | obj.tcc = d[i].tcc==null ? null : d[i].tcc.id;// 停车场id |
| 52 | 53 | obj.ttinfo = d[i].ttinfo==null ? null : d[i].ttinfo.id;// 时刻表id |
| ... | ... | @@ -60,7 +61,7 @@ |
| 60 | 61 | resultD.push(obj); |
| 61 | 62 | if(lpA.indexOf(obj.lpNo)<0) { |
| 62 | 63 | lpA.push(obj.lpNo); |
| 63 | - rsLpA.push({'lp':obj.lp,'lpNo':obj.lpNo,'lpName':obj.parent,'lpType':obj.lpType}); | |
| 64 | + rsLpA.push({'lp':obj.lp,'lpNo':obj.lpNo,'lpName':obj.lpName,'lpType':obj.lpType}); | |
| 64 | 65 | } |
| 65 | 66 | } |
| 66 | 67 | // 返回渲染图形的数据格式. | ... | ... |
src/main/resources/static/pages/base/timesmodel/js/add-form-wizard.js
| ... | ... | @@ -407,7 +407,9 @@ var SKBFormWizard = function() { |
| 407 | 407 | obj.jhlc = d[i].jhlc;// 计划里程 |
| 408 | 408 | obj.lp = d[i].lp==null ? null : d[i].lp.id;// 路牌id |
| 409 | 409 | obj.lpType = d[i].lp==null ? null : d[i].lp.lpType;// 路牌类型 |
| 410 | - obj.parent = d[i].lp.lpName;// 路牌名称 | |
| 410 | + // obj.parent = d[i].lp.lpName;// 路牌名称 | |
| 411 | + // obj.parent = parseInt(d[i].lp.lpNo);// 路牌名称 | |
| 412 | + obj.lpName = d[i].lp.lpName; | |
| 411 | 413 | obj.lpNo = d[i].lp.lpNo;// 路牌编码 |
| 412 | 414 | obj.tcc = d[i].tcc==null ? null : d[i].tcc.id;// 停车场id |
| 413 | 415 | obj.ttinfo = d[i].ttinfo==null ? null : d[i].ttinfo.id;// 时刻表id |
| ... | ... | @@ -421,7 +423,7 @@ var SKBFormWizard = function() { |
| 421 | 423 | resultD.push(obj); |
| 422 | 424 | if(lpA.indexOf(obj.lpNo)<0) { |
| 423 | 425 | lpA.push(obj.lpNo); |
| 424 | - rsLpA.push({'lp':obj.lp,'lpNo':obj.lpNo,'lpName':obj.parent,'lpType':obj.lpType}); | |
| 426 | + rsLpA.push({'lp':obj.lp,'lpNo':obj.lpNo,'lpName':obj.lpName,'lpType':obj.lpType}); | |
| 425 | 427 | } |
| 426 | 428 | } |
| 427 | 429 | // 返回渲染图形的数据格式. | ... | ... |
src/main/resources/static/pages/base/timesmodel/js/base-fun.js
| ... | ... | @@ -388,7 +388,7 @@ var BaseFun = function() { |
| 388 | 388 | var jar = baseF.tzsmbcsj01( |
| 389 | 389 | baseF.setbcsAndfcno(baseF.tzsmbcsj01(baseF.setbcsAndfcno(baseF.tzsztest(cara,jar01,dataMap)),dataMap.smbcsjArr,dataMap.ccsjArr,dataMap.cclcArr,dataMap.qdzArr,saa[0].lbsj,dataMap)), |
| 390 | 390 | dataMap.smbcsjArr,dataMap.ccsjArr,dataMap.cclcArr,dataMap.qdzArr,saa[0].lbsj,dataMap); |
| 391 | - // return {'json':jar,'bxrcgs':bxrcgs}; | |
| 391 | + // return {'json':jar,'bxrcgs':bxrcgs}; | |
| 392 | 392 | for(var r = 0 ; r < bxrcgs.length; r++) { |
| 393 | 393 | var lpNo = bxrcgs[r].lpNo; |
| 394 | 394 | var gsv = 0 , bczs = 0; |
| ... | ... | @@ -401,14 +401,18 @@ var BaseFun = function() { |
| 401 | 401 | bxrcgs[r].sjgsV = gsv; |
| 402 | 402 | bxrcgs[r].bczs = bczs; |
| 403 | 403 | } |
| 404 | + //debugger; | |
| 404 | 405 | var jar3 = baseF.dqbcsAndgs(bxrcgs,jar,dataMap,cara.length); |
| 405 | - // return {'json':jar3,'bxrcgs':bxrcgs}; | |
| 406 | + //return {'json':jar3,'bxrcgs':bxrcgs}; | |
| 406 | 407 | /*var jar4 = baseF.tzsmbcsj01( |
| 407 | 408 | baseF.setbcsAndfcno(baseF.tzsmbcsj01(baseF.setbcsAndfcno(baseF.tzsztest(cara,jar3,dataMap)),dataMap.smbcsjArr,dataMap.ccsjArr,dataMap.cclcArr,dataMap.qdzArr,saa[0].lbsj,dataMap)), |
| 408 | 409 | dataMap.smbcsjArr,dataMap.ccsjArr,dataMap.cclcArr,dataMap.qdzArr,saa[0].lbsj,dataMap);*/ |
| 409 | 410 | var rsjar = baseF.tzsztest(cara,jar3,dataMap); |
| 410 | - // return {'json':rsjar,'bxrcgs':bxrcgs}; | |
| 411 | - var resultJA = new Array(); | |
| 411 | + return {'json':baseF.addjcclcbc01(cara,rsjar,dataMap,saa,map),'bxrcgs':bxrcgs}; | |
| 412 | + }, | |
| 413 | + | |
| 414 | + addjcclcbc01 : function(cara,rsjar,dataMap,saa,map) { | |
| 415 | + var resultJA = new Array(),bcs = 0; | |
| 412 | 416 | for(var m = 0 ; m < cara.length; m++) { |
| 413 | 417 | // 获取路牌编号. |
| 414 | 418 | var lpNo_ = cara[m].lpNo; |
| ... | ... | @@ -422,11 +426,63 @@ var BaseFun = function() { |
| 422 | 426 | lpbc_.push(rsjar[x]); |
| 423 | 427 | } |
| 424 | 428 | } |
| 429 | + baseF.addcfbc01(lpbc_,dataMap,map); | |
| 425 | 430 | // 按照发车序号顺序排序. |
| 426 | 431 | lpbc_.sort(function(a,b){return a.fcno-b.fcno}); |
| 427 | - resultJA = resultJA.concat(baseF.addjclbbc01(lpbc_,dataMap,saa[0].lbsj,map)); | |
| 432 | + var tt = baseF.addjclbbc01(lpbc_,dataMap,saa[0].lbsj,map); | |
| 433 | + bcs = baseF.updfcno01(tt,bcs); | |
| 434 | + // debugger; | |
| 435 | + resultJA = resultJA.concat(tt); | |
| 436 | + } | |
| 437 | + return resultJA; | |
| 438 | + }, | |
| 439 | + | |
| 440 | + updfcno01 : function(bcArr,bcs) { | |
| 441 | + for(var i =0; i < bcArr.length;i++) { | |
| 442 | + bcArr[i].fcint = baseF.getDateTime(bcArr[i].fcsj).getTime(); | |
| 443 | + } | |
| 444 | + bcArr.sort(function(a,b){return a.fcint-b.fcint}); | |
| 445 | + for(var t = 0 ; t <bcArr.length;t++) { | |
| 446 | + bcs++; | |
| 447 | + bcArr[t].bcs = bcs; | |
| 448 | + bcArr[t].fcno = t+1; | |
| 449 | + delete bcArr[t].fcint; | |
| 428 | 450 | } |
| 429 | - return {'json':resultJA,'bxrcgs':bxrcgs}; | |
| 451 | + return bcs; | |
| 452 | + }, | |
| 453 | + | |
| 454 | + addcfbc01 : function(lpbcar,dataMap,map) { | |
| 455 | + 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)) { | |
| 459 | + lpbcar[g].isfb = 1; | |
| 460 | + sicftag = false; | |
| 461 | + } | |
| 462 | + } | |
| 463 | + /*if(sicftag) { | |
| 464 | + for(var j = 0 ; j <lpbcar.length;j ++ ) { | |
| 465 | + var kssj = baseF.getDateTime(lpbcar[j].fcsj); | |
| 466 | + var tzsj = lpbcar[j].STOPTIME; | |
| 467 | + var cctag = baseF.dirDmToIndex(lpbcar[j].xlDir); | |
| 468 | + var cfdd = baseF.getcfdd(map.cfdd,cctag); | |
| 469 | + if(kssj> new Date (baseF.getCFDate(10,30)) && | |
| 470 | + kssj<new Date (baseF.getCFDate(11,30)) && cfdd == cctag) { | |
| 471 | + console.log(tzsj,lpbcar[j].fcsj); | |
| 472 | + rs.push(baseF.getbcObj( | |
| 473 | + kssj,dataMap.zwcArr[0],cara[c],dataMap.bcTypeArr.cf, | |
| 474 | + dataMap.dira[cctag],xhNo++,0,map,0,null,null,null,0,0)); | |
| 475 | + | |
| 476 | + }else if(kssj > new Date (baseF.getCFDate(18,30)) && | |
| 477 | + kssj < new Date (baseF.getCFDate(19,30)) && cfdd == cctag ) { | |
| 478 | + console.log(tzsj,lpbcar[j].fcsj); | |
| 479 | + rs.push(baseF.getbcObj( | |
| 480 | + kssj,dataMap.zwcArr[1],cara[c],dataMap.bcTypeArr.cf, | |
| 481 | + dataMap.dira[cctag],xhNo++,0,map,0,null,null,null,0,0)); | |
| 482 | + | |
| 483 | + } | |
| 484 | + } | |
| 485 | + }*/ | |
| 430 | 486 | }, |
| 431 | 487 | |
| 432 | 488 | dqbcsAndgs : function(bxrcgs,jar,dataMap,cla) { |
| ... | ... | @@ -538,9 +594,11 @@ var BaseFun = function() { |
| 538 | 594 | for(var q = 0 ; q < qbbfbc.length; q++) { |
| 539 | 595 | if(q<(qbbfbc.length-1)) |
| 540 | 596 | qbbfbc[q].STOPTIME = qbbfbc[q].STOPTIME + vag; |
| 541 | - if(q==0) | |
| 542 | - continue; | |
| 543 | - else { | |
| 597 | + if(q==0) { | |
| 598 | + var fcsj_ = baseF.getDateTime(qbbfbc[q].fcsj); | |
| 599 | + fcsj_.setMinutes(fcsj_.getMinutes() + qbbfbc[q].bcsj); | |
| 600 | + qbbfbc[q].ARRIVALTIME = baseF.getTimeStr(fcsj_); | |
| 601 | + }else { | |
| 544 | 602 | var ddsj_ = baseF.getDateTime(qbbfbc[q-1].ARRIVALTIME); |
| 545 | 603 | ddsj_.setMinutes(ddsj_.getMinutes() + qbbfbc[q-1].STOPTIME); |
| 546 | 604 | qbbfbc[q].fcsj = baseF.getTimeStr(ddsj_); |
| ... | ... | @@ -616,6 +674,9 @@ var BaseFun = function() { |
| 616 | 674 | var dygbcfcsj = baseF.getDateTime(obj.fcsj); |
| 617 | 675 | dygbcfcsj.setMinutes(dygbcfcsj.getMinutes() - dx); |
| 618 | 676 | obj.fcsj = baseF.getTimeStr(dygbcfcsj); |
| 677 | + | |
| 678 | + dygbcfcsj.setMinutes(dygbcfcsj.getMinutes() + obj.bcsj); | |
| 679 | + obj.ARRIVALTIME = baseF.getTimeStr(dygbcfcsj); | |
| 619 | 680 | }, |
| 620 | 681 | |
| 621 | 682 | zhygbcUpd: function(obj,xgOjb,dx) { |
| ... | ... | @@ -800,7 +861,25 @@ var BaseFun = function() { |
| 800 | 861 | dqbcfcsj,dataMap.ccsjArr[fxdm],car,dataMap.bcTypeArr.out, |
| 801 | 862 | dataMap.dira[fxdm],2,dataMap.cclcArr[fxdm],gatps,0,dataMap.qdzArr[fxdm],null,null,0,0));// 出场班次 |
| 802 | 863 | fcno ++; |
| 803 | - }else if(b==bc.length-1){ | |
| 864 | + }/*else if(b > 0 && b < bc.length-1){ | |
| 865 | + var jcbckssj = baseF.getDateTime(bc[b].ARRIVALTIME) | |
| 866 | + var ccbckssj = baseF.getDateTime(bc[b+1].fcsj) | |
| 867 | + var dx = parseInt((ccbckssj - jcbckssj)/60000); | |
| 868 | + if(bc[b].STOPTIME==0) { | |
| 869 | + // bc[b].STOPTIME = 0; | |
| 870 | + //console.log(bc[b].fcno); | |
| 871 | + var fcno_ = bc[b].fcno + 2; | |
| 872 | + stas = true; | |
| 873 | + // console.log(bc[b],bc[b+1],b); | |
| 874 | + result.push(baseF.getbcObj( | |
| 875 | + jcbckssj,dataMap.jcsjArr[fxdm],car,dataMap.bcTypeArr.in_, | |
| 876 | + dataMap.dira[fxdm],fcno_++,dataMap.jclcArr[fxdm],gatps,0,dataMap.qdzArr[fxdm],null,null,0,0));// 进场班次 | |
| 877 | + var ccfx = baseF.dirDmToIndex(bc[b+1].xlDir); | |
| 878 | + result.push(baseF.getbcObj( | |
| 879 | + ccbckssj,dataMap.ccsjArr[ccfx],car,dataMap.bcTypeArr.out, | |
| 880 | + dataMap.dira[ccfx],fcno_++,dataMap.cclcArr[ccfx],gatps,0,dataMap.qdzArr[ccfx],null,null,0,0));// 出场班次 | |
| 881 | + } | |
| 882 | + }*/else if(b==bc.length-1){ | |
| 804 | 883 | var fcno_ = dxfno + 2; |
| 805 | 884 | var qdbcddsj = baseF.getDateTime(bc[b].ARRIVALTIME); |
| 806 | 885 | result.push(baseF.getbcObj( |
| ... | ... | @@ -1590,32 +1669,7 @@ var BaseFun = function() { |
| 1590 | 1669 | {'type':'无工休', 'hoursV':5.43, 'minueV':'5:43'}]; |
| 1591 | 1670 | }, |
| 1592 | 1671 | setbcsAndfcno : function(listA) { |
| 1593 | - /*var array = new Array(); | |
| 1594 | - var len = listA.length; | |
| 1595 | - for(var i =0;i<len;i++) { | |
| 1596 | - if(array.indexOf(listA[i].lpNo)<0) | |
| 1597 | - array.push(listA[i].lpNo); | |
| 1598 | - } | |
| 1599 | - array.sort(baseF.compare); | |
| 1600 | - console.log(array); | |
| 1601 | - var sortGattArray = new Array(); | |
| 1602 | - for(var k =0;k<array.length;k++) { | |
| 1603 | - var index = array[k]; | |
| 1604 | - var temp = new Array(); | |
| 1605 | - for(var x=0;x<listA.length;x++) { | |
| 1606 | - if(index==listA[x].lpNo) | |
| 1607 | - temp.push(listA[x]); | |
| 1608 | - } | |
| 1609 | - var lpbc = baseF.sortDirArray(temp); | |
| 1610 | - for(var p = 0 ;p<lpbc.length;p++) { | |
| 1611 | - lpbc[p].fcno = (p+1); | |
| 1612 | - } | |
| 1613 | - sortGattArray = sortGattArray.concat(lpbc); | |
| 1614 | - } | |
| 1615 | - for(var b = 0 ; b <sortGattArray.length;b++) { | |
| 1616 | - sortGattArray[b].bcs = (b+1); | |
| 1617 | - } | |
| 1618 | - return sortGattArray;*/ | |
| 1672 | + | |
| 1619 | 1673 | var array = new Array(); |
| 1620 | 1674 | var len = listA.length; |
| 1621 | 1675 | for(var i =0;i<len;i++) { | ... | ... |
src/main/resources/static/pages/base/timesmodel/js/d3.relationshipgraph.js
| ... | ... | @@ -647,7 +647,6 @@ var RelationshipGraph = function () { |
| 647 | 647 | .ordinal() |
| 648 | 648 | .domain(this.configuration.lpNameA) |
| 649 | 649 | .rangeRoundBands([ 0, this.configuration.height], .1); |
| 650 | - | |
| 651 | 650 | this.configuration.y = y; |
| 652 | 651 | // 创建X轴 |
| 653 | 652 | var xAxis = d3.svg |
| ... | ... | @@ -733,7 +732,7 @@ var RelationshipGraph = function () { |
| 733 | 732 | yAxisYArray.splice(0,yAxisYArray.length); |
| 734 | 733 | for(var t = 0;t<this.configuration.taskTypes.length;t++) { |
| 735 | 734 | yAxisYArray.push({ |
| 736 | - y:y(this.configuration.taskTypes[t].lpNo)+this.configuration.offsetY, | |
| 735 | + y:y(this.configuration.taskTypes[t].lpName)+this.configuration.offsetY, | |
| 737 | 736 | carname:this.configuration.taskTypes[t].lpName, |
| 738 | 737 | lpA : this.configuration.taskTypes[t]}); |
| 739 | 738 | } |
| ... | ... | @@ -2476,9 +2475,11 @@ var RelationshipGraph = function () { |
| 2476 | 2475 | for(var s = 0 ; s < len ; s++) { |
| 2477 | 2476 | var rectNodesAttr = RelationshipGraph.getContextNodeAndData(d3.select(shiftRectA[s]).attr('id')); |
| 2478 | 2477 | if(rectNodesAttr.dqbcData.STOPTIME<0) { |
| 2479 | - var nextTzsjDx = $_GlobalGraph.configuration.dataMap.minztjx - rectNodesAttr.dqbcData.STOPTIME; | |
| 2478 | + // var nextTzsjDx = $_GlobalGraph.configuration.dataMap.minztjx - rectNodesAttr.dqbcData.STOPTIME; | |
| 2479 | + var nextTzsjDx = 0 - rectNodesAttr.dqbcData.STOPTIME; | |
| 2480 | 2480 | // 修改遍历的当前元素数据的停站时间为最小停站时间. |
| 2481 | - rectNodesAttr.dqbcData.STOPTIME = $_GlobalGraph.configuration.dataMap.minztjx; | |
| 2481 | + // rectNodesAttr.dqbcData.STOPTIME = $_GlobalGraph.configuration.dataMap.minztjx; | |
| 2482 | + rectNodesAttr.dqbcData.STOPTIME = 0; | |
| 2482 | 2483 | // 修改遍历的当前元素数据的文本展示停站时间 |
| 2483 | 2484 | for(var t = 0 ; t < rectNodesAttr.dqbctextNodes.length ; t++) { |
| 2484 | 2485 | if(d3.select(rectNodesAttr.dqbctextNodes[t]).attr('text-type')=='gap') |
| ... | ... | @@ -2501,6 +2502,7 @@ var RelationshipGraph = function () { |
| 2501 | 2502 | * 修改下个班次的元素坐标属性值 |
| 2502 | 2503 | * |
| 2503 | 2504 | * */ |
| 2505 | + | |
| 2504 | 2506 | rectNodesAttr.nextbcNode.attr('x',$_x); |
| 2505 | 2507 | var rectCover = d3.select(d3.selectAll('rect[parent-node='+ rectNodesAttr.nextbcNodeId + '-cover' +']')[0][0]); |
| 2506 | 2508 | rectCover.attr('x',$_x); |
| ... | ... | @@ -2996,7 +2998,7 @@ var RelationshipGraph = function () { |
| 2996 | 2998 | nowDate.setMinutes(parseInt(tm.min)+d.bcsj);// 10.3.1、设置分钟. |
| 2997 | 2999 | // 9.1.4、修改当前班次的到达时间. |
| 2998 | 3000 | d.ARRIVALTIME = BaseFun.getTimeStr(nowDate); |
| 2999 | - d.STOPTIME = parseInt((BaseFun.getDateTime(nodeContext.nextData.fcsj) - BaseFun.getDateTime(d.ARRIVALTIME))/ 60000); | |
| 3001 | + d.STOPTIME = d.isfb ==1 ? 0 : parseInt((BaseFun.getDateTime(nodeContext.nextData.fcsj) - BaseFun.getDateTime(d.ARRIVALTIME))/ 60000); | |
| 3000 | 3002 | /** |
| 3001 | 3003 | * 9.2、修改元素沿X轴方向的X坐标属性值. |
| 3002 | 3004 | * |
| ... | ... | @@ -3017,6 +3019,8 @@ var RelationshipGraph = function () { |
| 3017 | 3019 | } |
| 3018 | 3020 | /****************************************** update 当前的班次数据以及相关元素对象属性值. END ************************************/ |
| 3019 | 3021 | |
| 3022 | + //console.log(nodeContext); | |
| 3023 | + //debugger; | |
| 3020 | 3024 | // 10、计算与上个班次的停站时间. |
| 3021 | 3025 | var dxMinues = parseInt((BaseFun.getDateTime(d.fcsj) - BaseFun.getDateTime(nodeContext.lastData.ARRIVALTIME)) / 60000); |
| 3022 | 3026 | |
| ... | ... | @@ -3163,7 +3167,8 @@ var RelationshipGraph = function () { |
| 3163 | 3167 | **/ |
| 3164 | 3168 | var _obj = RelationshipGraph.getContextNodeAndData(d3.select(this).attr('parent-node').replace('-cover','')); |
| 3165 | 3169 | // 1.3、定义最小停站间隙. |
| 3166 | - var minSoptTime = $_GlobalGraph.configuration.dataMap.minztjx; | |
| 3170 | + // var minSoptTime = $_GlobalGraph.configuration.dataMap.minztjx; | |
| 3171 | + var minSoptTime = 0; | |
| 3167 | 3172 | // 1.4、创建当前时间对象. |
| 3168 | 3173 | var $_date = new Date(); |
| 3169 | 3174 | // 1.5、判断 如果当前班次的停站时间小于零,则修改成最小停站时间. | ... | ... |
src/main/resources/static/pages/base/timesmodel/js/gantt.js
| ... | ... | @@ -70,8 +70,28 @@ |
| 70 | 70 | }else { |
| 71 | 71 | var jsonA = JSON.parse(objD); |
| 72 | 72 | // 使用已有的时刻表明细数据渲染视图. |
| 73 | - data = {'json':jsonA.rsD,'bxrcgs':null}; | |
| 73 | + // data = {'json':jsonA.rsD,'bxrcgs':null}; | |
| 74 | 74 | CSMap = {'gattA':null,'stopSpace': Math.round(map.zzsj/map.clzs),'maxCar':jsonA.rsLP}; |
| 75 | + var cara = jsonA.rsLP; | |
| 76 | + var rsjar = jsonA.rsD; | |
| 77 | + var resultJA = new Array(); | |
| 78 | + for(var m = 0 ; m < cara.length; m++) { | |
| 79 | + // 获取路牌编号. | |
| 80 | + var lpNo_ = cara[m].lpNo; | |
| 81 | + // 定义路牌下的所有班次. | |
| 82 | + var lpbc_ = new Array(); | |
| 83 | + // 遍历班次数. | |
| 84 | + for(var x =0 ; x <rsjar.length; x++) { | |
| 85 | + // 判断当期遍历的班次是否属于当前的路牌. | |
| 86 | + if(rsjar[x].lpNo == lpNo_) { | |
| 87 | + lpbc_.push(rsjar[x]); | |
| 88 | + } | |
| 89 | + } | |
| 90 | + // 按照发车序号顺序排序. | |
| 91 | + lpbc_.sort(function(a,b){return a.fcno-b.fcno}); | |
| 92 | + resultJA = resultJA.concat(BaseFun.addjclbbc01(lpbc_,dataMap,stopAraay[0].lbsj,map)); | |
| 93 | + } | |
| 94 | + data = {'json':rsjar,'bxrcgs':null}; | |
| 75 | 95 | } |
| 76 | 96 | // 创建甘特图对象. |
| 77 | 97 | var graph = d3.select('#ganttSvg').relationshipGraph( |
| ... | ... | @@ -401,6 +421,7 @@ |
| 401 | 421 | var hours=Math.floor(leave1/(3600*1000)); |
| 402 | 422 | DXHOURS = days*24+hours; |
| 403 | 423 | WIDTH = DXHOURS*MINUTE*MULTIPLE; |
| 424 | + // debugger; | |
| 404 | 425 | var lpsplitA = getylp(p.yAxisCarArray); |
| 405 | 426 | var args = { |
| 406 | 427 | 'valueKeyName': VALUEKEYNAME, | ... | ... |