Commit 72cae77973bcdb212e6456bdbc004509ca68a823

Authored by 徐烜
2 parents d61b80ad 22f66c51

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

Showing 49 changed files with 6388 additions and 8684 deletions
src/main/java/com/bsth/controller/realcontrol/anomalyCheckController.java
1 package com.bsth.controller.realcontrol; 1 package com.bsth.controller.realcontrol;
2 2
3 -import com.bsth.data.gpsdata.client.ClientApp;  
4 import com.bsth.data.schedule.DayOfSchedule; 3 import com.bsth.data.schedule.DayOfSchedule;
5 import com.bsth.entity.realcontrol.ScheduleRealInfo; 4 import com.bsth.entity.realcontrol.ScheduleRealInfo;
6 import org.slf4j.Logger; 5 import org.slf4j.Logger;
@@ -50,10 +49,4 @@ public class anomalyCheckController { @@ -50,10 +49,4 @@ public class anomalyCheckController {
50 dayOfSchedule.replaceByNbbm(nbbm, map.values()); 49 dayOfSchedule.replaceByNbbm(nbbm, map.values());
51 } 50 }
52 } 51 }
53 -  
54 - @RequestMapping(value = "/gpsClientReconn", method = RequestMethod.POST)  
55 - public void gpsClientReconn(){  
56 - ClientApp.pdreconn();  
57 - ClientApp.pfreconn();  
58 - }  
59 } 52 }
src/main/java/com/bsth/data/BasicData.java
@@ -46,9 +46,6 @@ public class BasicData implements CommandLineRunner { @@ -46,9 +46,6 @@ public class BasicData implements CommandLineRunner {
46 //站点编码和名称对照,包括停车场 (K: lineCode_updown_stationCode ,V:站点名称) 46 //站点编码和名称对照,包括停车场 (K: lineCode_updown_stationCode ,V:站点名称)
47 public static Map<String, String> stationCode2NameMap; 47 public static Map<String, String> stationCode2NameMap;
48 48
49 - //线路起终点对照(线路编码_上下行_起终点) 1024_0_B (1024上行起点)  
50 - //public static Map<String, String> lineSEPointMap;  
51 -  
52 //车辆和线路对照 49 //车辆和线路对照
53 public static Map<String, Line> nbbm2LineMap; 50 public static Map<String, Line> nbbm2LineMap;
54 51
src/main/java/com/bsth/data/car_out_info/CarOutInfoHandler.java
1 package com.bsth.data.car_out_info; 1 package com.bsth.data.car_out_info;
2 2
  3 +import com.bsth.Application;
3 import com.bsth.data.BasicData; 4 import com.bsth.data.BasicData;
4 import com.bsth.data.schedule.DayOfSchedule; 5 import com.bsth.data.schedule.DayOfSchedule;
5 import com.bsth.data.schedule.ScheduleComparator; 6 import com.bsth.data.schedule.ScheduleComparator;
@@ -12,13 +13,18 @@ import org.springframework.beans.factory.annotation.Autowired; @@ -12,13 +13,18 @@ import org.springframework.beans.factory.annotation.Autowired;
12 import org.springframework.boot.CommandLineRunner; 13 import org.springframework.boot.CommandLineRunner;
13 import org.springframework.jdbc.core.BatchPreparedStatementSetter; 14 import org.springframework.jdbc.core.BatchPreparedStatementSetter;
14 import org.springframework.jdbc.core.JdbcTemplate; 15 import org.springframework.jdbc.core.JdbcTemplate;
  16 +import org.springframework.jdbc.datasource.DataSourceTransactionManager;
15 import org.springframework.stereotype.Component; 17 import org.springframework.stereotype.Component;
16 import org.springframework.stereotype.Service; 18 import org.springframework.stereotype.Service;
  19 +import org.springframework.transaction.TransactionDefinition;
  20 +import org.springframework.transaction.TransactionStatus;
17 import org.springframework.transaction.annotation.Transactional; 21 import org.springframework.transaction.annotation.Transactional;
  22 +import org.springframework.transaction.support.DefaultTransactionDefinition;
18 23
19 import java.sql.PreparedStatement; 24 import java.sql.PreparedStatement;
20 import java.sql.SQLException; 25 import java.sql.SQLException;
21 import java.util.*; 26 import java.util.*;
  27 +import java.util.concurrent.TimeUnit;
22 28
23 /** 29 /**
24 * 发车信息表处理程序 30 * 发车信息表处理程序
@@ -60,7 +66,7 @@ public class CarOutInfoHandler implements CommandLineRunner, CarOutInfo { @@ -60,7 +66,7 @@ public class CarOutInfoHandler implements CommandLineRunner, CarOutInfo {
60 Set<String> ks = lpScheduleMap.keySet(); 66 Set<String> ks = lpScheduleMap.keySet();
61 String prefix = lineCode + "_"; 67 String prefix = lineCode + "_";
62 for (String k : ks) { 68 for (String k : ks) {
63 - if (k.indexOf(prefix) != -1) { 69 + if (k.startsWith(prefix)) {
64 list.addAll(lpScheduleMap.get(k)); 70 list.addAll(lpScheduleMap.get(k));
65 } 71 }
66 } 72 }
@@ -90,36 +96,48 @@ public class CarOutInfoHandler implements CommandLineRunner, CarOutInfo { @@ -90,36 +96,48 @@ public class CarOutInfoHandler implements CommandLineRunner, CarOutInfo {
90 downArray = nexts(downs); 96 downArray = nexts(downs);
91 97
92 final List<ScheduleRealInfo> pstArray = mergeArray(upArray, downArray); 98 final List<ScheduleRealInfo> pstArray = mergeArray(upArray, downArray);
93 - //删除  
94 - jdbcTemplate.update("delete from bsth_t_clfcxxb where line_code=?", lineCode);  
95 - //重新写入  
96 - jdbcTemplate.batchUpdate("insert into bsth_t_clfcxxb(rq, line_code, line_name, lp_name, lp_sn, dfsj, nbbm, cph, bc_type, end_station_name, updown, jGh, jName, remarks, sn)" +  
97 - " VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", new BatchPreparedStatementSetter() {  
98 - @Override  
99 - public void setValues(PreparedStatement ps, int i) throws SQLException {  
100 - ScheduleRealInfo sch = pstArray.get(i);  
101 - ps.setString(1, sch.getScheduleDateStr());  
102 - ps.setString(2, sch.getXlBm());  
103 - ps.setString(3, sch.getXlName());  
104 - ps.setString(4, sch.getLpName());  
105 - ps.setInt(5, sch.getFcno());  
106 - ps.setString(6, sch.getDfsj());  
107 - ps.setString(7, sch.getClZbh());  
108 - ps.setString(8, BasicData.nbbmCompanyPlateMap.get(sch.getClZbh()));  
109 - ps.setString(9, bcTypeMap.containsKey(sch.getBcType()) ? bcTypeMap.get(sch.getBcType()) : sch.getBcType());  
110 - ps.setString(10, sch.getZdzName());  
111 - ps.setInt(11, Integer.parseInt(sch.getXlDir()));  
112 - ps.setString(12, sch.getjGh());  
113 - ps.setString(13, sch.getjName());  
114 - ps.setString(14, sch.getRemarks());  
115 - ps.setInt(15, sch.getFcpSn());  
116 - } 99 + //编程式事务
  100 + DataSourceTransactionManager tran = new DataSourceTransactionManager(jdbcTemplate.getDataSource());
  101 + DefaultTransactionDefinition def = new DefaultTransactionDefinition();
  102 + def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
  103 + TransactionStatus status = tran.getTransaction(def);
  104 +
  105 + try{
  106 + //删除
  107 + jdbcTemplate.update("delete from bsth_t_clfcxxb where line_code=?", lineCode);
  108 + //重新写入
  109 + jdbcTemplate.batchUpdate("insert into bsth_t_clfcxxb(rq, line_code, line_name, lp_name, lp_sn, dfsj, nbbm, cph, bc_type, end_station_name, updown, jGh, jName, remarks, sn)" +
  110 + " VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", new BatchPreparedStatementSetter() {
  111 + @Override
  112 + public void setValues(PreparedStatement ps, int i) throws SQLException {
  113 + ScheduleRealInfo sch = pstArray.get(i);
  114 + ps.setString(1, sch.getScheduleDateStr());
  115 + ps.setString(2, sch.getXlBm());
  116 + ps.setString(3, sch.getXlName());
  117 + ps.setString(4, /*sch.getLpName()*/"0");
  118 + ps.setInt(5, sch.getFcno()==null?-1:sch.getFcno());
  119 + ps.setString(6, sch.getDfsj().replace(":", ""));
  120 + ps.setString(7, sch.getClZbh().replace("-", ""));
  121 + ps.setString(8, BasicData.nbbmCompanyPlateMap.get(sch.getClZbh()));
  122 + ps.setString(9, bcTypeMap.containsKey(sch.getBcType()) ? bcTypeMap.get(sch.getBcType()) : sch.getBcType());
  123 + ps.setString(10, sch.getZdzName());
  124 + ps.setInt(11, Integer.parseInt(sch.getXlDir()));
  125 + ps.setString(12, sch.getjGh());
  126 + ps.setString(13, sch.getjName());
  127 + ps.setString(14, sch.getRemarks());
  128 + ps.setInt(15, sch.getFcpSn());
  129 + }
117 130
118 - @Override  
119 - public int getBatchSize() {  
120 - return pstArray.size();  
121 - }  
122 - }); 131 + @Override
  132 + public int getBatchSize() {
  133 + return pstArray.size();
  134 + }
  135 + });
  136 +
  137 + tran.commit(status);
  138 + }catch (Exception e){
  139 + tran.rollback(status);
  140 + }
123 } 141 }
124 142
125 private List<ScheduleRealInfo> mergeArray(ScheduleRealInfo[] upArray, ScheduleRealInfo[] downArray) { 143 private List<ScheduleRealInfo> mergeArray(ScheduleRealInfo[] upArray, ScheduleRealInfo[] downArray) {
@@ -190,7 +208,7 @@ public class CarOutInfoHandler implements CommandLineRunner, CarOutInfo { @@ -190,7 +208,7 @@ public class CarOutInfoHandler implements CommandLineRunner, CarOutInfo {
190 bcTypeMap.put("venting", "直放"); 208 bcTypeMap.put("venting", "直放");
191 bcTypeMap.put("major", "放站"); 209 bcTypeMap.put("major", "放站");
192 bcTypeMap.put("ldks", "两点间空驶"); 210 bcTypeMap.put("ldks", "两点间空驶");
193 - //Application.mainServices.scheduleWithFixedDelay(updateInfoThread, 60, 40, TimeUnit.SECONDS); 211 + Application.mainServices.scheduleWithFixedDelay(updateInfoThread, 60, 40, TimeUnit.SECONDS);
194 } 212 }
195 213
196 @Component 214 @Component
src/main/java/com/bsth/data/gpsdata/GpsRealData.java
1 package com.bsth.data.gpsdata; 1 package com.bsth.data.gpsdata;
2 2
3 -import com.bsth.Application;  
4 import com.bsth.data.BasicData; 3 import com.bsth.data.BasicData;
5 import com.bsth.data.forecast.ForecastRealServer; 4 import com.bsth.data.forecast.ForecastRealServer;
6 -import com.bsth.data.gpsdata.client.ClientApp;  
7 import com.bsth.data.gpsdata.thread.GpsDataLoaderThread; 5 import com.bsth.data.gpsdata.thread.GpsDataLoaderThread;
8 import com.bsth.data.gpsdata.thread.OfflineMonitorThread; 6 import com.bsth.data.gpsdata.thread.OfflineMonitorThread;
9 import com.bsth.data.schedule.DayOfSchedule; 7 import com.bsth.data.schedule.DayOfSchedule;
@@ -17,7 +15,8 @@ import org.springframework.boot.CommandLineRunner; @@ -17,7 +15,8 @@ import org.springframework.boot.CommandLineRunner;
17 import org.springframework.stereotype.Component; 15 import org.springframework.stereotype.Component;
18 16
19 import java.util.*; 17 import java.util.*;
20 -import java.util.concurrent.TimeUnit; 18 +import java.util.concurrent.ConcurrentHashMap;
  19 +import java.util.concurrent.ConcurrentMap;
21 20
22 /** 21 /**
23 * @author PanZhao 22 * @author PanZhao
@@ -30,7 +29,7 @@ public class GpsRealData implements CommandLineRunner { @@ -30,7 +29,7 @@ public class GpsRealData implements CommandLineRunner {
30 29
31 static Logger logger = LoggerFactory.getLogger(GpsRealData.class); 30 static Logger logger = LoggerFactory.getLogger(GpsRealData.class);
32 31
33 - private static Map<String, GpsEntity> gpsMap; 32 + private static ConcurrentMap<String, GpsEntity> gpsMap;
34 33
35 //按线路分组设备号 34 //按线路分组设备号
36 private static TreeMultimap<String, String> lineCode2Devices; 35 private static TreeMultimap<String, String> lineCode2Devices;
@@ -51,22 +50,17 @@ public class GpsRealData implements CommandLineRunner { @@ -51,22 +50,17 @@ public class GpsRealData implements CommandLineRunner {
51 * 构造函数 50 * 构造函数
52 */ 51 */
53 public GpsRealData() { 52 public GpsRealData() {
54 - gpsMap = new HashMap<>(); 53 + gpsMap = new ConcurrentHashMap<>();
55 lineCode2Devices = TreeMultimap.create(); 54 lineCode2Devices = TreeMultimap.create();
56 } 55 }
57 56
58 - @Autowired  
59 - ClientApp clientApp;  
60 @Override 57 @Override
61 public void run(String... arg0) throws Exception { 58 public void run(String... arg0) throws Exception {
62 logger.info("gpsDataLoader,20,3"); 59 logger.info("gpsDataLoader,20,3");
63 - //定时从网关http形式获取GPS数据 --- 已弃用,现socket客户端接入数据  
64 - //Application.mainServices.scheduleWithFixedDelay(gpsDataLoader, 20, 3, TimeUnit.SECONDS); 60 + //http形式获取GPS数据
  61 + //Application.mainServices.scheduleWithFixedDelay(gpsDataLoader, 20, 2, TimeUnit.SECONDS);
65 //定时扫描掉离线 62 //定时扫描掉离线
66 - Application.mainServices.scheduleWithFixedDelay(offlineMonitorThread, 120, 60, TimeUnit.SECONDS);  
67 -  
68 - //gps 客户端  
69 - //clientApp.init(); 63 + //Application.mainServices.scheduleWithFixedDelay(offlineMonitorThread, 120, 60, TimeUnit.SECONDS);
70 } 64 }
71 65
72 66
src/main/java/com/bsth/data/gpsdata/SignalStateData.java
@@ -23,9 +23,9 @@ public class SignalStateData { @@ -23,9 +23,9 @@ public class SignalStateData {
23 private static ArrayListMultimap<String, SignalState> listMultimap = ArrayListMultimap.create(); 23 private static ArrayListMultimap<String, SignalState> listMultimap = ArrayListMultimap.create();
24 24
25 public void put(SignalState state){ 25 public void put(SignalState state){
26 - listMultimap.put(state.getLineCode(), state); 26 + //listMultimap.put(state.getLineCode(), state);
27 //推送到客户端 27 //推送到客户端
28 - sendUtils.sendSignalState(state); 28 + //sendUtils.sendSignalState(state);
29 } 29 }
30 30
31 public List<SignalState> get(String idx){ 31 public List<SignalState> get(String idx){
src/main/java/com/bsth/data/gpsdata/arrival/GpsRealAnalyse.java
@@ -11,6 +11,8 @@ import org.slf4j.LoggerFactory; @@ -11,6 +11,8 @@ import org.slf4j.LoggerFactory;
11 import org.springframework.beans.factory.annotation.Autowired; 11 import org.springframework.beans.factory.annotation.Autowired;
12 import org.springframework.stereotype.Component; 12 import org.springframework.stereotype.Component;
13 13
  14 +import java.util.Collections;
  15 +import java.util.Comparator;
14 import java.util.List; 16 import java.util.List;
15 import java.util.Set; 17 import java.util.Set;
16 import java.util.concurrent.CountDownLatch; 18 import java.util.concurrent.CountDownLatch;
@@ -42,25 +44,26 @@ public class GpsRealAnalyse { @@ -42,25 +44,26 @@ public class GpsRealAnalyse {
42 @Autowired 44 @Autowired
43 GpsRealData gpsRealData; 45 GpsRealData gpsRealData;
44 46
45 - //50个线程  
46 - static ExecutorService threadPool = Executors.newFixedThreadPool(50); 47 + static ExecutorService threadPool = Executors.newFixedThreadPool(100);
47 48
48 public void analyse(List<GpsEntity> list) { 49 public void analyse(List<GpsEntity> list) {
49 //如果正在恢复数据 50 //如果正在恢复数据
50 if (GpsDataRecovery.run) 51 if (GpsDataRecovery.run)
51 return; 52 return;
  53 +
  54 + long t = System.currentTimeMillis();
52 logger.info("analyse gps size: " + list.size()); 55 logger.info("analyse gps size: " + list.size());
53 - //按车辆分组gps 56 + //按线路分组gps
54 ArrayListMultimap multimap = ArrayListMultimap.create(); 57 ArrayListMultimap multimap = ArrayListMultimap.create();
55 for(GpsEntity gps : list){ 58 for(GpsEntity gps : list){
56 - multimap.put(gps.getNbbm(), gps); 59 + multimap.put(gps.getLineId(), gps);
57 } 60 }
58 61
59 Set<String> ks = multimap.keySet(); 62 Set<String> ks = multimap.keySet();
60 CountDownLatch count = new CountDownLatch(ks.size()); 63 CountDownLatch count = new CountDownLatch(ks.size());
61 64
62 - for(String nbbm : ks){  
63 - threadPool.execute(new SignalHandleThread(multimap.get(nbbm), count)); 65 + for(String lineCode : ks){
  66 + threadPool.execute(new SignalHandleThread(multimap.get(lineCode), count));
64 } 67 }
65 68
66 try { 69 try {
@@ -70,11 +73,15 @@ public class GpsRealAnalyse { @@ -70,11 +73,15 @@ public class GpsRealAnalyse {
70 //加入实时gps对照 73 //加入实时gps对照
71 for(GpsEntity gps: list) 74 for(GpsEntity gps: list)
72 gpsRealData.put(gps); 75 gpsRealData.put(gps);
  76 +
  77 + logger.info("time , " + (System.currentTimeMillis() - t));
73 } catch (InterruptedException e) { 78 } catch (InterruptedException e) {
74 logger.error("", e); 79 logger.error("", e);
75 } 80 }
76 } 81 }
77 82
  83 + static GpsComp comp = new GpsComp();
  84 +
78 public class SignalHandleThread implements Runnable { 85 public class SignalHandleThread implements Runnable {
79 86
80 List<GpsEntity> list; 87 List<GpsEntity> list;
@@ -89,6 +96,7 @@ public class GpsRealAnalyse { @@ -89,6 +96,7 @@ public class GpsRealAnalyse {
89 public void run() { 96 public void run() {
90 97
91 try { 98 try {
  99 + Collections.sort(list, comp);
92 for(GpsEntity gps : list){ 100 for(GpsEntity gps : list){
93 //是否有任务 101 //是否有任务
94 boolean task; 102 boolean task;
@@ -119,4 +127,12 @@ public class GpsRealAnalyse { @@ -119,4 +127,12 @@ public class GpsRealAnalyse {
119 } 127 }
120 } 128 }
121 } 129 }
  130 +
  131 + public static class GpsComp implements Comparator<GpsEntity> {
  132 +
  133 + @Override
  134 + public int compare(GpsEntity g1, GpsEntity g2) {
  135 + return g1.getTimestamp().compareTo(g2.getTimestamp());
  136 + }
  137 + }
122 } 138 }
src/main/java/com/bsth/data/gpsdata/arrival/handlers/ReverseSignalHandle.java
@@ -74,6 +74,8 @@ public class ReverseSignalHandle extends SignalHandle { @@ -74,6 +74,8 @@ public class ReverseSignalHandle extends SignalHandle {
74 74
75 if (prev.getInstation() == 1) { 75 if (prev.getInstation() == 1) {
76 sr = GeoCacheData.getRouteCode(prev); 76 sr = GeoCacheData.getRouteCode(prev);
  77 + if(sr == null)
  78 + return null;
77 79
78 if (sr.getRouteSort() > curr.getRouteSort()) { 80 if (sr.getRouteSort() > curr.getRouteSort()) {
79 if(half){ 81 if(half){
src/main/java/com/bsth/data/gpsdata/client/ClientApp.java deleted 100644 → 0
1 -package com.bsth.data.gpsdata.client;  
2 -  
3 -import com.bsth.data.gpsdata.client.pd.codec.PdMessageCodecFactory;  
4 -import com.bsth.data.gpsdata.client.pd.handler.PdClientHandler;  
5 -import com.bsth.data.gpsdata.client.pd.protocol.Pd_31_0;  
6 -import com.bsth.data.gpsdata.client.pf.codec.PfMessageCodecFactory;  
7 -import com.bsth.data.gpsdata.client.pf.handler.PfClientHandler;  
8 -import com.bsth.util.ConfigUtil;  
9 -import org.apache.mina.core.future.ConnectFuture;  
10 -import org.apache.mina.core.future.WriteFuture;  
11 -import org.apache.mina.core.session.IdleStatus;  
12 -import org.apache.mina.core.session.IoSession;  
13 -import org.apache.mina.core.session.IoSessionConfig;  
14 -import org.apache.mina.filter.codec.ProtocolCodecFilter;  
15 -import org.apache.mina.filter.logging.LogLevel;  
16 -import org.apache.mina.filter.logging.LoggingFilter;  
17 -import org.apache.mina.transport.socket.nio.NioSocketConnector;  
18 -import org.slf4j.Logger;  
19 -import org.slf4j.LoggerFactory;  
20 -import org.springframework.beans.factory.annotation.Autowired;  
21 -import org.springframework.stereotype.Component;  
22 -  
23 -import java.net.InetSocketAddress;  
24 -import java.util.concurrent.Executors;  
25 -import java.util.concurrent.ScheduledExecutorService;  
26 -import java.util.concurrent.ThreadFactory;  
27 -import java.util.concurrent.TimeUnit;  
28 -  
29 -/**  
30 - * Created by panzhao on 2017/5/4.  
31 - */  
32 -@Component  
33 -public class ClientApp {  
34 -  
35 - private static NioSocketConnector pdDataConnector;  
36 - private static NioSocketConnector pfDataConnector;  
37 -  
38 - @Autowired  
39 - private PdClientHandler pdClient;  
40 - @Autowired  
41 - private PfClientHandler pfClient;  
42 - @Autowired  
43 - GpsBeforeBuffer gpsBeforeBuffer;  
44 -  
45 - static Logger logger = LoggerFactory.getLogger(ClientApp.class);  
46 -  
47 - private ScheduledExecutorService sexec = Executors.newSingleThreadScheduledExecutor(new ThreadFactory() {  
48 -  
49 - @Override  
50 - public Thread newThread(Runnable r) {  
51 - // TODO Auto-generated method stub  
52 - Thread t = new Thread(r);  
53 - t.setName("SessionCheckExecutor");  
54 - return t;  
55 - }  
56 - });  
57 -  
58 - public static boolean dconnect(String device) {  
59 - boolean flag = false;  
60 - try {  
61 - ConnectFuture con = pdDataConnector.connect(new InetSocketAddress(ConfigUtil.get("gps.server.pd"), Integer.parseInt(ConfigUtil.get("gps.port.pd"))));  
62 - con.awaitUninterruptibly();  
63 - IoSession session = con.getSession();  
64 - session.setAttribute("deviceId", device);  
65 - com.bsth.data.gpsdata.client.pd.protocol.PdMessage msg = new com.bsth.data.gpsdata.client.pd.protocol.PdMessage();  
66 - Pd_31_0 body = new Pd_31_0();  
67 - body.setFunCode((short)0x15);  
68 - body.setLineId(0);  
69 - body.setDeviceId(device);  
70 - msg.setMessageBody(body);  
71 - msg.setVersion((short)1);  
72 - msg.setSerialNo((short)1);  
73 - msg.setCommandType((short)0x31);  
74 - byte[] bytes = msg.write();  
75 - WriteFuture write = session.write(bytes);  
76 - write.awaitUninterruptibly();  
77 - flag = true;  
78 -  
79 - logger.info("dconnect...");  
80 - pdSession = session;  
81 - //SessionManager.getInstance().register(device, session);  
82 - } catch (Exception e) {  
83 - e.printStackTrace();  
84 - }  
85 - return flag;  
86 - }  
87 -  
88 - public static void pdreconn(){  
89 - dconnect(ConfigUtil.get("forward.device.name"));  
90 - }  
91 -  
92 - public static void pfreconn(){  
93 - fconnect(ConfigUtil.get("forward.device.name"));  
94 - }  
95 -  
96 - public static boolean fconnect(String device) {  
97 - boolean flag = false;  
98 - try {  
99 - ConnectFuture con = pfDataConnector.connect(new InetSocketAddress(ConfigUtil.get("gps.server.pf"), Integer.parseInt(ConfigUtil.get("gps.port.pf"))));  
100 - con.awaitUninterruptibly();  
101 - IoSession session = con.getSession();  
102 - session.setAttribute("deviceId", device);  
103 - flag = true;  
104 -  
105 - logger.info("fconnect...");  
106 - pfSession = session;  
107 - } catch (Exception e) {  
108 - e.printStackTrace();  
109 - }  
110 - return flag;  
111 - }  
112 -  
113 - public void init() {  
114 - //exec = Executors.newFixedThreadPool(4);  
115 - sexec.scheduleAtFixedRate(new SessionChecker(), 1, 1, TimeUnit.MINUTES);  
116 - /*******************************浦东********************************/  
117 - pdDataConnector = new NioSocketConnector();  
118 -  
119 - LoggingFilter log = new LoggingFilter();  
120 - log.setMessageReceivedLogLevel(LogLevel.DEBUG);  
121 - pdDataConnector.getFilterChain().addLast("logger", log);  
122 -  
123 - pdDataConnector.getFilterChain().addLast("codec",  
124 - new ProtocolCodecFilter(new PdMessageCodecFactory()));  
125 -  
126 - IoSessionConfig config = pdDataConnector.getSessionConfig();  
127 -  
128 - config.setReadBufferSize(4096);  
129 - config.setWriteTimeout(10000);  
130 - config.setWriterIdleTime(60000);  
131 -  
132 - config.setIdleTime(IdleStatus.BOTH_IDLE, 60);  
133 -  
134 - pdDataConnector.setHandler(pdClient);  
135 -  
136 - dconnect(ConfigUtil.get("forward.device.name"));  
137 - /*******************************浦东转发********************************/  
138 - pfDataConnector = new NioSocketConnector();  
139 -  
140 - LoggingFilter log1 = new LoggingFilter();  
141 - log1.setMessageReceivedLogLevel(LogLevel.DEBUG);  
142 - pfDataConnector.getFilterChain().addLast("logger", log1);  
143 -  
144 - pfDataConnector.getFilterChain().addLast("codec",  
145 - new ProtocolCodecFilter(new PfMessageCodecFactory()));  
146 -  
147 - IoSessionConfig config1 = pfDataConnector.getSessionConfig();  
148 -  
149 - config1.setReadBufferSize(4096);  
150 - config1.setWriteTimeout(10000);  
151 - config1.setWriterIdleTime(60000);  
152 -  
153 - config1.setIdleTime(IdleStatus.BOTH_IDLE, 60);  
154 -  
155 - pfDataConnector.setHandler(pfClient);  
156 - fconnect(ConfigUtil.get("forward.device.name"));  
157 -  
158 -  
159 - gpsBeforeBuffer.init();  
160 - }  
161 -  
162 -  
163 - static IoSession pdSession;  
164 - static IoSession pfSession;  
165 - final class SessionChecker implements Runnable {  
166 -  
167 - @Override  
168 - public void run() {  
169 - // TODO Auto-generated method stub  
170 - try {  
171 -  
172 - if(!pdSession.isActive()){  
173 - logger.warn("浦东设备注销");  
174 - ClientApp.pdreconn();  
175 - }  
176 -  
177 - if(!pfSession.isActive()){  
178 - logger.warn("浦东转发设备注销");  
179 - ClientApp.pfreconn();  
180 - }  
181 - } catch (Exception e) {  
182 - logger.error("SessionChecker异常", e);  
183 - }  
184 - }  
185 -  
186 - }  
187 -}  
188 \ No newline at end of file 0 \ No newline at end of file
src/main/java/com/bsth/data/gpsdata/client/DataMonitor.java deleted 100644 → 0
1 -package com.bsth.data.gpsdata.client;  
2 -  
3 -/**  
4 - * Created by panzhao on 2017/5/7.  
5 - */  
6 -public class DataMonitor {  
7 -  
8 - public static long lastTimePd;  
9 -  
10 - public static long lastTimePf;  
11 -  
12 -}  
src/main/java/com/bsth/data/gpsdata/client/GpsBeforeBuffer.java deleted 100644 → 0
1 -package com.bsth.data.gpsdata.client;  
2 -  
3 -import com.bsth.Application;  
4 -import com.bsth.data.BasicData;  
5 -import com.bsth.data.gpsdata.GpsEntity;  
6 -import com.bsth.data.gpsdata.arrival.GpsRealAnalyse;  
7 -import com.bsth.data.gpsdata.client.pd.protocol.BasicInfo;  
8 -import org.apache.commons.lang3.StringUtils;  
9 -import org.springframework.beans.factory.annotation.Autowired;  
10 -import org.springframework.stereotype.Component;  
11 -  
12 -import java.util.ArrayList;  
13 -import java.util.LinkedList;  
14 -import java.util.List;  
15 -import java.util.concurrent.TimeUnit;  
16 -  
17 -/**  
18 - * 从 socket client 到 .. 的缓冲  
19 - * Created by panzhao on 2017/5/4.  
20 - */  
21 -@Component  
22 -public class GpsBeforeBuffer {  
23 -  
24 - static LinkedList<GpsEntity> linkedList = new LinkedList<>();  
25 -  
26 - @Autowired  
27 - GpsHandleThread gpsHandleThread;  
28 -  
29 - public void put(BasicInfo basicInfo){  
30 - //放弃补发数据  
31 - byte cacheData = getCacheState(basicInfo.getServiceState());  
32 - if(cacheData == 1)  
33 - return;  
34 - GpsEntity gps = new GpsEntity();  
35 -  
36 - gps.setDeviceId(basicInfo.getDeviceId());  
37 - gps.setTimestamp(basicInfo.getTimestamp());  
38 - gps.setLat(basicInfo.getLat());  
39 - gps.setLon(basicInfo.getLon());  
40 - gps.setDirection((float)basicInfo.getDirection() / 10);  
41 - gps.setValid(basicInfo.getGpsValid());  
42 - gps.setCompanyCode(basicInfo.getCompanyCode());  
43 - gps.setStopNo(basicInfo.getStopNo());  
44 - gps.setUpDown(basicInfo.getUpOrDown());  
45 - gps.setSpeed((float)basicInfo.getSpeedGps() / 10);  
46 - gps.setLineId(String.valueOf(basicInfo.getLineId()));  
47 - gps.setState((int) getService(basicInfo.getServiceState()));  
48 - //没有设备号  
49 - if (StringUtils.isBlank(gps.getDeviceId()))  
50 - return;  
51 -  
52 - String nbbm = BasicData.deviceId2NbbmMap.get(gps.getDeviceId());  
53 - if (StringUtils.isBlank(nbbm))  
54 - gps.setIncomplete(true);  
55 - else  
56 - gps.setNbbm(nbbm);  
57 -  
58 - linkedList.addLast(gps);  
59 - }  
60 -  
61 - public byte getCacheState(long serviceState) {  
62 - return (byte)(((serviceState & 0x00100000) == 0x00100000) ? 1 : 0);  
63 - }  
64 -  
65 - public void init(){  
66 - Application.mainServices.scheduleWithFixedDelay(gpsHandleThread, 20 * 1000, 1100, TimeUnit.MILLISECONDS);  
67 - }  
68 -  
69 - @Component  
70 - public static class GpsHandleThread extends Thread{  
71 -  
72 - List<GpsEntity> list;  
73 -  
74 - @Autowired  
75 - GpsRealAnalyse gpsRealAnalyse;  
76 -  
77 - @Override  
78 - public void run() {  
79 - list = new ArrayList<>(100);  
80 -  
81 - GpsEntity gps;  
82 - for(int i = 0; i < 2000; i ++){  
83 - gps = linkedList.poll();  
84 - if(gps == null)  
85 - break;  
86 - list.add(gps);  
87 - }  
88 -  
89 - gpsRealAnalyse.analyse(list);  
90 - }  
91 - }  
92 -  
93 - /**  
94 - * 获取运营状态  
95 - *  
96 - * @return -1无效 0运营 1未运营  
97 - */  
98 - public static byte getService(long serviceState) {  
99 - if ((serviceState & 0x00020000) == 0x00020000 || (serviceState & 0x80000000) == 0x80000000)  
100 - return -1;  
101 - return (byte) (((serviceState & 0x02000000) == 0x02000000) ? 1 : 0);  
102 - }  
103 -}  
104 \ No newline at end of file 0 \ No newline at end of file
src/main/java/com/bsth/data/gpsdata/client/common/ExceptionUtil.java deleted 100644 → 0
1 -package com.bsth.data.gpsdata.client.common;  
2 -  
3 -public class ExceptionUtil {  
4 -  
5 - public static String getTrace(Throwable e) {  
6 - StringBuilder sb = new StringBuilder();  
7 - sb.append(e.toString());  
8 - for (StackTraceElement ste : e.getStackTrace()) {  
9 - sb.append(ste).append("\r\n");  
10 - }  
11 - return sb.toString();  
12 - }  
13 -}  
src/main/java/com/bsth/data/gpsdata/client/common/Protocol2BizUtil.java deleted 100644 → 0
1 -package com.bsth.data.gpsdata.client.common;  
2 -  
3 -//import com.bsth.data.gpsdata.socket_client_001.pd.protocol.BasicInfo;  
4 -//import com.bsth.data.gpsdata.socket_client_001.pf.protocol.PfMessage;  
5 -//import com.bsth.data.gpsdata.socket_client_001.pf.protocol.Pf_1_0;  
6 -  
7 -import com.bsth.data.gpsdata.client.pd.protocol.BasicInfo;  
8 -import com.bsth.data.gpsdata.client.pf.protocol.PfMessage;  
9 -import com.bsth.data.gpsdata.client.pf.protocol.Pf_1_0;  
10 -import org.slf4j.Logger;  
11 -import org.slf4j.LoggerFactory;  
12 -  
13 -public class Protocol2BizUtil {  
14 -  
15 - private final static Logger log = LoggerFactory.getLogger(Protocol2BizUtil.class);  
16 -  
17 - /**  
18 - * 从协议数据中获得基本数据  
19 - */  
20 - public static BasicInfo getBasicInfoFromMsg(PfMessage msg) {  
21 - if (msg == null) return null;  
22 - BasicInfo info = null;  
23 - if (msg.getCommandType() == 0x01) {  
24 - Pf_1_0 pf_1_0 = (Pf_1_0)msg.getMessageBody();  
25 - info = new BasicInfo();  
26 - info.setLineId(pf_1_0.getXldm());  
27 - info.setDeviceId(pf_1_0.getMtd());  
28 - info.setDriverEmpNo(Integer.parseInt(pf_1_0.getDriver().trim()));  
29 - info.setCarparkNo(pf_1_0.getTccbh());  
30 - info.setStopNo(pf_1_0.getZdbh());  
31 - double lon = pf_1_0.getLon()/1000000, lat = pf_1_0.getLat()/1000000;  
32 - info.setCarLon(((long)lon) * 1000000 + (long)((lon - (long)lon) * 600000));  
33 - info.setCarLat(((int)lat) * 1000000 + (int)((lat - (int)lat) * 600000));  
34 - info.setTimestamp(pf_1_0.getFssj().getTime());  
35 - info.setSpeedGps((short)pf_1_0.getSpeed());  
36 - info.setSpeedSensor((short)(pf_1_0.getSpeed()));  
37 - info.setDirection((short)(pf_1_0.getFx()));  
38 - info.setServiceState(0);  
39 - info.setService(pf_1_0.getYyzt() == 0 ? true : false);  
40 - info.setUpOrDown(pf_1_0.getSxxzt() == 0 ? true : false);  
41 -  
42 - info.setLon(Float.parseFloat(String.valueOf(lon)));  
43 - info.setLat(Float.parseFloat(String.valueOf(lat)));  
44 - }  
45 -  
46 - return info;  
47 - }  
48 -}  
src/main/java/com/bsth/data/gpsdata/client/common/ThreadLocalDateUtil.java deleted 100644 → 0
1 -package com.bsth.data.gpsdata.client.common;  
2 -  
3 -import java.text.DateFormat;  
4 -import java.text.ParseException;  
5 -import java.text.SimpleDateFormat;  
6 -import java.util.Date;  
7 -  
8 -public class ThreadLocalDateUtil {  
9 - private static final String date_format = "yyyyMMddHHmmss";  
10 - private static ThreadLocal<DateFormat> threadLocal = new ThreadLocal<DateFormat>();  
11 -  
12 - public static DateFormat getDateFormat()  
13 - {  
14 - DateFormat df = threadLocal.get();  
15 - if(df==null){  
16 - df = new SimpleDateFormat(date_format);  
17 - threadLocal.set(df);  
18 - }  
19 - return df;  
20 - }  
21 -  
22 - public static String formatDate(Date date) throws ParseException {  
23 - return getDateFormat().format(date);  
24 - }  
25 -  
26 - public static Date parse(String strDate) throws ParseException {  
27 - return getDateFormat().parse(strDate);  
28 - }  
29 -}  
src/main/java/com/bsth/data/gpsdata/client/msg/IMessage.java deleted 100644 → 0
1 -package com.bsth.data.gpsdata.client.msg;  
2 -  
3 -public interface IMessage extends IMessageIO {  
4 -  
5 - public IMessageBody getMessageBody();  
6 -}  
src/main/java/com/bsth/data/gpsdata/client/msg/IMessageBody.java deleted 100644 → 0
1 -package com.bsth.data.gpsdata.client.msg;  
2 -  
3 -public interface IMessageBody extends IMessageIO {  
4 -  
5 - public String getDeviceId();  
6 -  
7 - public long getTimestamp();  
8 -}  
src/main/java/com/bsth/data/gpsdata/client/msg/IMessageIO.java deleted 100644 → 0
1 -package com.bsth.data.gpsdata.client.msg;  
2 -  
3 -public interface IMessageIO {  
4 -  
5 - public void read(byte[] bytes);  
6 -  
7 - public byte[] write();  
8 -}  
src/main/java/com/bsth/data/gpsdata/client/pd/codec/MessageDecoder.java deleted 100644 → 0
1 -package com.bsth.data.gpsdata.client.pd.codec;  
2 -  
3 -import com.bsth.data.gpsdata.client.pd.protocol.PdMessage;  
4 -import org.apache.mina.core.buffer.IoBuffer;  
5 -import org.apache.mina.core.session.IoSession;  
6 -import org.apache.mina.filter.codec.CumulativeProtocolDecoder;  
7 -import org.apache.mina.filter.codec.ProtocolDecoderOutput;  
8 -  
9 -  
10 -public class MessageDecoder extends CumulativeProtocolDecoder {  
11 -  
12 - @Override  
13 - protected boolean doDecode(IoSession session, IoBuffer in,  
14 - ProtocolDecoderOutput out) throws Exception {  
15 - // TODO Auto-generated method stub  
16 - while (in.remaining() > 3) {  
17 - in.mark();  
18 - byte head1 = in.get(), head2 = in.get(), lenh = in.get(), lenl = in.get();  
19 - int len = ((lenh & 0xff) << 8) + (lenl & 0xff);  
20 - if ((head1 & 0xff) == 0xfa && (head2 & 0xff) == 0xf5) {  
21 - if (in.remaining() > len) {  
22 - byte[] bytes = new byte[len + 1];  
23 - in.get(bytes);  
24 - PdMessage msg = new PdMessage();  
25 - msg.read(bytes);  
26 - out.write(msg);  
27 - /*if ("true".equals(ConfigUtil.getProperty("protocolup", "true"))) {  
28 - UpProtocolDataService.getInstance().write(new byte[]{ head1, head2, lenh, lenl });  
29 - UpProtocolDataService.getInstance().write(bytes);  
30 - }*/  
31 - } else {  
32 - in.reset();  
33 - return false;  
34 - }  
35 - }  
36 - }  
37 - return false;  
38 - }  
39 -  
40 - /*private static String toHexString(byte[] bytes) {  
41 - StringBuilder sb = new StringBuilder();  
42 - for (byte b : bytes) {  
43 - sb.append(Integer.toHexString(b & 0xff) + "|");  
44 - }  
45 - return sb.toString();  
46 - }*/  
47 -}  
src/main/java/com/bsth/data/gpsdata/client/pd/codec/MessageEncoder.java deleted 100644 → 0
1 -package com.bsth.data.gpsdata.client.pd.codec;  
2 -  
3 -import org.apache.mina.core.buffer.IoBuffer;  
4 -import org.apache.mina.core.session.IoSession;  
5 -import org.apache.mina.filter.codec.ProtocolEncoderAdapter;  
6 -import org.apache.mina.filter.codec.ProtocolEncoderOutput;  
7 -  
8 -  
9 -public class MessageEncoder extends ProtocolEncoderAdapter {  
10 -  
11 - @Override  
12 - public void encode(IoSession session, Object message,  
13 - ProtocolEncoderOutput out) throws Exception {  
14 - // TODO Auto-generated method stub  
15 - IoBuffer buf = IoBuffer.allocate(1024).setAutoExpand(true);  
16 - buf.put((byte[])message);  
17 - buf.flip();  
18 - out.write(buf);  
19 - /*if ("true".equals(ConfigUtil.getProperty("protocoldown", "true"))) {  
20 - DownProtocolDataService.getInstance().write((byte[])message);  
21 - }*/  
22 - }  
23 -  
24 -}  
src/main/java/com/bsth/data/gpsdata/client/pd/codec/PdMessageCodecFactory.java deleted 100644 → 0
1 -package com.bsth.data.gpsdata.client.pd.codec;  
2 -  
3 -import org.apache.mina.core.session.IoSession;  
4 -import org.apache.mina.filter.codec.ProtocolCodecFactory;  
5 -import org.apache.mina.filter.codec.ProtocolDecoder;  
6 -import org.apache.mina.filter.codec.ProtocolEncoder;  
7 -  
8 -public class PdMessageCodecFactory implements ProtocolCodecFactory {  
9 -  
10 - private ProtocolEncoder encoder;  
11 - private ProtocolDecoder decoder;  
12 -  
13 - public PdMessageCodecFactory() {  
14 - encoder = new MessageEncoder();  
15 - decoder = new MessageDecoder();  
16 - }  
17 -  
18 - @Override  
19 - public ProtocolEncoder getEncoder(IoSession session) throws Exception {  
20 - // TODO Auto-generated method stub  
21 - return encoder;  
22 - }  
23 -  
24 - @Override  
25 - public ProtocolDecoder getDecoder(IoSession session) throws Exception {  
26 - // TODO Auto-generated method stub  
27 - return decoder;  
28 - }  
29 -  
30 -}  
src/main/java/com/bsth/data/gpsdata/client/pd/common/ConvertUtil.java deleted 100644 → 0
1 -package com.bsth.data.gpsdata.client.pd.common;  
2 -  
3 -import com.bsth.data.gpsdata.client.common.ThreadLocalDateUtil;  
4 -import org.slf4j.Logger;  
5 -import org.slf4j.LoggerFactory;  
6 -  
7 -import java.text.ParseException;  
8 -import java.util.Arrays;  
9 -import java.util.Calendar;  
10 -import java.util.Date;  
11 -  
12 -  
13 -public class ConvertUtil {  
14 -  
15 - private final static Logger log = LoggerFactory.getLogger(ConvertUtil.class);  
16 -  
17 - public static int bcd2int(byte[] bytes, int start, int len) {  
18 - if (len > 4 || len == 0)  
19 - throw new IllegalArgumentException("bcd2int 字节数不符合要求");  
20 - String temp = "";  
21 - for (int i = 0;i < len;i++) {  
22 - int val = bytes[start + i] & 0xff;  
23 - if (val < 10) temp += 0;  
24 - temp += Integer.toHexString(val);  
25 - }  
26 - return Integer.parseInt(temp);  
27 - }  
28 -  
29 - public static byte[] int2bcd(int val, int len) {  
30 - if (len > 4 || len == 0)  
31 - throw new IllegalArgumentException("int2bcd 字节数不符合要求");  
32 - byte[] result = new byte[len];  
33 - for (int i = len - 1;i > -1;i--) {  
34 - result[i] = (byte)Integer.parseInt(val%100 + "", 16);  
35 - val = val/100;  
36 - }  
37 - return result;  
38 - }  
39 -  
40 - public static long bcd2long(byte[] bytes, int start, int len) {  
41 - if (len > 8 || len == 0)  
42 - throw new IllegalArgumentException("bcd2long 字节数不符合要求");  
43 - String temp = "";  
44 - for (int i = 0;i < len;i++) {  
45 - int val = bytes[start + i] & 0xff;  
46 - if (val < 10) temp += 0;  
47 - temp += Integer.toHexString(val);  
48 - }  
49 - return Long.parseLong(temp);  
50 - }  
51 -  
52 - public static byte[] long2bcd(long val, int len) {  
53 - if (len > 8 || len == 0)  
54 - throw new IllegalArgumentException("long2bcd 字节数不符合要求");  
55 - byte[] result = new byte[len];  
56 - for (int i = len - 1;i > -1;i--) {  
57 - result[i] = (byte)Integer.parseInt(val%100 + "", 16);  
58 - val = val/100;  
59 - }  
60 - return result;  
61 - }  
62 -  
63 - public static String ascii2string(byte[] bytes, int start, int len) {  
64 - return new String(Arrays.copyOfRange(bytes, start, start + len));  
65 - }  
66 -  
67 - public static byte[] string2ascii(String val, int len) {  
68 - byte[] result = new byte[len];  
69 - byte[] bytes = val.getBytes();  
70 - if (bytes.length > len && len != 0)  
71 - throw new IllegalArgumentException("string2ascii 参数不符合要求");  
72 - if (len != 0)  
73 - for (int i = 0, l = bytes.length;i < l;i++) result[i] = bytes[i];  
74 - else return bytes;  
75 - return result;  
76 - }  
77 -  
78 - public static long bcd2timestamp(byte[] bytes, int start) {  
79 - String temp = "20";  
80 - for (int i = 0;i < 6;i++) {  
81 - int val = bytes[start + i] & 0xff;  
82 - if (val < 10) temp += 0;  
83 - temp += Integer.toHexString(val);  
84 - }  
85 - Date date = null;  
86 - try {  
87 - date = ThreadLocalDateUtil.parse(temp);  
88 - } catch (ParseException e) {  
89 - log.error("协议中时间数据异常:" + temp);  
90 - }  
91 - if (date != null) return date.getTime();  
92 - return -1;  
93 - }  
94 -  
95 - public static byte[] timestamp2bcd(long val) {  
96 - byte[] result = new byte[6];  
97 - Calendar c = Calendar.getInstance();  
98 - c.setTime(new Date(val));  
99 - result[0] = (byte)(Integer.parseInt(c.get(Calendar.YEAR)%100 + "", 16));  
100 - result[1] = (byte)(Integer.parseInt(c.get(Calendar.MONTH) + 1 + "", 16));  
101 - result[2] = (byte)Integer.parseInt(c.get(Calendar.DAY_OF_MONTH) + "", 16);  
102 - result[3] = (byte)Integer.parseInt(c.get(Calendar.HOUR_OF_DAY) + "", 16);  
103 - result[4] = (byte)Integer.parseInt(c.get(Calendar.MINUTE) + "", 16);  
104 - result[5] = (byte)Integer.parseInt(c.get(Calendar.SECOND) + "", 16);  
105 - return result;  
106 - }  
107 -  
108 - public static byte[] int2hex(int val, int len) {  
109 - if (len < 1)  
110 - throw new IllegalArgumentException("int2hex len 参数不符合要求");  
111 - byte[] result = new byte[len];  
112 - for (int i = 0;i < len;i++) {  
113 - result[len - 1 - i] = (byte)(val%100);  
114 - val = val/100;  
115 - }  
116 -  
117 - return result;  
118 - }  
119 -  
120 - public static int bytes2int(byte[] bytes, int start, int len) {  
121 - int val = 0;  
122 - for (int i = 0; i < len; i++) {  
123 - int shift = (len - 1 - i) * 8;  
124 - val += (bytes[start + i] & 0x0000FF) << shift;  
125 - }  
126 -  
127 - return val;  
128 - }  
129 -}  
src/main/java/com/bsth/data/gpsdata/client/pd/handler/PdClientHandler.java deleted 100644 → 0
1 -package com.bsth.data.gpsdata.client.pd.handler;  
2 -  
3 -import com.bsth.data.gpsdata.client.GpsBeforeBuffer;  
4 -import com.bsth.data.gpsdata.client.msg.IMessageBody;  
5 -import com.bsth.data.gpsdata.client.pd.protocol.PdMessage;  
6 -import com.bsth.data.gpsdata.client.pd.protocol.Pd_41_0;  
7 -import com.bsth.data.gpsdata.client.pd.protocol.Pd_42_0;  
8 -import org.apache.mina.core.service.IoHandlerAdapter;  
9 -import org.apache.mina.core.session.IdleStatus;  
10 -import org.apache.mina.core.session.IoSession;  
11 -import org.apache.mina.transport.socket.SocketSessionConfig;  
12 -import org.slf4j.Logger;  
13 -import org.slf4j.LoggerFactory;  
14 -import org.springframework.beans.factory.annotation.Autowired;  
15 -import org.springframework.stereotype.Service;  
16 -  
17 -import java.io.IOException;  
18 -  
19 -  
20 -@Service  
21 -public class PdClientHandler extends IoHandlerAdapter{  
22 -  
23 - private final static Logger log = LoggerFactory.getLogger(PdClientHandler.class);  
24 -  
25 - @Autowired  
26 - GpsBeforeBuffer gpsBeforeBuffer;  
27 -  
28 - @Override  
29 - public void sessionCreated(IoSession session) throws Exception {  
30 - SocketSessionConfig cfg = (SocketSessionConfig) session.getConfig();  
31 - cfg.setSoLinger(0);  
32 - }  
33 -  
34 - @Override  
35 - public void sessionOpened(IoSession session) throws Exception {  
36 -  
37 - }  
38 -  
39 - @Override  
40 - public void sessionClosed(IoSession session) throws Exception {  
41 - String deviceId = (String)session.getAttribute("deviceId");  
42 - if (deviceId != null) {  
43 - //SessionManager.getInstance().unregister(deviceId);  
44 - log.info("连网关设备编号:" + deviceId + "断开连接");  
45 - log.warn(deviceId + "网关设备注销");  
46 -  
47 - //ClientApp.dconnect(deviceId);  
48 - } else {  
49 - log.info("连网关设备编号:" + deviceId + "断开连接");  
50 - }  
51 - }  
52 -  
53 - @Override  
54 - public void sessionIdle(IoSession session, IdleStatus status) throws Exception {  
55 - session.closeNow();  
56 - }  
57 -  
58 - @Override  
59 - public void exceptionCaught(IoSession session, Throwable cause) throws Exception {  
60 - if (cause instanceof IOException) session.closeNow();  
61 - log.error("PdClientHandler异常:", cause);  
62 - }  
63 -  
64 - @Override  
65 - public void messageReceived(IoSession session, Object message) throws Exception {  
66 - PdMessage msg = (PdMessage)message;  
67 - IMessageBody body = msg.getMessageBody();  
68 - if (body != null) {  
69 - //String deviceId = body.getDeviceId();  
70 - if (0x31 == msg.getCommandType()) {  
71 - //IoSession regSession = SessionManager.getInstance().getSession(deviceId);  
72 - //if (regSession != null) regSession.closeNow();  
73 - //SessionManager.getInstance().register(deviceId, session);  
74 - log.debug("设备编号:" + body.getDeviceId() + "建立连接");  
75 - }  
76 - else if(0x41 == msg.getCommandType()){  
77 - Pd_41_0 pd41 = (Pd_41_0)msg.getMessageBody();  
78 - gpsBeforeBuffer.put(pd41.getInfo());  
79 - }  
80 - else if(0x42 == msg.getCommandType()){  
81 - Pd_42_0 pd42 = (Pd_42_0)msg.getMessageBody();  
82 - gpsBeforeBuffer.put(pd42.getInfo());  
83 - }  
84 - }  
85 - }  
86 -  
87 - @Override  
88 - public void messageSent(IoSession session, Object message) throws Exception {  
89 -  
90 - }  
91 -}  
src/main/java/com/bsth/data/gpsdata/client/pd/protocol/BasicInfo.java deleted 100644 → 0
1 -package com.bsth.data.gpsdata.client.pd.protocol;  
2 -  
3 -  
4 -import com.bsth.data.gpsdata.client.pd.common.ConvertUtil;  
5 -  
6 -import java.nio.ByteBuffer;  
7 -import java.util.Date;  
8 -  
9 -  
10 -public class BasicInfo {  
11 -  
12 - private int cityCode;  
13 - private short industryCode;  
14 - private short companyCode;  
15 - private String deviceId;  
16 - private int lineId;  
17 - private int driverEmpNo;  
18 - private short carparkSerialNo;  
19 - private String carparkNo;  
20 - private short stopSerialNo;  
21 - private String stopNo;  
22 - // 经度 bcd 5 0121245333表示经度为121度24.5333分  
23 - private long carLon;  
24 - // 维度  
25 - private int carLat;  
26 - private long timestamp;  
27 - // 速度(传感器)bcd 2 保留一位小数 km/h  
28 - private short speedSensor;  
29 - // 速度(gps)bcd 2 保留一位小数 km/h  
30 - private short speedGps;  
31 - // 方向 bcd 2 0-359.5 保留一位小数  
32 - private short direction;  
33 - // 车内温度 bcd 2 第一字节为符号 00为正 01为负 后一字节为温度  
34 - private short inTemp;  
35 - // 营运状态 hex 4高位在前  
36 - // 第一字节位 7 GPS有/无效|6 场外/内|5 起终点站外/内|4 上/下行|3 已知/未知|2站外/站内|1 营运/非营运|0 在线路上/不在  
37 - // 7=1时其它位无效|0=1时3,4,5无效 第二字节6,7无效|3=1时2,4无效 第二字节6,7无效  
38 - // 第二字节位 7 非/标杆点|6 非/中途校时点|5 点/熄火|4 实时/缓存数据|3 门开/关|2 预留|1 非/包车|0预留  
39 - // 1=1时 第一字节0-6无效 6,7无效  
40 - // 后两个字节保留  
41 - private long serviceState;  
42 - // 调控状态  
43 - private long controlState;  
44 - // 累计里程 km 保留两位小数  
45 - private int totalMiles;  
46 - // 水温  
47 - private byte waterTemp;  
48 - // 油耗 (第一个字节 + 第二个字节/10)升/百公里  
49 - private int oilConsumption;  
50 - // 发动机转速 100转/秒  
51 - private int engineSpeed;  
52 - private float lon;  
53 - private float lat;  
54 -  
55 - private boolean inOutStopFlag = false;  
56 -  
57 - public void read(byte[] bytes, int idx) {  
58 - // TODO Auto-generated method stub  
59 - ByteBuffer buf = ByteBuffer.wrap(bytes);  
60 - cityCode = ConvertUtil.bcd2int(bytes, idx, 3); idx += 3;  
61 - industryCode = (short)(bytes[idx] & 0xff); idx++;  
62 - companyCode = (short)(bytes[idx] & 0xff); idx++;  
63 - deviceId = ConvertUtil.ascii2string(bytes, idx, 8); idx += 8;  
64 - lineId = ConvertUtil.bcd2int(bytes, idx, 3); idx += 3;  
65 - driverEmpNo = ConvertUtil.bcd2int(bytes, idx, 4); idx +=4;  
66 - carparkSerialNo = (short)(bytes[idx] & 0xff); idx++;  
67 - carparkNo = ConvertUtil.ascii2string(bytes, idx, 8); idx += 8;  
68 - stopSerialNo = (short)(bytes[idx] & 0xff); idx++;  
69 - stopNo = ConvertUtil.ascii2string(bytes, idx, 8).trim(); idx += 8;  
70 - carLon = ConvertUtil.bcd2long(bytes, idx, 5); lon = (int)(carLon/1000000) + carLon%1000000/600000f; idx += 5;  
71 - carLat = ConvertUtil.bcd2int(bytes, idx, 4); lat = carLat/1000000 + carLat%1000000/600000f; idx += 4;  
72 - timestamp = ConvertUtil.bcd2timestamp(bytes, idx); idx += 6;  
73 - speedSensor = (short)ConvertUtil.bcd2int(bytes, idx, 2); idx += 2;  
74 - speedGps = (short)ConvertUtil.bcd2int(bytes, idx, 2); idx += 2;  
75 - direction = (short)(ConvertUtil.bcd2int(bytes, idx, 2)); idx += 2;  
76 - inTemp = (short)ConvertUtil.bcd2int(bytes, idx, 2); idx += 2;  
77 - serviceState = buf.getInt(idx) & 0xffffffff; idx += 4;  
78 - controlState = buf.getInt(idx) & 0xffffffff; idx += 4;  
79 - totalMiles = ConvertUtil.bcd2int(bytes, idx, 4); idx += 4;  
80 - waterTemp = bytes[idx]; idx++;  
81 - oilConsumption = ConvertUtil.bcd2int(bytes, idx, 4); idx += 4;  
82 - engineSpeed = buf.getShort(idx) & 0xffff; idx += 2;  
83 - }  
84 -  
85 - public byte[] write() {  
86 - ByteBuffer buf = ByteBuffer.allocate(80);  
87 - buf.put(ConvertUtil.int2bcd(cityCode, 3));  
88 - buf.put((byte)industryCode);  
89 - buf.put((byte)companyCode);  
90 - buf.put(ConvertUtil.string2ascii(deviceId, 8));  
91 - buf.put(ConvertUtil.int2bcd(lineId, 3));  
92 - buf.put(ConvertUtil.int2bcd(driverEmpNo, 4));  
93 - buf.put((byte)carparkSerialNo);  
94 - buf.put(ConvertUtil.string2ascii(carparkNo, 8));  
95 - buf.put((byte)stopSerialNo);  
96 - buf.put(ConvertUtil.string2ascii(stopNo, 8));  
97 - buf.put(ConvertUtil.long2bcd(carLon, 5));  
98 - buf.put(ConvertUtil.long2bcd(carLat, 4));  
99 - buf.put(ConvertUtil.timestamp2bcd(timestamp));  
100 - buf.put(ConvertUtil.int2bcd(speedSensor, 2));  
101 - buf.put(ConvertUtil.int2bcd(speedGps, 2));  
102 - buf.put(ConvertUtil.int2bcd(direction, 2));  
103 - buf.put(ConvertUtil.int2bcd(inTemp, 2));  
104 - buf.putInt((int)serviceState);  
105 - buf.putInt((int)controlState);  
106 - buf.put(ConvertUtil.int2bcd(totalMiles, 4));  
107 - buf.put(waterTemp);  
108 - buf.put(ConvertUtil.int2bcd(oilConsumption, 2));  
109 - buf.putShort((short)engineSpeed);  
110 -  
111 - return buf.array();  
112 - }  
113 -  
114 - public String getDeviceId() {  
115 - // TODO Auto-generated method stub  
116 - return deviceId;  
117 - }  
118 -  
119 - public int getCityCode() {  
120 - return cityCode;  
121 - }  
122 -  
123 - public short getIndustryCode() {  
124 - return industryCode;  
125 - }  
126 -  
127 - public short getCompanyCode() {  
128 - return companyCode;  
129 - }  
130 -  
131 - public int getLineId() {  
132 - return lineId;  
133 - }  
134 -  
135 - public int getDriverEmpNo() {  
136 - return driverEmpNo;  
137 - }  
138 -  
139 - public short getCarparkSerialNo() {  
140 - return carparkSerialNo;  
141 - }  
142 -  
143 - public String getCarparkNo() {  
144 - return carparkNo;  
145 - }  
146 -  
147 - public short getStopSerialNo() {  
148 - return stopSerialNo;  
149 - }  
150 -  
151 - public String getStopNo() {  
152 - return stopNo;  
153 - }  
154 -  
155 - public long getCarLon() {  
156 - return carLon;  
157 - }  
158 -  
159 - public int getCarLat() {  
160 - return carLat;  
161 - }  
162 -  
163 - public long getTimestamp() {  
164 - return timestamp;  
165 - }  
166 -  
167 - public short getSpeedSensor() {  
168 - return speedSensor;  
169 - }  
170 -  
171 - public short getSpeedGps() {  
172 - return speedGps;  
173 - }  
174 -  
175 - public short getDirection() {  
176 - return direction;  
177 - }  
178 -  
179 - public short getInTemp() {  
180 - return inTemp;  
181 - }  
182 -  
183 - public long getServiceState() {  
184 - return serviceState;  
185 - }  
186 -  
187 - public long getControlState() {  
188 - return controlState;  
189 - }  
190 -  
191 - public int getTotalMiles() {  
192 - return totalMiles;  
193 - }  
194 -  
195 - public byte getWaterTemp() {  
196 - return waterTemp;  
197 - }  
198 -  
199 - public int getOilConsumption() {  
200 - return oilConsumption;  
201 - }  
202 -  
203 - public int getEngineSpeed() {  
204 - return engineSpeed;  
205 - }  
206 -  
207 - public float getLon() {  
208 - return lon;  
209 - }  
210 -  
211 - public void setLon(float lon) {  
212 - this.lon = lon;  
213 - }  
214 -  
215 - public float getLat() {  
216 - return lat;  
217 - }  
218 -  
219 - public void setLat(float lat) {  
220 - this.lat = lat;  
221 - }  
222 -  
223 - public void setStopNo(String stopNo) {  
224 - this.stopNo = stopNo;  
225 - }  
226 -  
227 - public byte getGpsValid() {  
228 - return (byte)(((serviceState & 0x80000000) == 0x80000000) ? 1 : 0);  
229 - }  
230 -  
231 - /**  
232 - * 获取车辆在场外/内  
233 - * @return -1无效 0场外1场内  
234 - */  
235 - public byte getInOrOutCarpark() {  
236 - if ((serviceState & 0x00020000) == 0x00020000 || (serviceState & 0x80000000) == 0x80000000  
237 - || (serviceState & 0x01000000) == 0x01000000) return -1;  
238 - return (byte)(((serviceState & 0x40000000) == 0x40000000) ? 1 : 0);  
239 - }  
240 -  
241 - public void setInOrOutCarpark(boolean inOutFlag) {  
242 - if (inOutFlag) serviceState |= 0x40000000;  
243 - else serviceState &= 0xbfffffff;  
244 - }  
245 -  
246 - /**  
247 - * 获取车辆在起终点站外/内  
248 - * @return -1无效 0起终点站外1起终点站内  
249 - */  
250 - public byte getInOrOutStartEnd() {  
251 - if ((serviceState & 0x00020000) == 0x00020000 || (serviceState & 0x80000000) == 0x80000000  
252 - || (serviceState & 0x01000000) == 0x01000000) return -1;  
253 - return (byte)(((serviceState & 0x20000000) == 0x20000000) ? 1 : 0);  
254 - }  
255 -  
256 - /**  
257 - * 获取车辆线路上下行  
258 - * @return -1无效 0上行 1下行  
259 - */  
260 - public byte getUpOrDown() {  
261 - if ((serviceState & 0x00020000) == 0x00020000 || (serviceState & 0x80000000) == 0x80000000  
262 - || (serviceState & 0x01000000) == 0x01000000  
263 - || (serviceState & 0x08000000) == 0x08000000) return -1;  
264 - return (byte)(((serviceState & 0x10000000) == 0x10000000) ? 1 : 0);  
265 - }  
266 -  
267 - public void setUpOrDown(boolean upOrDown) {  
268 - if (!upOrDown) serviceState |= 0x10000000;  
269 - else serviceState &= 0xefffffff;  
270 - }  
271 -  
272 - /**  
273 - * 获取车辆在站外/内  
274 - * @return -1无效 0站外 1站内  
275 - */  
276 - public byte getInOrOutStop() {  
277 - if ((serviceState & 0x00020000) == 0x00020000 || (serviceState & 0x80000000) == 0x80000000  
278 - || (serviceState & 0x01000000) == 0x01000000  
279 - || (serviceState & 0x08000000) == 0x08000000) return -1;  
280 - return (byte)(((serviceState & 0x04000000) == 0x04000000) ? 1 : 0);  
281 - }  
282 -  
283 - public void setInOrOutStop(boolean isInOrOutStop) {  
284 - inOutStopFlag = true;  
285 - if (isInOrOutStop) serviceState |= 0x04000000;  
286 - else serviceState &= 0xfbffffff;  
287 - }  
288 -  
289 - /**  
290 - * 获取运营状态  
291 - * @return -1无效 0运营 1未运营  
292 - */  
293 - public byte getService() {  
294 - if ((serviceState & 0x00020000) == 0x00020000 || (serviceState & 0x80000000) == 0x80000000) return -1;  
295 - return (byte)(((serviceState & 0x02000000) == 0x02000000) ? 1 : 0);  
296 - }  
297 -  
298 - public void setService(boolean service) {  
299 - if (!service) serviceState |= 0x02000000;  
300 - else serviceState &= 0xfdffffff;  
301 - }  
302 -  
303 - /**  
304 - * 获得车辆状态  
305 - * @return 0点火 1熄火  
306 - */  
307 - public byte getVehicleState() {  
308 - return (byte)(((serviceState & 0x00200000) == 0x00200000) ? 1 : 0);  
309 - }  
310 -  
311 - public void setInOutStopFlag(boolean inOutStopFlag) {  
312 - this.inOutStopFlag = inOutStopFlag;  
313 - }  
314 -  
315 - public boolean getInOutStopFlag() {  
316 - return inOutStopFlag;  
317 - }  
318 -  
319 - public String toString() {  
320 - Date d = new Date();d.setTime(timestamp);  
321 - StringBuilder sb = new StringBuilder();  
322 - sb.append("城市代码:").append(cityCode)  
323 - .append("行业代码:").append(industryCode)  
324 - .append("公司代码:").append(companyCode)  
325 - .append("设备号:").append(deviceId)  
326 - .append("线路编号:").append(lineId)  
327 - .append("驾驶员工号:").append(driverEmpNo)  
328 - .append("停车场序列号:").append(carparkSerialNo)  
329 - .append("停车场编号:").append(carparkNo)  
330 - .append("站点序列号").append(stopSerialNo)  
331 - .append("站点编号:").append(stopNo)  
332 - .append("经度:").append(carLon)  
333 - .append("维度:").append(carLat)  
334 - .append("时间戳:").append(d)  
335 - .append("速度(传感器):").append(speedSensor)  
336 - .append("速度(gps)").append(speedGps)  
337 - .append("方向:").append(direction)  
338 - .append("车内温度:").append(inTemp)  
339 - .append("营运状态:").append(serviceState)  
340 - .append("调控状态:").append(controlState)  
341 - .append("总里程:").append(totalMiles)  
342 - .append("水温:").append(waterTemp)  
343 - .append("油耗:").append(oilConsumption)  
344 - .append("发动机速度:").append(engineSpeed);  
345 -  
346 - return sb.toString();  
347 - }  
348 - /* ----------------------------------------------------- */  
349 -  
350 - public void setCityCode(int cityCode) {  
351 - this.cityCode = cityCode;  
352 - }  
353 -  
354 - public void setIndustryCode(short industryCode) {  
355 - this.industryCode = industryCode;  
356 - }  
357 -  
358 - public void setCompanyCode(short companyCode) {  
359 - this.companyCode = companyCode;  
360 - }  
361 -  
362 - public void setDeviceId(String deviceId) {  
363 - this.deviceId = deviceId;  
364 - }  
365 -  
366 - public void setLineId(int lineId) {  
367 - this.lineId = lineId;  
368 - }  
369 -  
370 - public void setDriverEmpNo(int driverEmpNo) {  
371 - this.driverEmpNo = driverEmpNo;  
372 - }  
373 -  
374 - public void setCarparkSerialNo(short carparkSerialNo) {  
375 - this.carparkSerialNo = carparkSerialNo;  
376 - }  
377 -  
378 - public void setCarparkNo(String carparkNo) {  
379 - this.carparkNo = carparkNo;  
380 - }  
381 -  
382 - public void setStopSerialNo(short stopSerialNo) {  
383 - this.stopSerialNo = stopSerialNo;  
384 - }  
385 -  
386 - public void setCarLon(long carLon) {  
387 - this.carLon = carLon;  
388 - }  
389 -  
390 - public void setCarLat(int carLat) {  
391 - this.carLat = carLat;  
392 - }  
393 -  
394 - public void setTimestamp(long timestamp) {  
395 - this.timestamp = timestamp;  
396 - }  
397 -  
398 - public void setSpeedSensor(short speedSensor) {  
399 - this.speedSensor = speedSensor;  
400 - }  
401 -  
402 - public void setSpeedGps(short speedGps) {  
403 - this.speedGps = speedGps;  
404 - }  
405 -  
406 - public void setDirection(short direction) {  
407 - this.direction = direction;  
408 - }  
409 -  
410 - public void setInTemp(short inTemp) {  
411 - this.inTemp = inTemp;  
412 - }  
413 -  
414 - public void setServiceState(long serviceState) {  
415 - this.serviceState = serviceState;  
416 - }  
417 -  
418 - public void setControlState(long controlState) {  
419 - this.controlState = controlState;  
420 - }  
421 -  
422 - public void setTotalMiles(int totalMiles) {  
423 - this.totalMiles = totalMiles;  
424 - }  
425 -  
426 - public void setWaterTemp(byte waterTemp) {  
427 - this.waterTemp = waterTemp;  
428 - }  
429 -  
430 - public void setOilConsumption(int oilConsumption) {  
431 - this.oilConsumption = oilConsumption;  
432 - }  
433 -  
434 - public void setEngineSpeed(int engineSpeed) {  
435 - this.engineSpeed = engineSpeed;  
436 - }  
437 -}  
src/main/java/com/bsth/data/gpsdata/client/pd/protocol/PdFactory.java deleted 100644 → 0
1 -package com.bsth.data.gpsdata.client.pd.protocol;  
2 -  
3 -  
4 -import com.bsth.data.gpsdata.client.msg.IMessageBody;  
5 -  
6 -public class PdFactory {  
7 -  
8 - public static IMessageBody create(int commandType, byte[] data) {  
9 - String pkgName = PdFactory.class.getPackage().getName();  
10 - IMessageBody body = null;  
11 - try {  
12 - Class<?> cls = Class.forName(pkgName + ".Pd_" + Integer.toHexString(commandType).toUpperCase() + "_0");  
13 - body = (IMessageBody)cls.newInstance();  
14 - body.read(data);  
15 - } catch (ClassNotFoundException e) {  
16 - // TODO Auto-generated catch block  
17 - //e.printStackTrace();  
18 - } catch (InstantiationException e) {  
19 - // TODO Auto-generated catch block  
20 - e.printStackTrace();  
21 - } catch (IllegalAccessException e) {  
22 - // TODO Auto-generated catch block  
23 - e.printStackTrace();  
24 - }  
25 - return body;  
26 - }  
27 -}  
src/main/java/com/bsth/data/gpsdata/client/pd/protocol/PdMessage.java deleted 100644 → 0
1 -package com.bsth.data.gpsdata.client.pd.protocol;  
2 -  
3 -  
4 -import com.bsth.data.gpsdata.client.msg.IMessage;  
5 -import com.bsth.data.gpsdata.client.msg.IMessageBody;  
6 -  
7 -import java.nio.ByteBuffer;  
8 -import java.util.Arrays;  
9 -  
10 -public class PdMessage implements IMessage {  
11 -  
12 - private short version;  
13 - private short serialNo;  
14 - private short commandType;  
15 - private IMessageBody messageBody;  
16 - private byte checkSum;  
17 -  
18 - public short getVersion() {  
19 - return version;  
20 - }  
21 -  
22 - public void setVersion(short version) {  
23 - this.version = version;  
24 - }  
25 -  
26 - public short getSerialNo() {  
27 - return serialNo;  
28 - }  
29 -  
30 - public void setSerialNo(short serialNo) {  
31 - this.serialNo = serialNo;  
32 - }  
33 -  
34 - public short getCommandType() {  
35 - return commandType;  
36 - }  
37 -  
38 - public void setCommandType(short commandType) {  
39 - this.commandType = commandType;  
40 - }  
41 -  
42 - public IMessageBody getMessageBody() {  
43 - return messageBody;  
44 - }  
45 -  
46 - public void setMessageBody(IMessageBody messageBody) {  
47 - this.messageBody = messageBody;  
48 - }  
49 -  
50 - public byte getCheckSum() {  
51 - return checkSum;  
52 - }  
53 -  
54 - public void setCheckSum(byte checkSum) {  
55 - this.checkSum = checkSum;  
56 - }  
57 -  
58 - public void read(byte[] data) {  
59 - int idx = 0, len = data.length;  
60 - version = (short)(data[idx] & 0xff); idx++;  
61 - serialNo = (short)(data[idx] & 0xff); idx++;  
62 - commandType = (short)(data[idx] & 0xff); idx++;  
63 - byte[] temp = Arrays.copyOfRange(data, idx, len - 1);  
64 - checkSum = data[len - 1];  
65 - byte sum = 0;  
66 - for (int i = 0;i < len - 1;i++) {  
67 - sum += data[i];  
68 - }  
69 - if (sum == checkSum) {  
70 - messageBody = PdFactory.create(commandType, temp);  
71 - }  
72 - }  
73 -  
74 - public byte[] write() {  
75 - byte[] bytes = messageBody.write();  
76 - ByteBuffer buf = ByteBuffer.allocate(bytes.length + 8);  
77 - buf.put(new byte[] { (byte)0xfa, (byte)0xf5 });  
78 - buf.putShort((short)(bytes.length + 3));  
79 - buf.put((byte)version);  
80 - buf.put((byte)serialNo);  
81 - buf.put((byte)commandType);  
82 - buf.put(bytes);  
83 - checkSum = 0;  
84 - checkSum += (byte)version;  
85 - checkSum += (byte)serialNo;  
86 - checkSum += (byte)commandType;  
87 - for (byte b : bytes) {  
88 - checkSum += b;  
89 - }  
90 - buf.put(checkSum);  
91 - return buf.array();  
92 - }  
93 -  
94 - public String toString() {  
95 - StringBuilder sb = new StringBuilder();  
96 - sb.append("报文版本号:").append(version)  
97 - .append("报文序列号:").append(serialNo)  
98 - .append("报文命令字:0x").append(Integer.toHexString(commandType))  
99 - .append("报文主体:(").append(messageBody).append(")")  
100 - .append("报文校验和:").append(checkSum);  
101 -  
102 - return sb.toString();  
103 - }  
104 -}  
src/main/java/com/bsth/data/gpsdata/client/pd/protocol/Pd_31_0.java deleted 100644 → 0
1 -package com.bsth.data.gpsdata.client.pd.protocol;  
2 -  
3 -  
4 -import com.bsth.data.gpsdata.client.msg.IMessageBody;  
5 -import com.bsth.data.gpsdata.client.pd.common.ConvertUtil;  
6 -  
7 -import java.nio.ByteBuffer;  
8 -import java.util.Date;  
9 -  
10 -  
11 -public class Pd_31_0 implements IMessageBody {  
12 -  
13 - // bcd 1  
14 - private short funCode;  
15 - // bcd 3  
16 - private int lineId;  
17 - // ascii 8  
18 - private String deviceId;  
19 - // bcd 6 yyMMddhhmmss  
20 - private long timestamp;  
21 - // hex 8  
22 - private String reserved;  
23 -  
24 - @Override  
25 - public void read(byte[] bytes) {  
26 - // TODO Auto-generated method stub  
27 - int idx = 0;  
28 - funCode = (short)(bytes[idx] & 0xff);idx++;  
29 - lineId = ConvertUtil.bcd2int(bytes, idx, 3);idx += 3;  
30 - deviceId = ConvertUtil.ascii2string(bytes, idx, 8);idx += 8;  
31 - timestamp = ConvertUtil.bcd2timestamp(bytes, idx);idx += 6;  
32 - reserved = ConvertUtil.ascii2string(bytes, idx, 8);idx += 8;  
33 - }  
34 -  
35 - @Override  
36 - public byte[] write() {  
37 - // TODO Auto-generated method stub  
38 - ByteBuffer buf = ByteBuffer.allocate(26);  
39 - buf.put((byte)funCode);  
40 - buf.put(ConvertUtil.int2bcd(lineId, 3));  
41 - buf.put(deviceId.getBytes());  
42 - buf.put(ConvertUtil.timestamp2bcd(timestamp));  
43 - buf.put(new byte[]{0,0,0,0,0,0,0,0});  
44 - return buf.array();  
45 - }  
46 -  
47 - public short getFunCode() {  
48 - return funCode;  
49 - }  
50 -  
51 - public int getLineId() {  
52 - return lineId;  
53 - }  
54 -  
55 - public String getDeviceId() {  
56 - return deviceId;  
57 - }  
58 -  
59 - public long getTimestamp() {  
60 - return timestamp;  
61 - }  
62 -  
63 - public String getReserved() {  
64 - return reserved;  
65 - }  
66 -  
67 - public void setFunCode(short funCode) {  
68 - this.funCode = funCode;  
69 - }  
70 -  
71 - public void setLineId(int lineId) {  
72 - this.lineId = lineId;  
73 - }  
74 -  
75 - public void setDeviceId(String deviceId) {  
76 - this.deviceId = deviceId;  
77 - }  
78 -  
79 - public void setTimeStamp(long timestamp) {  
80 - this.timestamp = timestamp;  
81 - }  
82 -  
83 - public void setReserved(String reserved) {  
84 - this.reserved = reserved;  
85 - }  
86 -  
87 - public String toString() {  
88 - Date d = new Date();  
89 - d.setTime(timestamp);  
90 - StringBuilder sb = new StringBuilder();  
91 - sb.append("功能号:").append(Integer.toHexString(funCode))  
92 - .append("线路编号:").append(lineId)  
93 - .append("设备编号:").append(deviceId)  
94 - .append("时间戳:").append(d);  
95 - return sb.toString();  
96 - }  
97 -}  
src/main/java/com/bsth/data/gpsdata/client/pd/protocol/Pd_41_0.java deleted 100644 → 0
1 -package com.bsth.data.gpsdata.client.pd.protocol;  
2 -  
3 -  
4 -import com.bsth.data.gpsdata.client.msg.IMessageBody;  
5 -import com.bsth.data.gpsdata.client.pd.common.ConvertUtil;  
6 -  
7 -import java.nio.ByteBuffer;  
8 -  
9 -  
10 -public class Pd_41_0 implements IMessageBody {  
11 -  
12 - private BasicInfo info;  
13 - private short leaveStopDis;  
14 -  
15 - public BasicInfo getInfo() {  
16 - return info;  
17 - }  
18 -  
19 - public void setInfo(BasicInfo info) {  
20 - this.info = info;  
21 - }  
22 -  
23 - public short getLeaveStopDis() {  
24 - return leaveStopDis;  
25 - }  
26 -  
27 - public void setLeaveStopDis(short leaveStopDis) {  
28 - this.leaveStopDis = leaveStopDis;  
29 - }  
30 -  
31 - @Override  
32 - public void read(byte[] bytes) {  
33 - // TODO Auto-generated method stub  
34 - int idx = 0;  
35 - info = new BasicInfo();  
36 - info.read(bytes, idx); idx += 80;  
37 - leaveStopDis = (short) ConvertUtil.bcd2int(bytes, idx, 2); idx += 2;  
38 - }  
39 -  
40 - @Override  
41 - public byte[] write() {  
42 - // TODO Auto-generated method stub  
43 - ByteBuffer buf = ByteBuffer.allocate(82);  
44 - buf.put(info.write());  
45 - buf.put(ConvertUtil.int2bcd(leaveStopDis, 2));  
46 -  
47 - return buf.array();  
48 - }  
49 -  
50 - @Override  
51 - public String getDeviceId() {  
52 - // TODO Auto-generated method stub  
53 - return info.getDeviceId();  
54 - }  
55 -  
56 - public String toString() {  
57 - StringBuilder sb = new StringBuilder();  
58 - sb.append("基本数据:").append(info.toString())  
59 - .append("离站距离:").append(leaveStopDis);  
60 -  
61 - return sb.toString();  
62 - }  
63 -  
64 - @Override  
65 - public long getTimestamp() {  
66 - // TODO Auto-generated method stub  
67 - return info.getTimestamp();  
68 - }  
69 -}  
src/main/java/com/bsth/data/gpsdata/client/pd/protocol/Pd_42_0.java deleted 100644 → 0
1 -package com.bsth.data.gpsdata.client.pd.protocol;  
2 -  
3 -import com.bsth.data.gpsdata.client.msg.IMessageBody;  
4 -import com.bsth.data.gpsdata.client.pd.common.ConvertUtil;  
5 -  
6 -import java.nio.ByteBuffer;  
7 -  
8 -public class Pd_42_0 implements IMessageBody {  
9 -  
10 - private BasicInfo info;  
11 - // 站间里程 保留两位小数 km  
12 - private short stopBetMiles;  
13 - private short frontDoorUp;  
14 - private short frontDoorDown;  
15 - private short backDoorUp;  
16 - private short backDoorDown;  
17 - // 本站留车人数  
18 - private int stay;  
19 - // 本站刷卡次数  
20 - private short cardCount;  
21 - // 本站刷卡金额  
22 - private int cardMoney;  
23 - // 免费刷卡次数  
24 - private short freeCardCount;  
25 - // 免费刷卡金额  
26 - private int freeCardMoney;  
27 - // 总刷卡次数  
28 - private int totalCardCount;  
29 - // 总数卡金额  
30 - private long totalCardMoney;  
31 - // 总免费刷卡次数  
32 - private int totalFreeCardCount;  
33 - // 总免费刷卡金额  
34 - private long totalFreeCardMoney;  
35 - // 客流站号  
36 - private short passengerStopNo;  
37 -  
38 - @Override  
39 - public void read(byte[] bytes) {  
40 - // TODO Auto-generated method stub  
41 - ByteBuffer buf = ByteBuffer.wrap(bytes);  
42 - int idx = 0;  
43 - info = new BasicInfo();  
44 - info.read(bytes, idx); idx += 80;  
45 - stopBetMiles = (short) ConvertUtil.bcd2int(bytes, idx, 2); idx += 2;  
46 - frontDoorUp = (short)(buf.get(idx) & 0xff); idx++;  
47 - frontDoorDown = (short)(buf.get(idx) & 0xff); idx++;  
48 - backDoorUp = (short)(buf.get(idx) & 0xff); idx++;  
49 - backDoorDown = (short)(buf.get(idx) & 0xff); idx++;  
50 - stay = buf.getShort(idx) & 0xffff; idx += 2;  
51 - cardCount = (short)(buf.get(idx) & 0xff); idx++;  
52 - cardMoney = buf.getShort(idx) & 0xffff; idx += 2;  
53 - freeCardCount = (short)(buf.get(idx) & 0xff); idx++;  
54 - freeCardMoney = buf.getShort(idx) & 0xffff; idx += 2;  
55 - totalCardCount = buf.getShort(idx) & 0xffff; idx += 2;  
56 - totalCardMoney = buf.getInt(idx) & 0xffffffffl; idx += 4;  
57 - totalFreeCardCount = buf.getShort(idx) & 0xffff; idx += 2;  
58 - totalFreeCardMoney = buf.getInt(idx) & 0xffffffffl; idx += 4;  
59 - passengerStopNo = (short)(buf.get(idx) & 0xff); idx++;  
60 - }  
61 -  
62 - @Override  
63 - public byte[] write() {  
64 - // TODO Auto-generated method stub  
65 - ByteBuffer buf = ByteBuffer.allocate(107);  
66 - buf.put(info.write());  
67 - buf.put(ConvertUtil.int2bcd(stopBetMiles, 2));  
68 - buf.put((byte)frontDoorUp);  
69 - buf.put((byte)frontDoorDown);  
70 - buf.put((byte)backDoorUp);  
71 - buf.put((byte)backDoorDown);  
72 - buf.putShort((short)stay);  
73 - buf.put((byte)cardCount);  
74 - buf.putShort((short)cardMoney);  
75 - buf.put((byte)freeCardCount);  
76 - buf.putShort((short)freeCardMoney);  
77 - buf.putShort((short)totalCardCount);  
78 - buf.putInt((int)totalCardMoney);  
79 - buf.putShort((short)totalFreeCardCount);  
80 - buf.putInt((int)totalFreeCardMoney);  
81 - buf.put((byte)passengerStopNo);  
82 -  
83 - return buf.array();  
84 - }  
85 -  
86 - @Override  
87 - public String getDeviceId() {  
88 - // TODO Auto-generated method stub  
89 - return info.getDeviceId();  
90 - }  
91 -  
92 - public BasicInfo getInfo() {  
93 - return info;  
94 - }  
95 -  
96 - public short getStopBetMiles() {  
97 - return stopBetMiles;  
98 - }  
99 -  
100 - public short getFrontDoorUp() {  
101 - return frontDoorUp;  
102 - }  
103 -  
104 - public short getFrontDoorDown() {  
105 - return frontDoorDown;  
106 - }  
107 -  
108 - public short getBackDoorUp() {  
109 - return backDoorUp;  
110 - }  
111 -  
112 - public short getBackDoorDown() {  
113 - return backDoorDown;  
114 - }  
115 -  
116 - public int getStay() {  
117 - return stay;  
118 - }  
119 -  
120 - public short getCardCount() {  
121 - return cardCount;  
122 - }  
123 -  
124 - public int getCardMoney() {  
125 - return cardMoney;  
126 - }  
127 -  
128 - public short getFreeCardCount() {  
129 - return freeCardCount;  
130 - }  
131 -  
132 - public int getFreeCardMoney() {  
133 - return freeCardMoney;  
134 - }  
135 -  
136 - public int getTotalCardCount() {  
137 - return totalCardCount;  
138 - }  
139 -  
140 - public long getTotalCardMoney() {  
141 - return totalCardMoney;  
142 - }  
143 -  
144 - public int getTotalFreeCardCount() {  
145 - return totalFreeCardCount;  
146 - }  
147 -  
148 - public long getTotalFreeCardMoney() {  
149 - return totalFreeCardMoney;  
150 - }  
151 -  
152 - public short getPassengerStopNo() {  
153 - return passengerStopNo;  
154 - }  
155 -  
156 - public String toString() {  
157 - StringBuilder sb = new StringBuilder();  
158 - sb.append("基本数据:").append(info.toString())  
159 - .append("站间距离:").append(stopBetMiles)  
160 - .append("前门上客:").append(frontDoorUp)  
161 - .append("前门下客:").append(frontDoorDown)  
162 - .append("后门上客:").append(backDoorUp)  
163 - .append("后门下客:").append(backDoorDown)  
164 - .append("本站留车人数:").append(stay)  
165 - .append("本站刷卡次数:").append(cardCount)  
166 - .append("本站刷卡金额:").append(cardMoney)  
167 - .append("免费刷卡次数:").append(freeCardCount)  
168 - .append("免费刷卡金额:").append(freeCardMoney)  
169 - .append("总刷卡次数:").append(totalCardCount)  
170 - .append("总数卡金额:").append(totalCardMoney)  
171 - .append("总免费刷卡次数:").append(totalFreeCardCount)  
172 - .append("总免费刷卡金额:").append(totalFreeCardMoney)  
173 - .append("客流站号:").append(passengerStopNo);  
174 -  
175 - return sb.toString();  
176 - }  
177 -  
178 - @Override  
179 - public long getTimestamp() {  
180 - // TODO Auto-generated method stub  
181 - return info.getTimestamp();  
182 - }  
183 -}  
src/main/java/com/bsth/data/gpsdata/client/pf/codec/MessageDecoder.java deleted 100644 → 0
1 -package com.bsth.data.gpsdata.client.pf.codec;  
2 -  
3 -import com.bsth.data.gpsdata.client.pf.protocol.PfMessage;  
4 -import org.apache.mina.core.buffer.IoBuffer;  
5 -import org.apache.mina.core.session.IoSession;  
6 -import org.apache.mina.filter.codec.CumulativeProtocolDecoder;  
7 -import org.apache.mina.filter.codec.ProtocolDecoderOutput;  
8 -  
9 -  
10 -public class MessageDecoder extends CumulativeProtocolDecoder {  
11 -  
12 - @Override  
13 - protected boolean doDecode(IoSession session, IoBuffer in,  
14 - ProtocolDecoderOutput out) throws Exception {  
15 - // TODO Auto-generated method stub  
16 - while (in.remaining() > 3) {  
17 - in.mark();  
18 - byte head1 = in.get(), head2 = in.get(), lenh = in.get(), lenl = in.get();  
19 - int len = ((lenh & 0xff) << 8) + (lenl & 0xff);  
20 - if ((head1 & 0xff) == 0xfa && (head2 & 0xff) == 0xf5) {  
21 - if (in.remaining() > len) {  
22 - byte[] bytes = new byte[len + 1];  
23 - in.get(bytes);  
24 - PfMessage msg = new PfMessage();  
25 - msg.read(bytes);  
26 - out.write(msg);  
27 - } else {  
28 - in.reset();  
29 - return false;  
30 - }  
31 - }  
32 - }  
33 - return false;  
34 - }  
35 -  
36 - /*private static String toHexString(byte[] bytes) {  
37 - StringBuilder sb = new StringBuilder();  
38 - for (byte b : bytes) {  
39 - sb.append(Integer.toHexString(b & 0xff) + "|");  
40 - }  
41 - return sb.toString();  
42 - }*/  
43 -}  
src/main/java/com/bsth/data/gpsdata/client/pf/codec/MessageEncoder.java deleted 100644 → 0
1 -package com.bsth.data.gpsdata.client.pf.codec;  
2 -  
3 -import org.apache.mina.core.buffer.IoBuffer;  
4 -import org.apache.mina.core.session.IoSession;  
5 -import org.apache.mina.filter.codec.ProtocolEncoderAdapter;  
6 -import org.apache.mina.filter.codec.ProtocolEncoderOutput;  
7 -  
8 -public class MessageEncoder extends ProtocolEncoderAdapter {  
9 -  
10 - @Override  
11 - public void encode(IoSession session, Object message,  
12 - ProtocolEncoderOutput out) throws Exception {  
13 - // TODO Auto-generated method stub  
14 - IoBuffer buf = IoBuffer.allocate(1024).setAutoExpand(true);  
15 - buf.put((byte[])message);  
16 - buf.flip();  
17 - out.write(buf);  
18 - }  
19 -  
20 -}  
src/main/java/com/bsth/data/gpsdata/client/pf/codec/PfMessageCodecFactory.java deleted 100644 → 0
1 -package com.bsth.data.gpsdata.client.pf.codec;  
2 -  
3 -import org.apache.mina.core.session.IoSession;  
4 -import org.apache.mina.filter.codec.ProtocolCodecFactory;  
5 -import org.apache.mina.filter.codec.ProtocolDecoder;  
6 -import org.apache.mina.filter.codec.ProtocolEncoder;  
7 -  
8 -public class PfMessageCodecFactory implements ProtocolCodecFactory {  
9 -  
10 - private ProtocolEncoder encoder;  
11 - private ProtocolDecoder decoder;  
12 -  
13 - public PfMessageCodecFactory() {  
14 - encoder = new MessageEncoder();  
15 - decoder = new MessageDecoder();  
16 - }  
17 -  
18 - @Override  
19 - public ProtocolEncoder getEncoder(IoSession session) throws Exception {  
20 - // TODO Auto-generated method stub  
21 - return encoder;  
22 - }  
23 -  
24 - @Override  
25 - public ProtocolDecoder getDecoder(IoSession session) throws Exception {  
26 - // TODO Auto-generated method stub  
27 - return decoder;  
28 - }  
29 -  
30 -}  
src/main/java/com/bsth/data/gpsdata/client/pf/common/ConvertUtil.java deleted 100644 → 0
1 -package com.bsth.data.gpsdata.client.pf.common;  
2 -  
3 -import com.bsth.data.gpsdata.client.common.ThreadLocalDateUtil;  
4 -import org.slf4j.Logger;  
5 -import org.slf4j.LoggerFactory;  
6 -  
7 -import java.text.ParseException;  
8 -import java.util.Arrays;  
9 -import java.util.Calendar;  
10 -import java.util.Date;  
11 -  
12 -  
13 -public class ConvertUtil {  
14 -  
15 - private final static Logger log = LoggerFactory.getLogger(ConvertUtil.class);  
16 -  
17 - public static int bcd2int(byte[] bytes, int start, int len) {  
18 - if (len > 4 || len == 0)  
19 - throw new IllegalArgumentException("bcd2int 字节数不符合要求");  
20 - String temp = "";  
21 - for (int i = 0;i < len;i++) {  
22 - int val = bytes[start + i] & 0xff;  
23 - if (val < 10) temp += 0;  
24 - temp += Integer.toHexString(val);  
25 - }  
26 - return Integer.parseInt(temp);  
27 - }  
28 -  
29 - public static byte[] int2bcd(int val, int len) {  
30 - if (len > 4 || len == 0)  
31 - throw new IllegalArgumentException("int2bcd 字节数不符合要求");  
32 - byte[] result = new byte[len];  
33 - for (int i = len - 1;i > -1;i--) {  
34 - result[i] = (byte)Integer.parseInt(val%100 + "", 16);  
35 - val = val/100;  
36 - }  
37 - return result;  
38 - }  
39 -  
40 - public static long bcd2long(byte[] bytes, int start, int len) {  
41 - if (len > 8 || len == 0)  
42 - throw new IllegalArgumentException("bcd2long 字节数不符合要求");  
43 - String temp = "";  
44 - for (int i = 0;i < len;i++) {  
45 - int val = bytes[start + i] & 0xff;  
46 - if (val < 10) temp += 0;  
47 - temp += Integer.toHexString(val);  
48 - }  
49 - return Long.parseLong(temp);  
50 - }  
51 -  
52 - public static byte[] long2bcd(long val, int len) {  
53 - if (len > 8 || len == 0)  
54 - throw new IllegalArgumentException("long2bcd 字节数不符合要求");  
55 - byte[] result = new byte[len];  
56 - for (int i = len - 1;i > -1;i--) {  
57 - result[i] = (byte)Integer.parseInt(val%100 + "", 16);  
58 - val = val/100;  
59 - }  
60 - return result;  
61 - }  
62 -  
63 - public static String ascii2string(byte[] bytes, int start, int len) {  
64 - return new String(Arrays.copyOfRange(bytes, start, start + len));  
65 - }  
66 -  
67 - public static byte[] string2ascii(String val, int len) {  
68 - byte[] result = new byte[len];  
69 - byte[] bytes = val.getBytes();  
70 - if (bytes.length > len && len != 0)  
71 - throw new IllegalArgumentException("string2ascii 参数不符合要求");  
72 - if (len != 0)  
73 - for (int i = 0, l = bytes.length;i < l;i++) result[i] = bytes[i];  
74 - else return bytes;  
75 - return result;  
76 - }  
77 -  
78 - public static long bcd2timestamp(byte[] bytes, int start) {  
79 - String temp = "20";  
80 - for (int i = 0;i < 6;i++) {  
81 - int val = bytes[start + i] & 0xff;  
82 - if (val < 10) temp += 0;  
83 - temp += Integer.toHexString(val);  
84 - }  
85 - Date date = null;  
86 - try {  
87 - date = ThreadLocalDateUtil.parse(temp);  
88 - } catch (ParseException e) {  
89 - log.error("协议中时间数据异常:" + temp);  
90 - }  
91 - if (date != null) return date.getTime();  
92 - return -1;  
93 - }  
94 -  
95 - public static byte[] timestamp2bcd(long val) {  
96 - byte[] result = new byte[6];  
97 - Calendar c = Calendar.getInstance();  
98 - c.setTime(new Date(val));  
99 - result[0] = (byte)(Integer.parseInt(c.get(Calendar.YEAR)%100 + "", 16));  
100 - result[1] = (byte)(Integer.parseInt(c.get(Calendar.MONTH) + 1 + "", 16));  
101 - result[2] = (byte)Integer.parseInt(c.get(Calendar.DAY_OF_MONTH) + "", 16);  
102 - result[3] = (byte)Integer.parseInt(c.get(Calendar.HOUR_OF_DAY) + "", 16);  
103 - result[4] = (byte)Integer.parseInt(c.get(Calendar.MINUTE) + "", 16);  
104 - result[5] = (byte)Integer.parseInt(c.get(Calendar.SECOND) + "", 16);  
105 - return result;  
106 - }  
107 -  
108 - public static byte[] int2hex(int val, int len) {  
109 - if (len < 1)  
110 - throw new IllegalArgumentException("int2hex len 参数不符合要求");  
111 - byte[] result = new byte[len];  
112 - for (int i = 0;i < len;i++) {  
113 - result[len - 1 - i] = (byte)(val%100);  
114 - val = val/100;  
115 - }  
116 -  
117 - return result;  
118 - }  
119 -}  
src/main/java/com/bsth/data/gpsdata/client/pf/handler/PfClientHandler.java deleted 100644 → 0
1 -package com.bsth.data.gpsdata.client.pf.handler;  
2 -  
3 -import com.bsth.data.gpsdata.client.GpsBeforeBuffer;  
4 -import com.bsth.data.gpsdata.client.common.Protocol2BizUtil;  
5 -import com.bsth.data.gpsdata.client.msg.IMessageBody;  
6 -import com.bsth.data.gpsdata.client.pd.protocol.BasicInfo;  
7 -import com.bsth.data.gpsdata.client.pf.protocol.PfMessage;  
8 -import org.apache.mina.core.service.IoHandlerAdapter;  
9 -import org.apache.mina.core.session.IdleStatus;  
10 -import org.apache.mina.core.session.IoSession;  
11 -import org.slf4j.Logger;  
12 -import org.slf4j.LoggerFactory;  
13 -import org.springframework.beans.factory.annotation.Autowired;  
14 -import org.springframework.stereotype.Service;  
15 -  
16 -import java.io.IOException;  
17 -  
18 -@Service  
19 -public class PfClientHandler extends IoHandlerAdapter{  
20 -  
21 - private final static Logger log = LoggerFactory.getLogger(PfClientHandler.class);  
22 -  
23 - //@Autowired  
24 - //private MessageProcessor processor;  
25 -  
26 - @Autowired  
27 - GpsBeforeBuffer gpsBeforeBuffer;  
28 -  
29 - @Override  
30 - public void sessionCreated(IoSession session) throws Exception {  
31 -  
32 - }  
33 -  
34 - @Override  
35 - public void sessionOpened(IoSession session) throws Exception {  
36 -  
37 - }  
38 -  
39 - @Override  
40 - public void sessionClosed(IoSession session) throws Exception {  
41 - String deviceId = (String)session.getAttribute("deviceId");  
42 - if (deviceId != null) {  
43 - //SessionManager.getInstance().unregister(deviceId);  
44 - log.info("连老网关设备编号:" + deviceId + "断开连接");  
45 - log.warn(deviceId + "老网关设备注销");  
46 - //ClientApp.fconnect(deviceId);  
47 - }  
48 - }  
49 -  
50 - @Override  
51 - public void sessionIdle(IoSession session, IdleStatus status) throws Exception {  
52 - session.closeNow();  
53 - }  
54 -  
55 - @Override  
56 - public void exceptionCaught(IoSession session, Throwable cause) throws Exception {  
57 - if (cause instanceof IOException) session.closeNow();  
58 - log.error("PfClientHandler exceptionCaught", cause);  
59 - }  
60 -  
61 - @Override  
62 - public void messageReceived(IoSession session, Object message) throws Exception {  
63 - PfMessage msg = (PfMessage)message;  
64 - IMessageBody body = msg.getMessageBody();  
65 - if (body != null) {  
66 - String deviceId = body.getDeviceId();  
67 - if (0x1 == msg.getCommandType()) {  
68 - log.debug("设备编号:" + body.getDeviceId() + "建立连接");  
69 - }  
70 -  
71 - BasicInfo info = Protocol2BizUtil.getBasicInfoFromMsg(msg);  
72 - gpsBeforeBuffer.put(info);  
73 - }  
74 -  
75 - }  
76 -  
77 - @Override  
78 - public void messageSent(IoSession session, Object message) throws Exception {  
79 -  
80 - }  
81 -}  
src/main/java/com/bsth/data/gpsdata/client/pf/protocol/PfFactory.java deleted 100644 → 0
1 -package com.bsth.data.gpsdata.client.pf.protocol;  
2 -  
3 -  
4 -import com.bsth.data.gpsdata.client.msg.IMessageBody;  
5 -  
6 -public class PfFactory {  
7 -  
8 - public static IMessageBody create(int commandType, byte[] data) {  
9 - String pkgName = PfFactory.class.getPackage().getName();  
10 - IMessageBody body = null;  
11 - try {  
12 - Class<?> cls = Class.forName(pkgName + ".Pf_" + Integer.toHexString(commandType).toUpperCase() + "_0");  
13 - body = (IMessageBody)cls.newInstance();  
14 - body.read(data);  
15 - } catch (ClassNotFoundException e) {  
16 - // TODO Auto-generated catch block  
17 - //e.printStackTrace();  
18 - } catch (InstantiationException e) {  
19 - // TODO Auto-generated catch block  
20 - e.printStackTrace();  
21 - } catch (IllegalAccessException e) {  
22 - // TODO Auto-generated catch block  
23 - e.printStackTrace();  
24 - }  
25 - return body;  
26 - }  
27 -}  
src/main/java/com/bsth/data/gpsdata/client/pf/protocol/PfMessage.java deleted 100644 → 0
1 -package com.bsth.data.gpsdata.client.pf.protocol;  
2 -  
3 -import com.bsth.data.gpsdata.client.msg.IMessage;  
4 -import com.bsth.data.gpsdata.client.msg.IMessageBody;  
5 -  
6 -import java.util.Arrays;  
7 -  
8 -public class PfMessage implements IMessage {  
9 -  
10 - private short version;  
11 - private short serialNo;  
12 - private short commandType;  
13 - private IMessageBody messageBody;  
14 - private byte checkSum;  
15 -  
16 - public short getVersion() {  
17 - return version;  
18 - }  
19 -  
20 - public void setVersion(short version) {  
21 - this.version = version;  
22 - }  
23 -  
24 - public short getSerialNo() {  
25 - return serialNo;  
26 - }  
27 -  
28 - public void setSerialNo(short serialNo) {  
29 - this.serialNo = serialNo;  
30 - }  
31 -  
32 - public short getCommandType() {  
33 - return commandType;  
34 - }  
35 -  
36 - public void setCommandType(short commandType) {  
37 - this.commandType = commandType;  
38 - }  
39 -  
40 - public IMessageBody getMessageBody() {  
41 - return messageBody;  
42 - }  
43 -  
44 - public void setMessageBody(IMessageBody messageBody) {  
45 - this.messageBody = messageBody;  
46 - }  
47 -  
48 - public byte getCheckSum() {  
49 - return checkSum;  
50 - }  
51 -  
52 - public void setCheckSum(byte checkSum) {  
53 - this.checkSum = checkSum;  
54 - }  
55 -  
56 - public void read(byte[] data) {  
57 - int idx = 0, len = data.length;  
58 - //version = (short)(data[idx] & 0xff); idx++;  
59 - //serialNo = (short)(data[idx] & 0xff); idx++;  
60 - commandType = (short)(data[idx] & 0xff); idx++;  
61 - byte[] temp = Arrays.copyOfRange(data, idx, len - 1);  
62 - checkSum = data[len - 1];  
63 - if (0xff == (checkSum & 0xff)) {  
64 - try {  
65 - messageBody = PfFactory.create(commandType, temp);  
66 - } catch (Exception e) {  
67 -  
68 - }  
69 - }  
70 - }  
71 -  
72 - public byte[] write() {  
73 - return null;  
74 - }  
75 -  
76 - public String toString() {  
77 - StringBuilder sb = new StringBuilder();  
78 - //sb.append("报文版本号:").append(version)  
79 - //.append("报文序列号:").append(serialNo)  
80 - sb.append("报文命令字:0x").append(Integer.toHexString(commandType))  
81 - .append("报文主体:(").append(messageBody).append(")")  
82 - .append("报文校验和:").append(checkSum);  
83 -  
84 - return sb.toString();  
85 - }  
86 -}  
src/main/java/com/bsth/data/gpsdata/client/pf/protocol/Pf_1_0.java deleted 100644 → 0
1 -package com.bsth.data.gpsdata.client.pf.protocol;  
2 -  
3 -import com.bsth.data.gpsdata.client.msg.IMessageBody;  
4 -import com.bsth.data.gpsdata.client.pd.common.ConvertUtil;  
5 -  
6 -import java.nio.ByteBuffer;  
7 -import java.util.Date;  
8 -  
9 -  
10 -public class Pf_1_0 implements IMessageBody {  
11 -  
12 - /** 1、车载终端识别码-byte[8] */  
13 - private String mtd;  
14 - /** 2、司机工号-byte[8] */  
15 - private String driver;  
16 - /** 3、包车状态-byte[1] */  
17 - private int bczt;  
18 - /** 4、线路状态-byte[1] */  
19 - private int xlzt;  
20 - /** 5、线路代码-byte[6] */  
21 - private int xldm;  
22 - /** 6、营运状态-byte[1] */  
23 - private int yyzt;  
24 - /** 7、进出站状态-byte[1] */  
25 - private int jczzt;  
26 - /** 8、站点编号-byte[8] */  
27 - private String zdbh;  
28 - /** 9、进出停车场状态(0:厂内,1:厂外,2:未知)-byte[1] */  
29 - private int jctcczt;  
30 - /** 10、停车场编号-byte[8] */  
31 - private String tccbh;  
32 - /** 11、路段编码-byte[12] */  
33 - private String ldbh;  
34 - /** 12、上下行状态-byte[1] */  
35 - private int sxxzt;  
36 - /** 13、速度-byte[1] */  
37 - private int speed;  
38 - /** 14、初始异常状态-byte[1] */  
39 - private int csyczt;  
40 - /** 15、结束异常状态-byte[1] */  
41 - private int jsyczt;  
42 - /** 16、车辆位置经度(纠偏后)-byte[4] */  
43 - private double lon;  
44 - /** 17、车辆位置维度(纠偏后)-byte[4] */  
45 - private double lat;  
46 - /** 18、方向-byte[2] */  
47 - private int fx;  
48 - /** 19、发送时间-byte[4] */  
49 - private Date fssj;  
50 - /** 20、离下站距离-byte[2] */  
51 - private int lxzjl;  
52 - /** 21、本站留车人数-byte[2] */  
53 - private int bzlcrs;  
54 - /** 22、车辆位置经度(未纠偏)-byte[4] */  
55 - private double lon_old;  
56 - /** 23、车辆位置经度(未纠偏)-byte[4] */  
57 - private double lat_old;  
58 - /** 24、城建X坐标 */  
59 - private double x;  
60 - /** 25、城建Y坐标 */  
61 - private double y;  
62 -  
63 - public String getMtd() {  
64 - return mtd;  
65 - }  
66 -  
67 - public void setMtd(String mtd) {  
68 - this.mtd = mtd;  
69 - }  
70 -  
71 - public String getDriver() {  
72 - return driver;  
73 - }  
74 -  
75 - public void setDriver(String driver) {  
76 - this.driver = driver;  
77 - }  
78 -  
79 - public int getBczt() {  
80 - return bczt;  
81 - }  
82 -  
83 - public void setBczt(int bczt) {  
84 - this.bczt = bczt;  
85 - }  
86 -  
87 - public int getXlzt() {  
88 - return xlzt;  
89 - }  
90 -  
91 - public void setXlzt(int xlzt) {  
92 - this.xlzt = xlzt;  
93 - }  
94 -  
95 - public int getXldm() {  
96 - return xldm;  
97 - }  
98 -  
99 - public void setXldm(int xldm) {  
100 - this.xldm = xldm;  
101 - }  
102 -  
103 - public int getYyzt() {  
104 - return yyzt;  
105 - }  
106 -  
107 - public void setYyzt(int yyzt) {  
108 - this.yyzt = yyzt;  
109 - }  
110 -  
111 - public int getJczzt() {  
112 - return jczzt;  
113 - }  
114 -  
115 - public void setJczzt(int jczzt) {  
116 - this.jczzt = jczzt;  
117 - }  
118 -  
119 - public String getZdbh() {  
120 - return zdbh;  
121 - }  
122 -  
123 - public void setZdbh(String zdbh) {  
124 - this.zdbh = zdbh;  
125 - }  
126 -  
127 - public int getJctcczt() {  
128 - return jctcczt;  
129 - }  
130 -  
131 - public void setJctcczt(int jctcczt) {  
132 - this.jctcczt = jctcczt;  
133 - }  
134 -  
135 - public String getTccbh() {  
136 - return tccbh;  
137 - }  
138 -  
139 - public void setTccbh(String tccbh) {  
140 - this.tccbh = tccbh;  
141 - }  
142 -  
143 - public String getLdbh() {  
144 - return ldbh;  
145 - }  
146 -  
147 - public void setLdbh(String ldbh) {  
148 - this.ldbh = ldbh;  
149 - }  
150 -  
151 - public int getSxxzt() {  
152 - return sxxzt;  
153 - }  
154 -  
155 - public void setSxxzt(int sxxzt) {  
156 - this.sxxzt = sxxzt;  
157 - }  
158 -  
159 - public int getSpeed() {  
160 - return speed;  
161 - }  
162 -  
163 - public void setSpeed(int speed) {  
164 - this.speed = speed;  
165 - }  
166 -  
167 - public int getCsyczt() {  
168 - return csyczt;  
169 - }  
170 -  
171 - public void setCsyczt(int csyczt) {  
172 - this.csyczt = csyczt;  
173 - }  
174 -  
175 - public int getJsyczt() {  
176 - return jsyczt;  
177 - }  
178 -  
179 - public void setJsyczt(int jsyczt) {  
180 - this.jsyczt = jsyczt;  
181 - }  
182 -  
183 - public double getLon() {  
184 - return lon;  
185 - }  
186 -  
187 - public void setLon(double lon) {  
188 - this.lon = lon;  
189 - }  
190 -  
191 - public double getLat() {  
192 - return lat;  
193 - }  
194 -  
195 - public void setLat(double lat) {  
196 - this.lat = lat;  
197 - }  
198 -  
199 - public int getFx() {  
200 - return fx;  
201 - }  
202 -  
203 - public void setFx(int fx) {  
204 - this.fx = fx;  
205 - }  
206 -  
207 - public Date getFssj() {  
208 - return fssj;  
209 - }  
210 -  
211 - public void setFssj(Date fssj) {  
212 - this.fssj = fssj;  
213 - }  
214 -  
215 - public int getLxzjl() {  
216 - return lxzjl;  
217 - }  
218 -  
219 - public void setLxzjl(int lxzjl) {  
220 - this.lxzjl = lxzjl;  
221 - }  
222 -  
223 - public int getBzlcrs() {  
224 - return bzlcrs;  
225 - }  
226 -  
227 - public void setBzlcrs(int bzlcrs) {  
228 - this.bzlcrs = bzlcrs;  
229 - }  
230 -  
231 - public double getLon_old() {  
232 - return lon_old;  
233 - }  
234 -  
235 - public void setLon_old(double lon_old) {  
236 - this.lon_old = lon_old;  
237 - }  
238 -  
239 - public double getLat_old() {  
240 - return lat_old;  
241 - }  
242 -  
243 - public void setLat_old(double lat_old) {  
244 - this.lat_old = lat_old;  
245 - }  
246 -  
247 - public double getX() {  
248 - return x;  
249 - }  
250 -  
251 - public void setX(double x) {  
252 - this.x = x;  
253 - }  
254 -  
255 - public double getY() {  
256 - return y;  
257 - }  
258 -  
259 - public void setY(double y) {  
260 - this.y = y;  
261 - }  
262 -  
263 - public byte[] write() {  
264 - return null;  
265 - }  
266 -  
267 - @Override  
268 - public void read(byte[] bytes) {  
269 - // TODO Auto-generated method stub  
270 - int idx = 0;  
271 - ByteBuffer buf = ByteBuffer.wrap(bytes);  
272 - mtd = ConvertUtil.ascii2string(bytes, idx, 8); idx += 8;  
273 - driver = ConvertUtil.ascii2string(bytes, idx, 8); idx += 8;  
274 - bczt = buf.get(idx); idx++;  
275 - xlzt = buf.get(idx); idx++;  
276 - xldm = Integer.parseInt(ConvertUtil.ascii2string(bytes, idx, 6).trim()); idx += 6;  
277 - yyzt = buf.get(idx); idx++;  
278 - jczzt = buf.get(idx); idx++;  
279 - zdbh = ConvertUtil.ascii2string(bytes, idx, 8).trim(); idx += 8;  
280 - jctcczt = buf.get(idx); idx++;  
281 - tccbh = ConvertUtil.ascii2string(bytes, idx, 8); idx += 8;  
282 - ldbh = ConvertUtil.ascii2string(bytes, idx, 12).trim(); idx += 12;  
283 - sxxzt = buf.get(idx); idx++;  
284 - speed = buf.get(idx)*10; idx++;  
285 - csyczt = buf.get(idx); idx++;  
286 - jsyczt = buf.get(idx); idx++;  
287 - byte flagx = buf.get(idx); idx++;  
288 - if (flagx == 0) x = ConvertUtil.bytes2int(bytes, idx, 3)/100.0;  
289 - else x = -ConvertUtil.bytes2int(bytes, idx, 3)/100.0;  
290 - idx += 3;  
291 - byte flagy = buf.get(idx); idx++;  
292 - if (flagy == 0) y = ConvertUtil.bytes2int(bytes, idx, 3)/100.0;  
293 - else y = -ConvertUtil.bytes2int(bytes, idx, 3)/100.0;  
294 - idx += 3;  
295 - fx = buf.getShort(idx)*(short)10; idx += 2;  
296 - fssj = new Date(ConvertUtil.bytes2int(bytes, idx, 4) * 1000L); idx += 4;  
297 - lxzjl = buf.getShort(idx); idx += 2;  
298 - bzlcrs = buf.getShort(idx); idx += 2;  
299 - lon = ConvertUtil.bytes2int(bytes, idx, 4); idx += 4;  
300 - lat = ConvertUtil.bytes2int(bytes, idx, 4); idx += 4;  
301 - }  
302 -  
303 - @Override  
304 - public String getDeviceId() {  
305 - // TODO Auto-generated method stub  
306 - return mtd;  
307 - }  
308 -  
309 - @Override  
310 - public long getTimestamp() {  
311 - // TODO Auto-generated method stub  
312 - return 0;  
313 - }  
314 -}  
src/main/java/com/bsth/data/gpsdata/recovery/GpsDataRecovery.java
@@ -45,11 +45,11 @@ public class GpsDataRecovery implements ApplicationContextAware { @@ -45,11 +45,11 @@ public class GpsDataRecovery implements ApplicationContextAware {
45 public void recovery() { 45 public void recovery() {
46 List<GpsEntity> list = loadData(); 46 List<GpsEntity> list = loadData();
47 47
48 - //按车辆分组数据 48 + //按线路分组数据
49 ArrayListMultimap<String, GpsEntity> listMap = ArrayListMultimap.create(); 49 ArrayListMultimap<String, GpsEntity> listMap = ArrayListMultimap.create();
50 for (GpsEntity gps : list) { 50 for (GpsEntity gps : list) {
51 - if (gps.getNbbm() != null)  
52 - listMap.put(gps.getNbbm(), gps); 51 + if (gps.getLineId() != null)
  52 + listMap.put(gps.getLineId(), gps);
53 } 53 }
54 54
55 55
@@ -57,9 +57,9 @@ public class GpsDataRecovery implements ApplicationContextAware { @@ -57,9 +57,9 @@ public class GpsDataRecovery implements ApplicationContextAware {
57 57
58 CountDownLatch count = new CountDownLatch(keys.size()); 58 CountDownLatch count = new CountDownLatch(keys.size());
59 GpsComp comp = new GpsComp(); 59 GpsComp comp = new GpsComp();
60 - for (String nbbm : keys) {  
61 - Collections.sort(listMap.get(nbbm), comp);  
62 - threadPool.execute(new RecoveryThread(listMap.get(nbbm), count)); 60 + for (String lineId : keys) {
  61 + Collections.sort(listMap.get(lineId), comp);
  62 + threadPool.execute(new RecoveryThread(listMap.get(lineId), count));
63 /*if(nbbm.equals("W7C-001")) 63 /*if(nbbm.equals("W7C-001"))
64 new RecoveryThread(listMap.get(nbbm), count).run();*/ 64 new RecoveryThread(listMap.get(nbbm), count).run();*/
65 } 65 }
src/main/java/com/bsth/data/schedule/SchModifyLog.java
1 -package com.bsth.data.schedule;  
2 -  
3 -import com.bsth.controller.realcontrol.dto.ChangePersonCar;  
4 -import com.bsth.entity.mcy_forms.Changetochange;  
5 -import com.bsth.entity.realcontrol.ScheduleRealInfo;  
6 -import com.bsth.entity.sys.SysUser;  
7 -import com.bsth.repository.form.ChangetochangeRepository;  
8 -import com.bsth.security.util.SecurityUtils;  
9 -import org.apache.commons.lang3.StringUtils;  
10 -import org.joda.time.format.DateTimeFormat;  
11 -import org.joda.time.format.DateTimeFormatter;  
12 -import org.slf4j.Logger;  
13 -import org.slf4j.LoggerFactory;  
14 -import org.springframework.beans.factory.annotation.Autowired;  
15 -import org.springframework.stereotype.Service;  
16 -  
17 -import java.util.Date;  
18 -  
19 -/**  
20 - * 线调实际排班修改日志记录  
21 - * Created by panzhao on 2017/5/7.  
22 - */  
23 -@Service  
24 -public class SchModifyLog {  
25 -  
26 - private static DateTimeFormatter fmtHHmm = DateTimeFormat.forPattern("HH:mm");  
27 -  
28 - Logger log = LoggerFactory.getLogger(this.getClass());  
29 -  
30 - @Autowired  
31 - ChangetochangeRepository changetochangeRepository;  
32 -  
33 - /**  
34 - * 换人换车情况表  
35 - */  
36 - public void saveChangetochange(ScheduleRealInfo sch, ChangePersonCar cpc){  
37 - try {  
38 - String newNbbm = cpc.getClZbh();  
39 - String newJsy = cpc.getJsy();  
40 - String oldJsy = sch.getjGh()+"/"+sch.getjName();  
41 -  
42 - if(newNbbm == null && newJsy == null)  
43 - return;  
44 -  
45 - if(newNbbm != null && newJsy != null  
46 - && newNbbm.equals(sch.getClZbh()) && newJsy.equals(oldJsy))  
47 - return;  
48 -  
49 - Date d = new Date();  
50 - SysUser user = SecurityUtils.getCurrentUser();  
51 - Changetochange cc = new Changetochange();  
52 - cc.setRq(sch.getScheduleDateStr());  
53 - cc.setGs(sch.getGsBm());  
54 - cc.setFgs(sch.getFgsBm());  
55 - cc.setXl(sch.getXlBm());  
56 - cc.setLp(sch.getLpName());  
57 - cc.setFssj(fmtHHmm.print(d.getTime()));  
58 - cc.setXgsj(fmtHHmm.print(d.getTime()));  
59 - if(user != null)  
60 - cc.setXgr(user.getUserName());  
61 -  
62 - cc.setPcch(sch.getClZbh());  
63 - cc.setPcry(oldJsy);  
64 - cc.setJhch(sch.getClZbh());  
65 - cc.setJhgh(sch.getjGh());  
66 -  
67 - if(StringUtils.isNotEmpty(newNbbm))  
68 - cc.setSjch(newNbbm);  
69 - if(StringUtils.isNotEmpty(newJsy))  
70 - cc.setSjgh(newJsy);  
71 -  
72 - changetochangeRepository.save(cc);  
73 - }catch (Exception e){  
74 - log.error("纪录换人换车情况表", e);  
75 - }  
76 - }  
77 -  
78 - public void saveChangetochange(ScheduleRealInfo sch, String nbbm, String jsy){  
79 - ChangePersonCar cpc = new ChangePersonCar();  
80 - cpc.setClZbh(nbbm);  
81 - cpc.setJsy(jsy);  
82 - saveChangetochange(sch, cpc);  
83 - }  
84 -} 1 +package com.bsth.data.schedule;
  2 +
  3 +import com.bsth.controller.realcontrol.dto.ChangePersonCar;
  4 +import com.bsth.entity.mcy_forms.Changetochange;
  5 +import com.bsth.entity.realcontrol.ScheduleRealInfo;
  6 +import com.bsth.entity.sys.SysUser;
  7 +import com.bsth.repository.form.ChangetochangeRepository;
  8 +import com.bsth.security.util.SecurityUtils;
  9 +import org.apache.commons.lang3.StringUtils;
  10 +import org.joda.time.format.DateTimeFormat;
  11 +import org.joda.time.format.DateTimeFormatter;
  12 +import org.slf4j.Logger;
  13 +import org.slf4j.LoggerFactory;
  14 +import org.springframework.beans.factory.annotation.Autowired;
  15 +import org.springframework.stereotype.Service;
  16 +
  17 +import java.util.Date;
  18 +
  19 +/**
  20 + * 线调实际排班修改日志记录
  21 + * Created by panzhao on 2017/5/7.
  22 + */
  23 +@Service
  24 +public class SchModifyLog {
  25 +
  26 + private static DateTimeFormatter fmtHHmm = DateTimeFormat.forPattern("HH:mm");
  27 +
  28 + Logger log = LoggerFactory.getLogger(this.getClass());
  29 +
  30 + @Autowired
  31 + ChangetochangeRepository changetochangeRepository;
  32 +
  33 + /**
  34 + * 换人换车情况表
  35 + */
  36 + public void saveChangetochange(ScheduleRealInfo sch, ChangePersonCar cpc){
  37 + try {
  38 + String newNbbm = cpc.getClZbh();
  39 + String newJsy = cpc.getJsy();
  40 + String oldJsy = sch.getjGh()+"/"+sch.getjName();
  41 +
  42 + if(newNbbm == null && newJsy == null)
  43 + return;
  44 +
  45 + if(newNbbm != null && newJsy != null
  46 + && newNbbm.equals(sch.getClZbh()) && newJsy.equals(oldJsy))
  47 + return;
  48 +
  49 + Date d = new Date();
  50 + SysUser user = SecurityUtils.getCurrentUser();
  51 + Changetochange cc = new Changetochange();
  52 + cc.setRq(sch.getScheduleDateStr());
  53 + cc.setGs(sch.getGsBm());
  54 + cc.setFgs(sch.getFgsBm());
  55 + cc.setXl(sch.getXlBm());
  56 + cc.setLp(sch.getLpName());
  57 + cc.setFssj(fmtHHmm.print(d.getTime()));
  58 + cc.setXgsj(fmtHHmm.print(d.getTime()));
  59 + if(user != null)
  60 + cc.setXgr(user.getUserName());
  61 +
  62 + cc.setPcch(sch.getClZbh());
  63 + cc.setPcry(oldJsy);
  64 + cc.setJhch(sch.getClZbh());
  65 + cc.setJhgh(sch.getjGh());
  66 +
  67 + if(StringUtils.isNotEmpty(newNbbm))
  68 + cc.setSjch(newNbbm);
  69 + if(StringUtils.isNotEmpty(newJsy))
  70 + cc.setSjgh(newJsy);
  71 +
  72 + changetochangeRepository.save(cc);
  73 + }catch (Exception e){
  74 + log.error("纪录换人换车情况表", e);
  75 + }
  76 + }
  77 +
  78 + public void saveChangetochange(ScheduleRealInfo sch, String nbbm, String jsy){
  79 + ChangePersonCar cpc = new ChangePersonCar();
  80 + cpc.setClZbh(nbbm);
  81 + cpc.setJsy(jsy);
  82 + saveChangetochange(sch, cpc);
  83 + }
  84 +}
src/main/java/com/bsth/repository/StationRouteRepository.java
@@ -247,6 +247,9 @@ public interface StationRouteRepository extends BaseRepository&lt;StationRoute, Int @@ -247,6 +247,9 @@ public interface StationRouteRepository extends BaseRepository&lt;StationRoute, Int
247 @Override 247 @Override
248 List<StationRoute> findAll(Specification<StationRoute> spec, Sort sort); 248 List<StationRoute> findAll(Specification<StationRoute> spec, Sort sort);
249 249
  250 + @EntityGraph(value = "stationRoute_station", type = EntityGraph.EntityGraphType.FETCH)
  251 + @Override
  252 + List<StationRoute> findAll();
250 253
251 @Query("select new map(sr.station.id as stationid, sr.stationName as stationname) from StationRoute sr where sr.line.id=?1 and sr.directions=?2") 254 @Query("select new map(sr.station.id as stationid, sr.stationName as stationname) from StationRoute sr where sr.line.id=?1 and sr.directions=?2")
252 List<Map<String, Object>> findStations(Integer xlid, Integer xldir); 255 List<Map<String, Object>> findStations(Integer xlid, Integer xldir);
src/main/java/com/bsth/repository/form/ChangetochangeRepository.java
1 -package com.bsth.repository.form;  
2 -  
3 -import com.bsth.entity.mcy_forms.Changetochange;  
4 -import com.bsth.repository.BaseRepository;  
5 -import org.springframework.stereotype.Repository;  
6 -  
7 -/**  
8 - * Created by panzhao on 2017/5/7.  
9 - */  
10 -@Repository  
11 -public interface ChangetochangeRepository extends BaseRepository<Changetochange, Integer>{  
12 -} 1 +package com.bsth.repository.form;
  2 +
  3 +import com.bsth.entity.mcy_forms.Changetochange;
  4 +import com.bsth.repository.BaseRepository;
  5 +import org.springframework.stereotype.Repository;
  6 +
  7 +/**
  8 + * Created by panzhao on 2017/5/7.
  9 + */
  10 +@Repository
  11 +public interface ChangetochangeRepository extends BaseRepository<Changetochange, Integer>{
  12 +}
src/main/java/com/bsth/service/realcontrol/impl/ScheduleRealInfoServiceImpl.java
@@ -1790,6 +1790,41 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -1790,6 +1790,41 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
1790 List<ScheduleRealInfo> listSchedule = new ArrayList<ScheduleRealInfo>(); 1790 List<ScheduleRealInfo> listSchedule = new ArrayList<ScheduleRealInfo>();
1791 List<ScheduleRealInfo> list = null; 1791 List<ScheduleRealInfo> list = null;
1792 list = scheduleRealInfoRepository.queryListWaybill(jName, clZbh, lpName, date, line); 1792 list = scheduleRealInfoRepository.queryListWaybill(jName, clZbh, lpName, date, line);
  1793 + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm");
  1794 + String sqlMinYysj="select start_opt from bsth_c_line_config where line = '"+BasicData.lineId2CodeMap.inverse().get(line) +"'";
  1795 + String minfcsj=jdbcTemplate.queryForObject(sqlMinYysj, String.class);
  1796 + String[] minSjs = minfcsj.split(":");
  1797 + Long minSj=Long.parseLong(minSjs[0])*60+Long.parseLong(minSjs[1]);
  1798 +
  1799 + for (int i = 0; i < list.size(); i++) {
  1800 + ScheduleRealInfo s=list.get(i);
  1801 + String[] fcsj= s.getFcsj().split(":");
  1802 + Long fcsjL=Long.parseLong(fcsj[0])*60+Long.parseLong(fcsj[1]);
  1803 +
  1804 + Long fscjT=0L;
  1805 + if(fcsjL<minSj){
  1806 + Calendar calendar = new GregorianCalendar();
  1807 + calendar.setTime(s.getScheduleDate());
  1808 + calendar.add(calendar.DATE,1);
  1809 + s.setScheduleDate(calendar.getTime());
  1810 + try {
  1811 + fscjT = sdf.parse(sdf.format(s.getScheduleDate())+" "+s.getFcsj()).getTime();
  1812 + } catch (ParseException e) {
  1813 + // TODO Auto-generated catch block
  1814 + e.printStackTrace();
  1815 + }
  1816 +
  1817 + }else{
  1818 + try {
  1819 + fscjT =sdf.parse(s.getScheduleDateStr()+" "+s.getFcsj()).getTime();
  1820 + } catch (ParseException e) {
  1821 + // TODO Auto-generated catch block
  1822 + e.printStackTrace();
  1823 + };
  1824 + }
  1825 + s.setFcsjT(fscjT);
  1826 + }
  1827 + Collections.sort(list, new ComparableReal());
1793 for (int i = 0; i < list.size(); i++) { 1828 for (int i = 0; i < list.size(); i++) {
1794 ScheduleRealInfo s = list.get(i); 1829 ScheduleRealInfo s = list.get(i);
1795 s.setAdjustExps(i + 1 + ""); 1830 s.setAdjustExps(i + 1 + "");
src/main/java/com/bsth/service/schedule/utils/Md5Util.java
1 -package com.bsth.service.schedule.utils;  
2 -  
3 -import java.security.MessageDigest;  
4 -  
5 -/**  
6 - * Md5工具。  
7 - */  
8 -public class Md5Util {  
9 - private static MessageDigest md5 = null;  
10 - static {  
11 - try {  
12 - md5 = MessageDigest.getInstance("MD5");  
13 - } catch (Exception exp) {  
14 - exp.printStackTrace();  
15 - }  
16 - }  
17 -  
18 - /**  
19 - * 用于获取一个String的md5值。  
20 - * @param str  
21 - * @return  
22 - */  
23 - public static String getMd5(String str) {  
24 - byte[] bs = md5.digest(str.getBytes());  
25 - StringBuilder s = new StringBuilder();  
26 - for (byte x : bs) {  
27 - if ((x & 0xff) >>4 == 0) {  
28 - s.append("0").append(Integer.toHexString(x & 0xff));  
29 - } else {  
30 - s.append(Integer.toHexString(x & 0xff));  
31 - }  
32 - }  
33 - return s.toString();  
34 - }  
35 -  
36 -} 1 +package com.bsth.service.schedule.utils;
  2 +
  3 +import java.security.MessageDigest;
  4 +
  5 +/**
  6 + * Md5工具。
  7 + */
  8 +public class Md5Util {
  9 + private static MessageDigest md5 = null;
  10 + static {
  11 + try {
  12 + md5 = MessageDigest.getInstance("MD5");
  13 + } catch (Exception exp) {
  14 + exp.printStackTrace();
  15 + }
  16 + }
  17 +
  18 + /**
  19 + * 用于获取一个String的md5值。
  20 + * @param str
  21 + * @return
  22 + */
  23 + public static String getMd5(String str) {
  24 + byte[] bs = md5.digest(str.getBytes());
  25 + StringBuilder s = new StringBuilder();
  26 + for (byte x : bs) {
  27 + if ((x & 0xff) >>4 == 0) {
  28 + s.append("0").append(Integer.toHexString(x & 0xff));
  29 + } else {
  30 + s.append(Integer.toHexString(x & 0xff));
  31 + }
  32 + }
  33 + return s.toString();
  34 + }
  35 +
  36 +}
src/main/java/com/bsth/util/ComparableReal.java 0 → 100644
  1 +package com.bsth.util;
  2 +
  3 +import java.util.Comparator;
  4 +import java.util.List;
  5 +
  6 +import com.bsth.entity.realcontrol.ChildTaskPlan;
  7 +import com.bsth.entity.realcontrol.ScheduleRealInfo;
  8 +
  9 +public class ComparableReal implements Comparator<ScheduleRealInfo>{
  10 +
  11 + @Override
  12 + public int compare(ScheduleRealInfo o1, ScheduleRealInfo o2) {
  13 + // TODO Auto-generated method stub
  14 + return o1.getFcsjT().compareTo(o2.getFcsjT());
  15 + }
  16 +
  17 +}
src/main/resources/datatools/ktrs/ttinfodetailDataInput.ktr
1 -<?xml version="1.0" encoding="UTF-8"?>  
2 -<transformation>  
3 - <info>  
4 - <name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x5bfc;&#x5165;</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>120</xloc>  
143 - <yloc>1016</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;&#x7ebf;&#x8def;&#x6240;&#x6709;&#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;&#x7ebf;&#x8def;&#x6240;&#x6709;&#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>&#x67e5;&#x627e;&#x8def;&#x724c;&#x5173;&#x8054;</from><to>&#x8ba1;&#x7b97;&#x73ed;&#x6b21;&#x7c7b;&#x578b;</to><enabled>Y</enabled> </hop>  
393 - <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>  
394 - <hop> <from>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</from><to>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;1</to><enabled>Y</enabled> </hop>  
395 - <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>  
396 - <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>  
397 - <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>  
398 - <hop> <from>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</from><to>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;2</to><enabled>Y</enabled> </hop>  
399 - <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>  
400 - <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>  
401 - <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>  
402 - <hop> <from>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</from><to>&#x6dfb;&#x52a0;&#x53d1;&#x8f66;&#x987a;&#x5e8f;&#x53f7;</to><enabled>Y</enabled> </hop>  
403 - <hop> <from>&#x5206;&#x7ec4;&#x5404;&#x4e2a;&#x8def;&#x724c;&#x7684;&#x7ad9;</from><to>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop>  
404 - <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>  
405 - <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>  
406 - <hop> <from>&#x8bb0;&#x5f55;&#x5173;&#x8054; &#x28;&#x7b1b;&#x5361;&#x5c14;&#x8f93;&#x51fa;&#x29;</from><to>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</to><enabled>Y</enabled> </hop>  
407 - <hop> <from>&#x7c7b;&#x578b;&#x4fee;&#x6b63;</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail</to><enabled>Y</enabled> </hop>  
408 - <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>  
409 - <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>  
410 - <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>  
411 - <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>  
412 - <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>  
413 - <hop> <from>&#x4e0a;&#x4e0b;&#x884c;NULL&#x5224;&#x5b9a;</from><to>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 2</to><enabled>Y</enabled> </hop>  
414 - <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>  
415 - <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>  
416 - <hop> <from>&#x4e0a;&#x4e0b;&#x884c;&#x5224;&#x5b9a; 2</from><to>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 3</to><enabled>Y</enabled> </hop>  
417 - <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>  
418 - </order>  
419 - <step>  
420 - <name>&#x4e0a;&#x4e0b;&#x884c;NULL&#x5224;&#x5b9a;</name>  
421 - <type>IfNull</type>  
422 - <description/>  
423 - <distribute>Y</distribute>  
424 - <custom_distribution/>  
425 - <copies>1</copies>  
426 - <partitioning>  
427 - <method>none</method>  
428 - <schema_name/>  
429 - </partitioning>  
430 - <replaceAllByValue/>  
431 - <replaceAllMask/>  
432 - <selectFields>Y</selectFields>  
433 - <selectValuesType>N</selectValuesType>  
434 - <setEmptyStringAll>N</setEmptyStringAll>  
435 - <valuetypes>  
436 - </valuetypes>  
437 - <fields>  
438 - <field>  
439 - <name>sxx</name>  
440 - <value>0</value>  
441 - <mask/>  
442 - <set_empty_string>N</set_empty_string>  
443 - </field>  
444 - </fields>  
445 - <cluster_schema/>  
446 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
447 - <xloc>230</xloc>  
448 - <yloc>946</yloc>  
449 - <draw>Y</draw>  
450 - </GUI>  
451 - </step>  
452 -  
453 - <step>  
454 - <name>&#x4e0a;&#x4e0b;&#x884c;&#x5224;&#x5b9a; 2</name>  
455 - <type>IfNull</type>  
456 - <description/>  
457 - <distribute>Y</distribute>  
458 - <custom_distribution/>  
459 - <copies>1</copies>  
460 - <partitioning>  
461 - <method>none</method>  
462 - <schema_name/>  
463 - </partitioning>  
464 - <replaceAllByValue/>  
465 - <replaceAllMask/>  
466 - <selectFields>Y</selectFields>  
467 - <selectValuesType>N</selectValuesType>  
468 - <setEmptyStringAll>N</setEmptyStringAll>  
469 - <valuetypes>  
470 - </valuetypes>  
471 - <fields>  
472 - <field>  
473 - <name>sxx2</name>  
474 - <value>0</value>  
475 - <mask/>  
476 - <set_empty_string>N</set_empty_string>  
477 - </field>  
478 - </fields>  
479 - <cluster_schema/>  
480 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
481 - <xloc>804</xloc>  
482 - <yloc>1081</yloc>  
483 - <draw>Y</draw>  
484 - </GUI>  
485 - </step>  
486 -  
487 - <step>  
488 - <name>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178;</name>  
489 - <type>ValueMapper</type>  
490 - <description/>  
491 - <distribute>Y</distribute>  
492 - <custom_distribution/>  
493 - <copies>1</copies>  
494 - <partitioning>  
495 - <method>none</method>  
496 - <schema_name/>  
497 - </partitioning>  
498 - <field_to_use>sxx</field_to_use>  
499 - <target_field>sxx_desc</target_field>  
500 - <non_match_default/>  
501 - <fields>  
502 - <field>  
503 - <source_value>0</source_value>  
504 - <target_value>&#x4e0a;&#x884c;</target_value>  
505 - </field>  
506 - <field>  
507 - <source_value>1</source_value>  
508 - <target_value>&#x4e0b;&#x884c;</target_value>  
509 - </field>  
510 - </fields>  
511 - <cluster_schema/>  
512 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
513 - <xloc>147</xloc>  
514 - <yloc>403</yloc>  
515 - <draw>Y</draw>  
516 - </GUI>  
517 - </step>  
518 -  
519 - <step>  
520 - <name>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 2</name>  
521 - <type>ValueMapper</type>  
522 - <description/>  
523 - <distribute>Y</distribute>  
524 - <custom_distribution/>  
525 - <copies>1</copies>  
526 - <partitioning>  
527 - <method>none</method>  
528 - <schema_name/>  
529 - </partitioning>  
530 - <field_to_use>sxx</field_to_use>  
531 - <target_field>sxx_desc</target_field>  
532 - <non_match_default/>  
533 - <fields>  
534 - <field>  
535 - <source_value>0</source_value>  
536 - <target_value>&#x4e0a;&#x884c;</target_value>  
537 - </field>  
538 - <field>  
539 - <source_value>1</source_value>  
540 - <target_value>&#x4e0b;&#x884c;</target_value>  
541 - </field>  
542 - </fields>  
543 - <cluster_schema/>  
544 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
545 - <xloc>331</xloc>  
546 - <yloc>598</yloc>  
547 - <draw>Y</draw>  
548 - </GUI>  
549 - </step>  
550 -  
551 - <step>  
552 - <name>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 3</name>  
553 - <type>ValueMapper</type>  
554 - <description/>  
555 - <distribute>Y</distribute>  
556 - <custom_distribution/>  
557 - <copies>1</copies>  
558 - <partitioning>  
559 - <method>none</method>  
560 - <schema_name/>  
561 - </partitioning>  
562 - <field_to_use>sxx</field_to_use>  
563 - <target_field>sxx_desc</target_field>  
564 - <non_match_default/>  
565 - <fields>  
566 - <field>  
567 - <source_value>0</source_value>  
568 - <target_value>&#x4e0a;&#x884c;</target_value>  
569 - </field>  
570 - <field>  
571 - <source_value>1</source_value>  
572 - <target_value>&#x4e0b;&#x884c;</target_value>  
573 - </field>  
574 - </fields>  
575 - <cluster_schema/>  
576 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
577 - <xloc>553</xloc>  
578 - <yloc>859</yloc>  
579 - <draw>Y</draw>  
580 - </GUI>  
581 - </step>  
582 -  
583 - <step>  
584 - <name>&#x51fa;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x7ec8;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</name>  
585 - <type>ScriptValueMod</type>  
586 - <description/>  
587 - <distribute>Y</distribute>  
588 - <custom_distribution/>  
589 - <copies>1</copies>  
590 - <partitioning>  
591 - <method>none</method>  
592 - <schema_name/>  
593 - </partitioning>  
594 - <compatible>N</compatible>  
595 - <optimizationLevel>9</optimizationLevel>  
596 - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>  
597 - <jsScript_name>Script 1</jsScript_name>  
598 - <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;E&#x27;&#x3b;&#xa;&#xa;var destory &#x3d; 0&#x3b; &#x2f;&#x2f; &#x672a;&#x64a4;&#x9500;flag</jsScript_script>  
599 - </jsScript> </jsScripts> <fields> <field> <name>zdzname</name>  
600 - <rename>zdzname</rename>  
601 - <type>String</type>  
602 - <length>-1</length>  
603 - <precision>-1</precision>  
604 - <replace>N</replace>  
605 - </field> <field> <name>endZdtype</name>  
606 - <rename>endZdtype</rename>  
607 - <type>String</type>  
608 - <length>-1</length>  
609 - <precision>-1</precision>  
610 - <replace>N</replace>  
611 - </field> <field> <name>destory</name>  
612 - <rename>destory</rename>  
613 - <type>Integer</type>  
614 - <length>-1</length>  
615 - <precision>-1</precision>  
616 - <replace>N</replace>  
617 - </field> </fields> <cluster_schema/>  
618 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
619 - <xloc>575</xloc>  
620 - <yloc>502</yloc>  
621 - <draw>Y</draw>  
622 - </GUI>  
623 - </step>  
624 -  
625 - <step>  
626 - <name>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</name>  
627 - <type>Dummy</type>  
628 - <description/>  
629 - <distribute>Y</distribute>  
630 - <custom_distribution/>  
631 - <copies>1</copies>  
632 - <partitioning>  
633 - <method>none</method>  
634 - <schema_name/>  
635 - </partitioning>  
636 - <cluster_schema/>  
637 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
638 - <xloc>869</xloc>  
639 - <yloc>504</yloc>  
640 - <draw>Y</draw>  
641 - </GUI>  
642 - </step>  
643 -  
644 - <step>  
645 - <name>&#x5206;&#x7ec4;&#x5404;&#x4e2a;&#x8def;&#x724c;&#x7684;&#x7ad9;</name>  
646 - <type>GroupBy</type>  
647 - <description/>  
648 - <distribute>Y</distribute>  
649 - <custom_distribution/>  
650 - <copies>1</copies>  
651 - <partitioning>  
652 - <method>none</method>  
653 - <schema_name/>  
654 - </partitioning>  
655 - <all_rows>Y</all_rows>  
656 - <ignore_aggregate>N</ignore_aggregate>  
657 - <field_ignore/>  
658 - <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>  
659 - <prefix>grp</prefix>  
660 - <add_linenr>Y</add_linenr>  
661 - <linenr_fieldname>gno</linenr_fieldname>  
662 - <give_back_row>N</give_back_row>  
663 - <group>  
664 - <field>  
665 - <name>lp</name>  
666 - </field>  
667 - </group>  
668 - <fields>  
669 - <field>  
670 - <aggregate>qdzgroups</aggregate>  
671 - <subject>qdzname</subject>  
672 - <type>CONCAT_STRING</type>  
673 - <valuefield>,</valuefield>  
674 - </field>  
675 - </fields>  
676 - <cluster_schema/>  
677 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
678 - <xloc>892</xloc>  
679 - <yloc>44</yloc>  
680 - <draw>Y</draw>  
681 - </GUI>  
682 - </step>  
683 -  
684 - <step>  
685 - <name>&#x5339;&#x914d;&#x4e0a;&#x4e0b;&#x884c;&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>  
686 - <type>ScriptValueMod</type>  
687 - <description/>  
688 - <distribute>Y</distribute>  
689 - <custom_distribution/>  
690 - <copies>1</copies>  
691 - <partitioning>  
692 - <method>none</method>  
693 - <schema_name/>  
694 - </partitioning>  
695 - <compatible>N</compatible>  
696 - <optimizationLevel>9</optimizationLevel>  
697 - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>  
698 - <jsScript_name>Script 1</jsScript_name>  
699 - <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 &#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 &#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 &#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 &#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;&#xa;&#xa;</jsScript_script>  
700 - </jsScript> </jsScripts> <fields> <field> <name>jhlc</name>  
701 - <rename>jhlc</rename>  
702 - <type>String</type>  
703 - <length>-1</length>  
704 - <precision>-1</precision>  
705 - <replace>N</replace>  
706 - </field> <field> <name>bcsj</name>  
707 - <rename>bcsj</rename>  
708 - <type>String</type>  
709 - <length>-1</length>  
710 - <precision>-1</precision>  
711 - <replace>N</replace>  
712 - </field> </fields> <cluster_schema/>  
713 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
714 - <xloc>148</xloc>  
715 - <yloc>674</yloc>  
716 - <draw>Y</draw>  
717 - </GUI>  
718 - </step>  
719 -  
720 - <step>  
721 - <name>&#x5339;&#x914d;&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>  
722 - <type>ScriptValueMod</type>  
723 - <description/>  
724 - <distribute>Y</distribute>  
725 - <custom_distribution/>  
726 - <copies>1</copies>  
727 - <partitioning>  
728 - <method>none</method>  
729 - <schema_name/>  
730 - </partitioning>  
731 - <compatible>N</compatible>  
732 - <optimizationLevel>9</optimizationLevel>  
733 - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>  
734 - <jsScript_name>Script 1</jsScript_name>  
735 - <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>  
736 - </jsScript> </jsScripts> <fields> <field> <name>out_mileage</name>  
737 - <rename>out_mileage</rename>  
738 - <type>String</type>  
739 - <length>-1</length>  
740 - <precision>-1</precision>  
741 - <replace>N</replace>  
742 - </field> <field> <name>out_time</name>  
743 - <rename>out_time</rename>  
744 - <type>String</type>  
745 - <length>-1</length>  
746 - <precision>-1</precision>  
747 - <replace>N</replace>  
748 - </field> </fields> <cluster_schema/>  
749 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
750 - <xloc>336</xloc>  
751 - <yloc>862</yloc>  
752 - <draw>Y</draw>  
753 - </GUI>  
754 - </step>  
755 -  
756 - <step>  
757 - <name>&#x5339;&#x914d;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>  
758 - <type>ScriptValueMod</type>  
759 - <description/>  
760 - <distribute>Y</distribute>  
761 - <custom_distribution/>  
762 - <copies>1</copies>  
763 - <partitioning>  
764 - <method>none</method>  
765 - <schema_name/>  
766 - </partitioning>  
767 - <compatible>N</compatible>  
768 - <optimizationLevel>9</optimizationLevel>  
769 - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>  
770 - <jsScript_name>Script 1</jsScript_name>  
771 - <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>  
772 - </jsScript> </jsScripts> <fields> <field> <name>parade_mileage</name>  
773 - <rename>parade_mileage</rename>  
774 - <type>String</type>  
775 - <length>-1</length>  
776 - <precision>-1</precision>  
777 - <replace>N</replace>  
778 - </field> <field> <name>parade_time</name>  
779 - <rename>parade_time</rename>  
780 - <type>String</type>  
781 - <length>-1</length>  
782 - <precision>-1</precision>  
783 - <replace>N</replace>  
784 - </field> </fields> <cluster_schema/>  
785 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
786 - <xloc>726</xloc>  
787 - <yloc>1005</yloc>  
788 - <draw>Y</draw>  
789 - </GUI>  
790 - </step>  
791 -  
792 - <step>  
793 - <name>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;&#xff0c;&#x7ebf;&#x8def;&#x540d;&#x5b57;&#xff0c;&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</name>  
794 - <type>DataGrid</type>  
795 - <description/>  
796 - <distribute>Y</distribute>  
797 - <custom_distribution/>  
798 - <copies>1</copies>  
799 - <partitioning>  
800 - <method>none</method>  
801 - <schema_name/>  
802 - </partitioning>  
803 - <fields>  
804 - </fields>  
805 - <data>  
806 - <line> </line>  
807 - </data>  
808 - <cluster_schema/>  
809 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
810 - <xloc>110</xloc>  
811 - <yloc>133</yloc>  
812 - <draw>Y</draw>  
813 - </GUI>  
814 - </step>  
815 -  
816 - <step>  
817 - <name>&#x5904;&#x7406;&#x6570;&#x636e;</name>  
818 - <type>ScriptValueMod</type>  
819 - <description/>  
820 - <distribute>Y</distribute>  
821 - <custom_distribution/>  
822 - <copies>1</copies>  
823 - <partitioning>  
824 - <method>none</method>  
825 - <schema_name/>  
826 - </partitioning>  
827 - <compatible>N</compatible>  
828 - <optimizationLevel>9</optimizationLevel>  
829 - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>  
830 - <jsScript_name>Script 1</jsScript_name>  
831 - <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f; &#x4f7f;&#x7528;&#x6b63;&#x5219;&#x8868;&#x8fbe;&#x5f0f;&#x53bb;&#x9664;&#x7ad9;&#x70b9;&#x540d;&#x79f0;&#x4e2d;&#x7684;&#x6570;&#x5b57;&#xa;qdzname &#x3d; qdzname.replace&#x28;&#x2f;&#x5c;d&#x2b;&#x2f;g,&#x27;&#x27;&#x29;&#x3b;&#xa;&#xa;&#x2f;&#x2f; sendtime&#x5904;&#x7406;&#xff0c;hhmm&#xff0c;hh&#x3a;mm&#xff0c;hh,mm&#xa;var sendtime_calcu&#x3b;&#xa;if &#x28;sendtime.length &#x3d;&#x3d; 5&#x29; &#x7b; &#x2f;&#x2f; &#x6700;&#x957f;&#x683c;&#x5f0f;&#xff0c;&#x5305;&#x62ec;&#x5206;&#x9694;&#x7b26;&#xff0c;&#x7edf;&#x4e00;&#x628a;&#x5206;&#x9694;&#x7b26;&#x66ff;&#x6362;&#x6210;&#x5192;&#x53f7;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 2&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;3, 2&#x29;&#x3b;&#xa;&#x7d; else if &#x28;sendtime.length &#x3d;&#x3d; 4&#x29; &#x7b;&#xa; if &#x28;sendtime.indexOf&#x28;&#x22;&#x3a;&#x22;&#x29; &#x3e; 0&#x29; &#x7b; &#x2f;&#x2f; &#x5192;&#x53f7;&#x5206;&#x9694;&#xff0c;&#x65e0;&#x9700;&#x4fee;&#x6539;&#xa; sendtime_calcu &#x3d; sendtime&#x3b;&#xa; &#x7d; else if &#x28;sendtime.indexOf&#x28;&#x22;,&#x22;&#x29; &#x3e; 0&#x29; &#x7b; &#x2f;&#x2f; &#x9017;&#x53f7;&#x5206;&#x9694;&#xff0c;&#x6539;&#x6210;&#x5192;&#x53f7;&#x5206;&#x9694;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 1&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;2, 2&#x29;&#x3b;&#xa; &#x7d; else &#x7b; &#x2f;&#x2f; &#x65e0;&#x5206;&#x9694;&#x7b26;&#xff0c;&#x6539;&#x6210;&#x5192;&#x53f7;&#x5206;&#x9694;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 2&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;2, 2&#x29;&#x3b;&#xa; &#x7d;&#xa;&#x7d; else if &#x28;sendtime.length &#x3d;&#x3d; 3&#x29; &#x7b; &#x2f;&#x2f; &#x65e0;&#x5206;&#x9694;&#x7b26;&#xff0c;&#x6539;&#x6210;&#x5192;&#x53f7;&#x5206;&#x9694;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 1&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;1, 2&#x29;&#x3b;&#xa;&#x7d;&#xa;&#xa;&#x2f;&#x2f; &#x8bbe;&#x7f6e;&#x5206;&#x73ed;&#xa;var isfb &#x3d; 0&#x3b;&#xa;&#xa;&#x2f;&#x2f; &#x8bbe;&#x7f6e;isCanceled&#xa;var iscanceled &#x3d; 0&#x3b;</jsScript_script>  
832 - </jsScript> </jsScripts> <fields> <field> <name>qdzname</name>  
833 - <rename>qdzname</rename>  
834 - <type>String</type>  
835 - <length>-1</length>  
836 - <precision>-1</precision>  
837 - <replace>Y</replace>  
838 - </field> <field> <name>isfb</name>  
839 - <rename>isfb</rename>  
840 - <type>Integer</type>  
841 - <length>-1</length>  
842 - <precision>-1</precision>  
843 - <replace>N</replace>  
844 - </field> <field> <name>iscanceled</name>  
845 - <rename>iscanceled</rename>  
846 - <type>Integer</type>  
847 - <length>-1</length>  
848 - <precision>-1</precision>  
849 - <replace>N</replace>  
850 - </field> <field> <name>sendtime_calcu</name>  
851 - <rename>sendtime_calcu</rename>  
852 - <type>String</type>  
853 - <length>-1</length>  
854 - <precision>-1</precision>  
855 - <replace>N</replace>  
856 - </field> </fields> <cluster_schema/>  
857 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
858 - <xloc>788</xloc>  
859 - <yloc>44</yloc>  
860 - <draw>Y</draw>  
861 - </GUI>  
862 - </step>  
863 -  
864 - <step>  
865 - <name>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</name>  
866 - <type>SelectValues</type>  
867 - <description/>  
868 - <distribute>Y</distribute>  
869 - <custom_distribution/>  
870 - <copies>1</copies>  
871 - <partitioning>  
872 - <method>none</method>  
873 - <schema_name/>  
874 - </partitioning>  
875 - <fields> <field> <name>&#x8def;&#x724c;</name>  
876 - <rename>lp</rename>  
877 - <length>-2</length>  
878 - <precision>-2</precision>  
879 - </field> <field> <name>&#x7ad9;&#x70b9;&#x540d;&#x79f0;</name>  
880 - <rename>qdzname</rename>  
881 - <length>-2</length>  
882 - <precision>-2</precision>  
883 - </field> <field> <name>&#x53d1;&#x8f66;&#x65f6;&#x95f4;</name>  
884 - <rename>sendtime</rename>  
885 - <length>-2</length>  
886 - <precision>-2</precision>  
887 - </field> <select_unspecified>Y</select_unspecified>  
888 - </fields> <cluster_schema/>  
889 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
890 - <xloc>444</xloc>  
891 - <yloc>131</yloc>  
892 - <draw>Y</draw>  
893 - </GUI>  
894 - </step>  
895 -  
896 - <step>  
897 - <name>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;1</name>  
898 - <type>FilterRows</type>  
899 - <description/>  
900 - <distribute>Y</distribute>  
901 - <custom_distribution/>  
902 - <copies>1</copies>  
903 - <partitioning>  
904 - <method>none</method>  
905 - <schema_name/>  
906 - </partitioning>  
907 -<send_true_to>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x6570;&#x636e;</send_true_to>  
908 -<send_false_to>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</send_false_to>  
909 - <compare>  
910 -<condition>  
911 - <negated>N</negated>  
912 - <leftvalue>bctype</leftvalue>  
913 - <function>&#x3d;</function>  
914 - <rightvalue/>  
915 - <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>  
916 - </compare>  
917 - <cluster_schema/>  
918 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
919 - <xloc>860</xloc>  
920 - <yloc>401</yloc>  
921 - <draw>Y</draw>  
922 - </GUI>  
923 - </step>  
924 -  
925 - <step>  
926 - <name>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</name>  
927 - <type>FilterRows</type>  
928 - <description/>  
929 - <distribute>Y</distribute>  
930 - <custom_distribution/>  
931 - <copies>1</copies>  
932 - <partitioning>  
933 - <method>none</method>  
934 - <schema_name/>  
935 - </partitioning>  
936 -<send_true_to>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</send_true_to>  
937 -<send_false_to>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</send_false_to>  
938 - <compare>  
939 -<condition>  
940 - <negated>N</negated>  
941 - <leftvalue>bctype</leftvalue>  
942 - <function>&#x3d;</function>  
943 - <rightvalue/>  
944 - <value><name>constant</name><type>String</type><text>&#x51fa;&#x573a;</text><length>-1</length><precision>-1</precision><isnull>N</isnull><mask/></value> </condition>  
945 - </compare>  
946 - <cluster_schema/>  
947 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
948 - <xloc>995</xloc>  
949 - <yloc>503</yloc>  
950 - <draw>Y</draw>  
951 - </GUI>  
952 - </step>  
953 -  
954 - <step>  
955 - <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail</name>  
956 - <type>InsertUpdate</type>  
957 - <description/>  
958 - <distribute>Y</distribute>  
959 - <custom_distribution/>  
960 - <copies>1</copies>  
961 - <partitioning>  
962 - <method>none</method>  
963 - <schema_name/>  
964 - </partitioning>  
965 - <connection>bus_control_variable</connection>  
966 - <commit>100</commit>  
967 - <update_bypassed>N</update_bypassed>  
968 - <lookup>  
969 - <schema/>  
970 - <table>bsth_c_s_ttinfo_detail</table>  
971 - <key>  
972 - <name>xlid</name>  
973 - <field>xl</field>  
974 - <condition>&#x3d;</condition>  
975 - <name2/>  
976 - </key>  
977 - <key>  
978 - <name>ttid</name>  
979 - <field>ttinfo</field>  
980 - <condition>&#x3d;</condition>  
981 - <name2/>  
982 - </key>  
983 - <key>  
984 - <name>lpid</name>  
985 - <field>lp</field>  
986 - <condition>&#x3d;</condition>  
987 - <name2/>  
988 - </key>  
989 - <key>  
990 - <name>fcno</name>  
991 - <field>fcno</field>  
992 - <condition>&#x3d;</condition>  
993 - <name2/>  
994 - </key>  
995 - <key>  
996 - <name>bcs</name>  
997 - <field>bcs</field>  
998 - <condition>&#x3d;</condition>  
999 - <name2/>  
1000 - </key>  
1001 - <value>  
1002 - <name>lp</name>  
1003 - <rename>lpid</rename>  
1004 - <update>Y</update>  
1005 - </value>  
1006 - <value>  
1007 - <name>bc_type</name>  
1008 - <rename>bctype_code</rename>  
1009 - <update>Y</update>  
1010 - </value>  
1011 - <value>  
1012 - <name>bcs</name>  
1013 - <rename>bcs</rename>  
1014 - <update>Y</update>  
1015 - </value>  
1016 - <value>  
1017 - <name>bcsj</name>  
1018 - <rename>bcsj</rename>  
1019 - <update>Y</update>  
1020 - </value>  
1021 - <value>  
1022 - <name>fcno</name>  
1023 - <rename>fcno</rename>  
1024 - <update>Y</update>  
1025 - </value>  
1026 - <value>  
1027 - <name>jhlc</name>  
1028 - <rename>jhlc</rename>  
1029 - <update>Y</update>  
1030 - </value>  
1031 - <value>  
1032 - <name>fcsj</name>  
1033 - <rename>sendtime_calcu</rename>  
1034 - <update>Y</update>  
1035 - </value>  
1036 - <value>  
1037 - <name>ttinfo</name>  
1038 - <rename>ttid</rename>  
1039 - <update>Y</update>  
1040 - </value>  
1041 - <value>  
1042 - <name>xl</name>  
1043 - <rename>xlid</rename>  
1044 - <update>Y</update>  
1045 - </value>  
1046 - <value>  
1047 - <name>qdz</name>  
1048 - <rename>qdzid</rename>  
1049 - <update>Y</update>  
1050 - </value>  
1051 - <value>  
1052 - <name>zdz</name>  
1053 - <rename>zdzid</rename>  
1054 - <update>Y</update>  
1055 - </value>  
1056 - <value>  
1057 - <name>xl_dir</name>  
1058 - <rename>sxx</rename>  
1059 - <update>Y</update>  
1060 - </value>  
1061 - <value>  
1062 - <name>isfb</name>  
1063 - <rename>isfb</rename>  
1064 - <update>Y</update>  
1065 - </value>  
1066 - <value>  
1067 - <name>qdz_code</name>  
1068 - <rename>qdzcode</rename>  
1069 - <update>Y</update>  
1070 - </value>  
1071 - <value>  
1072 - <name>qdz_name</name>  
1073 - <rename>qdzname</rename>  
1074 - <update>Y</update>  
1075 - </value>  
1076 - <value>  
1077 - <name>zdz_code</name>  
1078 - <rename>zdzcode</rename>  
1079 - <update>Y</update>  
1080 - </value>  
1081 - <value>  
1082 - <name>zdz_name</name>  
1083 - <rename>zdzname</rename>  
1084 - <update>Y</update>  
1085 - </value>  
1086 - </lookup>  
1087 - <cluster_schema/>  
1088 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1089 - <xloc>143</xloc>  
1090 - <yloc>860</yloc>  
1091 - <draw>Y</draw>  
1092 - </GUI>  
1093 - </step>  
1094 -  
1095 - <step>  
1096 - <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail 2</name>  
1097 - <type>InsertUpdate</type>  
1098 - <description/>  
1099 - <distribute>Y</distribute>  
1100 - <custom_distribution/>  
1101 - <copies>1</copies>  
1102 - <partitioning>  
1103 - <method>none</method>  
1104 - <schema_name/>  
1105 - </partitioning>  
1106 - <connection>bus_control_variable</connection>  
1107 - <commit>100</commit>  
1108 - <update_bypassed>N</update_bypassed>  
1109 - <lookup>  
1110 - <schema/>  
1111 - <table>bsth_c_s_ttinfo_detail</table>  
1112 - <key>  
1113 - <name>xlid</name>  
1114 - <field>xl</field>  
1115 - <condition>&#x3d;</condition>  
1116 - <name2/>  
1117 - </key>  
1118 - <key>  
1119 - <name>ttid</name>  
1120 - <field>ttinfo</field>  
1121 - <condition>&#x3d;</condition>  
1122 - <name2/>  
1123 - </key>  
1124 - <key>  
1125 - <name>lpid</name>  
1126 - <field>lp</field>  
1127 - <condition>&#x3d;</condition>  
1128 - <name2/>  
1129 - </key>  
1130 - <key>  
1131 - <name>fcno</name>  
1132 - <field>fcno</field>  
1133 - <condition>&#x3d;</condition>  
1134 - <name2/>  
1135 - </key>  
1136 - <key>  
1137 - <name>bcs</name>  
1138 - <field>bcs</field>  
1139 - <condition>&#x3d;</condition>  
1140 - <name2/>  
1141 - </key>  
1142 - <value>  
1143 - <name>tcc</name>  
1144 - <rename>qdzid</rename>  
1145 - <update>Y</update>  
1146 - </value>  
1147 - <value>  
1148 - <name>zdz</name>  
1149 - <rename>zdzid</rename>  
1150 - <update>Y</update>  
1151 - </value>  
1152 - <value>  
1153 - <name>xl</name>  
1154 - <rename>xlid</rename>  
1155 - <update>Y</update>  
1156 - </value>  
1157 - <value>  
1158 - <name>ttinfo</name>  
1159 - <rename>ttid</rename>  
1160 - <update>Y</update>  
1161 - </value>  
1162 - <value>  
1163 - <name>xl_dir</name>  
1164 - <rename>sxx</rename>  
1165 - <update>Y</update>  
1166 - </value>  
1167 - <value>  
1168 - <name>lp</name>  
1169 - <rename>lpid</rename>  
1170 - <update>Y</update>  
1171 - </value>  
1172 - <value>  
1173 - <name>jhlc</name>  
1174 - <rename>out_mileage</rename>  
1175 - <update>Y</update>  
1176 - </value>  
1177 - <value>  
1178 - <name>fcsj</name>  
1179 - <rename>sendtime_calcu</rename>  
1180 - <update>Y</update>  
1181 - </value>  
1182 - <value>  
1183 - <name>bcsj</name>  
1184 - <rename>out_time</rename>  
1185 - <update>Y</update>  
1186 - </value>  
1187 - <value>  
1188 - <name>bcs</name>  
1189 - <rename>bcs</rename>  
1190 - <update>Y</update>  
1191 - </value>  
1192 - <value>  
1193 - <name>fcno</name>  
1194 - <rename>fcno</rename>  
1195 - <update>Y</update>  
1196 - </value>  
1197 - <value>  
1198 - <name>bc_type</name>  
1199 - <rename>bctype_code</rename>  
1200 - <update>Y</update>  
1201 - </value>  
1202 - <value>  
1203 - <name>isfb</name>  
1204 - <rename>isfb</rename>  
1205 - <update>Y</update>  
1206 - </value>  
1207 - <value>  
1208 - <name>qdz_code</name>  
1209 - <rename>qdzcode</rename>  
1210 - <update>Y</update>  
1211 - </value>  
1212 - <value>  
1213 - <name>qdz_name</name>  
1214 - <rename>tn</rename>  
1215 - <update>Y</update>  
1216 - </value>  
1217 - <value>  
1218 - <name>zdz_code</name>  
1219 - <rename>zdzcode</rename>  
1220 - <update>Y</update>  
1221 - </value>  
1222 - <value>  
1223 - <name>zdz_name</name>  
1224 - <rename>zdzname</rename>  
1225 - <update>Y</update>  
1226 - </value>  
1227 - </lookup>  
1228 - <cluster_schema/>  
1229 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1230 - <xloc>340</xloc>  
1231 - <yloc>1087</yloc>  
1232 - <draw>Y</draw>  
1233 - </GUI>  
1234 - </step>  
1235 -  
1236 - <step>  
1237 - <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail 3</name>  
1238 - <type>InsertUpdate</type>  
1239 - <description/>  
1240 - <distribute>Y</distribute>  
1241 - <custom_distribution/>  
1242 - <copies>1</copies>  
1243 - <partitioning>  
1244 - <method>none</method>  
1245 - <schema_name/>  
1246 - </partitioning>  
1247 - <connection>bus_control_variable</connection>  
1248 - <commit>100</commit>  
1249 - <update_bypassed>N</update_bypassed>  
1250 - <lookup>  
1251 - <schema/>  
1252 - <table>bsth_c_s_ttinfo_detail</table>  
1253 - <key>  
1254 - <name>xlid</name>  
1255 - <field>xl</field>  
1256 - <condition>&#x3d;</condition>  
1257 - <name2/>  
1258 - </key>  
1259 - <key>  
1260 - <name>ttid</name>  
1261 - <field>ttinfo</field>  
1262 - <condition>&#x3d;</condition>  
1263 - <name2/>  
1264 - </key>  
1265 - <key>  
1266 - <name>lpid</name>  
1267 - <field>lp</field>  
1268 - <condition>&#x3d;</condition>  
1269 - <name2/>  
1270 - </key>  
1271 - <key>  
1272 - <name>fcno</name>  
1273 - <field>fcno</field>  
1274 - <condition>&#x3d;</condition>  
1275 - <name2/>  
1276 - </key>  
1277 - <key>  
1278 - <name>bcs</name>  
1279 - <field>bcs</field>  
1280 - <condition>&#x3d;</condition>  
1281 - <name2/>  
1282 - </key>  
1283 - <value>  
1284 - <name>fcno</name>  
1285 - <rename>fcno</rename>  
1286 - <update>Y</update>  
1287 - </value>  
1288 - <value>  
1289 - <name>bcs</name>  
1290 - <rename>bcs</rename>  
1291 - <update>Y</update>  
1292 - </value>  
1293 - <value>  
1294 - <name>xl</name>  
1295 - <rename>xlid</rename>  
1296 - <update>Y</update>  
1297 - </value>  
1298 - <value>  
1299 - <name>ttinfo</name>  
1300 - <rename>ttid</rename>  
1301 - <update>Y</update>  
1302 - </value>  
1303 - <value>  
1304 - <name>lp</name>  
1305 - <rename>lpid</rename>  
1306 - <update>Y</update>  
1307 - </value>  
1308 - <value>  
1309 - <name>bc_type</name>  
1310 - <rename>bctype_code</rename>  
1311 - <update>Y</update>  
1312 - </value>  
1313 - <value>  
1314 - <name>bcsj</name>  
1315 - <rename>parade_time</rename>  
1316 - <update>Y</update>  
1317 - </value>  
1318 - <value>  
1319 - <name>jhlc</name>  
1320 - <rename>parade_mileage</rename>  
1321 - <update>Y</update>  
1322 - </value>  
1323 - <value>  
1324 - <name>fcsj</name>  
1325 - <rename>sendtime_calcu</rename>  
1326 - <update>Y</update>  
1327 - </value>  
1328 - <value>  
1329 - <name>xl_dir</name>  
1330 - <rename>sxx2</rename>  
1331 - <update>Y</update>  
1332 - </value>  
1333 - <value>  
1334 - <name>qdz</name>  
1335 - <rename>qdzid</rename>  
1336 - <update>Y</update>  
1337 - </value>  
1338 - <value>  
1339 - <name>tcc</name>  
1340 - <rename>zdzid</rename>  
1341 - <update>Y</update>  
1342 - </value>  
1343 - <value>  
1344 - <name>isfb</name>  
1345 - <rename>isfb</rename>  
1346 - <update>Y</update>  
1347 - </value>  
1348 - <value>  
1349 - <name>qdz_code</name>  
1350 - <rename>qdzcode</rename>  
1351 - <update>Y</update>  
1352 - </value>  
1353 - <value>  
1354 - <name>qdz_name</name>  
1355 - <rename>qname</rename>  
1356 - <update>Y</update>  
1357 - </value>  
1358 - <value>  
1359 - <name>zdz_code</name>  
1360 - <rename>zdzcode</rename>  
1361 - <update>Y</update>  
1362 - </value>  
1363 - <value>  
1364 - <name>zdz_name</name>  
1365 - <rename>tn</rename>  
1366 - <update>Y</update>  
1367 - </value>  
1368 - </lookup>  
1369 - <cluster_schema/>  
1370 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1371 - <xloc>845</xloc>  
1372 - <yloc>899</yloc>  
1373 - <draw>Y</draw>  
1374 - </GUI>  
1375 - </step>  
1376 -  
1377 - <step>  
1378 - <name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</name>  
1379 - <type>ExcelInput</type>  
1380 - <description/>  
1381 - <distribute>N</distribute>  
1382 - <custom_distribution/>  
1383 - <copies>1</copies>  
1384 - <partitioning>  
1385 - <method>none</method>  
1386 - <schema_name/>  
1387 - </partitioning>  
1388 - <header>Y</header>  
1389 - <noempty>Y</noempty>  
1390 - <stoponempty>N</stoponempty>  
1391 - <filefield/>  
1392 - <sheetfield/>  
1393 - <sheetrownumfield/>  
1394 - <rownumfield/>  
1395 - <sheetfield/>  
1396 - <filefield/>  
1397 - <limit>0</limit>  
1398 - <encoding/>  
1399 - <add_to_result_filenames>Y</add_to_result_filenames>  
1400 - <accept_filenames>N</accept_filenames>  
1401 - <accept_field/>  
1402 - <accept_stepname/>  
1403 - <file>  
1404 - <name/>  
1405 - <filemask/>  
1406 - <exclude_filemask/>  
1407 - <file_required>N</file_required>  
1408 - <include_subfolders>N</include_subfolders>  
1409 - </file>  
1410 - <fields>  
1411 - </fields>  
1412 - <sheets>  
1413 - <sheet>  
1414 - <name/>  
1415 - <startrow>0</startrow>  
1416 - <startcol>0</startcol>  
1417 - </sheet>  
1418 - </sheets>  
1419 - <strict_types>N</strict_types>  
1420 - <error_ignored>N</error_ignored>  
1421 - <error_line_skipped>N</error_line_skipped>  
1422 - <bad_line_files_destination_directory/>  
1423 - <bad_line_files_extension>warning</bad_line_files_extension>  
1424 - <error_line_files_destination_directory/>  
1425 - <error_line_files_extension>error</error_line_files_extension>  
1426 - <line_number_files_destination_directory/>  
1427 - <line_number_files_extension>line</line_number_files_extension>  
1428 - <shortFileFieldName/>  
1429 - <pathFieldName/>  
1430 - <hiddenFieldName/>  
1431 - <lastModificationTimeFieldName/>  
1432 - <uriNameFieldName/>  
1433 - <rootUriNameFieldName/>  
1434 - <extensionFieldName/>  
1435 - <sizeFieldName/>  
1436 - <spreadsheet_type>JXL</spreadsheet_type>  
1437 - <cluster_schema/>  
1438 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1439 - <xloc>112</xloc>  
1440 - <yloc>44</yloc>  
1441 - <draw>Y</draw>  
1442 - </GUI>  
1443 - </step>  
1444 -  
1445 - <step>  
1446 - <name>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;1</name>  
1447 - <type>DBLookup</type>  
1448 - <description/>  
1449 - <distribute>Y</distribute>  
1450 - <custom_distribution/>  
1451 - <copies>1</copies>  
1452 - <partitioning>  
1453 - <method>none</method>  
1454 - <schema_name/>  
1455 - </partitioning>  
1456 - <connection>bus_control_variable</connection>  
1457 - <cache>N</cache>  
1458 - <cache_load_all>N</cache_load_all>  
1459 - <cache_size>0</cache_size>  
1460 - <lookup>  
1461 - <schema/>  
1462 - <table>bsth_c_car_park</table>  
1463 - <orderby/>  
1464 - <fail_on_multiple>N</fail_on_multiple>  
1465 - <eat_row_on_failure>N</eat_row_on_failure>  
1466 - <key>  
1467 - <name>tccname_</name>  
1468 - <field>park_name</field>  
1469 - <condition>&#x3d;</condition>  
1470 - <name2/>  
1471 - </key>  
1472 - <value>  
1473 - <name>id</name>  
1474 - <rename>qdzid</rename>  
1475 - <default/>  
1476 - <type>Integer</type>  
1477 - </value>  
1478 - <value>  
1479 - <name>park_code</name>  
1480 - <rename>qdzcode</rename>  
1481 - <default/>  
1482 - <type>String</type>  
1483 - </value>  
1484 - <value>  
1485 - <name>park_name</name>  
1486 - <rename>tn</rename>  
1487 - <default/>  
1488 - <type>String</type>  
1489 - </value>  
1490 - </lookup>  
1491 - <cluster_schema/>  
1492 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1493 - <xloc>755</xloc>  
1494 - <yloc>504</yloc>  
1495 - <draw>Y</draw>  
1496 - </GUI>  
1497 - </step>  
1498 -  
1499 - <step>  
1500 - <name>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;2</name>  
1501 - <type>DBLookup</type>  
1502 - <description/>  
1503 - <distribute>Y</distribute>  
1504 - <custom_distribution/>  
1505 - <copies>1</copies>  
1506 - <partitioning>  
1507 - <method>none</method>  
1508 - <schema_name/>  
1509 - </partitioning>  
1510 - <connection>bus_control_variable</connection>  
1511 - <cache>N</cache>  
1512 - <cache_load_all>N</cache_load_all>  
1513 - <cache_size>0</cache_size>  
1514 - <lookup>  
1515 - <schema/>  
1516 - <table>bsth_c_car_park</table>  
1517 - <orderby/>  
1518 - <fail_on_multiple>N</fail_on_multiple>  
1519 - <eat_row_on_failure>N</eat_row_on_failure>  
1520 - <key>  
1521 - <name>tccname_</name>  
1522 - <field>park_name</field>  
1523 - <condition>&#x3d;</condition>  
1524 - <name2/>  
1525 - </key>  
1526 - <value>  
1527 - <name>id</name>  
1528 - <rename>zdzid</rename>  
1529 - <default/>  
1530 - <type>Integer</type>  
1531 - </value>  
1532 - <value>  
1533 - <name>park_code</name>  
1534 - <rename>zdzcode</rename>  
1535 - <default/>  
1536 - <type>String</type>  
1537 - </value>  
1538 - <value>  
1539 - <name>park_name</name>  
1540 - <rename>tn</rename>  
1541 - <default/>  
1542 - <type>String</type>  
1543 - </value>  
1544 - </lookup>  
1545 - <cluster_schema/>  
1546 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1547 - <xloc>887</xloc>  
1548 - <yloc>608</yloc>  
1549 - <draw>Y</draw>  
1550 - </GUI>  
1551 - </step>  
1552 -  
1553 - <step>  
1554 - <name>&#x67e5;&#x627e;&#x51fa;&#x573a;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</name>  
1555 - <type>DBLookup</type>  
1556 - <description/>  
1557 - <distribute>Y</distribute>  
1558 - <custom_distribution/>  
1559 - <copies>1</copies>  
1560 - <partitioning>  
1561 - <method>none</method>  
1562 - <schema_name/>  
1563 - </partitioning>  
1564 - <connection>bus_control_variable</connection>  
1565 - <cache>N</cache>  
1566 - <cache_load_all>N</cache_load_all>  
1567 - <cache_size>0</cache_size>  
1568 - <lookup>  
1569 - <schema/>  
1570 - <table>bsth_c_stationroute</table>  
1571 - <orderby/>  
1572 - <fail_on_multiple>N</fail_on_multiple>  
1573 - <eat_row_on_failure>N</eat_row_on_failure>  
1574 - <key>  
1575 - <name>xlid</name>  
1576 - <field>line</field>  
1577 - <condition>&#x3d;</condition>  
1578 - <name2/>  
1579 - </key>  
1580 - <key>  
1581 - <name>zdzname</name>  
1582 - <field>station_name</field>  
1583 - <condition>&#x3d;</condition>  
1584 - <name2/>  
1585 - </key>  
1586 - <key>  
1587 - <name>endZdtype</name>  
1588 - <field>station_mark</field>  
1589 - <condition>&#x3d;</condition>  
1590 - <name2/>  
1591 - </key>  
1592 - <key>  
1593 - <name>destory</name>  
1594 - <field>destroy</field>  
1595 - <condition>&#x3d;</condition>  
1596 - <name2/>  
1597 - </key>  
1598 - <value>  
1599 - <name>station</name>  
1600 - <rename>zdzid</rename>  
1601 - <default/>  
1602 - <type>Integer</type>  
1603 - </value>  
1604 - <value>  
1605 - <name>directions</name>  
1606 - <rename>sxx</rename>  
1607 - <default/>  
1608 - <type>Integer</type>  
1609 - </value>  
1610 - <value>  
1611 - <name>station_code</name>  
1612 - <rename>zdzcode</rename>  
1613 - <default/>  
1614 - <type>String</type>  
1615 - </value>  
1616 - </lookup>  
1617 - <cluster_schema/>  
1618 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1619 - <xloc>329</xloc>  
1620 - <yloc>505</yloc>  
1621 - <draw>Y</draw>  
1622 - </GUI>  
1623 - </step>  
1624 -  
1625 - <step>  
1626 - <name>&#x67e5;&#x627e;&#x65f6;&#x523b;&#x8868;&#x57fa;&#x7840;&#x4fe1;&#x606f;&#x5173;&#x8054;</name>  
1627 - <type>DBLookup</type>  
1628 - <description/>  
1629 - <distribute>Y</distribute>  
1630 - <custom_distribution/>  
1631 - <copies>1</copies>  
1632 - <partitioning>  
1633 - <method>none</method>  
1634 - <schema_name/>  
1635 - </partitioning>  
1636 - <connection>bus_control_variable</connection>  
1637 - <cache>N</cache>  
1638 - <cache_load_all>N</cache_load_all>  
1639 - <cache_size>0</cache_size>  
1640 - <lookup>  
1641 - <schema/>  
1642 - <table>bsth_c_s_ttinfo</table>  
1643 - <orderby/>  
1644 - <fail_on_multiple>N</fail_on_multiple>  
1645 - <eat_row_on_failure>N</eat_row_on_failure>  
1646 - <key>  
1647 - <name>xlid</name>  
1648 - <field>xl</field>  
1649 - <condition>&#x3d;</condition>  
1650 - <name2/>  
1651 - </key>  
1652 - <key>  
1653 - <name>ttinfoname_</name>  
1654 - <field>name</field>  
1655 - <condition>&#x3d;</condition>  
1656 - <name2/>  
1657 - </key>  
1658 - <key>  
1659 - <name>iscanceled</name>  
1660 - <field>is_cancel</field>  
1661 - <condition>&#x3d;</condition>  
1662 - <name2/>  
1663 - </key>  
1664 - <value>  
1665 - <name>id</name>  
1666 - <rename>ttid</rename>  
1667 - <default/>  
1668 - <type>Integer</type>  
1669 - </value>  
1670 - </lookup>  
1671 - <cluster_schema/>  
1672 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1673 - <xloc>1011</xloc>  
1674 - <yloc>134</yloc>  
1675 - <draw>Y</draw>  
1676 - </GUI>  
1677 - </step>  
1678 -  
1679 - <step>  
1680 - <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x5173;&#x8054;</name>  
1681 - <type>DBLookup</type>  
1682 - <description/>  
1683 - <distribute>Y</distribute>  
1684 - <custom_distribution/>  
1685 - <copies>1</copies>  
1686 - <partitioning>  
1687 - <method>none</method>  
1688 - <schema_name/>  
1689 - </partitioning>  
1690 - <connection>bus_control_variable</connection>  
1691 - <cache>N</cache>  
1692 - <cache_load_all>N</cache_load_all>  
1693 - <cache_size>0</cache_size>  
1694 - <lookup>  
1695 - <schema/>  
1696 - <table>bsth_c_line</table>  
1697 - <orderby/>  
1698 - <fail_on_multiple>N</fail_on_multiple>  
1699 - <eat_row_on_failure>N</eat_row_on_failure>  
1700 - <key>  
1701 - <name>xlname_</name>  
1702 - <field>name</field>  
1703 - <condition>&#x3d;</condition>  
1704 - <name2/>  
1705 - </key>  
1706 - <key>  
1707 - <name>iscanceled</name>  
1708 - <field>destroy</field>  
1709 - <condition>&#x3d;</condition>  
1710 - <name2/>  
1711 - </key>  
1712 - <value>  
1713 - <name>id</name>  
1714 - <rename>xlid</rename>  
1715 - <default/>  
1716 - <type>Integer</type>  
1717 - </value>  
1718 - </lookup>  
1719 - <cluster_schema/>  
1720 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1721 - <xloc>1007</xloc>  
1722 - <yloc>43</yloc>  
1723 - <draw>Y</draw>  
1724 - </GUI>  
1725 - </step>  
1726 -  
1727 - <step>  
1728 - <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x51fa;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>  
1729 - <type>DBLookup</type>  
1730 - <description/>  
1731 - <distribute>Y</distribute>  
1732 - <custom_distribution/>  
1733 - <copies>1</copies>  
1734 - <partitioning>  
1735 - <method>none</method>  
1736 - <schema_name/>  
1737 - </partitioning>  
1738 - <connection>bus_control_variable</connection>  
1739 - <cache>N</cache>  
1740 - <cache_load_all>N</cache_load_all>  
1741 - <cache_size>0</cache_size>  
1742 - <lookup>  
1743 - <schema/>  
1744 - <table>bsth_c_line_information</table>  
1745 - <orderby/>  
1746 - <fail_on_multiple>N</fail_on_multiple>  
1747 - <eat_row_on_failure>N</eat_row_on_failure>  
1748 - <key>  
1749 - <name>xlid</name>  
1750 - <field>line</field>  
1751 - <condition>&#x3d;</condition>  
1752 - <name2/>  
1753 - </key>  
1754 - <value>  
1755 - <name>up_out_timer</name>  
1756 - <rename>up_out_timer</rename>  
1757 - <default/>  
1758 - <type>Number</type>  
1759 - </value>  
1760 - <value>  
1761 - <name>up_out_mileage</name>  
1762 - <rename>up_out_mileage</rename>  
1763 - <default/>  
1764 - <type>Number</type>  
1765 - </value>  
1766 - <value>  
1767 - <name>down_out_timer</name>  
1768 - <rename>down_out_timer</rename>  
1769 - <default/>  
1770 - <type>Number</type>  
1771 - </value>  
1772 - <value>  
1773 - <name>down_out_mileage</name>  
1774 - <rename>down_out_mileage</rename>  
1775 - <default/>  
1776 - <type>Number</type>  
1777 - </value>  
1778 - </lookup>  
1779 - <cluster_schema/>  
1780 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1781 - <xloc>335</xloc>  
1782 - <yloc>763</yloc>  
1783 - <draw>Y</draw>  
1784 - </GUI>  
1785 - </step>  
1786 -  
1787 - <step>  
1788 - <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x6240;&#x6709;&#x4e0a;&#x4e0b;&#x884c;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>  
1789 - <type>DBLookup</type>  
1790 - <description/>  
1791 - <distribute>Y</distribute>  
1792 - <custom_distribution/>  
1793 - <copies>1</copies>  
1794 - <partitioning>  
1795 - <method>none</method>  
1796 - <schema_name/>  
1797 - </partitioning>  
1798 - <connection>bus_control_variable</connection>  
1799 - <cache>N</cache>  
1800 - <cache_load_all>N</cache_load_all>  
1801 - <cache_size>0</cache_size>  
1802 - <lookup>  
1803 - <schema/>  
1804 - <table>bsth_c_line_information</table>  
1805 - <orderby/>  
1806 - <fail_on_multiple>N</fail_on_multiple>  
1807 - <eat_row_on_failure>N</eat_row_on_failure>  
1808 - <key>  
1809 - <name>xlid</name>  
1810 - <field>line</field>  
1811 - <condition>&#x3d;</condition>  
1812 - <name2/>  
1813 - </key>  
1814 - <value>  
1815 - <name>up_mileage</name>  
1816 - <rename>up_mileage</rename>  
1817 - <default/>  
1818 - <type>Number</type>  
1819 - </value>  
1820 - <value>  
1821 - <name>down_mileage</name>  
1822 - <rename>down_mileage</rename>  
1823 - <default/>  
1824 - <type>Number</type>  
1825 - </value>  
1826 - <value>  
1827 - <name>up_travel_time</name>  
1828 - <rename>up_travel_time</rename>  
1829 - <default/>  
1830 - <type>Number</type>  
1831 - </value>  
1832 - <value>  
1833 - <name>down_travel_time</name>  
1834 - <rename>down_travel_time</rename>  
1835 - <default/>  
1836 - <type>Number</type>  
1837 - </value>  
1838 - <value>  
1839 - <name>early_start_time</name>  
1840 - <rename>early_start_time</rename>  
1841 - <default/>  
1842 - <type>String</type>  
1843 - </value>  
1844 - <value>  
1845 - <name>early_end_time</name>  
1846 - <rename>early_end_time</rename>  
1847 - <default/>  
1848 - <type>String</type>  
1849 - </value>  
1850 - <value>  
1851 - <name>early_up_time</name>  
1852 - <rename>early_up_time</rename>  
1853 - <default/>  
1854 - <type>Number</type>  
1855 - </value>  
1856 - <value>  
1857 - <name>early_down_time</name>  
1858 - <rename>early_down_time</rename>  
1859 - <default/>  
1860 - <type>Number</type>  
1861 - </value>  
1862 - <value>  
1863 - <name>late_start_time</name>  
1864 - <rename>late_start_time</rename>  
1865 - <default/>  
1866 - <type>String</type>  
1867 - </value>  
1868 - <value>  
1869 - <name>late_end_time</name>  
1870 - <rename>late_end_time</rename>  
1871 - <default/>  
1872 - <type>String</type>  
1873 - </value>  
1874 - <value>  
1875 - <name>late_up_time</name>  
1876 - <rename>late_up_time</rename>  
1877 - <default/>  
1878 - <type>Number</type>  
1879 - </value>  
1880 - <value>  
1881 - <name>late_down_time</name>  
1882 - <rename>late_down_time</rename>  
1883 - <default/>  
1884 - <type>Number</type>  
1885 - </value>  
1886 - </lookup>  
1887 - <cluster_schema/>  
1888 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1889 - <xloc>149</xloc>  
1890 - <yloc>581</yloc>  
1891 - <draw>Y</draw>  
1892 - </GUI>  
1893 - </step>  
1894 -  
1895 - <step>  
1896 - <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x8fdb;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>  
1897 - <type>DBLookup</type>  
1898 - <description/>  
1899 - <distribute>Y</distribute>  
1900 - <custom_distribution/>  
1901 - <copies>1</copies>  
1902 - <partitioning>  
1903 - <method>none</method>  
1904 - <schema_name/>  
1905 - </partitioning>  
1906 - <connection>bus_control_variable</connection>  
1907 - <cache>N</cache>  
1908 - <cache_load_all>N</cache_load_all>  
1909 - <cache_size>0</cache_size>  
1910 - <lookup>  
1911 - <schema/>  
1912 - <table>bsth_c_line_information</table>  
1913 - <orderby/>  
1914 - <fail_on_multiple>N</fail_on_multiple>  
1915 - <eat_row_on_failure>N</eat_row_on_failure>  
1916 - <key>  
1917 - <name>xlid</name>  
1918 - <field>line</field>  
1919 - <condition>&#x3d;</condition>  
1920 - <name2/>  
1921 - </key>  
1922 - <value>  
1923 - <name>up_in_mileage</name>  
1924 - <rename>up_in_mileage</rename>  
1925 - <default/>  
1926 - <type>Number</type>  
1927 - </value>  
1928 - <value>  
1929 - <name>up_in_timer</name>  
1930 - <rename>up_in_timer</rename>  
1931 - <default/>  
1932 - <type>Number</type>  
1933 - </value>  
1934 - <value>  
1935 - <name>down_in_mileage</name>  
1936 - <rename>down_in_mileage</rename>  
1937 - <default/>  
1938 - <type>Number</type>  
1939 - </value>  
1940 - <value>  
1941 - <name>down_in_timer</name>  
1942 - <rename>down_in_timer</rename>  
1943 - <default/>  
1944 - <type>Number</type>  
1945 - </value>  
1946 - </lookup>  
1947 - <cluster_schema/>  
1948 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1949 - <xloc>553</xloc>  
1950 - <yloc>1004</yloc>  
1951 - <draw>Y</draw>  
1952 - </GUI>  
1953 - </step>  
1954 -  
1955 - <step>  
1956 - <name>&#x67e5;&#x627e;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;</name>  
1957 - <type>DBLookup</type>  
1958 - <description/>  
1959 - <distribute>Y</distribute>  
1960 - <custom_distribution/>  
1961 - <copies>1</copies>  
1962 - <partitioning>  
1963 - <method>none</method>  
1964 - <schema_name/>  
1965 - </partitioning>  
1966 - <connection>bus_control_variable</connection>  
1967 - <cache>N</cache>  
1968 - <cache_load_all>N</cache_load_all>  
1969 - <cache_size>0</cache_size>  
1970 - <lookup>  
1971 - <schema/>  
1972 - <table>bsth_c_stationroute</table>  
1973 - <orderby/>  
1974 - <fail_on_multiple>N</fail_on_multiple>  
1975 - <eat_row_on_failure>N</eat_row_on_failure>  
1976 - <key>  
1977 - <name>xlid</name>  
1978 - <field>line</field>  
1979 - <condition>&#x3d;</condition>  
1980 - <name2/>  
1981 - </key>  
1982 - <key>  
1983 - <name>sxx</name>  
1984 - <field>directions</field>  
1985 - <condition>&#x3d;</condition>  
1986 - <name2/>  
1987 - </key>  
1988 - <key>  
1989 - <name>endZdtype</name>  
1990 - <field>station_mark</field>  
1991 - <condition>&#x3d;</condition>  
1992 - <name2/>  
1993 - </key>  
1994 - <key>  
1995 - <name>destory</name>  
1996 - <field>destroy</field>  
1997 - <condition>&#x3d;</condition>  
1998 - <name2/>  
1999 - </key>  
2000 - <value>  
2001 - <name>station_name</name>  
2002 - <rename>zdzname</rename>  
2003 - <default/>  
2004 - <type>String</type>  
2005 - </value>  
2006 - <value>  
2007 - <name>station</name>  
2008 - <rename>zdzid</rename>  
2009 - <default/>  
2010 - <type>Integer</type>  
2011 - </value>  
2012 - <value>  
2013 - <name>station_code</name>  
2014 - <rename>zdzcode</rename>  
2015 - <default/>  
2016 - <type>String</type>  
2017 - </value>  
2018 - </lookup>  
2019 - <cluster_schema/>  
2020 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2021 - <xloc>280</xloc>  
2022 - <yloc>404</yloc>  
2023 - <draw>Y</draw>  
2024 - </GUI>  
2025 - </step>  
2026 -  
2027 - <step>  
2028 - <name>&#x67e5;&#x627e;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</name>  
2029 - <type>DBLookup</type>  
2030 - <description/>  
2031 - <distribute>Y</distribute>  
2032 - <custom_distribution/>  
2033 - <copies>1</copies>  
2034 - <partitioning>  
2035 - <method>none</method>  
2036 - <schema_name/>  
2037 - </partitioning>  
2038 - <connection>bus_control_variable</connection>  
2039 - <cache>N</cache>  
2040 - <cache_load_all>N</cache_load_all>  
2041 - <cache_size>0</cache_size>  
2042 - <lookup>  
2043 - <schema/>  
2044 - <table>bsth_c_stationroute</table>  
2045 - <orderby/>  
2046 - <fail_on_multiple>N</fail_on_multiple>  
2047 - <eat_row_on_failure>N</eat_row_on_failure>  
2048 - <key>  
2049 - <name>xlid</name>  
2050 - <field>line</field>  
2051 - <condition>&#x3d;</condition>  
2052 - <name2/>  
2053 - </key>  
2054 - <key>  
2055 - <name>qdzname</name>  
2056 - <field>station_name</field>  
2057 - <condition>&#x3d;</condition>  
2058 - <name2/>  
2059 - </key>  
2060 - <key>  
2061 - <name>sendZdtype</name>  
2062 - <field>station_mark</field>  
2063 - <condition>&#x3d;</condition>  
2064 - <name2/>  
2065 - </key>  
2066 - <key>  
2067 - <name>destory</name>  
2068 - <field>destroy</field>  
2069 - <condition>&#x3d;</condition>  
2070 - <name2/>  
2071 - </key>  
2072 - <value>  
2073 - <name>station</name>  
2074 - <rename>qdzid</rename>  
2075 - <default/>  
2076 - <type>Integer</type>  
2077 - </value>  
2078 - <value>  
2079 - <name>directions</name>  
2080 - <rename>sxx</rename>  
2081 - <default/>  
2082 - <type>Integer</type>  
2083 - </value>  
2084 - <value>  
2085 - <name>station_code</name>  
2086 - <rename>qdzcode</rename>  
2087 - <default/>  
2088 - <type>String</type>  
2089 - </value>  
2090 - </lookup>  
2091 - <cluster_schema/>  
2092 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2093 - <xloc>430</xloc>  
2094 - <yloc>403</yloc>  
2095 - <draw>Y</draw>  
2096 - </GUI>  
2097 - </step>  
2098 -  
2099 - <step>  
2100 - <name>&#x67e5;&#x627e;&#x8def;&#x724c;&#x5173;&#x8054;</name>  
2101 - <type>DBLookup</type>  
2102 - <description/>  
2103 - <distribute>Y</distribute>  
2104 - <custom_distribution/>  
2105 - <copies>1</copies>  
2106 - <partitioning>  
2107 - <method>none</method>  
2108 - <schema_name/>  
2109 - </partitioning>  
2110 - <connection>bus_control_variable</connection>  
2111 - <cache>N</cache>  
2112 - <cache_load_all>N</cache_load_all>  
2113 - <cache_size>0</cache_size>  
2114 - <lookup>  
2115 - <schema/>  
2116 - <table>bsth_c_s_gbi</table>  
2117 - <orderby/>  
2118 - <fail_on_multiple>N</fail_on_multiple>  
2119 - <eat_row_on_failure>N</eat_row_on_failure>  
2120 - <key>  
2121 - <name>xlid</name>  
2122 - <field>xl</field>  
2123 - <condition>&#x3d;</condition>  
2124 - <name2/>  
2125 - </key>  
2126 - <key>  
2127 - <name>lp</name>  
2128 - <field>lp_name</field>  
2129 - <condition>&#x3d;</condition>  
2130 - <name2/>  
2131 - </key>  
2132 - <key>  
2133 - <name>iscanceled</name>  
2134 - <field>is_cancel</field>  
2135 - <condition>&#x3d;</condition>  
2136 - <name2/>  
2137 - </key>  
2138 - <value>  
2139 - <name>id</name>  
2140 - <rename>lpid</rename>  
2141 - <default/>  
2142 - <type>Integer</type>  
2143 - </value>  
2144 - </lookup>  
2145 - <cluster_schema/>  
2146 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2147 - <xloc>1013</xloc>  
2148 - <yloc>265</yloc>  
2149 - <draw>Y</draw>  
2150 - </GUI>  
2151 - </step>  
2152 -  
2153 - <step>  
2154 - <name>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ebf;&#x8def;&#x65b9;&#x5411;</name>  
2155 - <type>DBLookup</type>  
2156 - <description/>  
2157 - <distribute>Y</distribute>  
2158 - <custom_distribution/>  
2159 - <copies>1</copies>  
2160 - <partitioning>  
2161 - <method>none</method>  
2162 - <schema_name/>  
2163 - </partitioning>  
2164 - <connection>bus_control_variable</connection>  
2165 - <cache>N</cache>  
2166 - <cache_load_all>N</cache_load_all>  
2167 - <cache_size>0</cache_size>  
2168 - <lookup>  
2169 - <schema/>  
2170 - <table>bsth_c_stationroute</table>  
2171 - <orderby/>  
2172 - <fail_on_multiple>N</fail_on_multiple>  
2173 - <eat_row_on_failure>N</eat_row_on_failure>  
2174 - <key>  
2175 - <name>xlid</name>  
2176 - <field>line</field>  
2177 - <condition>&#x3d;</condition>  
2178 - <name2/>  
2179 - </key>  
2180 - <key>  
2181 - <name>startZdtype_calcu</name>  
2182 - <field>station_mark</field>  
2183 - <condition>&#x3d;</condition>  
2184 - <name2/>  
2185 - </key>  
2186 - <key>  
2187 - <name>qdzname_calcu</name>  
2188 - <field>station_name</field>  
2189 - <condition>&#x3d;</condition>  
2190 - <name2/>  
2191 - </key>  
2192 - <key>  
2193 - <name>destory</name>  
2194 - <field>destroy</field>  
2195 - <condition>&#x3d;</condition>  
2196 - <name2/>  
2197 - </key>  
2198 - <value>  
2199 - <name>directions</name>  
2200 - <rename>sxx</rename>  
2201 - <default/>  
2202 - <type>String</type>  
2203 - </value>  
2204 - </lookup>  
2205 - <cluster_schema/>  
2206 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2207 - <xloc>548</xloc>  
2208 - <yloc>610</yloc>  
2209 - <draw>Y</draw>  
2210 - </GUI>  
2211 - </step>  
2212 -  
2213 - <step>  
2214 - <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>  
2215 - <type>DBLookup</type>  
2216 - <description/>  
2217 - <distribute>Y</distribute>  
2218 - <custom_distribution/>  
2219 - <copies>1</copies>  
2220 - <partitioning>  
2221 - <method>none</method>  
2222 - <schema_name/>  
2223 - </partitioning>  
2224 - <connection>bus_control_variable</connection>  
2225 - <cache>Y</cache>  
2226 - <cache_load_all>Y</cache_load_all>  
2227 - <cache_size>0</cache_size>  
2228 - <lookup>  
2229 - <schema/>  
2230 - <table>bsth_c_stationroute</table>  
2231 - <orderby/>  
2232 - <fail_on_multiple>N</fail_on_multiple>  
2233 - <eat_row_on_failure>N</eat_row_on_failure>  
2234 - <key>  
2235 - <name>xlid</name>  
2236 - <field>line</field>  
2237 - <condition>&#x3d;</condition>  
2238 - <name2/>  
2239 - </key>  
2240 - <key>  
2241 - <name>endZdtype_calcu</name>  
2242 - <field>station_mark</field>  
2243 - <condition>&#x3d;</condition>  
2244 - <name2/>  
2245 - </key>  
2246 - <key>  
2247 - <name>sxx</name>  
2248 - <field>directions</field>  
2249 - <condition>&#x3d;</condition>  
2250 - <name2/>  
2251 - </key>  
2252 - <key>  
2253 - <name>destory</name>  
2254 - <field>destroy</field>  
2255 - <condition>&#x3d;</condition>  
2256 - <name2/>  
2257 - </key>  
2258 - <value>  
2259 - <name>station_name</name>  
2260 - <rename>zdzname_calcu</rename>  
2261 - <default/>  
2262 - <type>Integer</type>  
2263 - </value>  
2264 - </lookup>  
2265 - <cluster_schema/>  
2266 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2267 - <xloc>550</xloc>  
2268 - <yloc>701</yloc>  
2269 - <draw>Y</draw>  
2270 - </GUI>  
2271 - </step>  
2272 -  
2273 - <step>  
2274 - <name>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</name>  
2275 - <type>DBLookup</type>  
2276 - <description/>  
2277 - <distribute>Y</distribute>  
2278 - <custom_distribution/>  
2279 - <copies>1</copies>  
2280 - <partitioning>  
2281 - <method>none</method>  
2282 - <schema_name/>  
2283 - </partitioning>  
2284 - <connection>bus_control_variable</connection>  
2285 - <cache>N</cache>  
2286 - <cache_load_all>N</cache_load_all>  
2287 - <cache_size>0</cache_size>  
2288 - <lookup>  
2289 - <schema/>  
2290 - <table>bsth_c_stationroute</table>  
2291 - <orderby/>  
2292 - <fail_on_multiple>N</fail_on_multiple>  
2293 - <eat_row_on_failure>N</eat_row_on_failure>  
2294 - <key>  
2295 - <name>xlid</name>  
2296 - <field>line</field>  
2297 - <condition>&#x3d;</condition>  
2298 - <name2/>  
2299 - </key>  
2300 - <key>  
2301 - <name>zdzname_calcu</name>  
2302 - <field>station_name</field>  
2303 - <condition>&#x3d;</condition>  
2304 - <name2/>  
2305 - </key>  
2306 - <key>  
2307 - <name>startZdtype_calcu</name>  
2308 - <field>station_mark</field>  
2309 - <condition>&#x3d;</condition>  
2310 - <name2/>  
2311 - </key>  
2312 - <key>  
2313 - <name>destory</name>  
2314 - <field>destroy</field>  
2315 - <condition>&#x3d;</condition>  
2316 - <name2/>  
2317 - </key>  
2318 - <value>  
2319 - <name>directions</name>  
2320 - <rename>sxx2</rename>  
2321 - <default/>  
2322 - <type>Integer</type>  
2323 - </value>  
2324 - <value>  
2325 - <name>station</name>  
2326 - <rename>qdzid</rename>  
2327 - <default/>  
2328 - <type>Integer</type>  
2329 - </value>  
2330 - <value>  
2331 - <name>station_code</name>  
2332 - <rename>qdzcode</rename>  
2333 - <default/>  
2334 - <type>String</type>  
2335 - </value>  
2336 - <value>  
2337 - <name>station_name</name>  
2338 - <rename>qname</rename>  
2339 - <default/>  
2340 - <type>String</type>  
2341 - </value>  
2342 - </lookup>  
2343 - <cluster_schema/>  
2344 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2345 - <xloc>551</xloc>  
2346 - <yloc>782</yloc>  
2347 - <draw>Y</draw>  
2348 - </GUI>  
2349 - </step>  
2350 -  
2351 - <step>  
2352 - <name>&#x6b63;&#x5e38;&#x73ed;&#x6b21;_&#x5904;&#x7406;&#x6570;&#x636e;</name>  
2353 - <type>ScriptValueMod</type>  
2354 - <description/>  
2355 - <distribute>Y</distribute>  
2356 - <custom_distribution/>  
2357 - <copies>1</copies>  
2358 - <partitioning>  
2359 - <method>none</method>  
2360 - <schema_name/>  
2361 - </partitioning>  
2362 - <compatible>N</compatible>  
2363 - <optimizationLevel>9</optimizationLevel>  
2364 - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>  
2365 - <jsScript_name>Script 1</jsScript_name>  
2366 - <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>  
2367 - </jsScript> </jsScripts> <fields> <field> <name>sendZdtype</name>  
2368 - <rename>sendZdtype</rename>  
2369 - <type>String</type>  
2370 - <length>-1</length>  
2371 - <precision>-1</precision>  
2372 - <replace>N</replace>  
2373 - </field> <field> <name>endZdtype</name>  
2374 - <rename>endZdtype</rename>  
2375 - <type>String</type>  
2376 - <length>-1</length>  
2377 - <precision>-1</precision>  
2378 - <replace>N</replace>  
2379 - </field> <field> <name>destory</name>  
2380 - <rename>destory</rename>  
2381 - <type>Integer</type>  
2382 - <length>-1</length>  
2383 - <precision>-1</precision>  
2384 - <replace>N</replace>  
2385 - </field> </fields> <cluster_schema/>  
2386 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2387 - <xloc>588</xloc>  
2388 - <yloc>403</yloc>  
2389 - <draw>Y</draw>  
2390 - </GUI>  
2391 - </step>  
2392 -  
2393 - <step>  
2394 - <name>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x6570;&#x636e;</name>  
2395 - <type>Dummy</type>  
2396 - <description/>  
2397 - <distribute>Y</distribute>  
2398 - <custom_distribution/>  
2399 - <copies>1</copies>  
2400 - <partitioning>  
2401 - <method>none</method>  
2402 - <schema_name/>  
2403 - </partitioning>  
2404 - <cluster_schema/>  
2405 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2406 - <xloc>725</xloc>  
2407 - <yloc>404</yloc>  
2408 - <draw>Y</draw>  
2409 - </GUI>  
2410 - </step>  
2411 -  
2412 - <step>  
2413 - <name>&#x6dfb;&#x52a0;&#x53d1;&#x8f66;&#x987a;&#x5e8f;&#x53f7;</name>  
2414 - <type>GroupBy</type>  
2415 - <description/>  
2416 - <distribute>Y</distribute>  
2417 - <custom_distribution/>  
2418 - <copies>1</copies>  
2419 - <partitioning>  
2420 - <method>none</method>  
2421 - <schema_name/>  
2422 - </partitioning>  
2423 - <all_rows>Y</all_rows>  
2424 - <ignore_aggregate>N</ignore_aggregate>  
2425 - <field_ignore/>  
2426 - <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>  
2427 - <prefix>grp</prefix>  
2428 - <add_linenr>Y</add_linenr>  
2429 - <linenr_fieldname>fcno</linenr_fieldname>  
2430 - <give_back_row>N</give_back_row>  
2431 - <group>  
2432 - <field>  
2433 - <name>lp</name>  
2434 - </field>  
2435 - </group>  
2436 - <fields>  
2437 - </fields>  
2438 - <cluster_schema/>  
2439 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2440 - <xloc>442</xloc>  
2441 - <yloc>44</yloc>  
2442 - <draw>Y</draw>  
2443 - </GUI>  
2444 - </step>  
2445 -  
2446 - <step>  
2447 - <name>&#x6dfb;&#x52a0;&#x5bf9;&#x5e94;&#x73ed;&#x6b21;&#x6570;</name>  
2448 - <type>GroupBy</type>  
2449 - <description/>  
2450 - <distribute>Y</distribute>  
2451 - <custom_distribution/>  
2452 - <copies>1</copies>  
2453 - <partitioning>  
2454 - <method>none</method>  
2455 - <schema_name/>  
2456 - </partitioning>  
2457 - <all_rows>Y</all_rows>  
2458 - <ignore_aggregate>N</ignore_aggregate>  
2459 - <field_ignore/>  
2460 - <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>  
2461 - <prefix>grp</prefix>  
2462 - <add_linenr>Y</add_linenr>  
2463 - <linenr_fieldname>bcs</linenr_fieldname>  
2464 - <give_back_row>N</give_back_row>  
2465 - <group>  
2466 - </group>  
2467 - <fields>  
2468 - </fields>  
2469 - <cluster_schema/>  
2470 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2471 - <xloc>692</xloc>  
2472 - <yloc>44</yloc>  
2473 - <draw>Y</draw>  
2474 - </GUI>  
2475 - </step>  
2476 -  
2477 - <step>  
2478 - <name>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</name>  
2479 - <type>Normaliser</type>  
2480 - <description/>  
2481 - <distribute>Y</distribute>  
2482 - <custom_distribution/>  
2483 - <copies>1</copies>  
2484 - <partitioning>  
2485 - <method>none</method>  
2486 - <schema_name/>  
2487 - </partitioning>  
2488 - <typefield>&#x7ad9;&#x70b9;&#x540d;&#x79f0;</typefield>  
2489 - <fields> </fields> <cluster_schema/>  
2490 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2491 - <xloc>248</xloc>  
2492 - <yloc>44</yloc>  
2493 - <draw>Y</draw>  
2494 - </GUI>  
2495 - </step>  
2496 -  
2497 - <step>  
2498 - <name>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178;</name>  
2499 - <type>ValueMapper</type>  
2500 - <description/>  
2501 - <distribute>Y</distribute>  
2502 - <custom_distribution/>  
2503 - <copies>1</copies>  
2504 - <partitioning>  
2505 - <method>none</method>  
2506 - <schema_name/>  
2507 - </partitioning>  
2508 - <field_to_use>bctype</field_to_use>  
2509 - <target_field>bctype_code</target_field>  
2510 - <non_match_default>&#x672a;&#x77e5;&#x7c7b;&#x578b;</non_match_default>  
2511 - <fields>  
2512 - <field>  
2513 - <source_value>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</source_value>  
2514 - <target_value>normal</target_value>  
2515 - </field>  
2516 - <field>  
2517 - <source_value>&#x51fa;&#x573a;</source_value>  
2518 - <target_value>out</target_value>  
2519 - </field>  
2520 - <field>  
2521 - <source_value>&#x8fdb;&#x573a;</source_value>  
2522 - <target_value>in</target_value>  
2523 - </field>  
2524 - <field>  
2525 - <source_value>&#x52a0;&#x6cb9;</source_value>  
2526 - <target_value>oil</target_value>  
2527 - </field>  
2528 - <field>  
2529 - <source_value>&#x4e34;&#x52a0;</source_value>  
2530 - <target_value>temp</target_value>  
2531 - </field>  
2532 - <field>  
2533 - <source_value>&#x533a;&#x95f4;</source_value>  
2534 - <target_value>region</target_value>  
2535 - </field>  
2536 - <field>  
2537 - <source_value>&#x653e;&#x7a7a;</source_value>  
2538 - <target_value>venting</target_value>  
2539 - </field>  
2540 - <field>  
2541 - <source_value>&#x653e;&#x5927;&#x7ad9;</source_value>  
2542 - <target_value>major</target_value>  
2543 - </field>  
2544 - </fields>  
2545 - <cluster_schema/>  
2546 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2547 - <xloc>149</xloc>  
2548 - <yloc>491</yloc>  
2549 - <draw>Y</draw>  
2550 - </GUI>  
2551 - </step>  
2552 -  
2553 - <step>  
2554 - <name>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 2</name>  
2555 - <type>ValueMapper</type>  
2556 - <description/>  
2557 - <distribute>Y</distribute>  
2558 - <custom_distribution/>  
2559 - <copies>1</copies>  
2560 - <partitioning>  
2561 - <method>none</method>  
2562 - <schema_name/>  
2563 - </partitioning>  
2564 - <field_to_use>bctype</field_to_use>  
2565 - <target_field>bctype_code</target_field>  
2566 - <non_match_default>&#x672a;&#x77e5;&#x7c7b;&#x578b;</non_match_default>  
2567 - <fields>  
2568 - <field>  
2569 - <source_value>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</source_value>  
2570 - <target_value>normal</target_value>  
2571 - </field>  
2572 - <field>  
2573 - <source_value>&#x51fa;&#x573a;</source_value>  
2574 - <target_value>out</target_value>  
2575 - </field>  
2576 - <field>  
2577 - <source_value>&#x8fdb;&#x573a;</source_value>  
2578 - <target_value>in</target_value>  
2579 - </field>  
2580 - <field>  
2581 - <source_value>&#x52a0;&#x6cb9;</source_value>  
2582 - <target_value>oil</target_value>  
2583 - </field>  
2584 - <field>  
2585 - <source_value>&#x4e34;&#x52a0;</source_value>  
2586 - <target_value>temp</target_value>  
2587 - </field>  
2588 - <field>  
2589 - <source_value>&#x533a;&#x95f4;</source_value>  
2590 - <target_value>region</target_value>  
2591 - </field>  
2592 - <field>  
2593 - <source_value>&#x653e;&#x7a7a;</source_value>  
2594 - <target_value>venting</target_value>  
2595 - </field>  
2596 - <field>  
2597 - <source_value>&#x653e;&#x5927;&#x7ad9;</source_value>  
2598 - <target_value>major</target_value>  
2599 - </field>  
2600 - </fields>  
2601 - <cluster_schema/>  
2602 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2603 - <xloc>333</xloc>  
2604 - <yloc>681</yloc>  
2605 - <draw>Y</draw>  
2606 - </GUI>  
2607 - </step>  
2608 -  
2609 - <step>  
2610 - <name>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 3</name>  
2611 - <type>ValueMapper</type>  
2612 - <description/>  
2613 - <distribute>Y</distribute>  
2614 - <custom_distribution/>  
2615 - <copies>1</copies>  
2616 - <partitioning>  
2617 - <method>none</method>  
2618 - <schema_name/>  
2619 - </partitioning>  
2620 - <field_to_use>bctype</field_to_use>  
2621 - <target_field>bctype_code</target_field>  
2622 - <non_match_default>&#x672a;&#x77e5;&#x7c7b;&#x578b;</non_match_default>  
2623 - <fields>  
2624 - <field>  
2625 - <source_value>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</source_value>  
2626 - <target_value>normal</target_value>  
2627 - </field>  
2628 - <field>  
2629 - <source_value>&#x51fa;&#x573a;</source_value>  
2630 - <target_value>out</target_value>  
2631 - </field>  
2632 - <field>  
2633 - <source_value>&#x8fdb;&#x573a;</source_value>  
2634 - <target_value>in</target_value>  
2635 - </field>  
2636 - <field>  
2637 - <source_value>&#x52a0;&#x6cb9;</source_value>  
2638 - <target_value>oil</target_value>  
2639 - </field>  
2640 - <field>  
2641 - <source_value>&#x4e34;&#x52a0;</source_value>  
2642 - <target_value>temp</target_value>  
2643 - </field>  
2644 - <field>  
2645 - <source_value>&#x533a;&#x95f4;</source_value>  
2646 - <target_value>region</target_value>  
2647 - </field>  
2648 - <field>  
2649 - <source_value>&#x653e;&#x7a7a;</source_value>  
2650 - <target_value>venting</target_value>  
2651 - </field>  
2652 - <field>  
2653 - <source_value>&#x653e;&#x5927;&#x7ad9;</source_value>  
2654 - <target_value>major</target_value>  
2655 - </field>  
2656 - </fields>  
2657 - <cluster_schema/>  
2658 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2659 - <xloc>551</xloc>  
2660 - <yloc>928</yloc>  
2661 - <draw>Y</draw>  
2662 - </GUI>  
2663 - </step>  
2664 -  
2665 - <step>  
2666 - <name>&#x7c7b;&#x578b;&#x4fee;&#x6b63;</name>  
2667 - <type>SelectValues</type>  
2668 - <description/>  
2669 - <distribute>Y</distribute>  
2670 - <custom_distribution/>  
2671 - <copies>1</copies>  
2672 - <partitioning>  
2673 - <method>none</method>  
2674 - <schema_name/>  
2675 - </partitioning>  
2676 - <fields> <select_unspecified>N</select_unspecified>  
2677 - <meta> <name>jhlc</name>  
2678 - <rename>jhlc</rename>  
2679 - <type>Number</type>  
2680 - <length>-2</length>  
2681 - <precision>-2</precision>  
2682 - <conversion_mask/>  
2683 - <date_format_lenient>false</date_format_lenient>  
2684 - <date_format_locale/>  
2685 - <date_format_timezone/>  
2686 - <lenient_string_to_number>false</lenient_string_to_number>  
2687 - <encoding/>  
2688 - <decimal_symbol/>  
2689 - <grouping_symbol/>  
2690 - <currency_symbol/>  
2691 - <storage_type/>  
2692 - </meta> <meta> <name>bcsj</name>  
2693 - <rename>bcsj</rename>  
2694 - <type>Integer</type>  
2695 - <length>-2</length>  
2696 - <precision>-2</precision>  
2697 - <conversion_mask/>  
2698 - <date_format_lenient>false</date_format_lenient>  
2699 - <date_format_locale/>  
2700 - <date_format_timezone/>  
2701 - <lenient_string_to_number>false</lenient_string_to_number>  
2702 - <encoding/>  
2703 - <decimal_symbol/>  
2704 - <grouping_symbol/>  
2705 - <currency_symbol/>  
2706 - <storage_type/>  
2707 - </meta> </fields> <cluster_schema/>  
2708 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2709 - <xloc>146</xloc>  
2710 - <yloc>768</yloc>  
2711 - <draw>Y</draw>  
2712 - </GUI>  
2713 - </step>  
2714 -  
2715 - <step>  
2716 - <name>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 2</name>  
2717 - <type>SelectValues</type>  
2718 - <description/>  
2719 - <distribute>Y</distribute>  
2720 - <custom_distribution/>  
2721 - <copies>1</copies>  
2722 - <partitioning>  
2723 - <method>none</method>  
2724 - <schema_name/>  
2725 - </partitioning>  
2726 - <fields> <select_unspecified>N</select_unspecified>  
2727 - <meta> <name>out_mileage</name>  
2728 - <rename>out_mileage</rename>  
2729 - <type>Number</type>  
2730 - <length>-2</length>  
2731 - <precision>-2</precision>  
2732 - <conversion_mask/>  
2733 - <date_format_lenient>false</date_format_lenient>  
2734 - <date_format_locale/>  
2735 - <date_format_timezone/>  
2736 - <lenient_string_to_number>false</lenient_string_to_number>  
2737 - <encoding/>  
2738 - <decimal_symbol/>  
2739 - <grouping_symbol/>  
2740 - <currency_symbol/>  
2741 - <storage_type/>  
2742 - </meta> <meta> <name>out_time</name>  
2743 - <rename>out_time</rename>  
2744 - <type>Integer</type>  
2745 - <length>-2</length>  
2746 - <precision>-2</precision>  
2747 - <conversion_mask/>  
2748 - <date_format_lenient>false</date_format_lenient>  
2749 - <date_format_locale/>  
2750 - <date_format_timezone/>  
2751 - <lenient_string_to_number>false</lenient_string_to_number>  
2752 - <encoding/>  
2753 - <decimal_symbol/>  
2754 - <grouping_symbol/>  
2755 - <currency_symbol/>  
2756 - <storage_type/>  
2757 - </meta> <meta> <name>sxx</name>  
2758 - <rename>sxx</rename>  
2759 - <type>Integer</type>  
2760 - <length>-2</length>  
2761 - <precision>-2</precision>  
2762 - <conversion_mask/>  
2763 - <date_format_lenient>false</date_format_lenient>  
2764 - <date_format_locale/>  
2765 - <date_format_timezone/>  
2766 - <lenient_string_to_number>false</lenient_string_to_number>  
2767 - <encoding/>  
2768 - <decimal_symbol/>  
2769 - <grouping_symbol/>  
2770 - <currency_symbol/>  
2771 - <storage_type/>  
2772 - </meta> </fields> <cluster_schema/>  
2773 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2774 - <xloc>338</xloc>  
2775 - <yloc>1008</yloc>  
2776 - <draw>Y</draw>  
2777 - </GUI>  
2778 - </step>  
2779 -  
2780 - <step>  
2781 - <name>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 3</name>  
2782 - <type>SelectValues</type>  
2783 - <description/>  
2784 - <distribute>Y</distribute>  
2785 - <custom_distribution/>  
2786 - <copies>1</copies>  
2787 - <partitioning>  
2788 - <method>none</method>  
2789 - <schema_name/>  
2790 - </partitioning>  
2791 - <fields> <select_unspecified>N</select_unspecified>  
2792 - <meta> <name>parade_mileage</name>  
2793 - <rename>parade_mileage</rename>  
2794 - <type>Number</type>  
2795 - <length>-2</length>  
2796 - <precision>-2</precision>  
2797 - <conversion_mask/>  
2798 - <date_format_lenient>false</date_format_lenient>  
2799 - <date_format_locale/>  
2800 - <date_format_timezone/>  
2801 - <lenient_string_to_number>false</lenient_string_to_number>  
2802 - <encoding/>  
2803 - <decimal_symbol/>  
2804 - <grouping_symbol/>  
2805 - <currency_symbol/>  
2806 - <storage_type/>  
2807 - </meta> <meta> <name>parade_time</name>  
2808 - <rename>parade_time</rename>  
2809 - <type>Integer</type>  
2810 - <length>-2</length>  
2811 - <precision>-2</precision>  
2812 - <conversion_mask/>  
2813 - <date_format_lenient>false</date_format_lenient>  
2814 - <date_format_locale/>  
2815 - <date_format_timezone/>  
2816 - <lenient_string_to_number>false</lenient_string_to_number>  
2817 - <encoding/>  
2818 - <decimal_symbol/>  
2819 - <grouping_symbol/>  
2820 - <currency_symbol/>  
2821 - <storage_type/>  
2822 - </meta> <meta> <name>sxx2</name>  
2823 - <rename>sxx2</rename>  
2824 - <type>Integer</type>  
2825 - <length>-2</length>  
2826 - <precision>-2</precision>  
2827 - <conversion_mask/>  
2828 - <date_format_lenient>false</date_format_lenient>  
2829 - <date_format_locale/>  
2830 - <date_format_timezone/>  
2831 - <lenient_string_to_number>false</lenient_string_to_number>  
2832 - <encoding/>  
2833 - <decimal_symbol/>  
2834 - <grouping_symbol/>  
2835 - <currency_symbol/>  
2836 - <storage_type/>  
2837 - </meta> </fields> <cluster_schema/>  
2838 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2839 - <xloc>847</xloc>  
2840 - <yloc>1003</yloc>  
2841 - <draw>Y</draw>  
2842 - </GUI>  
2843 - </step>  
2844 -  
2845 - <step>  
2846 - <name>&#x8ba1;&#x7b97;&#x73ed;&#x6b21;&#x7c7b;&#x578b;</name>  
2847 - <type>ValueMapper</type>  
2848 - <description/>  
2849 - <distribute>Y</distribute>  
2850 - <custom_distribution/>  
2851 - <copies>1</copies>  
2852 - <partitioning>  
2853 - <method>none</method>  
2854 - <schema_name/>  
2855 - </partitioning>  
2856 - <field_to_use>qdzname</field_to_use>  
2857 - <target_field>bctype</target_field>  
2858 - <non_match_default>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</non_match_default>  
2859 - <fields>  
2860 - <field>  
2861 - <source_value>&#x51fa;&#x573a;</source_value>  
2862 - <target_value>&#x51fa;&#x573a;</target_value>  
2863 - </field>  
2864 - <field>  
2865 - <source_value>&#x8fdb;&#x573a;</source_value>  
2866 - <target_value>&#x8fdb;&#x573a;</target_value>  
2867 - </field>  
2868 - </fields>  
2869 - <cluster_schema/>  
2870 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2871 - <xloc>1014</xloc>  
2872 - <yloc>401</yloc>  
2873 - <draw>Y</draw>  
2874 - </GUI>  
2875 - </step>  
2876 -  
2877 - <step>  
2878 - <name>&#x8bb0;&#x5f55;&#x5173;&#x8054; &#x28;&#x7b1b;&#x5361;&#x5c14;&#x8f93;&#x51fa;&#x29;</name>  
2879 - <type>JoinRows</type>  
2880 - <description/>  
2881 - <distribute>Y</distribute>  
2882 - <custom_distribution/>  
2883 - <copies>1</copies>  
2884 - <partitioning>  
2885 - <method>none</method>  
2886 - <schema_name/>  
2887 - </partitioning>  
2888 - <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>  
2889 - <prefix>out</prefix>  
2890 - <cache_size>500</cache_size>  
2891 - <main/>  
2892 - <compare>  
2893 -<condition>  
2894 - <negated>N</negated>  
2895 - <leftvalue/>  
2896 - <function>&#x3d;</function>  
2897 - <rightvalue/>  
2898 - </condition>  
2899 - </compare>  
2900 - <cluster_schema/>  
2901 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2902 - <xloc>310</xloc>  
2903 - <yloc>133</yloc>  
2904 - <draw>Y</draw>  
2905 - </GUI>  
2906 - </step>  
2907 -  
2908 - <step>  
2909 - <name>&#x8fc7;&#x6ee4;&#x8bb0;&#x5f55;&#xff08;&#x53d1;&#x8f66;&#x65f6;&#x95f4;&#x4e3a;&#x7a7a;&#xff09;</name>  
2910 - <type>FilterRows</type>  
2911 - <description/>  
2912 - <distribute>Y</distribute>  
2913 - <custom_distribution/>  
2914 - <copies>1</copies>  
2915 - <partitioning>  
2916 - <method>none</method>  
2917 - <schema_name/>  
2918 - </partitioning>  
2919 -<send_true_to/>  
2920 -<send_false_to/>  
2921 - <compare>  
2922 -<condition>  
2923 - <negated>N</negated>  
2924 - <leftvalue>sendtime</leftvalue>  
2925 - <function>IS NOT NULL</function>  
2926 - <rightvalue/>  
2927 - </condition>  
2928 - </compare>  
2929 - <cluster_schema/>  
2930 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2931 - <xloc>571</xloc>  
2932 - <yloc>44</yloc>  
2933 - <draw>Y</draw>  
2934 - </GUI>  
2935 - </step>  
2936 -  
2937 - <step>  
2938 - <name>&#x8fdb;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x8d77;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</name>  
2939 - <type>ScriptValueMod</type>  
2940 - <description/>  
2941 - <distribute>Y</distribute>  
2942 - <custom_distribution/>  
2943 - <copies>1</copies>  
2944 - <partitioning>  
2945 - <method>none</method>  
2946 - <schema_name/>  
2947 - </partitioning>  
2948 - <compatible>N</compatible>  
2949 - <optimizationLevel>9</optimizationLevel>  
2950 - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>  
2951 - <jsScript_name>Script 1</jsScript_name>  
2952 - <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>  
2953 - </jsScript> </jsScripts> <fields> <field> <name>qdzname_calcu</name>  
2954 - <rename>qdzname_calcu</rename>  
2955 - <type>String</type>  
2956 - <length>-1</length>  
2957 - <precision>-1</precision>  
2958 - <replace>N</replace>  
2959 - </field> <field> <name>startZdtype_calcu</name>  
2960 - <rename>startZdtype_calcu</rename>  
2961 - <type>String</type>  
2962 - <length>-1</length>  
2963 - <precision>-1</precision>  
2964 - <replace>N</replace>  
2965 - </field> <field> <name>endZdtype_calcu</name>  
2966 - <rename>endZdtype_calcu</rename>  
2967 - <type>String</type>  
2968 - <length>-1</length>  
2969 - <precision>-1</precision>  
2970 - <replace>N</replace>  
2971 - </field> <field> <name>destory</name>  
2972 - <rename>destory</rename>  
2973 - <type>Integer</type>  
2974 - <length>-1</length>  
2975 - <precision>-1</precision>  
2976 - <replace>N</replace>  
2977 - </field> </fields> <cluster_schema/>  
2978 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2979 - <xloc>754</xloc>  
2980 - <yloc>610</yloc>  
2981 - <draw>Y</draw>  
2982 - </GUI>  
2983 - </step>  
2984 -  
2985 - <step>  
2986 - <name>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</name>  
2987 - <type>Dummy</type>  
2988 - <description/>  
2989 - <distribute>Y</distribute>  
2990 - <custom_distribution/>  
2991 - <copies>1</copies>  
2992 - <partitioning>  
2993 - <method>none</method>  
2994 - <schema_name/>  
2995 - </partitioning>  
2996 - <cluster_schema/>  
2997 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2998 - <xloc>997</xloc>  
2999 - <yloc>606</yloc>  
3000 - <draw>Y</draw>  
3001 - </GUI>  
3002 - </step>  
3003 -  
3004 - <step_error_handling>  
3005 - <error>  
3006 - <source_step>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail</source_step>  
3007 - <target_step/>  
3008 - <is_enabled>Y</is_enabled>  
3009 - <nr_valuename>c1</nr_valuename>  
3010 - <descriptions_valuename>c2</descriptions_valuename>  
3011 - <fields_valuename>c3</fields_valuename>  
3012 - <codes_valuename>c4</codes_valuename>  
3013 - <max_errors/>  
3014 - <max_pct_errors/>  
3015 - <min_pct_rows/>  
3016 - </error>  
3017 - </step_error_handling>  
3018 - <slave-step-copy-partition-distribution>  
3019 -</slave-step-copy-partition-distribution>  
3020 - <slave_transformation>N</slave_transformation>  
3021 -  
3022 -</transformation> 1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<transformation>
  3 + <info>
  4 + <name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x5bfc;&#x5165;</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>120</xloc>
  143 + <yloc>1016</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;&#x7ebf;&#x8def;&#x6240;&#x6709;&#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;&#x7ebf;&#x8def;&#x6240;&#x6709;&#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>&#x67e5;&#x627e;&#x8def;&#x724c;&#x5173;&#x8054;</from><to>&#x8ba1;&#x7b97;&#x73ed;&#x6b21;&#x7c7b;&#x578b;</to><enabled>Y</enabled> </hop>
  393 + <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>
  394 + <hop> <from>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</from><to>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;1</to><enabled>Y</enabled> </hop>
  395 + <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>
  396 + <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>
  397 + <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>
  398 + <hop> <from>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</from><to>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;2</to><enabled>Y</enabled> </hop>
  399 + <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>
  400 + <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>
  401 + <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>
  402 + <hop> <from>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</from><to>&#x6dfb;&#x52a0;&#x53d1;&#x8f66;&#x987a;&#x5e8f;&#x53f7;</to><enabled>Y</enabled> </hop>
  403 + <hop> <from>&#x5206;&#x7ec4;&#x5404;&#x4e2a;&#x8def;&#x724c;&#x7684;&#x7ad9;</from><to>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop>
  404 + <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>
  405 + <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>
  406 + <hop> <from>&#x8bb0;&#x5f55;&#x5173;&#x8054; &#x28;&#x7b1b;&#x5361;&#x5c14;&#x8f93;&#x51fa;&#x29;</from><to>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</to><enabled>Y</enabled> </hop>
  407 + <hop> <from>&#x7c7b;&#x578b;&#x4fee;&#x6b63;</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail</to><enabled>Y</enabled> </hop>
  408 + <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>
  409 + <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>
  410 + <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>
  411 + <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>
  412 + <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>
  413 + <hop> <from>&#x4e0a;&#x4e0b;&#x884c;NULL&#x5224;&#x5b9a;</from><to>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 2</to><enabled>Y</enabled> </hop>
  414 + <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>
  415 + <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>
  416 + <hop> <from>&#x4e0a;&#x4e0b;&#x884c;&#x5224;&#x5b9a; 2</from><to>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 3</to><enabled>Y</enabled> </hop>
  417 + <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>
  418 + </order>
  419 + <step>
  420 + <name>&#x4e0a;&#x4e0b;&#x884c;NULL&#x5224;&#x5b9a;</name>
  421 + <type>IfNull</type>
  422 + <description/>
  423 + <distribute>Y</distribute>
  424 + <custom_distribution/>
  425 + <copies>1</copies>
  426 + <partitioning>
  427 + <method>none</method>
  428 + <schema_name/>
  429 + </partitioning>
  430 + <replaceAllByValue/>
  431 + <replaceAllMask/>
  432 + <selectFields>Y</selectFields>
  433 + <selectValuesType>N</selectValuesType>
  434 + <setEmptyStringAll>N</setEmptyStringAll>
  435 + <valuetypes>
  436 + </valuetypes>
  437 + <fields>
  438 + <field>
  439 + <name>sxx</name>
  440 + <value>0</value>
  441 + <mask/>
  442 + <set_empty_string>N</set_empty_string>
  443 + </field>
  444 + </fields>
  445 + <cluster_schema/>
  446 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  447 + <xloc>230</xloc>
  448 + <yloc>946</yloc>
  449 + <draw>Y</draw>
  450 + </GUI>
  451 + </step>
  452 +
  453 + <step>
  454 + <name>&#x4e0a;&#x4e0b;&#x884c;&#x5224;&#x5b9a; 2</name>
  455 + <type>IfNull</type>
  456 + <description/>
  457 + <distribute>Y</distribute>
  458 + <custom_distribution/>
  459 + <copies>1</copies>
  460 + <partitioning>
  461 + <method>none</method>
  462 + <schema_name/>
  463 + </partitioning>
  464 + <replaceAllByValue/>
  465 + <replaceAllMask/>
  466 + <selectFields>Y</selectFields>
  467 + <selectValuesType>N</selectValuesType>
  468 + <setEmptyStringAll>N</setEmptyStringAll>
  469 + <valuetypes>
  470 + </valuetypes>
  471 + <fields>
  472 + <field>
  473 + <name>sxx2</name>
  474 + <value>0</value>
  475 + <mask/>
  476 + <set_empty_string>N</set_empty_string>
  477 + </field>
  478 + </fields>
  479 + <cluster_schema/>
  480 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  481 + <xloc>804</xloc>
  482 + <yloc>1081</yloc>
  483 + <draw>Y</draw>
  484 + </GUI>
  485 + </step>
  486 +
  487 + <step>
  488 + <name>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178;</name>
  489 + <type>ValueMapper</type>
  490 + <description/>
  491 + <distribute>Y</distribute>
  492 + <custom_distribution/>
  493 + <copies>1</copies>
  494 + <partitioning>
  495 + <method>none</method>
  496 + <schema_name/>
  497 + </partitioning>
  498 + <field_to_use>sxx</field_to_use>
  499 + <target_field>sxx_desc</target_field>
  500 + <non_match_default/>
  501 + <fields>
  502 + <field>
  503 + <source_value>0</source_value>
  504 + <target_value>&#x4e0a;&#x884c;</target_value>
  505 + </field>
  506 + <field>
  507 + <source_value>1</source_value>
  508 + <target_value>&#x4e0b;&#x884c;</target_value>
  509 + </field>
  510 + </fields>
  511 + <cluster_schema/>
  512 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  513 + <xloc>147</xloc>
  514 + <yloc>403</yloc>
  515 + <draw>Y</draw>
  516 + </GUI>
  517 + </step>
  518 +
  519 + <step>
  520 + <name>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 2</name>
  521 + <type>ValueMapper</type>
  522 + <description/>
  523 + <distribute>Y</distribute>
  524 + <custom_distribution/>
  525 + <copies>1</copies>
  526 + <partitioning>
  527 + <method>none</method>
  528 + <schema_name/>
  529 + </partitioning>
  530 + <field_to_use>sxx</field_to_use>
  531 + <target_field>sxx_desc</target_field>
  532 + <non_match_default/>
  533 + <fields>
  534 + <field>
  535 + <source_value>0</source_value>
  536 + <target_value>&#x4e0a;&#x884c;</target_value>
  537 + </field>
  538 + <field>
  539 + <source_value>1</source_value>
  540 + <target_value>&#x4e0b;&#x884c;</target_value>
  541 + </field>
  542 + </fields>
  543 + <cluster_schema/>
  544 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  545 + <xloc>331</xloc>
  546 + <yloc>598</yloc>
  547 + <draw>Y</draw>
  548 + </GUI>
  549 + </step>
  550 +
  551 + <step>
  552 + <name>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 3</name>
  553 + <type>ValueMapper</type>
  554 + <description/>
  555 + <distribute>Y</distribute>
  556 + <custom_distribution/>
  557 + <copies>1</copies>
  558 + <partitioning>
  559 + <method>none</method>
  560 + <schema_name/>
  561 + </partitioning>
  562 + <field_to_use>sxx</field_to_use>
  563 + <target_field>sxx_desc</target_field>
  564 + <non_match_default/>
  565 + <fields>
  566 + <field>
  567 + <source_value>0</source_value>
  568 + <target_value>&#x4e0a;&#x884c;</target_value>
  569 + </field>
  570 + <field>
  571 + <source_value>1</source_value>
  572 + <target_value>&#x4e0b;&#x884c;</target_value>
  573 + </field>
  574 + </fields>
  575 + <cluster_schema/>
  576 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  577 + <xloc>553</xloc>
  578 + <yloc>859</yloc>
  579 + <draw>Y</draw>
  580 + </GUI>
  581 + </step>
  582 +
  583 + <step>
  584 + <name>&#x51fa;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x7ec8;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</name>
  585 + <type>ScriptValueMod</type>
  586 + <description/>
  587 + <distribute>Y</distribute>
  588 + <custom_distribution/>
  589 + <copies>1</copies>
  590 + <partitioning>
  591 + <method>none</method>
  592 + <schema_name/>
  593 + </partitioning>
  594 + <compatible>N</compatible>
  595 + <optimizationLevel>9</optimizationLevel>
  596 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  597 + <jsScript_name>Script 1</jsScript_name>
  598 + <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;E&#x27;&#x3b;&#xa;&#xa;var destory &#x3d; 0&#x3b; &#x2f;&#x2f; &#x672a;&#x64a4;&#x9500;flag</jsScript_script>
  599 + </jsScript> </jsScripts> <fields> <field> <name>zdzname</name>
  600 + <rename>zdzname</rename>
  601 + <type>String</type>
  602 + <length>-1</length>
  603 + <precision>-1</precision>
  604 + <replace>N</replace>
  605 + </field> <field> <name>endZdtype</name>
  606 + <rename>endZdtype</rename>
  607 + <type>String</type>
  608 + <length>-1</length>
  609 + <precision>-1</precision>
  610 + <replace>N</replace>
  611 + </field> <field> <name>destory</name>
  612 + <rename>destory</rename>
  613 + <type>Integer</type>
  614 + <length>-1</length>
  615 + <precision>-1</precision>
  616 + <replace>N</replace>
  617 + </field> </fields> <cluster_schema/>
  618 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  619 + <xloc>575</xloc>
  620 + <yloc>502</yloc>
  621 + <draw>Y</draw>
  622 + </GUI>
  623 + </step>
  624 +
  625 + <step>
  626 + <name>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</name>
  627 + <type>Dummy</type>
  628 + <description/>
  629 + <distribute>Y</distribute>
  630 + <custom_distribution/>
  631 + <copies>1</copies>
  632 + <partitioning>
  633 + <method>none</method>
  634 + <schema_name/>
  635 + </partitioning>
  636 + <cluster_schema/>
  637 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  638 + <xloc>869</xloc>
  639 + <yloc>504</yloc>
  640 + <draw>Y</draw>
  641 + </GUI>
  642 + </step>
  643 +
  644 + <step>
  645 + <name>&#x5206;&#x7ec4;&#x5404;&#x4e2a;&#x8def;&#x724c;&#x7684;&#x7ad9;</name>
  646 + <type>GroupBy</type>
  647 + <description/>
  648 + <distribute>Y</distribute>
  649 + <custom_distribution/>
  650 + <copies>1</copies>
  651 + <partitioning>
  652 + <method>none</method>
  653 + <schema_name/>
  654 + </partitioning>
  655 + <all_rows>Y</all_rows>
  656 + <ignore_aggregate>N</ignore_aggregate>
  657 + <field_ignore/>
  658 + <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
  659 + <prefix>grp</prefix>
  660 + <add_linenr>Y</add_linenr>
  661 + <linenr_fieldname>gno</linenr_fieldname>
  662 + <give_back_row>N</give_back_row>
  663 + <group>
  664 + <field>
  665 + <name>lp</name>
  666 + </field>
  667 + </group>
  668 + <fields>
  669 + <field>
  670 + <aggregate>qdzgroups</aggregate>
  671 + <subject>qdzname</subject>
  672 + <type>CONCAT_STRING</type>
  673 + <valuefield>,</valuefield>
  674 + </field>
  675 + </fields>
  676 + <cluster_schema/>
  677 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  678 + <xloc>892</xloc>
  679 + <yloc>44</yloc>
  680 + <draw>Y</draw>
  681 + </GUI>
  682 + </step>
  683 +
  684 + <step>
  685 + <name>&#x5339;&#x914d;&#x4e0a;&#x4e0b;&#x884c;&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
  686 + <type>ScriptValueMod</type>
  687 + <description/>
  688 + <distribute>Y</distribute>
  689 + <custom_distribution/>
  690 + <copies>1</copies>
  691 + <partitioning>
  692 + <method>none</method>
  693 + <schema_name/>
  694 + </partitioning>
  695 + <compatible>N</compatible>
  696 + <optimizationLevel>9</optimizationLevel>
  697 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  698 + <jsScript_name>Script 1</jsScript_name>
  699 + <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 &#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 &#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 &#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 &#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;&#xa;&#xa;</jsScript_script>
  700 + </jsScript> </jsScripts> <fields> <field> <name>jhlc</name>
  701 + <rename>jhlc</rename>
  702 + <type>String</type>
  703 + <length>-1</length>
  704 + <precision>-1</precision>
  705 + <replace>N</replace>
  706 + </field> <field> <name>bcsj</name>
  707 + <rename>bcsj</rename>
  708 + <type>String</type>
  709 + <length>-1</length>
  710 + <precision>-1</precision>
  711 + <replace>N</replace>
  712 + </field> </fields> <cluster_schema/>
  713 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  714 + <xloc>148</xloc>
  715 + <yloc>674</yloc>
  716 + <draw>Y</draw>
  717 + </GUI>
  718 + </step>
  719 +
  720 + <step>
  721 + <name>&#x5339;&#x914d;&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
  722 + <type>ScriptValueMod</type>
  723 + <description/>
  724 + <distribute>Y</distribute>
  725 + <custom_distribution/>
  726 + <copies>1</copies>
  727 + <partitioning>
  728 + <method>none</method>
  729 + <schema_name/>
  730 + </partitioning>
  731 + <compatible>N</compatible>
  732 + <optimizationLevel>9</optimizationLevel>
  733 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  734 + <jsScript_name>Script 1</jsScript_name>
  735 + <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>
  736 + </jsScript> </jsScripts> <fields> <field> <name>out_mileage</name>
  737 + <rename>out_mileage</rename>
  738 + <type>String</type>
  739 + <length>-1</length>
  740 + <precision>-1</precision>
  741 + <replace>N</replace>
  742 + </field> <field> <name>out_time</name>
  743 + <rename>out_time</rename>
  744 + <type>String</type>
  745 + <length>-1</length>
  746 + <precision>-1</precision>
  747 + <replace>N</replace>
  748 + </field> </fields> <cluster_schema/>
  749 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  750 + <xloc>336</xloc>
  751 + <yloc>862</yloc>
  752 + <draw>Y</draw>
  753 + </GUI>
  754 + </step>
  755 +
  756 + <step>
  757 + <name>&#x5339;&#x914d;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
  758 + <type>ScriptValueMod</type>
  759 + <description/>
  760 + <distribute>Y</distribute>
  761 + <custom_distribution/>
  762 + <copies>1</copies>
  763 + <partitioning>
  764 + <method>none</method>
  765 + <schema_name/>
  766 + </partitioning>
  767 + <compatible>N</compatible>
  768 + <optimizationLevel>9</optimizationLevel>
  769 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  770 + <jsScript_name>Script 1</jsScript_name>
  771 + <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>
  772 + </jsScript> </jsScripts> <fields> <field> <name>parade_mileage</name>
  773 + <rename>parade_mileage</rename>
  774 + <type>String</type>
  775 + <length>-1</length>
  776 + <precision>-1</precision>
  777 + <replace>N</replace>
  778 + </field> <field> <name>parade_time</name>
  779 + <rename>parade_time</rename>
  780 + <type>String</type>
  781 + <length>-1</length>
  782 + <precision>-1</precision>
  783 + <replace>N</replace>
  784 + </field> </fields> <cluster_schema/>
  785 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  786 + <xloc>726</xloc>
  787 + <yloc>1005</yloc>
  788 + <draw>Y</draw>
  789 + </GUI>
  790 + </step>
  791 +
  792 + <step>
  793 + <name>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;&#xff0c;&#x7ebf;&#x8def;&#x540d;&#x5b57;&#xff0c;&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</name>
  794 + <type>DataGrid</type>
  795 + <description/>
  796 + <distribute>Y</distribute>
  797 + <custom_distribution/>
  798 + <copies>1</copies>
  799 + <partitioning>
  800 + <method>none</method>
  801 + <schema_name/>
  802 + </partitioning>
  803 + <fields>
  804 + </fields>
  805 + <data>
  806 + <line> </line>
  807 + </data>
  808 + <cluster_schema/>
  809 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  810 + <xloc>110</xloc>
  811 + <yloc>133</yloc>
  812 + <draw>Y</draw>
  813 + </GUI>
  814 + </step>
  815 +
  816 + <step>
  817 + <name>&#x5904;&#x7406;&#x6570;&#x636e;</name>
  818 + <type>ScriptValueMod</type>
  819 + <description/>
  820 + <distribute>Y</distribute>
  821 + <custom_distribution/>
  822 + <copies>1</copies>
  823 + <partitioning>
  824 + <method>none</method>
  825 + <schema_name/>
  826 + </partitioning>
  827 + <compatible>N</compatible>
  828 + <optimizationLevel>9</optimizationLevel>
  829 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  830 + <jsScript_name>Script 1</jsScript_name>
  831 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f; &#x4f7f;&#x7528;&#x6b63;&#x5219;&#x8868;&#x8fbe;&#x5f0f;&#x53bb;&#x9664;&#x7ad9;&#x70b9;&#x540d;&#x79f0;&#x4e2d;&#x7684;&#x6570;&#x5b57;&#xa;qdzname &#x3d; qdzname.replace&#x28;&#x2f;&#x5c;d&#x2b;&#x2f;g,&#x27;&#x27;&#x29;&#x3b;&#xa;&#xa;&#x2f;&#x2f; sendtime&#x5904;&#x7406;&#xff0c;hhmm&#xff0c;hh&#x3a;mm&#xff0c;hh,mm&#xa;var sendtime_calcu&#x3b;&#xa;if &#x28;sendtime.length &#x3d;&#x3d; 5&#x29; &#x7b; &#x2f;&#x2f; &#x6700;&#x957f;&#x683c;&#x5f0f;&#xff0c;&#x5305;&#x62ec;&#x5206;&#x9694;&#x7b26;&#xff0c;&#x7edf;&#x4e00;&#x628a;&#x5206;&#x9694;&#x7b26;&#x66ff;&#x6362;&#x6210;&#x5192;&#x53f7;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 2&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;3, 2&#x29;&#x3b;&#xa;&#x7d; else if &#x28;sendtime.length &#x3d;&#x3d; 4&#x29; &#x7b;&#xa; if &#x28;sendtime.indexOf&#x28;&#x22;&#x3a;&#x22;&#x29; &#x3e; 0&#x29; &#x7b; &#x2f;&#x2f; &#x5192;&#x53f7;&#x5206;&#x9694;&#xff0c;&#x65e0;&#x9700;&#x4fee;&#x6539;&#xa; sendtime_calcu &#x3d; sendtime&#x3b;&#xa; &#x7d; else if &#x28;sendtime.indexOf&#x28;&#x22;,&#x22;&#x29; &#x3e; 0&#x29; &#x7b; &#x2f;&#x2f; &#x9017;&#x53f7;&#x5206;&#x9694;&#xff0c;&#x6539;&#x6210;&#x5192;&#x53f7;&#x5206;&#x9694;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 1&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;2, 2&#x29;&#x3b;&#xa; &#x7d; else &#x7b; &#x2f;&#x2f; &#x65e0;&#x5206;&#x9694;&#x7b26;&#xff0c;&#x6539;&#x6210;&#x5192;&#x53f7;&#x5206;&#x9694;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 2&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;2, 2&#x29;&#x3b;&#xa; &#x7d;&#xa;&#x7d; else if &#x28;sendtime.length &#x3d;&#x3d; 3&#x29; &#x7b; &#x2f;&#x2f; &#x65e0;&#x5206;&#x9694;&#x7b26;&#xff0c;&#x6539;&#x6210;&#x5192;&#x53f7;&#x5206;&#x9694;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 1&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;1, 2&#x29;&#x3b;&#xa;&#x7d;&#xa;&#xa;&#x2f;&#x2f; &#x8bbe;&#x7f6e;&#x5206;&#x73ed;&#xa;var isfb &#x3d; 0&#x3b;&#xa;&#xa;&#x2f;&#x2f; &#x8bbe;&#x7f6e;isCanceled&#xa;var iscanceled &#x3d; 0&#x3b;</jsScript_script>
  832 + </jsScript> </jsScripts> <fields> <field> <name>qdzname</name>
  833 + <rename>qdzname</rename>
  834 + <type>String</type>
  835 + <length>-1</length>
  836 + <precision>-1</precision>
  837 + <replace>Y</replace>
  838 + </field> <field> <name>isfb</name>
  839 + <rename>isfb</rename>
  840 + <type>Integer</type>
  841 + <length>-1</length>
  842 + <precision>-1</precision>
  843 + <replace>N</replace>
  844 + </field> <field> <name>iscanceled</name>
  845 + <rename>iscanceled</rename>
  846 + <type>Integer</type>
  847 + <length>-1</length>
  848 + <precision>-1</precision>
  849 + <replace>N</replace>
  850 + </field> <field> <name>sendtime_calcu</name>
  851 + <rename>sendtime_calcu</rename>
  852 + <type>String</type>
  853 + <length>-1</length>
  854 + <precision>-1</precision>
  855 + <replace>N</replace>
  856 + </field> </fields> <cluster_schema/>
  857 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  858 + <xloc>788</xloc>
  859 + <yloc>44</yloc>
  860 + <draw>Y</draw>
  861 + </GUI>
  862 + </step>
  863 +
  864 + <step>
  865 + <name>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</name>
  866 + <type>SelectValues</type>
  867 + <description/>
  868 + <distribute>Y</distribute>
  869 + <custom_distribution/>
  870 + <copies>1</copies>
  871 + <partitioning>
  872 + <method>none</method>
  873 + <schema_name/>
  874 + </partitioning>
  875 + <fields> <field> <name>&#x8def;&#x724c;</name>
  876 + <rename>lp</rename>
  877 + <length>-2</length>
  878 + <precision>-2</precision>
  879 + </field> <field> <name>&#x7ad9;&#x70b9;&#x540d;&#x79f0;</name>
  880 + <rename>qdzname</rename>
  881 + <length>-2</length>
  882 + <precision>-2</precision>
  883 + </field> <field> <name>&#x53d1;&#x8f66;&#x65f6;&#x95f4;</name>
  884 + <rename>sendtime</rename>
  885 + <length>-2</length>
  886 + <precision>-2</precision>
  887 + </field> <select_unspecified>Y</select_unspecified>
  888 + </fields> <cluster_schema/>
  889 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  890 + <xloc>444</xloc>
  891 + <yloc>131</yloc>
  892 + <draw>Y</draw>
  893 + </GUI>
  894 + </step>
  895 +
  896 + <step>
  897 + <name>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;1</name>
  898 + <type>FilterRows</type>
  899 + <description/>
  900 + <distribute>Y</distribute>
  901 + <custom_distribution/>
  902 + <copies>1</copies>
  903 + <partitioning>
  904 + <method>none</method>
  905 + <schema_name/>
  906 + </partitioning>
  907 +<send_true_to>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x6570;&#x636e;</send_true_to>
  908 +<send_false_to>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</send_false_to>
  909 + <compare>
  910 +<condition>
  911 + <negated>N</negated>
  912 + <leftvalue>bctype</leftvalue>
  913 + <function>&#x3d;</function>
  914 + <rightvalue/>
  915 + <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>
  916 + </compare>
  917 + <cluster_schema/>
  918 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  919 + <xloc>860</xloc>
  920 + <yloc>401</yloc>
  921 + <draw>Y</draw>
  922 + </GUI>
  923 + </step>
  924 +
  925 + <step>
  926 + <name>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</name>
  927 + <type>FilterRows</type>
  928 + <description/>
  929 + <distribute>Y</distribute>
  930 + <custom_distribution/>
  931 + <copies>1</copies>
  932 + <partitioning>
  933 + <method>none</method>
  934 + <schema_name/>
  935 + </partitioning>
  936 +<send_true_to>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</send_true_to>
  937 +<send_false_to>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</send_false_to>
  938 + <compare>
  939 +<condition>
  940 + <negated>N</negated>
  941 + <leftvalue>bctype</leftvalue>
  942 + <function>&#x3d;</function>
  943 + <rightvalue/>
  944 + <value><name>constant</name><type>String</type><text>&#x51fa;&#x573a;</text><length>-1</length><precision>-1</precision><isnull>N</isnull><mask/></value> </condition>
  945 + </compare>
  946 + <cluster_schema/>
  947 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  948 + <xloc>995</xloc>
  949 + <yloc>503</yloc>
  950 + <draw>Y</draw>
  951 + </GUI>
  952 + </step>
  953 +
  954 + <step>
  955 + <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail</name>
  956 + <type>InsertUpdate</type>
  957 + <description/>
  958 + <distribute>Y</distribute>
  959 + <custom_distribution/>
  960 + <copies>1</copies>
  961 + <partitioning>
  962 + <method>none</method>
  963 + <schema_name/>
  964 + </partitioning>
  965 + <connection>bus_control_variable</connection>
  966 + <commit>100</commit>
  967 + <update_bypassed>N</update_bypassed>
  968 + <lookup>
  969 + <schema/>
  970 + <table>bsth_c_s_ttinfo_detail</table>
  971 + <key>
  972 + <name>xlid</name>
  973 + <field>xl</field>
  974 + <condition>&#x3d;</condition>
  975 + <name2/>
  976 + </key>
  977 + <key>
  978 + <name>ttid</name>
  979 + <field>ttinfo</field>
  980 + <condition>&#x3d;</condition>
  981 + <name2/>
  982 + </key>
  983 + <key>
  984 + <name>lpid</name>
  985 + <field>lp</field>
  986 + <condition>&#x3d;</condition>
  987 + <name2/>
  988 + </key>
  989 + <key>
  990 + <name>fcno</name>
  991 + <field>fcno</field>
  992 + <condition>&#x3d;</condition>
  993 + <name2/>
  994 + </key>
  995 + <key>
  996 + <name>bcs</name>
  997 + <field>bcs</field>
  998 + <condition>&#x3d;</condition>
  999 + <name2/>
  1000 + </key>
  1001 + <value>
  1002 + <name>lp</name>
  1003 + <rename>lpid</rename>
  1004 + <update>Y</update>
  1005 + </value>
  1006 + <value>
  1007 + <name>bc_type</name>
  1008 + <rename>bctype_code</rename>
  1009 + <update>Y</update>
  1010 + </value>
  1011 + <value>
  1012 + <name>bcs</name>
  1013 + <rename>bcs</rename>
  1014 + <update>Y</update>
  1015 + </value>
  1016 + <value>
  1017 + <name>bcsj</name>
  1018 + <rename>bcsj</rename>
  1019 + <update>Y</update>
  1020 + </value>
  1021 + <value>
  1022 + <name>fcno</name>
  1023 + <rename>fcno</rename>
  1024 + <update>Y</update>
  1025 + </value>
  1026 + <value>
  1027 + <name>jhlc</name>
  1028 + <rename>jhlc</rename>
  1029 + <update>Y</update>
  1030 + </value>
  1031 + <value>
  1032 + <name>fcsj</name>
  1033 + <rename>sendtime_calcu</rename>
  1034 + <update>Y</update>
  1035 + </value>
  1036 + <value>
  1037 + <name>ttinfo</name>
  1038 + <rename>ttid</rename>
  1039 + <update>Y</update>
  1040 + </value>
  1041 + <value>
  1042 + <name>xl</name>
  1043 + <rename>xlid</rename>
  1044 + <update>Y</update>
  1045 + </value>
  1046 + <value>
  1047 + <name>qdz</name>
  1048 + <rename>qdzid</rename>
  1049 + <update>Y</update>
  1050 + </value>
  1051 + <value>
  1052 + <name>zdz</name>
  1053 + <rename>zdzid</rename>
  1054 + <update>Y</update>
  1055 + </value>
  1056 + <value>
  1057 + <name>xl_dir</name>
  1058 + <rename>sxx</rename>
  1059 + <update>Y</update>
  1060 + </value>
  1061 + <value>
  1062 + <name>isfb</name>
  1063 + <rename>isfb</rename>
  1064 + <update>Y</update>
  1065 + </value>
  1066 + <value>
  1067 + <name>qdz_code</name>
  1068 + <rename>qdzcode</rename>
  1069 + <update>Y</update>
  1070 + </value>
  1071 + <value>
  1072 + <name>qdz_name</name>
  1073 + <rename>qdzname</rename>
  1074 + <update>Y</update>
  1075 + </value>
  1076 + <value>
  1077 + <name>zdz_code</name>
  1078 + <rename>zdzcode</rename>
  1079 + <update>Y</update>
  1080 + </value>
  1081 + <value>
  1082 + <name>zdz_name</name>
  1083 + <rename>zdzname</rename>
  1084 + <update>Y</update>
  1085 + </value>
  1086 + </lookup>
  1087 + <cluster_schema/>
  1088 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1089 + <xloc>143</xloc>
  1090 + <yloc>860</yloc>
  1091 + <draw>Y</draw>
  1092 + </GUI>
  1093 + </step>
  1094 +
  1095 + <step>
  1096 + <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail 2</name>
  1097 + <type>InsertUpdate</type>
  1098 + <description/>
  1099 + <distribute>Y</distribute>
  1100 + <custom_distribution/>
  1101 + <copies>1</copies>
  1102 + <partitioning>
  1103 + <method>none</method>
  1104 + <schema_name/>
  1105 + </partitioning>
  1106 + <connection>bus_control_variable</connection>
  1107 + <commit>100</commit>
  1108 + <update_bypassed>N</update_bypassed>
  1109 + <lookup>
  1110 + <schema/>
  1111 + <table>bsth_c_s_ttinfo_detail</table>
  1112 + <key>
  1113 + <name>xlid</name>
  1114 + <field>xl</field>
  1115 + <condition>&#x3d;</condition>
  1116 + <name2/>
  1117 + </key>
  1118 + <key>
  1119 + <name>ttid</name>
  1120 + <field>ttinfo</field>
  1121 + <condition>&#x3d;</condition>
  1122 + <name2/>
  1123 + </key>
  1124 + <key>
  1125 + <name>lpid</name>
  1126 + <field>lp</field>
  1127 + <condition>&#x3d;</condition>
  1128 + <name2/>
  1129 + </key>
  1130 + <key>
  1131 + <name>fcno</name>
  1132 + <field>fcno</field>
  1133 + <condition>&#x3d;</condition>
  1134 + <name2/>
  1135 + </key>
  1136 + <key>
  1137 + <name>bcs</name>
  1138 + <field>bcs</field>
  1139 + <condition>&#x3d;</condition>
  1140 + <name2/>
  1141 + </key>
  1142 + <value>
  1143 + <name>tcc</name>
  1144 + <rename>qdzid</rename>
  1145 + <update>Y</update>
  1146 + </value>
  1147 + <value>
  1148 + <name>zdz</name>
  1149 + <rename>zdzid</rename>
  1150 + <update>Y</update>
  1151 + </value>
  1152 + <value>
  1153 + <name>xl</name>
  1154 + <rename>xlid</rename>
  1155 + <update>Y</update>
  1156 + </value>
  1157 + <value>
  1158 + <name>ttinfo</name>
  1159 + <rename>ttid</rename>
  1160 + <update>Y</update>
  1161 + </value>
  1162 + <value>
  1163 + <name>xl_dir</name>
  1164 + <rename>sxx</rename>
  1165 + <update>Y</update>
  1166 + </value>
  1167 + <value>
  1168 + <name>lp</name>
  1169 + <rename>lpid</rename>
  1170 + <update>Y</update>
  1171 + </value>
  1172 + <value>
  1173 + <name>jhlc</name>
  1174 + <rename>out_mileage</rename>
  1175 + <update>Y</update>
  1176 + </value>
  1177 + <value>
  1178 + <name>fcsj</name>
  1179 + <rename>sendtime_calcu</rename>
  1180 + <update>Y</update>
  1181 + </value>
  1182 + <value>
  1183 + <name>bcsj</name>
  1184 + <rename>out_time</rename>
  1185 + <update>Y</update>
  1186 + </value>
  1187 + <value>
  1188 + <name>bcs</name>
  1189 + <rename>bcs</rename>
  1190 + <update>Y</update>
  1191 + </value>
  1192 + <value>
  1193 + <name>fcno</name>
  1194 + <rename>fcno</rename>
  1195 + <update>Y</update>
  1196 + </value>
  1197 + <value>
  1198 + <name>bc_type</name>
  1199 + <rename>bctype_code</rename>
  1200 + <update>Y</update>
  1201 + </value>
  1202 + <value>
  1203 + <name>isfb</name>
  1204 + <rename>isfb</rename>
  1205 + <update>Y</update>
  1206 + </value>
  1207 + <value>
  1208 + <name>qdz_code</name>
  1209 + <rename>qdzcode</rename>
  1210 + <update>Y</update>
  1211 + </value>
  1212 + <value>
  1213 + <name>qdz_name</name>
  1214 + <rename>tn</rename>
  1215 + <update>Y</update>
  1216 + </value>
  1217 + <value>
  1218 + <name>zdz_code</name>
  1219 + <rename>zdzcode</rename>
  1220 + <update>Y</update>
  1221 + </value>
  1222 + <value>
  1223 + <name>zdz_name</name>
  1224 + <rename>zdzname</rename>
  1225 + <update>Y</update>
  1226 + </value>
  1227 + </lookup>
  1228 + <cluster_schema/>
  1229 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1230 + <xloc>340</xloc>
  1231 + <yloc>1087</yloc>
  1232 + <draw>Y</draw>
  1233 + </GUI>
  1234 + </step>
  1235 +
  1236 + <step>
  1237 + <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail 3</name>
  1238 + <type>InsertUpdate</type>
  1239 + <description/>
  1240 + <distribute>Y</distribute>
  1241 + <custom_distribution/>
  1242 + <copies>1</copies>
  1243 + <partitioning>
  1244 + <method>none</method>
  1245 + <schema_name/>
  1246 + </partitioning>
  1247 + <connection>bus_control_variable</connection>
  1248 + <commit>100</commit>
  1249 + <update_bypassed>N</update_bypassed>
  1250 + <lookup>
  1251 + <schema/>
  1252 + <table>bsth_c_s_ttinfo_detail</table>
  1253 + <key>
  1254 + <name>xlid</name>
  1255 + <field>xl</field>
  1256 + <condition>&#x3d;</condition>
  1257 + <name2/>
  1258 + </key>
  1259 + <key>
  1260 + <name>ttid</name>
  1261 + <field>ttinfo</field>
  1262 + <condition>&#x3d;</condition>
  1263 + <name2/>
  1264 + </key>
  1265 + <key>
  1266 + <name>lpid</name>
  1267 + <field>lp</field>
  1268 + <condition>&#x3d;</condition>
  1269 + <name2/>
  1270 + </key>
  1271 + <key>
  1272 + <name>fcno</name>
  1273 + <field>fcno</field>
  1274 + <condition>&#x3d;</condition>
  1275 + <name2/>
  1276 + </key>
  1277 + <key>
  1278 + <name>bcs</name>
  1279 + <field>bcs</field>
  1280 + <condition>&#x3d;</condition>
  1281 + <name2/>
  1282 + </key>
  1283 + <value>
  1284 + <name>fcno</name>
  1285 + <rename>fcno</rename>
  1286 + <update>Y</update>
  1287 + </value>
  1288 + <value>
  1289 + <name>bcs</name>
  1290 + <rename>bcs</rename>
  1291 + <update>Y</update>
  1292 + </value>
  1293 + <value>
  1294 + <name>xl</name>
  1295 + <rename>xlid</rename>
  1296 + <update>Y</update>
  1297 + </value>
  1298 + <value>
  1299 + <name>ttinfo</name>
  1300 + <rename>ttid</rename>
  1301 + <update>Y</update>
  1302 + </value>
  1303 + <value>
  1304 + <name>lp</name>
  1305 + <rename>lpid</rename>
  1306 + <update>Y</update>
  1307 + </value>
  1308 + <value>
  1309 + <name>bc_type</name>
  1310 + <rename>bctype_code</rename>
  1311 + <update>Y</update>
  1312 + </value>
  1313 + <value>
  1314 + <name>bcsj</name>
  1315 + <rename>parade_time</rename>
  1316 + <update>Y</update>
  1317 + </value>
  1318 + <value>
  1319 + <name>jhlc</name>
  1320 + <rename>parade_mileage</rename>
  1321 + <update>Y</update>
  1322 + </value>
  1323 + <value>
  1324 + <name>fcsj</name>
  1325 + <rename>sendtime_calcu</rename>
  1326 + <update>Y</update>
  1327 + </value>
  1328 + <value>
  1329 + <name>xl_dir</name>
  1330 + <rename>sxx2</rename>
  1331 + <update>Y</update>
  1332 + </value>
  1333 + <value>
  1334 + <name>qdz</name>
  1335 + <rename>qdzid</rename>
  1336 + <update>Y</update>
  1337 + </value>
  1338 + <value>
  1339 + <name>tcc</name>
  1340 + <rename>zdzid</rename>
  1341 + <update>Y</update>
  1342 + </value>
  1343 + <value>
  1344 + <name>isfb</name>
  1345 + <rename>isfb</rename>
  1346 + <update>Y</update>
  1347 + </value>
  1348 + <value>
  1349 + <name>qdz_code</name>
  1350 + <rename>qdzcode</rename>
  1351 + <update>Y</update>
  1352 + </value>
  1353 + <value>
  1354 + <name>qdz_name</name>
  1355 + <rename>qname</rename>
  1356 + <update>Y</update>
  1357 + </value>
  1358 + <value>
  1359 + <name>zdz_code</name>
  1360 + <rename>zdzcode</rename>
  1361 + <update>Y</update>
  1362 + </value>
  1363 + <value>
  1364 + <name>zdz_name</name>
  1365 + <rename>tn</rename>
  1366 + <update>Y</update>
  1367 + </value>
  1368 + </lookup>
  1369 + <cluster_schema/>
  1370 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1371 + <xloc>845</xloc>
  1372 + <yloc>899</yloc>
  1373 + <draw>Y</draw>
  1374 + </GUI>
  1375 + </step>
  1376 +
  1377 + <step>
  1378 + <name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</name>
  1379 + <type>ExcelInput</type>
  1380 + <description/>
  1381 + <distribute>N</distribute>
  1382 + <custom_distribution/>
  1383 + <copies>1</copies>
  1384 + <partitioning>
  1385 + <method>none</method>
  1386 + <schema_name/>
  1387 + </partitioning>
  1388 + <header>Y</header>
  1389 + <noempty>Y</noempty>
  1390 + <stoponempty>N</stoponempty>
  1391 + <filefield/>
  1392 + <sheetfield/>
  1393 + <sheetrownumfield/>
  1394 + <rownumfield/>
  1395 + <sheetfield/>
  1396 + <filefield/>
  1397 + <limit>0</limit>
  1398 + <encoding/>
  1399 + <add_to_result_filenames>Y</add_to_result_filenames>
  1400 + <accept_filenames>N</accept_filenames>
  1401 + <accept_field/>
  1402 + <accept_stepname/>
  1403 + <file>
  1404 + <name/>
  1405 + <filemask/>
  1406 + <exclude_filemask/>
  1407 + <file_required>N</file_required>
  1408 + <include_subfolders>N</include_subfolders>
  1409 + </file>
  1410 + <fields>
  1411 + </fields>
  1412 + <sheets>
  1413 + <sheet>
  1414 + <name/>
  1415 + <startrow>0</startrow>
  1416 + <startcol>0</startcol>
  1417 + </sheet>
  1418 + </sheets>
  1419 + <strict_types>N</strict_types>
  1420 + <error_ignored>N</error_ignored>
  1421 + <error_line_skipped>N</error_line_skipped>
  1422 + <bad_line_files_destination_directory/>
  1423 + <bad_line_files_extension>warning</bad_line_files_extension>
  1424 + <error_line_files_destination_directory/>
  1425 + <error_line_files_extension>error</error_line_files_extension>
  1426 + <line_number_files_destination_directory/>
  1427 + <line_number_files_extension>line</line_number_files_extension>
  1428 + <shortFileFieldName/>
  1429 + <pathFieldName/>
  1430 + <hiddenFieldName/>
  1431 + <lastModificationTimeFieldName/>
  1432 + <uriNameFieldName/>
  1433 + <rootUriNameFieldName/>
  1434 + <extensionFieldName/>
  1435 + <sizeFieldName/>
  1436 + <spreadsheet_type>JXL</spreadsheet_type>
  1437 + <cluster_schema/>
  1438 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1439 + <xloc>112</xloc>
  1440 + <yloc>44</yloc>
  1441 + <draw>Y</draw>
  1442 + </GUI>
  1443 + </step>
  1444 +
  1445 + <step>
  1446 + <name>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;1</name>
  1447 + <type>DBLookup</type>
  1448 + <description/>
  1449 + <distribute>Y</distribute>
  1450 + <custom_distribution/>
  1451 + <copies>1</copies>
  1452 + <partitioning>
  1453 + <method>none</method>
  1454 + <schema_name/>
  1455 + </partitioning>
  1456 + <connection>bus_control_variable</connection>
  1457 + <cache>N</cache>
  1458 + <cache_load_all>N</cache_load_all>
  1459 + <cache_size>0</cache_size>
  1460 + <lookup>
  1461 + <schema/>
  1462 + <table>bsth_c_car_park</table>
  1463 + <orderby/>
  1464 + <fail_on_multiple>N</fail_on_multiple>
  1465 + <eat_row_on_failure>N</eat_row_on_failure>
  1466 + <key>
  1467 + <name>tccname_</name>
  1468 + <field>park_name</field>
  1469 + <condition>&#x3d;</condition>
  1470 + <name2/>
  1471 + </key>
  1472 + <value>
  1473 + <name>id</name>
  1474 + <rename>qdzid</rename>
  1475 + <default/>
  1476 + <type>Integer</type>
  1477 + </value>
  1478 + <value>
  1479 + <name>park_code</name>
  1480 + <rename>qdzcode</rename>
  1481 + <default/>
  1482 + <type>String</type>
  1483 + </value>
  1484 + <value>
  1485 + <name>park_name</name>
  1486 + <rename>tn</rename>
  1487 + <default/>
  1488 + <type>String</type>
  1489 + </value>
  1490 + </lookup>
  1491 + <cluster_schema/>
  1492 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1493 + <xloc>755</xloc>
  1494 + <yloc>504</yloc>
  1495 + <draw>Y</draw>
  1496 + </GUI>
  1497 + </step>
  1498 +
  1499 + <step>
  1500 + <name>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;2</name>
  1501 + <type>DBLookup</type>
  1502 + <description/>
  1503 + <distribute>Y</distribute>
  1504 + <custom_distribution/>
  1505 + <copies>1</copies>
  1506 + <partitioning>
  1507 + <method>none</method>
  1508 + <schema_name/>
  1509 + </partitioning>
  1510 + <connection>bus_control_variable</connection>
  1511 + <cache>N</cache>
  1512 + <cache_load_all>N</cache_load_all>
  1513 + <cache_size>0</cache_size>
  1514 + <lookup>
  1515 + <schema/>
  1516 + <table>bsth_c_car_park</table>
  1517 + <orderby/>
  1518 + <fail_on_multiple>N</fail_on_multiple>
  1519 + <eat_row_on_failure>N</eat_row_on_failure>
  1520 + <key>
  1521 + <name>tccname_</name>
  1522 + <field>park_name</field>
  1523 + <condition>&#x3d;</condition>
  1524 + <name2/>
  1525 + </key>
  1526 + <value>
  1527 + <name>id</name>
  1528 + <rename>zdzid</rename>
  1529 + <default/>
  1530 + <type>Integer</type>
  1531 + </value>
  1532 + <value>
  1533 + <name>park_code</name>
  1534 + <rename>zdzcode</rename>
  1535 + <default/>
  1536 + <type>String</type>
  1537 + </value>
  1538 + <value>
  1539 + <name>park_name</name>
  1540 + <rename>tn</rename>
  1541 + <default/>
  1542 + <type>String</type>
  1543 + </value>
  1544 + </lookup>
  1545 + <cluster_schema/>
  1546 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1547 + <xloc>887</xloc>
  1548 + <yloc>608</yloc>
  1549 + <draw>Y</draw>
  1550 + </GUI>
  1551 + </step>
  1552 +
  1553 + <step>
  1554 + <name>&#x67e5;&#x627e;&#x51fa;&#x573a;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</name>
  1555 + <type>DBLookup</type>
  1556 + <description/>
  1557 + <distribute>Y</distribute>
  1558 + <custom_distribution/>
  1559 + <copies>1</copies>
  1560 + <partitioning>
  1561 + <method>none</method>
  1562 + <schema_name/>
  1563 + </partitioning>
  1564 + <connection>bus_control_variable</connection>
  1565 + <cache>N</cache>
  1566 + <cache_load_all>N</cache_load_all>
  1567 + <cache_size>0</cache_size>
  1568 + <lookup>
  1569 + <schema/>
  1570 + <table>bsth_c_stationroute</table>
  1571 + <orderby/>
  1572 + <fail_on_multiple>N</fail_on_multiple>
  1573 + <eat_row_on_failure>N</eat_row_on_failure>
  1574 + <key>
  1575 + <name>xlid</name>
  1576 + <field>line</field>
  1577 + <condition>&#x3d;</condition>
  1578 + <name2/>
  1579 + </key>
  1580 + <key>
  1581 + <name>zdzname</name>
  1582 + <field>station_name</field>
  1583 + <condition>&#x3d;</condition>
  1584 + <name2/>
  1585 + </key>
  1586 + <key>
  1587 + <name>endZdtype</name>
  1588 + <field>station_mark</field>
  1589 + <condition>&#x3d;</condition>
  1590 + <name2/>
  1591 + </key>
  1592 + <key>
  1593 + <name>destory</name>
  1594 + <field>destroy</field>
  1595 + <condition>&#x3d;</condition>
  1596 + <name2/>
  1597 + </key>
  1598 + <value>
  1599 + <name>station</name>
  1600 + <rename>zdzid</rename>
  1601 + <default/>
  1602 + <type>Integer</type>
  1603 + </value>
  1604 + <value>
  1605 + <name>directions</name>
  1606 + <rename>sxx</rename>
  1607 + <default/>
  1608 + <type>Integer</type>
  1609 + </value>
  1610 + <value>
  1611 + <name>station_code</name>
  1612 + <rename>zdzcode</rename>
  1613 + <default/>
  1614 + <type>String</type>
  1615 + </value>
  1616 + </lookup>
  1617 + <cluster_schema/>
  1618 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1619 + <xloc>329</xloc>
  1620 + <yloc>505</yloc>
  1621 + <draw>Y</draw>
  1622 + </GUI>
  1623 + </step>
  1624 +
  1625 + <step>
  1626 + <name>&#x67e5;&#x627e;&#x65f6;&#x523b;&#x8868;&#x57fa;&#x7840;&#x4fe1;&#x606f;&#x5173;&#x8054;</name>
  1627 + <type>DBLookup</type>
  1628 + <description/>
  1629 + <distribute>Y</distribute>
  1630 + <custom_distribution/>
  1631 + <copies>1</copies>
  1632 + <partitioning>
  1633 + <method>none</method>
  1634 + <schema_name/>
  1635 + </partitioning>
  1636 + <connection>bus_control_variable</connection>
  1637 + <cache>N</cache>
  1638 + <cache_load_all>N</cache_load_all>
  1639 + <cache_size>0</cache_size>
  1640 + <lookup>
  1641 + <schema/>
  1642 + <table>bsth_c_s_ttinfo</table>
  1643 + <orderby/>
  1644 + <fail_on_multiple>N</fail_on_multiple>
  1645 + <eat_row_on_failure>N</eat_row_on_failure>
  1646 + <key>
  1647 + <name>xlid</name>
  1648 + <field>xl</field>
  1649 + <condition>&#x3d;</condition>
  1650 + <name2/>
  1651 + </key>
  1652 + <key>
  1653 + <name>ttinfoname_</name>
  1654 + <field>name</field>
  1655 + <condition>&#x3d;</condition>
  1656 + <name2/>
  1657 + </key>
  1658 + <key>
  1659 + <name>iscanceled</name>
  1660 + <field>is_cancel</field>
  1661 + <condition>&#x3d;</condition>
  1662 + <name2/>
  1663 + </key>
  1664 + <value>
  1665 + <name>id</name>
  1666 + <rename>ttid</rename>
  1667 + <default/>
  1668 + <type>Integer</type>
  1669 + </value>
  1670 + </lookup>
  1671 + <cluster_schema/>
  1672 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1673 + <xloc>1011</xloc>
  1674 + <yloc>134</yloc>
  1675 + <draw>Y</draw>
  1676 + </GUI>
  1677 + </step>
  1678 +
  1679 + <step>
  1680 + <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x5173;&#x8054;</name>
  1681 + <type>DBLookup</type>
  1682 + <description/>
  1683 + <distribute>Y</distribute>
  1684 + <custom_distribution/>
  1685 + <copies>1</copies>
  1686 + <partitioning>
  1687 + <method>none</method>
  1688 + <schema_name/>
  1689 + </partitioning>
  1690 + <connection>bus_control_variable</connection>
  1691 + <cache>N</cache>
  1692 + <cache_load_all>N</cache_load_all>
  1693 + <cache_size>0</cache_size>
  1694 + <lookup>
  1695 + <schema/>
  1696 + <table>bsth_c_line</table>
  1697 + <orderby/>
  1698 + <fail_on_multiple>N</fail_on_multiple>
  1699 + <eat_row_on_failure>N</eat_row_on_failure>
  1700 + <key>
  1701 + <name>xlname_</name>
  1702 + <field>name</field>
  1703 + <condition>&#x3d;</condition>
  1704 + <name2/>
  1705 + </key>
  1706 + <key>
  1707 + <name>iscanceled</name>
  1708 + <field>destroy</field>
  1709 + <condition>&#x3d;</condition>
  1710 + <name2/>
  1711 + </key>
  1712 + <value>
  1713 + <name>id</name>
  1714 + <rename>xlid</rename>
  1715 + <default/>
  1716 + <type>Integer</type>
  1717 + </value>
  1718 + </lookup>
  1719 + <cluster_schema/>
  1720 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1721 + <xloc>1007</xloc>
  1722 + <yloc>43</yloc>
  1723 + <draw>Y</draw>
  1724 + </GUI>
  1725 + </step>
  1726 +
  1727 + <step>
  1728 + <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x51fa;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
  1729 + <type>DBLookup</type>
  1730 + <description/>
  1731 + <distribute>Y</distribute>
  1732 + <custom_distribution/>
  1733 + <copies>1</copies>
  1734 + <partitioning>
  1735 + <method>none</method>
  1736 + <schema_name/>
  1737 + </partitioning>
  1738 + <connection>bus_control_variable</connection>
  1739 + <cache>N</cache>
  1740 + <cache_load_all>N</cache_load_all>
  1741 + <cache_size>0</cache_size>
  1742 + <lookup>
  1743 + <schema/>
  1744 + <table>bsth_c_line_information</table>
  1745 + <orderby/>
  1746 + <fail_on_multiple>N</fail_on_multiple>
  1747 + <eat_row_on_failure>N</eat_row_on_failure>
  1748 + <key>
  1749 + <name>xlid</name>
  1750 + <field>line</field>
  1751 + <condition>&#x3d;</condition>
  1752 + <name2/>
  1753 + </key>
  1754 + <value>
  1755 + <name>up_out_timer</name>
  1756 + <rename>up_out_timer</rename>
  1757 + <default/>
  1758 + <type>Number</type>
  1759 + </value>
  1760 + <value>
  1761 + <name>up_out_mileage</name>
  1762 + <rename>up_out_mileage</rename>
  1763 + <default/>
  1764 + <type>Number</type>
  1765 + </value>
  1766 + <value>
  1767 + <name>down_out_timer</name>
  1768 + <rename>down_out_timer</rename>
  1769 + <default/>
  1770 + <type>Number</type>
  1771 + </value>
  1772 + <value>
  1773 + <name>down_out_mileage</name>
  1774 + <rename>down_out_mileage</rename>
  1775 + <default/>
  1776 + <type>Number</type>
  1777 + </value>
  1778 + </lookup>
  1779 + <cluster_schema/>
  1780 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1781 + <xloc>335</xloc>
  1782 + <yloc>763</yloc>
  1783 + <draw>Y</draw>
  1784 + </GUI>
  1785 + </step>
  1786 +
  1787 + <step>
  1788 + <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x6240;&#x6709;&#x4e0a;&#x4e0b;&#x884c;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
  1789 + <type>DBLookup</type>
  1790 + <description/>
  1791 + <distribute>Y</distribute>
  1792 + <custom_distribution/>
  1793 + <copies>1</copies>
  1794 + <partitioning>
  1795 + <method>none</method>
  1796 + <schema_name/>
  1797 + </partitioning>
  1798 + <connection>bus_control_variable</connection>
  1799 + <cache>N</cache>
  1800 + <cache_load_all>N</cache_load_all>
  1801 + <cache_size>0</cache_size>
  1802 + <lookup>
  1803 + <schema/>
  1804 + <table>bsth_c_line_information</table>
  1805 + <orderby/>
  1806 + <fail_on_multiple>N</fail_on_multiple>
  1807 + <eat_row_on_failure>N</eat_row_on_failure>
  1808 + <key>
  1809 + <name>xlid</name>
  1810 + <field>line</field>
  1811 + <condition>&#x3d;</condition>
  1812 + <name2/>
  1813 + </key>
  1814 + <value>
  1815 + <name>up_mileage</name>
  1816 + <rename>up_mileage</rename>
  1817 + <default/>
  1818 + <type>Number</type>
  1819 + </value>
  1820 + <value>
  1821 + <name>down_mileage</name>
  1822 + <rename>down_mileage</rename>
  1823 + <default/>
  1824 + <type>Number</type>
  1825 + </value>
  1826 + <value>
  1827 + <name>up_travel_time</name>
  1828 + <rename>up_travel_time</rename>
  1829 + <default/>
  1830 + <type>Number</type>
  1831 + </value>
  1832 + <value>
  1833 + <name>down_travel_time</name>
  1834 + <rename>down_travel_time</rename>
  1835 + <default/>
  1836 + <type>Number</type>
  1837 + </value>
  1838 + <value>
  1839 + <name>early_start_time</name>
  1840 + <rename>early_start_time</rename>
  1841 + <default/>
  1842 + <type>String</type>
  1843 + </value>
  1844 + <value>
  1845 + <name>early_end_time</name>
  1846 + <rename>early_end_time</rename>
  1847 + <default/>
  1848 + <type>String</type>
  1849 + </value>
  1850 + <value>
  1851 + <name>early_up_time</name>
  1852 + <rename>early_up_time</rename>
  1853 + <default/>
  1854 + <type>Number</type>
  1855 + </value>
  1856 + <value>
  1857 + <name>early_down_time</name>
  1858 + <rename>early_down_time</rename>
  1859 + <default/>
  1860 + <type>Number</type>
  1861 + </value>
  1862 + <value>
  1863 + <name>late_start_time</name>
  1864 + <rename>late_start_time</rename>
  1865 + <default/>
  1866 + <type>String</type>
  1867 + </value>
  1868 + <value>
  1869 + <name>late_end_time</name>
  1870 + <rename>late_end_time</rename>
  1871 + <default/>
  1872 + <type>String</type>
  1873 + </value>
  1874 + <value>
  1875 + <name>late_up_time</name>
  1876 + <rename>late_up_time</rename>
  1877 + <default/>
  1878 + <type>Number</type>
  1879 + </value>
  1880 + <value>
  1881 + <name>late_down_time</name>
  1882 + <rename>late_down_time</rename>
  1883 + <default/>
  1884 + <type>Number</type>
  1885 + </value>
  1886 + </lookup>
  1887 + <cluster_schema/>
  1888 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1889 + <xloc>149</xloc>
  1890 + <yloc>581</yloc>
  1891 + <draw>Y</draw>
  1892 + </GUI>
  1893 + </step>
  1894 +
  1895 + <step>
  1896 + <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x8fdb;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
  1897 + <type>DBLookup</type>
  1898 + <description/>
  1899 + <distribute>Y</distribute>
  1900 + <custom_distribution/>
  1901 + <copies>1</copies>
  1902 + <partitioning>
  1903 + <method>none</method>
  1904 + <schema_name/>
  1905 + </partitioning>
  1906 + <connection>bus_control_variable</connection>
  1907 + <cache>N</cache>
  1908 + <cache_load_all>N</cache_load_all>
  1909 + <cache_size>0</cache_size>
  1910 + <lookup>
  1911 + <schema/>
  1912 + <table>bsth_c_line_information</table>
  1913 + <orderby/>
  1914 + <fail_on_multiple>N</fail_on_multiple>
  1915 + <eat_row_on_failure>N</eat_row_on_failure>
  1916 + <key>
  1917 + <name>xlid</name>
  1918 + <field>line</field>
  1919 + <condition>&#x3d;</condition>
  1920 + <name2/>
  1921 + </key>
  1922 + <value>
  1923 + <name>up_in_mileage</name>
  1924 + <rename>up_in_mileage</rename>
  1925 + <default/>
  1926 + <type>Number</type>
  1927 + </value>
  1928 + <value>
  1929 + <name>up_in_timer</name>
  1930 + <rename>up_in_timer</rename>
  1931 + <default/>
  1932 + <type>Number</type>
  1933 + </value>
  1934 + <value>
  1935 + <name>down_in_mileage</name>
  1936 + <rename>down_in_mileage</rename>
  1937 + <default/>
  1938 + <type>Number</type>
  1939 + </value>
  1940 + <value>
  1941 + <name>down_in_timer</name>
  1942 + <rename>down_in_timer</rename>
  1943 + <default/>
  1944 + <type>Number</type>
  1945 + </value>
  1946 + </lookup>
  1947 + <cluster_schema/>
  1948 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1949 + <xloc>553</xloc>
  1950 + <yloc>1004</yloc>
  1951 + <draw>Y</draw>
  1952 + </GUI>
  1953 + </step>
  1954 +
  1955 + <step>
  1956 + <name>&#x67e5;&#x627e;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;</name>
  1957 + <type>DBLookup</type>
  1958 + <description/>
  1959 + <distribute>Y</distribute>
  1960 + <custom_distribution/>
  1961 + <copies>1</copies>
  1962 + <partitioning>
  1963 + <method>none</method>
  1964 + <schema_name/>
  1965 + </partitioning>
  1966 + <connection>bus_control_variable</connection>
  1967 + <cache>N</cache>
  1968 + <cache_load_all>N</cache_load_all>
  1969 + <cache_size>0</cache_size>
  1970 + <lookup>
  1971 + <schema/>
  1972 + <table>bsth_c_stationroute</table>
  1973 + <orderby/>
  1974 + <fail_on_multiple>N</fail_on_multiple>
  1975 + <eat_row_on_failure>N</eat_row_on_failure>
  1976 + <key>
  1977 + <name>xlid</name>
  1978 + <field>line</field>
  1979 + <condition>&#x3d;</condition>
  1980 + <name2/>
  1981 + </key>
  1982 + <key>
  1983 + <name>sxx</name>
  1984 + <field>directions</field>
  1985 + <condition>&#x3d;</condition>
  1986 + <name2/>
  1987 + </key>
  1988 + <key>
  1989 + <name>endZdtype</name>
  1990 + <field>station_mark</field>
  1991 + <condition>&#x3d;</condition>
  1992 + <name2/>
  1993 + </key>
  1994 + <key>
  1995 + <name>destory</name>
  1996 + <field>destroy</field>
  1997 + <condition>&#x3d;</condition>
  1998 + <name2/>
  1999 + </key>
  2000 + <value>
  2001 + <name>station_name</name>
  2002 + <rename>zdzname</rename>
  2003 + <default/>
  2004 + <type>String</type>
  2005 + </value>
  2006 + <value>
  2007 + <name>station</name>
  2008 + <rename>zdzid</rename>
  2009 + <default/>
  2010 + <type>Integer</type>
  2011 + </value>
  2012 + <value>
  2013 + <name>station_code</name>
  2014 + <rename>zdzcode</rename>
  2015 + <default/>
  2016 + <type>String</type>
  2017 + </value>
  2018 + </lookup>
  2019 + <cluster_schema/>
  2020 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2021 + <xloc>280</xloc>
  2022 + <yloc>404</yloc>
  2023 + <draw>Y</draw>
  2024 + </GUI>
  2025 + </step>
  2026 +
  2027 + <step>
  2028 + <name>&#x67e5;&#x627e;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</name>
  2029 + <type>DBLookup</type>
  2030 + <description/>
  2031 + <distribute>Y</distribute>
  2032 + <custom_distribution/>
  2033 + <copies>1</copies>
  2034 + <partitioning>
  2035 + <method>none</method>
  2036 + <schema_name/>
  2037 + </partitioning>
  2038 + <connection>bus_control_variable</connection>
  2039 + <cache>N</cache>
  2040 + <cache_load_all>N</cache_load_all>
  2041 + <cache_size>0</cache_size>
  2042 + <lookup>
  2043 + <schema/>
  2044 + <table>bsth_c_stationroute</table>
  2045 + <orderby/>
  2046 + <fail_on_multiple>N</fail_on_multiple>
  2047 + <eat_row_on_failure>N</eat_row_on_failure>
  2048 + <key>
  2049 + <name>xlid</name>
  2050 + <field>line</field>
  2051 + <condition>&#x3d;</condition>
  2052 + <name2/>
  2053 + </key>
  2054 + <key>
  2055 + <name>qdzname</name>
  2056 + <field>station_name</field>
  2057 + <condition>&#x3d;</condition>
  2058 + <name2/>
  2059 + </key>
  2060 + <key>
  2061 + <name>sendZdtype</name>
  2062 + <field>station_mark</field>
  2063 + <condition>&#x3d;</condition>
  2064 + <name2/>
  2065 + </key>
  2066 + <key>
  2067 + <name>destory</name>
  2068 + <field>destroy</field>
  2069 + <condition>&#x3d;</condition>
  2070 + <name2/>
  2071 + </key>
  2072 + <value>
  2073 + <name>station</name>
  2074 + <rename>qdzid</rename>
  2075 + <default/>
  2076 + <type>Integer</type>
  2077 + </value>
  2078 + <value>
  2079 + <name>directions</name>
  2080 + <rename>sxx</rename>
  2081 + <default/>
  2082 + <type>Integer</type>
  2083 + </value>
  2084 + <value>
  2085 + <name>station_code</name>
  2086 + <rename>qdzcode</rename>
  2087 + <default/>
  2088 + <type>String</type>
  2089 + </value>
  2090 + </lookup>
  2091 + <cluster_schema/>
  2092 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2093 + <xloc>430</xloc>
  2094 + <yloc>403</yloc>
  2095 + <draw>Y</draw>
  2096 + </GUI>
  2097 + </step>
  2098 +
  2099 + <step>
  2100 + <name>&#x67e5;&#x627e;&#x8def;&#x724c;&#x5173;&#x8054;</name>
  2101 + <type>DBLookup</type>
  2102 + <description/>
  2103 + <distribute>Y</distribute>
  2104 + <custom_distribution/>
  2105 + <copies>1</copies>
  2106 + <partitioning>
  2107 + <method>none</method>
  2108 + <schema_name/>
  2109 + </partitioning>
  2110 + <connection>bus_control_variable</connection>
  2111 + <cache>N</cache>
  2112 + <cache_load_all>N</cache_load_all>
  2113 + <cache_size>0</cache_size>
  2114 + <lookup>
  2115 + <schema/>
  2116 + <table>bsth_c_s_gbi</table>
  2117 + <orderby/>
  2118 + <fail_on_multiple>N</fail_on_multiple>
  2119 + <eat_row_on_failure>N</eat_row_on_failure>
  2120 + <key>
  2121 + <name>xlid</name>
  2122 + <field>xl</field>
  2123 + <condition>&#x3d;</condition>
  2124 + <name2/>
  2125 + </key>
  2126 + <key>
  2127 + <name>lp</name>
  2128 + <field>lp_name</field>
  2129 + <condition>&#x3d;</condition>
  2130 + <name2/>
  2131 + </key>
  2132 + <key>
  2133 + <name>iscanceled</name>
  2134 + <field>is_cancel</field>
  2135 + <condition>&#x3d;</condition>
  2136 + <name2/>
  2137 + </key>
  2138 + <value>
  2139 + <name>id</name>
  2140 + <rename>lpid</rename>
  2141 + <default/>
  2142 + <type>Integer</type>
  2143 + </value>
  2144 + </lookup>
  2145 + <cluster_schema/>
  2146 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2147 + <xloc>1013</xloc>
  2148 + <yloc>265</yloc>
  2149 + <draw>Y</draw>
  2150 + </GUI>
  2151 + </step>
  2152 +
  2153 + <step>
  2154 + <name>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ebf;&#x8def;&#x65b9;&#x5411;</name>
  2155 + <type>DBLookup</type>
  2156 + <description/>
  2157 + <distribute>Y</distribute>
  2158 + <custom_distribution/>
  2159 + <copies>1</copies>
  2160 + <partitioning>
  2161 + <method>none</method>
  2162 + <schema_name/>
  2163 + </partitioning>
  2164 + <connection>bus_control_variable</connection>
  2165 + <cache>N</cache>
  2166 + <cache_load_all>N</cache_load_all>
  2167 + <cache_size>0</cache_size>
  2168 + <lookup>
  2169 + <schema/>
  2170 + <table>bsth_c_stationroute</table>
  2171 + <orderby/>
  2172 + <fail_on_multiple>N</fail_on_multiple>
  2173 + <eat_row_on_failure>N</eat_row_on_failure>
  2174 + <key>
  2175 + <name>xlid</name>
  2176 + <field>line</field>
  2177 + <condition>&#x3d;</condition>
  2178 + <name2/>
  2179 + </key>
  2180 + <key>
  2181 + <name>startZdtype_calcu</name>
  2182 + <field>station_mark</field>
  2183 + <condition>&#x3d;</condition>
  2184 + <name2/>
  2185 + </key>
  2186 + <key>
  2187 + <name>qdzname_calcu</name>
  2188 + <field>station_name</field>
  2189 + <condition>&#x3d;</condition>
  2190 + <name2/>
  2191 + </key>
  2192 + <key>
  2193 + <name>destory</name>
  2194 + <field>destroy</field>
  2195 + <condition>&#x3d;</condition>
  2196 + <name2/>
  2197 + </key>
  2198 + <value>
  2199 + <name>directions</name>
  2200 + <rename>sxx</rename>
  2201 + <default/>
  2202 + <type>String</type>
  2203 + </value>
  2204 + </lookup>
  2205 + <cluster_schema/>
  2206 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2207 + <xloc>548</xloc>
  2208 + <yloc>610</yloc>
  2209 + <draw>Y</draw>
  2210 + </GUI>
  2211 + </step>
  2212 +
  2213 + <step>
  2214 + <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>
  2215 + <type>DBLookup</type>
  2216 + <description/>
  2217 + <distribute>Y</distribute>
  2218 + <custom_distribution/>
  2219 + <copies>1</copies>
  2220 + <partitioning>
  2221 + <method>none</method>
  2222 + <schema_name/>
  2223 + </partitioning>
  2224 + <connection>bus_control_variable</connection>
  2225 + <cache>Y</cache>
  2226 + <cache_load_all>Y</cache_load_all>
  2227 + <cache_size>0</cache_size>
  2228 + <lookup>
  2229 + <schema/>
  2230 + <table>bsth_c_stationroute</table>
  2231 + <orderby/>
  2232 + <fail_on_multiple>N</fail_on_multiple>
  2233 + <eat_row_on_failure>N</eat_row_on_failure>
  2234 + <key>
  2235 + <name>xlid</name>
  2236 + <field>line</field>
  2237 + <condition>&#x3d;</condition>
  2238 + <name2/>
  2239 + </key>
  2240 + <key>
  2241 + <name>endZdtype_calcu</name>
  2242 + <field>station_mark</field>
  2243 + <condition>&#x3d;</condition>
  2244 + <name2/>
  2245 + </key>
  2246 + <key>
  2247 + <name>sxx</name>
  2248 + <field>directions</field>
  2249 + <condition>&#x3d;</condition>
  2250 + <name2/>
  2251 + </key>
  2252 + <key>
  2253 + <name>destory</name>
  2254 + <field>destroy</field>
  2255 + <condition>&#x3d;</condition>
  2256 + <name2/>
  2257 + </key>
  2258 + <value>
  2259 + <name>station_name</name>
  2260 + <rename>zdzname_calcu</rename>
  2261 + <default/>
  2262 + <type>Integer</type>
  2263 + </value>
  2264 + </lookup>
  2265 + <cluster_schema/>
  2266 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2267 + <xloc>550</xloc>
  2268 + <yloc>701</yloc>
  2269 + <draw>Y</draw>
  2270 + </GUI>
  2271 + </step>
  2272 +
  2273 + <step>
  2274 + <name>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</name>
  2275 + <type>DBLookup</type>
  2276 + <description/>
  2277 + <distribute>Y</distribute>
  2278 + <custom_distribution/>
  2279 + <copies>1</copies>
  2280 + <partitioning>
  2281 + <method>none</method>
  2282 + <schema_name/>
  2283 + </partitioning>
  2284 + <connection>bus_control_variable</connection>
  2285 + <cache>N</cache>
  2286 + <cache_load_all>N</cache_load_all>
  2287 + <cache_size>0</cache_size>
  2288 + <lookup>
  2289 + <schema/>
  2290 + <table>bsth_c_stationroute</table>
  2291 + <orderby/>
  2292 + <fail_on_multiple>N</fail_on_multiple>
  2293 + <eat_row_on_failure>N</eat_row_on_failure>
  2294 + <key>
  2295 + <name>xlid</name>
  2296 + <field>line</field>
  2297 + <condition>&#x3d;</condition>
  2298 + <name2/>
  2299 + </key>
  2300 + <key>
  2301 + <name>zdzname_calcu</name>
  2302 + <field>station_name</field>
  2303 + <condition>&#x3d;</condition>
  2304 + <name2/>
  2305 + </key>
  2306 + <key>
  2307 + <name>startZdtype_calcu</name>
  2308 + <field>station_mark</field>
  2309 + <condition>&#x3d;</condition>
  2310 + <name2/>
  2311 + </key>
  2312 + <key>
  2313 + <name>destory</name>
  2314 + <field>destroy</field>
  2315 + <condition>&#x3d;</condition>
  2316 + <name2/>
  2317 + </key>
  2318 + <value>
  2319 + <name>directions</name>
  2320 + <rename>sxx2</rename>
  2321 + <default/>
  2322 + <type>Integer</type>
  2323 + </value>
  2324 + <value>
  2325 + <name>station</name>
  2326 + <rename>qdzid</rename>
  2327 + <default/>
  2328 + <type>Integer</type>
  2329 + </value>
  2330 + <value>
  2331 + <name>station_code</name>
  2332 + <rename>qdzcode</rename>
  2333 + <default/>
  2334 + <type>String</type>
  2335 + </value>
  2336 + <value>
  2337 + <name>station_name</name>
  2338 + <rename>qname</rename>
  2339 + <default/>
  2340 + <type>String</type>
  2341 + </value>
  2342 + </lookup>
  2343 + <cluster_schema/>
  2344 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2345 + <xloc>551</xloc>
  2346 + <yloc>782</yloc>
  2347 + <draw>Y</draw>
  2348 + </GUI>
  2349 + </step>
  2350 +
  2351 + <step>
  2352 + <name>&#x6b63;&#x5e38;&#x73ed;&#x6b21;_&#x5904;&#x7406;&#x6570;&#x636e;</name>
  2353 + <type>ScriptValueMod</type>
  2354 + <description/>
  2355 + <distribute>Y</distribute>
  2356 + <custom_distribution/>
  2357 + <copies>1</copies>
  2358 + <partitioning>
  2359 + <method>none</method>
  2360 + <schema_name/>
  2361 + </partitioning>
  2362 + <compatible>N</compatible>
  2363 + <optimizationLevel>9</optimizationLevel>
  2364 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  2365 + <jsScript_name>Script 1</jsScript_name>
  2366 + <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>
  2367 + </jsScript> </jsScripts> <fields> <field> <name>sendZdtype</name>
  2368 + <rename>sendZdtype</rename>
  2369 + <type>String</type>
  2370 + <length>-1</length>
  2371 + <precision>-1</precision>
  2372 + <replace>N</replace>
  2373 + </field> <field> <name>endZdtype</name>
  2374 + <rename>endZdtype</rename>
  2375 + <type>String</type>
  2376 + <length>-1</length>
  2377 + <precision>-1</precision>
  2378 + <replace>N</replace>
  2379 + </field> <field> <name>destory</name>
  2380 + <rename>destory</rename>
  2381 + <type>Integer</type>
  2382 + <length>-1</length>
  2383 + <precision>-1</precision>
  2384 + <replace>N</replace>
  2385 + </field> </fields> <cluster_schema/>
  2386 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2387 + <xloc>588</xloc>
  2388 + <yloc>403</yloc>
  2389 + <draw>Y</draw>
  2390 + </GUI>
  2391 + </step>
  2392 +
  2393 + <step>
  2394 + <name>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x6570;&#x636e;</name>
  2395 + <type>Dummy</type>
  2396 + <description/>
  2397 + <distribute>Y</distribute>
  2398 + <custom_distribution/>
  2399 + <copies>1</copies>
  2400 + <partitioning>
  2401 + <method>none</method>
  2402 + <schema_name/>
  2403 + </partitioning>
  2404 + <cluster_schema/>
  2405 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2406 + <xloc>725</xloc>
  2407 + <yloc>404</yloc>
  2408 + <draw>Y</draw>
  2409 + </GUI>
  2410 + </step>
  2411 +
  2412 + <step>
  2413 + <name>&#x6dfb;&#x52a0;&#x53d1;&#x8f66;&#x987a;&#x5e8f;&#x53f7;</name>
  2414 + <type>GroupBy</type>
  2415 + <description/>
  2416 + <distribute>Y</distribute>
  2417 + <custom_distribution/>
  2418 + <copies>1</copies>
  2419 + <partitioning>
  2420 + <method>none</method>
  2421 + <schema_name/>
  2422 + </partitioning>
  2423 + <all_rows>Y</all_rows>
  2424 + <ignore_aggregate>N</ignore_aggregate>
  2425 + <field_ignore/>
  2426 + <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
  2427 + <prefix>grp</prefix>
  2428 + <add_linenr>Y</add_linenr>
  2429 + <linenr_fieldname>fcno</linenr_fieldname>
  2430 + <give_back_row>N</give_back_row>
  2431 + <group>
  2432 + <field>
  2433 + <name>lp</name>
  2434 + </field>
  2435 + </group>
  2436 + <fields>
  2437 + </fields>
  2438 + <cluster_schema/>
  2439 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2440 + <xloc>442</xloc>
  2441 + <yloc>44</yloc>
  2442 + <draw>Y</draw>
  2443 + </GUI>
  2444 + </step>
  2445 +
  2446 + <step>
  2447 + <name>&#x6dfb;&#x52a0;&#x5bf9;&#x5e94;&#x73ed;&#x6b21;&#x6570;</name>
  2448 + <type>GroupBy</type>
  2449 + <description/>
  2450 + <distribute>Y</distribute>
  2451 + <custom_distribution/>
  2452 + <copies>1</copies>
  2453 + <partitioning>
  2454 + <method>none</method>
  2455 + <schema_name/>
  2456 + </partitioning>
  2457 + <all_rows>Y</all_rows>
  2458 + <ignore_aggregate>N</ignore_aggregate>
  2459 + <field_ignore/>
  2460 + <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
  2461 + <prefix>grp</prefix>
  2462 + <add_linenr>Y</add_linenr>
  2463 + <linenr_fieldname>bcs</linenr_fieldname>
  2464 + <give_back_row>N</give_back_row>
  2465 + <group>
  2466 + </group>
  2467 + <fields>
  2468 + </fields>
  2469 + <cluster_schema/>
  2470 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2471 + <xloc>692</xloc>
  2472 + <yloc>44</yloc>
  2473 + <draw>Y</draw>
  2474 + </GUI>
  2475 + </step>
  2476 +
  2477 + <step>
  2478 + <name>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</name>
  2479 + <type>Normaliser</type>
  2480 + <description/>
  2481 + <distribute>Y</distribute>
  2482 + <custom_distribution/>
  2483 + <copies>1</copies>
  2484 + <partitioning>
  2485 + <method>none</method>
  2486 + <schema_name/>
  2487 + </partitioning>
  2488 + <typefield>&#x7ad9;&#x70b9;&#x540d;&#x79f0;</typefield>
  2489 + <fields> </fields> <cluster_schema/>
  2490 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2491 + <xloc>248</xloc>
  2492 + <yloc>44</yloc>
  2493 + <draw>Y</draw>
  2494 + </GUI>
  2495 + </step>
  2496 +
  2497 + <step>
  2498 + <name>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178;</name>
  2499 + <type>ValueMapper</type>
  2500 + <description/>
  2501 + <distribute>Y</distribute>
  2502 + <custom_distribution/>
  2503 + <copies>1</copies>
  2504 + <partitioning>
  2505 + <method>none</method>
  2506 + <schema_name/>
  2507 + </partitioning>
  2508 + <field_to_use>bctype</field_to_use>
  2509 + <target_field>bctype_code</target_field>
  2510 + <non_match_default>&#x672a;&#x77e5;&#x7c7b;&#x578b;</non_match_default>
  2511 + <fields>
  2512 + <field>
  2513 + <source_value>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</source_value>
  2514 + <target_value>normal</target_value>
  2515 + </field>
  2516 + <field>
  2517 + <source_value>&#x51fa;&#x573a;</source_value>
  2518 + <target_value>out</target_value>
  2519 + </field>
  2520 + <field>
  2521 + <source_value>&#x8fdb;&#x573a;</source_value>
  2522 + <target_value>in</target_value>
  2523 + </field>
  2524 + <field>
  2525 + <source_value>&#x52a0;&#x6cb9;</source_value>
  2526 + <target_value>oil</target_value>
  2527 + </field>
  2528 + <field>
  2529 + <source_value>&#x4e34;&#x52a0;</source_value>
  2530 + <target_value>temp</target_value>
  2531 + </field>
  2532 + <field>
  2533 + <source_value>&#x533a;&#x95f4;</source_value>
  2534 + <target_value>region</target_value>
  2535 + </field>
  2536 + <field>
  2537 + <source_value>&#x653e;&#x7a7a;</source_value>
  2538 + <target_value>venting</target_value>
  2539 + </field>
  2540 + <field>
  2541 + <source_value>&#x653e;&#x5927;&#x7ad9;</source_value>
  2542 + <target_value>major</target_value>
  2543 + </field>
  2544 + </fields>
  2545 + <cluster_schema/>
  2546 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2547 + <xloc>149</xloc>
  2548 + <yloc>491</yloc>
  2549 + <draw>Y</draw>
  2550 + </GUI>
  2551 + </step>
  2552 +
  2553 + <step>
  2554 + <name>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 2</name>
  2555 + <type>ValueMapper</type>
  2556 + <description/>
  2557 + <distribute>Y</distribute>
  2558 + <custom_distribution/>
  2559 + <copies>1</copies>
  2560 + <partitioning>
  2561 + <method>none</method>
  2562 + <schema_name/>
  2563 + </partitioning>
  2564 + <field_to_use>bctype</field_to_use>
  2565 + <target_field>bctype_code</target_field>
  2566 + <non_match_default>&#x672a;&#x77e5;&#x7c7b;&#x578b;</non_match_default>
  2567 + <fields>
  2568 + <field>
  2569 + <source_value>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</source_value>
  2570 + <target_value>normal</target_value>
  2571 + </field>
  2572 + <field>
  2573 + <source_value>&#x51fa;&#x573a;</source_value>
  2574 + <target_value>out</target_value>
  2575 + </field>
  2576 + <field>
  2577 + <source_value>&#x8fdb;&#x573a;</source_value>
  2578 + <target_value>in</target_value>
  2579 + </field>
  2580 + <field>
  2581 + <source_value>&#x52a0;&#x6cb9;</source_value>
  2582 + <target_value>oil</target_value>
  2583 + </field>
  2584 + <field>
  2585 + <source_value>&#x4e34;&#x52a0;</source_value>
  2586 + <target_value>temp</target_value>
  2587 + </field>
  2588 + <field>
  2589 + <source_value>&#x533a;&#x95f4;</source_value>
  2590 + <target_value>region</target_value>
  2591 + </field>
  2592 + <field>
  2593 + <source_value>&#x653e;&#x7a7a;</source_value>
  2594 + <target_value>venting</target_value>
  2595 + </field>
  2596 + <field>
  2597 + <source_value>&#x653e;&#x5927;&#x7ad9;</source_value>
  2598 + <target_value>major</target_value>
  2599 + </field>
  2600 + </fields>
  2601 + <cluster_schema/>
  2602 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2603 + <xloc>333</xloc>
  2604 + <yloc>681</yloc>
  2605 + <draw>Y</draw>
  2606 + </GUI>
  2607 + </step>
  2608 +
  2609 + <step>
  2610 + <name>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 3</name>
  2611 + <type>ValueMapper</type>
  2612 + <description/>
  2613 + <distribute>Y</distribute>
  2614 + <custom_distribution/>
  2615 + <copies>1</copies>
  2616 + <partitioning>
  2617 + <method>none</method>
  2618 + <schema_name/>
  2619 + </partitioning>
  2620 + <field_to_use>bctype</field_to_use>
  2621 + <target_field>bctype_code</target_field>
  2622 + <non_match_default>&#x672a;&#x77e5;&#x7c7b;&#x578b;</non_match_default>
  2623 + <fields>
  2624 + <field>
  2625 + <source_value>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</source_value>
  2626 + <target_value>normal</target_value>
  2627 + </field>
  2628 + <field>
  2629 + <source_value>&#x51fa;&#x573a;</source_value>
  2630 + <target_value>out</target_value>
  2631 + </field>
  2632 + <field>
  2633 + <source_value>&#x8fdb;&#x573a;</source_value>
  2634 + <target_value>in</target_value>
  2635 + </field>
  2636 + <field>
  2637 + <source_value>&#x52a0;&#x6cb9;</source_value>
  2638 + <target_value>oil</target_value>
  2639 + </field>
  2640 + <field>
  2641 + <source_value>&#x4e34;&#x52a0;</source_value>
  2642 + <target_value>temp</target_value>
  2643 + </field>
  2644 + <field>
  2645 + <source_value>&#x533a;&#x95f4;</source_value>
  2646 + <target_value>region</target_value>
  2647 + </field>
  2648 + <field>
  2649 + <source_value>&#x653e;&#x7a7a;</source_value>
  2650 + <target_value>venting</target_value>
  2651 + </field>
  2652 + <field>
  2653 + <source_value>&#x653e;&#x5927;&#x7ad9;</source_value>
  2654 + <target_value>major</target_value>
  2655 + </field>
  2656 + </fields>
  2657 + <cluster_schema/>
  2658 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2659 + <xloc>551</xloc>
  2660 + <yloc>928</yloc>
  2661 + <draw>Y</draw>
  2662 + </GUI>
  2663 + </step>
  2664 +
  2665 + <step>
  2666 + <name>&#x7c7b;&#x578b;&#x4fee;&#x6b63;</name>
  2667 + <type>SelectValues</type>
  2668 + <description/>
  2669 + <distribute>Y</distribute>
  2670 + <custom_distribution/>
  2671 + <copies>1</copies>
  2672 + <partitioning>
  2673 + <method>none</method>
  2674 + <schema_name/>
  2675 + </partitioning>
  2676 + <fields> <select_unspecified>N</select_unspecified>
  2677 + <meta> <name>jhlc</name>
  2678 + <rename>jhlc</rename>
  2679 + <type>Number</type>
  2680 + <length>-2</length>
  2681 + <precision>-2</precision>
  2682 + <conversion_mask/>
  2683 + <date_format_lenient>false</date_format_lenient>
  2684 + <date_format_locale/>
  2685 + <date_format_timezone/>
  2686 + <lenient_string_to_number>false</lenient_string_to_number>
  2687 + <encoding/>
  2688 + <decimal_symbol/>
  2689 + <grouping_symbol/>
  2690 + <currency_symbol/>
  2691 + <storage_type/>
  2692 + </meta> <meta> <name>bcsj</name>
  2693 + <rename>bcsj</rename>
  2694 + <type>Integer</type>
  2695 + <length>-2</length>
  2696 + <precision>-2</precision>
  2697 + <conversion_mask/>
  2698 + <date_format_lenient>false</date_format_lenient>
  2699 + <date_format_locale/>
  2700 + <date_format_timezone/>
  2701 + <lenient_string_to_number>false</lenient_string_to_number>
  2702 + <encoding/>
  2703 + <decimal_symbol/>
  2704 + <grouping_symbol/>
  2705 + <currency_symbol/>
  2706 + <storage_type/>
  2707 + </meta> </fields> <cluster_schema/>
  2708 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2709 + <xloc>146</xloc>
  2710 + <yloc>768</yloc>
  2711 + <draw>Y</draw>
  2712 + </GUI>
  2713 + </step>
  2714 +
  2715 + <step>
  2716 + <name>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 2</name>
  2717 + <type>SelectValues</type>
  2718 + <description/>
  2719 + <distribute>Y</distribute>
  2720 + <custom_distribution/>
  2721 + <copies>1</copies>
  2722 + <partitioning>
  2723 + <method>none</method>
  2724 + <schema_name/>
  2725 + </partitioning>
  2726 + <fields> <select_unspecified>N</select_unspecified>
  2727 + <meta> <name>out_mileage</name>
  2728 + <rename>out_mileage</rename>
  2729 + <type>Number</type>
  2730 + <length>-2</length>
  2731 + <precision>-2</precision>
  2732 + <conversion_mask/>
  2733 + <date_format_lenient>false</date_format_lenient>
  2734 + <date_format_locale/>
  2735 + <date_format_timezone/>
  2736 + <lenient_string_to_number>false</lenient_string_to_number>
  2737 + <encoding/>
  2738 + <decimal_symbol/>
  2739 + <grouping_symbol/>
  2740 + <currency_symbol/>
  2741 + <storage_type/>
  2742 + </meta> <meta> <name>out_time</name>
  2743 + <rename>out_time</rename>
  2744 + <type>Integer</type>
  2745 + <length>-2</length>
  2746 + <precision>-2</precision>
  2747 + <conversion_mask/>
  2748 + <date_format_lenient>false</date_format_lenient>
  2749 + <date_format_locale/>
  2750 + <date_format_timezone/>
  2751 + <lenient_string_to_number>false</lenient_string_to_number>
  2752 + <encoding/>
  2753 + <decimal_symbol/>
  2754 + <grouping_symbol/>
  2755 + <currency_symbol/>
  2756 + <storage_type/>
  2757 + </meta> <meta> <name>sxx</name>
  2758 + <rename>sxx</rename>
  2759 + <type>Integer</type>
  2760 + <length>-2</length>
  2761 + <precision>-2</precision>
  2762 + <conversion_mask/>
  2763 + <date_format_lenient>false</date_format_lenient>
  2764 + <date_format_locale/>
  2765 + <date_format_timezone/>
  2766 + <lenient_string_to_number>false</lenient_string_to_number>
  2767 + <encoding/>
  2768 + <decimal_symbol/>
  2769 + <grouping_symbol/>
  2770 + <currency_symbol/>
  2771 + <storage_type/>
  2772 + </meta> </fields> <cluster_schema/>
  2773 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2774 + <xloc>338</xloc>
  2775 + <yloc>1008</yloc>
  2776 + <draw>Y</draw>
  2777 + </GUI>
  2778 + </step>
  2779 +
  2780 + <step>
  2781 + <name>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 3</name>
  2782 + <type>SelectValues</type>
  2783 + <description/>
  2784 + <distribute>Y</distribute>
  2785 + <custom_distribution/>
  2786 + <copies>1</copies>
  2787 + <partitioning>
  2788 + <method>none</method>
  2789 + <schema_name/>
  2790 + </partitioning>
  2791 + <fields> <select_unspecified>N</select_unspecified>
  2792 + <meta> <name>parade_mileage</name>
  2793 + <rename>parade_mileage</rename>
  2794 + <type>Number</type>
  2795 + <length>-2</length>
  2796 + <precision>-2</precision>
  2797 + <conversion_mask/>
  2798 + <date_format_lenient>false</date_format_lenient>
  2799 + <date_format_locale/>
  2800 + <date_format_timezone/>
  2801 + <lenient_string_to_number>false</lenient_string_to_number>
  2802 + <encoding/>
  2803 + <decimal_symbol/>
  2804 + <grouping_symbol/>
  2805 + <currency_symbol/>
  2806 + <storage_type/>
  2807 + </meta> <meta> <name>parade_time</name>
  2808 + <rename>parade_time</rename>
  2809 + <type>Integer</type>
  2810 + <length>-2</length>
  2811 + <precision>-2</precision>
  2812 + <conversion_mask/>
  2813 + <date_format_lenient>false</date_format_lenient>
  2814 + <date_format_locale/>
  2815 + <date_format_timezone/>
  2816 + <lenient_string_to_number>false</lenient_string_to_number>
  2817 + <encoding/>
  2818 + <decimal_symbol/>
  2819 + <grouping_symbol/>
  2820 + <currency_symbol/>
  2821 + <storage_type/>
  2822 + </meta> <meta> <name>sxx2</name>
  2823 + <rename>sxx2</rename>
  2824 + <type>Integer</type>
  2825 + <length>-2</length>
  2826 + <precision>-2</precision>
  2827 + <conversion_mask/>
  2828 + <date_format_lenient>false</date_format_lenient>
  2829 + <date_format_locale/>
  2830 + <date_format_timezone/>
  2831 + <lenient_string_to_number>false</lenient_string_to_number>
  2832 + <encoding/>
  2833 + <decimal_symbol/>
  2834 + <grouping_symbol/>
  2835 + <currency_symbol/>
  2836 + <storage_type/>
  2837 + </meta> </fields> <cluster_schema/>
  2838 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2839 + <xloc>847</xloc>
  2840 + <yloc>1003</yloc>
  2841 + <draw>Y</draw>
  2842 + </GUI>
  2843 + </step>
  2844 +
  2845 + <step>
  2846 + <name>&#x8ba1;&#x7b97;&#x73ed;&#x6b21;&#x7c7b;&#x578b;</name>
  2847 + <type>ValueMapper</type>
  2848 + <description/>
  2849 + <distribute>Y</distribute>
  2850 + <custom_distribution/>
  2851 + <copies>1</copies>
  2852 + <partitioning>
  2853 + <method>none</method>
  2854 + <schema_name/>
  2855 + </partitioning>
  2856 + <field_to_use>qdzname</field_to_use>
  2857 + <target_field>bctype</target_field>
  2858 + <non_match_default>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</non_match_default>
  2859 + <fields>
  2860 + <field>
  2861 + <source_value>&#x51fa;&#x573a;</source_value>
  2862 + <target_value>&#x51fa;&#x573a;</target_value>
  2863 + </field>
  2864 + <field>
  2865 + <source_value>&#x8fdb;&#x573a;</source_value>
  2866 + <target_value>&#x8fdb;&#x573a;</target_value>
  2867 + </field>
  2868 + </fields>
  2869 + <cluster_schema/>
  2870 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2871 + <xloc>1014</xloc>
  2872 + <yloc>401</yloc>
  2873 + <draw>Y</draw>
  2874 + </GUI>
  2875 + </step>
  2876 +
  2877 + <step>
  2878 + <name>&#x8bb0;&#x5f55;&#x5173;&#x8054; &#x28;&#x7b1b;&#x5361;&#x5c14;&#x8f93;&#x51fa;&#x29;</name>
  2879 + <type>JoinRows</type>
  2880 + <description/>
  2881 + <distribute>Y</distribute>
  2882 + <custom_distribution/>
  2883 + <copies>1</copies>
  2884 + <partitioning>
  2885 + <method>none</method>
  2886 + <schema_name/>
  2887 + </partitioning>
  2888 + <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
  2889 + <prefix>out</prefix>
  2890 + <cache_size>500</cache_size>
  2891 + <main/>
  2892 + <compare>
  2893 +<condition>
  2894 + <negated>N</negated>
  2895 + <leftvalue/>
  2896 + <function>&#x3d;</function>
  2897 + <rightvalue/>
  2898 + </condition>
  2899 + </compare>
  2900 + <cluster_schema/>
  2901 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2902 + <xloc>310</xloc>
  2903 + <yloc>133</yloc>
  2904 + <draw>Y</draw>
  2905 + </GUI>
  2906 + </step>
  2907 +
  2908 + <step>
  2909 + <name>&#x8fc7;&#x6ee4;&#x8bb0;&#x5f55;&#xff08;&#x53d1;&#x8f66;&#x65f6;&#x95f4;&#x4e3a;&#x7a7a;&#xff09;</name>
  2910 + <type>FilterRows</type>
  2911 + <description/>
  2912 + <distribute>Y</distribute>
  2913 + <custom_distribution/>
  2914 + <copies>1</copies>
  2915 + <partitioning>
  2916 + <method>none</method>
  2917 + <schema_name/>
  2918 + </partitioning>
  2919 +<send_true_to/>
  2920 +<send_false_to/>
  2921 + <compare>
  2922 +<condition>
  2923 + <negated>N</negated>
  2924 + <leftvalue>sendtime</leftvalue>
  2925 + <function>IS NOT NULL</function>
  2926 + <rightvalue/>
  2927 + </condition>
  2928 + </compare>
  2929 + <cluster_schema/>
  2930 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2931 + <xloc>571</xloc>
  2932 + <yloc>44</yloc>
  2933 + <draw>Y</draw>
  2934 + </GUI>
  2935 + </step>
  2936 +
  2937 + <step>
  2938 + <name>&#x8fdb;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x8d77;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</name>
  2939 + <type>ScriptValueMod</type>
  2940 + <description/>
  2941 + <distribute>Y</distribute>
  2942 + <custom_distribution/>
  2943 + <copies>1</copies>
  2944 + <partitioning>
  2945 + <method>none</method>
  2946 + <schema_name/>
  2947 + </partitioning>
  2948 + <compatible>N</compatible>
  2949 + <optimizationLevel>9</optimizationLevel>
  2950 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  2951 + <jsScript_name>Script 1</jsScript_name>
  2952 + <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>
  2953 + </jsScript> </jsScripts> <fields> <field> <name>qdzname_calcu</name>
  2954 + <rename>qdzname_calcu</rename>
  2955 + <type>String</type>
  2956 + <length>-1</length>
  2957 + <precision>-1</precision>
  2958 + <replace>N</replace>
  2959 + </field> <field> <name>startZdtype_calcu</name>
  2960 + <rename>startZdtype_calcu</rename>
  2961 + <type>String</type>
  2962 + <length>-1</length>
  2963 + <precision>-1</precision>
  2964 + <replace>N</replace>
  2965 + </field> <field> <name>endZdtype_calcu</name>
  2966 + <rename>endZdtype_calcu</rename>
  2967 + <type>String</type>
  2968 + <length>-1</length>
  2969 + <precision>-1</precision>
  2970 + <replace>N</replace>
  2971 + </field> <field> <name>destory</name>
  2972 + <rename>destory</rename>
  2973 + <type>Integer</type>
  2974 + <length>-1</length>
  2975 + <precision>-1</precision>
  2976 + <replace>N</replace>
  2977 + </field> </fields> <cluster_schema/>
  2978 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2979 + <xloc>754</xloc>
  2980 + <yloc>610</yloc>
  2981 + <draw>Y</draw>
  2982 + </GUI>
  2983 + </step>
  2984 +
  2985 + <step>
  2986 + <name>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</name>
  2987 + <type>Dummy</type>
  2988 + <description/>
  2989 + <distribute>Y</distribute>
  2990 + <custom_distribution/>
  2991 + <copies>1</copies>
  2992 + <partitioning>
  2993 + <method>none</method>
  2994 + <schema_name/>
  2995 + </partitioning>
  2996 + <cluster_schema/>
  2997 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2998 + <xloc>997</xloc>
  2999 + <yloc>606</yloc>
  3000 + <draw>Y</draw>
  3001 + </GUI>
  3002 + </step>
  3003 +
  3004 + <step_error_handling>
  3005 + <error>
  3006 + <source_step>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail</source_step>
  3007 + <target_step/>
  3008 + <is_enabled>Y</is_enabled>
  3009 + <nr_valuename>c1</nr_valuename>
  3010 + <descriptions_valuename>c2</descriptions_valuename>
  3011 + <fields_valuename>c3</fields_valuename>
  3012 + <codes_valuename>c4</codes_valuename>
  3013 + <max_errors/>
  3014 + <max_pct_errors/>
  3015 + <min_pct_rows/>
  3016 + </error>
  3017 + </step_error_handling>
  3018 + <slave-step-copy-partition-distribution>
  3019 +</slave-step-copy-partition-distribution>
  3020 + <slave_transformation>N</slave_transformation>
  3021 +
  3022 +</transformation>
src/main/resources/datatools/ktrs/ttinfodetailDataInput2.ktr
1 -<?xml version="1.0" encoding="UTF-8"?>  
2 -<transformation>  
3 - <info>  
4 - <name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x5bfc;&#x5165;2</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>&#x67e5;&#x627e;&#x8def;&#x724c;&#x5173;&#x8054;</from><to>&#x8ba1;&#x7b97;&#x73ed;&#x6b21;&#x7c7b;&#x578b;</to><enabled>Y</enabled> </hop>  
393 - <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>  
394 - <hop> <from>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</from><to>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;1</to><enabled>Y</enabled> </hop>  
395 - <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>  
396 - <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>  
397 - <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>  
398 - <hop> <from>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</from><to>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;2</to><enabled>Y</enabled> </hop>  
399 - <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>  
400 - <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>  
401 - <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>  
402 - <hop> <from>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</from><to>&#x6dfb;&#x52a0;&#x53d1;&#x8f66;&#x987a;&#x5e8f;&#x53f7;</to><enabled>Y</enabled> </hop>  
403 - <hop> <from>&#x5206;&#x7ec4;&#x5404;&#x4e2a;&#x8def;&#x724c;&#x7684;&#x7ad9;</from><to>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop>  
404 - <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>  
405 - <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>  
406 - <hop> <from>&#x8bb0;&#x5f55;&#x5173;&#x8054; &#x28;&#x7b1b;&#x5361;&#x5c14;&#x8f93;&#x51fa;&#x29;</from><to>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</to><enabled>Y</enabled> </hop>  
407 - <hop> <from>&#x7c7b;&#x578b;&#x4fee;&#x6b63;</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail</to><enabled>Y</enabled> </hop>  
408 - <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>  
409 - <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>  
410 - <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>  
411 - <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>  
412 - <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>  
413 - <hop> <from>&#x4e0a;&#x4e0b;&#x884c;NULL&#x5224;&#x5b9a;</from><to>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 2</to><enabled>Y</enabled> </hop>  
414 - <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>  
415 - <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>  
416 - <hop> <from>&#x4e0a;&#x4e0b;&#x884c;&#x5224;&#x5b9a; 2</from><to>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 3</to><enabled>Y</enabled> </hop>  
417 - <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>  
418 - </order>  
419 - <step>  
420 - <name>&#x4e0a;&#x4e0b;&#x884c;NULL&#x5224;&#x5b9a;</name>  
421 - <type>IfNull</type>  
422 - <description/>  
423 - <distribute>Y</distribute>  
424 - <custom_distribution/>  
425 - <copies>1</copies>  
426 - <partitioning>  
427 - <method>none</method>  
428 - <schema_name/>  
429 - </partitioning>  
430 - <replaceAllByValue/>  
431 - <replaceAllMask/>  
432 - <selectFields>Y</selectFields>  
433 - <selectValuesType>N</selectValuesType>  
434 - <setEmptyStringAll>N</setEmptyStringAll>  
435 - <valuetypes>  
436 - </valuetypes>  
437 - <fields>  
438 - <field>  
439 - <name>sxx</name>  
440 - <value>0</value>  
441 - <mask/>  
442 - <set_empty_string>N</set_empty_string>  
443 - </field>  
444 - </fields>  
445 - <cluster_schema/>  
446 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
447 - <xloc>335</xloc>  
448 - <yloc>938</yloc>  
449 - <draw>Y</draw>  
450 - </GUI>  
451 - </step>  
452 -  
453 - <step>  
454 - <name>&#x4e0a;&#x4e0b;&#x884c;&#x5224;&#x5b9a; 2</name>  
455 - <type>IfNull</type>  
456 - <description/>  
457 - <distribute>Y</distribute>  
458 - <custom_distribution/>  
459 - <copies>1</copies>  
460 - <partitioning>  
461 - <method>none</method>  
462 - <schema_name/>  
463 - </partitioning>  
464 - <replaceAllByValue/>  
465 - <replaceAllMask/>  
466 - <selectFields>Y</selectFields>  
467 - <selectValuesType>N</selectValuesType>  
468 - <setEmptyStringAll>N</setEmptyStringAll>  
469 - <valuetypes>  
470 - </valuetypes>  
471 - <fields>  
472 - <field>  
473 - <name>sxx2</name>  
474 - <value>0</value>  
475 - <mask/>  
476 - <set_empty_string>N</set_empty_string>  
477 - </field>  
478 - </fields>  
479 - <cluster_schema/>  
480 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
481 - <xloc>804</xloc>  
482 - <yloc>1081</yloc>  
483 - <draw>Y</draw>  
484 - </GUI>  
485 - </step>  
486 -  
487 - <step>  
488 - <name>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178;</name>  
489 - <type>ValueMapper</type>  
490 - <description/>  
491 - <distribute>Y</distribute>  
492 - <custom_distribution/>  
493 - <copies>1</copies>  
494 - <partitioning>  
495 - <method>none</method>  
496 - <schema_name/>  
497 - </partitioning>  
498 - <field_to_use>sxx</field_to_use>  
499 - <target_field>sxx_desc</target_field>  
500 - <non_match_default/>  
501 - <fields>  
502 - <field>  
503 - <source_value>0</source_value>  
504 - <target_value>&#x4e0a;&#x884c;</target_value>  
505 - </field>  
506 - <field>  
507 - <source_value>1</source_value>  
508 - <target_value>&#x4e0b;&#x884c;</target_value>  
509 - </field>  
510 - </fields>  
511 - <cluster_schema/>  
512 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
513 - <xloc>147</xloc>  
514 - <yloc>403</yloc>  
515 - <draw>Y</draw>  
516 - </GUI>  
517 - </step>  
518 -  
519 - <step>  
520 - <name>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 2</name>  
521 - <type>ValueMapper</type>  
522 - <description/>  
523 - <distribute>Y</distribute>  
524 - <custom_distribution/>  
525 - <copies>1</copies>  
526 - <partitioning>  
527 - <method>none</method>  
528 - <schema_name/>  
529 - </partitioning>  
530 - <field_to_use>sxx</field_to_use>  
531 - <target_field>sxx_desc</target_field>  
532 - <non_match_default/>  
533 - <fields>  
534 - <field>  
535 - <source_value>0</source_value>  
536 - <target_value>&#x4e0a;&#x884c;</target_value>  
537 - </field>  
538 - <field>  
539 - <source_value>1</source_value>  
540 - <target_value>&#x4e0b;&#x884c;</target_value>  
541 - </field>  
542 - </fields>  
543 - <cluster_schema/>  
544 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
545 - <xloc>331</xloc>  
546 - <yloc>598</yloc>  
547 - <draw>Y</draw>  
548 - </GUI>  
549 - </step>  
550 -  
551 - <step>  
552 - <name>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 3</name>  
553 - <type>ValueMapper</type>  
554 - <description/>  
555 - <distribute>Y</distribute>  
556 - <custom_distribution/>  
557 - <copies>1</copies>  
558 - <partitioning>  
559 - <method>none</method>  
560 - <schema_name/>  
561 - </partitioning>  
562 - <field_to_use>sxx</field_to_use>  
563 - <target_field>sxx_desc</target_field>  
564 - <non_match_default/>  
565 - <fields>  
566 - <field>  
567 - <source_value>0</source_value>  
568 - <target_value>&#x4e0a;&#x884c;</target_value>  
569 - </field>  
570 - <field>  
571 - <source_value>1</source_value>  
572 - <target_value>&#x4e0b;&#x884c;</target_value>  
573 - </field>  
574 - </fields>  
575 - <cluster_schema/>  
576 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
577 - <xloc>553</xloc>  
578 - <yloc>859</yloc>  
579 - <draw>Y</draw>  
580 - </GUI>  
581 - </step>  
582 -  
583 - <step>  
584 - <name>&#x51fa;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x7ec8;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</name>  
585 - <type>ScriptValueMod</type>  
586 - <description/>  
587 - <distribute>Y</distribute>  
588 - <custom_distribution/>  
589 - <copies>1</copies>  
590 - <partitioning>  
591 - <method>none</method>  
592 - <schema_name/>  
593 - </partitioning>  
594 - <compatible>N</compatible>  
595 - <optimizationLevel>9</optimizationLevel>  
596 - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>  
597 - <jsScript_name>Script 1</jsScript_name>  
598 - <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>  
599 - </jsScript> </jsScripts> <fields> <field> <name>zdzname</name>  
600 - <rename>zdzname</rename>  
601 - <type>String</type>  
602 - <length>-1</length>  
603 - <precision>-1</precision>  
604 - <replace>N</replace>  
605 - </field> <field> <name>endZdtype</name>  
606 - <rename>endZdtype</rename>  
607 - <type>String</type>  
608 - <length>-1</length>  
609 - <precision>-1</precision>  
610 - <replace>N</replace>  
611 - </field> <field> <name>destory</name>  
612 - <rename>destory</rename>  
613 - <type>Integer</type>  
614 - <length>-1</length>  
615 - <precision>-1</precision>  
616 - <replace>N</replace>  
617 - </field> </fields> <cluster_schema/>  
618 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
619 - <xloc>575</xloc>  
620 - <yloc>502</yloc>  
621 - <draw>Y</draw>  
622 - </GUI>  
623 - </step>  
624 -  
625 - <step>  
626 - <name>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</name>  
627 - <type>Dummy</type>  
628 - <description/>  
629 - <distribute>Y</distribute>  
630 - <custom_distribution/>  
631 - <copies>1</copies>  
632 - <partitioning>  
633 - <method>none</method>  
634 - <schema_name/>  
635 - </partitioning>  
636 - <cluster_schema/>  
637 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
638 - <xloc>869</xloc>  
639 - <yloc>504</yloc>  
640 - <draw>Y</draw>  
641 - </GUI>  
642 - </step>  
643 -  
644 - <step>  
645 - <name>&#x5206;&#x7ec4;&#x5404;&#x4e2a;&#x8def;&#x724c;&#x7684;&#x7ad9;</name>  
646 - <type>GroupBy</type>  
647 - <description/>  
648 - <distribute>Y</distribute>  
649 - <custom_distribution/>  
650 - <copies>1</copies>  
651 - <partitioning>  
652 - <method>none</method>  
653 - <schema_name/>  
654 - </partitioning>  
655 - <all_rows>Y</all_rows>  
656 - <ignore_aggregate>N</ignore_aggregate>  
657 - <field_ignore/>  
658 - <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>  
659 - <prefix>grp</prefix>  
660 - <add_linenr>Y</add_linenr>  
661 - <linenr_fieldname>gno</linenr_fieldname>  
662 - <give_back_row>N</give_back_row>  
663 - <group>  
664 - <field>  
665 - <name>lp</name>  
666 - </field>  
667 - </group>  
668 - <fields>  
669 - <field>  
670 - <aggregate>qdzgroups</aggregate>  
671 - <subject>qdzname</subject>  
672 - <type>CONCAT_STRING</type>  
673 - <valuefield>,</valuefield>  
674 - </field>  
675 - </fields>  
676 - <cluster_schema/>  
677 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
678 - <xloc>892</xloc>  
679 - <yloc>44</yloc>  
680 - <draw>Y</draw>  
681 - </GUI>  
682 - </step>  
683 -  
684 - <step>  
685 - <name>&#x5339;&#x914d;&#x4e0a;&#x4e0b;&#x884c;&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>  
686 - <type>ScriptValueMod</type>  
687 - <description/>  
688 - <distribute>Y</distribute>  
689 - <custom_distribution/>  
690 - <copies>1</copies>  
691 - <partitioning>  
692 - <method>none</method>  
693 - <schema_name/>  
694 - </partitioning>  
695 - <compatible>N</compatible>  
696 - <optimizationLevel>9</optimizationLevel>  
697 - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>  
698 - <jsScript_name>Script 1</jsScript_name>  
699 - <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 &#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 &#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 &#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 &#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>  
700 - </jsScript> </jsScripts> <fields> <field> <name>jhlc</name>  
701 - <rename>jhlc</rename>  
702 - <type>String</type>  
703 - <length>-1</length>  
704 - <precision>-1</precision>  
705 - <replace>N</replace>  
706 - </field> <field> <name>bcsj</name>  
707 - <rename>bcsj</rename>  
708 - <type>String</type>  
709 - <length>-1</length>  
710 - <precision>-1</precision>  
711 - <replace>N</replace>  
712 - </field> </fields> <cluster_schema/>  
713 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
714 - <xloc>148</xloc>  
715 - <yloc>674</yloc>  
716 - <draw>Y</draw>  
717 - </GUI>  
718 - </step>  
719 -  
720 - <step>  
721 - <name>&#x5339;&#x914d;&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>  
722 - <type>ScriptValueMod</type>  
723 - <description/>  
724 - <distribute>Y</distribute>  
725 - <custom_distribution/>  
726 - <copies>1</copies>  
727 - <partitioning>  
728 - <method>none</method>  
729 - <schema_name/>  
730 - </partitioning>  
731 - <compatible>N</compatible>  
732 - <optimizationLevel>9</optimizationLevel>  
733 - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>  
734 - <jsScript_name>Script 1</jsScript_name>  
735 - <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>  
736 - </jsScript> </jsScripts> <fields> <field> <name>out_mileage</name>  
737 - <rename>out_mileage</rename>  
738 - <type>String</type>  
739 - <length>-1</length>  
740 - <precision>-1</precision>  
741 - <replace>N</replace>  
742 - </field> <field> <name>out_time</name>  
743 - <rename>out_time</rename>  
744 - <type>String</type>  
745 - <length>-1</length>  
746 - <precision>-1</precision>  
747 - <replace>N</replace>  
748 - </field> </fields> <cluster_schema/>  
749 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
750 - <xloc>336</xloc>  
751 - <yloc>862</yloc>  
752 - <draw>Y</draw>  
753 - </GUI>  
754 - </step>  
755 -  
756 - <step>  
757 - <name>&#x5339;&#x914d;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>  
758 - <type>ScriptValueMod</type>  
759 - <description/>  
760 - <distribute>Y</distribute>  
761 - <custom_distribution/>  
762 - <copies>1</copies>  
763 - <partitioning>  
764 - <method>none</method>  
765 - <schema_name/>  
766 - </partitioning>  
767 - <compatible>N</compatible>  
768 - <optimizationLevel>9</optimizationLevel>  
769 - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>  
770 - <jsScript_name>Script 1</jsScript_name>  
771 - <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>  
772 - </jsScript> </jsScripts> <fields> <field> <name>parade_mileage</name>  
773 - <rename>parade_mileage</rename>  
774 - <type>String</type>  
775 - <length>-1</length>  
776 - <precision>-1</precision>  
777 - <replace>N</replace>  
778 - </field> <field> <name>parade_time</name>  
779 - <rename>parade_time</rename>  
780 - <type>String</type>  
781 - <length>-1</length>  
782 - <precision>-1</precision>  
783 - <replace>N</replace>  
784 - </field> </fields> <cluster_schema/>  
785 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
786 - <xloc>726</xloc>  
787 - <yloc>1005</yloc>  
788 - <draw>Y</draw>  
789 - </GUI>  
790 - </step>  
791 -  
792 - <step>  
793 - <name>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;&#xff0c;&#x7ebf;&#x8def;&#x540d;&#x5b57;&#xff0c;&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</name>  
794 - <type>DataGrid</type>  
795 - <description/>  
796 - <distribute>Y</distribute>  
797 - <custom_distribution/>  
798 - <copies>1</copies>  
799 - <partitioning>  
800 - <method>none</method>  
801 - <schema_name/>  
802 - </partitioning>  
803 - <fields>  
804 - </fields>  
805 - <data>  
806 - <line> </line>  
807 - </data>  
808 - <cluster_schema/>  
809 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
810 - <xloc>110</xloc>  
811 - <yloc>133</yloc>  
812 - <draw>Y</draw>  
813 - </GUI>  
814 - </step>  
815 -  
816 - <step>  
817 - <name>&#x5904;&#x7406;&#x6570;&#x636e;</name>  
818 - <type>ScriptValueMod</type>  
819 - <description/>  
820 - <distribute>Y</distribute>  
821 - <custom_distribution/>  
822 - <copies>1</copies>  
823 - <partitioning>  
824 - <method>none</method>  
825 - <schema_name/>  
826 - </partitioning>  
827 - <compatible>N</compatible>  
828 - <optimizationLevel>9</optimizationLevel>  
829 - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>  
830 - <jsScript_name>Script 1</jsScript_name>  
831 - <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f; &#x4f7f;&#x7528;&#x6b63;&#x5219;&#x8868;&#x8fbe;&#x5f0f;&#x53bb;&#x9664;&#x7ad9;&#x70b9;&#x540d;&#x79f0;&#x4e2d;&#x7684;&#x6570;&#x5b57;&#xa;qdzname &#x3d; qdzname.replace&#x28;&#x2f;&#x5c;d&#x2b;&#x2f;g,&#x27;&#x27;&#x29;&#x3b;&#xa;&#xa;&#x2f;&#x2f; sendtime&#x5904;&#x7406;&#xff0c;hhmm&#xff0c;hh&#x3a;mm&#xff0c;hh,mm&#xa;var sendtime_calcu&#x3b;&#xa;if &#x28;sendtime.length &#x3d;&#x3d; 5&#x29; &#x7b; &#x2f;&#x2f; &#x6700;&#x957f;&#x683c;&#x5f0f;&#xff0c;&#x5305;&#x62ec;&#x5206;&#x9694;&#x7b26;&#xff0c;&#x7edf;&#x4e00;&#x628a;&#x5206;&#x9694;&#x7b26;&#x66ff;&#x6362;&#x6210;&#x5192;&#x53f7;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 2&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;3, 2&#x29;&#x3b;&#xa;&#x7d; else if &#x28;sendtime.length &#x3d;&#x3d; 4&#x29; &#x7b;&#xa; if &#x28;sendtime.indexOf&#x28;&#x22;&#x3a;&#x22;&#x29; &#x3e; 0&#x29; &#x7b; &#x2f;&#x2f; &#x5192;&#x53f7;&#x5206;&#x9694;&#xff0c;&#x65e0;&#x9700;&#x4fee;&#x6539;&#xa; sendtime_calcu &#x3d; sendtime&#x3b;&#xa; &#x7d; else if &#x28;sendtime.indexOf&#x28;&#x22;,&#x22;&#x29; &#x3e; 0&#x29; &#x7b; &#x2f;&#x2f; &#x9017;&#x53f7;&#x5206;&#x9694;&#xff0c;&#x6539;&#x6210;&#x5192;&#x53f7;&#x5206;&#x9694;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 1&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;2, 2&#x29;&#x3b;&#xa; &#x7d; else &#x7b; &#x2f;&#x2f; &#x65e0;&#x5206;&#x9694;&#x7b26;&#xff0c;&#x6539;&#x6210;&#x5192;&#x53f7;&#x5206;&#x9694;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 2&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;2, 2&#x29;&#x3b;&#xa; &#x7d;&#xa;&#x7d; else if &#x28;sendtime.length &#x3d;&#x3d; 3&#x29; &#x7b; &#x2f;&#x2f; &#x65e0;&#x5206;&#x9694;&#x7b26;&#xff0c;&#x6539;&#x6210;&#x5192;&#x53f7;&#x5206;&#x9694;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 1&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;1, 2&#x29;&#x3b;&#xa;&#x7d;&#xa;&#xa;&#x2f;&#x2f; &#x8bbe;&#x7f6e;&#x5206;&#x73ed;&#xa;var isfb &#x3d; 0&#x3b;&#xa;&#xa;&#x2f;&#x2f; &#x8bbe;&#x7f6e;isCanceled&#xa;var iscanceled &#x3d; 0&#x3b;</jsScript_script>  
832 - </jsScript> </jsScripts> <fields> <field> <name>qdzname</name>  
833 - <rename>qdzname</rename>  
834 - <type>String</type>  
835 - <length>-1</length>  
836 - <precision>-1</precision>  
837 - <replace>Y</replace>  
838 - </field> <field> <name>isfb</name>  
839 - <rename>isfb</rename>  
840 - <type>Integer</type>  
841 - <length>-1</length>  
842 - <precision>-1</precision>  
843 - <replace>N</replace>  
844 - </field> <field> <name>iscanceled</name>  
845 - <rename>iscanceled</rename>  
846 - <type>Integer</type>  
847 - <length>-1</length>  
848 - <precision>-1</precision>  
849 - <replace>N</replace>  
850 - </field> <field> <name>sendtime_calcu</name>  
851 - <rename>sendtime_calcu</rename>  
852 - <type>String</type>  
853 - <length>-1</length>  
854 - <precision>-1</precision>  
855 - <replace>N</replace>  
856 - </field> </fields> <cluster_schema/>  
857 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
858 - <xloc>788</xloc>  
859 - <yloc>44</yloc>  
860 - <draw>Y</draw>  
861 - </GUI>  
862 - </step>  
863 -  
864 - <step>  
865 - <name>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</name>  
866 - <type>SelectValues</type>  
867 - <description/>  
868 - <distribute>Y</distribute>  
869 - <custom_distribution/>  
870 - <copies>1</copies>  
871 - <partitioning>  
872 - <method>none</method>  
873 - <schema_name/>  
874 - </partitioning>  
875 - <fields> <field> <name>&#x8def;&#x724c;</name>  
876 - <rename>lp</rename>  
877 - <length>-2</length>  
878 - <precision>-2</precision>  
879 - </field> <field> <name>&#x7ad9;&#x70b9;&#x540d;&#x79f0;</name>  
880 - <rename>qdzname</rename>  
881 - <length>-2</length>  
882 - <precision>-2</precision>  
883 - </field> <field> <name>&#x53d1;&#x8f66;&#x65f6;&#x95f4;</name>  
884 - <rename>sendtime</rename>  
885 - <length>-2</length>  
886 - <precision>-2</precision>  
887 - </field> <select_unspecified>Y</select_unspecified>  
888 - </fields> <cluster_schema/>  
889 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
890 - <xloc>444</xloc>  
891 - <yloc>131</yloc>  
892 - <draw>Y</draw>  
893 - </GUI>  
894 - </step>  
895 -  
896 - <step>  
897 - <name>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;1</name>  
898 - <type>FilterRows</type>  
899 - <description/>  
900 - <distribute>Y</distribute>  
901 - <custom_distribution/>  
902 - <copies>1</copies>  
903 - <partitioning>  
904 - <method>none</method>  
905 - <schema_name/>  
906 - </partitioning>  
907 -<send_true_to>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x6570;&#x636e;</send_true_to>  
908 -<send_false_to>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</send_false_to>  
909 - <compare>  
910 -<condition>  
911 - <negated>N</negated>  
912 - <leftvalue>bctype</leftvalue>  
913 - <function>&#x3d;</function>  
914 - <rightvalue/>  
915 - <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>  
916 - </compare>  
917 - <cluster_schema/>  
918 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
919 - <xloc>860</xloc>  
920 - <yloc>401</yloc>  
921 - <draw>Y</draw>  
922 - </GUI>  
923 - </step>  
924 -  
925 - <step>  
926 - <name>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</name>  
927 - <type>FilterRows</type>  
928 - <description/>  
929 - <distribute>Y</distribute>  
930 - <custom_distribution/>  
931 - <copies>1</copies>  
932 - <partitioning>  
933 - <method>none</method>  
934 - <schema_name/>  
935 - </partitioning>  
936 -<send_true_to>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</send_true_to>  
937 -<send_false_to>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</send_false_to>  
938 - <compare>  
939 -<condition>  
940 - <negated>N</negated>  
941 - <leftvalue>bctype</leftvalue>  
942 - <function>&#x3d;</function>  
943 - <rightvalue/>  
944 - <value><name>constant</name><type>String</type><text>&#x51fa;&#x573a;</text><length>-1</length><precision>-1</precision><isnull>N</isnull><mask/></value> </condition>  
945 - </compare>  
946 - <cluster_schema/>  
947 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
948 - <xloc>995</xloc>  
949 - <yloc>503</yloc>  
950 - <draw>Y</draw>  
951 - </GUI>  
952 - </step>  
953 -  
954 - <step>  
955 - <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail</name>  
956 - <type>InsertUpdate</type>  
957 - <description/>  
958 - <distribute>Y</distribute>  
959 - <custom_distribution/>  
960 - <copies>1</copies>  
961 - <partitioning>  
962 - <method>none</method>  
963 - <schema_name/>  
964 - </partitioning>  
965 - <connection>bus_control_variable</connection>  
966 - <commit>100</commit>  
967 - <update_bypassed>N</update_bypassed>  
968 - <lookup>  
969 - <schema/>  
970 - <table>bsth_c_s_ttinfo_detail</table>  
971 - <key>  
972 - <name>xlid</name>  
973 - <field>xl</field>  
974 - <condition>&#x3d;</condition>  
975 - <name2/>  
976 - </key>  
977 - <key>  
978 - <name>ttid</name>  
979 - <field>ttinfo</field>  
980 - <condition>&#x3d;</condition>  
981 - <name2/>  
982 - </key>  
983 - <key>  
984 - <name>lpid</name>  
985 - <field>lp</field>  
986 - <condition>&#x3d;</condition>  
987 - <name2/>  
988 - </key>  
989 - <key>  
990 - <name>fcno</name>  
991 - <field>fcno</field>  
992 - <condition>&#x3d;</condition>  
993 - <name2/>  
994 - </key>  
995 - <key>  
996 - <name>bcs</name>  
997 - <field>bcs</field>  
998 - <condition>&#x3d;</condition>  
999 - <name2/>  
1000 - </key>  
1001 - <value>  
1002 - <name>lp</name>  
1003 - <rename>lpid</rename>  
1004 - <update>Y</update>  
1005 - </value>  
1006 - <value>  
1007 - <name>bc_type</name>  
1008 - <rename>bctype_code</rename>  
1009 - <update>Y</update>  
1010 - </value>  
1011 - <value>  
1012 - <name>bcs</name>  
1013 - <rename>bcs</rename>  
1014 - <update>Y</update>  
1015 - </value>  
1016 - <value>  
1017 - <name>bcsj</name>  
1018 - <rename>bcsj</rename>  
1019 - <update>Y</update>  
1020 - </value>  
1021 - <value>  
1022 - <name>fcno</name>  
1023 - <rename>fcno</rename>  
1024 - <update>Y</update>  
1025 - </value>  
1026 - <value>  
1027 - <name>jhlc</name>  
1028 - <rename>jhlc</rename>  
1029 - <update>Y</update>  
1030 - </value>  
1031 - <value>  
1032 - <name>fcsj</name>  
1033 - <rename>sendtime_calcu</rename>  
1034 - <update>Y</update>  
1035 - </value>  
1036 - <value>  
1037 - <name>ttinfo</name>  
1038 - <rename>ttid</rename>  
1039 - <update>Y</update>  
1040 - </value>  
1041 - <value>  
1042 - <name>xl</name>  
1043 - <rename>xlid</rename>  
1044 - <update>Y</update>  
1045 - </value>  
1046 - <value>  
1047 - <name>qdz</name>  
1048 - <rename>qdzid</rename>  
1049 - <update>Y</update>  
1050 - </value>  
1051 - <value>  
1052 - <name>zdz</name>  
1053 - <rename>zdzid</rename>  
1054 - <update>Y</update>  
1055 - </value>  
1056 - <value>  
1057 - <name>xl_dir</name>  
1058 - <rename>sxx</rename>  
1059 - <update>Y</update>  
1060 - </value>  
1061 - <value>  
1062 - <name>isfb</name>  
1063 - <rename>isfb</rename>  
1064 - <update>Y</update>  
1065 - </value>  
1066 - <value>  
1067 - <name>qdz_code</name>  
1068 - <rename>qdzcode</rename>  
1069 - <update>Y</update>  
1070 - </value>  
1071 - <value>  
1072 - <name>qdz_name</name>  
1073 - <rename>qdzname</rename>  
1074 - <update>Y</update>  
1075 - </value>  
1076 - <value>  
1077 - <name>zdz_code</name>  
1078 - <rename>zdzcode</rename>  
1079 - <update>Y</update>  
1080 - </value>  
1081 - <value>  
1082 - <name>zdz_name</name>  
1083 - <rename>zdzname</rename>  
1084 - <update>Y</update>  
1085 - </value>  
1086 - </lookup>  
1087 - <cluster_schema/>  
1088 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1089 - <xloc>143</xloc>  
1090 - <yloc>860</yloc>  
1091 - <draw>Y</draw>  
1092 - </GUI>  
1093 - </step>  
1094 -  
1095 - <step>  
1096 - <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail 2</name>  
1097 - <type>InsertUpdate</type>  
1098 - <description/>  
1099 - <distribute>Y</distribute>  
1100 - <custom_distribution/>  
1101 - <copies>1</copies>  
1102 - <partitioning>  
1103 - <method>none</method>  
1104 - <schema_name/>  
1105 - </partitioning>  
1106 - <connection>bus_control_variable</connection>  
1107 - <commit>100</commit>  
1108 - <update_bypassed>N</update_bypassed>  
1109 - <lookup>  
1110 - <schema/>  
1111 - <table>bsth_c_s_ttinfo_detail</table>  
1112 - <key>  
1113 - <name>xlid</name>  
1114 - <field>xl</field>  
1115 - <condition>&#x3d;</condition>  
1116 - <name2/>  
1117 - </key>  
1118 - <key>  
1119 - <name>ttid</name>  
1120 - <field>ttinfo</field>  
1121 - <condition>&#x3d;</condition>  
1122 - <name2/>  
1123 - </key>  
1124 - <key>  
1125 - <name>lpid</name>  
1126 - <field>lp</field>  
1127 - <condition>&#x3d;</condition>  
1128 - <name2/>  
1129 - </key>  
1130 - <key>  
1131 - <name>fcno</name>  
1132 - <field>fcno</field>  
1133 - <condition>&#x3d;</condition>  
1134 - <name2/>  
1135 - </key>  
1136 - <key>  
1137 - <name>bcs</name>  
1138 - <field>bcs</field>  
1139 - <condition>&#x3d;</condition>  
1140 - <name2/>  
1141 - </key>  
1142 - <value>  
1143 - <name>tcc</name>  
1144 - <rename>qdzid</rename>  
1145 - <update>Y</update>  
1146 - </value>  
1147 - <value>  
1148 - <name>zdz</name>  
1149 - <rename>zdzid</rename>  
1150 - <update>Y</update>  
1151 - </value>  
1152 - <value>  
1153 - <name>xl</name>  
1154 - <rename>xlid</rename>  
1155 - <update>Y</update>  
1156 - </value>  
1157 - <value>  
1158 - <name>ttinfo</name>  
1159 - <rename>ttid</rename>  
1160 - <update>Y</update>  
1161 - </value>  
1162 - <value>  
1163 - <name>xl_dir</name>  
1164 - <rename>sxx</rename>  
1165 - <update>Y</update>  
1166 - </value>  
1167 - <value>  
1168 - <name>lp</name>  
1169 - <rename>lpid</rename>  
1170 - <update>Y</update>  
1171 - </value>  
1172 - <value>  
1173 - <name>jhlc</name>  
1174 - <rename>out_mileage</rename>  
1175 - <update>Y</update>  
1176 - </value>  
1177 - <value>  
1178 - <name>fcsj</name>  
1179 - <rename>sendtime_calcu</rename>  
1180 - <update>Y</update>  
1181 - </value>  
1182 - <value>  
1183 - <name>bcsj</name>  
1184 - <rename>out_time</rename>  
1185 - <update>Y</update>  
1186 - </value>  
1187 - <value>  
1188 - <name>bcs</name>  
1189 - <rename>bcs</rename>  
1190 - <update>Y</update>  
1191 - </value>  
1192 - <value>  
1193 - <name>fcno</name>  
1194 - <rename>fcno</rename>  
1195 - <update>Y</update>  
1196 - </value>  
1197 - <value>  
1198 - <name>bc_type</name>  
1199 - <rename>bctype_code</rename>  
1200 - <update>Y</update>  
1201 - </value>  
1202 - <value>  
1203 - <name>isfb</name>  
1204 - <rename>isfb</rename>  
1205 - <update>Y</update>  
1206 - </value>  
1207 - <value>  
1208 - <name>qdz_code</name>  
1209 - <rename>qdzcode</rename>  
1210 - <update>Y</update>  
1211 - </value>  
1212 - <value>  
1213 - <name>qdz_name</name>  
1214 - <rename>tn</rename>  
1215 - <update>Y</update>  
1216 - </value>  
1217 - <value>  
1218 - <name>zdz_code</name>  
1219 - <rename>zdzcode</rename>  
1220 - <update>Y</update>  
1221 - </value>  
1222 - <value>  
1223 - <name>zdz_name</name>  
1224 - <rename>zdzname</rename>  
1225 - <update>Y</update>  
1226 - </value>  
1227 - </lookup>  
1228 - <cluster_schema/>  
1229 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1230 - <xloc>340</xloc>  
1231 - <yloc>1087</yloc>  
1232 - <draw>Y</draw>  
1233 - </GUI>  
1234 - </step>  
1235 -  
1236 - <step>  
1237 - <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail 3</name>  
1238 - <type>InsertUpdate</type>  
1239 - <description/>  
1240 - <distribute>Y</distribute>  
1241 - <custom_distribution/>  
1242 - <copies>1</copies>  
1243 - <partitioning>  
1244 - <method>none</method>  
1245 - <schema_name/>  
1246 - </partitioning>  
1247 - <connection>bus_control_variable</connection>  
1248 - <commit>100</commit>  
1249 - <update_bypassed>N</update_bypassed>  
1250 - <lookup>  
1251 - <schema/>  
1252 - <table>bsth_c_s_ttinfo_detail</table>  
1253 - <key>  
1254 - <name>xlid</name>  
1255 - <field>xl</field>  
1256 - <condition>&#x3d;</condition>  
1257 - <name2/>  
1258 - </key>  
1259 - <key>  
1260 - <name>ttid</name>  
1261 - <field>ttinfo</field>  
1262 - <condition>&#x3d;</condition>  
1263 - <name2/>  
1264 - </key>  
1265 - <key>  
1266 - <name>lpid</name>  
1267 - <field>lp</field>  
1268 - <condition>&#x3d;</condition>  
1269 - <name2/>  
1270 - </key>  
1271 - <key>  
1272 - <name>fcno</name>  
1273 - <field>fcno</field>  
1274 - <condition>&#x3d;</condition>  
1275 - <name2/>  
1276 - </key>  
1277 - <key>  
1278 - <name>bcs</name>  
1279 - <field>bcs</field>  
1280 - <condition>&#x3d;</condition>  
1281 - <name2/>  
1282 - </key>  
1283 - <value>  
1284 - <name>fcno</name>  
1285 - <rename>fcno</rename>  
1286 - <update>Y</update>  
1287 - </value>  
1288 - <value>  
1289 - <name>bcs</name>  
1290 - <rename>bcs</rename>  
1291 - <update>Y</update>  
1292 - </value>  
1293 - <value>  
1294 - <name>xl</name>  
1295 - <rename>xlid</rename>  
1296 - <update>Y</update>  
1297 - </value>  
1298 - <value>  
1299 - <name>ttinfo</name>  
1300 - <rename>ttid</rename>  
1301 - <update>Y</update>  
1302 - </value>  
1303 - <value>  
1304 - <name>lp</name>  
1305 - <rename>lpid</rename>  
1306 - <update>Y</update>  
1307 - </value>  
1308 - <value>  
1309 - <name>bc_type</name>  
1310 - <rename>bctype_code</rename>  
1311 - <update>Y</update>  
1312 - </value>  
1313 - <value>  
1314 - <name>bcsj</name>  
1315 - <rename>parade_time</rename>  
1316 - <update>Y</update>  
1317 - </value>  
1318 - <value>  
1319 - <name>jhlc</name>  
1320 - <rename>parade_mileage</rename>  
1321 - <update>Y</update>  
1322 - </value>  
1323 - <value>  
1324 - <name>fcsj</name>  
1325 - <rename>sendtime_calcu</rename>  
1326 - <update>Y</update>  
1327 - </value>  
1328 - <value>  
1329 - <name>xl_dir</name>  
1330 - <rename>sxx2</rename>  
1331 - <update>Y</update>  
1332 - </value>  
1333 - <value>  
1334 - <name>qdz</name>  
1335 - <rename>qdzid</rename>  
1336 - <update>Y</update>  
1337 - </value>  
1338 - <value>  
1339 - <name>tcc</name>  
1340 - <rename>zdzid</rename>  
1341 - <update>Y</update>  
1342 - </value>  
1343 - <value>  
1344 - <name>isfb</name>  
1345 - <rename>isfb</rename>  
1346 - <update>Y</update>  
1347 - </value>  
1348 - <value>  
1349 - <name>qdz_code</name>  
1350 - <rename>qdzcode</rename>  
1351 - <update>Y</update>  
1352 - </value>  
1353 - <value>  
1354 - <name>qdz_name</name>  
1355 - <rename>qname</rename>  
1356 - <update>Y</update>  
1357 - </value>  
1358 - <value>  
1359 - <name>zdz_code</name>  
1360 - <rename>zdzcode</rename>  
1361 - <update>Y</update>  
1362 - </value>  
1363 - <value>  
1364 - <name>zdz_name</name>  
1365 - <rename>tn</rename>  
1366 - <update>Y</update>  
1367 - </value>  
1368 - </lookup>  
1369 - <cluster_schema/>  
1370 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1371 - <xloc>845</xloc>  
1372 - <yloc>899</yloc>  
1373 - <draw>Y</draw>  
1374 - </GUI>  
1375 - </step>  
1376 -  
1377 - <step>  
1378 - <name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</name>  
1379 - <type>ExcelInput</type>  
1380 - <description/>  
1381 - <distribute>N</distribute>  
1382 - <custom_distribution/>  
1383 - <copies>1</copies>  
1384 - <partitioning>  
1385 - <method>none</method>  
1386 - <schema_name/>  
1387 - </partitioning>  
1388 - <header>Y</header>  
1389 - <noempty>Y</noempty>  
1390 - <stoponempty>N</stoponempty>  
1391 - <filefield/>  
1392 - <sheetfield/>  
1393 - <sheetrownumfield/>  
1394 - <rownumfield/>  
1395 - <sheetfield/>  
1396 - <filefield/>  
1397 - <limit>0</limit>  
1398 - <encoding/>  
1399 - <add_to_result_filenames>Y</add_to_result_filenames>  
1400 - <accept_filenames>N</accept_filenames>  
1401 - <accept_field/>  
1402 - <accept_stepname/>  
1403 - <file>  
1404 - <name/>  
1405 - <filemask/>  
1406 - <exclude_filemask/>  
1407 - <file_required>N</file_required>  
1408 - <include_subfolders>N</include_subfolders>  
1409 - </file>  
1410 - <fields>  
1411 - </fields>  
1412 - <sheets>  
1413 - <sheet>  
1414 - <name/>  
1415 - <startrow>0</startrow>  
1416 - <startcol>0</startcol>  
1417 - </sheet>  
1418 - </sheets>  
1419 - <strict_types>N</strict_types>  
1420 - <error_ignored>N</error_ignored>  
1421 - <error_line_skipped>N</error_line_skipped>  
1422 - <bad_line_files_destination_directory/>  
1423 - <bad_line_files_extension>warning</bad_line_files_extension>  
1424 - <error_line_files_destination_directory/>  
1425 - <error_line_files_extension>error</error_line_files_extension>  
1426 - <line_number_files_destination_directory/>  
1427 - <line_number_files_extension>line</line_number_files_extension>  
1428 - <shortFileFieldName/>  
1429 - <pathFieldName/>  
1430 - <hiddenFieldName/>  
1431 - <lastModificationTimeFieldName/>  
1432 - <uriNameFieldName/>  
1433 - <rootUriNameFieldName/>  
1434 - <extensionFieldName/>  
1435 - <sizeFieldName/>  
1436 - <spreadsheet_type>JXL</spreadsheet_type>  
1437 - <cluster_schema/>  
1438 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1439 - <xloc>112</xloc>  
1440 - <yloc>44</yloc>  
1441 - <draw>Y</draw>  
1442 - </GUI>  
1443 - </step>  
1444 -  
1445 - <step>  
1446 - <name>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;1</name>  
1447 - <type>DBLookup</type>  
1448 - <description/>  
1449 - <distribute>Y</distribute>  
1450 - <custom_distribution/>  
1451 - <copies>1</copies>  
1452 - <partitioning>  
1453 - <method>none</method>  
1454 - <schema_name/>  
1455 - </partitioning>  
1456 - <connection>bus_control_variable</connection>  
1457 - <cache>N</cache>  
1458 - <cache_load_all>N</cache_load_all>  
1459 - <cache_size>0</cache_size>  
1460 - <lookup>  
1461 - <schema/>  
1462 - <table>bsth_c_car_park</table>  
1463 - <orderby/>  
1464 - <fail_on_multiple>N</fail_on_multiple>  
1465 - <eat_row_on_failure>N</eat_row_on_failure>  
1466 - <key>  
1467 - <name>tccname_</name>  
1468 - <field>park_name</field>  
1469 - <condition>&#x3d;</condition>  
1470 - <name2/>  
1471 - </key>  
1472 - <value>  
1473 - <name>id</name>  
1474 - <rename>qdzid</rename>  
1475 - <default/>  
1476 - <type>Integer</type>  
1477 - </value>  
1478 - <value>  
1479 - <name>park_code</name>  
1480 - <rename>qdzcode</rename>  
1481 - <default/>  
1482 - <type>String</type>  
1483 - </value>  
1484 - <value>  
1485 - <name>park_name</name>  
1486 - <rename>tn</rename>  
1487 - <default/>  
1488 - <type>String</type>  
1489 - </value>  
1490 - </lookup>  
1491 - <cluster_schema/>  
1492 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1493 - <xloc>755</xloc>  
1494 - <yloc>504</yloc>  
1495 - <draw>Y</draw>  
1496 - </GUI>  
1497 - </step>  
1498 -  
1499 - <step>  
1500 - <name>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;2</name>  
1501 - <type>DBLookup</type>  
1502 - <description/>  
1503 - <distribute>Y</distribute>  
1504 - <custom_distribution/>  
1505 - <copies>1</copies>  
1506 - <partitioning>  
1507 - <method>none</method>  
1508 - <schema_name/>  
1509 - </partitioning>  
1510 - <connection>bus_control_variable</connection>  
1511 - <cache>N</cache>  
1512 - <cache_load_all>N</cache_load_all>  
1513 - <cache_size>0</cache_size>  
1514 - <lookup>  
1515 - <schema/>  
1516 - <table>bsth_c_car_park</table>  
1517 - <orderby/>  
1518 - <fail_on_multiple>N</fail_on_multiple>  
1519 - <eat_row_on_failure>N</eat_row_on_failure>  
1520 - <key>  
1521 - <name>tccname_</name>  
1522 - <field>park_name</field>  
1523 - <condition>&#x3d;</condition>  
1524 - <name2/>  
1525 - </key>  
1526 - <value>  
1527 - <name>id</name>  
1528 - <rename>zdzid</rename>  
1529 - <default/>  
1530 - <type>Integer</type>  
1531 - </value>  
1532 - <value>  
1533 - <name>park_code</name>  
1534 - <rename>zdzcode</rename>  
1535 - <default/>  
1536 - <type>String</type>  
1537 - </value>  
1538 - <value>  
1539 - <name>park_name</name>  
1540 - <rename>tn</rename>  
1541 - <default/>  
1542 - <type>String</type>  
1543 - </value>  
1544 - </lookup>  
1545 - <cluster_schema/>  
1546 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1547 - <xloc>887</xloc>  
1548 - <yloc>608</yloc>  
1549 - <draw>Y</draw>  
1550 - </GUI>  
1551 - </step>  
1552 -  
1553 - <step>  
1554 - <name>&#x67e5;&#x627e;&#x51fa;&#x573a;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</name>  
1555 - <type>DBLookup</type>  
1556 - <description/>  
1557 - <distribute>Y</distribute>  
1558 - <custom_distribution/>  
1559 - <copies>1</copies>  
1560 - <partitioning>  
1561 - <method>none</method>  
1562 - <schema_name/>  
1563 - </partitioning>  
1564 - <connection>bus_control_variable</connection>  
1565 - <cache>N</cache>  
1566 - <cache_load_all>N</cache_load_all>  
1567 - <cache_size>0</cache_size>  
1568 - <lookup>  
1569 - <schema/>  
1570 - <table>bsth_c_stationroute</table>  
1571 - <orderby/>  
1572 - <fail_on_multiple>N</fail_on_multiple>  
1573 - <eat_row_on_failure>N</eat_row_on_failure>  
1574 - <key>  
1575 - <name>xlid</name>  
1576 - <field>line</field>  
1577 - <condition>&#x3d;</condition>  
1578 - <name2/>  
1579 - </key>  
1580 - <key>  
1581 - <name>zdzname</name>  
1582 - <field>station_name</field>  
1583 - <condition>&#x3d;</condition>  
1584 - <name2/>  
1585 - </key>  
1586 - <key>  
1587 - <name>endZdtype</name>  
1588 - <field>station_mark</field>  
1589 - <condition>&#x3d;</condition>  
1590 - <name2/>  
1591 - </key>  
1592 - <key>  
1593 - <name>destory</name>  
1594 - <field>destroy</field>  
1595 - <condition>&#x3d;</condition>  
1596 - <name2/>  
1597 - </key>  
1598 - <value>  
1599 - <name>station</name>  
1600 - <rename>zdzid</rename>  
1601 - <default/>  
1602 - <type>Integer</type>  
1603 - </value>  
1604 - <value>  
1605 - <name>directions</name>  
1606 - <rename>sxx</rename>  
1607 - <default/>  
1608 - <type>Integer</type>  
1609 - </value>  
1610 - <value>  
1611 - <name>station_code</name>  
1612 - <rename>zdzcode</rename>  
1613 - <default/>  
1614 - <type>String</type>  
1615 - </value>  
1616 - </lookup>  
1617 - <cluster_schema/>  
1618 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1619 - <xloc>329</xloc>  
1620 - <yloc>505</yloc>  
1621 - <draw>Y</draw>  
1622 - </GUI>  
1623 - </step>  
1624 -  
1625 - <step>  
1626 - <name>&#x67e5;&#x627e;&#x6240;&#x6709;&#x7ebf;&#x8def;&#x4e0a;&#x4e0b;&#x884c;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>  
1627 - <type>DBLookup</type>  
1628 - <description/>  
1629 - <distribute>Y</distribute>  
1630 - <custom_distribution/>  
1631 - <copies>1</copies>  
1632 - <partitioning>  
1633 - <method>none</method>  
1634 - <schema_name/>  
1635 - </partitioning>  
1636 - <connection>bus_control_variable</connection>  
1637 - <cache>N</cache>  
1638 - <cache_load_all>N</cache_load_all>  
1639 - <cache_size>0</cache_size>  
1640 - <lookup>  
1641 - <schema/>  
1642 - <table>bsth_c_line_information</table>  
1643 - <orderby/>  
1644 - <fail_on_multiple>N</fail_on_multiple>  
1645 - <eat_row_on_failure>N</eat_row_on_failure>  
1646 - <key>  
1647 - <name>xlid</name>  
1648 - <field>line</field>  
1649 - <condition>&#x3d;</condition>  
1650 - <name2/>  
1651 - </key>  
1652 - <value>  
1653 - <name>up_mileage</name>  
1654 - <rename>up_mileage</rename>  
1655 - <default/>  
1656 - <type>Number</type>  
1657 - </value>  
1658 - <value>  
1659 - <name>down_mileage</name>  
1660 - <rename>down_mileage</rename>  
1661 - <default/>  
1662 - <type>Number</type>  
1663 - </value>  
1664 - <value>  
1665 - <name>up_travel_time</name>  
1666 - <rename>up_travel_time</rename>  
1667 - <default/>  
1668 - <type>Number</type>  
1669 - </value>  
1670 - <value>  
1671 - <name>down_travel_time</name>  
1672 - <rename>down_travel_time</rename>  
1673 - <default/>  
1674 - <type>Number</type>  
1675 - </value>  
1676 - <value>  
1677 - <name>early_start_time</name>  
1678 - <rename>early_start_time</rename>  
1679 - <default/>  
1680 - <type>String</type>  
1681 - </value>  
1682 - <value>  
1683 - <name>early_end_time</name>  
1684 - <rename>early_end_time</rename>  
1685 - <default/>  
1686 - <type>String</type>  
1687 - </value>  
1688 - <value>  
1689 - <name>early_up_time</name>  
1690 - <rename>early_up_time</rename>  
1691 - <default/>  
1692 - <type>Number</type>  
1693 - </value>  
1694 - <value>  
1695 - <name>early_down_time</name>  
1696 - <rename>early_down_time</rename>  
1697 - <default/>  
1698 - <type>Number</type>  
1699 - </value>  
1700 - <value>  
1701 - <name>late_start_time</name>  
1702 - <rename>late_start_time</rename>  
1703 - <default/>  
1704 - <type>String</type>  
1705 - </value>  
1706 - <value>  
1707 - <name>late_end_time</name>  
1708 - <rename>late_end_time</rename>  
1709 - <default/>  
1710 - <type>String</type>  
1711 - </value>  
1712 - <value>  
1713 - <name>late_up_time</name>  
1714 - <rename>late_up_time</rename>  
1715 - <default/>  
1716 - <type>Number</type>  
1717 - </value>  
1718 - <value>  
1719 - <name>late_down_time</name>  
1720 - <rename>late_down_time</rename>  
1721 - <default/>  
1722 - <type>Number</type>  
1723 - </value>  
1724 - </lookup>  
1725 - <cluster_schema/>  
1726 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1727 - <xloc>149</xloc>  
1728 - <yloc>581</yloc>  
1729 - <draw>Y</draw>  
1730 - </GUI>  
1731 - </step>  
1732 -  
1733 - <step>  
1734 - <name>&#x67e5;&#x627e;&#x65f6;&#x523b;&#x8868;&#x57fa;&#x7840;&#x4fe1;&#x606f;&#x5173;&#x8054;</name>  
1735 - <type>DBLookup</type>  
1736 - <description/>  
1737 - <distribute>Y</distribute>  
1738 - <custom_distribution/>  
1739 - <copies>1</copies>  
1740 - <partitioning>  
1741 - <method>none</method>  
1742 - <schema_name/>  
1743 - </partitioning>  
1744 - <connection>bus_control_variable</connection>  
1745 - <cache>N</cache>  
1746 - <cache_load_all>N</cache_load_all>  
1747 - <cache_size>0</cache_size>  
1748 - <lookup>  
1749 - <schema/>  
1750 - <table>bsth_c_s_ttinfo</table>  
1751 - <orderby/>  
1752 - <fail_on_multiple>N</fail_on_multiple>  
1753 - <eat_row_on_failure>N</eat_row_on_failure>  
1754 - <key>  
1755 - <name>xlid</name>  
1756 - <field>xl</field>  
1757 - <condition>&#x3d;</condition>  
1758 - <name2/>  
1759 - </key>  
1760 - <key>  
1761 - <name>ttinfoname_</name>  
1762 - <field>name</field>  
1763 - <condition>&#x3d;</condition>  
1764 - <name2/>  
1765 - </key>  
1766 - <key>  
1767 - <name>iscanceled</name>  
1768 - <field>is_cancel</field>  
1769 - <condition>&#x3d;</condition>  
1770 - <name2/>  
1771 - </key>  
1772 - <value>  
1773 - <name>id</name>  
1774 - <rename>ttid</rename>  
1775 - <default/>  
1776 - <type>Integer</type>  
1777 - </value>  
1778 - </lookup>  
1779 - <cluster_schema/>  
1780 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1781 - <xloc>1011</xloc>  
1782 - <yloc>134</yloc>  
1783 - <draw>Y</draw>  
1784 - </GUI>  
1785 - </step>  
1786 -  
1787 - <step>  
1788 - <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x5173;&#x8054;</name>  
1789 - <type>DBLookup</type>  
1790 - <description/>  
1791 - <distribute>Y</distribute>  
1792 - <custom_distribution/>  
1793 - <copies>1</copies>  
1794 - <partitioning>  
1795 - <method>none</method>  
1796 - <schema_name/>  
1797 - </partitioning>  
1798 - <connection>bus_control_variable</connection>  
1799 - <cache>N</cache>  
1800 - <cache_load_all>N</cache_load_all>  
1801 - <cache_size>0</cache_size>  
1802 - <lookup>  
1803 - <schema/>  
1804 - <table>bsth_c_line</table>  
1805 - <orderby/>  
1806 - <fail_on_multiple>N</fail_on_multiple>  
1807 - <eat_row_on_failure>N</eat_row_on_failure>  
1808 - <key>  
1809 - <name>xlname_</name>  
1810 - <field>name</field>  
1811 - <condition>&#x3d;</condition>  
1812 - <name2/>  
1813 - </key>  
1814 - <key>  
1815 - <name>iscanceled</name>  
1816 - <field>destroy</field>  
1817 - <condition>&#x3d;</condition>  
1818 - <name2/>  
1819 - </key>  
1820 - <value>  
1821 - <name>id</name>  
1822 - <rename>xlid</rename>  
1823 - <default/>  
1824 - <type>Integer</type>  
1825 - </value>  
1826 - </lookup>  
1827 - <cluster_schema/>  
1828 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1829 - <xloc>1007</xloc>  
1830 - <yloc>43</yloc>  
1831 - <draw>Y</draw>  
1832 - </GUI>  
1833 - </step>  
1834 -  
1835 - <step>  
1836 - <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x51fa;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>  
1837 - <type>DBLookup</type>  
1838 - <description/>  
1839 - <distribute>Y</distribute>  
1840 - <custom_distribution/>  
1841 - <copies>1</copies>  
1842 - <partitioning>  
1843 - <method>none</method>  
1844 - <schema_name/>  
1845 - </partitioning>  
1846 - <connection>bus_control_variable</connection>  
1847 - <cache>N</cache>  
1848 - <cache_load_all>N</cache_load_all>  
1849 - <cache_size>0</cache_size>  
1850 - <lookup>  
1851 - <schema/>  
1852 - <table>bsth_c_line_information</table>  
1853 - <orderby/>  
1854 - <fail_on_multiple>N</fail_on_multiple>  
1855 - <eat_row_on_failure>N</eat_row_on_failure>  
1856 - <key>  
1857 - <name>xlid</name>  
1858 - <field>line</field>  
1859 - <condition>&#x3d;</condition>  
1860 - <name2/>  
1861 - </key>  
1862 - <value>  
1863 - <name>up_out_timer</name>  
1864 - <rename>up_out_timer</rename>  
1865 - <default/>  
1866 - <type>Number</type>  
1867 - </value>  
1868 - <value>  
1869 - <name>up_out_mileage</name>  
1870 - <rename>up_out_mileage</rename>  
1871 - <default/>  
1872 - <type>Number</type>  
1873 - </value>  
1874 - <value>  
1875 - <name>down_out_timer</name>  
1876 - <rename>down_out_timer</rename>  
1877 - <default/>  
1878 - <type>Number</type>  
1879 - </value>  
1880 - <value>  
1881 - <name>down_out_mileage</name>  
1882 - <rename>down_out_mileage</rename>  
1883 - <default/>  
1884 - <type>Number</type>  
1885 - </value>  
1886 - </lookup>  
1887 - <cluster_schema/>  
1888 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1889 - <xloc>335</xloc>  
1890 - <yloc>763</yloc>  
1891 - <draw>Y</draw>  
1892 - </GUI>  
1893 - </step>  
1894 -  
1895 - <step>  
1896 - <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x8fdb;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>  
1897 - <type>DBLookup</type>  
1898 - <description/>  
1899 - <distribute>Y</distribute>  
1900 - <custom_distribution/>  
1901 - <copies>1</copies>  
1902 - <partitioning>  
1903 - <method>none</method>  
1904 - <schema_name/>  
1905 - </partitioning>  
1906 - <connection>bus_control_variable</connection>  
1907 - <cache>N</cache>  
1908 - <cache_load_all>N</cache_load_all>  
1909 - <cache_size>0</cache_size>  
1910 - <lookup>  
1911 - <schema/>  
1912 - <table>bsth_c_line_information</table>  
1913 - <orderby/>  
1914 - <fail_on_multiple>N</fail_on_multiple>  
1915 - <eat_row_on_failure>N</eat_row_on_failure>  
1916 - <key>  
1917 - <name>xlid</name>  
1918 - <field>line</field>  
1919 - <condition>&#x3d;</condition>  
1920 - <name2/>  
1921 - </key>  
1922 - <value>  
1923 - <name>up_in_mileage</name>  
1924 - <rename>up_in_mileage</rename>  
1925 - <default/>  
1926 - <type>Number</type>  
1927 - </value>  
1928 - <value>  
1929 - <name>up_in_timer</name>  
1930 - <rename>up_in_timer</rename>  
1931 - <default/>  
1932 - <type>Number</type>  
1933 - </value>  
1934 - <value>  
1935 - <name>down_in_mileage</name>  
1936 - <rename>down_in_mileage</rename>  
1937 - <default/>  
1938 - <type>Number</type>  
1939 - </value>  
1940 - <value>  
1941 - <name>down_in_timer</name>  
1942 - <rename>down_in_timer</rename>  
1943 - <default/>  
1944 - <type>Number</type>  
1945 - </value>  
1946 - </lookup>  
1947 - <cluster_schema/>  
1948 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1949 - <xloc>553</xloc>  
1950 - <yloc>1004</yloc>  
1951 - <draw>Y</draw>  
1952 - </GUI>  
1953 - </step>  
1954 -  
1955 - <step>  
1956 - <name>&#x67e5;&#x627e;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;</name>  
1957 - <type>DBLookup</type>  
1958 - <description/>  
1959 - <distribute>Y</distribute>  
1960 - <custom_distribution/>  
1961 - <copies>1</copies>  
1962 - <partitioning>  
1963 - <method>none</method>  
1964 - <schema_name/>  
1965 - </partitioning>  
1966 - <connection>bus_control_variable</connection>  
1967 - <cache>N</cache>  
1968 - <cache_load_all>N</cache_load_all>  
1969 - <cache_size>0</cache_size>  
1970 - <lookup>  
1971 - <schema/>  
1972 - <table>bsth_c_stationroute</table>  
1973 - <orderby/>  
1974 - <fail_on_multiple>N</fail_on_multiple>  
1975 - <eat_row_on_failure>N</eat_row_on_failure>  
1976 - <key>  
1977 - <name>xlid</name>  
1978 - <field>line</field>  
1979 - <condition>&#x3d;</condition>  
1980 - <name2/>  
1981 - </key>  
1982 - <key>  
1983 - <name>sxx</name>  
1984 - <field>directions</field>  
1985 - <condition>&#x3d;</condition>  
1986 - <name2/>  
1987 - </key>  
1988 - <key>  
1989 - <name>endZdtype</name>  
1990 - <field>station_mark</field>  
1991 - <condition>&#x3d;</condition>  
1992 - <name2/>  
1993 - </key>  
1994 - <key>  
1995 - <name>destory</name>  
1996 - <field>destroy</field>  
1997 - <condition>&#x3d;</condition>  
1998 - <name2/>  
1999 - </key>  
2000 - <value>  
2001 - <name>station_name</name>  
2002 - <rename>zdzname</rename>  
2003 - <default/>  
2004 - <type>String</type>  
2005 - </value>  
2006 - <value>  
2007 - <name>station</name>  
2008 - <rename>zdzid</rename>  
2009 - <default/>  
2010 - <type>Integer</type>  
2011 - </value>  
2012 - <value>  
2013 - <name>station_code</name>  
2014 - <rename>zdzcode</rename>  
2015 - <default/>  
2016 - <type>String</type>  
2017 - </value>  
2018 - </lookup>  
2019 - <cluster_schema/>  
2020 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2021 - <xloc>280</xloc>  
2022 - <yloc>404</yloc>  
2023 - <draw>Y</draw>  
2024 - </GUI>  
2025 - </step>  
2026 -  
2027 - <step>  
2028 - <name>&#x67e5;&#x627e;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</name>  
2029 - <type>DBLookup</type>  
2030 - <description/>  
2031 - <distribute>Y</distribute>  
2032 - <custom_distribution/>  
2033 - <copies>1</copies>  
2034 - <partitioning>  
2035 - <method>none</method>  
2036 - <schema_name/>  
2037 - </partitioning>  
2038 - <connection>bus_control_variable</connection>  
2039 - <cache>N</cache>  
2040 - <cache_load_all>N</cache_load_all>  
2041 - <cache_size>0</cache_size>  
2042 - <lookup>  
2043 - <schema/>  
2044 - <table>bsth_c_stationroute</table>  
2045 - <orderby/>  
2046 - <fail_on_multiple>N</fail_on_multiple>  
2047 - <eat_row_on_failure>N</eat_row_on_failure>  
2048 - <key>  
2049 - <name>xlid</name>  
2050 - <field>line</field>  
2051 - <condition>&#x3d;</condition>  
2052 - <name2/>  
2053 - </key>  
2054 - <key>  
2055 - <name>qdzname</name>  
2056 - <field>station_name</field>  
2057 - <condition>&#x3d;</condition>  
2058 - <name2/>  
2059 - </key>  
2060 - <key>  
2061 - <name>sendZdtype</name>  
2062 - <field>station_mark</field>  
2063 - <condition>&#x3d;</condition>  
2064 - <name2/>  
2065 - </key>  
2066 - <key>  
2067 - <name>destory</name>  
2068 - <field>destroy</field>  
2069 - <condition>&#x3d;</condition>  
2070 - <name2/>  
2071 - </key>  
2072 - <value>  
2073 - <name>station</name>  
2074 - <rename>qdzid</rename>  
2075 - <default/>  
2076 - <type>Integer</type>  
2077 - </value>  
2078 - <value>  
2079 - <name>directions</name>  
2080 - <rename>sxx</rename>  
2081 - <default/>  
2082 - <type>Integer</type>  
2083 - </value>  
2084 - <value>  
2085 - <name>station_code</name>  
2086 - <rename>qdzcode</rename>  
2087 - <default/>  
2088 - <type>String</type>  
2089 - </value>  
2090 - </lookup>  
2091 - <cluster_schema/>  
2092 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2093 - <xloc>430</xloc>  
2094 - <yloc>403</yloc>  
2095 - <draw>Y</draw>  
2096 - </GUI>  
2097 - </step>  
2098 -  
2099 - <step>  
2100 - <name>&#x67e5;&#x627e;&#x8def;&#x724c;&#x5173;&#x8054;</name>  
2101 - <type>DBLookup</type>  
2102 - <description/>  
2103 - <distribute>Y</distribute>  
2104 - <custom_distribution/>  
2105 - <copies>1</copies>  
2106 - <partitioning>  
2107 - <method>none</method>  
2108 - <schema_name/>  
2109 - </partitioning>  
2110 - <connection>bus_control_variable</connection>  
2111 - <cache>N</cache>  
2112 - <cache_load_all>N</cache_load_all>  
2113 - <cache_size>0</cache_size>  
2114 - <lookup>  
2115 - <schema/>  
2116 - <table>bsth_c_s_gbi</table>  
2117 - <orderby/>  
2118 - <fail_on_multiple>N</fail_on_multiple>  
2119 - <eat_row_on_failure>N</eat_row_on_failure>  
2120 - <key>  
2121 - <name>xlid</name>  
2122 - <field>xl</field>  
2123 - <condition>&#x3d;</condition>  
2124 - <name2/>  
2125 - </key>  
2126 - <key>  
2127 - <name>lp</name>  
2128 - <field>lp_name</field>  
2129 - <condition>&#x3d;</condition>  
2130 - <name2/>  
2131 - </key>  
2132 - <key>  
2133 - <name>iscanceled</name>  
2134 - <field>is_cancel</field>  
2135 - <condition>&#x3d;</condition>  
2136 - <name2/>  
2137 - </key>  
2138 - <value>  
2139 - <name>id</name>  
2140 - <rename>lpid</rename>  
2141 - <default/>  
2142 - <type>Integer</type>  
2143 - </value>  
2144 - </lookup>  
2145 - <cluster_schema/>  
2146 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2147 - <xloc>1013</xloc>  
2148 - <yloc>265</yloc>  
2149 - <draw>Y</draw>  
2150 - </GUI>  
2151 - </step>  
2152 -  
2153 - <step>  
2154 - <name>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ebf;&#x8def;&#x65b9;&#x5411;</name>  
2155 - <type>DBLookup</type>  
2156 - <description/>  
2157 - <distribute>Y</distribute>  
2158 - <custom_distribution/>  
2159 - <copies>1</copies>  
2160 - <partitioning>  
2161 - <method>none</method>  
2162 - <schema_name/>  
2163 - </partitioning>  
2164 - <connection>bus_control_variable</connection>  
2165 - <cache>N</cache>  
2166 - <cache_load_all>N</cache_load_all>  
2167 - <cache_size>0</cache_size>  
2168 - <lookup>  
2169 - <schema/>  
2170 - <table>bsth_c_stationroute</table>  
2171 - <orderby/>  
2172 - <fail_on_multiple>N</fail_on_multiple>  
2173 - <eat_row_on_failure>N</eat_row_on_failure>  
2174 - <key>  
2175 - <name>xlid</name>  
2176 - <field>line</field>  
2177 - <condition>&#x3d;</condition>  
2178 - <name2/>  
2179 - </key>  
2180 - <key>  
2181 - <name>startZdtype_calcu</name>  
2182 - <field>station_mark</field>  
2183 - <condition>&#x3d;</condition>  
2184 - <name2/>  
2185 - </key>  
2186 - <key>  
2187 - <name>qdzname_calcu</name>  
2188 - <field>station_name</field>  
2189 - <condition>&#x3d;</condition>  
2190 - <name2/>  
2191 - </key>  
2192 - <key>  
2193 - <name>destory</name>  
2194 - <field>destroy</field>  
2195 - <condition>&#x3d;</condition>  
2196 - <name2/>  
2197 - </key>  
2198 - <value>  
2199 - <name>directions</name>  
2200 - <rename>sxx</rename>  
2201 - <default/>  
2202 - <type>String</type>  
2203 - </value>  
2204 - </lookup>  
2205 - <cluster_schema/>  
2206 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2207 - <xloc>548</xloc>  
2208 - <yloc>610</yloc>  
2209 - <draw>Y</draw>  
2210 - </GUI>  
2211 - </step>  
2212 -  
2213 - <step>  
2214 - <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>  
2215 - <type>DBLookup</type>  
2216 - <description/>  
2217 - <distribute>Y</distribute>  
2218 - <custom_distribution/>  
2219 - <copies>1</copies>  
2220 - <partitioning>  
2221 - <method>none</method>  
2222 - <schema_name/>  
2223 - </partitioning>  
2224 - <connection>bus_control_variable</connection>  
2225 - <cache>Y</cache>  
2226 - <cache_load_all>Y</cache_load_all>  
2227 - <cache_size>0</cache_size>  
2228 - <lookup>  
2229 - <schema/>  
2230 - <table>bsth_c_stationroute</table>  
2231 - <orderby/>  
2232 - <fail_on_multiple>N</fail_on_multiple>  
2233 - <eat_row_on_failure>N</eat_row_on_failure>  
2234 - <key>  
2235 - <name>xlid</name>  
2236 - <field>line</field>  
2237 - <condition>&#x3d;</condition>  
2238 - <name2/>  
2239 - </key>  
2240 - <key>  
2241 - <name>endZdtype_calcu</name>  
2242 - <field>station_mark</field>  
2243 - <condition>&#x3d;</condition>  
2244 - <name2/>  
2245 - </key>  
2246 - <key>  
2247 - <name>sxx</name>  
2248 - <field>directions</field>  
2249 - <condition>&#x3d;</condition>  
2250 - <name2/>  
2251 - </key>  
2252 - <key>  
2253 - <name>destory</name>  
2254 - <field>destroy</field>  
2255 - <condition>&#x3d;</condition>  
2256 - <name2/>  
2257 - </key>  
2258 - <value>  
2259 - <name>station_name</name>  
2260 - <rename>zdzname_calcu</rename>  
2261 - <default/>  
2262 - <type>Integer</type>  
2263 - </value>  
2264 - </lookup>  
2265 - <cluster_schema/>  
2266 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2267 - <xloc>550</xloc>  
2268 - <yloc>701</yloc>  
2269 - <draw>Y</draw>  
2270 - </GUI>  
2271 - </step>  
2272 -  
2273 - <step>  
2274 - <name>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</name>  
2275 - <type>DBLookup</type>  
2276 - <description/>  
2277 - <distribute>Y</distribute>  
2278 - <custom_distribution/>  
2279 - <copies>1</copies>  
2280 - <partitioning>  
2281 - <method>none</method>  
2282 - <schema_name/>  
2283 - </partitioning>  
2284 - <connection>bus_control_variable</connection>  
2285 - <cache>N</cache>  
2286 - <cache_load_all>N</cache_load_all>  
2287 - <cache_size>0</cache_size>  
2288 - <lookup>  
2289 - <schema/>  
2290 - <table>bsth_c_stationroute</table>  
2291 - <orderby/>  
2292 - <fail_on_multiple>N</fail_on_multiple>  
2293 - <eat_row_on_failure>N</eat_row_on_failure>  
2294 - <key>  
2295 - <name>xlid</name>  
2296 - <field>line</field>  
2297 - <condition>&#x3d;</condition>  
2298 - <name2/>  
2299 - </key>  
2300 - <key>  
2301 - <name>zdzname_calcu</name>  
2302 - <field>station_name</field>  
2303 - <condition>&#x3d;</condition>  
2304 - <name2/>  
2305 - </key>  
2306 - <key>  
2307 - <name>startZdtype_calcu</name>  
2308 - <field>station_mark</field>  
2309 - <condition>&#x3d;</condition>  
2310 - <name2/>  
2311 - </key>  
2312 - <key>  
2313 - <name>destory</name>  
2314 - <field>destroy</field>  
2315 - <condition>&#x3d;</condition>  
2316 - <name2/>  
2317 - </key>  
2318 - <value>  
2319 - <name>directions</name>  
2320 - <rename>sxx2</rename>  
2321 - <default/>  
2322 - <type>Integer</type>  
2323 - </value>  
2324 - <value>  
2325 - <name>station</name>  
2326 - <rename>qdzid</rename>  
2327 - <default/>  
2328 - <type>Integer</type>  
2329 - </value>  
2330 - <value>  
2331 - <name>station_code</name>  
2332 - <rename>qdzcode</rename>  
2333 - <default/>  
2334 - <type>String</type>  
2335 - </value>  
2336 - <value>  
2337 - <name>station_name</name>  
2338 - <rename>qname</rename>  
2339 - <default/>  
2340 - <type>String</type>  
2341 - </value>  
2342 - </lookup>  
2343 - <cluster_schema/>  
2344 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2345 - <xloc>551</xloc>  
2346 - <yloc>782</yloc>  
2347 - <draw>Y</draw>  
2348 - </GUI>  
2349 - </step>  
2350 -  
2351 - <step>  
2352 - <name>&#x6b63;&#x5e38;&#x73ed;&#x6b21;_&#x5904;&#x7406;&#x6570;&#x636e;</name>  
2353 - <type>ScriptValueMod</type>  
2354 - <description/>  
2355 - <distribute>Y</distribute>  
2356 - <custom_distribution/>  
2357 - <copies>1</copies>  
2358 - <partitioning>  
2359 - <method>none</method>  
2360 - <schema_name/>  
2361 - </partitioning>  
2362 - <compatible>N</compatible>  
2363 - <optimizationLevel>9</optimizationLevel>  
2364 - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>  
2365 - <jsScript_name>Script 1</jsScript_name>  
2366 - <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>  
2367 - </jsScript> </jsScripts> <fields> <field> <name>sendZdtype</name>  
2368 - <rename>sendZdtype</rename>  
2369 - <type>String</type>  
2370 - <length>-1</length>  
2371 - <precision>-1</precision>  
2372 - <replace>N</replace>  
2373 - </field> <field> <name>endZdtype</name>  
2374 - <rename>endZdtype</rename>  
2375 - <type>String</type>  
2376 - <length>-1</length>  
2377 - <precision>-1</precision>  
2378 - <replace>N</replace>  
2379 - </field> <field> <name>destory</name>  
2380 - <rename>destory</rename>  
2381 - <type>Integer</type>  
2382 - <length>-1</length>  
2383 - <precision>-1</precision>  
2384 - <replace>N</replace>  
2385 - </field> </fields> <cluster_schema/>  
2386 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2387 - <xloc>588</xloc>  
2388 - <yloc>403</yloc>  
2389 - <draw>Y</draw>  
2390 - </GUI>  
2391 - </step>  
2392 -  
2393 - <step>  
2394 - <name>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x6570;&#x636e;</name>  
2395 - <type>Dummy</type>  
2396 - <description/>  
2397 - <distribute>Y</distribute>  
2398 - <custom_distribution/>  
2399 - <copies>1</copies>  
2400 - <partitioning>  
2401 - <method>none</method>  
2402 - <schema_name/>  
2403 - </partitioning>  
2404 - <cluster_schema/>  
2405 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2406 - <xloc>725</xloc>  
2407 - <yloc>404</yloc>  
2408 - <draw>Y</draw>  
2409 - </GUI>  
2410 - </step>  
2411 -  
2412 - <step>  
2413 - <name>&#x6dfb;&#x52a0;&#x53d1;&#x8f66;&#x987a;&#x5e8f;&#x53f7;</name>  
2414 - <type>GroupBy</type>  
2415 - <description/>  
2416 - <distribute>Y</distribute>  
2417 - <custom_distribution/>  
2418 - <copies>1</copies>  
2419 - <partitioning>  
2420 - <method>none</method>  
2421 - <schema_name/>  
2422 - </partitioning>  
2423 - <all_rows>Y</all_rows>  
2424 - <ignore_aggregate>N</ignore_aggregate>  
2425 - <field_ignore/>  
2426 - <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>  
2427 - <prefix>grp</prefix>  
2428 - <add_linenr>Y</add_linenr>  
2429 - <linenr_fieldname>fcno</linenr_fieldname>  
2430 - <give_back_row>N</give_back_row>  
2431 - <group>  
2432 - <field>  
2433 - <name>lp</name>  
2434 - </field>  
2435 - </group>  
2436 - <fields>  
2437 - </fields>  
2438 - <cluster_schema/>  
2439 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2440 - <xloc>442</xloc>  
2441 - <yloc>44</yloc>  
2442 - <draw>Y</draw>  
2443 - </GUI>  
2444 - </step>  
2445 -  
2446 - <step>  
2447 - <name>&#x6dfb;&#x52a0;&#x5bf9;&#x5e94;&#x73ed;&#x6b21;&#x6570;</name>  
2448 - <type>GroupBy</type>  
2449 - <description/>  
2450 - <distribute>Y</distribute>  
2451 - <custom_distribution/>  
2452 - <copies>1</copies>  
2453 - <partitioning>  
2454 - <method>none</method>  
2455 - <schema_name/>  
2456 - </partitioning>  
2457 - <all_rows>Y</all_rows>  
2458 - <ignore_aggregate>N</ignore_aggregate>  
2459 - <field_ignore/>  
2460 - <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>  
2461 - <prefix>grp</prefix>  
2462 - <add_linenr>Y</add_linenr>  
2463 - <linenr_fieldname>bcs</linenr_fieldname>  
2464 - <give_back_row>N</give_back_row>  
2465 - <group>  
2466 - </group>  
2467 - <fields>  
2468 - </fields>  
2469 - <cluster_schema/>  
2470 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2471 - <xloc>692</xloc>  
2472 - <yloc>44</yloc>  
2473 - <draw>Y</draw>  
2474 - </GUI>  
2475 - </step>  
2476 -  
2477 - <step>  
2478 - <name>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</name>  
2479 - <type>Normaliser</type>  
2480 - <description/>  
2481 - <distribute>Y</distribute>  
2482 - <custom_distribution/>  
2483 - <copies>1</copies>  
2484 - <partitioning>  
2485 - <method>none</method>  
2486 - <schema_name/>  
2487 - </partitioning>  
2488 - <typefield>&#x7ad9;&#x70b9;&#x540d;&#x79f0;</typefield>  
2489 - <fields> </fields> <cluster_schema/>  
2490 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2491 - <xloc>248</xloc>  
2492 - <yloc>44</yloc>  
2493 - <draw>Y</draw>  
2494 - </GUI>  
2495 - </step>  
2496 -  
2497 - <step>  
2498 - <name>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178;</name>  
2499 - <type>ValueMapper</type>  
2500 - <description/>  
2501 - <distribute>Y</distribute>  
2502 - <custom_distribution/>  
2503 - <copies>1</copies>  
2504 - <partitioning>  
2505 - <method>none</method>  
2506 - <schema_name/>  
2507 - </partitioning>  
2508 - <field_to_use>bctype</field_to_use>  
2509 - <target_field>bctype_code</target_field>  
2510 - <non_match_default>&#x672a;&#x77e5;&#x7c7b;&#x578b;</non_match_default>  
2511 - <fields>  
2512 - <field>  
2513 - <source_value>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</source_value>  
2514 - <target_value>normal</target_value>  
2515 - </field>  
2516 - <field>  
2517 - <source_value>&#x51fa;&#x573a;</source_value>  
2518 - <target_value>out</target_value>  
2519 - </field>  
2520 - <field>  
2521 - <source_value>&#x8fdb;&#x573a;</source_value>  
2522 - <target_value>in</target_value>  
2523 - </field>  
2524 - <field>  
2525 - <source_value>&#x52a0;&#x6cb9;</source_value>  
2526 - <target_value>oil</target_value>  
2527 - </field>  
2528 - <field>  
2529 - <source_value>&#x4e34;&#x52a0;</source_value>  
2530 - <target_value>temp</target_value>  
2531 - </field>  
2532 - <field>  
2533 - <source_value>&#x533a;&#x95f4;</source_value>  
2534 - <target_value>region</target_value>  
2535 - </field>  
2536 - <field>  
2537 - <source_value>&#x653e;&#x7a7a;</source_value>  
2538 - <target_value>venting</target_value>  
2539 - </field>  
2540 - <field>  
2541 - <source_value>&#x653e;&#x5927;&#x7ad9;</source_value>  
2542 - <target_value>major</target_value>  
2543 - </field>  
2544 - </fields>  
2545 - <cluster_schema/>  
2546 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2547 - <xloc>149</xloc>  
2548 - <yloc>491</yloc>  
2549 - <draw>Y</draw>  
2550 - </GUI>  
2551 - </step>  
2552 -  
2553 - <step>  
2554 - <name>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 2</name>  
2555 - <type>ValueMapper</type>  
2556 - <description/>  
2557 - <distribute>Y</distribute>  
2558 - <custom_distribution/>  
2559 - <copies>1</copies>  
2560 - <partitioning>  
2561 - <method>none</method>  
2562 - <schema_name/>  
2563 - </partitioning>  
2564 - <field_to_use>bctype</field_to_use>  
2565 - <target_field>bctype_code</target_field>  
2566 - <non_match_default>&#x672a;&#x77e5;&#x7c7b;&#x578b;</non_match_default>  
2567 - <fields>  
2568 - <field>  
2569 - <source_value>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</source_value>  
2570 - <target_value>normal</target_value>  
2571 - </field>  
2572 - <field>  
2573 - <source_value>&#x51fa;&#x573a;</source_value>  
2574 - <target_value>out</target_value>  
2575 - </field>  
2576 - <field>  
2577 - <source_value>&#x8fdb;&#x573a;</source_value>  
2578 - <target_value>in</target_value>  
2579 - </field>  
2580 - <field>  
2581 - <source_value>&#x52a0;&#x6cb9;</source_value>  
2582 - <target_value>oil</target_value>  
2583 - </field>  
2584 - <field>  
2585 - <source_value>&#x4e34;&#x52a0;</source_value>  
2586 - <target_value>temp</target_value>  
2587 - </field>  
2588 - <field>  
2589 - <source_value>&#x533a;&#x95f4;</source_value>  
2590 - <target_value>region</target_value>  
2591 - </field>  
2592 - <field>  
2593 - <source_value>&#x653e;&#x7a7a;</source_value>  
2594 - <target_value>venting</target_value>  
2595 - </field>  
2596 - <field>  
2597 - <source_value>&#x653e;&#x5927;&#x7ad9;</source_value>  
2598 - <target_value>major</target_value>  
2599 - </field>  
2600 - </fields>  
2601 - <cluster_schema/>  
2602 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2603 - <xloc>333</xloc>  
2604 - <yloc>681</yloc>  
2605 - <draw>Y</draw>  
2606 - </GUI>  
2607 - </step>  
2608 -  
2609 - <step>  
2610 - <name>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 3</name>  
2611 - <type>ValueMapper</type>  
2612 - <description/>  
2613 - <distribute>Y</distribute>  
2614 - <custom_distribution/>  
2615 - <copies>1</copies>  
2616 - <partitioning>  
2617 - <method>none</method>  
2618 - <schema_name/>  
2619 - </partitioning>  
2620 - <field_to_use>bctype</field_to_use>  
2621 - <target_field>bctype_code</target_field>  
2622 - <non_match_default>&#x672a;&#x77e5;&#x7c7b;&#x578b;</non_match_default>  
2623 - <fields>  
2624 - <field>  
2625 - <source_value>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</source_value>  
2626 - <target_value>normal</target_value>  
2627 - </field>  
2628 - <field>  
2629 - <source_value>&#x51fa;&#x573a;</source_value>  
2630 - <target_value>out</target_value>  
2631 - </field>  
2632 - <field>  
2633 - <source_value>&#x8fdb;&#x573a;</source_value>  
2634 - <target_value>in</target_value>  
2635 - </field>  
2636 - <field>  
2637 - <source_value>&#x52a0;&#x6cb9;</source_value>  
2638 - <target_value>oil</target_value>  
2639 - </field>  
2640 - <field>  
2641 - <source_value>&#x4e34;&#x52a0;</source_value>  
2642 - <target_value>temp</target_value>  
2643 - </field>  
2644 - <field>  
2645 - <source_value>&#x533a;&#x95f4;</source_value>  
2646 - <target_value>region</target_value>  
2647 - </field>  
2648 - <field>  
2649 - <source_value>&#x653e;&#x7a7a;</source_value>  
2650 - <target_value>venting</target_value>  
2651 - </field>  
2652 - <field>  
2653 - <source_value>&#x653e;&#x5927;&#x7ad9;</source_value>  
2654 - <target_value>major</target_value>  
2655 - </field>  
2656 - </fields>  
2657 - <cluster_schema/>  
2658 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2659 - <xloc>551</xloc>  
2660 - <yloc>928</yloc>  
2661 - <draw>Y</draw>  
2662 - </GUI>  
2663 - </step>  
2664 -  
2665 - <step>  
2666 - <name>&#x7c7b;&#x578b;&#x4fee;&#x6b63;</name>  
2667 - <type>SelectValues</type>  
2668 - <description/>  
2669 - <distribute>Y</distribute>  
2670 - <custom_distribution/>  
2671 - <copies>1</copies>  
2672 - <partitioning>  
2673 - <method>none</method>  
2674 - <schema_name/>  
2675 - </partitioning>  
2676 - <fields> <select_unspecified>N</select_unspecified>  
2677 - <meta> <name>jhlc</name>  
2678 - <rename>jhlc</rename>  
2679 - <type>Number</type>  
2680 - <length>-2</length>  
2681 - <precision>-2</precision>  
2682 - <conversion_mask/>  
2683 - <date_format_lenient>false</date_format_lenient>  
2684 - <date_format_locale/>  
2685 - <date_format_timezone/>  
2686 - <lenient_string_to_number>false</lenient_string_to_number>  
2687 - <encoding/>  
2688 - <decimal_symbol/>  
2689 - <grouping_symbol/>  
2690 - <currency_symbol/>  
2691 - <storage_type/>  
2692 - </meta> <meta> <name>bcsj</name>  
2693 - <rename>bcsj</rename>  
2694 - <type>Integer</type>  
2695 - <length>-2</length>  
2696 - <precision>-2</precision>  
2697 - <conversion_mask/>  
2698 - <date_format_lenient>false</date_format_lenient>  
2699 - <date_format_locale/>  
2700 - <date_format_timezone/>  
2701 - <lenient_string_to_number>false</lenient_string_to_number>  
2702 - <encoding/>  
2703 - <decimal_symbol/>  
2704 - <grouping_symbol/>  
2705 - <currency_symbol/>  
2706 - <storage_type/>  
2707 - </meta> </fields> <cluster_schema/>  
2708 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2709 - <xloc>146</xloc>  
2710 - <yloc>768</yloc>  
2711 - <draw>Y</draw>  
2712 - </GUI>  
2713 - </step>  
2714 -  
2715 - <step>  
2716 - <name>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 2</name>  
2717 - <type>SelectValues</type>  
2718 - <description/>  
2719 - <distribute>Y</distribute>  
2720 - <custom_distribution/>  
2721 - <copies>1</copies>  
2722 - <partitioning>  
2723 - <method>none</method>  
2724 - <schema_name/>  
2725 - </partitioning>  
2726 - <fields> <select_unspecified>N</select_unspecified>  
2727 - <meta> <name>out_mileage</name>  
2728 - <rename>out_mileage</rename>  
2729 - <type>Number</type>  
2730 - <length>-2</length>  
2731 - <precision>-2</precision>  
2732 - <conversion_mask/>  
2733 - <date_format_lenient>false</date_format_lenient>  
2734 - <date_format_locale/>  
2735 - <date_format_timezone/>  
2736 - <lenient_string_to_number>false</lenient_string_to_number>  
2737 - <encoding/>  
2738 - <decimal_symbol/>  
2739 - <grouping_symbol/>  
2740 - <currency_symbol/>  
2741 - <storage_type/>  
2742 - </meta> <meta> <name>out_time</name>  
2743 - <rename>out_time</rename>  
2744 - <type>Integer</type>  
2745 - <length>-2</length>  
2746 - <precision>-2</precision>  
2747 - <conversion_mask/>  
2748 - <date_format_lenient>false</date_format_lenient>  
2749 - <date_format_locale/>  
2750 - <date_format_timezone/>  
2751 - <lenient_string_to_number>false</lenient_string_to_number>  
2752 - <encoding/>  
2753 - <decimal_symbol/>  
2754 - <grouping_symbol/>  
2755 - <currency_symbol/>  
2756 - <storage_type/>  
2757 - </meta> <meta> <name>sxx</name>  
2758 - <rename>sxx</rename>  
2759 - <type>Integer</type>  
2760 - <length>-2</length>  
2761 - <precision>-2</precision>  
2762 - <conversion_mask/>  
2763 - <date_format_lenient>false</date_format_lenient>  
2764 - <date_format_locale/>  
2765 - <date_format_timezone/>  
2766 - <lenient_string_to_number>false</lenient_string_to_number>  
2767 - <encoding/>  
2768 - <decimal_symbol/>  
2769 - <grouping_symbol/>  
2770 - <currency_symbol/>  
2771 - <storage_type/>  
2772 - </meta> </fields> <cluster_schema/>  
2773 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2774 - <xloc>338</xloc>  
2775 - <yloc>1008</yloc>  
2776 - <draw>Y</draw>  
2777 - </GUI>  
2778 - </step>  
2779 -  
2780 - <step>  
2781 - <name>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 3</name>  
2782 - <type>SelectValues</type>  
2783 - <description/>  
2784 - <distribute>Y</distribute>  
2785 - <custom_distribution/>  
2786 - <copies>1</copies>  
2787 - <partitioning>  
2788 - <method>none</method>  
2789 - <schema_name/>  
2790 - </partitioning>  
2791 - <fields> <select_unspecified>N</select_unspecified>  
2792 - <meta> <name>parade_mileage</name>  
2793 - <rename>parade_mileage</rename>  
2794 - <type>Number</type>  
2795 - <length>-2</length>  
2796 - <precision>-2</precision>  
2797 - <conversion_mask/>  
2798 - <date_format_lenient>false</date_format_lenient>  
2799 - <date_format_locale/>  
2800 - <date_format_timezone/>  
2801 - <lenient_string_to_number>false</lenient_string_to_number>  
2802 - <encoding/>  
2803 - <decimal_symbol/>  
2804 - <grouping_symbol/>  
2805 - <currency_symbol/>  
2806 - <storage_type/>  
2807 - </meta> <meta> <name>parade_time</name>  
2808 - <rename>parade_time</rename>  
2809 - <type>Integer</type>  
2810 - <length>-2</length>  
2811 - <precision>-2</precision>  
2812 - <conversion_mask/>  
2813 - <date_format_lenient>false</date_format_lenient>  
2814 - <date_format_locale/>  
2815 - <date_format_timezone/>  
2816 - <lenient_string_to_number>false</lenient_string_to_number>  
2817 - <encoding/>  
2818 - <decimal_symbol/>  
2819 - <grouping_symbol/>  
2820 - <currency_symbol/>  
2821 - <storage_type/>  
2822 - </meta> <meta> <name>sxx2</name>  
2823 - <rename>sxx2</rename>  
2824 - <type>Integer</type>  
2825 - <length>-2</length>  
2826 - <precision>-2</precision>  
2827 - <conversion_mask/>  
2828 - <date_format_lenient>false</date_format_lenient>  
2829 - <date_format_locale/>  
2830 - <date_format_timezone/>  
2831 - <lenient_string_to_number>false</lenient_string_to_number>  
2832 - <encoding/>  
2833 - <decimal_symbol/>  
2834 - <grouping_symbol/>  
2835 - <currency_symbol/>  
2836 - <storage_type/>  
2837 - </meta> </fields> <cluster_schema/>  
2838 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2839 - <xloc>847</xloc>  
2840 - <yloc>1003</yloc>  
2841 - <draw>Y</draw>  
2842 - </GUI>  
2843 - </step>  
2844 -  
2845 - <step>  
2846 - <name>&#x8ba1;&#x7b97;&#x73ed;&#x6b21;&#x7c7b;&#x578b;</name>  
2847 - <type>ValueMapper</type>  
2848 - <description/>  
2849 - <distribute>Y</distribute>  
2850 - <custom_distribution/>  
2851 - <copies>1</copies>  
2852 - <partitioning>  
2853 - <method>none</method>  
2854 - <schema_name/>  
2855 - </partitioning>  
2856 - <field_to_use>qdzname</field_to_use>  
2857 - <target_field>bctype</target_field>  
2858 - <non_match_default>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</non_match_default>  
2859 - <fields>  
2860 - <field>  
2861 - <source_value>&#x51fa;&#x573a;</source_value>  
2862 - <target_value>&#x51fa;&#x573a;</target_value>  
2863 - </field>  
2864 - <field>  
2865 - <source_value>&#x8fdb;&#x573a;</source_value>  
2866 - <target_value>&#x8fdb;&#x573a;</target_value>  
2867 - </field>  
2868 - </fields>  
2869 - <cluster_schema/>  
2870 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2871 - <xloc>1014</xloc>  
2872 - <yloc>401</yloc>  
2873 - <draw>Y</draw>  
2874 - </GUI>  
2875 - </step>  
2876 -  
2877 - <step>  
2878 - <name>&#x8bb0;&#x5f55;&#x5173;&#x8054; &#x28;&#x7b1b;&#x5361;&#x5c14;&#x8f93;&#x51fa;&#x29;</name>  
2879 - <type>JoinRows</type>  
2880 - <description/>  
2881 - <distribute>Y</distribute>  
2882 - <custom_distribution/>  
2883 - <copies>1</copies>  
2884 - <partitioning>  
2885 - <method>none</method>  
2886 - <schema_name/>  
2887 - </partitioning>  
2888 - <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>  
2889 - <prefix>out</prefix>  
2890 - <cache_size>500</cache_size>  
2891 - <main/>  
2892 - <compare>  
2893 -<condition>  
2894 - <negated>N</negated>  
2895 - <leftvalue/>  
2896 - <function>&#x3d;</function>  
2897 - <rightvalue/>  
2898 - </condition>  
2899 - </compare>  
2900 - <cluster_schema/>  
2901 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2902 - <xloc>310</xloc>  
2903 - <yloc>133</yloc>  
2904 - <draw>Y</draw>  
2905 - </GUI>  
2906 - </step>  
2907 -  
2908 - <step>  
2909 - <name>&#x8fc7;&#x6ee4;&#x8bb0;&#x5f55;&#xff08;&#x53d1;&#x8f66;&#x65f6;&#x95f4;&#x4e3a;&#x7a7a;&#xff09;</name>  
2910 - <type>FilterRows</type>  
2911 - <description/>  
2912 - <distribute>Y</distribute>  
2913 - <custom_distribution/>  
2914 - <copies>1</copies>  
2915 - <partitioning>  
2916 - <method>none</method>  
2917 - <schema_name/>  
2918 - </partitioning>  
2919 -<send_true_to/>  
2920 -<send_false_to/>  
2921 - <compare>  
2922 -<condition>  
2923 - <negated>N</negated>  
2924 - <leftvalue>sendtime</leftvalue>  
2925 - <function>IS NOT NULL</function>  
2926 - <rightvalue/>  
2927 - </condition>  
2928 - </compare>  
2929 - <cluster_schema/>  
2930 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2931 - <xloc>571</xloc>  
2932 - <yloc>44</yloc>  
2933 - <draw>Y</draw>  
2934 - </GUI>  
2935 - </step>  
2936 -  
2937 - <step>  
2938 - <name>&#x8fdb;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x8d77;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</name>  
2939 - <type>ScriptValueMod</type>  
2940 - <description/>  
2941 - <distribute>Y</distribute>  
2942 - <custom_distribution/>  
2943 - <copies>1</copies>  
2944 - <partitioning>  
2945 - <method>none</method>  
2946 - <schema_name/>  
2947 - </partitioning>  
2948 - <compatible>N</compatible>  
2949 - <optimizationLevel>9</optimizationLevel>  
2950 - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>  
2951 - <jsScript_name>Script 1</jsScript_name>  
2952 - <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>  
2953 - </jsScript> </jsScripts> <fields> <field> <name>qdzname_calcu</name>  
2954 - <rename>qdzname_calcu</rename>  
2955 - <type>String</type>  
2956 - <length>-1</length>  
2957 - <precision>-1</precision>  
2958 - <replace>N</replace>  
2959 - </field> <field> <name>startZdtype_calcu</name>  
2960 - <rename>startZdtype_calcu</rename>  
2961 - <type>String</type>  
2962 - <length>-1</length>  
2963 - <precision>-1</precision>  
2964 - <replace>N</replace>  
2965 - </field> <field> <name>endZdtype_calcu</name>  
2966 - <rename>endZdtype_calcu</rename>  
2967 - <type>String</type>  
2968 - <length>-1</length>  
2969 - <precision>-1</precision>  
2970 - <replace>N</replace>  
2971 - </field> <field> <name>destory</name>  
2972 - <rename>destory</rename>  
2973 - <type>Integer</type>  
2974 - <length>-1</length>  
2975 - <precision>-1</precision>  
2976 - <replace>N</replace>  
2977 - </field> </fields> <cluster_schema/>  
2978 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2979 - <xloc>754</xloc>  
2980 - <yloc>610</yloc>  
2981 - <draw>Y</draw>  
2982 - </GUI>  
2983 - </step>  
2984 -  
2985 - <step>  
2986 - <name>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</name>  
2987 - <type>Dummy</type>  
2988 - <description/>  
2989 - <distribute>Y</distribute>  
2990 - <custom_distribution/>  
2991 - <copies>1</copies>  
2992 - <partitioning>  
2993 - <method>none</method>  
2994 - <schema_name/>  
2995 - </partitioning>  
2996 - <cluster_schema/>  
2997 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2998 - <xloc>997</xloc>  
2999 - <yloc>606</yloc>  
3000 - <draw>Y</draw>  
3001 - </GUI>  
3002 - </step>  
3003 -  
3004 - <step_error_handling>  
3005 - <error>  
3006 - <source_step>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail</source_step>  
3007 - <target_step/>  
3008 - <is_enabled>Y</is_enabled>  
3009 - <nr_valuename>c1</nr_valuename>  
3010 - <descriptions_valuename>c2</descriptions_valuename>  
3011 - <fields_valuename>c3</fields_valuename>  
3012 - <codes_valuename>c4</codes_valuename>  
3013 - <max_errors/>  
3014 - <max_pct_errors/>  
3015 - <min_pct_rows/>  
3016 - </error>  
3017 - </step_error_handling>  
3018 - <slave-step-copy-partition-distribution>  
3019 -</slave-step-copy-partition-distribution>  
3020 - <slave_transformation>N</slave_transformation>  
3021 -  
3022 -</transformation> 1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<transformation>
  3 + <info>
  4 + <name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x5bfc;&#x5165;2</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>&#x67e5;&#x627e;&#x8def;&#x724c;&#x5173;&#x8054;</from><to>&#x8ba1;&#x7b97;&#x73ed;&#x6b21;&#x7c7b;&#x578b;</to><enabled>Y</enabled> </hop>
  393 + <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>
  394 + <hop> <from>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</from><to>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;1</to><enabled>Y</enabled> </hop>
  395 + <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>
  396 + <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>
  397 + <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>
  398 + <hop> <from>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</from><to>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;2</to><enabled>Y</enabled> </hop>
  399 + <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>
  400 + <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>
  401 + <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>
  402 + <hop> <from>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</from><to>&#x6dfb;&#x52a0;&#x53d1;&#x8f66;&#x987a;&#x5e8f;&#x53f7;</to><enabled>Y</enabled> </hop>
  403 + <hop> <from>&#x5206;&#x7ec4;&#x5404;&#x4e2a;&#x8def;&#x724c;&#x7684;&#x7ad9;</from><to>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop>
  404 + <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>
  405 + <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>
  406 + <hop> <from>&#x8bb0;&#x5f55;&#x5173;&#x8054; &#x28;&#x7b1b;&#x5361;&#x5c14;&#x8f93;&#x51fa;&#x29;</from><to>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</to><enabled>Y</enabled> </hop>
  407 + <hop> <from>&#x7c7b;&#x578b;&#x4fee;&#x6b63;</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail</to><enabled>Y</enabled> </hop>
  408 + <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>
  409 + <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>
  410 + <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>
  411 + <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>
  412 + <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>
  413 + <hop> <from>&#x4e0a;&#x4e0b;&#x884c;NULL&#x5224;&#x5b9a;</from><to>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 2</to><enabled>Y</enabled> </hop>
  414 + <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>
  415 + <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>
  416 + <hop> <from>&#x4e0a;&#x4e0b;&#x884c;&#x5224;&#x5b9a; 2</from><to>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 3</to><enabled>Y</enabled> </hop>
  417 + <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>
  418 + </order>
  419 + <step>
  420 + <name>&#x4e0a;&#x4e0b;&#x884c;NULL&#x5224;&#x5b9a;</name>
  421 + <type>IfNull</type>
  422 + <description/>
  423 + <distribute>Y</distribute>
  424 + <custom_distribution/>
  425 + <copies>1</copies>
  426 + <partitioning>
  427 + <method>none</method>
  428 + <schema_name/>
  429 + </partitioning>
  430 + <replaceAllByValue/>
  431 + <replaceAllMask/>
  432 + <selectFields>Y</selectFields>
  433 + <selectValuesType>N</selectValuesType>
  434 + <setEmptyStringAll>N</setEmptyStringAll>
  435 + <valuetypes>
  436 + </valuetypes>
  437 + <fields>
  438 + <field>
  439 + <name>sxx</name>
  440 + <value>0</value>
  441 + <mask/>
  442 + <set_empty_string>N</set_empty_string>
  443 + </field>
  444 + </fields>
  445 + <cluster_schema/>
  446 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  447 + <xloc>335</xloc>
  448 + <yloc>938</yloc>
  449 + <draw>Y</draw>
  450 + </GUI>
  451 + </step>
  452 +
  453 + <step>
  454 + <name>&#x4e0a;&#x4e0b;&#x884c;&#x5224;&#x5b9a; 2</name>
  455 + <type>IfNull</type>
  456 + <description/>
  457 + <distribute>Y</distribute>
  458 + <custom_distribution/>
  459 + <copies>1</copies>
  460 + <partitioning>
  461 + <method>none</method>
  462 + <schema_name/>
  463 + </partitioning>
  464 + <replaceAllByValue/>
  465 + <replaceAllMask/>
  466 + <selectFields>Y</selectFields>
  467 + <selectValuesType>N</selectValuesType>
  468 + <setEmptyStringAll>N</setEmptyStringAll>
  469 + <valuetypes>
  470 + </valuetypes>
  471 + <fields>
  472 + <field>
  473 + <name>sxx2</name>
  474 + <value>0</value>
  475 + <mask/>
  476 + <set_empty_string>N</set_empty_string>
  477 + </field>
  478 + </fields>
  479 + <cluster_schema/>
  480 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  481 + <xloc>804</xloc>
  482 + <yloc>1081</yloc>
  483 + <draw>Y</draw>
  484 + </GUI>
  485 + </step>
  486 +
  487 + <step>
  488 + <name>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178;</name>
  489 + <type>ValueMapper</type>
  490 + <description/>
  491 + <distribute>Y</distribute>
  492 + <custom_distribution/>
  493 + <copies>1</copies>
  494 + <partitioning>
  495 + <method>none</method>
  496 + <schema_name/>
  497 + </partitioning>
  498 + <field_to_use>sxx</field_to_use>
  499 + <target_field>sxx_desc</target_field>
  500 + <non_match_default/>
  501 + <fields>
  502 + <field>
  503 + <source_value>0</source_value>
  504 + <target_value>&#x4e0a;&#x884c;</target_value>
  505 + </field>
  506 + <field>
  507 + <source_value>1</source_value>
  508 + <target_value>&#x4e0b;&#x884c;</target_value>
  509 + </field>
  510 + </fields>
  511 + <cluster_schema/>
  512 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  513 + <xloc>147</xloc>
  514 + <yloc>403</yloc>
  515 + <draw>Y</draw>
  516 + </GUI>
  517 + </step>
  518 +
  519 + <step>
  520 + <name>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 2</name>
  521 + <type>ValueMapper</type>
  522 + <description/>
  523 + <distribute>Y</distribute>
  524 + <custom_distribution/>
  525 + <copies>1</copies>
  526 + <partitioning>
  527 + <method>none</method>
  528 + <schema_name/>
  529 + </partitioning>
  530 + <field_to_use>sxx</field_to_use>
  531 + <target_field>sxx_desc</target_field>
  532 + <non_match_default/>
  533 + <fields>
  534 + <field>
  535 + <source_value>0</source_value>
  536 + <target_value>&#x4e0a;&#x884c;</target_value>
  537 + </field>
  538 + <field>
  539 + <source_value>1</source_value>
  540 + <target_value>&#x4e0b;&#x884c;</target_value>
  541 + </field>
  542 + </fields>
  543 + <cluster_schema/>
  544 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  545 + <xloc>331</xloc>
  546 + <yloc>598</yloc>
  547 + <draw>Y</draw>
  548 + </GUI>
  549 + </step>
  550 +
  551 + <step>
  552 + <name>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 3</name>
  553 + <type>ValueMapper</type>
  554 + <description/>
  555 + <distribute>Y</distribute>
  556 + <custom_distribution/>
  557 + <copies>1</copies>
  558 + <partitioning>
  559 + <method>none</method>
  560 + <schema_name/>
  561 + </partitioning>
  562 + <field_to_use>sxx</field_to_use>
  563 + <target_field>sxx_desc</target_field>
  564 + <non_match_default/>
  565 + <fields>
  566 + <field>
  567 + <source_value>0</source_value>
  568 + <target_value>&#x4e0a;&#x884c;</target_value>
  569 + </field>
  570 + <field>
  571 + <source_value>1</source_value>
  572 + <target_value>&#x4e0b;&#x884c;</target_value>
  573 + </field>
  574 + </fields>
  575 + <cluster_schema/>
  576 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  577 + <xloc>553</xloc>
  578 + <yloc>859</yloc>
  579 + <draw>Y</draw>
  580 + </GUI>
  581 + </step>
  582 +
  583 + <step>
  584 + <name>&#x51fa;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x7ec8;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</name>
  585 + <type>ScriptValueMod</type>
  586 + <description/>
  587 + <distribute>Y</distribute>
  588 + <custom_distribution/>
  589 + <copies>1</copies>
  590 + <partitioning>
  591 + <method>none</method>
  592 + <schema_name/>
  593 + </partitioning>
  594 + <compatible>N</compatible>
  595 + <optimizationLevel>9</optimizationLevel>
  596 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  597 + <jsScript_name>Script 1</jsScript_name>
  598 + <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>
  599 + </jsScript> </jsScripts> <fields> <field> <name>zdzname</name>
  600 + <rename>zdzname</rename>
  601 + <type>String</type>
  602 + <length>-1</length>
  603 + <precision>-1</precision>
  604 + <replace>N</replace>
  605 + </field> <field> <name>endZdtype</name>
  606 + <rename>endZdtype</rename>
  607 + <type>String</type>
  608 + <length>-1</length>
  609 + <precision>-1</precision>
  610 + <replace>N</replace>
  611 + </field> <field> <name>destory</name>
  612 + <rename>destory</rename>
  613 + <type>Integer</type>
  614 + <length>-1</length>
  615 + <precision>-1</precision>
  616 + <replace>N</replace>
  617 + </field> </fields> <cluster_schema/>
  618 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  619 + <xloc>575</xloc>
  620 + <yloc>502</yloc>
  621 + <draw>Y</draw>
  622 + </GUI>
  623 + </step>
  624 +
  625 + <step>
  626 + <name>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</name>
  627 + <type>Dummy</type>
  628 + <description/>
  629 + <distribute>Y</distribute>
  630 + <custom_distribution/>
  631 + <copies>1</copies>
  632 + <partitioning>
  633 + <method>none</method>
  634 + <schema_name/>
  635 + </partitioning>
  636 + <cluster_schema/>
  637 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  638 + <xloc>869</xloc>
  639 + <yloc>504</yloc>
  640 + <draw>Y</draw>
  641 + </GUI>
  642 + </step>
  643 +
  644 + <step>
  645 + <name>&#x5206;&#x7ec4;&#x5404;&#x4e2a;&#x8def;&#x724c;&#x7684;&#x7ad9;</name>
  646 + <type>GroupBy</type>
  647 + <description/>
  648 + <distribute>Y</distribute>
  649 + <custom_distribution/>
  650 + <copies>1</copies>
  651 + <partitioning>
  652 + <method>none</method>
  653 + <schema_name/>
  654 + </partitioning>
  655 + <all_rows>Y</all_rows>
  656 + <ignore_aggregate>N</ignore_aggregate>
  657 + <field_ignore/>
  658 + <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
  659 + <prefix>grp</prefix>
  660 + <add_linenr>Y</add_linenr>
  661 + <linenr_fieldname>gno</linenr_fieldname>
  662 + <give_back_row>N</give_back_row>
  663 + <group>
  664 + <field>
  665 + <name>lp</name>
  666 + </field>
  667 + </group>
  668 + <fields>
  669 + <field>
  670 + <aggregate>qdzgroups</aggregate>
  671 + <subject>qdzname</subject>
  672 + <type>CONCAT_STRING</type>
  673 + <valuefield>,</valuefield>
  674 + </field>
  675 + </fields>
  676 + <cluster_schema/>
  677 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  678 + <xloc>892</xloc>
  679 + <yloc>44</yloc>
  680 + <draw>Y</draw>
  681 + </GUI>
  682 + </step>
  683 +
  684 + <step>
  685 + <name>&#x5339;&#x914d;&#x4e0a;&#x4e0b;&#x884c;&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
  686 + <type>ScriptValueMod</type>
  687 + <description/>
  688 + <distribute>Y</distribute>
  689 + <custom_distribution/>
  690 + <copies>1</copies>
  691 + <partitioning>
  692 + <method>none</method>
  693 + <schema_name/>
  694 + </partitioning>
  695 + <compatible>N</compatible>
  696 + <optimizationLevel>9</optimizationLevel>
  697 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  698 + <jsScript_name>Script 1</jsScript_name>
  699 + <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 &#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 &#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 &#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 &#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>
  700 + </jsScript> </jsScripts> <fields> <field> <name>jhlc</name>
  701 + <rename>jhlc</rename>
  702 + <type>String</type>
  703 + <length>-1</length>
  704 + <precision>-1</precision>
  705 + <replace>N</replace>
  706 + </field> <field> <name>bcsj</name>
  707 + <rename>bcsj</rename>
  708 + <type>String</type>
  709 + <length>-1</length>
  710 + <precision>-1</precision>
  711 + <replace>N</replace>
  712 + </field> </fields> <cluster_schema/>
  713 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  714 + <xloc>148</xloc>
  715 + <yloc>674</yloc>
  716 + <draw>Y</draw>
  717 + </GUI>
  718 + </step>
  719 +
  720 + <step>
  721 + <name>&#x5339;&#x914d;&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
  722 + <type>ScriptValueMod</type>
  723 + <description/>
  724 + <distribute>Y</distribute>
  725 + <custom_distribution/>
  726 + <copies>1</copies>
  727 + <partitioning>
  728 + <method>none</method>
  729 + <schema_name/>
  730 + </partitioning>
  731 + <compatible>N</compatible>
  732 + <optimizationLevel>9</optimizationLevel>
  733 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  734 + <jsScript_name>Script 1</jsScript_name>
  735 + <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>
  736 + </jsScript> </jsScripts> <fields> <field> <name>out_mileage</name>
  737 + <rename>out_mileage</rename>
  738 + <type>String</type>
  739 + <length>-1</length>
  740 + <precision>-1</precision>
  741 + <replace>N</replace>
  742 + </field> <field> <name>out_time</name>
  743 + <rename>out_time</rename>
  744 + <type>String</type>
  745 + <length>-1</length>
  746 + <precision>-1</precision>
  747 + <replace>N</replace>
  748 + </field> </fields> <cluster_schema/>
  749 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  750 + <xloc>336</xloc>
  751 + <yloc>862</yloc>
  752 + <draw>Y</draw>
  753 + </GUI>
  754 + </step>
  755 +
  756 + <step>
  757 + <name>&#x5339;&#x914d;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
  758 + <type>ScriptValueMod</type>
  759 + <description/>
  760 + <distribute>Y</distribute>
  761 + <custom_distribution/>
  762 + <copies>1</copies>
  763 + <partitioning>
  764 + <method>none</method>
  765 + <schema_name/>
  766 + </partitioning>
  767 + <compatible>N</compatible>
  768 + <optimizationLevel>9</optimizationLevel>
  769 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  770 + <jsScript_name>Script 1</jsScript_name>
  771 + <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>
  772 + </jsScript> </jsScripts> <fields> <field> <name>parade_mileage</name>
  773 + <rename>parade_mileage</rename>
  774 + <type>String</type>
  775 + <length>-1</length>
  776 + <precision>-1</precision>
  777 + <replace>N</replace>
  778 + </field> <field> <name>parade_time</name>
  779 + <rename>parade_time</rename>
  780 + <type>String</type>
  781 + <length>-1</length>
  782 + <precision>-1</precision>
  783 + <replace>N</replace>
  784 + </field> </fields> <cluster_schema/>
  785 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  786 + <xloc>726</xloc>
  787 + <yloc>1005</yloc>
  788 + <draw>Y</draw>
  789 + </GUI>
  790 + </step>
  791 +
  792 + <step>
  793 + <name>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;&#xff0c;&#x7ebf;&#x8def;&#x540d;&#x5b57;&#xff0c;&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</name>
  794 + <type>DataGrid</type>
  795 + <description/>
  796 + <distribute>Y</distribute>
  797 + <custom_distribution/>
  798 + <copies>1</copies>
  799 + <partitioning>
  800 + <method>none</method>
  801 + <schema_name/>
  802 + </partitioning>
  803 + <fields>
  804 + </fields>
  805 + <data>
  806 + <line> </line>
  807 + </data>
  808 + <cluster_schema/>
  809 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  810 + <xloc>110</xloc>
  811 + <yloc>133</yloc>
  812 + <draw>Y</draw>
  813 + </GUI>
  814 + </step>
  815 +
  816 + <step>
  817 + <name>&#x5904;&#x7406;&#x6570;&#x636e;</name>
  818 + <type>ScriptValueMod</type>
  819 + <description/>
  820 + <distribute>Y</distribute>
  821 + <custom_distribution/>
  822 + <copies>1</copies>
  823 + <partitioning>
  824 + <method>none</method>
  825 + <schema_name/>
  826 + </partitioning>
  827 + <compatible>N</compatible>
  828 + <optimizationLevel>9</optimizationLevel>
  829 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  830 + <jsScript_name>Script 1</jsScript_name>
  831 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f; &#x4f7f;&#x7528;&#x6b63;&#x5219;&#x8868;&#x8fbe;&#x5f0f;&#x53bb;&#x9664;&#x7ad9;&#x70b9;&#x540d;&#x79f0;&#x4e2d;&#x7684;&#x6570;&#x5b57;&#xa;qdzname &#x3d; qdzname.replace&#x28;&#x2f;&#x5c;d&#x2b;&#x2f;g,&#x27;&#x27;&#x29;&#x3b;&#xa;&#xa;&#x2f;&#x2f; sendtime&#x5904;&#x7406;&#xff0c;hhmm&#xff0c;hh&#x3a;mm&#xff0c;hh,mm&#xa;var sendtime_calcu&#x3b;&#xa;if &#x28;sendtime.length &#x3d;&#x3d; 5&#x29; &#x7b; &#x2f;&#x2f; &#x6700;&#x957f;&#x683c;&#x5f0f;&#xff0c;&#x5305;&#x62ec;&#x5206;&#x9694;&#x7b26;&#xff0c;&#x7edf;&#x4e00;&#x628a;&#x5206;&#x9694;&#x7b26;&#x66ff;&#x6362;&#x6210;&#x5192;&#x53f7;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 2&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;3, 2&#x29;&#x3b;&#xa;&#x7d; else if &#x28;sendtime.length &#x3d;&#x3d; 4&#x29; &#x7b;&#xa; if &#x28;sendtime.indexOf&#x28;&#x22;&#x3a;&#x22;&#x29; &#x3e; 0&#x29; &#x7b; &#x2f;&#x2f; &#x5192;&#x53f7;&#x5206;&#x9694;&#xff0c;&#x65e0;&#x9700;&#x4fee;&#x6539;&#xa; sendtime_calcu &#x3d; sendtime&#x3b;&#xa; &#x7d; else if &#x28;sendtime.indexOf&#x28;&#x22;,&#x22;&#x29; &#x3e; 0&#x29; &#x7b; &#x2f;&#x2f; &#x9017;&#x53f7;&#x5206;&#x9694;&#xff0c;&#x6539;&#x6210;&#x5192;&#x53f7;&#x5206;&#x9694;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 1&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;2, 2&#x29;&#x3b;&#xa; &#x7d; else &#x7b; &#x2f;&#x2f; &#x65e0;&#x5206;&#x9694;&#x7b26;&#xff0c;&#x6539;&#x6210;&#x5192;&#x53f7;&#x5206;&#x9694;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 2&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;2, 2&#x29;&#x3b;&#xa; &#x7d;&#xa;&#x7d; else if &#x28;sendtime.length &#x3d;&#x3d; 3&#x29; &#x7b; &#x2f;&#x2f; &#x65e0;&#x5206;&#x9694;&#x7b26;&#xff0c;&#x6539;&#x6210;&#x5192;&#x53f7;&#x5206;&#x9694;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 1&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;1, 2&#x29;&#x3b;&#xa;&#x7d;&#xa;&#xa;&#x2f;&#x2f; &#x8bbe;&#x7f6e;&#x5206;&#x73ed;&#xa;var isfb &#x3d; 0&#x3b;&#xa;&#xa;&#x2f;&#x2f; &#x8bbe;&#x7f6e;isCanceled&#xa;var iscanceled &#x3d; 0&#x3b;</jsScript_script>
  832 + </jsScript> </jsScripts> <fields> <field> <name>qdzname</name>
  833 + <rename>qdzname</rename>
  834 + <type>String</type>
  835 + <length>-1</length>
  836 + <precision>-1</precision>
  837 + <replace>Y</replace>
  838 + </field> <field> <name>isfb</name>
  839 + <rename>isfb</rename>
  840 + <type>Integer</type>
  841 + <length>-1</length>
  842 + <precision>-1</precision>
  843 + <replace>N</replace>
  844 + </field> <field> <name>iscanceled</name>
  845 + <rename>iscanceled</rename>
  846 + <type>Integer</type>
  847 + <length>-1</length>
  848 + <precision>-1</precision>
  849 + <replace>N</replace>
  850 + </field> <field> <name>sendtime_calcu</name>
  851 + <rename>sendtime_calcu</rename>
  852 + <type>String</type>
  853 + <length>-1</length>
  854 + <precision>-1</precision>
  855 + <replace>N</replace>
  856 + </field> </fields> <cluster_schema/>
  857 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  858 + <xloc>788</xloc>
  859 + <yloc>44</yloc>
  860 + <draw>Y</draw>
  861 + </GUI>
  862 + </step>
  863 +
  864 + <step>
  865 + <name>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</name>
  866 + <type>SelectValues</type>
  867 + <description/>
  868 + <distribute>Y</distribute>
  869 + <custom_distribution/>
  870 + <copies>1</copies>
  871 + <partitioning>
  872 + <method>none</method>
  873 + <schema_name/>
  874 + </partitioning>
  875 + <fields> <field> <name>&#x8def;&#x724c;</name>
  876 + <rename>lp</rename>
  877 + <length>-2</length>
  878 + <precision>-2</precision>
  879 + </field> <field> <name>&#x7ad9;&#x70b9;&#x540d;&#x79f0;</name>
  880 + <rename>qdzname</rename>
  881 + <length>-2</length>
  882 + <precision>-2</precision>
  883 + </field> <field> <name>&#x53d1;&#x8f66;&#x65f6;&#x95f4;</name>
  884 + <rename>sendtime</rename>
  885 + <length>-2</length>
  886 + <precision>-2</precision>
  887 + </field> <select_unspecified>Y</select_unspecified>
  888 + </fields> <cluster_schema/>
  889 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  890 + <xloc>444</xloc>
  891 + <yloc>131</yloc>
  892 + <draw>Y</draw>
  893 + </GUI>
  894 + </step>
  895 +
  896 + <step>
  897 + <name>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;1</name>
  898 + <type>FilterRows</type>
  899 + <description/>
  900 + <distribute>Y</distribute>
  901 + <custom_distribution/>
  902 + <copies>1</copies>
  903 + <partitioning>
  904 + <method>none</method>
  905 + <schema_name/>
  906 + </partitioning>
  907 +<send_true_to>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x6570;&#x636e;</send_true_to>
  908 +<send_false_to>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</send_false_to>
  909 + <compare>
  910 +<condition>
  911 + <negated>N</negated>
  912 + <leftvalue>bctype</leftvalue>
  913 + <function>&#x3d;</function>
  914 + <rightvalue/>
  915 + <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>
  916 + </compare>
  917 + <cluster_schema/>
  918 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  919 + <xloc>860</xloc>
  920 + <yloc>401</yloc>
  921 + <draw>Y</draw>
  922 + </GUI>
  923 + </step>
  924 +
  925 + <step>
  926 + <name>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</name>
  927 + <type>FilterRows</type>
  928 + <description/>
  929 + <distribute>Y</distribute>
  930 + <custom_distribution/>
  931 + <copies>1</copies>
  932 + <partitioning>
  933 + <method>none</method>
  934 + <schema_name/>
  935 + </partitioning>
  936 +<send_true_to>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</send_true_to>
  937 +<send_false_to>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</send_false_to>
  938 + <compare>
  939 +<condition>
  940 + <negated>N</negated>
  941 + <leftvalue>bctype</leftvalue>
  942 + <function>&#x3d;</function>
  943 + <rightvalue/>
  944 + <value><name>constant</name><type>String</type><text>&#x51fa;&#x573a;</text><length>-1</length><precision>-1</precision><isnull>N</isnull><mask/></value> </condition>
  945 + </compare>
  946 + <cluster_schema/>
  947 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  948 + <xloc>995</xloc>
  949 + <yloc>503</yloc>
  950 + <draw>Y</draw>
  951 + </GUI>
  952 + </step>
  953 +
  954 + <step>
  955 + <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail</name>
  956 + <type>InsertUpdate</type>
  957 + <description/>
  958 + <distribute>Y</distribute>
  959 + <custom_distribution/>
  960 + <copies>1</copies>
  961 + <partitioning>
  962 + <method>none</method>
  963 + <schema_name/>
  964 + </partitioning>
  965 + <connection>bus_control_variable</connection>
  966 + <commit>100</commit>
  967 + <update_bypassed>N</update_bypassed>
  968 + <lookup>
  969 + <schema/>
  970 + <table>bsth_c_s_ttinfo_detail</table>
  971 + <key>
  972 + <name>xlid</name>
  973 + <field>xl</field>
  974 + <condition>&#x3d;</condition>
  975 + <name2/>
  976 + </key>
  977 + <key>
  978 + <name>ttid</name>
  979 + <field>ttinfo</field>
  980 + <condition>&#x3d;</condition>
  981 + <name2/>
  982 + </key>
  983 + <key>
  984 + <name>lpid</name>
  985 + <field>lp</field>
  986 + <condition>&#x3d;</condition>
  987 + <name2/>
  988 + </key>
  989 + <key>
  990 + <name>fcno</name>
  991 + <field>fcno</field>
  992 + <condition>&#x3d;</condition>
  993 + <name2/>
  994 + </key>
  995 + <key>
  996 + <name>bcs</name>
  997 + <field>bcs</field>
  998 + <condition>&#x3d;</condition>
  999 + <name2/>
  1000 + </key>
  1001 + <value>
  1002 + <name>lp</name>
  1003 + <rename>lpid</rename>
  1004 + <update>Y</update>
  1005 + </value>
  1006 + <value>
  1007 + <name>bc_type</name>
  1008 + <rename>bctype_code</rename>
  1009 + <update>Y</update>
  1010 + </value>
  1011 + <value>
  1012 + <name>bcs</name>
  1013 + <rename>bcs</rename>
  1014 + <update>Y</update>
  1015 + </value>
  1016 + <value>
  1017 + <name>bcsj</name>
  1018 + <rename>bcsj</rename>
  1019 + <update>Y</update>
  1020 + </value>
  1021 + <value>
  1022 + <name>fcno</name>
  1023 + <rename>fcno</rename>
  1024 + <update>Y</update>
  1025 + </value>
  1026 + <value>
  1027 + <name>jhlc</name>
  1028 + <rename>jhlc</rename>
  1029 + <update>Y</update>
  1030 + </value>
  1031 + <value>
  1032 + <name>fcsj</name>
  1033 + <rename>sendtime_calcu</rename>
  1034 + <update>Y</update>
  1035 + </value>
  1036 + <value>
  1037 + <name>ttinfo</name>
  1038 + <rename>ttid</rename>
  1039 + <update>Y</update>
  1040 + </value>
  1041 + <value>
  1042 + <name>xl</name>
  1043 + <rename>xlid</rename>
  1044 + <update>Y</update>
  1045 + </value>
  1046 + <value>
  1047 + <name>qdz</name>
  1048 + <rename>qdzid</rename>
  1049 + <update>Y</update>
  1050 + </value>
  1051 + <value>
  1052 + <name>zdz</name>
  1053 + <rename>zdzid</rename>
  1054 + <update>Y</update>
  1055 + </value>
  1056 + <value>
  1057 + <name>xl_dir</name>
  1058 + <rename>sxx</rename>
  1059 + <update>Y</update>
  1060 + </value>
  1061 + <value>
  1062 + <name>isfb</name>
  1063 + <rename>isfb</rename>
  1064 + <update>Y</update>
  1065 + </value>
  1066 + <value>
  1067 + <name>qdz_code</name>
  1068 + <rename>qdzcode</rename>
  1069 + <update>Y</update>
  1070 + </value>
  1071 + <value>
  1072 + <name>qdz_name</name>
  1073 + <rename>qdzname</rename>
  1074 + <update>Y</update>
  1075 + </value>
  1076 + <value>
  1077 + <name>zdz_code</name>
  1078 + <rename>zdzcode</rename>
  1079 + <update>Y</update>
  1080 + </value>
  1081 + <value>
  1082 + <name>zdz_name</name>
  1083 + <rename>zdzname</rename>
  1084 + <update>Y</update>
  1085 + </value>
  1086 + </lookup>
  1087 + <cluster_schema/>
  1088 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1089 + <xloc>143</xloc>
  1090 + <yloc>860</yloc>
  1091 + <draw>Y</draw>
  1092 + </GUI>
  1093 + </step>
  1094 +
  1095 + <step>
  1096 + <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail 2</name>
  1097 + <type>InsertUpdate</type>
  1098 + <description/>
  1099 + <distribute>Y</distribute>
  1100 + <custom_distribution/>
  1101 + <copies>1</copies>
  1102 + <partitioning>
  1103 + <method>none</method>
  1104 + <schema_name/>
  1105 + </partitioning>
  1106 + <connection>bus_control_variable</connection>
  1107 + <commit>100</commit>
  1108 + <update_bypassed>N</update_bypassed>
  1109 + <lookup>
  1110 + <schema/>
  1111 + <table>bsth_c_s_ttinfo_detail</table>
  1112 + <key>
  1113 + <name>xlid</name>
  1114 + <field>xl</field>
  1115 + <condition>&#x3d;</condition>
  1116 + <name2/>
  1117 + </key>
  1118 + <key>
  1119 + <name>ttid</name>
  1120 + <field>ttinfo</field>
  1121 + <condition>&#x3d;</condition>
  1122 + <name2/>
  1123 + </key>
  1124 + <key>
  1125 + <name>lpid</name>
  1126 + <field>lp</field>
  1127 + <condition>&#x3d;</condition>
  1128 + <name2/>
  1129 + </key>
  1130 + <key>
  1131 + <name>fcno</name>
  1132 + <field>fcno</field>
  1133 + <condition>&#x3d;</condition>
  1134 + <name2/>
  1135 + </key>
  1136 + <key>
  1137 + <name>bcs</name>
  1138 + <field>bcs</field>
  1139 + <condition>&#x3d;</condition>
  1140 + <name2/>
  1141 + </key>
  1142 + <value>
  1143 + <name>tcc</name>
  1144 + <rename>qdzid</rename>
  1145 + <update>Y</update>
  1146 + </value>
  1147 + <value>
  1148 + <name>zdz</name>
  1149 + <rename>zdzid</rename>
  1150 + <update>Y</update>
  1151 + </value>
  1152 + <value>
  1153 + <name>xl</name>
  1154 + <rename>xlid</rename>
  1155 + <update>Y</update>
  1156 + </value>
  1157 + <value>
  1158 + <name>ttinfo</name>
  1159 + <rename>ttid</rename>
  1160 + <update>Y</update>
  1161 + </value>
  1162 + <value>
  1163 + <name>xl_dir</name>
  1164 + <rename>sxx</rename>
  1165 + <update>Y</update>
  1166 + </value>
  1167 + <value>
  1168 + <name>lp</name>
  1169 + <rename>lpid</rename>
  1170 + <update>Y</update>
  1171 + </value>
  1172 + <value>
  1173 + <name>jhlc</name>
  1174 + <rename>out_mileage</rename>
  1175 + <update>Y</update>
  1176 + </value>
  1177 + <value>
  1178 + <name>fcsj</name>
  1179 + <rename>sendtime_calcu</rename>
  1180 + <update>Y</update>
  1181 + </value>
  1182 + <value>
  1183 + <name>bcsj</name>
  1184 + <rename>out_time</rename>
  1185 + <update>Y</update>
  1186 + </value>
  1187 + <value>
  1188 + <name>bcs</name>
  1189 + <rename>bcs</rename>
  1190 + <update>Y</update>
  1191 + </value>
  1192 + <value>
  1193 + <name>fcno</name>
  1194 + <rename>fcno</rename>
  1195 + <update>Y</update>
  1196 + </value>
  1197 + <value>
  1198 + <name>bc_type</name>
  1199 + <rename>bctype_code</rename>
  1200 + <update>Y</update>
  1201 + </value>
  1202 + <value>
  1203 + <name>isfb</name>
  1204 + <rename>isfb</rename>
  1205 + <update>Y</update>
  1206 + </value>
  1207 + <value>
  1208 + <name>qdz_code</name>
  1209 + <rename>qdzcode</rename>
  1210 + <update>Y</update>
  1211 + </value>
  1212 + <value>
  1213 + <name>qdz_name</name>
  1214 + <rename>tn</rename>
  1215 + <update>Y</update>
  1216 + </value>
  1217 + <value>
  1218 + <name>zdz_code</name>
  1219 + <rename>zdzcode</rename>
  1220 + <update>Y</update>
  1221 + </value>
  1222 + <value>
  1223 + <name>zdz_name</name>
  1224 + <rename>zdzname</rename>
  1225 + <update>Y</update>
  1226 + </value>
  1227 + </lookup>
  1228 + <cluster_schema/>
  1229 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1230 + <xloc>340</xloc>
  1231 + <yloc>1087</yloc>
  1232 + <draw>Y</draw>
  1233 + </GUI>
  1234 + </step>
  1235 +
  1236 + <step>
  1237 + <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail 3</name>
  1238 + <type>InsertUpdate</type>
  1239 + <description/>
  1240 + <distribute>Y</distribute>
  1241 + <custom_distribution/>
  1242 + <copies>1</copies>
  1243 + <partitioning>
  1244 + <method>none</method>
  1245 + <schema_name/>
  1246 + </partitioning>
  1247 + <connection>bus_control_variable</connection>
  1248 + <commit>100</commit>
  1249 + <update_bypassed>N</update_bypassed>
  1250 + <lookup>
  1251 + <schema/>
  1252 + <table>bsth_c_s_ttinfo_detail</table>
  1253 + <key>
  1254 + <name>xlid</name>
  1255 + <field>xl</field>
  1256 + <condition>&#x3d;</condition>
  1257 + <name2/>
  1258 + </key>
  1259 + <key>
  1260 + <name>ttid</name>
  1261 + <field>ttinfo</field>
  1262 + <condition>&#x3d;</condition>
  1263 + <name2/>
  1264 + </key>
  1265 + <key>
  1266 + <name>lpid</name>
  1267 + <field>lp</field>
  1268 + <condition>&#x3d;</condition>
  1269 + <name2/>
  1270 + </key>
  1271 + <key>
  1272 + <name>fcno</name>
  1273 + <field>fcno</field>
  1274 + <condition>&#x3d;</condition>
  1275 + <name2/>
  1276 + </key>
  1277 + <key>
  1278 + <name>bcs</name>
  1279 + <field>bcs</field>
  1280 + <condition>&#x3d;</condition>
  1281 + <name2/>
  1282 + </key>
  1283 + <value>
  1284 + <name>fcno</name>
  1285 + <rename>fcno</rename>
  1286 + <update>Y</update>
  1287 + </value>
  1288 + <value>
  1289 + <name>bcs</name>
  1290 + <rename>bcs</rename>
  1291 + <update>Y</update>
  1292 + </value>
  1293 + <value>
  1294 + <name>xl</name>
  1295 + <rename>xlid</rename>
  1296 + <update>Y</update>
  1297 + </value>
  1298 + <value>
  1299 + <name>ttinfo</name>
  1300 + <rename>ttid</rename>
  1301 + <update>Y</update>
  1302 + </value>
  1303 + <value>
  1304 + <name>lp</name>
  1305 + <rename>lpid</rename>
  1306 + <update>Y</update>
  1307 + </value>
  1308 + <value>
  1309 + <name>bc_type</name>
  1310 + <rename>bctype_code</rename>
  1311 + <update>Y</update>
  1312 + </value>
  1313 + <value>
  1314 + <name>bcsj</name>
  1315 + <rename>parade_time</rename>
  1316 + <update>Y</update>
  1317 + </value>
  1318 + <value>
  1319 + <name>jhlc</name>
  1320 + <rename>parade_mileage</rename>
  1321 + <update>Y</update>
  1322 + </value>
  1323 + <value>
  1324 + <name>fcsj</name>
  1325 + <rename>sendtime_calcu</rename>
  1326 + <update>Y</update>
  1327 + </value>
  1328 + <value>
  1329 + <name>xl_dir</name>
  1330 + <rename>sxx2</rename>
  1331 + <update>Y</update>
  1332 + </value>
  1333 + <value>
  1334 + <name>qdz</name>
  1335 + <rename>qdzid</rename>
  1336 + <update>Y</update>
  1337 + </value>
  1338 + <value>
  1339 + <name>tcc</name>
  1340 + <rename>zdzid</rename>
  1341 + <update>Y</update>
  1342 + </value>
  1343 + <value>
  1344 + <name>isfb</name>
  1345 + <rename>isfb</rename>
  1346 + <update>Y</update>
  1347 + </value>
  1348 + <value>
  1349 + <name>qdz_code</name>
  1350 + <rename>qdzcode</rename>
  1351 + <update>Y</update>
  1352 + </value>
  1353 + <value>
  1354 + <name>qdz_name</name>
  1355 + <rename>qname</rename>
  1356 + <update>Y</update>
  1357 + </value>
  1358 + <value>
  1359 + <name>zdz_code</name>
  1360 + <rename>zdzcode</rename>
  1361 + <update>Y</update>
  1362 + </value>
  1363 + <value>
  1364 + <name>zdz_name</name>
  1365 + <rename>tn</rename>
  1366 + <update>Y</update>
  1367 + </value>
  1368 + </lookup>
  1369 + <cluster_schema/>
  1370 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1371 + <xloc>845</xloc>
  1372 + <yloc>899</yloc>
  1373 + <draw>Y</draw>
  1374 + </GUI>
  1375 + </step>
  1376 +
  1377 + <step>
  1378 + <name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</name>
  1379 + <type>ExcelInput</type>
  1380 + <description/>
  1381 + <distribute>N</distribute>
  1382 + <custom_distribution/>
  1383 + <copies>1</copies>
  1384 + <partitioning>
  1385 + <method>none</method>
  1386 + <schema_name/>
  1387 + </partitioning>
  1388 + <header>Y</header>
  1389 + <noempty>Y</noempty>
  1390 + <stoponempty>N</stoponempty>
  1391 + <filefield/>
  1392 + <sheetfield/>
  1393 + <sheetrownumfield/>
  1394 + <rownumfield/>
  1395 + <sheetfield/>
  1396 + <filefield/>
  1397 + <limit>0</limit>
  1398 + <encoding/>
  1399 + <add_to_result_filenames>Y</add_to_result_filenames>
  1400 + <accept_filenames>N</accept_filenames>
  1401 + <accept_field/>
  1402 + <accept_stepname/>
  1403 + <file>
  1404 + <name/>
  1405 + <filemask/>
  1406 + <exclude_filemask/>
  1407 + <file_required>N</file_required>
  1408 + <include_subfolders>N</include_subfolders>
  1409 + </file>
  1410 + <fields>
  1411 + </fields>
  1412 + <sheets>
  1413 + <sheet>
  1414 + <name/>
  1415 + <startrow>0</startrow>
  1416 + <startcol>0</startcol>
  1417 + </sheet>
  1418 + </sheets>
  1419 + <strict_types>N</strict_types>
  1420 + <error_ignored>N</error_ignored>
  1421 + <error_line_skipped>N</error_line_skipped>
  1422 + <bad_line_files_destination_directory/>
  1423 + <bad_line_files_extension>warning</bad_line_files_extension>
  1424 + <error_line_files_destination_directory/>
  1425 + <error_line_files_extension>error</error_line_files_extension>
  1426 + <line_number_files_destination_directory/>
  1427 + <line_number_files_extension>line</line_number_files_extension>
  1428 + <shortFileFieldName/>
  1429 + <pathFieldName/>
  1430 + <hiddenFieldName/>
  1431 + <lastModificationTimeFieldName/>
  1432 + <uriNameFieldName/>
  1433 + <rootUriNameFieldName/>
  1434 + <extensionFieldName/>
  1435 + <sizeFieldName/>
  1436 + <spreadsheet_type>JXL</spreadsheet_type>
  1437 + <cluster_schema/>
  1438 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1439 + <xloc>112</xloc>
  1440 + <yloc>44</yloc>
  1441 + <draw>Y</draw>
  1442 + </GUI>
  1443 + </step>
  1444 +
  1445 + <step>
  1446 + <name>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;1</name>
  1447 + <type>DBLookup</type>
  1448 + <description/>
  1449 + <distribute>Y</distribute>
  1450 + <custom_distribution/>
  1451 + <copies>1</copies>
  1452 + <partitioning>
  1453 + <method>none</method>
  1454 + <schema_name/>
  1455 + </partitioning>
  1456 + <connection>bus_control_variable</connection>
  1457 + <cache>N</cache>
  1458 + <cache_load_all>N</cache_load_all>
  1459 + <cache_size>0</cache_size>
  1460 + <lookup>
  1461 + <schema/>
  1462 + <table>bsth_c_car_park</table>
  1463 + <orderby/>
  1464 + <fail_on_multiple>N</fail_on_multiple>
  1465 + <eat_row_on_failure>N</eat_row_on_failure>
  1466 + <key>
  1467 + <name>tccname_</name>
  1468 + <field>park_name</field>
  1469 + <condition>&#x3d;</condition>
  1470 + <name2/>
  1471 + </key>
  1472 + <value>
  1473 + <name>id</name>
  1474 + <rename>qdzid</rename>
  1475 + <default/>
  1476 + <type>Integer</type>
  1477 + </value>
  1478 + <value>
  1479 + <name>park_code</name>
  1480 + <rename>qdzcode</rename>
  1481 + <default/>
  1482 + <type>String</type>
  1483 + </value>
  1484 + <value>
  1485 + <name>park_name</name>
  1486 + <rename>tn</rename>
  1487 + <default/>
  1488 + <type>String</type>
  1489 + </value>
  1490 + </lookup>
  1491 + <cluster_schema/>
  1492 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1493 + <xloc>755</xloc>
  1494 + <yloc>504</yloc>
  1495 + <draw>Y</draw>
  1496 + </GUI>
  1497 + </step>
  1498 +
  1499 + <step>
  1500 + <name>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;2</name>
  1501 + <type>DBLookup</type>
  1502 + <description/>
  1503 + <distribute>Y</distribute>
  1504 + <custom_distribution/>
  1505 + <copies>1</copies>
  1506 + <partitioning>
  1507 + <method>none</method>
  1508 + <schema_name/>
  1509 + </partitioning>
  1510 + <connection>bus_control_variable</connection>
  1511 + <cache>N</cache>
  1512 + <cache_load_all>N</cache_load_all>
  1513 + <cache_size>0</cache_size>
  1514 + <lookup>
  1515 + <schema/>
  1516 + <table>bsth_c_car_park</table>
  1517 + <orderby/>
  1518 + <fail_on_multiple>N</fail_on_multiple>
  1519 + <eat_row_on_failure>N</eat_row_on_failure>
  1520 + <key>
  1521 + <name>tccname_</name>
  1522 + <field>park_name</field>
  1523 + <condition>&#x3d;</condition>
  1524 + <name2/>
  1525 + </key>
  1526 + <value>
  1527 + <name>id</name>
  1528 + <rename>zdzid</rename>
  1529 + <default/>
  1530 + <type>Integer</type>
  1531 + </value>
  1532 + <value>
  1533 + <name>park_code</name>
  1534 + <rename>zdzcode</rename>
  1535 + <default/>
  1536 + <type>String</type>
  1537 + </value>
  1538 + <value>
  1539 + <name>park_name</name>
  1540 + <rename>tn</rename>
  1541 + <default/>
  1542 + <type>String</type>
  1543 + </value>
  1544 + </lookup>
  1545 + <cluster_schema/>
  1546 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1547 + <xloc>887</xloc>
  1548 + <yloc>608</yloc>
  1549 + <draw>Y</draw>
  1550 + </GUI>
  1551 + </step>
  1552 +
  1553 + <step>
  1554 + <name>&#x67e5;&#x627e;&#x51fa;&#x573a;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</name>
  1555 + <type>DBLookup</type>
  1556 + <description/>
  1557 + <distribute>Y</distribute>
  1558 + <custom_distribution/>
  1559 + <copies>1</copies>
  1560 + <partitioning>
  1561 + <method>none</method>
  1562 + <schema_name/>
  1563 + </partitioning>
  1564 + <connection>bus_control_variable</connection>
  1565 + <cache>N</cache>
  1566 + <cache_load_all>N</cache_load_all>
  1567 + <cache_size>0</cache_size>
  1568 + <lookup>
  1569 + <schema/>
  1570 + <table>bsth_c_stationroute</table>
  1571 + <orderby/>
  1572 + <fail_on_multiple>N</fail_on_multiple>
  1573 + <eat_row_on_failure>N</eat_row_on_failure>
  1574 + <key>
  1575 + <name>xlid</name>
  1576 + <field>line</field>
  1577 + <condition>&#x3d;</condition>
  1578 + <name2/>
  1579 + </key>
  1580 + <key>
  1581 + <name>zdzname</name>
  1582 + <field>station_name</field>
  1583 + <condition>&#x3d;</condition>
  1584 + <name2/>
  1585 + </key>
  1586 + <key>
  1587 + <name>endZdtype</name>
  1588 + <field>station_mark</field>
  1589 + <condition>&#x3d;</condition>
  1590 + <name2/>
  1591 + </key>
  1592 + <key>
  1593 + <name>destory</name>
  1594 + <field>destroy</field>
  1595 + <condition>&#x3d;</condition>
  1596 + <name2/>
  1597 + </key>
  1598 + <value>
  1599 + <name>station</name>
  1600 + <rename>zdzid</rename>
  1601 + <default/>
  1602 + <type>Integer</type>
  1603 + </value>
  1604 + <value>
  1605 + <name>directions</name>
  1606 + <rename>sxx</rename>
  1607 + <default/>
  1608 + <type>Integer</type>
  1609 + </value>
  1610 + <value>
  1611 + <name>station_code</name>
  1612 + <rename>zdzcode</rename>
  1613 + <default/>
  1614 + <type>String</type>
  1615 + </value>
  1616 + </lookup>
  1617 + <cluster_schema/>
  1618 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1619 + <xloc>329</xloc>
  1620 + <yloc>505</yloc>
  1621 + <draw>Y</draw>
  1622 + </GUI>
  1623 + </step>
  1624 +
  1625 + <step>
  1626 + <name>&#x67e5;&#x627e;&#x6240;&#x6709;&#x7ebf;&#x8def;&#x4e0a;&#x4e0b;&#x884c;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
  1627 + <type>DBLookup</type>
  1628 + <description/>
  1629 + <distribute>Y</distribute>
  1630 + <custom_distribution/>
  1631 + <copies>1</copies>
  1632 + <partitioning>
  1633 + <method>none</method>
  1634 + <schema_name/>
  1635 + </partitioning>
  1636 + <connection>bus_control_variable</connection>
  1637 + <cache>N</cache>
  1638 + <cache_load_all>N</cache_load_all>
  1639 + <cache_size>0</cache_size>
  1640 + <lookup>
  1641 + <schema/>
  1642 + <table>bsth_c_line_information</table>
  1643 + <orderby/>
  1644 + <fail_on_multiple>N</fail_on_multiple>
  1645 + <eat_row_on_failure>N</eat_row_on_failure>
  1646 + <key>
  1647 + <name>xlid</name>
  1648 + <field>line</field>
  1649 + <condition>&#x3d;</condition>
  1650 + <name2/>
  1651 + </key>
  1652 + <value>
  1653 + <name>up_mileage</name>
  1654 + <rename>up_mileage</rename>
  1655 + <default/>
  1656 + <type>Number</type>
  1657 + </value>
  1658 + <value>
  1659 + <name>down_mileage</name>
  1660 + <rename>down_mileage</rename>
  1661 + <default/>
  1662 + <type>Number</type>
  1663 + </value>
  1664 + <value>
  1665 + <name>up_travel_time</name>
  1666 + <rename>up_travel_time</rename>
  1667 + <default/>
  1668 + <type>Number</type>
  1669 + </value>
  1670 + <value>
  1671 + <name>down_travel_time</name>
  1672 + <rename>down_travel_time</rename>
  1673 + <default/>
  1674 + <type>Number</type>
  1675 + </value>
  1676 + <value>
  1677 + <name>early_start_time</name>
  1678 + <rename>early_start_time</rename>
  1679 + <default/>
  1680 + <type>String</type>
  1681 + </value>
  1682 + <value>
  1683 + <name>early_end_time</name>
  1684 + <rename>early_end_time</rename>
  1685 + <default/>
  1686 + <type>String</type>
  1687 + </value>
  1688 + <value>
  1689 + <name>early_up_time</name>
  1690 + <rename>early_up_time</rename>
  1691 + <default/>
  1692 + <type>Number</type>
  1693 + </value>
  1694 + <value>
  1695 + <name>early_down_time</name>
  1696 + <rename>early_down_time</rename>
  1697 + <default/>
  1698 + <type>Number</type>
  1699 + </value>
  1700 + <value>
  1701 + <name>late_start_time</name>
  1702 + <rename>late_start_time</rename>
  1703 + <default/>
  1704 + <type>String</type>
  1705 + </value>
  1706 + <value>
  1707 + <name>late_end_time</name>
  1708 + <rename>late_end_time</rename>
  1709 + <default/>
  1710 + <type>String</type>
  1711 + </value>
  1712 + <value>
  1713 + <name>late_up_time</name>
  1714 + <rename>late_up_time</rename>
  1715 + <default/>
  1716 + <type>Number</type>
  1717 + </value>
  1718 + <value>
  1719 + <name>late_down_time</name>
  1720 + <rename>late_down_time</rename>
  1721 + <default/>
  1722 + <type>Number</type>
  1723 + </value>
  1724 + </lookup>
  1725 + <cluster_schema/>
  1726 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1727 + <xloc>149</xloc>
  1728 + <yloc>581</yloc>
  1729 + <draw>Y</draw>
  1730 + </GUI>
  1731 + </step>
  1732 +
  1733 + <step>
  1734 + <name>&#x67e5;&#x627e;&#x65f6;&#x523b;&#x8868;&#x57fa;&#x7840;&#x4fe1;&#x606f;&#x5173;&#x8054;</name>
  1735 + <type>DBLookup</type>
  1736 + <description/>
  1737 + <distribute>Y</distribute>
  1738 + <custom_distribution/>
  1739 + <copies>1</copies>
  1740 + <partitioning>
  1741 + <method>none</method>
  1742 + <schema_name/>
  1743 + </partitioning>
  1744 + <connection>bus_control_variable</connection>
  1745 + <cache>N</cache>
  1746 + <cache_load_all>N</cache_load_all>
  1747 + <cache_size>0</cache_size>
  1748 + <lookup>
  1749 + <schema/>
  1750 + <table>bsth_c_s_ttinfo</table>
  1751 + <orderby/>
  1752 + <fail_on_multiple>N</fail_on_multiple>
  1753 + <eat_row_on_failure>N</eat_row_on_failure>
  1754 + <key>
  1755 + <name>xlid</name>
  1756 + <field>xl</field>
  1757 + <condition>&#x3d;</condition>
  1758 + <name2/>
  1759 + </key>
  1760 + <key>
  1761 + <name>ttinfoname_</name>
  1762 + <field>name</field>
  1763 + <condition>&#x3d;</condition>
  1764 + <name2/>
  1765 + </key>
  1766 + <key>
  1767 + <name>iscanceled</name>
  1768 + <field>is_cancel</field>
  1769 + <condition>&#x3d;</condition>
  1770 + <name2/>
  1771 + </key>
  1772 + <value>
  1773 + <name>id</name>
  1774 + <rename>ttid</rename>
  1775 + <default/>
  1776 + <type>Integer</type>
  1777 + </value>
  1778 + </lookup>
  1779 + <cluster_schema/>
  1780 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1781 + <xloc>1011</xloc>
  1782 + <yloc>134</yloc>
  1783 + <draw>Y</draw>
  1784 + </GUI>
  1785 + </step>
  1786 +
  1787 + <step>
  1788 + <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x5173;&#x8054;</name>
  1789 + <type>DBLookup</type>
  1790 + <description/>
  1791 + <distribute>Y</distribute>
  1792 + <custom_distribution/>
  1793 + <copies>1</copies>
  1794 + <partitioning>
  1795 + <method>none</method>
  1796 + <schema_name/>
  1797 + </partitioning>
  1798 + <connection>bus_control_variable</connection>
  1799 + <cache>N</cache>
  1800 + <cache_load_all>N</cache_load_all>
  1801 + <cache_size>0</cache_size>
  1802 + <lookup>
  1803 + <schema/>
  1804 + <table>bsth_c_line</table>
  1805 + <orderby/>
  1806 + <fail_on_multiple>N</fail_on_multiple>
  1807 + <eat_row_on_failure>N</eat_row_on_failure>
  1808 + <key>
  1809 + <name>xlname_</name>
  1810 + <field>name</field>
  1811 + <condition>&#x3d;</condition>
  1812 + <name2/>
  1813 + </key>
  1814 + <key>
  1815 + <name>iscanceled</name>
  1816 + <field>destroy</field>
  1817 + <condition>&#x3d;</condition>
  1818 + <name2/>
  1819 + </key>
  1820 + <value>
  1821 + <name>id</name>
  1822 + <rename>xlid</rename>
  1823 + <default/>
  1824 + <type>Integer</type>
  1825 + </value>
  1826 + </lookup>
  1827 + <cluster_schema/>
  1828 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1829 + <xloc>1007</xloc>
  1830 + <yloc>43</yloc>
  1831 + <draw>Y</draw>
  1832 + </GUI>
  1833 + </step>
  1834 +
  1835 + <step>
  1836 + <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x51fa;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
  1837 + <type>DBLookup</type>
  1838 + <description/>
  1839 + <distribute>Y</distribute>
  1840 + <custom_distribution/>
  1841 + <copies>1</copies>
  1842 + <partitioning>
  1843 + <method>none</method>
  1844 + <schema_name/>
  1845 + </partitioning>
  1846 + <connection>bus_control_variable</connection>
  1847 + <cache>N</cache>
  1848 + <cache_load_all>N</cache_load_all>
  1849 + <cache_size>0</cache_size>
  1850 + <lookup>
  1851 + <schema/>
  1852 + <table>bsth_c_line_information</table>
  1853 + <orderby/>
  1854 + <fail_on_multiple>N</fail_on_multiple>
  1855 + <eat_row_on_failure>N</eat_row_on_failure>
  1856 + <key>
  1857 + <name>xlid</name>
  1858 + <field>line</field>
  1859 + <condition>&#x3d;</condition>
  1860 + <name2/>
  1861 + </key>
  1862 + <value>
  1863 + <name>up_out_timer</name>
  1864 + <rename>up_out_timer</rename>
  1865 + <default/>
  1866 + <type>Number</type>
  1867 + </value>
  1868 + <value>
  1869 + <name>up_out_mileage</name>
  1870 + <rename>up_out_mileage</rename>
  1871 + <default/>
  1872 + <type>Number</type>
  1873 + </value>
  1874 + <value>
  1875 + <name>down_out_timer</name>
  1876 + <rename>down_out_timer</rename>
  1877 + <default/>
  1878 + <type>Number</type>
  1879 + </value>
  1880 + <value>
  1881 + <name>down_out_mileage</name>
  1882 + <rename>down_out_mileage</rename>
  1883 + <default/>
  1884 + <type>Number</type>
  1885 + </value>
  1886 + </lookup>
  1887 + <cluster_schema/>
  1888 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1889 + <xloc>335</xloc>
  1890 + <yloc>763</yloc>
  1891 + <draw>Y</draw>
  1892 + </GUI>
  1893 + </step>
  1894 +
  1895 + <step>
  1896 + <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x8fdb;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
  1897 + <type>DBLookup</type>
  1898 + <description/>
  1899 + <distribute>Y</distribute>
  1900 + <custom_distribution/>
  1901 + <copies>1</copies>
  1902 + <partitioning>
  1903 + <method>none</method>
  1904 + <schema_name/>
  1905 + </partitioning>
  1906 + <connection>bus_control_variable</connection>
  1907 + <cache>N</cache>
  1908 + <cache_load_all>N</cache_load_all>
  1909 + <cache_size>0</cache_size>
  1910 + <lookup>
  1911 + <schema/>
  1912 + <table>bsth_c_line_information</table>
  1913 + <orderby/>
  1914 + <fail_on_multiple>N</fail_on_multiple>
  1915 + <eat_row_on_failure>N</eat_row_on_failure>
  1916 + <key>
  1917 + <name>xlid</name>
  1918 + <field>line</field>
  1919 + <condition>&#x3d;</condition>
  1920 + <name2/>
  1921 + </key>
  1922 + <value>
  1923 + <name>up_in_mileage</name>
  1924 + <rename>up_in_mileage</rename>
  1925 + <default/>
  1926 + <type>Number</type>
  1927 + </value>
  1928 + <value>
  1929 + <name>up_in_timer</name>
  1930 + <rename>up_in_timer</rename>
  1931 + <default/>
  1932 + <type>Number</type>
  1933 + </value>
  1934 + <value>
  1935 + <name>down_in_mileage</name>
  1936 + <rename>down_in_mileage</rename>
  1937 + <default/>
  1938 + <type>Number</type>
  1939 + </value>
  1940 + <value>
  1941 + <name>down_in_timer</name>
  1942 + <rename>down_in_timer</rename>
  1943 + <default/>
  1944 + <type>Number</type>
  1945 + </value>
  1946 + </lookup>
  1947 + <cluster_schema/>
  1948 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1949 + <xloc>553</xloc>
  1950 + <yloc>1004</yloc>
  1951 + <draw>Y</draw>
  1952 + </GUI>
  1953 + </step>
  1954 +
  1955 + <step>
  1956 + <name>&#x67e5;&#x627e;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;</name>
  1957 + <type>DBLookup</type>
  1958 + <description/>
  1959 + <distribute>Y</distribute>
  1960 + <custom_distribution/>
  1961 + <copies>1</copies>
  1962 + <partitioning>
  1963 + <method>none</method>
  1964 + <schema_name/>
  1965 + </partitioning>
  1966 + <connection>bus_control_variable</connection>
  1967 + <cache>N</cache>
  1968 + <cache_load_all>N</cache_load_all>
  1969 + <cache_size>0</cache_size>
  1970 + <lookup>
  1971 + <schema/>
  1972 + <table>bsth_c_stationroute</table>
  1973 + <orderby/>
  1974 + <fail_on_multiple>N</fail_on_multiple>
  1975 + <eat_row_on_failure>N</eat_row_on_failure>
  1976 + <key>
  1977 + <name>xlid</name>
  1978 + <field>line</field>
  1979 + <condition>&#x3d;</condition>
  1980 + <name2/>
  1981 + </key>
  1982 + <key>
  1983 + <name>sxx</name>
  1984 + <field>directions</field>
  1985 + <condition>&#x3d;</condition>
  1986 + <name2/>
  1987 + </key>
  1988 + <key>
  1989 + <name>endZdtype</name>
  1990 + <field>station_mark</field>
  1991 + <condition>&#x3d;</condition>
  1992 + <name2/>
  1993 + </key>
  1994 + <key>
  1995 + <name>destory</name>
  1996 + <field>destroy</field>
  1997 + <condition>&#x3d;</condition>
  1998 + <name2/>
  1999 + </key>
  2000 + <value>
  2001 + <name>station_name</name>
  2002 + <rename>zdzname</rename>
  2003 + <default/>
  2004 + <type>String</type>
  2005 + </value>
  2006 + <value>
  2007 + <name>station</name>
  2008 + <rename>zdzid</rename>
  2009 + <default/>
  2010 + <type>Integer</type>
  2011 + </value>
  2012 + <value>
  2013 + <name>station_code</name>
  2014 + <rename>zdzcode</rename>
  2015 + <default/>
  2016 + <type>String</type>
  2017 + </value>
  2018 + </lookup>
  2019 + <cluster_schema/>
  2020 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2021 + <xloc>280</xloc>
  2022 + <yloc>404</yloc>
  2023 + <draw>Y</draw>
  2024 + </GUI>
  2025 + </step>
  2026 +
  2027 + <step>
  2028 + <name>&#x67e5;&#x627e;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</name>
  2029 + <type>DBLookup</type>
  2030 + <description/>
  2031 + <distribute>Y</distribute>
  2032 + <custom_distribution/>
  2033 + <copies>1</copies>
  2034 + <partitioning>
  2035 + <method>none</method>
  2036 + <schema_name/>
  2037 + </partitioning>
  2038 + <connection>bus_control_variable</connection>
  2039 + <cache>N</cache>
  2040 + <cache_load_all>N</cache_load_all>
  2041 + <cache_size>0</cache_size>
  2042 + <lookup>
  2043 + <schema/>
  2044 + <table>bsth_c_stationroute</table>
  2045 + <orderby/>
  2046 + <fail_on_multiple>N</fail_on_multiple>
  2047 + <eat_row_on_failure>N</eat_row_on_failure>
  2048 + <key>
  2049 + <name>xlid</name>
  2050 + <field>line</field>
  2051 + <condition>&#x3d;</condition>
  2052 + <name2/>
  2053 + </key>
  2054 + <key>
  2055 + <name>qdzname</name>
  2056 + <field>station_name</field>
  2057 + <condition>&#x3d;</condition>
  2058 + <name2/>
  2059 + </key>
  2060 + <key>
  2061 + <name>sendZdtype</name>
  2062 + <field>station_mark</field>
  2063 + <condition>&#x3d;</condition>
  2064 + <name2/>
  2065 + </key>
  2066 + <key>
  2067 + <name>destory</name>
  2068 + <field>destroy</field>
  2069 + <condition>&#x3d;</condition>
  2070 + <name2/>
  2071 + </key>
  2072 + <value>
  2073 + <name>station</name>
  2074 + <rename>qdzid</rename>
  2075 + <default/>
  2076 + <type>Integer</type>
  2077 + </value>
  2078 + <value>
  2079 + <name>directions</name>
  2080 + <rename>sxx</rename>
  2081 + <default/>
  2082 + <type>Integer</type>
  2083 + </value>
  2084 + <value>
  2085 + <name>station_code</name>
  2086 + <rename>qdzcode</rename>
  2087 + <default/>
  2088 + <type>String</type>
  2089 + </value>
  2090 + </lookup>
  2091 + <cluster_schema/>
  2092 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2093 + <xloc>430</xloc>
  2094 + <yloc>403</yloc>
  2095 + <draw>Y</draw>
  2096 + </GUI>
  2097 + </step>
  2098 +
  2099 + <step>
  2100 + <name>&#x67e5;&#x627e;&#x8def;&#x724c;&#x5173;&#x8054;</name>
  2101 + <type>DBLookup</type>
  2102 + <description/>
  2103 + <distribute>Y</distribute>
  2104 + <custom_distribution/>
  2105 + <copies>1</copies>
  2106 + <partitioning>
  2107 + <method>none</method>
  2108 + <schema_name/>
  2109 + </partitioning>
  2110 + <connection>bus_control_variable</connection>
  2111 + <cache>N</cache>
  2112 + <cache_load_all>N</cache_load_all>
  2113 + <cache_size>0</cache_size>
  2114 + <lookup>
  2115 + <schema/>
  2116 + <table>bsth_c_s_gbi</table>
  2117 + <orderby/>
  2118 + <fail_on_multiple>N</fail_on_multiple>
  2119 + <eat_row_on_failure>N</eat_row_on_failure>
  2120 + <key>
  2121 + <name>xlid</name>
  2122 + <field>xl</field>
  2123 + <condition>&#x3d;</condition>
  2124 + <name2/>
  2125 + </key>
  2126 + <key>
  2127 + <name>lp</name>
  2128 + <field>lp_name</field>
  2129 + <condition>&#x3d;</condition>
  2130 + <name2/>
  2131 + </key>
  2132 + <key>
  2133 + <name>iscanceled</name>
  2134 + <field>is_cancel</field>
  2135 + <condition>&#x3d;</condition>
  2136 + <name2/>
  2137 + </key>
  2138 + <value>
  2139 + <name>id</name>
  2140 + <rename>lpid</rename>
  2141 + <default/>
  2142 + <type>Integer</type>
  2143 + </value>
  2144 + </lookup>
  2145 + <cluster_schema/>
  2146 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2147 + <xloc>1013</xloc>
  2148 + <yloc>265</yloc>
  2149 + <draw>Y</draw>
  2150 + </GUI>
  2151 + </step>
  2152 +
  2153 + <step>
  2154 + <name>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ebf;&#x8def;&#x65b9;&#x5411;</name>
  2155 + <type>DBLookup</type>
  2156 + <description/>
  2157 + <distribute>Y</distribute>
  2158 + <custom_distribution/>
  2159 + <copies>1</copies>
  2160 + <partitioning>
  2161 + <method>none</method>
  2162 + <schema_name/>
  2163 + </partitioning>
  2164 + <connection>bus_control_variable</connection>
  2165 + <cache>N</cache>
  2166 + <cache_load_all>N</cache_load_all>
  2167 + <cache_size>0</cache_size>
  2168 + <lookup>
  2169 + <schema/>
  2170 + <table>bsth_c_stationroute</table>
  2171 + <orderby/>
  2172 + <fail_on_multiple>N</fail_on_multiple>
  2173 + <eat_row_on_failure>N</eat_row_on_failure>
  2174 + <key>
  2175 + <name>xlid</name>
  2176 + <field>line</field>
  2177 + <condition>&#x3d;</condition>
  2178 + <name2/>
  2179 + </key>
  2180 + <key>
  2181 + <name>startZdtype_calcu</name>
  2182 + <field>station_mark</field>
  2183 + <condition>&#x3d;</condition>
  2184 + <name2/>
  2185 + </key>
  2186 + <key>
  2187 + <name>qdzname_calcu</name>
  2188 + <field>station_name</field>
  2189 + <condition>&#x3d;</condition>
  2190 + <name2/>
  2191 + </key>
  2192 + <key>
  2193 + <name>destory</name>
  2194 + <field>destroy</field>
  2195 + <condition>&#x3d;</condition>
  2196 + <name2/>
  2197 + </key>
  2198 + <value>
  2199 + <name>directions</name>
  2200 + <rename>sxx</rename>
  2201 + <default/>
  2202 + <type>String</type>
  2203 + </value>
  2204 + </lookup>
  2205 + <cluster_schema/>
  2206 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2207 + <xloc>548</xloc>
  2208 + <yloc>610</yloc>
  2209 + <draw>Y</draw>
  2210 + </GUI>
  2211 + </step>
  2212 +
  2213 + <step>
  2214 + <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>
  2215 + <type>DBLookup</type>
  2216 + <description/>
  2217 + <distribute>Y</distribute>
  2218 + <custom_distribution/>
  2219 + <copies>1</copies>
  2220 + <partitioning>
  2221 + <method>none</method>
  2222 + <schema_name/>
  2223 + </partitioning>
  2224 + <connection>bus_control_variable</connection>
  2225 + <cache>Y</cache>
  2226 + <cache_load_all>Y</cache_load_all>
  2227 + <cache_size>0</cache_size>
  2228 + <lookup>
  2229 + <schema/>
  2230 + <table>bsth_c_stationroute</table>
  2231 + <orderby/>
  2232 + <fail_on_multiple>N</fail_on_multiple>
  2233 + <eat_row_on_failure>N</eat_row_on_failure>
  2234 + <key>
  2235 + <name>xlid</name>
  2236 + <field>line</field>
  2237 + <condition>&#x3d;</condition>
  2238 + <name2/>
  2239 + </key>
  2240 + <key>
  2241 + <name>endZdtype_calcu</name>
  2242 + <field>station_mark</field>
  2243 + <condition>&#x3d;</condition>
  2244 + <name2/>
  2245 + </key>
  2246 + <key>
  2247 + <name>sxx</name>
  2248 + <field>directions</field>
  2249 + <condition>&#x3d;</condition>
  2250 + <name2/>
  2251 + </key>
  2252 + <key>
  2253 + <name>destory</name>
  2254 + <field>destroy</field>
  2255 + <condition>&#x3d;</condition>
  2256 + <name2/>
  2257 + </key>
  2258 + <value>
  2259 + <name>station_name</name>
  2260 + <rename>zdzname_calcu</rename>
  2261 + <default/>
  2262 + <type>Integer</type>
  2263 + </value>
  2264 + </lookup>
  2265 + <cluster_schema/>
  2266 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2267 + <xloc>550</xloc>
  2268 + <yloc>701</yloc>
  2269 + <draw>Y</draw>
  2270 + </GUI>
  2271 + </step>
  2272 +
  2273 + <step>
  2274 + <name>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</name>
  2275 + <type>DBLookup</type>
  2276 + <description/>
  2277 + <distribute>Y</distribute>
  2278 + <custom_distribution/>
  2279 + <copies>1</copies>
  2280 + <partitioning>
  2281 + <method>none</method>
  2282 + <schema_name/>
  2283 + </partitioning>
  2284 + <connection>bus_control_variable</connection>
  2285 + <cache>N</cache>
  2286 + <cache_load_all>N</cache_load_all>
  2287 + <cache_size>0</cache_size>
  2288 + <lookup>
  2289 + <schema/>
  2290 + <table>bsth_c_stationroute</table>
  2291 + <orderby/>
  2292 + <fail_on_multiple>N</fail_on_multiple>
  2293 + <eat_row_on_failure>N</eat_row_on_failure>
  2294 + <key>
  2295 + <name>xlid</name>
  2296 + <field>line</field>
  2297 + <condition>&#x3d;</condition>
  2298 + <name2/>
  2299 + </key>
  2300 + <key>
  2301 + <name>zdzname_calcu</name>
  2302 + <field>station_name</field>
  2303 + <condition>&#x3d;</condition>
  2304 + <name2/>
  2305 + </key>
  2306 + <key>
  2307 + <name>startZdtype_calcu</name>
  2308 + <field>station_mark</field>
  2309 + <condition>&#x3d;</condition>
  2310 + <name2/>
  2311 + </key>
  2312 + <key>
  2313 + <name>destory</name>
  2314 + <field>destroy</field>
  2315 + <condition>&#x3d;</condition>
  2316 + <name2/>
  2317 + </key>
  2318 + <value>
  2319 + <name>directions</name>
  2320 + <rename>sxx2</rename>
  2321 + <default/>
  2322 + <type>Integer</type>
  2323 + </value>
  2324 + <value>
  2325 + <name>station</name>
  2326 + <rename>qdzid</rename>
  2327 + <default/>
  2328 + <type>Integer</type>
  2329 + </value>
  2330 + <value>
  2331 + <name>station_code</name>
  2332 + <rename>qdzcode</rename>
  2333 + <default/>
  2334 + <type>String</type>
  2335 + </value>
  2336 + <value>
  2337 + <name>station_name</name>
  2338 + <rename>qname</rename>
  2339 + <default/>
  2340 + <type>String</type>
  2341 + </value>
  2342 + </lookup>
  2343 + <cluster_schema/>
  2344 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2345 + <xloc>551</xloc>
  2346 + <yloc>782</yloc>
  2347 + <draw>Y</draw>
  2348 + </GUI>
  2349 + </step>
  2350 +
  2351 + <step>
  2352 + <name>&#x6b63;&#x5e38;&#x73ed;&#x6b21;_&#x5904;&#x7406;&#x6570;&#x636e;</name>
  2353 + <type>ScriptValueMod</type>
  2354 + <description/>
  2355 + <distribute>Y</distribute>
  2356 + <custom_distribution/>
  2357 + <copies>1</copies>
  2358 + <partitioning>
  2359 + <method>none</method>
  2360 + <schema_name/>
  2361 + </partitioning>
  2362 + <compatible>N</compatible>
  2363 + <optimizationLevel>9</optimizationLevel>
  2364 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  2365 + <jsScript_name>Script 1</jsScript_name>
  2366 + <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>
  2367 + </jsScript> </jsScripts> <fields> <field> <name>sendZdtype</name>
  2368 + <rename>sendZdtype</rename>
  2369 + <type>String</type>
  2370 + <length>-1</length>
  2371 + <precision>-1</precision>
  2372 + <replace>N</replace>
  2373 + </field> <field> <name>endZdtype</name>
  2374 + <rename>endZdtype</rename>
  2375 + <type>String</type>
  2376 + <length>-1</length>
  2377 + <precision>-1</precision>
  2378 + <replace>N</replace>
  2379 + </field> <field> <name>destory</name>
  2380 + <rename>destory</rename>
  2381 + <type>Integer</type>
  2382 + <length>-1</length>
  2383 + <precision>-1</precision>
  2384 + <replace>N</replace>
  2385 + </field> </fields> <cluster_schema/>
  2386 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2387 + <xloc>588</xloc>
  2388 + <yloc>403</yloc>
  2389 + <draw>Y</draw>
  2390 + </GUI>
  2391 + </step>
  2392 +
  2393 + <step>
  2394 + <name>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x6570;&#x636e;</name>
  2395 + <type>Dummy</type>
  2396 + <description/>
  2397 + <distribute>Y</distribute>
  2398 + <custom_distribution/>
  2399 + <copies>1</copies>
  2400 + <partitioning>
  2401 + <method>none</method>
  2402 + <schema_name/>
  2403 + </partitioning>
  2404 + <cluster_schema/>
  2405 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2406 + <xloc>725</xloc>
  2407 + <yloc>404</yloc>
  2408 + <draw>Y</draw>
  2409 + </GUI>
  2410 + </step>
  2411 +
  2412 + <step>
  2413 + <name>&#x6dfb;&#x52a0;&#x53d1;&#x8f66;&#x987a;&#x5e8f;&#x53f7;</name>
  2414 + <type>GroupBy</type>
  2415 + <description/>
  2416 + <distribute>Y</distribute>
  2417 + <custom_distribution/>
  2418 + <copies>1</copies>
  2419 + <partitioning>
  2420 + <method>none</method>
  2421 + <schema_name/>
  2422 + </partitioning>
  2423 + <all_rows>Y</all_rows>
  2424 + <ignore_aggregate>N</ignore_aggregate>
  2425 + <field_ignore/>
  2426 + <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
  2427 + <prefix>grp</prefix>
  2428 + <add_linenr>Y</add_linenr>
  2429 + <linenr_fieldname>fcno</linenr_fieldname>
  2430 + <give_back_row>N</give_back_row>
  2431 + <group>
  2432 + <field>
  2433 + <name>lp</name>
  2434 + </field>
  2435 + </group>
  2436 + <fields>
  2437 + </fields>
  2438 + <cluster_schema/>
  2439 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2440 + <xloc>442</xloc>
  2441 + <yloc>44</yloc>
  2442 + <draw>Y</draw>
  2443 + </GUI>
  2444 + </step>
  2445 +
  2446 + <step>
  2447 + <name>&#x6dfb;&#x52a0;&#x5bf9;&#x5e94;&#x73ed;&#x6b21;&#x6570;</name>
  2448 + <type>GroupBy</type>
  2449 + <description/>
  2450 + <distribute>Y</distribute>
  2451 + <custom_distribution/>
  2452 + <copies>1</copies>
  2453 + <partitioning>
  2454 + <method>none</method>
  2455 + <schema_name/>
  2456 + </partitioning>
  2457 + <all_rows>Y</all_rows>
  2458 + <ignore_aggregate>N</ignore_aggregate>
  2459 + <field_ignore/>
  2460 + <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
  2461 + <prefix>grp</prefix>
  2462 + <add_linenr>Y</add_linenr>
  2463 + <linenr_fieldname>bcs</linenr_fieldname>
  2464 + <give_back_row>N</give_back_row>
  2465 + <group>
  2466 + </group>
  2467 + <fields>
  2468 + </fields>
  2469 + <cluster_schema/>
  2470 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2471 + <xloc>692</xloc>
  2472 + <yloc>44</yloc>
  2473 + <draw>Y</draw>
  2474 + </GUI>
  2475 + </step>
  2476 +
  2477 + <step>
  2478 + <name>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</name>
  2479 + <type>Normaliser</type>
  2480 + <description/>
  2481 + <distribute>Y</distribute>
  2482 + <custom_distribution/>
  2483 + <copies>1</copies>
  2484 + <partitioning>
  2485 + <method>none</method>
  2486 + <schema_name/>
  2487 + </partitioning>
  2488 + <typefield>&#x7ad9;&#x70b9;&#x540d;&#x79f0;</typefield>
  2489 + <fields> </fields> <cluster_schema/>
  2490 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2491 + <xloc>248</xloc>
  2492 + <yloc>44</yloc>
  2493 + <draw>Y</draw>
  2494 + </GUI>
  2495 + </step>
  2496 +
  2497 + <step>
  2498 + <name>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178;</name>
  2499 + <type>ValueMapper</type>
  2500 + <description/>
  2501 + <distribute>Y</distribute>
  2502 + <custom_distribution/>
  2503 + <copies>1</copies>
  2504 + <partitioning>
  2505 + <method>none</method>
  2506 + <schema_name/>
  2507 + </partitioning>
  2508 + <field_to_use>bctype</field_to_use>
  2509 + <target_field>bctype_code</target_field>
  2510 + <non_match_default>&#x672a;&#x77e5;&#x7c7b;&#x578b;</non_match_default>
  2511 + <fields>
  2512 + <field>
  2513 + <source_value>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</source_value>
  2514 + <target_value>normal</target_value>
  2515 + </field>
  2516 + <field>
  2517 + <source_value>&#x51fa;&#x573a;</source_value>
  2518 + <target_value>out</target_value>
  2519 + </field>
  2520 + <field>
  2521 + <source_value>&#x8fdb;&#x573a;</source_value>
  2522 + <target_value>in</target_value>
  2523 + </field>
  2524 + <field>
  2525 + <source_value>&#x52a0;&#x6cb9;</source_value>
  2526 + <target_value>oil</target_value>
  2527 + </field>
  2528 + <field>
  2529 + <source_value>&#x4e34;&#x52a0;</source_value>
  2530 + <target_value>temp</target_value>
  2531 + </field>
  2532 + <field>
  2533 + <source_value>&#x533a;&#x95f4;</source_value>
  2534 + <target_value>region</target_value>
  2535 + </field>
  2536 + <field>
  2537 + <source_value>&#x653e;&#x7a7a;</source_value>
  2538 + <target_value>venting</target_value>
  2539 + </field>
  2540 + <field>
  2541 + <source_value>&#x653e;&#x5927;&#x7ad9;</source_value>
  2542 + <target_value>major</target_value>
  2543 + </field>
  2544 + </fields>
  2545 + <cluster_schema/>
  2546 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2547 + <xloc>149</xloc>
  2548 + <yloc>491</yloc>
  2549 + <draw>Y</draw>
  2550 + </GUI>
  2551 + </step>
  2552 +
  2553 + <step>
  2554 + <name>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 2</name>
  2555 + <type>ValueMapper</type>
  2556 + <description/>
  2557 + <distribute>Y</distribute>
  2558 + <custom_distribution/>
  2559 + <copies>1</copies>
  2560 + <partitioning>
  2561 + <method>none</method>
  2562 + <schema_name/>
  2563 + </partitioning>
  2564 + <field_to_use>bctype</field_to_use>
  2565 + <target_field>bctype_code</target_field>
  2566 + <non_match_default>&#x672a;&#x77e5;&#x7c7b;&#x578b;</non_match_default>
  2567 + <fields>
  2568 + <field>
  2569 + <source_value>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</source_value>
  2570 + <target_value>normal</target_value>
  2571 + </field>
  2572 + <field>
  2573 + <source_value>&#x51fa;&#x573a;</source_value>
  2574 + <target_value>out</target_value>
  2575 + </field>
  2576 + <field>
  2577 + <source_value>&#x8fdb;&#x573a;</source_value>
  2578 + <target_value>in</target_value>
  2579 + </field>
  2580 + <field>
  2581 + <source_value>&#x52a0;&#x6cb9;</source_value>
  2582 + <target_value>oil</target_value>
  2583 + </field>
  2584 + <field>
  2585 + <source_value>&#x4e34;&#x52a0;</source_value>
  2586 + <target_value>temp</target_value>
  2587 + </field>
  2588 + <field>
  2589 + <source_value>&#x533a;&#x95f4;</source_value>
  2590 + <target_value>region</target_value>
  2591 + </field>
  2592 + <field>
  2593 + <source_value>&#x653e;&#x7a7a;</source_value>
  2594 + <target_value>venting</target_value>
  2595 + </field>
  2596 + <field>
  2597 + <source_value>&#x653e;&#x5927;&#x7ad9;</source_value>
  2598 + <target_value>major</target_value>
  2599 + </field>
  2600 + </fields>
  2601 + <cluster_schema/>
  2602 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2603 + <xloc>333</xloc>
  2604 + <yloc>681</yloc>
  2605 + <draw>Y</draw>
  2606 + </GUI>
  2607 + </step>
  2608 +
  2609 + <step>
  2610 + <name>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 3</name>
  2611 + <type>ValueMapper</type>
  2612 + <description/>
  2613 + <distribute>Y</distribute>
  2614 + <custom_distribution/>
  2615 + <copies>1</copies>
  2616 + <partitioning>
  2617 + <method>none</method>
  2618 + <schema_name/>
  2619 + </partitioning>
  2620 + <field_to_use>bctype</field_to_use>
  2621 + <target_field>bctype_code</target_field>
  2622 + <non_match_default>&#x672a;&#x77e5;&#x7c7b;&#x578b;</non_match_default>
  2623 + <fields>
  2624 + <field>
  2625 + <source_value>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</source_value>
  2626 + <target_value>normal</target_value>
  2627 + </field>
  2628 + <field>
  2629 + <source_value>&#x51fa;&#x573a;</source_value>
  2630 + <target_value>out</target_value>
  2631 + </field>
  2632 + <field>
  2633 + <source_value>&#x8fdb;&#x573a;</source_value>
  2634 + <target_value>in</target_value>
  2635 + </field>
  2636 + <field>
  2637 + <source_value>&#x52a0;&#x6cb9;</source_value>
  2638 + <target_value>oil</target_value>
  2639 + </field>
  2640 + <field>
  2641 + <source_value>&#x4e34;&#x52a0;</source_value>
  2642 + <target_value>temp</target_value>
  2643 + </field>
  2644 + <field>
  2645 + <source_value>&#x533a;&#x95f4;</source_value>
  2646 + <target_value>region</target_value>
  2647 + </field>
  2648 + <field>
  2649 + <source_value>&#x653e;&#x7a7a;</source_value>
  2650 + <target_value>venting</target_value>
  2651 + </field>
  2652 + <field>
  2653 + <source_value>&#x653e;&#x5927;&#x7ad9;</source_value>
  2654 + <target_value>major</target_value>
  2655 + </field>
  2656 + </fields>
  2657 + <cluster_schema/>
  2658 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2659 + <xloc>551</xloc>
  2660 + <yloc>928</yloc>
  2661 + <draw>Y</draw>
  2662 + </GUI>
  2663 + </step>
  2664 +
  2665 + <step>
  2666 + <name>&#x7c7b;&#x578b;&#x4fee;&#x6b63;</name>
  2667 + <type>SelectValues</type>
  2668 + <description/>
  2669 + <distribute>Y</distribute>
  2670 + <custom_distribution/>
  2671 + <copies>1</copies>
  2672 + <partitioning>
  2673 + <method>none</method>
  2674 + <schema_name/>
  2675 + </partitioning>
  2676 + <fields> <select_unspecified>N</select_unspecified>
  2677 + <meta> <name>jhlc</name>
  2678 + <rename>jhlc</rename>
  2679 + <type>Number</type>
  2680 + <length>-2</length>
  2681 + <precision>-2</precision>
  2682 + <conversion_mask/>
  2683 + <date_format_lenient>false</date_format_lenient>
  2684 + <date_format_locale/>
  2685 + <date_format_timezone/>
  2686 + <lenient_string_to_number>false</lenient_string_to_number>
  2687 + <encoding/>
  2688 + <decimal_symbol/>
  2689 + <grouping_symbol/>
  2690 + <currency_symbol/>
  2691 + <storage_type/>
  2692 + </meta> <meta> <name>bcsj</name>
  2693 + <rename>bcsj</rename>
  2694 + <type>Integer</type>
  2695 + <length>-2</length>
  2696 + <precision>-2</precision>
  2697 + <conversion_mask/>
  2698 + <date_format_lenient>false</date_format_lenient>
  2699 + <date_format_locale/>
  2700 + <date_format_timezone/>
  2701 + <lenient_string_to_number>false</lenient_string_to_number>
  2702 + <encoding/>
  2703 + <decimal_symbol/>
  2704 + <grouping_symbol/>
  2705 + <currency_symbol/>
  2706 + <storage_type/>
  2707 + </meta> </fields> <cluster_schema/>
  2708 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2709 + <xloc>146</xloc>
  2710 + <yloc>768</yloc>
  2711 + <draw>Y</draw>
  2712 + </GUI>
  2713 + </step>
  2714 +
  2715 + <step>
  2716 + <name>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 2</name>
  2717 + <type>SelectValues</type>
  2718 + <description/>
  2719 + <distribute>Y</distribute>
  2720 + <custom_distribution/>
  2721 + <copies>1</copies>
  2722 + <partitioning>
  2723 + <method>none</method>
  2724 + <schema_name/>
  2725 + </partitioning>
  2726 + <fields> <select_unspecified>N</select_unspecified>
  2727 + <meta> <name>out_mileage</name>
  2728 + <rename>out_mileage</rename>
  2729 + <type>Number</type>
  2730 + <length>-2</length>
  2731 + <precision>-2</precision>
  2732 + <conversion_mask/>
  2733 + <date_format_lenient>false</date_format_lenient>
  2734 + <date_format_locale/>
  2735 + <date_format_timezone/>
  2736 + <lenient_string_to_number>false</lenient_string_to_number>
  2737 + <encoding/>
  2738 + <decimal_symbol/>
  2739 + <grouping_symbol/>
  2740 + <currency_symbol/>
  2741 + <storage_type/>
  2742 + </meta> <meta> <name>out_time</name>
  2743 + <rename>out_time</rename>
  2744 + <type>Integer</type>
  2745 + <length>-2</length>
  2746 + <precision>-2</precision>
  2747 + <conversion_mask/>
  2748 + <date_format_lenient>false</date_format_lenient>
  2749 + <date_format_locale/>
  2750 + <date_format_timezone/>
  2751 + <lenient_string_to_number>false</lenient_string_to_number>
  2752 + <encoding/>
  2753 + <decimal_symbol/>
  2754 + <grouping_symbol/>
  2755 + <currency_symbol/>
  2756 + <storage_type/>
  2757 + </meta> <meta> <name>sxx</name>
  2758 + <rename>sxx</rename>
  2759 + <type>Integer</type>
  2760 + <length>-2</length>
  2761 + <precision>-2</precision>
  2762 + <conversion_mask/>
  2763 + <date_format_lenient>false</date_format_lenient>
  2764 + <date_format_locale/>
  2765 + <date_format_timezone/>
  2766 + <lenient_string_to_number>false</lenient_string_to_number>
  2767 + <encoding/>
  2768 + <decimal_symbol/>
  2769 + <grouping_symbol/>
  2770 + <currency_symbol/>
  2771 + <storage_type/>
  2772 + </meta> </fields> <cluster_schema/>
  2773 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2774 + <xloc>338</xloc>
  2775 + <yloc>1008</yloc>
  2776 + <draw>Y</draw>
  2777 + </GUI>
  2778 + </step>
  2779 +
  2780 + <step>
  2781 + <name>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 3</name>
  2782 + <type>SelectValues</type>
  2783 + <description/>
  2784 + <distribute>Y</distribute>
  2785 + <custom_distribution/>
  2786 + <copies>1</copies>
  2787 + <partitioning>
  2788 + <method>none</method>
  2789 + <schema_name/>
  2790 + </partitioning>
  2791 + <fields> <select_unspecified>N</select_unspecified>
  2792 + <meta> <name>parade_mileage</name>
  2793 + <rename>parade_mileage</rename>
  2794 + <type>Number</type>
  2795 + <length>-2</length>
  2796 + <precision>-2</precision>
  2797 + <conversion_mask/>
  2798 + <date_format_lenient>false</date_format_lenient>
  2799 + <date_format_locale/>
  2800 + <date_format_timezone/>
  2801 + <lenient_string_to_number>false</lenient_string_to_number>
  2802 + <encoding/>
  2803 + <decimal_symbol/>
  2804 + <grouping_symbol/>
  2805 + <currency_symbol/>
  2806 + <storage_type/>
  2807 + </meta> <meta> <name>parade_time</name>
  2808 + <rename>parade_time</rename>
  2809 + <type>Integer</type>
  2810 + <length>-2</length>
  2811 + <precision>-2</precision>
  2812 + <conversion_mask/>
  2813 + <date_format_lenient>false</date_format_lenient>
  2814 + <date_format_locale/>
  2815 + <date_format_timezone/>
  2816 + <lenient_string_to_number>false</lenient_string_to_number>
  2817 + <encoding/>
  2818 + <decimal_symbol/>
  2819 + <grouping_symbol/>
  2820 + <currency_symbol/>
  2821 + <storage_type/>
  2822 + </meta> <meta> <name>sxx2</name>
  2823 + <rename>sxx2</rename>
  2824 + <type>Integer</type>
  2825 + <length>-2</length>
  2826 + <precision>-2</precision>
  2827 + <conversion_mask/>
  2828 + <date_format_lenient>false</date_format_lenient>
  2829 + <date_format_locale/>
  2830 + <date_format_timezone/>
  2831 + <lenient_string_to_number>false</lenient_string_to_number>
  2832 + <encoding/>
  2833 + <decimal_symbol/>
  2834 + <grouping_symbol/>
  2835 + <currency_symbol/>
  2836 + <storage_type/>
  2837 + </meta> </fields> <cluster_schema/>
  2838 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2839 + <xloc>847</xloc>
  2840 + <yloc>1003</yloc>
  2841 + <draw>Y</draw>
  2842 + </GUI>
  2843 + </step>
  2844 +
  2845 + <step>
  2846 + <name>&#x8ba1;&#x7b97;&#x73ed;&#x6b21;&#x7c7b;&#x578b;</name>
  2847 + <type>ValueMapper</type>
  2848 + <description/>
  2849 + <distribute>Y</distribute>
  2850 + <custom_distribution/>
  2851 + <copies>1</copies>
  2852 + <partitioning>
  2853 + <method>none</method>
  2854 + <schema_name/>
  2855 + </partitioning>
  2856 + <field_to_use>qdzname</field_to_use>
  2857 + <target_field>bctype</target_field>
  2858 + <non_match_default>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</non_match_default>
  2859 + <fields>
  2860 + <field>
  2861 + <source_value>&#x51fa;&#x573a;</source_value>
  2862 + <target_value>&#x51fa;&#x573a;</target_value>
  2863 + </field>
  2864 + <field>
  2865 + <source_value>&#x8fdb;&#x573a;</source_value>
  2866 + <target_value>&#x8fdb;&#x573a;</target_value>
  2867 + </field>
  2868 + </fields>
  2869 + <cluster_schema/>
  2870 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2871 + <xloc>1014</xloc>
  2872 + <yloc>401</yloc>
  2873 + <draw>Y</draw>
  2874 + </GUI>
  2875 + </step>
  2876 +
  2877 + <step>
  2878 + <name>&#x8bb0;&#x5f55;&#x5173;&#x8054; &#x28;&#x7b1b;&#x5361;&#x5c14;&#x8f93;&#x51fa;&#x29;</name>
  2879 + <type>JoinRows</type>
  2880 + <description/>
  2881 + <distribute>Y</distribute>
  2882 + <custom_distribution/>
  2883 + <copies>1</copies>
  2884 + <partitioning>
  2885 + <method>none</method>
  2886 + <schema_name/>
  2887 + </partitioning>
  2888 + <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
  2889 + <prefix>out</prefix>
  2890 + <cache_size>500</cache_size>
  2891 + <main/>
  2892 + <compare>
  2893 +<condition>
  2894 + <negated>N</negated>
  2895 + <leftvalue/>
  2896 + <function>&#x3d;</function>
  2897 + <rightvalue/>
  2898 + </condition>
  2899 + </compare>
  2900 + <cluster_schema/>
  2901 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2902 + <xloc>310</xloc>
  2903 + <yloc>133</yloc>
  2904 + <draw>Y</draw>
  2905 + </GUI>
  2906 + </step>
  2907 +
  2908 + <step>
  2909 + <name>&#x8fc7;&#x6ee4;&#x8bb0;&#x5f55;&#xff08;&#x53d1;&#x8f66;&#x65f6;&#x95f4;&#x4e3a;&#x7a7a;&#xff09;</name>
  2910 + <type>FilterRows</type>
  2911 + <description/>
  2912 + <distribute>Y</distribute>
  2913 + <custom_distribution/>
  2914 + <copies>1</copies>
  2915 + <partitioning>
  2916 + <method>none</method>
  2917 + <schema_name/>
  2918 + </partitioning>
  2919 +<send_true_to/>
  2920 +<send_false_to/>
  2921 + <compare>
  2922 +<condition>
  2923 + <negated>N</negated>
  2924 + <leftvalue>sendtime</leftvalue>
  2925 + <function>IS NOT NULL</function>
  2926 + <rightvalue/>
  2927 + </condition>
  2928 + </compare>
  2929 + <cluster_schema/>
  2930 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2931 + <xloc>571</xloc>
  2932 + <yloc>44</yloc>
  2933 + <draw>Y</draw>
  2934 + </GUI>
  2935 + </step>
  2936 +
  2937 + <step>
  2938 + <name>&#x8fdb;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x8d77;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</name>
  2939 + <type>ScriptValueMod</type>
  2940 + <description/>
  2941 + <distribute>Y</distribute>
  2942 + <custom_distribution/>
  2943 + <copies>1</copies>
  2944 + <partitioning>
  2945 + <method>none</method>
  2946 + <schema_name/>
  2947 + </partitioning>
  2948 + <compatible>N</compatible>
  2949 + <optimizationLevel>9</optimizationLevel>
  2950 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  2951 + <jsScript_name>Script 1</jsScript_name>
  2952 + <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>
  2953 + </jsScript> </jsScripts> <fields> <field> <name>qdzname_calcu</name>
  2954 + <rename>qdzname_calcu</rename>
  2955 + <type>String</type>
  2956 + <length>-1</length>
  2957 + <precision>-1</precision>
  2958 + <replace>N</replace>
  2959 + </field> <field> <name>startZdtype_calcu</name>
  2960 + <rename>startZdtype_calcu</rename>
  2961 + <type>String</type>
  2962 + <length>-1</length>
  2963 + <precision>-1</precision>
  2964 + <replace>N</replace>
  2965 + </field> <field> <name>endZdtype_calcu</name>
  2966 + <rename>endZdtype_calcu</rename>
  2967 + <type>String</type>
  2968 + <length>-1</length>
  2969 + <precision>-1</precision>
  2970 + <replace>N</replace>
  2971 + </field> <field> <name>destory</name>
  2972 + <rename>destory</rename>
  2973 + <type>Integer</type>
  2974 + <length>-1</length>
  2975 + <precision>-1</precision>
  2976 + <replace>N</replace>
  2977 + </field> </fields> <cluster_schema/>
  2978 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2979 + <xloc>754</xloc>
  2980 + <yloc>610</yloc>
  2981 + <draw>Y</draw>
  2982 + </GUI>
  2983 + </step>
  2984 +
  2985 + <step>
  2986 + <name>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</name>
  2987 + <type>Dummy</type>
  2988 + <description/>
  2989 + <distribute>Y</distribute>
  2990 + <custom_distribution/>
  2991 + <copies>1</copies>
  2992 + <partitioning>
  2993 + <method>none</method>
  2994 + <schema_name/>
  2995 + </partitioning>
  2996 + <cluster_schema/>
  2997 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2998 + <xloc>997</xloc>
  2999 + <yloc>606</yloc>
  3000 + <draw>Y</draw>
  3001 + </GUI>
  3002 + </step>
  3003 +
  3004 + <step_error_handling>
  3005 + <error>
  3006 + <source_step>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail</source_step>
  3007 + <target_step/>
  3008 + <is_enabled>Y</is_enabled>
  3009 + <nr_valuename>c1</nr_valuename>
  3010 + <descriptions_valuename>c2</descriptions_valuename>
  3011 + <fields_valuename>c3</fields_valuename>
  3012 + <codes_valuename>c4</codes_valuename>
  3013 + <max_errors/>
  3014 + <max_pct_errors/>
  3015 + <min_pct_rows/>
  3016 + </error>
  3017 + </step_error_handling>
  3018 + <slave-step-copy-partition-distribution>
  3019 +</slave-step-copy-partition-distribution>
  3020 + <slave_transformation>N</slave_transformation>
  3021 +
  3022 +</transformation>
src/main/resources/logback.xml
@@ -16,12 +16,12 @@ @@ -16,12 +16,12 @@
16 16
17 <!-- 主日志文件 --> 17 <!-- 主日志文件 -->
18 <appender name="FILE" 18 <appender name="FILE"
19 - class="ch.qos.logback.core.rolling.RollingFileAppender"> 19 + class="ch.qos.logback.core.rolling.RollingFileAppender">
20 <file>${LOG_BASE}/main/main.log</file> 20 <file>${LOG_BASE}/main/main.log</file>
21 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 21 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
22 <fileNamePattern>${LOG_BASE}/main/main-%d{yyyy-MM-dd}.%i.log</fileNamePattern> 22 <fileNamePattern>${LOG_BASE}/main/main-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
23 <timeBasedFileNamingAndTriggeringPolicy 23 <timeBasedFileNamingAndTriggeringPolicy
24 - class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> 24 + class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
25 <maxFileSize>100MB</maxFileSize> 25 <maxFileSize>100MB</maxFileSize>
26 </timeBasedFileNamingAndTriggeringPolicy> 26 </timeBasedFileNamingAndTriggeringPolicy>
27 </rollingPolicy> 27 </rollingPolicy>
@@ -38,12 +38,12 @@ @@ -38,12 +38,12 @@
38 38
39 <!-- 访问日志 --> 39 <!-- 访问日志 -->
40 <appender name="ACCESS" 40 <appender name="ACCESS"
41 - class="ch.qos.logback.core.rolling.RollingFileAppender"> 41 + class="ch.qos.logback.core.rolling.RollingFileAppender">
42 <file>${LOG_BASE}/access/access.log</file> 42 <file>${LOG_BASE}/access/access.log</file>
43 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 43 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
44 <fileNamePattern>${LOG_BASE}/access/access-%d{yyyy-MM-dd}.%i.log</fileNamePattern> 44 <fileNamePattern>${LOG_BASE}/access/access-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
45 <timeBasedFileNamingAndTriggeringPolicy 45 <timeBasedFileNamingAndTriggeringPolicy
46 - class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> 46 + class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
47 <maxFileSize>100MB</maxFileSize> 47 <maxFileSize>100MB</maxFileSize>
48 </timeBasedFileNamingAndTriggeringPolicy> 48 </timeBasedFileNamingAndTriggeringPolicy>
49 </rollingPolicy> 49 </rollingPolicy>
@@ -55,18 +55,18 @@ @@ -55,18 +55,18 @@
55 </layout> 55 </layout>
56 </appender> 56 </appender>
57 <logger name="com.bsth.filter.AccessLogFilter" level="INFO" 57 <logger name="com.bsth.filter.AccessLogFilter" level="INFO"
58 - additivity="false"> 58 + additivity="false">
59 <appender-ref ref="ACCESS" /> 59 <appender-ref ref="ACCESS" />
60 </logger> 60 </logger>
61 61
62 <!-- 和网关通讯日志日志 --> 62 <!-- 和网关通讯日志日志 -->
63 <appender name="GATEWAY" 63 <appender name="GATEWAY"
64 - class="ch.qos.logback.core.rolling.RollingFileAppender"> 64 + class="ch.qos.logback.core.rolling.RollingFileAppender">
65 <file>${LOG_BASE}/gateway/gateway.log</file> 65 <file>${LOG_BASE}/gateway/gateway.log</file>
66 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 66 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
67 <fileNamePattern>${LOG_BASE}/gateway/gateway-%d{yyyy-MM-dd}.%i.log</fileNamePattern> 67 <fileNamePattern>${LOG_BASE}/gateway/gateway-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
68 <timeBasedFileNamingAndTriggeringPolicy 68 <timeBasedFileNamingAndTriggeringPolicy
69 - class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> 69 + class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
70 <maxFileSize>100MB</maxFileSize> 70 <maxFileSize>100MB</maxFileSize>
71 </timeBasedFileNamingAndTriggeringPolicy> 71 </timeBasedFileNamingAndTriggeringPolicy>
72 </rollingPolicy> 72 </rollingPolicy>
@@ -77,26 +77,26 @@ @@ -77,26 +77,26 @@
77 </layout> 77 </layout>
78 </appender> 78 </appender>
79 <logger name="com.bsth.service.directive.DirectiveServiceImpl" 79 <logger name="com.bsth.service.directive.DirectiveServiceImpl"
80 - level="INFO" additivity="false"> 80 + level="INFO" additivity="false">
81 <appender-ref ref="GATEWAY" /> 81 <appender-ref ref="GATEWAY" />
82 </logger> 82 </logger>
83 <logger name="com.bsth.controller.directive.UpstreamEntrance" 83 <logger name="com.bsth.controller.directive.UpstreamEntrance"
84 - level="INFO" additivity="false"> 84 + level="INFO" additivity="false">
85 <appender-ref ref="GATEWAY" /> 85 <appender-ref ref="GATEWAY" />
86 </logger> 86 </logger>
87 <logger name="com.bsth.data.directive.GatewayHttpUtils" level="INFO" 87 <logger name="com.bsth.data.directive.GatewayHttpUtils" level="INFO"
88 - additivity="false"> 88 + additivity="false">
89 <appender-ref ref="GATEWAY" /> 89 <appender-ref ref="GATEWAY" />
90 </logger> 90 </logger>
91 91
92 <!-- 运管处接口日志 --> 92 <!-- 运管处接口日志 -->
93 <appender name="TRAFFIC" 93 <appender name="TRAFFIC"
94 - class="ch.qos.logback.core.rolling.RollingFileAppender"> 94 + class="ch.qos.logback.core.rolling.RollingFileAppender">
95 <file>${LOG_BASE}/traffic/traffic.log</file> 95 <file>${LOG_BASE}/traffic/traffic.log</file>
96 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 96 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
97 <fileNamePattern>${LOG_BASE}/traffic/traffic-%d{yyyy-MM-dd}.%i.log</fileNamePattern> 97 <fileNamePattern>${LOG_BASE}/traffic/traffic-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
98 <timeBasedFileNamingAndTriggeringPolicy 98 <timeBasedFileNamingAndTriggeringPolicy
99 - class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> 99 + class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
100 <maxFileSize>100MB</maxFileSize> 100 <maxFileSize>100MB</maxFileSize>
101 </timeBasedFileNamingAndTriggeringPolicy> 101 </timeBasedFileNamingAndTriggeringPolicy>
102 </rollingPolicy> 102 </rollingPolicy>
@@ -107,18 +107,18 @@ @@ -107,18 +107,18 @@
107 </layout> 107 </layout>
108 </appender> 108 </appender>
109 <logger name="com.bsth.service.impl.TrafficManageServiceImpl" 109 <logger name="com.bsth.service.impl.TrafficManageServiceImpl"
110 - level="INFO" additivity="false"> 110 + level="INFO" additivity="false">
111 <appender-ref ref="TRAFFIC" /> 111 <appender-ref ref="TRAFFIC" />
112 </logger> 112 </logger>
113 113
114 <!-- schedule 数据工具操作日志 --> 114 <!-- schedule 数据工具操作日志 -->
115 <appender name="DATATOOLS" 115 <appender name="DATATOOLS"
116 - class="ch.qos.logback.core.rolling.RollingFileAppender"> 116 + class="ch.qos.logback.core.rolling.RollingFileAppender">
117 <file>${LOG_BASE}/schedule/datatools/datatools.log</file> 117 <file>${LOG_BASE}/schedule/datatools/datatools.log</file>
118 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 118 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
119 <fileNamePattern>${LOG_BASE}/schedule/datatools/datatools-%d{yyyy-MM-dd}.%i.log</fileNamePattern> 119 <fileNamePattern>${LOG_BASE}/schedule/datatools/datatools-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
120 <timeBasedFileNamingAndTriggeringPolicy 120 <timeBasedFileNamingAndTriggeringPolicy
121 - class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> 121 + class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
122 <maxFileSize>100MB</maxFileSize> 122 <maxFileSize>100MB</maxFileSize>
123 </timeBasedFileNamingAndTriggeringPolicy> 123 </timeBasedFileNamingAndTriggeringPolicy>
124 </rollingPolicy> 124 </rollingPolicy>
@@ -130,12 +130,12 @@ @@ -130,12 +130,12 @@
130 </appender> 130 </appender>
131 <!-- schedule 时刻表操作日志 --> 131 <!-- schedule 时刻表操作日志 -->
132 <appender name="TIMETABLE" 132 <appender name="TIMETABLE"
133 - class="ch.qos.logback.core.rolling.RollingFileAppender"> 133 + class="ch.qos.logback.core.rolling.RollingFileAppender">
134 <file>${LOG_BASE}/schedule/timetable/timetable.log</file> 134 <file>${LOG_BASE}/schedule/timetable/timetable.log</file>
135 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 135 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
136 <fileNamePattern>${LOG_BASE}/schedule/timetable/timetable-%d{yyyy-MM-dd}.%i.log</fileNamePattern> 136 <fileNamePattern>${LOG_BASE}/schedule/timetable/timetable-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
137 <timeBasedFileNamingAndTriggeringPolicy 137 <timeBasedFileNamingAndTriggeringPolicy
138 - class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> 138 + class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
139 <maxFileSize>100MB</maxFileSize> 139 <maxFileSize>100MB</maxFileSize>
140 </timeBasedFileNamingAndTriggeringPolicy> 140 </timeBasedFileNamingAndTriggeringPolicy>
141 </rollingPolicy> 141 </rollingPolicy>
@@ -146,11 +146,11 @@ @@ -146,11 +146,11 @@
146 </layout> 146 </layout>
147 </appender> 147 </appender>
148 <logger name="com.bsth.service.schedule.impl.TTInfoDetailServiceImpl" 148 <logger name="com.bsth.service.schedule.impl.TTInfoDetailServiceImpl"
149 - level="INFO" additivity="false"> 149 + level="INFO" additivity="false">
150 <appender-ref ref="TIMETABLE" /> 150 <appender-ref ref="TIMETABLE" />
151 </logger> 151 </logger>
152 <logger name="com.bsth.service.schedule.utils.DataToolsServiceImpl" 152 <logger name="com.bsth.service.schedule.utils.DataToolsServiceImpl"
153 - level="INFO" additivity="false"> 153 + level="INFO" additivity="false">
154 <appender-ref ref="TIMETABLE" /> 154 <appender-ref ref="TIMETABLE" />
155 <appender-ref ref="DATATOOLS" /> 155 <appender-ref ref="DATATOOLS" />
156 </logger> 156 </logger>
@@ -181,35 +181,36 @@ @@ -181,35 +181,36 @@
181 level="INFO" additivity="false"> 181 level="INFO" additivity="false">
182 <appender-ref ref="GPS_COUNT" /> 182 <appender-ref ref="GPS_COUNT" />
183 </logger> 183 </logger>
184 - <!--<logger name="org.hibernate.SQL" level="TRACE">-->  
185 - <!--<appender-ref ref="STDOUT" />-->  
186 - <!--</logger>-->  
187 -  
188 - <!--JdbcTemplate的日志输出器 -->  
189 - <logger name="org.springframework.jdbc.core.StatementCreatorUtils"  
190 - additivity="false" level="TRACE">  
191 - <appender-ref ref="STDOUT" />  
192 - </logger>  
193 - <logger name="org.springframework.jdbc.core" additivity="true">  
194 - <level value="DEBUG" />  
195 - <appender-ref ref="STDOUT" />  
196 - </logger>  
197 - <logger name="java.sql.Connection" additivity="true">  
198 - <level value="DEBUG" />  
199 - <appender-ref ref="STDOUT" />  
200 - </logger>  
201 - <logger name="java.sql.Statement" additivity="true">  
202 - <level value="DEBUG" />  
203 - <appender-ref ref="STDOUT" />  
204 - </logger>  
205 - <logger name="java.sql.PreparedStatement" additivity="true">  
206 - <level value="DEBUG" />  
207 - <appender-ref ref="STDOUT" />  
208 - </logger>  
209 - <logger name="java.sql.ResultSet" additivity="true">  
210 - <level value="DEBUG" />  
211 - <appender-ref ref="STDOUT" />  
212 - </logger> 184 +
  185 + <!--<logger name="org.hibernate.SQL" level="TRACE">-->
  186 + <!--<appender-ref ref="STDOUT" />-->
  187 + <!--</logger>-->
  188 +
  189 + <!--JdbcTemplate的日志输出器 -->
  190 + <logger name="org.springframework.jdbc.core.StatementCreatorUtils"
  191 + additivity="false" level="INFO">
  192 + <appender-ref ref="STDOUT" />
  193 + </logger>
  194 + <logger name="org.springframework.jdbc.core" additivity="true">
  195 + <level value="INFO" />
  196 + <appender-ref ref="STDOUT" />
  197 + </logger>
  198 + <logger name="java.sql.Connection" additivity="true">
  199 + <level value="INFO" />
  200 + <appender-ref ref="STDOUT" />
  201 + </logger>
  202 + <logger name="java.sql.Statement" additivity="true">
  203 + <level value="INFO" />
  204 + <appender-ref ref="STDOUT" />
  205 + </logger>
  206 + <logger name="java.sql.PreparedStatement" additivity="true">
  207 + <level value="INFO" />
  208 + <appender-ref ref="STDOUT" />
  209 + </logger>
  210 + <logger name="java.sql.ResultSet" additivity="true">
  211 + <level value="INFO" />
  212 + <appender-ref ref="STDOUT" />
  213 + </logger>
213 214
214 <!-- 日志输出级别 --> 215 <!-- 日志输出级别 -->
215 <root level="info"> 216 <root level="info">
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/add_temp_sch.html
@@ -705,7 +705,7 @@ @@ -705,7 +705,7 @@
705 data.jName = data.jsy.split('/')[1]; 705 data.jName = data.jsy.split('/')[1];
706 delete data.jsy; 706 delete data.jsy;
707 //拆分售票员工号和姓名 707 //拆分售票员工号和姓名
708 - if (data.sGh != null) { 708 + if (data.spy != '') {
709 data.sGh = data.spy.split('/')[0]; 709 data.sGh = data.spy.split('/')[0];
710 data.sName = data.spy.split('/')[1]; 710 data.sName = data.spy.split('/')[1];
711 delete data.spy; 711 delete data.spy;
src/main/resources/static/real_control_v2/fragments/north/nav/history_sch/h_add_temp_sch.html
@@ -707,7 +707,7 @@ @@ -707,7 +707,7 @@
707 data.jName = data.jsy.split('/')[1]; 707 data.jName = data.jsy.split('/')[1];
708 delete data.jsy; 708 delete data.jsy;
709 //拆分售票员工号和姓名 709 //拆分售票员工号和姓名
710 - if (data.sGh != null) { 710 + if (data.spy != null) {
711 data.sGh = data.spy.split('/')[0]; 711 data.sGh = data.spy.split('/')[0];
712 data.sName = data.spy.split('/')[1]; 712 data.sName = data.spy.split('/')[1];
713 delete data.spy; 713 delete data.spy;
src/main/resources/static/real_control_v2/js/main.js
@@ -169,8 +169,8 @@ var disabled_submit_btn = function (form) { @@ -169,8 +169,8 @@ var disabled_submit_btn = function (form) {
169 function showUpdateDescription() { 169 function showUpdateDescription() {
170 //更新说明 170 //更新说明
171 var updateDescription = { 171 var updateDescription = {
172 - date: '2017-05-07',  
173 - text: '<h5>修复了一个问题,该问题导致在某些特定情况下,报出的发车时间比实际的要晚1~3分钟。</h5>' 172 + date: '2017-05-09',
  173 + text: '<h5>恢复到了最新功能版本,并修复了临加时没有保存售票员的问题。</h5>'
174 }; 174 };
175 175
176 var storage = window.localStorage 176 var storage = window.localStorage
src/test/resources/testdata/test6.txt
1 -select * from bsth_c_s_sp_rule_rst;  
2 -  
3 -select * from bsth_c_s_sp_rule_rst  
4 -where qyrq is null;  
5 -  
6 -update bsth_c_s_sp_rule_rst a  
7 -set a.qyrq = (select qyrq from bsth_c_s_sr1_flat where id = a.rule_id)  
8 -where a.qyrq is null;  
9 -  
10 -970  
11 -789  
12 -604  
13 -985  
14 -北蔡2路  
15 -1048  
16 -1118 1 +select * from bsth_c_s_sp_rule_rst;
  2 +
  3 +select * from bsth_c_s_sp_rule_rst
  4 +where qyrq is null;
  5 +
  6 +update bsth_c_s_sp_rule_rst a
  7 +set a.qyrq = (select qyrq from bsth_c_s_sr1_flat where id = a.rule_id)
  8 +where a.qyrq is null;
  9 +
  10 +970
  11 +789
  12 +604
  13 +985
  14 +北蔡2路
  15 +1048
  16 +1118
17 上南二分通勤 17 上南二分通勤
18 \ No newline at end of file 18 \ No newline at end of file