Commit 3a60aa269e8b76a52e696e8ade74d2e71618e515

Authored by 徐烜
1 parent eb6dd4a9

Update

... ... @@ -237,6 +237,27 @@
237 237 <version>1.13</version>
238 238 </dependency>
239 239  
  240 + <dependency>
  241 + <groupId>org.dbunit</groupId>
  242 + <artifactId>dbunit</artifactId>
  243 + <version>2.4.9</version>
  244 + <scope>test</scope>
  245 +
  246 + <exclusions>
  247 + <exclusion>
  248 + <groupId>org.slf4j</groupId>
  249 + <artifactId>slf4j-api</artifactId>
  250 + </exclusion>
  251 + </exclusions>
  252 + </dependency>
  253 +
  254 + <dependency>
  255 + <groupId>com.h2database</groupId>
  256 + <artifactId>h2</artifactId>
  257 + <version>1.2.132</version>
  258 + <scope>test</scope>
  259 + </dependency>
  260 +
240 261 </dependencies>
241 262  
242 263 <dependencyManagement>
... ...
src/main/resources/datatools/ktrs/guideboardDataInput.ktr
1   -<?xml version="1.0" encoding="UTF-8"?>
2   -<transformation>
3   - <info>
4   - <name>&#x8def;&#x724c;&#x4fe1;&#x606f;&#x5bfc;&#x5165;</name>
5   - <description>&#x8def;&#x724c;&#x4fe1;&#x606f;&#x5bfc;&#x5165;</description>
6   - <extended_description>&#x7ebf;&#x8def;&#x8fd0;&#x8425;&#x7684;&#x8def;&#x724c;&#x4fe1;&#x606f;</extended_description>
7   - <trans_version/>
8   - <trans_type>Normal</trans_type>
9   - <trans_status>0</trans_status>
10   - <directory>&#x2f;</directory>
11   - <parameters>
12   - <parameter>
13   - <name>erroroutputdir</name>
14   - <default_value/>
15   - <description>ktr step&#x914d;&#x7f6e;&#x7684;&#x9519;&#x8bef;&#x8f93;&#x51fa;&#x76ee;&#x5f55;</description>
16   - </parameter>
17   - <parameter>
18   - <name>filepath</name>
19   - <default_value/>
20   - <description>&#x5f85;&#x5904;&#x7406;&#x5bfc;&#x5165;&#x7684;excel&#x6587;&#x4ef6;</description>
21   - </parameter>
22   - </parameters>
23   - <log>
24   -<trans-log-table><connection/>
25   -<schema/>
26   -<table/>
27   -<size_limit_lines/>
28   -<interval/>
29   -<timeout_days/>
30   -<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>
31   -<perf-log-table><connection/>
32   -<schema/>
33   -<table/>
34   -<interval/>
35   -<timeout_days/>
36   -<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>
37   -<channel-log-table><connection/>
38   -<schema/>
39   -<table/>
40   -<timeout_days/>
41   -<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>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>
42   -<step-log-table><connection/>
43   -<schema/>
44   -<table/>
45   -<timeout_days/>
46   -<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>
47   -<metrics-log-table><connection/>
48   -<schema/>
49   -<table/>
50   -<timeout_days/>
51   -<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>
52   - </log>
53   - <maxdate>
54   - <connection/>
55   - <table/>
56   - <field/>
57   - <offset>0.0</offset>
58   - <maxdiff>0.0</maxdiff>
59   - </maxdate>
60   - <size_rowset>10000</size_rowset>
61   - <sleep_time_empty>50</sleep_time_empty>
62   - <sleep_time_full>50</sleep_time_full>
63   - <unique_connections>N</unique_connections>
64   - <feedback_shown>Y</feedback_shown>
65   - <feedback_size>50000</feedback_size>
66   - <using_thread_priorities>Y</using_thread_priorities>
67   - <shared_objects_file/>
68   - <capture_step_performance>N</capture_step_performance>
69   - <step_performance_capturing_delay>1000</step_performance_capturing_delay>
70   - <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit>
71   - <dependencies>
72   - </dependencies>
73   - <partitionschemas>
74   - </partitionschemas>
75   - <slaveservers>
76   - </slaveservers>
77   - <clusterschemas>
78   - </clusterschemas>
79   - <created_user>-</created_user>
80   - <created_date>2016&#x2f;06&#x2f;29 17&#x3a;00&#x3a;01.094</created_date>
81   - <modified_user>-</modified_user>
82   - <modified_date>2016&#x2f;06&#x2f;29 17&#x3a;00&#x3a;01.094</modified_date>
83   - <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</key_for_session_key>
84   - <is_key_private>N</is_key_private>
85   - </info>
86   - <notepads>
87   - <notepad>
88   - <note>&#x8def;&#x724c;&#x4fe1;&#x606f;&#x8f93;&#x5165;&#xff0c;&#x8def;&#x724c;&#x540d;&#x5b57;&#x662f;&#x4e0d;&#x80fd;&#x91cd;&#x590d;&#x7684;&#xa;&#x4e00;&#x822c;&#x6765;&#x8bf4;&#xff0c;&#x5e94;&#x8be5;&#x662f;&#x5bfc;&#x5165;&#x65f6;&#x523b;&#x6570;&#x636e;&#x81ea;&#x52a8;&#x751f;&#x6210;&#x7684;&#xff0c;&#x8fd9;&#x4e2a;&#x518d;&#x8bae;&#xa;&#xa;</note>
89   - <xloc>57</xloc>
90   - <yloc>291</yloc>
91   - <width>298</width>
92   - <heigth>74</heigth>
93   - <fontname>YaHei Consolas Hybrid</fontname>
94   - <fontsize>12</fontsize>
95   - <fontbold>N</fontbold>
96   - <fontitalic>N</fontitalic>
97   - <fontcolorred>0</fontcolorred>
98   - <fontcolorgreen>0</fontcolorgreen>
99   - <fontcolorblue>0</fontcolorblue>
100   - <backgroundcolorred>255</backgroundcolorred>
101   - <backgroundcolorgreen>205</backgroundcolorgreen>
102   - <backgroundcolorblue>112</backgroundcolorblue>
103   - <bordercolorred>100</bordercolorred>
104   - <bordercolorgreen>100</bordercolorgreen>
105   - <bordercolorblue>100</bordercolorblue>
106   - <drawshadow>Y</drawshadow>
107   - </notepad>
108   - </notepads>
109   - <connection>
110   - <name>bus_control_variable</name>
111   - <server>&#x24;&#x7b;v_db_ip&#x7d;</server>
112   - <type>MYSQL</type>
113   - <access>Native</access>
114   - <database>&#x24;&#x7b;v_db_dname&#x7d;</database>
115   - <port>3306</port>
116   - <username>&#x24;&#x7b;v_db_uname&#x7d;</username>
117   - <password>&#x24;&#x7b;v_db_pwd&#x7d;</password>
118   - <servername/>
119   - <data_tablespace/>
120   - <index_tablespace/>
121   - <attributes>
122   - <attribute><code>EXTRA_OPTION_MYSQL.characterEncoding</code><attribute>utf8</attribute></attribute>
123   - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
124   - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
125   - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
126   - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
127   - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
128   - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
129   - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
130   - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
131   - <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
132   - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
133   - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
134   - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
135   - </attributes>
136   - </connection>
137   - <connection>
138   - <name>bus_control_&#x516c;&#x53f8;_201</name>
139   - <server>localhost</server>
140   - <type>MYSQL</type>
141   - <access>Native</access>
142   - <database>control</database>
143   - <port>3306</port>
144   - <username>root</username>
145   - <password>Encrypted </password>
146   - <servername/>
147   - <data_tablespace/>
148   - <index_tablespace/>
149   - <attributes>
150   - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
151   - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
152   - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
153   - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
154   - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
155   - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
156   - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
157   - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
158   - <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
159   - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
160   - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
161   - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
162   - </attributes>
163   - </connection>
164   - <connection>
165   - <name>bus_control_&#x672c;&#x673a;</name>
166   - <server>localhost</server>
167   - <type>MYSQL</type>
168   - <access>Native</access>
169   - <database>control</database>
170   - <port>3306</port>
171   - <username>root</username>
172   - <password>Encrypted </password>
173   - <servername/>
174   - <data_tablespace/>
175   - <index_tablespace/>
176   - <attributes>
177   - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
178   - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
179   - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
180   - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
181   - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
182   - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
183   - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
184   - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
185   - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
186   - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
187   - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
188   - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
189   - </attributes>
190   - </connection>
191   - <connection>
192   - <name>xlab_mysql_youle</name>
193   - <server>101.231.124.8</server>
194   - <type>MYSQL</type>
195   - <access>Native</access>
196   - <database>xlab_youle</database>
197   - <port>45687</port>
198   - <username>xlab-youle</username>
199   - <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password>
200   - <servername/>
201   - <data_tablespace/>
202   - <index_tablespace/>
203   - <attributes>
204   - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
205   - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
206   - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
207   - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
208   - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
209   - <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute>
210   - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
211   - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
212   - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
213   - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
214   - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
215   - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
216   - </attributes>
217   - </connection>
218   - <connection>
219   - <name>xlab_mysql_youle&#xff08;&#x672c;&#x673a;&#xff09;</name>
220   - <server>localhost</server>
221   - <type>MYSQL</type>
222   - <access>Native</access>
223   - <database>xlab_youle</database>
224   - <port>3306</port>
225   - <username>root</username>
226   - <password>Encrypted </password>
227   - <servername/>
228   - <data_tablespace/>
229   - <index_tablespace/>
230   - <attributes>
231   - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
232   - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
233   - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
234   - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
235   - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
236   - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
237   - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
238   - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
239   - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
240   - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
241   - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
242   - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
243   - </attributes>
244   - </connection>
245   - <connection>
246   - <name>xlab_youle</name>
247   - <server/>
248   - <type>MYSQL</type>
249   - <access>JNDI</access>
250   - <database>xlab_youle</database>
251   - <port>1521</port>
252   - <username/>
253   - <password>Encrypted </password>
254   - <servername/>
255   - <data_tablespace/>
256   - <index_tablespace/>
257   - <attributes>
258   - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
259   - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
260   - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
261   - <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
262   - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
263   - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
264   - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
265   - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
266   - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
267   - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
268   - </attributes>
269   - </connection>
270   - <order>
271   - <hop> <from>&#x5b57;&#x6bb5;&#x6539;&#x540d;</from><to>&#x67e5;&#x8be2;&#x7ebf;&#x8def;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop>
272   - <hop> <from>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_gbi</from><to>&#x9519;&#x8bef;&#x8f93;&#x51fa;</to><enabled>Y</enabled> </hop>
273   - <hop> <from>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</from><to>&#x5b57;&#x6bb5;&#x6539;&#x540d;</to><enabled>Y</enabled> </hop>
274   - <hop> <from>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</from><to>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</to><enabled>Y</enabled> </hop>
275   - <hop> <from>&#x67e5;&#x8be2;&#x7ebf;&#x8def;&#x5173;&#x8054;</from><to>&#x542f;&#x7528;&#x88ab;&#x6570;&#x636e;flag</to><enabled>Y</enabled> </hop>
276   - <hop> <from>&#x542f;&#x7528;&#x88ab;&#x6570;&#x636e;flag</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_gbi</to><enabled>Y</enabled> </hop>
277   - </order>
278   - <step>
279   - <name>&#x5b57;&#x6bb5;&#x6539;&#x540d;</name>
280   - <type>SelectValues</type>
281   - <description/>
282   - <distribute>Y</distribute>
283   - <custom_distribution/>
284   - <copies>1</copies>
285   - <partitioning>
286   - <method>none</method>
287   - <schema_name/>
288   - </partitioning>
289   - <fields> <select_unspecified>N</select_unspecified>
290   - <meta> <name>&#x7ebf;&#x8def;</name>
291   - <rename>xl</rename>
292   - <type>String</type>
293   - <length>-2</length>
294   - <precision>-2</precision>
295   - <conversion_mask/>
296   - <date_format_lenient>false</date_format_lenient>
297   - <date_format_locale/>
298   - <date_format_timezone/>
299   - <lenient_string_to_number>false</lenient_string_to_number>
300   - <encoding/>
301   - <decimal_symbol/>
302   - <grouping_symbol/>
303   - <currency_symbol/>
304   - <storage_type/>
305   - </meta> <meta> <name>&#x8def;&#x724c;&#x7f16;&#x53f7;</name>
306   - <rename>lpno</rename>
307   - <type>Integer</type>
308   - <length>-2</length>
309   - <precision>-2</precision>
310   - <conversion_mask/>
311   - <date_format_lenient>false</date_format_lenient>
312   - <date_format_locale/>
313   - <date_format_timezone/>
314   - <lenient_string_to_number>false</lenient_string_to_number>
315   - <encoding/>
316   - <decimal_symbol/>
317   - <grouping_symbol/>
318   - <currency_symbol/>
319   - <storage_type/>
320   - </meta> <meta> <name>&#x8def;&#x724c;&#x540d;&#x79f0;</name>
321   - <rename>lpname</rename>
322   - <type>String</type>
323   - <length>-2</length>
324   - <precision>-2</precision>
325   - <conversion_mask/>
326   - <date_format_lenient>false</date_format_lenient>
327   - <date_format_locale/>
328   - <date_format_timezone/>
329   - <lenient_string_to_number>false</lenient_string_to_number>
330   - <encoding/>
331   - <decimal_symbol/>
332   - <grouping_symbol/>
333   - <currency_symbol/>
334   - <storage_type/>
335   - </meta> <meta> <name>&#x8def;&#x724c;&#x7c7b;&#x578b;</name>
336   - <rename>lptype</rename>
337   - <type>String</type>
338   - <length>-2</length>
339   - <precision>-2</precision>
340   - <conversion_mask/>
341   - <date_format_lenient>false</date_format_lenient>
342   - <date_format_locale/>
343   - <date_format_timezone/>
344   - <lenient_string_to_number>false</lenient_string_to_number>
345   - <encoding/>
346   - <decimal_symbol/>
347   - <grouping_symbol/>
348   - <currency_symbol/>
349   - <storage_type/>
350   - </meta> </fields> <cluster_schema/>
351   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
352   - <xloc>295</xloc>
353   - <yloc>68</yloc>
354   - <draw>Y</draw>
355   - </GUI>
356   - </step>
357   -
358   - <step>
359   - <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_gbi</name>
360   - <type>InsertUpdate</type>
361   - <description/>
362   - <distribute>Y</distribute>
363   - <custom_distribution/>
364   - <copies>1</copies>
365   - <partitioning>
366   - <method>none</method>
367   - <schema_name/>
368   - </partitioning>
369   - <connection>bus_control_variable</connection>
370   - <commit>100</commit>
371   - <update_bypassed>N</update_bypassed>
372   - <lookup>
373   - <schema/>
374   - <table>bsth_c_s_gbi</table>
375   - <key>
376   - <name>xlid</name>
377   - <field>xl</field>
378   - <condition>&#x3d;</condition>
379   - <name2/>
380   - </key>
381   - <key>
382   - <name>lpname</name>
383   - <field>lp_name</field>
384   - <condition>&#x3d;</condition>
385   - <name2/>
386   - </key>
387   - <key>
388   - <name>isCancel</name>
389   - <field>is_cancel</field>
390   - <condition>&#x3d;</condition>
391   - <name2/>
392   - </key>
393   - <value>
394   - <name>xl</name>
395   - <rename>xlid</rename>
396   - <update>N</update>
397   - </value>
398   - <value>
399   - <name>lp_no</name>
400   - <rename>lpno</rename>
401   - <update>N</update>
402   - </value>
403   - <value>
404   - <name>lp_name</name>
405   - <rename>lpname</rename>
406   - <update>N</update>
407   - </value>
408   - <value>
409   - <name>lp_type</name>
410   - <rename>lptype</rename>
411   - <update>N</update>
412   - </value>
413   - <value>
414   - <name>is_cancel</name>
415   - <rename>isCancel</rename>
416   - <update>N</update>
417   - </value>
418   - </lookup>
419   - <cluster_schema/>
420   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
421   - <xloc>545</xloc>
422   - <yloc>184</yloc>
423   - <draw>Y</draw>
424   - </GUI>
425   - </step>
426   -
427   - <step>
428   - <name>&#x67e5;&#x8be2;&#x7ebf;&#x8def;&#x5173;&#x8054;</name>
429   - <type>DBLookup</type>
430   - <description/>
431   - <distribute>Y</distribute>
432   - <custom_distribution/>
433   - <copies>1</copies>
434   - <partitioning>
435   - <method>none</method>
436   - <schema_name/>
437   - </partitioning>
438   - <connection>bus_control_variable</connection>
439   - <cache>Y</cache>
440   - <cache_load_all>Y</cache_load_all>
441   - <cache_size>0</cache_size>
442   - <lookup>
443   - <schema/>
444   - <table>bsth_c_line</table>
445   - <orderby/>
446   - <fail_on_multiple>N</fail_on_multiple>
447   - <eat_row_on_failure>N</eat_row_on_failure>
448   - <key>
449   - <name>xl</name>
450   - <field>name</field>
451   - <condition>&#x3d;</condition>
452   - <name2/>
453   - </key>
454   - <value>
455   - <name>id</name>
456   - <rename>xlid</rename>
457   - <default/>
458   - <type>Integer</type>
459   - </value>
460   - </lookup>
461   - <cluster_schema/>
462   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
463   - <xloc>428</xloc>
464   - <yloc>69</yloc>
465   - <draw>Y</draw>
466   - </GUI>
467   - </step>
468   -
469   - <step>
470   - <name>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</name>
471   - <type>GetVariable</type>
472   - <description/>
473   - <distribute>Y</distribute>
474   - <custom_distribution/>
475   - <copies>1</copies>
476   - <partitioning>
477   - <method>none</method>
478   - <schema_name/>
479   - </partitioning>
480   - <fields>
481   - <field>
482   - <name>filepath_</name>
483   - <variable>&#x24;&#x7b;filepath&#x7d;</variable>
484   - <type>String</type>
485   - <format/>
486   - <currency/>
487   - <decimal/>
488   - <group/>
489   - <length>-1</length>
490   - <precision>-1</precision>
491   - <trim_type>none</trim_type>
492   - </field>
493   - <field>
494   - <name>erroroutputdir_</name>
495   - <variable>&#x24;&#x7b;erroroutputdir&#x7d;</variable>
496   - <type>String</type>
497   - <format/>
498   - <currency/>
499   - <decimal/>
500   - <group/>
501   - <length>-1</length>
502   - <precision>-1</precision>
503   - <trim_type>none</trim_type>
504   - </field>
505   - </fields>
506   - <cluster_schema/>
507   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
508   - <xloc>152</xloc>
509   - <yloc>193</yloc>
510   - <draw>Y</draw>
511   - </GUI>
512   - </step>
513   -
514   - <step>
515   - <name>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</name>
516   - <type>ExcelInput</type>
517   - <description/>
518   - <distribute>Y</distribute>
519   - <custom_distribution/>
520   - <copies>1</copies>
521   - <partitioning>
522   - <method>none</method>
523   - <schema_name/>
524   - </partitioning>
525   - <header>Y</header>
526   - <noempty>Y</noempty>
527   - <stoponempty>N</stoponempty>
528   - <filefield/>
529   - <sheetfield/>
530   - <sheetrownumfield/>
531   - <rownumfield/>
532   - <sheetfield/>
533   - <filefield/>
534   - <limit>0</limit>
535   - <encoding/>
536   - <add_to_result_filenames>Y</add_to_result_filenames>
537   - <accept_filenames>Y</accept_filenames>
538   - <accept_field>filepath_</accept_field>
539   - <accept_stepname>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</accept_stepname>
540   - <file>
541   - <name/>
542   - <filemask/>
543   - <exclude_filemask/>
544   - <file_required>N</file_required>
545   - <include_subfolders>N</include_subfolders>
546   - </file>
547   - <fields>
548   - <field>
549   - <name>&#x7ebf;&#x8def;</name>
550   - <type>String</type>
551   - <length>-1</length>
552   - <precision>-1</precision>
553   - <trim_type>none</trim_type>
554   - <repeat>N</repeat>
555   - <format/>
556   - <currency/>
557   - <decimal/>
558   - <group/>
559   - </field>
560   - <field>
561   - <name>&#x8def;&#x724c;&#x7f16;&#x53f7;</name>
562   - <type>String</type>
563   - <length>-1</length>
564   - <precision>-1</precision>
565   - <trim_type>none</trim_type>
566   - <repeat>N</repeat>
567   - <format>&#x23;</format>
568   - <currency/>
569   - <decimal/>
570   - <group/>
571   - </field>
572   - <field>
573   - <name>&#x8def;&#x724c;&#x540d;&#x79f0;</name>
574   - <type>String</type>
575   - <length>-1</length>
576   - <precision>-1</precision>
577   - <trim_type>none</trim_type>
578   - <repeat>N</repeat>
579   - <format>&#x23;</format>
580   - <currency/>
581   - <decimal/>
582   - <group/>
583   - </field>
584   - <field>
585   - <name>&#x8def;&#x724c;&#x7c7b;&#x578b;</name>
586   - <type>String</type>
587   - <length>-1</length>
588   - <precision>-1</precision>
589   - <trim_type>none</trim_type>
590   - <repeat>N</repeat>
591   - <format/>
592   - <currency/>
593   - <decimal/>
594   - <group/>
595   - </field>
596   - </fields>
597   - <sheets>
598   - <sheet>
599   - <name>&#x5de5;&#x4f5c;&#x8868;1</name>
600   - <startrow>0</startrow>
601   - <startcol>0</startcol>
602   - </sheet>
603   - </sheets>
604   - <strict_types>N</strict_types>
605   - <error_ignored>N</error_ignored>
606   - <error_line_skipped>N</error_line_skipped>
607   - <bad_line_files_destination_directory/>
608   - <bad_line_files_extension>warning</bad_line_files_extension>
609   - <error_line_files_destination_directory/>
610   - <error_line_files_extension>error</error_line_files_extension>
611   - <line_number_files_destination_directory/>
612   - <line_number_files_extension>line</line_number_files_extension>
613   - <shortFileFieldName/>
614   - <pathFieldName/>
615   - <hiddenFieldName/>
616   - <lastModificationTimeFieldName/>
617   - <uriNameFieldName/>
618   - <rootUriNameFieldName/>
619   - <extensionFieldName/>
620   - <sizeFieldName/>
621   - <spreadsheet_type>JXL</spreadsheet_type>
622   - <cluster_schema/>
623   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
624   - <xloc>150</xloc>
625   - <yloc>68</yloc>
626   - <draw>Y</draw>
627   - </GUI>
628   - </step>
629   -
630   - <step>
631   - <name>&#x9519;&#x8bef;&#x8f93;&#x51fa;</name>
632   - <type>ExcelOutput</type>
633   - <description/>
634   - <distribute>Y</distribute>
635   - <custom_distribution/>
636   - <copies>1</copies>
637   - <partitioning>
638   - <method>none</method>
639   - <schema_name/>
640   - </partitioning>
641   - <header>Y</header>
642   - <footer>N</footer>
643   - <encoding>UTF-8</encoding>
644   - <append>N</append>
645   - <add_to_result_filenames>Y</add_to_result_filenames>
646   - <file>
647   - <name>&#x24;&#x7b;erroroutputdir&#x7d;&#x2f;&#x8def;&#x724c;_&#x9519;&#x8bef;</name>
648   - <extention>xls</extention>
649   - <do_not_open_newfile_init>N</do_not_open_newfile_init>
650   - <create_parent_folder>N</create_parent_folder>
651   - <split>N</split>
652   - <add_date>N</add_date>
653   - <add_time>N</add_time>
654   - <SpecifyFormat>N</SpecifyFormat>
655   - <date_time_format/>
656   - <sheetname>Sheet1</sheetname>
657   - <autosizecolums>N</autosizecolums>
658   - <nullisblank>N</nullisblank>
659   - <protect_sheet>N</protect_sheet>
660   - <password>Encrypted </password>
661   - <splitevery>0</splitevery>
662   - <usetempfiles>N</usetempfiles>
663   - <tempdirectory/>
664   - </file>
665   - <template>
666   - <enabled>N</enabled>
667   - <append>N</append>
668   - <filename>template.xls</filename>
669   - </template>
670   - <fields>
671   - <field>
672   - <name>filepath_</name>
673   - <type>String</type>
674   - <format/>
675   - </field>
676   - <field>
677   - <name>erroroutputdir_</name>
678   - <type>String</type>
679   - <format/>
680   - </field>
681   - <field>
682   - <name>xl</name>
683   - <type>String</type>
684   - <format/>
685   - </field>
686   - <field>
687   - <name>lpno</name>
688   - <type>Integer</type>
689   - <format/>
690   - </field>
691   - <field>
692   - <name>lpname</name>
693   - <type>String</type>
694   - <format/>
695   - </field>
696   - <field>
697   - <name>lptype</name>
698   - <type>String</type>
699   - <format/>
700   - </field>
701   - <field>
702   - <name>xlid</name>
703   - <type>Integer</type>
704   - <format/>
705   - </field>
706   - <field>
707   - <name>isCancel</name>
708   - <type>Integer</type>
709   - <format/>
710   - </field>
711   - <field>
712   - <name>error_count</name>
713   - <type>Integer</type>
714   - <format/>
715   - </field>
716   - <field>
717   - <name>error_desc</name>
718   - <type>String</type>
719   - <format/>
720   - </field>
721   - <field>
722   - <name>error_column1</name>
723   - <type>String</type>
724   - <format/>
725   - </field>
726   - <field>
727   - <name>error_column2</name>
728   - <type>String</type>
729   - <format/>
730   - </field>
731   - </fields>
732   - <custom>
733   - <header_font_name>arial</header_font_name>
734   - <header_font_size>10</header_font_size>
735   - <header_font_bold>N</header_font_bold>
736   - <header_font_italic>N</header_font_italic>
737   - <header_font_underline>no</header_font_underline>
738   - <header_font_orientation>horizontal</header_font_orientation>
739   - <header_font_color>black</header_font_color>
740   - <header_background_color>none</header_background_color>
741   - <header_row_height>255</header_row_height>
742   - <header_alignment>left</header_alignment>
743   - <header_image/>
744   - <row_font_name>arial</row_font_name>
745   - <row_font_size>10</row_font_size>
746   - <row_font_color>black</row_font_color>
747   - <row_background_color>none</row_background_color>
748   - </custom>
749   - <cluster_schema/>
750   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
751   - <xloc>545</xloc>
752   - <yloc>307</yloc>
753   - <draw>Y</draw>
754   - </GUI>
755   - </step>
756   -
757   - <step>
758   - <name>&#x542f;&#x7528;&#x88ab;&#x6570;&#x636e;flag</name>
759   - <type>Constant</type>
760   - <description/>
761   - <distribute>Y</distribute>
762   - <custom_distribution/>
763   - <copies>1</copies>
764   - <partitioning>
765   - <method>none</method>
766   - <schema_name/>
767   - </partitioning>
768   - <fields>
769   - <field>
770   - <name>isCancel</name>
771   - <type>Integer</type>
772   - <format/>
773   - <currency/>
774   - <decimal/>
775   - <group/>
776   - <nullif>0</nullif>
777   - <length>-1</length>
778   - <precision>-1</precision>
779   - <set_empty_string>N</set_empty_string>
780   - </field>
781   - </fields>
782   - <cluster_schema/>
783   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
784   - <xloc>544</xloc>
785   - <yloc>70</yloc>
786   - <draw>Y</draw>
787   - </GUI>
788   - </step>
789   -
790   - <step_error_handling>
791   - <error>
792   - <source_step>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_gbi</source_step>
793   - <target_step>&#x9519;&#x8bef;&#x8f93;&#x51fa;</target_step>
794   - <is_enabled>Y</is_enabled>
795   - <nr_valuename>error_count</nr_valuename>
796   - <descriptions_valuename>error_desc</descriptions_valuename>
797   - <fields_valuename>error_column1</fields_valuename>
798   - <codes_valuename>error_column2</codes_valuename>
799   - <max_errors/>
800   - <max_pct_errors/>
801   - <min_pct_rows/>
802   - </error>
803   - </step_error_handling>
804   - <slave-step-copy-partition-distribution>
805   -</slave-step-copy-partition-distribution>
806   - <slave_transformation>N</slave_transformation>
807   -
808   -</transformation>
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<transformation>
  3 + <info>
  4 + <name>&#x8def;&#x724c;&#x4fe1;&#x606f;&#x5bfc;&#x5165;</name>
  5 + <description>&#x8def;&#x724c;&#x4fe1;&#x606f;&#x5bfc;&#x5165;</description>
  6 + <extended_description>&#x7ebf;&#x8def;&#x8fd0;&#x8425;&#x7684;&#x8def;&#x724c;&#x4fe1;&#x606f;</extended_description>
  7 + <trans_version/>
  8 + <trans_type>Normal</trans_type>
  9 + <trans_status>0</trans_status>
  10 + <directory>&#x2f;</directory>
  11 + <parameters>
  12 + <parameter>
  13 + <name>erroroutputdir</name>
  14 + <default_value/>
  15 + <description>ktr step&#x914d;&#x7f6e;&#x7684;&#x9519;&#x8bef;&#x8f93;&#x51fa;&#x76ee;&#x5f55;</description>
  16 + </parameter>
  17 + <parameter>
  18 + <name>filepath</name>
  19 + <default_value/>
  20 + <description>&#x5f85;&#x5904;&#x7406;&#x5bfc;&#x5165;&#x7684;excel&#x6587;&#x4ef6;</description>
  21 + </parameter>
  22 + </parameters>
  23 + <log>
  24 +<trans-log-table><connection/>
  25 +<schema/>
  26 +<table/>
  27 +<size_limit_lines/>
  28 +<interval/>
  29 +<timeout_days/>
  30 +<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>
  31 +<perf-log-table><connection/>
  32 +<schema/>
  33 +<table/>
  34 +<interval/>
  35 +<timeout_days/>
  36 +<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>
  37 +<channel-log-table><connection/>
  38 +<schema/>
  39 +<table/>
  40 +<timeout_days/>
  41 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>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>
  42 +<step-log-table><connection/>
  43 +<schema/>
  44 +<table/>
  45 +<timeout_days/>
  46 +<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>
  47 +<metrics-log-table><connection/>
  48 +<schema/>
  49 +<table/>
  50 +<timeout_days/>
  51 +<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>
  52 + </log>
  53 + <maxdate>
  54 + <connection/>
  55 + <table/>
  56 + <field/>
  57 + <offset>0.0</offset>
  58 + <maxdiff>0.0</maxdiff>
  59 + </maxdate>
  60 + <size_rowset>10000</size_rowset>
  61 + <sleep_time_empty>50</sleep_time_empty>
  62 + <sleep_time_full>50</sleep_time_full>
  63 + <unique_connections>N</unique_connections>
  64 + <feedback_shown>Y</feedback_shown>
  65 + <feedback_size>50000</feedback_size>
  66 + <using_thread_priorities>Y</using_thread_priorities>
  67 + <shared_objects_file/>
  68 + <capture_step_performance>N</capture_step_performance>
  69 + <step_performance_capturing_delay>1000</step_performance_capturing_delay>
  70 + <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit>
  71 + <dependencies>
  72 + </dependencies>
  73 + <partitionschemas>
  74 + </partitionschemas>
  75 + <slaveservers>
  76 + </slaveservers>
  77 + <clusterschemas>
  78 + </clusterschemas>
  79 + <created_user>-</created_user>
  80 + <created_date>2016&#x2f;06&#x2f;29 17&#x3a;00&#x3a;01.094</created_date>
  81 + <modified_user>-</modified_user>
  82 + <modified_date>2016&#x2f;06&#x2f;29 17&#x3a;00&#x3a;01.094</modified_date>
  83 + <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</key_for_session_key>
  84 + <is_key_private>N</is_key_private>
  85 + </info>
  86 + <notepads>
  87 + <notepad>
  88 + <note>&#x8def;&#x724c;&#x4fe1;&#x606f;&#x8f93;&#x5165;&#xff0c;&#x8def;&#x724c;&#x540d;&#x5b57;&#x662f;&#x4e0d;&#x80fd;&#x91cd;&#x590d;&#x7684;&#xa;&#x4e00;&#x822c;&#x6765;&#x8bf4;&#xff0c;&#x5e94;&#x8be5;&#x662f;&#x5bfc;&#x5165;&#x65f6;&#x523b;&#x6570;&#x636e;&#x81ea;&#x52a8;&#x751f;&#x6210;&#x7684;&#xff0c;&#x8fd9;&#x4e2a;&#x518d;&#x8bae;&#xa;&#xa;</note>
  89 + <xloc>57</xloc>
  90 + <yloc>291</yloc>
  91 + <width>298</width>
  92 + <heigth>74</heigth>
  93 + <fontname>YaHei Consolas Hybrid</fontname>
  94 + <fontsize>12</fontsize>
  95 + <fontbold>N</fontbold>
  96 + <fontitalic>N</fontitalic>
  97 + <fontcolorred>0</fontcolorred>
  98 + <fontcolorgreen>0</fontcolorgreen>
  99 + <fontcolorblue>0</fontcolorblue>
  100 + <backgroundcolorred>255</backgroundcolorred>
  101 + <backgroundcolorgreen>205</backgroundcolorgreen>
  102 + <backgroundcolorblue>112</backgroundcolorblue>
  103 + <bordercolorred>100</bordercolorred>
  104 + <bordercolorgreen>100</bordercolorgreen>
  105 + <bordercolorblue>100</bordercolorblue>
  106 + <drawshadow>Y</drawshadow>
  107 + </notepad>
  108 + </notepads>
  109 + <connection>
  110 + <name>bus_control_variable</name>
  111 + <server>&#x24;&#x7b;v_db_ip&#x7d;</server>
  112 + <type>MYSQL</type>
  113 + <access>Native</access>
  114 + <database>&#x24;&#x7b;v_db_dname&#x7d;</database>
  115 + <port>3306</port>
  116 + <username>&#x24;&#x7b;v_db_uname&#x7d;</username>
  117 + <password>&#x24;&#x7b;v_db_pwd&#x7d;</password>
  118 + <servername/>
  119 + <data_tablespace/>
  120 + <index_tablespace/>
  121 + <attributes>
  122 + <attribute><code>EXTRA_OPTION_MYSQL.characterEncoding</code><attribute>utf8</attribute></attribute>
  123 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  124 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  125 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  126 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  127 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  128 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  129 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  130 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  131 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  132 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  133 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  134 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  135 + </attributes>
  136 + </connection>
  137 + <connection>
  138 + <name>bus_control_&#x516c;&#x53f8;_201</name>
  139 + <server>localhost</server>
  140 + <type>MYSQL</type>
  141 + <access>Native</access>
  142 + <database>control</database>
  143 + <port>3306</port>
  144 + <username>root</username>
  145 + <password>Encrypted </password>
  146 + <servername/>
  147 + <data_tablespace/>
  148 + <index_tablespace/>
  149 + <attributes>
  150 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  151 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  152 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  153 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  154 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  155 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  156 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  157 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  158 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  159 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  160 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  161 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  162 + </attributes>
  163 + </connection>
  164 + <connection>
  165 + <name>bus_control_&#x672c;&#x673a;</name>
  166 + <server>localhost</server>
  167 + <type>MYSQL</type>
  168 + <access>Native</access>
  169 + <database>control</database>
  170 + <port>3306</port>
  171 + <username>root</username>
  172 + <password>Encrypted </password>
  173 + <servername/>
  174 + <data_tablespace/>
  175 + <index_tablespace/>
  176 + <attributes>
  177 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  178 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  179 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  180 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  181 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  182 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  183 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  184 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  185 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  186 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  187 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  188 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  189 + </attributes>
  190 + </connection>
  191 + <connection>
  192 + <name>xlab_mysql_youle</name>
  193 + <server>101.231.124.8</server>
  194 + <type>MYSQL</type>
  195 + <access>Native</access>
  196 + <database>xlab_youle</database>
  197 + <port>45687</port>
  198 + <username>xlab-youle</username>
  199 + <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password>
  200 + <servername/>
  201 + <data_tablespace/>
  202 + <index_tablespace/>
  203 + <attributes>
  204 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  205 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  206 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  207 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  208 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  209 + <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute>
  210 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  211 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  212 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  213 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  214 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  215 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  216 + </attributes>
  217 + </connection>
  218 + <connection>
  219 + <name>xlab_mysql_youle&#xff08;&#x672c;&#x673a;&#xff09;</name>
  220 + <server>localhost</server>
  221 + <type>MYSQL</type>
  222 + <access>Native</access>
  223 + <database>xlab_youle</database>
  224 + <port>3306</port>
  225 + <username>root</username>
  226 + <password>Encrypted </password>
  227 + <servername/>
  228 + <data_tablespace/>
  229 + <index_tablespace/>
  230 + <attributes>
  231 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  232 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  233 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  234 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  235 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  236 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  237 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  238 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  239 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  240 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  241 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  242 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  243 + </attributes>
  244 + </connection>
  245 + <connection>
  246 + <name>xlab_youle</name>
  247 + <server/>
  248 + <type>MYSQL</type>
  249 + <access>JNDI</access>
  250 + <database>xlab_youle</database>
  251 + <port>1521</port>
  252 + <username/>
  253 + <password>Encrypted </password>
  254 + <servername/>
  255 + <data_tablespace/>
  256 + <index_tablespace/>
  257 + <attributes>
  258 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  259 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  260 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  261 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  262 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  263 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  264 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  265 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  266 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  267 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  268 + </attributes>
  269 + </connection>
  270 + <order>
  271 + <hop> <from>&#x5b57;&#x6bb5;&#x6539;&#x540d;</from><to>&#x67e5;&#x8be2;&#x7ebf;&#x8def;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop>
  272 + <hop> <from>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_gbi</from><to>&#x9519;&#x8bef;&#x8f93;&#x51fa;</to><enabled>Y</enabled> </hop>
  273 + <hop> <from>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</from><to>&#x5b57;&#x6bb5;&#x6539;&#x540d;</to><enabled>Y</enabled> </hop>
  274 + <hop> <from>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</from><to>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</to><enabled>Y</enabled> </hop>
  275 + <hop> <from>&#x67e5;&#x8be2;&#x7ebf;&#x8def;&#x5173;&#x8054;</from><to>&#x542f;&#x7528;&#x88ab;&#x6570;&#x636e;flag</to><enabled>Y</enabled> </hop>
  276 + <hop> <from>&#x542f;&#x7528;&#x88ab;&#x6570;&#x636e;flag</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_gbi</to><enabled>Y</enabled> </hop>
  277 + </order>
  278 + <step>
  279 + <name>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</name>
  280 + <type>ExcelInput</type>
  281 + <description/>
  282 + <distribute>Y</distribute>
  283 + <custom_distribution/>
  284 + <copies>1</copies>
  285 + <partitioning>
  286 + <method>none</method>
  287 + <schema_name/>
  288 + </partitioning>
  289 + <header>Y</header>
  290 + <noempty>Y</noempty>
  291 + <stoponempty>N</stoponempty>
  292 + <filefield/>
  293 + <sheetfield/>
  294 + <sheetrownumfield/>
  295 + <rownumfield/>
  296 + <sheetfield/>
  297 + <filefield/>
  298 + <limit>0</limit>
  299 + <encoding/>
  300 + <add_to_result_filenames>Y</add_to_result_filenames>
  301 + <accept_filenames>Y</accept_filenames>
  302 + <accept_field>filepath_</accept_field>
  303 + <accept_stepname>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</accept_stepname>
  304 + <file>
  305 + <name/>
  306 + <filemask/>
  307 + <exclude_filemask/>
  308 + <file_required>N</file_required>
  309 + <include_subfolders>N</include_subfolders>
  310 + </file>
  311 + <fields>
  312 + <field>
  313 + <name>&#x7ebf;&#x8def;</name>
  314 + <type>String</type>
  315 + <length>-1</length>
  316 + <precision>-1</precision>
  317 + <trim_type>none</trim_type>
  318 + <repeat>N</repeat>
  319 + <format/>
  320 + <currency/>
  321 + <decimal/>
  322 + <group/>
  323 + </field>
  324 + <field>
  325 + <name>&#x8def;&#x724c;&#x7f16;&#x53f7;</name>
  326 + <type>String</type>
  327 + <length>-1</length>
  328 + <precision>-1</precision>
  329 + <trim_type>none</trim_type>
  330 + <repeat>N</repeat>
  331 + <format>&#x23;</format>
  332 + <currency/>
  333 + <decimal/>
  334 + <group/>
  335 + </field>
  336 + <field>
  337 + <name>&#x8def;&#x724c;&#x540d;&#x79f0;</name>
  338 + <type>String</type>
  339 + <length>-1</length>
  340 + <precision>-1</precision>
  341 + <trim_type>none</trim_type>
  342 + <repeat>N</repeat>
  343 + <format>&#x23;</format>
  344 + <currency/>
  345 + <decimal/>
  346 + <group/>
  347 + </field>
  348 + <field>
  349 + <name>&#x8def;&#x724c;&#x7c7b;&#x578b;</name>
  350 + <type>String</type>
  351 + <length>-1</length>
  352 + <precision>-1</precision>
  353 + <trim_type>none</trim_type>
  354 + <repeat>N</repeat>
  355 + <format/>
  356 + <currency/>
  357 + <decimal/>
  358 + <group/>
  359 + </field>
  360 + </fields>
  361 + <sheets>
  362 + <sheet>
  363 + <name>&#x5de5;&#x4f5c;&#x8868;1</name>
  364 + <startrow>0</startrow>
  365 + <startcol>0</startcol>
  366 + </sheet>
  367 + </sheets>
  368 + <strict_types>N</strict_types>
  369 + <error_ignored>N</error_ignored>
  370 + <error_line_skipped>N</error_line_skipped>
  371 + <bad_line_files_destination_directory/>
  372 + <bad_line_files_extension>warning</bad_line_files_extension>
  373 + <error_line_files_destination_directory/>
  374 + <error_line_files_extension>error</error_line_files_extension>
  375 + <line_number_files_destination_directory/>
  376 + <line_number_files_extension>line</line_number_files_extension>
  377 + <shortFileFieldName/>
  378 + <pathFieldName/>
  379 + <hiddenFieldName/>
  380 + <lastModificationTimeFieldName/>
  381 + <uriNameFieldName/>
  382 + <rootUriNameFieldName/>
  383 + <extensionFieldName/>
  384 + <sizeFieldName/>
  385 + <spreadsheet_type>JXL</spreadsheet_type>
  386 + <cluster_schema/>
  387 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  388 + <xloc>150</xloc>
  389 + <yloc>68</yloc>
  390 + <draw>Y</draw>
  391 + </GUI>
  392 + </step>
  393 +
  394 + <step>
  395 + <name>&#x542f;&#x7528;&#x88ab;&#x6570;&#x636e;flag</name>
  396 + <type>Constant</type>
  397 + <description/>
  398 + <distribute>Y</distribute>
  399 + <custom_distribution/>
  400 + <copies>1</copies>
  401 + <partitioning>
  402 + <method>none</method>
  403 + <schema_name/>
  404 + </partitioning>
  405 + <fields>
  406 + <field>
  407 + <name>isCancel</name>
  408 + <type>Integer</type>
  409 + <format/>
  410 + <currency/>
  411 + <decimal/>
  412 + <group/>
  413 + <nullif>0</nullif>
  414 + <length>-1</length>
  415 + <precision>-1</precision>
  416 + <set_empty_string>N</set_empty_string>
  417 + </field>
  418 + </fields>
  419 + <cluster_schema/>
  420 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  421 + <xloc>544</xloc>
  422 + <yloc>70</yloc>
  423 + <draw>Y</draw>
  424 + </GUI>
  425 + </step>
  426 +
  427 + <step>
  428 + <name>&#x5b57;&#x6bb5;&#x6539;&#x540d;</name>
  429 + <type>SelectValues</type>
  430 + <description/>
  431 + <distribute>Y</distribute>
  432 + <custom_distribution/>
  433 + <copies>1</copies>
  434 + <partitioning>
  435 + <method>none</method>
  436 + <schema_name/>
  437 + </partitioning>
  438 + <fields> <select_unspecified>N</select_unspecified>
  439 + <meta> <name>&#x7ebf;&#x8def;</name>
  440 + <rename>xl</rename>
  441 + <type>String</type>
  442 + <length>-2</length>
  443 + <precision>-2</precision>
  444 + <conversion_mask/>
  445 + <date_format_lenient>false</date_format_lenient>
  446 + <date_format_locale/>
  447 + <date_format_timezone/>
  448 + <lenient_string_to_number>false</lenient_string_to_number>
  449 + <encoding/>
  450 + <decimal_symbol/>
  451 + <grouping_symbol/>
  452 + <currency_symbol/>
  453 + <storage_type/>
  454 + </meta> <meta> <name>&#x8def;&#x724c;&#x7f16;&#x53f7;</name>
  455 + <rename>lpno</rename>
  456 + <type>Integer</type>
  457 + <length>-2</length>
  458 + <precision>-2</precision>
  459 + <conversion_mask/>
  460 + <date_format_lenient>false</date_format_lenient>
  461 + <date_format_locale/>
  462 + <date_format_timezone/>
  463 + <lenient_string_to_number>false</lenient_string_to_number>
  464 + <encoding/>
  465 + <decimal_symbol/>
  466 + <grouping_symbol/>
  467 + <currency_symbol/>
  468 + <storage_type/>
  469 + </meta> <meta> <name>&#x8def;&#x724c;&#x540d;&#x79f0;</name>
  470 + <rename>lpname</rename>
  471 + <type>String</type>
  472 + <length>-2</length>
  473 + <precision>-2</precision>
  474 + <conversion_mask/>
  475 + <date_format_lenient>false</date_format_lenient>
  476 + <date_format_locale/>
  477 + <date_format_timezone/>
  478 + <lenient_string_to_number>false</lenient_string_to_number>
  479 + <encoding/>
  480 + <decimal_symbol/>
  481 + <grouping_symbol/>
  482 + <currency_symbol/>
  483 + <storage_type/>
  484 + </meta> <meta> <name>&#x8def;&#x724c;&#x7c7b;&#x578b;</name>
  485 + <rename>lptype</rename>
  486 + <type>String</type>
  487 + <length>-2</length>
  488 + <precision>-2</precision>
  489 + <conversion_mask/>
  490 + <date_format_lenient>false</date_format_lenient>
  491 + <date_format_locale/>
  492 + <date_format_timezone/>
  493 + <lenient_string_to_number>false</lenient_string_to_number>
  494 + <encoding/>
  495 + <decimal_symbol/>
  496 + <grouping_symbol/>
  497 + <currency_symbol/>
  498 + <storage_type/>
  499 + </meta> </fields> <cluster_schema/>
  500 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  501 + <xloc>295</xloc>
  502 + <yloc>68</yloc>
  503 + <draw>Y</draw>
  504 + </GUI>
  505 + </step>
  506 +
  507 + <step>
  508 + <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_gbi</name>
  509 + <type>InsertUpdate</type>
  510 + <description/>
  511 + <distribute>Y</distribute>
  512 + <custom_distribution/>
  513 + <copies>1</copies>
  514 + <partitioning>
  515 + <method>none</method>
  516 + <schema_name/>
  517 + </partitioning>
  518 + <connection>bus_control_variable</connection>
  519 + <commit>100</commit>
  520 + <update_bypassed>N</update_bypassed>
  521 + <lookup>
  522 + <schema/>
  523 + <table>bsth_c_s_gbi</table>
  524 + <key>
  525 + <name>xlid</name>
  526 + <field>xl</field>
  527 + <condition>&#x3d;</condition>
  528 + <name2/>
  529 + </key>
  530 + <key>
  531 + <name>lpname</name>
  532 + <field>lp_name</field>
  533 + <condition>&#x3d;</condition>
  534 + <name2/>
  535 + </key>
  536 + <key>
  537 + <name>isCancel</name>
  538 + <field>is_cancel</field>
  539 + <condition>&#x3d;</condition>
  540 + <name2/>
  541 + </key>
  542 + <value>
  543 + <name>xl</name>
  544 + <rename>xlid</rename>
  545 + <update>Y</update>
  546 + </value>
  547 + <value>
  548 + <name>lp_no</name>
  549 + <rename>lpno</rename>
  550 + <update>Y</update>
  551 + </value>
  552 + <value>
  553 + <name>lp_name</name>
  554 + <rename>lpname</rename>
  555 + <update>Y</update>
  556 + </value>
  557 + <value>
  558 + <name>lp_type</name>
  559 + <rename>lptype</rename>
  560 + <update>Y</update>
  561 + </value>
  562 + <value>
  563 + <name>is_cancel</name>
  564 + <rename>isCancel</rename>
  565 + <update>Y</update>
  566 + </value>
  567 + </lookup>
  568 + <cluster_schema/>
  569 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  570 + <xloc>545</xloc>
  571 + <yloc>184</yloc>
  572 + <draw>Y</draw>
  573 + </GUI>
  574 + </step>
  575 +
  576 + <step>
  577 + <name>&#x67e5;&#x8be2;&#x7ebf;&#x8def;&#x5173;&#x8054;</name>
  578 + <type>DBLookup</type>
  579 + <description/>
  580 + <distribute>Y</distribute>
  581 + <custom_distribution/>
  582 + <copies>1</copies>
  583 + <partitioning>
  584 + <method>none</method>
  585 + <schema_name/>
  586 + </partitioning>
  587 + <connection>bus_control_variable</connection>
  588 + <cache>Y</cache>
  589 + <cache_load_all>Y</cache_load_all>
  590 + <cache_size>0</cache_size>
  591 + <lookup>
  592 + <schema/>
  593 + <table>bsth_c_line</table>
  594 + <orderby/>
  595 + <fail_on_multiple>N</fail_on_multiple>
  596 + <eat_row_on_failure>N</eat_row_on_failure>
  597 + <key>
  598 + <name>xl</name>
  599 + <field>name</field>
  600 + <condition>&#x3d;</condition>
  601 + <name2/>
  602 + </key>
  603 + <value>
  604 + <name>id</name>
  605 + <rename>xlid</rename>
  606 + <default/>
  607 + <type>Integer</type>
  608 + </value>
  609 + </lookup>
  610 + <cluster_schema/>
  611 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  612 + <xloc>428</xloc>
  613 + <yloc>69</yloc>
  614 + <draw>Y</draw>
  615 + </GUI>
  616 + </step>
  617 +
  618 + <step>
  619 + <name>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</name>
  620 + <type>GetVariable</type>
  621 + <description/>
  622 + <distribute>Y</distribute>
  623 + <custom_distribution/>
  624 + <copies>1</copies>
  625 + <partitioning>
  626 + <method>none</method>
  627 + <schema_name/>
  628 + </partitioning>
  629 + <fields>
  630 + <field>
  631 + <name>filepath_</name>
  632 + <variable>&#x24;&#x7b;filepath&#x7d;</variable>
  633 + <type>String</type>
  634 + <format/>
  635 + <currency/>
  636 + <decimal/>
  637 + <group/>
  638 + <length>-1</length>
  639 + <precision>-1</precision>
  640 + <trim_type>none</trim_type>
  641 + </field>
  642 + <field>
  643 + <name>erroroutputdir_</name>
  644 + <variable>&#x24;&#x7b;erroroutputdir&#x7d;</variable>
  645 + <type>String</type>
  646 + <format/>
  647 + <currency/>
  648 + <decimal/>
  649 + <group/>
  650 + <length>-1</length>
  651 + <precision>-1</precision>
  652 + <trim_type>none</trim_type>
  653 + </field>
  654 + </fields>
  655 + <cluster_schema/>
  656 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  657 + <xloc>152</xloc>
  658 + <yloc>193</yloc>
  659 + <draw>Y</draw>
  660 + </GUI>
  661 + </step>
  662 +
  663 + <step>
  664 + <name>&#x9519;&#x8bef;&#x8f93;&#x51fa;</name>
  665 + <type>ExcelOutput</type>
  666 + <description/>
  667 + <distribute>Y</distribute>
  668 + <custom_distribution/>
  669 + <copies>1</copies>
  670 + <partitioning>
  671 + <method>none</method>
  672 + <schema_name/>
  673 + </partitioning>
  674 + <header>Y</header>
  675 + <footer>N</footer>
  676 + <encoding>UTF-8</encoding>
  677 + <append>N</append>
  678 + <add_to_result_filenames>Y</add_to_result_filenames>
  679 + <file>
  680 + <name>&#x24;&#x7b;erroroutputdir&#x7d;&#x2f;&#x8def;&#x724c;_&#x9519;&#x8bef;</name>
  681 + <extention>xls</extention>
  682 + <do_not_open_newfile_init>N</do_not_open_newfile_init>
  683 + <create_parent_folder>N</create_parent_folder>
  684 + <split>N</split>
  685 + <add_date>N</add_date>
  686 + <add_time>N</add_time>
  687 + <SpecifyFormat>N</SpecifyFormat>
  688 + <date_time_format/>
  689 + <sheetname>Sheet1</sheetname>
  690 + <autosizecolums>N</autosizecolums>
  691 + <nullisblank>N</nullisblank>
  692 + <protect_sheet>N</protect_sheet>
  693 + <password>Encrypted </password>
  694 + <splitevery>0</splitevery>
  695 + <usetempfiles>N</usetempfiles>
  696 + <tempdirectory/>
  697 + </file>
  698 + <template>
  699 + <enabled>N</enabled>
  700 + <append>N</append>
  701 + <filename>template.xls</filename>
  702 + </template>
  703 + <fields>
  704 + <field>
  705 + <name>filepath_</name>
  706 + <type>String</type>
  707 + <format/>
  708 + </field>
  709 + <field>
  710 + <name>erroroutputdir_</name>
  711 + <type>String</type>
  712 + <format/>
  713 + </field>
  714 + <field>
  715 + <name>xl</name>
  716 + <type>String</type>
  717 + <format/>
  718 + </field>
  719 + <field>
  720 + <name>lpno</name>
  721 + <type>Integer</type>
  722 + <format/>
  723 + </field>
  724 + <field>
  725 + <name>lpname</name>
  726 + <type>String</type>
  727 + <format/>
  728 + </field>
  729 + <field>
  730 + <name>lptype</name>
  731 + <type>String</type>
  732 + <format/>
  733 + </field>
  734 + <field>
  735 + <name>xlid</name>
  736 + <type>Integer</type>
  737 + <format/>
  738 + </field>
  739 + <field>
  740 + <name>isCancel</name>
  741 + <type>Integer</type>
  742 + <format/>
  743 + </field>
  744 + <field>
  745 + <name>error_count</name>
  746 + <type>Integer</type>
  747 + <format/>
  748 + </field>
  749 + <field>
  750 + <name>error_desc</name>
  751 + <type>String</type>
  752 + <format/>
  753 + </field>
  754 + <field>
  755 + <name>error_column1</name>
  756 + <type>String</type>
  757 + <format/>
  758 + </field>
  759 + <field>
  760 + <name>error_column2</name>
  761 + <type>String</type>
  762 + <format/>
  763 + </field>
  764 + </fields>
  765 + <custom>
  766 + <header_font_name>arial</header_font_name>
  767 + <header_font_size>10</header_font_size>
  768 + <header_font_bold>N</header_font_bold>
  769 + <header_font_italic>N</header_font_italic>
  770 + <header_font_underline>no</header_font_underline>
  771 + <header_font_orientation>horizontal</header_font_orientation>
  772 + <header_font_color>black</header_font_color>
  773 + <header_background_color>none</header_background_color>
  774 + <header_row_height>255</header_row_height>
  775 + <header_alignment>left</header_alignment>
  776 + <header_image/>
  777 + <row_font_name>arial</row_font_name>
  778 + <row_font_size>10</row_font_size>
  779 + <row_font_color>black</row_font_color>
  780 + <row_background_color>none</row_background_color>
  781 + </custom>
  782 + <cluster_schema/>
  783 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  784 + <xloc>545</xloc>
  785 + <yloc>307</yloc>
  786 + <draw>Y</draw>
  787 + </GUI>
  788 + </step>
  789 +
  790 + <step_error_handling>
  791 + <error>
  792 + <source_step>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_gbi</source_step>
  793 + <target_step>&#x9519;&#x8bef;&#x8f93;&#x51fa;</target_step>
  794 + <is_enabled>Y</is_enabled>
  795 + <nr_valuename>error_count</nr_valuename>
  796 + <descriptions_valuename>error_desc</descriptions_valuename>
  797 + <fields_valuename>error_column1</fields_valuename>
  798 + <codes_valuename>error_column2</codes_valuename>
  799 + <max_errors/>
  800 + <max_pct_errors/>
  801 + <min_pct_rows/>
  802 + </error>
  803 + </step_error_handling>
  804 + <slave-step-copy-partition-distribution>
  805 +</slave-step-copy-partition-distribution>
  806 + <slave_transformation>N</slave_transformation>
  807 +
  808 +</transformation>
