Commit b1583c3e6a4a4cb6451d7a1c01d4ca3d67d727c3

Authored by 徐烜
1 parent e480b016

update

src/main/java/com/bsth/service/schedule/TTInfoDetailServiceImpl.java
@@ -9,6 +9,7 @@ import jxl.Sheet; @@ -9,6 +9,7 @@ import jxl.Sheet;
9 import jxl.Workbook; 9 import jxl.Workbook;
10 import org.apache.commons.lang3.StringUtils; 10 import org.apache.commons.lang3.StringUtils;
11 import org.joda.time.DateTime; 11 import org.joda.time.DateTime;
  12 +import org.pentaho.di.core.logging.LogLevel;
12 import org.pentaho.di.trans.Trans; 13 import org.pentaho.di.trans.Trans;
13 import org.pentaho.di.trans.TransMeta; 14 import org.pentaho.di.trans.TransMeta;
14 import org.springframework.beans.factory.annotation.Autowired; 15 import org.springframework.beans.factory.annotation.Autowired;
@@ -118,6 +119,7 @@ public class TTInfoDetailServiceImpl extends BaseServiceImpl<TTInfoDetail, Long> @@ -118,6 +119,7 @@ public class TTInfoDetailServiceImpl extends BaseServiceImpl<TTInfoDetail, Long>
118 dataToolsProperties.getTtinfodetailForeditktr()).toURI()); 119 dataToolsProperties.getTtinfodetailForeditktr()).toURI());
119 TransMeta transMeta = new TransMeta(ktrFile.getAbsolutePath()); 120 TransMeta transMeta = new TransMeta(ktrFile.getAbsolutePath());
120 Trans trans = new Trans(transMeta); 121 Trans trans = new Trans(transMeta);
  122 + trans.setLogLevel(LogLevel.DEBUG);
