Commit 994786bf45618ea8006697bf1ce2f19a438cd171

Authored by 徐烜
1 parent 08fe766e

Update

src/main/java/com/bsth/service/schedule/rules/shiftloop/ScheduleRule_input.java
1 package com.bsth.service.schedule.rules.shiftloop; 1 package com.bsth.service.schedule.rules.shiftloop;
2 2
3 import com.bsth.entity.schedule.rule.ScheduleRule1Flat; 3 import com.bsth.entity.schedule.rule.ScheduleRule1Flat;
4 -import com.bsth.service.schedule.utils.Md5Util;  
5 import com.google.common.base.Splitter; 4 import com.google.common.base.Splitter;
6 import org.apache.commons.lang3.StringUtils; 5 import org.apache.commons.lang3.StringUtils;
7 import org.joda.time.DateTime; 6 import org.joda.time.DateTime;
@@ -18,11 +17,6 @@ public class ScheduleRule_input { @@ -18,11 +17,6 @@ public class ScheduleRule_input {
18 17
19 /** 规则Id */ 18 /** 规则Id */
20 private String ruleId; 19 private String ruleId;
21 - /**  
22 - * 规则md5值(不使用id判定,使用md5判定)  
23 - * 使用,启用日期,路牌范围,人员范围 结合生成md5编码  
24 - */  
25 - private String ruleMd5;  
26 20
27 /** 规则启用日期 */ 21 /** 规则启用日期 */
28 private DateTime qyrq; 22 private DateTime qyrq;
@@ -85,15 +79,6 @@ public class ScheduleRule_input { @@ -85,15 +79,6 @@ public class ScheduleRule_input {
85 } 79 }
86 } 80 }
87 81
88 - /** 生成规则md5编码 */  
89 - ruleMd5 = Md5Util.getMd5(  
90 - String.valueOf(qyrq.getMillis()) + "_" +  
91 - scheduleRule1Flat.getLpIds() + "_" +  
92 - scheduleRule1Flat.getRyConfigIds()  
93 - );  
94 -  
95 -// System.out.println("rule的md5:" + ruleMd5 + " 车辆:" + scheduleRule1Flat.getCarConfigInfo().getCl().getInsideCode());  
96 -  
97 this.self = scheduleRule1Flat; 82 this.self = scheduleRule1Flat;
98 } 83 }
99 84
@@ -179,11 +164,4 @@ public class ScheduleRule_input { @@ -179,11 +164,4 @@ public class ScheduleRule_input {
179 this.self = self; 164 this.self = self;
180 } 165 }
181 166
182 - public String getRuleMd5() {  
183 - return ruleMd5;  
184 - }  
185 -  
186 - public void setRuleMd5(String ruleMd5) {  
187 - this.ruleMd5 = ruleMd5;  
188 - }  
189 } 167 }
src/main/java/com/bsth/service/schedule/rules/validate/ValidateParam.java 0 → 100644
  1 +package com.bsth.service.schedule.rules.validate;
  2 +
  3 +import org.joda.time.DateTime;
  4 +import org.joda.time.Period;
  5 +import org.joda.time.PeriodType;
  6 +
  7 +/**
  8 + * Created by xu on 17/5/11.
  9 + */
  10 +public class ValidateParam {
  11 + /** 开始计算日期 */
  12 + private DateTime fromDate;
  13 + /** 结束计算日期 */
  14 + private DateTime toDate;
  15 +
  16 + /** 间隔天数 */
  17 + private Integer days;
  18 +
  19 + public ValidateParam() {
  20 + Period period = new Period(fromDate, toDate, PeriodType.days());
  21 + days = period.getDays() + 1;
  22 + }
  23 +
  24 + public DateTime getFromDate() {
  25 + return fromDate;
  26 + }
  27 +
  28 + public void setFromDate(DateTime fromDate) {
  29 + this.fromDate = fromDate;
  30 + }
  31 +
  32 + public DateTime getToDate() {
  33 + return toDate;
  34 + }
  35 +
  36 + public void setToDate(DateTime toDate) {
  37 + this.toDate = toDate;
  38 + }
  39 +
  40 + public Integer getDays() {
  41 + return days;
  42 + }
  43 +
  44 + public void setDays(Integer days) {
  45 + this.days = days;
  46 + }
  47 +}
src/main/java/com/bsth/service/schedule/rules/validate/ValidateResults_output.java 0 → 100644
  1 +package com.bsth.service.schedule.rules.validate;
  2 +
  3 +import java.util.ArrayList;
  4 +import java.util.Date;
  5 +import java.util.List;
  6 +
  7 +/**
  8 + * 验证输出。
  9 + */
  10 +public class ValidateResults_output {
  11 + private List<ValidInfo> infos = new ArrayList<>();
  12 +
  13 + static class ValidInfo {
  14 + /** 日期 */
  15 + private Date sd;
  16 + /** 描述 */
  17 + private String desc;
  18 +
  19 + public Date getSd() {
  20 + return sd;
  21 + }
  22 +
  23 + public void setSd(Date sd) {
  24 + this.sd = sd;
  25 + }
  26 +
  27 + public String getDesc() {
  28 + return desc;
  29 + }
  30 +
  31 + public void setDesc(String desc) {
  32 + this.desc = desc;
  33 + }
  34 + }
  35 +
  36 + public List<ValidInfo> getInfos() {
  37 + return infos;
  38 + }
  39 +
  40 + public void setInfos(List<ValidInfo> infos) {
  41 + this.infos = infos;
  42 + }
  43 +}