... ...
src/test/java/com/bsth/service/schedule/BaseTest.java 0 → 100644
  1 +package com.bsth.service.schedule;
  2 +
  3 +import org.junit.runner.RunWith;
  4 +import org.springframework.boot.test.SpringApplicationConfiguration;
  5 +import org.springframework.test.context.ActiveProfiles;
  6 +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
  7 +
  8 +/**
  9 + * 基础测试类。
  10 + */
  11 +@RunWith(SpringJUnit4ClassRunner.class)
  12 +@SpringApplicationConfiguration(classes = ScheduleTestApp.class)
  13 +@ActiveProfiles("scheduletest")
  14 +//@WebIntegrationTest({"server.port=0","management.port=0"})
  15 +public class BaseTest {
  16 +}
... ...
src/test/java/com/bsth/service/schedule/ScheduleTestApp.java 0 → 100644
  1 +package com.bsth.service.schedule;
  2 +
  3 +import com.bsth.service.schedule.impl.SchedulePlanRuleResultServiceImpl;
  4 +import com.bsth.service.schedule.impl.SchedulePlanServiceImpl;
  5 +import com.bsth.service.schedule.rules.MyDroolsConfiguration;
  6 +import com.bsth.service.schedule.utils.DataToolsServiceImpl;
  7 +import org.springframework.boot.autoconfigure.SpringBootApplication;
  8 +import org.springframework.boot.orm.jpa.EntityScan;
  9 +import org.springframework.context.annotation.ComponentScan;
  10 +import org.springframework.context.annotation.Configuration;
  11 +import org.springframework.context.annotation.FilterType;
  12 +import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
  13 +
  14 +/**
  15 + * 基础测试类(用于计划调度模块测试测试)。
  16 + * 配置计划调度的模块的用到的entity,repository,service
  17 + *
  18 + * 注意:测试环境下测试类 TestApp 和springdata的类不在统一级包里,必须指定EnableJpaRepositories
  19 + */
  20 +@Configuration
  21 +@EntityScan(
  22 + basePackages = {"com.bsth.entity"}
  23 +)
  24 +@ComponentScan(
  25 + basePackages = {"com.bsth.repository", "com.bsth.service"},
  26 + useDefaultFilters = false,
  27 + includeFilters = {
  28 + @ComponentScan.Filter(
  29 + type = FilterType.ASSIGNABLE_TYPE,
  30 + value = SchedulePlanRuleResultServiceImpl.class
  31 + ),
  32 + @ComponentScan.Filter(
  33 + type = FilterType.ASSIGNABLE_TYPE,
  34 + value = SchedulePlanServiceImpl.class
  35 + ),
  36 + @ComponentScan.Filter(
  37 + type = FilterType.ASSIGNABLE_TYPE,
  38 + value = MyDroolsConfiguration.class
  39 + ),
  40 + @ComponentScan.Filter(
  41 + type = FilterType.ASSIGNABLE_TYPE,
  42 + value = DataToolsServiceImpl.class
  43 + )
  44 + }
  45 +)
  46 +@EnableJpaRepositories(
  47 + basePackages = {"com.bsth.repository"}
  48 +)
  49 +@SpringBootApplication
  50 +public class ScheduleTestApp {
  51 +}