121 // 1.2、设定命名参数,TODO:之后还要添加其他命名参数 123 // 1.2、设定命名参数,TODO:之后还要添加其他命名参数
122 String outputFilePath = "ttinfodetail_" + new DateTime().toString("yyyy-MM-dd_HH-mm-ss"); 124 String outputFilePath = "ttinfodetail_" + new DateTime().toString("yyyy-MM-dd_HH-mm-ss");
123 trans.setParameterValue("tempfilepath", dataToolsProperties.getTransTempdir() + File.separator + outputFilePath); // 数据输出文件路径 125 trans.setParameterValue("tempfilepath", dataToolsProperties.getTransTempdir() + File.separator + outputFilePath); // 数据输出文件路径
src/main/java/com/bsth/service/schedule/rules/shiftloop/ScheduleRule_input.java
@@ -40,12 +40,14 @@ public class ScheduleRule_input { @@ -40,12 +40,14 @@ public class ScheduleRule_input {
40 for (String lpId : lpIds) { 40 for (String lpId : lpIds) {
41 this.guideboardIds.add(Long.parseLong(lpId)); 41 this.guideboardIds.add(Long.parseLong(lpId));
42 } 42 }
43 - this.startGbdIndex = scheduleRule1Flat.getLpStart(); 43 + // 路牌初始下标减1
  44 + this.startGbdIndex = scheduleRule1Flat.getLpStart() - 1;
44 List<String> ryCids = Splitter.on(",").splitToList(scheduleRule1Flat.getRyConfigIds()); 45 List<String> ryCids = Splitter.on(",").splitToList(scheduleRule1Flat.getRyConfigIds());
45 for (String ryCid : ryCids) { 46 for (String ryCid : ryCids) {
46 this.employeeConfigIds.add(Long.parseLong(ryCid)); 47 this.employeeConfigIds.add(Long.parseLong(ryCid));
47 } 48 }
48 - this.startEIndex = scheduleRule1Flat.getRyStart(); 49 + // 人员初始索引减1
  50 + this.startEIndex = scheduleRule1Flat.getRyStart() - 1;
49 this.carConfigId = scheduleRule1Flat.getCarConfigInfo().getId(); 51 this.carConfigId = scheduleRule1Flat.getCarConfigInfo().getId();
50 } 52 }
51 53
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&#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;,&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;1,&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;1,&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;2,&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;2,&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;3,&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;3,&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;4,&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;4,&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;5,&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;5,&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;6,&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;6,&#x8fdb;&#x573a;1,&#x51fa;&#x573a;1,&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;7,&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;7,&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;8,&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;8,&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;9,&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;9,&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;10,&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;10,&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;11,&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;11,&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;12,&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;12,&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;13,&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;13 ,&#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&#x2f;bsth_control_etl&#x2f;&#x95f5;&#x884c;&#x516c;&#x4ea4;&#x2f;85&#x8def;0328&#x5e73;&#x8868;-&#x6d4b;&#x8bd5;1-&#x65f6;&#x523b;&#x660e;&#x7ec6;.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&#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;,&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;1,&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;1,&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;2,&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;2,&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;3,&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;3,&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;4,&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;4,&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;5,&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;5,&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;6,&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;6,&#x8fdb;&#x573a;1,&#x51fa;&#x573a;1,&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;7,&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;7,&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;8,&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;8,&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;9,&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;9,&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;10,&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;10,&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;11,&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;11,&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;12,&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;12,&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;13,&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;13 ,&#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>tccname</name>  
39 - <default_value>&#x4e1c;&#x9756;&#x8def;&#x9ad8;&#x884c;&#x505c;&#x8f66;&#x573a;</default_value>  
40 - <description>&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</description>  
41 - </parameter>  
42 - <parameter>  
43 - <name>ttinfoname</name>  
44 - <default_value>85&#x8def;0328&#x5e73;&#x8868;</default_value>  
45 - <description>&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;</description>  
46 - </parameter>  
47 - <parameter>  
48 - <name>xlname</name>  
49 - <default_value>85&#x8def;</default_value>  
50 - <description>&#x7ebf;&#x8def;&#x540d;&#x79f0;</description>  
51 - </parameter>  
52 - </parameters>  
53 - <log>  
54 -<trans-log-table><connection/>  
55 -<schema/>  
56 -<table/>  
57 -<size_limit_lines/>  
58 -<interval/>  
59 -<timeout_days/>  
60 -<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>  
61 -<perf-log-table><connection/>  
62 -<schema/>  
63 -<table/>  
64 -<interval/>  
65 -<timeout_days/>  
66 -<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>  
67 -<channel-log-table><connection/>  
68 -<schema/>  
69 -<table/>  
70 -<timeout_days/>  
71 -<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>  
72 -<step-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>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>  
77 -<metrics-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>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>  
82 - </log>  
83 - <maxdate>  
84 - <connection/>  
85 - <table/>  
86 - <field/>  
87 - <offset>0.0</offset>  
88 - <maxdiff>0.0</maxdiff>  
89 - </maxdate>  
90 - <size_rowset>10000</size_rowset>  
91 - <sleep_time_empty>50</sleep_time_empty>  
92 - <sleep_time_full>50</sleep_time_full>  
93 - <unique_connections>N</unique_connections>  
94 - <feedback_shown>Y</feedback_shown>  
95 - <feedback_size>50000</feedback_size>  
96 - <using_thread_priorities>Y</using_thread_priorities>  
97 - <shared_objects_file/>  
98 - <capture_step_performance>N</capture_step_performance>  
99 - <step_performance_capturing_delay>1000</step_performance_capturing_delay>  
100 - <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit>  
101 - <dependencies>  
102 - </dependencies>  
103 - <partitionschemas>  
104 - </partitionschemas>  
105 - <slaveservers>  
106 - </slaveservers>  
107 - <clusterschemas>  
108 - </clusterschemas>  
109 - <created_user>-</created_user>  
110 - <created_date>2016&#x2f;07&#x2f;01 09&#x3a;55&#x3a;32.649</created_date>  
111 - <modified_user>-</modified_user>  
112 - <modified_date>2016&#x2f;07&#x2f;01 09&#x3a;55&#x3a;32.649</modified_date>  
113 - <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</key_for_session_key>  
114 - <is_key_private>N</is_key_private>  
115 - </info>  
116 - <notepads>  
117 - </notepads>  
118 - <connection>  
119 - <name>bus_control_variable</name>  
120 - <server>&#x24;&#x7b;v_db_ip&#x7d;</server>  
121 - <type>MYSQL</type>  
122 - <access>Native</access>  
123 - <database>control</database>  
124 - <port>3306</port>  
125 - <username>&#x24;&#x7b;v_db_uname&#x7d;</username>  
126 - <password>&#x24;&#x7b;v_db_pwd&#x7d;</password>  
127 - <servername/>  
128 - <data_tablespace/>  
129 - <index_tablespace/>  
130 - <attributes>  
131 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
132 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
133 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
134 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
135 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
136 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
137 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
138 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
139 - <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>  
140 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
141 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
142 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
143 - </attributes>  
144 - </connection>  
145 - <connection>  
146 - <name>bus_control_&#x516c;&#x53f8;_201</name>  
147 - <server>localhost</server>  
148 - <type>MYSQL</type>  
149 - <access>Native</access>  
150 - <database>control</database>  
151 - <port>3306</port>  
152 - <username>root</username>  
153 - <password>Encrypted </password>  
154 - <servername/>  
155 - <data_tablespace/>  
156 - <index_tablespace/>  
157 - <attributes>  
158 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
159 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
160 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
161 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
162 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
163 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
164 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
165 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
166 - <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>  
167 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
168 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
169 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
170 - </attributes>  
171 - </connection>  
172 - <connection>  
173 - <name>bus_control_&#x672c;&#x673a;</name>  
174 - <server>localhost</server>  
175 - <type>MYSQL</type>  
176 - <access>Native</access>  
177 - <database>control</database>  
178 - <port>3306</port>  
179 - <username>root</username>  
180 - <password>Encrypted </password>  
181 - <servername/>  
182 - <data_tablespace/>  
183 - <index_tablespace/>  
184 - <attributes>  
185 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
186 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
187 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
188 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
189 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
190 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
191 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
192 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
193 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
194 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
195 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
196 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
197 - </attributes>  
198 - </connection>  
199 - <connection>  
200 - <name>xlab_mysql_youle</name>  
201 - <server>101.231.124.8</server>  
202 - <type>MYSQL</type>  
203 - <access>Native</access>  
204 - <database>xlab_youle</database>  
205 - <port>45687</port>  
206 - <username>xlab-youle</username>  
207 - <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password>  
208 - <servername/>  
209 - <data_tablespace/>  
210 - <index_tablespace/>  
211 - <attributes>  
212 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
213 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
214 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
215 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
216 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
217 - <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute>  
218 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
219 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
220 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
221 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>  
222 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>  
223 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
224 - </attributes>  
225 - </connection>  
226 - <connection>  
227 - <name>xlab_mysql_youle&#xff08;&#x672c;&#x673a;&#xff09;</name>  
228 - <server>localhost</server>  
229 - <type>MYSQL</type>  
230 - <access>Native</access>  
231 - <database>xlab_youle</database>  
232 - <port>3306</port>  
233 - <username>root</username>  
234 - <password>Encrypted </password>  
235 - <servername/>  
236 - <data_tablespace/>  
237 - <index_tablespace/>  
238 - <attributes>  
239 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
240 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
241 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
242 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
243 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
244 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
245 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
246 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
247 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
248 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>  
249 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>  
250 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
251 - </attributes>  
252 - </connection>  
253 - <connection>  
254 - <name>xlab_youle</name>  
255 - <server/>  
256 - <type>MYSQL</type>  
257 - <access>JNDI</access>  
258 - <database>xlab_youle</database>  
259 - <port>1521</port>  
260 - <username/>  
261 - <password>Encrypted </password>  
262 - <servername/>  
263 - <data_tablespace/>  
264 - <index_tablespace/>  
265 - <attributes>  
266 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
267 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
268 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
269 - <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>  
270 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
271 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
272 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
273 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
274 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
275 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
276 - </attributes>  
277 - </connection>  
278 - <order>  
279 - <hop> <from>&#x83b7;&#x53d6;excel&#x6587;&#x4ef6;&#x540d;</from><to>ETL&#x5143;&#x6570;&#x636e;&#x6ce8;&#x5165;</to><enabled>Y</enabled> </hop>  
280 - <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>  
281 - <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>  
282 - <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>  
283 - <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>  
284 - <hop> <from>&#x9017;&#x53f7;&#x5207;&#x5206;&#x6210;&#x5b57;&#x6bb5;&#x540d; 2</from><to>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>  
285 - <hop> <from>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</from><to>ETL&#x5143;&#x6570;&#x636e;&#x6ce8;&#x5165;</to><enabled>Y</enabled> </hop>  
286 - <hop> <from>&#x83b7;&#x53d6;&#x7ebf;&#x8def;&#x540d;&#x79f0;</from><to>&#x589e;&#x52a0;&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata</to><enabled>Y</enabled> </hop>  
287 - <hop> <from>&#x589e;&#x52a0;&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata</from><to>&#x66ff;&#x6362;&#x7ebf;&#x8def;&#x540d;&#x79f0;</to><enabled>Y</enabled> </hop>  
288 - <hop> <from>&#x66ff;&#x6362;&#x7ebf;&#x8def;&#x540d;&#x79f0;</from><to>&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</to><enabled>Y</enabled> </hop>  
289 - <hop> <from>&#x83b7;&#x53d6;&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;</from><to>&#x589e;&#x52a0;&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata</to><enabled>Y</enabled> </hop>  
290 - <hop> <from>&#x589e;&#x52a0;&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata</from><to>&#x66ff;&#x6362;&#x505c;&#x8f66;&#x5382;&#x540d;&#x5b57; </to><enabled>Y</enabled> </hop>  
291 - <hop> <from>&#x66ff;&#x6362;&#x505c;&#x8f66;&#x5382;&#x540d;&#x5b57; </from><to>&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</to><enabled>Y</enabled> </hop>  
292 - <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>  
293 - <hop> <from>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;metadata</from><to>&#x66ff;&#x6362;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;</to><enabled>Y</enabled> </hop>  
294 - <hop> <from>&#x66ff;&#x6362;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;</from><to>&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</to><enabled>Y</enabled> </hop>  
295 - <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>  
296 - <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>  
297 - <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>  
298 - <hop> <from>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</from><to>ETL&#x5143;&#x6570;&#x636e;&#x6ce8;&#x5165;</to><enabled>Y</enabled> </hop>  
299 - </order>  
300 - <step>  
301 - <name>ETL&#x5143;&#x6570;&#x636e;&#x6ce8;&#x5165;</name>  
302 - <type>MetaInject</type>  
303 - <description/>  
304 - <distribute>Y</distribute>  
305 - <custom_distribution/>  
306 - <copies>1</copies>  
307 - <partitioning>  
308 - <method>none</method>  
309 - <schema_name/>  
310 - </partitioning>  
311 - <specification_method>filename</specification_method>  
312 - <trans_object_id/>  
313 - <trans_name/>  
314 - <filename>&#x24;&#x7b;injectktrfile&#x7d;</filename>  
315 - <directory_path/>  
316 - <source_step/>  
317 - <source_output_fields> </source_output_fields> <target_file/>  
318 - <no_execution>N</no_execution>  
319 - <stream_source_step/>  
320 - <stream_target_step/>  
321 - <mappings> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>  
322 - <target_attribute_key>FORMAT</target_attribute_key>  
323 - <target_detail>Y</target_detail>  
324 - <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>  
325 - <source_field>format</source_field>  
326 - </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>  
327 - <target_attribute_key>REPEAT</target_attribute_key>  
328 - <target_detail>Y</target_detail>  
329 - <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>  
330 - <source_field>repeat</source_field>  
331 - </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>  
332 - <target_attribute_key>TRIM_TYPE</target_attribute_key>  
333 - <target_detail>Y</target_detail>  
334 - <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>  
335 - <source_field>trim_type</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>FILENAME</target_attribute_key>  
338 - <target_detail>Y</target_detail>  
339 - <source_step>&#x83b7;&#x53d6;excel&#x6587;&#x4ef6;&#x540d;</source_step>  
340 - <source_field>filepath_</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>PRECISION</target_attribute_key>  
343 - <target_detail>Y</target_detail>  
344 - <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>  
345 - <source_field>precision</source_field>  
346 - </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>  
347 - <target_attribute_key>TYPE</target_attribute_key>  
348 - <target_detail>Y</target_detail>  
349 - <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>  
350 - <source_field>type</source_field>  
351 - </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>  
352 - <target_attribute_key>DATA_VALUE</target_attribute_key>  
353 - <target_detail>Y</target_detail>  
354 - <source_step>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</source_step>  
355 - <source_field>col_value</source_field>  
356 - </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>  
357 - <target_attribute_key>LENGTH</target_attribute_key>  
358 - <target_detail>Y</target_detail>  
359 - <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>  
360 - <source_field>length</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>TYPE</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_type</source_field>  
366 - </mapping> <mapping> <target_step_name>&#x884c;&#x8f6c;&#x5217;</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; 2</source_step>  
370 - <source_field>fieldName</source_field>  
371 - </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>  
372 - <target_attribute_key>NAME</target_attribute_key>  
373 - <target_detail>Y</target_detail>  
374 - <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>  
375 - <source_field>fieldname</source_field>  
376 - </mapping> <mapping> <target_step_name>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</target_step_name>  
377 - <target_attribute_key>NAME</target_attribute_key>  
378 - <target_detail>Y</target_detail>  
379 - <source_step>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</source_step>  
380 - <source_field>nfieldname</source_field>  
381 - </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>  
382 - <target_attribute_key>LENGTH</target_attribute_key>  
383 - <target_detail>Y</target_detail>  
384 - <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>  
385 - <source_field>length</source_field>  
386 - </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>  
387 - <target_attribute_key>NAME</target_attribute_key>  
388 - <target_detail>Y</target_detail>  
389 - <source_step>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</source_step>  
390 - <source_field>col_name</source_field>  
391 - </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>  
392 - <target_attribute_key>TYPE</target_attribute_key>  
393 - <target_detail>Y</target_detail>  
394 - <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>  
395 - <source_field>fieldtype</source_field>  
396 - </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>  
397 - <target_attribute_key>NAME</target_attribute_key>  
398 - <target_detail>Y</target_detail>  
399 - <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>  
400 - <source_field>fieldName</source_field>  
401 - </mapping> <mapping> <target_step_name>&#x884c;&#x8f6c;&#x5217;</target_step_name>  
402 - <target_attribute_key>VALUE</target_attribute_key>  
403 - <target_detail>Y</target_detail>  
404 - <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c; 2</source_step>  
405 - <source_field>fieldName</source_field>  
406 - </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>  
407 - <target_attribute_key>TRIM_TYPE</target_attribute_key>  
408 - <target_detail>Y</target_detail>  
409 - <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>  
410 - <source_field>trim_type</source_field>  
411 - </mapping> <mapping> <target_step_name>&#x884c;&#x8f6c;&#x5217;</target_step_name>  
412 - <target_attribute_key>NORMALISED</target_attribute_key>  
413 - <target_detail>Y</target_detail>  
414 - <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c; 2</source_step>  
415 - <source_field>value</source_field>  
416 - </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>  
417 - <target_attribute_key>REPEAT</target_attribute_key>  
418 - <target_detail>Y</target_detail>  
419 - <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>  
420 - <source_field>repeat</source_field>  
421 - </mapping> <mapping> <target_step_name>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</target_step_name>  
422 - <target_attribute_key>NORMALISED</target_attribute_key>  
423 - <target_detail>Y</target_detail>  
424 - <source_step>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</source_step>  
425 - <source_field>valuefield</source_field>  
426 - </mapping> <mapping> <target_step_name>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</target_step_name>  
427 - <target_attribute_key>VALUE</target_attribute_key>  
428 - <target_detail>Y</target_detail>  
429 - <source_step>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</source_step>  
430 - <source_field>nfieldname</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>FORMAT</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>format</source_field>  
436 - </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>  
437 - <target_attribute_key>PRECISION</target_attribute_key>  
438 - <target_detail>Y</target_detail>  
439 - <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>  
440 - <source_field>precision</source_field>  
441 - </mapping> </mappings> <cluster_schema/>  
442 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
443 - <xloc>695</xloc>  
444 - <yloc>177</yloc>  
445 - <draw>Y</draw>  
446 - </GUI>  
447 - </step>  
448 -  
449 - <step>  
450 - <name>&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</name>  
451 - <type>SelectValues</type>  
452 - <description/>  
453 - <distribute>Y</distribute>  
454 - <custom_distribution/>  
455 - <copies>1</copies>  
456 - <partitioning>  
457 - <method>none</method>  
458 - <schema_name/>  
459 - </partitioning>  
460 - <fields> <field> <name>col_name</name>  
461 - <rename/>  
462 - <length>-2</length>  
463 - <precision>-2</precision>  
464 - </field> <field> <name>col_type</name>  
465 - <rename/>  
466 - <length>-2</length>  
467 - <precision>-2</precision>  
468 - </field> <field> <name>col_value</name>  
469 - <rename/>  
470 - <length>-2</length>  
471 - <precision>-2</precision>  
472 - </field> <select_unspecified>N</select_unspecified>  
473 - </fields> <cluster_schema/>  
474 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
475 - <xloc>490</xloc>  
476 - <yloc>429</yloc>  
477 - <draw>Y</draw>  
478 - </GUI>  
479 - </step>  
480 -  
481 - <step>  
482 - <name>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</name>  
483 - <type>Dummy</type>  
484 - <description/>  
485 - <distribute>Y</distribute>  
486 - <custom_distribution/>  
487 - <copies>1</copies>  
488 - <partitioning>  
489 - <method>none</method>  
490 - <schema_name/>  
491 - </partitioning>  
492 - <cluster_schema/>  
493 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
494 - <xloc>702</xloc>  
495 - <yloc>383</yloc>  
496 - <draw>Y</draw>  
497 - </GUI>  
498 - </step>  
499 -  
500 - <step>  
501 - <name>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</name>  
502 - <type>Constant</type>  
503 - <description/>  
504 - <distribute>Y</distribute>  
505 - <custom_distribution/>  
506 - <copies>1</copies>  
507 - <partitioning>  
508 - <method>none</method>  
509 - <schema_name/>  
510 - </partitioning>  
511 - <fields>  
512 - <field>  
513 - <name>fieldtype</name>  
514 - <type>String</type>  
515 - <format/>  
516 - <currency/>  
517 - <decimal/>  
518 - <group/>  
519 - <nullif>String</nullif>  
520 - <length>-1</length>  
521 - <precision>-1</precision>  
522 - <set_empty_string>N</set_empty_string>  
523 - </field>  
524 - <field>  
525 - <name>length</name>  
526 - <type>String</type>  
527 - <format/>  
528 - <currency/>  
529 - <decimal/>  
530 - <group/>  
531 - <nullif>-1</nullif>  
532 - <length>-1</length>  
533 - <precision>-1</precision>  
534 - <set_empty_string>N</set_empty_string>  
535 - </field>  
536 - <field>  
537 - <name>precision</name>  
538 - <type>String</type>  
539 - <format/>  
540 - <currency/>  
541 - <decimal/>  
542 - <group/>  
543 - <nullif>-1</nullif>  
544 - <length>-1</length>  
545 - <precision>-1</precision>  
546 - <set_empty_string>N</set_empty_string>  
547 - </field>  
548 - <field>  
549 - <name>trim_type</name>  
550 - <type>String</type>  
551 - <format/>  
552 - <currency/>  
553 - <decimal/>  
554 - <group/>  
555 - <nullif>none</nullif>  
556 - <length>-1</length>  
557 - <precision>-1</precision>  
558 - <set_empty_string>N</set_empty_string>  
559 - </field>  
560 - <field>  
561 - <name>repeat</name>  
562 - <type>String</type>  
563 - <format/>  
564 - <currency/>  
565 - <decimal/>  
566 - <group/>  
567 - <nullif>N</nullif>  
568 - <length>-1</length>  
569 - <precision>-1</precision>  
570 - <set_empty_string>N</set_empty_string>  
571 - </field>  
572 - <field>  
573 - <name>format</name>  
574 - <type>String</type>  
575 - <format/>  
576 - <currency/>  
577 - <decimal/>  
578 - <group/>  
579 - <nullif>&#x23;</nullif>  
580 - <length>-1</length>  
581 - <precision>-1</precision>  
582 - <set_empty_string>N</set_empty_string>  
583 - </field>  
584 - </fields>  
585 - <cluster_schema/>  
586 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
587 - <xloc>441</xloc>  
588 - <yloc>172</yloc>  
589 - <draw>Y</draw>  
590 - </GUI>  
591 - </step>  
592 -  
593 - <step>  
594 - <name>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</name>  
595 - <type>Constant</type>  
596 - <description/>  
597 - <distribute>Y</distribute>  
598 - <custom_distribution/>  
599 - <copies>1</copies>  
600 - <partitioning>  
601 - <method>none</method>  
602 - <schema_name/>  
603 - </partitioning>  
604 - <fields>  
605 - <field>  
606 - <name>valuefield</name>  
607 - <type>String</type>  
608 - <format/>  
609 - <currency/>  
610 - <decimal/>  
611 - <group/>  
612 - <nullif>&#x53d1;&#x8f66;&#x65f6;&#x95f4;</nullif>  
613 - <length>-1</length>  
614 - <precision>-1</precision>  
615 - <set_empty_string>N</set_empty_string>  
616 - </field>  
617 - </fields>  
618 - <cluster_schema/>  
619 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
620 - <xloc>447</xloc>  
621 - <yloc>257</yloc>  
622 - <draw>Y</draw>  
623 - </GUI>  
624 - </step>  
625 -  
626 - <step>  
627 - <name>&#x589e;&#x52a0;&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata</name>  
628 - <type>Constant</type>  
629 - <description/>  
630 - <distribute>Y</distribute>  
631 - <custom_distribution/>  
632 - <copies>1</copies>  
633 - <partitioning>  
634 - <method>none</method>  
635 - <schema_name/>  
636 - </partitioning>  
637 - <fields>  
638 - <field>  
639 - <name>col_name</name>  
640 - <type>String</type>  
641 - <format/>  
642 - <currency/>  
643 - <decimal/>  
644 - <group/>  
645 - <nullif>tccname_</nullif>  
646 - <length>-1</length>  
647 - <precision>-1</precision>  
648 - <set_empty_string>N</set_empty_string>  
649 - </field>  
650 - <field>  
651 - <name>col_type</name>  
652 - <type>String</type>  
653 - <format/>  
654 - <currency/>  
655 - <decimal/>  
656 - <group/>  
657 - <nullif>String</nullif>  
658 - <length>-1</length>  
659 - <precision>-1</precision>  
660 - <set_empty_string>N</set_empty_string>  
661 - </field>  
662 - <field>  
663 - <name>col_value</name>  
664 - <type>String</type>  
665 - <format/>  
666 - <currency/>  
667 - <decimal/>  
668 - <group/>  
669 - <nullif>replace</nullif>  
670 - <length>-1</length>  
671 - <precision>-1</precision>  
672 - <set_empty_string>N</set_empty_string>  
673 - </field>  
674 - </fields>  
675 - <cluster_schema/>  
676 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
677 - <xloc>208</xloc>  
678 - <yloc>428</yloc>  
679 - <draw>Y</draw>  
680 - </GUI>  
681 - </step>  
682 -  
683 - <step>  
684 - <name>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;metadata</name>  
685 - <type>Constant</type>  
686 - <description/>  
687 - <distribute>Y</distribute>  
688 - <custom_distribution/>  
689 - <copies>1</copies>  
690 - <partitioning>  
691 - <method>none</method>  
692 - <schema_name/>  
693 - </partitioning>  
694 - <fields>  
695 - <field>  
696 - <name>col_name</name>  
697 - <type>String</type>  
698 - <format/>  
699 - <currency/>  
700 - <decimal/>  
701 - <group/>  
702 - <nullif>ttinfoname_</nullif>  
703 - <length>-1</length>  
704 - <precision>-1</precision>  
705 - <set_empty_string>N</set_empty_string>  
706 - </field>  
707 - <field>  
708 - <name>col_type</name>  
709 - <type>String</type>  
710 - <format/>  
711 - <currency/>  
712 - <decimal/>  
713 - <group/>  
714 - <nullif>String</nullif>  
715 - <length>-1</length>  
716 - <precision>-1</precision>  
717 - <set_empty_string>N</set_empty_string>  
718 - </field>  
719 - <field>  
720 - <name>col_value</name>  
721 - <type>String</type>  
722 - <format/>  
723 - <currency/>  
724 - <decimal/>  
725 - <group/>  
726 - <nullif>replace</nullif>  
727 - <length>-1</length>  
728 - <precision>-1</precision>  
729 - <set_empty_string>N</set_empty_string>  
730 - </field>  
731 - </fields>  
732 - <cluster_schema/>  
733 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
734 - <xloc>216</xloc>  
735 - <yloc>508</yloc>  
736 - <draw>Y</draw>  
737 - </GUI>  
738 - </step>  
739 -  
740 - <step>  
741 - <name>&#x589e;&#x52a0;&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata</name>  
742 - <type>Constant</type>  
743 - <description/>  
744 - <distribute>Y</distribute>  
745 - <custom_distribution/>  
746 - <copies>1</copies>  
747 - <partitioning>  
748 - <method>none</method>  
749 - <schema_name/>  
750 - </partitioning>  
751 - <fields>  
752 - <field>  
753 - <name>col_name</name>  
754 - <type>String</type>  
755 - <format/>  
756 - <currency/>  
757 - <decimal/>  
758 - <group/>  
759 - <nullif>xlname_</nullif>  
760 - <length>-1</length>  
761 - <precision>-1</precision>  
762 - <set_empty_string>N</set_empty_string>  
763 - </field>  
764 - <field>  
765 - <name>col_type</name>  
766 - <type>String</type>  
767 - <format/>  
768 - <currency/>  
769 - <decimal/>  
770 - <group/>  
771 - <nullif>String</nullif>  
772 - <length>-1</length>  
773 - <precision>-1</precision>  
774 - <set_empty_string>N</set_empty_string>  
775 - </field>  
776 - <field>  
777 - <name>col_value</name>  
778 - <type>String</type>  
779 - <format/>  
780 - <currency/>  
781 - <decimal/>  
782 - <group/>  
783 - <nullif>replace</nullif>  
784 - <length>-1</length>  
785 - <precision>-1</precision>  
786 - <set_empty_string>N</set_empty_string>  
787 - </field>  
788 - </fields>  
789 - <cluster_schema/>  
790 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
791 - <xloc>202</xloc>  
792 - <yloc>351</yloc>  
793 - <draw>Y</draw>  
794 - </GUI>  
795 - </step>  
796 -  
797 - <step>  
798 - <name>&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</name>  
799 - <type>SelectValues</type>  
800 - <description/>  
801 - <distribute>Y</distribute>  
802 - <custom_distribution/>  
803 - <copies>1</copies>  
804 - <partitioning>  
805 - <method>none</method>  
806 - <schema_name/>  
807 - </partitioning>  
808 - <fields> <field> <name>col_name</name>  
809 - <rename/>  
810 - <length>-2</length>  
811 - <precision>-2</precision>  
812 - </field> <field> <name>col_type</name>  
813 - <rename/>  
814 - <length>-2</length>  
815 - <precision>-2</precision>  
816 - </field> <field> <name>col_value</name>  
817 - <rename/>  
818 - <length>-2</length>  
819 - <precision>-2</precision>  
820 - </field> <select_unspecified>N</select_unspecified>  
821 - </fields> <cluster_schema/>  
822 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
823 - <xloc>496</xloc>  
824 - <yloc>508</yloc>  
825 - <draw>Y</draw>  
826 - </GUI>  
827 - </step>  
828 -  
829 - <step>  
830 - <name>&#x66ff;&#x6362;&#x505c;&#x8f66;&#x5382;&#x540d;&#x5b57; </name>  
831 - <type>SetValueField</type>  
832 - <description/>  
833 - <distribute>Y</distribute>  
834 - <custom_distribution/>  
835 - <copies>1</copies>  
836 - <partitioning>  
837 - <method>none</method>  
838 - <schema_name/>  
839 - </partitioning>  
840 - <fields>  
841 - <field>  
842 - <name>col_value</name>  
843 - <replaceby>tccname_</replaceby>  
844 - </field>  
845 - </fields>  
846 - <cluster_schema/>  
847 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
848 - <xloc>345</xloc>  
849 - <yloc>430</yloc>  
850 - <draw>Y</draw>  
851 - </GUI>  
852 - </step>  
853 -  
854 - <step>  
855 - <name>&#x66ff;&#x6362;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;</name>  
856 - <type>SetValueField</type>  
857 - <description/>  
858 - <distribute>Y</distribute>  
859 - <custom_distribution/>  
860 - <copies>1</copies>  
861 - <partitioning>  
862 - <method>none</method>  
863 - <schema_name/>  
864 - </partitioning>  
865 - <fields>  
866 - <field>  
867 - <name>col_value</name>  
868 - <replaceby>ttinfoname_</replaceby>  
869 - </field>  
870 - </fields>  
871 - <cluster_schema/>  
872 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
873 - <xloc>354</xloc>  
874 - <yloc>509</yloc>  
875 - <draw>Y</draw>  
876 - </GUI>  
877 - </step>  
878 -  
879 - <step>  
880 - <name>&#x66ff;&#x6362;&#x7ebf;&#x8def;&#x540d;&#x79f0;</name>  
881 - <type>SetValueField</type>  
882 - <description/>  
883 - <distribute>Y</distribute>  
884 - <custom_distribution/>  
885 - <copies>1</copies>  
886 - <partitioning>  
887 - <method>none</method>  
888 - <schema_name/>  
889 - </partitioning>  
890 - <fields>  
891 - <field>  
892 - <name>col_value</name>  
893 - <replaceby>xlname_</replaceby>  
894 - </field>  
895 - </fields>  
896 - <cluster_schema/>  
897 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
898 - <xloc>340</xloc>  
899 - <yloc>352</yloc>  
900 - <draw>Y</draw>  
901 - </GUI>  
902 - </step>  
903 -  
904 - <step>  
905 - <name>&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</name>  
906 - <type>SelectValues</type>  
907 - <description/>  
908 - <distribute>Y</distribute>  
909 - <custom_distribution/>  
910 - <copies>1</copies>  
911 - <partitioning>  
912 - <method>none</method>  
913 - <schema_name/>  
914 - </partitioning>  
915 - <fields> <field> <name>col_name</name>  
916 - <rename/>  
917 - <length>-2</length>  
918 - <precision>-2</precision>  
919 - </field> <field> <name>col_type</name>  
920 - <rename/>  
921 - <length>-2</length>  
922 - <precision>-2</precision>  
923 - </field> <field> <name>col_value</name>  
924 - <rename/>  
925 - <length>-2</length>  
926 - <precision>-2</precision>  
927 - </field> <select_unspecified>N</select_unspecified>  
928 - </fields> <cluster_schema/>  
929 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
930 - <xloc>487</xloc>  
931 - <yloc>353</yloc>  
932 - <draw>Y</draw>  
933 - </GUI>  
934 - </step>  
935 -  
936 - <step>  
937 - <name>&#x83b7;&#x53d6;excel&#x5b57;&#x6bb5;&#x540d;&#x5b57;&#x7b26;&#x4e32;</name>  
938 - <type>GetVariable</type>  
939 - <description/>  
940 - <distribute>Y</distribute>  
941 - <custom_distribution/>  
942 - <copies>1</copies>  
943 - <partitioning>  
944 - <method>none</method>  
945 - <schema_name/>  
946 - </partitioning>  
947 - <fields>  
948 - <field>  
949 - <name>fieldnames</name>  
950 - <variable>&#x24;&#x7b;excelfieldnames&#x7d;</variable>  
951 - <type>String</type>  
952 - <format/>  
953 - <currency/>  
954 - <decimal/>  
955 - <group/>  
956 - <length>-1</length>  
957 - <precision>-1</precision>  
958 - <trim_type>none</trim_type>  
959 - </field>  
960 - </fields>  
961 - <cluster_schema/>  
962 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
963 - <xloc>71</xloc>  
964 - <yloc>163</yloc>  
965 - <draw>Y</draw>  
966 - </GUI>  
967 - </step>  
968 -  
969 - <step>  
970 - <name>&#x83b7;&#x53d6;excel&#x6587;&#x4ef6;&#x540d;</name>  
971 - <type>GetVariable</type>  
972 - <description/>  
973 - <distribute>Y</distribute>  
974 - <custom_distribution/>  
975 - <copies>1</copies>  
976 - <partitioning>  
977 - <method>none</method>  
978 - <schema_name/>  
979 - </partitioning>  
980 - <fields>  
981 - <field>  
982 - <name>filepath_</name>  
983 - <variable>&#x24;&#x7b;filepath&#x7d;</variable>  
984 - <type>String</type>  
985 - <format/>  
986 - <currency/>  
987 - <decimal/>  
988 - <group/>  
989 - <length>-1</length>  
990 - <precision>-1</precision>  
991 - <trim_type>none</trim_type>  
992 - </field>  
993 - <field>  
994 - <name>erroroutputdir_</name>  
995 - <variable>&#x24;&#x7b;erroroutputdir&#x7d;</variable>  
996 - <type>String</type>  
997 - <format/>  
998 - <currency/>  
999 - <decimal/>  
1000 - <group/>  
1001 - <length>-1</length>  
1002 - <precision>-1</precision>  
1003 - <trim_type>none</trim_type>  
1004 - </field>  
1005 - </fields>  
1006 - <cluster_schema/>  
1007 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1008 - <xloc>73</xloc>  
1009 - <yloc>50</yloc>  
1010 - <draw>Y</draw>  
1011 - </GUI>  
1012 - </step>  
1013 -  
1014 - <step>  
1015 - <name>&#x83b7;&#x53d6;normalize&#x5b57;&#x6bb5;&#x540d;&#x5b57;&#x7b26;&#x4e32;</name>  
1016 - <type>GetVariable</type>  
1017 - <description/>  
1018 - <distribute>Y</distribute>  
1019 - <custom_distribution/>  
1020 - <copies>1</copies>  
1021 - <partitioning>  
1022 - <method>none</method>  
1023 - <schema_name/>  
1024 - </partitioning>  
1025 - <fields>  
1026 - <field>  
1027 - <name>normalizefieldnames_</name>  
1028 - <variable>&#x24;&#x7b;normalizefieldnames&#x7d;</variable>  
1029 - <type>String</type>  
1030 - <format/>  
1031 - <currency/>  
1032 - <decimal/>  
1033 - <group/>  
1034 - <length>-1</length>  
1035 - <precision>-1</precision>  
1036 - <trim_type>none</trim_type>  
1037 - </field>  
1038 - </fields>  
1039 - <cluster_schema/>  
1040 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1041 - <xloc>80</xloc>  
1042 - <yloc>261</yloc>  
1043 - <draw>Y</draw>  
1044 - </GUI>  
1045 - </step>  
1046 -  
1047 - <step>  
1048 - <name>&#x83b7;&#x53d6;&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;</name>  
1049 - <type>GetVariable</type>  
1050 - <description/>  
1051 - <distribute>Y</distribute>  
1052 - <custom_distribution/>  
1053 - <copies>1</copies>  
1054 - <partitioning>  
1055 - <method>none</method>  
1056 - <schema_name/>  
1057 - </partitioning>  
1058 - <fields>  
1059 - <field>  
1060 - <name>tccname_</name>  
1061 - <variable>&#x24;&#x7b;tccname&#x7d;</variable>  
1062 - <type>String</type>  
1063 - <format/>  
1064 - <currency/>  
1065 - <decimal/>  
1066 - <group/>  
1067 - <length>-1</length>  
1068 - <precision>-1</precision>  
1069 - <trim_type>none</trim_type>  
1070 - </field>  
1071 - </fields>  
1072 - <cluster_schema/>  
1073 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1074 - <xloc>80</xloc>  
1075 - <yloc>430</yloc>  
1076 - <draw>Y</draw>  
1077 - </GUI>  
1078 - </step>  
1079 -  
1080 - <step>  
1081 - <name>&#x83b7;&#x53d6;&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;&#x540d;&#x79f0;</name>  
1082 - <type>GetVariable</type>  
1083 - <description/>  
1084 - <distribute>Y</distribute>  
1085 - <custom_distribution/>  
1086 - <copies>1</copies>  
1087 - <partitioning>  
1088 - <method>none</method>  
1089 - <schema_name/>  
1090 - </partitioning>  
1091 - <fields>  
1092 - <field>  
1093 - <name>ttinfoname_</name>  
1094 - <variable>&#x24;&#x7b;ttinfoname&#x7d;</variable>  
1095 - <type>String</type>  
1096 - <format/>  
1097 - <currency/>  
1098 - <decimal/>  
1099 - <group/>  
1100 - <length>-1</length>  
1101 - <precision>-1</precision>  
1102 - <trim_type>none</trim_type>  
1103 - </field>  
1104 - </fields>  
1105 - <cluster_schema/>  
1106 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1107 - <xloc>82</xloc>  
1108 - <yloc>508</yloc>  
1109 - <draw>Y</draw>  
1110 - </GUI>  
1111 - </step>  
1112 -  
1113 - <step>  
1114 - <name>&#x83b7;&#x53d6;&#x7ebf;&#x8def;&#x540d;&#x79f0;</name>  
1115 - <type>GetVariable</type>  
1116 - <description/>  
1117 - <distribute>Y</distribute>  
1118 - <custom_distribution/>  
1119 - <copies>1</copies>  
1120 - <partitioning>  
1121 - <method>none</method>  
1122 - <schema_name/>  
1123 - </partitioning>  
1124 - <fields>  
1125 - <field>  
1126 - <name>xlname_</name>  
1127 - <variable>&#x24;&#x7b;xlname&#x7d;</variable>  
1128 - <type>String</type>  
1129 - <format/>  
1130 - <currency/>  
1131 - <decimal/>  
1132 - <group/>  
1133 - <length>-1</length>  
1134 - <precision>-1</precision>  
1135 - <trim_type>none</trim_type>  
1136 - </field>  
1137 - </fields>  
1138 - <cluster_schema/>  
1139 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1140 - <xloc>78</xloc>  
1141 - <yloc>351</yloc>  
1142 - <draw>Y</draw>  
1143 - </GUI>  
1144 - </step>  
1145 -  
1146 - <step>  
1147 - <name>&#x9017;&#x53f7;&#x5207;&#x5206;&#x6210;&#x5b57;&#x6bb5;&#x540d;</name>  
1148 - <type>SplitFieldToRows3</type>  
1149 - <description/>  
1150 - <distribute>Y</distribute>  
1151 - <custom_distribution/>  
1152 - <copies>1</copies>  
1153 - <partitioning>  
1154 - <method>none</method>  
1155 - <schema_name/>  
1156 - </partitioning>  
1157 - <splitfield>fieldnames</splitfield>  
1158 - <delimiter>,</delimiter>  
1159 - <newfield>fieldname</newfield>  
1160 - <rownum>N</rownum>  
1161 - <rownum_field/>  
1162 - <resetrownumber>Y</resetrownumber>  
1163 - <delimiter_is_regex>N</delimiter_is_regex>  
1164 - <cluster_schema/>  
1165 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1166 - <xloc>261</xloc>  
1167 - <yloc>163</yloc>  
1168 - <draw>Y</draw>  
1169 - </GUI>  
1170 - </step>  
1171 -  
1172 - <step>  
1173 - <name>&#x9017;&#x53f7;&#x5207;&#x5206;&#x6210;&#x5b57;&#x6bb5;&#x540d; 2</name>  
1174 - <type>SplitFieldToRows3</type>  
1175 - <description/>  
1176 - <distribute>Y</distribute>  
1177 - <custom_distribution/>  
1178 - <copies>1</copies>  
1179 - <partitioning>  
1180 - <method>none</method>  
1181 - <schema_name/>  
1182 - </partitioning>  
1183 - <splitfield>normalizefieldnames_</splitfield>  
1184 - <delimiter>,</delimiter>  
1185 - <newfield>nfieldname</newfield>  
1186 - <rownum>N</rownum>  
1187 - <rownum_field/>  
1188 - <resetrownumber>Y</resetrownumber>  
1189 - <delimiter_is_regex>N</delimiter_is_regex>  
1190 - <cluster_schema/>  
1191 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1192 - <xloc>263</xloc>  
1193 - <yloc>257</yloc>  
1194 - <draw>Y</draw>  
1195 - </GUI>  
1196 - </step>  
1197 -  
1198 - <step_error_handling>  
1199 - </step_error_handling>  
1200 - <slave-step-copy-partition-distribution>  
1201 -</slave-step-copy-partition-distribution>  
1202 - <slave_transformation>N</slave_transformation>  
1203 -  
1204 -</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&#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&#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&#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>tccname</name>
  39 + <default_value>&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;&#x505c;&#x8f66;&#x573a;</default_value>
  40 + <description>&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</description>
  41 + </parameter>
  42 + <parameter>
  43 + <name>ttinfoname</name>
  44 + <default_value>&#x8868;2</default_value>
  45 + <description>&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;</description>
  46 + </parameter>
  47 + <parameter>
  48 + <name>xlname</name>
  49 + <default_value>&#x95f5;&#x884c;26&#x8def;</default_value>
  50 + <description>&#x7ebf;&#x8def;&#x540d;&#x79f0;</description>
  51 + </parameter>
  52 + </parameters>
  53 + <log>
  54 +<trans-log-table><connection/>
  55 +<schema/>
  56 +<table/>
  57 +<size_limit_lines/>
  58 +<interval/>
  59 +<timeout_days/>
  60 +<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>
  61 +<perf-log-table><connection/>
  62 +<schema/>
  63 +<table/>
  64 +<interval/>
  65 +<timeout_days/>
  66 +<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>
  67 +<channel-log-table><connection/>
  68 +<schema/>
  69 +<table/>
  70 +<timeout_days/>
  71 +<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>
  72 +<step-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>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>
  77 +<metrics-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>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>
  82 + </log>
  83 + <maxdate>
  84 + <connection/>
  85 + <table/>
  86 + <field/>
  87 + <offset>0.0</offset>
  88 + <maxdiff>0.0</maxdiff>
  89 + </maxdate>
  90 + <size_rowset>10000</size_rowset>
  91 + <sleep_time_empty>50</sleep_time_empty>
  92 + <sleep_time_full>50</sleep_time_full>
  93 + <unique_connections>N</unique_connections>
  94 + <feedback_shown>Y</feedback_shown>
  95 + <feedback_size>50000</feedback_size>
  96 + <using_thread_priorities>Y</using_thread_priorities>
  97 + <shared_objects_file/>
  98 + <capture_step_performance>N</capture_step_performance>
  99 + <step_performance_capturing_delay>1000</step_performance_capturing_delay>
  100 + <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit>
  101 + <dependencies>
  102 + </dependencies>
  103 + <partitionschemas>
  104 + </partitionschemas>
  105 + <slaveservers>
  106 + </slaveservers>
  107 + <clusterschemas>
  108 + </clusterschemas>
  109 + <created_user>-</created_user>
  110 + <created_date>2016&#x2f;07&#x2f;01 09&#x3a;55&#x3a;32.649</created_date>
  111 + <modified_user>-</modified_user>
  112 + <modified_date>2016&#x2f;07&#x2f;01 09&#x3a;55&#x3a;32.649</modified_date>
  113 + <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</key_for_session_key>
  114 + <is_key_private>N</is_key_private>
  115 + </info>
  116 + <notepads>
  117 + </notepads>
  118 + <connection>
  119 + <name>bus_control_variable</name>
  120 + <server>&#x24;&#x7b;v_db_ip&#x7d;</server>
  121 + <type>MYSQL</type>
  122 + <access>Native</access>
  123 + <database>control</database>
  124 + <port>3306</port>
  125 + <username>&#x24;&#x7b;v_db_uname&#x7d;</username>
  126 + <password>&#x24;&#x7b;v_db_pwd&#x7d;</password>
  127 + <servername/>
  128 + <data_tablespace/>
  129 + <index_tablespace/>
  130 + <attributes>
  131 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  132 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  133 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  134 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  135 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  136 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  137 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  138 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  139 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  140 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  141 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  142 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  143 + </attributes>
  144 + </connection>
  145 + <connection>
  146 + <name>bus_control_&#x516c;&#x53f8;_201</name>
  147 + <server>localhost</server>
  148 + <type>MYSQL</type>
  149 + <access>Native</access>
  150 + <database>control</database>
  151 + <port>3306</port>
  152 + <username>root</username>
  153 + <password>Encrypted </password>
  154 + <servername/>
  155 + <data_tablespace/>
  156 + <index_tablespace/>
  157 + <attributes>
  158 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  159 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  160 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  161 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  162 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  163 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  164 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  165 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  166 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  167 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  168 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  169 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  170 + </attributes>
  171 + </connection>
  172 + <connection>
  173 + <name>bus_control_&#x672c;&#x673a;</name>
  174 + <server>localhost</server>
  175 + <type>MYSQL</type>
  176 + <access>Native</access>
  177 + <database>control</database>
  178 + <port>3306</port>
  179 + <username>root</username>
  180 + <password>Encrypted </password>
  181 + <servername/>
  182 + <data_tablespace/>
  183 + <index_tablespace/>
  184 + <attributes>
  185 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  186 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  187 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  188 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  189 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  190 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  191 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  192 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  193 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  194 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  195 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  196 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  197 + </attributes>
  198 + </connection>
  199 + <connection>
  200 + <name>xlab_mysql_youle</name>
  201 + <server>101.231.124.8</server>
  202 + <type>MYSQL</type>
  203 + <access>Native</access>
  204 + <database>xlab_youle</database>
  205 + <port>45687</port>
  206 + <username>xlab-youle</username>
  207 + <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password>
  208 + <servername/>
  209 + <data_tablespace/>
  210 + <index_tablespace/>
  211 + <attributes>
  212 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  213 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  214 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  215 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  216 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  217 + <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute>
  218 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  219 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  220 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  221 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  222 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  223 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  224 + </attributes>
  225 + </connection>
  226 + <connection>
  227 + <name>xlab_mysql_youle&#xff08;&#x672c;&#x673a;&#xff09;</name>
  228 + <server>localhost</server>
  229 + <type>MYSQL</type>
  230 + <access>Native</access>
  231 + <database>xlab_youle</database>
  232 + <port>3306</port>
  233 + <username>root</username>
  234 + <password>Encrypted </password>
  235 + <servername/>
  236 + <data_tablespace/>
  237 + <index_tablespace/>
  238 + <attributes>
  239 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  240 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  241 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  242 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  243 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  244 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  245 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  246 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  247 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  248 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  249 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  250 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  251 + </attributes>
  252 + </connection>
  253 + <connection>
  254 + <name>xlab_youle</name>
  255 + <server/>
  256 + <type>MYSQL</type>
  257 + <access>JNDI</access>
  258 + <database>xlab_youle</database>
  259 + <port>1521</port>
  260 + <username/>
  261 + <password>Encrypted </password>
  262 + <servername/>
  263 + <data_tablespace/>
  264 + <index_tablespace/>
  265 + <attributes>
  266 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  267 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  268 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  269 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  270 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  271 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  272 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  273 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  274 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  275 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  276 + </attributes>
  277 + </connection>
  278 + <order>
  279 + <hop> <from>&#x83b7;&#x53d6;excel&#x6587;&#x4ef6;&#x540d;</from><to>ETL&#x5143;&#x6570;&#x636e;&#x6ce8;&#x5165;</to><enabled>Y</enabled> </hop>
  280 + <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>
  281 + <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>
  282 + <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>
  283 + <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>
  284 + <hop> <from>&#x9017;&#x53f7;&#x5207;&#x5206;&#x6210;&#x5b57;&#x6bb5;&#x540d; 2</from><to>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
  285 + <hop> <from>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</from><to>ETL&#x5143;&#x6570;&#x636e;&#x6ce8;&#x5165;</to><enabled>Y</enabled> </hop>
  286 + <hop> <from>&#x83b7;&#x53d6;&#x7ebf;&#x8def;&#x540d;&#x79f0;</from><to>&#x589e;&#x52a0;&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata</to><enabled>Y</enabled> </hop>
  287 + <hop> <from>&#x589e;&#x52a0;&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata</from><to>&#x66ff;&#x6362;&#x7ebf;&#x8def;&#x540d;&#x79f0;</to><enabled>Y</enabled> </hop>
  288 + <hop> <from>&#x66ff;&#x6362;&#x7ebf;&#x8def;&#x540d;&#x79f0;</from><to>&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</to><enabled>Y</enabled> </hop>
  289 + <hop> <from>&#x83b7;&#x53d6;&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;</from><to>&#x589e;&#x52a0;&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata</to><enabled>Y</enabled> </hop>
  290 + <hop> <from>&#x589e;&#x52a0;&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata</from><to>&#x66ff;&#x6362;&#x505c;&#x8f66;&#x5382;&#x540d;&#x5b57; </to><enabled>Y</enabled> </hop>
  291 + <hop> <from>&#x66ff;&#x6362;&#x505c;&#x8f66;&#x5382;&#x540d;&#x5b57; </from><to>&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</to><enabled>Y</enabled> </hop>
  292 + <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>
  293 + <hop> <from>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;metadata</from><to>&#x66ff;&#x6362;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;</to><enabled>Y</enabled> </hop>
  294 + <hop> <from>&#x66ff;&#x6362;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;</from><to>&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</to><enabled>Y</enabled> </hop>
  295 + <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>
  296 + <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>
  297 + <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>
  298 + <hop> <from>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</from><to>ETL&#x5143;&#x6570;&#x636e;&#x6ce8;&#x5165;</to><enabled>Y</enabled> </hop>
  299 + </order>
  300 + <step>
  301 + <name>ETL&#x5143;&#x6570;&#x636e;&#x6ce8;&#x5165;</name>
  302 + <type>MetaInject</type>
  303 + <description/>
  304 + <distribute>Y</distribute>
  305 + <custom_distribution/>
  306 + <copies>1</copies>
  307 + <partitioning>
  308 + <method>none</method>
  309 + <schema_name/>
  310 + </partitioning>
  311 + <specification_method>filename</specification_method>
  312 + <trans_object_id/>
  313 + <trans_name/>
  314 + <filename>&#x24;&#x7b;injectktrfile&#x7d;</filename>
  315 + <directory_path/>
  316 + <source_step/>
  317 + <source_output_fields> </source_output_fields> <target_file/>
  318 + <no_execution>N</no_execution>
  319 + <stream_source_step/>
  320 + <stream_target_step/>
  321 + <mappings> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>
  322 + <target_attribute_key>FORMAT</target_attribute_key>
  323 + <target_detail>Y</target_detail>
  324 + <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>
  325 + <source_field>format</source_field>
  326 + </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>
  327 + <target_attribute_key>REPEAT</target_attribute_key>
  328 + <target_detail>Y</target_detail>
  329 + <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>
  330 + <source_field>repeat</source_field>
  331 + </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>
  332 + <target_attribute_key>TRIM_TYPE</target_attribute_key>
  333 + <target_detail>Y</target_detail>
  334 + <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>
  335 + <source_field>trim_type</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>FILENAME</target_attribute_key>
  338 + <target_detail>Y</target_detail>
  339 + <source_step>&#x83b7;&#x53d6;excel&#x6587;&#x4ef6;&#x540d;</source_step>
  340 + <source_field>filepath_</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>PRECISION</target_attribute_key>
  343 + <target_detail>Y</target_detail>
  344 + <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>
  345 + <source_field>precision</source_field>
  346 + </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>
  347 + <target_attribute_key>TYPE</target_attribute_key>
  348 + <target_detail>Y</target_detail>
  349 + <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>
  350 + <source_field>type</source_field>
  351 + </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>
  352 + <target_attribute_key>DATA_VALUE</target_attribute_key>
  353 + <target_detail>Y</target_detail>
  354 + <source_step>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</source_step>
  355 + <source_field>col_value</source_field>
  356 + </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>
  357 + <target_attribute_key>LENGTH</target_attribute_key>
  358 + <target_detail>Y</target_detail>
  359 + <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>
  360 + <source_field>length</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>TYPE</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_type</source_field>
  366 + </mapping> <mapping> <target_step_name>&#x884c;&#x8f6c;&#x5217;</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; 2</source_step>
  370 + <source_field>fieldName</source_field>
  371 + </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>
  372 + <target_attribute_key>NAME</target_attribute_key>
  373 + <target_detail>Y</target_detail>
  374 + <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>
  375 + <source_field>fieldname</source_field>
  376 + </mapping> <mapping> <target_step_name>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</target_step_name>
  377 + <target_attribute_key>NAME</target_attribute_key>
  378 + <target_detail>Y</target_detail>
  379 + <source_step>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</source_step>
  380 + <source_field>nfieldname</source_field>
  381 + </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>
  382 + <target_attribute_key>LENGTH</target_attribute_key>
  383 + <target_detail>Y</target_detail>
  384 + <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>
  385 + <source_field>length</source_field>
  386 + </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>
  387 + <target_attribute_key>NAME</target_attribute_key>
  388 + <target_detail>Y</target_detail>
  389 + <source_step>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</source_step>
  390 + <source_field>col_name</source_field>
  391 + </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>
  392 + <target_attribute_key>TYPE</target_attribute_key>
  393 + <target_detail>Y</target_detail>
  394 + <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>
  395 + <source_field>fieldtype</source_field>
  396 + </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>
  397 + <target_attribute_key>NAME</target_attribute_key>
  398 + <target_detail>Y</target_detail>
  399 + <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>
  400 + <source_field>fieldName</source_field>
  401 + </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>
  402 + <target_attribute_key>TRIM_TYPE</target_attribute_key>
  403 + <target_detail>Y</target_detail>
  404 + <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>
  405 + <source_field>trim_type</source_field>
  406 + </mapping> <mapping> <target_step_name>&#x884c;&#x8f6c;&#x5217;</target_step_name>
  407 + <target_attribute_key>VALUE</target_attribute_key>
  408 + <target_detail>Y</target_detail>
  409 + <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c; 2</source_step>
  410 + <source_field>fieldName</source_field>
  411 + </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>
  412 + <target_attribute_key>REPEAT</target_attribute_key>
  413 + <target_detail>Y</target_detail>
  414 + <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>
  415 + <source_field>repeat</source_field>
  416 + </mapping> <mapping> <target_step_name>&#x884c;&#x8f6c;&#x5217;</target_step_name>
  417 + <target_attribute_key>NORMALISED</target_attribute_key>
  418 + <target_detail>Y</target_detail>
  419 + <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c; 2</source_step>
  420 + <source_field>value</source_field>
  421 + </mapping> <mapping> <target_step_name>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</target_step_name>
  422 + <target_attribute_key>NORMALISED</target_attribute_key>
  423 + <target_detail>Y</target_detail>
  424 + <source_step>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</source_step>
  425 + <source_field>valuefield</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>FORMAT</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>format</source_field>
  431 + </mapping> <mapping> <target_step_name>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</target_step_name>
  432 + <target_attribute_key>VALUE</target_attribute_key>
  433 + <target_detail>Y</target_detail>
  434 + <source_step>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</source_step>
  435 + <source_field>nfieldname</source_field>
  436 + </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>
  437 + <target_attribute_key>PRECISION</target_attribute_key>
  438 + <target_detail>Y</target_detail>
  439 + <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>
  440 + <source_field>precision</source_field>
  441 + </mapping> </mappings> <cluster_schema/>
  442 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  443 + <xloc>695</xloc>
  444 + <yloc>177</yloc>
  445 + <draw>Y</draw>
  446 + </GUI>
  447 + </step>
  448 +
  449 + <step>
  450 + <name>&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</name>
  451 + <type>SelectValues</type>
  452 + <description/>
  453 + <distribute>Y</distribute>
  454 + <custom_distribution/>
  455 + <copies>1</copies>
  456 + <partitioning>
  457 + <method>none</method>
  458 + <schema_name/>
  459 + </partitioning>
  460 + <fields> <field> <name>col_name</name>
  461 + <rename/>
  462 + <length>-2</length>
  463 + <precision>-2</precision>
  464 + </field> <field> <name>col_type</name>
  465 + <rename/>
  466 + <length>-2</length>
  467 + <precision>-2</precision>
  468 + </field> <field> <name>col_value</name>
  469 + <rename/>
  470 + <length>-2</length>
  471 + <precision>-2</precision>
  472 + </field> <select_unspecified>N</select_unspecified>
  473 + </fields> <cluster_schema/>
  474 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  475 + <xloc>490</xloc>
  476 + <yloc>429</yloc>
  477 + <draw>Y</draw>
  478 + </GUI>
  479 + </step>
  480 +
  481 + <step>
  482 + <name>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</name>
  483 + <type>Dummy</type>
  484 + <description/>
  485 + <distribute>Y</distribute>
  486 + <custom_distribution/>
  487 + <copies>1</copies>
  488 + <partitioning>
  489 + <method>none</method>
  490 + <schema_name/>
  491 + </partitioning>
  492 + <cluster_schema/>
  493 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  494 + <xloc>702</xloc>
  495 + <yloc>383</yloc>
  496 + <draw>Y</draw>
  497 + </GUI>
  498 + </step>
  499 +
  500 + <step>
  501 + <name>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</name>
  502 + <type>Constant</type>
  503 + <description/>
  504 + <distribute>Y</distribute>
  505 + <custom_distribution/>
  506 + <copies>1</copies>
  507 + <partitioning>
  508 + <method>none</method>
  509 + <schema_name/>
  510 + </partitioning>
  511 + <fields>
  512 + <field>
  513 + <name>fieldtype</name>
  514 + <type>String</type>
  515 + <format/>
  516 + <currency/>
  517 + <decimal/>
  518 + <group/>
  519 + <nullif>String</nullif>
  520 + <length>-1</length>
  521 + <precision>-1</precision>
  522 + <set_empty_string>N</set_empty_string>
  523 + </field>
  524 + <field>
  525 + <name>length</name>
  526 + <type>String</type>
  527 + <format/>
  528 + <currency/>
  529 + <decimal/>
  530 + <group/>
  531 + <nullif>-1</nullif>
  532 + <length>-1</length>
  533 + <precision>-1</precision>
  534 + <set_empty_string>N</set_empty_string>
  535 + </field>
  536 + <field>
  537 + <name>precision</name>
  538 + <type>String</type>
  539 + <format/>
  540 + <currency/>
  541 + <decimal/>
  542 + <group/>
  543 + <nullif>-1</nullif>
  544 + <length>-1</length>
  545 + <precision>-1</precision>
  546 + <set_empty_string>N</set_empty_string>
  547 + </field>
  548 + <field>
  549 + <name>trim_type</name>
  550 + <type>String</type>
  551 + <format/>
  552 + <currency/>
  553 + <decimal/>
  554 + <group/>
  555 + <nullif>none</nullif>
  556 + <length>-1</length>
  557 + <precision>-1</precision>
  558 + <set_empty_string>N</set_empty_string>
  559 + </field>
  560 + <field>
  561 + <name>repeat</name>
  562 + <type>String</type>
  563 + <format/>
  564 + <currency/>
  565 + <decimal/>
  566 + <group/>
  567 + <nullif>N</nullif>
  568 + <length>-1</length>
  569 + <precision>-1</precision>
  570 + <set_empty_string>N</set_empty_string>
  571 + </field>
  572 + <field>
  573 + <name>format</name>
  574 + <type>String</type>
  575 + <format/>
  576 + <currency/>
  577 + <decimal/>
  578 + <group/>
  579 + <nullif>&#x23;</nullif>
  580 + <length>-1</length>
  581 + <precision>-1</precision>
  582 + <set_empty_string>N</set_empty_string>
  583 + </field>
  584 + </fields>
  585 + <cluster_schema/>
  586 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  587 + <xloc>441</xloc>
  588 + <yloc>172</yloc>
  589 + <draw>Y</draw>
  590 + </GUI>
  591 + </step>
  592 +
  593 + <step>
  594 + <name>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</name>
  595 + <type>Constant</type>
  596 + <description/>
  597 + <distribute>Y</distribute>
  598 + <custom_distribution/>
  599 + <copies>1</copies>
  600 + <partitioning>
  601 + <method>none</method>
  602 + <schema_name/>
  603 + </partitioning>
  604 + <fields>
  605 + <field>
  606 + <name>valuefield</name>
  607 + <type>String</type>
  608 + <format/>
  609 + <currency/>
  610 + <decimal/>
  611 + <group/>
  612 + <nullif>&#x53d1;&#x8f66;&#x65f6;&#x95f4;</nullif>
  613 + <length>-1</length>
  614 + <precision>-1</precision>
  615 + <set_empty_string>N</set_empty_string>
  616 + </field>
  617 + </fields>
  618 + <cluster_schema/>
  619 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  620 + <xloc>447</xloc>
  621 + <yloc>257</yloc>
  622 + <draw>Y</draw>
  623 + </GUI>
  624 + </step>
  625 +
  626 + <step>
  627 + <name>&#x589e;&#x52a0;&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata</name>
  628 + <type>Constant</type>
  629 + <description/>
  630 + <distribute>Y</distribute>
  631 + <custom_distribution/>
  632 + <copies>1</copies>
  633 + <partitioning>
  634 + <method>none</method>
  635 + <schema_name/>
  636 + </partitioning>
  637 + <fields>
  638 + <field>
  639 + <name>col_name</name>
  640 + <type>String</type>
  641 + <format/>
  642 + <currency/>
  643 + <decimal/>
  644 + <group/>
  645 + <nullif>tccname_</nullif>
  646 + <length>-1</length>
  647 + <precision>-1</precision>
  648 + <set_empty_string>N</set_empty_string>
  649 + </field>
  650 + <field>
  651 + <name>col_type</name>
  652 + <type>String</type>
  653 + <format/>
  654 + <currency/>
  655 + <decimal/>
  656 + <group/>
  657 + <nullif>String</nullif>
  658 + <length>-1</length>
  659 + <precision>-1</precision>
  660 + <set_empty_string>N</set_empty_string>
  661 + </field>
  662 + <field>
  663 + <name>col_value</name>
  664 + <type>String</type>
  665 + <format/>
  666 + <currency/>
  667 + <decimal/>
  668 + <group/>
  669 + <nullif>replace</nullif>
  670 + <length>-1</length>
  671 + <precision>-1</precision>
  672 + <set_empty_string>N</set_empty_string>
  673 + </field>
  674 + </fields>
  675 + <cluster_schema/>
  676 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  677 + <xloc>208</xloc>
  678 + <yloc>428</yloc>
  679 + <draw>Y</draw>
  680 + </GUI>
  681 + </step>
  682 +
  683 + <step>
  684 + <name>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;metadata</name>
  685 + <type>Constant</type>
  686 + <description/>
  687 + <distribute>Y</distribute>
  688 + <custom_distribution/>
  689 + <copies>1</copies>
  690 + <partitioning>
  691 + <method>none</method>
  692 + <schema_name/>
  693 + </partitioning>
  694 + <fields>
  695 + <field>
  696 + <name>col_name</name>
  697 + <type>String</type>
  698 + <format/>
  699 + <currency/>
  700 + <decimal/>
  701 + <group/>
  702 + <nullif>ttinfoname_</nullif>
  703 + <length>-1</length>
  704 + <precision>-1</precision>
  705 + <set_empty_string>N</set_empty_string>
  706 + </field>
  707 + <field>
  708 + <name>col_type</name>
  709 + <type>String</type>
  710 + <format/>
  711 + <currency/>
  712 + <decimal/>
  713 + <group/>
  714 + <nullif>String</nullif>
  715 + <length>-1</length>
  716 + <precision>-1</precision>
  717 + <set_empty_string>N</set_empty_string>
  718 + </field>
  719 + <field>
  720 + <name>col_value</name>
  721 + <type>String</type>
  722 + <format/>
  723 + <currency/>
  724 + <decimal/>
  725 + <group/>
  726 + <nullif>replace</nullif>
  727 + <length>-1</length>
  728 + <precision>-1</precision>
  729 + <set_empty_string>N</set_empty_string>
  730 + </field>
  731 + </fields>
  732 + <cluster_schema/>
  733 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  734 + <xloc>216</xloc>
  735 + <yloc>508</yloc>
  736 + <draw>Y</draw>
  737 + </GUI>
  738 + </step>
  739 +
  740 + <step>
  741 + <name>&#x589e;&#x52a0;&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata</name>
  742 + <type>Constant</type>
  743 + <description/>
  744 + <distribute>Y</distribute>
  745 + <custom_distribution/>
  746 + <copies>1</copies>
  747 + <partitioning>
  748 + <method>none</method>
  749 + <schema_name/>
  750 + </partitioning>
  751 + <fields>
  752 + <field>
  753 + <name>col_name</name>
  754 + <type>String</type>
  755 + <format/>
  756 + <currency/>
  757 + <decimal/>
  758 + <group/>
  759 + <nullif>xlname_</nullif>
  760 + <length>-1</length>
  761 + <precision>-1</precision>
  762 + <set_empty_string>N</set_empty_string>
  763 + </field>
  764 + <field>
  765 + <name>col_type</name>
  766 + <type>String</type>
  767 + <format/>
  768 + <currency/>
  769 + <decimal/>
  770 + <group/>
  771 + <nullif>String</nullif>
  772 + <length>-1</length>
  773 + <precision>-1</precision>
  774 + <set_empty_string>N</set_empty_string>
  775 + </field>
  776 + <field>
  777 + <name>col_value</name>
  778 + <type>String</type>
  779 + <format/>
  780 + <currency/>
  781 + <decimal/>
  782 + <group/>
  783 + <nullif>replace</nullif>
  784 + <length>-1</length>
  785 + <precision>-1</precision>
  786 + <set_empty_string>N</set_empty_string>
  787 + </field>
  788 + </fields>
  789 + <cluster_schema/>
  790 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  791 + <xloc>202</xloc>
  792 + <yloc>351</yloc>
  793 + <draw>Y</draw>
  794 + </GUI>
  795 + </step>
  796 +
  797 + <step>
  798 + <name>&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</name>
  799 + <type>SelectValues</type>
  800 + <description/>
  801 + <distribute>Y</distribute>
  802 + <custom_distribution/>
  803 + <copies>1</copies>
  804 + <partitioning>
  805 + <method>none</method>
  806 + <schema_name/>
  807 + </partitioning>
  808 + <fields> <field> <name>col_name</name>
  809 + <rename/>
  810 + <length>-2</length>
  811 + <precision>-2</precision>
  812 + </field> <field> <name>col_type</name>
  813 + <rename/>
  814 + <length>-2</length>
  815 + <precision>-2</precision>
  816 + </field> <field> <name>col_value</name>
  817 + <rename/>
  818 + <length>-2</length>
  819 + <precision>-2</precision>
  820 + </field> <select_unspecified>N</select_unspecified>
  821 + </fields> <cluster_schema/>
  822 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  823 + <xloc>496</xloc>
  824 + <yloc>508</yloc>
  825 + <draw>Y</draw>
  826 + </GUI>
  827 + </step>
  828 +
  829 + <step>
  830 + <name>&#x66ff;&#x6362;&#x505c;&#x8f66;&#x5382;&#x540d;&#x5b57; </name>
  831 + <type>SetValueField</type>
  832 + <description/>
  833 + <distribute>Y</distribute>
  834 + <custom_distribution/>
  835 + <copies>1</copies>
  836 + <partitioning>
  837 + <method>none</method>
  838 + <schema_name/>
  839 + </partitioning>
  840 + <fields>
  841 + <field>
  842 + <name>col_value</name>
  843 + <replaceby>tccname_</replaceby>
  844 + </field>
  845 + </fields>
  846 + <cluster_schema/>
  847 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  848 + <xloc>345</xloc>
  849 + <yloc>430</yloc>
  850 + <draw>Y</draw>
  851 + </GUI>
  852 + </step>
  853 +
  854 + <step>
  855 + <name>&#x66ff;&#x6362;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;</name>
  856 + <type>SetValueField</type>
  857 + <description/>
  858 + <distribute>Y</distribute>
  859 + <custom_distribution/>
  860 + <copies>1</copies>
  861 + <partitioning>
  862 + <method>none</method>
  863 + <schema_name/>
  864 + </partitioning>
  865 + <fields>
  866 + <field>
  867 + <name>col_value</name>
  868 + <replaceby>ttinfoname_</replaceby>
  869 + </field>
  870 + </fields>
  871 + <cluster_schema/>
  872 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  873 + <xloc>354</xloc>
  874 + <yloc>509</yloc>
  875 + <draw>Y</draw>
  876 + </GUI>
  877 + </step>
  878 +
  879 + <step>
  880 + <name>&#x66ff;&#x6362;&#x7ebf;&#x8def;&#x540d;&#x79f0;</name>
  881 + <type>SetValueField</type>
  882 + <description/>
  883 + <distribute>Y</distribute>
  884 + <custom_distribution/>
  885 + <copies>1</copies>
  886 + <partitioning>
  887 + <method>none</method>
  888 + <schema_name/>
  889 + </partitioning>
  890 + <fields>
  891 + <field>
  892 + <name>col_value</name>
  893 + <replaceby>xlname_</replaceby>
  894 + </field>
  895 + </fields>
  896 + <cluster_schema/>
  897 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  898 + <xloc>340</xloc>
  899 + <yloc>352</yloc>
  900 + <draw>Y</draw>
  901 + </GUI>
  902 + </step>
  903 +
  904 + <step>
  905 + <name>&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</name>
  906 + <type>SelectValues</type>
  907 + <description/>
  908 + <distribute>Y</distribute>
  909 + <custom_distribution/>
  910 + <copies>1</copies>
  911 + <partitioning>
  912 + <method>none</method>
  913 + <schema_name/>
  914 + </partitioning>
  915 + <fields> <field> <name>col_name</name>
  916 + <rename/>
  917 + <length>-2</length>
  918 + <precision>-2</precision>
  919 + </field> <field> <name>col_type</name>
  920 + <rename/>
  921 + <length>-2</length>
  922 + <precision>-2</precision>
  923 + </field> <field> <name>col_value</name>
  924 + <rename/>
  925 + <length>-2</length>
  926 + <precision>-2</precision>
  927 + </field> <select_unspecified>N</select_unspecified>
  928 + </fields> <cluster_schema/>
  929 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  930 + <xloc>487</xloc>
  931 + <yloc>353</yloc>
  932 + <draw>Y</draw>
  933 + </GUI>
  934 + </step>
  935 +
  936 + <step>
  937 + <name>&#x83b7;&#x53d6;excel&#x5b57;&#x6bb5;&#x540d;&#x5b57;&#x7b26;&#x4e32;</name>
  938 + <type>GetVariable</type>
  939 + <description/>
  940 + <distribute>Y</distribute>
  941 + <custom_distribution/>
  942 + <copies>1</copies>
  943 + <partitioning>
  944 + <method>none</method>
  945 + <schema_name/>
  946 + </partitioning>
  947 + <fields>
  948 + <field>
  949 + <name>fieldnames</name>
  950 + <variable>&#x24;&#x7b;excelfieldnames&#x7d;</variable>
  951 + <type>String</type>
  952 + <format/>
  953 + <currency/>
  954 + <decimal/>
  955 + <group/>
  956 + <length>-1</length>
  957 + <precision>-1</precision>
  958 + <trim_type>none</trim_type>
  959 + </field>
  960 + </fields>
  961 + <cluster_schema/>
  962 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  963 + <xloc>71</xloc>
  964 + <yloc>163</yloc>
  965 + <draw>Y</draw>
  966 + </GUI>
  967 + </step>
  968 +
  969 + <step>
  970 + <name>&#x83b7;&#x53d6;excel&#x6587;&#x4ef6;&#x540d;</name>
  971 + <type>GetVariable</type>
  972 + <description/>
  973 + <distribute>Y</distribute>
  974 + <custom_distribution/>
  975 + <copies>1</copies>
  976 + <partitioning>
  977 + <method>none</method>
  978 + <schema_name/>
  979 + </partitioning>
  980 + <fields>
  981 + <field>
  982 + <name>filepath_</name>
  983 + <variable>&#x24;&#x7b;filepath&#x7d;</variable>
  984 + <type>String</type>
  985 + <format/>
  986 + <currency/>
  987 + <decimal/>
  988 + <group/>
  989 + <length>-1</length>
  990 + <precision>-1</precision>
  991 + <trim_type>none</trim_type>
  992 + </field>
  993 + <field>
  994 + <name>erroroutputdir_</name>
  995 + <variable>&#x24;&#x7b;erroroutputdir&#x7d;</variable>
  996 + <type>String</type>
  997 + <format/>
  998 + <currency/>
  999 + <decimal/>
  1000 + <group/>
  1001 + <length>-1</length>
  1002 + <precision>-1</precision>
  1003 + <trim_type>none</trim_type>
  1004 + </field>
  1005 + </fields>
  1006 + <cluster_schema/>
  1007 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1008 + <xloc>73</xloc>
  1009 + <yloc>50</yloc>
  1010 + <draw>Y</draw>
  1011 + </GUI>
  1012 + </step>
  1013 +
  1014 + <step>
  1015 + <name>&#x83b7;&#x53d6;normalize&#x5b57;&#x6bb5;&#x540d;&#x5b57;&#x7b26;&#x4e32;</name>
  1016 + <type>GetVariable</type>
  1017 + <description/>
  1018 + <distribute>Y</distribute>
  1019 + <custom_distribution/>
  1020 + <copies>1</copies>
  1021 + <partitioning>
  1022 + <method>none</method>
  1023 + <schema_name/>
  1024 + </partitioning>
  1025 + <fields>
  1026 + <field>
  1027 + <name>normalizefieldnames_</name>
  1028 + <variable>&#x24;&#x7b;normalizefieldnames&#x7d;</variable>
  1029 + <type>String</type>
  1030 + <format/>
  1031 + <currency/>
  1032 + <decimal/>
  1033 + <group/>
  1034 + <length>-1</length>
  1035 + <precision>-1</precision>
  1036 + <trim_type>none</trim_type>
  1037 + </field>
  1038 + </fields>
  1039 + <cluster_schema/>
  1040 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1041 + <xloc>80</xloc>
  1042 + <yloc>261</yloc>
  1043 + <draw>Y</draw>
  1044 + </GUI>
  1045 + </step>
  1046 +
  1047 + <step>
  1048 + <name>&#x83b7;&#x53d6;&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;</name>
  1049 + <type>GetVariable</type>
  1050 + <description/>
  1051 + <distribute>Y</distribute>
  1052 + <custom_distribution/>
  1053 + <copies>1</copies>
  1054 + <partitioning>
  1055 + <method>none</method>
  1056 + <schema_name/>
  1057 + </partitioning>
  1058 + <fields>
  1059 + <field>
  1060 + <name>tccname_</name>
  1061 + <variable>&#x24;&#x7b;tccname&#x7d;</variable>
  1062 + <type>String</type>
  1063 + <format/>
  1064 + <currency/>
  1065 + <decimal/>
  1066 + <group/>
  1067 + <length>-1</length>
  1068 + <precision>-1</precision>
  1069 + <trim_type>none</trim_type>
  1070 + </field>
  1071 + </fields>
  1072 + <cluster_schema/>
  1073 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1074 + <xloc>80</xloc>
  1075 + <yloc>430</yloc>
  1076 + <draw>Y</draw>
  1077 + </GUI>
  1078 + </step>
  1079 +
  1080 + <step>
  1081 + <name>&#x83b7;&#x53d6;&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;&#x540d;&#x79f0;</name>
  1082 + <type>GetVariable</type>
  1083 + <description/>
  1084 + <distribute>Y</distribute>
  1085 + <custom_distribution/>
  1086 + <copies>1</copies>
  1087 + <partitioning>
  1088 + <method>none</method>
  1089 + <schema_name/>
  1090 + </partitioning>
  1091 + <fields>
  1092 + <field>
  1093 + <name>ttinfoname_</name>
  1094 + <variable>&#x24;&#x7b;ttinfoname&#x7d;</variable>
  1095 + <type>String</type>
  1096 + <format/>
  1097 + <currency/>
  1098 + <decimal/>
  1099 + <group/>
  1100 + <length>-1</length>
  1101 + <precision>-1</precision>
  1102 + <trim_type>none</trim_type>
  1103 + </field>
  1104 + </fields>
  1105 + <cluster_schema/>
  1106 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1107 + <xloc>82</xloc>
  1108 + <yloc>508</yloc>
  1109 + <draw>Y</draw>
  1110 + </GUI>
  1111 + </step>
  1112 +
  1113 + <step>
  1114 + <name>&#x83b7;&#x53d6;&#x7ebf;&#x8def;&#x540d;&#x79f0;</name>
  1115 + <type>GetVariable</type>
  1116 + <description/>
  1117 + <distribute>Y</distribute>
  1118 + <custom_distribution/>
  1119 + <copies>1</copies>
  1120 + <partitioning>
  1121 + <method>none</method>
  1122 + <schema_name/>
  1123 + </partitioning>
  1124 + <fields>
  1125 + <field>
  1126 + <name>xlname_</name>
  1127 + <variable>&#x24;&#x7b;xlname&#x7d;</variable>
  1128 + <type>String</type>
  1129 + <format/>
  1130 + <currency/>
  1131 + <decimal/>
  1132 + <group/>
  1133 + <length>-1</length>
  1134 + <precision>-1</precision>
  1135 + <trim_type>none</trim_type>
  1136 + </field>
  1137 + </fields>
  1138 + <cluster_schema/>
  1139 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1140 + <xloc>78</xloc>
  1141 + <yloc>351</yloc>
  1142 + <draw>Y</draw>
  1143 + </GUI>
  1144 + </step>
  1145 +
  1146 + <step>
  1147 + <name>&#x9017;&#x53f7;&#x5207;&#x5206;&#x6210;&#x5b57;&#x6bb5;&#x540d;</name>
  1148 + <type>SplitFieldToRows3</type>
  1149 + <description/>
  1150 + <distribute>Y</distribute>
  1151 + <custom_distribution/>
  1152 + <copies>1</copies>
  1153 + <partitioning>
  1154 + <method>none</method>
  1155 + <schema_name/>
  1156 + </partitioning>
  1157 + <splitfield>fieldnames</splitfield>
  1158 + <delimiter>,</delimiter>
  1159 + <newfield>fieldname</newfield>
  1160 + <rownum>N</rownum>
  1161 + <rownum_field/>
  1162 + <resetrownumber>Y</resetrownumber>
  1163 + <delimiter_is_regex>N</delimiter_is_regex>
  1164 + <cluster_schema/>
  1165 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1166 + <xloc>261</xloc>
  1167 + <yloc>163</yloc>
  1168 + <draw>Y</draw>
  1169 + </GUI>
  1170 + </step>
  1171 +
  1172 + <step>
  1173 + <name>&#x9017;&#x53f7;&#x5207;&#x5206;&#x6210;&#x5b57;&#x6bb5;&#x540d; 2</name>
  1174 + <type>SplitFieldToRows3</type>
  1175 + <description/>
  1176 + <distribute>Y</distribute>
  1177 + <custom_distribution/>
  1178 + <copies>1</copies>
  1179 + <partitioning>
  1180 + <method>none</method>
  1181 + <schema_name/>
  1182 + </partitioning>
  1183 + <splitfield>normalizefieldnames_</splitfield>
  1184 + <delimiter>,</delimiter>
  1185 + <newfield>nfieldname</newfield>
  1186 + <rownum>N</rownum>
  1187 + <rownum_field/>
  1188 + <resetrownumber>Y</resetrownumber>
  1189 + <delimiter_is_regex>N</delimiter_is_regex>
  1190 + <cluster_schema/>
  1191 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1192 + <xloc>263</xloc>
  1193 + <yloc>257</yloc>
  1194 + <draw>Y</draw>
  1195 + </GUI>
  1196 + </step>
  1197 +
  1198 + <step_error_handling>
  1199 + </step_error_handling>
  1200 + <slave-step-copy-partition-distribution>
  1201 +</slave-step-copy-partition-distribution>
  1202 + <slave_transformation>N</slave_transformation>
  1203 +
  1204 +</transformation>
