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 124 // poi读
125 125 String cellContent = PoiUtils.getStringValueFromCell(
126 126 poi_sheet.getRow(i).getCell(j)
127   - );
  127 + ).replaceAll("\\s*", "");
128 128 // jxl写
129 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 278 Date start2 = new Date();
279 279 ScheduleResults_output scheduleResults_output = loopRuleOutput(schedulePlan, lpInfoResults_output);
280 280 Date end2 = new Date();
  281 +
  282 + logger.info("规则计算结果={}", scheduleResults_output.showGuideboardDesc1());
  283 +
281 284 // 3、计划输出
282 285 Date start3 = new Date();
283 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 251 for (int i = 1; i < rowNums; i++) { // 从第2行开始验证数据
252 252 Row row = sheet.getRow(i);
253 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 255 if (StringUtils.isNotEmpty(bcell_con)) {
256 256 Matcher m1 = p1.matcher(bcell_con.trim());
257 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 44 this.ttInfoId = String.valueOf(ttInfo.getId());
45 45 this.xlId = String.valueOf(ttInfo.getXl().getId());
46 46 String[] days = ttInfo.getRule_days().split(",");
47   - System.out.println(days.length);
  47 +// System.out.println(days.length);
48 48 for (int i = 0; i < 7; i++) {
49 49 if ("1".equals(days[i])) {
50 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 47  
48 48 @Override
49 49 public Serializable createContext() {
50   - System.out.println("create");
  50 +// System.out.println("create");
51 51 return new RepeatBcInfo();
52 52 }
53 53  
54 54 @Override
55 55 public void init(Serializable serializable) throws Exception {
56 56 // TODO:
57   - System.out.println("init");
  57 +// System.out.println("init");
58 58 }
59 59  
60 60 @Override
... ...
src/main/resources/datatools/ktrs/ttinfodetailDataInput.ktr
... ... @@ -828,7 +828,7 @@
828 828 <optimizationLevel>9</optimizationLevel>
829 829 <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
830 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 832 </jsScript> </jsScripts> <fields> <field> <name>qdzname</name>
833 833 <rename>qdzname</rename>
834 834 <type>String</type>
... ...
src/main/resources/datatools/ktrs/ttinfodetailDataInput2.ktr
... ... @@ -828,7 +828,7 @@
828 828 <optimizationLevel>9</optimizationLevel>
829 829 <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
830 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 832 </jsScript> </jsScripts> <fields> <field> <name>qdzname</name>
833 833 <rename>qdzname</rename>
834 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 76 xl.setId(Integer.valueOf($xlId));
77 77 ((com.bsth.entity.schedule.rule.ScheduleRule1Flat) sw.getSrf()).setXl(xl);
78 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 82 ((com.bsth.entity.schedule.rule.ScheduleRule1Flat) sw.getSrf()).setQyrq($fromDate.toDate());
82 83 // 车辆配置
... ... @@ -112,6 +113,6 @@ rule &quot;rw3&quot;
112 113 when
113 114 $sri_wrap : Sri_Wrap($sri : sri, $xlId: xlId, $lpIds : lpIds)
114 115 then
115   - log.info("线路id={},lpids={}", $xlId, $lpIds);
  116 +// log.info("线路id={},type={},ruleId={},lpids={}", $xlId, $sri.getsType(), $sri.getRuleId(), $lpIds);
116 117 sriList.add($sri);
117 118 end
118 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 875 //if(bcddsj < kssj)
876 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 879 console.log('countTzsj:' + countTzsj + 'length:' + canCf.length);
880 880 var fxDm = baseF.dirDmToIndex(canCf[canCf.length-1].xlDir);
881 881 if (map.cfdd == "allYes") { // NEW,如果选择的吃饭地点是所有,则使用班次的方向作为吃饭班次的方向
... ...