src/main/resources/datatools/ktrs/scheduleRuleDataInput.ktr
1 -<?xml version="1.0" encoding="UTF-8"?>  
2 -<transformation>  
3 - <info>  
4 - <name>&#x6392;&#x73ed;&#x89c4;&#x5219;&#x4fe1;&#x606f;&#x5bfc;&#x5165;</name>  
5 - <description/>  
6 - <extended_description/>  
7 - <trans_version/>  
8 - <trans_type>Normal</trans_type>  
9 - <trans_status>0</trans_status>  
10 - <directory>&#x2f;</directory>  
11 - <parameters>  
12 - <parameter>  
13 - <name>erroroutputdir</name>  
14 - <default_value>&#x2f;Users&#x2f;xu&#x2f;resource&#x2f;project_code&#x2f;bsth_project&#x2f;bsth_control_etl&#x2f;&#x5bfc;&#x5165;&#x5bfc;&#x51fa;1</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>&#x2f;Users&#x2f;xu&#x2f;resource&#x2f;project_code&#x2f;bsth_project&#x2f;bsth_control_etl&#x2f;&#x5bfc;&#x5165;&#x5bfc;&#x51fa;1&#x2f;&#x6392;&#x7248;&#x89c4;&#x5219;&#x4fe1;&#x606f;.xls</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>2017&#x2f;01&#x2f;09 10&#x3a;10&#x3a;36.915</created_date>  
81 - <modified_user>-</modified_user>  
82 - <modified_date>2017&#x2f;01&#x2f;09 10&#x3a;10&#x3a;36.915</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 - </notepads>  
88 - <connection>  
89 - <name>192.168.168.1_jwgl_dw</name>  
90 - <server>192.168.168.1</server>  
91 - <type>ORACLE</type>  
92 - <access>Native</access>  
93 - <database>orcl</database>  
94 - <port>1521</port>  
95 - <username>jwgl_dw</username>  
96 - <password>Encrypted 2be98afc86aa7f2e4cb13b977d2adabcd</password>  
97 - <servername/>  
98 - <data_tablespace/>  
99 - <index_tablespace/>  
100 - <attributes>  
101 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
102 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
103 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
104 - <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>  
105 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
106 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
107 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
108 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
109 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
110 - </attributes>  
111 - </connection>  
112 - <connection>  
113 - <name>bus_control_variable</name>  
114 - <server>&#x24;&#x7b;v_db_ip&#x7d;</server>  
115 - <type>MYSQL</type>  
116 - <access>Native</access>  
117 - <database>&#x24;&#x7b;v_db_dname&#x7d;</database>  
118 - <port>3306</port>  
119 - <username>&#x24;&#x7b;v_db_uname&#x7d;</username>  
120 - <password>&#x24;&#x7b;v_db_pwd&#x7d;</password>  
121 - <servername/>  
122 - <data_tablespace/>  
123 - <index_tablespace/>  
124 - <attributes>  
125 - <attribute><code>EXTRA_OPTION_MYSQL.characterEncoding</code><attribute>utf8</attribute></attribute>  
126 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
127 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
128 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
129 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
130 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
131 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
132 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
133 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
134 - <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>  
135 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
136 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
137 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
138 - </attributes>  
139 - </connection>  
140 - <connection>  
141 - <name>bus_control_&#x516c;&#x53f8;_201</name>  
142 - <server>localhost</server>  
143 - <type>MYSQL</type>  
144 - <access>Native</access>  
145 - <database>control</database>  
146 - <port>3306</port>  
147 - <username>root</username>  
148 - <password>Encrypted </password>  
149 - <servername/>  
150 - <data_tablespace/>  
151 - <index_tablespace/>  
152 - <attributes>  
153 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
154 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
155 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
156 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
157 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
158 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
159 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
160 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
161 - <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>  
162 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
163 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
164 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
165 - </attributes>  
166 - </connection>  
167 - <connection>  
168 - <name>bus_control_&#x672c;&#x673a;</name>  
169 - <server>localhost</server>  
170 - <type>MYSQL</type>  
171 - <access>Native</access>  
172 - <database>control</database>  
173 - <port>3306</port>  
174 - <username>root</username>  
175 - <password>Encrypted </password>  
176 - <servername/>  
177 - <data_tablespace/>  
178 - <index_tablespace/>  
179 - <attributes>  
180 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
181 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
182 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
183 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
184 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
185 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
186 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
187 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
188 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
189 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
190 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
191 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
192 - </attributes>  
193 - </connection>  
194 - <connection>  
195 - <name>xlab_mysql_youle</name>  
196 - <server>101.231.124.8</server>  
197 - <type>MYSQL</type>  
198 - <access>Native</access>  
199 - <database>xlab_youle</database>  
200 - <port>45687</port>  
201 - <username>xlab-youle</username>  
202 - <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password>  
203 - <servername/>  
204 - <data_tablespace/>  
205 - <index_tablespace/>  
206 - <attributes>  
207 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
208 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
209 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
210 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
211 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
212 - <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute>  
213 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
214 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
215 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
216 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>  
217 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>  
218 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
219 - </attributes>  
220 - </connection>  
221 - <connection>  
222 - <name>xlab_mysql_youle&#xff08;&#x672c;&#x673a;&#xff09;</name>  
223 - <server>localhost</server>  
224 - <type>MYSQL</type>  
225 - <access>Native</access>  
226 - <database>xlab_youle</database>  
227 - <port>3306</port>  
228 - <username>root</username>  
229 - <password>Encrypted </password>  
230 - <servername/>  
231 - <data_tablespace/>  
232 - <index_tablespace/>  
233 - <attributes>  
234 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
235 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
236 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
237 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
238 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
239 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
240 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
241 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
242 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
243 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>  
244 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>  
245 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
246 - </attributes>  
247 - </connection>  
248 - <connection>  
249 - <name>xlab_youle</name>  
250 - <server/>  
251 - <type>MYSQL</type>  
252 - <access>JNDI</access>  
253 - <database>xlab_youle</database>  
254 - <port>1521</port>  
255 - <username/>  
256 - <password>Encrypted </password>  
257 - <servername/>  
258 - <data_tablespace/>  
259 - <index_tablespace/>  
260 - <attributes>  
261 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
262 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
263 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
264 - <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>  
265 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
266 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
267 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
268 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
269 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
270 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
271 - </attributes>  
272 - </connection>  
273 - <order>  
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>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</from><to>&#x542f;&#x7528;&#x88ab;&#x6570;&#x636e;flag</to><enabled>Y</enabled> </hop>  
276 - <hop> <from>&#x62c6;&#x5206;&#x8def;&#x724c;&#x8303;&#x56f4;</from><to>&#x8def;&#x724c;id&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>  
277 - <hop> <from>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</from><to>&#x5206;&#x7ec4;&#x5408;&#x5e76;&#x8def;&#x724c;id</to><enabled>Y</enabled> </hop>  
278 - <hop> <from>&#x5206;&#x7ec4;&#x5408;&#x5e76;&#x8def;&#x724c;id</from><to>&#x62c6;&#x5206;&#x4eba;&#x5458;&#x8303;&#x56f4;</to><enabled>Y</enabled> </hop>  
279 - <hop> <from>&#x62c6;&#x5206;&#x4eba;&#x5458;&#x8303;&#x56f4;</from><to>&#x62c6;&#x5206;&#x5206;&#x73ed;&#x642d;&#x73ed;&#x7f16;&#x7801;&#x5b57;&#x6bb5;</to><enabled>Y</enabled> </hop>  
280 - <hop> <from>&#x62c6;&#x5206;&#x5206;&#x73ed;&#x642d;&#x73ed;&#x7f16;&#x7801;&#x5b57;&#x6bb5;</from><to>&#x4eba;&#x5458;&#x914d;&#x7f6e;id&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>  
281 - <hop> <from>&#x4eba;&#x5458;&#x914d;&#x7f6e;id&#x67e5;&#x8be2;</from><to>&#x4eba;&#x5458;&#x914d;&#x7f6e;id&#x67e5;&#x8be2; 2</to><enabled>Y</enabled> </hop>  
282 - <hop> <from>&#x542f;&#x7528;&#x88ab;&#x6570;&#x636e;flag</from><to>&#x7ebf;&#x8def;id&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>  
283 - <hop> <from>&#x7ebf;&#x8def;id&#x67e5;&#x8be2;</from><to>&#x8fc7;&#x6ee4;&#x7ebf;&#x8def;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>  
284 - <hop> <from>&#x8fc7;&#x6ee4;&#x7ebf;&#x8def;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</from><to>&#x8f66;&#x8f86;&#x914d;&#x7f6e;id&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>  
285 - <hop> <from>&#x8f66;&#x8f86;&#x914d;&#x7f6e;id&#x67e5;&#x8be2;</from><to>&#x8fc7;&#x6ee4;&#x8f66;&#x8f86;&#x914d;&#x7f6e;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>  
286 - <hop> <from>&#x8fc7;&#x6ee4;&#x8f66;&#x8f86;&#x914d;&#x7f6e;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</from><to>&#x62c6;&#x5206;&#x8def;&#x724c;&#x8303;&#x56f4;</to><enabled>Y</enabled> </hop>  
287 - <hop> <from>&#x8def;&#x724c;id&#x67e5;&#x8be2;</from><to>&#x8fc7;&#x6ee4;&#x8def;&#x724c;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>  
288 - <hop> <from>&#x8fc7;&#x6ee4;&#x8def;&#x724c;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</from><to>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>  
289 - <hop> <from>&#x4eba;&#x5458;&#x914d;&#x7f6e;id&#x67e5;&#x8be2; 2</from><to>&#x8fc7;&#x6ee4;&#x4eba;&#x5458;&#x914d;&#x7f6e;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>  
290 - <hop> <from>&#x8fc7;&#x6ee4;&#x4eba;&#x5458;&#x914d;&#x7f6e;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</from><to>&#x5408;&#x5e76;&#x5206;&#x73ed;&#x4eba;&#x5458;&#x914d;&#x7f6e;id</to><enabled>Y</enabled> </hop>  
291 - <hop> <from>&#x5408;&#x5e76;&#x5206;&#x73ed;&#x4eba;&#x5458;&#x914d;&#x7f6e;id</from><to>&#x6392;&#x5e8f;&#x8bb0;&#x5f55; 2</to><enabled>Y</enabled> </hop>  
292 - <hop> <from>&#x6392;&#x5e8f;&#x8bb0;&#x5f55; 2</from><to>&#x5206;&#x7ec4;&#x5408;&#x5e76;&#x4eba;&#x5458;&#x914d;&#x7f6e;id</to><enabled>Y</enabled> </hop>  
293 - <hop> <from>&#x63d2;&#x5165; &#x2f; &#x66f4;&#x65b0;bsth_c_s_sr1_flat</from><to>&#x9519;&#x8bef;&#x8f93;&#x51fa; 2</to><enabled>Y</enabled> </hop>  
294 - <hop> <from>&#x5206;&#x7ec4;&#x5408;&#x5e76;&#x4eba;&#x5458;&#x914d;&#x7f6e;id</from><to>&#x542f;&#x7528;&#x65e5;&#x671f;&#x8f6c;&#x6362;</to><enabled>Y</enabled> </hop>  
295 - <hop> <from>&#x542f;&#x7528;&#x65e5;&#x671f;&#x8f6c;&#x6362;</from><to>&#x63d2;&#x5165; &#x2f; &#x66f4;&#x65b0;bsth_c_s_sr1_flat</to><enabled>Y</enabled> </hop>  
296 - </order>  
297 - <step>  
298 - <name>&#x4eba;&#x5458;&#x914d;&#x7f6e;id&#x67e5;&#x8be2;</name>  
299 - <type>DBLookup</type>  
300 - <description/>  
301 - <distribute>Y</distribute>  
302 - <custom_distribution/>  
303 - <copies>1</copies>  
304 - <partitioning>  
305 - <method>none</method>  
306 - <schema_name/>  
307 - </partitioning>  
308 - <connection>bus_control_variable</connection>  
309 - <cache>N</cache>  
310 - <cache_load_all>Y</cache_load_all>  
311 - <cache_size>0</cache_size>  
312 - <lookup>  
313 - <schema/>  
314 - <table>bsth_c_s_ecinfo</table>  
315 - <orderby/>  
316 - <fail_on_multiple>N</fail_on_multiple>  
317 - <eat_row_on_failure>N</eat_row_on_failure>  
318 - <key>  
319 - <name>xlid</name>  
320 - <field>xl</field>  
321 - <condition>&#x3d;</condition>  
322 - <name2/>  
323 - </key>  
324 - <key>  
325 - <name>dbbm1</name>  
326 - <field>dbbm</field>  
327 - <condition>&#x3d;</condition>  
328 - <name2/>  
329 - </key>  
330 - <key>  
331 - <name>isCancel</name>  
332 - <field>is_cancel</field>  
333 - <condition>&#x3d;</condition>  
334 - <name2/>  
335 - </key>  
336 - <value>  
337 - <name>id</name>  
338 - <rename>rycid1</rename>  
339 - <default/>  
340 - <type>Integer</type>  
341 - </value>  
342 - </lookup>  
343 - <cluster_schema/>  
344 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
345 - <xloc>904</xloc>  
346 - <yloc>101</yloc>  
347 - <draw>Y</draw>  
348 - </GUI>  
349 - </step>  
350 -  
351 - <step>  
352 - <name>&#x4eba;&#x5458;&#x914d;&#x7f6e;id&#x67e5;&#x8be2; 2</name>  
353 - <type>DBLookup</type>  
354 - <description/>  
355 - <distribute>Y</distribute>  
356 - <custom_distribution/>  
357 - <copies>1</copies>  
358 - <partitioning>  
359 - <method>none</method>  
360 - <schema_name/>  
361 - </partitioning>  
362 - <connection>bus_control_variable</connection>  
363 - <cache>N</cache>  
364 - <cache_load_all>Y</cache_load_all>  
365 - <cache_size>0</cache_size>  
366 - <lookup>  
367 - <schema/>  
368 - <table>bsth_c_s_ecinfo</table>  
369 - <orderby/>  
370 - <fail_on_multiple>N</fail_on_multiple>  
371 - <eat_row_on_failure>N</eat_row_on_failure>  
372 - <key>  
373 - <name>xlid</name>  
374 - <field>xl</field>  
375 - <condition>&#x3d;</condition>  
376 - <name2/>  
377 - </key>  
378 - <key>  
379 - <name>dbbm2</name>  
380 - <field>dbbm</field>  
381 - <condition>&#x3d;</condition>  
382 - <name2/>  
383 - </key>  
384 - <key>  
385 - <name>isCancel</name>  
386 - <field>is_cancel</field>  
387 - <condition>&#x3d;</condition>  
388 - <name2/>  
389 - </key>  
390 - <value>  
391 - <name>id</name>  
392 - <rename>rycid2</rename>  
393 - <default/>  
394 - <type>Integer</type>  
395 - </value>  
396 - </lookup>  
397 - <cluster_schema/>  
398 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
399 - <xloc>778</xloc>  
400 - <yloc>103</yloc>  
401 - <draw>Y</draw>  
402 - </GUI>  
403 - </step>  
404 -  
405 - <step>  
406 - <name>&#x5206;&#x7ec4;&#x5408;&#x5e76;&#x4eba;&#x5458;&#x914d;&#x7f6e;id</name>  
407 - <type>GroupBy</type>  
408 - <description/>  
409 - <distribute>Y</distribute>  
410 - <custom_distribution/>  
411 - <copies>1</copies>  
412 - <partitioning>  
413 - <method>none</method>  
414 - <schema_name/>  
415 - </partitioning>  
416 - <all_rows>N</all_rows>  
417 - <ignore_aggregate>N</ignore_aggregate>  
418 - <field_ignore/>  
419 - <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>  
420 - <prefix>grp</prefix>  
421 - <add_linenr>N</add_linenr>  
422 - <linenr_fieldname/>  
423 - <give_back_row>N</give_back_row>  
424 - <group>  
425 - <field>  
426 - <name>xlid</name>  
427 - </field>  
428 - <field>  
429 - <name>cid</name>  
430 - </field>  
431 - <field>  
432 - <name>&#x8def;&#x724c;&#x8303;&#x56f4;</name>  
433 - </field>  
434 - <field>  
435 - <name>lpids</name>  
436 - </field>  
437 - <field>  
438 - <name>&#x8d77;&#x59cb;&#x8def;&#x724c;</name>  
439 - </field>  
440 - <field>  
441 - <name>&#x8d77;&#x59cb;&#x4eba;&#x5458;</name>  
442 - </field>  
443 - <field>  
444 - <name>&#x4eba;&#x5458;&#x8303;&#x56f4;</name>  
445 - </field>  
446 - <field>  
447 - <name>&#x542f;&#x7528;&#x65e5;&#x671f;</name>  
448 - </field>  
449 - <field>  
450 - <name>&#x7ffb;&#x73ed;&#x683c;&#x5f0f;</name>  
451 - </field>  
452 - <field>  
453 - <name>isCancel</name>  
454 - </field>  
455 - </group>  
456 - <fields>  
457 - <field>  
458 - <aggregate>rycids</aggregate>  
459 - <subject>rycid</subject>  
460 - <type>CONCAT_STRING</type>  
461 - <valuefield>,</valuefield>  
462 - </field>  
463 - </fields>  
464 - <cluster_schema/>  
465 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
466 - <xloc>780</xloc>  
467 - <yloc>291</yloc>  
468 - <draw>Y</draw>  
469 - </GUI>  
470 - </step>  
471 -  
472 - <step>  
473 - <name>&#x5206;&#x7ec4;&#x5408;&#x5e76;&#x8def;&#x724c;id</name>  
474 - <type>GroupBy</type>  
475 - <description/>  
476 - <distribute>Y</distribute>  
477 - <custom_distribution/>  
478 - <copies>1</copies>  
479 - <partitioning>  
480 - <method>none</method>  
481 - <schema_name/>  
482 - </partitioning>  
483 - <all_rows>N</all_rows>  
484 - <ignore_aggregate>N</ignore_aggregate>  
485 - <field_ignore/>  
486 - <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>  
487 - <prefix>grp</prefix>  
488 - <add_linenr>N</add_linenr>  
489 - <linenr_fieldname/>  
490 - <give_back_row>N</give_back_row>  
491 - <group>  
492 - <field>  
493 - <name>xlid</name>  
494 - </field>  
495 - <field>  
496 - <name>cid</name>  
497 - </field>  
498 - <field>  
499 - <name>&#x8def;&#x724c;&#x8303;&#x56f4;</name>  
500 - </field>  
501 - <field>  
502 - <name>&#x8d77;&#x59cb;&#x8def;&#x724c;</name>  
503 - </field>  
504 - <field>  
505 - <name>&#x8d77;&#x59cb;&#x4eba;&#x5458;</name>  
506 - </field>  
507 - <field>  
508 - <name>&#x4eba;&#x5458;&#x8303;&#x56f4;</name>  
509 - </field>  
510 - <field>  
511 - <name>&#x542f;&#x7528;&#x65e5;&#x671f;</name>  
512 - </field>  
513 - <field>  
514 - <name>&#x7ffb;&#x73ed;&#x683c;&#x5f0f;</name>  
515 - </field>  
516 - <field>  
517 - <name>isCancel</name>  
518 - </field>  
519 - </group>  
520 - <fields>  
521 - <field>  
522 - <aggregate>lpids</aggregate>  
523 - <subject>lpid</subject>  
524 - <type>CONCAT_STRING</type>  
525 - <valuefield>,</valuefield>  
526 - </field>  
527 - </fields>  
528 - <cluster_schema/>  
529 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
530 - <xloc>653</xloc>  
531 - <yloc>119</yloc>  
532 - <draw>Y</draw>  
533 - </GUI>  
534 - </step>  
535 -  
536 - <step>  
537 - <name>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</name>  
538 - <type>ExcelInput</type>  
539 - <description/>  
540 - <distribute>Y</distribute>  
541 - <custom_distribution/>  
542 - <copies>1</copies>  
543 - <partitioning>  
544 - <method>none</method>  
545 - <schema_name/>  
546 - </partitioning>  
547 - <header>Y</header>  
548 - <noempty>Y</noempty>  
549 - <stoponempty>N</stoponempty>  
550 - <filefield/>  
551 - <sheetfield/>  
552 - <sheetrownumfield/>  
553 - <rownumfield/>  
554 - <sheetfield/>  
555 - <filefield/>  
556 - <limit>0</limit>  
557 - <encoding/>  
558 - <add_to_result_filenames>Y</add_to_result_filenames>  
559 - <accept_filenames>Y</accept_filenames>  
560 - <accept_field>filepath_</accept_field>  
561 - <accept_stepname>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</accept_stepname>  
562 - <file>  
563 - <name/>  
564 - <filemask/>  
565 - <exclude_filemask/>  
566 - <file_required>N</file_required>  
567 - <include_subfolders>N</include_subfolders>  
568 - </file>  
569 - <fields>  
570 - <field>  
571 - <name>&#x7ebf;&#x8def;</name>  
572 - <type>String</type>  
573 - <length>-1</length>  
574 - <precision>-1</precision>  
575 - <trim_type>none</trim_type>  
576 - <repeat>N</repeat>  
577 - <format/>  
578 - <currency/>  
579 - <decimal/>  
580 - <group/>  
581 - </field>  
582 - <field>  
583 - <name>&#x5185;&#x90e8;&#x7f16;&#x7801;</name>  
584 - <type>String</type>  
585 - <length>-1</length>  
586 - <precision>-1</precision>  
587 - <trim_type>none</trim_type>  
588 - <repeat>N</repeat>  
589 - <format/>  
590 - <currency/>  
591 - <decimal/>  
592 - <group/>  
593 - </field>  
594 - <field>  
595 - <name>&#x542f;&#x7528;&#x65e5;&#x671f;</name>  
596 - <type>String</type>  
597 - <length>-1</length>  
598 - <precision>-1</precision>  
599 - <trim_type>none</trim_type>  
600 - <repeat>N</repeat>  
601 - <format/>  
602 - <currency/>  
603 - <decimal/>  
604 - <group/>  
605 - </field>  
606 - <field>  
607 - <name>&#x8d77;&#x59cb;&#x8def;&#x724c;</name>  
608 - <type>String</type>  
609 - <length>-1</length>  
610 - <precision>-1</precision>  
611 - <trim_type>none</trim_type>  
612 - <repeat>N</repeat>  
613 - <format>&#x23;</format>  
614 - <currency/>  
615 - <decimal/>  
616 - <group/>  
617 - </field>  
618 - <field>  
619 - <name>&#x8def;&#x724c;&#x8303;&#x56f4;</name>  
620 - <type>String</type>  
621 - <length>-1</length>  
622 - <precision>-1</precision>  
623 - <trim_type>none</trim_type>  
624 - <repeat>N</repeat>  
625 - <format>&#x23;</format>  
626 - <currency/>  
627 - <decimal/>  
628 - <group/>  
629 - </field>  
630 - <field>  
631 - <name>&#x8d77;&#x59cb;&#x4eba;&#x5458;</name>  
632 - <type>String</type>  
633 - <length>-1</length>  
634 - <precision>-1</precision>  
635 - <trim_type>none</trim_type>  
636 - <repeat>N</repeat>  
637 - <format>&#x23;</format>  
638 - <currency/>  
639 - <decimal/>  
640 - <group/>  
641 - </field>  
642 - <field>  
643 - <name>&#x4eba;&#x5458;&#x8303;&#x56f4;</name>  
644 - <type>String</type>  
645 - <length>-1</length>  
646 - <precision>-1</precision>  
647 - <trim_type>none</trim_type>  
648 - <repeat>N</repeat>  
649 - <format>&#x23;</format>  
650 - <currency/>  
651 - <decimal/>  
652 - <group/>  
653 - </field>  
654 - <field>  
655 - <name>&#x7ffb;&#x73ed;&#x683c;&#x5f0f;</name>  
656 - <type>String</type>  
657 - <length>-1</length>  
658 - <precision>-1</precision>  
659 - <trim_type>none</trim_type>  
660 - <repeat>N</repeat>  
661 - <format>&#x23;</format>  
662 - <currency/>  
663 - <decimal/>  
664 - <group/>  
665 - </field>  
666 - </fields>  
667 - <sheets>  
668 - <sheet>  
669 - <name>&#x5de5;&#x4f5c;&#x8868;1</name>  
670 - <startrow>0</startrow>  
671 - <startcol>0</startcol>  
672 - </sheet>  
673 - </sheets>  
674 - <strict_types>N</strict_types>  
675 - <error_ignored>N</error_ignored>  
676 - <error_line_skipped>N</error_line_skipped>  
677 - <bad_line_files_destination_directory/>  
678 - <bad_line_files_extension>warning</bad_line_files_extension>  
679 - <error_line_files_destination_directory/>  
680 - <error_line_files_extension>error</error_line_files_extension>  
681 - <line_number_files_destination_directory/>  
682 - <line_number_files_extension>line</line_number_files_extension>  
683 - <shortFileFieldName/>  
684 - <pathFieldName/>  
685 - <hiddenFieldName/>  
686 - <lastModificationTimeFieldName/>  
687 - <uriNameFieldName/>  
688 - <rootUriNameFieldName/>  
689 - <extensionFieldName/>  
690 - <sizeFieldName/>  
691 - <spreadsheet_type>JXL</spreadsheet_type>  
692 - <cluster_schema/>  
693 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
694 - <xloc>208</xloc>  
695 - <yloc>21</yloc>  
696 - <draw>Y</draw>  
697 - </GUI>  
698 - </step>  
699 -  
700 - <step>  
701 - <name>&#x5408;&#x5e76;&#x5206;&#x73ed;&#x4eba;&#x5458;&#x914d;&#x7f6e;id</name>  
702 - <type>ScriptValueMod</type>  
703 - <description/>  
704 - <distribute>Y</distribute>  
705 - <custom_distribution/>  
706 - <copies>1</copies>  
707 - <partitioning>  
708 - <method>none</method>  
709 - <schema_name/>  
710 - </partitioning>  
711 - <compatible>N</compatible>  
712 - <optimizationLevel>9</optimizationLevel>  
713 - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>  
714 - <jsScript_name>Script 1</jsScript_name>  
715 - <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var rycid&#x3b;&#xa;&#xa;if &#x28;rycid2 &#x3d;&#x3d; null&#x29; &#x7b;&#xa; rycid &#x3d; rycid1&#x3b;&#xa;&#x7d; else &#x7b;&#xa; rycid &#x3d; rycid1 &#x2b; &#x22;-&#x22; &#x2b; rycid2&#x3b;&#xa;&#x7d;</jsScript_script>  
716 - </jsScript> </jsScripts> <fields> <field> <name>rycid</name>  
717 - <rename>rycid</rename>  
718 - <type>String</type>  
719 - <length>-1</length>  
720 - <precision>-1</precision>  
721 - <replace>N</replace>  
722 - </field> </fields> <cluster_schema/>  
723 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
724 - <xloc>917</xloc>  
725 - <yloc>201</yloc>  
726 - <draw>Y</draw>  
727 - </GUI>  
728 - </step>  
729 -  
730 - <step>  
731 - <name>&#x542f;&#x7528;&#x65e5;&#x671f;&#x8f6c;&#x6362;</name>  
732 - <type>SelectValues</type>  
733 - <description/>  
734 - <distribute>Y</distribute>  
735 - <custom_distribution/>  
736 - <copies>1</copies>  
737 - <partitioning>  
738 - <method>none</method>  
739 - <schema_name/>  
740 - </partitioning>  
741 - <fields> <select_unspecified>N</select_unspecified>  
742 - <meta> <name>&#x542f;&#x7528;&#x65e5;&#x671f;</name>  
743 - <rename>&#x542f;&#x7528;&#x65e5;&#x671f;</rename>  
744 - <type>Timestamp</type>  
745 - <length>-2</length>  
746 - <precision>-2</precision>  
747 - <conversion_mask>yyyy-MM-dd</conversion_mask>  
748 - <date_format_lenient>false</date_format_lenient>  
749 - <date_format_locale/>  
750 - <date_format_timezone/>  
751 - <lenient_string_to_number>false</lenient_string_to_number>  
752 - <encoding/>  
753 - <decimal_symbol/>  
754 - <grouping_symbol/>  
755 - <currency_symbol/>  
756 - <storage_type/>  
757 - </meta> </fields> <cluster_schema/>  
758 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
759 - <xloc>777</xloc>  
760 - <yloc>368</yloc>  
761 - <draw>Y</draw>  
762 - </GUI>  
763 - </step>  
764 -  
765 - <step>  
766 - <name>&#x542f;&#x7528;&#x88ab;&#x6570;&#x636e;flag</name>  
767 - <type>Constant</type>  
768 - <description/>  
769 - <distribute>Y</distribute>  
770 - <custom_distribution/>  
771 - <copies>1</copies>  
772 - <partitioning>  
773 - <method>none</method>  
774 - <schema_name/>  
775 - </partitioning>  
776 - <fields>  
777 - <field>  
778 - <name>isCancel</name>  
779 - <type>Integer</type>  
780 - <format/>  
781 - <currency/>  
782 - <decimal/>  
783 - <group/>  
784 - <nullif>0</nullif>  
785 - <length>-1</length>  
786 - <precision>-1</precision>  
787 - <set_empty_string>N</set_empty_string>  
788 - </field>  
789 - </fields>  
790 - <cluster_schema/>  
791 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
792 - <xloc>361</xloc>  
793 - <yloc>22</yloc>  
794 - <draw>Y</draw>  
795 - </GUI>  
796 - </step>  
797 -  
798 - <step>  
799 - <name>&#x62c6;&#x5206;&#x4eba;&#x5458;&#x8303;&#x56f4;</name>  
800 - <type>SplitFieldToRows3</type>  
801 - <description/>  
802 - <distribute>Y</distribute>  
803 - <custom_distribution/>  
804 - <copies>1</copies>  
805 - <partitioning>  
806 - <method>none</method>  
807 - <schema_name/>  
808 - </partitioning>  
809 - <splitfield>&#x4eba;&#x5458;&#x8303;&#x56f4;</splitfield>  
810 - <delimiter>,</delimiter>  
811 - <newfield>dbbm</newfield>  
812 - <rownum>N</rownum>  
813 - <rownum_field/>  
814 - <resetrownumber>Y</resetrownumber>  
815 - <delimiter_is_regex>N</delimiter_is_regex>  
816 - <cluster_schema/>  
817 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
818 - <xloc>777</xloc>  
819 - <yloc>22</yloc>  
820 - <draw>Y</draw>  
821 - </GUI>  
822 - </step>  
823 -  
824 - <step>  
825 - <name>&#x62c6;&#x5206;&#x5206;&#x73ed;&#x642d;&#x73ed;&#x7f16;&#x7801;&#x5b57;&#x6bb5;</name>  
826 - <type>FieldSplitter</type>  
827 - <description/>  
828 - <distribute>Y</distribute>  
829 - <custom_distribution/>  
830 - <copies>1</copies>  
831 - <partitioning>  
832 - <method>none</method>  
833 - <schema_name/>  
834 - </partitioning>  
835 - <splitfield>dbbm</splitfield>  
836 - <delimiter>-</delimiter>  
837 - <enclosure/>  
838 - <fields> <field> <name>dbbm1</name>  
839 - <id/>  
840 - <idrem>N</idrem>  
841 - <type>String</type>  
842 - <format/>  
843 - <group/>  
844 - <decimal/>  
845 - <currency/>  
846 - <length>-1</length>  
847 - <precision>-1</precision>  
848 - <nullif/>  
849 - <ifnull/>  
850 - <trimtype>none</trimtype>  
851 - </field> <field> <name>dbbm2</name>  
852 - <id/>  
853 - <idrem>N</idrem>  
854 - <type>String</type>  
855 - <format/>  
856 - <group/>  
857 - <decimal/>  
858 - <currency/>  
859 - <length>-1</length>  
860 - <precision>-1</precision>  
861 - <nullif/>  
862 - <ifnull/>  
863 - <trimtype>none</trimtype>  
864 - </field> </fields> <cluster_schema/>  
865 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
866 - <xloc>901</xloc>  
867 - <yloc>22</yloc>  
868 - <draw>Y</draw>  
869 - </GUI>  
870 - </step>  
871 -  
872 - <step>  
873 - <name>&#x62c6;&#x5206;&#x8def;&#x724c;&#x8303;&#x56f4;</name>  
874 - <type>SplitFieldToRows3</type>  
875 - <description/>  
876 - <distribute>Y</distribute>  
877 - <custom_distribution/>  
878 - <copies>1</copies>  
879 - <partitioning>  
880 - <method>none</method>  
881 - <schema_name/>  
882 - </partitioning>  
883 - <splitfield>&#x8def;&#x724c;&#x8303;&#x56f4;</splitfield>  
884 - <delimiter>,</delimiter>  
885 - <newfield>lpname</newfield>  
886 - <rownum>N</rownum>  
887 - <rownum_field/>  
888 - <resetrownumber>Y</resetrownumber>  
889 - <delimiter_is_regex>N</delimiter_is_regex>  
890 - <cluster_schema/>  
891 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
892 - <xloc>364</xloc>  
893 - <yloc>259</yloc>  
894 - <draw>Y</draw>  
895 - </GUI>  
896 - </step>  
897 -  
898 - <step>  
899 - <name>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</name>  
900 - <type>SortRows</type>  
901 - <description/>  
902 - <distribute>Y</distribute>  
903 - <custom_distribution/>  
904 - <copies>1</copies>  
905 - <partitioning>  
906 - <method>none</method>  
907 - <schema_name/>  
908 - </partitioning>  
909 - <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>  
910 - <prefix>out</prefix>  
911 - <sort_size>1000000</sort_size>  
912 - <free_memory/>  
913 - <compress>N</compress>  
914 - <compress_variable/>  
915 - <unique_rows>N</unique_rows>  
916 - <fields>  
917 - <field>  
918 - <name>xlid</name>  
919 - <ascending>Y</ascending>  
920 - <case_sensitive>N</case_sensitive>  
921 - <presorted>N</presorted>  
922 - </field>  
923 - <field>  
924 - <name>cid</name>  
925 - <ascending>Y</ascending>  
926 - <case_sensitive>N</case_sensitive>  
927 - <presorted>N</presorted>  
928 - </field>  
929 - <field>  
930 - <name>&#x8def;&#x724c;&#x8303;&#x56f4;</name>  
931 - <ascending>Y</ascending>  
932 - <case_sensitive>N</case_sensitive>  
933 - <presorted>N</presorted>  
934 - </field>  
935 - <field>  
936 - <name>&#x8d77;&#x59cb;&#x8def;&#x724c;</name>  
937 - <ascending>Y</ascending>  
938 - <case_sensitive>N</case_sensitive>  
939 - <presorted>N</presorted>  
940 - </field>  
941 - <field>  
942 - <name>&#x8d77;&#x59cb;&#x4eba;&#x5458;</name>  
943 - <ascending>Y</ascending>  
944 - <case_sensitive>N</case_sensitive>  
945 - <presorted>N</presorted>  
946 - </field>  
947 - <field>  
948 - <name>&#x4eba;&#x5458;&#x8303;&#x56f4;</name>  
949 - <ascending>Y</ascending>  
950 - <case_sensitive>N</case_sensitive>  
951 - <presorted>N</presorted>  
952 - </field>  
953 - <field>  
954 - <name>&#x542f;&#x7528;&#x65e5;&#x671f;</name>  
955 - <ascending>Y</ascending>  
956 - <case_sensitive>N</case_sensitive>  
957 - <presorted>N</presorted>  
958 - </field>  
959 - <field>  
960 - <name>&#x7ffb;&#x73ed;&#x683c;&#x5f0f;</name>  
961 - <ascending>Y</ascending>  
962 - <case_sensitive>N</case_sensitive>  
963 - <presorted>N</presorted>  
964 - </field>  
965 - <field>  
966 - <name>isCancel</name>  
967 - <ascending>Y</ascending>  
968 - <case_sensitive>N</case_sensitive>  
969 - <presorted>N</presorted>  
970 - </field>  
971 - </fields>  
972 - <cluster_schema/>  
973 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
974 - <xloc>516</xloc>  
975 - <yloc>119</yloc>  
976 - <draw>Y</draw>  
977 - </GUI>  
978 - </step>  
979 -  
980 - <step>  
981 - <name>&#x6392;&#x5e8f;&#x8bb0;&#x5f55; 2</name>  
982 - <type>SortRows</type>  
983 - <description/>  
984 - <distribute>Y</distribute>  
985 - <custom_distribution/>  
986 - <copies>1</copies>  
987 - <partitioning>  
988 - <method>none</method>  
989 - <schema_name/>  
990 - </partitioning>  
991 - <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>  
992 - <prefix>out</prefix>  
993 - <sort_size>1000000</sort_size>  
994 - <free_memory/>  
995 - <compress>N</compress>  
996 - <compress_variable/>  
997 - <unique_rows>N</unique_rows>  
998 - <fields>  
999 - <field>  
1000 - <name>xlid</name>  
1001 - <ascending>Y</ascending>  
1002 - <case_sensitive>N</case_sensitive>  
1003 - <presorted>N</presorted>  
1004 - </field>  
1005 - <field>  
1006 - <name>cid</name>  
1007 - <ascending>Y</ascending>  
1008 - <case_sensitive>N</case_sensitive>  
1009 - <presorted>N</presorted>  
1010 - </field>  
1011 - <field>  
1012 - <name>&#x8def;&#x724c;&#x8303;&#x56f4;</name>  
1013 - <ascending>Y</ascending>  
1014 - <case_sensitive>N</case_sensitive>  
1015 - <presorted>N</presorted>  
1016 - </field>  
1017 - <field>  
1018 - <name>lpids</name>  
1019 - <ascending>Y</ascending>  
1020 - <case_sensitive>N</case_sensitive>  
1021 - <presorted>N</presorted>  
1022 - </field>  
1023 - <field>  
1024 - <name>&#x8d77;&#x59cb;&#x8def;&#x724c;</name>  
1025 - <ascending>Y</ascending>  
1026 - <case_sensitive>N</case_sensitive>  
1027 - <presorted>N</presorted>  
1028 - </field>  
1029 - <field>  
1030 - <name>&#x8d77;&#x59cb;&#x4eba;&#x5458;</name>  
1031 - <ascending>Y</ascending>  
1032 - <case_sensitive>N</case_sensitive>  
1033 - <presorted>N</presorted>  
1034 - </field>  
1035 - <field>  
1036 - <name>&#x4eba;&#x5458;&#x8303;&#x56f4;</name>  
1037 - <ascending>Y</ascending>  
1038 - <case_sensitive>N</case_sensitive>  
1039 - <presorted>N</presorted>  
1040 - </field>  
1041 - <field>  
1042 - <name>&#x542f;&#x7528;&#x65e5;&#x671f;</name>  
1043 - <ascending>Y</ascending>  
1044 - <case_sensitive>N</case_sensitive>  
1045 - <presorted>N</presorted>  
1046 - </field>  
1047 - <field>  
1048 - <name>&#x7ffb;&#x73ed;&#x683c;&#x5f0f;</name>  
1049 - <ascending>Y</ascending>  
1050 - <case_sensitive>N</case_sensitive>  
1051 - <presorted>N</presorted>  
1052 - </field>  
1053 - <field>  
1054 - <name>isCancel</name>  
1055 - <ascending>Y</ascending>  
1056 - <case_sensitive>N</case_sensitive>  
1057 - <presorted>N</presorted>  
1058 - </field>  
1059 - </fields>  
1060 - <cluster_schema/>  
1061 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1062 - <xloc>919</xloc>  
1063 - <yloc>289</yloc>  
1064 - <draw>Y</draw>  
1065 - </GUI>  
1066 - </step>  
1067 -  
1068 - <step>  
1069 - <name>&#x63d2;&#x5165; &#x2f; &#x66f4;&#x65b0;bsth_c_s_sr1_flat</name>  
1070 - <type>InsertUpdate</type>  
1071 - <description/>  
1072 - <distribute>Y</distribute>  
1073 - <custom_distribution/>  
1074 - <copies>1</copies>  
1075 - <partitioning>  
1076 - <method>none</method>  
1077 - <schema_name/>  
1078 - </partitioning>  
1079 - <connection>bus_control_variable</connection>  
1080 - <commit>100</commit>  
1081 - <update_bypassed>N</update_bypassed>  
1082 - <lookup>  
1083 - <schema/>  
1084 - <table>bsth_c_s_sr1_flat</table>  
1085 - <key>  
1086 - <name>xlid</name>  
1087 - <field>xl</field>  
1088 - <condition>&#x3d;</condition>  
1089 - <name2/>  
1090 - </key>  
1091 - <key>  
1092 - <name>cid</name>  
1093 - <field>car_config_info</field>  
1094 - <condition>&#x3d;</condition>  
1095 - <name2/>  
1096 - </key>  
1097 - <value>  
1098 - <name>xl</name>  
1099 - <rename>xlid</rename>  
1100 - <update>Y</update>  
1101 - </value>  
1102 - <value>  
1103 - <name>car_config_info</name>  
1104 - <rename>cid</rename>  
1105 - <update>Y</update>  
1106 - </value>  
1107 - <value>  
1108 - <name>lp_names</name>  
1109 - <rename>&#x8def;&#x724c;&#x8303;&#x56f4;</rename>  
1110 - <update>Y</update>  
1111 - </value>  
1112 - <value>  
1113 - <name>lp_ids</name>  
1114 - <rename>lpids</rename>  
1115 - <update>Y</update>  
1116 - </value>  
1117 - <value>  
1118 - <name>lp_start</name>  
1119 - <rename>&#x8d77;&#x59cb;&#x8def;&#x724c;</rename>  
1120 - <update>Y</update>  
1121 - </value>  
1122 - <value>  
1123 - <name>ry_start</name>  
1124 - <rename>&#x8d77;&#x59cb;&#x4eba;&#x5458;</rename>  
1125 - <update>Y</update>  
1126 - </value>  
1127 - <value>  
1128 - <name>ry_dbbms</name>  
1129 - <rename>&#x4eba;&#x5458;&#x8303;&#x56f4;</rename>  
1130 - <update>Y</update>  
1131 - </value>  
1132 - <value>  
1133 - <name>qyrq</name>  
1134 - <rename>&#x542f;&#x7528;&#x65e5;&#x671f;</rename>  
1135 - <update>Y</update>  
1136 - </value>  
1137 - <value>  
1138 - <name>ry_config_ids</name>  
1139 - <rename>rycids</rename>  
1140 - <update>Y</update>  
1141 - </value>  
1142 - <value>  
1143 - <name>fbgs</name>  
1144 - <rename>&#x7ffb;&#x73ed;&#x683c;&#x5f0f;</rename>  
1145 - <update>Y</update>  
1146 - </value>  
1147 - </lookup>  
1148 - <cluster_schema/>  
1149 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1150 - <xloc>532</xloc>  
1151 - <yloc>297</yloc>  
1152 - <draw>Y</draw>  
1153 - </GUI>  
1154 - </step>  
1155 -  
1156 - <step>  
1157 - <name>&#x7ebf;&#x8def;id&#x67e5;&#x8be2;</name>  
1158 - <type>DBLookup</type>  
1159 - <description/>  
1160 - <distribute>Y</distribute>  
1161 - <custom_distribution/>  
1162 - <copies>1</copies>  
1163 - <partitioning>  
1164 - <method>none</method>  
1165 - <schema_name/>  
1166 - </partitioning>  
1167 - <connection>bus_control_variable</connection>  
1168 - <cache>N</cache>  
1169 - <cache_load_all>Y</cache_load_all>  
1170 - <cache_size>0</cache_size>  
1171 - <lookup>  
1172 - <schema/>  
1173 - <table>bsth_c_line</table>  
1174 - <orderby/>  
1175 - <fail_on_multiple>N</fail_on_multiple>  
1176 - <eat_row_on_failure>N</eat_row_on_failure>  
1177 - <key>  
1178 - <name>&#x7ebf;&#x8def;</name>  
1179 - <field>name</field>  
1180 - <condition>&#x3d;</condition>  
1181 - <name2/>  
1182 - </key>  
1183 - <key>  
1184 - <name>isCancel</name>  
1185 - <field>destroy</field>  
1186 - <condition>&#x3d;</condition>  
1187 - <name2/>  
1188 - </key>  
1189 - <value>  
1190 - <name>id</name>  
1191 - <rename>xlid</rename>  
1192 - <default/>  
1193 - <type>Integer</type>  
1194 - </value>  
1195 - </lookup>  
1196 - <cluster_schema/>  
1197 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1198 - <xloc>359</xloc>  
1199 - <yloc>110</yloc>  
1200 - <draw>Y</draw>  
1201 - </GUI>  
1202 - </step>  
1203 -  
1204 - <step>  
1205 - <name>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</name>  
1206 - <type>GetVariable</type>  
1207 - <description/>  
1208 - <distribute>Y</distribute>  
1209 - <custom_distribution/>  
1210 - <copies>1</copies>  
1211 - <partitioning>  
1212 - <method>none</method>  
1213 - <schema_name/>  
1214 - </partitioning>  
1215 - <fields>  
1216 - <field>  
1217 - <name>filepath_</name>  
1218 - <variable>&#x24;&#x7b;filepath&#x7d;</variable>  
1219 - <type>String</type>  
1220 - <format/>  
1221 - <currency/>  
1222 - <decimal/>  
1223 - <group/>  
1224 - <length>-1</length>  
1225 - <precision>-1</precision>  
1226 - <trim_type>none</trim_type>  
1227 - </field>  
1228 - <field>  
1229 - <name>erroroutputdir_</name>  
1230 - <variable>&#x24;&#x7b;erroroutputdir&#x7d;</variable>  
1231 - <type>String</type>  
1232 - <format/>  
1233 - <currency/>  
1234 - <decimal/>  
1235 - <group/>  
1236 - <length>-1</length>  
1237 - <precision>-1</precision>  
1238 - <trim_type>none</trim_type>  
1239 - </field>  
1240 - </fields>  
1241 - <cluster_schema/>  
1242 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1243 - <xloc>53</xloc>  
1244 - <yloc>23</yloc>  
1245 - <draw>Y</draw>  
1246 - </GUI>  
1247 - </step>  
1248 -  
1249 - <step>  
1250 - <name>&#x8def;&#x724c;id&#x67e5;&#x8be2;</name>  
1251 - <type>DBLookup</type>  
1252 - <description/>  
1253 - <distribute>Y</distribute>  
1254 - <custom_distribution/>  
1255 - <copies>1</copies>  
1256 - <partitioning>  
1257 - <method>none</method>  
1258 - <schema_name/>  
1259 - </partitioning>  
1260 - <connection>bus_control_variable</connection>  
1261 - <cache>N</cache>  
1262 - <cache_load_all>Y</cache_load_all>  
1263 - <cache_size>0</cache_size>  
1264 - <lookup>  
1265 - <schema/>  
1266 - <table>bsth_c_s_gbi</table>  
1267 - <orderby/>  
1268 - <fail_on_multiple>N</fail_on_multiple>  
1269 - <eat_row_on_failure>N</eat_row_on_failure>  
1270 - <key>  
1271 - <name>xlid</name>  
1272 - <field>xl</field>  
1273 - <condition>&#x3d;</condition>  
1274 - <name2/>  
1275 - </key>  
1276 - <key>  
1277 - <name>lpname</name>  
1278 - <field>lp_name</field>  
1279 - <condition>&#x3d;</condition>  
1280 - <name2/>  
1281 - </key>  
1282 - <key>  
1283 - <name>isCancel</name>  
1284 - <field>is_cancel</field>  
1285 - <condition>&#x3d;</condition>  
1286 - <name2/>  
1287 - </key>  
1288 - <value>  
1289 - <name>id</name>  
1290 - <rename>lpid</rename>  
1291 - <default/>  
1292 - <type>Integer</type>  
1293 - </value>  
1294 - </lookup>  
1295 - <cluster_schema/>  
1296 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1297 - <xloc>516</xloc>  
1298 - <yloc>21</yloc>  
1299 - <draw>Y</draw>  
1300 - </GUI>  
1301 - </step>  
1302 -  
1303 - <step>  
1304 - <name>&#x8f66;&#x8f86;&#x914d;&#x7f6e;id&#x67e5;&#x8be2;</name>  
1305 - <type>DBJoin</type>  
1306 - <description/>  
1307 - <distribute>Y</distribute>  
1308 - <custom_distribution/>  
1309 - <copies>1</copies>  
1310 - <partitioning>  
1311 - <method>none</method>  
1312 - <schema_name/>  
1313 - </partitioning>  
1314 - <connection>bus_control_variable</connection>  
1315 - <rowlimit>1</rowlimit>  
1316 - <sql>select t1.id as cid from bsth_c_s_ccinfo t1 left join bsth_c_cars t2 on t1.cl &#x3d; t2.id&#xa;where t1.xl &#x3d; &#x3f; and t2.inside_code &#x3d; &#x3f; and t1.is_cancel &#x3d; &#x3f;</sql>  
1317 - <outer_join>Y</outer_join>  
1318 - <replace_vars>N</replace_vars>  
1319 - <parameter>  
1320 - <field>  
1321 - <name>xlid</name>  
1322 - <type>Integer</type>  
1323 - </field>  
1324 - <field>  
1325 - <name>&#x5185;&#x90e8;&#x7f16;&#x7801;</name>  
1326 - <type>String</type>  
1327 - </field>  
1328 - <field>  
1329 - <name>isCancel</name>  
1330 - <type>Integer</type>  
1331 - </field>  
1332 - </parameter>  
1333 - <cluster_schema/>  
1334 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1335 - <xloc>360</xloc>  
1336 - <yloc>184</yloc>  
1337 - <draw>Y</draw>  
1338 - </GUI>  
1339 - </step>  
1340 -  
1341 - <step>  
1342 - <name>&#x8fc7;&#x6ee4;&#x4eba;&#x5458;&#x914d;&#x7f6e;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</name>  
1343 - <type>FilterRows</type>  
1344 - <description/>  
1345 - <distribute>Y</distribute>  
1346 - <custom_distribution/>  
1347 - <copies>1</copies>  
1348 - <partitioning>  
1349 - <method>none</method>  
1350 - <schema_name/>  
1351 - </partitioning>  
1352 -<send_true_to/>  
1353 -<send_false_to/>  
1354 - <compare>  
1355 -<condition>  
1356 - <negated>N</negated>  
1357 - <conditions>  
1358 - <condition>  
1359 - <negated>N</negated>  
1360 - <leftvalue>rycid1</leftvalue>  
1361 - <function>IS NOT NULL</function>  
1362 - <rightvalue/>  
1363 - </condition>  
1364 - <condition>  
1365 - <negated>N</negated>  
1366 - <operator>OR</operator>  
1367 - <leftvalue>rycid2</leftvalue>  
1368 - <function>IS NOT NULL</function>  
1369 - <rightvalue/>  
1370 - </condition>  
1371 - </conditions>  
1372 - </condition>  
1373 - </compare>  
1374 - <cluster_schema/>  
1375 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1376 - <xloc>776</xloc>  
1377 - <yloc>204</yloc>  
1378 - <draw>Y</draw>  
1379 - </GUI>  
1380 - </step>  
1381 -  
1382 - <step>  
1383 - <name>&#x8fc7;&#x6ee4;&#x7ebf;&#x8def;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</name>  
1384 - <type>FilterRows</type>  
1385 - <description/>  
1386 - <distribute>Y</distribute>  
1387 - <custom_distribution/>  
1388 - <copies>1</copies>  
1389 - <partitioning>  
1390 - <method>none</method>  
1391 - <schema_name/>  
1392 - </partitioning>  
1393 -<send_true_to>&#x8f66;&#x8f86;&#x914d;&#x7f6e;id&#x67e5;&#x8be2;</send_true_to>  
1394 -<send_false_to/>  
1395 - <compare>  
1396 -<condition>  
1397 - <negated>N</negated>  
1398 - <leftvalue>xlid</leftvalue>  
1399 - <function>IS NOT NULL</function>  
1400 - <rightvalue/>  
1401 - </condition>  
1402 - </compare>  
1403 - <cluster_schema/>  
1404 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1405 - <xloc>203</xloc>  
1406 - <yloc>110</yloc>  
1407 - <draw>Y</draw>  
1408 - </GUI>  
1409 - </step>  
1410 -  
1411 - <step>  
1412 - <name>&#x8fc7;&#x6ee4;&#x8def;&#x724c;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</name>  
1413 - <type>FilterRows</type>  
1414 - <description/>  
1415 - <distribute>Y</distribute>  
1416 - <custom_distribution/>  
1417 - <copies>1</copies>  
1418 - <partitioning>  
1419 - <method>none</method>  
1420 - <schema_name/>  
1421 - </partitioning>  
1422 -<send_true_to>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</send_true_to>  
1423 -<send_false_to/>  
1424 - <compare>  
1425 -<condition>  
1426 - <negated>N</negated>  
1427 - <leftvalue>lpid</leftvalue>  
1428 - <function>IS NOT NULL</function>  
1429 - <rightvalue/>  
1430 - </condition>  
1431 - </compare>  
1432 - <cluster_schema/>  
1433 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1434 - <xloc>653</xloc>  
1435 - <yloc>23</yloc>  
1436 - <draw>Y</draw>  
1437 - </GUI>  
1438 - </step>  
1439 -  
1440 - <step>  
1441 - <name>&#x8fc7;&#x6ee4;&#x8f66;&#x8f86;&#x914d;&#x7f6e;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</name>  
1442 - <type>FilterRows</type>  
1443 - <description/>  
1444 - <distribute>Y</distribute>  
1445 - <custom_distribution/>  
1446 - <copies>1</copies>  
1447 - <partitioning>  
1448 - <method>none</method>  
1449 - <schema_name/>  
1450 - </partitioning>  
1451 -<send_true_to>&#x62c6;&#x5206;&#x8def;&#x724c;&#x8303;&#x56f4;</send_true_to>  
1452 -<send_false_to/>  
1453 - <compare>  
1454 -<condition>  
1455 - <negated>N</negated>  
1456 - <leftvalue>cid</leftvalue>  
1457 - <function>IS NOT NULL</function>  
1458 - <rightvalue/>  
1459 - </condition>  
1460 - </compare>  
1461 - <cluster_schema/>  
1462 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1463 - <xloc>208</xloc>  
1464 - <yloc>182</yloc>  
1465 - <draw>Y</draw>  
1466 - </GUI>  
1467 - </step>  
1468 -  
1469 - <step>  
1470 - <name>&#x9519;&#x8bef;&#x8f93;&#x51fa; 2</name>  
1471 - <type>ExcelOutput</type>  
1472 - <description/>  
1473 - <distribute>Y</distribute>  
1474 - <custom_distribution/>  
1475 - <copies>1</copies>  
1476 - <partitioning>  
1477 - <method>none</method>  
1478 - <schema_name/>  
1479 - </partitioning>  
1480 - <header>Y</header>  
1481 - <footer>N</footer>  
1482 - <encoding>UTF-8</encoding>  
1483 - <append>N</append>  
1484 - <add_to_result_filenames>Y</add_to_result_filenames>  
1485 - <file>  
1486 - <name>&#x24;&#x7b;erroroutputdir&#x7d;&#x2f;&#x6392;&#x7248;&#x89c4;&#x5219;&#x4fe1;&#x606f;&#x5bfc;&#x5165;_&#x9519;&#x8bef;</name>  
1487 - <extention>xls</extention>  
1488 - <do_not_open_newfile_init>N</do_not_open_newfile_init>  
1489 - <create_parent_folder>N</create_parent_folder>  
1490 - <split>N</split>  
1491 - <add_date>N</add_date>  
1492 - <add_time>N</add_time>  
1493 - <SpecifyFormat>N</SpecifyFormat>  
1494 - <date_time_format/>  
1495 - <sheetname>Sheet1</sheetname>  
1496 - <autosizecolums>N</autosizecolums>  
1497 - <nullisblank>N</nullisblank>  
1498 - <protect_sheet>N</protect_sheet>  
1499 - <password>Encrypted </password>  
1500 - <splitevery>0</splitevery>  
1501 - <usetempfiles>N</usetempfiles>  
1502 - <tempdirectory/>  
1503 - </file>  
1504 - <template>  
1505 - <enabled>N</enabled>  
1506 - <append>N</append>  
1507 - <filename>template.xls</filename>  
1508 - </template>  
1509 - <fields>  
1510 - <field>  
1511 - <name>xlid</name>  
1512 - <type>Integer</type>  
1513 - <format/>  
1514 - </field>  
1515 - <field>  
1516 - <name>cid</name>  
1517 - <type>Integer</type>  
1518 - <format/>  
1519 - </field>  
1520 - <field>  
1521 - <name>&#x8def;&#x724c;&#x8303;&#x56f4;</name>  
1522 - <type>String</type>  
1523 - <format/>  
1524 - </field>  
1525 - <field>  
1526 - <name>lpids</name>  
1527 - <type>String</type>  
1528 - <format/>  
1529 - </field>  
1530 - <field>  
1531 - <name>&#x8d77;&#x59cb;&#x8def;&#x724c;</name>  
1532 - <type>String</type>  
1533 - <format/>  
1534 - </field>  
1535 - <field>  
1536 - <name>&#x8d77;&#x59cb;&#x4eba;&#x5458;</name>  
1537 - <type>String</type>  
1538 - <format/>  
1539 - </field>  
1540 - <field>  
1541 - <name>&#x4eba;&#x5458;&#x8303;&#x56f4;</name>  
1542 - <type>String</type>  
1543 - <format/>  
1544 - </field>  
1545 - <field>  
1546 - <name>&#x542f;&#x7528;&#x65e5;&#x671f;</name>  
1547 - <type>Timestamp</type>  
1548 - <format/>  
1549 - </field>  
1550 - <field>  
1551 - <name>&#x7ffb;&#x73ed;&#x683c;&#x5f0f;</name>  
1552 - <type>String</type>  
1553 - <format/>  
1554 - </field>  
1555 - <field>  
1556 - <name>isCancel</name>  
1557 - <type>Integer</type>  
1558 - <format/>  
1559 - </field>  
1560 - <field>  
1561 - <name>rycids</name>  
1562 - <type>String</type>  
1563 - <format/>  
1564 - </field>  
1565 - <field>  
1566 - <name>error_count</name>  
1567 - <type>Integer</type>  
1568 - <format/>  
1569 - </field>  
1570 - <field>  
1571 - <name>error_desc</name>  
1572 - <type>String</type>  
1573 - <format/>  
1574 - </field>  
1575 - <field>  
1576 - <name>error_column1</name>  
1577 - <type>String</type>  
1578 - <format/>  
1579 - </field>  
1580 - <field>  
1581 - <name>error_column2</name>  
1582 - <type>String</type>  
1583 - <format/>  
1584 - </field>  
1585 - </fields>  
1586 - <custom>  
1587 - <header_font_name>arial</header_font_name>  
1588 - <header_font_size>10</header_font_size>  
1589 - <header_font_bold>N</header_font_bold>  
1590 - <header_font_italic>N</header_font_italic>  
1591 - <header_font_underline>no</header_font_underline>  
1592 - <header_font_orientation>horizontal</header_font_orientation>  
1593 - <header_font_color>black</header_font_color>  
1594 - <header_background_color>none</header_background_color>  
1595 - <header_row_height>255</header_row_height>  
1596 - <header_alignment>left</header_alignment>  
1597 - <header_image/>  
1598 - <row_font_name>arial</row_font_name>  
1599 - <row_font_size>10</row_font_size>  
1600 - <row_font_color>black</row_font_color>  
1601 - <row_background_color>none</row_background_color>  
1602 - </custom>  
1603 - <cluster_schema/>  
1604 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1605 - <xloc>534</xloc>  
1606 - <yloc>392</yloc>  
1607 - <draw>Y</draw>  
1608 - </GUI>  
1609 - </step>  
1610 -  
1611 - <step_error_handling>  
1612 - <error>  
1613 - <source_step>&#x63d2;&#x5165; &#x2f; &#x66f4;&#x65b0;bsth_c_s_sr1_flat</source_step>  
1614 - <target_step>&#x9519;&#x8bef;&#x8f93;&#x51fa; 2</target_step>  
1615 - <is_enabled>Y</is_enabled>  
1616 - <nr_valuename>error_count</nr_valuename>  
1617 - <descriptions_valuename>error_desc</descriptions_valuename>  
1618 - <fields_valuename>error_column1</fields_valuename>  
1619 - <codes_valuename>error_column2</codes_valuename>  
1620 - <max_errors/>  
1621 - <max_pct_errors/>  
1622 - <min_pct_rows/>  
1623 - </error>  
1624 - </step_error_handling>  
1625 - <slave-step-copy-partition-distribution>  
1626 -</slave-step-copy-partition-distribution>  
1627 - <slave_transformation>N</slave_transformation>  
1628 -  
1629 -</transformation> 1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<transformation>
  3 + <info>
  4 + <name>&#x6392;&#x73ed;&#x89c4;&#x5219;&#x4fe1;&#x606f;&#x5bfc;&#x5165;</name>
  5 + <description/>
  6 + <extended_description/>
  7 + <trans_version/>
  8 + <trans_type>Normal</trans_type>
  9 + <trans_status>0</trans_status>
  10 + <directory>&#x2f;</directory>
  11 + <parameters>
  12 + <parameter>
  13 + <name>erroroutputdir</name>
  14 + <default_value>&#x2f;Users&#x2f;xu&#x2f;resource&#x2f;project_code&#x2f;bsth_project&#x2f;bsth_control_etl&#x2f;&#x5bfc;&#x5165;&#x5bfc;&#x51fa;1</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>&#x2f;Users&#x2f;xu&#x2f;resource&#x2f;project_code&#x2f;bsth_project&#x2f;bsth_control_etl&#x2f;&#x5bfc;&#x5165;&#x5bfc;&#x51fa;1&#x2f;&#x6392;&#x7248;&#x89c4;&#x5219;&#x4fe1;&#x606f;.xls</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>2017&#x2f;01&#x2f;09 10&#x3a;10&#x3a;36.915</created_date>
  81 + <modified_user>-</modified_user>
  82 + <modified_date>2017&#x2f;01&#x2f;09 10&#x3a;10&#x3a;36.915</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 + </notepads>
  88 + <connection>
  89 + <name>192.168.168.1_jwgl_dw</name>
  90 + <server>192.168.168.1</server>
  91 + <type>ORACLE</type>
  92 + <access>Native</access>
  93 + <database>orcl</database>
  94 + <port>1521</port>
  95 + <username>jwgl_dw</username>
  96 + <password>Encrypted 2be98afc86aa7f2e4cb13b977d2adabcd</password>
  97 + <servername/>
  98 + <data_tablespace/>
  99 + <index_tablespace/>
  100 + <attributes>
  101 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  102 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  103 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  104 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  105 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  106 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  107 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  108 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  109 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  110 + </attributes>
  111 + </connection>
  112 + <connection>
  113 + <name>bus_control_variable</name>
  114 + <server>&#x24;&#x7b;v_db_ip&#x7d;</server>
  115 + <type>MYSQL</type>
  116 + <access>Native</access>
  117 + <database>&#x24;&#x7b;v_db_dname&#x7d;</database>
  118 + <port>3306</port>
  119 + <username>&#x24;&#x7b;v_db_uname&#x7d;</username>
  120 + <password>&#x24;&#x7b;v_db_pwd&#x7d;</password>
  121 + <servername/>
  122 + <data_tablespace/>
  123 + <index_tablespace/>
  124 + <attributes>
  125 + <attribute><code>EXTRA_OPTION_MYSQL.characterEncoding</code><attribute>utf8</attribute></attribute>
  126 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  127 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  128 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  129 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  130 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  131 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  132 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  133 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  134 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  135 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  136 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  137 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  138 + </attributes>
  139 + </connection>
  140 + <connection>
  141 + <name>bus_control_&#x516c;&#x53f8;_201</name>
  142 + <server>localhost</server>
  143 + <type>MYSQL</type>
  144 + <access>Native</access>
  145 + <database>control</database>
  146 + <port>3306</port>
  147 + <username>root</username>
  148 + <password>Encrypted </password>
  149 + <servername/>
  150 + <data_tablespace/>
  151 + <index_tablespace/>
  152 + <attributes>
  153 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  154 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  155 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  156 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  157 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  158 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  159 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  160 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  161 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  162 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  163 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  164 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  165 + </attributes>
  166 + </connection>
  167 + <connection>
  168 + <name>bus_control_&#x672c;&#x673a;</name>
  169 + <server>localhost</server>
  170 + <type>MYSQL</type>
  171 + <access>Native</access>
  172 + <database>control</database>
  173 + <port>3306</port>
  174 + <username>root</username>
  175 + <password>Encrypted </password>
  176 + <servername/>
  177 + <data_tablespace/>
  178 + <index_tablespace/>
  179 + <attributes>
  180 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  181 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  182 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  183 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  184 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  185 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  186 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  187 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  188 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  189 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  190 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  191 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  192 + </attributes>
  193 + </connection>
  194 + <connection>
  195 + <name>xlab_mysql_youle</name>
  196 + <server>101.231.124.8</server>
  197 + <type>MYSQL</type>
  198 + <access>Native</access>
  199 + <database>xlab_youle</database>
  200 + <port>45687</port>
  201 + <username>xlab-youle</username>
  202 + <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password>
  203 + <servername/>
  204 + <data_tablespace/>
  205 + <index_tablespace/>
  206 + <attributes>
  207 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  208 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  209 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  210 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  211 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  212 + <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute>
  213 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  214 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  215 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  216 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  217 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  218 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  219 + </attributes>
  220 + </connection>
  221 + <connection>
  222 + <name>xlab_mysql_youle&#xff08;&#x672c;&#x673a;&#xff09;</name>
  223 + <server>localhost</server>
  224 + <type>MYSQL</type>
  225 + <access>Native</access>
  226 + <database>xlab_youle</database>
  227 + <port>3306</port>
  228 + <username>root</username>
  229 + <password>Encrypted </password>
  230 + <servername/>
  231 + <data_tablespace/>
  232 + <index_tablespace/>
  233 + <attributes>
  234 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  235 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  236 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  237 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  238 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  239 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  240 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  241 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  242 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  243 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  244 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  245 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  246 + </attributes>
  247 + </connection>
  248 + <connection>
  249 + <name>xlab_youle</name>
  250 + <server/>
  251 + <type>MYSQL</type>
  252 + <access>JNDI</access>
  253 + <database>xlab_youle</database>
  254 + <port>1521</port>
  255 + <username/>
  256 + <password>Encrypted </password>
  257 + <servername/>
  258 + <data_tablespace/>
  259 + <index_tablespace/>
  260 + <attributes>
  261 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  262 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  263 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  264 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  265 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  266 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  267 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  268 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  269 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  270 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  271 + </attributes>
  272 + </connection>
  273 + <order>
  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>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</from><to>&#x542f;&#x7528;&#x88ab;&#x6570;&#x636e;flag</to><enabled>Y</enabled> </hop>
  276 + <hop> <from>&#x62c6;&#x5206;&#x8def;&#x724c;&#x8303;&#x56f4;</from><to>&#x8def;&#x724c;id&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>
  277 + <hop> <from>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</from><to>&#x5206;&#x7ec4;&#x5408;&#x5e76;&#x8def;&#x724c;id</to><enabled>Y</enabled> </hop>
  278 + <hop> <from>&#x5206;&#x7ec4;&#x5408;&#x5e76;&#x8def;&#x724c;id</from><to>&#x62c6;&#x5206;&#x4eba;&#x5458;&#x8303;&#x56f4;</to><enabled>Y</enabled> </hop>
  279 + <hop> <from>&#x62c6;&#x5206;&#x4eba;&#x5458;&#x8303;&#x56f4;</from><to>&#x62c6;&#x5206;&#x5206;&#x73ed;&#x642d;&#x73ed;&#x7f16;&#x7801;&#x5b57;&#x6bb5;</to><enabled>Y</enabled> </hop>
  280 + <hop> <from>&#x62c6;&#x5206;&#x5206;&#x73ed;&#x642d;&#x73ed;&#x7f16;&#x7801;&#x5b57;&#x6bb5;</from><to>&#x4eba;&#x5458;&#x914d;&#x7f6e;id&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>
  281 + <hop> <from>&#x4eba;&#x5458;&#x914d;&#x7f6e;id&#x67e5;&#x8be2;</from><to>&#x4eba;&#x5458;&#x914d;&#x7f6e;id&#x67e5;&#x8be2; 2</to><enabled>Y</enabled> </hop>
  282 + <hop> <from>&#x542f;&#x7528;&#x88ab;&#x6570;&#x636e;flag</from><to>&#x7ebf;&#x8def;id&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>
  283 + <hop> <from>&#x7ebf;&#x8def;id&#x67e5;&#x8be2;</from><to>&#x8fc7;&#x6ee4;&#x7ebf;&#x8def;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>
  284 + <hop> <from>&#x8fc7;&#x6ee4;&#x7ebf;&#x8def;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</from><to>&#x8f66;&#x8f86;&#x914d;&#x7f6e;id&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>
  285 + <hop> <from>&#x8f66;&#x8f86;&#x914d;&#x7f6e;id&#x67e5;&#x8be2;</from><to>&#x8fc7;&#x6ee4;&#x8f66;&#x8f86;&#x914d;&#x7f6e;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>
  286 + <hop> <from>&#x8fc7;&#x6ee4;&#x8f66;&#x8f86;&#x914d;&#x7f6e;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</from><to>&#x62c6;&#x5206;&#x8def;&#x724c;&#x8303;&#x56f4;</to><enabled>Y</enabled> </hop>
  287 + <hop> <from>&#x8def;&#x724c;id&#x67e5;&#x8be2;</from><to>&#x8fc7;&#x6ee4;&#x8def;&#x724c;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>
  288 + <hop> <from>&#x8fc7;&#x6ee4;&#x8def;&#x724c;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</from><to>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>
  289 + <hop> <from>&#x4eba;&#x5458;&#x914d;&#x7f6e;id&#x67e5;&#x8be2; 2</from><to>&#x8fc7;&#x6ee4;&#x4eba;&#x5458;&#x914d;&#x7f6e;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>
  290 + <hop> <from>&#x8fc7;&#x6ee4;&#x4eba;&#x5458;&#x914d;&#x7f6e;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</from><to>&#x5408;&#x5e76;&#x5206;&#x73ed;&#x4eba;&#x5458;&#x914d;&#x7f6e;id</to><enabled>Y</enabled> </hop>
  291 + <hop> <from>&#x5408;&#x5e76;&#x5206;&#x73ed;&#x4eba;&#x5458;&#x914d;&#x7f6e;id</from><to>&#x6392;&#x5e8f;&#x8bb0;&#x5f55; 2</to><enabled>Y</enabled> </hop>
  292 + <hop> <from>&#x6392;&#x5e8f;&#x8bb0;&#x5f55; 2</from><to>&#x5206;&#x7ec4;&#x5408;&#x5e76;&#x4eba;&#x5458;&#x914d;&#x7f6e;id</to><enabled>Y</enabled> </hop>
  293 + <hop> <from>&#x63d2;&#x5165; &#x2f; &#x66f4;&#x65b0;bsth_c_s_sr1_flat</from><to>&#x9519;&#x8bef;&#x8f93;&#x51fa; 2</to><enabled>Y</enabled> </hop>
  294 + <hop> <from>&#x5206;&#x7ec4;&#x5408;&#x5e76;&#x4eba;&#x5458;&#x914d;&#x7f6e;id</from><to>&#x542f;&#x7528;&#x65e5;&#x671f;&#x8f6c;&#x6362;</to><enabled>Y</enabled> </hop>
  295 + <hop> <from>&#x542f;&#x7528;&#x65e5;&#x671f;&#x8f6c;&#x6362;</from><to>&#x63d2;&#x5165; &#x2f; &#x66f4;&#x65b0;bsth_c_s_sr1_flat</to><enabled>Y</enabled> </hop>
  296 + </order>
  297 + <step>
  298 + <name>&#x4eba;&#x5458;&#x914d;&#x7f6e;id&#x67e5;&#x8be2;</name>
  299 + <type>DBLookup</type>
  300 + <description/>
  301 + <distribute>Y</distribute>
  302 + <custom_distribution/>
  303 + <copies>1</copies>
  304 + <partitioning>
  305 + <method>none</method>
  306 + <schema_name/>
  307 + </partitioning>
  308 + <connection>bus_control_variable</connection>
  309 + <cache>N</cache>
  310 + <cache_load_all>Y</cache_load_all>
  311 + <cache_size>0</cache_size>
  312 + <lookup>
  313 + <schema/>
  314 + <table>bsth_c_s_ecinfo</table>
  315 + <orderby/>
  316 + <fail_on_multiple>N</fail_on_multiple>
  317 + <eat_row_on_failure>N</eat_row_on_failure>
  318 + <key>
  319 + <name>xlid</name>
  320 + <field>xl</field>
  321 + <condition>&#x3d;</condition>
  322 + <name2/>
  323 + </key>
  324 + <key>
  325 + <name>dbbm1</name>
  326 + <field>dbbm</field>
  327 + <condition>&#x3d;</condition>
  328 + <name2/>
  329 + </key>
  330 + <key>
  331 + <name>isCancel</name>
  332 + <field>is_cancel</field>
  333 + <condition>&#x3d;</condition>
  334 + <name2/>
  335 + </key>
  336 + <value>
  337 + <name>id</name>
  338 + <rename>rycid1</rename>
  339 + <default/>
  340 + <type>Integer</type>
  341 + </value>
  342 + </lookup>
  343 + <cluster_schema/>
  344 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  345 + <xloc>904</xloc>
  346 + <yloc>101</yloc>
  347 + <draw>Y</draw>
  348 + </GUI>
  349 + </step>
  350 +
  351 + <step>
  352 + <name>&#x4eba;&#x5458;&#x914d;&#x7f6e;id&#x67e5;&#x8be2; 2</name>
  353 + <type>DBLookup</type>
  354 + <description/>
  355 + <distribute>Y</distribute>
  356 + <custom_distribution/>
  357 + <copies>1</copies>
  358 + <partitioning>
  359 + <method>none</method>
  360 + <schema_name/>
  361 + </partitioning>
  362 + <connection>bus_control_variable</connection>
  363 + <cache>N</cache>
  364 + <cache_load_all>Y</cache_load_all>
  365 + <cache_size>0</cache_size>
  366 + <lookup>
  367 + <schema/>
  368 + <table>bsth_c_s_ecinfo</table>
  369 + <orderby/>
  370 + <fail_on_multiple>N</fail_on_multiple>
  371 + <eat_row_on_failure>N</eat_row_on_failure>
  372 + <key>
  373 + <name>xlid</name>
  374 + <field>xl</field>
  375 + <condition>&#x3d;</condition>
  376 + <name2/>
  377 + </key>
  378 + <key>
  379 + <name>dbbm2</name>
  380 + <field>dbbm</field>
  381 + <condition>&#x3d;</condition>
  382 + <name2/>
  383 + </key>
  384 + <key>
  385 + <name>isCancel</name>
  386 + <field>is_cancel</field>
  387 + <condition>&#x3d;</condition>
  388 + <name2/>
  389 + </key>
  390 + <value>
  391 + <name>id</name>
  392 + <rename>rycid2</rename>
  393 + <default/>
  394 + <type>Integer</type>
  395 + </value>
  396 + </lookup>
  397 + <cluster_schema/>
  398 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  399 + <xloc>778</xloc>
  400 + <yloc>103</yloc>
  401 + <draw>Y</draw>
  402 + </GUI>
  403 + </step>
  404 +
  405 + <step>
  406 + <name>&#x5206;&#x7ec4;&#x5408;&#x5e76;&#x4eba;&#x5458;&#x914d;&#x7f6e;id</name>
  407 + <type>GroupBy</type>
  408 + <description/>
  409 + <distribute>Y</distribute>
  410 + <custom_distribution/>
  411 + <copies>1</copies>
  412 + <partitioning>
  413 + <method>none</method>
  414 + <schema_name/>
  415 + </partitioning>
  416 + <all_rows>N</all_rows>
  417 + <ignore_aggregate>N</ignore_aggregate>
  418 + <field_ignore/>
  419 + <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
  420 + <prefix>grp</prefix>
  421 + <add_linenr>N</add_linenr>
  422 + <linenr_fieldname/>
  423 + <give_back_row>N</give_back_row>
  424 + <group>
  425 + <field>
  426 + <name>xlid</name>
  427 + </field>
  428 + <field>
  429 + <name>cid</name>
  430 + </field>
  431 + <field>
  432 + <name>lpnames</name>
  433 + </field>
  434 + <field>
  435 + <name>lpids</name>
  436 + </field>
  437 + <field>
  438 + <name>&#x8d77;&#x59cb;&#x8def;&#x724c;</name>
  439 + </field>
  440 + <field>
  441 + <name>&#x8d77;&#x59cb;&#x4eba;&#x5458;</name>
  442 + </field>
  443 + <field>
  444 + <name>&#x4eba;&#x5458;&#x8303;&#x56f4;</name>
  445 + </field>
  446 + <field>
  447 + <name>&#x542f;&#x7528;&#x65e5;&#x671f;</name>
  448 + </field>
  449 + <field>
  450 + <name>&#x7ffb;&#x73ed;&#x683c;&#x5f0f;</name>
  451 + </field>
  452 + <field>
  453 + <name>isCancel</name>
  454 + </field>
  455 + </group>
  456 + <fields>
  457 + <field>
  458 + <aggregate>rycids</aggregate>
  459 + <subject>rycid</subject>
  460 + <type>CONCAT_STRING</type>
  461 + <valuefield>,</valuefield>
  462 + </field>
  463 + <field>
  464 + <aggregate>rybms</aggregate>
  465 + <subject>rybm</subject>
  466 + <type>CONCAT_STRING</type>
  467 + <valuefield>,</valuefield>
  468 + </field>
  469 + </fields>
  470 + <cluster_schema/>
  471 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  472 + <xloc>780</xloc>
  473 + <yloc>291</yloc>
  474 + <draw>Y</draw>
  475 + </GUI>
  476 + </step>
  477 +
  478 + <step>
  479 + <name>&#x5206;&#x7ec4;&#x5408;&#x5e76;&#x8def;&#x724c;id</name>
  480 + <type>GroupBy</type>
  481 + <description/>
  482 + <distribute>Y</distribute>
  483 + <custom_distribution/>
  484 + <copies>1</copies>
  485 + <partitioning>
  486 + <method>none</method>
  487 + <schema_name/>
  488 + </partitioning>
  489 + <all_rows>N</all_rows>
  490 + <ignore_aggregate>N</ignore_aggregate>
  491 + <field_ignore/>
  492 + <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
  493 + <prefix>grp</prefix>
  494 + <add_linenr>N</add_linenr>
  495 + <linenr_fieldname/>
  496 + <give_back_row>N</give_back_row>
  497 + <group>
  498 + <field>
  499 + <name>xlid</name>
  500 + </field>
  501 + <field>
  502 + <name>cid</name>
  503 + </field>
  504 + <field>
  505 + <name>&#x8d77;&#x59cb;&#x8def;&#x724c;</name>
  506 + </field>
  507 + <field>
  508 + <name>&#x8d77;&#x59cb;&#x4eba;&#x5458;</name>
  509 + </field>
  510 + <field>
  511 + <name>&#x4eba;&#x5458;&#x8303;&#x56f4;</name>
  512 + </field>
  513 + <field>
  514 + <name>&#x542f;&#x7528;&#x65e5;&#x671f;</name>
  515 + </field>
  516 + <field>
  517 + <name>&#x7ffb;&#x73ed;&#x683c;&#x5f0f;</name>
  518 + </field>
  519 + <field>
  520 + <name>isCancel</name>
  521 + </field>
  522 + </group>
  523 + <fields>
  524 + <field>
  525 + <aggregate>lpids</aggregate>
  526 + <subject>lpid</subject>
  527 + <type>CONCAT_STRING</type>
  528 + <valuefield>,</valuefield>
  529 + </field>
  530 + <field>
  531 + <aggregate>lpnames</aggregate>
  532 + <subject>lpname</subject>
  533 + <type>CONCAT_STRING</type>
  534 + <valuefield>,</valuefield>
  535 + </field>
  536 + </fields>
  537 + <cluster_schema/>
  538 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  539 + <xloc>653</xloc>
  540 + <yloc>119</yloc>
  541 + <draw>Y</draw>
  542 + </GUI>
  543 + </step>
  544 +
  545 + <step>
  546 + <name>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</name>
  547 + <type>ExcelInput</type>
  548 + <description/>
  549 + <distribute>Y</distribute>
  550 + <custom_distribution/>
  551 + <copies>1</copies>
  552 + <partitioning>
  553 + <method>none</method>
  554 + <schema_name/>
  555 + </partitioning>
  556 + <header>Y</header>
  557 + <noempty>Y</noempty>
  558 + <stoponempty>N</stoponempty>
  559 + <filefield/>
  560 + <sheetfield/>
  561 + <sheetrownumfield/>
  562 + <rownumfield/>
  563 + <sheetfield/>
  564 + <filefield/>
  565 + <limit>0</limit>
  566 + <encoding/>
  567 + <add_to_result_filenames>Y</add_to_result_filenames>
  568 + <accept_filenames>Y</accept_filenames>
  569 + <accept_field>filepath_</accept_field>
  570 + <accept_stepname>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</accept_stepname>
  571 + <file>
  572 + <name/>
  573 + <filemask/>
  574 + <exclude_filemask/>
  575 + <file_required>N</file_required>
  576 + <include_subfolders>N</include_subfolders>
  577 + </file>
  578 + <fields>
  579 + <field>
  580 + <name>&#x7ebf;&#x8def;</name>
  581 + <type>String</type>
  582 + <length>-1</length>
  583 + <precision>-1</precision>
  584 + <trim_type>none</trim_type>
  585 + <repeat>N</repeat>
  586 + <format/>
  587 + <currency/>
  588 + <decimal/>
  589 + <group/>
  590 + </field>
  591 + <field>
  592 + <name>&#x5185;&#x90e8;&#x7f16;&#x7801;</name>
  593 + <type>String</type>
  594 + <length>-1</length>
  595 + <precision>-1</precision>
  596 + <trim_type>none</trim_type>
  597 + <repeat>N</repeat>
  598 + <format/>
  599 + <currency/>
  600 + <decimal/>
  601 + <group/>
  602 + </field>
  603 + <field>
  604 + <name>&#x542f;&#x7528;&#x65e5;&#x671f;</name>
  605 + <type>String</type>
  606 + <length>-1</length>
  607 + <precision>-1</precision>
  608 + <trim_type>none</trim_type>
  609 + <repeat>N</repeat>
  610 + <format/>
  611 + <currency/>
  612 + <decimal/>
  613 + <group/>
  614 + </field>
  615 + <field>
  616 + <name>&#x8d77;&#x59cb;&#x8def;&#x724c;</name>
  617 + <type>String</type>
  618 + <length>-1</length>
  619 + <precision>-1</precision>
  620 + <trim_type>none</trim_type>
  621 + <repeat>N</repeat>
  622 + <format>&#x23;</format>
  623 + <currency/>
  624 + <decimal/>
  625 + <group/>
  626 + </field>
  627 + <field>
  628 + <name>&#x8def;&#x724c;&#x8303;&#x56f4;</name>
  629 + <type>String</type>
  630 + <length>-1</length>
  631 + <precision>-1</precision>
  632 + <trim_type>none</trim_type>
  633 + <repeat>N</repeat>
  634 + <format>&#x23;</format>
  635 + <currency/>
  636 + <decimal/>
  637 + <group/>
  638 + </field>
  639 + <field>
  640 + <name>&#x8d77;&#x59cb;&#x4eba;&#x5458;</name>
  641 + <type>String</type>
  642 + <length>-1</length>
  643 + <precision>-1</precision>
  644 + <trim_type>none</trim_type>
  645 + <repeat>N</repeat>
  646 + <format>&#x23;</format>
  647 + <currency/>
  648 + <decimal/>
  649 + <group/>
  650 + </field>
  651 + <field>
  652 + <name>&#x4eba;&#x5458;&#x8303;&#x56f4;</name>
  653 + <type>String</type>
  654 + <length>-1</length>
  655 + <precision>-1</precision>
  656 + <trim_type>none</trim_type>
  657 + <repeat>N</repeat>
  658 + <format>&#x23;</format>
  659 + <currency/>
  660 + <decimal/>
  661 + <group/>
  662 + </field>
  663 + <field>
  664 + <name>&#x7ffb;&#x73ed;&#x683c;&#x5f0f;</name>
  665 + <type>String</type>
  666 + <length>-1</length>
  667 + <precision>-1</precision>
  668 + <trim_type>none</trim_type>
  669 + <repeat>N</repeat>
  670 + <format>&#x23;</format>
  671 + <currency/>
  672 + <decimal/>
  673 + <group/>
  674 + </field>
  675 + </fields>
  676 + <sheets>
  677 + <sheet>
  678 + <name>&#x5de5;&#x4f5c;&#x8868;1</name>
  679 + <startrow>0</startrow>
  680 + <startcol>0</startcol>
  681 + </sheet>
  682 + </sheets>
  683 + <strict_types>N</strict_types>
  684 + <error_ignored>N</error_ignored>
  685 + <error_line_skipped>N</error_line_skipped>
  686 + <bad_line_files_destination_directory/>
  687 + <bad_line_files_extension>warning</bad_line_files_extension>
  688 + <error_line_files_destination_directory/>
  689 + <error_line_files_extension>error</error_line_files_extension>
  690 + <line_number_files_destination_directory/>
  691 + <line_number_files_extension>line</line_number_files_extension>
  692 + <shortFileFieldName/>
  693 + <pathFieldName/>
  694 + <hiddenFieldName/>
  695 + <lastModificationTimeFieldName/>
  696 + <uriNameFieldName/>
  697 + <rootUriNameFieldName/>
  698 + <extensionFieldName/>
  699 + <sizeFieldName/>
  700 + <spreadsheet_type>JXL</spreadsheet_type>
  701 + <cluster_schema/>
  702 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  703 + <xloc>208</xloc>
  704 + <yloc>21</yloc>
  705 + <draw>Y</draw>
  706 + </GUI>
  707 + </step>
  708 +
  709 + <step>
  710 + <name>&#x5408;&#x5e76;&#x5206;&#x73ed;&#x4eba;&#x5458;&#x914d;&#x7f6e;id</name>
  711 + <type>ScriptValueMod</type>
  712 + <description/>
  713 + <distribute>Y</distribute>
  714 + <custom_distribution/>
  715 + <copies>1</copies>
  716 + <partitioning>
  717 + <method>none</method>
  718 + <schema_name/>
  719 + </partitioning>
  720 + <compatible>N</compatible>
  721 + <optimizationLevel>9</optimizationLevel>
  722 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  723 + <jsScript_name>Script 1</jsScript_name>
  724 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var rycid&#x3b;&#xa;var rybm&#x3b;&#xa;&#xa;if &#x28;rycid2 &#x3d;&#x3d; null&#x29; &#x7b;&#xa; rycid &#x3d; rycid1&#x3b;&#xa; rybm &#x3d; dbbm1&#x3b;&#xa;&#x7d; else &#x7b;&#xa; rycid &#x3d; rycid1 &#x2b; &#x22;-&#x22; &#x2b; rycid2&#x3b;&#xa; rybm &#x3d; dbbm1 &#x2b; &#x22;-&#x22; &#x2b; dbbm2&#x3b;&#xa;&#x7d;</jsScript_script>
  725 + </jsScript> </jsScripts> <fields> <field> <name>rycid</name>
  726 + <rename>rycid</rename>
  727 + <type>String</type>
  728 + <length>-1</length>
  729 + <precision>-1</precision>
  730 + <replace>N</replace>
  731 + </field> <field> <name>rybm</name>
  732 + <rename>rybm</rename>
  733 + <type>String</type>
  734 + <length>-1</length>
  735 + <precision>-1</precision>
  736 + <replace>N</replace>
  737 + </field> </fields> <cluster_schema/>
  738 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  739 + <xloc>917</xloc>
  740 + <yloc>201</yloc>
  741 + <draw>Y</draw>
  742 + </GUI>
  743 + </step>
  744 +
  745 + <step>
  746 + <name>&#x542f;&#x7528;&#x65e5;&#x671f;&#x8f6c;&#x6362;</name>
  747 + <type>SelectValues</type>
  748 + <description/>
  749 + <distribute>Y</distribute>
  750 + <custom_distribution/>
  751 + <copies>1</copies>
  752 + <partitioning>
  753 + <method>none</method>
  754 + <schema_name/>
  755 + </partitioning>
  756 + <fields> <select_unspecified>N</select_unspecified>
  757 + <meta> <name>&#x542f;&#x7528;&#x65e5;&#x671f;</name>
  758 + <rename>&#x542f;&#x7528;&#x65e5;&#x671f;</rename>
  759 + <type>Timestamp</type>
  760 + <length>-2</length>
  761 + <precision>-2</precision>
  762 + <conversion_mask>yyyy-MM-dd</conversion_mask>
  763 + <date_format_lenient>false</date_format_lenient>
  764 + <date_format_locale/>
  765 + <date_format_timezone/>
  766 + <lenient_string_to_number>false</lenient_string_to_number>
  767 + <encoding/>
  768 + <decimal_symbol/>
  769 + <grouping_symbol/>
  770 + <currency_symbol/>
  771 + <storage_type/>
  772 + </meta> </fields> <cluster_schema/>
  773 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  774 + <xloc>777</xloc>
  775 + <yloc>368</yloc>
  776 + <draw>Y</draw>
  777 + </GUI>
  778 + </step>
  779 +
  780 + <step>
  781 + <name>&#x542f;&#x7528;&#x88ab;&#x6570;&#x636e;flag</name>
  782 + <type>Constant</type>
  783 + <description/>
  784 + <distribute>Y</distribute>
  785 + <custom_distribution/>
  786 + <copies>1</copies>
  787 + <partitioning>
  788 + <method>none</method>
  789 + <schema_name/>
  790 + </partitioning>
  791 + <fields>
  792 + <field>
  793 + <name>isCancel</name>
  794 + <type>Integer</type>
  795 + <format/>
  796 + <currency/>
  797 + <decimal/>
  798 + <group/>
  799 + <nullif>0</nullif>
  800 + <length>-1</length>
  801 + <precision>-1</precision>
  802 + <set_empty_string>N</set_empty_string>
  803 + </field>
  804 + </fields>
  805 + <cluster_schema/>
  806 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  807 + <xloc>361</xloc>
  808 + <yloc>22</yloc>
  809 + <draw>Y</draw>
  810 + </GUI>
  811 + </step>
  812 +
  813 + <step>
  814 + <name>&#x62c6;&#x5206;&#x4eba;&#x5458;&#x8303;&#x56f4;</name>
  815 + <type>SplitFieldToRows3</type>
  816 + <description/>
  817 + <distribute>Y</distribute>
  818 + <custom_distribution/>
  819 + <copies>1</copies>
  820 + <partitioning>
  821 + <method>none</method>
  822 + <schema_name/>
  823 + </partitioning>
  824 + <splitfield>&#x4eba;&#x5458;&#x8303;&#x56f4;</splitfield>
  825 + <delimiter>,</delimiter>
  826 + <newfield>dbbm</newfield>
  827 + <rownum>N</rownum>
  828 + <rownum_field/>
  829 + <resetrownumber>Y</resetrownumber>
  830 + <delimiter_is_regex>N</delimiter_is_regex>
  831 + <cluster_schema/>
  832 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  833 + <xloc>777</xloc>
  834 + <yloc>22</yloc>
  835 + <draw>Y</draw>
  836 + </GUI>
  837 + </step>
  838 +
  839 + <step>
  840 + <name>&#x62c6;&#x5206;&#x5206;&#x73ed;&#x642d;&#x73ed;&#x7f16;&#x7801;&#x5b57;&#x6bb5;</name>
  841 + <type>FieldSplitter</type>
  842 + <description/>
  843 + <distribute>Y</distribute>
  844 + <custom_distribution/>
  845 + <copies>1</copies>
  846 + <partitioning>
  847 + <method>none</method>
  848 + <schema_name/>
  849 + </partitioning>
  850 + <splitfield>dbbm</splitfield>
  851 + <delimiter>-</delimiter>
  852 + <enclosure/>
  853 + <fields> <field> <name>dbbm1</name>
  854 + <id/>
  855 + <idrem>N</idrem>
  856 + <type>String</type>
  857 + <format/>
  858 + <group/>
  859 + <decimal/>
  860 + <currency/>
  861 + <length>-1</length>
  862 + <precision>-1</precision>
  863 + <nullif/>
  864 + <ifnull/>
  865 + <trimtype>none</trimtype>
  866 + </field> <field> <name>dbbm2</name>
  867 + <id/>
  868 + <idrem>N</idrem>
  869 + <type>String</type>
  870 + <format/>
  871 + <group/>
  872 + <decimal/>
  873 + <currency/>
  874 + <length>-1</length>
  875 + <precision>-1</precision>
  876 + <nullif/>
  877 + <ifnull/>
  878 + <trimtype>none</trimtype>
  879 + </field> </fields> <cluster_schema/>
  880 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  881 + <xloc>901</xloc>
  882 + <yloc>22</yloc>
  883 + <draw>Y</draw>
  884 + </GUI>
  885 + </step>
  886 +
  887 + <step>
  888 + <name>&#x62c6;&#x5206;&#x8def;&#x724c;&#x8303;&#x56f4;</name>
  889 + <type>SplitFieldToRows3</type>
  890 + <description/>
  891 + <distribute>Y</distribute>
  892 + <custom_distribution/>
  893 + <copies>1</copies>
  894 + <partitioning>
  895 + <method>none</method>
  896 + <schema_name/>
  897 + </partitioning>
  898 + <splitfield>&#x8def;&#x724c;&#x8303;&#x56f4;</splitfield>
  899 + <delimiter>,</delimiter>
  900 + <newfield>lpname</newfield>
  901 + <rownum>N</rownum>
  902 + <rownum_field/>
  903 + <resetrownumber>Y</resetrownumber>
  904 + <delimiter_is_regex>N</delimiter_is_regex>
  905 + <cluster_schema/>
  906 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  907 + <xloc>364</xloc>
  908 + <yloc>259</yloc>
  909 + <draw>Y</draw>
  910 + </GUI>
  911 + </step>
  912 +
  913 + <step>
  914 + <name>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</name>
  915 + <type>SortRows</type>
  916 + <description/>
  917 + <distribute>Y</distribute>
  918 + <custom_distribution/>
  919 + <copies>1</copies>
  920 + <partitioning>
  921 + <method>none</method>
  922 + <schema_name/>
  923 + </partitioning>
  924 + <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
  925 + <prefix>out</prefix>
  926 + <sort_size>1000000</sort_size>
  927 + <free_memory/>
  928 + <compress>N</compress>
  929 + <compress_variable/>
  930 + <unique_rows>N</unique_rows>
  931 + <fields>
  932 + <field>
  933 + <name>xlid</name>
  934 + <ascending>Y</ascending>
  935 + <case_sensitive>N</case_sensitive>
  936 + <presorted>N</presorted>
  937 + </field>
  938 + <field>
  939 + <name>cid</name>
  940 + <ascending>Y</ascending>
  941 + <case_sensitive>N</case_sensitive>
  942 + <presorted>N</presorted>
  943 + </field>
  944 + <field>
  945 + <name>&#x8d77;&#x59cb;&#x8def;&#x724c;</name>
  946 + <ascending>Y</ascending>
  947 + <case_sensitive>N</case_sensitive>
  948 + <presorted>N</presorted>
  949 + </field>
  950 + <field>
  951 + <name>&#x8d77;&#x59cb;&#x4eba;&#x5458;</name>
  952 + <ascending>Y</ascending>
  953 + <case_sensitive>N</case_sensitive>
  954 + <presorted>N</presorted>
  955 + </field>
  956 + <field>
  957 + <name>&#x4eba;&#x5458;&#x8303;&#x56f4;</name>
  958 + <ascending>Y</ascending>
  959 + <case_sensitive>N</case_sensitive>
  960 + <presorted>N</presorted>
  961 + </field>
  962 + <field>
  963 + <name>&#x542f;&#x7528;&#x65e5;&#x671f;</name>
  964 + <ascending>Y</ascending>
  965 + <case_sensitive>N</case_sensitive>
  966 + <presorted>N</presorted>
  967 + </field>
  968 + <field>
  969 + <name>&#x7ffb;&#x73ed;&#x683c;&#x5f0f;</name>
  970 + <ascending>Y</ascending>
  971 + <case_sensitive>N</case_sensitive>
  972 + <presorted>N</presorted>
  973 + </field>
  974 + <field>
  975 + <name>isCancel</name>
  976 + <ascending>Y</ascending>
  977 + <case_sensitive>N</case_sensitive>
  978 + <presorted>N</presorted>
  979 + </field>
  980 + </fields>
  981 + <cluster_schema/>
  982 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  983 + <xloc>516</xloc>
  984 + <yloc>119</yloc>
  985 + <draw>Y</draw>
  986 + </GUI>
  987 + </step>
  988 +
  989 + <step>
  990 + <name>&#x6392;&#x5e8f;&#x8bb0;&#x5f55; 2</name>
  991 + <type>SortRows</type>
  992 + <description/>
  993 + <distribute>Y</distribute>
  994 + <custom_distribution/>
  995 + <copies>1</copies>
  996 + <partitioning>
  997 + <method>none</method>
  998 + <schema_name/>
  999 + </partitioning>
  1000 + <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
  1001 + <prefix>out</prefix>
  1002 + <sort_size>1000000</sort_size>
  1003 + <free_memory/>
  1004 + <compress>N</compress>
  1005 + <compress_variable/>
  1006 + <unique_rows>N</unique_rows>
  1007 + <fields>
  1008 + <field>
  1009 + <name>xlid</name>
  1010 + <ascending>Y</ascending>
  1011 + <case_sensitive>N</case_sensitive>
  1012 + <presorted>N</presorted>
  1013 + </field>
  1014 + <field>
  1015 + <name>cid</name>
  1016 + <ascending>Y</ascending>
  1017 + <case_sensitive>N</case_sensitive>
  1018 + <presorted>N</presorted>
  1019 + </field>
  1020 + <field>
  1021 + <name>lpnames</name>
  1022 + <ascending>Y</ascending>
  1023 + <case_sensitive>N</case_sensitive>
  1024 + <presorted>N</presorted>
  1025 + </field>
  1026 + <field>
  1027 + <name>lpids</name>
  1028 + <ascending>Y</ascending>
  1029 + <case_sensitive>N</case_sensitive>
  1030 + <presorted>N</presorted>
  1031 + </field>
  1032 + <field>
  1033 + <name>&#x8d77;&#x59cb;&#x8def;&#x724c;</name>
  1034 + <ascending>Y</ascending>
  1035 + <case_sensitive>N</case_sensitive>
  1036 + <presorted>N</presorted>
  1037 + </field>
  1038 + <field>
  1039 + <name>&#x8d77;&#x59cb;&#x4eba;&#x5458;</name>
  1040 + <ascending>Y</ascending>
  1041 + <case_sensitive>N</case_sensitive>
  1042 + <presorted>N</presorted>
  1043 + </field>
  1044 + <field>
  1045 + <name>&#x4eba;&#x5458;&#x8303;&#x56f4;</name>
  1046 + <ascending>Y</ascending>
  1047 + <case_sensitive>N</case_sensitive>
  1048 + <presorted>N</presorted>
  1049 + </field>
  1050 + <field>
  1051 + <name>&#x542f;&#x7528;&#x65e5;&#x671f;</name>
  1052 + <ascending>Y</ascending>
  1053 + <case_sensitive>N</case_sensitive>
  1054 + <presorted>N</presorted>
  1055 + </field>
  1056 + <field>
  1057 + <name>&#x7ffb;&#x73ed;&#x683c;&#x5f0f;</name>
  1058 + <ascending>Y</ascending>
  1059 + <case_sensitive>N</case_sensitive>
  1060 + <presorted>N</presorted>
  1061 + </field>
  1062 + <field>
  1063 + <name>isCancel</name>
  1064 + <ascending>Y</ascending>
  1065 + <case_sensitive>N</case_sensitive>
  1066 + <presorted>N</presorted>
  1067 + </field>
  1068 + </fields>
  1069 + <cluster_schema/>
  1070 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1071 + <xloc>919</xloc>
  1072 + <yloc>289</yloc>
  1073 + <draw>Y</draw>
  1074 + </GUI>
  1075 + </step>
  1076 +
  1077 + <step>
  1078 + <name>&#x63d2;&#x5165; &#x2f; &#x66f4;&#x65b0;bsth_c_s_sr1_flat</name>
  1079 + <type>InsertUpdate</type>
  1080 + <description/>
  1081 + <distribute>Y</distribute>
  1082 + <custom_distribution/>
  1083 + <copies>1</copies>
  1084 + <partitioning>
  1085 + <method>none</method>
  1086 + <schema_name/>
  1087 + </partitioning>
  1088 + <connection>bus_control_variable</connection>
  1089 + <commit>100</commit>
  1090 + <update_bypassed>N</update_bypassed>
  1091 + <lookup>
  1092 + <schema/>
  1093 + <table>bsth_c_s_sr1_flat</table>
  1094 + <key>
  1095 + <name>xlid</name>
  1096 + <field>xl</field>
  1097 + <condition>&#x3d;</condition>
  1098 + <name2/>
  1099 + </key>
  1100 + <key>
  1101 + <name>cid</name>
  1102 + <field>car_config_info</field>
  1103 + <condition>&#x3d;</condition>
  1104 + <name2/>
  1105 + </key>
  1106 + <value>
  1107 + <name>xl</name>
  1108 + <rename>xlid</rename>
  1109 + <update>Y</update>
  1110 + </value>
  1111 + <value>
  1112 + <name>car_config_info</name>
  1113 + <rename>cid</rename>
  1114 + <update>Y</update>
  1115 + </value>
  1116 + <value>
  1117 + <name>lp_names</name>
  1118 + <rename>lpnames</rename>
  1119 + <update>Y</update>
  1120 + </value>
  1121 + <value>
  1122 + <name>lp_ids</name>
  1123 + <rename>lpids</rename>
  1124 + <update>Y</update>
  1125 + </value>
  1126 + <value>
  1127 + <name>lp_start</name>
  1128 + <rename>&#x8d77;&#x59cb;&#x8def;&#x724c;</rename>
  1129 + <update>Y</update>
  1130 + </value>
  1131 + <value>
  1132 + <name>ry_start</name>
  1133 + <rename>&#x8d77;&#x59cb;&#x4eba;&#x5458;</rename>
  1134 + <update>Y</update>
  1135 + </value>
  1136 + <value>
  1137 + <name>ry_dbbms</name>
  1138 + <rename>rybms</rename>
  1139 + <update>Y</update>
  1140 + </value>
  1141 + <value>
  1142 + <name>qyrq</name>
  1143 + <rename>&#x542f;&#x7528;&#x65e5;&#x671f;</rename>
  1144 + <update>Y</update>
  1145 + </value>
  1146 + <value>
  1147 + <name>ry_config_ids</name>
  1148 + <rename>rycids</rename>
  1149 + <update>Y</update>
  1150 + </value>
  1151 + <value>
  1152 + <name>fbgs</name>
  1153 + <rename>&#x7ffb;&#x73ed;&#x683c;&#x5f0f;</rename>
  1154 + <update>Y</update>
  1155 + </value>
  1156 + </lookup>
  1157 + <cluster_schema/>
  1158 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1159 + <xloc>532</xloc>
  1160 + <yloc>297</yloc>
  1161 + <draw>Y</draw>
  1162 + </GUI>
  1163 + </step>
  1164 +
  1165 + <step>
  1166 + <name>&#x7ebf;&#x8def;id&#x67e5;&#x8be2;</name>
  1167 + <type>DBLookup</type>
  1168 + <description/>
  1169 + <distribute>Y</distribute>
  1170 + <custom_distribution/>
  1171 + <copies>1</copies>
  1172 + <partitioning>
  1173 + <method>none</method>
  1174 + <schema_name/>
  1175 + </partitioning>
  1176 + <connection>bus_control_variable</connection>
  1177 + <cache>N</cache>
  1178 + <cache_load_all>Y</cache_load_all>
  1179 + <cache_size>0</cache_size>
  1180 + <lookup>
  1181 + <schema/>
  1182 + <table>bsth_c_line</table>
  1183 + <orderby/>
  1184 + <fail_on_multiple>N</fail_on_multiple>
  1185 + <eat_row_on_failure>N</eat_row_on_failure>
  1186 + <key>
  1187 + <name>&#x7ebf;&#x8def;</name>
  1188 + <field>name</field>
  1189 + <condition>&#x3d;</condition>
  1190 + <name2/>
  1191 + </key>
  1192 + <key>
  1193 + <name>isCancel</name>
  1194 + <field>destroy</field>
  1195 + <condition>&#x3d;</condition>
  1196 + <name2/>
  1197 + </key>
  1198 + <value>
  1199 + <name>id</name>
  1200 + <rename>xlid</rename>
  1201 + <default/>
  1202 + <type>Integer</type>
  1203 + </value>
  1204 + </lookup>
  1205 + <cluster_schema/>
  1206 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1207 + <xloc>359</xloc>
  1208 + <yloc>110</yloc>
  1209 + <draw>Y</draw>
  1210 + </GUI>
  1211 + </step>
  1212 +
  1213 + <step>
  1214 + <name>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</name>
  1215 + <type>GetVariable</type>
  1216 + <description/>
  1217 + <distribute>Y</distribute>
  1218 + <custom_distribution/>
  1219 + <copies>1</copies>
  1220 + <partitioning>
  1221 + <method>none</method>
  1222 + <schema_name/>
  1223 + </partitioning>
  1224 + <fields>
  1225 + <field>
  1226 + <name>filepath_</name>
  1227 + <variable>&#x24;&#x7b;filepath&#x7d;</variable>
  1228 + <type>String</type>
  1229 + <format/>
  1230 + <currency/>
  1231 + <decimal/>
  1232 + <group/>
  1233 + <length>-1</length>
  1234 + <precision>-1</precision>
  1235 + <trim_type>none</trim_type>
  1236 + </field>
  1237 + <field>
  1238 + <name>erroroutputdir_</name>
  1239 + <variable>&#x24;&#x7b;erroroutputdir&#x7d;</variable>
  1240 + <type>String</type>
  1241 + <format/>
  1242 + <currency/>
  1243 + <decimal/>
  1244 + <group/>
  1245 + <length>-1</length>
  1246 + <precision>-1</precision>
  1247 + <trim_type>none</trim_type>
  1248 + </field>
  1249 + </fields>
  1250 + <cluster_schema/>
  1251 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1252 + <xloc>53</xloc>
  1253 + <yloc>23</yloc>
  1254 + <draw>Y</draw>
  1255 + </GUI>
  1256 + </step>
  1257 +
  1258 + <step>
  1259 + <name>&#x8def;&#x724c;id&#x67e5;&#x8be2;</name>
  1260 + <type>DBLookup</type>
  1261 + <description/>
  1262 + <distribute>Y</distribute>
  1263 + <custom_distribution/>
  1264 + <copies>1</copies>
  1265 + <partitioning>
  1266 + <method>none</method>
  1267 + <schema_name/>
  1268 + </partitioning>
  1269 + <connection>bus_control_variable</connection>
  1270 + <cache>N</cache>
  1271 + <cache_load_all>Y</cache_load_all>
  1272 + <cache_size>0</cache_size>
  1273 + <lookup>
  1274 + <schema/>
  1275 + <table>bsth_c_s_gbi</table>
  1276 + <orderby/>
  1277 + <fail_on_multiple>N</fail_on_multiple>
  1278 + <eat_row_on_failure>N</eat_row_on_failure>
  1279 + <key>
  1280 + <name>xlid</name>
  1281 + <field>xl</field>
  1282 + <condition>&#x3d;</condition>
  1283 + <name2/>
  1284 + </key>
  1285 + <key>
  1286 + <name>lpname</name>
  1287 + <field>lp_name</field>
  1288 + <condition>&#x3d;</condition>
  1289 + <name2/>
  1290 + </key>
  1291 + <key>
  1292 + <name>isCancel</name>
  1293 + <field>is_cancel</field>
  1294 + <condition>&#x3d;</condition>
  1295 + <name2/>
  1296 + </key>
  1297 + <value>
  1298 + <name>id</name>
  1299 + <rename>lpid</rename>
  1300 + <default/>
  1301 + <type>Integer</type>
  1302 + </value>
  1303 + </lookup>
  1304 + <cluster_schema/>
  1305 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1306 + <xloc>516</xloc>
  1307 + <yloc>21</yloc>
  1308 + <draw>Y</draw>
  1309 + </GUI>
  1310 + </step>
  1311 +
  1312 + <step>
  1313 + <name>&#x8f66;&#x8f86;&#x914d;&#x7f6e;id&#x67e5;&#x8be2;</name>
  1314 + <type>DBJoin</type>
  1315 + <description/>
  1316 + <distribute>Y</distribute>
  1317 + <custom_distribution/>
  1318 + <copies>1</copies>
  1319 + <partitioning>
  1320 + <method>none</method>
  1321 + <schema_name/>
  1322 + </partitioning>
  1323 + <connection>bus_control_variable</connection>
  1324 + <rowlimit>1</rowlimit>
  1325 + <sql>select t1.id as cid from bsth_c_s_ccinfo t1 left join bsth_c_cars t2 on t1.cl &#x3d; t2.id&#xa;where t1.xl &#x3d; &#x3f; and t2.inside_code &#x3d; &#x3f; and t1.is_cancel &#x3d; &#x3f;</sql>
  1326 + <outer_join>Y</outer_join>
  1327 + <replace_vars>N</replace_vars>
  1328 + <parameter>
  1329 + <field>
  1330 + <name>xlid</name>
  1331 + <type>Integer</type>
  1332 + </field>
  1333 + <field>
  1334 + <name>&#x5185;&#x90e8;&#x7f16;&#x7801;</name>
  1335 + <type>String</type>
  1336 + </field>
  1337 + <field>
  1338 + <name>isCancel</name>
  1339 + <type>Integer</type>
  1340 + </field>
  1341 + </parameter>
  1342 + <cluster_schema/>
  1343 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1344 + <xloc>360</xloc>
  1345 + <yloc>184</yloc>
  1346 + <draw>Y</draw>
  1347 + </GUI>
  1348 + </step>
  1349 +
  1350 + <step>
  1351 + <name>&#x8fc7;&#x6ee4;&#x4eba;&#x5458;&#x914d;&#x7f6e;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</name>
  1352 + <type>FilterRows</type>
  1353 + <description/>
  1354 + <distribute>Y</distribute>
  1355 + <custom_distribution/>
  1356 + <copies>1</copies>
  1357 + <partitioning>
  1358 + <method>none</method>
  1359 + <schema_name/>
  1360 + </partitioning>
  1361 +<send_true_to/>
  1362 +<send_false_to/>
  1363 + <compare>
  1364 +<condition>
  1365 + <negated>N</negated>
  1366 + <conditions>
  1367 + <condition>
  1368 + <negated>N</negated>
  1369 + <leftvalue>rycid1</leftvalue>
  1370 + <function>IS NOT NULL</function>
  1371 + <rightvalue/>
  1372 + </condition>
  1373 + <condition>
  1374 + <negated>N</negated>
  1375 + <operator>OR</operator>
  1376 + <leftvalue>rycid2</leftvalue>
  1377 + <function>IS NOT NULL</function>
  1378 + <rightvalue/>
  1379 + </condition>
  1380 + </conditions>
  1381 + </condition>
  1382 + </compare>
  1383 + <cluster_schema/>
  1384 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1385 + <xloc>776</xloc>
  1386 + <yloc>204</yloc>
  1387 + <draw>Y</draw>
  1388 + </GUI>
  1389 + </step>
  1390 +
  1391 + <step>
  1392 + <name>&#x8fc7;&#x6ee4;&#x7ebf;&#x8def;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</name>
  1393 + <type>FilterRows</type>
  1394 + <description/>
  1395 + <distribute>Y</distribute>
  1396 + <custom_distribution/>
  1397 + <copies>1</copies>
  1398 + <partitioning>
  1399 + <method>none</method>
  1400 + <schema_name/>
  1401 + </partitioning>
  1402 +<send_true_to>&#x8f66;&#x8f86;&#x914d;&#x7f6e;id&#x67e5;&#x8be2;</send_true_to>
  1403 +<send_false_to/>
  1404 + <compare>
  1405 +<condition>
  1406 + <negated>N</negated>
  1407 + <leftvalue>xlid</leftvalue>
  1408 + <function>IS NOT NULL</function>
  1409 + <rightvalue/>
  1410 + </condition>
  1411 + </compare>
  1412 + <cluster_schema/>
  1413 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1414 + <xloc>203</xloc>
  1415 + <yloc>110</yloc>
  1416 + <draw>Y</draw>
  1417 + </GUI>
  1418 + </step>
  1419 +
  1420 + <step>
  1421 + <name>&#x8fc7;&#x6ee4;&#x8def;&#x724c;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</name>
  1422 + <type>FilterRows</type>
  1423 + <description/>
  1424 + <distribute>Y</distribute>
  1425 + <custom_distribution/>
  1426 + <copies>1</copies>
  1427 + <partitioning>
  1428 + <method>none</method>
  1429 + <schema_name/>
  1430 + </partitioning>
  1431 +<send_true_to>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</send_true_to>
  1432 +<send_false_to/>
  1433 + <compare>
  1434 +<condition>
  1435 + <negated>N</negated>
  1436 + <leftvalue>lpid</leftvalue>
  1437 + <function>IS NOT NULL</function>
  1438 + <rightvalue/>
  1439 + </condition>
  1440 + </compare>
  1441 + <cluster_schema/>
  1442 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1443 + <xloc>653</xloc>
  1444 + <yloc>23</yloc>
  1445 + <draw>Y</draw>
  1446 + </GUI>
  1447 + </step>
  1448 +
  1449 + <step>
  1450 + <name>&#x8fc7;&#x6ee4;&#x8f66;&#x8f86;&#x914d;&#x7f6e;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</name>
  1451 + <type>FilterRows</type>
  1452 + <description/>
  1453 + <distribute>Y</distribute>
  1454 + <custom_distribution/>
  1455 + <copies>1</copies>
  1456 + <partitioning>
  1457 + <method>none</method>
  1458 + <schema_name/>
  1459 + </partitioning>
  1460 +<send_true_to>&#x62c6;&#x5206;&#x8def;&#x724c;&#x8303;&#x56f4;</send_true_to>
  1461 +<send_false_to/>
  1462 + <compare>
  1463 +<condition>
  1464 + <negated>N</negated>
  1465 + <leftvalue>cid</leftvalue>
  1466 + <function>IS NOT NULL</function>
  1467 + <rightvalue/>
  1468 + </condition>
  1469 + </compare>
  1470 + <cluster_schema/>
  1471 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1472 + <xloc>208</xloc>
  1473 + <yloc>182</yloc>
  1474 + <draw>Y</draw>
  1475 + </GUI>
  1476 + </step>
  1477 +
  1478 + <step>
  1479 + <name>&#x9519;&#x8bef;&#x8f93;&#x51fa; 2</name>
  1480 + <type>ExcelOutput</type>
  1481 + <description/>
  1482 + <distribute>Y</distribute>
  1483 + <custom_distribution/>
  1484 + <copies>1</copies>
  1485 + <partitioning>
  1486 + <method>none</method>
  1487 + <schema_name/>
  1488 + </partitioning>
  1489 + <header>Y</header>
  1490 + <footer>N</footer>
  1491 + <encoding>UTF-8</encoding>
  1492 + <append>N</append>
  1493 + <add_to_result_filenames>Y</add_to_result_filenames>
  1494 + <file>
  1495 + <name>&#x24;&#x7b;erroroutputdir&#x7d;&#x2f;&#x6392;&#x7248;&#x89c4;&#x5219;&#x4fe1;&#x606f;&#x5bfc;&#x5165;_&#x9519;&#x8bef;</name>
  1496 + <extention>xls</extention>
  1497 + <do_not_open_newfile_init>N</do_not_open_newfile_init>
  1498 + <create_parent_folder>N</create_parent_folder>
  1499 + <split>N</split>
  1500 + <add_date>N</add_date>
  1501 + <add_time>N</add_time>
  1502 + <SpecifyFormat>N</SpecifyFormat>
  1503 + <date_time_format/>
  1504 + <sheetname>Sheet1</sheetname>
  1505 + <autosizecolums>N</autosizecolums>
  1506 + <nullisblank>N</nullisblank>
  1507 + <protect_sheet>N</protect_sheet>
  1508 + <password>Encrypted </password>
  1509 + <splitevery>0</splitevery>
  1510 + <usetempfiles>N</usetempfiles>
  1511 + <tempdirectory/>
  1512 + </file>
  1513 + <template>
  1514 + <enabled>N</enabled>
  1515 + <append>N</append>
  1516 + <filename>template.xls</filename>
  1517 + </template>
  1518 + <fields>
  1519 + <field>
  1520 + <name>xlid</name>
  1521 + <type>Integer</type>
  1522 + <format/>
  1523 + </field>
  1524 + <field>
  1525 + <name>cid</name>
  1526 + <type>Integer</type>
  1527 + <format/>
  1528 + </field>
  1529 + <field>
  1530 + <name>&#x8def;&#x724c;&#x8303;&#x56f4;</name>
  1531 + <type>String</type>
  1532 + <format/>
  1533 + </field>
  1534 + <field>
  1535 + <name>lpids</name>
  1536 + <type>String</type>
  1537 + <format/>
  1538 + </field>
  1539 + <field>
  1540 + <name>&#x8d77;&#x59cb;&#x8def;&#x724c;</name>
  1541 + <type>String</type>
  1542 + <format/>
  1543 + </field>
  1544 + <field>
  1545 + <name>&#x8d77;&#x59cb;&#x4eba;&#x5458;</name>
  1546 + <type>String</type>
  1547 + <format/>
  1548 + </field>
  1549 + <field>
  1550 + <name>&#x4eba;&#x5458;&#x8303;&#x56f4;</name>
  1551 + <type>String</type>
  1552 + <format/>
  1553 + </field>
  1554 + <field>
  1555 + <name>&#x542f;&#x7528;&#x65e5;&#x671f;</name>
  1556 + <type>Timestamp</type>
  1557 + <format/>
  1558 + </field>
  1559 + <field>
  1560 + <name>&#x7ffb;&#x73ed;&#x683c;&#x5f0f;</name>
  1561 + <type>String</type>
  1562 + <format/>
  1563 + </field>
  1564 + <field>
  1565 + <name>isCancel</name>
  1566 + <type>Integer</type>
  1567 + <format/>
  1568 + </field>
  1569 + <field>
  1570 + <name>rycids</name>
  1571 + <type>String</type>
  1572 + <format/>
  1573 + </field>
  1574 + <field>
  1575 + <name>error_count</name>
  1576 + <type>Integer</type>
  1577 + <format/>
  1578 + </field>
  1579 + <field>
  1580 + <name>error_desc</name>
  1581 + <type>String</type>
  1582 + <format/>
  1583 + </field>
  1584 + <field>
  1585 + <name>error_column1</name>
  1586 + <type>String</type>
  1587 + <format/>
  1588 + </field>
  1589 + <field>
  1590 + <name>error_column2</name>
  1591 + <type>String</type>
  1592 + <format/>
  1593 + </field>
  1594 + </fields>
  1595 + <custom>
  1596 + <header_font_name>arial</header_font_name>
  1597 + <header_font_size>10</header_font_size>
  1598 + <header_font_bold>N</header_font_bold>
  1599 + <header_font_italic>N</header_font_italic>
  1600 + <header_font_underline>no</header_font_underline>
  1601 + <header_font_orientation>horizontal</header_font_orientation>
  1602 + <header_font_color>black</header_font_color>
  1603 + <header_background_color>none</header_background_color>
  1604 + <header_row_height>255</header_row_height>
  1605 + <header_alignment>left</header_alignment>
  1606 + <header_image/>
  1607 + <row_font_name>arial</row_font_name>
  1608 + <row_font_size>10</row_font_size>
  1609 + <row_font_color>black</row_font_color>
  1610 + <row_background_color>none</row_background_color>
  1611 + </custom>
  1612 + <cluster_schema/>
  1613 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1614 + <xloc>534</xloc>
  1615 + <yloc>392</yloc>
  1616 + <draw>Y</draw>
  1617 + </GUI>
  1618 + </step>
  1619 +
  1620 + <step_error_handling>
  1621 + <error>
  1622 + <source_step>&#x63d2;&#x5165; &#x2f; &#x66f4;&#x65b0;bsth_c_s_sr1_flat</source_step>
  1623 + <target_step>&#x9519;&#x8bef;&#x8f93;&#x51fa; 2</target_step>
  1624 + <is_enabled>Y</is_enabled>
  1625 + <nr_valuename>error_count</nr_valuename>
  1626 + <descriptions_valuename>error_desc</descriptions_valuename>
  1627 + <fields_valuename>error_column1</fields_valuename>
  1628 + <codes_valuename>error_column2</codes_valuename>
  1629 + <max_errors/>
  1630 + <max_pct_errors/>
  1631 + <min_pct_rows/>
  1632 + </error>
  1633 + </step_error_handling>
  1634 + <slave-step-copy-partition-distribution>
  1635 +</slave-step-copy-partition-distribution>
  1636 + <slave_transformation>N</slave_transformation>
  1637 +
  1638 +</transformation>