src/main/resources/datatools/ktrs/ttinfodetailoutputforedit.ktr
@@ -2951,6 +2951,51 @@ @@ -2951,6 +2951,51 @@
2951 </step> 2951 </step>
2952 2952
2953 <step> 2953 <step>
  2954 + <name>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</name>
  2955 + <type>GetVariable</type>
  2956 + <description/>
  2957 + <distribute>Y</distribute>
  2958 + <custom_distribution/>
  2959 + <copies>1</copies>
  2960 + <partitioning>
  2961 + <method>none</method>
  2962 + <schema_name/>
  2963 + </partitioning>
  2964 + <fields>
  2965 + <field>
  2966 + <name>xlid_</name>
  2967 + <variable>&#x24;&#x7b;xlid&#x7d;</variable>
  2968 + <type>Integer</type>
  2969 + <format/>
  2970 + <currency/>
  2971 + <decimal/>
  2972 + <group/>
  2973 + <length>-1</length>
  2974 + <precision>-1</precision>
  2975 + <trim_type>none</trim_type>
  2976 + </field>
  2977 + <field>
  2978 + <name>ttid_</name>
  2979 + <variable>&#x24;&#x7b;ttid&#x7d;</variable>
  2980 + <type>Number</type>
  2981 + <format/>
  2982 + <currency/>
  2983 + <decimal/>
  2984 + <group/>
  2985 + <length>-1</length>
  2986 + <precision>-1</precision>
  2987 + <trim_type>none</trim_type>
  2988 + </field>
  2989 + </fields>
  2990 + <cluster_schema/>
  2991 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2992 + <xloc>72</xloc>
  2993 + <yloc>202</yloc>
  2994 + <draw>Y</draw>
  2995 + </GUI>
  2996 + </step>
  2997 +
  2998 + <step>
