Commit f9527eb1cacf55c2544e7a2db3cc2870b346199e

Authored by 廖磊
2 parents 88b0a6a6 5d2e6039

Merge branch 'minhang' of

http://222.66.0.204:8090/panzhaov5/bsth_control into minhang

Too many changes to show.

To preserve performance only 22 of 44 files are displayed.

... ... @@ -259,11 +259,11 @@
259 259 </dependency>
260 260  
261 261  
262   - <dependency>
263   - <groupId>ojdbc</groupId>
264   - <artifactId>ojdbc</artifactId>
265   - <version>14</version>
266   - </dependency>
  262 + <!--<dependency>-->
  263 + <!--<groupId>ojdbc</groupId>-->
  264 + <!--<artifactId>ojdbc</artifactId>-->
  265 + <!--<version>14</version>-->
  266 + <!--</dependency>-->
267 267 </dependencies>
268 268  
269 269 <dependencyManagement>
... ...
src/main/java/com/bsth/controller/schedule/core/TTInfoDetailController.java
... ... @@ -5,11 +5,7 @@ import com.bsth.controller.schedule.BController;
5 5 import com.bsth.entity.schedule.TTInfoDetail;
6 6 import com.bsth.service.schedule.TTInfoDetailService;
7 7 import org.springframework.beans.factory.annotation.Autowired;
8   -import org.springframework.web.bind.annotation.PathVariable;
9   -import org.springframework.web.bind.annotation.RequestMapping;
10   -import org.springframework.web.bind.annotation.RequestMethod;
11   -import org.springframework.web.bind.annotation.RequestParam;
12   -import org.springframework.web.bind.annotation.RestController;
  8 +import org.springframework.web.bind.annotation.*;
13 9  
14 10 import java.util.HashMap;
15 11 import java.util.List;
... ... @@ -88,6 +84,20 @@ public class TTInfoDetailController extends BController&lt;TTInfoDetail, Long&gt; {
88 84 }
89 85 return rtn;
90 86 }
  87 +
  88 + @RequestMapping(value = "/zd_tcc", method = RequestMethod.GET)
  89 + public Map<String, Object> getZdAndTccInfo(Integer lineid, Integer xldir) {
  90 + Map<String, Object> rtn = new HashMap<>();
  91 + try {
  92 + List<Map<String, Object>> list = ttInfoDetailService.findZdAndTcc(lineid, xldir);
  93 + rtn.put("status", ResponseCode.SUCCESS);
  94 + rtn.put("data", list);
  95 + } catch (Exception exp) {
  96 + rtn.put("status", ResponseCode.ERROR);
  97 + rtn.put("msg", exp.getMessage());
  98 + }
  99 + return rtn;
  100 + }