src/main/resources/rules/shiftloop_fb_2.drl
@@ -31,6 +31,7 @@ global ScheduleRuleService scheduleRuleService; @@ -31,6 +31,7 @@ global ScheduleRuleService scheduleRuleService;
31 declare Calcu_days_result_pre 31 declare Calcu_days_result_pre
32 ruleId: String // 规则Id 32 ruleId: String // 规则Id
33 ruleMd5: String // 规则md5 33 ruleMd5: String // 规则md5
  34 + ruleEcCount: Integer // 人员范围个数
34 35
35 calcu_index_lp : Integer // 计算之后路牌的起始索引 36 calcu_index_lp : Integer // 计算之后路牌的起始索引
36 calcu_index_ry : Integer // 计算之后人员的起始索引 37 calcu_index_ry : Integer // 计算之后人员的起始索引
@@ -61,8 +62,8 @@ rule &quot;calcu_days_1_&quot; @@ -61,8 +62,8 @@ rule &quot;calcu_days_1_&quot;
61 $toDate : toDate, 62 $toDate : toDate,
62 $xlId: xlId 63 $xlId: xlId
63 ) 64 )
64 - ScheduleRule_input(  
65 - $ruleId : ruleId, $qyrq : qyrq, $ruleMd5: ruleMd5, 65 + $sri: ScheduleRule_input(
  66 + $ruleId : ruleId, $qyrq : qyrq,
66 $lpindex : startGbdIndex, $ryindex: startEIndex) 67 $lpindex : startGbdIndex, $ryindex: startEIndex)
67 eval($qyrq.isBefore($fromDate)) 68 eval($qyrq.isBefore($fromDate))
68 then 69 then
@@ -71,7 +72,6 @@ rule &quot;calcu_days_1_&quot; @@ -71,7 +72,6 @@ rule &quot;calcu_days_1_&quot;
71 // 构造Calcu_days_result_pre,用于路牌 72 // 构造Calcu_days_result_pre,用于路牌
72 Calcu_days_result_pre cdrp = new Calcu_days_result_pre(); 73 Calcu_days_result_pre cdrp = new Calcu_days_result_pre();
73 cdrp.setRuleId($ruleId); 74 cdrp.setRuleId($ruleId);
74 - cdrp.setRuleMd5($ruleMd5);  
75 cdrp.setCalcu_index_lp($lpindex); 75 cdrp.setCalcu_index_lp($lpindex);
76 cdrp.setCalcu_index_ry($ryindex); 76 cdrp.setCalcu_index_ry($ryindex);
77 cdrp.setCalcu_start_date_1($qyrq); 77 cdrp.setCalcu_start_date_1($qyrq);
@@ -81,6 +81,19 @@ rule &quot;calcu_days_1_&quot; @@ -81,6 +81,19 @@ rule &quot;calcu_days_1_&quot;
81 cdrp.setCalcu_start_date_2($fromDate); 81 cdrp.setCalcu_start_date_2($fromDate);
82 cdrp.setCalcu_end_date_2($toDate); 82 cdrp.setCalcu_end_date_2($toDate);
83 83
  84 + /**
  85 + * 规则md5值(不使用id判定,使用md5判定)
  86 + * 使用,启用日期,路牌范围,结合生成md5编码
  87 + */
  88 + String ruleMd5 = Md5Util.getMd5(
  89 + String.valueOf($qyrq.getMillis()) +
  90 + "_" +
  91 + $sri.getSelf().getLpIds()
  92 + );
  93 + cdrp.setRuleMd5(ruleMd5);
  94 + // 人员范围个数
  95 + cdrp.setRuleEcCount($sri.getEmployeeConfigIds().size());
  96 +