2954 <name>&#x8868;&#x8f93;&#x5165;</name> 2999 <name>&#x8868;&#x8f93;&#x5165;</name>
2955 <type>TableInput</type> 3000 <type>TableInput</type>
2956 <description/> 3001 <description/>
@@ -2962,7 +3007,7 @@ @@ -2962,7 +3007,7 @@
2962 <schema_name/> 3007 <schema_name/>
2963 </partitioning> 3008 </partitioning>
2964 <connection>bus_control_variable</connection> 3009 <connection>bus_control_variable</connection>
2965 - <sql>select &#xa;id&#xa;, lp&#xa;, xl&#xa;, qdz&#xa;, zdz&#xa;, tcc&#xa;, fcsj&#xa;, bc_type &#xa;, bcs&#xa;, fcno&#xa;, xl_dir&#xa;from bsth_c_s_ttinfo_detail &#xa;where &#xa;xl &#x3d; &#x3f; and &#xa;ttinfo &#x3d; &#x3f; &#xa;order by bcs asc</sql> 3010 + <sql>select &#xa;t.id as id&#xa;, g.lp_name as lp&#xa;, g.xl as xl&#xa;, qdz&#xa;, zdz&#xa;, tcc&#xa;, fcsj&#xa;, bc_type &#xa;, bcs&#xa;, fcno&#xa;, xl_dir&#xa;from bsth_c_s_ttinfo_detail t left join &#xa;bsth_c_s_gbi g on t.lp &#x3d; g.id &#xa;where &#xa;g.xl &#x3d; &#x3f; and&#xa;t.ttinfo &#x3d; &#x3f; &#xa;order by t.bcs asc</sql>
2966 <limit>0</limit> 3011 <limit>0</limit>
2967 <lookup>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</lookup> 3012 <lookup>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</lookup>
2968 <execute_each_row>N</execute_each_row> 3013 <execute_each_row>N</execute_each_row>
@@ -3071,51 +3116,6 @@ @@ -3071,51 +3116,6 @@
3071 </GUI> 3116 </GUI>
3072 </step> 3117 </step>
3073 3118
3074 - <step>  
3075 - <name>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</name>  
3076 - <type>GetVariable</type>  
3077 - <description/>  
3078 - <distribute>Y</distribute>  
3079 - <custom_distribution/>  
3080 - <copies>1</copies>  
3081 - <partitioning>  
3082 - <method>none</method>  
3083 - <schema_name/>  
3084 - </partitioning>  
3085 - <fields>  
3086 - <field>  
3087 - <name>xlid_</name>  
3088 - <variable>&#x24;&#x7b;xlid&#x7d;</variable>  
3089 - <type>Integer</type>  
3090 - <format/>  
3091 - <currency/>  
3092 - <decimal/>  
3093 - <group/>  
3094 - <length>-1</length>  
3095 - <precision>-1</precision>  
3096 - <trim_type>none</trim_type>  
3097 - </field>  
3098 - <field>  
3099 - <name>ttid_</name>  
3100 - <variable>&#x24;&#x7b;ttid&#x7d;</variable>  
3101 - <type>Number</type>  
3102 - <format/>  
3103 - <currency/>  
3104 - <decimal/>  
3105 - <group/>  
3106 - <length>-1</length>  
3107 - <precision>-1</precision>  
3108 - <trim_type>none</trim_type>  
3109 - </field>  
3110 - </fields>  
3111 - <cluster_schema/>  
3112 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
3113 - <xloc>72</xloc>  
3114 - <yloc>202</yloc>  
3115 - <draw>Y</draw>  
3116 - </GUI>  
3117 - </step>  
3118 -  
3119 <step_error_handling> 3119 <step_error_handling>
3120 </step_error_handling> 3120 </step_error_handling>
3121 <slave-step-copy-partition-distribution> 3121 <slave-step-copy-partition-distribution>
src/main/resources/rules/shiftloop.drl
@@ -124,10 +124,11 @@ end @@ -124,10 +124,11 @@ end
124 rule "calcu_guideboard_index_1" 124 rule "calcu_guideboard_index_1"
125 when 125 when
126 $calcu_days_result : Calcu_days_result($ruleId: ruleId, qyrq_days == 0) 126 $calcu_days_result : Calcu_days_result($ruleId: ruleId, qyrq_days == 0)
  127 + $scheduleRule_input : ScheduleRule_input(ruleId == $ruleId, $oindex : startGbdIndex)
