Commit 047e4802e0214c8f2b505b8bf01ea16e0dd7e0bb

Authored by 潘钊
2 parents 6a8a81aa 60d9da6b

Merge branch 'minhang' of http://222.66.0.204:8090/panzhaov5/bsth_control into minhang

src/main/java/com/bsth/data/arrival/ArrivalData_GPS.java
@@ -50,8 +50,8 @@ public class ArrivalData_GPS implements CommandLineRunner{ @@ -50,8 +50,8 @@ public class ArrivalData_GPS implements CommandLineRunner{
50 50
51 @Override 51 @Override
52 public void run(String... arg0) throws Exception { 52 public void run(String... arg0) throws Exception {
53 - logger.info("ArrivalData_GPS,100,10 @11-10");  
54 - //Application.mainServices.scheduleWithFixedDelay(dataLoaderThread, 100, 10, TimeUnit.SECONDS); 53 + logger.info("ArrivalData_GPS,30,10");
  54 + //Application.mainServices.scheduleWithFixedDelay(dataLoaderThread, 40, 10, TimeUnit.SECONDS);
55 } 55 }
56 56
57 @Component 57 @Component
src/main/java/com/bsth/service/realcontrol/dto/ScheduleExecRate.java
1 -package com.bsth.service.realcontrol.dto;  
2 -  
3 -/**  
4 - * 班次执行率DTO  
5 - * Created by panzhao on 2016/11/14.  
6 - */  
7 -public class ScheduleExecRate {  
8 -  
9 - private long id;  
10 - private String dfsj;  
11 - private String fcsjActual;  
12 - private String zdsj;  
13 - private String zdsjActual;  
14 - private int status;  
15 - private String lineCode;  
16 -  
17 - public long getId() {  
18 - return id;  
19 - }  
20 -  
21 - public void setId(long id) {  
22 - this.id = id;  
23 - }  
24 -  
25 - public String getDfsj() {  
26 - return dfsj;  
27 - }  
28 -  
29 - public void setDfsj(String dfsj) {  
30 - this.dfsj = dfsj;  
31 - }  
32 -  
33 - public String getFcsjActual() {  
34 - return fcsjActual;  
35 - }  
36 -  
37 - public void setFcsjActual(String fcsjActual) {  
38 - this.fcsjActual = fcsjActual;  
39 - }  
40 -  
41 - public String getZdsj() {  
42 - return zdsj;  
43 - }  
44 -  
45 - public void setZdsj(String zdsj) {  
46 - this.zdsj = zdsj;  
47 - }  
48 -  
49 - public String getZdsjActual() {  
50 - return zdsjActual;  
51 - }  
52 -  
53 - public void setZdsjActual(String zdsjActual) {  
54 - this.zdsjActual = zdsjActual;  
55 - }  
56 -  
57 - public int getStatus() {  
58 - return status;  
59 - }  
60 -  
61 - public void setStatus(int status) {  
62 - this.status = status;  
63 - }  
64 -  
65 - public String getLineCode() {  
66 - return lineCode;  
67 - }  
68 -  
69 - public void setLineCode(String lineCode) {  
70 - this.lineCode = lineCode;  
71 - }  
72 -} 1 +package com.bsth.service.realcontrol.dto;
  2 +
  3 +/**
  4 + * 班次执行率DTO
  5 + * Created by panzhao on 2016/11/14.
  6 + */
  7 +public class ScheduleExecRate {
  8 +
  9 + private long id;
  10 + private String dfsj;
  11 + private String fcsjActual;
  12 + private String zdsj;
  13 + private String zdsjActual;
  14 + private int status;
  15 + private String lineCode;
  16 +
  17 + public long getId() {
  18 + return id;
  19 + }
  20 +
  21 + public void setId(long id) {
  22 + this.id = id;
  23 + }
  24 +
  25 + public String getDfsj() {
  26 + return dfsj;
  27 + }
  28 +
  29 + public void setDfsj(String dfsj) {
  30 + this.dfsj = dfsj;
  31 + }
  32 +
  33 + public String getFcsjActual() {
  34 + return fcsjActual;
  35 + }
  36 +
  37 + public void setFcsjActual(String fcsjActual) {
  38 + this.fcsjActual = fcsjActual;
  39 + }
  40 +
  41 + public String getZdsj() {
  42 + return zdsj;
  43 + }
  44 +
  45 + public void setZdsj(String zdsj) {
  46 + this.zdsj = zdsj;
  47 + }
  48 +
  49 + public String getZdsjActual() {
  50 + return zdsjActual;
  51 + }
  52 +
  53 + public void setZdsjActual(String zdsjActual) {
  54 + this.zdsjActual = zdsjActual;
  55 + }
  56 +
  57 + public int getStatus() {
  58 + return status;
  59 + }
  60 +
  61 + public void setStatus(int status) {
  62 + this.status = status;
  63 + }
  64 +
  65 + public String getLineCode() {
  66 + return lineCode;
  67 + }
  68 +
  69 + public void setLineCode(String lineCode) {
  70 + this.lineCode = lineCode;
  71 + }
  72 +}
src/main/resources/datatools/ktrs/ttinfodetailDataInput.ktr
1 -<?xml version="1.0" encoding="UTF-8"?>  
2 -<transformation>  
3 - <info>  
4 - <name>ttinfodetailDataInput</name>  
5 - <description>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;&#x5bfc;&#x5165;</description>  
6 - <extended_description>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;</extended_description>  
7 - <trans_version/>  
8 - <trans_type>Normal</trans_type>  
9 - <trans_status>0</trans_status>  
10 - <directory>&#x2f;</directory>  
11 - <parameters>  
12 - </parameters>  
13 - <log>  
14 -<trans-log-table><connection/>  
15 -<schema/>  
16 -<table/>  
17 -<size_limit_lines/>  
18 -<interval/>  
19 -<timeout_days/>  
20 -<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STATUS</id><enabled>Y</enabled><name>STATUS</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name><subject/></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name><subject/></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name><subject/></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name><subject/></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name><subject/></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name><subject/></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>STARTDATE</id><enabled>Y</enabled><name>STARTDATE</name></field><field><id>ENDDATE</id><enabled>Y</enabled><name>ENDDATE</name></field><field><id>LOGDATE</id><enabled>Y</enabled><name>LOGDATE</name></field><field><id>DEPDATE</id><enabled>Y</enabled><name>DEPDATE</name></field><field><id>REPLAYDATE</id><enabled>Y</enabled><name>REPLAYDATE</name></field><field><id>LOG_FIELD</id><enabled>Y</enabled><name>LOG_FIELD</name></field><field><id>EXECUTING_SERVER</id><enabled>N</enabled><name>EXECUTING_SERVER</name></field><field><id>EXECUTING_USER</id><enabled>N</enabled><name>EXECUTING_USER</name></field><field><id>CLIENT</id><enabled>N</enabled><name>CLIENT</name></field></trans-log-table>  
21 -<perf-log-table><connection/>  
22 -<schema/>  
23 -<table/>  
24 -<interval/>  
25 -<timeout_days/>  
26 -<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>SEQ_NR</id><enabled>Y</enabled><name>SEQ_NR</name></field><field><id>LOGDATE</id><enabled>Y</enabled><name>LOGDATE</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STEPNAME</id><enabled>Y</enabled><name>STEPNAME</name></field><field><id>STEP_COPY</id><enabled>Y</enabled><name>STEP_COPY</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>INPUT_BUFFER_ROWS</id><enabled>Y</enabled><name>INPUT_BUFFER_ROWS</name></field><field><id>OUTPUT_BUFFER_ROWS</id><enabled>Y</enabled><name>OUTPUT_BUFFER_ROWS</name></field></perf-log-table>  
27 -<channel-log-table><connection/>  
28 -<schema/>  
29 -<table/>  
30 -<timeout_days/>  
31 -<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>LOGGING_OBJECT_TYPE</id><enabled>Y</enabled><name>LOGGING_OBJECT_TYPE</name></field><field><id>OBJECT_NAME</id><enabled>Y</enabled><name>OBJECT_NAME</name></field><field><id>OBJECT_COPY</id><enabled>Y</enabled><name>OBJECT_COPY</name></field><field><id>REPOSITORY_DIRECTORY</id><enabled>Y</enabled><name>REPOSITORY_DIRECTORY</name></field><field><id>FILENAME</id><enabled>Y</enabled><name>FILENAME</name></field><field><id>OBJECT_ID</id><enabled>Y</enabled><name>OBJECT_ID</name></field><field><id>OBJECT_REVISION</id><enabled>Y</enabled><name>OBJECT_REVISION</name></field><field><id>PARENT_CHANNEL_ID</id><enabled>Y</enabled><name>PARENT_CHANNEL_ID</name></field><field><id>ROOT_CHANNEL_ID</id><enabled>Y</enabled><name>ROOT_CHANNEL_ID</name></field></channel-log-table>  
32 -<step-log-table><connection/>  
33 -<schema/>  
34 -<table/>  
35 -<timeout_days/>  
36 -<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STEPNAME</id><enabled>Y</enabled><name>STEPNAME</name></field><field><id>STEP_COPY</id><enabled>Y</enabled><name>STEP_COPY</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>LOG_FIELD</id><enabled>N</enabled><name>LOG_FIELD</name></field></step-log-table>  
37 -<metrics-log-table><connection/>  
38 -<schema/>  
39 -<table/>  
40 -<timeout_days/>  
41 -<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>METRICS_DATE</id><enabled>Y</enabled><name>METRICS_DATE</name></field><field><id>METRICS_CODE</id><enabled>Y</enabled><name>METRICS_CODE</name></field><field><id>METRICS_DESCRIPTION</id><enabled>Y</enabled><name>METRICS_DESCRIPTION</name></field><field><id>METRICS_SUBJECT</id><enabled>Y</enabled><name>METRICS_SUBJECT</name></field><field><id>METRICS_TYPE</id><enabled>Y</enabled><name>METRICS_TYPE</name></field><field><id>METRICS_VALUE</id><enabled>Y</enabled><name>METRICS_VALUE</name></field></metrics-log-table>  
42 - </log>  
43 - <maxdate>  
44 - <connection/>  
45 - <table/>  
46 - <field/>  
47 - <offset>0.0</offset>  
48 - <maxdiff>0.0</maxdiff>  
49 - </maxdate>  
50 - <size_rowset>10000</size_rowset>  
51 - <sleep_time_empty>50</sleep_time_empty>  
52 - <sleep_time_full>50</sleep_time_full>  
53 - <unique_connections>N</unique_connections>  
54 - <feedback_shown>Y</feedback_shown>  
55 - <feedback_size>50000</feedback_size>  
56 - <using_thread_priorities>Y</using_thread_priorities>  
57 - <shared_objects_file/>  
58 - <capture_step_performance>N</capture_step_performance>  
59 - <step_performance_capturing_delay>1000</step_performance_capturing_delay>  
60 - <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit>  
61 - <dependencies>  
62 - </dependencies>  
63 - <partitionschemas>  
64 - </partitionschemas>  
65 - <slaveservers>  
66 - </slaveservers>  
67 - <clusterschemas>  
68 - </clusterschemas>  
69 - <created_user>-</created_user>  
70 - <created_date>2016&#x2f;06&#x2f;30 12&#x3a;21&#x3a;57.536</created_date>  
71 - <modified_user>-</modified_user>  
72 - <modified_date>2016&#x2f;06&#x2f;30 12&#x3a;21&#x3a;57.536</modified_date>  
73 - <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</key_for_session_key>  
74 - <is_key_private>N</is_key_private>  
75 - </info>  
76 - <notepads>  
77 - <notepad>  
78 - <note>&#x5b57;&#x5178;&#x8868;&#x5bf9;&#x5e94;&#xff08;&#x4ee5;&#x540e;&#x76f4;&#x63a5;&#x67e5;&#x627e;&#x8868; bsth_c_sys_dictionary&#xff09;&#xa;&#x7c7b;&#x578b; &#x4ee3;&#x7801; &#x540d;&#x79f0;&#xa;LineTrend 0 &#x4e0a;&#x884c;&#xa;LineTrend 1 &#x4e0b;&#x884c;&#xa;ScheduleType normal &#x6b63;&#x5e38;&#x73ed;&#x6b21;&#xa;ScheduleType out &#x51fa;&#x573a;&#xa;ScheduleType in &#x8fdb;&#x573a;&#xa;ScheduleType temp &#x4e34;&#x52a0;&#xa;ScheduleType region &#x533a;&#x95f4;&#xa;ScheduleType venting &#x653e;&#x7a7a;&#xa;ScheduleType major &#x653e;&#x5927;&#x7ad9;</note>  
79 - <xloc>606</xloc>  
80 - <yloc>129</yloc>  
81 - <width>332</width>  
82 - <heigth>186</heigth>  
83 - <fontname>YaHei Consolas Hybrid</fontname>  
84 - <fontsize>12</fontsize>  
85 - <fontbold>N</fontbold>  
86 - <fontitalic>N</fontitalic>  
87 - <fontcolorred>0</fontcolorred>  
88 - <fontcolorgreen>0</fontcolorgreen>  
89 - <fontcolorblue>0</fontcolorblue>  
90 - <backgroundcolorred>255</backgroundcolorred>  
91 - <backgroundcolorgreen>205</backgroundcolorgreen>  
92 - <backgroundcolorblue>112</backgroundcolorblue>  
93 - <bordercolorred>100</bordercolorred>  
94 - <bordercolorgreen>100</bordercolorgreen>  
95 - <bordercolorblue>100</bordercolorblue>  
96 - <drawshadow>Y</drawshadow>  
97 - </notepad>  
98 - <notepad>  
99 - <note>&#x56e0;&#x4e3a;&#x65f6;&#x523b;&#x8868;&#x8f93;&#x5165;&#x683c;&#x5f0f;&#x4e0d;&#x786e;&#x5b9a;&#x6027;&#xff0c;&#x4e3b;&#x8981;&#x56e0;&#x4e3a;&#x8868;&#x7ed3;&#x6784;&#x662f;&#x53cd;&#x8303;&#x5f0f;&#x5316;&#x7684;&#xff0c;&#xa;&#x6240;&#x4ee5;&#x9700;&#x8981;&#x5916;&#x90e8;&#x52a8;&#x6001;&#x6307;&#x5b9a;&#x613f;&#x6570;&#x636e;&#xff0c;&#x5934;&#x4e09;&#x4e2a;step&#x52a8;&#x6001;&#x6307;&#x5b9a;&#x613f;&#x6570;&#x636e;&#xa;&#xa;</note>  
100 - <xloc>79</xloc>  
101 - <yloc>206</yloc>  
102 - <width>346</width>  
103 - <heigth>74</heigth>  
104 - <fontname>YaHei Consolas Hybrid</fontname>  
105 - <fontsize>12</fontsize>  
106 - <fontbold>N</fontbold>  
107 - <fontitalic>N</fontitalic>  
108 - <fontcolorred>0</fontcolorred>  
109 - <fontcolorgreen>0</fontcolorgreen>  
110 - <fontcolorblue>0</fontcolorblue>  
111 - <backgroundcolorred>255</backgroundcolorred>  
112 - <backgroundcolorgreen>205</backgroundcolorgreen>  
113 - <backgroundcolorblue>112</backgroundcolorblue>  
114 - <bordercolorred>100</bordercolorred>  
115 - <bordercolorgreen>100</bordercolorgreen>  
116 - <bordercolorblue>100</bordercolorblue>  
117 - <drawshadow>Y</drawshadow>  
118 - </notepad>  
119 - </notepads>  
120 - <connection>  
121 - <name>bus_control_variable</name>  
122 - <server>&#x24;&#x7b;v_db_ip&#x7d;</server>  
123 - <type>MYSQL</type>  
124 - <access>Native</access>  
125 - <database>&#x24;&#x7b;v_db_dname&#x7d;</database>  
126 - <port>3306</port>  
127 - <username>&#x24;&#x7b;v_db_uname&#x7d;</username>  
128 - <password>&#x24;&#x7b;v_db_pwd&#x7d;</password>  
129 - <servername/>  
130 - <data_tablespace/>  
131 - <index_tablespace/>  
132 - <attributes>  
133 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
134 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
135 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
136 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
137 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
138 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
139 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
140 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
141 - <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>  
142 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
143 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
144 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
145 - </attributes>  
146 - </connection>  
147 - <connection>  
148 - <name>bus_control_&#x516c;&#x53f8;_201</name>  
149 - <server>localhost</server>  
150 - <type>MYSQL</type>  
151 - <access>Native</access>  
152 - <database>control</database>  
153 - <port>3306</port>  
154 - <username>root</username>  
155 - <password>Encrypted </password>  
156 - <servername/>  
157 - <data_tablespace/>  
158 - <index_tablespace/>  
159 - <attributes>  
160 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
161 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
162 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
163 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
164 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
165 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
166 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
167 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
168 - <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>  
169 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
170 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
171 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
172 - </attributes>  
173 - </connection>  
174 - <connection>  
175 - <name>bus_control_&#x672c;&#x673a;</name>  
176 - <server>localhost</server>  
177 - <type>MYSQL</type>  
178 - <access>Native</access>  
179 - <database>control</database>  
180 - <port>3306</port>  
181 - <username>root</username>  
182 - <password>Encrypted </password>  
183 - <servername/>  
184 - <data_tablespace/>  
185 - <index_tablespace/>  
186 - <attributes>  
187 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
188 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
189 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
190 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
191 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
192 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
193 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
194 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
195 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
196 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
197 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
198 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
199 - </attributes>  
200 - </connection>  
201 - <connection>  
202 - <name>xlab_mysql_youle</name>  
203 - <server>101.231.124.8</server>  
204 - <type>MYSQL</type>  
205 - <access>Native</access>  
206 - <database>xlab_youle</database>  
207 - <port>45687</port>  
208 - <username>xlab-youle</username>  
209 - <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password>  
210 - <servername/>  
211 - <data_tablespace/>  
212 - <index_tablespace/>  
213 - <attributes>  
214 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
215 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
216 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
217 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
218 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
219 - <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute>  
220 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
221 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
222 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
223 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>  
224 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>  
225 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
226 - </attributes>  
227 - </connection>  
228 - <connection>  
229 - <name>xlab_mysql_youle&#xff08;&#x672c;&#x673a;&#xff09;</name>  
230 - <server>localhost</server>  
231 - <type>MYSQL</type>  
232 - <access>Native</access>  
233 - <database>xlab_youle</database>  
234 - <port>3306</port>  
235 - <username>root</username>  
236 - <password>Encrypted </password>  
237 - <servername/>  
238 - <data_tablespace/>  
239 - <index_tablespace/>  
240 - <attributes>  
241 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
242 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
243 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
244 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
245 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
246 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
247 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
248 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
249 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
250 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>  
251 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>  
252 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
253 - </attributes>  
254 - </connection>  
255 - <connection>  
256 - <name>xlab_youle</name>  
257 - <server/>  
258 - <type>MYSQL</type>  
259 - <access>JNDI</access>  
260 - <database>xlab_youle</database>  
261 - <port>1521</port>  
262 - <username/>  
263 - <password>Encrypted </password>  
264 - <servername/>  
265 - <data_tablespace/>  
266 - <index_tablespace/>  
267 - <attributes>  
268 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
269 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
270 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
271 - <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>  
272 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
273 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
274 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
275 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
276 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
277 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
278 - </attributes>  
279 - </connection>  
280 - <order>  
281 - <hop> <from>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</from><to>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</to><enabled>Y</enabled> </hop>  
282 - <hop> <from>&#x6dfb;&#x52a0;&#x53d1;&#x8f66;&#x987a;&#x5e8f;&#x53f7;</from><to>&#x8fc7;&#x6ee4;&#x8bb0;&#x5f55;&#xff08;&#x53d1;&#x8f66;&#x65f6;&#x95f4;&#x4e3a;&#x7a7a;&#xff09;</to><enabled>Y</enabled> </hop>  
283 - <hop> <from>&#x8fc7;&#x6ee4;&#x8bb0;&#x5f55;&#xff08;&#x53d1;&#x8f66;&#x65f6;&#x95f4;&#x4e3a;&#x7a7a;&#xff09;</from><to>&#x6dfb;&#x52a0;&#x5bf9;&#x5e94;&#x73ed;&#x6b21;&#x6570;</to><enabled>Y</enabled> </hop>  
284 - <hop> <from>&#x6dfb;&#x52a0;&#x5bf9;&#x5e94;&#x73ed;&#x6b21;&#x6570;</from><to>&#x5904;&#x7406;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>  
285 - <hop> <from>&#x5904;&#x7406;&#x6570;&#x636e;</from><to>&#x5206;&#x7ec4;&#x5404;&#x4e2a;&#x8def;&#x724c;&#x7684;&#x7ad9;</to><enabled>Y</enabled> </hop>  
286 - <hop> <from>&#x67e5;&#x627e;&#x65f6;&#x523b;&#x8868;&#x57fa;&#x7840;&#x4fe1;&#x606f;&#x5173;&#x8054;</from><to>&#x67e5;&#x627e;&#x8def;&#x724c;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop>  
287 - <hop> <from>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x5173;&#x8054;</from><to>&#x67e5;&#x627e;&#x65f6;&#x523b;&#x8868;&#x57fa;&#x7840;&#x4fe1;&#x606f;&#x5173;&#x8054;</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>  
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;&#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>  
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>  
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;&#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>  
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>  
300 - <hop> <from>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x6570;&#x636e;</from><to>&#x6b63;&#x5e38;&#x73ed;&#x6b21;_&#x5904;&#x7406;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>  
301 - <hop> <from>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178;</from><to>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x4e0a;&#x4e0b;&#x884c;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>  
302 - <hop> <from>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 2</from><to>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x51fa;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>  
303 - <hop> <from>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 3</from><to>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x8fdb;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>  
304 - <hop> <from>&#x67e5;&#x627e;&#x8def;&#x724c;&#x5173;&#x8054;</from><to>&#x8ba1;&#x7b97;&#x73ed;&#x6b21;&#x7c7b;&#x578b;</to><enabled>Y</enabled> </hop>  
305 - <hop> <from>&#x8ba1;&#x7b97;&#x73ed;&#x6b21;&#x7c7b;&#x578b;</from><to>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;1</to><enabled>Y</enabled> </hop>  
306 - <hop> <from>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</from><to>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;1</to><enabled>Y</enabled> </hop>  
307 - <hop> <from>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;1</from><to>&#x51fa;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x7ec8;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</to><enabled>Y</enabled> </hop>  
308 - <hop> <from>&#x51fa;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x7ec8;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</from><to>&#x67e5;&#x627e;&#x51fa;&#x573a;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</to><enabled>Y</enabled> </hop>  
309 - <hop> <from>&#x67e5;&#x627e;&#x51fa;&#x573a;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</from><to>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 2</to><enabled>Y</enabled> </hop>  
310 - <hop> <from>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</from><to>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;2</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>  
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>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</from><to>&#x6dfb;&#x52a0;&#x53d1;&#x8f66;&#x987a;&#x5e8f;&#x53f7;</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>  
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>  
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>  
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>  
319 - <hop> <from>&#x7c7b;&#x578b;&#x4fee;&#x6b63;</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail</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>  
328 - </order>  
329 - <step>  
330 - <name>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178;</name>  
331 - <type>ValueMapper</type>  
332 - <description/>  
333 - <distribute>Y</distribute>  
334 - <custom_distribution/>  
335 - <copies>1</copies>  
336 - <partitioning>  
337 - <method>none</method>  
338 - <schema_name/>  
339 - </partitioning>  
340 - <field_to_use>sxx</field_to_use>  
341 - <target_field>sxx_desc</target_field>  
342 - <non_match_default/>  
343 - <fields>  
344 - <field>  
345 - <source_value>0</source_value>  
346 - <target_value>&#x4e0a;&#x884c;</target_value>  
347 - </field>  
348 - <field>  
349 - <source_value>1</source_value>  
350 - <target_value>&#x4e0b;&#x884c;</target_value>  
351 - </field>  
352 - </fields>  
353 - <cluster_schema/>  
354 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
355 - <xloc>147</xloc>  
356 - <yloc>403</yloc>  
357 - <draw>Y</draw>  
358 - </GUI>  
359 - </step>  
360 -  
361 - <step>  
362 - <name>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 2</name>  
363 - <type>ValueMapper</type>  
364 - <description/>  
365 - <distribute>Y</distribute>  
366 - <custom_distribution/>  
367 - <copies>1</copies>  
368 - <partitioning>  
369 - <method>none</method>  
370 - <schema_name/>  
371 - </partitioning>  
372 - <field_to_use>sxx</field_to_use>  
373 - <target_field>sxx_desc</target_field>  
374 - <non_match_default/>  
375 - <fields>  
376 - <field>  
377 - <source_value>0</source_value>  
378 - <target_value>&#x4e0a;&#x884c;</target_value>  
379 - </field>  
380 - <field>  
381 - <source_value>1</source_value>  
382 - <target_value>&#x4e0b;&#x884c;</target_value>  
383 - </field>  
384 - </fields>  
385 - <cluster_schema/>  
386 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
387 - <xloc>331</xloc>  
388 - <yloc>598</yloc>  
389 - <draw>Y</draw>  
390 - </GUI>  
391 - </step>  
392 -  
393 - <step>  
394 - <name>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 3</name>  
395 - <type>ValueMapper</type>  
396 - <description/>  
397 - <distribute>Y</distribute>  
398 - <custom_distribution/>  
399 - <copies>1</copies>  
400 - <partitioning>  
401 - <method>none</method>  
402 - <schema_name/>  
403 - </partitioning>  
404 - <field_to_use>sxx</field_to_use>  
405 - <target_field>sxx_desc</target_field>  
406 - <non_match_default/>  
407 - <fields>  
408 - <field>  
409 - <source_value>0</source_value>  
410 - <target_value>&#x4e0a;&#x884c;</target_value>  
411 - </field>  
412 - <field>  
413 - <source_value>1</source_value>  
414 - <target_value>&#x4e0b;&#x884c;</target_value>  
415 - </field>  
416 - </fields>  
417 - <cluster_schema/>  
418 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
419 - <xloc>553</xloc>  
420 - <yloc>859</yloc>  
421 - <draw>Y</draw>  
422 - </GUI>  
423 - </step>  
424 -  
425 - <step>  
426 - <name>&#x51fa;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x7ec8;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</name>  
427 - <type>ScriptValueMod</type>  
428 - <description/>  
429 - <distribute>Y</distribute>  
430 - <custom_distribution/>  
431 - <copies>1</copies>  
432 - <partitioning>  
433 - <method>none</method>  
434 - <schema_name/>  
435 - </partitioning>  
436 - <compatible>N</compatible>  
437 - <optimizationLevel>9</optimizationLevel>  
438 - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>  
439 - <jsScript_name>Script 1</jsScript_name>  
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>  
441 - </jsScript> </jsScripts> <fields> <field> <name>zdzname</name>  
442 - <rename>zdzname</rename>  
443 - <type>String</type>  
444 - <length>-1</length>  
445 - <precision>-1</precision>  
446 - <replace>N</replace>  
447 - </field> <field> <name>endZdtype</name>  
448 - <rename>endZdtype</rename>  
449 - <type>String</type>  
450 - <length>-1</length>  
451 - <precision>-1</precision>  
452 - <replace>N</replace>  
453 - </field> </fields> <cluster_schema/>  
454 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
455 - <xloc>575</xloc>  
456 - <yloc>502</yloc>  
457 - <draw>Y</draw>  
458 - </GUI>  
459 - </step>  
460 -  
461 - <step>  
462 - <name>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</name>  
463 - <type>Dummy</type>  
464 - <description/>  
465 - <distribute>Y</distribute>  
466 - <custom_distribution/>  
467 - <copies>1</copies>  
468 - <partitioning>  
469 - <method>none</method>  
470 - <schema_name/>  
471 - </partitioning>  
472 - <cluster_schema/>  
473 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
474 - <xloc>869</xloc>  
475 - <yloc>504</yloc>  
476 - <draw>Y</draw>  
477 - </GUI>  
478 - </step>  
479 -  
480 - <step>  
481 - <name>&#x5206;&#x7ec4;&#x5404;&#x4e2a;&#x8def;&#x724c;&#x7684;&#x7ad9;</name>  
482 - <type>GroupBy</type>  
483 - <description/>  
484 - <distribute>Y</distribute>  
485 - <custom_distribution/>  
486 - <copies>1</copies>  
487 - <partitioning>  
488 - <method>none</method>  
489 - <schema_name/>  
490 - </partitioning>  
491 - <all_rows>Y</all_rows>  
492 - <ignore_aggregate>N</ignore_aggregate>  
493 - <field_ignore/>  
494 - <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>  
495 - <prefix>grp</prefix>  
496 - <add_linenr>Y</add_linenr>  
497 - <linenr_fieldname>gno</linenr_fieldname>  
498 - <give_back_row>N</give_back_row>  
499 - <group>  
500 - <field>  
501 - <name>lp</name>  
502 - </field>  
503 - </group>  
504 - <fields>  
505 - <field>  
506 - <aggregate>qdzgroups</aggregate>  
507 - <subject>qdzname</subject>  
508 - <type>CONCAT_STRING</type>  
509 - <valuefield>,</valuefield>  
510 - </field>  
511 - </fields>  
512 - <cluster_schema/>  
513 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
514 - <xloc>892</xloc>  
515 - <yloc>44</yloc>  
516 - <draw>Y</draw>  
517 - </GUI>  
518 - </step>  
519 -  
520 - <step>  
521 - <name>&#x5339;&#x914d;&#x4e0a;&#x4e0b;&#x884c;&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>  
522 - <type>ScriptValueMod</type>  
523 - <description/>  
524 - <distribute>Y</distribute>  
525 - <custom_distribution/>  
526 - <copies>1</copies>  
527 - <partitioning>  
528 - <method>none</method>  
529 - <schema_name/>  
530 - </partitioning>  
531 - <compatible>N</compatible>  
532 - <optimizationLevel>9</optimizationLevel>  
533 - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>  
534 - <jsScript_name>Script 1</jsScript_name>  
535 - <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var jhlc&#x3b; &#x2f;&#x2f; &#x8ba1;&#x5212;&#x91cc;&#x7a0b;&#xa;var bcsj&#x3b; &#x2f;&#x2f; &#x73ed;&#x6b21;&#x65f6;&#x95f4;&#xa;&#xa;if &#x28;sxx &#x3d;&#x3d; 0&#x29; &#x7b; &#x2f;&#x2f; &#x4e0a;&#x884c;&#xa; jhlc &#x3d; up_mileage&#x3b;&#xa; bcsj &#x3d; up_travel_time&#x3b;&#xa;&#x7d; else &#x7b; &#x2f;&#x2f; sxx &#x3d;&#x3d; 1 &#x4e0b;&#x884c;&#xa; jhlc &#x3d; down_mileage&#x3b;&#xa; bcsj &#x3d; down_travel_time&#x3b;&#xa;&#x7d;</jsScript_script>  
536 - </jsScript> </jsScripts> <fields> <field> <name>jhlc</name>  
537 - <rename>jhlc</rename>  
538 - <type>String</type>  
539 - <length>-1</length>  
540 - <precision>-1</precision>  
541 - <replace>N</replace>  
542 - </field> <field> <name>bcsj</name>  
543 - <rename>bcsj</rename>  
544 - <type>String</type>  
545 - <length>-1</length>  
546 - <precision>-1</precision>  
547 - <replace>N</replace>  
548 - </field> </fields> <cluster_schema/>  
549 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
550 - <xloc>148</xloc>  
551 - <yloc>674</yloc>  
552 - <draw>Y</draw>  
553 - </GUI>  
554 - </step>  
555 -  
556 - <step>  
557 - <name>&#x5339;&#x914d;&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>  
558 - <type>ScriptValueMod</type>  
559 - <description/>  
560 - <distribute>Y</distribute>  
561 - <custom_distribution/>  
562 - <copies>1</copies>  
563 - <partitioning>  
564 - <method>none</method>  
565 - <schema_name/>  
566 - </partitioning>  
567 - <compatible>N</compatible>  
568 - <optimizationLevel>9</optimizationLevel>  
569 - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>  
570 - <jsScript_name>Script 1</jsScript_name>  
571 - <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>  
572 - </jsScript> </jsScripts> <fields> <field> <name>out_mileage</name>  
573 - <rename>out_mileage</rename>  
574 - <type>String</type>  
575 - <length>-1</length>  
576 - <precision>-1</precision>  
577 - <replace>N</replace>  
578 - </field> <field> <name>out_time</name>  
579 - <rename>out_time</rename>  
580 - <type>String</type>  
581 - <length>-1</length>  
582 - <precision>-1</precision>  
583 - <replace>N</replace>  
584 - </field> </fields> <cluster_schema/>  
585 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
586 - <xloc>336</xloc>  
587 - <yloc>862</yloc>  
588 - <draw>Y</draw>  
589 - </GUI>  
590 - </step>  
591 -  
592 - <step>  
593 - <name>&#x5339;&#x914d;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>  
594 - <type>ScriptValueMod</type>  
595 - <description/>  
596 - <distribute>Y</distribute>  
597 - <custom_distribution/>  
598 - <copies>1</copies>  
599 - <partitioning>  
600 - <method>none</method>  
601 - <schema_name/>  
602 - </partitioning>  
603 - <compatible>N</compatible>  
604 - <optimizationLevel>9</optimizationLevel>  
605 - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>  
606 - <jsScript_name>Script 1</jsScript_name>  
607 - <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>  
608 - </jsScript> </jsScripts> <fields> <field> <name>parade_mileage</name>  
609 - <rename>parade_mileage</rename>  
610 - <type>String</type>  
611 - <length>-1</length>  
612 - <precision>-1</precision>  
613 - <replace>N</replace>  
614 - </field> <field> <name>parade_time</name>  
615 - <rename>parade_time</rename>  
616 - <type>String</type>  
617 - <length>-1</length>  
618 - <precision>-1</precision>  
619 - <replace>N</replace>  
620 - </field> </fields> <cluster_schema/>  
621 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
622 - <xloc>726</xloc>  
623 - <yloc>1005</yloc>  
624 - <draw>Y</draw>  
625 - </GUI>  
626 - </step>  
627 -  
628 - <step>  
629 - <name>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;&#xff0c;&#x7ebf;&#x8def;&#x540d;&#x5b57;&#xff0c;&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</name>  
630 - <type>DataGrid</type>  
631 - <description/>  
632 - <distribute>Y</distribute>  
633 - <custom_distribution/>  
634 - <copies>1</copies>  
635 - <partitioning>  
636 - <method>none</method>  
637 - <schema_name/>  
638 - </partitioning>  
639 - <fields>  
640 - </fields>  
641 - <data>  
642 - <line> </line>  
643 - </data>  
644 - <cluster_schema/>  
645 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
646 - <xloc>110</xloc>  
647 - <yloc>133</yloc>  
648 - <draw>Y</draw>  
649 - </GUI>  
650 - </step>  
651 -  
652 - <step>  
653 - <name>&#x5904;&#x7406;&#x6570;&#x636e;</name>  
654 - <type>ScriptValueMod</type>  
655 - <description/>  
656 - <distribute>Y</distribute>  
657 - <custom_distribution/>  
658 - <copies>1</copies>  
659 - <partitioning>  
660 - <method>none</method>  
661 - <schema_name/>  
662 - </partitioning>  
663 - <compatible>N</compatible>  
664 - <optimizationLevel>9</optimizationLevel>  
665 - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>  
666 - <jsScript_name>Script 1</jsScript_name>  
667 - <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f; &#x4f7f;&#x7528;&#x6b63;&#x5219;&#x8868;&#x8fbe;&#x5f0f;&#x53bb;&#x9664;&#x7ad9;&#x70b9;&#x540d;&#x79f0;&#x4e2d;&#x7684;&#x6570;&#x5b57;&#xa;qdzname &#x3d; qdzname.replace&#x28;&#x2f;&#x5c;d&#x2b;&#x2f;g,&#x27;&#x27;&#x29;&#x3b;&#xa;&#xa;&#x2f;&#x2f; sendtime&#x5904;&#x7406;&#xa;var sendtime_calcu&#x3b;&#xa;if &#x28;sendtime.length &#x21;&#x3d; 5&#x29; &#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 2&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;2, 2&#x29;&#x3b;&#xa;else &#xa; sendtime_calcu &#x3d; sendtime&#x3b;&#xa;&#xa;&#x2f;&#x2f; &#x8bbe;&#x7f6e;&#x5206;&#x73ed;&#xa;var isfb &#x3d; 0&#x3b;&#xa;&#xa;&#x2f;&#x2f; &#x8bbe;&#x7f6e;isCanceled&#xa;var iscanceled &#x3d; 0&#x3b;</jsScript_script>  
668 - </jsScript> </jsScripts> <fields> <field> <name>qdzname</name>  
669 - <rename>qdzname</rename>  
670 - <type>String</type>  
671 - <length>-1</length>  
672 - <precision>-1</precision>  
673 - <replace>Y</replace>  
674 - </field> <field> <name>isfb</name>  
675 - <rename>isfb</rename>  
676 - <type>Integer</type>  
677 - <length>-1</length>  
678 - <precision>-1</precision>  
679 - <replace>N</replace>  
680 - </field> <field> <name>iscanceled</name>  
681 - <rename>iscanceled</rename>  
682 - <type>Integer</type>  
683 - <length>-1</length>  
684 - <precision>-1</precision>  
685 - <replace>N</replace>  
686 - </field> <field> <name>sendtime_calcu</name>  
687 - <rename>sendtime_calcu</rename>  
688 - <type>String</type>  
689 - <length>-1</length>  
690 - <precision>-1</precision>  
691 - <replace>N</replace>  
692 - </field> </fields> <cluster_schema/>  
693 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
694 - <xloc>788</xloc>  
695 - <yloc>44</yloc>  
696 - <draw>Y</draw>  
697 - </GUI>  
698 - </step>  
699 -  
700 - <step>  
701 - <name>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</name>  
702 - <type>SelectValues</type>  
703 - <description/>  
704 - <distribute>Y</distribute>  
705 - <custom_distribution/>  
706 - <copies>1</copies>  
707 - <partitioning>  
708 - <method>none</method>  
709 - <schema_name/>  
710 - </partitioning>  
711 - <fields> <field> <name>&#x8def;&#x724c;</name>  
712 - <rename>lp</rename>  
713 - <length>-2</length>  
714 - <precision>-2</precision>  
715 - </field> <field> <name>&#x7ad9;&#x70b9;&#x540d;&#x79f0;</name>  
716 - <rename>qdzname</rename>  
717 - <length>-2</length>  
718 - <precision>-2</precision>  
719 - </field> <field> <name>&#x53d1;&#x8f66;&#x65f6;&#x95f4;</name>  
720 - <rename>sendtime</rename>  
721 - <length>-2</length>  
722 - <precision>-2</precision>  
723 - </field> <select_unspecified>Y</select_unspecified>  
724 - </fields> <cluster_schema/>  
725 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
726 - <xloc>444</xloc>  
727 - <yloc>131</yloc>  
728 - <draw>Y</draw>  
729 - </GUI>  
730 - </step>  
731 -  
732 - <step>  
733 - <name>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;1</name>  
734 - <type>FilterRows</type>  
735 - <description/>  
736 - <distribute>Y</distribute>  
737 - <custom_distribution/>  
738 - <copies>1</copies>  
739 - <partitioning>  
740 - <method>none</method>  
741 - <schema_name/>  
742 - </partitioning>  
743 -<send_true_to>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x6570;&#x636e;</send_true_to>  
744 -<send_false_to>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</send_false_to>  
745 - <compare>  
746 -<condition>  
747 - <negated>N</negated>  
748 - <leftvalue>bctype</leftvalue>  
749 - <function>&#x3d;</function>  
750 - <rightvalue/>  
751 - <value><name>constant</name><type>String</type><text>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</text><length>-1</length><precision>-1</precision><isnull>N</isnull><mask/></value> </condition>  
752 - </compare>  
753 - <cluster_schema/>  
754 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
755 - <xloc>860</xloc>  
756 - <yloc>401</yloc>  
757 - <draw>Y</draw>  
758 - </GUI>  
759 - </step>  
760 -  
761 - <step>  
762 - <name>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</name>  
763 - <type>FilterRows</type>  
764 - <description/>  
765 - <distribute>Y</distribute>  
766 - <custom_distribution/>  
767 - <copies>1</copies>  
768 - <partitioning>  
769 - <method>none</method>  
770 - <schema_name/>  
771 - </partitioning>  
772 -<send_true_to>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</send_true_to>  
773 -<send_false_to>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</send_false_to>  
774 - <compare>  
775 -<condition>  
776 - <negated>N</negated>  
777 - <leftvalue>bctype</leftvalue>  
778 - <function>&#x3d;</function>  
779 - <rightvalue/>  
780 - <value><name>constant</name><type>String</type><text>&#x51fa;&#x573a;</text><length>-1</length><precision>-1</precision><isnull>N</isnull><mask/></value> </condition>  
781 - </compare>  
782 - <cluster_schema/>  
783 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
784 - <xloc>995</xloc>  
785 - <yloc>503</yloc>  
786 - <draw>Y</draw>  
787 - </GUI>  
788 - </step>  
789 -  
790 - <step>  
791 - <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail</name>  
792 - <type>InsertUpdate</type>  
793 - <description/>  
794 - <distribute>Y</distribute>  
795 - <custom_distribution/>  
796 - <copies>1</copies>  
797 - <partitioning>  
798 - <method>none</method>  
799 - <schema_name/>  
800 - </partitioning>  
801 - <connection>bus_control_variable</connection>  
802 - <commit>100</commit>  
803 - <update_bypassed>N</update_bypassed>  
804 - <lookup>  
805 - <schema/>  
806 - <table>bsth_c_s_ttinfo_detail</table>  
807 - <key>  
808 - <name>xlid</name>  
809 - <field>xl</field>  
810 - <condition>&#x3d;</condition>  
811 - <name2/>  
812 - </key>  
813 - <key>  
814 - <name>ttid</name>  
815 - <field>ttinfo</field>  
816 - <condition>&#x3d;</condition>  
817 - <name2/>  
818 - </key>  
819 - <key>  
820 - <name>lpid</name>  
821 - <field>lp</field>  
822 - <condition>&#x3d;</condition>  
823 - <name2/>  
824 - </key>  
825 - <key>  
826 - <name>fcno</name>  
827 - <field>fcno</field>  
828 - <condition>&#x3d;</condition>  
829 - <name2/>  
830 - </key>  
831 - <key>  
832 - <name>bcs</name>  
833 - <field>bcs</field>  
834 - <condition>&#x3d;</condition>  
835 - <name2/>  
836 - </key>  
837 - <value>  
838 - <name>lp</name>  
839 - <rename>lpid</rename>  
840 - <update>Y</update>  
841 - </value>  
842 - <value>  
843 - <name>bc_type</name>  
844 - <rename>bctype_code</rename>  
845 - <update>Y</update>  
846 - </value>  
847 - <value>  
848 - <name>bcs</name>  
849 - <rename>bcs</rename>  
850 - <update>Y</update>  
851 - </value>  
852 - <value>  
853 - <name>bcsj</name>  
854 - <rename>bcsj</rename>  
855 - <update>Y</update>  
856 - </value>  
857 - <value>  
858 - <name>fcno</name>  
859 - <rename>fcno</rename>  
860 - <update>Y</update>  
861 - </value>  
862 - <value>  
863 - <name>jhlc</name>  
864 - <rename>jhlc</rename>  
865 - <update>Y</update>  
866 - </value>  
867 - <value>  
868 - <name>fcsj</name>  
869 - <rename>sendtime_calcu</rename>  
870 - <update>Y</update>  
871 - </value>  
872 - <value>  
873 - <name>ttinfo</name>  
874 - <rename>ttid</rename>  
875 - <update>Y</update>  
876 - </value>  
877 - <value>  
878 - <name>xl</name>  
879 - <rename>xlid</rename>  
880 - <update>Y</update>  
881 - </value>  
882 - <value>  
883 - <name>qdz</name>  
884 - <rename>qdzid</rename>  
885 - <update>Y</update>  
886 - </value>  
887 - <value>  
888 - <name>zdz</name>  
889 - <rename>zdzid</rename>  
890 - <update>Y</update>  
891 - </value>  
892 - <value>  
893 - <name>xl_dir</name>  
894 - <rename>sxx</rename>  
895 - <update>Y</update>  
896 - </value>  
897 - <value>  
898 - <name>isfb</name>  
899 - <rename>isfb</rename>  
900 - <update>Y</update>  
901 - </value>  
902 - </lookup>  
903 - <cluster_schema/>  
904 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
905 - <xloc>143</xloc>  
906 - <yloc>860</yloc>  
907 - <draw>Y</draw>  
908 - </GUI>  
909 - </step>  
910 -  
911 - <step>  
912 - <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail 2</name>  
913 - <type>InsertUpdate</type>  
914 - <description/>  
915 - <distribute>Y</distribute>  
916 - <custom_distribution/>  
917 - <copies>1</copies>  
918 - <partitioning>  
919 - <method>none</method>  
920 - <schema_name/>  
921 - </partitioning>  
922 - <connection>bus_control_variable</connection>  
923 - <commit>100</commit>  
924 - <update_bypassed>N</update_bypassed>  
925 - <lookup>  
926 - <schema/>  
927 - <table>bsth_c_s_ttinfo_detail</table>  
928 - <key>  
929 - <name>xlid</name>  
930 - <field>xl</field>  
931 - <condition>&#x3d;</condition>  
932 - <name2/>  
933 - </key>  
934 - <key>  
935 - <name>ttid</name>  
936 - <field>ttinfo</field>  
937 - <condition>&#x3d;</condition>  
938 - <name2/>  
939 - </key>  
940 - <key>  
941 - <name>lpid</name>  
942 - <field>lp</field>  
943 - <condition>&#x3d;</condition>  
944 - <name2/>  
945 - </key>  
946 - <key>  
947 - <name>fcno</name>  
948 - <field>fcno</field>  
949 - <condition>&#x3d;</condition>  
950 - <name2/>  
951 - </key>  
952 - <key>  
953 - <name>bcs</name>  
954 - <field>bcs</field>  
955 - <condition>&#x3d;</condition>  
956 - <name2/>  
957 - </key>  
958 - <value>  
959 - <name>tcc</name>  
960 - <rename>qdzid</rename>  
961 - <update>Y</update>  
962 - </value>  
963 - <value>  
964 - <name>zdz</name>  
965 - <rename>zdzid</rename>  
966 - <update>Y</update>  
967 - </value>  
968 - <value>  
969 - <name>xl</name>  
970 - <rename>xlid</rename>  
971 - <update>Y</update>  
972 - </value>  
973 - <value>  
974 - <name>ttinfo</name>  
975 - <rename>ttid</rename>  
976 - <update>Y</update>  
977 - </value>  
978 - <value>  
979 - <name>xl_dir</name>  
980 - <rename>sxx</rename>  
981 - <update>Y</update>  
982 - </value>  
983 - <value>  
984 - <name>lp</name>  
985 - <rename>lpid</rename>  
986 - <update>Y</update>  
987 - </value>  
988 - <value>  
989 - <name>jhlc</name>  
990 - <rename>out_mileage</rename>  
991 - <update>Y</update>  
992 - </value>  
993 - <value>  
994 - <name>fcsj</name>  
995 - <rename>sendtime_calcu</rename>  
996 - <update>Y</update>  
997 - </value>  
998 - <value>  
999 - <name>bcsj</name>  
1000 - <rename>out_time</rename>  
1001 - <update>Y</update>  
1002 - </value>  
1003 - <value>  
1004 - <name>bcs</name>  
1005 - <rename>bcs</rename>  
1006 - <update>Y</update>  
1007 - </value>  
1008 - <value>  
1009 - <name>fcno</name>  
1010 - <rename>fcno</rename>  
1011 - <update>Y</update>  
1012 - </value>  
1013 - <value>  
1014 - <name>bc_type</name>  
1015 - <rename>bctype_code</rename>  
1016 - <update>Y</update>  
1017 - </value>  
1018 - <value>  
1019 - <name>isfb</name>  
1020 - <rename>isfb</rename>  
1021 - <update>Y</update>  
1022 - </value>  
1023 - </lookup>  
1024 - <cluster_schema/>  
1025 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1026 - <xloc>342</xloc>  
1027 - <yloc>1031</yloc>  
1028 - <draw>Y</draw>  
1029 - </GUI>  
1030 - </step>  
1031 -  
1032 - <step>  
1033 - <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail 3</name>  
1034 - <type>InsertUpdate</type>  
1035 - <description/>  
1036 - <distribute>Y</distribute>  
1037 - <custom_distribution/>  
1038 - <copies>1</copies>  
1039 - <partitioning>  
1040 - <method>none</method>  
1041 - <schema_name/>  
1042 - </partitioning>  
1043 - <connection>bus_control_variable</connection>  
1044 - <commit>100</commit>  
1045 - <update_bypassed>N</update_bypassed>  
1046 - <lookup>  
1047 - <schema/>  
1048 - <table>bsth_c_s_ttinfo_detail</table>  
1049 - <key>  
1050 - <name>xlid</name>  
1051 - <field>xl</field>  
1052 - <condition>&#x3d;</condition>  
1053 - <name2/>  
1054 - </key>  
1055 - <key>  
1056 - <name>ttid</name>  
1057 - <field>ttinfo</field>  
1058 - <condition>&#x3d;</condition>  
1059 - <name2/>  
1060 - </key>  
1061 - <key>  
1062 - <name>lpid</name>  
1063 - <field>lp</field>  
1064 - <condition>&#x3d;</condition>  
1065 - <name2/>  
1066 - </key>  
1067 - <key>  
1068 - <name>fcno</name>  
1069 - <field>fcno</field>  
1070 - <condition>&#x3d;</condition>  
1071 - <name2/>  
1072 - </key>  
1073 - <key>  
1074 - <name>bcs</name>  
1075 - <field>bcs</field>  
1076 - <condition>&#x3d;</condition>  
1077 - <name2/>  
1078 - </key>  
1079 - <value>  
1080 - <name>fcno</name>  
1081 - <rename>fcno</rename>  
1082 - <update>Y</update>  
1083 - </value>  
1084 - <value>  
1085 - <name>bcs</name>  
1086 - <rename>bcs</rename>  
1087 - <update>Y</update>  
1088 - </value>  
1089 - <value>  
1090 - <name>xl</name>  
1091 - <rename>xlid</rename>  
1092 - <update>Y</update>  
1093 - </value>  
1094 - <value>  
1095 - <name>ttinfo</name>  
1096 - <rename>ttid</rename>  
1097 - <update>Y</update>  
1098 - </value>  
1099 - <value>  
1100 - <name>lp</name>  
1101 - <rename>lpid</rename>  
1102 - <update>Y</update>  
1103 - </value>  
1104 - <value>  
1105 - <name>bc_type</name>  
1106 - <rename>bctype_code</rename>  
1107 - <update>Y</update>  
1108 - </value>  
1109 - <value>  
1110 - <name>bcsj</name>  
1111 - <rename>parade_time</rename>  
1112 - <update>Y</update>  
1113 - </value>  
1114 - <value>  
1115 - <name>jhlc</name>  
1116 - <rename>parade_mileage</rename>  
1117 - <update>Y</update>  
1118 - </value>  
1119 - <value>  
1120 - <name>fcsj</name>  
1121 - <rename>sendtime_calcu</rename>  
1122 - <update>Y</update>  
1123 - </value>  
1124 - <value>  
1125 - <name>xl_dir</name>  
1126 - <rename>sxx2</rename>  
1127 - <update>Y</update>  
1128 - </value>  
1129 - <value>  
1130 - <name>qdz</name>  
1131 - <rename>qdzid</rename>  
1132 - <update>Y</update>  
1133 - </value>  
1134 - <value>  
1135 - <name>tcc</name>  
1136 - <rename>zdzid</rename>  
1137 - <update>Y</update>  
1138 - </value>  
1139 - <value>  
1140 - <name>isfb</name>  
1141 - <rename>isfb</rename>  
1142 - <update>Y</update>  
1143 - </value>  
1144 - </lookup>  
1145 - <cluster_schema/>  
1146 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1147 - <xloc>875</xloc>  
1148 - <yloc>887</yloc>  
1149 - <draw>Y</draw>  
1150 - </GUI>  
1151 - </step>  
1152 -  
1153 - <step>  
1154 - <name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</name>  
1155 - <type>ExcelInput</type>  
1156 - <description/>  
1157 - <distribute>Y</distribute>  
1158 - <custom_distribution/>  
1159 - <copies>1</copies>  
1160 - <partitioning>  
1161 - <method>none</method>  
1162 - <schema_name/>  
1163 - </partitioning>  
1164 - <header>Y</header>  
1165 - <noempty>Y</noempty>  
1166 - <stoponempty>N</stoponempty>  
1167 - <filefield/>  
1168 - <sheetfield/>  
1169 - <sheetrownumfield/>  
1170 - <rownumfield/>  
1171 - <sheetfield/>  
1172 - <filefield/>  
1173 - <limit>0</limit>  
1174 - <encoding/>  
1175 - <add_to_result_filenames>Y</add_to_result_filenames>  
1176 - <accept_filenames>N</accept_filenames>  
1177 - <accept_field/>  
1178 - <accept_stepname/>  
1179 - <file>  
1180 - <name/>  
1181 - <filemask/>  
1182 - <exclude_filemask/>  
1183 - <file_required>N</file_required>  
1184 - <include_subfolders>N</include_subfolders>  
1185 - </file>  
1186 - <fields>  
1187 - </fields>  
1188 - <sheets>  
1189 - <sheet>  
1190 - <name/>  
1191 - <startrow>0</startrow>  
1192 - <startcol>0</startcol>  
1193 - </sheet>  
1194 - </sheets>  
1195 - <strict_types>N</strict_types>  
1196 - <error_ignored>N</error_ignored>  
1197 - <error_line_skipped>N</error_line_skipped>  
1198 - <bad_line_files_destination_directory/>  
1199 - <bad_line_files_extension>warning</bad_line_files_extension>  
1200 - <error_line_files_destination_directory/>  
1201 - <error_line_files_extension>error</error_line_files_extension>  
1202 - <line_number_files_destination_directory/>  
1203 - <line_number_files_extension>line</line_number_files_extension>  
1204 - <shortFileFieldName/>  
1205 - <pathFieldName/>  
1206 - <hiddenFieldName/>  
1207 - <lastModificationTimeFieldName/>  
1208 - <uriNameFieldName/>  
1209 - <rootUriNameFieldName/>  
1210 - <extensionFieldName/>  
1211 - <sizeFieldName/>  
1212 - <spreadsheet_type>JXL</spreadsheet_type>  
1213 - <cluster_schema/>  
1214 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1215 - <xloc>112</xloc>  
1216 - <yloc>44</yloc>  
1217 - <draw>Y</draw>  
1218 - </GUI>  
1219 - </step>  
1220 -  
1221 - <step>  
1222 - <name>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;1</name>  
1223 - <type>DBLookup</type>  
1224 - <description/>  
1225 - <distribute>Y</distribute>  
1226 - <custom_distribution/>  
1227 - <copies>1</copies>  
1228 - <partitioning>  
1229 - <method>none</method>  
1230 - <schema_name/>  
1231 - </partitioning>  
1232 - <connection>bus_control_variable</connection>  
1233 - <cache>N</cache>  
1234 - <cache_load_all>N</cache_load_all>  
1235 - <cache_size>0</cache_size>  
1236 - <lookup>  
1237 - <schema/>  
1238 - <table>bsth_c_car_park</table>  
1239 - <orderby/>  
1240 - <fail_on_multiple>N</fail_on_multiple>  
1241 - <eat_row_on_failure>N</eat_row_on_failure>  
1242 - <key>  
1243 - <name>tccname_</name>  
1244 - <field>park_name</field>  
1245 - <condition>&#x3d;</condition>  
1246 - <name2/>  
1247 - </key>  
1248 - <value>  
1249 - <name>id</name>  
1250 - <rename>qdzid</rename>  
1251 - <default/>  
1252 - <type>Integer</type>  
1253 - </value>  
1254 - </lookup>  
1255 - <cluster_schema/>  
1256 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1257 - <xloc>755</xloc>  
1258 - <yloc>504</yloc>  
1259 - <draw>Y</draw>  
1260 - </GUI>  
1261 - </step>  
1262 -  
1263 - <step>  
1264 - <name>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;2</name>  
1265 - <type>DBLookup</type>  
1266 - <description/>  
1267 - <distribute>Y</distribute>  
1268 - <custom_distribution/>  
1269 - <copies>1</copies>  
1270 - <partitioning>  
1271 - <method>none</method>  
1272 - <schema_name/>  
1273 - </partitioning>  
1274 - <connection>bus_control_variable</connection>  
1275 - <cache>N</cache>  
1276 - <cache_load_all>N</cache_load_all>  
1277 - <cache_size>0</cache_size>  
1278 - <lookup>  
1279 - <schema/>  
1280 - <table>bsth_c_car_park</table>  
1281 - <orderby/>  
1282 - <fail_on_multiple>N</fail_on_multiple>  
1283 - <eat_row_on_failure>N</eat_row_on_failure>  
1284 - <key>  
1285 - <name>tccname_</name>  
1286 - <field>park_name</field>  
1287 - <condition>&#x3d;</condition>  
1288 - <name2/>  
1289 - </key>  
1290 - <value>  
1291 - <name>id</name>  
1292 - <rename>zdzid</rename>  
1293 - <default/>  
1294 - <type>Integer</type>  
1295 - </value>  
1296 - </lookup>  
1297 - <cluster_schema/>  
1298 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1299 - <xloc>887</xloc>  
1300 - <yloc>608</yloc>  
1301 - <draw>Y</draw>  
1302 - </GUI>  
1303 - </step>  
1304 -  
1305 - <step>  
1306 - <name>&#x67e5;&#x627e;&#x51fa;&#x573a;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</name>  
1307 - <type>DBLookup</type>  
1308 - <description/>  
1309 - <distribute>Y</distribute>  
1310 - <custom_distribution/>  
1311 - <copies>1</copies>  
1312 - <partitioning>  
1313 - <method>none</method>  
1314 - <schema_name/>  
1315 - </partitioning>  
1316 - <connection>bus_control_variable</connection>  
1317 - <cache>N</cache>  
1318 - <cache_load_all>N</cache_load_all>  
1319 - <cache_size>0</cache_size>  
1320 - <lookup>  
1321 - <schema/>  
1322 - <table>bsth_c_stationroute</table>  
1323 - <orderby/>  
1324 - <fail_on_multiple>N</fail_on_multiple>  
1325 - <eat_row_on_failure>N</eat_row_on_failure>  
1326 - <key>  
1327 - <name>xlid</name>  
1328 - <field>line</field>  
1329 - <condition>&#x3d;</condition>  
1330 - <name2/>  
1331 - </key>  
1332 - <key>  
1333 - <name>zdzname</name>  
1334 - <field>station_name</field>  
1335 - <condition>&#x3d;</condition>  
1336 - <name2/>  
1337 - </key>  
1338 - <key>  
1339 - <name>endZdtype</name>  
1340 - <field>station_mark</field>  
1341 - <condition>&#x3d;</condition>  
1342 - <name2/>  
1343 - </key>  
1344 - <value>  
1345 - <name>station</name>  
1346 - <rename>zdzid</rename>  
1347 - <default/>  
1348 - <type>Integer</type>  
1349 - </value>  
1350 - <value>  
1351 - <name>directions</name>  
1352 - <rename>sxx</rename>  
1353 - <default/>  
1354 - <type>Integer</type>  
1355 - </value>  
1356 - </lookup>  
1357 - <cluster_schema/>  
1358 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1359 - <xloc>329</xloc>  
1360 - <yloc>505</yloc>  
1361 - <draw>Y</draw>  
1362 - </GUI>  
1363 - </step>  
1364 -  
1365 - <step>  
1366 - <name>&#x67e5;&#x627e;&#x65f6;&#x523b;&#x8868;&#x57fa;&#x7840;&#x4fe1;&#x606f;&#x5173;&#x8054;</name>  
1367 - <type>DBLookup</type>  
1368 - <description/>  
1369 - <distribute>Y</distribute>  
1370 - <custom_distribution/>  
1371 - <copies>1</copies>  
1372 - <partitioning>  
1373 - <method>none</method>  
1374 - <schema_name/>  
1375 - </partitioning>  
1376 - <connection>bus_control_variable</connection>  
1377 - <cache>N</cache>  
1378 - <cache_load_all>N</cache_load_all>  
1379 - <cache_size>0</cache_size>  
1380 - <lookup>  
1381 - <schema/>  
1382 - <table>bsth_c_s_ttinfo</table>  
1383 - <orderby/>  
1384 - <fail_on_multiple>N</fail_on_multiple>  
1385 - <eat_row_on_failure>N</eat_row_on_failure>  
1386 - <key>  
1387 - <name>xlid</name>  
1388 - <field>xl</field>  
1389 - <condition>&#x3d;</condition>  
1390 - <name2/>  
1391 - </key>  
1392 - <key>  
1393 - <name>ttinfoname_</name>  
1394 - <field>name</field>  
1395 - <condition>&#x3d;</condition>  
1396 - <name2/>  
1397 - </key>  
1398 - <key>  
1399 - <name>iscanceled</name>  
1400 - <field>is_cancel</field>  
1401 - <condition>&#x3d;</condition>  
1402 - <name2/>  
1403 - </key>  
1404 - <value>  
1405 - <name>id</name>  
1406 - <rename>ttid</rename>  
1407 - <default/>  
1408 - <type>Integer</type>  
1409 - </value>  
1410 - </lookup>  
1411 - <cluster_schema/>  
1412 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1413 - <xloc>1011</xloc>  
1414 - <yloc>134</yloc>  
1415 - <draw>Y</draw>  
1416 - </GUI>  
1417 - </step>  
1418 -  
1419 - <step>  
1420 - <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x4e0a;&#x4e0b;&#x884c;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>  
1421 - <type>DBLookup</type>  
1422 - <description/>  
1423 - <distribute>Y</distribute>  
1424 - <custom_distribution/>  
1425 - <copies>1</copies>  
1426 - <partitioning>  
1427 - <method>none</method>  
1428 - <schema_name/>  
1429 - </partitioning>  
1430 - <connection>bus_control_variable</connection>  
1431 - <cache>N</cache>  
1432 - <cache_load_all>N</cache_load_all>  
1433 - <cache_size>0</cache_size>  
1434 - <lookup>  
1435 - <schema/>  
1436 - <table>bsth_c_line_information</table>  
1437 - <orderby/>  
1438 - <fail_on_multiple>N</fail_on_multiple>  
1439 - <eat_row_on_failure>N</eat_row_on_failure>  
1440 - <key>  
1441 - <name>xlid</name>  
1442 - <field>line</field>  
1443 - <condition>&#x3d;</condition>  
1444 - <name2/>  
1445 - </key>  
1446 - <value>  
1447 - <name>up_mileage</name>  
1448 - <rename>up_mileage</rename>  
1449 - <default/>  
1450 - <type>Number</type>  
1451 - </value>  
1452 - <value>  
1453 - <name>down_mileage</name>  
1454 - <rename>down_mileage</rename>  
1455 - <default/>  
1456 - <type>Number</type>  
1457 - </value>  
1458 - <value>  
1459 - <name>up_travel_time</name>  
1460 - <rename>up_travel_time</rename>  
1461 - <default/>  
1462 - <type>Number</type>  
1463 - </value>  
1464 - <value>  
1465 - <name>down_travel_time</name>  
1466 - <rename>down_travel_time</rename>  
1467 - <default/>  
1468 - <type>Number</type>  
1469 - </value>  
1470 - </lookup>  
1471 - <cluster_schema/>  
1472 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1473 - <xloc>149</xloc>  
1474 - <yloc>581</yloc>  
1475 - <draw>Y</draw>  
1476 - </GUI>  
1477 - </step>  
1478 -  
1479 - <step>  
1480 - <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x5173;&#x8054;</name>  
1481 - <type>DBLookup</type>  
1482 - <description/>  
1483 - <distribute>Y</distribute>  
1484 - <custom_distribution/>  
1485 - <copies>1</copies>  
1486 - <partitioning>  
1487 - <method>none</method>  
1488 - <schema_name/>  
1489 - </partitioning>  
1490 - <connection>bus_control_variable</connection>  
1491 - <cache>N</cache>  
1492 - <cache_load_all>N</cache_load_all>  
1493 - <cache_size>0</cache_size>  
1494 - <lookup>  
1495 - <schema/>  
1496 - <table>bsth_c_line</table>  
1497 - <orderby/>  
1498 - <fail_on_multiple>N</fail_on_multiple>  
1499 - <eat_row_on_failure>N</eat_row_on_failure>  
1500 - <key>  
1501 - <name>xlname_</name>  
1502 - <field>name</field>  
1503 - <condition>&#x3d;</condition>  
1504 - <name2/>  
1505 - </key>  
1506 - <value>  
1507 - <name>id</name>  
1508 - <rename>xlid</rename>  
1509 - <default/>  
1510 - <type>Integer</type>  
1511 - </value>  
1512 - </lookup>  
1513 - <cluster_schema/>  
1514 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1515 - <xloc>1007</xloc>  
1516 - <yloc>43</yloc>  
1517 - <draw>Y</draw>  
1518 - </GUI>  
1519 - </step>  
1520 -  
1521 - <step>  
1522 - <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x51fa;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>  
1523 - <type>DBLookup</type>  
1524 - <description/>  
1525 - <distribute>Y</distribute>  
1526 - <custom_distribution/>  
1527 - <copies>1</copies>  
1528 - <partitioning>  
1529 - <method>none</method>  
1530 - <schema_name/>  
1531 - </partitioning>  
1532 - <connection>bus_control_variable</connection>  
1533 - <cache>N</cache>  
1534 - <cache_load_all>N</cache_load_all>  
1535 - <cache_size>0</cache_size>  
1536 - <lookup>  
1537 - <schema/>  
1538 - <table>bsth_c_line_information</table>  
1539 - <orderby/>  
1540 - <fail_on_multiple>N</fail_on_multiple>  
1541 - <eat_row_on_failure>N</eat_row_on_failure>  
1542 - <key>  
1543 - <name>xlid</name>  
1544 - <field>line</field>  
1545 - <condition>&#x3d;</condition>  
1546 - <name2/>  
1547 - </key>  
1548 - <value>  
1549 - <name>up_out_timer</name>  
1550 - <rename>up_out_timer</rename>  
1551 - <default/>  
1552 - <type>Number</type>  
1553 - </value>  
1554 - <value>  
1555 - <name>up_out_mileage</name>  
1556 - <rename>up_out_mileage</rename>  
1557 - <default/>  
1558 - <type>Number</type>  
1559 - </value>  
1560 - <value>  
1561 - <name>down_out_timer</name>  
1562 - <rename>down_out_timer</rename>  
1563 - <default/>  
1564 - <type>Number</type>  
1565 - </value>  
1566 - <value>  
1567 - <name>down_out_mileage</name>  
1568 - <rename>down_out_mileage</rename>  
1569 - <default/>  
1570 - <type>Number</type>  
1571 - </value>  
1572 - </lookup>  
1573 - <cluster_schema/>  
1574 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1575 - <xloc>335</xloc>  
1576 - <yloc>763</yloc>  
1577 - <draw>Y</draw>  
1578 - </GUI>  
1579 - </step>  
1580 -  
1581 - <step>  
1582 - <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x8fdb;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>  
1583 - <type>DBLookup</type>  
1584 - <description/>  
1585 - <distribute>Y</distribute>  
1586 - <custom_distribution/>  
1587 - <copies>1</copies>  
1588 - <partitioning>  
1589 - <method>none</method>  
1590 - <schema_name/>  
1591 - </partitioning>  
1592 - <connection>bus_control_variable</connection>  
1593 - <cache>N</cache>  
1594 - <cache_load_all>N</cache_load_all>  
1595 - <cache_size>0</cache_size>  
1596 - <lookup>  
1597 - <schema/>  
1598 - <table>bsth_c_line_information</table>  
1599 - <orderby/>  
1600 - <fail_on_multiple>N</fail_on_multiple>  
1601 - <eat_row_on_failure>N</eat_row_on_failure>  
1602 - <key>  
1603 - <name>xlid</name>  
1604 - <field>line</field>  
1605 - <condition>&#x3d;</condition>  
1606 - <name2/>  
1607 - </key>  
1608 - <value>  
1609 - <name>up_in_mileage</name>  
1610 - <rename>up_in_mileage</rename>  
1611 - <default/>  
1612 - <type>Number</type>  
1613 - </value>  
1614 - <value>  
1615 - <name>up_in_timer</name>  
1616 - <rename>up_in_timer</rename>  
1617 - <default/>  
1618 - <type>Number</type>  
1619 - </value>  
1620 - <value>  
1621 - <name>down_in_mileage</name>  
1622 - <rename>down_in_mileage</rename>  
1623 - <default/>  
1624 - <type>Number</type>  
1625 - </value>  
1626 - <value>  
1627 - <name>down_in_timer</name>  
1628 - <rename>down_in_timer</rename>  
1629 - <default/>  
1630 - <type>Number</type>  
1631 - </value>  
1632 - </lookup>  
1633 - <cluster_schema/>  
1634 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1635 - <xloc>553</xloc>  
1636 - <yloc>1004</yloc>  
1637 - <draw>Y</draw>  
1638 - </GUI>  
1639 - </step>  
1640 -  
1641 - <step>  
1642 - <name>&#x67e5;&#x627e;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;</name>  
1643 - <type>DBLookup</type>  
1644 - <description/>  
1645 - <distribute>Y</distribute>  
1646 - <custom_distribution/>  
1647 - <copies>1</copies>  
1648 - <partitioning>  
1649 - <method>none</method>  
1650 - <schema_name/>  
1651 - </partitioning>  
1652 - <connection>bus_control_variable</connection>  
1653 - <cache>N</cache>  
1654 - <cache_load_all>N</cache_load_all>  
1655 - <cache_size>0</cache_size>  
1656 - <lookup>  
1657 - <schema/>  
1658 - <table>bsth_c_stationroute</table>  
1659 - <orderby/>  
1660 - <fail_on_multiple>N</fail_on_multiple>  
1661 - <eat_row_on_failure>N</eat_row_on_failure>  
1662 - <key>  
1663 - <name>xlid</name>  
1664 - <field>line</field>  
1665 - <condition>&#x3d;</condition>  
1666 - <name2/>  
1667 - </key>  
1668 - <key>  
1669 - <name>sxx</name>  
1670 - <field>directions</field>  
1671 - <condition>&#x3d;</condition>  
1672 - <name2/>  
1673 - </key>  
1674 - <key>  
1675 - <name>endZdtype</name>  
1676 - <field>station_mark</field>  
1677 - <condition>&#x3d;</condition>  
1678 - <name2/>  
1679 - </key>  
1680 - <value>  
1681 - <name>station_name</name>  
1682 - <rename>zdzname</rename>  
1683 - <default/>  
1684 - <type>String</type>  
1685 - </value>  
1686 - <value>  
1687 - <name>station</name>  
1688 - <rename>zdzid</rename>  
1689 - <default/>  
1690 - <type>Integer</type>  
1691 - </value>  
1692 - </lookup>  
1693 - <cluster_schema/>  
1694 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1695 - <xloc>280</xloc>  
1696 - <yloc>404</yloc>  
1697 - <draw>Y</draw>  
1698 - </GUI>  
1699 - </step>  
1700 -  
1701 - <step>  
1702 - <name>&#x67e5;&#x627e;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</name>  
1703 - <type>DBLookup</type>  
1704 - <description/>  
1705 - <distribute>Y</distribute>  
1706 - <custom_distribution/>  
1707 - <copies>1</copies>  
1708 - <partitioning>  
1709 - <method>none</method>  
1710 - <schema_name/>  
1711 - </partitioning>  
1712 - <connection>bus_control_variable</connection>  
1713 - <cache>N</cache>  
1714 - <cache_load_all>N</cache_load_all>  
1715 - <cache_size>0</cache_size>  
1716 - <lookup>  
1717 - <schema/>  
1718 - <table>bsth_c_stationroute</table>  
1719 - <orderby/>  
1720 - <fail_on_multiple>N</fail_on_multiple>  
1721 - <eat_row_on_failure>N</eat_row_on_failure>  
1722 - <key>  
1723 - <name>xlid</name>  
1724 - <field>line</field>  
1725 - <condition>&#x3d;</condition>  
1726 - <name2/>  
1727 - </key>  
1728 - <key>  
1729 - <name>qdzname</name>  
1730 - <field>station_name</field>  
1731 - <condition>&#x3d;</condition>  
1732 - <name2/>  
1733 - </key>  
1734 - <key>  
1735 - <name>sendZdtype</name>  
1736 - <field>station_mark</field>  
1737 - <condition>&#x3d;</condition>  
1738 - <name2/>  
1739 - </key>  
1740 - <value>  
1741 - <name>station</name>  
1742 - <rename>qdzid</rename>  
1743 - <default/>  
1744 - <type>Integer</type>  
1745 - </value>  
1746 - <value>  
1747 - <name>directions</name>  
1748 - <rename>sxx</rename>  
1749 - <default/>  
1750 - <type>Integer</type>  
1751 - </value>  
1752 - </lookup>  
1753 - <cluster_schema/>  
1754 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1755 - <xloc>430</xloc>  
1756 - <yloc>403</yloc>  
1757 - <draw>Y</draw>  
1758 - </GUI>  
1759 - </step>  
1760 -  
1761 - <step>  
1762 - <name>&#x67e5;&#x627e;&#x8def;&#x724c;&#x5173;&#x8054;</name>  
1763 - <type>DBLookup</type>  
1764 - <description/>  
1765 - <distribute>Y</distribute>  
1766 - <custom_distribution/>  
1767 - <copies>1</copies>  
1768 - <partitioning>  
1769 - <method>none</method>  
1770 - <schema_name/>  
1771 - </partitioning>  
1772 - <connection>bus_control_variable</connection>  
1773 - <cache>N</cache>  
1774 - <cache_load_all>N</cache_load_all>  
1775 - <cache_size>0</cache_size>  
1776 - <lookup>  
1777 - <schema/>  
1778 - <table>bsth_c_s_gbi</table>  
1779 - <orderby/>  
1780 - <fail_on_multiple>N</fail_on_multiple>  
1781 - <eat_row_on_failure>N</eat_row_on_failure>  
1782 - <key>  
1783 - <name>xlid</name>  
1784 - <field>xl</field>  
1785 - <condition>&#x3d;</condition>  
1786 - <name2/>  
1787 - </key>  
1788 - <key>  
1789 - <name>lp</name>  
1790 - <field>lp_name</field>  
1791 - <condition>&#x3d;</condition>  
1792 - <name2/>  
1793 - </key>  
1794 - <value>  
1795 - <name>id</name>  
1796 - <rename>lpid</rename>  
1797 - <default/>  
1798 - <type>Integer</type>  
1799 - </value>  
1800 - </lookup>  
1801 - <cluster_schema/>  
1802 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1803 - <xloc>1013</xloc>  
1804 - <yloc>265</yloc>  
1805 - <draw>Y</draw>  
1806 - </GUI>  
1807 - </step>  
1808 -  
1809 - <step>  
1810 - <name>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ebf;&#x8def;&#x65b9;&#x5411;</name>  
1811 - <type>DBLookup</type>  
1812 - <description/>  
1813 - <distribute>Y</distribute>  
1814 - <custom_distribution/>  
1815 - <copies>1</copies>  
1816 - <partitioning>  
1817 - <method>none</method>  
1818 - <schema_name/>  
1819 - </partitioning>  
1820 - <connection>bus_control_variable</connection>  
1821 - <cache>N</cache>  
1822 - <cache_load_all>N</cache_load_all>  
1823 - <cache_size>0</cache_size>  
1824 - <lookup>  
1825 - <schema/>  
1826 - <table>bsth_c_stationroute</table>  
1827 - <orderby/>  
1828 - <fail_on_multiple>N</fail_on_multiple>  
1829 - <eat_row_on_failure>N</eat_row_on_failure>  
1830 - <key>  
1831 - <name>xlid</name>  
1832 - <field>line</field>  
1833 - <condition>&#x3d;</condition>  
1834 - <name2/>  
1835 - </key>  
1836 - <key>  
1837 - <name>startZdtype_calcu</name>  
1838 - <field>station_mark</field>  
1839 - <condition>&#x3d;</condition>  
1840 - <name2/>  
1841 - </key>  
1842 - <key>  
1843 - <name>qdzname_calcu</name>  
1844 - <field>station_name</field>  
1845 - <condition>&#x3d;</condition>  
1846 - <name2/>  
1847 - </key>  
1848 - <value>  
1849 - <name>directions</name>  
1850 - <rename>sxx</rename>  
1851 - <default/>  
1852 - <type>String</type>  
1853 - </value>  
1854 - </lookup>  
1855 - <cluster_schema/>  
1856 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1857 - <xloc>548</xloc>  
1858 - <yloc>610</yloc>  
1859 - <draw>Y</draw>  
1860 - </GUI>  
1861 - </step>  
1862 -  
1863 - <step>  
1864 - <name>&#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;</name>  
1865 - <type>DBLookup</type>  
1866 - <description/>  
1867 - <distribute>Y</distribute>  
1868 - <custom_distribution/>  
1869 - <copies>1</copies>  
1870 - <partitioning>  
1871 - <method>none</method>  
1872 - <schema_name/>  
1873 - </partitioning>  
1874 - <connection>bus_control_variable</connection>  
1875 - <cache>N</cache>  
1876 - <cache_load_all>N</cache_load_all>  
1877 - <cache_size>0</cache_size>  
1878 - <lookup>  
1879 - <schema/>  
1880 - <table>bsth_c_stationroute</table>  
1881 - <orderby/>  
1882 - <fail_on_multiple>N</fail_on_multiple>  
1883 - <eat_row_on_failure>N</eat_row_on_failure>  
1884 - <key>  
1885 - <name>xlid</name>  
1886 - <field>line</field>  
1887 - <condition>&#x3d;</condition>  
1888 - <name2/>  
1889 - </key>  
1890 - <key>  
1891 - <name>endZdtype_calcu</name>  
1892 - <field>station_mark</field>  
1893 - <condition>&#x3d;</condition>  
1894 - <name2/>  
1895 - </key>  
1896 - <key>  
1897 - <name>sxx</name>  
1898 - <field>directions</field>  
1899 - <condition>&#x3d;</condition>  
1900 - <name2/>  
1901 - </key>  
1902 - <value>  
1903 - <name>station_name</name>  
1904 - <rename>zdzname_calcu</rename>  
1905 - <default/>  
1906 - <type>Integer</type>  
1907 - </value>  
1908 - </lookup>  
1909 - <cluster_schema/>  
1910 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1911 - <xloc>550</xloc>  
1912 - <yloc>701</yloc>  
1913 - <draw>Y</draw>  
1914 - </GUI>  
1915 - </step>  
1916 -  
1917 - <step>  
1918 - <name>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</name>  
1919 - <type>DBLookup</type>  
1920 - <description/>  
1921 - <distribute>Y</distribute>  
1922 - <custom_distribution/>  
1923 - <copies>1</copies>  
1924 - <partitioning>  
1925 - <method>none</method>  
1926 - <schema_name/>  
1927 - </partitioning>  
1928 - <connection>bus_control_variable</connection>  
1929 - <cache>N</cache>  
1930 - <cache_load_all>N</cache_load_all>  
1931 - <cache_size>0</cache_size>  
1932 - <lookup>  
1933 - <schema/>  
1934 - <table>bsth_c_stationroute</table>  
1935 - <orderby/>  
1936 - <fail_on_multiple>N</fail_on_multiple>  
1937 - <eat_row_on_failure>N</eat_row_on_failure>  
1938 - <key>  
1939 - <name>xlid</name>  
1940 - <field>line</field>  
1941 - <condition>&#x3d;</condition>  
1942 - <name2/>  
1943 - </key>  
1944 - <key>  
1945 - <name>zdzname_calcu</name>  
1946 - <field>station_name</field>  
1947 - <condition>&#x3d;</condition>  
1948 - <name2/>  
1949 - </key>  
1950 - <key>  
1951 - <name>startZdtype_calcu</name>  
1952 - <field>station_mark</field>  
1953 - <condition>&#x3d;</condition>  
1954 - <name2/>  
1955 - </key>  
1956 - <value>  
1957 - <name>directions</name>  
1958 - <rename>sxx2</rename>  
1959 - <default/>  
1960 - <type>Integer</type>  
1961 - </value>  
1962 - <value>  
1963 - <name>station</name>  
1964 - <rename>qdzid</rename>  
1965 - <default/>  
1966 - <type>Integer</type>  
1967 - </value>  
1968 - </lookup>  
1969 - <cluster_schema/>  
1970 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1971 - <xloc>551</xloc>  
1972 - <yloc>782</yloc>  
1973 - <draw>Y</draw>  
1974 - </GUI>  
1975 - </step>  
1976 -  
1977 - <step>  
1978 - <name>&#x6b63;&#x5e38;&#x73ed;&#x6b21;_&#x5904;&#x7406;&#x6570;&#x636e;</name>  
1979 - <type>ScriptValueMod</type>  
1980 - <description/>  
1981 - <distribute>Y</distribute>  
1982 - <custom_distribution/>  
1983 - <copies>1</copies>  
1984 - <partitioning>  
1985 - <method>none</method>  
1986 - <schema_name/>  
1987 - </partitioning>  
1988 - <compatible>N</compatible>  
1989 - <optimizationLevel>9</optimizationLevel>  
1990 - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>  
1991 - <jsScript_name>Script 1</jsScript_name>  
1992 - <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f; &#x6dfb;&#x52a0;&#x7ad9;&#x70b9;&#x6807;&#x8bc6;&#xa;var sendZdtype &#x3d; &#x27;B&#x27;&#x3b;&#xa;var endZdtype &#x3d; &#x27;E&#x27;&#x3b;&#xa;</jsScript_script>  
1993 - </jsScript> </jsScripts> <fields> <field> <name>sendZdtype</name>  
1994 - <rename>sendZdtype</rename>  
1995 - <type>String</type>  
1996 - <length>-1</length>  
1997 - <precision>-1</precision>  
1998 - <replace>N</replace>  
1999 - </field> <field> <name>endZdtype</name>  
2000 - <rename>endZdtype</rename>  
2001 - <type>String</type>  
2002 - <length>-1</length>  
2003 - <precision>-1</precision>  
2004 - <replace>N</replace>  
2005 - </field> </fields> <cluster_schema/>  
2006 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2007 - <xloc>588</xloc>  
2008 - <yloc>403</yloc>  
2009 - <draw>Y</draw>  
2010 - </GUI>  
2011 - </step>  
2012 -  
2013 - <step>  
2014 - <name>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x6570;&#x636e;</name>  
2015 - <type>Dummy</type>  
2016 - <description/>  
2017 - <distribute>Y</distribute>  
2018 - <custom_distribution/>  
2019 - <copies>1</copies>  
2020 - <partitioning>  
2021 - <method>none</method>  
2022 - <schema_name/>  
2023 - </partitioning>  
2024 - <cluster_schema/>  
2025 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2026 - <xloc>725</xloc>  
2027 - <yloc>404</yloc>  
2028 - <draw>Y</draw>  
2029 - </GUI>  
2030 - </step>  
2031 -  
2032 - <step>  
2033 - <name>&#x6dfb;&#x52a0;&#x53d1;&#x8f66;&#x987a;&#x5e8f;&#x53f7;</name>  
2034 - <type>GroupBy</type>  
2035 - <description/>  
2036 - <distribute>Y</distribute>  
2037 - <custom_distribution/>  
2038 - <copies>1</copies>  
2039 - <partitioning>  
2040 - <method>none</method>  
2041 - <schema_name/>  
2042 - </partitioning>  
2043 - <all_rows>Y</all_rows>  
2044 - <ignore_aggregate>N</ignore_aggregate>  
2045 - <field_ignore/>  
2046 - <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>  
2047 - <prefix>grp</prefix>  
2048 - <add_linenr>Y</add_linenr>  
2049 - <linenr_fieldname>fcno</linenr_fieldname>  
2050 - <give_back_row>N</give_back_row>  
2051 - <group>  
2052 - <field>  
2053 - <name>lp</name>  
2054 - </field>  
2055 - </group>  
2056 - <fields>  
2057 - </fields>  
2058 - <cluster_schema/>  
2059 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2060 - <xloc>442</xloc>  
2061 - <yloc>44</yloc>  
2062 - <draw>Y</draw>  
2063 - </GUI>  
2064 - </step>  
2065 -  
2066 - <step>  
2067 - <name>&#x6dfb;&#x52a0;&#x5bf9;&#x5e94;&#x73ed;&#x6b21;&#x6570;</name>  
2068 - <type>GroupBy</type>  
2069 - <description/>  
2070 - <distribute>Y</distribute>  
2071 - <custom_distribution/>  
2072 - <copies>1</copies>  
2073 - <partitioning>  
2074 - <method>none</method>  
2075 - <schema_name/>  
2076 - </partitioning>  
2077 - <all_rows>Y</all_rows>  
2078 - <ignore_aggregate>N</ignore_aggregate>  
2079 - <field_ignore/>  
2080 - <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>  
2081 - <prefix>grp</prefix>  
2082 - <add_linenr>Y</add_linenr>  
2083 - <linenr_fieldname>bcs</linenr_fieldname>  
2084 - <give_back_row>N</give_back_row>  
2085 - <group>  
2086 - </group>  
2087 - <fields>  
2088 - </fields>  
2089 - <cluster_schema/>  
2090 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2091 - <xloc>692</xloc>  
2092 - <yloc>44</yloc>  
2093 - <draw>Y</draw>  
2094 - </GUI>  
2095 - </step>  
2096 -  
2097 - <step>  
2098 - <name>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</name>  
2099 - <type>Normaliser</type>  
2100 - <description/>  
2101 - <distribute>Y</distribute>  
2102 - <custom_distribution/>  
2103 - <copies>1</copies>  
2104 - <partitioning>  
2105 - <method>none</method>  
2106 - <schema_name/>  
2107 - </partitioning>  
2108 - <typefield>&#x7ad9;&#x70b9;&#x540d;&#x79f0;</typefield>  
2109 - <fields> </fields> <cluster_schema/>  
2110 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2111 - <xloc>248</xloc>  
2112 - <yloc>44</yloc>  
2113 - <draw>Y</draw>  
2114 - </GUI>  
2115 - </step>  
2116 -  
2117 - <step>  
2118 - <name>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178;</name>  
2119 - <type>ValueMapper</type>  
2120 - <description/>  
2121 - <distribute>Y</distribute>  
2122 - <custom_distribution/>  
2123 - <copies>1</copies>  
2124 - <partitioning>  
2125 - <method>none</method>  
2126 - <schema_name/>  
2127 - </partitioning>  
2128 - <field_to_use>bctype</field_to_use>  
2129 - <target_field>bctype_code</target_field>  
2130 - <non_match_default>&#x672a;&#x77e5;&#x7c7b;&#x578b;</non_match_default>  
2131 - <fields>  
2132 - <field>  
2133 - <source_value>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</source_value>  
2134 - <target_value>normal</target_value>  
2135 - </field>  
2136 - <field>  
2137 - <source_value>&#x51fa;&#x573a;</source_value>  
2138 - <target_value>out</target_value>  
2139 - </field>  
2140 - <field>  
2141 - <source_value>&#x8fdb;&#x573a;</source_value>  
2142 - <target_value>in</target_value>  
2143 - </field>  
2144 - <field>  
2145 - <source_value>&#x52a0;&#x6cb9;</source_value>  
2146 - <target_value>oil</target_value>  
2147 - </field>  
2148 - <field>  
2149 - <source_value>&#x4e34;&#x52a0;</source_value>  
2150 - <target_value>temp</target_value>  
2151 - </field>  
2152 - <field>  
2153 - <source_value>&#x533a;&#x95f4;</source_value>  
2154 - <target_value>region</target_value>  
2155 - </field>  
2156 - <field>  
2157 - <source_value>&#x653e;&#x7a7a;</source_value>  
2158 - <target_value>venting</target_value>  
2159 - </field>  
2160 - <field>  
2161 - <source_value>&#x653e;&#x5927;&#x7ad9;</source_value>  
2162 - <target_value>major</target_value>  
2163 - </field>  
2164 - </fields>  
2165 - <cluster_schema/>  
2166 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2167 - <xloc>149</xloc>  
2168 - <yloc>491</yloc>  
2169 - <draw>Y</draw>  
2170 - </GUI>  
2171 - </step>  
2172 -  
2173 - <step>  
2174 - <name>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 2</name>  
2175 - <type>ValueMapper</type>  
2176 - <description/>  
2177 - <distribute>Y</distribute>  
2178 - <custom_distribution/>  
2179 - <copies>1</copies>  
2180 - <partitioning>  
2181 - <method>none</method>  
2182 - <schema_name/>  
2183 - </partitioning>  
2184 - <field_to_use>bctype</field_to_use>  
2185 - <target_field>bctype_code</target_field>  
2186 - <non_match_default>&#x672a;&#x77e5;&#x7c7b;&#x578b;</non_match_default>  
2187 - <fields>  
2188 - <field>  
2189 - <source_value>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</source_value>  
2190 - <target_value>normal</target_value>  
2191 - </field>  
2192 - <field>  
2193 - <source_value>&#x51fa;&#x573a;</source_value>  
2194 - <target_value>out</target_value>  
2195 - </field>  
2196 - <field>  
2197 - <source_value>&#x8fdb;&#x573a;</source_value>  
2198 - <target_value>in</target_value>  
2199 - </field>  
2200 - <field>  
2201 - <source_value>&#x52a0;&#x6cb9;</source_value>  
2202 - <target_value>oil</target_value>  
2203 - </field>  
2204 - <field>  
2205 - <source_value>&#x4e34;&#x52a0;</source_value>  
2206 - <target_value>temp</target_value>  
2207 - </field>  
2208 - <field>  
2209 - <source_value>&#x533a;&#x95f4;</source_value>  
2210 - <target_value>region</target_value>  
2211 - </field>  
2212 - <field>  
2213 - <source_value>&#x653e;&#x7a7a;</source_value>  
2214 - <target_value>venting</target_value>  
2215 - </field>  
2216 - <field>  
2217 - <source_value>&#x653e;&#x5927;&#x7ad9;</source_value>  
2218 - <target_value>major</target_value>  
2219 - </field>  
2220 - </fields>  
2221 - <cluster_schema/>  
2222 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2223 - <xloc>333</xloc>  
2224 - <yloc>681</yloc>  
2225 - <draw>Y</draw>  
2226 - </GUI>  
2227 - </step>  
2228 -  
2229 - <step>  
2230 - <name>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 3</name>  
2231 - <type>ValueMapper</type>  
2232 - <description/>  
2233 - <distribute>Y</distribute>  
2234 - <custom_distribution/>  
2235 - <copies>1</copies>  
2236 - <partitioning>  
2237 - <method>none</method>  
2238 - <schema_name/>  
2239 - </partitioning>  
2240 - <field_to_use>bctype</field_to_use>  
2241 - <target_field>bctype_code</target_field>  
2242 - <non_match_default>&#x672a;&#x77e5;&#x7c7b;&#x578b;</non_match_default>  
2243 - <fields>  
2244 - <field>  
2245 - <source_value>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</source_value>  
2246 - <target_value>normal</target_value>  
2247 - </field>  
2248 - <field>  
2249 - <source_value>&#x51fa;&#x573a;</source_value>  
2250 - <target_value>out</target_value>  
2251 - </field>  
2252 - <field>  
2253 - <source_value>&#x8fdb;&#x573a;</source_value>  
2254 - <target_value>in</target_value>  
2255 - </field>  
2256 - <field>  
2257 - <source_value>&#x52a0;&#x6cb9;</source_value>  
2258 - <target_value>oil</target_value>  
2259 - </field>  
2260 - <field>  
2261 - <source_value>&#x4e34;&#x52a0;</source_value>  
2262 - <target_value>temp</target_value>  
2263 - </field>  
2264 - <field>  
2265 - <source_value>&#x533a;&#x95f4;</source_value>  
2266 - <target_value>region</target_value>  
2267 - </field>  
2268 - <field>  
2269 - <source_value>&#x653e;&#x7a7a;</source_value>  
2270 - <target_value>venting</target_value>  
2271 - </field>  
2272 - <field>  
2273 - <source_value>&#x653e;&#x5927;&#x7ad9;</source_value>  
2274 - <target_value>major</target_value>  
2275 - </field>  
2276 - </fields>  
2277 - <cluster_schema/>  
2278 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2279 - <xloc>551</xloc>  
2280 - <yloc>928</yloc>  
2281 - <draw>Y</draw>  
2282 - </GUI>  
2283 - </step>  
2284 -  
2285 - <step>  
2286 - <name>&#x7c7b;&#x578b;&#x4fee;&#x6b63;</name>  
2287 - <type>SelectValues</type>  
2288 - <description/>  
2289 - <distribute>Y</distribute>  
2290 - <custom_distribution/>  
2291 - <copies>1</copies>  
2292 - <partitioning>  
2293 - <method>none</method>  
2294 - <schema_name/>  
2295 - </partitioning>  
2296 - <fields> <select_unspecified>N</select_unspecified>  
2297 - <meta> <name>jhlc</name>  
2298 - <rename>jhlc</rename>  
2299 - <type>Number</type>  
2300 - <length>-2</length>  
2301 - <precision>-2</precision>  
2302 - <conversion_mask/>  
2303 - <date_format_lenient>false</date_format_lenient>  
2304 - <date_format_locale/>  
2305 - <date_format_timezone/>  
2306 - <lenient_string_to_number>false</lenient_string_to_number>  
2307 - <encoding/>  
2308 - <decimal_symbol/>  
2309 - <grouping_symbol/>  
2310 - <currency_symbol/>  
2311 - <storage_type/>  
2312 - </meta> <meta> <name>bcsj</name>  
2313 - <rename>bcsj</rename>  
2314 - <type>Integer</type>  
2315 - <length>-2</length>  
2316 - <precision>-2</precision>  
2317 - <conversion_mask/>  
2318 - <date_format_lenient>false</date_format_lenient>  
2319 - <date_format_locale/>  
2320 - <date_format_timezone/>  
2321 - <lenient_string_to_number>false</lenient_string_to_number>  
2322 - <encoding/>  
2323 - <decimal_symbol/>  
2324 - <grouping_symbol/>  
2325 - <currency_symbol/>  
2326 - <storage_type/>  
2327 - </meta> </fields> <cluster_schema/>  
2328 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2329 - <xloc>146</xloc>  
2330 - <yloc>768</yloc>  
2331 - <draw>Y</draw>  
2332 - </GUI>  
2333 - </step>  
2334 -  
2335 - <step>  
2336 - <name>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 2</name>  
2337 - <type>SelectValues</type>  
2338 - <description/>  
2339 - <distribute>Y</distribute>  
2340 - <custom_distribution/>  
2341 - <copies>1</copies>  
2342 - <partitioning>  
2343 - <method>none</method>  
2344 - <schema_name/>  
2345 - </partitioning>  
2346 - <fields> <select_unspecified>N</select_unspecified>  
2347 - <meta> <name>out_mileage</name>  
2348 - <rename>out_mileage</rename>  
2349 - <type>Number</type>  
2350 - <length>-2</length>  
2351 - <precision>-2</precision>  
2352 - <conversion_mask/>  
2353 - <date_format_lenient>false</date_format_lenient>  
2354 - <date_format_locale/>  
2355 - <date_format_timezone/>  
2356 - <lenient_string_to_number>false</lenient_string_to_number>  
2357 - <encoding/>  
2358 - <decimal_symbol/>  
2359 - <grouping_symbol/>  
2360 - <currency_symbol/>  
2361 - <storage_type/>  
2362 - </meta> <meta> <name>out_time</name>  
2363 - <rename>out_time</rename>  
2364 - <type>Integer</type>  
2365 - <length>-2</length>  
2366 - <precision>-2</precision>  
2367 - <conversion_mask/>  
2368 - <date_format_lenient>false</date_format_lenient>  
2369 - <date_format_locale/>  
2370 - <date_format_timezone/>  
2371 - <lenient_string_to_number>false</lenient_string_to_number>  
2372 - <encoding/>  
2373 - <decimal_symbol/>  
2374 - <grouping_symbol/>  
2375 - <currency_symbol/>  
2376 - <storage_type/>  
2377 - </meta> </fields> <cluster_schema/>  
2378 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2379 - <xloc>338</xloc>  
2380 - <yloc>949</yloc>  
2381 - <draw>Y</draw>  
2382 - </GUI>  
2383 - </step>  
2384 -  
2385 - <step>  
2386 - <name>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 3</name>  
2387 - <type>SelectValues</type>  
2388 - <description/>  
2389 - <distribute>Y</distribute>  
2390 - <custom_distribution/>  
2391 - <copies>1</copies>  
2392 - <partitioning>  
2393 - <method>none</method>  
2394 - <schema_name/>  
2395 - </partitioning>  
2396 - <fields> <select_unspecified>N</select_unspecified>  
2397 - <meta> <name>parade_mileage</name>  
2398 - <rename>parade_mileage</rename>  
2399 - <type>Number</type>  
2400 - <length>-2</length>  
2401 - <precision>-2</precision>  
2402 - <conversion_mask/>  
2403 - <date_format_lenient>false</date_format_lenient>  
2404 - <date_format_locale/>  
2405 - <date_format_timezone/>  
2406 - <lenient_string_to_number>false</lenient_string_to_number>  
2407 - <encoding/>  
2408 - <decimal_symbol/>  
2409 - <grouping_symbol/>  
2410 - <currency_symbol/>  
2411 - <storage_type/>  
2412 - </meta> <meta> <name>parade_time</name>  
2413 - <rename>parade_time</rename>  
2414 - <type>Integer</type>  
2415 - <length>-2</length>  
2416 - <precision>-2</precision>  
2417 - <conversion_mask/>  
2418 - <date_format_lenient>false</date_format_lenient>  
2419 - <date_format_locale/>  
2420 - <date_format_timezone/>  
2421 - <lenient_string_to_number>false</lenient_string_to_number>  
2422 - <encoding/>  
2423 - <decimal_symbol/>  
2424 - <grouping_symbol/>  
2425 - <currency_symbol/>  
2426 - <storage_type/>  
2427 - </meta> </fields> <cluster_schema/>  
2428 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2429 - <xloc>875</xloc>  
2430 - <yloc>1001</yloc>  
2431 - <draw>Y</draw>  
2432 - </GUI>  
2433 - </step>  
2434 -  
2435 - <step>  
2436 - <name>&#x8ba1;&#x7b97;&#x73ed;&#x6b21;&#x7c7b;&#x578b;</name>  
2437 - <type>ValueMapper</type>  
2438 - <description/>  
2439 - <distribute>Y</distribute>  
2440 - <custom_distribution/>  
2441 - <copies>1</copies>  
2442 - <partitioning>  
2443 - <method>none</method>  
2444 - <schema_name/>  
2445 - </partitioning>  
2446 - <field_to_use>qdzname</field_to_use>  
2447 - <target_field>bctype</target_field>  
2448 - <non_match_default>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</non_match_default>  
2449 - <fields>  
2450 - <field>  
2451 - <source_value>&#x51fa;&#x573a;</source_value>  
2452 - <target_value>&#x51fa;&#x573a;</target_value>  
2453 - </field>  
2454 - <field>  
2455 - <source_value>&#x8fdb;&#x573a;</source_value>  
2456 - <target_value>&#x8fdb;&#x573a;</target_value>  
2457 - </field>  
2458 - </fields>  
2459 - <cluster_schema/>  
2460 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2461 - <xloc>1014</xloc>  
2462 - <yloc>401</yloc>  
2463 - <draw>Y</draw>  
2464 - </GUI>  
2465 - </step>  
2466 -  
2467 - <step>  
2468 - <name>&#x8bb0;&#x5f55;&#x5173;&#x8054; &#x28;&#x7b1b;&#x5361;&#x5c14;&#x8f93;&#x51fa;&#x29;</name>  
2469 - <type>JoinRows</type>  
2470 - <description/>  
2471 - <distribute>Y</distribute>  
2472 - <custom_distribution/>  
2473 - <copies>1</copies>  
2474 - <partitioning>  
2475 - <method>none</method>  
2476 - <schema_name/>  
2477 - </partitioning>  
2478 - <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>  
2479 - <prefix>out</prefix>  
2480 - <cache_size>500</cache_size>  
2481 - <main/>  
2482 - <compare>  
2483 -<condition>  
2484 - <negated>N</negated>  
2485 - <leftvalue/>  
2486 - <function>&#x3d;</function>  
2487 - <rightvalue/>  
2488 - </condition>  
2489 - </compare>  
2490 - <cluster_schema/>  
2491 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2492 - <xloc>310</xloc>  
2493 - <yloc>133</yloc>  
2494 - <draw>Y</draw>  
2495 - </GUI>  
2496 - </step>  
2497 -  
2498 - <step>  
2499 - <name>&#x8fc7;&#x6ee4;&#x8bb0;&#x5f55;&#xff08;&#x53d1;&#x8f66;&#x65f6;&#x95f4;&#x4e3a;&#x7a7a;&#xff09;</name>  
2500 - <type>FilterRows</type>  
2501 - <description/>  
2502 - <distribute>Y</distribute>  
2503 - <custom_distribution/>  
2504 - <copies>1</copies>  
2505 - <partitioning>  
2506 - <method>none</method>  
2507 - <schema_name/>  
2508 - </partitioning>  
2509 -<send_true_to/>  
2510 -<send_false_to/>  
2511 - <compare>  
2512 -<condition>  
2513 - <negated>N</negated>  
2514 - <leftvalue>sendtime</leftvalue>  
2515 - <function>IS NOT NULL</function>  
2516 - <rightvalue/>  
2517 - </condition>  
2518 - </compare>  
2519 - <cluster_schema/>  
2520 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2521 - <xloc>571</xloc>  
2522 - <yloc>44</yloc>  
2523 - <draw>Y</draw>  
2524 - </GUI>  
2525 - </step>  
2526 -  
2527 - <step>  
2528 - <name>&#x8fdb;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x8d77;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</name>  
2529 - <type>ScriptValueMod</type>  
2530 - <description/>  
2531 - <distribute>Y</distribute>  
2532 - <custom_distribution/>  
2533 - <copies>1</copies>  
2534 - <partitioning>  
2535 - <method>none</method>  
2536 - <schema_name/>  
2537 - </partitioning>  
2538 - <compatible>N</compatible>  
2539 - <optimizationLevel>9</optimizationLevel>  
2540 - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>  
2541 - <jsScript_name>Script 1</jsScript_name>  
2542 - <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 qdzname_calcu &#x3d; cc_groups&#x5b;gno - 2&#x5d;&#x3b; &#x2f;&#x2f; &#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x70b9;&#x7ad9;&#x662f;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ec8;&#x70b9;&#x7ad9;&#xff0c;&#x8fd9;&#x91cc;&#x53ea;&#x6709;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x70b9;&#x7ad9;&#xff0c;&#x8fd8;&#x9700;&#x8981;&#x8ba1;&#x7b97;&#xa;var startZdtype_calcu &#x3d; &#x27;B&#x27;&#x3b;&#xa;var endZdtype_calcu &#x3d; &#x27;E&#x27;&#x3b;</jsScript_script>  
2543 - </jsScript> </jsScripts> <fields> <field> <name>qdzname_calcu</name>  
2544 - <rename>qdzname_calcu</rename>  
2545 - <type>String</type>  
2546 - <length>-1</length>  
2547 - <precision>-1</precision>  
2548 - <replace>N</replace>  
2549 - </field> <field> <name>startZdtype_calcu</name>  
2550 - <rename>startZdtype_calcu</rename>  
2551 - <type>String</type>  
2552 - <length>-1</length>  
2553 - <precision>-1</precision>  
2554 - <replace>N</replace>  
2555 - </field> <field> <name>endZdtype_calcu</name>  
2556 - <rename>endZdtype_calcu</rename>  
2557 - <type>String</type>  
2558 - <length>-1</length>  
2559 - <precision>-1</precision>  
2560 - <replace>N</replace>  
2561 - </field> </fields> <cluster_schema/>  
2562 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2563 - <xloc>754</xloc>  
2564 - <yloc>610</yloc>  
2565 - <draw>Y</draw>  
2566 - </GUI>  
2567 - </step>  
2568 -  
2569 - <step>  
2570 - <name>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</name>  
2571 - <type>Dummy</type>  
2572 - <description/>  
2573 - <distribute>Y</distribute>  
2574 - <custom_distribution/>  
2575 - <copies>1</copies>  
2576 - <partitioning>  
2577 - <method>none</method>  
2578 - <schema_name/>  
2579 - </partitioning>  
2580 - <cluster_schema/>  
2581 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2582 - <xloc>997</xloc>  
2583 - <yloc>606</yloc>  
2584 - <draw>Y</draw>  
2585 - </GUI>  
2586 - </step>  
2587 -  
2588 - <step_error_handling>  
2589 - </step_error_handling>  
2590 - <slave-step-copy-partition-distribution>  
2591 -</slave-step-copy-partition-distribution>  
2592 - <slave_transformation>N</slave_transformation>  
2593 -  
2594 -</transformation> 1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<transformation>
  3 + <info>
  4 + <name>ttinfodetailDataInput</name>
  5 + <description>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;&#x5bfc;&#x5165;</description>
  6 + <extended_description>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;</extended_description>
  7 + <trans_version/>
  8 + <trans_type>Normal</trans_type>
  9 + <trans_status>0</trans_status>
  10 + <directory>&#x2f;</directory>
  11 + <parameters>
  12 + </parameters>
  13 + <log>
  14 +<trans-log-table><connection/>
  15 +<schema/>
  16 +<table/>
  17 +<size_limit_lines/>
  18 +<interval/>
  19 +<timeout_days/>
  20 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STATUS</id><enabled>Y</enabled><name>STATUS</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name><subject/></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name><subject/></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name><subject/></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name><subject/></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name><subject/></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name><subject/></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>STARTDATE</id><enabled>Y</enabled><name>STARTDATE</name></field><field><id>ENDDATE</id><enabled>Y</enabled><name>ENDDATE</name></field><field><id>LOGDATE</id><enabled>Y</enabled><name>LOGDATE</name></field><field><id>DEPDATE</id><enabled>Y</enabled><name>DEPDATE</name></field><field><id>REPLAYDATE</id><enabled>Y</enabled><name>REPLAYDATE</name></field><field><id>LOG_FIELD</id><enabled>Y</enabled><name>LOG_FIELD</name></field><field><id>EXECUTING_SERVER</id><enabled>N</enabled><name>EXECUTING_SERVER</name></field><field><id>EXECUTING_USER</id><enabled>N</enabled><name>EXECUTING_USER</name></field><field><id>CLIENT</id><enabled>N</enabled><name>CLIENT</name></field></trans-log-table>
  21 +<perf-log-table><connection/>
  22 +<schema/>
  23 +<table/>
  24 +<interval/>
  25 +<timeout_days/>
  26 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>SEQ_NR</id><enabled>Y</enabled><name>SEQ_NR</name></field><field><id>LOGDATE</id><enabled>Y</enabled><name>LOGDATE</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STEPNAME</id><enabled>Y</enabled><name>STEPNAME</name></field><field><id>STEP_COPY</id><enabled>Y</enabled><name>STEP_COPY</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>INPUT_BUFFER_ROWS</id><enabled>Y</enabled><name>INPUT_BUFFER_ROWS</name></field><field><id>OUTPUT_BUFFER_ROWS</id><enabled>Y</enabled><name>OUTPUT_BUFFER_ROWS</name></field></perf-log-table>
  27 +<channel-log-table><connection/>
  28 +<schema/>
  29 +<table/>
  30 +<timeout_days/>
  31 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>LOGGING_OBJECT_TYPE</id><enabled>Y</enabled><name>LOGGING_OBJECT_TYPE</name></field><field><id>OBJECT_NAME</id><enabled>Y</enabled><name>OBJECT_NAME</name></field><field><id>OBJECT_COPY</id><enabled>Y</enabled><name>OBJECT_COPY</name></field><field><id>REPOSITORY_DIRECTORY</id><enabled>Y</enabled><name>REPOSITORY_DIRECTORY</name></field><field><id>FILENAME</id><enabled>Y</enabled><name>FILENAME</name></field><field><id>OBJECT_ID</id><enabled>Y</enabled><name>OBJECT_ID</name></field><field><id>OBJECT_REVISION</id><enabled>Y</enabled><name>OBJECT_REVISION</name></field><field><id>PARENT_CHANNEL_ID</id><enabled>Y</enabled><name>PARENT_CHANNEL_ID</name></field><field><id>ROOT_CHANNEL_ID</id><enabled>Y</enabled><name>ROOT_CHANNEL_ID</name></field></channel-log-table>
  32 +<step-log-table><connection/>
  33 +<schema/>
  34 +<table/>
  35 +<timeout_days/>
  36 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STEPNAME</id><enabled>Y</enabled><name>STEPNAME</name></field><field><id>STEP_COPY</id><enabled>Y</enabled><name>STEP_COPY</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>LOG_FIELD</id><enabled>N</enabled><name>LOG_FIELD</name></field></step-log-table>
  37 +<metrics-log-table><connection/>
  38 +<schema/>
  39 +<table/>
  40 +<timeout_days/>
  41 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>METRICS_DATE</id><enabled>Y</enabled><name>METRICS_DATE</name></field><field><id>METRICS_CODE</id><enabled>Y</enabled><name>METRICS_CODE</name></field><field><id>METRICS_DESCRIPTION</id><enabled>Y</enabled><name>METRICS_DESCRIPTION</name></field><field><id>METRICS_SUBJECT</id><enabled>Y</enabled><name>METRICS_SUBJECT</name></field><field><id>METRICS_TYPE</id><enabled>Y</enabled><name>METRICS_TYPE</name></field><field><id>METRICS_VALUE</id><enabled>Y</enabled><name>METRICS_VALUE</name></field></metrics-log-table>
  42 + </log>
  43 + <maxdate>
  44 + <connection/>
  45 + <table/>
  46 + <field/>
  47 + <offset>0.0</offset>
  48 + <maxdiff>0.0</maxdiff>
  49 + </maxdate>
  50 + <size_rowset>10000</size_rowset>
  51 + <sleep_time_empty>50</sleep_time_empty>
  52 + <sleep_time_full>50</sleep_time_full>
  53 + <unique_connections>N</unique_connections>
  54 + <feedback_shown>Y</feedback_shown>
  55 + <feedback_size>50000</feedback_size>
  56 + <using_thread_priorities>Y</using_thread_priorities>
  57 + <shared_objects_file/>
  58 + <capture_step_performance>N</capture_step_performance>
  59 + <step_performance_capturing_delay>1000</step_performance_capturing_delay>
  60 + <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit>
  61 + <dependencies>
  62 + </dependencies>
  63 + <partitionschemas>
  64 + </partitionschemas>
  65 + <slaveservers>
  66 + </slaveservers>
  67 + <clusterschemas>
  68 + </clusterschemas>
  69 + <created_user>-</created_user>
  70 + <created_date>2016&#x2f;06&#x2f;30 12&#x3a;21&#x3a;57.536</created_date>
  71 + <modified_user>-</modified_user>
  72 + <modified_date>2016&#x2f;06&#x2f;30 12&#x3a;21&#x3a;57.536</modified_date>
  73 + <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</key_for_session_key>
  74 + <is_key_private>N</is_key_private>
  75 + </info>
  76 + <notepads>
  77 + <notepad>
  78 + <note>&#x5b57;&#x5178;&#x8868;&#x5bf9;&#x5e94;&#xff08;&#x4ee5;&#x540e;&#x76f4;&#x63a5;&#x67e5;&#x627e;&#x8868; bsth_c_sys_dictionary&#xff09;&#xa;&#x7c7b;&#x578b; &#x4ee3;&#x7801; &#x540d;&#x79f0;&#xa;LineTrend 0 &#x4e0a;&#x884c;&#xa;LineTrend 1 &#x4e0b;&#x884c;&#xa;ScheduleType normal &#x6b63;&#x5e38;&#x73ed;&#x6b21;&#xa;ScheduleType out &#x51fa;&#x573a;&#xa;ScheduleType in &#x8fdb;&#x573a;&#xa;ScheduleType temp &#x4e34;&#x52a0;&#xa;ScheduleType region &#x533a;&#x95f4;&#xa;ScheduleType venting &#x653e;&#x7a7a;&#xa;ScheduleType major &#x653e;&#x5927;&#x7ad9;</note>
  79 + <xloc>606</xloc>
  80 + <yloc>129</yloc>
  81 + <width>332</width>
  82 + <heigth>186</heigth>
  83 + <fontname>YaHei Consolas Hybrid</fontname>
  84 + <fontsize>12</fontsize>
  85 + <fontbold>N</fontbold>
  86 + <fontitalic>N</fontitalic>
  87 + <fontcolorred>0</fontcolorred>
  88 + <fontcolorgreen>0</fontcolorgreen>
  89 + <fontcolorblue>0</fontcolorblue>
  90 + <backgroundcolorred>255</backgroundcolorred>
  91 + <backgroundcolorgreen>205</backgroundcolorgreen>
  92 + <backgroundcolorblue>112</backgroundcolorblue>
  93 + <bordercolorred>100</bordercolorred>
  94 + <bordercolorgreen>100</bordercolorgreen>
  95 + <bordercolorblue>100</bordercolorblue>
  96 + <drawshadow>Y</drawshadow>
  97 + </notepad>
  98 + <notepad>
  99 + <note>&#x56e0;&#x4e3a;&#x65f6;&#x523b;&#x8868;&#x8f93;&#x5165;&#x683c;&#x5f0f;&#x4e0d;&#x786e;&#x5b9a;&#x6027;&#xff0c;&#x4e3b;&#x8981;&#x56e0;&#x4e3a;&#x8868;&#x7ed3;&#x6784;&#x662f;&#x53cd;&#x8303;&#x5f0f;&#x5316;&#x7684;&#xff0c;&#xa;&#x6240;&#x4ee5;&#x9700;&#x8981;&#x5916;&#x90e8;&#x52a8;&#x6001;&#x6307;&#x5b9a;&#x613f;&#x6570;&#x636e;&#xff0c;&#x5934;&#x4e09;&#x4e2a;step&#x52a8;&#x6001;&#x6307;&#x5b9a;&#x613f;&#x6570;&#x636e;&#xa;&#xa;</note>
  100 + <xloc>79</xloc>
  101 + <yloc>206</yloc>
  102 + <width>346</width>
  103 + <heigth>74</heigth>
  104 + <fontname>YaHei Consolas Hybrid</fontname>
  105 + <fontsize>12</fontsize>
  106 + <fontbold>N</fontbold>
  107 + <fontitalic>N</fontitalic>
  108 + <fontcolorred>0</fontcolorred>
  109 + <fontcolorgreen>0</fontcolorgreen>
  110 + <fontcolorblue>0</fontcolorblue>
  111 + <backgroundcolorred>255</backgroundcolorred>
  112 + <backgroundcolorgreen>205</backgroundcolorgreen>
  113 + <backgroundcolorblue>112</backgroundcolorblue>
  114 + <bordercolorred>100</bordercolorred>
  115 + <bordercolorgreen>100</bordercolorgreen>
  116 + <bordercolorblue>100</bordercolorblue>
  117 + <drawshadow>Y</drawshadow>
  118 + </notepad>
  119 + </notepads>
  120 + <connection>
  121 + <name>bus_control_variable</name>
  122 + <server>&#x24;&#x7b;v_db_ip&#x7d;</server>
  123 + <type>MYSQL</type>
  124 + <access>Native</access>
  125 + <database>&#x24;&#x7b;v_db_dname&#x7d;</database>
  126 + <port>3306</port>
  127 + <username>&#x24;&#x7b;v_db_uname&#x7d;</username>
  128 + <password>&#x24;&#x7b;v_db_pwd&#x7d;</password>
  129 + <servername/>
  130 + <data_tablespace/>
  131 + <index_tablespace/>
  132 + <attributes>
  133 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  134 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  135 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  136 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  137 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  138 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  139 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  140 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  141 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  142 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  143 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  144 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  145 + </attributes>
  146 + </connection>
  147 + <connection>
  148 + <name>bus_control_&#x516c;&#x53f8;_201</name>
  149 + <server>localhost</server>
  150 + <type>MYSQL</type>
  151 + <access>Native</access>
  152 + <database>control</database>
  153 + <port>3306</port>
  154 + <username>root</username>
  155 + <password>Encrypted </password>
  156 + <servername/>
  157 + <data_tablespace/>
  158 + <index_tablespace/>
  159 + <attributes>
  160 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  161 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  162 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  163 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  164 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  165 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  166 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  167 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  168 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  169 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  170 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  171 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  172 + </attributes>
  173 + </connection>
  174 + <connection>
  175 + <name>bus_control_&#x672c;&#x673a;</name>
  176 + <server>localhost</server>
  177 + <type>MYSQL</type>
  178 + <access>Native</access>
  179 + <database>control</database>
  180 + <port>3306</port>
  181 + <username>root</username>
  182 + <password>Encrypted </password>
  183 + <servername/>
  184 + <data_tablespace/>
  185 + <index_tablespace/>
  186 + <attributes>
  187 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  188 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  189 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  190 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  191 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  192 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  193 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  194 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  195 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  196 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  197 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  198 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  199 + </attributes>
  200 + </connection>
  201 + <connection>
  202 + <name>xlab_mysql_youle</name>
  203 + <server>101.231.124.8</server>
  204 + <type>MYSQL</type>
  205 + <access>Native</access>
  206 + <database>xlab_youle</database>
  207 + <port>45687</port>
  208 + <username>xlab-youle</username>
  209 + <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password>
  210 + <servername/>
  211 + <data_tablespace/>
  212 + <index_tablespace/>
  213 + <attributes>
  214 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  215 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  216 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  217 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  218 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  219 + <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute>
  220 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  221 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  222 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  223 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  224 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  225 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  226 + </attributes>
  227 + </connection>
  228 + <connection>
  229 + <name>xlab_mysql_youle&#xff08;&#x672c;&#x673a;&#xff09;</name>
  230 + <server>localhost</server>
  231 + <type>MYSQL</type>
  232 + <access>Native</access>
  233 + <database>xlab_youle</database>
  234 + <port>3306</port>
  235 + <username>root</username>
  236 + <password>Encrypted </password>
  237 + <servername/>
  238 + <data_tablespace/>
  239 + <index_tablespace/>
  240 + <attributes>
  241 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  242 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  243 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  244 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  245 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  246 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  247 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  248 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  249 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  250 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  251 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  252 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  253 + </attributes>
  254 + </connection>
  255 + <connection>
  256 + <name>xlab_youle</name>
  257 + <server/>
  258 + <type>MYSQL</type>
  259 + <access>JNDI</access>
  260 + <database>xlab_youle</database>
  261 + <port>1521</port>
  262 + <username/>
  263 + <password>Encrypted </password>
  264 + <servername/>
  265 + <data_tablespace/>
  266 + <index_tablespace/>
  267 + <attributes>
  268 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  269 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  270 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  271 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  272 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  273 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  274 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  275 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  276 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  277 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  278 + </attributes>
  279 + </connection>
  280 + <order>
  281 + <hop> <from>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</from><to>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</to><enabled>Y</enabled> </hop>
  282 + <hop> <from>&#x6dfb;&#x52a0;&#x53d1;&#x8f66;&#x987a;&#x5e8f;&#x53f7;</from><to>&#x8fc7;&#x6ee4;&#x8bb0;&#x5f55;&#xff08;&#x53d1;&#x8f66;&#x65f6;&#x95f4;&#x4e3a;&#x7a7a;&#xff09;</to><enabled>Y</enabled> </hop>
  283 + <hop> <from>&#x8fc7;&#x6ee4;&#x8bb0;&#x5f55;&#xff08;&#x53d1;&#x8f66;&#x65f6;&#x95f4;&#x4e3a;&#x7a7a;&#xff09;</from><to>&#x6dfb;&#x52a0;&#x5bf9;&#x5e94;&#x73ed;&#x6b21;&#x6570;</to><enabled>Y</enabled> </hop>
  284 + <hop> <from>&#x6dfb;&#x52a0;&#x5bf9;&#x5e94;&#x73ed;&#x6b21;&#x6570;</from><to>&#x5904;&#x7406;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
  285 + <hop> <from>&#x5904;&#x7406;&#x6570;&#x636e;</from><to>&#x5206;&#x7ec4;&#x5404;&#x4e2a;&#x8def;&#x724c;&#x7684;&#x7ad9;</to><enabled>Y</enabled> </hop>
  286 + <hop> <from>&#x67e5;&#x627e;&#x65f6;&#x523b;&#x8868;&#x57fa;&#x7840;&#x4fe1;&#x606f;&#x5173;&#x8054;</from><to>&#x67e5;&#x627e;&#x8def;&#x724c;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop>
  287 + <hop> <from>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x5173;&#x8054;</from><to>&#x67e5;&#x627e;&#x65f6;&#x523b;&#x8868;&#x57fa;&#x7840;&#x4fe1;&#x606f;&#x5173;&#x8054;</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>
  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;&#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>
  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>
  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;&#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>
  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>
  300 + <hop> <from>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x6570;&#x636e;</from><to>&#x6b63;&#x5e38;&#x73ed;&#x6b21;_&#x5904;&#x7406;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
  301 + <hop> <from>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178;</from><to>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x4e0a;&#x4e0b;&#x884c;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>
  302 + <hop> <from>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 2</from><to>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x51fa;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>
  303 + <hop> <from>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 3</from><to>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x8fdb;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>
  304 + <hop> <from>&#x67e5;&#x627e;&#x8def;&#x724c;&#x5173;&#x8054;</from><to>&#x8ba1;&#x7b97;&#x73ed;&#x6b21;&#x7c7b;&#x578b;</to><enabled>Y</enabled> </hop>
  305 + <hop> <from>&#x8ba1;&#x7b97;&#x73ed;&#x6b21;&#x7c7b;&#x578b;</from><to>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;1</to><enabled>Y</enabled> </hop>
  306 + <hop> <from>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</from><to>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;1</to><enabled>Y</enabled> </hop>
  307 + <hop> <from>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;1</from><to>&#x51fa;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x7ec8;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</to><enabled>Y</enabled> </hop>
  308 + <hop> <from>&#x51fa;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x7ec8;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</from><to>&#x67e5;&#x627e;&#x51fa;&#x573a;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</to><enabled>Y</enabled> </hop>
  309 + <hop> <from>&#x67e5;&#x627e;&#x51fa;&#x573a;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</from><to>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 2</to><enabled>Y</enabled> </hop>
  310 + <hop> <from>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</from><to>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;2</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>
  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>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</from><to>&#x6dfb;&#x52a0;&#x53d1;&#x8f66;&#x987a;&#x5e8f;&#x53f7;</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>
  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>
  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>
  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>
  319 + <hop> <from>&#x7c7b;&#x578b;&#x4fee;&#x6b63;</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail</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>
  328 + </order>
  329 + <step>
  330 + <name>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178;</name>
  331 + <type>ValueMapper</type>
  332 + <description/>
  333 + <distribute>Y</distribute>
  334 + <custom_distribution/>
  335 + <copies>1</copies>
  336 + <partitioning>
  337 + <method>none</method>
  338 + <schema_name/>
  339 + </partitioning>
  340 + <field_to_use>sxx</field_to_use>
  341 + <target_field>sxx_desc</target_field>
  342 + <non_match_default/>
  343 + <fields>
  344 + <field>
  345 + <source_value>0</source_value>
  346 + <target_value>&#x4e0a;&#x884c;</target_value>
  347 + </field>
  348 + <field>
  349 + <source_value>1</source_value>
  350 + <target_value>&#x4e0b;&#x884c;</target_value>
  351 + </field>
  352 + </fields>
  353 + <cluster_schema/>
  354 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  355 + <xloc>147</xloc>
  356 + <yloc>403</yloc>
  357 + <draw>Y</draw>
  358 + </GUI>
  359 + </step>
  360 +
  361 + <step>
  362 + <name>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 2</name>
  363 + <type>ValueMapper</type>
  364 + <description/>
  365 + <distribute>Y</distribute>
  366 + <custom_distribution/>
  367 + <copies>1</copies>
  368 + <partitioning>
  369 + <method>none</method>
  370 + <schema_name/>
  371 + </partitioning>
  372 + <field_to_use>sxx</field_to_use>
  373 + <target_field>sxx_desc</target_field>
  374 + <non_match_default/>
  375 + <fields>
  376 + <field>
  377 + <source_value>0</source_value>
  378 + <target_value>&#x4e0a;&#x884c;</target_value>
  379 + </field>
  380 + <field>
  381 + <source_value>1</source_value>
  382 + <target_value>&#x4e0b;&#x884c;</target_value>
  383 + </field>
  384 + </fields>
  385 + <cluster_schema/>
  386 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  387 + <xloc>331</xloc>
  388 + <yloc>598</yloc>
  389 + <draw>Y</draw>
  390 + </GUI>
  391 + </step>
  392 +
  393 + <step>
  394 + <name>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 3</name>
  395 + <type>ValueMapper</type>
  396 + <description/>
  397 + <distribute>Y</distribute>
  398 + <custom_distribution/>
  399 + <copies>1</copies>
  400 + <partitioning>
  401 + <method>none</method>
  402 + <schema_name/>
  403 + </partitioning>
  404 + <field_to_use>sxx</field_to_use>
  405 + <target_field>sxx_desc</target_field>
  406 + <non_match_default/>
  407 + <fields>
  408 + <field>
  409 + <source_value>0</source_value>
  410 + <target_value>&#x4e0a;&#x884c;</target_value>
  411 + </field>
  412 + <field>
  413 + <source_value>1</source_value>
  414 + <target_value>&#x4e0b;&#x884c;</target_value>
  415 + </field>
  416 + </fields>
  417 + <cluster_schema/>
  418 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  419 + <xloc>553</xloc>
  420 + <yloc>859</yloc>
  421 + <draw>Y</draw>
  422 + </GUI>
  423 + </step>
  424 +
  425 + <step>
  426 + <name>&#x51fa;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x7ec8;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</name>
  427 + <type>ScriptValueMod</type>
  428 + <description/>
  429 + <distribute>Y</distribute>
  430 + <custom_distribution/>
  431 + <copies>1</copies>
  432 + <partitioning>
  433 + <method>none</method>
  434 + <schema_name/>
  435 + </partitioning>
  436 + <compatible>N</compatible>
  437 + <optimizationLevel>9</optimizationLevel>
  438 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  439 + <jsScript_name>Script 1</jsScript_name>
  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>
  441 + </jsScript> </jsScripts> <fields> <field> <name>zdzname</name>
  442 + <rename>zdzname</rename>
  443 + <type>String</type>
  444 + <length>-1</length>
  445 + <precision>-1</precision>
  446 + <replace>N</replace>
  447 + </field> <field> <name>endZdtype</name>
  448 + <rename>endZdtype</rename>
  449 + <type>String</type>
  450 + <length>-1</length>
  451 + <precision>-1</precision>
  452 + <replace>N</replace>
  453 + </field> </fields> <cluster_schema/>
  454 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  455 + <xloc>575</xloc>
  456 + <yloc>502</yloc>
  457 + <draw>Y</draw>
  458 + </GUI>
  459 + </step>
  460 +
  461 + <step>
  462 + <name>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</name>
  463 + <type>Dummy</type>
  464 + <description/>
  465 + <distribute>Y</distribute>
  466 + <custom_distribution/>
  467 + <copies>1</copies>
  468 + <partitioning>
  469 + <method>none</method>
  470 + <schema_name/>
  471 + </partitioning>
  472 + <cluster_schema/>
  473 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  474 + <xloc>869</xloc>
  475 + <yloc>504</yloc>
  476 + <draw>Y</draw>
  477 + </GUI>
  478 + </step>
  479 +
  480 + <step>
  481 + <name>&#x5206;&#x7ec4;&#x5404;&#x4e2a;&#x8def;&#x724c;&#x7684;&#x7ad9;</name>
  482 + <type>GroupBy</type>
  483 + <description/>
  484 + <distribute>Y</distribute>
  485 + <custom_distribution/>
  486 + <copies>1</copies>
  487 + <partitioning>
  488 + <method>none</method>
  489 + <schema_name/>
  490 + </partitioning>
  491 + <all_rows>Y</all_rows>
  492 + <ignore_aggregate>N</ignore_aggregate>
  493 + <field_ignore/>
  494 + <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
  495 + <prefix>grp</prefix>
  496 + <add_linenr>Y</add_linenr>
  497 + <linenr_fieldname>gno</linenr_fieldname>
  498 + <give_back_row>N</give_back_row>
  499 + <group>
  500 + <field>
  501 + <name>lp</name>
  502 + </field>
  503 + </group>
  504 + <fields>
  505 + <field>
  506 + <aggregate>qdzgroups</aggregate>
  507 + <subject>qdzname</subject>
  508 + <type>CONCAT_STRING</type>
  509 + <valuefield>,</valuefield>
  510 + </field>
  511 + </fields>
  512 + <cluster_schema/>
  513 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  514 + <xloc>892</xloc>
  515 + <yloc>44</yloc>
  516 + <draw>Y</draw>
  517 + </GUI>
  518 + </step>
  519 +
  520 + <step>
  521 + <name>&#x5339;&#x914d;&#x4e0a;&#x4e0b;&#x884c;&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
  522 + <type>ScriptValueMod</type>
  523 + <description/>
  524 + <distribute>Y</distribute>
  525 + <custom_distribution/>
  526 + <copies>1</copies>
  527 + <partitioning>
  528 + <method>none</method>
  529 + <schema_name/>
  530 + </partitioning>
  531 + <compatible>N</compatible>
  532 + <optimizationLevel>9</optimizationLevel>
  533 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  534 + <jsScript_name>Script 1</jsScript_name>
  535 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var jhlc&#x3b; &#x2f;&#x2f; &#x8ba1;&#x5212;&#x91cc;&#x7a0b;&#xa;var bcsj&#x3b; &#x2f;&#x2f; &#x73ed;&#x6b21;&#x65f6;&#x95f4;&#xa;&#xa;if &#x28;sxx &#x3d;&#x3d; 0&#x29; &#x7b; &#x2f;&#x2f; &#x4e0a;&#x884c;&#xa; jhlc &#x3d; up_mileage&#x3b;&#xa; bcsj &#x3d; up_travel_time&#x3b;&#xa;&#x7d; else &#x7b; &#x2f;&#x2f; sxx &#x3d;&#x3d; 1 &#x4e0b;&#x884c;&#xa; jhlc &#x3d; down_mileage&#x3b;&#xa; bcsj &#x3d; down_travel_time&#x3b;&#xa;&#x7d;</jsScript_script>
  536 + </jsScript> </jsScripts> <fields> <field> <name>jhlc</name>
  537 + <rename>jhlc</rename>
  538 + <type>String</type>
  539 + <length>-1</length>
  540 + <precision>-1</precision>
  541 + <replace>N</replace>
  542 + </field> <field> <name>bcsj</name>
  543 + <rename>bcsj</rename>
  544 + <type>String</type>
  545 + <length>-1</length>
  546 + <precision>-1</precision>
  547 + <replace>N</replace>
  548 + </field> </fields> <cluster_schema/>
  549 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  550 + <xloc>148</xloc>
  551 + <yloc>674</yloc>
  552 + <draw>Y</draw>
  553 + </GUI>
  554 + </step>
  555 +
  556 + <step>
  557 + <name>&#x5339;&#x914d;&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
  558 + <type>ScriptValueMod</type>
  559 + <description/>
  560 + <distribute>Y</distribute>
  561 + <custom_distribution/>
  562 + <copies>1</copies>
  563 + <partitioning>
  564 + <method>none</method>
  565 + <schema_name/>
  566 + </partitioning>
  567 + <compatible>N</compatible>
  568 + <optimizationLevel>9</optimizationLevel>
  569 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  570 + <jsScript_name>Script 1</jsScript_name>
  571 + <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>
  572 + </jsScript> </jsScripts> <fields> <field> <name>out_mileage</name>
  573 + <rename>out_mileage</rename>
  574 + <type>String</type>
  575 + <length>-1</length>
  576 + <precision>-1</precision>
  577 + <replace>N</replace>
  578 + </field> <field> <name>out_time</name>
  579 + <rename>out_time</rename>
  580 + <type>String</type>
  581 + <length>-1</length>
  582 + <precision>-1</precision>
  583 + <replace>N</replace>
  584 + </field> </fields> <cluster_schema/>
  585 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  586 + <xloc>336</xloc>
  587 + <yloc>862</yloc>
  588 + <draw>Y</draw>
  589 + </GUI>
  590 + </step>
  591 +
  592 + <step>
  593 + <name>&#x5339;&#x914d;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
  594 + <type>ScriptValueMod</type>
  595 + <description/>
  596 + <distribute>Y</distribute>
  597 + <custom_distribution/>
  598 + <copies>1</copies>
  599 + <partitioning>
  600 + <method>none</method>
  601 + <schema_name/>
  602 + </partitioning>
  603 + <compatible>N</compatible>
  604 + <optimizationLevel>9</optimizationLevel>
  605 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  606 + <jsScript_name>Script 1</jsScript_name>
  607 + <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>
  608 + </jsScript> </jsScripts> <fields> <field> <name>parade_mileage</name>
  609 + <rename>parade_mileage</rename>
  610 + <type>String</type>
  611 + <length>-1</length>
  612 + <precision>-1</precision>
  613 + <replace>N</replace>
  614 + </field> <field> <name>parade_time</name>
  615 + <rename>parade_time</rename>
  616 + <type>String</type>
  617 + <length>-1</length>
  618 + <precision>-1</precision>
  619 + <replace>N</replace>
  620 + </field> </fields> <cluster_schema/>
  621 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  622 + <xloc>726</xloc>
  623 + <yloc>1005</yloc>
  624 + <draw>Y</draw>
  625 + </GUI>
  626 + </step>
  627 +
  628 + <step>
  629 + <name>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;&#xff0c;&#x7ebf;&#x8def;&#x540d;&#x5b57;&#xff0c;&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</name>
  630 + <type>DataGrid</type>
  631 + <description/>
  632 + <distribute>Y</distribute>
  633 + <custom_distribution/>
  634 + <copies>1</copies>
  635 + <partitioning>
  636 + <method>none</method>
  637 + <schema_name/>
  638 + </partitioning>
  639 + <fields>
  640 + </fields>
  641 + <data>
  642 + <line> </line>
  643 + </data>
  644 + <cluster_schema/>
  645 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  646 + <xloc>110</xloc>
  647 + <yloc>133</yloc>
  648 + <draw>Y</draw>
  649 + </GUI>
  650 + </step>
  651 +
  652 + <step>
  653 + <name>&#x5904;&#x7406;&#x6570;&#x636e;</name>
  654 + <type>ScriptValueMod</type>
  655 + <description/>
  656 + <distribute>Y</distribute>
  657 + <custom_distribution/>
  658 + <copies>1</copies>
  659 + <partitioning>
  660 + <method>none</method>
  661 + <schema_name/>
  662 + </partitioning>
  663 + <compatible>N</compatible>
  664 + <optimizationLevel>9</optimizationLevel>
  665 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  666 + <jsScript_name>Script 1</jsScript_name>
  667 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f; &#x4f7f;&#x7528;&#x6b63;&#x5219;&#x8868;&#x8fbe;&#x5f0f;&#x53bb;&#x9664;&#x7ad9;&#x70b9;&#x540d;&#x79f0;&#x4e2d;&#x7684;&#x6570;&#x5b57;&#xa;qdzname &#x3d; qdzname.replace&#x28;&#x2f;&#x5c;d&#x2b;&#x2f;g,&#x27;&#x27;&#x29;&#x3b;&#xa;&#xa;&#x2f;&#x2f; sendtime&#x5904;&#x7406;&#xa;var sendtime_calcu&#x3b;&#xa;if &#x28;sendtime.length &#x21;&#x3d; 5&#x29; &#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 2&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;2, 2&#x29;&#x3b;&#xa;else &#xa; sendtime_calcu &#x3d; sendtime&#x3b;&#xa;&#xa;&#x2f;&#x2f; &#x8bbe;&#x7f6e;&#x5206;&#x73ed;&#xa;var isfb &#x3d; 0&#x3b;&#xa;&#xa;&#x2f;&#x2f; &#x8bbe;&#x7f6e;isCanceled&#xa;var iscanceled &#x3d; 0&#x3b;</jsScript_script>
  668 + </jsScript> </jsScripts> <fields> <field> <name>qdzname</name>
  669 + <rename>qdzname</rename>
  670 + <type>String</type>
  671 + <length>-1</length>
  672 + <precision>-1</precision>
  673 + <replace>Y</replace>
  674 + </field> <field> <name>isfb</name>
  675 + <rename>isfb</rename>
  676 + <type>Integer</type>
  677 + <length>-1</length>
  678 + <precision>-1</precision>
  679 + <replace>N</replace>
  680 + </field> <field> <name>iscanceled</name>
  681 + <rename>iscanceled</rename>
  682 + <type>Integer</type>
  683 + <length>-1</length>
  684 + <precision>-1</precision>
  685 + <replace>N</replace>
  686 + </field> <field> <name>sendtime_calcu</name>
  687 + <rename>sendtime_calcu</rename>
  688 + <type>String</type>
  689 + <length>-1</length>
  690 + <precision>-1</precision>
  691 + <replace>N</replace>
  692 + </field> </fields> <cluster_schema/>
  693 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  694 + <xloc>788</xloc>
  695 + <yloc>44</yloc>
  696 + <draw>Y</draw>
  697 + </GUI>
  698 + </step>
  699 +
  700 + <step>
  701 + <name>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</name>
  702 + <type>SelectValues</type>
  703 + <description/>
  704 + <distribute>Y</distribute>
  705 + <custom_distribution/>
  706 + <copies>1</copies>
  707 + <partitioning>
  708 + <method>none</method>
  709 + <schema_name/>
  710 + </partitioning>
  711 + <fields> <field> <name>&#x8def;&#x724c;</name>
  712 + <rename>lp</rename>
  713 + <length>-2</length>
  714 + <precision>-2</precision>
  715 + </field> <field> <name>&#x7ad9;&#x70b9;&#x540d;&#x79f0;</name>
  716 + <rename>qdzname</rename>
  717 + <length>-2</length>
  718 + <precision>-2</precision>
  719 + </field> <field> <name>&#x53d1;&#x8f66;&#x65f6;&#x95f4;</name>
  720 + <rename>sendtime</rename>
  721 + <length>-2</length>
  722 + <precision>-2</precision>
  723 + </field> <select_unspecified>Y</select_unspecified>
  724 + </fields> <cluster_schema/>
  725 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  726 + <xloc>444</xloc>
  727 + <yloc>131</yloc>
  728 + <draw>Y</draw>
  729 + </GUI>
  730 + </step>
  731 +
  732 + <step>
  733 + <name>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;1</name>
  734 + <type>FilterRows</type>
  735 + <description/>
  736 + <distribute>Y</distribute>
  737 + <custom_distribution/>
  738 + <copies>1</copies>
  739 + <partitioning>
  740 + <method>none</method>
  741 + <schema_name/>
  742 + </partitioning>
  743 +<send_true_to>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x6570;&#x636e;</send_true_to>
  744 +<send_false_to>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</send_false_to>
  745 + <compare>
  746 +<condition>
  747 + <negated>N</negated>
  748 + <leftvalue>bctype</leftvalue>
  749 + <function>&#x3d;</function>
  750 + <rightvalue/>
  751 + <value><name>constant</name><type>String</type><text>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</text><length>-1</length><precision>-1</precision><isnull>N</isnull><mask/></value> </condition>
  752 + </compare>
  753 + <cluster_schema/>
  754 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  755 + <xloc>860</xloc>
  756 + <yloc>401</yloc>
  757 + <draw>Y</draw>
  758 + </GUI>
  759 + </step>
  760 +
  761 + <step>
  762 + <name>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</name>
  763 + <type>FilterRows</type>
  764 + <description/>
  765 + <distribute>Y</distribute>
  766 + <custom_distribution/>
  767 + <copies>1</copies>
  768 + <partitioning>
  769 + <method>none</method>
  770 + <schema_name/>
  771 + </partitioning>
  772 +<send_true_to>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</send_true_to>
  773 +<send_false_to>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</send_false_to>
  774 + <compare>
  775 +<condition>
  776 + <negated>N</negated>
  777 + <leftvalue>bctype</leftvalue>
  778 + <function>&#x3d;</function>
  779 + <rightvalue/>
  780 + <value><name>constant</name><type>String</type><text>&#x51fa;&#x573a;</text><length>-1</length><precision>-1</precision><isnull>N</isnull><mask/></value> </condition>
  781 + </compare>
  782 + <cluster_schema/>
  783 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  784 + <xloc>995</xloc>
  785 + <yloc>503</yloc>
  786 + <draw>Y</draw>
  787 + </GUI>
  788 + </step>
  789 +
  790 + <step>
  791 + <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail</name>
  792 + <type>InsertUpdate</type>
  793 + <description/>
  794 + <distribute>Y</distribute>
  795 + <custom_distribution/>
  796 + <copies>1</copies>
  797 + <partitioning>
  798 + <method>none</method>
  799 + <schema_name/>
  800 + </partitioning>
  801 + <connection>bus_control_variable</connection>
  802 + <commit>100</commit>
  803 + <update_bypassed>N</update_bypassed>
  804 + <lookup>
  805 + <schema/>
  806 + <table>bsth_c_s_ttinfo_detail</table>
  807 + <key>
  808 + <name>xlid</name>
  809 + <field>xl</field>
  810 + <condition>&#x3d;</condition>
  811 + <name2/>
  812 + </key>
  813 + <key>
  814 + <name>ttid</name>
  815 + <field>ttinfo</field>
  816 + <condition>&#x3d;</condition>
  817 + <name2/>
  818 + </key>
  819 + <key>
  820 + <name>lpid</name>
  821 + <field>lp</field>
  822 + <condition>&#x3d;</condition>
  823 + <name2/>
  824 + </key>
  825 + <key>
  826 + <name>fcno</name>
  827 + <field>fcno</field>
  828 + <condition>&#x3d;</condition>
  829 + <name2/>
  830 + </key>
  831 + <key>
  832 + <name>bcs</name>
  833 + <field>bcs</field>
  834 + <condition>&#x3d;</condition>
  835 + <name2/>
  836 + </key>
  837 + <value>
  838 + <name>lp</name>
  839 + <rename>lpid</rename>
  840 + <update>Y</update>
  841 + </value>
  842 + <value>
  843 + <name>bc_type</name>
  844 + <rename>bctype_code</rename>
  845 + <update>Y</update>
  846 + </value>
  847 + <value>
  848 + <name>bcs</name>
  849 + <rename>bcs</rename>
  850 + <update>Y</update>
  851 + </value>
  852 + <value>
  853 + <name>bcsj</name>
  854 + <rename>bcsj</rename>
  855 + <update>Y</update>
  856 + </value>
  857 + <value>
  858 + <name>fcno</name>
  859 + <rename>fcno</rename>
  860 + <update>Y</update>
  861 + </value>
  862 + <value>
  863 + <name>jhlc</name>
  864 + <rename>jhlc</rename>
  865 + <update>Y</update>
  866 + </value>
  867 + <value>
  868 + <name>fcsj</name>
  869 + <rename>sendtime_calcu</rename>
  870 + <update>Y</update>
  871 + </value>
  872 + <value>
  873 + <name>ttinfo</name>
  874 + <rename>ttid</rename>
  875 + <update>Y</update>
  876 + </value>
  877 + <value>
  878 + <name>xl</name>
  879 + <rename>xlid</rename>
  880 + <update>Y</update>
  881 + </value>
  882 + <value>
  883 + <name>qdz</name>
  884 + <rename>qdzid</rename>
  885 + <update>Y</update>
  886 + </value>
  887 + <value>
  888 + <name>zdz</name>
  889 + <rename>zdzid</rename>
  890 + <update>Y</update>
  891 + </value>
  892 + <value>
  893 + <name>xl_dir</name>
  894 + <rename>sxx</rename>
  895 + <update>Y</update>
  896 + </value>
  897 + <value>
  898 + <name>isfb</name>
  899 + <rename>isfb</rename>
  900 + <update>Y</update>
  901 + </value>
  902 + </lookup>
  903 + <cluster_schema/>
  904 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  905 + <xloc>143</xloc>
  906 + <yloc>860</yloc>
  907 + <draw>Y</draw>
  908 + </GUI>
  909 + </step>
  910 +
  911 + <step>
  912 + <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail 2</name>
  913 + <type>InsertUpdate</type>
  914 + <description/>
  915 + <distribute>Y</distribute>
  916 + <custom_distribution/>
  917 + <copies>1</copies>
  918 + <partitioning>
  919 + <method>none</method>
  920 + <schema_name/>
  921 + </partitioning>
  922 + <connection>bus_control_variable</connection>
  923 + <commit>100</commit>
  924 + <update_bypassed>N</update_bypassed>
  925 + <lookup>
  926 + <schema/>
  927 + <table>bsth_c_s_ttinfo_detail</table>
  928 + <key>
  929 + <name>xlid</name>
  930 + <field>xl</field>
  931 + <condition>&#x3d;</condition>
  932 + <name2/>
  933 + </key>
  934 + <key>
  935 + <name>ttid</name>
  936 + <field>ttinfo</field>
  937 + <condition>&#x3d;</condition>
  938 + <name2/>
  939 + </key>
  940 + <key>
  941 + <name>lpid</name>
  942 + <field>lp</field>
  943 + <condition>&#x3d;</condition>
  944 + <name2/>
  945 + </key>
  946 + <key>
  947 + <name>fcno</name>
  948 + <field>fcno</field>
  949 + <condition>&#x3d;</condition>
  950 + <name2/>
  951 + </key>
  952 + <key>
  953 + <name>bcs</name>
  954 + <field>bcs</field>
  955 + <condition>&#x3d;</condition>
  956 + <name2/>
  957 + </key>
  958 + <value>
  959 + <name>tcc</name>
  960 + <rename>qdzid</rename>
  961 + <update>Y</update>
  962 + </value>
  963 + <value>
  964 + <name>zdz</name>
  965 + <rename>zdzid</rename>
  966 + <update>Y</update>
  967 + </value>
  968 + <value>
  969 + <name>xl</name>
  970 + <rename>xlid</rename>
  971 + <update>Y</update>
  972 + </value>
  973 + <value>
  974 + <name>ttinfo</name>
  975 + <rename>ttid</rename>
  976 + <update>Y</update>
  977 + </value>
  978 + <value>
  979 + <name>xl_dir</name>
  980 + <rename>sxx</rename>
  981 + <update>Y</update>
  982 + </value>
  983 + <value>
  984 + <name>lp</name>
  985 + <rename>lpid</rename>
  986 + <update>Y</update>
  987 + </value>
  988 + <value>
  989 + <name>jhlc</name>
  990 + <rename>out_mileage</rename>
  991 + <update>Y</update>
  992 + </value>
  993 + <value>
  994 + <name>fcsj</name>
  995 + <rename>sendtime_calcu</rename>
  996 + <update>Y</update>
  997 + </value>
  998 + <value>
  999 + <name>bcsj</name>
  1000 + <rename>out_time</rename>
  1001 + <update>Y</update>
  1002 + </value>
  1003 + <value>
  1004 + <name>bcs</name>
  1005 + <rename>bcs</rename>
  1006 + <update>Y</update>
  1007 + </value>
  1008 + <value>
  1009 + <name>fcno</name>
  1010 + <rename>fcno</rename>
  1011 + <update>Y</update>
  1012 + </value>
  1013 + <value>
  1014 + <name>bc_type</name>
  1015 + <rename>bctype_code</rename>
  1016 + <update>Y</update>
  1017 + </value>
  1018 + <value>
  1019 + <name>isfb</name>
  1020 + <rename>isfb</rename>
  1021 + <update>Y</update>
  1022 + </value>
  1023 + </lookup>
  1024 + <cluster_schema/>
  1025 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1026 + <xloc>342</xloc>
  1027 + <yloc>1031</yloc>
  1028 + <draw>Y</draw>
  1029 + </GUI>
  1030 + </step>
  1031 +
  1032 + <step>
  1033 + <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail 3</name>
  1034 + <type>InsertUpdate</type>
  1035 + <description/>
  1036 + <distribute>Y</distribute>
  1037 + <custom_distribution/>
  1038 + <copies>1</copies>
  1039 + <partitioning>
  1040 + <method>none</method>
  1041 + <schema_name/>
  1042 + </partitioning>
  1043 + <connection>bus_control_variable</connection>
  1044 + <commit>100</commit>
  1045 + <update_bypassed>N</update_bypassed>
  1046 + <lookup>
  1047 + <schema/>
  1048 + <table>bsth_c_s_ttinfo_detail</table>
  1049 + <key>
  1050 + <name>xlid</name>
  1051 + <field>xl</field>
  1052 + <condition>&#x3d;</condition>
  1053 + <name2/>
  1054 + </key>
  1055 + <key>
  1056 + <name>ttid</name>
  1057 + <field>ttinfo</field>
  1058 + <condition>&#x3d;</condition>
  1059 + <name2/>
  1060 + </key>
  1061 + <key>
  1062 + <name>lpid</name>
  1063 + <field>lp</field>
  1064 + <condition>&#x3d;</condition>
  1065 + <name2/>
  1066 + </key>
  1067 + <key>
  1068 + <name>fcno</name>
  1069 + <field>fcno</field>
  1070 + <condition>&#x3d;</condition>
  1071 + <name2/>
  1072 + </key>
  1073 + <key>
  1074 + <name>bcs</name>
  1075 + <field>bcs</field>
  1076 + <condition>&#x3d;</condition>
  1077 + <name2/>
  1078 + </key>
  1079 + <value>
  1080 + <name>fcno</name>
  1081 + <rename>fcno</rename>
  1082 + <update>Y</update>
  1083 + </value>
  1084 + <value>
  1085 + <name>bcs</name>
  1086 + <rename>bcs</rename>
  1087 + <update>Y</update>
  1088 + </value>
  1089 + <value>
  1090 + <name>xl</name>
  1091 + <rename>xlid</rename>
  1092 + <update>Y</update>
  1093 + </value>
  1094 + <value>
  1095 + <name>ttinfo</name>
  1096 + <rename>ttid</rename>
  1097 + <update>Y</update>
  1098 + </value>
  1099 + <value>
  1100 + <name>lp</name>
  1101 + <rename>lpid</rename>
  1102 + <update>Y</update>
  1103 + </value>
  1104 + <value>
  1105 + <name>bc_type</name>
  1106 + <rename>bctype_code</rename>
  1107 + <update>Y</update>
  1108 + </value>
  1109 + <value>
  1110 + <name>bcsj</name>
  1111 + <rename>parade_time</rename>
  1112 + <update>Y</update>
  1113 + </value>
  1114 + <value>
  1115 + <name>jhlc</name>
  1116 + <rename>parade_mileage</rename>
  1117 + <update>Y</update>
  1118 + </value>
  1119 + <value>
  1120 + <name>fcsj</name>
  1121 + <rename>sendtime_calcu</rename>
  1122 + <update>Y</update>
  1123 + </value>
  1124 + <value>
  1125 + <name>xl_dir</name>
  1126 + <rename>sxx2</rename>
  1127 + <update>Y</update>
  1128 + </value>
  1129 + <value>
  1130 + <name>qdz</name>
  1131 + <rename>qdzid</rename>
  1132 + <update>Y</update>
  1133 + </value>
  1134 + <value>
  1135 + <name>tcc</name>
  1136 + <rename>zdzid</rename>
  1137 + <update>Y</update>
  1138 + </value>
  1139 + <value>
  1140 + <name>isfb</name>
  1141 + <rename>isfb</rename>
  1142 + <update>Y</update>
  1143 + </value>
  1144 + </lookup>
  1145 + <cluster_schema/>
  1146 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1147 + <xloc>875</xloc>
  1148 + <yloc>887</yloc>
  1149 + <draw>Y</draw>
  1150 + </GUI>
  1151 + </step>
  1152 +
  1153 + <step>
  1154 + <name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</name>
  1155 + <type>ExcelInput</type>
  1156 + <description/>
  1157 + <distribute>Y</distribute>
  1158 + <custom_distribution/>
  1159 + <copies>1</copies>
  1160 + <partitioning>
  1161 + <method>none</method>
  1162 + <schema_name/>
  1163 + </partitioning>
  1164 + <header>Y</header>
  1165 + <noempty>Y</noempty>
  1166 + <stoponempty>N</stoponempty>
  1167 + <filefield/>
  1168 + <sheetfield/>
  1169 + <sheetrownumfield/>
  1170 + <rownumfield/>
  1171 + <sheetfield/>
  1172 + <filefield/>
  1173 + <limit>0</limit>
  1174 + <encoding/>
  1175 + <add_to_result_filenames>Y</add_to_result_filenames>
  1176 + <accept_filenames>N</accept_filenames>
  1177 + <accept_field/>
  1178 + <accept_stepname/>
  1179 + <file>
  1180 + <name/>
  1181 + <filemask/>
  1182 + <exclude_filemask/>
  1183 + <file_required>N</file_required>
  1184 + <include_subfolders>N</include_subfolders>
  1185 + </file>
  1186 + <fields>
  1187 + </fields>
  1188 + <sheets>
  1189 + <sheet>
  1190 + <name/>
  1191 + <startrow>0</startrow>
  1192 + <startcol>0</startcol>
  1193 + </sheet>
  1194 + </sheets>
  1195 + <strict_types>N</strict_types>
  1196 + <error_ignored>N</error_ignored>
  1197 + <error_line_skipped>N</error_line_skipped>
  1198 + <bad_line_files_destination_directory/>
  1199 + <bad_line_files_extension>warning</bad_line_files_extension>
  1200 + <error_line_files_destination_directory/>
  1201 + <error_line_files_extension>error</error_line_files_extension>
  1202 + <line_number_files_destination_directory/>
  1203 + <line_number_files_extension>line</line_number_files_extension>
  1204 + <shortFileFieldName/>
  1205 + <pathFieldName/>
  1206 + <hiddenFieldName/>
  1207 + <lastModificationTimeFieldName/>
  1208 + <uriNameFieldName/>
  1209 + <rootUriNameFieldName/>
  1210 + <extensionFieldName/>
  1211 + <sizeFieldName/>
  1212 + <spreadsheet_type>JXL</spreadsheet_type>
  1213 + <cluster_schema/>
  1214 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1215 + <xloc>112</xloc>
  1216 + <yloc>44</yloc>
  1217 + <draw>Y</draw>
  1218 + </GUI>
  1219 + </step>
  1220 +
  1221 + <step>
  1222 + <name>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;1</name>
  1223 + <type>DBLookup</type>
  1224 + <description/>
  1225 + <distribute>Y</distribute>
  1226 + <custom_distribution/>
  1227 + <copies>1</copies>
  1228 + <partitioning>
  1229 + <method>none</method>
  1230 + <schema_name/>
  1231 + </partitioning>
  1232 + <connection>bus_control_variable</connection>
  1233 + <cache>N</cache>
  1234 + <cache_load_all>N</cache_load_all>
  1235 + <cache_size>0</cache_size>
  1236 + <lookup>
  1237 + <schema/>
  1238 + <table>bsth_c_car_park</table>
  1239 + <orderby/>
  1240 + <fail_on_multiple>N</fail_on_multiple>
  1241 + <eat_row_on_failure>N</eat_row_on_failure>
  1242 + <key>
  1243 + <name>tccname_</name>
  1244 + <field>park_name</field>
  1245 + <condition>&#x3d;</condition>
  1246 + <name2/>
  1247 + </key>
  1248 + <value>
  1249 + <name>id</name>
  1250 + <rename>qdzid</rename>
  1251 + <default/>
  1252 + <type>Integer</type>
  1253 + </value>
  1254 + </lookup>
  1255 + <cluster_schema/>
  1256 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1257 + <xloc>755</xloc>
  1258 + <yloc>504</yloc>
  1259 + <draw>Y</draw>
  1260 + </GUI>
  1261 + </step>
  1262 +
  1263 + <step>
  1264 + <name>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;2</name>
  1265 + <type>DBLookup</type>
  1266 + <description/>
  1267 + <distribute>Y</distribute>
  1268 + <custom_distribution/>
  1269 + <copies>1</copies>
  1270 + <partitioning>
  1271 + <method>none</method>
  1272 + <schema_name/>
  1273 + </partitioning>
  1274 + <connection>bus_control_variable</connection>
  1275 + <cache>N</cache>
  1276 + <cache_load_all>N</cache_load_all>
  1277 + <cache_size>0</cache_size>
  1278 + <lookup>
  1279 + <schema/>
  1280 + <table>bsth_c_car_park</table>
  1281 + <orderby/>
  1282 + <fail_on_multiple>N</fail_on_multiple>
  1283 + <eat_row_on_failure>N</eat_row_on_failure>
  1284 + <key>
  1285 + <name>tccname_</name>
  1286 + <field>park_name</field>
  1287 + <condition>&#x3d;</condition>
  1288 + <name2/>
  1289 + </key>
  1290 + <value>
  1291 + <name>id</name>
  1292 + <rename>zdzid</rename>
  1293 + <default/>
  1294 + <type>Integer</type>
  1295 + </value>
  1296 + </lookup>
  1297 + <cluster_schema/>
  1298 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1299 + <xloc>887</xloc>
  1300 + <yloc>608</yloc>
  1301 + <draw>Y</draw>
  1302 + </GUI>
  1303 + </step>
  1304 +
  1305 + <step>
  1306 + <name>&#x67e5;&#x627e;&#x51fa;&#x573a;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</name>
  1307 + <type>DBLookup</type>
  1308 + <description/>
  1309 + <distribute>Y</distribute>
  1310 + <custom_distribution/>
  1311 + <copies>1</copies>
  1312 + <partitioning>
  1313 + <method>none</method>
  1314 + <schema_name/>
  1315 + </partitioning>
  1316 + <connection>bus_control_variable</connection>
  1317 + <cache>N</cache>
  1318 + <cache_load_all>N</cache_load_all>
  1319 + <cache_size>0</cache_size>
  1320 + <lookup>
  1321 + <schema/>
  1322 + <table>bsth_c_stationroute</table>
  1323 + <orderby/>
  1324 + <fail_on_multiple>N</fail_on_multiple>
  1325 + <eat_row_on_failure>N</eat_row_on_failure>
  1326 + <key>
  1327 + <name>xlid</name>
  1328 + <field>line</field>
  1329 + <condition>&#x3d;</condition>
  1330 + <name2/>
  1331 + </key>
  1332 + <key>
  1333 + <name>zdzname</name>
  1334 + <field>station_name</field>
  1335 + <condition>&#x3d;</condition>
  1336 + <name2/>
  1337 + </key>
  1338 + <key>
  1339 + <name>endZdtype</name>
  1340 + <field>station_mark</field>
  1341 + <condition>&#x3d;</condition>
  1342 + <name2/>
  1343 + </key>
  1344 + <value>
  1345 + <name>station</name>
  1346 + <rename>zdzid</rename>
  1347 + <default/>
  1348 + <type>Integer</type>
  1349 + </value>
  1350 + <value>
  1351 + <name>directions</name>
  1352 + <rename>sxx</rename>
  1353 + <default/>
  1354 + <type>Integer</type>
  1355 + </value>
  1356 + </lookup>
  1357 + <cluster_schema/>
  1358 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1359 + <xloc>329</xloc>
  1360 + <yloc>505</yloc>
  1361 + <draw>Y</draw>
  1362 + </GUI>
  1363 + </step>
  1364 +
  1365 + <step>
  1366 + <name>&#x67e5;&#x627e;&#x65f6;&#x523b;&#x8868;&#x57fa;&#x7840;&#x4fe1;&#x606f;&#x5173;&#x8054;</name>
  1367 + <type>DBLookup</type>
  1368 + <description/>
  1369 + <distribute>Y</distribute>
  1370 + <custom_distribution/>
  1371 + <copies>1</copies>
  1372 + <partitioning>
  1373 + <method>none</method>
  1374 + <schema_name/>
  1375 + </partitioning>
  1376 + <connection>bus_control_variable</connection>
  1377 + <cache>N</cache>
  1378 + <cache_load_all>N</cache_load_all>
  1379 + <cache_size>0</cache_size>
  1380 + <lookup>
  1381 + <schema/>
  1382 + <table>bsth_c_s_ttinfo</table>
  1383 + <orderby/>
  1384 + <fail_on_multiple>N</fail_on_multiple>
  1385 + <eat_row_on_failure>N</eat_row_on_failure>
  1386 + <key>
  1387 + <name>xlid</name>
  1388 + <field>xl</field>
  1389 + <condition>&#x3d;</condition>
  1390 + <name2/>
  1391 + </key>
  1392 + <key>
  1393 + <name>ttinfoname_</name>
  1394 + <field>name</field>
  1395 + <condition>&#x3d;</condition>
  1396 + <name2/>
  1397 + </key>
  1398 + <key>
  1399 + <name>iscanceled</name>
  1400 + <field>is_cancel</field>
  1401 + <condition>&#x3d;</condition>
  1402 + <name2/>
  1403 + </key>
  1404 + <value>
  1405 + <name>id</name>
  1406 + <rename>ttid</rename>
  1407 + <default/>
  1408 + <type>Integer</type>
  1409 + </value>
  1410 + </lookup>
  1411 + <cluster_schema/>
  1412 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1413 + <xloc>1011</xloc>
  1414 + <yloc>134</yloc>
  1415 + <draw>Y</draw>
  1416 + </GUI>
  1417 + </step>
  1418 +
  1419 + <step>
  1420 + <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x4e0a;&#x4e0b;&#x884c;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
  1421 + <type>DBLookup</type>
  1422 + <description/>
  1423 + <distribute>Y</distribute>
  1424 + <custom_distribution/>
  1425 + <copies>1</copies>
  1426 + <partitioning>
  1427 + <method>none</method>
  1428 + <schema_name/>
  1429 + </partitioning>
  1430 + <connection>bus_control_variable</connection>
  1431 + <cache>N</cache>
  1432 + <cache_load_all>N</cache_load_all>
  1433 + <cache_size>0</cache_size>
  1434 + <lookup>
  1435 + <schema/>
  1436 + <table>bsth_c_line_information</table>
  1437 + <orderby/>
  1438 + <fail_on_multiple>N</fail_on_multiple>
  1439 + <eat_row_on_failure>N</eat_row_on_failure>
  1440 + <key>
  1441 + <name>xlid</name>
  1442 + <field>line</field>
  1443 + <condition>&#x3d;</condition>
  1444 + <name2/>
  1445 + </key>
  1446 + <value>
  1447 + <name>up_mileage</name>
  1448 + <rename>up_mileage</rename>
  1449 + <default/>
  1450 + <type>Number</type>
  1451 + </value>
  1452 + <value>
  1453 + <name>down_mileage</name>
  1454 + <rename>down_mileage</rename>
  1455 + <default/>
  1456 + <type>Number</type>
  1457 + </value>
  1458 + <value>
  1459 + <name>up_travel_time</name>
  1460 + <rename>up_travel_time</rename>
  1461 + <default/>
  1462 + <type>Number</type>
  1463 + </value>
  1464 + <value>
  1465 + <name>down_travel_time</name>
  1466 + <rename>down_travel_time</rename>
  1467 + <default/>
  1468 + <type>Number</type>
  1469 + </value>
  1470 + </lookup>
  1471 + <cluster_schema/>
  1472 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1473 + <xloc>149</xloc>
  1474 + <yloc>581</yloc>
  1475 + <draw>Y</draw>
  1476 + </GUI>
  1477 + </step>
  1478 +
  1479 + <step>
  1480 + <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x5173;&#x8054;</name>
  1481 + <type>DBLookup</type>
  1482 + <description/>
  1483 + <distribute>Y</distribute>
  1484 + <custom_distribution/>
  1485 + <copies>1</copies>
  1486 + <partitioning>
  1487 + <method>none</method>
  1488 + <schema_name/>
  1489 + </partitioning>
  1490 + <connection>bus_control_variable</connection>
  1491 + <cache>N</cache>
  1492 + <cache_load_all>N</cache_load_all>
  1493 + <cache_size>0</cache_size>
  1494 + <lookup>
  1495 + <schema/>
  1496 + <table>bsth_c_line</table>
  1497 + <orderby/>
  1498 + <fail_on_multiple>N</fail_on_multiple>
  1499 + <eat_row_on_failure>N</eat_row_on_failure>
  1500 + <key>
  1501 + <name>xlname_</name>
  1502 + <field>name</field>
  1503 + <condition>&#x3d;</condition>
  1504 + <name2/>
  1505 + </key>
  1506 + <value>
  1507 + <name>id</name>
  1508 + <rename>xlid</rename>
  1509 + <default/>
  1510 + <type>Integer</type>
  1511 + </value>
  1512 + </lookup>
  1513 + <cluster_schema/>
  1514 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1515 + <xloc>1007</xloc>
  1516 + <yloc>43</yloc>
  1517 + <draw>Y</draw>
  1518 + </GUI>
  1519 + </step>
  1520 +
  1521 + <step>
  1522 + <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x51fa;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
  1523 + <type>DBLookup</type>
  1524 + <description/>
  1525 + <distribute>Y</distribute>
  1526 + <custom_distribution/>
  1527 + <copies>1</copies>
  1528 + <partitioning>
  1529 + <method>none</method>
  1530 + <schema_name/>
  1531 + </partitioning>
  1532 + <connection>bus_control_variable</connection>
  1533 + <cache>N</cache>
  1534 + <cache_load_all>N</cache_load_all>
  1535 + <cache_size>0</cache_size>
  1536 + <lookup>
  1537 + <schema/>
  1538 + <table>bsth_c_line_information</table>
  1539 + <orderby/>
  1540 + <fail_on_multiple>N</fail_on_multiple>
  1541 + <eat_row_on_failure>N</eat_row_on_failure>
  1542 + <key>
  1543 + <name>xlid</name>
  1544 + <field>line</field>
  1545 + <condition>&#x3d;</condition>
  1546 + <name2/>
  1547 + </key>
  1548 + <value>
  1549 + <name>up_out_timer</name>
  1550 + <rename>up_out_timer</rename>
  1551 + <default/>
  1552 + <type>Number</type>
  1553 + </value>
  1554 + <value>
  1555 + <name>up_out_mileage</name>
  1556 + <rename>up_out_mileage</rename>
  1557 + <default/>
  1558 + <type>Number</type>
  1559 + </value>
  1560 + <value>
  1561 + <name>down_out_timer</name>
  1562 + <rename>down_out_timer</rename>
  1563 + <default/>
  1564 + <type>Number</type>
  1565 + </value>
  1566 + <value>
  1567 + <name>down_out_mileage</name>
  1568 + <rename>down_out_mileage</rename>
  1569 + <default/>
  1570 + <type>Number</type>
  1571 + </value>
  1572 + </lookup>
  1573 + <cluster_schema/>
  1574 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1575 + <xloc>335</xloc>
  1576 + <yloc>763</yloc>
  1577 + <draw>Y</draw>
  1578 + </GUI>
  1579 + </step>
  1580 +
  1581 + <step>
  1582 + <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x8fdb;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
  1583 + <type>DBLookup</type>
  1584 + <description/>
  1585 + <distribute>Y</distribute>
  1586 + <custom_distribution/>
  1587 + <copies>1</copies>
  1588 + <partitioning>
  1589 + <method>none</method>
  1590 + <schema_name/>
  1591 + </partitioning>
  1592 + <connection>bus_control_variable</connection>
  1593 + <cache>N</cache>
  1594 + <cache_load_all>N</cache_load_all>
  1595 + <cache_size>0</cache_size>
  1596 + <lookup>
  1597 + <schema/>
  1598 + <table>bsth_c_line_information</table>
  1599 + <orderby/>
  1600 + <fail_on_multiple>N</fail_on_multiple>
  1601 + <eat_row_on_failure>N</eat_row_on_failure>
  1602 + <key>
  1603 + <name>xlid</name>
  1604 + <field>line</field>
  1605 + <condition>&#x3d;</condition>
  1606 + <name2/>
  1607 + </key>
  1608 + <value>
  1609 + <name>up_in_mileage</name>
  1610 + <rename>up_in_mileage</rename>
  1611 + <default/>
  1612 + <type>Number</type>
  1613 + </value>
  1614 + <value>
  1615 + <name>up_in_timer</name>
  1616 + <rename>up_in_timer</rename>
  1617 + <default/>
  1618 + <type>Number</type>
  1619 + </value>
  1620 + <value>
  1621 + <name>down_in_mileage</name>
  1622 + <rename>down_in_mileage</rename>
  1623 + <default/>
  1624 + <type>Number</type>
  1625 + </value>
  1626 + <value>
  1627 + <name>down_in_timer</name>
  1628 + <rename>down_in_timer</rename>
  1629 + <default/>
  1630 + <type>Number</type>
  1631 + </value>
  1632 + </lookup>
  1633 + <cluster_schema/>
  1634 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1635 + <xloc>553</xloc>
  1636 + <yloc>1004</yloc>
  1637 + <draw>Y</draw>
  1638 + </GUI>
  1639 + </step>
  1640 +
  1641 + <step>
  1642 + <name>&#x67e5;&#x627e;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;</name>
  1643 + <type>DBLookup</type>
  1644 + <description/>
  1645 + <distribute>Y</distribute>
  1646 + <custom_distribution/>
  1647 + <copies>1</copies>
  1648 + <partitioning>
  1649 + <method>none</method>
  1650 + <schema_name/>
  1651 + </partitioning>
  1652 + <connection>bus_control_variable</connection>
  1653 + <cache>N</cache>
  1654 + <cache_load_all>N</cache_load_all>
  1655 + <cache_size>0</cache_size>
  1656 + <lookup>
  1657 + <schema/>
  1658 + <table>bsth_c_stationroute</table>
  1659 + <orderby/>
  1660 + <fail_on_multiple>N</fail_on_multiple>
  1661 + <eat_row_on_failure>N</eat_row_on_failure>
  1662 + <key>
  1663 + <name>xlid</name>
  1664 + <field>line</field>
  1665 + <condition>&#x3d;</condition>
  1666 + <name2/>
  1667 + </key>
  1668 + <key>
  1669 + <name>sxx</name>
  1670 + <field>directions</field>
  1671 + <condition>&#x3d;</condition>
  1672 + <name2/>
  1673 + </key>
  1674 + <key>
  1675 + <name>endZdtype</name>
  1676 + <field>station_mark</field>
  1677 + <condition>&#x3d;</condition>
  1678 + <name2/>
  1679 + </key>
  1680 + <value>
  1681 + <name>station_name</name>
  1682 + <rename>zdzname</rename>
  1683 + <default/>
  1684 + <type>String</type>
  1685 + </value>
  1686 + <value>
  1687 + <name>station</name>
  1688 + <rename>zdzid</rename>
  1689 + <default/>
  1690 + <type>Integer</type>
  1691 + </value>
  1692 + </lookup>
  1693 + <cluster_schema/>
  1694 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1695 + <xloc>280</xloc>
  1696 + <yloc>404</yloc>
  1697 + <draw>Y</draw>
  1698 + </GUI>
  1699 + </step>
  1700 +
  1701 + <step>
  1702 + <name>&#x67e5;&#x627e;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</name>
  1703 + <type>DBLookup</type>
  1704 + <description/>
  1705 + <distribute>Y</distribute>
  1706 + <custom_distribution/>
  1707 + <copies>1</copies>
  1708 + <partitioning>
  1709 + <method>none</method>
  1710 + <schema_name/>
  1711 + </partitioning>
  1712 + <connection>bus_control_variable</connection>
  1713 + <cache>N</cache>
  1714 + <cache_load_all>N</cache_load_all>
  1715 + <cache_size>0</cache_size>
  1716 + <lookup>
  1717 + <schema/>
  1718 + <table>bsth_c_stationroute</table>
  1719 + <orderby/>
  1720 + <fail_on_multiple>N</fail_on_multiple>
  1721 + <eat_row_on_failure>N</eat_row_on_failure>
  1722 + <key>
  1723 + <name>xlid</name>
  1724 + <field>line</field>
  1725 + <condition>&#x3d;</condition>
  1726 + <name2/>
  1727 + </key>
  1728 + <key>
  1729 + <name>qdzname</name>
  1730 + <field>station_name</field>
  1731 + <condition>&#x3d;</condition>
  1732 + <name2/>
  1733 + </key>
  1734 + <key>
  1735 + <name>sendZdtype</name>
  1736 + <field>station_mark</field>
  1737 + <condition>&#x3d;</condition>
  1738 + <name2/>
  1739 + </key>
  1740 + <value>
  1741 + <name>station</name>
  1742 + <rename>qdzid</rename>
  1743 + <default/>
  1744 + <type>Integer</type>
  1745 + </value>
  1746 + <value>
  1747 + <name>directions</name>
  1748 + <rename>sxx</rename>
  1749 + <default/>
  1750 + <type>Integer</type>
  1751 + </value>
  1752 + </lookup>
  1753 + <cluster_schema/>
  1754 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1755 + <xloc>430</xloc>
  1756 + <yloc>403</yloc>
  1757 + <draw>Y</draw>
  1758 + </GUI>
  1759 + </step>
  1760 +
  1761 + <step>
  1762 + <name>&#x67e5;&#x627e;&#x8def;&#x724c;&#x5173;&#x8054;</name>
  1763 + <type>DBLookup</type>
  1764 + <description/>
  1765 + <distribute>Y</distribute>
  1766 + <custom_distribution/>
  1767 + <copies>1</copies>
  1768 + <partitioning>
  1769 + <method>none</method>
  1770 + <schema_name/>
  1771 + </partitioning>
  1772 + <connection>bus_control_variable</connection>
  1773 + <cache>N</cache>
  1774 + <cache_load_all>N</cache_load_all>
  1775 + <cache_size>0</cache_size>
  1776 + <lookup>
  1777 + <schema/>
  1778 + <table>bsth_c_s_gbi</table>
  1779 + <orderby/>
  1780 + <fail_on_multiple>N</fail_on_multiple>
  1781 + <eat_row_on_failure>N</eat_row_on_failure>
  1782 + <key>
  1783 + <name>xlid</name>
  1784 + <field>xl</field>
  1785 + <condition>&#x3d;</condition>
  1786 + <name2/>
  1787 + </key>
  1788 + <key>
  1789 + <name>lp</name>
  1790 + <field>lp_name</field>
  1791 + <condition>&#x3d;</condition>
  1792 + <name2/>
  1793 + </key>
  1794 + <value>
  1795 + <name>id</name>
  1796 + <rename>lpid</rename>
  1797 + <default/>
  1798 + <type>Integer</type>
  1799 + </value>
  1800 + </lookup>
  1801 + <cluster_schema/>
  1802 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1803 + <xloc>1013</xloc>
  1804 + <yloc>265</yloc>
  1805 + <draw>Y</draw>
  1806 + </GUI>
  1807 + </step>
  1808 +
  1809 + <step>
  1810 + <name>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ebf;&#x8def;&#x65b9;&#x5411;</name>
  1811 + <type>DBLookup</type>
  1812 + <description/>
  1813 + <distribute>Y</distribute>
  1814 + <custom_distribution/>
  1815 + <copies>1</copies>
  1816 + <partitioning>
  1817 + <method>none</method>
  1818 + <schema_name/>
  1819 + </partitioning>
  1820 + <connection>bus_control_variable</connection>
  1821 + <cache>N</cache>
  1822 + <cache_load_all>N</cache_load_all>
  1823 + <cache_size>0</cache_size>
  1824 + <lookup>
  1825 + <schema/>
  1826 + <table>bsth_c_stationroute</table>
  1827 + <orderby/>
  1828 + <fail_on_multiple>N</fail_on_multiple>
  1829 + <eat_row_on_failure>N</eat_row_on_failure>
  1830 + <key>
  1831 + <name>xlid</name>
  1832 + <field>line</field>
  1833 + <condition>&#x3d;</condition>
  1834 + <name2/>
  1835 + </key>
  1836 + <key>
  1837 + <name>startZdtype_calcu</name>
  1838 + <field>station_mark</field>
  1839 + <condition>&#x3d;</condition>
  1840 + <name2/>
  1841 + </key>
  1842 + <key>
  1843 + <name>qdzname_calcu</name>
  1844 + <field>station_name</field>
  1845 + <condition>&#x3d;</condition>
  1846 + <name2/>
  1847 + </key>
  1848 + <value>
  1849 + <name>directions</name>
  1850 + <rename>sxx</rename>
  1851 + <default/>
  1852 + <type>String</type>
  1853 + </value>
  1854 + </lookup>
  1855 + <cluster_schema/>
  1856 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1857 + <xloc>548</xloc>
  1858 + <yloc>610</yloc>
  1859 + <draw>Y</draw>
  1860 + </GUI>
  1861 + </step>
  1862 +
  1863 + <step>
  1864 + <name>&#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;</name>
  1865 + <type>DBLookup</type>
  1866 + <description/>
  1867 + <distribute>Y</distribute>
  1868 + <custom_distribution/>
  1869 + <copies>1</copies>
  1870 + <partitioning>
  1871 + <method>none</method>
  1872 + <schema_name/>
  1873 + </partitioning>
  1874 + <connection>bus_control_variable</connection>
  1875 + <cache>N</cache>
  1876 + <cache_load_all>N</cache_load_all>
  1877 + <cache_size>0</cache_size>
  1878 + <lookup>
  1879 + <schema/>
  1880 + <table>bsth_c_stationroute</table>
  1881 + <orderby/>
  1882 + <fail_on_multiple>N</fail_on_multiple>
  1883 + <eat_row_on_failure>N</eat_row_on_failure>
  1884 + <key>
  1885 + <name>xlid</name>
  1886 + <field>line</field>
  1887 + <condition>&#x3d;</condition>
  1888 + <name2/>
  1889 + </key>
  1890 + <key>
  1891 + <name>endZdtype_calcu</name>
  1892 + <field>station_mark</field>
  1893 + <condition>&#x3d;</condition>
  1894 + <name2/>
  1895 + </key>
  1896 + <key>
  1897 + <name>sxx</name>
  1898 + <field>directions</field>
  1899 + <condition>&#x3d;</condition>
  1900 + <name2/>
  1901 + </key>
  1902 + <value>
  1903 + <name>station_name</name>
  1904 + <rename>zdzname_calcu</rename>
  1905 + <default/>
  1906 + <type>Integer</type>
  1907 + </value>
  1908 + </lookup>
  1909 + <cluster_schema/>
  1910 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1911 + <xloc>550</xloc>
  1912 + <yloc>701</yloc>
  1913 + <draw>Y</draw>
  1914 + </GUI>
  1915 + </step>
  1916 +
  1917 + <step>
  1918 + <name>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</name>
  1919 + <type>DBLookup</type>
  1920 + <description/>
  1921 + <distribute>Y</distribute>
  1922 + <custom_distribution/>
  1923 + <copies>1</copies>
  1924 + <partitioning>
  1925 + <method>none</method>
  1926 + <schema_name/>
  1927 + </partitioning>
  1928 + <connection>bus_control_variable</connection>
  1929 + <cache>N</cache>
  1930 + <cache_load_all>N</cache_load_all>
  1931 + <cache_size>0</cache_size>
  1932 + <lookup>
  1933 + <schema/>
  1934 + <table>bsth_c_stationroute</table>
  1935 + <orderby/>
  1936 + <fail_on_multiple>N</fail_on_multiple>
  1937 + <eat_row_on_failure>N</eat_row_on_failure>
  1938 + <key>
  1939 + <name>xlid</name>
  1940 + <field>line</field>
  1941 + <condition>&#x3d;</condition>
  1942 + <name2/>
  1943 + </key>
  1944 + <key>
  1945 + <name>zdzname_calcu</name>
  1946 + <field>station_name</field>
  1947 + <condition>&#x3d;</condition>
  1948 + <name2/>
  1949 + </key>
  1950 + <key>
  1951 + <name>startZdtype_calcu</name>
  1952 + <field>station_mark</field>
  1953 + <condition>&#x3d;</condition>
  1954 + <name2/>
  1955 + </key>
  1956 + <value>
  1957 + <name>directions</name>
  1958 + <rename>sxx2</rename>
  1959 + <default/>
  1960 + <type>Integer</type>
  1961 + </value>
  1962 + <value>
  1963 + <name>station</name>
  1964 + <rename>qdzid</rename>
  1965 + <default/>
  1966 + <type>Integer</type>
  1967 + </value>
  1968 + </lookup>
  1969 + <cluster_schema/>
  1970 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1971 + <xloc>551</xloc>
  1972 + <yloc>782</yloc>
  1973 + <draw>Y</draw>
  1974 + </GUI>
  1975 + </step>
  1976 +
  1977 + <step>
  1978 + <name>&#x6b63;&#x5e38;&#x73ed;&#x6b21;_&#x5904;&#x7406;&#x6570;&#x636e;</name>
  1979 + <type>ScriptValueMod</type>
  1980 + <description/>
  1981 + <distribute>Y</distribute>
  1982 + <custom_distribution/>
  1983 + <copies>1</copies>
  1984 + <partitioning>
  1985 + <method>none</method>
  1986 + <schema_name/>
  1987 + </partitioning>
  1988 + <compatible>N</compatible>
  1989 + <optimizationLevel>9</optimizationLevel>
  1990 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  1991 + <jsScript_name>Script 1</jsScript_name>
  1992 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f; &#x6dfb;&#x52a0;&#x7ad9;&#x70b9;&#x6807;&#x8bc6;&#xa;var sendZdtype &#x3d; &#x27;B&#x27;&#x3b;&#xa;var endZdtype &#x3d; &#x27;E&#x27;&#x3b;&#xa;</jsScript_script>
  1993 + </jsScript> </jsScripts> <fields> <field> <name>sendZdtype</name>
  1994 + <rename>sendZdtype</rename>
  1995 + <type>String</type>
  1996 + <length>-1</length>
  1997 + <precision>-1</precision>
  1998 + <replace>N</replace>
  1999 + </field> <field> <name>endZdtype</name>
  2000 + <rename>endZdtype</rename>
  2001 + <type>String</type>
  2002 + <length>-1</length>
  2003 + <precision>-1</precision>
  2004 + <replace>N</replace>
  2005 + </field> </fields> <cluster_schema/>
  2006 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2007 + <xloc>588</xloc>
  2008 + <yloc>403</yloc>
  2009 + <draw>Y</draw>
  2010 + </GUI>
  2011 + </step>
  2012 +
  2013 + <step>
  2014 + <name>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x6570;&#x636e;</name>
  2015 + <type>Dummy</type>
  2016 + <description/>
  2017 + <distribute>Y</distribute>
  2018 + <custom_distribution/>
  2019 + <copies>1</copies>
  2020 + <partitioning>
  2021 + <method>none</method>
  2022 + <schema_name/>
  2023 + </partitioning>
  2024 + <cluster_schema/>
  2025 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2026 + <xloc>725</xloc>
  2027 + <yloc>404</yloc>
  2028 + <draw>Y</draw>
  2029 + </GUI>
  2030 + </step>
  2031 +
  2032 + <step>
  2033 + <name>&#x6dfb;&#x52a0;&#x53d1;&#x8f66;&#x987a;&#x5e8f;&#x53f7;</name>
  2034 + <type>GroupBy</type>
  2035 + <description/>
  2036 + <distribute>Y</distribute>
  2037 + <custom_distribution/>
  2038 + <copies>1</copies>
  2039 + <partitioning>
  2040 + <method>none</method>
  2041 + <schema_name/>
  2042 + </partitioning>
  2043 + <all_rows>Y</all_rows>
  2044 + <ignore_aggregate>N</ignore_aggregate>
  2045 + <field_ignore/>
  2046 + <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
  2047 + <prefix>grp</prefix>
  2048 + <add_linenr>Y</add_linenr>
  2049 + <linenr_fieldname>fcno</linenr_fieldname>
  2050 + <give_back_row>N</give_back_row>
  2051 + <group>
  2052 + <field>
  2053 + <name>lp</name>
  2054 + </field>
  2055 + </group>
  2056 + <fields>
  2057 + </fields>
  2058 + <cluster_schema/>
  2059 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2060 + <xloc>442</xloc>
  2061 + <yloc>44</yloc>
  2062 + <draw>Y</draw>
  2063 + </GUI>
  2064 + </step>
  2065 +
  2066 + <step>
  2067 + <name>&#x6dfb;&#x52a0;&#x5bf9;&#x5e94;&#x73ed;&#x6b21;&#x6570;</name>
  2068 + <type>GroupBy</type>
  2069 + <description/>
  2070 + <distribute>Y</distribute>
  2071 + <custom_distribution/>
  2072 + <copies>1</copies>
  2073 + <partitioning>
  2074 + <method>none</method>
  2075 + <schema_name/>
  2076 + </partitioning>
  2077 + <all_rows>Y</all_rows>
  2078 + <ignore_aggregate>N</ignore_aggregate>
  2079 + <field_ignore/>
  2080 + <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
  2081 + <prefix>grp</prefix>
  2082 + <add_linenr>Y</add_linenr>
  2083 + <linenr_fieldname>bcs</linenr_fieldname>
  2084 + <give_back_row>N</give_back_row>
  2085 + <group>
  2086 + </group>
  2087 + <fields>
  2088 + </fields>
  2089 + <cluster_schema/>
  2090 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2091 + <xloc>692</xloc>
  2092 + <yloc>44</yloc>
  2093 + <draw>Y</draw>
  2094 + </GUI>
  2095 + </step>
  2096 +
  2097 + <step>
  2098 + <name>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</name>
  2099 + <type>Normaliser</type>
  2100 + <description/>
  2101 + <distribute>Y</distribute>
  2102 + <custom_distribution/>
  2103 + <copies>1</copies>
  2104 + <partitioning>
  2105 + <method>none</method>
  2106 + <schema_name/>
  2107 + </partitioning>
  2108 + <typefield>&#x7ad9;&#x70b9;&#x540d;&#x79f0;</typefield>
  2109 + <fields> </fields> <cluster_schema/>
  2110 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2111 + <xloc>248</xloc>
  2112 + <yloc>44</yloc>
  2113 + <draw>Y</draw>
  2114 + </GUI>
  2115 + </step>
  2116 +
  2117 + <step>
  2118 + <name>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178;</name>
  2119 + <type>ValueMapper</type>
  2120 + <description/>
  2121 + <distribute>Y</distribute>
  2122 + <custom_distribution/>
  2123 + <copies>1</copies>
  2124 + <partitioning>
  2125 + <method>none</method>
  2126 + <schema_name/>
  2127 + </partitioning>
  2128 + <field_to_use>bctype</field_to_use>
  2129 + <target_field>bctype_code</target_field>
  2130 + <non_match_default>&#x672a;&#x77e5;&#x7c7b;&#x578b;</non_match_default>
  2131 + <fields>
  2132 + <field>
  2133 + <source_value>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</source_value>
  2134 + <target_value>normal</target_value>
  2135 + </field>
  2136 + <field>
  2137 + <source_value>&#x51fa;&#x573a;</source_value>
  2138 + <target_value>out</target_value>
  2139 + </field>
  2140 + <field>
  2141 + <source_value>&#x8fdb;&#x573a;</source_value>
  2142 + <target_value>in</target_value>
  2143 + </field>
  2144 + <field>
  2145 + <source_value>&#x52a0;&#x6cb9;</source_value>
  2146 + <target_value>oil</target_value>
  2147 + </field>
  2148 + <field>
  2149 + <source_value>&#x4e34;&#x52a0;</source_value>
  2150 + <target_value>temp</target_value>
  2151 + </field>
  2152 + <field>
  2153 + <source_value>&#x533a;&#x95f4;</source_value>
  2154 + <target_value>region</target_value>
  2155 + </field>
  2156 + <field>
  2157 + <source_value>&#x653e;&#x7a7a;</source_value>
  2158 + <target_value>venting</target_value>
  2159 + </field>
  2160 + <field>
  2161 + <source_value>&#x653e;&#x5927;&#x7ad9;</source_value>
  2162 + <target_value>major</target_value>
  2163 + </field>
  2164 + </fields>
  2165 + <cluster_schema/>
  2166 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2167 + <xloc>149</xloc>
  2168 + <yloc>491</yloc>
  2169 + <draw>Y</draw>
  2170 + </GUI>
  2171 + </step>
  2172 +
  2173 + <step>
  2174 + <name>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 2</name>
  2175 + <type>ValueMapper</type>
  2176 + <description/>
  2177 + <distribute>Y</distribute>
  2178 + <custom_distribution/>
  2179 + <copies>1</copies>
  2180 + <partitioning>
  2181 + <method>none</method>
  2182 + <schema_name/>
  2183 + </partitioning>
  2184 + <field_to_use>bctype</field_to_use>
  2185 + <target_field>bctype_code</target_field>
  2186 + <non_match_default>&#x672a;&#x77e5;&#x7c7b;&#x578b;</non_match_default>
  2187 + <fields>
  2188 + <field>
  2189 + <source_value>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</source_value>
  2190 + <target_value>normal</target_value>
  2191 + </field>
  2192 + <field>
  2193 + <source_value>&#x51fa;&#x573a;</source_value>
  2194 + <target_value>out</target_value>
  2195 + </field>
  2196 + <field>
  2197 + <source_value>&#x8fdb;&#x573a;</source_value>
  2198 + <target_value>in</target_value>
  2199 + </field>
  2200 + <field>
  2201 + <source_value>&#x52a0;&#x6cb9;</source_value>
  2202 + <target_value>oil</target_value>
  2203 + </field>
  2204 + <field>
  2205 + <source_value>&#x4e34;&#x52a0;</source_value>
  2206 + <target_value>temp</target_value>
  2207 + </field>
  2208 + <field>
  2209 + <source_value>&#x533a;&#x95f4;</source_value>
  2210 + <target_value>region</target_value>
  2211 + </field>
  2212 + <field>
  2213 + <source_value>&#x653e;&#x7a7a;</source_value>
  2214 + <target_value>venting</target_value>
  2215 + </field>
  2216 + <field>
  2217 + <source_value>&#x653e;&#x5927;&#x7ad9;</source_value>
  2218 + <target_value>major</target_value>
  2219 + </field>
  2220 + </fields>
  2221 + <cluster_schema/>
  2222 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2223 + <xloc>333</xloc>
  2224 + <yloc>681</yloc>
  2225 + <draw>Y</draw>
  2226 + </GUI>
  2227 + </step>
  2228 +
  2229 + <step>
  2230 + <name>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 3</name>
  2231 + <type>ValueMapper</type>
  2232 + <description/>
  2233 + <distribute>Y</distribute>
  2234 + <custom_distribution/>
  2235 + <copies>1</copies>
  2236 + <partitioning>
  2237 + <method>none</method>
  2238 + <schema_name/>
  2239 + </partitioning>
  2240 + <field_to_use>bctype</field_to_use>
  2241 + <target_field>bctype_code</target_field>
  2242 + <non_match_default>&#x672a;&#x77e5;&#x7c7b;&#x578b;</non_match_default>
  2243 + <fields>
  2244 + <field>
  2245 + <source_value>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</source_value>
  2246 + <target_value>normal</target_value>
  2247 + </field>
  2248 + <field>
  2249 + <source_value>&#x51fa;&#x573a;</source_value>
  2250 + <target_value>out</target_value>
  2251 + </field>
  2252 + <field>
  2253 + <source_value>&#x8fdb;&#x573a;</source_value>
  2254 + <target_value>in</target_value>
  2255 + </field>
  2256 + <field>
  2257 + <source_value>&#x52a0;&#x6cb9;</source_value>
  2258 + <target_value>oil</target_value>
  2259 + </field>
  2260 + <field>
  2261 + <source_value>&#x4e34;&#x52a0;</source_value>
  2262 + <target_value>temp</target_value>
  2263 + </field>
  2264 + <field>
  2265 + <source_value>&#x533a;&#x95f4;</source_value>
  2266 + <target_value>region</target_value>
  2267 + </field>
  2268 + <field>
  2269 + <source_value>&#x653e;&#x7a7a;</source_value>
  2270 + <target_value>venting</target_value>
  2271 + </field>
  2272 + <field>
  2273 + <source_value>&#x653e;&#x5927;&#x7ad9;</source_value>
  2274 + <target_value>major</target_value>
  2275 + </field>
  2276 + </fields>
  2277 + <cluster_schema/>
  2278 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2279 + <xloc>551</xloc>
  2280 + <yloc>928</yloc>
  2281 + <draw>Y</draw>
  2282 + </GUI>
  2283 + </step>
  2284 +
  2285 + <step>
  2286 + <name>&#x7c7b;&#x578b;&#x4fee;&#x6b63;</name>
  2287 + <type>SelectValues</type>
  2288 + <description/>
  2289 + <distribute>Y</distribute>
  2290 + <custom_distribution/>
  2291 + <copies>1</copies>
  2292 + <partitioning>
  2293 + <method>none</method>
  2294 + <schema_name/>
  2295 + </partitioning>
  2296 + <fields> <select_unspecified>N</select_unspecified>
  2297 + <meta> <name>jhlc</name>
  2298 + <rename>jhlc</rename>
  2299 + <type>Number</type>
  2300 + <length>-2</length>
  2301 + <precision>-2</precision>
  2302 + <conversion_mask/>
  2303 + <date_format_lenient>false</date_format_lenient>
  2304 + <date_format_locale/>
  2305 + <date_format_timezone/>
  2306 + <lenient_string_to_number>false</lenient_string_to_number>
  2307 + <encoding/>
  2308 + <decimal_symbol/>
  2309 + <grouping_symbol/>
  2310 + <currency_symbol/>
  2311 + <storage_type/>
  2312 + </meta> <meta> <name>bcsj</name>
  2313 + <rename>bcsj</rename>
  2314 + <type>Integer</type>
  2315 + <length>-2</length>
  2316 + <precision>-2</precision>
  2317 + <conversion_mask/>
  2318 + <date_format_lenient>false</date_format_lenient>
  2319 + <date_format_locale/>
  2320 + <date_format_timezone/>
  2321 + <lenient_string_to_number>false</lenient_string_to_number>
  2322 + <encoding/>
  2323 + <decimal_symbol/>
  2324 + <grouping_symbol/>
  2325 + <currency_symbol/>
  2326 + <storage_type/>
  2327 + </meta> </fields> <cluster_schema/>
  2328 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2329 + <xloc>146</xloc>
  2330 + <yloc>768</yloc>
  2331 + <draw>Y</draw>
  2332 + </GUI>
  2333 + </step>
  2334 +
  2335 + <step>
  2336 + <name>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 2</name>
  2337 + <type>SelectValues</type>
  2338 + <description/>
  2339 + <distribute>Y</distribute>
  2340 + <custom_distribution/>
  2341 + <copies>1</copies>
  2342 + <partitioning>
  2343 + <method>none</method>
  2344 + <schema_name/>
  2345 + </partitioning>
  2346 + <fields> <select_unspecified>N</select_unspecified>
  2347 + <meta> <name>out_mileage</name>
  2348 + <rename>out_mileage</rename>
  2349 + <type>Number</type>
  2350 + <length>-2</length>
  2351 + <precision>-2</precision>
  2352 + <conversion_mask/>
  2353 + <date_format_lenient>false</date_format_lenient>
  2354 + <date_format_locale/>
  2355 + <date_format_timezone/>
  2356 + <lenient_string_to_number>false</lenient_string_to_number>
  2357 + <encoding/>
  2358 + <decimal_symbol/>
  2359 + <grouping_symbol/>
  2360 + <currency_symbol/>
  2361 + <storage_type/>
  2362 + </meta> <meta> <name>out_time</name>
  2363 + <rename>out_time</rename>
  2364 + <type>Integer</type>
  2365 + <length>-2</length>
  2366 + <precision>-2</precision>
  2367 + <conversion_mask/>
  2368 + <date_format_lenient>false</date_format_lenient>
  2369 + <date_format_locale/>
  2370 + <date_format_timezone/>
  2371 + <lenient_string_to_number>false</lenient_string_to_number>
  2372 + <encoding/>
  2373 + <decimal_symbol/>
  2374 + <grouping_symbol/>
  2375 + <currency_symbol/>
  2376 + <storage_type/>
  2377 + </meta> </fields> <cluster_schema/>
  2378 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2379 + <xloc>338</xloc>
  2380 + <yloc>949</yloc>
  2381 + <draw>Y</draw>
  2382 + </GUI>
  2383 + </step>
  2384 +
  2385 + <step>
  2386 + <name>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 3</name>
  2387 + <type>SelectValues</type>
  2388 + <description/>
  2389 + <distribute>Y</distribute>
  2390 + <custom_distribution/>
  2391 + <copies>1</copies>
  2392 + <partitioning>
  2393 + <method>none</method>
  2394 + <schema_name/>
  2395 + </partitioning>
  2396 + <fields> <select_unspecified>N</select_unspecified>
  2397 + <meta> <name>parade_mileage</name>
  2398 + <rename>parade_mileage</rename>
  2399 + <type>Number</type>
  2400 + <length>-2</length>
  2401 + <precision>-2</precision>
  2402 + <conversion_mask/>
  2403 + <date_format_lenient>false</date_format_lenient>
  2404 + <date_format_locale/>
  2405 + <date_format_timezone/>
  2406 + <lenient_string_to_number>false</lenient_string_to_number>
  2407 + <encoding/>
  2408 + <decimal_symbol/>
  2409 + <grouping_symbol/>
  2410 + <currency_symbol/>
  2411 + <storage_type/>
  2412 + </meta> <meta> <name>parade_time</name>
  2413 + <rename>parade_time</rename>
  2414 + <type>Integer</type>
  2415 + <length>-2</length>
  2416 + <precision>-2</precision>
  2417 + <conversion_mask/>
  2418 + <date_format_lenient>false</date_format_lenient>
  2419 + <date_format_locale/>
  2420 + <date_format_timezone/>
  2421 + <lenient_string_to_number>false</lenient_string_to_number>
  2422 + <encoding/>
  2423 + <decimal_symbol/>
  2424 + <grouping_symbol/>
  2425 + <currency_symbol/>
  2426 + <storage_type/>
  2427 + </meta> </fields> <cluster_schema/>
  2428 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2429 + <xloc>875</xloc>
  2430 + <yloc>1001</yloc>
  2431 + <draw>Y</draw>
  2432 + </GUI>
  2433 + </step>
  2434 +
  2435 + <step>
  2436 + <name>&#x8ba1;&#x7b97;&#x73ed;&#x6b21;&#x7c7b;&#x578b;</name>
  2437 + <type>ValueMapper</type>
  2438 + <description/>
  2439 + <distribute>Y</distribute>
  2440 + <custom_distribution/>
  2441 + <copies>1</copies>
  2442 + <partitioning>
  2443 + <method>none</method>
  2444 + <schema_name/>
  2445 + </partitioning>
  2446 + <field_to_use>qdzname</field_to_use>
  2447 + <target_field>bctype</target_field>
  2448 + <non_match_default>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</non_match_default>
  2449 + <fields>
  2450 + <field>
  2451 + <source_value>&#x51fa;&#x573a;</source_value>
  2452 + <target_value>&#x51fa;&#x573a;</target_value>
  2453 + </field>
  2454 + <field>
  2455 + <source_value>&#x8fdb;&#x573a;</source_value>
  2456 + <target_value>&#x8fdb;&#x573a;</target_value>
  2457 + </field>
  2458 + </fields>
  2459 + <cluster_schema/>
  2460 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2461 + <xloc>1014</xloc>
  2462 + <yloc>401</yloc>
  2463 + <draw>Y</draw>
  2464 + </GUI>
  2465 + </step>
  2466 +
  2467 + <step>
  2468 + <name>&#x8bb0;&#x5f55;&#x5173;&#x8054; &#x28;&#x7b1b;&#x5361;&#x5c14;&#x8f93;&#x51fa;&#x29;</name>
  2469 + <type>JoinRows</type>
  2470 + <description/>
  2471 + <distribute>Y</distribute>
  2472 + <custom_distribution/>
  2473 + <copies>1</copies>
  2474 + <partitioning>
  2475 + <method>none</method>
  2476 + <schema_name/>
  2477 + </partitioning>
  2478 + <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
  2479 + <prefix>out</prefix>
  2480 + <cache_size>500</cache_size>
  2481 + <main/>
  2482 + <compare>
  2483 +<condition>
  2484 + <negated>N</negated>
  2485 + <leftvalue/>
  2486 + <function>&#x3d;</function>
  2487 + <rightvalue/>
  2488 + </condition>
  2489 + </compare>
  2490 + <cluster_schema/>
  2491 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2492 + <xloc>310</xloc>
  2493 + <yloc>133</yloc>
  2494 + <draw>Y</draw>
  2495 + </GUI>
  2496 + </step>
  2497 +
  2498 + <step>
  2499 + <name>&#x8fc7;&#x6ee4;&#x8bb0;&#x5f55;&#xff08;&#x53d1;&#x8f66;&#x65f6;&#x95f4;&#x4e3a;&#x7a7a;&#xff09;</name>
  2500 + <type>FilterRows</type>
  2501 + <description/>
  2502 + <distribute>Y</distribute>
  2503 + <custom_distribution/>
  2504 + <copies>1</copies>
  2505 + <partitioning>
  2506 + <method>none</method>
  2507 + <schema_name/>
  2508 + </partitioning>
  2509 +<send_true_to/>
  2510 +<send_false_to/>
  2511 + <compare>
  2512 +<condition>
  2513 + <negated>N</negated>
  2514 + <leftvalue>sendtime</leftvalue>
  2515 + <function>IS NOT NULL</function>
  2516 + <rightvalue/>
  2517 + </condition>
  2518 + </compare>
  2519 + <cluster_schema/>
  2520 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2521 + <xloc>571</xloc>
  2522 + <yloc>44</yloc>
  2523 + <draw>Y</draw>
  2524 + </GUI>
  2525 + </step>
  2526 +
  2527 + <step>
  2528 + <name>&#x8fdb;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x8d77;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</name>
  2529 + <type>ScriptValueMod</type>
  2530 + <description/>
  2531 + <distribute>Y</distribute>
  2532 + <custom_distribution/>
  2533 + <copies>1</copies>
  2534 + <partitioning>
  2535 + <method>none</method>
  2536 + <schema_name/>
  2537 + </partitioning>
  2538 + <compatible>N</compatible>
  2539 + <optimizationLevel>9</optimizationLevel>
  2540 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  2541 + <jsScript_name>Script 1</jsScript_name>
  2542 + <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 qdzname_calcu &#x3d; cc_groups&#x5b;gno - 2&#x5d;&#x3b; &#x2f;&#x2f; &#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x70b9;&#x7ad9;&#x662f;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ec8;&#x70b9;&#x7ad9;&#xff0c;&#x8fd9;&#x91cc;&#x53ea;&#x6709;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x70b9;&#x7ad9;&#xff0c;&#x8fd8;&#x9700;&#x8981;&#x8ba1;&#x7b97;&#xa;var startZdtype_calcu &#x3d; &#x27;B&#x27;&#x3b;&#xa;var endZdtype_calcu &#x3d; &#x27;E&#x27;&#x3b;</jsScript_script>
  2543 + </jsScript> </jsScripts> <fields> <field> <name>qdzname_calcu</name>
  2544 + <rename>qdzname_calcu</rename>
  2545 + <type>String</type>
  2546 + <length>-1</length>
  2547 + <precision>-1</precision>
  2548 + <replace>N</replace>
  2549 + </field> <field> <name>startZdtype_calcu</name>
  2550 + <rename>startZdtype_calcu</rename>
  2551 + <type>String</type>
  2552 + <length>-1</length>
  2553 + <precision>-1</precision>
  2554 + <replace>N</replace>
  2555 + </field> <field> <name>endZdtype_calcu</name>
  2556 + <rename>endZdtype_calcu</rename>
  2557 + <type>String</type>
  2558 + <length>-1</length>
  2559 + <precision>-1</precision>
  2560 + <replace>N</replace>
  2561 + </field> </fields> <cluster_schema/>
  2562 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2563 + <xloc>754</xloc>
  2564 + <yloc>610</yloc>
  2565 + <draw>Y</draw>
  2566 + </GUI>
  2567 + </step>
  2568 +
  2569 + <step>
  2570 + <name>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</name>
  2571 + <type>Dummy</type>
  2572 + <description/>
  2573 + <distribute>Y</distribute>
  2574 + <custom_distribution/>
  2575 + <copies>1</copies>
  2576 + <partitioning>
  2577 + <method>none</method>
  2578 + <schema_name/>
  2579 + </partitioning>
  2580 + <cluster_schema/>
  2581 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2582 + <xloc>997</xloc>
  2583 + <yloc>606</yloc>
  2584 + <draw>Y</draw>
  2585 + </GUI>
  2586 + </step>
  2587 +
  2588 + <step_error_handling>
  2589 + </step_error_handling>
  2590 + <slave-step-copy-partition-distribution>
  2591 +</slave-step-copy-partition-distribution>
  2592 + <slave_transformation>N</slave_transformation>
  2593 +
  2594 +</transformation>
src/main/resources/datatools/ktrs/ttinfodetailMetaData.ktr
1 -<?xml version="1.0" encoding="UTF-8"?>  
2 -<transformation>  
3 - <info>  
4 - <name>ttinfodetailMetaData</name>  
5 - <description/>  
6 - <extended_description/>  
7 - <trans_version/>  
8 - <trans_type>Normal</trans_type>  
9 - <trans_status>0</trans_status>  
10 - <directory>&#x2f;</directory>  
11 - <parameters>  
12 - <parameter>  
13 - <name>erroroutputdir</name>  
14 - <default_value>&#x2f;Users&#x2f;xu&#x2f;resource&#x2f;project_code&#x2f;runtime_temp&#x2f;bsth_control_u_d_files&#x2f;erroroutput</default_value>  
15 - <description>ktr step&#x914d;&#x7f6e;&#x7684;&#x9519;&#x8bef;&#x8f93;&#x51fa;&#x76ee;&#x5f55;</description>  
16 - </parameter>  
17 - <parameter>  
18 - <name>excelfieldnames</name>  
19 - <default_value>&#x8def;&#x724c;,&#x51fa;&#x573a;,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;1,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;1,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;2,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;2,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;3,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;3,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;4,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;4,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;5,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;5,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;6,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;6,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;7,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;7,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;8,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;8,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;9,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;9,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;10,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;10,&#x8fdb;&#x573a;</default_value>  
20 - <description>&#x65f6;&#x523b;&#x8868;excel&#x8f93;&#x5165;&#x5b57;&#x6bb5;&#x540d;&#xff0c;&#x4ee5;&#x9017;&#x53f7;&#x8fde;&#x63a5;</description>  
21 - </parameter>  
22 - <parameter>  
23 - <name>filepath</name>  
24 - <default_value>&#x2f;Users&#x2f;xu&#x2f;resource&#x2f;project_code&#x2f;bsth_project&#x2f;bsth_control_etl&#x2f;&#x95f5;&#x884c;&#x516c;&#x4ea4;&#x2f;&#x95f5;&#x884c;26&#x8def;&#x65f6;&#x523b;&#x8868;160630&#x65f6;&#x523b;&#x8868;.xls</default_value>  
25 - <description>&#x5f85;&#x5904;&#x7406;&#x5bfc;&#x5165;&#x7684;excel&#x6587;&#x4ef6;</description>  
26 - </parameter>  
27 - <parameter>  
28 - <name>injectktrfile</name>  
29 - <default_value>&#x2f;Users&#x2f;xu&#x2f;resource&#x2f;project_code&#x2f;bsth_project&#x2f;bsth_control&#x2f;src&#x2f;main&#x2f;resources&#x2f;datatools&#x2f;ktrs&#x2f;ttinfodetailDataInput.ktr</default_value>  
30 - <description>&#x6ce8;&#x5165;&#x5143;&#x6570;&#x636e;&#x7684;ktr&#x6587;&#x4ef6;</description>  
31 - </parameter>  
32 - <parameter>  
33 - <name>normalizefieldnames</name>  
34 - <default_value>&#x51fa;&#x573a;,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;1,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;1,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;2,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;2,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;3,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;3,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;4,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;4,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;5,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;5,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;6,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;6,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;7,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;7,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;8,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;8,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;9,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;9,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;10,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;10,&#x8fdb;&#x573a;</default_value>  
35 - <description>&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;&#x5b57;&#x6bb5;&#x540d;&#xff0c;&#x4ee5;&#x9017;&#x53f7;&#x8fde;&#x63a5;</description>  
36 - </parameter>  
37 - <parameter>  
38 - <name>sheetname</name>  
39 - <default_value>&#x5de5;&#x4f5c;&#x8868;1</default_value>  
40 - <description/>  
41 - </parameter>  
42 - <parameter>  
43 - <name>tccname</name>  
44 - <default_value>&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;&#x505c;&#x8f66;&#x573a;</default_value>  
45 - <description>&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</description>  
46 - </parameter>  
47 - <parameter>  
48 - <name>ttinfoname</name>  
49 - <default_value>&#x8868;2</default_value>  
50 - <description>&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;</description>  
51 - </parameter>  
52 - <parameter>  
53 - <name>xlname</name>  
54 - <default_value>&#x95f5;&#x884c;26&#x8def;</default_value>  
55 - <description>&#x7ebf;&#x8def;&#x540d;&#x79f0;</description>  
56 - </parameter>  
57 - </parameters>  
58 - <log>  
59 -<trans-log-table><connection/>  
60 -<schema/>  
61 -<table/>  
62 -<size_limit_lines/>  
63 -<interval/>  
64 -<timeout_days/>  
65 -<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STATUS</id><enabled>Y</enabled><name>STATUS</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name><subject/></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name><subject/></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name><subject/></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name><subject/></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name><subject/></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name><subject/></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>STARTDATE</id><enabled>Y</enabled><name>STARTDATE</name></field><field><id>ENDDATE</id><enabled>Y</enabled><name>ENDDATE</name></field><field><id>LOGDATE</id><enabled>Y</enabled><name>LOGDATE</name></field><field><id>DEPDATE</id><enabled>Y</enabled><name>DEPDATE</name></field><field><id>REPLAYDATE</id><enabled>Y</enabled><name>REPLAYDATE</name></field><field><id>LOG_FIELD</id><enabled>Y</enabled><name>LOG_FIELD</name></field><field><id>EXECUTING_SERVER</id><enabled>N</enabled><name>EXECUTING_SERVER</name></field><field><id>EXECUTING_USER</id><enabled>N</enabled><name>EXECUTING_USER</name></field><field><id>CLIENT</id><enabled>N</enabled><name>CLIENT</name></field></trans-log-table>  
66 -<perf-log-table><connection/>  
67 -<schema/>  
68 -<table/>  
69 -<interval/>  
70 -<timeout_days/>  
71 -<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>SEQ_NR</id><enabled>Y</enabled><name>SEQ_NR</name></field><field><id>LOGDATE</id><enabled>Y</enabled><name>LOGDATE</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STEPNAME</id><enabled>Y</enabled><name>STEPNAME</name></field><field><id>STEP_COPY</id><enabled>Y</enabled><name>STEP_COPY</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>INPUT_BUFFER_ROWS</id><enabled>Y</enabled><name>INPUT_BUFFER_ROWS</name></field><field><id>OUTPUT_BUFFER_ROWS</id><enabled>Y</enabled><name>OUTPUT_BUFFER_ROWS</name></field></perf-log-table>  
72 -<channel-log-table><connection/>  
73 -<schema/>  
74 -<table/>  
75 -<timeout_days/>  
76 -<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>LOGGING_OBJECT_TYPE</id><enabled>Y</enabled><name>LOGGING_OBJECT_TYPE</name></field><field><id>OBJECT_NAME</id><enabled>Y</enabled><name>OBJECT_NAME</name></field><field><id>OBJECT_COPY</id><enabled>Y</enabled><name>OBJECT_COPY</name></field><field><id>REPOSITORY_DIRECTORY</id><enabled>Y</enabled><name>REPOSITORY_DIRECTORY</name></field><field><id>FILENAME</id><enabled>Y</enabled><name>FILENAME</name></field><field><id>OBJECT_ID</id><enabled>Y</enabled><name>OBJECT_ID</name></field><field><id>OBJECT_REVISION</id><enabled>Y</enabled><name>OBJECT_REVISION</name></field><field><id>PARENT_CHANNEL_ID</id><enabled>Y</enabled><name>PARENT_CHANNEL_ID</name></field><field><id>ROOT_CHANNEL_ID</id><enabled>Y</enabled><name>ROOT_CHANNEL_ID</name></field></channel-log-table>  
77 -<step-log-table><connection/>  
78 -<schema/>  
79 -<table/>  
80 -<timeout_days/>  
81 -<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STEPNAME</id><enabled>Y</enabled><name>STEPNAME</name></field><field><id>STEP_COPY</id><enabled>Y</enabled><name>STEP_COPY</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>LOG_FIELD</id><enabled>N</enabled><name>LOG_FIELD</name></field></step-log-table>  
82 -<metrics-log-table><connection/>  
83 -<schema/>  
84 -<table/>  
85 -<timeout_days/>  
86 -<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>METRICS_DATE</id><enabled>Y</enabled><name>METRICS_DATE</name></field><field><id>METRICS_CODE</id><enabled>Y</enabled><name>METRICS_CODE</name></field><field><id>METRICS_DESCRIPTION</id><enabled>Y</enabled><name>METRICS_DESCRIPTION</name></field><field><id>METRICS_SUBJECT</id><enabled>Y</enabled><name>METRICS_SUBJECT</name></field><field><id>METRICS_TYPE</id><enabled>Y</enabled><name>METRICS_TYPE</name></field><field><id>METRICS_VALUE</id><enabled>Y</enabled><name>METRICS_VALUE</name></field></metrics-log-table>  
87 - </log>  
88 - <maxdate>  
89 - <connection/>  
90 - <table/>  
91 - <field/>  
92 - <offset>0.0</offset>  
93 - <maxdiff>0.0</maxdiff>  
94 - </maxdate>  
95 - <size_rowset>10000</size_rowset>  
96 - <sleep_time_empty>50</sleep_time_empty>  
97 - <sleep_time_full>50</sleep_time_full>  
98 - <unique_connections>N</unique_connections>  
99 - <feedback_shown>Y</feedback_shown>  
100 - <feedback_size>50000</feedback_size>  
101 - <using_thread_priorities>Y</using_thread_priorities>  
102 - <shared_objects_file/>  
103 - <capture_step_performance>N</capture_step_performance>  
104 - <step_performance_capturing_delay>1000</step_performance_capturing_delay>  
105 - <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit>  
106 - <dependencies>  
107 - </dependencies>  
108 - <partitionschemas>  
109 - </partitionschemas>  
110 - <slaveservers>  
111 - </slaveservers>  
112 - <clusterschemas>  
113 - </clusterschemas>  
114 - <created_user>-</created_user>  
115 - <created_date>2016&#x2f;07&#x2f;01 09&#x3a;55&#x3a;32.649</created_date>  
116 - <modified_user>-</modified_user>  
117 - <modified_date>2016&#x2f;07&#x2f;01 09&#x3a;55&#x3a;32.649</modified_date>  
118 - <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</key_for_session_key>  
119 - <is_key_private>N</is_key_private>  
120 - </info>  
121 - <notepads>  
122 - </notepads>  
123 - <connection>  
124 - <name>bus_control_variable</name>  
125 - <server>&#x24;&#x7b;v_db_ip&#x7d;</server>  
126 - <type>MYSQL</type>  
127 - <access>Native</access>  
128 - <database>&#x24;&#x7b;v_db_dname&#x7d;</database>  
129 - <port>3306</port>  
130 - <username>&#x24;&#x7b;v_db_uname&#x7d;</username>  
131 - <password>&#x24;&#x7b;v_db_pwd&#x7d;</password>  
132 - <servername/>  
133 - <data_tablespace/>  
134 - <index_tablespace/>  
135 - <attributes>  
136 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
137 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
138 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
139 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
140 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
141 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
142 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
143 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
144 - <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>  
145 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
146 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
147 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
148 - </attributes>  
149 - </connection>  
150 - <connection>  
151 - <name>bus_control_&#x516c;&#x53f8;_201</name>  
152 - <server>localhost</server>  
153 - <type>MYSQL</type>  
154 - <access>Native</access>  
155 - <database>control</database>  
156 - <port>3306</port>  
157 - <username>root</username>  
158 - <password>Encrypted </password>  
159 - <servername/>  
160 - <data_tablespace/>  
161 - <index_tablespace/>  
162 - <attributes>  
163 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
164 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
165 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
166 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
167 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
168 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
169 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
170 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
171 - <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>  
172 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
173 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
174 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
175 - </attributes>  
176 - </connection>  
177 - <connection>  
178 - <name>bus_control_&#x672c;&#x673a;</name>  
179 - <server>localhost</server>  
180 - <type>MYSQL</type>  
181 - <access>Native</access>  
182 - <database>control</database>  
183 - <port>3306</port>  
184 - <username>root</username>  
185 - <password>Encrypted </password>  
186 - <servername/>  
187 - <data_tablespace/>  
188 - <index_tablespace/>  
189 - <attributes>  
190 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
191 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
192 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
193 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
194 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
195 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
196 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
197 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
198 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
199 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
200 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
201 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
202 - </attributes>  
203 - </connection>  
204 - <connection>  
205 - <name>xlab_mysql_youle</name>  
206 - <server>101.231.124.8</server>  
207 - <type>MYSQL</type>  
208 - <access>Native</access>  
209 - <database>xlab_youle</database>  
210 - <port>45687</port>  
211 - <username>xlab-youle</username>  
212 - <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password>  
213 - <servername/>  
214 - <data_tablespace/>  
215 - <index_tablespace/>  
216 - <attributes>  
217 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
218 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
219 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
220 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
221 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
222 - <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute>  
223 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
224 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
225 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
226 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>  
227 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>  
228 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
229 - </attributes>  
230 - </connection>  
231 - <connection>  
232 - <name>xlab_mysql_youle&#xff08;&#x672c;&#x673a;&#xff09;</name>  
233 - <server>localhost</server>  
234 - <type>MYSQL</type>  
235 - <access>Native</access>  
236 - <database>xlab_youle</database>  
237 - <port>3306</port>  
238 - <username>root</username>  
239 - <password>Encrypted </password>  
240 - <servername/>  
241 - <data_tablespace/>  
242 - <index_tablespace/>  
243 - <attributes>  
244 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
245 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
246 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
247 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
248 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
249 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
250 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
251 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
252 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
253 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>  
254 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>  
255 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
256 - </attributes>  
257 - </connection>  
258 - <connection>  
259 - <name>xlab_youle</name>  
260 - <server/>  
261 - <type>MYSQL</type>  
262 - <access>JNDI</access>  
263 - <database>xlab_youle</database>  
264 - <port>1521</port>  
265 - <username/>  
266 - <password>Encrypted </password>  
267 - <servername/>  
268 - <data_tablespace/>  
269 - <index_tablespace/>  
270 - <attributes>  
271 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
272 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
273 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
274 - <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>  
275 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
276 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
277 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
278 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
279 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
280 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
281 - </attributes>  
282 - </connection>  
283 - <order>  
284 - <hop> <from>&#x83b7;&#x53d6;excel&#x6587;&#x4ef6;&#x540d;</from><to>ETL&#x5143;&#x6570;&#x636e;&#x6ce8;&#x5165;</to><enabled>Y</enabled> </hop>  
285 - <hop> <from>&#x83b7;&#x53d6;excel&#x5b57;&#x6bb5;&#x540d;&#x5b57;&#x7b26;&#x4e32;</from><to>&#x9017;&#x53f7;&#x5207;&#x5206;&#x6210;&#x5b57;&#x6bb5;&#x540d;</to><enabled>Y</enabled> </hop>  
286 - <hop> <from>&#x9017;&#x53f7;&#x5207;&#x5206;&#x6210;&#x5b57;&#x6bb5;&#x540d;</from><to>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>  
287 - <hop> <from>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</from><to>ETL&#x5143;&#x6570;&#x636e;&#x6ce8;&#x5165;</to><enabled>Y</enabled> </hop>  
288 - <hop> <from>&#x83b7;&#x53d6;normalize&#x5b57;&#x6bb5;&#x540d;&#x5b57;&#x7b26;&#x4e32;</from><to>&#x9017;&#x53f7;&#x5207;&#x5206;&#x6210;&#x5b57;&#x6bb5;&#x540d; 2</to><enabled>Y</enabled> </hop>  
289 - <hop> <from>&#x9017;&#x53f7;&#x5207;&#x5206;&#x6210;&#x5b57;&#x6bb5;&#x540d; 2</from><to>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>  
290 - <hop> <from>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</from><to>ETL&#x5143;&#x6570;&#x636e;&#x6ce8;&#x5165;</to><enabled>Y</enabled> </hop>  
291 - <hop> <from>&#x83b7;&#x53d6;&#x7ebf;&#x8def;&#x540d;&#x79f0;</from><to>&#x589e;&#x52a0;&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata</to><enabled>Y</enabled> </hop>  
292 - <hop> <from>&#x589e;&#x52a0;&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata</from><to>&#x66ff;&#x6362;&#x7ebf;&#x8def;&#x540d;&#x79f0;</to><enabled>Y</enabled> </hop>  
293 - <hop> <from>&#x66ff;&#x6362;&#x7ebf;&#x8def;&#x540d;&#x79f0;</from><to>&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</to><enabled>Y</enabled> </hop>  
294 - <hop> <from>&#x83b7;&#x53d6;&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;</from><to>&#x589e;&#x52a0;&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata</to><enabled>Y</enabled> </hop>  
295 - <hop> <from>&#x589e;&#x52a0;&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata</from><to>&#x66ff;&#x6362;&#x505c;&#x8f66;&#x5382;&#x540d;&#x5b57; </to><enabled>Y</enabled> </hop>  
296 - <hop> <from>&#x66ff;&#x6362;&#x505c;&#x8f66;&#x5382;&#x540d;&#x5b57; </from><to>&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</to><enabled>Y</enabled> </hop>  
297 - <hop> <from>&#x83b7;&#x53d6;&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;&#x540d;&#x79f0;</from><to>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;metadata</to><enabled>Y</enabled> </hop>  
298 - <hop> <from>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;metadata</from><to>&#x66ff;&#x6362;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;</to><enabled>Y</enabled> </hop>  
299 - <hop> <from>&#x66ff;&#x6362;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;</from><to>&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</to><enabled>Y</enabled> </hop>  
300 - <hop> <from>&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</from><to>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</to><enabled>Y</enabled> </hop>  
301 - <hop> <from>&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</from><to>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</to><enabled>Y</enabled> </hop>  
302 - <hop> <from>&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</from><to>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</to><enabled>Y</enabled> </hop>  
303 - <hop> <from>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</from><to>ETL&#x5143;&#x6570;&#x636e;&#x6ce8;&#x5165;</to><enabled>Y</enabled> </hop>  
304 - </order>  
305 - <step>  
306 - <name>ETL&#x5143;&#x6570;&#x636e;&#x6ce8;&#x5165;</name>  
307 - <type>MetaInject</type>  
308 - <description/>  
309 - <distribute>Y</distribute>  
310 - <custom_distribution/>  
311 - <copies>1</copies>  
312 - <partitioning>  
313 - <method>none</method>  
314 - <schema_name/>  
315 - </partitioning>  
316 - <specification_method>filename</specification_method>  
317 - <trans_object_id/>  
318 - <trans_name/>  
319 - <filename>&#x24;&#x7b;injectktrfile&#x7d;</filename>  
320 - <directory_path/>  
321 - <source_step/>  
322 - <source_output_fields> </source_output_fields> <target_file/>  
323 - <no_execution>N</no_execution>  
324 - <stream_source_step/>  
325 - <stream_target_step/>  
326 - <mappings> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>  
327 - <target_attribute_key>FORMAT</target_attribute_key>  
328 - <target_detail>Y</target_detail>  
329 - <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>  
330 - <source_field>format</source_field>  
331 - </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>  
332 - <target_attribute_key>REPEAT</target_attribute_key>  
333 - <target_detail>Y</target_detail>  
334 - <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>  
335 - <source_field>repeat</source_field>  
336 - </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>  
337 - <target_attribute_key>TRIM_TYPE</target_attribute_key>  
338 - <target_detail>Y</target_detail>  
339 - <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>  
340 - <source_field>trim_type</source_field>  
341 - </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>  
342 - <target_attribute_key>FILENAME</target_attribute_key>  
343 - <target_detail>Y</target_detail>  
344 - <source_step>&#x83b7;&#x53d6;excel&#x6587;&#x4ef6;&#x540d;</source_step>  
345 - <source_field>filepath_</source_field>  
346 - </mapping> <mapping> <target_step_name>&#x884c;&#x8f6c;&#x5217;</target_step_name>  
347 - <target_attribute_key>NAME</target_attribute_key>  
348 - <target_detail>Y</target_detail>  
349 - <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c; 2</source_step>  
350 - <source_field>fieldName</source_field>  
351 - </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>  
352 - <target_attribute_key>NAME</target_attribute_key>  
353 - <target_detail>Y</target_detail>  
354 - <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>  
355 - <source_field>fieldname</source_field>  
356 - </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>  
357 - <target_attribute_key>SHEET_NAME</target_attribute_key>  
358 - <target_detail>Y</target_detail>  
359 - <source_step>&#x83b7;&#x53d6;excel&#x6587;&#x4ef6;&#x540d;</source_step>  
360 - <source_field>sheetname_</source_field>  
361 - </mapping> <mapping> <target_step_name>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;&#xff0c;&#x7ebf;&#x8def;&#x540d;&#x5b57;&#xff0c;&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</target_step_name>  
362 - <target_attribute_key>NAME</target_attribute_key>  
363 - <target_detail>Y</target_detail>  
364 - <source_step>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</source_step>  
365 - <source_field>col_name</source_field>  
366 - </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>  
367 - <target_attribute_key>NAME</target_attribute_key>  
368 - <target_detail>Y</target_detail>  
369 - <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>  
370 - <source_field>fieldName</source_field>  
371 - </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>  
372 - <target_attribute_key>TRIM_TYPE</target_attribute_key>  
373 - <target_detail>Y</target_detail>  
374 - <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>  
375 - <source_field>trim_type</source_field>  
376 - </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>  
377 - <target_attribute_key>REPEAT</target_attribute_key>  
378 - <target_detail>Y</target_detail>  
379 - <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>  
380 - <source_field>repeat</source_field>  
381 - </mapping> <mapping> <target_step_name>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</target_step_name>  
382 - <target_attribute_key>NORMALISED</target_attribute_key>  
383 - <target_detail>Y</target_detail>  
384 - <source_step>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</source_step>  
385 - <source_field>valuefield</source_field>  
386 - </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>  
387 - <target_attribute_key>FORMAT</target_attribute_key>  
388 - <target_detail>Y</target_detail>  
389 - <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>  
390 - <source_field>format</source_field>  
391 - </mapping> <mapping> <target_step_name>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</target_step_name>  
392 - <target_attribute_key>VALUE</target_attribute_key>  
393 - <target_detail>Y</target_detail>  
394 - <source_step>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</source_step>  
395 - <source_field>nfieldname</source_field>  
396 - </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>  
397 - <target_attribute_key>PRECISION</target_attribute_key>  
398 - <target_detail>Y</target_detail>  
399 - <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>  
400 - <source_field>precision</source_field>  
401 - </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>  
402 - <target_attribute_key>TYPE</target_attribute_key>  
403 - <target_detail>Y</target_detail>  
404 - <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>  
405 - <source_field>type</source_field>  
406 - </mapping> <mapping> <target_step_name>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;&#xff0c;&#x7ebf;&#x8def;&#x540d;&#x5b57;&#xff0c;&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</target_step_name>  
407 - <target_attribute_key>DATA_VALUE</target_attribute_key>  
408 - <target_detail>Y</target_detail>  
409 - <source_step>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</source_step>  
410 - <source_field>col_value</source_field>  
411 - </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>  
412 - <target_attribute_key>LENGTH</target_attribute_key>  
413 - <target_detail>Y</target_detail>  
414 - <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>  
415 - <source_field>length</source_field>  
416 - </mapping> <mapping> <target_step_name>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;&#xff0c;&#x7ebf;&#x8def;&#x540d;&#x5b57;&#xff0c;&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</target_step_name>  
417 - <target_attribute_key>TYPE</target_attribute_key>  
418 - <target_detail>Y</target_detail>  
419 - <source_step>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</source_step>  
420 - <source_field>col_type</source_field>  
421 - </mapping> <mapping> <target_step_name>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</target_step_name>  
422 - <target_attribute_key>NAME</target_attribute_key>  
423 - <target_detail>Y</target_detail>  
424 - <source_step>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</source_step>  
425 - <source_field>nfieldname</source_field>  
426 - </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>  
427 - <target_attribute_key>LENGTH</target_attribute_key>  
428 - <target_detail>Y</target_detail>  
429 - <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>  
430 - <source_field>length</source_field>  
431 - </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>  
432 - <target_attribute_key>TYPE</target_attribute_key>  
433 - <target_detail>Y</target_detail>  
434 - <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>  
435 - <source_field>fieldtype</source_field>  
436 - </mapping> <mapping> <target_step_name>&#x884c;&#x8f6c;&#x5217;</target_step_name>  
437 - <target_attribute_key>VALUE</target_attribute_key>  
438 - <target_detail>Y</target_detail>  
439 - <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c; 2</source_step>  
440 - <source_field>fieldName</source_field>  
441 - </mapping> <mapping> <target_step_name>&#x884c;&#x8f6c;&#x5217;</target_step_name>  
442 - <target_attribute_key>NORMALISED</target_attribute_key>  
443 - <target_detail>Y</target_detail>  
444 - <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c; 2</source_step>  
445 - <source_field>value</source_field>  
446 - </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>  
447 - <target_attribute_key>PRECISION</target_attribute_key>  
448 - <target_detail>Y</target_detail>  
449 - <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>  
450 - <source_field>precision</source_field>  
451 - </mapping> </mappings> <cluster_schema/>  
452 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
453 - <xloc>695</xloc>  
454 - <yloc>177</yloc>  
455 - <draw>Y</draw>  
456 - </GUI>  
457 - </step>  
458 -  
459 - <step>  
460 - <name>&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</name>  
461 - <type>SelectValues</type>  
462 - <description/>  
463 - <distribute>Y</distribute>  
464 - <custom_distribution/>  
465 - <copies>1</copies>  
466 - <partitioning>  
467 - <method>none</method>  
468 - <schema_name/>  
469 - </partitioning>  
470 - <fields> <field> <name>col_name</name>  
471 - <rename/>  
472 - <length>-2</length>  
473 - <precision>-2</precision>  
474 - </field> <field> <name>col_type</name>  
475 - <rename/>  
476 - <length>-2</length>  
477 - <precision>-2</precision>  
478 - </field> <field> <name>col_value</name>  
479 - <rename/>  
480 - <length>-2</length>  
481 - <precision>-2</precision>  
482 - </field> <select_unspecified>N</select_unspecified>  
483 - </fields> <cluster_schema/>  
484 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
485 - <xloc>490</xloc>  
486 - <yloc>429</yloc>  
487 - <draw>Y</draw>  
488 - </GUI>  
489 - </step>  
490 -  
491 - <step>  
492 - <name>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</name>  
493 - <type>Dummy</type>  
494 - <description/>  
495 - <distribute>Y</distribute>  
496 - <custom_distribution/>  
497 - <copies>1</copies>  
498 - <partitioning>  
499 - <method>none</method>  
500 - <schema_name/>  
501 - </partitioning>  
502 - <cluster_schema/>  
503 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
504 - <xloc>702</xloc>  
505 - <yloc>383</yloc>  
506 - <draw>Y</draw>  
507 - </GUI>  
508 - </step>  
509 -  
510 - <step>  
511 - <name>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</name>  
512 - <type>Constant</type>  
513 - <description/>  
514 - <distribute>Y</distribute>  
515 - <custom_distribution/>  
516 - <copies>1</copies>  
517 - <partitioning>  
518 - <method>none</method>  
519 - <schema_name/>  
520 - </partitioning>  
521 - <fields>  
522 - <field>  
523 - <name>fieldtype</name>  
524 - <type>String</type>  
525 - <format/>  
526 - <currency/>  
527 - <decimal/>  
528 - <group/>  
529 - <nullif>String</nullif>  
530 - <length>-1</length>  
531 - <precision>-1</precision>  
532 - <set_empty_string>N</set_empty_string>  
533 - </field>  
534 - <field>  
535 - <name>length</name>  
536 - <type>String</type>  
537 - <format/>  
538 - <currency/>  
539 - <decimal/>  
540 - <group/>  
541 - <nullif>-1</nullif>  
542 - <length>-1</length>  
543 - <precision>-1</precision>  
544 - <set_empty_string>N</set_empty_string>  
545 - </field>  
546 - <field>  
547 - <name>precision</name>  
548 - <type>String</type>  
549 - <format/>  
550 - <currency/>  
551 - <decimal/>  
552 - <group/>  
553 - <nullif>-1</nullif>  
554 - <length>-1</length>  
555 - <precision>-1</precision>  
556 - <set_empty_string>N</set_empty_string>  
557 - </field>  
558 - <field>  
559 - <name>trim_type</name>  
560 - <type>String</type>  
561 - <format/>  
562 - <currency/>  
563 - <decimal/>  
564 - <group/>  
565 - <nullif>none</nullif>  
566 - <length>-1</length>  
567 - <precision>-1</precision>  
568 - <set_empty_string>N</set_empty_string>  
569 - </field>  
570 - <field>  
571 - <name>repeat</name>  
572 - <type>String</type>  
573 - <format/>  
574 - <currency/>  
575 - <decimal/>  
576 - <group/>  
577 - <nullif>N</nullif>  
578 - <length>-1</length>  
579 - <precision>-1</precision>  
580 - <set_empty_string>N</set_empty_string>  
581 - </field>  
582 - <field>  
583 - <name>format</name>  
584 - <type>String</type>  
585 - <format/>  
586 - <currency/>  
587 - <decimal/>  
588 - <group/>  
589 - <nullif>&#x23;</nullif>  
590 - <length>-1</length>  
591 - <precision>-1</precision>  
592 - <set_empty_string>N</set_empty_string>  
593 - </field>  
594 - </fields>  
595 - <cluster_schema/>  
596 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
597 - <xloc>441</xloc>  
598 - <yloc>172</yloc>  
599 - <draw>Y</draw>  
600 - </GUI>  
601 - </step>  
602 -  
603 - <step>  
604 - <name>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</name>  
605 - <type>Constant</type>  
606 - <description/>  
607 - <distribute>Y</distribute>  
608 - <custom_distribution/>  
609 - <copies>1</copies>  
610 - <partitioning>  
611 - <method>none</method>  
612 - <schema_name/>  
613 - </partitioning>  
614 - <fields>  
615 - <field>  
616 - <name>valuefield</name>  
617 - <type>String</type>  
618 - <format/>  
619 - <currency/>  
620 - <decimal/>  
621 - <group/>  
622 - <nullif>&#x53d1;&#x8f66;&#x65f6;&#x95f4;</nullif>  
623 - <length>-1</length>  
624 - <precision>-1</precision>  
625 - <set_empty_string>N</set_empty_string>  
626 - </field>  
627 - </fields>  
628 - <cluster_schema/>  
629 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
630 - <xloc>447</xloc>  
631 - <yloc>257</yloc>  
632 - <draw>Y</draw>  
633 - </GUI>  
634 - </step>  
635 -  
636 - <step>  
637 - <name>&#x589e;&#x52a0;&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata</name>  
638 - <type>Constant</type>  
639 - <description/>  
640 - <distribute>Y</distribute>  
641 - <custom_distribution/>  
642 - <copies>1</copies>  
643 - <partitioning>  
644 - <method>none</method>  
645 - <schema_name/>  
646 - </partitioning>  
647 - <fields>  
648 - <field>  
649 - <name>col_name</name>  
650 - <type>String</type>  
651 - <format/>  
652 - <currency/>  
653 - <decimal/>  
654 - <group/>  
655 - <nullif>tccname_</nullif>  
656 - <length>-1</length>  
657 - <precision>-1</precision>  
658 - <set_empty_string>N</set_empty_string>  
659 - </field>  
660 - <field>  
661 - <name>col_type</name>  
662 - <type>String</type>  
663 - <format/>  
664 - <currency/>  
665 - <decimal/>  
666 - <group/>  
667 - <nullif>String</nullif>  
668 - <length>-1</length>  
669 - <precision>-1</precision>  
670 - <set_empty_string>N</set_empty_string>  
671 - </field>  
672 - <field>  
673 - <name>col_value</name>  
674 - <type>String</type>  
675 - <format/>  
676 - <currency/>  
677 - <decimal/>  
678 - <group/>  
679 - <nullif>replace</nullif>  
680 - <length>-1</length>  
681 - <precision>-1</precision>  
682 - <set_empty_string>N</set_empty_string>  
683 - </field>  
684 - </fields>  
685 - <cluster_schema/>  
686 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
687 - <xloc>208</xloc>  
688 - <yloc>428</yloc>  
689 - <draw>Y</draw>  
690 - </GUI>  
691 - </step>  
692 -  
693 - <step>  
694 - <name>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;metadata</name>  
695 - <type>Constant</type>  
696 - <description/>  
697 - <distribute>Y</distribute>  
698 - <custom_distribution/>  
699 - <copies>1</copies>  
700 - <partitioning>  
701 - <method>none</method>  
702 - <schema_name/>  
703 - </partitioning>  
704 - <fields>  
705 - <field>  
706 - <name>col_name</name>  
707 - <type>String</type>  
708 - <format/>  
709 - <currency/>  
710 - <decimal/>  
711 - <group/>  
712 - <nullif>ttinfoname_</nullif>  
713 - <length>-1</length>  
714 - <precision>-1</precision>  
715 - <set_empty_string>N</set_empty_string>  
716 - </field>  
717 - <field>  
718 - <name>col_type</name>  
719 - <type>String</type>  
720 - <format/>  
721 - <currency/>  
722 - <decimal/>  
723 - <group/>  
724 - <nullif>String</nullif>  
725 - <length>-1</length>  
726 - <precision>-1</precision>  
727 - <set_empty_string>N</set_empty_string>  
728 - </field>  
729 - <field>  
730 - <name>col_value</name>  
731 - <type>String</type>  
732 - <format/>  
733 - <currency/>  
734 - <decimal/>  
735 - <group/>  
736 - <nullif>replace</nullif>  
737 - <length>-1</length>  
738 - <precision>-1</precision>  
739 - <set_empty_string>N</set_empty_string>  
740 - </field>  
741 - </fields>  
742 - <cluster_schema/>  
743 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
744 - <xloc>216</xloc>  
745 - <yloc>508</yloc>  
746 - <draw>Y</draw>  
747 - </GUI>  
748 - </step>  
749 -  
750 - <step>  
751 - <name>&#x589e;&#x52a0;&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata</name>  
752 - <type>Constant</type>  
753 - <description/>  
754 - <distribute>Y</distribute>  
755 - <custom_distribution/>  
756 - <copies>1</copies>  
757 - <partitioning>  
758 - <method>none</method>  
759 - <schema_name/>  
760 - </partitioning>  
761 - <fields>  
762 - <field>  
763 - <name>col_name</name>  
764 - <type>String</type>  
765 - <format/>  
766 - <currency/>  
767 - <decimal/>  
768 - <group/>  
769 - <nullif>xlname_</nullif>  
770 - <length>-1</length>  
771 - <precision>-1</precision>  
772 - <set_empty_string>N</set_empty_string>  
773 - </field>  
774 - <field>  
775 - <name>col_type</name>  
776 - <type>String</type>  
777 - <format/>  
778 - <currency/>  
779 - <decimal/>  
780 - <group/>  
781 - <nullif>String</nullif>  
782 - <length>-1</length>  
783 - <precision>-1</precision>  
784 - <set_empty_string>N</set_empty_string>  
785 - </field>  
786 - <field>  
787 - <name>col_value</name>  
788 - <type>String</type>  
789 - <format/>  
790 - <currency/>  
791 - <decimal/>  
792 - <group/>  
793 - <nullif>replace</nullif>  
794 - <length>-1</length>  
795 - <precision>-1</precision>  
796 - <set_empty_string>N</set_empty_string>  
797 - </field>  
798 - </fields>  
799 - <cluster_schema/>  
800 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
801 - <xloc>202</xloc>  
802 - <yloc>351</yloc>  
803 - <draw>Y</draw>  
804 - </GUI>  
805 - </step>  
806 -  
807 - <step>  
808 - <name>&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</name>  
809 - <type>SelectValues</type>  
810 - <description/>  
811 - <distribute>Y</distribute>  
812 - <custom_distribution/>  
813 - <copies>1</copies>  
814 - <partitioning>  
815 - <method>none</method>  
816 - <schema_name/>  
817 - </partitioning>  
818 - <fields> <field> <name>col_name</name>  
819 - <rename/>  
820 - <length>-2</length>  
821 - <precision>-2</precision>  
822 - </field> <field> <name>col_type</name>  
823 - <rename/>  
824 - <length>-2</length>  
825 - <precision>-2</precision>  
826 - </field> <field> <name>col_value</name>  
827 - <rename/>  
828 - <length>-2</length>  
829 - <precision>-2</precision>  
830 - </field> <select_unspecified>N</select_unspecified>  
831 - </fields> <cluster_schema/>  
832 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
833 - <xloc>496</xloc>  
834 - <yloc>508</yloc>  
835 - <draw>Y</draw>  
836 - </GUI>  
837 - </step>  
838 -  
839 - <step>  
840 - <name>&#x66ff;&#x6362;&#x505c;&#x8f66;&#x5382;&#x540d;&#x5b57; </name>  
841 - <type>SetValueField</type>  
842 - <description/>  
843 - <distribute>Y</distribute>  
844 - <custom_distribution/>  
845 - <copies>1</copies>  
846 - <partitioning>  
847 - <method>none</method>  
848 - <schema_name/>  
849 - </partitioning>  
850 - <fields>  
851 - <field>  
852 - <name>col_value</name>  
853 - <replaceby>tccname_</replaceby>  
854 - </field>  
855 - </fields>  
856 - <cluster_schema/>  
857 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
858 - <xloc>345</xloc>  
859 - <yloc>430</yloc>  
860 - <draw>Y</draw>  
861 - </GUI>  
862 - </step>  
863 -  
864 - <step>  
865 - <name>&#x66ff;&#x6362;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;</name>  
866 - <type>SetValueField</type>  
867 - <description/>  
868 - <distribute>Y</distribute>  
869 - <custom_distribution/>  
870 - <copies>1</copies>  
871 - <partitioning>  
872 - <method>none</method>  
873 - <schema_name/>  
874 - </partitioning>  
875 - <fields>  
876 - <field>  
877 - <name>col_value</name>  
878 - <replaceby>ttinfoname_</replaceby>  
879 - </field>  
880 - </fields>  
881 - <cluster_schema/>  
882 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
883 - <xloc>354</xloc>  
884 - <yloc>509</yloc>  
885 - <draw>Y</draw>  
886 - </GUI>  
887 - </step>  
888 -  
889 - <step>  
890 - <name>&#x66ff;&#x6362;&#x7ebf;&#x8def;&#x540d;&#x79f0;</name>  
891 - <type>SetValueField</type>  
892 - <description/>  
893 - <distribute>Y</distribute>  
894 - <custom_distribution/>  
895 - <copies>1</copies>  
896 - <partitioning>  
897 - <method>none</method>  
898 - <schema_name/>  
899 - </partitioning>  
900 - <fields>  
901 - <field>  
902 - <name>col_value</name>  
903 - <replaceby>xlname_</replaceby>  
904 - </field>  
905 - </fields>  
906 - <cluster_schema/>  
907 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
908 - <xloc>340</xloc>  
909 - <yloc>352</yloc>  
910 - <draw>Y</draw>  
911 - </GUI>  
912 - </step>  
913 -  
914 - <step>  
915 - <name>&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</name>  
916 - <type>SelectValues</type>  
917 - <description/>  
918 - <distribute>Y</distribute>  
919 - <custom_distribution/>  
920 - <copies>1</copies>  
921 - <partitioning>  
922 - <method>none</method>  
923 - <schema_name/>  
924 - </partitioning>  
925 - <fields> <field> <name>col_name</name>  
926 - <rename/>  
927 - <length>-2</length>  
928 - <precision>-2</precision>  
929 - </field> <field> <name>col_type</name>  
930 - <rename/>  
931 - <length>-2</length>  
932 - <precision>-2</precision>  
933 - </field> <field> <name>col_value</name>  
934 - <rename/>  
935 - <length>-2</length>  
936 - <precision>-2</precision>  
937 - </field> <select_unspecified>N</select_unspecified>  
938 - </fields> <cluster_schema/>  
939 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
940 - <xloc>487</xloc>  
941 - <yloc>353</yloc>  
942 - <draw>Y</draw>  
943 - </GUI>  
944 - </step>  
945 -  
946 - <step>  
947 - <name>&#x83b7;&#x53d6;excel&#x5b57;&#x6bb5;&#x540d;&#x5b57;&#x7b26;&#x4e32;</name>  
948 - <type>GetVariable</type>  
949 - <description/>  
950 - <distribute>Y</distribute>  
951 - <custom_distribution/>  
952 - <copies>1</copies>  
953 - <partitioning>  
954 - <method>none</method>  
955 - <schema_name/>  
956 - </partitioning>  
957 - <fields>  
958 - <field>  
959 - <name>fieldnames</name>  
960 - <variable>&#x24;&#x7b;excelfieldnames&#x7d;</variable>  
961 - <type>String</type>  
962 - <format/>  
963 - <currency/>  
964 - <decimal/>  
965 - <group/>  
966 - <length>-1</length>  
967 - <precision>-1</precision>  
968 - <trim_type>none</trim_type>  
969 - </field>  
970 - </fields>  
971 - <cluster_schema/>  
972 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
973 - <xloc>71</xloc>  
974 - <yloc>163</yloc>  
975 - <draw>Y</draw>  
976 - </GUI>  
977 - </step>  
978 -  
979 - <step>  
980 - <name>&#x83b7;&#x53d6;excel&#x6587;&#x4ef6;&#x540d;</name>  
981 - <type>GetVariable</type>  
982 - <description/>  
983 - <distribute>Y</distribute>  
984 - <custom_distribution/>  
985 - <copies>1</copies>  
986 - <partitioning>  
987 - <method>none</method>  
988 - <schema_name/>  
989 - </partitioning>  
990 - <fields>  
991 - <field>  
992 - <name>filepath_</name>  
993 - <variable>&#x24;&#x7b;filepath&#x7d;</variable>  
994 - <type>String</type>  
995 - <format/>  
996 - <currency/>  
997 - <decimal/>  
998 - <group/>  
999 - <length>-1</length>  
1000 - <precision>-1</precision>  
1001 - <trim_type>none</trim_type>  
1002 - </field>  
1003 - <field>  
1004 - <name>erroroutputdir_</name>  
1005 - <variable>&#x24;&#x7b;erroroutputdir&#x7d;</variable>  
1006 - <type>String</type>  
1007 - <format/>  
1008 - <currency/>  
1009 - <decimal/>  
1010 - <group/>  
1011 - <length>-1</length>  
1012 - <precision>-1</precision>  
1013 - <trim_type>none</trim_type>  
1014 - </field>  
1015 - <field>  
1016 - <name>sheetname_</name>  
1017 - <variable>&#x24;&#x7b;sheetname&#x7d;</variable>  
1018 - <type>String</type>  
1019 - <format/>  
1020 - <currency/>  
1021 - <decimal/>  
1022 - <group/>  
1023 - <length>-1</length>  
1024 - <precision>-1</precision>  
1025 - <trim_type>none</trim_type>  
1026 - </field>  
1027 - </fields>  
1028 - <cluster_schema/>  
1029 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1030 - <xloc>120</xloc>  
1031 - <yloc>62</yloc>  
1032 - <draw>Y</draw>  
1033 - </GUI>  
1034 - </step>  
1035 -  
1036 - <step>  
1037 - <name>&#x83b7;&#x53d6;normalize&#x5b57;&#x6bb5;&#x540d;&#x5b57;&#x7b26;&#x4e32;</name>  
1038 - <type>GetVariable</type>  
1039 - <description/>  
1040 - <distribute>Y</distribute>  
1041 - <custom_distribution/>  
1042 - <copies>1</copies>  
1043 - <partitioning>  
1044 - <method>none</method>  
1045 - <schema_name/>  
1046 - </partitioning>  
1047 - <fields>  
1048 - <field>  
1049 - <name>normalizefieldnames_</name>  
1050 - <variable>&#x24;&#x7b;normalizefieldnames&#x7d;</variable>  
1051 - <type>String</type>  
1052 - <format/>  
1053 - <currency/>  
1054 - <decimal/>  
1055 - <group/>  
1056 - <length>-1</length>  
1057 - <precision>-1</precision>  
1058 - <trim_type>none</trim_type>  
1059 - </field>  
1060 - </fields>  
1061 - <cluster_schema/>  
1062 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1063 - <xloc>80</xloc>  
1064 - <yloc>261</yloc>  
1065 - <draw>Y</draw>  
1066 - </GUI>  
1067 - </step>  
1068 -  
1069 - <step>  
1070 - <name>&#x83b7;&#x53d6;&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;</name>  
1071 - <type>GetVariable</type>  
1072 - <description/>  
1073 - <distribute>Y</distribute>  
1074 - <custom_distribution/>  
1075 - <copies>1</copies>  
1076 - <partitioning>  
1077 - <method>none</method>  
1078 - <schema_name/>  
1079 - </partitioning>  
1080 - <fields>  
1081 - <field>  
1082 - <name>tccname_</name>  
1083 - <variable>&#x24;&#x7b;tccname&#x7d;</variable>  
1084 - <type>String</type>  
1085 - <format/>  
1086 - <currency/>  
1087 - <decimal/>  
1088 - <group/>  
1089 - <length>-1</length>  
1090 - <precision>-1</precision>  
1091 - <trim_type>none</trim_type>  
1092 - </field>  
1093 - </fields>  
1094 - <cluster_schema/>  
1095 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1096 - <xloc>80</xloc>  
1097 - <yloc>430</yloc>  
1098 - <draw>Y</draw>  
1099 - </GUI>  
1100 - </step>  
1101 -  
1102 - <step>  
1103 - <name>&#x83b7;&#x53d6;&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;&#x540d;&#x79f0;</name>  
1104 - <type>GetVariable</type>  
1105 - <description/>  
1106 - <distribute>Y</distribute>  
1107 - <custom_distribution/>  
1108 - <copies>1</copies>  
1109 - <partitioning>  
1110 - <method>none</method>  
1111 - <schema_name/>  
1112 - </partitioning>  
1113 - <fields>  
1114 - <field>  
1115 - <name>ttinfoname_</name>  
1116 - <variable>&#x24;&#x7b;ttinfoname&#x7d;</variable>  
1117 - <type>String</type>  
1118 - <format/>  
1119 - <currency/>  
1120 - <decimal/>  
1121 - <group/>  
1122 - <length>-1</length>  
1123 - <precision>-1</precision>  
1124 - <trim_type>none</trim_type>  
1125 - </field>  
1126 - </fields>  
1127 - <cluster_schema/>  
1128 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1129 - <xloc>82</xloc>  
1130 - <yloc>508</yloc>  
1131 - <draw>Y</draw>  
1132 - </GUI>  
1133 - </step>  
1134 -  
1135 - <step>  
1136 - <name>&#x83b7;&#x53d6;&#x7ebf;&#x8def;&#x540d;&#x79f0;</name>  
1137 - <type>GetVariable</type>  
1138 - <description/>  
1139 - <distribute>Y</distribute>  
1140 - <custom_distribution/>  
1141 - <copies>1</copies>  
1142 - <partitioning>  
1143 - <method>none</method>  
1144 - <schema_name/>  
1145 - </partitioning>  
1146 - <fields>  
1147 - <field>  
1148 - <name>xlname_</name>  
1149 - <variable>&#x24;&#x7b;xlname&#x7d;</variable>  
1150 - <type>String</type>  
1151 - <format/>  
1152 - <currency/>  
1153 - <decimal/>  
1154 - <group/>  
1155 - <length>-1</length>  
1156 - <precision>-1</precision>  
1157 - <trim_type>none</trim_type>  
1158 - </field>  
1159 - </fields>  
1160 - <cluster_schema/>  
1161 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1162 - <xloc>78</xloc>  
1163 - <yloc>351</yloc>  
1164 - <draw>Y</draw>  
1165 - </GUI>  
1166 - </step>  
1167 -  
1168 - <step>  
1169 - <name>&#x9017;&#x53f7;&#x5207;&#x5206;&#x6210;&#x5b57;&#x6bb5;&#x540d;</name>  
1170 - <type>SplitFieldToRows3</type>  
1171 - <description/>  
1172 - <distribute>Y</distribute>  
1173 - <custom_distribution/>  
1174 - <copies>1</copies>  
1175 - <partitioning>  
1176 - <method>none</method>  
1177 - <schema_name/>  
1178 - </partitioning>  
1179 - <splitfield>fieldnames</splitfield>  
1180 - <delimiter>,</delimiter>  
1181 - <newfield>fieldname</newfield>  
1182 - <rownum>N</rownum>  
1183 - <rownum_field/>  
1184 - <resetrownumber>Y</resetrownumber>  
1185 - <delimiter_is_regex>N</delimiter_is_regex>  
1186 - <cluster_schema/>  
1187 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1188 - <xloc>261</xloc>  
1189 - <yloc>163</yloc>  
1190 - <draw>Y</draw>  
1191 - </GUI>  
1192 - </step>  
1193 -  
1194 - <step>  
1195 - <name>&#x9017;&#x53f7;&#x5207;&#x5206;&#x6210;&#x5b57;&#x6bb5;&#x540d; 2</name>  
1196 - <type>SplitFieldToRows3</type>  
1197 - <description/>  
1198 - <distribute>Y</distribute>  
1199 - <custom_distribution/>  
1200 - <copies>1</copies>  
1201 - <partitioning>  
1202 - <method>none</method>  
1203 - <schema_name/>  
1204 - </partitioning>  
1205 - <splitfield>normalizefieldnames_</splitfield>  
1206 - <delimiter>,</delimiter>  
1207 - <newfield>nfieldname</newfield>  
1208 - <rownum>N</rownum>  
1209 - <rownum_field/>  
1210 - <resetrownumber>Y</resetrownumber>  
1211 - <delimiter_is_regex>N</delimiter_is_regex>  
1212 - <cluster_schema/>  
1213 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1214 - <xloc>263</xloc>  
1215 - <yloc>257</yloc>  
1216 - <draw>Y</draw>  
1217 - </GUI>  
1218 - </step>  
1219 -  
1220 - <step_error_handling>  
1221 - </step_error_handling>  
1222 - <slave-step-copy-partition-distribution>  
1223 -</slave-step-copy-partition-distribution>  
1224 - <slave_transformation>N</slave_transformation>  
1225 -  
1226 -</transformation> 1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<transformation>
  3 + <info>
  4 + <name>ttinfodetailMetaData</name>
  5 + <description/>
  6 + <extended_description/>
  7 + <trans_version/>
  8 + <trans_type>Normal</trans_type>
  9 + <trans_status>0</trans_status>
  10 + <directory>&#x2f;</directory>
  11 + <parameters>
  12 + <parameter>
  13 + <name>erroroutputdir</name>
  14 + <default_value>&#x2f;Users&#x2f;xu&#x2f;resource&#x2f;project_code&#x2f;runtime_temp&#x2f;bsth_control_u_d_files&#x2f;erroroutput</default_value>
  15 + <description>ktr step&#x914d;&#x7f6e;&#x7684;&#x9519;&#x8bef;&#x8f93;&#x51fa;&#x76ee;&#x5f55;</description>
  16 + </parameter>
  17 + <parameter>
  18 + <name>excelfieldnames</name>
  19 + <default_value>&#x8def;&#x724c;,&#x51fa;&#x573a;,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;1,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;1,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;2,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;2,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;3,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;3,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;4,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;4,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;5,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;5,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;6,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;6,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;7,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;7,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;8,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;8,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;9,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;9,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;10,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;10,&#x8fdb;&#x573a;</default_value>
  20 + <description>&#x65f6;&#x523b;&#x8868;excel&#x8f93;&#x5165;&#x5b57;&#x6bb5;&#x540d;&#xff0c;&#x4ee5;&#x9017;&#x53f7;&#x8fde;&#x63a5;</description>
  21 + </parameter>
  22 + <parameter>
  23 + <name>filepath</name>
  24 + <default_value>&#x2f;Users&#x2f;xu&#x2f;resource&#x2f;project_code&#x2f;bsth_project&#x2f;bsth_control_etl&#x2f;&#x95f5;&#x884c;&#x516c;&#x4ea4;&#x2f;&#x95f5;&#x884c;26&#x8def;&#x65f6;&#x523b;&#x8868;160630&#x65f6;&#x523b;&#x8868;.xls</default_value>
  25 + <description>&#x5f85;&#x5904;&#x7406;&#x5bfc;&#x5165;&#x7684;excel&#x6587;&#x4ef6;</description>
  26 + </parameter>
  27 + <parameter>
  28 + <name>injectktrfile</name>
  29 + <default_value>&#x2f;Users&#x2f;xu&#x2f;resource&#x2f;project_code&#x2f;bsth_project&#x2f;bsth_control&#x2f;src&#x2f;main&#x2f;resources&#x2f;datatools&#x2f;ktrs&#x2f;ttinfodetailDataInput.ktr</default_value>
  30 + <description>&#x6ce8;&#x5165;&#x5143;&#x6570;&#x636e;&#x7684;ktr&#x6587;&#x4ef6;</description>
  31 + </parameter>
  32 + <parameter>
  33 + <name>normalizefieldnames</name>
  34 + <default_value>&#x51fa;&#x573a;,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;1,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;1,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;2,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;2,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;3,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;3,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;4,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;4,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;5,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;5,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;6,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;6,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;7,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;7,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;8,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;8,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;9,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;9,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;10,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;10,&#x8fdb;&#x573a;</default_value>
  35 + <description>&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;&#x5b57;&#x6bb5;&#x540d;&#xff0c;&#x4ee5;&#x9017;&#x53f7;&#x8fde;&#x63a5;</description>
  36 + </parameter>
  37 + <parameter>
  38 + <name>sheetname</name>
  39 + <default_value>&#x5de5;&#x4f5c;&#x8868;1</default_value>
  40 + <description/>
  41 + </parameter>
  42 + <parameter>
  43 + <name>tccname</name>
  44 + <default_value>&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;&#x505c;&#x8f66;&#x573a;</default_value>
  45 + <description>&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</description>
  46 + </parameter>
  47 + <parameter>
  48 + <name>ttinfoname</name>
  49 + <default_value>&#x8868;2</default_value>
  50 + <description>&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;</description>
  51 + </parameter>
  52 + <parameter>
  53 + <name>xlname</name>
  54 + <default_value>&#x95f5;&#x884c;26&#x8def;</default_value>
  55 + <description>&#x7ebf;&#x8def;&#x540d;&#x79f0;</description>
  56 + </parameter>
  57 + </parameters>
  58 + <log>
  59 +<trans-log-table><connection/>
  60 +<schema/>
  61 +<table/>
  62 +<size_limit_lines/>
  63 +<interval/>
  64 +<timeout_days/>
  65 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STATUS</id><enabled>Y</enabled><name>STATUS</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name><subject/></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name><subject/></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name><subject/></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name><subject/></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name><subject/></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name><subject/></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>STARTDATE</id><enabled>Y</enabled><name>STARTDATE</name></field><field><id>ENDDATE</id><enabled>Y</enabled><name>ENDDATE</name></field><field><id>LOGDATE</id><enabled>Y</enabled><name>LOGDATE</name></field><field><id>DEPDATE</id><enabled>Y</enabled><name>DEPDATE</name></field><field><id>REPLAYDATE</id><enabled>Y</enabled><name>REPLAYDATE</name></field><field><id>LOG_FIELD</id><enabled>Y</enabled><name>LOG_FIELD</name></field><field><id>EXECUTING_SERVER</id><enabled>N</enabled><name>EXECUTING_SERVER</name></field><field><id>EXECUTING_USER</id><enabled>N</enabled><name>EXECUTING_USER</name></field><field><id>CLIENT</id><enabled>N</enabled><name>CLIENT</name></field></trans-log-table>
  66 +<perf-log-table><connection/>
  67 +<schema/>
  68 +<table/>
  69 +<interval/>
  70 +<timeout_days/>
  71 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>SEQ_NR</id><enabled>Y</enabled><name>SEQ_NR</name></field><field><id>LOGDATE</id><enabled>Y</enabled><name>LOGDATE</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STEPNAME</id><enabled>Y</enabled><name>STEPNAME</name></field><field><id>STEP_COPY</id><enabled>Y</enabled><name>STEP_COPY</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>INPUT_BUFFER_ROWS</id><enabled>Y</enabled><name>INPUT_BUFFER_ROWS</name></field><field><id>OUTPUT_BUFFER_ROWS</id><enabled>Y</enabled><name>OUTPUT_BUFFER_ROWS</name></field></perf-log-table>
  72 +<channel-log-table><connection/>
  73 +<schema/>
  74 +<table/>
  75 +<timeout_days/>
  76 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>LOGGING_OBJECT_TYPE</id><enabled>Y</enabled><name>LOGGING_OBJECT_TYPE</name></field><field><id>OBJECT_NAME</id><enabled>Y</enabled><name>OBJECT_NAME</name></field><field><id>OBJECT_COPY</id><enabled>Y</enabled><name>OBJECT_COPY</name></field><field><id>REPOSITORY_DIRECTORY</id><enabled>Y</enabled><name>REPOSITORY_DIRECTORY</name></field><field><id>FILENAME</id><enabled>Y</enabled><name>FILENAME</name></field><field><id>OBJECT_ID</id><enabled>Y</enabled><name>OBJECT_ID</name></field><field><id>OBJECT_REVISION</id><enabled>Y</enabled><name>OBJECT_REVISION</name></field><field><id>PARENT_CHANNEL_ID</id><enabled>Y</enabled><name>PARENT_CHANNEL_ID</name></field><field><id>ROOT_CHANNEL_ID</id><enabled>Y</enabled><name>ROOT_CHANNEL_ID</name></field></channel-log-table>
  77 +<step-log-table><connection/>
  78 +<schema/>
  79 +<table/>
  80 +<timeout_days/>
  81 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STEPNAME</id><enabled>Y</enabled><name>STEPNAME</name></field><field><id>STEP_COPY</id><enabled>Y</enabled><name>STEP_COPY</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>LOG_FIELD</id><enabled>N</enabled><name>LOG_FIELD</name></field></step-log-table>
  82 +<metrics-log-table><connection/>
  83 +<schema/>
  84 +<table/>
  85 +<timeout_days/>
  86 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>METRICS_DATE</id><enabled>Y</enabled><name>METRICS_DATE</name></field><field><id>METRICS_CODE</id><enabled>Y</enabled><name>METRICS_CODE</name></field><field><id>METRICS_DESCRIPTION</id><enabled>Y</enabled><name>METRICS_DESCRIPTION</name></field><field><id>METRICS_SUBJECT</id><enabled>Y</enabled><name>METRICS_SUBJECT</name></field><field><id>METRICS_TYPE</id><enabled>Y</enabled><name>METRICS_TYPE</name></field><field><id>METRICS_VALUE</id><enabled>Y</enabled><name>METRICS_VALUE</name></field></metrics-log-table>
  87 + </log>
  88 + <maxdate>
  89 + <connection/>
  90 + <table/>
  91 + <field/>
  92 + <offset>0.0</offset>
  93 + <maxdiff>0.0</maxdiff>
  94 + </maxdate>
  95 + <size_rowset>10000</size_rowset>
  96 + <sleep_time_empty>50</sleep_time_empty>
  97 + <sleep_time_full>50</sleep_time_full>
  98 + <unique_connections>N</unique_connections>
  99 + <feedback_shown>Y</feedback_shown>
  100 + <feedback_size>50000</feedback_size>
  101 + <using_thread_priorities>Y</using_thread_priorities>
  102 + <shared_objects_file/>
  103 + <capture_step_performance>N</capture_step_performance>
  104 + <step_performance_capturing_delay>1000</step_performance_capturing_delay>
  105 + <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit>
  106 + <dependencies>
  107 + </dependencies>
  108 + <partitionschemas>
  109 + </partitionschemas>
  110 + <slaveservers>
  111 + </slaveservers>
  112 + <clusterschemas>
  113 + </clusterschemas>
  114 + <created_user>-</created_user>
  115 + <created_date>2016&#x2f;07&#x2f;01 09&#x3a;55&#x3a;32.649</created_date>
  116 + <modified_user>-</modified_user>
  117 + <modified_date>2016&#x2f;07&#x2f;01 09&#x3a;55&#x3a;32.649</modified_date>
  118 + <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</key_for_session_key>
  119 + <is_key_private>N</is_key_private>
  120 + </info>
  121 + <notepads>
  122 + </notepads>
  123 + <connection>
  124 + <name>bus_control_variable</name>
  125 + <server>&#x24;&#x7b;v_db_ip&#x7d;</server>
  126 + <type>MYSQL</type>
  127 + <access>Native</access>
  128 + <database>&#x24;&#x7b;v_db_dname&#x7d;</database>
  129 + <port>3306</port>
  130 + <username>&#x24;&#x7b;v_db_uname&#x7d;</username>
  131 + <password>&#x24;&#x7b;v_db_pwd&#x7d;</password>
  132 + <servername/>
  133 + <data_tablespace/>
  134 + <index_tablespace/>
  135 + <attributes>
  136 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  137 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  138 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  139 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  140 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  141 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  142 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  143 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  144 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  145 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  146 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  147 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  148 + </attributes>
  149 + </connection>
  150 + <connection>
  151 + <name>bus_control_&#x516c;&#x53f8;_201</name>
  152 + <server>localhost</server>
  153 + <type>MYSQL</type>
  154 + <access>Native</access>
  155 + <database>control</database>
  156 + <port>3306</port>
  157 + <username>root</username>
  158 + <password>Encrypted </password>
  159 + <servername/>
  160 + <data_tablespace/>
  161 + <index_tablespace/>
  162 + <attributes>
  163 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  164 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  165 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  166 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  167 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  168 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  169 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  170 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  171 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  172 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  173 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  174 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  175 + </attributes>
  176 + </connection>
  177 + <connection>
  178 + <name>bus_control_&#x672c;&#x673a;</name>
  179 + <server>localhost</server>
  180 + <type>MYSQL</type>
  181 + <access>Native</access>
  182 + <database>control</database>
  183 + <port>3306</port>
  184 + <username>root</username>
  185 + <password>Encrypted </password>
  186 + <servername/>
  187 + <data_tablespace/>
  188 + <index_tablespace/>
  189 + <attributes>
  190 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  191 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  192 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  193 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  194 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  195 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  196 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  197 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  198 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  199 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  200 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  201 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  202 + </attributes>
  203 + </connection>
  204 + <connection>
  205 + <name>xlab_mysql_youle</name>
  206 + <server>101.231.124.8</server>
  207 + <type>MYSQL</type>
  208 + <access>Native</access>
  209 + <database>xlab_youle</database>
  210 + <port>45687</port>
  211 + <username>xlab-youle</username>
  212 + <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password>
  213 + <servername/>
  214 + <data_tablespace/>
  215 + <index_tablespace/>
  216 + <attributes>
  217 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  218 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  219 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  220 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  221 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  222 + <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute>
  223 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  224 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  225 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  226 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  227 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  228 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  229 + </attributes>
  230 + </connection>
  231 + <connection>
  232 + <name>xlab_mysql_youle&#xff08;&#x672c;&#x673a;&#xff09;</name>
  233 + <server>localhost</server>
  234 + <type>MYSQL</type>
  235 + <access>Native</access>
  236 + <database>xlab_youle</database>
  237 + <port>3306</port>
  238 + <username>root</username>
  239 + <password>Encrypted </password>
  240 + <servername/>
  241 + <data_tablespace/>
  242 + <index_tablespace/>
  243 + <attributes>
  244 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  245 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  246 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  247 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  248 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  249 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  250 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  251 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  252 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  253 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  254 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  255 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  256 + </attributes>
  257 + </connection>
  258 + <connection>
  259 + <name>xlab_youle</name>
  260 + <server/>
  261 + <type>MYSQL</type>
  262 + <access>JNDI</access>
  263 + <database>xlab_youle</database>
  264 + <port>1521</port>
  265 + <username/>
  266 + <password>Encrypted </password>
  267 + <servername/>
  268 + <data_tablespace/>
  269 + <index_tablespace/>
  270 + <attributes>
  271 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  272 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  273 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  274 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  275 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  276 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  277 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  278 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  279 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  280 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  281 + </attributes>
  282 + </connection>
  283 + <order>
  284 + <hop> <from>&#x83b7;&#x53d6;excel&#x6587;&#x4ef6;&#x540d;</from><to>ETL&#x5143;&#x6570;&#x636e;&#x6ce8;&#x5165;</to><enabled>Y</enabled> </hop>
  285 + <hop> <from>&#x83b7;&#x53d6;excel&#x5b57;&#x6bb5;&#x540d;&#x5b57;&#x7b26;&#x4e32;</from><to>&#x9017;&#x53f7;&#x5207;&#x5206;&#x6210;&#x5b57;&#x6bb5;&#x540d;</to><enabled>Y</enabled> </hop>
  286 + <hop> <from>&#x9017;&#x53f7;&#x5207;&#x5206;&#x6210;&#x5b57;&#x6bb5;&#x540d;</from><to>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
  287 + <hop> <from>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</from><to>ETL&#x5143;&#x6570;&#x636e;&#x6ce8;&#x5165;</to><enabled>Y</enabled> </hop>
  288 + <hop> <from>&#x83b7;&#x53d6;normalize&#x5b57;&#x6bb5;&#x540d;&#x5b57;&#x7b26;&#x4e32;</from><to>&#x9017;&#x53f7;&#x5207;&#x5206;&#x6210;&#x5b57;&#x6bb5;&#x540d; 2</to><enabled>Y</enabled> </hop>
  289 + <hop> <from>&#x9017;&#x53f7;&#x5207;&#x5206;&#x6210;&#x5b57;&#x6bb5;&#x540d; 2</from><to>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
  290 + <hop> <from>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</from><to>ETL&#x5143;&#x6570;&#x636e;&#x6ce8;&#x5165;</to><enabled>Y</enabled> </hop>
  291 + <hop> <from>&#x83b7;&#x53d6;&#x7ebf;&#x8def;&#x540d;&#x79f0;</from><to>&#x589e;&#x52a0;&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata</to><enabled>Y</enabled> </hop>
  292 + <hop> <from>&#x589e;&#x52a0;&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata</from><to>&#x66ff;&#x6362;&#x7ebf;&#x8def;&#x540d;&#x79f0;</to><enabled>Y</enabled> </hop>
  293 + <hop> <from>&#x66ff;&#x6362;&#x7ebf;&#x8def;&#x540d;&#x79f0;</from><to>&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</to><enabled>Y</enabled> </hop>
  294 + <hop> <from>&#x83b7;&#x53d6;&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;</from><to>&#x589e;&#x52a0;&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata</to><enabled>Y</enabled> </hop>
  295 + <hop> <from>&#x589e;&#x52a0;&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata</from><to>&#x66ff;&#x6362;&#x505c;&#x8f66;&#x5382;&#x540d;&#x5b57; </to><enabled>Y</enabled> </hop>
  296 + <hop> <from>&#x66ff;&#x6362;&#x505c;&#x8f66;&#x5382;&#x540d;&#x5b57; </from><to>&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</to><enabled>Y</enabled> </hop>
  297 + <hop> <from>&#x83b7;&#x53d6;&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;&#x540d;&#x79f0;</from><to>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;metadata</to><enabled>Y</enabled> </hop>
  298 + <hop> <from>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;metadata</from><to>&#x66ff;&#x6362;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;</to><enabled>Y</enabled> </hop>
  299 + <hop> <from>&#x66ff;&#x6362;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;</from><to>&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</to><enabled>Y</enabled> </hop>
  300 + <hop> <from>&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</from><to>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</to><enabled>Y</enabled> </hop>
  301 + <hop> <from>&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</from><to>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</to><enabled>Y</enabled> </hop>
  302 + <hop> <from>&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</from><to>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</to><enabled>Y</enabled> </hop>
  303 + <hop> <from>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</from><to>ETL&#x5143;&#x6570;&#x636e;&#x6ce8;&#x5165;</to><enabled>Y</enabled> </hop>
  304 + </order>
  305 + <step>
  306 + <name>ETL&#x5143;&#x6570;&#x636e;&#x6ce8;&#x5165;</name>
  307 + <type>MetaInject</type>
  308 + <description/>
  309 + <distribute>Y</distribute>
  310 + <custom_distribution/>
  311 + <copies>1</copies>
  312 + <partitioning>
  313 + <method>none</method>
  314 + <schema_name/>
  315 + </partitioning>
  316 + <specification_method>filename</specification_method>
  317 + <trans_object_id/>
  318 + <trans_name/>
  319 + <filename>&#x24;&#x7b;injectktrfile&#x7d;</filename>
  320 + <directory_path/>
  321 + <source_step/>
  322 + <source_output_fields> </source_output_fields> <target_file/>
  323 + <no_execution>N</no_execution>
  324 + <stream_source_step/>
  325 + <stream_target_step/>
  326 + <mappings> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>
  327 + <target_attribute_key>FORMAT</target_attribute_key>
  328 + <target_detail>Y</target_detail>
  329 + <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>
  330 + <source_field>format</source_field>
  331 + </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>
  332 + <target_attribute_key>REPEAT</target_attribute_key>
  333 + <target_detail>Y</target_detail>
  334 + <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>
  335 + <source_field>repeat</source_field>
  336 + </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>
  337 + <target_attribute_key>TRIM_TYPE</target_attribute_key>
  338 + <target_detail>Y</target_detail>
  339 + <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>
  340 + <source_field>trim_type</source_field>
  341 + </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>
  342 + <target_attribute_key>FILENAME</target_attribute_key>
  343 + <target_detail>Y</target_detail>
  344 + <source_step>&#x83b7;&#x53d6;excel&#x6587;&#x4ef6;&#x540d;</source_step>
  345 + <source_field>filepath_</source_field>
  346 + </mapping> <mapping> <target_step_name>&#x884c;&#x8f6c;&#x5217;</target_step_name>
  347 + <target_attribute_key>NAME</target_attribute_key>
  348 + <target_detail>Y</target_detail>
  349 + <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c; 2</source_step>
  350 + <source_field>fieldName</source_field>
  351 + </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>
  352 + <target_attribute_key>NAME</target_attribute_key>
  353 + <target_detail>Y</target_detail>
  354 + <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>
  355 + <source_field>fieldname</source_field>
  356 + </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>
  357 + <target_attribute_key>SHEET_NAME</target_attribute_key>
  358 + <target_detail>Y</target_detail>
  359 + <source_step>&#x83b7;&#x53d6;excel&#x6587;&#x4ef6;&#x540d;</source_step>
  360 + <source_field>sheetname_</source_field>
  361 + </mapping> <mapping> <target_step_name>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;&#xff0c;&#x7ebf;&#x8def;&#x540d;&#x5b57;&#xff0c;&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</target_step_name>
  362 + <target_attribute_key>NAME</target_attribute_key>
  363 + <target_detail>Y</target_detail>
  364 + <source_step>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</source_step>
  365 + <source_field>col_name</source_field>
  366 + </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>
  367 + <target_attribute_key>NAME</target_attribute_key>
  368 + <target_detail>Y</target_detail>
  369 + <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>
  370 + <source_field>fieldName</source_field>
  371 + </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>
  372 + <target_attribute_key>TRIM_TYPE</target_attribute_key>
  373 + <target_detail>Y</target_detail>
  374 + <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>
  375 + <source_field>trim_type</source_field>
  376 + </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>
  377 + <target_attribute_key>REPEAT</target_attribute_key>
  378 + <target_detail>Y</target_detail>
  379 + <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>
  380 + <source_field>repeat</source_field>
  381 + </mapping> <mapping> <target_step_name>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</target_step_name>
  382 + <target_attribute_key>NORMALISED</target_attribute_key>
  383 + <target_detail>Y</target_detail>
  384 + <source_step>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</source_step>
  385 + <source_field>valuefield</source_field>
  386 + </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>
  387 + <target_attribute_key>FORMAT</target_attribute_key>
  388 + <target_detail>Y</target_detail>
  389 + <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>
  390 + <source_field>format</source_field>
  391 + </mapping> <mapping> <target_step_name>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</target_step_name>
  392 + <target_attribute_key>VALUE</target_attribute_key>
  393 + <target_detail>Y</target_detail>
  394 + <source_step>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</source_step>
  395 + <source_field>nfieldname</source_field>
  396 + </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>
  397 + <target_attribute_key>PRECISION</target_attribute_key>
  398 + <target_detail>Y</target_detail>
  399 + <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>
  400 + <source_field>precision</source_field>
  401 + </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>
  402 + <target_attribute_key>TYPE</target_attribute_key>
  403 + <target_detail>Y</target_detail>
  404 + <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>
  405 + <source_field>type</source_field>
  406 + </mapping> <mapping> <target_step_name>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;&#xff0c;&#x7ebf;&#x8def;&#x540d;&#x5b57;&#xff0c;&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</target_step_name>
  407 + <target_attribute_key>DATA_VALUE</target_attribute_key>
  408 + <target_detail>Y</target_detail>
  409 + <source_step>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</source_step>
  410 + <source_field>col_value</source_field>
  411 + </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>
  412 + <target_attribute_key>LENGTH</target_attribute_key>
  413 + <target_detail>Y</target_detail>
  414 + <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>
  415 + <source_field>length</source_field>
  416 + </mapping> <mapping> <target_step_name>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;&#xff0c;&#x7ebf;&#x8def;&#x540d;&#x5b57;&#xff0c;&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</target_step_name>
  417 + <target_attribute_key>TYPE</target_attribute_key>
  418 + <target_detail>Y</target_detail>
  419 + <source_step>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</source_step>
  420 + <source_field>col_type</source_field>
  421 + </mapping> <mapping> <target_step_name>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</target_step_name>
  422 + <target_attribute_key>NAME</target_attribute_key>
  423 + <target_detail>Y</target_detail>
  424 + <source_step>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</source_step>
  425 + <source_field>nfieldname</source_field>
  426 + </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>
  427 + <target_attribute_key>LENGTH</target_attribute_key>
  428 + <target_detail>Y</target_detail>
  429 + <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>
  430 + <source_field>length</source_field>
  431 + </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>
  432 + <target_attribute_key>TYPE</target_attribute_key>
  433 + <target_detail>Y</target_detail>
  434 + <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>
  435 + <source_field>fieldtype</source_field>
  436 + </mapping> <mapping> <target_step_name>&#x884c;&#x8f6c;&#x5217;</target_step_name>
  437 + <target_attribute_key>VALUE</target_attribute_key>
  438 + <target_detail>Y</target_detail>
  439 + <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c; 2</source_step>
  440 + <source_field>fieldName</source_field>
  441 + </mapping> <mapping> <target_step_name>&#x884c;&#x8f6c;&#x5217;</target_step_name>
  442 + <target_attribute_key>NORMALISED</target_attribute_key>
  443 + <target_detail>Y</target_detail>
  444 + <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c; 2</source_step>
  445 + <source_field>value</source_field>
  446 + </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>
  447 + <target_attribute_key>PRECISION</target_attribute_key>
  448 + <target_detail>Y</target_detail>
  449 + <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>
  450 + <source_field>precision</source_field>
  451 + </mapping> </mappings> <cluster_schema/>
  452 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  453 + <xloc>695</xloc>
  454 + <yloc>177</yloc>
  455 + <draw>Y</draw>
  456 + </GUI>
  457 + </step>
  458 +
  459 + <step>
  460 + <name>&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</name>
  461 + <type>SelectValues</type>
  462 + <description/>
  463 + <distribute>Y</distribute>
  464 + <custom_distribution/>
  465 + <copies>1</copies>
  466 + <partitioning>
  467 + <method>none</method>
  468 + <schema_name/>
  469 + </partitioning>
  470 + <fields> <field> <name>col_name</name>
  471 + <rename/>
  472 + <length>-2</length>
  473 + <precision>-2</precision>
  474 + </field> <field> <name>col_type</name>
  475 + <rename/>
  476 + <length>-2</length>
  477 + <precision>-2</precision>
  478 + </field> <field> <name>col_value</name>
  479 + <rename/>
  480 + <length>-2</length>
  481 + <precision>-2</precision>
  482 + </field> <select_unspecified>N</select_unspecified>
  483 + </fields> <cluster_schema/>
  484 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  485 + <xloc>490</xloc>
  486 + <yloc>429</yloc>
  487 + <draw>Y</draw>
  488 + </GUI>
  489 + </step>
  490 +
  491 + <step>
  492 + <name>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</name>
  493 + <type>Dummy</type>
  494 + <description/>
  495 + <distribute>Y</distribute>
  496 + <custom_distribution/>
  497 + <copies>1</copies>
  498 + <partitioning>
  499 + <method>none</method>
  500 + <schema_name/>
  501 + </partitioning>
  502 + <cluster_schema/>
  503 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  504 + <xloc>702</xloc>
  505 + <yloc>383</yloc>
  506 + <draw>Y</draw>
  507 + </GUI>
  508 + </step>
  509 +
  510 + <step>
  511 + <name>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</name>
  512 + <type>Constant</type>
  513 + <description/>
  514 + <distribute>Y</distribute>
  515 + <custom_distribution/>
  516 + <copies>1</copies>
  517 + <partitioning>
  518 + <method>none</method>
  519 + <schema_name/>
  520 + </partitioning>
  521 + <fields>
  522 + <field>
  523 + <name>fieldtype</name>
  524 + <type>String</type>
  525 + <format/>
  526 + <currency/>
  527 + <decimal/>
  528 + <group/>
  529 + <nullif>String</nullif>
  530 + <length>-1</length>
  531 + <precision>-1</precision>
  532 + <set_empty_string>N</set_empty_string>
  533 + </field>
  534 + <field>
  535 + <name>length</name>
  536 + <type>String</type>
  537 + <format/>
  538 + <currency/>
  539 + <decimal/>
  540 + <group/>
  541 + <nullif>-1</nullif>
  542 + <length>-1</length>
  543 + <precision>-1</precision>
  544 + <set_empty_string>N</set_empty_string>
  545 + </field>
  546 + <field>
  547 + <name>precision</name>
  548 + <type>String</type>
  549 + <format/>
  550 + <currency/>
  551 + <decimal/>
  552 + <group/>
  553 + <nullif>-1</nullif>
  554 + <length>-1</length>
  555 + <precision>-1</precision>
  556 + <set_empty_string>N</set_empty_string>
  557 + </field>
  558 + <field>
  559 + <name>trim_type</name>
  560 + <type>String</type>
  561 + <format/>
  562 + <currency/>
  563 + <decimal/>
  564 + <group/>
  565 + <nullif>none</nullif>
  566 + <length>-1</length>
  567 + <precision>-1</precision>
  568 + <set_empty_string>N</set_empty_string>
  569 + </field>
  570 + <field>
  571 + <name>repeat</name>
  572 + <type>String</type>
  573 + <format/>
  574 + <currency/>
  575 + <decimal/>
  576 + <group/>
  577 + <nullif>N</nullif>
  578 + <length>-1</length>
  579 + <precision>-1</precision>
  580 + <set_empty_string>N</set_empty_string>
  581 + </field>
  582 + <field>
  583 + <name>format</name>
  584 + <type>String</type>
  585 + <format/>
  586 + <currency/>
  587 + <decimal/>
  588 + <group/>
  589 + <nullif>&#x23;</nullif>
  590 + <length>-1</length>
  591 + <precision>-1</precision>
  592 + <set_empty_string>N</set_empty_string>
  593 + </field>
  594 + </fields>
  595 + <cluster_schema/>
  596 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  597 + <xloc>441</xloc>
  598 + <yloc>172</yloc>
  599 + <draw>Y</draw>
  600 + </GUI>
  601 + </step>
  602 +
  603 + <step>
  604 + <name>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</name>
  605 + <type>Constant</type>
  606 + <description/>
  607 + <distribute>Y</distribute>
  608 + <custom_distribution/>
  609 + <copies>1</copies>
  610 + <partitioning>
  611 + <method>none</method>
  612 + <schema_name/>
  613 + </partitioning>
  614 + <fields>
  615 + <field>
  616 + <name>valuefield</name>
  617 + <type>String</type>
  618 + <format/>
  619 + <currency/>
  620 + <decimal/>
  621 + <group/>
  622 + <nullif>&#x53d1;&#x8f66;&#x65f6;&#x95f4;</nullif>
  623 + <length>-1</length>
  624 + <precision>-1</precision>
  625 + <set_empty_string>N</set_empty_string>
  626 + </field>
  627 + </fields>
  628 + <cluster_schema/>
  629 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  630 + <xloc>447</xloc>
  631 + <yloc>257</yloc>
  632 + <draw>Y</draw>
  633 + </GUI>
  634 + </step>
  635 +
  636 + <step>
  637 + <name>&#x589e;&#x52a0;&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata</name>
  638 + <type>Constant</type>
  639 + <description/>
  640 + <distribute>Y</distribute>
  641 + <custom_distribution/>
  642 + <copies>1</copies>
  643 + <partitioning>
  644 + <method>none</method>
  645 + <schema_name/>
  646 + </partitioning>
  647 + <fields>
  648 + <field>
  649 + <name>col_name</name>
  650 + <type>String</type>
  651 + <format/>
  652 + <currency/>
  653 + <decimal/>
  654 + <group/>
  655 + <nullif>tccname_</nullif>
  656 + <length>-1</length>
  657 + <precision>-1</precision>
  658 + <set_empty_string>N</set_empty_string>
  659 + </field>
  660 + <field>
  661 + <name>col_type</name>
  662 + <type>String</type>
  663 + <format/>
  664 + <currency/>
  665 + <decimal/>
  666 + <group/>
  667 + <nullif>String</nullif>
  668 + <length>-1</length>
  669 + <precision>-1</precision>
  670 + <set_empty_string>N</set_empty_string>
  671 + </field>
  672 + <field>
  673 + <name>col_value</name>
  674 + <type>String</type>
  675 + <format/>
  676 + <currency/>
  677 + <decimal/>
  678 + <group/>
  679 + <nullif>replace</nullif>
  680 + <length>-1</length>
  681 + <precision>-1</precision>
  682 + <set_empty_string>N</set_empty_string>
  683 + </field>
  684 + </fields>
  685 + <cluster_schema/>
  686 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  687 + <xloc>208</xloc>
  688 + <yloc>428</yloc>
  689 + <draw>Y</draw>
  690 + </GUI>
  691 + </step>
  692 +
  693 + <step>
  694 + <name>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;metadata</name>
  695 + <type>Constant</type>
  696 + <description/>
  697 + <distribute>Y</distribute>
  698 + <custom_distribution/>
  699 + <copies>1</copies>
  700 + <partitioning>
  701 + <method>none</method>
  702 + <schema_name/>
  703 + </partitioning>
  704 + <fields>
  705 + <field>
  706 + <name>col_name</name>
  707 + <type>String</type>
  708 + <format/>
  709 + <currency/>
  710 + <decimal/>
  711 + <group/>
  712 + <nullif>ttinfoname_</nullif>
  713 + <length>-1</length>
  714 + <precision>-1</precision>
  715 + <set_empty_string>N</set_empty_string>
  716 + </field>
  717 + <field>
  718 + <name>col_type</name>
  719 + <type>String</type>
  720 + <format/>
  721 + <currency/>
  722 + <decimal/>
  723 + <group/>
  724 + <nullif>String</nullif>
  725 + <length>-1</length>
  726 + <precision>-1</precision>
  727 + <set_empty_string>N</set_empty_string>
  728 + </field>
  729 + <field>
  730 + <name>col_value</name>
  731 + <type>String</type>
  732 + <format/>
  733 + <currency/>
  734 + <decimal/>
  735 + <group/>
  736 + <nullif>replace</nullif>
  737 + <length>-1</length>
  738 + <precision>-1</precision>
  739 + <set_empty_string>N</set_empty_string>
  740 + </field>
  741 + </fields>
  742 + <cluster_schema/>
  743 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  744 + <xloc>216</xloc>
  745 + <yloc>508</yloc>
  746 + <draw>Y</draw>
  747 + </GUI>
  748 + </step>
  749 +
  750 + <step>
  751 + <name>&#x589e;&#x52a0;&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata</name>
  752 + <type>Constant</type>
  753 + <description/>
  754 + <distribute>Y</distribute>
  755 + <custom_distribution/>
  756 + <copies>1</copies>
  757 + <partitioning>
  758 + <method>none</method>
  759 + <schema_name/>
  760 + </partitioning>
  761 + <fields>
  762 + <field>
  763 + <name>col_name</name>
  764 + <type>String</type>
  765 + <format/>
  766 + <currency/>
  767 + <decimal/>
  768 + <group/>
  769 + <nullif>xlname_</nullif>
  770 + <length>-1</length>
  771 + <precision>-1</precision>
  772 + <set_empty_string>N</set_empty_string>
  773 + </field>
  774 + <field>
  775 + <name>col_type</name>
  776 + <type>String</type>
  777 + <format/>
  778 + <currency/>
  779 + <decimal/>
  780 + <group/>
  781 + <nullif>String</nullif>
  782 + <length>-1</length>
  783 + <precision>-1</precision>
  784 + <set_empty_string>N</set_empty_string>
  785 + </field>
  786 + <field>
  787 + <name>col_value</name>
  788 + <type>String</type>
  789 + <format/>
  790 + <currency/>
  791 + <decimal/>
  792 + <group/>
  793 + <nullif>replace</nullif>
  794 + <length>-1</length>
  795 + <precision>-1</precision>
  796 + <set_empty_string>N</set_empty_string>
  797 + </field>
  798 + </fields>
  799 + <cluster_schema/>
  800 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  801 + <xloc>202</xloc>
  802 + <yloc>351</yloc>
  803 + <draw>Y</draw>
  804 + </GUI>
  805 + </step>
  806 +
  807 + <step>
  808 + <name>&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</name>
  809 + <type>SelectValues</type>
  810 + <description/>
  811 + <distribute>Y</distribute>
  812 + <custom_distribution/>
  813 + <copies>1</copies>
  814 + <partitioning>
  815 + <method>none</method>
  816 + <schema_name/>
  817 + </partitioning>
  818 + <fields> <field> <name>col_name</name>
  819 + <rename/>
  820 + <length>-2</length>
  821 + <precision>-2</precision>
  822 + </field> <field> <name>col_type</name>
  823 + <rename/>
  824 + <length>-2</length>
  825 + <precision>-2</precision>
  826 + </field> <field> <name>col_value</name>
  827 + <rename/>
  828 + <length>-2</length>
  829 + <precision>-2</precision>
  830 + </field> <select_unspecified>N</select_unspecified>
  831 + </fields> <cluster_schema/>
  832 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  833 + <xloc>496</xloc>
  834 + <yloc>508</yloc>
  835 + <draw>Y</draw>
  836 + </GUI>
  837 + </step>
  838 +
  839 + <step>
  840 + <name>&#x66ff;&#x6362;&#x505c;&#x8f66;&#x5382;&#x540d;&#x5b57; </name>
  841 + <type>SetValueField</type>
  842 + <description/>
  843 + <distribute>Y</distribute>
  844 + <custom_distribution/>
  845 + <copies>1</copies>
  846 + <partitioning>
  847 + <method>none</method>
  848 + <schema_name/>
  849 + </partitioning>
  850 + <fields>
  851 + <field>
  852 + <name>col_value</name>
  853 + <replaceby>tccname_</replaceby>
  854 + </field>
  855 + </fields>
  856 + <cluster_schema/>
  857 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  858 + <xloc>345</xloc>
  859 + <yloc>430</yloc>
  860 + <draw>Y</draw>
  861 + </GUI>
  862 + </step>
  863 +
  864 + <step>
  865 + <name>&#x66ff;&#x6362;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;</name>
  866 + <type>SetValueField</type>
  867 + <description/>
  868 + <distribute>Y</distribute>
  869 + <custom_distribution/>
  870 + <copies>1</copies>
  871 + <partitioning>
  872 + <method>none</method>
  873 + <schema_name/>
  874 + </partitioning>
  875 + <fields>
  876 + <field>
  877 + <name>col_value</name>
  878 + <replaceby>ttinfoname_</replaceby>
  879 + </field>
  880 + </fields>
  881 + <cluster_schema/>
  882 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  883 + <xloc>354</xloc>
  884 + <yloc>509</yloc>
  885 + <draw>Y</draw>
  886 + </GUI>
  887 + </step>
  888 +
  889 + <step>
  890 + <name>&#x66ff;&#x6362;&#x7ebf;&#x8def;&#x540d;&#x79f0;</name>
  891 + <type>SetValueField</type>
  892 + <description/>
  893 + <distribute>Y</distribute>
  894 + <custom_distribution/>
  895 + <copies>1</copies>
  896 + <partitioning>
  897 + <method>none</method>
  898 + <schema_name/>
  899 + </partitioning>
  900 + <fields>
  901 + <field>
  902 + <name>col_value</name>
  903 + <replaceby>xlname_</replaceby>
  904 + </field>
  905 + </fields>
  906 + <cluster_schema/>
  907 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  908 + <xloc>340</xloc>
  909 + <yloc>352</yloc>
  910 + <draw>Y</draw>
  911 + </GUI>
  912 + </step>
  913 +
  914 + <step>
  915 + <name>&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</name>
  916 + <type>SelectValues</type>
  917 + <description/>
  918 + <distribute>Y</distribute>
  919 + <custom_distribution/>
  920 + <copies>1</copies>
  921 + <partitioning>
  922 + <method>none</method>
  923 + <schema_name/>
  924 + </partitioning>
  925 + <fields> <field> <name>col_name</name>
  926 + <rename/>
  927 + <length>-2</length>
  928 + <precision>-2</precision>
  929 + </field> <field> <name>col_type</name>
  930 + <rename/>
  931 + <length>-2</length>
  932 + <precision>-2</precision>
  933 + </field> <field> <name>col_value</name>
  934 + <rename/>
  935 + <length>-2</length>
  936 + <precision>-2</precision>
  937 + </field> <select_unspecified>N</select_unspecified>
  938 + </fields> <cluster_schema/>
  939 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  940 + <xloc>487</xloc>
  941 + <yloc>353</yloc>
  942 + <draw>Y</draw>
  943 + </GUI>
  944 + </step>
  945 +
  946 + <step>
  947 + <name>&#x83b7;&#x53d6;excel&#x5b57;&#x6bb5;&#x540d;&#x5b57;&#x7b26;&#x4e32;</name>
  948 + <type>GetVariable</type>
  949 + <description/>
  950 + <distribute>Y</distribute>
  951 + <custom_distribution/>
  952 + <copies>1</copies>
  953 + <partitioning>
  954 + <method>none</method>
  955 + <schema_name/>
  956 + </partitioning>
  957 + <fields>
  958 + <field>
  959 + <name>fieldnames</name>
  960 + <variable>&#x24;&#x7b;excelfieldnames&#x7d;</variable>
  961 + <type>String</type>
  962 + <format/>
  963 + <currency/>
  964 + <decimal/>
  965 + <group/>
  966 + <length>-1</length>
  967 + <precision>-1</precision>
  968 + <trim_type>none</trim_type>
  969 + </field>
  970 + </fields>
  971 + <cluster_schema/>
  972 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  973 + <xloc>71</xloc>
  974 + <yloc>163</yloc>
  975 + <draw>Y</draw>
  976 + </GUI>
  977 + </step>
  978 +
  979 + <step>
  980 + <name>&#x83b7;&#x53d6;excel&#x6587;&#x4ef6;&#x540d;</name>
  981 + <type>GetVariable</type>
  982 + <description/>
  983 + <distribute>Y</distribute>
  984 + <custom_distribution/>
  985 + <copies>1</copies>
  986 + <partitioning>
  987 + <method>none</method>
  988 + <schema_name/>
  989 + </partitioning>
  990 + <fields>
  991 + <field>
  992 + <name>filepath_</name>
  993 + <variable>&#x24;&#x7b;filepath&#x7d;</variable>
  994 + <type>String</type>
  995 + <format/>
  996 + <currency/>
  997 + <decimal/>
  998 + <group/>
  999 + <length>-1</length>
  1000 + <precision>-1</precision>
  1001 + <trim_type>none</trim_type>
  1002 + </field>
  1003 + <field>
  1004 + <name>erroroutputdir_</name>
  1005 + <variable>&#x24;&#x7b;erroroutputdir&#x7d;</variable>
  1006 + <type>String</type>
  1007 + <format/>
  1008 + <currency/>
  1009 + <decimal/>
  1010 + <group/>
  1011 + <length>-1</length>
  1012 + <precision>-1</precision>
  1013 + <trim_type>none</trim_type>
  1014 + </field>
  1015 + <field>
  1016 + <name>sheetname_</name>
  1017 + <variable>&#x24;&#x7b;sheetname&#x7d;</variable>
  1018 + <type>String</type>
  1019 + <format/>
  1020 + <currency/>
  1021 + <decimal/>
  1022 + <group/>
  1023 + <length>-1</length>
  1024 + <precision>-1</precision>
  1025 + <trim_type>none</trim_type>
  1026 + </field>
  1027 + </fields>
  1028 + <cluster_schema/>
  1029 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1030 + <xloc>120</xloc>
  1031 + <yloc>62</yloc>
  1032 + <draw>Y</draw>
  1033 + </GUI>
  1034 + </step>
  1035 +
  1036 + <step>
  1037 + <name>&#x83b7;&#x53d6;normalize&#x5b57;&#x6bb5;&#x540d;&#x5b57;&#x7b26;&#x4e32;</name>
  1038 + <type>GetVariable</type>
  1039 + <description/>
  1040 + <distribute>Y</distribute>
  1041 + <custom_distribution/>
  1042 + <copies>1</copies>
  1043 + <partitioning>
  1044 + <method>none</method>
  1045 + <schema_name/>
  1046 + </partitioning>
  1047 + <fields>
  1048 + <field>
  1049 + <name>normalizefieldnames_</name>
  1050 + <variable>&#x24;&#x7b;normalizefieldnames&#x7d;</variable>
  1051 + <type>String</type>
  1052 + <format/>
  1053 + <currency/>
  1054 + <decimal/>
  1055 + <group/>
  1056 + <length>-1</length>
  1057 + <precision>-1</precision>
  1058 + <trim_type>none</trim_type>
  1059 + </field>
  1060 + </fields>
  1061 + <cluster_schema/>
  1062 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1063 + <xloc>80</xloc>
  1064 + <yloc>261</yloc>
  1065 + <draw>Y</draw>
  1066 + </GUI>
  1067 + </step>
  1068 +
  1069 + <step>
  1070 + <name>&#x83b7;&#x53d6;&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;</name>
  1071 + <type>GetVariable</type>
  1072 + <description/>
  1073 + <distribute>Y</distribute>
  1074 + <custom_distribution/>
  1075 + <copies>1</copies>
  1076 + <partitioning>
  1077 + <method>none</method>
  1078 + <schema_name/>
  1079 + </partitioning>
  1080 + <fields>
  1081 + <field>
  1082 + <name>tccname_</name>
  1083 + <variable>&#x24;&#x7b;tccname&#x7d;</variable>
  1084 + <type>String</type>
  1085 + <format/>
  1086 + <currency/>
  1087 + <decimal/>
  1088 + <group/>
  1089 + <length>-1</length>
  1090 + <precision>-1</precision>
  1091 + <trim_type>none</trim_type>
  1092 + </field>
  1093 + </fields>
  1094 + <cluster_schema/>
  1095 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1096 + <xloc>80</xloc>
  1097 + <yloc>430</yloc>
  1098 + <draw>Y</draw>
  1099 + </GUI>
  1100 + </step>
  1101 +
  1102 + <step>
  1103 + <name>&#x83b7;&#x53d6;&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;&#x540d;&#x79f0;</name>
  1104 + <type>GetVariable</type>
  1105 + <description/>
  1106 + <distribute>Y</distribute>
  1107 + <custom_distribution/>
  1108 + <copies>1</copies>
  1109 + <partitioning>
  1110 + <method>none</method>
  1111 + <schema_name/>
  1112 + </partitioning>
  1113 + <fields>
  1114 + <field>
  1115 + <name>ttinfoname_</name>
  1116 + <variable>&#x24;&#x7b;ttinfoname&#x7d;</variable>
  1117 + <type>String</type>
  1118 + <format/>
  1119 + <currency/>
  1120 + <decimal/>
  1121 + <group/>
  1122 + <length>-1</length>
  1123 + <precision>-1</precision>
  1124 + <trim_type>none</trim_type>
  1125 + </field>
  1126 + </fields>
  1127 + <cluster_schema/>
  1128 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1129 + <xloc>82</xloc>
  1130 + <yloc>508</yloc>
  1131 + <draw>Y</draw>
  1132 + </GUI>
  1133 + </step>
  1134 +
  1135 + <step>
  1136 + <name>&#x83b7;&#x53d6;&#x7ebf;&#x8def;&#x540d;&#x79f0;</name>
  1137 + <type>GetVariable</type>
  1138 + <description/>
  1139 + <distribute>Y</distribute>
  1140 + <custom_distribution/>
  1141 + <copies>1</copies>
  1142 + <partitioning>
  1143 + <method>none</method>
  1144 + <schema_name/>
  1145 + </partitioning>
  1146 + <fields>
  1147 + <field>
  1148 + <name>xlname_</name>
  1149 + <variable>&#x24;&#x7b;xlname&#x7d;</variable>
  1150 + <type>String</type>
  1151 + <format/>
  1152 + <currency/>
  1153 + <decimal/>
  1154 + <group/>
  1155 + <length>-1</length>
  1156 + <precision>-1</precision>
  1157 + <trim_type>none</trim_type>
  1158 + </field>
  1159 + </fields>
  1160 + <cluster_schema/>
  1161 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1162 + <xloc>78</xloc>
  1163 + <yloc>351</yloc>
  1164 + <draw>Y</draw>
  1165 + </GUI>
  1166 + </step>
  1167 +
  1168 + <step>
  1169 + <name>&#x9017;&#x53f7;&#x5207;&#x5206;&#x6210;&#x5b57;&#x6bb5;&#x540d;</name>
  1170 + <type>SplitFieldToRows3</type>
  1171 + <description/>
  1172 + <distribute>Y</distribute>
  1173 + <custom_distribution/>
  1174 + <copies>1</copies>
  1175 + <partitioning>
  1176 + <method>none</method>
  1177 + <schema_name/>
  1178 + </partitioning>
  1179 + <splitfield>fieldnames</splitfield>
  1180 + <delimiter>,</delimiter>
  1181 + <newfield>fieldname</newfield>
  1182 + <rownum>N</rownum>
  1183 + <rownum_field/>
  1184 + <resetrownumber>Y</resetrownumber>
  1185 + <delimiter_is_regex>N</delimiter_is_regex>
  1186 + <cluster_schema/>
  1187 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1188 + <xloc>261</xloc>
  1189 + <yloc>163</yloc>
  1190 + <draw>Y</draw>
  1191 + </GUI>
  1192 + </step>
  1193 +
  1194 + <step>
  1195 + <name>&#x9017;&#x53f7;&#x5207;&#x5206;&#x6210;&#x5b57;&#x6bb5;&#x540d; 2</name>
  1196 + <type>SplitFieldToRows3</type>
  1197 + <description/>
  1198 + <distribute>Y</distribute>
  1199 + <custom_distribution/>
  1200 + <copies>1</copies>
  1201 + <partitioning>
  1202 + <method>none</method>
  1203 + <schema_name/>
  1204 + </partitioning>
  1205 + <splitfield>normalizefieldnames_</splitfield>
  1206 + <delimiter>,</delimiter>
  1207 + <newfield>nfieldname</newfield>
  1208 + <rownum>N</rownum>
  1209 + <rownum_field/>
  1210 + <resetrownumber>Y</resetrownumber>
  1211 + <delimiter_is_regex>N</delimiter_is_regex>
  1212 + <cluster_schema/>
  1213 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1214 + <xloc>263</xloc>
  1215 + <yloc>257</yloc>
  1216 + <draw>Y</draw>
  1217 + </GUI>
  1218 + </step>
  1219 +
  1220 + <step_error_handling>
  1221 + </step_error_handling>
  1222 + <slave-step-copy-partition-distribution>
  1223 +</slave-step-copy-partition-distribution>
  1224 + <slave_transformation>N</slave_transformation>
  1225 +
  1226 +</transformation>
src/main/resources/static/pages/oil/list.html
@@ -57,22 +57,23 @@ @@ -57,22 +57,23 @@
57 <thead> 57 <thead>
58 <tr role="row" class="filter"> 58 <tr role="row" class="filter">
59 <td colspan="3"> 59 <td colspan="3">
60 - 公司:  
61 - <select name="ssgsdm">  
62 - <option value="">请选择...</option>  
63 - <option value="1">可用</option>  
64 - <option value="0">禁用</option>  
65 - </select> 60 +<!-- 公司: -->
  61 +<!-- <select name="ssgsdm"> -->
  62 +<!-- <option value="">请选择...</option> -->
  63 +<!-- <option value="1">可用</option> -->
  64 +<!-- <option value="0">禁用</option> -->
  65 +<!-- </select> -->
66 </td> 66 </td>
67 - <td colspan="3"> 67 +
68 <!-- <select name="fgsdm"> --> 68 <!-- <select name="fgsdm"> -->
69 <!-- <option value="">请选择...</option> --> 69 <!-- <option value="">请选择...</option> -->
70 <!-- <option value="1">可用</option> --> 70 <!-- <option value="1">可用</option> -->
71 <!-- <option value="0">禁用</option> --> 71 <!-- <option value="0">禁用</option> -->
72 <!-- </select> --> 72 <!-- </select> -->
73 - 73 + <td>
74 日期: 74 日期:
75 - 75 + </td>
  76 + <td colspan="2">
76 <input type="text" style="width: 80px" name="rq" id="rq"/> 77 <input type="text" style="width: 80px" name="rq" id="rq"/>
77 </td> 78 </td>
78 <td colspan="2"> 79 <td colspan="2">
src/main/resources/static/pages/scheduleApp/module/common/prj-common-globalservice.js
1 -// 项目通用的全局service服务,供不同的controller使用,自定义指令不使用  
2 -  
3 -// 文件下载服务  
4 -angular.module('ScheduleApp').factory('FileDownload_g', function() {  
5 - return {  
6 - downloadFile: function (data, mimeType, fileName) {  
7 - var success = false;  
8 - var blob = new Blob([data], { type: mimeType });  
9 - try {  
10 - if (navigator.msSaveBlob)  
11 - navigator.msSaveBlob(blob, fileName);  
12 - else {  
13 - // Try using other saveBlob implementations, if available  
14 - var saveBlob = navigator.webkitSaveBlob || navigator.mozSaveBlob || navigator.saveBlob;  
15 - if (saveBlob === undefined) throw "Not supported";  
16 - saveBlob(blob, fileName);  
17 - }  
18 - success = true;  
19 - } catch (ex) {  
20 - console.log("saveBlob method failed with the following exception:");  
21 - console.log(ex);  
22 - }  
23 -  
24 - if (!success) {  
25 - // Get the blob url creator  
26 - var urlCreator = window.URL || window.webkitURL || window.mozURL || window.msURL;  
27 - if (urlCreator) {  
28 - // Try to use a download link  
29 - var link = document.createElement('a');  
30 - if ('download' in link) {  
31 - // Try to simulate a click  
32 - try {  
33 - // Prepare a blob URL  
34 - var url = urlCreator.createObjectURL(blob);  
35 - link.setAttribute('href', url);  
36 -  
37 - // Set the download attribute (Supported in Chrome 14+ / Firefox 20+)  
38 - link.setAttribute("download", fileName);  
39 -  
40 - // Simulate clicking the download link  
41 - var event = document.createEvent('MouseEvents');  
42 - event.initMouseEvent('click', true, true, window, 1, 0, 0, 0, 0, false, false, false, false, 0, null);  
43 - link.dispatchEvent(event);  
44 - success = true;  
45 -  
46 - } catch (ex) {  
47 - console.log("Download link method with simulated click failed with the following exception:");  
48 - console.log(ex);  
49 - }  
50 - }  
51 -  
52 - if (!success) {  
53 - // Fallback to window.location method  
54 - try {  
55 - // Prepare a blob URL  
56 - // Use application/octet-stream when using window.location to force download  
57 - var url = urlCreator.createObjectURL(blob);  
58 - window.location = url;  
59 - console.log("Download link method with window.location succeeded");  
60 - success = true;  
61 - } catch (ex) {  
62 - console.log("Download link method with window.location failed with the following exception:");  
63 - console.log(ex);  
64 - }  
65 - }  
66 - }  
67 - }  
68 -  
69 - if (!success) {  
70 - // Fallback to window.open method  
71 - console.log("No methods worked for saving the arraybuffer, using last resort window.open");  
72 - window.open("", '_blank', '');  
73 - }  
74 - }  
75 - };  
76 -});  
77 -  
78 -// 车辆信息service  
79 -angular.module('ScheduleApp').factory('BusInfoManageService_g', ['$resource', function($resource) {  
80 - return {  
81 - rest: $resource(  
82 - '/cars/:id',  
83 - {order: 'carCode', direction: 'ASC', id: '@id_route'},  
84 - {  
85 - list: {  
86 - method: 'GET',  
87 - params: {  
88 - page: 0  
89 - }  
90 - },  
91 - get: {  
92 - method: 'GET'  
93 - },  
94 - save: {  
95 - method: 'POST'  
96 - }  
97 - }  
98 - ),  
99 - validate: $resource(  
100 - '/cars/validate/:type',  
101 - {},  
102 - {  
103 - insideCode: {  
104 - method: 'GET'  
105 - }  
106 - }  
107 - ),  
108 - dataTools: $resource(  
109 - '/cars/:type',  
110 - {},  
111 - {  
112 - dataExport: {  
113 - method: 'GET',  
114 - responseType: "arraybuffer",  
115 - params: {  
116 - type: "dataExport"  
117 - },  
118 - transformResponse: function(data, headers){  
119 - return {data : data};  
120 - }  
121 - }  
122 - }  
123 - )  
124 - };  
125 -}]);  
126 -// 人员信息service  
127 -angular.module('ScheduleApp').factory('EmployeeInfoManageService_g', ['$resource', function($resource) {  
128 - return {  
129 - rest : $resource(  
130 - '/personnel/:id',  
131 - {order: 'jobCode', direction: 'ASC', id: '@id_route'},  
132 - {  
133 - list: {  
134 - method: 'GET',  
135 - params: {  
136 - page: 0  
137 - }  
138 - },  
139 - get: {  
140 - method: 'GET'  
141 - },  
142 - save: {  
143 - method: 'POST'  
144 - }  
145 - }  
146 - ),  
147 - validate: $resource(  
148 - '/personnel/validate/:type',  
149 - {},  
150 - {  
151 - jobCode: {  
152 - method: 'GET'  
153 - }  
154 - }  
155 - ),  
156 - dataTools: $resource(  
157 - '/personnel/:type',  
158 - {},  
159 - {  
160 - dataExport: {  
161 - method: 'GET',  
162 - responseType: "arraybuffer",  
163 - params: {  
164 - type: "dataExport"  
165 - },  
166 - transformResponse: function(data, headers){  
167 - return {data : data};  
168 - }  
169 - }  
170 - }  
171 - )  
172 - };  
173 -}]);  
174 -// 车辆设备信息service  
175 -angular.module('ScheduleApp').factory('DeviceInfoManageService_g', ['$resource', function($resource) {  
176 - return $resource(  
177 - '/cde/:id',  
178 - {order: 'xl,isCancel,cl,qyrq', direction: 'ASC,ASC,ASC,DESC', id: '@id_route'},  
179 - {  
180 - list: {  
181 - method: 'GET',  
182 - params: {  
183 - page: 0  
184 - }  
185 - },  
186 - get: {  
187 - method: 'GET'  
188 - },  
189 - save: {  
190 - method: 'POST'  
191 - },  
192 - delete: {  
193 - method: 'DELETE'  
194 - }  
195 - }  
196 - );  
197 -}]);  
198 -  
199 -// 车辆配置service  
200 -angular.module('ScheduleApp').factory('BusConfigService_g', ['$resource', function($resource) {  
201 - return {  
202 - rest : $resource(  
203 - '/cci/:id',  
204 - {order: 'xl.id,cl.insideCode,isCancel', direction: 'ASC', id: '@id_route'},  
205 - {  
206 - list: {  
207 - method: 'GET',  
208 - params: {  
209 - page: 0  
210 - }  
211 - },  
212 - get: {  
213 - method: 'GET'  
214 - },  
215 - save: {  
216 - method: 'POST'  
217 - }  
218 - }  
219 - )  
220 - };  
221 -}]);  
222 -  
223 -// 人员配置service  
224 -angular.module('ScheduleApp').factory('EmployeeConfigService_g', ['$resource', function($resource) {  
225 - return {  
226 - rest : $resource(  
227 - '/eci/:id',  
228 - {order: 'xl.id,isCancel,dbbmFormula', direction: 'ASC', id: '@id_route'},  
229 - {  
230 - list: {  
231 - method: 'GET',  
232 - params: {  
233 - page: 0  
234 - }  
235 - },  
236 - get: {  
237 - method: 'GET'  
238 - },  
239 - save: {  
240 - method: 'POST'  
241 - },  
242 - delete: {  
243 - method: 'DELETE'  
244 - }  
245 - }  
246 - ),  
247 - validate: $resource( // TODO:  
248 - '/personnel/validate/:type',  
249 - {},  
250 - {  
251 - jobCode: {  
252 - method: 'GET'  
253 - }  
254 - }  
255 - )  
256 - };  
257 -}]);  
258 -  
259 -// 路牌管理service  
260 -angular.module('ScheduleApp').factory('GuideboardManageService_g', ['$resource', function($resource) {  
261 - return {  
262 - rest: $resource(  
263 - '/gic/:id',  
264 - {order: 'createDate', direction: 'DESC', id: '@id_route'},  
265 - {  
266 - list: {  
267 - method: 'GET',  
268 - params: {  
269 - page: 0  
270 - }  
271 - },  
272 - get: {  
273 - method: 'GET'  
274 - },  
275 - save: {  
276 - method: 'POST'  
277 - }  
278 - }  
279 - )  
280 - };  
281 -}]);  
282 -  
283 -// 排班管理service  
284 -angular.module('ScheduleApp').factory('ScheduleRuleManageService_g', ['$resource', function($resource) {  
285 - return {  
286 - rest: $resource(  
287 - '/sr1fc/:id',  
288 - {order: 'createDate', direction: 'DESC', id: '@id_route'},  
289 - {  
290 - list: {  
291 - method: 'GET',  
292 - params: {  
293 - page: 0  
294 - }  
295 - },  
296 - get: {  
297 - method: 'GET'  
298 - },  
299 - save: {  
300 - method: 'POST'  
301 - },  
302 - delete: {  
303 - method: 'DELETE'  
304 - }  
305 - }  
306 - )  
307 - };  
308 -}]);  
309 -  
310 -// 套跑管理service  
311 -angular.module('ScheduleApp').factory('rerunManageService_g', ['$resource', function($resource) {  
312 - return {  
313 - rest: $resource(  
314 - 'rms/:id',  
315 - {order: 'rerunXl.id,isCancel', direction: 'ASC', id: '@id_route'},  
316 - {  
317 - list: {  
318 - method: 'GET',  
319 - params: {  
320 - page: 0  
321 - }  
322 - },  
323 - get: {  
324 - method: 'GET'  
325 - },  
326 - save: {  
327 - method: 'POST'  
328 - },  
329 - delete: {  
330 - method: 'DELETE'  
331 - }  
332 - }  
333 - )  
334 - };  
335 -}]);  
336 -  
337 -// 时刻表管理service  
338 -angular.module('ScheduleApp').factory('TimeTableManageService_g', ['$resource', function($resource) {  
339 - return {  
340 - rest: $resource(  
341 - '/tic/:id',  
342 - {order: 'xl,isCancel,isEnableDisTemplate,qyrq', direction: 'DESC,ASC,DESC,DESC', id: '@id'},  
343 - {  
344 - list: {  
345 - method: 'GET',  
346 - params: {  
347 - page: 0  
348 - }  
349 - }  
350 - }  
351 - )  
352 - };  
353 -}]);  
354 -// 时刻表明细管理service  
355 -angular.module('ScheduleApp').factory('TimeTableDetailManageService_g', ['$resource', function($resource) {  
356 - return {  
357 - rest: $resource(  
358 - '/tidc/:id',  
359 - {order: 'createDate', direction: 'DESC', id: '@id_route'},  
360 - {  
361 - get: {  
362 - method: 'GET'  
363 - },  
364 - save: {  
365 - method: 'POST'  
366 - }  
367 - }  
368 - ),  
369 - import: $resource(  
370 - '/tidc/importfile',  
371 - {},  
372 - {  
373 - do: {  
374 - method: 'POST',  
375 - headers: {  
376 - 'Content-Type': 'application/x-www-form-urlencoded'  
377 - },  
378 - transformRequest: function(obj) {  
379 - var str = [];  
380 - for (var p in obj) {  
381 - str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p]));  
382 - }  
383 - return str.join("&");  
384 - }  
385 - }  
386 - }  
387 - ),  
388 - edit: $resource(  
389 - '/tidc/edit/:xlid/:ttid',  
390 - {},  
391 - {  
392 - list: {  
393 - method: 'GET'  
394 - }  
395 - }  
396 - ),  
397 - bcdetails: $resource(  
398 - '/tidc/bcdetail',  
399 - {},  
400 - {  
401 - list: {  
402 - method: 'GET',  
403 - isArray: true  
404 - }  
405 - }  
406 - )  
407 -  
408 - // TODO:导入数据  
409 - };  
410 -}]);  
411 -  
412 -  
413 -  
414 -// 排班计划管理service  
415 -angular.module('ScheduleApp').factory('SchedulePlanManageService_g', ['$resource', function($resource) {  
416 - return {  
417 - rest : $resource(  
418 - '/spc/:id',  
419 - {order: 'xl.id,createDate', direction: 'DESC,DESC', id: '@id_route'},  
420 - {  
421 - list: {  
422 - method: 'GET',  
423 - params: {  
424 - page: 0  
425 - }  
426 - },  
427 - get: {  
428 - method: 'GET'  
429 - },  
430 - save: {  
431 - method: 'POST'  
432 - },  
433 - delete: {  
434 - method: 'DELETE'  
435 - }  
436 - }  
437 - ),  
438 - tommorw: $resource(  
439 - '/spc/tommorw',  
440 - {},  
441 - {  
442 - list: {  
443 - method: 'GET'  
444 - }  
445 - }  
446 - )  
447 - };  
448 -}]);  
449 -  
450 -// 排班计划明细管理service  
451 -angular.module('ScheduleApp').factory('SchedulePlanInfoManageService_g', ['$resource', function($resource) {  
452 - return {  
453 - rest : $resource(  
454 - '/spic/:id',  
455 - {order: 'scheduleDate,lp,fcno', direction: 'ASC,ASC,ASC', id: '@id_route'},  
456 - {  
457 - list: {  
458 - method: 'GET',  
459 - params: {  
460 - page: 0  
461 - }  
462 - },  
463 - get: {  
464 - method: 'GET'  
465 - },  
466 - save: {  
467 - method: 'POST'  
468 - }  
469 - }  
470 - ),  
471 - groupinfo : $resource(  
472 - '/spic/groupinfos/:xlid/:sdate',  
473 - {},  
474 - {  
475 - list: {  
476 - method: 'GET',  
477 - isArray: true  
478 - }  
479 - }  
480 - ),  
481 - updateGroupInfo : $resource(  
482 - '/spic/groupinfos/update',  
483 - {},  
484 - {  
485 - update: {  
486 - method: 'POST'  
487 - }  
488 - }  
489 - )  
490 - };  
491 -}]);  
492 -  
493 -// 线路运营统计service  
494 -angular.module('ScheduleApp').factory('BusLineInfoStatService_g', ['$resource', function($resource) {  
495 - return $resource(  
496 - '/bic/:id',  
497 - {order: 'createDate', direction: 'DESC', id: '@id_route'}, // TODO:以后需要根据属性对象的属性查询  
498 - {  
499 - list: {  
500 - method: 'GET',  
501 - params: {  
502 - page: 0  
503 - }  
504 - }  
505 - }  
506 - );  
507 -}]);  
508 -  
509 -  
510 -  
511 -  
512 -/**  
513 - * saSelect2指令,根据属性值,动态载入数据,然后支持拼音搜索,点击右边的按钮清除选择并重新载入数据。  
514 - * 1、compile阶段使用的属性如下:  
515 - * required:用于和表单验证连接,指定成required="true"才有效。  
516 - * 2、link阶段使用的属性如下  
517 - * model:关联的模型对象  
518 - * name:表单验证时需要的名字  
519 - * type:关联的那种数据值(xl/cl/ry)-> 对应线路信息/车辆信息/人员信息,后面有的继续加  
520 - * modelcolname1:关联的模型字段名字1(一般应该是编码字段)  
521 - * modelcolname2:关联的模型字段名字2(一般应该是名字字段)  
522 - * datacolname1;内部数据对应的字段名字1(与模型字段1对应)  
523 - * datacolname2:内部数据对应的字段名字2(与模型字段2对应)  
524 - * showcolname:下拉框显示的内部数据字段名(注意:不是模型数据字段名),TODO:以后考虑放动态表达式,并在compile阶段使用  
525 - * placeholder:select placeholder字符串描述  
526 - *  
527 - * $$pyFilter,内部的filter指令,结合简拼音进行拼音过滤。  
528 - * $$SearchInfoService_g,内部使用的数据服务  
529 - */  
530 -// saSelect2指令使用的内部信service  
531 -angular.module('ScheduleApp').factory('$$SearchInfoService_g', ['$resource', function($resource) {  
532 - return {  
533 - xl: $resource(  
534 - '/line/:type',  
535 - {order: 'name', direction: 'ASC'},  
536 - {  
537 - list: {  
538 - method: 'GET',  
539 - isArray: true  
540 - }  
541 - }  
542 - ),  
543 - xlinfo: $resource(  
544 - '/lineInformation/:type',  
545 - {order: 'line.name', direction: 'ASC'},  
546 - {  
547 - list: {  
548 - method: 'GET',  
549 - isArray: true  
550 - }  
551 - }  
552 - ),  
553 - zd: $resource(  
554 - '/stationroute/stations',  
555 - {order: 'stationCode', direction: 'ASC'},  
556 - {  
557 - list: {  
558 - method: 'GET',  
559 - isArray: true  
560 - }  
561 - }  
562 - ),  
563 - tcc: $resource(  
564 - '/carpark/:type',  
565 - {order: 'parkCode', direction: 'ASC'},  
566 - {  
567 - list: {  
568 - method: 'GET',  
569 - isArray: true  
570 - }  
571 - }  
572 - ),  
573 - ry: $resource(  
574 - '/personnel/:type',  
575 - {order: 'personnelName', direction: 'ASC'},  
576 - {  
577 - list: {  
578 - method: 'GET',  
579 - isArray: true  
580 - }  
581 - }  
582 - ),  
583 - cl: $resource(  
584 - '/cars/:type',  
585 - {order: "insideCode", direction: 'ASC'},  
586 - {  
587 - list: {  
588 - method: 'GET',  
589 - isArray: true  
590 - }  
591 - }  
592 - ),  
593 - ttInfo: $resource(  
594 - '/tic/:type',  
595 - {order: "name", direction: 'ASC'},  
596 - {  
597 - list: {  
598 - method: 'GET',  
599 - isArray: true  
600 - }  
601 - }  
602 - ),  
603 - lpInfo: $resource(  
604 - '/gic/ttlpnames',  
605 - {order: "lpName", direction: 'ASC'},  
606 - {  
607 - list: {  
608 - method: 'GET',  
609 - isArray: true  
610 - }  
611 - }  
612 - ),  
613 - lpInfo2: $resource(  
614 - '/gic/:type',  
615 - {order: "lpName", direction: 'ASC'},  
616 - {  
617 - list: {  
618 - method: 'GET',  
619 - isArray: true  
620 - }  
621 - }  
622 - ),  
623 - cci: $resource(  
624 - '/cci/cars',  
625 - {},  
626 - {  
627 - list: {  
628 - method: 'GET',  
629 - isArray: true  
630 - }  
631 - }  
632 -  
633 - ),  
634 - cci2: $resource(  
635 - '/cci/:type',  
636 - {},  
637 - {  
638 - list: {  
639 - method: 'GET',  
640 - isArray: true  
641 - }  
642 - }  
643 - ),  
644 - cci3: $resource(  
645 - '/cci/cars2',  
646 - {},  
647 - {  
648 - list: {  
649 - method: 'GET',  
650 - isArray: true  
651 - }  
652 - }  
653 -  
654 - ),  
655 - eci: $resource(  
656 - '/eci/jsy',  
657 - {},  
658 - {  
659 - list: {  
660 - method: 'GET',  
661 - isArray: true  
662 - }  
663 - }  
664 - ),  
665 - eci2: $resource(  
666 - '/eci/spy',  
667 - {},  
668 - {  
669 - list: {  
670 - method: 'GET',  
671 - isArray: true  
672 - }  
673 - }  
674 - ),  
675 - eci3: $resource(  
676 - '/eci/:type',  
677 - {},  
678 - {  
679 - list: {  
680 - method: 'GET',  
681 - isArray: true  
682 - }  
683 - }  
684 - ),  
685 -  
686 -  
687 - validate: { // remoteValidation指令用到的resource  
688 - cl1: { // 车辆自编号不能重复验证  
689 - template: {'insideCode_eq': '-1'}, // 查询参数模版  
690 - remote: $resource( // $resource封装对象  
691 - '/cars/validate/equale',  
692 - {},  
693 - {  
694 - do: {  
695 - method: 'GET'  
696 - }  
697 - }  
698 - )  
699 - },  
700 - cde1: { // 车辆设备启用日期验证  
701 - template: {'qyrq': 0, 'xl': 1, 'cl': 1}, // 日期毫秒  
702 - remote: $resource( // $resource封装对象  
703 - '/cde//validate/qyrq',  
704 - {},  
705 - {  
706 - do: {  
707 - method: 'GET'  
708 - }  
709 - }  
710 - )  
711 - },  
712 - ttc1: { // 时刻表名字验证  
713 - template: {'xl.id_eq': -1, 'name_eq': 'ddd'},  
714 - remote: $resource( // $resource封装对象  
715 - '/tic/validate/equale',  
716 - {},  
717 - {  
718 - do: {  
719 - method: 'GET'  
720 - }  
721 - }  
722 - )  
723 - },  
724 - sheet: { // 时刻表sheet工作区验证  
725 - template: {'filename': '', 'sheetname': '', 'lineid': -1, 'linename': ''},  
726 - remote: $resource( // $resource封装对象  
727 - '/tidc/validate/sheet',  
728 - {},  
729 - {  
730 - do: {  
731 - method: 'POST',  
732 - headers: {  
733 - 'Content-Type': 'application/x-www-form-urlencoded'  
734 - },  
735 - transformRequest: function(obj) {  
736 - var str = [];  
737 - for (var p in obj) {  
738 - str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p]));  
739 - }  
740 - return str.join("&");  
741 - }  
742 - }  
743 - }  
744 - )  
745 - },  
746 - sheetli: { // 时刻表线路标准验证  
747 - template: {'lineinfoid': -1},  
748 - remote: $resource( // $resource封装对象  
749 - '/tidc/validate/lineinfo',  
750 - {},  
751 - {  
752 - do: {  
753 - method: 'GET'  
754 - }  
755 - }  
756 - )  
757 - }  
758 - }  
759 -  
760 - //validate: $resource(  
761 - // '/cars/validate/:type',  
762 - // {},  
763 - // {  
764 - // insideCode: {  
765 - // method: 'GET'  
766 - // }  
767 - // }  
768 - //)  
769 -  
770 -  
771 -  
772 - }  
773 -}]);  
774 -  
775 -  
776 - 1 +// 项目通用的全局service服务,供不同的controller使用,自定义指令不使用
  2 +
  3 +// 文件下载服务
  4 +angular.module('ScheduleApp').factory('FileDownload_g', function() {
  5 + return {
  6 + downloadFile: function (data, mimeType, fileName) {
  7 + var success = false;
  8 + var blob = new Blob([data], { type: mimeType });
  9 + try {
  10 + if (navigator.msSaveBlob)
  11 + navigator.msSaveBlob(blob, fileName);
  12 + else {
  13 + // Try using other saveBlob implementations, if available
  14 + var saveBlob = navigator.webkitSaveBlob || navigator.mozSaveBlob || navigator.saveBlob;
  15 + if (saveBlob === undefined) throw "Not supported";
  16 + saveBlob(blob, fileName);
  17 + }
  18 + success = true;
  19 + } catch (ex) {
  20 + console.log("saveBlob method failed with the following exception:");
  21 + console.log(ex);
  22 + }
  23 +
  24 + if (!success) {
  25 + // Get the blob url creator
  26 + var urlCreator = window.URL || window.webkitURL || window.mozURL || window.msURL;
  27 + if (urlCreator) {
  28 + // Try to use a download link
  29 + var link = document.createElement('a');
  30 + if ('download' in link) {
  31 + // Try to simulate a click
  32 + try {
  33 + // Prepare a blob URL
  34 + var url = urlCreator.createObjectURL(blob);
  35 + link.setAttribute('href', url);
  36 +
  37 + // Set the download attribute (Supported in Chrome 14+ / Firefox 20+)
  38 + link.setAttribute("download", fileName);
  39 +
  40 + // Simulate clicking the download link
  41 + var event = document.createEvent('MouseEvents');
  42 + event.initMouseEvent('click', true, true, window, 1, 0, 0, 0, 0, false, false, false, false, 0, null);
  43 + link.dispatchEvent(event);
  44 + success = true;
  45 +
  46 + } catch (ex) {
  47 + console.log("Download link method with simulated click failed with the following exception:");
  48 + console.log(ex);
  49 + }
  50 + }
  51 +
  52 + if (!success) {
  53 + // Fallback to window.location method
  54 + try {
  55 + // Prepare a blob URL
  56 + // Use application/octet-stream when using window.location to force download
  57 + var url = urlCreator.createObjectURL(blob);
  58 + window.location = url;
  59 + console.log("Download link method with window.location succeeded");
  60 + success = true;
  61 + } catch (ex) {
  62 + console.log("Download link method with window.location failed with the following exception:");
  63 + console.log(ex);
  64 + }
  65 + }
  66 + }
  67 + }
  68 +
  69 + if (!success) {
  70 + // Fallback to window.open method
  71 + console.log("No methods worked for saving the arraybuffer, using last resort window.open");
  72 + window.open("", '_blank', '');
  73 + }
  74 + }
  75 + };
  76 +});
  77 +
  78 +// 车辆信息service
  79 +angular.module('ScheduleApp').factory('BusInfoManageService_g', ['$resource', function($resource) {
  80 + return {
  81 + rest: $resource(
  82 + '/cars/:id',
  83 + {order: 'carCode', direction: 'ASC', id: '@id_route'},
  84 + {
  85 + list: {
  86 + method: 'GET',
  87 + params: {
  88 + page: 0
  89 + }
  90 + },
  91 + get: {
  92 + method: 'GET'
  93 + },
  94 + save: {
  95 + method: 'POST'
  96 + }
  97 + }
  98 + ),
  99 + validate: $resource(
  100 + '/cars/validate/:type',
  101 + {},
  102 + {
  103 + insideCode: {
  104 + method: 'GET'
  105 + }
  106 + }
  107 + ),
  108 + dataTools: $resource(
  109 + '/cars/:type',
  110 + {},
  111 + {
  112 + dataExport: {
  113 + method: 'GET',
  114 + responseType: "arraybuffer",
  115 + params: {
  116 + type: "dataExport"
  117 + },
  118 + transformResponse: function(data, headers){
  119 + return {data : data};
  120 + }
  121 + }
  122 + }
  123 + )
  124 + };
  125 +}]);
  126 +// 人员信息service
  127 +angular.module('ScheduleApp').factory('EmployeeInfoManageService_g', ['$resource', function($resource) {
  128 + return {
  129 + rest : $resource(
  130 + '/personnel/:id',
  131 + {order: 'jobCode', direction: 'ASC', id: '@id_route'},
  132 + {
  133 + list: {
  134 + method: 'GET',
  135 + params: {
  136 + page: 0
  137 + }
  138 + },
  139 + get: {
  140 + method: 'GET'
  141 + },
  142 + save: {
  143 + method: 'POST'
  144 + }
  145 + }
  146 + ),
  147 + validate: $resource(
  148 + '/personnel/validate/:type',
  149 + {},
  150 + {
  151 + jobCode: {
  152 + method: 'GET'
  153 + }
  154 + }
  155 + ),
  156 + dataTools: $resource(
  157 + '/personnel/:type',
  158 + {},
  159 + {
  160 + dataExport: {
  161 + method: 'GET',
  162 + responseType: "arraybuffer",
  163 + params: {
  164 + type: "dataExport"
  165 + },
  166 + transformResponse: function(data, headers){
  167 + return {data : data};
  168 + }
  169 + }
  170 + }
  171 + )
  172 + };
  173 +}]);
  174 +// 车辆设备信息service
  175 +angular.module('ScheduleApp').factory('DeviceInfoManageService_g', ['$resource', function($resource) {
  176 + return $resource(
  177 + '/cde/:id',
  178 + {order: 'xl,isCancel,cl,qyrq', direction: 'ASC,ASC,ASC,DESC', id: '@id_route'},
  179 + {
  180 + list: {
  181 + method: 'GET',
  182 + params: {
  183 + page: 0
  184 + }
  185 + },
  186 + get: {
  187 + method: 'GET'
  188 + },
  189 + save: {
  190 + method: 'POST'
  191 + },
  192 + delete: {
  193 + method: 'DELETE'
  194 + }
  195 + }
  196 + );
  197 +}]);
  198 +
  199 +// 车辆配置service
  200 +angular.module('ScheduleApp').factory('BusConfigService_g', ['$resource', function($resource) {
  201 + return {
  202 + rest : $resource(
  203 + '/cci/:id',
  204 + {order: 'xl.id,cl.insideCode,isCancel', direction: 'ASC', id: '@id_route'},
  205 + {
  206 + list: {
  207 + method: 'GET',
  208 + params: {
  209 + page: 0
  210 + }
  211 + },
  212 + get: {
  213 + method: 'GET'
  214 + },
  215 + save: {
  216 + method: 'POST'
  217 + }
  218 + }
  219 + )
  220 + };
  221 +}]);
  222 +
  223 +// 人员配置service
  224 +angular.module('ScheduleApp').factory('EmployeeConfigService_g', ['$resource', function($resource) {
  225 + return {
  226 + rest : $resource(
  227 + '/eci/:id',
  228 + {order: 'xl.id,isCancel,dbbmFormula', direction: 'ASC', id: '@id_route'},
  229 + {
  230 + list: {
  231 + method: 'GET',
  232 + params: {
  233 + page: 0
  234 + }
  235 + },
  236 + get: {
  237 + method: 'GET'
  238 + },
  239 + save: {
  240 + method: 'POST'
  241 + },
  242 + delete: {
  243 + method: 'DELETE'
  244 + }
  245 + }
  246 + ),
  247 + validate: $resource( // TODO:
  248 + '/personnel/validate/:type',
  249 + {},
  250 + {
  251 + jobCode: {
  252 + method: 'GET'
  253 + }
  254 + }
  255 + )
  256 + };
  257 +}]);
  258 +
  259 +// 路牌管理service
  260 +angular.module('ScheduleApp').factory('GuideboardManageService_g', ['$resource', function($resource) {
  261 + return {
  262 + rest: $resource(
  263 + '/gic/:id',
  264 + {order: 'createDate', direction: 'DESC', id: '@id_route'},
  265 + {
  266 + list: {
  267 + method: 'GET',
  268 + params: {
  269 + page: 0
  270 + }
  271 + },
  272 + get: {
  273 + method: 'GET'
  274 + },
  275 + save: {
  276 + method: 'POST'
  277 + }
  278 + }
  279 + )
  280 + };
  281 +}]);
  282 +
  283 +// 排班管理service
  284 +angular.module('ScheduleApp').factory('ScheduleRuleManageService_g', ['$resource', function($resource) {
  285 + return {
  286 + rest: $resource(
  287 + '/sr1fc/:id',
  288 + {order: 'createDate', direction: 'DESC', id: '@id_route'},
  289 + {
  290 + list: {
  291 + method: 'GET',
  292 + params: {
  293 + page: 0
  294 + }
  295 + },
  296 + get: {
  297 + method: 'GET'
  298 + },
  299 + save: {
  300 + method: 'POST'
  301 + },
  302 + delete: {
  303 + method: 'DELETE'
  304 + }
  305 + }
  306 + )
  307 + };
  308 +}]);
  309 +
  310 +// 套跑管理service
  311 +angular.module('ScheduleApp').factory('rerunManageService_g', ['$resource', function($resource) {
  312 + return {
  313 + rest: $resource(
  314 + 'rms/:id',
  315 + {order: 'rerunXl.id,isCancel', direction: 'ASC', id: '@id_route'},
  316 + {
  317 + list: {
  318 + method: 'GET',
  319 + params: {
  320 + page: 0
  321 + }
  322 + },
  323 + get: {
  324 + method: 'GET'
  325 + },
  326 + save: {
  327 + method: 'POST'
  328 + },
  329 + delete: {
  330 + method: 'DELETE'
  331 + }
  332 + }
  333 + )
  334 + };
  335 +}]);
  336 +
  337 +// 时刻表管理service
  338 +angular.module('ScheduleApp').factory('TimeTableManageService_g', ['$resource', function($resource) {
  339 + return {
  340 + rest: $resource(
  341 + '/tic/:id',
  342 + {order: 'xl,isCancel,isEnableDisTemplate,qyrq', direction: 'DESC,ASC,DESC,DESC', id: '@id'},
  343 + {
  344 + list: {
  345 + method: 'GET',
  346 + params: {
  347 + page: 0
  348 + }
  349 + }
  350 + }
  351 + )
  352 + };
  353 +}]);
  354 +// 时刻表明细管理service
  355 +angular.module('ScheduleApp').factory('TimeTableDetailManageService_g', ['$resource', function($resource) {
  356 + return {
  357 + rest: $resource(
  358 + '/tidc/:id',
  359 + {order: 'createDate', direction: 'DESC', id: '@id_route'},
  360 + {
  361 + get: {
  362 + method: 'GET'
  363 + },
  364 + save: {
  365 + method: 'POST'
  366 + }
  367 + }
  368 + ),
  369 + import: $resource(
  370 + '/tidc/importfile',
  371 + {},
  372 + {
  373 + do: {
  374 + method: 'POST',
  375 + headers: {
  376 + 'Content-Type': 'application/x-www-form-urlencoded'
  377 + },
  378 + transformRequest: function(obj) {
  379 + var str = [];
  380 + for (var p in obj) {
  381 + str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p]));
  382 + }
  383 + return str.join("&");
  384 + }
  385 + }
  386 + }
  387 + ),
  388 + edit: $resource(
  389 + '/tidc/edit/:xlid/:ttid',
  390 + {},
  391 + {
  392 + list: {
  393 + method: 'GET'
  394 + }
  395 + }
  396 + ),
  397 + bcdetails: $resource(
  398 + '/tidc/bcdetail',
  399 + {},
  400 + {
  401 + list: {
  402 + method: 'GET',
  403 + isArray: true
  404 + }
  405 + }
  406 + )
  407 +
  408 + // TODO:导入数据
  409 + };
  410 +}]);
  411 +
  412 +
  413 +
  414 +// 排班计划管理service
  415 +angular.module('ScheduleApp').factory('SchedulePlanManageService_g', ['$resource', function($resource) {
  416 + return {
  417 + rest : $resource(
  418 + '/spc/:id',
  419 + {order: 'xl.id,createDate', direction: 'DESC,DESC', id: '@id_route'},
  420 + {
  421 + list: {
  422 + method: 'GET',
  423 + params: {
  424 + page: 0
  425 + }
  426 + },
  427 + get: {
  428 + method: 'GET'
  429 + },
  430 + save: {
  431 + method: 'POST'
  432 + },
  433 + delete: {
  434 + method: 'DELETE'
  435 + }
  436 + }
  437 + ),
  438 + tommorw: $resource(
  439 + '/spc/tommorw',
  440 + {},
  441 + {
  442 + list: {
  443 + method: 'GET'
  444 + }
  445 + }
  446 + )
  447 + };
  448 +}]);
  449 +
  450 +// 排班计划明细管理service
  451 +angular.module('ScheduleApp').factory('SchedulePlanInfoManageService_g', ['$resource', function($resource) {
  452 + return {
  453 + rest : $resource(
  454 + '/spic/:id',
  455 + {order: 'scheduleDate,lp,fcno', direction: 'ASC,ASC,ASC', id: '@id_route'},
  456 + {
  457 + list: {
  458 + method: 'GET',
  459 + params: {
  460 + page: 0
  461 + }
  462 + },
  463 + get: {
  464 + method: 'GET'
  465 + },
  466 + save: {
  467 + method: 'POST'
  468 + }
  469 + }
  470 + ),
  471 + groupinfo : $resource(
  472 + '/spic/groupinfos/:xlid/:sdate',
  473 + {},
  474 + {
  475 + list: {
  476 + method: 'GET',
  477 + isArray: true
  478 + }
  479 + }
  480 + ),
  481 + updateGroupInfo : $resource(
  482 + '/spic/groupinfos/update',
  483 + {},
  484 + {
  485 + update: {
  486 + method: 'POST'
  487 + }
  488 + }
  489 + )
  490 + };
  491 +}]);
  492 +
  493 +// 线路运营统计service
  494 +angular.module('ScheduleApp').factory('BusLineInfoStatService_g', ['$resource', function($resource) {
  495 + return $resource(
  496 + '/bic/:id',
  497 + {order: 'createDate', direction: 'DESC', id: '@id_route'}, // TODO:以后需要根据属性对象的属性查询
  498 + {
  499 + list: {
  500 + method: 'GET',
  501 + params: {
  502 + page: 0
  503 + }
  504 + }
  505 + }
  506 + );
  507 +}]);
  508 +
  509 +
  510 +
  511 +
  512 +/**
  513 + * saSelect2指令,根据属性值,动态载入数据,然后支持拼音搜索,点击右边的按钮清除选择并重新载入数据。
  514 + * 1、compile阶段使用的属性如下:
  515 + * required:用于和表单验证连接,指定成required="true"才有效。
  516 + * 2、link阶段使用的属性如下
  517 + * model:关联的模型对象
  518 + * name:表单验证时需要的名字
  519 + * type:关联的那种数据值(xl/cl/ry)-> 对应线路信息/车辆信息/人员信息,后面有的继续加
  520 + * modelcolname1:关联的模型字段名字1(一般应该是编码字段)
  521 + * modelcolname2:关联的模型字段名字2(一般应该是名字字段)
  522 + * datacolname1;内部数据对应的字段名字1(与模型字段1对应)
  523 + * datacolname2:内部数据对应的字段名字2(与模型字段2对应)
  524 + * showcolname:下拉框显示的内部数据字段名(注意:不是模型数据字段名),TODO:以后考虑放动态表达式,并在compile阶段使用
  525 + * placeholder:select placeholder字符串描述
  526 + *
  527 + * $$pyFilter,内部的filter指令,结合简拼音进行拼音过滤。
  528 + * $$SearchInfoService_g,内部使用的数据服务
  529 + */
  530 +// saSelect2指令使用的内部信service
  531 +angular.module('ScheduleApp').factory('$$SearchInfoService_g', ['$resource', function($resource) {
  532 + return {
  533 + xl: $resource(
  534 + '/line/:type',
  535 + {order: 'name', direction: 'ASC'},
  536 + {
  537 + list: {
  538 + method: 'GET',
  539 + isArray: true
  540 + }
  541 + }
  542 + ),
  543 + xlinfo: $resource(
  544 + '/lineInformation/:type',
  545 + {order: 'line.name', direction: 'ASC'},
  546 + {
  547 + list: {
  548 + method: 'GET',
  549 + isArray: true
  550 + }
  551 + }
  552 + ),
  553 + zd: $resource(
  554 + '/stationroute/stations',
  555 + {order: 'stationCode', direction: 'ASC'},
  556 + {
  557 + list: {
  558 + method: 'GET',
  559 + isArray: true
  560 + }
  561 + }
  562 + ),
  563 + tcc: $resource(
  564 + '/carpark/:type',
  565 + {order: 'parkCode', direction: 'ASC'},
  566 + {
  567 + list: {
  568 + method: 'GET',
  569 + isArray: true
  570 + }
  571 + }
  572 + ),
  573 + ry: $resource(
  574 + '/personnel/:type',
  575 + {order: 'personnelName', direction: 'ASC'},
  576 + {
  577 + list: {
  578 + method: 'GET',
  579 + isArray: true
  580 + }
  581 + }
  582 + ),
  583 + cl: $resource(
  584 + '/cars/:type',
  585 + {order: "insideCode", direction: 'ASC'},
  586 + {
  587 + list: {
  588 + method: 'GET',
  589 + isArray: true
  590 + }
  591 + }
  592 + ),
  593 + ttInfo: $resource(
  594 + '/tic/:type',
  595 + {order: "name", direction: 'ASC'},
  596 + {
  597 + list: {
  598 + method: 'GET',
  599 + isArray: true
  600 + }
  601 + }
  602 + ),
  603 + lpInfo: $resource(
  604 + '/gic/ttlpnames',
  605 + {order: "lpName", direction: 'ASC'},
  606 + {
  607 + list: {
  608 + method: 'GET',
  609 + isArray: true
  610 + }
  611 + }
  612 + ),
  613 + lpInfo2: $resource(
  614 + '/gic/:type',
  615 + {order: "lpName", direction: 'ASC'},
  616 + {
  617 + list: {
  618 + method: 'GET',
  619 + isArray: true
  620 + }
  621 + }
  622 + ),
  623 + cci: $resource(
  624 + '/cci/cars',
  625 + {},
  626 + {
  627 + list: {
  628 + method: 'GET',
  629 + isArray: true
  630 + }
  631 + }
  632 +
  633 + ),
  634 + cci2: $resource(
  635 + '/cci/:type',
  636 + {},
  637 + {
  638 + list: {
  639 + method: 'GET',
  640 + isArray: true
  641 + }
  642 + }
  643 + ),
  644 + cci3: $resource(
  645 + '/cci/cars2',
  646 + {},
  647 + {
  648 + list: {
  649 + method: 'GET',
  650 + isArray: true
  651 + }
  652 + }
  653 +
  654 + ),
  655 + eci: $resource(
  656 + '/eci/jsy',
  657 + {},
  658 + {
  659 + list: {
  660 + method: 'GET',
  661 + isArray: true
  662 + }
  663 + }
  664 + ),
  665 + eci2: $resource(
  666 + '/eci/spy',
  667 + {},
  668 + {
  669 + list: {
  670 + method: 'GET',
  671 + isArray: true
  672 + }
  673 + }
  674 + ),
  675 + eci3: $resource(
  676 + '/eci/:type',
  677 + {},
  678 + {
  679 + list: {
  680 + method: 'GET',
  681 + isArray: true
  682 + }
  683 + }
  684 + ),
  685 +
  686 +
  687 + validate: { // remoteValidation指令用到的resource
  688 + cl1: { // 车辆自编号不能重复验证
  689 + template: {'insideCode_eq': '-1'}, // 查询参数模版
  690 + remote: $resource( // $resource封装对象
  691 + '/cars/validate/equale',
  692 + {},
  693 + {
  694 + do: {
  695 + method: 'GET'
  696 + }
  697 + }
  698 + )
  699 + },
  700 + cde1: { // 车辆设备启用日期验证
  701 + template: {'qyrq': 0, 'xl': 1, 'cl': 1}, // 日期毫秒
  702 + remote: $resource( // $resource封装对象
  703 + '/cde//validate/qyrq',
  704 + {},
  705 + {
  706 + do: {
  707 + method: 'GET'
  708 + }
  709 + }
  710 + )
  711 + },
  712 + ttc1: { // 时刻表名字验证
  713 + template: {'xl.id_eq': -1, 'name_eq': 'ddd'},
  714 + remote: $resource( // $resource封装对象
  715 + '/tic/validate/equale',
  716 + {},
  717 + {
  718 + do: {
  719 + method: 'GET'
  720 + }
  721 + }
  722 + )
  723 + },
  724 + sheet: { // 时刻表sheet工作区验证
  725 + template: {'filename': '', 'sheetname': '', 'lineid': -1, 'linename': ''},
  726 + remote: $resource( // $resource封装对象
  727 + '/tidc/validate/sheet',
  728 + {},
  729 + {
  730 + do: {
  731 + method: 'POST',
  732 + headers: {
  733 + 'Content-Type': 'application/x-www-form-urlencoded'
  734 + },
  735 + transformRequest: function(obj) {
  736 + var str = [];
  737 + for (var p in obj) {
  738 + str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p]));
  739 + }
  740 + return str.join("&");
  741 + }
  742 + }
  743 + }
  744 + )
  745 + },
  746 + sheetli: { // 时刻表线路标准验证
  747 + template: {'lineinfoid': -1},
  748 + remote: $resource( // $resource封装对象
  749 + '/tidc/validate/lineinfo',
  750 + {},
  751 + {
  752 + do: {
  753 + method: 'GET'
  754 + }
  755 + }
  756 + )
  757 + }
  758 + }
  759 +
  760 + //validate: $resource(
  761 + // '/cars/validate/:type',
  762 + // {},
  763 + // {
  764 + // insideCode: {
  765 + // method: 'GET'
  766 + // }
  767 + // }
  768 + //)
  769 +
  770 +
  771 +
  772 + }
  773 +}]);
  774 +
  775 +
  776 +
src/main/resources/static/pages/scheduleApp/module/core/ttInfoDetailManage/edit-detail.html
1 -<div ng-controller="TimeTableDetailManageFormCtrl_old as ctrl">  
2 - <div class="page-head">  
3 - <div class="page-title">  
4 - <h1>修改班次信息</h1>  
5 - </div>  
6 - </div>  
7 -  
8 - <ul class="page-breadcrumb breadcrumb">  
9 - <li>  
10 - <a href="/pages/home.html" data-pjax>首页</a>  
11 - <i class="fa fa-circle"></i>  
12 - </li>  
13 - <li>  
14 - <span class="active">运营计划管理</span>  
15 - <i class="fa fa-circle"></i>  
16 - </li>  
17 - <li>  
18 - <a ui-sref="ttInfoManage">时刻表管理</a>  
19 - <i class="fa fa-circle"></i>  
20 - </li>  
21 - <li>  
22 - <a ui-sref="ttInfoDetailManage_edit({xlid: ctrl.xlid, ttid : ctrl.ttid, xlname: ctrl.xlname, ttname : ctrl.ttname})"><span ng-bind="ctrl.title1"></span></a>  
23 - <i class="fa fa-circle"></i>  
24 - </li>  
25 - <li>  
26 - <span class="active">修改班次信息</span>  
27 - </li>  
28 - </ul>  
29 -  
30 - <div class="portlet light bordered">  
31 - <div class="portlet-title">  
32 - <div class="caption">  
33 - <i class="icon-equalizer font-red-sunglo"></i> <span  
34 - class="caption-subject font-red-sunglo bold uppercase" ng-bind="ctrl.title2"></span>  
35 - </div>  
36 - </div>  
37 -  
38 - <div class="portlet-body form">  
39 - <form ng-submit="ctrl.submit()" class="form-horizontal" novalidate name="myForm">  
40 - <div class="form-body">  
41 - <div class="form-group has-success has-feedback">  
42 - <label class="col-md-3 control-label">线路*:</label>  
43 - <div class="col-md-7">  
44 - <input type="text" class="form-control"  
45 - ng-value="ctrl.TimeTableDetailForSave.xl.name"  
46 - readonly/>  
47 - </div>  
48 -  
49 - </div>  
50 - <div class="form-group has-success has-feedback">  
51 - <label class="col-md-3 control-label">时刻表名称*:</label>  
52 - <div class="col-md-7">  
53 - <input type="text" class="form-control"  
54 - ng-value="ctrl.TimeTableDetailForSave.ttinfo.name"  
55 - readonly/>  
56 - </div>  
57 - </div>  
58 - <div class="form-group has-success has-feedback">  
59 - <label class="col-md-3 control-label">路牌*:</label>  
60 - <div class="col-md-7">  
61 - <input type="text" class="form-control"  
62 - ng-value="ctrl.TimeTableDetailForSave.lp.lpName"  
63 - readonly/>  
64 - </div>  
65 -  
66 - </div>  
67 - <div class="form-group has-success has-feedback">  
68 - <label class="col-md-3 control-label">发车顺序号*:</label>  
69 - <div class="col-md-7">  
70 - <input type="text" class="form-control"  
71 - ng-value="ctrl.TimeTableDetailForSave.fcno"  
72 - readonly/>  
73 - </div>  
74 -  
75 - </div>  
76 - <div class="form-group has-success has-feedback">  
77 - <label class="col-md-3 control-label">方向*:</label>  
78 - <div class="col-md-7">  
79 - <sa-Radiogroup model="ctrl.TimeTableDetailForSave.xlDir" dicgroup="LineTrend" name="xlDir" required></sa-Radiogroup>  
80 - </div>  
81 - <!-- 隐藏块,显示验证信息 -->  
82 - <div class="alert alert-danger well-sm" ng-show="myForm.xlDir.$error.required">  
83 - 请选择线路上下行  
84 - </div>  
85 -  
86 - </div>  
87 - <div class="form-group">  
88 - <label class="col-md-3 control-label">起点站:</label>  
89 - <div class="col-md-7">  
90 - <sa-Select3 model="ctrl.TimeTableDetailForSave"  
91 - name="qdz"  
92 - placeholder="请输拼音..."  
93 - dcvalue="{{ctrl.TimeTableDetailForSave.qdz.id}}"  
94 - dcname="qdz.id"  
95 - icname="stationid"  
96 - icnames="stationname"  
97 - datatype="zd"  
98 - dataassociate="true"  
99 - dataparam="{{ {'xlid': ctrl.TimeTableDetailForSave.xl.id, 'xldir': ctrl.TimeTableDetailForSave.xlDir} | json }}"  
100 - mlp="true"  
101 - >  
102 - </sa-Select3>  
103 - </div>  
104 - </div>  
105 - <div class="form-group">  
106 - <label class="col-md-3 control-label">终点站:</label>  
107 - <div class="col-md-7">  
108 - <sa-Select3 model="ctrl.TimeTableDetailForSave"  
109 - name="zdz"  
110 - placeholder="请输拼音..."  
111 - dcvalue="{{ctrl.TimeTableDetailForSave.zdz.id}}"  
112 - dcname="zdz.id"  
113 - icname="stationid"  
114 - icnames="stationname"  
115 - datatype="zd"  
116 - dataassociate="true"  
117 - dataparam="{{ {'xlid': ctrl.TimeTableDetailForSave.xl.id, 'xldir': ctrl.TimeTableDetailForSave.xlDir} | json }}"  
118 - mlp="true"  
119 - >  
120 - </sa-Select3>  
121 - </div>  
122 - </div>  
123 - <div class="form-group">  
124 - <label class="col-md-3 control-label">停车场:</label>  
125 - <div class="col-md-7">  
126 - <sa-Select3 model="ctrl.TimeTableDetailForSave"  
127 - name="tcc"  
128 - placeholder="请输拼音..."  
129 - dcvalue="{{ctrl.TimeTableDetailForSave.tcc.id}}"  
130 - dcname="tcc.id"  
131 - icname="id"  
132 - icnames="parkName"  
133 - datatype="tcc"  
134 - mlp="true"  
135 - >  
136 - </sa-Select3>  
137 - </div>  
138 - </div>  
139 -  
140 - <div class="form-group has-success has-feedback">  
141 - <label class="col-md-3 control-label">发车时间*:</label>  
142 - <div class="col-md-7">  
143 - <input type="text" class="form-control"  
144 - ng-model="ctrl.TimeTableDetailForSave.fcsj"  
145 - />  
146 - </div>  
147 -  
148 - </div>  
149 - <div class="form-group">  
150 - <label class="col-md-3 control-label">对应班次数:</label>  
151 - <div class="col-md-7">  
152 - <input type="text" class="form-control"  
153 - ng-value="ctrl.TimeTableDetailForSave.bcs"  
154 - readonly/>  
155 - </div>  
156 -  
157 - </div>  
158 - <div class="form-group">  
159 - <label class="col-md-3 control-label">计划里程:</label>  
160 - <div class="col-md-7">  
161 - <input type="text" class="form-control"  
162 - ng-model="ctrl.TimeTableDetailForSave.jhlc"  
163 - />  
164 - </div>  
165 -  
166 - </div>  
167 - <div class="form-group">  
168 - <label class="col-md-3 control-label">班次历时:</label>  
169 - <div class="col-md-7">  
170 - <input type="text" class="form-control"  
171 - ng-model="ctrl.TimeTableDetailForSave.bcsj"  
172 - />  
173 - </div>  
174 -  
175 - </div>  
176 - <div class="form-group has-success has-feedback">  
177 - <label class="col-md-3 control-label">班次类型*:</label>  
178 - <div class="col-md-7">  
179 - <sa-Select3 model="ctrl.TimeTableDetailForSave"  
180 - name="bcType"  
181 - placeholder="请选择班次类型..."  
182 - dcvalue="{{ctrl.TimeTableDetailForSave.bcType}}"  
183 - dcname="bcType"  
184 - icname="code"  
185 - icnames="name"  
186 - datatype="ScheduleType"  
187 - required >  
188 - </sa-Select3>  
189 - </div>  
190 -  
191 - </div>  
192 - <div class="form-group">  
193 - <label class="col-md-3 control-label">备注:</label>  
194 - <div class="col-md-7">  
195 - <textarea class="form-control"  
196 - ng-model="ctrl.TimeTableDetailForSave.remark"  
197 - />  
198 - </div>  
199 -  
200 - </div>  
201 -  
202 - </div>  
203 -  
204 - <div class="form-actions">  
205 - <div class="row">  
206 - <div class="col-md-offset-3 col-md-4">  
207 - <button type="submit" class="btn green"  
208 - ng-disabled="!myForm.$valid"><i class="fa fa-check"></i> 提交</button>  
209 - <a type="button" class="btn default"  
210 - ui-sref="ttInfoDetailManage_edit({xlid: ctrl.xlid, ttid : ctrl.ttid, xlname: ctrl.xlname, ttname : ctrl.ttname})" ><i class="fa fa-times"></i> 取消</a>  
211 - </div>  
212 - </div>  
213 - </div>  
214 - </form>  
215 -  
216 - </div>  
217 - </div>  
218 -  
219 -  
220 -  
221 -  
222 -</div> 1 +<div ng-controller="TimeTableDetailManageFormCtrl_old as ctrl">
  2 + <div class="page-head">
  3 + <div class="page-title">
  4 + <h1>修改班次信息</h1>
  5 + </div>
  6 + </div>
  7 +
  8 + <ul class="page-breadcrumb breadcrumb">
  9 + <li>
  10 + <a href="/pages/home.html" data-pjax>首页</a>
  11 + <i class="fa fa-circle"></i>
  12 + </li>
  13 + <li>
  14 + <span class="active">运营计划管理</span>
  15 + <i class="fa fa-circle"></i>
  16 + </li>
  17 + <li>
  18 + <a ui-sref="ttInfoManage">时刻表管理</a>
  19 + <i class="fa fa-circle"></i>
  20 + </li>
  21 + <li>
  22 + <a ui-sref="ttInfoDetailManage_edit({xlid: ctrl.xlid, ttid : ctrl.ttid, xlname: ctrl.xlname, ttname : ctrl.ttname})"><span ng-bind="ctrl.title1"></span></a>
  23 + <i class="fa fa-circle"></i>
  24 + </li>
  25 + <li>
  26 + <span class="active">修改班次信息</span>
  27 + </li>
  28 + </ul>
  29 +
  30 + <div class="portlet light bordered">
  31 + <div class="portlet-title">
  32 + <div class="caption">
  33 + <i class="icon-equalizer font-red-sunglo"></i> <span
  34 + class="caption-subject font-red-sunglo bold uppercase" ng-bind="ctrl.title2"></span>
  35 + </div>
  36 + </div>
  37 +
  38 + <div class="portlet-body form">
  39 + <form ng-submit="ctrl.submit()" class="form-horizontal" novalidate name="myForm">
  40 + <div class="form-body">
  41 + <div class="form-group has-success has-feedback">
  42 + <label class="col-md-3 control-label">线路*:</label>
  43 + <div class="col-md-7">
  44 + <input type="text" class="form-control"
  45 + ng-value="ctrl.TimeTableDetailForSave.xl.name"
  46 + readonly/>
  47 + </div>
  48 +
  49 + </div>
  50 + <div class="form-group has-success has-feedback">
  51 + <label class="col-md-3 control-label">时刻表名称*:</label>
  52 + <div class="col-md-7">
  53 + <input type="text" class="form-control"
  54 + ng-value="ctrl.TimeTableDetailForSave.ttinfo.name"
  55 + readonly/>
  56 + </div>
  57 + </div>
  58 + <div class="form-group has-success has-feedback">
  59 + <label class="col-md-3 control-label">路牌*:</label>
  60 + <div class="col-md-7">
  61 + <input type="text" class="form-control"
  62 + ng-value="ctrl.TimeTableDetailForSave.lp.lpName"
  63 + readonly/>
  64 + </div>
  65 +
  66 + </div>
  67 + <div class="form-group has-success has-feedback">
  68 + <label class="col-md-3 control-label">发车顺序号*:</label>
  69 + <div class="col-md-7">
  70 + <input type="text" class="form-control"
  71 + ng-value="ctrl.TimeTableDetailForSave.fcno"
  72 + readonly/>
  73 + </div>
  74 +
  75 + </div>
  76 + <div class="form-group has-success has-feedback">
  77 + <label class="col-md-3 control-label">方向*:</label>
  78 + <div class="col-md-7">
  79 + <sa-Radiogroup model="ctrl.TimeTableDetailForSave.xlDir" dicgroup="LineTrend" name="xlDir" required></sa-Radiogroup>
  80 + </div>
  81 + <!-- 隐藏块,显示验证信息 -->
  82 + <div class="alert alert-danger well-sm" ng-show="myForm.xlDir.$error.required">
  83 + 请选择线路上下行
  84 + </div>
  85 +
  86 + </div>
  87 + <div class="form-group">
  88 + <label class="col-md-3 control-label">起点站:</label>
  89 + <div class="col-md-7">
  90 + <sa-Select3 model="ctrl.TimeTableDetailForSave"
  91 + name="qdz"
  92 + placeholder="请输拼音..."
  93 + dcvalue="{{ctrl.TimeTableDetailForSave.qdz.id}}"
  94 + dcname="qdz.id"
  95 + icname="stationid"
  96 + icnames="stationname"
  97 + datatype="zd"
  98 + dataassociate="true"
  99 + dataparam="{{ {'xlid': ctrl.TimeTableDetailForSave.xl.id, 'xldir': ctrl.TimeTableDetailForSave.xlDir} | json }}"
  100 + mlp="true"
  101 + >
  102 + </sa-Select3>
  103 + </div>
  104 + </div>
  105 + <div class="form-group">
  106 + <label class="col-md-3 control-label">终点站:</label>
  107 + <div class="col-md-7">
  108 + <sa-Select3 model="ctrl.TimeTableDetailForSave"
  109 + name="zdz"
  110 + placeholder="请输拼音..."
  111 + dcvalue="{{ctrl.TimeTableDetailForSave.zdz.id}}"
  112 + dcname="zdz.id"
  113 + icname="stationid"
  114 + icnames="stationname"
  115 + datatype="zd"
  116 + dataassociate="true"
  117 + dataparam="{{ {'xlid': ctrl.TimeTableDetailForSave.xl.id, 'xldir': ctrl.TimeTableDetailForSave.xlDir} | json }}"
  118 + mlp="true"
  119 + >
  120 + </sa-Select3>
  121 + </div>
  122 + </div>
  123 + <div class="form-group">
  124 + <label class="col-md-3 control-label">停车场:</label>
  125 + <div class="col-md-7">
  126 + <sa-Select3 model="ctrl.TimeTableDetailForSave"
  127 + name="tcc"
  128 + placeholder="请输拼音..."
  129 + dcvalue="{{ctrl.TimeTableDetailForSave.tcc.id}}"
  130 + dcname="tcc.id"
  131 + icname="id"
  132 + icnames="parkName"
  133 + datatype="tcc"
  134 + mlp="true"
  135 + >
  136 + </sa-Select3>
  137 + </div>
  138 + </div>
  139 +
  140 + <div class="form-group has-success has-feedback">
  141 + <label class="col-md-3 control-label">发车时间*:</label>
  142 + <div class="col-md-7">
  143 + <input type="text" class="form-control"
  144 + ng-model="ctrl.TimeTableDetailForSave.fcsj"
  145 + />
  146 + </div>
  147 +
  148 + </div>
  149 + <div class="form-group">
  150 + <label class="col-md-3 control-label">对应班次数:</label>
  151 + <div class="col-md-7">
  152 + <input type="text" class="form-control"
  153 + ng-value="ctrl.TimeTableDetailForSave.bcs"
  154 + readonly/>
  155 + </div>
  156 +
  157 + </div>
  158 + <div class="form-group">
  159 + <label class="col-md-3 control-label">计划里程:</label>
  160 + <div class="col-md-7">
  161 + <input type="text" class="form-control"
  162 + ng-model="ctrl.TimeTableDetailForSave.jhlc"
  163 + />
  164 + </div>
  165 +
  166 + </div>
  167 + <div class="form-group">
  168 + <label class="col-md-3 control-label">班次历时:</label>
  169 + <div class="col-md-7">
  170 + <input type="text" class="form-control"
  171 + ng-model="ctrl.TimeTableDetailForSave.bcsj"
  172 + />
  173 + </div>
  174 +
  175 + </div>
  176 + <div class="form-group has-success has-feedback">
  177 + <label class="col-md-3 control-label">班次类型*:</label>
  178 + <div class="col-md-7">
  179 + <sa-Select3 model="ctrl.TimeTableDetailForSave"
  180 + name="bcType"
  181 + placeholder="请选择班次类型..."
  182 + dcvalue="{{ctrl.TimeTableDetailForSave.bcType}}"
  183 + dcname="bcType"
  184 + icname="code"
  185 + icnames="name"
  186 + datatype="ScheduleType"
  187 + required >
  188 + </sa-Select3>
  189 + </div>
  190 +
  191 + </div>
  192 + <div class="form-group">
  193 + <label class="col-md-3 control-label">备注:</label>
  194 + <div class="col-md-7">
  195 + <textarea class="form-control"
  196 + ng-model="ctrl.TimeTableDetailForSave.remark"
  197 + />
  198 + </div>
  199 +
  200 + </div>
  201 +
  202 + </div>
  203 +
  204 + <div class="form-actions">
  205 + <div class="row">
  206 + <div class="col-md-offset-3 col-md-4">
  207 + <button type="submit" class="btn green"
  208 + ng-disabled="!myForm.$valid"><i class="fa fa-check"></i> 提交</button>
  209 + <a type="button" class="btn default"
  210 + ui-sref="ttInfoDetailManage_edit({xlid: ctrl.xlid, ttid : ctrl.ttid, xlname: ctrl.xlname, ttname : ctrl.ttname})" ><i class="fa fa-times"></i> 取消</a>
  211 + </div>
  212 + </div>
  213 + </div>
  214 + </form>
  215 +
  216 + </div>
  217 + </div>
  218 +
  219 +
  220 +
  221 +
  222 +</div>
src/main/resources/static/pages/scheduleApp/module/core/ttInfoDetailManage/edit.html
1 -<div class="page-head">  
2 - <div class="page-title">  
3 - <h1>时刻表管理</h1>  
4 - </div>  
5 -</div>  
6 -  
7 -<ul class="page-breadcrumb breadcrumb">  
8 - <li>  
9 - <a href="/pages/home.html" data-pjax>首页</a>  
10 - <i class="fa fa-circle"></i>  
11 - </li>  
12 - <li>  
13 - <span class="active">运营计划管理</span>  
14 - <i class="fa fa-circle"></i>  
15 - </li>  
16 - <li>  
17 - <a ui-sref="ttInfoManage">时刻表管理</a>  
18 - <i class="fa fa-circle"></i>  
19 - </li>  
20 - <li>  
21 - <span class="active">编辑时刻表明细信息</span>  
22 - </li>  
23 -</ul>  
24 -  
25 -<!--&lt;!&ndash; loading widget &ndash;&gt;-->  
26 -<!--<div id="loadingWidget" class="flyover mask" loading-widget>-->  
27 -<!--<div class="alert alert-info">-->  
28 -<!--<strong>载入中......</strong>-->  
29 -<!--</div>-->  
30 -<!--</div>-->  
31 -  
32 -<div class="row" id="timeTableDetail" ng-controller="TimeTableDetailManageCtrl_old as ctrl">  
33 - <div class="col-md-12">  
34 - <div class="portlet light bordered">  
35 - <div class="portlet-title">  
36 - <div class="caption font-dark">  
37 - <i class="fa fa-database font-dark"></i>  
38 - <span class="caption-subject bold uppercase" ng-bind="ctrl.title"></span>  
39 - </div>  
40 - <div class="actions">  
41 - <i class="fa fa-arrow-up" aria-hidden="true"></i>  
42 - <span style="padding-right: 10px;">上行班次</span>  
43 - <i class="fa fa-arrow-down" aria-hidden="true"></i>  
44 - <span style="padding-right: 10px;">下行班次</span>  
45 - <i class="fa fa-circle-o-notch" aria-hidden="true"></i>  
46 - <span style="padding-right: 10px;">区间班次</span>  
47 - <i class="fa fa-adjust" aria-hidden="true"></i>  
48 - <span style="padding-right: 10px;">分班班次</span>  
49 -  
50 - <div class="btn-group">  
51 - <a href="javascript:" class="btn red btn-outline btn-circle" data-toggle="dropdown">  
52 - <i class="fa fa-share"></i>  
53 - <span>数据工具</span>  
54 - <i class="fa fa-angle-down"></i>  
55 - </a>  
56 - <ul class="dropdown-menu pull-right">  
57 - <li>  
58 - <a href="javascript:" class="tool-action">  
59 - <i class="fa fa-file-excel-o"></i>  
60 - 导出excel  
61 - </a>  
62 - </li>  
63 - <li class="divider"></li>  
64 - <li>  
65 - <a href="javascript:" class="tool-action" ng-click="ctrl.refresh()">  
66 - <i class="fa fa-refresh"></i>  
67 - 刷行数据  
68 - </a>  
69 - </li>  
70 - </ul>  
71 - </div>  
72 -  
73 - </div>  
74 - </div>  
75 -  
76 - <div class="portlet-body">  
77 - <!--<div ng-view></div>-->  
78 - <div class="fixDiv">  
79 - <table style="width: 2000px" class="table table-striped table-bordered table-hover table-checkable order-column">  
80 - <thead>  
81 - <tr>  
82 - <th ng-repeat="head in ctrl.detailHeads track by $index">  
83 - <span ng-bind="head"></span>  
84 - </th>  
85 -  
86 - </tr>  
87 - </thead>  
88 - <tbody>  
89 - <tr ng-repeat="info in ctrl.detailInfos">  
90 - <td ng-repeat="cell in info track by $index">  
91 -  
92 - <!--<span ng-bind="cell.fcsj"></span>-->  
93 - <span ng-if="!cell.ttdid" ng-bind="cell.fcsj"></span>  
94 -  
95 - <div ng-if="cell.ttdid" class="btn-group">  
96 - <a href="javascript:" class="btn blue btn-outline btn-circle" data-toggle="dropdown">  
97 - <!-- 上下行图标 -->  
98 - <i ng-if="cell.xldir == '0'" class="fa fa-arrow-up" aria-hidden="true"></i>  
99 - <i ng-if="cell.xldir == '1'" class="fa fa-arrow-down" aria-hidden="true"></i>  
100 - <!-- 班次类型图标(区间班次) -->  
101 - <i ng-if="cell.bc_type == 'region'" class="fa fa-circle-o-notch" aria-hidden="true"></i>  
102 - <!-- 分班班次 -->  
103 - <i ng-if="cell.isfb == true" class="fa fa-adjust" aria-hidden="true"></i>  
104 -  
105 - <span ng-bind="cell.fcsj"></span>  
106 - <i class="fa fa-angle-down"></i>  
107 - </a>  
108 - <ul class="dropdown-menu pull-left">  
109 - <li>  
110 - <a href="javascript:" class="tool-action" ui-sref="ttInfoDetailManage_detail_edit({id: cell.ttdid, xlid: ctrl.xlid, ttid: ctrl.ttid, xlname: ctrl.xlname, ttname: ctrl.ttname})">  
111 - <i class="fa fa-file-excel-o"></i>  
112 - 修改  
113 - </a>  
114 - </li>  
115 - <li>  
116 - <a href="javascript:" class="tool-action">  
117 - <i class="fa fa-refresh"></i>  
118 - 删除  
119 - </a>  
120 - </li>  
121 - <li class="divider"></li>  
122 - <li>  
123 - <a href="javascript:" class="tool-action" ng-click="ctrl.changeDirect(cell, 0)">  
124 - <i class="fa fa-file-excel-o"></i>  
125 - 设为上行  
126 - <i class="fa fa-arrow-up" aria-hidden="true"></i>  
127 - </a>  
128 - </li>  
129 - <li>  
130 - <a href="javascript:" class="tool-action" ng-click="ctrl.changeDirect(cell, 1)">  
131 - <i class="fa fa-file-excel-o"></i>  
132 - 设为下行  
133 - <i class="fa fa-arrow-down" aria-hidden="true"></i>  
134 - </a>  
135 - </li>  
136 - <li>  
137 - <a href="javascript:" class="tool-action" ng-click="ctrl.changeFB(cell, true)">  
138 - <i class="fa fa-file-excel-o"></i>  
139 - 设置分班  
140 - <i class="fa fa-adjust" aria-hidden="true"></i>  
141 - </a>  
142 - </li>  
143 - <li>  
144 - <a href="javascript:" class="tool-action" ng-click="ctrl.changeFB(cell, false)">  
145 - <i class="fa fa-file-excel-o"></i>  
146 - 取消分班  
147 - <i class="fa fa-adjust" aria-hidden="true"></i>  
148 - </a>  
149 - </li>  
150 - <li>  
151 - <a href="javascript:" class="tool-action" ng-click="ctrl.changeBCType(cell, 'region')">  
152 - <i class="fa fa-file-excel-o"></i>  
153 - 设为区间  
154 - <i class="fa fa-circle-o-notch" aria-hidden="true"></i>  
155 - </a>  
156 - </li>  
157 -  
158 -  
159 - </ul>  
160 - </div>  
161 -  
162 -  
163 -  
164 - </td>  
165 - </tr>  
166 -  
167 - </tbody>  
168 - </table>  
169 - </div>  
170 -  
171 -  
172 - </div>  
173 - </div>  
174 - </div>  
175 -</div> 1 +<div class="page-head">
  2 + <div class="page-title">
  3 + <h1>时刻表管理</h1>
  4 + </div>
  5 +</div>
  6 +
  7 +<ul class="page-breadcrumb breadcrumb">
  8 + <li>
  9 + <a href="/pages/home.html" data-pjax>首页</a>
  10 + <i class="fa fa-circle"></i>
  11 + </li>
  12 + <li>
  13 + <span class="active">运营计划管理</span>
  14 + <i class="fa fa-circle"></i>
  15 + </li>
  16 + <li>
  17 + <a ui-sref="ttInfoManage">时刻表管理</a>
  18 + <i class="fa fa-circle"></i>
  19 + </li>
  20 + <li>
  21 + <span class="active">编辑时刻表明细信息</span>
  22 + </li>
  23 +</ul>
  24 +
  25 +<!--&lt;!&ndash; loading widget &ndash;&gt;-->
  26 +<!--<div id="loadingWidget" class="flyover mask" loading-widget>-->
  27 +<!--<div class="alert alert-info">-->
  28 +<!--<strong>载入中......</strong>-->
  29 +<!--</div>-->
  30 +<!--</div>-->
  31 +
  32 +<div class="row" id="timeTableDetail" ng-controller="TimeTableDetailManageCtrl_old as ctrl">
  33 + <div class="col-md-12">
  34 + <div class="portlet light bordered">
  35 + <div class="portlet-title">
  36 + <div class="caption font-dark">
  37 + <i class="fa fa-database font-dark"></i>
  38 + <span class="caption-subject bold uppercase" ng-bind="ctrl.title"></span>
  39 + </div>
  40 + <div class="actions">
  41 + <i class="fa fa-arrow-up" aria-hidden="true"></i>
  42 + <span style="padding-right: 10px;">上行班次</span>
  43 + <i class="fa fa-arrow-down" aria-hidden="true"></i>
  44 + <span style="padding-right: 10px;">下行班次</span>
  45 + <i class="fa fa-circle-o-notch" aria-hidden="true"></i>
  46 + <span style="padding-right: 10px;">区间班次</span>
  47 + <i class="fa fa-adjust" aria-hidden="true"></i>
  48 + <span style="padding-right: 10px;">分班班次</span>
  49 +
  50 + <div class="btn-group">
  51 + <a href="javascript:" class="btn red btn-outline btn-circle" data-toggle="dropdown">
  52 + <i class="fa fa-share"></i>
  53 + <span>数据工具</span>
  54 + <i class="fa fa-angle-down"></i>
  55 + </a>
  56 + <ul class="dropdown-menu pull-right">
  57 + <li>
  58 + <a href="javascript:" class="tool-action">
  59 + <i class="fa fa-file-excel-o"></i>
  60 + 导出excel
  61 + </a>
  62 + </li>
  63 + <li class="divider"></li>
  64 + <li>
  65 + <a href="javascript:" class="tool-action" ng-click="ctrl.refresh()">
  66 + <i class="fa fa-refresh"></i>
  67 + 刷行数据
  68 + </a>
  69 + </li>
  70 + </ul>
  71 + </div>
  72 +
  73 + </div>
  74 + </div>
  75 +
  76 + <div class="portlet-body">
  77 + <!--<div ng-view></div>-->
  78 + <div class="fixDiv">
  79 + <table style="width: 2000px" class="table table-striped table-bordered table-hover table-checkable order-column">
  80 + <thead>
  81 + <tr>
  82 + <th ng-repeat="head in ctrl.detailHeads track by $index">
  83 + <span ng-bind="head"></span>
  84 + </th>
  85 +
  86 + </tr>
  87 + </thead>
  88 + <tbody>
  89 + <tr ng-repeat="info in ctrl.detailInfos">
  90 + <td ng-repeat="cell in info track by $index">
  91 +
  92 + <!--<span ng-bind="cell.fcsj"></span>-->
  93 + <span ng-if="!cell.ttdid" ng-bind="cell.fcsj"></span>
  94 +
  95 + <div ng-if="cell.ttdid" class="btn-group">
  96 + <a href="javascript:" class="btn blue btn-outline btn-circle" data-toggle="dropdown">
  97 + <!-- 上下行图标 -->
  98 + <i ng-if="cell.xldir == '0'" class="fa fa-arrow-up" aria-hidden="true"></i>
  99 + <i ng-if="cell.xldir == '1'" class="fa fa-arrow-down" aria-hidden="true"></i>
  100 + <!-- 班次类型图标(区间班次) -->
  101 + <i ng-if="cell.bc_type == 'region'" class="fa fa-circle-o-notch" aria-hidden="true"></i>
  102 + <!-- 分班班次 -->
  103 + <i ng-if="cell.isfb == true" class="fa fa-adjust" aria-hidden="true"></i>
  104 +
  105 + <span ng-bind="cell.fcsj"></span>
  106 + <i class="fa fa-angle-down"></i>
  107 + </a>
  108 + <ul class="dropdown-menu pull-left">
  109 + <li>
  110 + <a href="javascript:" class="tool-action" ui-sref="ttInfoDetailManage_detail_edit({id: cell.ttdid, xlid: ctrl.xlid, ttid: ctrl.ttid, xlname: ctrl.xlname, ttname: ctrl.ttname})">
  111 + <i class="fa fa-file-excel-o"></i>
  112 + 修改
  113 + </a>
  114 + </li>
  115 + <li>
  116 + <a href="javascript:" class="tool-action">
  117 + <i class="fa fa-refresh"></i>
  118 + 删除
  119 + </a>
  120 + </li>
  121 + <li class="divider"></li>
  122 + <li>
  123 + <a href="javascript:" class="tool-action" ng-click="ctrl.changeDirect(cell, 0)">
  124 + <i class="fa fa-file-excel-o"></i>
  125 + 设为上行
  126 + <i class="fa fa-arrow-up" aria-hidden="true"></i>
  127 + </a>
  128 + </li>
  129 + <li>
  130 + <a href="javascript:" class="tool-action" ng-click="ctrl.changeDirect(cell, 1)">
  131 + <i class="fa fa-file-excel-o"></i>
  132 + 设为下行
  133 + <i class="fa fa-arrow-down" aria-hidden="true"></i>
  134 + </a>
  135 + </li>
  136 + <li>
  137 + <a href="javascript:" class="tool-action" ng-click="ctrl.changeFB(cell, true)">
  138 + <i class="fa fa-file-excel-o"></i>
  139 + 设置分班
  140 + <i class="fa fa-adjust" aria-hidden="true"></i>
  141 + </a>
  142 + </li>
  143 + <li>
  144 + <a href="javascript:" class="tool-action" ng-click="ctrl.changeFB(cell, false)">
  145 + <i class="fa fa-file-excel-o"></i>
  146 + 取消分班
  147 + <i class="fa fa-adjust" aria-hidden="true"></i>
  148 + </a>
  149 + </li>
  150 + <li>
  151 + <a href="javascript:" class="tool-action" ng-click="ctrl.changeBCType(cell, 'region')">
  152 + <i class="fa fa-file-excel-o"></i>
  153 + 设为区间
  154 + <i class="fa fa-circle-o-notch" aria-hidden="true"></i>
  155 + </a>
  156 + </li>
  157 +
  158 +
  159 + </ul>
  160 + </div>
  161 +
  162 +
  163 +
  164 + </td>
  165 + </tr>
  166 +
  167 + </tbody>
  168 + </table>
  169 + </div>
  170 +
  171 +
  172 + </div>
  173 + </div>
  174 + </div>
  175 +</div>
src/main/resources/static/pages/scheduleApp/module/core/ttInfoDetailManage/form.html
1 -<div class="page-head">  
2 - <div class="page-title">  
3 - <h1>时刻表管理</h1>  
4 - </div>  
5 -</div>  
6 -  
7 -<ul class="page-breadcrumb breadcrumb">  
8 - <li>  
9 - <a href="/pages/home.html" data-pjax>首页</a>  
10 - <i class="fa fa-circle"></i>  
11 - </li>  
12 - <li>  
13 - <span class="active">运营计划管理</span>  
14 - <i class="fa fa-circle"></i>  
15 - </li>  
16 - <li>  
17 - <a ui-sref="ttInfoManage">时刻表管理</a>  
18 - <i class="fa fa-circle"></i>  
19 - </li>  
20 - <li>  
21 - <span class="active">时刻表明细</span>  
22 - </li>  
23 - <li>  
24 - <span class="active">导入时刻表 </span>  
25 - </li>  
26 -</ul>  
27 -  
28 -<div class="portlet light bordered" ng-controller="TtInfoDetailManageFormCtrl as ctrl">  
29 - <div class="portlet-title">  
30 - <div class="caption">  
31 - <i class="icon-equalizer font-red-sunglo"></i> <span  
32 - class="caption-subject font-red-sunglo bold uppercase"  
33 - ng-bind="ctrl.title">  
34 - </span>  
35 - </div>  
36 - </div>  
37 -  
38 -  
39 - <div class="col-md-6">  
40 - <div class="input-group">  
41 - <input type="file" class="form-control" nv-file-select="" uploader="ctrl.uploader"/>  
42 - <span class="input-group-btn">  
43 - <button type="button" ng-click="ctrl.clearInputFile()" class="btn btn-default">  
44 - <span class="glyphicon glyphicon-trash"></span>  
45 - </button>  
46 - </span>  
47 - </div>  
48 - </div>  
49 - <div class="table-scrollable table-scrollable-borderless">  
50 - <table class="table table-hover table-light">  
51 - <thead>  
52 - <tr class="uppercase">  
53 - <th width="50%">文件名</th>  
54 - <th ng-show="ctrl.uploader.isHTML5">大小(M)</th>  
55 - <th ng-show="ctrl.uploader.isHTML5">进度</th>  
56 - <th>状态</th>  
57 - <th>操作</th>  
58 - </tr>  
59 - </thead>  
60 - <tbody>  
61 - <tr ng-repeat="item in ctrl.uploader.queue">  
62 - <td>  
63 - <strong>{{ item.file.name }}</strong>  
64 - </td>  
65 - <td ng-show="ctrl.uploader.isHTML5" nowrap>{{ item.file.size/1024/1024|number:2 }} MB</td>  
66 - <td ng-show="ctrl.uploader.isHTML5">  
67 - <div class="progress progress-sm" style="margin-bottom: 0;">  
68 - <div class="progress-bar progress-bar-info" role="progressbar"  
69 - ng-style="{ 'width': item.progress + '%' }"></div>  
70 - </div>  
71 - </td>  
72 - <td class="text-center">  
73 - <span ng-show="item.isSuccess" class="text-success">  
74 - <i class="glyphicon glyphicon-ok"></i>  
75 - </span>  
76 - <span ng-show="item.isCancel" class="text-info">  
77 - <i class="glyphicon glyphicon-ban-circle"></i>  
78 - </span>  
79 - <span ng-show="item.isError" class="text-danger">  
80 - <i class="glyphicon glyphicon-remove"></i>  
81 - </span>  
82 - </td>  
83 - <td nowrap>  
84 - <button type="button" class="btn btn-success btn-xs" ng-click="item.upload()"  
85 - ng-disabled="item.isReady || item.isUploading || item.isSuccess">  
86 - <span class="glyphicon glyphicon-upload"></span> 上传  
87 - </button>  
88 - <button type="button" class="btn btn-warning btn-xs" ng-click="item.cancel()"  
89 - ng-disabled="!item.isUploading">  
90 - <span class="glyphicon glyphicon-ban-circle"></span> 取消  
91 - </button>  
92 - <button type="button" class="btn btn-danger btn-xs" ng-click="ctrl.removeItem(item)">  
93 - <span class="glyphicon glyphicon-trash"></span> 删除  
94 - </button>  
95 - </td>  
96 - </tr>  
97 - </tbody>  
98 - </table>  
99 - </div>  
100 -  
101 -  
102 - <div class="portlet-body form">  
103 - <form ng-submit="ctrl.submit()" class="form-horizontal" novalidate name="myForm">  
104 - <div class="form-body">  
105 - <div class="form-group has-success has-feedback">  
106 - <label class="col-md-2 control-label">excel工作区*:</label>  
107 - <div class="col-md-3">  
108 - <sa-Select5 name="sheetname"  
109 - model="ctrl.ttInfoDetailManageForForm"  
110 - cmaps="{'sheetname' : 'name'}"  
111 - dcname="sheetname"  
112 - icname="name"  
113 - dsparams="{{ {type: 'local', ldata: ctrl.sheetnames} | json }}"  
114 - iterobjname="item"  
115 - iterobjexp="item.name"  
116 - searchph="请选择..."  
117 - searchexp="this.name"  
118 - required >  
119 - </sa-Select5>  
120 - <input type="hidden" name="sheetname_h" ng-model="ctrl.ttInfoDetailManageForForm.sheetvaliddesc"  
121 - remote-Validationt2  
122 - remotevtype="sheet"  
123 - remotevparam="{{ {  
124 - 'filename': ctrl.ttInfoDetailManageForForm.filename,  
125 - 'sheetname': ctrl.ttInfoDetailManageForForm.sheetname,  
126 - 'lineid' : ctrl.ttInfoDetailManageForForm.xlid,  
127 - 'linename' : ctrl.ttInfoDetailManageForForm.xlname  
128 - } | json}}"/>  
129 - </div>  
130 - <!-- 隐藏块,显示验证信息 -->  
131 - <div class="alert alert-danger well-sm" ng-show="myForm.sheetname.$error.required">  
132 - 工作区必须选择  
133 - </div>  
134 - <div class="alert alert-danger well-sm" ng-show="myForm.sheetname_h.$error.remote">  
135 - {{ctrl.ttInfoDetailManageForForm.sheetvaliddesc}}  
136 - </div>  
137 - </div>  
138 -  
139 - <div class="form-group has-success has-feedback">  
140 - <label class="col-md-2 control-label">线路标准*:</label>  
141 - <div class="col-md-3">  
142 - <sa-Select5 name="lineinfo"  
143 - model="ctrl.ttInfoDetailManageForForm"  
144 - cmaps="{'lineinfo' : 'id'}"  
145 - dcname="lineinfo"  
146 - icname="id"  
147 - dsparams="{{ {type: 'ajax', param:{'type': 'all', 'line.id_eq': ctrl.ttInfoDetailManageForForm.xlid}, atype:'xlinfo' } | json }}"  
148 - iterobjname="item"  
149 - iterobjexp="item.line.name + '-' + (item.descriptions ? item.descriptions : '')"  
150 - searchph="请输拼音..."  
151 - searchexp="this.line.name + '-' + (this.descriptions ? this.descriptions : '')"  
152 - required >  
153 - </sa-Select5>  
154 - <input type="hidden" name="lineinfo_h" ng-model="ctrl.ttInfoDetailManageForForm.lineinfo"  
155 - remote-Validationt2  
156 - remotevtype="sheetli"  
157 - remotevparam="{{ {'lineinfoid': ctrl.ttInfoDetailManageForForm.lineinfo} | json}}"/>  
158 - </div>  
159 - <!-- 隐藏块,显示验证信息 -->  
160 - <div class="alert alert-danger well-sm" ng-show="myForm.lineinfo.$error.required">  
161 - 线路标准必须选择  
162 - </div>  
163 - <div class="alert alert-danger well-sm" ng-show="myForm.lineinfo_h.$error.remote">  
164 - {{ctrl.ttInfoDetailManageForForm.lineinfovaliddesc}}  
165 -  
166 - 上下行出场进场里程时间必须填写,上下行班次里程时间必须填写,停车场必须填写  
167 - </div>  
168 - </div>  
169 -  
170 -  
171 - </div>  
172 -  
173 - <div class="form-actions">  
174 - <div class="row">  
175 - <div class="col-md-offset-3 col-md-4">  
176 - <button type="submit" class="btn green"  
177 - ng-disabled="!myForm.$valid"><i class="fa fa-check"></i> 提交</button>  
178 - <a type="button" class="btn default" ui-sref="ttInfoManage" ><i class="fa fa-times"></i> 取消</a>  
179 - </div>  
180 - </div>  
181 - </div>  
182 -  
183 - </form>  
184 -  
185 - </div>  
186 -  
187 - 1 +<div class="page-head">
  2 + <div class="page-title">
  3 + <h1>时刻表管理</h1>
  4 + </div>
  5 +</div>
  6 +
  7 +<ul class="page-breadcrumb breadcrumb">
  8 + <li>
  9 + <a href="/pages/home.html" data-pjax>首页</a>
  10 + <i class="fa fa-circle"></i>
  11 + </li>
  12 + <li>
  13 + <span class="active">运营计划管理</span>
  14 + <i class="fa fa-circle"></i>
  15 + </li>
  16 + <li>
  17 + <a ui-sref="ttInfoManage">时刻表管理</a>
  18 + <i class="fa fa-circle"></i>
  19 + </li>
  20 + <li>
  21 + <span class="active">时刻表明细</span>
  22 + </li>
  23 + <li>
  24 + <span class="active">导入时刻表 </span>
  25 + </li>
  26 +</ul>
  27 +
  28 +<div class="portlet light bordered" ng-controller="TtInfoDetailManageFormCtrl as ctrl">
  29 + <div class="portlet-title">
  30 + <div class="caption">
  31 + <i class="icon-equalizer font-red-sunglo"></i> <span
  32 + class="caption-subject font-red-sunglo bold uppercase"
  33 + ng-bind="ctrl.title">
  34 + </span>
  35 + </div>
  36 + </div>
  37 +
  38 +
  39 + <div class="col-md-6">
  40 + <div class="input-group">
  41 + <input type="file" class="form-control" nv-file-select="" uploader="ctrl.uploader"/>
  42 + <span class="input-group-btn">
  43 + <button type="button" ng-click="ctrl.clearInputFile()" class="btn btn-default">
  44 + <span class="glyphicon glyphicon-trash"></span>
  45 + </button>
  46 + </span>
  47 + </div>
  48 + </div>
  49 + <div class="table-scrollable table-scrollable-borderless">
  50 + <table class="table table-hover table-light">
  51 + <thead>
  52 + <tr class="uppercase">
  53 + <th width="50%">文件名</th>
  54 + <th ng-show="ctrl.uploader.isHTML5">大小(M)</th>
  55 + <th ng-show="ctrl.uploader.isHTML5">进度</th>
  56 + <th>状态</th>
  57 + <th>操作</th>
  58 + </tr>
  59 + </thead>
  60 + <tbody>
  61 + <tr ng-repeat="item in ctrl.uploader.queue">
  62 + <td>
  63 + <strong>{{ item.file.name }}</strong>
  64 + </td>
  65 + <td ng-show="ctrl.uploader.isHTML5" nowrap>{{ item.file.size/1024/1024|number:2 }} MB</td>
  66 + <td ng-show="ctrl.uploader.isHTML5">
  67 + <div class="progress progress-sm" style="margin-bottom: 0;">
  68 + <div class="progress-bar progress-bar-info" role="progressbar"
  69 + ng-style="{ 'width': item.progress + '%' }"></div>
  70 + </div>
  71 + </td>
  72 + <td class="text-center">
  73 + <span ng-show="item.isSuccess" class="text-success">
  74 + <i class="glyphicon glyphicon-ok"></i>
  75 + </span>
  76 + <span ng-show="item.isCancel" class="text-info">
  77 + <i class="glyphicon glyphicon-ban-circle"></i>
  78 + </span>
  79 + <span ng-show="item.isError" class="text-danger">
  80 + <i class="glyphicon glyphicon-remove"></i>
  81 + </span>
  82 + </td>
  83 + <td nowrap>
  84 + <button type="button" class="btn btn-success btn-xs" ng-click="item.upload()"
  85 + ng-disabled="item.isReady || item.isUploading || item.isSuccess">
  86 + <span class="glyphicon glyphicon-upload"></span> 上传
  87 + </button>
  88 + <button type="button" class="btn btn-warning btn-xs" ng-click="item.cancel()"
  89 + ng-disabled="!item.isUploading">
  90 + <span class="glyphicon glyphicon-ban-circle"></span> 取消
  91 + </button>
  92 + <button type="button" class="btn btn-danger btn-xs" ng-click="ctrl.removeItem(item)">
  93 + <span class="glyphicon glyphicon-trash"></span> 删除
  94 + </button>
  95 + </td>
  96 + </tr>
  97 + </tbody>
  98 + </table>
  99 + </div>
  100 +
  101 +
  102 + <div class="portlet-body form">
  103 + <form ng-submit="ctrl.submit()" class="form-horizontal" novalidate name="myForm">
  104 + <div class="form-body">
  105 + <div class="form-group has-success has-feedback">
  106 + <label class="col-md-2 control-label">excel工作区*:</label>
  107 + <div class="col-md-3">
  108 + <sa-Select5 name="sheetname"
  109 + model="ctrl.ttInfoDetailManageForForm"
  110 + cmaps="{'sheetname' : 'name'}"
  111 + dcname="sheetname"
  112 + icname="name"
  113 + dsparams="{{ {type: 'local', ldata: ctrl.sheetnames} | json }}"
  114 + iterobjname="item"
  115 + iterobjexp="item.name"
  116 + searchph="请选择..."
  117 + searchexp="this.name"
  118 + required >
  119 + </sa-Select5>
  120 + <input type="hidden" name="sheetname_h" ng-model="ctrl.ttInfoDetailManageForForm.sheetvaliddesc"
  121 + remote-Validationt2
  122 + remotevtype="sheet"
  123 + remotevparam="{{ {
  124 + 'filename': ctrl.ttInfoDetailManageForForm.filename,
  125 + 'sheetname': ctrl.ttInfoDetailManageForForm.sheetname,
  126 + 'lineid' : ctrl.ttInfoDetailManageForForm.xlid,
  127 + 'linename' : ctrl.ttInfoDetailManageForForm.xlname
  128 + } | json}}"/>
  129 + </div>
  130 + <!-- 隐藏块,显示验证信息 -->
  131 + <div class="alert alert-danger well-sm" ng-show="myForm.sheetname.$error.required">
  132 + 工作区必须选择
  133 + </div>
  134 + <div class="alert alert-danger well-sm" ng-show="myForm.sheetname_h.$error.remote">
  135 + {{ctrl.ttInfoDetailManageForForm.sheetvaliddesc}}
  136 + </div>
  137 + </div>
  138 +
  139 + <div class="form-group has-success has-feedback">
  140 + <label class="col-md-2 control-label">线路标准*:</label>
  141 + <div class="col-md-3">
  142 + <sa-Select5 name="lineinfo"
  143 + model="ctrl.ttInfoDetailManageForForm"
  144 + cmaps="{'lineinfo' : 'id'}"
  145 + dcname="lineinfo"
  146 + icname="id"
  147 + dsparams="{{ {type: 'ajax', param:{'type': 'all', 'line.id_eq': ctrl.ttInfoDetailManageForForm.xlid}, atype:'xlinfo' } | json }}"
  148 + iterobjname="item"
  149 + iterobjexp="item.line.name + '-' + (item.descriptions ? item.descriptions : '')"
  150 + searchph="请输拼音..."
  151 + searchexp="this.line.name + '-' + (this.descriptions ? this.descriptions : '')"
  152 + required >
  153 + </sa-Select5>
  154 + <input type="hidden" name="lineinfo_h" ng-model="ctrl.ttInfoDetailManageForForm.lineinfo"
  155 + remote-Validationt2
  156 + remotevtype="sheetli"
  157 + remotevparam="{{ {'lineinfoid': ctrl.ttInfoDetailManageForForm.lineinfo} | json}}"/>
  158 + </div>
  159 + <!-- 隐藏块,显示验证信息 -->
  160 + <div class="alert alert-danger well-sm" ng-show="myForm.lineinfo.$error.required">
  161 + 线路标准必须选择
  162 + </div>
  163 + <div class="alert alert-danger well-sm" ng-show="myForm.lineinfo_h.$error.remote">
  164 + {{ctrl.ttInfoDetailManageForForm.lineinfovaliddesc}}
  165 +
  166 + 上下行出场进场里程时间必须填写,上下行班次里程时间必须填写,停车场必须填写
  167 + </div>
  168 + </div>
  169 +
  170 +
  171 + </div>
  172 +
  173 + <div class="form-actions">
  174 + <div class="row">
  175 + <div class="col-md-offset-3 col-md-4">
  176 + <button type="submit" class="btn green"
  177 + ng-disabled="!myForm.$valid"><i class="fa fa-check"></i> 提交</button>
  178 + <a type="button" class="btn default" ui-sref="ttInfoManage" ><i class="fa fa-times"></i> 取消</a>
  179 + </div>
  180 + </div>
  181 + </div>
  182 +
  183 + </form>
  184 +
  185 + </div>
  186 +
  187 +
188 </div> 188 </div>
189 \ No newline at end of file 189 \ No newline at end of file
src/main/resources/static/pages/scheduleApp/module/core/ttInfoDetailManage/main.js
1 -// 时刻表明晰管理service,包装外部定义的globalservice,并保存一定的操作状态  
2 -angular.module('ScheduleApp').factory(  
3 - 'TtInfoDetailManageService',  
4 - [  
5 - 'TimeTableDetailManageService_g',  
6 - function(service) {  
7 - // TODO:  
8 -  
9 - return {  
10 - importDetail: function(param) {  
11 - return service.import.do(param).$promise;  
12 - },  
13 - /**  
14 - * 获取编辑用的时刻表明细数据。  
15 - * @param ttid 时刻表id  
16 - */  
17 - getEditInfo: function(xlid, ttid) {  
18 - var params = {xlid : xlid, ttid : ttid};  
19 - return service.edit.list(params).$promise;  
20 - }  
21 - };  
22 - }  
23 - ]  
24 -);  
25 -  
26 -// form.html控制器  
27 -angular.module('ScheduleApp').controller(  
28 - 'TtInfoDetailManageFormCtrl',  
29 - [  
30 - 'TtInfoDetailManageService',  
31 - 'FileUploader',  
32 - '$stateParams',  
33 - '$state',  
34 - function(service, FileUploader, $stateParams, $state) {  
35 - var self = this;  
36 - var xlid = $stateParams.xlid;  
37 - var ttid = $stateParams.ttid;  
38 - var xlname = $stateParams.xlname;  
39 - var ttname = $stateParams.ttname;  
40 -  
41 - self.title = xlname + '(' + ttname + ')' + '时刻表明细信息excel数据导入';  
42 -  
43 - // 欲保存的表单信息,双向绑定  
44 - self.ttInfoDetailManageForForm = {  
45 - xlid: xlid, // 线路id  
46 - ttid: ttid, // 时刻表id  
47 - xlname: xlname, // 线路名称  
48 - ttname: ttname, // 时刻表名称  
49 - filename: undefined, // 上传后的文件名  
50 - sheetname: undefined, // sheet名字  
51 - sheetvaliddesc: undefined, // sheet验证描述返回  
52 - lineinfo: undefined, // 线路标准id  
53 - lineinfovaliddesc: undefined // 线路标准验证描述返回  
54 - };  
55 - self.sheetnames = [  
56 - //{name: '工作表1'}, {name: '工作表2'} // sheet名字列表  
57 - ];  
58 -  
59 - //--------------- 上传文件功能 ---------------//  
60 -  
61 - self.clearInputFile = function() {  
62 - angular.element("input[type='file']").val(null);  
63 - };  
64 - self.removeItem = function(item) {  
65 - item.remove();  
66 - self.ttInfoDetailManageForForm.sheetname = undefined;  
67 - self.sheetnames = [];  
68 - };  
69 -  
70 - // 上传文件组件  
71 - self.uploader = new FileUploader({  
72 - url: "/tidc/uploadFile",  
73 - filters: [], // 用于过滤文件,比如只允许导入excel,  
74 - formData: [  
75 - {  
76 - xlmc: self.xlmc,  
77 - ttinfoname: self.ttinfoname  
78 - }  
79 - ]  
80 - });  
81 - self.uploader.onAfterAddingFile = function(fileItem)  
82 - {  
83 - console.info('onAfterAddingFile', fileItem);  
84 - console.log(self.uploader.queue.length);  
85 - if (self.uploader.queue.length > 1)  
86 - self.uploader.removeFromQueue(0);  
87 - self.ttInfoDetailManageForForm.sheetname = undefined;  
88 - self.sheetnames = [];  
89 - };  
90 - self.uploader.onSuccessItem = function(fileItem, response, status, headers)  
91 - {  
92 - self.sheetnames = response.sheetnames;  
93 - self.ttInfoDetailManageForForm.filename = response.fileName;  
94 - console.info('onSuccessItem', fileItem, response, status, headers);  
95 - };  
96 - self.uploader.onErrorItem = function(fileItem, response, status, headers)  
97 - {  
98 - alert("error");  
99 - self.sheetnames = [];  
100 - console.info('onErrorItem', fileItem, response, status, headers);  
101 - };  
102 -  
103 -  
104 - // form提交方法  
105 - self.submit = function() {  
106 - service.importDetail(self.ttInfoDetailManageForForm).then(  
107 - function(result) {  
108 - $state.go("ttInfoManage");  
109 - },  
110 - function(result) {  
111 - alert("出错啦!");  
112 - }  
113 - );  
114 - };  
115 -  
116 -  
117 - // TODO:edit操作暂时使用旧版本的js文件  
118 -  
119 -  
120 - }  
121 - ] 1 +// 时刻表明晰管理service,包装外部定义的globalservice,并保存一定的操作状态
  2 +angular.module('ScheduleApp').factory(
  3 + 'TtInfoDetailManageService',
  4 + [
  5 + 'TimeTableDetailManageService_g',
  6 + function(service) {
  7 + // TODO:
  8 +
  9 + return {
  10 + importDetail: function(param) {
  11 + return service.import.do(param).$promise;
  12 + },
  13 + /**
  14 + * 获取编辑用的时刻表明细数据。
  15 + * @param ttid 时刻表id
  16 + */
  17 + getEditInfo: function(xlid, ttid) {
  18 + var params = {xlid : xlid, ttid : ttid};
  19 + return service.edit.list(params).$promise;
  20 + }
  21 + };
  22 + }
  23 + ]
  24 +);
  25 +
  26 +// form.html控制器
  27 +angular.module('ScheduleApp').controller(
  28 + 'TtInfoDetailManageFormCtrl',
  29 + [
  30 + 'TtInfoDetailManageService',
  31 + 'FileUploader',
  32 + '$stateParams',
  33 + '$state',
  34 + function(service, FileUploader, $stateParams, $state) {
  35 + var self = this;
  36 + var xlid = $stateParams.xlid;
  37 + var ttid = $stateParams.ttid;
  38 + var xlname = $stateParams.xlname;
  39 + var ttname = $stateParams.ttname;
  40 +
  41 + self.title = xlname + '(' + ttname + ')' + '时刻表明细信息excel数据导入';
  42 +
  43 + // 欲保存的表单信息,双向绑定
  44 + self.ttInfoDetailManageForForm = {
  45 + xlid: xlid, // 线路id
  46 + ttid: ttid, // 时刻表id
  47 + xlname: xlname, // 线路名称
  48 + ttname: ttname, // 时刻表名称
  49 + filename: undefined, // 上传后的文件名
  50 + sheetname: undefined, // sheet名字
  51 + sheetvaliddesc: undefined, // sheet验证描述返回
  52 + lineinfo: undefined, // 线路标准id
  53 + lineinfovaliddesc: undefined // 线路标准验证描述返回
  54 + };
  55 + self.sheetnames = [
  56 + //{name: '工作表1'}, {name: '工作表2'} // sheet名字列表
  57 + ];
  58 +
  59 + //--------------- 上传文件功能 ---------------//
  60 +
  61 + self.clearInputFile = function() {
  62 + angular.element("input[type='file']").val(null);
  63 + };
  64 + self.removeItem = function(item) {
  65 + item.remove();
  66 + self.ttInfoDetailManageForForm.sheetname = undefined;
  67 + self.sheetnames = [];
  68 + };
  69 +
  70 + // 上传文件组件
  71 + self.uploader = new FileUploader({
  72 + url: "/tidc/uploadFile",
  73 + filters: [], // 用于过滤文件,比如只允许导入excel,
  74 + formData: [
  75 + {
  76 + xlmc: self.xlmc,
  77 + ttinfoname: self.ttinfoname
  78 + }
  79 + ]
  80 + });
  81 + self.uploader.onAfterAddingFile = function(fileItem)
  82 + {
  83 + console.info('onAfterAddingFile', fileItem);
  84 + console.log(self.uploader.queue.length);
  85 + if (self.uploader.queue.length > 1)
  86 + self.uploader.removeFromQueue(0);
  87 + self.ttInfoDetailManageForForm.sheetname = undefined;
  88 + self.sheetnames = [];
  89 + };
  90 + self.uploader.onSuccessItem = function(fileItem, response, status, headers)
  91 + {
  92 + self.sheetnames = response.sheetnames;
  93 + self.ttInfoDetailManageForForm.filename = response.fileName;
  94 + console.info('onSuccessItem', fileItem, response, status, headers);
  95 + };
  96 + self.uploader.onErrorItem = function(fileItem, response, status, headers)
  97 + {
  98 + alert("error");
  99 + self.sheetnames = [];
  100 + console.info('onErrorItem', fileItem, response, status, headers);
  101 + };
  102 +
  103 +
  104 + // form提交方法
  105 + self.submit = function() {
  106 + service.importDetail(self.ttInfoDetailManageForForm).then(
  107 + function(result) {
  108 + $state.go("ttInfoManage");
  109 + },
  110 + function(result) {
  111 + alert("出错啦!");
  112 + }
  113 + );
  114 + };
  115 +
  116 +
  117 + // TODO:edit操作暂时使用旧版本的js文件
  118 +
  119 +
  120 + }
  121 + ]
122 ); 122 );
123 \ No newline at end of file 123 \ No newline at end of file
src/main/resources/static/pages/scheduleApp/module/core/ttInfoManage/detail.html
1 -<div class="page-head">  
2 - <div class="page-title">  
3 - <h1>时刻表管理</h1>  
4 - </div>  
5 -</div>  
6 -  
7 -<ul class="page-breadcrumb breadcrumb">  
8 - <li>  
9 - <a href="/pages/home.html" data-pjax>首页</a>  
10 - <i class="fa fa-circle"></i>  
11 - </li>  
12 - <li>  
13 - <span class="active">运营计划管理</span>  
14 - <i class="fa fa-circle"></i>  
15 - </li>  
16 - <li>  
17 - <a ui-sref="ttInfoManage">时刻表管理</a>  
18 - <i class="fa fa-circle"></i>  
19 - </li>  
20 - <li>  
21 - <span class="active">时刻表基础信息</span>  
22 - </li>  
23 -</ul>  
24 -  
25 -<div class="portlet light bordered" ng-controller="TtInfoManageDetailCtrl as ctrl">  
26 - <div class="portlet-title">  
27 - <div class="caption">  
28 - <i class="icon-equalizer font-red-sunglo"></i> <span  
29 - class="caption-subject font-red-sunglo bold uppercase"  
30 - ng-bind="ctrl.title"></span>  
31 - </div>  
32 - </div>  
33 -  
34 - <div class="portlet-body form">  
35 - <form class="form-horizontal" novalidate name="myForm">  
36 - <!--<div class="alert alert-danger display-hide">-->  
37 - <!--<button class="close" data-close="alert"></button>-->  
38 - <!--您的输入有误,请检查下面的输入项-->  
39 - <!--</div>-->  
40 -  
41 -  
42 - <!-- 其他信息放置在这里 -->  
43 - <div class="form-body">  
44 - <div class="form-group has-success has-feedback">  
45 - <label class="col-md-2 control-label">线路*:</label>  
46 - <div class="col-md-4">  
47 - <input type="text" class="form-control"  
48 - name="xl" ng-model="ctrl.ttInfoManageForDetail.xl.name" readonly/>  
49 - </div>  
50 - </div>  
51 -  
52 - <div class="form-group has-success has-feedback">  
53 - <label class="col-md-2 control-label">线路走向*:</label>  
54 - <div class="col-md-4">  
55 - <sa-Radiogroup model="ctrl.ttInfoManageForDetail.xlDir" dicgroup="LineTrend2" name="xlDir" disabled="true"></sa-Radiogroup>  
56 - </div>  
57 - </div>  
58 -  
59 - <div class="form-group has-success has-feedback">  
60 - <label class="col-md-2 control-label">时刻表名字*:</label>  
61 - <div class="col-md-4">  
62 - <input type="text" class="form-control"  
63 - name="name" ng-model="ctrl.ttInfoManageForDetail.name" readonly/>  
64 - </div>  
65 - </div>  
66 -  
67 - <div class="form-group has-success has-feedback">  
68 - <label class="col-md-2 control-label">启用日期*:</label>  
69 - <div class="col-md-4">  
70 - <input type="text" class="form-control"  
71 - name="qyrq" uib-datepicker-popup="yyyy年MM月dd日"  
72 - ng-model="ctrl.ttInfoManageForDetail.qyrq" readonly/>  
73 - </div>  
74 - </div>  
75 -  
76 - <div class="form-group has-success has-feedback">  
77 - <label class="col-md-2 control-label">是否启用*:</label>  
78 - <div class="col-md-4">  
79 - <sa-Radiogroup model="ctrl.ttInfoManageForDetail.isEnableDisTemplate" dicgroup="truefalseType" name="isEnableDisTemplate" disabled="true"></sa-Radiogroup>  
80 - </div>  
81 -  
82 - </div>  
83 -  
84 - <div class="form-group">  
85 - <label class="col-md-2 control-label">路牌数量:</label>  
86 - <div class="col-md-4">  
87 - <input type="number" class="form-control" ng-value="ctrl.ttInfoManageForDetail.lpCount"  
88 - name="lpCount" placeholder="请输入路牌数" min="1" readonly/>  
89 - </div>  
90 - </div>  
91 -  
92 - <div class="form-group">  
93 - <label class="col-md-2 control-label">营运圈数:</label>  
94 - <div class="col-md-4">  
95 - <input type="number" class="form-control" ng-value="ctrl.ttInfoManageForDetail.loopCount"  
96 - name="loopCount" placeholder="请输入圈数" min="1" readonly/>  
97 - </div>  
98 - </div>  
99 -  
100 - <div class="form-group">  
101 - <label class="col-md-2 control-label">停车场:</label>  
102 - <div class="col-md-4">  
103 - <input type="text" class="form-control" ng-value="ctrl.ttInfoManageForDetail.xl.carParkCode | dict:'CarPark':'未知' "  
104 - name="carParkCode" readonly/>  
105 - </div>  
106 - </div>  
107 -  
108 - <div class="form-group">  
109 - <label class="col-md-2 control-label">常规有效日:</label>  
110 - <div class="col-md-6">  
111 - <sa-Checkboxgroup model="ctrl.timeTableManageForForm"  
112 - name="rule_days"  
113 - dcvalue="{{ctrl.ttInfoManageForDetail.rule_days}}"  
114 - disabled >  
115 - </sa-Checkboxgroup>  
116 - </div>  
117 - </div>  
118 -  
119 - <div class="form-group">  
120 - <label class="col-md-2 control-label">特殊有效日:</label>  
121 - <div class="col-md-6">  
122 - <sa-Dategroup model="ctrl.ttInfoManageForDetail"  
123 - name="special_days"  
124 - dcvalue="{{ctrl.timeTableManageForDetail.special_days}}"  
125 - disabled  
126 - >  
127 - </sa-Dategroup>  
128 - </div>  
129 - </div>  
130 -  
131 - <!--<div class="form-group">-->  
132 - <!--<label class="col-md-2 control-label">备注:</label>-->  
133 - <!--</div>-->  
134 -  
135 - <div class="form-group">  
136 - <label class="col-md-2 control-label">创建人:</label>  
137 - <div class="col-md-4">  
138 - <input type="text" class="form-control" ng-value="ctrl.ttInfoManageForDetail.createBy.name"  
139 - name="createBy" readonly/>  
140 - </div>  
141 - </div>  
142 -  
143 - <div class="form-group">  
144 - <label class="col-md-2 control-label">创建时间:</label>  
145 - <div class="col-md-4">  
146 - <input type="text" class="form-control" ng-model="ctrl.ttInfoManageForDetail.createDate"  
147 - name="createDate" uib-datepicker-popup="yyyy年MM月dd日 hh:mm:ss"  
148 - readonly/>  
149 - </div>  
150 - </div>  
151 -  
152 - <div class="form-group">  
153 - <label class="col-md-2 control-label">更新人:</label>  
154 - <div class="col-md-4">  
155 - <input type="text" class="form-control" ng-value="ctrl.ttInfoManageForDetail.updateBy.name"  
156 - name="updateBy" readonly/>  
157 - </div>  
158 - </div>  
159 -  
160 - <div class="form-group">  
161 - <label class="col-md-2 control-label">更新时间:</label>  
162 - <div class="col-md-4">  
163 - <input type="text" class="form-control" ng-model="ctrl.ttInfoManageForDetail.updateDate"  
164 - name="updateDate" uib-datepicker-popup="yyyy年MM月dd日 hh:mm:ss"  
165 - readonly/>  
166 - </div>  
167 - </div>  
168 -  
169 - <!-- 其他form-group -->  
170 -  
171 - </div>  
172 -  
173 - </form>  
174 -  
175 - </div>  
176 -  
177 -  
178 ->>>>>>> PSM-12 1 +<div class="page-head">
  2 + <div class="page-title">
  3 + <h1>时刻表管理</h1>
  4 + </div>
  5 +</div>
  6 +
  7 +<ul class="page-breadcrumb breadcrumb">
  8 + <li>
  9 + <a href="/pages/home.html" data-pjax>首页</a>
  10 + <i class="fa fa-circle"></i>
  11 + </li>
  12 + <li>
  13 + <span class="active">运营计划管理</span>
  14 + <i class="fa fa-circle"></i>
  15 + </li>
  16 + <li>
  17 + <a ui-sref="ttInfoManage">时刻表管理</a>
  18 + <i class="fa fa-circle"></i>
  19 + </li>
  20 + <li>
  21 + <span class="active">时刻表基础信息</span>
  22 + </li>
  23 +</ul>
  24 +
  25 +<div class="portlet light bordered" ng-controller="TtInfoManageDetailCtrl as ctrl">
  26 + <div class="portlet-title">
  27 + <div class="caption">
  28 + <i class="icon-equalizer font-red-sunglo"></i> <span
  29 + class="caption-subject font-red-sunglo bold uppercase"
  30 + ng-bind="ctrl.title"></span>
  31 + </div>
  32 + </div>
  33 +
  34 + <div class="portlet-body form">
  35 + <form class="form-horizontal" novalidate name="myForm">
  36 + <!--<div class="alert alert-danger display-hide">-->
  37 + <!--<button class="close" data-close="alert"></button>-->
  38 + <!--您的输入有误,请检查下面的输入项-->
  39 + <!--</div>-->
  40 +
  41 +
  42 + <!-- 其他信息放置在这里 -->
  43 + <div class="form-body">
  44 + <div class="form-group has-success has-feedback">
  45 + <label class="col-md-2 control-label">线路*:</label>
  46 + <div class="col-md-4">
  47 + <input type="text" class="form-control"
  48 + name="xl" ng-model="ctrl.ttInfoManageForDetail.xl.name" readonly/>
  49 + </div>
  50 + </div>
  51 +
  52 + <div class="form-group has-success has-feedback">
  53 + <label class="col-md-2 control-label">线路走向*:</label>
  54 + <div class="col-md-4">
  55 + <sa-Radiogroup model="ctrl.ttInfoManageForDetail.xlDir" dicgroup="LineTrend2" name="xlDir" disabled="true"></sa-Radiogroup>
  56 + </div>
  57 + </div>
  58 +
  59 + <div class="form-group has-success has-feedback">
  60 + <label class="col-md-2 control-label">时刻表名字*:</label>
  61 + <div class="col-md-4">
  62 + <input type="text" class="form-control"
  63 + name="name" ng-model="ctrl.ttInfoManageForDetail.name" readonly/>
  64 + </div>
  65 + </div>
  66 +
  67 + <div class="form-group has-success has-feedback">
  68 + <label class="col-md-2 control-label">启用日期*:</label>
  69 + <div class="col-md-4">
  70 + <input type="text" class="form-control"
  71 + name="qyrq" uib-datepicker-popup="yyyy年MM月dd日"
  72 + ng-model="ctrl.ttInfoManageForDetail.qyrq" readonly/>
  73 + </div>
  74 + </div>
  75 +
  76 + <div class="form-group has-success has-feedback">
  77 + <label class="col-md-2 control-label">是否启用*:</label>
  78 + <div class="col-md-4">
  79 + <sa-Radiogroup model="ctrl.ttInfoManageForDetail.isEnableDisTemplate" dicgroup="truefalseType" name="isEnableDisTemplate" disabled="true"></sa-Radiogroup>
  80 + </div>
  81 +
  82 + </div>
  83 +
  84 + <div class="form-group">
  85 + <label class="col-md-2 control-label">路牌数量:</label>
  86 + <div class="col-md-4">
  87 + <input type="number" class="form-control" ng-value="ctrl.ttInfoManageForDetail.lpCount"
  88 + name="lpCount" placeholder="请输入路牌数" min="1" readonly/>
  89 + </div>
  90 + </div>
  91 +
  92 + <div class="form-group">
  93 + <label class="col-md-2 control-label">营运圈数:</label>
  94 + <div class="col-md-4">
  95 + <input type="number" class="form-control" ng-value="ctrl.ttInfoManageForDetail.loopCount"
  96 + name="loopCount" placeholder="请输入圈数" min="1" readonly/>
  97 + </div>
  98 + </div>
  99 +
  100 + <div class="form-group">
  101 + <label class="col-md-2 control-label">停车场:</label>
  102 + <div class="col-md-4">
  103 + <input type="text" class="form-control" ng-value="ctrl.ttInfoManageForDetail.xl.carParkCode | dict:'CarPark':'未知' "
  104 + name="carParkCode" readonly/>
  105 + </div>
  106 + </div>
  107 +
  108 + <div class="form-group">
  109 + <label class="col-md-2 control-label">常规有效日:</label>
  110 + <div class="col-md-6">
  111 + <sa-Checkboxgroup model="ctrl.timeTableManageForForm"
  112 + name="rule_days"
  113 + dcvalue="{{ctrl.ttInfoManageForDetail.rule_days}}"
  114 + disabled >
  115 + </sa-Checkboxgroup>
  116 + </div>
  117 + </div>
  118 +
  119 + <div class="form-group">
  120 + <label class="col-md-2 control-label">特殊有效日:</label>
  121 + <div class="col-md-6">
  122 + <sa-Dategroup model="ctrl.ttInfoManageForDetail"
  123 + name="special_days"
  124 + dcvalue="{{ctrl.timeTableManageForDetail.special_days}}"
  125 + disabled
  126 + >
  127 + </sa-Dategroup>
  128 + </div>
  129 + </div>
  130 +
  131 + <!--<div class="form-group">-->
  132 + <!--<label class="col-md-2 control-label">备注:</label>-->
  133 + <!--</div>-->
  134 +
  135 + <div class="form-group">
  136 + <label class="col-md-2 control-label">创建人:</label>
  137 + <div class="col-md-4">
  138 + <input type="text" class="form-control" ng-value="ctrl.ttInfoManageForDetail.createBy.name"
  139 + name="createBy" readonly/>
  140 + </div>
  141 + </div>
  142 +
  143 + <div class="form-group">
  144 + <label class="col-md-2 control-label">创建时间:</label>
  145 + <div class="col-md-4">
  146 + <input type="text" class="form-control" ng-model="ctrl.ttInfoManageForDetail.createDate"
  147 + name="createDate" uib-datepicker-popup="yyyy年MM月dd日 hh:mm:ss"
  148 + readonly/>
  149 + </div>
  150 + </div>
  151 +
  152 + <div class="form-group">
  153 + <label class="col-md-2 control-label">更新人:</label>
  154 + <div class="col-md-4">
  155 + <input type="text" class="form-control" ng-value="ctrl.ttInfoManageForDetail.updateBy.name"
  156 + name="updateBy" readonly/>
  157 + </div>
  158 + </div>
  159 +
  160 + <div class="form-group">
  161 + <label class="col-md-2 control-label">更新时间:</label>
  162 + <div class="col-md-4">
  163 + <input type="text" class="form-control" ng-model="ctrl.ttInfoManageForDetail.updateDate"
  164 + name="updateDate" uib-datepicker-popup="yyyy年MM月dd日 hh:mm:ss"
  165 + readonly/>
  166 + </div>
  167 + </div>
  168 +
  169 + <!-- 其他form-group -->
  170 +
  171 + </div>
  172 +
  173 + </form>
  174 +
  175 + </div>
  176 +
  177 +
  178 +>>>>>>> PSM-12
179 </div> 179 </div>
180 \ No newline at end of file 180 \ No newline at end of file
src/main/resources/static/pages/scheduleApp/module/core/ttInfoManage/edit.html
1 -<div class="page-head">  
2 - <div class="page-title">  
3 - <h1>时刻表管理</h1>  
4 - </div>  
5 -</div>  
6 -  
7 -<ul class="page-breadcrumb breadcrumb">  
8 - <li>  
9 - <a href="/pages/home.html" data-pjax>首页</a>  
10 - <i class="fa fa-circle"></i>  
11 - </li>  
12 - <li>  
13 - <span class="active">运营计划管理</span>  
14 - <i class="fa fa-circle"></i>  
15 - </li>  
16 - <li>  
17 - <a ui-sref="ttInfoManage">时刻表管理</a>  
18 - <i class="fa fa-circle"></i>  
19 - </li>  
20 - <li>  
21 - <span class="active">修改时刻表基础信息</span>  
22 - </li>  
23 -</ul>  
24 -  
25 -<div class="portlet light bordered" ng-controller="TtInfoManageFormCtrl as ctrl">  
26 - <div class="portlet-title">  
27 - <div class="caption">  
28 - <i class="icon-equalizer font-red-sunglo"></i> <span  
29 - class="caption-subject font-red-sunglo bold uppercase">表单</span>  
30 - </div>  
31 - </div>  
32 -  
33 - <div class="portlet-body form">  
34 - <form ng-submit="ctrl.submit()" class="form-horizontal" novalidate name="myForm">  
35 - <!--<div class="alert alert-danger display-hide">-->  
36 - <!--<button class="close" data-close="alert"></button>-->  
37 - <!--您的输入有误,请检查下面的输入项-->  
38 - <!--</div>-->  
39 -  
40 -  
41 - <!-- 其他信息放置在这里 -->  
42 - <div class="form-body">  
43 - <div class="form-group has-success has-feedback">  
44 - <label class="col-md-2 control-label">线路*:</label>  
45 - <div class="col-md-3">  
46 - <sa-Select5 name="xl"  
47 - model="ctrl.ttInfoManageForForm"  
48 - cmaps="{'xl.id' : 'id'}"  
49 - dcname="xl.id"  
50 - icname="id"  
51 - dsparams="{{ {type: 'ajax', param:{type: 'all', 'destroy_eq': 0}, atype:'xl' } | json }}"  
52 - iterobjname="item"  
53 - iterobjexp="item.name"  
54 - searchph="请输拼音..."  
55 - searchexp="this.name"  
56 - required >  
57 - </sa-Select5>  
58 - </div>  
59 - <!-- 隐藏块,显示验证信息 -->  
60 - <div class="alert alert-danger well-sm" ng-show="myForm.xl.$error.required">  
61 - 线路必须选择  
62 - </div>  
63 - </div>  
64 -  
65 - <div class="form-group has-success has-feedback">  
66 - <label class="col-md-2 control-label">线路走向*:</label>  
67 - <div class="col-md-3">  
68 - <sa-Radiogroup model="ctrl.ttInfoManageForForm.xlDir" dicgroup="LineTrend2" name="xlDir" required></sa-Radiogroup>  
69 - </div>  
70 - <!-- 隐藏块,显示验证信息 -->  
71 - <div class="alert alert-danger well-sm" ng-show="myForm.xlDir.$error.required">  
72 - 线路走向必须填写  
73 - </div>  
74 - </div>  
75 -  
76 - <div class="form-group has-success has-feedback">  
77 - <label class="col-md-2 control-label">时刻表名字*:</label>  
78 - <div class="col-md-3">  
79 - <input type="text" class="form-control" ng-model="ctrl.ttInfoManageForForm.name"  
80 - name="name" placeholder="请输入时刻表名字..." required  
81 - remote-Validation  
82 - remotevtype="ttc1"  
83 - remotevparam="{{ {'xl.id_eq': ctrl.ttInfoManageForForm.xl.id, 'name_eq': ctrl.ttInfoManageForForm.name} | json}}"  
84 - />  
85 - </div>  
86 -  
87 - <!-- 隐藏块,显示验证信息 -->  
88 - <div class="alert alert-danger well-sm" ng-show="myForm.name.$error.required">  
89 - 时刻表名字必须填写  
90 - </div>  
91 - <div class="alert alert-danger well-sm" ng-show="myForm.name.$error.remote">  
92 - 相同线路下的时刻表不能同名  
93 - </div>  
94 - </div>  
95 -  
96 - <div class="form-group has-success has-feedback">  
97 - <label class="col-md-2 control-label">启用日期*:</label>  
98 - <div class="col-md-3">  
99 - <div class="input-group">  
100 - <input type="text" class="form-control"  
101 - name="qyrq" placeholder="请选择启用日期..."  
102 - uib-datepicker-popup="yyyy年MM月dd日"  
103 - is-open="ctrl.qyrqOpen"  
104 - ng-model="ctrl.ttInfoManageForForm.qyrq" readonly required/>  
105 - <span class="input-group-btn">  
106 - <button type="button" class="btn btn-default" ng-click="ctrl.qyrq_open()">  
107 - <i class="glyphicon glyphicon-calendar"></i>  
108 - </button>  
109 - </span>  
110 - </div>  
111 - </div>  
112 -  
113 - <!-- 隐藏块,显示验证信息 -->  
114 - <div class="alert alert-danger well-sm" ng-show="myForm.qyrq.$error.required">  
115 - 启用日期必须填写  
116 - </div>  
117 - </div>  
118 -  
119 - <div class="form-group has-success has-feedback">  
120 - <label class="col-md-2 control-label">是否启用*:</label>  
121 - <div class="col-md-3">  
122 - <sa-Radiogroup model="ctrl.ttInfoManageForForm.isEnableDisTemplate" dicgroup="truefalseType" name="isEnableDisTemplate" required></sa-Radiogroup>  
123 - </div>  
124 -  
125 - <!-- 隐藏块,显示验证信息 -->  
126 - <div class="alert alert-danger well-sm" ng-show="myForm.isEnableDisTemplate.$error.required">  
127 - 是否启用必须选择  
128 - </div>  
129 -  
130 - </div>  
131 -  
132 - <div class="form-group">  
133 - <label class="col-md-2 control-label">路牌数量:</label>  
134 - <div class="col-md-3">  
135 - <input type="number" class="form-control" ng-model="ctrl.ttInfoManageForForm.lpCount"  
136 - name="lpCount" placeholder="请输入路牌数..." min="1"/>  
137 - </div>  
138 - <div class="alert alert-danger well-sm" ng-show="myForm.lpCount.$error.number">  
139 - 必须输入数字  
140 - </div>  
141 - <div class="alert alert-danger well-sm" ng-show="myForm.lpCount.$error.min">  
142 - 路爬数量必须大于1  
143 - </div>  
144 - </div>  
145 -  
146 - <div class="form-group">  
147 - <label class="col-md-2 control-label">营运圈数:</label>  
148 - <div class="col-md-3">  
149 - <input type="number" class="form-control" ng-model="ctrl.ttInfoManageForForm.loopCount"  
150 - name="loopCount" placeholder="请输入圈数..." min="1"/>  
151 - </div>  
152 - <div class="alert alert-danger well-sm" ng-show="myForm.loopCount.$error.number">  
153 - 必须输入数字  
154 - </div>  
155 - <div class="alert alert-danger well-sm" ng-show="myForm.loopCount.$error.min">  
156 - 营运圈数必须大于1  
157 - </div>  
158 - </div>  
159 -  
160 - <div class="form-group">  
161 - <label class="col-md-2 control-label">常规有效日:</label>  
162 - <div class="col-md-6">  
163 - <sa-Checkboxgroup model="ctrl.ttInfoManageForForm"  
164 - name="rule_days"  
165 - dcvalue="{{ctrl.ttInfoManageForForm.rule_days}}"  
166 - dcname="rule_days"  
167 - required >  
168 - </sa-Checkboxgroup>  
169 - </div>  
170 - <div class="alert alert-danger well-sm" ng-show="myForm.rule_days.$error.required">  
171 - 请操作一下1  
172 - </div>  
173 - </div>  
174 -  
175 - <div class="form-group">  
176 - <label class="col-md-2 control-label">特殊有效日:</label>  
177 - <div class="col-md-6">  
178 - <sa-Dategroup model="ctrl.ttInfoManageForForm"  
179 - name="special_days"  
180 - dcvalue="{{ctrl.ttInfoManageForForm.special_days}}"  
181 - dcname="special_days"  
182 - >  
183 - </sa-Dategroup>  
184 - </div>  
185 - <div class="alert alert-danger well-sm" ng-show="myForm.special_days.$error.required">  
186 - 请操作一下2  
187 - </div>  
188 - </div>  
189 -  
190 - <!--<div class="form-group">-->  
191 - <!--<label class="col-md-2 control-label">备注:</label>-->  
192 - <!--</div>-->  
193 -  
194 - <!-- 其他form-group -->  
195 -  
196 - </div>  
197 -  
198 - <!-- TODO:!myForm.$valid 在这里有点问题,改用以下方法验证 -->  
199 - <div class="form-actions">  
200 - <div class="row">  
201 - <div class="col-md-offset-3 col-md-4">  
202 - <button type="submit" class="btn green"  
203 - ng-disabled="!myForm.$valid"><i class="fa fa-check"></i> 提交</button>  
204 - <a type="button" class="btn default" ui-sref="ttInfoManage" ><i class="fa fa-times"></i> 取消</a>  
205 - </div>  
206 - </div>  
207 - </div>  
208 -  
209 - </form>  
210 -  
211 - </div>  
212 -  
213 - 1 +<div class="page-head">
  2 + <div class="page-title">
  3 + <h1>时刻表管理</h1>
  4 + </div>
  5 +</div>
  6 +
  7 +<ul class="page-breadcrumb breadcrumb">
  8 + <li>
  9 + <a href="/pages/home.html" data-pjax>首页</a>
  10 + <i class="fa fa-circle"></i>
  11 + </li>
  12 + <li>
  13 + <span class="active">运营计划管理</span>
  14 + <i class="fa fa-circle"></i>
  15 + </li>
  16 + <li>
  17 + <a ui-sref="ttInfoManage">时刻表管理</a>
  18 + <i class="fa fa-circle"></i>
  19 + </li>
  20 + <li>
  21 + <span class="active">修改时刻表基础信息</span>
  22 + </li>
  23 +</ul>
  24 +
  25 +<div class="portlet light bordered" ng-controller="TtInfoManageFormCtrl as ctrl">
  26 + <div class="portlet-title">
  27 + <div class="caption">
  28 + <i class="icon-equalizer font-red-sunglo"></i> <span
  29 + class="caption-subject font-red-sunglo bold uppercase">表单</span>
  30 + </div>
  31 + </div>
  32 +
  33 + <div class="portlet-body form">
  34 + <form ng-submit="ctrl.submit()" class="form-horizontal" novalidate name="myForm">
  35 + <!--<div class="alert alert-danger display-hide">-->
  36 + <!--<button class="close" data-close="alert"></button>-->
  37 + <!--您的输入有误,请检查下面的输入项-->
  38 + <!--</div>-->
  39 +
  40 +
  41 + <!-- 其他信息放置在这里 -->
  42 + <div class="form-body">
  43 + <div class="form-group has-success has-feedback">
  44 + <label class="col-md-2 control-label">线路*:</label>
  45 + <div class="col-md-3">
  46 + <sa-Select5 name="xl"
  47 + model="ctrl.ttInfoManageForForm"
  48 + cmaps="{'xl.id' : 'id'}"
  49 + dcname="xl.id"
  50 + icname="id"
  51 + dsparams="{{ {type: 'ajax', param:{type: 'all', 'destroy_eq': 0}, atype:'xl' } | json }}"
  52 + iterobjname="item"
  53 + iterobjexp="item.name"
  54 + searchph="请输拼音..."
  55 + searchexp="this.name"
  56 + required >
  57 + </sa-Select5>
  58 + </div>
  59 + <!-- 隐藏块,显示验证信息 -->
  60 + <div class="alert alert-danger well-sm" ng-show="myForm.xl.$error.required">
  61 + 线路必须选择
  62 + </div>
  63 + </div>
  64 +
  65 + <div class="form-group has-success has-feedback">
  66 + <label class="col-md-2 control-label">线路走向*:</label>
  67 + <div class="col-md-3">
  68 + <sa-Radiogroup model="ctrl.ttInfoManageForForm.xlDir" dicgroup="LineTrend2" name="xlDir" required></sa-Radiogroup>
  69 + </div>
  70 + <!-- 隐藏块,显示验证信息 -->
  71 + <div class="alert alert-danger well-sm" ng-show="myForm.xlDir.$error.required">
  72 + 线路走向必须填写
  73 + </div>
  74 + </div>
  75 +
  76 + <div class="form-group has-success has-feedback">
  77 + <label class="col-md-2 control-label">时刻表名字*:</label>
  78 + <div class="col-md-3">
  79 + <input type="text" class="form-control" ng-model="ctrl.ttInfoManageForForm.name"
  80 + name="name" placeholder="请输入时刻表名字..." required
  81 + remote-Validation
  82 + remotevtype="ttc1"
  83 + remotevparam="{{ {'xl.id_eq': ctrl.ttInfoManageForForm.xl.id, 'name_eq': ctrl.ttInfoManageForForm.name} | json}}"
  84 + />
  85 + </div>
  86 +
  87 + <!-- 隐藏块,显示验证信息 -->
  88 + <div class="alert alert-danger well-sm" ng-show="myForm.name.$error.required">
  89 + 时刻表名字必须填写
  90 + </div>
  91 + <div class="alert alert-danger well-sm" ng-show="myForm.name.$error.remote">
  92 + 相同线路下的时刻表不能同名
  93 + </div>
  94 + </div>
  95 +
  96 + <div class="form-group has-success has-feedback">
  97 + <label class="col-md-2 control-label">启用日期*:</label>
  98 + <div class="col-md-3">
  99 + <div class="input-group">
  100 + <input type="text" class="form-control"
  101 + name="qyrq" placeholder="请选择启用日期..."
  102 + uib-datepicker-popup="yyyy年MM月dd日"
  103 + is-open="ctrl.qyrqOpen"
  104 + ng-model="ctrl.ttInfoManageForForm.qyrq" readonly required/>
  105 + <span class="input-group-btn">
  106 + <button type="button" class="btn btn-default" ng-click="ctrl.qyrq_open()">
  107 + <i class="glyphicon glyphicon-calendar"></i>
  108 + </button>
  109 + </span>
  110 + </div>
  111 + </div>
  112 +
  113 + <!-- 隐藏块,显示验证信息 -->
  114 + <div class="alert alert-danger well-sm" ng-show="myForm.qyrq.$error.required">
  115 + 启用日期必须填写
  116 + </div>
  117 + </div>
  118 +
  119 + <div class="form-group has-success has-feedback">
  120 + <label class="col-md-2 control-label">是否启用*:</label>
  121 + <div class="col-md-3">
  122 + <sa-Radiogroup model="ctrl.ttInfoManageForForm.isEnableDisTemplate" dicgroup="truefalseType" name="isEnableDisTemplate" required></sa-Radiogroup>
  123 + </div>
  124 +
  125 + <!-- 隐藏块,显示验证信息 -->
  126 + <div class="alert alert-danger well-sm" ng-show="myForm.isEnableDisTemplate.$error.required">
  127 + 是否启用必须选择
  128 + </div>
  129 +
  130 + </div>
  131 +
  132 + <div class="form-group">
  133 + <label class="col-md-2 control-label">路牌数量:</label>
  134 + <div class="col-md-3">
  135 + <input type="number" class="form-control" ng-model="ctrl.ttInfoManageForForm.lpCount"
  136 + name="lpCount" placeholder="请输入路牌数..." min="1"/>
  137 + </div>
  138 + <div class="alert alert-danger well-sm" ng-show="myForm.lpCount.$error.number">
  139 + 必须输入数字
  140 + </div>
  141 + <div class="alert alert-danger well-sm" ng-show="myForm.lpCount.$error.min">
  142 + 路爬数量必须大于1
  143 + </div>
  144 + </div>
  145 +
  146 + <div class="form-group">
  147 + <label class="col-md-2 control-label">营运圈数:</label>
  148 + <div class="col-md-3">
  149 + <input type="number" class="form-control" ng-model="ctrl.ttInfoManageForForm.loopCount"
  150 + name="loopCount" placeholder="请输入圈数..." min="1"/>
  151 + </div>
  152 + <div class="alert alert-danger well-sm" ng-show="myForm.loopCount.$error.number">
  153 + 必须输入数字
  154 + </div>
  155 + <div class="alert alert-danger well-sm" ng-show="myForm.loopCount.$error.min">
  156 + 营运圈数必须大于1
  157 + </div>
  158 + </div>
  159 +
  160 + <div class="form-group">
  161 + <label class="col-md-2 control-label">常规有效日:</label>
  162 + <div class="col-md-6">
  163 + <sa-Checkboxgroup model="ctrl.ttInfoManageForForm"
  164 + name="rule_days"
  165 + dcvalue="{{ctrl.ttInfoManageForForm.rule_days}}"
  166 + dcname="rule_days"
  167 + required >
  168 + </sa-Checkboxgroup>
  169 + </div>
  170 + <div class="alert alert-danger well-sm" ng-show="myForm.rule_days.$error.required">
  171 + 请操作一下1
  172 + </div>
  173 + </div>
  174 +
  175 + <div class="form-group">
  176 + <label class="col-md-2 control-label">特殊有效日:</label>
  177 + <div class="col-md-6">
  178 + <sa-Dategroup model="ctrl.ttInfoManageForForm"
  179 + name="special_days"
  180 + dcvalue="{{ctrl.ttInfoManageForForm.special_days}}"
  181 + dcname="special_days"
  182 + >
  183 + </sa-Dategroup>
  184 + </div>
  185 + <div class="alert alert-danger well-sm" ng-show="myForm.special_days.$error.required">
  186 + 请操作一下2
  187 + </div>
  188 + </div>
  189 +
  190 + <!--<div class="form-group">-->
  191 + <!--<label class="col-md-2 control-label">备注:</label>-->
  192 + <!--</div>-->
  193 +
  194 + <!-- 其他form-group -->
  195 +
  196 + </div>
  197 +
  198 + <!-- TODO:!myForm.$valid 在这里有点问题,改用以下方法验证 -->
  199 + <div class="form-actions">
  200 + <div class="row">
  201 + <div class="col-md-offset-3 col-md-4">
  202 + <button type="submit" class="btn green"
  203 + ng-disabled="!myForm.$valid"><i class="fa fa-check"></i> 提交</button>
  204 + <a type="button" class="btn default" ui-sref="ttInfoManage" ><i class="fa fa-times"></i> 取消</a>
  205 + </div>
  206 + </div>
  207 + </div>
  208 +
  209 + </form>
  210 +
  211 + </div>
  212 +
  213 +
214 </div> 214 </div>
215 \ No newline at end of file 215 \ No newline at end of file
src/main/resources/static/pages/scheduleApp/module/core/ttInfoManage/form.html
1 -<div class="page-head">  
2 - <div class="page-title">  
3 - <h1>时刻表管理</h1>  
4 - </div>  
5 -</div>  
6 -  
7 -<ul class="page-breadcrumb breadcrumb">  
8 - <li>  
9 - <a href="/pages/home.html" data-pjax>首页</a>  
10 - <i class="fa fa-circle"></i>  
11 - </li>  
12 - <li>  
13 - <span class="active">运营计划管理</span>  
14 - <i class="fa fa-circle"></i>  
15 - </li>  
16 - <li>  
17 - <a ui-sref="ttInfoManage">时刻表管理</a>  
18 - <i class="fa fa-circle"></i>  
19 - </li>  
20 - <li>  
21 - <span class="active">添加时刻表基础信息</span>  
22 - </li>  
23 -</ul>  
24 -  
25 -<div class="portlet light bordered" ng-controller="TtInfoManageFormCtrl as ctrl">  
26 - <div class="portlet-title">  
27 - <div class="caption">  
28 - <i class="icon-equalizer font-red-sunglo"></i> <span  
29 - class="caption-subject font-red-sunglo bold uppercase">表单</span>  
30 - </div>  
31 - </div>  
32 -  
33 - <div class="portlet-body form">  
34 - <form ng-submit="ctrl.submit()" class="form-horizontal" novalidate name="myForm">  
35 - <!--<div class="alert alert-danger display-hide">-->  
36 - <!--<button class="close" data-close="alert"></button>-->  
37 - <!--您的输入有误,请检查下面的输入项-->  
38 - <!--</div>-->  
39 -  
40 -  
41 - <!-- 其他信息放置在这里 -->  
42 - <div class="form-body">  
43 - <div class="form-group has-success has-feedback">  
44 - <label class="col-md-2 control-label">线路*:</label>  
45 - <div class="col-md-3">  
46 - <sa-Select5 name="xl"  
47 - model="ctrl.ttInfoManageForForm"  
48 - cmaps="{'xl.id' : 'id'}"  
49 - dcname="xl.id"  
50 - icname="id"  
51 - dsparams="{{ {type: 'ajax', param:{type: 'all', 'destroy_eq': 0}, atype:'xl' } | json }}"  
52 - iterobjname="item"  
53 - iterobjexp="item.name"  
54 - searchph="请输拼音..."  
55 - searchexp="this.name"  
56 - required >  
57 - </sa-Select5>  
58 - </div>  
59 - <!-- 隐藏块,显示验证信息 -->  
60 - <div class="alert alert-danger well-sm" ng-show="myForm.xl.$error.required">  
61 - 线路必须选择  
62 - </div>  
63 - </div>  
64 -  
65 - <div class="form-group has-success has-feedback">  
66 - <label class="col-md-2 control-label">线路走向*:</label>  
67 - <div class="col-md-3">  
68 - <sa-Radiogroup model="ctrl.ttInfoManageForForm.xlDir" dicgroup="LineTrend2" name="xlDir" required></sa-Radiogroup>  
69 - </div>  
70 - <!-- 隐藏块,显示验证信息 -->  
71 - <div class="alert alert-danger well-sm" ng-show="myForm.xlDir.$error.required">  
72 - 线路走向必须填写  
73 - </div>  
74 - </div>  
75 -  
76 - <div class="form-group has-success has-feedback">  
77 - <label class="col-md-2 control-label">时刻表名字*:</label>  
78 - <div class="col-md-3">  
79 - <input type="text" class="form-control" ng-model="ctrl.ttInfoManageForForm.name"  
80 - name="name" placeholder="请输入时刻表名字..." required  
81 - remote-Validation  
82 - remotevtype="ttc1"  
83 - remotevparam="{{ {'xl.id_eq': ctrl.ttInfoManageForForm.xl.id, 'name_eq': ctrl.ttInfoManageForForm.name} | json}}"  
84 - />  
85 - </div>  
86 -  
87 - <!-- 隐藏块,显示验证信息 -->  
88 - <div class="alert alert-danger well-sm" ng-show="myForm.name.$error.required">  
89 - 时刻表名字必须填写  
90 - </div>  
91 - <div class="alert alert-danger well-sm" ng-show="myForm.name.$error.remote">  
92 - 相同线路下的时刻表不能同名  
93 - </div>  
94 - </div>  
95 -  
96 - <div class="form-group has-success has-feedback">  
97 - <label class="col-md-2 control-label">启用日期*:</label>  
98 - <div class="col-md-3">  
99 - <div class="input-group">  
100 - <input type="text" class="form-control"  
101 - name="qyrq" placeholder="请选择启用日期..."  
102 - uib-datepicker-popup="yyyy年MM月dd日"  
103 - is-open="ctrl.qyrqOpen"  
104 - ng-model="ctrl.ttInfoManageForForm.qyrq" readonly required/>  
105 - <span class="input-group-btn">  
106 - <button type="button" class="btn btn-default" ng-click="ctrl.qyrq_open()">  
107 - <i class="glyphicon glyphicon-calendar"></i>  
108 - </button>  
109 - </span>  
110 - </div>  
111 - </div>  
112 -  
113 - <!-- 隐藏块,显示验证信息 -->  
114 - <div class="alert alert-danger well-sm" ng-show="myForm.qyrq.$error.required">  
115 - 启用日期必须填写  
116 - </div>  
117 - </div>  
118 -  
119 - <div class="form-group has-success has-feedback">  
120 - <label class="col-md-2 control-label">是否启用*:</label>  
121 - <div class="col-md-3">  
122 - <sa-Radiogroup model="ctrl.ttInfoManageForForm.isEnableDisTemplate" dicgroup="truefalseType" name="isEnableDisTemplate" required></sa-Radiogroup>  
123 - </div>  
124 -  
125 - <!-- 隐藏块,显示验证信息 -->  
126 - <div class="alert alert-danger well-sm" ng-show="myForm.isEnableDisTemplate.$error.required">  
127 - 是否启用必须选择  
128 - </div>  
129 -  
130 - </div>  
131 -  
132 - <div class="form-group">  
133 - <label class="col-md-2 control-label">路牌数量:</label>  
134 - <div class="col-md-3">  
135 - <input type="number" class="form-control" ng-model="ctrl.ttInfoManageForForm.lpCount"  
136 - name="lpCount" placeholder="请输入路牌数..." min="1"/>  
137 - </div>  
138 - <div class="alert alert-danger well-sm" ng-show="myForm.lpCount.$error.number">  
139 - 必须输入数字  
140 - </div>  
141 - <div class="alert alert-danger well-sm" ng-show="myForm.lpCount.$error.min">  
142 - 路爬数量必须大于1  
143 - </div>  
144 - </div>  
145 -  
146 - <div class="form-group">  
147 - <label class="col-md-2 control-label">营运圈数:</label>  
148 - <div class="col-md-3">  
149 - <input type="number" class="form-control" ng-model="ctrl.ttInfoManageForForm.loopCount"  
150 - name="loopCount" placeholder="请输入圈数..." min="1"/>  
151 - </div>  
152 - <div class="alert alert-danger well-sm" ng-show="myForm.loopCount.$error.number">  
153 - 必须输入数字  
154 - </div>  
155 - <div class="alert alert-danger well-sm" ng-show="myForm.loopCount.$error.min">  
156 - 营运圈数必须大于1  
157 - </div>  
158 - </div>  
159 -  
160 - <div class="form-group">  
161 - <label class="col-md-2 control-label">常规有效日:</label>  
162 - <div class="col-md-6">  
163 - <sa-Checkboxgroup model="ctrl.ttInfoManageForForm"  
164 - name="rule_days"  
165 - dcvalue="{{ctrl.ttInfoManageForForm.rule_days}}"  
166 - dcname="rule_days"  
167 - required >  
168 - </sa-Checkboxgroup>  
169 - </div>  
170 - <div class="alert alert-danger well-sm" ng-show="myForm.rule_days.$error.required">  
171 - 请操作一下1  
172 - </div>  
173 - </div>  
174 -  
175 - <div class="form-group">  
176 - <label class="col-md-2 control-label">特殊有效日:</label>  
177 - <div class="col-md-6">  
178 - <sa-Dategroup model="ctrl.ttInfoManageForForm"  
179 - name="special_days"  
180 - dcvalue="{{ctrl.ttInfoManageForForm.special_days}}"  
181 - dcname="special_days"  
182 - >  
183 - </sa-Dategroup>  
184 - </div>  
185 - <div class="alert alert-danger well-sm" ng-show="myForm.special_days.$error.required">  
186 - 请操作一下2  
187 - </div>  
188 - </div>  
189 -  
190 - <!--<div class="form-group">-->  
191 - <!--<label class="col-md-2 control-label">备注:</label>-->  
192 - <!--</div>-->  
193 -  
194 - <!-- 其他form-group -->  
195 -  
196 - </div>  
197 -  
198 - <!-- TODO:!myForm.$valid 在这里有点问题,改用以下方法验证 -->  
199 - <div class="form-actions">  
200 - <div class="row">  
201 - <div class="col-md-offset-3 col-md-4">  
202 - <button type="submit" class="btn green"  
203 - ng-disabled="!myForm.$valid"><i class="fa fa-check"></i> 提交</button>  
204 - <a type="button" class="btn default" ui-sref="ttInfoManage" ><i class="fa fa-times"></i> 取消</a>  
205 - </div>  
206 - </div>  
207 - </div>  
208 -  
209 - </form>  
210 -  
211 - </div>  
212 -  
213 - 1 +<div class="page-head">
  2 + <div class="page-title">
  3 + <h1>时刻表管理</h1>
  4 + </div>
  5 +</div>
  6 +
  7 +<ul class="page-breadcrumb breadcrumb">
  8 + <li>
  9 + <a href="/pages/home.html" data-pjax>首页</a>
  10 + <i class="fa fa-circle"></i>
  11 + </li>
  12 + <li>
  13 + <span class="active">运营计划管理</span>
  14 + <i class="fa fa-circle"></i>
  15 + </li>
  16 + <li>
  17 + <a ui-sref="ttInfoManage">时刻表管理</a>
  18 + <i class="fa fa-circle"></i>
  19 + </li>
  20 + <li>
  21 + <span class="active">添加时刻表基础信息</span>
  22 + </li>
  23 +</ul>
  24 +
  25 +<div class="portlet light bordered" ng-controller="TtInfoManageFormCtrl as ctrl">
  26 + <div class="portlet-title">
  27 + <div class="caption">
  28 + <i class="icon-equalizer font-red-sunglo"></i> <span
  29 + class="caption-subject font-red-sunglo bold uppercase">表单</span>
  30 + </div>
  31 + </div>
  32 +
  33 + <div class="portlet-body form">
  34 + <form ng-submit="ctrl.submit()" class="form-horizontal" novalidate name="myForm">
  35 + <!--<div class="alert alert-danger display-hide">-->
  36 + <!--<button class="close" data-close="alert"></button>-->
  37 + <!--您的输入有误,请检查下面的输入项-->
  38 + <!--</div>-->
  39 +
  40 +
  41 + <!-- 其他信息放置在这里 -->
  42 + <div class="form-body">
  43 + <div class="form-group has-success has-feedback">
  44 + <label class="col-md-2 control-label">线路*:</label>
  45 + <div class="col-md-3">
  46 + <sa-Select5 name="xl"
  47 + model="ctrl.ttInfoManageForForm"
  48 + cmaps="{'xl.id' : 'id'}"
  49 + dcname="xl.id"
  50 + icname="id"
  51 + dsparams="{{ {type: 'ajax', param:{type: 'all', 'destroy_eq': 0}, atype:'xl' } | json }}"
  52 + iterobjname="item"
  53 + iterobjexp="item.name"
  54 + searchph="请输拼音..."
  55 + searchexp="this.name"
  56 + required >
  57 + </sa-Select5>
  58 + </div>
  59 + <!-- 隐藏块,显示验证信息 -->
  60 + <div class="alert alert-danger well-sm" ng-show="myForm.xl.$error.required">
  61 + 线路必须选择
  62 + </div>
  63 + </div>
  64 +
  65 + <div class="form-group has-success has-feedback">
  66 + <label class="col-md-2 control-label">线路走向*:</label>
  67 + <div class="col-md-3">
  68 + <sa-Radiogroup model="ctrl.ttInfoManageForForm.xlDir" dicgroup="LineTrend2" name="xlDir" required></sa-Radiogroup>
  69 + </div>
  70 + <!-- 隐藏块,显示验证信息 -->
  71 + <div class="alert alert-danger well-sm" ng-show="myForm.xlDir.$error.required">
  72 + 线路走向必须填写
  73 + </div>
  74 + </div>
  75 +
  76 + <div class="form-group has-success has-feedback">
  77 + <label class="col-md-2 control-label">时刻表名字*:</label>
  78 + <div class="col-md-3">
  79 + <input type="text" class="form-control" ng-model="ctrl.ttInfoManageForForm.name"
  80 + name="name" placeholder="请输入时刻表名字..." required
  81 + remote-Validation
  82 + remotevtype="ttc1"
  83 + remotevparam="{{ {'xl.id_eq': ctrl.ttInfoManageForForm.xl.id, 'name_eq': ctrl.ttInfoManageForForm.name} | json}}"
  84 + />
  85 + </div>
  86 +
  87 + <!-- 隐藏块,显示验证信息 -->
  88 + <div class="alert alert-danger well-sm" ng-show="myForm.name.$error.required">
  89 + 时刻表名字必须填写
  90 + </div>
  91 + <div class="alert alert-danger well-sm" ng-show="myForm.name.$error.remote">
  92 + 相同线路下的时刻表不能同名
  93 + </div>
  94 + </div>
  95 +
  96 + <div class="form-group has-success has-feedback">
  97 + <label class="col-md-2 control-label">启用日期*:</label>
  98 + <div class="col-md-3">
  99 + <div class="input-group">
  100 + <input type="text" class="form-control"
  101 + name="qyrq" placeholder="请选择启用日期..."
  102 + uib-datepicker-popup="yyyy年MM月dd日"
  103 + is-open="ctrl.qyrqOpen"
  104 + ng-model="ctrl.ttInfoManageForForm.qyrq" readonly required/>
  105 + <span class="input-group-btn">
  106 + <button type="button" class="btn btn-default" ng-click="ctrl.qyrq_open()">
  107 + <i class="glyphicon glyphicon-calendar"></i>
  108 + </button>
  109 + </span>
  110 + </div>
  111 + </div>
  112 +
  113 + <!-- 隐藏块,显示验证信息 -->
  114 + <div class="alert alert-danger well-sm" ng-show="myForm.qyrq.$error.required">
  115 + 启用日期必须填写
  116 + </div>
  117 + </div>
  118 +
  119 + <div class="form-group has-success has-feedback">
  120 + <label class="col-md-2 control-label">是否启用*:</label>
  121 + <div class="col-md-3">
  122 + <sa-Radiogroup model="ctrl.ttInfoManageForForm.isEnableDisTemplate" dicgroup="truefalseType" name="isEnableDisTemplate" required></sa-Radiogroup>
  123 + </div>
  124 +
  125 + <!-- 隐藏块,显示验证信息 -->
  126 + <div class="alert alert-danger well-sm" ng-show="myForm.isEnableDisTemplate.$error.required">
  127 + 是否启用必须选择
  128 + </div>
  129 +
  130 + </div>
  131 +
  132 + <div class="form-group">
  133 + <label class="col-md-2 control-label">路牌数量:</label>
  134 + <div class="col-md-3">
  135 + <input type="number" class="form-control" ng-model="ctrl.ttInfoManageForForm.lpCount"
  136 + name="lpCount" placeholder="请输入路牌数..." min="1"/>
  137 + </div>
  138 + <div class="alert alert-danger well-sm" ng-show="myForm.lpCount.$error.number">
  139 + 必须输入数字
  140 + </div>
  141 + <div class="alert alert-danger well-sm" ng-show="myForm.lpCount.$error.min">
  142 + 路爬数量必须大于1
  143 + </div>
  144 + </div>
  145 +
  146 + <div class="form-group">
  147 + <label class="col-md-2 control-label">营运圈数:</label>
  148 + <div class="col-md-3">
  149 + <input type="number" class="form-control" ng-model="ctrl.ttInfoManageForForm.loopCount"
  150 + name="loopCount" placeholder="请输入圈数..." min="1"/>
  151 + </div>
  152 + <div class="alert alert-danger well-sm" ng-show="myForm.loopCount.$error.number">
  153 + 必须输入数字
  154 + </div>
  155 + <div class="alert alert-danger well-sm" ng-show="myForm.loopCount.$error.min">
  156 + 营运圈数必须大于1
  157 + </div>
  158 + </div>
  159 +
  160 + <div class="form-group">
  161 + <label class="col-md-2 control-label">常规有效日:</label>
  162 + <div class="col-md-6">
  163 + <sa-Checkboxgroup model="ctrl.ttInfoManageForForm"
  164 + name="rule_days"
  165 + dcvalue="{{ctrl.ttInfoManageForForm.rule_days}}"
  166 + dcname="rule_days"
  167 + required >
  168 + </sa-Checkboxgroup>
  169 + </div>
  170 + <div class="alert alert-danger well-sm" ng-show="myForm.rule_days.$error.required">
  171 + 请操作一下1
  172 + </div>
  173 + </div>
  174 +
  175 + <div class="form-group">
  176 + <label class="col-md-2 control-label">特殊有效日:</label>
  177 + <div class="col-md-6">
  178 + <sa-Dategroup model="ctrl.ttInfoManageForForm"
  179 + name="special_days"
  180 + dcvalue="{{ctrl.ttInfoManageForForm.special_days}}"
  181 + dcname="special_days"
  182 + >
  183 + </sa-Dategroup>
  184 + </div>
  185 + <div class="alert alert-danger well-sm" ng-show="myForm.special_days.$error.required">
  186 + 请操作一下2
  187 + </div>
  188 + </div>
  189 +
  190 + <!--<div class="form-group">-->
  191 + <!--<label class="col-md-2 control-label">备注:</label>-->
  192 + <!--</div>-->
  193 +
  194 + <!-- 其他form-group -->
  195 +
  196 + </div>
  197 +
  198 + <!-- TODO:!myForm.$valid 在这里有点问题,改用以下方法验证 -->
  199 + <div class="form-actions">
  200 + <div class="row">
  201 + <div class="col-md-offset-3 col-md-4">
  202 + <button type="submit" class="btn green"
  203 + ng-disabled="!myForm.$valid"><i class="fa fa-check"></i> 提交</button>
  204 + <a type="button" class="btn default" ui-sref="ttInfoManage" ><i class="fa fa-times"></i> 取消</a>
  205 + </div>
  206 + </div>
  207 + </div>
  208 +
  209 + </form>
  210 +
  211 + </div>
  212 +
  213 +
214 </div> 214 </div>
215 \ No newline at end of file 215 \ No newline at end of file
src/main/resources/static/pages/scheduleApp/module/core/ttInfoManage/index.html
1 -<div class="page-head">  
2 - <div class="page-title">  
3 - <h1>时刻表管理</h1>  
4 - </div>  
5 -</div>  
6 -  
7 -<ul class="page-breadcrumb breadcrumb">  
8 - <li>  
9 - <a href="/pages/home.html" data-pjax>首页</a>  
10 - <i class="fa fa-circle"></i>  
11 - </li>  
12 - <li>  
13 - <span class="active">运营计划管理</span>  
14 - <i class="fa fa-circle"></i>  
15 - </li>  
16 - <li>  
17 - <span class="active">时刻表管理</span>  
18 - </li>  
19 -</ul>  
20 -  
21 -<div class="row">  
22 - <div class="col-md-12" ng-controller="TtInfoManageIndexCtrl as ctrl">  
23 - <div class="portlet light bordered">  
24 - <div class="portlet-title">  
25 - <div class="caption font-dark">  
26 - <i class="fa fa-database font-dark"></i>  
27 - <span class="caption-subject bold uppercase">时刻表</span>  
28 - </div>  
29 - <div class="actions">  
30 - <a href="javascirpt:" class="btn btn-circle blue" ng-click="ctrl.toTtInfoManageForm()">  
31 - <i class="fa fa-plus"></i>  
32 - 添加时刻表  
33 - </a>  
34 -  
35 - </div>  
36 - </div>  
37 -  
38 - <div class="portlet-body">  
39 - <div ui-view="ttInfoManage_list"></div>  
40 - </div>  
41 - </div>  
42 - </div> 1 +<div class="page-head">
  2 + <div class="page-title">
  3 + <h1>时刻表管理</h1>
  4 + </div>
  5 +</div>
  6 +
  7 +<ul class="page-breadcrumb breadcrumb">
  8 + <li>
  9 + <a href="/pages/home.html" data-pjax>首页</a>
  10 + <i class="fa fa-circle"></i>
  11 + </li>
  12 + <li>
  13 + <span class="active">运营计划管理</span>
  14 + <i class="fa fa-circle"></i>
  15 + </li>
  16 + <li>
  17 + <span class="active">时刻表管理</span>
  18 + </li>
  19 +</ul>
  20 +
  21 +<div class="row">
  22 + <div class="col-md-12" ng-controller="TtInfoManageIndexCtrl as ctrl">
  23 + <div class="portlet light bordered">
  24 + <div class="portlet-title">
  25 + <div class="caption font-dark">
  26 + <i class="fa fa-database font-dark"></i>
  27 + <span class="caption-subject bold uppercase">时刻表</span>
  28 + </div>
  29 + <div class="actions">
  30 + <a href="javascirpt:" class="btn btn-circle blue" ng-click="ctrl.toTtInfoManageForm()">
  31 + <i class="fa fa-plus"></i>
  32 + 添加时刻表
  33 + </a>
  34 +
  35 + </div>
  36 + </div>
  37 +
  38 + <div class="portlet-body">
  39 + <div ui-view="ttInfoManage_list"></div>
  40 + </div>
  41 + </div>
  42 + </div>
43 </div> 43 </div>
44 \ No newline at end of file 44 \ No newline at end of file
src/main/resources/static/real_control_v2/fragments/north/nav/charts/sch_exec_rate.html
1 -<div class="uk-modal" id="sch-exec-rate-modal">  
2 - <div class="uk-modal-dialog" style="width: 1200px;">  
3 - <a href="" class="uk-modal-close uk-close"></a>  
4 - <div class="uk-modal-header">  
5 - <h2>班次执行率</h2></div>  
6 -  
7 - <div class="uk-panel uk-panel-box uk-panel-box-primary" style="margin-bottom: 10px;">  
8 - <form class="uk-form search-form">  
9 - <fieldset data-uk-margin>  
10 - <div class="uk-form-icon">  
11 - <i class="uk-icon-calendar"></i>  
12 - <input type="date" id="dateInput">  
13 - </div>  
14 - <button class="uk-button" id="countBtn">统计</button>  
15 - </fieldset>  
16 - </form>  
17 - </div>  
18 -  
19 - <div class="chart-wrap" style="height: 570px;">  
20 -  
21 - </div>  
22 -  
23 - <div class="load-panel">  
24 - <i class="uk-icon-spinner uk-icon-spin"></i>  
25 - 正在汇总数据  
26 - </div>  
27 - </div>  
28 -  
29 - <script>  
30 - (function () {  
31 -  
32 - var modal = '#sch-exec-rate-modal';  
33 - var chartObj;  
34 -  
35 - var option = {  
36 - color: ['#3398DB'],  
37 - tooltip: {  
38 - trigger: 'axis',  
39 - axisPointer: {  
40 - type: 'shadow'  
41 - }  
42 - },  
43 - grid: {  
44 - left: '3%',  
45 - right: '4%',  
46 - bottom: '3%',  
47 - containLabel: true  
48 - },  
49 - xAxis: [  
50 - {  
51 - type: 'category',  
52 - axisTick: {  
53 - alignWithLabel: true  
54 - }  
55 - }  
56 - ],  
57 - yAxis: [  
58 - {  
59 - type: 'value',  
60 - min: 0,  
61 - max: 100,  
62 - name: '执行率'  
63 - }  
64 - ],  
65 - series: [  
66 - {  
67 - name: '班次执行率',  
68 - type: 'bar',  
69 - barWidth: '60%'  
70 - }  
71 - ]  
72 - };  
73 -  
74 -  
75 - $(modal).on('init', function (e, data) {  
76 - //默认当天  
77 - var m = moment().format('YYYY-MM-DD');  
78 - $('#dateInput', modal).val(m);  
79 -  
80 - chartObj = echarts.init($('.chart-wrap', modal)[0]);  
81 - chartObj.on('click', chartObjClickHandler);  
82 - renderChart();  
83 -  
84 - });  
85 -  
86 -  
87 - $('#countBtn', modal).on('click', function () {  
88 - try {  
89 - renderChart();  
90 - } catch (e) {  
91 - console.log(e);  
92 - }  
93 - return false;  
94 - });  
95 -  
96 - //计算执行率  
97 - function calcSchExecRate(list) {  
98 - if (!list)  
99 - return 0;  
100 - var eff = 0;  
101 - $.each(list, function () {  
102 - if (this.status >= 1)  
103 - eff++;  
104 - });  
105 - return (eff / list.length * 100).toFixed(2);  
106 - }  
107 -  
108 - var renderData;  
109 -  
110 - function renderChart() {  
111 - //xAxis data  
112 - var xAxisData = [], lineCodeArr = [];  
113 - $.each(gb_data_basic.activeLines, function () {  
114 - xAxisData.push(this.name);  
115 - lineCodeArr.push(this.lineCode);  
116 - });  
117 - option.xAxis[0].data = xAxisData;  
118 -  
119 - $.get('/realCharts/scheduleExecRates', {  
120 - idx: gb_data_basic.line_idx,  
121 - date: $('#dateInput', modal).val()  
122 - }, function (rs) {  
123 - //console.log(rs);  
124 - //按线路分组  
125 - var groupData = gb_common.groupBy(rs, 'lineCode');  
126 -  
127 - renderData = groupData;  
128 - var data = [];  
129 -  
130 - for (var i = 0, code; code = lineCodeArr[i++];) {  
131 - //计算执行率  
132 - var eff = calcSchExecRate(groupData[code]);  
133 - data.push({value: eff, lineCode: code});  
134 - }  
135 -  
136 - option.series[0].data = data;  
137 - chartObj.setOption(option);  
138 - });  
139 - }  
140 -  
141 - function chartObjClickHandler(obj) {  
142 - if (obj.componentType != 'series' || obj.componentSubType != 'bar')  
143 - return;  
144 -  
145 - var list = renderData[obj.data.lineCode];  
146 - list = list.filter(function (obj) {  
147 - if(obj.status<1)  
148 - return 1;  
149 - else  
150 - return 0;  
151 - });  
152 -  
153 - $.get('/real_control_v2/fragments/north/nav/charts/sch_exec_rate_detail.html', function (htmlStr) {  
154 - $(document.body).append(htmlStr);  
155 - var detailModal = '#sch-exec-rate-detail-modal';  
156 - var elem = UIkit.modal(detailModal, {bgclose: true, modal: false}).show();  
157 - $(detailModal).trigger('init', {list: list});  
158 - })  
159 - }  
160 - })();  
161 - </script>  
162 -</div> 1 +<div class="uk-modal" id="sch-exec-rate-modal">
  2 + <div class="uk-modal-dialog" style="width: 1200px;">
  3 + <a href="" class="uk-modal-close uk-close"></a>
  4 + <div class="uk-modal-header">
  5 + <h2>班次执行率</h2></div>
  6 +
  7 + <div class="uk-panel uk-panel-box uk-panel-box-primary" style="margin-bottom: 10px;">
  8 + <form class="uk-form search-form">
  9 + <fieldset data-uk-margin>
  10 + <div class="uk-form-icon">
  11 + <i class="uk-icon-calendar"></i>
  12 + <input type="date" id="dateInput">
  13 + </div>
  14 + <button class="uk-button" id="countBtn">统计</button>
  15 + </fieldset>
  16 + </form>
  17 + </div>
  18 +
  19 + <div class="chart-wrap" style="height: 570px;">
  20 +
  21 + </div>
  22 +
  23 + <div class="load-panel">
  24 + <i class="uk-icon-spinner uk-icon-spin"></i>
  25 + 正在汇总数据
  26 + </div>
  27 + </div>
  28 +
  29 + <script>
  30 + (function () {
  31 +
  32 + var modal = '#sch-exec-rate-modal';
  33 + var chartObj;
  34 +
  35 + var option = {
  36 + color: ['#3398DB'],
  37 + tooltip: {
  38 + trigger: 'axis',
  39 + axisPointer: {
  40 + type: 'shadow'
  41 + }
  42 + },
  43 + grid: {
  44 + left: '3%',
  45 + right: '4%',
  46 + bottom: '3%',
  47 + containLabel: true
  48 + },
  49 + xAxis: [
  50 + {
  51 + type: 'category',
  52 + axisTick: {
  53 + alignWithLabel: true
  54 + }
  55 + }
  56 + ],
  57 + yAxis: [
  58 + {
  59 + type: 'value',
  60 + min: 0,
  61 + max: 100,
  62 + name: '执行率'
  63 + }
  64 + ],
  65 + series: [
  66 + {
  67 + name: '班次执行率',
  68 + type: 'bar',
  69 + barWidth: '60%'
  70 + }
  71 + ]
  72 + };
  73 +
  74 +
  75 + $(modal).on('init', function (e, data) {
  76 + //默认当天
  77 + var m = moment().format('YYYY-MM-DD');
  78 + $('#dateInput', modal).val(m);
  79 +
  80 + chartObj = echarts.init($('.chart-wrap', modal)[0]);
  81 + chartObj.on('click', chartObjClickHandler);
  82 + renderChart();
  83 +
  84 + });
  85 +
  86 +
  87 + $('#countBtn', modal).on('click', function () {
  88 + try {
  89 + renderChart();
  90 + } catch (e) {
  91 + console.log(e);
  92 + }
  93 + return false;
  94 + });
  95 +
  96 + //计算执行率
  97 + function calcSchExecRate(list) {
  98 + if (!list)
  99 + return 0;
  100 + var eff = 0;
  101 + $.each(list, function () {
  102 + if (this.status >= 1)
  103 + eff++;
  104 + });
  105 + return (eff / list.length * 100).toFixed(2);
  106 + }
  107 +
  108 + var renderData;
  109 +
  110 + function renderChart() {
  111 + //xAxis data
  112 + var xAxisData = [], lineCodeArr = [];
  113 + $.each(gb_data_basic.activeLines, function () {
  114 + xAxisData.push(this.name);
  115 + lineCodeArr.push(this.lineCode);
  116 + });
  117 + option.xAxis[0].data = xAxisData;
  118 +
  119 + $.get('/realCharts/scheduleExecRates', {
  120 + idx: gb_data_basic.line_idx,
  121 + date: $('#dateInput', modal).val()
  122 + }, function (rs) {
  123 + //console.log(rs);
  124 + //按线路分组
  125 + var groupData = gb_common.groupBy(rs, 'lineCode');
  126 +
  127 + renderData = groupData;
  128 + var data = [];
  129 +
  130 + for (var i = 0, code; code = lineCodeArr[i++];) {
  131 + //计算执行率
  132 + var eff = calcSchExecRate(groupData[code]);
  133 + data.push({value: eff, lineCode: code});
  134 + }
  135 +
  136 + option.series[0].data = data;
  137 + chartObj.setOption(option);
  138 + });
  139 + }
  140 +
  141 + function chartObjClickHandler(obj) {
  142 + if (obj.componentType != 'series' || obj.componentSubType != 'bar')
  143 + return;
  144 +
  145 + var list = renderData[obj.data.lineCode];
  146 + list = list.filter(function (obj) {
  147 + if(obj.status<1)
  148 + return 1;
  149 + else
  150 + return 0;
  151 + });
  152 +
  153 + $.get('/real_control_v2/fragments/north/nav/charts/sch_exec_rate_detail.html', function (htmlStr) {
  154 + $(document.body).append(htmlStr);
  155 + var detailModal = '#sch-exec-rate-detail-modal';
  156 + var elem = UIkit.modal(detailModal, {bgclose: true, modal: false}).show();
  157 + $(detailModal).trigger('init', {list: list});
  158 + })
  159 + }
  160 + })();
  161 + </script>
  162 +</div>
src/main/resources/static/real_control_v2/fragments/north/nav/charts/sch_exec_rate_detail.html
1 -<div class="uk-modal" id="sch-exec-rate-detail-modal">  
2 - <div class="uk-modal-dialog" style="width: 350px;">  
3 - <a href="" class="uk-modal-close uk-close"></a>  
4 - <div style="margin:5px 0 -18px;">  
5 - <table class="ct-fixed-table uk-table uk-table-hover">  
6 - <thead>  
7 - <tr>  
8 - <th style="width: 40%;">线路</th>  
9 - <th style="width: 30%;">待发</th>  
10 - <th style="width: 30%;">状态</th>  
11 - </tr>  
12 - </thead>  
13 - <tbody>  
14 - </tbody>  
15 - </table>  
16 - </div>  
17 - </div>  
18 -  
19 - <script id="sch-exec-rate-detail-table-temp" type="text/html">  
20 - {{each list as obj i}}  
21 - <tr>  
22 - <td>{{obj.lineName}}</td>  
23 - <td>{{obj.dfsj}}</td>  
24 - <td>  
25 - {{if obj.status==-1}}  
26 - <span style="color: red;">烂班</span>  
27 - {{else if obj.status==1}}  
28 - 正在执行  
29 - {{else if obj.status==2}}  
30 - 已执行  
31 - {{/if}}  
32 - </td>  
33 - </tr>  
34 - {{/each}}  
35 - </script>  
36 -  
37 - <script>  
38 - (function() {  
39 - var modal = '#sch-exec-rate-detail-modal';  
40 -  
41 - $(modal).on('init', function(e, data) {  
42 - var code2Name = gb_data_basic.lineCode2NameAll();  
43 - $.each(data.list, function(){  
44 - this.lineName=code2Name[this.lineCode];  
45 - });  
46 -  
47 - var tbodys=template('sch-exec-rate-detail-table-temp', {list: data.list});  
48 - $('table tbody', modal).html(tbodys);  
49 - });  
50 - })();  
51 - </script>  
52 -</div> 1 +<div class="uk-modal" id="sch-exec-rate-detail-modal">
  2 + <div class="uk-modal-dialog" style="width: 350px;">
  3 + <a href="" class="uk-modal-close uk-close"></a>
  4 + <div style="margin:5px 0 -18px;">
  5 + <table class="ct-fixed-table uk-table uk-table-hover">
  6 + <thead>
  7 + <tr>
  8 + <th style="width: 40%;">线路</th>
  9 + <th style="width: 30%;">待发</th>
  10 + <th style="width: 30%;">状态</th>
  11 + </tr>
  12 + </thead>
  13 + <tbody>
  14 + </tbody>
  15 + </table>
  16 + </div>
  17 + </div>
  18 +
  19 + <script id="sch-exec-rate-detail-table-temp" type="text/html">
  20 + {{each list as obj i}}
  21 + <tr>
  22 + <td>{{obj.lineName}}</td>
  23 + <td>{{obj.dfsj}}</td>
  24 + <td>
  25 + {{if obj.status==-1}}
  26 + <span style="color: red;">烂班</span>
  27 + {{else if obj.status==1}}
  28 + 正在执行
  29 + {{else if obj.status==2}}
  30 + 已执行
  31 + {{/if}}
  32 + </td>
  33 + </tr>
  34 + {{/each}}
  35 + </script>
  36 +
  37 + <script>
  38 + (function() {
  39 + var modal = '#sch-exec-rate-detail-modal';
  40 +
  41 + $(modal).on('init', function(e, data) {
  42 + var code2Name = gb_data_basic.lineCode2NameAll();
  43 + $.each(data.list, function(){
  44 + this.lineName=code2Name[this.lineCode];
  45 + });
  46 +
  47 + var tbodys=template('sch-exec-rate-detail-table-temp', {list: data.list});
  48 + $('table tbody', modal).html(tbodys);
  49 + });
  50 + })();
  51 + </script>
  52 +</div>
src/main/resources/static/real_control_v2/fragments/north/nav/history_sch_maintain.html
1 -<div class="uk-modal" id="history-sch-maintain-modal">  
2 - <div class="uk-modal-dialog" style="width: 1180px;">  
3 - <a href="" class="uk-modal-close uk-close"></a>  
4 - <h2>历史班次维护</h2>  
5 -  
6 - <div style="padding-left: 12px;margin: 20px 0">  
7 - <ul class="uk-subnav uk-subnav-pill h-s-time">  
8 - </ul>  
9 - </div>  
10 -  
11 - <div style="padding-left: 12px;">  
12 - <ul class="uk-subnav uk-subnav-pill h-s-line">  
13 - </ul>  
14 - </div>  
15 -  
16 - <div class="uk-panel uk-panel-box uk-panel-box-primary">  
17 - <form class="uk-form search-form">  
18 - <fieldset data-uk-margin>  
19 - <span class="horizontal-field">上下行</span>  
20 - <select name="xlDir_eq">  
21 - <option value="">全部</option>  
22 - <option value="0">上行</option>  
23 - <option value="1">下行</option>  
24 - </select>  
25 - &nbsp;  
26 - <span class="horizontal-field">车辆</span>  
27 - <div class="uk-autocomplete uk-form autocomplete-cars">  
28 - <input type="text" name="clZbh_like" placeholder="车辆自编号">  
29 - </div>  
30 - <span class="horizontal-field">驾驶员</span>  
31 - <div class="uk-autocomplete uk-form autocomplete-jsy">  
32 - <input type="text" name="jGh_like" placeholder="驾驶员">  
33 - </div>  
34 - <button class="uk-button">检索</button>  
35 - </fieldset>  
36 - </form>  
37 - </div>  
38 -  
39 - <div class="ct_table_wrap ct_table_no_border history-sch-wrap" style="height: 510px;">  
40 - <div class="ct_table history-sch-table">  
41 - <div class="ct_table_head">  
42 - <dl>  
43 - <dt>车辆</dt>  
44 - <dt>驾驶员</dt>  
45 - <dt>起点</dt>  
46 - <dt>终点</dt>  
47 - <dt>计发</dt>  
48 - <dt>待发</dt>  
49 - <dt>实发</dt>  
50 - <dt>终点时间</dt>  
51 - <dt>备注</dt>  
52 - </dl>  
53 - </div>  
54 - <div class="ct_table_body">  
55 - </div>  
56 - </div>  
57 - </div>  
58 - <div class="uk-modal-footer uk-text-right pagination-wrap">  
59 - </div>  
60 -  
61 - <div class="load-panel">  
62 - <i class="uk-icon-spinner uk-icon-spin"></i>  
63 - 正在加载数据  
64 - </div>  
65 - </div>  
66 -  
67 - <script id="history-sch-maintain-table-temp" type="text/html">  
68 - {{each list as sch i}}  
69 - <dl data-id="{{sch.id}}">  
70 - <dd>{{sch.clZbh}}</dd>  
71 - <dd>{{sch.jGh}}/{{sch.jName}}</dd>  
72 - <dd title="{{sch.qdzName}}">{{sch.qdzName}}</dd>  
73 - <dd title="{{sch.zdzName}}">{{sch.zdzName}}</dd>  
74 - <dd>{{sch.fcsj}}  
75 - {{if sch.bcType == "out"}}  
76 - <span class="uk-badge uk-badge-success">出场</span>  
77 - {{else if sch.bcType == "in"}}  
78 - <span class="uk-badge uk-badge-warning">进场</span>  
79 - {{else if sch.bcType == "venting"}}  
80 - <span class="uk-badge uk-badge-danger">直放</span>  
81 - {{else if sch.bcType == "major"}}  
82 - <span class="uk-badge uk-badge-danger">放站</span>  
83 - {{/if}}  
84 - {{if sch.sflj}}  
85 - <span class="uk-badge uk-badge-danger">临加</span>  
86 - {{/if}}  
87 - {{if sch.cTasks.length > 0}}  
88 - <span class="uk-badge uk-badge-notification">{{sch.cTasks.length}}</span>  
89 - {{/if}}</dd>  
90 - <dd>  
91 - {{sch.dfsj}}  
92 - {{if sch.status==-1}}  
93 - <span class="uk-badge uk-badge-danger">烂班</span>  
94 - {{/if}}  
95 - </dd>  
96 - <dd>{{sch.fcsjActual}}</dd>  
97 - <dd>{{sch.zdsjActual}}</dd>  
98 - <dd title="{{sch.remarks}}">{{sch.remarks}}</dd>  
99 - </dl>  
100 - {{/each}}  
101 - </script>  
102 -  
103 - <script>  
104 - (function () {  
105 - var modal = '#history-sch-maintain-modal';  
106 - $(modal).on('init', function (e, data) {  
107 - $.get('/realSchedule/dateArray', function (rs) {  
108 - //日期tab  
109 - var tsStr = '';  
110 - $.each(rs, function (i) {  
111 - tsStr += '<li ' + (i == 0 ? 'class="uk-active"' : '') + '><a>' + this + '</a></li>';  
112 - });  
113 - $('.h-s-time', modal).html(tsStr);  
114 -  
115 - //线路tab  
116 - var xlStr = '';  
117 - $.each(gb_data_basic.activeLines, function (i) {  
118 - xlStr += '<li ' + (i == 0 ? 'class="uk-active"' : '') + ' data-id="' + this.lineCode + '"><a>' + this.name + '</a></li>';  
119 - });  
120 - $('.h-s-line', modal).html(xlStr);  
121 -  
122 -  
123 - jsQuery();  
124 - });  
125 - });  
126 -  
127 - $(modal).on('refresh', jsQuery);  
128 -  
129 - $(modal).on('click', '.h-s-time li,.h-s-line li', function () {  
130 - if(loading)  
131 - return;  
132 - $(this).parent().find('li.uk-active').removeClass('uk-active');  
133 - $(this).addClass('uk-active');  
134 - jsQuery();  
135 - });  
136 -  
137 - $('.search-form', modal).on('submit', function (e) {  
138 - try {  
139 - jsQuery();  
140 - }catch(e){  
141 - console.log(e);  
142 - }  
143 - return false;  
144 - });  
145 -  
146 - var nbbmArray=[],jsyArray=[],loading;  
147 - function jsQuery() {  
148 - var data = $('.search-form', modal).serializeJSON();  
149 - var rq = $('.h-s-time li.uk-active', modal).text(),  
150 - lineCode = $('.h-s-line li.uk-active', modal).data('id');  
151 - data.scheduleDateStr_eq = rq;  
152 - data.xlBm_eq = lineCode;  
153 - if(data.jGh_like.indexOf('/')!=-1){  
154 - var jsy=data.jGh_like.split('/');  
155 - data.jGh_like=jsy[0];  
156 - data.jName_like=jsy[1];  
157 - }  
158 -  
159 - $('.load-panel', modal).show();  
160 - loading=true;  
161 - $.get('/realSchedule/all', data, function (rs) {  
162 - rs.sort(schedule_sort);  
163 - var tbodyStr = template('history-sch-maintain-table-temp', {list: rs});  
164 - $('.history-sch-table .ct_table_body', modal).html(tbodyStr);  
165 -  
166 - //可搜索的车辆自编号和驾驶员  
167 - nbbmArray=[];  
168 - jsyArray=[];  
169 - $.each(rs, function () {  
170 - nbbmArray.push({value: this.clZbh});  
171 - jsyArray.push({value: this.jGh+'/'+this.jName,  
172 - fullChars: pinyin.getFullChars(this.jName).toUpperCase(),  
173 - camelChars: pinyin.getCamelChars(this.jName)});  
174 - });  
175 - //value  
176 - nbbmArray=distinctByField(nbbmArray);  
177 - jsyArray=distinctByField(jsyArray);  
178 - $('.load-panel', modal).hide();  
179 - loading=false;  
180 -  
181 - });  
182 - }  
183 -  
184 - //nbbm autocomplete  
185 - var carAutoCom=$('.autocomplete-cars', modal);  
186 - UIkit.autocomplete(carAutoCom, {  
187 - minLength: 1,  
188 - delay: 50,  
189 - source: function(release) {  
190 - var q = $('input', carAutoCom).val().toUpperCase()  
191 - ,rs = [],  
192 - count = 0;  
193 - $.each(nbbmArray, function () {  
194 - if(this.value.indexOf(q) != -1){  
195 - rs.push(this);  
196 - count++;  
197 - }  
198 - });  
199 - release && release(rs);  
200 - }  
201 - });  
202 -  
203 - //jsy autocomplete  
204 - var jsyAutoCom=$('.autocomplete-jsy', modal);  
205 - UIkit.autocomplete(jsyAutoCom, {  
206 - minLength: 1,  
207 - delay: 50,  
208 - source: function(release) {  
209 - var q = $('input', jsyAutoCom).val().toUpperCase()  
210 - ,rs = [],  
211 - count = 0;  
212 -  
213 - $.each(jsyArray, function() {  
214 - if (this.value.indexOf(q) != -1 || this.fullChars.indexOf(q) != -1 || this.camelChars.indexOf(q) != -1){  
215 - rs.push(this);  
216 - count++;  
217 - }  
218 -  
219 - if (count >= 10)  
220 - return false;  
221 - });  
222 - release && release(rs);  
223 - }  
224 - });  
225 -  
226 - function schedule_sort(s1, s2) {  
227 - return (s1.realExecDate+s1.dfsj).localeCompare(s2.realExecDate+s2.dfsj);  
228 - }  
229 -  
230 - function distinctByField(arr, f){  
231 - if(!f)  
232 - f = 'value';  
233 - var rs = {};  
234 - $.each(arr, function () {  
235 - rs[this[f]]=this;  
236 - });  
237 - return gb_common.get_vals(rs);  
238 - }  
239 -  
240 - gb_ct_table.fixedHead($('.ct_table_wrap', modal));  
241 -  
242 - //班次点击  
243 - $(modal).on('click contextmenu', '.history-sch-table .ct_table_body dl', function() {  
244 - $(this).parent().find('.active').removeClass('active');  
245 - $(this).addClass('active');  
246 - });  
247 -  
248 - var callbackHandler={  
249 - edit: function(id){  
250 - open_modal('/real_control_v2/fragments/north/nav/history_sch/edit.html', {id: id, parentModal: modal}, {center: false,bgclose: false, modal: false});  
251 - }  
252 - }  
253 -  
254 - //右键菜单  
255 - $.contextMenu({  
256 - selector: modal+' .history-sch-table .ct_table_body dl',  
257 - className: 'schedule-ct-menu',  
258 - callback: function(key, options) {  
259 - var id = $('.context-menu-active', modal).data('id');  
260 - callbackHandler[key] && callbackHandler[key](id);  
261 - },  
262 - items: {  
263 - 'edit': {  
264 - name: '编辑'  
265 - },  
266 - 'child_task':{  
267 - name: '子任务',  
268 - disabled: true  
269 - },  
270 - 'add': {  
271 - name: '新增',  
272 - disabled: true  
273 - },  
274 - 'delete':{  
275 - name: '删除',  
276 - disabled: true  
277 - }  
278 - }  
279 - });  
280 - })();  
281 - </script> 1 +<div class="uk-modal" id="history-sch-maintain-modal">
  2 + <div class="uk-modal-dialog" style="width: 1180px;">
  3 + <a href="" class="uk-modal-close uk-close"></a>
  4 + <h2>历史班次维护</h2>
  5 +
  6 + <div style="padding-left: 12px;margin: 20px 0">
  7 + <ul class="uk-subnav uk-subnav-pill h-s-time">
  8 + </ul>
  9 + </div>
  10 +
  11 + <div style="padding-left: 12px;">
  12 + <ul class="uk-subnav uk-subnav-pill h-s-line">
  13 + </ul>
  14 + </div>
  15 +
  16 + <div class="uk-panel uk-panel-box uk-panel-box-primary">
  17 + <form class="uk-form search-form">
  18 + <fieldset data-uk-margin>
  19 + <span class="horizontal-field">上下行</span>
  20 + <select name="xlDir_eq">
  21 + <option value="">全部</option>
  22 + <option value="0">上行</option>
  23 + <option value="1">下行</option>
  24 + </select>
  25 + &nbsp;
  26 + <span class="horizontal-field">车辆</span>
  27 + <div class="uk-autocomplete uk-form autocomplete-cars">
  28 + <input type="text" name="clZbh_like" placeholder="车辆自编号">
  29 + </div>
  30 + <span class="horizontal-field">驾驶员</span>
  31 + <div class="uk-autocomplete uk-form autocomplete-jsy">
  32 + <input type="text" name="jGh_like" placeholder="驾驶员">
  33 + </div>
  34 + <button class="uk-button">检索</button>
  35 + </fieldset>
  36 + </form>
  37 + </div>
  38 +
  39 + <div class="ct_table_wrap ct_table_no_border history-sch-wrap" style="height: 510px;">
  40 + <div class="ct_table history-sch-table">
  41 + <div class="ct_table_head">
  42 + <dl>
  43 + <dt>车辆</dt>
  44 + <dt>驾驶员</dt>
  45 + <dt>起点</dt>
  46 + <dt>终点</dt>
  47 + <dt>计发</dt>
  48 + <dt>待发</dt>
  49 + <dt>实发</dt>
  50 + <dt>终点时间</dt>
  51 + <dt>备注</dt>
  52 + </dl>
  53 + </div>
  54 + <div class="ct_table_body">
  55 + </div>
  56 + </div>
  57 + </div>
  58 + <div class="uk-modal-footer uk-text-right pagination-wrap">
  59 + </div>
  60 +
  61 + <div class="load-panel">
  62 + <i class="uk-icon-spinner uk-icon-spin"></i>
  63 + 正在加载数据
  64 + </div>
  65 + </div>
  66 +
  67 + <script id="history-sch-maintain-table-temp" type="text/html">
  68 + {{each list as sch i}}
  69 + <dl data-id="{{sch.id}}">
  70 + <dd>{{sch.clZbh}}</dd>
  71 + <dd>{{sch.jGh}}/{{sch.jName}}</dd>
  72 + <dd title="{{sch.qdzName}}">{{sch.qdzName}}</dd>
  73 + <dd title="{{sch.zdzName}}">{{sch.zdzName}}</dd>
  74 + <dd>{{sch.fcsj}}
  75 + {{if sch.bcType == "out"}}
  76 + <span class="uk-badge uk-badge-success">出场</span>
  77 + {{else if sch.bcType == "in"}}
  78 + <span class="uk-badge uk-badge-warning">进场</span>
  79 + {{else if sch.bcType == "venting"}}
  80 + <span class="uk-badge uk-badge-danger">直放</span>
  81 + {{else if sch.bcType == "major"}}
  82 + <span class="uk-badge uk-badge-danger">放站</span>
  83 + {{/if}}
  84 + {{if sch.sflj}}
  85 + <span class="uk-badge uk-badge-danger">临加</span>
  86 + {{/if}}
  87 + {{if sch.cTasks.length > 0}}
  88 + <span class="uk-badge uk-badge-notification">{{sch.cTasks.length}}</span>
  89 + {{/if}}</dd>
  90 + <dd>
  91 + {{sch.dfsj}}
  92 + {{if sch.status==-1}}
  93 + <span class="uk-badge uk-badge-danger">烂班</span>
  94 + {{/if}}
  95 + </dd>
  96 + <dd>{{sch.fcsjActual}}</dd>
  97 + <dd>{{sch.zdsjActual}}</dd>
  98 + <dd title="{{sch.remarks}}">{{sch.remarks}}</dd>
  99 + </dl>
  100 + {{/each}}
  101 + </script>
  102 +
  103 + <script>
  104 + (function () {
  105 + var modal = '#history-sch-maintain-modal';
  106 + $(modal).on('init', function (e, data) {
  107 + $.get('/realSchedule/dateArray', function (rs) {
  108 + //日期tab
  109 + var tsStr = '';
  110 + $.each(rs, function (i) {
  111 + tsStr += '<li ' + (i == 0 ? 'class="uk-active"' : '') + '><a>' + this + '</a></li>';
  112 + });
  113 + $('.h-s-time', modal).html(tsStr);
  114 +
  115 + //线路tab
  116 + var xlStr = '';
  117 + $.each(gb_data_basic.activeLines, function (i) {
  118 + xlStr += '<li ' + (i == 0 ? 'class="uk-active"' : '') + ' data-id="' + this.lineCode + '"><a>' + this.name + '</a></li>';
  119 + });
  120 + $('.h-s-line', modal).html(xlStr);
  121 +
  122 +
  123 + jsQuery();
  124 + });
  125 + });
  126 +
  127 + $(modal).on('refresh', jsQuery);
  128 +
  129 + $(modal).on('click', '.h-s-time li,.h-s-line li', function () {
  130 + if(loading)
  131 + return;
  132 + $(this).parent().find('li.uk-active').removeClass('uk-active');
  133 + $(this).addClass('uk-active');
  134 + jsQuery();
  135 + });
  136 +
  137 + $('.search-form', modal).on('submit', function (e) {
  138 + try {
  139 + jsQuery();
  140 + }catch(e){
  141 + console.log(e);
  142 + }
  143 + return false;
  144 + });
  145 +
  146 + var nbbmArray=[],jsyArray=[],loading;
  147 + function jsQuery() {
  148 + var data = $('.search-form', modal).serializeJSON();
  149 + var rq = $('.h-s-time li.uk-active', modal).text(),
  150 + lineCode = $('.h-s-line li.uk-active', modal).data('id');
  151 + data.scheduleDateStr_eq = rq;
  152 + data.xlBm_eq = lineCode;
  153 + if(data.jGh_like.indexOf('/')!=-1){
  154 + var jsy=data.jGh_like.split('/');
  155 + data.jGh_like=jsy[0];
  156 + data.jName_like=jsy[1];
  157 + }
  158 +
  159 + $('.load-panel', modal).show();
  160 + loading=true;
  161 + $.get('/realSchedule/all', data, function (rs) {
  162 + rs.sort(schedule_sort);
  163 + var tbodyStr = template('history-sch-maintain-table-temp', {list: rs});
  164 + $('.history-sch-table .ct_table_body', modal).html(tbodyStr);
  165 +
  166 + //可搜索的车辆自编号和驾驶员
  167 + nbbmArray=[];
  168 + jsyArray=[];
  169 + $.each(rs, function () {
  170 + nbbmArray.push({value: this.clZbh});
  171 + jsyArray.push({value: this.jGh+'/'+this.jName,
  172 + fullChars: pinyin.getFullChars(this.jName).toUpperCase(),
  173 + camelChars: pinyin.getCamelChars(this.jName)});
  174 + });
  175 + //value
  176 + nbbmArray=distinctByField(nbbmArray);
  177 + jsyArray=distinctByField(jsyArray);
  178 + $('.load-panel', modal).hide();
  179 + loading=false;
  180 +
  181 + });
  182 + }
  183 +
  184 + //nbbm autocomplete
  185 + var carAutoCom=$('.autocomplete-cars', modal);
  186 + UIkit.autocomplete(carAutoCom, {
  187 + minLength: 1,
  188 + delay: 50,
  189 + source: function(release) {
  190 + var q = $('input', carAutoCom).val().toUpperCase()
  191 + ,rs = [],
  192 + count = 0;
  193 + $.each(nbbmArray, function () {
  194 + if(this.value.indexOf(q) != -1){
  195 + rs.push(this);
  196 + count++;
  197 + }
  198 + });
  199 + release && release(rs);
  200 + }
  201 + });
  202 +
  203 + //jsy autocomplete
  204 + var jsyAutoCom=$('.autocomplete-jsy', modal);
  205 + UIkit.autocomplete(jsyAutoCom, {
  206 + minLength: 1,
  207 + delay: 50,
  208 + source: function(release) {
  209 + var q = $('input', jsyAutoCom).val().toUpperCase()
  210 + ,rs = [],
  211 + count = 0;
  212 +
  213 + $.each(jsyArray, function() {
  214 + if (this.value.indexOf(q) != -1 || this.fullChars.indexOf(q) != -1 || this.camelChars.indexOf(q) != -1){
  215 + rs.push(this);
  216 + count++;
  217 + }
  218 +
  219 + if (count >= 10)
  220 + return false;
  221 + });
  222 + release && release(rs);
  223 + }
  224 + });
  225 +
  226 + function schedule_sort(s1, s2) {
  227 + return (s1.realExecDate+s1.dfsj).localeCompare(s2.realExecDate+s2.dfsj);
  228 + }
  229 +
  230 + function distinctByField(arr, f){
  231 + if(!f)
  232 + f = 'value';
  233 + var rs = {};
  234 + $.each(arr, function () {
  235 + rs[this[f]]=this;
  236 + });
  237 + return gb_common.get_vals(rs);
  238 + }
  239 +
  240 + gb_ct_table.fixedHead($('.ct_table_wrap', modal));
  241 +
  242 + //班次点击
  243 + $(modal).on('click contextmenu', '.history-sch-table .ct_table_body dl', function() {
  244 + $(this).parent().find('.active').removeClass('active');
  245 + $(this).addClass('active');
  246 + });
  247 +
  248 + var callbackHandler={
  249 + edit: function(id){
  250 + open_modal('/real_control_v2/fragments/north/nav/history_sch/edit.html', {id: id, parentModal: modal}, {center: false,bgclose: false, modal: false});
  251 + }
  252 + }
  253 +
  254 + //右键菜单
  255 + $.contextMenu({
  256 + selector: modal+' .history-sch-table .ct_table_body dl',
  257 + className: 'schedule-ct-menu',
  258 + callback: function(key, options) {
  259 + var id = $('.context-menu-active', modal).data('id');
  260 + callbackHandler[key] && callbackHandler[key](id);
  261 + },
  262 + items: {
  263 + 'edit': {
  264 + name: '编辑'
  265 + },
  266 + 'child_task':{
  267 + name: '子任务',
  268 + disabled: true
  269 + },
  270 + 'add': {
  271 + name: '新增',
  272 + disabled: true
  273 + },
  274 + 'delete':{
  275 + name: '删除',
  276 + disabled: true
  277 + }
  278 + }
  279 + });
  280 + })();
  281 + </script>
282 </div> 282 </div>
283 \ No newline at end of file 283 \ No newline at end of file