84 insert(cdrp); 97 insert(cdrp);
85 98
86 // log.info("总共需要排班的天数 sdays={} ruleId={} from={} to={}", (p2.getDays() + 1), $ruleId, $fromDate, $toDate); 99 // log.info("总共需要排班的天数 sdays={} ruleId={} from={} to={}", (p2.getDays() + 1), $ruleId, $fromDate, $toDate);
@@ -97,8 +110,8 @@ rule &quot;calcu_days_2_&quot; @@ -97,8 +110,8 @@ rule &quot;calcu_days_2_&quot;
97 $toDate : toDate, 110 $toDate : toDate,
98 $xlId: xlId 111 $xlId: xlId
99 ) 112 )
100 - ScheduleRule_input(  
101 - $ruleId : ruleId, $qyrq : qyrq, $ruleMd5: ruleMd5, 113 + $sri: ScheduleRule_input(
  114 + $ruleId : ruleId, $qyrq : qyrq,
102 $lpindex : startGbdIndex, $ryindex: startEIndex) 115 $lpindex : startGbdIndex, $ryindex: startEIndex)
103 eval((!$qyrq.isBefore($fromDate)) && (!$qyrq.isAfter($toDate))) 116 eval((!$qyrq.isBefore($fromDate)) && (!$qyrq.isAfter($toDate)))
104 then 117 then
@@ -107,7 +120,6 @@ rule &quot;calcu_days_2_&quot; @@ -107,7 +120,6 @@ rule &quot;calcu_days_2_&quot;
107 // 构造Calcu_days_result_pre,用于路牌 120 // 构造Calcu_days_result_pre,用于路牌
108 Calcu_days_result_pre cdrp = new Calcu_days_result_pre(); 121 Calcu_days_result_pre cdrp = new Calcu_days_result_pre();
109 cdrp.setRuleId($ruleId); 122 cdrp.setRuleId($ruleId);
110 - cdrp.setRuleMd5($ruleMd5);  
111 cdrp.setCalcu_index_lp($lpindex); 123 cdrp.setCalcu_index_lp($lpindex);
112 cdrp.setCalcu_index_ry($ryindex); 124 cdrp.setCalcu_index_ry($ryindex);
113 cdrp.setCalcu_start_date_1($qyrq); 125 cdrp.setCalcu_start_date_1($qyrq);
@@ -117,6 +129,19 @@ rule &quot;calcu_days_2_&quot; @@ -117,6 +129,19 @@ rule &quot;calcu_days_2_&quot;
117 cdrp.setCalcu_start_date_2($qyrq); 129 cdrp.setCalcu_start_date_2($qyrq);
118 cdrp.setCalcu_end_date_2($toDate); 130 cdrp.setCalcu_end_date_2($toDate);
119 131
  132 + /**
  133 + * 规则md5值(不使用id判定,使用md5判定)
  134 + * 使用,启用日期,路牌范围,结合生成md5编码
  135 + */
  136 + String ruleMd5 = Md5Util.getMd5(
  137 + String.valueOf($qyrq.getMillis()) +
  138 + "_" +
  139 + $sri.getSelf().getLpIds()
  140 + );
  141 + cdrp.setRuleMd5(ruleMd5);
  142 + // 人员范围个数
  143 + cdrp.setRuleEcCount($sri.getEmployeeConfigIds().size());
  144 +