127 then 128 then
128 Calcu_guideboard_index_result cgir = new Calcu_guideboard_index_result(); 129 Calcu_guideboard_index_result cgir = new Calcu_guideboard_index_result();
129 cgir.setRuleId($ruleId); 130 cgir.setRuleId($ruleId);
130 - cgir.setCalcu_index(0); 131 + cgir.setCalcu_index($oindex);
131 132
132 System.out.println("guideboard ruleId=" + $ruleId + ", calcu_index=" + cgir.getCalcu_index()); 133 System.out.println("guideboard ruleId=" + $ruleId + ", calcu_index=" + cgir.getCalcu_index());
133 134
@@ -236,10 +237,11 @@ end @@ -236,10 +237,11 @@ end
236 rule "calcu_employee_index_1" 237 rule "calcu_employee_index_1"
237 when 238 when
238 $calcu_days_result : Calcu_days_result($ruleId: ruleId, qyrq_days == 0) 239 $calcu_days_result : Calcu_days_result($ruleId: ruleId, qyrq_days == 0)
  240 + $scheduleRule_input : ScheduleRule_input(ruleId == $ruleId, $oindex : startEIndex)
239 then 241 then
240 Calcu_employee_index_result cgir = new Calcu_employee_index_result(); 242 Calcu_employee_index_result cgir = new Calcu_employee_index_result();
241 cgir.setRuleId($ruleId); 243 cgir.setRuleId($ruleId);
242 - cgir.setCalcu_index(0); 244 + cgir.setCalcu_index($oindex);
243 245
244 System.out.println("employee ruleId=" + $ruleId + ", calcu_index=" + cgir.getCalcu_index()); 246 System.out.println("employee ruleId=" + $ruleId + ", calcu_index=" + cgir.getCalcu_index());
245 247
@@ -493,7 +495,7 @@ end @@ -493,7 +495,7 @@ end
493 495
494 rule "calcu_loop_guideboard" 496 rule "calcu_loop_guideboard"
495 when 497 when
496 - $loopData : Calcu_guideboard_range_loop_result($ruleId : ruleId, rangeSize > 0) 498 + $loopData : Calcu_guideboard_range_loop_result($ruleId : ruleId, rangeSize >= 0)
497 $indexData : Calcu_guideboard_index_result(ruleId == $ruleId) 499 $indexData : Calcu_guideboard_index_result(ruleId == $ruleId)
498 $ruleData : ScheduleRule_input(ruleId == $ruleId) 500 $ruleData : ScheduleRule_input(ruleId == $ruleId)
499 Calcu_days_result(ruleId == $ruleId, $startDate : calcu_start_date) 501 Calcu_days_result(ruleId == $ruleId, $startDate : calcu_start_date)
@@ -555,7 +557,7 @@ end @@ -555,7 +557,7 @@ end
555 557
556 rule "calcu_loop_employee" 558 rule "calcu_loop_employee"
557 when 559 when
558 - $loopData : Calcu_employee_range_loop_result($ruleId : ruleId, rangeSize > 0) 560 + $loopData : Calcu_employee_range_loop_result($ruleId : ruleId, rangeSize >= 0)
559 $indexData : Calcu_employee_index_result(ruleId == $ruleId) 561 $indexData : Calcu_employee_index_result(ruleId == $ruleId)
560 $ruleData : ScheduleRule_input(ruleId == $ruleId) 562 $ruleData : ScheduleRule_input(ruleId == $ruleId)
561 Calcu_days_result(ruleId == $ruleId, $startDate : calcu_start_date) 563 Calcu_days_result(ruleId == $ruleId, $startDate : calcu_start_date)
src/main/resources/static/pages/scheduleApp/module/core/scheduleRuleManage/edit.html
@@ -121,7 +121,7 @@ @@ -121,7 +121,7 @@
121 <label class="col-md-2 control-label">起始路牌*:</label> 121 <label class="col-md-2 control-label">起始路牌*:</label>
122 <div class="col-md-3"> 122 <div class="col-md-3">
123 <input type="text" class="form-control" name="lpStart" ng-model="ctrl.scheduleRuleManageForSave.lpStart" required 123 <input type="text" class="form-control" name="lpStart" ng-model="ctrl.scheduleRuleManageForSave.lpStart" required
124 - placeholder="起始路牌,从0开始"/> 124 + placeholder="起始路牌,从1开始"/>
125 </div> 125 </div>
126 <!-- 隐藏块,显示验证信息 --> 126 <!-- 隐藏块,显示验证信息 -->
127 <div class="alert alert-danger well-sm" ng-show="myForm.lpStart.$error.required"> 127 <div class="alert alert-danger well-sm" ng-show="myForm.lpStart.$error.required">
@@ -145,7 +145,7 @@ @@ -145,7 +145,7 @@
145 <label class="col-md-2 control-label">起始人员*:</label> 145 <label class="col-md-2 control-label">起始人员*:</label>
146 <div class="col-md-3"> 146 <div class="col-md-3">
147 <input type="text" class="form-control" name="ryStart" ng-model="ctrl.scheduleRuleManageForSave.ryStart" required 147 <input type="text" class="form-control" name="ryStart" ng-model="ctrl.scheduleRuleManageForSave.ryStart" required
148 - placeholder="起始路牌,从0开始"/> 148 + placeholder="起始人员,从1开始"/>
149 </div> 149 </div>
150 <!-- 隐藏块,显示验证信息 --> 150 <!-- 隐藏块,显示验证信息 -->
151 <div class="alert alert-danger well-sm" ng-show="myForm.ryStart.$error.required"> 151 <div class="alert alert-danger well-sm" ng-show="myForm.ryStart.$error.required">
src/main/resources/static/pages/scheduleApp/module/core/scheduleRuleManage/form.html
@@ -121,7 +121,7 @@ @@ -121,7 +121,7 @@
121 <label class="col-md-2 control-label">起始路牌*:</label> 121 <label class="col-md-2 control-label">起始路牌*:</label>
122 <div class="col-md-3"> 122 <div class="col-md-3">
123 <input type="text" class="form-control" name="lpStart" ng-model="ctrl.scheduleRuleManageForSave.lpStart" required 123 <input type="text" class="form-control" name="lpStart" ng-model="ctrl.scheduleRuleManageForSave.lpStart" required
124 - placeholder="起始路牌,从0开始"/> 124 + placeholder="起始路牌,从1开始"/>
125 </div> 125 </div>
126 <!-- 隐藏块,显示验证信息 --> 126 <!-- 隐藏块,显示验证信息 -->
127 <div class="alert alert-danger well-sm" ng-show="myForm.lpStart.$error.required"> 127 <div class="alert alert-danger well-sm" ng-show="myForm.lpStart.$error.required">
@@ -145,7 +145,7 @@ @@ -145,7 +145,7 @@
145 <label class="col-md-2 control-label">起始人员*:</label> 145 <label class="col-md-2 control-label">起始人员*:</label>
146 <div class="col-md-3"> 146 <div class="col-md-3">
147 <input type="text" class="form-control" name="ryStart" ng-model="ctrl.scheduleRuleManageForSave.ryStart" required 147 <input type="text" class="form-control" name="ryStart" ng-model="ctrl.scheduleRuleManageForSave.ryStart" required
148 - placeholder="起始路牌,从0开始"/> 148 + placeholder="起始人员,从1开始"/>
149 </div> 149 </div>
150 <!-- 隐藏块,显示验证信息 --> 150 <!-- 隐藏块,显示验证信息 -->
151 <div class="alert alert-danger well-sm" ng-show="myForm.ryStart.$error.required"> 151 <div class="alert alert-danger well-sm" ng-show="myForm.ryStart.$error.required">
src/test/java/com/bsth/service/schedule/rules/DroolsRulesTest.java
@@ -64,35 +64,34 @@ public class DroolsRulesTest { @@ -64,35 +64,34 @@ public class DroolsRulesTest {
64 // 2、创建fact对象 64 // 2、创建fact对象
65 65
66 ScheduleCalcuParam_input scheduleCalcuParam_input = new ScheduleCalcuParam_input(); 66 ScheduleCalcuParam_input scheduleCalcuParam_input = new ScheduleCalcuParam_input();
67 - scheduleCalcuParam_input.setFromDate(new DateTime(2016, 7, 1, 0, 0));  
68 - scheduleCalcuParam_input.setToDate(new DateTime(2016, 7, 31, 0, 0)); 67 + scheduleCalcuParam_input.setFromDate(new DateTime(2016, 7, 22, 0, 0));
  68 + scheduleCalcuParam_input.setToDate(new DateTime(2016, 8, 10, 0, 0));
69 scheduleCalcuParam_input.setTtinfoId(1L); 69 scheduleCalcuParam_input.setTtinfoId(1L);
70 70
71 ScheduleRule_input scheduleRule_input1 = new ScheduleRule_input(); 71 ScheduleRule_input scheduleRule_input1 = new ScheduleRule_input();
72 scheduleRule_input1.setRuleId(1L); 72 scheduleRule_input1.setRuleId(1L);
73 - scheduleRule_input1.setQyrq(new DateTime(2016, 6, 12, 0, 0)); 73 + scheduleRule_input1.setQyrq(new DateTime(2016, 7, 22, 0, 0));
74 scheduleRule_input1.getGuideboardIds().addAll(Arrays.asList( 74 scheduleRule_input1.getGuideboardIds().addAll(Arrays.asList(
75 - 1L, 1L, 2L, 2L, 3L, 3L, 4L, 4L, 5L, 5L, 6L, 6L, 7L, 7L, 8L, 8L, 9L, 9L, 10L, 10L,  
76 - 11L, 11L, 12L, 12L, 13L, 13L)); 75 + 9L, 9L , 8L ,8L ,7L ,7L ,6L ,6L, 5L, 5L, 4L, 4L, 3L, 3L, 2L, 2L, 1L, 1L));
77 scheduleRule_input1.setStartGbdIndex(3); 76 scheduleRule_input1.setStartGbdIndex(3);
78 - scheduleRule_input1.getEmployeeConfigIds().addAll(Arrays.asList(7L, 8L)); 77 + scheduleRule_input1.getEmployeeConfigIds().addAll(Arrays.asList(1L, 2L));
79 scheduleRule_input1.setStartEIndex(1); 78 scheduleRule_input1.setStartEIndex(1);
80 scheduleRule_input1.setCarConfigId(1L); 79 scheduleRule_input1.setCarConfigId(1L);
81 80
82 - ScheduleRule_input scheduleRule_input2 = new ScheduleRule_input();  
83 - scheduleRule_input2.setRuleId(2L);  
84 - scheduleRule_input2.setQyrq(new DateTime(2016, 6, 12, 0, 0));  
85 - scheduleRule_input2.getGuideboardIds().addAll(Arrays.asList(  
86 - 1L, 1L, 2L, 2L, 3L, 3L, 4L, 4L, 5L, 5L, 6L, 6L, 7L, 7L, 8L, 8L, 9L, 9L, 10L, 10L,  
87 - 11L, 11L, 12L, 12L, 13L, 13L));  
88 - scheduleRule_input2.setStartGbdIndex(7);  
89 - scheduleRule_input2.getEmployeeConfigIds().addAll(Arrays.asList(11L, 12L));  
90 - scheduleRule_input2.setStartEIndex(1);  
91 - scheduleRule_input2.setCarConfigId(2L); 81 +// ScheduleRule_input scheduleRule_input2 = new ScheduleRule_input();
  82 +// scheduleRule_input2.setRuleId(2L);
  83 +// scheduleRule_input2.setQyrq(new DateTime(2016, 7, 22, 0, 0));
  84 +// scheduleRule_input2.getGuideboardIds().addAll(Arrays.asList(
  85 +// 1L, 1L, 2L, 2L, 3L, 3L, 4L, 4L, 5L, 5L, 6L, 6L, 7L, 7L, 8L, 8L, 9L, 9L, 10L, 10L,
  86 +// 11L, 11L, 12L, 12L, 13L, 13L));
  87 +// scheduleRule_input2.setStartGbdIndex(7);
  88 +// scheduleRule_input2.getEmployeeConfigIds().addAll(Arrays.asList(11L, 12L));
  89 +// scheduleRule_input2.setStartEIndex(1);
  90 +// scheduleRule_input2.setCarConfigId(2L);
92 91
93 session.insert(scheduleCalcuParam_input); 92 session.insert(scheduleCalcuParam_input);
94 session.insert(scheduleRule_input1); 93 session.insert(scheduleRule_input1);
95 - session.insert(scheduleRule_input2); 94 +// session.insert(scheduleRule_input2);
96 95
97 96
98 // 3、执行rule 97 // 3、执行rule