Commit 04e74994eea91438977ee5a883ac9d4b201c7897

Authored by 徐烜
1 parent 411554d0

Update

src/main/java/com/bsth/service/schedule/datatools/TTInfoDetailDataToolsImpl.java
@@ -124,7 +124,7 @@ public class TTInfoDetailDataToolsImpl implements DataToolsService, TTInfoDetail @@ -124,7 +124,7 @@ public class TTInfoDetailDataToolsImpl implements DataToolsService, TTInfoDetail
124 // poi读 124 // poi读
125 String cellContent = PoiUtils.getStringValueFromCell( 125 String cellContent = PoiUtils.getStringValueFromCell(
126 poi_sheet.getRow(i).getCell(j) 126 poi_sheet.getRow(i).getCell(j)
127 - ); 127 + ).replaceAll("\\s*", "");
128 // jxl写 128 // jxl写
129 sheet1.addCell(new Label(j, i, cellContent)); 129 sheet1.addCell(new Label(j, i, cellContent));
130 } 130 }
src/main/java/com/bsth/service/schedule/impl/SchedulePlanServiceImpl.java
@@ -278,6 +278,9 @@ public class SchedulePlanServiceImpl extends BServiceImpl<SchedulePlan, Long> im @@ -278,6 +278,9 @@ public class SchedulePlanServiceImpl extends BServiceImpl<SchedulePlan, Long> im
278 Date start2 = new Date(); 278 Date start2 = new Date();
279 ScheduleResults_output scheduleResults_output = loopRuleOutput(schedulePlan, lpInfoResults_output); 279 ScheduleResults_output scheduleResults_output = loopRuleOutput(schedulePlan, lpInfoResults_output);
280 Date end2 = new Date(); 280 Date end2 = new Date();
  281 +
  282 + logger.info("规则计算结果={}", scheduleResults_output.showGuideboardDesc1());
  283 +