... ...
src/test/java/com/bsth/service/schedule/rules/DroolsRulesTest.java deleted 100644 → 0
1   -package com.bsth.service.schedule.rules;
2   -
3   -import com.bsth.Application;
4   -import com.bsth.service.schedule.rules.shiftloop.ScheduleCalcuParam_input;
5   -import com.bsth.service.schedule.rules.shiftloop.ScheduleResults_output;
6   -import com.bsth.service.schedule.rules.shiftloop.ScheduleRule_input;
7   -import com.bsth.service.schedule.rules.ttinfo.TTInfoCalcuParam_input;
8   -import com.bsth.service.schedule.rules.ttinfo.TTInfoResults_output;
9   -import com.bsth.service.schedule.rules.ttinfo.TTInfo_input;
10   -import org.joda.time.DateTime;
11   -import org.junit.Test;
12   -import org.junit.runner.RunWith;
13   -import org.kie.api.KieBase;
14   -import org.kie.api.runtime.KieSession;
15   -import org.slf4j.Logger;
16   -import org.slf4j.LoggerFactory;
17   -import org.springframework.beans.factory.annotation.Autowired;
18   -import org.springframework.boot.test.SpringApplicationConfiguration;
19   -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
20   -
21   -import java.util.Arrays;
22   -
23   -@RunWith(SpringJUnit4ClassRunner.class)
24   -@SpringApplicationConfiguration(classes = {Application.class})
25   -public class DroolsRulesTest {
26   -
27   - /** 日志记录器 */
28   - private final static Logger logger = LoggerFactory.getLogger(DroolsRulesTest.class);
29   -
30   - @Autowired
31   - private KieBase kieBase;
32   -
33   -// @Test
34   -// public void helloWorldDrlTest() throws Exception {
35   -// // 1、创建session,内部配置的是stateful
36   -// KieSession session = kieBase.newKieSession();
37   -//
38   -// // 1.1 设置gloable对象,在drl中通过别名使用
39   -// List<String> gloableList = new ArrayList<String>();
40   -// session.setGlobal("list", gloableList);
41   -//
42   -// // 1.2 可以设置一些监听器,再议
43   -//
44   -// // 2、创建fact对象
45   -// Message message = new Message();
46   -// message.setMessage("Hello World");
47   -// message.setStatus(Message.HELLO);
48   -// session.insert(message);
49   -//
50   -// // 3、执行rule
51   -// session.fireAllRules();
52   -//
53   -// System.out.println(gloableList);
54   -//
55   -// // 4、执行完毕销毁,有日志的也要关闭
56   -// session.dispose();
57   -// }
58   -
59   -// @Test
60   - public void ttinfoDrlTest() throws Exception {
61   - logger.info("------------ttinfoDrlTest 测试---------------");
62   -
63   - // 1、创建session,内部配置的是stateful
64   - KieSession session = kieBase.newKieSession();
65   -
66   - // 1.1 设置gloable对象,在drl中通过别人使用
67   - session.setGlobal("log", logger);
68   - TTInfoResults_output ttInfoResults_output = new TTInfoResults_output();
69   - session.setGlobal("results", ttInfoResults_output);
70   -
71   - // 1.2 可以设置一些监听器,再议
72   -
73   - // 2、创建fact对象
74   - TTInfoCalcuParam_input ttInfoCalcuParam_input = new TTInfoCalcuParam_input(
75   - new DateTime(2016, 8, 1, 0, 0),
76   - new DateTime(2016, 8, 10, 0, 0),
77   - "1"
78   - );
79   -
80   -
81   - TTInfo_input ttInfo_input1 = new TTInfo_input();
82   - ttInfo_input1.setTtInfoId("1");
83   - ttInfo_input1.setXlId("1");
84   - ttInfo_input1.setWeekdays(Arrays.asList(true, true, true, true, true, false, false));
85   - ttInfo_input1.getSpecialDays().add(new DateTime(2016, 8, 1, 0, 0));
86   - ttInfo_input1.setUpdateDate(new DateTime(2016, 1, 1, 0, 0));
87   - ttInfo_input1.setIsEnable(true);
88   - ttInfo_input1.setQyDate(new DateTime(2016, 1, 1, 0, 0));
89   -
90   - TTInfo_input ttInfo_input1_2 = new TTInfo_input();
91   - ttInfo_input1_2.setTtInfoId("2");
92   - ttInfo_input1_2.setXlId("1");
93   - ttInfo_input1_2.setWeekdays(Arrays.asList(true, false, false, false, false, true, false));
94   - ttInfo_input1_2.getSpecialDays().add(new DateTime(2016, 8, 11, 0, 0));
95   - ttInfo_input1_2.setUpdateDate(new DateTime(2015, 2, 1, 0, 0));
96   - ttInfo_input1_2.setIsEnable(true);
97   - ttInfo_input1_2.setQyDate(new DateTime(2016, 1, 1, 0, 0));
98   -
99   -
100   - TTInfoCalcuParam_input ttInfoCalcuParam_inpu2 = new TTInfoCalcuParam_input(
101   - new DateTime(2016, 8, 1, 0, 0),
102   - new DateTime(2016, 8, 10, 0, 0),
103   - "2"
104   - );
105   -
106   - TTInfo_input ttInfo_input2 = new TTInfo_input();
107   - ttInfo_input2.setTtInfoId("2");
108   - ttInfo_input2.setXlId("2");
109   - ttInfo_input2.setWeekdays(Arrays.asList(true, false, false, false, false, true, false));
110   - ttInfo_input2.getSpecialDays().add(new DateTime(2016, 8, 11, 0, 0));
111   - ttInfo_input2.setUpdateDate(new DateTime(2016, 1, 1, 0, 0));
112   - ttInfo_input2.setIsEnable(true);
113   - ttInfo_input2.setQyDate(new DateTime(2016, 1, 1, 0, 0));
114   -
115   - session.insert(ttInfoCalcuParam_input);
116   - session.insert(ttInfo_input1);
117   - session.insert(ttInfo_input1_2);
118   - session.insert(ttInfoCalcuParam_inpu2);
119   - session.insert(ttInfo_input2);
120   -
121   -
122   -
123   - // 3、执行rule
124   - session.fireAllRules();
125   -
126   - // 4、执行完毕销毁,有日志的也要关闭
127   - session.dispose();
128   -
129   - // 打印global结果
130   - logger.info(ttInfoResults_output.showTTInfoDesc1());
131   -
132   - }
133   -
134   - @Test
135   - public void shiftloopDrlTest() throws Exception {
136   - // 1、创建session,内部配置的是stateful
137   - KieSession session = kieBase.newKieSession();
138   -
139   - // 1.1 设置gloable对象,在drl中通过别名使用
140   - ScheduleResults_output scheduleResults_output = new ScheduleResults_output();
141   - session.setGlobal("scheduleResult", scheduleResults_output);
142   -
143   - // 1.2 可以设置一些监听器,再议
144   -
145   - // 2、创建fact对象
146   -
147   - ScheduleCalcuParam_input scheduleCalcuParam_input = new ScheduleCalcuParam_input();
148   - scheduleCalcuParam_input.setFromDate(new DateTime(2016, 8, 1, 0, 0));
149   - scheduleCalcuParam_input.setToDate(new DateTime(2016, 8, 10, 0, 0));
150   -
151   - ScheduleRule_input scheduleRule_input1 = new ScheduleRule_input();
152   - scheduleRule_input1.setRuleId("1");
153   - scheduleRule_input1.setQyrq(new DateTime(2016, 7, 22, 0, 0));
154   - scheduleRule_input1.getGuideboardIds().addAll(Arrays.asList(
155   - "9", "9" , "8" ,"8" ,"7" ,"7" ,"6" ,"6", "5", "5", "4", "4", "3", "3", "2", "2", "1", "1"));
156   - scheduleRule_input1.setStartGbdIndex(3);
157   - scheduleRule_input1.getEmployeeConfigIds().addAll(Arrays.asList("1", "2"));
158   - scheduleRule_input1.setStartEIndex(1);
159   - scheduleRule_input1.setCarConfigId("1");
160   -
161   -// ScheduleRule_input scheduleRule_input2 = new ScheduleRule_input();
162   -// scheduleRule_input2.setRuleId(2L);
163   -// scheduleRule_input2.setQyrq(new DateTime(2016, 7, 22, 0, 0));
164   -// scheduleRule_input2.getGuideboardIds().addAll(Arrays.asList(
165   -// 1L, 1L, 2L, 2L, 3L, 3L, 4L, 4L, 5L, 5L, 6L, 6L, 7L, 7L, 8L, 8L, 9L, 9L, 10L, 10L,
166   -// 11L, 11L, 12L, 12L, 13L, 13L));
167   -// scheduleRule_input2.setStartGbdIndex(7);
168   -// scheduleRule_input2.getEmployeeConfigIds().addAll(Arrays.asList(11L, 12L));
169   -// scheduleRule_input2.setStartEIndex(1);
170   -// scheduleRule_input2.setCarConfigId(2L);
171   -
172   - session.insert(scheduleCalcuParam_input);
173   - session.insert(scheduleRule_input1);
174   -// session.insert(scheduleRule_input2);
175   -
176   -
177   - // 3、执行rule
178   - session.fireAllRules();
179   -
180   - // 4、执行完毕销毁,有日志的也要关闭
181   - session.dispose();
182   -
183   - System.out.println(scheduleResults_output.showGuideboardDesc1());
184   -
185   - }
186   -}
src/test/java/com/bsth/service/schedule/rules/DroolsRulesTest2.java deleted 100644 → 0
1   -package com.bsth.service.schedule.rules;
2   -
3   -import com.bsth.Application;
4   -import org.junit.runner.RunWith;
5   -import org.kie.api.KieBase;
6   -import org.springframework.beans.factory.annotation.Autowired;
7   -import org.springframework.boot.test.SpringApplicationConfiguration;
8   -import org.springframework.context.annotation.ComponentScan;
9   -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
10   -
11   -/**
12   - * 测试类。
13   - */
14   -@RunWith(SpringJUnit4ClassRunner.class)
15   -@SpringApplicationConfiguration(classes = {Application.class})
16   -@ComponentScan(basePackages = {"com.bsth.entity"})
17   -public class DroolsRulesTest2 {
18   - @Autowired
19   - private KieBase kieBase;
20   -
21   - @org.junit.Test
22   - public void test1() throws Exception {
23   - System.out.println("dfdfdfdfd");
24   - }
25   -
26   -}
src/test/java/com/bsth/service/schedule/rules/RuleTest1.java 0 → 100644
  1 +package com.bsth.service.schedule.rules;
  2 +
  3 +import com.bsth.entity.sys.SysUser;
  4 +import com.bsth.repository.sys.SysUserRepository;
  5 +import com.bsth.service.schedule.BaseTest;
  6 +import com.vividsolutions.jts.util.Assert;
  7 +import org.dbunit.database.DatabaseConnection;
  8 +import org.dbunit.database.IDatabaseConnection;
  9 +import org.dbunit.dataset.IDataSet;
  10 +import org.dbunit.dataset.xml.FlatXmlDataSetBuilder;
  11 +import org.dbunit.operation.DatabaseOperation;
  12 +import org.junit.After;
  13 +import org.junit.Before;
  14 +import org.slf4j.Logger;
  15 +import org.slf4j.LoggerFactory;
  16 +import org.springframework.beans.factory.annotation.Autowired;
  17 +import org.springframework.core.io.ClassPathResource;
  18 +import org.springframework.core.io.Resource;
  19 +
  20 +import javax.sql.DataSource;
  21 +
  22 +public class RuleTest1 extends BaseTest {
  23 + /** 日志记录器 */
  24 + private static final Logger logger = LoggerFactory.getLogger(RuleTest1.class);
  25 +
  26 + @Autowired
  27 + private DataSource dataSource;
  28 +
  29 + @Autowired
  30 + private SysUserRepository sysUserRepository;
  31 +
  32 + /**
  33 + * 初始化数据。
  34 + */
  35 + @Before
  36 + public void initData() throws Exception {
  37 + logger.info("载入数据......");
  38 +
  39 + // 获取数据库连接
  40 + IDatabaseConnection iDatabaseConnection = new DatabaseConnection(dataSource.getConnection());
  41 + // 获取Dbunit数据源
  42 + Resource res = new ClassPathResource("testdata/d1.xml");
  43 + FlatXmlDataSetBuilder flatXmlDataSetBuilder = new FlatXmlDataSetBuilder();
  44 + flatXmlDataSetBuilder.setColumnSensing(false);
  45 + flatXmlDataSetBuilder.setCaseSensitiveTableNames(false);
  46 + IDataSet iDataSet = flatXmlDataSetBuilder.build(res.getInputStream());
  47 +
  48 + // 载入数据
  49 + DatabaseOperation.CLEAN_INSERT.execute(iDatabaseConnection, iDataSet);
  50 + }
  51 +
  52 + /**
  53 + * 清除数据。
  54 + */
  55 + @After
  56 + public void destoryData() throws Exception {
  57 + logger.info("清除数据......");
  58 + // 获取数据库连接
  59 + IDatabaseConnection iDatabaseConnection = new DatabaseConnection(dataSource.getConnection());
  60 + // 获取Dbunit数据源
  61 + Resource res = new ClassPathResource("testdata/d1.xml");
  62 + FlatXmlDataSetBuilder flatXmlDataSetBuilder = new FlatXmlDataSetBuilder();
  63 + flatXmlDataSetBuilder.setColumnSensing(false);
  64 + flatXmlDataSetBuilder.setCaseSensitiveTableNames(false);
  65 + IDataSet iDataSet = flatXmlDataSetBuilder.build(res.getInputStream());
  66 +
  67 + // 清除数据
  68 + DatabaseOperation.DELETE_ALL.execute(iDatabaseConnection, iDataSet);
  69 + }
  70 +
  71 + @org.junit.Test
  72 + public void t1() {
  73 + logger.info("t1()测试......");
  74 + SysUser sysUser = sysUserRepository.findOne(1);
  75 + Assert.equals("admin", sysUser.getUserName());
  76 + }
  77 +}
  78 +
  79 +//
  80 +//
  81 +//package com.bsth.service.schedule.rules;
  82 +//
  83 +// import com.bsth.Application;
  84 +// import com.bsth.service.schedule.rules.shiftloop.ScheduleCalcuParam_input;
  85 +// import com.bsth.service.schedule.rules.shiftloop.ScheduleResults_output;
  86 +// import com.bsth.service.schedule.rules.shiftloop.ScheduleRule_input;
  87 +// import com.bsth.service.schedule.rules.ttinfo.TTInfoCalcuParam_input;
  88 +// import com.bsth.service.schedule.rules.ttinfo.TTInfoResults_output;
  89 +// import com.bsth.service.schedule.rules.ttinfo.TTInfo_input;
  90 +// import org.joda.time.DateTime;
  91 +// import org.junit.Test;
  92 +// import org.junit.runner.RunWith;
  93 +// import org.kie.api.KieBase;
  94 +// import org.kie.api.runtime.KieSession;
  95 +// import org.slf4j.Logger;
  96 +// import org.slf4j.LoggerFactory;
  97 +// import org.springframework.beans.factory.annotation.Autowired;
  98 +// import org.springframework.boot.test.SpringApplicationConfiguration;
  99 +// import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
  100 +//
  101 +// import java.util.Arrays;
  102 +//
  103 +//@RunWith(SpringJUnit4ClassRunner.class)
  104 +//@SpringApplicationConfiguration(classes = {Application.class})
  105 +//public class DroolsRulesTest {
  106 +//
  107 +// /** 日志记录器 */
  108 +// private final static Logger logger = LoggerFactory.getLogger(DroolsRulesTest.class);
  109 +//
  110 +// @Autowired
  111 +// private KieBase kieBase;
  112 +//
  113 +//// @Test
  114 +//// public void helloWorldDrlTest() throws Exception {
  115 +//// // 1、创建session,内部配置的是stateful
  116 +//// KieSession session = kieBase.newKieSession();
  117 +////
  118 +//// // 1.1 设置gloable对象,在drl中通过别名使用
  119 +//// List<String> gloableList = new ArrayList<String>();
  120 +//// session.setGlobal("list", gloableList);
  121 +////
  122 +//// // 1.2 可以设置一些监听器,再议
  123 +////
  124 +//// // 2、创建fact对象
  125 +//// Message message = new Message();
  126 +//// message.setMessage("Hello World");
  127 +//// message.setStatus(Message.HELLO);
  128 +//// session.insert(message);
  129 +////
  130 +//// // 3、执行rule
  131 +//// session.fireAllRules();
  132 +////
  133 +//// System.out.println(gloableList);
  134 +////
  135 +//// // 4、执行完毕销毁,有日志的也要关闭
  136 +//// session.dispose();
  137 +//// }
  138 +//
  139 +// // @Test
  140 +// public void ttinfoDrlTest() throws Exception {
  141 +// logger.info("------------ttinfoDrlTest 测试---------------");
  142 +//
  143 +// // 1、创建session,内部配置的是stateful
  144 +// KieSession session = kieBase.newKieSession();
  145 +//
  146 +// // 1.1 设置gloable对象,在drl中通过别人使用
  147 +// session.setGlobal("log", logger);
  148 +// TTInfoResults_output ttInfoResults_output = new TTInfoResults_output();
  149 +// session.setGlobal("results", ttInfoResults_output);
  150 +//
  151 +// // 1.2 可以设置一些监听器,再议
  152 +//
  153 +// // 2、创建fact对象
  154 +// TTInfoCalcuParam_input ttInfoCalcuParam_input = new TTInfoCalcuParam_input(
  155 +// new DateTime(2016, 8, 1, 0, 0),
  156 +// new DateTime(2016, 8, 10, 0, 0),
  157 +// "1"
  158 +// );
  159 +//
  160 +//
  161 +// TTInfo_input ttInfo_input1 = new TTInfo_input();
  162 +// ttInfo_input1.setTtInfoId("1");
  163 +// ttInfo_input1.setXlId("1");
  164 +// ttInfo_input1.setWeekdays(Arrays.asList(true, true, true, true, true, false, false));
  165 +// ttInfo_input1.getSpecialDays().add(new DateTime(2016, 8, 1, 0, 0));
  166 +// ttInfo_input1.setUpdateDate(new DateTime(2016, 1, 1, 0, 0));
  167 +// ttInfo_input1.setIsEnable(true);
  168 +// ttInfo_input1.setQyDate(new DateTime(2016, 1, 1, 0, 0));
  169 +//
  170 +// TTInfo_input ttInfo_input1_2 = new TTInfo_input();
  171 +// ttInfo_input1_2.setTtInfoId("2");
  172 +// ttInfo_input1_2.setXlId("1");
  173 +// ttInfo_input1_2.setWeekdays(Arrays.asList(true, false, false, false, false, true, false));
  174 +// ttInfo_input1_2.getSpecialDays().add(new DateTime(2016, 8, 11, 0, 0));
  175 +// ttInfo_input1_2.setUpdateDate(new DateTime(2015, 2, 1, 0, 0));
  176 +// ttInfo_input1_2.setIsEnable(true);
  177 +// ttInfo_input1_2.setQyDate(new DateTime(2016, 1, 1, 0, 0));
  178 +//
  179 +//
  180 +// TTInfoCalcuParam_input ttInfoCalcuParam_inpu2 = new TTInfoCalcuParam_input(
  181 +// new DateTime(2016, 8, 1, 0, 0),
  182 +// new DateTime(2016, 8, 10, 0, 0),
  183 +// "2"
  184 +// );
  185 +//
  186 +// TTInfo_input ttInfo_input2 = new TTInfo_input();
  187 +// ttInfo_input2.setTtInfoId("2");
  188 +// ttInfo_input2.setXlId("2");
  189 +// ttInfo_input2.setWeekdays(Arrays.asList(true, false, false, false, false, true, false));
  190 +// ttInfo_input2.getSpecialDays().add(new DateTime(2016, 8, 11, 0, 0));
  191 +// ttInfo_input2.setUpdateDate(new DateTime(2016, 1, 1, 0, 0));
  192 +// ttInfo_input2.setIsEnable(true);
  193 +// ttInfo_input2.setQyDate(new DateTime(2016, 1, 1, 0, 0));
  194 +//
  195 +// session.insert(ttInfoCalcuParam_input);
  196 +// session.insert(ttInfo_input1);
  197 +// session.insert(ttInfo_input1_2);
  198 +// session.insert(ttInfoCalcuParam_inpu2);
  199 +// session.insert(ttInfo_input2);
  200 +//
  201 +//
  202 +//
  203 +// // 3、执行rule
  204 +// session.fireAllRules();
  205 +//
  206 +// // 4、执行完毕销毁,有日志的也要关闭
  207 +// session.dispose();
  208 +//
  209 +// // 打印global结果
  210 +// logger.info(ttInfoResults_output.showTTInfoDesc1());
  211 +//
  212 +// }
  213 +//
  214 +// @Test
  215 +// public void shiftloopDrlTest() throws Exception {
  216 +// // 1、创建session,内部配置的是stateful
  217 +// KieSession session = kieBase.newKieSession();
  218 +//
  219 +// // 1.1 设置gloable对象,在drl中通过别名使用
  220 +// ScheduleResults_output scheduleResults_output = new ScheduleResults_output();
  221 +// session.setGlobal("scheduleResult", scheduleResults_output);
  222 +//
  223 +// // 1.2 可以设置一些监听器,再议
  224 +//
  225 +// // 2、创建fact对象
  226 +//
  227 +// ScheduleCalcuParam_input scheduleCalcuParam_input = new ScheduleCalcuParam_input();
  228 +// scheduleCalcuParam_input.setFromDate(new DateTime(2016, 8, 1, 0, 0));
  229 +// scheduleCalcuParam_input.setToDate(new DateTime(2016, 8, 10, 0, 0));
  230 +//
  231 +// ScheduleRule_input scheduleRule_input1 = new ScheduleRule_input();
  232 +// scheduleRule_input1.setRuleId("1");
  233 +// scheduleRule_input1.setQyrq(new DateTime(2016, 7, 22, 0, 0));
  234 +// scheduleRule_input1.getGuideboardIds().addAll(Arrays.asList(
  235 +// "9", "9" , "8" ,"8" ,"7" ,"7" ,"6" ,"6", "5", "5", "4", "4", "3", "3", "2", "2", "1", "1"));
  236 +// scheduleRule_input1.setStartGbdIndex(3);
  237 +// scheduleRule_input1.getEmployeeConfigIds().addAll(Arrays.asList("1", "2"));
  238 +// scheduleRule_input1.setStartEIndex(1);
  239 +// scheduleRule_input1.setCarConfigId("1");
  240 +//
  241 +//// ScheduleRule_input scheduleRule_input2 = new ScheduleRule_input();
  242 +//// scheduleRule_input2.setRuleId(2L);
  243 +//// scheduleRule_input2.setQyrq(new DateTime(2016, 7, 22, 0, 0));
  244 +//// scheduleRule_input2.getGuideboardIds().addAll(Arrays.asList(
  245 +//// 1L, 1L, 2L, 2L, 3L, 3L, 4L, 4L, 5L, 5L, 6L, 6L, 7L, 7L, 8L, 8L, 9L, 9L, 10L, 10L,
  246 +//// 11L, 11L, 12L, 12L, 13L, 13L));
  247 +//// scheduleRule_input2.setStartGbdIndex(7);
  248 +//// scheduleRule_input2.getEmployeeConfigIds().addAll(Arrays.asList(11L, 12L));
  249 +//// scheduleRule_input2.setStartEIndex(1);
  250 +//// scheduleRule_input2.setCarConfigId(2L);
  251 +//
  252 +// session.insert(scheduleCalcuParam_input);
  253 +// session.insert(scheduleRule_input1);
  254 +//// session.insert(scheduleRule_input2);
  255 +//
  256 +//
  257 +// // 3、执行rule
  258 +// session.fireAllRules();
  259 +//
  260 +// // 4、执行完毕销毁,有日志的也要关闭
  261 +// session.dispose();
  262 +//
  263 +// System.out.println(scheduleResults_output.showGuideboardDesc1());
  264 +//
  265 +// }
  266 +//}
  267 +
