Commit 994786bf45618ea8006697bf1ce2f19a438cd171

Authored by 徐烜
1 parent 08fe766e

Update

src/main/java/com/bsth/service/schedule/rules/shiftloop/ScheduleRule_input.java
1 1 package com.bsth.service.schedule.rules.shiftloop;
2 2  
3 3 import com.bsth.entity.schedule.rule.ScheduleRule1Flat;
4   -import com.bsth.service.schedule.utils.Md5Util;
5 4 import com.google.common.base.Splitter;
6 5 import org.apache.commons.lang3.StringUtils;
7 6 import org.joda.time.DateTime;
... ... @@ -18,11 +17,6 @@ public class ScheduleRule_input {
18 17  
19 18 /** 规则Id */
20 19 private String ruleId;
21   - /**
22   - * 规则md5值(不使用id判定,使用md5判定)
23   - * 使用,启用日期,路牌范围,人员范围 结合生成md5编码
24   - */
25   - private String ruleMd5;
26 20  
27 21 /** 规则启用日期 */
28 22 private DateTime qyrq;
... ... @@ -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 82 this.self = scheduleRule1Flat;
98 83 }
99 84  
... ... @@ -179,11 +164,4 @@ public class ScheduleRule_input {
179 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 31 declare Calcu_days_result_pre
32 32 ruleId: String // 规则Id
33 33 ruleMd5: String // 规则md5
  34 + ruleEcCount: Integer // 人员范围个数
34 35  
35 36 calcu_index_lp : Integer // 计算之后路牌的起始索引
36 37 calcu_index_ry : Integer // 计算之后人员的起始索引
... ... @@ -61,8 +62,8 @@ rule &quot;calcu_days_1_&quot;
61 62 $toDate : toDate,
62 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 67 $lpindex : startGbdIndex, $ryindex: startEIndex)
67 68 eval($qyrq.isBefore($fromDate))
68 69 then
... ... @@ -71,7 +72,6 @@ rule &quot;calcu_days_1_&quot;
71 72 // 构造Calcu_days_result_pre,用于路牌
72 73 Calcu_days_result_pre cdrp = new Calcu_days_result_pre();
73 74 cdrp.setRuleId($ruleId);
74   - cdrp.setRuleMd5($ruleMd5);
75 75 cdrp.setCalcu_index_lp($lpindex);
76 76 cdrp.setCalcu_index_ry($ryindex);
77 77 cdrp.setCalcu_start_date_1($qyrq);
... ... @@ -81,6 +81,19 @@ rule &quot;calcu_days_1_&quot;
81 81 cdrp.setCalcu_start_date_2($fromDate);
82 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 97 insert(cdrp);
85 98  
86 99 // log.info("总共需要排班的天数 sdays={} ruleId={} from={} to={}", (p2.getDays() + 1), $ruleId, $fromDate, $toDate);
... ... @@ -97,8 +110,8 @@ rule &quot;calcu_days_2_&quot;
97 110 $toDate : toDate,
98 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 115 $lpindex : startGbdIndex, $ryindex: startEIndex)
103 116 eval((!$qyrq.isBefore($fromDate)) && (!$qyrq.isAfter($toDate)))
104 117 then
... ... @@ -107,7 +120,6 @@ rule &quot;calcu_days_2_&quot;
107 120 // 构造Calcu_days_result_pre,用于路牌
108 121 Calcu_days_result_pre cdrp = new Calcu_days_result_pre();
109 122 cdrp.setRuleId($ruleId);
110   - cdrp.setRuleMd5($ruleMd5);
111 123 cdrp.setCalcu_index_lp($lpindex);
112 124 cdrp.setCalcu_index_ry($ryindex);
113 125 cdrp.setCalcu_start_date_1($qyrq);
... ... @@ -117,6 +129,19 @@ rule &quot;calcu_days_2_&quot;
117 129 cdrp.setCalcu_start_date_2($qyrq);
118 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 145 insert(cdrp);
121 146  
122 147 // log.info("总共需要排班的天数 sdays={} ruleId={} from={} to={}", (p2.getDays() + 1), $ruleId, $qyrq, $toDate);
... ... @@ -160,8 +185,9 @@ rule &quot;Calcu_SchedulePlanRuleResult_wrap&quot;
160 185  
161 186 // 规则Md5编码
162 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 193 // System.out.println("修改后的md5:" + md5 + "车辆:" + $sprr.getCcZbh());
... ... @@ -181,7 +207,8 @@ rule &quot;calcu_days_1_with_result&quot;
181 207 $cdrp: Calcu_days_result_pre(
182 208 calcu_start_date_1.isBefore(calcu_start_date_2),
183 209 $ruleId: ruleId,
184   - $ruleMd5: ruleMd5
  210 + $ruleMd5: ruleMd5,
  211 + $ruleEcCount: ruleEcCount
185 212 )
186 213 $srrr_wrap: SchedulePlanRuleResult_wrap(
187 214 // ruleId == $ruleId,
... ... @@ -196,8 +223,14 @@ rule &quot;calcu_days_1_with_result&quot;
196 223 // 修正排班数据
197 224 // log.info("准备修正 ruleId={} historyDate={}", $ruleId, $scheduleDate);
198 225  
  226 + // 路牌范围起始index使用历史数据
199 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 234 $cdrp.setCalcu_start_date_1($scheduleDate);
202 235 update($cdrp);
203 236  
... ...
src/main/resources/static/pages/scheduleApp/module/core/ttInfoManage/detailedit/edit3.html
... ... @@ -40,51 +40,78 @@
40 40 <!--<i class="fa fa-adjust" aria-hidden="true"></i>-->
41 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 84 </div>
85 85 </div>
86 86  
87 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 115 <!--<div ng-view></div>-->
89 116 <div style="height: {{ctrl.ttHeight}}px;">
90 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=时刻表明细导入,线路标准里所有的高峰低谷时间需要带入时刻表班次时间里,标准可以点击切换到线路标准界面
2   -2=时刻表明细编辑功能,数据工具移到时刻表里,类似工具栏的样子
  2 +##2=时刻表明细编辑功能,数据工具移到时刻表里,类似工具栏的样子
3 3 3=时刻表导入,可以选一个已经存在的时刻表导入,而不是excel文件
4 4 ##4=所有的删除,作废,都要有提示框操作
5 5 5=排班计划错误提示,如果选的排班日期之前没有排班,提示错误,排班结果有重复与时刻表不符合,显示错误
... ... @@ -31,4 +31,4 @@
31 31 ##30=时刻表公里数 三位数
32 32  
33 33 31=规则修改,路牌范围,人员范围可以拖动
34   -32=人员配置不存在的情况下,导入规则ktr,找不到的人员不添加,人员范围不存在的,规则不导入
  34 +#32=人员配置不存在的情况下,导入规则ktr,找不到的人员不添加,人员范围不存在的,规则不导入
... ...