Commit 9546557304b17c129855993cb112a99ebc39d1e0

Authored by 潘钊
2 parents 3bddd74e d343d965

update...

src/main/java/com/bsth/controller/oil/DlbController.java
@@ -21,6 +21,7 @@ import com.bsth.controller.BaseController; @@ -21,6 +21,7 @@ import com.bsth.controller.BaseController;
21 import com.bsth.entity.oil.Dlb; 21 import com.bsth.entity.oil.Dlb;
22 import com.bsth.entity.oil.Ylb; 22 import com.bsth.entity.oil.Ylb;
23 import com.bsth.service.oil.DlbService; 23 import com.bsth.service.oil.DlbService;
  24 +import com.bsth.util.Arith;
24 import com.bsth.util.ReportUtils; 25 import com.bsth.util.ReportUtils;
25 import com.google.common.base.Splitter; 26 import com.google.common.base.Splitter;
26 27
@@ -164,10 +165,10 @@ public class DlbController extends BaseController<Dlb, Integer>{ @@ -164,10 +165,10 @@ public class DlbController extends BaseController<Dlb, Integer>{
164 String shyy ="无"; 165 String shyy ="无";
165 if(y.getShyy()!=null){ 166 if(y.getShyy()!=null){
166 shyy=y.getShyy(); 167 shyy=y.getShyy();
167 - if(shyy.equals("1")){shyy="票务用油";}  
168 - else if(shyy.equals("2")){shyy="保养用油";}  
169 - else if(shyy.equals("3")){shyy="报废车用油";}  
170 - else if(shyy.equals("4")){shyy="其它用油";} 168 + if(shyy.equals("1")){shyy="票务用电";}
  169 + else if(shyy.equals("2")){shyy="保养用电";}
  170 + else if(shyy.equals("3")){shyy="报废车用电";}
  171 + else if(shyy.equals("4")){shyy="其它用电";}
171 else if(shyy.equals("5")){shyy="人保部";} 172 else if(shyy.equals("5")){shyy="人保部";}
172 else if(shyy.equals("6")){shyy="车队";} 173 else if(shyy.equals("6")){shyy="车队";}
173 else if(shyy.equals("7")){shyy="车间(高保)";} 174 else if(shyy.equals("7")){shyy="车间(高保)";}
@@ -180,6 +181,7 @@ public class DlbController extends BaseController<Dlb, Integer>{ @@ -180,6 +181,7 @@ public class DlbController extends BaseController<Dlb, Integer>{
180 m.put("zlc", y.getZlc()<=0?"0":y.getZlc()); 181 m.put("zlc", y.getZlc()<=0?"0":y.getZlc());
181 m.put("rdlx", ""); 182 m.put("rdlx", "");
182 m.put("bglyh", y.getBglyh()); 183 m.put("bglyh", y.getBglyh());
  184 + m.put("zdh", Arith.add(y.getSh(), y.getHd()));
183 resList.add(m); 185 resList.add(m);
184 } 186 }
185 try { 187 try {
src/main/java/com/bsth/controller/oil/YlbController.java
@@ -27,6 +27,7 @@ import com.bsth.entity.oil.Ylb; @@ -27,6 +27,7 @@ import com.bsth.entity.oil.Ylb;
27 import com.bsth.entity.sys.SysUser; 27 import com.bsth.entity.sys.SysUser;
28 import com.bsth.security.util.SecurityUtils; 28 import com.bsth.security.util.SecurityUtils;
29 import com.bsth.service.oil.YlbService; 29 import com.bsth.service.oil.YlbService;
  30 +import com.bsth.util.Arith;
30 import com.bsth.util.ReportUtils; 31 import com.bsth.util.ReportUtils;
31 import com.google.common.base.Splitter; 32 import com.google.common.base.Splitter;
32 33
@@ -273,6 +274,7 @@ public class YlbController extends BaseController&lt;Ylb, Integer&gt;{ @@ -273,6 +274,7 @@ public class YlbController extends BaseController&lt;Ylb, Integer&gt;{
273 m.put("sh", y.getSh()<=0?"0":y.getSh()); 274 m.put("sh", y.getSh()<=0?"0":y.getSh());
274 m.put("zlc", y.getZlc()<=0?"0":y.getZlc()); 275 m.put("zlc", y.getZlc()<=0?"0":y.getZlc());
275 m.put("bglyh", y.getBglyh()); 276 m.put("bglyh", y.getBglyh());
  277 + m.put("zyh", Arith.add(y.getSh(), y.getYh()));
276 resList.add(m); 278 resList.add(m);
277 } 279 }
278 try { 280 try {
src/main/java/com/bsth/data/gpsdata_v2/DataHandleProcess.java
1 -package com.bsth.data.gpsdata_v2;  
2 -  
3 -import com.bsth.data.gpsdata_v2.cache.GpsCacheData;  
4 -import com.bsth.data.gpsdata_v2.entity.GpsEntity;  
5 -import com.bsth.data.gpsdata_v2.handlers.*;  
6 -import com.google.common.collect.ArrayListMultimap;  
7 -import org.slf4j.Logger;  
8 -import org.slf4j.LoggerFactory;  
9 -import org.springframework.beans.factory.annotation.Autowired;  
10 -import org.springframework.stereotype.Component;  
11 -  
12 -import java.util.ArrayList;  
13 -import java.util.List;  
14 -import java.util.Set;  
15 -import java.util.concurrent.CountDownLatch;  
16 -import java.util.concurrent.ExecutorService;  
17 -import java.util.concurrent.Executors;  
18 -import java.util.concurrent.ThreadFactory;  
19 -  
20 -/**  
21 - * 实时信号数据处理  
22 - * Created by panzhao on 2017/11/15.  
23 - */  
24 -@Component  
25 -public class DataHandleProcess {  
26 -  
27 - static Logger logger = LoggerFactory.getLogger(DataHandleProcess.class);  
28 - final static int POOL_SIZE = 25;  
29 -  
30 - static ExecutorService threadPool = Executors.newFixedThreadPool(POOL_SIZE + 1, new HandlerThreadFactory());  
31 - public static CountDownLatch count;  
32 -  
33 - @Autowired  
34 - GpsStateProcess gpsStateProcess;  
35 - @Autowired  
36 - StationInsideProcess stationInsideProcess;  
37 - @Autowired  
38 - AbnormalStateProcess abnormalStateProcess;  
39 - @Autowired  
40 - InStationProcess inStationProcess;  
41 - @Autowired  
42 - OutStationProcess outStationProcess;  
43 - @Autowired  
44 - ReverseRouteProcess reverseRouteProcess;  
45 -  
46 - @Autowired  
47 - GpsRealData gpsRealData;  
48 -  
49 - public void handle(List<GpsEntity> list) {  
50 - try {  
51 - //按设备号分组数据(一个设备的多条数据,必须在一个线程里跑)  
52 - ArrayListMultimap multimap = ArrayListMultimap.create();  
53 - for (GpsEntity gps : list) {  
54 - multimap.put(gps.getDeviceId(), gps);  
55 - }  
56 - List<String> deviceList = new ArrayList<>(multimap.keySet());  
57 -  
58 - //数据均分给线程  
59 - ArrayListMultimap dataListMap = ArrayListMultimap.create();  
60 - int size = deviceList.size(), threadIndex = 0, threadSize = size / POOL_SIZE;  
61 - for (int i = 0; i < size; i++) {  
62 - if (i % threadSize == 0)  
63 - threadIndex++;  
64 - dataListMap.putAll(threadIndex, multimap.get(deviceList.get(i)));  
65 - }  
66 - Set<Integer> ks = dataListMap.keySet();  
67 - logger.info("analyse gps size: " + list.size() + ", ks: " + ks.size());  
68 - count = new CountDownLatch(ks.size());  
69 -  
70 - for (Integer index : ks) {  
71 - threadPool.execute(new SignalHandleThread(dataListMap.get(index), count));  
72 - }  
73 -  
74 - //等待子线程结束  
75 - count.await();  
76 -  
77 - //加入实时gps对照  
78 - for (GpsEntity gps : list)  
79 - gpsRealData.put(gps);  
80 - } catch (Exception e) {  
81 - logger.error("", e);  
82 - }  
83 - }  
84 -  
85 - public class SignalHandleThread implements Runnable {  
86 -  
87 - List<GpsEntity> list;  
88 - CountDownLatch count;  
89 -  
90 - SignalHandleThread(List<GpsEntity> gpsList, CountDownLatch count) {  
91 - this.list = gpsList;  
92 - this.count = count;  
93 - }  
94 -  
95 - @Override  
96 - public void run() {  
97 - try {  
98 - for (GpsEntity gps : list) {  
99 - try{  
100 - if(Math.abs(gps.getTimestamp() - gps.getServerTimestamp()) > 1000 * 60 * 20)  
101 - continue;  
102 -  
103 - gpsStateProcess.process(gps);//状态处理  
104 - stationInsideProcess.process(gps);//场站内外判定  
105 - reverseRouteProcess.process(gps);//反向路由处理  
106 - abnormalStateProcess.process(gps);//超速越界  
107 -  
108 - inStationProcess.process(gps);//进站  
109 - outStationProcess.process(gps);//出站  
110 -  
111 - GpsCacheData.putGps(gps);//历史gps缓存  
112 - }catch (Exception e){  
113 - logger.error("", e);  
114 - }  
115 - }  
116 - } finally {  
117 - if (count != null)  
118 - count.countDown();  
119 - }  
120 - }  
121 - }  
122 -  
123 - static class MyUncaughtExceptionHandler implements Thread.UncaughtExceptionHandler {  
124 - @Override  
125 - public void uncaughtException(Thread t, Throwable e) {  
126 - logger.error("caught " , e);  
127 - }  
128 - }  
129 -  
130 - static class HandlerThreadFactory implements ThreadFactory {  
131 - @Override  
132 - public Thread newThread(Runnable r) {  
133 - Thread t = new Thread(r);  
134 - t.setUncaughtExceptionHandler(new MyUncaughtExceptionHandler());  
135 - return t;  
136 - }  
137 - } 1 +package com.bsth.data.gpsdata_v2;
  2 +
  3 +import com.bsth.data.gpsdata_v2.cache.GpsCacheData;
  4 +import com.bsth.data.gpsdata_v2.entity.GpsEntity;
  5 +import com.bsth.data.gpsdata_v2.handlers.*;
  6 +import com.google.common.collect.ArrayListMultimap;
  7 +import org.slf4j.Logger;
  8 +import org.slf4j.LoggerFactory;
  9 +import org.springframework.beans.factory.annotation.Autowired;
  10 +import org.springframework.stereotype.Component;
  11 +
  12 +import java.util.ArrayList;
  13 +import java.util.List;
  14 +import java.util.Set;
  15 +import java.util.concurrent.CountDownLatch;
  16 +import java.util.concurrent.ExecutorService;
  17 +import java.util.concurrent.Executors;
  18 +import java.util.concurrent.ThreadFactory;
  19 +
  20 +/**
  21 + * 实时信号数据处理
  22 + * Created by panzhao on 2017/11/15.
  23 + */
  24 +@Component
  25 +public class DataHandleProcess {
  26 +
  27 + static Logger logger = LoggerFactory.getLogger(DataHandleProcess.class);
  28 + final static int POOL_SIZE = 25;
  29 +
  30 + static ExecutorService threadPool = Executors.newFixedThreadPool(POOL_SIZE + 1, new HandlerThreadFactory());
  31 + public static CountDownLatch count;
  32 +
  33 + @Autowired
  34 + GpsStateProcess gpsStateProcess;
  35 + @Autowired
  36 + StationInsideProcess stationInsideProcess;
  37 + @Autowired
  38 + AbnormalStateProcess abnormalStateProcess;
  39 + @Autowired
  40 + InStationProcess inStationProcess;
  41 + @Autowired
  42 + OutStationProcess outStationProcess;
  43 + @Autowired
  44 + ReverseRouteProcess reverseRouteProcess;
  45 +
  46 + @Autowired
  47 + GpsRealData gpsRealData;
  48 +
  49 + public void handle(List<GpsEntity> list) {
  50 + try {
  51 + //按设备号分组数据(一个设备的多条数据,必须在一个线程里跑)
  52 + ArrayListMultimap multimap = ArrayListMultimap.create();
  53 + for (GpsEntity gps : list) {
  54 + multimap.put(gps.getDeviceId(), gps);
  55 + }
  56 + List<String> deviceList = new ArrayList<>(multimap.keySet());
  57 +
  58 + //数据均分给线程
  59 + ArrayListMultimap dataListMap = ArrayListMultimap.create();
  60 + int size = deviceList.size(), threadIndex = 0, threadSize = size / POOL_SIZE;
  61 + for (int i = 0; i < size; i++) {
  62 + if (i % threadSize == 0)
  63 + threadIndex++;
  64 + dataListMap.putAll(threadIndex, multimap.get(deviceList.get(i)));
  65 + }
  66 + Set<Integer> ks = dataListMap.keySet();
  67 + logger.info("analyse gps size: " + list.size() + ", ks: " + ks.size());
  68 + count = new CountDownLatch(ks.size());
  69 +
  70 + for (Integer index : ks) {
  71 + threadPool.execute(new SignalHandleThread(dataListMap.get(index), count));
  72 + }
  73 +
  74 + //等待子线程结束
  75 + count.await();
  76 +
  77 + //加入实时gps对照
  78 + for (GpsEntity gps : list)
  79 + gpsRealData.put(gps);
  80 + } catch (Exception e) {
  81 + logger.error("", e);
  82 + }
  83 + }
  84 +
  85 + public class SignalHandleThread implements Runnable {
  86 +
  87 + List<GpsEntity> list;
  88 + CountDownLatch count;
  89 +
  90 + SignalHandleThread(List<GpsEntity> gpsList, CountDownLatch count) {
  91 + this.list = gpsList;
  92 + this.count = count;
  93 + }
  94 +
  95 + @Override
  96 + public void run() {
  97 + try {
  98 + for (GpsEntity gps : list) {
  99 + try{
  100 + if(Math.abs(gps.getTimestamp() - gps.getServerTimestamp()) > 1000 * 60 * 20)
  101 + continue;
  102 +
  103 + gpsStateProcess.process(gps);//状态处理
  104 + stationInsideProcess.process(gps);//场站内外判定
  105 + reverseRouteProcess.process(gps);//反向路由处理
  106 + abnormalStateProcess.process(gps);//超速越界
  107 +
  108 + inStationProcess.process(gps);//进站
  109 + outStationProcess.process(gps);//出站
  110 +
  111 + GpsCacheData.putGps(gps);//历史gps缓存
  112 + }catch (Exception e){
  113 + logger.error("", e);
  114 + }
  115 + }
  116 + } finally {
  117 + if (count != null)
  118 + count.countDown();
  119 + }
  120 + }
  121 + }
  122 +
  123 + static class MyUncaughtExceptionHandler implements Thread.UncaughtExceptionHandler {
  124 + @Override
  125 + public void uncaughtException(Thread t, Throwable e) {
  126 + logger.error("caught " , e);
  127 + }
  128 + }
  129 +
  130 + static class HandlerThreadFactory implements ThreadFactory {
  131 + @Override
  132 + public Thread newThread(Runnable r) {
  133 + Thread t = new Thread(r);
  134 + t.setUncaughtExceptionHandler(new MyUncaughtExceptionHandler());
  135 + return t;
  136 + }
  137 + }
138 } 138 }
139 \ No newline at end of file 139 \ No newline at end of file
src/main/java/com/bsth/data/gpsdata_v2/cache/GeoCacheData.java
1 -package com.bsth.data.gpsdata_v2.cache;  
2 -  
3 -import com.bsth.data.gpsdata_v2.entity.CtLineString;  
4 -import com.bsth.data.gpsdata_v2.entity.GpsEntity;  
5 -import com.bsth.data.gpsdata_v2.entity.PreconditionGeo;  
6 -import com.bsth.data.gpsdata_v2.entity.StationRoute;  
7 -import com.bsth.data.gpsdata_v2.utils.StationRouteComp;  
8 -import com.bsth.util.Geo.Point;  
9 -import com.bsth.util.Geo.Polygon;  
10 -import com.google.common.base.Splitter;  
11 -import com.google.common.collect.ArrayListMultimap;  
12 -import org.apache.commons.lang3.StringUtils;  
13 -import org.slf4j.Logger;  
14 -import org.slf4j.LoggerFactory;  
15 -import org.springframework.beans.factory.annotation.Autowired;  
16 -import org.springframework.jdbc.core.BeanPropertyRowMapper;  
17 -import org.springframework.jdbc.core.JdbcTemplate;  
18 -import org.springframework.jdbc.core.RowMapper;  
19 -import org.springframework.stereotype.Component;  
20 -  
21 -import java.sql.ResultSet;  
22 -import java.sql.SQLException;  
23 -import java.util.*;  
24 -  
25 -/**  
26 - * 空间数据缓存  
27 - * Created by panzhao on 2017/11/15.  
28 - */  
29 -@Component  
30 -public class GeoCacheData {  
31 -  
32 - static Logger logger = LoggerFactory.getLogger(GeoCacheData.class);  
33 -  
34 - /**  
35 - * 线路路段走向  
36 - */  
37 - private static ArrayListMultimap<String, CtLineString> sectionCacheMap;  
38 - /**  
39 - * 路段编码和名称对照  
40 - */  
41 - private static Map<String, String> sectionCode2Name;  
42 - /**  
43 - * 线路站点路由  
44 - */  
45 - private static ArrayListMultimap<String, StationRoute> stationCacheMap;  
46 - /**  
47 - * 线路前置进站围栏  
48 - */  
49 - public static ArrayListMultimap<String, PreconditionGeo> premiseGeoMap;  
50 - /**  
51 - * 线路_上下行_站点编码 ——> 站点  
52 - */  
53 - private static Map<String, StationRoute> routeCodeMap;  
54 - /**  
55 - * 停车场  
56 - */  
57 - public static Map<String, Polygon> tccMap;  
58 - /**  
59 - * 线路限速信息  
60 - */  
61 - private static Map<String, Double> speedLimitMap;  
62 -  
63 - @Autowired  
64 - JdbcTemplate jdbcTemplate;  
65 -  
66 - public void loadData() {  
67 - loadStationRoutesData();  
68 - loadTccMapData();  
69 - loadSpeedLimit();  
70 -  
71 - //加载路段信息  
72 - loadRoadsData();  
73 -  
74 - //加载前置进站围栏  
75 - loadPremiseGeoData();  
76 - }  
77 -  
78 - public static List<StationRoute> getStationRoute(String lineCode, int directions) {  
79 - return stationCacheMap.get(lineCode + "_" + directions);  
80 - }  
81 -  
82 - public static StationRoute getRouteCode(GpsEntity gps) {  
83 - return routeCodeMap.get(gps.getLineId() + "_" + gps.getUpDown() + "_" + gps.getStopNo());  
84 - }  
85 -  
86 - public static Double speedLimit(String lineCode){  
87 - return speedLimitMap.get(lineCode);  
88 - }  
89 -  
90 - public static List<CtLineString> getLineStringList(GpsEntity gps){  
91 - return sectionCacheMap.get(gps.getLineId() + "_" + gps.getUpDown());  
92 - }  
93 -  
94 - private void loadStationRoutesData(){  
95 - String sql = "select r.LINE_CODE,r.DIRECTIONS,r.STATION_CODE,r.STATION_MARK,s.SHAPES_TYPE,s.G_LONX,s.G_LATY,ST_AsText(s.G_POLYGON_GRID) as G_POLYGON_GRID,s.RADIUS, r.STATION_ROUTE_CODE,s.STATION_NAME from bsth_c_stationroute r left join bsth_c_station s on r.station=s.id where r.destroy=0 order by r.station_route_code";  
96 - List<StationRoute> routeList = jdbcTemplate.query(sql, new RowMapper<StationRoute>() {  
97 -  
98 - @Override  
99 - public StationRoute mapRow(ResultSet rs, int rowNum) throws SQLException {  
100 - StationRoute sRoute = new StationRoute();  
101 - sRoute.setCode(rs.getString("STATION_CODE"));  
102 - sRoute.setLineCode(rs.getString("LINE_CODE"));  
103 - sRoute.setDirections(rs.getInt("DIRECTIONS"));  
104 - sRoute.setPoint(new Point(rs.getFloat("G_LONX"), rs.getFloat("G_LATY")));  
105 - sRoute.setRadius(rs.getFloat("RADIUS"));  
106 - sRoute.setRouteSort(rs.getInt("STATION_ROUTE_CODE"));  
107 - sRoute.setMark(rs.getString("STATION_MARK"));  
108 - sRoute.setName(rs.getString("STATION_NAME"));  
109 -  
110 - String shapesType = rs.getString("SHAPES_TYPE");  
111 - //多边形电子围栏  
112 - if (StringUtils.isNotEmpty(shapesType) && shapesType.equals("d"))  
113 - sRoute.setPolygon(parsePolygon(rs.getString("G_POLYGON_GRID")));  
114 - return sRoute;  
115 - }  
116 - });  
117 -  
118 - //按线路和走向分组  
119 - if (routeList.size() > 0) {  
120 - ArrayListMultimap<String, StationRoute> tempMap = ArrayListMultimap.create();  
121 - Map<String, StationRoute> codeMap = new HashMap<>(routeList.size());  
122 - for (StationRoute sr : routeList) {  
123 - tempMap.put(sr.getLineCode() + "_" + sr.getDirections(), sr);  
124 - //站点编码 ——> 和路由顺序对照  
125 - codeMap.put(sr.getLineCode() + "_" + sr.getDirections() + "_" + sr.getCode(), sr);  
126 - }  
127 -  
128 - StationRouteComp srCom = new StationRouteComp();  
129 - //连接路由  
130 - Set<String> set = tempMap.keySet();  
131 - for (String key : set) {  
132 - Collections.sort(tempMap.get(key), srCom);  
133 - connectStationRoute(tempMap.get(key));  
134 - }  
135 - stationCacheMap = tempMap;  
136 - routeCodeMap = codeMap;  
137 - }  
138 - }  
139 -  
140 - private void loadTccMapData(){  
141 - //加载停车场数据  
142 - String sql = "select PARK_CODE, ST_AsText(G_PARK_POINT) as G_PARK_POINT from bsth_c_car_park where park_code is not null and b_park_point is not null";  
143 - List<Map<String, Object>> tccList = jdbcTemplate.queryForList(sql);  
144 - Map<String, Polygon> tccTempMap = new HashMap<>();  
145 -  
146 - Polygon polygon;  
147 - for (Map<String, Object> tMap : tccList) {  
148 -  
149 - try {  
150 - polygon = parsePolygon(tMap.get("G_PARK_POINT").toString());  
151 - tccTempMap.put(tMap.get("PARK_CODE").toString()  
152 - , polygon);  
153 - } catch (Exception e) {  
154 - logger.error("停车场:" + tMap.get("PARK_CODE"), e);  
155 - }  
156 - }  
157 - if (tccTempMap.size() > 0){  
158 - tccMap = tccTempMap;  
159 - }  
160 - }  
161 -  
162 - private void loadSpeedLimit(){  
163 - //加载线路限速信息  
164 - String sql = "select l.LINE_CODE,i.SPEEDING from bsth_c_line_information i left join bsth_c_line l on i.line=l.id where i.speed_limit is not null";  
165 - List<Map<String, Object>> speedMap = jdbcTemplate.queryForList(sql);  
166 - Map<String, Double> speedTempMap = new HashMap<>();  
167 - for (Map<String, Object> tMap : speedMap) {  
168 - try {  
169 - speedTempMap.put(tMap.get("LINE_CODE").toString(), Double.parseDouble(tMap.get("SPEEDING").toString()));  
170 - } catch (NumberFormatException e) {  
171 - logger.error("speeding is null...");  
172 - }  
173 - }  
174 - speedLimitMap = speedTempMap;  
175 - }  
176 -  
177 - private void loadRoadsData() {  
178 - //加载线路下路段空间数据  
179 - String sql = "select r.LINE_CODE,r.SECTION_CODE,r.SECTIONROUTE_CODE,s.SECTION_NAME,ST_AsText(s.GSECTION_VECTOR) as GSECTION_VECTOR, r.DIRECTIONS, s.CROSES_ROAD from bsth_c_sectionroute r INNER JOIN bsth_c_section s on r.section=s.id where r.destroy=0 and GSECTION_VECTOR is not null order by line_code,directions,sectionroute_code";  
180 - List<Map<String, Object>> secList = jdbcTemplate.queryForList(sql);  
181 -  
182 - String polygonStr, key;  
183 - String[] coords;  
184 - int i, len;  
185 - ArrayListMultimap<String, CtLineString> sectionCacheTempMap = ArrayListMultimap.create();  
186 - String[] temps1, temps2;  
187 - CtLineString lineString;  
188 - for (Map<String, Object> tMap : secList) {  
189 - //空间数据映射  
190 - polygonStr = tMap.get("GSECTION_VECTOR").toString();  
191 - key = tMap.get("LINE_CODE") + "_" + tMap.get("DIRECTIONS");  
192 -  
193 - coords = polygonStr.substring(11, polygonStr.length() - 1).split(",");  
194 - len = coords.length - 1;  
195 - //每2个点连一条线  
196 - for(i = 0; i < len; i ++){  
197 - temps1 = coords[i].split(" ");  
198 - temps2 = coords[i + 1].split(" ");  
199 -  
200 - lineString = new CtLineString();  
201 - lineString.setS(new Point(Float.parseFloat(temps1[0]), Float.parseFloat(temps1[1])));  
202 - lineString.setE(new Point(Float.parseFloat(temps2[0]), Float.parseFloat(temps2[1])));  
203 -  
204 - sectionCacheTempMap.put(key, lineString);  
205 - }  
206 - }  
207 -  
208 - if(sectionCacheTempMap.size() > 0)  
209 - sectionCacheMap = sectionCacheTempMap;  
210 -  
211 - Map<String, String> sectionCode2NameTemp = new HashMap<>();  
212 -  
213 - //加载全量路段编码和名称对照  
214 - sql = "select SECTION_CODE,SECTION_NAME,CROSES_ROAD from bsth_c_section";  
215 - secList = jdbcTemplate.queryForList(sql);  
216 - String name = null, code;  
217 - for (Map<String, Object> tMap : secList) {  
218 - if(tMap.get("CROSES_ROAD") != null && StringUtils.isNotEmpty(tMap.get("CROSES_ROAD").toString()))  
219 - name = tMap.get("CROSES_ROAD").toString();  
220 - else if(tMap.get("SECTION_NAME") != null && StringUtils.isNotEmpty(tMap.get("SECTION_NAME").toString()))  
221 - name = tMap.get("SECTION_NAME").toString();  
222 -  
223 - code = tMap.get("SECTION_CODE").toString();  
224 - sectionCode2NameTemp.put(code, name);  
225 - }  
226 - if(sectionCode2NameTemp.size() > 0)  
227 - sectionCode2Name = sectionCode2NameTemp;  
228 - }  
229 -  
230 - private void loadPremiseGeoData() {  
231 - ArrayListMultimap<String, PreconditionGeo> premiseGeoMapCopy = ArrayListMultimap.create();  
232 -  
233 - String sql = "select * from bsth_f_geo_premise";  
234 - List<PreconditionGeo> list = jdbcTemplate.query(sql, BeanPropertyRowMapper.newInstance(PreconditionGeo.class));  
235 -  
236 - List<String> coordList;  
237 - String[] cs;  
238 - Point point;  
239 - List<Point> ps;  
240 - StationRoute sr;  
241 - for(PreconditionGeo p : list){  
242 - try{  
243 - sr = routeCodeMap.get(p.getLineCode()+"_"+p.getUpDown()+"_"+p.getStationCode());  
244 - p.setOrder(sr.getRouteSort());  
245 - //polygon  
246 - ps = new ArrayList<>();  
247 - coordList = Splitter.on(",").trimResults().splitToList(p.getCoords());  
248 - for(String c : coordList){  
249 - cs = c.split(" ");  
250 - point = new Point(Double.parseDouble(cs[0]), Double.parseDouble(cs[1]));  
251 - ps.add(point);  
252 - }  
253 -  
254 - p.setPolygon(new Polygon(ps));  
255 -  
256 - sr.setPremise(true);  
257 - //按线路,走向分组  
258 - premiseGeoMapCopy.put(p.getLineCode()+"_"+p.getUpDown(), p);  
259 - }catch (Exception e){  
260 - logger.error("", e);  
261 - }  
262 - }  
263 -  
264 - //排序  
265 - Set<String> ks = premiseGeoMapCopy.keySet();  
266 - PreconditionGeoComp comp = new PreconditionGeoComp();  
267 - for(String k : ks){  
268 - Collections.sort(premiseGeoMapCopy.get(k), comp);  
269 - }  
270 -  
271 - premiseGeoMap = premiseGeoMapCopy;  
272 - }  
273 -  
274 - public Polygon parsePolygon(String polygonStr) {  
275 - String[] coords = polygonStr.substring(9, polygonStr.length() - 2).split(","), temps;  
276 -  
277 - List<Point> cds = new ArrayList<>(coords.length);  
278 - int len = coords.length;  
279 - for (int i = 0; i < len; i++) {  
280 - temps = coords[i].split(" ");  
281 - cds.add(new Point(Float.parseFloat(temps[0]), Float.parseFloat(temps[1])));  
282 - }  
283 - return new Polygon(cds);  
284 - }  
285 -  
286 - private void connectStationRoute(List<StationRoute> list) {  
287 - int size = list.size();  
288 - StationRoute sr = null;  
289 - for (int i = 0; i < size; i++) {  
290 - sr = list.get(i);  
291 - //上一个  
292 - if (i > 0)  
293 - sr.setPrve(list.get(i - 1));  
294 - //下一个  
295 - if (i < size - 1)  
296 - sr.setNext(list.get(i + 1));  
297 - }  
298 - }  
299 -  
300 - /**  
301 - * 是否是环线  
302 - * @param lineId  
303 - * @return  
304 - */  
305 - public static boolean isLoopLine(String lineId) {  
306 - List<StationRoute> srs = getStationRoute(lineId , 0);  
307 - if(srs.get(0).getName().equals(srs.get(srs.size()- 1).getName())  
308 - && getStationRoute(lineId , 1).size()==2)  
309 - return true;  
310 - return false;  
311 - }  
312 -  
313 - private static class PreconditionGeoComp implements Comparator<PreconditionGeo>{  
314 -  
315 - @Override  
316 - public int compare(PreconditionGeo p1, PreconditionGeo p2) {  
317 - return p1.getOrder() - p2.getOrder();  
318 - }  
319 - }  
320 -  
321 - public static Map<String, String> sectionCode2NameMap(){  
322 - return sectionCode2Name;  
323 - } 1 +package com.bsth.data.gpsdata_v2.cache;
  2 +
  3 +import com.bsth.data.gpsdata_v2.entity.CtLineString;
  4 +import com.bsth.data.gpsdata_v2.entity.GpsEntity;
  5 +import com.bsth.data.gpsdata_v2.entity.PreconditionGeo;
  6 +import com.bsth.data.gpsdata_v2.entity.StationRoute;
  7 +import com.bsth.data.gpsdata_v2.utils.StationRouteComp;
  8 +import com.bsth.util.Geo.Point;
  9 +import com.bsth.util.Geo.Polygon;
  10 +import com.google.common.base.Splitter;
  11 +import com.google.common.collect.ArrayListMultimap;
  12 +import org.apache.commons.lang3.StringUtils;
  13 +import org.slf4j.Logger;
  14 +import org.slf4j.LoggerFactory;
  15 +import org.springframework.beans.factory.annotation.Autowired;
  16 +import org.springframework.jdbc.core.BeanPropertyRowMapper;
  17 +import org.springframework.jdbc.core.JdbcTemplate;
  18 +import org.springframework.jdbc.core.RowMapper;
  19 +import org.springframework.stereotype.Component;
  20 +
  21 +import java.sql.ResultSet;
  22 +import java.sql.SQLException;
  23 +import java.util.*;
  24 +
  25 +/**
  26 + * 空间数据缓存
  27 + * Created by panzhao on 2017/11/15.
  28 + */
  29 +@Component
  30 +public class GeoCacheData {
  31 +
  32 + static Logger logger = LoggerFactory.getLogger(GeoCacheData.class);
  33 +
  34 + /**
  35 + * 线路路段走向
  36 + */
  37 + private static ArrayListMultimap<String, CtLineString> sectionCacheMap;
  38 + /**
  39 + * 路段编码和名称对照
  40 + */
  41 + private static Map<String, String> sectionCode2Name;
  42 + /**
  43 + * 线路站点路由
  44 + */
  45 + private static ArrayListMultimap<String, StationRoute> stationCacheMap;
  46 + /**
  47 + * 线路前置进站围栏
  48 + */
  49 + public static ArrayListMultimap<String, PreconditionGeo> premiseGeoMap;
  50 + /**
  51 + * 线路_上下行_站点编码 ——> 站点
  52 + */
  53 + private static Map<String, StationRoute> routeCodeMap;
  54 + /**
  55 + * 停车场
  56 + */
  57 + public static Map<String, Polygon> tccMap;
  58 + /**
  59 + * 线路限速信息
  60 + */
  61 + private static Map<String, Double> speedLimitMap;
  62 +
  63 + @Autowired
  64 + JdbcTemplate jdbcTemplate;
  65 +
  66 + public void loadData() {
  67 + loadStationRoutesData();
  68 + loadTccMapData();
  69 + loadSpeedLimit();
  70 +
  71 + //加载路段信息
  72 + loadRoadsData();
  73 +
  74 + //加载前置进站围栏
  75 + loadPremiseGeoData();
  76 + }
  77 +
  78 + public static List<StationRoute> getStationRoute(String lineCode, int directions) {
  79 + return stationCacheMap.get(lineCode + "_" + directions);
  80 + }
  81 +
  82 + public static StationRoute getRouteCode(GpsEntity gps) {
  83 + return routeCodeMap.get(gps.getLineId() + "_" + gps.getUpDown() + "_" + gps.getStopNo());
  84 + }
  85 +
  86 + public static Double speedLimit(String lineCode){
  87 + return speedLimitMap.get(lineCode);
  88 + }
  89 +
  90 + public static List<CtLineString> getLineStringList(GpsEntity gps){
  91 + return sectionCacheMap.get(gps.getLineId() + "_" + gps.getUpDown());
  92 + }
  93 +
  94 + private void loadStationRoutesData(){
  95 + String sql = "select r.LINE_CODE,r.DIRECTIONS,r.STATION_CODE,r.STATION_MARK,s.SHAPES_TYPE,s.G_LONX,s.G_LATY,ST_AsText(s.G_POLYGON_GRID) as G_POLYGON_GRID,s.RADIUS, r.STATION_ROUTE_CODE,s.STATION_NAME from bsth_c_stationroute r left join bsth_c_station s on r.station=s.id where r.destroy=0 order by r.station_route_code";
  96 + List<StationRoute> routeList = jdbcTemplate.query(sql, new RowMapper<StationRoute>() {
  97 +
  98 + @Override
  99 + public StationRoute mapRow(ResultSet rs, int rowNum) throws SQLException {
  100 + StationRoute sRoute = new StationRoute();
  101 + sRoute.setCode(rs.getString("STATION_CODE"));
  102 + sRoute.setLineCode(rs.getString("LINE_CODE"));
  103 + sRoute.setDirections(rs.getInt("DIRECTIONS"));
  104 + sRoute.setPoint(new Point(rs.getFloat("G_LONX"), rs.getFloat("G_LATY")));
  105 + sRoute.setRadius(rs.getFloat("RADIUS"));
  106 + sRoute.setRouteSort(rs.getInt("STATION_ROUTE_CODE"));
  107 + sRoute.setMark(rs.getString("STATION_MARK"));
  108 + sRoute.setName(rs.getString("STATION_NAME"));
  109 +
  110 + String shapesType = rs.getString("SHAPES_TYPE");
  111 + //多边形电子围栏
  112 + if (StringUtils.isNotEmpty(shapesType) && shapesType.equals("d"))
  113 + sRoute.setPolygon(parsePolygon(rs.getString("G_POLYGON_GRID")));
  114 + return sRoute;
  115 + }
  116 + });
  117 +
  118 + //按线路和走向分组
  119 + if (routeList.size() > 0) {
  120 + ArrayListMultimap<String, StationRoute> tempMap = ArrayListMultimap.create();
  121 + Map<String, StationRoute> codeMap = new HashMap<>(routeList.size());
  122 + for (StationRoute sr : routeList) {
  123 + tempMap.put(sr.getLineCode() + "_" + sr.getDirections(), sr);
  124 + //站点编码 ——> 和路由顺序对照
  125 + codeMap.put(sr.getLineCode() + "_" + sr.getDirections() + "_" + sr.getCode(), sr);
  126 + }
  127 +
  128 + StationRouteComp srCom = new StationRouteComp();
  129 + //连接路由
  130 + Set<String> set = tempMap.keySet();
  131 + for (String key : set) {
  132 + Collections.sort(tempMap.get(key), srCom);
  133 + connectStationRoute(tempMap.get(key));
  134 + }
  135 + stationCacheMap = tempMap;
  136 + routeCodeMap = codeMap;
  137 + }
  138 + }
  139 +
  140 + private void loadTccMapData(){
  141 + //加载停车场数据
  142 + String sql = "select PARK_CODE, ST_AsText(G_PARK_POINT) as G_PARK_POINT from bsth_c_car_park where park_code is not null and b_park_point is not null";
  143 + List<Map<String, Object>> tccList = jdbcTemplate.queryForList(sql);
  144 + Map<String, Polygon> tccTempMap = new HashMap<>();
  145 +
  146 + Polygon polygon;
  147 + for (Map<String, Object> tMap : tccList) {
  148 +
  149 + try {
  150 + polygon = parsePolygon(tMap.get("G_PARK_POINT").toString());
  151 + tccTempMap.put(tMap.get("PARK_CODE").toString()
  152 + , polygon);
  153 + } catch (Exception e) {
  154 + logger.error("停车场:" + tMap.get("PARK_CODE"), e);
  155 + }
  156 + }
  157 + if (tccTempMap.size() > 0){
  158 + tccMap = tccTempMap;
  159 + }
  160 + }
  161 +
  162 + private void loadSpeedLimit(){
  163 + //加载线路限速信息
  164 + String sql = "select l.LINE_CODE,i.SPEEDING from bsth_c_line_information i left join bsth_c_line l on i.line=l.id where i.speed_limit is not null";
  165 + List<Map<String, Object>> speedMap = jdbcTemplate.queryForList(sql);
  166 + Map<String, Double> speedTempMap = new HashMap<>();
  167 + for (Map<String, Object> tMap : speedMap) {
  168 + try {
  169 + speedTempMap.put(tMap.get("LINE_CODE").toString(), Double.parseDouble(tMap.get("SPEEDING").toString()));
  170 + } catch (NumberFormatException e) {
  171 + logger.error("speeding is null...");
  172 + }
  173 + }
  174 + speedLimitMap = speedTempMap;
  175 + }
  176 +
  177 + private void loadRoadsData() {
  178 + //加载线路下路段空间数据
  179 + String sql = "select r.LINE_CODE,r.SECTION_CODE,r.SECTIONROUTE_CODE,s.SECTION_NAME,ST_AsText(s.GSECTION_VECTOR) as GSECTION_VECTOR, r.DIRECTIONS, s.CROSES_ROAD from bsth_c_sectionroute r INNER JOIN bsth_c_section s on r.section=s.id where r.destroy=0 and GSECTION_VECTOR is not null order by line_code,directions,sectionroute_code";
  180 + List<Map<String, Object>> secList = jdbcTemplate.queryForList(sql);
  181 +
  182 + String polygonStr, key;
  183 + String[] coords;
  184 + int i, len;
  185 + ArrayListMultimap<String, CtLineString> sectionCacheTempMap = ArrayListMultimap.create();
  186 + String[] temps1, temps2;
  187 + CtLineString lineString;
  188 + for (Map<String, Object> tMap : secList) {
  189 + //空间数据映射
  190 + polygonStr = tMap.get("GSECTION_VECTOR").toString();
  191 + key = tMap.get("LINE_CODE") + "_" + tMap.get("DIRECTIONS");
  192 +
  193 + coords = polygonStr.substring(11, polygonStr.length() - 1).split(",");
  194 + len = coords.length - 1;
  195 + //每2个点连一条线
  196 + for(i = 0; i < len; i ++){
  197 + temps1 = coords[i].split(" ");
  198 + temps2 = coords[i + 1].split(" ");
  199 +
  200 + lineString = new CtLineString();
  201 + lineString.setS(new Point(Float.parseFloat(temps1[0]), Float.parseFloat(temps1[1])));
  202 + lineString.setE(new Point(Float.parseFloat(temps2[0]), Float.parseFloat(temps2[1])));
  203 +
  204 + sectionCacheTempMap.put(key, lineString);
  205 + }
  206 + }
  207 +
  208 + if(sectionCacheTempMap.size() > 0)
  209 + sectionCacheMap = sectionCacheTempMap;
  210 +
  211 + Map<String, String> sectionCode2NameTemp = new HashMap<>();
  212 +
  213 + //加载全量路段编码和名称对照
  214 + sql = "select SECTION_CODE,SECTION_NAME,CROSES_ROAD from bsth_c_section";
  215 + secList = jdbcTemplate.queryForList(sql);
  216 + String name = null, code;
  217 + for (Map<String, Object> tMap : secList) {
  218 + if(tMap.get("CROSES_ROAD") != null && StringUtils.isNotEmpty(tMap.get("CROSES_ROAD").toString()))
  219 + name = tMap.get("CROSES_ROAD").toString();
  220 + else if(tMap.get("SECTION_NAME") != null && StringUtils.isNotEmpty(tMap.get("SECTION_NAME").toString()))
  221 + name = tMap.get("SECTION_NAME").toString();
  222 +
  223 + code = tMap.get("SECTION_CODE").toString();
  224 + sectionCode2NameTemp.put(code, name);
  225 + }
  226 + if(sectionCode2NameTemp.size() > 0)
  227 + sectionCode2Name = sectionCode2NameTemp;
  228 + }
  229 +
  230 + private void loadPremiseGeoData() {
  231 + ArrayListMultimap<String, PreconditionGeo> premiseGeoMapCopy = ArrayListMultimap.create();
  232 +
  233 + String sql = "select * from bsth_f_geo_premise";
  234 + List<PreconditionGeo> list = jdbcTemplate.query(sql, BeanPropertyRowMapper.newInstance(PreconditionGeo.class));
  235 +
  236 + List<String> coordList;
  237 + String[] cs;
  238 + Point point;
  239 + List<Point> ps;
  240 + StationRoute sr;
  241 + for(PreconditionGeo p : list){
  242 + try{
  243 + sr = routeCodeMap.get(p.getLineCode()+"_"+p.getUpDown()+"_"+p.getStationCode());
  244 + p.setOrder(sr.getRouteSort());
  245 + //polygon
  246 + ps = new ArrayList<>();
  247 + coordList = Splitter.on(",").trimResults().splitToList(p.getCoords());
  248 + for(String c : coordList){
  249 + cs = c.split(" ");
  250 + point = new Point(Double.parseDouble(cs[0]), Double.parseDouble(cs[1]));
  251 + ps.add(point);
  252 + }
  253 +
  254 + p.setPolygon(new Polygon(ps));
  255 +
  256 + sr.setPremise(true);
  257 + //按线路,走向分组
  258 + premiseGeoMapCopy.put(p.getLineCode()+"_"+p.getUpDown(), p);
  259 + }catch (Exception e){
  260 + logger.error("", e);
  261 + }
  262 + }
  263 +
  264 + //排序
  265 + Set<String> ks = premiseGeoMapCopy.keySet();
  266 + PreconditionGeoComp comp = new PreconditionGeoComp();
  267 + for(String k : ks){
  268 + Collections.sort(premiseGeoMapCopy.get(k), comp);
  269 + }
  270 +
  271 + premiseGeoMap = premiseGeoMapCopy;
  272 + }
  273 +
  274 + public Polygon parsePolygon(String polygonStr) {
  275 + String[] coords = polygonStr.substring(9, polygonStr.length() - 2).split(","), temps;
  276 +
  277 + List<Point> cds = new ArrayList<>(coords.length);
  278 + int len = coords.length;
  279 + for (int i = 0; i < len; i++) {
  280 + temps = coords[i].split(" ");
  281 + cds.add(new Point(Float.parseFloat(temps[0]), Float.parseFloat(temps[1])));
  282 + }
  283 + return new Polygon(cds);
  284 + }
  285 +
  286 + private void connectStationRoute(List<StationRoute> list) {
  287 + int size = list.size();
  288 + StationRoute sr = null;
  289 + for (int i = 0; i < size; i++) {
  290 + sr = list.get(i);
  291 + //上一个
  292 + if (i > 0)
  293 + sr.setPrve(list.get(i - 1));
  294 + //下一个
  295 + if (i < size - 1)
  296 + sr.setNext(list.get(i + 1));
  297 + }
  298 + }
  299 +
  300 + /**
  301 + * 是否是环线
  302 + * @param lineId
  303 + * @return
  304 + */
  305 + public static boolean isLoopLine(String lineId) {
  306 + List<StationRoute> srs = getStationRoute(lineId , 0);
  307 + if(srs.get(0).getName().equals(srs.get(srs.size()- 1).getName())
  308 + && getStationRoute(lineId , 1).size()==2)
  309 + return true;
  310 + return false;
  311 + }
  312 +
  313 + private static class PreconditionGeoComp implements Comparator<PreconditionGeo>{
  314 +
  315 + @Override
  316 + public int compare(PreconditionGeo p1, PreconditionGeo p2) {
  317 + return p1.getOrder() - p2.getOrder();
  318 + }
  319 + }
  320 +
  321 + public static Map<String, String> sectionCode2NameMap(){
  322 + return sectionCode2Name;
  323 + }
324 } 324 }
325 \ No newline at end of file 325 \ No newline at end of file
src/main/java/com/bsth/data/gpsdata_v2/handlers/OutStationProcess.java
@@ -41,33 +41,34 @@ public class OutStationProcess { @@ -41,33 +41,34 @@ public class OutStationProcess {
41 GpsStatusManager gpsStatusManager; 41 GpsStatusManager gpsStatusManager;
42 private final static int MAX_BEFORE_TIME = 1000 * 60 * 120; 42 private final static int MAX_BEFORE_TIME = 1000 * 60 * 120;
43 43
44 - public void process(GpsEntity gps){ 44 + public void process(GpsEntity gps) {
45 //自动执行的班次信号,滚蛋 45 //自动执行的班次信号,滚蛋
46 LineConfig config = lineConfigData.get(gps.getLineId()); 46 LineConfig config = lineConfigData.get(gps.getLineId());
47 - if(null != config && config.isAutoExec()) 47 + if (null != config && config.isAutoExec())
48 return; 48 return;
49 49
50 GpsEntity prev = GpsCacheData.getPrev(gps); 50 GpsEntity prev = GpsCacheData.getPrev(gps);
51 51
52 - if(null == prev) 52 + if (null == prev)
53 return; 53 return;
54 54
55 //从站内到站外 55 //从站内到站外
56 - if(prev.getInstation() > 0 && gps.getInstation() == 0) 56 + if (prev.getInstation() > 0 && gps.getInstation() == 0)
57 outStation(gps, prev); 57 outStation(gps, prev);
58 58
59 //从站内到另一个站内 59 //从站内到另一个站内
60 - if(prev.getInstation() > 0 && gps.getInstation() > 0 60 + if (prev.getInstation() > 0 && gps.getInstation() > 0
61 && !prev.getStopNo().equals(gps.getStopNo())) 61 && !prev.getStopNo().equals(gps.getStopNo()))
62 outStation(gps, prev); 62 outStation(gps, prev);
63 63
64 //在被起点站覆盖的情况下出场 64 //在被起点站覆盖的情况下出场
65 - if(isOutPark(gps, prev)) 65 + if (isOutPark(gps, prev))
66 outStation(gps, prev); 66 outStation(gps, prev);
67 } 67 }
68 68
69 /** 69 /**
70 * 出站 70 * 出站
  71 + *
71 * @param gps 72 * @param gps
72 */ 73 */
73 private void outStation(GpsEntity gps, GpsEntity prev) { 74 private void outStation(GpsEntity gps, GpsEntity prev) {
@@ -76,23 +77,23 @@ public class OutStationProcess { @@ -76,23 +77,23 @@ public class OutStationProcess {
76 //起点发车 77 //起点发车
77 if (null != sch && 78 if (null != sch &&
78 ((sch.getQdzCode().equals(prev.getStopNo()) 79 ((sch.getQdzCode().equals(prev.getStopNo())
79 - && (gps.getInstation()==0 || !gps.getStopNo().equals(prev.getStopNo())))  
80 - || sch.getQdzCode().equals(prev.getCarparkNo()))){ 80 + && (gps.getInstation() == 0 || !gps.getStopNo().equals(prev.getStopNo())))
  81 + || sch.getQdzCode().equals(prev.getCarparkNo()))) {
81 //发车班次匹配 82 //发车班次匹配
82 - if(!signalSchPlanMatcher.outMatch(gps, sch)){ 83 + if (!signalSchPlanMatcher.outMatch(gps, sch)) {
83 outStation(gps, prev); 84 outStation(gps, prev);
84 return; 85 return;
85 } 86 }
86 87
87 int diff = (int) (sch.getDfsjT() - gps.getTimestamp()); 88 int diff = (int) (sch.getDfsjT() - gps.getTimestamp());
88 //首班出场最多提前2小时 89 //首班出场最多提前2小时
89 - if((dayOfSchedule.isFirstOut(sch) && diff > MAX_BEFORE_TIME) || diff > MAX_BEFORE_TIME / 2) 90 + if ((dayOfSchedule.isFirstOut(sch) && diff > MAX_BEFORE_TIME) || diff > MAX_BEFORE_TIME / 2)
90 return; 91 return;
91 92
92 gps.setPremiseCode(null);//清除前置围栏标记 93 gps.setPremiseCode(null);//清除前置围栏标记
93 94
94 - if(StringUtils.isNotEmpty(sch.getFcsjActual())  
95 - && !outManyFit(gps, sch)){ 95 + if (StringUtils.isNotEmpty(sch.getFcsjActual())
  96 + && !outManyFit(gps, sch)) {
96 return;//班次已经实发 97 return;//班次已经实发
97 } 98 }
98 99
@@ -115,7 +116,7 @@ public class OutStationProcess { @@ -115,7 +116,7 @@ public class OutStationProcess {
115 LateAdjustHandle.remove(sch.getClZbh()); 116 LateAdjustHandle.remove(sch.getClZbh());
116 117
117 //发车的时候,同步一下状态 118 //发车的时候,同步一下状态
118 - if(!gps.isService() && !dayOfSchedule.emptyService(sch)) 119 + if (!gps.isService() && !dayOfSchedule.emptyService(sch))
119 gpsStatusManager.changeServiceState(sch.getClZbh(), sch.getXlDir(), 0, "发车@系统"); 120 gpsStatusManager.changeServiceState(sch.getClZbh(), sch.getXlDir(), 0, "发车@系统");
120 121
121 logger.info("车辆:" + sch.getClZbh() + " 班次:" + sch.getDfsj() + "发车, 时间:" + sch.getFcsjActual()); 122 logger.info("车辆:" + sch.getClZbh() + " 班次:" + sch.getDfsj() + "发车, 时间:" + sch.getFcsjActual());
@@ -126,16 +127,17 @@ public class OutStationProcess { @@ -126,16 +127,17 @@ public class OutStationProcess {
126 127
127 /** 128 /**
128 * 是否是一个更合适的发车信号 129 * 是否是一个更合适的发车信号
  130 + *
129 * @param gps 131 * @param gps
130 * @param sch 132 * @param sch
131 * @return 133 * @return
132 */ 134 */
133 private boolean outManyFit(GpsEntity gps, ScheduleRealInfo sch) { 135 private boolean outManyFit(GpsEntity gps, ScheduleRealInfo sch) {
134 LineConfig conf = lineConfigData.get(sch.getXlBm()); 136 LineConfig conf = lineConfigData.get(sch.getXlBm());
135 - if(null != conf && conf.isLockFirstOutTime()) 137 + if (null != conf && conf.isLockFirstOutTime())
136 return false; 138 return false;
137 139
138 - if(StringUtils.isNotEmpty(sch.getZdsjActual())) 140 + if (StringUtils.isNotEmpty(sch.getZdsjActual()))
139 return false; 141 return false;
140 142
141 long t1 = sch.getFcsjActualTime(); 143 long t1 = sch.getFcsjActualTime();
@@ -143,18 +145,18 @@ public class OutStationProcess { @@ -143,18 +145,18 @@ public class OutStationProcess {
143 long c = sch.getDfsjT(); 145 long c = sch.getDfsjT();
144 146
145 int threshold = 1000 * 60 * 5; 147 int threshold = 1000 * 60 * 5;
146 - if(Math.abs(t2 - c) < threshold && c - t1 > threshold){ 148 + if (Math.abs(t2 - c) < threshold && c - t1 > threshold) {
147 return true; 149 return true;
148 } 150 }
149 151
150 - if(c - t1 > 1000 * 60 * 60 * 2 && Math.abs(t2 - c) < c - t1){ 152 + if (c - t1 > 1000 * 60 * 60 * 2 && Math.abs(t2 - c) < c - t1) {
151 return true; 153 return true;
152 } 154 }
153 return false; 155 return false;
154 } 156 }
155 157
156 - private void outStationAndOutPark(ScheduleRealInfo sch){  
157 - try{ 158 + private void outStationAndOutPark(ScheduleRealInfo sch) {
  159 + try {
158 LineConfig config = lineConfigData.get(sch.getXlBm()); 160 LineConfig config = lineConfigData.get(sch.getXlBm());
159 //限定出站既出场的停车场 161 //限定出站既出场的停车场
160 String park = config.getTwinsPark(); 162 String park = config.getTwinsPark();
@@ -175,26 +177,26 @@ public class OutStationProcess { @@ -175,26 +177,26 @@ public class OutStationProcess {
175 dayOfSchedule.save(schPrev); 177 dayOfSchedule.save(schPrev);
176 } 178 }
177 } 179 }
178 - }catch (Exception e){ 180 + } catch (Exception e) {
179 logger.error("", e); 181 logger.error("", e);
180 } 182 }
181 } 183 }
182 184
183 - private boolean isEmptyMileage(ScheduleRealInfo sch){  
184 - return sch.getBcsj()==0 || sch.getJhlcOrig().intValue()==0; 185 + private boolean isEmptyMileage(ScheduleRealInfo sch) {
  186 + return sch.getBcsj() == 0 || sch.getJhlcOrig().intValue() == 0;
185 } 187 }
186 188
187 - private boolean isOut(ScheduleRealInfo sch){ 189 + private boolean isOut(ScheduleRealInfo sch) {
188 return sch != null && sch.getBcType().equals("out"); 190 return sch != null && sch.getBcType().equals("out");
189 } 191 }
190 192
191 - private void endSch(ScheduleRealInfo sch, Long t){ 193 + private void endSch(ScheduleRealInfo sch, Long t) {
192 sch.setFcsjActualAll(t); 194 sch.setFcsjActualAll(t);
193 sch.setZdsjActualAll(t); 195 sch.setZdsjActualAll(t);
194 } 196 }
195 197
196 - private boolean isOutPark(GpsEntity gps, GpsEntity prve){  
197 - if(StringUtils.isNotEmpty(prve.getCarparkNo()) && StringUtils.isEmpty(gps.getCarparkNo())) 198 + private boolean isOutPark(GpsEntity gps, GpsEntity prve) {
  199 + if (StringUtils.isNotEmpty(prve.getCarparkNo()) && StringUtils.isEmpty(gps.getCarparkNo()))
198 return true; 200 return true;
199 return false; 201 return false;
200 } 202 }
src/main/java/com/bsth/data/gpsdata_v2/rfid/UploadRfidDataService.java
1 -package com.bsth.data.gpsdata_v2.rfid;  
2 -  
3 -import com.alibaba.fastjson.JSON;  
4 -import com.bsth.data.gpsdata_v2.rfid.entity.RfidInoutStation;  
5 -import com.bsth.data.gpsdata_v2.rfid.handle.RfidSignalHandle;  
6 -import org.slf4j.Logger;  
7 -import org.slf4j.LoggerFactory;  
8 -import org.springframework.beans.factory.annotation.Autowired;  
9 -import org.springframework.web.bind.annotation.RequestBody;  
10 -import org.springframework.web.bind.annotation.RequestMapping;  
11 -import org.springframework.web.bind.annotation.RequestMethod;  
12 -import org.springframework.web.bind.annotation.RestController;  
13 -  
14 -import java.util.List;  
15 -  
16 -/**  
17 - * RFID 数据上传入口  
18 - * Created by panzhao on 2017/11/22.  
19 - */  
20 -@RestController  
21 -@RequestMapping("/rfid")  
22 -public class UploadRfidDataService {  
23 -  
24 - @Autowired  
25 - RfidSignalHandle rfidSignalHandle;  
26 -  
27 - Logger logger = LoggerFactory.getLogger(this.getClass());  
28 -  
29 - @RequestMapping(value = "inside", method = RequestMethod.POST)  
30 - public void inside(@RequestBody List<RfidInoutStation> list) {  
31 - logger.info("up rfid: " + JSON.toJSONString(list));  
32 - rfidSignalHandle.handle(list);  
33 - }  
34 -  
35 - @RequestMapping(value = "test")  
36 - public int test() {  
37 - return 1;  
38 - } 1 +package com.bsth.data.gpsdata_v2.rfid;
  2 +
  3 +import com.alibaba.fastjson.JSON;
  4 +import com.bsth.data.gpsdata_v2.rfid.entity.RfidInoutStation;
  5 +import com.bsth.data.gpsdata_v2.rfid.handle.RfidSignalHandle;
  6 +import org.slf4j.Logger;
  7 +import org.slf4j.LoggerFactory;
  8 +import org.springframework.beans.factory.annotation.Autowired;
  9 +import org.springframework.web.bind.annotation.RequestBody;
  10 +import org.springframework.web.bind.annotation.RequestMapping;
  11 +import org.springframework.web.bind.annotation.RequestMethod;
  12 +import org.springframework.web.bind.annotation.RestController;
  13 +
  14 +import java.util.List;
  15 +
  16 +/**
  17 + * RFID 数据上传入口
  18 + * Created by panzhao on 2017/11/22.
  19 + */
  20 +@RestController
  21 +@RequestMapping("/rfid")
  22 +public class UploadRfidDataService {
  23 +
  24 + @Autowired
  25 + RfidSignalHandle rfidSignalHandle;
  26 +
  27 + Logger logger = LoggerFactory.getLogger(this.getClass());
  28 +
  29 + @RequestMapping(value = "inside", method = RequestMethod.POST)
  30 + public void inside(@RequestBody List<RfidInoutStation> list) {
  31 + logger.info("up rfid: " + JSON.toJSONString(list));
  32 + rfidSignalHandle.handle(list);
  33 + }
  34 +
  35 + @RequestMapping(value = "test")
  36 + public int test() {
  37 + return 1;
  38 + }
39 } 39 }
40 \ No newline at end of file 40 \ No newline at end of file
src/main/java/com/bsth/data/gpsdata_v2/rfid/handle/RfidSignalHandle.java
1 -package com.bsth.data.gpsdata_v2.rfid.handle;  
2 -  
3 -import com.bsth.data.gpsdata_v2.rfid.entity.RfidInoutStation;  
4 -import com.bsth.data.gpsdata_v2.status_manager.GpsStatusManager;  
5 -import com.bsth.data.msg_queue.DirectivePushQueue;  
6 -import com.bsth.data.schedule.DayOfSchedule;  
7 -import com.bsth.entity.realcontrol.ScheduleRealInfo;  
8 -import com.bsth.websocket.handler.SendUtils;  
9 -import org.apache.commons.lang3.StringUtils;  
10 -import org.slf4j.Logger;  
11 -import org.slf4j.LoggerFactory;  
12 -import org.springframework.beans.factory.annotation.Autowired;  
13 -import org.springframework.stereotype.Component;  
14 -  
15 -import java.util.List;  
16 -  
17 -/**  
18 - * RFID信号处理  
19 - * Created by panzhao on 2017/11/22.  
20 - */  
21 -@Component  
22 -public class RfidSignalHandle {  
23 -  
24 - @Autowired  
25 - DayOfSchedule dayOfSchedule;  
26 -  
27 - @Autowired  
28 - SendUtils sendUtils;  
29 -  
30 - @Autowired  
31 - GpsStatusManager gpsStatusManager;  
32 -  
33 - private final static int MAX_TIME_DIFF = 1000 * 60 * 60 * 2;  
34 -  
35 - Logger logger = LoggerFactory.getLogger(this.getClass());  
36 -  
37 - public void handle(List<RfidInoutStation> list){  
38 - for(RfidInoutStation signal : list){  
39 - if(signal.getType()==2)  
40 - in(signal);  
41 - else if(signal.getType()==4)  
42 - out(signal);  
43 - }  
44 - }  
45 -  
46 - /**  
47 - * 出  
48 - * @param signal  
49 - */  
50 - private void out(RfidInoutStation signal) {  
51 - try{  
52 - String nbbm = signal.getNbbm();  
53 - ScheduleRealInfo sch = dayOfSchedule.executeCurr(nbbm);  
54 -  
55 - if(null == sch)  
56 - return;  
57 -  
58 - //最大时间差  
59 - if(Math.abs(sch.getDfsjT() - signal.getT()) > MAX_TIME_DIFF)  
60 - return;  
61 -  
62 - if(sch.getQdzCode().equals(signal.getStation())  
63 - && StringUtils.isEmpty(sch.getFcsjActual())){  
64 -  
65 - //班次发车  
66 - sch.setFcsjActualAll(signal.getT());  
67 -  
68 - //webSocket  
69 - sendUtils.sendFcsj(sch);  
70 -  
71 - //持久化  
72 - dayOfSchedule.save(sch);  
73 -  
74 - logger.info("RFID; 车辆:" + sch.getClZbh() + " 班次:" + sch.getDfsj() + "发车, 时间:" + sch.getFcsjActual());  
75 - }  
76 - }catch (Exception e){  
77 - logger.error("", e);  
78 - }  
79 - }  
80 -  
81 - /**  
82 - * 进  
83 - * @param signal  
84 - */  
85 - private void in(RfidInoutStation signal) {  
86 - try{  
87 - String nbbm = signal.getNbbm();  
88 - ScheduleRealInfo sch = dayOfSchedule.executeCurr(nbbm);  
89 -  
90 - if(null == sch)  
91 - return;  
92 -  
93 - //最大时间差  
94 - if(Math.abs(sch.getDfsjT() - signal.getT()) > MAX_TIME_DIFF)  
95 - return;  
96 -  
97 - if(sch.getZdzCode().equals(signal.getStation())  
98 - && StringUtils.isEmpty(sch.getZdsjActual())){  
99 -  
100 - sch.setZdsjActualAll(signal.getT());  
101 -  
102 - //持久化  
103 - dayOfSchedule.save(sch);  
104 -  
105 - //车辆的下一个班次  
106 - ScheduleRealInfo next = dayOfSchedule.next(sch);  
107 - if(next != null){  
108 - dayOfSchedule.addExecPlan(next);  
109 - }  
110 -  
111 - //路牌的下一个班次,页面显示起点实际到达时间  
112 - ScheduleRealInfo lpNext = dayOfSchedule.nextByLp(sch);  
113 - if(lpNext != null){  
114 - lpNext.setQdzArrDatesj(sch.getZdsjActual());  
115 - }  
116 -  
117 - //已完成班次数  
118 - int doneSum = dayOfSchedule.doneSum(nbbm);  
119 -  
120 - //webSocket  
121 - sendUtils.sendZdsj(sch, lpNext, doneSum);  
122 -  
123 - logger.info("RFID; 车辆:" + nbbm + " 班次:" + sch.getDfsj() + "到终点, 时间:" + sch.getZdsjActual());  
124 -  
125 - //下发调度指令  
126 - DirectivePushQueue.put6002(next, doneSum, "rfid@系统");  
127 -  
128 - //套跑 -下发线路切换指令  
129 - if(null != next && !next.getXlBm().equals(sch.getXlBm())){  
130 - gpsStatusManager.changeLine(next.getClZbh(), next.getXlBm(), "rfid@系统");  
131 - }  
132 -  
133 - if(null == next)  
134 - nonService(sch, "rfid1@系统");//班次结束  
135 - else if(null != next && dayOfSchedule.emptyService(next))  
136 - nonService(sch, "rfid2@系统");//下一班非营运  
137 - }  
138 - }catch (Exception e){  
139 - logger.error("", e);  
140 - }  
141 - }  
142 -  
143 - /**  
144 - * 将车载设备切换为非营运状态  
145 - * @param sch  
146 - * @param sender  
147 - */  
148 - private void nonService(ScheduleRealInfo sch, String sender){  
149 - gpsStatusManager.changeServiceState(sch.getClZbh(), sch.getXlDir(), 1, sender);  
150 - } 1 +package com.bsth.data.gpsdata_v2.rfid.handle;
  2 +
  3 +import com.bsth.data.gpsdata_v2.rfid.entity.RfidInoutStation;
  4 +import com.bsth.data.gpsdata_v2.status_manager.GpsStatusManager;
  5 +import com.bsth.data.msg_queue.DirectivePushQueue;
  6 +import com.bsth.data.schedule.DayOfSchedule;
  7 +import com.bsth.entity.realcontrol.ScheduleRealInfo;
  8 +import com.bsth.websocket.handler.SendUtils;
  9 +import org.apache.commons.lang3.StringUtils;
  10 +import org.slf4j.Logger;
  11 +import org.slf4j.LoggerFactory;
  12 +import org.springframework.beans.factory.annotation.Autowired;
  13 +import org.springframework.stereotype.Component;
  14 +
  15 +import java.util.List;
  16 +
  17 +/**
  18 + * RFID信号处理
  19 + * Created by panzhao on 2017/11/22.
  20 + */
  21 +@Component
  22 +public class RfidSignalHandle {
  23 +
  24 + @Autowired
  25 + DayOfSchedule dayOfSchedule;
  26 +
  27 + @Autowired
  28 + SendUtils sendUtils;
  29 +
  30 + @Autowired
  31 + GpsStatusManager gpsStatusManager;
  32 +
  33 + private final static int MAX_TIME_DIFF = 1000 * 60 * 60 * 2;
  34 +
  35 + Logger logger = LoggerFactory.getLogger(this.getClass());
  36 +
  37 + public void handle(List<RfidInoutStation> list){
  38 + for(RfidInoutStation signal : list){
  39 + if(signal.getType()==2)
  40 + in(signal);
  41 + else if(signal.getType()==4)
  42 + out(signal);
  43 + }
  44 + }
  45 +
  46 + /**
  47 + * 出
  48 + * @param signal
  49 + */
  50 + private void out(RfidInoutStation signal) {
  51 + try{
  52 + String nbbm = signal.getNbbm();
  53 + ScheduleRealInfo sch = dayOfSchedule.executeCurr(nbbm);
  54 +
  55 + if(null == sch)
  56 + return;
  57 +
  58 + //最大时间差
  59 + if(Math.abs(sch.getDfsjT() - signal.getT()) > MAX_TIME_DIFF)
  60 + return;
  61 +
  62 + if(sch.getQdzCode().equals(signal.getStation())
  63 + && StringUtils.isEmpty(sch.getFcsjActual())){
  64 +
  65 + //班次发车
  66 + sch.setFcsjActualAll(signal.getT());
  67 +
  68 + //webSocket
  69 + sendUtils.sendFcsj(sch);
  70 +
  71 + //持久化
  72 + dayOfSchedule.save(sch);
  73 +
  74 + logger.info("RFID; 车辆:" + sch.getClZbh() + " 班次:" + sch.getDfsj() + "发车, 时间:" + sch.getFcsjActual());
  75 + }
  76 + }catch (Exception e){
  77 + logger.error("", e);
  78 + }
  79 + }
  80 +
  81 + /**
  82 + * 进
  83 + * @param signal
  84 + */
  85 + private void in(RfidInoutStation signal) {
  86 + try{
  87 + String nbbm = signal.getNbbm();
  88 + ScheduleRealInfo sch = dayOfSchedule.executeCurr(nbbm);
  89 +
  90 + if(null == sch)
  91 + return;
  92 +
  93 + //最大时间差
  94 + if(Math.abs(sch.getDfsjT() - signal.getT()) > MAX_TIME_DIFF)
  95 + return;
  96 +
  97 + if(sch.getZdzCode().equals(signal.getStation())
  98 + && StringUtils.isEmpty(sch.getZdsjActual())){
  99 +
  100 + sch.setZdsjActualAll(signal.getT());
  101 +
  102 + //持久化
  103 + dayOfSchedule.save(sch);
  104 +
  105 + //车辆的下一个班次
  106 + ScheduleRealInfo next = dayOfSchedule.next(sch);
  107 + if(next != null){
  108 + dayOfSchedule.addExecPlan(next);
  109 + }
  110 +
  111 + //路牌的下一个班次,页面显示起点实际到达时间
  112 + ScheduleRealInfo lpNext = dayOfSchedule.nextByLp(sch);
  113 + if(lpNext != null){
  114 + lpNext.setQdzArrDatesj(sch.getZdsjActual());
  115 + }
  116 +
  117 + //已完成班次数
  118 + int doneSum = dayOfSchedule.doneSum(nbbm);
  119 +
  120 + //webSocket
  121 + sendUtils.sendZdsj(sch, lpNext, doneSum);
  122 +
  123 + logger.info("RFID; 车辆:" + nbbm + " 班次:" + sch.getDfsj() + "到终点, 时间:" + sch.getZdsjActual());
  124 +
  125 + //下发调度指令
  126 + DirectivePushQueue.put6002(next, doneSum, "rfid@系统");
  127 +
  128 + //套跑 -下发线路切换指令
  129 + if(null != next && !next.getXlBm().equals(sch.getXlBm())){
  130 + gpsStatusManager.changeLine(next.getClZbh(), next.getXlBm(), "rfid@系统");
  131 + }
  132 +
  133 + if(null == next)
  134 + nonService(sch, "rfid1@系统");//班次结束
  135 + else if(null != next && dayOfSchedule.emptyService(next))
  136 + nonService(sch, "rfid2@系统");//下一班非营运
  137 + }
  138 + }catch (Exception e){
  139 + logger.error("", e);
  140 + }
  141 + }
  142 +
  143 + /**
  144 + * 将车载设备切换为非营运状态
  145 + * @param sch
  146 + * @param sender
  147 + */
  148 + private void nonService(ScheduleRealInfo sch, String sender){
  149 + gpsStatusManager.changeServiceState(sch.getClZbh(), sch.getXlDir(), 1, sender);
  150 + }
151 } 151 }
152 \ No newline at end of file 152 \ No newline at end of file
src/main/java/com/bsth/data/gpsdata_v2/thread/OfflineMonitorThread.java
1 -package com.bsth.data.gpsdata_v2.thread;  
2 -  
3 -import com.bsth.data.gpsdata_v2.GpsRealData;  
4 -import com.bsth.data.gpsdata_v2.entity.GpsEntity;  
5 -import com.bsth.websocket.handler.SendUtils;  
6 -import org.slf4j.Logger;  
7 -import org.slf4j.LoggerFactory;  
8 -import org.springframework.beans.factory.annotation.Autowired;  
9 -import org.springframework.stereotype.Component;  
10 -  
11 -import java.util.Collection;  
12 -  
13 -/**  
14 - * GPS掉离线监控  
15 - * Created by panzhao on 2017/1/11.  
16 - */  
17 -@Component  
18 -public class OfflineMonitorThread extends Thread{  
19 -  
20 - @Autowired  
21 - GpsRealData gpsRealData;  
22 -  
23 - //掉线阈值  
24 - private final static int LOSE_TIME = 1000 * 60 * 10;  
25 -  
26 - Logger logger = LoggerFactory.getLogger(this.getClass());  
27 -  
28 - @Autowired  
29 - SendUtils sendUtils;  
30 -  
31 - //无任务时 离线阈值  
32 - //private final static int OFFLINE_TIME = 1000 * 60 * 10;  
33 -  
34 - @Override  
35 - public void run() {  
36 - try{  
37 - long t = System.currentTimeMillis();  
38 - Collection<GpsEntity> list = gpsRealData.all();  
39 -  
40 - String state;  
41 - for(GpsEntity gps : list){  
42 - state = gps.getAbnormalStatus();  
43 -  
44 - if(state != null && state.equals("offline"))  
45 - continue;  
46 -  
47 - if (t - gps.getTimestamp() > LOSE_TIME){  
48 - gps.offline();  
49 -  
50 - //通知页面有设备掉线  
51 - sendUtils.deviceOffline(gps);  
52 - }  
53 - }  
54 - }catch (Exception e){  
55 - logger.error("", e);  
56 - }  
57 - }  
58 -} 1 +package com.bsth.data.gpsdata_v2.thread;
  2 +
  3 +import com.bsth.data.gpsdata_v2.GpsRealData;
  4 +import com.bsth.data.gpsdata_v2.entity.GpsEntity;
  5 +import com.bsth.websocket.handler.SendUtils;
  6 +import org.slf4j.Logger;
  7 +import org.slf4j.LoggerFactory;
  8 +import org.springframework.beans.factory.annotation.Autowired;
  9 +import org.springframework.stereotype.Component;
  10 +
  11 +import java.util.Collection;
  12 +
  13 +/**
  14 + * GPS掉离线监控
  15 + * Created by panzhao on 2017/1/11.
  16 + */
  17 +@Component
  18 +public class OfflineMonitorThread extends Thread{
  19 +
  20 + @Autowired
  21 + GpsRealData gpsRealData;
  22 +
  23 + //掉线阈值
  24 + private final static int LOSE_TIME = 1000 * 60 * 10;
  25 +
  26 + Logger logger = LoggerFactory.getLogger(this.getClass());
  27 +
  28 + @Autowired
  29 + SendUtils sendUtils;
  30 +
  31 + //无任务时 离线阈值
  32 + //private final static int OFFLINE_TIME = 1000 * 60 * 10;
  33 +
  34 + @Override
  35 + public void run() {
  36 + try{
  37 + long t = System.currentTimeMillis();
  38 + Collection<GpsEntity> list = gpsRealData.all();
  39 +
  40 + String state;
  41 + for(GpsEntity gps : list){
  42 + state = gps.getAbnormalStatus();
  43 +
  44 + if(state != null && state.equals("offline"))
  45 + continue;
  46 +
  47 + if (t - gps.getTimestamp() > LOSE_TIME){
  48 + gps.offline();
  49 +
  50 + //通知页面有设备掉线
  51 + sendUtils.deviceOffline(gps);
  52 + }
  53 + }
  54 + }catch (Exception e){
  55 + logger.error("", e);
  56 + }
  57 + }
  58 +}
src/main/java/com/bsth/service/oil/impl/DlbServiceImpl.java
@@ -273,18 +273,18 @@ public class DlbServiceImpl extends BaseServiceImpl&lt;Dlb,Integer&gt; implements DlbS @@ -273,18 +273,18 @@ public class DlbServiceImpl extends BaseServiceImpl&lt;Dlb,Integer&gt; implements DlbS
273 } 273 }
274 } 274 }
275 275
276 - Map<String, Double> shMap=new HashMap<String,Double>();  
277 - for (int i = 0; i < dlList.size(); i++) {  
278 - Dlb dlb=dlList.get(i);  
279 - String cl=dlb.getNbbm();  
280 - if(shMap.get(cl)==null){  
281 - shMap.put(cl, dlb.getSh());  
282 - }else{  
283 - double sh=shMap.get(cl);  
284 - shMap.remove(cl);  
285 - shMap.put(cl, Arith.add(sh, dlb.getSh()));  
286 - }  
287 - } 276 +// Map<String, Double> shMap=new HashMap<String,Double>();
  277 +// for (int i = 0; i < dlList.size(); i++) {
  278 +// Dlb dlb=dlList.get(i);
  279 +// String cl=dlb.getNbbm();
  280 +// if(shMap.get(cl)==null){
  281 +// shMap.put(cl, dlb.getSh());
  282 +// }else{
  283 +// double sh=shMap.get(cl);
  284 +// shMap.remove(cl);
  285 +// shMap.put(cl, Arith.add(sh, dlb.getSh()));
  286 +// }
  287 +// }
288 List<Jdl> jdlList=jdlRepository.JdlList(rq); 288 List<Jdl> jdlList=jdlRepository.JdlList(rq);
289 String sxtj=map2.get("sxtj").toString(); 289 String sxtj=map2.get("sxtj").toString();
290 if(sxtj.equals("0")){ 290 if(sxtj.equals("0")){
@@ -357,13 +357,13 @@ public class DlbServiceImpl extends BaseServiceImpl&lt;Dlb,Integer&gt; implements DlbS @@ -357,13 +357,13 @@ public class DlbServiceImpl extends BaseServiceImpl&lt;Dlb,Integer&gt; implements DlbS
357 zjzl = Arith.add(zjzl,jdl.getJdl()); 357 zjzl = Arith.add(zjzl,jdl.getJdl());
358 } 358 }
359 } 359 }
360 - double clsh=0.0;  
361 - if(shMap.get(map_.get("clZbh").toString())==null){  
362 - clsh=0.0;  
363 - }else{  
364 - clsh=shMap.get(map_.get("clZbh").toString());  
365 - }  
366 - zjzl =Arith.sub(zjzl, clsh); 360 +// double clsh=0.0;
  361 +// if(shMap.get(map_.get("clZbh").toString())==null){
  362 +// clsh=0.0;
  363 +// }else{
  364 +// clsh=shMap.get(map_.get("clZbh").toString());
  365 +// }
  366 +// zjzl =Arith.sub(zjzl, clsh);
367 Double nextJzyl = 0.0; 367 Double nextJzyl = 0.0;
368 for (int i = 0; i < listpb.size(); i++) { 368 for (int i = 0; i < listpb.size(); i++) {
369 Map<String, Object> map = listpb.get(i); 369 Map<String, Object> map = listpb.get(i);
@@ -465,7 +465,6 @@ public class DlbServiceImpl extends BaseServiceImpl&lt;Dlb,Integer&gt; implements DlbS @@ -465,7 +465,6 @@ public class DlbServiceImpl extends BaseServiceImpl&lt;Dlb,Integer&gt; implements DlbS
465 t.setJhsj(map.get("fcsj")==null?"":map.get("fcsj").toString()); 465 t.setJhsj(map.get("fcsj")==null?"":map.get("fcsj").toString());
466 t.setRq(sdf.parse(rq)); 466 t.setRq(sdf.parse(rq));
467 t.setLp(map.get("lpName").toString()); 467 t.setLp(map.get("lpName").toString());
468 - t.setCdl(Arith.add(t.getCdl(), t.getSh()));  
469 if(!(t.getSsgsdm().equals("") || t.getFgsdm().equals(""))){ 468 if(!(t.getSsgsdm().equals("") || t.getFgsdm().equals(""))){
470 if(type.equals("add")){ 469 if(type.equals("add")){
471 t.setCreatetime(date); 470 t.setCreatetime(date);
src/main/java/com/bsth/service/oil/impl/YlbServiceImpl.java
@@ -404,7 +404,7 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS @@ -404,7 +404,7 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS
404 Ylxxb ylxxb = ylxxList.get(i); 404 Ylxxb ylxxb = ylxxList.get(i);
405 if (map.get("clZbh").toString().equals(ylxxb.getNbbm()) 405 if (map.get("clZbh").toString().equals(ylxxb.getNbbm())
406 && map.get("jGh").toString().equals(ylxxb.getJsy()) 406 && map.get("jGh").toString().equals(ylxxb.getJsy())
407 - && ylxxb.getJylx()>0) { 407 + && ylxxb.getJylx()==1) {
408 if(ylxxb.getJzl()>0){ 408 if(ylxxb.getJzl()>0){
409 fage2=true; 409 fage2=true;
410 } 410 }
@@ -418,7 +418,7 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS @@ -418,7 +418,7 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS
418 Ylxxb ylxxb = ylxxList.get(j); 418 Ylxxb ylxxb = ylxxList.get(j);
419 if (map.get("clZbh").toString().equals(ylxxb.getNbbm()) 419 if (map.get("clZbh").toString().equals(ylxxb.getNbbm())
420 && map.get("jGh").toString().equals(ylxxb.getJsy()) 420 && map.get("jGh").toString().equals(ylxxb.getJsy())
421 - && ylxxb.getJylx()>0) { 421 + && ylxxb.getJylx()==1) {
422 jzl =Arith.add(jzl, ylxxb.getJzl()); 422 jzl =Arith.add(jzl, ylxxb.getJzl());
423 } 423 }
424 } 424 }
@@ -528,16 +528,8 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS @@ -528,16 +528,8 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS
528 List<Ylb> ylbList =new ArrayList<Ylb>(); 528 List<Ylb> ylbList =new ArrayList<Ylb>();
529 List<Ylb> ylbLists =new ArrayList<Ylb>(); 529 List<Ylb> ylbLists =new ArrayList<Ylb>();
530 List<Ylb> iterator2=new ArrayList<Ylb>(); 530 List<Ylb> iterator2=new ArrayList<Ylb>();
531 -// if(xlbm.equals("")){  
532 - ylbLists=this.listOrderBy(rq,gsbm,fgsbm,xlbm,nbbm,"jcsx");  
533 -// repository.obtainYl(rq,gsbm,fgsbm,xlbm,nbbm,"jcsx");  
534 - iterator2=this.listOrderBy(rq,gsbm,fgsbm,xlbm,nbbm,"nbbm,jcsx");  
535 -// repository.obtainYl(rq,gsbm,fgsbm,xlbm,nbbm,"nbbm,jcsx");  
536 -// }else{  
537 -// ylbLists=repository.obtainYl_eq(rq,gsbm,fgsbm,xlbm,nbbm,"jcsx");  
538 -// iterator2=repository.obtainYl_eq(rq,gsbm,fgsbm,xlbm,nbbm,"nbbm,jcsx");  
539 -// }  
540 - 531 + ylbLists=this.listOrderBy(rq,gsbm,fgsbm,xlbm,nbbm,"jcsx");
  532 + iterator2=this.listOrderBy(rq,gsbm,fgsbm,xlbm,nbbm,"nbbm,jcsx");
541 // 从排班表中计算出行驶的总里程 533 // 从排班表中计算出行驶的总里程
542 534
543 String sxtj=map.get("sxtj").toString(); 535 String sxtj=map.get("sxtj").toString();
@@ -594,7 +586,7 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS @@ -594,7 +586,7 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS
594 zlc = Arith.add(zlc, Double.valueOf(sumList.get(j)[1].toString())); 586 zlc = Arith.add(zlc, Double.valueOf(sumList.get(j)[1].toString()));
595 zsh = Arith.add(zsh, Double.valueOf(sumList.get(j)[2].toString())); 587 zsh = Arith.add(zsh, Double.valueOf(sumList.get(j)[2].toString()));
596 } 588 }
597 - jzl = Arith.sub(jzl, zsh); 589 +// jzl = Arith.sub(jzl, zsh);
598 // 保留两位小数 590 // 保留两位小数
599 DecimalFormat df = new DecimalFormat("#.00"); 591 DecimalFormat df = new DecimalFormat("#.00");
600 Double zyl = 0.0; 592 Double zyl = 0.0;
@@ -622,7 +614,8 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS @@ -622,7 +614,8 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS
622 if(zlc>0 ){ 614 if(zlc>0 ){
623 yh = Double.parseDouble(df.format(zyl * (t.getZlc() / zlc))); 615 yh = Double.parseDouble(df.format(zyl * (t.getZlc() / zlc)));
624 } 616 }
625 - nextJzyl =Arith.sub( Arith.add(Arith.sub(t.getJzl(),t.getSh()), t.getCzyl()),yh); 617 + nextJzyl =Arith.sub( Arith.add(t.getJzl(), t.getCzyl()),yh);
  618 +// nextJzyl =Arith.sub( Arith.add(Arith.sub(t.getJzl(),t.getSh()), t.getCzyl()),yh);
626 //把进场油量的小数和整数分别取出 619 //把进场油量的小数和整数分别取出
627 // int ylxs=(int) nextJzyl; 10.6--11 10.3--10 620 // int ylxs=(int) nextJzyl; 10.6--11 10.3--10
628 if(zlc>0 && t.getZlc()>0){ 621 if(zlc>0 && t.getZlc()>0){
@@ -643,7 +636,8 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS @@ -643,7 +636,8 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS
643 if(zlc>0){ 636 if(zlc>0){
644 yh= Double.parseDouble(df.format(zyl * (t.getZlc() / zlc))); 637 yh= Double.parseDouble(df.format(zyl * (t.getZlc() / zlc)));
645 } 638 }
646 - nextJzyl =Arith.sub( Arith.add(Arith.sub(t.getJzl(),t.getSh()),nextJzyl),yh); 639 + nextJzyl =Arith.sub( Arith.add(t.getJzl(),nextJzyl),yh);
  640 +// nextJzyl =Arith.sub( Arith.add(Arith.sub(t.getJzl(),t.getSh()),nextJzyl),yh);
647 if(zlc>0 && t.getZlc()>0){ 641 if(zlc>0 && t.getZlc()>0){
648 long l=0l; 642 long l=0l;
649 double ylxs=0.0; 643 double ylxs=0.0;
@@ -765,7 +759,7 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS @@ -765,7 +759,7 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS
765 for (int i = 0; i < ylxxbList.size(); i++) { 759 for (int i = 0; i < ylxxbList.size(); i++) {
766 Boolean fage=false; 760 Boolean fage=false;
767 Ylxxb y1=ylxxbList.get(i); 761 Ylxxb y1=ylxxbList.get(i);
768 - if(m.get(y1.getNbbm())!=null){ 762 + if(m.get(y1.getNbbm())==null){
769 Line line=BasicData.nbbm2LineMap.get(y1.getNbbm()); 763 Line line=BasicData.nbbm2LineMap.get(y1.getNbbm());
770 if(null !=line){ 764 if(null !=line){
771 if(!xlbm.equals("")){ 765 if(!xlbm.equals("")){
@@ -808,7 +802,6 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS @@ -808,7 +802,6 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS
808 if(status){ 802 if(status){
809 t.setCzyl(0.0); 803 t.setCzyl(0.0);
810 } 804 }
811 -// double jzyl=Arith.add(t.getJzl(), t.getCzyl());  
812 t.setJzyl(Arith.add(t.getJzl(), t.getCzyl())); 805 t.setJzyl(Arith.add(t.getJzl(), t.getCzyl()));
813 t.setYh(0.0); 806 t.setYh(0.0);
814 if(!(t.getSsgsdm().equals("") || t.getFgsdm().equals(""))){ 807 if(!(t.getSsgsdm().equals("") || t.getFgsdm().equals(""))){
@@ -1160,26 +1153,11 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS @@ -1160,26 +1153,11 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS
1160 Integer id =jsonObject.getInteger("id"); 1153 Integer id =jsonObject.getInteger("id");
1161 String nbbm =jsonObject.getString("nbbm"); 1154 String nbbm =jsonObject.getString("nbbm");
1162 String rq=jsonObject.getString("rq"); 1155 String rq=jsonObject.getString("rq");
1163 - double yh = Arith.sub(Arith.add(czyl, jzl), Arith.add(jzyl, sh)); 1156 + double yh = Arith.sub(Arith.add(czyl, jzl),sh);
1164 if(yh<0){ 1157 if(yh<0){
1165 yh=0.0; 1158 yh=0.0;
1166 } 1159 }
1167 - /*t.setJzyl(jzyl);  
1168 - t.setSh(sh);  
1169 - t.setShyy(shyy);  
1170 - t.setNs(ns);  
1171 - t.setRylx(rylx);  
1172 - t.setId(jsonObject.getInteger("id"));*/  
1173 repository.ylbUpdate(id, czyl, jzyl, yh, sh, shyy, ns, rylx,yhlx); 1160 repository.ylbUpdate(id, czyl, jzyl, yh, sh, shyy, ns, rylx,yhlx);
1174 - /*for (int z = 0; z < cylList.size(); z++) {  
1175 - Cyl cyl = cylList.get(z);  
1176 - if (nbbm.equals(cyl.getNbbm())) {  
1177 - cyl.setCyl(jzyl);  
1178 - cyl.setUpdatetime(sdf.parse(rq));  
1179 - break;  
1180 - }  
1181 - cylRepository.save(cyl);  
1182 - }*/  
1183 } 1161 }
1184 // List<Map<String, Object>> list=(List<Map<String, Object>>) map.get("ylbList"); 1162 // List<Map<String, Object>> list=(List<Map<String, Object>>) map.get("ylbList");
1185 1163
@@ -1233,12 +1211,12 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS @@ -1233,12 +1211,12 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS
1233 } 1211 }
1234 // jzl = Arith.sub(jzl, zsh); 1212 // jzl = Arith.sub(jzl, zsh);
1235 //新的 损耗不等于 旧的损耗 总损耗从新算 1213 //新的 损耗不等于 旧的损耗 总损耗从新算
1236 - if(Arith.sub(ylb.getSh(),sh )!=0){ 1214 + /*if(Arith.sub(ylb.getSh(),sh )!=0){
1237 zsh =Arith.add(Arith.sub(zsh, ylb.getSh()), sh); 1215 zsh =Arith.add(Arith.sub(zsh, ylb.getSh()), sh);
1238 jzl =Arith.sub(jzl, zsh); 1216 jzl =Arith.sub(jzl, zsh);
1239 }else{ 1217 }else{
1240 jzl =Arith.sub(jzl, zsh); 1218 jzl =Arith.sub(jzl, zsh);
1241 - } 1219 + }*/
1242 map.put("nbbm_eq", nbbm_eq); 1220 map.put("nbbm_eq", nbbm_eq);
1243 map.put("rq_eq", rq_eq); 1221 map.put("rq_eq", rq_eq);
1244 1222
@@ -1265,7 +1243,8 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS @@ -1265,7 +1243,8 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS
1265 if (zlc > 0 && t.getZlc() > 0) { 1243 if (zlc > 0 && t.getZlc() > 0) {
1266 yh = Double.parseDouble(df.format(zyl * (t.getZlc() / zlc))); 1244 yh = Double.parseDouble(df.format(zyl * (t.getZlc() / zlc)));
1267 } 1245 }
1268 - nextJzyl =Arith.sub(Arith.add(t.getJzl(), t.getCzyl()), Arith.add(yh, t.getSh())); 1246 + nextJzyl =Arith.sub(Arith.add(t.getJzl(), t.getCzyl()), yh);
  1247 +// nextJzyl =Arith.sub(Arith.add(t.getJzl(), t.getCzyl()), Arith.add(yh, t.getSh()));
1269 if(zlc>0 && t.getZlc() > 0){ 1248 if(zlc>0 && t.getZlc() > 0){
1270 long l=Math.round(nextJzyl); 1249 long l=Math.round(nextJzyl);
1271 double ylxs=l*100/100; 1250 double ylxs=l*100/100;
@@ -1288,7 +1267,8 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS @@ -1288,7 +1267,8 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS
1288 if (t.getZlc() >= 0) { 1267 if (t.getZlc() >= 0) {
1289 yh= Double.parseDouble(df.format(zyl * (t.getZlc() / zlc))); 1268 yh= Double.parseDouble(df.format(zyl * (t.getZlc() / zlc)));
1290 } 1269 }
1291 - nextJzyl = Arith.sub(Arith.add(t.getJzl(), nextJzyl), Arith.add(yh, t.getSh())); 1270 +// nextJzyl = Arith.sub(Arith.add(t.getJzl(), nextJzyl), Arith.add(yh, t.getSh()));
  1271 + nextJzyl = Arith.sub(Arith.add(t.getJzl(), nextJzyl), yh);
1292 if(zlc>0 && t.getZlc() >0){ 1272 if(zlc>0 && t.getZlc() >0){
1293 long l=0l; 1273 long l=0l;
1294 double ylxs=0.0; 1274 double ylxs=0.0;
src/main/java/com/bsth/service/schedule/datatools/TTInfoDetailDataToolsImpl.java
@@ -164,7 +164,7 @@ public class TTInfoDetailDataToolsImpl implements DataToolsService, TTInfoDetail @@ -164,7 +164,7 @@ public class TTInfoDetailDataToolsImpl implements DataToolsService, TTInfoDetail
164 ktrParms.put("erroroutputdir", dataToolsProperties.getTransErrordir()); 164 ktrParms.put("erroroutputdir", dataToolsProperties.getTransErrordir());
165 165
166 // 附加参数 166 // 附加参数
167 - ktrParms.put("injectktrfile", zdlyversion == null ? 167 + ktrParms.put("injectktrfile", zdlyversion == null || zdlyversion == -1 ?
168 ktrFile2.getAbsolutePath() : ktrFile2_ls.getAbsolutePath()); // 注入元数据的ktr文件 168 ktrFile2.getAbsolutePath() : ktrFile2_ls.getAbsolutePath()); // 注入元数据的ktr文件
169 ktrParms.put("sheetname", sheetname); // sheet工作区的名字 169 ktrParms.put("sheetname", sheetname); // sheet工作区的名字
170 ktrParms.put("lineinfoid", lineid); // 线路标准id 170 ktrParms.put("lineinfoid", lineid); // 线路标准id
src/main/resources/datatools/ktrs/ttinfodetailDataInput2_ls.ktr
1 -<?xml version="1.0" encoding="UTF-8"?>  
2 -<transformation>  
3 - <info>  
4 - <name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x5bfc;&#x5165;-&#x7ad9;&#x70b9;&#x8def;&#x7531;&#x7248;&#x672c;</name>  
5 - <description>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;&#x5bfc;&#x5165;</description>  
6 - <extended_description>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;</extended_description>  
7 - <trans_version/>  
8 - <trans_type>Normal</trans_type>  
9 - <trans_status>0</trans_status>  
10 - <directory>&#x2f;</directory>  
11 - <parameters>  
12 - </parameters>  
13 - <log>  
14 -<trans-log-table><connection/>  
15 -<schema/>  
16 -<table/>  
17 -<size_limit_lines/>  
18 -<interval/>  
19 -<timeout_days/>  
20 -<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>  
21 -<perf-log-table><connection/>  
22 -<schema/>  
23 -<table/>  
24 -<interval/>  
25 -<timeout_days/>  
26 -<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>  
27 -<channel-log-table><connection/>  
28 -<schema/>  
29 -<table/>  
30 -<timeout_days/>  
31 -<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>  
32 -<step-log-table><connection/>  
33 -<schema/>  
34 -<table/>  
35 -<timeout_days/>  
36 -<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>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>  
37 -<metrics-log-table><connection/>  
38 -<schema/>  
39 -<table/>  
40 -<timeout_days/>  
41 -<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>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>  
42 - </log>  
43 - <maxdate>  
44 - <connection/>  
45 - <table/>  
46 - <field/>  
47 - <offset>0.0</offset>  
48 - <maxdiff>0.0</maxdiff>  
49 - </maxdate>  
50 - <size_rowset>10000</size_rowset>  
51 - <sleep_time_empty>50</sleep_time_empty>  
52 - <sleep_time_full>50</sleep_time_full>  
53 - <unique_connections>N</unique_connections>  
54 - <feedback_shown>Y</feedback_shown>  
55 - <feedback_size>50000</feedback_size>  
56 - <using_thread_priorities>Y</using_thread_priorities>  
57 - <shared_objects_file/>  
58 - <capture_step_performance>N</capture_step_performance>  
59 - <step_performance_capturing_delay>1000</step_performance_capturing_delay>  
60 - <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit>  
61 - <dependencies>  
62 - </dependencies>  
63 - <partitionschemas>  
64 - </partitionschemas>  
65 - <slaveservers>  
66 - </slaveservers>  
67 - <clusterschemas>  
68 - </clusterschemas>  
69 - <created_user>-</created_user>  
70 - <created_date>2016&#x2f;06&#x2f;30 12&#x3a;21&#x3a;57.536</created_date>  
71 - <modified_user>-</modified_user>  
72 - <modified_date>2016&#x2f;06&#x2f;30 12&#x3a;21&#x3a;57.536</modified_date>  
73 - <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</key_for_session_key>  
74 - <is_key_private>N</is_key_private>  
75 - </info>  
76 - <notepads>  
77 - <notepad>  
78 - <note>&#x5b57;&#x5178;&#x8868;&#x5bf9;&#x5e94;&#xff08;&#x4ee5;&#x540e;&#x76f4;&#x63a5;&#x67e5;&#x627e;&#x8868; bsth_c_sys_dictionary&#xff09;&#xa;&#x7c7b;&#x578b; &#x4ee3;&#x7801; &#x540d;&#x79f0;&#xa;LineTrend 0 &#x4e0a;&#x884c;&#xa;LineTrend 1 &#x4e0b;&#x884c;&#xa;ScheduleType normal &#x6b63;&#x5e38;&#x73ed;&#x6b21;&#xa;ScheduleType out &#x51fa;&#x573a;&#xa;ScheduleType in &#x8fdb;&#x573a;&#xa;ScheduleType temp &#x4e34;&#x52a0;&#xa;ScheduleType region &#x533a;&#x95f4;&#xa;ScheduleType venting &#x653e;&#x7a7a;&#xa;ScheduleType major &#x653e;&#x5927;&#x7ad9;</note>  
79 - <xloc>606</xloc>  
80 - <yloc>129</yloc>  
81 - <width>332</width>  
82 - <heigth>186</heigth>  
83 - <fontname>YaHei Consolas Hybrid</fontname>  
84 - <fontsize>12</fontsize>  
85 - <fontbold>N</fontbold>  
86 - <fontitalic>N</fontitalic>  
87 - <fontcolorred>0</fontcolorred>  
88 - <fontcolorgreen>0</fontcolorgreen>  
89 - <fontcolorblue>0</fontcolorblue>  
90 - <backgroundcolorred>255</backgroundcolorred>  
91 - <backgroundcolorgreen>205</backgroundcolorgreen>  
92 - <backgroundcolorblue>112</backgroundcolorblue>  
93 - <bordercolorred>100</bordercolorred>  
94 - <bordercolorgreen>100</bordercolorgreen>  
95 - <bordercolorblue>100</bordercolorblue>  
96 - <drawshadow>Y</drawshadow>  
97 - </notepad>  
98 - <notepad>  
99 - <note>&#x56e0;&#x4e3a;&#x65f6;&#x523b;&#x8868;&#x8f93;&#x5165;&#x683c;&#x5f0f;&#x4e0d;&#x786e;&#x5b9a;&#x6027;&#xff0c;&#x4e3b;&#x8981;&#x56e0;&#x4e3a;&#x8868;&#x7ed3;&#x6784;&#x662f;&#x53cd;&#x8303;&#x5f0f;&#x5316;&#x7684;&#xff0c;&#xa;&#x6240;&#x4ee5;&#x9700;&#x8981;&#x5916;&#x90e8;&#x52a8;&#x6001;&#x6307;&#x5b9a;&#x613f;&#x6570;&#x636e;&#xff0c;&#x5934;&#x4e09;&#x4e2a;step&#x52a8;&#x6001;&#x6307;&#x5b9a;&#x613f;&#x6570;&#x636e;&#xa;&#xa;</note>  
100 - <xloc>79</xloc>  
101 - <yloc>206</yloc>  
102 - <width>346</width>  
103 - <heigth>74</heigth>  
104 - <fontname>YaHei Consolas Hybrid</fontname>  
105 - <fontsize>12</fontsize>  
106 - <fontbold>N</fontbold>  
107 - <fontitalic>N</fontitalic>  
108 - <fontcolorred>0</fontcolorred>  
109 - <fontcolorgreen>0</fontcolorgreen>  
110 - <fontcolorblue>0</fontcolorblue>  
111 - <backgroundcolorred>255</backgroundcolorred>  
112 - <backgroundcolorgreen>205</backgroundcolorgreen>  
113 - <backgroundcolorblue>112</backgroundcolorblue>  
114 - <bordercolorred>100</bordercolorred>  
115 - <bordercolorgreen>100</bordercolorgreen>  
116 - <bordercolorblue>100</bordercolorblue>  
117 - <drawshadow>Y</drawshadow>  
118 - </notepad>  
119 - <notepad>  
120 - <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>  
121 - <xloc>721</xloc>  
122 - <yloc>762</yloc>  
123 - <width>333</width>  
124 - <heigth>90</heigth>  
125 - <fontname>YaHei Consolas Hybrid</fontname>  
126 - <fontsize>12</fontsize>  
127 - <fontbold>N</fontbold>  
128 - <fontitalic>N</fontitalic>  
129 - <fontcolorred>0</fontcolorred>  
130 - <fontcolorgreen>0</fontcolorgreen>  
131 - <fontcolorblue>0</fontcolorblue>  
132 - <backgroundcolorred>255</backgroundcolorred>  
133 - <backgroundcolorgreen>205</backgroundcolorgreen>  
134 - <backgroundcolorblue>112</backgroundcolorblue>  
135 - <bordercolorred>100</bordercolorred>  
136 - <bordercolorgreen>100</bordercolorgreen>  
137 - <bordercolorblue>100</bordercolorblue>  
138 - <drawshadow>Y</drawshadow>  
139 - </notepad>  
140 - <notepad>  
141 - <note>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#xff0c;&#x65b9;&#x5411;&#x6709;&#x65f6;&#x786e;&#x5b9a;&#x4e0d;&#x51c6;&#xff0c;&#xa;&#x7a7a;&#x7684;&#x60c5;&#x51b5;&#x4e0b;&#x8bbe;&#x5b9a;&#x4e3a;0&#xff08;&#x4e0a;&#x884c;&#xff09;</note>  
142 - <xloc>104</xloc>  
143 - <yloc>939</yloc>  
144 - <width>178</width>  
145 - <heigth>42</heigth>  
146 - <fontname>YaHei Consolas Hybrid</fontname>  
147 - <fontsize>12</fontsize>  
148 - <fontbold>N</fontbold>  
149 - <fontitalic>N</fontitalic>  
150 - <fontcolorred>0</fontcolorred>  
151 - <fontcolorgreen>0</fontcolorgreen>  
152 - <fontcolorblue>0</fontcolorblue>  
153 - <backgroundcolorred>255</backgroundcolorred>  
154 - <backgroundcolorgreen>205</backgroundcolorgreen>  
155 - <backgroundcolorblue>112</backgroundcolorblue>  
156 - <bordercolorred>100</bordercolorred>  
157 - <bordercolorgreen>100</bordercolorgreen>  
158 - <bordercolorblue>100</bordercolorblue>  
159 - <drawshadow>Y</drawshadow>  
160 - </notepad>  
161 - <notepad>  
162 - <note>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#xff0c;&#x65b9;&#x5411;&#x6709;&#x65f6;&#x786e;&#x5b9a;&#x4e0d;&#x51c6;&#xff0c;&#xa;&#x7a7a;&#x7684;&#x60c5;&#x51b5;&#x4e0b;&#x8bbe;&#x5b9a;&#x4e3a;0&#xff08;&#x4e0a;&#x884c;&#xff09;</note>  
163 - <xloc>578</xloc>  
164 - <yloc>1084</yloc>  
165 - <width>178</width>  
166 - <heigth>42</heigth>  
167 - <fontname>YaHei Consolas Hybrid</fontname>  
168 - <fontsize>12</fontsize>  
169 - <fontbold>N</fontbold>  
170 - <fontitalic>N</fontitalic>  
171 - <fontcolorred>0</fontcolorred>  
172 - <fontcolorgreen>0</fontcolorgreen>  
173 - <fontcolorblue>0</fontcolorblue>  
174 - <backgroundcolorred>255</backgroundcolorred>  
175 - <backgroundcolorgreen>205</backgroundcolorgreen>  
176 - <backgroundcolorblue>112</backgroundcolorblue>  
177 - <bordercolorred>100</bordercolorred>  
178 - <bordercolorgreen>100</bordercolorgreen>  
179 - <bordercolorblue>100</bordercolorblue>  
180 - <drawshadow>Y</drawshadow>  
181 - </notepad>  
182 - </notepads>  
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>  
208 - <name>bus_control_variable</name>  
209 - <server>&#x24;&#x7b;v_db_ip&#x7d;</server>  
210 - <type>MYSQL</type>  
211 - <access>Native</access>  
212 - <database>&#x24;&#x7b;v_db_dname&#x7d;</database>  
213 - <port>3306</port>  
214 - <username>&#x24;&#x7b;v_db_uname&#x7d;</username>  
215 - <password>&#x24;&#x7b;v_db_pwd&#x7d;</password>  
216 - <servername/>  
217 - <data_tablespace/>  
218 - <index_tablespace/>  
219 - <attributes>  
220 - <attribute><code>EXTRA_OPTION_MYSQL.characterEncoding</code><attribute>utf8</attribute></attribute>  
221 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
222 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
223 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
224 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
225 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
226 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
227 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
228 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
229 - <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>  
230 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
231 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
232 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
233 - </attributes>  
234 - </connection>  
235 - <connection>  
236 - <name>bus_control_&#x516c;&#x53f8;_201</name>  
237 - <server>localhost</server>  
238 - <type>MYSQL</type>  
239 - <access>Native</access>  
240 - <database>control</database>  
241 - <port>3306</port>  
242 - <username>root</username>  
243 - <password>Encrypted </password>  
244 - <servername/>  
245 - <data_tablespace/>  
246 - <index_tablespace/>  
247 - <attributes>  
248 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
249 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
250 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
251 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
252 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
253 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
254 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
255 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
256 - <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>  
257 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
258 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
259 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
260 - </attributes>  
261 - </connection>  
262 - <connection>  
263 - <name>bus_control_&#x672c;&#x673a;</name>  
264 - <server>localhost</server>  
265 - <type>MYSQL</type>  
266 - <access>Native</access>  
267 - <database>control</database>  
268 - <port>3306</port>  
269 - <username>root</username>  
270 - <password>Encrypted </password>  
271 - <servername/>  
272 - <data_tablespace/>  
273 - <index_tablespace/>  
274 - <attributes>  
275 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
276 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
277 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
278 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
279 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
280 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
281 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
282 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
283 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
284 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
285 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
286 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
287 - </attributes>  
288 - </connection>  
289 - <connection>  
290 - <name>xlab_mysql_youle</name>  
291 - <server>101.231.124.8</server>  
292 - <type>MYSQL</type>  
293 - <access>Native</access>  
294 - <database>xlab_youle</database>  
295 - <port>45687</port>  
296 - <username>xlab-youle</username>  
297 - <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password>  
298 - <servername/>  
299 - <data_tablespace/>  
300 - <index_tablespace/>  
301 - <attributes>  
302 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
303 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
304 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
305 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
306 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
307 - <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute>  
308 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
309 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
310 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
311 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>  
312 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>  
313 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
314 - </attributes>  
315 - </connection>  
316 - <connection>  
317 - <name>xlab_mysql_youle&#xff08;&#x672c;&#x673a;&#xff09;</name>  
318 - <server>localhost</server>  
319 - <type>MYSQL</type>  
320 - <access>Native</access>  
321 - <database>xlab_youle</database>  
322 - <port>3306</port>  
323 - <username>root</username>  
324 - <password>Encrypted </password>  
325 - <servername/>  
326 - <data_tablespace/>  
327 - <index_tablespace/>  
328 - <attributes>  
329 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
330 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
331 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
332 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
333 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
334 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
335 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
336 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
337 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
338 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>  
339 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>  
340 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
341 - </attributes>  
342 - </connection>  
343 - <connection>  
344 - <name>xlab_youle</name>  
345 - <server/>  
346 - <type>MYSQL</type>  
347 - <access>JNDI</access>  
348 - <database>xlab_youle</database>  
349 - <port>1521</port>  
350 - <username/>  
351 - <password>Encrypted </password>  
352 - <servername/>  
353 - <data_tablespace/>  
354 - <index_tablespace/>  
355 - <attributes>  
356 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
357 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
358 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
359 - <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>  
360 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
361 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
362 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
363 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
364 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
365 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
366 - </attributes>  
367 - </connection>  
368 - <order>  
369 - <hop> <from>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</from><to>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</to><enabled>Y</enabled> </hop>  
370 - <hop> <from>&#x6dfb;&#x52a0;&#x53d1;&#x8f66;&#x987a;&#x5e8f;&#x53f7;</from><to>&#x8fc7;&#x6ee4;&#x8bb0;&#x5f55;&#xff08;&#x53d1;&#x8f66;&#x65f6;&#x95f4;&#x4e3a;&#x7a7a;&#xff09;</to><enabled>Y</enabled> </hop>  
371 - <hop> <from>&#x8fc7;&#x6ee4;&#x8bb0;&#x5f55;&#xff08;&#x53d1;&#x8f66;&#x65f6;&#x95f4;&#x4e3a;&#x7a7a;&#xff09;</from><to>&#x6dfb;&#x52a0;&#x5bf9;&#x5e94;&#x73ed;&#x6b21;&#x6570;</to><enabled>Y</enabled> </hop>  
372 - <hop> <from>&#x6dfb;&#x52a0;&#x5bf9;&#x5e94;&#x73ed;&#x6b21;&#x6570;</from><to>&#x5904;&#x7406;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>  
373 - <hop> <from>&#x5904;&#x7406;&#x6570;&#x636e;</from><to>&#x5206;&#x7ec4;&#x5404;&#x4e2a;&#x8def;&#x724c;&#x7684;&#x7ad9;</to><enabled>Y</enabled> </hop>  
374 - <hop> <from>&#x67e5;&#x627e;&#x65f6;&#x523b;&#x8868;&#x57fa;&#x7840;&#x4fe1;&#x606f;&#x5173;&#x8054;</from><to>&#x67e5;&#x627e;&#x8def;&#x724c;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop>  
375 - <hop> <from>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x5173;&#x8054;</from><to>&#x67e5;&#x627e;&#x65f6;&#x523b;&#x8868;&#x57fa;&#x7840;&#x4fe1;&#x606f;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop>  
376 - <hop> <from>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178;</from><to>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178;</to><enabled>Y</enabled> </hop>  
377 - <hop> <from>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 2</from><to>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 2</to><enabled>Y</enabled> </hop>  
378 - <hop> <from>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 3</from><to>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 3</to><enabled>Y</enabled> </hop>  
379 - <hop> <from>&#x5339;&#x914d;&#x4e0a;&#x4e0b;&#x884c;&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x7c7b;&#x578b;&#x4fee;&#x6b63;</to><enabled>Y</enabled> </hop>  
380 - <hop> <from>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;1</from><to>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</to><enabled>Y</enabled> </hop>  
381 - <hop> <from>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;1</from><to>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>  
382 - <hop> <from>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</from><to>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>  
383 - <hop> <from>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</from><to>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>  
384 - <hop> <from>&#x67e5;&#x627e;&#x6240;&#x6709;&#x7ebf;&#x8def;&#x4e0a;&#x4e0b;&#x884c;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x5339;&#x914d;&#x4e0a;&#x4e0b;&#x884c;&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>  
385 - <hop> <from>&#x67e5;&#x627e;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;</from><to>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178;</to><enabled>Y</enabled> </hop>  
386 - <hop> <from>&#x67e5;&#x627e;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</from><to>&#x67e5;&#x627e;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop>  
387 - <hop> <from>&#x6b63;&#x5e38;&#x73ed;&#x6b21;_&#x5904;&#x7406;&#x6570;&#x636e;</from><to>&#x67e5;&#x627e;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</to><enabled>Y</enabled> </hop>  
388 - <hop> <from>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x6570;&#x636e;</from><to>&#x6b63;&#x5e38;&#x73ed;&#x6b21;_&#x5904;&#x7406;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>  
389 - <hop> <from>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178;</from><to>&#x67e5;&#x627e;&#x6240;&#x6709;&#x7ebf;&#x8def;&#x4e0a;&#x4e0b;&#x884c;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>  
390 - <hop> <from>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 2</from><to>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x51fa;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>  
391 - <hop> <from>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 3</from><to>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x8fdb;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>  
392 - <hop> <from>&#x8ba1;&#x7b97;&#x73ed;&#x6b21;&#x7c7b;&#x578b;</from><to>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;1</to><enabled>Y</enabled> </hop>  
393 - <hop> <from>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</from><to>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;1</to><enabled>Y</enabled> </hop>  
394 - <hop> <from>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;1</from><to>&#x51fa;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x7ec8;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</to><enabled>Y</enabled> </hop>  
395 - <hop> <from>&#x51fa;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x7ec8;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</from><to>&#x67e5;&#x627e;&#x51fa;&#x573a;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</to><enabled>Y</enabled> </hop>  
396 - <hop> <from>&#x67e5;&#x627e;&#x51fa;&#x573a;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</from><to>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 2</to><enabled>Y</enabled> </hop>  
397 - <hop> <from>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</from><to>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;2</to><enabled>Y</enabled> </hop>  
398 - <hop> <from>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;2</from><to>&#x8fdb;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x8d77;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</to><enabled>Y</enabled> </hop>  
399 - <hop> <from>&#x8fdb;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x8d77;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</from><to>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ebf;&#x8def;&#x65b9;&#x5411;</to><enabled>Y</enabled> </hop>  
400 - <hop> <from>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ebf;&#x8def;&#x65b9;&#x5411;</from><to>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ec8;&#x70b9;&#x7ad9;&#xff0c;&#x5e76;&#x4f5c;&#x4e3a;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x70b9;&#x7ad9;</to><enabled>Y</enabled> </hop>  
401 - <hop> <from>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</from><to>&#x6dfb;&#x52a0;&#x53d1;&#x8f66;&#x987a;&#x5e8f;&#x53f7;</to><enabled>Y</enabled> </hop>  
402 - <hop> <from>&#x5206;&#x7ec4;&#x5404;&#x4e2a;&#x8def;&#x724c;&#x7684;&#x7ad9;</from><to>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop>  
403 - <hop> <from>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;&#xff0c;&#x7ebf;&#x8def;&#x540d;&#x5b57;&#xff0c;&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</from><to>&#x8bb0;&#x5f55;&#x5173;&#x8054; &#x28;&#x7b1b;&#x5361;&#x5c14;&#x8f93;&#x51fa;&#x29;</to><enabled>Y</enabled> </hop>  
404 - <hop> <from>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</from><to>&#x8bb0;&#x5f55;&#x5173;&#x8054; &#x28;&#x7b1b;&#x5361;&#x5c14;&#x8f93;&#x51fa;&#x29;</to><enabled>Y</enabled> </hop>  
405 - <hop> <from>&#x8bb0;&#x5f55;&#x5173;&#x8054; &#x28;&#x7b1b;&#x5361;&#x5c14;&#x8f93;&#x51fa;&#x29;</from><to>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</to><enabled>Y</enabled> </hop>  
406 - <hop> <from>&#x7c7b;&#x578b;&#x4fee;&#x6b63;</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail</to><enabled>Y</enabled> </hop>  
407 - <hop> <from>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ec8;&#x70b9;&#x7ad9;&#xff0c;&#x5e76;&#x4f5c;&#x4e3a;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x70b9;&#x7ad9;</from><to>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</to><enabled>Y</enabled> </hop>  
408 - <hop> <from>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</from><to>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 3</to><enabled>Y</enabled> </hop>  
409 - <hop> <from>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x51fa;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x5339;&#x914d;&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>  
410 - <hop> <from>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x8fdb;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x5339;&#x914d;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>  
411 - <hop> <from>&#x5339;&#x914d;&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x4e0a;&#x4e0b;&#x884c;NULL&#x5224;&#x5b9a;</to><enabled>Y</enabled> </hop>  
412 - <hop> <from>&#x4e0a;&#x4e0b;&#x884c;NULL&#x5224;&#x5b9a;</from><to>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 2</to><enabled>Y</enabled> </hop>  
413 - <hop> <from>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 2</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail 2</to><enabled>Y</enabled> </hop>  
414 - <hop> <from>&#x5339;&#x914d;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x4e0a;&#x4e0b;&#x884c;&#x5224;&#x5b9a; 2</to><enabled>Y</enabled> </hop>  
415 - <hop> <from>&#x4e0a;&#x4e0b;&#x884c;&#x5224;&#x5b9a; 2</from><to>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 3</to><enabled>Y</enabled> </hop>  
416 - <hop> <from>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 3</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail 3</to><enabled>Y</enabled> </hop>  
417 - <hop> <from>&#x67e5;&#x627e;&#x8def;&#x724c;&#x5173;&#x8054;</from><to>&#x7ad9;&#x70b9;&#x8def;&#x7531;&#x7248;&#x672c;&#x7c7b;&#x578b;</to><enabled>Y</enabled> </hop>  
418 - <hop> <from>&#x7ad9;&#x70b9;&#x8def;&#x7531;&#x7248;&#x672c;&#x7c7b;&#x578b;</from><to>&#x8ba1;&#x7b97;&#x73ed;&#x6b21;&#x7c7b;&#x578b;</to><enabled>Y</enabled> </hop>  
419 - </order>  
420 - <step>  
421 - <name>&#x4e0a;&#x4e0b;&#x884c;NULL&#x5224;&#x5b9a;</name>  
422 - <type>IfNull</type>  
423 - <description/>  
424 - <distribute>Y</distribute>  
425 - <custom_distribution/>  
426 - <copies>1</copies>  
427 - <partitioning>  
428 - <method>none</method>  
429 - <schema_name/>  
430 - </partitioning>  
431 - <replaceAllByValue/>  
432 - <replaceAllMask/>  
433 - <selectFields>Y</selectFields>  
434 - <selectValuesType>N</selectValuesType>  
435 - <setEmptyStringAll>N</setEmptyStringAll>  
436 - <valuetypes>  
437 - </valuetypes>  
438 - <fields>  
439 - <field>  
440 - <name>sxx</name>  
441 - <value>0</value>  
442 - <mask/>  
443 - <set_empty_string>N</set_empty_string>  
444 - </field>  
445 - </fields>  
446 - <cluster_schema/>  
447 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
448 - <xloc>335</xloc>  
449 - <yloc>938</yloc>  
450 - <draw>Y</draw>  
451 - </GUI>  
452 - </step>  
453 -  
454 - <step>  
455 - <name>&#x4e0a;&#x4e0b;&#x884c;&#x5224;&#x5b9a; 2</name>  
456 - <type>IfNull</type>  
457 - <description/>  
458 - <distribute>Y</distribute>  
459 - <custom_distribution/>  
460 - <copies>1</copies>  
461 - <partitioning>  
462 - <method>none</method>  
463 - <schema_name/>  
464 - </partitioning>  
465 - <replaceAllByValue/>  
466 - <replaceAllMask/>  
467 - <selectFields>Y</selectFields>  
468 - <selectValuesType>N</selectValuesType>  
469 - <setEmptyStringAll>N</setEmptyStringAll>  
470 - <valuetypes>  
471 - </valuetypes>  
472 - <fields>  
473 - <field>  
474 - <name>sxx2</name>  
475 - <value>0</value>  
476 - <mask/>  
477 - <set_empty_string>N</set_empty_string>  
478 - </field>  
479 - </fields>  
480 - <cluster_schema/>  
481 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
482 - <xloc>804</xloc>  
483 - <yloc>1081</yloc>  
484 - <draw>Y</draw>  
485 - </GUI>  
486 - </step>  
487 -  
488 - <step>  
489 - <name>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178;</name>  
490 - <type>ValueMapper</type>  
491 - <description/>  
492 - <distribute>Y</distribute>  
493 - <custom_distribution/>  
494 - <copies>1</copies>  
495 - <partitioning>  
496 - <method>none</method>  
497 - <schema_name/>  
498 - </partitioning>  
499 - <field_to_use>sxx</field_to_use>  
500 - <target_field>sxx_desc</target_field>  
501 - <non_match_default/>  
502 - <fields>  
503 - <field>  
504 - <source_value>0</source_value>  
505 - <target_value>&#x4e0a;&#x884c;</target_value>  
506 - </field>  
507 - <field>  
508 - <source_value>1</source_value>  
509 - <target_value>&#x4e0b;&#x884c;</target_value>  
510 - </field>  
511 - </fields>  
512 - <cluster_schema/>  
513 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
514 - <xloc>147</xloc>  
515 - <yloc>403</yloc>  
516 - <draw>Y</draw>  
517 - </GUI>  
518 - </step>  
519 -  
520 - <step>  
521 - <name>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 2</name>  
522 - <type>ValueMapper</type>  
523 - <description/>  
524 - <distribute>Y</distribute>  
525 - <custom_distribution/>  
526 - <copies>1</copies>  
527 - <partitioning>  
528 - <method>none</method>  
529 - <schema_name/>  
530 - </partitioning>  
531 - <field_to_use>sxx</field_to_use>  
532 - <target_field>sxx_desc</target_field>  
533 - <non_match_default/>  
534 - <fields>  
535 - <field>  
536 - <source_value>0</source_value>  
537 - <target_value>&#x4e0a;&#x884c;</target_value>  
538 - </field>  
539 - <field>  
540 - <source_value>1</source_value>  
541 - <target_value>&#x4e0b;&#x884c;</target_value>  
542 - </field>  
543 - </fields>  
544 - <cluster_schema/>  
545 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
546 - <xloc>331</xloc>  
547 - <yloc>598</yloc>  
548 - <draw>Y</draw>  
549 - </GUI>  
550 - </step>  
551 -  
552 - <step>  
553 - <name>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 3</name>  
554 - <type>ValueMapper</type>  
555 - <description/>  
556 - <distribute>Y</distribute>  
557 - <custom_distribution/>  
558 - <copies>1</copies>  
559 - <partitioning>  
560 - <method>none</method>  
561 - <schema_name/>  
562 - </partitioning>  
563 - <field_to_use>sxx</field_to_use>  
564 - <target_field>sxx_desc</target_field>  
565 - <non_match_default/>  
566 - <fields>  
567 - <field>  
568 - <source_value>0</source_value>  
569 - <target_value>&#x4e0a;&#x884c;</target_value>  
570 - </field>  
571 - <field>  
572 - <source_value>1</source_value>  
573 - <target_value>&#x4e0b;&#x884c;</target_value>  
574 - </field>  
575 - </fields>  
576 - <cluster_schema/>  
577 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
578 - <xloc>553</xloc>  
579 - <yloc>859</yloc>  
580 - <draw>Y</draw>  
581 - </GUI>  
582 - </step>  
583 -  
584 - <step>  
585 - <name>&#x51fa;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x7ec8;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</name>  
586 - <type>ScriptValueMod</type>  
587 - <description/>  
588 - <distribute>Y</distribute>  
589 - <custom_distribution/>  
590 - <copies>1</copies>  
591 - <partitioning>  
592 - <method>none</method>  
593 - <schema_name/>  
594 - </partitioning>  
595 - <compatible>N</compatible>  
596 - <optimizationLevel>9</optimizationLevel>  
597 - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>  
598 - <jsScript_name>Script 1</jsScript_name>  
599 - <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f; &#x6dfb;&#x52a0;&#x7ad9;&#x70b9;&#x6807;&#x8bc6;&#xa;var cc_groups &#x3d; qdzgroups.split&#x28;&#x22;,&#x22;&#x29;&#x3b; &#x2f;&#x2f; &#x6240;&#x6709;&#x73ed;&#x6b21;&#x8d77;&#x70b9;&#x7ad9;&#x6570;&#x7ec4;&#xa;var zdzname &#x3d; cc_groups&#x5b;gno&#x5d;&#x3b; &#x2f;&#x2f; &#x51fa;&#x573a;&#x73ed;&#x6b21;&#x7684;&#x7ec8;&#x70b9;&#x7ad9;&#x662f;&#x4e0b;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x59cb;&#x7ad9;&#xa;var endZdtype &#x3d; &#x27;B&#x27;&#x3b;&#xa;&#x2f;&#x2f; var endZdtype &#x3d; &#x27;E&#x27;&#x3b;&#xa;&#xa;var destory &#x3d; 0&#x3b; &#x2f;&#x2f; &#x672a;&#x64a4;&#x9500;flag</jsScript_script>  
600 - </jsScript> </jsScripts> <fields> <field> <name>zdzname</name>  
601 - <rename>zdzname</rename>  
602 - <type>String</type>  
603 - <length>-1</length>  
604 - <precision>-1</precision>  
605 - <replace>N</replace>  
606 - </field> <field> <name>endZdtype</name>  
607 - <rename>endZdtype</rename>  
608 - <type>String</type>  
609 - <length>-1</length>  
610 - <precision>-1</precision>  
611 - <replace>N</replace>  
612 - </field> <field> <name>destory</name>  
613 - <rename>destory</rename>  
614 - <type>Integer</type>  
615 - <length>-1</length>  
616 - <precision>-1</precision>  
617 - <replace>N</replace>  
618 - </field> </fields> <cluster_schema/>  
619 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
620 - <xloc>575</xloc>  
621 - <yloc>502</yloc>  
622 - <draw>Y</draw>  
623 - </GUI>  
624 - </step>  
625 -  
626 - <step>  
627 - <name>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</name>  
628 - <type>Dummy</type>  
629 - <description/>  
630 - <distribute>Y</distribute>  
631 - <custom_distribution/>  
632 - <copies>1</copies>  
633 - <partitioning>  
634 - <method>none</method>  
635 - <schema_name/>  
636 - </partitioning>  
637 - <cluster_schema/>  
638 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
639 - <xloc>869</xloc>  
640 - <yloc>504</yloc>  
641 - <draw>Y</draw>  
642 - </GUI>  
643 - </step>  
644 -  
645 - <step>  
646 - <name>&#x5206;&#x7ec4;&#x5404;&#x4e2a;&#x8def;&#x724c;&#x7684;&#x7ad9;</name>  
647 - <type>GroupBy</type>  
648 - <description/>  
649 - <distribute>Y</distribute>  
650 - <custom_distribution/>  
651 - <copies>1</copies>  
652 - <partitioning>  
653 - <method>none</method>  
654 - <schema_name/>  
655 - </partitioning>  
656 - <all_rows>Y</all_rows>  
657 - <ignore_aggregate>N</ignore_aggregate>  
658 - <field_ignore/>  
659 - <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>  
660 - <prefix>grp</prefix>  
661 - <add_linenr>Y</add_linenr>  
662 - <linenr_fieldname>gno</linenr_fieldname>  
663 - <give_back_row>N</give_back_row>  
664 - <group>  
665 - <field>  
666 - <name>lp</name>  
667 - </field>  
668 - </group>  
669 - <fields>  
670 - <field>  
671 - <aggregate>qdzgroups</aggregate>  
672 - <subject>qdzname</subject>  
673 - <type>CONCAT_STRING</type>  
674 - <valuefield>,</valuefield>  
675 - </field>  
676 - </fields>  
677 - <cluster_schema/>  
678 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
679 - <xloc>892</xloc>  
680 - <yloc>44</yloc>  
681 - <draw>Y</draw>  
682 - </GUI>  
683 - </step>  
684 -  
685 - <step>  
686 - <name>&#x5339;&#x914d;&#x4e0a;&#x4e0b;&#x884c;&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>  
687 - <type>ScriptValueMod</type>  
688 - <description/>  
689 - <distribute>Y</distribute>  
690 - <custom_distribution/>  
691 - <copies>1</copies>  
692 - <partitioning>  
693 - <method>none</method>  
694 - <schema_name/>  
695 - </partitioning>  
696 - <compatible>N</compatible>  
697 - <optimizationLevel>9</optimizationLevel>  
698 - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>  
699 - <jsScript_name>Script 1</jsScript_name>  
700 - <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var jhlc&#x3b; &#x2f;&#x2f; &#x8ba1;&#x5212;&#x91cc;&#x7a0b;&#xa;var bcsj&#x3b; &#x2f;&#x2f; &#x73ed;&#x6b21;&#x65f6;&#x95f4;&#xa;&#xa;&#x2f;&#x2f; &#x65f6;&#x95f4;&#x8303;&#x56f4;&#x6b63;&#x5219;&#x8868;&#x8fbe;&#x5f0f;&#xa;var timeRex &#x3d; &#x2f;&#x5e;&#x28;&#x5b;01&#x5d;&#x3f;&#x5b;0-9&#x5d;&#x7c;2&#x5b;0-3&#x5d;&#x29;&#x3a;&#x5b;0-5&#x5d;&#x5b;0-9&#x5d;&#x24;&#x2f;&#x3b;&#xa;&#x2f;&#x2f; &#x53d1;&#x8f66;&#x65f6;&#x95f4;&#x8f6c;&#x6362;&#x6210;&#x65e5;&#x671f;&#xa;var fcsj_hour &#x3d; str2num&#x28;sendtime_calcu.substr&#x28;0, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa;var fcsj_min &#x3d; str2num&#x28;sendtime_calcu.substr&#x28;3, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa;var fcsj_date &#x3d; new Date&#x28;2000,1,1,fcsj_hour,fcsj_min,0&#x29;&#x3b;&#xa;&#xa;&#x2f;&#x2f; &#x5224;&#x5b9a;&#x662f;&#x5426;&#x65e9;&#x9ad8;&#x5cf0;&#xa;var isZgf &#x3d; false&#x3b;&#xa;if &#x28;timeRex.test&#x28;early_start_time&#x29; &#x26;&#x26; timeRex.test&#x28;early_end_time&#x29; &#x26;&#x26; early_up_time &#x21;&#x3d; null &#x26;&#x26; early_down_time &#x21;&#x3d; null&#x29; &#x7b;&#xa; var early_s_hour &#x3d; str2num&#x28;early_start_time.substr&#x28;0, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var early_s_min &#x3d; str2num&#x28;early_start_time.substr&#x28;3, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var early_s_date &#x3d; new Date&#x28;2000,1,1,early_s_hour,early_s_min,0&#x29;&#x3b;&#xa;&#xa; var early_e_hour &#x3d; str2num&#x28;early_end_time.substr&#x28;0, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var early_e_min &#x3d; str2num&#x28;early_end_time.substr&#x28;3, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var early_e_date &#x3d; new Date&#x28;2000,1,1,early_e_hour,early_e_min,0&#x29;&#x3b;&#xa;&#xa; if &#x28;fcsj_date &#x3e;&#x3d; early_s_date &#x26;&#x26; fcsj_date &#x3c;&#x3d; early_e_date&#x29; &#x7b;&#xa; isZgf &#x3d; true&#x3b;&#xa; &#x7d;&#xa;&#x7d;&#xa;&#xa;&#x2f;&#x2f; &#x5224;&#x5b9a;&#x662f;&#x5426;&#x665a;&#x9ad8;&#x5cf0;&#xa;var isWgf &#x3d; false&#x3b;&#xa;if &#x28;timeRex.test&#x28;late_start_time&#x29; &#x26;&#x26; timeRex.test&#x28;late_end_time&#x29; &#x26;&#x26; late_up_time &#x21;&#x3d; null &#x26;&#x26; late_down_time &#x21;&#x3d; null&#x29; &#x7b;&#xa; var late_s_hour &#x3d; str2num&#x28;late_start_time.substr&#x28;0, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var late_s_min &#x3d; str2num&#x28;late_start_time.substr&#x28;3, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var late_s_date &#x3d; new Date&#x28;2000,1,1,late_s_hour,late_s_min,0&#x29;&#x3b;&#xa;&#xa; var late_e_hour &#x3d; str2num&#x28;late_end_time.substr&#x28;0, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var late_e_min &#x3d; str2num&#x28;late_end_time.substr&#x28;3, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var late_e_date &#x3d; new Date&#x28;2000,1,1,late_e_hour,late_e_min,0&#x29;&#x3b;&#xa;&#xa; if &#x28;fcsj_date &#x3e;&#x3d; late_s_date &#x26;&#x26; fcsj_date &#x3c;&#x3d; late_e_date&#x29; &#x7b;&#xa; isWgf &#x3d; true&#x3b;&#xa; &#x7d;&#xa;&#x7d;&#xa;&#xa;&#x2f;&#x2f; &#x5224;&#x5b9a;&#x662f;&#x5426;&#x665a;&#x9ad8;&#x5cf0;&#xa;&#xa;if &#x28;sxx &#x3d;&#x3d; 0&#x29; &#x7b; &#x2f;&#x2f; &#x4e0a;&#x884c;&#xa; if &#x28;isZgf&#x29; &#x7b;&#xa; jhlc &#x3d; up_mileage&#x3b;&#xa; bcsj &#x3d; early_up_time &#x21;&#x3d; 0 &#x3f; early_up_time &#x3a; up_travel_time&#x3b;&#xa; &#x7d; else if &#x28;isWgf&#x29; &#x7b;&#xa; jhlc &#x3d; up_mileage&#x3b;&#xa; bcsj &#x3d; late_up_time &#x21;&#x3d; 0 &#x3f; late_up_time &#x3a; up_travel_time&#x3b;&#xa; &#x7d; else &#x7b;&#xa; jhlc &#x3d; up_mileage&#x3b;&#xa; bcsj &#x3d; up_travel_time&#x3b;&#xa; &#x7d;&#xa;&#x7d; else &#x7b; &#x2f;&#x2f; sxx &#x3d;&#x3d; 1 &#x4e0b;&#x884c;&#xa; if &#x28;isZgf&#x29; &#x7b;&#xa; jhlc &#x3d; down_mileage&#x3b;&#xa; bcsj &#x3d; early_down_time &#x21;&#x3d; 0 &#x3f; early_down_time &#x3a; down_travel_time&#x3b;&#xa; &#x7d; else if &#x28;isWgf&#x29; &#x7b;&#xa; jhlc &#x3d; down_mileage&#x3b;&#xa; bcsj &#x3d; late_down_time &#x21;&#x3d; 0 &#x3f; late_down_time &#x3a; down_travel_time&#x3b;&#xa; &#x7d; else &#x7b;&#xa; jhlc &#x3d; down_mileage&#x3b;&#xa; bcsj &#x3d; down_travel_time&#x3b;&#xa; &#x7d;&#xa;&#x7d;</jsScript_script>  
701 - </jsScript> </jsScripts> <fields> <field> <name>jhlc</name>  
702 - <rename>jhlc</rename>  
703 - <type>String</type>  
704 - <length>-1</length>  
705 - <precision>-1</precision>  
706 - <replace>N</replace>  
707 - </field> <field> <name>bcsj</name>  
708 - <rename>bcsj</rename>  
709 - <type>String</type>  
710 - <length>-1</length>  
711 - <precision>-1</precision>  
712 - <replace>N</replace>  
713 - </field> </fields> <cluster_schema/>  
714 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
715 - <xloc>148</xloc>  
716 - <yloc>674</yloc>  
717 - <draw>Y</draw>  
718 - </GUI>  
719 - </step>  
720 -  
721 - <step>  
722 - <name>&#x5339;&#x914d;&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>  
723 - <type>ScriptValueMod</type>  
724 - <description/>  
725 - <distribute>Y</distribute>  
726 - <custom_distribution/>  
727 - <copies>1</copies>  
728 - <partitioning>  
729 - <method>none</method>  
730 - <schema_name/>  
731 - </partitioning>  
732 - <compatible>N</compatible>  
733 - <optimizationLevel>9</optimizationLevel>  
734 - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>  
735 - <jsScript_name>Script 1</jsScript_name>  
736 - <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var out_mileage&#x3b; &#x2f;&#x2f; &#x51fa;&#x573a;&#x8ba1;&#x5212;&#x91cc;&#x7a0b;&#xa;var out_time&#x3b; &#x2f;&#x2f; &#x51fa;&#x573a;&#x8ba1;&#x5212;&#x65f6;&#x95f4;&#xa;&#xa;if &#x28;sxx &#x3d;&#x3d; 0&#x29; &#x7b; &#x2f;&#x2f; &#x4e0a;&#x884c;&#xa; out_mileage &#x3d; up_out_mileage&#x3b;&#xa; out_time &#x3d; up_out_timer&#x3b;&#xa;&#x7d; else &#x7b; &#x2f;&#x2f; sxx &#x3d;&#x3d; 1 &#x4e0b;&#x884c;&#xa; out_mileage &#x3d; down_out_mileage&#x3b;&#xa; out_time &#x3d; down_out_timer&#x3b;&#xa;&#x7d;&#xa;&#xa;&#xa;&#xa;</jsScript_script>  
737 - </jsScript> </jsScripts> <fields> <field> <name>out_mileage</name>  
738 - <rename>out_mileage</rename>  
739 - <type>String</type>  
740 - <length>-1</length>  
741 - <precision>-1</precision>  
742 - <replace>N</replace>  
743 - </field> <field> <name>out_time</name>  
744 - <rename>out_time</rename>  
745 - <type>String</type>  
746 - <length>-1</length>  
747 - <precision>-1</precision>  
748 - <replace>N</replace>  
749 - </field> </fields> <cluster_schema/>  
750 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
751 - <xloc>336</xloc>  
752 - <yloc>862</yloc>  
753 - <draw>Y</draw>  
754 - </GUI>  
755 - </step>  
756 -  
757 - <step>  
758 - <name>&#x5339;&#x914d;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>  
759 - <type>ScriptValueMod</type>  
760 - <description/>  
761 - <distribute>Y</distribute>  
762 - <custom_distribution/>  
763 - <copies>1</copies>  
764 - <partitioning>  
765 - <method>none</method>  
766 - <schema_name/>  
767 - </partitioning>  
768 - <compatible>N</compatible>  
769 - <optimizationLevel>9</optimizationLevel>  
770 - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>  
771 - <jsScript_name>Script 1</jsScript_name>  
772 - <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var parade_mileage&#x3b; &#x2f;&#x2f; &#x8fdb;&#x573a;&#x8ba1;&#x5212;&#x91cc;&#x7a0b;&#xa;var parade_time&#x3b; &#x2f;&#x2f; &#x8fdb;&#x573a;&#x8ba1;&#x5212;&#x65f6;&#x95f4;&#xa;&#xa;if &#x28;sxx2 &#x3d;&#x3d; 0&#x29; &#x7b; &#x2f;&#x2f; &#x4e0a;&#x884c;&#xa; parade_mileage &#x3d; up_in_mileage&#x3b;&#xa; parade_time &#x3d; up_in_timer&#x3b;&#xa;&#x7d; else &#x7b; &#x2f;&#x2f; sxx &#x3d;&#x3d; 1 &#x4e0b;&#x884c;&#xa; parade_mileage &#x3d; down_in_mileage&#x3b;&#xa; parade_time &#x3d; down_in_timer&#x3b;&#xa;&#x7d;&#xa;&#xa;&#xa;&#xa;</jsScript_script>  
773 - </jsScript> </jsScripts> <fields> <field> <name>parade_mileage</name>  
774 - <rename>parade_mileage</rename>  
775 - <type>String</type>  
776 - <length>-1</length>  
777 - <precision>-1</precision>  
778 - <replace>N</replace>  
779 - </field> <field> <name>parade_time</name>  
780 - <rename>parade_time</rename>  
781 - <type>String</type>  
782 - <length>-1</length>  
783 - <precision>-1</precision>  
784 - <replace>N</replace>  
785 - </field> </fields> <cluster_schema/>  
786 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
787 - <xloc>726</xloc>  
788 - <yloc>1005</yloc>  
789 - <draw>Y</draw>  
790 - </GUI>  
791 - </step>  
792 -  
793 - <step>  
794 - <name>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;&#xff0c;&#x7ebf;&#x8def;&#x540d;&#x5b57;&#xff0c;&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</name>  
795 - <type>DataGrid</type>  
796 - <description/>  
797 - <distribute>Y</distribute>  
798 - <custom_distribution/>  
799 - <copies>1</copies>  
800 - <partitioning>  
801 - <method>none</method>  
802 - <schema_name/>  
803 - </partitioning>  
804 - <fields>  
805 - </fields>  
806 - <data>  
807 - <line> </line>  
808 - </data>  
809 - <cluster_schema/>  
810 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
811 - <xloc>110</xloc>  
812 - <yloc>133</yloc>  
813 - <draw>Y</draw>  
814 - </GUI>  
815 - </step>  
816 -  
817 - <step>  
818 - <name>&#x5904;&#x7406;&#x6570;&#x636e;</name>  
819 - <type>ScriptValueMod</type>  
820 - <description/>  
821 - <distribute>Y</distribute>  
822 - <custom_distribution/>  
823 - <copies>1</copies>  
824 - <partitioning>  
825 - <method>none</method>  
826 - <schema_name/>  
827 - </partitioning>  
828 - <compatible>N</compatible>  
829 - <optimizationLevel>9</optimizationLevel>  
830 - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>  
831 - <jsScript_name>Script 1</jsScript_name>  
832 - <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f; &#x4f7f;&#x7528;&#x6b63;&#x5219;&#x8868;&#x8fbe;&#x5f0f;&#x53bb;&#x9664;&#x7ad9;&#x70b9;&#x540d;&#x79f0;&#x53f3;&#x4fa7;&#x591a;&#x4f59;&#x7684;&#x6570;&#x5b57;&#xa;qdzname &#x3d; qdzname.replace&#x28;&#x2f;&#x28;&#x5c;d&#x2b;&#x24;&#x29;&#x2f;g,&#x27;&#x27;&#x29;&#x3b;&#xa;if &#x28;qdzname &#x21;&#x3d; &#x22;&#x51fa;&#x573a;&#x22; &#x26;&#x26; qdzname &#x21;&#x3d; &#x22;&#x8fdb;&#x573a;&#x22;&#x29; &#x7b;&#xa; qdzname &#x3d; qdzname &#x2b; &#x22;&#x25;&#x22;&#x3b; &#x2f;&#x2f; &#x6a21;&#x7cca;&#x5339;&#x914d;&#x6807;&#x8bc6;&#x7b26;&#xa;&#x7d;&#xa;&#xa;&#x2f;&#x2f; sendtime&#x5904;&#x7406;&#xff0c;hhmm&#xff0c;hh&#x3a;mm&#xff0c;hh,mm&#xa;var sendtime_calcu &#x3d; sendtime.replace&#x28;&#x2f;&#x5c;s&#x2f;g, &#x22;&#x22;&#x29;&#x3b;&#xa;if &#x28;sendtime.length &#x3d;&#x3d; 5&#x29; &#x7b; &#x2f;&#x2f; &#x6700;&#x957f;&#x683c;&#x5f0f;&#xff0c;&#x5305;&#x62ec;&#x5206;&#x9694;&#x7b26;&#xff0c;&#x7edf;&#x4e00;&#x628a;&#x5206;&#x9694;&#x7b26;&#x66ff;&#x6362;&#x6210;&#x5192;&#x53f7;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 2&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;3, 2&#x29;&#x3b;&#xa;&#x7d; else if &#x28;sendtime.length &#x3d;&#x3d; 4&#x29; &#x7b;&#xa; if &#x28;sendtime.indexOf&#x28;&#x22;&#x3a;&#x22;&#x29; &#x3e; 0&#x29; &#x7b; &#x2f;&#x2f; &#x5192;&#x53f7;&#x5206;&#x9694;&#xff0c;&#x65e0;&#x9700;&#x4fee;&#x6539;&#xa; sendtime_calcu &#x3d; sendtime&#x3b;&#xa; &#x7d; else if &#x28;sendtime.indexOf&#x28;&#x22;,&#x22;&#x29; &#x3e; 0&#x29; &#x7b; &#x2f;&#x2f; &#x9017;&#x53f7;&#x5206;&#x9694;&#xff0c;&#x6539;&#x6210;&#x5192;&#x53f7;&#x5206;&#x9694;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 1&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;2, 2&#x29;&#x3b;&#xa; &#x7d; else &#x7b; &#x2f;&#x2f; &#x65e0;&#x5206;&#x9694;&#x7b26;&#xff0c;&#x6539;&#x6210;&#x5192;&#x53f7;&#x5206;&#x9694;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 2&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;2, 2&#x29;&#x3b;&#xa; &#x7d;&#xa;&#x7d; else if &#x28;sendtime.length &#x3d;&#x3d; 3&#x29; &#x7b; &#x2f;&#x2f; &#x65e0;&#x5206;&#x9694;&#x7b26;&#xff0c;&#x6539;&#x6210;&#x5192;&#x53f7;&#x5206;&#x9694;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 1&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;1, 2&#x29;&#x3b;&#xa;&#x7d;&#xa;&#xa;&#x2f;&#x2f; &#x5168;&#x90e8;&#x4fee;&#x6b63;&#x5b8c;&#x6bd5;&#x540e;&#xff0c;&#x5982;&#x679c;&#x957f;&#x5ea6;&#x4e0d;&#x662f;5&#xff0c;&#x524d;&#x9762;&#x8865;0&#xa;if &#x28;sendtime_calcu.length &#x21;&#x3d; 5&#x29; &#x7b;&#xa; sendtime_calcu &#x3d; &#x22;0&#x22; &#x2b; sendtime_calcu&#x3b;&#xa;&#x7d;&#xa;&#xa;&#x2f;&#x2f; &#x8bbe;&#x7f6e;&#x5206;&#x73ed;&#xa;var isfb &#x3d; 0&#x3b;&#xa;&#xa;&#x2f;&#x2f; &#x8bbe;&#x7f6e;&#x505c;&#x9a76;&#xa;var ists &#x3d; 0&#x3b;&#xa;&#xa;&#x2f;&#x2f; &#x8bbe;&#x7f6e;isCanceled&#xa;var iscanceled &#x3d; 0&#x3b;</jsScript_script>  
833 - </jsScript> </jsScripts> <fields> <field> <name>qdzname</name>  
834 - <rename>qdzname</rename>  
835 - <type>String</type>  
836 - <length>-1</length>  
837 - <precision>-1</precision>  
838 - <replace>Y</replace>  
839 - </field> <field> <name>isfb</name>  
840 - <rename>isfb</rename>  
841 - <type>Integer</type>  
842 - <length>-1</length>  
843 - <precision>-1</precision>  
844 - <replace>N</replace>  
845 - </field> <field> <name>iscanceled</name>  
846 - <rename>iscanceled</rename>  
847 - <type>Integer</type>  
848 - <length>-1</length>  
849 - <precision>-1</precision>  
850 - <replace>N</replace>  
851 - </field> <field> <name>sendtime_calcu</name>  
852 - <rename>sendtime_calcu</rename>  
853 - <type>String</type>  
854 - <length>-1</length>  
855 - <precision>-1</precision>  
856 - <replace>N</replace>  
857 - </field> <field> <name>ists</name>  
858 - <rename>ists</rename>  
859 - <type>Integer</type>  
860 - <length>-1</length>  
861 - <precision>-1</precision>  
862 - <replace>N</replace>  
863 - </field> </fields> <cluster_schema/>  
864 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
865 - <xloc>788</xloc>  
866 - <yloc>44</yloc>  
867 - <draw>Y</draw>  
868 - </GUI>  
869 - </step>  
870 -  
871 - <step>  
872 - <name>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</name>  
873 - <type>SelectValues</type>  
874 - <description/>  
875 - <distribute>Y</distribute>  
876 - <custom_distribution/>  
877 - <copies>1</copies>  
878 - <partitioning>  
879 - <method>none</method>  
880 - <schema_name/>  
881 - </partitioning>  
882 - <fields> <field> <name>&#x8def;&#x724c;</name>  
883 - <rename>lp</rename>  
884 - <length>-2</length>  
885 - <precision>-2</precision>  
886 - </field> <field> <name>&#x7ad9;&#x70b9;&#x540d;&#x79f0;</name>  
887 - <rename>qdzname</rename>  
888 - <length>-2</length>  
889 - <precision>-2</precision>  
890 - </field> <field> <name>&#x53d1;&#x8f66;&#x65f6;&#x95f4;</name>  
891 - <rename>sendtime</rename>  
892 - <length>-2</length>  
893 - <precision>-2</precision>  
894 - </field> <select_unspecified>Y</select_unspecified>  
895 - </fields> <cluster_schema/>  
896 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
897 - <xloc>444</xloc>  
898 - <yloc>131</yloc>  
899 - <draw>Y</draw>  
900 - </GUI>  
901 - </step>  
902 -  
903 - <step>  
904 - <name>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;1</name>  
905 - <type>FilterRows</type>  
906 - <description/>  
907 - <distribute>Y</distribute>  
908 - <custom_distribution/>  
909 - <copies>1</copies>  
910 - <partitioning>  
911 - <method>none</method>  
912 - <schema_name/>  
913 - </partitioning>  
914 -<send_true_to>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x6570;&#x636e;</send_true_to>  
915 -<send_false_to>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</send_false_to>  
916 - <compare>  
917 -<condition>  
918 - <negated>N</negated>  
919 - <leftvalue>bctype</leftvalue>  
920 - <function>&#x3d;</function>  
921 - <rightvalue/>  
922 - <value><name>constant</name><type>String</type><text>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</text><length>-1</length><precision>-1</precision><isnull>N</isnull><mask/></value> </condition>  
923 - </compare>  
924 - <cluster_schema/>  
925 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
926 - <xloc>860</xloc>  
927 - <yloc>401</yloc>  
928 - <draw>Y</draw>  
929 - </GUI>  
930 - </step>  
931 -  
932 - <step>  
933 - <name>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</name>  
934 - <type>FilterRows</type>  
935 - <description/>  
936 - <distribute>Y</distribute>  
937 - <custom_distribution/>  
938 - <copies>1</copies>  
939 - <partitioning>  
940 - <method>none</method>  
941 - <schema_name/>  
942 - </partitioning>  
943 -<send_true_to>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</send_true_to>  
944 -<send_false_to>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</send_false_to>  
945 - <compare>  
946 -<condition>  
947 - <negated>N</negated>  
948 - <leftvalue>bctype</leftvalue>  
949 - <function>&#x3d;</function>  
950 - <rightvalue/>  
951 - <value><name>constant</name><type>String</type><text>&#x51fa;&#x573a;</text><length>-1</length><precision>-1</precision><isnull>N</isnull><mask/></value> </condition>  
952 - </compare>  
953 - <cluster_schema/>  
954 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
955 - <xloc>995</xloc>  
956 - <yloc>503</yloc>  
957 - <draw>Y</draw>  
958 - </GUI>  
959 - </step>  
960 -  
961 - <step>  
962 - <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail</name>  
963 - <type>InsertUpdate</type>  
964 - <description/>  
965 - <distribute>Y</distribute>  
966 - <custom_distribution/>  
967 - <copies>1</copies>  
968 - <partitioning>  
969 - <method>none</method>  
970 - <schema_name/>  
971 - </partitioning>  
972 - <connection>bus_control_variable</connection>  
973 - <commit>100</commit>  
974 - <update_bypassed>N</update_bypassed>  
975 - <lookup>  
976 - <schema/>  
977 - <table>bsth_c_s_ttinfo_detail</table>  
978 - <key>  
979 - <name>xlid</name>  
980 - <field>xl</field>  
981 - <condition>&#x3d;</condition>  
982 - <name2/>  
983 - </key>  
984 - <key>  
985 - <name>ttid</name>  
986 - <field>ttinfo</field>  
987 - <condition>&#x3d;</condition>  
988 - <name2/>  
989 - </key>  
990 - <key>  
991 - <name>lpid</name>  
992 - <field>lp</field>  
993 - <condition>&#x3d;</condition>  
994 - <name2/>  
995 - </key>  
996 - <key>  
997 - <name>fcno</name>  
998 - <field>fcno</field>  
999 - <condition>&#x3d;</condition>  
1000 - <name2/>  
1001 - </key>  
1002 - <key>  
1003 - <name>bcs</name>  
1004 - <field>bcs</field>  
1005 - <condition>&#x3d;</condition>  
1006 - <name2/>  
1007 - </key>  
1008 - <value>  
1009 - <name>lp</name>  
1010 - <rename>lpid</rename>  
1011 - <update>Y</update>  
1012 - </value>  
1013 - <value>  
1014 - <name>bc_type</name>  
1015 - <rename>bctype_code</rename>  
1016 - <update>Y</update>  
1017 - </value>  
1018 - <value>  
1019 - <name>bcs</name>  
1020 - <rename>bcs</rename>  
1021 - <update>Y</update>  
1022 - </value>  
1023 - <value>  
1024 - <name>bcsj</name>  
1025 - <rename>bcsj</rename>  
1026 - <update>Y</update>  
1027 - </value>  
1028 - <value>  
1029 - <name>fcno</name>  
1030 - <rename>fcno</rename>  
1031 - <update>Y</update>  
1032 - </value>  
1033 - <value>  
1034 - <name>jhlc</name>  
1035 - <rename>jhlc</rename>  
1036 - <update>Y</update>  
1037 - </value>  
1038 - <value>  
1039 - <name>fcsj</name>  
1040 - <rename>sendtime_calcu</rename>  
1041 - <update>Y</update>  
1042 - </value>  
1043 - <value>  
1044 - <name>ttinfo</name>  
1045 - <rename>ttid</rename>  
1046 - <update>Y</update>  
1047 - </value>  
1048 - <value>  
1049 - <name>xl</name>  
1050 - <rename>xlid</rename>  
1051 - <update>Y</update>  
1052 - </value>  
1053 - <value>  
1054 - <name>qdz</name>  
1055 - <rename>qdzid</rename>  
1056 - <update>Y</update>  
1057 - </value>  
1058 - <value>  
1059 - <name>zdz</name>  
1060 - <rename>zdzid</rename>  
1061 - <update>Y</update>  
1062 - </value>  
1063 - <value>  
1064 - <name>xl_dir</name>  
1065 - <rename>sxx</rename>  
1066 - <update>Y</update>  
1067 - </value>  
1068 - <value>  
1069 - <name>isfb</name>  
1070 - <rename>isfb</rename>  
1071 - <update>Y</update>  
1072 - </value>  
1073 - <value>  
1074 - <name>qdz_code</name>  
1075 - <rename>qdzcode</rename>  
1076 - <update>Y</update>  
1077 - </value>  
1078 - <value>  
1079 - <name>qdz_name</name>  
1080 - <rename>qdzname_</rename>  
1081 - <update>Y</update>  
1082 - </value>  
1083 - <value>  
1084 - <name>zdz_code</name>  
1085 - <rename>zdzcode</rename>  
1086 - <update>Y</update>  
1087 - </value>  
1088 - <value>  
1089 - <name>zdz_name</name>  
1090 - <rename>zdzname</rename>  
1091 - <update>Y</update>  
1092 - </value>  
1093 - <value>  
1094 - <name>ists</name>  
1095 - <rename>ists</rename>  
1096 - <update>Y</update>  
1097 - </value>  
1098 - </lookup>  
1099 - <cluster_schema/>  
1100 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1101 - <xloc>143</xloc>  
1102 - <yloc>860</yloc>  
1103 - <draw>Y</draw>  
1104 - </GUI>  
1105 - </step>  
1106 -  
1107 - <step>  
1108 - <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail 2</name>  
1109 - <type>InsertUpdate</type>  
1110 - <description/>  
1111 - <distribute>Y</distribute>  
1112 - <custom_distribution/>  
1113 - <copies>1</copies>  
1114 - <partitioning>  
1115 - <method>none</method>  
1116 - <schema_name/>  
1117 - </partitioning>  
1118 - <connection>bus_control_variable</connection>  
1119 - <commit>100</commit>  
1120 - <update_bypassed>N</update_bypassed>  
1121 - <lookup>  
1122 - <schema/>  
1123 - <table>bsth_c_s_ttinfo_detail</table>  
1124 - <key>  
1125 - <name>xlid</name>  
1126 - <field>xl</field>  
1127 - <condition>&#x3d;</condition>  
1128 - <name2/>  
1129 - </key>  
1130 - <key>  
1131 - <name>ttid</name>  
1132 - <field>ttinfo</field>  
1133 - <condition>&#x3d;</condition>  
1134 - <name2/>  
1135 - </key>  
1136 - <key>  
1137 - <name>lpid</name>  
1138 - <field>lp</field>  
1139 - <condition>&#x3d;</condition>  
1140 - <name2/>  
1141 - </key>  
1142 - <key>  
1143 - <name>fcno</name>  
1144 - <field>fcno</field>  
1145 - <condition>&#x3d;</condition>  
1146 - <name2/>  
1147 - </key>  
1148 - <key>  
1149 - <name>bcs</name>  
1150 - <field>bcs</field>  
1151 - <condition>&#x3d;</condition>  
1152 - <name2/>  
1153 - </key>  
1154 - <value>  
1155 - <name>tcc</name>  
1156 - <rename>qdzid</rename>  
1157 - <update>Y</update>  
1158 - </value>  
1159 - <value>  
1160 - <name>zdz</name>  
1161 - <rename>zdzid</rename>  
1162 - <update>Y</update>  
1163 - </value>  
1164 - <value>  
1165 - <name>xl</name>  
1166 - <rename>xlid</rename>  
1167 - <update>Y</update>  
1168 - </value>  
1169 - <value>  
1170 - <name>ttinfo</name>  
1171 - <rename>ttid</rename>  
1172 - <update>Y</update>  
1173 - </value>  
1174 - <value>  
1175 - <name>xl_dir</name>  
1176 - <rename>sxx</rename>  
1177 - <update>Y</update>  
1178 - </value>  
1179 - <value>  
1180 - <name>lp</name>  
1181 - <rename>lpid</rename>  
1182 - <update>Y</update>  
1183 - </value>  
1184 - <value>  
1185 - <name>jhlc</name>  
1186 - <rename>out_mileage</rename>  
1187 - <update>Y</update>  
1188 - </value>  
1189 - <value>  
1190 - <name>fcsj</name>  
1191 - <rename>sendtime_calcu</rename>  
1192 - <update>Y</update>  
1193 - </value>  
1194 - <value>  
1195 - <name>bcsj</name>  
1196 - <rename>out_time</rename>  
1197 - <update>Y</update>  
1198 - </value>  
1199 - <value>  
1200 - <name>bcs</name>  
1201 - <rename>bcs</rename>  
1202 - <update>Y</update>  
1203 - </value>  
1204 - <value>  
1205 - <name>fcno</name>  
1206 - <rename>fcno</rename>  
1207 - <update>Y</update>  
1208 - </value>  
1209 - <value>  
1210 - <name>bc_type</name>  
1211 - <rename>bctype_code</rename>  
1212 - <update>Y</update>  
1213 - </value>  
1214 - <value>  
1215 - <name>isfb</name>  
1216 - <rename>isfb</rename>  
1217 - <update>Y</update>  
1218 - </value>  
1219 - <value>  
1220 - <name>qdz_code</name>  
1221 - <rename>qdzcode</rename>  
1222 - <update>Y</update>  
1223 - </value>  
1224 - <value>  
1225 - <name>qdz_name</name>  
1226 - <rename>tn</rename>  
1227 - <update>Y</update>  
1228 - </value>  
1229 - <value>  
1230 - <name>zdz_code</name>  
1231 - <rename>zdzcode</rename>  
1232 - <update>Y</update>  
1233 - </value>  
1234 - <value>  
1235 - <name>zdz_name</name>  
1236 - <rename>zdzname_</rename>  
1237 - <update>Y</update>  
1238 - </value>  
1239 - <value>  
1240 - <name>ists</name>  
1241 - <rename>ists</rename>  
1242 - <update>Y</update>  
1243 - </value>  
1244 - </lookup>  
1245 - <cluster_schema/>  
1246 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1247 - <xloc>340</xloc>  
1248 - <yloc>1087</yloc>  
1249 - <draw>Y</draw>  
1250 - </GUI>  
1251 - </step>  
1252 -  
1253 - <step>  
1254 - <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail 3</name>  
1255 - <type>InsertUpdate</type>  
1256 - <description/>  
1257 - <distribute>Y</distribute>  
1258 - <custom_distribution/>  
1259 - <copies>1</copies>  
1260 - <partitioning>  
1261 - <method>none</method>  
1262 - <schema_name/>  
1263 - </partitioning>  
1264 - <connection>bus_control_variable</connection>  
1265 - <commit>100</commit>  
1266 - <update_bypassed>N</update_bypassed>  
1267 - <lookup>  
1268 - <schema/>  
1269 - <table>bsth_c_s_ttinfo_detail</table>  
1270 - <key>  
1271 - <name>xlid</name>  
1272 - <field>xl</field>  
1273 - <condition>&#x3d;</condition>  
1274 - <name2/>  
1275 - </key>  
1276 - <key>  
1277 - <name>ttid</name>  
1278 - <field>ttinfo</field>  
1279 - <condition>&#x3d;</condition>  
1280 - <name2/>  
1281 - </key>  
1282 - <key>  
1283 - <name>lpid</name>  
1284 - <field>lp</field>  
1285 - <condition>&#x3d;</condition>  
1286 - <name2/>  
1287 - </key>  
1288 - <key>  
1289 - <name>fcno</name>  
1290 - <field>fcno</field>  
1291 - <condition>&#x3d;</condition>  
1292 - <name2/>  
1293 - </key>  
1294 - <key>  
1295 - <name>bcs</name>  
1296 - <field>bcs</field>  
1297 - <condition>&#x3d;</condition>  
1298 - <name2/>  
1299 - </key>  
1300 - <value>  
1301 - <name>fcno</name>  
1302 - <rename>fcno</rename>  
1303 - <update>Y</update>  
1304 - </value>  
1305 - <value>  
1306 - <name>bcs</name>  
1307 - <rename>bcs</rename>  
1308 - <update>Y</update>  
1309 - </value>  
1310 - <value>  
1311 - <name>xl</name>  
1312 - <rename>xlid</rename>  
1313 - <update>Y</update>  
1314 - </value>  
1315 - <value>  
1316 - <name>ttinfo</name>  
1317 - <rename>ttid</rename>  
1318 - <update>Y</update>  
1319 - </value>  
1320 - <value>  
1321 - <name>lp</name>  
1322 - <rename>lpid</rename>  
1323 - <update>Y</update>  
1324 - </value>  
1325 - <value>  
1326 - <name>bc_type</name>  
1327 - <rename>bctype_code</rename>  
1328 - <update>Y</update>  
1329 - </value>  
1330 - <value>  
1331 - <name>bcsj</name>  
1332 - <rename>parade_time</rename>  
1333 - <update>Y</update>  
1334 - </value>  
1335 - <value>  
1336 - <name>jhlc</name>  
1337 - <rename>parade_mileage</rename>  
1338 - <update>Y</update>  
1339 - </value>  
1340 - <value>  
1341 - <name>fcsj</name>  
1342 - <rename>sendtime_calcu</rename>  
1343 - <update>Y</update>  
1344 - </value>  
1345 - <value>  
1346 - <name>xl_dir</name>  
1347 - <rename>sxx2</rename>  
1348 - <update>Y</update>  
1349 - </value>  
1350 - <value>  
1351 - <name>qdz</name>  
1352 - <rename>qdzid</rename>  
1353 - <update>Y</update>  
1354 - </value>  
1355 - <value>  
1356 - <name>tcc</name>  
1357 - <rename>zdzid</rename>  
1358 - <update>Y</update>  
1359 - </value>  
1360 - <value>  
1361 - <name>isfb</name>  
1362 - <rename>isfb</rename>  
1363 - <update>Y</update>  
1364 - </value>  
1365 - <value>  
1366 - <name>qdz_code</name>  
1367 - <rename>qdzcode</rename>  
1368 - <update>Y</update>  
1369 - </value>  
1370 - <value>  
1371 - <name>qdz_name</name>  
1372 - <rename>qname</rename>  
1373 - <update>Y</update>  
1374 - </value>  
1375 - <value>  
1376 - <name>zdz_code</name>  
1377 - <rename>zdzcode</rename>  
1378 - <update>Y</update>  
1379 - </value>  
1380 - <value>  
1381 - <name>zdz_name</name>  
1382 - <rename>tn</rename>  
1383 - <update>Y</update>  
1384 - </value>  
1385 - <value>  
1386 - <name>ists</name>  
1387 - <rename>ists</rename>  
1388 - <update>Y</update>  
1389 - </value>  
1390 - </lookup>  
1391 - <cluster_schema/>  
1392 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1393 - <xloc>845</xloc>  
1394 - <yloc>899</yloc>  
1395 - <draw>Y</draw>  
1396 - </GUI>  
1397 - </step>  
1398 -  
1399 - <step>  
1400 - <name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</name>  
1401 - <type>ExcelInput</type>  
1402 - <description/>  
1403 - <distribute>N</distribute>  
1404 - <custom_distribution/>  
1405 - <copies>1</copies>  
1406 - <partitioning>  
1407 - <method>none</method>  
1408 - <schema_name/>  
1409 - </partitioning>  
1410 - <header>Y</header>  
1411 - <noempty>Y</noempty>  
1412 - <stoponempty>N</stoponempty>  
1413 - <filefield/>  
1414 - <sheetfield/>  
1415 - <sheetrownumfield/>  
1416 - <rownumfield/>  
1417 - <sheetfield/>  
1418 - <filefield/>  
1419 - <limit>0</limit>  
1420 - <encoding/>  
1421 - <add_to_result_filenames>Y</add_to_result_filenames>  
1422 - <accept_filenames>N</accept_filenames>  
1423 - <accept_field/>  
1424 - <accept_stepname/>  
1425 - <file>  
1426 - <name/>  
1427 - <filemask/>  
1428 - <exclude_filemask/>  
1429 - <file_required>N</file_required>  
1430 - <include_subfolders>N</include_subfolders>  
1431 - </file>  
1432 - <fields>  
1433 - </fields>  
1434 - <sheets>  
1435 - <sheet>  
1436 - <name/>  
1437 - <startrow>0</startrow>  
1438 - <startcol>0</startcol>  
1439 - </sheet>  
1440 - </sheets>  
1441 - <strict_types>N</strict_types>  
1442 - <error_ignored>N</error_ignored>  
1443 - <error_line_skipped>N</error_line_skipped>  
1444 - <bad_line_files_destination_directory/>  
1445 - <bad_line_files_extension>warning</bad_line_files_extension>  
1446 - <error_line_files_destination_directory/>  
1447 - <error_line_files_extension>error</error_line_files_extension>  
1448 - <line_number_files_destination_directory/>  
1449 - <line_number_files_extension>line</line_number_files_extension>  
1450 - <shortFileFieldName/>  
1451 - <pathFieldName/>  
1452 - <hiddenFieldName/>  
1453 - <lastModificationTimeFieldName/>  
1454 - <uriNameFieldName/>  
1455 - <rootUriNameFieldName/>  
1456 - <extensionFieldName/>  
1457 - <sizeFieldName/>  
1458 - <spreadsheet_type>JXL</spreadsheet_type>  
1459 - <cluster_schema/>  
1460 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1461 - <xloc>112</xloc>  
1462 - <yloc>44</yloc>  
1463 - <draw>Y</draw>  
1464 - </GUI>  
1465 - </step>  
1466 -  
1467 - <step>  
1468 - <name>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;1</name>  
1469 - <type>DBLookup</type>  
1470 - <description/>  
1471 - <distribute>Y</distribute>  
1472 - <custom_distribution/>  
1473 - <copies>1</copies>  
1474 - <partitioning>  
1475 - <method>none</method>  
1476 - <schema_name/>  
1477 - </partitioning>  
1478 - <connection>bus_control_variable</connection>  
1479 - <cache>N</cache>  
1480 - <cache_load_all>N</cache_load_all>  
1481 - <cache_size>0</cache_size>  
1482 - <lookup>  
1483 - <schema/>  
1484 - <table>bsth_c_car_park</table>  
1485 - <orderby/>  
1486 - <fail_on_multiple>N</fail_on_multiple>  
1487 - <eat_row_on_failure>N</eat_row_on_failure>  
1488 - <key>  
1489 - <name>tccname_</name>  
1490 - <field>park_name</field>  
1491 - <condition>&#x3d;</condition>  
1492 - <name2/>  
1493 - </key>  
1494 - <value>  
1495 - <name>id</name>  
1496 - <rename>qdzid</rename>  
1497 - <default/>  
1498 - <type>Integer</type>  
1499 - </value>  
1500 - <value>  
1501 - <name>park_code</name>  
1502 - <rename>qdzcode</rename>  
1503 - <default/>  
1504 - <type>String</type>  
1505 - </value>  
1506 - <value>  
1507 - <name>park_name</name>  
1508 - <rename>tn</rename>  
1509 - <default/>  
1510 - <type>String</type>  
1511 - </value>  
1512 - </lookup>  
1513 - <cluster_schema/>  
1514 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1515 - <xloc>755</xloc>  
1516 - <yloc>504</yloc>  
1517 - <draw>Y</draw>  
1518 - </GUI>  
1519 - </step>  
1520 -  
1521 - <step>  
1522 - <name>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;2</name>  
1523 - <type>DBLookup</type>  
1524 - <description/>  
1525 - <distribute>Y</distribute>  
1526 - <custom_distribution/>  
1527 - <copies>1</copies>  
1528 - <partitioning>  
1529 - <method>none</method>  
1530 - <schema_name/>  
1531 - </partitioning>  
1532 - <connection>bus_control_variable</connection>  
1533 - <cache>N</cache>  
1534 - <cache_load_all>N</cache_load_all>  
1535 - <cache_size>0</cache_size>  
1536 - <lookup>  
1537 - <schema/>  
1538 - <table>bsth_c_car_park</table>  
1539 - <orderby/>  
1540 - <fail_on_multiple>N</fail_on_multiple>  
1541 - <eat_row_on_failure>N</eat_row_on_failure>  
1542 - <key>  
1543 - <name>tccname_</name>  
1544 - <field>park_name</field>  
1545 - <condition>&#x3d;</condition>  
1546 - <name2/>  
1547 - </key>  
1548 - <value>  
1549 - <name>id</name>  
1550 - <rename>zdzid</rename>  
1551 - <default/>  
1552 - <type>Integer</type>  
1553 - </value>  
1554 - <value>  
1555 - <name>park_code</name>  
1556 - <rename>zdzcode</rename>  
1557 - <default/>  
1558 - <type>String</type>  
1559 - </value>  
1560 - <value>  
1561 - <name>park_name</name>  
1562 - <rename>tn</rename>  
1563 - <default/>  
1564 - <type>String</type>  
1565 - </value>  
1566 - </lookup>  
1567 - <cluster_schema/>  
1568 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1569 - <xloc>887</xloc>  
1570 - <yloc>608</yloc>  
1571 - <draw>Y</draw>  
1572 - </GUI>  
1573 - </step>  
1574 -  
1575 - <step>  
1576 - <name>&#x67e5;&#x627e;&#x51fa;&#x573a;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</name>  
1577 - <type>DBLookup</type>  
1578 - <description/>  
1579 - <distribute>Y</distribute>  
1580 - <custom_distribution/>  
1581 - <copies>1</copies>  
1582 - <partitioning>  
1583 - <method>none</method>  
1584 - <schema_name/>  
1585 - </partitioning>  
1586 - <connection>bus_control_variable</connection>  
1587 - <cache>N</cache>  
1588 - <cache_load_all>N</cache_load_all>  
1589 - <cache_size>0</cache_size>  
1590 - <lookup>  
1591 - <schema/>  
1592 - <table>bsth_c_ls_stationroute</table>  
1593 - <orderby/>  
1594 - <fail_on_multiple>N</fail_on_multiple>  
1595 - <eat_row_on_failure>N</eat_row_on_failure>  
1596 - <key>  
1597 - <name>xlid</name>  
1598 - <field>line</field>  
1599 - <condition>&#x3d;</condition>  
1600 - <name2/>  
1601 - </key>  
1602 - <key>  
1603 - <name>version</name>  
1604 - <field>versions</field>  
1605 - <condition>&#x3d;</condition>  
1606 - <name2/>  
1607 - </key>  
1608 - <key>  
1609 - <name>zdzname</name>  
1610 - <field>station_name</field>  
1611 - <condition>LIKE</condition>  
1612 - <name2/>  
1613 - </key>  
1614 - <key>  
1615 - <name>endZdtype</name>  
1616 - <field>station_mark</field>  
1617 - <condition>&#x3d;</condition>  
1618 - <name2/>  
1619 - </key>  
1620 - <key>  
1621 - <name>destory</name>  
1622 - <field>destroy</field>  
1623 - <condition>&#x3d;</condition>  
1624 - <name2/>  
1625 - </key>  
1626 - <value>  
1627 - <name>station</name>  
1628 - <rename>zdzid</rename>  
1629 - <default/>  
1630 - <type>Integer</type>  
1631 - </value>  
1632 - <value>  
1633 - <name>directions</name>  
1634 - <rename>sxx</rename>  
1635 - <default/>  
1636 - <type>Integer</type>  
1637 - </value>  
1638 - <value>  
1639 - <name>station_code</name>  
1640 - <rename>zdzcode</rename>  
1641 - <default/>  
1642 - <type>String</type>  
1643 - </value>  
1644 - <value>  
1645 - <name>station_name</name>  
1646 - <rename>zdzname_</rename>  
1647 - <default/>  
1648 - <type>String</type>  
1649 - </value>  
1650 - </lookup>  
1651 - <cluster_schema/>  
1652 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1653 - <xloc>329</xloc>  
1654 - <yloc>505</yloc>  
1655 - <draw>Y</draw>  
1656 - </GUI>  
1657 - </step>  
1658 -  
1659 - <step>  
1660 - <name>&#x67e5;&#x627e;&#x6240;&#x6709;&#x7ebf;&#x8def;&#x4e0a;&#x4e0b;&#x884c;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>  
1661 - <type>DBLookup</type>  
1662 - <description/>  
1663 - <distribute>Y</distribute>  
1664 - <custom_distribution/>  
1665 - <copies>1</copies>  
1666 - <partitioning>  
1667 - <method>none</method>  
1668 - <schema_name/>  
1669 - </partitioning>  
1670 - <connection>bus_control_variable</connection>  
1671 - <cache>N</cache>  
1672 - <cache_load_all>N</cache_load_all>  
1673 - <cache_size>0</cache_size>  
1674 - <lookup>  
1675 - <schema/>  
1676 - <table>bsth_c_line_information</table>  
1677 - <orderby/>  
1678 - <fail_on_multiple>N</fail_on_multiple>  
1679 - <eat_row_on_failure>N</eat_row_on_failure>  
1680 - <key>  
1681 - <name>xlid</name>  
1682 - <field>line</field>  
1683 - <condition>&#x3d;</condition>  
1684 - <name2/>  
1685 - </key>  
1686 - <value>  
1687 - <name>up_mileage</name>  
1688 - <rename>up_mileage</rename>  
1689 - <default/>  
1690 - <type>Number</type>  
1691 - </value>  
1692 - <value>  
1693 - <name>down_mileage</name>  
1694 - <rename>down_mileage</rename>  
1695 - <default/>  
1696 - <type>Number</type>  
1697 - </value>  
1698 - <value>  
1699 - <name>up_travel_time</name>  
1700 - <rename>up_travel_time</rename>  
1701 - <default/>  
1702 - <type>Number</type>  
1703 - </value>  
1704 - <value>  
1705 - <name>down_travel_time</name>  
1706 - <rename>down_travel_time</rename>  
1707 - <default/>  
1708 - <type>Number</type>  
1709 - </value>  
1710 - <value>  
1711 - <name>early_start_time</name>  
1712 - <rename>early_start_time</rename>  
1713 - <default/>  
1714 - <type>String</type>  
1715 - </value>  
1716 - <value>  
1717 - <name>early_end_time</name>  
1718 - <rename>early_end_time</rename>  
1719 - <default/>  
1720 - <type>String</type>  
1721 - </value>  
1722 - <value>  
1723 - <name>early_up_time</name>  
1724 - <rename>early_up_time</rename>  
1725 - <default/>  
1726 - <type>Number</type>  
1727 - </value>  
1728 - <value>  
1729 - <name>early_down_time</name>  
1730 - <rename>early_down_time</rename>  
1731 - <default/>  
1732 - <type>Number</type>  
1733 - </value>  
1734 - <value>  
1735 - <name>late_start_time</name>  
1736 - <rename>late_start_time</rename>  
1737 - <default/>  
1738 - <type>String</type>  
1739 - </value>  
1740 - <value>  
1741 - <name>late_end_time</name>  
1742 - <rename>late_end_time</rename>  
1743 - <default/>  
1744 - <type>String</type>  
1745 - </value>  
1746 - <value>  
1747 - <name>late_up_time</name>  
1748 - <rename>late_up_time</rename>  
1749 - <default/>  
1750 - <type>Number</type>  
1751 - </value>  
1752 - <value>  
1753 - <name>late_down_time</name>  
1754 - <rename>late_down_time</rename>  
1755 - <default/>  
1756 - <type>Number</type>  
1757 - </value>  
1758 - </lookup>  
1759 - <cluster_schema/>  
1760 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1761 - <xloc>149</xloc>  
1762 - <yloc>581</yloc>  
1763 - <draw>Y</draw>  
1764 - </GUI>  
1765 - </step>  
1766 -  
1767 - <step>  
1768 - <name>&#x67e5;&#x627e;&#x65f6;&#x523b;&#x8868;&#x57fa;&#x7840;&#x4fe1;&#x606f;&#x5173;&#x8054;</name>  
1769 - <type>DBLookup</type>  
1770 - <description/>  
1771 - <distribute>Y</distribute>  
1772 - <custom_distribution/>  
1773 - <copies>1</copies>  
1774 - <partitioning>  
1775 - <method>none</method>  
1776 - <schema_name/>  
1777 - </partitioning>  
1778 - <connection>bus_control_variable</connection>  
1779 - <cache>N</cache>  
1780 - <cache_load_all>N</cache_load_all>  
1781 - <cache_size>0</cache_size>  
1782 - <lookup>  
1783 - <schema/>  
1784 - <table>bsth_c_s_ttinfo</table>  
1785 - <orderby/>  
1786 - <fail_on_multiple>N</fail_on_multiple>  
1787 - <eat_row_on_failure>N</eat_row_on_failure>  
1788 - <key>  
1789 - <name>xlid</name>  
1790 - <field>xl</field>  
1791 - <condition>&#x3d;</condition>  
1792 - <name2/>  
1793 - </key>  
1794 - <key>  
1795 - <name>ttinfoname_</name>  
1796 - <field>name</field>  
1797 - <condition>&#x3d;</condition>  
1798 - <name2/>  
1799 - </key>  
1800 - <key>  
1801 - <name>iscanceled</name>  
1802 - <field>is_cancel</field>  
1803 - <condition>&#x3d;</condition>  
1804 - <name2/>  
1805 - </key>  
1806 - <value>  
1807 - <name>id</name>  
1808 - <rename>ttid</rename>  
1809 - <default/>  
1810 - <type>Integer</type>  
1811 - </value>  
1812 - </lookup>  
1813 - <cluster_schema/>  
1814 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1815 - <xloc>1011</xloc>  
1816 - <yloc>134</yloc>  
1817 - <draw>Y</draw>  
1818 - </GUI>  
1819 - </step>  
1820 -  
1821 - <step>  
1822 - <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x5173;&#x8054;</name>  
1823 - <type>DBLookup</type>  
1824 - <description/>  
1825 - <distribute>Y</distribute>  
1826 - <custom_distribution/>  
1827 - <copies>1</copies>  
1828 - <partitioning>  
1829 - <method>none</method>  
1830 - <schema_name/>  
1831 - </partitioning>  
1832 - <connection>bus_control_variable</connection>  
1833 - <cache>N</cache>  
1834 - <cache_load_all>N</cache_load_all>  
1835 - <cache_size>0</cache_size>  
1836 - <lookup>  
1837 - <schema/>  
1838 - <table>bsth_c_line</table>  
1839 - <orderby/>  
1840 - <fail_on_multiple>N</fail_on_multiple>  
1841 - <eat_row_on_failure>N</eat_row_on_failure>  
1842 - <key>  
1843 - <name>xlname_</name>  
1844 - <field>name</field>  
1845 - <condition>&#x3d;</condition>  
1846 - <name2/>  
1847 - </key>  
1848 - <key>  
1849 - <name>iscanceled</name>  
1850 - <field>destroy</field>  
1851 - <condition>&#x3d;</condition>  
1852 - <name2/>  
1853 - </key>  
1854 - <value>  
1855 - <name>id</name>  
1856 - <rename>xlid</rename>  
1857 - <default/>  
1858 - <type>Integer</type>  
1859 - </value>  
1860 - </lookup>  
1861 - <cluster_schema/>  
1862 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1863 - <xloc>1007</xloc>  
1864 - <yloc>43</yloc>  
1865 - <draw>Y</draw>  
1866 - </GUI>  
1867 - </step>  
1868 -  
1869 - <step>  
1870 - <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x51fa;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>  
1871 - <type>DBLookup</type>  
1872 - <description/>  
1873 - <distribute>Y</distribute>  
1874 - <custom_distribution/>  
1875 - <copies>1</copies>  
1876 - <partitioning>  
1877 - <method>none</method>  
1878 - <schema_name/>  
1879 - </partitioning>  
1880 - <connection>bus_control_variable</connection>  
1881 - <cache>N</cache>  
1882 - <cache_load_all>N</cache_load_all>  
1883 - <cache_size>0</cache_size>  
1884 - <lookup>  
1885 - <schema/>  
1886 - <table>bsth_c_line_information</table>  
1887 - <orderby/>  
1888 - <fail_on_multiple>N</fail_on_multiple>  
1889 - <eat_row_on_failure>N</eat_row_on_failure>  
1890 - <key>  
1891 - <name>xlid</name>  
1892 - <field>line</field>  
1893 - <condition>&#x3d;</condition>  
1894 - <name2/>  
1895 - </key>  
1896 - <value>  
1897 - <name>up_out_timer</name>  
1898 - <rename>up_out_timer</rename>  
1899 - <default/>  
1900 - <type>Number</type>  
1901 - </value>  
1902 - <value>  
1903 - <name>up_out_mileage</name>  
1904 - <rename>up_out_mileage</rename>  
1905 - <default/>  
1906 - <type>Number</type>  
1907 - </value>  
1908 - <value>  
1909 - <name>down_out_timer</name>  
1910 - <rename>down_out_timer</rename>  
1911 - <default/>  
1912 - <type>Number</type>  
1913 - </value>  
1914 - <value>  
1915 - <name>down_out_mileage</name>  
1916 - <rename>down_out_mileage</rename>  
1917 - <default/>  
1918 - <type>Number</type>  
1919 - </value>  
1920 - </lookup>  
1921 - <cluster_schema/>  
1922 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1923 - <xloc>335</xloc>  
1924 - <yloc>763</yloc>  
1925 - <draw>Y</draw>  
1926 - </GUI>  
1927 - </step>  
1928 -  
1929 - <step>  
1930 - <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x8fdb;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>  
1931 - <type>DBLookup</type>  
1932 - <description/>  
1933 - <distribute>Y</distribute>  
1934 - <custom_distribution/>  
1935 - <copies>1</copies>  
1936 - <partitioning>  
1937 - <method>none</method>  
1938 - <schema_name/>  
1939 - </partitioning>  
1940 - <connection>bus_control_variable</connection>  
1941 - <cache>N</cache>  
1942 - <cache_load_all>N</cache_load_all>  
1943 - <cache_size>0</cache_size>  
1944 - <lookup>  
1945 - <schema/>  
1946 - <table>bsth_c_line_information</table>  
1947 - <orderby/>  
1948 - <fail_on_multiple>N</fail_on_multiple>  
1949 - <eat_row_on_failure>N</eat_row_on_failure>  
1950 - <key>  
1951 - <name>xlid</name>  
1952 - <field>line</field>  
1953 - <condition>&#x3d;</condition>  
1954 - <name2/>  
1955 - </key>  
1956 - <value>  
1957 - <name>up_in_mileage</name>  
1958 - <rename>up_in_mileage</rename>  
1959 - <default/>  
1960 - <type>Number</type>  
1961 - </value>  
1962 - <value>  
1963 - <name>up_in_timer</name>  
1964 - <rename>up_in_timer</rename>  
1965 - <default/>  
1966 - <type>Number</type>  
1967 - </value>  
1968 - <value>  
1969 - <name>down_in_mileage</name>  
1970 - <rename>down_in_mileage</rename>  
1971 - <default/>  
1972 - <type>Number</type>  
1973 - </value>  
1974 - <value>  
1975 - <name>down_in_timer</name>  
1976 - <rename>down_in_timer</rename>  
1977 - <default/>  
1978 - <type>Number</type>  
1979 - </value>  
1980 - </lookup>  
1981 - <cluster_schema/>  
1982 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1983 - <xloc>553</xloc>  
1984 - <yloc>1004</yloc>  
1985 - <draw>Y</draw>  
1986 - </GUI>  
1987 - </step>  
1988 -  
1989 - <step>  
1990 - <name>&#x67e5;&#x627e;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;</name>  
1991 - <type>DBLookup</type>  
1992 - <description/>  
1993 - <distribute>Y</distribute>  
1994 - <custom_distribution/>  
1995 - <copies>1</copies>  
1996 - <partitioning>  
1997 - <method>none</method>  
1998 - <schema_name/>  
1999 - </partitioning>  
2000 - <connection>bus_control_variable</connection>  
2001 - <cache>N</cache>  
2002 - <cache_load_all>N</cache_load_all>  
2003 - <cache_size>0</cache_size>  
2004 - <lookup>  
2005 - <schema/>  
2006 - <table>bsth_c_ls_stationroute</table>  
2007 - <orderby/>  
2008 - <fail_on_multiple>N</fail_on_multiple>  
2009 - <eat_row_on_failure>N</eat_row_on_failure>  
2010 - <key>  
2011 - <name>xlid</name>  
2012 - <field>line</field>  
2013 - <condition>&#x3d;</condition>  
2014 - <name2/>  
2015 - </key>  
2016 - <key>  
2017 - <name>version</name>  
2018 - <field>versions</field>  
2019 - <condition>&#x3d;</condition>  
2020 - <name2/>  
2021 - </key>  
2022 - <key>  
2023 - <name>sxx</name>  
2024 - <field>directions</field>  
2025 - <condition>&#x3d;</condition>  
2026 - <name2/>  
2027 - </key>  
2028 - <key>  
2029 - <name>endZdtype</name>  
2030 - <field>station_mark</field>  
2031 - <condition>&#x3d;</condition>  
2032 - <name2/>  
2033 - </key>  
2034 - <key>  
2035 - <name>destory</name>  
2036 - <field>destroy</field>  
2037 - <condition>&#x3d;</condition>  
2038 - <name2/>  
2039 - </key>  
2040 - <value>  
2041 - <name>station_name</name>  
2042 - <rename>zdzname</rename>  
2043 - <default/>  
2044 - <type>String</type>  
2045 - </value>  
2046 - <value>  
2047 - <name>station</name>  
2048 - <rename>zdzid</rename>  
2049 - <default/>  
2050 - <type>Integer</type>  
2051 - </value>  
2052 - <value>  
2053 - <name>station_code</name>  
2054 - <rename>zdzcode</rename>  
2055 - <default/>  
2056 - <type>String</type>  
2057 - </value>  
2058 - </lookup>  
2059 - <cluster_schema/>  
2060 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2061 - <xloc>280</xloc>  
2062 - <yloc>404</yloc>  
2063 - <draw>Y</draw>  
2064 - </GUI>  
2065 - </step>  
2066 -  
2067 - <step>  
2068 - <name>&#x67e5;&#x627e;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</name>  
2069 - <type>DBLookup</type>  
2070 - <description/>  
2071 - <distribute>Y</distribute>  
2072 - <custom_distribution/>  
2073 - <copies>1</copies>  
2074 - <partitioning>  
2075 - <method>none</method>  
2076 - <schema_name/>  
2077 - </partitioning>  
2078 - <connection>bus_control_variable</connection>  
2079 - <cache>N</cache>  
2080 - <cache_load_all>N</cache_load_all>  
2081 - <cache_size>0</cache_size>  
2082 - <lookup>  
2083 - <schema/>  
2084 - <table>bsth_c_ls_stationroute</table>  
2085 - <orderby/>  
2086 - <fail_on_multiple>N</fail_on_multiple>  
2087 - <eat_row_on_failure>N</eat_row_on_failure>  
2088 - <key>  
2089 - <name>xlid</name>  
2090 - <field>line</field>  
2091 - <condition>&#x3d;</condition>  
2092 - <name2/>  
2093 - </key>  
2094 - <key>  
2095 - <name>version</name>  
2096 - <field>versions</field>  
2097 - <condition>&#x3d;</condition>  
2098 - <name2/>  
2099 - </key>  
2100 - <key>  
2101 - <name>qdzname</name>  
2102 - <field>station_name</field>  
2103 - <condition>LIKE</condition>  
2104 - <name2/>  
2105 - </key>  
2106 - <key>  
2107 - <name>sendZdtype</name>  
2108 - <field>station_mark</field>  
2109 - <condition>&#x3d;</condition>  
2110 - <name2/>  
2111 - </key>  
2112 - <key>  
2113 - <name>destory</name>  
2114 - <field>destroy</field>  
2115 - <condition>&#x3d;</condition>  
2116 - <name2/>  
2117 - </key>  
2118 - <value>  
2119 - <name>station</name>  
2120 - <rename>qdzid</rename>  
2121 - <default/>  
2122 - <type>Integer</type>  
2123 - </value>  
2124 - <value>  
2125 - <name>directions</name>  
2126 - <rename>sxx</rename>  
2127 - <default/>  
2128 - <type>Integer</type>  
2129 - </value>  
2130 - <value>  
2131 - <name>station_code</name>  
2132 - <rename>qdzcode</rename>  
2133 - <default/>  
2134 - <type>String</type>  
2135 - </value>  
2136 - <value>  
2137 - <name>station_name</name>  
2138 - <rename>qdzname_</rename>  
2139 - <default/>  
2140 - <type>String</type>  
2141 - </value>  
2142 - </lookup>  
2143 - <cluster_schema/>  
2144 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2145 - <xloc>430</xloc>  
2146 - <yloc>403</yloc>  
2147 - <draw>Y</draw>  
2148 - </GUI>  
2149 - </step>  
2150 -  
2151 - <step>  
2152 - <name>&#x67e5;&#x627e;&#x8def;&#x724c;&#x5173;&#x8054;</name>  
2153 - <type>DBLookup</type>  
2154 - <description/>  
2155 - <distribute>Y</distribute>  
2156 - <custom_distribution/>  
2157 - <copies>1</copies>  
2158 - <partitioning>  
2159 - <method>none</method>  
2160 - <schema_name/>  
2161 - </partitioning>  
2162 - <connection>bus_control_variable</connection>  
2163 - <cache>N</cache>  
2164 - <cache_load_all>N</cache_load_all>  
2165 - <cache_size>0</cache_size>  
2166 - <lookup>  
2167 - <schema/>  
2168 - <table>bsth_c_s_gbi</table>  
2169 - <orderby/>  
2170 - <fail_on_multiple>N</fail_on_multiple>  
2171 - <eat_row_on_failure>N</eat_row_on_failure>  
2172 - <key>  
2173 - <name>xlid</name>  
2174 - <field>xl</field>  
2175 - <condition>&#x3d;</condition>  
2176 - <name2/>  
2177 - </key>  
2178 - <key>  
2179 - <name>lp</name>  
2180 - <field>lp_name</field>  
2181 - <condition>&#x3d;</condition>  
2182 - <name2/>  
2183 - </key>  
2184 - <key>  
2185 - <name>iscanceled</name>  
2186 - <field>is_cancel</field>  
2187 - <condition>&#x3d;</condition>  
2188 - <name2/>  
2189 - </key>  
2190 - <value>  
2191 - <name>id</name>  
2192 - <rename>lpid</rename>  
2193 - <default/>  
2194 - <type>Integer</type>  
2195 - </value>  
2196 - </lookup>  
2197 - <cluster_schema/>  
2198 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2199 - <xloc>1013</xloc>  
2200 - <yloc>265</yloc>  
2201 - <draw>Y</draw>  
2202 - </GUI>  
2203 - </step>  
2204 -  
2205 - <step>  
2206 - <name>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ebf;&#x8def;&#x65b9;&#x5411;</name>  
2207 - <type>DBLookup</type>  
2208 - <description/>  
2209 - <distribute>Y</distribute>  
2210 - <custom_distribution/>  
2211 - <copies>1</copies>  
2212 - <partitioning>  
2213 - <method>none</method>  
2214 - <schema_name/>  
2215 - </partitioning>  
2216 - <connection>bus_control_variable</connection>  
2217 - <cache>N</cache>  
2218 - <cache_load_all>N</cache_load_all>  
2219 - <cache_size>0</cache_size>  
2220 - <lookup>  
2221 - <schema/>  
2222 - <table>bsth_c_ls_stationroute</table>  
2223 - <orderby/>  
2224 - <fail_on_multiple>N</fail_on_multiple>  
2225 - <eat_row_on_failure>N</eat_row_on_failure>  
2226 - <key>  
2227 - <name>xlid</name>  
2228 - <field>line</field>  
2229 - <condition>&#x3d;</condition>  
2230 - <name2/>  
2231 - </key>  
2232 - <key>  
2233 - <name>version</name>  
2234 - <field>versions</field>  
2235 - <condition>&#x3d;</condition>  
2236 - <name2/>  
2237 - </key>  
2238 - <key>  
2239 - <name>startZdtype_calcu</name>  
2240 - <field>station_mark</field>  
2241 - <condition>&#x3d;</condition>  
2242 - <name2/>  
2243 - </key>  
2244 - <key>  
2245 - <name>qdzname_calcu</name>  
2246 - <field>station_name</field>  
2247 - <condition>LIKE</condition>  
2248 - <name2/>  
2249 - </key>  
2250 - <key>  
2251 - <name>destory</name>  
2252 - <field>destroy</field>  
2253 - <condition>&#x3d;</condition>  
2254 - <name2/>  
2255 - </key>  
2256 - <value>  
2257 - <name>directions</name>  
2258 - <rename>sxx</rename>  
2259 - <default/>  
2260 - <type>String</type>  
2261 - </value>  
2262 - </lookup>  
2263 - <cluster_schema/>  
2264 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2265 - <xloc>548</xloc>  
2266 - <yloc>610</yloc>  
2267 - <draw>Y</draw>  
2268 - </GUI>  
2269 - </step>  
2270 -  
2271 - <step>  
2272 - <name>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ec8;&#x70b9;&#x7ad9;&#xff0c;&#x5e76;&#x4f5c;&#x4e3a;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x70b9;&#x7ad9;</name>  
2273 - <type>DBLookup</type>  
2274 - <description/>  
2275 - <distribute>Y</distribute>  
2276 - <custom_distribution/>  
2277 - <copies>1</copies>  
2278 - <partitioning>  
2279 - <method>none</method>  
2280 - <schema_name/>  
2281 - </partitioning>  
2282 - <connection>bus_control_variable</connection>  
2283 - <cache>N</cache>  
2284 - <cache_load_all>Y</cache_load_all>  
2285 - <cache_size>0</cache_size>  
2286 - <lookup>  
2287 - <schema/>  
2288 - <table>bsth_c_ls_stationroute</table>  
2289 - <orderby/>  
2290 - <fail_on_multiple>N</fail_on_multiple>  
2291 - <eat_row_on_failure>N</eat_row_on_failure>  
2292 - <key>  
2293 - <name>xlid</name>  
2294 - <field>line</field>  
2295 - <condition>&#x3d;</condition>  
2296 - <name2/>  
2297 - </key>  
2298 - <key>  
2299 - <name>version</name>  
2300 - <field>versions</field>  
2301 - <condition>&#x3d;</condition>  
2302 - <name2/>  
2303 - </key>  
2304 - <key>  
2305 - <name>endZdtype_calcu</name>  
2306 - <field>station_mark</field>  
2307 - <condition>&#x3d;</condition>  
2308 - <name2/>  
2309 - </key>  
2310 - <key>  
2311 - <name>sxx</name>  
2312 - <field>directions</field>  
2313 - <condition>&#x3d;</condition>  
2314 - <name2/>  
2315 - </key>  
2316 - <key>  
2317 - <name>destory</name>  
2318 - <field>destroy</field>  
2319 - <condition>&#x3d;</condition>  
2320 - <name2/>  
2321 - </key>  
2322 - <value>  
2323 - <name>station_name</name>  
2324 - <rename>zdzname_calcu</rename>  
2325 - <default/>  
2326 - <type>Integer</type>  
2327 - </value>  
2328 - </lookup>  
2329 - <cluster_schema/>  
2330 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2331 - <xloc>550</xloc>  
2332 - <yloc>701</yloc>  
2333 - <draw>Y</draw>  
2334 - </GUI>  
2335 - </step>  
2336 -  
2337 - <step>  
2338 - <name>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</name>  
2339 - <type>DBLookup</type>  
2340 - <description/>  
2341 - <distribute>Y</distribute>  
2342 - <custom_distribution/>  
2343 - <copies>1</copies>  
2344 - <partitioning>  
2345 - <method>none</method>  
2346 - <schema_name/>  
2347 - </partitioning>  
2348 - <connection>bus_control_variable</connection>  
2349 - <cache>N</cache>  
2350 - <cache_load_all>N</cache_load_all>  
2351 - <cache_size>0</cache_size>  
2352 - <lookup>  
2353 - <schema/>  
2354 - <table>bsth_c_ls_stationroute</table>  
2355 - <orderby/>  
2356 - <fail_on_multiple>N</fail_on_multiple>  
2357 - <eat_row_on_failure>N</eat_row_on_failure>  
2358 - <key>  
2359 - <name>xlid</name>  
2360 - <field>line</field>  
2361 - <condition>&#x3d;</condition>  
2362 - <name2/>  
2363 - </key>  
2364 - <key>  
2365 - <name>version</name>  
2366 - <field>versions</field>  
2367 - <condition>&#x3d;</condition>  
2368 - <name2/>  
2369 - </key>  
2370 - <key>  
2371 - <name>zdzname_calcu</name>  
2372 - <field>station_name</field>  
2373 - <condition>&#x3d;</condition>  
2374 - <name2/>  
2375 - </key>  
2376 - <key>  
2377 - <name>startZdtype_calcu</name>  
2378 - <field>station_mark</field>  
2379 - <condition>&#x3d;</condition>  
2380 - <name2/>  
2381 - </key>  
2382 - <key>  
2383 - <name>destory</name>  
2384 - <field>destroy</field>  
2385 - <condition>&#x3d;</condition>  
2386 - <name2/>  
2387 - </key>  
2388 - <value>  
2389 - <name>directions</name>  
2390 - <rename>sxx2</rename>  
2391 - <default/>  
2392 - <type>Integer</type>  
2393 - </value>  
2394 - <value>  
2395 - <name>station</name>  
2396 - <rename>qdzid</rename>  
2397 - <default/>  
2398 - <type>Integer</type>  
2399 - </value>  
2400 - <value>  
2401 - <name>station_code</name>  
2402 - <rename>qdzcode</rename>  
2403 - <default/>  
2404 - <type>String</type>  
2405 - </value>  
2406 - <value>  
2407 - <name>station_name</name>  
2408 - <rename>qname</rename>  
2409 - <default/>  
2410 - <type>String</type>  
2411 - </value>  
2412 - </lookup>  
2413 - <cluster_schema/>  
2414 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2415 - <xloc>551</xloc>  
2416 - <yloc>782</yloc>  
2417 - <draw>Y</draw>  
2418 - </GUI>  
2419 - </step>  
2420 -  
2421 - <step>  
2422 - <name>&#x6b63;&#x5e38;&#x73ed;&#x6b21;_&#x5904;&#x7406;&#x6570;&#x636e;</name>  
2423 - <type>ScriptValueMod</type>  
2424 - <description/>  
2425 - <distribute>Y</distribute>  
2426 - <custom_distribution/>  
2427 - <copies>1</copies>  
2428 - <partitioning>  
2429 - <method>none</method>  
2430 - <schema_name/>  
2431 - </partitioning>  
2432 - <compatible>N</compatible>  
2433 - <optimizationLevel>9</optimizationLevel>  
2434 - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>  
2435 - <jsScript_name>Script 1</jsScript_name>  
2436 - <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f; &#x6dfb;&#x52a0;&#x7ad9;&#x70b9;&#x6807;&#x8bc6;&#xa;var sendZdtype &#x3d; &#x27;B&#x27;&#x3b;&#xa;var endZdtype &#x3d; &#x27;E&#x27;&#x3b;&#xa;&#xa;var destory &#x3d; 0&#x3b; &#x2f;&#x2f; &#x672a;&#x64a4;&#x9500;flag</jsScript_script>  
2437 - </jsScript> </jsScripts> <fields> <field> <name>sendZdtype</name>  
2438 - <rename>sendZdtype</rename>  
2439 - <type>String</type>  
2440 - <length>-1</length>  
2441 - <precision>-1</precision>  
2442 - <replace>N</replace>  
2443 - </field> <field> <name>endZdtype</name>  
2444 - <rename>endZdtype</rename>  
2445 - <type>String</type>  
2446 - <length>-1</length>  
2447 - <precision>-1</precision>  
2448 - <replace>N</replace>  
2449 - </field> <field> <name>destory</name>  
2450 - <rename>destory</rename>  
2451 - <type>Integer</type>  
2452 - <length>-1</length>  
2453 - <precision>-1</precision>  
2454 - <replace>N</replace>  
2455 - </field> </fields> <cluster_schema/>  
2456 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2457 - <xloc>588</xloc>  
2458 - <yloc>403</yloc>  
2459 - <draw>Y</draw>  
2460 - </GUI>  
2461 - </step>  
2462 -  
2463 - <step>  
2464 - <name>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x6570;&#x636e;</name>  
2465 - <type>Dummy</type>  
2466 - <description/>  
2467 - <distribute>Y</distribute>  
2468 - <custom_distribution/>  
2469 - <copies>1</copies>  
2470 - <partitioning>  
2471 - <method>none</method>  
2472 - <schema_name/>  
2473 - </partitioning>  
2474 - <cluster_schema/>  
2475 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2476 - <xloc>725</xloc>  
2477 - <yloc>404</yloc>  
2478 - <draw>Y</draw>  
2479 - </GUI>  
2480 - </step>  
2481 -  
2482 - <step>  
2483 - <name>&#x6dfb;&#x52a0;&#x53d1;&#x8f66;&#x987a;&#x5e8f;&#x53f7;</name>  
2484 - <type>GroupBy</type>  
2485 - <description/>  
2486 - <distribute>Y</distribute>  
2487 - <custom_distribution/>  
2488 - <copies>1</copies>  
2489 - <partitioning>  
2490 - <method>none</method>  
2491 - <schema_name/>  
2492 - </partitioning>  
2493 - <all_rows>Y</all_rows>  
2494 - <ignore_aggregate>N</ignore_aggregate>  
2495 - <field_ignore/>  
2496 - <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>  
2497 - <prefix>grp</prefix>  
2498 - <add_linenr>Y</add_linenr>  
2499 - <linenr_fieldname>fcno</linenr_fieldname>  
2500 - <give_back_row>N</give_back_row>  
2501 - <group>  
2502 - <field>  
2503 - <name>lp</name>  
2504 - </field>  
2505 - </group>  
2506 - <fields>  
2507 - </fields>  
2508 - <cluster_schema/>  
2509 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2510 - <xloc>442</xloc>  
2511 - <yloc>44</yloc>  
2512 - <draw>Y</draw>  
2513 - </GUI>  
2514 - </step>  
2515 -  
2516 - <step>  
2517 - <name>&#x6dfb;&#x52a0;&#x5bf9;&#x5e94;&#x73ed;&#x6b21;&#x6570;</name>  
2518 - <type>GroupBy</type>  
2519 - <description/>  
2520 - <distribute>Y</distribute>  
2521 - <custom_distribution/>  
2522 - <copies>1</copies>  
2523 - <partitioning>  
2524 - <method>none</method>  
2525 - <schema_name/>  
2526 - </partitioning>  
2527 - <all_rows>Y</all_rows>  
2528 - <ignore_aggregate>N</ignore_aggregate>  
2529 - <field_ignore/>  
2530 - <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>  
2531 - <prefix>grp</prefix>  
2532 - <add_linenr>Y</add_linenr>  
2533 - <linenr_fieldname>bcs</linenr_fieldname>  
2534 - <give_back_row>N</give_back_row>  
2535 - <group>  
2536 - </group>  
2537 - <fields>  
2538 - </fields>  
2539 - <cluster_schema/>  
2540 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2541 - <xloc>692</xloc>  
2542 - <yloc>44</yloc>  
2543 - <draw>Y</draw>  
2544 - </GUI>  
2545 - </step>  
2546 -  
2547 - <step>  
2548 - <name>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</name>  
2549 - <type>Normaliser</type>  
2550 - <description/>  
2551 - <distribute>Y</distribute>  
2552 - <custom_distribution/>  
2553 - <copies>1</copies>  
2554 - <partitioning>  
2555 - <method>none</method>  
2556 - <schema_name/>  
2557 - </partitioning>  
2558 - <typefield>&#x7ad9;&#x70b9;&#x540d;&#x79f0;</typefield>  
2559 - <fields> </fields> <cluster_schema/>  
2560 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2561 - <xloc>248</xloc>  
2562 - <yloc>44</yloc>  
2563 - <draw>Y</draw>  
2564 - </GUI>  
2565 - </step>  
2566 -  
2567 - <step>  
2568 - <name>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178;</name>  
2569 - <type>ValueMapper</type>  
2570 - <description/>  
2571 - <distribute>Y</distribute>  
2572 - <custom_distribution/>  
2573 - <copies>1</copies>  
2574 - <partitioning>  
2575 - <method>none</method>  
2576 - <schema_name/>  
2577 - </partitioning>  
2578 - <field_to_use>bctype</field_to_use>  
2579 - <target_field>bctype_code</target_field>  
2580 - <non_match_default>&#x672a;&#x77e5;&#x7c7b;&#x578b;</non_match_default>  
2581 - <fields>  
2582 - <field>  
2583 - <source_value>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</source_value>  
2584 - <target_value>normal</target_value>  
2585 - </field>  
2586 - <field>  
2587 - <source_value>&#x51fa;&#x573a;</source_value>  
2588 - <target_value>out</target_value>  
2589 - </field>  
2590 - <field>  
2591 - <source_value>&#x8fdb;&#x573a;</source_value>  
2592 - <target_value>in</target_value>  
2593 - </field>  
2594 - <field>  
2595 - <source_value>&#x52a0;&#x6cb9;</source_value>  
2596 - <target_value>oil</target_value>  
2597 - </field>  
2598 - <field>  
2599 - <source_value>&#x4e34;&#x52a0;</source_value>  
2600 - <target_value>temp</target_value>  
2601 - </field>  
2602 - <field>  
2603 - <source_value>&#x533a;&#x95f4;</source_value>  
2604 - <target_value>region</target_value>  
2605 - </field>  
2606 - <field>  
2607 - <source_value>&#x653e;&#x7a7a;</source_value>  
2608 - <target_value>venting</target_value>  
2609 - </field>  
2610 - <field>  
2611 - <source_value>&#x653e;&#x5927;&#x7ad9;</source_value>  
2612 - <target_value>major</target_value>  
2613 - </field>  
2614 - </fields>  
2615 - <cluster_schema/>  
2616 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2617 - <xloc>149</xloc>  
2618 - <yloc>491</yloc>  
2619 - <draw>Y</draw>  
2620 - </GUI>  
2621 - </step>  
2622 -  
2623 - <step>  
2624 - <name>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 2</name>  
2625 - <type>ValueMapper</type>  
2626 - <description/>  
2627 - <distribute>Y</distribute>  
2628 - <custom_distribution/>  
2629 - <copies>1</copies>  
2630 - <partitioning>  
2631 - <method>none</method>  
2632 - <schema_name/>  
2633 - </partitioning>  
2634 - <field_to_use>bctype</field_to_use>  
2635 - <target_field>bctype_code</target_field>  
2636 - <non_match_default>&#x672a;&#x77e5;&#x7c7b;&#x578b;</non_match_default>  
2637 - <fields>  
2638 - <field>  
2639 - <source_value>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</source_value>  
2640 - <target_value>normal</target_value>  
2641 - </field>  
2642 - <field>  
2643 - <source_value>&#x51fa;&#x573a;</source_value>  
2644 - <target_value>out</target_value>  
2645 - </field>  
2646 - <field>  
2647 - <source_value>&#x8fdb;&#x573a;</source_value>  
2648 - <target_value>in</target_value>  
2649 - </field>  
2650 - <field>  
2651 - <source_value>&#x52a0;&#x6cb9;</source_value>  
2652 - <target_value>oil</target_value>  
2653 - </field>  
2654 - <field>  
2655 - <source_value>&#x4e34;&#x52a0;</source_value>  
2656 - <target_value>temp</target_value>  
2657 - </field>  
2658 - <field>  
2659 - <source_value>&#x533a;&#x95f4;</source_value>  
2660 - <target_value>region</target_value>  
2661 - </field>  
2662 - <field>  
2663 - <source_value>&#x653e;&#x7a7a;</source_value>  
2664 - <target_value>venting</target_value>  
2665 - </field>  
2666 - <field>  
2667 - <source_value>&#x653e;&#x5927;&#x7ad9;</source_value>  
2668 - <target_value>major</target_value>  
2669 - </field>  
2670 - </fields>  
2671 - <cluster_schema/>  
2672 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2673 - <xloc>333</xloc>  
2674 - <yloc>681</yloc>  
2675 - <draw>Y</draw>  
2676 - </GUI>  
2677 - </step>  
2678 -  
2679 - <step>  
2680 - <name>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 3</name>  
2681 - <type>ValueMapper</type>  
2682 - <description/>  
2683 - <distribute>Y</distribute>  
2684 - <custom_distribution/>  
2685 - <copies>1</copies>  
2686 - <partitioning>  
2687 - <method>none</method>  
2688 - <schema_name/>  
2689 - </partitioning>  
2690 - <field_to_use>bctype</field_to_use>  
2691 - <target_field>bctype_code</target_field>  
2692 - <non_match_default>&#x672a;&#x77e5;&#x7c7b;&#x578b;</non_match_default>  
2693 - <fields>  
2694 - <field>  
2695 - <source_value>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</source_value>  
2696 - <target_value>normal</target_value>  
2697 - </field>  
2698 - <field>  
2699 - <source_value>&#x51fa;&#x573a;</source_value>  
2700 - <target_value>out</target_value>  
2701 - </field>  
2702 - <field>  
2703 - <source_value>&#x8fdb;&#x573a;</source_value>  
2704 - <target_value>in</target_value>  
2705 - </field>  
2706 - <field>  
2707 - <source_value>&#x52a0;&#x6cb9;</source_value>  
2708 - <target_value>oil</target_value>  
2709 - </field>  
2710 - <field>  
2711 - <source_value>&#x4e34;&#x52a0;</source_value>  
2712 - <target_value>temp</target_value>  
2713 - </field>  
2714 - <field>  
2715 - <source_value>&#x533a;&#x95f4;</source_value>  
2716 - <target_value>region</target_value>  
2717 - </field>  
2718 - <field>  
2719 - <source_value>&#x653e;&#x7a7a;</source_value>  
2720 - <target_value>venting</target_value>  
2721 - </field>  
2722 - <field>  
2723 - <source_value>&#x653e;&#x5927;&#x7ad9;</source_value>  
2724 - <target_value>major</target_value>  
2725 - </field>  
2726 - </fields>  
2727 - <cluster_schema/>  
2728 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2729 - <xloc>551</xloc>  
2730 - <yloc>928</yloc>  
2731 - <draw>Y</draw>  
2732 - </GUI>  
2733 - </step>  
2734 -  
2735 - <step>  
2736 - <name>&#x7c7b;&#x578b;&#x4fee;&#x6b63;</name>  
2737 - <type>SelectValues</type>  
2738 - <description/>  
2739 - <distribute>Y</distribute>  
2740 - <custom_distribution/>  
2741 - <copies>1</copies>  
2742 - <partitioning>  
2743 - <method>none</method>  
2744 - <schema_name/>  
2745 - </partitioning>  
2746 - <fields> <select_unspecified>N</select_unspecified>  
2747 - <meta> <name>jhlc</name>  
2748 - <rename>jhlc</rename>  
2749 - <type>Number</type>  
2750 - <length>-2</length>  
2751 - <precision>-2</precision>  
2752 - <conversion_mask/>  
2753 - <date_format_lenient>false</date_format_lenient>  
2754 - <date_format_locale/>  
2755 - <date_format_timezone/>  
2756 - <lenient_string_to_number>false</lenient_string_to_number>  
2757 - <encoding/>  
2758 - <decimal_symbol/>  
2759 - <grouping_symbol/>  
2760 - <currency_symbol/>  
2761 - <storage_type/>  
2762 - </meta> <meta> <name>bcsj</name>  
2763 - <rename>bcsj</rename>  
2764 - <type>Integer</type>  
2765 - <length>-2</length>  
2766 - <precision>-2</precision>  
2767 - <conversion_mask/>  
2768 - <date_format_lenient>false</date_format_lenient>  
2769 - <date_format_locale/>  
2770 - <date_format_timezone/>  
2771 - <lenient_string_to_number>false</lenient_string_to_number>  
2772 - <encoding/>  
2773 - <decimal_symbol/>  
2774 - <grouping_symbol/>  
2775 - <currency_symbol/>  
2776 - <storage_type/>  
2777 - </meta> </fields> <cluster_schema/>  
2778 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2779 - <xloc>146</xloc>  
2780 - <yloc>768</yloc>  
2781 - <draw>Y</draw>  
2782 - </GUI>  
2783 - </step>  
2784 -  
2785 - <step>  
2786 - <name>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 2</name>  
2787 - <type>SelectValues</type>  
2788 - <description/>  
2789 - <distribute>Y</distribute>  
2790 - <custom_distribution/>  
2791 - <copies>1</copies>  
2792 - <partitioning>  
2793 - <method>none</method>  
2794 - <schema_name/>  
2795 - </partitioning>  
2796 - <fields> <select_unspecified>N</select_unspecified>  
2797 - <meta> <name>out_mileage</name>  
2798 - <rename>out_mileage</rename>  
2799 - <type>Number</type>  
2800 - <length>-2</length>  
2801 - <precision>-2</precision>  
2802 - <conversion_mask/>  
2803 - <date_format_lenient>false</date_format_lenient>  
2804 - <date_format_locale/>  
2805 - <date_format_timezone/>  
2806 - <lenient_string_to_number>false</lenient_string_to_number>  
2807 - <encoding/>  
2808 - <decimal_symbol/>  
2809 - <grouping_symbol/>  
2810 - <currency_symbol/>  
2811 - <storage_type/>  
2812 - </meta> <meta> <name>out_time</name>  
2813 - <rename>out_time</rename>  
2814 - <type>Integer</type>  
2815 - <length>-2</length>  
2816 - <precision>-2</precision>  
2817 - <conversion_mask/>  
2818 - <date_format_lenient>false</date_format_lenient>  
2819 - <date_format_locale/>  
2820 - <date_format_timezone/>  
2821 - <lenient_string_to_number>false</lenient_string_to_number>  
2822 - <encoding/>  
2823 - <decimal_symbol/>  
2824 - <grouping_symbol/>  
2825 - <currency_symbol/>  
2826 - <storage_type/>  
2827 - </meta> <meta> <name>sxx</name>  
2828 - <rename>sxx</rename>  
2829 - <type>Integer</type>  
2830 - <length>-2</length>  
2831 - <precision>-2</precision>  
2832 - <conversion_mask/>  
2833 - <date_format_lenient>false</date_format_lenient>  
2834 - <date_format_locale/>  
2835 - <date_format_timezone/>  
2836 - <lenient_string_to_number>false</lenient_string_to_number>  
2837 - <encoding/>  
2838 - <decimal_symbol/>  
2839 - <grouping_symbol/>  
2840 - <currency_symbol/>  
2841 - <storage_type/>  
2842 - </meta> </fields> <cluster_schema/>  
2843 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2844 - <xloc>338</xloc>  
2845 - <yloc>1008</yloc>  
2846 - <draw>Y</draw>  
2847 - </GUI>  
2848 - </step>  
2849 -  
2850 - <step>  
2851 - <name>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 3</name>  
2852 - <type>SelectValues</type>  
2853 - <description/>  
2854 - <distribute>Y</distribute>  
2855 - <custom_distribution/>  
2856 - <copies>1</copies>  
2857 - <partitioning>  
2858 - <method>none</method>  
2859 - <schema_name/>  
2860 - </partitioning>  
2861 - <fields> <select_unspecified>N</select_unspecified>  
2862 - <meta> <name>parade_mileage</name>  
2863 - <rename>parade_mileage</rename>  
2864 - <type>Number</type>  
2865 - <length>-2</length>  
2866 - <precision>-2</precision>  
2867 - <conversion_mask/>  
2868 - <date_format_lenient>false</date_format_lenient>  
2869 - <date_format_locale/>  
2870 - <date_format_timezone/>  
2871 - <lenient_string_to_number>false</lenient_string_to_number>  
2872 - <encoding/>  
2873 - <decimal_symbol/>  
2874 - <grouping_symbol/>  
2875 - <currency_symbol/>  
2876 - <storage_type/>  
2877 - </meta> <meta> <name>parade_time</name>  
2878 - <rename>parade_time</rename>  
2879 - <type>Integer</type>  
2880 - <length>-2</length>  
2881 - <precision>-2</precision>  
2882 - <conversion_mask/>  
2883 - <date_format_lenient>false</date_format_lenient>  
2884 - <date_format_locale/>  
2885 - <date_format_timezone/>  
2886 - <lenient_string_to_number>false</lenient_string_to_number>  
2887 - <encoding/>  
2888 - <decimal_symbol/>  
2889 - <grouping_symbol/>  
2890 - <currency_symbol/>  
2891 - <storage_type/>  
2892 - </meta> <meta> <name>sxx2</name>  
2893 - <rename>sxx2</rename>  
2894 - <type>Integer</type>  
2895 - <length>-2</length>  
2896 - <precision>-2</precision>  
2897 - <conversion_mask/>  
2898 - <date_format_lenient>false</date_format_lenient>  
2899 - <date_format_locale/>  
2900 - <date_format_timezone/>  
2901 - <lenient_string_to_number>false</lenient_string_to_number>  
2902 - <encoding/>  
2903 - <decimal_symbol/>  
2904 - <grouping_symbol/>  
2905 - <currency_symbol/>  
2906 - <storage_type/>  
2907 - </meta> </fields> <cluster_schema/>  
2908 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2909 - <xloc>847</xloc>  
2910 - <yloc>1003</yloc>  
2911 - <draw>Y</draw>  
2912 - </GUI>  
2913 - </step>  
2914 -  
2915 - <step>  
2916 - <name>&#x8ba1;&#x7b97;&#x73ed;&#x6b21;&#x7c7b;&#x578b;</name>  
2917 - <type>ValueMapper</type>  
2918 - <description/>  
2919 - <distribute>Y</distribute>  
2920 - <custom_distribution/>  
2921 - <copies>1</copies>  
2922 - <partitioning>  
2923 - <method>none</method>  
2924 - <schema_name/>  
2925 - </partitioning>  
2926 - <field_to_use>qdzname</field_to_use>  
2927 - <target_field>bctype</target_field>  
2928 - <non_match_default>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</non_match_default>  
2929 - <fields>  
2930 - <field>  
2931 - <source_value>&#x51fa;&#x573a;</source_value>  
2932 - <target_value>&#x51fa;&#x573a;</target_value>  
2933 - </field>  
2934 - <field>  
2935 - <source_value>&#x8fdb;&#x573a;</source_value>  
2936 - <target_value>&#x8fdb;&#x573a;</target_value>  
2937 - </field>  
2938 - </fields>  
2939 - <cluster_schema/>  
2940 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2941 - <xloc>1014</xloc>  
2942 - <yloc>401</yloc>  
2943 - <draw>Y</draw>  
2944 - </GUI>  
2945 - </step>  
2946 -  
2947 - <step>  
2948 - <name>&#x8bb0;&#x5f55;&#x5173;&#x8054; &#x28;&#x7b1b;&#x5361;&#x5c14;&#x8f93;&#x51fa;&#x29;</name>  
2949 - <type>JoinRows</type>  
2950 - <description/>  
2951 - <distribute>Y</distribute>  
2952 - <custom_distribution/>  
2953 - <copies>1</copies>  
2954 - <partitioning>  
2955 - <method>none</method>  
2956 - <schema_name/>  
2957 - </partitioning>  
2958 - <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>  
2959 - <prefix>out</prefix>  
2960 - <cache_size>500</cache_size>  
2961 - <main/>  
2962 - <compare>  
2963 -<condition>  
2964 - <negated>N</negated>  
2965 - <leftvalue/>  
2966 - <function>&#x3d;</function>  
2967 - <rightvalue/>  
2968 - </condition>  
2969 - </compare>  
2970 - <cluster_schema/>  
2971 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2972 - <xloc>310</xloc>  
2973 - <yloc>133</yloc>  
2974 - <draw>Y</draw>  
2975 - </GUI>  
2976 - </step>  
2977 -  
2978 - <step>  
2979 - <name>&#x8fc7;&#x6ee4;&#x8bb0;&#x5f55;&#xff08;&#x53d1;&#x8f66;&#x65f6;&#x95f4;&#x4e3a;&#x7a7a;&#xff09;</name>  
2980 - <type>FilterRows</type>  
2981 - <description/>  
2982 - <distribute>Y</distribute>  
2983 - <custom_distribution/>  
2984 - <copies>1</copies>  
2985 - <partitioning>  
2986 - <method>none</method>  
2987 - <schema_name/>  
2988 - </partitioning>  
2989 -<send_true_to/>  
2990 -<send_false_to/>  
2991 - <compare>  
2992 -<condition>  
2993 - <negated>N</negated>  
2994 - <leftvalue>sendtime</leftvalue>  
2995 - <function>IS NOT NULL</function>  
2996 - <rightvalue/>  
2997 - </condition>  
2998 - </compare>  
2999 - <cluster_schema/>  
3000 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
3001 - <xloc>571</xloc>  
3002 - <yloc>44</yloc>  
3003 - <draw>Y</draw>  
3004 - </GUI>  
3005 - </step>  
3006 -  
3007 - <step>  
3008 - <name>&#x8fdb;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x8d77;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</name>  
3009 - <type>ScriptValueMod</type>  
3010 - <description/>  
3011 - <distribute>Y</distribute>  
3012 - <custom_distribution/>  
3013 - <copies>1</copies>  
3014 - <partitioning>  
3015 - <method>none</method>  
3016 - <schema_name/>  
3017 - </partitioning>  
3018 - <compatible>N</compatible>  
3019 - <optimizationLevel>9</optimizationLevel>  
3020 - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>  
3021 - <jsScript_name>Script 1</jsScript_name>  
3022 - <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f; &#x6dfb;&#x52a0;&#x7ad9;&#x70b9;&#x6807;&#x8bc6;&#xa;var cc_groups &#x3d; qdzgroups.split&#x28;&#x22;,&#x22;&#x29;&#x3b; &#x2f;&#x2f; &#x6240;&#x6709;&#x73ed;&#x6b21;&#x8d77;&#x70b9;&#x7ad9;&#x6570;&#x7ec4;&#xa;var qdzname_calcu &#x3d; cc_groups&#x5b;gno - 2&#x5d;&#x3b; &#x2f;&#x2f; &#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x70b9;&#x7ad9;&#x662f;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ec8;&#x70b9;&#x7ad9;&#xff0c;&#x8fd9;&#x91cc;&#x53ea;&#x6709;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x70b9;&#x7ad9;&#xff0c;&#x8fd8;&#x9700;&#x8981;&#x8ba1;&#x7b97;&#xa;var startZdtype_calcu &#x3d; &#x27;B&#x27;&#x3b;&#xa;var endZdtype_calcu &#x3d; &#x27;E&#x27;&#x3b;&#xa;&#xa;var destory &#x3d; 0&#x3b; &#x2f;&#x2f; &#x672a;&#x64a4;&#x9500;flag</jsScript_script>  
3023 - </jsScript> </jsScripts> <fields> <field> <name>qdzname_calcu</name>  
3024 - <rename>qdzname_calcu</rename>  
3025 - <type>String</type>  
3026 - <length>-1</length>  
3027 - <precision>-1</precision>  
3028 - <replace>N</replace>  
3029 - </field> <field> <name>startZdtype_calcu</name>  
3030 - <rename>startZdtype_calcu</rename>  
3031 - <type>String</type>  
3032 - <length>-1</length>  
3033 - <precision>-1</precision>  
3034 - <replace>N</replace>  
3035 - </field> <field> <name>endZdtype_calcu</name>  
3036 - <rename>endZdtype_calcu</rename>  
3037 - <type>String</type>  
3038 - <length>-1</length>  
3039 - <precision>-1</precision>  
3040 - <replace>N</replace>  
3041 - </field> <field> <name>destory</name>  
3042 - <rename>destory</rename>  
3043 - <type>Integer</type>  
3044 - <length>-1</length>  
3045 - <precision>-1</precision>  
3046 - <replace>N</replace>  
3047 - </field> </fields> <cluster_schema/>  
3048 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
3049 - <xloc>754</xloc>  
3050 - <yloc>610</yloc>  
3051 - <draw>Y</draw>  
3052 - </GUI>  
3053 - </step>  
3054 -  
3055 - <step>  
3056 - <name>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</name>  
3057 - <type>Dummy</type>  
3058 - <description/>  
3059 - <distribute>Y</distribute>  
3060 - <custom_distribution/>  
3061 - <copies>1</copies>  
3062 - <partitioning>  
3063 - <method>none</method>  
3064 - <schema_name/>  
3065 - </partitioning>  
3066 - <cluster_schema/>  
3067 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
3068 - <xloc>997</xloc>  
3069 - <yloc>606</yloc>  
3070 - <draw>Y</draw>  
3071 - </GUI>  
3072 - </step>  
3073 -  
3074 - <step>  
3075 - <name>&#x7ad9;&#x70b9;&#x8def;&#x7531;&#x7248;&#x672c;&#x7c7b;&#x578b;</name>  
3076 - <type>SelectValues</type>  
3077 - <description/>  
3078 - <distribute>Y</distribute>  
3079 - <custom_distribution/>  
3080 - <copies>1</copies>  
3081 - <partitioning>  
3082 - <method>none</method>  
3083 - <schema_name/>  
3084 - </partitioning>  
3085 - <fields> <select_unspecified>Y</select_unspecified>  
3086 - <meta> <name>zdlyversion_</name>  
3087 - <rename>version</rename>  
3088 - <type>Integer</type>  
3089 - <length>-2</length>  
3090 - <precision>-2</precision>  
3091 - <conversion_mask/>  
3092 - <date_format_lenient>false</date_format_lenient>  
3093 - <date_format_locale/>  
3094 - <date_format_timezone/>  
3095 - <lenient_string_to_number>false</lenient_string_to_number>  
3096 - <encoding/>  
3097 - <decimal_symbol/>  
3098 - <grouping_symbol/>  
3099 - <currency_symbol/>  
3100 - <storage_type/>  
3101 - </meta> </fields> <cluster_schema/>  
3102 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
3103 - <xloc>1015</xloc>  
3104 - <yloc>333</yloc>  
3105 - <draw>Y</draw>  
3106 - </GUI>  
3107 - </step>  
3108 -  
3109 - <step_error_handling>  
3110 - <error>  
3111 - <source_step>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail</source_step>  
3112 - <target_step/>  
3113 - <is_enabled>Y</is_enabled>  
3114 - <nr_valuename>c1</nr_valuename>  
3115 - <descriptions_valuename>c2</descriptions_valuename>  
3116 - <fields_valuename>c3</fields_valuename>  
3117 - <codes_valuename>c4</codes_valuename>  
3118 - <max_errors/>  
3119 - <max_pct_errors/>  
3120 - <min_pct_rows/>  
3121 - </error>  
3122 - </step_error_handling>  
3123 - <slave-step-copy-partition-distribution>  
3124 -</slave-step-copy-partition-distribution>  
3125 - <slave_transformation>N</slave_transformation>  
3126 -  
3127 -</transformation> 1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<transformation>
  3 + <info>
  4 + <name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x5bfc;&#x5165;-&#x7ad9;&#x70b9;&#x8def;&#x7531;&#x7248;&#x672c;</name>
  5 + <description>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;&#x5bfc;&#x5165;</description>
  6 + <extended_description>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;</extended_description>
  7 + <trans_version/>
  8 + <trans_type>Normal</trans_type>
  9 + <trans_status>0</trans_status>
  10 + <directory>&#x2f;</directory>
  11 + <parameters>
  12 + </parameters>
  13 + <log>
  14 +<trans-log-table><connection/>
  15 +<schema/>
  16 +<table/>
  17 +<size_limit_lines/>
  18 +<interval/>
  19 +<timeout_days/>
  20 +<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>
  21 +<perf-log-table><connection/>
  22 +<schema/>
  23 +<table/>
  24 +<interval/>
  25 +<timeout_days/>
  26 +<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>
  27 +<channel-log-table><connection/>
  28 +<schema/>
  29 +<table/>
  30 +<timeout_days/>
  31 +<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>
  32 +<step-log-table><connection/>
  33 +<schema/>
  34 +<table/>
  35 +<timeout_days/>
  36 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>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>
  37 +<metrics-log-table><connection/>
  38 +<schema/>
  39 +<table/>
  40 +<timeout_days/>
  41 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>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>
  42 + </log>
  43 + <maxdate>
  44 + <connection/>
  45 + <table/>
  46 + <field/>
  47 + <offset>0.0</offset>
  48 + <maxdiff>0.0</maxdiff>
  49 + </maxdate>
  50 + <size_rowset>10000</size_rowset>
  51 + <sleep_time_empty>50</sleep_time_empty>
  52 + <sleep_time_full>50</sleep_time_full>
  53 + <unique_connections>N</unique_connections>
  54 + <feedback_shown>Y</feedback_shown>
  55 + <feedback_size>50000</feedback_size>
  56 + <using_thread_priorities>Y</using_thread_priorities>
  57 + <shared_objects_file/>
  58 + <capture_step_performance>N</capture_step_performance>
  59 + <step_performance_capturing_delay>1000</step_performance_capturing_delay>
  60 + <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit>
  61 + <dependencies>
  62 + </dependencies>
  63 + <partitionschemas>
  64 + </partitionschemas>
  65 + <slaveservers>
  66 + </slaveservers>
  67 + <clusterschemas>
  68 + </clusterschemas>
  69 + <created_user>-</created_user>
  70 + <created_date>2016&#x2f;06&#x2f;30 12&#x3a;21&#x3a;57.536</created_date>
  71 + <modified_user>-</modified_user>
  72 + <modified_date>2016&#x2f;06&#x2f;30 12&#x3a;21&#x3a;57.536</modified_date>
  73 + <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</key_for_session_key>
  74 + <is_key_private>N</is_key_private>
  75 + </info>
  76 + <notepads>
  77 + <notepad>
  78 + <note>&#x5b57;&#x5178;&#x8868;&#x5bf9;&#x5e94;&#xff08;&#x4ee5;&#x540e;&#x76f4;&#x63a5;&#x67e5;&#x627e;&#x8868; bsth_c_sys_dictionary&#xff09;&#xa;&#x7c7b;&#x578b; &#x4ee3;&#x7801; &#x540d;&#x79f0;&#xa;LineTrend 0 &#x4e0a;&#x884c;&#xa;LineTrend 1 &#x4e0b;&#x884c;&#xa;ScheduleType normal &#x6b63;&#x5e38;&#x73ed;&#x6b21;&#xa;ScheduleType out &#x51fa;&#x573a;&#xa;ScheduleType in &#x8fdb;&#x573a;&#xa;ScheduleType temp &#x4e34;&#x52a0;&#xa;ScheduleType region &#x533a;&#x95f4;&#xa;ScheduleType venting &#x653e;&#x7a7a;&#xa;ScheduleType major &#x653e;&#x5927;&#x7ad9;</note>
  79 + <xloc>606</xloc>
  80 + <yloc>129</yloc>
  81 + <width>332</width>
  82 + <heigth>186</heigth>
  83 + <fontname>YaHei Consolas Hybrid</fontname>
  84 + <fontsize>12</fontsize>
  85 + <fontbold>N</fontbold>
  86 + <fontitalic>N</fontitalic>
  87 + <fontcolorred>0</fontcolorred>
  88 + <fontcolorgreen>0</fontcolorgreen>
  89 + <fontcolorblue>0</fontcolorblue>
  90 + <backgroundcolorred>255</backgroundcolorred>
  91 + <backgroundcolorgreen>205</backgroundcolorgreen>
  92 + <backgroundcolorblue>112</backgroundcolorblue>
  93 + <bordercolorred>100</bordercolorred>
  94 + <bordercolorgreen>100</bordercolorgreen>
  95 + <bordercolorblue>100</bordercolorblue>
  96 + <drawshadow>Y</drawshadow>
  97 + </notepad>
  98 + <notepad>
  99 + <note>&#x56e0;&#x4e3a;&#x65f6;&#x523b;&#x8868;&#x8f93;&#x5165;&#x683c;&#x5f0f;&#x4e0d;&#x786e;&#x5b9a;&#x6027;&#xff0c;&#x4e3b;&#x8981;&#x56e0;&#x4e3a;&#x8868;&#x7ed3;&#x6784;&#x662f;&#x53cd;&#x8303;&#x5f0f;&#x5316;&#x7684;&#xff0c;&#xa;&#x6240;&#x4ee5;&#x9700;&#x8981;&#x5916;&#x90e8;&#x52a8;&#x6001;&#x6307;&#x5b9a;&#x613f;&#x6570;&#x636e;&#xff0c;&#x5934;&#x4e09;&#x4e2a;step&#x52a8;&#x6001;&#x6307;&#x5b9a;&#x613f;&#x6570;&#x636e;&#xa;&#xa;</note>
  100 + <xloc>79</xloc>
  101 + <yloc>206</yloc>
  102 + <width>346</width>
  103 + <heigth>74</heigth>
  104 + <fontname>YaHei Consolas Hybrid</fontname>
  105 + <fontsize>12</fontsize>
  106 + <fontbold>N</fontbold>
  107 + <fontitalic>N</fontitalic>
  108 + <fontcolorred>0</fontcolorred>
  109 + <fontcolorgreen>0</fontcolorgreen>
  110 + <fontcolorblue>0</fontcolorblue>
  111 + <backgroundcolorred>255</backgroundcolorred>
  112 + <backgroundcolorgreen>205</backgroundcolorgreen>
  113 + <backgroundcolorblue>112</backgroundcolorblue>
  114 + <bordercolorred>100</bordercolorred>
  115 + <bordercolorgreen>100</bordercolorgreen>
  116 + <bordercolorblue>100</bordercolorblue>
  117 + <drawshadow>Y</drawshadow>
  118 + </notepad>
  119 + <notepad>
  120 + <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>
  121 + <xloc>721</xloc>
  122 + <yloc>762</yloc>
  123 + <width>333</width>
  124 + <heigth>90</heigth>
  125 + <fontname>YaHei Consolas Hybrid</fontname>
  126 + <fontsize>12</fontsize>
  127 + <fontbold>N</fontbold>
  128 + <fontitalic>N</fontitalic>
  129 + <fontcolorred>0</fontcolorred>
  130 + <fontcolorgreen>0</fontcolorgreen>
  131 + <fontcolorblue>0</fontcolorblue>
  132 + <backgroundcolorred>255</backgroundcolorred>
  133 + <backgroundcolorgreen>205</backgroundcolorgreen>
  134 + <backgroundcolorblue>112</backgroundcolorblue>
  135 + <bordercolorred>100</bordercolorred>
  136 + <bordercolorgreen>100</bordercolorgreen>
  137 + <bordercolorblue>100</bordercolorblue>
  138 + <drawshadow>Y</drawshadow>
  139 + </notepad>
  140 + <notepad>
  141 + <note>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#xff0c;&#x65b9;&#x5411;&#x6709;&#x65f6;&#x786e;&#x5b9a;&#x4e0d;&#x51c6;&#xff0c;&#xa;&#x7a7a;&#x7684;&#x60c5;&#x51b5;&#x4e0b;&#x8bbe;&#x5b9a;&#x4e3a;0&#xff08;&#x4e0a;&#x884c;&#xff09;</note>
  142 + <xloc>104</xloc>
  143 + <yloc>939</yloc>
  144 + <width>178</width>
  145 + <heigth>42</heigth>
  146 + <fontname>YaHei Consolas Hybrid</fontname>
  147 + <fontsize>12</fontsize>
  148 + <fontbold>N</fontbold>
  149 + <fontitalic>N</fontitalic>
  150 + <fontcolorred>0</fontcolorred>
  151 + <fontcolorgreen>0</fontcolorgreen>
  152 + <fontcolorblue>0</fontcolorblue>
  153 + <backgroundcolorred>255</backgroundcolorred>
  154 + <backgroundcolorgreen>205</backgroundcolorgreen>
  155 + <backgroundcolorblue>112</backgroundcolorblue>
  156 + <bordercolorred>100</bordercolorred>
  157 + <bordercolorgreen>100</bordercolorgreen>
  158 + <bordercolorblue>100</bordercolorblue>
  159 + <drawshadow>Y</drawshadow>
  160 + </notepad>
  161 + <notepad>
  162 + <note>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#xff0c;&#x65b9;&#x5411;&#x6709;&#x65f6;&#x786e;&#x5b9a;&#x4e0d;&#x51c6;&#xff0c;&#xa;&#x7a7a;&#x7684;&#x60c5;&#x51b5;&#x4e0b;&#x8bbe;&#x5b9a;&#x4e3a;0&#xff08;&#x4e0a;&#x884c;&#xff09;</note>
  163 + <xloc>578</xloc>
  164 + <yloc>1084</yloc>
  165 + <width>178</width>
  166 + <heigth>42</heigth>
  167 + <fontname>YaHei Consolas Hybrid</fontname>
  168 + <fontsize>12</fontsize>
  169 + <fontbold>N</fontbold>
  170 + <fontitalic>N</fontitalic>
  171 + <fontcolorred>0</fontcolorred>
  172 + <fontcolorgreen>0</fontcolorgreen>
  173 + <fontcolorblue>0</fontcolorblue>
  174 + <backgroundcolorred>255</backgroundcolorred>
  175 + <backgroundcolorgreen>205</backgroundcolorgreen>
  176 + <backgroundcolorblue>112</backgroundcolorblue>
  177 + <bordercolorred>100</bordercolorred>
  178 + <bordercolorgreen>100</bordercolorgreen>
  179 + <bordercolorblue>100</bordercolorblue>
  180 + <drawshadow>Y</drawshadow>
  181 + </notepad>
  182 + </notepads>
  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>
  208 + <name>bus_control_variable</name>
  209 + <server>&#x24;&#x7b;v_db_ip&#x7d;</server>
  210 + <type>MYSQL</type>
  211 + <access>Native</access>
  212 + <database>&#x24;&#x7b;v_db_dname&#x7d;</database>
  213 + <port>3306</port>
  214 + <username>&#x24;&#x7b;v_db_uname&#x7d;</username>
  215 + <password>&#x24;&#x7b;v_db_pwd&#x7d;</password>
  216 + <servername/>
  217 + <data_tablespace/>
  218 + <index_tablespace/>
  219 + <attributes>
  220 + <attribute><code>EXTRA_OPTION_MYSQL.characterEncoding</code><attribute>utf8</attribute></attribute>
  221 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  222 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  223 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  224 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  225 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  226 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  227 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  228 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  229 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  230 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  231 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  232 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  233 + </attributes>
  234 + </connection>
  235 + <connection>
  236 + <name>bus_control_&#x516c;&#x53f8;_201</name>
  237 + <server>localhost</server>
  238 + <type>MYSQL</type>
  239 + <access>Native</access>
  240 + <database>control</database>
  241 + <port>3306</port>
  242 + <username>root</username>
  243 + <password>Encrypted </password>
  244 + <servername/>
  245 + <data_tablespace/>
  246 + <index_tablespace/>
  247 + <attributes>
  248 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  249 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  250 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  251 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  252 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  253 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  254 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  255 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  256 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  257 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  258 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  259 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  260 + </attributes>
  261 + </connection>
  262 + <connection>
  263 + <name>bus_control_&#x672c;&#x673a;</name>
  264 + <server>localhost</server>
  265 + <type>MYSQL</type>
  266 + <access>Native</access>
  267 + <database>control</database>
  268 + <port>3306</port>
  269 + <username>root</username>
  270 + <password>Encrypted </password>
  271 + <servername/>
  272 + <data_tablespace/>
  273 + <index_tablespace/>
  274 + <attributes>
  275 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  276 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  277 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  278 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  279 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  280 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  281 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  282 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  283 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  284 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  285 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  286 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  287 + </attributes>
  288 + </connection>
  289 + <connection>
  290 + <name>xlab_mysql_youle</name>
  291 + <server>101.231.124.8</server>
  292 + <type>MYSQL</type>
  293 + <access>Native</access>
  294 + <database>xlab_youle</database>
  295 + <port>45687</port>
  296 + <username>xlab-youle</username>
  297 + <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password>
  298 + <servername/>
  299 + <data_tablespace/>
  300 + <index_tablespace/>
  301 + <attributes>
  302 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  303 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  304 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  305 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  306 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  307 + <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute>
  308 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  309 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  310 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  311 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  312 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  313 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  314 + </attributes>
  315 + </connection>
  316 + <connection>
  317 + <name>xlab_mysql_youle&#xff08;&#x672c;&#x673a;&#xff09;</name>
  318 + <server>localhost</server>
  319 + <type>MYSQL</type>
  320 + <access>Native</access>
  321 + <database>xlab_youle</database>
  322 + <port>3306</port>
  323 + <username>root</username>
  324 + <password>Encrypted </password>
  325 + <servername/>
  326 + <data_tablespace/>
  327 + <index_tablespace/>
  328 + <attributes>
  329 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  330 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  331 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  332 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  333 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  334 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  335 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  336 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  337 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  338 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  339 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  340 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  341 + </attributes>
  342 + </connection>
  343 + <connection>
  344 + <name>xlab_youle</name>
  345 + <server/>
  346 + <type>MYSQL</type>
  347 + <access>JNDI</access>
  348 + <database>xlab_youle</database>
  349 + <port>1521</port>
  350 + <username/>
  351 + <password>Encrypted </password>
  352 + <servername/>
  353 + <data_tablespace/>
  354 + <index_tablespace/>
  355 + <attributes>
  356 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  357 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  358 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  359 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  360 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  361 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  362 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  363 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  364 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  365 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  366 + </attributes>
  367 + </connection>
  368 + <order>
  369 + <hop> <from>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</from><to>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</to><enabled>Y</enabled> </hop>
  370 + <hop> <from>&#x6dfb;&#x52a0;&#x53d1;&#x8f66;&#x987a;&#x5e8f;&#x53f7;</from><to>&#x8fc7;&#x6ee4;&#x8bb0;&#x5f55;&#xff08;&#x53d1;&#x8f66;&#x65f6;&#x95f4;&#x4e3a;&#x7a7a;&#xff09;</to><enabled>Y</enabled> </hop>
  371 + <hop> <from>&#x8fc7;&#x6ee4;&#x8bb0;&#x5f55;&#xff08;&#x53d1;&#x8f66;&#x65f6;&#x95f4;&#x4e3a;&#x7a7a;&#xff09;</from><to>&#x6dfb;&#x52a0;&#x5bf9;&#x5e94;&#x73ed;&#x6b21;&#x6570;</to><enabled>Y</enabled> </hop>
  372 + <hop> <from>&#x6dfb;&#x52a0;&#x5bf9;&#x5e94;&#x73ed;&#x6b21;&#x6570;</from><to>&#x5904;&#x7406;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
  373 + <hop> <from>&#x5904;&#x7406;&#x6570;&#x636e;</from><to>&#x5206;&#x7ec4;&#x5404;&#x4e2a;&#x8def;&#x724c;&#x7684;&#x7ad9;</to><enabled>Y</enabled> </hop>
  374 + <hop> <from>&#x67e5;&#x627e;&#x65f6;&#x523b;&#x8868;&#x57fa;&#x7840;&#x4fe1;&#x606f;&#x5173;&#x8054;</from><to>&#x67e5;&#x627e;&#x8def;&#x724c;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop>
  375 + <hop> <from>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x5173;&#x8054;</from><to>&#x67e5;&#x627e;&#x65f6;&#x523b;&#x8868;&#x57fa;&#x7840;&#x4fe1;&#x606f;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop>
  376 + <hop> <from>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178;</from><to>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178;</to><enabled>Y</enabled> </hop>
  377 + <hop> <from>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 2</from><to>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 2</to><enabled>Y</enabled> </hop>
  378 + <hop> <from>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 3</from><to>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 3</to><enabled>Y</enabled> </hop>
  379 + <hop> <from>&#x5339;&#x914d;&#x4e0a;&#x4e0b;&#x884c;&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x7c7b;&#x578b;&#x4fee;&#x6b63;</to><enabled>Y</enabled> </hop>
  380 + <hop> <from>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;1</from><to>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</to><enabled>Y</enabled> </hop>
  381 + <hop> <from>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;1</from><to>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
  382 + <hop> <from>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</from><to>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
  383 + <hop> <from>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</from><to>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
  384 + <hop> <from>&#x67e5;&#x627e;&#x6240;&#x6709;&#x7ebf;&#x8def;&#x4e0a;&#x4e0b;&#x884c;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x5339;&#x914d;&#x4e0a;&#x4e0b;&#x884c;&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>
  385 + <hop> <from>&#x67e5;&#x627e;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;</from><to>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178;</to><enabled>Y</enabled> </hop>
  386 + <hop> <from>&#x67e5;&#x627e;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</from><to>&#x67e5;&#x627e;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop>
  387 + <hop> <from>&#x6b63;&#x5e38;&#x73ed;&#x6b21;_&#x5904;&#x7406;&#x6570;&#x636e;</from><to>&#x67e5;&#x627e;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</to><enabled>Y</enabled> </hop>
  388 + <hop> <from>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x6570;&#x636e;</from><to>&#x6b63;&#x5e38;&#x73ed;&#x6b21;_&#x5904;&#x7406;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
  389 + <hop> <from>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178;</from><to>&#x67e5;&#x627e;&#x6240;&#x6709;&#x7ebf;&#x8def;&#x4e0a;&#x4e0b;&#x884c;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>
  390 + <hop> <from>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 2</from><to>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x51fa;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>
  391 + <hop> <from>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 3</from><to>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x8fdb;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>
  392 + <hop> <from>&#x8ba1;&#x7b97;&#x73ed;&#x6b21;&#x7c7b;&#x578b;</from><to>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;1</to><enabled>Y</enabled> </hop>
  393 + <hop> <from>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</from><to>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;1</to><enabled>Y</enabled> </hop>
  394 + <hop> <from>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;1</from><to>&#x51fa;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x7ec8;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</to><enabled>Y</enabled> </hop>
  395 + <hop> <from>&#x51fa;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x7ec8;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</from><to>&#x67e5;&#x627e;&#x51fa;&#x573a;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</to><enabled>Y</enabled> </hop>
  396 + <hop> <from>&#x67e5;&#x627e;&#x51fa;&#x573a;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</from><to>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 2</to><enabled>Y</enabled> </hop>
  397 + <hop> <from>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</from><to>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;2</to><enabled>Y</enabled> </hop>
  398 + <hop> <from>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;2</from><to>&#x8fdb;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x8d77;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</to><enabled>Y</enabled> </hop>
  399 + <hop> <from>&#x8fdb;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x8d77;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</from><to>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ebf;&#x8def;&#x65b9;&#x5411;</to><enabled>Y</enabled> </hop>
  400 + <hop> <from>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ebf;&#x8def;&#x65b9;&#x5411;</from><to>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ec8;&#x70b9;&#x7ad9;&#xff0c;&#x5e76;&#x4f5c;&#x4e3a;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x70b9;&#x7ad9;</to><enabled>Y</enabled> </hop>
  401 + <hop> <from>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</from><to>&#x6dfb;&#x52a0;&#x53d1;&#x8f66;&#x987a;&#x5e8f;&#x53f7;</to><enabled>Y</enabled> </hop>
  402 + <hop> <from>&#x5206;&#x7ec4;&#x5404;&#x4e2a;&#x8def;&#x724c;&#x7684;&#x7ad9;</from><to>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop>
  403 + <hop> <from>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;&#xff0c;&#x7ebf;&#x8def;&#x540d;&#x5b57;&#xff0c;&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</from><to>&#x8bb0;&#x5f55;&#x5173;&#x8054; &#x28;&#x7b1b;&#x5361;&#x5c14;&#x8f93;&#x51fa;&#x29;</to><enabled>Y</enabled> </hop>
  404 + <hop> <from>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</from><to>&#x8bb0;&#x5f55;&#x5173;&#x8054; &#x28;&#x7b1b;&#x5361;&#x5c14;&#x8f93;&#x51fa;&#x29;</to><enabled>Y</enabled> </hop>
  405 + <hop> <from>&#x8bb0;&#x5f55;&#x5173;&#x8054; &#x28;&#x7b1b;&#x5361;&#x5c14;&#x8f93;&#x51fa;&#x29;</from><to>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</to><enabled>Y</enabled> </hop>
  406 + <hop> <from>&#x7c7b;&#x578b;&#x4fee;&#x6b63;</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail</to><enabled>Y</enabled> </hop>
  407 + <hop> <from>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ec8;&#x70b9;&#x7ad9;&#xff0c;&#x5e76;&#x4f5c;&#x4e3a;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x70b9;&#x7ad9;</from><to>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</to><enabled>Y</enabled> </hop>
  408 + <hop> <from>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</from><to>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 3</to><enabled>Y</enabled> </hop>
  409 + <hop> <from>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x51fa;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x5339;&#x914d;&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>
  410 + <hop> <from>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x8fdb;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x5339;&#x914d;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>
  411 + <hop> <from>&#x5339;&#x914d;&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x4e0a;&#x4e0b;&#x884c;NULL&#x5224;&#x5b9a;</to><enabled>Y</enabled> </hop>
  412 + <hop> <from>&#x4e0a;&#x4e0b;&#x884c;NULL&#x5224;&#x5b9a;</from><to>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 2</to><enabled>Y</enabled> </hop>
  413 + <hop> <from>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 2</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail 2</to><enabled>Y</enabled> </hop>
  414 + <hop> <from>&#x5339;&#x914d;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x4e0a;&#x4e0b;&#x884c;&#x5224;&#x5b9a; 2</to><enabled>Y</enabled> </hop>
  415 + <hop> <from>&#x4e0a;&#x4e0b;&#x884c;&#x5224;&#x5b9a; 2</from><to>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 3</to><enabled>Y</enabled> </hop>
  416 + <hop> <from>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 3</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail 3</to><enabled>Y</enabled> </hop>
  417 + <hop> <from>&#x67e5;&#x627e;&#x8def;&#x724c;&#x5173;&#x8054;</from><to>&#x7ad9;&#x70b9;&#x8def;&#x7531;&#x7248;&#x672c;&#x7c7b;&#x578b;</to><enabled>Y</enabled> </hop>
  418 + <hop> <from>&#x7ad9;&#x70b9;&#x8def;&#x7531;&#x7248;&#x672c;&#x7c7b;&#x578b;</from><to>&#x8ba1;&#x7b97;&#x73ed;&#x6b21;&#x7c7b;&#x578b;</to><enabled>Y</enabled> </hop>
  419 + </order>
  420 + <step>
  421 + <name>&#x4e0a;&#x4e0b;&#x884c;NULL&#x5224;&#x5b9a;</name>
  422 + <type>IfNull</type>
  423 + <description/>
  424 + <distribute>Y</distribute>
  425 + <custom_distribution/>
  426 + <copies>1</copies>
  427 + <partitioning>
  428 + <method>none</method>
  429 + <schema_name/>
  430 + </partitioning>
  431 + <replaceAllByValue/>
  432 + <replaceAllMask/>
  433 + <selectFields>Y</selectFields>
  434 + <selectValuesType>N</selectValuesType>
  435 + <setEmptyStringAll>N</setEmptyStringAll>
  436 + <valuetypes>
  437 + </valuetypes>
  438 + <fields>
  439 + <field>
  440 + <name>sxx</name>
  441 + <value>0</value>
  442 + <mask/>
  443 + <set_empty_string>N</set_empty_string>
  444 + </field>
  445 + </fields>
  446 + <cluster_schema/>
  447 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  448 + <xloc>335</xloc>
  449 + <yloc>938</yloc>
  450 + <draw>Y</draw>
  451 + </GUI>
  452 + </step>
  453 +
  454 + <step>
  455 + <name>&#x4e0a;&#x4e0b;&#x884c;&#x5224;&#x5b9a; 2</name>
  456 + <type>IfNull</type>
  457 + <description/>
  458 + <distribute>Y</distribute>
  459 + <custom_distribution/>
  460 + <copies>1</copies>
  461 + <partitioning>
  462 + <method>none</method>
  463 + <schema_name/>
  464 + </partitioning>
  465 + <replaceAllByValue/>
  466 + <replaceAllMask/>
  467 + <selectFields>Y</selectFields>
  468 + <selectValuesType>N</selectValuesType>
  469 + <setEmptyStringAll>N</setEmptyStringAll>
  470 + <valuetypes>
  471 + </valuetypes>
  472 + <fields>
  473 + <field>
  474 + <name>sxx2</name>
  475 + <value>0</value>
  476 + <mask/>
  477 + <set_empty_string>N</set_empty_string>
  478 + </field>
  479 + </fields>
  480 + <cluster_schema/>
  481 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  482 + <xloc>804</xloc>
  483 + <yloc>1081</yloc>
  484 + <draw>Y</draw>
  485 + </GUI>
  486 + </step>
  487 +
  488 + <step>
  489 + <name>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178;</name>
  490 + <type>ValueMapper</type>
  491 + <description/>
  492 + <distribute>Y</distribute>
  493 + <custom_distribution/>
  494 + <copies>1</copies>
  495 + <partitioning>
  496 + <method>none</method>
  497 + <schema_name/>
  498 + </partitioning>
  499 + <field_to_use>sxx</field_to_use>
  500 + <target_field>sxx_desc</target_field>
  501 + <non_match_default/>
  502 + <fields>
  503 + <field>
  504 + <source_value>0</source_value>
  505 + <target_value>&#x4e0a;&#x884c;</target_value>
  506 + </field>
  507 + <field>
  508 + <source_value>1</source_value>
  509 + <target_value>&#x4e0b;&#x884c;</target_value>
  510 + </field>
  511 + </fields>
  512 + <cluster_schema/>
  513 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  514 + <xloc>147</xloc>
  515 + <yloc>403</yloc>
  516 + <draw>Y</draw>
  517 + </GUI>
  518 + </step>
  519 +
  520 + <step>
  521 + <name>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 2</name>
  522 + <type>ValueMapper</type>
  523 + <description/>
  524 + <distribute>Y</distribute>
  525 + <custom_distribution/>
  526 + <copies>1</copies>
  527 + <partitioning>
  528 + <method>none</method>
  529 + <schema_name/>
  530 + </partitioning>
  531 + <field_to_use>sxx</field_to_use>
  532 + <target_field>sxx_desc</target_field>
  533 + <non_match_default/>
  534 + <fields>
  535 + <field>
  536 + <source_value>0</source_value>
  537 + <target_value>&#x4e0a;&#x884c;</target_value>
  538 + </field>
  539 + <field>
  540 + <source_value>1</source_value>
  541 + <target_value>&#x4e0b;&#x884c;</target_value>
  542 + </field>
  543 + </fields>
  544 + <cluster_schema/>
  545 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  546 + <xloc>331</xloc>
  547 + <yloc>598</yloc>
  548 + <draw>Y</draw>
  549 + </GUI>
  550 + </step>
  551 +
  552 + <step>
  553 + <name>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 3</name>
  554 + <type>ValueMapper</type>
  555 + <description/>
  556 + <distribute>Y</distribute>
  557 + <custom_distribution/>
  558 + <copies>1</copies>
  559 + <partitioning>
  560 + <method>none</method>
  561 + <schema_name/>
  562 + </partitioning>
  563 + <field_to_use>sxx</field_to_use>
  564 + <target_field>sxx_desc</target_field>
  565 + <non_match_default/>
  566 + <fields>
  567 + <field>
  568 + <source_value>0</source_value>
  569 + <target_value>&#x4e0a;&#x884c;</target_value>
  570 + </field>
  571 + <field>
  572 + <source_value>1</source_value>
  573 + <target_value>&#x4e0b;&#x884c;</target_value>
  574 + </field>
  575 + </fields>
  576 + <cluster_schema/>
  577 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  578 + <xloc>553</xloc>
  579 + <yloc>859</yloc>
  580 + <draw>Y</draw>
  581 + </GUI>
  582 + </step>
  583 +
  584 + <step>
  585 + <name>&#x51fa;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x7ec8;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</name>
  586 + <type>ScriptValueMod</type>
  587 + <description/>
  588 + <distribute>Y</distribute>
  589 + <custom_distribution/>
  590 + <copies>1</copies>
  591 + <partitioning>
  592 + <method>none</method>
  593 + <schema_name/>
  594 + </partitioning>
  595 + <compatible>N</compatible>
  596 + <optimizationLevel>9</optimizationLevel>
  597 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  598 + <jsScript_name>Script 1</jsScript_name>
  599 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f; &#x6dfb;&#x52a0;&#x7ad9;&#x70b9;&#x6807;&#x8bc6;&#xa;var cc_groups &#x3d; qdzgroups.split&#x28;&#x22;,&#x22;&#x29;&#x3b; &#x2f;&#x2f; &#x6240;&#x6709;&#x73ed;&#x6b21;&#x8d77;&#x70b9;&#x7ad9;&#x6570;&#x7ec4;&#xa;var zdzname &#x3d; cc_groups&#x5b;gno&#x5d;&#x3b; &#x2f;&#x2f; &#x51fa;&#x573a;&#x73ed;&#x6b21;&#x7684;&#x7ec8;&#x70b9;&#x7ad9;&#x662f;&#x4e0b;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x59cb;&#x7ad9;&#xa;var endZdtype &#x3d; &#x27;B&#x27;&#x3b;&#xa;&#x2f;&#x2f; var endZdtype &#x3d; &#x27;E&#x27;&#x3b;&#xa;&#xa;var destory &#x3d; 0&#x3b; &#x2f;&#x2f; &#x672a;&#x64a4;&#x9500;flag</jsScript_script>
  600 + </jsScript> </jsScripts> <fields> <field> <name>zdzname</name>
  601 + <rename>zdzname</rename>
  602 + <type>String</type>
  603 + <length>-1</length>
  604 + <precision>-1</precision>
  605 + <replace>N</replace>
  606 + </field> <field> <name>endZdtype</name>
  607 + <rename>endZdtype</rename>
  608 + <type>String</type>
  609 + <length>-1</length>
  610 + <precision>-1</precision>
  611 + <replace>N</replace>
  612 + </field> <field> <name>destory</name>
  613 + <rename>destory</rename>
  614 + <type>Integer</type>
  615 + <length>-1</length>
  616 + <precision>-1</precision>
  617 + <replace>N</replace>
  618 + </field> </fields> <cluster_schema/>
  619 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  620 + <xloc>575</xloc>
  621 + <yloc>502</yloc>
  622 + <draw>Y</draw>
  623 + </GUI>
  624 + </step>
  625 +
  626 + <step>
  627 + <name>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</name>
  628 + <type>Dummy</type>
  629 + <description/>
  630 + <distribute>Y</distribute>
  631 + <custom_distribution/>
  632 + <copies>1</copies>
  633 + <partitioning>
  634 + <method>none</method>
  635 + <schema_name/>
  636 + </partitioning>
  637 + <cluster_schema/>
  638 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  639 + <xloc>869</xloc>
  640 + <yloc>504</yloc>
  641 + <draw>Y</draw>
  642 + </GUI>
  643 + </step>
  644 +
  645 + <step>
  646 + <name>&#x5206;&#x7ec4;&#x5404;&#x4e2a;&#x8def;&#x724c;&#x7684;&#x7ad9;</name>
  647 + <type>GroupBy</type>
  648 + <description/>
  649 + <distribute>Y</distribute>
  650 + <custom_distribution/>
  651 + <copies>1</copies>
  652 + <partitioning>
  653 + <method>none</method>
  654 + <schema_name/>
  655 + </partitioning>
  656 + <all_rows>Y</all_rows>
  657 + <ignore_aggregate>N</ignore_aggregate>
  658 + <field_ignore/>
  659 + <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
  660 + <prefix>grp</prefix>
  661 + <add_linenr>Y</add_linenr>
  662 + <linenr_fieldname>gno</linenr_fieldname>
  663 + <give_back_row>N</give_back_row>
  664 + <group>
  665 + <field>
  666 + <name>lp</name>
  667 + </field>
  668 + </group>
  669 + <fields>
  670 + <field>
  671 + <aggregate>qdzgroups</aggregate>
  672 + <subject>qdzname</subject>
  673 + <type>CONCAT_STRING</type>
  674 + <valuefield>,</valuefield>
  675 + </field>
  676 + </fields>
  677 + <cluster_schema/>
  678 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  679 + <xloc>892</xloc>
  680 + <yloc>44</yloc>
  681 + <draw>Y</draw>
  682 + </GUI>
  683 + </step>
  684 +
  685 + <step>
  686 + <name>&#x5339;&#x914d;&#x4e0a;&#x4e0b;&#x884c;&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
  687 + <type>ScriptValueMod</type>
  688 + <description/>
  689 + <distribute>Y</distribute>
  690 + <custom_distribution/>
  691 + <copies>1</copies>
  692 + <partitioning>
  693 + <method>none</method>
  694 + <schema_name/>
  695 + </partitioning>
  696 + <compatible>N</compatible>
  697 + <optimizationLevel>9</optimizationLevel>
  698 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  699 + <jsScript_name>Script 1</jsScript_name>
  700 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var jhlc&#x3b; &#x2f;&#x2f; &#x8ba1;&#x5212;&#x91cc;&#x7a0b;&#xa;var bcsj&#x3b; &#x2f;&#x2f; &#x73ed;&#x6b21;&#x65f6;&#x95f4;&#xa;&#xa;&#x2f;&#x2f; &#x65f6;&#x95f4;&#x8303;&#x56f4;&#x6b63;&#x5219;&#x8868;&#x8fbe;&#x5f0f;&#xa;var timeRex &#x3d; &#x2f;&#x5e;&#x28;&#x5b;01&#x5d;&#x3f;&#x5b;0-9&#x5d;&#x7c;2&#x5b;0-3&#x5d;&#x29;&#x3a;&#x5b;0-5&#x5d;&#x5b;0-9&#x5d;&#x24;&#x2f;&#x3b;&#xa;&#x2f;&#x2f; &#x53d1;&#x8f66;&#x65f6;&#x95f4;&#x8f6c;&#x6362;&#x6210;&#x65e5;&#x671f;&#xa;var fcsj_hour &#x3d; str2num&#x28;sendtime_calcu.substr&#x28;0, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa;var fcsj_min &#x3d; str2num&#x28;sendtime_calcu.substr&#x28;3, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa;var fcsj_date &#x3d; new Date&#x28;2000,1,1,fcsj_hour,fcsj_min,0&#x29;&#x3b;&#xa;&#xa;&#x2f;&#x2f; &#x5224;&#x5b9a;&#x662f;&#x5426;&#x65e9;&#x9ad8;&#x5cf0;&#xa;var isZgf &#x3d; false&#x3b;&#xa;if &#x28;timeRex.test&#x28;early_start_time&#x29; &#x26;&#x26; timeRex.test&#x28;early_end_time&#x29; &#x26;&#x26; early_up_time &#x21;&#x3d; null &#x26;&#x26; early_down_time &#x21;&#x3d; null&#x29; &#x7b;&#xa; var early_s_hour &#x3d; str2num&#x28;early_start_time.substr&#x28;0, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var early_s_min &#x3d; str2num&#x28;early_start_time.substr&#x28;3, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var early_s_date &#x3d; new Date&#x28;2000,1,1,early_s_hour,early_s_min,0&#x29;&#x3b;&#xa;&#xa; var early_e_hour &#x3d; str2num&#x28;early_end_time.substr&#x28;0, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var early_e_min &#x3d; str2num&#x28;early_end_time.substr&#x28;3, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var early_e_date &#x3d; new Date&#x28;2000,1,1,early_e_hour,early_e_min,0&#x29;&#x3b;&#xa;&#xa; if &#x28;fcsj_date &#x3e;&#x3d; early_s_date &#x26;&#x26; fcsj_date &#x3c;&#x3d; early_e_date&#x29; &#x7b;&#xa; isZgf &#x3d; true&#x3b;&#xa; &#x7d;&#xa;&#x7d;&#xa;&#xa;&#x2f;&#x2f; &#x5224;&#x5b9a;&#x662f;&#x5426;&#x665a;&#x9ad8;&#x5cf0;&#xa;var isWgf &#x3d; false&#x3b;&#xa;if &#x28;timeRex.test&#x28;late_start_time&#x29; &#x26;&#x26; timeRex.test&#x28;late_end_time&#x29; &#x26;&#x26; late_up_time &#x21;&#x3d; null &#x26;&#x26; late_down_time &#x21;&#x3d; null&#x29; &#x7b;&#xa; var late_s_hour &#x3d; str2num&#x28;late_start_time.substr&#x28;0, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var late_s_min &#x3d; str2num&#x28;late_start_time.substr&#x28;3, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var late_s_date &#x3d; new Date&#x28;2000,1,1,late_s_hour,late_s_min,0&#x29;&#x3b;&#xa;&#xa; var late_e_hour &#x3d; str2num&#x28;late_end_time.substr&#x28;0, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var late_e_min &#x3d; str2num&#x28;late_end_time.substr&#x28;3, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var late_e_date &#x3d; new Date&#x28;2000,1,1,late_e_hour,late_e_min,0&#x29;&#x3b;&#xa;&#xa; if &#x28;fcsj_date &#x3e;&#x3d; late_s_date &#x26;&#x26; fcsj_date &#x3c;&#x3d; late_e_date&#x29; &#x7b;&#xa; isWgf &#x3d; true&#x3b;&#xa; &#x7d;&#xa;&#x7d;&#xa;&#xa;&#x2f;&#x2f; &#x5224;&#x5b9a;&#x662f;&#x5426;&#x665a;&#x9ad8;&#x5cf0;&#xa;&#xa;if &#x28;sxx &#x3d;&#x3d; 0&#x29; &#x7b; &#x2f;&#x2f; &#x4e0a;&#x884c;&#xa; if &#x28;isZgf&#x29; &#x7b;&#xa; jhlc &#x3d; up_mileage&#x3b;&#xa; bcsj &#x3d; early_up_time &#x21;&#x3d; 0 &#x3f; early_up_time &#x3a; up_travel_time&#x3b;&#xa; &#x7d; else if &#x28;isWgf&#x29; &#x7b;&#xa; jhlc &#x3d; up_mileage&#x3b;&#xa; bcsj &#x3d; late_up_time &#x21;&#x3d; 0 &#x3f; late_up_time &#x3a; up_travel_time&#x3b;&#xa; &#x7d; else &#x7b;&#xa; jhlc &#x3d; up_mileage&#x3b;&#xa; bcsj &#x3d; up_travel_time&#x3b;&#xa; &#x7d;&#xa;&#x7d; else &#x7b; &#x2f;&#x2f; sxx &#x3d;&#x3d; 1 &#x4e0b;&#x884c;&#xa; if &#x28;isZgf&#x29; &#x7b;&#xa; jhlc &#x3d; down_mileage&#x3b;&#xa; bcsj &#x3d; early_down_time &#x21;&#x3d; 0 &#x3f; early_down_time &#x3a; down_travel_time&#x3b;&#xa; &#x7d; else if &#x28;isWgf&#x29; &#x7b;&#xa; jhlc &#x3d; down_mileage&#x3b;&#xa; bcsj &#x3d; late_down_time &#x21;&#x3d; 0 &#x3f; late_down_time &#x3a; down_travel_time&#x3b;&#xa; &#x7d; else &#x7b;&#xa; jhlc &#x3d; down_mileage&#x3b;&#xa; bcsj &#x3d; down_travel_time&#x3b;&#xa; &#x7d;&#xa;&#x7d;</jsScript_script>
  701 + </jsScript> </jsScripts> <fields> <field> <name>jhlc</name>
  702 + <rename>jhlc</rename>
  703 + <type>String</type>
  704 + <length>-1</length>
  705 + <precision>-1</precision>
  706 + <replace>N</replace>
  707 + </field> <field> <name>bcsj</name>
  708 + <rename>bcsj</rename>
  709 + <type>String</type>
  710 + <length>-1</length>
  711 + <precision>-1</precision>
  712 + <replace>N</replace>
  713 + </field> </fields> <cluster_schema/>
  714 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  715 + <xloc>148</xloc>
  716 + <yloc>674</yloc>
  717 + <draw>Y</draw>
  718 + </GUI>
  719 + </step>
  720 +
  721 + <step>
  722 + <name>&#x5339;&#x914d;&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
  723 + <type>ScriptValueMod</type>
  724 + <description/>
  725 + <distribute>Y</distribute>
  726 + <custom_distribution/>
  727 + <copies>1</copies>
  728 + <partitioning>
  729 + <method>none</method>
  730 + <schema_name/>
  731 + </partitioning>
  732 + <compatible>N</compatible>
  733 + <optimizationLevel>9</optimizationLevel>
  734 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  735 + <jsScript_name>Script 1</jsScript_name>
  736 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var out_mileage&#x3b; &#x2f;&#x2f; &#x51fa;&#x573a;&#x8ba1;&#x5212;&#x91cc;&#x7a0b;&#xa;var out_time&#x3b; &#x2f;&#x2f; &#x51fa;&#x573a;&#x8ba1;&#x5212;&#x65f6;&#x95f4;&#xa;&#xa;if &#x28;sxx &#x3d;&#x3d; 0&#x29; &#x7b; &#x2f;&#x2f; &#x4e0a;&#x884c;&#xa; out_mileage &#x3d; up_out_mileage&#x3b;&#xa; out_time &#x3d; up_out_timer&#x3b;&#xa;&#x7d; else &#x7b; &#x2f;&#x2f; sxx &#x3d;&#x3d; 1 &#x4e0b;&#x884c;&#xa; out_mileage &#x3d; down_out_mileage&#x3b;&#xa; out_time &#x3d; down_out_timer&#x3b;&#xa;&#x7d;&#xa;&#xa;&#xa;&#xa;</jsScript_script>
  737 + </jsScript> </jsScripts> <fields> <field> <name>out_mileage</name>
  738 + <rename>out_mileage</rename>
  739 + <type>String</type>
  740 + <length>-1</length>
  741 + <precision>-1</precision>
  742 + <replace>N</replace>
  743 + </field> <field> <name>out_time</name>
  744 + <rename>out_time</rename>
  745 + <type>String</type>
  746 + <length>-1</length>
  747 + <precision>-1</precision>
  748 + <replace>N</replace>
  749 + </field> </fields> <cluster_schema/>
  750 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  751 + <xloc>336</xloc>
  752 + <yloc>862</yloc>
  753 + <draw>Y</draw>
  754 + </GUI>
  755 + </step>
  756 +
  757 + <step>
  758 + <name>&#x5339;&#x914d;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
  759 + <type>ScriptValueMod</type>
  760 + <description/>
  761 + <distribute>Y</distribute>
  762 + <custom_distribution/>
  763 + <copies>1</copies>
  764 + <partitioning>
  765 + <method>none</method>
  766 + <schema_name/>
  767 + </partitioning>
  768 + <compatible>N</compatible>
  769 + <optimizationLevel>9</optimizationLevel>
  770 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  771 + <jsScript_name>Script 1</jsScript_name>
  772 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var parade_mileage&#x3b; &#x2f;&#x2f; &#x8fdb;&#x573a;&#x8ba1;&#x5212;&#x91cc;&#x7a0b;&#xa;var parade_time&#x3b; &#x2f;&#x2f; &#x8fdb;&#x573a;&#x8ba1;&#x5212;&#x65f6;&#x95f4;&#xa;&#xa;if &#x28;sxx2 &#x3d;&#x3d; 0&#x29; &#x7b; &#x2f;&#x2f; &#x4e0a;&#x884c;&#xa; parade_mileage &#x3d; up_in_mileage&#x3b;&#xa; parade_time &#x3d; up_in_timer&#x3b;&#xa;&#x7d; else &#x7b; &#x2f;&#x2f; sxx &#x3d;&#x3d; 1 &#x4e0b;&#x884c;&#xa; parade_mileage &#x3d; down_in_mileage&#x3b;&#xa; parade_time &#x3d; down_in_timer&#x3b;&#xa;&#x7d;&#xa;&#xa;&#xa;&#xa;</jsScript_script>
  773 + </jsScript> </jsScripts> <fields> <field> <name>parade_mileage</name>
  774 + <rename>parade_mileage</rename>
  775 + <type>String</type>
  776 + <length>-1</length>
  777 + <precision>-1</precision>
  778 + <replace>N</replace>
  779 + </field> <field> <name>parade_time</name>
  780 + <rename>parade_time</rename>
  781 + <type>String</type>
  782 + <length>-1</length>
  783 + <precision>-1</precision>
  784 + <replace>N</replace>
  785 + </field> </fields> <cluster_schema/>
  786 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  787 + <xloc>726</xloc>
  788 + <yloc>1005</yloc>
  789 + <draw>Y</draw>
  790 + </GUI>
  791 + </step>
  792 +
  793 + <step>
  794 + <name>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;&#xff0c;&#x7ebf;&#x8def;&#x540d;&#x5b57;&#xff0c;&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</name>
  795 + <type>DataGrid</type>
  796 + <description/>
  797 + <distribute>Y</distribute>
  798 + <custom_distribution/>
  799 + <copies>1</copies>
  800 + <partitioning>
  801 + <method>none</method>
  802 + <schema_name/>
  803 + </partitioning>
  804 + <fields>
  805 + </fields>
  806 + <data>
  807 + <line> </line>
  808 + </data>
  809 + <cluster_schema/>
  810 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  811 + <xloc>110</xloc>
  812 + <yloc>133</yloc>
  813 + <draw>Y</draw>
  814 + </GUI>
  815 + </step>
  816 +
  817 + <step>
  818 + <name>&#x5904;&#x7406;&#x6570;&#x636e;</name>
  819 + <type>ScriptValueMod</type>
  820 + <description/>
  821 + <distribute>Y</distribute>
  822 + <custom_distribution/>
  823 + <copies>1</copies>
  824 + <partitioning>
  825 + <method>none</method>
  826 + <schema_name/>
  827 + </partitioning>
  828 + <compatible>N</compatible>
  829 + <optimizationLevel>9</optimizationLevel>
  830 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  831 + <jsScript_name>Script 1</jsScript_name>
  832 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f; &#x4f7f;&#x7528;&#x6b63;&#x5219;&#x8868;&#x8fbe;&#x5f0f;&#x53bb;&#x9664;&#x7ad9;&#x70b9;&#x540d;&#x79f0;&#x53f3;&#x4fa7;&#x591a;&#x4f59;&#x7684;&#x6570;&#x5b57;&#xa;qdzname &#x3d; qdzname.replace&#x28;&#x2f;&#x28;&#x5c;d&#x2b;&#x24;&#x29;&#x2f;g,&#x27;&#x27;&#x29;&#x3b;&#xa;if &#x28;qdzname &#x21;&#x3d; &#x22;&#x51fa;&#x573a;&#x22; &#x26;&#x26; qdzname &#x21;&#x3d; &#x22;&#x8fdb;&#x573a;&#x22;&#x29; &#x7b;&#xa; qdzname &#x3d; qdzname &#x2b; &#x22;&#x25;&#x22;&#x3b; &#x2f;&#x2f; &#x6a21;&#x7cca;&#x5339;&#x914d;&#x6807;&#x8bc6;&#x7b26;&#xa;&#x7d;&#xa;&#xa;&#x2f;&#x2f; sendtime&#x5904;&#x7406;&#xff0c;hhmm&#xff0c;hh&#x3a;mm&#xff0c;hh,mm&#xa;var sendtime_calcu &#x3d; sendtime.replace&#x28;&#x2f;&#x5c;s&#x2f;g, &#x22;&#x22;&#x29;&#x3b;&#xa;if &#x28;sendtime.length &#x3d;&#x3d; 5&#x29; &#x7b; &#x2f;&#x2f; &#x6700;&#x957f;&#x683c;&#x5f0f;&#xff0c;&#x5305;&#x62ec;&#x5206;&#x9694;&#x7b26;&#xff0c;&#x7edf;&#x4e00;&#x628a;&#x5206;&#x9694;&#x7b26;&#x66ff;&#x6362;&#x6210;&#x5192;&#x53f7;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 2&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;3, 2&#x29;&#x3b;&#xa;&#x7d; else if &#x28;sendtime.length &#x3d;&#x3d; 4&#x29; &#x7b;&#xa; if &#x28;sendtime.indexOf&#x28;&#x22;&#x3a;&#x22;&#x29; &#x3e; 0&#x29; &#x7b; &#x2f;&#x2f; &#x5192;&#x53f7;&#x5206;&#x9694;&#xff0c;&#x65e0;&#x9700;&#x4fee;&#x6539;&#xa; sendtime_calcu &#x3d; sendtime&#x3b;&#xa; &#x7d; else if &#x28;sendtime.indexOf&#x28;&#x22;,&#x22;&#x29; &#x3e; 0&#x29; &#x7b; &#x2f;&#x2f; &#x9017;&#x53f7;&#x5206;&#x9694;&#xff0c;&#x6539;&#x6210;&#x5192;&#x53f7;&#x5206;&#x9694;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 1&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;2, 2&#x29;&#x3b;&#xa; &#x7d; else &#x7b; &#x2f;&#x2f; &#x65e0;&#x5206;&#x9694;&#x7b26;&#xff0c;&#x6539;&#x6210;&#x5192;&#x53f7;&#x5206;&#x9694;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 2&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;2, 2&#x29;&#x3b;&#xa; &#x7d;&#xa;&#x7d; else if &#x28;sendtime.length &#x3d;&#x3d; 3&#x29; &#x7b; &#x2f;&#x2f; &#x65e0;&#x5206;&#x9694;&#x7b26;&#xff0c;&#x6539;&#x6210;&#x5192;&#x53f7;&#x5206;&#x9694;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 1&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;1, 2&#x29;&#x3b;&#xa;&#x7d;&#xa;&#xa;&#x2f;&#x2f; &#x5168;&#x90e8;&#x4fee;&#x6b63;&#x5b8c;&#x6bd5;&#x540e;&#xff0c;&#x5982;&#x679c;&#x957f;&#x5ea6;&#x4e0d;&#x662f;5&#xff0c;&#x524d;&#x9762;&#x8865;0&#xa;if &#x28;sendtime_calcu.length &#x21;&#x3d; 5&#x29; &#x7b;&#xa; sendtime_calcu &#x3d; &#x22;0&#x22; &#x2b; sendtime_calcu&#x3b;&#xa;&#x7d;&#xa;&#xa;&#x2f;&#x2f; &#x8bbe;&#x7f6e;&#x5206;&#x73ed;&#xa;var isfb &#x3d; 0&#x3b;&#xa;&#xa;&#x2f;&#x2f; &#x8bbe;&#x7f6e;&#x505c;&#x9a76;&#xa;var ists &#x3d; 0&#x3b;&#xa;&#xa;&#x2f;&#x2f; &#x8bbe;&#x7f6e;isCanceled&#xa;var iscanceled &#x3d; 0&#x3b;</jsScript_script>
  833 + </jsScript> </jsScripts> <fields> <field> <name>qdzname</name>
  834 + <rename>qdzname</rename>
  835 + <type>String</type>
  836 + <length>-1</length>
  837 + <precision>-1</precision>
  838 + <replace>Y</replace>
  839 + </field> <field> <name>isfb</name>
  840 + <rename>isfb</rename>
  841 + <type>Integer</type>
  842 + <length>-1</length>
  843 + <precision>-1</precision>
  844 + <replace>N</replace>
  845 + </field> <field> <name>iscanceled</name>
  846 + <rename>iscanceled</rename>
  847 + <type>Integer</type>
  848 + <length>-1</length>
  849 + <precision>-1</precision>
  850 + <replace>N</replace>
  851 + </field> <field> <name>sendtime_calcu</name>
  852 + <rename>sendtime_calcu</rename>
  853 + <type>String</type>
  854 + <length>-1</length>
  855 + <precision>-1</precision>
  856 + <replace>N</replace>
  857 + </field> <field> <name>ists</name>
  858 + <rename>ists</rename>
  859 + <type>Integer</type>
  860 + <length>-1</length>
  861 + <precision>-1</precision>
  862 + <replace>N</replace>
  863 + </field> </fields> <cluster_schema/>
  864 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  865 + <xloc>788</xloc>
  866 + <yloc>44</yloc>
  867 + <draw>Y</draw>
  868 + </GUI>
  869 + </step>
  870 +
  871 + <step>
  872 + <name>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</name>
  873 + <type>SelectValues</type>
  874 + <description/>
  875 + <distribute>Y</distribute>
  876 + <custom_distribution/>
  877 + <copies>1</copies>
  878 + <partitioning>
  879 + <method>none</method>
  880 + <schema_name/>
  881 + </partitioning>
  882 + <fields> <field> <name>&#x8def;&#x724c;</name>
  883 + <rename>lp</rename>
  884 + <length>-2</length>
  885 + <precision>-2</precision>
  886 + </field> <field> <name>&#x7ad9;&#x70b9;&#x540d;&#x79f0;</name>
  887 + <rename>qdzname</rename>
  888 + <length>-2</length>
  889 + <precision>-2</precision>
  890 + </field> <field> <name>&#x53d1;&#x8f66;&#x65f6;&#x95f4;</name>
  891 + <rename>sendtime</rename>
  892 + <length>-2</length>
  893 + <precision>-2</precision>
  894 + </field> <select_unspecified>Y</select_unspecified>
  895 + </fields> <cluster_schema/>
  896 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  897 + <xloc>444</xloc>
  898 + <yloc>131</yloc>
  899 + <draw>Y</draw>
  900 + </GUI>
  901 + </step>
  902 +
  903 + <step>
  904 + <name>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;1</name>
  905 + <type>FilterRows</type>
  906 + <description/>
  907 + <distribute>Y</distribute>
  908 + <custom_distribution/>
  909 + <copies>1</copies>
  910 + <partitioning>
  911 + <method>none</method>
  912 + <schema_name/>
  913 + </partitioning>
  914 +<send_true_to>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x6570;&#x636e;</send_true_to>
  915 +<send_false_to>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</send_false_to>
  916 + <compare>
  917 +<condition>
  918 + <negated>N</negated>
  919 + <leftvalue>bctype</leftvalue>
  920 + <function>&#x3d;</function>
  921 + <rightvalue/>
  922 + <value><name>constant</name><type>String</type><text>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</text><length>-1</length><precision>-1</precision><isnull>N</isnull><mask/></value> </condition>
  923 + </compare>
  924 + <cluster_schema/>
  925 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  926 + <xloc>860</xloc>
  927 + <yloc>401</yloc>
  928 + <draw>Y</draw>
  929 + </GUI>
  930 + </step>
  931 +
  932 + <step>
  933 + <name>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</name>
  934 + <type>FilterRows</type>
  935 + <description/>
  936 + <distribute>Y</distribute>
  937 + <custom_distribution/>
  938 + <copies>1</copies>
  939 + <partitioning>
  940 + <method>none</method>
  941 + <schema_name/>
  942 + </partitioning>
  943 +<send_true_to>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</send_true_to>
  944 +<send_false_to>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</send_false_to>
  945 + <compare>
  946 +<condition>
  947 + <negated>N</negated>
  948 + <leftvalue>bctype</leftvalue>
  949 + <function>&#x3d;</function>
  950 + <rightvalue/>
  951 + <value><name>constant</name><type>String</type><text>&#x51fa;&#x573a;</text><length>-1</length><precision>-1</precision><isnull>N</isnull><mask/></value> </condition>
  952 + </compare>
  953 + <cluster_schema/>
  954 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  955 + <xloc>995</xloc>
  956 + <yloc>503</yloc>
  957 + <draw>Y</draw>
  958 + </GUI>
  959 + </step>
  960 +
  961 + <step>
  962 + <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail</name>
  963 + <type>InsertUpdate</type>
  964 + <description/>
  965 + <distribute>Y</distribute>
  966 + <custom_distribution/>
  967 + <copies>1</copies>
  968 + <partitioning>
  969 + <method>none</method>
  970 + <schema_name/>
  971 + </partitioning>
  972 + <connection>bus_control_variable</connection>
  973 + <commit>100</commit>
  974 + <update_bypassed>N</update_bypassed>
  975 + <lookup>
  976 + <schema/>
  977 + <table>bsth_c_s_ttinfo_detail</table>
  978 + <key>
  979 + <name>xlid</name>
  980 + <field>xl</field>
  981 + <condition>&#x3d;</condition>
  982 + <name2/>
  983 + </key>
  984 + <key>
  985 + <name>ttid</name>
  986 + <field>ttinfo</field>
  987 + <condition>&#x3d;</condition>
  988 + <name2/>
  989 + </key>
  990 + <key>
  991 + <name>lpid</name>
  992 + <field>lp</field>
  993 + <condition>&#x3d;</condition>
  994 + <name2/>
  995 + </key>
  996 + <key>
  997 + <name>fcno</name>
  998 + <field>fcno</field>
  999 + <condition>&#x3d;</condition>
  1000 + <name2/>
  1001 + </key>
  1002 + <key>
  1003 + <name>bcs</name>
  1004 + <field>bcs</field>
  1005 + <condition>&#x3d;</condition>
  1006 + <name2/>
  1007 + </key>
  1008 + <value>
  1009 + <name>lp</name>
  1010 + <rename>lpid</rename>
  1011 + <update>Y</update>
  1012 + </value>
  1013 + <value>
  1014 + <name>bc_type</name>
  1015 + <rename>bctype_code</rename>
  1016 + <update>Y</update>
  1017 + </value>
  1018 + <value>
  1019 + <name>bcs</name>
  1020 + <rename>bcs</rename>
  1021 + <update>Y</update>
  1022 + </value>
  1023 + <value>
  1024 + <name>bcsj</name>
  1025 + <rename>bcsj</rename>
  1026 + <update>Y</update>
  1027 + </value>
  1028 + <value>
  1029 + <name>fcno</name>
  1030 + <rename>fcno</rename>
  1031 + <update>Y</update>
  1032 + </value>
  1033 + <value>
  1034 + <name>jhlc</name>
  1035 + <rename>jhlc</rename>
  1036 + <update>Y</update>
  1037 + </value>
  1038 + <value>
  1039 + <name>fcsj</name>
  1040 + <rename>sendtime_calcu</rename>
  1041 + <update>Y</update>
  1042 + </value>
  1043 + <value>
  1044 + <name>ttinfo</name>
  1045 + <rename>ttid</rename>
  1046 + <update>Y</update>
  1047 + </value>
  1048 + <value>
  1049 + <name>xl</name>
  1050 + <rename>xlid</rename>
  1051 + <update>Y</update>
  1052 + </value>
  1053 + <value>
  1054 + <name>qdz</name>
  1055 + <rename>qdzid</rename>
  1056 + <update>Y</update>
  1057 + </value>
  1058 + <value>
  1059 + <name>zdz</name>
  1060 + <rename>zdzid</rename>
  1061 + <update>Y</update>
  1062 + </value>
  1063 + <value>
  1064 + <name>xl_dir</name>
  1065 + <rename>sxx</rename>
  1066 + <update>Y</update>
  1067 + </value>
  1068 + <value>
  1069 + <name>isfb</name>
  1070 + <rename>isfb</rename>
  1071 + <update>Y</update>
  1072 + </value>
  1073 + <value>
  1074 + <name>qdz_code</name>
  1075 + <rename>qdzcode</rename>
  1076 + <update>Y</update>
  1077 + </value>
  1078 + <value>
  1079 + <name>qdz_name</name>
  1080 + <rename>qdzname_</rename>
  1081 + <update>Y</update>
  1082 + </value>
  1083 + <value>
  1084 + <name>zdz_code</name>
  1085 + <rename>zdzcode</rename>
  1086 + <update>Y</update>
  1087 + </value>
  1088 + <value>
  1089 + <name>zdz_name</name>
  1090 + <rename>zdzname</rename>
  1091 + <update>Y</update>
  1092 + </value>
  1093 + <value>
  1094 + <name>ists</name>
  1095 + <rename>ists</rename>
  1096 + <update>Y</update>
  1097 + </value>
  1098 + </lookup>
  1099 + <cluster_schema/>
  1100 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1101 + <xloc>143</xloc>
  1102 + <yloc>860</yloc>
  1103 + <draw>Y</draw>
  1104 + </GUI>
  1105 + </step>
  1106 +
  1107 + <step>
  1108 + <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail 2</name>
  1109 + <type>InsertUpdate</type>
  1110 + <description/>
  1111 + <distribute>Y</distribute>
  1112 + <custom_distribution/>
  1113 + <copies>1</copies>
  1114 + <partitioning>
  1115 + <method>none</method>
  1116 + <schema_name/>
  1117 + </partitioning>
  1118 + <connection>bus_control_variable</connection>
  1119 + <commit>100</commit>
  1120 + <update_bypassed>N</update_bypassed>
  1121 + <lookup>
  1122 + <schema/>
  1123 + <table>bsth_c_s_ttinfo_detail</table>
  1124 + <key>
  1125 + <name>xlid</name>
  1126 + <field>xl</field>
  1127 + <condition>&#x3d;</condition>
  1128 + <name2/>
  1129 + </key>
  1130 + <key>
  1131 + <name>ttid</name>
  1132 + <field>ttinfo</field>
  1133 + <condition>&#x3d;</condition>
  1134 + <name2/>
  1135 + </key>
  1136 + <key>
  1137 + <name>lpid</name>
  1138 + <field>lp</field>
  1139 + <condition>&#x3d;</condition>
  1140 + <name2/>
  1141 + </key>
  1142 + <key>
  1143 + <name>fcno</name>
  1144 + <field>fcno</field>
  1145 + <condition>&#x3d;</condition>
  1146 + <name2/>
  1147 + </key>
  1148 + <key>
  1149 + <name>bcs</name>
  1150 + <field>bcs</field>
  1151 + <condition>&#x3d;</condition>
  1152 + <name2/>
  1153 + </key>
  1154 + <value>
  1155 + <name>tcc</name>
  1156 + <rename>qdzid</rename>
  1157 + <update>Y</update>
  1158 + </value>
  1159 + <value>
  1160 + <name>zdz</name>
  1161 + <rename>zdzid</rename>
  1162 + <update>Y</update>
  1163 + </value>
  1164 + <value>
  1165 + <name>xl</name>
  1166 + <rename>xlid</rename>
  1167 + <update>Y</update>
  1168 + </value>
  1169 + <value>
  1170 + <name>ttinfo</name>
  1171 + <rename>ttid</rename>
  1172 + <update>Y</update>
  1173 + </value>
  1174 + <value>
  1175 + <name>xl_dir</name>
  1176 + <rename>sxx</rename>
  1177 + <update>Y</update>
  1178 + </value>
  1179 + <value>
  1180 + <name>lp</name>
  1181 + <rename>lpid</rename>
  1182 + <update>Y</update>
  1183 + </value>
  1184 + <value>
  1185 + <name>jhlc</name>
  1186 + <rename>out_mileage</rename>
  1187 + <update>Y</update>
  1188 + </value>
  1189 + <value>
  1190 + <name>fcsj</name>
  1191 + <rename>sendtime_calcu</rename>
  1192 + <update>Y</update>
  1193 + </value>
  1194 + <value>
  1195 + <name>bcsj</name>
  1196 + <rename>out_time</rename>
  1197 + <update>Y</update>
  1198 + </value>
  1199 + <value>
  1200 + <name>bcs</name>
  1201 + <rename>bcs</rename>
  1202 + <update>Y</update>
  1203 + </value>
  1204 + <value>
  1205 + <name>fcno</name>
  1206 + <rename>fcno</rename>
  1207 + <update>Y</update>
  1208 + </value>
  1209 + <value>
  1210 + <name>bc_type</name>
  1211 + <rename>bctype_code</rename>
  1212 + <update>Y</update>
  1213 + </value>
  1214 + <value>
  1215 + <name>isfb</name>
  1216 + <rename>isfb</rename>
  1217 + <update>Y</update>
  1218 + </value>
  1219 + <value>
  1220 + <name>qdz_code</name>
  1221 + <rename>qdzcode</rename>
  1222 + <update>Y</update>
  1223 + </value>
  1224 + <value>
  1225 + <name>qdz_name</name>
  1226 + <rename>tn</rename>
  1227 + <update>Y</update>
  1228 + </value>
  1229 + <value>
  1230 + <name>zdz_code</name>
  1231 + <rename>zdzcode</rename>
  1232 + <update>Y</update>
  1233 + </value>
  1234 + <value>
  1235 + <name>zdz_name</name>
  1236 + <rename>zdzname_</rename>
  1237 + <update>Y</update>
  1238 + </value>
  1239 + <value>
  1240 + <name>ists</name>
  1241 + <rename>ists</rename>
  1242 + <update>Y</update>
  1243 + </value>
  1244 + </lookup>
  1245 + <cluster_schema/>
  1246 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1247 + <xloc>340</xloc>
  1248 + <yloc>1087</yloc>
  1249 + <draw>Y</draw>
  1250 + </GUI>
  1251 + </step>
  1252 +
  1253 + <step>
  1254 + <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail 3</name>
  1255 + <type>InsertUpdate</type>
  1256 + <description/>
  1257 + <distribute>Y</distribute>
  1258 + <custom_distribution/>
  1259 + <copies>1</copies>
  1260 + <partitioning>
  1261 + <method>none</method>
  1262 + <schema_name/>
  1263 + </partitioning>
  1264 + <connection>bus_control_variable</connection>
  1265 + <commit>100</commit>
  1266 + <update_bypassed>N</update_bypassed>
  1267 + <lookup>
  1268 + <schema/>
  1269 + <table>bsth_c_s_ttinfo_detail</table>
  1270 + <key>
  1271 + <name>xlid</name>
  1272 + <field>xl</field>
  1273 + <condition>&#x3d;</condition>
  1274 + <name2/>
  1275 + </key>
  1276 + <key>
  1277 + <name>ttid</name>
  1278 + <field>ttinfo</field>
  1279 + <condition>&#x3d;</condition>
  1280 + <name2/>
  1281 + </key>
  1282 + <key>
  1283 + <name>lpid</name>
  1284 + <field>lp</field>
  1285 + <condition>&#x3d;</condition>
  1286 + <name2/>
  1287 + </key>
  1288 + <key>
  1289 + <name>fcno</name>
  1290 + <field>fcno</field>
  1291 + <condition>&#x3d;</condition>
  1292 + <name2/>
  1293 + </key>
  1294 + <key>
  1295 + <name>bcs</name>
  1296 + <field>bcs</field>
  1297 + <condition>&#x3d;</condition>
  1298 + <name2/>
  1299 + </key>
  1300 + <value>
  1301 + <name>fcno</name>
  1302 + <rename>fcno</rename>
  1303 + <update>Y</update>
  1304 + </value>
  1305 + <value>
  1306 + <name>bcs</name>
  1307 + <rename>bcs</rename>
  1308 + <update>Y</update>
  1309 + </value>
  1310 + <value>
  1311 + <name>xl</name>
  1312 + <rename>xlid</rename>
  1313 + <update>Y</update>
  1314 + </value>
  1315 + <value>
  1316 + <name>ttinfo</name>
  1317 + <rename>ttid</rename>
  1318 + <update>Y</update>
  1319 + </value>
  1320 + <value>
  1321 + <name>lp</name>
  1322 + <rename>lpid</rename>
  1323 + <update>Y</update>
  1324 + </value>
  1325 + <value>
  1326 + <name>bc_type</name>
  1327 + <rename>bctype_code</rename>
  1328 + <update>Y</update>
  1329 + </value>
  1330 + <value>
  1331 + <name>bcsj</name>
  1332 + <rename>parade_time</rename>
  1333 + <update>Y</update>
  1334 + </value>
  1335 + <value>
  1336 + <name>jhlc</name>
  1337 + <rename>parade_mileage</rename>
  1338 + <update>Y</update>
  1339 + </value>
  1340 + <value>
  1341 + <name>fcsj</name>
  1342 + <rename>sendtime_calcu</rename>
  1343 + <update>Y</update>
  1344 + </value>
  1345 + <value>
  1346 + <name>xl_dir</name>
  1347 + <rename>sxx2</rename>
  1348 + <update>Y</update>
  1349 + </value>
  1350 + <value>
  1351 + <name>qdz</name>
  1352 + <rename>qdzid</rename>
  1353 + <update>Y</update>
  1354 + </value>
  1355 + <value>
  1356 + <name>tcc</name>
  1357 + <rename>zdzid</rename>
  1358 + <update>Y</update>
  1359 + </value>
  1360 + <value>
  1361 + <name>isfb</name>
  1362 + <rename>isfb</rename>
  1363 + <update>Y</update>
  1364 + </value>
  1365 + <value>
  1366 + <name>qdz_code</name>
  1367 + <rename>qdzcode</rename>
  1368 + <update>Y</update>
  1369 + </value>
  1370 + <value>
  1371 + <name>qdz_name</name>
  1372 + <rename>qname</rename>
  1373 + <update>Y</update>
  1374 + </value>
  1375 + <value>
  1376 + <name>zdz_code</name>
  1377 + <rename>zdzcode</rename>
  1378 + <update>Y</update>
  1379 + </value>
  1380 + <value>
  1381 + <name>zdz_name</name>
  1382 + <rename>tn</rename>
  1383 + <update>Y</update>
  1384 + </value>
  1385 + <value>
  1386 + <name>ists</name>
  1387 + <rename>ists</rename>
  1388 + <update>Y</update>
  1389 + </value>
  1390 + </lookup>
  1391 + <cluster_schema/>
  1392 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1393 + <xloc>845</xloc>
  1394 + <yloc>899</yloc>
  1395 + <draw>Y</draw>
  1396 + </GUI>
  1397 + </step>
  1398 +
  1399 + <step>
  1400 + <name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</name>
  1401 + <type>ExcelInput</type>
  1402 + <description/>
  1403 + <distribute>N</distribute>
  1404 + <custom_distribution/>
  1405 + <copies>1</copies>
  1406 + <partitioning>
  1407 + <method>none</method>
  1408 + <schema_name/>
  1409 + </partitioning>
  1410 + <header>Y</header>
  1411 + <noempty>Y</noempty>
  1412 + <stoponempty>N</stoponempty>
  1413 + <filefield/>
  1414 + <sheetfield/>
  1415 + <sheetrownumfield/>
  1416 + <rownumfield/>
  1417 + <sheetfield/>
  1418 + <filefield/>
  1419 + <limit>0</limit>
  1420 + <encoding/>
  1421 + <add_to_result_filenames>Y</add_to_result_filenames>
  1422 + <accept_filenames>N</accept_filenames>
  1423 + <accept_field/>
  1424 + <accept_stepname/>
  1425 + <file>
  1426 + <name/>
  1427 + <filemask/>
  1428 + <exclude_filemask/>
  1429 + <file_required>N</file_required>
  1430 + <include_subfolders>N</include_subfolders>
  1431 + </file>
  1432 + <fields>
  1433 + </fields>
  1434 + <sheets>
  1435 + <sheet>
  1436 + <name/>
  1437 + <startrow>0</startrow>
  1438 + <startcol>0</startcol>
  1439 + </sheet>
  1440 + </sheets>
  1441 + <strict_types>N</strict_types>
  1442 + <error_ignored>N</error_ignored>
  1443 + <error_line_skipped>N</error_line_skipped>
  1444 + <bad_line_files_destination_directory/>
  1445 + <bad_line_files_extension>warning</bad_line_files_extension>
  1446 + <error_line_files_destination_directory/>
  1447 + <error_line_files_extension>error</error_line_files_extension>
  1448 + <line_number_files_destination_directory/>
  1449 + <line_number_files_extension>line</line_number_files_extension>
  1450 + <shortFileFieldName/>
  1451 + <pathFieldName/>
  1452 + <hiddenFieldName/>
  1453 + <lastModificationTimeFieldName/>
  1454 + <uriNameFieldName/>
  1455 + <rootUriNameFieldName/>
  1456 + <extensionFieldName/>
  1457 + <sizeFieldName/>
  1458 + <spreadsheet_type>JXL</spreadsheet_type>
  1459 + <cluster_schema/>
  1460 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1461 + <xloc>112</xloc>
  1462 + <yloc>44</yloc>
  1463 + <draw>Y</draw>
  1464 + </GUI>
  1465 + </step>
  1466 +
  1467 + <step>
  1468 + <name>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;1</name>
  1469 + <type>DBLookup</type>
  1470 + <description/>
  1471 + <distribute>Y</distribute>
  1472 + <custom_distribution/>
  1473 + <copies>1</copies>
  1474 + <partitioning>
  1475 + <method>none</method>
  1476 + <schema_name/>
  1477 + </partitioning>
  1478 + <connection>bus_control_variable</connection>
  1479 + <cache>N</cache>
  1480 + <cache_load_all>N</cache_load_all>
  1481 + <cache_size>0</cache_size>
  1482 + <lookup>
  1483 + <schema/>
  1484 + <table>bsth_c_car_park</table>
  1485 + <orderby/>
  1486 + <fail_on_multiple>N</fail_on_multiple>
  1487 + <eat_row_on_failure>N</eat_row_on_failure>
  1488 + <key>
  1489 + <name>tccname_</name>
  1490 + <field>park_name</field>
  1491 + <condition>&#x3d;</condition>
  1492 + <name2/>
  1493 + </key>
  1494 + <value>
  1495 + <name>id</name>
  1496 + <rename>qdzid</rename>
  1497 + <default/>
  1498 + <type>Integer</type>
  1499 + </value>
  1500 + <value>
  1501 + <name>park_code</name>
  1502 + <rename>qdzcode</rename>
  1503 + <default/>
  1504 + <type>String</type>
  1505 + </value>
  1506 + <value>
  1507 + <name>park_name</name>
  1508 + <rename>tn</rename>
  1509 + <default/>
  1510 + <type>String</type>
  1511 + </value>
  1512 + </lookup>
  1513 + <cluster_schema/>
  1514 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1515 + <xloc>755</xloc>
  1516 + <yloc>504</yloc>
  1517 + <draw>Y</draw>
  1518 + </GUI>
  1519 + </step>
  1520 +
  1521 + <step>
  1522 + <name>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;2</name>
  1523 + <type>DBLookup</type>
  1524 + <description/>
  1525 + <distribute>Y</distribute>
  1526 + <custom_distribution/>
  1527 + <copies>1</copies>
  1528 + <partitioning>
  1529 + <method>none</method>
  1530 + <schema_name/>
  1531 + </partitioning>
  1532 + <connection>bus_control_variable</connection>
  1533 + <cache>N</cache>
  1534 + <cache_load_all>N</cache_load_all>
  1535 + <cache_size>0</cache_size>
  1536 + <lookup>
  1537 + <schema/>
  1538 + <table>bsth_c_car_park</table>
  1539 + <orderby/>
  1540 + <fail_on_multiple>N</fail_on_multiple>
  1541 + <eat_row_on_failure>N</eat_row_on_failure>
  1542 + <key>
  1543 + <name>tccname_</name>
  1544 + <field>park_name</field>
  1545 + <condition>&#x3d;</condition>
  1546 + <name2/>
  1547 + </key>
  1548 + <value>
  1549 + <name>id</name>
  1550 + <rename>zdzid</rename>
  1551 + <default/>
  1552 + <type>Integer</type>
  1553 + </value>
  1554 + <value>
  1555 + <name>park_code</name>
  1556 + <rename>zdzcode</rename>
  1557 + <default/>
  1558 + <type>String</type>
  1559 + </value>
  1560 + <value>
  1561 + <name>park_name</name>
  1562 + <rename>tn</rename>
  1563 + <default/>
  1564 + <type>String</type>
  1565 + </value>
  1566 + </lookup>
  1567 + <cluster_schema/>
  1568 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1569 + <xloc>887</xloc>
  1570 + <yloc>608</yloc>
  1571 + <draw>Y</draw>
  1572 + </GUI>
  1573 + </step>
  1574 +
  1575 + <step>
  1576 + <name>&#x67e5;&#x627e;&#x51fa;&#x573a;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</name>
  1577 + <type>DBLookup</type>
  1578 + <description/>
  1579 + <distribute>Y</distribute>
  1580 + <custom_distribution/>
  1581 + <copies>1</copies>
  1582 + <partitioning>
  1583 + <method>none</method>
  1584 + <schema_name/>
  1585 + </partitioning>
  1586 + <connection>bus_control_variable</connection>
  1587 + <cache>N</cache>
  1588 + <cache_load_all>N</cache_load_all>
  1589 + <cache_size>0</cache_size>
  1590 + <lookup>
  1591 + <schema/>
  1592 + <table>bsth_c_ls_stationroute</table>
  1593 + <orderby/>
  1594 + <fail_on_multiple>N</fail_on_multiple>
  1595 + <eat_row_on_failure>N</eat_row_on_failure>
  1596 + <key>
  1597 + <name>xlid</name>
  1598 + <field>line</field>
  1599 + <condition>&#x3d;</condition>
  1600 + <name2/>
  1601 + </key>
  1602 + <key>
  1603 + <name>version</name>
  1604 + <field>versions</field>
  1605 + <condition>&#x3d;</condition>
  1606 + <name2/>
  1607 + </key>
  1608 + <key>
  1609 + <name>zdzname</name>
  1610 + <field>station_name</field>
  1611 + <condition>LIKE</condition>
  1612 + <name2/>
  1613 + </key>
  1614 + <key>
  1615 + <name>endZdtype</name>
  1616 + <field>station_mark</field>
  1617 + <condition>&#x3d;</condition>
  1618 + <name2/>
  1619 + </key>
  1620 + <key>
  1621 + <name>destory</name>
  1622 + <field>destroy</field>
  1623 + <condition>&#x3d;</condition>
  1624 + <name2/>
  1625 + </key>
  1626 + <value>
  1627 + <name>station</name>
  1628 + <rename>zdzid</rename>
  1629 + <default/>
  1630 + <type>Integer</type>
  1631 + </value>
  1632 + <value>
  1633 + <name>directions</name>
  1634 + <rename>sxx</rename>
  1635 + <default/>
  1636 + <type>Integer</type>
  1637 + </value>
  1638 + <value>
  1639 + <name>station_code</name>
  1640 + <rename>zdzcode</rename>
  1641 + <default/>
  1642 + <type>String</type>
  1643 + </value>
  1644 + <value>
  1645 + <name>station_name</name>
  1646 + <rename>zdzname_</rename>
  1647 + <default/>
  1648 + <type>String</type>
  1649 + </value>
  1650 + </lookup>
  1651 + <cluster_schema/>
  1652 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1653 + <xloc>329</xloc>
  1654 + <yloc>505</yloc>
  1655 + <draw>Y</draw>
  1656 + </GUI>
  1657 + </step>
  1658 +
  1659 + <step>
  1660 + <name>&#x67e5;&#x627e;&#x6240;&#x6709;&#x7ebf;&#x8def;&#x4e0a;&#x4e0b;&#x884c;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
  1661 + <type>DBLookup</type>
  1662 + <description/>
  1663 + <distribute>Y</distribute>
  1664 + <custom_distribution/>
  1665 + <copies>1</copies>
  1666 + <partitioning>
  1667 + <method>none</method>
  1668 + <schema_name/>
  1669 + </partitioning>
  1670 + <connection>bus_control_variable</connection>
  1671 + <cache>N</cache>
  1672 + <cache_load_all>N</cache_load_all>
  1673 + <cache_size>0</cache_size>
  1674 + <lookup>
  1675 + <schema/>
  1676 + <table>bsth_c_line_information</table>
  1677 + <orderby/>
  1678 + <fail_on_multiple>N</fail_on_multiple>
  1679 + <eat_row_on_failure>N</eat_row_on_failure>
  1680 + <key>
  1681 + <name>xlid</name>
  1682 + <field>line</field>
  1683 + <condition>&#x3d;</condition>
  1684 + <name2/>
  1685 + </key>
  1686 + <value>
  1687 + <name>up_mileage</name>
  1688 + <rename>up_mileage</rename>
  1689 + <default/>
  1690 + <type>Number</type>
  1691 + </value>
  1692 + <value>
  1693 + <name>down_mileage</name>
  1694 + <rename>down_mileage</rename>
  1695 + <default/>
  1696 + <type>Number</type>
  1697 + </value>
  1698 + <value>
  1699 + <name>up_travel_time</name>
  1700 + <rename>up_travel_time</rename>
  1701 + <default/>
  1702 + <type>Number</type>
  1703 + </value>
  1704 + <value>
  1705 + <name>down_travel_time</name>
  1706 + <rename>down_travel_time</rename>
  1707 + <default/>
  1708 + <type>Number</type>
  1709 + </value>
  1710 + <value>
  1711 + <name>early_start_time</name>
  1712 + <rename>early_start_time</rename>
  1713 + <default/>
  1714 + <type>String</type>
  1715 + </value>
  1716 + <value>
  1717 + <name>early_end_time</name>
  1718 + <rename>early_end_time</rename>
  1719 + <default/>
  1720 + <type>String</type>
  1721 + </value>
  1722 + <value>
  1723 + <name>early_up_time</name>
  1724 + <rename>early_up_time</rename>
  1725 + <default/>
  1726 + <type>Number</type>
  1727 + </value>
  1728 + <value>
  1729 + <name>early_down_time</name>
  1730 + <rename>early_down_time</rename>
  1731 + <default/>
  1732 + <type>Number</type>
  1733 + </value>
  1734 + <value>
  1735 + <name>late_start_time</name>
  1736 + <rename>late_start_time</rename>
  1737 + <default/>
  1738 + <type>String</type>
  1739 + </value>
  1740 + <value>
  1741 + <name>late_end_time</name>
  1742 + <rename>late_end_time</rename>
  1743 + <default/>
  1744 + <type>String</type>
  1745 + </value>
  1746 + <value>
  1747 + <name>late_up_time</name>
  1748 + <rename>late_up_time</rename>
  1749 + <default/>
  1750 + <type>Number</type>
  1751 + </value>
  1752 + <value>
  1753 + <name>late_down_time</name>
  1754 + <rename>late_down_time</rename>
  1755 + <default/>
  1756 + <type>Number</type>
  1757 + </value>
  1758 + </lookup>
  1759 + <cluster_schema/>
  1760 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1761 + <xloc>149</xloc>
  1762 + <yloc>581</yloc>
  1763 + <draw>Y</draw>
  1764 + </GUI>
  1765 + </step>
  1766 +
  1767 + <step>
  1768 + <name>&#x67e5;&#x627e;&#x65f6;&#x523b;&#x8868;&#x57fa;&#x7840;&#x4fe1;&#x606f;&#x5173;&#x8054;</name>
  1769 + <type>DBLookup</type>
  1770 + <description/>
  1771 + <distribute>Y</distribute>
  1772 + <custom_distribution/>
  1773 + <copies>1</copies>
  1774 + <partitioning>
  1775 + <method>none</method>
  1776 + <schema_name/>
  1777 + </partitioning>
  1778 + <connection>bus_control_variable</connection>
  1779 + <cache>N</cache>
  1780 + <cache_load_all>N</cache_load_all>
  1781 + <cache_size>0</cache_size>
  1782 + <lookup>
  1783 + <schema/>
  1784 + <table>bsth_c_s_ttinfo</table>
  1785 + <orderby/>
  1786 + <fail_on_multiple>N</fail_on_multiple>
  1787 + <eat_row_on_failure>N</eat_row_on_failure>
  1788 + <key>
  1789 + <name>xlid</name>
  1790 + <field>xl</field>
  1791 + <condition>&#x3d;</condition>
  1792 + <name2/>
  1793 + </key>
  1794 + <key>
  1795 + <name>ttinfoname_</name>
  1796 + <field>name</field>
  1797 + <condition>&#x3d;</condition>
  1798 + <name2/>
  1799 + </key>
  1800 + <key>
  1801 + <name>iscanceled</name>
  1802 + <field>is_cancel</field>
  1803 + <condition>&#x3d;</condition>
  1804 + <name2/>
  1805 + </key>
  1806 + <value>
  1807 + <name>id</name>
  1808 + <rename>ttid</rename>
  1809 + <default/>
  1810 + <type>Integer</type>
  1811 + </value>
  1812 + </lookup>
  1813 + <cluster_schema/>
  1814 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1815 + <xloc>1011</xloc>
  1816 + <yloc>134</yloc>
  1817 + <draw>Y</draw>
  1818 + </GUI>
  1819 + </step>
  1820 +
  1821 + <step>
  1822 + <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x5173;&#x8054;</name>
  1823 + <type>DBLookup</type>
  1824 + <description/>
  1825 + <distribute>Y</distribute>
  1826 + <custom_distribution/>
  1827 + <copies>1</copies>
  1828 + <partitioning>
  1829 + <method>none</method>
  1830 + <schema_name/>
  1831 + </partitioning>
  1832 + <connection>bus_control_variable</connection>
  1833 + <cache>N</cache>
  1834 + <cache_load_all>N</cache_load_all>
  1835 + <cache_size>0</cache_size>
  1836 + <lookup>
  1837 + <schema/>
  1838 + <table>bsth_c_line</table>
  1839 + <orderby/>
  1840 + <fail_on_multiple>N</fail_on_multiple>
  1841 + <eat_row_on_failure>N</eat_row_on_failure>
  1842 + <key>
  1843 + <name>xlname_</name>
  1844 + <field>name</field>
  1845 + <condition>&#x3d;</condition>
  1846 + <name2/>
  1847 + </key>
  1848 + <key>
  1849 + <name>iscanceled</name>
  1850 + <field>destroy</field>
  1851 + <condition>&#x3d;</condition>
  1852 + <name2/>
  1853 + </key>
  1854 + <value>
  1855 + <name>id</name>
  1856 + <rename>xlid</rename>
  1857 + <default/>
  1858 + <type>Integer</type>
  1859 + </value>
  1860 + </lookup>
  1861 + <cluster_schema/>
  1862 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1863 + <xloc>1007</xloc>
  1864 + <yloc>43</yloc>
  1865 + <draw>Y</draw>
  1866 + </GUI>
  1867 + </step>
  1868 +
  1869 + <step>
  1870 + <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x51fa;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
  1871 + <type>DBLookup</type>
  1872 + <description/>
  1873 + <distribute>Y</distribute>
  1874 + <custom_distribution/>
  1875 + <copies>1</copies>
  1876 + <partitioning>
  1877 + <method>none</method>
  1878 + <schema_name/>
  1879 + </partitioning>
  1880 + <connection>bus_control_variable</connection>
  1881 + <cache>N</cache>
  1882 + <cache_load_all>N</cache_load_all>
  1883 + <cache_size>0</cache_size>
  1884 + <lookup>
  1885 + <schema/>
  1886 + <table>bsth_c_line_information</table>
  1887 + <orderby/>
  1888 + <fail_on_multiple>N</fail_on_multiple>
  1889 + <eat_row_on_failure>N</eat_row_on_failure>
  1890 + <key>
  1891 + <name>xlid</name>
  1892 + <field>line</field>
  1893 + <condition>&#x3d;</condition>
  1894 + <name2/>
  1895 + </key>
  1896 + <value>
  1897 + <name>up_out_timer</name>
  1898 + <rename>up_out_timer</rename>
  1899 + <default/>
  1900 + <type>Number</type>
  1901 + </value>
  1902 + <value>
  1903 + <name>up_out_mileage</name>
  1904 + <rename>up_out_mileage</rename>
  1905 + <default/>
  1906 + <type>Number</type>
  1907 + </value>
  1908 + <value>
  1909 + <name>down_out_timer</name>
  1910 + <rename>down_out_timer</rename>
  1911 + <default/>
  1912 + <type>Number</type>
  1913 + </value>
  1914 + <value>
  1915 + <name>down_out_mileage</name>
  1916 + <rename>down_out_mileage</rename>
  1917 + <default/>
  1918 + <type>Number</type>
  1919 + </value>
  1920 + </lookup>
  1921 + <cluster_schema/>
  1922 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1923 + <xloc>335</xloc>
  1924 + <yloc>763</yloc>
  1925 + <draw>Y</draw>
  1926 + </GUI>
  1927 + </step>
  1928 +
  1929 + <step>
  1930 + <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x8fdb;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
  1931 + <type>DBLookup</type>
  1932 + <description/>
  1933 + <distribute>Y</distribute>
  1934 + <custom_distribution/>
  1935 + <copies>1</copies>
  1936 + <partitioning>
  1937 + <method>none</method>
  1938 + <schema_name/>
  1939 + </partitioning>
  1940 + <connection>bus_control_variable</connection>
  1941 + <cache>N</cache>
  1942 + <cache_load_all>N</cache_load_all>
  1943 + <cache_size>0</cache_size>
  1944 + <lookup>
  1945 + <schema/>
  1946 + <table>bsth_c_line_information</table>
  1947 + <orderby/>
  1948 + <fail_on_multiple>N</fail_on_multiple>
  1949 + <eat_row_on_failure>N</eat_row_on_failure>
  1950 + <key>
  1951 + <name>xlid</name>
  1952 + <field>line</field>
  1953 + <condition>&#x3d;</condition>
  1954 + <name2/>
  1955 + </key>
  1956 + <value>
  1957 + <name>up_in_mileage</name>
  1958 + <rename>up_in_mileage</rename>
  1959 + <default/>
  1960 + <type>Number</type>
  1961 + </value>
  1962 + <value>
  1963 + <name>up_in_timer</name>
  1964 + <rename>up_in_timer</rename>
  1965 + <default/>
  1966 + <type>Number</type>
  1967 + </value>
  1968 + <value>
  1969 + <name>down_in_mileage</name>
  1970 + <rename>down_in_mileage</rename>
  1971 + <default/>
  1972 + <type>Number</type>
  1973 + </value>
  1974 + <value>
  1975 + <name>down_in_timer</name>
  1976 + <rename>down_in_timer</rename>
  1977 + <default/>
  1978 + <type>Number</type>
  1979 + </value>
  1980 + </lookup>
  1981 + <cluster_schema/>
  1982 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1983 + <xloc>553</xloc>
  1984 + <yloc>1004</yloc>
  1985 + <draw>Y</draw>
  1986 + </GUI>
  1987 + </step>
  1988 +
  1989 + <step>
  1990 + <name>&#x67e5;&#x627e;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;</name>
  1991 + <type>DBLookup</type>
  1992 + <description/>
  1993 + <distribute>Y</distribute>
  1994 + <custom_distribution/>
  1995 + <copies>1</copies>
  1996 + <partitioning>
  1997 + <method>none</method>
  1998 + <schema_name/>
  1999 + </partitioning>
  2000 + <connection>bus_control_variable</connection>
  2001 + <cache>N</cache>
  2002 + <cache_load_all>N</cache_load_all>
  2003 + <cache_size>0</cache_size>
  2004 + <lookup>
  2005 + <schema/>
  2006 + <table>bsth_c_ls_stationroute</table>
  2007 + <orderby/>
  2008 + <fail_on_multiple>N</fail_on_multiple>
  2009 + <eat_row_on_failure>N</eat_row_on_failure>
  2010 + <key>
  2011 + <name>xlid</name>
  2012 + <field>line</field>
  2013 + <condition>&#x3d;</condition>
  2014 + <name2/>
  2015 + </key>
  2016 + <key>
  2017 + <name>version</name>
  2018 + <field>versions</field>
  2019 + <condition>&#x3d;</condition>
  2020 + <name2/>
  2021 + </key>
  2022 + <key>
  2023 + <name>sxx</name>
  2024 + <field>directions</field>
  2025 + <condition>&#x3d;</condition>
  2026 + <name2/>
  2027 + </key>
  2028 + <key>
  2029 + <name>endZdtype</name>
  2030 + <field>station_mark</field>
  2031 + <condition>&#x3d;</condition>
  2032 + <name2/>
  2033 + </key>
  2034 + <key>
  2035 + <name>destory</name>
  2036 + <field>destroy</field>
  2037 + <condition>&#x3d;</condition>
  2038 + <name2/>
  2039 + </key>
  2040 + <value>
  2041 + <name>station_name</name>
  2042 + <rename>zdzname</rename>
  2043 + <default/>
  2044 + <type>String</type>
  2045 + </value>
  2046 + <value>
  2047 + <name>station</name>
  2048 + <rename>zdzid</rename>
  2049 + <default/>
  2050 + <type>Integer</type>
  2051 + </value>
  2052 + <value>
  2053 + <name>station_code</name>
  2054 + <rename>zdzcode</rename>
  2055 + <default/>
  2056 + <type>String</type>
  2057 + </value>
  2058 + </lookup>
  2059 + <cluster_schema/>
  2060 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2061 + <xloc>280</xloc>
  2062 + <yloc>404</yloc>
  2063 + <draw>Y</draw>
  2064 + </GUI>
  2065 + </step>
  2066 +
  2067 + <step>
  2068 + <name>&#x67e5;&#x627e;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</name>
  2069 + <type>DBLookup</type>
  2070 + <description/>
  2071 + <distribute>Y</distribute>
  2072 + <custom_distribution/>
  2073 + <copies>1</copies>
  2074 + <partitioning>
  2075 + <method>none</method>
  2076 + <schema_name/>
  2077 + </partitioning>
  2078 + <connection>bus_control_variable</connection>
  2079 + <cache>N</cache>
  2080 + <cache_load_all>N</cache_load_all>
  2081 + <cache_size>0</cache_size>
  2082 + <lookup>
  2083 + <schema/>
  2084 + <table>bsth_c_ls_stationroute</table>
  2085 + <orderby/>
  2086 + <fail_on_multiple>N</fail_on_multiple>
  2087 + <eat_row_on_failure>N</eat_row_on_failure>
  2088 + <key>
  2089 + <name>xlid</name>
  2090 + <field>line</field>
  2091 + <condition>&#x3d;</condition>
  2092 + <name2/>
  2093 + </key>
  2094 + <key>
  2095 + <name>version</name>
  2096 + <field>versions</field>
  2097 + <condition>&#x3d;</condition>
  2098 + <name2/>
  2099 + </key>
  2100 + <key>
  2101 + <name>qdzname</name>
  2102 + <field>station_name</field>
  2103 + <condition>LIKE</condition>
  2104 + <name2/>
  2105 + </key>
  2106 + <key>
  2107 + <name>sendZdtype</name>
  2108 + <field>station_mark</field>
  2109 + <condition>&#x3d;</condition>
  2110 + <name2/>
  2111 + </key>
  2112 + <key>
  2113 + <name>destory</name>
  2114 + <field>destroy</field>
  2115 + <condition>&#x3d;</condition>
  2116 + <name2/>
  2117 + </key>
  2118 + <value>
  2119 + <name>station</name>
  2120 + <rename>qdzid</rename>
  2121 + <default/>
  2122 + <type>Integer</type>
  2123 + </value>
  2124 + <value>
  2125 + <name>directions</name>
  2126 + <rename>sxx</rename>
  2127 + <default/>
  2128 + <type>Integer</type>
  2129 + </value>
  2130 + <value>
  2131 + <name>station_code</name>
  2132 + <rename>qdzcode</rename>
  2133 + <default/>
  2134 + <type>String</type>
  2135 + </value>
  2136 + <value>
  2137 + <name>station_name</name>
  2138 + <rename>qdzname_</rename>
  2139 + <default/>
  2140 + <type>String</type>
  2141 + </value>
  2142 + </lookup>
  2143 + <cluster_schema/>
  2144 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2145 + <xloc>430</xloc>
  2146 + <yloc>403</yloc>
  2147 + <draw>Y</draw>
  2148 + </GUI>
  2149 + </step>
  2150 +
  2151 + <step>
  2152 + <name>&#x67e5;&#x627e;&#x8def;&#x724c;&#x5173;&#x8054;</name>
  2153 + <type>DBLookup</type>
  2154 + <description/>
  2155 + <distribute>Y</distribute>
  2156 + <custom_distribution/>
  2157 + <copies>1</copies>
  2158 + <partitioning>
  2159 + <method>none</method>
  2160 + <schema_name/>
  2161 + </partitioning>
  2162 + <connection>bus_control_variable</connection>
  2163 + <cache>N</cache>
  2164 + <cache_load_all>N</cache_load_all>
  2165 + <cache_size>0</cache_size>
  2166 + <lookup>
  2167 + <schema/>
  2168 + <table>bsth_c_s_gbi</table>
  2169 + <orderby/>
  2170 + <fail_on_multiple>N</fail_on_multiple>
  2171 + <eat_row_on_failure>N</eat_row_on_failure>
  2172 + <key>
  2173 + <name>xlid</name>
  2174 + <field>xl</field>
  2175 + <condition>&#x3d;</condition>
  2176 + <name2/>
  2177 + </key>
  2178 + <key>
  2179 + <name>lp</name>
  2180 + <field>lp_name</field>
  2181 + <condition>&#x3d;</condition>
  2182 + <name2/>
  2183 + </key>
  2184 + <key>
  2185 + <name>iscanceled</name>
  2186 + <field>is_cancel</field>
  2187 + <condition>&#x3d;</condition>
  2188 + <name2/>
  2189 + </key>
  2190 + <value>
  2191 + <name>id</name>
  2192 + <rename>lpid</rename>
  2193 + <default/>
  2194 + <type>Integer</type>
  2195 + </value>
  2196 + </lookup>
  2197 + <cluster_schema/>
  2198 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2199 + <xloc>1013</xloc>
  2200 + <yloc>265</yloc>
  2201 + <draw>Y</draw>
  2202 + </GUI>
  2203 + </step>
  2204 +
  2205 + <step>
  2206 + <name>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ebf;&#x8def;&#x65b9;&#x5411;</name>
  2207 + <type>DBLookup</type>
  2208 + <description/>
  2209 + <distribute>Y</distribute>
  2210 + <custom_distribution/>
  2211 + <copies>1</copies>
  2212 + <partitioning>
  2213 + <method>none</method>
  2214 + <schema_name/>
  2215 + </partitioning>
  2216 + <connection>bus_control_variable</connection>
  2217 + <cache>N</cache>
  2218 + <cache_load_all>N</cache_load_all>
  2219 + <cache_size>0</cache_size>
  2220 + <lookup>
  2221 + <schema/>
  2222 + <table>bsth_c_ls_stationroute</table>
  2223 + <orderby/>
  2224 + <fail_on_multiple>N</fail_on_multiple>
  2225 + <eat_row_on_failure>N</eat_row_on_failure>
  2226 + <key>
  2227 + <name>xlid</name>
  2228 + <field>line</field>
  2229 + <condition>&#x3d;</condition>
  2230 + <name2/>
  2231 + </key>
  2232 + <key>
  2233 + <name>version</name>
  2234 + <field>versions</field>
  2235 + <condition>&#x3d;</condition>
  2236 + <name2/>
  2237 + </key>
  2238 + <key>
  2239 + <name>startZdtype_calcu</name>
  2240 + <field>station_mark</field>
  2241 + <condition>&#x3d;</condition>
  2242 + <name2/>
  2243 + </key>
  2244 + <key>
  2245 + <name>qdzname_calcu</name>
  2246 + <field>station_name</field>
  2247 + <condition>LIKE</condition>
  2248 + <name2/>
  2249 + </key>
  2250 + <key>
  2251 + <name>destory</name>
  2252 + <field>destroy</field>
  2253 + <condition>&#x3d;</condition>
  2254 + <name2/>
  2255 + </key>
  2256 + <value>
  2257 + <name>directions</name>
  2258 + <rename>sxx</rename>
  2259 + <default/>
  2260 + <type>String</type>
  2261 + </value>
  2262 + </lookup>
  2263 + <cluster_schema/>
  2264 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2265 + <xloc>548</xloc>
  2266 + <yloc>610</yloc>
  2267 + <draw>Y</draw>
  2268 + </GUI>
  2269 + </step>
  2270 +
  2271 + <step>
  2272 + <name>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ec8;&#x70b9;&#x7ad9;&#xff0c;&#x5e76;&#x4f5c;&#x4e3a;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x70b9;&#x7ad9;</name>
  2273 + <type>DBLookup</type>
  2274 + <description/>
  2275 + <distribute>Y</distribute>
  2276 + <custom_distribution/>
  2277 + <copies>1</copies>
  2278 + <partitioning>
  2279 + <method>none</method>
  2280 + <schema_name/>
  2281 + </partitioning>
  2282 + <connection>bus_control_variable</connection>
  2283 + <cache>N</cache>
  2284 + <cache_load_all>Y</cache_load_all>
  2285 + <cache_size>0</cache_size>
  2286 + <lookup>
  2287 + <schema/>
  2288 + <table>bsth_c_ls_stationroute</table>
  2289 + <orderby/>
  2290 + <fail_on_multiple>N</fail_on_multiple>
  2291 + <eat_row_on_failure>N</eat_row_on_failure>
  2292 + <key>
  2293 + <name>xlid</name>
  2294 + <field>line</field>
  2295 + <condition>&#x3d;</condition>
  2296 + <name2/>
  2297 + </key>
  2298 + <key>
  2299 + <name>version</name>
  2300 + <field>versions</field>
  2301 + <condition>&#x3d;</condition>
  2302 + <name2/>
  2303 + </key>
  2304 + <key>
  2305 + <name>endZdtype_calcu</name>
  2306 + <field>station_mark</field>
  2307 + <condition>&#x3d;</condition>
  2308 + <name2/>
  2309 + </key>
  2310 + <key>
  2311 + <name>sxx</name>
  2312 + <field>directions</field>
  2313 + <condition>&#x3d;</condition>
  2314 + <name2/>
  2315 + </key>
  2316 + <key>
  2317 + <name>destory</name>
  2318 + <field>destroy</field>
  2319 + <condition>&#x3d;</condition>
  2320 + <name2/>
  2321 + </key>
  2322 + <value>
  2323 + <name>station_name</name>
  2324 + <rename>zdzname_calcu</rename>
  2325 + <default/>
  2326 + <type>Integer</type>
  2327 + </value>
  2328 + </lookup>
  2329 + <cluster_schema/>
  2330 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2331 + <xloc>550</xloc>
  2332 + <yloc>701</yloc>
  2333 + <draw>Y</draw>
  2334 + </GUI>
  2335 + </step>
  2336 +
  2337 + <step>
  2338 + <name>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</name>
  2339 + <type>DBLookup</type>
  2340 + <description/>
  2341 + <distribute>Y</distribute>
  2342 + <custom_distribution/>
  2343 + <copies>1</copies>
  2344 + <partitioning>
  2345 + <method>none</method>
  2346 + <schema_name/>
  2347 + </partitioning>
  2348 + <connection>bus_control_variable</connection>
  2349 + <cache>N</cache>
  2350 + <cache_load_all>N</cache_load_all>
  2351 + <cache_size>0</cache_size>
  2352 + <lookup>
  2353 + <schema/>
  2354 + <table>bsth_c_ls_stationroute</table>
  2355 + <orderby/>
  2356 + <fail_on_multiple>N</fail_on_multiple>
  2357 + <eat_row_on_failure>N</eat_row_on_failure>
  2358 + <key>
  2359 + <name>xlid</name>
  2360 + <field>line</field>
  2361 + <condition>&#x3d;</condition>
  2362 + <name2/>
  2363 + </key>
  2364 + <key>
  2365 + <name>version</name>
  2366 + <field>versions</field>
  2367 + <condition>&#x3d;</condition>
  2368 + <name2/>
  2369 + </key>
  2370 + <key>
  2371 + <name>zdzname_calcu</name>
  2372 + <field>station_name</field>
  2373 + <condition>&#x3d;</condition>
  2374 + <name2/>
  2375 + </key>
  2376 + <key>
  2377 + <name>startZdtype_calcu</name>
  2378 + <field>station_mark</field>
  2379 + <condition>&#x3d;</condition>
  2380 + <name2/>
  2381 + </key>
  2382 + <key>
  2383 + <name>destory</name>
  2384 + <field>destroy</field>
  2385 + <condition>&#x3d;</condition>
  2386 + <name2/>
  2387 + </key>
  2388 + <value>
  2389 + <name>directions</name>
  2390 + <rename>sxx2</rename>
  2391 + <default/>
  2392 + <type>Integer</type>
  2393 + </value>
  2394 + <value>
  2395 + <name>station</name>
  2396 + <rename>qdzid</rename>
  2397 + <default/>
  2398 + <type>Integer</type>
  2399 + </value>
  2400 + <value>
  2401 + <name>station_code</name>
  2402 + <rename>qdzcode</rename>
  2403 + <default/>
  2404 + <type>String</type>
  2405 + </value>
  2406 + <value>
  2407 + <name>station_name</name>
  2408 + <rename>qname</rename>
  2409 + <default/>
  2410 + <type>String</type>
  2411 + </value>
  2412 + </lookup>
  2413 + <cluster_schema/>
  2414 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2415 + <xloc>551</xloc>
  2416 + <yloc>782</yloc>
  2417 + <draw>Y</draw>
  2418 + </GUI>
  2419 + </step>
  2420 +
  2421 + <step>
  2422 + <name>&#x6b63;&#x5e38;&#x73ed;&#x6b21;_&#x5904;&#x7406;&#x6570;&#x636e;</name>
  2423 + <type>ScriptValueMod</type>
  2424 + <description/>
  2425 + <distribute>Y</distribute>
  2426 + <custom_distribution/>
  2427 + <copies>1</copies>
  2428 + <partitioning>
  2429 + <method>none</method>
  2430 + <schema_name/>
  2431 + </partitioning>
  2432 + <compatible>N</compatible>
  2433 + <optimizationLevel>9</optimizationLevel>
  2434 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  2435 + <jsScript_name>Script 1</jsScript_name>
  2436 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f; &#x6dfb;&#x52a0;&#x7ad9;&#x70b9;&#x6807;&#x8bc6;&#xa;var sendZdtype &#x3d; &#x27;B&#x27;&#x3b;&#xa;var endZdtype &#x3d; &#x27;E&#x27;&#x3b;&#xa;&#xa;var destory &#x3d; 0&#x3b; &#x2f;&#x2f; &#x672a;&#x64a4;&#x9500;flag</jsScript_script>
  2437 + </jsScript> </jsScripts> <fields> <field> <name>sendZdtype</name>
  2438 + <rename>sendZdtype</rename>
  2439 + <type>String</type>
  2440 + <length>-1</length>
  2441 + <precision>-1</precision>
  2442 + <replace>N</replace>
  2443 + </field> <field> <name>endZdtype</name>
  2444 + <rename>endZdtype</rename>
  2445 + <type>String</type>
  2446 + <length>-1</length>
  2447 + <precision>-1</precision>
  2448 + <replace>N</replace>
  2449 + </field> <field> <name>destory</name>
  2450 + <rename>destory</rename>
  2451 + <type>Integer</type>
  2452 + <length>-1</length>
  2453 + <precision>-1</precision>
  2454 + <replace>N</replace>
  2455 + </field> </fields> <cluster_schema/>
  2456 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2457 + <xloc>588</xloc>
  2458 + <yloc>403</yloc>
  2459 + <draw>Y</draw>
  2460 + </GUI>
  2461 + </step>
  2462 +
  2463 + <step>
  2464 + <name>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x6570;&#x636e;</name>
  2465 + <type>Dummy</type>
  2466 + <description/>
  2467 + <distribute>Y</distribute>
  2468 + <custom_distribution/>
  2469 + <copies>1</copies>
  2470 + <partitioning>
  2471 + <method>none</method>
  2472 + <schema_name/>
  2473 + </partitioning>
  2474 + <cluster_schema/>
  2475 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2476 + <xloc>725</xloc>
  2477 + <yloc>404</yloc>
  2478 + <draw>Y</draw>
  2479 + </GUI>
  2480 + </step>
  2481 +
  2482 + <step>
  2483 + <name>&#x6dfb;&#x52a0;&#x53d1;&#x8f66;&#x987a;&#x5e8f;&#x53f7;</name>
  2484 + <type>GroupBy</type>
  2485 + <description/>
  2486 + <distribute>Y</distribute>
  2487 + <custom_distribution/>
  2488 + <copies>1</copies>
  2489 + <partitioning>
  2490 + <method>none</method>
  2491 + <schema_name/>
  2492 + </partitioning>
  2493 + <all_rows>Y</all_rows>
  2494 + <ignore_aggregate>N</ignore_aggregate>
  2495 + <field_ignore/>
  2496 + <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
  2497 + <prefix>grp</prefix>
  2498 + <add_linenr>Y</add_linenr>
  2499 + <linenr_fieldname>fcno</linenr_fieldname>
  2500 + <give_back_row>N</give_back_row>
  2501 + <group>
  2502 + <field>
  2503 + <name>lp</name>
  2504 + </field>
  2505 + </group>
  2506 + <fields>
  2507 + </fields>
  2508 + <cluster_schema/>
  2509 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2510 + <xloc>442</xloc>
  2511 + <yloc>44</yloc>
  2512 + <draw>Y</draw>
  2513 + </GUI>
  2514 + </step>
  2515 +
  2516 + <step>
  2517 + <name>&#x6dfb;&#x52a0;&#x5bf9;&#x5e94;&#x73ed;&#x6b21;&#x6570;</name>
  2518 + <type>GroupBy</type>
  2519 + <description/>
  2520 + <distribute>Y</distribute>
  2521 + <custom_distribution/>
  2522 + <copies>1</copies>
  2523 + <partitioning>
  2524 + <method>none</method>
  2525 + <schema_name/>
  2526 + </partitioning>
  2527 + <all_rows>Y</all_rows>
  2528 + <ignore_aggregate>N</ignore_aggregate>
  2529 + <field_ignore/>
  2530 + <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
  2531 + <prefix>grp</prefix>
  2532 + <add_linenr>Y</add_linenr>
  2533 + <linenr_fieldname>bcs</linenr_fieldname>
  2534 + <give_back_row>N</give_back_row>
  2535 + <group>
  2536 + </group>
  2537 + <fields>
  2538 + </fields>
  2539 + <cluster_schema/>
  2540 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2541 + <xloc>692</xloc>
  2542 + <yloc>44</yloc>
  2543 + <draw>Y</draw>
  2544 + </GUI>
  2545 + </step>
  2546 +
  2547 + <step>
  2548 + <name>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</name>
  2549 + <type>Normaliser</type>
  2550 + <description/>
  2551 + <distribute>Y</distribute>
  2552 + <custom_distribution/>
  2553 + <copies>1</copies>
  2554 + <partitioning>
  2555 + <method>none</method>
  2556 + <schema_name/>
  2557 + </partitioning>
  2558 + <typefield>&#x7ad9;&#x70b9;&#x540d;&#x79f0;</typefield>
  2559 + <fields> </fields> <cluster_schema/>
  2560 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2561 + <xloc>248</xloc>
  2562 + <yloc>44</yloc>
  2563 + <draw>Y</draw>
  2564 + </GUI>
  2565 + </step>
  2566 +
  2567 + <step>
  2568 + <name>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178;</name>
  2569 + <type>ValueMapper</type>
  2570 + <description/>
  2571 + <distribute>Y</distribute>
  2572 + <custom_distribution/>
  2573 + <copies>1</copies>
  2574 + <partitioning>
  2575 + <method>none</method>
  2576 + <schema_name/>
  2577 + </partitioning>
  2578 + <field_to_use>bctype</field_to_use>
  2579 + <target_field>bctype_code</target_field>
  2580 + <non_match_default>&#x672a;&#x77e5;&#x7c7b;&#x578b;</non_match_default>
  2581 + <fields>
  2582 + <field>
  2583 + <source_value>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</source_value>
  2584 + <target_value>normal</target_value>
  2585 + </field>
  2586 + <field>
  2587 + <source_value>&#x51fa;&#x573a;</source_value>
  2588 + <target_value>out</target_value>
  2589 + </field>
  2590 + <field>
  2591 + <source_value>&#x8fdb;&#x573a;</source_value>
  2592 + <target_value>in</target_value>
  2593 + </field>
  2594 + <field>
  2595 + <source_value>&#x52a0;&#x6cb9;</source_value>
  2596 + <target_value>oil</target_value>
  2597 + </field>
  2598 + <field>
  2599 + <source_value>&#x4e34;&#x52a0;</source_value>
  2600 + <target_value>temp</target_value>
  2601 + </field>
  2602 + <field>
  2603 + <source_value>&#x533a;&#x95f4;</source_value>
  2604 + <target_value>region</target_value>
  2605 + </field>
  2606 + <field>
  2607 + <source_value>&#x653e;&#x7a7a;</source_value>
  2608 + <target_value>venting</target_value>
  2609 + </field>
  2610 + <field>
  2611 + <source_value>&#x653e;&#x5927;&#x7ad9;</source_value>
  2612 + <target_value>major</target_value>
  2613 + </field>
  2614 + </fields>
  2615 + <cluster_schema/>
  2616 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2617 + <xloc>149</xloc>
  2618 + <yloc>491</yloc>
  2619 + <draw>Y</draw>
  2620 + </GUI>
  2621 + </step>
  2622 +
  2623 + <step>
  2624 + <name>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 2</name>
  2625 + <type>ValueMapper</type>
  2626 + <description/>
  2627 + <distribute>Y</distribute>
  2628 + <custom_distribution/>
  2629 + <copies>1</copies>
  2630 + <partitioning>
  2631 + <method>none</method>
  2632 + <schema_name/>
  2633 + </partitioning>
  2634 + <field_to_use>bctype</field_to_use>
  2635 + <target_field>bctype_code</target_field>
  2636 + <non_match_default>&#x672a;&#x77e5;&#x7c7b;&#x578b;</non_match_default>
  2637 + <fields>
  2638 + <field>
  2639 + <source_value>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</source_value>
  2640 + <target_value>normal</target_value>
  2641 + </field>
  2642 + <field>
  2643 + <source_value>&#x51fa;&#x573a;</source_value>
  2644 + <target_value>out</target_value>
  2645 + </field>
  2646 + <field>
  2647 + <source_value>&#x8fdb;&#x573a;</source_value>
  2648 + <target_value>in</target_value>
  2649 + </field>
  2650 + <field>
  2651 + <source_value>&#x52a0;&#x6cb9;</source_value>
  2652 + <target_value>oil</target_value>
  2653 + </field>
  2654 + <field>
  2655 + <source_value>&#x4e34;&#x52a0;</source_value>
  2656 + <target_value>temp</target_value>
  2657 + </field>
  2658 + <field>
  2659 + <source_value>&#x533a;&#x95f4;</source_value>
  2660 + <target_value>region</target_value>
  2661 + </field>
  2662 + <field>
  2663 + <source_value>&#x653e;&#x7a7a;</source_value>
  2664 + <target_value>venting</target_value>
  2665 + </field>
  2666 + <field>
  2667 + <source_value>&#x653e;&#x5927;&#x7ad9;</source_value>
  2668 + <target_value>major</target_value>
  2669 + </field>
  2670 + </fields>
  2671 + <cluster_schema/>
  2672 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2673 + <xloc>333</xloc>
  2674 + <yloc>681</yloc>
  2675 + <draw>Y</draw>
  2676 + </GUI>
  2677 + </step>
  2678 +
  2679 + <step>
  2680 + <name>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 3</name>
  2681 + <type>ValueMapper</type>
  2682 + <description/>
  2683 + <distribute>Y</distribute>
  2684 + <custom_distribution/>
  2685 + <copies>1</copies>
  2686 + <partitioning>
  2687 + <method>none</method>
  2688 + <schema_name/>
  2689 + </partitioning>
  2690 + <field_to_use>bctype</field_to_use>
  2691 + <target_field>bctype_code</target_field>
  2692 + <non_match_default>&#x672a;&#x77e5;&#x7c7b;&#x578b;</non_match_default>
  2693 + <fields>
  2694 + <field>
  2695 + <source_value>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</source_value>
  2696 + <target_value>normal</target_value>
  2697 + </field>
  2698 + <field>
  2699 + <source_value>&#x51fa;&#x573a;</source_value>
  2700 + <target_value>out</target_value>
  2701 + </field>
  2702 + <field>
  2703 + <source_value>&#x8fdb;&#x573a;</source_value>
  2704 + <target_value>in</target_value>
  2705 + </field>
  2706 + <field>
  2707 + <source_value>&#x52a0;&#x6cb9;</source_value>
  2708 + <target_value>oil</target_value>
  2709 + </field>
  2710 + <field>
  2711 + <source_value>&#x4e34;&#x52a0;</source_value>
  2712 + <target_value>temp</target_value>
  2713 + </field>
  2714 + <field>
  2715 + <source_value>&#x533a;&#x95f4;</source_value>
  2716 + <target_value>region</target_value>
  2717 + </field>
  2718 + <field>
  2719 + <source_value>&#x653e;&#x7a7a;</source_value>
  2720 + <target_value>venting</target_value>
  2721 + </field>
  2722 + <field>
  2723 + <source_value>&#x653e;&#x5927;&#x7ad9;</source_value>
  2724 + <target_value>major</target_value>
  2725 + </field>
  2726 + </fields>
  2727 + <cluster_schema/>
  2728 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2729 + <xloc>551</xloc>
  2730 + <yloc>928</yloc>
  2731 + <draw>Y</draw>
  2732 + </GUI>
  2733 + </step>
  2734 +
  2735 + <step>
  2736 + <name>&#x7c7b;&#x578b;&#x4fee;&#x6b63;</name>
  2737 + <type>SelectValues</type>
  2738 + <description/>
  2739 + <distribute>Y</distribute>
  2740 + <custom_distribution/>
  2741 + <copies>1</copies>
  2742 + <partitioning>
  2743 + <method>none</method>
  2744 + <schema_name/>
  2745 + </partitioning>
  2746 + <fields> <select_unspecified>N</select_unspecified>
  2747 + <meta> <name>jhlc</name>
  2748 + <rename>jhlc</rename>
  2749 + <type>Number</type>
  2750 + <length>-2</length>
  2751 + <precision>-2</precision>
  2752 + <conversion_mask/>
  2753 + <date_format_lenient>false</date_format_lenient>
  2754 + <date_format_locale/>
  2755 + <date_format_timezone/>
  2756 + <lenient_string_to_number>false</lenient_string_to_number>
  2757 + <encoding/>
  2758 + <decimal_symbol/>
  2759 + <grouping_symbol/>
  2760 + <currency_symbol/>
  2761 + <storage_type/>
  2762 + </meta> <meta> <name>bcsj</name>
  2763 + <rename>bcsj</rename>
  2764 + <type>Integer</type>
  2765 + <length>-2</length>
  2766 + <precision>-2</precision>
  2767 + <conversion_mask/>
  2768 + <date_format_lenient>false</date_format_lenient>
  2769 + <date_format_locale/>
  2770 + <date_format_timezone/>
  2771 + <lenient_string_to_number>false</lenient_string_to_number>
  2772 + <encoding/>
  2773 + <decimal_symbol/>
  2774 + <grouping_symbol/>
  2775 + <currency_symbol/>
  2776 + <storage_type/>
  2777 + </meta> </fields> <cluster_schema/>
  2778 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2779 + <xloc>146</xloc>
  2780 + <yloc>768</yloc>
  2781 + <draw>Y</draw>
  2782 + </GUI>
  2783 + </step>
  2784 +
  2785 + <step>
  2786 + <name>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 2</name>
  2787 + <type>SelectValues</type>
  2788 + <description/>
  2789 + <distribute>Y</distribute>
  2790 + <custom_distribution/>
  2791 + <copies>1</copies>
  2792 + <partitioning>
  2793 + <method>none</method>
  2794 + <schema_name/>
  2795 + </partitioning>
  2796 + <fields> <select_unspecified>N</select_unspecified>
  2797 + <meta> <name>out_mileage</name>
  2798 + <rename>out_mileage</rename>
  2799 + <type>Number</type>
  2800 + <length>-2</length>
  2801 + <precision>-2</precision>
  2802 + <conversion_mask/>
  2803 + <date_format_lenient>false</date_format_lenient>
  2804 + <date_format_locale/>
  2805 + <date_format_timezone/>
  2806 + <lenient_string_to_number>false</lenient_string_to_number>
  2807 + <encoding/>
  2808 + <decimal_symbol/>
  2809 + <grouping_symbol/>
  2810 + <currency_symbol/>
  2811 + <storage_type/>
  2812 + </meta> <meta> <name>out_time</name>
  2813 + <rename>out_time</rename>
  2814 + <type>Integer</type>
  2815 + <length>-2</length>
  2816 + <precision>-2</precision>
  2817 + <conversion_mask/>
  2818 + <date_format_lenient>false</date_format_lenient>
  2819 + <date_format_locale/>
  2820 + <date_format_timezone/>
  2821 + <lenient_string_to_number>false</lenient_string_to_number>
  2822 + <encoding/>
  2823 + <decimal_symbol/>
  2824 + <grouping_symbol/>
  2825 + <currency_symbol/>
  2826 + <storage_type/>
  2827 + </meta> <meta> <name>sxx</name>
  2828 + <rename>sxx</rename>
  2829 + <type>Integer</type>
  2830 + <length>-2</length>
  2831 + <precision>-2</precision>
  2832 + <conversion_mask/>
  2833 + <date_format_lenient>false</date_format_lenient>
  2834 + <date_format_locale/>
  2835 + <date_format_timezone/>
  2836 + <lenient_string_to_number>false</lenient_string_to_number>
  2837 + <encoding/>
  2838 + <decimal_symbol/>
  2839 + <grouping_symbol/>
  2840 + <currency_symbol/>
  2841 + <storage_type/>
  2842 + </meta> </fields> <cluster_schema/>
  2843 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2844 + <xloc>338</xloc>
  2845 + <yloc>1008</yloc>
  2846 + <draw>Y</draw>
  2847 + </GUI>
  2848 + </step>
  2849 +
  2850 + <step>
  2851 + <name>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 3</name>
  2852 + <type>SelectValues</type>
  2853 + <description/>
  2854 + <distribute>Y</distribute>
  2855 + <custom_distribution/>
  2856 + <copies>1</copies>
  2857 + <partitioning>
  2858 + <method>none</method>
  2859 + <schema_name/>
  2860 + </partitioning>
  2861 + <fields> <select_unspecified>N</select_unspecified>
  2862 + <meta> <name>parade_mileage</name>
  2863 + <rename>parade_mileage</rename>
  2864 + <type>Number</type>
  2865 + <length>-2</length>
  2866 + <precision>-2</precision>
  2867 + <conversion_mask/>
  2868 + <date_format_lenient>false</date_format_lenient>
  2869 + <date_format_locale/>
  2870 + <date_format_timezone/>
  2871 + <lenient_string_to_number>false</lenient_string_to_number>
  2872 + <encoding/>
  2873 + <decimal_symbol/>
  2874 + <grouping_symbol/>
  2875 + <currency_symbol/>
  2876 + <storage_type/>
  2877 + </meta> <meta> <name>parade_time</name>
  2878 + <rename>parade_time</rename>
  2879 + <type>Integer</type>
  2880 + <length>-2</length>
  2881 + <precision>-2</precision>
  2882 + <conversion_mask/>
  2883 + <date_format_lenient>false</date_format_lenient>
  2884 + <date_format_locale/>
  2885 + <date_format_timezone/>
  2886 + <lenient_string_to_number>false</lenient_string_to_number>
  2887 + <encoding/>
  2888 + <decimal_symbol/>
  2889 + <grouping_symbol/>
  2890 + <currency_symbol/>
  2891 + <storage_type/>
  2892 + </meta> <meta> <name>sxx2</name>
  2893 + <rename>sxx2</rename>
  2894 + <type>Integer</type>
  2895 + <length>-2</length>
  2896 + <precision>-2</precision>
  2897 + <conversion_mask/>
  2898 + <date_format_lenient>false</date_format_lenient>
  2899 + <date_format_locale/>
  2900 + <date_format_timezone/>
  2901 + <lenient_string_to_number>false</lenient_string_to_number>
  2902 + <encoding/>
  2903 + <decimal_symbol/>
  2904 + <grouping_symbol/>
  2905 + <currency_symbol/>
  2906 + <storage_type/>
  2907 + </meta> </fields> <cluster_schema/>
  2908 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2909 + <xloc>847</xloc>
  2910 + <yloc>1003</yloc>
  2911 + <draw>Y</draw>
  2912 + </GUI>
  2913 + </step>
  2914 +
  2915 + <step>
  2916 + <name>&#x8ba1;&#x7b97;&#x73ed;&#x6b21;&#x7c7b;&#x578b;</name>
  2917 + <type>ValueMapper</type>
  2918 + <description/>
  2919 + <distribute>Y</distribute>
  2920 + <custom_distribution/>
  2921 + <copies>1</copies>
  2922 + <partitioning>
  2923 + <method>none</method>
  2924 + <schema_name/>
  2925 + </partitioning>
  2926 + <field_to_use>qdzname</field_to_use>
  2927 + <target_field>bctype</target_field>
  2928 + <non_match_default>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</non_match_default>
  2929 + <fields>
  2930 + <field>
  2931 + <source_value>&#x51fa;&#x573a;</source_value>
  2932 + <target_value>&#x51fa;&#x573a;</target_value>
  2933 + </field>
  2934 + <field>
  2935 + <source_value>&#x8fdb;&#x573a;</source_value>
  2936 + <target_value>&#x8fdb;&#x573a;</target_value>
  2937 + </field>
  2938 + </fields>
  2939 + <cluster_schema/>
  2940 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2941 + <xloc>1014</xloc>
  2942 + <yloc>401</yloc>
  2943 + <draw>Y</draw>
  2944 + </GUI>
  2945 + </step>
  2946 +
  2947 + <step>
  2948 + <name>&#x8bb0;&#x5f55;&#x5173;&#x8054; &#x28;&#x7b1b;&#x5361;&#x5c14;&#x8f93;&#x51fa;&#x29;</name>
  2949 + <type>JoinRows</type>
  2950 + <description/>
  2951 + <distribute>Y</distribute>
  2952 + <custom_distribution/>
  2953 + <copies>1</copies>
  2954 + <partitioning>
  2955 + <method>none</method>
  2956 + <schema_name/>
  2957 + </partitioning>
  2958 + <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
  2959 + <prefix>out</prefix>
  2960 + <cache_size>500</cache_size>
  2961 + <main/>
  2962 + <compare>
  2963 +<condition>
  2964 + <negated>N</negated>
  2965 + <leftvalue/>
  2966 + <function>&#x3d;</function>
  2967 + <rightvalue/>
  2968 + </condition>
  2969 + </compare>
  2970 + <cluster_schema/>
  2971 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2972 + <xloc>310</xloc>
  2973 + <yloc>133</yloc>
  2974 + <draw>Y</draw>
  2975 + </GUI>
  2976 + </step>
  2977 +
  2978 + <step>
  2979 + <name>&#x8fc7;&#x6ee4;&#x8bb0;&#x5f55;&#xff08;&#x53d1;&#x8f66;&#x65f6;&#x95f4;&#x4e3a;&#x7a7a;&#xff09;</name>
  2980 + <type>FilterRows</type>
  2981 + <description/>
  2982 + <distribute>Y</distribute>
  2983 + <custom_distribution/>
  2984 + <copies>1</copies>
  2985 + <partitioning>
  2986 + <method>none</method>
  2987 + <schema_name/>
  2988 + </partitioning>
  2989 +<send_true_to/>
  2990 +<send_false_to/>
  2991 + <compare>
  2992 +<condition>
  2993 + <negated>N</negated>
  2994 + <leftvalue>sendtime</leftvalue>
  2995 + <function>IS NOT NULL</function>
  2996 + <rightvalue/>
  2997 + </condition>
  2998 + </compare>
  2999 + <cluster_schema/>
  3000 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  3001 + <xloc>571</xloc>
  3002 + <yloc>44</yloc>
  3003 + <draw>Y</draw>
  3004 + </GUI>
  3005 + </step>
  3006 +
  3007 + <step>
  3008 + <name>&#x8fdb;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x8d77;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</name>
  3009 + <type>ScriptValueMod</type>
  3010 + <description/>
  3011 + <distribute>Y</distribute>
  3012 + <custom_distribution/>
  3013 + <copies>1</copies>
  3014 + <partitioning>
  3015 + <method>none</method>
  3016 + <schema_name/>
  3017 + </partitioning>
  3018 + <compatible>N</compatible>
  3019 + <optimizationLevel>9</optimizationLevel>
  3020 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  3021 + <jsScript_name>Script 1</jsScript_name>
  3022 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f; &#x6dfb;&#x52a0;&#x7ad9;&#x70b9;&#x6807;&#x8bc6;&#xa;var cc_groups &#x3d; qdzgroups.split&#x28;&#x22;,&#x22;&#x29;&#x3b; &#x2f;&#x2f; &#x6240;&#x6709;&#x73ed;&#x6b21;&#x8d77;&#x70b9;&#x7ad9;&#x6570;&#x7ec4;&#xa;var qdzname_calcu &#x3d; cc_groups&#x5b;gno - 2&#x5d;&#x3b; &#x2f;&#x2f; &#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x70b9;&#x7ad9;&#x662f;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ec8;&#x70b9;&#x7ad9;&#xff0c;&#x8fd9;&#x91cc;&#x53ea;&#x6709;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x70b9;&#x7ad9;&#xff0c;&#x8fd8;&#x9700;&#x8981;&#x8ba1;&#x7b97;&#xa;var startZdtype_calcu &#x3d; &#x27;B&#x27;&#x3b;&#xa;var endZdtype_calcu &#x3d; &#x27;E&#x27;&#x3b;&#xa;&#xa;var destory &#x3d; 0&#x3b; &#x2f;&#x2f; &#x672a;&#x64a4;&#x9500;flag</jsScript_script>
  3023 + </jsScript> </jsScripts> <fields> <field> <name>qdzname_calcu</name>
  3024 + <rename>qdzname_calcu</rename>
  3025 + <type>String</type>
  3026 + <length>-1</length>
  3027 + <precision>-1</precision>
  3028 + <replace>N</replace>
  3029 + </field> <field> <name>startZdtype_calcu</name>
  3030 + <rename>startZdtype_calcu</rename>
  3031 + <type>String</type>
  3032 + <length>-1</length>
  3033 + <precision>-1</precision>
  3034 + <replace>N</replace>
  3035 + </field> <field> <name>endZdtype_calcu</name>
  3036 + <rename>endZdtype_calcu</rename>
  3037 + <type>String</type>
  3038 + <length>-1</length>
  3039 + <precision>-1</precision>
  3040 + <replace>N</replace>
  3041 + </field> <field> <name>destory</name>
  3042 + <rename>destory</rename>
  3043 + <type>Integer</type>
  3044 + <length>-1</length>
  3045 + <precision>-1</precision>
  3046 + <replace>N</replace>
  3047 + </field> </fields> <cluster_schema/>
  3048 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  3049 + <xloc>754</xloc>
  3050 + <yloc>610</yloc>
  3051 + <draw>Y</draw>
  3052 + </GUI>
  3053 + </step>
  3054 +
  3055 + <step>
  3056 + <name>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</name>
  3057 + <type>Dummy</type>
  3058 + <description/>
  3059 + <distribute>Y</distribute>
  3060 + <custom_distribution/>
  3061 + <copies>1</copies>
  3062 + <partitioning>
  3063 + <method>none</method>
  3064 + <schema_name/>
  3065 + </partitioning>
  3066 + <cluster_schema/>
  3067 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  3068 + <xloc>997</xloc>
  3069 + <yloc>606</yloc>
  3070 + <draw>Y</draw>
  3071 + </GUI>
  3072 + </step>
  3073 +
  3074 + <step>
  3075 + <name>&#x7ad9;&#x70b9;&#x8def;&#x7531;&#x7248;&#x672c;&#x7c7b;&#x578b;</name>
  3076 + <type>SelectValues</type>
  3077 + <description/>
  3078 + <distribute>Y</distribute>
  3079 + <custom_distribution/>
  3080 + <copies>1</copies>
  3081 + <partitioning>
  3082 + <method>none</method>
  3083 + <schema_name/>
  3084 + </partitioning>
  3085 + <fields> <select_unspecified>Y</select_unspecified>
  3086 + <meta> <name>zdlyversion_</name>
  3087 + <rename>version</rename>
  3088 + <type>Integer</type>
  3089 + <length>-2</length>
  3090 + <precision>-2</precision>
  3091 + <conversion_mask/>
  3092 + <date_format_lenient>false</date_format_lenient>
  3093 + <date_format_locale/>
  3094 + <date_format_timezone/>
  3095 + <lenient_string_to_number>false</lenient_string_to_number>
  3096 + <encoding/>
  3097 + <decimal_symbol/>
  3098 + <grouping_symbol/>
  3099 + <currency_symbol/>
  3100 + <storage_type/>
  3101 + </meta> </fields> <cluster_schema/>
  3102 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  3103 + <xloc>1015</xloc>
  3104 + <yloc>333</yloc>
  3105 + <draw>Y</draw>
  3106 + </GUI>
  3107 + </step>
  3108 +
  3109 + <step_error_handling>
  3110 + <error>
  3111 + <source_step>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail</source_step>
  3112 + <target_step/>
  3113 + <is_enabled>Y</is_enabled>
  3114 + <nr_valuename>c1</nr_valuename>
  3115 + <descriptions_valuename>c2</descriptions_valuename>
  3116 + <fields_valuename>c3</fields_valuename>
  3117 + <codes_valuename>c4</codes_valuename>
  3118 + <max_errors/>
  3119 + <max_pct_errors/>
  3120 + <min_pct_rows/>
  3121 + </error>
  3122 + </step_error_handling>
  3123 + <slave-step-copy-partition-distribution>
  3124 +</slave-step-copy-partition-distribution>
  3125 + <slave_transformation>N</slave_transformation>
  3126 +
  3127 +</transformation>
src/main/resources/datatools/ktrs/ttinfodetailDataInputMetaData.ktr
1 -<?xml version="1.0" encoding="UTF-8"?>  
2 -<transformation>  
3 - <info>  
4 - <name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x5bfc;&#x5165;&#x5143;&#x6570;&#x636e;</name>  
5 - <description/>  
6 - <extended_description/>  
7 - <trans_version/>  
8 - <trans_type>Normal</trans_type>  
9 - <trans_status>0</trans_status>  
10 - <directory>&#x2f;</directory>  
11 - <parameters>  
12 - <parameter>  
13 - <name>erroroutputdir</name>  
14 - <default_value>&#x2f;Users&#x2f;xu&#x2f;resource&#x2f;project_code&#x2f;runtime_temp&#x2f;bsth_control_u_d_files&#x2f;erroroutput</default_value>  
15 - <description>ktr step&#x914d;&#x7f6e;&#x7684;&#x9519;&#x8bef;&#x8f93;&#x51fa;&#x76ee;&#x5f55;</description>  
16 - </parameter>  
17 - <parameter>  
18 - <name>excelfieldnames</name>  
19 - <default_value>&#x8def;&#x724c;,&#x51fa;&#x573a;,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;1,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;1,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;2,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;2,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;3,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;3,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;4,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;4,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;5,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;5,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;6,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;6,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;7,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;7,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;8,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;8,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;9,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;9,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;10,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;10,&#x8fdb;&#x573a;</default_value>  
20 - <description>&#x65f6;&#x523b;&#x8868;excel&#x8f93;&#x5165;&#x5b57;&#x6bb5;&#x540d;&#xff0c;&#x4ee5;&#x9017;&#x53f7;&#x8fde;&#x63a5;</description>  
21 - </parameter>  
22 - <parameter>  
23 - <name>filepath</name>  
24 - <default_value>&#x2f;Users&#x2f;xu&#x2f;resource&#x2f;project_code&#x2f;bsth_project&#x2f;bsth_control_etl&#x2f;&#x95f5;&#x884c;&#x516c;&#x4ea4;&#x2f;&#x95f5;&#x884c;26&#x8def;&#x65f6;&#x523b;&#x8868;160630&#x65f6;&#x523b;&#x8868;.xls</default_value>  
25 - <description>&#x5f85;&#x5904;&#x7406;&#x5bfc;&#x5165;&#x7684;excel&#x6587;&#x4ef6;</description>  
26 - </parameter>  
27 - <parameter>  
28 - <name>injectktrfile</name>  
29 - <default_value>&#x2f;Users&#x2f;xu&#x2f;resource&#x2f;project_code&#x2f;bsth_project&#x2f;bsth_control_parent&#x2f;bsth_control&#x2f;src&#x2f;main&#x2f;resources&#x2f;datatools&#x2f;ktrs&#x2f;ttinfodetailDataInput.ktr</default_value>  
30 - <description>&#x6ce8;&#x5165;&#x5143;&#x6570;&#x636e;&#x7684;ktr&#x6587;&#x4ef6;</description>  
31 - </parameter>  
32 - <parameter>  
33 - <name>lineinfoid</name>  
34 - <default_value>1000</default_value>  
35 - <description>&#x7ebf;&#x8def;&#x6807;&#x51c6;id</description>  
36 - </parameter>  
37 - <parameter>  
38 - <name>normalizefieldnames</name>  
39 - <default_value>&#x51fa;&#x573a;,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;1,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;1,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;2,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;2,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;3,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;3,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;4,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;4,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;5,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;5,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;6,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;6,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;7,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;7,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;8,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;8,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;9,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;9,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;10,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;10,&#x8fdb;&#x573a;</default_value>  
40 - <description>&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;&#x5b57;&#x6bb5;&#x540d;&#xff0c;&#x4ee5;&#x9017;&#x53f7;&#x8fde;&#x63a5;</description>  
41 - </parameter>  
42 - <parameter>  
43 - <name>sheetname</name>  
44 - <default_value>&#x5de5;&#x4f5c;&#x8868;1</default_value>  
45 - <description>xls sheet&#x540d;&#x5b57;</description>  
46 - </parameter>  
47 - <parameter>  
48 - <name>tccname</name>  
49 - <default_value>&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;&#x505c;&#x8f66;&#x573a;</default_value>  
50 - <description>&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</description>  
51 - </parameter>  
52 - <parameter>  
53 - <name>ttid</name>  
54 - <default_value>1</default_value>  
55 - <description>&#x65f6;&#x523b;&#x8868;id</description>  
56 - </parameter>  
57 - <parameter>  
58 - <name>ttinfoname</name>  
59 - <default_value>&#x8868;2</default_value>  
60 - <description>&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;</description>  
61 - </parameter>  
62 - <parameter>  
63 - <name>xlid</name>  
64 - <default_value>-999</default_value>  
65 - <description/>  
66 - </parameter>  
67 - <parameter>  
68 - <name>xlname</name>  
69 - <default_value>&#x95f5;&#x884c;26&#x8def;</default_value>  
70 - <description>&#x7ebf;&#x8def;&#x540d;&#x79f0;</description>  
71 - </parameter>  
72 - <parameter>  
73 - <name>zdlyversion</name>  
74 - <default_value>-1</default_value>  
75 - <description/>  
76 - </parameter>  
77 - </parameters>  
78 - <log>  
79 -<trans-log-table><connection/>  
80 -<schema/>  
81 -<table/>  
82 -<size_limit_lines/>  
83 -<interval/>  
84 -<timeout_days/>  
85 -<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>  
86 -<perf-log-table><connection/>  
87 -<schema/>  
88 -<table/>  
89 -<interval/>  
90 -<timeout_days/>  
91 -<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>  
92 -<channel-log-table><connection/>  
93 -<schema/>  
94 -<table/>  
95 -<timeout_days/>  
96 -<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>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>  
97 -<step-log-table><connection/>  
98 -<schema/>  
99 -<table/>  
100 -<timeout_days/>  
101 -<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>  
102 -<metrics-log-table><connection/>  
103 -<schema/>  
104 -<table/>  
105 -<timeout_days/>  
106 -<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>  
107 - </log>  
108 - <maxdate>  
109 - <connection/>  
110 - <table/>  
111 - <field/>  
112 - <offset>0.0</offset>  
113 - <maxdiff>0.0</maxdiff>  
114 - </maxdate>  
115 - <size_rowset>10000</size_rowset>  
116 - <sleep_time_empty>50</sleep_time_empty>  
117 - <sleep_time_full>50</sleep_time_full>  
118 - <unique_connections>N</unique_connections>  
119 - <feedback_shown>Y</feedback_shown>  
120 - <feedback_size>50000</feedback_size>  
121 - <using_thread_priorities>Y</using_thread_priorities>  
122 - <shared_objects_file/>  
123 - <capture_step_performance>N</capture_step_performance>  
124 - <step_performance_capturing_delay>1000</step_performance_capturing_delay>  
125 - <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit>  
126 - <dependencies>  
127 - </dependencies>  
128 - <partitionschemas>  
129 - </partitionschemas>  
130 - <slaveservers>  
131 - </slaveservers>  
132 - <clusterschemas>  
133 - </clusterschemas>  
134 - <created_user>-</created_user>  
135 - <created_date>2016&#x2f;07&#x2f;01 09&#x3a;55&#x3a;32.649</created_date>  
136 - <modified_user>-</modified_user>  
137 - <modified_date>2016&#x2f;07&#x2f;01 09&#x3a;55&#x3a;32.649</modified_date>  
138 - <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</key_for_session_key>  
139 - <is_key_private>N</is_key_private>  
140 - </info>  
141 - <notepads>  
142 - </notepads>  
143 - <connection>  
144 - <name>192.168.168.1_jwgl_dw</name>  
145 - <server>192.168.168.1</server>  
146 - <type>ORACLE</type>  
147 - <access>Native</access>  
148 - <database>orcl</database>  
149 - <port>1521</port>  
150 - <username>jwgl_dw</username>  
151 - <password>Encrypted 2be98afc86aa7f2e4cb13b977d2adabcd</password>  
152 - <servername/>  
153 - <data_tablespace/>  
154 - <index_tablespace/>  
155 - <attributes>  
156 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
157 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
158 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
159 - <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>  
160 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
161 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
162 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
163 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
164 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
165 - </attributes>  
166 - </connection>  
167 - <connection>  
168 - <name>bus_control_variable</name>  
169 - <server>&#x24;&#x7b;v_db_ip&#x7d;</server>  
170 - <type>MYSQL</type>  
171 - <access>Native</access>  
172 - <database>&#x24;&#x7b;v_db_dname&#x7d;</database>  
173 - <port>3306</port>  
174 - <username>&#x24;&#x7b;v_db_uname&#x7d;</username>  
175 - <password>&#x24;&#x7b;v_db_pwd&#x7d;</password>  
176 - <servername/>  
177 - <data_tablespace/>  
178 - <index_tablespace/>  
179 - <attributes>  
180 - <attribute><code>EXTRA_OPTION_MYSQL.characterEncoding</code><attribute>utf8</attribute></attribute>  
181 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
182 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
183 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
184 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
185 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
186 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
187 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
188 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
189 - <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>  
190 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
191 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
192 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
193 - </attributes>  
194 - </connection>  
195 - <connection>  
196 - <name>bus_control_&#x516c;&#x53f8;_201</name>  
197 - <server>localhost</server>  
198 - <type>MYSQL</type>  
199 - <access>Native</access>  
200 - <database>control</database>  
201 - <port>3306</port>  
202 - <username>root</username>  
203 - <password>Encrypted </password>  
204 - <servername/>  
205 - <data_tablespace/>  
206 - <index_tablespace/>  
207 - <attributes>  
208 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
209 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
210 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
211 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
212 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
213 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
214 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
215 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
216 - <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>  
217 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
218 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
219 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
220 - </attributes>  
221 - </connection>  
222 - <connection>  
223 - <name>bus_control_&#x672c;&#x673a;</name>  
224 - <server>localhost</server>  
225 - <type>MYSQL</type>  
226 - <access>Native</access>  
227 - <database>control</database>  
228 - <port>3306</port>  
229 - <username>root</username>  
230 - <password>Encrypted </password>  
231 - <servername/>  
232 - <data_tablespace/>  
233 - <index_tablespace/>  
234 - <attributes>  
235 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
236 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
237 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
238 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
239 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
240 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
241 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
242 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
243 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
244 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
245 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
246 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
247 - </attributes>  
248 - </connection>  
249 - <connection>  
250 - <name>xlab_mysql_youle</name>  
251 - <server>101.231.124.8</server>  
252 - <type>MYSQL</type>  
253 - <access>Native</access>  
254 - <database>xlab_youle</database>  
255 - <port>45687</port>  
256 - <username>xlab-youle</username>  
257 - <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password>  
258 - <servername/>  
259 - <data_tablespace/>  
260 - <index_tablespace/>  
261 - <attributes>  
262 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
263 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
264 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
265 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
266 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
267 - <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute>  
268 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
269 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
270 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
271 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>  
272 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>  
273 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
274 - </attributes>  
275 - </connection>  
276 - <connection>  
277 - <name>xlab_mysql_youle&#xff08;&#x672c;&#x673a;&#xff09;</name>  
278 - <server>localhost</server>  
279 - <type>MYSQL</type>  
280 - <access>Native</access>  
281 - <database>xlab_youle</database>  
282 - <port>3306</port>  
283 - <username>root</username>  
284 - <password>Encrypted </password>  
285 - <servername/>  
286 - <data_tablespace/>  
287 - <index_tablespace/>  
288 - <attributes>  
289 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
290 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
291 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
292 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
293 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
294 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
295 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
296 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
297 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
298 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>  
299 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>  
300 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
301 - </attributes>  
302 - </connection>  
303 - <connection>  
304 - <name>xlab_youle</name>  
305 - <server/>  
306 - <type>MYSQL</type>  
307 - <access>JNDI</access>  
308 - <database>xlab_youle</database>  
309 - <port>1521</port>  
310 - <username/>  
311 - <password>Encrypted </password>  
312 - <servername/>  
313 - <data_tablespace/>  
314 - <index_tablespace/>  
315 - <attributes>  
316 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
317 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
318 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
319 - <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>  
320 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
321 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
322 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
323 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
324 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
325 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
326 - </attributes>  
327 - </connection>  
328 - <order>  
329 - <hop> <from>&#x83b7;&#x53d6;excel&#x6587;&#x4ef6;&#x540d;</from><to>ETL&#x5143;&#x6570;&#x636e;&#x6ce8;&#x5165;</to><enabled>Y</enabled> </hop>  
330 - <hop> <from>&#x83b7;&#x53d6;excel&#x5b57;&#x6bb5;&#x540d;&#x5b57;&#x7b26;&#x4e32;</from><to>&#x9017;&#x53f7;&#x5207;&#x5206;&#x6210;&#x5b57;&#x6bb5;&#x540d;</to><enabled>Y</enabled> </hop>  
331 - <hop> <from>&#x9017;&#x53f7;&#x5207;&#x5206;&#x6210;&#x5b57;&#x6bb5;&#x540d;</from><to>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>  
332 - <hop> <from>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</from><to>ETL&#x5143;&#x6570;&#x636e;&#x6ce8;&#x5165;</to><enabled>Y</enabled> </hop>  
333 - <hop> <from>&#x83b7;&#x53d6;normalize&#x5b57;&#x6bb5;&#x540d;&#x5b57;&#x7b26;&#x4e32;</from><to>&#x9017;&#x53f7;&#x5207;&#x5206;&#x6210;&#x5b57;&#x6bb5;&#x540d; 2</to><enabled>Y</enabled> </hop>  
334 - <hop> <from>&#x9017;&#x53f7;&#x5207;&#x5206;&#x6210;&#x5b57;&#x6bb5;&#x540d; 2</from><to>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>  
335 - <hop> <from>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</from><to>ETL&#x5143;&#x6570;&#x636e;&#x6ce8;&#x5165;</to><enabled>Y</enabled> </hop>  
336 - <hop> <from>&#x83b7;&#x53d6;&#x7ebf;&#x8def;&#x540d;&#x79f0;</from><to>&#x589e;&#x52a0;&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata</to><enabled>Y</enabled> </hop>  
337 - <hop> <from>&#x589e;&#x52a0;&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata</from><to>&#x66ff;&#x6362;&#x7ebf;&#x8def;&#x540d;&#x79f0;</to><enabled>Y</enabled> </hop>  
338 - <hop> <from>&#x66ff;&#x6362;&#x7ebf;&#x8def;&#x540d;&#x79f0;</from><to>&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</to><enabled>Y</enabled> </hop>  
339 - <hop> <from>&#x589e;&#x52a0;&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata</from><to>&#x66ff;&#x6362;&#x505c;&#x8f66;&#x5382;&#x540d;&#x5b57; </to><enabled>Y</enabled> </hop>  
340 - <hop> <from>&#x66ff;&#x6362;&#x505c;&#x8f66;&#x5382;&#x540d;&#x5b57; </from><to>&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</to><enabled>Y</enabled> </hop>  
341 - <hop> <from>&#x83b7;&#x53d6;&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;</from><to>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;metadata</to><enabled>Y</enabled> </hop>  
342 - <hop> <from>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;metadata</from><to>&#x66ff;&#x6362;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;</to><enabled>Y</enabled> </hop>  
343 - <hop> <from>&#x66ff;&#x6362;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;</from><to>&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</to><enabled>Y</enabled> </hop>  
344 - <hop> <from>&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</from><to>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</to><enabled>Y</enabled> </hop>  
345 - <hop> <from>&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</from><to>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</to><enabled>Y</enabled> </hop>  
346 - <hop> <from>&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</from><to>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</to><enabled>Y</enabled> </hop>  
347 - <hop> <from>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</from><to>ETL&#x5143;&#x6570;&#x636e;&#x6ce8;&#x5165;</to><enabled>Y</enabled> </hop>  
348 - <hop> <from>&#x83b7;&#x53d6;&#x65f6;&#x523b;&#x8868;id</from><to>&#x5220;&#x9664;&#x4e4b;&#x524d;&#x7684;&#x660e;&#x7ec6;&#x4fe1;&#x606f;</to><enabled>Y</enabled> </hop>  
349 - <hop> <from>&#x83b7;&#x53d6;&#x7ebf;&#x8def;&#x6807;&#x51c6;id</from><to>&#x505c;&#x8f66;&#x573a;&#x7f16;&#x7801;</to><enabled>Y</enabled> </hop>  
350 - <hop> <from>&#x505c;&#x8f66;&#x573a;&#x7f16;&#x7801;</from><to>&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;</to><enabled>Y</enabled> </hop>  
351 - <hop> <from>&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;</from><to>&#x589e;&#x52a0;&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata</to><enabled>Y</enabled> </hop>  
352 - <hop> <from>&#x589e;&#x52a0;&#x7ad9;&#x70b9;&#x8def;&#x7531;&#x7248;&#x672c; metadata</from><to>&#x66ff;&#x6362;&#x7ad9;&#x70b9;&#x8def;&#x7531;&#x7248;&#x672c;</to><enabled>Y</enabled> </hop>  
353 - <hop> <from>&#x66ff;&#x6362;&#x7ad9;&#x70b9;&#x8def;&#x7531;&#x7248;&#x672c;</from><to>&#x7ad9;&#x70b9;&#x8def;&#x7531;&#x7248;&#x672c;metadata&#x5b57;&#x6bb5;</to><enabled>Y</enabled> </hop>  
354 - <hop> <from>&#x83b7;&#x53d6;&#x7ad9;&#x70b9;&#x8def;&#x7531;version</from><to>&#x589e;&#x52a0;&#x7ad9;&#x70b9;&#x8def;&#x7531;&#x7248;&#x672c; metadata</to><enabled>Y</enabled> </hop>  
355 - <hop> <from>&#x7ad9;&#x70b9;&#x8def;&#x7531;&#x7248;&#x672c;metadata&#x5b57;&#x6bb5;</from><to>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</to><enabled>Y</enabled> </hop>  
356 - </order>  
357 - <step>  
358 - <name>ETL&#x5143;&#x6570;&#x636e;&#x6ce8;&#x5165;</name>  
359 - <type>MetaInject</type>  
360 - <description/>  
361 - <distribute>Y</distribute>  
362 - <custom_distribution/>  
363 - <copies>1</copies>  
364 - <partitioning>  
365 - <method>none</method>  
366 - <schema_name/>  
367 - </partitioning>  
368 - <specification_method>filename</specification_method>  
369 - <trans_object_id/>  
370 - <trans_name/>  
371 - <filename>&#x24;&#x7b;injectktrfile&#x7d;</filename>  
372 - <directory_path/>  
373 - <source_step/>  
374 - <source_output_fields> </source_output_fields> <target_file/>  
375 - <no_execution>N</no_execution>  
376 - <stream_source_step/>  
377 - <stream_target_step/>  
378 - <mappings> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>  
379 - <target_attribute_key>FORMAT</target_attribute_key>  
380 - <target_detail>Y</target_detail>  
381 - <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>  
382 - <source_field>format</source_field>  
383 - </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>  
384 - <target_attribute_key>REPEAT</target_attribute_key>  
385 - <target_detail>Y</target_detail>  
386 - <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>  
387 - <source_field>repeat</source_field>  
388 - </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>  
389 - <target_attribute_key>TRIM_TYPE</target_attribute_key>  
390 - <target_detail>Y</target_detail>  
391 - <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>  
392 - <source_field>trim_type</source_field>  
393 - </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>  
394 - <target_attribute_key>FILENAME</target_attribute_key>  
395 - <target_detail>Y</target_detail>  
396 - <source_step>&#x83b7;&#x53d6;excel&#x6587;&#x4ef6;&#x540d;</source_step>  
397 - <source_field>filepath_</source_field>  
398 - </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>  
399 - <target_attribute_key>PRECISION</target_attribute_key>  
400 - <target_detail>Y</target_detail>  
401 - <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>  
402 - <source_field>precision</source_field>  
403 - </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>  
404 - <target_attribute_key>TYPE</target_attribute_key>  
405 - <target_detail>Y</target_detail>  
406 - <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>  
407 - <source_field>type</source_field>  
408 - </mapping> <mapping> <target_step_name>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;&#xff0c;&#x7ebf;&#x8def;&#x540d;&#x5b57;&#xff0c;&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</target_step_name>  
409 - <target_attribute_key>DATA_VALUE</target_attribute_key>  
410 - <target_detail>Y</target_detail>  
411 - <source_step>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</source_step>  
412 - <source_field>col_value</source_field>  
413 - </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>  
414 - <target_attribute_key>LENGTH</target_attribute_key>  
415 - <target_detail>Y</target_detail>  
416 - <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>  
417 - <source_field>length</source_field>  
418 - </mapping> <mapping> <target_step_name>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;&#xff0c;&#x7ebf;&#x8def;&#x540d;&#x5b57;&#xff0c;&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</target_step_name>  
419 - <target_attribute_key>TYPE</target_attribute_key>  
420 - <target_detail>Y</target_detail>  
421 - <source_step>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</source_step>  
422 - <source_field>col_type</source_field>  
423 - </mapping> <mapping> <target_step_name>&#x884c;&#x8f6c;&#x5217;</target_step_name>  
424 - <target_attribute_key>NAME</target_attribute_key>  
425 - <target_detail>Y</target_detail>  
426 - <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c; 2</source_step>  
427 - <source_field>fieldName</source_field>  
428 - </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>  
429 - <target_attribute_key>NAME</target_attribute_key>  
430 - <target_detail>Y</target_detail>  
431 - <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>  
432 - <source_field>fieldname</source_field>  
433 - </mapping> <mapping> <target_step_name>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</target_step_name>  
434 - <target_attribute_key>NAME</target_attribute_key>  
435 - <target_detail>Y</target_detail>  
436 - <source_step>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</source_step>  
437 - <source_field>nfieldname</source_field>  
438 - </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>  
439 - <target_attribute_key>LENGTH</target_attribute_key>  
440 - <target_detail>Y</target_detail>  
441 - <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>  
442 - <source_field>length</source_field>  
443 - </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>  
444 - <target_attribute_key>SHEET_NAME</target_attribute_key>  
445 - <target_detail>Y</target_detail>  
446 - <source_step>&#x83b7;&#x53d6;excel&#x6587;&#x4ef6;&#x540d;</source_step>  
447 - <source_field>sheetname_</source_field>  
448 - </mapping> <mapping> <target_step_name>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;&#xff0c;&#x7ebf;&#x8def;&#x540d;&#x5b57;&#xff0c;&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</target_step_name>  
449 - <target_attribute_key>NAME</target_attribute_key>  
450 - <target_detail>Y</target_detail>  
451 - <source_step>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</source_step>  
452 - <source_field>col_name</source_field>  
453 - </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>  
454 - <target_attribute_key>TYPE</target_attribute_key>  
455 - <target_detail>Y</target_detail>  
456 - <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>  
457 - <source_field>fieldtype</source_field>  
458 - </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>  
459 - <target_attribute_key>NAME</target_attribute_key>  
460 - <target_detail>Y</target_detail>  
461 - <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>  
462 - <source_field>fieldName</source_field>  
463 - </mapping> <mapping> <target_step_name>&#x884c;&#x8f6c;&#x5217;</target_step_name>  
464 - <target_attribute_key>VALUE</target_attribute_key>  
465 - <target_detail>Y</target_detail>  
466 - <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c; 2</source_step>  
467 - <source_field>fieldName</source_field>  
468 - </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>  
469 - <target_attribute_key>TRIM_TYPE</target_attribute_key>  
470 - <target_detail>Y</target_detail>  
471 - <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>  
472 - <source_field>trim_type</source_field>  
473 - </mapping> <mapping> <target_step_name>&#x884c;&#x8f6c;&#x5217;</target_step_name>  
474 - <target_attribute_key>NORMALISED</target_attribute_key>  
475 - <target_detail>Y</target_detail>  
476 - <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c; 2</source_step>  
477 - <source_field>value</source_field>  
478 - </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>  
479 - <target_attribute_key>REPEAT</target_attribute_key>  
480 - <target_detail>Y</target_detail>  
481 - <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>  
482 - <source_field>repeat</source_field>  
483 - </mapping> <mapping> <target_step_name>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</target_step_name>  
484 - <target_attribute_key>NORMALISED</target_attribute_key>  
485 - <target_detail>Y</target_detail>  
486 - <source_step>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</source_step>  
487 - <source_field>valuefield</source_field>  
488 - </mapping> <mapping> <target_step_name>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</target_step_name>  
489 - <target_attribute_key>VALUE</target_attribute_key>  
490 - <target_detail>Y</target_detail>  
491 - <source_step>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</source_step>  
492 - <source_field>nfieldname</source_field>  
493 - </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>  
494 - <target_attribute_key>FORMAT</target_attribute_key>  
495 - <target_detail>Y</target_detail>  
496 - <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>  
497 - <source_field>format</source_field>  
498 - </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>  
499 - <target_attribute_key>PRECISION</target_attribute_key>  
500 - <target_detail>Y</target_detail>  
501 - <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>  
502 - <source_field>precision</source_field>  
503 - </mapping> </mappings> <cluster_schema/>  
504 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
505 - <xloc>876</xloc>  
506 - <yloc>167</yloc>  
507 - <draw>Y</draw>  
508 - </GUI>  
509 - </step>  
510 -  
511 - <step>  
512 - <name>&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;</name>  
513 - <type>DBLookup</type>  
514 - <description/>  
515 - <distribute>Y</distribute>  
516 - <custom_distribution/>  
517 - <copies>1</copies>  
518 - <partitioning>  
519 - <method>none</method>  
520 - <schema_name/>  
521 - </partitioning>  
522 - <connection>bus_control_variable</connection>  
523 - <cache>N</cache>  
524 - <cache_load_all>N</cache_load_all>  
525 - <cache_size>0</cache_size>  
526 - <lookup>  
527 - <schema/>  
528 - <table>bsth_c_car_park</table>  
529 - <orderby/>  
530 - <fail_on_multiple>N</fail_on_multiple>  
531 - <eat_row_on_failure>N</eat_row_on_failure>  
532 - <key>  
533 - <name>car_park</name>  
534 - <field>park_code</field>  
535 - <condition>&#x3d;</condition>  
536 - <name2/>  
537 - </key>  
538 - <value>  
539 - <name>park_name</name>  
540 - <rename>tccname_</rename>  
541 - <default/>  
542 - <type>String</type>  
543 - </value>  
544 - </lookup>  
545 - <cluster_schema/>  
546 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
547 - <xloc>319</xloc>  
548 - <yloc>468</yloc>  
549 - <draw>Y</draw>  
550 - </GUI>  
551 - </step>  
552 -  
553 - <step>  
554 - <name>&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</name>  
555 - <type>SelectValues</type>  
556 - <description/>  
557 - <distribute>Y</distribute>  
558 - <custom_distribution/>  
559 - <copies>1</copies>  
560 - <partitioning>  
561 - <method>none</method>  
562 - <schema_name/>  
563 - </partitioning>  
564 - <fields> <field> <name>col_name</name>  
565 - <rename/>  
566 - <length>-2</length>  
567 - <precision>-2</precision>  
568 - </field> <field> <name>col_type</name>  
569 - <rename/>  
570 - <length>-2</length>  
571 - <precision>-2</precision>  
572 - </field> <field> <name>col_value</name>  
573 - <rename/>  
574 - <length>-2</length>  
575 - <precision>-2</precision>  
576 - </field> <select_unspecified>N</select_unspecified>  
577 - </fields> <cluster_schema/>  
578 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
579 - <xloc>743</xloc>  
580 - <yloc>470</yloc>  
581 - <draw>Y</draw>  
582 - </GUI>  
583 - </step>  
584 -  
585 - <step>  
586 - <name>&#x505c;&#x8f66;&#x573a;&#x7f16;&#x7801;</name>  
587 - <type>DBLookup</type>  
588 - <description/>  
589 - <distribute>Y</distribute>  
590 - <custom_distribution/>  
591 - <copies>1</copies>  
592 - <partitioning>  
593 - <method>none</method>  
594 - <schema_name/>  
595 - </partitioning>  
596 - <connection>bus_control_variable</connection>  
597 - <cache>N</cache>  
598 - <cache_load_all>N</cache_load_all>  
599 - <cache_size>0</cache_size>  
600 - <lookup>  
601 - <schema/>  
602 - <table>bsth_c_line_information</table>  
603 - <orderby/>  
604 - <fail_on_multiple>N</fail_on_multiple>  
605 - <eat_row_on_failure>N</eat_row_on_failure>  
606 - <key>  
607 - <name>lineinfoid_</name>  
608 - <field>id</field>  
609 - <condition>&#x3d;</condition>  
610 - <name2/>  
611 - </key>  
612 - <value>  
613 - <name>car_park</name>  
614 - <rename>car_park</rename>  
615 - <default/>  
616 - <type>String</type>  
617 - </value>  
618 - </lookup>  
619 - <cluster_schema/>  
620 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
621 - <xloc>182</xloc>  
622 - <yloc>467</yloc>  
623 - <draw>Y</draw>  
624 - </GUI>  
625 - </step>  
626 -  
627 - <step>  
628 - <name>&#x5220;&#x9664;&#x4e4b;&#x524d;&#x7684;&#x660e;&#x7ec6;&#x4fe1;&#x606f;</name>  
629 - <type>ExecSQL</type>  
630 - <description/>  
631 - <distribute>Y</distribute>  
632 - <custom_distribution/>  
633 - <copies>1</copies>  
634 - <partitioning>  
635 - <method>none</method>  
636 - <schema_name/>  
637 - </partitioning>  
638 - <connection>bus_control_variable</connection>  
639 - <execute_each_row>Y</execute_each_row>  
640 - <single_statement>N</single_statement>  
641 - <replace_variables>N</replace_variables>  
642 - <quoteString>N</quoteString>  
643 - <sql>delete from bsth_c_s_ttinfo_detail where ttinfo &#x3d; &#x3f;</sql>  
644 - <set_params>N</set_params>  
645 - <insert_field/>  
646 - <update_field/>  
647 - <delete_field/>  
648 - <read_field/>  
649 - <arguments>  
650 - <argument><name>ttid_</name></argument>  
651 - </arguments>  
652 - <cluster_schema/>  
653 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
654 - <xloc>808</xloc>  
655 - <yloc>16</yloc>  
656 - <draw>Y</draw>  
657 - </GUI>  
658 - </step>  
659 -  
660 - <step>  
661 - <name>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</name>  
662 - <type>Dummy</type>  
663 - <description/>  
664 - <distribute>Y</distribute>  
665 - <custom_distribution/>  
666 - <copies>1</copies>  
667 - <partitioning>  
668 - <method>none</method>  
669 - <schema_name/>  
670 - </partitioning>  
671 - <cluster_schema/>  
672 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
673 - <xloc>883</xloc>  
674 - <yloc>373</yloc>  
675 - <draw>Y</draw>  
676 - </GUI>  
677 - </step>  
678 -  
679 - <step>  
680 - <name>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</name>  
681 - <type>Constant</type>  
682 - <description/>  
683 - <distribute>Y</distribute>  
684 - <custom_distribution/>  
685 - <copies>1</copies>  
686 - <partitioning>  
687 - <method>none</method>  
688 - <schema_name/>  
689 - </partitioning>  
690 - <fields>  
691 - <field>  
692 - <name>fieldtype</name>  
693 - <type>String</type>  
694 - <format/>  
695 - <currency/>  
696 - <decimal/>  
697 - <group/>  
698 - <nullif>String</nullif>  
699 - <length>-1</length>  
700 - <precision>-1</precision>  
701 - <set_empty_string>N</set_empty_string>  
702 - </field>  
703 - <field>  
704 - <name>length</name>  
705 - <type>String</type>  
706 - <format/>  
707 - <currency/>  
708 - <decimal/>  
709 - <group/>  
710 - <nullif>-1</nullif>  
711 - <length>-1</length>  
712 - <precision>-1</precision>  
713 - <set_empty_string>N</set_empty_string>  
714 - </field>  
715 - <field>  
716 - <name>precision</name>  
717 - <type>String</type>  
718 - <format/>  
719 - <currency/>  
720 - <decimal/>  
721 - <group/>  
722 - <nullif>-1</nullif>  
723 - <length>-1</length>  
724 - <precision>-1</precision>  
725 - <set_empty_string>N</set_empty_string>  
726 - </field>  
727 - <field>  
728 - <name>trim_type</name>  
729 - <type>String</type>  
730 - <format/>  
731 - <currency/>  
732 - <decimal/>  
733 - <group/>  
734 - <nullif>none</nullif>  
735 - <length>-1</length>  
736 - <precision>-1</precision>  
737 - <set_empty_string>N</set_empty_string>  
738 - </field>  
739 - <field>  
740 - <name>repeat</name>  
741 - <type>String</type>  
742 - <format/>  
743 - <currency/>  
744 - <decimal/>  
745 - <group/>  
746 - <nullif>N</nullif>  
747 - <length>-1</length>  
748 - <precision>-1</precision>  
749 - <set_empty_string>N</set_empty_string>  
750 - </field>  
751 - <field>  
752 - <name>format</name>  
753 - <type>String</type>  
754 - <format/>  
755 - <currency/>  
756 - <decimal/>  
757 - <group/>  
758 - <nullif>&#x23;</nullif>  
759 - <length>-1</length>  
760 - <precision>-1</precision>  
761 - <set_empty_string>N</set_empty_string>  
762 - </field>  
763 - </fields>  
764 - <cluster_schema/>  
765 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
766 - <xloc>622</xloc>  
767 - <yloc>162</yloc>  
768 - <draw>Y</draw>  
769 - </GUI>  
770 - </step>  
771 -  
772 - <step>  
773 - <name>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</name>  
774 - <type>Constant</type>  
775 - <description/>  
776 - <distribute>Y</distribute>  
777 - <custom_distribution/>  
778 - <copies>1</copies>  
779 - <partitioning>  
780 - <method>none</method>  
781 - <schema_name/>  
782 - </partitioning>  
783 - <fields>  
784 - <field>  
785 - <name>valuefield</name>  
786 - <type>String</type>  
787 - <format/>  
788 - <currency/>  
789 - <decimal/>  
790 - <group/>  
791 - <nullif>&#x53d1;&#x8f66;&#x65f6;&#x95f4;</nullif>  
792 - <length>-1</length>  
793 - <precision>-1</precision>  
794 - <set_empty_string>N</set_empty_string>  
795 - </field>  
796 - </fields>  
797 - <cluster_schema/>  
798 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
799 - <xloc>628</xloc>  
800 - <yloc>247</yloc>  
801 - <draw>Y</draw>  
802 - </GUI>  
803 - </step>  
804 -  
805 - <step>  
806 - <name>&#x589e;&#x52a0;&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata</name>  
807 - <type>Constant</type>  
808 - <description/>  
809 - <distribute>Y</distribute>  
810 - <custom_distribution/>  
811 - <copies>1</copies>  
812 - <partitioning>  
813 - <method>none</method>  
814 - <schema_name/>  
815 - </partitioning>  
816 - <fields>  
817 - <field>  
818 - <name>col_name</name>  
819 - <type>String</type>  
820 - <format/>  
821 - <currency/>  
822 - <decimal/>  
823 - <group/>  
824 - <nullif>tccname_</nullif>  
825 - <length>-1</length>  
826 - <precision>-1</precision>  
827 - <set_empty_string>N</set_empty_string>  
828 - </field>  
829 - <field>  
830 - <name>col_type</name>  
831 - <type>String</type>  
832 - <format/>  
833 - <currency/>  
834 - <decimal/>  
835 - <group/>  
836 - <nullif>String</nullif>  
837 - <length>-1</length>  
838 - <precision>-1</precision>  
839 - <set_empty_string>N</set_empty_string>  
840 - </field>  
841 - <field>  
842 - <name>col_value</name>  
843 - <type>String</type>  
844 - <format/>  
845 - <currency/>  
846 - <decimal/>  
847 - <group/>  
848 - <nullif>replace</nullif>  
849 - <length>-1</length>  
850 - <precision>-1</precision>  
851 - <set_empty_string>N</set_empty_string>  
852 - </field>  
853 - </fields>  
854 - <cluster_schema/>  
855 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
856 - <xloc>461</xloc>  
857 - <yloc>469</yloc>  
858 - <draw>Y</draw>  
859 - </GUI>  
860 - </step>  
861 -  
862 - <step>  
863 - <name>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;metadata</name>  
864 - <type>Constant</type>  
865 - <description/>  
866 - <distribute>Y</distribute>  
867 - <custom_distribution/>  
868 - <copies>1</copies>  
869 - <partitioning>  
870 - <method>none</method>  
871 - <schema_name/>  
872 - </partitioning>  
873 - <fields>  
874 - <field>  
875 - <name>col_name</name>  
876 - <type>String</type>  
877 - <format/>  
878 - <currency/>  
879 - <decimal/>  
880 - <group/>  
881 - <nullif>ttinfoname_</nullif>  
882 - <length>-1</length>  
883 - <precision>-1</precision>  
884 - <set_empty_string>N</set_empty_string>  
885 - </field>  
886 - <field>  
887 - <name>col_type</name>  
888 - <type>String</type>  
889 - <format/>  
890 - <currency/>  
891 - <decimal/>  
892 - <group/>  
893 - <nullif>String</nullif>  
894 - <length>-1</length>  
895 - <precision>-1</precision>  
896 - <set_empty_string>N</set_empty_string>  
897 - </field>  
898 - <field>  
899 - <name>col_value</name>  
900 - <type>String</type>  
901 - <format/>  
902 - <currency/>  
903 - <decimal/>  
904 - <group/>  
905 - <nullif>replace</nullif>  
906 - <length>-1</length>  
907 - <precision>-1</precision>  
908 - <set_empty_string>N</set_empty_string>  
909 - </field>  
910 - </fields>  
911 - <cluster_schema/>  
912 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
913 - <xloc>608</xloc>  
914 - <yloc>601</yloc>  
915 - <draw>Y</draw>  
916 - </GUI>  
917 - </step>  
918 -  
919 - <step>  
920 - <name>&#x589e;&#x52a0;&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata</name>  
921 - <type>Constant</type>  
922 - <description/>  
923 - <distribute>Y</distribute>  
924 - <custom_distribution/>  
925 - <copies>1</copies>  
926 - <partitioning>  
927 - <method>none</method>  
928 - <schema_name/>  
929 - </partitioning>  
930 - <fields>  
931 - <field>  
932 - <name>col_name</name>  
933 - <type>String</type>  
934 - <format/>  
935 - <currency/>  
936 - <decimal/>  
937 - <group/>  
938 - <nullif>xlname_</nullif>  
939 - <length>-1</length>  
940 - <precision>-1</precision>  
941 - <set_empty_string>N</set_empty_string>  
942 - </field>  
943 - <field>  
944 - <name>col_type</name>  
945 - <type>String</type>  
946 - <format/>  
947 - <currency/>  
948 - <decimal/>  
949 - <group/>  
950 - <nullif>String</nullif>  
951 - <length>-1</length>  
952 - <precision>-1</precision>  
953 - <set_empty_string>N</set_empty_string>  
954 - </field>  
955 - <field>  
956 - <name>col_value</name>  
957 - <type>String</type>  
958 - <format/>  
959 - <currency/>  
960 - <decimal/>  
961 - <group/>  
962 - <nullif>replace</nullif>  
963 - <length>-1</length>  
964 - <precision>-1</precision>  
965 - <set_empty_string>N</set_empty_string>  
966 - </field>  
967 - </fields>  
968 - <cluster_schema/>  
969 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
970 - <xloc>383</xloc>  
971 - <yloc>341</yloc>  
972 - <draw>Y</draw>  
973 - </GUI>  
974 - </step>  
975 -  
976 - <step>  
977 - <name>&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</name>  
978 - <type>SelectValues</type>  
979 - <description/>  
980 - <distribute>Y</distribute>  
981 - <custom_distribution/>  
982 - <copies>1</copies>  
983 - <partitioning>  
984 - <method>none</method>  
985 - <schema_name/>  
986 - </partitioning>  
987 - <fields> <field> <name>col_name</name>  
988 - <rename/>  
989 - <length>-2</length>  
990 - <precision>-2</precision>  
991 - </field> <field> <name>col_type</name>  
992 - <rename/>  
993 - <length>-2</length>  
994 - <precision>-2</precision>  
995 - </field> <field> <name>col_value</name>  
996 - <rename/>  
997 - <length>-2</length>  
998 - <precision>-2</precision>  
999 - </field> <select_unspecified>N</select_unspecified>  
1000 - </fields> <cluster_schema/>  
1001 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1002 - <xloc>888</xloc>  
1003 - <yloc>601</yloc>  
1004 - <draw>Y</draw>  
1005 - </GUI>  
1006 - </step>  
1007 -  
1008 - <step>  
1009 - <name>&#x66ff;&#x6362;&#x505c;&#x8f66;&#x5382;&#x540d;&#x5b57; </name>  
1010 - <type>SetValueField</type>  
1011 - <description/>  
1012 - <distribute>Y</distribute>  
1013 - <custom_distribution/>  
1014 - <copies>1</copies>  
1015 - <partitioning>  
1016 - <method>none</method>  
1017 - <schema_name/>  
1018 - </partitioning>  
1019 - <fields>  
1020 - <field>  
1021 - <name>col_value</name>  
1022 - <replaceby>tccname_</replaceby>  
1023 - </field>  
1024 - </fields>  
1025 - <cluster_schema/>  
1026 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1027 - <xloc>598</xloc>  
1028 - <yloc>471</yloc>  
1029 - <draw>Y</draw>  
1030 - </GUI>  
1031 - </step>  
1032 -  
1033 - <step>  
1034 - <name>&#x66ff;&#x6362;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;</name>  
1035 - <type>SetValueField</type>  
1036 - <description/>  
1037 - <distribute>Y</distribute>  
1038 - <custom_distribution/>  
1039 - <copies>1</copies>  
1040 - <partitioning>  
1041 - <method>none</method>  
1042 - <schema_name/>  
1043 - </partitioning>  
1044 - <fields>  
1045 - <field>  
1046 - <name>col_value</name>  
1047 - <replaceby>ttinfoname_</replaceby>  
1048 - </field>  
1049 - </fields>  
1050 - <cluster_schema/>  
1051 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1052 - <xloc>746</xloc>  
1053 - <yloc>602</yloc>  
1054 - <draw>Y</draw>  
1055 - </GUI>  
1056 - </step>  
1057 -  
1058 - <step>  
1059 - <name>&#x66ff;&#x6362;&#x7ebf;&#x8def;&#x540d;&#x79f0;</name>  
1060 - <type>SetValueField</type>  
1061 - <description/>  
1062 - <distribute>Y</distribute>  
1063 - <custom_distribution/>  
1064 - <copies>1</copies>  
1065 - <partitioning>  
1066 - <method>none</method>  
1067 - <schema_name/>  
1068 - </partitioning>  
1069 - <fields>  
1070 - <field>  
1071 - <name>col_value</name>  
1072 - <replaceby>xlname_</replaceby>  
1073 - </field>  
1074 - </fields>  
1075 - <cluster_schema/>  
1076 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1077 - <xloc>521</xloc>  
1078 - <yloc>342</yloc>  
1079 - <draw>Y</draw>  
1080 - </GUI>  
1081 - </step>  
1082 -  
1083 - <step>  
1084 - <name>&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</name>  
1085 - <type>SelectValues</type>  
1086 - <description/>  
1087 - <distribute>Y</distribute>  
1088 - <custom_distribution/>  
1089 - <copies>1</copies>  
1090 - <partitioning>  
1091 - <method>none</method>  
1092 - <schema_name/>  
1093 - </partitioning>  
1094 - <fields> <field> <name>col_name</name>  
1095 - <rename/>  
1096 - <length>-2</length>  
1097 - <precision>-2</precision>  
1098 - </field> <field> <name>col_type</name>  
1099 - <rename/>  
1100 - <length>-2</length>  
1101 - <precision>-2</precision>  
1102 - </field> <field> <name>col_value</name>  
1103 - <rename/>  
1104 - <length>-2</length>  
1105 - <precision>-2</precision>  
1106 - </field> <select_unspecified>N</select_unspecified>  
1107 - </fields> <cluster_schema/>  
1108 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1109 - <xloc>668</xloc>  
1110 - <yloc>343</yloc>  
1111 - <draw>Y</draw>  
1112 - </GUI>  
1113 - </step>  
1114 -  
1115 - <step>  
1116 - <name>&#x83b7;&#x53d6;excel&#x5b57;&#x6bb5;&#x540d;&#x5b57;&#x7b26;&#x4e32;</name>  
1117 - <type>GetVariable</type>  
1118 - <description/>  
1119 - <distribute>Y</distribute>  
1120 - <custom_distribution/>  
1121 - <copies>1</copies>  
1122 - <partitioning>  
1123 - <method>none</method>  
1124 - <schema_name/>  
1125 - </partitioning>  
1126 - <fields>  
1127 - <field>  
1128 - <name>fieldnames</name>  
1129 - <variable>&#x24;&#x7b;excelfieldnames&#x7d;</variable>  
1130 - <type>String</type>  
1131 - <format/>  
1132 - <currency/>  
1133 - <decimal/>  
1134 - <group/>  
1135 - <length>-1</length>  
1136 - <precision>-1</precision>  
1137 - <trim_type>none</trim_type>  
1138 - </field>  
1139 - </fields>  
1140 - <cluster_schema/>  
1141 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1142 - <xloc>252</xloc>  
1143 - <yloc>153</yloc>  
1144 - <draw>Y</draw>  
1145 - </GUI>  
1146 - </step>  
1147 -  
1148 - <step>  
1149 - <name>&#x83b7;&#x53d6;excel&#x6587;&#x4ef6;&#x540d;</name>  
1150 - <type>GetVariable</type>  
1151 - <description/>  
1152 - <distribute>Y</distribute>  
1153 - <custom_distribution/>  
1154 - <copies>1</copies>  
1155 - <partitioning>  
1156 - <method>none</method>  
1157 - <schema_name/>  
1158 - </partitioning>  
1159 - <fields>  
1160 - <field>  
1161 - <name>filepath_</name>  
1162 - <variable>&#x24;&#x7b;filepath&#x7d;</variable>  
1163 - <type>String</type>  
1164 - <format/>  
1165 - <currency/>  
1166 - <decimal/>  
1167 - <group/>  
1168 - <length>-1</length>  
1169 - <precision>-1</precision>  
1170 - <trim_type>none</trim_type>  
1171 - </field>  
1172 - <field>  
1173 - <name>erroroutputdir_</name>  
1174 - <variable>&#x24;&#x7b;erroroutputdir&#x7d;</variable>  
1175 - <type>String</type>  
1176 - <format/>  
1177 - <currency/>  
1178 - <decimal/>  
1179 - <group/>  
1180 - <length>-1</length>  
1181 - <precision>-1</precision>  
1182 - <trim_type>none</trim_type>  
1183 - </field>  
1184 - <field>  
1185 - <name>sheetname_</name>  
1186 - <variable>&#x24;&#x7b;sheetname&#x7d;</variable>  
1187 - <type>String</type>  
1188 - <format/>  
1189 - <currency/>  
1190 - <decimal/>  
1191 - <group/>  
1192 - <length>-1</length>  
1193 - <precision>-1</precision>  
1194 - <trim_type>none</trim_type>  
1195 - </field>  
1196 - </fields>  
1197 - <cluster_schema/>  
1198 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1199 - <xloc>301</xloc>  
1200 - <yloc>52</yloc>  
1201 - <draw>Y</draw>  
1202 - </GUI>  
1203 - </step>  
1204 -  
1205 - <step>  
1206 - <name>&#x83b7;&#x53d6;normalize&#x5b57;&#x6bb5;&#x540d;&#x5b57;&#x7b26;&#x4e32;</name>  
1207 - <type>GetVariable</type>  
1208 - <description/>  
1209 - <distribute>Y</distribute>  
1210 - <custom_distribution/>  
1211 - <copies>1</copies>  
1212 - <partitioning>  
1213 - <method>none</method>  
1214 - <schema_name/>  
1215 - </partitioning>  
1216 - <fields>  
1217 - <field>  
1218 - <name>normalizefieldnames_</name>  
1219 - <variable>&#x24;&#x7b;normalizefieldnames&#x7d;</variable>  
1220 - <type>String</type>  
1221 - <format/>  
1222 - <currency/>  
1223 - <decimal/>  
1224 - <group/>  
1225 - <length>-1</length>  
1226 - <precision>-1</precision>  
1227 - <trim_type>none</trim_type>  
1228 - </field>  
1229 - </fields>  
1230 - <cluster_schema/>  
1231 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1232 - <xloc>261</xloc>  
1233 - <yloc>251</yloc>  
1234 - <draw>Y</draw>  
1235 - </GUI>  
1236 - </step>  
1237 -  
1238 - <step>  
1239 - <name>&#x83b7;&#x53d6;&#x65f6;&#x523b;&#x8868;id</name>  
1240 - <type>GetVariable</type>  
1241 - <description/>  
1242 - <distribute>Y</distribute>  
1243 - <custom_distribution/>  
1244 - <copies>1</copies>  
1245 - <partitioning>  
1246 - <method>none</method>  
1247 - <schema_name/>  
1248 - </partitioning>  
1249 - <fields>  
1250 - <field>  
1251 - <name>ttid_</name>  
1252 - <variable>&#x24;&#x7b;ttid&#x7d;</variable>  
1253 - <type>Integer</type>  
1254 - <format/>  
1255 - <currency/>  
1256 - <decimal/>  
1257 - <group/>  
1258 - <length>-1</length>  
1259 - <precision>-1</precision>  
1260 - <trim_type>none</trim_type>  
1261 - </field>  
1262 - </fields>  
1263 - <cluster_schema/>  
1264 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1265 - <xloc>608</xloc>  
1266 - <yloc>16</yloc>  
1267 - <draw>Y</draw>  
1268 - </GUI>  
1269 - </step>  
1270 -  
1271 - <step>  
1272 - <name>&#x83b7;&#x53d6;&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;</name>  
1273 - <type>GetVariable</type>  
1274 - <description/>  
1275 - <distribute>Y</distribute>  
1276 - <custom_distribution/>  
1277 - <copies>1</copies>  
1278 - <partitioning>  
1279 - <method>none</method>  
1280 - <schema_name/>  
1281 - </partitioning>  
1282 - <fields>  
1283 - <field>  
1284 - <name>ttinfoname_</name>  
1285 - <variable>&#x24;&#x7b;ttinfoname&#x7d;</variable>  
1286 - <type>String</type>  
1287 - <format/>  
1288 - <currency/>  
1289 - <decimal/>  
1290 - <group/>  
1291 - <length>-1</length>  
1292 - <precision>-1</precision>  
1293 - <trim_type>none</trim_type>  
1294 - </field>  
1295 - </fields>  
1296 - <cluster_schema/>  
1297 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1298 - <xloc>474</xloc>  
1299 - <yloc>601</yloc>  
1300 - <draw>Y</draw>  
1301 - </GUI>  
1302 - </step>  
1303 -  
1304 - <step>  
1305 - <name>&#x83b7;&#x53d6;&#x7ebf;&#x8def;&#x540d;&#x79f0;</name>  
1306 - <type>GetVariable</type>  
1307 - <description/>  
1308 - <distribute>Y</distribute>  
1309 - <custom_distribution/>  
1310 - <copies>1</copies>  
1311 - <partitioning>  
1312 - <method>none</method>  
1313 - <schema_name/>  
1314 - </partitioning>  
1315 - <fields>  
1316 - <field>  
1317 - <name>xlname_</name>  
1318 - <variable>&#x24;&#x7b;xlname&#x7d;</variable>  
1319 - <type>String</type>  
1320 - <format/>  
1321 - <currency/>  
1322 - <decimal/>  
1323 - <group/>  
1324 - <length>-1</length>  
1325 - <precision>-1</precision>  
1326 - <trim_type>none</trim_type>  
1327 - </field>  
1328 - </fields>  
1329 - <cluster_schema/>  
1330 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1331 - <xloc>184</xloc>  
1332 - <yloc>342</yloc>  
1333 - <draw>Y</draw>  
1334 - </GUI>  
1335 - </step>  
1336 -  
1337 - <step>  
1338 - <name>&#x83b7;&#x53d6;&#x7ebf;&#x8def;&#x6807;&#x51c6;id</name>  
1339 - <type>GetVariable</type>  
1340 - <description/>  
1341 - <distribute>Y</distribute>  
1342 - <custom_distribution/>  
1343 - <copies>1</copies>  
1344 - <partitioning>  
1345 - <method>none</method>  
1346 - <schema_name/>  
1347 - </partitioning>  
1348 - <fields>  
1349 - <field>  
1350 - <name>lineinfoid_</name>  
1351 - <variable>&#x24;&#x7b;lineinfoid&#x7d;</variable>  
1352 - <type>Integer</type>  
1353 - <format/>  
1354 - <currency/>  
1355 - <decimal/>  
1356 - <group/>  
1357 - <length>-1</length>  
1358 - <precision>-1</precision>  
1359 - <trim_type>none</trim_type>  
1360 - </field>  
1361 - </fields>  
1362 - <cluster_schema/>  
1363 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1364 - <xloc>74</xloc>  
1365 - <yloc>468</yloc>  
1366 - <draw>Y</draw>  
1367 - </GUI>  
1368 - </step>  
1369 -  
1370 - <step>  
1371 - <name>&#x9017;&#x53f7;&#x5207;&#x5206;&#x6210;&#x5b57;&#x6bb5;&#x540d;</name>  
1372 - <type>SplitFieldToRows3</type>  
1373 - <description/>  
1374 - <distribute>Y</distribute>  
1375 - <custom_distribution/>  
1376 - <copies>1</copies>  
1377 - <partitioning>  
1378 - <method>none</method>  
1379 - <schema_name/>  
1380 - </partitioning>  
1381 - <splitfield>fieldnames</splitfield>  
1382 - <delimiter>,</delimiter>  
1383 - <newfield>fieldname</newfield>  
1384 - <rownum>N</rownum>  
1385 - <rownum_field/>  
1386 - <resetrownumber>Y</resetrownumber>  
1387 - <delimiter_is_regex>N</delimiter_is_regex>  
1388 - <cluster_schema/>  
1389 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1390 - <xloc>442</xloc>  
1391 - <yloc>153</yloc>  
1392 - <draw>Y</draw>  
1393 - </GUI>  
1394 - </step>  
1395 -  
1396 - <step>  
1397 - <name>&#x9017;&#x53f7;&#x5207;&#x5206;&#x6210;&#x5b57;&#x6bb5;&#x540d; 2</name>  
1398 - <type>SplitFieldToRows3</type>  
1399 - <description/>  
1400 - <distribute>Y</distribute>  
1401 - <custom_distribution/>  
1402 - <copies>1</copies>  
1403 - <partitioning>  
1404 - <method>none</method>  
1405 - <schema_name/>  
1406 - </partitioning>  
1407 - <splitfield>normalizefieldnames_</splitfield>  
1408 - <delimiter>,</delimiter>  
1409 - <newfield>nfieldname</newfield>  
1410 - <rownum>N</rownum>  
1411 - <rownum_field/>  
1412 - <resetrownumber>Y</resetrownumber>  
1413 - <delimiter_is_regex>N</delimiter_is_regex>  
1414 - <cluster_schema/>  
1415 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1416 - <xloc>444</xloc>  
1417 - <yloc>247</yloc>  
1418 - <draw>Y</draw>  
1419 - </GUI>  
1420 - </step>  
1421 -  
1422 - <step>  
1423 - <name>&#x589e;&#x52a0;&#x7ad9;&#x70b9;&#x8def;&#x7531;&#x7248;&#x672c; metadata</name>  
1424 - <type>Constant</type>  
1425 - <description/>  
1426 - <distribute>Y</distribute>  
1427 - <custom_distribution/>  
1428 - <copies>1</copies>  
1429 - <partitioning>  
1430 - <method>none</method>  
1431 - <schema_name/>  
1432 - </partitioning>  
1433 - <fields>  
1434 - <field>  
1435 - <name>col_name</name>  
1436 - <type>String</type>  
1437 - <format/>  
1438 - <currency/>  
1439 - <decimal/>  
1440 - <group/>  
1441 - <nullif>zdlyversion_</nullif>  
1442 - <length>-1</length>  
1443 - <precision>-1</precision>  
1444 - <set_empty_string>N</set_empty_string>  
1445 - </field>  
1446 - <field>  
1447 - <name>col_type</name>  
1448 - <type>String</type>  
1449 - <format/>  
1450 - <currency/>  
1451 - <decimal/>  
1452 - <group/>  
1453 - <nullif>String</nullif>  
1454 - <length>-1</length>  
1455 - <precision>-1</precision>  
1456 - <set_empty_string>N</set_empty_string>  
1457 - </field>  
1458 - <field>  
1459 - <name>col_value</name>  
1460 - <type>String</type>  
1461 - <format/>  
1462 - <currency/>  
1463 - <decimal/>  
1464 - <group/>  
1465 - <nullif>replace</nullif>  
1466 - <length>-1</length>  
1467 - <precision>-1</precision>  
1468 - <set_empty_string>N</set_empty_string>  
1469 - </field>  
1470 - </fields>  
1471 - <cluster_schema/>  
1472 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1473 - <xloc>390</xloc>  
1474 - <yloc>532</yloc>  
1475 - <draw>Y</draw>  
1476 - </GUI>  
1477 - </step>  
1478 -  
1479 - <step>  
1480 - <name>&#x66ff;&#x6362;&#x7ad9;&#x70b9;&#x8def;&#x7531;&#x7248;&#x672c;</name>  
1481 - <type>SetValueField</type>  
1482 - <description/>  
1483 - <distribute>Y</distribute>  
1484 - <custom_distribution/>  
1485 - <copies>1</copies>  
1486 - <partitioning>  
1487 - <method>none</method>  
1488 - <schema_name/>  
1489 - </partitioning>  
1490 - <fields>  
1491 - <field>  
1492 - <name>col_value</name>  
1493 - <replaceby>zdlyversion_</replaceby>  
1494 - </field>  
1495 - </fields>  
1496 - <cluster_schema/>  
1497 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1498 - <xloc>594</xloc>  
1499 - <yloc>532</yloc>  
1500 - <draw>Y</draw>  
1501 - </GUI>  
1502 - </step>  
1503 -  
1504 - <step>  
1505 - <name>&#x7ad9;&#x70b9;&#x8def;&#x7531;&#x7248;&#x672c;metadata&#x5b57;&#x6bb5;</name>  
1506 - <type>SelectValues</type>  
1507 - <description/>  
1508 - <distribute>Y</distribute>  
1509 - <custom_distribution/>  
1510 - <copies>1</copies>  
1511 - <partitioning>  
1512 - <method>none</method>  
1513 - <schema_name/>  
1514 - </partitioning>  
1515 - <fields> <field> <name>col_name</name>  
1516 - <rename/>  
1517 - <length>-2</length>  
1518 - <precision>-2</precision>  
1519 - </field> <field> <name>col_type</name>  
1520 - <rename/>  
1521 - <length>-2</length>  
1522 - <precision>-2</precision>  
1523 - </field> <field> <name>col_value</name>  
1524 - <rename/>  
1525 - <length>-2</length>  
1526 - <precision>-2</precision>  
1527 - </field> <select_unspecified>N</select_unspecified>  
1528 - </fields> <cluster_schema/>  
1529 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1530 - <xloc>741</xloc>  
1531 - <yloc>533</yloc>  
1532 - <draw>Y</draw>  
1533 - </GUI>  
1534 - </step>  
1535 -  
1536 - <step>  
1537 - <name>&#x83b7;&#x53d6;&#x7ad9;&#x70b9;&#x8def;&#x7531;version</name>  
1538 - <type>GetVariable</type>  
1539 - <description/>  
1540 - <distribute>Y</distribute>  
1541 - <custom_distribution/>  
1542 - <copies>1</copies>  
1543 - <partitioning>  
1544 - <method>none</method>  
1545 - <schema_name/>  
1546 - </partitioning>  
1547 - <fields>  
1548 - <field>  
1549 - <name>zdlyversion_</name>  
1550 - <variable>&#x24;&#x7b;zdlyversion&#x7d;</variable>  
1551 - <type>String</type>  
1552 - <format/>  
1553 - <currency/>  
1554 - <decimal/>  
1555 - <group/>  
1556 - <length>-1</length>  
1557 - <precision>-1</precision>  
1558 - <trim_type>none</trim_type>  
1559 - </field>  
1560 - </fields>  
1561 - <cluster_schema/>  
1562 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1563 - <xloc>187</xloc>  
1564 - <yloc>534</yloc>  
1565 - <draw>Y</draw>  
1566 - </GUI>  
1567 - </step>  
1568 -  
1569 - <step_error_handling>  
1570 - </step_error_handling>  
1571 - <slave-step-copy-partition-distribution>  
1572 -</slave-step-copy-partition-distribution>  
1573 - <slave_transformation>N</slave_transformation>  
1574 -  
1575 -</transformation> 1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<transformation>
  3 + <info>
  4 + <name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x5bfc;&#x5165;&#x5143;&#x6570;&#x636e;</name>
  5 + <description/>
  6 + <extended_description/>
  7 + <trans_version/>
  8 + <trans_type>Normal</trans_type>
  9 + <trans_status>0</trans_status>
  10 + <directory>&#x2f;</directory>
  11 + <parameters>
  12 + <parameter>
  13 + <name>erroroutputdir</name>
  14 + <default_value>&#x2f;Users&#x2f;xu&#x2f;resource&#x2f;project_code&#x2f;runtime_temp&#x2f;bsth_control_u_d_files&#x2f;erroroutput</default_value>
  15 + <description>ktr step&#x914d;&#x7f6e;&#x7684;&#x9519;&#x8bef;&#x8f93;&#x51fa;&#x76ee;&#x5f55;</description>
  16 + </parameter>
  17 + <parameter>
  18 + <name>excelfieldnames</name>
  19 + <default_value>&#x8def;&#x724c;,&#x51fa;&#x573a;,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;1,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;1,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;2,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;2,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;3,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;3,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;4,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;4,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;5,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;5,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;6,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;6,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;7,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;7,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;8,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;8,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;9,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;9,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;10,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;10,&#x8fdb;&#x573a;</default_value>
  20 + <description>&#x65f6;&#x523b;&#x8868;excel&#x8f93;&#x5165;&#x5b57;&#x6bb5;&#x540d;&#xff0c;&#x4ee5;&#x9017;&#x53f7;&#x8fde;&#x63a5;</description>
  21 + </parameter>
  22 + <parameter>
  23 + <name>filepath</name>
  24 + <default_value>&#x2f;Users&#x2f;xu&#x2f;resource&#x2f;project_code&#x2f;bsth_project&#x2f;bsth_control_etl&#x2f;&#x95f5;&#x884c;&#x516c;&#x4ea4;&#x2f;&#x95f5;&#x884c;26&#x8def;&#x65f6;&#x523b;&#x8868;160630&#x65f6;&#x523b;&#x8868;.xls</default_value>
  25 + <description>&#x5f85;&#x5904;&#x7406;&#x5bfc;&#x5165;&#x7684;excel&#x6587;&#x4ef6;</description>
  26 + </parameter>
  27 + <parameter>
  28 + <name>injectktrfile</name>
  29 + <default_value>&#x2f;Users&#x2f;xu&#x2f;resource&#x2f;project_code&#x2f;bsth_project&#x2f;bsth_control_parent&#x2f;bsth_control&#x2f;src&#x2f;main&#x2f;resources&#x2f;datatools&#x2f;ktrs&#x2f;ttinfodetailDataInput.ktr</default_value>
  30 + <description>&#x6ce8;&#x5165;&#x5143;&#x6570;&#x636e;&#x7684;ktr&#x6587;&#x4ef6;</description>
  31 + </parameter>
  32 + <parameter>
  33 + <name>lineinfoid</name>
  34 + <default_value>1000</default_value>
  35 + <description>&#x7ebf;&#x8def;&#x6807;&#x51c6;id</description>
  36 + </parameter>
  37 + <parameter>
  38 + <name>normalizefieldnames</name>
  39 + <default_value>&#x51fa;&#x573a;,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;1,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;1,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;2,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;2,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;3,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;3,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;4,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;4,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;5,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;5,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;6,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;6,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;7,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;7,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;8,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;8,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;9,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;9,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;10,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;10,&#x8fdb;&#x573a;</default_value>
  40 + <description>&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;&#x5b57;&#x6bb5;&#x540d;&#xff0c;&#x4ee5;&#x9017;&#x53f7;&#x8fde;&#x63a5;</description>
  41 + </parameter>
  42 + <parameter>
  43 + <name>sheetname</name>
  44 + <default_value>&#x5de5;&#x4f5c;&#x8868;1</default_value>
  45 + <description>xls sheet&#x540d;&#x5b57;</description>
  46 + </parameter>
  47 + <parameter>
  48 + <name>tccname</name>
  49 + <default_value>&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;&#x505c;&#x8f66;&#x573a;</default_value>
  50 + <description>&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</description>
  51 + </parameter>
  52 + <parameter>
  53 + <name>ttid</name>
  54 + <default_value>1</default_value>
  55 + <description>&#x65f6;&#x523b;&#x8868;id</description>
  56 + </parameter>
  57 + <parameter>
  58 + <name>ttinfoname</name>
  59 + <default_value>&#x8868;2</default_value>
  60 + <description>&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;</description>
  61 + </parameter>
  62 + <parameter>
  63 + <name>xlid</name>
  64 + <default_value>-999</default_value>
  65 + <description/>
  66 + </parameter>
  67 + <parameter>
  68 + <name>xlname</name>
  69 + <default_value>&#x95f5;&#x884c;26&#x8def;</default_value>
  70 + <description>&#x7ebf;&#x8def;&#x540d;&#x79f0;</description>
  71 + </parameter>
  72 + <parameter>
  73 + <name>zdlyversion</name>
  74 + <default_value>-1</default_value>
  75 + <description/>
  76 + </parameter>
  77 + </parameters>
  78 + <log>
  79 +<trans-log-table><connection/>
  80 +<schema/>
  81 +<table/>
  82 +<size_limit_lines/>
  83 +<interval/>
  84 +<timeout_days/>
  85 +<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>
  86 +<perf-log-table><connection/>
  87 +<schema/>
  88 +<table/>
  89 +<interval/>
  90 +<timeout_days/>
  91 +<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>
  92 +<channel-log-table><connection/>
  93 +<schema/>
  94 +<table/>
  95 +<timeout_days/>
  96 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>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>
  97 +<step-log-table><connection/>
  98 +<schema/>
  99 +<table/>
  100 +<timeout_days/>
  101 +<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>
  102 +<metrics-log-table><connection/>
  103 +<schema/>
  104 +<table/>
  105 +<timeout_days/>
  106 +<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>
  107 + </log>
  108 + <maxdate>
  109 + <connection/>
  110 + <table/>
  111 + <field/>
  112 + <offset>0.0</offset>
  113 + <maxdiff>0.0</maxdiff>
  114 + </maxdate>
  115 + <size_rowset>10000</size_rowset>
  116 + <sleep_time_empty>50</sleep_time_empty>
  117 + <sleep_time_full>50</sleep_time_full>
  118 + <unique_connections>N</unique_connections>
  119 + <feedback_shown>Y</feedback_shown>
  120 + <feedback_size>50000</feedback_size>
  121 + <using_thread_priorities>Y</using_thread_priorities>
  122 + <shared_objects_file/>
  123 + <capture_step_performance>N</capture_step_performance>
  124 + <step_performance_capturing_delay>1000</step_performance_capturing_delay>
  125 + <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit>
  126 + <dependencies>
  127 + </dependencies>
  128 + <partitionschemas>
  129 + </partitionschemas>
  130 + <slaveservers>
  131 + </slaveservers>
  132 + <clusterschemas>
  133 + </clusterschemas>
  134 + <created_user>-</created_user>
  135 + <created_date>2016&#x2f;07&#x2f;01 09&#x3a;55&#x3a;32.649</created_date>
  136 + <modified_user>-</modified_user>
  137 + <modified_date>2016&#x2f;07&#x2f;01 09&#x3a;55&#x3a;32.649</modified_date>
  138 + <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</key_for_session_key>
  139 + <is_key_private>N</is_key_private>
  140 + </info>
  141 + <notepads>
  142 + </notepads>
  143 + <connection>
  144 + <name>192.168.168.1_jwgl_dw</name>
  145 + <server>192.168.168.1</server>
  146 + <type>ORACLE</type>
  147 + <access>Native</access>
  148 + <database>orcl</database>
  149 + <port>1521</port>
  150 + <username>jwgl_dw</username>
  151 + <password>Encrypted 2be98afc86aa7f2e4cb13b977d2adabcd</password>
  152 + <servername/>
  153 + <data_tablespace/>
  154 + <index_tablespace/>
  155 + <attributes>
  156 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  157 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  158 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  159 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  160 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  161 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  162 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  163 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  164 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  165 + </attributes>
  166 + </connection>
  167 + <connection>
  168 + <name>bus_control_variable</name>
  169 + <server>&#x24;&#x7b;v_db_ip&#x7d;</server>
  170 + <type>MYSQL</type>
  171 + <access>Native</access>
  172 + <database>&#x24;&#x7b;v_db_dname&#x7d;</database>
  173 + <port>3306</port>
  174 + <username>&#x24;&#x7b;v_db_uname&#x7d;</username>
  175 + <password>&#x24;&#x7b;v_db_pwd&#x7d;</password>
  176 + <servername/>
  177 + <data_tablespace/>
  178 + <index_tablespace/>
  179 + <attributes>
  180 + <attribute><code>EXTRA_OPTION_MYSQL.characterEncoding</code><attribute>utf8</attribute></attribute>
  181 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  182 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  183 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  184 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  185 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  186 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  187 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  188 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  189 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  190 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  191 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  192 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  193 + </attributes>
  194 + </connection>
  195 + <connection>
  196 + <name>bus_control_&#x516c;&#x53f8;_201</name>
  197 + <server>localhost</server>
  198 + <type>MYSQL</type>
  199 + <access>Native</access>
  200 + <database>control</database>
  201 + <port>3306</port>
  202 + <username>root</username>
  203 + <password>Encrypted </password>
  204 + <servername/>
  205 + <data_tablespace/>
  206 + <index_tablespace/>
  207 + <attributes>
  208 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  209 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  210 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  211 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  212 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  213 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  214 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  215 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  216 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  217 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  218 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  219 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  220 + </attributes>
  221 + </connection>
  222 + <connection>
  223 + <name>bus_control_&#x672c;&#x673a;</name>
  224 + <server>localhost</server>
  225 + <type>MYSQL</type>
  226 + <access>Native</access>
  227 + <database>control</database>
  228 + <port>3306</port>
  229 + <username>root</username>
  230 + <password>Encrypted </password>
  231 + <servername/>
  232 + <data_tablespace/>
  233 + <index_tablespace/>
  234 + <attributes>
  235 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  236 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  237 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  238 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  239 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  240 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  241 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  242 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  243 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  244 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  245 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  246 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  247 + </attributes>
  248 + </connection>
  249 + <connection>
  250 + <name>xlab_mysql_youle</name>
  251 + <server>101.231.124.8</server>
  252 + <type>MYSQL</type>
  253 + <access>Native</access>
  254 + <database>xlab_youle</database>
  255 + <port>45687</port>
  256 + <username>xlab-youle</username>
  257 + <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password>
  258 + <servername/>
  259 + <data_tablespace/>
  260 + <index_tablespace/>
  261 + <attributes>
  262 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  263 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  264 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  265 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  266 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  267 + <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute>
  268 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  269 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  270 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  271 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  272 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  273 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  274 + </attributes>
  275 + </connection>
  276 + <connection>
  277 + <name>xlab_mysql_youle&#xff08;&#x672c;&#x673a;&#xff09;</name>
  278 + <server>localhost</server>
  279 + <type>MYSQL</type>
  280 + <access>Native</access>
  281 + <database>xlab_youle</database>
  282 + <port>3306</port>
  283 + <username>root</username>
  284 + <password>Encrypted </password>
  285 + <servername/>
  286 + <data_tablespace/>
  287 + <index_tablespace/>
  288 + <attributes>
  289 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  290 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  291 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  292 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  293 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  294 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  295 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  296 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  297 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  298 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  299 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  300 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  301 + </attributes>
  302 + </connection>
  303 + <connection>
  304 + <name>xlab_youle</name>
  305 + <server/>
  306 + <type>MYSQL</type>
  307 + <access>JNDI</access>
  308 + <database>xlab_youle</database>
  309 + <port>1521</port>
  310 + <username/>
  311 + <password>Encrypted </password>
  312 + <servername/>
  313 + <data_tablespace/>
  314 + <index_tablespace/>
  315 + <attributes>
  316 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  317 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  318 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  319 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  320 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  321 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  322 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  323 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  324 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  325 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  326 + </attributes>
  327 + </connection>
  328 + <order>
  329 + <hop> <from>&#x83b7;&#x53d6;excel&#x6587;&#x4ef6;&#x540d;</from><to>ETL&#x5143;&#x6570;&#x636e;&#x6ce8;&#x5165;</to><enabled>Y</enabled> </hop>
  330 + <hop> <from>&#x83b7;&#x53d6;excel&#x5b57;&#x6bb5;&#x540d;&#x5b57;&#x7b26;&#x4e32;</from><to>&#x9017;&#x53f7;&#x5207;&#x5206;&#x6210;&#x5b57;&#x6bb5;&#x540d;</to><enabled>Y</enabled> </hop>
  331 + <hop> <from>&#x9017;&#x53f7;&#x5207;&#x5206;&#x6210;&#x5b57;&#x6bb5;&#x540d;</from><to>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
  332 + <hop> <from>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</from><to>ETL&#x5143;&#x6570;&#x636e;&#x6ce8;&#x5165;</to><enabled>Y</enabled> </hop>
  333 + <hop> <from>&#x83b7;&#x53d6;normalize&#x5b57;&#x6bb5;&#x540d;&#x5b57;&#x7b26;&#x4e32;</from><to>&#x9017;&#x53f7;&#x5207;&#x5206;&#x6210;&#x5b57;&#x6bb5;&#x540d; 2</to><enabled>Y</enabled> </hop>
  334 + <hop> <from>&#x9017;&#x53f7;&#x5207;&#x5206;&#x6210;&#x5b57;&#x6bb5;&#x540d; 2</from><to>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
  335 + <hop> <from>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</from><to>ETL&#x5143;&#x6570;&#x636e;&#x6ce8;&#x5165;</to><enabled>Y</enabled> </hop>
  336 + <hop> <from>&#x83b7;&#x53d6;&#x7ebf;&#x8def;&#x540d;&#x79f0;</from><to>&#x589e;&#x52a0;&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata</to><enabled>Y</enabled> </hop>
  337 + <hop> <from>&#x589e;&#x52a0;&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata</from><to>&#x66ff;&#x6362;&#x7ebf;&#x8def;&#x540d;&#x79f0;</to><enabled>Y</enabled> </hop>
  338 + <hop> <from>&#x66ff;&#x6362;&#x7ebf;&#x8def;&#x540d;&#x79f0;</from><to>&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</to><enabled>Y</enabled> </hop>
  339 + <hop> <from>&#x589e;&#x52a0;&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata</from><to>&#x66ff;&#x6362;&#x505c;&#x8f66;&#x5382;&#x540d;&#x5b57; </to><enabled>Y</enabled> </hop>
  340 + <hop> <from>&#x66ff;&#x6362;&#x505c;&#x8f66;&#x5382;&#x540d;&#x5b57; </from><to>&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</to><enabled>Y</enabled> </hop>
  341 + <hop> <from>&#x83b7;&#x53d6;&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;</from><to>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;metadata</to><enabled>Y</enabled> </hop>
  342 + <hop> <from>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;metadata</from><to>&#x66ff;&#x6362;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;</to><enabled>Y</enabled> </hop>
  343 + <hop> <from>&#x66ff;&#x6362;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;</from><to>&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</to><enabled>Y</enabled> </hop>
  344 + <hop> <from>&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</from><to>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</to><enabled>Y</enabled> </hop>
  345 + <hop> <from>&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</from><to>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</to><enabled>Y</enabled> </hop>
  346 + <hop> <from>&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</from><to>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</to><enabled>Y</enabled> </hop>
  347 + <hop> <from>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</from><to>ETL&#x5143;&#x6570;&#x636e;&#x6ce8;&#x5165;</to><enabled>Y</enabled> </hop>
  348 + <hop> <from>&#x83b7;&#x53d6;&#x65f6;&#x523b;&#x8868;id</from><to>&#x5220;&#x9664;&#x4e4b;&#x524d;&#x7684;&#x660e;&#x7ec6;&#x4fe1;&#x606f;</to><enabled>Y</enabled> </hop>
  349 + <hop> <from>&#x83b7;&#x53d6;&#x7ebf;&#x8def;&#x6807;&#x51c6;id</from><to>&#x505c;&#x8f66;&#x573a;&#x7f16;&#x7801;</to><enabled>Y</enabled> </hop>
  350 + <hop> <from>&#x505c;&#x8f66;&#x573a;&#x7f16;&#x7801;</from><to>&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;</to><enabled>Y</enabled> </hop>
  351 + <hop> <from>&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;</from><to>&#x589e;&#x52a0;&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata</to><enabled>Y</enabled> </hop>
  352 + <hop> <from>&#x589e;&#x52a0;&#x7ad9;&#x70b9;&#x8def;&#x7531;&#x7248;&#x672c; metadata</from><to>&#x66ff;&#x6362;&#x7ad9;&#x70b9;&#x8def;&#x7531;&#x7248;&#x672c;</to><enabled>Y</enabled> </hop>
  353 + <hop> <from>&#x66ff;&#x6362;&#x7ad9;&#x70b9;&#x8def;&#x7531;&#x7248;&#x672c;</from><to>&#x7ad9;&#x70b9;&#x8def;&#x7531;&#x7248;&#x672c;metadata&#x5b57;&#x6bb5;</to><enabled>Y</enabled> </hop>
  354 + <hop> <from>&#x83b7;&#x53d6;&#x7ad9;&#x70b9;&#x8def;&#x7531;version</from><to>&#x589e;&#x52a0;&#x7ad9;&#x70b9;&#x8def;&#x7531;&#x7248;&#x672c; metadata</to><enabled>Y</enabled> </hop>
  355 + <hop> <from>&#x7ad9;&#x70b9;&#x8def;&#x7531;&#x7248;&#x672c;metadata&#x5b57;&#x6bb5;</from><to>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</to><enabled>Y</enabled> </hop>
  356 + </order>
  357 + <step>
  358 + <name>ETL&#x5143;&#x6570;&#x636e;&#x6ce8;&#x5165;</name>
  359 + <type>MetaInject</type>
  360 + <description/>
  361 + <distribute>Y</distribute>
  362 + <custom_distribution/>
  363 + <copies>1</copies>
  364 + <partitioning>
  365 + <method>none</method>
  366 + <schema_name/>
  367 + </partitioning>
  368 + <specification_method>filename</specification_method>
  369 + <trans_object_id/>
  370 + <trans_name/>
  371 + <filename>&#x24;&#x7b;injectktrfile&#x7d;</filename>
  372 + <directory_path/>
  373 + <source_step/>
  374 + <source_output_fields> </source_output_fields> <target_file/>
  375 + <no_execution>N</no_execution>
  376 + <stream_source_step/>
  377 + <stream_target_step/>
  378 + <mappings> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>
  379 + <target_attribute_key>FORMAT</target_attribute_key>
  380 + <target_detail>Y</target_detail>
  381 + <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>
  382 + <source_field>format</source_field>
  383 + </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>
  384 + <target_attribute_key>REPEAT</target_attribute_key>
  385 + <target_detail>Y</target_detail>
  386 + <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>
  387 + <source_field>repeat</source_field>
  388 + </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>
  389 + <target_attribute_key>TRIM_TYPE</target_attribute_key>
  390 + <target_detail>Y</target_detail>
  391 + <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>
  392 + <source_field>trim_type</source_field>
  393 + </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>
  394 + <target_attribute_key>FILENAME</target_attribute_key>
  395 + <target_detail>Y</target_detail>
  396 + <source_step>&#x83b7;&#x53d6;excel&#x6587;&#x4ef6;&#x540d;</source_step>
  397 + <source_field>filepath_</source_field>
  398 + </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>
  399 + <target_attribute_key>PRECISION</target_attribute_key>
  400 + <target_detail>Y</target_detail>
  401 + <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>
  402 + <source_field>precision</source_field>
  403 + </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>
  404 + <target_attribute_key>TYPE</target_attribute_key>
  405 + <target_detail>Y</target_detail>
  406 + <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>
  407 + <source_field>type</source_field>
  408 + </mapping> <mapping> <target_step_name>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;&#xff0c;&#x7ebf;&#x8def;&#x540d;&#x5b57;&#xff0c;&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</target_step_name>
  409 + <target_attribute_key>DATA_VALUE</target_attribute_key>
  410 + <target_detail>Y</target_detail>
  411 + <source_step>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</source_step>
  412 + <source_field>col_value</source_field>
  413 + </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>
  414 + <target_attribute_key>LENGTH</target_attribute_key>
  415 + <target_detail>Y</target_detail>
  416 + <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>
  417 + <source_field>length</source_field>
  418 + </mapping> <mapping> <target_step_name>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;&#xff0c;&#x7ebf;&#x8def;&#x540d;&#x5b57;&#xff0c;&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</target_step_name>
  419 + <target_attribute_key>TYPE</target_attribute_key>
  420 + <target_detail>Y</target_detail>
  421 + <source_step>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</source_step>
  422 + <source_field>col_type</source_field>
  423 + </mapping> <mapping> <target_step_name>&#x884c;&#x8f6c;&#x5217;</target_step_name>
  424 + <target_attribute_key>NAME</target_attribute_key>
  425 + <target_detail>Y</target_detail>
  426 + <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c; 2</source_step>
  427 + <source_field>fieldName</source_field>
  428 + </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>
  429 + <target_attribute_key>NAME</target_attribute_key>
  430 + <target_detail>Y</target_detail>
  431 + <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>
  432 + <source_field>fieldname</source_field>
  433 + </mapping> <mapping> <target_step_name>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</target_step_name>
  434 + <target_attribute_key>NAME</target_attribute_key>
  435 + <target_detail>Y</target_detail>
  436 + <source_step>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</source_step>
  437 + <source_field>nfieldname</source_field>
  438 + </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>
  439 + <target_attribute_key>LENGTH</target_attribute_key>
  440 + <target_detail>Y</target_detail>
  441 + <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>
  442 + <source_field>length</source_field>
  443 + </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>
  444 + <target_attribute_key>SHEET_NAME</target_attribute_key>
  445 + <target_detail>Y</target_detail>
  446 + <source_step>&#x83b7;&#x53d6;excel&#x6587;&#x4ef6;&#x540d;</source_step>
  447 + <source_field>sheetname_</source_field>
  448 + </mapping> <mapping> <target_step_name>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;&#xff0c;&#x7ebf;&#x8def;&#x540d;&#x5b57;&#xff0c;&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</target_step_name>
  449 + <target_attribute_key>NAME</target_attribute_key>
  450 + <target_detail>Y</target_detail>
  451 + <source_step>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</source_step>
  452 + <source_field>col_name</source_field>
  453 + </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>
  454 + <target_attribute_key>TYPE</target_attribute_key>
  455 + <target_detail>Y</target_detail>
  456 + <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>
  457 + <source_field>fieldtype</source_field>
  458 + </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>
  459 + <target_attribute_key>NAME</target_attribute_key>
  460 + <target_detail>Y</target_detail>
  461 + <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>
  462 + <source_field>fieldName</source_field>
  463 + </mapping> <mapping> <target_step_name>&#x884c;&#x8f6c;&#x5217;</target_step_name>
  464 + <target_attribute_key>VALUE</target_attribute_key>
  465 + <target_detail>Y</target_detail>
  466 + <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c; 2</source_step>
  467 + <source_field>fieldName</source_field>
  468 + </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>
  469 + <target_attribute_key>TRIM_TYPE</target_attribute_key>
  470 + <target_detail>Y</target_detail>
  471 + <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>
  472 + <source_field>trim_type</source_field>
  473 + </mapping> <mapping> <target_step_name>&#x884c;&#x8f6c;&#x5217;</target_step_name>
  474 + <target_attribute_key>NORMALISED</target_attribute_key>
  475 + <target_detail>Y</target_detail>
  476 + <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c; 2</source_step>
  477 + <source_field>value</source_field>
  478 + </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>
  479 + <target_attribute_key>REPEAT</target_attribute_key>
  480 + <target_detail>Y</target_detail>
  481 + <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>
  482 + <source_field>repeat</source_field>
  483 + </mapping> <mapping> <target_step_name>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</target_step_name>
  484 + <target_attribute_key>NORMALISED</target_attribute_key>
  485 + <target_detail>Y</target_detail>
  486 + <source_step>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</source_step>
  487 + <source_field>valuefield</source_field>
  488 + </mapping> <mapping> <target_step_name>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</target_step_name>
  489 + <target_attribute_key>VALUE</target_attribute_key>
  490 + <target_detail>Y</target_detail>
  491 + <source_step>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</source_step>
  492 + <source_field>nfieldname</source_field>
  493 + </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>
  494 + <target_attribute_key>FORMAT</target_attribute_key>
  495 + <target_detail>Y</target_detail>
  496 + <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>
  497 + <source_field>format</source_field>
  498 + </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>
  499 + <target_attribute_key>PRECISION</target_attribute_key>
  500 + <target_detail>Y</target_detail>
  501 + <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>
  502 + <source_field>precision</source_field>
  503 + </mapping> </mappings> <cluster_schema/>
  504 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  505 + <xloc>876</xloc>
  506 + <yloc>167</yloc>
  507 + <draw>Y</draw>
  508 + </GUI>
  509 + </step>
  510 +
  511 + <step>
  512 + <name>&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;</name>
  513 + <type>DBLookup</type>
  514 + <description/>
  515 + <distribute>Y</distribute>
  516 + <custom_distribution/>
  517 + <copies>1</copies>
  518 + <partitioning>
  519 + <method>none</method>
  520 + <schema_name/>
  521 + </partitioning>
  522 + <connection>bus_control_variable</connection>
  523 + <cache>N</cache>
  524 + <cache_load_all>N</cache_load_all>
  525 + <cache_size>0</cache_size>
  526 + <lookup>
  527 + <schema/>
  528 + <table>bsth_c_car_park</table>
  529 + <orderby/>
  530 + <fail_on_multiple>N</fail_on_multiple>
  531 + <eat_row_on_failure>N</eat_row_on_failure>
  532 + <key>
  533 + <name>car_park</name>
  534 + <field>park_code</field>
  535 + <condition>&#x3d;</condition>
  536 + <name2/>
  537 + </key>
  538 + <value>
  539 + <name>park_name</name>
  540 + <rename>tccname_</rename>
  541 + <default/>
  542 + <type>String</type>
  543 + </value>
  544 + </lookup>
  545 + <cluster_schema/>
  546 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  547 + <xloc>319</xloc>
  548 + <yloc>468</yloc>
  549 + <draw>Y</draw>
  550 + </GUI>
  551 + </step>
  552 +
  553 + <step>
  554 + <name>&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</name>
  555 + <type>SelectValues</type>
  556 + <description/>
  557 + <distribute>Y</distribute>
  558 + <custom_distribution/>
  559 + <copies>1</copies>
  560 + <partitioning>
  561 + <method>none</method>
  562 + <schema_name/>
  563 + </partitioning>
  564 + <fields> <field> <name>col_name</name>
  565 + <rename/>
  566 + <length>-2</length>
  567 + <precision>-2</precision>
  568 + </field> <field> <name>col_type</name>
  569 + <rename/>
  570 + <length>-2</length>
  571 + <precision>-2</precision>
  572 + </field> <field> <name>col_value</name>
  573 + <rename/>
  574 + <length>-2</length>
  575 + <precision>-2</precision>
  576 + </field> <select_unspecified>N</select_unspecified>
  577 + </fields> <cluster_schema/>
  578 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  579 + <xloc>743</xloc>
  580 + <yloc>470</yloc>
  581 + <draw>Y</draw>
  582 + </GUI>
  583 + </step>
  584 +
  585 + <step>
  586 + <name>&#x505c;&#x8f66;&#x573a;&#x7f16;&#x7801;</name>
  587 + <type>DBLookup</type>
  588 + <description/>
  589 + <distribute>Y</distribute>
  590 + <custom_distribution/>
  591 + <copies>1</copies>
  592 + <partitioning>
  593 + <method>none</method>
  594 + <schema_name/>
  595 + </partitioning>
  596 + <connection>bus_control_variable</connection>
  597 + <cache>N</cache>
  598 + <cache_load_all>N</cache_load_all>
  599 + <cache_size>0</cache_size>
  600 + <lookup>
  601 + <schema/>
  602 + <table>bsth_c_line_information</table>
  603 + <orderby/>
  604 + <fail_on_multiple>N</fail_on_multiple>
  605 + <eat_row_on_failure>N</eat_row_on_failure>
  606 + <key>
  607 + <name>lineinfoid_</name>
  608 + <field>id</field>
  609 + <condition>&#x3d;</condition>
  610 + <name2/>
  611 + </key>
  612 + <value>
  613 + <name>car_park</name>
  614 + <rename>car_park</rename>
  615 + <default/>
  616 + <type>String</type>
  617 + </value>
  618 + </lookup>
  619 + <cluster_schema/>
  620 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  621 + <xloc>182</xloc>
  622 + <yloc>467</yloc>
  623 + <draw>Y</draw>
  624 + </GUI>
  625 + </step>
  626 +
  627 + <step>
  628 + <name>&#x5220;&#x9664;&#x4e4b;&#x524d;&#x7684;&#x660e;&#x7ec6;&#x4fe1;&#x606f;</name>
  629 + <type>ExecSQL</type>
  630 + <description/>
  631 + <distribute>Y</distribute>
  632 + <custom_distribution/>
  633 + <copies>1</copies>
  634 + <partitioning>
  635 + <method>none</method>
  636 + <schema_name/>
  637 + </partitioning>
  638 + <connection>bus_control_variable</connection>
  639 + <execute_each_row>Y</execute_each_row>
  640 + <single_statement>N</single_statement>
  641 + <replace_variables>N</replace_variables>
  642 + <quoteString>N</quoteString>
  643 + <sql>delete from bsth_c_s_ttinfo_detail where ttinfo &#x3d; &#x3f;</sql>
  644 + <set_params>N</set_params>
  645 + <insert_field/>
  646 + <update_field/>
  647 + <delete_field/>
  648 + <read_field/>
  649 + <arguments>
  650 + <argument><name>ttid_</name></argument>
  651 + </arguments>
  652 + <cluster_schema/>
  653 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  654 + <xloc>808</xloc>
  655 + <yloc>16</yloc>
  656 + <draw>Y</draw>
  657 + </GUI>
  658 + </step>
  659 +
  660 + <step>
  661 + <name>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</name>
  662 + <type>Dummy</type>
  663 + <description/>
  664 + <distribute>Y</distribute>
  665 + <custom_distribution/>
  666 + <copies>1</copies>
  667 + <partitioning>
  668 + <method>none</method>
  669 + <schema_name/>
  670 + </partitioning>
  671 + <cluster_schema/>
  672 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  673 + <xloc>883</xloc>
  674 + <yloc>373</yloc>
  675 + <draw>Y</draw>
  676 + </GUI>
  677 + </step>
  678 +
  679 + <step>
  680 + <name>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</name>
  681 + <type>Constant</type>
  682 + <description/>
  683 + <distribute>Y</distribute>
  684 + <custom_distribution/>
  685 + <copies>1</copies>
  686 + <partitioning>
  687 + <method>none</method>
  688 + <schema_name/>
  689 + </partitioning>
  690 + <fields>
  691 + <field>
  692 + <name>fieldtype</name>
  693 + <type>String</type>
  694 + <format/>
  695 + <currency/>
  696 + <decimal/>
  697 + <group/>
  698 + <nullif>String</nullif>
  699 + <length>-1</length>
  700 + <precision>-1</precision>
  701 + <set_empty_string>N</set_empty_string>
  702 + </field>
  703 + <field>
  704 + <name>length</name>
  705 + <type>String</type>
  706 + <format/>
  707 + <currency/>
  708 + <decimal/>
  709 + <group/>
  710 + <nullif>-1</nullif>
  711 + <length>-1</length>
  712 + <precision>-1</precision>
  713 + <set_empty_string>N</set_empty_string>
  714 + </field>
  715 + <field>
  716 + <name>precision</name>
  717 + <type>String</type>
  718 + <format/>
  719 + <currency/>
  720 + <decimal/>
  721 + <group/>
  722 + <nullif>-1</nullif>
  723 + <length>-1</length>
  724 + <precision>-1</precision>
  725 + <set_empty_string>N</set_empty_string>
  726 + </field>
  727 + <field>
  728 + <name>trim_type</name>
  729 + <type>String</type>
  730 + <format/>
  731 + <currency/>
  732 + <decimal/>
  733 + <group/>
  734 + <nullif>none</nullif>
  735 + <length>-1</length>
  736 + <precision>-1</precision>
  737 + <set_empty_string>N</set_empty_string>
  738 + </field>
  739 + <field>
  740 + <name>repeat</name>
  741 + <type>String</type>
  742 + <format/>
  743 + <currency/>
  744 + <decimal/>
  745 + <group/>
  746 + <nullif>N</nullif>
  747 + <length>-1</length>
  748 + <precision>-1</precision>
  749 + <set_empty_string>N</set_empty_string>
  750 + </field>
  751 + <field>
  752 + <name>format</name>
  753 + <type>String</type>
  754 + <format/>
  755 + <currency/>
  756 + <decimal/>
  757 + <group/>
  758 + <nullif>&#x23;</nullif>
  759 + <length>-1</length>
  760 + <precision>-1</precision>
  761 + <set_empty_string>N</set_empty_string>
  762 + </field>
  763 + </fields>
  764 + <cluster_schema/>
  765 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  766 + <xloc>622</xloc>
  767 + <yloc>162</yloc>
  768 + <draw>Y</draw>
  769 + </GUI>
  770 + </step>
  771 +
  772 + <step>
  773 + <name>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</name>
  774 + <type>Constant</type>
  775 + <description/>
  776 + <distribute>Y</distribute>
  777 + <custom_distribution/>
  778 + <copies>1</copies>
  779 + <partitioning>
  780 + <method>none</method>
  781 + <schema_name/>
  782 + </partitioning>
  783 + <fields>
  784 + <field>
  785 + <name>valuefield</name>
  786 + <type>String</type>
  787 + <format/>
  788 + <currency/>
  789 + <decimal/>
  790 + <group/>
  791 + <nullif>&#x53d1;&#x8f66;&#x65f6;&#x95f4;</nullif>
  792 + <length>-1</length>
  793 + <precision>-1</precision>
  794 + <set_empty_string>N</set_empty_string>
  795 + </field>
  796 + </fields>
  797 + <cluster_schema/>
  798 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  799 + <xloc>628</xloc>
  800 + <yloc>247</yloc>
  801 + <draw>Y</draw>
  802 + </GUI>
  803 + </step>
  804 +
  805 + <step>
  806 + <name>&#x589e;&#x52a0;&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata</name>
  807 + <type>Constant</type>
  808 + <description/>
  809 + <distribute>Y</distribute>
  810 + <custom_distribution/>
  811 + <copies>1</copies>
  812 + <partitioning>
  813 + <method>none</method>
  814 + <schema_name/>
  815 + </partitioning>
  816 + <fields>
  817 + <field>
  818 + <name>col_name</name>
  819 + <type>String</type>
  820 + <format/>
  821 + <currency/>
  822 + <decimal/>
  823 + <group/>
  824 + <nullif>tccname_</nullif>
  825 + <length>-1</length>
  826 + <precision>-1</precision>
  827 + <set_empty_string>N</set_empty_string>
  828 + </field>
  829 + <field>
  830 + <name>col_type</name>
  831 + <type>String</type>
  832 + <format/>
  833 + <currency/>
  834 + <decimal/>
  835 + <group/>
  836 + <nullif>String</nullif>
  837 + <length>-1</length>
  838 + <precision>-1</precision>
  839 + <set_empty_string>N</set_empty_string>
  840 + </field>
  841 + <field>
  842 + <name>col_value</name>
  843 + <type>String</type>
  844 + <format/>
  845 + <currency/>
  846 + <decimal/>
  847 + <group/>
  848 + <nullif>replace</nullif>
  849 + <length>-1</length>
  850 + <precision>-1</precision>
  851 + <set_empty_string>N</set_empty_string>
  852 + </field>
  853 + </fields>
  854 + <cluster_schema/>
  855 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  856 + <xloc>461</xloc>
  857 + <yloc>469</yloc>
  858 + <draw>Y</draw>
  859 + </GUI>
  860 + </step>
  861 +
  862 + <step>
  863 + <name>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;metadata</name>
  864 + <type>Constant</type>
  865 + <description/>
  866 + <distribute>Y</distribute>
  867 + <custom_distribution/>
  868 + <copies>1</copies>
  869 + <partitioning>
  870 + <method>none</method>
  871 + <schema_name/>
  872 + </partitioning>
  873 + <fields>
  874 + <field>
  875 + <name>col_name</name>
  876 + <type>String</type>
  877 + <format/>
  878 + <currency/>
  879 + <decimal/>
  880 + <group/>
  881 + <nullif>ttinfoname_</nullif>
  882 + <length>-1</length>
  883 + <precision>-1</precision>
  884 + <set_empty_string>N</set_empty_string>
  885 + </field>
  886 + <field>
  887 + <name>col_type</name>
  888 + <type>String</type>
  889 + <format/>
  890 + <currency/>
  891 + <decimal/>
  892 + <group/>
  893 + <nullif>String</nullif>
  894 + <length>-1</length>
  895 + <precision>-1</precision>
  896 + <set_empty_string>N</set_empty_string>
  897 + </field>
  898 + <field>
  899 + <name>col_value</name>
  900 + <type>String</type>
  901 + <format/>
  902 + <currency/>
  903 + <decimal/>
  904 + <group/>
  905 + <nullif>replace</nullif>
  906 + <length>-1</length>
  907 + <precision>-1</precision>
  908 + <set_empty_string>N</set_empty_string>
  909 + </field>
  910 + </fields>
  911 + <cluster_schema/>
  912 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  913 + <xloc>608</xloc>
  914 + <yloc>601</yloc>
  915 + <draw>Y</draw>
  916 + </GUI>
  917 + </step>
  918 +
  919 + <step>
  920 + <name>&#x589e;&#x52a0;&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata</name>
  921 + <type>Constant</type>
  922 + <description/>
  923 + <distribute>Y</distribute>
  924 + <custom_distribution/>
  925 + <copies>1</copies>
  926 + <partitioning>
  927 + <method>none</method>
  928 + <schema_name/>
  929 + </partitioning>
  930 + <fields>
  931 + <field>
  932 + <name>col_name</name>
  933 + <type>String</type>
  934 + <format/>
  935 + <currency/>
  936 + <decimal/>
  937 + <group/>
  938 + <nullif>xlname_</nullif>
  939 + <length>-1</length>
  940 + <precision>-1</precision>
  941 + <set_empty_string>N</set_empty_string>
  942 + </field>
  943 + <field>
  944 + <name>col_type</name>
  945 + <type>String</type>
  946 + <format/>
  947 + <currency/>
  948 + <decimal/>
  949 + <group/>
  950 + <nullif>String</nullif>
  951 + <length>-1</length>
  952 + <precision>-1</precision>
  953 + <set_empty_string>N</set_empty_string>
  954 + </field>
  955 + <field>
  956 + <name>col_value</name>
  957 + <type>String</type>
  958 + <format/>
  959 + <currency/>
  960 + <decimal/>
  961 + <group/>
  962 + <nullif>replace</nullif>
  963 + <length>-1</length>
  964 + <precision>-1</precision>
  965 + <set_empty_string>N</set_empty_string>
  966 + </field>
  967 + </fields>
  968 + <cluster_schema/>
  969 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  970 + <xloc>383</xloc>
  971 + <yloc>341</yloc>
  972 + <draw>Y</draw>
  973 + </GUI>
  974 + </step>
  975 +
  976 + <step>
  977 + <name>&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</name>
  978 + <type>SelectValues</type>
  979 + <description/>
  980 + <distribute>Y</distribute>
  981 + <custom_distribution/>
  982 + <copies>1</copies>
  983 + <partitioning>
  984 + <method>none</method>
  985 + <schema_name/>
  986 + </partitioning>
  987 + <fields> <field> <name>col_name</name>
  988 + <rename/>
  989 + <length>-2</length>
  990 + <precision>-2</precision>
  991 + </field> <field> <name>col_type</name>
  992 + <rename/>
  993 + <length>-2</length>
  994 + <precision>-2</precision>
  995 + </field> <field> <name>col_value</name>
  996 + <rename/>
  997 + <length>-2</length>
  998 + <precision>-2</precision>
  999 + </field> <select_unspecified>N</select_unspecified>
  1000 + </fields> <cluster_schema/>
  1001 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1002 + <xloc>888</xloc>
  1003 + <yloc>601</yloc>
  1004 + <draw>Y</draw>
  1005 + </GUI>
  1006 + </step>
  1007 +
  1008 + <step>
  1009 + <name>&#x66ff;&#x6362;&#x505c;&#x8f66;&#x5382;&#x540d;&#x5b57; </name>
  1010 + <type>SetValueField</type>
  1011 + <description/>
  1012 + <distribute>Y</distribute>
  1013 + <custom_distribution/>
  1014 + <copies>1</copies>
  1015 + <partitioning>
  1016 + <method>none</method>
  1017 + <schema_name/>
  1018 + </partitioning>
  1019 + <fields>
  1020 + <field>
  1021 + <name>col_value</name>
  1022 + <replaceby>tccname_</replaceby>
  1023 + </field>
  1024 + </fields>
  1025 + <cluster_schema/>
  1026 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1027 + <xloc>598</xloc>
  1028 + <yloc>471</yloc>
  1029 + <draw>Y</draw>
  1030 + </GUI>
  1031 + </step>
  1032 +
  1033 + <step>
  1034 + <name>&#x66ff;&#x6362;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;</name>
  1035 + <type>SetValueField</type>
  1036 + <description/>
  1037 + <distribute>Y</distribute>
  1038 + <custom_distribution/>
  1039 + <copies>1</copies>
  1040 + <partitioning>
  1041 + <method>none</method>
  1042 + <schema_name/>
  1043 + </partitioning>
  1044 + <fields>
  1045 + <field>
  1046 + <name>col_value</name>
  1047 + <replaceby>ttinfoname_</replaceby>
  1048 + </field>
  1049 + </fields>
  1050 + <cluster_schema/>
  1051 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1052 + <xloc>746</xloc>
  1053 + <yloc>602</yloc>
  1054 + <draw>Y</draw>
  1055 + </GUI>
  1056 + </step>
  1057 +
  1058 + <step>
  1059 + <name>&#x66ff;&#x6362;&#x7ebf;&#x8def;&#x540d;&#x79f0;</name>
  1060 + <type>SetValueField</type>
  1061 + <description/>
  1062 + <distribute>Y</distribute>
  1063 + <custom_distribution/>
  1064 + <copies>1</copies>
  1065 + <partitioning>
  1066 + <method>none</method>
  1067 + <schema_name/>
  1068 + </partitioning>
  1069 + <fields>
  1070 + <field>
  1071 + <name>col_value</name>
  1072 + <replaceby>xlname_</replaceby>
  1073 + </field>
  1074 + </fields>
  1075 + <cluster_schema/>
  1076 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1077 + <xloc>521</xloc>
  1078 + <yloc>342</yloc>
  1079 + <draw>Y</draw>
  1080 + </GUI>
  1081 + </step>
  1082 +
  1083 + <step>
  1084 + <name>&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</name>
  1085 + <type>SelectValues</type>
  1086 + <description/>
  1087 + <distribute>Y</distribute>
  1088 + <custom_distribution/>
  1089 + <copies>1</copies>
  1090 + <partitioning>
  1091 + <method>none</method>
  1092 + <schema_name/>
  1093 + </partitioning>
  1094 + <fields> <field> <name>col_name</name>
  1095 + <rename/>
  1096 + <length>-2</length>
  1097 + <precision>-2</precision>
  1098 + </field> <field> <name>col_type</name>
  1099 + <rename/>
  1100 + <length>-2</length>
  1101 + <precision>-2</precision>
  1102 + </field> <field> <name>col_value</name>
  1103 + <rename/>
  1104 + <length>-2</length>
  1105 + <precision>-2</precision>
  1106 + </field> <select_unspecified>N</select_unspecified>
  1107 + </fields> <cluster_schema/>
  1108 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1109 + <xloc>668</xloc>
  1110 + <yloc>343</yloc>
  1111 + <draw>Y</draw>
  1112 + </GUI>
  1113 + </step>
  1114 +
  1115 + <step>
  1116 + <name>&#x83b7;&#x53d6;excel&#x5b57;&#x6bb5;&#x540d;&#x5b57;&#x7b26;&#x4e32;</name>
  1117 + <type>GetVariable</type>
  1118 + <description/>
  1119 + <distribute>Y</distribute>
  1120 + <custom_distribution/>
  1121 + <copies>1</copies>
  1122 + <partitioning>
  1123 + <method>none</method>
  1124 + <schema_name/>
  1125 + </partitioning>
  1126 + <fields>
  1127 + <field>
  1128 + <name>fieldnames</name>
  1129 + <variable>&#x24;&#x7b;excelfieldnames&#x7d;</variable>
  1130 + <type>String</type>
  1131 + <format/>
  1132 + <currency/>
  1133 + <decimal/>
  1134 + <group/>
  1135 + <length>-1</length>
  1136 + <precision>-1</precision>
  1137 + <trim_type>none</trim_type>
  1138 + </field>
  1139 + </fields>
  1140 + <cluster_schema/>
  1141 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1142 + <xloc>252</xloc>
  1143 + <yloc>153</yloc>
  1144 + <draw>Y</draw>
  1145 + </GUI>
  1146 + </step>
  1147 +
  1148 + <step>
  1149 + <name>&#x83b7;&#x53d6;excel&#x6587;&#x4ef6;&#x540d;</name>
  1150 + <type>GetVariable</type>
  1151 + <description/>
  1152 + <distribute>Y</distribute>
  1153 + <custom_distribution/>
  1154 + <copies>1</copies>
  1155 + <partitioning>
  1156 + <method>none</method>
  1157 + <schema_name/>
  1158 + </partitioning>
  1159 + <fields>
  1160 + <field>
  1161 + <name>filepath_</name>
  1162 + <variable>&#x24;&#x7b;filepath&#x7d;</variable>
  1163 + <type>String</type>
  1164 + <format/>
  1165 + <currency/>
  1166 + <decimal/>
  1167 + <group/>
  1168 + <length>-1</length>
  1169 + <precision>-1</precision>
  1170 + <trim_type>none</trim_type>
  1171 + </field>
  1172 + <field>
  1173 + <name>erroroutputdir_</name>
  1174 + <variable>&#x24;&#x7b;erroroutputdir&#x7d;</variable>
  1175 + <type>String</type>
  1176 + <format/>
  1177 + <currency/>
  1178 + <decimal/>
  1179 + <group/>
  1180 + <length>-1</length>
  1181 + <precision>-1</precision>
  1182 + <trim_type>none</trim_type>
  1183 + </field>
  1184 + <field>
  1185 + <name>sheetname_</name>
  1186 + <variable>&#x24;&#x7b;sheetname&#x7d;</variable>
  1187 + <type>String</type>
  1188 + <format/>
  1189 + <currency/>
  1190 + <decimal/>
  1191 + <group/>
  1192 + <length>-1</length>
  1193 + <precision>-1</precision>
  1194 + <trim_type>none</trim_type>
  1195 + </field>
  1196 + </fields>
  1197 + <cluster_schema/>
  1198 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1199 + <xloc>301</xloc>
  1200 + <yloc>52</yloc>
  1201 + <draw>Y</draw>
  1202 + </GUI>
  1203 + </step>
  1204 +
  1205 + <step>
  1206 + <name>&#x83b7;&#x53d6;normalize&#x5b57;&#x6bb5;&#x540d;&#x5b57;&#x7b26;&#x4e32;</name>
  1207 + <type>GetVariable</type>
  1208 + <description/>
  1209 + <distribute>Y</distribute>
  1210 + <custom_distribution/>
  1211 + <copies>1</copies>
  1212 + <partitioning>
  1213 + <method>none</method>
  1214 + <schema_name/>
  1215 + </partitioning>
  1216 + <fields>
  1217 + <field>
  1218 + <name>normalizefieldnames_</name>
  1219 + <variable>&#x24;&#x7b;normalizefieldnames&#x7d;</variable>
  1220 + <type>String</type>
  1221 + <format/>
  1222 + <currency/>
  1223 + <decimal/>
  1224 + <group/>
  1225 + <length>-1</length>
  1226 + <precision>-1</precision>
  1227 + <trim_type>none</trim_type>
  1228 + </field>
  1229 + </fields>
  1230 + <cluster_schema/>
  1231 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1232 + <xloc>261</xloc>
  1233 + <yloc>251</yloc>
  1234 + <draw>Y</draw>
  1235 + </GUI>
  1236 + </step>
  1237 +
  1238 + <step>
  1239 + <name>&#x83b7;&#x53d6;&#x65f6;&#x523b;&#x8868;id</name>
  1240 + <type>GetVariable</type>
  1241 + <description/>
  1242 + <distribute>Y</distribute>
  1243 + <custom_distribution/>
  1244 + <copies>1</copies>
  1245 + <partitioning>
  1246 + <method>none</method>
  1247 + <schema_name/>
  1248 + </partitioning>
  1249 + <fields>
  1250 + <field>
  1251 + <name>ttid_</name>
  1252 + <variable>&#x24;&#x7b;ttid&#x7d;</variable>
  1253 + <type>Integer</type>
  1254 + <format/>
  1255 + <currency/>
  1256 + <decimal/>
  1257 + <group/>
  1258 + <length>-1</length>
  1259 + <precision>-1</precision>
  1260 + <trim_type>none</trim_type>
  1261 + </field>
  1262 + </fields>
  1263 + <cluster_schema/>
  1264 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1265 + <xloc>608</xloc>
  1266 + <yloc>16</yloc>
  1267 + <draw>Y</draw>
  1268 + </GUI>
  1269 + </step>
  1270 +
  1271 + <step>
  1272 + <name>&#x83b7;&#x53d6;&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;</name>
  1273 + <type>GetVariable</type>
  1274 + <description/>
  1275 + <distribute>Y</distribute>
  1276 + <custom_distribution/>
  1277 + <copies>1</copies>
  1278 + <partitioning>
  1279 + <method>none</method>
  1280 + <schema_name/>
  1281 + </partitioning>
  1282 + <fields>
  1283 + <field>
  1284 + <name>ttinfoname_</name>
  1285 + <variable>&#x24;&#x7b;ttinfoname&#x7d;</variable>
  1286 + <type>String</type>
  1287 + <format/>
  1288 + <currency/>
  1289 + <decimal/>
  1290 + <group/>
  1291 + <length>-1</length>
  1292 + <precision>-1</precision>
  1293 + <trim_type>none</trim_type>
  1294 + </field>
  1295 + </fields>
  1296 + <cluster_schema/>
  1297 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1298 + <xloc>474</xloc>
  1299 + <yloc>601</yloc>
  1300 + <draw>Y</draw>
  1301 + </GUI>
  1302 + </step>
  1303 +
  1304 + <step>
  1305 + <name>&#x83b7;&#x53d6;&#x7ebf;&#x8def;&#x540d;&#x79f0;</name>
  1306 + <type>GetVariable</type>
  1307 + <description/>
  1308 + <distribute>Y</distribute>
  1309 + <custom_distribution/>
  1310 + <copies>1</copies>
  1311 + <partitioning>
  1312 + <method>none</method>
  1313 + <schema_name/>
  1314 + </partitioning>
  1315 + <fields>
  1316 + <field>
  1317 + <name>xlname_</name>
  1318 + <variable>&#x24;&#x7b;xlname&#x7d;</variable>
  1319 + <type>String</type>
  1320 + <format/>
  1321 + <currency/>
  1322 + <decimal/>
  1323 + <group/>
  1324 + <length>-1</length>
  1325 + <precision>-1</precision>
  1326 + <trim_type>none</trim_type>
  1327 + </field>
  1328 + </fields>
  1329 + <cluster_schema/>
  1330 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1331 + <xloc>184</xloc>
  1332 + <yloc>342</yloc>
  1333 + <draw>Y</draw>
  1334 + </GUI>
  1335 + </step>
  1336 +
  1337 + <step>
  1338 + <name>&#x83b7;&#x53d6;&#x7ebf;&#x8def;&#x6807;&#x51c6;id</name>
  1339 + <type>GetVariable</type>
  1340 + <description/>
  1341 + <distribute>Y</distribute>
  1342 + <custom_distribution/>
  1343 + <copies>1</copies>
  1344 + <partitioning>
  1345 + <method>none</method>
  1346 + <schema_name/>
  1347 + </partitioning>
  1348 + <fields>
  1349 + <field>
  1350 + <name>lineinfoid_</name>
  1351 + <variable>&#x24;&#x7b;lineinfoid&#x7d;</variable>
  1352 + <type>Integer</type>
  1353 + <format/>
  1354 + <currency/>
  1355 + <decimal/>
  1356 + <group/>
  1357 + <length>-1</length>
  1358 + <precision>-1</precision>
  1359 + <trim_type>none</trim_type>
  1360 + </field>
  1361 + </fields>
  1362 + <cluster_schema/>
  1363 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1364 + <xloc>74</xloc>
  1365 + <yloc>468</yloc>
  1366 + <draw>Y</draw>
  1367 + </GUI>
  1368 + </step>
  1369 +
  1370 + <step>
  1371 + <name>&#x9017;&#x53f7;&#x5207;&#x5206;&#x6210;&#x5b57;&#x6bb5;&#x540d;</name>
  1372 + <type>SplitFieldToRows3</type>
  1373 + <description/>
  1374 + <distribute>Y</distribute>
  1375 + <custom_distribution/>
  1376 + <copies>1</copies>
  1377 + <partitioning>
  1378 + <method>none</method>
  1379 + <schema_name/>
  1380 + </partitioning>
  1381 + <splitfield>fieldnames</splitfield>
  1382 + <delimiter>,</delimiter>
  1383 + <newfield>fieldname</newfield>
  1384 + <rownum>N</rownum>
  1385 + <rownum_field/>
  1386 + <resetrownumber>Y</resetrownumber>
  1387 + <delimiter_is_regex>N</delimiter_is_regex>
  1388 + <cluster_schema/>
  1389 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1390 + <xloc>442</xloc>
  1391 + <yloc>153</yloc>
  1392 + <draw>Y</draw>
  1393 + </GUI>
  1394 + </step>
  1395 +
  1396 + <step>
  1397 + <name>&#x9017;&#x53f7;&#x5207;&#x5206;&#x6210;&#x5b57;&#x6bb5;&#x540d; 2</name>
  1398 + <type>SplitFieldToRows3</type>
  1399 + <description/>
  1400 + <distribute>Y</distribute>
  1401 + <custom_distribution/>
  1402 + <copies>1</copies>
  1403 + <partitioning>
  1404 + <method>none</method>
  1405 + <schema_name/>
  1406 + </partitioning>
  1407 + <splitfield>normalizefieldnames_</splitfield>
  1408 + <delimiter>,</delimiter>
  1409 + <newfield>nfieldname</newfield>
  1410 + <rownum>N</rownum>
  1411 + <rownum_field/>
  1412 + <resetrownumber>Y</resetrownumber>
  1413 + <delimiter_is_regex>N</delimiter_is_regex>
  1414 + <cluster_schema/>
  1415 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1416 + <xloc>444</xloc>
  1417 + <yloc>247</yloc>
  1418 + <draw>Y</draw>
  1419 + </GUI>
  1420 + </step>
  1421 +
  1422 + <step>
  1423 + <name>&#x589e;&#x52a0;&#x7ad9;&#x70b9;&#x8def;&#x7531;&#x7248;&#x672c; metadata</name>
  1424 + <type>Constant</type>
  1425 + <description/>
  1426 + <distribute>Y</distribute>
  1427 + <custom_distribution/>
  1428 + <copies>1</copies>
  1429 + <partitioning>
  1430 + <method>none</method>
  1431 + <schema_name/>
  1432 + </partitioning>
  1433 + <fields>
  1434 + <field>
  1435 + <name>col_name</name>
  1436 + <type>String</type>
  1437 + <format/>
  1438 + <currency/>
  1439 + <decimal/>
  1440 + <group/>
  1441 + <nullif>zdlyversion_</nullif>
  1442 + <length>-1</length>
  1443 + <precision>-1</precision>
  1444 + <set_empty_string>N</set_empty_string>
  1445 + </field>
  1446 + <field>
  1447 + <name>col_type</name>
  1448 + <type>String</type>
  1449 + <format/>
  1450 + <currency/>
  1451 + <decimal/>
  1452 + <group/>
  1453 + <nullif>String</nullif>
  1454 + <length>-1</length>
  1455 + <precision>-1</precision>
  1456 + <set_empty_string>N</set_empty_string>
  1457 + </field>
  1458 + <field>
  1459 + <name>col_value</name>
  1460 + <type>String</type>
  1461 + <format/>
  1462 + <currency/>
  1463 + <decimal/>
  1464 + <group/>
  1465 + <nullif>replace</nullif>
  1466 + <length>-1</length>
  1467 + <precision>-1</precision>
  1468 + <set_empty_string>N</set_empty_string>
  1469 + </field>
  1470 + </fields>
  1471 + <cluster_schema/>
  1472 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1473 + <xloc>390</xloc>
  1474 + <yloc>532</yloc>
  1475 + <draw>Y</draw>
  1476 + </GUI>
  1477 + </step>
  1478 +
  1479 + <step>
  1480 + <name>&#x66ff;&#x6362;&#x7ad9;&#x70b9;&#x8def;&#x7531;&#x7248;&#x672c;</name>
  1481 + <type>SetValueField</type>
  1482 + <description/>
  1483 + <distribute>Y</distribute>
  1484 + <custom_distribution/>
  1485 + <copies>1</copies>
  1486 + <partitioning>
  1487 + <method>none</method>
  1488 + <schema_name/>
  1489 + </partitioning>
  1490 + <fields>
  1491 + <field>
  1492 + <name>col_value</name>
  1493 + <replaceby>zdlyversion_</replaceby>
  1494 + </field>
  1495 + </fields>
  1496 + <cluster_schema/>
  1497 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1498 + <xloc>594</xloc>
  1499 + <yloc>532</yloc>
  1500 + <draw>Y</draw>
  1501 + </GUI>
  1502 + </step>
  1503 +
  1504 + <step>
  1505 + <name>&#x7ad9;&#x70b9;&#x8def;&#x7531;&#x7248;&#x672c;metadata&#x5b57;&#x6bb5;</name>
  1506 + <type>SelectValues</type>
  1507 + <description/>
  1508 + <distribute>Y</distribute>
  1509 + <custom_distribution/>
  1510 + <copies>1</copies>
  1511 + <partitioning>
  1512 + <method>none</method>
  1513 + <schema_name/>
  1514 + </partitioning>
  1515 + <fields> <field> <name>col_name</name>
  1516 + <rename/>
  1517 + <length>-2</length>
  1518 + <precision>-2</precision>
  1519 + </field> <field> <name>col_type</name>
  1520 + <rename/>
  1521 + <length>-2</length>
  1522 + <precision>-2</precision>
  1523 + </field> <field> <name>col_value</name>
  1524 + <rename/>
  1525 + <length>-2</length>
  1526 + <precision>-2</precision>
  1527 + </field> <select_unspecified>N</select_unspecified>
  1528 + </fields> <cluster_schema/>
  1529 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1530 + <xloc>741</xloc>
  1531 + <yloc>533</yloc>
  1532 + <draw>Y</draw>
  1533 + </GUI>
  1534 + </step>
  1535 +
  1536 + <step>
  1537 + <name>&#x83b7;&#x53d6;&#x7ad9;&#x70b9;&#x8def;&#x7531;version</name>
  1538 + <type>GetVariable</type>
  1539 + <description/>
  1540 + <distribute>Y</distribute>
  1541 + <custom_distribution/>
  1542 + <copies>1</copies>
  1543 + <partitioning>
  1544 + <method>none</method>
  1545 + <schema_name/>
  1546 + </partitioning>
  1547 + <fields>
  1548 + <field>
  1549 + <name>zdlyversion_</name>
  1550 + <variable>&#x24;&#x7b;zdlyversion&#x7d;</variable>
  1551 + <type>String</type>
  1552 + <format/>
  1553 + <currency/>
  1554 + <decimal/>
  1555 + <group/>
  1556 + <length>-1</length>
  1557 + <precision>-1</precision>
  1558 + <trim_type>none</trim_type>
  1559 + </field>
  1560 + </fields>
  1561 + <cluster_schema/>
  1562 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1563 + <xloc>187</xloc>
  1564 + <yloc>534</yloc>
  1565 + <draw>Y</draw>
  1566 + </GUI>
  1567 + </step>
  1568 +
  1569 + <step_error_handling>
  1570 + </step_error_handling>
  1571 + <slave-step-copy-partition-distribution>
  1572 +</slave-step-copy-partition-distribution>
  1573 + <slave_transformation>N</slave_transformation>
  1574 +
  1575 +</transformation>
src/main/resources/static/pages/electricity/list/list.html
@@ -534,7 +534,7 @@ onkeyup=&quot;this.value=this.value.replace(/[^(\d||/.)]/g,&#39;&#39;).replace(&#39;.&#39;,&#39;$#$&#39;).rep @@ -534,7 +534,7 @@ onkeyup=&quot;this.value=this.value.replace(/[^(\d||/.)]/g,&#39;&#39;).replace(&#39;.&#39;,&#39;$#$&#39;).rep
534 $("#sumSh").html(returns.sh); 534 $("#sumSh").html(returns.sh);
535 }); 535 });
536 536
537 - $('input').on('input propertychange',function(){ 537 + /* $('input').on('input propertychange',function(){
538 var id=$(this).data('id'); 538 var id=$(this).data('id');
539 var cdl =$('.in_carpark_cdl[data-id='+id+']', '#dl_oil_list').html(); 539 var cdl =$('.in_carpark_cdl[data-id='+id+']', '#dl_oil_list').html();
540 if(cdl=="" || cdl ==null){ 540 if(cdl=="" || cdl ==null){
@@ -552,7 +552,7 @@ onkeyup=&quot;this.value=this.value.replace(/[^(\d||/.)]/g,&#39;&#39;).replace(&#39;.&#39;,&#39;$#$&#39;).rep @@ -552,7 +552,7 @@ onkeyup=&quot;this.value=this.value.replace(/[^(\d||/.)]/g,&#39;&#39;).replace(&#39;.&#39;,&#39;$#$&#39;).rep
552 } 552 }
553 $('.in_carpark_hd[data-id='+id+']', '#dl_oil_list').val(subValue); 553 $('.in_carpark_hd[data-id='+id+']', '#dl_oil_list').val(subValue);
554 554
555 - }); 555 + }); */
556 }); 556 });
557 } 557 }
558 558
src/main/resources/static/pages/oil/list_ph.html
@@ -28,13 +28,13 @@ @@ -28,13 +28,13 @@
28 <div class="actions"> 28 <div class="actions">
29 <a class="btn btn-circle blue" href="add.html" data-pjax><i 29 <a class="btn btn-circle blue" href="add.html" data-pjax><i
30 class="fa fa-plus"></i> 添加</a> 30 class="fa fa-plus"></i> 添加</a>
31 - <button type="button" class="btn btn-circle blue" id="removeButton"> 31 + <button type="button" class="btn btn-circle blue removeButton" id="removeButton">
32 <i class="fa fa-trash-o"></i> 删除 32 <i class="fa fa-trash-o"></i> 删除
33 </button> 33 </button>
34 - <button type="button" class="btn btn-circle blue" id="sortButton"> 34 + <button type="button" class="btn btn-circle blue sortButton" id="sortButton">
35 <i class="fa fa-minus-square"></i> 拆分 35 <i class="fa fa-minus-square"></i> 拆分
36 </button> 36 </button>
37 - <button type="button" class="btn btn-circle blue" id="saveButton"> 37 + <button type="button" class="btn btn-circle blue saveButton" id="saveButton">
38 <i class="fa fa-check-circle"></i> 保存 38 <i class="fa fa-check-circle"></i> 保存
39 </button> 39 </button>
40 <!-- <button type="button" class="btn btn-circle red" disabled="disabled" id="removeButton"><i class="fa fa-trash"></i> 删除用户</button> --> 40 <!-- <button type="button" class="btn btn-circle red" disabled="disabled" id="removeButton"><i class="fa fa-trash"></i> 删除用户</button> -->
@@ -202,9 +202,22 @@ @@ -202,9 +202,22 @@
202 style="table-layout: fixed; overflow: auto; "> 202 style="table-layout: fixed; overflow: auto; ">
203 <tbody></tbody> 203 <tbody></tbody>
204 </table> 204 </table>
  205 + <div style="text-align: right;margin-right: 50px">
  206 + <a class="btn btn-circle " href="add.html" data-pjax><i
  207 + class="fa fa-plus"></i> 添加</a>
  208 + <button type="button" class="btn btn-circle removeButton" >
  209 + <i class="fa fa-trash-o"></i> 删除
  210 + </button>
  211 + <button type="button" class="btn btn-circle sortButton">
  212 + <i class="fa fa-minus-square"></i> 拆分
  213 + </button>
  214 + <button type="button" class="btn btn-circle saveButton" >
  215 + <i class="fa fa-check-circle"></i> 保存
  216 + </button>
  217 + </div>
205 </div> 218 </div>
206 219
207 - 220 +
208 <div style="text-align: right;"> 221 <div style="text-align: right;">
209 <ul id="pagination" class="pagination"></ul> 222 <ul id="pagination" class="pagination"></ul>
210 </div> 223 </div>
@@ -344,7 +357,7 @@ onkeyup=&quot;this.value=this.value.replace(/[^(\d||/.)]/g,&#39;&#39;).replace(&#39;.&#39;,&#39;$#$&#39;).rep @@ -344,7 +357,7 @@ onkeyup=&quot;this.value=this.value.replace(/[^(\d||/.)]/g,&#39;&#39;).replace(&#39;.&#39;,&#39;$#$&#39;).rep
344 }); 357 });
345 358
346 //保存 359 //保存
347 - $("#saveButton").on('click',function(){ 360 + $(".saveButton").on('click',function(){
348 var ylArray = []; 361 var ylArray = [];
349 $('input.icheck').each(function(){ 362 $('input.icheck').each(function(){
350 var map = {}; 363 var map = {};
@@ -400,7 +413,7 @@ onkeyup=&quot;this.value=this.value.replace(/[^(\d||/.)]/g,&#39;&#39;).replace(&#39;.&#39;,&#39;$#$&#39;).rep @@ -400,7 +413,7 @@ onkeyup=&quot;this.value=this.value.replace(/[^(\d||/.)]/g,&#39;&#39;).replace(&#39;.&#39;,&#39;$#$&#39;).rep
400 }); 413 });
401 }) 414 })
402 //拆分 415 //拆分
403 - $("#sortButton").on('click', function () { 416 + $(".sortButton").on('click', function () {
404 if ($("#rq").val() != "") { 417 if ($("#rq").val() != "") {
405 //拆分前先保存全部 418 //拆分前先保存全部
406 var ylArray = []; 419 var ylArray = [];
@@ -713,7 +726,7 @@ onkeyup=&quot;this.value=this.value.replace(/[^(\d||/.)]/g,&#39;&#39;).replace(&#39;.&#39;,&#39;$#$&#39;).rep @@ -713,7 +726,7 @@ onkeyup=&quot;this.value=this.value.replace(/[^(\d||/.)]/g,&#39;&#39;).replace(&#39;.&#39;,&#39;$#$&#39;).rep
713 sh=0; 726 sh=0;
714 } 727 }
715 var addNum=accAdd(jzl,czyl); 728 var addNum=accAdd(jzl,czyl);
716 - var subNum=accAdd(jzyl,sh); 729 + var subNum=jzyl;
717 var sub=numSubtr(addNum*1000,subNum*1000); 730 var sub=numSubtr(addNum*1000,subNum*1000);
718 var subValue=0; 731 var subValue=0;
719 if(sub/1000>=0){ 732 if(sub/1000>=0){
@@ -846,7 +859,7 @@ onkeyup=&quot;this.value=this.value.replace(/[^(\d||/.)]/g,&#39;&#39;).replace(&#39;.&#39;,&#39;$#$&#39;).rep @@ -846,7 +859,7 @@ onkeyup=&quot;this.value=this.value.replace(/[^(\d||/.)]/g,&#39;&#39;).replace(&#39;.&#39;,&#39;$#$&#39;).rep
846 } 859 }
847 860
848 //删除 861 //删除
849 - $('#removeButton').on('click', function () { 862 + $('.removeButton').on('click', function () {
850 var idArray = []; 863 var idArray = [];
851 var x=0; 864 var x=0;
852 $('input.icheck:checked').each(function(){ 865 $('input.icheck:checked').each(function(){
src/main/resources/static/pages/scheduleApp/module/core/ttInfoManage/detailedit/module.js
@@ -118,6 +118,10 @@ angular.module(&#39;ScheduleApp&#39;).controller( @@ -118,6 +118,10 @@ angular.module(&#39;ScheduleApp&#39;).controller(
118 118
119 // form提交方法 119 // form提交方法
120 self.submit = function() { 120 self.submit = function() {
  121 + if (self.ttInfoDetailManageForForm.zdlytype == 1) {
  122 + delete self.ttInfoDetailManageForForm.zdlyversion;
  123 + }
  124 +
121 service.importDetail(self.ttInfoDetailManageForForm).then( 125 service.importDetail(self.ttInfoDetailManageForForm).then(
122 function(result) { 126 function(result) {
123 if (result.status == 'SUCCESS') { 127 if (result.status == 'SUCCESS') {