Commit 635bde768f45a10bd8afb43934ebf1de63db8d7b

Authored by 潘钊
2 parents 2f136edb d283920b

Merge branch 'qingpu' of http://222.66.0.204:8800/panzhaov5/bsth_control

into qingpu

# Conflicts:
#	src/main/java/com/bsth/service/schedule/rules/ttinfo/TTInfo_input.java
src/main/java/com/bsth/controller/schedule/TTInfoDetailController.java
@@ -3,10 +3,13 @@ package com.bsth.controller.schedule; @@ -3,10 +3,13 @@ package com.bsth.controller.schedule;
3 import com.bsth.common.ResponseCode; 3 import com.bsth.common.ResponseCode;
4 import com.bsth.controller.BaseController; 4 import com.bsth.controller.BaseController;
5 import com.bsth.entity.CarPark; 5 import com.bsth.entity.CarPark;
  6 +import com.bsth.entity.LineInformation;
6 import com.bsth.entity.schedule.TTInfoDetail; 7 import com.bsth.entity.schedule.TTInfoDetail;
7 import com.bsth.repository.schedule.TTInfoDetailRepository; 8 import com.bsth.repository.schedule.TTInfoDetailRepository;
8 import com.bsth.service.CarParkService; 9 import com.bsth.service.CarParkService;
  10 +import com.bsth.service.LineInformationService;
9 import com.bsth.service.schedule.TTInfoDetailServiceImpl; 11 import com.bsth.service.schedule.TTInfoDetailServiceImpl;
  12 +import org.apache.commons.lang3.StringUtils;