91 101  
92 102 /**
93 103 * 时刻表明细批量插入
... ...
src/main/java/com/bsth/data/gpsdata/arrival/handlers/InOutStationSignalHandle.java
... ... @@ -253,20 +253,22 @@ public class InOutStationSignalHandle extends SignalHandle{
253 253 //已完成班次数
254 254 int doneSum = dayOfSchedule.doneSum(sch.getClZbh());
255 255 ScheduleRealInfo next = dayOfSchedule.next(sch);
256   - //通知客户端
257   - sendUtils.sendZdsj(sch, next, doneSum);
258 256 //持久化
259 257 dayOfSchedule.save(sch);
260 258  
261   - //准备执行下一个班次
262   - if (next != null) {
  259 + if(next != null){
263 260 next.setQdzArrDatesj(sch.getZdsjActual());
264 261 dayOfSchedule.addExecPlan(next);
265 262 //进站既进场
266 263 inStationAndInPark(sch, next);
  264 + }
  265 + //通知客户端
  266 + sendUtils.sendZdsj(sch, next, doneSum);
  267 +
  268 + //准备执行下一个班次
  269 + if (next != null) {
267 270 //将gps转换为下一个班次走向的站内信号
268 271 transformUpdown(gps, next);
269   -
270 272 //下发调度指令
271 273 directiveService.send60Dispatch(next, doneSum, "到站@系统");
272 274  
... ...
src/main/java/com/bsth/data/schedule/DayOfSchedule.java
... ... @@ -11,7 +11,10 @@ import com.bsth.data.directive.DirectivesPstThread;
11 11 import com.bsth.data.gpsdata.GpsRealData;
12 12 import com.bsth.data.gpsdata.recovery.GpsDataRecovery;
13 13 import com.bsth.data.schedule.late_adjust.ScheduleLateThread;
14   -import com.bsth.data.schedule.thread.*;
  14 +import com.bsth.data.schedule.thread.CalcOilThread;
  15 +import com.bsth.data.schedule.thread.SchedulePstThread;
  16 +import com.bsth.data.schedule.thread.ScheduleRefreshThread;
  17 +import com.bsth.data.schedule.thread.SubmitToTrafficManage;
15 18 import com.bsth.entity.realcontrol.LineConfig;
16 19 import com.bsth.entity.realcontrol.ScheduleRealInfo;
17 20 import com.bsth.entity.schedule.SchedulePlanInfo;
... ... @@ -146,7 +149,7 @@ public class DayOfSchedule implements CommandLineRunner {
146 149 //入库
147 150 // Application.mainServices.scheduleWithFixedDelay(schedulePstThread, 60, 30, TimeUnit.SECONDS);
148 151 //班次误点扫描
149   -// Application.mainServices.scheduleWithFixedDelay(scheduleLateThread, 60, 60, TimeUnit.SECONDS);
  152 +// Application.mainServices.scheduleWithFixedDelay(scheduleLateThread, 60, 30, TimeUnit.SECONDS);
150 153  
151 154 //每天凌晨2点20提交数据到运管处
152 155 long diff = (DateUtils.getTimestamp() + 1000 * 60 * 140) - System.currentTimeMillis();
... ...
src/main/java/com/bsth/data/schedule/late_adjust/LateAdjustHandle.java
1 1  
2 2 package com.bsth.data.schedule.late_adjust;
3 3  
  4 +import com.bsth.data.BasicData;
4 5 import com.bsth.data.LineConfigData;
5 6 import com.bsth.data.gpsdata.GpsEntity;
6 7 import com.bsth.entity.realcontrol.LineConfig;
7 8 import com.bsth.entity.realcontrol.ScheduleRealInfo;
  9 +import com.bsth.util.Arith;
8 10 import com.bsth.websocket.handler.SendUtils;
9 11 import org.slf4j.Logger;
10 12 import org.slf4j.LoggerFactory;
... ... @@ -47,6 +49,9 @@ public class LateAdjustHandle implements ApplicationContextAware{
47 49 */
48 50 public static void putLate(ScheduleRealInfo sch){
49 51 try {
  52 + //进出场班次不需要
  53 + if(sch.getBcType().equals("in") || sch.getBcType().equals("out"))
  54 + return;
50 55 //线路配置
51 56 LineConfig config = lineConfigData.get(sch.getXlBm());
52 57 if(sch.getLateMinute() == 0){
... ... @@ -115,18 +120,22 @@ public class LateAdjustHandle implements ApplicationContextAware{
115 120 if(sch == null)
116 121 return;
117 122  
118   - //进的是班次起点
119   - if(gps.getStopNo().equals(sch.getQdzCode())
  123 + //进的是班次起点(名称一样即可)
  124 + gps.setStationName(BasicData.stationCode2NameMap.get(gps.getLineId() + "_" + gps.getUpDown() + "_" + gps.getStopNo()));
  125 + if(gps.getStationName().equals(sch.getQdzName())
120 126 && sch.getLateMinute() > 0){
121 127 //自动调整待发 到达时间 + 停靠时间
122   - long dt = gps.getTimestamp() + (Long.parseLong(String.valueOf(sch.getLateMinute() * 60 * 1000)));
  128 + long dt = Arith.addLong(gps.getTimestamp(), (sch.getLateMinute() * 60 * 1000));
123 129 sch.setDfsjAll(dt);
124 130 sch.setDfAuto(true);
  131 + //取消应发未到标记
  132 + sch.setLate2(false);
125 133  
126 134 lateSchMap.remove(sch.getClZbh());
127 135 logger.info("【应发未到】车辆到站 " + sch.getClZbh() + " -" + sch.getDfsj() + " -到站时间:" + gps.getTimestamp() + " -停靠时间:" + sch.getLateMinute() + " -自动设置的待发时间:" + dt);
128 136 }
129 137 }catch (Exception e){
  138 + e.printStackTrace();
130 139 logger.error("", e);
131 140 }
132 141 }
... ...
src/main/java/com/bsth/data/schedule/late_adjust/ScheduleLateThread.java
... ... @@ -19,7 +19,7 @@ import java.util.List;
19 19 * @ClassName: ScheduleLateThread
20 20 * @Description: TODO(班次误点扫描线程)
21 21 * @author PanZhao
22   - * @date 2016年8月31日 下午3:09:02
  22 + * @date 2016年8月31日 下午3:09:02
23 23 *
24 24 */
25 25 @Component
... ... @@ -44,11 +44,14 @@ public class ScheduleLateThread extends Thread{
44 44 ScheduleRealInfo sch;
45 45 for(int i = 0; i < size; i ++){
46 46 sch = all.get(i);
47   - if(sch.getDfsjT() > t || sch.isLate())
  47 + if(sch.getDfsjT() > t)
48 48 break;
49 49  
  50 + if(sch.isLate())
  51 + continue;
  52 +
50 53 if(sch.getStatus() == 0
51   - && sch.getFcsjActual() == null){
  54 + && StringUtils.isEmpty(sch.getFcsjActual())){
52 55  
53 56 //检查应发未到 当前班次无起点到达时间
54 57 if(StringUtils.isEmpty(sch.getQdzArrDateSJ())){
... ...
src/main/java/com/bsth/entity/schedule/SchedulePlanInfo.java
... ... @@ -88,16 +88,18 @@ public class SchedulePlanInfo {
88 88 @Column(nullable = false)
89 89 private String xlDir;
90 90 /** 起点站id,根据班次类型,会关联 bsth_c_station,或 bsth_c_car_park,不做mapping */
91   - @Column(nullable = false)
92   - private Integer qdz;
  91 + // 这个字段以后不用了
  92 +// @Column(nullable = false)
  93 +// private Integer qdz;
93 94 /** 起点站code */
94 95 private String qdzCode;
95 96 /** 起点站名字 */
96 97 @Column(nullable = false)
97 98 private String qdzName;
98 99 /** 终点站id,根据班次类型,会关联 bsth_c_station,或 bsth_c_car_park,不做mapping */
99   - @Column(nullable = false)
100   - private Integer zdz;
  100 + // 这个字段以后不用了
  101 +// @Column(nullable = false)
  102 +// private Integer zdz;
101 103 /** 终点站code */
102 104 private String zdzCode;
103 105 /** 终点站名字 */
... ... @@ -238,28 +240,10 @@ public class SchedulePlanInfo {
238 240 // 时刻明细数据
239 241 this.xlDir = ttInfoDetail.getXlDir(); // 线路上下行
240 242 this.bcType = ttInfoDetail.getBcType(); // 班次类型
241   - if ("out".equals(this.bcType)) { // 出场班次
242   - this.qdz = ttInfoDetail.getTcc().getId(); // 起点站-停车场id
243   - this.qdzCode = ttInfoDetail.getTcc().getParkCode(); // 起点站-停车场code
244   - this.qdzName = ttInfoDetail.getTcc().getParkName(); // 起点站-停车场name
245   - this.zdz = ttInfoDetail.getZdz().getId(); // 终点站id
246   - this.zdzCode = ttInfoDetail.getZdz().getStationCod(); // 终点站code
247   - this.zdzName = ttInfoDetail.getZdz().getStationName(); // 终点站name
248   - } else if ("in".equals(this.bcType)) { // 进场班次
249   - this.qdz = ttInfoDetail.getQdz().getId(); // 起点站id
250   - this.qdzCode = ttInfoDetail.getQdz().getStationCod(); // 起点站code
251   - this.qdzName = ttInfoDetail.getQdz().getStationName(); // 起点站name
252   - this.zdz = ttInfoDetail.getTcc().getId(); // 终点站-停车场id
253   - this.zdzCode = ttInfoDetail.getTcc().getParkCode(); // 终点站-停车场code
254   - this.zdzName = ttInfoDetail.getTcc().getParkName(); // 终点站-停车场name
255   - } else { // 其他班次
256   - this.qdz = ttInfoDetail.getQdz().getId(); // 起点站id
257   - this.qdzCode = ttInfoDetail.getQdz().getStationCod(); // 起点站code
258   - this.qdzName = ttInfoDetail.getQdz().getStationName(); // 起点站name
259   - this.zdz = ttInfoDetail.getZdz().getId(); // 终点站id
260   - this.zdzCode = ttInfoDetail.getZdz().getStationCod(); // 终点站code
261   - this.zdzName = ttInfoDetail.getZdz().getStationName(); // 终点站name
262   - }
  243 + this.qdzCode = ttInfoDetail.getQdzCode(); // 起点站code
  244 + this.qdzName = ttInfoDetail.getQdzName(); // 起点站name
  245 + this.zdzCode = ttInfoDetail.getZdzCode(); // 终点站code
  246 + this.zdzName = ttInfoDetail.getZdzName(); // 终点站name
263 247  
264 248 this.fcsj = ttInfoDetail.getFcsj(); // 发车时间
265 249 this.fcno = ttInfoDetail.getFcno(); // 发车顺序号
... ... @@ -280,7 +264,7 @@ public class SchedulePlanInfo {
280 264 if (pzType != null && !pzType.equals("BSY")) {
281 265 if ("ZW".equals(pzType)) { // 只看早晚进出场
282 266 if (isFirstBc) { // 第一个班次是出场
283   - this.qdz = carConfigInfo.getTcc().getId(); // 起点站-停车场id
  267 +// this.qdz = carConfigInfo.getTcc().getId(); // 起点站-停车场id
284 268 this.qdzCode = carConfigInfo.getTcc().getParkCode(); // 起点站-停车场code
285 269 this.qdzName = carConfigInfo.getTcc().getParkName(); // 起点站-停车场name
286 270  
... ... @@ -288,7 +272,7 @@ public class SchedulePlanInfo {
288 272 this.bcsj = "0".equals(this.xlDir) ? carConfigInfo.getUpOutSj().intValue() : carConfigInfo.getDownOutSj().intValue();
289 273  
290 274 } else if (isLastBc) { // 最后一个班次是进场
291   - this.zdz = carConfigInfo.getTcc().getId(); // 终点站-停车场id
  275 +// this.zdz = carConfigInfo.getTcc().getId(); // 终点站-停车场id
292 276 this.zdzCode = carConfigInfo.getTcc().getParkCode(); // 终点站-停车场code
293 277 this.zdzName = carConfigInfo.getTcc().getParkName(); // 终点站-停车场name
294 278  
... ... @@ -298,7 +282,7 @@ public class SchedulePlanInfo {
298 282  
299 283 } else if ("FS".equals(pzType)) { // 所有进出场
300 284 if ("out".equals(this.bcType)) { // 出场班次
301   - this.qdz = carConfigInfo.getTcc().getId(); // 起点站-停车场id
  285 +// this.qdz = carConfigInfo.getTcc().getId(); // 起点站-停车场id
302 286 this.qdzCode = carConfigInfo.getTcc().getParkCode(); // 起点站-停车场code
303 287 this.qdzName = carConfigInfo.getTcc().getParkName(); // 起点站-停车场name
304 288  
... ... @@ -306,7 +290,7 @@ public class SchedulePlanInfo {
306 290 this.bcsj = "0".equals(this.xlDir) ? carConfigInfo.getUpOutSj().intValue() : carConfigInfo.getDownOutSj().intValue();
307 291  
308 292 } else if ("in".equals(this.bcType)) {
309   - this.zdz = carConfigInfo.getTcc().getId(); // 终点站-停车场id
  293 +// this.zdz = carConfigInfo.getTcc().getId(); // 终点站-停车场id
310 294 this.zdzCode = carConfigInfo.getTcc().getParkCode(); // 终点站-停车场code
311 295 this.zdzName = carConfigInfo.getTcc().getParkName(); // 终点站-停车场name
312 296  
... ... @@ -319,14 +303,6 @@ public class SchedulePlanInfo {
319 303 }
320 304  
321 305  
322   - public Integer getS() {
323   - return s;
324   - }
325   -
326   - public void setS(Integer s) {
327   - this.s = s;
328   - }
329   -
330 306 public Long getId() {
331 307 return id;
332 308 }
... ... @@ -343,6 +319,46 @@ public class SchedulePlanInfo {
343 319 this.scheduleDate = scheduleDate;
344 320 }
345 321  
  322 + public String getGsName() {
  323 + return gsName;
  324 + }
  325 +
  326 + public void setGsName(String gsName) {
  327 + this.gsName = gsName;
  328 + }
  329 +
  330 + public String getGsBm() {
  331 + return gsBm;
  332 + }
  333 +
  334 + public void setGsBm(String gsBm) {
  335 + this.gsBm = gsBm;
  336 + }
  337 +
  338 + public String getFgsName() {
  339 + return fgsName;
  340 + }
  341 +
  342 + public void setFgsName(String fgsName) {
  343 + this.fgsName = fgsName;
  344 + }
  345 +
  346 + public String getFgsBm() {
  347 + return fgsBm;
  348 + }
  349 +
  350 + public void setFgsBm(String fgsBm) {
  351 + this.fgsBm = fgsBm;
  352 + }
  353 +
  354 + public Integer getCcno() {
  355 + return ccno;
  356 + }
  357 +
  358 + public void setCcno(Integer ccno) {
  359 + this.ccno = ccno;
  360 + }
  361 +
346 362 public Integer getXl() {
347 363 return xl;
348 364 }
... ... @@ -439,6 +455,14 @@ public class SchedulePlanInfo {
439 455 this.jName = jName;
440 456 }
441 457  
  458 + public Integer getS() {
  459 + return s;
  460 + }
  461 +
  462 + public void setS(Integer s) {
  463 + this.s = s;
  464 + }
  465 +
442 466 public String getsGh() {
443 467 return sGh;
444 468 }
... ... @@ -463,12 +487,12 @@ public class SchedulePlanInfo {
463 487 this.xlDir = xlDir;
464 488 }
465 489  
466   - public Integer getQdz() {
467   - return qdz;
  490 + public String getQdzCode() {
  491 + return qdzCode;
468 492 }
469 493  
470   - public void setQdz(Integer qdz) {
471   - this.qdz = qdz;
  494 + public void setQdzCode(String qdzCode) {
  495 + this.qdzCode = qdzCode;
472 496 }
473 497  
474 498 public String getQdzName() {
... ... @@ -479,12 +503,12 @@ public class SchedulePlanInfo {
479 503 this.qdzName = qdzName;
480 504 }
481 505  
482   - public Integer getZdz() {
483   - return zdz;
  506 + public String getZdzCode() {
  507 + return zdzCode;
484 508 }
485 509  
486   - public void setZdz(Integer zdz) {
487   - this.zdz = zdz;
  510 + public void setZdzCode(String zdzCode) {
  511 + this.zdzCode = zdzCode;
488 512 }
489 513  
490 514 public String getZdzName() {
... ... @@ -543,6 +567,30 @@ public class SchedulePlanInfo {
543 567 this.bcType = bcType;
544 568 }
545 569  
  570 + public Long getTtInfo() {
  571 + return ttInfo;
  572 + }
  573 +
  574 + public void setTtInfo(Long ttInfo) {
  575 + this.ttInfo = ttInfo;
  576 + }
  577 +
  578 + public String getTtInfoName() {
  579 + return ttInfoName;
  580 + }
  581 +
  582 + public void setTtInfoName(String ttInfoName) {
  583 + this.ttInfoName = ttInfoName;
  584 + }
  585 +
  586 + public String getRemark() {
  587 + return remark;
  588 + }
  589 +
  590 + public void setRemark(String remark) {
  591 + this.remark = remark;
  592 + }
  593 +
546 594 public SysUser getCreateBy() {
547 595 return createBy;
548 596 }
... ... @@ -575,62 +623,6 @@ public class SchedulePlanInfo {
575 623 this.updateDate = updateDate;
576 624 }
577 625  
578   - public String getQdzCode() {
579   - return qdzCode;
580   - }
581   -
582   - public void setQdzCode(String qdzCode) {
583   - this.qdzCode = qdzCode;
584   - }
585   -
586   - public String getZdzCode() {
587   - return zdzCode;
588   - }
589   -
590   - public void setZdzCode(String zdzCode) {
591   - this.zdzCode = zdzCode;
592   - }
593   -
594   - public String getGsName() {
595   - return gsName;
596   - }
597   -
598   - public void setGsName(String gsName) {
599   - this.gsName = gsName;
600   - }
601   -
602   - public String getGsBm() {
603   - return gsBm;
604   - }
605   -
606   - public void setGsBm(String gsBm) {
607   - this.gsBm = gsBm;
608   - }
609   -
610   - public String getFgsName() {
611   - return fgsName;
612   - }
613   -
614   - public void setFgsName(String fgsName) {
615   - this.fgsName = fgsName;
616   - }
617   -
618   - public String getFgsBm() {
619   - return fgsBm;
620   - }
621   -
622   - public void setFgsBm(String fgsBm) {
623   - this.fgsBm = fgsBm;
624   - }
625   -
626   - public Integer getCcno() {
627   - return ccno;
628   - }
629   -
630   - public void setCcno(Integer ccno) {
631   - this.ccno = ccno;
632   - }
633   -
634 626 public SchedulePlan getSchedulePlan() {
635 627 return schedulePlan;
636 628 }
... ... @@ -638,28 +630,4 @@ public class SchedulePlanInfo {
638 630 public void setSchedulePlan(SchedulePlan schedulePlan) {
639 631 this.schedulePlan = schedulePlan;
640 632 }
641   -
642   - public Long getTtInfo() {
643   - return ttInfo;
644   - }
645   -
646   - public void setTtInfo(Long ttInfo) {
647   - this.ttInfo = ttInfo;
648   - }
649   -
650   - public String getTtInfoName() {
651   - return ttInfoName;
652   - }
653   -
654   - public void setTtInfoName(String ttInfoName) {
655   - this.ttInfoName = ttInfoName;
656   - }
657   -
658   - public String getRemark() {
659   - return remark;
660   - }
661   -
662   - public void setRemark(String remark) {
663   - this.remark = remark;
664   - }
665 633 }
... ...
src/main/java/com/bsth/entity/schedule/TTInfoDetail.java
... ... @@ -47,16 +47,28 @@ public class TTInfoDetail extends BEntity {
47 47 /** 线路方向(TODO:上下行,上行,下行,这个以后用枚举还是字典再议,现在先用文字) */
48 48 @Column(nullable = false)
49 49 private String xlDir;
50   - /** 起点站关联 */
  50 +
  51 + /** 起点站关联(以后不用了,暂时留着) */
51 52 @ManyToOne(cascade = CascadeType.DETACH, fetch = FetchType.LAZY)
52 53 private Station qdz;
53   - /** 终点站关联 */
  54 + /** 终点站关联(以后不用了,暂时留着) */
54 55 @ManyToOne(cascade = CascadeType.DETACH, fetch = FetchType.LAZY)
55 56 private Station zdz;
56   - /** 停车场关联(出场,进场班次会关联停车场) */
  57 + /** 停车场关联(出场,进场班次会关联停车场)(以后不用了,暂时留着) */
57 58 @ManyToOne(cascade = CascadeType.DETACH, fetch = FetchType.LAZY)
58 59 private CarPark tcc;
59 60  
  61 + // 站点包括普通站点和停车场(站点编码不同,使用站点编码区分)
  62 + // 以后不需要再区分是站点还是停车场了
  63 + /** 起站点代码(bsth_c_station,bsth_c_car_park 里的编码) */
  64 + private String qdzCode;
  65 + /** 起站点名字(bsth_c_stationroute,bsth_c_car_park里的名字) */
  66 + private String qdzName;
  67 + /** 终点站代码(bsth_c_station,bsth_c_car_park 里的编码) */
  68 + private String zdzCode;
  69 + /** 终点站名字(bsth_c_stationroute,bsth_c_car_park里的名字) */
  70 + private String zdzName;
  71 +
60 72 /** 发车时间(格式 HH:mm) */
61 73 @Column(nullable = false, length = 5)
62 74 private String fcsj;
... ... @@ -236,4 +248,36 @@ public class TTInfoDetail extends BEntity {
236 248 public void setIsFB(Boolean isFB) {
237 249 this.isFB = isFB;
238 250 }
  251 +
  252 + public String getQdzCode() {
  253 + return qdzCode;
  254 + }
  255 +
  256 + public void setQdzCode(String qdzCode) {
  257 + this.qdzCode = qdzCode;
  258 + }
  259 +
  260 + public String getQdzName() {
  261 + return qdzName;
  262 + }
  263 +
  264 + public void setQdzName(String qdzName) {
  265 + this.qdzName = qdzName;
  266 + }
  267 +
  268 + public String getZdzCode() {
  269 + return zdzCode;
  270 + }
  271 +
  272 + public void setZdzCode(String zdzCode) {
  273 + this.zdzCode = zdzCode;
  274 + }
  275 +
  276 + public String getZdzName() {
  277 + return zdzName;
  278 + }
  279 +
  280 + public void setZdzName(String zdzName) {
  281 + this.zdzName = zdzName;
  282 + }
239 283 }
... ...
src/main/java/com/bsth/entity/schedule/temp/SchedulePlanRuleResult.java
... ... @@ -10,6 +10,7 @@ import java.util.Date;
10 10 */
11 11 @Entity
12 12 @Table(name = "bsth_c_s_sp_rule_rst")
  13 +// TODO:此表以后考虑表分区
13 14 public class SchedulePlanRuleResult {
14 15 /** 主键Id */
15 16 @Id
... ... @@ -17,7 +18,8 @@ public class SchedulePlanRuleResult {
17 18 private Long id;
18 19  
19 20 /** 线路id */
20   - private String xlId;
  21 + // 这里要建一个索引 tt1 normal btree
  22 + private Integer xlId;
21 23 /** 线路名字 */
22 24 private String xlName;
23 25  
... ... @@ -49,6 +51,7 @@ public class SchedulePlanRuleResult {
49 51 private String ttinfoName;
50 52  
51 53 /** 排班日期 */
  54 + // 这里要建一个索引 tt2 normal btree
52 55 private Date scheduleDate;
53 56  
54 57 /** 操作人员id */
... ... @@ -56,6 +59,7 @@ public class SchedulePlanRuleResult {
56 59 /** 操作人员姓名 */
57 60 private String sysuserName;
58 61 /** 操作时间 */
  62 + // 这里要建一个索引 tt3 normal btree
59 63 private Date createDate;
60 64  
61 65 public SchedulePlanRuleResult() {
... ... @@ -76,6 +80,22 @@ public class SchedulePlanRuleResult {
76 80 this.id = id;
77 81 }
78 82  
  83 + public Integer getXlId() {
  84 + return xlId;
  85 + }
  86 +
  87 + public void setXlId(Integer xlId) {
  88 + this.xlId = xlId;
  89 + }
  90 +
  91 + public String getXlName() {
  92 + return xlName;
  93 + }
  94 +
  95 + public void setXlName(String xlName) {
  96 + this.xlName = xlName;
  97 + }
  98 +
79 99 public String getRuleId() {
80 100 return ruleId;
81 101 }
... ... @@ -148,6 +168,22 @@ public class SchedulePlanRuleResult {
148 168 this.ecindex = ecindex;
149 169 }
150 170  
  171 + public String getTtinfoId() {
  172 + return ttinfoId;
  173 + }
  174 +
  175 + public void setTtinfoId(String ttinfoId) {
  176 + this.ttinfoId = ttinfoId;
  177 + }
  178 +
  179 + public String getTtinfoName() {
  180 + return ttinfoName;
  181 + }
  182 +
  183 + public void setTtinfoName(String ttinfoName) {
  184 + this.ttinfoName = ttinfoName;
  185 + }
  186 +
151 187 public Date getScheduleDate() {
152 188 return scheduleDate;
153 189 }
... ... @@ -179,36 +215,4 @@ public class SchedulePlanRuleResult {
179 215 public void setCreateDate(Date createDate) {
180 216 this.createDate = createDate;
181 217 }
182   -
183   - public String getXlId() {
184   - return xlId;
185   - }
186   -
187   - public void setXlId(String xlId) {
188   - this.xlId = xlId;
189   - }
190   -
191   - public String getXlName() {
192   - return xlName;
193   - }
194   -
195   - public void setXlName(String xlName) {
196   - this.xlName = xlName;
197   - }
198   -
199   - public String getTtinfoId() {
200   - return ttinfoId;
201   - }
202   -
203   - public void setTtinfoId(String ttinfoId) {
204   - this.ttinfoId = ttinfoId;
205   - }
206   -
207   - public String getTtinfoName() {
208   - return ttinfoName;
209   - }
210   -
211   - public void setTtinfoName(String ttinfoName) {
212   - this.ttinfoName = ttinfoName;
213   - }
214 218 }
... ...
src/main/java/com/bsth/repository/schedule/SchedulePlanRuleResultRepository.java
... ... @@ -2,24 +2,18 @@ package com.bsth.repository.schedule;
2 2  
3 3 import com.bsth.entity.schedule.temp.SchedulePlanRuleResult;
4 4 import com.bsth.repository.BaseRepository;
5   -import org.springframework.data.jpa.repository.Modifying;
6   -import org.springframework.data.jpa.repository.Query;
7 5 import org.springframework.stereotype.Repository;
8 6  
9   -import java.util.Date;
10   -import java.util.List;
11   -
12 7 /**
13 8 * Created by xu on 17/3/29.
14 9 */
15 10 @Repository
16 11 public interface SchedulePlanRuleResultRepository extends BaseRepository<SchedulePlanRuleResult, Long> {
17 12  
18   - @Query("select t from SchedulePlanRuleResult t " +
19   - "where not exists (select 1 from SchedulePlanRuleResult " +
20   - "where createDate > t.createDate and scheduleDate < ?2 ) " +
21   - "and t.xlId = ?1 and t.scheduleDate < ?2")
22   - List<SchedulePlanRuleResult> findLastByXl(String xlid, Date from);
  13 +// @Query("select t from SchedulePlanRuleResult t " +
  14 +// "where not exists (select 1 from SchedulePlanRuleResult " +
  15 +// "where createDate > t.createDate and scheduleDate < ?2 ) " +
  16 +// "and t.xlId = ?1 and t.scheduleDate < ?2")
23 17  
24 18 // @Modifying
25 19 // @Query("delete from SchedulePlanRuleResult t " +
... ...
src/main/java/com/bsth/service/realcontrol/impl/ScheduleRealInfoServiceImpl.java
... ... @@ -1050,6 +1050,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
1050 1050 ScheduleRealInfo next = dayOfSchedule.next(sch);
1051 1051 if (null != next) {
1052 1052 next.setQdzArrDateSJ(zdsjActual);
  1053 + next.setLate2(false);
1053 1054 ts.add(next);
1054 1055 }
1055 1056  
... ...
src/main/java/com/bsth/service/schedule/TTInfoDetailService.java
... ... @@ -28,12 +28,10 @@ public interface TTInfoDetailService extends BService&lt;TTInfoDetail, Long&gt; {
28 28 /** 是偶分班 */
29 29 private Boolean isfb;
30 30  
31   - /** 起点站 */
32   - private Integer qdz;
33   - /** 终点站 */
34   - private Integer zdz;
35   - /** 停车场 */
36   - private Integer tcc;
  31 + /** 起点站code */
  32 + private String qdzCode;
  33 + /** 终点站code */
  34 + private String zdzCode;
37 35  
38 36 public FcInfo() {
39 37 }
... ... @@ -44,9 +42,8 @@ public interface TTInfoDetailService extends BService&lt;TTInfoDetail, Long&gt; {
44 42 String fcsj,
45 43 String xldir,
46 44 String isfb,
47   - String qdz,
48   - String zdz,
49   - String tcc) {
  45 + String qdzCode,
  46 + String zdzCode) {
50 47 this.ttdid = StringUtils.isEmpty(ttdid_str) ? null : Long.valueOf(ttdid_str);
51 48 this.bc_type = bc_type;
52 49 this.fcsj = fcsj;
... ... @@ -58,14 +55,11 @@ public interface TTInfoDetailService extends BService&lt;TTInfoDetail, Long&gt; {
58 55 else
59 56 this.isfb = false;
60 57  
61   - if (StringUtils.isNotEmpty(qdz) && !"null".equals(qdz)) {
62   - this.qdz = Integer.valueOf(qdz);
  58 + if (StringUtils.isNotEmpty(qdzCode) && !"null".equals(qdzCode)) {
  59 + this.qdzCode = qdzCode;
63 60 }
64   - if (StringUtils.isNotEmpty(zdz) && !"null".equals(zdz)) {
65   - this.zdz = Integer.valueOf(zdz);
66   - }
67   - if (StringUtils.isNotEmpty(tcc) && !"null".equals(tcc)) {
68   - this.tcc = Integer.valueOf(tcc);
  61 + if (StringUtils.isNotEmpty(zdzCode) && !"null".equals(zdzCode)) {
  62 + this.zdzCode = zdzCode;
69 63 }
70 64  
71 65 }
... ... @@ -110,28 +104,20 @@ public interface TTInfoDetailService extends BService&lt;TTInfoDetail, Long&gt; {
110 104 this.isfb = isfb;
111 105 }
112 106  
113   - public Integer getQdz() {
114   - return qdz;
115   - }
116   -
117   - public void setQdz(Integer qdz) {
118   - this.qdz = qdz;
  107 + public String getQdzCode() {
  108 + return qdzCode;
119 109 }
120 110  
121   - public Integer getZdz() {
122   - return zdz;
  111 + public void setQdzCode(String qdzCode) {
  112 + this.qdzCode = qdzCode;
123 113 }
124 114  
125   - public void setZdz(Integer zdz) {
126   - this.zdz = zdz;
  115 + public String getZdzCode() {
  116 + return zdzCode;
127 117 }
128 118  
129   - public Integer getTcc() {
130   - return tcc;
131   - }
132   -
133   - public void setTcc(Integer tcc) {
134   - this.tcc = tcc;
  119 + public void setZdzCode(String zdzCode) {
  120 + this.zdzCode = zdzCode;
135 121 }
136 122 }
137 123  
... ... @@ -202,4 +188,6 @@ public interface TTInfoDetailService extends BService&lt;TTInfoDetail, Long&gt; {
202 188 List<TTInfoDetail> findBcdetails(Integer xlId, Long ttinfoId, Long lpId);
203 189  
204 190 Map<String, Object> skbDetailMxSave(Map<String, Object> map);
  191 +
  192 + List<Map<String, Object>> findZdAndTcc(int lineid, int xldir);
205 193 }
... ...
src/main/java/com/bsth/service/schedule/impl/SchedulePlanServiceImpl.java
... ... @@ -8,6 +8,7 @@ import com.bsth.repository.LineRepository;
8 8 import com.bsth.repository.schedule.*;
9 9 import com.bsth.service.schedule.SchedulePlanRuleResultService;
10 10 import com.bsth.service.schedule.SchedulePlanService;
  11 +import com.bsth.service.schedule.rules.ScheduleRuleService;
11 12 import com.bsth.service.schedule.rules.plan.PlanCalcuParam_input;
12 13 import com.bsth.service.schedule.rules.plan.PlanResult;
13 14 import com.bsth.service.schedule.rules.shiftloop.ScheduleCalcuParam_input;
... ... @@ -55,7 +56,7 @@ public class SchedulePlanServiceImpl extends BServiceImpl&lt;SchedulePlan, Long&gt; im
55 56 @Autowired
56 57 private SchedulePlanRuleResultService schedulePlanRuleResultService;
57 58 @Autowired
58   - private SchedulePlanRuleResultRepository schedulePlanRuleResultRepository;
  59 + private ScheduleRuleService scheduleRuleService;
59 60  
60 61 /** 日志记录器 */
61 62 private Logger logger = LoggerFactory.getLogger(SchedulePlanServiceImpl.class);
... ... @@ -89,7 +90,7 @@ public class SchedulePlanServiceImpl extends BServiceImpl&lt;SchedulePlan, Long&gt; im
89 90 // 设置gloable对象,在drl中通过别名使用
90 91 session.setGlobal("scheduleResult", scheduleResults_output);
91 92 session.setGlobal("log", logger); // 设置日志
92   - session.setGlobal("schedulePlanRuleResultRepository", schedulePlanRuleResultRepository);
  93 + session.setGlobal("scheduleRuleService", scheduleRuleService);
93 94  
94 95 // 载入数据
95 96 session.insert(scheduleCalcuParam_input);
... ...
src/main/java/com/bsth/service/schedule/impl/TTInfoDetailServiceImpl.java
... ... @@ -37,6 +37,7 @@ import org.slf4j.LoggerFactory;
37 37 import org.springframework.beans.factory.annotation.Autowired;
38 38 import org.springframework.beans.factory.annotation.Qualifier;
39 39 import org.springframework.boot.context.properties.EnableConfigurationProperties;
  40 +import org.springframework.jdbc.core.JdbcTemplate;
40 41 import org.springframework.stereotype.Service;
41 42 import org.springframework.transaction.annotation.Transactional;
42 43 import org.springframework.util.CollectionUtils;
... ... @@ -85,6 +86,28 @@ public class TTInfoDetailServiceImpl extends BServiceImpl&lt;TTInfoDetail, Long&gt; im
85 86 @Qualifier(value = "dataToolsServiceImpl")
86 87 private DataToolsService dataToolsService;
87 88  
  89 + @Autowired
  90 + private JdbcTemplate jdbcTemplate;
  91 +
  92 + /**
  93 + * 查找站点和停车场集合
  94 + * @param lineid 线路id
  95 + * @param xldir 线路上下行
  96 + * @return
  97 + */
  98 + public List<Map<String, Object>> findZdAndTcc(int lineid, int xldir) {
  99 + String sql = "select * from " +
  100 + "(" +
  101 + "select station_code as zcode, station_name as zname from bsth_c_stationroute " +
  102 + "where destroy = 0 and line = ? and directions = ? " +
  103 + "union all " +
  104 + "select park_code as zcode, park_name as zname from bsth_c_car_park " +
  105 + "where destroy = 0 " +
  106 + ") a ";
  107 +
  108 + return jdbcTemplate.queryForList(sql, lineid, xldir);
  109 + }
  110 +
88 111 @Override
89 112 public TTInfoDetail findById(Long aLong) {
90 113 return ttInfoDetailRepository.findOneExtend(aLong);
... ... @@ -294,7 +317,7 @@ public class TTInfoDetailServiceImpl extends BServiceImpl&lt;TTInfoDetail, Long&gt; im
294 317 for (int r = 1; r < sheet.getRows(); r++) {
295 318 List<FcInfo> fcInfos = new ArrayList<>();
296 319 // 每行第一列都是路牌
297   - fcInfos.add(new FcInfo(null, null, sheet.getCell(0, r).getContents(), null, null, null, null, null)); // 用fcsj放置路牌显示
  320 + fcInfos.add(new FcInfo(null, null, sheet.getCell(0, r).getContents(), null, null, null, null)); // 用fcsj放置路牌显示
298 321  
299 322 int bc_ks = 0; // 空驶班次
300 323 int bc_yy = 0; // 营运班次
... ... @@ -314,11 +337,10 @@ public class TTInfoDetailServiceImpl extends BServiceImpl&lt;TTInfoDetail, Long&gt; im
314 337 String xldir = content == null ? "" : content[5]; // 线路上下行
315 338 String isfb = content == null ? "" : content[6]; // 是否分班
316 339  
317   - String qdz = content == null ? "" : content[7]; // 起点站
318   - String zdz = content == null ? "" : content[8]; // 终点站
319   - String tcc = content == null ? "" : content[9]; // 停车场
  340 + String qdzCode = content == null ? "" : content[7]; // 起点站编码
  341 + String zdzCode = content == null ? "" : content[8]; // 终点站编码
320 342  
321   - FcInfo fcInfo = new FcInfo(ttdid_str, bctype, fcsj, xldir, isfb, qdz, zdz, tcc);
  343 + FcInfo fcInfo = new FcInfo(ttdid_str, bctype, fcsj, xldir, isfb, qdzCode, zdzCode);
322 344  
323 345 if (StringUtils.isNotEmpty(fzdname))
324 346 headarrays[c] = fzdname;
... ... @@ -344,6 +366,7 @@ public class TTInfoDetailServiceImpl extends BServiceImpl&lt;TTInfoDetail, Long&gt; im
344 366 }
345 367  
346 368 } catch (Exception exp) {
  369 + exp.printStackTrace();
347 370 LOGGER.info("第{}行,第{}列数据有问题,数据={},异常message={}", r, c, content_str, exp.getCause());
348 371 break;
349 372 }
... ... @@ -351,10 +374,10 @@ public class TTInfoDetailServiceImpl extends BServiceImpl&lt;TTInfoDetail, Long&gt; im
351 374 }
352 375  
353 376 // 添加一列 空驶班次/空驶里程,fcsj放置数据
354   - fcInfos.add(new FcInfo(null, null, String.format("%d/%.2f", bc_ks, lc_ks), null, null, null, null, null));
  377 + fcInfos.add(new FcInfo(null, null, String.format("%d/%.2f", bc_ks, lc_ks), null, null, null, null));
355 378  
356 379 // 添加一列 营运班次/营运里程,fcsj放置数据
357   - fcInfos.add(new FcInfo(null, null, String.format("%d/%.2f", bc_yy, lc_yy), null, null, null, null, null));
  380 + fcInfos.add(new FcInfo(null, null, String.format("%d/%.2f", bc_yy, lc_yy), null, null, null, null));
358 381  
359 382 editInfo.getContents().add(fcInfos);
360 383 }
... ... @@ -421,6 +444,8 @@ public class TTInfoDetailServiceImpl extends BServiceImpl&lt;TTInfoDetail, Long&gt; im
421 444 throw new Exception(String.format("第1行,第%d列数据%s在%s站点路由中不是起点站", i + 1, cell_con.trim(), linename));
422 445 } else if (stationRouteList.size() > 1) {
423 446 throw new Exception(String.format("第1行,第%d列数据%s在%s站点路由中上下行都是起点站", i + 1, cell_con.trim(), linename));
  447 + } else if (StringUtils.isEmpty(stationRouteList.get(0).getStationCode())) {
  448 + throw new Exception(String.format("第1行,第%d列数据%s在%s站点路由中没有站点编码", i + 1, cell_con.trim(), linename));
424 449 }
425 450 }
426 451  
... ...
src/main/java/com/bsth/service/schedule/rules/ScheduleRuleService.java 0 → 100644
  1 +package com.bsth.service.schedule.rules;
  2 +
  3 +import com.bsth.entity.schedule.temp.SchedulePlanRuleResult;
  4 +
  5 +import java.util.Date;
  6 +import java.util.List;
  7 +
  8 +/**
  9 + * 排班计划使用的service。
  10 + */
  11 +public interface ScheduleRuleService {
  12 +
  13 + // TODO:之后所有排班使用的方法汇总到这里
  14 +
  15 + /**
  16 + * 查找最近的历史排班记录
  17 + * @param xlid 线路id
  18 + * @param from 开始时间
  19 + * @return
  20 + */
  21 + List<SchedulePlanRuleResult> findLastByXl(String xlid, Date from);
  22 +}
... ...
src/main/java/com/bsth/service/schedule/rules/ScheduleRuleServiceImpl.java 0 → 100644
  1 +package com.bsth.service.schedule.rules;
  2 +
  3 +import com.bsth.entity.schedule.temp.SchedulePlanRuleResult;
  4 +import org.springframework.beans.factory.annotation.Autowired;
  5 +import org.springframework.jdbc.core.JdbcTemplate;
  6 +import org.springframework.jdbc.core.RowMapper;
  7 +import org.springframework.stereotype.Service;
  8 +
  9 +import java.sql.ResultSet;
  10 +import java.sql.SQLException;
  11 +import java.util.Date;
  12 +import java.util.List;
  13 +
  14 +/**
  15 + * Created by xu on 17/4/19.
  16 + */
  17 +@Service
  18 +public class ScheduleRuleServiceImpl implements ScheduleRuleService {
  19 +
  20 + @Autowired
  21 + private JdbcTemplate jdbcTemplate;
  22 +
  23 + @Override
  24 + public List<SchedulePlanRuleResult> findLastByXl(String xlid, Date from) {
  25 + String sql = "select * from bsth_c_s_sp_rule_rst a " +
  26 + "where exists (select 1 from " +
  27 + "(select t.rule_id as rid, max(t.schedule_date) as sd from bsth_c_s_sp_rule_rst t " +
  28 + "where t.xl_id = ? and t.schedule_date < ? " +
  29 + "group by t.rule_id) a2 " +
  30 + "where a.rule_id = rid and a.schedule_date = sd) ";
  31 +
  32 + return jdbcTemplate.query(sql, new Object[]{xlid, from}, new RowMapper<SchedulePlanRuleResult>() {
  33 + @Override
  34 + public SchedulePlanRuleResult mapRow(ResultSet rs, int i) throws SQLException {
  35 + SchedulePlanRuleResult obj = new SchedulePlanRuleResult();
  36 + obj.setRuleId(rs.getString("rule_id"));
  37 + obj.setScheduleDate(rs.getDate("schedule_date"));
  38 + obj.setGidindex(rs.getString("gidindex"));
  39 + obj.setEcindex(rs.getString("ecindex"));
  40 +
  41 + // 其他字段没用
  42 + return obj;
  43 + }
  44 + });
  45 + }
  46 +}
... ...
src/main/java/com/bsth/service/schedule/rules/ttinfo2/ErrorBcCountFunction.java
1 1 package com.bsth.service.schedule.rules.ttinfo2;
2 2  
3 3 import com.bsth.entity.schedule.TTInfoDetail;
  4 +import org.apache.commons.lang3.StringUtils;
4 5 import org.kie.api.runtime.rule.AccumulateFunction;
5 6  
6 7 import java.io.*;
... ... @@ -58,18 +59,12 @@ public class ErrorBcCountFunction implements AccumulateFunction {
58 59 return;
59 60 }
60 61  
61   - if ("in".equals(ttInfoDetail.getBcType())) {
62   - if (ttInfoDetail.getQdz() == null || ttInfoDetail.getTcc() == null) {
63   - errorCountData.errorcount ++;
64   - }
65   - } else if ("out".equals(ttInfoDetail.getBcType())) {
66   - if (ttInfoDetail.getTcc() == null || ttInfoDetail.getZdz() == null) {
67   - errorCountData.errorcount ++;
68   - }
69   - } else {
70   - if (ttInfoDetail.getQdz() == null || ttInfoDetail.getZdz() == null) {
71   - errorCountData.errorcount ++;
72   - }
  62 + if (StringUtils.isEmpty(ttInfoDetail.getQdzCode()) ||
  63 + StringUtils.isEmpty(ttInfoDetail.getQdzName()) ||
  64 + StringUtils.isEmpty(ttInfoDetail.getZdzCode()) ||
  65 + StringUtils.isEmpty(ttInfoDetail.getZdzName()) ) {
  66 +
  67 + errorCountData.errorcount ++;
73 68 }
74 69 }
75 70  
... ... @@ -83,18 +78,12 @@ public class ErrorBcCountFunction implements AccumulateFunction {
83 78 return;
84 79 }
85 80  
86   - if ("in".equals(ttInfoDetail.getBcType())) {
87   - if (ttInfoDetail.getQdz() == null || ttInfoDetail.getTcc() == null) {
88   - errorCountData.errorcount --;
89   - }
90   - } else if ("out".equals(ttInfoDetail.getBcType())) {
91   - if (ttInfoDetail.getTcc() == null || ttInfoDetail.getZdz() == null) {
92   - errorCountData.errorcount --;
93   - }
94   - } else {
95   - if (ttInfoDetail.getQdz() == null || ttInfoDetail.getZdz() == null) {
96   - errorCountData.errorcount --;
97   - }
  81 + if (StringUtils.isEmpty(ttInfoDetail.getQdzCode()) ||
  82 + StringUtils.isEmpty(ttInfoDetail.getQdzName()) ||
  83 + StringUtils.isEmpty(ttInfoDetail.getZdzCode()) ||
  84 + StringUtils.isEmpty(ttInfoDetail.getZdzName()) ) {
  85 +
  86 + errorCountData.errorcount --;
98 87 }
99 88  
100 89 }
... ...
src/main/java/com/bsth/util/Arith.java
... ... @@ -24,8 +24,20 @@ public class Arith {
24 24 BigDecimal b1 = new BigDecimal(v1.toString());
25 25 BigDecimal b2 = new BigDecimal(v2.toString());
26 26 return b1.add(b2).doubleValue();
27   - }
28   -
  27 + }
  28 +
  29 + /**
  30 + * 提供精确的加法运算。
  31 + * @param v1 被加数
  32 + * @param v2 加数
  33 + * @return 两个参数的和
  34 + */
  35 + public static long addLong(Object v1,Object v2){
  36 + BigDecimal b1 = new BigDecimal(v1.toString());
  37 + BigDecimal b2 = new BigDecimal(v2.toString());
  38 + return b1.add(b2).longValue();
  39 + }
  40 +
29 41 /**
30 42 * 提供精确的减法运算。
31 43 * @param v1 被减数
... ...
src/main/resources/application-dev.properties
... ... @@ -8,9 +8,9 @@ spring.jpa.hibernate.naming_strategy= org.hibernate.cfg.ImprovedNamingStrategy
8 8 spring.jpa.database= MYSQL
9 9 spring.jpa.show-sql= true
10 10 spring.datasource.driver-class-name= com.mysql.jdbc.Driver
11   -spring.datasource.url= jdbc:mysql://localhost/control?useUnicode=true&characterEncoding=utf-8&useSSL=false
  11 +spring.datasource.url= jdbc:mysql://127.0.0.1/control?useUnicode=true&characterEncoding=utf-8&useSSL=false
12 12 spring.datasource.username= root
13   -spring.datasource.password= root123
  13 +spring.datasource.password=
14 14 #spring.datasource.url= jdbc:mysql://192.168.168.117/pd_control?useUnicode=true&characterEncoding=utf-8&useSSL=false
15 15 #spring.datasource.username= root
16 16 #spring.datasource.password= root
... ...
src/main/resources/datatools/config-dev.properties
... ... @@ -10,7 +10,7 @@ datatools.kvars_dbuname=root
10 10 #数据库密码
11 11 datatools.kvars_dbpwd=
12 12 #数据库库名
13   -datatools.kvars_dbdname=qp_control
  13 +datatools.kvars_dbdname=control
14 14  
15 15 # 3、上传数据配置信息
16 16 # 上传文件目录配置(根据不同的环境需要修正)
... ...
src/main/resources/datatools/ktrs/legecy/ttinfodetailoutputforedit.ktr 0 → 100644
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<transformation>
  3 + <info>
  4 + <name>ttinfodetailoutputforedit</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>tempfilepath</name>
  14 + <default_value>&#x2f;Users&#x2f;xu&#x2f;resource&#x2f;project_code&#x2f;runtime_temp&#x2f;bsth_control_u_d_files&#x2f;temp&#x2f;test</default_value>
  15 + <description>&#x9ed8;&#x8ba4;&#x8f93;&#x51fa;&#x7684;&#x6587;&#x4ef6;&#x8def;&#x5f84;&#x540d;</description>
  16 + </parameter>
  17 + <parameter>
  18 + <name>ttid</name>
  19 + <default_value>79</default_value>
  20 + <description>&#x65f6;&#x523b;&#x8868;id</description>
  21 + </parameter>
  22 + <parameter>
  23 + <name>xlid</name>
  24 + <default_value>63020</default_value>
  25 + <description>&#x7ebf;&#x8def;id</description>
  26 + </parameter>
  27 + </parameters>
  28 + <log>
  29 +<trans-log-table><connection/>
  30 +<schema/>
  31 +<table/>
  32 +<size_limit_lines/>
  33 +<interval/>
  34 +<timeout_days/>
  35 +<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>
  36 +<perf-log-table><connection/>
  37 +<schema/>
  38 +<table/>
  39 +<interval/>
  40 +<timeout_days/>
  41 +<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>
  42 +<channel-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>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>
  47 +<step-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>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>
  52 +<metrics-log-table><connection/>
  53 +<schema/>
  54 +<table/>
  55 +<timeout_days/>
  56 +<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>
  57 + </log>
  58 + <maxdate>
  59 + <connection/>
  60 + <table/>
  61 + <field/>
  62 + <offset>0.0</offset>
  63 + <maxdiff>0.0</maxdiff>
  64 + </maxdate>
  65 + <size_rowset>10000</size_rowset>
  66 + <sleep_time_empty>50</sleep_time_empty>
  67 + <sleep_time_full>50</sleep_time_full>
  68 + <unique_connections>N</unique_connections>
  69 + <feedback_shown>Y</feedback_shown>
  70 + <feedback_size>50000</feedback_size>
  71 + <using_thread_priorities>Y</using_thread_priorities>
  72 + <shared_objects_file/>
  73 + <capture_step_performance>N</capture_step_performance>
  74 + <step_performance_capturing_delay>1000</step_performance_capturing_delay>
  75 + <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit>
  76 + <dependencies>
  77 + </dependencies>
  78 + <partitionschemas>
  79 + </partitionschemas>
  80 + <slaveservers>
  81 + </slaveservers>
  82 + <clusterschemas>
  83 + </clusterschemas>
  84 + <created_user>-</created_user>
  85 + <created_date>2016&#x2f;07&#x2f;11 21&#x3a;45&#x3a;05.041</created_date>
  86 + <modified_user>-</modified_user>
  87 + <modified_date>2016&#x2f;07&#x2f;11 21&#x3a;45&#x3a;05.041</modified_date>
  88 + <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</key_for_session_key>
  89 + <is_key_private>N</is_key_private>
  90 + </info>
  91 + <notepads>
  92 + <notepad>
  93 + <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>
  94 + <xloc>45</xloc>
  95 + <yloc>261</yloc>
  96 + <width>333</width>
  97 + <heigth>90</heigth>
  98 + <fontname>YaHei Consolas Hybrid</fontname>
  99 + <fontsize>12</fontsize>
  100 + <fontbold>N</fontbold>
  101 + <fontitalic>N</fontitalic>
  102 + <fontcolorred>0</fontcolorred>
  103 + <fontcolorgreen>0</fontcolorgreen>
  104 + <fontcolorblue>0</fontcolorblue>
  105 + <backgroundcolorred>255</backgroundcolorred>
  106 + <backgroundcolorgreen>205</backgroundcolorgreen>
  107 + <backgroundcolorblue>112</backgroundcolorblue>
  108 + <bordercolorred>100</bordercolorred>
  109 + <bordercolorgreen>100</bordercolorgreen>
  110 + <bordercolorblue>100</bordercolorblue>
  111 + <drawshadow>Y</drawshadow>
  112 + </notepad>
  113 + <notepad>
  114 + <note>&#x6b64;&#x5904;&#x8f6c;&#x6362;excel&#x6709;&#x95ee;&#x9898;&#xff0c;&#xa;2003&#x683c;&#x5f0f;&#x7684;xls&#x6700;&#x591a;256&#x5217;&#xff0c;&#xa;&#x8fd9;&#x91cc;&#x660e;&#x663e;&#x8d85;&#x8fc7;&#xff0c;&#x6240;&#x4ee5;&#x628a;&#x6240;&#x6709;&#x5185;&#x5bb9;&#x5408;&#x5e76;&#x6210;1&#x5217;&#xff0c;&#xa;&#x7528;,&#x5206;&#x9694;</note>
  115 + <xloc>256</xloc>
  116 + <yloc>397</yloc>
  117 + <width>245</width>
  118 + <heigth>74</heigth>
  119 + <fontname>YaHei Consolas Hybrid</fontname>
  120 + <fontsize>12</fontsize>
  121 + <fontbold>N</fontbold>
  122 + <fontitalic>N</fontitalic>
  123 + <fontcolorred>0</fontcolorred>
  124 + <fontcolorgreen>0</fontcolorgreen>
  125 + <fontcolorblue>0</fontcolorblue>
  126 + <backgroundcolorred>255</backgroundcolorred>
  127 + <backgroundcolorgreen>205</backgroundcolorgreen>
  128 + <backgroundcolorblue>112</backgroundcolorblue>
  129 + <bordercolorred>100</bordercolorred>
  130 + <bordercolorgreen>100</bordercolorgreen>
  131 + <bordercolorblue>100</bordercolorblue>
  132 + <drawshadow>Y</drawshadow>
  133 + </notepad>
  134 + </notepads>
  135 + <connection>
  136 + <name>bus_control_variable</name>
  137 + <server>&#x24;&#x7b;v_db_ip&#x7d;</server>
  138 + <type>MYSQL</type>
  139 + <access>Native</access>
  140 + <database>&#x24;&#x7b;v_db_dname&#x7d;</database>
  141 + <port>3306</port>
  142 + <username>&#x24;&#x7b;v_db_uname&#x7d;</username>
  143 + <password>&#x24;&#x7b;v_db_pwd&#x7d;</password>
  144 + <servername/>
  145 + <data_tablespace/>
  146 + <index_tablespace/>
  147 + <attributes>
  148 + <attribute><code>EXTRA_OPTION_MYSQL.characterEncoding</code><attribute>utf8</attribute></attribute>
  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_&#x516c;&#x53f8;_201</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>N</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>bus_control_&#x672c;&#x673a;</name>
  192 + <server>localhost</server>
  193 + <type>MYSQL</type>
  194 + <access>Native</access>
  195 + <database>control</database>
  196 + <port>3306</port>
  197 + <username>root</username>
  198 + <password>Encrypted </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>3306</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>Y</attribute></attribute>
  213 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  214 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  215 + </attributes>
  216 + </connection>
  217 + <connection>
  218 + <name>xlab_mysql_youle</name>
  219 + <server>101.231.124.8</server>
  220 + <type>MYSQL</type>
  221 + <access>Native</access>
  222 + <database>xlab_youle</database>
  223 + <port>45687</port>
  224 + <username>xlab-youle</username>
  225 + <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</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>45687</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_mysql_youle&#xff08;&#x672c;&#x673a;&#xff09;</name>
  246 + <server>localhost</server>
  247 + <type>MYSQL</type>
  248 + <access>Native</access>
  249 + <database>xlab_youle</database>
  250 + <port>3306</port>
  251 + <username>root</username>
  252 + <password>Encrypted </password>
  253 + <servername/>
  254 + <data_tablespace/>
  255 + <index_tablespace/>
  256 + <attributes>
  257 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  258 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  259 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  260 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  261 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  262 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  263 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  264 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  265 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  266 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  267 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  268 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  269 + </attributes>
  270 + </connection>
  271 + <connection>
  272 + <name>xlab_youle</name>
  273 + <server/>
  274 + <type>MYSQL</type>
  275 + <access>JNDI</access>
  276 + <database>xlab_youle</database>
  277 + <port>1521</port>
  278 + <username/>
  279 + <password>Encrypted </password>
  280 + <servername/>
  281 + <data_tablespace/>
  282 + <index_tablespace/>
  283 + <attributes>
  284 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  285 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  286 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  287 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  288 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  289 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  290 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  291 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  292 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  293 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  294 + </attributes>
  295 + </connection>
  296 + <order>
  297 + <hop> <from>&#x8868;&#x8f93;&#x5165;</from><to>&#x8fc7;&#x6ee4;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>
  298 + <hop> <from>&#x8fc7;&#x6ee4;&#x8bb0;&#x5f55;</from><to>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x7ad9;&#x70b9;&#x67e5;&#x8be2;&#x7528;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
  299 + <hop> <from>&#x8fc7;&#x6ee4;&#x8bb0;&#x5f55;</from><to>&#x8fdb;&#x573a;&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x67e5;&#x8be2;&#x7528;&#x7684;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
  300 + <hop> <from>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x7ad9;&#x70b9;&#x67e5;&#x8be2;&#x7528;&#x6570;&#x636e;</from><to>&#x67e5;&#x627e;&#x8d77;&#x70b9;&#x7ad9;&#x540d;&#x79f0;</to><enabled>Y</enabled> </hop>
  301 + <hop> <from>&#x67e5;&#x627e;&#x8d77;&#x70b9;&#x7ad9;&#x540d;&#x79f0;</from><to>&#x67e5;&#x627e;&#x7ec8;&#x70b9;&#x7ad9;&#x540d;&#x79f0;</to><enabled>Y</enabled> </hop>
  302 + <hop> <from>&#x67e5;&#x627e;&#x7ec8;&#x70b9;&#x7ad9;&#x540d;&#x79f0;</from><to>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</to><enabled>Y</enabled> </hop>
  303 + <hop> <from>&#x8fdb;&#x573a;&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x67e5;&#x8be2;&#x7528;&#x7684;&#x6570;&#x636e;</from><to>&#x5b57;&#x6bb5;&#x9009;&#x62e9; 2</to><enabled>Y</enabled> </hop>
  304 + <hop> <from>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</from><to>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>
  305 + <hop> <from>&#x5b57;&#x6bb5;&#x9009;&#x62e9; 2</from><to>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>
  306 + <hop> <from>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</from><to>&#x8ba1;&#x7b97;&#x53d1;&#x8f66;&#x7ad9;&#x540d;</to><enabled>Y</enabled> </hop>
  307 + <hop> <from>&#x5217;&#x8f6c;&#x884c;</from><to>&#x53bb;&#x9664;&#x5b57;&#x6bb5;</to><enabled>Y</enabled> </hop>
  308 + <hop> <from>&#x53bb;&#x9664;&#x5b57;&#x6bb5;</from><to>Excel&#x8f93;&#x51fa;</to><enabled>Y</enabled> </hop>
  309 + <hop> <from>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</from><to>&#x8868;&#x8f93;&#x5165;</to><enabled>Y</enabled> </hop>
  310 + <hop> <from>&#x8ba1;&#x7b97;&#x53d1;&#x8f66;&#x7ad9;&#x540d;</from><to>&#x5408;&#x5e76;&#x5185;&#x5bb9;</to><enabled>Y</enabled> </hop>
  311 + <hop> <from>&#x5408;&#x5e76;&#x5185;&#x5bb9;</from><to>&#x5217;&#x8f6c;&#x884c;</to><enabled>Y</enabled> </hop>
  312 + <hop> <from>&#x53bb;&#x9664;&#x5b57;&#x6bb5;</from><to>&#x6587;&#x672c;&#x6587;&#x4ef6;&#x8f93;&#x51fa;</to><enabled>Y</enabled> </hop>
  313 + </order>
  314 + <step>
  315 + <name>Excel&#x8f93;&#x51fa;</name>
  316 + <type>ExcelOutput</type>
  317 + <description/>
  318 + <distribute>Y</distribute>
  319 + <custom_distribution/>
  320 + <copies>1</copies>
  321 + <partitioning>
  322 + <method>none</method>
  323 + <schema_name/>
  324 + </partitioning>
  325 + <header>Y</header>
  326 + <footer>N</footer>
  327 + <encoding/>
  328 + <append>N</append>
  329 + <add_to_result_filenames>Y</add_to_result_filenames>
  330 + <file>
  331 + <name>&#x24;&#x7b;tempfilepath&#x7d;</name>
  332 + <extention>xls</extention>
  333 + <do_not_open_newfile_init>N</do_not_open_newfile_init>
  334 + <create_parent_folder>N</create_parent_folder>
  335 + <split>N</split>
  336 + <add_date>N</add_date>
  337 + <add_time>N</add_time>
  338 + <SpecifyFormat>N</SpecifyFormat>
  339 + <date_time_format/>
  340 + <sheetname>Sheet1</sheetname>
  341 + <autosizecolums>N</autosizecolums>
  342 + <nullisblank>N</nullisblank>
  343 + <protect_sheet>N</protect_sheet>
  344 + <password>Encrypted </password>
  345 + <splitevery>0</splitevery>
  346 + <usetempfiles>N</usetempfiles>
  347 + <tempdirectory/>
  348 + </file>
  349 + <template>
  350 + <enabled>N</enabled>
  351 + <append>N</append>
  352 + <filename>template.xls</filename>
  353 + </template>
  354 + <fields>
  355 + <field>
  356 + <name>lp</name>
  357 + <type>String</type>
  358 + <format/>
  359 + </field>
  360 + <field>
  361 + <name>fcno1</name>
  362 + <type>String</type>
  363 + <format/>
  364 + </field>
  365 + <field>
  366 + <name>fcno2</name>
  367 + <type>String</type>
  368 + <format/>
  369 + </field>
  370 + <field>
  371 + <name>fcno3</name>
  372 + <type>String</type>
  373 + <format/>
  374 + </field>
  375 + <field>
  376 + <name>fcno4</name>
  377 + <type>String</type>
  378 + <format/>
  379 + </field>
  380 + <field>
  381 + <name>fcno5</name>
  382 + <type>String</type>
  383 + <format/>
  384 + </field>
  385 + <field>
  386 + <name>fcno6</name>
  387 + <type>String</type>
  388 + <format/>
  389 + </field>
  390 + <field>
  391 + <name>fcno7</name>
  392 + <type>String</type>
  393 + <format/>
  394 + </field>
  395 + <field>
  396 + <name>fcno8</name>
  397 + <type>String</type>
  398 + <format/>
  399 + </field>
  400 + <field>
  401 + <name>fcno9</name>
  402 + <type>String</type>
  403 + <format/>
  404 + </field>
  405 + <field>
  406 + <name>fcno10</name>
  407 + <type>String</type>
  408 + <format/>
  409 + </field>
  410 + <field>
  411 + <name>fcno11</name>
  412 + <type>String</type>
  413 + <format/>
  414 + </field>
  415 + <field>
  416 + <name>fcno12</name>
  417 + <type>String</type>
  418 + <format/>
  419 + </field>
  420 + <field>
  421 + <name>fcno13</name>
  422 + <type>String</type>
  423 + <format/>
  424 + </field>
  425 + <field>
  426 + <name>fcno14</name>
  427 + <type>String</type>
  428 + <format/>
  429 + </field>
  430 + <field>
  431 + <name>fcno15</name>
  432 + <type>String</type>
  433 + <format/>
  434 + </field>
  435 + <field>
  436 + <name>fcno16</name>
  437 + <type>String</type>
  438 + <format/>
  439 + </field>
  440 + <field>
  441 + <name>fcno17</name>
  442 + <type>String</type>
  443 + <format/>
  444 + </field>
  445 + <field>
  446 + <name>fcno18</name>
  447 + <type>String</type>
  448 + <format/>
  449 + </field>
  450 + <field>
  451 + <name>fcno19</name>
  452 + <type>String</type>
  453 + <format/>
  454 + </field>
  455 + <field>
  456 + <name>fcno20</name>
  457 + <type>String</type>
  458 + <format/>
  459 + </field>
  460 + <field>
  461 + <name>fcno21</name>
  462 + <type>String</type>
  463 + <format/>
  464 + </field>
  465 + <field>
  466 + <name>fcno22</name>
  467 + <type>String</type>
  468 + <format/>
  469 + </field>
  470 + <field>
  471 + <name>fcno23</name>
  472 + <type>String</type>
  473 + <format/>
  474 + </field>
  475 + <field>
  476 + <name>fcno24</name>
  477 + <type>String</type>
  478 + <format/>
  479 + </field>
  480 + <field>
  481 + <name>fcno25</name>
  482 + <type>String</type>
  483 + <format/>
  484 + </field>
  485 + <field>
  486 + <name>fcno26</name>
  487 + <type>String</type>
  488 + <format/>
  489 + </field>
  490 + <field>
  491 + <name>fcno27</name>
  492 + <type>String</type>
  493 + <format/>
  494 + </field>
  495 + <field>
  496 + <name>fcno28</name>
  497 + <type>String</type>
  498 + <format/>
  499 + </field>
  500 + <field>
  501 + <name>fcno29</name>
  502 + <type>String</type>
  503 + <format/>
  504 + </field>
  505 + <field>
  506 + <name>fcno30</name>
  507 + <type>String</type>
  508 + <format/>
  509 + </field>
  510 + <field>
  511 + <name>fcno31</name>
  512 + <type>String</type>
  513 + <format/>
  514 + </field>
  515 + <field>
  516 + <name>fcno32</name>
  517 + <type>String</type>
  518 + <format/>
  519 + </field>
  520 + <field>
  521 + <name>fcno33</name>
  522 + <type>String</type>
  523 + <format/>
  524 + </field>
  525 + <field>
  526 + <name>fcno34</name>
  527 + <type>String</type>
  528 + <format/>
  529 + </field>
  530 + <field>
  531 + <name>fcno35</name>
  532 + <type>String</type>
  533 + <format/>
  534 + </field>
  535 + <field>
  536 + <name>fcno36</name>
  537 + <type>String</type>
  538 + <format/>
  539 + </field>
  540 + <field>
  541 + <name>fcno37</name>
  542 + <type>String</type>
  543 + <format/>
  544 + </field>
  545 + <field>
  546 + <name>fcno38</name>
  547 + <type>String</type>
  548 + <format/>
  549 + </field>
  550 + <field>
  551 + <name>fcno39</name>
  552 + <type>String</type>
  553 + <format/>
  554 + </field>
  555 + <field>
  556 + <name>fcno40</name>
  557 + <type>String</type>
  558 + <format/>
  559 + </field>
  560 + <field>
  561 + <name>fcno41</name>
  562 + <type>String</type>
  563 + <format/>
  564 + </field>
  565 + <field>
  566 + <name>fcno42</name>
  567 + <type>String</type>
  568 + <format/>
  569 + </field>
  570 + <field>
  571 + <name>fcno43</name>
  572 + <type>String</type>
  573 + <format/>
  574 + </field>
  575 + <field>
  576 + <name>fcno44</name>
  577 + <type>String</type>
  578 + <format/>
  579 + </field>
  580 + <field>
  581 + <name>fcno45</name>
  582 + <type>String</type>
  583 + <format/>
  584 + </field>
  585 + <field>
  586 + <name>fcno46</name>
  587 + <type>String</type>
  588 + <format/>
  589 + </field>
  590 + <field>
  591 + <name>fcno47</name>
  592 + <type>String</type>
  593 + <format/>
  594 + </field>
  595 + <field>
  596 + <name>fcno48</name>
  597 + <type>String</type>
  598 + <format/>
  599 + </field>
  600 + <field>
  601 + <name>fcno49</name>
  602 + <type>String</type>
  603 + <format/>
  604 + </field>
  605 + <field>
  606 + <name>fcno50</name>
  607 + <type>String</type>
  608 + <format/>
  609 + </field>
  610 + <field>
  611 + <name>fcno51</name>
  612 + <type>String</type>
  613 + <format/>
  614 + </field>
  615 + <field>
  616 + <name>fcno52</name>
  617 + <type>String</type>
  618 + <format/>
  619 + </field>
  620 + <field>
  621 + <name>fcno53</name>
  622 + <type>String</type>
  623 + <format/>
  624 + </field>
  625 + <field>
  626 + <name>fcno54</name>
  627 + <type>String</type>
  628 + <format/>
  629 + </field>
  630 + <field>
  631 + <name>fcno55</name>
  632 + <type>String</type>
  633 + <format/>
  634 + </field>
  635 + <field>
  636 + <name>fcno56</name>
  637 + <type>String</type>
  638 + <format/>
  639 + </field>
  640 + <field>
  641 + <name>fcno57</name>
  642 + <type>String</type>
  643 + <format/>
  644 + </field>
  645 + <field>
  646 + <name>fcno58</name>
  647 + <type>String</type>
  648 + <format/>
  649 + </field>
  650 + <field>
  651 + <name>fcno59</name>
  652 + <type>String</type>
  653 + <format/>
  654 + </field>
  655 + <field>
  656 + <name>fcno60</name>
  657 + <type>String</type>
  658 + <format/>
  659 + </field>
  660 + <field>
  661 + <name>fcno61</name>
  662 + <type>String</type>
  663 + <format/>
  664 + </field>
  665 + <field>
  666 + <name>fcno62</name>
  667 + <type>String</type>
  668 + <format/>
  669 + </field>
  670 + <field>
  671 + <name>fcno63</name>
  672 + <type>String</type>
  673 + <format/>
  674 + </field>
  675 + <field>
  676 + <name>fcno64</name>
  677 + <type>String</type>
  678 + <format/>
  679 + </field>
  680 + <field>
  681 + <name>fcno65</name>
  682 + <type>String</type>
  683 + <format/>
  684 + </field>
  685 + <field>
  686 + <name>fcno66</name>
  687 + <type>String</type>
  688 + <format/>
  689 + </field>
  690 + <field>
  691 + <name>fcno67</name>
  692 + <type>String</type>
  693 + <format/>
  694 + </field>
  695 + <field>
  696 + <name>fcno68</name>
  697 + <type>String</type>
  698 + <format/>
  699 + </field>
  700 + <field>
  701 + <name>fcno69</name>
  702 + <type>String</type>
  703 + <format/>
  704 + </field>
  705 + <field>
  706 + <name>fcno70</name>
  707 + <type>String</type>
  708 + <format/>
  709 + </field>
  710 + </fields>
  711 + <custom>
  712 + <header_font_name>arial</header_font_name>
  713 + <header_font_size>10</header_font_size>
  714 + <header_font_bold>N</header_font_bold>
  715 + <header_font_italic>N</header_font_italic>
  716 + <header_font_underline>no</header_font_underline>
  717 + <header_font_orientation>horizontal</header_font_orientation>
  718 + <header_font_color>black</header_font_color>
  719 + <header_background_color>none</header_background_color>
  720 + <header_row_height>255</header_row_height>
  721 + <header_alignment>left</header_alignment>
  722 + <header_image/>
  723 + <row_font_name>arial</row_font_name>
  724 + <row_font_size>10</row_font_size>
  725 + <row_font_color>black</row_font_color>
  726 + <row_background_color>none</row_background_color>
  727 + </custom>
  728 + <cluster_schema/>
  729 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  730 + <xloc>692</xloc>
  731 + <yloc>514</yloc>
  732 + <draw>Y</draw>
  733 + </GUI>
  734 + </step>
  735 +
  736 + <step>
  737 + <name>&#x5217;&#x8f6c;&#x884c;</name>
  738 + <type>Denormaliser</type>
  739 + <description/>
  740 + <distribute>N</distribute>
  741 + <custom_distribution/>
  742 + <copies>1</copies>
  743 + <partitioning>
  744 + <method>none</method>
  745 + <schema_name/>
  746 + </partitioning>
  747 + <key_field>fcno</key_field>
  748 + <group>
  749 + <field>
  750 + <name>lp</name>
  751 + </field>
  752 + </group>
  753 + <fields>
  754 + <field>
  755 + <field_name>all_content</field_name>
  756 + <key_value>1</key_value>
  757 + <target_name>fcno1</target_name>
  758 + <target_type>String</target_type>
  759 + <target_format/>
  760 + <target_length>-1</target_length>
  761 + <target_precision>-1</target_precision>
  762 + <target_decimal_symbol/>
  763 + <target_grouping_symbol/>
  764 + <target_currency_symbol/>
  765 + <target_null_string/>
  766 + <target_aggregation_type>-</target_aggregation_type>
  767 + </field>
  768 + <field>
  769 + <field_name>all_content</field_name>
  770 + <key_value>2</key_value>
  771 + <target_name>fcno2</target_name>
  772 + <target_type>String</target_type>
  773 + <target_format/>
  774 + <target_length>-1</target_length>
  775 + <target_precision>-1</target_precision>
  776 + <target_decimal_symbol/>
  777 + <target_grouping_symbol/>
  778 + <target_currency_symbol/>
  779 + <target_null_string/>
  780 + <target_aggregation_type>-</target_aggregation_type>
  781 + </field>
  782 + <field>
  783 + <field_name>all_content</field_name>
  784 + <key_value>3</key_value>
  785 + <target_name>fcno3</target_name>
  786 + <target_type>String</target_type>
  787 + <target_format/>
  788 + <target_length>-1</target_length>
  789 + <target_precision>-1</target_precision>
  790 + <target_decimal_symbol/>
  791 + <target_grouping_symbol/>
  792 + <target_currency_symbol/>
  793 + <target_null_string/>
  794 + <target_aggregation_type>-</target_aggregation_type>
  795 + </field>
  796 + <field>
  797 + <field_name>all_content</field_name>
  798 + <key_value>4</key_value>
  799 + <target_name>fcno4</target_name>
  800 + <target_type>String</target_type>
  801 + <target_format/>
  802 + <target_length>-1</target_length>
  803 + <target_precision>-1</target_precision>
  804 + <target_decimal_symbol/>
  805 + <target_grouping_symbol/>
  806 + <target_currency_symbol/>
  807 + <target_null_string/>
  808 + <target_aggregation_type>-</target_aggregation_type>
  809 + </field>
  810 + <field>
  811 + <field_name>all_content</field_name>
  812 + <key_value>5</key_value>
  813 + <target_name>fcno5</target_name>
  814 + <target_type>String</target_type>
  815 + <target_format/>
  816 + <target_length>-1</target_length>
  817 + <target_precision>-1</target_precision>
  818 + <target_decimal_symbol/>
  819 + <target_grouping_symbol/>
  820 + <target_currency_symbol/>
  821 + <target_null_string/>
  822 + <target_aggregation_type>-</target_aggregation_type>
  823 + </field>
  824 + <field>
  825 + <field_name>all_content</field_name>
  826 + <key_value>6</key_value>
  827 + <target_name>fcno6</target_name>
  828 + <target_type>String</target_type>
  829 + <target_format/>
  830 + <target_length>-1</target_length>
  831 + <target_precision>-1</target_precision>
  832 + <target_decimal_symbol/>
  833 + <target_grouping_symbol/>
  834 + <target_currency_symbol/>
  835 + <target_null_string/>
  836 + <target_aggregation_type>-</target_aggregation_type>
  837 + </field>
  838 + <field>
  839 + <field_name>all_content</field_name>
  840 + <key_value>7</key_value>
  841 + <target_name>fcno7</target_name>
  842 + <target_type>String</target_type>
  843 + <target_format/>
  844 + <target_length>-1</target_length>
  845 + <target_precision>-1</target_precision>
  846 + <target_decimal_symbol/>
  847 + <target_grouping_symbol/>
  848 + <target_currency_symbol/>
  849 + <target_null_string/>
  850 + <target_aggregation_type>-</target_aggregation_type>
  851 + </field>
  852 + <field>
  853 + <field_name>all_content</field_name>
  854 + <key_value>8</key_value>
  855 + <target_name>fcno8</target_name>
  856 + <target_type>String</target_type>
  857 + <target_format/>
  858 + <target_length>-1</target_length>
  859 + <target_precision>-1</target_precision>
  860 + <target_decimal_symbol/>
  861 + <target_grouping_symbol/>
  862 + <target_currency_symbol/>
  863 + <target_null_string/>
  864 + <target_aggregation_type>-</target_aggregation_type>
  865 + </field>
  866 + <field>
  867 + <field_name>all_content</field_name>
  868 + <key_value>9</key_value>
  869 + <target_name>fcno9</target_name>
  870 + <target_type>String</target_type>
  871 + <target_format/>
  872 + <target_length>-1</target_length>
  873 + <target_precision>-1</target_precision>
  874 + <target_decimal_symbol/>
  875 + <target_grouping_symbol/>
  876 + <target_currency_symbol/>
  877 + <target_null_string/>
  878 + <target_aggregation_type>-</target_aggregation_type>
  879 + </field>
  880 + <field>
  881 + <field_name>all_content</field_name>
  882 + <key_value>10</key_value>
  883 + <target_name>fcno10</target_name>
  884 + <target_type>String</target_type>
  885 + <target_format/>
  886 + <target_length>-1</target_length>
  887 + <target_precision>-1</target_precision>
  888 + <target_decimal_symbol/>
  889 + <target_grouping_symbol/>
  890 + <target_currency_symbol/>
  891 + <target_null_string/>
  892 + <target_aggregation_type>-</target_aggregation_type>
  893 + </field>
  894 + <field>
  895 + <field_name>all_content</field_name>
  896 + <key_value>11</key_value>
  897 + <target_name>fcno11</target_name>
  898 + <target_type>String</target_type>
  899 + <target_format/>
  900 + <target_length>-1</target_length>
  901 + <target_precision>-1</target_precision>
  902 + <target_decimal_symbol/>
  903 + <target_grouping_symbol/>
  904 + <target_currency_symbol/>
  905 + <target_null_string/>
  906 + <target_aggregation_type>-</target_aggregation_type>
  907 + </field>
  908 + <field>
  909 + <field_name>all_content</field_name>
  910 + <key_value>12</key_value>
  911 + <target_name>fcno12</target_name>
  912 + <target_type>String</target_type>
  913 + <target_format/>
  914 + <target_length>-1</target_length>
  915 + <target_precision>-1</target_precision>
  916 + <target_decimal_symbol/>
  917 + <target_grouping_symbol/>
  918 + <target_currency_symbol/>
  919 + <target_null_string/>
  920 + <target_aggregation_type>-</target_aggregation_type>
  921 + </field>
  922 + <field>
  923 + <field_name>all_content</field_name>
  924 + <key_value>13</key_value>
  925 + <target_name>fcno13</target_name>
  926 + <target_type>String</target_type>
  927 + <target_format/>
  928 + <target_length>-1</target_length>
  929 + <target_precision>-1</target_precision>
  930 + <target_decimal_symbol/>
  931 + <target_grouping_symbol/>
  932 + <target_currency_symbol/>
  933 + <target_null_string/>
  934 + <target_aggregation_type>-</target_aggregation_type>
  935 + </field>
  936 + <field>
  937 + <field_name>all_content</field_name>
  938 + <key_value>14</key_value>
  939 + <target_name>fcno14</target_name>
  940 + <target_type>String</target_type>
  941 + <target_format/>
  942 + <target_length>-1</target_length>
  943 + <target_precision>-1</target_precision>
  944 + <target_decimal_symbol/>
  945 + <target_grouping_symbol/>
  946 + <target_currency_symbol/>
  947 + <target_null_string/>
  948 + <target_aggregation_type>-</target_aggregation_type>
  949 + </field>
  950 + <field>
  951 + <field_name>all_content</field_name>
  952 + <key_value>15</key_value>
  953 + <target_name>fcno15</target_name>
  954 + <target_type>String</target_type>
  955 + <target_format/>
  956 + <target_length>-1</target_length>
  957 + <target_precision>-1</target_precision>
  958 + <target_decimal_symbol/>
  959 + <target_grouping_symbol/>
  960 + <target_currency_symbol/>
  961 + <target_null_string/>
  962 + <target_aggregation_type>-</target_aggregation_type>
  963 + </field>
  964 + <field>
  965 + <field_name>all_content</field_name>
  966 + <key_value>16</key_value>
  967 + <target_name>fcno16</target_name>
  968 + <target_type>String</target_type>
  969 + <target_format/>
  970 + <target_length>-1</target_length>
  971 + <target_precision>-1</target_precision>
  972 + <target_decimal_symbol/>
  973 + <target_grouping_symbol/>
  974 + <target_currency_symbol/>
  975 + <target_null_string/>
  976 + <target_aggregation_type>-</target_aggregation_type>
  977 + </field>
  978 + <field>
  979 + <field_name>all_content</field_name>
  980 + <key_value>17</key_value>
  981 + <target_name>fcno17</target_name>
  982 + <target_type>String</target_type>
  983 + <target_format/>
  984 + <target_length>-1</target_length>
  985 + <target_precision>-1</target_precision>
  986 + <target_decimal_symbol/>
  987 + <target_grouping_symbol/>
  988 + <target_currency_symbol/>
  989 + <target_null_string/>
  990 + <target_aggregation_type>-</target_aggregation_type>
  991 + </field>
  992 + <field>
  993 + <field_name>all_content</field_name>
  994 + <key_value>18</key_value>
  995 + <target_name>fcno18</target_name>
  996 + <target_type>String</target_type>
  997 + <target_format/>
  998 + <target_length>-1</target_length>
  999 + <target_precision>-1</target_precision>
  1000 + <target_decimal_symbol/>
  1001 + <target_grouping_symbol/>
  1002 + <target_currency_symbol/>
  1003 + <target_null_string/>
  1004 + <target_aggregation_type>-</target_aggregation_type>
  1005 + </field>
  1006 + <field>
  1007 + <field_name>all_content</field_name>
  1008 + <key_value>19</key_value>
  1009 + <target_name>fcno19</target_name>
  1010 + <target_type>String</target_type>
  1011 + <target_format/>
  1012 + <target_length>-1</target_length>
  1013 + <target_precision>-1</target_precision>
  1014 + <target_decimal_symbol/>
  1015 + <target_grouping_symbol/>
  1016 + <target_currency_symbol/>
  1017 + <target_null_string/>
  1018 + <target_aggregation_type>-</target_aggregation_type>
  1019 + </field>
  1020 + <field>
  1021 + <field_name>all_content</field_name>
  1022 + <key_value>20</key_value>
  1023 + <target_name>fcno20</target_name>
  1024 + <target_type>String</target_type>
  1025 + <target_format/>
  1026 + <target_length>-1</target_length>
  1027 + <target_precision>-1</target_precision>
  1028 + <target_decimal_symbol/>
  1029 + <target_grouping_symbol/>
  1030 + <target_currency_symbol/>
  1031 + <target_null_string/>
  1032 + <target_aggregation_type>-</target_aggregation_type>
  1033 + </field>
  1034 + <field>
  1035 + <field_name>all_content</field_name>
  1036 + <key_value>21</key_value>
  1037 + <target_name>fcno21</target_name>
  1038 + <target_type>String</target_type>
  1039 + <target_format/>
  1040 + <target_length>-1</target_length>
  1041 + <target_precision>-1</target_precision>
  1042 + <target_decimal_symbol/>
  1043 + <target_grouping_symbol/>
  1044 + <target_currency_symbol/>
  1045 + <target_null_string/>
  1046 + <target_aggregation_type>-</target_aggregation_type>
  1047 + </field>
  1048 + <field>
  1049 + <field_name>all_content</field_name>
  1050 + <key_value>22</key_value>
  1051 + <target_name>fcno22</target_name>
  1052 + <target_type>String</target_type>
  1053 + <target_format/>
  1054 + <target_length>-1</target_length>
  1055 + <target_precision>-1</target_precision>
  1056 + <target_decimal_symbol/>
  1057 + <target_grouping_symbol/>
  1058 + <target_currency_symbol/>
  1059 + <target_null_string/>
  1060 + <target_aggregation_type>-</target_aggregation_type>
  1061 + </field>
  1062 + <field>
  1063 + <field_name>all_content</field_name>
  1064 + <key_value>23</key_value>
  1065 + <target_name>fcno23</target_name>
  1066 + <target_type>String</target_type>
  1067 + <target_format/>
  1068 + <target_length>-1</target_length>
  1069 + <target_precision>-1</target_precision>
  1070 + <target_decimal_symbol/>
  1071 + <target_grouping_symbol/>
  1072 + <target_currency_symbol/>
  1073 + <target_null_string/>
  1074 + <target_aggregation_type>-</target_aggregation_type>
  1075 + </field>
  1076 + <field>
  1077 + <field_name>all_content</field_name>
  1078 + <key_value>24</key_value>
  1079 + <target_name>fcno24</target_name>
  1080 + <target_type>String</target_type>
  1081 + <target_format/>
  1082 + <target_length>-1</target_length>
  1083 + <target_precision>-1</target_precision>
  1084 + <target_decimal_symbol/>
  1085 + <target_grouping_symbol/>
  1086 + <target_currency_symbol/>
  1087 + <target_null_string/>
  1088 + <target_aggregation_type>-</target_aggregation_type>
  1089 + </field>
  1090 + <field>
  1091 + <field_name>all_content</field_name>
  1092 + <key_value>25</key_value>
  1093 + <target_name>fcno25</target_name>
  1094 + <target_type>String</target_type>
  1095 + <target_format/>
  1096 + <target_length>-1</target_length>
  1097 + <target_precision>-1</target_precision>
  1098 + <target_decimal_symbol/>
  1099 + <target_grouping_symbol/>
  1100 + <target_currency_symbol/>
  1101 + <target_null_string/>
  1102 + <target_aggregation_type>-</target_aggregation_type>
  1103 + </field>
  1104 + <field>
  1105 + <field_name>all_content</field_name>
  1106 + <key_value>26</key_value>
  1107 + <target_name>fcno26</target_name>
  1108 + <target_type>String</target_type>
  1109 + <target_format/>
  1110 + <target_length>-1</target_length>
  1111 + <target_precision>-1</target_precision>
  1112 + <target_decimal_symbol/>
  1113 + <target_grouping_symbol/>
  1114 + <target_currency_symbol/>
  1115 + <target_null_string/>
  1116 + <target_aggregation_type>-</target_aggregation_type>
  1117 + </field>
  1118 + <field>
  1119 + <field_name>all_content</field_name>
  1120 + <key_value>27</key_value>
  1121 + <target_name>fcno27</target_name>
  1122 + <target_type>String</target_type>
  1123 + <target_format/>
  1124 + <target_length>-1</target_length>
  1125 + <target_precision>-1</target_precision>
  1126 + <target_decimal_symbol/>
  1127 + <target_grouping_symbol/>
  1128 + <target_currency_symbol/>
  1129 + <target_null_string/>
  1130 + <target_aggregation_type>-</target_aggregation_type>
  1131 + </field>
  1132 + <field>
  1133 + <field_name>all_content</field_name>
  1134 + <key_value>28</key_value>
  1135 + <target_name>fcno28</target_name>
  1136 + <target_type>String</target_type>
  1137 + <target_format/>
  1138 + <target_length>-1</target_length>
  1139 + <target_precision>-1</target_precision>
  1140 + <target_decimal_symbol/>
  1141 + <target_grouping_symbol/>
  1142 + <target_currency_symbol/>
  1143 + <target_null_string/>
  1144 + <target_aggregation_type>-</target_aggregation_type>
  1145 + </field>
  1146 + <field>
  1147 + <field_name>all_content</field_name>
  1148 + <key_value>29</key_value>
  1149 + <target_name>fcno29</target_name>
  1150 + <target_type>String</target_type>
  1151 + <target_format/>
  1152 + <target_length>-1</target_length>
  1153 + <target_precision>-1</target_precision>
  1154 + <target_decimal_symbol/>
  1155 + <target_grouping_symbol/>
  1156 + <target_currency_symbol/>
  1157 + <target_null_string/>
  1158 + <target_aggregation_type>-</target_aggregation_type>
  1159 + </field>
  1160 + <field>
  1161 + <field_name>all_content</field_name>
  1162 + <key_value>30</key_value>
  1163 + <target_name>fcno30</target_name>
  1164 + <target_type>String</target_type>
  1165 + <target_format/>
  1166 + <target_length>-1</target_length>
  1167 + <target_precision>-1</target_precision>
  1168 + <target_decimal_symbol/>
  1169 + <target_grouping_symbol/>
  1170 + <target_currency_symbol/>
  1171 + <target_null_string/>
  1172 + <target_aggregation_type>-</target_aggregation_type>
  1173 + </field>
  1174 + <field>
  1175 + <field_name>all_content</field_name>
  1176 + <key_value>31</key_value>
  1177 + <target_name>fcno31</target_name>
  1178 + <target_type>String</target_type>
  1179 + <target_format/>
  1180 + <target_length>-1</target_length>
  1181 + <target_precision>-1</target_precision>
  1182 + <target_decimal_symbol/>
  1183 + <target_grouping_symbol/>
  1184 + <target_currency_symbol/>
  1185 + <target_null_string/>
  1186 + <target_aggregation_type>-</target_aggregation_type>
  1187 + </field>
  1188 + <field>
  1189 + <field_name>all_content</field_name>
  1190 + <key_value>32</key_value>
  1191 + <target_name>fcno32</target_name>
  1192 + <target_type>String</target_type>
  1193 + <target_format/>
  1194 + <target_length>-1</target_length>
  1195 + <target_precision>-1</target_precision>
  1196 + <target_decimal_symbol/>
  1197 + <target_grouping_symbol/>
  1198 + <target_currency_symbol/>
  1199 + <target_null_string/>
  1200 + <target_aggregation_type>-</target_aggregation_type>
  1201 + </field>
  1202 + <field>
  1203 + <field_name>all_content</field_name>
  1204 + <key_value>33</key_value>
  1205 + <target_name>fcno33</target_name>
  1206 + <target_type>String</target_type>
  1207 + <target_format/>
  1208 + <target_length>-1</target_length>
  1209 + <target_precision>-1</target_precision>
  1210 + <target_decimal_symbol/>
  1211 + <target_grouping_symbol/>
  1212 + <target_currency_symbol/>
  1213 + <target_null_string/>
  1214 + <target_aggregation_type>-</target_aggregation_type>
  1215 + </field>
  1216 + <field>
  1217 + <field_name>all_content</field_name>
  1218 + <key_value>34</key_value>
  1219 + <target_name>fcno34</target_name>
  1220 + <target_type>String</target_type>
  1221 + <target_format/>
  1222 + <target_length>-1</target_length>
  1223 + <target_precision>-1</target_precision>
  1224 + <target_decimal_symbol/>
  1225 + <target_grouping_symbol/>
  1226 + <target_currency_symbol/>
  1227 + <target_null_string/>
  1228 + <target_aggregation_type>-</target_aggregation_type>
  1229 + </field>
  1230 + <field>
  1231 + <field_name>all_content</field_name>
  1232 + <key_value>35</key_value>
  1233 + <target_name>fcno35</target_name>
  1234 + <target_type>String</target_type>
  1235 + <target_format/>
  1236 + <target_length>-1</target_length>
  1237 + <target_precision>-1</target_precision>
  1238 + <target_decimal_symbol/>
  1239 + <target_grouping_symbol/>
  1240 + <target_currency_symbol/>
  1241 + <target_null_string/>
  1242 + <target_aggregation_type>-</target_aggregation_type>
  1243 + </field>
  1244 + <field>
  1245 + <field_name>all_content</field_name>
  1246 + <key_value>36</key_value>
  1247 + <target_name>fcno36</target_name>
  1248 + <target_type>String</target_type>
  1249 + <target_format/>
  1250 + <target_length>-1</target_length>
  1251 + <target_precision>-1</target_precision>
  1252 + <target_decimal_symbol/>
  1253 + <target_grouping_symbol/>
  1254 + <target_currency_symbol/>
  1255 + <target_null_string/>
  1256 + <target_aggregation_type>-</target_aggregation_type>
  1257 + </field>
  1258 + <field>
  1259 + <field_name>all_content</field_name>
  1260 + <key_value>37</key_value>
  1261 + <target_name>fcno37</target_name>
  1262 + <target_type>String</target_type>
  1263 + <target_format/>
  1264 + <target_length>-1</target_length>
  1265 + <target_precision>-1</target_precision>
  1266 + <target_decimal_symbol/>
  1267 + <target_grouping_symbol/>
  1268 + <target_currency_symbol/>
  1269 + <target_null_string/>
  1270 + <target_aggregation_type>-</target_aggregation_type>
  1271 + </field>
  1272 + <field>
  1273 + <field_name>all_content</field_name>
  1274 + <key_value>38</key_value>
  1275 + <target_name>fcno38</target_name>
  1276 + <target_type>String</target_type>
  1277 + <target_format/>
  1278 + <target_length>-1</target_length>
  1279 + <target_precision>-1</target_precision>
  1280 + <target_decimal_symbol/>
  1281 + <target_grouping_symbol/>
  1282 + <target_currency_symbol/>
  1283 + <target_null_string/>
  1284 + <target_aggregation_type>-</target_aggregation_type>
  1285 + </field>
  1286 + <field>
  1287 + <field_name>all_content</field_name>
  1288 + <key_value>39</key_value>
  1289 + <target_name>fcno39</target_name>
  1290 + <target_type>String</target_type>
  1291 + <target_format/>
  1292 + <target_length>-1</target_length>
  1293 + <target_precision>-1</target_precision>
  1294 + <target_decimal_symbol/>
  1295 + <target_grouping_symbol/>
  1296 + <target_currency_symbol/>
  1297 + <target_null_string/>
  1298 + <target_aggregation_type>-</target_aggregation_type>
  1299 + </field>
  1300 + <field>
  1301 + <field_name>all_content</field_name>
  1302 + <key_value>40</key_value>
  1303 + <target_name>fcno40</target_name>
  1304 + <target_type>String</target_type>
  1305 + <target_format/>
  1306 + <target_length>-1</target_length>
  1307 + <target_precision>-1</target_precision>
  1308 + <target_decimal_symbol/>
  1309 + <target_grouping_symbol/>
  1310 + <target_currency_symbol/>
  1311 + <target_null_string/>
  1312 + <target_aggregation_type>-</target_aggregation_type>
  1313 + </field>
  1314 + <field>
  1315 + <field_name>all_content</field_name>
  1316 + <key_value>41</key_value>
  1317 + <target_name>fcno41</target_name>
  1318 + <target_type>String</target_type>
  1319 + <target_format/>
  1320 + <target_length>-1</target_length>
  1321 + <target_precision>-1</target_precision>
  1322 + <target_decimal_symbol/>
  1323 + <target_grouping_symbol/>
  1324 + <target_currency_symbol/>
  1325 + <target_null_string/>
  1326 + <target_aggregation_type>-</target_aggregation_type>
  1327 + </field>
  1328 + <field>
  1329 + <field_name>all_content</field_name>
  1330 + <key_value>42</key_value>
  1331 + <target_name>fcno42</target_name>
  1332 + <target_type>String</target_type>
  1333 + <target_format/>
  1334 + <target_length>-1</target_length>
  1335 + <target_precision>-1</target_precision>
  1336 + <target_decimal_symbol/>
  1337 + <target_grouping_symbol/>
  1338 + <target_currency_symbol/>
  1339 + <target_null_string/>
  1340 + <target_aggregation_type>-</target_aggregation_type>
  1341 + </field>
  1342 + <field>
  1343 + <field_name>all_content</field_name>
  1344 + <key_value>43</key_value>
  1345 + <target_name>fcno43</target_name>
  1346 + <target_type>String</target_type>
  1347 + <target_format/>
  1348 + <target_length>-1</target_length>
  1349 + <target_precision>-1</target_precision>
  1350 + <target_decimal_symbol/>
  1351 + <target_grouping_symbol/>
  1352 + <target_currency_symbol/>
  1353 + <target_null_string/>
  1354 + <target_aggregation_type>-</target_aggregation_type>
  1355 + </field>
  1356 + <field>
  1357 + <field_name>all_content</field_name>
  1358 + <key_value>44</key_value>
  1359 + <target_name>fcno44</target_name>
  1360 + <target_type>String</target_type>
  1361 + <target_format/>
  1362 + <target_length>-1</target_length>
  1363 + <target_precision>-1</target_precision>
  1364 + <target_decimal_symbol/>
  1365 + <target_grouping_symbol/>
  1366 + <target_currency_symbol/>
  1367 + <target_null_string/>
  1368 + <target_aggregation_type>-</target_aggregation_type>
  1369 + </field>
  1370 + <field>
  1371 + <field_name>all_content</field_name>
  1372 + <key_value>45</key_value>
  1373 + <target_name>fcno45</target_name>
  1374 + <target_type>String</target_type>
  1375 + <target_format/>
  1376 + <target_length>-1</target_length>
  1377 + <target_precision>-1</target_precision>
  1378 + <target_decimal_symbol/>
  1379 + <target_grouping_symbol/>
  1380 + <target_currency_symbol/>
  1381 + <target_null_string/>
  1382 + <target_aggregation_type>-</target_aggregation_type>
  1383 + </field>
  1384 + <field>
  1385 + <field_name>all_content</field_name>
  1386 + <key_value>46</key_value>
  1387 + <target_name>fcno46</target_name>
  1388 + <target_type>String</target_type>
  1389 + <target_format/>
  1390 + <target_length>-1</target_length>
  1391 + <target_precision>-1</target_precision>
  1392 + <target_decimal_symbol/>
  1393 + <target_grouping_symbol/>
  1394 + <target_currency_symbol/>
  1395 + <target_null_string/>
  1396 + <target_aggregation_type>-</target_aggregation_type>
  1397 + </field>
  1398 + <field>
  1399 + <field_name>all_content</field_name>
  1400 + <key_value>47</key_value>
  1401 + <target_name>fcno47</target_name>
  1402 + <target_type>String</target_type>
  1403 + <target_format/>
  1404 + <target_length>-1</target_length>
  1405 + <target_precision>-1</target_precision>
  1406 + <target_decimal_symbol/>
  1407 + <target_grouping_symbol/>
  1408 + <target_currency_symbol/>
  1409 + <target_null_string/>
  1410 + <target_aggregation_type>-</target_aggregation_type>
  1411 + </field>
  1412 + <field>
  1413 + <field_name>all_content</field_name>
  1414 + <key_value>48</key_value>
  1415 + <target_name>fcno48</target_name>
  1416 + <target_type>String</target_type>
  1417 + <target_format/>
  1418 + <target_length>-1</target_length>
  1419 + <target_precision>-1</target_precision>
  1420 + <target_decimal_symbol/>
  1421 + <target_grouping_symbol/>
  1422 + <target_currency_symbol/>
  1423 + <target_null_string/>
  1424 + <target_aggregation_type>-</target_aggregation_type>
  1425 + </field>
  1426 + <field>
  1427 + <field_name>all_content</field_name>
  1428 + <key_value>49</key_value>
  1429 + <target_name>fcno49</target_name>
  1430 + <target_type>String</target_type>
  1431 + <target_format/>
  1432 + <target_length>-1</target_length>
  1433 + <target_precision>-1</target_precision>
  1434 + <target_decimal_symbol/>
  1435 + <target_grouping_symbol/>
  1436 + <target_currency_symbol/>
  1437 + <target_null_string/>
  1438 + <target_aggregation_type>-</target_aggregation_type>
  1439 + </field>
  1440 + <field>
  1441 + <field_name>all_content</field_name>
  1442 + <key_value>50</key_value>
  1443 + <target_name>fcno50</target_name>
  1444 + <target_type>String</target_type>
  1445 + <target_format/>
  1446 + <target_length>-1</target_length>
  1447 + <target_precision>-1</target_precision>
  1448 + <target_decimal_symbol/>
  1449 + <target_grouping_symbol/>
  1450 + <target_currency_symbol/>
  1451 + <target_null_string/>
  1452 + <target_aggregation_type>-</target_aggregation_type>
  1453 + </field>
  1454 + <field>
  1455 + <field_name>all_content</field_name>
  1456 + <key_value>51</key_value>
  1457 + <target_name>fcno51</target_name>
  1458 + <target_type>String</target_type>
  1459 + <target_format/>
  1460 + <target_length>-1</target_length>
  1461 + <target_precision>-1</target_precision>
  1462 + <target_decimal_symbol/>
  1463 + <target_grouping_symbol/>
  1464 + <target_currency_symbol/>
  1465 + <target_null_string/>
  1466 + <target_aggregation_type>-</target_aggregation_type>
  1467 + </field>
  1468 + <field>
  1469 + <field_name>all_content</field_name>
  1470 + <key_value>52</key_value>
  1471 + <target_name>fcno52</target_name>
  1472 + <target_type>String</target_type>
  1473 + <target_format/>
  1474 + <target_length>-1</target_length>
  1475 + <target_precision>-1</target_precision>
  1476 + <target_decimal_symbol/>
  1477 + <target_grouping_symbol/>
  1478 + <target_currency_symbol/>
  1479 + <target_null_string/>
  1480 + <target_aggregation_type>-</target_aggregation_type>
  1481 + </field>
  1482 + <field>
  1483 + <field_name>all_content</field_name>
  1484 + <key_value>53</key_value>
  1485 + <target_name>fcno53</target_name>
  1486 + <target_type>String</target_type>
  1487 + <target_format/>
  1488 + <target_length>-1</target_length>
  1489 + <target_precision>-1</target_precision>
  1490 + <target_decimal_symbol/>
  1491 + <target_grouping_symbol/>
  1492 + <target_currency_symbol/>
  1493 + <target_null_string/>
  1494 + <target_aggregation_type>-</target_aggregation_type>
  1495 + </field>
  1496 + <field>
  1497 + <field_name>all_content</field_name>
  1498 + <key_value>54</key_value>
  1499 + <target_name>fcno54</target_name>
  1500 + <target_type>String</target_type>
  1501 + <target_format/>
  1502 + <target_length>-1</target_length>
  1503 + <target_precision>-1</target_precision>
  1504 + <target_decimal_symbol/>
  1505 + <target_grouping_symbol/>
  1506 + <target_currency_symbol/>
  1507 + <target_null_string/>
  1508 + <target_aggregation_type>-</target_aggregation_type>
  1509 + </field>
  1510 + <field>
  1511 + <field_name>all_content</field_name>
  1512 + <key_value>55</key_value>
  1513 + <target_name>fcno55</target_name>
  1514 + <target_type>String</target_type>
  1515 + <target_format/>
  1516 + <target_length>-1</target_length>
  1517 + <target_precision>-1</target_precision>
  1518 + <target_decimal_symbol/>
  1519 + <target_grouping_symbol/>
  1520 + <target_currency_symbol/>
  1521 + <target_null_string/>
  1522 + <target_aggregation_type>-</target_aggregation_type>
  1523 + </field>
  1524 + <field>
  1525 + <field_name>all_content</field_name>
  1526 + <key_value>56</key_value>
  1527 + <target_name>fcno56</target_name>
  1528 + <target_type>String</target_type>
  1529 + <target_format/>
  1530 + <target_length>-1</target_length>
  1531 + <target_precision>-1</target_precision>
  1532 + <target_decimal_symbol/>
  1533 + <target_grouping_symbol/>
  1534 + <target_currency_symbol/>
  1535 + <target_null_string/>
  1536 + <target_aggregation_type>-</target_aggregation_type>
  1537 + </field>
  1538 + <field>
  1539 + <field_name>all_content</field_name>
  1540 + <key_value>57</key_value>
  1541 + <target_name>fcno57</target_name>
  1542 + <target_type>String</target_type>
  1543 + <target_format/>
  1544 + <target_length>-1</target_length>
  1545 + <target_precision>-1</target_precision>
  1546 + <target_decimal_symbol/>
  1547 + <target_grouping_symbol/>
  1548 + <target_currency_symbol/>
  1549 + <target_null_string/>
  1550 + <target_aggregation_type>-</target_aggregation_type>
  1551 + </field>
  1552 + <field>
  1553 + <field_name>all_content</field_name>
  1554 + <key_value>58</key_value>
  1555 + <target_name>fcno58</target_name>
  1556 + <target_type>String</target_type>
  1557 + <target_format/>
  1558 + <target_length>-1</target_length>
  1559 + <target_precision>-1</target_precision>
  1560 + <target_decimal_symbol/>
  1561 + <target_grouping_symbol/>
  1562 + <target_currency_symbol/>
  1563 + <target_null_string/>
  1564 + <target_aggregation_type>-</target_aggregation_type>
  1565 + </field>
  1566 + <field>
  1567 + <field_name>all_content</field_name>
  1568 + <key_value>59</key_value>
  1569 + <target_name>fcno59</target_name>
  1570 + <target_type>String</target_type>
  1571 + <target_format/>
  1572 + <target_length>-1</target_length>
  1573 + <target_precision>-1</target_precision>
  1574 + <target_decimal_symbol/>
  1575 + <target_grouping_symbol/>
  1576 + <target_currency_symbol/>
  1577 + <target_null_string/>
  1578 + <target_aggregation_type>-</target_aggregation_type>
  1579 + </field>
  1580 + <field>
  1581 + <field_name>all_content</field_name>
  1582 + <key_value>60</key_value>
  1583 + <target_name>fcno60</target_name>
  1584 + <target_type>String</target_type>
  1585 + <target_format/>
  1586 + <target_length>-1</target_length>
  1587 + <target_precision>-1</target_precision>
  1588 + <target_decimal_symbol/>
  1589 + <target_grouping_symbol/>
  1590 + <target_currency_symbol/>
  1591 + <target_null_string/>
  1592 + <target_aggregation_type>-</target_aggregation_type>
  1593 + </field>
  1594 + <field>
  1595 + <field_name>all_content</field_name>
  1596 + <key_value>61</key_value>
  1597 + <target_name>fcno61</target_name>
  1598 + <target_type>String</target_type>
  1599 + <target_format/>
  1600 + <target_length>-1</target_length>
  1601 + <target_precision>-1</target_precision>
  1602 + <target_decimal_symbol/>
  1603 + <target_grouping_symbol/>
  1604 + <target_currency_symbol/>
  1605 + <target_null_string/>
  1606 + <target_aggregation_type>-</target_aggregation_type>
  1607 + </field>
  1608 + <field>
  1609 + <field_name>all_content</field_name>
  1610 + <key_value>62</key_value>
  1611 + <target_name>fcno62</target_name>
  1612 + <target_type>String</target_type>
  1613 + <target_format/>
  1614 + <target_length>-1</target_length>
  1615 + <target_precision>-1</target_precision>
  1616 + <target_decimal_symbol/>
  1617 + <target_grouping_symbol/>
  1618 + <target_currency_symbol/>
  1619 + <target_null_string/>
  1620 + <target_aggregation_type>-</target_aggregation_type>
  1621 + </field>
  1622 + <field>
  1623 + <field_name>all_content</field_name>
  1624 + <key_value>63</key_value>
  1625 + <target_name>fcno63</target_name>
  1626 + <target_type>String</target_type>
  1627 + <target_format/>
  1628 + <target_length>-1</target_length>
  1629 + <target_precision>-1</target_precision>
  1630 + <target_decimal_symbol/>
  1631 + <target_grouping_symbol/>
  1632 + <target_currency_symbol/>
  1633 + <target_null_string/>
  1634 + <target_aggregation_type>-</target_aggregation_type>
  1635 + </field>
  1636 + <field>
  1637 + <field_name>all_content</field_name>
  1638 + <key_value>64</key_value>
  1639 + <target_name>fcno64</target_name>
  1640 + <target_type>String</target_type>
  1641 + <target_format/>
  1642 + <target_length>-1</target_length>
  1643 + <target_precision>-1</target_precision>
  1644 + <target_decimal_symbol/>
  1645 + <target_grouping_symbol/>
  1646 + <target_currency_symbol/>
  1647 + <target_null_string/>
  1648 + <target_aggregation_type>-</target_aggregation_type>
  1649 + </field>
  1650 + <field>
  1651 + <field_name>all_content</field_name>
  1652 + <key_value>65</key_value>
  1653 + <target_name>fcno65</target_name>
  1654 + <target_type>String</target_type>
  1655 + <target_format/>
  1656 + <target_length>-1</target_length>
  1657 + <target_precision>-1</target_precision>
  1658 + <target_decimal_symbol/>
  1659 + <target_grouping_symbol/>
  1660 + <target_currency_symbol/>
  1661 + <target_null_string/>
  1662 + <target_aggregation_type>-</target_aggregation_type>
  1663 + </field>
  1664 + <field>
  1665 + <field_name>all_content</field_name>
  1666 + <key_value>66</key_value>
  1667 + <target_name>fcno66</target_name>
  1668 + <target_type>String</target_type>
  1669 + <target_format/>
  1670 + <target_length>-1</target_length>
  1671 + <target_precision>-1</target_precision>
  1672 + <target_decimal_symbol/>
  1673 + <target_grouping_symbol/>
  1674 + <target_currency_symbol/>
  1675 + <target_null_string/>
  1676 + <target_aggregation_type>-</target_aggregation_type>
  1677 + </field>
  1678 + <field>
  1679 + <field_name>all_content</field_name>
  1680 + <key_value>67</key_value>
  1681 + <target_name>fcno67</target_name>
  1682 + <target_type>String</target_type>
  1683 + <target_format/>
  1684 + <target_length>-1</target_length>
  1685 + <target_precision>-1</target_precision>
  1686 + <target_decimal_symbol/>
  1687 + <target_grouping_symbol/>
  1688 + <target_currency_symbol/>
  1689 + <target_null_string/>
  1690 + <target_aggregation_type>-</target_aggregation_type>
  1691 + </field>
  1692 + <field>
  1693 + <field_name>all_content</field_name>
  1694 + <key_value>68</key_value>
  1695 + <target_name>fcno68</target_name>
  1696 + <target_type>String</target_type>
  1697 + <target_format/>
  1698 + <target_length>-1</target_length>
  1699 + <target_precision>-1</target_precision>
  1700 + <target_decimal_symbol/>
  1701 + <target_grouping_symbol/>
  1702 + <target_currency_symbol/>
  1703 + <target_null_string/>
  1704 + <target_aggregation_type>-</target_aggregation_type>
  1705 + </field>
  1706 + <field>
  1707 + <field_name>all_content</field_name>
  1708 + <key_value>69</key_value>
  1709 + <target_name>fcno69</target_name>
  1710 + <target_type>String</target_type>
  1711 + <target_format/>
  1712 + <target_length>-1</target_length>
  1713 + <target_precision>-1</target_precision>
  1714 + <target_decimal_symbol/>
  1715 + <target_grouping_symbol/>
  1716 + <target_currency_symbol/>
  1717 + <target_null_string/>
  1718 + <target_aggregation_type>-</target_aggregation_type>
  1719 + </field>
  1720 + <field>
  1721 + <field_name>all_content</field_name>
  1722 + <key_value>70</key_value>
  1723 + <target_name>fcno70</target_name>
  1724 + <target_type>String</target_type>
  1725 + <target_format/>
  1726 + <target_length>-1</target_length>
  1727 + <target_precision>-1</target_precision>
  1728 + <target_decimal_symbol/>
  1729 + <target_grouping_symbol/>
  1730 + <target_currency_symbol/>
  1731 + <target_null_string/>
  1732 + <target_aggregation_type>-</target_aggregation_type>
  1733 + </field>
  1734 + </fields>
  1735 + <cluster_schema/>
  1736 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1737 + <xloc>690</xloc>
  1738 + <yloc>272</yloc>
  1739 + <draw>Y</draw>
  1740 + </GUI>
  1741 + </step>
  1742 +
  1743 + <step>
  1744 + <name>&#x53bb;&#x9664;&#x5b57;&#x6bb5;</name>
  1745 + <type>SelectValues</type>
  1746 + <description/>
  1747 + <distribute>N</distribute>
  1748 + <custom_distribution/>
  1749 + <copies>1</copies>
  1750 + <partitioning>
  1751 + <method>none</method>
  1752 + <schema_name/>
  1753 + </partitioning>
  1754 + <fields> <field> <name>lp</name>
  1755 + <rename/>
  1756 + <length>-2</length>
  1757 + <precision>-2</precision>
  1758 + </field> <field> <name>fcno1</name>
  1759 + <rename/>
  1760 + <length>-2</length>
  1761 + <precision>-2</precision>
  1762 + </field> <field> <name>fcno2</name>
  1763 + <rename/>
  1764 + <length>-2</length>
  1765 + <precision>-2</precision>
  1766 + </field> <field> <name>fcno3</name>
  1767 + <rename/>
  1768 + <length>-2</length>
  1769 + <precision>-2</precision>
  1770 + </field> <field> <name>fcno4</name>
  1771 + <rename/>
  1772 + <length>-2</length>
  1773 + <precision>-2</precision>
  1774 + </field> <field> <name>fcno5</name>
  1775 + <rename/>
  1776 + <length>-2</length>
  1777 + <precision>-2</precision>
  1778 + </field> <field> <name>fcno6</name>
  1779 + <rename/>
  1780 + <length>-2</length>
  1781 + <precision>-2</precision>
  1782 + </field> <field> <name>fcno7</name>
  1783 + <rename/>
  1784 + <length>-2</length>
  1785 + <precision>-2</precision>
  1786 + </field> <field> <name>fcno8</name>
  1787 + <rename/>
  1788 + <length>-2</length>
  1789 + <precision>-2</precision>
  1790 + </field> <field> <name>fcno9</name>
  1791 + <rename/>
  1792 + <length>-2</length>
  1793 + <precision>-2</precision>
  1794 + </field> <field> <name>fcno10</name>
  1795 + <rename/>
  1796 + <length>-2</length>
  1797 + <precision>-2</precision>
  1798 + </field> <field> <name>fcno11</name>
  1799 + <rename/>
  1800 + <length>-2</length>
  1801 + <precision>-2</precision>
  1802 + </field> <field> <name>fcno12</name>
  1803 + <rename/>
  1804 + <length>-2</length>
  1805 + <precision>-2</precision>
  1806 + </field> <field> <name>fcno13</name>
  1807 + <rename/>
  1808 + <length>-2</length>
  1809 + <precision>-2</precision>
  1810 + </field> <field> <name>fcno14</name>
  1811 + <rename/>
  1812 + <length>-2</length>
  1813 + <precision>-2</precision>
  1814 + </field> <field> <name>fcno15</name>
  1815 + <rename/>
  1816 + <length>-2</length>
  1817 + <precision>-2</precision>
  1818 + </field> <field> <name>fcno16</name>
  1819 + <rename/>
  1820 + <length>-2</length>
  1821 + <precision>-2</precision>
  1822 + </field> <field> <name>fcno17</name>
  1823 + <rename/>
  1824 + <length>-2</length>
  1825 + <precision>-2</precision>
  1826 + </field> <field> <name>fcno18</name>
  1827 + <rename/>
  1828 + <length>-2</length>
  1829 + <precision>-2</precision>
  1830 + </field> <field> <name>fcno19</name>
  1831 + <rename/>
  1832 + <length>-2</length>
  1833 + <precision>-2</precision>
  1834 + </field> <field> <name>fcno20</name>
  1835 + <rename/>
  1836 + <length>-2</length>
  1837 + <precision>-2</precision>
  1838 + </field> <field> <name>fcno21</name>
  1839 + <rename/>
  1840 + <length>-2</length>
  1841 + <precision>-2</precision>
  1842 + </field> <field> <name>fcno22</name>
  1843 + <rename/>
  1844 + <length>-2</length>
  1845 + <precision>-2</precision>
  1846 + </field> <field> <name>fcno23</name>
  1847 + <rename/>
  1848 + <length>-2</length>
  1849 + <precision>-2</precision>
  1850 + </field> <field> <name>fcno24</name>
  1851 + <rename/>
  1852 + <length>-2</length>
  1853 + <precision>-2</precision>
  1854 + </field> <field> <name>fcno25</name>
  1855 + <rename/>
  1856 + <length>-2</length>
  1857 + <precision>-2</precision>
  1858 + </field> <field> <name>fcno26</name>
  1859 + <rename/>
  1860 + <length>-2</length>
  1861 + <precision>-2</precision>
  1862 + </field> <field> <name>fcno27</name>
  1863 + <rename/>
  1864 + <length>-2</length>
  1865 + <precision>-2</precision>
  1866 + </field> <field> <name>fcno28</name>
  1867 + <rename/>
  1868 + <length>-2</length>
  1869 + <precision>-2</precision>
  1870 + </field> <field> <name>fcno29</name>
  1871 + <rename/>
  1872 + <length>-2</length>
  1873 + <precision>-2</precision>
  1874 + </field> <field> <name>fcno30</name>
  1875 + <rename/>
  1876 + <length>-2</length>
  1877 + <precision>-2</precision>
  1878 + </field> <field> <name>fcno31</name>
  1879 + <rename/>
  1880 + <length>-2</length>
  1881 + <precision>-2</precision>
  1882 + </field> <field> <name>fcno32</name>
  1883 + <rename/>
  1884 + <length>-2</length>
  1885 + <precision>-2</precision>
  1886 + </field> <field> <name>fcno33</name>
  1887 + <rename/>
  1888 + <length>-2</length>
  1889 + <precision>-2</precision>
  1890 + </field> <field> <name>fcno34</name>
  1891 + <rename/>
  1892 + <length>-2</length>
  1893 + <precision>-2</precision>
  1894 + </field> <field> <name>fcno35</name>
  1895 + <rename/>
  1896 + <length>-2</length>
  1897 + <precision>-2</precision>
  1898 + </field> <field> <name>fcno36</name>
  1899 + <rename/>
  1900 + <length>-2</length>
  1901 + <precision>-2</precision>
  1902 + </field> <field> <name>fcno37</name>
  1903 + <rename/>
  1904 + <length>-2</length>
  1905 + <precision>-2</precision>
  1906 + </field> <field> <name>fcno38</name>
  1907 + <rename/>
  1908 + <length>-2</length>
  1909 + <precision>-2</precision>
  1910 + </field> <field> <name>fcno39</name>
  1911 + <rename/>
  1912 + <length>-2</length>
  1913 + <precision>-2</precision>
  1914 + </field> <field> <name>fcno40</name>
  1915 + <rename/>
  1916 + <length>-2</length>
  1917 + <precision>-2</precision>
  1918 + </field> <field> <name>fcno41</name>
  1919 + <rename/>
  1920 + <length>-2</length>
  1921 + <precision>-2</precision>
  1922 + </field> <field> <name>fcno42</name>
  1923 + <rename/>
  1924 + <length>-2</length>
  1925 + <precision>-2</precision>
  1926 + </field> <field> <name>fcno43</name>
  1927 + <rename/>
  1928 + <length>-2</length>
  1929 + <precision>-2</precision>
  1930 + </field> <field> <name>fcno44</name>
  1931 + <rename/>
  1932 + <length>-2</length>
  1933 + <precision>-2</precision>
  1934 + </field> <field> <name>fcno45</name>
  1935 + <rename/>
  1936 + <length>-2</length>
  1937 + <precision>-2</precision>
  1938 + </field> <field> <name>fcno46</name>
  1939 + <rename/>
  1940 + <length>-2</length>
  1941 + <precision>-2</precision>
  1942 + </field> <field> <name>fcno47</name>
  1943 + <rename/>
  1944 + <length>-2</length>
  1945 + <precision>-2</precision>
  1946 + </field> <field> <name>fcno48</name>
  1947 + <rename/>
  1948 + <length>-2</length>
  1949 + <precision>-2</precision>
  1950 + </field> <field> <name>fcno49</name>
  1951 + <rename/>
  1952 + <length>-2</length>
  1953 + <precision>-2</precision>
  1954 + </field> <field> <name>fcno50</name>
  1955 + <rename/>
  1956 + <length>-2</length>
  1957 + <precision>-2</precision>
  1958 + </field> <field> <name>fcno51</name>
  1959 + <rename/>
  1960 + <length>-2</length>
  1961 + <precision>-2</precision>
  1962 + </field> <field> <name>fcno52</name>
  1963 + <rename/>
  1964 + <length>-2</length>
  1965 + <precision>-2</precision>
  1966 + </field> <field> <name>fcno53</name>
  1967 + <rename/>
  1968 + <length>-2</length>
  1969 + <precision>-2</precision>
  1970 + </field> <field> <name>fcno54</name>
  1971 + <rename/>
  1972 + <length>-2</length>
  1973 + <precision>-2</precision>
  1974 + </field> <field> <name>fcno55</name>
  1975 + <rename/>
  1976 + <length>-2</length>
  1977 + <precision>-2</precision>
  1978 + </field> <field> <name>fcno56</name>
  1979 + <rename/>
  1980 + <length>-2</length>
  1981 + <precision>-2</precision>
  1982 + </field> <field> <name>fcno57</name>
  1983 + <rename/>
  1984 + <length>-2</length>
  1985 + <precision>-2</precision>
  1986 + </field> <field> <name>fcno58</name>
  1987 + <rename/>
  1988 + <length>-2</length>
  1989 + <precision>-2</precision>
  1990 + </field> <field> <name>fcno59</name>
  1991 + <rename/>
  1992 + <length>-2</length>
  1993 + <precision>-2</precision>
  1994 + </field> <field> <name>fcno60</name>
  1995 + <rename/>
  1996 + <length>-2</length>
  1997 + <precision>-2</precision>
  1998 + </field> <field> <name>fcno61</name>
  1999 + <rename/>
  2000 + <length>-2</length>
  2001 + <precision>-2</precision>
  2002 + </field> <field> <name>fcno62</name>
  2003 + <rename/>
  2004 + <length>-2</length>
  2005 + <precision>-2</precision>
  2006 + </field> <field> <name>fcno63</name>
  2007 + <rename/>
  2008 + <length>-2</length>
  2009 + <precision>-2</precision>
  2010 + </field> <field> <name>fcno64</name>
  2011 + <rename/>
  2012 + <length>-2</length>
  2013 + <precision>-2</precision>
  2014 + </field> <field> <name>fcno65</name>
  2015 + <rename/>
  2016 + <length>-2</length>
  2017 + <precision>-2</precision>
  2018 + </field> <field> <name>fcno66</name>
  2019 + <rename/>
  2020 + <length>-2</length>
  2021 + <precision>-2</precision>
  2022 + </field> <field> <name>fcno67</name>
  2023 + <rename/>
  2024 + <length>-2</length>
  2025 + <precision>-2</precision>
  2026 + </field> <field> <name>fcno68</name>
  2027 + <rename/>
  2028 + <length>-2</length>
  2029 + <precision>-2</precision>
  2030 + </field> <field> <name>fcno69</name>
  2031 + <rename/>
  2032 + <length>-2</length>
  2033 + <precision>-2</precision>
  2034 + </field> <field> <name>fcno70</name>
  2035 + <rename/>
  2036 + <length>-2</length>
  2037 + <precision>-2</precision>
  2038 + </field> <select_unspecified>N</select_unspecified>
  2039 + </fields> <cluster_schema/>
  2040 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2041 + <xloc>691</xloc>
  2042 + <yloc>361</yloc>
  2043 + <draw>Y</draw>
  2044 + </GUI>
  2045 + </step>
  2046 +
  2047 + <step>
  2048 + <name>&#x5408;&#x5e76;&#x5185;&#x5bb9;</name>
  2049 + <type>ScriptValueMod</type>
  2050 + <description/>
  2051 + <distribute>Y</distribute>
  2052 + <custom_distribution/>
  2053 + <copies>1</copies>
  2054 + <partitioning>
  2055 + <method>none</method>
  2056 + <schema_name/>
  2057 + </partitioning>
  2058 + <compatible>N</compatible>
  2059 + <optimizationLevel>9</optimizationLevel>
  2060 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  2061 + <jsScript_name>Script 1</jsScript_name>
  2062 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f; &#x987a;&#x5e8f;&#xff0c;id,fcsj,jhlc,zdname,bctype,xldir,isfb&#xa;var all_content_array &#x3d; &#x5b;&#x5d;&#x3b;&#xa;var all_content &#x3d; &#x22;&#x22;&#x3b; &#xa;all_content_array.push&#x28;id&#x29;&#x3b;&#xa;all_content_array.push&#x28;fcsj&#x29;&#x3b;&#xa;all_content_array.push&#x28;jhlc&#x29;&#x3b;&#xa;all_content_array.push&#x28;fczdName&#x29;&#x3b;&#xa;all_content_array.push&#x28;bc_type&#x29;&#x3b;&#xa;all_content_array.push&#x28;xl_dir&#x29;&#x3b;&#xa;all_content_array.push&#x28;isfb&#x29;&#x3b;&#xa;all_content_array.push&#x28;qdz &#x7c;&#x7c; &#x27;null&#x27;&#x29;&#x3b;&#xa;all_content_array.push&#x28;zdz &#x7c;&#x7c; &#x27;null&#x27;&#x29;&#x3b;&#xa;all_content_array.push&#x28;tcc &#x7c;&#x7c; &#x27;null&#x27;&#x29;&#x3b;&#xa;&#xa;all_content &#x3d; all_content_array.join&#x28;&#x22;,&#x22;&#x29;&#x3b; &#x2f;&#x2f; &#x9017;&#x53f7;&#x5206;&#x9694;</jsScript_script>
  2063 + </jsScript> </jsScripts> <fields> <field> <name>all_content</name>
  2064 + <rename>all_content</rename>
  2065 + <type>String</type>
  2066 + <length>-1</length>
  2067 + <precision>-1</precision>
  2068 + <replace>N</replace>
  2069 + </field> </fields> <cluster_schema/>
  2070 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2071 + <xloc>551</xloc>
  2072 + <yloc>366</yloc>
  2073 + <draw>Y</draw>
  2074 + </GUI>
  2075 + </step>
  2076 +
  2077 + <step>
  2078 + <name>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</name>
  2079 + <type>SelectValues</type>
  2080 + <description/>
  2081 + <distribute>Y</distribute>
  2082 + <custom_distribution/>
  2083 + <copies>1</copies>
  2084 + <partitioning>
  2085 + <method>none</method>
  2086 + <schema_name/>
  2087 + </partitioning>
  2088 + <fields> <field> <name>id</name>
  2089 + <rename/>
  2090 + <length>-2</length>
  2091 + <precision>-2</precision>
  2092 + </field> <field> <name>lp</name>
  2093 + <rename/>
  2094 + <length>-2</length>
  2095 + <precision>-2</precision>
  2096 + </field> <field> <name>fcsj</name>
  2097 + <rename/>
  2098 + <length>-2</length>
  2099 + <precision>-2</precision>
  2100 + </field> <field> <name>fcno</name>
  2101 + <rename/>
  2102 + <length>-2</length>
  2103 + <precision>-2</precision>
  2104 + </field> <field> <name>bcs</name>
  2105 + <rename/>
  2106 + <length>-2</length>
  2107 + <precision>-2</precision>
  2108 + </field> <field> <name>bc_type</name>
  2109 + <rename/>
  2110 + <length>-2</length>
  2111 + <precision>-2</precision>
  2112 + </field> <field> <name>qdzName</name>
  2113 + <rename/>
  2114 + <length>-2</length>
  2115 + <precision>-2</precision>
  2116 + </field> <field> <name>zdzName</name>
  2117 + <rename/>
  2118 + <length>-2</length>
  2119 + <precision>-2</precision>
  2120 + </field> <field> <name>xl_dir</name>
  2121 + <rename/>
  2122 + <length>-2</length>
  2123 + <precision>-2</precision>
  2124 + </field> <field> <name>isfb</name>
  2125 + <rename/>
  2126 + <length>-2</length>
  2127 + <precision>-2</precision>
  2128 + </field> <field> <name>jhlc</name>
  2129 + <rename/>
  2130 + <length>-2</length>
  2131 + <precision>-2</precision>
  2132 + </field> <field> <name>qdz</name>
  2133 + <rename/>
  2134 + <length>-2</length>
  2135 + <precision>-2</precision>
  2136 + </field> <field> <name>zdz</name>
  2137 + <rename/>
  2138 + <length>-2</length>
  2139 + <precision>-2</precision>
  2140 + </field> <field> <name>tcc</name>
  2141 + <rename/>
  2142 + <length>-2</length>
  2143 + <precision>-2</precision>
  2144 + </field> <select_unspecified>N</select_unspecified>
  2145 + </fields> <cluster_schema/>
  2146 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2147 + <xloc>690</xloc>
  2148 + <yloc>188</yloc>
  2149 + <draw>Y</draw>
  2150 + </GUI>
  2151 + </step>
  2152 +
  2153 + <step>
  2154 + <name>&#x5b57;&#x6bb5;&#x9009;&#x62e9; 2</name>
  2155 + <type>SelectValues</type>
  2156 + <description/>
  2157 + <distribute>Y</distribute>
  2158 + <custom_distribution/>
  2159 + <copies>1</copies>
  2160 + <partitioning>
  2161 + <method>none</method>
  2162 + <schema_name/>
  2163 + </partitioning>
  2164 + <fields> <field> <name>id</name>
  2165 + <rename/>
  2166 + <length>-2</length>
  2167 + <precision>-2</precision>
  2168 + </field> <field> <name>lp</name>
  2169 + <rename/>
  2170 + <length>-2</length>
  2171 + <precision>-2</precision>
  2172 + </field> <field> <name>fcsj</name>
  2173 + <rename/>
  2174 + <length>-2</length>
  2175 + <precision>-2</precision>
  2176 + </field> <field> <name>fcno</name>
  2177 + <rename/>
  2178 + <length>-2</length>
  2179 + <precision>-2</precision>
  2180 + </field> <field> <name>bcs</name>
  2181 + <rename/>
  2182 + <length>-2</length>
  2183 + <precision>-2</precision>
  2184 + </field> <field> <name>bc_type</name>
  2185 + <rename/>
  2186 + <length>-2</length>
  2187 + <precision>-2</precision>
  2188 + </field> <field> <name>qdzName</name>
  2189 + <rename/>
  2190 + <length>-2</length>
  2191 + <precision>-2</precision>
  2192 + </field> <field> <name>zdzName</name>
  2193 + <rename/>
  2194 + <length>-2</length>
  2195 + <precision>-2</precision>
  2196 + </field> <field> <name>xl_dir</name>
  2197 + <rename/>
  2198 + <length>-2</length>
  2199 + <precision>-2</precision>
  2200 + </field> <field> <name>isfb</name>
  2201 + <rename/>
  2202 + <length>-2</length>
  2203 + <precision>-2</precision>
  2204 + </field> <field> <name>jhlc</name>
  2205 + <rename/>
  2206 + <length>-2</length>
  2207 + <precision>-2</precision>
  2208 + </field> <field> <name>qdz</name>
  2209 + <rename/>
  2210 + <length>-2</length>
  2211 + <precision>-2</precision>
  2212 + </field> <field> <name>zdz</name>
  2213 + <rename/>
  2214 + <length>-2</length>
  2215 + <precision>-2</precision>
  2216 + </field> <field> <name>tcc</name>
  2217 + <rename/>
  2218 + <length>-2</length>
  2219 + <precision>-2</precision>
  2220 + </field> <select_unspecified>N</select_unspecified>
  2221 + </fields> <cluster_schema/>
  2222 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2223 + <xloc>402</xloc>
  2224 + <yloc>189</yloc>
  2225 + <draw>Y</draw>
  2226 + </GUI>
  2227 + </step>
  2228 +
  2229 + <step>
  2230 + <name>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</name>
  2231 + <type>SortRows</type>
  2232 + <description/>
  2233 + <distribute>Y</distribute>
  2234 + <custom_distribution/>
  2235 + <copies>1</copies>
  2236 + <partitioning>
  2237 + <method>none</method>
  2238 + <schema_name/>
  2239 + </partitioning>
  2240 + <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
  2241 + <prefix>out</prefix>
  2242 + <sort_size>1000000</sort_size>
  2243 + <free_memory/>
  2244 + <compress>N</compress>
  2245 + <compress_variable/>
  2246 + <unique_rows>N</unique_rows>
  2247 + <fields>
  2248 + <field>
  2249 + <name>bcs</name>
  2250 + <ascending>Y</ascending>
  2251 + <case_sensitive>N</case_sensitive>
  2252 + <presorted>N</presorted>
  2253 + </field>
  2254 + </fields>
  2255 + <cluster_schema/>
  2256 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2257 + <xloc>549</xloc>
  2258 + <yloc>191</yloc>
  2259 + <draw>Y</draw>
  2260 + </GUI>
  2261 + </step>
  2262 +
  2263 + <step>
  2264 + <name>&#x6587;&#x672c;&#x6587;&#x4ef6;&#x8f93;&#x51fa;</name>
  2265 + <type>TextFileOutput</type>
  2266 + <description/>
  2267 + <distribute>Y</distribute>
  2268 + <custom_distribution/>
  2269 + <copies>1</copies>
  2270 + <partitioning>
  2271 + <method>none</method>
  2272 + <schema_name/>
  2273 + </partitioning>
  2274 + <separator>&#x3b;</separator>
  2275 + <enclosure>&#x22;</enclosure>
  2276 + <enclosure_forced>N</enclosure_forced>
  2277 + <enclosure_fix_disabled>N</enclosure_fix_disabled>
  2278 + <header>Y</header>
  2279 + <footer>N</footer>
  2280 + <format>DOS</format>
  2281 + <compression>None</compression>
  2282 + <encoding>UTF-8</encoding>
  2283 + <endedLine/>
  2284 + <fileNameInField>N</fileNameInField>
  2285 + <fileNameField/>
  2286 + <create_parent_folder>Y</create_parent_folder>
  2287 + <file>
  2288 + <name>&#x24;&#x7b;tempfilepath&#x7d;</name>
  2289 + <is_command>N</is_command>
  2290 + <servlet_output>N</servlet_output>
  2291 + <do_not_open_new_file_init>N</do_not_open_new_file_init>
  2292 + <extention>txt</extention>
  2293 + <append>N</append>
  2294 + <split>N</split>
  2295 + <haspartno>N</haspartno>
  2296 + <add_date>N</add_date>
  2297 + <add_time>N</add_time>
  2298 + <SpecifyFormat>N</SpecifyFormat>
  2299 + <date_time_format/>
  2300 + <add_to_result_filenames>Y</add_to_result_filenames>
  2301 + <pad>N</pad>
  2302 + <fast_dump>N</fast_dump>
  2303 + <splitevery>0</splitevery>
  2304 + </file>
  2305 + <fields>
  2306 + <field>
  2307 + <name>lp</name>
  2308 + <type>String</type>
  2309 + <format/>
  2310 + <currency/>
  2311 + <decimal/>
  2312 + <group/>
  2313 + <nullif/>
  2314 + <trim_type>none</trim_type>
  2315 + <length>255</length>
  2316 + <precision>-1</precision>
  2317 + </field>
  2318 + <field>
  2319 + <name>fcno1</name>
  2320 + <type>String</type>
  2321 + <format/>
  2322 + <currency/>
  2323 + <decimal/>
  2324 + <group/>
  2325 + <nullif/>
  2326 + <trim_type>none</trim_type>
  2327 + <length>-1</length>
  2328 + <precision>-1</precision>
  2329 + </field>
  2330 + <field>
  2331 + <name>fcno2</name>
  2332 + <type>String</type>
  2333 + <format/>
  2334 + <currency/>
  2335 + <decimal/>
  2336 + <group/>
  2337 + <nullif/>
  2338 + <trim_type>none</trim_type>
  2339 + <length>-1</length>
  2340 + <precision>-1</precision>
  2341 + </field>
  2342 + <field>
  2343 + <name>fcno3</name>
  2344 + <type>String</type>
  2345 + <format/>
  2346 + <currency/>
  2347 + <decimal/>
  2348 + <group/>
  2349 + <nullif/>
  2350 + <trim_type>none</trim_type>
  2351 + <length>-1</length>
  2352 + <precision>-1</precision>
  2353 + </field>
  2354 + <field>
  2355 + <name>fcno4</name>
  2356 + <type>String</type>
  2357 + <format/>
  2358 + <currency/>
  2359 + <decimal/>
  2360 + <group/>
  2361 + <nullif/>
  2362 + <trim_type>none</trim_type>
  2363 + <length>-1</length>
  2364 + <precision>-1</precision>
  2365 + </field>
  2366 + <field>
  2367 + <name>fcno5</name>
  2368 + <type>String</type>
  2369 + <format/>
  2370 + <currency/>
  2371 + <decimal/>
  2372 + <group/>
  2373 + <nullif/>
  2374 + <trim_type>none</trim_type>
  2375 + <length>-1</length>
  2376 + <precision>-1</precision>
  2377 + </field>
  2378 + <field>
  2379 + <name>fcno6</name>
  2380 + <type>String</type>
  2381 + <format/>
  2382 + <currency/>
  2383 + <decimal/>
  2384 + <group/>
  2385 + <nullif/>
  2386 + <trim_type>none</trim_type>
  2387 + <length>-1</length>
  2388 + <precision>-1</precision>
  2389 + </field>
  2390 + <field>
  2391 + <name>fcno7</name>
  2392 + <type>String</type>
  2393 + <format/>
  2394 + <currency/>
  2395 + <decimal/>
  2396 + <group/>
  2397 + <nullif/>
  2398 + <trim_type>none</trim_type>
  2399 + <length>-1</length>
  2400 + <precision>-1</precision>
  2401 + </field>
  2402 + <field>
  2403 + <name>fcno8</name>
  2404 + <type>String</type>
  2405 + <format/>
  2406 + <currency/>
  2407 + <decimal/>
  2408 + <group/>
  2409 + <nullif/>
  2410 + <trim_type>none</trim_type>
  2411 + <length>-1</length>
  2412 + <precision>-1</precision>
  2413 + </field>
  2414 + <field>
  2415 + <name>fcno9</name>
  2416 + <type>String</type>
  2417 + <format/>
  2418 + <currency/>
  2419 + <decimal/>
  2420 + <group/>
  2421 + <nullif/>
  2422 + <trim_type>none</trim_type>
  2423 + <length>-1</length>
  2424 + <precision>-1</precision>
  2425 + </field>
  2426 + <field>
  2427 + <name>fcno10</name>
  2428 + <type>String</type>
  2429 + <format/>
  2430 + <currency/>
  2431 + <decimal/>
  2432 + <group/>
  2433 + <nullif/>
  2434 + <trim_type>none</trim_type>
  2435 + <length>-1</length>
  2436 + <precision>-1</precision>
  2437 + </field>
  2438 + <field>
  2439 + <name>fcno11</name>
  2440 + <type>String</type>
  2441 + <format/>
  2442 + <currency/>
  2443 + <decimal/>
  2444 + <group/>
  2445 + <nullif/>
  2446 + <trim_type>none</trim_type>
  2447 + <length>-1</length>
  2448 + <precision>-1</precision>
  2449 + </field>
  2450 + <field>
  2451 + <name>fcno12</name>
  2452 + <type>String</type>
  2453 + <format/>
  2454 + <currency/>
  2455 + <decimal/>
  2456 + <group/>
  2457 + <nullif/>
  2458 + <trim_type>none</trim_type>
  2459 + <length>-1</length>
  2460 + <precision>-1</precision>
  2461 + </field>
  2462 + <field>
  2463 + <name>fcno13</name>
  2464 + <type>String</type>
  2465 + <format/>
  2466 + <currency/>
  2467 + <decimal/>
  2468 + <group/>
  2469 + <nullif/>
  2470 + <trim_type>none</trim_type>
  2471 + <length>-1</length>
  2472 + <precision>-1</precision>
  2473 + </field>
  2474 + <field>
  2475 + <name>fcno14</name>
  2476 + <type>String</type>
  2477 + <format/>
  2478 + <currency/>
  2479 + <decimal/>
  2480 + <group/>
  2481 + <nullif/>
  2482 + <trim_type>none</trim_type>
  2483 + <length>-1</length>
  2484 + <precision>-1</precision>
  2485 + </field>
  2486 + <field>
  2487 + <name>fcno15</name>
  2488 + <type>String</type>
  2489 + <format/>
  2490 + <currency/>
  2491 + <decimal/>
  2492 + <group/>
  2493 + <nullif/>
  2494 + <trim_type>none</trim_type>
  2495 + <length>-1</length>
  2496 + <precision>-1</precision>
  2497 + </field>
  2498 + <field>
  2499 + <name>fcno16</name>
  2500 + <type>String</type>
  2501 + <format/>
  2502 + <currency/>
  2503 + <decimal/>
  2504 + <group/>
  2505 + <nullif/>
  2506 + <trim_type>none</trim_type>
  2507 + <length>-1</length>
  2508 + <precision>-1</precision>
  2509 + </field>
  2510 + <field>
  2511 + <name>fcno17</name>
  2512 + <type>String</type>
  2513 + <format/>
  2514 + <currency/>
  2515 + <decimal/>
  2516 + <group/>
  2517 + <nullif/>
  2518 + <trim_type>none</trim_type>
  2519 + <length>-1</length>
  2520 + <precision>-1</precision>
  2521 + </field>
  2522 + <field>
  2523 + <name>fcno18</name>
  2524 + <type>String</type>
  2525 + <format/>
  2526 + <currency/>
  2527 + <decimal/>
  2528 + <group/>
  2529 + <nullif/>
  2530 + <trim_type>none</trim_type>
  2531 + <length>-1</length>
  2532 + <precision>-1</precision>
  2533 + </field>
  2534 + <field>
  2535 + <name>fcno19</name>
  2536 + <type>String</type>
  2537 + <format/>
  2538 + <currency/>
  2539 + <decimal/>
  2540 + <group/>
  2541 + <nullif/>
  2542 + <trim_type>none</trim_type>
  2543 + <length>-1</length>
  2544 + <precision>-1</precision>
  2545 + </field>
  2546 + <field>
  2547 + <name>fcno20</name>
  2548 + <type>String</type>
  2549 + <format/>
  2550 + <currency/>
  2551 + <decimal/>
  2552 + <group/>
  2553 + <nullif/>
  2554 + <trim_type>none</trim_type>
  2555 + <length>-1</length>
  2556 + <precision>-1</precision>
  2557 + </field>
  2558 + <field>
  2559 + <name>fcno21</name>
  2560 + <type>String</type>
  2561 + <format/>
  2562 + <currency/>
  2563 + <decimal/>
  2564 + <group/>
  2565 + <nullif/>
  2566 + <trim_type>none</trim_type>
  2567 + <length>-1</length>
  2568 + <precision>-1</precision>
  2569 + </field>
  2570 + <field>
  2571 + <name>fcno22</name>
  2572 + <type>String</type>
  2573 + <format/>
  2574 + <currency/>
  2575 + <decimal/>
  2576 + <group/>
  2577 + <nullif/>
  2578 + <trim_type>none</trim_type>
  2579 + <length>-1</length>
  2580 + <precision>-1</precision>
  2581 + </field>
  2582 + <field>
  2583 + <name>fcno23</name>
  2584 + <type>String</type>
  2585 + <format/>
  2586 + <currency/>
  2587 + <decimal/>
  2588 + <group/>
  2589 + <nullif/>
  2590 + <trim_type>none</trim_type>
  2591 + <length>-1</length>
  2592 + <precision>-1</precision>
  2593 + </field>
  2594 + <field>
  2595 + <name>fcno24</name>
  2596 + <type>String</type>
  2597 + <format/>
  2598 + <currency/>
  2599 + <decimal/>
  2600 + <group/>
  2601 + <nullif/>
  2602 + <trim_type>none</trim_type>
  2603 + <length>-1</length>
  2604 + <precision>-1</precision>
  2605 + </field>
  2606 + <field>
  2607 + <name>fcno25</name>
  2608 + <type>String</type>
  2609 + <format/>
  2610 + <currency/>
  2611 + <decimal/>
  2612 + <group/>
  2613 + <nullif/>
  2614 + <trim_type>none</trim_type>
  2615 + <length>-1</length>
  2616 + <precision>-1</precision>
  2617 + </field>
  2618 + <field>
  2619 + <name>fcno26</name>
  2620 + <type>String</type>
  2621 + <format/>
  2622 + <currency/>
  2623 + <decimal/>
  2624 + <group/>
  2625 + <nullif/>
  2626 + <trim_type>none</trim_type>
  2627 + <length>-1</length>
  2628 + <precision>-1</precision>
  2629 + </field>
  2630 + <field>
  2631 + <name>fcno27</name>
  2632 + <type>String</type>
  2633 + <format/>
  2634 + <currency/>
  2635 + <decimal/>
  2636 + <group/>
  2637 + <nullif/>
  2638 + <trim_type>none</trim_type>
  2639 + <length>-1</length>
  2640 + <precision>-1</precision>
  2641 + </field>
  2642 + <field>
  2643 + <name>fcno28</name>
  2644 + <type>String</type>
  2645 + <format/>
  2646 + <currency/>
  2647 + <decimal/>
  2648 + <group/>
  2649 + <nullif/>
  2650 + <trim_type>none</trim_type>
  2651 + <length>-1</length>
  2652 + <precision>-1</precision>
  2653 + </field>
  2654 + <field>
  2655 + <name>fcno29</name>
  2656 + <type>String</type>
  2657 + <format/>
  2658 + <currency/>
  2659 + <decimal/>
  2660 + <group/>
  2661 + <nullif/>
  2662 + <trim_type>none</trim_type>
  2663 + <length>-1</length>
  2664 + <precision>-1</precision>
  2665 + </field>
  2666 + <field>
  2667 + <name>fcno30</name>
  2668 + <type>String</type>
  2669 + <format/>
  2670 + <currency/>
  2671 + <decimal/>
  2672 + <group/>
  2673 + <nullif/>
  2674 + <trim_type>none</trim_type>
  2675 + <length>-1</length>
  2676 + <precision>-1</precision>
  2677 + </field>
  2678 + <field>
  2679 + <name>fcno31</name>
  2680 + <type>String</type>
  2681 + <format/>
  2682 + <currency/>
  2683 + <decimal/>
  2684 + <group/>
  2685 + <nullif/>
  2686 + <trim_type>none</trim_type>
  2687 + <length>-1</length>
  2688 + <precision>-1</precision>
  2689 + </field>
  2690 + <field>
  2691 + <name>fcno32</name>
  2692 + <type>String</type>
  2693 + <format/>
  2694 + <currency/>
  2695 + <decimal/>
  2696 + <group/>
  2697 + <nullif/>
  2698 + <trim_type>none</trim_type>
  2699 + <length>-1</length>
  2700 + <precision>-1</precision>
  2701 + </field>
  2702 + <field>
  2703 + <name>fcno33</name>
  2704 + <type>String</type>
  2705 + <format/>
  2706 + <currency/>
  2707 + <decimal/>
  2708 + <group/>
  2709 + <nullif/>
  2710 + <trim_type>none</trim_type>
  2711 + <length>-1</length>
  2712 + <precision>-1</precision>
  2713 + </field>
  2714 + <field>
  2715 + <name>fcno34</name>
  2716 + <type>String</type>
  2717 + <format/>
  2718 + <currency/>
  2719 + <decimal/>
  2720 + <group/>
  2721 + <nullif/>
  2722 + <trim_type>none</trim_type>
  2723 + <length>-1</length>
  2724 + <precision>-1</precision>
  2725 + </field>
  2726 + <field>
  2727 + <name>fcno35</name>
  2728 + <type>String</type>
  2729 + <format/>
  2730 + <currency/>
  2731 + <decimal/>
  2732 + <group/>
  2733 + <nullif/>
  2734 + <trim_type>none</trim_type>
  2735 + <length>-1</length>
  2736 + <precision>-1</precision>
  2737 + </field>
  2738 + <field>
  2739 + <name>fcno36</name>
  2740 + <type>String</type>
  2741 + <format/>
  2742 + <currency/>
  2743 + <decimal/>
  2744 + <group/>
  2745 + <nullif/>
  2746 + <trim_type>none</trim_type>
  2747 + <length>-1</length>
  2748 + <precision>-1</precision>
  2749 + </field>
  2750 + <field>
  2751 + <name>fcno37</name>
  2752 + <type>String</type>
  2753 + <format/>
  2754 + <currency/>
  2755 + <decimal/>
  2756 + <group/>
  2757 + <nullif/>
  2758 + <trim_type>none</trim_type>
  2759 + <length>-1</length>
  2760 + <precision>-1</precision>
  2761 + </field>
  2762 + <field>
  2763 + <name>fcno38</name>
  2764 + <type>String</type>
  2765 + <format/>
  2766 + <currency/>
  2767 + <decimal/>
  2768 + <group/>
  2769 + <nullif/>
  2770 + <trim_type>none</trim_type>
  2771 + <length>-1</length>
  2772 + <precision>-1</precision>
  2773 + </field>
  2774 + <field>
  2775 + <name>fcno39</name>
  2776 + <type>String</type>
  2777 + <format/>
  2778 + <currency/>
  2779 + <decimal/>
  2780 + <group/>
  2781 + <nullif/>
  2782 + <trim_type>none</trim_type>
  2783 + <length>-1</length>
  2784 + <precision>-1</precision>
  2785 + </field>
  2786 + <field>
  2787 + <name>fcno40</name>
  2788 + <type>String</type>
  2789 + <format/>
  2790 + <currency/>
  2791 + <decimal/>
  2792 + <group/>
  2793 + <nullif/>
  2794 + <trim_type>none</trim_type>
  2795 + <length>-1</length>
  2796 + <precision>-1</precision>
  2797 + </field>
  2798 + <field>
  2799 + <name>fcno41</name>
  2800 + <type>String</type>
  2801 + <format/>
  2802 + <currency/>
  2803 + <decimal/>
  2804 + <group/>
  2805 + <nullif/>
  2806 + <trim_type>none</trim_type>
  2807 + <length>-1</length>
  2808 + <precision>-1</precision>
  2809 + </field>
  2810 + <field>
  2811 + <name>fcno42</name>
  2812 + <type>String</type>
  2813 + <format/>
  2814 + <currency/>
  2815 + <decimal/>
  2816 + <group/>
  2817 + <nullif/>
  2818 + <trim_type>none</trim_type>
  2819 + <length>-1</length>
  2820 + <precision>-1</precision>
  2821 + </field>
  2822 + <field>
  2823 + <name>fcno43</name>
  2824 + <type>String</type>
  2825 + <format/>
  2826 + <currency/>
  2827 + <decimal/>
  2828 + <group/>
  2829 + <nullif/>
  2830 + <trim_type>none</trim_type>
  2831 + <length>-1</length>
  2832 + <precision>-1</precision>
  2833 + </field>
  2834 + <field>
  2835 + <name>fcno44</name>
  2836 + <type>String</type>
  2837 + <format/>
  2838 + <currency/>
  2839 + <decimal/>
  2840 + <group/>
  2841 + <nullif/>
  2842 + <trim_type>none</trim_type>
  2843 + <length>-1</length>
  2844 + <precision>-1</precision>
  2845 + </field>
  2846 + <field>
  2847 + <name>fcno45</name>
  2848 + <type>String</type>
  2849 + <format/>
  2850 + <currency/>
  2851 + <decimal/>
  2852 + <group/>
  2853 + <nullif/>
  2854 + <trim_type>none</trim_type>
  2855 + <length>-1</length>
  2856 + <precision>-1</precision>
  2857 + </field>
  2858 + <field>
  2859 + <name>fcno46</name>
  2860 + <type>String</type>
  2861 + <format/>
  2862 + <currency/>
  2863 + <decimal/>
  2864 + <group/>
  2865 + <nullif/>
  2866 + <trim_type>none</trim_type>
  2867 + <length>-1</length>
  2868 + <precision>-1</precision>
  2869 + </field>
  2870 + <field>
  2871 + <name>fcno47</name>
  2872 + <type>String</type>
  2873 + <format/>
  2874 + <currency/>
  2875 + <decimal/>
  2876 + <group/>
  2877 + <nullif/>
  2878 + <trim_type>none</trim_type>
  2879 + <length>-1</length>
  2880 + <precision>-1</precision>
  2881 + </field>
  2882 + <field>
  2883 + <name>fcno48</name>
  2884 + <type>String</type>
  2885 + <format/>
  2886 + <currency/>
  2887 + <decimal/>
  2888 + <group/>
  2889 + <nullif/>
  2890 + <trim_type>none</trim_type>
  2891 + <length>-1</length>
  2892 + <precision>-1</precision>
  2893 + </field>
  2894 + <field>
  2895 + <name>fcno49</name>
  2896 + <type>String</type>
  2897 + <format/>
  2898 + <currency/>
  2899 + <decimal/>
  2900 + <group/>
  2901 + <nullif/>
  2902 + <trim_type>none</trim_type>
  2903 + <length>-1</length>
  2904 + <precision>-1</precision>
  2905 + </field>
  2906 + <field>
  2907 + <name>fcno50</name>
  2908 + <type>String</type>
  2909 + <format/>
  2910 + <currency/>
  2911 + <decimal/>
  2912 + <group/>
  2913 + <nullif/>
  2914 + <trim_type>none</trim_type>
  2915 + <length>-1</length>
  2916 + <precision>-1</precision>
  2917 + </field>
  2918 + <field>
  2919 + <name>fcno51</name>
  2920 + <type>String</type>
  2921 + <format/>
  2922 + <currency/>
  2923 + <decimal/>
  2924 + <group/>
  2925 + <nullif/>
  2926 + <trim_type>none</trim_type>
  2927 + <length>-1</length>
  2928 + <precision>-1</precision>
  2929 + </field>
  2930 + <field>
  2931 + <name>fcno52</name>
  2932 + <type>String</type>
  2933 + <format/>
  2934 + <currency/>
  2935 + <decimal/>
  2936 + <group/>
  2937 + <nullif/>
  2938 + <trim_type>none</trim_type>
  2939 + <length>-1</length>
  2940 + <precision>-1</precision>
  2941 + </field>
  2942 + <field>
  2943 + <name>fcno53</name>
  2944 + <type>String</type>
  2945 + <format/>
  2946 + <currency/>
  2947 + <decimal/>
  2948 + <group/>
  2949 + <nullif/>
  2950 + <trim_type>none</trim_type>
  2951 + <length>-1</length>
  2952 + <precision>-1</precision>
  2953 + </field>
  2954 + <field>
  2955 + <name>fcno54</name>
  2956 + <type>String</type>
  2957 + <format/>
  2958 + <currency/>
  2959 + <decimal/>
  2960 + <group/>
  2961 + <nullif/>
  2962 + <trim_type>none</trim_type>
  2963 + <length>-1</length>
  2964 + <precision>-1</precision>
  2965 + </field>
  2966 + <field>
  2967 + <name>fcno55</name>
  2968 + <type>String</type>
  2969 + <format/>
  2970 + <currency/>
  2971 + <decimal/>
  2972 + <group/>
  2973 + <nullif/>
  2974 + <trim_type>none</trim_type>
  2975 + <length>-1</length>
  2976 + <precision>-1</precision>
  2977 + </field>
  2978 + <field>
  2979 + <name>fcno56</name>
  2980 + <type>String</type>
  2981 + <format/>
  2982 + <currency/>
  2983 + <decimal/>
  2984 + <group/>
  2985 + <nullif/>
  2986 + <trim_type>none</trim_type>
  2987 + <length>-1</length>
  2988 + <precision>-1</precision>
  2989 + </field>
  2990 + <field>
  2991 + <name>fcno57</name>
  2992 + <type>String</type>
  2993 + <format/>
  2994 + <currency/>
  2995 + <decimal/>
  2996 + <group/>
  2997 + <nullif/>
  2998 + <trim_type>none</trim_type>
  2999 + <length>-1</length>
  3000 + <precision>-1</precision>
  3001 + </field>
  3002 + <field>
  3003 + <name>fcno58</name>
  3004 + <type>String</type>
  3005 + <format/>
  3006 + <currency/>
  3007 + <decimal/>
  3008 + <group/>
  3009 + <nullif/>
  3010 + <trim_type>none</trim_type>
  3011 + <length>-1</length>
  3012 + <precision>-1</precision>
  3013 + </field>
  3014 + <field>
  3015 + <name>fcno59</name>
  3016 + <type>String</type>
  3017 + <format/>
  3018 + <currency/>
  3019 + <decimal/>
  3020 + <group/>
  3021 + <nullif/>
  3022 + <trim_type>none</trim_type>
  3023 + <length>-1</length>
  3024 + <precision>-1</precision>
  3025 + </field>
  3026 + <field>
  3027 + <name>fcno60</name>
  3028 + <type>String</type>
  3029 + <format/>
  3030 + <currency/>
  3031 + <decimal/>
  3032 + <group/>
  3033 + <nullif/>
  3034 + <trim_type>none</trim_type>
  3035 + <length>-1</length>
  3036 + <precision>-1</precision>
  3037 + </field>
  3038 + <field>
  3039 + <name>fcno61</name>
  3040 + <type>String</type>
  3041 + <format/>
  3042 + <currency/>
  3043 + <decimal/>
  3044 + <group/>
  3045 + <nullif/>
  3046 + <trim_type>none</trim_type>
  3047 + <length>-1</length>
  3048 + <precision>-1</precision>
  3049 + </field>
  3050 + <field>
  3051 + <name>fcno62</name>
  3052 + <type>String</type>
  3053 + <format/>
  3054 + <currency/>
  3055 + <decimal/>
  3056 + <group/>
  3057 + <nullif/>
  3058 + <trim_type>none</trim_type>
  3059 + <length>-1</length>
  3060 + <precision>-1</precision>
  3061 + </field>
  3062 + <field>
  3063 + <name>fcno63</name>
  3064 + <type>String</type>
  3065 + <format/>
  3066 + <currency/>
  3067 + <decimal/>
  3068 + <group/>
  3069 + <nullif/>
  3070 + <trim_type>none</trim_type>
  3071 + <length>-1</length>
  3072 + <precision>-1</precision>
  3073 + </field>
  3074 + <field>
  3075 + <name>fcno64</name>
  3076 + <type>String</type>
  3077 + <format/>
  3078 + <currency/>
  3079 + <decimal/>
  3080 + <group/>
  3081 + <nullif/>
  3082 + <trim_type>none</trim_type>
  3083 + <length>-1</length>
  3084 + <precision>-1</precision>
  3085 + </field>
  3086 + <field>
  3087 + <name>fcno65</name>
  3088 + <type>String</type>
  3089 + <format/>
  3090 + <currency/>
  3091 + <decimal/>
  3092 + <group/>
  3093 + <nullif/>
  3094 + <trim_type>none</trim_type>
  3095 + <length>-1</length>
  3096 + <precision>-1</precision>
  3097 + </field>
  3098 + <field>
  3099 + <name>fcno66</name>
  3100 + <type>String</type>
  3101 + <format/>
  3102 + <currency/>
  3103 + <decimal/>
  3104 + <group/>
  3105 + <nullif/>
  3106 + <trim_type>none</trim_type>
  3107 + <length>-1</length>
  3108 + <precision>-1</precision>
  3109 + </field>
  3110 + <field>
  3111 + <name>fcno67</name>
  3112 + <type>String</type>
  3113 + <format/>
  3114 + <currency/>
  3115 + <decimal/>
  3116 + <group/>
  3117 + <nullif/>
  3118 + <trim_type>none</trim_type>
  3119 + <length>-1</length>
  3120 + <precision>-1</precision>
  3121 + </field>
  3122 + <field>
  3123 + <name>fcno68</name>
  3124 + <type>String</type>
  3125 + <format/>
  3126 + <currency/>
  3127 + <decimal/>
  3128 + <group/>
  3129 + <nullif/>
  3130 + <trim_type>none</trim_type>
  3131 + <length>-1</length>
  3132 + <precision>-1</precision>
  3133 + </field>
  3134 + <field>
  3135 + <name>fcno69</name>
  3136 + <type>String</type>
  3137 + <format/>
  3138 + <currency/>
  3139 + <decimal/>
  3140 + <group/>
  3141 + <nullif/>
  3142 + <trim_type>none</trim_type>
  3143 + <length>-1</length>
  3144 + <precision>-1</precision>
  3145 + </field>
  3146 + <field>
  3147 + <name>fcno70</name>
  3148 + <type>String</type>
  3149 + <format/>
  3150 + <currency/>
  3151 + <decimal/>
  3152 + <group/>
  3153 + <nullif/>
  3154 + <trim_type>none</trim_type>
  3155 + <length>-1</length>
  3156 + <precision>-1</precision>
  3157 + </field>
  3158 + </fields>
  3159 + <cluster_schema/>
  3160 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  3161 + <xloc>880</xloc>
  3162 + <yloc>365</yloc>
  3163 + <draw>Y</draw>
  3164 + </GUI>
  3165 + </step>
  3166 +
  3167 + <step>
  3168 + <name>&#x67e5;&#x627e;&#x7ec8;&#x70b9;&#x7ad9;&#x540d;&#x79f0;</name>
  3169 + <type>DBLookup</type>
  3170 + <description/>
  3171 + <distribute>Y</distribute>
  3172 + <custom_distribution/>
  3173 + <copies>1</copies>
  3174 + <partitioning>
  3175 + <method>none</method>
  3176 + <schema_name/>
  3177 + </partitioning>
  3178 + <connection>bus_control_variable</connection>
  3179 + <cache>Y</cache>
  3180 + <cache_load_all>Y</cache_load_all>
  3181 + <cache_size>0</cache_size>
  3182 + <lookup>
  3183 + <schema/>
  3184 + <table>bsth_c_stationroute</table>
  3185 + <orderby/>
  3186 + <fail_on_multiple>N</fail_on_multiple>
  3187 + <eat_row_on_failure>N</eat_row_on_failure>
  3188 + <key>
  3189 + <name>xl</name>
  3190 + <field>line</field>
  3191 + <condition>&#x3d;</condition>
  3192 + <name2/>
  3193 + </key>
  3194 + <key>
  3195 + <name>xl_dir</name>
  3196 + <field>directions</field>
  3197 + <condition>&#x3d;</condition>
  3198 + <name2/>
  3199 + </key>
  3200 + <key>
  3201 + <name>endZdType</name>
  3202 + <field>station_mark</field>
  3203 + <condition>&#x3d;</condition>
  3204 + <name2/>
  3205 + </key>
  3206 + <value>
  3207 + <name>station_name</name>
  3208 + <rename>zdzName</rename>
  3209 + <default/>
  3210 + <type>String</type>
  3211 + </value>
  3212 + </lookup>
  3213 + <cluster_schema/>
  3214 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  3215 + <xloc>688</xloc>
  3216 + <yloc>86</yloc>
  3217 + <draw>Y</draw>
  3218 + </GUI>
  3219 + </step>
  3220 +
  3221 + <step>
  3222 + <name>&#x67e5;&#x627e;&#x8d77;&#x70b9;&#x7ad9;&#x540d;&#x79f0;</name>
  3223 + <type>DBLookup</type>
  3224 + <description/>
  3225 + <distribute>Y</distribute>
  3226 + <custom_distribution/>
  3227 + <copies>1</copies>
  3228 + <partitioning>
  3229 + <method>none</method>
  3230 + <schema_name/>
  3231 + </partitioning>
  3232 + <connection>bus_control_variable</connection>
  3233 + <cache>Y</cache>
  3234 + <cache_load_all>Y</cache_load_all>
  3235 + <cache_size>0</cache_size>
  3236 + <lookup>
  3237 + <schema/>
  3238 + <table>bsth_c_stationroute</table>
  3239 + <orderby/>
  3240 + <fail_on_multiple>N</fail_on_multiple>
  3241 + <eat_row_on_failure>N</eat_row_on_failure>
  3242 + <key>
  3243 + <name>xl</name>
  3244 + <field>line</field>
  3245 + <condition>&#x3d;</condition>
  3246 + <name2/>
  3247 + </key>
  3248 + <key>
  3249 + <name>xl_dir</name>
  3250 + <field>directions</field>
  3251 + <condition>&#x3d;</condition>
  3252 + <name2/>
  3253 + </key>
  3254 + <key>
  3255 + <name>startZdType</name>
  3256 + <field>station_mark</field>
  3257 + <condition>&#x3d;</condition>
  3258 + <name2/>
  3259 + </key>
  3260 + <value>
  3261 + <name>station_name</name>
  3262 + <rename>qdzName</rename>
  3263 + <default/>
  3264 + <type>String</type>
  3265 + </value>
  3266 + </lookup>
  3267 + <cluster_schema/>
  3268 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  3269 + <xloc>553</xloc>
  3270 + <yloc>86</yloc>
  3271 + <draw>Y</draw>
  3272 + </GUI>
  3273 + </step>
  3274 +
  3275 + <step>
  3276 + <name>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x7ad9;&#x70b9;&#x67e5;&#x8be2;&#x7528;&#x6570;&#x636e;</name>
  3277 + <type>ScriptValueMod</type>
  3278 + <description/>
  3279 + <distribute>Y</distribute>
  3280 + <custom_distribution/>
  3281 + <copies>1</copies>
  3282 + <partitioning>
  3283 + <method>none</method>
  3284 + <schema_name/>
  3285 + </partitioning>
  3286 + <compatible>N</compatible>
  3287 + <optimizationLevel>9</optimizationLevel>
  3288 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  3289 + <jsScript_name>Script 1</jsScript_name>
  3290 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var startZdType &#x3d; &#x27;B&#x27;&#x3b; &#x2f;&#x2f; &#x8d77;&#x70b9;&#x7ad9;&#x7ad9;&#x70b9;&#x7c7b;&#x578b;&#x6807;&#x8bc6;&#x522b;&#xa;var endZdType &#x3d; &#x27;E&#x27;&#x3b; &#x2f;&#x2f; &#x7ec8;&#x70b9;&#x7ad9;&#x7ad9;&#x70b9;&#x7c7b;&#x578b;&#x6807;&#x8bc6;</jsScript_script>
  3291 + </jsScript> </jsScripts> <fields> <field> <name>startZdType</name>
  3292 + <rename>startZdType</rename>
  3293 + <type>String</type>
  3294 + <length>-1</length>
  3295 + <precision>-1</precision>
  3296 + <replace>N</replace>
  3297 + </field> <field> <name>endZdType</name>
  3298 + <rename>endZdType</rename>
  3299 + <type>String</type>
  3300 + <length>-1</length>
  3301 + <precision>-1</precision>
  3302 + <replace>N</replace>
  3303 + </field> </fields> <cluster_schema/>
  3304 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  3305 + <xloc>391</xloc>
  3306 + <yloc>87</yloc>
  3307 + <draw>Y</draw>
  3308 + </GUI>
  3309 + </step>
  3310 +
  3311 + <step>
  3312 + <name>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</name>
  3313 + <type>GetVariable</type>
  3314 + <description/>
  3315 + <distribute>Y</distribute>
  3316 + <custom_distribution/>
  3317 + <copies>1</copies>
  3318 + <partitioning>
  3319 + <method>none</method>
  3320 + <schema_name/>
  3321 + </partitioning>
  3322 + <fields>
  3323 + <field>
  3324 + <name>xlid_</name>
  3325 + <variable>&#x24;&#x7b;xlid&#x7d;</variable>
  3326 + <type>Integer</type>
  3327 + <format/>
  3328 + <currency/>
  3329 + <decimal/>
  3330 + <group/>
  3331 + <length>-1</length>
  3332 + <precision>-1</precision>
  3333 + <trim_type>none</trim_type>
  3334 + </field>
  3335 + <field>
  3336 + <name>ttid_</name>
  3337 + <variable>&#x24;&#x7b;ttid&#x7d;</variable>
  3338 + <type>Number</type>
  3339 + <format/>
  3340 + <currency/>
  3341 + <decimal/>
  3342 + <group/>
  3343 + <length>-1</length>
  3344 + <precision>-1</precision>
  3345 + <trim_type>none</trim_type>
  3346 + </field>
  3347 + </fields>
  3348 + <cluster_schema/>
  3349 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  3350 + <xloc>45</xloc>
  3351 + <yloc>189</yloc>
  3352 + <draw>Y</draw>
  3353 + </GUI>
  3354 + </step>
  3355 +
  3356 + <step>
  3357 + <name>&#x8868;&#x8f93;&#x5165;</name>
  3358 + <type>TableInput</type>
  3359 + <description/>
  3360 + <distribute>Y</distribute>
  3361 + <custom_distribution/>
  3362 + <copies>1</copies>
  3363 + <partitioning>
  3364 + <method>none</method>
  3365 + <schema_name/>
  3366 + </partitioning>
  3367 + <connection>bus_control_variable</connection>
  3368 + <sql>select &#xa;t.id as id&#xa;, concat&#x28;g.id, &#x27;_&#x27;, g.lp_name&#x29; as lp&#xa;, g.xl as xl&#xa;, qdz&#xa;, zdz&#xa;, tcc&#xa;, fcsj&#xa;, jhlc&#xa;, bc_type &#xa;, bcs&#xa;, fcno&#xa;, xl_dir&#xa;, isfb&#xa;from bsth_c_s_ttinfo_detail t left join &#xa;bsth_c_s_gbi g on t.lp &#x3d; g.id &#xa;where &#xa;g.xl &#x3d; &#x3f; and&#xa;t.ttinfo &#x3d; &#x3f; &#xa;order by t.bcs asc</sql>
  3369 + <limit>0</limit>
  3370 + <lookup>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</lookup>
  3371 + <execute_each_row>N</execute_each_row>
  3372 + <variables_active>Y</variables_active>
  3373 + <lazy_conversion_active>N</lazy_conversion_active>
  3374 + <cluster_schema/>
  3375 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  3376 + <xloc>130</xloc>
  3377 + <yloc>85</yloc>
  3378 + <draw>Y</draw>
  3379 + </GUI>
  3380 + </step>
  3381 +
  3382 + <step>
  3383 + <name>&#x8ba1;&#x7b97;&#x53d1;&#x8f66;&#x7ad9;&#x540d;</name>
  3384 + <type>ScriptValueMod</type>
  3385 + <description/>
  3386 + <distribute>Y</distribute>
  3387 + <custom_distribution/>
  3388 + <copies>1</copies>
  3389 + <partitioning>
  3390 + <method>none</method>
  3391 + <schema_name/>
  3392 + </partitioning>
  3393 + <compatible>N</compatible>
  3394 + <optimizationLevel>9</optimizationLevel>
  3395 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  3396 + <jsScript_name>Script 1</jsScript_name>
  3397 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var fczdName &#x3d; null&#x3b; &#x2f;&#x2f; &#x53d1;&#x8f66;&#x7ad9;&#x70b9;&#x540d;&#x5b57;&#xa;if &#x28;bc_type &#x3d;&#x3d; &#x22;in&#x22;&#x29; &#x7b;&#xa; fczdName &#x3d; &#x22;&#x8fdb;&#x573a;&#x22;&#x3b;&#xa;&#x7d; else if &#x28;bc_type &#x3d;&#x3d; &#x22;out&#x22;&#x29; &#x7b;&#xa; fczdName &#x3d; &#x22;&#x51fa;&#x573a;&#x22;&#x3b;&#xa;&#x7d; else &#x7b;&#xa; fczdName &#x3d; qdzName&#x3b;&#xa;&#x7d;</jsScript_script>
  3398 + </jsScript> </jsScripts> <fields> <field> <name>fczdName</name>
  3399 + <rename>fczdName</rename>
  3400 + <type>String</type>
  3401 + <length>-1</length>
  3402 + <precision>-1</precision>
  3403 + <replace>N</replace>
  3404 + </field> </fields> <cluster_schema/>
  3405 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  3406 + <xloc>550</xloc>
  3407 + <yloc>276</yloc>
  3408 + <draw>Y</draw>
  3409 + </GUI>
  3410 + </step>
  3411 +
  3412 + <step>
  3413 + <name>&#x8fc7;&#x6ee4;&#x8bb0;&#x5f55;</name>
  3414 + <type>FilterRows</type>
  3415 + <description/>
  3416 + <distribute>Y</distribute>
  3417 + <custom_distribution/>
  3418 + <copies>1</copies>
  3419 + <partitioning>
  3420 + <method>none</method>
  3421 + <schema_name/>
  3422 + </partitioning>
  3423 +<send_true_to>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x7ad9;&#x70b9;&#x67e5;&#x8be2;&#x7528;&#x6570;&#x636e;</send_true_to>
  3424 +<send_false_to>&#x8fdb;&#x573a;&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x67e5;&#x8be2;&#x7528;&#x7684;&#x6570;&#x636e;</send_false_to>
  3425 + <compare>
  3426 +<condition>
  3427 + <negated>N</negated>
  3428 + <leftvalue>bc_type</leftvalue>
  3429 + <function>&#x3d;</function>
  3430 + <rightvalue/>
  3431 + <value><name>constant</name><type>String</type><text>normal</text><length>-1</length><precision>-1</precision><isnull>N</isnull><mask/></value> </condition>
  3432 + </compare>
  3433 + <cluster_schema/>
  3434 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  3435 + <xloc>248</xloc>
  3436 + <yloc>87</yloc>
  3437 + <draw>Y</draw>
  3438 + </GUI>
  3439 + </step>
  3440 +
  3441 + <step>
  3442 + <name>&#x8fdb;&#x573a;&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x67e5;&#x8be2;&#x7528;&#x7684;&#x6570;&#x636e;</name>
  3443 + <type>ScriptValueMod</type>
  3444 + <description/>
  3445 + <distribute>Y</distribute>
  3446 + <custom_distribution/>
  3447 + <copies>1</copies>
  3448 + <partitioning>
  3449 + <method>none</method>
  3450 + <schema_name/>
  3451 + </partitioning>
  3452 + <compatible>N</compatible>
  3453 + <optimizationLevel>9</optimizationLevel>
  3454 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  3455 + <jsScript_name>Script 1</jsScript_name>
  3456 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var qdzName &#x3d; null&#x3b; &#x2f;&#x2f; &#x8d77;&#x70b9;&#x7ad9;&#x540d;&#x5b57;&#xa;var zdzName &#x3d; null&#x3b; &#x2f;&#x2f; &#x7ec8;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</jsScript_script>
  3457 + </jsScript> </jsScripts> <fields> <field> <name>qdzName</name>
  3458 + <rename>qdzName</rename>
  3459 + <type>String</type>
  3460 + <length>-1</length>
  3461 + <precision>-1</precision>
  3462 + <replace>N</replace>
  3463 + </field> <field> <name>zdzName</name>
  3464 + <rename>zdzName</rename>
  3465 + <type>String</type>
  3466 + <length>-1</length>
  3467 + <precision>-1</precision>
  3468 + <replace>N</replace>
  3469 + </field> </fields> <cluster_schema/>
  3470 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  3471 + <xloc>250</xloc>
  3472 + <yloc>188</yloc>
  3473 + <draw>Y</draw>
  3474 + </GUI>
  3475 + </step>
  3476 +
  3477 + <step_error_handling>
  3478 + </step_error_handling>
  3479 + <slave-step-copy-partition-distribution>
  3480 +</slave-step-copy-partition-distribution>
  3481 + <slave_transformation>N</slave_transformation>
  3482 +
  3483 +</transformation>
... ...
src/main/resources/datatools/ktrs/ttinfodetailDataInput.ktr
... ... @@ -181,6 +181,30 @@
181 181 </notepad>
182 182 </notepads>
183 183 <connection>
  184 + <name>192.168.168.1_jwgl_dw</name>
  185 + <server>192.168.168.1</server>
  186 + <type>ORACLE</type>
  187 + <access>Native</access>
  188 + <database>orcl</database>
  189 + <port>1521</port>
  190 + <username>jwgl_dw</username>
  191 + <password>Encrypted 2be98afc86aa7f2e4cb13b977d2adabcd</password>
  192 + <servername/>
  193 + <data_tablespace/>
  194 + <index_tablespace/>
  195 + <attributes>
  196 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  197 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  198 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  199 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  200 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  201 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  202 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  203 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  204 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  205 + </attributes>
  206 + </connection>
  207 + <connection>
184 208 <name>bus_control_variable</name>
185 209 <server>&#x24;&#x7b;v_db_ip&#x7d;</server>
186 210 <type>MYSQL</type>
... ... @@ -1039,6 +1063,26 @@
1039 1063 <rename>isfb</rename>
1040 1064 <update>Y</update>
1041 1065 </value>
  1066 + <value>
  1067 + <name>qdz_code</name>
  1068 + <rename>qdzcode</rename>
  1069 + <update>Y</update>
  1070 + </value>
  1071 + <value>
  1072 + <name>qdz_name</name>
  1073 + <rename>qdzname</rename>
  1074 + <update>Y</update>
  1075 + </value>
  1076 + <value>
  1077 + <name>zdz_code</name>
  1078 + <rename>zdzcode</rename>
  1079 + <update>Y</update>
  1080 + </value>
  1081 + <value>
  1082 + <name>zdz_name</name>
  1083 + <rename>zdzname</rename>
  1084 + <update>Y</update>
  1085 + </value>
1042 1086 </lookup>
1043 1087 <cluster_schema/>
1044 1088 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
... ... @@ -1160,6 +1204,26 @@
1160 1204 <rename>isfb</rename>
1161 1205 <update>Y</update>
1162 1206 </value>
  1207 + <value>
  1208 + <name>qdz_code</name>
  1209 + <rename>qdzcode</rename>
  1210 + <update>Y</update>
  1211 + </value>
  1212 + <value>
  1213 + <name>qdz_name</name>
  1214 + <rename>tn</rename>
  1215 + <update>Y</update>
  1216 + </value>
  1217 + <value>
  1218 + <name>zdz_code</name>
  1219 + <rename>zdzcode</rename>
  1220 + <update>Y</update>
  1221 + </value>
  1222 + <value>
  1223 + <name>zdz_name</name>
  1224 + <rename>zdzname</rename>
  1225 + <update>Y</update>
  1226 + </value>
1163 1227 </lookup>
1164 1228 <cluster_schema/>
1165 1229 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
... ... @@ -1281,6 +1345,26 @@
1281 1345 <rename>isfb</rename>
1282 1346 <update>Y</update>
1283 1347 </value>
  1348 + <value>
  1349 + <name>qdz_code</name>
  1350 + <rename>qdzcode</rename>
  1351 + <update>Y</update>
  1352 + </value>
  1353 + <value>
  1354 + <name>qdz_name</name>
  1355 + <rename>qname</rename>
  1356 + <update>Y</update>
  1357 + </value>
  1358 + <value>
  1359 + <name>zdz_code</name>
  1360 + <rename>zdzcode</rename>
  1361 + <update>Y</update>
  1362 + </value>
  1363 + <value>
  1364 + <name>zdz_name</name>
  1365 + <rename>tn</rename>
  1366 + <update>Y</update>
  1367 + </value>
1284 1368 </lookup>
1285 1369 <cluster_schema/>
1286 1370 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
... ... @@ -1391,6 +1475,18 @@
1391 1475 <default/>
1392 1476 <type>Integer</type>
1393 1477 </value>
  1478 + <value>
  1479 + <name>park_code</name>
  1480 + <rename>qdzcode</rename>
  1481 + <default/>
  1482 + <type>String</type>
  1483 + </value>
  1484 + <value>
  1485 + <name>park_name</name>
  1486 + <rename>tn</rename>
  1487 + <default/>
  1488 + <type>String</type>
  1489 + </value>
1394 1490 </lookup>
1395 1491 <cluster_schema/>
1396 1492 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
... ... @@ -1433,6 +1529,18 @@
1433 1529 <default/>
1434 1530 <type>Integer</type>
1435 1531 </value>
  1532 + <value>
  1533 + <name>park_code</name>
  1534 + <rename>zdzcode</rename>
  1535 + <default/>
  1536 + <type>String</type>
  1537 + </value>
  1538 + <value>
  1539 + <name>park_name</name>
  1540 + <rename>tn</rename>
  1541 + <default/>
  1542 + <type>String</type>
  1543 + </value>
1436 1544 </lookup>
1437 1545 <cluster_schema/>
1438 1546 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
... ... @@ -1499,6 +1607,12 @@
1499 1607 <default/>
1500 1608 <type>Integer</type>
1501 1609 </value>
  1610 + <value>
  1611 + <name>station_code</name>
  1612 + <rename>zdzcode</rename>
  1613 + <default/>
  1614 + <type>String</type>
  1615 + </value>
1502 1616 </lookup>
1503 1617 <cluster_schema/>
1504 1618 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
... ... @@ -1841,6 +1955,12 @@
1841 1955 <default/>
1842 1956 <type>Integer</type>
1843 1957 </value>
  1958 + <value>
  1959 + <name>station_code</name>
  1960 + <rename>zdzcode</rename>
  1961 + <default/>
  1962 + <type>String</type>
  1963 + </value>
1844 1964 </lookup>
1845 1965 <cluster_schema/>
1846 1966 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
... ... @@ -1907,6 +2027,12 @@
1907 2027 <default/>
1908 2028 <type>Integer</type>
1909 2029 </value>
  2030 + <value>
  2031 + <name>station_code</name>
  2032 + <rename>qdzcode</rename>
  2033 + <default/>
  2034 + <type>String</type>
  2035 + </value>
1910 2036 </lookup>
1911 2037 <cluster_schema/>
1912 2038 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
... ... @@ -2147,6 +2273,18 @@
2147 2273 <default/>
2148 2274 <type>Integer</type>
2149 2275 </value>
  2276 + <value>
  2277 + <name>station_code</name>
  2278 + <rename>qdzcode</rename>
  2279 + <default/>
  2280 + <type>String</type>
  2281 + </value>
  2282 + <value>
  2283 + <name>station_name</name>
  2284 + <rename>qname</rename>
  2285 + <default/>
  2286 + <type>String</type>
  2287 + </value>
2150 2288 </lookup>
2151 2289 <cluster_schema/>
2152 2290 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
... ...