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 2  
3 3 import com.bsth.common.ResponseCode;
4 4 import com.bsth.controller.schedule.BController;
  5 +import com.bsth.entity.LineVersions;
5 6 import com.bsth.entity.schedule.TTInfo;
  7 +import com.bsth.service.LineVersionsService;
6 8 import com.bsth.service.schedule.TTInfoService;
7 9 import com.bsth.service.schedule.exception.ScheduleException;
  10 +import org.joda.time.DateTime;
8 11 import org.springframework.beans.factory.annotation.Autowired;
9 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 17 * Created by xu on 16/12/20.
... ... @@ -19,6 +21,56 @@ import java.util.Map;
19 21 public class TTInfoController extends BController<TTInfo, Long> {
20 22 @Autowired
21 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 75 @RequestMapping(value = "/validate_name", method = RequestMethod.GET)
24 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 35 * @return
36 36 */
37 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 41 Map<String, Object> rtn = new HashMap<>();
40 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 59 rtn.put("status", ResponseCode.SUCCESS);
43 60 } catch (Exception exp) {
44 61 rtn.put("status", ResponseCode.ERROR);
... ...
src/main/java/com/bsth/service/StationRouteService.java
1 1 package com.bsth.service;
2 2  
  3 +import java.util.Iterator;
3 4 import java.util.List;
4 5 import java.util.Map;
5 6  
6 7 import javax.servlet.http.HttpServletResponse;
7 8  
  9 +import com.bsth.entity.LsStationRoute;
8 10 import com.bsth.entity.StationRoute;
9 11 import com.bsth.entity.StationRouteCache;
10 12  
... ... @@ -24,7 +26,14 @@ import com.bsth.entity.StationRouteCache;
24 26 *
25 27 */
26 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 39 * @Title: list
... ...
src/main/java/com/bsth/service/impl/StationRouteServiceImpl.java
1 1 package com.bsth.service.impl;
2 2  
3 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 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 7 import com.bsth.service.StationRouteService;
15 8 import com.bsth.util.ExcelUtil;
16 9 import com.bsth.util.FTPClientUtils;
... ... @@ -66,6 +59,16 @@ public class StationRouteServiceImpl extends BaseServiceImpl&lt;StationRoute, Integ
66 59  
67 60 @Autowired
68 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 73 @Override
71 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 34 * @param filename excel文件全路径名
35 35 * @param sheetname sheet名字
36 36 * @param lineid 线路id
  37 + * @param zdlyversion 站点路由版本
37 38 */
38 39 void validateExcelSheet(
39 40 String filename,
40 41 String sheetname,
41 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 79 Integer lineid = Integer.valueOf(String.valueOf(params.get("lineinfo"))); // 线路标准id
80 80 String xlname = String.valueOf(params.get("xlname")); // 线路名字
81 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 84 LOGGER.info("参数1, xls文件名={},sheet名字={}", filename, sheetname);
84 85 LOGGER.info("参数2, 线路id={},线路名字={}", xlid, xlname);
... ... @@ -154,6 +155,8 @@ public class TTInfoDetailDataToolsImpl implements DataToolsService, TTInfoDetail
154 155 // dataToolsProperties.getTtinfodetailDatainputktr()).toURI());
155 156 File ktrFile2 = new File(this.getClass().getResource(
156 157 dataToolsProperties.getTtinfodetailDatainputktr2()).toURI());
  158 + File ktrFile2_ls = new File(this.getClass().getResource(
  159 + dataToolsProperties.getTtinfodetailDatainputktr2ls()).toURI());
157 160  
158 161 // 通用参数,转换文件路径,excel输入文件路径,错误输出文件路径
159 162 ktrParms.put("transpath", ktrFile.getAbsolutePath());
... ... @@ -161,12 +164,15 @@ public class TTInfoDetailDataToolsImpl implements DataToolsService, TTInfoDetail
161 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 169 ktrParms.put("sheetname", sheetname); // sheet工作区的名字
166 170 ktrParms.put("lineinfoid", lineid); // 线路标准id
167 171 ktrParms.put("xlname", xlname); // 线路名称
  172 + ktrParms.put("xlid", xlid); // 线路id
168 173 ktrParms.put("ttinfoname", ttname); // 时刻表名称
169 174 ktrParms.put("ttid", ttid.intValue()); // 时刻表id
  175 + ktrParms.put("zdlyversion", zdlyversion); // 站点路由版本
170 176 ktrParms.put("excelfieldnames", StringUtils.join(columnames.toArray(), ",")); // 时刻表excel输入字段名,以逗号连接
171 177 columnames.remove(0);
172 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 3 import com.alibaba.fastjson.JSONArray;
4 4 import com.alibaba.fastjson.JSONObject;
5 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 7 import com.bsth.entity.schedule.GuideboardInfo;
11 8 import com.bsth.entity.schedule.TTInfoDetail;
12 9 import com.bsth.repository.CarParkRepository;
... ... @@ -149,7 +146,7 @@ public class TTInfoDetailServiceImpl extends BServiceImpl&lt;TTInfoDetail, Long&gt; im
149 146 }
150 147  
151 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 150 try {
154 151 File file = new File(filename);
155 152 Workbook workbook;
... ... @@ -199,14 +196,28 @@ public class TTInfoDetailServiceImpl extends BServiceImpl&lt;TTInfoDetail, Long&gt; im
199 196  
200 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 78 /** 时刻表明细信息导入 */
79 79 @NotNull
80 80 private String ttinfodetailDatainputktr2;
  81 + /** 时刻表明细信息导入 */
  82 + @NotNull
  83 + private String ttinfodetailDatainputktr2ls;
81 84 /** 排班规则信息导入 */
82 85 @NotNull
83 86 private String scheduleruleDatainputktr;
... ... @@ -311,6 +314,14 @@ public class DataToolsProperties {
311 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 325 public String getEmployeesconfigDataoutputktr() {
315 326 return employeesconfigDataoutputktr;
316 327 }
... ...
src/main/resources/datatools/config-dev.properties
... ... @@ -39,6 +39,8 @@ datatools.ttinfodetail_foreditktr=/datatools/ktrs/ttinfodetailoutputforedit.ktr
39 39 datatools.ttinfodetail_datainputktr=/datatools/ktrs/ttinfodetailDataInput.ktr
40 40 # 时刻表明细信息导入2
41 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 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 40 datatools.ttinfodetail_datainputktr=/datatools/ktrs/ttinfodetailDataInput.ktr
41 41 # 时刻表明细信息导入2
42 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 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 80 {code: "12", name: "保养"},
81 81 {code: "13", name: "缺人"},
82 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 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 97 // saSelect2指令使用的内部信service
98 98 angular.module('ScheduleApp').factory('$$SearchInfoService_g', ['$resource', function($resource) {
99 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 119 zd_tcc: $resource(
101 120 '/tidc/zd_tcc',
102 121 {},
... ...
src/main/resources/static/pages/scheduleApp/module/common/prj-common-globalservice.js
1   -//所有模块service配置
  1 +//所有模块service配置
2 2 // 车辆信息service
3 3 angular.module('ScheduleApp').factory(
4 4 'BusInfoManageService_g',
... ... @@ -79,7 +79,7 @@ angular.module(&#39;ScheduleApp&#39;).factory(
79 79  
80 80 }
81 81 ]
82   -);
  82 +);
83 83 // 车辆设备信息service
84 84 angular.module('ScheduleApp').factory('DeviceInfoManageService_g', ['$resource', function($resource) {
85 85 return $resource(
... ... @@ -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 123 // 人员信息service
124 124 angular.module('ScheduleApp').factory(
125 125 'EmployeeInfoManageService_g',
... ... @@ -183,7 +183,7 @@ angular.module(&#39;ScheduleApp&#39;).factory(
183 183 }
184 184 ]
185 185 );
186   -
  186 +
187 187 // 车辆配置service
188 188 angular.module('ScheduleApp').factory('BusConfigService_g', ['$resource', 'UserPrincipal', function($resource, UserPrincipal) {
189 189 return {
... ... @@ -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 242 // 线路运营统计service
243 243 angular.module('ScheduleApp').factory('BusLineInfoStatService_g', ['$resource', function($resource) {
244 244 return $resource(
... ... @@ -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 258 // 人员配置service
259 259 angular.module('ScheduleApp').factory('EmployeeConfigService_g', ['$resource', function($resource) {
260 260 return {
... ... @@ -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 342 // 路牌管理service
343 343 angular.module('ScheduleApp').factory('GuideboardManageService_g', ['$resource', function($resource) {
344 344 return {
... ... @@ -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 415 // 套跑管理service
416 416 angular.module('ScheduleApp').factory('rerunManageService_g', ['$resource', function($resource) {
417 417 return {
... ... @@ -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 457 // 排班计划管理service
458 458 angular.module('ScheduleApp').factory('SchedulePlanManageService_g', ['$resource', function($resource) {
459 459 return {
... ... @@ -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 616 // 排班管理service
617 617 angular.module('ScheduleApp').factory('ScheduleRuleManageService_g', ['$resource', function($resource) {
618 618 return {
619 619 rest: $resource(
620 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 623 list: {
624 624 method: 'GET',
... ... @@ -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 675 // 时刻表管理service
676 676 angular.module('ScheduleApp').factory(
677 677 'TTInfoManageService_g',
... ... @@ -838,7 +838,7 @@ angular.module(&#39;ScheduleApp&#39;).factory(
838 838 }
839 839  
840 840 ]
841   -);
  841 +);
842 842 // 项目通用的全局service服务,供不同的controller使用,自定义指令不使用
843 843  
844 844 // 文件下载服务
... ... @@ -938,6 +938,25 @@ angular.module(&#39;ScheduleApp&#39;).factory(&#39;FileDownload_g&#39;, function() {
938 938 // saSelect2指令使用的内部信service
939 939 angular.module('ScheduleApp').factory('$$SearchInfoService_g', ['$resource', function($resource) {
940 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 960 zd_tcc: $resource(
942 961 '/tidc/zd_tcc',
943 962 {},
... ...
src/main/resources/static/pages/scheduleApp/module/core/ttInfoManage/detailedit/form.html
... ... @@ -103,8 +103,51 @@
103 103 <form ng-submit="ctrl.submit()" class="form-horizontal" novalidate name="myForm">
104 104 <div class="form-body">
105 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 149 <label class="col-md-2 control-label">excel工作区*:</label>
107   - <div class="col-md-3">
  150 + <div class="col-md-4">
108 151 <sa-Select5 name="sheetname"
109 152 model="ctrl.ttInfoDetailManageForForm"
110 153 cmaps="{'sheetname' : 'name'}"
... ... @@ -124,7 +167,9 @@
124 167 'filename': ctrl.ttInfoDetailManageForForm.filename,
125 168 'sheetname': ctrl.ttInfoDetailManageForForm.sheetname,
126 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 173 } | json}}"/>
129 174 </div>
130 175 <!-- 隐藏块,显示验证信息 -->
... ... @@ -138,7 +183,7 @@
138 183  
139 184 <div class="form-group has-success has-feedback">
140 185 <label class="col-md-2 control-label">线路标准*:</label>
141   - <div class="col-md-3">
  186 + <div class="col-md-4">
142 187 <sa-Select5 name="lineinfo"
143 188 model="ctrl.ttInfoDetailManageForForm"
144 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 42  
43 43 // 欲保存的表单信息,双向绑定
44 44 self.ttInfoDetailManageForForm = {
  45 + zdlytype: 1, // 站点路由类型
  46 + zdlyversion: -1, // 站点路由版本
45 47 xlid: xlid, // 线路id
46 48 ttid: ttid, // 时刻表id
47 49 xlname: xlname, // 线路名称
... ...