10 import org.springframework.beans.factory.annotation.Autowired; 13 import org.springframework.beans.factory.annotation.Autowired;
11 import org.springframework.web.bind.annotation.*; 14 import org.springframework.web.bind.annotation.*;
12 import org.springframework.web.multipart.MultipartFile; 15 import org.springframework.web.multipart.MultipartFile;
@@ -26,27 +29,52 @@ public class TTInfoDetailController extends BaseController<TTInfoDetail, Long> { @@ -26,27 +29,52 @@ public class TTInfoDetailController extends BaseController<TTInfoDetail, Long> {
26 @Autowired 29 @Autowired
27 private CarParkService carParkService; 30 private CarParkService carParkService;
28 @Autowired 31 @Autowired
  32 + private LineInformationService lineInformationService;
  33 + @Autowired
29 private TTInfoDetailRepository ttInfoDetailRepository; 34 private TTInfoDetailRepository ttInfoDetailRepository;
30 35
31 @RequestMapping(value = "/dataImportExtend", method = RequestMethod.POST) 36 @RequestMapping(value = "/dataImportExtend", method = RequestMethod.POST)
32 public Map<String, Object> uploadDataAndImport( 37 public Map<String, Object> uploadDataAndImport(
33 - MultipartFile file, String xlmc, String ttinfoname, String tcccode) throws Exception { 38 + MultipartFile file, String xlmc, String ttinfoname) throws Exception {
34 Map<String, Object> resultMap = new HashMap<>(); 39 Map<String, Object> resultMap = new HashMap<>();
35 40
36 try { 41 try {
37 - // 查看停车场是否存在,不存在报错 42 + // 查找lineinformation对象,没有报错
38 Map<String, Object> param = new HashMap<>(); 43 Map<String, Object> param = new HashMap<>();
39 - param.put("parkCode_eq", tcccode);  
40 - Iterator<CarPark> carParkIterator = carParkService.list(param).iterator();  
41 - if (!carParkIterator.hasNext()) {  
42 - // 没有停车场,报错 44 + param.put("line.name_eq", xlmc);
  45 + Iterator<LineInformation> lineInformationIterator = lineInformationService.list(param).iterator();
  46 + if (!lineInformationIterator.hasNext()) {
  47 + // 没有lineinformation,报错
43 resultMap.put("status", ResponseCode.ERROR); 48 resultMap.put("status", ResponseCode.ERROR);
44 - resultMap.put("msg", "没有停车场数据,停车场代码=" + tcccode); 49 + resultMap.put("msg", "没有lineinfomation,线路名称=" + xlmc);
45 } else { 50 } else {
46 - CarPark carPark = carParkIterator.next();  
47 - ttInfoDetailService.fileDataImport(file, xlmc, ttinfoname, carPark.getParkName());  
48 - resultMap.put("status", ResponseCode.SUCCESS);  
49 - resultMap.put("msg", "导入成功"); 51 + String tcccode = lineInformationIterator.next().getCarPark();
  52 + if (StringUtils.isEmpty(tcccode)) {
  53 + // 没有停车场code,报错
  54 + resultMap.put("status", ResponseCode.ERROR);
  55 + resultMap.put("msg", "线路lineinfomation没有停车场code信息,线路名称=" + xlmc);
  56 + } else {
  57 + // 使用停车场code查找停车场
  58 + param.clear();;
  59 + param.put("parkCode_eq", tcccode);
  60 + Iterator<CarPark> carParkIterator = carParkService.list(param).iterator();
  61 + if (!carParkIterator.hasNext()) {
  62 + // 指定的停车场code没有找到停车场信息,报错
  63 + resultMap.put("status", ResponseCode.ERROR);
  64 + resultMap.put("msg", "没有找到停车场信息,停车场code=" + tcccode);
  65 + } else {
  66 + String tccname = carParkIterator.next().getParkName();
  67 + if (StringUtils.isEmpty(tccname)) {
  68 + // 没有停车场名字,报错
  69 + resultMap.put("status", ResponseCode.ERROR);
  70 + resultMap.put("msg", "停车场信息没有停车场名字,停车场code=" + tcccode);
  71 + } else {
  72 + ttInfoDetailService.fileDataImport(file, xlmc, ttinfoname, tccname);
  73 + resultMap.put("status", ResponseCode.SUCCESS);
  74 + resultMap.put("msg", "导入成功");
  75 + }
  76 + }
  77 + }
50 } 78 }
51 } catch (Exception exp) { 79 } catch (Exception exp) {
52 exp.printStackTrace(); 80 exp.printStackTrace();
src/main/java/com/bsth/entity/schedule/EmployeeConfigInfo.java
@@ -4,6 +4,7 @@ import com.bsth.entity.Cars; @@ -4,6 +4,7 @@ import com.bsth.entity.Cars;
4 import com.bsth.entity.Line; 4 import com.bsth.entity.Line;
5 import com.bsth.entity.Personnel; 5 import com.bsth.entity.Personnel;
6 import com.bsth.entity.sys.SysUser; 6 import com.bsth.entity.sys.SysUser;
  7 +import org.hibernate.annotations.Formula;
7 8
8 import javax.persistence.*; 9 import javax.persistence.*;
9 import javax.validation.constraints.NotNull; 10 import javax.validation.constraints.NotNull;
@@ -45,6 +46,10 @@ public class EmployeeConfigInfo { @@ -45,6 +46,10 @@ public class EmployeeConfigInfo {
45 @NotNull 46 @NotNull
46 private String dbbm; 47 private String dbbm;
47 48
  49 + @Formula(" dbbm + 0 ")
  50 + private Integer dbbmFormula;
  51 +
  52 +
48 /** 创建人 */ 53 /** 创建人 */
49 @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.PERSIST) 54 @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.PERSIST)
50 private SysUser createBy; 55 private SysUser createBy;
@@ -91,6 +96,30 @@ public class EmployeeConfigInfo { @@ -91,6 +96,30 @@ public class EmployeeConfigInfo {
91 this.jsy = jsy; 96 this.jsy = jsy;
92 } 97 }
93 98
  99 + public Integer getDbbmFormula() {
  100 + return dbbmFormula;
  101 + }
  102 +
  103 + public void setDbbmFormula(Integer dbbmFormula) {
  104 + this.dbbmFormula = dbbmFormula;
  105 + }
  106 +
  107 + public SysUser getCreateBy() {
  108 + return createBy;
  109 + }
  110 +
  111 + public void setCreateBy(SysUser createBy) {
  112 + this.createBy = createBy;
  113 + }
  114 +
  115 + public SysUser getUpdateBy() {
  116 + return updateBy;
  117 + }
  118 +
  119 + public void setUpdateBy(SysUser updateBy) {
  120 + this.updateBy = updateBy;
  121 + }
  122 +
94 public Personnel getSpy() { 123 public Personnel getSpy() {
95 return spy; 124 return spy;
96 } 125 }
src/main/java/com/bsth/service/schedule/rules/ttinfo/TTInfo_input.java
1 -package com.bsth.service.schedule.rules.ttinfo;  
2 -  
3 -import com.bsth.entity.schedule.TTInfo;  
4 -import org.joda.time.DateTime;  
5 -import org.joda.time.format.DateTimeFormat;  
6 -  
7 -import java.util.ArrayList;  
8 -import java.util.List;  
9 -  
10 -/**  
11 - * 时刻表_输入  
12 - */  
13 -public class TTInfo_input implements Comparable<TTInfo_input> {  
14 - /** 时刻表id */  
15 - private String ttInfoId;  
16 - /** 线路Id */  
17 - private String xlId;  
18 - /** 周一到周日是否启用 */  
19 - private List<Boolean> weekdays = new ArrayList<>();  
20 - /** 特殊节假日 */  
21 - private List<DateTime> specialDays = new ArrayList<>();  
22 - /** 最新修改时间 */  
23 - private DateTime updateDate;  
24 - /** 是否启用 */  
25 - private Boolean isEnable;  
26 - /** 启用日期 */  
27 - private DateTime qyDate;  
28 -  
29 - public TTInfo_input() {  
30 -  
31 - }  
32 -  
33 - @Override  
34 - public int compareTo(TTInfo_input ttInfo_input) {  
35 - if (ttInfo_input != null) {  
36 - if (ttInfo_input.updateDate != null && this.updateDate != null)  
37 - return - this.updateDate.compareTo(ttInfo_input.updateDate);  
38 - }  
39 - return -1;  
40 - }  
41 -  
42 - public TTInfo_input(TTInfo ttInfo) {  
43 - this.ttInfoId = String.valueOf(ttInfo.getId());  
44 - this.xlId = String.valueOf(ttInfo.getXl().getId());  
45 - String[] days = ttInfo.getRule_days().split(",");  
46 - System.out.println(days.length);  
47 - for (int i = 0; i < 7; i++) {  
48 - if ("1".equals(days[i])) {  
49 - weekdays.add(true);  
50 - } else {  
51 - weekdays.add(false);  
52 - }  
53 - }  
54 - String[] sdays = ttInfo.getSpecial_days().split(",");  
55 - for (int i = 0; i < sdays.length; i++) {  
56 - specialDays.add(DateTimeFormat.forPattern("yyyy-MM-dd").  
57 - parseDateTime(sdays[i]));  
58 - }  
59 - this.updateDate = new DateTime(ttInfo.getUpdateDate());  
60 - this.isEnable = ttInfo.getIsEnableDisTemplate();  
61 - this.qyDate = new DateTime(ttInfo.getQyrq());  
62 -  
63 - }  
64 -  
65 - public String getTtInfoId() {  
66 - return ttInfoId;  
67 - }  
68 -  
69 - public void setTtInfoId(String ttInfoId) {  
70 - this.ttInfoId = ttInfoId;  
71 - }  
72 -  
73 - public String getXlId() {  
74 - return xlId;  
75 - }  
76 -  
77 - public void setXlId(String xlId) {  
78 - this.xlId = xlId;  
79 - }  
80 -  
81 - public List<Boolean> getWeekdays() {  
82 - return weekdays;  
83 - }  
84 -  
85 - public void setWeekdays(List<Boolean> weekdays) {  
86 - this.weekdays = weekdays;  
87 - }  
88 -  
89 - public List<DateTime> getSpecialDays() {  
90 - return specialDays;  
91 - }  
92 -  
93 - public void setSpecialDays(List<DateTime> specialDays) {  
94 - this.specialDays = specialDays;  
95 - }  
96 -  
97 - public DateTime getUpdateDate() {  
98 - return updateDate;  
99 - }  
100 -  
101 - public void setUpdateDate(DateTime updateDate) {  
102 - this.updateDate = updateDate;  
103 - }  
104 -  
105 - public Boolean getIsEnable() {  
106 - return isEnable;  
107 - }  
108 -  
109 - public void setIsEnable(Boolean isEnable) {  
110 - this.isEnable = isEnable;  
111 - }  
112 -  
113 - public DateTime getQyDate() {  
114 - return qyDate;  
115 - }  
116 -  
117 - public void setQyDate(DateTime qyDate) {  
118 - this.qyDate = qyDate;  
119 - }  
120 -} 1 +package com.bsth.service.schedule.rules.ttinfo;
  2 +
  3 +import com.bsth.entity.schedule.TTInfo;
  4 +import org.apache.commons.lang3.StringUtils;
  5 +import org.joda.time.DateTime;
  6 +import org.joda.time.format.DateTimeFormat;
  7 +
  8 +import java.util.ArrayList;
  9 +import java.util.List;
  10 +
  11 +/**
  12 + * 时刻表_输入
  13 + */
  14 +public class TTInfo_input implements Comparable<TTInfo_input> {
  15 + /** 时刻表id */
  16 + private String ttInfoId;
  17 + /** 线路Id */
  18 + private String xlId;
  19 + /** 周一到周日是否启用 */
  20 + private List<Boolean> weekdays = new ArrayList<>();
  21 + /** 特殊节假日 */
  22 + private List<DateTime> specialDays = new ArrayList<>();
  23 + /** 最新修改时间 */
  24 + private DateTime updateDate;
  25 + /** 是否启用 */
  26 + private Boolean isEnable;
  27 + /** 启用日期 */
  28 + private DateTime qyDate;
  29 +
  30 + public TTInfo_input() {
  31 +
  32 + }
  33 +
  34 + @Override
  35 + public int compareTo(TTInfo_input ttInfo_input) {
  36 + if (ttInfo_input != null) {
  37 + if (ttInfo_input.updateDate != null && this.updateDate != null)
  38 + return - this.updateDate.compareTo(ttInfo_input.updateDate);
  39 + }
  40 + return -1;
  41 + }
  42 +
  43 + public TTInfo_input(TTInfo ttInfo) {
  44 + this.ttInfoId = String.valueOf(ttInfo.getId());
  45 + this.xlId = String.valueOf(ttInfo.getXl().getId());
  46 + String[] days = ttInfo.getRule_days().split(",");
  47 + System.out.println(days.length);
  48 + for (int i = 0; i < 7; i++) {
  49 + if ("1".equals(days[i])) {
  50 + weekdays.add(true);
  51 + } else {
  52 + weekdays.add(false);
  53 + }
  54 + }
  55 + if (StringUtils.isNotEmpty(ttInfo.getSpecial_days())) {
  56 + String[] sdays = ttInfo.getSpecial_days().split(",");
  57 + for (int i = 0; i < sdays.length; i++) {
  58 + specialDays.add(DateTimeFormat.forPattern("yyyy-MM-dd").
  59 + parseDateTime(sdays[i]));
  60 + }
  61 + }
  62 +
  63 + this.updateDate = new DateTime(ttInfo.getUpdateDate());
  64 + this.isEnable = ttInfo.getIsEnableDisTemplate();
  65 + this.qyDate = new DateTime(ttInfo.getQyrq());
  66 +
  67 + }
  68 +
  69 + public String getTtInfoId() {
  70 + return ttInfoId;
  71 + }
  72 +
  73 + public void setTtInfoId(String ttInfoId) {
  74 + this.ttInfoId = ttInfoId;
  75 + }
  76 +
  77 + public String getXlId() {
  78 + return xlId;
  79 + }
  80 +
  81 + public void setXlId(String xlId) {
  82 + this.xlId = xlId;
  83 + }
  84 +
  85 + public List<Boolean> getWeekdays() {
  86 + return weekdays;
  87 + }
  88 +
  89 + public void setWeekdays(List<Boolean> weekdays) {
  90 + this.weekdays = weekdays;
  91 + }
  92 +
  93 + public List<DateTime> getSpecialDays() {
  94 + return specialDays;
  95 + }
  96 +
  97 + public void setSpecialDays(List<DateTime> specialDays) {
  98 + this.specialDays = specialDays;
  99 + }
  100 +
  101 + public DateTime getUpdateDate() {
  102 + return updateDate;
  103 + }
  104 +
  105 + public void setUpdateDate(DateTime updateDate) {
  106 + this.updateDate = updateDate;
  107 + }
  108 +
  109 + public Boolean getIsEnable() {
  110 + return isEnable;
  111 + }
  112 +
  113 + public void setIsEnable(Boolean isEnable) {
  114 + this.isEnable = isEnable;
  115 + }
  116 +
  117 + public DateTime getQyDate() {
  118 + return qyDate;
  119 + }
  120 +
  121 + public void setQyDate(DateTime qyDate) {
  122 + this.qyDate = qyDate;
  123 + }
  124 +}
src/main/resources/datatools/ktrs/ttinfodetailDataInput.ktr
@@ -288,12 +288,12 @@ @@ -288,12 +288,12 @@
288 <hop> <from>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178;</from><to>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178;</to><enabled>Y</enabled> </hop> 288 <hop> <from>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178;</from><to>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178;</to><enabled>Y</enabled> </hop>
289 <hop> <from>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 2</from><to>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 2</to><enabled>Y</enabled> </hop> 289 <hop> <from>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 2</from><to>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 2</to><enabled>Y</enabled> </hop>
290 <hop> <from>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 3</from><to>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 3</to><enabled>Y</enabled> </hop> 290 <hop> <from>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 3</from><to>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 3</to><enabled>Y</enabled> </hop>
291 - <hop> <from>&#x5339;&#x914d;&#x4e0a;&#x4e0b;&#x884c;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x7c7b;&#x578b;&#x4fee;&#x6b63;</to><enabled>Y</enabled> </hop> 291 + <hop> <from>&#x5339;&#x914d;&#x4e0a;&#x4e0b;&#x884c;&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x7c7b;&#x578b;&#x4fee;&#x6b63;</to><enabled>Y</enabled> </hop>
292 <hop> <from>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;1</from><to>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</to><enabled>Y</enabled> </hop> 292 <hop> <from>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;1</from><to>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</to><enabled>Y</enabled> </hop>
293 <hop> <from>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;1</from><to>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop> 293 <hop> <from>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;1</from><to>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
294 <hop> <from>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</from><to>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop> 294 <hop> <from>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</from><to>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
295 <hop> <from>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</from><to>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop> 295 <hop> <from>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</from><to>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
296 - <hop> <from>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x4e0a;&#x4e0b;&#x884c;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x5339;&#x914d;&#x4e0a;&#x4e0b;&#x884c;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop> 296 + <hop> <from>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x4e0a;&#x4e0b;&#x884c;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x5339;&#x914d;&#x4e0a;&#x4e0b;&#x884c;&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>
297 <hop> <from>&#x67e5;&#x627e;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;</from><to>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178;</to><enabled>Y</enabled> </hop> 297 <hop> <from>&#x67e5;&#x627e;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;</from><to>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178;</to><enabled>Y</enabled> </hop>
298 <hop> <from>&#x67e5;&#x627e;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</from><to>&#x67e5;&#x627e;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop> 298 <hop> <from>&#x67e5;&#x627e;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</from><to>&#x67e5;&#x627e;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop>
299 <hop> <from>&#x6b63;&#x5e38;&#x73ed;&#x6b21;_&#x5904;&#x7406;&#x6570;&#x636e;</from><to>&#x67e5;&#x627e;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</to><enabled>Y</enabled> </hop> 299 <hop> <from>&#x6b63;&#x5e38;&#x73ed;&#x6b21;_&#x5904;&#x7406;&#x6570;&#x636e;</from><to>&#x67e5;&#x627e;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</to><enabled>Y</enabled> </hop>
@@ -311,15 +311,20 @@ @@ -311,15 +311,20 @@
311 <hop> <from>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;2</from><to>&#x8fdb;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x8d77;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</to><enabled>Y</enabled> </hop> 311 <hop> <from>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;2</from><to>&#x8fdb;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x8d77;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</to><enabled>Y</enabled> </hop>
312 <hop> <from>&#x8fdb;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x8d77;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</from><to>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ebf;&#x8def;&#x65b9;&#x5411;</to><enabled>Y</enabled> </hop> 312 <hop> <from>&#x8fdb;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x8d77;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</from><to>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ebf;&#x8def;&#x65b9;&#x5411;</to><enabled>Y</enabled> </hop>
313 <hop> <from>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ebf;&#x8def;&#x65b9;&#x5411;</from><to>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ec8;&#x70b9;&#x7ad9;&#xff0c;&#x5e76;&#x4f5c;&#x4e3a;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x70b9;&#x7ad9;</to><enabled>Y</enabled> </hop> 313 <hop> <from>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ebf;&#x8def;&#x65b9;&#x5411;</from><to>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ec8;&#x70b9;&#x7ad9;&#xff0c;&#x5e76;&#x4f5c;&#x4e3a;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x70b9;&#x7ad9;</to><enabled>Y</enabled> </hop>
314 - <hop> <from>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ec8;&#x70b9;&#x7ad9;&#xff0c;&#x5e76;&#x4f5c;&#x4e3a;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x70b9;&#x7ad9;</from><to>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 3</to><enabled>Y</enabled> </hop>  
315 <hop> <from>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</from><to>&#x6dfb;&#x52a0;&#x53d1;&#x8f66;&#x987a;&#x5e8f;&#x53f7;</to><enabled>Y</enabled> </hop> 314 <hop> <from>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</from><to>&#x6dfb;&#x52a0;&#x53d1;&#x8f66;&#x987a;&#x5e8f;&#x53f7;</to><enabled>Y</enabled> </hop>
316 <hop> <from>&#x5206;&#x7ec4;&#x5404;&#x4e2a;&#x8def;&#x724c;&#x7684;&#x7ad9;</from><to>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop> 315 <hop> <from>&#x5206;&#x7ec4;&#x5404;&#x4e2a;&#x8def;&#x724c;&#x7684;&#x7ad9;</from><to>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop>
317 <hop> <from>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;&#xff0c;&#x7ebf;&#x8def;&#x540d;&#x5b57;&#xff0c;&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</from><to>&#x8bb0;&#x5f55;&#x5173;&#x8054; &#x28;&#x7b1b;&#x5361;&#x5c14;&#x8f93;&#x51fa;&#x29;</to><enabled>Y</enabled> </hop> 316 <hop> <from>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;&#xff0c;&#x7ebf;&#x8def;&#x540d;&#x5b57;&#xff0c;&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</from><to>&#x8bb0;&#x5f55;&#x5173;&#x8054; &#x28;&#x7b1b;&#x5361;&#x5c14;&#x8f93;&#x51fa;&#x29;</to><enabled>Y</enabled> </hop>
318 <hop> <from>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</from><to>&#x8bb0;&#x5f55;&#x5173;&#x8054; &#x28;&#x7b1b;&#x5361;&#x5c14;&#x8f93;&#x51fa;&#x29;</to><enabled>Y</enabled> </hop> 317 <hop> <from>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</from><to>&#x8bb0;&#x5f55;&#x5173;&#x8054; &#x28;&#x7b1b;&#x5361;&#x5c14;&#x8f93;&#x51fa;&#x29;</to><enabled>Y</enabled> </hop>
319 <hop> <from>&#x8bb0;&#x5f55;&#x5173;&#x8054; &#x28;&#x7b1b;&#x5361;&#x5c14;&#x8f93;&#x51fa;&#x29;</from><to>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</to><enabled>Y</enabled> </hop> 318 <hop> <from>&#x8bb0;&#x5f55;&#x5173;&#x8054; &#x28;&#x7b1b;&#x5361;&#x5c14;&#x8f93;&#x51fa;&#x29;</from><to>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</to><enabled>Y</enabled> </hop>
320 <hop> <from>&#x7c7b;&#x578b;&#x4fee;&#x6b63;</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail</to><enabled>Y</enabled> </hop> 319 <hop> <from>&#x7c7b;&#x578b;&#x4fee;&#x6b63;</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail</to><enabled>Y</enabled> </hop>
321 - <hop> <from>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x51fa;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail 2</to><enabled>Y</enabled> </hop>  
322 - <hop> <from>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x8fdb;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail 3</to><enabled>Y</enabled> </hop> 320 + <hop> <from>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ec8;&#x70b9;&#x7ad9;&#xff0c;&#x5e76;&#x4f5c;&#x4e3a;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x70b9;&#x7ad9;</from><to>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</to><enabled>Y</enabled> </hop>
  321 + <hop> <from>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</from><to>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 3</to><enabled>Y</enabled> </hop>
  322 + <hop> <from>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x51fa;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x5339;&#x914d;&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>
  323 + <hop> <from>&#x5339;&#x914d;&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 2</to><enabled>Y</enabled> </hop>
  324 + <hop> <from>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 2</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail 2</to><enabled>Y</enabled> </hop>
  325 + <hop> <from>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x8fdb;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x5339;&#x914d;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>
  326 + <hop> <from>&#x5339;&#x914d;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 3</to><enabled>Y</enabled> </hop>
  327 + <hop> <from>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 3</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail 3</to><enabled>Y</enabled> </hop>
323 </order> 328 </order>
324 <step> 329 <step>
325 <name>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178;</name> 330 <name>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178;</name>
@@ -411,8 +416,8 @@ @@ -411,8 +416,8 @@
411 </fields> 416 </fields>
412 <cluster_schema/> 417 <cluster_schema/>
413 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> 418 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
414 - <xloc>550</xloc>  
415 - <yloc>775</yloc> 419 + <xloc>553</xloc>
  420 + <yloc>859</yloc>
416 <draw>Y</draw> 421 <draw>Y</draw>
417 </GUI> 422 </GUI>
418 </step> 423 </step>
@@ -432,7 +437,7 @@ @@ -432,7 +437,7 @@
432 <optimizationLevel>9</optimizationLevel> 437 <optimizationLevel>9</optimizationLevel>
433 <jsScripts> <jsScript> <jsScript_type>0</jsScript_type> 438 <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
434 <jsScript_name>Script 1</jsScript_name> 439 <jsScript_name>Script 1</jsScript_name>
435 - <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f; &#x6dfb;&#x52a0;&#x7ad9;&#x70b9;&#x6807;&#x8bc6;&#xa;var cc_groups &#x3d; qdzgroups.split&#x28;&#x22;,&#x22;&#x29;&#x3b; &#x2f;&#x2f; &#x6240;&#x6709;&#x73ed;&#x6b21;&#x8d77;&#x70b9;&#x7ad9;&#x6570;&#x7ec4;&#xa;var zdzname &#x3d; cc_groups&#x5b;gno&#x5d;&#x3b; &#x2f;&#x2f; &#x51fa;&#x573a;&#x73ed;&#x6b21;&#x7684;&#x7ec8;&#x70b9;&#x7ad9;&#x662f;&#x4e0b;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x59cb;&#x7ad9;&#xa;var endZdtype &#x3d; &#x27;B&#x27;&#x3b;</jsScript_script> 440 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f; &#x6dfb;&#x52a0;&#x7ad9;&#x70b9;&#x6807;&#x8bc6;&#xa;var cc_groups &#x3d; qdzgroups.split&#x28;&#x22;,&#x22;&#x29;&#x3b; &#x2f;&#x2f; &#x6240;&#x6709;&#x73ed;&#x6b21;&#x8d77;&#x70b9;&#x7ad9;&#x6570;&#x7ec4;&#xa;var zdzname &#x3d; cc_groups&#x5b;gno&#x5d;&#x3b; &#x2f;&#x2f; &#x51fa;&#x573a;&#x73ed;&#x6b21;&#x7684;&#x7ec8;&#x70b9;&#x7ad9;&#x662f;&#x4e0b;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x59cb;&#x7ad9;&#xa;var endZdtype &#x3d; &#x27;E&#x27;&#x3b;</jsScript_script>
436 </jsScript> </jsScripts> <fields> <field> <name>zdzname</name> 441 </jsScript> </jsScripts> <fields> <field> <name>zdzname</name>
437 <rename>zdzname</rename> 442 <rename>zdzname</rename>
438 <type>String</type> 443 <type>String</type>
@@ -513,7 +518,7 @@ @@ -513,7 +518,7 @@
513 </step> 518 </step>
514 519
515 <step> 520 <step>
516 - <name>&#x5339;&#x914d;&#x4e0a;&#x4e0b;&#x884c;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name> 521 + <name>&#x5339;&#x914d;&#x4e0a;&#x4e0b;&#x884c;&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
517 <type>ScriptValueMod</type> 522 <type>ScriptValueMod</type>
518 <description/> 523 <description/>
519 <distribute>Y</distribute> 524 <distribute>Y</distribute>
@@ -675,8 +680,8 @@ @@ -675,8 +680,8 @@
675 </compare> 680 </compare>
676 <cluster_schema/> 681 <cluster_schema/>
677 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> 682 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
678 - <xloc>868</xloc>  
679 - <yloc>404</yloc> 683 + <xloc>860</xloc>
  684 + <yloc>401</yloc>
680 <draw>Y</draw> 685 <draw>Y</draw>
681 </GUI> 686 </GUI>
682 </step> 687 </step>
@@ -946,8 +951,8 @@ @@ -946,8 +951,8 @@
946 </lookup> 951 </lookup>
947 <cluster_schema/> 952 <cluster_schema/>
948 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> 953 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
949 - <xloc>340</xloc>  
950 - <yloc>890</yloc> 954 + <xloc>342</xloc>
  955 + <yloc>1031</yloc>
951 <draw>Y</draw> 956 <draw>Y</draw>
952 </GUI> 957 </GUI>
953 </step> 958 </step>
@@ -1046,7 +1051,7 @@ @@ -1046,7 +1051,7 @@
1046 </value> 1051 </value>
1047 <value> 1052 <value>
1048 <name>xl_dir</name> 1053 <name>xl_dir</name>
1049 - <rename>sxx</rename> 1054 + <rename>sxx2</rename>
1050 <update>Y</update> 1055 <update>Y</update>
1051 </value> 1056 </value>
1052 <value> 1057 <value>
@@ -1067,8 +1072,8 @@ @@ -1067,8 +1072,8 @@
1067 </lookup> 1072 </lookup>
1068 <cluster_schema/> 1073 <cluster_schema/>
1069 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> 1074 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
1070 - <xloc>770</xloc>  
1071 - <yloc>923</yloc> 1075 + <xloc>875</xloc>
  1076 + <yloc>887</yloc>
1072 <draw>Y</draw> 1077 <draw>Y</draw>
1073 </GUI> 1078 </GUI>
1074 </step> 1079 </step>
@@ -1469,14 +1474,26 @@ @@ -1469,14 +1474,26 @@
1469 <name2/> 1474 <name2/>
1470 </key> 1475 </key>
1471 <value> 1476 <value>
1472 - <name>out_mileage</name>  
1473 - <rename>out_mileage</rename> 1477 + <name>up_out_timer</name>
  1478 + <rename>up_out_timer</rename>
1474 <default/> 1479 <default/>
1475 <type>Number</type> 1480 <type>Number</type>
1476 </value> 1481 </value>
1477 <value> 1482 <value>
1478 - <name>out_time</name>  
1479 - <rename>out_time</rename> 1483 + <name>up_out_mileage</name>
  1484 + <rename>up_out_mileage</rename>
  1485 + <default/>
  1486 + <type>Number</type>
  1487 + </value>
  1488 + <value>
  1489 + <name>down_out_timer</name>
  1490 + <rename>down_out_timer</rename>
  1491 + <default/>
  1492 + <type>Number</type>
  1493 + </value>
  1494 + <value>
  1495 + <name>down_out_mileage</name>
  1496 + <rename>down_out_mileage</rename>
1480 <default/> 1497 <default/>
1481 <type>Number</type> 1498 <type>Number</type>
1482 </value> 1499 </value>
@@ -1517,22 +1534,34 @@ @@ -1517,22 +1534,34 @@
1517 <name2/> 1534 <name2/>
1518 </key> 1535 </key>
1519 <value> 1536 <value>
1520 - <name>parade_mileage</name>  
1521 - <rename>parade_mileage</rename> 1537 + <name>up_in_mileage</name>
  1538 + <rename>up_in_mileage</rename>
1522 <default/> 1539 <default/>
1523 <type>Number</type> 1540 <type>Number</type>
1524 </value> 1541 </value>
1525 <value> 1542 <value>
1526 - <name>parade_time</name>  
1527 - <rename>parade_time</rename> 1543 + <name>up_in_timer</name>
  1544 + <rename>up_in_timer</rename>
  1545 + <default/>
  1546 + <type>Number</type>
  1547 + </value>
  1548 + <value>
  1549 + <name>down_in_mileage</name>
  1550 + <rename>down_in_mileage</rename>
  1551 + <default/>
  1552 + <type>Number</type>
  1553 + </value>
  1554 + <value>
  1555 + <name>down_in_timer</name>
  1556 + <rename>down_in_timer</rename>
1528 <default/> 1557 <default/>
1529 <type>Number</type> 1558 <type>Number</type>
1530 </value> 1559 </value>
1531 </lookup> 1560 </lookup>
1532 <cluster_schema/> 1561 <cluster_schema/>
1533 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> 1562 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
1534 - <xloc>550</xloc>  
1535 - <yloc>920</yloc> 1563 + <xloc>553</xloc>
  1564 + <yloc>1004</yloc>
1536 <draw>Y</draw> 1565 <draw>Y</draw>
1537 </GUI> 1566 </GUI>
1538 </step> 1567 </step>
@@ -1799,8 +1828,8 @@ @@ -1799,8 +1828,8 @@
1799 <name2/> 1828 <name2/>
1800 </key> 1829 </key>
1801 <value> 1830 <value>
1802 - <name>station</name>  
1803 - <rename>qdzid</rename> 1831 + <name>station_name</name>
  1832 + <rename>zdzname_calcu</rename>
1804 <default/> 1833 <default/>
1805 <type>Integer</type> 1834 <type>Integer</type>
1806 </value> 1835 </value>
@@ -2115,8 +2144,8 @@ @@ -2115,8 +2144,8 @@
2115 </fields> 2144 </fields>
2116 <cluster_schema/> 2145 <cluster_schema/>
2117 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> 2146 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
2118 - <xloc>548</xloc>  
2119 - <yloc>844</yloc> 2147 + <xloc>551</xloc>
  2148 + <yloc>928</yloc>
2120 <draw>Y</draw> 2149 <draw>Y</draw>
2121 </GUI> 2150 </GUI>
2122 </step> 2151 </step>
@@ -2324,6 +2353,238 @@ @@ -2324,6 +2353,238 @@
2324 </GUI> 2353 </GUI>
2325 </step> 2354 </step>
2326 2355
  2356 + <step>
  2357 + <name>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</name>
  2358 + <type>DBLookup</type>
  2359 + <description/>
  2360 + <distribute>Y</distribute>
  2361 + <custom_distribution/>
  2362 + <copies>1</copies>
  2363 + <partitioning>
  2364 + <method>none</method>
  2365 + <schema_name/>
  2366 + </partitioning>
  2367 + <connection>bus_control_variable</connection>
  2368 + <cache>N</cache>
  2369 + <cache_load_all>N</cache_load_all>
  2370 + <cache_size>0</cache_size>
  2371 + <lookup>
  2372 + <schema/>
  2373 + <table>bsth_c_stationroute</table>
  2374 + <orderby/>
  2375 + <fail_on_multiple>N</fail_on_multiple>
  2376 + <eat_row_on_failure>N</eat_row_on_failure>
  2377 + <key>
  2378 + <name>xlid</name>
  2379 + <field>line</field>
  2380 + <condition>&#x3d;</condition>
  2381 + <name2/>
  2382 + </key>
  2383 + <key>
  2384 + <name>zdzname_calcu</name>
  2385 + <field>station_name</field>
  2386 + <condition>&#x3d;</condition>
  2387 + <name2/>
  2388 + </key>
  2389 + <key>
  2390 + <name>startZdtype_calcu</name>
  2391 + <field>station_mark</field>
  2392 + <condition>&#x3d;</condition>
  2393 + <name2/>
  2394 + </key>
  2395 + <value>
  2396 + <name>directions</name>
  2397 + <rename>sxx2</rename>
  2398 + <default/>
  2399 + <type>Integer</type>
  2400 + </value>
  2401 + <value>
  2402 + <name>station</name>
  2403 + <rename>qdzid</rename>
  2404 + <default/>
  2405 + <type>Integer</type>
  2406 + </value>
  2407 + </lookup>
  2408 + <cluster_schema/>
  2409 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2410 + <xloc>551</xloc>
  2411 + <yloc>782</yloc>
  2412 + <draw>Y</draw>
  2413 + </GUI>
  2414 + </step>
  2415 +
  2416 + <step>
  2417 + <name>&#x5339;&#x914d;&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
  2418 + <type>ScriptValueMod</type>
  2419 + <description/>
  2420 + <distribute>Y</distribute>
  2421 + <custom_distribution/>
  2422 + <copies>1</copies>
  2423 + <partitioning>
  2424 + <method>none</method>
  2425 + <schema_name/>
  2426 + </partitioning>
  2427 + <compatible>N</compatible>
  2428 + <optimizationLevel>9</optimizationLevel>
  2429 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  2430 + <jsScript_name>Script 1</jsScript_name>
  2431 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var out_mileage&#x3b; &#x2f;&#x2f; &#x51fa;&#x573a;&#x8ba1;&#x5212;&#x91cc;&#x7a0b;&#xa;var out_time&#x3b; &#x2f;&#x2f; &#x51fa;&#x573a;&#x8ba1;&#x5212;&#x65f6;&#x95f4;&#xa;&#xa;if &#x28;sxx &#x3d;&#x3d; 0&#x29; &#x7b; &#x2f;&#x2f; &#x4e0a;&#x884c;&#xa; out_mileage &#x3d; up_out_mileage&#x3b;&#xa; out_time &#x3d; up_out_timer&#x3b;&#xa;&#x7d; else &#x7b; &#x2f;&#x2f; sxx &#x3d;&#x3d; 1 &#x4e0b;&#x884c;&#xa; out_mileage &#x3d; down_out_mileage&#x3b;&#xa; out_time &#x3d; down_out_timer&#x3b;&#xa;&#x7d;&#xa;&#xa;&#xa;&#xa;</jsScript_script>
  2432 + </jsScript> </jsScripts> <fields> <field> <name>out_mileage</name>
  2433 + <rename>out_mileage</rename>
  2434 + <type>String</type>
  2435 + <length>-1</length>
  2436 + <precision>-1</precision>
  2437 + <replace>N</replace>
  2438 + </field> <field> <name>out_time</name>
  2439 + <rename>out_time</rename>
  2440 + <type>String</type>
  2441 + <length>-1</length>
  2442 + <precision>-1</precision>
  2443 + <replace>N</replace>
  2444 + </field> </fields> <cluster_schema/>
  2445 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2446 + <xloc>336</xloc>
  2447 + <yloc>862</yloc>
  2448 + <draw>Y</draw>
  2449 + </GUI>
  2450 + </step>
  2451 +
  2452 + <step>
  2453 + <name>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 2</name>
  2454 + <type>SelectValues</type>
  2455 + <description/>
  2456 + <distribute>Y</distribute>
  2457 + <custom_distribution/>
  2458 + <copies>1</copies>
  2459 + <partitioning>
  2460 + <method>none</method>
  2461 + <schema_name/>
  2462 + </partitioning>
  2463 + <fields> <select_unspecified>N</select_unspecified>
  2464 + <meta> <name>out_mileage</name>
  2465 + <rename>out_mileage</rename>
  2466 + <type>Number</type>
  2467 + <length>-2</length>
  2468 + <precision>-2</precision>
  2469 + <conversion_mask/>
  2470 + <date_format_lenient>false</date_format_lenient>
  2471 + <date_format_locale/>
  2472 + <date_format_timezone/>
  2473 + <lenient_string_to_number>false</lenient_string_to_number>
  2474 + <encoding/>
  2475 + <decimal_symbol/>
  2476 + <grouping_symbol/>
  2477 + <currency_symbol/>
  2478 + <storage_type/>
  2479 + </meta> <meta> <name>out_time</name>
  2480 + <rename>out_time</rename>
  2481 + <type>Integer</type>
  2482 + <length>-2</length>
  2483 + <precision>-2</precision>
  2484 + <conversion_mask/>
  2485 + <date_format_lenient>false</date_format_lenient>
  2486 + <date_format_locale/>
  2487 + <date_format_timezone/>
  2488 + <lenient_string_to_number>false</lenient_string_to_number>
  2489 + <encoding/>
  2490 + <decimal_symbol/>
  2491 + <grouping_symbol/>
  2492 + <currency_symbol/>
  2493 + <storage_type/>
  2494 + </meta> </fields> <cluster_schema/>
  2495 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2496 + <xloc>338</xloc>
  2497 + <yloc>949</yloc>
  2498 + <draw>Y</draw>
  2499 + </GUI>
  2500 + </step>
  2501 +
  2502 + <step>
  2503 + <name>&#x5339;&#x914d;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
  2504 + <type>ScriptValueMod</type>
  2505 + <description/>
  2506 + <distribute>Y</distribute>
  2507 + <custom_distribution/>
  2508 + <copies>1</copies>
  2509 + <partitioning>
  2510 + <method>none</method>
  2511 + <schema_name/>
  2512 + </partitioning>
  2513 + <compatible>N</compatible>
  2514 + <optimizationLevel>9</optimizationLevel>
  2515 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  2516 + <jsScript_name>Script 1</jsScript_name>
  2517 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var parade_mileage&#x3b; &#x2f;&#x2f; &#x8fdb;&#x573a;&#x8ba1;&#x5212;&#x91cc;&#x7a0b;&#xa;var parade_time&#x3b; &#x2f;&#x2f; &#x8fdb;&#x573a;&#x8ba1;&#x5212;&#x65f6;&#x95f4;&#xa;&#xa;if &#x28;sxx2 &#x3d;&#x3d; 0&#x29; &#x7b; &#x2f;&#x2f; &#x4e0a;&#x884c;&#xa; parade_mileage &#x3d; up_in_mileage&#x3b;&#xa; parade_time &#x3d; up_in_timer&#x3b;&#xa;&#x7d; else &#x7b; &#x2f;&#x2f; sxx &#x3d;&#x3d; 1 &#x4e0b;&#x884c;&#xa; parade_mileage &#x3d; down_in_mileage&#x3b;&#xa; parade_time &#x3d; down_in_timer&#x3b;&#xa;&#x7d;&#xa;&#xa;&#xa;&#xa;</jsScript_script>
  2518 + </jsScript> </jsScripts> <fields> <field> <name>parade_mileage</name>
  2519 + <rename>parade_mileage</rename>
  2520 + <type>String</type>
  2521 + <length>-1</length>
  2522 + <precision>-1</precision>
  2523 + <replace>N</replace>
  2524 + </field> <field> <name>parade_time</name>
  2525 + <rename>parade_time</rename>
  2526 + <type>String</type>
  2527 + <length>-1</length>
  2528 + <precision>-1</precision>
  2529 + <replace>N</replace>
  2530 + </field> </fields> <cluster_schema/>
  2531 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2532 + <xloc>726</xloc>
  2533 + <yloc>1005</yloc>
  2534 + <draw>Y</draw>
  2535 + </GUI>
  2536 + </step>
  2537 +
  2538 + <step>
  2539 + <name>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 3</name>
  2540 + <type>SelectValues</type>
  2541 + <description/>
  2542 + <distribute>Y</distribute>
  2543 + <custom_distribution/>
  2544 + <copies>1</copies>
  2545 + <partitioning>
  2546 + <method>none</method>
  2547 + <schema_name/>
  2548 + </partitioning>
  2549 + <fields> <select_unspecified>N</select_unspecified>
  2550 + <meta> <name>parade_mileage</name>
  2551 + <rename>parade_mileage</rename>
  2552 + <type>Number</type>
  2553 + <length>-2</length>
  2554 + <precision>-2</precision>
  2555 + <conversion_mask/>
  2556 + <date_format_lenient>false</date_format_lenient>
  2557 + <date_format_locale/>
  2558 + <date_format_timezone/>
  2559 + <lenient_string_to_number>false</lenient_string_to_number>
  2560 + <encoding/>
  2561 + <decimal_symbol/>
  2562 + <grouping_symbol/>
  2563 + <currency_symbol/>
  2564 + <storage_type/>
  2565 + </meta> <meta> <name>parade_time</name>
  2566 + <rename>parade_time</rename>
  2567 + <type>Integer</type>
  2568 + <length>-2</length>
  2569 + <precision>-2</precision>
  2570 + <conversion_mask/>
  2571 + <date_format_lenient>false</date_format_lenient>
  2572 + <date_format_locale/>
  2573 + <date_format_timezone/>
  2574 + <lenient_string_to_number>false</lenient_string_to_number>
  2575 + <encoding/>
  2576 + <decimal_symbol/>
  2577 + <grouping_symbol/>
  2578 + <currency_symbol/>
  2579 + <storage_type/>
  2580 + </meta> </fields> <cluster_schema/>
  2581 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2582 + <xloc>875</xloc>
  2583 + <yloc>1001</yloc>
  2584 + <draw>Y</draw>
  2585 + </GUI>
  2586 + </step>
  2587 +
2327 <step_error_handling> 2588 <step_error_handling>
2328 </step_error_handling> 2589 </step_error_handling>
2329 <slave-step-copy-partition-distribution> 2590 <slave-step-copy-partition-distribution>
src/main/resources/static/pages/scheduleApp/module/common/prj-common-globalservice.js
@@ -222,7 +222,7 @@ angular.module(&#39;ScheduleApp&#39;).factory(&#39;EmployeeConfigService_g&#39;, [&#39;$resource&#39;, f @@ -222,7 +222,7 @@ angular.module(&#39;ScheduleApp&#39;).factory(&#39;EmployeeConfigService_g&#39;, [&#39;$resource&#39;, f
222 return { 222 return {
223 rest : $resource( 223 rest : $resource(
224 '/eci/:id', 224 '/eci/:id',
225 - {order: 'createDate', direction: 'ASC', id: '@id_route'}, 225 + {order: 'xl.id,dbbmFormula', direction: 'ASC', id: '@id_route'},
226 { 226 {
227 list: { 227 list: {
228 method: 'GET', 228 method: 'GET',
src/main/resources/static/pages/scheduleApp/module/core/timeTableManage/timeTableManage.js
@@ -221,8 +221,6 @@ angular.module(&#39;ScheduleApp&#39;).controller(&#39;TimeTableManageListCtrl&#39;, [&#39;TimeTableM @@ -221,8 +221,6 @@ angular.module(&#39;ScheduleApp&#39;).controller(&#39;TimeTableManageListCtrl&#39;, [&#39;TimeTableM
221 var xlmc = self.pageInfo.infos[$index]["xl"]["name"]; 221 var xlmc = self.pageInfo.infos[$index]["xl"]["name"];
222 // 时刻表名称 222 // 时刻表名称
223 var ttinfoname = self.pageInfo.infos[$index]["name"]; 223 var ttinfoname = self.pageInfo.infos[$index]["name"];
224 - // 停车场代码  
225 - var tcccode = self.pageInfo.infos[$index]["xl"]["carParkCode"];  
226 224
227 // large方式弹出模态对话框 225 // large方式弹出模态对话框
228 var modalInstance = $uibModal.open({ 226 var modalInstance = $uibModal.open({
@@ -233,8 +231,7 @@ angular.module(&#39;ScheduleApp&#39;).controller(&#39;TimeTableManageListCtrl&#39;, [&#39;TimeTableM @@ -233,8 +231,7 @@ angular.module(&#39;ScheduleApp&#39;).controller(&#39;TimeTableManageListCtrl&#39;, [&#39;TimeTableM
233 resolve: { 231 resolve: {
234 // 可以传值给controller 232 // 可以传值给controller
235 r_xlmc : function() {return xlmc}, 233 r_xlmc : function() {return xlmc},
236 - r_ttinfoname : function() {return ttinfoname;},  
237 - r_tcccode : function() {return tcccode;} 234 + r_ttinfoname : function() {return ttinfoname;}
238 }, 235 },
239 windowClass: 'center-modal', 236 windowClass: 'center-modal',
240 controller: "TimeTableDetailManageToolsCtrl", 237 controller: "TimeTableDetailManageToolsCtrl",
@@ -253,12 +250,11 @@ angular.module(&#39;ScheduleApp&#39;).controller(&#39;TimeTableManageListCtrl&#39;, [&#39;TimeTableM @@ -253,12 +250,11 @@ angular.module(&#39;ScheduleApp&#39;).controller(&#39;TimeTableManageListCtrl&#39;, [&#39;TimeTableM
253 250
254 }]); 251 }]);
255 252
256 -angular.module('ScheduleApp').controller('TimeTableDetailManageToolsCtrl', ['$modalInstance', 'FileUploader', 'r_xlmc', 'r_ttinfoname', 'r_tcccode', function($modalInstance, FileUploader, r_xlmc, r_ttinfoname, r_tcccode) { 253 +angular.module('ScheduleApp').controller('TimeTableDetailManageToolsCtrl', ['$modalInstance', 'FileUploader', 'r_xlmc', 'r_ttinfoname', function($modalInstance, FileUploader, r_xlmc, r_ttinfoname) {
257 var self = this; 254 var self = this;
258 255
259 self.xlmc = r_xlmc; 256 self.xlmc = r_xlmc;
260 self.ttinfoname = r_ttinfoname; 257 self.ttinfoname = r_ttinfoname;
261 - self.tcccode = r_tcccode;  
262 258
263 // 关闭窗口 259 // 关闭窗口
264 self.close = function() { 260 self.close = function() {
@@ -273,7 +269,7 @@ angular.module(&#39;ScheduleApp&#39;).controller(&#39;TimeTableDetailManageToolsCtrl&#39;, [&#39;$mo @@ -273,7 +269,7 @@ angular.module(&#39;ScheduleApp&#39;).controller(&#39;TimeTableDetailManageToolsCtrl&#39;, [&#39;$mo
273 self.uploader = new FileUploader({ 269 self.uploader = new FileUploader({
274 url: "/tidc/dataImportExtend", 270 url: "/tidc/dataImportExtend",
275 filters: [], // 用于过滤文件,比如只允许导入excel, 271 filters: [], // 用于过滤文件,比如只允许导入excel,
276 - formData: [{xlmc: self.xlmc, ttinfoname: self.ttinfoname, tcccode: self.tcccode}] 272 + formData: [{xlmc: self.xlmc, ttinfoname: self.ttinfoname}]
277 }); 273 });
278 self.uploader.onAfterAddingFile = function(fileItem) 274 self.uploader.onAfterAddingFile = function(fileItem)
279 { 275 {