120 insert(cdrp); 145 insert(cdrp);
121 146
122 // log.info("总共需要排班的天数 sdays={} ruleId={} from={} to={}", (p2.getDays() + 1), $ruleId, $qyrq, $toDate); 147 // log.info("总共需要排班的天数 sdays={} ruleId={} from={} to={}", (p2.getDays() + 1), $ruleId, $qyrq, $toDate);
@@ -160,8 +185,9 @@ rule &quot;Calcu_SchedulePlanRuleResult_wrap&quot; @@ -160,8 +185,9 @@ rule &quot;Calcu_SchedulePlanRuleResult_wrap&quot;
160 185
161 // 规则Md5编码 186 // 规则Md5编码
162 String md5 = Md5Util.getMd5( 187 String md5 = Md5Util.getMd5(
163 - String.valueOf($sprr.getQyrq().getTime()) + "_" +  
164 - $sprr.getGids() + "_" + $sprr.getEcids() 188 + String.valueOf($sprr.getQyrq().getTime()) +
  189 + "_" +
  190 + $sprr.getGids()
165 ); 191 );
166 192
167 // System.out.println("修改后的md5:" + md5 + "车辆:" + $sprr.getCcZbh()); 193 // System.out.println("修改后的md5:" + md5 + "车辆:" + $sprr.getCcZbh());
@@ -181,7 +207,8 @@ rule &quot;calcu_days_1_with_result&quot; @@ -181,7 +207,8 @@ rule &quot;calcu_days_1_with_result&quot;
181 $cdrp: Calcu_days_result_pre( 207 $cdrp: Calcu_days_result_pre(
182 calcu_start_date_1.isBefore(calcu_start_date_2), 208 calcu_start_date_1.isBefore(calcu_start_date_2),
183 $ruleId: ruleId, 209 $ruleId: ruleId,
184 - $ruleMd5: ruleMd5 210 + $ruleMd5: ruleMd5,
  211 + $ruleEcCount: ruleEcCount
185 ) 212 )
186 $srrr_wrap: SchedulePlanRuleResult_wrap( 213 $srrr_wrap: SchedulePlanRuleResult_wrap(
187 // ruleId == $ruleId, 214 // ruleId == $ruleId,
@@ -196,8 +223,14 @@ rule &quot;calcu_days_1_with_result&quot; @@ -196,8 +223,14 @@ rule &quot;calcu_days_1_with_result&quot;
196 // 修正排班数据 223 // 修正排班数据
197 // log.info("准备修正 ruleId={} historyDate={}", $ruleId, $scheduleDate); 224 // log.info("准备修正 ruleId={} historyDate={}", $ruleId, $scheduleDate);
198 225
  226 + // 路牌范围起始index使用历史数据
199 $cdrp.setCalcu_index_lp(Integer.valueOf($self.getGidindex())); 227 $cdrp.setCalcu_index_lp(Integer.valueOf($self.getGidindex()));
200 - $cdrp.setCalcu_index_ry(Integer.valueOf($self.getEcindex())); 228 + // 人员范围起始index,需要判定,如果长度都是一样的,使用历史的,否则不更新,使用最新的
  229 + String history_ecids = $self.getEcids();
  230 + if ($ruleEcCount == history_ecids.split(",").length) {
  231 + $cdrp.setCalcu_index_ry(Integer.valueOf($self.getEcindex()));
  232 + }
  233 +
201 $cdrp.setCalcu_start_date_1($scheduleDate); 234 $cdrp.setCalcu_start_date_1($scheduleDate);
202 update($cdrp); 235 update($cdrp);
203 236
src/main/resources/static/pages/scheduleApp/module/core/ttInfoManage/detailedit/edit3.html
@@ -40,51 +40,78 @@ @@ -40,51 +40,78 @@
40 <!--<i class="fa fa-adjust" aria-hidden="true"></i>--> 40 <!--<i class="fa fa-adjust" aria-hidden="true"></i>-->
41 <span style="padding-right: 10px;background: #adff00;color: #501a1a;text-align: center;">分班班次</span> 41 <span style="padding-right: 10px;background: #adff00;color: #501a1a;text-align: center;">分班班次</span>
42 42
43 - <div class="btn-group">  
44 - <a href="javascript:" class="btn red btn-outline btn-circle" data-toggle="dropdown">  
45 - <i class="fa fa-share"></i>  
46 - <span>数据工具</span>  
47 - <i class="fa fa-angle-down"></i>  
48 - </a>  
49 - <ul class="dropdown-menu pull-right">  
50 - <li>  
51 - <a href="javascript:" class="tool-action" ng-click="ctrl.multiselect()">  
52 - <i class="fa fa-file-excel-o"></i>  
53 - 批量选择  
54 - </a>  
55 - </li>  
56 - <li>  
57 - <a href="javascript:" class="tool-action" ng-click="ctrl.editInfos()">  
58 - <i class="fa fa-file-excel-o"></i>  
59 - 批量修改  
60 - </a>  
61 - </li>  
62 - <li>  
63 - <a href="javascript:" class="tool-action" ng-click="ctrl.deleteInfos()">  
64 - <i class="fa fa-file-excel-o"></i>  
65 - 批量删除  
66 - </a>  
67 - </li>  
68 - <li class="divider"></li>  
69 - <li>  
70 - <a href="javascript:" class="tool-action" ng-click="ctrl.clearsel()">  
71 - <i class="fa fa-refresh"></i>  
72 - 清除选择  
73 - </a>  
74 - </li>  
75 - <li>  
76 - <a href="javascript:" class="tool-action" ng-click="ctrl.refresh()">  
77 - <i class="fa fa-refresh"></i>  
78 - 刷行数据  
79 - </a>  
80 - </li>  
81 - </ul>  
82 - </div> 43 + <!--<div class="btn-group">-->
  44 + <!--<a href="javascript:" class="btn red btn-outline btn-circle" data-toggle="dropdown">-->
  45 + <!--<i class="fa fa-share"></i>-->
  46 + <!--<span>数据工具</span>-->
  47 + <!--<i class="fa fa-angle-down"></i>-->
  48 + <!--</a>-->
  49 + <!--<ul class="dropdown-menu pull-right">-->
  50 + <!--<li>-->
  51 + <!--<a href="javascript:" class="tool-action" ng-click="ctrl.multiselect()">-->
  52 + <!--<i class="fa fa-file-excel-o"></i>-->
  53 + <!--批量选择-->
  54 + <!--</a>-->
  55 + <!--</li>-->
  56 + <!--<li>-->
  57 + <!--<a href="javascript:" class="tool-action" ng-click="ctrl.editInfos()">-->
  58 + <!--<i class="fa fa-file-excel-o"></i>-->
  59 + <!--批量修改-->
  60 + <!--</a>-->
  61 + <!--</li>-->
  62 + <!--<li>-->
  63 + <!--<a href="javascript:" class="tool-action" ng-click="ctrl.deleteInfos()">-->
  64 + <!--<i class="fa fa-file-excel-o"></i>-->
  65 + <!--批量删除-->
  66 + <!--</a>-->
  67 + <!--</li>-->
  68 + <!--<li class="divider"></li>-->
  69 + <!--<li>-->
  70 + <!--<a href="javascript:" class="tool-action" ng-click="ctrl.clearsel()">-->
  71 + <!--<i class="fa fa-refresh"></i>-->
  72 + <!--清除选择-->
  73 + <!--</a>-->
  74 + <!--</li>-->
  75 + <!--<li>-->
  76 + <!--<a href="javascript:" class="tool-action" ng-click="ctrl.refresh()">-->
  77 + <!--<i class="fa fa-refresh"></i>-->
  78 + <!--刷行数据-->
  79 + <!--</a>-->
  80 + <!--</li>-->
  81 + <!--</ul>-->
  82 + <!--</div>-->
83 83
84 </div> 84 </div>
85 </div> 85 </div>
86 86
87 <div class="portlet-body"> 87 <div class="portlet-body">
  88 + <div style="padding-bottom: 5px;">
  89 + <a href="javascript:" style="padding-right: 5px;" ng-click="ctrl.multiselect()">
  90 + <i class="fa fa-file-excel-o"></i>
  91 + 批量选择
  92 + </a>
  93 + <a href="javascript:" style="padding-right: 5px;" ng-click="ctrl.editInfos()">
  94 + <i class="fa fa-pencil-square-o"></i>
  95 + 批量修改
  96 + </a>
  97 +
  98 + <a sweetalert
  99 + sweet-options="{title: '是否删除选定的班次?',text: '线路:' + ctrl.xlname + '</br>时刻表:' + ctrl.ttname + '</br>谨慎删除!', html: true,type: 'warning',showCancelButton: true,confirmButtonColor: '#DD6B55',confirmButtonText: '是',cancelButtonText: '取消'}"
  100 + sweet-on-confirm="ctrl.deleteInfos()"
  101 + style="padding-right: 5px;" >
  102 + <i class="fa fa-trash"></i>
  103 + 批量删除
  104 + </a>
  105 + <a href="javascript:" style="padding-right: 5px;" ng-click="ctrl.clearsel()">
  106 + <i class="fa fa-eraser"></i>
  107 + 取消选择
  108 + </a>
  109 + <a href="javascript:" style="padding-right: 5px;" ng-click="ctrl.refresh()">
  110 + <i class="fa fa-refresh"></i>
  111 + 刷行数据
  112 + </a>
  113 + </div>
  114 +
88 <!--<div ng-view></div>--> 115 <!--<div ng-view></div>-->
89 <div style="height: {{ctrl.ttHeight}}px;"> 116 <div style="height: {{ctrl.ttHeight}}px;">
90 <sa-Timetable name="tt" ng-model="ctrl.editInfo" ng-model-options="{ getterSetter: true }" celldbclick="ctrl.singleEditBcDetail"> 117 <sa-Timetable name="tt" ng-model="ctrl.editInfo" ng-model-options="{ getterSetter: true }" celldbclick="ctrl.singleEditBcDetail">
src/test/resources/testdata/problem.properties
1 ##1=时刻表明细导入,线路标准里所有的高峰低谷时间需要带入时刻表班次时间里,标准可以点击切换到线路标准界面 1 ##1=时刻表明细导入,线路标准里所有的高峰低谷时间需要带入时刻表班次时间里,标准可以点击切换到线路标准界面
2 -2=时刻表明细编辑功能,数据工具移到时刻表里,类似工具栏的样子 2 +##2=时刻表明细编辑功能,数据工具移到时刻表里,类似工具栏的样子
3 3=时刻表导入,可以选一个已经存在的时刻表导入,而不是excel文件 3 3=时刻表导入,可以选一个已经存在的时刻表导入,而不是excel文件
4 ##4=所有的删除,作废,都要有提示框操作 4 ##4=所有的删除,作废,都要有提示框操作
5 5=排班计划错误提示,如果选的排班日期之前没有排班,提示错误,排班结果有重复与时刻表不符合,显示错误 5 5=排班计划错误提示,如果选的排班日期之前没有排班,提示错误,排班结果有重复与时刻表不符合,显示错误
@@ -31,4 +31,4 @@ @@ -31,4 +31,4 @@
31 ##30=时刻表公里数 三位数 31 ##30=时刻表公里数 三位数
32 32
33 31=规则修改,路牌范围,人员范围可以拖动 33 31=规则修改,路牌范围,人员范围可以拖动
34 -32=人员配置不存在的情况下,导入规则ktr,找不到的人员不添加,人员范围不存在的,规则不导入 34 +#32=人员配置不存在的情况下,导入规则ktr,找不到的人员不添加,人员范围不存在的,规则不导入