Commit f49b8a20cff59954e308db347b46aed28f988ed0

Authored by 潘钊
2 parents adc2ab19 5603a928

Merge branch 'minhang' of http://222.66.0.204:8090/panzhaov5/bsth_control into minhang

Too many changes to show.

To preserve performance only 15 of 29 files are displayed.

src/main/java/com/bsth/controller/forms/ExportController.java
@@ -34,6 +34,7 @@ import com.bsth.util.ReportUtils; @@ -34,6 +34,7 @@ import com.bsth.util.ReportUtils;
34 @RequestMapping("mcy_export") 34 @RequestMapping("mcy_export")
35 public class ExportController { 35 public class ExportController {
36 36
  37 +
37 @Autowired 38 @Autowired
38 FormsService formsService; 39 FormsService formsService;
39 40
@@ -71,9 +72,9 @@ public class ExportController { @@ -71,9 +72,9 @@ public class ExportController {
71 72
72 try { 73 try {
73 listI.add(resList.iterator()); 74 listI.add(resList.iterator());
74 - String path = this.getClass().getResource("/").getPath() + "static\\pages\\forms\\";  
75 - ee.excelReplace(listI, new Object[] { map }, path + "mould\\linepasswengerflow.xls",  
76 - path + "export\\线路客流量报表" + sdfSimple.format(sdfMonth.parse(map.get("date").toString())) + ".xls"); 75 + String path = this.getClass().getResource("/").getPath() + "static/pages/forms/";
  76 + ee.excelReplace(listI, new Object[] { map }, path + "mould/linepasswengerflow.xls",
  77 + path + "export/线路客流量报表" + sdfSimple.format(sdfMonth.parse(map.get("date").toString())) + ".xls");
77 } catch (Exception e) { 78 } catch (Exception e) {
78 e.printStackTrace(); 79 e.printStackTrace();
79 } 80 }
@@ -111,9 +112,9 @@ public class ExportController { @@ -111,9 +112,9 @@ public class ExportController {
111 112
112 try { 113 try {
113 listI.add(resList.iterator()); 114 listI.add(resList.iterator());
114 - String path = this.getClass().getResource("/").getPath() + "static\\pages\\forms\\";  
115 - ee.excelReplace(listI, new Object[] { map }, path + "mould\\shifday.xls",  
116 - path + "export\\班次车辆人员日报表" + sdfSimple.format(sdfMonth.parse(map.get("date").toString())) + ".xls"); 115 + String path = this.getClass().getResource("/").getPath() + "static/pages/forms/";
  116 + ee.excelReplace(listI, new Object[] { map }, path + "mould/shifday.xls",
  117 + path + "export/班次车辆人员日报表" + sdfSimple.format(sdfMonth.parse(map.get("date").toString())) + ".xls");
117 } catch (Exception e) { 118 } catch (Exception e) {
118 e.printStackTrace(); 119 e.printStackTrace();
119 } 120 }
@@ -148,9 +149,9 @@ public class ExportController { @@ -148,9 +149,9 @@ public class ExportController {
148 try { 149 try {
149 listI.add(resList.iterator()); 150 listI.add(resList.iterator());
150 151
151 - String path = this.getClass().getResource("/").getPath() + "static\\pages\\forms\\";  
152 - ee.excelReplace(listI, new Object[] { map }, path + "mould\\shiftuehiclemanth.xls", path  
153 - + "export\\班次车辆人员月报表" + sdfSimple.format(sdfMonth.parse(map.get("startDate").toString())) + ".xls"); 152 + String path = this.getClass().getResource("/").getPath() + "static/pages/forms/";
  153 + ee.excelReplace(listI, new Object[] { map }, path + "mould/shiftuehiclemanth.xls", path
  154 + + "export/班次车辆人员月报表" + sdfSimple.format(sdfMonth.parse(map.get("startDate").toString())) + ".xls");
154 155
155 } catch (Exception e) { 156 } catch (Exception e) {
156 e.printStackTrace(); 157 e.printStackTrace();
@@ -177,6 +178,9 @@ public class ExportController { @@ -177,6 +178,9 @@ public class ExportController {
177 m.put("clzbh", l.getClzbh()); 178 m.put("clzbh", l.getClzbh());
178 m.put("jsy", l.getJsy()); 179 m.put("jsy", l.getJsy());
179 m.put("jName", l.getjName()); 180 m.put("jName", l.getjName());
  181 +
  182 +
  183 +
180 m.put("sgh", l.getSgh()); 184 m.put("sgh", l.getSgh());
181 m.put("sName", l.getsName()); 185 m.put("sName", l.getsName());
182 m.put("jhlc", l.getJhlc()); 186 m.put("jhlc", l.getJhlc());
@@ -186,14 +190,15 @@ public class ExportController { @@ -186,14 +190,15 @@ public class ExportController {
186 m.put("unyyyl", l.getUnyyyl()); 190 m.put("unyyyl", l.getUnyyyl());
187 m.put("jhjl", l.getJhjl()); 191 m.put("jhjl", l.getJhjl());
188 resList.add(m); 192 resList.add(m);
  193 +
189 i++; 194 i++;
190 } 195 }
191 196
192 try { 197 try {
193 listI.add(resList.iterator()); 198 listI.add(resList.iterator());
194 - String path = this.getClass().getResource("/").getPath() + "static\\pages\\forms\\";  
195 - ee.excelReplace(listI, new Object[] { map }, path + "mould\\singledata.xls",  
196 - path + "export\\路单数据" + sdfSimple.format(sdfMonth.parse(map.get("startDate").toString())) + ".xls"); 199 + String path = this.getClass().getResource("/").getPath() + "static/pages/forms/";
  200 + ee.excelReplace(listI, new Object[] { map }, path + "mould/singledata.xls",
  201 + path + "export/路单数据" + sdfSimple.format(sdfMonth.parse(map.get("startDate").toString())) + ".xls");
197 } catch (Exception e) { 202 } catch (Exception e) {
198 e.printStackTrace(); 203 e.printStackTrace();
199 } 204 }
@@ -231,9 +236,9 @@ public class ExportController { @@ -231,9 +236,9 @@ public class ExportController {
231 236
232 try { 237 try {
233 listI.add(resList.iterator()); 238 listI.add(resList.iterator());
234 - String path = this.getClass().getResource("/").getPath() + "static\\pages\\forms\\";  
235 - ee.excelReplace(listI, new Object[] { map }, path + "mould\\vehicleloading.xls",  
236 - path + "export\\车辆加注" + sdfSimple.format(sdfMonth.parse(map.get("data").toString())) + ".xls"); 239 + String path = this.getClass().getResource("/").getPath() + "static/pages/forms/";
  240 + ee.excelReplace(listI, new Object[] { map }, path + "mould/vehicleloading.xls",
  241 + path + "export/车辆加注" + sdfSimple.format(sdfMonth.parse(map.get("data").toString())) + ".xls");
237 } catch (Exception e) { 242 } catch (Exception e) {
238 e.printStackTrace(); 243 e.printStackTrace();
239 } 244 }
@@ -264,8 +269,8 @@ public class ExportController { @@ -264,8 +269,8 @@ public class ExportController {
264 269
265 try { 270 try {
266 listI.add(resList.iterator()); 271 listI.add(resList.iterator());
267 - String path = this.getClass().getResource("/").getPath() + "static\\pages\\forms\\";  
268 - ee.excelReplace(listI, new Object[] { map }, path + "mould\\operationservice.xls", path + "export\\运营服务阶段报表" 272 + String path = this.getClass().getResource("/").getPath() + "static/pages/forms/";
  273 + ee.excelReplace(listI, new Object[] { map }, path + "mould/operationservice.xls", path + "export/运营服务阶段报表"
269 + sdfSimple.format(sdfMonth.parse(map.get("startDate").toString())) + ".xls"); 274 + sdfSimple.format(sdfMonth.parse(map.get("startDate").toString())) + ".xls");
270 } catch (Exception e) { 275 } catch (Exception e) {
271 e.printStackTrace(); 276 e.printStackTrace();
@@ -303,8 +308,8 @@ public class ExportController { @@ -303,8 +308,8 @@ public class ExportController {
303 308
304 try { 309 try {
305 listI.add(resList.iterator()); 310 listI.add(resList.iterator());
306 - String path = this.getClass().getResource("/").getPath() + "static\\pages\\forms\\";  
307 - ee.excelReplace(listI, new Object[] { map }, path + "mould\\changetochange.xls", path + "export\\换人换车情况日统计" 311 + String path = this.getClass().getResource("/").getPath() + "static/pages/forms/";
  312 + ee.excelReplace(listI, new Object[] { map }, path + "mould/changetochange.xls", path + "export/换人换车情况日统计"
308 + sdfSimple.format(sdfMonth.parse(map.get("startDate").toString())) + ".xls"); 313 + sdfSimple.format(sdfMonth.parse(map.get("startDate").toString())) + ".xls");
309 } catch (Exception e) { 314 } catch (Exception e) {
310 e.printStackTrace(); 315 e.printStackTrace();
@@ -383,8 +388,8 @@ public class ExportController { @@ -383,8 +388,8 @@ public class ExportController {
383 388
384 try { 389 try {
385 listI.add(resList.iterator()); 390 listI.add(resList.iterator());
386 - String path = this.getClass().getResource("/").getPath() + "static\\pages\\forms\\";  
387 - ee.excelReplace(listI, new Object[] { map1 }, path + "mould\\turnoutrate.xls", path + "export\\营运线路出车率统计表" 391 + String path = this.getClass().getResource("/").getPath() + "static/pages/forms/";
  392 + ee.excelReplace(listI, new Object[] { map1 }, path + "mould/turnoutrate.xls", path + "export/营运线路出车率统计表"
388 + sdfSimple.format(sdfMonth.parse(map.get("startDate").toString())) + ".xls"); 393 + sdfSimple.format(sdfMonth.parse(map.get("startDate").toString())) + ".xls");
389 } catch (Exception e) { 394 } catch (Exception e) {
390 e.printStackTrace(); 395 e.printStackTrace();
@@ -458,8 +463,8 @@ public class ExportController { @@ -458,8 +463,8 @@ public class ExportController {
458 463
459 try { 464 try {
460 listI.add(resList.iterator()); 465 listI.add(resList.iterator());
461 - String path = this.getClass().getResource("/").getPath() + "static\\pages\\forms\\";  
462 - ee.excelReplace(listI, new Object[] { map1 }, path + "mould\\executionrate.xls", path + "export\\班次执行率统计表" 466 + String path = this.getClass().getResource("/").getPath() + "static/pages/forms/";
  467 + ee.excelReplace(listI, new Object[] { map1 }, path + "mould/executionrate.xls", path + "export/班次执行率统计表"
463 + sdfSimple.format(sdfMonth.parse(map.get("startDate").toString())) + ".xls"); 468 + sdfSimple.format(sdfMonth.parse(map.get("startDate").toString())) + ".xls");
464 } catch (Exception e) { 469 } catch (Exception e) {
465 e.printStackTrace(); 470 e.printStackTrace();
@@ -527,8 +532,8 @@ public class ExportController { @@ -527,8 +532,8 @@ public class ExportController {
527 532
528 try { 533 try {
529 listI.add(resList.iterator()); 534 listI.add(resList.iterator());
530 - String path = this.getClass().getResource("/").getPath() + "static\\pages\\forms\\";  
531 - ee.excelReplace(listI, new Object[] { map1 }, path + "mould\\allline.xls", path + "export\\营运线路名称统计表" 535 + String path = this.getClass().getResource("/").getPath() + "static/pages/forms/";
  536 + ee.excelReplace(listI, new Object[] { map1 }, path + "mould/allline.xls", path + "export/营运线路名称统计表"
532 + sdfSimple.format(sdfMonth.parse(map.get("startDate").toString())) + ".xls"); 537 + sdfSimple.format(sdfMonth.parse(map.get("startDate").toString())) + ".xls");
533 } catch (Exception e) { 538 } catch (Exception e) {
534 e.printStackTrace(); 539 e.printStackTrace();
@@ -579,8 +584,8 @@ public class ExportController { @@ -579,8 +584,8 @@ public class ExportController {
579 m.put("date", map.get("date").toString()); 584 m.put("date", map.get("date").toString());
580 try { 585 try {
581 listI.add(resList.iterator()); 586 listI.add(resList.iterator());
582 - String path = this.getClass().getResource("/").getPath() + "static\\pages\\forms\\";  
583 - ee.excelReplace(listI, new Object[] { m }, path + "mould\\daily.xls", path + "export\\班次日报表" 587 + String path = this.getClass().getResource("/").getPath() + "static/pages/forms/";
  588 + ee.excelReplace(listI, new Object[] { m }, path + "mould/daily.xls", path + "export/班次日报表"
584 + sdfSimple.format(sdfMonth.parse(map.get("date").toString())) + ".xls"); 589 + sdfSimple.format(sdfMonth.parse(map.get("date").toString())) + ".xls");
585 } catch (Exception e) { 590 } catch (Exception e) {
586 e.printStackTrace(); 591 e.printStackTrace();
src/main/java/com/bsth/controller/oil/YlbController.java
@@ -186,9 +186,9 @@ public class YlbController extends BaseController<Ylb, Integer>{ @@ -186,9 +186,9 @@ public class YlbController extends BaseController<Ylb, Integer>{
186 } 186 }
187 try { 187 try {
188 listI.add(resList.iterator()); 188 listI.add(resList.iterator());
189 - String path = this.getClass().getResource("/").getPath()+"static\\pages\\forms\\";  
190 - ee.excelReplace(listI, new Object[] { map }, path+"mould\\list.xls",  
191 - path+"export\\进出场存油量" + sdfSimple.format(sdfMonth.parse(map.get("rq").toString())) + ".xls"); 189 + String path = this.getClass().getResource("/").getPath()+"static/pages/forms/";
  190 + ee.excelReplace(listI, new Object[] { map }, path+"mould/list.xls",
  191 + path+"export/进出场存油量" + sdfSimple.format(sdfMonth.parse(map.get("rq").toString())) + ".xls");
192 } catch (Exception e) { 192 } catch (Exception e) {
193 e.printStackTrace(); 193 e.printStackTrace();
194 } 194 }
src/main/java/com/bsth/service/forms/impl/ExportServiceImpl.java
@@ -46,9 +46,9 @@ public class ExportServiceImpl implements ExportService{ @@ -46,9 +46,9 @@ public class ExportServiceImpl implements ExportService{
46 46
47 try { 47 try {
48 listI.add(resList.iterator()); 48 listI.add(resList.iterator());
49 - String path = this.getClass().getResource("/").getPath()+"static\\pages\\forms\\";  
50 - ee.excelReplace(listI, new Object[] { map }, path+"mould\\waybillday.xls",  
51 - path+"export\\行车路单日报表" + sdfSimple.format(sdfMonth.parse(date)) + ".xls"); 49 + String path = this.getClass().getResource("/").getPath()+"static/pages/forms/";
  50 + ee.excelReplace(listI, new Object[] { map }, path+"mould/waybillday.xls",
  51 + path+"export/行车路单日报表" + sdfSimple.format(sdfMonth.parse(date)) + ".xls");
52 } catch (Exception e) { 52 } catch (Exception e) {
53 e.printStackTrace(); 53 e.printStackTrace();
54 } 54 }
@@ -72,9 +72,9 @@ public class ExportServiceImpl implements ExportService{ @@ -72,9 +72,9 @@ public class ExportServiceImpl implements ExportService{
72 72
73 try { 73 try {
74 listI.add(resList.iterator()); 74 listI.add(resList.iterator());
75 - String path = this.getClass().getResource("/").getPath()+"static\\pages\\forms\\";  
76 - ee.excelReplace(listI, new Object[] { map }, path+"mould\\linepasswengerflow.xls",  
77 - path+"export\\线路客流量报表" + sdfSimple.format(sdfMonth.parse(date)) + ".xls"); 75 + String path = this.getClass().getResource("/").getPath()+"static/pages/forms/";
  76 + ee.excelReplace(listI, new Object[] { map }, path+"mould/linepasswengerflow.xls",
  77 + path+"export/线路客流量报表" + sdfSimple.format(sdfMonth.parse(date)) + ".xls");
78 } catch (Exception e) { 78 } catch (Exception e) {
79 e.printStackTrace(); 79 e.printStackTrace();
80 } 80 }
@@ -115,9 +115,9 @@ public class ExportServiceImpl implements ExportService{ @@ -115,9 +115,9 @@ public class ExportServiceImpl implements ExportService{
115 115
116 try { 116 try {
117 listI.add(resList.iterator()); 117 listI.add(resList.iterator());
118 - String path = this.getClass().getResource("/").getPath()+"static\\pages\\forms\\";  
119 - ee.excelReplace(listI, new Object[] { map }, path+"mould\\shifday.xls",  
120 - path+"export\\班次车辆人员日报表" + sdfSimple.format(sdfMonth.parse(date)) + ".xls"); 118 + String path = this.getClass().getResource("/").getPath()+"static/pages/forms/";
  119 + ee.excelReplace(listI, new Object[] { map }, path+"mould/shifday.xls",
  120 + path+"export/班次车辆人员日报表" + sdfSimple.format(sdfMonth.parse(date)) + ".xls");
121 } catch (Exception e) { 121 } catch (Exception e) {
122 e.printStackTrace(); 122 e.printStackTrace();
123 } 123 }
@@ -151,9 +151,9 @@ public class ExportServiceImpl implements ExportService{ @@ -151,9 +151,9 @@ public class ExportServiceImpl implements ExportService{
151 151
152 try { 152 try {
153 listI.add(resList.iterator()); 153 listI.add(resList.iterator());
154 - String path = this.getClass().getResource("/").getPath()+"static\\pages\\forms\\";  
155 - ee.excelReplace(listI, new Object[] { map }, path+"mould\\shiftuehiclemanth.xls",  
156 - path+"export\\班次车辆人员月报表" + sdfSimple.format(sdfMonth.parse(startDate)) + ".xls"); 154 + String path = this.getClass().getResource("/").getPath()+"static/pages/forms/";
  155 + ee.excelReplace(listI, new Object[] { map }, path+"mould/shiftuehiclemanth.xls",
  156 + path+"export/班次车辆人员月报表" + sdfSimple.format(sdfMonth.parse(startDate)) + ".xls");
157 } catch (Exception e) { 157 } catch (Exception e) {
158 e.printStackTrace(); 158 e.printStackTrace();
159 } 159 }
@@ -191,9 +191,9 @@ public class ExportServiceImpl implements ExportService{ @@ -191,9 +191,9 @@ public class ExportServiceImpl implements ExportService{
191 191
192 try { 192 try {
193 listI.add(resList.iterator()); 193 listI.add(resList.iterator());
194 - String path = this.getClass().getResource("/").getPath()+"static\\pages\\forms\\";  
195 - ee.excelReplace(listI, new Object[] { map }, path+"mould\\singledata.xls",  
196 - path+"export\\路单日报表" + sdfSimple.format(sdfMonth.parse(startDate)) + ".xls"); 194 + String path = this.getClass().getResource("/").getPath()+"static/pages/forms/";
  195 + ee.excelReplace(listI, new Object[] { map }, path+"mould/singledata.xls",
  196 + path+"export/路单日报表" + sdfSimple.format(sdfMonth.parse(startDate)) + ".xls");
197 } catch (Exception e) { 197 } catch (Exception e) {
198 e.printStackTrace(); 198 e.printStackTrace();
199 } 199 }
@@ -230,9 +230,9 @@ public class ExportServiceImpl implements ExportService{ @@ -230,9 +230,9 @@ public class ExportServiceImpl implements ExportService{
230 230
231 try { 231 try {
232 listI.add(resList.iterator()); 232 listI.add(resList.iterator());
233 - String path = this.getClass().getResource("/").getPath()+"static\\pages\\forms\\";  
234 - ee.excelReplace(listI, new Object[] { map }, path+"mould\\vehicleloading.xls",  
235 - path+"export\\车辆加注" + sdfSimple.format(sdfMonth.parse(date)) + ".xls"); 233 + String path = this.getClass().getResource("/").getPath()+"static/pages/forms/";
  234 + ee.excelReplace(listI, new Object[] { map }, path+"mould/vehicleloading.xls",
  235 + path+"export/车辆加注" + sdfSimple.format(sdfMonth.parse(date)) + ".xls");
236 } catch (Exception e) { 236 } catch (Exception e) {
237 e.printStackTrace(); 237 e.printStackTrace();
238 } 238 }
@@ -261,9 +261,9 @@ public class ExportServiceImpl implements ExportService{ @@ -261,9 +261,9 @@ public class ExportServiceImpl implements ExportService{
261 261
262 try { 262 try {
263 listI.add(resList.iterator()); 263 listI.add(resList.iterator());
264 - String path = this.getClass().getResource("/").getPath()+"static\\pages\\forms\\";  
265 - ee.excelReplace(listI, new Object[] { map }, path+"mould\\operationservice.xls",  
266 - path+"export\\运营服务阶段报表" + sdfSimple.format(sdfMonth.parse(startDate)) + ".xls"); 264 + String path = this.getClass().getResource("/").getPath()+"static/pages/forms/";
  265 + ee.excelReplace(listI, new Object[] { map }, path+"mould/operationservice.xls",
  266 + path+"export/运营服务阶段报表" + sdfSimple.format(sdfMonth.parse(startDate)) + ".xls");
267 } catch (Exception e) { 267 } catch (Exception e) {
268 e.printStackTrace(); 268 e.printStackTrace();
269 } 269 }
src/main/java/com/bsth/service/impl/BusIntervalServiceImpl.java
@@ -526,9 +526,9 @@ public class BusIntervalServiceImpl implements BusIntervalService { @@ -526,9 +526,9 @@ public class BusIntervalServiceImpl implements BusIntervalService {
526 ReportUtils ee = new ReportUtils(); 526 ReportUtils ee = new ReportUtils();
527 try { 527 try {
528 listI.add(resList.iterator()); 528 listI.add(resList.iterator());
529 - String path = this.getClass().getResource("/").getPath()+"static\\pages\\forms\\";  
530 - ee.excelReplace(listI, new Object[] { m }, path+"mould\\busInterval"+statu+".xls",  
531 - path+"export\\班次间隔统计表" + sdfSimple.format(sdfMonth.parse(startDate)) 529 + String path = this.getClass().getResource("/").getPath()+"static/pages/forms/";
  530 + ee.excelReplace(listI, new Object[] { m }, path+"mould/busInterval"+statu+".xls",
  531 + path+"export/班次间隔统计表" + sdfSimple.format(sdfMonth.parse(startDate))
532 + "-" + sdfSimple.format(sdfMonth.parse(endDate)) + ".xls"); 532 + "-" + sdfSimple.format(sdfMonth.parse(endDate)) + ".xls");
533 } catch (Exception e) { 533 } catch (Exception e) {
534 // TODO: handle exception 534 // TODO: handle exception
@@ -1076,9 +1076,9 @@ public class BusIntervalServiceImpl implements BusIntervalService { @@ -1076,9 +1076,9 @@ public class BusIntervalServiceImpl implements BusIntervalService {
1076 modelMap.put("lpType", "路牌名"); 1076 modelMap.put("lpType", "路牌名");
1077 try { 1077 try {
1078 listI.add(((List<Map<String, Object>>)modelMap.get("dataList")).iterator()); 1078 listI.add(((List<Map<String, Object>>)modelMap.get("dataList")).iterator());
1079 - String path = this.getClass().getResource("/").getPath()+"static\\pages\\forms\\";  
1080 - ee.excelReplace(listI, new Object[] { modelMap }, path+"mould\\timeAndSpeed.xls",  
1081 - path+"export\\行驶时间及车速统计表" + sdfSimple.format(sdfMonth.parse(startDate)) 1079 + String path = this.getClass().getResource("/").getPath()+"static/pages/forms/";
  1080 + ee.excelReplace(listI, new Object[] { modelMap }, path+"mould/timeAndSpeed.xls",
  1081 + path+"export/行驶时间及车速统计表" + sdfSimple.format(sdfMonth.parse(startDate))
1082 + "-" + sdfSimple.format(sdfMonth.parse(endDate)) + ".xls"); 1082 + "-" + sdfSimple.format(sdfMonth.parse(endDate)) + ".xls");
1083 } catch (Exception e) { 1083 } catch (Exception e) {
1084 // TODO: handle exception 1084 // TODO: handle exception
@@ -1393,8 +1393,14 @@ public class BusIntervalServiceImpl implements BusIntervalService { @@ -1393,8 +1393,14 @@ public class BusIntervalServiceImpl implements BusIntervalService {
1393 1393
1394 String[] date1 = startDate.split("-"); 1394 String[] date1 = startDate.split("-");
1395 String[] date2 = endDate.split("-"); 1395 String[] date2 = endDate.split("-");
1396 - startDate = date1[0] + "年" + date1[1] + "月" + date1[2] + "日";  
1397 - endDate = date2[0] + "年" + date2[1] + "月" + date2[2] + "日"; 1396 +// startDate = date1[0] + "年" + date1[1] + "月" + date1[2] + "日";
  1397 +// endDate = date2[0] + "年" + date2[1] + "月" + date2[2] + "日";
  1398 + String Date = "";
  1399 + if(startDate.equals(endDate))
  1400 + Date = date1[0] + "年" + date1[1] + "月" + date1[2] + "日";
  1401 + else
  1402 + Date = date1[0] + "年" + date1[1] + "月" + date1[2] + "日"
  1403 + + date2[0] + "年" + date2[1] + "月" + date2[2] + "日";
1398 1404
1399 String[] split = times.split("-"); 1405 String[] split = times.split("-");
1400 int startTime = Integer.valueOf(split[0].split(":")[0])*60 + Integer.valueOf(split[0].split(":")[1]); 1406 int startTime = Integer.valueOf(split[0].split(":")[0])*60 + Integer.valueOf(split[0].split(":")[1]);
@@ -1472,10 +1478,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { @@ -1472,10 +1478,7 @@ public class BusIntervalServiceImpl implements BusIntervalService {
1472 } 1478 }
1473 } 1479 }
1474 } 1480 }
1475 - if(startDate.equals(endDate))  
1476 - tempMap.put("date", startDate);  
1477 - else  
1478 - tempMap.put("date", startDate + "--" + endDate); 1481 + tempMap.put("date", Date);
1479 tempMap.put("company", companyName); 1482 tempMap.put("company", companyName);
1480 tempMap.put("subCompany", subCompanyName); 1483 tempMap.put("subCompany", subCompanyName);
1481 tempMap.put("times", times); 1484 tempMap.put("times", times);
@@ -1523,6 +1526,24 @@ public class BusIntervalServiceImpl implements BusIntervalService { @@ -1523,6 +1526,24 @@ public class BusIntervalServiceImpl implements BusIntervalService {
1523 resList.add(tempMap); 1526 resList.add(tempMap);
1524 } 1527 }
1525 1528
  1529 + if(type != null && type.length() != 0 && type.equals("export")){
  1530 + SimpleDateFormat sdfMonth = new SimpleDateFormat("yyyy-MM-dd"),
  1531 + sdfSimple = new SimpleDateFormat("yyyyMMdd");
  1532 + List<Iterator<?>> listI = new ArrayList<Iterator<?>>();
  1533 + Map<String, Object> m = new HashMap<String, Object>();
  1534 + ReportUtils ee = new ReportUtils();
  1535 + try {
  1536 + listI.add(resList.iterator());
  1537 + String path = this.getClass().getResource("/").getPath()+"static/pages/forms/";
  1538 + ee.excelReplace(listI, new Object[] { m }, path+"mould/lbStatuAnaly.xls",
  1539 + path+"export/烂班情况分析表" + sdfSimple.format(sdfMonth.parse(startDate))
  1540 + + "-" + sdfSimple.format(sdfMonth.parse(endDate)) + ".xls");
  1541 + } catch (Exception e) {
  1542 + // TODO: handle exception
  1543 + e.printStackTrace();
  1544 + }
  1545 + }
  1546 +
1526 return resList; 1547 return resList;
1527 } 1548 }
1528 1549
src/main/java/com/bsth/service/realcontrol/impl/ScheduleRealInfoServiceImpl.java
@@ -538,11 +538,11 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -538,11 +538,11 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
538 map.put("ljbc", ljbc); 538 map.put("ljbc", ljbc);
539 map.put("sjbc", jhbc-cjbc+ljbc); 539 map.put("sjbc", jhbc-cjbc+ljbc);
540 540
541 - String path = this.getClass().getResource("/").getPath()+"static\\pages\\forms\\"; 541 + String path = this.getClass().getResource("/").getPath()+"static/pages/forms/";
542 542
543 list.add(listMap.iterator()); 543 list.add(listMap.iterator());
544 - ee.excelReplace(list, new Object[] { scheduleRealInfos.get(0),map }, path+"mould\\waybill_minhang.xls",  
545 - path+"export\\" + date+"-"+jName+"-"+clZbh+"-"+lpName+"-行车路单.xls"); 544 + ee.excelReplace(list, new Object[] { scheduleRealInfos.get(0),map }, path+"mould/waybill_minhang.xls",
  545 + path+"export/" + date+"-"+jName+"-"+clZbh+"-"+lpName+"-行车路单.xls");
546 return scheduleRealInfos; 546 return scheduleRealInfos;
547 } 547 }
548 548
@@ -575,12 +575,12 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -575,12 +575,12 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
575 map.put("totalYH", totalYH); 575 map.put("totalYH", totalYH);
576 map.put("totalBCS", totalBCS); 576 map.put("totalBCS", totalBCS);
577 577
578 - String path = this.getClass().getResource("/").getPath() + "static\\pages\\forms\\"; 578 + String path = this.getClass().getResource("/").getPath() + "static/pages/forms/";
579 579
580 listI.add(list.iterator()); 580 listI.add(list.iterator());
581 try { 581 try {
582 - ee.excelReplace(listI, new Object[]{map}, path + "mould\\daily.xls",  
583 - path + "export\\班次日报" + sdfSimple.format(sdfMonth.parse(date)) + ".xls"); 582 + ee.excelReplace(listI, new Object[]{map}, path + "mould/daily.xls",
  583 + path + "export/班次日报" + sdfSimple.format(sdfMonth.parse(date)) + ".xls");
584 } catch (ParseException e) { 584 } catch (ParseException e) {
585 e.printStackTrace(); 585 e.printStackTrace();
586 } 586 }
@@ -632,9 +632,9 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -632,9 +632,9 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
632 } 632 }
633 try { 633 try {
634 listI.add(newList.iterator()); 634 listI.add(newList.iterator());
635 - String path = this.getClass().getResource("/").getPath() + "static\\pages\\forms\\";  
636 - ee.excelReplace(listI, new Object[]{m}, path + "mould\\historyMessage.xls",  
637 - path + "export\\调度历史消息" + sdfSimple.format(sdfMonth.parse(date)) + ".xls"); 635 + String path = this.getClass().getResource("/").getPath() + "static/pages/forms/";
  636 + ee.excelReplace(listI, new Object[]{m}, path + "mould/historyMessage.xls",
  637 + path + "export/调度历史消息" + sdfSimple.format(sdfMonth.parse(date)) + ".xls");
638 } catch (Exception e) { 638 } catch (Exception e) {
639 // TODO: handle exception 639 // TODO: handle exception
640 e.printStackTrace(); 640 e.printStackTrace();
@@ -661,9 +661,9 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -661,9 +661,9 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
661 } 661 }
662 try { 662 try {
663 listI.add(newList.iterator()); 663 listI.add(newList.iterator());
664 - String path = this.getClass().getResource("/").getPath() + "static\\pages\\forms\\";  
665 - ee.excelReplace(listI, new Object[]{m}, path + "mould\\message.xls",  
666 - path + "export\\调度消息分析" + sdfSimple.format(sdfMonth.parse(date)) + ".xls"); 664 + String path = this.getClass().getResource("/").getPath() + "static/pages/forms/";
  665 + ee.excelReplace(listI, new Object[]{m}, path + "mould/message.xls",
  666 + path + "export/调度消息分析" + sdfSimple.format(sdfMonth.parse(date)) + ".xls");
667 } catch (Exception e) { 667 } catch (Exception e) {
668 // TODO: handle exception 668 // TODO: handle exception
669 e.printStackTrace(); 669 e.printStackTrace();
@@ -1261,9 +1261,9 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -1261,9 +1261,9 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
1261 } 1261 }
1262 try { 1262 try {
1263 listI.add(listMap.iterator()); 1263 listI.add(listMap.iterator());
1264 - String path = this.getClass().getResource("/").getPath() + "static\\pages\\forms\\";  
1265 - ee.excelReplace(listI, new Object[]{m}, path + "mould\\account.xls",  
1266 - path + "export\\驾驶员请求台账" + sdfSimple.format(sdfMonth.parse(date)) + ".xls"); 1264 + String path = this.getClass().getResource("/").getPath() + "static/pages/forms/";
  1265 + ee.excelReplace(listI, new Object[]{m}, path + "mould/account.xls",
  1266 + path + "export/驾驶员请求台账" + sdfSimple.format(sdfMonth.parse(date)) + ".xls");
1267 } catch (Exception e) { 1267 } catch (Exception e) {
1268 // TODO: handle exception 1268 // TODO: handle exception
1269 e.printStackTrace(); 1269 e.printStackTrace();
@@ -1316,9 +1316,9 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -1316,9 +1316,9 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
1316 } 1316 }
1317 try { 1317 try {
1318 listI.add(tempList.iterator()); 1318 listI.add(tempList.iterator());
1319 - String path = this.getClass().getResource("/").getPath() + "static\\pages\\forms\\";  
1320 - ee.excelReplace(listI, new Object[]{m}, path + "mould\\correctForm.xls",  
1321 - path + "export\\修正报表" + sdfSimple.format(sdfMonth.parse(startDate)) + "-" + sdfSimple.format(sdfMonth.parse(endDate)) + ".xls"); 1319 + String path = this.getClass().getResource("/").getPath() + "static/pages/forms/";
  1320 + ee.excelReplace(listI, new Object[]{m}, path + "mould/correctForm.xls",
  1321 + path + "export/修正报表" + sdfSimple.format(sdfMonth.parse(startDate)) + "-" + sdfSimple.format(sdfMonth.parse(endDate)) + ".xls");
1322 } catch (Exception e) { 1322 } catch (Exception e) {
1323 // TODO: handle exception 1323 // TODO: handle exception
1324 e.printStackTrace(); 1324 e.printStackTrace();
@@ -1554,9 +1554,9 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -1554,9 +1554,9 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
1554 ReportUtils ee = new ReportUtils(); 1554 ReportUtils ee = new ReportUtils();
1555 try { 1555 try {
1556 listI.add(lMap.iterator()); 1556 listI.add(lMap.iterator());
1557 - String path = this.getClass().getResource("/").getPath()+"static\\pages\\forms\\";  
1558 - ee.excelReplace(listI, new Object[] { m }, path+"mould\\statisticsDaily_.xls",  
1559 - path+"export\\统计日报" + sdfSimple.format(sdfMonth.parse(date))+".xls"); 1557 + String path = this.getClass().getResource("/").getPath()+"static/pages/forms/";
  1558 + ee.excelReplace(listI, new Object[] { m }, path+"mould/statisticsDaily_.xls",
  1559 + path+"export/统计日报" + sdfSimple.format(sdfMonth.parse(date))+".xls");
1560 } catch (Exception e) { 1560 } catch (Exception e) {
1561 // TODO: handle exception 1561 // TODO: handle exception
1562 e.printStackTrace(); 1562 e.printStackTrace();
src/main/java/com/bsth/service/schedule/PeopleCarPlanServiceImpl.java
@@ -259,9 +259,9 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { @@ -259,9 +259,9 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService {
259 ReportUtils ee = new ReportUtils(); 259 ReportUtils ee = new ReportUtils();
260 try { 260 try {
261 listI.add(resList.iterator()); 261 listI.add(resList.iterator());
262 - String path = this.getClass().getResource("/").getPath()+"static\\pages\\forms\\";  
263 - ee.excelReplace(listI, new Object[] { m }, path+"mould\\peoCarPlan.xls",  
264 - path+"export\\计划车辆班次人员" + sdfSimple.format(sdfMonth.parse(date)) + ".xls"); 262 + String path = this.getClass().getResource("/").getPath()+"static/pages/forms/";
  263 + ee.excelReplace(listI, new Object[] { m }, path+"mould/peoCarPlan.xls",
  264 + path+"export/计划车辆班次人员" + sdfSimple.format(sdfMonth.parse(date)) + ".xls");
265 } catch (Exception e) { 265 } catch (Exception e) {
266 // TODO: handle exception 266 // TODO: handle exception
267 e.printStackTrace(); 267 e.printStackTrace();
@@ -463,9 +463,9 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { @@ -463,9 +463,9 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService {
463 ReportUtils ee = new ReportUtils(); 463 ReportUtils ee = new ReportUtils();
464 try { 464 try {
465 listI.add(resList.iterator()); 465 listI.add(resList.iterator());
466 - String path = this.getClass().getResource("/").getPath()+"static\\pages\\forms\\";  
467 - ee.excelReplace(listI, new Object[] { m }, path+"mould\\workDaily.xls",  
468 - path+"export\\营运服务日报表"+ sdfSimple.format(sdfMonth.parse(date))+".xls"); 466 + String path = this.getClass().getResource("/").getPath()+"static/pages/forms/";
  467 + ee.excelReplace(listI, new Object[] { m }, path+"mould/workDaily.xls",
  468 + path+"export/营运服务日报表"+ sdfSimple.format(sdfMonth.parse(date))+".xls");
469 } catch (Exception e) { 469 } catch (Exception e) {
470 // TODO: handle exception 470 // TODO: handle exception
471 e.printStackTrace(); 471 e.printStackTrace();
@@ -735,9 +735,9 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { @@ -735,9 +735,9 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService {
735 ReportUtils ee = new ReportUtils(); 735 ReportUtils ee = new ReportUtils();
736 try { 736 try {
737 listI.add(resList.iterator()); 737 listI.add(resList.iterator());
738 - String path = this.getClass().getResource("/").getPath()+"static\\pages\\forms\\";  
739 - ee.excelReplace(listI, new Object[] { m }, path+"mould\\scheduleAnaly.xls",  
740 - path+"export\\时刻表分析" + sdfSimple.format(sdfMonth.parse(startDate)) + "-" + sdfSimple.format(sdfMonth.parse(endDate)) + ".xls"); 738 + String path = this.getClass().getResource("/").getPath()+"static/pages/forms/";
  739 + ee.excelReplace(listI, new Object[] { m }, path+"mould/scheduleAnaly.xls",
  740 + path+"export/时刻表分析" + sdfSimple.format(sdfMonth.parse(startDate)) + "-" + sdfSimple.format(sdfMonth.parse(endDate)) + ".xls");
741 } catch (Exception e) { 741 } catch (Exception e) {
742 // TODO: handle exception 742 // TODO: handle exception
743 e.printStackTrace(); 743 e.printStackTrace();
@@ -989,9 +989,9 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { @@ -989,9 +989,9 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService {
989 ReportUtils ee = new ReportUtils(); 989 ReportUtils ee = new ReportUtils();
990 try { 990 try {
991 listI.add(resList.iterator()); 991 listI.add(resList.iterator());
992 - String path = this.getClass().getResource("/").getPath()+"static\\pages\\forms\\";  
993 - ee.excelReplace(listI, new Object[] { m }, path+"mould\\firstAndLastBus.xls",  
994 - path+"export\\线路首末班" + sdfSimple.format(sdfMonth.parse(date)) + ".xls"); 992 + String path = this.getClass().getResource("/").getPath()+"static/pages/forms/";
  993 + ee.excelReplace(listI, new Object[] { m }, path+"mould/firstAndLastBus.xls",
  994 + path+"export/线路首末班" + sdfSimple.format(sdfMonth.parse(date)) + ".xls");
995 } catch (Exception e) { 995 } catch (Exception e) {
996 // TODO: handle exception 996 // TODO: handle exception
997 e.printStackTrace(); 997 e.printStackTrace();
@@ -1146,9 +1146,9 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { @@ -1146,9 +1146,9 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService {
1146 ReportUtils ee = new ReportUtils(); 1146 ReportUtils ee = new ReportUtils();
1147 try { 1147 try {
1148 listI.add(resList.iterator()); 1148 listI.add(resList.iterator());
1149 - String path = this.getClass().getResource("/").getPath()+"static\\pages\\forms\\";  
1150 - ee.excelReplace(listI, new Object[] { m }, path+"mould\\commandState.xls",  
1151 - path+"export\\指令状态分析" + sdfSimple.format(sdfMonth.parse(date)) + ".xls"); 1149 + String path = this.getClass().getResource("/").getPath()+"static/pages/forms/";
  1150 + ee.excelReplace(listI, new Object[] { m }, path+"mould/commandState.xls",
  1151 + path+"export/指令状态分析" + sdfSimple.format(sdfMonth.parse(date)) + ".xls");
1152 } catch (Exception e) { 1152 } catch (Exception e) {
1153 // TODO: handle exception 1153 // TODO: handle exception
1154 e.printStackTrace(); 1154 e.printStackTrace();
@@ -1172,9 +1172,9 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { @@ -1172,9 +1172,9 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService {
1172 + " 车辆:" + map1.get("clZbh") + " 人员:" + map1.get("jsy")); 1172 + " 车辆:" + map1.get("clZbh") + " 人员:" + map1.get("jsy"));
1173 } 1173 }
1174 } 1174 }
1175 - String path = this.getClass().getResource("/").getPath()+"static\\pages\\forms\\";  
1176 - ee.excelReplace(listI, new Object[] { m }, path+"mould\\commandState1.xls",  
1177 - path+"export\\指令状态明细" + sdfSimple.format(sdfMonth.parse(date)) + ".xls"); 1175 + String path = this.getClass().getResource("/").getPath()+"static/pages/forms/";
  1176 + ee.excelReplace(listI, new Object[] { m }, path+"mould/commandState1.xls",
  1177 + path+"export/指令状态明细" + sdfSimple.format(sdfMonth.parse(date)) + ".xls");
1178 } catch (Exception e) { 1178 } catch (Exception e) {
1179 // TODO: handle exception 1179 // TODO: handle exception
1180 e.printStackTrace(); 1180 e.printStackTrace();
src/main/java/com/bsth/service/schedule/impl/CarConfigInfoServiceImpl.java
@@ -5,11 +5,18 @@ import com.bsth.entity.schedule.rule.ScheduleRule1Flat; @@ -5,11 +5,18 @@ import com.bsth.entity.schedule.rule.ScheduleRule1Flat;
5 import com.bsth.service.schedule.CarConfigInfoService; 5 import com.bsth.service.schedule.CarConfigInfoService;
6 import com.bsth.service.schedule.exception.ScheduleException; 6 import com.bsth.service.schedule.exception.ScheduleException;
7 import com.bsth.service.schedule.ScheduleRule1FlatService; 7 import com.bsth.service.schedule.ScheduleRule1FlatService;
  8 +import com.bsth.service.schedule.utils.DataToolsProperties;
  9 +import org.slf4j.Logger;
  10 +import org.slf4j.LoggerFactory;
8 import org.springframework.beans.factory.annotation.Autowired; 11 import org.springframework.beans.factory.annotation.Autowired;
  12 +import org.springframework.boot.context.properties.EnableConfigurationProperties;
9 import org.springframework.stereotype.Service; 13 import org.springframework.stereotype.Service;
10 import org.springframework.transaction.annotation.Transactional; 14 import org.springframework.transaction.annotation.Transactional;
11 import org.springframework.util.CollectionUtils; 15 import org.springframework.util.CollectionUtils;
12 16
  17 +import java.io.File;
  18 +import java.io.PrintWriter;
  19 +import java.io.StringWriter;
13 import java.util.HashMap; 20 import java.util.HashMap;
14 import java.util.List; 21 import java.util.List;
15 import java.util.Map; 22 import java.util.Map;
@@ -17,11 +24,76 @@ import java.util.Map; @@ -17,11 +24,76 @@ import java.util.Map;
17 /** 24 /**
18 * Created by xu on 16/5/9. 25 * Created by xu on 16/5/9.
19 */ 26 */
  27 +@EnableConfigurationProperties(DataToolsProperties.class)
20 @Service 28 @Service
21 public class CarConfigInfoServiceImpl extends BServiceImpl<CarConfigInfo, Long> implements CarConfigInfoService { 29 public class CarConfigInfoServiceImpl extends BServiceImpl<CarConfigInfo, Long> implements CarConfigInfoService {
  30 + /** 日志记录器 */
  31 + private static Logger LOGGER = LoggerFactory.getLogger(CarConfigInfoServiceImpl.class);
  32 +
  33 + @Autowired
  34 + private DataToolsProperties dataToolsProperties;
  35 +
22 @Autowired 36 @Autowired
23 private ScheduleRule1FlatService scheduleRule1FlatService; 37 private ScheduleRule1FlatService scheduleRule1FlatService;
24 38
  39 + @Override
  40 + public void importData(File file, Map<String, Object> params) throws ScheduleException {
  41 + try {
  42 + LOGGER.info("//---------------- 导入车辆配置信息 start... ----------------//");
  43 + // 创建ktr转换所需参数
  44 + Map<String, Object> ktrParms = new HashMap<>();
  45 + File ktrFile = new File(this.getClass().getResource(
  46 + dataToolsProperties.getCarsconfigDatainputktr()).toURI());
  47 +
  48 + // 通用参数,转换文件路径,excel输入文件路径,错误输出文件路径
  49 + ktrParms.put("transpath", ktrFile.getAbsolutePath());
  50 + ktrParms.put("filepath", file.getAbsolutePath());
  51 + ktrParms.put("erroroutputdir", dataToolsProperties.getTransErrordir());
  52 +
  53 + super.importData(file, ktrParms);
  54 +
  55 + LOGGER.info("//---------------- 导入车辆配置信息 success... ----------------//");
  56 + } catch (Exception exp) {
  57 + LOGGER.info("//---------------- 导入车辆配置信息 failed... ----------------//");
  58 +
  59 + StringWriter sw = new StringWriter();
  60 + exp.printStackTrace(new PrintWriter(sw));
  61 + LOGGER.info(sw.toString());
  62 +
  63 + throw new ScheduleException(exp.getMessage());
  64 + }
  65 + }
  66 +
  67 + @Override
  68 + public File exportData(Map<String, Object> params) throws ScheduleException {
  69 + try {
  70 + LOGGER.info("//---------------- 导出车辆配置信息 start... ----------------//");
  71 + // 创建ktr转换所需参数
  72 + Map<String, Object> ktrParms = new HashMap<>();
  73 + File ktrFile = new File(this.getClass().getResource(
  74 + dataToolsProperties.getCarsconfigDataoutputktr()).toURI());
  75 +
  76 + // 通用参数,转换文件路径,excel输出文件名
  77 + ktrParms.put("transpath", ktrFile.getAbsolutePath());
  78 + ktrParms.put("filename", "车辆配置信息_download-");
  79 +
  80 + File file = super.exportData(ktrParms);
  81 +
  82 + LOGGER.info("//---------------- 导出车辆配置信息 success... ----------------//");
  83 +
  84 + return file;
  85 +
  86 + } catch (Exception exp) {
  87 + LOGGER.info("//---------------- 导出车辆配置信息 failed... ----------------//");
  88 +
  89 + StringWriter sw = new StringWriter();
  90 + exp.printStackTrace(new PrintWriter(sw));
  91 + LOGGER.info(sw.toString());
  92 +
  93 + throw new ScheduleException(exp.getMessage());
  94 + }
  95 + }
  96 +
25 @Transactional 97 @Transactional
26 public void validate_cars(CarConfigInfo carConfigInfo) throws ScheduleException { 98 public void validate_cars(CarConfigInfo carConfigInfo) throws ScheduleException {
27 // 相同车辆不能同时配置 99 // 相同车辆不能同时配置
src/main/java/com/bsth/service/schedule/impl/EmployeeConfigInfoServiceImpl.java
@@ -5,21 +5,93 @@ import com.bsth.entity.schedule.rule.ScheduleRule1Flat; @@ -5,21 +5,93 @@ import com.bsth.entity.schedule.rule.ScheduleRule1Flat;
5 import com.bsth.service.schedule.EmployeeConfigInfoService; 5 import com.bsth.service.schedule.EmployeeConfigInfoService;
6 import com.bsth.service.schedule.exception.ScheduleException; 6 import com.bsth.service.schedule.exception.ScheduleException;
7 import com.bsth.service.schedule.ScheduleRule1FlatService; 7 import com.bsth.service.schedule.ScheduleRule1FlatService;
  8 +import com.bsth.service.schedule.utils.DataToolsProperties;
  9 +import org.slf4j.Logger;
  10 +import org.slf4j.LoggerFactory;
8 import org.springframework.beans.factory.annotation.Autowired; 11 import org.springframework.beans.factory.annotation.Autowired;
  12 +import org.springframework.boot.context.properties.EnableConfigurationProperties;
9 import org.springframework.stereotype.Service; 13 import org.springframework.stereotype.Service;
10 import org.springframework.transaction.annotation.Transactional; 14 import org.springframework.transaction.annotation.Transactional;
11 import org.springframework.util.CollectionUtils; 15 import org.springframework.util.CollectionUtils;
12 16
  17 +import java.io.File;
  18 +import java.io.PrintWriter;
  19 +import java.io.StringWriter;
13 import java.util.*; 20 import java.util.*;
14 21
15 /** 22 /**
16 * Created by xu on 16/5/10. 23 * Created by xu on 16/5/10.
17 */ 24 */
  25 +@EnableConfigurationProperties(DataToolsProperties.class)
18 @Service 26 @Service
19 public class EmployeeConfigInfoServiceImpl extends BServiceImpl<EmployeeConfigInfo, Long> implements EmployeeConfigInfoService { 27 public class EmployeeConfigInfoServiceImpl extends BServiceImpl<EmployeeConfigInfo, Long> implements EmployeeConfigInfoService {
  28 + /** 日志记录器 */
  29 + private static Logger LOGGER = LoggerFactory.getLogger(EmployeeConfigInfoServiceImpl.class);
  30 +
  31 + @Autowired
  32 + private DataToolsProperties dataToolsProperties;
  33 +
20 @Autowired 34 @Autowired
21 private ScheduleRule1FlatService scheduleRule1FlatService; 35 private ScheduleRule1FlatService scheduleRule1FlatService;
22 36
  37 + @Override
  38 + public void importData(File file, Map<String, Object> params) throws ScheduleException {
  39 + try {
  40 + LOGGER.info("//---------------- 导入人员配置信息 start... ----------------//");
  41 + // 创建ktr转换所需参数
  42 + Map<String, Object> ktrParms = new HashMap<>();
  43 + File ktrFile = new File(this.getClass().getResource(
  44 + dataToolsProperties.getEmployeesconfigDatainputktr()).toURI());
  45 +
  46 + // 通用参数,转换文件路径,excel输入文件路径,错误输出文件路径
  47 + ktrParms.put("transpath", ktrFile.getAbsolutePath());
  48 + ktrParms.put("filepath", file.getAbsolutePath());
  49 + ktrParms.put("erroroutputdir", dataToolsProperties.getTransErrordir());
  50 +
  51 + super.importData(file, ktrParms);
  52 +
  53 + LOGGER.info("//---------------- 导入人员配置信息 success... ----------------//");
  54 + } catch (Exception exp) {
  55 + LOGGER.info("//---------------- 导入人员配置信息 failed... ----------------//");
  56 +
  57 + StringWriter sw = new StringWriter();
  58 + exp.printStackTrace(new PrintWriter(sw));
  59 + LOGGER.info(sw.toString());
  60 +
  61 + throw new ScheduleException(exp.getMessage());
  62 + }
  63 + }
  64 +
  65 + @Override
  66 + public File exportData(Map<String, Object> params) throws ScheduleException {
  67 + try {
  68 + LOGGER.info("//---------------- 导出人员配置信息 start... ----------------//");
  69 + // 创建ktr转换所需参数
  70 + Map<String, Object> ktrParms = new HashMap<>();
  71 + File ktrFile = new File(this.getClass().getResource(
  72 + dataToolsProperties.getEmployeesconfigDataoutputktr()).toURI());
  73 +
  74 + // 通用参数,转换文件路径,excel输出文件名
  75 + ktrParms.put("transpath", ktrFile.getAbsolutePath());
  76 + ktrParms.put("filename", "人员配置信息_download-");
  77 +
  78 + File file = super.exportData(ktrParms);
  79 +
  80 + LOGGER.info("//---------------- 导出人员配置信息 success... ----------------//");
  81 +
  82 + return file;
  83 +
  84 + } catch (Exception exp) {
  85 + LOGGER.info("//---------------- 导出人员配置信息 failed... ----------------//");
  86 +
  87 + StringWriter sw = new StringWriter();
  88 + exp.printStackTrace(new PrintWriter(sw));
  89 + LOGGER.info(sw.toString());
  90 +
  91 + throw new ScheduleException(exp.getMessage());
  92 + }
  93 + }
  94 +
23 @Transactional 95 @Transactional
24 @Override 96 @Override
25 public void validate_jsy(EmployeeConfigInfo employeeConfigInfo) throws ScheduleException { 97 public void validate_jsy(EmployeeConfigInfo employeeConfigInfo) throws ScheduleException {
src/main/java/com/bsth/service/schedule/impl/TTInfoDetailServiceImpl.java
@@ -232,85 +232,86 @@ public class TTInfoDetailServiceImpl extends BServiceImpl&lt;TTInfoDetail, Long&gt; im @@ -232,85 +232,86 @@ public class TTInfoDetailServiceImpl extends BServiceImpl&lt;TTInfoDetail, Long&gt; im
232 232
233 super.exportData(ktrParms); 233 super.exportData(ktrParms);
234 234
  235 + EditInfo editInfo = new EditInfo(); // 输出数据
  236 +
235 // 1.6、获取最大的发车数,用于输出数据的数量 237 // 1.6、获取最大的发车数,用于输出数据的数量
236 Long maxfcno = ttInfoDetailRepository.findMaxFcno(xlid, ttid); 238 Long maxfcno = ttInfoDetailRepository.findMaxFcno(xlid, ttid);
237 - if (maxfcno == null)  
238 - return new EditInfo();  
239 -  
240 - // 2、读取ktr生成的excel数据,组织编辑用数据返回  
241 - // 2-1、读取Excel文件  
242 - Workbook book = Workbook.getWorkbook(new File(dataToolsProperties.getTransTempdir() +  
243 - File.separator + outputFilePath + ".xls"));  
244 - Sheet sheet = book.getSheet(0);  
245 - EditInfo editInfo = new EditInfo();  
246 - // 2-2、处理数据  
247 - int all_bc = 0; // 总班次  
248 - double all_lc_ks = 0; // 总空驶里程  
249 - double all_lc_yy = 0; // 总营运里程  
250 -  
251 - String[] headarrays = new String[maxfcno.intValue() + 3];  
252 - headarrays[0] = "路牌";  
253 - headarrays[maxfcno.intValue() + 1] = "空驶班次/空驶里程";  
254 - headarrays[maxfcno.intValue() + 2] = "运营班次/运营里程";  
255 -  
256 - for (int r = 1; r < sheet.getRows(); r++) {  
257 - List<FcInfo> fcInfos = new ArrayList<>();  
258 - // 每行第一列都是路牌  
259 - fcInfos.add(new FcInfo(null, null, sheet.getCell(0, r).getContents(), null, null)); // 用fcsj放置路牌显示  
260 -  
261 - int bc_ks = 0; // 空驶班次  
262 - int bc_yy = 0; // 营运班次  
263 - double lc_ks = 0; // 空驶里程  
264 - double lc_yy = 0; // 营运里程  
265 -  
266 - for (int c = 1; c <= maxfcno * 7; ) {  
267 - String ttdid_str = sheet.getCell(c, r).getContents(); // 时刻表明细id  
268 - String fcsj = sheet.getCell(c + 1, r).getContents(); // 发车时间  
269 - String jhlc = sheet.getCell(c + 2, r).getContents(); // 计划里程  
270 - String fzdname = sheet.getCell(c + 3, r).getContents(); // 发车站点名称  
271 - String bctype = sheet.getCell(c + 4, r).getContents(); // 班次类型  
272 - String xldir = sheet.getCell(c + 5, r).getContents(); // 线路上下行  
273 - String isfb = sheet.getCell(c + 6, r).getContents(); // 是否分班  
274 -  
275 - FcInfo fcInfo = new FcInfo(ttdid_str, bctype, fcsj, xldir, isfb);  
276 -  
277 - if (StringUtils.isNotEmpty(fzdname))  
278 - headarrays[(int)(c / 7) + 1] = fzdname;  
279 - fcInfos.add(fcInfo);  
280 -  
281 - c += 7;  
282 -  
283 - // 计算班次里程  
284 - if (StringUtils.isNotEmpty(jhlc)) {  
285 - if ("in".equals(bctype) || "out".equals(bctype)) {  
286 - bc_ks += 1;  
287 - lc_ks += Double.valueOf(jhlc);  
288 -  
289 - all_bc += 1;  
290 - all_lc_ks += Double.valueOf(jhlc); 239 + if (maxfcno != null) {
  240 + // 2、读取ktr生成的excel数据,组织编辑用数据返回
  241 + // 2-1、读取Excel文件
  242 + Workbook book = Workbook.getWorkbook(new File(dataToolsProperties.getTransTempdir() +
  243 + File.separator + outputFilePath + ".xls"));
  244 + Sheet sheet = book.getSheet(0);
  245 +
  246 + // 2-2、处理数据
  247 + int all_bc = 0; // 总班次
  248 + double all_lc_ks = 0; // 总空驶里程
  249 + double all_lc_yy = 0; // 总营运里程
  250 +
  251 + String[] headarrays = new String[maxfcno.intValue() + 3];
  252 + headarrays[0] = "路牌";
  253 + headarrays[maxfcno.intValue() + 1] = "空驶班次/空驶里程";
  254 + headarrays[maxfcno.intValue() + 2] = "运营班次/运营里程";
  255 +
  256 + for (int r = 1; r < sheet.getRows(); r++) {
  257 + List<FcInfo> fcInfos = new ArrayList<>();
  258 + // 每行第一列都是路牌
  259 + fcInfos.add(new FcInfo(null, null, sheet.getCell(0, r).getContents(), null, null)); // 用fcsj放置路牌显示
  260 +
  261 + int bc_ks = 0; // 空驶班次
  262 + int bc_yy = 0; // 营运班次
  263 + double lc_ks = 0; // 空驶里程
  264 + double lc_yy = 0; // 营运里程
  265 +
  266 + for (int c = 1; c <= maxfcno * 7; ) {
  267 + String ttdid_str = sheet.getCell(c, r).getContents(); // 时刻表明细id
  268 + String fcsj = sheet.getCell(c + 1, r).getContents(); // 发车时间
  269 + String jhlc = sheet.getCell(c + 2, r).getContents(); // 计划里程
  270 + String fzdname = sheet.getCell(c + 3, r).getContents(); // 发车站点名称
  271 + String bctype = sheet.getCell(c + 4, r).getContents(); // 班次类型
  272 + String xldir = sheet.getCell(c + 5, r).getContents(); // 线路上下行
  273 + String isfb = sheet.getCell(c + 6, r).getContents(); // 是否分班
  274 +
  275 + FcInfo fcInfo = new FcInfo(ttdid_str, bctype, fcsj, xldir, isfb);
  276 +
  277 + if (StringUtils.isNotEmpty(fzdname))
  278 + headarrays[(int)(c / 7) + 1] = fzdname;
  279 + fcInfos.add(fcInfo);
  280 +
  281 + c += 7;
  282 +
  283 + // 计算班次里程
  284 + if (StringUtils.isNotEmpty(jhlc)) {
  285 + if ("in".equals(bctype) || "out".equals(bctype)) {
  286 + bc_ks += 1;
  287 + lc_ks += Double.valueOf(jhlc);
  288 +
  289 + all_bc += 1;
  290 + all_lc_ks += Double.valueOf(jhlc);
291 291
292 - } else {  
293 - bc_yy += 1;  
294 - lc_yy += Double.valueOf(jhlc); 292 + } else {
  293 + bc_yy += 1;
  294 + lc_yy += Double.valueOf(jhlc);
295 295
296 - all_bc += 1;  
297 - all_lc_yy += Double.valueOf(jhlc); 296 + all_bc += 1;
  297 + all_lc_yy += Double.valueOf(jhlc);
  298 + }
298 } 299 }
  300 +
299 } 301 }
300 302
301 - } 303 + // 添加一列 空驶班次/空驶里程,fcsj放置数据
  304 + fcInfos.add(new FcInfo(null, null, String.format("%d/%.2f", bc_ks, lc_ks), null, null));
302 305
303 - // 添加一列 空驶班次/空驶里程,fcsj放置数据  
304 - fcInfos.add(new FcInfo(null, null, String.format("%d/%.2f", bc_ks, lc_ks), null, null)); 306 + // 添加一列 营运班次/营运里程,fcsj放置数据
  307 + fcInfos.add(new FcInfo(null, null, String.format("%d/%.2f", bc_yy, lc_yy), null, null));
305 308
306 - // 添加一列 营运班次/营运里程,fcsj放置数据  
307 - fcInfos.add(new FcInfo(null, null, String.format("%d/%.2f", bc_yy, lc_yy), null, null)); 309 + editInfo.getContents().add(fcInfos);
  310 + }
  311 + editInfo.getHeader().addAll(Arrays.asList(headarrays));
308 312
309 - editInfo.getContents().add(fcInfos); 313 + editInfo.setYy_desc(String.format("班次=%d,空驶里程=%.2f,营运里程=%.2f", all_bc, all_lc_ks, all_lc_yy));
310 } 314 }
311 - editInfo.getHeader().addAll(Arrays.asList(headarrays));  
312 -  
313 - editInfo.setYy_desc(String.format("班次=%d,空驶里程=%.2f,营运里程=%.2f", all_bc, all_lc_ks, all_lc_yy));  
314 315
315 LOGGER.info("//---------------- 时刻表编辑用数据输出 success... ----------------//"); 316 LOGGER.info("//---------------- 时刻表编辑用数据输出 success... ----------------//");
316 317
src/main/java/com/bsth/service/schedule/utils/DataToolsProperties.java
@@ -93,6 +93,12 @@ public class DataToolsProperties { @@ -93,6 +93,12 @@ public class DataToolsProperties {
93 @NotNull 93 @NotNull
94 /** 排版规则导出数据ktr转换 */ 94 /** 排版规则导出数据ktr转换 */
95 private String scheduleruleOutput; 95 private String scheduleruleOutput;
  96 + @NotNull
  97 + /** 车辆配置信息导出ktr转换 */
  98 + private String carsconfigDataoutputktr;
  99 + @NotNull
  100 + /** 人员配置信息导出ktr转换 */
  101 + private String employeesconfigDataoutputktr;
96 102
97 // TODO: 103 // TODO:
98 104
@@ -287,4 +293,20 @@ public class DataToolsProperties { @@ -287,4 +293,20 @@ public class DataToolsProperties {
287 public void setScheduleruleOutput(String scheduleruleOutput) { 293 public void setScheduleruleOutput(String scheduleruleOutput) {
288 this.scheduleruleOutput = scheduleruleOutput; 294 this.scheduleruleOutput = scheduleruleOutput;
289 } 295 }
  296 +
  297 + public String getCarsconfigDataoutputktr() {
  298 + return carsconfigDataoutputktr;
  299 + }
  300 +
  301 + public void setCarsconfigDataoutputktr(String carsconfigDataoutputktr) {
  302 + this.carsconfigDataoutputktr = carsconfigDataoutputktr;
  303 + }
  304 +
  305 + public String getEmployeesconfigDataoutputktr() {
  306 + return employeesconfigDataoutputktr;
  307 + }
  308 +
  309 + public void setEmployeesconfigDataoutputktr(String employeesconfigDataoutputktr) {
  310 + this.employeesconfigDataoutputktr = employeesconfigDataoutputktr;
  311 + }
290 } 312 }
src/main/java/com/bsth/util/ReportUtils.java
@@ -342,8 +342,8 @@ public class ReportUtils { @@ -342,8 +342,8 @@ public class ReportUtils {
342 dataList.add(sr); 342 dataList.add(sr);
343 list.add(dataList.iterator()); 343 list.add(dataList.iterator());
344 344
345 - ee.excelReplace(list, new Object[] { srr }, "D:\\waybill.xls",  
346 - "D:\\22.xls"); 345 + ee.excelReplace(list, new Object[] { srr }, "D:/waybill.xls",
  346 + "D:/22.xls");
347 System.out.println("ok"); 347 System.out.println("ok");
348 } catch (Exception e) { 348 } catch (Exception e) {
349 e.printStackTrace(); 349 e.printStackTrace();
src/main/resources/datatools/config-dev.properties
@@ -60,6 +60,10 @@ datatools.ttinfodetail_output=/datatools/ktrs/ttinfodetailDataOutput.ktr @@ -60,6 +60,10 @@ datatools.ttinfodetail_output=/datatools/ktrs/ttinfodetailDataOutput.ktr
60 # 排版规则导出数据ktr转换 60 # 排版规则导出数据ktr转换
61 datatools.schedulerule_output=/datatools/ktrs/scheduleRuleDataOutput.ktr 61 datatools.schedulerule_output=/datatools/ktrs/scheduleRuleDataOutput.ktr
62 62
  63 +# 车辆配置信息导出ktr转换
  64 +datatools.carsconfig_dataoutputktr=/datatools/ktrs/carsConfigDataOutput.ktr
  65 +# 人员配置信息导出ktr转换
  66 +datatools.employeesconfig_dataoutputktr=/datatools/ktrs/employeesConfigDataOutput.ktr
63 67
64 68
65 # TODO: 69 # TODO:
src/main/resources/datatools/config-prod.properties
@@ -61,5 +61,10 @@ datatools.ttinfodetail_output=/datatools/ktrs/ttinfodetailDataOutput.ktr @@ -61,5 +61,10 @@ datatools.ttinfodetail_output=/datatools/ktrs/ttinfodetailDataOutput.ktr
61 # 排版规则导出数据ktr转换 61 # 排版规则导出数据ktr转换
62 datatools.schedulerule_output=/datatools/ktrs/scheduleRuleDataOutput.ktr 62 datatools.schedulerule_output=/datatools/ktrs/scheduleRuleDataOutput.ktr
63 63
  64 +# 车辆配置信息导出ktr转换
  65 +datatools.carsconfig_dataoutputktr=/datatools/ktrs/carsConfigDataOutput.ktr
  66 +# 人员配置信息导出ktr转换
  67 +datatools.employeesconfig_dataoutputktr=/datatools/ktrs/employeesConfigDataOutput.ktr
  68 +
64 69
65 # TODO: 70 # TODO:
66 \ No newline at end of file 71 \ No newline at end of file
src/main/resources/datatools/ktrs/carsConfigDataInput.ktr
1 -<?xml version="1.0" encoding="UTF-8"?>  
2 -<transformation>  
3 - <info>  
4 - <name>carsConfigDataInput</name>  
5 - <description>&#x8f66;&#x8f86;&#x914d;&#x7f6e;&#x4fe1;&#x606f;&#x5bfc;&#x5165;</description>  
6 - <extended_description>&#x914d;&#x8f66;&#x4fe1;&#x606f;</extended_description>  
7 - <trans_version/>  
8 - <trans_type>Normal</trans_type>  
9 - <trans_status>0</trans_status>  
10 - <directory>&#x2f;</directory>  
11 - <parameters>  
12 - <parameter>  
13 - <name>erroroutputdir</name>  
14 - <default_value/>  
15 - <description>ktr step&#x914d;&#x7f6e;&#x7684;&#x9519;&#x8bef;&#x8f93;&#x51fa;&#x76ee;&#x5f55;</description>  
16 - </parameter>  
17 - <parameter>  
18 - <name>filepath</name>  
19 - <default_value/>  
20 - <description>&#x5f85;&#x5904;&#x7406;&#x5bfc;&#x5165;&#x7684;excel&#x6587;&#x4ef6;</description>  
21 - </parameter>  
22 - </parameters>  
23 - <log>  
24 -<trans-log-table><connection/>  
25 -<schema/>  
26 -<table/>  
27 -<size_limit_lines/>  
28 -<interval/>  
29 -<timeout_days/>  
30 -<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STATUS</id><enabled>Y</enabled><name>STATUS</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name><subject/></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name><subject/></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name><subject/></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name><subject/></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name><subject/></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name><subject/></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>STARTDATE</id><enabled>Y</enabled><name>STARTDATE</name></field><field><id>ENDDATE</id><enabled>Y</enabled><name>ENDDATE</name></field><field><id>LOGDATE</id><enabled>Y</enabled><name>LOGDATE</name></field><field><id>DEPDATE</id><enabled>Y</enabled><name>DEPDATE</name></field><field><id>REPLAYDATE</id><enabled>Y</enabled><name>REPLAYDATE</name></field><field><id>LOG_FIELD</id><enabled>Y</enabled><name>LOG_FIELD</name></field><field><id>EXECUTING_SERVER</id><enabled>N</enabled><name>EXECUTING_SERVER</name></field><field><id>EXECUTING_USER</id><enabled>N</enabled><name>EXECUTING_USER</name></field><field><id>CLIENT</id><enabled>N</enabled><name>CLIENT</name></field></trans-log-table>  
31 -<perf-log-table><connection/>  
32 -<schema/>  
33 -<table/>  
34 -<interval/>  
35 -<timeout_days/>  
36 -<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>SEQ_NR</id><enabled>Y</enabled><name>SEQ_NR</name></field><field><id>LOGDATE</id><enabled>Y</enabled><name>LOGDATE</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STEPNAME</id><enabled>Y</enabled><name>STEPNAME</name></field><field><id>STEP_COPY</id><enabled>Y</enabled><name>STEP_COPY</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>INPUT_BUFFER_ROWS</id><enabled>Y</enabled><name>INPUT_BUFFER_ROWS</name></field><field><id>OUTPUT_BUFFER_ROWS</id><enabled>Y</enabled><name>OUTPUT_BUFFER_ROWS</name></field></perf-log-table>  
37 -<channel-log-table><connection/>  
38 -<schema/>  
39 -<table/>  
40 -<timeout_days/>  
41 -<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>LOGGING_OBJECT_TYPE</id><enabled>Y</enabled><name>LOGGING_OBJECT_TYPE</name></field><field><id>OBJECT_NAME</id><enabled>Y</enabled><name>OBJECT_NAME</name></field><field><id>OBJECT_COPY</id><enabled>Y</enabled><name>OBJECT_COPY</name></field><field><id>REPOSITORY_DIRECTORY</id><enabled>Y</enabled><name>REPOSITORY_DIRECTORY</name></field><field><id>FILENAME</id><enabled>Y</enabled><name>FILENAME</name></field><field><id>OBJECT_ID</id><enabled>Y</enabled><name>OBJECT_ID</name></field><field><id>OBJECT_REVISION</id><enabled>Y</enabled><name>OBJECT_REVISION</name></field><field><id>PARENT_CHANNEL_ID</id><enabled>Y</enabled><name>PARENT_CHANNEL_ID</name></field><field><id>ROOT_CHANNEL_ID</id><enabled>Y</enabled><name>ROOT_CHANNEL_ID</name></field></channel-log-table>  
42 -<step-log-table><connection/>  
43 -<schema/>  
44 -<table/>  
45 -<timeout_days/>  
46 -<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STEPNAME</id><enabled>Y</enabled><name>STEPNAME</name></field><field><id>STEP_COPY</id><enabled>Y</enabled><name>STEP_COPY</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>LOG_FIELD</id><enabled>N</enabled><name>LOG_FIELD</name></field></step-log-table>  
47 -<metrics-log-table><connection/>  
48 -<schema/>  
49 -<table/>  
50 -<timeout_days/>  
51 -<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>METRICS_DATE</id><enabled>Y</enabled><name>METRICS_DATE</name></field><field><id>METRICS_CODE</id><enabled>Y</enabled><name>METRICS_CODE</name></field><field><id>METRICS_DESCRIPTION</id><enabled>Y</enabled><name>METRICS_DESCRIPTION</name></field><field><id>METRICS_SUBJECT</id><enabled>Y</enabled><name>METRICS_SUBJECT</name></field><field><id>METRICS_TYPE</id><enabled>Y</enabled><name>METRICS_TYPE</name></field><field><id>METRICS_VALUE</id><enabled>Y</enabled><name>METRICS_VALUE</name></field></metrics-log-table>  
52 - </log>  
53 - <maxdate>  
54 - <connection/>  
55 - <table/>  
56 - <field/>  
57 - <offset>0.0</offset>  
58 - <maxdiff>0.0</maxdiff>  
59 - </maxdate>  
60 - <size_rowset>10000</size_rowset>  
61 - <sleep_time_empty>50</sleep_time_empty>  
62 - <sleep_time_full>50</sleep_time_full>  
63 - <unique_connections>N</unique_connections>  
64 - <feedback_shown>Y</feedback_shown>  
65 - <feedback_size>50000</feedback_size>  
66 - <using_thread_priorities>Y</using_thread_priorities>  
67 - <shared_objects_file/>  
68 - <capture_step_performance>N</capture_step_performance>  
69 - <step_performance_capturing_delay>1000</step_performance_capturing_delay>  
70 - <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit>  
71 - <dependencies>  
72 - </dependencies>  
73 - <partitionschemas>  
74 - </partitionschemas>  
75 - <slaveservers>  
76 - </slaveservers>  
77 - <clusterschemas>  
78 - </clusterschemas>  
79 - <created_user>-</created_user>  
80 - <created_date>2016&#x2f;06&#x2f;29 13&#x3a;15&#x3a;32.118</created_date>  
81 - <modified_user>-</modified_user>  
82 - <modified_date>2016&#x2f;06&#x2f;29 13&#x3a;15&#x3a;32.118</modified_date>  
83 - <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</key_for_session_key>  
84 - <is_key_private>N</is_key_private>  
85 - </info>  
86 - <notepads>  
87 - <notepad>  
88 - <note>&#x914d;&#x8f66;&#x5206;&#x5f53;&#x524d;&#x2f;&#x5386;&#x53f2;&#x2f;&#x8ba1;&#x5212;&#xff0c;&#x5386;&#x53f2;&#x914d;&#x8f66;&#x6709;&#x7ec8;&#x6b62;&#x65f6;&#x95f4;&#xff0c;&#x7136;&#x540e;&#x662f;&#x5426;&#x5207;&#x6362;&#x57fa;&#x672c;&#x90fd;&#x662f;1&#xa;&#x662f;&#x5426;&#x5207;&#x6362; &#x6682;&#x65f6;&#x4e0d;&#x77e5;&#x9053;&#x4ec0;&#x4e48;&#x610f;&#x601d;&#xff0c;&#x5f53;&#x524d;&#x914d;&#x8f66;&#x90fd;&#x8bbe;&#x7f6e;&#x4e3a;0&#xa;&#x7ec8;&#x6b62;&#x65f6;&#x95f4; &#x5f53;&#x524d;&#x914d;&#x8f66;&#x6ca1;&#x6709;&#x7ec8;&#x6b62;&#x65f6;&#x95f4;&#xff0c;&#x8fd9;&#x4e2a;&#x4f30;&#x8ba1;&#x8981;&#x4f5c;&#x4e3a;&#x67e5;&#x8be2;&#x6761;&#x4ef6;&#x7684;&#xa;&#x65e9;&#x73ed;&#x65f6;&#x95f4; &#x6ca1;&#x6709;&#x6682;&#x65f6;&#x7a7a;&#x7740;&#xa;&#x672b;&#x73ed;&#x65f6;&#x95f4; &#x6ca1;&#x6709;&#x6682;&#x65f6;&#x7a7a;&#x7740;&#xa;</note>  
89 - <xloc>260</xloc>  
90 - <yloc>124</yloc>  
91 - <width>391</width>  
92 - <heigth>106</heigth>  
93 - <fontname>YaHei Consolas Hybrid</fontname>  
94 - <fontsize>12</fontsize>  
95 - <fontbold>N</fontbold>  
96 - <fontitalic>N</fontitalic>  
97 - <fontcolorred>0</fontcolorred>  
98 - <fontcolorgreen>0</fontcolorgreen>  
99 - <fontcolorblue>0</fontcolorblue>  
100 - <backgroundcolorred>255</backgroundcolorred>  
101 - <backgroundcolorgreen>205</backgroundcolorgreen>  
102 - <backgroundcolorblue>112</backgroundcolorblue>  
103 - <bordercolorred>100</bordercolorred>  
104 - <bordercolorgreen>100</bordercolorgreen>  
105 - <bordercolorblue>100</bordercolorblue>  
106 - <drawshadow>Y</drawshadow>  
107 - </notepad>  
108 - </notepads>  
109 - <connection>  
110 - <name>bus_control_variable</name>  
111 - <server>&#x24;&#x7b;v_db_ip&#x7d;</server>  
112 - <type>MYSQL</type>  
113 - <access>Native</access>  
114 - <database>&#x24;&#x7b;v_db_dname&#x7d;</database>  
115 - <port>3306</port>  
116 - <username>&#x24;&#x7b;v_db_uname&#x7d;</username>  
117 - <password>&#x24;&#x7b;v_db_pwd&#x7d;</password>  
118 - <servername/>  
119 - <data_tablespace/>  
120 - <index_tablespace/>  
121 - <attributes>  
122 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
123 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
124 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
125 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
126 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
127 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
128 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
129 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
130 - <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>  
131 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
132 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
133 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
134 - </attributes>  
135 - </connection>  
136 - <connection>  
137 - <name>bus_control_&#x516c;&#x53f8;_201</name>  
138 - <server>localhost</server>  
139 - <type>MYSQL</type>  
140 - <access>Native</access>  
141 - <database>control</database>  
142 - <port>3306</port>  
143 - <username>root</username>  
144 - <password>Encrypted </password>  
145 - <servername/>  
146 - <data_tablespace/>  
147 - <index_tablespace/>  
148 - <attributes>  
149 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
150 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
151 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
152 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
153 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
154 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
155 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
156 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
157 - <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>  
158 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
159 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
160 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
161 - </attributes>  
162 - </connection>  
163 - <connection>  
164 - <name>bus_control_&#x672c;&#x673a;</name>  
165 - <server>localhost</server>  
166 - <type>MYSQL</type>  
167 - <access>Native</access>  
168 - <database>control</database>  
169 - <port>3306</port>  
170 - <username>root</username>  
171 - <password>Encrypted </password>  
172 - <servername/>  
173 - <data_tablespace/>  
174 - <index_tablespace/>  
175 - <attributes>  
176 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
177 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
178 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
179 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
180 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
181 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
182 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
183 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
184 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
185 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
186 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
187 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
188 - </attributes>  
189 - </connection>  
190 - <connection>  
191 - <name>xlab_mysql_youle</name>  
192 - <server>101.231.124.8</server>  
193 - <type>MYSQL</type>  
194 - <access>Native</access>  
195 - <database>xlab_youle</database>  
196 - <port>45687</port>  
197 - <username>xlab-youle</username>  
198 - <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password>  
199 - <servername/>  
200 - <data_tablespace/>  
201 - <index_tablespace/>  
202 - <attributes>  
203 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
204 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
205 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
206 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
207 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
208 - <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute>  
209 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
210 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
211 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
212 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>  
213 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>  
214 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
215 - </attributes>  
216 - </connection>  
217 - <connection>  
218 - <name>xlab_mysql_youle&#xff08;&#x672c;&#x673a;&#xff09;</name>  
219 - <server>localhost</server>  
220 - <type>MYSQL</type>  
221 - <access>Native</access>  
222 - <database>xlab_youle</database>  
223 - <port>3306</port>  
224 - <username>root</username>  
225 - <password>Encrypted </password>  
226 - <servername/>  
227 - <data_tablespace/>  
228 - <index_tablespace/>  
229 - <attributes>  
230 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
231 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
232 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
233 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
234 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
235 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
236 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
237 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
238 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
239 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>  
240 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>  
241 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
242 - </attributes>  
243 - </connection>  
244 - <connection>  
245 - <name>xlab_youle</name>  
246 - <server/>  
247 - <type>MYSQL</type>  
248 - <access>JNDI</access>  
249 - <database>xlab_youle</database>  
250 - <port>1521</port>  
251 - <username/>  
252 - <password>Encrypted </password>  
253 - <servername/>  
254 - <data_tablespace/>  
255 - <index_tablespace/>  
256 - <attributes>  
257 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
258 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
259 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
260 - <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>  
261 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
262 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
263 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
264 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
265 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
266 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
267 - </attributes>  
268 - </connection>  
269 - <order>  
270 - <hop> <from>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</from><to>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</to><enabled>Y</enabled> </hop>  
271 - <hop> <from>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</from><to>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop>  
272 - <hop> <from>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ccinfo</from><to>&#x9519;&#x8bef;&#x8f93;&#x51fa;</to><enabled>Y</enabled> </hop>  
273 - <hop> <from>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x5173;&#x8054;</from><to>&#x67e5;&#x627e;&#x8f66;&#x8f86;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop>  
274 - <hop> <from>&#x67e5;&#x627e;&#x8f66;&#x8f86;&#x5173;&#x8054;</from><to>&#x662f;&#x5426;&#x5207;&#x6362;</to><enabled>Y</enabled> </hop>  
275 - <hop> <from>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</from><to>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</to><enabled>Y</enabled> </hop>  
276 - <hop> <from>&#x662f;&#x5426;&#x5207;&#x6362;</from><to>&#x65e5;&#x671f;&#x8f6c;&#x6362;</to><enabled>Y</enabled> </hop>  
277 - <hop> <from>&#x65e5;&#x671f;&#x8f6c;&#x6362;</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ccinfo</to><enabled>Y</enabled> </hop>  
278 - </order>  
279 - <step>  
280 - <name>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</name>  
281 - <type>ExcelInput</type>  
282 - <description/>  
283 - <distribute>Y</distribute>  
284 - <custom_distribution/>  
285 - <copies>1</copies>  
286 - <partitioning>  
287 - <method>none</method>  
288 - <schema_name/>  
289 - </partitioning>  
290 - <header>Y</header>  
291 - <noempty>Y</noempty>  
292 - <stoponempty>N</stoponempty>  
293 - <filefield/>  
294 - <sheetfield/>  
295 - <sheetrownumfield/>  
296 - <rownumfield/>  
297 - <sheetfield/>  
298 - <filefield/>  
299 - <limit>0</limit>  
300 - <encoding/>  
301 - <add_to_result_filenames>Y</add_to_result_filenames>  
302 - <accept_filenames>Y</accept_filenames>  
303 - <accept_field>filepath_</accept_field>  
304 - <accept_stepname>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</accept_stepname>  
305 - <file>  
306 - <name/>  
307 - <filemask/>  
308 - <exclude_filemask/>  
309 - <file_required>N</file_required>  
310 - <include_subfolders>N</include_subfolders>  
311 - </file>  
312 - <fields>  
313 - <field>  
314 - <name>&#x7ebf;&#x8def;</name>  
315 - <type>String</type>  
316 - <length>-1</length>  
317 - <precision>-1</precision>  
318 - <trim_type>none</trim_type>  
319 - <repeat>N</repeat>  
320 - <format/>  
321 - <currency/>  
322 - <decimal/>  
323 - <group/>  
324 - </field>  
325 - <field>  
326 - <name>&#x5185;&#x90e8;&#x7f16;&#x7801;</name>  
327 - <type>String</type>  
328 - <length>-1</length>  
329 - <precision>-1</precision>  
330 - <trim_type>none</trim_type>  
331 - <repeat>N</repeat>  
332 - <format>&#x23;</format>  
333 - <currency/>  
334 - <decimal/>  
335 - <group/>  
336 - </field>  
337 - <field>  
338 - <name>&#x542f;&#x7528;&#x65e5;&#x671f;</name>  
339 - <type>String</type>  
340 - <length>-1</length>  
341 - <precision>-1</precision>  
342 - <trim_type>none</trim_type>  
343 - <repeat>N</repeat>  
344 - <format/>  
345 - <currency/>  
346 - <decimal/>  
347 - <group/>  
348 - </field>  
349 - <field>  
350 - <name>&#x7ec8;&#x7ed3;&#x65e5;&#x671f;</name>  
351 - <type>String</type>  
352 - <length>-1</length>  
353 - <precision>-1</precision>  
354 - <trim_type>none</trim_type>  
355 - <repeat>N</repeat>  
356 - <format/>  
357 - <currency/>  
358 - <decimal/>  
359 - <group/>  
360 - </field>  
361 - <field>  
362 - <name>&#x505c;&#x8f66;&#x70b9;</name>  
363 - <type>String</type>  
364 - <length>-1</length>  
365 - <precision>-1</precision>  
366 - <trim_type>none</trim_type>  
367 - <repeat>N</repeat>  
368 - <format/>  
369 - <currency/>  
370 - <decimal/>  
371 - <group/>  
372 - </field>  
373 - </fields>  
374 - <sheets>  
375 - <sheet>  
376 - <name>&#x5de5;&#x4f5c;&#x8868;1</name>  
377 - <startrow>0</startrow>  
378 - <startcol>0</startcol>  
379 - </sheet>  
380 - </sheets>  
381 - <strict_types>N</strict_types>  
382 - <error_ignored>N</error_ignored>  
383 - <error_line_skipped>N</error_line_skipped>  
384 - <bad_line_files_destination_directory/>  
385 - <bad_line_files_extension>warning</bad_line_files_extension>  
386 - <error_line_files_destination_directory/>  
387 - <error_line_files_extension>error</error_line_files_extension>  
388 - <line_number_files_destination_directory/>  
389 - <line_number_files_extension>line</line_number_files_extension>  
390 - <shortFileFieldName/>  
391 - <pathFieldName/>  
392 - <hiddenFieldName/>  
393 - <lastModificationTimeFieldName/>  
394 - <uriNameFieldName/>  
395 - <rootUriNameFieldName/>  
396 - <extensionFieldName/>  
397 - <sizeFieldName/>  
398 - <spreadsheet_type>JXL</spreadsheet_type>  
399 - <cluster_schema/>  
400 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
401 - <xloc>155</xloc>  
402 - <yloc>56</yloc>  
403 - <draw>Y</draw>  
404 - </GUI>  
405 - </step>  
406 -  
407 - <step>  
408 - <name>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</name>  
409 - <type>SelectValues</type>  
410 - <description/>  
411 - <distribute>Y</distribute>  
412 - <custom_distribution/>  
413 - <copies>1</copies>  
414 - <partitioning>  
415 - <method>none</method>  
416 - <schema_name/>  
417 - </partitioning>  
418 - <fields> <field> <name>&#x7ebf;&#x8def;</name>  
419 - <rename>xl</rename>  
420 - <length>-2</length>  
421 - <precision>-2</precision>  
422 - </field> <field> <name>&#x5185;&#x90e8;&#x7f16;&#x7801;</name>  
423 - <rename>cl</rename>  
424 - <length>-2</length>  
425 - <precision>-2</precision>  
426 - </field> <field> <name>&#x542f;&#x7528;&#x65e5;&#x671f;</name>  
427 - <rename>qyrq</rename>  
428 - <length>-2</length>  
429 - <precision>-2</precision>  
430 - </field> <field> <name>&#x7ec8;&#x7ed3;&#x65e5;&#x671f;</name>  
431 - <rename>zzrq</rename>  
432 - <length>-2</length>  
433 - <precision>-2</precision>  
434 - </field> <field> <name>&#x505c;&#x8f66;&#x70b9;</name>  
435 - <rename>tcd</rename>  
436 - <length>-2</length>  
437 - <precision>-2</precision>  
438 - </field> <select_unspecified>N</select_unspecified>  
439 - </fields> <cluster_schema/>  
440 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
441 - <xloc>306</xloc>  
442 - <yloc>56</yloc>  
443 - <draw>Y</draw>  
444 - </GUI>  
445 - </step>  
446 -  
447 - <step>  
448 - <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ccinfo</name>  
449 - <type>InsertUpdate</type>  
450 - <description/>  
451 - <distribute>Y</distribute>  
452 - <custom_distribution/>  
453 - <copies>1</copies>  
454 - <partitioning>  
455 - <method>none</method>  
456 - <schema_name/>  
457 - </partitioning>  
458 - <connection>bus_control_variable</connection>  
459 - <commit>100</commit>  
460 - <update_bypassed>N</update_bypassed>  
461 - <lookup>  
462 - <schema/>  
463 - <table>bsth_c_s_ccinfo</table>  
464 - <key>  
465 - <name>xlId</name>  
466 - <field>xl</field>  
467 - <condition>&#x3d;</condition>  
468 - <name2/>  
469 - </key>  
470 - <key>  
471 - <name>clId</name>  
472 - <field>cl</field>  
473 - <condition>&#x3d;</condition>  
474 - <name2/>  
475 - </key>  
476 - <value>  
477 - <name>xl</name>  
478 - <rename>xlId</rename>  
479 - <update>Y</update>  
480 - </value>  
481 - <value>  
482 - <name>cl</name>  
483 - <rename>clId</rename>  
484 - <update>Y</update>  
485 - </value>  
486 - <value>  
487 - <name>is_switch</name>  
488 - <rename>isswitch</rename>  
489 - <update>Y</update>  
490 - </value>  
491 - <value>  
492 - <name>tcd</name>  
493 - <rename>tcd</rename>  
494 - <update>Y</update>  
495 - </value>  
496 - <value>  
497 - <name>zzrq</name>  
498 - <rename>zzrq</rename>  
499 - <update>Y</update>  
500 - </value>  
501 - <value>  
502 - <name>qyrq</name>  
503 - <rename>qyrq</rename>  
504 - <update>Y</update>  
505 - </value>  
506 - </lookup>  
507 - <cluster_schema/>  
508 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
509 - <xloc>715</xloc>  
510 - <yloc>197</yloc>  
511 - <draw>Y</draw>  
512 - </GUI>  
513 - </step>  
514 -  
515 - <step>  
516 - <name>&#x65e5;&#x671f;&#x8f6c;&#x6362;</name>  
517 - <type>SelectValues</type>  
518 - <description/>  
519 - <distribute>Y</distribute>  
520 - <custom_distribution/>  
521 - <copies>1</copies>  
522 - <partitioning>  
523 - <method>none</method>  
524 - <schema_name/>  
525 - </partitioning>  
526 - <fields> <select_unspecified>N</select_unspecified>  
527 - <meta> <name>qyrq</name>  
528 - <rename>qyrq</rename>  
529 - <type>Date</type>  
530 - <length>-2</length>  
531 - <precision>-2</precision>  
532 - <conversion_mask>yyyy-MM-dd</conversion_mask>  
533 - <date_format_lenient>false</date_format_lenient>  
534 - <date_format_locale/>  
535 - <date_format_timezone/>  
536 - <lenient_string_to_number>false</lenient_string_to_number>  
537 - <encoding/>  
538 - <decimal_symbol/>  
539 - <grouping_symbol/>  
540 - <currency_symbol/>  
541 - <storage_type/>  
542 - </meta> </fields> <cluster_schema/>  
543 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
544 - <xloc>913</xloc>  
545 - <yloc>54</yloc>  
546 - <draw>Y</draw>  
547 - </GUI>  
548 - </step>  
549 -  
550 - <step>  
551 - <name>&#x662f;&#x5426;&#x5207;&#x6362;</name>  
552 - <type>Constant</type>  
553 - <description/>  
554 - <distribute>Y</distribute>  
555 - <custom_distribution/>  
556 - <copies>1</copies>  
557 - <partitioning>  
558 - <method>none</method>  
559 - <schema_name/>  
560 - </partitioning>  
561 - <fields>  
562 - <field>  
563 - <name>isswitch</name>  
564 - <type>Integer</type>  
565 - <format/>  
566 - <currency/>  
567 - <decimal/>  
568 - <group/>  
569 - <nullif>0</nullif>  
570 - <length>-1</length>  
571 - <precision>-1</precision>  
572 - <set_empty_string>N</set_empty_string>  
573 - </field>  
574 - </fields>  
575 - <cluster_schema/>  
576 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
577 - <xloc>713</xloc>  
578 - <yloc>54</yloc>  
579 - <draw>Y</draw>  
580 - </GUI>  
581 - </step>  
582 -  
583 - <step>  
584 - <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x5173;&#x8054;</name>  
585 - <type>DBLookup</type>  
586 - <description/>  
587 - <distribute>Y</distribute>  
588 - <custom_distribution/>  
589 - <copies>1</copies>  
590 - <partitioning>  
591 - <method>none</method>  
592 - <schema_name/>  
593 - </partitioning>  
594 - <connection>bus_control_variable</connection>  
595 - <cache>N</cache>  
596 - <cache_load_all>N</cache_load_all>  
597 - <cache_size>0</cache_size>  
598 - <lookup>  
599 - <schema/>  
600 - <table>bsth_c_line</table>  
601 - <orderby/>  
602 - <fail_on_multiple>N</fail_on_multiple>  
603 - <eat_row_on_failure>N</eat_row_on_failure>  
604 - <key>  
605 - <name>xl</name>  
606 - <field>name</field>  
607 - <condition>&#x3d;</condition>  
608 - <name2/>  
609 - </key>  
610 - <value>  
611 - <name>id</name>  
612 - <rename>xlId</rename>  
613 - <default/>  
614 - <type>Integer</type>  
615 - </value>  
616 - </lookup>  
617 - <cluster_schema/>  
618 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
619 - <xloc>439</xloc>  
620 - <yloc>56</yloc>  
621 - <draw>Y</draw>  
622 - </GUI>  
623 - </step>  
624 -  
625 - <step>  
626 - <name>&#x67e5;&#x627e;&#x8f66;&#x8f86;&#x5173;&#x8054;</name>  
627 - <type>DBLookup</type>  
628 - <description/>  
629 - <distribute>Y</distribute>  
630 - <custom_distribution/>  
631 - <copies>1</copies>  
632 - <partitioning>  
633 - <method>none</method>  
634 - <schema_name/>  
635 - </partitioning>  
636 - <connection>bus_control_variable</connection>  
637 - <cache>N</cache>  
638 - <cache_load_all>N</cache_load_all>  
639 - <cache_size>0</cache_size>  
640 - <lookup>  
641 - <schema/>  
642 - <table>bsth_c_cars</table>  
643 - <orderby/>  
644 - <fail_on_multiple>N</fail_on_multiple>  
645 - <eat_row_on_failure>N</eat_row_on_failure>  
646 - <key>  
647 - <name>cl</name>  
648 - <field>inside_code</field>  
649 - <condition>&#x3d;</condition>  
650 - <name2/>  
651 - </key>  
652 - <value>  
653 - <name>id</name>  
654 - <rename>clId</rename>  
655 - <default/>  
656 - <type>Integer</type>  
657 - </value>  
658 - </lookup>  
659 - <cluster_schema/>  
660 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
661 - <xloc>579</xloc>  
662 - <yloc>55</yloc>  
663 - <draw>Y</draw>  
664 - </GUI>  
665 - </step>  
666 -  
667 - <step>  
668 - <name>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</name>  
669 - <type>GetVariable</type>  
670 - <description/>  
671 - <distribute>Y</distribute>  
672 - <custom_distribution/>  
673 - <copies>1</copies>  
674 - <partitioning>  
675 - <method>none</method>  
676 - <schema_name/>  
677 - </partitioning>  
678 - <fields>  
679 - <field>  
680 - <name>filepath_</name>  
681 - <variable>&#x24;&#x7b;filepath&#x7d;</variable>  
682 - <type>String</type>  
683 - <format/>  
684 - <currency/>  
685 - <decimal/>  
686 - <group/>  
687 - <length>-1</length>  
688 - <precision>-1</precision>  
689 - <trim_type>none</trim_type>  
690 - </field>  
691 - <field>  
692 - <name>erroroutputdir_</name>  
693 - <variable>&#x24;&#x7b;erroroutputdir&#x7d;</variable>  
694 - <type>String</type>  
695 - <format/>  
696 - <currency/>  
697 - <decimal/>  
698 - <group/>  
699 - <length>-1</length>  
700 - <precision>-1</precision>  
701 - <trim_type>none</trim_type>  
702 - </field>  
703 - </fields>  
704 - <cluster_schema/>  
705 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
706 - <xloc>156</xloc>  
707 - <yloc>150</yloc>  
708 - <draw>Y</draw>  
709 - </GUI>  
710 - </step>  
711 -  
712 - <step>  
713 - <name>&#x9519;&#x8bef;&#x8f93;&#x51fa;</name>  
714 - <type>ExcelOutput</type>  
715 - <description/>  
716 - <distribute>Y</distribute>  
717 - <custom_distribution/>  
718 - <copies>1</copies>  
719 - <partitioning>  
720 - <method>none</method>  
721 - <schema_name/>  
722 - </partitioning>  
723 - <header>Y</header>  
724 - <footer>N</footer>  
725 - <encoding>UTF-8</encoding>  
726 - <append>N</append>  
727 - <add_to_result_filenames>Y</add_to_result_filenames>  
728 - <file>  
729 - <name>&#x24;&#x7b;erroroutputdir&#x7d;&#x2f;&#x5f53;&#x524d;&#x914d;&#x8f66;_&#x9519;&#x8bef;</name>  
730 - <extention>xls</extention>  
731 - <do_not_open_newfile_init>N</do_not_open_newfile_init>  
732 - <create_parent_folder>N</create_parent_folder>  
733 - <split>N</split>  
734 - <add_date>N</add_date>  
735 - <add_time>N</add_time>  
736 - <SpecifyFormat>N</SpecifyFormat>  
737 - <date_time_format/>  
738 - <sheetname>Sheet1</sheetname>  
739 - <autosizecolums>N</autosizecolums>  
740 - <nullisblank>N</nullisblank>  
741 - <protect_sheet>N</protect_sheet>  
742 - <password>Encrypted </password>  
743 - <splitevery>0</splitevery>  
744 - <usetempfiles>N</usetempfiles>  
745 - <tempdirectory/>  
746 - </file>  
747 - <template>  
748 - <enabled>N</enabled>  
749 - <append>N</append>  
750 - <filename>template.xls</filename>  
751 - </template>  
752 - <fields>  
753 - <field>  
754 - <name>xl</name>  
755 - <type>String</type>  
756 - <format/>  
757 - </field>  
758 - <field>  
759 - <name>cl</name>  
760 - <type>String</type>  
761 - <format/>  
762 - </field>  
763 - <field>  
764 - <name>qyrq</name>  
765 - <type>String</type>  
766 - <format/>  
767 - </field>  
768 - <field>  
769 - <name>zzrq</name>  
770 - <type>String</type>  
771 - <format/>  
772 - </field>  
773 - <field>  
774 - <name>tcd</name>  
775 - <type>String</type>  
776 - <format/>  
777 - </field>  
778 - <field>  
779 - <name>xlId</name>  
780 - <type>Integer</type>  
781 - <format/>  
782 - </field>  
783 - <field>  
784 - <name>clId</name>  
785 - <type>Integer</type>  
786 - <format/>  
787 - </field>  
788 - <field>  
789 - <name>isswitch</name>  
790 - <type>Integer</type>  
791 - <format/>  
792 - </field>  
793 - <field>  
794 - <name>error_count</name>  
795 - <type>Integer</type>  
796 - <format/>  
797 - </field>  
798 - <field>  
799 - <name>error_desc</name>  
800 - <type>String</type>  
801 - <format/>  
802 - </field>  
803 - <field>  
804 - <name>error_column1</name>  
805 - <type>String</type>  
806 - <format/>  
807 - </field>  
808 - <field>  
809 - <name>error_column2</name>  
810 - <type>String</type>  
811 - <format/>  
812 - </field>  
813 - </fields>  
814 - <custom>  
815 - <header_font_name>arial</header_font_name>  
816 - <header_font_size>10</header_font_size>  
817 - <header_font_bold>N</header_font_bold>  
818 - <header_font_italic>N</header_font_italic>  
819 - <header_font_underline>no</header_font_underline>  
820 - <header_font_orientation>horizontal</header_font_orientation>  
821 - <header_font_color>black</header_font_color>  
822 - <header_background_color>none</header_background_color>  
823 - <header_row_height>255</header_row_height>  
824 - <header_alignment>left</header_alignment>  
825 - <header_image/>  
826 - <row_font_name>arial</row_font_name>  
827 - <row_font_size>10</row_font_size>  
828 - <row_font_color>black</row_font_color>  
829 - <row_background_color>none</row_background_color>  
830 - </custom>  
831 - <cluster_schema/>  
832 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
833 - <xloc>718</xloc>  
834 - <yloc>314</yloc>  
835 - <draw>Y</draw>  
836 - </GUI>  
837 - </step>  
838 -  
839 - <step_error_handling>  
840 - <error>  
841 - <source_step>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ccinfo</source_step>  
842 - <target_step>&#x9519;&#x8bef;&#x8f93;&#x51fa;</target_step>  
843 - <is_enabled>Y</is_enabled>  
844 - <nr_valuename>error_count</nr_valuename>  
845 - <descriptions_valuename>error_desc</descriptions_valuename>  
846 - <fields_valuename>error_column1</fields_valuename>  
847 - <codes_valuename>error_column2</codes_valuename>  
848 - <max_errors/>  
849 - <max_pct_errors/>  
850 - <min_pct_rows/>  
851 - </error>  
852 - </step_error_handling>  
853 - <slave-step-copy-partition-distribution>  
854 -</slave-step-copy-partition-distribution>  
855 - <slave_transformation>N</slave_transformation>  
856 -  
857 -</transformation> 1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<transformation>
  3 + <info>
  4 + <name>carsConfigDataInput</name>
  5 + <description>&#x8f66;&#x8f86;&#x914d;&#x7f6e;&#x4fe1;&#x606f;&#x5bfc;&#x5165;</description>
  6 + <extended_description>&#x914d;&#x8f66;&#x4fe1;&#x606f;</extended_description>
  7 + <trans_version/>
  8 + <trans_type>Normal</trans_type>
  9 + <trans_status>0</trans_status>
  10 + <directory>&#x2f;</directory>
  11 + <parameters>
  12 + <parameter>
  13 + <name>erroroutputdir</name>
  14 + <default_value/>
  15 + <description>ktr step&#x914d;&#x7f6e;&#x7684;&#x9519;&#x8bef;&#x8f93;&#x51fa;&#x76ee;&#x5f55;</description>
  16 + </parameter>
  17 + <parameter>
  18 + <name>filepath</name>
  19 + <default_value/>
  20 + <description>&#x5f85;&#x5904;&#x7406;&#x5bfc;&#x5165;&#x7684;excel&#x6587;&#x4ef6;</description>
  21 + </parameter>
  22 + </parameters>
  23 + <log>
  24 +<trans-log-table><connection/>
  25 +<schema/>
  26 +<table/>
  27 +<size_limit_lines/>
  28 +<interval/>
  29 +<timeout_days/>
  30 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STATUS</id><enabled>Y</enabled><name>STATUS</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name><subject/></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name><subject/></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name><subject/></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name><subject/></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name><subject/></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name><subject/></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>STARTDATE</id><enabled>Y</enabled><name>STARTDATE</name></field><field><id>ENDDATE</id><enabled>Y</enabled><name>ENDDATE</name></field><field><id>LOGDATE</id><enabled>Y</enabled><name>LOGDATE</name></field><field><id>DEPDATE</id><enabled>Y</enabled><name>DEPDATE</name></field><field><id>REPLAYDATE</id><enabled>Y</enabled><name>REPLAYDATE</name></field><field><id>LOG_FIELD</id><enabled>Y</enabled><name>LOG_FIELD</name></field><field><id>EXECUTING_SERVER</id><enabled>N</enabled><name>EXECUTING_SERVER</name></field><field><id>EXECUTING_USER</id><enabled>N</enabled><name>EXECUTING_USER</name></field><field><id>CLIENT</id><enabled>N</enabled><name>CLIENT</name></field></trans-log-table>
  31 +<perf-log-table><connection/>
  32 +<schema/>
  33 +<table/>
  34 +<interval/>
  35 +<timeout_days/>
  36 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>SEQ_NR</id><enabled>Y</enabled><name>SEQ_NR</name></field><field><id>LOGDATE</id><enabled>Y</enabled><name>LOGDATE</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STEPNAME</id><enabled>Y</enabled><name>STEPNAME</name></field><field><id>STEP_COPY</id><enabled>Y</enabled><name>STEP_COPY</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>INPUT_BUFFER_ROWS</id><enabled>Y</enabled><name>INPUT_BUFFER_ROWS</name></field><field><id>OUTPUT_BUFFER_ROWS</id><enabled>Y</enabled><name>OUTPUT_BUFFER_ROWS</name></field></perf-log-table>
  37 +<channel-log-table><connection/>
  38 +<schema/>
  39 +<table/>
  40 +<timeout_days/>
  41 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>LOGGING_OBJECT_TYPE</id><enabled>Y</enabled><name>LOGGING_OBJECT_TYPE</name></field><field><id>OBJECT_NAME</id><enabled>Y</enabled><name>OBJECT_NAME</name></field><field><id>OBJECT_COPY</id><enabled>Y</enabled><name>OBJECT_COPY</name></field><field><id>REPOSITORY_DIRECTORY</id><enabled>Y</enabled><name>REPOSITORY_DIRECTORY</name></field><field><id>FILENAME</id><enabled>Y</enabled><name>FILENAME</name></field><field><id>OBJECT_ID</id><enabled>Y</enabled><name>OBJECT_ID</name></field><field><id>OBJECT_REVISION</id><enabled>Y</enabled><name>OBJECT_REVISION</name></field><field><id>PARENT_CHANNEL_ID</id><enabled>Y</enabled><name>PARENT_CHANNEL_ID</name></field><field><id>ROOT_CHANNEL_ID</id><enabled>Y</enabled><name>ROOT_CHANNEL_ID</name></field></channel-log-table>
  42 +<step-log-table><connection/>
  43 +<schema/>
  44 +<table/>
  45 +<timeout_days/>
  46 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STEPNAME</id><enabled>Y</enabled><name>STEPNAME</name></field><field><id>STEP_COPY</id><enabled>Y</enabled><name>STEP_COPY</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>LOG_FIELD</id><enabled>N</enabled><name>LOG_FIELD</name></field></step-log-table>
  47 +<metrics-log-table><connection/>
  48 +<schema/>
  49 +<table/>
  50 +<timeout_days/>
  51 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>METRICS_DATE</id><enabled>Y</enabled><name>METRICS_DATE</name></field><field><id>METRICS_CODE</id><enabled>Y</enabled><name>METRICS_CODE</name></field><field><id>METRICS_DESCRIPTION</id><enabled>Y</enabled><name>METRICS_DESCRIPTION</name></field><field><id>METRICS_SUBJECT</id><enabled>Y</enabled><name>METRICS_SUBJECT</name></field><field><id>METRICS_TYPE</id><enabled>Y</enabled><name>METRICS_TYPE</name></field><field><id>METRICS_VALUE</id><enabled>Y</enabled><name>METRICS_VALUE</name></field></metrics-log-table>
  52 + </log>
  53 + <maxdate>
  54 + <connection/>
  55 + <table/>
  56 + <field/>
  57 + <offset>0.0</offset>
  58 + <maxdiff>0.0</maxdiff>
  59 + </maxdate>
  60 + <size_rowset>10000</size_rowset>
  61 + <sleep_time_empty>50</sleep_time_empty>
  62 + <sleep_time_full>50</sleep_time_full>
  63 + <unique_connections>N</unique_connections>
  64 + <feedback_shown>Y</feedback_shown>
  65 + <feedback_size>50000</feedback_size>
  66 + <using_thread_priorities>Y</using_thread_priorities>
  67 + <shared_objects_file/>
  68 + <capture_step_performance>N</capture_step_performance>
  69 + <step_performance_capturing_delay>1000</step_performance_capturing_delay>
  70 + <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit>
  71 + <dependencies>
  72 + </dependencies>
  73 + <partitionschemas>
  74 + </partitionschemas>
  75 + <slaveservers>
  76 + </slaveservers>
  77 + <clusterschemas>
  78 + </clusterschemas>
  79 + <created_user>-</created_user>
  80 + <created_date>2016&#x2f;06&#x2f;29 13&#x3a;15&#x3a;32.118</created_date>
  81 + <modified_user>-</modified_user>
  82 + <modified_date>2016&#x2f;06&#x2f;29 13&#x3a;15&#x3a;32.118</modified_date>
  83 + <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</key_for_session_key>
  84 + <is_key_private>N</is_key_private>
  85 + </info>
  86 + <notepads>
  87 + <notepad>
  88 + <note>&#x8fd9;&#x91cc;&#x6709;&#x4e9b;&#x95ee;&#x9898;&#xa;&#x5728;window2012&#x7684;&#x73af;&#x5883;&#x4e0b;&#xff0c;&#xa;MySql&#x6570;&#x636e;&#x5e93;&#x67e5;&#x8be2;&#x4e2d;&#x5982;&#x679c;&#x8fd4;&#x56de;&#x4e2d;&#x6587;&#x5185;&#x5bb9;&#x7684;&#x5b57;&#x6bb5;&#xff0c;&#x8fd9;&#x4e2a;&#x5185;&#x5bb9;&#x4e71;&#x7801;&#xa;&#x89e3;&#x51b3;&#x529e;&#x6cd5;&#xff0c;&#x5c31;&#x662f;&#x6570;&#x636e;&#x5e93;&#x67e5;&#x8be2;&#x5168;&#x90e8;&#x7f13;&#x5b58;&#xff0c;&#x5c31;&#x4e0d;&#x4e71;&#x7801;&#xa;linux&#x73af;&#x5883;&#x4e0b;&#x6ca1;&#x95ee;&#x9898;&#xa;</note>
  89 + <xloc>40</xloc>
  90 + <yloc>238</yloc>
  91 + <width>333</width>
  92 + <heigth>106</heigth>
  93 + <fontname>YaHei Consolas Hybrid</fontname>
  94 + <fontsize>12</fontsize>
  95 + <fontbold>N</fontbold>
  96 + <fontitalic>N</fontitalic>
  97 + <fontcolorred>0</fontcolorred>
  98 + <fontcolorgreen>0</fontcolorgreen>
  99 + <fontcolorblue>0</fontcolorblue>
  100 + <backgroundcolorred>255</backgroundcolorred>
  101 + <backgroundcolorgreen>205</backgroundcolorgreen>
  102 + <backgroundcolorblue>112</backgroundcolorblue>
  103 + <bordercolorred>100</bordercolorred>
  104 + <bordercolorgreen>100</bordercolorgreen>
  105 + <bordercolorblue>100</bordercolorblue>
  106 + <drawshadow>Y</drawshadow>
  107 + </notepad>
  108 + </notepads>
  109 + <connection>
  110 + <name>bus_control_variable</name>
  111 + <server>&#x24;&#x7b;v_db_ip&#x7d;</server>
  112 + <type>MYSQL</type>
  113 + <access>Native</access>
  114 + <database>&#x24;&#x7b;v_db_dname&#x7d;</database>
  115 + <port>3306</port>
  116 + <username>&#x24;&#x7b;v_db_uname&#x7d;</username>
  117 + <password>&#x24;&#x7b;v_db_pwd&#x7d;</password>
  118 + <servername/>
  119 + <data_tablespace/>
  120 + <index_tablespace/>
  121 + <attributes>
  122 + <attribute><code>EXTRA_OPTION_MYSQL.characterEncoding</code><attribute>utf8</attribute></attribute>
  123 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  124 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  125 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  126 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  127 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  128 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  129 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  130 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  131 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  132 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  133 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  134 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  135 + </attributes>
  136 + </connection>
  137 + <connection>
  138 + <name>bus_control_&#x516c;&#x53f8;_201</name>
  139 + <server>localhost</server>
  140 + <type>MYSQL</type>
  141 + <access>Native</access>
  142 + <database>control</database>
  143 + <port>3306</port>
  144 + <username>root</username>
  145 + <password>Encrypted </password>
  146 + <servername/>
  147 + <data_tablespace/>
  148 + <index_tablespace/>
  149 + <attributes>
  150 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  151 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  152 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  153 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  154 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  155 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  156 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  157 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  158 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  159 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  160 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  161 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  162 + </attributes>
  163 + </connection>
  164 + <connection>
  165 + <name>bus_control_&#x672c;&#x673a;</name>
  166 + <server>localhost</server>
  167 + <type>MYSQL</type>
  168 + <access>Native</access>
  169 + <database>control</database>
  170 + <port>3306</port>
  171 + <username>root</username>
  172 + <password>Encrypted </password>
  173 + <servername/>
  174 + <data_tablespace/>
  175 + <index_tablespace/>
  176 + <attributes>
  177 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  178 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  179 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  180 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  181 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  182 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  183 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  184 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  185 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  186 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  187 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  188 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  189 + </attributes>
  190 + </connection>
  191 + <connection>
  192 + <name>xlab_mysql_youle</name>
  193 + <server>101.231.124.8</server>
  194 + <type>MYSQL</type>
  195 + <access>Native</access>
  196 + <database>xlab_youle</database>
  197 + <port>45687</port>
  198 + <username>xlab-youle</username>
  199 + <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password>
  200 + <servername/>
  201 + <data_tablespace/>
  202 + <index_tablespace/>
  203 + <attributes>
  204 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  205 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  206 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  207 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  208 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  209 + <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute>
  210 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  211 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  212 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  213 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  214 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  215 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  216 + </attributes>
  217 + </connection>
  218 + <connection>
  219 + <name>xlab_mysql_youle&#xff08;&#x672c;&#x673a;&#xff09;</name>
  220 + <server>localhost</server>
  221 + <type>MYSQL</type>
  222 + <access>Native</access>
  223 + <database>xlab_youle</database>
  224 + <port>3306</port>
  225 + <username>root</username>
  226 + <password>Encrypted </password>
  227 + <servername/>
  228 + <data_tablespace/>
  229 + <index_tablespace/>
  230 + <attributes>
  231 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  232 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  233 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  234 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  235 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  236 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  237 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  238 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  239 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  240 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  241 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  242 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  243 + </attributes>
  244 + </connection>
  245 + <connection>
  246 + <name>xlab_youle</name>
  247 + <server/>
  248 + <type>MYSQL</type>
  249 + <access>JNDI</access>
  250 + <database>xlab_youle</database>
  251 + <port>1521</port>
  252 + <username/>
  253 + <password>Encrypted </password>
  254 + <servername/>
  255 + <data_tablespace/>
  256 + <index_tablespace/>
  257 + <attributes>
  258 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  259 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  260 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  261 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  262 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  263 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  264 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  265 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  266 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  267 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  268 + </attributes>
  269 + </connection>
  270 + <order>
  271 + <hop> <from>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ccinfo</from><to>&#x9519;&#x8bef;&#x8f93;&#x51fa;</to><enabled>Y</enabled> </hop>
  272 + <hop> <from>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</from><to>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</to><enabled>Y</enabled> </hop>
  273 + <hop> <from>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</from><to>&#x542f;&#x7528;&#x88ab;&#x6570;&#x636e;flag</to><enabled>Y</enabled> </hop>
  274 + <hop> <from>&#x542f;&#x7528;&#x88ab;&#x6570;&#x636e;flag</from><to>&#x7ebf;&#x8def;id&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>
  275 + <hop> <from>&#x7ebf;&#x8def;id&#x67e5;&#x8be2;</from><to>&#x8fc7;&#x6ee4;&#x7ebf;&#x8def;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>
  276 + <hop> <from>&#x8fc7;&#x6ee4;&#x7ebf;&#x8def;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</from><to>&#x8f66;&#x8f86;id&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>
  277 + <hop> <from>&#x8f66;&#x8f86;id&#x67e5;&#x8be2;</from><to>&#x8fc7;&#x6ee4;&#x8f66;&#x8f86;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>
  278 + <hop> <from>&#x8fc7;&#x6ee4;&#x8f66;&#x8f86;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</from><to>&#x65e5;&#x671f;&#x8f6c;&#x6362;</to><enabled>Y</enabled> </hop>
  279 + <hop> <from>&#x65e5;&#x671f;&#x8f6c;&#x6362;</from><to>&#x662f;&#x5426;&#x5207;&#x6362;</to><enabled>Y</enabled> </hop>
  280 + <hop> <from>&#x662f;&#x5426;&#x5207;&#x6362;</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ccinfo</to><enabled>Y</enabled> </hop>
  281 + </order>
  282 + <step>
  283 + <name>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</name>
  284 + <type>ExcelInput</type>
  285 + <description/>
  286 + <distribute>Y</distribute>
  287 + <custom_distribution/>
  288 + <copies>1</copies>
  289 + <partitioning>
  290 + <method>none</method>
  291 + <schema_name/>
  292 + </partitioning>
  293 + <header>Y</header>
  294 + <noempty>Y</noempty>
  295 + <stoponempty>N</stoponempty>
  296 + <filefield/>
  297 + <sheetfield/>
  298 + <sheetrownumfield/>
  299 + <rownumfield/>
  300 + <sheetfield/>
  301 + <filefield/>
  302 + <limit>0</limit>
  303 + <encoding/>
  304 + <add_to_result_filenames>Y</add_to_result_filenames>
  305 + <accept_filenames>Y</accept_filenames>
  306 + <accept_field>filepath_</accept_field>
  307 + <accept_stepname>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</accept_stepname>
  308 + <file>
  309 + <name/>
  310 + <filemask/>
  311 + <exclude_filemask/>
  312 + <file_required>N</file_required>
  313 + <include_subfolders>N</include_subfolders>
  314 + </file>
  315 + <fields>
  316 + <field>
  317 + <name>&#x7ebf;&#x8def;</name>
  318 + <type>String</type>
  319 + <length>-1</length>
  320 + <precision>-1</precision>
  321 + <trim_type>none</trim_type>
  322 + <repeat>N</repeat>
  323 + <format/>
  324 + <currency/>
  325 + <decimal/>
  326 + <group/>
  327 + </field>
  328 + <field>
  329 + <name>&#x5185;&#x90e8;&#x7f16;&#x7801;</name>
  330 + <type>String</type>
  331 + <length>-1</length>
  332 + <precision>-1</precision>
  333 + <trim_type>none</trim_type>
  334 + <repeat>N</repeat>
  335 + <format>&#x23;</format>
  336 + <currency/>
  337 + <decimal/>
  338 + <group/>
  339 + </field>
  340 + <field>
  341 + <name>&#x542f;&#x7528;&#x65e5;&#x671f;</name>
  342 + <type>String</type>
  343 + <length>-1</length>
  344 + <precision>-1</precision>
  345 + <trim_type>none</trim_type>
  346 + <repeat>N</repeat>
  347 + <format/>
  348 + <currency/>
  349 + <decimal/>
  350 + <group/>
  351 + </field>
  352 + <field>
  353 + <name>&#x7ec8;&#x7ed3;&#x65e5;&#x671f;</name>
  354 + <type>String</type>
  355 + <length>-1</length>
  356 + <precision>-1</precision>
  357 + <trim_type>none</trim_type>
  358 + <repeat>N</repeat>
  359 + <format/>
  360 + <currency/>
  361 + <decimal/>
  362 + <group/>
  363 + </field>
  364 + <field>
  365 + <name>&#x505c;&#x8f66;&#x70b9;</name>
  366 + <type>String</type>
  367 + <length>-1</length>
  368 + <precision>-1</precision>
  369 + <trim_type>none</trim_type>
  370 + <repeat>N</repeat>
  371 + <format/>
  372 + <currency/>
  373 + <decimal/>
  374 + <group/>
  375 + </field>
  376 + </fields>
  377 + <sheets>
  378 + <sheet>
  379 + <name>&#x5de5;&#x4f5c;&#x8868;1</name>
  380 + <startrow>0</startrow>
  381 + <startcol>0</startcol>
  382 + </sheet>
  383 + </sheets>
  384 + <strict_types>N</strict_types>
  385 + <error_ignored>N</error_ignored>
  386 + <error_line_skipped>N</error_line_skipped>
  387 + <bad_line_files_destination_directory/>
  388 + <bad_line_files_extension>warning</bad_line_files_extension>
  389 + <error_line_files_destination_directory/>
  390 + <error_line_files_extension>error</error_line_files_extension>
  391 + <line_number_files_destination_directory/>
  392 + <line_number_files_extension>line</line_number_files_extension>
  393 + <shortFileFieldName/>
  394 + <pathFieldName/>
  395 + <hiddenFieldName/>
  396 + <lastModificationTimeFieldName/>
  397 + <uriNameFieldName/>
  398 + <rootUriNameFieldName/>
  399 + <extensionFieldName/>
  400 + <sizeFieldName/>
  401 + <spreadsheet_type>JXL</spreadsheet_type>
  402 + <cluster_schema/>
  403 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  404 + <xloc>155</xloc>
  405 + <yloc>56</yloc>
  406 + <draw>Y</draw>
  407 + </GUI>
  408 + </step>
  409 +
  410 + <step>
  411 + <name>&#x542f;&#x7528;&#x88ab;&#x6570;&#x636e;flag</name>
  412 + <type>Constant</type>
  413 + <description/>
  414 + <distribute>Y</distribute>
  415 + <custom_distribution/>
  416 + <copies>1</copies>
  417 + <partitioning>
  418 + <method>none</method>
  419 + <schema_name/>
  420 + </partitioning>
  421 + <fields>
  422 + <field>
  423 + <name>isCancel</name>
  424 + <type>Integer</type>
  425 + <format/>
  426 + <currency/>
  427 + <decimal/>
  428 + <group/>
  429 + <nullif>0</nullif>
  430 + <length>-1</length>
  431 + <precision>-1</precision>
  432 + <set_empty_string>N</set_empty_string>
  433 + </field>
  434 + </fields>
  435 + <cluster_schema/>
  436 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  437 + <xloc>315</xloc>
  438 + <yloc>57</yloc>
  439 + <draw>Y</draw>
  440 + </GUI>
  441 + </step>
  442 +
  443 + <step>
  444 + <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ccinfo</name>
  445 + <type>InsertUpdate</type>
  446 + <description/>
  447 + <distribute>Y</distribute>
  448 + <custom_distribution/>
  449 + <copies>1</copies>
  450 + <partitioning>
  451 + <method>none</method>
  452 + <schema_name/>
  453 + </partitioning>
  454 + <connection>bus_control_variable</connection>
  455 + <commit>100</commit>
  456 + <update_bypassed>N</update_bypassed>
  457 + <lookup>
  458 + <schema/>
  459 + <table>bsth_c_s_ccinfo</table>
  460 + <key>
  461 + <name>xlid</name>
  462 + <field>xl</field>
  463 + <condition>&#x3d;</condition>
  464 + <name2/>
  465 + </key>
  466 + <key>
  467 + <name>clid</name>
  468 + <field>cl</field>
  469 + <condition>&#x3d;</condition>
  470 + <name2/>
  471 + </key>
  472 + <value>
  473 + <name>xl</name>
  474 + <rename>xlId</rename>
  475 + <update>Y</update>
  476 + </value>
  477 + <value>
  478 + <name>cl</name>
  479 + <rename>clId</rename>
  480 + <update>Y</update>
  481 + </value>
  482 + <value>
  483 + <name>is_switch</name>
  484 + <rename>isswitch</rename>
  485 + <update>Y</update>
  486 + </value>
  487 + <value>
  488 + <name>tcd</name>
  489 + <rename>&#x505c;&#x8f66;&#x70b9;</rename>
  490 + <update>Y</update>
  491 + </value>
  492 + <value>
  493 + <name>zzrq</name>
  494 + <rename>&#x7ec8;&#x7ed3;&#x65e5;&#x671f;</rename>
  495 + <update>Y</update>
  496 + </value>
  497 + <value>
  498 + <name>qyrq</name>
  499 + <rename>&#x542f;&#x7528;&#x65e5;&#x671f;</rename>
  500 + <update>Y</update>
  501 + </value>
  502 + <value>
  503 + <name>is_cancel</name>
  504 + <rename>isCancel</rename>
  505 + <update>Y</update>
  506 + </value>
  507 + </lookup>
  508 + <cluster_schema/>
  509 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  510 + <xloc>804</xloc>
  511 + <yloc>236</yloc>
  512 + <draw>Y</draw>
  513 + </GUI>
  514 + </step>
  515 +
  516 + <step>
  517 + <name>&#x65e5;&#x671f;&#x8f6c;&#x6362;</name>
  518 + <type>SelectValues</type>
  519 + <description/>
  520 + <distribute>Y</distribute>
  521 + <custom_distribution/>
  522 + <copies>1</copies>
  523 + <partitioning>
  524 + <method>none</method>
  525 + <schema_name/>
  526 + </partitioning>
  527 + <fields> <select_unspecified>N</select_unspecified>
  528 + <meta> <name>&#x542f;&#x7528;&#x65e5;&#x671f;</name>
  529 + <rename>&#x542f;&#x7528;&#x65e5;&#x671f;</rename>
  530 + <type>Timestamp</type>
  531 + <length>-2</length>
  532 + <precision>-2</precision>
  533 + <conversion_mask>yyyy-MM-dd</conversion_mask>
  534 + <date_format_lenient>false</date_format_lenient>
  535 + <date_format_locale/>
  536 + <date_format_timezone/>
  537 + <lenient_string_to_number>false</lenient_string_to_number>
  538 + <encoding/>
  539 + <decimal_symbol/>
  540 + <grouping_symbol/>
  541 + <currency_symbol/>
  542 + <storage_type/>
  543 + </meta> <meta> <name>&#x7ec8;&#x7ed3;&#x65e5;&#x671f;</name>
  544 + <rename>&#x7ec8;&#x7ed3;&#x65e5;&#x671f;</rename>
  545 + <type>Timestamp</type>
  546 + <length>-2</length>
  547 + <precision>-2</precision>
  548 + <conversion_mask>yyyy-MM-dd</conversion_mask>
  549 + <date_format_lenient>false</date_format_lenient>
  550 + <date_format_locale/>
  551 + <date_format_timezone/>
  552 + <lenient_string_to_number>false</lenient_string_to_number>
  553 + <encoding/>
  554 + <decimal_symbol/>
  555 + <grouping_symbol/>
  556 + <currency_symbol/>
  557 + <storage_type/>
  558 + </meta> </fields> <cluster_schema/>
  559 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  560 + <xloc>703</xloc>
  561 + <yloc>136</yloc>
  562 + <draw>Y</draw>
  563 + </GUI>
  564 + </step>
  565 +
  566 + <step>
  567 + <name>&#x662f;&#x5426;&#x5207;&#x6362;</name>
  568 + <type>Constant</type>
  569 + <description/>
  570 + <distribute>Y</distribute>
  571 + <custom_distribution/>
  572 + <copies>1</copies>
  573 + <partitioning>
  574 + <method>none</method>
  575 + <schema_name/>
  576 + </partitioning>
  577 + <fields>
  578 + <field>
  579 + <name>isswitch</name>
  580 + <type>Integer</type>
  581 + <format/>
  582 + <currency/>
  583 + <decimal/>
  584 + <group/>
  585 + <nullif>0</nullif>
  586 + <length>-1</length>
  587 + <precision>-1</precision>
  588 + <set_empty_string>N</set_empty_string>
  589 + </field>
  590 + </fields>
  591 + <cluster_schema/>
  592 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  593 + <xloc>803</xloc>
  594 + <yloc>137</yloc>
  595 + <draw>Y</draw>
  596 + </GUI>
  597 + </step>
  598 +
  599 + <step>
  600 + <name>&#x7ebf;&#x8def;id&#x67e5;&#x8be2;</name>
  601 + <type>DBLookup</type>
  602 + <description/>
  603 + <distribute>Y</distribute>
  604 + <custom_distribution/>
  605 + <copies>1</copies>
  606 + <partitioning>
  607 + <method>none</method>
  608 + <schema_name/>
  609 + </partitioning>
  610 + <connection>bus_control_variable</connection>
  611 + <cache>Y</cache>
  612 + <cache_load_all>Y</cache_load_all>
  613 + <cache_size>0</cache_size>
  614 + <lookup>
  615 + <schema/>
  616 + <table>bsth_c_line</table>
  617 + <orderby/>
  618 + <fail_on_multiple>N</fail_on_multiple>
  619 + <eat_row_on_failure>N</eat_row_on_failure>
  620 + <key>
  621 + <name>&#x7ebf;&#x8def;</name>
  622 + <field>name</field>
  623 + <condition>&#x3d;</condition>
  624 + <name2/>
  625 + </key>
  626 + <key>
  627 + <name>isCancel</name>
  628 + <field>destroy</field>
  629 + <condition>&#x3d;</condition>
  630 + <name2/>
  631 + </key>
  632 + <value>
  633 + <name>id</name>
  634 + <rename>xlid</rename>
  635 + <default/>
  636 + <type>Integer</type>
  637 + </value>
  638 + </lookup>
  639 + <cluster_schema/>
  640 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  641 + <xloc>438</xloc>
  642 + <yloc>57</yloc>
  643 + <draw>Y</draw>
  644 + </GUI>
  645 + </step>
  646 +
  647 + <step>
  648 + <name>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</name>
  649 + <type>GetVariable</type>
  650 + <description/>
  651 + <distribute>Y</distribute>
  652 + <custom_distribution/>
  653 + <copies>1</copies>
  654 + <partitioning>
  655 + <method>none</method>
  656 + <schema_name/>
  657 + </partitioning>
  658 + <fields>
  659 + <field>
  660 + <name>filepath_</name>
  661 + <variable>&#x24;&#x7b;filepath&#x7d;</variable>
  662 + <type>String</type>
  663 + <format/>
  664 + <currency/>
  665 + <decimal/>
  666 + <group/>
  667 + <length>-1</length>
  668 + <precision>-1</precision>
  669 + <trim_type>none</trim_type>
  670 + </field>
  671 + <field>
  672 + <name>erroroutputdir_</name>
  673 + <variable>&#x24;&#x7b;erroroutputdir&#x7d;</variable>
  674 + <type>String</type>
  675 + <format/>
  676 + <currency/>
  677 + <decimal/>
  678 + <group/>
  679 + <length>-1</length>
  680 + <precision>-1</precision>
  681 + <trim_type>none</trim_type>
  682 + </field>
  683 + </fields>
  684 + <cluster_schema/>
  685 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  686 + <xloc>156</xloc>
  687 + <yloc>150</yloc>
  688 + <draw>Y</draw>
  689 + </GUI>
  690 + </step>
  691 +
  692 + <step>
  693 + <name>&#x8f66;&#x8f86;id&#x67e5;&#x8be2;</name>
  694 + <type>DBLookup</type>
  695 + <description/>
  696 + <distribute>Y</distribute>
  697 + <custom_distribution/>
  698 + <copies>1</copies>
  699 + <partitioning>
  700 + <method>none</method>
  701 + <schema_name/>
  702 + </partitioning>
  703 + <connection>bus_control_variable</connection>
  704 + <cache>Y</cache>
  705 + <cache_load_all>Y</cache_load_all>
  706 + <cache_size>0</cache_size>
  707 + <lookup>
  708 + <schema/>
  709 + <table>bsth_c_cars</table>
  710 + <orderby/>
  711 + <fail_on_multiple>N</fail_on_multiple>
  712 + <eat_row_on_failure>N</eat_row_on_failure>
  713 + <key>
  714 + <name>&#x5185;&#x90e8;&#x7f16;&#x7801;</name>
  715 + <field>inside_code</field>
  716 + <condition>&#x3d;</condition>
  717 + <name2/>
  718 + </key>
  719 + <value>
  720 + <name>id</name>
  721 + <rename>clid</rename>
  722 + <default/>
  723 + <type>Integer</type>
  724 + </value>
  725 + </lookup>
  726 + <cluster_schema/>
  727 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  728 + <xloc>440</xloc>
  729 + <yloc>138</yloc>
  730 + <draw>Y</draw>
  731 + </GUI>
  732 + </step>
  733 +
  734 + <step>
  735 + <name>&#x8fc7;&#x6ee4;&#x7ebf;&#x8def;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</name>
  736 + <type>FilterRows</type>
  737 + <description/>
  738 + <distribute>Y</distribute>
  739 + <custom_distribution/>
  740 + <copies>1</copies>
  741 + <partitioning>
  742 + <method>none</method>
  743 + <schema_name/>
  744 + </partitioning>
  745 +<send_true_to>&#x8f66;&#x8f86;id&#x67e5;&#x8be2;</send_true_to>
  746 +<send_false_to/>
  747 + <compare>
  748 +<condition>
  749 + <negated>N</negated>
  750 + <leftvalue>xlid</leftvalue>
  751 + <function>IS NOT NULL</function>
  752 + <rightvalue/>
  753 + </condition>
  754 + </compare>
  755 + <cluster_schema/>
  756 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  757 + <xloc>563</xloc>
  758 + <yloc>57</yloc>
  759 + <draw>Y</draw>
  760 + </GUI>
  761 + </step>
  762 +
  763 + <step>
  764 + <name>&#x8fc7;&#x6ee4;&#x8f66;&#x8f86;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</name>
  765 + <type>FilterRows</type>
  766 + <description/>
  767 + <distribute>Y</distribute>
  768 + <custom_distribution/>
  769 + <copies>1</copies>
  770 + <partitioning>
  771 + <method>none</method>
  772 + <schema_name/>
  773 + </partitioning>
  774 +<send_true_to>&#x65e5;&#x671f;&#x8f6c;&#x6362;</send_true_to>
  775 +<send_false_to/>
  776 + <compare>
  777 +<condition>
  778 + <negated>N</negated>
  779 + <leftvalue>clid</leftvalue>
  780 + <function>IS NOT NULL</function>
  781 + <rightvalue/>
  782 + </condition>
  783 + </compare>
  784 + <cluster_schema/>
  785 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  786 + <xloc>566</xloc>
  787 + <yloc>137</yloc>
  788 + <draw>Y</draw>
  789 + </GUI>
  790 + </step>
  791 +
  792 + <step>
  793 + <name>&#x9519;&#x8bef;&#x8f93;&#x51fa;</name>
  794 + <type>ExcelOutput</type>
  795 + <description/>
  796 + <distribute>Y</distribute>
  797 + <custom_distribution/>
  798 + <copies>1</copies>
  799 + <partitioning>
  800 + <method>none</method>
  801 + <schema_name/>
  802 + </partitioning>
  803 + <header>Y</header>
  804 + <footer>N</footer>
  805 + <encoding>UTF-8</encoding>
  806 + <append>N</append>
  807 + <add_to_result_filenames>Y</add_to_result_filenames>
  808 + <file>
  809 + <name>&#x24;&#x7b;erroroutputdir&#x7d;&#x2f;&#x5f53;&#x524d;&#x914d;&#x8f66;_&#x9519;&#x8bef;</name>
  810 + <extention>xls</extention>
  811 + <do_not_open_newfile_init>N</do_not_open_newfile_init>
  812 + <create_parent_folder>N</create_parent_folder>
  813 + <split>N</split>
  814 + <add_date>N</add_date>
  815 + <add_time>N</add_time>
  816 + <SpecifyFormat>N</SpecifyFormat>
  817 + <date_time_format/>
  818 + <sheetname>Sheet1</sheetname>
  819 + <autosizecolums>N</autosizecolums>
  820 + <nullisblank>N</nullisblank>
  821 + <protect_sheet>N</protect_sheet>
  822 + <password>Encrypted </password>
  823 + <splitevery>0</splitevery>
  824 + <usetempfiles>N</usetempfiles>
  825 + <tempdirectory/>
  826 + </file>
  827 + <template>
  828 + <enabled>N</enabled>
  829 + <append>N</append>
  830 + <filename>template.xls</filename>
  831 + </template>
  832 + <fields>
  833 + <field>
  834 + <name>&#x7ebf;&#x8def;</name>
  835 + <type>String</type>
  836 + <format/>
  837 + </field>
  838 + <field>
  839 + <name>&#x5185;&#x90e8;&#x7f16;&#x7801;</name>
  840 + <type>String</type>
  841 + <format/>
  842 + </field>
  843 + <field>
  844 + <name>&#x542f;&#x7528;&#x65e5;&#x671f;</name>
  845 + <type>Timestamp</type>
  846 + <format/>
  847 + </field>
  848 + <field>
  849 + <name>&#x7ec8;&#x7ed3;&#x65e5;&#x671f;</name>
  850 + <type>Timestamp</type>
  851 + <format/>
  852 + </field>
  853 + <field>
  854 + <name>&#x505c;&#x8f66;&#x70b9;</name>
  855 + <type>String</type>
  856 + <format/>
  857 + </field>
  858 + <field>
  859 + <name>isCancel</name>
  860 + <type>Integer</type>
  861 + <format/>
  862 + </field>
  863 + <field>
  864 + <name>xlid</name>
  865 + <type>Integer</type>
  866 + <format/>
  867 + </field>
  868 + <field>
  869 + <name>clid</name>
  870 + <type>Integer</type>
  871 + <format/>
  872 + </field>
  873 + <field>
  874 + <name>isswitch</name>
  875 + <type>Integer</type>
  876 + <format/>
  877 + </field>
  878 + <field>
  879 + <name>error_count</name>
  880 + <type>Integer</type>
  881 + <format/>
  882 + </field>
  883 + <field>
  884 + <name>error_desc</name>
  885 + <type>String</type>
  886 + <format/>
  887 + </field>
  888 + <field>
  889 + <name>error_column1</name>
  890 + <type>String</type>
  891 + <format/>
  892 + </field>
  893 + <field>
  894 + <name>error_column2</name>
  895 + <type>String</type>
  896 + <format/>
  897 + </field>
  898 + </fields>
  899 + <custom>
  900 + <header_font_name>arial</header_font_name>
  901 + <header_font_size>10</header_font_size>
  902 + <header_font_bold>N</header_font_bold>
  903 + <header_font_italic>N</header_font_italic>
  904 + <header_font_underline>no</header_font_underline>
  905 + <header_font_orientation>horizontal</header_font_orientation>
  906 + <header_font_color>black</header_font_color>
  907 + <header_background_color>none</header_background_color>
  908 + <header_row_height>255</header_row_height>
  909 + <header_alignment>left</header_alignment>
  910 + <header_image/>
  911 + <row_font_name>arial</row_font_name>
  912 + <row_font_size>10</row_font_size>
  913 + <row_font_color>black</row_font_color>
  914 + <row_background_color>none</row_background_color>
  915 + </custom>
  916 + <cluster_schema/>
  917 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  918 + <xloc>807</xloc>
  919 + <yloc>353</yloc>
  920 + <draw>Y</draw>
  921 + </GUI>
  922 + </step>
  923 +
  924 + <step_error_handling>
  925 + <error>
  926 + <source_step>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ccinfo</source_step>
  927 + <target_step>&#x9519;&#x8bef;&#x8f93;&#x51fa;</target_step>
  928 + <is_enabled>Y</is_enabled>
  929 + <nr_valuename>error_count</nr_valuename>
  930 + <descriptions_valuename>error_desc</descriptions_valuename>
  931 + <fields_valuename>error_column1</fields_valuename>
  932 + <codes_valuename>error_column2</codes_valuename>
  933 + <max_errors/>
  934 + <max_pct_errors/>
  935 + <min_pct_rows/>
  936 + </error>
  937 + </step_error_handling>
  938 + <slave-step-copy-partition-distribution>
  939 +</slave-step-copy-partition-distribution>
  940 + <slave_transformation>N</slave_transformation>
  941 +
  942 +</transformation>
src/main/resources/datatools/ktrs/carsConfigDataOutput.ktr 0 → 100644
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<transformation>
  3 + <info>
  4 + <name>carsConfigDataOutput</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>filepath</name>
  14 + <default_value/>
  15 + <description>excel&#x6587;&#x4ef6;&#x8def;&#x5f84;</description>
  16 + </parameter>
  17 + </parameters>
  18 + <log>
  19 +<trans-log-table><connection/>
  20 +<schema/>
  21 +<table/>
  22 +<size_limit_lines/>
  23 +<interval/>
  24 +<timeout_days/>
  25 +<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>
  26 +<perf-log-table><connection/>
  27 +<schema/>
  28 +<table/>
  29 +<interval/>
  30 +<timeout_days/>
  31 +<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>
  32 +<channel-log-table><connection/>
  33 +<schema/>
  34 +<table/>
  35 +<timeout_days/>
  36 +<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>
  37 +<step-log-table><connection/>
  38 +<schema/>
  39 +<table/>
  40 +<timeout_days/>
  41 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>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>
  42 +<metrics-log-table><connection/>
  43 +<schema/>
  44 +<table/>
  45 +<timeout_days/>
  46 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>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>
  47 + </log>
  48 + <maxdate>
  49 + <connection/>
  50 + <table/>
  51 + <field/>
  52 + <offset>0.0</offset>
  53 + <maxdiff>0.0</maxdiff>
  54 + </maxdate>
  55 + <size_rowset>10000</size_rowset>
  56 + <sleep_time_empty>50</sleep_time_empty>
  57 + <sleep_time_full>50</sleep_time_full>
  58 + <unique_connections>N</unique_connections>
  59 + <feedback_shown>Y</feedback_shown>
  60 + <feedback_size>50000</feedback_size>
  61 + <using_thread_priorities>Y</using_thread_priorities>
  62 + <shared_objects_file/>
  63 + <capture_step_performance>N</capture_step_performance>
  64 + <step_performance_capturing_delay>1000</step_performance_capturing_delay>
  65 + <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit>
  66 + <dependencies>
  67 + </dependencies>
  68 + <partitionschemas>
  69 + </partitionschemas>
  70 + <slaveservers>
  71 + </slaveservers>
  72 + <clusterschemas>
  73 + </clusterschemas>
  74 + <created_user>-</created_user>
  75 + <created_date>2017&#x2f;01&#x2f;11 14&#x3a;14&#x3a;13.722</created_date>
  76 + <modified_user>-</modified_user>
  77 + <modified_date>2017&#x2f;01&#x2f;11 14&#x3a;14&#x3a;13.722</modified_date>
  78 + <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</key_for_session_key>
  79 + <is_key_private>N</is_key_private>
  80 + </info>
  81 + <notepads>
  82 + <notepad>
  83 + <note>&#x8fd9;&#x91cc;&#x6709;&#x4e9b;&#x95ee;&#x9898;&#xa;&#x5728;window2012&#x7684;&#x73af;&#x5883;&#x4e0b;&#xff0c;&#xa;MySql&#x6570;&#x636e;&#x5e93;&#x67e5;&#x8be2;&#x4e2d;&#x5982;&#x679c;&#x8fd4;&#x56de;&#x4e2d;&#x6587;&#x5185;&#x5bb9;&#x7684;&#x5b57;&#x6bb5;&#xff0c;&#x8fd9;&#x4e2a;&#x5185;&#x5bb9;&#x4e71;&#x7801;&#xa;&#x89e3;&#x51b3;&#x529e;&#x6cd5;&#xff0c;&#x5c31;&#x662f;&#x6570;&#x636e;&#x5e93;&#x67e5;&#x8be2;&#x5168;&#x90e8;&#x7f13;&#x5b58;&#xff0c;&#x5c31;&#x4e0d;&#x4e71;&#x7801;&#xa;linux&#x73af;&#x5883;&#x4e0b;&#x6ca1;&#x95ee;&#x9898;</note>
  84 + <xloc>81</xloc>
  85 + <yloc>172</yloc>
  86 + <width>333</width>
  87 + <heigth>90</heigth>
  88 + <fontname>YaHei Consolas Hybrid</fontname>
  89 + <fontsize>12</fontsize>
  90 + <fontbold>N</fontbold>
  91 + <fontitalic>N</fontitalic>
  92 + <fontcolorred>0</fontcolorred>
  93 + <fontcolorgreen>0</fontcolorgreen>
  94 + <fontcolorblue>0</fontcolorblue>
  95 + <backgroundcolorred>255</backgroundcolorred>
  96 + <backgroundcolorgreen>205</backgroundcolorgreen>
  97 + <backgroundcolorblue>112</backgroundcolorblue>
  98 + <bordercolorred>100</bordercolorred>
  99 + <bordercolorgreen>100</bordercolorgreen>
  100 + <bordercolorblue>100</bordercolorblue>
  101 + <drawshadow>Y</drawshadow>
  102 + </notepad>
  103 + </notepads>
  104 + <connection>
  105 + <name>bus_control_variable</name>
  106 + <server>&#x24;&#x7b;v_db_ip&#x7d;</server>
  107 + <type>MYSQL</type>
  108 + <access>Native</access>
  109 + <database>&#x24;&#x7b;v_db_dname&#x7d;</database>
  110 + <port>3306</port>
  111 + <username>&#x24;&#x7b;v_db_uname&#x7d;</username>
  112 + <password>&#x24;&#x7b;v_db_pwd&#x7d;</password>
  113 + <servername/>
  114 + <data_tablespace/>
  115 + <index_tablespace/>
  116 + <attributes>
  117 + <attribute><code>EXTRA_OPTION_MYSQL.characterEncoding</code><attribute>utf8</attribute></attribute>
  118 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  119 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  120 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  121 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  122 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  123 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  124 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  125 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  126 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  127 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  128 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  129 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  130 + </attributes>
  131 + </connection>
  132 + <connection>
  133 + <name>bus_control_&#x516c;&#x53f8;_201</name>
  134 + <server>localhost</server>
  135 + <type>MYSQL</type>
  136 + <access>Native</access>
  137 + <database>control</database>
  138 + <port>3306</port>
  139 + <username>root</username>
  140 + <password>Encrypted </password>
  141 + <servername/>
  142 + <data_tablespace/>
  143 + <index_tablespace/>
  144 + <attributes>
  145 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  146 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  147 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  148 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  149 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  150 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  151 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  152 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  153 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  154 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  155 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  156 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  157 + </attributes>
  158 + </connection>
  159 + <connection>
  160 + <name>bus_control_&#x672c;&#x673a;</name>
  161 + <server>localhost</server>
  162 + <type>MYSQL</type>
  163 + <access>Native</access>
  164 + <database>control</database>
  165 + <port>3306</port>
  166 + <username>root</username>
  167 + <password>Encrypted </password>
  168 + <servername/>
  169 + <data_tablespace/>
  170 + <index_tablespace/>
  171 + <attributes>
  172 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  173 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  174 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  175 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  176 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  177 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  178 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  179 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  180 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  181 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  182 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  183 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  184 + </attributes>
  185 + </connection>
  186 + <connection>
  187 + <name>xlab_mysql_youle</name>
  188 + <server>101.231.124.8</server>
  189 + <type>MYSQL</type>
  190 + <access>Native</access>
  191 + <database>xlab_youle</database>
  192 + <port>45687</port>
  193 + <username>xlab-youle</username>
  194 + <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password>
  195 + <servername/>
  196 + <data_tablespace/>
  197 + <index_tablespace/>
  198 + <attributes>
  199 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  200 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  201 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  202 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  203 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  204 + <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute>
  205 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  206 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  207 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  208 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  209 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  210 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  211 + </attributes>
  212 + </connection>
  213 + <connection>
  214 + <name>xlab_mysql_youle&#xff08;&#x672c;&#x673a;&#xff09;</name>
  215 + <server>localhost</server>
  216 + <type>MYSQL</type>
  217 + <access>Native</access>
  218 + <database>xlab_youle</database>
  219 + <port>3306</port>
  220 + <username>root</username>
  221 + <password>Encrypted </password>
  222 + <servername/>
  223 + <data_tablespace/>
  224 + <index_tablespace/>
  225 + <attributes>
  226 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  227 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  228 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  229 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  230 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  231 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  232 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  233 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  234 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  235 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  236 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  237 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  238 + </attributes>
  239 + </connection>
  240 + <connection>
  241 + <name>xlab_youle</name>
  242 + <server/>
  243 + <type>MYSQL</type>
  244 + <access>JNDI</access>
  245 + <database>xlab_youle</database>
  246 + <port>1521</port>
  247 + <username/>
  248 + <password>Encrypted </password>
  249 + <servername/>
  250 + <data_tablespace/>
  251 + <index_tablespace/>
  252 + <attributes>
  253 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  254 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  255 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  256 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  257 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  258 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  259 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  260 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  261 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  262 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  263 + </attributes>
  264 + </connection>
  265 + <order>
  266 + <hop> <from>&#x8f66;&#x8f86;&#x914d;&#x7f6e;&#xff08;&#x6ca1;&#x6709;&#x4f5c;&#x5e9f;&#xff09;</from><to>&#x7ebf;&#x8def;&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>
  267 + <hop> <from>&#x7ebf;&#x8def;&#x67e5;&#x8be2;</from><to>&#x8f66;&#x8f86;&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>
  268 + <hop> <from>&#x8f66;&#x8f86;&#x67e5;&#x8be2;</from><to>&#x683c;&#x5f0f;&#x5316;&#x65e5;&#x671f;</to><enabled>Y</enabled> </hop>
  269 + <hop> <from>&#x683c;&#x5f0f;&#x5316;&#x65e5;&#x671f;</from><to>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>
  270 + <hop> <from>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</from><to>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</to><enabled>Y</enabled> </hop>
  271 + <hop> <from>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</from><to>Excel&#x8f93;&#x51fa;</to><enabled>Y</enabled> </hop>
  272 + </order>
  273 + <step>
  274 + <name>&#x8f66;&#x8f86;&#x914d;&#x7f6e;&#xff08;&#x6ca1;&#x6709;&#x4f5c;&#x5e9f;&#xff09;</name>
  275 + <type>TableInput</type>
  276 + <description/>
  277 + <distribute>Y</distribute>
  278 + <custom_distribution/>
  279 + <copies>1</copies>
  280 + <partitioning>
  281 + <method>none</method>
  282 + <schema_name/>
  283 + </partitioning>
  284 + <connection>bus_control_variable</connection>
  285 + <sql>select &#x2a; from bsth_c_s_ccinfo where is_cancel &#x3d; 0</sql>
  286 + <limit>0</limit>
  287 + <lookup/>
  288 + <execute_each_row>N</execute_each_row>
  289 + <variables_active>N</variables_active>
  290 + <lazy_conversion_active>N</lazy_conversion_active>
  291 + <cluster_schema/>
  292 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  293 + <xloc>106</xloc>
  294 + <yloc>68</yloc>
  295 + <draw>Y</draw>
  296 + </GUI>
  297 + </step>
  298 +
  299 + <step>
  300 + <name>&#x7ebf;&#x8def;&#x67e5;&#x8be2;</name>
  301 + <type>DBLookup</type>
  302 + <description/>
  303 + <distribute>Y</distribute>
  304 + <custom_distribution/>
  305 + <copies>1</copies>
  306 + <partitioning>
  307 + <method>none</method>
  308 + <schema_name/>
  309 + </partitioning>
  310 + <connection>bus_control_variable</connection>
  311 + <cache>Y</cache>
  312 + <cache_load_all>Y</cache_load_all>
  313 + <cache_size>0</cache_size>
  314 + <lookup>
  315 + <schema/>
  316 + <table>bsth_c_line</table>
  317 + <orderby/>
  318 + <fail_on_multiple>N</fail_on_multiple>
  319 + <eat_row_on_failure>N</eat_row_on_failure>
  320 + <key>
  321 + <name>xl</name>
  322 + <field>id</field>
  323 + <condition>&#x3d;</condition>
  324 + <name2/>
  325 + </key>
  326 + <value>
  327 + <name>name</name>
  328 + <rename>xlmc</rename>
  329 + <default/>
  330 + <type>String</type>
  331 + </value>
  332 + </lookup>
  333 + <cluster_schema/>
  334 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  335 + <xloc>248</xloc>
  336 + <yloc>67</yloc>
  337 + <draw>Y</draw>
  338 + </GUI>
  339 + </step>
  340 +
  341 + <step>
  342 + <name>&#x8f66;&#x8f86;&#x67e5;&#x8be2;</name>
  343 + <type>DBLookup</type>
  344 + <description/>
  345 + <distribute>Y</distribute>
  346 + <custom_distribution/>
  347 + <copies>1</copies>
  348 + <partitioning>
  349 + <method>none</method>
  350 + <schema_name/>
  351 + </partitioning>
  352 + <connection>bus_control_variable</connection>
  353 + <cache>N</cache>
  354 + <cache_load_all>N</cache_load_all>
  355 + <cache_size>0</cache_size>
  356 + <lookup>
  357 + <schema/>
  358 + <table>bsth_c_cars</table>
  359 + <orderby/>
  360 + <fail_on_multiple>N</fail_on_multiple>
  361 + <eat_row_on_failure>N</eat_row_on_failure>
  362 + <key>
  363 + <name>cl</name>
  364 + <field>id</field>
  365 + <condition>&#x3d;</condition>
  366 + <name2/>
  367 + </key>
  368 + <value>
  369 + <name>inside_code</name>
  370 + <rename>zbh</rename>
  371 + <default/>
  372 + <type>String</type>
  373 + </value>
  374 + </lookup>
  375 + <cluster_schema/>
  376 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  377 + <xloc>361</xloc>
  378 + <yloc>67</yloc>
  379 + <draw>Y</draw>
  380 + </GUI>
  381 + </step>
  382 +
  383 + <step>
  384 + <name>&#x683c;&#x5f0f;&#x5316;&#x65e5;&#x671f;</name>
  385 + <type>SelectValues</type>
  386 + <description/>
  387 + <distribute>Y</distribute>
  388 + <custom_distribution/>
  389 + <copies>1</copies>
  390 + <partitioning>
  391 + <method>none</method>
  392 + <schema_name/>
  393 + </partitioning>
  394 + <fields> <select_unspecified>N</select_unspecified>
  395 + <meta> <name>qyrq</name>
  396 + <rename>qyrq</rename>
  397 + <type>String</type>
  398 + <length>-2</length>
  399 + <precision>-2</precision>
  400 + <conversion_mask>yyyy-MM-dd</conversion_mask>
  401 + <date_format_lenient>false</date_format_lenient>
  402 + <date_format_locale/>
  403 + <date_format_timezone/>
  404 + <lenient_string_to_number>false</lenient_string_to_number>
  405 + <encoding/>
  406 + <decimal_symbol/>
  407 + <grouping_symbol/>
  408 + <currency_symbol/>
  409 + <storage_type/>
  410 + </meta> <meta> <name>zzrq</name>
  411 + <rename>zzrq</rename>
  412 + <type>String</type>
  413 + <length>-2</length>
  414 + <precision>-2</precision>
  415 + <conversion_mask>yyyy-MM-dd</conversion_mask>
  416 + <date_format_lenient>false</date_format_lenient>
  417 + <date_format_locale/>
  418 + <date_format_timezone/>
  419 + <lenient_string_to_number>false</lenient_string_to_number>
  420 + <encoding/>
  421 + <decimal_symbol/>
  422 + <grouping_symbol/>
  423 + <currency_symbol/>
  424 + <storage_type/>
  425 + </meta> </fields> <cluster_schema/>
  426 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  427 + <xloc>478</xloc>
  428 + <yloc>66</yloc>
  429 + <draw>Y</draw>
  430 + </GUI>
  431 + </step>
  432 +
  433 + <step>
  434 + <name>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</name>
  435 + <type>SortRows</type>
  436 + <description/>
  437 + <distribute>Y</distribute>
  438 + <custom_distribution/>
  439 + <copies>1</copies>
  440 + <partitioning>
  441 + <method>none</method>
  442 + <schema_name/>
  443 + </partitioning>
  444 + <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
  445 + <prefix>out</prefix>
  446 + <sort_size>1000000</sort_size>
  447 + <free_memory/>
  448 + <compress>N</compress>
  449 + <compress_variable/>
  450 + <unique_rows>N</unique_rows>
  451 + <fields>
  452 + <field>
  453 + <name>xlmc</name>
  454 + <ascending>Y</ascending>
  455 + <case_sensitive>N</case_sensitive>
  456 + <presorted>N</presorted>
  457 + </field>
  458 + <field>
  459 + <name>zbh</name>
  460 + <ascending>Y</ascending>
  461 + <case_sensitive>N</case_sensitive>
  462 + <presorted>N</presorted>
  463 + </field>
  464 + <field>
  465 + <name>qyrq</name>
  466 + <ascending>Y</ascending>
  467 + <case_sensitive>N</case_sensitive>
  468 + <presorted>N</presorted>
  469 + </field>
  470 + </fields>
  471 + <cluster_schema/>
  472 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  473 + <xloc>592</xloc>
  474 + <yloc>66</yloc>
  475 + <draw>Y</draw>
  476 + </GUI>
  477 + </step>
  478 +
  479 + <step>
  480 + <name>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</name>
  481 + <type>SelectValues</type>
  482 + <description/>
  483 + <distribute>Y</distribute>
  484 + <custom_distribution/>
  485 + <copies>1</copies>
  486 + <partitioning>
  487 + <method>none</method>
  488 + <schema_name/>
  489 + </partitioning>
  490 + <fields> <field> <name>xlmc</name>
  491 + <rename>&#x7ebf;&#x8def;</rename>
  492 + <length>-2</length>
  493 + <precision>-2</precision>
  494 + </field> <field> <name>zbh</name>
  495 + <rename>&#x5185;&#x90e8;&#x7f16;&#x7801;</rename>
  496 + <length>-2</length>
  497 + <precision>-2</precision>
  498 + </field> <field> <name>qyrq</name>
  499 + <rename>&#x542f;&#x7528;&#x65e5;&#x671f;</rename>
  500 + <length>-2</length>
  501 + <precision>-2</precision>
  502 + </field> <field> <name>zzrq</name>
  503 + <rename>&#x7ec8;&#x7ed3;&#x65e5;&#x671f;</rename>
  504 + <length>-2</length>
  505 + <precision>-2</precision>
  506 + </field> <field> <name>tcd</name>
  507 + <rename>&#x505c;&#x8f66;&#x70b9;</rename>
  508 + <length>-2</length>
  509 + <precision>-2</precision>
  510 + </field> <select_unspecified>N</select_unspecified>
  511 + </fields> <cluster_schema/>
  512 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  513 + <xloc>595</xloc>
  514 + <yloc>167</yloc>
  515 + <draw>Y</draw>
  516 + </GUI>
  517 + </step>
  518 +
  519 + <step>
  520 + <name>Excel&#x8f93;&#x51fa;</name>
  521 + <type>ExcelOutput</type>
  522 + <description/>
  523 + <distribute>Y</distribute>
  524 + <custom_distribution/>
  525 + <copies>1</copies>
  526 + <partitioning>
  527 + <method>none</method>
  528 + <schema_name/>
  529 + </partitioning>
  530 + <header>Y</header>
  531 + <footer>N</footer>
  532 + <encoding/>
  533 + <append>N</append>
  534 + <add_to_result_filenames>Y</add_to_result_filenames>
  535 + <file>
  536 + <name>&#x24;&#x7b;filepath&#x7d;</name>
  537 + <extention/>
  538 + <do_not_open_newfile_init>N</do_not_open_newfile_init>
  539 + <create_parent_folder>N</create_parent_folder>
  540 + <split>N</split>
  541 + <add_date>N</add_date>
  542 + <add_time>N</add_time>
  543 + <SpecifyFormat>N</SpecifyFormat>
  544 + <date_time_format>yyyyMMddHHmmss</date_time_format>
  545 + <sheetname>&#x5de5;&#x4f5c;&#x8868;1</sheetname>
  546 + <autosizecolums>N</autosizecolums>
  547 + <nullisblank>N</nullisblank>
  548 + <protect_sheet>N</protect_sheet>
  549 + <password>Encrypted </password>
  550 + <splitevery>0</splitevery>
  551 + <usetempfiles>N</usetempfiles>
  552 + <tempdirectory/>
  553 + </file>
  554 + <template>
  555 + <enabled>N</enabled>
  556 + <append>N</append>
  557 + <filename>template.xls</filename>
  558 + </template>
  559 + <fields>
  560 + <field>
  561 + <name>&#x7ebf;&#x8def;</name>
  562 + <type>String</type>
  563 + <format/>
  564 + </field>
  565 + <field>
  566 + <name>&#x5185;&#x90e8;&#x7f16;&#x7801;</name>
  567 + <type>String</type>
  568 + <format/>
  569 + </field>
  570 + <field>
  571 + <name>&#x542f;&#x7528;&#x65e5;&#x671f;</name>
  572 + <type>String</type>
  573 + <format/>
  574 + </field>
  575 + <field>
  576 + <name>&#x7ec8;&#x7ed3;&#x65e5;&#x671f;</name>
  577 + <type>String</type>
  578 + <format/>
  579 + </field>
  580 + <field>
  581 + <name>&#x505c;&#x8f66;&#x70b9;</name>
  582 + <type>String</type>
  583 + <format/>
  584 + </field>
  585 + </fields>
  586 + <custom>
  587 + <header_font_name>arial</header_font_name>
  588 + <header_font_size>10</header_font_size>
  589 + <header_font_bold>N</header_font_bold>
  590 + <header_font_italic>N</header_font_italic>
  591 + <header_font_underline>no</header_font_underline>
  592 + <header_font_orientation>horizontal</header_font_orientation>
  593 + <header_font_color>black</header_font_color>
  594 + <header_background_color>none</header_background_color>
  595 + <header_row_height>255</header_row_height>
  596 + <header_alignment>left</header_alignment>
  597 + <header_image/>
  598 + <row_font_name>arial</row_font_name>
  599 + <row_font_size>10</row_font_size>
  600 + <row_font_color>black</row_font_color>
  601 + <row_background_color>none</row_background_color>
  602 + </custom>
  603 + <cluster_schema/>
  604 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  605 + <xloc>596</xloc>
  606 + <yloc>265</yloc>
  607 + <draw>Y</draw>
  608 + </GUI>
  609 + </step>
  610 +
  611 + <step_error_handling>
  612 + </step_error_handling>
  613 + <slave-step-copy-partition-distribution>
  614 +</slave-step-copy-partition-distribution>
  615 + <slave_transformation>N</slave_transformation>
  616 +
  617 +</transformation>