... ...
src/test/java/com/bsth/service/schedule/rules/Test.java deleted 100644 → 0
1   -package com.bsth.service.schedule.rules;
2   -
3   -import org.apache.tika.Tika;
4   -
5   -import java.io.File;
6   -
7   -/**
8   - * Created by xu on 17/1/3.
9   - */
10   -public class Test {
11   - public static void main(String[] args) throws Exception {
12   - Tika tika = new Tika();
13   - File file = new File("/Users/xu/Downloads/排班规则练习1.xls");
14   -
15   - // application/vnd.ms-excel
16   - // application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
17   -
18   - String detecttype = tika.detect(file);
19   - System.out.println(detecttype);
20   -
21   -
22   - }
23   -}
src/test/resources/application-scheduletest.properties 0 → 100644
  1 +#嵌入式tomcat配置
  2 +#server.port=9088
  3 +#management.port= 9001
  4 +#management.address= 127.0.0.1
  5 +
  6 +#JPA配置
  7 +spring.jpa.hibernate.ddl-auto= update
  8 +spring.jpa.hibernate.naming_strategy= org.hibernate.cfg.ImprovedNamingStrategy
  9 +spring.jpa.database= MYSQL
  10 +spring.jpa.show-sql= true
  11 +
  12 +#数据库连接池配置
  13 +spring.datasource.driver-class-name= com.mysql.jdbc.Driver
  14 +spring.datasource.url= jdbc:mysql://127.0.0.1/test_control?useUnicode=true&characterEncoding=utf-8&useSSL=false
  15 +spring.datasource.username= root
  16 +spring.datasource.password=
  17 +
  18 +#spring.datasource.driver-class-name= org.h2.Driver
  19 +#spring.datasource.url= jdbc:h2:mem:bookstore;DB_CLOSE_ON_EXIT=FALSE
  20 +#spring.datasource.username= sa
  21 +#spring.datasource.password=
  22 +
  23 +spring.datasource.max-active=100
  24 +spring.datasource.max-idle=8
  25 +spring.datasource.min-idle=8
  26 +spring.datasource.initial-size=5
  27 +
  28 +spring.datasource.test-on-borrow=true
  29 +spring.datasource.test-on-connect=true
  30 +spring.datasource.test-on-return=true
  31 +spring.datasource.test-while-idle=true
  32 +spring.datasource.validation-query=select 1
  33 +