281 // 3、计划输出 284 // 3、计划输出
282 Date start3 = new Date(); 285 Date start3 = new Date();
283 PlanResult planResult = planResultOutput(schedulePlan, scheduleResults_output, ttInfoResults_output); 286 PlanResult planResult = planResultOutput(schedulePlan, scheduleResults_output, ttInfoResults_output);
src/main/java/com/bsth/service/schedule/impl/TTInfoDetailServiceImpl.java
@@ -251,7 +251,7 @@ public class TTInfoDetailServiceImpl extends BServiceImpl<TTInfoDetail, Long> im @@ -251,7 +251,7 @@ public class TTInfoDetailServiceImpl extends BServiceImpl<TTInfoDetail, Long> im
251 for (int i = 1; i < rowNums; i++) { // 从第2行开始验证数据 251 for (int i = 1; i < rowNums; i++) { // 从第2行开始验证数据
252 Row row = sheet.getRow(i); 252 Row row = sheet.getRow(i);
253 for (int j = 1; j < colNums; j++) { // 从第2列开始 253 for (int j = 1; j < colNums; j++) { // 从第2列开始
254 - String bcell_con = StringUtils.trimToEmpty(PoiUtils.getStringValueFromCell(row.getCell(j))); // trimToEmpty 254 + String bcell_con = StringUtils.trimToEmpty(PoiUtils.getStringValueFromCell(row.getCell(j))).replaceAll("\\s*", ""); // trimToEmpty
255 if (StringUtils.isNotEmpty(bcell_con)) { 255 if (StringUtils.isNotEmpty(bcell_con)) {
256 Matcher m1 = p1.matcher(bcell_con.trim()); 256 Matcher m1 = p1.matcher(bcell_con.trim());
257 Matcher m2 = p2.matcher(bcell_con.trim()); 257 Matcher m2 = p2.matcher(bcell_con.trim());
src/main/java/com/bsth/service/schedule/rules/ttinfo/TTInfo_input.java
@@ -44,7 +44,7 @@ public class TTInfo_input implements Comparable&lt;TTInfo_input&gt; { @@ -44,7 +44,7 @@ public class TTInfo_input implements Comparable&lt;TTInfo_input&gt; {
44 this.ttInfoId = String.valueOf(ttInfo.getId()); 44 this.ttInfoId = String.valueOf(ttInfo.getId());
45 this.xlId = String.valueOf(ttInfo.getXl().getId()); 45 this.xlId = String.valueOf(ttInfo.getXl().getId());
46 String[] days = ttInfo.getRule_days().split(","); 46 String[] days = ttInfo.getRule_days().split(",");
47 - System.out.println(days.length); 47 +// System.out.println(days.length);
48 for (int i = 0; i < 7; i++) { 48 for (int i = 0; i < 7; i++) {
49 if ("1".equals(days[i])) { 49 if ("1".equals(days[i])) {
50 weekdays.add(true); 50 weekdays.add(true);
src/main/java/com/bsth/service/schedule/rules/validate/ValidRepeatBcFunction.java
@@ -47,14 +47,14 @@ public class ValidRepeatBcFunction implements AccumulateFunction { @@ -47,14 +47,14 @@ public class ValidRepeatBcFunction implements AccumulateFunction {
47 47
48 @Override 48 @Override
49 public Serializable createContext() { 49 public Serializable createContext() {
50 - System.out.println("create"); 50 +// System.out.println("create");
51 return new RepeatBcInfo(); 51 return new RepeatBcInfo();
52 } 52 }
53 53
54 @Override 54 @Override
55 public void init(Serializable serializable) throws Exception { 55 public void init(Serializable serializable) throws Exception {
56 // TODO: 56 // TODO:
57 - System.out.println("init"); 57 +// System.out.println("init");
58 } 58 }
59 59
60 @Override 60 @Override
src/main/resources/datatools/ktrs/ttinfodetailDataInput.ktr
@@ -828,7 +828,7 @@ @@ -828,7 +828,7 @@
828 <optimizationLevel>9</optimizationLevel> 828 <optimizationLevel>9</optimizationLevel>
829 <jsScripts> <jsScript> <jsScript_type>0</jsScript_type> 829 <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
830 <jsScript_name>Script 1</jsScript_name> 830 <jsScript_name>Script 1</jsScript_name>
831 - <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f; &#x4f7f;&#x7528;&#x6b63;&#x5219;&#x8868;&#x8fbe;&#x5f0f;&#x53bb;&#x9664;&#x7ad9;&#x70b9;&#x540d;&#x79f0;&#x53f3;&#x4fa7;&#x591a;&#x4f59;&#x7684;&#x6570;&#x5b57;&#xa;qdzname &#x3d; qdzname.replace&#x28;&#x2f;&#x28;&#x5c;d&#x2b;&#x24;&#x29;&#x2f;g,&#x27;&#x27;&#x29;&#x3b;&#xa;if &#x28;qdzname &#x21;&#x3d; &#x22;&#x51fa;&#x573a;&#x22; &#x26;&#x26; qdzname &#x21;&#x3d; &#x22;&#x8fdb;&#x573a;&#x22;&#x29; &#x7b;&#xa; qdzname &#x3d; qdzname &#x2b; &#x22;&#x25;&#x22;&#x3b; &#x2f;&#x2f; &#x6a21;&#x7cca;&#x5339;&#x914d;&#x6807;&#x8bc6;&#x7b26;&#xa;&#x7d;&#xa;&#xa;&#x2f;&#x2f; sendtime&#x5904;&#x7406;&#xff0c;hhmm&#xff0c;hh&#x3a;mm&#xff0c;hh,mm&#xa;var sendtime_calcu&#x3b;&#xa;if &#x28;sendtime.length &#x3d;&#x3d; 5&#x29; &#x7b; &#x2f;&#x2f; &#x6700;&#x957f;&#x683c;&#x5f0f;&#xff0c;&#x5305;&#x62ec;&#x5206;&#x9694;&#x7b26;&#xff0c;&#x7edf;&#x4e00;&#x628a;&#x5206;&#x9694;&#x7b26;&#x66ff;&#x6362;&#x6210;&#x5192;&#x53f7;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 2&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;3, 2&#x29;&#x3b;&#xa;&#x7d; else if &#x28;sendtime.length &#x3d;&#x3d; 4&#x29; &#x7b;&#xa; if &#x28;sendtime.indexOf&#x28;&#x22;&#x3a;&#x22;&#x29; &#x3e; 0&#x29; &#x7b; &#x2f;&#x2f; &#x5192;&#x53f7;&#x5206;&#x9694;&#xff0c;&#x65e0;&#x9700;&#x4fee;&#x6539;&#xa; sendtime_calcu &#x3d; sendtime&#x3b;&#xa; &#x7d; else if &#x28;sendtime.indexOf&#x28;&#x22;,&#x22;&#x29; &#x3e; 0&#x29; &#x7b; &#x2f;&#x2f; &#x9017;&#x53f7;&#x5206;&#x9694;&#xff0c;&#x6539;&#x6210;&#x5192;&#x53f7;&#x5206;&#x9694;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 1&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;2, 2&#x29;&#x3b;&#xa; &#x7d; else &#x7b; &#x2f;&#x2f; &#x65e0;&#x5206;&#x9694;&#x7b26;&#xff0c;&#x6539;&#x6210;&#x5192;&#x53f7;&#x5206;&#x9694;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 2&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;2, 2&#x29;&#x3b;&#xa; &#x7d;&#xa;&#x7d; else if &#x28;sendtime.length &#x3d;&#x3d; 3&#x29; &#x7b; &#x2f;&#x2f; &#x65e0;&#x5206;&#x9694;&#x7b26;&#xff0c;&#x6539;&#x6210;&#x5192;&#x53f7;&#x5206;&#x9694;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 1&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;1, 2&#x29;&#x3b;&#xa;&#x7d;&#xa;&#xa;&#x2f;&#x2f; &#x5168;&#x90e8;&#x4fee;&#x6b63;&#x5b8c;&#x6bd5;&#x540e;&#xff0c;&#x5982;&#x679c;&#x957f;&#x5ea6;&#x4e0d;&#x662f;5&#xff0c;&#x524d;&#x9762;&#x8865;0&#xa;if &#x28;sendtime_calcu.length &#x21;&#x3d; 5&#x29; &#x7b;&#xa; sendtime_calcu &#x3d; &#x22;0&#x22; &#x2b; sendtime_calcu&#x3b;&#xa;&#x7d;&#xa;&#xa;&#x2f;&#x2f; &#x8bbe;&#x7f6e;&#x5206;&#x73ed;&#xa;var isfb &#x3d; 0&#x3b;&#xa;&#xa;&#x2f;&#x2f; &#x8bbe;&#x7f6e;&#x505c;&#x9a76;&#xa;var ists &#x3d; 0&#x3b;&#xa;&#xa;&#x2f;&#x2f; &#x8bbe;&#x7f6e;isCanceled&#xa;var iscanceled &#x3d; 0&#x3b;</jsScript_script> 831 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f; &#x4f7f;&#x7528;&#x6b63;&#x5219;&#x8868;&#x8fbe;&#x5f0f;&#x53bb;&#x9664;&#x7ad9;&#x70b9;&#x540d;&#x79f0;&#x53f3;&#x4fa7;&#x591a;&#x4f59;&#x7684;&#x6570;&#x5b57;&#xa;qdzname &#x3d; qdzname.replace&#x28;&#x2f;&#x28;&#x5c;d&#x2b;&#x24;&#x29;&#x2f;g,&#x27;&#x27;&#x29;&#x3b;&#xa;if &#x28;qdzname &#x21;&#x3d; &#x22;&#x51fa;&#x573a;&#x22; &#x26;&#x26; qdzname &#x21;&#x3d; &#x22;&#x8fdb;&#x573a;&#x22;&#x29; &#x7b;&#xa; qdzname &#x3d; qdzname &#x2b; &#x22;&#x25;&#x22;&#x3b; &#x2f;&#x2f; &#x6a21;&#x7cca;&#x5339;&#x914d;&#x6807;&#x8bc6;&#x7b26;&#xa;&#x7d;&#xa;&#xa;&#x2f;&#x2f; sendtime&#x5904;&#x7406;&#xff0c;hhmm&#xff0c;hh&#x3a;mm&#xff0c;hh,mm&#xa;var sendtime_calcu &#x3d; sendtime.replace&#x28;&#x2f;&#x5c;s&#x2f;g, &#x22;&#x22;&#x29;&#x3b;&#xa;if &#x28;sendtime.length &#x3d;&#x3d; 5&#x29; &#x7b; &#x2f;&#x2f; &#x6700;&#x957f;&#x683c;&#x5f0f;&#xff0c;&#x5305;&#x62ec;&#x5206;&#x9694;&#x7b26;&#xff0c;&#x7edf;&#x4e00;&#x628a;&#x5206;&#x9694;&#x7b26;&#x66ff;&#x6362;&#x6210;&#x5192;&#x53f7;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 2&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;3, 2&#x29;&#x3b;&#xa;&#x7d; else if &#x28;sendtime.length &#x3d;&#x3d; 4&#x29; &#x7b;&#xa; if &#x28;sendtime.indexOf&#x28;&#x22;&#x3a;&#x22;&#x29; &#x3e; 0&#x29; &#x7b; &#x2f;&#x2f; &#x5192;&#x53f7;&#x5206;&#x9694;&#xff0c;&#x65e0;&#x9700;&#x4fee;&#x6539;&#xa; sendtime_calcu &#x3d; sendtime&#x3b;&#xa; &#x7d; else if &#x28;sendtime.indexOf&#x28;&#x22;,&#x22;&#x29; &#x3e; 0&#x29; &#x7b; &#x2f;&#x2f; &#x9017;&#x53f7;&#x5206;&#x9694;&#xff0c;&#x6539;&#x6210;&#x5192;&#x53f7;&#x5206;&#x9694;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 1&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;2, 2&#x29;&#x3b;&#xa; &#x7d; else &#x7b; &#x2f;&#x2f; &#x65e0;&#x5206;&#x9694;&#x7b26;&#xff0c;&#x6539;&#x6210;&#x5192;&#x53f7;&#x5206;&#x9694;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 2&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;2, 2&#x29;&#x3b;&#xa; &#x7d;&#xa;&#x7d; else if &#x28;sendtime.length &#x3d;&#x3d; 3&#x29; &#x7b; &#x2f;&#x2f; &#x65e0;&#x5206;&#x9694;&#x7b26;&#xff0c;&#x6539;&#x6210;&#x5192;&#x53f7;&#x5206;&#x9694;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 1&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;1, 2&#x29;&#x3b;&#xa;&#x7d;&#xa;&#xa;&#x2f;&#x2f; &#x5168;&#x90e8;&#x4fee;&#x6b63;&#x5b8c;&#x6bd5;&#x540e;&#xff0c;&#x5982;&#x679c;&#x957f;&#x5ea6;&#x4e0d;&#x662f;5&#xff0c;&#x524d;&#x9762;&#x8865;0&#xa;if &#x28;sendtime_calcu.length &#x21;&#x3d; 5&#x29; &#x7b;&#xa; sendtime_calcu &#x3d; &#x22;0&#x22; &#x2b; sendtime_calcu&#x3b;&#xa;&#x7d;&#xa;&#xa;&#x2f;&#x2f; &#x8bbe;&#x7f6e;&#x5206;&#x73ed;&#xa;var isfb &#x3d; 0&#x3b;&#xa;&#xa;&#x2f;&#x2f; &#x8bbe;&#x7f6e;&#x505c;&#x9a76;&#xa;var ists &#x3d; 0&#x3b;&#xa;&#xa;&#x2f;&#x2f; &#x8bbe;&#x7f6e;isCanceled&#xa;var iscanceled &#x3d; 0&#x3b;</jsScript_script>
832 </jsScript> </jsScripts> <fields> <field> <name>qdzname</name> 832 </jsScript> </jsScripts> <fields> <field> <name>qdzname</name>
833 <rename>qdzname</rename> 833 <rename>qdzname</rename>
834 <type>String</type> 834 <type>String</type>
src/main/resources/datatools/ktrs/ttinfodetailDataInput2.ktr
@@ -828,7 +828,7 @@ @@ -828,7 +828,7 @@
828 <optimizationLevel>9</optimizationLevel> 828 <optimizationLevel>9</optimizationLevel>
829 <jsScripts> <jsScript> <jsScript_type>0</jsScript_type> 829 <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
830 <jsScript_name>Script 1</jsScript_name> 830 <jsScript_name>Script 1</jsScript_name>
831 - <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f; &#x4f7f;&#x7528;&#x6b63;&#x5219;&#x8868;&#x8fbe;&#x5f0f;&#x53bb;&#x9664;&#x7ad9;&#x70b9;&#x540d;&#x79f0;&#x53f3;&#x4fa7;&#x591a;&#x4f59;&#x7684;&#x6570;&#x5b57;&#xa;qdzname &#x3d; qdzname.replace&#x28;&#x2f;&#x28;&#x5c;d&#x2b;&#x24;&#x29;&#x2f;g,&#x27;&#x27;&#x29;&#x3b;&#xa;if &#x28;qdzname &#x21;&#x3d; &#x22;&#x51fa;&#x573a;&#x22; &#x26;&#x26; qdzname &#x21;&#x3d; &#x22;&#x8fdb;&#x573a;&#x22;&#x29; &#x7b;&#xa; qdzname &#x3d; qdzname &#x2b; &#x22;&#x25;&#x22;&#x3b; &#x2f;&#x2f; &#x6a21;&#x7cca;&#x5339;&#x914d;&#x6807;&#x8bc6;&#x7b26;&#xa;&#x7d;&#xa;&#xa;&#x2f;&#x2f; sendtime&#x5904;&#x7406;&#xff0c;hhmm&#xff0c;hh&#x3a;mm&#xff0c;hh,mm&#xa;var sendtime_calcu&#x3b;&#xa;if &#x28;sendtime.length &#x3d;&#x3d; 5&#x29; &#x7b; &#x2f;&#x2f; &#x6700;&#x957f;&#x683c;&#x5f0f;&#xff0c;&#x5305;&#x62ec;&#x5206;&#x9694;&#x7b26;&#xff0c;&#x7edf;&#x4e00;&#x628a;&#x5206;&#x9694;&#x7b26;&#x66ff;&#x6362;&#x6210;&#x5192;&#x53f7;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 2&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;3, 2&#x29;&#x3b;&#xa;&#x7d; else if &#x28;sendtime.length &#x3d;&#x3d; 4&#x29; &#x7b;&#xa; if &#x28;sendtime.indexOf&#x28;&#x22;&#x3a;&#x22;&#x29; &#x3e; 0&#x29; &#x7b; &#x2f;&#x2f; &#x5192;&#x53f7;&#x5206;&#x9694;&#xff0c;&#x65e0;&#x9700;&#x4fee;&#x6539;&#xa; sendtime_calcu &#x3d; sendtime&#x3b;&#xa; &#x7d; else if &#x28;sendtime.indexOf&#x28;&#x22;,&#x22;&#x29; &#x3e; 0&#x29; &#x7b; &#x2f;&#x2f; &#x9017;&#x53f7;&#x5206;&#x9694;&#xff0c;&#x6539;&#x6210;&#x5192;&#x53f7;&#x5206;&#x9694;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 1&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;2, 2&#x29;&#x3b;&#xa; &#x7d; else &#x7b; &#x2f;&#x2f; &#x65e0;&#x5206;&#x9694;&#x7b26;&#xff0c;&#x6539;&#x6210;&#x5192;&#x53f7;&#x5206;&#x9694;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 2&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;2, 2&#x29;&#x3b;&#xa; &#x7d;&#xa;&#x7d; else if &#x28;sendtime.length &#x3d;&#x3d; 3&#x29; &#x7b; &#x2f;&#x2f; &#x65e0;&#x5206;&#x9694;&#x7b26;&#xff0c;&#x6539;&#x6210;&#x5192;&#x53f7;&#x5206;&#x9694;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 1&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;1, 2&#x29;&#x3b;&#xa;&#x7d;&#xa;&#xa;&#x2f;&#x2f; &#x5168;&#x90e8;&#x4fee;&#x6b63;&#x5b8c;&#x6bd5;&#x540e;&#xff0c;&#x5982;&#x679c;&#x957f;&#x5ea6;&#x4e0d;&#x662f;5&#xff0c;&#x524d;&#x9762;&#x8865;0&#xa;if &#x28;sendtime_calcu.length &#x21;&#x3d; 5&#x29; &#x7b;&#xa; sendtime_calcu &#x3d; &#x22;0&#x22; &#x2b; sendtime_calcu&#x3b;&#xa;&#x7d;&#xa;&#xa;&#x2f;&#x2f; &#x8bbe;&#x7f6e;&#x5206;&#x73ed;&#xa;var isfb &#x3d; 0&#x3b;&#xa;&#xa;&#x2f;&#x2f; &#x8bbe;&#x7f6e;&#x505c;&#x9a76;&#xa;var ists &#x3d; 0&#x3b;&#xa;&#xa;&#x2f;&#x2f; &#x8bbe;&#x7f6e;isCanceled&#xa;var iscanceled &#x3d; 0&#x3b;</jsScript_script> 831 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f; &#x4f7f;&#x7528;&#x6b63;&#x5219;&#x8868;&#x8fbe;&#x5f0f;&#x53bb;&#x9664;&#x7ad9;&#x70b9;&#x540d;&#x79f0;&#x53f3;&#x4fa7;&#x591a;&#x4f59;&#x7684;&#x6570;&#x5b57;&#xa;qdzname &#x3d; qdzname.replace&#x28;&#x2f;&#x28;&#x5c;d&#x2b;&#x24;&#x29;&#x2f;g,&#x27;&#x27;&#x29;&#x3b;&#xa;if &#x28;qdzname &#x21;&#x3d; &#x22;&#x51fa;&#x573a;&#x22; &#x26;&#x26; qdzname &#x21;&#x3d; &#x22;&#x8fdb;&#x573a;&#x22;&#x29; &#x7b;&#xa; qdzname &#x3d; qdzname &#x2b; &#x22;&#x25;&#x22;&#x3b; &#x2f;&#x2f; &#x6a21;&#x7cca;&#x5339;&#x914d;&#x6807;&#x8bc6;&#x7b26;&#xa;&#x7d;&#xa;&#xa;&#x2f;&#x2f; sendtime&#x5904;&#x7406;&#xff0c;hhmm&#xff0c;hh&#x3a;mm&#xff0c;hh,mm&#xa;var sendtime_calcu &#x3d; sendtime.replace&#x28;&#x2f;&#x5c;s&#x2f;g, &#x22;&#x22;&#x29;&#x3b;&#xa;if &#x28;sendtime.length &#x3d;&#x3d; 5&#x29; &#x7b; &#x2f;&#x2f; &#x6700;&#x957f;&#x683c;&#x5f0f;&#xff0c;&#x5305;&#x62ec;&#x5206;&#x9694;&#x7b26;&#xff0c;&#x7edf;&#x4e00;&#x628a;&#x5206;&#x9694;&#x7b26;&#x66ff;&#x6362;&#x6210;&#x5192;&#x53f7;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 2&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;3, 2&#x29;&#x3b;&#xa;&#x7d; else if &#x28;sendtime.length &#x3d;&#x3d; 4&#x29; &#x7b;&#xa; if &#x28;sendtime.indexOf&#x28;&#x22;&#x3a;&#x22;&#x29; &#x3e; 0&#x29; &#x7b; &#x2f;&#x2f; &#x5192;&#x53f7;&#x5206;&#x9694;&#xff0c;&#x65e0;&#x9700;&#x4fee;&#x6539;&#xa; sendtime_calcu &#x3d; sendtime&#x3b;&#xa; &#x7d; else if &#x28;sendtime.indexOf&#x28;&#x22;,&#x22;&#x29; &#x3e; 0&#x29; &#x7b; &#x2f;&#x2f; &#x9017;&#x53f7;&#x5206;&#x9694;&#xff0c;&#x6539;&#x6210;&#x5192;&#x53f7;&#x5206;&#x9694;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 1&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;2, 2&#x29;&#x3b;&#xa; &#x7d; else &#x7b; &#x2f;&#x2f; &#x65e0;&#x5206;&#x9694;&#x7b26;&#xff0c;&#x6539;&#x6210;&#x5192;&#x53f7;&#x5206;&#x9694;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 2&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;2, 2&#x29;&#x3b;&#xa; &#x7d;&#xa;&#x7d; else if &#x28;sendtime.length &#x3d;&#x3d; 3&#x29; &#x7b; &#x2f;&#x2f; &#x65e0;&#x5206;&#x9694;&#x7b26;&#xff0c;&#x6539;&#x6210;&#x5192;&#x53f7;&#x5206;&#x9694;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 1&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;1, 2&#x29;&#x3b;&#xa;&#x7d;&#xa;&#xa;&#x2f;&#x2f; &#x5168;&#x90e8;&#x4fee;&#x6b63;&#x5b8c;&#x6bd5;&#x540e;&#xff0c;&#x5982;&#x679c;&#x957f;&#x5ea6;&#x4e0d;&#x662f;5&#xff0c;&#x524d;&#x9762;&#x8865;0&#xa;if &#x28;sendtime_calcu.length &#x21;&#x3d; 5&#x29; &#x7b;&#xa; sendtime_calcu &#x3d; &#x22;0&#x22; &#x2b; sendtime_calcu&#x3b;&#xa;&#x7d;&#xa;&#xa;&#x2f;&#x2f; &#x8bbe;&#x7f6e;&#x5206;&#x73ed;&#xa;var isfb &#x3d; 0&#x3b;&#xa;&#xa;&#x2f;&#x2f; &#x8bbe;&#x7f6e;&#x505c;&#x9a76;&#xa;var ists &#x3d; 0&#x3b;&#xa;&#xa;&#x2f;&#x2f; &#x8bbe;&#x7f6e;isCanceled&#xa;var iscanceled &#x3d; 0&#x3b;</jsScript_script>
832 </jsScript> </jsScripts> <fields> <field> <name>qdzname</name> 832 </jsScript> </jsScripts> <fields> <field> <name>qdzname</name>
833 <rename>qdzname</rename> 833 <rename>qdzname</rename>
834 <type>String</type> 834 <type>String</type>
src/main/resources/datatools/ktrs/ttinfodetailDataInputMetaData.ktr
1 -<?xml version="1.0" encoding="UTF-8"?>  
2 -<transformation>  
3 - <info>  
4 - <name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x5bfc;&#x5165;&#x5143;&#x6570;&#x636e;</name>  
5 - <description/>  
6 - <extended_description/>  
7 - <trans_version/>  
8 - <trans_type>Normal</trans_type>  
9 - <trans_status>0</trans_status>  
10 - <directory>&#x2f;</directory>  
11 - <parameters>  
12 - <parameter>  
13 - <name>erroroutputdir</name>  
14 - <default_value>&#x2f;Users&#x2f;xu&#x2f;resource&#x2f;project_code&#x2f;runtime_temp&#x2f;bsth_control_u_d_files&#x2f;erroroutput</default_value>  
15 - <description>ktr step&#x914d;&#x7f6e;&#x7684;&#x9519;&#x8bef;&#x8f93;&#x51fa;&#x76ee;&#x5f55;</description>  
16 - </parameter>  
17 - <parameter>  
18 - <name>excelfieldnames</name>  
19 - <default_value>&#x8def;&#x724c;,&#x51fa;&#x573a;,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;1,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;1,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;2,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;2,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;3,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;3,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;4,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;4,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;5,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;5,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;6,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;6,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;7,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;7,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;8,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;8,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;9,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;9,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;10,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;10,&#x8fdb;&#x573a;</default_value>  
20 - <description>&#x65f6;&#x523b;&#x8868;excel&#x8f93;&#x5165;&#x5b57;&#x6bb5;&#x540d;&#xff0c;&#x4ee5;&#x9017;&#x53f7;&#x8fde;&#x63a5;</description>  
21 - </parameter>  
22 - <parameter>  
23 - <name>filepath</name>  
24 - <default_value>&#x2f;Users&#x2f;xu&#x2f;resource&#x2f;project_code&#x2f;bsth_project&#x2f;bsth_control_etl&#x2f;&#x95f5;&#x884c;&#x516c;&#x4ea4;&#x2f;&#x95f5;&#x884c;26&#x8def;&#x65f6;&#x523b;&#x8868;160630&#x65f6;&#x523b;&#x8868;.xls</default_value>  
25 - <description>&#x5f85;&#x5904;&#x7406;&#x5bfc;&#x5165;&#x7684;excel&#x6587;&#x4ef6;</description>  
26 - </parameter>  
27 - <parameter>  
28 - <name>injectktrfile</name>  
29 - <default_value>&#x2f;Users&#x2f;xu&#x2f;resource&#x2f;project_code&#x2f;bsth_project&#x2f;bsth_control&#x2f;src&#x2f;main&#x2f;resources&#x2f;datatools&#x2f;ktrs&#x2f;ttinfodetailDataInput.ktr</default_value>  
30 - <description>&#x6ce8;&#x5165;&#x5143;&#x6570;&#x636e;&#x7684;ktr&#x6587;&#x4ef6;</description>  
31 - </parameter>  
32 - <parameter>  
33 - <name>lineinfoid</name>  
34 - <default_value>1000</default_value>  
35 - <description>&#x7ebf;&#x8def;&#x6807;&#x51c6;id</description>  
36 - </parameter>  
37 - <parameter>  
38 - <name>normalizefieldnames</name>  
39 - <default_value>&#x51fa;&#x573a;,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;1,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;1,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;2,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;2,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;3,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;3,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;4,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;4,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;5,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;5,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;6,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;6,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;7,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;7,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;8,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;8,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;9,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;9,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;10,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;10,&#x8fdb;&#x573a;</default_value>  
40 - <description>&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;&#x5b57;&#x6bb5;&#x540d;&#xff0c;&#x4ee5;&#x9017;&#x53f7;&#x8fde;&#x63a5;</description>  
41 - </parameter>  
42 - <parameter>  
43 - <name>sheetname</name>  
44 - <default_value>&#x5de5;&#x4f5c;&#x8868;1</default_value>  
45 - <description>xls sheet&#x540d;&#x5b57;</description>  
46 - </parameter>  
47 - <parameter>  
48 - <name>tccname</name>  
49 - <default_value>&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;&#x505c;&#x8f66;&#x573a;</default_value>  
50 - <description>&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</description>  
51 - </parameter>  
52 - <parameter>  
53 - <name>ttid</name>  
54 - <default_value>1</default_value>  
55 - <description>&#x65f6;&#x523b;&#x8868;id</description>  
56 - </parameter>  
57 - <parameter>  
58 - <name>ttinfoname</name>  
59 - <default_value>&#x8868;2</default_value>  
60 - <description>&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;</description>  
61 - </parameter>  
62 - <parameter>  
63 - <name>xlname</name>  
64 - <default_value>&#x95f5;&#x884c;26&#x8def;</default_value>  
65 - <description>&#x7ebf;&#x8def;&#x540d;&#x79f0;</description>  
66 - </parameter>  
67 - </parameters>  
68 - <log>  
69 -<trans-log-table><connection/>  
70 -<schema/>  
71 -<table/>  
72 -<size_limit_lines/>  
73 -<interval/>  
74 -<timeout_days/>  
75 -<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>  
76 -<perf-log-table><connection/>  
77 -<schema/>  
78 -<table/>  
79 -<interval/>  
80 -<timeout_days/>  
81 -<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>  
82 -<channel-log-table><connection/>  
83 -<schema/>  
84 -<table/>  
85 -<timeout_days/>  
86 -<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>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>  
87 -<step-log-table><connection/>  
88 -<schema/>  
89 -<table/>  
90 -<timeout_days/>  
91 -<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>  
92 -<metrics-log-table><connection/>  
93 -<schema/>  
94 -<table/>  
95 -<timeout_days/>  
96 -<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>  
97 - </log>  
98 - <maxdate>  
99 - <connection/>  
100 - <table/>  
101 - <field/>  
102 - <offset>0.0</offset>  
103 - <maxdiff>0.0</maxdiff>  
104 - </maxdate>  
105 - <size_rowset>10000</size_rowset>  
106 - <sleep_time_empty>50</sleep_time_empty>  
107 - <sleep_time_full>50</sleep_time_full>  
108 - <unique_connections>N</unique_connections>  
109 - <feedback_shown>Y</feedback_shown>  
110 - <feedback_size>50000</feedback_size>  
111 - <using_thread_priorities>Y</using_thread_priorities>  
112 - <shared_objects_file/>  
113 - <capture_step_performance>N</capture_step_performance>  
114 - <step_performance_capturing_delay>1000</step_performance_capturing_delay>  
115 - <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit>  
116 - <dependencies>  
117 - </dependencies>  
118 - <partitionschemas>  
119 - </partitionschemas>  
120 - <slaveservers>  
121 - </slaveservers>  
122 - <clusterschemas>  
123 - </clusterschemas>  
124 - <created_user>-</created_user>  
125 - <created_date>2016&#x2f;07&#x2f;01 09&#x3a;55&#x3a;32.649</created_date>  
126 - <modified_user>-</modified_user>  
127 - <modified_date>2016&#x2f;07&#x2f;01 09&#x3a;55&#x3a;32.649</modified_date>  
128 - <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</key_for_session_key>  
129 - <is_key_private>N</is_key_private>  
130 - </info>  
131 - <notepads>  
132 - </notepads>  
133 - <connection>  
134 - <name>192.168.168.1_jwgl_dw</name>  
135 - <server>192.168.168.1</server>  
136 - <type>ORACLE</type>  
137 - <access>Native</access>  
138 - <database>orcl</database>  
139 - <port>1521</port>  
140 - <username>jwgl_dw</username>  
141 - <password>Encrypted 2be98afc86aa7f2e4cb13b977d2adabcd</password>  
142 - <servername/>  
143 - <data_tablespace/>  
144 - <index_tablespace/>  
145 - <attributes>  
146 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
147 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
148 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
149 - <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>  
150 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
151 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
152 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
153 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
154 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
155 - </attributes>  
156 - </connection>  
157 - <connection>  
158 - <name>bus_control_variable</name>  
159 - <server>&#x24;&#x7b;v_db_ip&#x7d;</server>  
160 - <type>MYSQL</type>  
161 - <access>Native</access>  
162 - <database>&#x24;&#x7b;v_db_dname&#x7d;</database>  
163 - <port>3306</port>  
164 - <username>&#x24;&#x7b;v_db_uname&#x7d;</username>  
165 - <password>&#x24;&#x7b;v_db_pwd&#x7d;</password>  
166 - <servername/>  
167 - <data_tablespace/>  
168 - <index_tablespace/>  
169 - <attributes>  
170 - <attribute><code>EXTRA_OPTION_MYSQL.characterEncoding</code><attribute>utf8</attribute></attribute>  
171 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
172 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
173 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
174 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
175 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
176 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
177 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
178 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
179 - <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>  
180 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
181 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
182 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
183 - </attributes>  
184 - </connection>  
185 - <connection>  
186 - <name>bus_control_&#x516c;&#x53f8;_201</name>  
187 - <server>localhost</server>  
188 - <type>MYSQL</type>  
189 - <access>Native</access>  
190 - <database>control</database>  
191 - <port>3306</port>  
192 - <username>root</username>  
193 - <password>Encrypted </password>  
194 - <servername/>  
195 - <data_tablespace/>  
196 - <index_tablespace/>  
197 - <attributes>  
198 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
199 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
200 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
201 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
202 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
203 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
204 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
205 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
206 - <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>  
207 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
208 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
209 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
210 - </attributes>  
211 - </connection>  
212 - <connection>  
213 - <name>bus_control_&#x672c;&#x673a;</name>  
214 - <server>localhost</server>  
215 - <type>MYSQL</type>  
216 - <access>Native</access>  
217 - <database>control</database>  
218 - <port>3306</port>  
219 - <username>root</username>  
220 - <password>Encrypted </password>  
221 - <servername/>  
222 - <data_tablespace/>  
223 - <index_tablespace/>  
224 - <attributes>  
225 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
226 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
227 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
228 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
229 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
230 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
231 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
232 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
233 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
234 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
235 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
236 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
237 - </attributes>  
238 - </connection>  
239 - <connection>  
240 - <name>xlab_mysql_youle</name>  
241 - <server>101.231.124.8</server>  
242 - <type>MYSQL</type>  
243 - <access>Native</access>  
244 - <database>xlab_youle</database>  
245 - <port>45687</port>  
246 - <username>xlab-youle</username>  
247 - <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password>  
248 - <servername/>  
249 - <data_tablespace/>  
250 - <index_tablespace/>  
251 - <attributes>  
252 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
253 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
254 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
255 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
256 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
257 - <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute>  
258 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
259 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
260 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
261 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>  
262 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>  
263 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
264 - </attributes>  
265 - </connection>  
266 - <connection>  
267 - <name>xlab_mysql_youle&#xff08;&#x672c;&#x673a;&#xff09;</name>  
268 - <server>localhost</server>  
269 - <type>MYSQL</type>  
270 - <access>Native</access>  
271 - <database>xlab_youle</database>  
272 - <port>3306</port>  
273 - <username>root</username>  
274 - <password>Encrypted </password>  
275 - <servername/>  
276 - <data_tablespace/>  
277 - <index_tablespace/>  
278 - <attributes>  
279 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
280 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
281 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
282 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
283 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
284 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
285 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
286 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
287 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
288 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>  
289 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>  
290 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
291 - </attributes>  
292 - </connection>  
293 - <connection>  
294 - <name>xlab_youle</name>  
295 - <server/>  
296 - <type>MYSQL</type>  
297 - <access>JNDI</access>  
298 - <database>xlab_youle</database>  
299 - <port>1521</port>  
300 - <username/>  
301 - <password>Encrypted </password>  
302 - <servername/>  
303 - <data_tablespace/>  
304 - <index_tablespace/>  
305 - <attributes>  
306 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
307 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
308 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
309 - <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>  
310 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
311 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
312 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
313 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
314 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
315 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
316 - </attributes>  
317 - </connection>  
318 - <order>  
319 - <hop> <from>&#x83b7;&#x53d6;excel&#x6587;&#x4ef6;&#x540d;</from><to>ETL&#x5143;&#x6570;&#x636e;&#x6ce8;&#x5165;</to><enabled>Y</enabled> </hop>  
320 - <hop> <from>&#x83b7;&#x53d6;excel&#x5b57;&#x6bb5;&#x540d;&#x5b57;&#x7b26;&#x4e32;</from><to>&#x9017;&#x53f7;&#x5207;&#x5206;&#x6210;&#x5b57;&#x6bb5;&#x540d;</to><enabled>Y</enabled> </hop>  
321 - <hop> <from>&#x9017;&#x53f7;&#x5207;&#x5206;&#x6210;&#x5b57;&#x6bb5;&#x540d;</from><to>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>  
322 - <hop> <from>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</from><to>ETL&#x5143;&#x6570;&#x636e;&#x6ce8;&#x5165;</to><enabled>Y</enabled> </hop>  
323 - <hop> <from>&#x83b7;&#x53d6;normalize&#x5b57;&#x6bb5;&#x540d;&#x5b57;&#x7b26;&#x4e32;</from><to>&#x9017;&#x53f7;&#x5207;&#x5206;&#x6210;&#x5b57;&#x6bb5;&#x540d; 2</to><enabled>Y</enabled> </hop>  
324 - <hop> <from>&#x9017;&#x53f7;&#x5207;&#x5206;&#x6210;&#x5b57;&#x6bb5;&#x540d; 2</from><to>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>  
325 - <hop> <from>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</from><to>ETL&#x5143;&#x6570;&#x636e;&#x6ce8;&#x5165;</to><enabled>Y</enabled> </hop>  
326 - <hop> <from>&#x83b7;&#x53d6;&#x7ebf;&#x8def;&#x540d;&#x79f0;</from><to>&#x589e;&#x52a0;&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata</to><enabled>Y</enabled> </hop>  
327 - <hop> <from>&#x589e;&#x52a0;&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata</from><to>&#x66ff;&#x6362;&#x7ebf;&#x8def;&#x540d;&#x79f0;</to><enabled>Y</enabled> </hop>  
328 - <hop> <from>&#x66ff;&#x6362;&#x7ebf;&#x8def;&#x540d;&#x79f0;</from><to>&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</to><enabled>Y</enabled> </hop>  
329 - <hop> <from>&#x589e;&#x52a0;&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata</from><to>&#x66ff;&#x6362;&#x505c;&#x8f66;&#x5382;&#x540d;&#x5b57; </to><enabled>Y</enabled> </hop>  
330 - <hop> <from>&#x66ff;&#x6362;&#x505c;&#x8f66;&#x5382;&#x540d;&#x5b57; </from><to>&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</to><enabled>Y</enabled> </hop>  
331 - <hop> <from>&#x83b7;&#x53d6;&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;</from><to>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;metadata</to><enabled>Y</enabled> </hop>  
332 - <hop> <from>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;metadata</from><to>&#x66ff;&#x6362;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;</to><enabled>Y</enabled> </hop>  
333 - <hop> <from>&#x66ff;&#x6362;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;</from><to>&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</to><enabled>Y</enabled> </hop>  
334 - <hop> <from>&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</from><to>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</to><enabled>Y</enabled> </hop>  
335 - <hop> <from>&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</from><to>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</to><enabled>Y</enabled> </hop>  
336 - <hop> <from>&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</from><to>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</to><enabled>Y</enabled> </hop>  
337 - <hop> <from>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</from><to>ETL&#x5143;&#x6570;&#x636e;&#x6ce8;&#x5165;</to><enabled>Y</enabled> </hop>  
338 - <hop> <from>&#x83b7;&#x53d6;&#x65f6;&#x523b;&#x8868;id</from><to>&#x5220;&#x9664;&#x4e4b;&#x524d;&#x7684;&#x660e;&#x7ec6;&#x4fe1;&#x606f;</to><enabled>Y</enabled> </hop>  
339 - <hop> <from>&#x83b7;&#x53d6;&#x7ebf;&#x8def;&#x6807;&#x51c6;id</from><to>&#x505c;&#x8f66;&#x573a;&#x7f16;&#x7801;</to><enabled>Y</enabled> </hop>  
340 - <hop> <from>&#x505c;&#x8f66;&#x573a;&#x7f16;&#x7801;</from><to>&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;</to><enabled>Y</enabled> </hop>  
341 - <hop> <from>&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;</from><to>&#x589e;&#x52a0;&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata</to><enabled>Y</enabled> </hop>  
342 - </order>  
343 - <step>  
344 - <name>ETL&#x5143;&#x6570;&#x636e;&#x6ce8;&#x5165;</name>  
345 - <type>MetaInject</type>  
346 - <description/>  
347 - <distribute>Y</distribute>  
348 - <custom_distribution/>  
349 - <copies>1</copies>  
350 - <partitioning>  
351 - <method>none</method>  
352 - <schema_name/>  
353 - </partitioning>  
354 - <specification_method>filename</specification_method>  
355 - <trans_object_id/>  
356 - <trans_name/>  
357 - <filename>&#x24;&#x7b;injectktrfile&#x7d;</filename>  
358 - <directory_path/>  
359 - <source_step/>  
360 - <source_output_fields> </source_output_fields> <target_file/>  
361 - <no_execution>N</no_execution>  
362 - <stream_source_step/>  
363 - <stream_target_step/>  
364 - <mappings> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>  
365 - <target_attribute_key>FORMAT</target_attribute_key>  
366 - <target_detail>Y</target_detail>  
367 - <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>  
368 - <source_field>format</source_field>  
369 - </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>  
370 - <target_attribute_key>REPEAT</target_attribute_key>  
371 - <target_detail>Y</target_detail>  
372 - <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>  
373 - <source_field>repeat</source_field>  
374 - </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>  
375 - <target_attribute_key>TRIM_TYPE</target_attribute_key>  
376 - <target_detail>Y</target_detail>  
377 - <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>  
378 - <source_field>trim_type</source_field>  
379 - </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>  
380 - <target_attribute_key>FILENAME</target_attribute_key>  
381 - <target_detail>Y</target_detail>  
382 - <source_step>&#x83b7;&#x53d6;excel&#x6587;&#x4ef6;&#x540d;</source_step>  
383 - <source_field>filepath_</source_field>  
384 - </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>  
385 - <target_attribute_key>PRECISION</target_attribute_key>  
386 - <target_detail>Y</target_detail>  
387 - <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>  
388 - <source_field>precision</source_field>  
389 - </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>  
390 - <target_attribute_key>TYPE</target_attribute_key>  
391 - <target_detail>Y</target_detail>  
392 - <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>  
393 - <source_field>type</source_field>  
394 - </mapping> <mapping> <target_step_name>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;&#xff0c;&#x7ebf;&#x8def;&#x540d;&#x5b57;&#xff0c;&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</target_step_name>  
395 - <target_attribute_key>DATA_VALUE</target_attribute_key>  
396 - <target_detail>Y</target_detail>  
397 - <source_step>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</source_step>  
398 - <source_field>col_value</source_field>  
399 - </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>  
400 - <target_attribute_key>LENGTH</target_attribute_key>  
401 - <target_detail>Y</target_detail>  
402 - <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>  
403 - <source_field>length</source_field>  
404 - </mapping> <mapping> <target_step_name>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;&#xff0c;&#x7ebf;&#x8def;&#x540d;&#x5b57;&#xff0c;&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</target_step_name>  
405 - <target_attribute_key>TYPE</target_attribute_key>  
406 - <target_detail>Y</target_detail>  
407 - <source_step>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</source_step>  
408 - <source_field>col_type</source_field>  
409 - </mapping> <mapping> <target_step_name>&#x884c;&#x8f6c;&#x5217;</target_step_name>  
410 - <target_attribute_key>NAME</target_attribute_key>  
411 - <target_detail>Y</target_detail>  
412 - <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c; 2</source_step>  
413 - <source_field>fieldName</source_field>  
414 - </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>  
415 - <target_attribute_key>NAME</target_attribute_key>  
416 - <target_detail>Y</target_detail>  
417 - <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>  
418 - <source_field>fieldname</source_field>  
419 - </mapping> <mapping> <target_step_name>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</target_step_name>  
420 - <target_attribute_key>NAME</target_attribute_key>  
421 - <target_detail>Y</target_detail>  
422 - <source_step>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</source_step>  
423 - <source_field>nfieldname</source_field>  
424 - </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>  
425 - <target_attribute_key>LENGTH</target_attribute_key>  
426 - <target_detail>Y</target_detail>  
427 - <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>  
428 - <source_field>length</source_field>  
429 - </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>  
430 - <target_attribute_key>SHEET_NAME</target_attribute_key>  
431 - <target_detail>Y</target_detail>  
432 - <source_step>&#x83b7;&#x53d6;excel&#x6587;&#x4ef6;&#x540d;</source_step>  
433 - <source_field>sheetname_</source_field>  
434 - </mapping> <mapping> <target_step_name>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;&#xff0c;&#x7ebf;&#x8def;&#x540d;&#x5b57;&#xff0c;&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</target_step_name>  
435 - <target_attribute_key>NAME</target_attribute_key>  
436 - <target_detail>Y</target_detail>  
437 - <source_step>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</source_step>  
438 - <source_field>col_name</source_field>  
439 - </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>  
440 - <target_attribute_key>TYPE</target_attribute_key>  
441 - <target_detail>Y</target_detail>  
442 - <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>  
443 - <source_field>fieldtype</source_field>  
444 - </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>  
445 - <target_attribute_key>NAME</target_attribute_key>  
446 - <target_detail>Y</target_detail>  
447 - <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>  
448 - <source_field>fieldName</source_field>  
449 - </mapping> <mapping> <target_step_name>&#x884c;&#x8f6c;&#x5217;</target_step_name>  
450 - <target_attribute_key>VALUE</target_attribute_key>  
451 - <target_detail>Y</target_detail>  
452 - <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c; 2</source_step>  
453 - <source_field>fieldName</source_field>  
454 - </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>  
455 - <target_attribute_key>TRIM_TYPE</target_attribute_key>  
456 - <target_detail>Y</target_detail>  
457 - <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>  
458 - <source_field>trim_type</source_field>  
459 - </mapping> <mapping> <target_step_name>&#x884c;&#x8f6c;&#x5217;</target_step_name>  
460 - <target_attribute_key>NORMALISED</target_attribute_key>  
461 - <target_detail>Y</target_detail>  
462 - <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c; 2</source_step>  
463 - <source_field>value</source_field>  
464 - </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>  
465 - <target_attribute_key>REPEAT</target_attribute_key>  
466 - <target_detail>Y</target_detail>  
467 - <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>  
468 - <source_field>repeat</source_field>  
469 - </mapping> <mapping> <target_step_name>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</target_step_name>  
470 - <target_attribute_key>NORMALISED</target_attribute_key>  
471 - <target_detail>Y</target_detail>  
472 - <source_step>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</source_step>  
473 - <source_field>valuefield</source_field>  
474 - </mapping> <mapping> <target_step_name>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</target_step_name>  
475 - <target_attribute_key>VALUE</target_attribute_key>  
476 - <target_detail>Y</target_detail>  
477 - <source_step>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</source_step>  
478 - <source_field>nfieldname</source_field>  
479 - </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>  
480 - <target_attribute_key>FORMAT</target_attribute_key>  
481 - <target_detail>Y</target_detail>  
482 - <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>  
483 - <source_field>format</source_field>  
484 - </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>  
485 - <target_attribute_key>PRECISION</target_attribute_key>  
486 - <target_detail>Y</target_detail>  
487 - <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>  
488 - <source_field>precision</source_field>  
489 - </mapping> </mappings> <cluster_schema/>  
490 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
491 - <xloc>876</xloc>  
492 - <yloc>167</yloc>  
493 - <draw>Y</draw>  
494 - </GUI>  
495 - </step>  
496 -  
497 - <step>  
498 - <name>&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</name>  
499 - <type>SelectValues</type>  
500 - <description/>  
501 - <distribute>Y</distribute>  
502 - <custom_distribution/>  
503 - <copies>1</copies>  
504 - <partitioning>  
505 - <method>none</method>  
506 - <schema_name/>  
507 - </partitioning>  
508 - <fields> <field> <name>col_name</name>  
509 - <rename/>  
510 - <length>-2</length>  
511 - <precision>-2</precision>  
512 - </field> <field> <name>col_type</name>  
513 - <rename/>  
514 - <length>-2</length>  
515 - <precision>-2</precision>  
516 - </field> <field> <name>col_value</name>  
517 - <rename/>  
518 - <length>-2</length>  
519 - <precision>-2</precision>  
520 - </field> <select_unspecified>N</select_unspecified>  
521 - </fields> <cluster_schema/>  
522 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
523 - <xloc>743</xloc>  
524 - <yloc>470</yloc>  
525 - <draw>Y</draw>  
526 - </GUI>  
527 - </step>  
528 -  
529 - <step>  
530 - <name>&#x5220;&#x9664;&#x4e4b;&#x524d;&#x7684;&#x660e;&#x7ec6;&#x4fe1;&#x606f;</name>  
531 - <type>ExecSQL</type>  
532 - <description/>  
533 - <distribute>Y</distribute>  
534 - <custom_distribution/>  
535 - <copies>1</copies>  
536 - <partitioning>  
537 - <method>none</method>  
538 - <schema_name/>  
539 - </partitioning>  
540 - <connection>bus_control_variable</connection>  
541 - <execute_each_row>Y</execute_each_row>  
542 - <single_statement>N</single_statement>  
543 - <replace_variables>N</replace_variables>  
544 - <quoteString>N</quoteString>  
545 - <sql>delete from bsth_c_s_ttinfo_detail where ttinfo &#x3d; &#x3f;</sql>  
546 - <set_params>N</set_params>  
547 - <insert_field/>  
548 - <update_field/>  
549 - <delete_field/>  
550 - <read_field/>  
551 - <arguments>  
552 - <argument><name>ttid_</name></argument>  
553 - </arguments>  
554 - <cluster_schema/>  
555 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
556 - <xloc>808</xloc>  
557 - <yloc>16</yloc>  
558 - <draw>Y</draw>  
559 - </GUI>  
560 - </step>  
561 -  
562 - <step>  
563 - <name>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</name>  
564 - <type>Dummy</type>  
565 - <description/>  
566 - <distribute>Y</distribute>  
567 - <custom_distribution/>  
568 - <copies>1</copies>  
569 - <partitioning>  
570 - <method>none</method>  
571 - <schema_name/>  
572 - </partitioning>  
573 - <cluster_schema/>  
574 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
575 - <xloc>883</xloc>  
576 - <yloc>373</yloc>  
577 - <draw>Y</draw>  
578 - </GUI>  
579 - </step>  
580 -  
581 - <step>  
582 - <name>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</name>  
583 - <type>Constant</type>  
584 - <description/>  
585 - <distribute>Y</distribute>  
586 - <custom_distribution/>  
587 - <copies>1</copies>  
588 - <partitioning>  
589 - <method>none</method>  
590 - <schema_name/>  
591 - </partitioning>  
592 - <fields>  
593 - <field>  
594 - <name>fieldtype</name>  
595 - <type>String</type>  
596 - <format/>  
597 - <currency/>  
598 - <decimal/>  
599 - <group/>  
600 - <nullif>String</nullif>  
601 - <length>-1</length>  
602 - <precision>-1</precision>  
603 - <set_empty_string>N</set_empty_string>  
604 - </field>  
605 - <field>  
606 - <name>length</name>  
607 - <type>String</type>  
608 - <format/>  
609 - <currency/>  
610 - <decimal/>  
611 - <group/>  
612 - <nullif>-1</nullif>  
613 - <length>-1</length>  
614 - <precision>-1</precision>  
615 - <set_empty_string>N</set_empty_string>  
616 - </field>  
617 - <field>  
618 - <name>precision</name>  
619 - <type>String</type>  
620 - <format/>  
621 - <currency/>  
622 - <decimal/>  
623 - <group/>  
624 - <nullif>-1</nullif>  
625 - <length>-1</length>  
626 - <precision>-1</precision>  
627 - <set_empty_string>N</set_empty_string>  
628 - </field>  
629 - <field>  
630 - <name>trim_type</name>  
631 - <type>String</type>  
632 - <format/>  
633 - <currency/>  
634 - <decimal/>  
635 - <group/>  
636 - <nullif>none</nullif>  
637 - <length>-1</length>  
638 - <precision>-1</precision>  
639 - <set_empty_string>N</set_empty_string>  
640 - </field>  
641 - <field>  
642 - <name>repeat</name>  
643 - <type>String</type>  
644 - <format/>  
645 - <currency/>  
646 - <decimal/>  
647 - <group/>  
648 - <nullif>N</nullif>  
649 - <length>-1</length>  
650 - <precision>-1</precision>  
651 - <set_empty_string>N</set_empty_string>  
652 - </field>  
653 - <field>  
654 - <name>format</name>  
655 - <type>String</type>  
656 - <format/>  
657 - <currency/>  
658 - <decimal/>  
659 - <group/>  
660 - <nullif>&#x23;</nullif>  
661 - <length>-1</length>  
662 - <precision>-1</precision>  
663 - <set_empty_string>N</set_empty_string>  
664 - </field>  
665 - </fields>  
666 - <cluster_schema/>  
667 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
668 - <xloc>622</xloc>  
669 - <yloc>162</yloc>  
670 - <draw>Y</draw>  
671 - </GUI>  
672 - </step>  
673 -  
674 - <step>  
675 - <name>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</name>  
676 - <type>Constant</type>  
677 - <description/>  
678 - <distribute>Y</distribute>  
679 - <custom_distribution/>  
680 - <copies>1</copies>  
681 - <partitioning>  
682 - <method>none</method>  
683 - <schema_name/>  
684 - </partitioning>  
685 - <fields>  
686 - <field>  
687 - <name>valuefield</name>  
688 - <type>String</type>  
689 - <format/>  
690 - <currency/>  
691 - <decimal/>  
692 - <group/>  
693 - <nullif>&#x53d1;&#x8f66;&#x65f6;&#x95f4;</nullif>  
694 - <length>-1</length>  
695 - <precision>-1</precision>  
696 - <set_empty_string>N</set_empty_string>  
697 - </field>  
698 - </fields>  
699 - <cluster_schema/>  
700 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
701 - <xloc>628</xloc>  
702 - <yloc>247</yloc>  
703 - <draw>Y</draw>  
704 - </GUI>  
705 - </step>  
706 -  
707 - <step>  
708 - <name>&#x589e;&#x52a0;&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata</name>  
709 - <type>Constant</type>  
710 - <description/>  
711 - <distribute>Y</distribute>  
712 - <custom_distribution/>  
713 - <copies>1</copies>  
714 - <partitioning>  
715 - <method>none</method>  
716 - <schema_name/>  
717 - </partitioning>  
718 - <fields>  
719 - <field>  
720 - <name>col_name</name>  
721 - <type>String</type>  
722 - <format/>  
723 - <currency/>  
724 - <decimal/>  
725 - <group/>  
726 - <nullif>tccname_</nullif>  
727 - <length>-1</length>  
728 - <precision>-1</precision>  
729 - <set_empty_string>N</set_empty_string>  
730 - </field>  
731 - <field>  
732 - <name>col_type</name>  
733 - <type>String</type>  
734 - <format/>  
735 - <currency/>  
736 - <decimal/>  
737 - <group/>  
738 - <nullif>String</nullif>  
739 - <length>-1</length>  
740 - <precision>-1</precision>  
741 - <set_empty_string>N</set_empty_string>  
742 - </field>  
743 - <field>  
744 - <name>col_value</name>  
745 - <type>String</type>  
746 - <format/>  
747 - <currency/>  
748 - <decimal/>  
749 - <group/>  
750 - <nullif>replace</nullif>  
751 - <length>-1</length>  
752 - <precision>-1</precision>  
753 - <set_empty_string>N</set_empty_string>  
754 - </field>  
755 - </fields>  
756 - <cluster_schema/>  
757 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
758 - <xloc>461</xloc>  
759 - <yloc>469</yloc>  
760 - <draw>Y</draw>  
761 - </GUI>  
762 - </step>  
763 -  
764 - <step>  
765 - <name>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;metadata</name>  
766 - <type>Constant</type>  
767 - <description/>  
768 - <distribute>Y</distribute>  
769 - <custom_distribution/>  
770 - <copies>1</copies>  
771 - <partitioning>  
772 - <method>none</method>  
773 - <schema_name/>  
774 - </partitioning>  
775 - <fields>  
776 - <field>  
777 - <name>col_name</name>  
778 - <type>String</type>  
779 - <format/>  
780 - <currency/>  
781 - <decimal/>  
782 - <group/>  
783 - <nullif>ttinfoname_</nullif>  
784 - <length>-1</length>  
785 - <precision>-1</precision>  
786 - <set_empty_string>N</set_empty_string>  
787 - </field>  
788 - <field>  
789 - <name>col_type</name>  
790 - <type>String</type>  
791 - <format/>  
792 - <currency/>  
793 - <decimal/>  
794 - <group/>  
795 - <nullif>String</nullif>  
796 - <length>-1</length>  
797 - <precision>-1</precision>  
798 - <set_empty_string>N</set_empty_string>  
799 - </field>  
800 - <field>  
801 - <name>col_value</name>  
802 - <type>String</type>  
803 - <format/>  
804 - <currency/>  
805 - <decimal/>  
806 - <group/>  
807 - <nullif>replace</nullif>  
808 - <length>-1</length>  
809 - <precision>-1</precision>  
810 - <set_empty_string>N</set_empty_string>  
811 - </field>  
812 - </fields>  
813 - <cluster_schema/>  
814 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
815 - <xloc>608</xloc>  
816 - <yloc>601</yloc>  
817 - <draw>Y</draw>  
818 - </GUI>  
819 - </step>  
820 -  
821 - <step>  
822 - <name>&#x589e;&#x52a0;&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata</name>  
823 - <type>Constant</type>  
824 - <description/>  
825 - <distribute>Y</distribute>  
826 - <custom_distribution/>  
827 - <copies>1</copies>  
828 - <partitioning>  
829 - <method>none</method>  
830 - <schema_name/>  
831 - </partitioning>  
832 - <fields>  
833 - <field>  
834 - <name>col_name</name>  
835 - <type>String</type>  
836 - <format/>  
837 - <currency/>  
838 - <decimal/>  
839 - <group/>  
840 - <nullif>xlname_</nullif>  
841 - <length>-1</length>  
842 - <precision>-1</precision>  
843 - <set_empty_string>N</set_empty_string>  
844 - </field>  
845 - <field>  
846 - <name>col_type</name>  
847 - <type>String</type>  
848 - <format/>  
849 - <currency/>  
850 - <decimal/>  
851 - <group/>  
852 - <nullif>String</nullif>  
853 - <length>-1</length>  
854 - <precision>-1</precision>  
855 - <set_empty_string>N</set_empty_string>  
856 - </field>  
857 - <field>  
858 - <name>col_value</name>  
859 - <type>String</type>  
860 - <format/>  
861 - <currency/>  
862 - <decimal/>  
863 - <group/>  
864 - <nullif>replace</nullif>  
865 - <length>-1</length>  
866 - <precision>-1</precision>  
867 - <set_empty_string>N</set_empty_string>  
868 - </field>  
869 - </fields>  
870 - <cluster_schema/>  
871 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
872 - <xloc>383</xloc>  
873 - <yloc>341</yloc>  
874 - <draw>Y</draw>  
875 - </GUI>  
876 - </step>  
877 -  
878 - <step>  
879 - <name>&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</name>  
880 - <type>SelectValues</type>  
881 - <description/>  
882 - <distribute>Y</distribute>  
883 - <custom_distribution/>  
884 - <copies>1</copies>  
885 - <partitioning>  
886 - <method>none</method>  
887 - <schema_name/>  
888 - </partitioning>  
889 - <fields> <field> <name>col_name</name>  
890 - <rename/>  
891 - <length>-2</length>  
892 - <precision>-2</precision>  
893 - </field> <field> <name>col_type</name>  
894 - <rename/>  
895 - <length>-2</length>  
896 - <precision>-2</precision>  
897 - </field> <field> <name>col_value</name>  
898 - <rename/>  
899 - <length>-2</length>  
900 - <precision>-2</precision>  
901 - </field> <select_unspecified>N</select_unspecified>  
902 - </fields> <cluster_schema/>  
903 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
904 - <xloc>888</xloc>  
905 - <yloc>601</yloc>  
906 - <draw>Y</draw>  
907 - </GUI>  
908 - </step>  
909 -  
910 - <step>  
911 - <name>&#x66ff;&#x6362;&#x505c;&#x8f66;&#x5382;&#x540d;&#x5b57; </name>  
912 - <type>SetValueField</type>  
913 - <description/>  
914 - <distribute>Y</distribute>  
915 - <custom_distribution/>  
916 - <copies>1</copies>  
917 - <partitioning>  
918 - <method>none</method>  
919 - <schema_name/>  
920 - </partitioning>  
921 - <fields>  
922 - <field>  
923 - <name>col_value</name>  
924 - <replaceby>tccname_</replaceby>  
925 - </field>  
926 - </fields>  
927 - <cluster_schema/>  
928 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
929 - <xloc>598</xloc>  
930 - <yloc>471</yloc>  
931 - <draw>Y</draw>  
932 - </GUI>  
933 - </step>  
934 -  
935 - <step>  
936 - <name>&#x66ff;&#x6362;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;</name>  
937 - <type>SetValueField</type>  
938 - <description/>  
939 - <distribute>Y</distribute>  
940 - <custom_distribution/>  
941 - <copies>1</copies>  
942 - <partitioning>  
943 - <method>none</method>  
944 - <schema_name/>  
945 - </partitioning>  
946 - <fields>  
947 - <field>  
948 - <name>col_value</name>  
949 - <replaceby>ttinfoname_</replaceby>  
950 - </field>  
951 - </fields>  
952 - <cluster_schema/>  
953 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
954 - <xloc>746</xloc>  
955 - <yloc>602</yloc>  
956 - <draw>Y</draw>  
957 - </GUI>  
958 - </step>  
959 -  
960 - <step>  
961 - <name>&#x66ff;&#x6362;&#x7ebf;&#x8def;&#x540d;&#x79f0;</name>  
962 - <type>SetValueField</type>  
963 - <description/>  
964 - <distribute>Y</distribute>  
965 - <custom_distribution/>  
966 - <copies>1</copies>  
967 - <partitioning>  
968 - <method>none</method>  
969 - <schema_name/>  
970 - </partitioning>  
971 - <fields>  
972 - <field>  
973 - <name>col_value</name>  
974 - <replaceby>xlname_</replaceby>  
975 - </field>  
976 - </fields>  
977 - <cluster_schema/>  
978 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
979 - <xloc>521</xloc>  
980 - <yloc>342</yloc>  
981 - <draw>Y</draw>  
982 - </GUI>  
983 - </step>  
984 -  
985 - <step>  
986 - <name>&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</name>  
987 - <type>SelectValues</type>  
988 - <description/>  
989 - <distribute>Y</distribute>  
990 - <custom_distribution/>  
991 - <copies>1</copies>  
992 - <partitioning>  
993 - <method>none</method>  
994 - <schema_name/>  
995 - </partitioning>  
996 - <fields> <field> <name>col_name</name>  
997 - <rename/>  
998 - <length>-2</length>  
999 - <precision>-2</precision>  
1000 - </field> <field> <name>col_type</name>  
1001 - <rename/>  
1002 - <length>-2</length>  
1003 - <precision>-2</precision>  
1004 - </field> <field> <name>col_value</name>  
1005 - <rename/>  
1006 - <length>-2</length>  
1007 - <precision>-2</precision>  
1008 - </field> <select_unspecified>N</select_unspecified>  
1009 - </fields> <cluster_schema/>  
1010 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1011 - <xloc>668</xloc>  
1012 - <yloc>343</yloc>  
1013 - <draw>Y</draw>  
1014 - </GUI>  
1015 - </step>  
1016 -  
1017 - <step>  
1018 - <name>&#x83b7;&#x53d6;excel&#x5b57;&#x6bb5;&#x540d;&#x5b57;&#x7b26;&#x4e32;</name>  
1019 - <type>GetVariable</type>  
1020 - <description/>  
1021 - <distribute>Y</distribute>  
1022 - <custom_distribution/>  
1023 - <copies>1</copies>  
1024 - <partitioning>  
1025 - <method>none</method>  
1026 - <schema_name/>  
1027 - </partitioning>  
1028 - <fields>  
1029 - <field>  
1030 - <name>fieldnames</name>  
1031 - <variable>&#x24;&#x7b;excelfieldnames&#x7d;</variable>  
1032 - <type>String</type>  
1033 - <format/>  
1034 - <currency/>  
1035 - <decimal/>  
1036 - <group/>  
1037 - <length>-1</length>  
1038 - <precision>-1</precision>  
1039 - <trim_type>none</trim_type>  
1040 - </field>  
1041 - </fields>  
1042 - <cluster_schema/>  
1043 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1044 - <xloc>252</xloc>  
1045 - <yloc>153</yloc>  
1046 - <draw>Y</draw>  
1047 - </GUI>  
1048 - </step>  
1049 -  
1050 - <step>  
1051 - <name>&#x83b7;&#x53d6;excel&#x6587;&#x4ef6;&#x540d;</name>  
1052 - <type>GetVariable</type>  
1053 - <description/>  
1054 - <distribute>Y</distribute>  
1055 - <custom_distribution/>  
1056 - <copies>1</copies>  
1057 - <partitioning>  
1058 - <method>none</method>  
1059 - <schema_name/>  
1060 - </partitioning>  
1061 - <fields>  
1062 - <field>  
1063 - <name>filepath_</name>  
1064 - <variable>&#x24;&#x7b;filepath&#x7d;</variable>  
1065 - <type>String</type>  
1066 - <format/>  
1067 - <currency/>  
1068 - <decimal/>  
1069 - <group/>  
1070 - <length>-1</length>  
1071 - <precision>-1</precision>  
1072 - <trim_type>none</trim_type>  
1073 - </field>  
1074 - <field>  
1075 - <name>erroroutputdir_</name>  
1076 - <variable>&#x24;&#x7b;erroroutputdir&#x7d;</variable>  
1077 - <type>String</type>  
1078 - <format/>  
1079 - <currency/>  
1080 - <decimal/>  
1081 - <group/>  
1082 - <length>-1</length>  
1083 - <precision>-1</precision>  
1084 - <trim_type>none</trim_type>  
1085 - </field>  
1086 - <field>  
1087 - <name>sheetname_</name>  
1088 - <variable>&#x24;&#x7b;sheetname&#x7d;</variable>  
1089 - <type>String</type>  
1090 - <format/>  
1091 - <currency/>  
1092 - <decimal/>  
1093 - <group/>  
1094 - <length>-1</length>  
1095 - <precision>-1</precision>  
1096 - <trim_type>none</trim_type>  
1097 - </field>  
1098 - </fields>  
1099 - <cluster_schema/>  
1100 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1101 - <xloc>301</xloc>  
1102 - <yloc>52</yloc>  
1103 - <draw>Y</draw>  
1104 - </GUI>  
1105 - </step>  
1106 -  
1107 - <step>  
1108 - <name>&#x83b7;&#x53d6;normalize&#x5b57;&#x6bb5;&#x540d;&#x5b57;&#x7b26;&#x4e32;</name>  
1109 - <type>GetVariable</type>  
1110 - <description/>  
1111 - <distribute>Y</distribute>  
1112 - <custom_distribution/>  
1113 - <copies>1</copies>  
1114 - <partitioning>  
1115 - <method>none</method>  
1116 - <schema_name/>  
1117 - </partitioning>  
1118 - <fields>  
1119 - <field>  
1120 - <name>normalizefieldnames_</name>  
1121 - <variable>&#x24;&#x7b;normalizefieldnames&#x7d;</variable>  
1122 - <type>String</type>  
1123 - <format/>  
1124 - <currency/>  
1125 - <decimal/>  
1126 - <group/>  
1127 - <length>-1</length>  
1128 - <precision>-1</precision>  
1129 - <trim_type>none</trim_type>  
1130 - </field>  
1131 - </fields>  
1132 - <cluster_schema/>  
1133 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1134 - <xloc>261</xloc>  
1135 - <yloc>251</yloc>  
1136 - <draw>Y</draw>  
1137 - </GUI>  
1138 - </step>  
1139 -  
1140 - <step>  
1141 - <name>&#x83b7;&#x53d6;&#x65f6;&#x523b;&#x8868;id</name>  
1142 - <type>GetVariable</type>  
1143 - <description/>  
1144 - <distribute>Y</distribute>  
1145 - <custom_distribution/>  
1146 - <copies>1</copies>  
1147 - <partitioning>  
1148 - <method>none</method>  
1149 - <schema_name/>  
1150 - </partitioning>  
1151 - <fields>  
1152 - <field>  
1153 - <name>ttid_</name>  
1154 - <variable>&#x24;&#x7b;ttid&#x7d;</variable>  
1155 - <type>Integer</type>  
1156 - <format/>  
1157 - <currency/>  
1158 - <decimal/>  
1159 - <group/>  
1160 - <length>-1</length>  
1161 - <precision>-1</precision>  
1162 - <trim_type>none</trim_type>  
1163 - </field>  
1164 - </fields>  
1165 - <cluster_schema/>  
1166 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1167 - <xloc>608</xloc>  
1168 - <yloc>16</yloc>  
1169 - <draw>Y</draw>  
1170 - </GUI>  
1171 - </step>  
1172 -  
1173 - <step>  
1174 - <name>&#x83b7;&#x53d6;&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;</name>  
1175 - <type>GetVariable</type>  
1176 - <description/>  
1177 - <distribute>Y</distribute>  
1178 - <custom_distribution/>  
1179 - <copies>1</copies>  
1180 - <partitioning>  
1181 - <method>none</method>  
1182 - <schema_name/>  
1183 - </partitioning>  
1184 - <fields>  
1185 - <field>  
1186 - <name>ttinfoname_</name>  
1187 - <variable>&#x24;&#x7b;ttinfoname&#x7d;</variable>  
1188 - <type>String</type>  
1189 - <format/>  
1190 - <currency/>  
1191 - <decimal/>  
1192 - <group/>  
1193 - <length>-1</length>  
1194 - <precision>-1</precision>  
1195 - <trim_type>none</trim_type>  
1196 - </field>  
1197 - </fields>  
1198 - <cluster_schema/>  
1199 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1200 - <xloc>474</xloc>  
1201 - <yloc>601</yloc>  
1202 - <draw>Y</draw>  
1203 - </GUI>  
1204 - </step>  
1205 -  
1206 - <step>  
1207 - <name>&#x83b7;&#x53d6;&#x7ebf;&#x8def;&#x540d;&#x79f0;</name>  
1208 - <type>GetVariable</type>  
1209 - <description/>  
1210 - <distribute>Y</distribute>  
1211 - <custom_distribution/>  
1212 - <copies>1</copies>  
1213 - <partitioning>  
1214 - <method>none</method>  
1215 - <schema_name/>  
1216 - </partitioning>  
1217 - <fields>  
1218 - <field>  
1219 - <name>xlname_</name>  
1220 - <variable>&#x24;&#x7b;xlname&#x7d;</variable>  
1221 - <type>String</type>  
1222 - <format/>  
1223 - <currency/>  
1224 - <decimal/>  
1225 - <group/>  
1226 - <length>-1</length>  
1227 - <precision>-1</precision>  
1228 - <trim_type>none</trim_type>  
1229 - </field>  
1230 - </fields>  
1231 - <cluster_schema/>  
1232 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1233 - <xloc>184</xloc>  
1234 - <yloc>342</yloc>  
1235 - <draw>Y</draw>  
1236 - </GUI>  
1237 - </step>  
1238 -  
1239 - <step>  
1240 - <name>&#x9017;&#x53f7;&#x5207;&#x5206;&#x6210;&#x5b57;&#x6bb5;&#x540d;</name>  
1241 - <type>SplitFieldToRows3</type>  
1242 - <description/>  
1243 - <distribute>Y</distribute>  
1244 - <custom_distribution/>  
1245 - <copies>1</copies>  
1246 - <partitioning>  
1247 - <method>none</method>  
1248 - <schema_name/>  
1249 - </partitioning>  
1250 - <splitfield>fieldnames</splitfield>  
1251 - <delimiter>,</delimiter>  
1252 - <newfield>fieldname</newfield>  
1253 - <rownum>N</rownum>  
1254 - <rownum_field/>  
1255 - <resetrownumber>Y</resetrownumber>  
1256 - <delimiter_is_regex>N</delimiter_is_regex>  
1257 - <cluster_schema/>  
1258 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1259 - <xloc>442</xloc>  
1260 - <yloc>153</yloc>  
1261 - <draw>Y</draw>  
1262 - </GUI>  
1263 - </step>  
1264 -  
1265 - <step>  
1266 - <name>&#x9017;&#x53f7;&#x5207;&#x5206;&#x6210;&#x5b57;&#x6bb5;&#x540d; 2</name>  
1267 - <type>SplitFieldToRows3</type>  
1268 - <description/>  
1269 - <distribute>Y</distribute>  
1270 - <custom_distribution/>  
1271 - <copies>1</copies>  
1272 - <partitioning>  
1273 - <method>none</method>  
1274 - <schema_name/>  
1275 - </partitioning>  
1276 - <splitfield>normalizefieldnames_</splitfield>  
1277 - <delimiter>,</delimiter>  
1278 - <newfield>nfieldname</newfield>  
1279 - <rownum>N</rownum>  
1280 - <rownum_field/>  
1281 - <resetrownumber>Y</resetrownumber>  
1282 - <delimiter_is_regex>N</delimiter_is_regex>  
1283 - <cluster_schema/>  
1284 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1285 - <xloc>444</xloc>  
1286 - <yloc>247</yloc>  
1287 - <draw>Y</draw>  
1288 - </GUI>  
1289 - </step>  
1290 -  
1291 - <step>  
1292 - <name>&#x83b7;&#x53d6;&#x7ebf;&#x8def;&#x6807;&#x51c6;id</name>  
1293 - <type>GetVariable</type>  
1294 - <description/>  
1295 - <distribute>Y</distribute>  
1296 - <custom_distribution/>  
1297 - <copies>1</copies>  
1298 - <partitioning>  
1299 - <method>none</method>  
1300 - <schema_name/>  
1301 - </partitioning>  
1302 - <fields>  
1303 - <field>  
1304 - <name>lineinfoid_</name>  
1305 - <variable>&#x24;&#x7b;lineinfoid&#x7d;</variable>  
1306 - <type>Integer</type>  
1307 - <format/>  
1308 - <currency/>  
1309 - <decimal/>  
1310 - <group/>  
1311 - <length>-1</length>  
1312 - <precision>-1</precision>  
1313 - <trim_type>none</trim_type>  
1314 - </field>  
1315 - </fields>  
1316 - <cluster_schema/>  
1317 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1318 - <xloc>74</xloc>  
1319 - <yloc>468</yloc>  
1320 - <draw>Y</draw>  
1321 - </GUI>  
1322 - </step>  
1323 -  
1324 - <step>  
1325 - <name>&#x505c;&#x8f66;&#x573a;&#x7f16;&#x7801;</name>  
1326 - <type>DBLookup</type>  
1327 - <description/>  
1328 - <distribute>Y</distribute>  
1329 - <custom_distribution/>  
1330 - <copies>1</copies>  
1331 - <partitioning>  
1332 - <method>none</method>  
1333 - <schema_name/>  
1334 - </partitioning>  
1335 - <connection>bus_control_variable</connection>  
1336 - <cache>N</cache>  
1337 - <cache_load_all>N</cache_load_all>  
1338 - <cache_size>0</cache_size>  
1339 - <lookup>  
1340 - <schema/>  
1341 - <table>bsth_c_line_information</table>  
1342 - <orderby/>  
1343 - <fail_on_multiple>N</fail_on_multiple>  
1344 - <eat_row_on_failure>N</eat_row_on_failure>  
1345 - <key>  
1346 - <name>lineinfoid_</name>  
1347 - <field>id</field>  
1348 - <condition>&#x3d;</condition>  
1349 - <name2/>  
1350 - </key>  
1351 - <value>  
1352 - <name>car_park</name>  
1353 - <rename>car_park</rename>  
1354 - <default/>  
1355 - <type>String</type>  
1356 - </value>  
1357 - </lookup>  
1358 - <cluster_schema/>  
1359 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1360 - <xloc>182</xloc>  
1361 - <yloc>467</yloc>  
1362 - <draw>Y</draw>  
1363 - </GUI>  
1364 - </step>  
1365 -  
1366 - <step>  
1367 - <name>&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;</name>  
1368 - <type>DBLookup</type>  
1369 - <description/>  
1370 - <distribute>Y</distribute>  
1371 - <custom_distribution/>  
1372 - <copies>1</copies>  
1373 - <partitioning>  
1374 - <method>none</method>  
1375 - <schema_name/>  
1376 - </partitioning>  
1377 - <connection>bus_control_variable</connection>  
1378 - <cache>N</cache>  
1379 - <cache_load_all>N</cache_load_all>  
1380 - <cache_size>0</cache_size>  
1381 - <lookup>  
1382 - <schema/>  
1383 - <table>bsth_c_car_park</table>  
1384 - <orderby/>  
1385 - <fail_on_multiple>N</fail_on_multiple>  
1386 - <eat_row_on_failure>N</eat_row_on_failure>  
1387 - <key>  
1388 - <name>car_park</name>  
1389 - <field>park_code</field>  
1390 - <condition>&#x3d;</condition>  
1391 - <name2/>  
1392 - </key>  
1393 - <value>  
1394 - <name>park_name</name>  
1395 - <rename>tccname_</rename>  
1396 - <default/>  
1397 - <type>String</type>  
1398 - </value>  
1399 - </lookup>  
1400 - <cluster_schema/>  
1401 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1402 - <xloc>319</xloc>  
1403 - <yloc>468</yloc>  
1404 - <draw>Y</draw>  
1405 - </GUI>  
1406 - </step>  
1407 -  
1408 - <step_error_handling>  
1409 - </step_error_handling>  
1410 - <slave-step-copy-partition-distribution>  
1411 -</slave-step-copy-partition-distribution>  
1412 - <slave_transformation>N</slave_transformation>  
1413 -  
1414 -</transformation> 1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<transformation>
  3 + <info>
  4 + <name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x5bfc;&#x5165;&#x5143;&#x6570;&#x636e;</name>
  5 + <description/>
  6 + <extended_description/>
  7 + <trans_version/>
  8 + <trans_type>Normal</trans_type>
  9 + <trans_status>0</trans_status>
  10 + <directory>&#x2f;</directory>
  11 + <parameters>
  12 + <parameter>
  13 + <name>erroroutputdir</name>
  14 + <default_value>&#x2f;Users&#x2f;xu&#x2f;resource&#x2f;project_code&#x2f;runtime_temp&#x2f;bsth_control_u_d_files&#x2f;erroroutput</default_value>
  15 + <description>ktr step&#x914d;&#x7f6e;&#x7684;&#x9519;&#x8bef;&#x8f93;&#x51fa;&#x76ee;&#x5f55;</description>
  16 + </parameter>
  17 + <parameter>
  18 + <name>excelfieldnames</name>
  19 + <default_value>&#x8def;&#x724c;,&#x51fa;&#x573a;,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;1,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;1,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;2,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;2,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;3,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;3,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;4,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;4,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;5,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;5,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;6,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;6,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;7,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;7,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;8,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;8,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;9,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;9,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;10,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;10,&#x8fdb;&#x573a;</default_value>
  20 + <description>&#x65f6;&#x523b;&#x8868;excel&#x8f93;&#x5165;&#x5b57;&#x6bb5;&#x540d;&#xff0c;&#x4ee5;&#x9017;&#x53f7;&#x8fde;&#x63a5;</description>
  21 + </parameter>
  22 + <parameter>
  23 + <name>filepath</name>
  24 + <default_value>&#x2f;Users&#x2f;xu&#x2f;resource&#x2f;project_code&#x2f;bsth_project&#x2f;bsth_control_etl&#x2f;&#x95f5;&#x884c;&#x516c;&#x4ea4;&#x2f;&#x95f5;&#x884c;26&#x8def;&#x65f6;&#x523b;&#x8868;160630&#x65f6;&#x523b;&#x8868;.xls</default_value>
  25 + <description>&#x5f85;&#x5904;&#x7406;&#x5bfc;&#x5165;&#x7684;excel&#x6587;&#x4ef6;</description>
  26 + </parameter>
  27 + <parameter>
  28 + <name>injectktrfile</name>
  29 + <default_value>&#x2f;Users&#x2f;xu&#x2f;resource&#x2f;project_code&#x2f;bsth_project&#x2f;bsth_control_parent&#x2f;bsth_control&#x2f;src&#x2f;main&#x2f;resources&#x2f;datatools&#x2f;ktrs&#x2f;ttinfodetailDataInput.ktr</default_value>
  30 + <description>&#x6ce8;&#x5165;&#x5143;&#x6570;&#x636e;&#x7684;ktr&#x6587;&#x4ef6;</description>
  31 + </parameter>
  32 + <parameter>
  33 + <name>lineinfoid</name>
  34 + <default_value>1000</default_value>
  35 + <description>&#x7ebf;&#x8def;&#x6807;&#x51c6;id</description>
  36 + </parameter>
  37 + <parameter>
  38 + <name>normalizefieldnames</name>
  39 + <default_value>&#x51fa;&#x573a;,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;1,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;1,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;2,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;2,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;3,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;3,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;4,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;4,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;5,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;5,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;6,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;6,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;7,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;7,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;8,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;8,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;9,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;9,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;10,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;10,&#x8fdb;&#x573a;</default_value>
  40 + <description>&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;&#x5b57;&#x6bb5;&#x540d;&#xff0c;&#x4ee5;&#x9017;&#x53f7;&#x8fde;&#x63a5;</description>
  41 + </parameter>
  42 + <parameter>
  43 + <name>sheetname</name>
  44 + <default_value>&#x5de5;&#x4f5c;&#x8868;1</default_value>
  45 + <description>xls sheet&#x540d;&#x5b57;</description>
  46 + </parameter>
  47 + <parameter>
  48 + <name>tccname</name>
  49 + <default_value>&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;&#x505c;&#x8f66;&#x573a;</default_value>
  50 + <description>&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</description>
  51 + </parameter>
  52 + <parameter>
  53 + <name>ttid</name>
  54 + <default_value>1</default_value>
  55 + <description>&#x65f6;&#x523b;&#x8868;id</description>
  56 + </parameter>
  57 + <parameter>
  58 + <name>ttinfoname</name>
  59 + <default_value>&#x8868;2</default_value>
  60 + <description>&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;</description>
  61 + </parameter>
  62 + <parameter>
  63 + <name>xlname</name>
  64 + <default_value>&#x95f5;&#x884c;26&#x8def;</default_value>
  65 + <description>&#x7ebf;&#x8def;&#x540d;&#x79f0;</description>
  66 + </parameter>
  67 + </parameters>
  68 + <log>
  69 +<trans-log-table><connection/>
  70 +<schema/>
  71 +<table/>
  72 +<size_limit_lines/>
  73 +<interval/>
  74 +<timeout_days/>
  75 +<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>
  76 +<perf-log-table><connection/>
  77 +<schema/>
  78 +<table/>
  79 +<interval/>
  80 +<timeout_days/>
  81 +<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>
  82 +<channel-log-table><connection/>
  83 +<schema/>
  84 +<table/>
  85 +<timeout_days/>
  86 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>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>
  87 +<step-log-table><connection/>
  88 +<schema/>
  89 +<table/>
  90 +<timeout_days/>
  91 +<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>
  92 +<metrics-log-table><connection/>
  93 +<schema/>
  94 +<table/>
  95 +<timeout_days/>
  96 +<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>
  97 + </log>
  98 + <maxdate>
  99 + <connection/>
  100 + <table/>
  101 + <field/>
  102 + <offset>0.0</offset>
  103 + <maxdiff>0.0</maxdiff>
  104 + </maxdate>
  105 + <size_rowset>10000</size_rowset>
  106 + <sleep_time_empty>50</sleep_time_empty>
  107 + <sleep_time_full>50</sleep_time_full>
  108 + <unique_connections>N</unique_connections>
  109 + <feedback_shown>Y</feedback_shown>
  110 + <feedback_size>50000</feedback_size>
  111 + <using_thread_priorities>Y</using_thread_priorities>
  112 + <shared_objects_file/>
  113 + <capture_step_performance>N</capture_step_performance>
  114 + <step_performance_capturing_delay>1000</step_performance_capturing_delay>
  115 + <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit>
  116 + <dependencies>
  117 + </dependencies>
  118 + <partitionschemas>
  119 + </partitionschemas>
  120 + <slaveservers>
  121 + </slaveservers>
  122 + <clusterschemas>
  123 + </clusterschemas>
  124 + <created_user>-</created_user>
  125 + <created_date>2016&#x2f;07&#x2f;01 09&#x3a;55&#x3a;32.649</created_date>
  126 + <modified_user>-</modified_user>
  127 + <modified_date>2016&#x2f;07&#x2f;01 09&#x3a;55&#x3a;32.649</modified_date>
  128 + <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</key_for_session_key>
  129 + <is_key_private>N</is_key_private>
  130 + </info>
  131 + <notepads>
  132 + </notepads>
  133 + <connection>
  134 + <name>192.168.168.1_jwgl_dw</name>
  135 + <server>192.168.168.1</server>
  136 + <type>ORACLE</type>
  137 + <access>Native</access>
  138 + <database>orcl</database>
  139 + <port>1521</port>
  140 + <username>jwgl_dw</username>
  141 + <password>Encrypted 2be98afc86aa7f2e4cb13b977d2adabcd</password>
  142 + <servername/>
  143 + <data_tablespace/>
  144 + <index_tablespace/>
  145 + <attributes>
  146 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  147 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  148 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  149 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  150 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  151 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  152 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  153 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  154 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  155 + </attributes>
  156 + </connection>
  157 + <connection>
  158 + <name>bus_control_variable</name>
  159 + <server>&#x24;&#x7b;v_db_ip&#x7d;</server>
  160 + <type>MYSQL</type>
  161 + <access>Native</access>
  162 + <database>&#x24;&#x7b;v_db_dname&#x7d;</database>
  163 + <port>3306</port>
  164 + <username>&#x24;&#x7b;v_db_uname&#x7d;</username>
  165 + <password>&#x24;&#x7b;v_db_pwd&#x7d;</password>
  166 + <servername/>
  167 + <data_tablespace/>
  168 + <index_tablespace/>
  169 + <attributes>
  170 + <attribute><code>EXTRA_OPTION_MYSQL.characterEncoding</code><attribute>utf8</attribute></attribute>
  171 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  172 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  173 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  174 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  175 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  176 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  177 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  178 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  179 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  180 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  181 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  182 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  183 + </attributes>
  184 + </connection>
  185 + <connection>
  186 + <name>bus_control_&#x516c;&#x53f8;_201</name>
  187 + <server>localhost</server>
  188 + <type>MYSQL</type>
  189 + <access>Native</access>
  190 + <database>control</database>
  191 + <port>3306</port>
  192 + <username>root</username>
  193 + <password>Encrypted </password>
  194 + <servername/>
  195 + <data_tablespace/>
  196 + <index_tablespace/>
  197 + <attributes>
  198 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  199 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  200 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  201 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  202 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  203 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  204 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  205 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  206 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  207 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  208 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  209 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  210 + </attributes>
  211 + </connection>
  212 + <connection>
  213 + <name>bus_control_&#x672c;&#x673a;</name>
  214 + <server>localhost</server>
  215 + <type>MYSQL</type>
  216 + <access>Native</access>
  217 + <database>control</database>
  218 + <port>3306</port>
  219 + <username>root</username>
  220 + <password>Encrypted </password>
  221 + <servername/>
  222 + <data_tablespace/>
  223 + <index_tablespace/>
  224 + <attributes>
  225 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  226 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  227 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  228 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  229 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  230 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  231 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  232 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  233 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  234 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  235 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  236 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  237 + </attributes>
  238 + </connection>
  239 + <connection>
  240 + <name>xlab_mysql_youle</name>
  241 + <server>101.231.124.8</server>
  242 + <type>MYSQL</type>
  243 + <access>Native</access>
  244 + <database>xlab_youle</database>
  245 + <port>45687</port>
  246 + <username>xlab-youle</username>
  247 + <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password>
  248 + <servername/>
  249 + <data_tablespace/>
  250 + <index_tablespace/>
  251 + <attributes>
  252 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  253 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  254 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  255 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  256 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  257 + <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute>
  258 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  259 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  260 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  261 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  262 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  263 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  264 + </attributes>
  265 + </connection>
  266 + <connection>
  267 + <name>xlab_mysql_youle&#xff08;&#x672c;&#x673a;&#xff09;</name>
  268 + <server>localhost</server>
  269 + <type>MYSQL</type>
  270 + <access>Native</access>
  271 + <database>xlab_youle</database>
  272 + <port>3306</port>
  273 + <username>root</username>
  274 + <password>Encrypted </password>
  275 + <servername/>
  276 + <data_tablespace/>
  277 + <index_tablespace/>
  278 + <attributes>
  279 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  280 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  281 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  282 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  283 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  284 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  285 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  286 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  287 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  288 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  289 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  290 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  291 + </attributes>
  292 + </connection>
  293 + <connection>
  294 + <name>xlab_youle</name>
  295 + <server/>
  296 + <type>MYSQL</type>
  297 + <access>JNDI</access>
  298 + <database>xlab_youle</database>
  299 + <port>1521</port>
  300 + <username/>
  301 + <password>Encrypted </password>
  302 + <servername/>
  303 + <data_tablespace/>
  304 + <index_tablespace/>
  305 + <attributes>
  306 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  307 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  308 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  309 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  310 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  311 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  312 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  313 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  314 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  315 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  316 + </attributes>
  317 + </connection>
  318 + <order>
  319 + <hop> <from>&#x83b7;&#x53d6;excel&#x6587;&#x4ef6;&#x540d;</from><to>ETL&#x5143;&#x6570;&#x636e;&#x6ce8;&#x5165;</to><enabled>Y</enabled> </hop>
  320 + <hop> <from>&#x83b7;&#x53d6;excel&#x5b57;&#x6bb5;&#x540d;&#x5b57;&#x7b26;&#x4e32;</from><to>&#x9017;&#x53f7;&#x5207;&#x5206;&#x6210;&#x5b57;&#x6bb5;&#x540d;</to><enabled>Y</enabled> </hop>
  321 + <hop> <from>&#x9017;&#x53f7;&#x5207;&#x5206;&#x6210;&#x5b57;&#x6bb5;&#x540d;</from><to>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
  322 + <hop> <from>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</from><to>ETL&#x5143;&#x6570;&#x636e;&#x6ce8;&#x5165;</to><enabled>Y</enabled> </hop>
  323 + <hop> <from>&#x83b7;&#x53d6;normalize&#x5b57;&#x6bb5;&#x540d;&#x5b57;&#x7b26;&#x4e32;</from><to>&#x9017;&#x53f7;&#x5207;&#x5206;&#x6210;&#x5b57;&#x6bb5;&#x540d; 2</to><enabled>Y</enabled> </hop>
  324 + <hop> <from>&#x9017;&#x53f7;&#x5207;&#x5206;&#x6210;&#x5b57;&#x6bb5;&#x540d; 2</from><to>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
  325 + <hop> <from>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</from><to>ETL&#x5143;&#x6570;&#x636e;&#x6ce8;&#x5165;</to><enabled>Y</enabled> </hop>
  326 + <hop> <from>&#x83b7;&#x53d6;&#x7ebf;&#x8def;&#x540d;&#x79f0;</from><to>&#x589e;&#x52a0;&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata</to><enabled>Y</enabled> </hop>
  327 + <hop> <from>&#x589e;&#x52a0;&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata</from><to>&#x66ff;&#x6362;&#x7ebf;&#x8def;&#x540d;&#x79f0;</to><enabled>Y</enabled> </hop>
  328 + <hop> <from>&#x66ff;&#x6362;&#x7ebf;&#x8def;&#x540d;&#x79f0;</from><to>&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</to><enabled>Y</enabled> </hop>
  329 + <hop> <from>&#x589e;&#x52a0;&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata</from><to>&#x66ff;&#x6362;&#x505c;&#x8f66;&#x5382;&#x540d;&#x5b57; </to><enabled>Y</enabled> </hop>
  330 + <hop> <from>&#x66ff;&#x6362;&#x505c;&#x8f66;&#x5382;&#x540d;&#x5b57; </from><to>&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</to><enabled>Y</enabled> </hop>
  331 + <hop> <from>&#x83b7;&#x53d6;&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;</from><to>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;metadata</to><enabled>Y</enabled> </hop>
  332 + <hop> <from>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;metadata</from><to>&#x66ff;&#x6362;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;</to><enabled>Y</enabled> </hop>
  333 + <hop> <from>&#x66ff;&#x6362;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;</from><to>&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</to><enabled>Y</enabled> </hop>
  334 + <hop> <from>&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</from><to>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</to><enabled>Y</enabled> </hop>
  335 + <hop> <from>&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</from><to>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</to><enabled>Y</enabled> </hop>
  336 + <hop> <from>&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</from><to>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</to><enabled>Y</enabled> </hop>
  337 + <hop> <from>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</from><to>ETL&#x5143;&#x6570;&#x636e;&#x6ce8;&#x5165;</to><enabled>Y</enabled> </hop>
  338 + <hop> <from>&#x83b7;&#x53d6;&#x65f6;&#x523b;&#x8868;id</from><to>&#x5220;&#x9664;&#x4e4b;&#x524d;&#x7684;&#x660e;&#x7ec6;&#x4fe1;&#x606f;</to><enabled>Y</enabled> </hop>
  339 + <hop> <from>&#x83b7;&#x53d6;&#x7ebf;&#x8def;&#x6807;&#x51c6;id</from><to>&#x505c;&#x8f66;&#x573a;&#x7f16;&#x7801;</to><enabled>Y</enabled> </hop>
  340 + <hop> <from>&#x505c;&#x8f66;&#x573a;&#x7f16;&#x7801;</from><to>&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;</to><enabled>Y</enabled> </hop>
  341 + <hop> <from>&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;</from><to>&#x589e;&#x52a0;&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata</to><enabled>Y</enabled> </hop>
  342 + </order>
  343 + <step>
  344 + <name>ETL&#x5143;&#x6570;&#x636e;&#x6ce8;&#x5165;</name>
  345 + <type>MetaInject</type>
  346 + <description/>
  347 + <distribute>Y</distribute>
  348 + <custom_distribution/>
  349 + <copies>1</copies>
  350 + <partitioning>
  351 + <method>none</method>
  352 + <schema_name/>
  353 + </partitioning>
  354 + <specification_method>filename</specification_method>
  355 + <trans_object_id/>
  356 + <trans_name/>
  357 + <filename>&#x24;&#x7b;injectktrfile&#x7d;</filename>
  358 + <directory_path/>
  359 + <source_step/>
  360 + <source_output_fields> </source_output_fields> <target_file/>
  361 + <no_execution>N</no_execution>
  362 + <stream_source_step/>
  363 + <stream_target_step/>
  364 + <mappings> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>
  365 + <target_attribute_key>FORMAT</target_attribute_key>
  366 + <target_detail>Y</target_detail>
  367 + <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>
  368 + <source_field>format</source_field>
  369 + </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>
  370 + <target_attribute_key>REPEAT</target_attribute_key>
  371 + <target_detail>Y</target_detail>
  372 + <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>
  373 + <source_field>repeat</source_field>
  374 + </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>
  375 + <target_attribute_key>TRIM_TYPE</target_attribute_key>
  376 + <target_detail>Y</target_detail>
  377 + <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>
  378 + <source_field>trim_type</source_field>
  379 + </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>
  380 + <target_attribute_key>FILENAME</target_attribute_key>
  381 + <target_detail>Y</target_detail>
  382 + <source_step>&#x83b7;&#x53d6;excel&#x6587;&#x4ef6;&#x540d;</source_step>
  383 + <source_field>filepath_</source_field>
  384 + </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>
  385 + <target_attribute_key>PRECISION</target_attribute_key>
  386 + <target_detail>Y</target_detail>
  387 + <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>
  388 + <source_field>precision</source_field>
  389 + </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>
  390 + <target_attribute_key>TYPE</target_attribute_key>
  391 + <target_detail>Y</target_detail>
  392 + <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>
  393 + <source_field>type</source_field>
  394 + </mapping> <mapping> <target_step_name>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;&#xff0c;&#x7ebf;&#x8def;&#x540d;&#x5b57;&#xff0c;&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</target_step_name>
  395 + <target_attribute_key>DATA_VALUE</target_attribute_key>
  396 + <target_detail>Y</target_detail>
  397 + <source_step>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</source_step>
  398 + <source_field>col_value</source_field>
  399 + </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>
  400 + <target_attribute_key>LENGTH</target_attribute_key>
  401 + <target_detail>Y</target_detail>
  402 + <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>
  403 + <source_field>length</source_field>
  404 + </mapping> <mapping> <target_step_name>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;&#xff0c;&#x7ebf;&#x8def;&#x540d;&#x5b57;&#xff0c;&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</target_step_name>
  405 + <target_attribute_key>TYPE</target_attribute_key>
  406 + <target_detail>Y</target_detail>
  407 + <source_step>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</source_step>
  408 + <source_field>col_type</source_field>
  409 + </mapping> <mapping> <target_step_name>&#x884c;&#x8f6c;&#x5217;</target_step_name>
  410 + <target_attribute_key>NAME</target_attribute_key>
  411 + <target_detail>Y</target_detail>
  412 + <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c; 2</source_step>
  413 + <source_field>fieldName</source_field>
  414 + </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>
  415 + <target_attribute_key>NAME</target_attribute_key>
  416 + <target_detail>Y</target_detail>
  417 + <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>
  418 + <source_field>fieldname</source_field>
  419 + </mapping> <mapping> <target_step_name>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</target_step_name>
  420 + <target_attribute_key>NAME</target_attribute_key>
  421 + <target_detail>Y</target_detail>
  422 + <source_step>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</source_step>
  423 + <source_field>nfieldname</source_field>
  424 + </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>
  425 + <target_attribute_key>SHEET_NAME</target_attribute_key>
  426 + <target_detail>Y</target_detail>
  427 + <source_step>&#x83b7;&#x53d6;excel&#x6587;&#x4ef6;&#x540d;</source_step>
  428 + <source_field>sheetname_</source_field>
  429 + </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>
  430 + <target_attribute_key>LENGTH</target_attribute_key>
  431 + <target_detail>Y</target_detail>
  432 + <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>
  433 + <source_field>length</source_field>
  434 + </mapping> <mapping> <target_step_name>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;&#xff0c;&#x7ebf;&#x8def;&#x540d;&#x5b57;&#xff0c;&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</target_step_name>
  435 + <target_attribute_key>NAME</target_attribute_key>
  436 + <target_detail>Y</target_detail>
  437 + <source_step>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</source_step>
  438 + <source_field>col_name</source_field>
  439 + </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>
  440 + <target_attribute_key>TYPE</target_attribute_key>
  441 + <target_detail>Y</target_detail>
  442 + <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>
  443 + <source_field>fieldtype</source_field>
  444 + </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>
  445 + <target_attribute_key>NAME</target_attribute_key>
  446 + <target_detail>Y</target_detail>
  447 + <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>
  448 + <source_field>fieldName</source_field>
  449 + </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>
  450 + <target_attribute_key>TRIM_TYPE</target_attribute_key>
  451 + <target_detail>Y</target_detail>
  452 + <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>
  453 + <source_field>trim_type</source_field>
  454 + </mapping> <mapping> <target_step_name>&#x884c;&#x8f6c;&#x5217;</target_step_name>
  455 + <target_attribute_key>VALUE</target_attribute_key>
  456 + <target_detail>Y</target_detail>
  457 + <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c; 2</source_step>
  458 + <source_field>fieldName</source_field>
  459 + </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>
  460 + <target_attribute_key>REPEAT</target_attribute_key>
  461 + <target_detail>Y</target_detail>
  462 + <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>
  463 + <source_field>repeat</source_field>
  464 + </mapping> <mapping> <target_step_name>&#x884c;&#x8f6c;&#x5217;</target_step_name>
  465 + <target_attribute_key>NORMALISED</target_attribute_key>
  466 + <target_detail>Y</target_detail>
  467 + <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c; 2</source_step>
  468 + <source_field>value</source_field>
  469 + </mapping> <mapping> <target_step_name>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</target_step_name>
  470 + <target_attribute_key>NORMALISED</target_attribute_key>
  471 + <target_detail>Y</target_detail>
  472 + <source_step>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</source_step>
  473 + <source_field>valuefield</source_field>
  474 + </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>
  475 + <target_attribute_key>FORMAT</target_attribute_key>
  476 + <target_detail>Y</target_detail>
  477 + <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>
  478 + <source_field>format</source_field>
  479 + </mapping> <mapping> <target_step_name>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</target_step_name>
  480 + <target_attribute_key>VALUE</target_attribute_key>
  481 + <target_detail>Y</target_detail>
  482 + <source_step>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</source_step>
  483 + <source_field>nfieldname</source_field>
  484 + </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>
  485 + <target_attribute_key>PRECISION</target_attribute_key>
  486 + <target_detail>Y</target_detail>
  487 + <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>
  488 + <source_field>precision</source_field>
  489 + </mapping> </mappings> <cluster_schema/>
  490 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  491 + <xloc>876</xloc>
  492 + <yloc>167</yloc>
  493 + <draw>Y</draw>
  494 + </GUI>
  495 + </step>
  496 +
  497 + <step>
  498 + <name>&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;</name>
  499 + <type>DBLookup</type>
  500 + <description/>
  501 + <distribute>Y</distribute>
  502 + <custom_distribution/>
  503 + <copies>1</copies>
  504 + <partitioning>
  505 + <method>none</method>
  506 + <schema_name/>
  507 + </partitioning>
  508 + <connection>bus_control_variable</connection>
  509 + <cache>N</cache>
  510 + <cache_load_all>N</cache_load_all>
  511 + <cache_size>0</cache_size>
  512 + <lookup>
  513 + <schema/>
  514 + <table>bsth_c_car_park</table>
  515 + <orderby/>
  516 + <fail_on_multiple>N</fail_on_multiple>
  517 + <eat_row_on_failure>N</eat_row_on_failure>
  518 + <key>
  519 + <name>car_park</name>
  520 + <field>park_code</field>
  521 + <condition>&#x3d;</condition>
  522 + <name2/>
  523 + </key>
  524 + <value>
  525 + <name>park_name</name>
  526 + <rename>tccname_</rename>
  527 + <default/>
  528 + <type>String</type>
  529 + </value>
  530 + </lookup>
  531 + <cluster_schema/>
  532 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  533 + <xloc>319</xloc>
  534 + <yloc>468</yloc>
  535 + <draw>Y</draw>
  536 + </GUI>
  537 + </step>
  538 +
  539 + <step>
  540 + <name>&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</name>
  541 + <type>SelectValues</type>
  542 + <description/>
  543 + <distribute>Y</distribute>
  544 + <custom_distribution/>
  545 + <copies>1</copies>
  546 + <partitioning>
  547 + <method>none</method>
  548 + <schema_name/>
  549 + </partitioning>
  550 + <fields> <field> <name>col_name</name>
  551 + <rename/>
  552 + <length>-2</length>
  553 + <precision>-2</precision>
  554 + </field> <field> <name>col_type</name>
  555 + <rename/>
  556 + <length>-2</length>
  557 + <precision>-2</precision>
  558 + </field> <field> <name>col_value</name>
  559 + <rename/>
  560 + <length>-2</length>
  561 + <precision>-2</precision>
  562 + </field> <select_unspecified>N</select_unspecified>
  563 + </fields> <cluster_schema/>
  564 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  565 + <xloc>743</xloc>
  566 + <yloc>470</yloc>
  567 + <draw>Y</draw>
  568 + </GUI>
  569 + </step>
  570 +
  571 + <step>
  572 + <name>&#x505c;&#x8f66;&#x573a;&#x7f16;&#x7801;</name>
  573 + <type>DBLookup</type>
  574 + <description/>
  575 + <distribute>Y</distribute>
  576 + <custom_distribution/>
  577 + <copies>1</copies>
  578 + <partitioning>
  579 + <method>none</method>
  580 + <schema_name/>
  581 + </partitioning>
  582 + <connection>bus_control_variable</connection>
  583 + <cache>N</cache>
  584 + <cache_load_all>N</cache_load_all>
  585 + <cache_size>0</cache_size>
  586 + <lookup>
  587 + <schema/>
  588 + <table>bsth_c_line_information</table>
  589 + <orderby/>
  590 + <fail_on_multiple>N</fail_on_multiple>
  591 + <eat_row_on_failure>N</eat_row_on_failure>
  592 + <key>
  593 + <name>lineinfoid_</name>
  594 + <field>id</field>
  595 + <condition>&#x3d;</condition>
  596 + <name2/>
  597 + </key>
  598 + <value>
  599 + <name>car_park</name>
  600 + <rename>car_park</rename>
  601 + <default/>
  602 + <type>String</type>
  603 + </value>
  604 + </lookup>
  605 + <cluster_schema/>
  606 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  607 + <xloc>182</xloc>
  608 + <yloc>467</yloc>
  609 + <draw>Y</draw>
  610 + </GUI>
  611 + </step>
  612 +
  613 + <step>
  614 + <name>&#x5220;&#x9664;&#x4e4b;&#x524d;&#x7684;&#x660e;&#x7ec6;&#x4fe1;&#x606f;</name>
  615 + <type>ExecSQL</type>
  616 + <description/>
  617 + <distribute>Y</distribute>
  618 + <custom_distribution/>
  619 + <copies>1</copies>
  620 + <partitioning>
  621 + <method>none</method>
  622 + <schema_name/>
  623 + </partitioning>
  624 + <connection>bus_control_variable</connection>
  625 + <execute_each_row>Y</execute_each_row>
  626 + <single_statement>N</single_statement>
  627 + <replace_variables>N</replace_variables>
  628 + <quoteString>N</quoteString>
  629 + <sql>delete from bsth_c_s_ttinfo_detail where ttinfo &#x3d; &#x3f;</sql>
  630 + <set_params>N</set_params>
  631 + <insert_field/>
  632 + <update_field/>
  633 + <delete_field/>
  634 + <read_field/>
  635 + <arguments>
  636 + <argument><name>ttid_</name></argument>
  637 + </arguments>
  638 + <cluster_schema/>
  639 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  640 + <xloc>808</xloc>
  641 + <yloc>16</yloc>
  642 + <draw>Y</draw>
  643 + </GUI>
  644 + </step>
  645 +
  646 + <step>
  647 + <name>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</name>
  648 + <type>Dummy</type>
  649 + <description/>
  650 + <distribute>Y</distribute>
  651 + <custom_distribution/>
  652 + <copies>1</copies>
  653 + <partitioning>
  654 + <method>none</method>
  655 + <schema_name/>
  656 + </partitioning>
  657 + <cluster_schema/>
  658 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  659 + <xloc>883</xloc>
  660 + <yloc>373</yloc>
  661 + <draw>Y</draw>
  662 + </GUI>
  663 + </step>
  664 +
  665 + <step>
  666 + <name>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</name>
  667 + <type>Constant</type>
  668 + <description/>
  669 + <distribute>Y</distribute>
  670 + <custom_distribution/>
  671 + <copies>1</copies>
  672 + <partitioning>
  673 + <method>none</method>
  674 + <schema_name/>
  675 + </partitioning>
  676 + <fields>
  677 + <field>
  678 + <name>fieldtype</name>
  679 + <type>String</type>
  680 + <format/>
  681 + <currency/>
  682 + <decimal/>
  683 + <group/>
  684 + <nullif>String</nullif>
  685 + <length>-1</length>
  686 + <precision>-1</precision>
  687 + <set_empty_string>N</set_empty_string>
  688 + </field>
  689 + <field>
  690 + <name>length</name>
  691 + <type>String</type>
  692 + <format/>
  693 + <currency/>
  694 + <decimal/>
  695 + <group/>
  696 + <nullif>-1</nullif>
  697 + <length>-1</length>
  698 + <precision>-1</precision>
  699 + <set_empty_string>N</set_empty_string>
  700 + </field>
  701 + <field>
  702 + <name>precision</name>
  703 + <type>String</type>
  704 + <format/>
  705 + <currency/>
  706 + <decimal/>
  707 + <group/>
  708 + <nullif>-1</nullif>
  709 + <length>-1</length>
  710 + <precision>-1</precision>
  711 + <set_empty_string>N</set_empty_string>
  712 + </field>
  713 + <field>
  714 + <name>trim_type</name>
  715 + <type>String</type>
  716 + <format/>
  717 + <currency/>
  718 + <decimal/>
  719 + <group/>
  720 + <nullif>none</nullif>
  721 + <length>-1</length>
  722 + <precision>-1</precision>
  723 + <set_empty_string>N</set_empty_string>
  724 + </field>
  725 + <field>
  726 + <name>repeat</name>
  727 + <type>String</type>
  728 + <format/>
  729 + <currency/>
  730 + <decimal/>
  731 + <group/>
  732 + <nullif>N</nullif>
  733 + <length>-1</length>
  734 + <precision>-1</precision>
  735 + <set_empty_string>N</set_empty_string>
  736 + </field>
  737 + <field>
  738 + <name>format</name>
  739 + <type>String</type>
  740 + <format/>
  741 + <currency/>
  742 + <decimal/>
  743 + <group/>
  744 + <nullif>&#x23;</nullif>
  745 + <length>-1</length>
  746 + <precision>-1</precision>
  747 + <set_empty_string>N</set_empty_string>
  748 + </field>
  749 + </fields>
  750 + <cluster_schema/>
  751 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  752 + <xloc>622</xloc>
  753 + <yloc>162</yloc>
  754 + <draw>Y</draw>
  755 + </GUI>
  756 + </step>
  757 +
  758 + <step>
  759 + <name>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</name>
  760 + <type>Constant</type>
  761 + <description/>
  762 + <distribute>Y</distribute>
  763 + <custom_distribution/>
  764 + <copies>1</copies>
  765 + <partitioning>
  766 + <method>none</method>
  767 + <schema_name/>
  768 + </partitioning>
  769 + <fields>
  770 + <field>
  771 + <name>valuefield</name>
  772 + <type>String</type>
  773 + <format/>
  774 + <currency/>
  775 + <decimal/>
  776 + <group/>
  777 + <nullif>&#x53d1;&#x8f66;&#x65f6;&#x95f4;</nullif>
  778 + <length>-1</length>
  779 + <precision>-1</precision>
  780 + <set_empty_string>N</set_empty_string>
  781 + </field>
  782 + </fields>
  783 + <cluster_schema/>
  784 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  785 + <xloc>628</xloc>
  786 + <yloc>247</yloc>
  787 + <draw>Y</draw>
  788 + </GUI>
  789 + </step>
  790 +
  791 + <step>
  792 + <name>&#x589e;&#x52a0;&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata</name>
  793 + <type>Constant</type>
  794 + <description/>
  795 + <distribute>Y</distribute>
  796 + <custom_distribution/>
  797 + <copies>1</copies>
  798 + <partitioning>
  799 + <method>none</method>
  800 + <schema_name/>
  801 + </partitioning>
  802 + <fields>
  803 + <field>
  804 + <name>col_name</name>
  805 + <type>String</type>
  806 + <format/>
  807 + <currency/>
  808 + <decimal/>
  809 + <group/>
  810 + <nullif>tccname_</nullif>
  811 + <length>-1</length>
  812 + <precision>-1</precision>
  813 + <set_empty_string>N</set_empty_string>
  814 + </field>
  815 + <field>
  816 + <name>col_type</name>
  817 + <type>String</type>
  818 + <format/>
  819 + <currency/>
  820 + <decimal/>
  821 + <group/>
  822 + <nullif>String</nullif>
  823 + <length>-1</length>
  824 + <precision>-1</precision>
  825 + <set_empty_string>N</set_empty_string>
  826 + </field>
  827 + <field>
  828 + <name>col_value</name>
  829 + <type>String</type>
  830 + <format/>
  831 + <currency/>
  832 + <decimal/>
  833 + <group/>
  834 + <nullif>replace</nullif>
  835 + <length>-1</length>
  836 + <precision>-1</precision>
  837 + <set_empty_string>N</set_empty_string>
  838 + </field>
  839 + </fields>
  840 + <cluster_schema/>
  841 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  842 + <xloc>461</xloc>
  843 + <yloc>469</yloc>
  844 + <draw>Y</draw>
  845 + </GUI>
  846 + </step>
  847 +
  848 + <step>
  849 + <name>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;metadata</name>
  850 + <type>Constant</type>
  851 + <description/>
  852 + <distribute>Y</distribute>
  853 + <custom_distribution/>
  854 + <copies>1</copies>
  855 + <partitioning>
  856 + <method>none</method>
  857 + <schema_name/>
  858 + </partitioning>
  859 + <fields>
  860 + <field>
  861 + <name>col_name</name>
  862 + <type>String</type>
  863 + <format/>
  864 + <currency/>
  865 + <decimal/>
  866 + <group/>
  867 + <nullif>ttinfoname_</nullif>
  868 + <length>-1</length>
  869 + <precision>-1</precision>
  870 + <set_empty_string>N</set_empty_string>
  871 + </field>
  872 + <field>
  873 + <name>col_type</name>
  874 + <type>String</type>
  875 + <format/>
  876 + <currency/>
  877 + <decimal/>
  878 + <group/>
  879 + <nullif>String</nullif>
  880 + <length>-1</length>
  881 + <precision>-1</precision>
  882 + <set_empty_string>N</set_empty_string>
  883 + </field>
  884 + <field>
  885 + <name>col_value</name>
  886 + <type>String</type>
  887 + <format/>
  888 + <currency/>
  889 + <decimal/>
  890 + <group/>
  891 + <nullif>replace</nullif>
  892 + <length>-1</length>
  893 + <precision>-1</precision>
  894 + <set_empty_string>N</set_empty_string>
  895 + </field>
  896 + </fields>
  897 + <cluster_schema/>
  898 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  899 + <xloc>608</xloc>
  900 + <yloc>601</yloc>
  901 + <draw>Y</draw>
  902 + </GUI>
  903 + </step>
  904 +
  905 + <step>
  906 + <name>&#x589e;&#x52a0;&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata</name>
  907 + <type>Constant</type>
  908 + <description/>
  909 + <distribute>Y</distribute>
  910 + <custom_distribution/>
  911 + <copies>1</copies>
  912 + <partitioning>
  913 + <method>none</method>
  914 + <schema_name/>
  915 + </partitioning>
  916 + <fields>
  917 + <field>
  918 + <name>col_name</name>
  919 + <type>String</type>
  920 + <format/>
  921 + <currency/>
  922 + <decimal/>
  923 + <group/>
  924 + <nullif>xlname_</nullif>
  925 + <length>-1</length>
  926 + <precision>-1</precision>
  927 + <set_empty_string>N</set_empty_string>
  928 + </field>
  929 + <field>
  930 + <name>col_type</name>
  931 + <type>String</type>
  932 + <format/>
  933 + <currency/>
  934 + <decimal/>
  935 + <group/>
  936 + <nullif>String</nullif>
  937 + <length>-1</length>
  938 + <precision>-1</precision>
  939 + <set_empty_string>N</set_empty_string>
  940 + </field>
  941 + <field>
  942 + <name>col_value</name>
  943 + <type>String</type>
  944 + <format/>
  945 + <currency/>
  946 + <decimal/>
  947 + <group/>
  948 + <nullif>replace</nullif>
  949 + <length>-1</length>
  950 + <precision>-1</precision>
  951 + <set_empty_string>N</set_empty_string>
  952 + </field>
  953 + </fields>
  954 + <cluster_schema/>
  955 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  956 + <xloc>383</xloc>
  957 + <yloc>341</yloc>
  958 + <draw>Y</draw>
  959 + </GUI>
  960 + </step>
  961 +
  962 + <step>
  963 + <name>&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</name>
  964 + <type>SelectValues</type>
  965 + <description/>
  966 + <distribute>Y</distribute>
  967 + <custom_distribution/>
  968 + <copies>1</copies>
  969 + <partitioning>
  970 + <method>none</method>
  971 + <schema_name/>
  972 + </partitioning>
  973 + <fields> <field> <name>col_name</name>
  974 + <rename/>
  975 + <length>-2</length>
  976 + <precision>-2</precision>
  977 + </field> <field> <name>col_type</name>
  978 + <rename/>
  979 + <length>-2</length>
  980 + <precision>-2</precision>
  981 + </field> <field> <name>col_value</name>
  982 + <rename/>
  983 + <length>-2</length>
  984 + <precision>-2</precision>
  985 + </field> <select_unspecified>N</select_unspecified>
  986 + </fields> <cluster_schema/>
  987 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  988 + <xloc>888</xloc>
  989 + <yloc>601</yloc>
  990 + <draw>Y</draw>
  991 + </GUI>
  992 + </step>
  993 +
  994 + <step>
  995 + <name>&#x66ff;&#x6362;&#x505c;&#x8f66;&#x5382;&#x540d;&#x5b57; </name>
  996 + <type>SetValueField</type>
  997 + <description/>
  998 + <distribute>Y</distribute>
  999 + <custom_distribution/>
  1000 + <copies>1</copies>
  1001 + <partitioning>
  1002 + <method>none</method>
  1003 + <schema_name/>
  1004 + </partitioning>
  1005 + <fields>
  1006 + <field>
  1007 + <name>col_value</name>
  1008 + <replaceby>tccname_</replaceby>
  1009 + </field>
  1010 + </fields>
  1011 + <cluster_schema/>
  1012 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1013 + <xloc>598</xloc>
  1014 + <yloc>471</yloc>
  1015 + <draw>Y</draw>
  1016 + </GUI>
  1017 + </step>
  1018 +
  1019 + <step>
  1020 + <name>&#x66ff;&#x6362;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;</name>
  1021 + <type>SetValueField</type>
  1022 + <description/>
  1023 + <distribute>Y</distribute>
  1024 + <custom_distribution/>
  1025 + <copies>1</copies>
  1026 + <partitioning>
  1027 + <method>none</method>
  1028 + <schema_name/>
  1029 + </partitioning>
  1030 + <fields>
  1031 + <field>
  1032 + <name>col_value</name>
  1033 + <replaceby>ttinfoname_</replaceby>
  1034 + </field>
  1035 + </fields>
  1036 + <cluster_schema/>
  1037 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1038 + <xloc>746</xloc>
  1039 + <yloc>602</yloc>
  1040 + <draw>Y</draw>
  1041 + </GUI>
  1042 + </step>
  1043 +
  1044 + <step>
  1045 + <name>&#x66ff;&#x6362;&#x7ebf;&#x8def;&#x540d;&#x79f0;</name>
  1046 + <type>SetValueField</type>
  1047 + <description/>
  1048 + <distribute>Y</distribute>
  1049 + <custom_distribution/>
  1050 + <copies>1</copies>
  1051 + <partitioning>
  1052 + <method>none</method>
  1053 + <schema_name/>
  1054 + </partitioning>
  1055 + <fields>
  1056 + <field>
  1057 + <name>col_value</name>
  1058 + <replaceby>xlname_</replaceby>
  1059 + </field>
  1060 + </fields>
  1061 + <cluster_schema/>
  1062 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1063 + <xloc>521</xloc>
  1064 + <yloc>342</yloc>
  1065 + <draw>Y</draw>
  1066 + </GUI>
  1067 + </step>
  1068 +
  1069 + <step>
  1070 + <name>&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</name>
  1071 + <type>SelectValues</type>
  1072 + <description/>
  1073 + <distribute>Y</distribute>
  1074 + <custom_distribution/>
  1075 + <copies>1</copies>
  1076 + <partitioning>
  1077 + <method>none</method>
  1078 + <schema_name/>
  1079 + </partitioning>
  1080 + <fields> <field> <name>col_name</name>
  1081 + <rename/>
  1082 + <length>-2</length>
  1083 + <precision>-2</precision>
  1084 + </field> <field> <name>col_type</name>
  1085 + <rename/>
  1086 + <length>-2</length>
  1087 + <precision>-2</precision>
  1088 + </field> <field> <name>col_value</name>
  1089 + <rename/>
  1090 + <length>-2</length>
  1091 + <precision>-2</precision>
  1092 + </field> <select_unspecified>N</select_unspecified>
  1093 + </fields> <cluster_schema/>
  1094 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1095 + <xloc>668</xloc>
  1096 + <yloc>343</yloc>
  1097 + <draw>Y</draw>
  1098 + </GUI>
  1099 + </step>
  1100 +
  1101 + <step>
  1102 + <name>&#x83b7;&#x53d6;excel&#x5b57;&#x6bb5;&#x540d;&#x5b57;&#x7b26;&#x4e32;</name>
  1103 + <type>GetVariable</type>
  1104 + <description/>
  1105 + <distribute>Y</distribute>
  1106 + <custom_distribution/>
  1107 + <copies>1</copies>
  1108 + <partitioning>
  1109 + <method>none</method>
  1110 + <schema_name/>
  1111 + </partitioning>
  1112 + <fields>
  1113 + <field>
  1114 + <name>fieldnames</name>
  1115 + <variable>&#x24;&#x7b;excelfieldnames&#x7d;</variable>
  1116 + <type>String</type>
  1117 + <format/>
  1118 + <currency/>
  1119 + <decimal/>
  1120 + <group/>
  1121 + <length>-1</length>
  1122 + <precision>-1</precision>
  1123 + <trim_type>none</trim_type>
  1124 + </field>
  1125 + </fields>
  1126 + <cluster_schema/>
  1127 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1128 + <xloc>252</xloc>
  1129 + <yloc>153</yloc>
  1130 + <draw>Y</draw>
  1131 + </GUI>
  1132 + </step>
  1133 +
  1134 + <step>
  1135 + <name>&#x83b7;&#x53d6;excel&#x6587;&#x4ef6;&#x540d;</name>
  1136 + <type>GetVariable</type>
  1137 + <description/>
  1138 + <distribute>Y</distribute>
  1139 + <custom_distribution/>
  1140 + <copies>1</copies>
  1141 + <partitioning>
  1142 + <method>none</method>
  1143 + <schema_name/>
  1144 + </partitioning>
  1145 + <fields>
  1146 + <field>
  1147 + <name>filepath_</name>
  1148 + <variable>&#x24;&#x7b;filepath&#x7d;</variable>
  1149 + <type>String</type>
  1150 + <format/>
  1151 + <currency/>
  1152 + <decimal/>
  1153 + <group/>
  1154 + <length>-1</length>
  1155 + <precision>-1</precision>
  1156 + <trim_type>none</trim_type>
  1157 + </field>
  1158 + <field>
  1159 + <name>erroroutputdir_</name>
  1160 + <variable>&#x24;&#x7b;erroroutputdir&#x7d;</variable>
  1161 + <type>String</type>
  1162 + <format/>
  1163 + <currency/>
  1164 + <decimal/>
  1165 + <group/>
  1166 + <length>-1</length>
  1167 + <precision>-1</precision>
  1168 + <trim_type>none</trim_type>
  1169 + </field>
  1170 + <field>
  1171 + <name>sheetname_</name>
  1172 + <variable>&#x24;&#x7b;sheetname&#x7d;</variable>
  1173 + <type>String</type>
  1174 + <format/>
  1175 + <currency/>
  1176 + <decimal/>
  1177 + <group/>
  1178 + <length>-1</length>
  1179 + <precision>-1</precision>
  1180 + <trim_type>none</trim_type>
  1181 + </field>
  1182 + </fields>
  1183 + <cluster_schema/>
  1184 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1185 + <xloc>301</xloc>
  1186 + <yloc>52</yloc>
  1187 + <draw>Y</draw>
  1188 + </GUI>
  1189 + </step>
  1190 +
  1191 + <step>
  1192 + <name>&#x83b7;&#x53d6;normalize&#x5b57;&#x6bb5;&#x540d;&#x5b57;&#x7b26;&#x4e32;</name>
  1193 + <type>GetVariable</type>
  1194 + <description/>
  1195 + <distribute>Y</distribute>
  1196 + <custom_distribution/>
  1197 + <copies>1</copies>
  1198 + <partitioning>
  1199 + <method>none</method>
  1200 + <schema_name/>
  1201 + </partitioning>
  1202 + <fields>
  1203 + <field>
  1204 + <name>normalizefieldnames_</name>
  1205 + <variable>&#x24;&#x7b;normalizefieldnames&#x7d;</variable>
  1206 + <type>String</type>
  1207 + <format/>
  1208 + <currency/>
  1209 + <decimal/>
  1210 + <group/>
  1211 + <length>-1</length>
  1212 + <precision>-1</precision>
  1213 + <trim_type>none</trim_type>
  1214 + </field>
  1215 + </fields>
  1216 + <cluster_schema/>
  1217 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1218 + <xloc>261</xloc>
  1219 + <yloc>251</yloc>
  1220 + <draw>Y</draw>
  1221 + </GUI>
  1222 + </step>
  1223 +
  1224 + <step>
  1225 + <name>&#x83b7;&#x53d6;&#x65f6;&#x523b;&#x8868;id</name>
  1226 + <type>GetVariable</type>
  1227 + <description/>
  1228 + <distribute>Y</distribute>
  1229 + <custom_distribution/>
  1230 + <copies>1</copies>
  1231 + <partitioning>
  1232 + <method>none</method>
  1233 + <schema_name/>
  1234 + </partitioning>
  1235 + <fields>
  1236 + <field>
  1237 + <name>ttid_</name>
  1238 + <variable>&#x24;&#x7b;ttid&#x7d;</variable>
  1239 + <type>Integer</type>
  1240 + <format/>
  1241 + <currency/>
  1242 + <decimal/>
  1243 + <group/>
  1244 + <length>-1</length>
  1245 + <precision>-1</precision>
  1246 + <trim_type>none</trim_type>
  1247 + </field>
  1248 + </fields>
  1249 + <cluster_schema/>
  1250 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1251 + <xloc>608</xloc>
  1252 + <yloc>16</yloc>
  1253 + <draw>Y</draw>
  1254 + </GUI>
  1255 + </step>
  1256 +
  1257 + <step>
  1258 + <name>&#x83b7;&#x53d6;&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;</name>
  1259 + <type>GetVariable</type>
  1260 + <description/>
  1261 + <distribute>Y</distribute>
  1262 + <custom_distribution/>
  1263 + <copies>1</copies>
  1264 + <partitioning>
  1265 + <method>none</method>
  1266 + <schema_name/>
  1267 + </partitioning>
  1268 + <fields>
  1269 + <field>
  1270 + <name>ttinfoname_</name>
  1271 + <variable>&#x24;&#x7b;ttinfoname&#x7d;</variable>
  1272 + <type>String</type>
  1273 + <format/>
  1274 + <currency/>
  1275 + <decimal/>
  1276 + <group/>
  1277 + <length>-1</length>
  1278 + <precision>-1</precision>
  1279 + <trim_type>none</trim_type>
  1280 + </field>
  1281 + </fields>
  1282 + <cluster_schema/>
  1283 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1284 + <xloc>474</xloc>
  1285 + <yloc>601</yloc>
  1286 + <draw>Y</draw>
  1287 + </GUI>
  1288 + </step>
  1289 +
  1290 + <step>
  1291 + <name>&#x83b7;&#x53d6;&#x7ebf;&#x8def;&#x540d;&#x79f0;</name>
  1292 + <type>GetVariable</type>
  1293 + <description/>
  1294 + <distribute>Y</distribute>
  1295 + <custom_distribution/>
  1296 + <copies>1</copies>
  1297 + <partitioning>
  1298 + <method>none</method>
  1299 + <schema_name/>
  1300 + </partitioning>
  1301 + <fields>
  1302 + <field>
  1303 + <name>xlname_</name>
  1304 + <variable>&#x24;&#x7b;xlname&#x7d;</variable>
  1305 + <type>String</type>
  1306 + <format/>
  1307 + <currency/>
  1308 + <decimal/>
  1309 + <group/>
  1310 + <length>-1</length>
  1311 + <precision>-1</precision>
  1312 + <trim_type>none</trim_type>
  1313 + </field>
  1314 + </fields>
  1315 + <cluster_schema/>
  1316 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1317 + <xloc>184</xloc>
  1318 + <yloc>342</yloc>
  1319 + <draw>Y</draw>
  1320 + </GUI>
  1321 + </step>
  1322 +
  1323 + <step>
  1324 + <name>&#x83b7;&#x53d6;&#x7ebf;&#x8def;&#x6807;&#x51c6;id</name>
  1325 + <type>GetVariable</type>
  1326 + <description/>
  1327 + <distribute>Y</distribute>
  1328 + <custom_distribution/>
  1329 + <copies>1</copies>
  1330 + <partitioning>
  1331 + <method>none</method>
  1332 + <schema_name/>
  1333 + </partitioning>
  1334 + <fields>
  1335 + <field>
  1336 + <name>lineinfoid_</name>
  1337 + <variable>&#x24;&#x7b;lineinfoid&#x7d;</variable>
  1338 + <type>Integer</type>
  1339 + <format/>
  1340 + <currency/>
  1341 + <decimal/>
  1342 + <group/>
  1343 + <length>-1</length>
  1344 + <precision>-1</precision>
  1345 + <trim_type>none</trim_type>
  1346 + </field>
  1347 + </fields>
  1348 + <cluster_schema/>
  1349 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1350 + <xloc>74</xloc>
  1351 + <yloc>468</yloc>
  1352 + <draw>Y</draw>
  1353 + </GUI>
  1354 + </step>
  1355 +
  1356 + <step>
  1357 + <name>&#x9017;&#x53f7;&#x5207;&#x5206;&#x6210;&#x5b57;&#x6bb5;&#x540d;</name>
  1358 + <type>SplitFieldToRows3</type>
  1359 + <description/>
  1360 + <distribute>Y</distribute>
  1361 + <custom_distribution/>
  1362 + <copies>1</copies>
  1363 + <partitioning>
  1364 + <method>none</method>
  1365 + <schema_name/>
  1366 + </partitioning>
  1367 + <splitfield>fieldnames</splitfield>
  1368 + <delimiter>,</delimiter>
  1369 + <newfield>fieldname</newfield>
  1370 + <rownum>N</rownum>
  1371 + <rownum_field/>
  1372 + <resetrownumber>Y</resetrownumber>
  1373 + <delimiter_is_regex>N</delimiter_is_regex>
  1374 + <cluster_schema/>
  1375 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1376 + <xloc>442</xloc>
  1377 + <yloc>153</yloc>
  1378 + <draw>Y</draw>
  1379 + </GUI>
  1380 + </step>
  1381 +
  1382 + <step>
  1383 + <name>&#x9017;&#x53f7;&#x5207;&#x5206;&#x6210;&#x5b57;&#x6bb5;&#x540d; 2</name>
  1384 + <type>SplitFieldToRows3</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 + <splitfield>normalizefieldnames_</splitfield>
  1394 + <delimiter>,</delimiter>
  1395 + <newfield>nfieldname</newfield>
  1396 + <rownum>N</rownum>
  1397 + <rownum_field/>
  1398 + <resetrownumber>Y</resetrownumber>
  1399 + <delimiter_is_regex>N</delimiter_is_regex>
  1400 + <cluster_schema/>
  1401 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1402 + <xloc>444</xloc>
  1403 + <yloc>247</yloc>
  1404 + <draw>Y</draw>
  1405 + </GUI>
  1406 + </step>
  1407 +
  1408 + <step_error_handling>
  1409 + </step_error_handling>
  1410 + <slave-step-copy-partition-distribution>
  1411 +</slave-step-copy-partition-distribution>
  1412 + <slave_transformation>N</slave_transformation>
  1413 +
  1414 +</transformation>
src/main/resources/rules/ruleWrap.drl
@@ -76,7 +76,8 @@ rule &quot;rw2&quot; @@ -76,7 +76,8 @@ rule &quot;rw2&quot;
76 xl.setId(Integer.valueOf($xlId)); 76 xl.setId(Integer.valueOf($xlId));
77 ((com.bsth.entity.schedule.rule.ScheduleRule1Flat) sw.getSrf()).setXl(xl); 77 ((com.bsth.entity.schedule.rule.ScheduleRule1Flat) sw.getSrf()).setXl(xl);
78 // id 78 // id
79 - ((com.bsth.entity.schedule.rule.ScheduleRule1Flat) sw.getSrf()).setId((new Date()).getTime()); 79 + long id = ((new Date()).getTime() + Long.parseLong($lpId));
  80 + ((com.bsth.entity.schedule.rule.ScheduleRule1Flat) sw.getSrf()).setId(id);
80 // 启用日期 81 // 启用日期
81 ((com.bsth.entity.schedule.rule.ScheduleRule1Flat) sw.getSrf()).setQyrq($fromDate.toDate()); 82 ((com.bsth.entity.schedule.rule.ScheduleRule1Flat) sw.getSrf()).setQyrq($fromDate.toDate());
82 // 车辆配置 83 // 车辆配置
@@ -112,6 +113,6 @@ rule &quot;rw3&quot; @@ -112,6 +113,6 @@ rule &quot;rw3&quot;
112 when 113 when
113 $sri_wrap : Sri_Wrap($sri : sri, $xlId: xlId, $lpIds : lpIds) 114 $sri_wrap : Sri_Wrap($sri : sri, $xlId: xlId, $lpIds : lpIds)
114 then 115 then
115 - log.info("线路id={},lpids={}", $xlId, $lpIds); 116 +// log.info("线路id={},type={},ruleId={},lpids={}", $xlId, $sri.getsType(), $sri.getRuleId(), $lpIds);
116 sriList.add($sri); 117 sriList.add($sri);
117 end 118 end
118 \ No newline at end of file 119 \ No newline at end of file
src/main/resources/static/pages/base/timesmodel/js/base-fun.js
@@ -875,7 +875,7 @@ var BaseFun = function() { @@ -875,7 +875,7 @@ var BaseFun = function() {
875 //if(bcddsj < kssj) 875 //if(bcddsj < kssj)
876 // isLast.push(bcArray[b]); 876 // isLast.push(bcArray[b]);
877 } 877 }
878 - if(canCf.length>0) { 878 + if(canCf.length>0 && canCf[canCf.length-1].isfb == 0) { // NEW,如果班次是分班班次,就不吃饭
879 console.log('countTzsj:' + countTzsj + 'length:' + canCf.length); 879 console.log('countTzsj:' + countTzsj + 'length:' + canCf.length);
880 var fxDm = baseF.dirDmToIndex(canCf[canCf.length-1].xlDir); 880 var fxDm = baseF.dirDmToIndex(canCf[canCf.length-1].xlDir);
881 if (map.cfdd == "allYes") { // NEW,如果选择的吃饭地点是所有,则使用班次的方向作为吃饭班次的方向 881 if (map.cfdd == "allYes") { // NEW,如果选择的吃饭地点是所有,则使用班次的方向作为吃饭班次的方向