Commit 731c8e43c42571426a0db9dc49a0128239c2a035

Authored by 徐烜
1 parent 6fea2a7e

iss20171123_modify_timetable_import v1

修改了时刻表导入功能,允许选择不同的站点路由版本
src/main/java/com/bsth/controller/schedule/core/TTInfoController.java
@@ -2,14 +2,16 @@ package com.bsth.controller.schedule.core; @@ -2,14 +2,16 @@ package com.bsth.controller.schedule.core;
2 2
3 import com.bsth.common.ResponseCode; 3 import com.bsth.common.ResponseCode;
4 import com.bsth.controller.schedule.BController; 4 import com.bsth.controller.schedule.BController;
  5 +import com.bsth.entity.LineVersions;
5 import com.bsth.entity.schedule.TTInfo; 6 import com.bsth.entity.schedule.TTInfo;
  7 +import com.bsth.service.LineVersionsService;
6 import com.bsth.service.schedule.TTInfoService; 8 import com.bsth.service.schedule.TTInfoService;
7 import com.bsth.service.schedule.exception.ScheduleException; 9 import com.bsth.service.schedule.exception.ScheduleException;
  10 +import org.joda.time.DateTime;
8 import org.springframework.beans.factory.annotation.Autowired; 11 import org.springframework.beans.factory.annotation.Autowired;
9 import org.springframework.web.bind.annotation.*; 12 import org.springframework.web.bind.annotation.*;
10 13
11 -import java.util.HashMap;  
12 -import java.util.Map; 14 +import java.util.*;
13 15
14 /** 16 /**
15 * Created by xu on 16/12/20. 17 * Created by xu on 16/12/20.
@@ -19,6 +21,56 @@ import java.util.Map; @@ -19,6 +21,56 @@ import java.util.Map;
19 public class TTInfoController extends BController<TTInfo, Long> { 21 public class TTInfoController extends BController<TTInfo, Long> {
20 @Autowired 22 @Autowired
21 private TTInfoService ttInfoService; 23 private TTInfoService ttInfoService;
  24 + @Autowired
  25 + private LineVersionsService lineVersionsService;
  26 +
  27 + @RequestMapping(value = "/stationroute/{lineid}", method = RequestMethod.GET)
  28 + public Map<String, Object> getLineStationRouteVersions(@PathVariable(value = "lineid") Integer lineid) {
  29 + Map<String, Object> rtn = new HashMap<>();
  30 + try {
  31 + List<LineVersions> lineVersionses = lineVersionsService.findByLineCode(lineid);
  32 + Collections.sort(lineVersionses, new Comparator<LineVersions>() {
  33 + @Override
  34 + public int compare(LineVersions o1, LineVersions o2) {
  35 + if (o1.getVersions() > o2.getVersions()) {
  36 + return -1;
  37 + } else if (o1.getVersions() < o2.getVersions()) {
  38 + return 1;
  39 + } else {
  40 + return 0;
  41 + }
  42 + }
  43 + });
  44 +
  45 + // 取最近2条记录
  46 + List<Map<String, Object>> mapList = new ArrayList<>();
  47 + for (LineVersions lv: lineVersionses) {
  48 + String vname = lv.getName();
  49 + String rq = lv.getStartDate() == null ? "未知启用日期" : new DateTime(lv.getStartDate()).toString("YYYY年MM月dd日");
  50 + String sdesc = lv.getStatus() == 0 ? "历史" : (lv.getStatus() == 1 ? "当前" : "待更新");
  51 +
  52 + Map<String, Object> value = new HashMap<>();
  53 + value.put("desc", vname + "-" + rq + "-" + sdesc);
  54 + value.put("version", lv.getVersions());
  55 +
  56 + mapList.add(value);
  57 +
  58 + if (mapList.size() == 2) {
  59 + break;
  60 + }
  61 + }
  62 +
  63 + rtn.put("status", ResponseCode.SUCCESS);
  64 + rtn.put("data", mapList);
  65 +
  66 + } catch (Exception exp) {
  67 + rtn.put("status", ResponseCode.ERROR);
  68 + rtn.put("msg", exp.getMessage());
  69 + }
  70 +
  71 + return rtn;
  72 +
  73 + }
22 74
23 @RequestMapping(value = "/validate_name", method = RequestMethod.GET) 75 @RequestMapping(value = "/validate_name", method = RequestMethod.GET)
24 public Map<String, Object> validate_name(@RequestParam Map<String, Object> param) { 76 public Map<String, Object> validate_name(@RequestParam Map<String, Object> param) {
src/main/java/com/bsth/controller/schedule/core/TTInfoDetailController.java
@@ -35,10 +35,27 @@ public class TTInfoDetailController extends BController&lt;TTInfoDetail, Long&gt; { @@ -35,10 +35,27 @@ public class TTInfoDetailController extends BController&lt;TTInfoDetail, Long&gt; {
35 * @return 35 * @return
36 */ 36 */
37 @RequestMapping(value = "/validate/sheet", method = RequestMethod.POST) 37 @RequestMapping(value = "/validate/sheet", method = RequestMethod.POST)
38 - public Map<String, Object> validate_sheet(String filename, String sheetname, Integer lineid, String linename) { 38 + public Map<String, Object> validate_sheet(
  39 + String filename, String sheetname, Integer lineid, String linename,
  40 + Integer zdlytype, Integer zdlyversion) {
39 Map<String, Object> rtn = new HashMap<>(); 41 Map<String, Object> rtn = new HashMap<>();
40 try { 42 try {
41 - ttInfoDetailService.validateExcelSheet(filename, sheetname, lineid, linename); 43 + if (zdlytype == null) {
  44 + throw new Exception("请选择路由版本类型");
  45 + } else {
  46 + if (zdlytype == 1) {
  47 + ttInfoDetailService.validateExcelSheet(filename, sheetname, lineid, linename, null);
  48 + } else if (zdlytype == 2) {
  49 + if (zdlyversion == null || zdlyversion == -1) {
  50 + throw new Exception("请选择具体版本");
  51 + } else {
  52 + ttInfoDetailService.validateExcelSheet(filename, sheetname, lineid, linename, zdlyversion);
  53 + }
  54 + } else {
  55 + throw new Exception("未知路由版本类型");
  56 + }
  57 + }
  58 +
42 rtn.put("status", ResponseCode.SUCCESS); 59 rtn.put("status", ResponseCode.SUCCESS);
43 } catch (Exception exp) { 60 } catch (Exception exp) {
44 rtn.put("status", ResponseCode.ERROR); 61 rtn.put("status", ResponseCode.ERROR);
src/main/java/com/bsth/service/StationRouteService.java
1 package com.bsth.service; 1 package com.bsth.service;
2 2
  3 +import java.util.Iterator;
3 import java.util.List; 4 import java.util.List;
4 import java.util.Map; 5 import java.util.Map;
5 6
6 import javax.servlet.http.HttpServletResponse; 7 import javax.servlet.http.HttpServletResponse;
7 8
  9 +import com.bsth.entity.LsStationRoute;
8 import com.bsth.entity.StationRoute; 10 import com.bsth.entity.StationRoute;
9 import com.bsth.entity.StationRouteCache; 11 import com.bsth.entity.StationRouteCache;
10 12
@@ -24,7 +26,14 @@ import com.bsth.entity.StationRouteCache; @@ -24,7 +26,14 @@ import com.bsth.entity.StationRouteCache;
24 * 26 *
25 */ 27 */
26 public interface StationRouteService extends BaseService<StationRoute, Integer> { 28 public interface StationRouteService extends BaseService<StationRoute, Integer> {
27 - 29 +
  30 + /**
  31 + * 历史查询。
  32 + * @param map
  33 + * @return
  34 + */
  35 + Iterable<LsStationRoute> list_ls(Map<String, Object> map);
  36 +
28 /** 37 /**
29 * 38 *
30 * @Title: list 39 * @Title: list
src/main/java/com/bsth/service/impl/StationRouteServiceImpl.java
1 package com.bsth.service.impl; 1 package com.bsth.service.impl;
2 2
3 import com.bsth.common.ResponseCode; 3 import com.bsth.common.ResponseCode;
4 -import com.bsth.entity.Line;  
5 -import com.bsth.entity.Station;  
6 -import com.bsth.entity.StationRoute;  
7 -import com.bsth.entity.StationRouteCache; 4 +import com.bsth.entity.*;
8 import com.bsth.entity.search.CustomerSpecs; 5 import com.bsth.entity.search.CustomerSpecs;
9 -import com.bsth.repository.LineRepository;  
10 -import com.bsth.repository.SectionRouteRepository;  
11 -import com.bsth.repository.StationRepository;  
12 -import com.bsth.repository.StationRouteCacheRepository;  
13 -import com.bsth.repository.StationRouteRepository; 6 +import com.bsth.repository.*;
14 import com.bsth.service.StationRouteService; 7 import com.bsth.service.StationRouteService;
15 import com.bsth.util.ExcelUtil; 8 import com.bsth.util.ExcelUtil;
16 import com.bsth.util.FTPClientUtils; 9 import com.bsth.util.FTPClientUtils;
@@ -66,6 +59,16 @@ public class StationRouteServiceImpl extends BaseServiceImpl&lt;StationRoute, Integ @@ -66,6 +59,16 @@ public class StationRouteServiceImpl extends BaseServiceImpl&lt;StationRoute, Integ
66 59
67 @Autowired 60 @Autowired
68 private StationRepository stationRepository; 61 private StationRepository stationRepository;
  62 +
  63 + @Autowired
  64 + private LsStationRouteRepository lsStationRouteRepository;
  65 +
  66 + public Iterable<LsStationRoute> list_ls(Map<String, Object> map) {
  67 + List<Sort.Order> orderList = new ArrayList<>();
  68 + orderList.add(new Sort.Order(Direction.ASC, "directions"));
  69 + orderList.add(new Sort.Order(Direction.ASC, "stationRouteCode"));
  70 + return lsStationRouteRepository.findAll(new CustomerSpecs<LsStationRoute>(map), new Sort(orderList));
  71 + }
69 72
70 @Override 73 @Override
71 public Iterable<StationRoute> list(Map<String, Object> map) { 74 public Iterable<StationRoute> list(Map<String, Object> map) {
src/main/java/com/bsth/service/schedule/TTInfoDetailService.java
@@ -34,12 +34,14 @@ public interface TTInfoDetailService extends BService&lt;TTInfoDetail, Long&gt; { @@ -34,12 +34,14 @@ public interface TTInfoDetailService extends BService&lt;TTInfoDetail, Long&gt; {
34 * @param filename excel文件全路径名 34 * @param filename excel文件全路径名
35 * @param sheetname sheet名字 35 * @param sheetname sheet名字
36 * @param lineid 线路id 36 * @param lineid 线路id
  37 + * @param zdlyversion 站点路由版本
37 */ 38 */
38 void validateExcelSheet( 39 void validateExcelSheet(
39 String filename, 40 String filename,
40 String sheetname, 41 String sheetname,
41 Integer lineid, 42 Integer lineid,
42 - String linename) throws ScheduleException; 43 + String linename,
  44 + Integer zdlyversion) throws ScheduleException;
43 45
44 /** 46 /**
45 * 验证关联的线路标准信息(以后放到规则引擎里去做)。 47 * 验证关联的线路标准信息(以后放到规则引擎里去做)。
src/main/java/com/bsth/service/schedule/datatools/TTInfoDetailDataToolsImpl.java
@@ -79,6 +79,7 @@ public class TTInfoDetailDataToolsImpl implements DataToolsService, TTInfoDetail @@ -79,6 +79,7 @@ public class TTInfoDetailDataToolsImpl implements DataToolsService, TTInfoDetail
79 Integer lineid = Integer.valueOf(String.valueOf(params.get("lineinfo"))); // 线路标准id 79 Integer lineid = Integer.valueOf(String.valueOf(params.get("lineinfo"))); // 线路标准id
80 String xlname = String.valueOf(params.get("xlname")); // 线路名字 80 String xlname = String.valueOf(params.get("xlname")); // 线路名字
81 String ttname = String.valueOf(params.get("ttname")); // 时刻表名字 81 String ttname = String.valueOf(params.get("ttname")); // 时刻表名字
  82 + Integer zdlyversion = params.get("zdlyversion") == null ? null : Integer.valueOf(params.get("zdlyversion").toString());
82 83
83 LOGGER.info("参数1, xls文件名={},sheet名字={}", filename, sheetname); 84 LOGGER.info("参数1, xls文件名={},sheet名字={}", filename, sheetname);
84 LOGGER.info("参数2, 线路id={},线路名字={}", xlid, xlname); 85 LOGGER.info("参数2, 线路id={},线路名字={}", xlid, xlname);
@@ -154,6 +155,8 @@ public class TTInfoDetailDataToolsImpl implements DataToolsService, TTInfoDetail @@ -154,6 +155,8 @@ public class TTInfoDetailDataToolsImpl implements DataToolsService, TTInfoDetail
154 // dataToolsProperties.getTtinfodetailDatainputktr()).toURI()); 155 // dataToolsProperties.getTtinfodetailDatainputktr()).toURI());
155 File ktrFile2 = new File(this.getClass().getResource( 156 File ktrFile2 = new File(this.getClass().getResource(
156 dataToolsProperties.getTtinfodetailDatainputktr2()).toURI()); 157 dataToolsProperties.getTtinfodetailDatainputktr2()).toURI());
  158 + File ktrFile2_ls = new File(this.getClass().getResource(
  159 + dataToolsProperties.getTtinfodetailDatainputktr2ls()).toURI());
157 160
158 // 通用参数,转换文件路径,excel输入文件路径,错误输出文件路径 161 // 通用参数,转换文件路径,excel输入文件路径,错误输出文件路径
159 ktrParms.put("transpath", ktrFile.getAbsolutePath()); 162 ktrParms.put("transpath", ktrFile.getAbsolutePath());
@@ -161,12 +164,15 @@ public class TTInfoDetailDataToolsImpl implements DataToolsService, TTInfoDetail @@ -161,12 +164,15 @@ public class TTInfoDetailDataToolsImpl implements DataToolsService, TTInfoDetail
161 ktrParms.put("erroroutputdir", dataToolsProperties.getTransErrordir()); 164 ktrParms.put("erroroutputdir", dataToolsProperties.getTransErrordir());
162 165
163 // 附加参数 166 // 附加参数
164 - ktrParms.put("injectktrfile", ktrFile2.getAbsolutePath()); // 注入元数据的ktr文件 167 + ktrParms.put("injectktrfile", zdlyversion == null ?
  168 + ktrFile2.getAbsolutePath() : ktrFile2_ls.getAbsolutePath()); // 注入元数据的ktr文件
165 ktrParms.put("sheetname", sheetname); // sheet工作区的名字 169 ktrParms.put("sheetname", sheetname); // sheet工作区的名字
166 ktrParms.put("lineinfoid", lineid); // 线路标准id 170 ktrParms.put("lineinfoid", lineid); // 线路标准id
167 ktrParms.put("xlname", xlname); // 线路名称 171 ktrParms.put("xlname", xlname); // 线路名称
  172 + ktrParms.put("xlid", xlid); // 线路id
168 ktrParms.put("ttinfoname", ttname); // 时刻表名称 173 ktrParms.put("ttinfoname", ttname); // 时刻表名称
169 ktrParms.put("ttid", ttid.intValue()); // 时刻表id 174 ktrParms.put("ttid", ttid.intValue()); // 时刻表id
  175 + ktrParms.put("zdlyversion", zdlyversion); // 站点路由版本
170 ktrParms.put("excelfieldnames", StringUtils.join(columnames.toArray(), ",")); // 时刻表excel输入字段名,以逗号连接 176 ktrParms.put("excelfieldnames", StringUtils.join(columnames.toArray(), ",")); // 时刻表excel输入字段名,以逗号连接
171 columnames.remove(0); 177 columnames.remove(0);
172 ktrParms.put("normalizefieldnames", StringUtils.join(columnames.toArray(), ",")); // 数据范式化字段名,以逗号连接 178 ktrParms.put("normalizefieldnames", StringUtils.join(columnames.toArray(), ",")); // 数据范式化字段名,以逗号连接
src/main/java/com/bsth/service/schedule/impl/TTInfoDetailServiceImpl.java
@@ -3,10 +3,7 @@ package com.bsth.service.schedule.impl; @@ -3,10 +3,7 @@ package com.bsth.service.schedule.impl;
3 import com.alibaba.fastjson.JSONArray; 3 import com.alibaba.fastjson.JSONArray;
4 import com.alibaba.fastjson.JSONObject; 4 import com.alibaba.fastjson.JSONObject;
5 import com.bsth.common.ResponseCode; 5 import com.bsth.common.ResponseCode;
6 -import com.bsth.entity.CarPark;  
7 -import com.bsth.entity.Line;  
8 -import com.bsth.entity.LineInformation;  
9 -import com.bsth.entity.StationRoute; 6 +import com.bsth.entity.*;
10 import com.bsth.entity.schedule.GuideboardInfo; 7 import com.bsth.entity.schedule.GuideboardInfo;
11 import com.bsth.entity.schedule.TTInfoDetail; 8 import com.bsth.entity.schedule.TTInfoDetail;
12 import com.bsth.repository.CarParkRepository; 9 import com.bsth.repository.CarParkRepository;
@@ -149,7 +146,7 @@ public class TTInfoDetailServiceImpl extends BServiceImpl&lt;TTInfoDetail, Long&gt; im @@ -149,7 +146,7 @@ public class TTInfoDetailServiceImpl extends BServiceImpl&lt;TTInfoDetail, Long&gt; im
149 } 146 }
150 147
151 @Override 148 @Override
152 - public void validateExcelSheet(String filename, String sheetname, Integer lineid, String linename) throws ScheduleException { 149 + public void validateExcelSheet(String filename, String sheetname, Integer lineid, String linename, Integer zdlyversion) throws ScheduleException {
153 try { 150 try {
154 File file = new File(filename); 151 File file = new File(filename);
155 Workbook workbook; 152 Workbook workbook;
@@ -199,14 +196,28 @@ public class TTInfoDetailServiceImpl extends BServiceImpl&lt;TTInfoDetail, Long&gt; im @@ -199,14 +196,28 @@ public class TTInfoDetailServiceImpl extends BServiceImpl&lt;TTInfoDetail, Long&gt; im
199 196
200 // TODO:这里要修改(起点站有启用撤销的标志的) 197 // TODO:这里要修改(起点站有启用撤销的标志的)
201 198
202 - List<StationRoute> stationRouteList = (List<StationRoute>) stationRouteService.list(p1);  
203 - if (CollectionUtils.isEmpty(stationRouteList)) {  
204 - throw new Exception(String.format("第1行,第%d列数据%s在%s站点路由中不是起点站", i + 1, cell_con.trim(), linename));  
205 - } else if (stationRouteList.size() > 1) {  
206 - throw new Exception(String.format("第1行,第%d列数据%s在%s站点路由中上下行都是起点站", i + 1, cell_con.trim(), linename));  
207 - } else if (StringUtils.isEmpty(stationRouteList.get(0).getStationCode())) {  
208 - throw new Exception(String.format("第1行,第%d列数据%s在%s站点路由中没有站点编码", i + 1, cell_con.trim(), linename)); 199 + if (zdlyversion == null) {
  200 + List<StationRoute> stationRouteList = (List<StationRoute>) stationRouteService.list(p1);
  201 + if (CollectionUtils.isEmpty(stationRouteList)) {
  202 + throw new Exception(String.format("第1行,第%d列数据%s在%s站点路由中不是起点站", i + 1, cell_con.trim(), linename));
  203 + } else if (stationRouteList.size() > 1) {
  204 + throw new Exception(String.format("第1行,第%d列数据%s在%s站点路由中上下行都是起点站", i + 1, cell_con.trim(), linename));
  205 + } else if (StringUtils.isEmpty(stationRouteList.get(0).getStationCode())) {
  206 + throw new Exception(String.format("第1行,第%d列数据%s在%s站点路由中没有站点编码", i + 1, cell_con.trim(), linename));
  207 + }
  208 + } else {
  209 + p1.put("versions_eq", zdlyversion);
  210 + List<LsStationRoute> lsStationRoutes = (List<LsStationRoute>) stationRouteService.list_ls(p1);
  211 + if (CollectionUtils.isEmpty(lsStationRoutes)) {
  212 + throw new Exception(String.format("第1行,第%d列数据%s在%s站点路由中不是起点站", i + 1, cell_con.trim(), linename));
  213 + } else if (lsStationRoutes.size() > 1) {
  214 + throw new Exception(String.format("第1行,第%d列数据%s在%s站点路由中上下行都是起点站", i + 1, cell_con.trim(), linename));
  215 + } else if (StringUtils.isEmpty(lsStationRoutes.get(0).getStationCode())) {
  216 + throw new Exception(String.format("第1行,第%d列数据%s在%s站点路由中没有站点编码", i + 1, cell_con.trim(), linename));
  217 + }
209 } 218 }
  219 +
  220 +
210 } 221 }
211 222
212 } 223 }
src/main/java/com/bsth/service/schedule/utils/DataToolsProperties.java
@@ -78,6 +78,9 @@ public class DataToolsProperties { @@ -78,6 +78,9 @@ public class DataToolsProperties {
78 /** 时刻表明细信息导入 */ 78 /** 时刻表明细信息导入 */
79 @NotNull 79 @NotNull
80 private String ttinfodetailDatainputktr2; 80 private String ttinfodetailDatainputktr2;
  81 + /** 时刻表明细信息导入 */
  82 + @NotNull
  83 + private String ttinfodetailDatainputktr2ls;
81 /** 排班规则信息导入 */ 84 /** 排班规则信息导入 */
82 @NotNull 85 @NotNull
83 private String scheduleruleDatainputktr; 86 private String scheduleruleDatainputktr;
@@ -311,6 +314,14 @@ public class DataToolsProperties { @@ -311,6 +314,14 @@ public class DataToolsProperties {
311 this.carsconfigDataoutputktr = carsconfigDataoutputktr; 314 this.carsconfigDataoutputktr = carsconfigDataoutputktr;
312 } 315 }
313 316
  317 + public String getTtinfodetailDatainputktr2ls() {
  318 + return ttinfodetailDatainputktr2ls;
  319 + }
  320 +
  321 + public void setTtinfodetailDatainputktr2ls(String ttinfodetailDatainputktr2ls) {
  322 + this.ttinfodetailDatainputktr2ls = ttinfodetailDatainputktr2ls;
  323 + }
  324 +
314 public String getEmployeesconfigDataoutputktr() { 325 public String getEmployeesconfigDataoutputktr() {
315 return employeesconfigDataoutputktr; 326 return employeesconfigDataoutputktr;
316 } 327 }
src/main/resources/datatools/config-dev.properties
@@ -39,6 +39,8 @@ datatools.ttinfodetail_foreditktr=/datatools/ktrs/ttinfodetailoutputforedit.ktr @@ -39,6 +39,8 @@ datatools.ttinfodetail_foreditktr=/datatools/ktrs/ttinfodetailoutputforedit.ktr
39 datatools.ttinfodetail_datainputktr=/datatools/ktrs/ttinfodetailDataInput.ktr 39 datatools.ttinfodetail_datainputktr=/datatools/ktrs/ttinfodetailDataInput.ktr
40 # 时刻表明细信息导入2 40 # 时刻表明细信息导入2
41 datatools.ttinfodetail_datainputktr2=/datatools/ktrs/ttinfodetailDataInput2.ktr 41 datatools.ttinfodetail_datainputktr2=/datatools/ktrs/ttinfodetailDataInput2.ktr
  42 +# 时刻表明细信息导入2_ls
  43 +datatools.ttinfodetail_datainputktr2ls=/datatools/ktrs/ttinfodetailDataInput2_ls.ktr
42 44
43 # 车辆配置信息导入 45 # 车辆配置信息导入
44 datatools.carsconfig_datainputktr=/datatools/ktrs/carsConfigDataInput.ktr 46 datatools.carsconfig_datainputktr=/datatools/ktrs/carsConfigDataInput.ktr
src/main/resources/datatools/config-prod.properties
@@ -40,6 +40,8 @@ datatools.ttinfodetail_foreditktr=/datatools/ktrs/ttinfodetailoutputforedit.ktr @@ -40,6 +40,8 @@ datatools.ttinfodetail_foreditktr=/datatools/ktrs/ttinfodetailoutputforedit.ktr
40 datatools.ttinfodetail_datainputktr=/datatools/ktrs/ttinfodetailDataInput.ktr 40 datatools.ttinfodetail_datainputktr=/datatools/ktrs/ttinfodetailDataInput.ktr
41 # 时刻表明细信息导入2 41 # 时刻表明细信息导入2
42 datatools.ttinfodetail_datainputktr2=/datatools/ktrs/ttinfodetailDataInput2.ktr 42 datatools.ttinfodetail_datainputktr2=/datatools/ktrs/ttinfodetailDataInput2.ktr
  43 +# 时刻表明细信息导入2_ls
  44 +datatools.ttinfodetail_datainputktr2ls=/datatools/ktrs/ttinfodetailDataInput2_ls.ktr
43 45
44 # 车辆配置信息导入 46 # 车辆配置信息导入
45 datatools.carsconfig_datainputktr=/datatools/ktrs/carsConfigDataInput.ktr 47 datatools.carsconfig_datainputktr=/datatools/ktrs/carsConfigDataInput.ktr
src/main/resources/datatools/ktrs/ttinfodetailDataInput2_ls.ktr 0 → 100644
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<transformation>
  3 + <info>
  4 + <name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x5bfc;&#x5165;-&#x7ad9;&#x70b9;&#x8def;&#x7531;&#x7248;&#x672c;</name>
  5 + <description>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;&#x5bfc;&#x5165;</description>
  6 + <extended_description>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;</extended_description>
  7 + <trans_version/>
  8 + <trans_type>Normal</trans_type>
  9 + <trans_status>0</trans_status>
  10 + <directory>&#x2f;</directory>
  11 + <parameters>
  12 + </parameters>
  13 + <log>
  14 +<trans-log-table><connection/>
  15 +<schema/>
  16 +<table/>
  17 +<size_limit_lines/>
  18 +<interval/>
  19 +<timeout_days/>
  20 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STATUS</id><enabled>Y</enabled><name>STATUS</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name><subject/></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name><subject/></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name><subject/></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name><subject/></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name><subject/></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name><subject/></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>STARTDATE</id><enabled>Y</enabled><name>STARTDATE</name></field><field><id>ENDDATE</id><enabled>Y</enabled><name>ENDDATE</name></field><field><id>LOGDATE</id><enabled>Y</enabled><name>LOGDATE</name></field><field><id>DEPDATE</id><enabled>Y</enabled><name>DEPDATE</name></field><field><id>REPLAYDATE</id><enabled>Y</enabled><name>REPLAYDATE</name></field><field><id>LOG_FIELD</id><enabled>Y</enabled><name>LOG_FIELD</name></field><field><id>EXECUTING_SERVER</id><enabled>N</enabled><name>EXECUTING_SERVER</name></field><field><id>EXECUTING_USER</id><enabled>N</enabled><name>EXECUTING_USER</name></field><field><id>CLIENT</id><enabled>N</enabled><name>CLIENT</name></field></trans-log-table>
  21 +<perf-log-table><connection/>
  22 +<schema/>
  23 +<table/>
  24 +<interval/>
  25 +<timeout_days/>
  26 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>SEQ_NR</id><enabled>Y</enabled><name>SEQ_NR</name></field><field><id>LOGDATE</id><enabled>Y</enabled><name>LOGDATE</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STEPNAME</id><enabled>Y</enabled><name>STEPNAME</name></field><field><id>STEP_COPY</id><enabled>Y</enabled><name>STEP_COPY</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>INPUT_BUFFER_ROWS</id><enabled>Y</enabled><name>INPUT_BUFFER_ROWS</name></field><field><id>OUTPUT_BUFFER_ROWS</id><enabled>Y</enabled><name>OUTPUT_BUFFER_ROWS</name></field></perf-log-table>
  27 +<channel-log-table><connection/>
  28 +<schema/>
  29 +<table/>
  30 +<timeout_days/>
  31 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>LOGGING_OBJECT_TYPE</id><enabled>Y</enabled><name>LOGGING_OBJECT_TYPE</name></field><field><id>OBJECT_NAME</id><enabled>Y</enabled><name>OBJECT_NAME</name></field><field><id>OBJECT_COPY</id><enabled>Y</enabled><name>OBJECT_COPY</name></field><field><id>REPOSITORY_DIRECTORY</id><enabled>Y</enabled><name>REPOSITORY_DIRECTORY</name></field><field><id>FILENAME</id><enabled>Y</enabled><name>FILENAME</name></field><field><id>OBJECT_ID</id><enabled>Y</enabled><name>OBJECT_ID</name></field><field><id>OBJECT_REVISION</id><enabled>Y</enabled><name>OBJECT_REVISION</name></field><field><id>PARENT_CHANNEL_ID</id><enabled>Y</enabled><name>PARENT_CHANNEL_ID</name></field><field><id>ROOT_CHANNEL_ID</id><enabled>Y</enabled><name>ROOT_CHANNEL_ID</name></field></channel-log-table>
  32 +<step-log-table><connection/>
  33 +<schema/>
  34 +<table/>
  35 +<timeout_days/>
  36 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STEPNAME</id><enabled>Y</enabled><name>STEPNAME</name></field><field><id>STEP_COPY</id><enabled>Y</enabled><name>STEP_COPY</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>LOG_FIELD</id><enabled>N</enabled><name>LOG_FIELD</name></field></step-log-table>
  37 +<metrics-log-table><connection/>
  38 +<schema/>
  39 +<table/>
  40 +<timeout_days/>
  41 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>METRICS_DATE</id><enabled>Y</enabled><name>METRICS_DATE</name></field><field><id>METRICS_CODE</id><enabled>Y</enabled><name>METRICS_CODE</name></field><field><id>METRICS_DESCRIPTION</id><enabled>Y</enabled><name>METRICS_DESCRIPTION</name></field><field><id>METRICS_SUBJECT</id><enabled>Y</enabled><name>METRICS_SUBJECT</name></field><field><id>METRICS_TYPE</id><enabled>Y</enabled><name>METRICS_TYPE</name></field><field><id>METRICS_VALUE</id><enabled>Y</enabled><name>METRICS_VALUE</name></field></metrics-log-table>
  42 + </log>
  43 + <maxdate>
  44 + <connection/>
  45 + <table/>
  46 + <field/>
  47 + <offset>0.0</offset>
  48 + <maxdiff>0.0</maxdiff>
  49 + </maxdate>
  50 + <size_rowset>10000</size_rowset>
  51 + <sleep_time_empty>50</sleep_time_empty>
  52 + <sleep_time_full>50</sleep_time_full>
  53 + <unique_connections>N</unique_connections>
  54 + <feedback_shown>Y</feedback_shown>
  55 + <feedback_size>50000</feedback_size>
  56 + <using_thread_priorities>Y</using_thread_priorities>
  57 + <shared_objects_file/>
  58 + <capture_step_performance>N</capture_step_performance>
  59 + <step_performance_capturing_delay>1000</step_performance_capturing_delay>
  60 + <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit>
  61 + <dependencies>
  62 + </dependencies>
  63 + <partitionschemas>
  64 + </partitionschemas>
  65 + <slaveservers>
  66 + </slaveservers>
  67 + <clusterschemas>
  68 + </clusterschemas>
  69 + <created_user>-</created_user>
  70 + <created_date>2016&#x2f;06&#x2f;30 12&#x3a;21&#x3a;57.536</created_date>
  71 + <modified_user>-</modified_user>
  72 + <modified_date>2016&#x2f;06&#x2f;30 12&#x3a;21&#x3a;57.536</modified_date>
  73 + <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</key_for_session_key>
  74 + <is_key_private>N</is_key_private>
  75 + </info>
  76 + <notepads>
  77 + <notepad>
  78 + <note>&#x5b57;&#x5178;&#x8868;&#x5bf9;&#x5e94;&#xff08;&#x4ee5;&#x540e;&#x76f4;&#x63a5;&#x67e5;&#x627e;&#x8868; bsth_c_sys_dictionary&#xff09;&#xa;&#x7c7b;&#x578b; &#x4ee3;&#x7801; &#x540d;&#x79f0;&#xa;LineTrend 0 &#x4e0a;&#x884c;&#xa;LineTrend 1 &#x4e0b;&#x884c;&#xa;ScheduleType normal &#x6b63;&#x5e38;&#x73ed;&#x6b21;&#xa;ScheduleType out &#x51fa;&#x573a;&#xa;ScheduleType in &#x8fdb;&#x573a;&#xa;ScheduleType temp &#x4e34;&#x52a0;&#xa;ScheduleType region &#x533a;&#x95f4;&#xa;ScheduleType venting &#x653e;&#x7a7a;&#xa;ScheduleType major &#x653e;&#x5927;&#x7ad9;</note>
  79 + <xloc>606</xloc>
  80 + <yloc>129</yloc>
  81 + <width>332</width>
  82 + <heigth>186</heigth>
  83 + <fontname>YaHei Consolas Hybrid</fontname>
  84 + <fontsize>12</fontsize>
  85 + <fontbold>N</fontbold>
  86 + <fontitalic>N</fontitalic>
  87 + <fontcolorred>0</fontcolorred>
  88 + <fontcolorgreen>0</fontcolorgreen>
  89 + <fontcolorblue>0</fontcolorblue>
  90 + <backgroundcolorred>255</backgroundcolorred>
  91 + <backgroundcolorgreen>205</backgroundcolorgreen>
  92 + <backgroundcolorblue>112</backgroundcolorblue>
  93 + <bordercolorred>100</bordercolorred>
  94 + <bordercolorgreen>100</bordercolorgreen>
  95 + <bordercolorblue>100</bordercolorblue>
  96 + <drawshadow>Y</drawshadow>
  97 + </notepad>
  98 + <notepad>
  99 + <note>&#x56e0;&#x4e3a;&#x65f6;&#x523b;&#x8868;&#x8f93;&#x5165;&#x683c;&#x5f0f;&#x4e0d;&#x786e;&#x5b9a;&#x6027;&#xff0c;&#x4e3b;&#x8981;&#x56e0;&#x4e3a;&#x8868;&#x7ed3;&#x6784;&#x662f;&#x53cd;&#x8303;&#x5f0f;&#x5316;&#x7684;&#xff0c;&#xa;&#x6240;&#x4ee5;&#x9700;&#x8981;&#x5916;&#x90e8;&#x52a8;&#x6001;&#x6307;&#x5b9a;&#x613f;&#x6570;&#x636e;&#xff0c;&#x5934;&#x4e09;&#x4e2a;step&#x52a8;&#x6001;&#x6307;&#x5b9a;&#x613f;&#x6570;&#x636e;&#xa;&#xa;</note>
  100 + <xloc>79</xloc>
  101 + <yloc>206</yloc>
  102 + <width>346</width>
  103 + <heigth>74</heigth>
  104 + <fontname>YaHei Consolas Hybrid</fontname>
  105 + <fontsize>12</fontsize>
  106 + <fontbold>N</fontbold>
  107 + <fontitalic>N</fontitalic>
  108 + <fontcolorred>0</fontcolorred>
  109 + <fontcolorgreen>0</fontcolorgreen>
  110 + <fontcolorblue>0</fontcolorblue>
  111 + <backgroundcolorred>255</backgroundcolorred>
  112 + <backgroundcolorgreen>205</backgroundcolorgreen>
  113 + <backgroundcolorblue>112</backgroundcolorblue>
  114 + <bordercolorred>100</bordercolorred>
  115 + <bordercolorgreen>100</bordercolorgreen>
  116 + <bordercolorblue>100</bordercolorblue>
  117 + <drawshadow>Y</drawshadow>
  118 + </notepad>
  119 + <notepad>
  120 + <note>&#x8fd9;&#x91cc;&#x6709;&#x4e9b;&#x95ee;&#x9898;&#xa;&#x5728;window2012&#x7684;&#x73af;&#x5883;&#x4e0b;&#xff0c;&#xa;MySql&#x6570;&#x636e;&#x5e93;&#x67e5;&#x8be2;&#x4e2d;&#x5982;&#x679c;&#x8fd4;&#x56de;&#x4e2d;&#x6587;&#x5185;&#x5bb9;&#x7684;&#x5b57;&#x6bb5;&#xff0c;&#x8fd9;&#x4e2a;&#x5185;&#x5bb9;&#x4e71;&#x7801;&#xa;&#x89e3;&#x51b3;&#x529e;&#x6cd5;&#xff0c;&#x5c31;&#x662f;&#x6570;&#x636e;&#x5e93;&#x67e5;&#x8be2;&#x5168;&#x90e8;&#x7f13;&#x5b58;&#xff0c;&#x5c31;&#x4e0d;&#x4e71;&#x7801;&#xa;linux&#x73af;&#x5883;&#x4e0b;&#x6ca1;&#x95ee;&#x9898;</note>
  121 + <xloc>721</xloc>
  122 + <yloc>762</yloc>
  123 + <width>333</width>
  124 + <heigth>90</heigth>
  125 + <fontname>YaHei Consolas Hybrid</fontname>
  126 + <fontsize>12</fontsize>
  127 + <fontbold>N</fontbold>
  128 + <fontitalic>N</fontitalic>
  129 + <fontcolorred>0</fontcolorred>
  130 + <fontcolorgreen>0</fontcolorgreen>
  131 + <fontcolorblue>0</fontcolorblue>
  132 + <backgroundcolorred>255</backgroundcolorred>
  133 + <backgroundcolorgreen>205</backgroundcolorgreen>
  134 + <backgroundcolorblue>112</backgroundcolorblue>
  135 + <bordercolorred>100</bordercolorred>
  136 + <bordercolorgreen>100</bordercolorgreen>
  137 + <bordercolorblue>100</bordercolorblue>
  138 + <drawshadow>Y</drawshadow>
  139 + </notepad>
  140 + <notepad>
  141 + <note>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#xff0c;&#x65b9;&#x5411;&#x6709;&#x65f6;&#x786e;&#x5b9a;&#x4e0d;&#x51c6;&#xff0c;&#xa;&#x7a7a;&#x7684;&#x60c5;&#x51b5;&#x4e0b;&#x8bbe;&#x5b9a;&#x4e3a;0&#xff08;&#x4e0a;&#x884c;&#xff09;</note>
  142 + <xloc>104</xloc>
  143 + <yloc>939</yloc>
  144 + <width>178</width>
  145 + <heigth>42</heigth>
  146 + <fontname>YaHei Consolas Hybrid</fontname>
  147 + <fontsize>12</fontsize>
  148 + <fontbold>N</fontbold>
  149 + <fontitalic>N</fontitalic>
  150 + <fontcolorred>0</fontcolorred>
  151 + <fontcolorgreen>0</fontcolorgreen>
  152 + <fontcolorblue>0</fontcolorblue>
  153 + <backgroundcolorred>255</backgroundcolorred>
  154 + <backgroundcolorgreen>205</backgroundcolorgreen>
  155 + <backgroundcolorblue>112</backgroundcolorblue>
  156 + <bordercolorred>100</bordercolorred>
  157 + <bordercolorgreen>100</bordercolorgreen>
  158 + <bordercolorblue>100</bordercolorblue>
  159 + <drawshadow>Y</drawshadow>
  160 + </notepad>
  161 + <notepad>
  162 + <note>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#xff0c;&#x65b9;&#x5411;&#x6709;&#x65f6;&#x786e;&#x5b9a;&#x4e0d;&#x51c6;&#xff0c;&#xa;&#x7a7a;&#x7684;&#x60c5;&#x51b5;&#x4e0b;&#x8bbe;&#x5b9a;&#x4e3a;0&#xff08;&#x4e0a;&#x884c;&#xff09;</note>
  163 + <xloc>578</xloc>
  164 + <yloc>1084</yloc>
  165 + <width>178</width>
  166 + <heigth>42</heigth>
  167 + <fontname>YaHei Consolas Hybrid</fontname>
  168 + <fontsize>12</fontsize>
  169 + <fontbold>N</fontbold>
  170 + <fontitalic>N</fontitalic>
  171 + <fontcolorred>0</fontcolorred>
  172 + <fontcolorgreen>0</fontcolorgreen>
  173 + <fontcolorblue>0</fontcolorblue>
  174 + <backgroundcolorred>255</backgroundcolorred>
  175 + <backgroundcolorgreen>205</backgroundcolorgreen>
  176 + <backgroundcolorblue>112</backgroundcolorblue>
  177 + <bordercolorred>100</bordercolorred>
  178 + <bordercolorgreen>100</bordercolorgreen>
  179 + <bordercolorblue>100</bordercolorblue>
  180 + <drawshadow>Y</drawshadow>
  181 + </notepad>
  182 + </notepads>
  183 + <connection>
  184 + <name>192.168.168.1_jwgl_dw</name>
  185 + <server>192.168.168.1</server>
  186 + <type>ORACLE</type>
  187 + <access>Native</access>
  188 + <database>orcl</database>
  189 + <port>1521</port>
  190 + <username>jwgl_dw</username>
  191 + <password>Encrypted 2be98afc86aa7f2e4cb13b977d2adabcd</password>
  192 + <servername/>
  193 + <data_tablespace/>
  194 + <index_tablespace/>
  195 + <attributes>
  196 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  197 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  198 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  199 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  200 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  201 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  202 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  203 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  204 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  205 + </attributes>
  206 + </connection>
  207 + <connection>
  208 + <name>bus_control_variable</name>
  209 + <server>&#x24;&#x7b;v_db_ip&#x7d;</server>
  210 + <type>MYSQL</type>
  211 + <access>Native</access>
  212 + <database>&#x24;&#x7b;v_db_dname&#x7d;</database>
  213 + <port>3306</port>
  214 + <username>&#x24;&#x7b;v_db_uname&#x7d;</username>
  215 + <password>&#x24;&#x7b;v_db_pwd&#x7d;</password>
  216 + <servername/>
  217 + <data_tablespace/>
  218 + <index_tablespace/>
  219 + <attributes>
  220 + <attribute><code>EXTRA_OPTION_MYSQL.characterEncoding</code><attribute>utf8</attribute></attribute>
  221 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  222 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  223 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  224 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  225 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  226 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  227 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  228 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  229 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  230 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  231 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  232 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  233 + </attributes>
  234 + </connection>
  235 + <connection>
  236 + <name>bus_control_&#x516c;&#x53f8;_201</name>
  237 + <server>localhost</server>
  238 + <type>MYSQL</type>
  239 + <access>Native</access>
  240 + <database>control</database>
  241 + <port>3306</port>
  242 + <username>root</username>
  243 + <password>Encrypted </password>
  244 + <servername/>
  245 + <data_tablespace/>
  246 + <index_tablespace/>
  247 + <attributes>
  248 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  249 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  250 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  251 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  252 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  253 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  254 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  255 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  256 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  257 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  258 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  259 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  260 + </attributes>
  261 + </connection>
  262 + <connection>
  263 + <name>bus_control_&#x672c;&#x673a;</name>
  264 + <server>localhost</server>
  265 + <type>MYSQL</type>
  266 + <access>Native</access>
  267 + <database>control</database>
  268 + <port>3306</port>
  269 + <username>root</username>
  270 + <password>Encrypted </password>
  271 + <servername/>
  272 + <data_tablespace/>
  273 + <index_tablespace/>
  274 + <attributes>
  275 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  276 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  277 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  278 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  279 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  280 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  281 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  282 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  283 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  284 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  285 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  286 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  287 + </attributes>
  288 + </connection>
  289 + <connection>
  290 + <name>xlab_mysql_youle</name>
  291 + <server>101.231.124.8</server>
  292 + <type>MYSQL</type>
  293 + <access>Native</access>
  294 + <database>xlab_youle</database>
  295 + <port>45687</port>
  296 + <username>xlab-youle</username>
  297 + <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password>
  298 + <servername/>
  299 + <data_tablespace/>
  300 + <index_tablespace/>
  301 + <attributes>
  302 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  303 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  304 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  305 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  306 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  307 + <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute>
  308 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  309 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  310 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  311 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  312 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  313 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  314 + </attributes>
  315 + </connection>
  316 + <connection>
  317 + <name>xlab_mysql_youle&#xff08;&#x672c;&#x673a;&#xff09;</name>
  318 + <server>localhost</server>
  319 + <type>MYSQL</type>
  320 + <access>Native</access>
  321 + <database>xlab_youle</database>
  322 + <port>3306</port>
  323 + <username>root</username>
  324 + <password>Encrypted </password>
  325 + <servername/>
  326 + <data_tablespace/>
  327 + <index_tablespace/>
  328 + <attributes>
  329 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  330 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  331 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  332 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  333 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  334 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  335 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  336 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  337 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  338 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  339 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  340 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  341 + </attributes>
  342 + </connection>
  343 + <connection>
  344 + <name>xlab_youle</name>
  345 + <server/>
  346 + <type>MYSQL</type>
  347 + <access>JNDI</access>
  348 + <database>xlab_youle</database>
  349 + <port>1521</port>
  350 + <username/>
  351 + <password>Encrypted </password>
  352 + <servername/>
  353 + <data_tablespace/>
  354 + <index_tablespace/>
  355 + <attributes>
  356 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  357 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  358 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  359 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  360 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  361 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  362 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  363 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  364 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  365 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  366 + </attributes>
  367 + </connection>
  368 + <order>
  369 + <hop> <from>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</from><to>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</to><enabled>Y</enabled> </hop>
  370 + <hop> <from>&#x6dfb;&#x52a0;&#x53d1;&#x8f66;&#x987a;&#x5e8f;&#x53f7;</from><to>&#x8fc7;&#x6ee4;&#x8bb0;&#x5f55;&#xff08;&#x53d1;&#x8f66;&#x65f6;&#x95f4;&#x4e3a;&#x7a7a;&#xff09;</to><enabled>Y</enabled> </hop>
  371 + <hop> <from>&#x8fc7;&#x6ee4;&#x8bb0;&#x5f55;&#xff08;&#x53d1;&#x8f66;&#x65f6;&#x95f4;&#x4e3a;&#x7a7a;&#xff09;</from><to>&#x6dfb;&#x52a0;&#x5bf9;&#x5e94;&#x73ed;&#x6b21;&#x6570;</to><enabled>Y</enabled> </hop>
  372 + <hop> <from>&#x6dfb;&#x52a0;&#x5bf9;&#x5e94;&#x73ed;&#x6b21;&#x6570;</from><to>&#x5904;&#x7406;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
  373 + <hop> <from>&#x5904;&#x7406;&#x6570;&#x636e;</from><to>&#x5206;&#x7ec4;&#x5404;&#x4e2a;&#x8def;&#x724c;&#x7684;&#x7ad9;</to><enabled>Y</enabled> </hop>
  374 + <hop> <from>&#x67e5;&#x627e;&#x65f6;&#x523b;&#x8868;&#x57fa;&#x7840;&#x4fe1;&#x606f;&#x5173;&#x8054;</from><to>&#x67e5;&#x627e;&#x8def;&#x724c;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop>
  375 + <hop> <from>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x5173;&#x8054;</from><to>&#x67e5;&#x627e;&#x65f6;&#x523b;&#x8868;&#x57fa;&#x7840;&#x4fe1;&#x606f;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop>
  376 + <hop> <from>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178;</from><to>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178;</to><enabled>Y</enabled> </hop>
  377 + <hop> <from>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 2</from><to>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 2</to><enabled>Y</enabled> </hop>
  378 + <hop> <from>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 3</from><to>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 3</to><enabled>Y</enabled> </hop>
  379 + <hop> <from>&#x5339;&#x914d;&#x4e0a;&#x4e0b;&#x884c;&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x7c7b;&#x578b;&#x4fee;&#x6b63;</to><enabled>Y</enabled> </hop>
  380 + <hop> <from>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;1</from><to>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</to><enabled>Y</enabled> </hop>
  381 + <hop> <from>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;1</from><to>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
  382 + <hop> <from>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</from><to>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
  383 + <hop> <from>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</from><to>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
  384 + <hop> <from>&#x67e5;&#x627e;&#x6240;&#x6709;&#x7ebf;&#x8def;&#x4e0a;&#x4e0b;&#x884c;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x5339;&#x914d;&#x4e0a;&#x4e0b;&#x884c;&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>
  385 + <hop> <from>&#x67e5;&#x627e;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;</from><to>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178;</to><enabled>Y</enabled> </hop>
  386 + <hop> <from>&#x67e5;&#x627e;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</from><to>&#x67e5;&#x627e;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop>
  387 + <hop> <from>&#x6b63;&#x5e38;&#x73ed;&#x6b21;_&#x5904;&#x7406;&#x6570;&#x636e;</from><to>&#x67e5;&#x627e;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</to><enabled>Y</enabled> </hop>
  388 + <hop> <from>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x6570;&#x636e;</from><to>&#x6b63;&#x5e38;&#x73ed;&#x6b21;_&#x5904;&#x7406;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
  389 + <hop> <from>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178;</from><to>&#x67e5;&#x627e;&#x6240;&#x6709;&#x7ebf;&#x8def;&#x4e0a;&#x4e0b;&#x884c;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>
  390 + <hop> <from>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 2</from><to>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x51fa;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>
  391 + <hop> <from>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 3</from><to>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x8fdb;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>
  392 + <hop> <from>&#x8ba1;&#x7b97;&#x73ed;&#x6b21;&#x7c7b;&#x578b;</from><to>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;1</to><enabled>Y</enabled> </hop>
  393 + <hop> <from>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</from><to>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;1</to><enabled>Y</enabled> </hop>
  394 + <hop> <from>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;1</from><to>&#x51fa;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x7ec8;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</to><enabled>Y</enabled> </hop>
  395 + <hop> <from>&#x51fa;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x7ec8;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</from><to>&#x67e5;&#x627e;&#x51fa;&#x573a;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</to><enabled>Y</enabled> </hop>
  396 + <hop> <from>&#x67e5;&#x627e;&#x51fa;&#x573a;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</from><to>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 2</to><enabled>Y</enabled> </hop>
  397 + <hop> <from>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</from><to>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;2</to><enabled>Y</enabled> </hop>
  398 + <hop> <from>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;2</from><to>&#x8fdb;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x8d77;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</to><enabled>Y</enabled> </hop>
  399 + <hop> <from>&#x8fdb;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x8d77;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</from><to>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ebf;&#x8def;&#x65b9;&#x5411;</to><enabled>Y</enabled> </hop>
  400 + <hop> <from>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ebf;&#x8def;&#x65b9;&#x5411;</from><to>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ec8;&#x70b9;&#x7ad9;&#xff0c;&#x5e76;&#x4f5c;&#x4e3a;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x70b9;&#x7ad9;</to><enabled>Y</enabled> </hop>
  401 + <hop> <from>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</from><to>&#x6dfb;&#x52a0;&#x53d1;&#x8f66;&#x987a;&#x5e8f;&#x53f7;</to><enabled>Y</enabled> </hop>
  402 + <hop> <from>&#x5206;&#x7ec4;&#x5404;&#x4e2a;&#x8def;&#x724c;&#x7684;&#x7ad9;</from><to>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop>
  403 + <hop> <from>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;&#xff0c;&#x7ebf;&#x8def;&#x540d;&#x5b57;&#xff0c;&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</from><to>&#x8bb0;&#x5f55;&#x5173;&#x8054; &#x28;&#x7b1b;&#x5361;&#x5c14;&#x8f93;&#x51fa;&#x29;</to><enabled>Y</enabled> </hop>
  404 + <hop> <from>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</from><to>&#x8bb0;&#x5f55;&#x5173;&#x8054; &#x28;&#x7b1b;&#x5361;&#x5c14;&#x8f93;&#x51fa;&#x29;</to><enabled>Y</enabled> </hop>
  405 + <hop> <from>&#x8bb0;&#x5f55;&#x5173;&#x8054; &#x28;&#x7b1b;&#x5361;&#x5c14;&#x8f93;&#x51fa;&#x29;</from><to>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</to><enabled>Y</enabled> </hop>
  406 + <hop> <from>&#x7c7b;&#x578b;&#x4fee;&#x6b63;</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail</to><enabled>Y</enabled> </hop>
  407 + <hop> <from>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ec8;&#x70b9;&#x7ad9;&#xff0c;&#x5e76;&#x4f5c;&#x4e3a;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x70b9;&#x7ad9;</from><to>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</to><enabled>Y</enabled> </hop>
  408 + <hop> <from>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</from><to>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 3</to><enabled>Y</enabled> </hop>
  409 + <hop> <from>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x51fa;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x5339;&#x914d;&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>
  410 + <hop> <from>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x8fdb;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x5339;&#x914d;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>
  411 + <hop> <from>&#x5339;&#x914d;&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x4e0a;&#x4e0b;&#x884c;NULL&#x5224;&#x5b9a;</to><enabled>Y</enabled> </hop>
  412 + <hop> <from>&#x4e0a;&#x4e0b;&#x884c;NULL&#x5224;&#x5b9a;</from><to>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 2</to><enabled>Y</enabled> </hop>
  413 + <hop> <from>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 2</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail 2</to><enabled>Y</enabled> </hop>
  414 + <hop> <from>&#x5339;&#x914d;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x4e0a;&#x4e0b;&#x884c;&#x5224;&#x5b9a; 2</to><enabled>Y</enabled> </hop>
  415 + <hop> <from>&#x4e0a;&#x4e0b;&#x884c;&#x5224;&#x5b9a; 2</from><to>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 3</to><enabled>Y</enabled> </hop>
  416 + <hop> <from>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 3</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail 3</to><enabled>Y</enabled> </hop>
  417 + <hop> <from>&#x67e5;&#x627e;&#x8def;&#x724c;&#x5173;&#x8054;</from><to>&#x7ad9;&#x70b9;&#x8def;&#x7531;&#x7248;&#x672c;&#x7c7b;&#x578b;</to><enabled>Y</enabled> </hop>
  418 + <hop> <from>&#x7ad9;&#x70b9;&#x8def;&#x7531;&#x7248;&#x672c;&#x7c7b;&#x578b;</from><to>&#x8ba1;&#x7b97;&#x73ed;&#x6b21;&#x7c7b;&#x578b;</to><enabled>Y</enabled> </hop>
  419 + </order>
  420 + <step>
  421 + <name>&#x4e0a;&#x4e0b;&#x884c;NULL&#x5224;&#x5b9a;</name>
  422 + <type>IfNull</type>
  423 + <description/>
  424 + <distribute>Y</distribute>
  425 + <custom_distribution/>
  426 + <copies>1</copies>
  427 + <partitioning>
  428 + <method>none</method>
  429 + <schema_name/>
  430 + </partitioning>
  431 + <replaceAllByValue/>
  432 + <replaceAllMask/>
  433 + <selectFields>Y</selectFields>
  434 + <selectValuesType>N</selectValuesType>
  435 + <setEmptyStringAll>N</setEmptyStringAll>
  436 + <valuetypes>
  437 + </valuetypes>
  438 + <fields>
  439 + <field>
  440 + <name>sxx</name>
  441 + <value>0</value>
  442 + <mask/>
  443 + <set_empty_string>N</set_empty_string>
  444 + </field>
  445 + </fields>
  446 + <cluster_schema/>
  447 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  448 + <xloc>335</xloc>
  449 + <yloc>938</yloc>
  450 + <draw>Y</draw>
  451 + </GUI>
  452 + </step>
  453 +
  454 + <step>
  455 + <name>&#x4e0a;&#x4e0b;&#x884c;&#x5224;&#x5b9a; 2</name>
  456 + <type>IfNull</type>
  457 + <description/>
  458 + <distribute>Y</distribute>
  459 + <custom_distribution/>
  460 + <copies>1</copies>
  461 + <partitioning>
  462 + <method>none</method>
  463 + <schema_name/>
  464 + </partitioning>
  465 + <replaceAllByValue/>
  466 + <replaceAllMask/>
  467 + <selectFields>Y</selectFields>
  468 + <selectValuesType>N</selectValuesType>
  469 + <setEmptyStringAll>N</setEmptyStringAll>
  470 + <valuetypes>
  471 + </valuetypes>
  472 + <fields>
  473 + <field>
  474 + <name>sxx2</name>
  475 + <value>0</value>
  476 + <mask/>
  477 + <set_empty_string>N</set_empty_string>
  478 + </field>
  479 + </fields>
  480 + <cluster_schema/>
  481 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  482 + <xloc>804</xloc>
  483 + <yloc>1081</yloc>
  484 + <draw>Y</draw>
  485 + </GUI>
  486 + </step>
  487 +
  488 + <step>
  489 + <name>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178;</name>
  490 + <type>ValueMapper</type>
  491 + <description/>
  492 + <distribute>Y</distribute>
  493 + <custom_distribution/>
  494 + <copies>1</copies>
  495 + <partitioning>
  496 + <method>none</method>
  497 + <schema_name/>
  498 + </partitioning>
  499 + <field_to_use>sxx</field_to_use>
  500 + <target_field>sxx_desc</target_field>
  501 + <non_match_default/>
  502 + <fields>
  503 + <field>
  504 + <source_value>0</source_value>
  505 + <target_value>&#x4e0a;&#x884c;</target_value>
  506 + </field>
  507 + <field>
  508 + <source_value>1</source_value>
  509 + <target_value>&#x4e0b;&#x884c;</target_value>
  510 + </field>
  511 + </fields>
  512 + <cluster_schema/>
  513 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  514 + <xloc>147</xloc>
  515 + <yloc>403</yloc>
  516 + <draw>Y</draw>
  517 + </GUI>
  518 + </step>
  519 +
  520 + <step>
  521 + <name>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 2</name>
  522 + <type>ValueMapper</type>
  523 + <description/>
  524 + <distribute>Y</distribute>
  525 + <custom_distribution/>
  526 + <copies>1</copies>
  527 + <partitioning>
  528 + <method>none</method>
  529 + <schema_name/>
  530 + </partitioning>
  531 + <field_to_use>sxx</field_to_use>
  532 + <target_field>sxx_desc</target_field>
  533 + <non_match_default/>
  534 + <fields>
  535 + <field>
  536 + <source_value>0</source_value>
  537 + <target_value>&#x4e0a;&#x884c;</target_value>
  538 + </field>
  539 + <field>
  540 + <source_value>1</source_value>
  541 + <target_value>&#x4e0b;&#x884c;</target_value>
  542 + </field>
  543 + </fields>
  544 + <cluster_schema/>
  545 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  546 + <xloc>331</xloc>
  547 + <yloc>598</yloc>
  548 + <draw>Y</draw>
  549 + </GUI>
  550 + </step>
  551 +
  552 + <step>
  553 + <name>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 3</name>
  554 + <type>ValueMapper</type>
  555 + <description/>
  556 + <distribute>Y</distribute>
  557 + <custom_distribution/>
  558 + <copies>1</copies>
  559 + <partitioning>
  560 + <method>none</method>
  561 + <schema_name/>
  562 + </partitioning>
  563 + <field_to_use>sxx</field_to_use>
  564 + <target_field>sxx_desc</target_field>
  565 + <non_match_default/>
  566 + <fields>
  567 + <field>
  568 + <source_value>0</source_value>
  569 + <target_value>&#x4e0a;&#x884c;</target_value>
  570 + </field>
  571 + <field>
  572 + <source_value>1</source_value>
  573 + <target_value>&#x4e0b;&#x884c;</target_value>
  574 + </field>
  575 + </fields>
  576 + <cluster_schema/>
  577 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  578 + <xloc>553</xloc>
  579 + <yloc>859</yloc>
  580 + <draw>Y</draw>
  581 + </GUI>
  582 + </step>
  583 +
  584 + <step>
  585 + <name>&#x51fa;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x7ec8;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</name>
  586 + <type>ScriptValueMod</type>
  587 + <description/>
  588 + <distribute>Y</distribute>
  589 + <custom_distribution/>
  590 + <copies>1</copies>
  591 + <partitioning>
  592 + <method>none</method>
  593 + <schema_name/>
  594 + </partitioning>
  595 + <compatible>N</compatible>
  596 + <optimizationLevel>9</optimizationLevel>
  597 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  598 + <jsScript_name>Script 1</jsScript_name>
  599 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f; &#x6dfb;&#x52a0;&#x7ad9;&#x70b9;&#x6807;&#x8bc6;&#xa;var cc_groups &#x3d; qdzgroups.split&#x28;&#x22;,&#x22;&#x29;&#x3b; &#x2f;&#x2f; &#x6240;&#x6709;&#x73ed;&#x6b21;&#x8d77;&#x70b9;&#x7ad9;&#x6570;&#x7ec4;&#xa;var zdzname &#x3d; cc_groups&#x5b;gno&#x5d;&#x3b; &#x2f;&#x2f; &#x51fa;&#x573a;&#x73ed;&#x6b21;&#x7684;&#x7ec8;&#x70b9;&#x7ad9;&#x662f;&#x4e0b;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x59cb;&#x7ad9;&#xa;var endZdtype &#x3d; &#x27;B&#x27;&#x3b;&#xa;&#x2f;&#x2f; var endZdtype &#x3d; &#x27;E&#x27;&#x3b;&#xa;&#xa;var destory &#x3d; 0&#x3b; &#x2f;&#x2f; &#x672a;&#x64a4;&#x9500;flag</jsScript_script>
  600 + </jsScript> </jsScripts> <fields> <field> <name>zdzname</name>
  601 + <rename>zdzname</rename>
  602 + <type>String</type>
  603 + <length>-1</length>
  604 + <precision>-1</precision>
  605 + <replace>N</replace>
  606 + </field> <field> <name>endZdtype</name>
  607 + <rename>endZdtype</rename>
  608 + <type>String</type>
  609 + <length>-1</length>
  610 + <precision>-1</precision>
  611 + <replace>N</replace>
  612 + </field> <field> <name>destory</name>
  613 + <rename>destory</rename>
  614 + <type>Integer</type>
  615 + <length>-1</length>
  616 + <precision>-1</precision>
  617 + <replace>N</replace>
  618 + </field> </fields> <cluster_schema/>
  619 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  620 + <xloc>575</xloc>
  621 + <yloc>502</yloc>
  622 + <draw>Y</draw>
  623 + </GUI>
  624 + </step>
  625 +
  626 + <step>
  627 + <name>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</name>
  628 + <type>Dummy</type>
  629 + <description/>
  630 + <distribute>Y</distribute>
  631 + <custom_distribution/>
  632 + <copies>1</copies>
  633 + <partitioning>
  634 + <method>none</method>
  635 + <schema_name/>
  636 + </partitioning>
  637 + <cluster_schema/>
  638 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  639 + <xloc>869</xloc>
  640 + <yloc>504</yloc>
  641 + <draw>Y</draw>
  642 + </GUI>
  643 + </step>
  644 +
  645 + <step>
  646 + <name>&#x5206;&#x7ec4;&#x5404;&#x4e2a;&#x8def;&#x724c;&#x7684;&#x7ad9;</name>
  647 + <type>GroupBy</type>
  648 + <description/>
  649 + <distribute>Y</distribute>
  650 + <custom_distribution/>
  651 + <copies>1</copies>
  652 + <partitioning>
  653 + <method>none</method>
  654 + <schema_name/>
  655 + </partitioning>
  656 + <all_rows>Y</all_rows>
  657 + <ignore_aggregate>N</ignore_aggregate>
  658 + <field_ignore/>
  659 + <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
  660 + <prefix>grp</prefix>
  661 + <add_linenr>Y</add_linenr>
  662 + <linenr_fieldname>gno</linenr_fieldname>
  663 + <give_back_row>N</give_back_row>
  664 + <group>
  665 + <field>
  666 + <name>lp</name>
  667 + </field>
  668 + </group>
  669 + <fields>
  670 + <field>
  671 + <aggregate>qdzgroups</aggregate>
  672 + <subject>qdzname</subject>
  673 + <type>CONCAT_STRING</type>
  674 + <valuefield>,</valuefield>
  675 + </field>
  676 + </fields>
  677 + <cluster_schema/>
  678 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  679 + <xloc>892</xloc>
  680 + <yloc>44</yloc>
  681 + <draw>Y</draw>
  682 + </GUI>
  683 + </step>
  684 +
  685 + <step>
  686 + <name>&#x5339;&#x914d;&#x4e0a;&#x4e0b;&#x884c;&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
  687 + <type>ScriptValueMod</type>
  688 + <description/>
  689 + <distribute>Y</distribute>
  690 + <custom_distribution/>
  691 + <copies>1</copies>
  692 + <partitioning>
  693 + <method>none</method>
  694 + <schema_name/>
  695 + </partitioning>
  696 + <compatible>N</compatible>
  697 + <optimizationLevel>9</optimizationLevel>
  698 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  699 + <jsScript_name>Script 1</jsScript_name>
  700 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var jhlc&#x3b; &#x2f;&#x2f; &#x8ba1;&#x5212;&#x91cc;&#x7a0b;&#xa;var bcsj&#x3b; &#x2f;&#x2f; &#x73ed;&#x6b21;&#x65f6;&#x95f4;&#xa;&#xa;&#x2f;&#x2f; &#x65f6;&#x95f4;&#x8303;&#x56f4;&#x6b63;&#x5219;&#x8868;&#x8fbe;&#x5f0f;&#xa;var timeRex &#x3d; &#x2f;&#x5e;&#x28;&#x5b;01&#x5d;&#x3f;&#x5b;0-9&#x5d;&#x7c;2&#x5b;0-3&#x5d;&#x29;&#x3a;&#x5b;0-5&#x5d;&#x5b;0-9&#x5d;&#x24;&#x2f;&#x3b;&#xa;&#x2f;&#x2f; &#x53d1;&#x8f66;&#x65f6;&#x95f4;&#x8f6c;&#x6362;&#x6210;&#x65e5;&#x671f;&#xa;var fcsj_hour &#x3d; str2num&#x28;sendtime_calcu.substr&#x28;0, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa;var fcsj_min &#x3d; str2num&#x28;sendtime_calcu.substr&#x28;3, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa;var fcsj_date &#x3d; new Date&#x28;2000,1,1,fcsj_hour,fcsj_min,0&#x29;&#x3b;&#xa;&#xa;&#x2f;&#x2f; &#x5224;&#x5b9a;&#x662f;&#x5426;&#x65e9;&#x9ad8;&#x5cf0;&#xa;var isZgf &#x3d; false&#x3b;&#xa;if &#x28;timeRex.test&#x28;early_start_time&#x29; &#x26;&#x26; timeRex.test&#x28;early_end_time&#x29; &#x26;&#x26; early_up_time &#x21;&#x3d; null &#x26;&#x26; early_down_time &#x21;&#x3d; null&#x29; &#x7b;&#xa; var early_s_hour &#x3d; str2num&#x28;early_start_time.substr&#x28;0, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var early_s_min &#x3d; str2num&#x28;early_start_time.substr&#x28;3, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var early_s_date &#x3d; new Date&#x28;2000,1,1,early_s_hour,early_s_min,0&#x29;&#x3b;&#xa;&#xa; var early_e_hour &#x3d; str2num&#x28;early_end_time.substr&#x28;0, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var early_e_min &#x3d; str2num&#x28;early_end_time.substr&#x28;3, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var early_e_date &#x3d; new Date&#x28;2000,1,1,early_e_hour,early_e_min,0&#x29;&#x3b;&#xa;&#xa; if &#x28;fcsj_date &#x3e;&#x3d; early_s_date &#x26;&#x26; fcsj_date &#x3c;&#x3d; early_e_date&#x29; &#x7b;&#xa; isZgf &#x3d; true&#x3b;&#xa; &#x7d;&#xa;&#x7d;&#xa;&#xa;&#x2f;&#x2f; &#x5224;&#x5b9a;&#x662f;&#x5426;&#x665a;&#x9ad8;&#x5cf0;&#xa;var isWgf &#x3d; false&#x3b;&#xa;if &#x28;timeRex.test&#x28;late_start_time&#x29; &#x26;&#x26; timeRex.test&#x28;late_end_time&#x29; &#x26;&#x26; late_up_time &#x21;&#x3d; null &#x26;&#x26; late_down_time &#x21;&#x3d; null&#x29; &#x7b;&#xa; var late_s_hour &#x3d; str2num&#x28;late_start_time.substr&#x28;0, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var late_s_min &#x3d; str2num&#x28;late_start_time.substr&#x28;3, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var late_s_date &#x3d; new Date&#x28;2000,1,1,late_s_hour,late_s_min,0&#x29;&#x3b;&#xa;&#xa; var late_e_hour &#x3d; str2num&#x28;late_end_time.substr&#x28;0, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var late_e_min &#x3d; str2num&#x28;late_end_time.substr&#x28;3, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var late_e_date &#x3d; new Date&#x28;2000,1,1,late_e_hour,late_e_min,0&#x29;&#x3b;&#xa;&#xa; if &#x28;fcsj_date &#x3e;&#x3d; late_s_date &#x26;&#x26; fcsj_date &#x3c;&#x3d; late_e_date&#x29; &#x7b;&#xa; isWgf &#x3d; true&#x3b;&#xa; &#x7d;&#xa;&#x7d;&#xa;&#xa;&#x2f;&#x2f; &#x5224;&#x5b9a;&#x662f;&#x5426;&#x665a;&#x9ad8;&#x5cf0;&#xa;&#xa;if &#x28;sxx &#x3d;&#x3d; 0&#x29; &#x7b; &#x2f;&#x2f; &#x4e0a;&#x884c;&#xa; if &#x28;isZgf&#x29; &#x7b;&#xa; jhlc &#x3d; up_mileage&#x3b;&#xa; bcsj &#x3d; early_up_time &#x21;&#x3d; 0 &#x3f; early_up_time &#x3a; up_travel_time&#x3b;&#xa; &#x7d; else if &#x28;isWgf&#x29; &#x7b;&#xa; jhlc &#x3d; up_mileage&#x3b;&#xa; bcsj &#x3d; late_up_time &#x21;&#x3d; 0 &#x3f; late_up_time &#x3a; up_travel_time&#x3b;&#xa; &#x7d; else &#x7b;&#xa; jhlc &#x3d; up_mileage&#x3b;&#xa; bcsj &#x3d; up_travel_time&#x3b;&#xa; &#x7d;&#xa;&#x7d; else &#x7b; &#x2f;&#x2f; sxx &#x3d;&#x3d; 1 &#x4e0b;&#x884c;&#xa; if &#x28;isZgf&#x29; &#x7b;&#xa; jhlc &#x3d; down_mileage&#x3b;&#xa; bcsj &#x3d; early_down_time &#x21;&#x3d; 0 &#x3f; early_down_time &#x3a; down_travel_time&#x3b;&#xa; &#x7d; else if &#x28;isWgf&#x29; &#x7b;&#xa; jhlc &#x3d; down_mileage&#x3b;&#xa; bcsj &#x3d; late_down_time &#x21;&#x3d; 0 &#x3f; late_down_time &#x3a; down_travel_time&#x3b;&#xa; &#x7d; else &#x7b;&#xa; jhlc &#x3d; down_mileage&#x3b;&#xa; bcsj &#x3d; down_travel_time&#x3b;&#xa; &#x7d;&#xa;&#x7d;</jsScript_script>
  701 + </jsScript> </jsScripts> <fields> <field> <name>jhlc</name>
  702 + <rename>jhlc</rename>
  703 + <type>String</type>
  704 + <length>-1</length>
  705 + <precision>-1</precision>
  706 + <replace>N</replace>
  707 + </field> <field> <name>bcsj</name>
  708 + <rename>bcsj</rename>
  709 + <type>String</type>
  710 + <length>-1</length>
  711 + <precision>-1</precision>
  712 + <replace>N</replace>
  713 + </field> </fields> <cluster_schema/>
  714 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  715 + <xloc>148</xloc>
  716 + <yloc>674</yloc>
  717 + <draw>Y</draw>
  718 + </GUI>
  719 + </step>
  720 +
  721 + <step>
  722 + <name>&#x5339;&#x914d;&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
  723 + <type>ScriptValueMod</type>
  724 + <description/>
  725 + <distribute>Y</distribute>
  726 + <custom_distribution/>
  727 + <copies>1</copies>
  728 + <partitioning>
  729 + <method>none</method>
  730 + <schema_name/>
  731 + </partitioning>
  732 + <compatible>N</compatible>
  733 + <optimizationLevel>9</optimizationLevel>
  734 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  735 + <jsScript_name>Script 1</jsScript_name>
  736 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var out_mileage&#x3b; &#x2f;&#x2f; &#x51fa;&#x573a;&#x8ba1;&#x5212;&#x91cc;&#x7a0b;&#xa;var out_time&#x3b; &#x2f;&#x2f; &#x51fa;&#x573a;&#x8ba1;&#x5212;&#x65f6;&#x95f4;&#xa;&#xa;if &#x28;sxx &#x3d;&#x3d; 0&#x29; &#x7b; &#x2f;&#x2f; &#x4e0a;&#x884c;&#xa; out_mileage &#x3d; up_out_mileage&#x3b;&#xa; out_time &#x3d; up_out_timer&#x3b;&#xa;&#x7d; else &#x7b; &#x2f;&#x2f; sxx &#x3d;&#x3d; 1 &#x4e0b;&#x884c;&#xa; out_mileage &#x3d; down_out_mileage&#x3b;&#xa; out_time &#x3d; down_out_timer&#x3b;&#xa;&#x7d;&#xa;&#xa;&#xa;&#xa;</jsScript_script>
  737 + </jsScript> </jsScripts> <fields> <field> <name>out_mileage</name>
  738 + <rename>out_mileage</rename>
  739 + <type>String</type>
  740 + <length>-1</length>
  741 + <precision>-1</precision>
  742 + <replace>N</replace>
  743 + </field> <field> <name>out_time</name>
  744 + <rename>out_time</rename>
  745 + <type>String</type>
  746 + <length>-1</length>
  747 + <precision>-1</precision>
  748 + <replace>N</replace>
  749 + </field> </fields> <cluster_schema/>
  750 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  751 + <xloc>336</xloc>
  752 + <yloc>862</yloc>
  753 + <draw>Y</draw>
  754 + </GUI>
  755 + </step>
  756 +
  757 + <step>
  758 + <name>&#x5339;&#x914d;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
  759 + <type>ScriptValueMod</type>
  760 + <description/>
  761 + <distribute>Y</distribute>
  762 + <custom_distribution/>
  763 + <copies>1</copies>
  764 + <partitioning>
  765 + <method>none</method>
  766 + <schema_name/>
  767 + </partitioning>
  768 + <compatible>N</compatible>
  769 + <optimizationLevel>9</optimizationLevel>
  770 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  771 + <jsScript_name>Script 1</jsScript_name>
  772 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var parade_mileage&#x3b; &#x2f;&#x2f; &#x8fdb;&#x573a;&#x8ba1;&#x5212;&#x91cc;&#x7a0b;&#xa;var parade_time&#x3b; &#x2f;&#x2f; &#x8fdb;&#x573a;&#x8ba1;&#x5212;&#x65f6;&#x95f4;&#xa;&#xa;if &#x28;sxx2 &#x3d;&#x3d; 0&#x29; &#x7b; &#x2f;&#x2f; &#x4e0a;&#x884c;&#xa; parade_mileage &#x3d; up_in_mileage&#x3b;&#xa; parade_time &#x3d; up_in_timer&#x3b;&#xa;&#x7d; else &#x7b; &#x2f;&#x2f; sxx &#x3d;&#x3d; 1 &#x4e0b;&#x884c;&#xa; parade_mileage &#x3d; down_in_mileage&#x3b;&#xa; parade_time &#x3d; down_in_timer&#x3b;&#xa;&#x7d;&#xa;&#xa;&#xa;&#xa;</jsScript_script>
  773 + </jsScript> </jsScripts> <fields> <field> <name>parade_mileage</name>
  774 + <rename>parade_mileage</rename>
  775 + <type>String</type>
  776 + <length>-1</length>
  777 + <precision>-1</precision>
  778 + <replace>N</replace>
  779 + </field> <field> <name>parade_time</name>
  780 + <rename>parade_time</rename>
  781 + <type>String</type>
  782 + <length>-1</length>
  783 + <precision>-1</precision>
  784 + <replace>N</replace>
  785 + </field> </fields> <cluster_schema/>
  786 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  787 + <xloc>726</xloc>
  788 + <yloc>1005</yloc>
  789 + <draw>Y</draw>
  790 + </GUI>
  791 + </step>
  792 +
  793 + <step>
  794 + <name>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;&#xff0c;&#x7ebf;&#x8def;&#x540d;&#x5b57;&#xff0c;&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</name>
  795 + <type>DataGrid</type>
  796 + <description/>
  797 + <distribute>Y</distribute>
  798 + <custom_distribution/>
  799 + <copies>1</copies>
  800 + <partitioning>
  801 + <method>none</method>
  802 + <schema_name/>
  803 + </partitioning>
  804 + <fields>
  805 + </fields>
  806 + <data>
  807 + <line> </line>
  808 + </data>
  809 + <cluster_schema/>
  810 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  811 + <xloc>110</xloc>
  812 + <yloc>133</yloc>
  813 + <draw>Y</draw>
  814 + </GUI>
  815 + </step>
  816 +
  817 + <step>
  818 + <name>&#x5904;&#x7406;&#x6570;&#x636e;</name>
  819 + <type>ScriptValueMod</type>
  820 + <description/>
  821 + <distribute>Y</distribute>
  822 + <custom_distribution/>
  823 + <copies>1</copies>
  824 + <partitioning>
  825 + <method>none</method>
  826 + <schema_name/>
  827 + </partitioning>
  828 + <compatible>N</compatible>
  829 + <optimizationLevel>9</optimizationLevel>
  830 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  831 + <jsScript_name>Script 1</jsScript_name>
  832 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f; &#x4f7f;&#x7528;&#x6b63;&#x5219;&#x8868;&#x8fbe;&#x5f0f;&#x53bb;&#x9664;&#x7ad9;&#x70b9;&#x540d;&#x79f0;&#x53f3;&#x4fa7;&#x591a;&#x4f59;&#x7684;&#x6570;&#x5b57;&#xa;qdzname &#x3d; qdzname.replace&#x28;&#x2f;&#x28;&#x5c;d&#x2b;&#x24;&#x29;&#x2f;g,&#x27;&#x27;&#x29;&#x3b;&#xa;if &#x28;qdzname &#x21;&#x3d; &#x22;&#x51fa;&#x573a;&#x22; &#x26;&#x26; qdzname &#x21;&#x3d; &#x22;&#x8fdb;&#x573a;&#x22;&#x29; &#x7b;&#xa; qdzname &#x3d; qdzname &#x2b; &#x22;&#x25;&#x22;&#x3b; &#x2f;&#x2f; &#x6a21;&#x7cca;&#x5339;&#x914d;&#x6807;&#x8bc6;&#x7b26;&#xa;&#x7d;&#xa;&#xa;&#x2f;&#x2f; sendtime&#x5904;&#x7406;&#xff0c;hhmm&#xff0c;hh&#x3a;mm&#xff0c;hh,mm&#xa;var sendtime_calcu &#x3d; sendtime.replace&#x28;&#x2f;&#x5c;s&#x2f;g, &#x22;&#x22;&#x29;&#x3b;&#xa;if &#x28;sendtime.length &#x3d;&#x3d; 5&#x29; &#x7b; &#x2f;&#x2f; &#x6700;&#x957f;&#x683c;&#x5f0f;&#xff0c;&#x5305;&#x62ec;&#x5206;&#x9694;&#x7b26;&#xff0c;&#x7edf;&#x4e00;&#x628a;&#x5206;&#x9694;&#x7b26;&#x66ff;&#x6362;&#x6210;&#x5192;&#x53f7;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 2&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;3, 2&#x29;&#x3b;&#xa;&#x7d; else if &#x28;sendtime.length &#x3d;&#x3d; 4&#x29; &#x7b;&#xa; if &#x28;sendtime.indexOf&#x28;&#x22;&#x3a;&#x22;&#x29; &#x3e; 0&#x29; &#x7b; &#x2f;&#x2f; &#x5192;&#x53f7;&#x5206;&#x9694;&#xff0c;&#x65e0;&#x9700;&#x4fee;&#x6539;&#xa; sendtime_calcu &#x3d; sendtime&#x3b;&#xa; &#x7d; else if &#x28;sendtime.indexOf&#x28;&#x22;,&#x22;&#x29; &#x3e; 0&#x29; &#x7b; &#x2f;&#x2f; &#x9017;&#x53f7;&#x5206;&#x9694;&#xff0c;&#x6539;&#x6210;&#x5192;&#x53f7;&#x5206;&#x9694;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 1&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;2, 2&#x29;&#x3b;&#xa; &#x7d; else &#x7b; &#x2f;&#x2f; &#x65e0;&#x5206;&#x9694;&#x7b26;&#xff0c;&#x6539;&#x6210;&#x5192;&#x53f7;&#x5206;&#x9694;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 2&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;2, 2&#x29;&#x3b;&#xa; &#x7d;&#xa;&#x7d; else if &#x28;sendtime.length &#x3d;&#x3d; 3&#x29; &#x7b; &#x2f;&#x2f; &#x65e0;&#x5206;&#x9694;&#x7b26;&#xff0c;&#x6539;&#x6210;&#x5192;&#x53f7;&#x5206;&#x9694;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 1&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;1, 2&#x29;&#x3b;&#xa;&#x7d;&#xa;&#xa;&#x2f;&#x2f; &#x5168;&#x90e8;&#x4fee;&#x6b63;&#x5b8c;&#x6bd5;&#x540e;&#xff0c;&#x5982;&#x679c;&#x957f;&#x5ea6;&#x4e0d;&#x662f;5&#xff0c;&#x524d;&#x9762;&#x8865;0&#xa;if &#x28;sendtime_calcu.length &#x21;&#x3d; 5&#x29; &#x7b;&#xa; sendtime_calcu &#x3d; &#x22;0&#x22; &#x2b; sendtime_calcu&#x3b;&#xa;&#x7d;&#xa;&#xa;&#x2f;&#x2f; &#x8bbe;&#x7f6e;&#x5206;&#x73ed;&#xa;var isfb &#x3d; 0&#x3b;&#xa;&#xa;&#x2f;&#x2f; &#x8bbe;&#x7f6e;&#x505c;&#x9a76;&#xa;var ists &#x3d; 0&#x3b;&#xa;&#xa;&#x2f;&#x2f; &#x8bbe;&#x7f6e;isCanceled&#xa;var iscanceled &#x3d; 0&#x3b;</jsScript_script>
  833 + </jsScript> </jsScripts> <fields> <field> <name>qdzname</name>
  834 + <rename>qdzname</rename>
  835 + <type>String</type>
  836 + <length>-1</length>
  837 + <precision>-1</precision>
  838 + <replace>Y</replace>
  839 + </field> <field> <name>isfb</name>
  840 + <rename>isfb</rename>
  841 + <type>Integer</type>
  842 + <length>-1</length>
  843 + <precision>-1</precision>
  844 + <replace>N</replace>
  845 + </field> <field> <name>iscanceled</name>
  846 + <rename>iscanceled</rename>
  847 + <type>Integer</type>
  848 + <length>-1</length>
  849 + <precision>-1</precision>
  850 + <replace>N</replace>
  851 + </field> <field> <name>sendtime_calcu</name>
  852 + <rename>sendtime_calcu</rename>
  853 + <type>String</type>
  854 + <length>-1</length>
  855 + <precision>-1</precision>
  856 + <replace>N</replace>
  857 + </field> <field> <name>ists</name>
  858 + <rename>ists</rename>
  859 + <type>Integer</type>
  860 + <length>-1</length>
  861 + <precision>-1</precision>
  862 + <replace>N</replace>
  863 + </field> </fields> <cluster_schema/>
  864 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  865 + <xloc>788</xloc>
  866 + <yloc>44</yloc>
  867 + <draw>Y</draw>
  868 + </GUI>
  869 + </step>
  870 +
  871 + <step>
  872 + <name>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</name>
  873 + <type>SelectValues</type>
  874 + <description/>
  875 + <distribute>Y</distribute>
  876 + <custom_distribution/>
  877 + <copies>1</copies>
  878 + <partitioning>
  879 + <method>none</method>
  880 + <schema_name/>
  881 + </partitioning>
  882 + <fields> <field> <name>&#x8def;&#x724c;</name>
  883 + <rename>lp</rename>
  884 + <length>-2</length>
  885 + <precision>-2</precision>
  886 + </field> <field> <name>&#x7ad9;&#x70b9;&#x540d;&#x79f0;</name>
  887 + <rename>qdzname</rename>
  888 + <length>-2</length>
  889 + <precision>-2</precision>
  890 + </field> <field> <name>&#x53d1;&#x8f66;&#x65f6;&#x95f4;</name>
  891 + <rename>sendtime</rename>
  892 + <length>-2</length>
  893 + <precision>-2</precision>
  894 + </field> <select_unspecified>Y</select_unspecified>
  895 + </fields> <cluster_schema/>
  896 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  897 + <xloc>444</xloc>
  898 + <yloc>131</yloc>
  899 + <draw>Y</draw>
  900 + </GUI>
  901 + </step>
  902 +
  903 + <step>
  904 + <name>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;1</name>
  905 + <type>FilterRows</type>
  906 + <description/>
  907 + <distribute>Y</distribute>
  908 + <custom_distribution/>
  909 + <copies>1</copies>
  910 + <partitioning>
  911 + <method>none</method>
  912 + <schema_name/>
  913 + </partitioning>
  914 +<send_true_to>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x6570;&#x636e;</send_true_to>
  915 +<send_false_to>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</send_false_to>
  916 + <compare>
  917 +<condition>
  918 + <negated>N</negated>
  919 + <leftvalue>bctype</leftvalue>
  920 + <function>&#x3d;</function>
  921 + <rightvalue/>
  922 + <value><name>constant</name><type>String</type><text>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</text><length>-1</length><precision>-1</precision><isnull>N</isnull><mask/></value> </condition>
  923 + </compare>
  924 + <cluster_schema/>
  925 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  926 + <xloc>860</xloc>
  927 + <yloc>401</yloc>
  928 + <draw>Y</draw>
  929 + </GUI>
  930 + </step>
  931 +
  932 + <step>
  933 + <name>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</name>
  934 + <type>FilterRows</type>
  935 + <description/>
  936 + <distribute>Y</distribute>
  937 + <custom_distribution/>
  938 + <copies>1</copies>
  939 + <partitioning>
  940 + <method>none</method>
  941 + <schema_name/>
  942 + </partitioning>
  943 +<send_true_to>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</send_true_to>
  944 +<send_false_to>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</send_false_to>
  945 + <compare>
  946 +<condition>
  947 + <negated>N</negated>
  948 + <leftvalue>bctype</leftvalue>
  949 + <function>&#x3d;</function>
  950 + <rightvalue/>
  951 + <value><name>constant</name><type>String</type><text>&#x51fa;&#x573a;</text><length>-1</length><precision>-1</precision><isnull>N</isnull><mask/></value> </condition>
  952 + </compare>
  953 + <cluster_schema/>
  954 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  955 + <xloc>995</xloc>
  956 + <yloc>503</yloc>
  957 + <draw>Y</draw>
  958 + </GUI>
  959 + </step>
  960 +
  961 + <step>
  962 + <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail</name>
  963 + <type>InsertUpdate</type>
  964 + <description/>
  965 + <distribute>Y</distribute>
  966 + <custom_distribution/>
  967 + <copies>1</copies>
  968 + <partitioning>
  969 + <method>none</method>
  970 + <schema_name/>
  971 + </partitioning>
  972 + <connection>bus_control_variable</connection>
  973 + <commit>100</commit>
  974 + <update_bypassed>N</update_bypassed>
  975 + <lookup>
  976 + <schema/>
  977 + <table>bsth_c_s_ttinfo_detail</table>
  978 + <key>
  979 + <name>xlid</name>
  980 + <field>xl</field>
  981 + <condition>&#x3d;</condition>
  982 + <name2/>
  983 + </key>
  984 + <key>
  985 + <name>ttid</name>
  986 + <field>ttinfo</field>
  987 + <condition>&#x3d;</condition>
  988 + <name2/>
  989 + </key>
  990 + <key>
  991 + <name>lpid</name>
  992 + <field>lp</field>
  993 + <condition>&#x3d;</condition>
  994 + <name2/>
  995 + </key>
  996 + <key>
  997 + <name>fcno</name>
  998 + <field>fcno</field>
  999 + <condition>&#x3d;</condition>
  1000 + <name2/>
  1001 + </key>
  1002 + <key>
  1003 + <name>bcs</name>
  1004 + <field>bcs</field>
  1005 + <condition>&#x3d;</condition>
  1006 + <name2/>
  1007 + </key>
  1008 + <value>
  1009 + <name>lp</name>
  1010 + <rename>lpid</rename>
  1011 + <update>Y</update>
  1012 + </value>
  1013 + <value>
  1014 + <name>bc_type</name>
  1015 + <rename>bctype_code</rename>
  1016 + <update>Y</update>
  1017 + </value>
  1018 + <value>
  1019 + <name>bcs</name>
  1020 + <rename>bcs</rename>
  1021 + <update>Y</update>
  1022 + </value>
  1023 + <value>
  1024 + <name>bcsj</name>
  1025 + <rename>bcsj</rename>
  1026 + <update>Y</update>
  1027 + </value>
  1028 + <value>
  1029 + <name>fcno</name>
  1030 + <rename>fcno</rename>
  1031 + <update>Y</update>
  1032 + </value>
  1033 + <value>
  1034 + <name>jhlc</name>
  1035 + <rename>jhlc</rename>
  1036 + <update>Y</update>
  1037 + </value>
  1038 + <value>
  1039 + <name>fcsj</name>
  1040 + <rename>sendtime_calcu</rename>
  1041 + <update>Y</update>
  1042 + </value>
  1043 + <value>
  1044 + <name>ttinfo</name>
  1045 + <rename>ttid</rename>
  1046 + <update>Y</update>
  1047 + </value>
  1048 + <value>
  1049 + <name>xl</name>
  1050 + <rename>xlid</rename>
  1051 + <update>Y</update>
  1052 + </value>
  1053 + <value>
  1054 + <name>qdz</name>
  1055 + <rename>qdzid</rename>
  1056 + <update>Y</update>
  1057 + </value>
  1058 + <value>
  1059 + <name>zdz</name>
  1060 + <rename>zdzid</rename>
  1061 + <update>Y</update>
  1062 + </value>
  1063 + <value>
  1064 + <name>xl_dir</name>
  1065 + <rename>sxx</rename>
  1066 + <update>Y</update>
  1067 + </value>
  1068 + <value>
  1069 + <name>isfb</name>
  1070 + <rename>isfb</rename>
  1071 + <update>Y</update>
  1072 + </value>
  1073 + <value>
  1074 + <name>qdz_code</name>
  1075 + <rename>qdzcode</rename>
  1076 + <update>Y</update>
  1077 + </value>
  1078 + <value>
  1079 + <name>qdz_name</name>
  1080 + <rename>qdzname_</rename>
  1081 + <update>Y</update>
  1082 + </value>
  1083 + <value>
  1084 + <name>zdz_code</name>
  1085 + <rename>zdzcode</rename>
  1086 + <update>Y</update>
  1087 + </value>
  1088 + <value>
  1089 + <name>zdz_name</name>
  1090 + <rename>zdzname</rename>
  1091 + <update>Y</update>
  1092 + </value>
  1093 + <value>
  1094 + <name>ists</name>
  1095 + <rename>ists</rename>
  1096 + <update>Y</update>
  1097 + </value>
  1098 + </lookup>
  1099 + <cluster_schema/>
  1100 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1101 + <xloc>143</xloc>
  1102 + <yloc>860</yloc>
  1103 + <draw>Y</draw>
  1104 + </GUI>
  1105 + </step>
  1106 +
  1107 + <step>
  1108 + <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail 2</name>
  1109 + <type>InsertUpdate</type>
  1110 + <description/>
  1111 + <distribute>Y</distribute>
  1112 + <custom_distribution/>
  1113 + <copies>1</copies>
  1114 + <partitioning>
  1115 + <method>none</method>
  1116 + <schema_name/>
  1117 + </partitioning>
  1118 + <connection>bus_control_variable</connection>
  1119 + <commit>100</commit>
  1120 + <update_bypassed>N</update_bypassed>
  1121 + <lookup>
  1122 + <schema/>
  1123 + <table>bsth_c_s_ttinfo_detail</table>
  1124 + <key>
  1125 + <name>xlid</name>
  1126 + <field>xl</field>
  1127 + <condition>&#x3d;</condition>
  1128 + <name2/>
  1129 + </key>
  1130 + <key>
  1131 + <name>ttid</name>
  1132 + <field>ttinfo</field>
  1133 + <condition>&#x3d;</condition>
  1134 + <name2/>
  1135 + </key>
  1136 + <key>
  1137 + <name>lpid</name>
  1138 + <field>lp</field>
  1139 + <condition>&#x3d;</condition>
  1140 + <name2/>
  1141 + </key>
  1142 + <key>
  1143 + <name>fcno</name>
  1144 + <field>fcno</field>
  1145 + <condition>&#x3d;</condition>
  1146 + <name2/>
  1147 + </key>
  1148 + <key>
  1149 + <name>bcs</name>
  1150 + <field>bcs</field>
  1151 + <condition>&#x3d;</condition>
  1152 + <name2/>
  1153 + </key>
  1154 + <value>
  1155 + <name>tcc</name>
  1156 + <rename>qdzid</rename>
  1157 + <update>Y</update>
  1158 + </value>
  1159 + <value>
  1160 + <name>zdz</name>
  1161 + <rename>zdzid</rename>
  1162 + <update>Y</update>
  1163 + </value>
  1164 + <value>
  1165 + <name>xl</name>
  1166 + <rename>xlid</rename>
  1167 + <update>Y</update>
  1168 + </value>
  1169 + <value>
  1170 + <name>ttinfo</name>
  1171 + <rename>ttid</rename>
  1172 + <update>Y</update>
  1173 + </value>
  1174 + <value>
  1175 + <name>xl_dir</name>
  1176 + <rename>sxx</rename>
  1177 + <update>Y</update>
  1178 + </value>
  1179 + <value>
  1180 + <name>lp</name>
  1181 + <rename>lpid</rename>
  1182 + <update>Y</update>
  1183 + </value>
  1184 + <value>
  1185 + <name>jhlc</name>
  1186 + <rename>out_mileage</rename>
  1187 + <update>Y</update>
  1188 + </value>
  1189 + <value>
  1190 + <name>fcsj</name>
  1191 + <rename>sendtime_calcu</rename>
  1192 + <update>Y</update>
  1193 + </value>
  1194 + <value>
  1195 + <name>bcsj</name>
  1196 + <rename>out_time</rename>
  1197 + <update>Y</update>
  1198 + </value>
  1199 + <value>
  1200 + <name>bcs</name>
  1201 + <rename>bcs</rename>
  1202 + <update>Y</update>
  1203 + </value>
  1204 + <value>
  1205 + <name>fcno</name>
  1206 + <rename>fcno</rename>
  1207 + <update>Y</update>
  1208 + </value>
  1209 + <value>
  1210 + <name>bc_type</name>
  1211 + <rename>bctype_code</rename>
  1212 + <update>Y</update>
  1213 + </value>
  1214 + <value>
  1215 + <name>isfb</name>
  1216 + <rename>isfb</rename>
  1217 + <update>Y</update>
  1218 + </value>
  1219 + <value>
  1220 + <name>qdz_code</name>
  1221 + <rename>qdzcode</rename>
  1222 + <update>Y</update>
  1223 + </value>
  1224 + <value>
  1225 + <name>qdz_name</name>
  1226 + <rename>tn</rename>
  1227 + <update>Y</update>
  1228 + </value>
  1229 + <value>
  1230 + <name>zdz_code</name>
  1231 + <rename>zdzcode</rename>
  1232 + <update>Y</update>
  1233 + </value>
  1234 + <value>
  1235 + <name>zdz_name</name>
  1236 + <rename>zdzname_</rename>
  1237 + <update>Y</update>
  1238 + </value>
  1239 + <value>
  1240 + <name>ists</name>
  1241 + <rename>ists</rename>
  1242 + <update>Y</update>
  1243 + </value>
  1244 + </lookup>
  1245 + <cluster_schema/>
  1246 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1247 + <xloc>340</xloc>
  1248 + <yloc>1087</yloc>
  1249 + <draw>Y</draw>
  1250 + </GUI>
  1251 + </step>
  1252 +
  1253 + <step>
  1254 + <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail 3</name>
  1255 + <type>InsertUpdate</type>
  1256 + <description/>
  1257 + <distribute>Y</distribute>
  1258 + <custom_distribution/>
  1259 + <copies>1</copies>
  1260 + <partitioning>
  1261 + <method>none</method>
  1262 + <schema_name/>
  1263 + </partitioning>
  1264 + <connection>bus_control_variable</connection>
  1265 + <commit>100</commit>
  1266 + <update_bypassed>N</update_bypassed>
  1267 + <lookup>
  1268 + <schema/>
  1269 + <table>bsth_c_s_ttinfo_detail</table>
  1270 + <key>
  1271 + <name>xlid</name>
  1272 + <field>xl</field>
  1273 + <condition>&#x3d;</condition>
  1274 + <name2/>
  1275 + </key>
  1276 + <key>
  1277 + <name>ttid</name>
  1278 + <field>ttinfo</field>
  1279 + <condition>&#x3d;</condition>
  1280 + <name2/>
  1281 + </key>
  1282 + <key>
  1283 + <name>lpid</name>
  1284 + <field>lp</field>
  1285 + <condition>&#x3d;</condition>
  1286 + <name2/>
  1287 + </key>
  1288 + <key>
  1289 + <name>fcno</name>
  1290 + <field>fcno</field>
  1291 + <condition>&#x3d;</condition>
  1292 + <name2/>
  1293 + </key>
  1294 + <key>
  1295 + <name>bcs</name>
  1296 + <field>bcs</field>
  1297 + <condition>&#x3d;</condition>
  1298 + <name2/>
  1299 + </key>
  1300 + <value>
  1301 + <name>fcno</name>
  1302 + <rename>fcno</rename>
  1303 + <update>Y</update>
  1304 + </value>
  1305 + <value>
  1306 + <name>bcs</name>
  1307 + <rename>bcs</rename>
  1308 + <update>Y</update>
  1309 + </value>
  1310 + <value>
  1311 + <name>xl</name>
  1312 + <rename>xlid</rename>
  1313 + <update>Y</update>
  1314 + </value>
  1315 + <value>
  1316 + <name>ttinfo</name>
  1317 + <rename>ttid</rename>
  1318 + <update>Y</update>
  1319 + </value>
  1320 + <value>
  1321 + <name>lp</name>
  1322 + <rename>lpid</rename>
  1323 + <update>Y</update>
  1324 + </value>
  1325 + <value>
  1326 + <name>bc_type</name>
  1327 + <rename>bctype_code</rename>
  1328 + <update>Y</update>
  1329 + </value>
  1330 + <value>
  1331 + <name>bcsj</name>
  1332 + <rename>parade_time</rename>
  1333 + <update>Y</update>
  1334 + </value>
  1335 + <value>
  1336 + <name>jhlc</name>
  1337 + <rename>parade_mileage</rename>
  1338 + <update>Y</update>
  1339 + </value>
  1340 + <value>
  1341 + <name>fcsj</name>
  1342 + <rename>sendtime_calcu</rename>
  1343 + <update>Y</update>
  1344 + </value>
  1345 + <value>
  1346 + <name>xl_dir</name>
  1347 + <rename>sxx2</rename>
  1348 + <update>Y</update>
  1349 + </value>
  1350 + <value>
  1351 + <name>qdz</name>
  1352 + <rename>qdzid</rename>
  1353 + <update>Y</update>
  1354 + </value>
  1355 + <value>
  1356 + <name>tcc</name>
  1357 + <rename>zdzid</rename>
  1358 + <update>Y</update>
  1359 + </value>
  1360 + <value>
  1361 + <name>isfb</name>
  1362 + <rename>isfb</rename>
  1363 + <update>Y</update>
  1364 + </value>
  1365 + <value>
  1366 + <name>qdz_code</name>
  1367 + <rename>qdzcode</rename>
  1368 + <update>Y</update>
  1369 + </value>
  1370 + <value>
  1371 + <name>qdz_name</name>
  1372 + <rename>qname</rename>
  1373 + <update>Y</update>
  1374 + </value>
  1375 + <value>
  1376 + <name>zdz_code</name>
  1377 + <rename>zdzcode</rename>
  1378 + <update>Y</update>
  1379 + </value>
  1380 + <value>
  1381 + <name>zdz_name</name>
  1382 + <rename>tn</rename>
  1383 + <update>Y</update>
  1384 + </value>
  1385 + <value>
  1386 + <name>ists</name>
  1387 + <rename>ists</rename>
  1388 + <update>Y</update>
  1389 + </value>
  1390 + </lookup>
  1391 + <cluster_schema/>
  1392 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1393 + <xloc>845</xloc>
  1394 + <yloc>899</yloc>
  1395 + <draw>Y</draw>
  1396 + </GUI>
  1397 + </step>
  1398 +
  1399 + <step>
  1400 + <name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</name>
  1401 + <type>ExcelInput</type>
  1402 + <description/>
  1403 + <distribute>N</distribute>
  1404 + <custom_distribution/>
  1405 + <copies>1</copies>
  1406 + <partitioning>
  1407 + <method>none</method>
  1408 + <schema_name/>
  1409 + </partitioning>
  1410 + <header>Y</header>
  1411 + <noempty>Y</noempty>
  1412 + <stoponempty>N</stoponempty>
  1413 + <filefield/>
  1414 + <sheetfield/>
  1415 + <sheetrownumfield/>
  1416 + <rownumfield/>
  1417 + <sheetfield/>
  1418 + <filefield/>
  1419 + <limit>0</limit>
  1420 + <encoding/>
  1421 + <add_to_result_filenames>Y</add_to_result_filenames>
  1422 + <accept_filenames>N</accept_filenames>
  1423 + <accept_field/>
  1424 + <accept_stepname/>
  1425 + <file>
  1426 + <name/>
  1427 + <filemask/>
  1428 + <exclude_filemask/>
  1429 + <file_required>N</file_required>
  1430 + <include_subfolders>N</include_subfolders>
  1431 + </file>
  1432 + <fields>
  1433 + </fields>
  1434 + <sheets>
  1435 + <sheet>
  1436 + <name/>
  1437 + <startrow>0</startrow>
  1438 + <startcol>0</startcol>
  1439 + </sheet>
  1440 + </sheets>
  1441 + <strict_types>N</strict_types>
  1442 + <error_ignored>N</error_ignored>
  1443 + <error_line_skipped>N</error_line_skipped>
  1444 + <bad_line_files_destination_directory/>
  1445 + <bad_line_files_extension>warning</bad_line_files_extension>
  1446 + <error_line_files_destination_directory/>
  1447 + <error_line_files_extension>error</error_line_files_extension>
  1448 + <line_number_files_destination_directory/>
  1449 + <line_number_files_extension>line</line_number_files_extension>
  1450 + <shortFileFieldName/>
  1451 + <pathFieldName/>
  1452 + <hiddenFieldName/>
  1453 + <lastModificationTimeFieldName/>
  1454 + <uriNameFieldName/>
  1455 + <rootUriNameFieldName/>
  1456 + <extensionFieldName/>
  1457 + <sizeFieldName/>
  1458 + <spreadsheet_type>JXL</spreadsheet_type>
  1459 + <cluster_schema/>
  1460 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1461 + <xloc>112</xloc>
  1462 + <yloc>44</yloc>
  1463 + <draw>Y</draw>
  1464 + </GUI>
  1465 + </step>
  1466 +
  1467 + <step>
  1468 + <name>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;1</name>
  1469 + <type>DBLookup</type>
  1470 + <description/>
  1471 + <distribute>Y</distribute>
  1472 + <custom_distribution/>
  1473 + <copies>1</copies>
  1474 + <partitioning>
  1475 + <method>none</method>
  1476 + <schema_name/>
  1477 + </partitioning>
  1478 + <connection>bus_control_variable</connection>
  1479 + <cache>N</cache>
  1480 + <cache_load_all>N</cache_load_all>
  1481 + <cache_size>0</cache_size>
  1482 + <lookup>
  1483 + <schema/>
  1484 + <table>bsth_c_car_park</table>
  1485 + <orderby/>
  1486 + <fail_on_multiple>N</fail_on_multiple>
  1487 + <eat_row_on_failure>N</eat_row_on_failure>
  1488 + <key>
  1489 + <name>tccname_</name>
  1490 + <field>park_name</field>
  1491 + <condition>&#x3d;</condition>
  1492 + <name2/>
  1493 + </key>
  1494 + <value>
  1495 + <name>id</name>
  1496 + <rename>qdzid</rename>
  1497 + <default/>
  1498 + <type>Integer</type>
  1499 + </value>
  1500 + <value>
  1501 + <name>park_code</name>
  1502 + <rename>qdzcode</rename>
  1503 + <default/>
  1504 + <type>String</type>
  1505 + </value>
  1506 + <value>
  1507 + <name>park_name</name>
  1508 + <rename>tn</rename>
  1509 + <default/>
  1510 + <type>String</type>
  1511 + </value>
  1512 + </lookup>
  1513 + <cluster_schema/>
  1514 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1515 + <xloc>755</xloc>
  1516 + <yloc>504</yloc>
  1517 + <draw>Y</draw>
  1518 + </GUI>
  1519 + </step>
  1520 +
  1521 + <step>
  1522 + <name>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;2</name>
  1523 + <type>DBLookup</type>
  1524 + <description/>
  1525 + <distribute>Y</distribute>
  1526 + <custom_distribution/>
  1527 + <copies>1</copies>
  1528 + <partitioning>
  1529 + <method>none</method>
  1530 + <schema_name/>
  1531 + </partitioning>
  1532 + <connection>bus_control_variable</connection>
  1533 + <cache>N</cache>
  1534 + <cache_load_all>N</cache_load_all>
  1535 + <cache_size>0</cache_size>
  1536 + <lookup>
  1537 + <schema/>
  1538 + <table>bsth_c_car_park</table>
  1539 + <orderby/>
  1540 + <fail_on_multiple>N</fail_on_multiple>
  1541 + <eat_row_on_failure>N</eat_row_on_failure>
  1542 + <key>
  1543 + <name>tccname_</name>
  1544 + <field>park_name</field>
  1545 + <condition>&#x3d;</condition>
  1546 + <name2/>
  1547 + </key>
  1548 + <value>
  1549 + <name>id</name>
  1550 + <rename>zdzid</rename>
  1551 + <default/>
  1552 + <type>Integer</type>
  1553 + </value>
  1554 + <value>
  1555 + <name>park_code</name>
  1556 + <rename>zdzcode</rename>
  1557 + <default/>
  1558 + <type>String</type>
  1559 + </value>
  1560 + <value>
  1561 + <name>park_name</name>
  1562 + <rename>tn</rename>
  1563 + <default/>
  1564 + <type>String</type>
  1565 + </value>
  1566 + </lookup>
  1567 + <cluster_schema/>
  1568 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1569 + <xloc>887</xloc>
  1570 + <yloc>608</yloc>
  1571 + <draw>Y</draw>
  1572 + </GUI>
  1573 + </step>
  1574 +
  1575 + <step>
  1576 + <name>&#x67e5;&#x627e;&#x51fa;&#x573a;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</name>
  1577 + <type>DBLookup</type>
  1578 + <description/>
  1579 + <distribute>Y</distribute>
  1580 + <custom_distribution/>
  1581 + <copies>1</copies>
  1582 + <partitioning>
  1583 + <method>none</method>
  1584 + <schema_name/>
  1585 + </partitioning>
  1586 + <connection>bus_control_variable</connection>
  1587 + <cache>N</cache>
  1588 + <cache_load_all>N</cache_load_all>
  1589 + <cache_size>0</cache_size>
  1590 + <lookup>
  1591 + <schema/>
  1592 + <table>bsth_c_ls_stationroute</table>
  1593 + <orderby/>
  1594 + <fail_on_multiple>N</fail_on_multiple>
  1595 + <eat_row_on_failure>N</eat_row_on_failure>
  1596 + <key>
  1597 + <name>xlid</name>
  1598 + <field>line</field>
  1599 + <condition>&#x3d;</condition>
  1600 + <name2/>
  1601 + </key>
  1602 + <key>
  1603 + <name>version</name>
  1604 + <field>versions</field>
  1605 + <condition>&#x3d;</condition>
  1606 + <name2/>
  1607 + </key>
  1608 + <key>
  1609 + <name>zdzname</name>
  1610 + <field>station_name</field>
  1611 + <condition>LIKE</condition>
  1612 + <name2/>
  1613 + </key>
  1614 + <key>
  1615 + <name>endZdtype</name>
  1616 + <field>station_mark</field>
  1617 + <condition>&#x3d;</condition>
  1618 + <name2/>
  1619 + </key>
  1620 + <key>
  1621 + <name>destory</name>
  1622 + <field>destroy</field>
  1623 + <condition>&#x3d;</condition>
  1624 + <name2/>
  1625 + </key>
  1626 + <value>
  1627 + <name>station</name>
  1628 + <rename>zdzid</rename>
  1629 + <default/>
  1630 + <type>Integer</type>
  1631 + </value>
  1632 + <value>
  1633 + <name>directions</name>
  1634 + <rename>sxx</rename>
  1635 + <default/>
  1636 + <type>Integer</type>
  1637 + </value>
  1638 + <value>
  1639 + <name>station_code</name>
  1640 + <rename>zdzcode</rename>
  1641 + <default/>
  1642 + <type>String</type>
  1643 + </value>
  1644 + <value>
  1645 + <name>station_name</name>
  1646 + <rename>zdzname_</rename>
  1647 + <default/>
  1648 + <type>String</type>
  1649 + </value>
  1650 + </lookup>
  1651 + <cluster_schema/>
  1652 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1653 + <xloc>329</xloc>
  1654 + <yloc>505</yloc>
  1655 + <draw>Y</draw>
  1656 + </GUI>
  1657 + </step>
  1658 +
  1659 + <step>
  1660 + <name>&#x67e5;&#x627e;&#x6240;&#x6709;&#x7ebf;&#x8def;&#x4e0a;&#x4e0b;&#x884c;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
  1661 + <type>DBLookup</type>
  1662 + <description/>
  1663 + <distribute>Y</distribute>
  1664 + <custom_distribution/>
  1665 + <copies>1</copies>
  1666 + <partitioning>
  1667 + <method>none</method>
  1668 + <schema_name/>
  1669 + </partitioning>
  1670 + <connection>bus_control_variable</connection>
  1671 + <cache>N</cache>
  1672 + <cache_load_all>N</cache_load_all>
  1673 + <cache_size>0</cache_size>
  1674 + <lookup>
  1675 + <schema/>
  1676 + <table>bsth_c_line_information</table>
  1677 + <orderby/>
  1678 + <fail_on_multiple>N</fail_on_multiple>
  1679 + <eat_row_on_failure>N</eat_row_on_failure>
  1680 + <key>
  1681 + <name>xlid</name>
  1682 + <field>line</field>
  1683 + <condition>&#x3d;</condition>
  1684 + <name2/>
  1685 + </key>
  1686 + <value>
  1687 + <name>up_mileage</name>
  1688 + <rename>up_mileage</rename>
  1689 + <default/>
  1690 + <type>Number</type>
  1691 + </value>
  1692 + <value>
  1693 + <name>down_mileage</name>
  1694 + <rename>down_mileage</rename>
  1695 + <default/>
  1696 + <type>Number</type>
  1697 + </value>
  1698 + <value>
  1699 + <name>up_travel_time</name>
  1700 + <rename>up_travel_time</rename>
  1701 + <default/>
  1702 + <type>Number</type>
  1703 + </value>
  1704 + <value>
  1705 + <name>down_travel_time</name>
  1706 + <rename>down_travel_time</rename>
  1707 + <default/>
  1708 + <type>Number</type>
  1709 + </value>
  1710 + <value>
  1711 + <name>early_start_time</name>
  1712 + <rename>early_start_time</rename>
  1713 + <default/>
  1714 + <type>String</type>
  1715 + </value>
  1716 + <value>
  1717 + <name>early_end_time</name>
  1718 + <rename>early_end_time</rename>
  1719 + <default/>
  1720 + <type>String</type>
  1721 + </value>
  1722 + <value>
  1723 + <name>early_up_time</name>
  1724 + <rename>early_up_time</rename>
  1725 + <default/>
  1726 + <type>Number</type>
  1727 + </value>
  1728 + <value>
  1729 + <name>early_down_time</name>
  1730 + <rename>early_down_time</rename>
  1731 + <default/>
  1732 + <type>Number</type>
  1733 + </value>
  1734 + <value>
  1735 + <name>late_start_time</name>
  1736 + <rename>late_start_time</rename>
  1737 + <default/>
  1738 + <type>String</type>
  1739 + </value>
  1740 + <value>
  1741 + <name>late_end_time</name>
  1742 + <rename>late_end_time</rename>
  1743 + <default/>
  1744 + <type>String</type>
  1745 + </value>
  1746 + <value>
  1747 + <name>late_up_time</name>
  1748 + <rename>late_up_time</rename>
  1749 + <default/>
  1750 + <type>Number</type>
  1751 + </value>
  1752 + <value>
  1753 + <name>late_down_time</name>
  1754 + <rename>late_down_time</rename>
  1755 + <default/>
  1756 + <type>Number</type>
  1757 + </value>
  1758 + </lookup>
  1759 + <cluster_schema/>
  1760 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1761 + <xloc>149</xloc>
  1762 + <yloc>581</yloc>
  1763 + <draw>Y</draw>
  1764 + </GUI>
  1765 + </step>
  1766 +
  1767 + <step>
  1768 + <name>&#x67e5;&#x627e;&#x65f6;&#x523b;&#x8868;&#x57fa;&#x7840;&#x4fe1;&#x606f;&#x5173;&#x8054;</name>
  1769 + <type>DBLookup</type>
  1770 + <description/>
  1771 + <distribute>Y</distribute>
  1772 + <custom_distribution/>
  1773 + <copies>1</copies>
  1774 + <partitioning>
  1775 + <method>none</method>
  1776 + <schema_name/>
  1777 + </partitioning>
  1778 + <connection>bus_control_variable</connection>
  1779 + <cache>N</cache>
  1780 + <cache_load_all>N</cache_load_all>
  1781 + <cache_size>0</cache_size>
  1782 + <lookup>
  1783 + <schema/>
  1784 + <table>bsth_c_s_ttinfo</table>
  1785 + <orderby/>
  1786 + <fail_on_multiple>N</fail_on_multiple>
  1787 + <eat_row_on_failure>N</eat_row_on_failure>
  1788 + <key>
  1789 + <name>xlid</name>
  1790 + <field>xl</field>
  1791 + <condition>&#x3d;</condition>
  1792 + <name2/>
  1793 + </key>
  1794 + <key>
  1795 + <name>ttinfoname_</name>
  1796 + <field>name</field>
  1797 + <condition>&#x3d;</condition>
  1798 + <name2/>
  1799 + </key>
  1800 + <key>
  1801 + <name>iscanceled</name>
  1802 + <field>is_cancel</field>
  1803 + <condition>&#x3d;</condition>
  1804 + <name2/>
  1805 + </key>
  1806 + <value>
  1807 + <name>id</name>
  1808 + <rename>ttid</rename>
  1809 + <default/>
  1810 + <type>Integer</type>
  1811 + </value>
  1812 + </lookup>
  1813 + <cluster_schema/>
  1814 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1815 + <xloc>1011</xloc>
  1816 + <yloc>134</yloc>
  1817 + <draw>Y</draw>
  1818 + </GUI>
  1819 + </step>
  1820 +
  1821 + <step>
  1822 + <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x5173;&#x8054;</name>
  1823 + <type>DBLookup</type>
  1824 + <description/>
  1825 + <distribute>Y</distribute>
  1826 + <custom_distribution/>
  1827 + <copies>1</copies>
  1828 + <partitioning>
  1829 + <method>none</method>
  1830 + <schema_name/>
  1831 + </partitioning>
  1832 + <connection>bus_control_variable</connection>
  1833 + <cache>N</cache>
  1834 + <cache_load_all>N</cache_load_all>
  1835 + <cache_size>0</cache_size>
  1836 + <lookup>
  1837 + <schema/>
  1838 + <table>bsth_c_line</table>
  1839 + <orderby/>
  1840 + <fail_on_multiple>N</fail_on_multiple>
  1841 + <eat_row_on_failure>N</eat_row_on_failure>
  1842 + <key>
  1843 + <name>xlname_</name>
  1844 + <field>name</field>
  1845 + <condition>&#x3d;</condition>
  1846 + <name2/>
  1847 + </key>
  1848 + <key>
  1849 + <name>iscanceled</name>
  1850 + <field>destroy</field>
  1851 + <condition>&#x3d;</condition>
  1852 + <name2/>
  1853 + </key>
  1854 + <value>
  1855 + <name>id</name>
  1856 + <rename>xlid</rename>
  1857 + <default/>
  1858 + <type>Integer</type>
  1859 + </value>
  1860 + </lookup>
  1861 + <cluster_schema/>
  1862 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1863 + <xloc>1007</xloc>
  1864 + <yloc>43</yloc>
  1865 + <draw>Y</draw>
  1866 + </GUI>
  1867 + </step>
  1868 +
  1869 + <step>
  1870 + <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x51fa;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
  1871 + <type>DBLookup</type>
  1872 + <description/>
  1873 + <distribute>Y</distribute>
  1874 + <custom_distribution/>
  1875 + <copies>1</copies>
  1876 + <partitioning>
  1877 + <method>none</method>
  1878 + <schema_name/>
  1879 + </partitioning>
  1880 + <connection>bus_control_variable</connection>
  1881 + <cache>N</cache>
  1882 + <cache_load_all>N</cache_load_all>
  1883 + <cache_size>0</cache_size>
  1884 + <lookup>
  1885 + <schema/>
  1886 + <table>bsth_c_line_information</table>
  1887 + <orderby/>
  1888 + <fail_on_multiple>N</fail_on_multiple>
  1889 + <eat_row_on_failure>N</eat_row_on_failure>
  1890 + <key>
  1891 + <name>xlid</name>
  1892 + <field>line</field>
  1893 + <condition>&#x3d;</condition>
  1894 + <name2/>
  1895 + </key>
  1896 + <value>
  1897 + <name>up_out_timer</name>
  1898 + <rename>up_out_timer</rename>
  1899 + <default/>
  1900 + <type>Number</type>
  1901 + </value>
  1902 + <value>
  1903 + <name>up_out_mileage</name>
  1904 + <rename>up_out_mileage</rename>
  1905 + <default/>
  1906 + <type>Number</type>
  1907 + </value>
  1908 + <value>
  1909 + <name>down_out_timer</name>
  1910 + <rename>down_out_timer</rename>
  1911 + <default/>
  1912 + <type>Number</type>
  1913 + </value>
  1914 + <value>
  1915 + <name>down_out_mileage</name>
  1916 + <rename>down_out_mileage</rename>
  1917 + <default/>
  1918 + <type>Number</type>
  1919 + </value>
  1920 + </lookup>
  1921 + <cluster_schema/>
  1922 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1923 + <xloc>335</xloc>
  1924 + <yloc>763</yloc>
  1925 + <draw>Y</draw>
  1926 + </GUI>
  1927 + </step>
  1928 +
  1929 + <step>
  1930 + <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x8fdb;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
  1931 + <type>DBLookup</type>
  1932 + <description/>
  1933 + <distribute>Y</distribute>
  1934 + <custom_distribution/>
  1935 + <copies>1</copies>
  1936 + <partitioning>
  1937 + <method>none</method>
  1938 + <schema_name/>
  1939 + </partitioning>
  1940 + <connection>bus_control_variable</connection>
  1941 + <cache>N</cache>
  1942 + <cache_load_all>N</cache_load_all>
  1943 + <cache_size>0</cache_size>
  1944 + <lookup>
  1945 + <schema/>
  1946 + <table>bsth_c_line_information</table>
  1947 + <orderby/>
  1948 + <fail_on_multiple>N</fail_on_multiple>
  1949 + <eat_row_on_failure>N</eat_row_on_failure>
  1950 + <key>
  1951 + <name>xlid</name>
  1952 + <field>line</field>
  1953 + <condition>&#x3d;</condition>
  1954 + <name2/>
  1955 + </key>
  1956 + <value>
  1957 + <name>up_in_mileage</name>
  1958 + <rename>up_in_mileage</rename>
  1959 + <default/>
  1960 + <type>Number</type>
  1961 + </value>
  1962 + <value>
  1963 + <name>up_in_timer</name>
  1964 + <rename>up_in_timer</rename>
  1965 + <default/>
  1966 + <type>Number</type>
  1967 + </value>
  1968 + <value>
  1969 + <name>down_in_mileage</name>
  1970 + <rename>down_in_mileage</rename>
  1971 + <default/>
  1972 + <type>Number</type>
  1973 + </value>
  1974 + <value>
  1975 + <name>down_in_timer</name>
  1976 + <rename>down_in_timer</rename>
  1977 + <default/>
  1978 + <type>Number</type>
  1979 + </value>
  1980 + </lookup>
  1981 + <cluster_schema/>
  1982 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1983 + <xloc>553</xloc>
  1984 + <yloc>1004</yloc>
  1985 + <draw>Y</draw>
  1986 + </GUI>
  1987 + </step>
  1988 +
  1989 + <step>
  1990 + <name>&#x67e5;&#x627e;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;</name>
  1991 + <type>DBLookup</type>
  1992 + <description/>
  1993 + <distribute>Y</distribute>
  1994 + <custom_distribution/>
  1995 + <copies>1</copies>
  1996 + <partitioning>
  1997 + <method>none</method>
  1998 + <schema_name/>
  1999 + </partitioning>
  2000 + <connection>bus_control_variable</connection>
  2001 + <cache>N</cache>
  2002 + <cache_load_all>N</cache_load_all>
  2003 + <cache_size>0</cache_size>
  2004 + <lookup>
  2005 + <schema/>
  2006 + <table>bsth_c_ls_stationroute</table>
  2007 + <orderby/>
  2008 + <fail_on_multiple>N</fail_on_multiple>
  2009 + <eat_row_on_failure>N</eat_row_on_failure>
  2010 + <key>
  2011 + <name>xlid</name>
  2012 + <field>line</field>
  2013 + <condition>&#x3d;</condition>
  2014 + <name2/>
  2015 + </key>
  2016 + <key>
  2017 + <name>version</name>
  2018 + <field>versions</field>
  2019 + <condition>&#x3d;</condition>
  2020 + <name2/>
  2021 + </key>
  2022 + <key>
  2023 + <name>sxx</name>
  2024 + <field>directions</field>
  2025 + <condition>&#x3d;</condition>
  2026 + <name2/>
  2027 + </key>
  2028 + <key>
  2029 + <name>endZdtype</name>
  2030 + <field>station_mark</field>
  2031 + <condition>&#x3d;</condition>
  2032 + <name2/>
  2033 + </key>
  2034 + <key>
  2035 + <name>destory</name>
  2036 + <field>destroy</field>
  2037 + <condition>&#x3d;</condition>
  2038 + <name2/>
  2039 + </key>
  2040 + <value>
  2041 + <name>station_name</name>
  2042 + <rename>zdzname</rename>
  2043 + <default/>
  2044 + <type>String</type>
  2045 + </value>
  2046 + <value>
  2047 + <name>station</name>
  2048 + <rename>zdzid</rename>
  2049 + <default/>
  2050 + <type>Integer</type>
  2051 + </value>
  2052 + <value>
  2053 + <name>station_code</name>
  2054 + <rename>zdzcode</rename>
  2055 + <default/>
  2056 + <type>String</type>
  2057 + </value>
  2058 + </lookup>
  2059 + <cluster_schema/>
  2060 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2061 + <xloc>280</xloc>
  2062 + <yloc>404</yloc>
  2063 + <draw>Y</draw>
  2064 + </GUI>
  2065 + </step>
  2066 +
  2067 + <step>
  2068 + <name>&#x67e5;&#x627e;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</name>
  2069 + <type>DBLookup</type>
  2070 + <description/>
  2071 + <distribute>Y</distribute>
  2072 + <custom_distribution/>
  2073 + <copies>1</copies>
  2074 + <partitioning>
  2075 + <method>none</method>
  2076 + <schema_name/>
  2077 + </partitioning>
  2078 + <connection>bus_control_variable</connection>
  2079 + <cache>N</cache>
  2080 + <cache_load_all>N</cache_load_all>
  2081 + <cache_size>0</cache_size>
  2082 + <lookup>
  2083 + <schema/>
  2084 + <table>bsth_c_ls_stationroute</table>
  2085 + <orderby/>
  2086 + <fail_on_multiple>N</fail_on_multiple>
  2087 + <eat_row_on_failure>N</eat_row_on_failure>
  2088 + <key>
  2089 + <name>xlid</name>
  2090 + <field>line</field>
  2091 + <condition>&#x3d;</condition>
  2092 + <name2/>
  2093 + </key>
  2094 + <key>
  2095 + <name>version</name>
  2096 + <field>versions</field>
  2097 + <condition>&#x3d;</condition>
  2098 + <name2/>
  2099 + </key>
  2100 + <key>
  2101 + <name>qdzname</name>
  2102 + <field>station_name</field>
  2103 + <condition>LIKE</condition>
  2104 + <name2/>
  2105 + </key>
  2106 + <key>
  2107 + <name>sendZdtype</name>
  2108 + <field>station_mark</field>
  2109 + <condition>&#x3d;</condition>
  2110 + <name2/>
  2111 + </key>
  2112 + <key>
  2113 + <name>destory</name>
  2114 + <field>destroy</field>
  2115 + <condition>&#x3d;</condition>
  2116 + <name2/>
  2117 + </key>
  2118 + <value>
  2119 + <name>station</name>
  2120 + <rename>qdzid</rename>
  2121 + <default/>
  2122 + <type>Integer</type>
  2123 + </value>
  2124 + <value>
  2125 + <name>directions</name>
  2126 + <rename>sxx</rename>
  2127 + <default/>
  2128 + <type>Integer</type>
  2129 + </value>
  2130 + <value>
  2131 + <name>station_code</name>
  2132 + <rename>qdzcode</rename>
  2133 + <default/>
  2134 + <type>String</type>
  2135 + </value>
  2136 + <value>
  2137 + <name>station_name</name>
  2138 + <rename>qdzname_</rename>
  2139 + <default/>
  2140 + <type>String</type>
  2141 + </value>
  2142 + </lookup>
  2143 + <cluster_schema/>
  2144 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2145 + <xloc>430</xloc>
  2146 + <yloc>403</yloc>
  2147 + <draw>Y</draw>
  2148 + </GUI>
  2149 + </step>
  2150 +
  2151 + <step>
  2152 + <name>&#x67e5;&#x627e;&#x8def;&#x724c;&#x5173;&#x8054;</name>
  2153 + <type>DBLookup</type>
  2154 + <description/>
  2155 + <distribute>Y</distribute>
  2156 + <custom_distribution/>
  2157 + <copies>1</copies>
  2158 + <partitioning>
  2159 + <method>none</method>
  2160 + <schema_name/>
  2161 + </partitioning>
  2162 + <connection>bus_control_variable</connection>
  2163 + <cache>N</cache>
  2164 + <cache_load_all>N</cache_load_all>
  2165 + <cache_size>0</cache_size>
  2166 + <lookup>
  2167 + <schema/>
  2168 + <table>bsth_c_s_gbi</table>
  2169 + <orderby/>
  2170 + <fail_on_multiple>N</fail_on_multiple>
  2171 + <eat_row_on_failure>N</eat_row_on_failure>
  2172 + <key>
  2173 + <name>xlid</name>
  2174 + <field>xl</field>
  2175 + <condition>&#x3d;</condition>
  2176 + <name2/>
  2177 + </key>
  2178 + <key>
  2179 + <name>lp</name>
  2180 + <field>lp_name</field>
  2181 + <condition>&#x3d;</condition>
  2182 + <name2/>
  2183 + </key>
  2184 + <key>
  2185 + <name>iscanceled</name>
  2186 + <field>is_cancel</field>
  2187 + <condition>&#x3d;</condition>
  2188 + <name2/>
  2189 + </key>
  2190 + <value>
  2191 + <name>id</name>
  2192 + <rename>lpid</rename>
  2193 + <default/>
  2194 + <type>Integer</type>
  2195 + </value>
  2196 + </lookup>
  2197 + <cluster_schema/>
  2198 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2199 + <xloc>1013</xloc>
  2200 + <yloc>265</yloc>
  2201 + <draw>Y</draw>
  2202 + </GUI>
  2203 + </step>
  2204 +
  2205 + <step>
  2206 + <name>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ebf;&#x8def;&#x65b9;&#x5411;</name>
  2207 + <type>DBLookup</type>
  2208 + <description/>
  2209 + <distribute>Y</distribute>
  2210 + <custom_distribution/>
  2211 + <copies>1</copies>
  2212 + <partitioning>
  2213 + <method>none</method>
  2214 + <schema_name/>
  2215 + </partitioning>
  2216 + <connection>bus_control_variable</connection>
  2217 + <cache>N</cache>
  2218 + <cache_load_all>N</cache_load_all>
  2219 + <cache_size>0</cache_size>
  2220 + <lookup>
  2221 + <schema/>
  2222 + <table>bsth_c_ls_stationroute</table>
  2223 + <orderby/>
  2224 + <fail_on_multiple>N</fail_on_multiple>
  2225 + <eat_row_on_failure>N</eat_row_on_failure>
  2226 + <key>
  2227 + <name>xlid</name>
  2228 + <field>line</field>
  2229 + <condition>&#x3d;</condition>
  2230 + <name2/>
  2231 + </key>
  2232 + <key>
  2233 + <name>version</name>
  2234 + <field>versions</field>
  2235 + <condition>&#x3d;</condition>
  2236 + <name2/>
  2237 + </key>
  2238 + <key>
  2239 + <name>startZdtype_calcu</name>
  2240 + <field>station_mark</field>
  2241 + <condition>&#x3d;</condition>
  2242 + <name2/>
  2243 + </key>
  2244 + <key>
  2245 + <name>qdzname_calcu</name>
  2246 + <field>station_name</field>
  2247 + <condition>LIKE</condition>
  2248 + <name2/>
  2249 + </key>
  2250 + <key>
  2251 + <name>destory</name>
  2252 + <field>destroy</field>
  2253 + <condition>&#x3d;</condition>
  2254 + <name2/>
  2255 + </key>
  2256 + <value>
  2257 + <name>directions</name>
  2258 + <rename>sxx</rename>
  2259 + <default/>
  2260 + <type>String</type>
  2261 + </value>
  2262 + </lookup>
  2263 + <cluster_schema/>
  2264 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2265 + <xloc>548</xloc>
  2266 + <yloc>610</yloc>
  2267 + <draw>Y</draw>
  2268 + </GUI>
  2269 + </step>
  2270 +
  2271 + <step>
  2272 + <name>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ec8;&#x70b9;&#x7ad9;&#xff0c;&#x5e76;&#x4f5c;&#x4e3a;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x70b9;&#x7ad9;</name>
  2273 + <type>DBLookup</type>
  2274 + <description/>
  2275 + <distribute>Y</distribute>
  2276 + <custom_distribution/>
  2277 + <copies>1</copies>
  2278 + <partitioning>
  2279 + <method>none</method>
  2280 + <schema_name/>
  2281 + </partitioning>
  2282 + <connection>bus_control_variable</connection>
  2283 + <cache>N</cache>
  2284 + <cache_load_all>Y</cache_load_all>
  2285 + <cache_size>0</cache_size>
  2286 + <lookup>
  2287 + <schema/>
  2288 + <table>bsth_c_ls_stationroute</table>
  2289 + <orderby/>
  2290 + <fail_on_multiple>N</fail_on_multiple>
  2291 + <eat_row_on_failure>N</eat_row_on_failure>
  2292 + <key>
  2293 + <name>xlid</name>
  2294 + <field>line</field>
  2295 + <condition>&#x3d;</condition>
  2296 + <name2/>
  2297 + </key>
  2298 + <key>
  2299 + <name>version</name>
  2300 + <field>versions</field>
  2301 + <condition>&#x3d;</condition>
  2302 + <name2/>
  2303 + </key>
  2304 + <key>
  2305 + <name>endZdtype_calcu</name>
  2306 + <field>station_mark</field>
  2307 + <condition>&#x3d;</condition>
  2308 + <name2/>
  2309 + </key>
  2310 + <key>
  2311 + <name>sxx</name>
  2312 + <field>directions</field>
  2313 + <condition>&#x3d;</condition>
  2314 + <name2/>
  2315 + </key>
  2316 + <key>
  2317 + <name>destory</name>
  2318 + <field>destroy</field>
  2319 + <condition>&#x3d;</condition>
  2320 + <name2/>
  2321 + </key>
  2322 + <value>
  2323 + <name>station_name</name>
  2324 + <rename>zdzname_calcu</rename>
  2325 + <default/>
  2326 + <type>Integer</type>
  2327 + </value>
  2328 + </lookup>
  2329 + <cluster_schema/>
  2330 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2331 + <xloc>550</xloc>
  2332 + <yloc>701</yloc>
  2333 + <draw>Y</draw>
  2334 + </GUI>
  2335 + </step>
  2336 +
  2337 + <step>
  2338 + <name>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</name>
  2339 + <type>DBLookup</type>
  2340 + <description/>
  2341 + <distribute>Y</distribute>
  2342 + <custom_distribution/>
  2343 + <copies>1</copies>
  2344 + <partitioning>
  2345 + <method>none</method>
  2346 + <schema_name/>
  2347 + </partitioning>
  2348 + <connection>bus_control_variable</connection>
  2349 + <cache>N</cache>
  2350 + <cache_load_all>N</cache_load_all>
  2351 + <cache_size>0</cache_size>
  2352 + <lookup>
  2353 + <schema/>
  2354 + <table>bsth_c_ls_stationroute</table>
  2355 + <orderby/>
  2356 + <fail_on_multiple>N</fail_on_multiple>
  2357 + <eat_row_on_failure>N</eat_row_on_failure>
  2358 + <key>
  2359 + <name>xlid</name>
  2360 + <field>line</field>
  2361 + <condition>&#x3d;</condition>
  2362 + <name2/>
  2363 + </key>
  2364 + <key>
  2365 + <name>version</name>
  2366 + <field>versions</field>
  2367 + <condition>&#x3d;</condition>
  2368 + <name2/>
  2369 + </key>
  2370 + <key>
  2371 + <name>zdzname_calcu</name>
  2372 + <field>station_name</field>
  2373 + <condition>&#x3d;</condition>
  2374 + <name2/>
  2375 + </key>
  2376 + <key>
  2377 + <name>startZdtype_calcu</name>
  2378 + <field>station_mark</field>
  2379 + <condition>&#x3d;</condition>
  2380 + <name2/>
  2381 + </key>
  2382 + <key>
  2383 + <name>destory</name>
  2384 + <field>destroy</field>
  2385 + <condition>&#x3d;</condition>
  2386 + <name2/>
  2387 + </key>
  2388 + <value>
  2389 + <name>directions</name>
  2390 + <rename>sxx2</rename>
  2391 + <default/>
  2392 + <type>Integer</type>
  2393 + </value>
  2394 + <value>
  2395 + <name>station</name>
  2396 + <rename>qdzid</rename>
  2397 + <default/>
  2398 + <type>Integer</type>
  2399 + </value>
  2400 + <value>
  2401 + <name>station_code</name>
  2402 + <rename>qdzcode</rename>
  2403 + <default/>
  2404 + <type>String</type>
  2405 + </value>
  2406 + <value>
  2407 + <name>station_name</name>
  2408 + <rename>qname</rename>
  2409 + <default/>
  2410 + <type>String</type>
  2411 + </value>
  2412 + </lookup>
  2413 + <cluster_schema/>
  2414 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2415 + <xloc>551</xloc>
  2416 + <yloc>782</yloc>
  2417 + <draw>Y</draw>
  2418 + </GUI>
  2419 + </step>
  2420 +
  2421 + <step>
  2422 + <name>&#x6b63;&#x5e38;&#x73ed;&#x6b21;_&#x5904;&#x7406;&#x6570;&#x636e;</name>
  2423 + <type>ScriptValueMod</type>
  2424 + <description/>
  2425 + <distribute>Y</distribute>
  2426 + <custom_distribution/>
  2427 + <copies>1</copies>
  2428 + <partitioning>
  2429 + <method>none</method>
  2430 + <schema_name/>
  2431 + </partitioning>
  2432 + <compatible>N</compatible>
  2433 + <optimizationLevel>9</optimizationLevel>
  2434 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  2435 + <jsScript_name>Script 1</jsScript_name>
  2436 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f; &#x6dfb;&#x52a0;&#x7ad9;&#x70b9;&#x6807;&#x8bc6;&#xa;var sendZdtype &#x3d; &#x27;B&#x27;&#x3b;&#xa;var endZdtype &#x3d; &#x27;E&#x27;&#x3b;&#xa;&#xa;var destory &#x3d; 0&#x3b; &#x2f;&#x2f; &#x672a;&#x64a4;&#x9500;flag</jsScript_script>
  2437 + </jsScript> </jsScripts> <fields> <field> <name>sendZdtype</name>
  2438 + <rename>sendZdtype</rename>
  2439 + <type>String</type>
  2440 + <length>-1</length>
  2441 + <precision>-1</precision>
  2442 + <replace>N</replace>
  2443 + </field> <field> <name>endZdtype</name>
  2444 + <rename>endZdtype</rename>
  2445 + <type>String</type>
  2446 + <length>-1</length>
  2447 + <precision>-1</precision>
  2448 + <replace>N</replace>
  2449 + </field> <field> <name>destory</name>
  2450 + <rename>destory</rename>
  2451 + <type>Integer</type>
  2452 + <length>-1</length>
  2453 + <precision>-1</precision>
  2454 + <replace>N</replace>
  2455 + </field> </fields> <cluster_schema/>
  2456 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2457 + <xloc>588</xloc>
  2458 + <yloc>403</yloc>
  2459 + <draw>Y</draw>
  2460 + </GUI>
  2461 + </step>
  2462 +
  2463 + <step>
  2464 + <name>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x6570;&#x636e;</name>
  2465 + <type>Dummy</type>
  2466 + <description/>
  2467 + <distribute>Y</distribute>
  2468 + <custom_distribution/>
  2469 + <copies>1</copies>
  2470 + <partitioning>
  2471 + <method>none</method>
  2472 + <schema_name/>
  2473 + </partitioning>
  2474 + <cluster_schema/>
  2475 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2476 + <xloc>725</xloc>
  2477 + <yloc>404</yloc>
  2478 + <draw>Y</draw>
  2479 + </GUI>
  2480 + </step>
  2481 +
  2482 + <step>
  2483 + <name>&#x6dfb;&#x52a0;&#x53d1;&#x8f66;&#x987a;&#x5e8f;&#x53f7;</name>
  2484 + <type>GroupBy</type>
  2485 + <description/>
  2486 + <distribute>Y</distribute>
  2487 + <custom_distribution/>
  2488 + <copies>1</copies>
  2489 + <partitioning>
  2490 + <method>none</method>
  2491 + <schema_name/>
  2492 + </partitioning>
  2493 + <all_rows>Y</all_rows>
  2494 + <ignore_aggregate>N</ignore_aggregate>
  2495 + <field_ignore/>
  2496 + <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
  2497 + <prefix>grp</prefix>
  2498 + <add_linenr>Y</add_linenr>
  2499 + <linenr_fieldname>fcno</linenr_fieldname>
  2500 + <give_back_row>N</give_back_row>
  2501 + <group>
  2502 + <field>
  2503 + <name>lp</name>
  2504 + </field>
  2505 + </group>
  2506 + <fields>
  2507 + </fields>
  2508 + <cluster_schema/>
  2509 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2510 + <xloc>442</xloc>
  2511 + <yloc>44</yloc>
  2512 + <draw>Y</draw>
  2513 + </GUI>
  2514 + </step>
  2515 +
  2516 + <step>
  2517 + <name>&#x6dfb;&#x52a0;&#x5bf9;&#x5e94;&#x73ed;&#x6b21;&#x6570;</name>
  2518 + <type>GroupBy</type>
  2519 + <description/>
  2520 + <distribute>Y</distribute>
  2521 + <custom_distribution/>
  2522 + <copies>1</copies>
  2523 + <partitioning>
  2524 + <method>none</method>
  2525 + <schema_name/>
  2526 + </partitioning>
  2527 + <all_rows>Y</all_rows>
  2528 + <ignore_aggregate>N</ignore_aggregate>
  2529 + <field_ignore/>
  2530 + <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
  2531 + <prefix>grp</prefix>
  2532 + <add_linenr>Y</add_linenr>
  2533 + <linenr_fieldname>bcs</linenr_fieldname>
  2534 + <give_back_row>N</give_back_row>
  2535 + <group>
  2536 + </group>
  2537 + <fields>
  2538 + </fields>
  2539 + <cluster_schema/>
  2540 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2541 + <xloc>692</xloc>
  2542 + <yloc>44</yloc>
  2543 + <draw>Y</draw>
  2544 + </GUI>
  2545 + </step>
  2546 +
  2547 + <step>
  2548 + <name>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</name>
  2549 + <type>Normaliser</type>
  2550 + <description/>
  2551 + <distribute>Y</distribute>
  2552 + <custom_distribution/>
  2553 + <copies>1</copies>
  2554 + <partitioning>
  2555 + <method>none</method>
  2556 + <schema_name/>
  2557 + </partitioning>
  2558 + <typefield>&#x7ad9;&#x70b9;&#x540d;&#x79f0;</typefield>
  2559 + <fields> </fields> <cluster_schema/>
  2560 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2561 + <xloc>248</xloc>
  2562 + <yloc>44</yloc>
  2563 + <draw>Y</draw>
  2564 + </GUI>
  2565 + </step>
  2566 +
  2567 + <step>
  2568 + <name>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178;</name>
  2569 + <type>ValueMapper</type>
  2570 + <description/>
  2571 + <distribute>Y</distribute>
  2572 + <custom_distribution/>
  2573 + <copies>1</copies>
  2574 + <partitioning>
  2575 + <method>none</method>
  2576 + <schema_name/>
  2577 + </partitioning>
  2578 + <field_to_use>bctype</field_to_use>
  2579 + <target_field>bctype_code</target_field>
  2580 + <non_match_default>&#x672a;&#x77e5;&#x7c7b;&#x578b;</non_match_default>
  2581 + <fields>
  2582 + <field>
  2583 + <source_value>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</source_value>
  2584 + <target_value>normal</target_value>
  2585 + </field>
  2586 + <field>
  2587 + <source_value>&#x51fa;&#x573a;</source_value>
  2588 + <target_value>out</target_value>
  2589 + </field>
  2590 + <field>
  2591 + <source_value>&#x8fdb;&#x573a;</source_value>
  2592 + <target_value>in</target_value>
  2593 + </field>
  2594 + <field>
  2595 + <source_value>&#x52a0;&#x6cb9;</source_value>
  2596 + <target_value>oil</target_value>
  2597 + </field>
  2598 + <field>
  2599 + <source_value>&#x4e34;&#x52a0;</source_value>
  2600 + <target_value>temp</target_value>
  2601 + </field>
  2602 + <field>
  2603 + <source_value>&#x533a;&#x95f4;</source_value>
  2604 + <target_value>region</target_value>
  2605 + </field>
  2606 + <field>
  2607 + <source_value>&#x653e;&#x7a7a;</source_value>
  2608 + <target_value>venting</target_value>
  2609 + </field>
  2610 + <field>
  2611 + <source_value>&#x653e;&#x5927;&#x7ad9;</source_value>
  2612 + <target_value>major</target_value>
  2613 + </field>
  2614 + </fields>
  2615 + <cluster_schema/>
  2616 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2617 + <xloc>149</xloc>
  2618 + <yloc>491</yloc>
  2619 + <draw>Y</draw>
  2620 + </GUI>
  2621 + </step>
  2622 +
  2623 + <step>
  2624 + <name>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 2</name>
  2625 + <type>ValueMapper</type>
  2626 + <description/>
  2627 + <distribute>Y</distribute>
  2628 + <custom_distribution/>
  2629 + <copies>1</copies>
  2630 + <partitioning>
  2631 + <method>none</method>
  2632 + <schema_name/>
  2633 + </partitioning>
  2634 + <field_to_use>bctype</field_to_use>
  2635 + <target_field>bctype_code</target_field>
  2636 + <non_match_default>&#x672a;&#x77e5;&#x7c7b;&#x578b;</non_match_default>
  2637 + <fields>
  2638 + <field>
  2639 + <source_value>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</source_value>
  2640 + <target_value>normal</target_value>
  2641 + </field>
  2642 + <field>
  2643 + <source_value>&#x51fa;&#x573a;</source_value>
  2644 + <target_value>out</target_value>
  2645 + </field>
  2646 + <field>
  2647 + <source_value>&#x8fdb;&#x573a;</source_value>
  2648 + <target_value>in</target_value>
  2649 + </field>
  2650 + <field>
  2651 + <source_value>&#x52a0;&#x6cb9;</source_value>
  2652 + <target_value>oil</target_value>
  2653 + </field>
  2654 + <field>
  2655 + <source_value>&#x4e34;&#x52a0;</source_value>
  2656 + <target_value>temp</target_value>
  2657 + </field>
  2658 + <field>
  2659 + <source_value>&#x533a;&#x95f4;</source_value>
  2660 + <target_value>region</target_value>
  2661 + </field>
  2662 + <field>
  2663 + <source_value>&#x653e;&#x7a7a;</source_value>
  2664 + <target_value>venting</target_value>
  2665 + </field>
  2666 + <field>
  2667 + <source_value>&#x653e;&#x5927;&#x7ad9;</source_value>
  2668 + <target_value>major</target_value>
  2669 + </field>
  2670 + </fields>
  2671 + <cluster_schema/>
  2672 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2673 + <xloc>333</xloc>
  2674 + <yloc>681</yloc>
  2675 + <draw>Y</draw>
  2676 + </GUI>
  2677 + </step>
  2678 +
  2679 + <step>
  2680 + <name>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 3</name>
  2681 + <type>ValueMapper</type>
  2682 + <description/>
  2683 + <distribute>Y</distribute>
  2684 + <custom_distribution/>
  2685 + <copies>1</copies>
  2686 + <partitioning>
  2687 + <method>none</method>
  2688 + <schema_name/>
  2689 + </partitioning>
  2690 + <field_to_use>bctype</field_to_use>
  2691 + <target_field>bctype_code</target_field>
  2692 + <non_match_default>&#x672a;&#x77e5;&#x7c7b;&#x578b;</non_match_default>
  2693 + <fields>
  2694 + <field>
  2695 + <source_value>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</source_value>
  2696 + <target_value>normal</target_value>
  2697 + </field>
  2698 + <field>
  2699 + <source_value>&#x51fa;&#x573a;</source_value>
  2700 + <target_value>out</target_value>
  2701 + </field>
  2702 + <field>
  2703 + <source_value>&#x8fdb;&#x573a;</source_value>
  2704 + <target_value>in</target_value>
  2705 + </field>
  2706 + <field>
  2707 + <source_value>&#x52a0;&#x6cb9;</source_value>
  2708 + <target_value>oil</target_value>
  2709 + </field>
  2710 + <field>
  2711 + <source_value>&#x4e34;&#x52a0;</source_value>
  2712 + <target_value>temp</target_value>
  2713 + </field>
  2714 + <field>
  2715 + <source_value>&#x533a;&#x95f4;</source_value>
  2716 + <target_value>region</target_value>
  2717 + </field>
  2718 + <field>
  2719 + <source_value>&#x653e;&#x7a7a;</source_value>
  2720 + <target_value>venting</target_value>
  2721 + </field>
  2722 + <field>
  2723 + <source_value>&#x653e;&#x5927;&#x7ad9;</source_value>
  2724 + <target_value>major</target_value>
  2725 + </field>
  2726 + </fields>
  2727 + <cluster_schema/>
  2728 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2729 + <xloc>551</xloc>
  2730 + <yloc>928</yloc>
  2731 + <draw>Y</draw>
  2732 + </GUI>
  2733 + </step>
  2734 +
  2735 + <step>
  2736 + <name>&#x7c7b;&#x578b;&#x4fee;&#x6b63;</name>
  2737 + <type>SelectValues</type>
  2738 + <description/>
  2739 + <distribute>Y</distribute>
  2740 + <custom_distribution/>
  2741 + <copies>1</copies>
  2742 + <partitioning>
  2743 + <method>none</method>
  2744 + <schema_name/>
  2745 + </partitioning>
  2746 + <fields> <select_unspecified>N</select_unspecified>
  2747 + <meta> <name>jhlc</name>
  2748 + <rename>jhlc</rename>
  2749 + <type>Number</type>
  2750 + <length>-2</length>
  2751 + <precision>-2</precision>
  2752 + <conversion_mask/>
  2753 + <date_format_lenient>false</date_format_lenient>
  2754 + <date_format_locale/>
  2755 + <date_format_timezone/>
  2756 + <lenient_string_to_number>false</lenient_string_to_number>
  2757 + <encoding/>
  2758 + <decimal_symbol/>
  2759 + <grouping_symbol/>
  2760 + <currency_symbol/>
  2761 + <storage_type/>
  2762 + </meta> <meta> <name>bcsj</name>
  2763 + <rename>bcsj</rename>
  2764 + <type>Integer</type>
  2765 + <length>-2</length>
  2766 + <precision>-2</precision>
  2767 + <conversion_mask/>
  2768 + <date_format_lenient>false</date_format_lenient>
  2769 + <date_format_locale/>
  2770 + <date_format_timezone/>
  2771 + <lenient_string_to_number>false</lenient_string_to_number>
  2772 + <encoding/>
  2773 + <decimal_symbol/>
  2774 + <grouping_symbol/>
  2775 + <currency_symbol/>
  2776 + <storage_type/>
  2777 + </meta> </fields> <cluster_schema/>
  2778 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2779 + <xloc>146</xloc>
  2780 + <yloc>768</yloc>
  2781 + <draw>Y</draw>
  2782 + </GUI>
  2783 + </step>
  2784 +
  2785 + <step>
  2786 + <name>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 2</name>
  2787 + <type>SelectValues</type>
  2788 + <description/>
  2789 + <distribute>Y</distribute>
  2790 + <custom_distribution/>
  2791 + <copies>1</copies>
  2792 + <partitioning>
  2793 + <method>none</method>
  2794 + <schema_name/>
  2795 + </partitioning>
  2796 + <fields> <select_unspecified>N</select_unspecified>
  2797 + <meta> <name>out_mileage</name>
  2798 + <rename>out_mileage</rename>
  2799 + <type>Number</type>
  2800 + <length>-2</length>
  2801 + <precision>-2</precision>
  2802 + <conversion_mask/>
  2803 + <date_format_lenient>false</date_format_lenient>
  2804 + <date_format_locale/>
  2805 + <date_format_timezone/>
  2806 + <lenient_string_to_number>false</lenient_string_to_number>
  2807 + <encoding/>
  2808 + <decimal_symbol/>
  2809 + <grouping_symbol/>
  2810 + <currency_symbol/>
  2811 + <storage_type/>
  2812 + </meta> <meta> <name>out_time</name>
  2813 + <rename>out_time</rename>
  2814 + <type>Integer</type>
  2815 + <length>-2</length>
  2816 + <precision>-2</precision>
  2817 + <conversion_mask/>
  2818 + <date_format_lenient>false</date_format_lenient>
  2819 + <date_format_locale/>
  2820 + <date_format_timezone/>
  2821 + <lenient_string_to_number>false</lenient_string_to_number>
  2822 + <encoding/>
  2823 + <decimal_symbol/>
  2824 + <grouping_symbol/>
  2825 + <currency_symbol/>
  2826 + <storage_type/>
  2827 + </meta> <meta> <name>sxx</name>
  2828 + <rename>sxx</rename>
  2829 + <type>Integer</type>
  2830 + <length>-2</length>
  2831 + <precision>-2</precision>
  2832 + <conversion_mask/>
  2833 + <date_format_lenient>false</date_format_lenient>
  2834 + <date_format_locale/>
  2835 + <date_format_timezone/>
  2836 + <lenient_string_to_number>false</lenient_string_to_number>
  2837 + <encoding/>
  2838 + <decimal_symbol/>
  2839 + <grouping_symbol/>
  2840 + <currency_symbol/>
  2841 + <storage_type/>
  2842 + </meta> </fields> <cluster_schema/>
  2843 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2844 + <xloc>338</xloc>
  2845 + <yloc>1008</yloc>
  2846 + <draw>Y</draw>
  2847 + </GUI>
  2848 + </step>
  2849 +
  2850 + <step>
  2851 + <name>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 3</name>
  2852 + <type>SelectValues</type>
  2853 + <description/>
  2854 + <distribute>Y</distribute>
  2855 + <custom_distribution/>
  2856 + <copies>1</copies>
  2857 + <partitioning>
  2858 + <method>none</method>
  2859 + <schema_name/>
  2860 + </partitioning>
  2861 + <fields> <select_unspecified>N</select_unspecified>
  2862 + <meta> <name>parade_mileage</name>
  2863 + <rename>parade_mileage</rename>
  2864 + <type>Number</type>
  2865 + <length>-2</length>
  2866 + <precision>-2</precision>
  2867 + <conversion_mask/>
  2868 + <date_format_lenient>false</date_format_lenient>
  2869 + <date_format_locale/>
  2870 + <date_format_timezone/>
  2871 + <lenient_string_to_number>false</lenient_string_to_number>
  2872 + <encoding/>
  2873 + <decimal_symbol/>
  2874 + <grouping_symbol/>
  2875 + <currency_symbol/>
  2876 + <storage_type/>
  2877 + </meta> <meta> <name>parade_time</name>
  2878 + <rename>parade_time</rename>
  2879 + <type>Integer</type>
  2880 + <length>-2</length>
  2881 + <precision>-2</precision>
  2882 + <conversion_mask/>
  2883 + <date_format_lenient>false</date_format_lenient>
  2884 + <date_format_locale/>
  2885 + <date_format_timezone/>
  2886 + <lenient_string_to_number>false</lenient_string_to_number>
  2887 + <encoding/>
  2888 + <decimal_symbol/>
  2889 + <grouping_symbol/>
  2890 + <currency_symbol/>
  2891 + <storage_type/>
  2892 + </meta> <meta> <name>sxx2</name>
  2893 + <rename>sxx2</rename>
  2894 + <type>Integer</type>
  2895 + <length>-2</length>
  2896 + <precision>-2</precision>
  2897 + <conversion_mask/>
  2898 + <date_format_lenient>false</date_format_lenient>
  2899 + <date_format_locale/>
  2900 + <date_format_timezone/>
  2901 + <lenient_string_to_number>false</lenient_string_to_number>
  2902 + <encoding/>
  2903 + <decimal_symbol/>
  2904 + <grouping_symbol/>
  2905 + <currency_symbol/>
  2906 + <storage_type/>
  2907 + </meta> </fields> <cluster_schema/>
  2908 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2909 + <xloc>847</xloc>
  2910 + <yloc>1003</yloc>
  2911 + <draw>Y</draw>
  2912 + </GUI>
  2913 + </step>
  2914 +
  2915 + <step>
  2916 + <name>&#x8ba1;&#x7b97;&#x73ed;&#x6b21;&#x7c7b;&#x578b;</name>
  2917 + <type>ValueMapper</type>
  2918 + <description/>
  2919 + <distribute>Y</distribute>
  2920 + <custom_distribution/>
  2921 + <copies>1</copies>
  2922 + <partitioning>
  2923 + <method>none</method>
  2924 + <schema_name/>
  2925 + </partitioning>
  2926 + <field_to_use>qdzname</field_to_use>
  2927 + <target_field>bctype</target_field>
  2928 + <non_match_default>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</non_match_default>
  2929 + <fields>
  2930 + <field>
  2931 + <source_value>&#x51fa;&#x573a;</source_value>
  2932 + <target_value>&#x51fa;&#x573a;</target_value>
  2933 + </field>
  2934 + <field>
  2935 + <source_value>&#x8fdb;&#x573a;</source_value>
  2936 + <target_value>&#x8fdb;&#x573a;</target_value>
  2937 + </field>
  2938 + </fields>
  2939 + <cluster_schema/>
  2940 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2941 + <xloc>1014</xloc>
  2942 + <yloc>401</yloc>
  2943 + <draw>Y</draw>
  2944 + </GUI>
  2945 + </step>
  2946 +
  2947 + <step>
  2948 + <name>&#x8bb0;&#x5f55;&#x5173;&#x8054; &#x28;&#x7b1b;&#x5361;&#x5c14;&#x8f93;&#x51fa;&#x29;</name>
  2949 + <type>JoinRows</type>
  2950 + <description/>
  2951 + <distribute>Y</distribute>
  2952 + <custom_distribution/>
  2953 + <copies>1</copies>
  2954 + <partitioning>
  2955 + <method>none</method>
  2956 + <schema_name/>
  2957 + </partitioning>
  2958 + <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
  2959 + <prefix>out</prefix>
  2960 + <cache_size>500</cache_size>
  2961 + <main/>
  2962 + <compare>
  2963 +<condition>
  2964 + <negated>N</negated>
  2965 + <leftvalue/>
  2966 + <function>&#x3d;</function>
  2967 + <rightvalue/>
  2968 + </condition>
  2969 + </compare>
  2970 + <cluster_schema/>
  2971 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2972 + <xloc>310</xloc>
  2973 + <yloc>133</yloc>
  2974 + <draw>Y</draw>
  2975 + </GUI>
  2976 + </step>
  2977 +
  2978 + <step>
  2979 + <name>&#x8fc7;&#x6ee4;&#x8bb0;&#x5f55;&#xff08;&#x53d1;&#x8f66;&#x65f6;&#x95f4;&#x4e3a;&#x7a7a;&#xff09;</name>
  2980 + <type>FilterRows</type>
  2981 + <description/>
  2982 + <distribute>Y</distribute>
  2983 + <custom_distribution/>
  2984 + <copies>1</copies>
  2985 + <partitioning>
  2986 + <method>none</method>
  2987 + <schema_name/>
  2988 + </partitioning>
  2989 +<send_true_to/>
  2990 +<send_false_to/>
  2991 + <compare>
  2992 +<condition>
  2993 + <negated>N</negated>
  2994 + <leftvalue>sendtime</leftvalue>
  2995 + <function>IS NOT NULL</function>
  2996 + <rightvalue/>
  2997 + </condition>
  2998 + </compare>
  2999 + <cluster_schema/>
  3000 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  3001 + <xloc>571</xloc>
  3002 + <yloc>44</yloc>
  3003 + <draw>Y</draw>
  3004 + </GUI>
  3005 + </step>
  3006 +
  3007 + <step>
  3008 + <name>&#x8fdb;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x8d77;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</name>
  3009 + <type>ScriptValueMod</type>
  3010 + <description/>
  3011 + <distribute>Y</distribute>
  3012 + <custom_distribution/>
  3013 + <copies>1</copies>
  3014 + <partitioning>
  3015 + <method>none</method>
  3016 + <schema_name/>
  3017 + </partitioning>
  3018 + <compatible>N</compatible>
  3019 + <optimizationLevel>9</optimizationLevel>
  3020 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  3021 + <jsScript_name>Script 1</jsScript_name>
  3022 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f; &#x6dfb;&#x52a0;&#x7ad9;&#x70b9;&#x6807;&#x8bc6;&#xa;var cc_groups &#x3d; qdzgroups.split&#x28;&#x22;,&#x22;&#x29;&#x3b; &#x2f;&#x2f; &#x6240;&#x6709;&#x73ed;&#x6b21;&#x8d77;&#x70b9;&#x7ad9;&#x6570;&#x7ec4;&#xa;var qdzname_calcu &#x3d; cc_groups&#x5b;gno - 2&#x5d;&#x3b; &#x2f;&#x2f; &#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x70b9;&#x7ad9;&#x662f;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ec8;&#x70b9;&#x7ad9;&#xff0c;&#x8fd9;&#x91cc;&#x53ea;&#x6709;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x70b9;&#x7ad9;&#xff0c;&#x8fd8;&#x9700;&#x8981;&#x8ba1;&#x7b97;&#xa;var startZdtype_calcu &#x3d; &#x27;B&#x27;&#x3b;&#xa;var endZdtype_calcu &#x3d; &#x27;E&#x27;&#x3b;&#xa;&#xa;var destory &#x3d; 0&#x3b; &#x2f;&#x2f; &#x672a;&#x64a4;&#x9500;flag</jsScript_script>
  3023 + </jsScript> </jsScripts> <fields> <field> <name>qdzname_calcu</name>
  3024 + <rename>qdzname_calcu</rename>
  3025 + <type>String</type>
  3026 + <length>-1</length>
  3027 + <precision>-1</precision>
  3028 + <replace>N</replace>
  3029 + </field> <field> <name>startZdtype_calcu</name>
  3030 + <rename>startZdtype_calcu</rename>
  3031 + <type>String</type>
  3032 + <length>-1</length>
  3033 + <precision>-1</precision>
  3034 + <replace>N</replace>
  3035 + </field> <field> <name>endZdtype_calcu</name>
  3036 + <rename>endZdtype_calcu</rename>
  3037 + <type>String</type>
  3038 + <length>-1</length>
  3039 + <precision>-1</precision>
  3040 + <replace>N</replace>
  3041 + </field> <field> <name>destory</name>
  3042 + <rename>destory</rename>
  3043 + <type>Integer</type>
  3044 + <length>-1</length>
  3045 + <precision>-1</precision>
  3046 + <replace>N</replace>
  3047 + </field> </fields> <cluster_schema/>
  3048 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  3049 + <xloc>754</xloc>
  3050 + <yloc>610</yloc>
  3051 + <draw>Y</draw>
  3052 + </GUI>
  3053 + </step>
  3054 +
  3055 + <step>
  3056 + <name>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</name>
  3057 + <type>Dummy</type>
  3058 + <description/>
  3059 + <distribute>Y</distribute>
  3060 + <custom_distribution/>
  3061 + <copies>1</copies>
  3062 + <partitioning>
  3063 + <method>none</method>
  3064 + <schema_name/>
  3065 + </partitioning>
  3066 + <cluster_schema/>
  3067 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  3068 + <xloc>997</xloc>
  3069 + <yloc>606</yloc>
  3070 + <draw>Y</draw>
  3071 + </GUI>
  3072 + </step>
  3073 +
  3074 + <step>
  3075 + <name>&#x7ad9;&#x70b9;&#x8def;&#x7531;&#x7248;&#x672c;&#x7c7b;&#x578b;</name>
  3076 + <type>SelectValues</type>
  3077 + <description/>
  3078 + <distribute>Y</distribute>
  3079 + <custom_distribution/>
  3080 + <copies>1</copies>
  3081 + <partitioning>
  3082 + <method>none</method>
  3083 + <schema_name/>
  3084 + </partitioning>
  3085 + <fields> <select_unspecified>Y</select_unspecified>
  3086 + <meta> <name>zdlyversion_</name>
  3087 + <rename>version</rename>
  3088 + <type>Integer</type>
  3089 + <length>-2</length>
  3090 + <precision>-2</precision>
  3091 + <conversion_mask/>
  3092 + <date_format_lenient>false</date_format_lenient>
  3093 + <date_format_locale/>
  3094 + <date_format_timezone/>
  3095 + <lenient_string_to_number>false</lenient_string_to_number>
  3096 + <encoding/>
  3097 + <decimal_symbol/>
  3098 + <grouping_symbol/>
  3099 + <currency_symbol/>
  3100 + <storage_type/>
  3101 + </meta> </fields> <cluster_schema/>
  3102 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  3103 + <xloc>1015</xloc>
  3104 + <yloc>333</yloc>
  3105 + <draw>Y</draw>
  3106 + </GUI>
  3107 + </step>
  3108 +
  3109 + <step_error_handling>
  3110 + <error>
  3111 + <source_step>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail</source_step>
  3112 + <target_step/>
  3113 + <is_enabled>Y</is_enabled>
  3114 + <nr_valuename>c1</nr_valuename>
  3115 + <descriptions_valuename>c2</descriptions_valuename>
  3116 + <fields_valuename>c3</fields_valuename>
  3117 + <codes_valuename>c4</codes_valuename>
  3118 + <max_errors/>
  3119 + <max_pct_errors/>
  3120 + <min_pct_rows/>
  3121 + </error>
  3122 + </step_error_handling>
  3123 + <slave-step-copy-partition-distribution>
  3124 +</slave-step-copy-partition-distribution>
  3125 + <slave_transformation>N</slave_transformation>
  3126 +
  3127 +</transformation>
src/main/resources/datatools/ktrs/ttinfodetailDataInputMetaData.ktr
1 -<?xml version="1.0" encoding="UTF-8"?>  
2 -<transformation>  
3 - <info>  
4 - <name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x5bfc;&#x5165;&#x5143;&#x6570;&#x636e;</name>  
5 - <description/>  
6 - <extended_description/>  
7 - <trans_version/>  
8 - <trans_type>Normal</trans_type>  
9 - <trans_status>0</trans_status>  
10 - <directory>&#x2f;</directory>  
11 - <parameters>  
12 - <parameter>  
13 - <name>erroroutputdir</name>  
14 - <default_value>&#x2f;Users&#x2f;xu&#x2f;resource&#x2f;project_code&#x2f;runtime_temp&#x2f;bsth_control_u_d_files&#x2f;erroroutput</default_value>  
15 - <description>ktr step&#x914d;&#x7f6e;&#x7684;&#x9519;&#x8bef;&#x8f93;&#x51fa;&#x76ee;&#x5f55;</description>  
16 - </parameter>  
17 - <parameter>  
18 - <name>excelfieldnames</name>  
19 - <default_value>&#x8def;&#x724c;,&#x51fa;&#x573a;,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;1,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;1,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;2,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;2,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;3,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;3,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;4,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;4,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;5,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;5,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;6,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;6,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;7,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;7,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;8,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;8,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;9,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;9,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;10,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;10,&#x8fdb;&#x573a;</default_value>  
20 - <description>&#x65f6;&#x523b;&#x8868;excel&#x8f93;&#x5165;&#x5b57;&#x6bb5;&#x540d;&#xff0c;&#x4ee5;&#x9017;&#x53f7;&#x8fde;&#x63a5;</description>  
21 - </parameter>  
22 - <parameter>  
23 - <name>filepath</name>  
24 - <default_value>&#x2f;Users&#x2f;xu&#x2f;resource&#x2f;project_code&#x2f;bsth_project&#x2f;bsth_control_etl&#x2f;&#x95f5;&#x884c;&#x516c;&#x4ea4;&#x2f;&#x95f5;&#x884c;26&#x8def;&#x65f6;&#x523b;&#x8868;160630&#x65f6;&#x523b;&#x8868;.xls</default_value>  
25 - <description>&#x5f85;&#x5904;&#x7406;&#x5bfc;&#x5165;&#x7684;excel&#x6587;&#x4ef6;</description>  
26 - </parameter>  
27 - <parameter>  
28 - <name>injectktrfile</name>  
29 - <default_value>&#x2f;Users&#x2f;xu&#x2f;resource&#x2f;project_code&#x2f;bsth_project&#x2f;bsth_control_parent&#x2f;bsth_control&#x2f;src&#x2f;main&#x2f;resources&#x2f;datatools&#x2f;ktrs&#x2f;ttinfodetailDataInput.ktr</default_value>  
30 - <description>&#x6ce8;&#x5165;&#x5143;&#x6570;&#x636e;&#x7684;ktr&#x6587;&#x4ef6;</description>  
31 - </parameter>  
32 - <parameter>  
33 - <name>lineinfoid</name>  
34 - <default_value>1000</default_value>  
35 - <description>&#x7ebf;&#x8def;&#x6807;&#x51c6;id</description>  
36 - </parameter>  
37 - <parameter>  
38 - <name>normalizefieldnames</name>  
39 - <default_value>&#x51fa;&#x573a;,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;1,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;1,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;2,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;2,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;3,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;3,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;4,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;4,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;5,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;5,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;6,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;6,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;7,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;7,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;8,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;8,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;9,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;9,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;10,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;10,&#x8fdb;&#x573a;</default_value>  
40 - <description>&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;&#x5b57;&#x6bb5;&#x540d;&#xff0c;&#x4ee5;&#x9017;&#x53f7;&#x8fde;&#x63a5;</description>  
41 - </parameter>  
42 - <parameter>  
43 - <name>sheetname</name>  
44 - <default_value>&#x5de5;&#x4f5c;&#x8868;1</default_value>  
45 - <description>xls sheet&#x540d;&#x5b57;</description>  
46 - </parameter>  
47 - <parameter>  
48 - <name>tccname</name>  
49 - <default_value>&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;&#x505c;&#x8f66;&#x573a;</default_value>  
50 - <description>&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</description>  
51 - </parameter>  
52 - <parameter>  
53 - <name>ttid</name>  
54 - <default_value>1</default_value>  
55 - <description>&#x65f6;&#x523b;&#x8868;id</description>  
56 - </parameter>  
57 - <parameter>  
58 - <name>ttinfoname</name>  
59 - <default_value>&#x8868;2</default_value>  
60 - <description>&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;</description>  
61 - </parameter>  
62 - <parameter>  
63 - <name>xlname</name>  
64 - <default_value>&#x95f5;&#x884c;26&#x8def;</default_value>  
65 - <description>&#x7ebf;&#x8def;&#x540d;&#x79f0;</description>  
66 - </parameter>  
67 - </parameters>  
68 - <log>  
69 -<trans-log-table><connection/>  
70 -<schema/>  
71 -<table/>  
72 -<size_limit_lines/>  
73 -<interval/>  
74 -<timeout_days/>  
75 -<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STATUS</id><enabled>Y</enabled><name>STATUS</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name><subject/></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name><subject/></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name><subject/></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name><subject/></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name><subject/></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name><subject/></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>STARTDATE</id><enabled>Y</enabled><name>STARTDATE</name></field><field><id>ENDDATE</id><enabled>Y</enabled><name>ENDDATE</name></field><field><id>LOGDATE</id><enabled>Y</enabled><name>LOGDATE</name></field><field><id>DEPDATE</id><enabled>Y</enabled><name>DEPDATE</name></field><field><id>REPLAYDATE</id><enabled>Y</enabled><name>REPLAYDATE</name></field><field><id>LOG_FIELD</id><enabled>Y</enabled><name>LOG_FIELD</name></field><field><id>EXECUTING_SERVER</id><enabled>N</enabled><name>EXECUTING_SERVER</name></field><field><id>EXECUTING_USER</id><enabled>N</enabled><name>EXECUTING_USER</name></field><field><id>CLIENT</id><enabled>N</enabled><name>CLIENT</name></field></trans-log-table>  
76 -<perf-log-table><connection/>  
77 -<schema/>  
78 -<table/>  
79 -<interval/>  
80 -<timeout_days/>  
81 -<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>SEQ_NR</id><enabled>Y</enabled><name>SEQ_NR</name></field><field><id>LOGDATE</id><enabled>Y</enabled><name>LOGDATE</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STEPNAME</id><enabled>Y</enabled><name>STEPNAME</name></field><field><id>STEP_COPY</id><enabled>Y</enabled><name>STEP_COPY</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>INPUT_BUFFER_ROWS</id><enabled>Y</enabled><name>INPUT_BUFFER_ROWS</name></field><field><id>OUTPUT_BUFFER_ROWS</id><enabled>Y</enabled><name>OUTPUT_BUFFER_ROWS</name></field></perf-log-table>  
82 -<channel-log-table><connection/>  
83 -<schema/>  
84 -<table/>  
85 -<timeout_days/>  
86 -<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>LOGGING_OBJECT_TYPE</id><enabled>Y</enabled><name>LOGGING_OBJECT_TYPE</name></field><field><id>OBJECT_NAME</id><enabled>Y</enabled><name>OBJECT_NAME</name></field><field><id>OBJECT_COPY</id><enabled>Y</enabled><name>OBJECT_COPY</name></field><field><id>REPOSITORY_DIRECTORY</id><enabled>Y</enabled><name>REPOSITORY_DIRECTORY</name></field><field><id>FILENAME</id><enabled>Y</enabled><name>FILENAME</name></field><field><id>OBJECT_ID</id><enabled>Y</enabled><name>OBJECT_ID</name></field><field><id>OBJECT_REVISION</id><enabled>Y</enabled><name>OBJECT_REVISION</name></field><field><id>PARENT_CHANNEL_ID</id><enabled>Y</enabled><name>PARENT_CHANNEL_ID</name></field><field><id>ROOT_CHANNEL_ID</id><enabled>Y</enabled><name>ROOT_CHANNEL_ID</name></field></channel-log-table>  
87 -<step-log-table><connection/>  
88 -<schema/>  
89 -<table/>  
90 -<timeout_days/>  
91 -<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STEPNAME</id><enabled>Y</enabled><name>STEPNAME</name></field><field><id>STEP_COPY</id><enabled>Y</enabled><name>STEP_COPY</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>LOG_FIELD</id><enabled>N</enabled><name>LOG_FIELD</name></field></step-log-table>  
92 -<metrics-log-table><connection/>  
93 -<schema/>  
94 -<table/>  
95 -<timeout_days/>  
96 -<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>METRICS_DATE</id><enabled>Y</enabled><name>METRICS_DATE</name></field><field><id>METRICS_CODE</id><enabled>Y</enabled><name>METRICS_CODE</name></field><field><id>METRICS_DESCRIPTION</id><enabled>Y</enabled><name>METRICS_DESCRIPTION</name></field><field><id>METRICS_SUBJECT</id><enabled>Y</enabled><name>METRICS_SUBJECT</name></field><field><id>METRICS_TYPE</id><enabled>Y</enabled><name>METRICS_TYPE</name></field><field><id>METRICS_VALUE</id><enabled>Y</enabled><name>METRICS_VALUE</name></field></metrics-log-table>  
97 - </log>  
98 - <maxdate>  
99 - <connection/>  
100 - <table/>  
101 - <field/>  
102 - <offset>0.0</offset>  
103 - <maxdiff>0.0</maxdiff>  
104 - </maxdate>  
105 - <size_rowset>10000</size_rowset>  
106 - <sleep_time_empty>50</sleep_time_empty>  
107 - <sleep_time_full>50</sleep_time_full>  
108 - <unique_connections>N</unique_connections>  
109 - <feedback_shown>Y</feedback_shown>  
110 - <feedback_size>50000</feedback_size>  
111 - <using_thread_priorities>Y</using_thread_priorities>  
112 - <shared_objects_file/>  
113 - <capture_step_performance>N</capture_step_performance>  
114 - <step_performance_capturing_delay>1000</step_performance_capturing_delay>  
115 - <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit>  
116 - <dependencies>  
117 - </dependencies>  
118 - <partitionschemas>  
119 - </partitionschemas>  
120 - <slaveservers>  
121 - </slaveservers>  
122 - <clusterschemas>  
123 - </clusterschemas>  
124 - <created_user>-</created_user>  
125 - <created_date>2016&#x2f;07&#x2f;01 09&#x3a;55&#x3a;32.649</created_date>  
126 - <modified_user>-</modified_user>  
127 - <modified_date>2016&#x2f;07&#x2f;01 09&#x3a;55&#x3a;32.649</modified_date>  
128 - <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</key_for_session_key>  
129 - <is_key_private>N</is_key_private>  
130 - </info>  
131 - <notepads>  
132 - </notepads>  
133 - <connection>  
134 - <name>192.168.168.1_jwgl_dw</name>  
135 - <server>192.168.168.1</server>  
136 - <type>ORACLE</type>  
137 - <access>Native</access>  
138 - <database>orcl</database>  
139 - <port>1521</port>  
140 - <username>jwgl_dw</username>  
141 - <password>Encrypted 2be98afc86aa7f2e4cb13b977d2adabcd</password>  
142 - <servername/>  
143 - <data_tablespace/>  
144 - <index_tablespace/>  
145 - <attributes>  
146 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
147 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
148 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
149 - <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>  
150 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
151 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
152 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
153 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
154 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
155 - </attributes>  
156 - </connection>  
157 - <connection>  
158 - <name>bus_control_variable</name>  
159 - <server>&#x24;&#x7b;v_db_ip&#x7d;</server>  
160 - <type>MYSQL</type>  
161 - <access>Native</access>  
162 - <database>&#x24;&#x7b;v_db_dname&#x7d;</database>  
163 - <port>3306</port>  
164 - <username>&#x24;&#x7b;v_db_uname&#x7d;</username>  
165 - <password>&#x24;&#x7b;v_db_pwd&#x7d;</password>  
166 - <servername/>  
167 - <data_tablespace/>  
168 - <index_tablespace/>  
169 - <attributes>  
170 - <attribute><code>EXTRA_OPTION_MYSQL.characterEncoding</code><attribute>utf8</attribute></attribute>  
171 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
172 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
173 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
174 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
175 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
176 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
177 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
178 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
179 - <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>  
180 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
181 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
182 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
183 - </attributes>  
184 - </connection>  
185 - <connection>  
186 - <name>bus_control_&#x516c;&#x53f8;_201</name>  
187 - <server>localhost</server>  
188 - <type>MYSQL</type>  
189 - <access>Native</access>  
190 - <database>control</database>  
191 - <port>3306</port>  
192 - <username>root</username>  
193 - <password>Encrypted </password>  
194 - <servername/>  
195 - <data_tablespace/>  
196 - <index_tablespace/>  
197 - <attributes>  
198 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
199 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
200 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
201 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
202 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
203 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
204 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
205 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
206 - <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>  
207 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
208 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
209 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
210 - </attributes>  
211 - </connection>  
212 - <connection>  
213 - <name>bus_control_&#x672c;&#x673a;</name>  
214 - <server>localhost</server>  
215 - <type>MYSQL</type>  
216 - <access>Native</access>  
217 - <database>control</database>  
218 - <port>3306</port>  
219 - <username>root</username>  
220 - <password>Encrypted </password>  
221 - <servername/>  
222 - <data_tablespace/>  
223 - <index_tablespace/>  
224 - <attributes>  
225 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
226 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
227 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
228 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
229 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
230 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
231 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
232 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
233 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
234 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
235 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
236 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
237 - </attributes>  
238 - </connection>  
239 - <connection>  
240 - <name>xlab_mysql_youle</name>  
241 - <server>101.231.124.8</server>  
242 - <type>MYSQL</type>  
243 - <access>Native</access>  
244 - <database>xlab_youle</database>  
245 - <port>45687</port>  
246 - <username>xlab-youle</username>  
247 - <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password>  
248 - <servername/>  
249 - <data_tablespace/>  
250 - <index_tablespace/>  
251 - <attributes>  
252 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
253 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
254 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
255 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
256 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
257 - <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute>  
258 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
259 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
260 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
261 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>  
262 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>  
263 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
264 - </attributes>  
265 - </connection>  
266 - <connection>  
267 - <name>xlab_mysql_youle&#xff08;&#x672c;&#x673a;&#xff09;</name>  
268 - <server>localhost</server>  
269 - <type>MYSQL</type>  
270 - <access>Native</access>  
271 - <database>xlab_youle</database>  
272 - <port>3306</port>  
273 - <username>root</username>  
274 - <password>Encrypted </password>  
275 - <servername/>  
276 - <data_tablespace/>  
277 - <index_tablespace/>  
278 - <attributes>  
279 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
280 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
281 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
282 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
283 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
284 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
285 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
286 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
287 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
288 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>  
289 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>  
290 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
291 - </attributes>  
292 - </connection>  
293 - <connection>  
294 - <name>xlab_youle</name>  
295 - <server/>  
296 - <type>MYSQL</type>  
297 - <access>JNDI</access>  
298 - <database>xlab_youle</database>  
299 - <port>1521</port>  
300 - <username/>  
301 - <password>Encrypted </password>  
302 - <servername/>  
303 - <data_tablespace/>  
304 - <index_tablespace/>  
305 - <attributes>  
306 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
307 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
308 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
309 - <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>  
310 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
311 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
312 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
313 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
314 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
315 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
316 - </attributes>  
317 - </connection>  
318 - <order>  
319 - <hop> <from>&#x83b7;&#x53d6;excel&#x6587;&#x4ef6;&#x540d;</from><to>ETL&#x5143;&#x6570;&#x636e;&#x6ce8;&#x5165;</to><enabled>Y</enabled> </hop>  
320 - <hop> <from>&#x83b7;&#x53d6;excel&#x5b57;&#x6bb5;&#x540d;&#x5b57;&#x7b26;&#x4e32;</from><to>&#x9017;&#x53f7;&#x5207;&#x5206;&#x6210;&#x5b57;&#x6bb5;&#x540d;</to><enabled>Y</enabled> </hop>  
321 - <hop> <from>&#x9017;&#x53f7;&#x5207;&#x5206;&#x6210;&#x5b57;&#x6bb5;&#x540d;</from><to>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>  
322 - <hop> <from>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</from><to>ETL&#x5143;&#x6570;&#x636e;&#x6ce8;&#x5165;</to><enabled>Y</enabled> </hop>  
323 - <hop> <from>&#x83b7;&#x53d6;normalize&#x5b57;&#x6bb5;&#x540d;&#x5b57;&#x7b26;&#x4e32;</from><to>&#x9017;&#x53f7;&#x5207;&#x5206;&#x6210;&#x5b57;&#x6bb5;&#x540d; 2</to><enabled>Y</enabled> </hop>  
324 - <hop> <from>&#x9017;&#x53f7;&#x5207;&#x5206;&#x6210;&#x5b57;&#x6bb5;&#x540d; 2</from><to>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>  
325 - <hop> <from>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</from><to>ETL&#x5143;&#x6570;&#x636e;&#x6ce8;&#x5165;</to><enabled>Y</enabled> </hop>  
326 - <hop> <from>&#x83b7;&#x53d6;&#x7ebf;&#x8def;&#x540d;&#x79f0;</from><to>&#x589e;&#x52a0;&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata</to><enabled>Y</enabled> </hop>  
327 - <hop> <from>&#x589e;&#x52a0;&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata</from><to>&#x66ff;&#x6362;&#x7ebf;&#x8def;&#x540d;&#x79f0;</to><enabled>Y</enabled> </hop>  
328 - <hop> <from>&#x66ff;&#x6362;&#x7ebf;&#x8def;&#x540d;&#x79f0;</from><to>&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</to><enabled>Y</enabled> </hop>  
329 - <hop> <from>&#x589e;&#x52a0;&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata</from><to>&#x66ff;&#x6362;&#x505c;&#x8f66;&#x5382;&#x540d;&#x5b57; </to><enabled>Y</enabled> </hop>  
330 - <hop> <from>&#x66ff;&#x6362;&#x505c;&#x8f66;&#x5382;&#x540d;&#x5b57; </from><to>&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</to><enabled>Y</enabled> </hop>  
331 - <hop> <from>&#x83b7;&#x53d6;&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;</from><to>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;metadata</to><enabled>Y</enabled> </hop>  
332 - <hop> <from>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;metadata</from><to>&#x66ff;&#x6362;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;</to><enabled>Y</enabled> </hop>  
333 - <hop> <from>&#x66ff;&#x6362;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;</from><to>&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</to><enabled>Y</enabled> </hop>  
334 - <hop> <from>&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</from><to>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</to><enabled>Y</enabled> </hop>  
335 - <hop> <from>&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</from><to>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</to><enabled>Y</enabled> </hop>  
336 - <hop> <from>&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</from><to>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</to><enabled>Y</enabled> </hop>  
337 - <hop> <from>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</from><to>ETL&#x5143;&#x6570;&#x636e;&#x6ce8;&#x5165;</to><enabled>Y</enabled> </hop>  
338 - <hop> <from>&#x83b7;&#x53d6;&#x65f6;&#x523b;&#x8868;id</from><to>&#x5220;&#x9664;&#x4e4b;&#x524d;&#x7684;&#x660e;&#x7ec6;&#x4fe1;&#x606f;</to><enabled>Y</enabled> </hop>  
339 - <hop> <from>&#x83b7;&#x53d6;&#x7ebf;&#x8def;&#x6807;&#x51c6;id</from><to>&#x505c;&#x8f66;&#x573a;&#x7f16;&#x7801;</to><enabled>Y</enabled> </hop>  
340 - <hop> <from>&#x505c;&#x8f66;&#x573a;&#x7f16;&#x7801;</from><to>&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;</to><enabled>Y</enabled> </hop>  
341 - <hop> <from>&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;</from><to>&#x589e;&#x52a0;&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata</to><enabled>Y</enabled> </hop>  
342 - </order>  
343 - <step>  
344 - <name>ETL&#x5143;&#x6570;&#x636e;&#x6ce8;&#x5165;</name>  
345 - <type>MetaInject</type>  
346 - <description/>  
347 - <distribute>Y</distribute>  
348 - <custom_distribution/>  
349 - <copies>1</copies>  
350 - <partitioning>  
351 - <method>none</method>  
352 - <schema_name/>  
353 - </partitioning>  
354 - <specification_method>filename</specification_method>  
355 - <trans_object_id/>  
356 - <trans_name/>  
357 - <filename>&#x24;&#x7b;injectktrfile&#x7d;</filename>  
358 - <directory_path/>  
359 - <source_step/>  
360 - <source_output_fields> </source_output_fields> <target_file/>  
361 - <no_execution>N</no_execution>  
362 - <stream_source_step/>  
363 - <stream_target_step/>  
364 - <mappings> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>  
365 - <target_attribute_key>FORMAT</target_attribute_key>  
366 - <target_detail>Y</target_detail>  
367 - <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>  
368 - <source_field>format</source_field>  
369 - </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>  
370 - <target_attribute_key>REPEAT</target_attribute_key>  
371 - <target_detail>Y</target_detail>  
372 - <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>  
373 - <source_field>repeat</source_field>  
374 - </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>  
375 - <target_attribute_key>TRIM_TYPE</target_attribute_key>  
376 - <target_detail>Y</target_detail>  
377 - <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>  
378 - <source_field>trim_type</source_field>  
379 - </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>  
380 - <target_attribute_key>FILENAME</target_attribute_key>  
381 - <target_detail>Y</target_detail>  
382 - <source_step>&#x83b7;&#x53d6;excel&#x6587;&#x4ef6;&#x540d;</source_step>  
383 - <source_field>filepath_</source_field>  
384 - </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>  
385 - <target_attribute_key>PRECISION</target_attribute_key>  
386 - <target_detail>Y</target_detail>  
387 - <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>  
388 - <source_field>precision</source_field>  
389 - </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>  
390 - <target_attribute_key>TYPE</target_attribute_key>  
391 - <target_detail>Y</target_detail>  
392 - <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>  
393 - <source_field>type</source_field>  
394 - </mapping> <mapping> <target_step_name>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;&#xff0c;&#x7ebf;&#x8def;&#x540d;&#x5b57;&#xff0c;&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</target_step_name>  
395 - <target_attribute_key>DATA_VALUE</target_attribute_key>  
396 - <target_detail>Y</target_detail>  
397 - <source_step>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</source_step>  
398 - <source_field>col_value</source_field>  
399 - </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>  
400 - <target_attribute_key>LENGTH</target_attribute_key>  
401 - <target_detail>Y</target_detail>  
402 - <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>  
403 - <source_field>length</source_field>  
404 - </mapping> <mapping> <target_step_name>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;&#xff0c;&#x7ebf;&#x8def;&#x540d;&#x5b57;&#xff0c;&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</target_step_name>  
405 - <target_attribute_key>TYPE</target_attribute_key>  
406 - <target_detail>Y</target_detail>  
407 - <source_step>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</source_step>  
408 - <source_field>col_type</source_field>  
409 - </mapping> <mapping> <target_step_name>&#x884c;&#x8f6c;&#x5217;</target_step_name>  
410 - <target_attribute_key>NAME</target_attribute_key>  
411 - <target_detail>Y</target_detail>  
412 - <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c; 2</source_step>  
413 - <source_field>fieldName</source_field>  
414 - </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>  
415 - <target_attribute_key>NAME</target_attribute_key>  
416 - <target_detail>Y</target_detail>  
417 - <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>  
418 - <source_field>fieldname</source_field>  
419 - </mapping> <mapping> <target_step_name>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</target_step_name>  
420 - <target_attribute_key>NAME</target_attribute_key>  
421 - <target_detail>Y</target_detail>  
422 - <source_step>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</source_step>  
423 - <source_field>nfieldname</source_field>  
424 - </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>  
425 - <target_attribute_key>SHEET_NAME</target_attribute_key>  
426 - <target_detail>Y</target_detail>  
427 - <source_step>&#x83b7;&#x53d6;excel&#x6587;&#x4ef6;&#x540d;</source_step>  
428 - <source_field>sheetname_</source_field>  
429 - </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>  
430 - <target_attribute_key>LENGTH</target_attribute_key>  
431 - <target_detail>Y</target_detail>  
432 - <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>  
433 - <source_field>length</source_field>  
434 - </mapping> <mapping> <target_step_name>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;&#xff0c;&#x7ebf;&#x8def;&#x540d;&#x5b57;&#xff0c;&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</target_step_name>  
435 - <target_attribute_key>NAME</target_attribute_key>  
436 - <target_detail>Y</target_detail>  
437 - <source_step>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</source_step>  
438 - <source_field>col_name</source_field>  
439 - </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>  
440 - <target_attribute_key>TYPE</target_attribute_key>  
441 - <target_detail>Y</target_detail>  
442 - <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>  
443 - <source_field>fieldtype</source_field>  
444 - </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>  
445 - <target_attribute_key>NAME</target_attribute_key>  
446 - <target_detail>Y</target_detail>  
447 - <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>  
448 - <source_field>fieldName</source_field>  
449 - </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>  
450 - <target_attribute_key>TRIM_TYPE</target_attribute_key>  
451 - <target_detail>Y</target_detail>  
452 - <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>  
453 - <source_field>trim_type</source_field>  
454 - </mapping> <mapping> <target_step_name>&#x884c;&#x8f6c;&#x5217;</target_step_name>  
455 - <target_attribute_key>VALUE</target_attribute_key>  
456 - <target_detail>Y</target_detail>  
457 - <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c; 2</source_step>  
458 - <source_field>fieldName</source_field>  
459 - </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>  
460 - <target_attribute_key>REPEAT</target_attribute_key>  
461 - <target_detail>Y</target_detail>  
462 - <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>  
463 - <source_field>repeat</source_field>  
464 - </mapping> <mapping> <target_step_name>&#x884c;&#x8f6c;&#x5217;</target_step_name>  
465 - <target_attribute_key>NORMALISED</target_attribute_key>  
466 - <target_detail>Y</target_detail>  
467 - <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c; 2</source_step>  
468 - <source_field>value</source_field>  
469 - </mapping> <mapping> <target_step_name>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</target_step_name>  
470 - <target_attribute_key>NORMALISED</target_attribute_key>  
471 - <target_detail>Y</target_detail>  
472 - <source_step>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</source_step>  
473 - <source_field>valuefield</source_field>  
474 - </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>  
475 - <target_attribute_key>FORMAT</target_attribute_key>  
476 - <target_detail>Y</target_detail>  
477 - <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>  
478 - <source_field>format</source_field>  
479 - </mapping> <mapping> <target_step_name>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</target_step_name>  
480 - <target_attribute_key>VALUE</target_attribute_key>  
481 - <target_detail>Y</target_detail>  
482 - <source_step>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</source_step>  
483 - <source_field>nfieldname</source_field>  
484 - </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>  
485 - <target_attribute_key>PRECISION</target_attribute_key>  
486 - <target_detail>Y</target_detail>  
487 - <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>  
488 - <source_field>precision</source_field>  
489 - </mapping> </mappings> <cluster_schema/>  
490 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
491 - <xloc>876</xloc>  
492 - <yloc>167</yloc>  
493 - <draw>Y</draw>  
494 - </GUI>  
495 - </step>  
496 -  
497 - <step>  
498 - <name>&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;</name>  
499 - <type>DBLookup</type>  
500 - <description/>  
501 - <distribute>Y</distribute>  
502 - <custom_distribution/>  
503 - <copies>1</copies>  
504 - <partitioning>  
505 - <method>none</method>  
506 - <schema_name/>  
507 - </partitioning>  
508 - <connection>bus_control_variable</connection>  
509 - <cache>N</cache>  
510 - <cache_load_all>N</cache_load_all>  
511 - <cache_size>0</cache_size>  
512 - <lookup>  
513 - <schema/>  
514 - <table>bsth_c_car_park</table>  
515 - <orderby/>  
516 - <fail_on_multiple>N</fail_on_multiple>  
517 - <eat_row_on_failure>N</eat_row_on_failure>  
518 - <key>  
519 - <name>car_park</name>  
520 - <field>park_code</field>  
521 - <condition>&#x3d;</condition>  
522 - <name2/>  
523 - </key>  
524 - <value>  
525 - <name>park_name</name>  
526 - <rename>tccname_</rename>  
527 - <default/>  
528 - <type>String</type>  
529 - </value>  
530 - </lookup>  
531 - <cluster_schema/>  
532 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
533 - <xloc>319</xloc>  
534 - <yloc>468</yloc>  
535 - <draw>Y</draw>  
536 - </GUI>  
537 - </step>  
538 -  
539 - <step>  
540 - <name>&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</name>  
541 - <type>SelectValues</type>  
542 - <description/>  
543 - <distribute>Y</distribute>  
544 - <custom_distribution/>  
545 - <copies>1</copies>  
546 - <partitioning>  
547 - <method>none</method>  
548 - <schema_name/>  
549 - </partitioning>  
550 - <fields> <field> <name>col_name</name>  
551 - <rename/>  
552 - <length>-2</length>  
553 - <precision>-2</precision>  
554 - </field> <field> <name>col_type</name>  
555 - <rename/>  
556 - <length>-2</length>  
557 - <precision>-2</precision>  
558 - </field> <field> <name>col_value</name>  
559 - <rename/>  
560 - <length>-2</length>  
561 - <precision>-2</precision>  
562 - </field> <select_unspecified>N</select_unspecified>  
563 - </fields> <cluster_schema/>  
564 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
565 - <xloc>743</xloc>  
566 - <yloc>470</yloc>  
567 - <draw>Y</draw>  
568 - </GUI>  
569 - </step>  
570 -  
571 - <step>  
572 - <name>&#x505c;&#x8f66;&#x573a;&#x7f16;&#x7801;</name>  
573 - <type>DBLookup</type>  
574 - <description/>  
575 - <distribute>Y</distribute>  
576 - <custom_distribution/>  
577 - <copies>1</copies>  
578 - <partitioning>  
579 - <method>none</method>  
580 - <schema_name/>  
581 - </partitioning>  
582 - <connection>bus_control_variable</connection>  
583 - <cache>N</cache>  
584 - <cache_load_all>N</cache_load_all>  
585 - <cache_size>0</cache_size>  
586 - <lookup>  
587 - <schema/>  
588 - <table>bsth_c_line_information</table>  
589 - <orderby/>  
590 - <fail_on_multiple>N</fail_on_multiple>  
591 - <eat_row_on_failure>N</eat_row_on_failure>  
592 - <key>  
593 - <name>lineinfoid_</name>  
594 - <field>id</field>  
595 - <condition>&#x3d;</condition>  
596 - <name2/>  
597 - </key>  
598 - <value>  
599 - <name>car_park</name>  
600 - <rename>car_park</rename>  
601 - <default/>  
602 - <type>String</type>  
603 - </value>  
604 - </lookup>  
605 - <cluster_schema/>  
606 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
607 - <xloc>182</xloc>  
608 - <yloc>467</yloc>  
609 - <draw>Y</draw>  
610 - </GUI>  
611 - </step>  
612 -  
613 - <step>  
614 - <name>&#x5220;&#x9664;&#x4e4b;&#x524d;&#x7684;&#x660e;&#x7ec6;&#x4fe1;&#x606f;</name>  
615 - <type>ExecSQL</type>  
616 - <description/>  
617 - <distribute>Y</distribute>  
618 - <custom_distribution/>  
619 - <copies>1</copies>  
620 - <partitioning>  
621 - <method>none</method>  
622 - <schema_name/>  
623 - </partitioning>  
624 - <connection>bus_control_variable</connection>  
625 - <execute_each_row>Y</execute_each_row>  
626 - <single_statement>N</single_statement>  
627 - <replace_variables>N</replace_variables>  
628 - <quoteString>N</quoteString>  
629 - <sql>delete from bsth_c_s_ttinfo_detail where ttinfo &#x3d; &#x3f;</sql>  
630 - <set_params>N</set_params>  
631 - <insert_field/>  
632 - <update_field/>  
633 - <delete_field/>  
634 - <read_field/>  
635 - <arguments>  
636 - <argument><name>ttid_</name></argument>  
637 - </arguments>  
638 - <cluster_schema/>  
639 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
640 - <xloc>808</xloc>  
641 - <yloc>16</yloc>  
642 - <draw>Y</draw>  
643 - </GUI>  
644 - </step>  
645 -  
646 - <step>  
647 - <name>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</name>  
648 - <type>Dummy</type>  
649 - <description/>  
650 - <distribute>Y</distribute>  
651 - <custom_distribution/>  
652 - <copies>1</copies>  
653 - <partitioning>  
654 - <method>none</method>  
655 - <schema_name/>  
656 - </partitioning>  
657 - <cluster_schema/>  
658 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
659 - <xloc>883</xloc>  
660 - <yloc>373</yloc>  
661 - <draw>Y</draw>  
662 - </GUI>  
663 - </step>  
664 -  
665 - <step>  
666 - <name>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</name>  
667 - <type>Constant</type>  
668 - <description/>  
669 - <distribute>Y</distribute>  
670 - <custom_distribution/>  
671 - <copies>1</copies>  
672 - <partitioning>  
673 - <method>none</method>  
674 - <schema_name/>  
675 - </partitioning>  
676 - <fields>  
677 - <field>  
678 - <name>fieldtype</name>  
679 - <type>String</type>  
680 - <format/>  
681 - <currency/>  
682 - <decimal/>  
683 - <group/>  
684 - <nullif>String</nullif>  
685 - <length>-1</length>  
686 - <precision>-1</precision>  
687 - <set_empty_string>N</set_empty_string>  
688 - </field>  
689 - <field>  
690 - <name>length</name>  
691 - <type>String</type>  
692 - <format/>  
693 - <currency/>  
694 - <decimal/>  
695 - <group/>  
696 - <nullif>-1</nullif>  
697 - <length>-1</length>  
698 - <precision>-1</precision>  
699 - <set_empty_string>N</set_empty_string>  
700 - </field>  
701 - <field>  
702 - <name>precision</name>  
703 - <type>String</type>  
704 - <format/>  
705 - <currency/>  
706 - <decimal/>  
707 - <group/>  
708 - <nullif>-1</nullif>  
709 - <length>-1</length>  
710 - <precision>-1</precision>  
711 - <set_empty_string>N</set_empty_string>  
712 - </field>  
713 - <field>  
714 - <name>trim_type</name>  
715 - <type>String</type>  
716 - <format/>  
717 - <currency/>  
718 - <decimal/>  
719 - <group/>  
720 - <nullif>none</nullif>  
721 - <length>-1</length>  
722 - <precision>-1</precision>  
723 - <set_empty_string>N</set_empty_string>  
724 - </field>  
725 - <field>  
726 - <name>repeat</name>  
727 - <type>String</type>  
728 - <format/>  
729 - <currency/>  
730 - <decimal/>  
731 - <group/>  
732 - <nullif>N</nullif>  
733 - <length>-1</length>  
734 - <precision>-1</precision>  
735 - <set_empty_string>N</set_empty_string>  
736 - </field>  
737 - <field>  
738 - <name>format</name>  
739 - <type>String</type>  
740 - <format/>  
741 - <currency/>  
742 - <decimal/>  
743 - <group/>  
744 - <nullif>&#x23;</nullif>  
745 - <length>-1</length>  
746 - <precision>-1</precision>  
747 - <set_empty_string>N</set_empty_string>  
748 - </field>  
749 - </fields>  
750 - <cluster_schema/>  
751 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
752 - <xloc>622</xloc>  
753 - <yloc>162</yloc>  
754 - <draw>Y</draw>  
755 - </GUI>  
756 - </step>  
757 -  
758 - <step>  
759 - <name>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</name>  
760 - <type>Constant</type>  
761 - <description/>  
762 - <distribute>Y</distribute>  
763 - <custom_distribution/>  
764 - <copies>1</copies>  
765 - <partitioning>  
766 - <method>none</method>  
767 - <schema_name/>  
768 - </partitioning>  
769 - <fields>  
770 - <field>  
771 - <name>valuefield</name>  
772 - <type>String</type>  
773 - <format/>  
774 - <currency/>  
775 - <decimal/>  
776 - <group/>  
777 - <nullif>&#x53d1;&#x8f66;&#x65f6;&#x95f4;</nullif>  
778 - <length>-1</length>  
779 - <precision>-1</precision>  
780 - <set_empty_string>N</set_empty_string>  
781 - </field>  
782 - </fields>  
783 - <cluster_schema/>  
784 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
785 - <xloc>628</xloc>  
786 - <yloc>247</yloc>  
787 - <draw>Y</draw>  
788 - </GUI>  
789 - </step>  
790 -  
791 - <step>  
792 - <name>&#x589e;&#x52a0;&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata</name>  
793 - <type>Constant</type>  
794 - <description/>  
795 - <distribute>Y</distribute>  
796 - <custom_distribution/>  
797 - <copies>1</copies>  
798 - <partitioning>  
799 - <method>none</method>  
800 - <schema_name/>  
801 - </partitioning>  
802 - <fields>  
803 - <field>  
804 - <name>col_name</name>  
805 - <type>String</type>  
806 - <format/>  
807 - <currency/>  
808 - <decimal/>  
809 - <group/>  
810 - <nullif>tccname_</nullif>  
811 - <length>-1</length>  
812 - <precision>-1</precision>  
813 - <set_empty_string>N</set_empty_string>  
814 - </field>  
815 - <field>  
816 - <name>col_type</name>  
817 - <type>String</type>  
818 - <format/>  
819 - <currency/>  
820 - <decimal/>  
821 - <group/>  
822 - <nullif>String</nullif>  
823 - <length>-1</length>  
824 - <precision>-1</precision>  
825 - <set_empty_string>N</set_empty_string>  
826 - </field>  
827 - <field>  
828 - <name>col_value</name>  
829 - <type>String</type>  
830 - <format/>  
831 - <currency/>  
832 - <decimal/>  
833 - <group/>  
834 - <nullif>replace</nullif>  
835 - <length>-1</length>  
836 - <precision>-1</precision>  
837 - <set_empty_string>N</set_empty_string>  
838 - </field>  
839 - </fields>  
840 - <cluster_schema/>  
841 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
842 - <xloc>461</xloc>  
843 - <yloc>469</yloc>  
844 - <draw>Y</draw>  
845 - </GUI>  
846 - </step>  
847 -  
848 - <step>  
849 - <name>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;metadata</name>  
850 - <type>Constant</type>  
851 - <description/>  
852 - <distribute>Y</distribute>  
853 - <custom_distribution/>  
854 - <copies>1</copies>  
855 - <partitioning>  
856 - <method>none</method>  
857 - <schema_name/>  
858 - </partitioning>  
859 - <fields>  
860 - <field>  
861 - <name>col_name</name>  
862 - <type>String</type>  
863 - <format/>  
864 - <currency/>  
865 - <decimal/>  
866 - <group/>  
867 - <nullif>ttinfoname_</nullif>  
868 - <length>-1</length>  
869 - <precision>-1</precision>  
870 - <set_empty_string>N</set_empty_string>  
871 - </field>  
872 - <field>  
873 - <name>col_type</name>  
874 - <type>String</type>  
875 - <format/>  
876 - <currency/>  
877 - <decimal/>  
878 - <group/>  
879 - <nullif>String</nullif>  
880 - <length>-1</length>  
881 - <precision>-1</precision>  
882 - <set_empty_string>N</set_empty_string>  
883 - </field>  
884 - <field>  
885 - <name>col_value</name>  
886 - <type>String</type>  
887 - <format/>  
888 - <currency/>  
889 - <decimal/>  
890 - <group/>  
891 - <nullif>replace</nullif>  
892 - <length>-1</length>  
893 - <precision>-1</precision>  
894 - <set_empty_string>N</set_empty_string>  
895 - </field>  
896 - </fields>  
897 - <cluster_schema/>  
898 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
899 - <xloc>608</xloc>  
900 - <yloc>601</yloc>  
901 - <draw>Y</draw>  
902 - </GUI>  
903 - </step>  
904 -  
905 - <step>  
906 - <name>&#x589e;&#x52a0;&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata</name>  
907 - <type>Constant</type>  
908 - <description/>  
909 - <distribute>Y</distribute>  
910 - <custom_distribution/>  
911 - <copies>1</copies>  
912 - <partitioning>  
913 - <method>none</method>  
914 - <schema_name/>  
915 - </partitioning>  
916 - <fields>  
917 - <field>  
918 - <name>col_name</name>  
919 - <type>String</type>  
920 - <format/>  
921 - <currency/>  
922 - <decimal/>  
923 - <group/>  
924 - <nullif>xlname_</nullif>  
925 - <length>-1</length>  
926 - <precision>-1</precision>  
927 - <set_empty_string>N</set_empty_string>  
928 - </field>  
929 - <field>  
930 - <name>col_type</name>  
931 - <type>String</type>  
932 - <format/>  
933 - <currency/>  
934 - <decimal/>  
935 - <group/>  
936 - <nullif>String</nullif>  
937 - <length>-1</length>  
938 - <precision>-1</precision>  
939 - <set_empty_string>N</set_empty_string>  
940 - </field>  
941 - <field>  
942 - <name>col_value</name>  
943 - <type>String</type>  
944 - <format/>  
945 - <currency/>  
946 - <decimal/>  
947 - <group/>  
948 - <nullif>replace</nullif>  
949 - <length>-1</length>  
950 - <precision>-1</precision>  
951 - <set_empty_string>N</set_empty_string>  
952 - </field>  
953 - </fields>  
954 - <cluster_schema/>  
955 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
956 - <xloc>383</xloc>  
957 - <yloc>341</yloc>  
958 - <draw>Y</draw>  
959 - </GUI>  
960 - </step>  
961 -  
962 - <step>  
963 - <name>&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</name>  
964 - <type>SelectValues</type>  
965 - <description/>  
966 - <distribute>Y</distribute>  
967 - <custom_distribution/>  
968 - <copies>1</copies>  
969 - <partitioning>  
970 - <method>none</method>  
971 - <schema_name/>  
972 - </partitioning>  
973 - <fields> <field> <name>col_name</name>  
974 - <rename/>  
975 - <length>-2</length>  
976 - <precision>-2</precision>  
977 - </field> <field> <name>col_type</name>  
978 - <rename/>  
979 - <length>-2</length>  
980 - <precision>-2</precision>  
981 - </field> <field> <name>col_value</name>  
982 - <rename/>  
983 - <length>-2</length>  
984 - <precision>-2</precision>  
985 - </field> <select_unspecified>N</select_unspecified>  
986 - </fields> <cluster_schema/>  
987 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
988 - <xloc>888</xloc>  
989 - <yloc>601</yloc>  
990 - <draw>Y</draw>  
991 - </GUI>  
992 - </step>  
993 -  
994 - <step>  
995 - <name>&#x66ff;&#x6362;&#x505c;&#x8f66;&#x5382;&#x540d;&#x5b57; </name>  
996 - <type>SetValueField</type>  
997 - <description/>  
998 - <distribute>Y</distribute>  
999 - <custom_distribution/>  
1000 - <copies>1</copies>  
1001 - <partitioning>  
1002 - <method>none</method>  
1003 - <schema_name/>  
1004 - </partitioning>  
1005 - <fields>  
1006 - <field>  
1007 - <name>col_value</name>  
1008 - <replaceby>tccname_</replaceby>  
1009 - </field>  
1010 - </fields>  
1011 - <cluster_schema/>  
1012 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1013 - <xloc>598</xloc>  
1014 - <yloc>471</yloc>  
1015 - <draw>Y</draw>  
1016 - </GUI>  
1017 - </step>  
1018 -  
1019 - <step>  
1020 - <name>&#x66ff;&#x6362;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;</name>  
1021 - <type>SetValueField</type>  
1022 - <description/>  
1023 - <distribute>Y</distribute>  
1024 - <custom_distribution/>  
1025 - <copies>1</copies>  
1026 - <partitioning>  
1027 - <method>none</method>  
1028 - <schema_name/>  
1029 - </partitioning>  
1030 - <fields>  
1031 - <field>  
1032 - <name>col_value</name>  
1033 - <replaceby>ttinfoname_</replaceby>  
1034 - </field>  
1035 - </fields>  
1036 - <cluster_schema/>  
1037 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1038 - <xloc>746</xloc>  
1039 - <yloc>602</yloc>  
1040 - <draw>Y</draw>  
1041 - </GUI>  
1042 - </step>  
1043 -  
1044 - <step>  
1045 - <name>&#x66ff;&#x6362;&#x7ebf;&#x8def;&#x540d;&#x79f0;</name>  
1046 - <type>SetValueField</type>  
1047 - <description/>  
1048 - <distribute>Y</distribute>  
1049 - <custom_distribution/>  
1050 - <copies>1</copies>  
1051 - <partitioning>  
1052 - <method>none</method>  
1053 - <schema_name/>  
1054 - </partitioning>  
1055 - <fields>  
1056 - <field>  
1057 - <name>col_value</name>  
1058 - <replaceby>xlname_</replaceby>  
1059 - </field>  
1060 - </fields>  
1061 - <cluster_schema/>  
1062 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1063 - <xloc>521</xloc>  
1064 - <yloc>342</yloc>  
1065 - <draw>Y</draw>  
1066 - </GUI>  
1067 - </step>  
1068 -  
1069 - <step>  
1070 - <name>&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</name>  
1071 - <type>SelectValues</type>  
1072 - <description/>  
1073 - <distribute>Y</distribute>  
1074 - <custom_distribution/>  
1075 - <copies>1</copies>  
1076 - <partitioning>  
1077 - <method>none</method>  
1078 - <schema_name/>  
1079 - </partitioning>  
1080 - <fields> <field> <name>col_name</name>  
1081 - <rename/>  
1082 - <length>-2</length>  
1083 - <precision>-2</precision>  
1084 - </field> <field> <name>col_type</name>  
1085 - <rename/>  
1086 - <length>-2</length>  
1087 - <precision>-2</precision>  
1088 - </field> <field> <name>col_value</name>  
1089 - <rename/>  
1090 - <length>-2</length>  
1091 - <precision>-2</precision>  
1092 - </field> <select_unspecified>N</select_unspecified>  
1093 - </fields> <cluster_schema/>  
1094 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1095 - <xloc>668</xloc>  
1096 - <yloc>343</yloc>  
1097 - <draw>Y</draw>  
1098 - </GUI>  
1099 - </step>  
1100 -  
1101 - <step>  
1102 - <name>&#x83b7;&#x53d6;excel&#x5b57;&#x6bb5;&#x540d;&#x5b57;&#x7b26;&#x4e32;</name>  
1103 - <type>GetVariable</type>  
1104 - <description/>  
1105 - <distribute>Y</distribute>  
1106 - <custom_distribution/>  
1107 - <copies>1</copies>  
1108 - <partitioning>  
1109 - <method>none</method>  
1110 - <schema_name/>  
1111 - </partitioning>  
1112 - <fields>  
1113 - <field>  
1114 - <name>fieldnames</name>  
1115 - <variable>&#x24;&#x7b;excelfieldnames&#x7d;</variable>  
1116 - <type>String</type>  
1117 - <format/>  
1118 - <currency/>  
1119 - <decimal/>  
1120 - <group/>  
1121 - <length>-1</length>  
1122 - <precision>-1</precision>  
1123 - <trim_type>none</trim_type>  
1124 - </field>  
1125 - </fields>  
1126 - <cluster_schema/>  
1127 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1128 - <xloc>252</xloc>  
1129 - <yloc>153</yloc>  
1130 - <draw>Y</draw>  
1131 - </GUI>  
1132 - </step>  
1133 -  
1134 - <step>  
1135 - <name>&#x83b7;&#x53d6;excel&#x6587;&#x4ef6;&#x540d;</name>  
1136 - <type>GetVariable</type>  
1137 - <description/>  
1138 - <distribute>Y</distribute>  
1139 - <custom_distribution/>  
1140 - <copies>1</copies>  
1141 - <partitioning>  
1142 - <method>none</method>  
1143 - <schema_name/>  
1144 - </partitioning>  
1145 - <fields>  
1146 - <field>  
1147 - <name>filepath_</name>  
1148 - <variable>&#x24;&#x7b;filepath&#x7d;</variable>  
1149 - <type>String</type>  
1150 - <format/>  
1151 - <currency/>  
1152 - <decimal/>  
1153 - <group/>  
1154 - <length>-1</length>  
1155 - <precision>-1</precision>  
1156 - <trim_type>none</trim_type>  
1157 - </field>  
1158 - <field>  
1159 - <name>erroroutputdir_</name>  
1160 - <variable>&#x24;&#x7b;erroroutputdir&#x7d;</variable>  
1161 - <type>String</type>  
1162 - <format/>  
1163 - <currency/>  
1164 - <decimal/>  
1165 - <group/>  
1166 - <length>-1</length>  
1167 - <precision>-1</precision>  
1168 - <trim_type>none</trim_type>  
1169 - </field>  
1170 - <field>  
1171 - <name>sheetname_</name>  
1172 - <variable>&#x24;&#x7b;sheetname&#x7d;</variable>  
1173 - <type>String</type>  
1174 - <format/>  
1175 - <currency/>  
1176 - <decimal/>  
1177 - <group/>  
1178 - <length>-1</length>  
1179 - <precision>-1</precision>  
1180 - <trim_type>none</trim_type>  
1181 - </field>  
1182 - </fields>  
1183 - <cluster_schema/>  
1184 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1185 - <xloc>301</xloc>  
1186 - <yloc>52</yloc>  
1187 - <draw>Y</draw>  
1188 - </GUI>  
1189 - </step>  
1190 -  
1191 - <step>  
1192 - <name>&#x83b7;&#x53d6;normalize&#x5b57;&#x6bb5;&#x540d;&#x5b57;&#x7b26;&#x4e32;</name>  
1193 - <type>GetVariable</type>  
1194 - <description/>  
1195 - <distribute>Y</distribute>  
1196 - <custom_distribution/>  
1197 - <copies>1</copies>  
1198 - <partitioning>  
1199 - <method>none</method>  
1200 - <schema_name/>  
1201 - </partitioning>  
1202 - <fields>  
1203 - <field>  
1204 - <name>normalizefieldnames_</name>  
1205 - <variable>&#x24;&#x7b;normalizefieldnames&#x7d;</variable>  
1206 - <type>String</type>  
1207 - <format/>  
1208 - <currency/>  
1209 - <decimal/>  
1210 - <group/>  
1211 - <length>-1</length>  
1212 - <precision>-1</precision>  
1213 - <trim_type>none</trim_type>  
1214 - </field>  
1215 - </fields>  
1216 - <cluster_schema/>  
1217 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1218 - <xloc>261</xloc>  
1219 - <yloc>251</yloc>  
1220 - <draw>Y</draw>  
1221 - </GUI>  
1222 - </step>  
1223 -  
1224 - <step>  
1225 - <name>&#x83b7;&#x53d6;&#x65f6;&#x523b;&#x8868;id</name>  
1226 - <type>GetVariable</type>  
1227 - <description/>  
1228 - <distribute>Y</distribute>  
1229 - <custom_distribution/>  
1230 - <copies>1</copies>  
1231 - <partitioning>  
1232 - <method>none</method>  
1233 - <schema_name/>  
1234 - </partitioning>  
1235 - <fields>  
1236 - <field>  
1237 - <name>ttid_</name>  
1238 - <variable>&#x24;&#x7b;ttid&#x7d;</variable>  
1239 - <type>Integer</type>  
1240 - <format/>  
1241 - <currency/>  
1242 - <decimal/>  
1243 - <group/>  
1244 - <length>-1</length>  
1245 - <precision>-1</precision>  
1246 - <trim_type>none</trim_type>  
1247 - </field>  
1248 - </fields>  
1249 - <cluster_schema/>  
1250 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1251 - <xloc>608</xloc>  
1252 - <yloc>16</yloc>  
1253 - <draw>Y</draw>  
1254 - </GUI>  
1255 - </step>  
1256 -  
1257 - <step>  
1258 - <name>&#x83b7;&#x53d6;&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;</name>  
1259 - <type>GetVariable</type>  
1260 - <description/>  
1261 - <distribute>Y</distribute>  
1262 - <custom_distribution/>  
1263 - <copies>1</copies>  
1264 - <partitioning>  
1265 - <method>none</method>  
1266 - <schema_name/>  
1267 - </partitioning>  
1268 - <fields>  
1269 - <field>  
1270 - <name>ttinfoname_</name>  
1271 - <variable>&#x24;&#x7b;ttinfoname&#x7d;</variable>  
1272 - <type>String</type>  
1273 - <format/>  
1274 - <currency/>  
1275 - <decimal/>  
1276 - <group/>  
1277 - <length>-1</length>  
1278 - <precision>-1</precision>  
1279 - <trim_type>none</trim_type>  
1280 - </field>  
1281 - </fields>  
1282 - <cluster_schema/>  
1283 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1284 - <xloc>474</xloc>  
1285 - <yloc>601</yloc>  
1286 - <draw>Y</draw>  
1287 - </GUI>  
1288 - </step>  
1289 -  
1290 - <step>  
1291 - <name>&#x83b7;&#x53d6;&#x7ebf;&#x8def;&#x540d;&#x79f0;</name>  
1292 - <type>GetVariable</type>  
1293 - <description/>  
1294 - <distribute>Y</distribute>  
1295 - <custom_distribution/>  
1296 - <copies>1</copies>  
1297 - <partitioning>  
1298 - <method>none</method>  
1299 - <schema_name/>  
1300 - </partitioning>  
1301 - <fields>  
1302 - <field>  
1303 - <name>xlname_</name>  
1304 - <variable>&#x24;&#x7b;xlname&#x7d;</variable>  
1305 - <type>String</type>  
1306 - <format/>  
1307 - <currency/>  
1308 - <decimal/>  
1309 - <group/>  
1310 - <length>-1</length>  
1311 - <precision>-1</precision>  
1312 - <trim_type>none</trim_type>  
1313 - </field>  
1314 - </fields>  
1315 - <cluster_schema/>  
1316 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1317 - <xloc>184</xloc>  
1318 - <yloc>342</yloc>  
1319 - <draw>Y</draw>  
1320 - </GUI>  
1321 - </step>  
1322 -  
1323 - <step>  
1324 - <name>&#x83b7;&#x53d6;&#x7ebf;&#x8def;&#x6807;&#x51c6;id</name>  
1325 - <type>GetVariable</type>  
1326 - <description/>  
1327 - <distribute>Y</distribute>  
1328 - <custom_distribution/>  
1329 - <copies>1</copies>  
1330 - <partitioning>  
1331 - <method>none</method>  
1332 - <schema_name/>  
1333 - </partitioning>  
1334 - <fields>  
1335 - <field>  
1336 - <name>lineinfoid_</name>  
1337 - <variable>&#x24;&#x7b;lineinfoid&#x7d;</variable>  
1338 - <type>Integer</type>  
1339 - <format/>  
1340 - <currency/>  
1341 - <decimal/>  
1342 - <group/>  
1343 - <length>-1</length>  
1344 - <precision>-1</precision>  
1345 - <trim_type>none</trim_type>  
1346 - </field>  
1347 - </fields>  
1348 - <cluster_schema/>  
1349 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1350 - <xloc>74</xloc>  
1351 - <yloc>468</yloc>  
1352 - <draw>Y</draw>  
1353 - </GUI>  
1354 - </step>  
1355 -  
1356 - <step>  
1357 - <name>&#x9017;&#x53f7;&#x5207;&#x5206;&#x6210;&#x5b57;&#x6bb5;&#x540d;</name>  
1358 - <type>SplitFieldToRows3</type>  
1359 - <description/>  
1360 - <distribute>Y</distribute>  
1361 - <custom_distribution/>  
1362 - <copies>1</copies>  
1363 - <partitioning>  
1364 - <method>none</method>  
1365 - <schema_name/>  
1366 - </partitioning>  
1367 - <splitfield>fieldnames</splitfield>  
1368 - <delimiter>,</delimiter>  
1369 - <newfield>fieldname</newfield>  
1370 - <rownum>N</rownum>  
1371 - <rownum_field/>  
1372 - <resetrownumber>Y</resetrownumber>  
1373 - <delimiter_is_regex>N</delimiter_is_regex>  
1374 - <cluster_schema/>  
1375 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1376 - <xloc>442</xloc>  
1377 - <yloc>153</yloc>  
1378 - <draw>Y</draw>  
1379 - </GUI>  
1380 - </step>  
1381 -  
1382 - <step>  
1383 - <name>&#x9017;&#x53f7;&#x5207;&#x5206;&#x6210;&#x5b57;&#x6bb5;&#x540d; 2</name>  
1384 - <type>SplitFieldToRows3</type>  
1385 - <description/>  
1386 - <distribute>Y</distribute>  
1387 - <custom_distribution/>  
1388 - <copies>1</copies>  
1389 - <partitioning>  
1390 - <method>none</method>  
1391 - <schema_name/>  
1392 - </partitioning>  
1393 - <splitfield>normalizefieldnames_</splitfield>  
1394 - <delimiter>,</delimiter>  
1395 - <newfield>nfieldname</newfield>  
1396 - <rownum>N</rownum>  
1397 - <rownum_field/>  
1398 - <resetrownumber>Y</resetrownumber>  
1399 - <delimiter_is_regex>N</delimiter_is_regex>  
1400 - <cluster_schema/>  
1401 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1402 - <xloc>444</xloc>  
1403 - <yloc>247</yloc>  
1404 - <draw>Y</draw>  
1405 - </GUI>  
1406 - </step>  
1407 -  
1408 - <step_error_handling>  
1409 - </step_error_handling>  
1410 - <slave-step-copy-partition-distribution>  
1411 -</slave-step-copy-partition-distribution>  
1412 - <slave_transformation>N</slave_transformation>  
1413 -  
1414 -</transformation> 1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<transformation>
  3 + <info>
  4 + <name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x5bfc;&#x5165;&#x5143;&#x6570;&#x636e;</name>
  5 + <description/>
  6 + <extended_description/>
  7 + <trans_version/>
  8 + <trans_type>Normal</trans_type>
  9 + <trans_status>0</trans_status>
  10 + <directory>&#x2f;</directory>
  11 + <parameters>
  12 + <parameter>
  13 + <name>erroroutputdir</name>
  14 + <default_value>&#x2f;Users&#x2f;xu&#x2f;resource&#x2f;project_code&#x2f;runtime_temp&#x2f;bsth_control_u_d_files&#x2f;erroroutput</default_value>
  15 + <description>ktr step&#x914d;&#x7f6e;&#x7684;&#x9519;&#x8bef;&#x8f93;&#x51fa;&#x76ee;&#x5f55;</description>
  16 + </parameter>
  17 + <parameter>
  18 + <name>excelfieldnames</name>
  19 + <default_value>&#x8def;&#x724c;,&#x51fa;&#x573a;,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;1,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;1,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;2,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;2,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;3,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;3,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;4,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;4,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;5,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;5,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;6,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;6,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;7,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;7,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;8,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;8,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;9,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;9,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;10,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;10,&#x8fdb;&#x573a;</default_value>
  20 + <description>&#x65f6;&#x523b;&#x8868;excel&#x8f93;&#x5165;&#x5b57;&#x6bb5;&#x540d;&#xff0c;&#x4ee5;&#x9017;&#x53f7;&#x8fde;&#x63a5;</description>
  21 + </parameter>
  22 + <parameter>
  23 + <name>filepath</name>
  24 + <default_value>&#x2f;Users&#x2f;xu&#x2f;resource&#x2f;project_code&#x2f;bsth_project&#x2f;bsth_control_etl&#x2f;&#x95f5;&#x884c;&#x516c;&#x4ea4;&#x2f;&#x95f5;&#x884c;26&#x8def;&#x65f6;&#x523b;&#x8868;160630&#x65f6;&#x523b;&#x8868;.xls</default_value>
  25 + <description>&#x5f85;&#x5904;&#x7406;&#x5bfc;&#x5165;&#x7684;excel&#x6587;&#x4ef6;</description>
  26 + </parameter>
  27 + <parameter>
  28 + <name>injectktrfile</name>
  29 + <default_value>&#x2f;Users&#x2f;xu&#x2f;resource&#x2f;project_code&#x2f;bsth_project&#x2f;bsth_control_parent&#x2f;bsth_control&#x2f;src&#x2f;main&#x2f;resources&#x2f;datatools&#x2f;ktrs&#x2f;ttinfodetailDataInput.ktr</default_value>
  30 + <description>&#x6ce8;&#x5165;&#x5143;&#x6570;&#x636e;&#x7684;ktr&#x6587;&#x4ef6;</description>
  31 + </parameter>
  32 + <parameter>
  33 + <name>lineinfoid</name>
  34 + <default_value>1000</default_value>
  35 + <description>&#x7ebf;&#x8def;&#x6807;&#x51c6;id</description>
  36 + </parameter>
  37 + <parameter>
  38 + <name>normalizefieldnames</name>
  39 + <default_value>&#x51fa;&#x573a;,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;1,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;1,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;2,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;2,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;3,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;3,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;4,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;4,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;5,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;5,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;6,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;6,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;7,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;7,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;8,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;8,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;9,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;9,&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;10,&#x5858;&#x6cfe;&#x8def;&#x5c1a;&#x4e49;&#x8def;10,&#x8fdb;&#x573a;</default_value>
  40 + <description>&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;&#x5b57;&#x6bb5;&#x540d;&#xff0c;&#x4ee5;&#x9017;&#x53f7;&#x8fde;&#x63a5;</description>
  41 + </parameter>
  42 + <parameter>
  43 + <name>sheetname</name>
  44 + <default_value>&#x5de5;&#x4f5c;&#x8868;1</default_value>
  45 + <description>xls sheet&#x540d;&#x5b57;</description>
  46 + </parameter>
  47 + <parameter>
  48 + <name>tccname</name>
  49 + <default_value>&#x4e1c;&#x5ddd;&#x8def;&#x5730;&#x94c1;&#x7ad9;&#x505c;&#x8f66;&#x573a;</default_value>
  50 + <description>&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</description>
  51 + </parameter>
  52 + <parameter>
  53 + <name>ttid</name>
  54 + <default_value>1</default_value>
  55 + <description>&#x65f6;&#x523b;&#x8868;id</description>
  56 + </parameter>
  57 + <parameter>
  58 + <name>ttinfoname</name>
  59 + <default_value>&#x8868;2</default_value>
  60 + <description>&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;</description>
  61 + </parameter>
  62 + <parameter>
  63 + <name>xlid</name>
  64 + <default_value>-999</default_value>
  65 + <description/>
  66 + </parameter>
  67 + <parameter>
  68 + <name>xlname</name>
  69 + <default_value>&#x95f5;&#x884c;26&#x8def;</default_value>
  70 + <description>&#x7ebf;&#x8def;&#x540d;&#x79f0;</description>
  71 + </parameter>
  72 + <parameter>
  73 + <name>zdlyversion</name>
  74 + <default_value>-1</default_value>
  75 + <description/>
  76 + </parameter>
  77 + </parameters>
  78 + <log>
  79 +<trans-log-table><connection/>
  80 +<schema/>
  81 +<table/>
  82 +<size_limit_lines/>
  83 +<interval/>
  84 +<timeout_days/>
  85 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STATUS</id><enabled>Y</enabled><name>STATUS</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name><subject/></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name><subject/></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name><subject/></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name><subject/></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name><subject/></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name><subject/></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>STARTDATE</id><enabled>Y</enabled><name>STARTDATE</name></field><field><id>ENDDATE</id><enabled>Y</enabled><name>ENDDATE</name></field><field><id>LOGDATE</id><enabled>Y</enabled><name>LOGDATE</name></field><field><id>DEPDATE</id><enabled>Y</enabled><name>DEPDATE</name></field><field><id>REPLAYDATE</id><enabled>Y</enabled><name>REPLAYDATE</name></field><field><id>LOG_FIELD</id><enabled>Y</enabled><name>LOG_FIELD</name></field><field><id>EXECUTING_SERVER</id><enabled>N</enabled><name>EXECUTING_SERVER</name></field><field><id>EXECUTING_USER</id><enabled>N</enabled><name>EXECUTING_USER</name></field><field><id>CLIENT</id><enabled>N</enabled><name>CLIENT</name></field></trans-log-table>
  86 +<perf-log-table><connection/>
  87 +<schema/>
  88 +<table/>
  89 +<interval/>
  90 +<timeout_days/>
  91 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>SEQ_NR</id><enabled>Y</enabled><name>SEQ_NR</name></field><field><id>LOGDATE</id><enabled>Y</enabled><name>LOGDATE</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STEPNAME</id><enabled>Y</enabled><name>STEPNAME</name></field><field><id>STEP_COPY</id><enabled>Y</enabled><name>STEP_COPY</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>INPUT_BUFFER_ROWS</id><enabled>Y</enabled><name>INPUT_BUFFER_ROWS</name></field><field><id>OUTPUT_BUFFER_ROWS</id><enabled>Y</enabled><name>OUTPUT_BUFFER_ROWS</name></field></perf-log-table>
  92 +<channel-log-table><connection/>
  93 +<schema/>
  94 +<table/>
  95 +<timeout_days/>
  96 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>LOGGING_OBJECT_TYPE</id><enabled>Y</enabled><name>LOGGING_OBJECT_TYPE</name></field><field><id>OBJECT_NAME</id><enabled>Y</enabled><name>OBJECT_NAME</name></field><field><id>OBJECT_COPY</id><enabled>Y</enabled><name>OBJECT_COPY</name></field><field><id>REPOSITORY_DIRECTORY</id><enabled>Y</enabled><name>REPOSITORY_DIRECTORY</name></field><field><id>FILENAME</id><enabled>Y</enabled><name>FILENAME</name></field><field><id>OBJECT_ID</id><enabled>Y</enabled><name>OBJECT_ID</name></field><field><id>OBJECT_REVISION</id><enabled>Y</enabled><name>OBJECT_REVISION</name></field><field><id>PARENT_CHANNEL_ID</id><enabled>Y</enabled><name>PARENT_CHANNEL_ID</name></field><field><id>ROOT_CHANNEL_ID</id><enabled>Y</enabled><name>ROOT_CHANNEL_ID</name></field></channel-log-table>
  97 +<step-log-table><connection/>
  98 +<schema/>
  99 +<table/>
  100 +<timeout_days/>
  101 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STEPNAME</id><enabled>Y</enabled><name>STEPNAME</name></field><field><id>STEP_COPY</id><enabled>Y</enabled><name>STEP_COPY</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>LOG_FIELD</id><enabled>N</enabled><name>LOG_FIELD</name></field></step-log-table>
  102 +<metrics-log-table><connection/>
  103 +<schema/>
  104 +<table/>
  105 +<timeout_days/>
  106 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>METRICS_DATE</id><enabled>Y</enabled><name>METRICS_DATE</name></field><field><id>METRICS_CODE</id><enabled>Y</enabled><name>METRICS_CODE</name></field><field><id>METRICS_DESCRIPTION</id><enabled>Y</enabled><name>METRICS_DESCRIPTION</name></field><field><id>METRICS_SUBJECT</id><enabled>Y</enabled><name>METRICS_SUBJECT</name></field><field><id>METRICS_TYPE</id><enabled>Y</enabled><name>METRICS_TYPE</name></field><field><id>METRICS_VALUE</id><enabled>Y</enabled><name>METRICS_VALUE</name></field></metrics-log-table>
  107 + </log>
  108 + <maxdate>
  109 + <connection/>
  110 + <table/>
  111 + <field/>
  112 + <offset>0.0</offset>
  113 + <maxdiff>0.0</maxdiff>
  114 + </maxdate>
  115 + <size_rowset>10000</size_rowset>
  116 + <sleep_time_empty>50</sleep_time_empty>
  117 + <sleep_time_full>50</sleep_time_full>
  118 + <unique_connections>N</unique_connections>
  119 + <feedback_shown>Y</feedback_shown>
  120 + <feedback_size>50000</feedback_size>
  121 + <using_thread_priorities>Y</using_thread_priorities>
  122 + <shared_objects_file/>
  123 + <capture_step_performance>N</capture_step_performance>
  124 + <step_performance_capturing_delay>1000</step_performance_capturing_delay>
  125 + <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit>
  126 + <dependencies>
  127 + </dependencies>
  128 + <partitionschemas>
  129 + </partitionschemas>
  130 + <slaveservers>
  131 + </slaveservers>
  132 + <clusterschemas>
  133 + </clusterschemas>
  134 + <created_user>-</created_user>
  135 + <created_date>2016&#x2f;07&#x2f;01 09&#x3a;55&#x3a;32.649</created_date>
  136 + <modified_user>-</modified_user>
  137 + <modified_date>2016&#x2f;07&#x2f;01 09&#x3a;55&#x3a;32.649</modified_date>
  138 + <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</key_for_session_key>
  139 + <is_key_private>N</is_key_private>
  140 + </info>
  141 + <notepads>
  142 + </notepads>
  143 + <connection>
  144 + <name>192.168.168.1_jwgl_dw</name>
  145 + <server>192.168.168.1</server>
  146 + <type>ORACLE</type>
  147 + <access>Native</access>
  148 + <database>orcl</database>
  149 + <port>1521</port>
  150 + <username>jwgl_dw</username>
  151 + <password>Encrypted 2be98afc86aa7f2e4cb13b977d2adabcd</password>
  152 + <servername/>
  153 + <data_tablespace/>
  154 + <index_tablespace/>
  155 + <attributes>
  156 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  157 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  158 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  159 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  160 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  161 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  162 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  163 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  164 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  165 + </attributes>
  166 + </connection>
  167 + <connection>
  168 + <name>bus_control_variable</name>
  169 + <server>&#x24;&#x7b;v_db_ip&#x7d;</server>
  170 + <type>MYSQL</type>
  171 + <access>Native</access>
  172 + <database>&#x24;&#x7b;v_db_dname&#x7d;</database>
  173 + <port>3306</port>
  174 + <username>&#x24;&#x7b;v_db_uname&#x7d;</username>
  175 + <password>&#x24;&#x7b;v_db_pwd&#x7d;</password>
  176 + <servername/>
  177 + <data_tablespace/>
  178 + <index_tablespace/>
  179 + <attributes>
  180 + <attribute><code>EXTRA_OPTION_MYSQL.characterEncoding</code><attribute>utf8</attribute></attribute>
  181 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  182 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  183 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  184 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  185 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  186 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  187 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  188 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  189 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  190 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  191 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  192 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  193 + </attributes>
  194 + </connection>
  195 + <connection>
  196 + <name>bus_control_&#x516c;&#x53f8;_201</name>
  197 + <server>localhost</server>
  198 + <type>MYSQL</type>
  199 + <access>Native</access>
  200 + <database>control</database>
  201 + <port>3306</port>
  202 + <username>root</username>
  203 + <password>Encrypted </password>
  204 + <servername/>
  205 + <data_tablespace/>
  206 + <index_tablespace/>
  207 + <attributes>
  208 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  209 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  210 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  211 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  212 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  213 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  214 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  215 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  216 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  217 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  218 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  219 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  220 + </attributes>
  221 + </connection>
  222 + <connection>
  223 + <name>bus_control_&#x672c;&#x673a;</name>
  224 + <server>localhost</server>
  225 + <type>MYSQL</type>
  226 + <access>Native</access>
  227 + <database>control</database>
  228 + <port>3306</port>
  229 + <username>root</username>
  230 + <password>Encrypted </password>
  231 + <servername/>
  232 + <data_tablespace/>
  233 + <index_tablespace/>
  234 + <attributes>
  235 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  236 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  237 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  238 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  239 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  240 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  241 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  242 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  243 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  244 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  245 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  246 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  247 + </attributes>
  248 + </connection>
  249 + <connection>
  250 + <name>xlab_mysql_youle</name>
  251 + <server>101.231.124.8</server>
  252 + <type>MYSQL</type>
  253 + <access>Native</access>
  254 + <database>xlab_youle</database>
  255 + <port>45687</port>
  256 + <username>xlab-youle</username>
  257 + <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password>
  258 + <servername/>
  259 + <data_tablespace/>
  260 + <index_tablespace/>
  261 + <attributes>
  262 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  263 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  264 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  265 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  266 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  267 + <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute>
  268 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  269 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  270 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  271 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  272 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  273 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  274 + </attributes>
  275 + </connection>
  276 + <connection>
  277 + <name>xlab_mysql_youle&#xff08;&#x672c;&#x673a;&#xff09;</name>
  278 + <server>localhost</server>
  279 + <type>MYSQL</type>
  280 + <access>Native</access>
  281 + <database>xlab_youle</database>
  282 + <port>3306</port>
  283 + <username>root</username>
  284 + <password>Encrypted </password>
  285 + <servername/>
  286 + <data_tablespace/>
  287 + <index_tablespace/>
  288 + <attributes>
  289 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  290 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  291 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  292 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  293 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  294 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  295 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  296 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  297 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  298 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  299 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  300 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  301 + </attributes>
  302 + </connection>
  303 + <connection>
  304 + <name>xlab_youle</name>
  305 + <server/>
  306 + <type>MYSQL</type>
  307 + <access>JNDI</access>
  308 + <database>xlab_youle</database>
  309 + <port>1521</port>
  310 + <username/>
  311 + <password>Encrypted </password>
  312 + <servername/>
  313 + <data_tablespace/>
  314 + <index_tablespace/>
  315 + <attributes>
  316 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  317 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  318 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  319 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  320 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  321 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  322 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  323 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  324 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  325 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  326 + </attributes>
  327 + </connection>
  328 + <order>
  329 + <hop> <from>&#x83b7;&#x53d6;excel&#x6587;&#x4ef6;&#x540d;</from><to>ETL&#x5143;&#x6570;&#x636e;&#x6ce8;&#x5165;</to><enabled>Y</enabled> </hop>
  330 + <hop> <from>&#x83b7;&#x53d6;excel&#x5b57;&#x6bb5;&#x540d;&#x5b57;&#x7b26;&#x4e32;</from><to>&#x9017;&#x53f7;&#x5207;&#x5206;&#x6210;&#x5b57;&#x6bb5;&#x540d;</to><enabled>Y</enabled> </hop>
  331 + <hop> <from>&#x9017;&#x53f7;&#x5207;&#x5206;&#x6210;&#x5b57;&#x6bb5;&#x540d;</from><to>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
  332 + <hop> <from>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</from><to>ETL&#x5143;&#x6570;&#x636e;&#x6ce8;&#x5165;</to><enabled>Y</enabled> </hop>
  333 + <hop> <from>&#x83b7;&#x53d6;normalize&#x5b57;&#x6bb5;&#x540d;&#x5b57;&#x7b26;&#x4e32;</from><to>&#x9017;&#x53f7;&#x5207;&#x5206;&#x6210;&#x5b57;&#x6bb5;&#x540d; 2</to><enabled>Y</enabled> </hop>
  334 + <hop> <from>&#x9017;&#x53f7;&#x5207;&#x5206;&#x6210;&#x5b57;&#x6bb5;&#x540d; 2</from><to>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
  335 + <hop> <from>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</from><to>ETL&#x5143;&#x6570;&#x636e;&#x6ce8;&#x5165;</to><enabled>Y</enabled> </hop>
  336 + <hop> <from>&#x83b7;&#x53d6;&#x7ebf;&#x8def;&#x540d;&#x79f0;</from><to>&#x589e;&#x52a0;&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata</to><enabled>Y</enabled> </hop>
  337 + <hop> <from>&#x589e;&#x52a0;&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata</from><to>&#x66ff;&#x6362;&#x7ebf;&#x8def;&#x540d;&#x79f0;</to><enabled>Y</enabled> </hop>
  338 + <hop> <from>&#x66ff;&#x6362;&#x7ebf;&#x8def;&#x540d;&#x79f0;</from><to>&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</to><enabled>Y</enabled> </hop>
  339 + <hop> <from>&#x589e;&#x52a0;&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata</from><to>&#x66ff;&#x6362;&#x505c;&#x8f66;&#x5382;&#x540d;&#x5b57; </to><enabled>Y</enabled> </hop>
  340 + <hop> <from>&#x66ff;&#x6362;&#x505c;&#x8f66;&#x5382;&#x540d;&#x5b57; </from><to>&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</to><enabled>Y</enabled> </hop>
  341 + <hop> <from>&#x83b7;&#x53d6;&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;</from><to>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;metadata</to><enabled>Y</enabled> </hop>
  342 + <hop> <from>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;metadata</from><to>&#x66ff;&#x6362;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;</to><enabled>Y</enabled> </hop>
  343 + <hop> <from>&#x66ff;&#x6362;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;</from><to>&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</to><enabled>Y</enabled> </hop>
  344 + <hop> <from>&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</from><to>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</to><enabled>Y</enabled> </hop>
  345 + <hop> <from>&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</from><to>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</to><enabled>Y</enabled> </hop>
  346 + <hop> <from>&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</from><to>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</to><enabled>Y</enabled> </hop>
  347 + <hop> <from>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</from><to>ETL&#x5143;&#x6570;&#x636e;&#x6ce8;&#x5165;</to><enabled>Y</enabled> </hop>
  348 + <hop> <from>&#x83b7;&#x53d6;&#x65f6;&#x523b;&#x8868;id</from><to>&#x5220;&#x9664;&#x4e4b;&#x524d;&#x7684;&#x660e;&#x7ec6;&#x4fe1;&#x606f;</to><enabled>Y</enabled> </hop>
  349 + <hop> <from>&#x83b7;&#x53d6;&#x7ebf;&#x8def;&#x6807;&#x51c6;id</from><to>&#x505c;&#x8f66;&#x573a;&#x7f16;&#x7801;</to><enabled>Y</enabled> </hop>
  350 + <hop> <from>&#x505c;&#x8f66;&#x573a;&#x7f16;&#x7801;</from><to>&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;</to><enabled>Y</enabled> </hop>
  351 + <hop> <from>&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;</from><to>&#x589e;&#x52a0;&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata</to><enabled>Y</enabled> </hop>
  352 + <hop> <from>&#x589e;&#x52a0;&#x7ad9;&#x70b9;&#x8def;&#x7531;&#x7248;&#x672c; metadata</from><to>&#x66ff;&#x6362;&#x7ad9;&#x70b9;&#x8def;&#x7531;&#x7248;&#x672c;</to><enabled>Y</enabled> </hop>
  353 + <hop> <from>&#x66ff;&#x6362;&#x7ad9;&#x70b9;&#x8def;&#x7531;&#x7248;&#x672c;</from><to>&#x7ad9;&#x70b9;&#x8def;&#x7531;&#x7248;&#x672c;metadata&#x5b57;&#x6bb5;</to><enabled>Y</enabled> </hop>
  354 + <hop> <from>&#x83b7;&#x53d6;&#x7ad9;&#x70b9;&#x8def;&#x7531;version</from><to>&#x589e;&#x52a0;&#x7ad9;&#x70b9;&#x8def;&#x7531;&#x7248;&#x672c; metadata</to><enabled>Y</enabled> </hop>
  355 + <hop> <from>&#x7ad9;&#x70b9;&#x8def;&#x7531;&#x7248;&#x672c;metadata&#x5b57;&#x6bb5;</from><to>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</to><enabled>Y</enabled> </hop>
  356 + </order>
  357 + <step>
  358 + <name>ETL&#x5143;&#x6570;&#x636e;&#x6ce8;&#x5165;</name>
  359 + <type>MetaInject</type>
  360 + <description/>
  361 + <distribute>Y</distribute>
  362 + <custom_distribution/>
  363 + <copies>1</copies>
  364 + <partitioning>
  365 + <method>none</method>
  366 + <schema_name/>
  367 + </partitioning>
  368 + <specification_method>filename</specification_method>
  369 + <trans_object_id/>
  370 + <trans_name/>
  371 + <filename>&#x24;&#x7b;injectktrfile&#x7d;</filename>
  372 + <directory_path/>
  373 + <source_step/>
  374 + <source_output_fields> </source_output_fields> <target_file/>
  375 + <no_execution>N</no_execution>
  376 + <stream_source_step/>
  377 + <stream_target_step/>
  378 + <mappings> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>
  379 + <target_attribute_key>FORMAT</target_attribute_key>
  380 + <target_detail>Y</target_detail>
  381 + <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>
  382 + <source_field>format</source_field>
  383 + </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>
  384 + <target_attribute_key>REPEAT</target_attribute_key>
  385 + <target_detail>Y</target_detail>
  386 + <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>
  387 + <source_field>repeat</source_field>
  388 + </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>
  389 + <target_attribute_key>TRIM_TYPE</target_attribute_key>
  390 + <target_detail>Y</target_detail>
  391 + <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>
  392 + <source_field>trim_type</source_field>
  393 + </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>
  394 + <target_attribute_key>FILENAME</target_attribute_key>
  395 + <target_detail>Y</target_detail>
  396 + <source_step>&#x83b7;&#x53d6;excel&#x6587;&#x4ef6;&#x540d;</source_step>
  397 + <source_field>filepath_</source_field>
  398 + </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>
  399 + <target_attribute_key>PRECISION</target_attribute_key>
  400 + <target_detail>Y</target_detail>
  401 + <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>
  402 + <source_field>precision</source_field>
  403 + </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>
  404 + <target_attribute_key>TYPE</target_attribute_key>
  405 + <target_detail>Y</target_detail>
  406 + <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>
  407 + <source_field>type</source_field>
  408 + </mapping> <mapping> <target_step_name>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;&#xff0c;&#x7ebf;&#x8def;&#x540d;&#x5b57;&#xff0c;&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</target_step_name>
  409 + <target_attribute_key>DATA_VALUE</target_attribute_key>
  410 + <target_detail>Y</target_detail>
  411 + <source_step>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</source_step>
  412 + <source_field>col_value</source_field>
  413 + </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>
  414 + <target_attribute_key>LENGTH</target_attribute_key>
  415 + <target_detail>Y</target_detail>
  416 + <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>
  417 + <source_field>length</source_field>
  418 + </mapping> <mapping> <target_step_name>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;&#xff0c;&#x7ebf;&#x8def;&#x540d;&#x5b57;&#xff0c;&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</target_step_name>
  419 + <target_attribute_key>TYPE</target_attribute_key>
  420 + <target_detail>Y</target_detail>
  421 + <source_step>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</source_step>
  422 + <source_field>col_type</source_field>
  423 + </mapping> <mapping> <target_step_name>&#x884c;&#x8f6c;&#x5217;</target_step_name>
  424 + <target_attribute_key>NAME</target_attribute_key>
  425 + <target_detail>Y</target_detail>
  426 + <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c; 2</source_step>
  427 + <source_field>fieldName</source_field>
  428 + </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>
  429 + <target_attribute_key>NAME</target_attribute_key>
  430 + <target_detail>Y</target_detail>
  431 + <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>
  432 + <source_field>fieldname</source_field>
  433 + </mapping> <mapping> <target_step_name>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</target_step_name>
  434 + <target_attribute_key>NAME</target_attribute_key>
  435 + <target_detail>Y</target_detail>
  436 + <source_step>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</source_step>
  437 + <source_field>nfieldname</source_field>
  438 + </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>
  439 + <target_attribute_key>LENGTH</target_attribute_key>
  440 + <target_detail>Y</target_detail>
  441 + <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>
  442 + <source_field>length</source_field>
  443 + </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>
  444 + <target_attribute_key>SHEET_NAME</target_attribute_key>
  445 + <target_detail>Y</target_detail>
  446 + <source_step>&#x83b7;&#x53d6;excel&#x6587;&#x4ef6;&#x540d;</source_step>
  447 + <source_field>sheetname_</source_field>
  448 + </mapping> <mapping> <target_step_name>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;&#xff0c;&#x7ebf;&#x8def;&#x540d;&#x5b57;&#xff0c;&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</target_step_name>
  449 + <target_attribute_key>NAME</target_attribute_key>
  450 + <target_detail>Y</target_detail>
  451 + <source_step>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</source_step>
  452 + <source_field>col_name</source_field>
  453 + </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>
  454 + <target_attribute_key>TYPE</target_attribute_key>
  455 + <target_detail>Y</target_detail>
  456 + <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>
  457 + <source_field>fieldtype</source_field>
  458 + </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>
  459 + <target_attribute_key>NAME</target_attribute_key>
  460 + <target_detail>Y</target_detail>
  461 + <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>
  462 + <source_field>fieldName</source_field>
  463 + </mapping> <mapping> <target_step_name>&#x884c;&#x8f6c;&#x5217;</target_step_name>
  464 + <target_attribute_key>VALUE</target_attribute_key>
  465 + <target_detail>Y</target_detail>
  466 + <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c; 2</source_step>
  467 + <source_field>fieldName</source_field>
  468 + </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>
  469 + <target_attribute_key>TRIM_TYPE</target_attribute_key>
  470 + <target_detail>Y</target_detail>
  471 + <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>
  472 + <source_field>trim_type</source_field>
  473 + </mapping> <mapping> <target_step_name>&#x884c;&#x8f6c;&#x5217;</target_step_name>
  474 + <target_attribute_key>NORMALISED</target_attribute_key>
  475 + <target_detail>Y</target_detail>
  476 + <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c; 2</source_step>
  477 + <source_field>value</source_field>
  478 + </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>
  479 + <target_attribute_key>REPEAT</target_attribute_key>
  480 + <target_detail>Y</target_detail>
  481 + <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>
  482 + <source_field>repeat</source_field>
  483 + </mapping> <mapping> <target_step_name>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</target_step_name>
  484 + <target_attribute_key>NORMALISED</target_attribute_key>
  485 + <target_detail>Y</target_detail>
  486 + <source_step>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</source_step>
  487 + <source_field>valuefield</source_field>
  488 + </mapping> <mapping> <target_step_name>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</target_step_name>
  489 + <target_attribute_key>VALUE</target_attribute_key>
  490 + <target_detail>Y</target_detail>
  491 + <source_step>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</source_step>
  492 + <source_field>nfieldname</source_field>
  493 + </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>
  494 + <target_attribute_key>FORMAT</target_attribute_key>
  495 + <target_detail>Y</target_detail>
  496 + <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>
  497 + <source_field>format</source_field>
  498 + </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>
  499 + <target_attribute_key>PRECISION</target_attribute_key>
  500 + <target_detail>Y</target_detail>
  501 + <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>
  502 + <source_field>precision</source_field>
  503 + </mapping> </mappings> <cluster_schema/>
  504 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  505 + <xloc>876</xloc>
  506 + <yloc>167</yloc>
  507 + <draw>Y</draw>
  508 + </GUI>
  509 + </step>
  510 +
  511 + <step>
  512 + <name>&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;</name>
  513 + <type>DBLookup</type>
  514 + <description/>
  515 + <distribute>Y</distribute>
  516 + <custom_distribution/>
  517 + <copies>1</copies>
  518 + <partitioning>
  519 + <method>none</method>
  520 + <schema_name/>
  521 + </partitioning>
  522 + <connection>bus_control_variable</connection>
  523 + <cache>N</cache>
  524 + <cache_load_all>N</cache_load_all>
  525 + <cache_size>0</cache_size>
  526 + <lookup>
  527 + <schema/>
  528 + <table>bsth_c_car_park</table>
  529 + <orderby/>
  530 + <fail_on_multiple>N</fail_on_multiple>
  531 + <eat_row_on_failure>N</eat_row_on_failure>
  532 + <key>
  533 + <name>car_park</name>
  534 + <field>park_code</field>
  535 + <condition>&#x3d;</condition>
  536 + <name2/>
  537 + </key>
  538 + <value>
  539 + <name>park_name</name>
  540 + <rename>tccname_</rename>
  541 + <default/>
  542 + <type>String</type>
  543 + </value>
  544 + </lookup>
  545 + <cluster_schema/>
  546 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  547 + <xloc>319</xloc>
  548 + <yloc>468</yloc>
  549 + <draw>Y</draw>
  550 + </GUI>
  551 + </step>
  552 +
  553 + <step>
  554 + <name>&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</name>
  555 + <type>SelectValues</type>
  556 + <description/>
  557 + <distribute>Y</distribute>
  558 + <custom_distribution/>
  559 + <copies>1</copies>
  560 + <partitioning>
  561 + <method>none</method>
  562 + <schema_name/>
  563 + </partitioning>
  564 + <fields> <field> <name>col_name</name>
  565 + <rename/>
  566 + <length>-2</length>
  567 + <precision>-2</precision>
  568 + </field> <field> <name>col_type</name>
  569 + <rename/>
  570 + <length>-2</length>
  571 + <precision>-2</precision>
  572 + </field> <field> <name>col_value</name>
  573 + <rename/>
  574 + <length>-2</length>
  575 + <precision>-2</precision>
  576 + </field> <select_unspecified>N</select_unspecified>
  577 + </fields> <cluster_schema/>
  578 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  579 + <xloc>743</xloc>
  580 + <yloc>470</yloc>
  581 + <draw>Y</draw>
  582 + </GUI>
  583 + </step>
  584 +
  585 + <step>
  586 + <name>&#x505c;&#x8f66;&#x573a;&#x7f16;&#x7801;</name>
  587 + <type>DBLookup</type>
  588 + <description/>
  589 + <distribute>Y</distribute>
  590 + <custom_distribution/>
  591 + <copies>1</copies>
  592 + <partitioning>
  593 + <method>none</method>
  594 + <schema_name/>
  595 + </partitioning>
  596 + <connection>bus_control_variable</connection>
  597 + <cache>N</cache>
  598 + <cache_load_all>N</cache_load_all>
  599 + <cache_size>0</cache_size>
  600 + <lookup>
  601 + <schema/>
  602 + <table>bsth_c_line_information</table>
  603 + <orderby/>
  604 + <fail_on_multiple>N</fail_on_multiple>
  605 + <eat_row_on_failure>N</eat_row_on_failure>
  606 + <key>
  607 + <name>lineinfoid_</name>
  608 + <field>id</field>
  609 + <condition>&#x3d;</condition>
  610 + <name2/>
  611 + </key>
  612 + <value>
  613 + <name>car_park</name>
  614 + <rename>car_park</rename>
  615 + <default/>
  616 + <type>String</type>
  617 + </value>
  618 + </lookup>
  619 + <cluster_schema/>
  620 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  621 + <xloc>182</xloc>
  622 + <yloc>467</yloc>
  623 + <draw>Y</draw>
  624 + </GUI>
  625 + </step>
  626 +
  627 + <step>
  628 + <name>&#x5220;&#x9664;&#x4e4b;&#x524d;&#x7684;&#x660e;&#x7ec6;&#x4fe1;&#x606f;</name>
  629 + <type>ExecSQL</type>
  630 + <description/>
  631 + <distribute>Y</distribute>
  632 + <custom_distribution/>
  633 + <copies>1</copies>
  634 + <partitioning>
  635 + <method>none</method>
  636 + <schema_name/>
  637 + </partitioning>
  638 + <connection>bus_control_variable</connection>
  639 + <execute_each_row>Y</execute_each_row>
  640 + <single_statement>N</single_statement>
  641 + <replace_variables>N</replace_variables>
  642 + <quoteString>N</quoteString>
  643 + <sql>delete from bsth_c_s_ttinfo_detail where ttinfo &#x3d; &#x3f;</sql>
  644 + <set_params>N</set_params>
  645 + <insert_field/>
  646 + <update_field/>
  647 + <delete_field/>
  648 + <read_field/>
  649 + <arguments>
  650 + <argument><name>ttid_</name></argument>
  651 + </arguments>
  652 + <cluster_schema/>
  653 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  654 + <xloc>808</xloc>
  655 + <yloc>16</yloc>
  656 + <draw>Y</draw>
  657 + </GUI>
  658 + </step>
  659 +
  660 + <step>
  661 + <name>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</name>
  662 + <type>Dummy</type>
  663 + <description/>
  664 + <distribute>Y</distribute>
  665 + <custom_distribution/>
  666 + <copies>1</copies>
  667 + <partitioning>
  668 + <method>none</method>
  669 + <schema_name/>
  670 + </partitioning>
  671 + <cluster_schema/>
  672 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  673 + <xloc>883</xloc>
  674 + <yloc>373</yloc>
  675 + <draw>Y</draw>
  676 + </GUI>
  677 + </step>
  678 +
  679 + <step>
  680 + <name>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</name>
  681 + <type>Constant</type>
  682 + <description/>
  683 + <distribute>Y</distribute>
  684 + <custom_distribution/>
  685 + <copies>1</copies>
  686 + <partitioning>
  687 + <method>none</method>
  688 + <schema_name/>
  689 + </partitioning>
  690 + <fields>
  691 + <field>
  692 + <name>fieldtype</name>
  693 + <type>String</type>
  694 + <format/>
  695 + <currency/>
  696 + <decimal/>
  697 + <group/>
  698 + <nullif>String</nullif>
  699 + <length>-1</length>
  700 + <precision>-1</precision>
  701 + <set_empty_string>N</set_empty_string>
  702 + </field>
  703 + <field>
  704 + <name>length</name>
  705 + <type>String</type>
  706 + <format/>
  707 + <currency/>
  708 + <decimal/>
  709 + <group/>
  710 + <nullif>-1</nullif>
  711 + <length>-1</length>
  712 + <precision>-1</precision>
  713 + <set_empty_string>N</set_empty_string>
  714 + </field>
  715 + <field>
  716 + <name>precision</name>
  717 + <type>String</type>
  718 + <format/>
  719 + <currency/>
  720 + <decimal/>
  721 + <group/>
  722 + <nullif>-1</nullif>
  723 + <length>-1</length>
  724 + <precision>-1</precision>
  725 + <set_empty_string>N</set_empty_string>
  726 + </field>
  727 + <field>
  728 + <name>trim_type</name>
  729 + <type>String</type>
  730 + <format/>
  731 + <currency/>
  732 + <decimal/>
  733 + <group/>
  734 + <nullif>none</nullif>
  735 + <length>-1</length>
  736 + <precision>-1</precision>
  737 + <set_empty_string>N</set_empty_string>
  738 + </field>
  739 + <field>
  740 + <name>repeat</name>
  741 + <type>String</type>
  742 + <format/>
  743 + <currency/>
  744 + <decimal/>
  745 + <group/>
  746 + <nullif>N</nullif>
  747 + <length>-1</length>
  748 + <precision>-1</precision>
  749 + <set_empty_string>N</set_empty_string>
  750 + </field>
  751 + <field>
  752 + <name>format</name>
  753 + <type>String</type>
  754 + <format/>
  755 + <currency/>
  756 + <decimal/>
  757 + <group/>
  758 + <nullif>&#x23;</nullif>
  759 + <length>-1</length>
  760 + <precision>-1</precision>
  761 + <set_empty_string>N</set_empty_string>
  762 + </field>
  763 + </fields>
  764 + <cluster_schema/>
  765 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  766 + <xloc>622</xloc>
  767 + <yloc>162</yloc>
  768 + <draw>Y</draw>
  769 + </GUI>
  770 + </step>
  771 +
  772 + <step>
  773 + <name>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</name>
  774 + <type>Constant</type>
  775 + <description/>
  776 + <distribute>Y</distribute>
  777 + <custom_distribution/>
  778 + <copies>1</copies>
  779 + <partitioning>
  780 + <method>none</method>
  781 + <schema_name/>
  782 + </partitioning>
  783 + <fields>
  784 + <field>
  785 + <name>valuefield</name>
  786 + <type>String</type>
  787 + <format/>
  788 + <currency/>
  789 + <decimal/>
  790 + <group/>
  791 + <nullif>&#x53d1;&#x8f66;&#x65f6;&#x95f4;</nullif>
  792 + <length>-1</length>
  793 + <precision>-1</precision>
  794 + <set_empty_string>N</set_empty_string>
  795 + </field>
  796 + </fields>
  797 + <cluster_schema/>
  798 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  799 + <xloc>628</xloc>
  800 + <yloc>247</yloc>
  801 + <draw>Y</draw>
  802 + </GUI>
  803 + </step>
  804 +
  805 + <step>
  806 + <name>&#x589e;&#x52a0;&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata</name>
  807 + <type>Constant</type>
  808 + <description/>
  809 + <distribute>Y</distribute>
  810 + <custom_distribution/>
  811 + <copies>1</copies>
  812 + <partitioning>
  813 + <method>none</method>
  814 + <schema_name/>
  815 + </partitioning>
  816 + <fields>
  817 + <field>
  818 + <name>col_name</name>
  819 + <type>String</type>
  820 + <format/>
  821 + <currency/>
  822 + <decimal/>
  823 + <group/>
  824 + <nullif>tccname_</nullif>
  825 + <length>-1</length>
  826 + <precision>-1</precision>
  827 + <set_empty_string>N</set_empty_string>
  828 + </field>
  829 + <field>
  830 + <name>col_type</name>
  831 + <type>String</type>
  832 + <format/>
  833 + <currency/>
  834 + <decimal/>
  835 + <group/>
  836 + <nullif>String</nullif>
  837 + <length>-1</length>
  838 + <precision>-1</precision>
  839 + <set_empty_string>N</set_empty_string>
  840 + </field>
  841 + <field>
  842 + <name>col_value</name>
  843 + <type>String</type>
  844 + <format/>
  845 + <currency/>
  846 + <decimal/>
  847 + <group/>
  848 + <nullif>replace</nullif>
  849 + <length>-1</length>
  850 + <precision>-1</precision>
  851 + <set_empty_string>N</set_empty_string>
  852 + </field>
  853 + </fields>
  854 + <cluster_schema/>
  855 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  856 + <xloc>461</xloc>
  857 + <yloc>469</yloc>
  858 + <draw>Y</draw>
  859 + </GUI>
  860 + </step>
  861 +
  862 + <step>
  863 + <name>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;metadata</name>
  864 + <type>Constant</type>
  865 + <description/>
  866 + <distribute>Y</distribute>
  867 + <custom_distribution/>
  868 + <copies>1</copies>
  869 + <partitioning>
  870 + <method>none</method>
  871 + <schema_name/>
  872 + </partitioning>
  873 + <fields>
  874 + <field>
  875 + <name>col_name</name>
  876 + <type>String</type>
  877 + <format/>
  878 + <currency/>
  879 + <decimal/>
  880 + <group/>
  881 + <nullif>ttinfoname_</nullif>
  882 + <length>-1</length>
  883 + <precision>-1</precision>
  884 + <set_empty_string>N</set_empty_string>
  885 + </field>
  886 + <field>
  887 + <name>col_type</name>
  888 + <type>String</type>
  889 + <format/>
  890 + <currency/>
  891 + <decimal/>
  892 + <group/>
  893 + <nullif>String</nullif>
  894 + <length>-1</length>
  895 + <precision>-1</precision>
  896 + <set_empty_string>N</set_empty_string>
  897 + </field>
  898 + <field>
  899 + <name>col_value</name>
  900 + <type>String</type>
  901 + <format/>
  902 + <currency/>
  903 + <decimal/>
  904 + <group/>
  905 + <nullif>replace</nullif>
  906 + <length>-1</length>
  907 + <precision>-1</precision>
  908 + <set_empty_string>N</set_empty_string>
  909 + </field>
  910 + </fields>
  911 + <cluster_schema/>
  912 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  913 + <xloc>608</xloc>
  914 + <yloc>601</yloc>
  915 + <draw>Y</draw>
  916 + </GUI>
  917 + </step>
  918 +
  919 + <step>
  920 + <name>&#x589e;&#x52a0;&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata</name>
  921 + <type>Constant</type>
  922 + <description/>
  923 + <distribute>Y</distribute>
  924 + <custom_distribution/>
  925 + <copies>1</copies>
  926 + <partitioning>
  927 + <method>none</method>
  928 + <schema_name/>
  929 + </partitioning>
  930 + <fields>
  931 + <field>
  932 + <name>col_name</name>
  933 + <type>String</type>
  934 + <format/>
  935 + <currency/>
  936 + <decimal/>
  937 + <group/>
  938 + <nullif>xlname_</nullif>
  939 + <length>-1</length>
  940 + <precision>-1</precision>
  941 + <set_empty_string>N</set_empty_string>
  942 + </field>
  943 + <field>
  944 + <name>col_type</name>
  945 + <type>String</type>
  946 + <format/>
  947 + <currency/>
  948 + <decimal/>
  949 + <group/>
  950 + <nullif>String</nullif>
  951 + <length>-1</length>
  952 + <precision>-1</precision>
  953 + <set_empty_string>N</set_empty_string>
  954 + </field>
  955 + <field>
  956 + <name>col_value</name>
  957 + <type>String</type>
  958 + <format/>
  959 + <currency/>
  960 + <decimal/>
  961 + <group/>
  962 + <nullif>replace</nullif>
  963 + <length>-1</length>
  964 + <precision>-1</precision>
  965 + <set_empty_string>N</set_empty_string>
  966 + </field>
  967 + </fields>
  968 + <cluster_schema/>
  969 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  970 + <xloc>383</xloc>
  971 + <yloc>341</yloc>
  972 + <draw>Y</draw>
  973 + </GUI>
  974 + </step>
  975 +
  976 + <step>
  977 + <name>&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</name>
  978 + <type>SelectValues</type>
  979 + <description/>
  980 + <distribute>Y</distribute>
  981 + <custom_distribution/>
  982 + <copies>1</copies>
  983 + <partitioning>
  984 + <method>none</method>
  985 + <schema_name/>
  986 + </partitioning>
  987 + <fields> <field> <name>col_name</name>
  988 + <rename/>
  989 + <length>-2</length>
  990 + <precision>-2</precision>
  991 + </field> <field> <name>col_type</name>
  992 + <rename/>
  993 + <length>-2</length>
  994 + <precision>-2</precision>
  995 + </field> <field> <name>col_value</name>
  996 + <rename/>
  997 + <length>-2</length>
  998 + <precision>-2</precision>
  999 + </field> <select_unspecified>N</select_unspecified>
  1000 + </fields> <cluster_schema/>
  1001 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1002 + <xloc>888</xloc>
  1003 + <yloc>601</yloc>
  1004 + <draw>Y</draw>
  1005 + </GUI>
  1006 + </step>
  1007 +
  1008 + <step>
  1009 + <name>&#x66ff;&#x6362;&#x505c;&#x8f66;&#x5382;&#x540d;&#x5b57; </name>
  1010 + <type>SetValueField</type>
  1011 + <description/>
  1012 + <distribute>Y</distribute>
  1013 + <custom_distribution/>
  1014 + <copies>1</copies>
  1015 + <partitioning>
  1016 + <method>none</method>
  1017 + <schema_name/>
  1018 + </partitioning>
  1019 + <fields>
  1020 + <field>
  1021 + <name>col_value</name>
  1022 + <replaceby>tccname_</replaceby>
  1023 + </field>
  1024 + </fields>
  1025 + <cluster_schema/>
  1026 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1027 + <xloc>598</xloc>
  1028 + <yloc>471</yloc>
  1029 + <draw>Y</draw>
  1030 + </GUI>
  1031 + </step>
  1032 +
  1033 + <step>
  1034 + <name>&#x66ff;&#x6362;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;</name>
  1035 + <type>SetValueField</type>
  1036 + <description/>
  1037 + <distribute>Y</distribute>
  1038 + <custom_distribution/>
  1039 + <copies>1</copies>
  1040 + <partitioning>
  1041 + <method>none</method>
  1042 + <schema_name/>
  1043 + </partitioning>
  1044 + <fields>
  1045 + <field>
  1046 + <name>col_value</name>
  1047 + <replaceby>ttinfoname_</replaceby>
  1048 + </field>
  1049 + </fields>
  1050 + <cluster_schema/>
  1051 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1052 + <xloc>746</xloc>
  1053 + <yloc>602</yloc>
  1054 + <draw>Y</draw>
  1055 + </GUI>
  1056 + </step>
  1057 +
  1058 + <step>
  1059 + <name>&#x66ff;&#x6362;&#x7ebf;&#x8def;&#x540d;&#x79f0;</name>
  1060 + <type>SetValueField</type>
  1061 + <description/>
  1062 + <distribute>Y</distribute>
  1063 + <custom_distribution/>
  1064 + <copies>1</copies>
  1065 + <partitioning>
  1066 + <method>none</method>
  1067 + <schema_name/>
  1068 + </partitioning>
  1069 + <fields>
  1070 + <field>
  1071 + <name>col_value</name>
  1072 + <replaceby>xlname_</replaceby>
  1073 + </field>
  1074 + </fields>
  1075 + <cluster_schema/>
  1076 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1077 + <xloc>521</xloc>
  1078 + <yloc>342</yloc>
  1079 + <draw>Y</draw>
  1080 + </GUI>
  1081 + </step>
  1082 +
  1083 + <step>
  1084 + <name>&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</name>
  1085 + <type>SelectValues</type>
  1086 + <description/>
  1087 + <distribute>Y</distribute>
  1088 + <custom_distribution/>
  1089 + <copies>1</copies>
  1090 + <partitioning>
  1091 + <method>none</method>
  1092 + <schema_name/>
  1093 + </partitioning>
  1094 + <fields> <field> <name>col_name</name>
  1095 + <rename/>
  1096 + <length>-2</length>
  1097 + <precision>-2</precision>
  1098 + </field> <field> <name>col_type</name>
  1099 + <rename/>
  1100 + <length>-2</length>
  1101 + <precision>-2</precision>
  1102 + </field> <field> <name>col_value</name>
  1103 + <rename/>
  1104 + <length>-2</length>
  1105 + <precision>-2</precision>
  1106 + </field> <select_unspecified>N</select_unspecified>
  1107 + </fields> <cluster_schema/>
  1108 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1109 + <xloc>668</xloc>
  1110 + <yloc>343</yloc>
  1111 + <draw>Y</draw>
  1112 + </GUI>
  1113 + </step>
  1114 +
  1115 + <step>
  1116 + <name>&#x83b7;&#x53d6;excel&#x5b57;&#x6bb5;&#x540d;&#x5b57;&#x7b26;&#x4e32;</name>
  1117 + <type>GetVariable</type>
  1118 + <description/>
  1119 + <distribute>Y</distribute>
  1120 + <custom_distribution/>
  1121 + <copies>1</copies>
  1122 + <partitioning>
  1123 + <method>none</method>
  1124 + <schema_name/>
  1125 + </partitioning>
  1126 + <fields>
  1127 + <field>
  1128 + <name>fieldnames</name>
  1129 + <variable>&#x24;&#x7b;excelfieldnames&#x7d;</variable>
  1130 + <type>String</type>
  1131 + <format/>
  1132 + <currency/>
  1133 + <decimal/>
  1134 + <group/>
  1135 + <length>-1</length>
  1136 + <precision>-1</precision>
  1137 + <trim_type>none</trim_type>
  1138 + </field>
  1139 + </fields>
  1140 + <cluster_schema/>
  1141 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1142 + <xloc>252</xloc>
  1143 + <yloc>153</yloc>
  1144 + <draw>Y</draw>
  1145 + </GUI>
  1146 + </step>
  1147 +
  1148 + <step>
  1149 + <name>&#x83b7;&#x53d6;excel&#x6587;&#x4ef6;&#x540d;</name>
  1150 + <type>GetVariable</type>
  1151 + <description/>
  1152 + <distribute>Y</distribute>
  1153 + <custom_distribution/>
  1154 + <copies>1</copies>
  1155 + <partitioning>
  1156 + <method>none</method>
  1157 + <schema_name/>
  1158 + </partitioning>
  1159 + <fields>
  1160 + <field>
  1161 + <name>filepath_</name>
  1162 + <variable>&#x24;&#x7b;filepath&#x7d;</variable>
  1163 + <type>String</type>
  1164 + <format/>
  1165 + <currency/>
  1166 + <decimal/>
  1167 + <group/>
  1168 + <length>-1</length>
  1169 + <precision>-1</precision>
  1170 + <trim_type>none</trim_type>
  1171 + </field>
  1172 + <field>
  1173 + <name>erroroutputdir_</name>
  1174 + <variable>&#x24;&#x7b;erroroutputdir&#x7d;</variable>
  1175 + <type>String</type>
  1176 + <format/>
  1177 + <currency/>
  1178 + <decimal/>
  1179 + <group/>
  1180 + <length>-1</length>
  1181 + <precision>-1</precision>
  1182 + <trim_type>none</trim_type>
  1183 + </field>
  1184 + <field>
  1185 + <name>sheetname_</name>
  1186 + <variable>&#x24;&#x7b;sheetname&#x7d;</variable>
  1187 + <type>String</type>
  1188 + <format/>
  1189 + <currency/>
  1190 + <decimal/>
  1191 + <group/>
  1192 + <length>-1</length>
  1193 + <precision>-1</precision>
  1194 + <trim_type>none</trim_type>
  1195 + </field>
  1196 + </fields>
  1197 + <cluster_schema/>
  1198 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1199 + <xloc>301</xloc>
  1200 + <yloc>52</yloc>
  1201 + <draw>Y</draw>
  1202 + </GUI>
  1203 + </step>
  1204 +
  1205 + <step>
  1206 + <name>&#x83b7;&#x53d6;normalize&#x5b57;&#x6bb5;&#x540d;&#x5b57;&#x7b26;&#x4e32;</name>
  1207 + <type>GetVariable</type>
  1208 + <description/>
  1209 + <distribute>Y</distribute>
  1210 + <custom_distribution/>
  1211 + <copies>1</copies>
  1212 + <partitioning>
  1213 + <method>none</method>
  1214 + <schema_name/>
  1215 + </partitioning>
  1216 + <fields>
  1217 + <field>
  1218 + <name>normalizefieldnames_</name>
  1219 + <variable>&#x24;&#x7b;normalizefieldnames&#x7d;</variable>
  1220 + <type>String</type>
  1221 + <format/>
  1222 + <currency/>
  1223 + <decimal/>
  1224 + <group/>
  1225 + <length>-1</length>
  1226 + <precision>-1</precision>
  1227 + <trim_type>none</trim_type>
  1228 + </field>
  1229 + </fields>
  1230 + <cluster_schema/>
  1231 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1232 + <xloc>261</xloc>
  1233 + <yloc>251</yloc>
  1234 + <draw>Y</draw>
  1235 + </GUI>
  1236 + </step>
  1237 +
  1238 + <step>
  1239 + <name>&#x83b7;&#x53d6;&#x65f6;&#x523b;&#x8868;id</name>
  1240 + <type>GetVariable</type>
  1241 + <description/>
  1242 + <distribute>Y</distribute>
  1243 + <custom_distribution/>
  1244 + <copies>1</copies>
  1245 + <partitioning>
  1246 + <method>none</method>
  1247 + <schema_name/>
  1248 + </partitioning>
  1249 + <fields>
  1250 + <field>
  1251 + <name>ttid_</name>
  1252 + <variable>&#x24;&#x7b;ttid&#x7d;</variable>
  1253 + <type>Integer</type>
  1254 + <format/>
  1255 + <currency/>
  1256 + <decimal/>
  1257 + <group/>
  1258 + <length>-1</length>
  1259 + <precision>-1</precision>
  1260 + <trim_type>none</trim_type>
  1261 + </field>
  1262 + </fields>
  1263 + <cluster_schema/>
  1264 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1265 + <xloc>608</xloc>
  1266 + <yloc>16</yloc>
  1267 + <draw>Y</draw>
  1268 + </GUI>
  1269 + </step>
  1270 +
  1271 + <step>
  1272 + <name>&#x83b7;&#x53d6;&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;</name>
  1273 + <type>GetVariable</type>
  1274 + <description/>
  1275 + <distribute>Y</distribute>
  1276 + <custom_distribution/>
  1277 + <copies>1</copies>
  1278 + <partitioning>
  1279 + <method>none</method>
  1280 + <schema_name/>
  1281 + </partitioning>
  1282 + <fields>
  1283 + <field>
  1284 + <name>ttinfoname_</name>
  1285 + <variable>&#x24;&#x7b;ttinfoname&#x7d;</variable>
  1286 + <type>String</type>
  1287 + <format/>
  1288 + <currency/>
  1289 + <decimal/>
  1290 + <group/>
  1291 + <length>-1</length>
  1292 + <precision>-1</precision>
  1293 + <trim_type>none</trim_type>
  1294 + </field>
  1295 + </fields>
  1296 + <cluster_schema/>
  1297 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1298 + <xloc>474</xloc>
  1299 + <yloc>601</yloc>
  1300 + <draw>Y</draw>
  1301 + </GUI>
  1302 + </step>
  1303 +
  1304 + <step>
  1305 + <name>&#x83b7;&#x53d6;&#x7ebf;&#x8def;&#x540d;&#x79f0;</name>
  1306 + <type>GetVariable</type>
  1307 + <description/>
  1308 + <distribute>Y</distribute>
  1309 + <custom_distribution/>
  1310 + <copies>1</copies>
  1311 + <partitioning>
  1312 + <method>none</method>
  1313 + <schema_name/>
  1314 + </partitioning>
  1315 + <fields>
  1316 + <field>
  1317 + <name>xlname_</name>
  1318 + <variable>&#x24;&#x7b;xlname&#x7d;</variable>
  1319 + <type>String</type>
  1320 + <format/>
  1321 + <currency/>
  1322 + <decimal/>
  1323 + <group/>
  1324 + <length>-1</length>
  1325 + <precision>-1</precision>
  1326 + <trim_type>none</trim_type>
  1327 + </field>
  1328 + </fields>
  1329 + <cluster_schema/>
  1330 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1331 + <xloc>184</xloc>
  1332 + <yloc>342</yloc>
  1333 + <draw>Y</draw>
  1334 + </GUI>
  1335 + </step>
  1336 +
  1337 + <step>
  1338 + <name>&#x83b7;&#x53d6;&#x7ebf;&#x8def;&#x6807;&#x51c6;id</name>
  1339 + <type>GetVariable</type>
  1340 + <description/>
  1341 + <distribute>Y</distribute>
  1342 + <custom_distribution/>
  1343 + <copies>1</copies>
  1344 + <partitioning>
  1345 + <method>none</method>
  1346 + <schema_name/>
  1347 + </partitioning>
  1348 + <fields>
  1349 + <field>
  1350 + <name>lineinfoid_</name>
  1351 + <variable>&#x24;&#x7b;lineinfoid&#x7d;</variable>
  1352 + <type>Integer</type>
  1353 + <format/>
  1354 + <currency/>
  1355 + <decimal/>
  1356 + <group/>
  1357 + <length>-1</length>
  1358 + <precision>-1</precision>
  1359 + <trim_type>none</trim_type>
  1360 + </field>
  1361 + </fields>
  1362 + <cluster_schema/>
  1363 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1364 + <xloc>74</xloc>
  1365 + <yloc>468</yloc>
  1366 + <draw>Y</draw>
  1367 + </GUI>
  1368 + </step>
  1369 +
  1370 + <step>
  1371 + <name>&#x9017;&#x53f7;&#x5207;&#x5206;&#x6210;&#x5b57;&#x6bb5;&#x540d;</name>
  1372 + <type>SplitFieldToRows3</type>
  1373 + <description/>
  1374 + <distribute>Y</distribute>
  1375 + <custom_distribution/>
  1376 + <copies>1</copies>
  1377 + <partitioning>
  1378 + <method>none</method>
  1379 + <schema_name/>
  1380 + </partitioning>
  1381 + <splitfield>fieldnames</splitfield>
  1382 + <delimiter>,</delimiter>
  1383 + <newfield>fieldname</newfield>
  1384 + <rownum>N</rownum>
  1385 + <rownum_field/>
  1386 + <resetrownumber>Y</resetrownumber>
  1387 + <delimiter_is_regex>N</delimiter_is_regex>
  1388 + <cluster_schema/>
  1389 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1390 + <xloc>442</xloc>
  1391 + <yloc>153</yloc>
  1392 + <draw>Y</draw>
  1393 + </GUI>
  1394 + </step>
  1395 +
  1396 + <step>
  1397 + <name>&#x9017;&#x53f7;&#x5207;&#x5206;&#x6210;&#x5b57;&#x6bb5;&#x540d; 2</name>
  1398 + <type>SplitFieldToRows3</type>
  1399 + <description/>
  1400 + <distribute>Y</distribute>
  1401 + <custom_distribution/>
  1402 + <copies>1</copies>
  1403 + <partitioning>
  1404 + <method>none</method>
  1405 + <schema_name/>
  1406 + </partitioning>
  1407 + <splitfield>normalizefieldnames_</splitfield>
  1408 + <delimiter>,</delimiter>
  1409 + <newfield>nfieldname</newfield>
  1410 + <rownum>N</rownum>
  1411 + <rownum_field/>
  1412 + <resetrownumber>Y</resetrownumber>
  1413 + <delimiter_is_regex>N</delimiter_is_regex>
  1414 + <cluster_schema/>
  1415 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1416 + <xloc>444</xloc>
  1417 + <yloc>247</yloc>
  1418 + <draw>Y</draw>
  1419 + </GUI>
  1420 + </step>
  1421 +
  1422 + <step>
  1423 + <name>&#x589e;&#x52a0;&#x7ad9;&#x70b9;&#x8def;&#x7531;&#x7248;&#x672c; metadata</name>
  1424 + <type>Constant</type>
  1425 + <description/>
  1426 + <distribute>Y</distribute>
  1427 + <custom_distribution/>
  1428 + <copies>1</copies>
  1429 + <partitioning>
  1430 + <method>none</method>
  1431 + <schema_name/>
  1432 + </partitioning>
  1433 + <fields>
  1434 + <field>
  1435 + <name>col_name</name>
  1436 + <type>String</type>
  1437 + <format/>
  1438 + <currency/>
  1439 + <decimal/>
  1440 + <group/>
  1441 + <nullif>zdlyversion_</nullif>
  1442 + <length>-1</length>
  1443 + <precision>-1</precision>
  1444 + <set_empty_string>N</set_empty_string>
  1445 + </field>
  1446 + <field>
  1447 + <name>col_type</name>
  1448 + <type>String</type>
  1449 + <format/>
  1450 + <currency/>
  1451 + <decimal/>
  1452 + <group/>
  1453 + <nullif>String</nullif>
  1454 + <length>-1</length>
  1455 + <precision>-1</precision>
  1456 + <set_empty_string>N</set_empty_string>
  1457 + </field>
  1458 + <field>
  1459 + <name>col_value</name>
  1460 + <type>String</type>
  1461 + <format/>
  1462 + <currency/>
  1463 + <decimal/>
  1464 + <group/>
  1465 + <nullif>replace</nullif>
  1466 + <length>-1</length>
  1467 + <precision>-1</precision>
  1468 + <set_empty_string>N</set_empty_string>
  1469 + </field>
  1470 + </fields>
  1471 + <cluster_schema/>
  1472 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1473 + <xloc>390</xloc>
  1474 + <yloc>532</yloc>
  1475 + <draw>Y</draw>
  1476 + </GUI>
  1477 + </step>
  1478 +
  1479 + <step>
  1480 + <name>&#x66ff;&#x6362;&#x7ad9;&#x70b9;&#x8def;&#x7531;&#x7248;&#x672c;</name>
  1481 + <type>SetValueField</type>
  1482 + <description/>
  1483 + <distribute>Y</distribute>
  1484 + <custom_distribution/>
  1485 + <copies>1</copies>
  1486 + <partitioning>
  1487 + <method>none</method>
  1488 + <schema_name/>
  1489 + </partitioning>
  1490 + <fields>
  1491 + <field>
  1492 + <name>col_value</name>
  1493 + <replaceby>zdlyversion_</replaceby>
  1494 + </field>
  1495 + </fields>
  1496 + <cluster_schema/>
  1497 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1498 + <xloc>594</xloc>
  1499 + <yloc>532</yloc>
  1500 + <draw>Y</draw>
  1501 + </GUI>
  1502 + </step>
  1503 +
  1504 + <step>
  1505 + <name>&#x7ad9;&#x70b9;&#x8def;&#x7531;&#x7248;&#x672c;metadata&#x5b57;&#x6bb5;</name>
  1506 + <type>SelectValues</type>
  1507 + <description/>
  1508 + <distribute>Y</distribute>
  1509 + <custom_distribution/>
  1510 + <copies>1</copies>
  1511 + <partitioning>
  1512 + <method>none</method>
  1513 + <schema_name/>
  1514 + </partitioning>
  1515 + <fields> <field> <name>col_name</name>
  1516 + <rename/>
  1517 + <length>-2</length>
  1518 + <precision>-2</precision>
  1519 + </field> <field> <name>col_type</name>
  1520 + <rename/>
  1521 + <length>-2</length>
  1522 + <precision>-2</precision>
  1523 + </field> <field> <name>col_value</name>
  1524 + <rename/>
  1525 + <length>-2</length>
  1526 + <precision>-2</precision>
  1527 + </field> <select_unspecified>N</select_unspecified>
  1528 + </fields> <cluster_schema/>
  1529 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1530 + <xloc>741</xloc>
  1531 + <yloc>533</yloc>
  1532 + <draw>Y</draw>
  1533 + </GUI>
  1534 + </step>
  1535 +
  1536 + <step>
  1537 + <name>&#x83b7;&#x53d6;&#x7ad9;&#x70b9;&#x8def;&#x7531;version</name>
  1538 + <type>GetVariable</type>
  1539 + <description/>
  1540 + <distribute>Y</distribute>
  1541 + <custom_distribution/>
  1542 + <copies>1</copies>
  1543 + <partitioning>
  1544 + <method>none</method>
  1545 + <schema_name/>
  1546 + </partitioning>
  1547 + <fields>
  1548 + <field>
  1549 + <name>zdlyversion_</name>
  1550 + <variable>&#x24;&#x7b;zdlyversion&#x7d;</variable>
  1551 + <type>String</type>
  1552 + <format/>
  1553 + <currency/>
  1554 + <decimal/>
  1555 + <group/>
  1556 + <length>-1</length>
  1557 + <precision>-1</precision>
  1558 + <trim_type>none</trim_type>
  1559 + </field>
  1560 + </fields>
  1561 + <cluster_schema/>
  1562 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1563 + <xloc>187</xloc>
  1564 + <yloc>534</yloc>
  1565 + <draw>Y</draw>
  1566 + </GUI>
  1567 + </step>
  1568 +
  1569 + <step_error_handling>
  1570 + </step_error_handling>
  1571 + <slave-step-copy-partition-distribution>
  1572 +</slave-step-copy-partition-distribution>
  1573 + <slave_transformation>N</slave_transformation>
  1574 +
  1575 +</transformation>
src/main/resources/static/pages/scheduleApp/module/common/main.js
@@ -80,6 +80,10 @@ ScheduleApp.factory(&#39;DataStore&#39;, [ @@ -80,6 +80,10 @@ ScheduleApp.factory(&#39;DataStore&#39;, [
80 {code: "12", name: "保养"}, 80 {code: "12", name: "保养"},
81 {code: "13", name: "缺人"}, 81 {code: "13", name: "缺人"},
82 {code: "14", name: "援外"} 82 {code: "14", name: "援外"}
  83 + ],
  84 + "zdlytype" : [ // 站点路由类型
  85 + {name: "当前版本", value: 1},
  86 + {name: "所有版本(待更新,当前,历史)", value: 2}
83 ] 87 ]
84 }; 88 };
85 89
src/main/resources/static/pages/scheduleApp/module/common/prj-common-directive.js
@@ -2409,159 +2409,158 @@ angular.module(&#39;ScheduleApp&#39;).directive(&#39;saDategroup&#39;, [ @@ -2409,159 +2409,158 @@ angular.module(&#39;ScheduleApp&#39;).directive(&#39;saDategroup&#39;, [
2409 ]); 2409 ]);
2410 2410
2411 2411
2412 -/**  
2413 - * saFbgsgroup指令  
2414 - * 属性如下:  
2415 - * name(必须):控件的名字  
2416 - * model(必须):指定一个外部object,独立作用域,如:model=ctrl.employeeInfoForSave  
2417 - * fbgsvalue(必须):绑定的model翻班格式值,如:fbgsvalue={{ctrl.employeeInfoForSave.fbgs}}  
2418 - * fbgsname(必须):绑定的model翻班格式字段名,如:fbgsname=fbgs  
2419 - *  
2420 - * required(可选):是否要用required验证  
2421 - *  
2422 - */  
2423 -angular.module('ScheduleApp').directive(  
2424 - 'saFbgsgroup',  
2425 - [  
2426 - function() {  
2427 - return {  
2428 - restrict: 'E',  
2429 - templateUrl: '/pages/scheduleApp/module/common/dts2/fbgsGroup/saFbgsgroupTemplate.html',  
2430 - scope: {  
2431 - model: "=" // 独立作用域,关联外部的模型object  
2432 - },  
2433 - controllerAs: '$saFbgsgroupCtrl',  
2434 - bindToController: true,  
2435 - controller: function() {  
2436 - var self = this;  
2437 -  
2438 - self.$$dataSelected = []; // 选中的路牌列表  
2439 -  
2440 - // saFbgsgroup组件的ng-model,用于外部绑定等操作  
2441 - self.$$internalmodel = undefined;  
2442 - },  
2443 -  
2444 - /**  
2445 - * 此阶段可以改dom结构,此时angular还没扫描指令,  
2446 - * 这里就可以动态添加其他angularjs的指令字符串,如required指令字符串。  
2447 - * @param tElem  
2448 - * @param tAttrs  
2449 - * @returns {{pre: Function, post: Function}}  
2450 - */  
2451 - compile: function(tElem, tAttrs) {  
2452 - // 获取所有属性  
2453 - var $name_attr = tAttrs["name"]; // 控件的名字  
2454 - var $required_attr = tAttrs["required"]; // 是否需要required验证  
2455 - var $fbgsname_attr = tAttrs["fbgsname"]; // 绑定的model翻班格式字段名  
2456 -  
2457 - // controlAs名字  
2458 - var ctrlAs = '$saFbgsgroupCtrl';  
2459 -  
2460 - // 如果有required属性,添加angularjs required验证  
2461 - if ($required_attr != undefined) {  
2462 - //console.log(tElem.html());  
2463 - tElem.find("div").attr("required", "");  
2464 - }  
2465 -  
2466 - return {  
2467 - pre: function(scope, element, attr) {  
2468 -  
2469 - },  
2470 -  
2471 - /**  
2472 - * 相当于link函数。  
2473 - * @param scope  
2474 - * @param element  
2475 - * @param attr  
2476 - */  
2477 - post: function(scope, element, attr) {  
2478 - // name属性  
2479 - if ($name_attr) {  
2480 - scope[ctrlAs]["$name_attr"] = $name_attr;  
2481 - }  
2482 -  
2483 - /**  
2484 - * 路牌列表点击(路牌列表中选中路牌)  
2485 - * @param fbcode  
2486 - */  
2487 - scope[ctrlAs].$$internal_fb_click = function(fbcode) {  
2488 - scope[ctrlAs].$$dataSelected.push(fbcode);  
2489 - };  
2490 -  
2491 - /**  
2492 - * 选中的路牌双击(删除选中的路牌)  
2493 - * @param $index  
2494 - */  
2495 - scope[ctrlAs].$$internal_sellplist_dbclick = function($index) {  
2496 - scope[ctrlAs].$$dataSelected.splice($index, 1);  
2497 - };  
2498 -  
2499 - /**  
2500 - * 验证内部数据,更新外部model  
2501 - */  
2502 - scope[ctrlAs].$$internal_validate_model = function() {  
2503 - var data_temp = scope[ctrlAs].$$dataSelected;  
2504 -  
2505 - if (data_temp &&  
2506 - data_temp.length > 0) {  
2507 -  
2508 - // 更新内部model,用于外部验证  
2509 - // 内部model的值暂时随意,以后再改  
2510 - scope[ctrlAs].$$internalmodel = {desc: "ok"};  
2511 -  
2512 - // 更新外部model字段  
2513 - if ($fbgsname_attr) {  
2514 - console.log("$fbgsname=" + data_temp.join(','));  
2515 - eval("scope[ctrlAs].model" + "." + $fbgsname_attr + " = data_temp.join(',');");  
2516 - }  
2517 -  
2518 - } else {  
2519 - scope[ctrlAs].$$internalmodel = undefined;  
2520 - }  
2521 - };  
2522 -  
2523 - // 监控内部数据,$$data_selected 变化  
2524 - scope.$watch(  
2525 - function() {  
2526 - return scope[ctrlAs].$$dataSelected;  
2527 - },  
2528 - function(newValue, oldValue) {  
2529 - scope[ctrlAs].$$internal_validate_model();  
2530 - },  
2531 - true  
2532 - );  
2533 -  
2534 - // 监控路牌名称范围值的变化,处理初始化赋值  
2535 - attr.$observe("fbgsvalue", function(value) {  
2536 - var data_temp = scope[ctrlAs].$$dataSelected;  
2537 -  
2538 - if (value && value != "" && data_temp && data_temp.length == 0) {  
2539 - var data_temp = scope[ctrlAs].$$dataSelected;  
2540 - var fbgses = [];  
2541 - var i = 0;  
2542 -  
2543 - if (value.indexOf(",") >= 0) {  
2544 - fbgses = value.split(",");  
2545 - } else {  
2546 - for (i = 0; i < value.length; i++) {  
2547 - fbgses.push(value.substr(i, 1));  
2548 - }  
2549 - }  
2550 -  
2551 - if (data_temp && data_temp.length == 0) { // 初始创建  
2552 - for (i = 0; i < fbgses.length; i++) {  
2553 - if (fbgses[i] == "1" || fbgses[i] == "0") {  
2554 - data_temp.push(fbgses[i]);  
2555 - }  
2556 - }  
2557 - }  
2558 - }  
2559 - });  
2560 - }  
2561 - };  
2562 - }  
2563 - }  
2564 - } 2412 +/**
  2413 + * saFbgsgroup指令
  2414 + * 属性如下:
  2415 + * name(必须):控件的名字
  2416 + * model(必须):指定一个外部object,独立作用域,如:model=ctrl.employeeInfoForSave
  2417 + * fbgsvalue(必须):绑定的model翻班格式值,如:fbgsvalue={{ctrl.employeeInfoForSave.fbgs}}
  2418 + * fbgsname(必须):绑定的model翻班格式字段名,如:fbgsname=fbgs
  2419 + *
  2420 + * required(可选):是否要用required验证
  2421 + *
  2422 + */
  2423 +angular.module('ScheduleApp').directive(
  2424 + 'saFbgsgroup',
  2425 + [
  2426 + function() {
  2427 + return {
  2428 + restrict: 'E',
  2429 + templateUrl: '/pages/scheduleApp/module/common/dts2/fbgsGroup/saFbgsgroupTemplate.html',
  2430 + scope: {
  2431 + model: "=" // 独立作用域,关联外部的模型object
  2432 + },
  2433 + controllerAs: '$saFbgsgroupCtrl',
  2434 + bindToController: true,
  2435 + controller: function() {
  2436 + var self = this;
  2437 +
  2438 + self.$$dataSelected = []; // 选中的路牌列表
  2439 +
  2440 + // saFbgsgroup组件的ng-model,用于外部绑定等操作
  2441 + self.$$internalmodel = undefined;
  2442 + },
  2443 +
  2444 + /**
  2445 + * 此阶段可以改dom结构,此时angular还没扫描指令,
  2446 + * 这里就可以动态添加其他angularjs的指令字符串,如required指令字符串。
  2447 + * @param tElem
  2448 + * @param tAttrs
  2449 + * @returns {{pre: Function, post: Function}}
  2450 + */
  2451 + compile: function(tElem, tAttrs) {
  2452 + // 获取所有属性
  2453 + var $name_attr = tAttrs["name"]; // 控件的名字
  2454 + var $required_attr = tAttrs["required"]; // 是否需要required验证
  2455 + var $fbgsname_attr = tAttrs["fbgsname"]; // 绑定的model翻班格式字段名
  2456 +
  2457 + // controlAs名字
  2458 + var ctrlAs = '$saFbgsgroupCtrl';
  2459 +
  2460 + // 如果有required属性,添加angularjs required验证
  2461 + if ($required_attr != undefined) {
  2462 + //console.log(tElem.html());
  2463 + tElem.find("div").attr("required", "");
  2464 + }
  2465 +
  2466 + return {
  2467 + pre: function(scope, element, attr) {
  2468 +
  2469 + },
  2470 +
  2471 + /**
  2472 + * 相当于link函数。
  2473 + * @param scope
  2474 + * @param element
  2475 + * @param attr
  2476 + */
  2477 + post: function(scope, element, attr) {
  2478 + // name属性
  2479 + if ($name_attr) {
  2480 + scope[ctrlAs]["$name_attr"] = $name_attr;
  2481 + }
  2482 +
  2483 + /**
  2484 + * 路牌列表点击(路牌列表中选中路牌)
  2485 + * @param fbcode
  2486 + */
  2487 + scope[ctrlAs].$$internal_fb_click = function(fbcode) {
  2488 + scope[ctrlAs].$$dataSelected.push(fbcode);
  2489 + };
  2490 +
  2491 + /**
  2492 + * 选中的路牌双击(删除选中的路牌)
  2493 + * @param $index
  2494 + */
  2495 + scope[ctrlAs].$$internal_sellplist_dbclick = function($index) {
  2496 + scope[ctrlAs].$$dataSelected.splice($index, 1);
  2497 + };
  2498 +
  2499 + /**
  2500 + * 验证内部数据,更新外部model
  2501 + */
  2502 + scope[ctrlAs].$$internal_validate_model = function() {
  2503 + var data_temp = scope[ctrlAs].$$dataSelected;
  2504 +
  2505 + if (data_temp &&
  2506 + data_temp.length > 0) {
  2507 +
  2508 + // 更新内部model,用于外部验证
  2509 + // 内部model的值暂时随意,以后再改
  2510 + scope[ctrlAs].$$internalmodel = {desc: "ok"};
  2511 +
  2512 + // 更新外部model字段
  2513 + if ($fbgsname_attr) {
  2514 + console.log("$fbgsname=" + data_temp.join(','));
  2515 + eval("scope[ctrlAs].model" + "." + $fbgsname_attr + " = data_temp.join(',');");
  2516 + }
  2517 +
  2518 + } else {
  2519 + scope[ctrlAs].$$internalmodel = undefined;
  2520 + }
  2521 + };
  2522 +
  2523 + // 监控内部数据,$$data_selected 变化
  2524 + scope.$watch(
  2525 + function() {
  2526 + return scope[ctrlAs].$$dataSelected;
  2527 + },
  2528 + function(newValue, oldValue) {
  2529 + scope[ctrlAs].$$internal_validate_model();
  2530 + },
  2531 + true
  2532 + );
  2533 +
  2534 + // 监控路牌名称范围值的变化,处理初始化赋值
  2535 + attr.$observe("fbgsvalue", function(value) {
  2536 + var data_temp = scope[ctrlAs].$$dataSelected;
  2537 +
  2538 + if (value && value != "" && data_temp && data_temp.length == 0) { // 初始创建
  2539 + var data_temp = scope[ctrlAs].$$dataSelected;
  2540 + var fbgses = [];
  2541 + var i = 0;
  2542 +
  2543 + // 分隔翻班格式
  2544 + if (value.indexOf(",") >= 0) { // 以逗号分隔,如 1,1,0,1
  2545 + fbgses = value.split(",");
  2546 + } else {
  2547 + for (i = 0; i < value.length; i++) { // 字符串形式,如 1101
  2548 + fbgses.push(value.substr(i, 1));
  2549 + }
  2550 + }
  2551 +
  2552 + for (i = 0; i < fbgses.length; i++) {
  2553 + if (fbgses[i] == "1" || fbgses[i] == "0") {
  2554 + data_temp.push(fbgses[i]);
  2555 + }
  2556 + }
  2557 + }
  2558 + });
  2559 + }
  2560 + };
  2561 + }
  2562 + }
  2563 + }
2565 ]); 2564 ]);
2566 2565
2567 2566
src/main/resources/static/pages/scheduleApp/module/common/prj-common-globalservice-legacy.js
@@ -97,6 +97,25 @@ angular.module(&#39;ScheduleApp&#39;).factory(&#39;FileDownload_g&#39;, function() { @@ -97,6 +97,25 @@ angular.module(&#39;ScheduleApp&#39;).factory(&#39;FileDownload_g&#39;, function() {
97 // saSelect2指令使用的内部信service 97 // saSelect2指令使用的内部信service
98 angular.module('ScheduleApp').factory('$$SearchInfoService_g', ['$resource', function($resource) { 98 angular.module('ScheduleApp').factory('$$SearchInfoService_g', ['$resource', function($resource) {
99 return { 99 return {
  100 + rs_version_list: $resource(
  101 + '/tic_ec/stationroute/:lineid',
  102 + {},
  103 + {
  104 + list: {
  105 + method: 'GET',
  106 + isArray: true,
  107 + transformResponse: function(rs) {
  108 + var dst = angular.fromJson(rs);
  109 + if (dst.status == 'SUCCESS') {
  110 + return dst.data;
  111 + } else {
  112 + return dst; // 业务错误留给控制器处理
  113 + }
  114 + }
  115 + }
  116 + }
  117 + ),
  118 +
100 zd_tcc: $resource( 119 zd_tcc: $resource(
101 '/tidc/zd_tcc', 120 '/tidc/zd_tcc',
102 {}, 121 {},
src/main/resources/static/pages/scheduleApp/module/common/prj-common-globalservice.js
1 -//所有模块service配置 1 +//所有模块service配置
2 // 车辆信息service 2 // 车辆信息service
3 angular.module('ScheduleApp').factory( 3 angular.module('ScheduleApp').factory(
4 'BusInfoManageService_g', 4 'BusInfoManageService_g',
@@ -79,7 +79,7 @@ angular.module(&#39;ScheduleApp&#39;).factory( @@ -79,7 +79,7 @@ angular.module(&#39;ScheduleApp&#39;).factory(
79 79
80 } 80 }
81 ] 81 ]
82 -); 82 +);
83 // 车辆设备信息service 83 // 车辆设备信息service
84 angular.module('ScheduleApp').factory('DeviceInfoManageService_g', ['$resource', function($resource) { 84 angular.module('ScheduleApp').factory('DeviceInfoManageService_g', ['$resource', function($resource) {
85 return $resource( 85 return $resource(
@@ -119,7 +119,7 @@ angular.module(&#39;ScheduleApp&#39;).factory(&#39;DeviceInfoManageService_g&#39;, [&#39;$resource&#39;, @@ -119,7 +119,7 @@ angular.module(&#39;ScheduleApp&#39;).factory(&#39;DeviceInfoManageService_g&#39;, [&#39;$resource&#39;,
119 } 119 }
120 } 120 }
121 ); 121 );
122 -}]); 122 +}]);
123 // 人员信息service 123 // 人员信息service
124 angular.module('ScheduleApp').factory( 124 angular.module('ScheduleApp').factory(
125 'EmployeeInfoManageService_g', 125 'EmployeeInfoManageService_g',
@@ -183,7 +183,7 @@ angular.module(&#39;ScheduleApp&#39;).factory( @@ -183,7 +183,7 @@ angular.module(&#39;ScheduleApp&#39;).factory(
183 } 183 }
184 ] 184 ]
185 ); 185 );
186 - 186 +
187 // 车辆配置service 187 // 车辆配置service
188 angular.module('ScheduleApp').factory('BusConfigService_g', ['$resource', 'UserPrincipal', function($resource, UserPrincipal) { 188 angular.module('ScheduleApp').factory('BusConfigService_g', ['$resource', 'UserPrincipal', function($resource, UserPrincipal) {
189 return { 189 return {
@@ -238,7 +238,7 @@ angular.module(&#39;ScheduleApp&#39;).factory(&#39;BusConfigService_g&#39;, [&#39;$resource&#39;, &#39;UserP @@ -238,7 +238,7 @@ angular.module(&#39;ScheduleApp&#39;).factory(&#39;BusConfigService_g&#39;, [&#39;$resource&#39;, &#39;UserP
238 } 238 }
239 ) 239 )
240 }; 240 };
241 -}]); 241 +}]);
242 // 线路运营统计service 242 // 线路运营统计service
243 angular.module('ScheduleApp').factory('BusLineInfoStatService_g', ['$resource', function($resource) { 243 angular.module('ScheduleApp').factory('BusLineInfoStatService_g', ['$resource', function($resource) {
244 return $resource( 244 return $resource(
@@ -254,7 +254,7 @@ angular.module(&#39;ScheduleApp&#39;).factory(&#39;BusLineInfoStatService_g&#39;, [&#39;$resource&#39;, @@ -254,7 +254,7 @@ angular.module(&#39;ScheduleApp&#39;).factory(&#39;BusLineInfoStatService_g&#39;, [&#39;$resource&#39;,
254 } 254 }
255 ); 255 );
256 }]); 256 }]);
257 - 257 +
258 // 人员配置service 258 // 人员配置service
259 angular.module('ScheduleApp').factory('EmployeeConfigService_g', ['$resource', function($resource) { 259 angular.module('ScheduleApp').factory('EmployeeConfigService_g', ['$resource', function($resource) {
260 return { 260 return {
@@ -338,7 +338,7 @@ angular.module(&#39;ScheduleApp&#39;).factory(&#39;EmployeeConfigService_g&#39;, [&#39;$resource&#39;, f @@ -338,7 +338,7 @@ angular.module(&#39;ScheduleApp&#39;).factory(&#39;EmployeeConfigService_g&#39;, [&#39;$resource&#39;, f
338 } 338 }
339 ) 339 )
340 }; 340 };
341 -}]); 341 +}]);
342 // 路牌管理service 342 // 路牌管理service
343 angular.module('ScheduleApp').factory('GuideboardManageService_g', ['$resource', function($resource) { 343 angular.module('ScheduleApp').factory('GuideboardManageService_g', ['$resource', function($resource) {
344 return { 344 return {
@@ -411,7 +411,7 @@ angular.module(&#39;ScheduleApp&#39;).factory(&#39;GuideboardManageService_g&#39;, [&#39;$resource&#39;, @@ -411,7 +411,7 @@ angular.module(&#39;ScheduleApp&#39;).factory(&#39;GuideboardManageService_g&#39;, [&#39;$resource&#39;,
411 } 411 }
412 ) 412 )
413 }; 413 };
414 -}]); 414 +}]);
415 // 套跑管理service 415 // 套跑管理service
416 angular.module('ScheduleApp').factory('rerunManageService_g', ['$resource', function($resource) { 416 angular.module('ScheduleApp').factory('rerunManageService_g', ['$resource', function($resource) {
417 return { 417 return {
@@ -453,7 +453,7 @@ angular.module(&#39;ScheduleApp&#39;).factory(&#39;rerunManageService_g&#39;, [&#39;$resource&#39;, func @@ -453,7 +453,7 @@ angular.module(&#39;ScheduleApp&#39;).factory(&#39;rerunManageService_g&#39;, [&#39;$resource&#39;, func
453 } 453 }
454 ) 454 )
455 }; 455 };
456 -}]); 456 +}]);
457 // 排班计划管理service 457 // 排班计划管理service
458 angular.module('ScheduleApp').factory('SchedulePlanManageService_g', ['$resource', function($resource) { 458 angular.module('ScheduleApp').factory('SchedulePlanManageService_g', ['$resource', function($resource) {
459 return { 459 return {
@@ -612,13 +612,13 @@ angular.module(&#39;ScheduleApp&#39;).factory(&#39;SchedulePlanInfoManageService_g&#39;, [&#39;$reso @@ -612,13 +612,13 @@ angular.module(&#39;ScheduleApp&#39;).factory(&#39;SchedulePlanInfoManageService_g&#39;, [&#39;$reso
612 612
613 613
614 }; 614 };
615 -}]); 615 +}]);
616 // 排班管理service 616 // 排班管理service
617 angular.module('ScheduleApp').factory('ScheduleRuleManageService_g', ['$resource', function($resource) { 617 angular.module('ScheduleApp').factory('ScheduleRuleManageService_g', ['$resource', function($resource) {
618 return { 618 return {
619 rest: $resource( 619 rest: $resource(
620 '/sr1fc/:id', 620 '/sr1fc/:id',
621 - {order: 'xl.id,fbtype,updateDate,carConfigInfo.cl.insideCode', direction: 'ASC,DESC,DESC,ASC', id: '@id'}, 621 + {order: 'xl.id,updateDate,carConfigInfo.cl.insideCode', direction: 'ASC,DESC,ASC', id: '@id'},
622 { 622 {
623 list: { 623 list: {
624 method: 'GET', 624 method: 'GET',
@@ -671,7 +671,7 @@ angular.module(&#39;ScheduleApp&#39;).factory(&#39;ScheduleRuleManageService_g&#39;, [&#39;$resource @@ -671,7 +671,7 @@ angular.module(&#39;ScheduleApp&#39;).factory(&#39;ScheduleRuleManageService_g&#39;, [&#39;$resource
671 ) 671 )
672 }; 672 };
673 }]); 673 }]);
674 - 674 +
675 // 时刻表管理service 675 // 时刻表管理service
676 angular.module('ScheduleApp').factory( 676 angular.module('ScheduleApp').factory(
677 'TTInfoManageService_g', 677 'TTInfoManageService_g',
@@ -838,7 +838,7 @@ angular.module(&#39;ScheduleApp&#39;).factory( @@ -838,7 +838,7 @@ angular.module(&#39;ScheduleApp&#39;).factory(
838 } 838 }
839 839
840 ] 840 ]
841 -); 841 +);
842 // 项目通用的全局service服务,供不同的controller使用,自定义指令不使用 842 // 项目通用的全局service服务,供不同的controller使用,自定义指令不使用
843 843
844 // 文件下载服务 844 // 文件下载服务
@@ -938,6 +938,25 @@ angular.module(&#39;ScheduleApp&#39;).factory(&#39;FileDownload_g&#39;, function() { @@ -938,6 +938,25 @@ angular.module(&#39;ScheduleApp&#39;).factory(&#39;FileDownload_g&#39;, function() {
938 // saSelect2指令使用的内部信service 938 // saSelect2指令使用的内部信service
939 angular.module('ScheduleApp').factory('$$SearchInfoService_g', ['$resource', function($resource) { 939 angular.module('ScheduleApp').factory('$$SearchInfoService_g', ['$resource', function($resource) {
940 return { 940 return {
  941 + rs_version_list: $resource(
  942 + '/tic_ec/stationroute/:lineid',
  943 + {},
  944 + {
  945 + list: {
  946 + method: 'GET',
  947 + isArray: true,
  948 + transformResponse: function(rs) {
  949 + var dst = angular.fromJson(rs);
  950 + if (dst.status == 'SUCCESS') {
  951 + return dst.data;
  952 + } else {
  953 + return dst; // 业务错误留给控制器处理
  954 + }
  955 + }
  956 + }
  957 + }
  958 + ),
  959 +
941 zd_tcc: $resource( 960 zd_tcc: $resource(
942 '/tidc/zd_tcc', 961 '/tidc/zd_tcc',
943 {}, 962 {},
src/main/resources/static/pages/scheduleApp/module/core/ttInfoManage/detailedit/form.html
@@ -103,8 +103,51 @@ @@ -103,8 +103,51 @@
103 <form ng-submit="ctrl.submit()" class="form-horizontal" novalidate name="myForm"> 103 <form ng-submit="ctrl.submit()" class="form-horizontal" novalidate name="myForm">
104 <div class="form-body"> 104 <div class="form-body">
105 <div class="form-group has-success has-feedback"> 105 <div class="form-group has-success has-feedback">
  106 + <label class="col-md-2 control-label">站点路由版本类型*:</label>
  107 + <div class="col-md-4">
  108 + <sa-Select5 name="zdlytype"
  109 + model="ctrl.ttInfoDetailManageForForm"
  110 + cmaps="{'zdlytype': 'value'}"
  111 + dcname="zdlytype"
  112 + icname="value"
  113 + dsparams="{{ {type: 'local', param: 'zdlytype' } | json }}"
  114 + iterobjname="item"
  115 + iterobjexp="item.name"
  116 + searchph="站点路由类型..."
  117 + searchexp="this.name"
  118 + required >
  119 + </sa-Select5>
  120 + </div>
  121 + <!-- 隐藏快,显示验证信息 -->
  122 + <div class="alert alert-danger well-sm" ng-show="myForm.zdlytype.$error.required">
  123 + 请选择站点路由版本类型
  124 + </div>
  125 + </div>
  126 +
  127 + <div class="form-group has-success has-feedback" ng-if="ctrl.ttInfoDetailManageForForm.zdlytype == 2">
  128 + <label class="col-md-2 control-label">最近版本列表*:</label>
  129 + <div class="col-md-4">
  130 + <sa-Select5 name="zdlyversion"
  131 + model="ctrl.ttInfoDetailManageForForm"
  132 + cmaps="{'zdlyversion' : 'version'}"
  133 + dcname="zdlyversion"
  134 + icname="version"
  135 + dsparams="{{ {type: 'ajax', param:{'lineid': ctrl.ttInfoDetailManageForForm.xlid}, atype:'rs_version_list' } | json }}"
  136 + iterobjname="item"
  137 + iterobjexp="item.desc"
  138 + searchph="请输拼音..."
  139 + searchexp="this.desc"
  140 + required >
  141 + </sa-Select5>
  142 + </div>
  143 + <div class="alert alert-danger well-sm" ng-show="myForm.zdlyversion.$error.required">
  144 + 必须选择版本列表
  145 + </div>
  146 + </div>
  147 +
  148 + <div class="form-group has-success has-feedback">
106 <label class="col-md-2 control-label">excel工作区*:</label> 149 <label class="col-md-2 control-label">excel工作区*:</label>
107 - <div class="col-md-3"> 150 + <div class="col-md-4">
108 <sa-Select5 name="sheetname" 151 <sa-Select5 name="sheetname"
109 model="ctrl.ttInfoDetailManageForForm" 152 model="ctrl.ttInfoDetailManageForForm"
110 cmaps="{'sheetname' : 'name'}" 153 cmaps="{'sheetname' : 'name'}"
@@ -124,7 +167,9 @@ @@ -124,7 +167,9 @@
124 'filename': ctrl.ttInfoDetailManageForForm.filename, 167 'filename': ctrl.ttInfoDetailManageForForm.filename,
125 'sheetname': ctrl.ttInfoDetailManageForForm.sheetname, 168 'sheetname': ctrl.ttInfoDetailManageForForm.sheetname,
126 'lineid' : ctrl.ttInfoDetailManageForForm.xlid, 169 'lineid' : ctrl.ttInfoDetailManageForForm.xlid,
127 - 'linename' : ctrl.ttInfoDetailManageForForm.xlname 170 + 'linename' : ctrl.ttInfoDetailManageForForm.xlname,
  171 + 'zdlytype': ctrl.ttInfoDetailManageForForm.zdlytype,
  172 + 'zdlyversion' : ctrl.ttInfoDetailManageForForm.zdlyversion
128 } | json}}"/> 173 } | json}}"/>
129 </div> 174 </div>
130 <!-- 隐藏块,显示验证信息 --> 175 <!-- 隐藏块,显示验证信息 -->
@@ -138,7 +183,7 @@ @@ -138,7 +183,7 @@
138 183
139 <div class="form-group has-success has-feedback"> 184 <div class="form-group has-success has-feedback">
140 <label class="col-md-2 control-label">线路标准*:</label> 185 <label class="col-md-2 control-label">线路标准*:</label>
141 - <div class="col-md-3"> 186 + <div class="col-md-4">
142 <sa-Select5 name="lineinfo" 187 <sa-Select5 name="lineinfo"
143 model="ctrl.ttInfoDetailManageForForm" 188 model="ctrl.ttInfoDetailManageForForm"
144 cmaps="{'lineinfo' : 'id'}" 189 cmaps="{'lineinfo' : 'id'}"
src/main/resources/static/pages/scheduleApp/module/core/ttInfoManage/detailedit/module.js
@@ -42,6 +42,8 @@ angular.module(&#39;ScheduleApp&#39;).controller( @@ -42,6 +42,8 @@ angular.module(&#39;ScheduleApp&#39;).controller(
42 42
43 // 欲保存的表单信息,双向绑定 43 // 欲保存的表单信息,双向绑定
44 self.ttInfoDetailManageForForm = { 44 self.ttInfoDetailManageForForm = {
  45 + zdlytype: 1, // 站点路由类型
  46 + zdlyversion: -1, // 站点路由版本
45 xlid: xlid, // 线路id 47 xlid: xlid, // 线路id
46 ttid: ttid, // 时刻表id 48 ttid: ttid, // 时刻表id
47 xlname: xlname, // 线路名称 49 xlname: xlname, // 线路名称