... ...
src/test/resources/datatools/config-scheduletest.properties 0 → 100644
  1 +# 配置数据导入导出用到的配置信息
  2 +
  3 +# 1、kettle配置文件路径(类路径)
  4 +datatools.kettle_properties=/datatools/kettle.properties
  5 +# 2、ktr文件通用配置变量(数据库连接,根据不同的环境需要修正)
  6 +#数据库ip地址
  7 +datatools.kvars_dbip=127.0.0.1
  8 +#数据库用户名
  9 +datatools.kvars_dbuname=root
  10 +#数据库密码
  11 +datatools.kvars_dbpwd=
  12 +#数据库库名
  13 +datatools.kvars_dbdname=qp_control
  14 +
  15 +# 3、上传数据配置信息
  16 +# 上传文件目录配置(根据不同的环境需要修正)
  17 +datatools.fileupload_dir=/Users/xu/resource/project_code/runtime_temp/bsth_control_u_d_files
  18 +# ktr转换文件,中配置的错误输出目录(根据不同的环境需要修正)
  19 +datatools.trans_errordir=/Users/xu/resource/project_code/runtime_temp/bsth_control_u_d_files/erroroutput
  20 +# 临时输出文件目录
  21 +datatools.trans_tempdir=/Users/xu/resource/project_code/runtime_temp/bsth_control_u_d_files/temp
  22 +# 模版文件目录
  23 +datatools.trans_templatedir=/Users/xu/resource/project_code/runtime_temp/bsth_control_u_d_files/template
  24 +
  25 +##---------------------------- 导入数据ktr ----------------------------##
  26 +# 车辆信息导入ktr转换
  27 +datatools.cars_datainputktr=/datatools/ktrs/carsDataInput.ktr
  28 +# 人员信息导入
  29 +datatools.employees_datainputktr=/datatools/ktrs/employeesDataInput.ktr
  30 +# 路牌信息导入
  31 +datatools.guideboards_datainputktr=/datatools/ktrs/guideboardDataInput.ktr
  32 +# 时刻表基础信息导入
  33 +datatools.ttinfo_datainputktr=/datatools/ktrs/ttinfoDataInput.ktr
  34 +# 时刻表明细信息导入(元数据)
  35 +datatools.ttinfodetail_metadatainputktr=/datatools/ktrs/ttinfodetailDataInputMetaData.ktr
  36 +# 时刻表明细编辑用数据
  37 +datatools.ttinfodetail_foreditktr=/datatools/ktrs/ttinfodetailoutputforedit.ktr
  38 +# 时刻表明细信息导入
  39 +datatools.ttinfodetail_datainputktr=/datatools/ktrs/ttinfodetailDataInput.ktr
  40 +# 时刻表明细信息导入2
  41 +datatools.ttinfodetail_datainputktr2=/datatools/ktrs/ttinfodetailDataInput2.ktr
  42 +
  43 +# 车辆配置信息导入
  44 +datatools.carsconfig_datainputktr=/datatools/ktrs/carsConfigDataInput.ktr
  45 +# 人员配置信息导入
  46 +datatools.employeesconfig_datainputktr=/datatools/ktrs/employeesConfigDataInput.ktr
  47 +
  48 +# 排版规则信息导入
  49 +datatools.schedulerule_datainputktr=/datatools/ktrs/scheduleRuleDataInput.ktr
  50 +
  51 +# 4、数据导出配置信息
  52 +# 导出数据文件目录配置(根据不同的环境需要修正)
  53 +datatools.fileoutput_dir=/Users/xu/resource/project_code/runtime_temp/bsth_control_u_d_files
  54 +
  55 +##---------------------------- 导出数据ktr -----------------------------##
  56 +# 车辆信息导出ktr转换
  57 +datatools.cars_dataoutputktr=/datatools/ktrs/carsDataOutput.ktr
  58 +# 人员信息导出ktr转换
  59 +datatools.employees_dataoutputktr=/datatools/ktrs/employeesDataOutput.ktr
  60 +# 时刻表导出元数据ktr转换
  61 +datatools.ttinfodetail_metaoutput=/datatools/ktrs/ttinfodetailDataOutputMetaData.ktr
  62 +# 时刻表导出数据ktr转换
  63 +datatools.ttinfodetail_output=/datatools/ktrs/ttinfodetailDataOutput.ktr
  64 +# 排版规则导出数据ktr转换
  65 +datatools.schedulerule_output=/datatools/ktrs/scheduleRuleDataOutput.ktr
  66 +
  67 +# 车辆配置信息导出ktr转换
  68 +datatools.carsconfig_dataoutputktr=/datatools/ktrs/carsConfigDataOutput.ktr
  69 +# 人员配置信息导出ktr转换
  70 +datatools.employeesconfig_dataoutputktr=/datatools/ktrs/employeesConfigDataOutput.ktr
  71 +
  72 +# 路牌信息导出
  73 +datatools.guideboards_dataoutputktr=/datatools/ktrs/guideboardDataOutput.ktr
  74 +
  75 +
  76 +# TODO:
  77 +
  78 +
  79 +
  80 +
  81 +
  82 +
  83 +
  84 +
... ...
src/test/resources/test.properties deleted 100644 → 0
src/test/resources/testdata/d1.xml 0 → 100644
  1 +<?xml version='1.0' encoding='UTF-8'?>
  2 +<dataset>
  3 + <!-- 用户数据 -->
  4 + <bsth_c_sys_user id="1" user_name="admin" name="系统管理员" create_date="2000-01-01" enabled="1" last_login_date="2000-01-01" />
  5 +
  6 +</dataset>
0 7 \ No newline at end of file
... ...