Commit 9845c83f3aecb44433afdfaf545f309a38c143eb

Authored by 李强
2 parents 4c3fb470 1b2086af

Merge branch 'master' of git@192.168.168.201:panzhaov5/bsth_control.git

Showing 34 changed files with 4251 additions and 4006 deletions
... ... @@ -162,6 +162,16 @@
162 162 <artifactId>jxl</artifactId>
163 163 <version>2.6.12</version>
164 164 </dependency>
  165 + <dependency>
  166 + <groupId>rhino</groupId>
  167 + <artifactId>js</artifactId>
  168 + <version>1.7R2</version>
  169 + </dependency>
  170 + <dependency>
  171 + <groupId>javax.mail</groupId>
  172 + <artifactId>mail</artifactId>
  173 + <version>1.4.7</version>
  174 + </dependency>
165 175  
166 176 </dependencies>
167 177  
... ... @@ -225,4 +235,4 @@
225 235 <url>http://repo.spring.io/milestone</url>
226 236 </pluginRepository>
227 237 </pluginRepositories>
228   -</project>
229 238 \ No newline at end of file
  239 +</project>
... ...
src/main/java/com/bsth/controller/schedule/EmployeeConfigInfoController.java
... ... @@ -2,10 +2,12 @@ package com.bsth.controller.schedule;
2 2  
3 3 import com.bsth.controller.BaseController;
4 4 import com.bsth.entity.schedule.EmployeeConfigInfo;
  5 +import com.bsth.repository.schedule.EmployeeConfigInfoRepository;
5 6 import com.bsth.service.schedule.utils.DataToolsProperties;
6 7 import org.springframework.beans.factory.annotation.Autowired;
7 8 import org.springframework.boot.context.properties.EnableConfigurationProperties;
8 9 import org.springframework.web.bind.annotation.RequestMapping;
  10 +import org.springframework.web.bind.annotation.RequestMethod;
9 11 import org.springframework.web.bind.annotation.RestController;
10 12  
11 13 /**
... ... @@ -17,9 +19,23 @@ import org.springframework.web.bind.annotation.RestController;
17 19 public class EmployeeConfigInfoController extends BaseController<EmployeeConfigInfo, Long> {
18 20 @Autowired
19 21 private DataToolsProperties dataToolsProperties;
  22 + @Autowired
  23 + private EmployeeConfigInfoRepository employeeConfigInfoRepository;
20 24  
21 25 @Override
22 26 protected String getDataImportKtrClasspath() {
23 27 return dataToolsProperties.getEmployeesconfigDatainputktr();
24 28 }
  29 +
  30 + /**
  31 + *
  32 + * @Title: list
  33 + * @Description: TODO(多条件查询)
  34 + * @param @param map
  35 + * @throws
  36 + */
  37 + @RequestMapping(value = "/alljsy", method = RequestMethod.GET)
  38 + public Iterable<Object> alljsy(){
  39 + return employeeConfigInfoRepository.findAllJsy();
  40 + }
25 41 }
... ...
src/main/java/com/bsth/controller/schedule/TTInfoDetailController.java 0 → 100644
  1 +package com.bsth.controller.schedule;
  2 +
  3 +import com.bsth.common.ResponseCode;
  4 +import com.bsth.controller.BaseController;
  5 +import com.bsth.entity.schedule.TTInfoDetail;
  6 +import com.bsth.service.schedule.TTInfoDetailServiceImpl;
  7 +import org.springframework.beans.factory.annotation.Autowired;
  8 +import org.springframework.web.bind.annotation.RequestMapping;
  9 +import org.springframework.web.bind.annotation.RequestMethod;
  10 +import org.springframework.web.bind.annotation.RestController;
  11 +import org.springframework.web.multipart.MultipartFile;
  12 +
  13 +import java.util.HashMap;
  14 +import java.util.Map;
  15 +
  16 +/**
  17 + * Created by xu on 16/7/2.
  18 + */
  19 +@RestController
  20 +@RequestMapping("tidc")
  21 +public class TTInfoDetailController extends BaseController<TTInfoDetail, Long> {
  22 + @Autowired
  23 + private TTInfoDetailServiceImpl ttInfoDetailService;
  24 +
  25 + @RequestMapping(value = "/dataImportExtend", method = RequestMethod.POST)
  26 + public Map<String, Object> uploadDataAndImport(
  27 + MultipartFile file, String xlmc, String ttinfoname, String tccname) throws Exception {
  28 + Map<String, Object> resultMap = new HashMap<>();
  29 +
  30 + try {
  31 + ttInfoDetailService.fileDataImport(file, xlmc, ttinfoname, tccname);
  32 + resultMap.put("status", ResponseCode.SUCCESS);
  33 + resultMap.put("msg", "导入成功");
  34 + } catch (Exception exp) {
  35 + exp.printStackTrace();
  36 + throw exp;
  37 + }
  38 +
  39 + return resultMap;
  40 + }
  41 +}
... ...
src/main/java/com/bsth/entity/schedule/EmployeeConfigInfo.java
... ... @@ -14,7 +14,7 @@ import java.util.Date;
14 14 @Entity
15 15 @Table(name = "bsth_c_s_ecinfo")
16 16 @NamedEntityGraphs({
17   - @NamedEntityGraph(name = "employeeConfigInfo_xl_cl", attributeNodes = {
  17 + @NamedEntityGraph(name = "employeeConfigInfo_jsy_spy_xl", attributeNodes = {
18 18 @NamedAttributeNode("jsy"),
19 19 @NamedAttributeNode("spy"),
20 20 @NamedAttributeNode("xl")
... ...
src/main/java/com/bsth/repository/schedule/EmployeeConfigInfoRepository.java
... ... @@ -22,7 +22,11 @@ public interface EmployeeConfigInfoRepository extends BaseRepository&lt;EmployeeCon
22 22 @Query("select ec from EmployeeConfigInfo ec where ec.xl.lineCode=?1")
23 23 List<EmployeeConfigInfo> findBylineCode(String lineCode);
24 24  
25   - @EntityGraph(value = "employeeConfigInfo_xl_cl", type = EntityGraph.EntityGraphType.FETCH)
  25 + @EntityGraph(value = "employeeConfigInfo_jsy_spy_xl", type = EntityGraph.EntityGraphType.FETCH)
26 26 @Override
27 27 Page<EmployeeConfigInfo> findAll(Specification<EmployeeConfigInfo> spec, Pageable pageable);
  28 +
  29 + // TODO:这里不是标准,是hibernate的map返回,以后改成nativesql查询,然后动态指定返回类型
  30 + @Query("select new map(ec.jsy.personnelName as name, ec.jsy.jobCode as code, ec.jsy.id as id) from EmployeeConfigInfo ec")
  31 + List<Object> findAllJsy();
28 32 }
... ...
src/main/java/com/bsth/repository/schedule/TTInfoDetailRepository.java 0 → 100644
  1 +package com.bsth.repository.schedule;
  2 +
  3 +import com.bsth.entity.schedule.TTInfoDetail;
  4 +import com.bsth.repository.BaseRepository;
  5 +import org.springframework.stereotype.Repository;
  6 +
  7 +/**
  8 + * Created by xu on 16/7/2.
  9 + */
  10 +@Repository
  11 +public interface TTInfoDetailRepository extends BaseRepository<TTInfoDetail, Long> {
  12 +}
... ...
src/main/java/com/bsth/service/schedule/TTInfoDetailService.java 0 → 100644
  1 +package com.bsth.service.schedule;
  2 +
  3 +import com.bsth.entity.schedule.TTInfoDetail;
  4 +import com.bsth.service.BaseService;
  5 +
  6 +/**
  7 + * Created by xu on 16/7/2.
  8 + */
  9 +public interface TTInfoDetailService extends BaseService<TTInfoDetail, Long> {
  10 +}
... ...
src/main/java/com/bsth/service/schedule/TTInfoDetailServiceImpl.java 0 → 100644
  1 +package com.bsth.service.schedule;
  2 +
  3 +import com.bsth.entity.schedule.TTInfoDetail;
  4 +import com.bsth.service.impl.BaseServiceImpl;
  5 +import com.bsth.service.schedule.utils.DataImportExportService;
  6 +import com.bsth.service.schedule.utils.DataToolsProperties;
  7 +import jxl.Sheet;
  8 +import jxl.Workbook;
  9 +import org.apache.commons.lang3.StringUtils;
  10 +import org.pentaho.di.trans.Trans;
  11 +import org.pentaho.di.trans.TransMeta;
  12 +import org.springframework.beans.factory.annotation.Autowired;
  13 +import org.springframework.boot.context.properties.EnableConfigurationProperties;
  14 +import org.springframework.stereotype.Service;
  15 +import org.springframework.web.multipart.MultipartFile;
  16 +
  17 +import java.io.File;
  18 +import java.util.ArrayList;
  19 +import java.util.List;
  20 +
  21 +/**
  22 + * Created by xu on 16/7/2.
  23 + */
  24 +@Service
  25 +@EnableConfigurationProperties(DataToolsProperties.class)
  26 +public class TTInfoDetailServiceImpl extends BaseServiceImpl<TTInfoDetail, Long> implements TTInfoDetailService {
  27 + @Autowired
  28 + private DataImportExportService dataImportExportService;
  29 + @Autowired
  30 + private DataToolsProperties dataToolsProperties;
  31 +
  32 + /**
  33 + * 上传并导入数据,和DataImportExportService的同名方法有差别。
  34 + * @param datafile form上传文件
  35 + * @param xlmc 线路名称
  36 + * @param ttinfoname 时刻表名字
  37 + * @param tccname 停车场名字
  38 + * @throws Exception
  39 + */
  40 + public void fileDataImport(MultipartFile datafile,
  41 + String xlmc,
  42 + String ttinfoname,
  43 + String tccname) throws Exception {
  44 + // 1、上传数据文件
  45 + File uploadFile = dataImportExportService.uploadFile(datafile);
  46 +
  47 + System.out.println("线路名称:" + xlmc);
  48 + System.out.println("时刻表名称:" + ttinfoname);
  49 + System.out.println("停车场名字:" + tccname);
  50 + System.out.println("时刻表明细上传文件:" + uploadFile);
  51 +
  52 + // 2、jexcelapi读取excel文件
  53 + Workbook book = Workbook.getWorkbook(uploadFile);
  54 + Sheet sheet = book.getSheet(0);
  55 + List<String> columnames = new ArrayList<>();
  56 + for (int i = 0; i < sheet.getColumns(); i++) { // 获取第一行,数据,作为列名
  57 + columnames.add(sheet.getCell(i, 0).getContents());
  58 + }
  59 +
  60 + System.out.println("表头1:" + StringUtils.join(columnames.toArray(), ","));
  61 +
  62 + // 2、使用kettle运行封装数据导入逻辑的ktr转换文件
  63 + // 2.1、初始化kettle(组件初始化已经做了)
  64 + // 2.2、创建转换元数据,转换
  65 + File ktrFile = new File(this.getClass().getResource(
  66 + dataToolsProperties.getTtinfodetailMetadatainputktr()).toURI());
  67 + File ktrFile2 = new File(this.getClass().getResource(
  68 + dataToolsProperties.getTtinfodetailDatainputktr()).toURI());
  69 + TransMeta transMeta = new TransMeta(ktrFile.getAbsolutePath());
  70 + Trans trans = new Trans(transMeta);
  71 + // 2.3、设定命名参数,用于指定数据文件,注意每个ktr必须都有以下指定的命名参数
  72 + trans.setParameterValue("injectktrfile", ktrFile2.getAbsolutePath()); // 注入元数据的ktr文件
  73 + trans.setParameterValue("filepath", uploadFile.getAbsolutePath()); // 指定导入数据文件的位置
  74 + trans.setParameterValue("erroroutputdir", dataToolsProperties.getTransErrordir()); // ktr转换错误输出目录
  75 + trans.setParameterValue("xlname", xlmc); // 线路名称
  76 + trans.setParameterValue("ttinfoname", ttinfoname); // 时刻表名称
  77 + trans.setParameterValue("tccname", tccname); // 停车场名字
  78 + trans.setParameterValue("excelfieldnames", StringUtils.join(columnames.toArray(), ",")); // 时刻表excel输入字段名,以逗号连接
  79 + columnames.remove(0);
  80 + trans.setParameterValue("normalizefieldnames", StringUtils.join(columnames.toArray(), ",")); // 数据范式化字段名,以逗号连接
  81 +
  82 + // TODO:可以考虑设定日志输出
  83 + // 2.4、执行转换
  84 + trans.execute(null);
  85 + // 2.5、等待转换结束
  86 + trans.waitUntilFinished();
  87 +
  88 + // 3、判定ktr错误数,注意这种错误代表部分数据错误,不会终止转换执行,一般设计ktr的时候,会有错误输出文件,TODO:以后考虑使用日志实时输出
  89 + if (trans.getErrors() > 0) {
  90 + throw new Exception("转换数据部分错误,请查看相关错误输出文件!");
  91 + }
  92 + }
  93 +}
... ...
src/main/java/com/bsth/service/schedule/utils/DataImportExportServiceImpl.java
... ... @@ -5,30 +5,47 @@ import org.pentaho.di.core.KettleEnvironment;
5 5 import org.pentaho.di.core.util.EnvUtil;
6 6 import org.pentaho.di.trans.Trans;
7 7 import org.pentaho.di.trans.TransMeta;
  8 +import org.springframework.beans.factory.InitializingBean;
8 9 import org.springframework.beans.factory.annotation.Autowired;
9 10 import org.springframework.boot.context.properties.EnableConfigurationProperties;
10 11 import org.springframework.stereotype.Service;
11 12 import org.springframework.web.multipart.MultipartFile;
12 13  
13 14 import java.io.File;
  15 +import java.util.HashMap;
  16 +import java.util.Map;
14 17  
15 18 /**
16 19 * Created by xu on 16/6/23.
17 20 */
18 21 @Service
19 22 @EnableConfigurationProperties(DataToolsProperties.class)
20   -public class DataImportExportServiceImpl implements DataImportExportService {
  23 +public class DataImportExportServiceImpl implements DataImportExportService, InitializingBean {
21 24  
22 25 @Autowired
23 26 private DataToolsProperties dataToolsProperties;
24 27  
25 28 @Override
  29 + public void afterPropertiesSet() throws Exception {
  30 + // 初始化kettle环境
  31 + EnvUtil.environmentInit();
  32 + // 添加全局ktr变量,并覆盖原来的设置
  33 + Map<String, String> kvars = new HashMap<>();
  34 + kvars.put("v_db_ip", dataToolsProperties.getKvarsDbip());
  35 + kvars.put("v_db_uname", dataToolsProperties.getKvarsDbuname());
  36 + kvars.put("v_db_pwd", dataToolsProperties.getKvarsDbpwd());
  37 + EnvUtil.applyKettleProperties(kvars, true);
  38 + KettleEnvironment.init();
  39 + }
  40 +
  41 + @Override
26 42 public File uploadFile(MultipartFile file) throws Exception {
27 43 // TODO:以后的文件名要加时间戳
28 44 File newFile = new File(
29 45 dataToolsProperties.getFileuploadDir() + File.separator +
30 46 file.getOriginalFilename());
31 47 Files.write(file.getBytes(), newFile);
  48 +
32 49 return newFile;
33 50 }
34 51  
... ... @@ -38,9 +55,7 @@ public class DataImportExportServiceImpl implements DataImportExportService {
38 55 File uploadFile = uploadFile(datafile);
39 56  
40 57 // 2、使用kettle运行封装数据导入逻辑的ktr转换文件
41   - // 2.1、初始化kettle
42   - EnvUtil.environmentInit();
43   - KettleEnvironment.init();
  58 + // 2.1、初始化kettle(组件初始化已经做了)
44 59 // 2.2、创建转换元数据,转换
45 60 TransMeta transMeta = new TransMeta(ktrFile.getAbsolutePath());
46 61 Trans trans = new Trans(transMeta);
... ...
src/main/java/com/bsth/service/schedule/utils/DataToolsProperties.java
... ... @@ -22,6 +22,16 @@ public class DataToolsProperties {
22 22 @NotNull
23 23 private String transErrordir;
24 24  
  25 + /** ktr通用变量-数据库ip地址 */
  26 + @NotNull
  27 + private String kvarsDbip;
  28 + /** ktr通用变量-数据库用户名 */
  29 + @NotNull
  30 + private String kvarsDbuname;
  31 + /** ktr通用变量-数据库密码 */
  32 + @NotNull
  33 + private String kvarsDbpwd;
  34 +
25 35 /** 测试temp的ktr转换文件 */
26 36 @NotNull
27 37 private String tempDatainputktr;
... ... @@ -43,6 +53,12 @@ public class DataToolsProperties {
43 53 /** 时刻表基础信息导入 */
44 54 @NotNull
45 55 private String ttinfoDatainputktr;
  56 + /** 时刻表明细信息导入(元数据) */
  57 + @NotNull
  58 + private String ttinfodetailMetadatainputktr;
  59 + /** 时刻表明细信息导入 */
  60 + @NotNull
  61 + private String ttinfodetailDatainputktr;
46 62  
47 63 // TODO:
48 64  
... ... @@ -74,6 +90,14 @@ public class DataToolsProperties {
74 90 return carsDatainputktr;
75 91 }
76 92  
  93 + public String getTtinfodetailMetadatainputktr() {
  94 + return ttinfodetailMetadatainputktr;
  95 + }
  96 +
  97 + public void setTtinfodetailMetadatainputktr(String ttinfodetailMetadatainputktr) {
  98 + this.ttinfodetailMetadatainputktr = ttinfodetailMetadatainputktr;
  99 + }
  100 +
77 101 public void setCarsDatainputktr(String carsDatainputktr) {
78 102 this.carsDatainputktr = carsDatainputktr;
79 103 }
... ... @@ -114,7 +138,39 @@ public class DataToolsProperties {
114 138 return ttinfoDatainputktr;
115 139 }
116 140  
  141 + public String getKvarsDbip() {
  142 + return kvarsDbip;
  143 + }
  144 +
  145 + public void setKvarsDbip(String kvarsDbip) {
  146 + this.kvarsDbip = kvarsDbip;
  147 + }
  148 +
  149 + public String getKvarsDbuname() {
  150 + return kvarsDbuname;
  151 + }
  152 +
  153 + public void setKvarsDbuname(String kvarsDbuname) {
  154 + this.kvarsDbuname = kvarsDbuname;
  155 + }
  156 +
  157 + public String getKvarsDbpwd() {
  158 + return kvarsDbpwd;
  159 + }
  160 +
  161 + public void setKvarsDbpwd(String kvarsDbpwd) {
  162 + this.kvarsDbpwd = kvarsDbpwd;
  163 + }
  164 +
117 165 public void setTtinfoDatainputktr(String ttinfoDatainputktr) {
118 166 this.ttinfoDatainputktr = ttinfoDatainputktr;
119 167 }
  168 +
  169 + public String getTtinfodetailDatainputktr() {
  170 + return ttinfodetailDatainputktr;
  171 + }
  172 +
  173 + public void setTtinfodetailDatainputktr(String ttinfodetailDatainputktr) {
  174 + this.ttinfodetailDatainputktr = ttinfodetailDatainputktr;
  175 + }
120 176 }
... ...
src/main/resources/datatools/config.properties
... ... @@ -5,6 +5,14 @@ datatools.fileupload_dir=/Users/xu/resource/project/bsth_control_u_d_files
5 5 # ktr转换文件,中配置的错误输出目录(根据不同的环境需要修正)
6 6 datatools.trans_errordir=/Users/xu/resource/project/bsth_control_u_d_files/erroroutput
7 7  
  8 +##------------------ ktr通用变量 ------------------
  9 +#数据库ip地址
  10 +datatools.kvars_dbip=localhost
  11 +#数据库用户名
  12 +datatools.kvars_dbuname=root
  13 +#数据库密码
  14 +datatools.kvars_dbpwd=
  15 +
8 16 # 以下是封装数据导入导出逻辑的ktr转换文件,类路径,以后考虑放到数据库中
9 17 # 测试temp的ktr转换文件
10 18 datatools.temp_datainputktr=/datatools/ktrs/test.ktr
... ... @@ -16,7 +24,10 @@ datatools.employees_datainputktr=/datatools/ktrs/employeesDataInput.ktr
16 24 datatools.guideboards_datainputktr=/datatools/ktrs/guideboardDataInput.ktr
17 25 # 时刻表基础信息导入
18 26 datatools.ttinfo_datainputktr=/datatools/ktrs/ttinfoDataInput.ktr
  27 +# 时刻表明细信息导入(元数据)
  28 +datatools.ttinfodetail_metadatainputktr=/datatools/ktrs/ttinfodetailMetaData.ktr
19 29 # 时刻表明细信息导入
  30 +datatools.ttinfodetail_datainputktr=/datatools/ktrs/ttinfodetailDataInput.ktr
20 31  
21 32 # 车辆配置信息导入
22 33 datatools.carsconfig_datainputktr=/datatools/ktrs/carsConfigDataInput.ktr
... ...
src/main/resources/datatools/ktrs/carsConfigDataInput.ktr
... ... @@ -80,7 +80,7 @@
80 80 <created_date>2016&#x2f;06&#x2f;29 13&#x3a;15&#x3a;32.118</created_date>
81 81 <modified_user>-</modified_user>
82 82 <modified_date>2016&#x2f;06&#x2f;29 13&#x3a;15&#x3a;32.118</modified_date>
83   - <key_for_session_key/>
  83 + <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</key_for_session_key>
84 84 <is_key_private>N</is_key_private>
85 85 </info>
86 86 <notepads>
... ... @@ -107,14 +107,68 @@
107 107 </notepad>
108 108 </notepads>
109 109 <connection>
  110 + <name>bus_control_variable</name>
  111 + <server>&#x24;&#x7b;v_db_ip&#x7d;</server>
  112 + <type>MYSQL</type>
  113 + <access>Native</access>
  114 + <database>control</database>
  115 + <port>3306</port>
  116 + <username>&#x24;&#x7b;v_db_uname&#x7d;</username>
  117 + <password>&#x24;&#x7b;v_db_pwd&#x7d;</password>
  118 + <servername/>
  119 + <data_tablespace/>
  120 + <index_tablespace/>
  121 + <attributes>
  122 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  123 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  124 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  125 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  126 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  127 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  128 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  129 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  130 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  131 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  132 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  133 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  134 + </attributes>
  135 + </connection>
  136 + <connection>
110 137 <name>bus_control_&#x516c;&#x53f8;_201</name>
111   - <server>192.168.168.201</server>
  138 + <server>localhost</server>
  139 + <type>MYSQL</type>
  140 + <access>Native</access>
  141 + <database>control</database>
  142 + <port>3306</port>
  143 + <username>root</username>
  144 + <password>Encrypted </password>
  145 + <servername/>
  146 + <data_tablespace/>
  147 + <index_tablespace/>
  148 + <attributes>
  149 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  150 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  151 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  152 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  153 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  154 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  155 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  156 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  157 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  158 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  159 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  160 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  161 + </attributes>
  162 + </connection>
  163 + <connection>
  164 + <name>bus_control_&#x672c;&#x673a;</name>
  165 + <server>localhost</server>
112 166 <type>MYSQL</type>
113 167 <access>Native</access>
114 168 <database>control</database>
115 169 <port>3306</port>
116 170 <username>root</username>
117   - <password>Encrypted 2be98afc86aa7f2e4cb79ff228dc6fa8c</password>
  171 + <password>Encrypted </password>
118 172 <servername/>
119 173 <data_tablespace/>
120 174 <index_tablespace/>
... ... @@ -400,7 +454,7 @@
400 454 <method>none</method>
401 455 <schema_name/>
402 456 </partitioning>
403   - <connection>bus_control_&#x516c;&#x53f8;_201</connection>
  457 + <connection>bus_control_variable</connection>
404 458 <commit>100</commit>
405 459 <update_bypassed>N</update_bypassed>
406 460 <lookup>
... ... @@ -501,7 +555,7 @@
501 555 <method>none</method>
502 556 <schema_name/>
503 557 </partitioning>
504   - <connection>bus_control_&#x516c;&#x53f8;_201</connection>
  558 + <connection>bus_control_variable</connection>
505 559 <cache>N</cache>
506 560 <cache_load_all>N</cache_load_all>
507 561 <cache_size>0</cache_size>
... ... @@ -543,7 +597,7 @@
543 597 <method>none</method>
544 598 <schema_name/>
545 599 </partitioning>
546   - <connection>bus_control_&#x516c;&#x53f8;_201</connection>
  600 + <connection>bus_control_variable</connection>
547 601 <cache>N</cache>
548 602 <cache_load_all>N</cache_load_all>
549 603 <cache_size>0</cache_size>
... ... @@ -575,6 +629,51 @@
575 629 </step>
576 630  
577 631 <step>
  632 + <name>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</name>
  633 + <type>GetVariable</type>
  634 + <description/>
  635 + <distribute>Y</distribute>
  636 + <custom_distribution/>
  637 + <copies>1</copies>
  638 + <partitioning>
  639 + <method>none</method>
  640 + <schema_name/>
  641 + </partitioning>
  642 + <fields>
  643 + <field>
  644 + <name>filepath_</name>
  645 + <variable>&#x24;&#x7b;filepath&#x7d;</variable>
  646 + <type>String</type>
  647 + <format/>
  648 + <currency/>
  649 + <decimal/>
  650 + <group/>
  651 + <length>-1</length>
  652 + <precision>-1</precision>
  653 + <trim_type>none</trim_type>
  654 + </field>
  655 + <field>
  656 + <name>erroroutputdir_</name>
  657 + <variable>&#x24;&#x7b;erroroutputdir&#x7d;</variable>
  658 + <type>String</type>
  659 + <format/>
  660 + <currency/>
  661 + <decimal/>
  662 + <group/>
  663 + <length>-1</length>
  664 + <precision>-1</precision>
  665 + <trim_type>none</trim_type>
  666 + </field>
  667 + </fields>
  668 + <cluster_schema/>
  669 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  670 + <xloc>156</xloc>
  671 + <yloc>150</yloc>
  672 + <draw>Y</draw>
  673 + </GUI>
  674 + </step>
  675 +
  676 + <step>
578 677 <name>&#x9519;&#x8bef;&#x8f93;&#x51fa;</name>
579 678 <type>ExcelOutput</type>
580 679 <description/>
... ... @@ -701,51 +800,6 @@
701 800 </GUI>
702 801 </step>
703 802  
704   - <step>
705   - <name>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</name>
706   - <type>GetVariable</type>
707   - <description/>
708   - <distribute>Y</distribute>
709   - <custom_distribution/>
710   - <copies>1</copies>
711   - <partitioning>
712   - <method>none</method>
713   - <schema_name/>
714   - </partitioning>
715   - <fields>
716   - <field>
717   - <name>filepath_</name>
718   - <variable>&#x24;&#x7b;filepath&#x7d;</variable>
719   - <type>String</type>
720   - <format/>
721   - <currency/>
722   - <decimal/>
723   - <group/>
724   - <length>-1</length>
725   - <precision>-1</precision>
726   - <trim_type>none</trim_type>
727   - </field>
728   - <field>
729   - <name>erroroutputdir_</name>
730   - <variable>&#x24;&#x7b;erroroutputdir&#x7d;</variable>
731   - <type>String</type>
732   - <format/>
733   - <currency/>
734   - <decimal/>
735   - <group/>
736   - <length>-1</length>
737   - <precision>-1</precision>
738   - <trim_type>none</trim_type>
739   - </field>
740   - </fields>
741   - <cluster_schema/>
742   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
743   - <xloc>156</xloc>
744   - <yloc>150</yloc>
745   - <draw>Y</draw>
746   - </GUI>
747   - </step>
748   -
749 803 <step_error_handling>
750 804 <error>
751 805 <source_step>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ccinfo</source_step>
... ...
src/main/resources/datatools/ktrs/carsDataInput.ktr
1   -<<<<<<< HEAD
2 1 <?xml version="1.0" encoding="UTF-8"?>
3 2 <transformation>
4 3 <info>
... ... @@ -108,14 +107,68 @@
108 107 </notepad>
109 108 </notepads>
110 109 <connection>
  110 + <name>bus_control_variable</name>
  111 + <server>&#x24;&#x7b;v_db_ip&#x7d;</server>
  112 + <type>MYSQL</type>
  113 + <access>Native</access>
  114 + <database>control</database>
  115 + <port>3306</port>
  116 + <username>&#x24;&#x7b;v_db_uname&#x7d;</username>
  117 + <password>&#x24;&#x7b;v_db_pwd&#x7d;</password>
  118 + <servername/>
  119 + <data_tablespace/>
  120 + <index_tablespace/>
  121 + <attributes>
  122 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  123 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  124 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  125 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  126 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  127 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  128 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  129 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  130 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  131 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  132 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  133 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  134 + </attributes>
  135 + </connection>
  136 + <connection>
111 137 <name>bus_control_&#x516c;&#x53f8;_201</name>
112   - <server>192.168.168.201</server>
  138 + <server>localhost</server>
  139 + <type>MYSQL</type>
  140 + <access>Native</access>
  141 + <database>control</database>
  142 + <port>3306</port>
  143 + <username>root</username>
  144 + <password>Encrypted </password>
  145 + <servername/>
  146 + <data_tablespace/>
  147 + <index_tablespace/>
  148 + <attributes>
  149 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  150 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  151 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  152 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  153 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  154 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  155 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  156 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  157 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  158 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  159 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  160 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  161 + </attributes>
  162 + </connection>
  163 + <connection>
  164 + <name>bus_control_&#x672c;&#x673a;</name>
  165 + <server>localhost</server>
113 166 <type>MYSQL</type>
114 167 <access>Native</access>
115 168 <database>control</database>
116 169 <port>3306</port>
117 170 <username>root</username>
118   - <password>Encrypted 2be98afc86aa7f2e4cb79ff228dc6fa8c</password>
  171 + <password>Encrypted </password>
119 172 <servername/>
120 173 <data_tablespace/>
121 174 <index_tablespace/>
... ... @@ -924,21 +977,15 @@
924 977 <method>none</method>
925 978 <schema_name/>
926 979 </partitioning>
927   - <connection>bus_control_&#x516c;&#x53f8;_201</connection>
  980 + <connection>bus_control_variable</connection>
928 981 <commit>1000</commit>
929 982 <update_bypassed>N</update_bypassed>
930 983 <lookup>
931 984 <schema/>
932 985 <table>bsth_c_cars</table>
933 986 <key>
934   - <name>businessCode</name>
935   - <field>business_code</field>
936   - <condition>&#x3d;</condition>
937   - <name2/>
938   - </key>
939   - <key>
940   - <name>carPlate</name>
941   - <field>car_plate</field>
  987 + <name>insideCode</name>
  988 + <field>inside_code</field>
942 989 <condition>&#x3d;</condition>
943 990 <name2/>
944 991 </key>
... ... @@ -1650,1650 +1697,3 @@
1650 1697 <slave_transformation>N</slave_transformation>
1651 1698  
1652 1699 </transformation>
1653   -=======
1654   -<?xml version="1.0" encoding="UTF-8"?>
1655   -<transformation>
1656   - <info>
1657   - <name>carsDataInput</name>
1658   - <description>&#x8f66;&#x8f86;&#x4fe1;&#x606f;&#x5bfc;&#x5165;</description>
1659   - <extended_description>&#x8f66;&#x8f86;&#x57fa;&#x7840;&#x4fe1;&#x606f;</extended_description>
1660   - <trans_version/>
1661   - <trans_type>Normal</trans_type>
1662   - <trans_status>0</trans_status>
1663   - <directory>&#x2f;</directory>
1664   - <parameters>
1665   - <parameter>
1666   - <name>erroroutputdir</name>
1667   - <default_value/>
1668   - <description>ktr step&#x914d;&#x7f6e;&#x7684;&#x9519;&#x8bef;&#x8f93;&#x51fa;&#x76ee;&#x5f55;</description>
1669   - </parameter>
1670   - <parameter>
1671   - <name>filepath</name>
1672   - <default_value/>
1673   - <description>&#x5f85;&#x5904;&#x7406;&#x5bfc;&#x5165;&#x7684;excel&#x6587;&#x4ef6;</description>
1674   - </parameter>
1675   - </parameters>
1676   - <log>
1677   -<trans-log-table><connection/>
1678   -<schema/>
1679   -<table/>
1680   -<size_limit_lines/>
1681   -<interval/>
1682   -<timeout_days/>
1683   -<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>
1684   -<perf-log-table><connection/>
1685   -<schema/>
1686   -<table/>
1687   -<interval/>
1688   -<timeout_days/>
1689   -<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>
1690   -<channel-log-table><connection/>
1691   -<schema/>
1692   -<table/>
1693   -<timeout_days/>
1694   -<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>
1695   -<step-log-table><connection/>
1696   -<schema/>
1697   -<table/>
1698   -<timeout_days/>
1699   -<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>
1700   -<metrics-log-table><connection/>
1701   -<schema/>
1702   -<table/>
1703   -<timeout_days/>
1704   -<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>
1705   - </log>
1706   - <maxdate>
1707   - <connection/>
1708   - <table/>
1709   - <field/>
1710   - <offset>0.0</offset>
1711   - <maxdiff>0.0</maxdiff>
1712   - </maxdate>
1713   - <size_rowset>10000</size_rowset>
1714   - <sleep_time_empty>50</sleep_time_empty>
1715   - <sleep_time_full>50</sleep_time_full>
1716   - <unique_connections>N</unique_connections>
1717   - <feedback_shown>Y</feedback_shown>
1718   - <feedback_size>50000</feedback_size>
1719   - <using_thread_priorities>Y</using_thread_priorities>
1720   - <shared_objects_file/>
1721   - <capture_step_performance>N</capture_step_performance>
1722   - <step_performance_capturing_delay>1000</step_performance_capturing_delay>
1723   - <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit>
1724   - <dependencies>
1725   - </dependencies>
1726   - <partitionschemas>
1727   - </partitionschemas>
1728   - <slaveservers>
1729   - </slaveservers>
1730   - <clusterschemas>
1731   - </clusterschemas>
1732   - <created_user>-</created_user>
1733   - <created_date>2016&#x2f;06&#x2f;23 17&#x3a;44&#x3a;46.781</created_date>
1734   - <modified_user>-</modified_user>
1735   - <modified_date>2016&#x2f;06&#x2f;23 17&#x3a;44&#x3a;46.781</modified_date>
1736   - <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</key_for_session_key>
1737   - <is_key_private>N</is_key_private>
1738   - </info>
1739   - <notepads>
1740   - <notepad>
1741   - <note>&#x539f;&#x7cfb;&#x7edf;&#x7684;&#x5bfc;&#x51fa;&#x8868;&#xff0c;&#x6709;&#x4e9b;&#x6570;&#x636e;&#x662f;&#x6ca1;&#x6709;&#x7684;&#xff0c;&#x6709;&#x4e9b;&#x6570;&#x636e;&#x4e5f;&#x6709;&#x95ee;&#x9898;&#xff0c;&#x5982;&#x4e0b;&#xa;&#x62a5;&#x5e9f;&#x65e5;&#x671f;&#x53bb;&#x6389;&#xa;&#x8f66;&#x8f86;&#x7f16;&#x7801;&#xff0c;&#x6682;&#x65f6;&#x7528;1&#x4ee3;&#x66ff;&#xa;&#x662f;&#x5426;&#x7535;&#x8f66; &#x6ca1;&#x6709;&#xa;&#x8f66;&#x8f86;&#x5e8f;&#x53f7; &#x6ca1;&#x6709;&#xa;&#x662f;&#x5426;&#x5207;&#x6362; &#x6ca1;&#x6709;&#xa;&#x7ebf;&#x8def;&#x540d;&#x79f0;&#xff08;&#x8fd9;&#x91cc;&#x4e0d;&#x505a;&#x5173;&#x8054;&#xff0c;&#x53ea;&#x662f;&#x767b;&#x8bb0;&#x7684;&#x65f6;&#x5019;&#x4f7f;&#x7528;&#xff09; &#x54a9;&#x6709;</note>
1742   - <xloc>365</xloc>
1743   - <yloc>136</yloc>
1744   - <width>346</width>
1745   - <heigth>122</heigth>
1746   - <fontname>YaHei Consolas Hybrid</fontname>
1747   - <fontsize>12</fontsize>
1748   - <fontbold>N</fontbold>
1749   - <fontitalic>N</fontitalic>
1750   - <fontcolorred>0</fontcolorred>
1751   - <fontcolorgreen>0</fontcolorgreen>
1752   - <fontcolorblue>0</fontcolorblue>
1753   - <backgroundcolorred>255</backgroundcolorred>
1754   - <backgroundcolorgreen>205</backgroundcolorgreen>
1755   - <backgroundcolorblue>112</backgroundcolorblue>
1756   - <bordercolorred>100</bordercolorred>
1757   - <bordercolorgreen>100</bordercolorgreen>
1758   - <bordercolorblue>100</bordercolorblue>
1759   - <drawshadow>Y</drawshadow>
1760   - </notepad>
1761   - </notepads>
1762   - <connection>
1763   - <name>bus_control_&#x516c;&#x53f8;_201</name>
1764   - <server>192.168.168.201</server>
1765   - <type>MYSQL</type>
1766   - <access>Native</access>
1767   - <database>control</database>
1768   - <port>3306</port>
1769   - <username>root</username>
1770   - <password>Encrypted 2be98afc86aa7f2e4cb79ff228dc6fa8c</password>
1771   - <servername/>
1772   - <data_tablespace/>
1773   - <index_tablespace/>
1774   - <attributes>
1775   - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
1776   - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
1777   - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
1778   - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
1779   - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
1780   - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
1781   - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
1782   - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
1783   - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
1784   - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
1785   - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
1786   - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
1787   - </attributes>
1788   - </connection>
1789   - <connection>
1790   - <name>xlab_mysql_youle</name>
1791   - <server>101.231.124.8</server>
1792   - <type>MYSQL</type>
1793   - <access>Native</access>
1794   - <database>xlab_youle</database>
1795   - <port>45687</port>
1796   - <username>xlab-youle</username>
1797   - <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password>
1798   - <servername/>
1799   - <data_tablespace/>
1800   - <index_tablespace/>
1801   - <attributes>
1802   - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
1803   - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
1804   - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
1805   - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
1806   - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
1807   - <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute>
1808   - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
1809   - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
1810   - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
1811   - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
1812   - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
1813   - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
1814   - </attributes>
1815   - </connection>
1816   - <connection>
1817   - <name>xlab_mysql_youle&#xff08;&#x672c;&#x673a;&#xff09;</name>
1818   - <server>localhost</server>
1819   - <type>MYSQL</type>
1820   - <access>Native</access>
1821   - <database>xlab_youle</database>
1822   - <port>3306</port>
1823   - <username>root</username>
1824   - <password>Encrypted </password>
1825   - <servername/>
1826   - <data_tablespace/>
1827   - <index_tablespace/>
1828   - <attributes>
1829   - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
1830   - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
1831   - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
1832   - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
1833   - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
1834   - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
1835   - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
1836   - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
1837   - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
1838   - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
1839   - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
1840   - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
1841   - </attributes>
1842   - </connection>
1843   - <connection>
1844   - <name>xlab_youle</name>
1845   - <server/>
1846   - <type>MYSQL</type>
1847   - <access>JNDI</access>
1848   - <database>xlab_youle</database>
1849   - <port>1521</port>
1850   - <username/>
1851   - <password>Encrypted </password>
1852   - <servername/>
1853   - <data_tablespace/>
1854   - <index_tablespace/>
1855   - <attributes>
1856   - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
1857   - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
1858   - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
1859   - <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
1860   - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
1861   - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
1862   - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
1863   - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
1864   - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
1865   - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
1866   - </attributes>
1867   - </connection>
1868   - <order>
1869   - <hop> <from>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</from><to>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</to><enabled>Y</enabled> </hop>
1870   - <hop> <from>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</from><to>&#x662f;&#x5426;&#x7a7a;&#x8c03;&#x8f66;</to><enabled>Y</enabled> </hop>
1871   - <hop> <from>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_cars</from><to>&#x9519;&#x8bef;&#x8f93;&#x51fa;</to><enabled>Y</enabled> </hop>
1872   - <hop> <from>&#x662f;&#x5426;&#x6709;LED&#x670d;&#x52a1;&#x5c4f;</from><to>&#x662f;&#x5426;&#x6709;TV&#x89c6;&#x9891;</to><enabled>Y</enabled> </hop>
1873   - <hop> <from>&#x662f;&#x5426;&#x6709;TV&#x89c6;&#x9891;</from><to>&#x662f;&#x5426;&#x7684;&#x53d8;&#x6210;&#x6570;&#x5b57;&#x578b;</to><enabled>Y</enabled> </hop>
1874   - <hop> <from>&#x662f;&#x5426;&#x7684;&#x53d8;&#x6210;&#x6570;&#x5b57;&#x578b;</from><to>&#x516c;&#x4ea4;&#x4f01;&#x4e1a;&#x4ee3;&#x7801;</to><enabled>Y</enabled> </hop>
1875   - <hop> <from>&#x662f;&#x5426;&#x7a7a;&#x8c03;&#x8f66;</from><to>&#x6709;&#x65e0;&#x4eba;&#x552e;&#x7968;</to><enabled>Y</enabled> </hop>
1876   - <hop> <from>&#x6709;&#x65e0;&#x4eba;&#x552e;&#x7968;</from><to>&#x662f;&#x5426;&#x6709;LED&#x670d;&#x52a1;&#x5c4f;</to><enabled>Y</enabled> </hop>
1877   - <hop> <from>&#x516c;&#x4ea4;&#x4f01;&#x4e1a;&#x4ee3;&#x7801;</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_cars</to><enabled>Y</enabled> </hop>
1878   - <hop> <from>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</from><to>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</to><enabled>Y</enabled> </hop>
1879   - </order>
1880   - <step>
1881   - <name>&#x516c;&#x4ea4;&#x4f01;&#x4e1a;&#x4ee3;&#x7801;</name>
1882   - <type>ValueMapper</type>
1883   - <description/>
1884   - <distribute>Y</distribute>
1885   - <custom_distribution/>
1886   - <copies>1</copies>
1887   - <partitioning>
1888   - <method>none</method>
1889   - <schema_name/>
1890   - </partitioning>
1891   - <field_to_use>company</field_to_use>
1892   - <target_field>businessCode</target_field>
1893   - <non_match_default/>
1894   - <fields>
1895   - <field>
1896   - <source_value>&#x4e0a;&#x5357;&#x516c;&#x53f8;</source_value>
1897   - <target_value>55</target_value>
1898   - </field>
1899   - <field>
1900   - <source_value>&#x91d1;&#x9ad8;&#x516c;&#x53f8;</source_value>
1901   - <target_value>22</target_value>
1902   - </field>
1903   - <field>
1904   - <source_value>&#x6768;&#x9ad8;&#x516c;&#x53f8;</source_value>
1905   - <target_value>05</target_value>
1906   - </field>
1907   - <field>
1908   - <source_value>&#x5357;&#x6c47;&#x516c;&#x53f8;</source_value>
1909   - <target_value>26</target_value>
1910   - </field>
1911   - <field>
1912   - <source_value>&#x516c;&#x4ea4;&#x516c;&#x53f8;</source_value>
1913   - <target_value>88</target_value>
1914   - </field>
1915   - <field>
1916   - <source_value>&#x95f5;&#x884c;&#x516c;&#x4ea4;</source_value>
1917   - <target_value>77</target_value>
1918   - </field>
1919   - </fields>
1920   - <cluster_schema/>
1921   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
1922   - <xloc>841</xloc>
1923   - <yloc>166</yloc>
1924   - <draw>Y</draw>
1925   - </GUI>
1926   - </step>
1927   -
1928   - <step>
1929   - <name>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</name>
1930   - <type>ExcelInput</type>
1931   - <description/>
1932   - <distribute>Y</distribute>
1933   - <custom_distribution/>
1934   - <copies>1</copies>
1935   - <partitioning>
1936   - <method>none</method>
1937   - <schema_name/>
1938   - </partitioning>
1939   - <header>Y</header>
1940   - <noempty>Y</noempty>
1941   - <stoponempty>N</stoponempty>
1942   - <filefield/>
1943   - <sheetfield/>
1944   - <sheetrownumfield/>
1945   - <rownumfield/>
1946   - <sheetfield/>
1947   - <filefield/>
1948   - <limit>0</limit>
1949   - <encoding/>
1950   - <add_to_result_filenames>Y</add_to_result_filenames>
1951   - <accept_filenames>Y</accept_filenames>
1952   - <accept_field>filepath_</accept_field>
1953   - <accept_stepname>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</accept_stepname>
1954   - <file>
1955   - <name/>
1956   - <filemask/>
1957   - <exclude_filemask/>
1958   - <file_required>N</file_required>
1959   - <include_subfolders>N</include_subfolders>
1960   - </file>
1961   - <fields>
1962   - <field>
1963   - <name>&#x8f66;&#x724c;&#x53f7;</name>
1964   - <type>String</type>
1965   - <length>-1</length>
1966   - <precision>-1</precision>
1967   - <trim_type>none</trim_type>
1968   - <repeat>N</repeat>
1969   - <format/>
1970   - <currency/>
1971   - <decimal/>
1972   - <group/>
1973   - </field>
1974   - <field>
1975   - <name>&#x5185;&#x90e8;&#x7f16;&#x7801;</name>
1976   - <type>String</type>
1977   - <length>-1</length>
1978   - <precision>-1</precision>
1979   - <trim_type>none</trim_type>
1980   - <repeat>N</repeat>
1981   - <format/>
1982   - <currency/>
1983   - <decimal/>
1984   - <group/>
1985   - </field>
1986   - <field>
1987   - <name>&#x8f66;&#x8f86;&#x7f16;&#x7801;</name>
1988   - <type>String</type>
1989   - <length>-1</length>
1990   - <precision>-1</precision>
1991   - <trim_type>none</trim_type>
1992   - <repeat>N</repeat>
1993   - <format/>
1994   - <currency/>
1995   - <decimal/>
1996   - <group/>
1997   - </field>
1998   - <field>
1999   - <name>&#x8f66;&#x578b;&#x7c7b;&#x522b;</name>
2000   - <type>String</type>
2001   - <length>-1</length>
2002   - <precision>-1</precision>
2003   - <trim_type>none</trim_type>
2004   - <repeat>N</repeat>
2005   - <format/>
2006   - <currency/>
2007   - <decimal/>
2008   - <group/>
2009   - </field>
2010   - <field>
2011   - <name>&#x5ea7;&#x4f4d;&#x6570;</name>
2012   - <type>String</type>
2013   - <length>-1</length>
2014   - <precision>-1</precision>
2015   - <trim_type>none</trim_type>
2016   - <repeat>N</repeat>
2017   - <format/>
2018   - <currency/>
2019   - <decimal/>
2020   - <group/>
2021   - </field>
2022   - <field>
2023   - <name>&#x8f7d;&#x5ba2;&#x6807;&#x51c6;</name>
2024   - <type>String</type>
2025   - <length>-1</length>
2026   - <precision>-1</precision>
2027   - <trim_type>none</trim_type>
2028   - <repeat>N</repeat>
2029   - <format/>
2030   - <currency/>
2031   - <decimal/>
2032   - <group/>
2033   - </field>
2034   - <field>
2035   - <name>&#x6280;&#x672f;&#x901f;&#x5ea6;</name>
2036   - <type>String</type>
2037   - <length>-1</length>
2038   - <precision>-1</precision>
2039   - <trim_type>none</trim_type>
2040   - <repeat>N</repeat>
2041   - <format/>
2042   - <currency/>
2043   - <decimal/>
2044   - <group/>
2045   - </field>
2046   - <field>
2047   - <name>&#x662f;&#x5426;&#x7a7a;&#x8c03;</name>
2048   - <type>String</type>
2049   - <length>-1</length>
2050   - <precision>-1</precision>
2051   - <trim_type>none</trim_type>
2052   - <repeat>N</repeat>
2053   - <format/>
2054   - <currency/>
2055   - <decimal/>
2056   - <group/>
2057   - </field>
2058   - <field>
2059   - <name>&#x6807;&#x51c6;&#x6cb9;&#x8017;&#x28;&#x5f00;&#x7a7a;&#x8c03;&#x29;</name>
2060   - <type>String</type>
2061   - <length>-1</length>
2062   - <precision>-1</precision>
2063   - <trim_type>none</trim_type>
2064   - <repeat>N</repeat>
2065   - <format/>
2066   - <currency/>
2067   - <decimal/>
2068   - <group/>
2069   - </field>
2070   - <field>
2071   - <name>&#x6807;&#x51c6;&#x6cb9;&#x8017;&#x28;&#x5173;&#x7a7a;&#x8c03;&#x29;</name>
2072   - <type>String</type>
2073   - <length>-1</length>
2074   - <precision>-1</precision>
2075   - <trim_type>none</trim_type>
2076   - <repeat>N</repeat>
2077   - <format/>
2078   - <currency/>
2079   - <decimal/>
2080   - <group/>
2081   - </field>
2082   - <field>
2083   - <name>&#x6709;&#x65e0;&#x4eba;&#x552e;&#x7968;</name>
2084   - <type>String</type>
2085   - <length>-1</length>
2086   - <precision>-1</precision>
2087   - <trim_type>none</trim_type>
2088   - <repeat>N</repeat>
2089   - <format/>
2090   - <currency/>
2091   - <decimal/>
2092   - <group/>
2093   - </field>
2094   - <field>
2095   - <name>&#x662f;&#x5426;&#x6709;TV&#x89c6;&#x9891;</name>
2096   - <type>String</type>
2097   - <length>-1</length>
2098   - <precision>-1</precision>
2099   - <trim_type>none</trim_type>
2100   - <repeat>N</repeat>
2101   - <format/>
2102   - <currency/>
2103   - <decimal/>
2104   - <group/>
2105   - </field>
2106   - <field>
2107   - <name>&#x662f;&#x5426;&#x6709;LED&#x670d;&#x52a1;&#x5c4f;</name>
2108   - <type>String</type>
2109   - <length>-1</length>
2110   - <precision>-1</precision>
2111   - <trim_type>none</trim_type>
2112   - <repeat>N</repeat>
2113   - <format/>
2114   - <currency/>
2115   - <decimal/>
2116   - <group/>
2117   - </field>
2118   - <field>
2119   - <name>&#x8fd0;&#x8425;&#x72b6;&#x6001;</name>
2120   - <type>String</type>
2121   - <length>-1</length>
2122   - <precision>-1</precision>
2123   - <trim_type>none</trim_type>
2124   - <repeat>N</repeat>
2125   - <format/>
2126   - <currency/>
2127   - <decimal/>
2128   - <group/>
2129   - </field>
2130   - <field>
2131   - <name>&#x542f;&#x7528;&#x65e5;&#x671f;</name>
2132   - <type>String</type>
2133   - <length>-1</length>
2134   - <precision>-1</precision>
2135   - <trim_type>none</trim_type>
2136   - <repeat>N</repeat>
2137   - <format/>
2138   - <currency/>
2139   - <decimal/>
2140   - <group/>
2141   - </field>
2142   - <field>
2143   - <name>&#x53d6;&#x6d88;&#x65e5;&#x671f;</name>
2144   - <type>String</type>
2145   - <length>-1</length>
2146   - <precision>-1</precision>
2147   - <trim_type>none</trim_type>
2148   - <repeat>N</repeat>
2149   - <format/>
2150   - <currency/>
2151   - <decimal/>
2152   - <group/>
2153   - </field>
2154   - <field>
2155   - <name>&#x62a5;&#x5e9f;&#x53f7;</name>
2156   - <type>String</type>
2157   - <length>-1</length>
2158   - <precision>-1</precision>
2159   - <trim_type>none</trim_type>
2160   - <repeat>N</repeat>
2161   - <format/>
2162   - <currency/>
2163   - <decimal/>
2164   - <group/>
2165   - </field>
2166   - <field>
2167   - <name>&#x62a5;&#x5e9f;&#x65e5;&#x671f;</name>
2168   - <type>String</type>
2169   - <length>-1</length>
2170   - <precision>-1</precision>
2171   - <trim_type>none</trim_type>
2172   - <repeat>N</repeat>
2173   - <format/>
2174   - <currency/>
2175   - <decimal/>
2176   - <group/>
2177   - </field>
2178   - <field>
2179   - <name>&#x5907;&#x6ce8;</name>
2180   - <type>String</type>
2181   - <length>-1</length>
2182   - <precision>-1</precision>
2183   - <trim_type>none</trim_type>
2184   - <repeat>N</repeat>
2185   - <format/>
2186   - <currency/>
2187   - <decimal/>
2188   - <group/>
2189   - </field>
2190   - <field>
2191   - <name>&#x8bbe;&#x5907;&#x7f16;&#x53f7;</name>
2192   - <type>String</type>
2193   - <length>-1</length>
2194   - <precision>-1</precision>
2195   - <trim_type>none</trim_type>
2196   - <repeat>N</repeat>
2197   - <format/>
2198   - <currency/>
2199   - <decimal/>
2200   - <group/>
2201   - </field>
2202   - <field>
2203   - <name>&#x5382;&#x724c;&#x578b;&#x53f7;</name>
2204   - <type>String</type>
2205   - <length>-1</length>
2206   - <precision>-1</precision>
2207   - <trim_type>none</trim_type>
2208   - <repeat>N</repeat>
2209   - <format/>
2210   - <currency/>
2211   - <decimal/>
2212   - <group/>
2213   - </field>
2214   - <field>
2215   - <name>&#x5382;&#x724c;&#x578b;&#x53f7;2</name>
2216   - <type>String</type>
2217   - <length>-1</length>
2218   - <precision>-1</precision>
2219   - <trim_type>none</trim_type>
2220   - <repeat>N</repeat>
2221   - <format/>
2222   - <currency/>
2223   - <decimal/>
2224   - <group/>
2225   - </field>
2226   - <field>
2227   - <name>&#x8f66;&#x8f86;&#x7b49;&#x7ea7;&#x6807;&#x51c6;</name>
2228   - <type>String</type>
2229   - <length>-1</length>
2230   - <precision>-1</precision>
2231   - <trim_type>none</trim_type>
2232   - <repeat>N</repeat>
2233   - <format/>
2234   - <currency/>
2235   - <decimal/>
2236   - <group/>
2237   - </field>
2238   - <field>
2239   - <name>&#x51fa;&#x5382;&#x6392;&#x653e;&#x6807;&#x51c6;</name>
2240   - <type>String</type>
2241   - <length>-1</length>
2242   - <precision>-1</precision>
2243   - <trim_type>none</trim_type>
2244   - <repeat>N</repeat>
2245   - <format/>
2246   - <currency/>
2247   - <decimal/>
2248   - <group/>
2249   - </field>
2250   - <field>
2251   - <name>&#x53d1;&#x52a8;&#x673a;&#x53f7;&#x7801;1</name>
2252   - <type>String</type>
2253   - <length>-1</length>
2254   - <precision>-1</precision>
2255   - <trim_type>none</trim_type>
2256   - <repeat>N</repeat>
2257   - <format/>
2258   - <currency/>
2259   - <decimal/>
2260   - <group/>
2261   - </field>
2262   - <field>
2263   - <name>&#x53d1;&#x52a8;&#x673a;&#x53f7;&#x7801;2</name>
2264   - <type>String</type>
2265   - <length>-1</length>
2266   - <precision>-1</precision>
2267   - <trim_type>none</trim_type>
2268   - <repeat>N</repeat>
2269   - <format/>
2270   - <currency/>
2271   - <decimal/>
2272   - <group/>
2273   - </field>
2274   - <field>
2275   - <name>&#x8f66;&#x67b6;&#x53f7;&#x7801;1</name>
2276   - <type>String</type>
2277   - <length>-1</length>
2278   - <precision>-1</precision>
2279   - <trim_type>none</trim_type>
2280   - <repeat>N</repeat>
2281   - <format/>
2282   - <currency/>
2283   - <decimal/>
2284   - <group/>
2285   - </field>
2286   - <field>
2287   - <name>&#x8f66;&#x67b6;&#x53f7;&#x7801;2</name>
2288   - <type>String</type>
2289   - <length>-1</length>
2290   - <precision>-1</precision>
2291   - <trim_type>none</trim_type>
2292   - <repeat>N</repeat>
2293   - <format/>
2294   - <currency/>
2295   - <decimal/>
2296   - <group/>
2297   - </field>
2298   - <field>
2299   - <name>&#x8f66;&#x8f86;&#x7c7b;&#x578b;</name>
2300   - <type>String</type>
2301   - <length>-1</length>
2302   - <precision>-1</precision>
2303   - <trim_type>none</trim_type>
2304   - <repeat>N</repeat>
2305   - <format/>
2306   - <currency/>
2307   - <decimal/>
2308   - <group/>
2309   - </field>
2310   - <field>
2311   - <name>&#x6240;&#x5c5e;&#x516c;&#x53f8;</name>
2312   - <type>String</type>
2313   - <length>-1</length>
2314   - <precision>-1</precision>
2315   - <trim_type>none</trim_type>
2316   - <repeat>N</repeat>
2317   - <format/>
2318   - <currency/>
2319   - <decimal/>
2320   - <group/>
2321   - </field>
2322   - <field>
2323   - <name>&#x4fee;&#x6539;&#x65e5;&#x671f;</name>
2324   - <type>String</type>
2325   - <length>-1</length>
2326   - <precision>-1</precision>
2327   - <trim_type>none</trim_type>
2328   - <repeat>N</repeat>
2329   - <format/>
2330   - <currency/>
2331   - <decimal/>
2332   - <group/>
2333   - </field>
2334   - <field>
2335   - <name>&#x662f;&#x5426;&#x673a;&#x52a8;&#x8f66;</name>
2336   - <type>String</type>
2337   - <length>-1</length>
2338   - <precision>-1</precision>
2339   - <trim_type>none</trim_type>
2340   - <repeat>N</repeat>
2341   - <format/>
2342   - <currency/>
2343   - <decimal/>
2344   - <group/>
2345   - </field>
2346   - <field>
2347   - <name>&#x89c6;&#x9891;&#x7f16;&#x53f7;</name>
2348   - <type>String</type>
2349   - <length>-1</length>
2350   - <precision>-1</precision>
2351   - <trim_type>none</trim_type>
2352   - <repeat>N</repeat>
2353   - <format/>
2354   - <currency/>
2355   - <decimal/>
2356   - <group/>
2357   - </field>
2358   - <field>
2359   - <name>&#x8bbe;&#x5907;&#x4f9b;&#x5e94;&#x5382;&#x5546;</name>
2360   - <type>String</type>
2361   - <length>-1</length>
2362   - <precision>-1</precision>
2363   - <trim_type>none</trim_type>
2364   - <repeat>N</repeat>
2365   - <format/>
2366   - <currency/>
2367   - <decimal/>
2368   - <group/>
2369   - </field>
2370   - <field>
2371   - <name>&#x5206;&#x516c;&#x53f8;</name>
2372   - <type>String</type>
2373   - <length>-1</length>
2374   - <precision>-1</precision>
2375   - <trim_type>none</trim_type>
2376   - <repeat>N</repeat>
2377   - <format/>
2378   - <currency/>
2379   - <decimal/>
2380   - <group/>
2381   - </field>
2382   - </fields>
2383   - <sheets>
2384   - <sheet>
2385   - <name>&#x5de5;&#x4f5c;&#x8868;1</name>
2386   - <startrow>0</startrow>
2387   - <startcol>0</startcol>
2388   - </sheet>
2389   - </sheets>
2390   - <strict_types>N</strict_types>
2391   - <error_ignored>N</error_ignored>
2392   - <error_line_skipped>N</error_line_skipped>
2393   - <bad_line_files_destination_directory/>
2394   - <bad_line_files_extension>warning</bad_line_files_extension>
2395   - <error_line_files_destination_directory/>
2396   - <error_line_files_extension>error</error_line_files_extension>
2397   - <line_number_files_destination_directory/>
2398   - <line_number_files_extension>line</line_number_files_extension>
2399   - <shortFileFieldName/>
2400   - <pathFieldName/>
2401   - <hiddenFieldName/>
2402   - <lastModificationTimeFieldName/>
2403   - <uriNameFieldName/>
2404   - <rootUriNameFieldName/>
2405   - <extensionFieldName/>
2406   - <sizeFieldName/>
2407   - <spreadsheet_type>JXL</spreadsheet_type>
2408   - <cluster_schema/>
2409   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
2410   - <xloc>131</xloc>
2411   - <yloc>58</yloc>
2412   - <draw>Y</draw>
2413   - </GUI>
2414   - </step>
2415   -
2416   - <step>
2417   - <name>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</name>
2418   - <type>SelectValues</type>
2419   - <description/>
2420   - <distribute>Y</distribute>
2421   - <custom_distribution/>
2422   - <copies>1</copies>
2423   - <partitioning>
2424   - <method>none</method>
2425   - <schema_name/>
2426   - </partitioning>
2427   - <fields> <field> <name>&#x5185;&#x90e8;&#x7f16;&#x7801;</name>
2428   - <rename>insideCode</rename>
2429   - <length>-2</length>
2430   - <precision>-2</precision>
2431   - </field> <field> <name>&#x8f66;&#x8f86;&#x7f16;&#x7801;</name>
2432   - <rename>carCode</rename>
2433   - <length>-2</length>
2434   - <precision>-2</precision>
2435   - </field> <field> <name>&#x6240;&#x5c5e;&#x516c;&#x53f8;</name>
2436   - <rename>company</rename>
2437   - <length>-2</length>
2438   - <precision>-2</precision>
2439   - </field> <field> <name>&#x5206;&#x516c;&#x53f8;</name>
2440   - <rename>brancheCompany</rename>
2441   - <length>-2</length>
2442   - <precision>-2</precision>
2443   - </field> <field> <name>&#x8f66;&#x724c;&#x53f7;</name>
2444   - <rename>carPlate</rename>
2445   - <length>-2</length>
2446   - <precision>-2</precision>
2447   - </field> <field> <name>&#x8bbe;&#x5907;&#x4f9b;&#x5e94;&#x5382;&#x5546;</name>
2448   - <rename>supplierName</rename>
2449   - <length>-2</length>
2450   - <precision>-2</precision>
2451   - </field> <field> <name>&#x8bbe;&#x5907;&#x7f16;&#x53f7;</name>
2452   - <rename>equipmentCode</rename>
2453   - <length>-2</length>
2454   - <precision>-2</precision>
2455   - </field> <field> <name>&#x8f66;&#x578b;&#x7c7b;&#x522b;</name>
2456   - <rename>carClass</rename>
2457   - <length>-2</length>
2458   - <precision>-2</precision>
2459   - </field> <field> <name>&#x6280;&#x672f;&#x901f;&#x5ea6;</name>
2460   - <rename>speed</rename>
2461   - <length>-2</length>
2462   - <precision>-2</precision>
2463   - </field> <field> <name>&#x5ea7;&#x4f4d;&#x6570;</name>
2464   - <rename>carSeatnNumber</rename>
2465   - <length>-2</length>
2466   - <precision>-2</precision>
2467   - </field> <field> <name>&#x8f7d;&#x5ba2;&#x6807;&#x51c6;</name>
2468   - <rename>carStandard</rename>
2469   - <length>-2</length>
2470   - <precision>-2</precision>
2471   - </field> <field> <name>&#x6807;&#x51c6;&#x6cb9;&#x8017;&#x28;&#x5f00;&#x7a7a;&#x8c03;&#x29;</name>
2472   - <rename>kburnStandard</rename>
2473   - <length>-2</length>
2474   - <precision>-2</precision>
2475   - </field> <field> <name>&#x6807;&#x51c6;&#x6cb9;&#x8017;&#x28;&#x5173;&#x7a7a;&#x8c03;&#x29;</name>
2476   - <rename>gburnStandard</rename>
2477   - <length>-2</length>
2478   - <precision>-2</precision>
2479   - </field> <field> <name>&#x62a5;&#x5e9f;&#x53f7;</name>
2480   - <rename>scrapCode</rename>
2481   - <length>-2</length>
2482   - <precision>-2</precision>
2483   - </field> <field> <name>&#x5382;&#x724c;&#x578b;&#x53f7;</name>
2484   - <rename>makeCodeOne</rename>
2485   - <length>-2</length>
2486   - <precision>-2</precision>
2487   - </field> <field> <name>&#x5382;&#x724c;&#x578b;&#x53f7;2</name>
2488   - <rename>makeCodeTwo</rename>
2489   - <length>-2</length>
2490   - <precision>-2</precision>
2491   - </field> <field> <name>&#x8f66;&#x8f86;&#x7b49;&#x7ea7;&#x6807;&#x51c6;</name>
2492   - <rename>carGride</rename>
2493   - <length>-2</length>
2494   - <precision>-2</precision>
2495   - </field> <field> <name>&#x51fa;&#x5382;&#x6392;&#x653e;&#x6807;&#x51c6;</name>
2496   - <rename>emissionsStandard</rename>
2497   - <length>-2</length>
2498   - <precision>-2</precision>
2499   - </field> <field> <name>&#x53d1;&#x52a8;&#x673a;&#x53f7;&#x7801;1</name>
2500   - <rename>engineCodeOne</rename>
2501   - <length>-2</length>
2502   - <precision>-2</precision>
2503   - </field> <field> <name>&#x53d1;&#x52a8;&#x673a;&#x53f7;&#x7801;2</name>
2504   - <rename>engineCodeTwo</rename>
2505   - <length>-2</length>
2506   - <precision>-2</precision>
2507   - </field> <field> <name>&#x8f66;&#x67b6;&#x53f7;&#x7801;1</name>
2508   - <rename>carNumberOne</rename>
2509   - <length>-2</length>
2510   - <precision>-2</precision>
2511   - </field> <field> <name>&#x8f66;&#x67b6;&#x53f7;&#x7801;2</name>
2512   - <rename>carNumberTwo</rename>
2513   - <length>-2</length>
2514   - <precision>-2</precision>
2515   - </field> <field> <name>&#x542f;&#x7528;&#x65e5;&#x671f;</name>
2516   - <rename>openDate</rename>
2517   - <length>-2</length>
2518   - <precision>-2</precision>
2519   - </field> <field> <name>&#x53d6;&#x6d88;&#x65e5;&#x671f;</name>
2520   - <rename>closeDate</rename>
2521   - <length>-2</length>
2522   - <precision>-2</precision>
2523   - </field> <field> <name>&#x662f;&#x5426;&#x7a7a;&#x8c03;</name>
2524   - <rename>hvacCar</rename>
2525   - <length>-2</length>
2526   - <precision>-2</precision>
2527   - </field> <field> <name>&#x6709;&#x65e0;&#x4eba;&#x552e;&#x7968;</name>
2528   - <rename>ticketType</rename>
2529   - <length>-2</length>
2530   - <precision>-2</precision>
2531   - </field> <field> <name>&#x662f;&#x5426;&#x6709;LED&#x670d;&#x52a1;&#x5c4f;</name>
2532   - <rename>ledScreen</rename>
2533   - <length>-2</length>
2534   - <precision>-2</precision>
2535   - </field> <field> <name>&#x662f;&#x5426;&#x6709;TV&#x89c6;&#x9891;</name>
2536   - <rename>tvVideoType</rename>
2537   - <length>-2</length>
2538   - <precision>-2</precision>
2539   - </field> <field> <name>&#x8f66;&#x8f86;&#x7c7b;&#x578b;</name>
2540   - <rename>carType</rename>
2541   - <length>-2</length>
2542   - <precision>-2</precision>
2543   - </field> <field> <name>&#x662f;&#x5426;&#x673a;&#x52a8;&#x8f66;</name>
2544   - <rename>vehicleStats</rename>
2545   - <length>-2</length>
2546   - <precision>-2</precision>
2547   - </field> <field> <name>&#x8fd0;&#x8425;&#x72b6;&#x6001;</name>
2548   - <rename>operatorsState</rename>
2549   - <length>-2</length>
2550   - <precision>-2</precision>
2551   - </field> <field> <name>&#x5907;&#x6ce8;</name>
2552   - <rename>descriptions</rename>
2553   - <length>-2</length>
2554   - <precision>-2</precision>
2555   - </field> <field> <name>&#x89c6;&#x9891;&#x7f16;&#x53f7;</name>
2556   - <rename>videoCode</rename>
2557   - <length>-2</length>
2558   - <precision>-2</precision>
2559   - </field> <select_unspecified>Y</select_unspecified>
2560   - </fields> <cluster_schema/>
2561   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
2562   - <xloc>279</xloc>
2563   - <yloc>59</yloc>
2564   - <draw>Y</draw>
2565   - </GUI>
2566   - </step>
2567   -
2568   - <step>
2569   - <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_cars</name>
2570   - <type>InsertUpdate</type>
2571   - <description/>
2572   - <distribute>Y</distribute>
2573   - <custom_distribution/>
2574   - <copies>1</copies>
2575   - <partitioning>
2576   - <method>none</method>
2577   - <schema_name/>
2578   - </partitioning>
2579   - <connection>bus_control_&#x516c;&#x53f8;_201</connection>
2580   - <commit>1000</commit>
2581   - <update_bypassed>N</update_bypassed>
2582   - <lookup>
2583   - <schema/>
2584   - <table>bsth_c_cars</table>
2585   - <key>
2586   - <name>insideCode</name>
2587   - <field>inside_code</field>
2588   - <condition>&#x3d;</condition>
2589   - <name2/>
2590   - </key>
2591   - <value>
2592   - <name>inside_code</name>
2593   - <rename>insideCode</rename>
2594   - <update>Y</update>
2595   - </value>
2596   - <value>
2597   - <name>company</name>
2598   - <rename>company</rename>
2599   - <update>Y</update>
2600   - </value>
2601   - <value>
2602   - <name>branche_company</name>
2603   - <rename>brancheCompany</rename>
2604   - <update>Y</update>
2605   - </value>
2606   - <value>
2607   - <name>car_plate</name>
2608   - <rename>carPlate</rename>
2609   - <update>Y</update>
2610   - </value>
2611   - <value>
2612   - <name>supplier_name</name>
2613   - <rename>supplierName</rename>
2614   - <update>Y</update>
2615   - </value>
2616   - <value>
2617   - <name>equipment_code</name>
2618   - <rename>equipmentCode</rename>
2619   - <update>Y</update>
2620   - </value>
2621   - <value>
2622   - <name>car_class</name>
2623   - <rename>carClass</rename>
2624   - <update>Y</update>
2625   - </value>
2626   - <value>
2627   - <name>speed</name>
2628   - <rename>speed</rename>
2629   - <update>Y</update>
2630   - </value>
2631   - <value>
2632   - <name>car_seatn_number</name>
2633   - <rename>carSeatnNumber</rename>
2634   - <update>Y</update>
2635   - </value>
2636   - <value>
2637   - <name>car_standard</name>
2638   - <rename>carStandard</rename>
2639   - <update>Y</update>
2640   - </value>
2641   - <value>
2642   - <name>car_code</name>
2643   - <rename>carCode</rename>
2644   - <update>Y</update>
2645   - </value>
2646   - <value>
2647   - <name>kburn_standard</name>
2648   - <rename>kburnStandard</rename>
2649   - <update>Y</update>
2650   - </value>
2651   - <value>
2652   - <name>gburn_standard</name>
2653   - <rename>gburnStandard</rename>
2654   - <update>Y</update>
2655   - </value>
2656   - <value>
2657   - <name>scrap_code</name>
2658   - <rename>scrapCode</rename>
2659   - <update>Y</update>
2660   - </value>
2661   - <value>
2662   - <name>make_code_one</name>
2663   - <rename>makeCodeOne</rename>
2664   - <update>Y</update>
2665   - </value>
2666   - <value>
2667   - <name>make_code_two</name>
2668   - <rename>makeCodeTwo</rename>
2669   - <update>Y</update>
2670   - </value>
2671   - <value>
2672   - <name>car_gride</name>
2673   - <rename>carGride</rename>
2674   - <update>Y</update>
2675   - </value>
2676   - <value>
2677   - <name>emissions_standard</name>
2678   - <rename>emissionsStandard</rename>
2679   - <update>Y</update>
2680   - </value>
2681   - <value>
2682   - <name>engine_code_one</name>
2683   - <rename>engineCodeOne</rename>
2684   - <update>Y</update>
2685   - </value>
2686   - <value>
2687   - <name>engine_code_two</name>
2688   - <rename>engineCodeTwo</rename>
2689   - <update>Y</update>
2690   - </value>
2691   - <value>
2692   - <name>car_number_one</name>
2693   - <rename>carNumberOne</rename>
2694   - <update>Y</update>
2695   - </value>
2696   - <value>
2697   - <name>car_number_two</name>
2698   - <rename>carNumberTwo</rename>
2699   - <update>Y</update>
2700   - </value>
2701   - <value>
2702   - <name>open_date</name>
2703   - <rename>openDate</rename>
2704   - <update>Y</update>
2705   - </value>
2706   - <value>
2707   - <name>close_date</name>
2708   - <rename>closeDate</rename>
2709   - <update>Y</update>
2710   - </value>
2711   - <value>
2712   - <name>hvac_car</name>
2713   - <rename>hvacCar</rename>
2714   - <update>Y</update>
2715   - </value>
2716   - <value>
2717   - <name>ticket_type</name>
2718   - <rename>ticketType</rename>
2719   - <update>Y</update>
2720   - </value>
2721   - <value>
2722   - <name>led_screen</name>
2723   - <rename>ledScreen</rename>
2724   - <update>Y</update>
2725   - </value>
2726   - <value>
2727   - <name>tv_video_type</name>
2728   - <rename>tvVideoType</rename>
2729   - <update>Y</update>
2730   - </value>
2731   - <value>
2732   - <name>car_type</name>
2733   - <rename>carType</rename>
2734   - <update>Y</update>
2735   - </value>
2736   - <value>
2737   - <name>vehicle_stats</name>
2738   - <rename>vehicleStats</rename>
2739   - <update>Y</update>
2740   - </value>
2741   - <value>
2742   - <name>operators_state</name>
2743   - <rename>operatorsState</rename>
2744   - <update>Y</update>
2745   - </value>
2746   - <value>
2747   - <name>descriptions</name>
2748   - <rename>descriptions</rename>
2749   - <update>Y</update>
2750   - </value>
2751   - <value>
2752   - <name>video_code</name>
2753   - <rename>videoCode</rename>
2754   - <update>Y</update>
2755   - </value>
2756   - <value>
2757   - <name>business_code</name>
2758   - <rename>businessCode</rename>
2759   - <update>Y</update>
2760   - </value>
2761   - </lookup>
2762   - <cluster_schema/>
2763   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
2764   - <xloc>842</xloc>
2765   - <yloc>319</yloc>
2766   - <draw>Y</draw>
2767   - </GUI>
2768   - </step>
2769   -
2770   - <step>
2771   - <name>&#x662f;&#x5426;&#x6709;LED&#x670d;&#x52a1;&#x5c4f;</name>
2772   - <type>ValueMapper</type>
2773   - <description/>
2774   - <distribute>Y</distribute>
2775   - <custom_distribution/>
2776   - <copies>1</copies>
2777   - <partitioning>
2778   - <method>none</method>
2779   - <schema_name/>
2780   - </partitioning>
2781   - <field_to_use>ledScreen</field_to_use>
2782   - <target_field/>
2783   - <non_match_default/>
2784   - <fields>
2785   - <field>
2786   - <source_value>&#x662f;</source_value>
2787   - <target_value>1</target_value>
2788   - </field>
2789   - <field>
2790   - <source_value>&#x5426;</source_value>
2791   - <target_value>0</target_value>
2792   - </field>
2793   - </fields>
2794   - <cluster_schema/>
2795   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
2796   - <xloc>590</xloc>
2797   - <yloc>61</yloc>
2798   - <draw>Y</draw>
2799   - </GUI>
2800   - </step>
2801   -
2802   - <step>
2803   - <name>&#x662f;&#x5426;&#x6709;TV&#x89c6;&#x9891;</name>
2804   - <type>ValueMapper</type>
2805   - <description/>
2806   - <distribute>Y</distribute>
2807   - <custom_distribution/>
2808   - <copies>1</copies>
2809   - <partitioning>
2810   - <method>none</method>
2811   - <schema_name/>
2812   - </partitioning>
2813   - <field_to_use>tvVideoType</field_to_use>
2814   - <target_field/>
2815   - <non_match_default/>
2816   - <fields>
2817   - <field>
2818   - <source_value>&#x662f;</source_value>
2819   - <target_value>1</target_value>
2820   - </field>
2821   - <field>
2822   - <source_value>&#x5426;</source_value>
2823   - <target_value>0</target_value>
2824   - </field>
2825   - </fields>
2826   - <cluster_schema/>
2827   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
2828   - <xloc>706</xloc>
2829   - <yloc>61</yloc>
2830   - <draw>Y</draw>
2831   - </GUI>
2832   - </step>
2833   -
2834   - <step>
2835   - <name>&#x662f;&#x5426;&#x7684;&#x53d8;&#x6210;&#x6570;&#x5b57;&#x578b;</name>
2836   - <type>SelectValues</type>
2837   - <description/>
2838   - <distribute>Y</distribute>
2839   - <custom_distribution/>
2840   - <copies>1</copies>
2841   - <partitioning>
2842   - <method>none</method>
2843   - <schema_name/>
2844   - </partitioning>
2845   - <fields> <select_unspecified>N</select_unspecified>
2846   - <meta> <name>hvacCar</name>
2847   - <rename>hvacCar</rename>
2848   - <type>Integer</type>
2849   - <length>1</length>
2850   - <precision>-2</precision>
2851   - <conversion_mask/>
2852   - <date_format_lenient>false</date_format_lenient>
2853   - <date_format_locale/>
2854   - <date_format_timezone/>
2855   - <lenient_string_to_number>false</lenient_string_to_number>
2856   - <encoding/>
2857   - <decimal_symbol/>
2858   - <grouping_symbol/>
2859   - <currency_symbol/>
2860   - <storage_type/>
2861   - </meta> <meta> <name>ticketType</name>
2862   - <rename>ticketType</rename>
2863   - <type>Integer</type>
2864   - <length>1</length>
2865   - <precision>-2</precision>
2866   - <conversion_mask/>
2867   - <date_format_lenient>false</date_format_lenient>
2868   - <date_format_locale/>
2869   - <date_format_timezone/>
2870   - <lenient_string_to_number>false</lenient_string_to_number>
2871   - <encoding/>
2872   - <decimal_symbol/>
2873   - <grouping_symbol/>
2874   - <currency_symbol/>
2875   - <storage_type/>
2876   - </meta> <meta> <name>ledScreen</name>
2877   - <rename>ledScreen</rename>
2878   - <type>Integer</type>
2879   - <length>1</length>
2880   - <precision>-2</precision>
2881   - <conversion_mask/>
2882   - <date_format_lenient>false</date_format_lenient>
2883   - <date_format_locale/>
2884   - <date_format_timezone/>
2885   - <lenient_string_to_number>false</lenient_string_to_number>
2886   - <encoding/>
2887   - <decimal_symbol/>
2888   - <grouping_symbol/>
2889   - <currency_symbol/>
2890   - <storage_type/>
2891   - </meta> <meta> <name>tvVideoType</name>
2892   - <rename>tvVideoType</rename>
2893   - <type>Integer</type>
2894   - <length>1</length>
2895   - <precision>-2</precision>
2896   - <conversion_mask/>
2897   - <date_format_lenient>false</date_format_lenient>
2898   - <date_format_locale/>
2899   - <date_format_timezone/>
2900   - <lenient_string_to_number>false</lenient_string_to_number>
2901   - <encoding/>
2902   - <decimal_symbol/>
2903   - <grouping_symbol/>
2904   - <currency_symbol/>
2905   - <storage_type/>
2906   - </meta> </fields> <cluster_schema/>
2907   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
2908   - <xloc>839</xloc>
2909   - <yloc>61</yloc>
2910   - <draw>Y</draw>
2911   - </GUI>
2912   - </step>
2913   -
2914   - <step>
2915   - <name>&#x662f;&#x5426;&#x7a7a;&#x8c03;&#x8f66;</name>
2916   - <type>ValueMapper</type>
2917   - <description/>
2918   - <distribute>Y</distribute>
2919   - <custom_distribution/>
2920   - <copies>1</copies>
2921   - <partitioning>
2922   - <method>none</method>
2923   - <schema_name/>
2924   - </partitioning>
2925   - <field_to_use>hvacCar</field_to_use>
2926   - <target_field/>
2927   - <non_match_default/>
2928   - <fields>
2929   - <field>
2930   - <source_value>&#x662f;</source_value>
2931   - <target_value>1</target_value>
2932   - </field>
2933   - <field>
2934   - <source_value>&#x5426;</source_value>
2935   - <target_value>0</target_value>
2936   - </field>
2937   - </fields>
2938   - <cluster_schema/>
2939   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
2940   - <xloc>388</xloc>
2941   - <yloc>61</yloc>
2942   - <draw>Y</draw>
2943   - </GUI>
2944   - </step>
2945   -
2946   - <step>
2947   - <name>&#x6709;&#x65e0;&#x4eba;&#x552e;&#x7968;</name>
2948   - <type>ValueMapper</type>
2949   - <description/>
2950   - <distribute>Y</distribute>
2951   - <custom_distribution/>
2952   - <copies>1</copies>
2953   - <partitioning>
2954   - <method>none</method>
2955   - <schema_name/>
2956   - </partitioning>
2957   - <field_to_use>ticketType</field_to_use>
2958   - <target_field/>
2959   - <non_match_default/>
2960   - <fields>
2961   - <field>
2962   - <source_value>&#x662f;</source_value>
2963   - <target_value>1</target_value>
2964   - </field>
2965   - <field>
2966   - <source_value>&#x5426;</source_value>
2967   - <target_value>0</target_value>
2968   - </field>
2969   - </fields>
2970   - <cluster_schema/>
2971   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
2972   - <xloc>485</xloc>
2973   - <yloc>61</yloc>
2974   - <draw>Y</draw>
2975   - </GUI>
2976   - </step>
2977   -
2978   - <step>
2979   - <name>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</name>
2980   - <type>GetVariable</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   - <fields>
2990   - <field>
2991   - <name>filepath_</name>
2992   - <variable>&#x24;&#x7b;filepath&#x7d;</variable>
2993   - <type>String</type>
2994   - <format/>
2995   - <currency/>
2996   - <decimal/>
2997   - <group/>
2998   - <length>-1</length>
2999   - <precision>-1</precision>
3000   - <trim_type>none</trim_type>
3001   - </field>
3002   - <field>
3003   - <name>erroroutputdir_</name>
3004   - <variable>&#x24;&#x7b;erroroutputdir&#x7d;</variable>
3005   - <type>String</type>
3006   - <format/>
3007   - <currency/>
3008   - <decimal/>
3009   - <group/>
3010   - <length>-1</length>
3011   - <precision>-1</precision>
3012   - <trim_type>none</trim_type>
3013   - </field>
3014   - </fields>
3015   - <cluster_schema/>
3016   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
3017   - <xloc>134</xloc>
3018   - <yloc>183</yloc>
3019   - <draw>Y</draw>
3020   - </GUI>
3021   - </step>
3022   -
3023   - <step>
3024   - <name>&#x9519;&#x8bef;&#x8f93;&#x51fa;</name>
3025   - <type>ExcelOutput</type>
3026   - <description/>
3027   - <distribute>Y</distribute>
3028   - <custom_distribution/>
3029   - <copies>1</copies>
3030   - <partitioning>
3031   - <method>none</method>
3032   - <schema_name/>
3033   - </partitioning>
3034   - <header>Y</header>
3035   - <footer>N</footer>
3036   - <encoding/>
3037   - <append>N</append>
3038   - <add_to_result_filenames>Y</add_to_result_filenames>
3039   - <file>
3040   - <name>&#x24;&#x7b;erroroutputdir&#x7d;&#x2f;&#x8f66;&#x8f86;&#x57fa;&#x7840;&#x4fe1;&#x606f;_&#x9519;&#x8bef;</name>
3041   - <extention>xls</extention>
3042   - <do_not_open_newfile_init>N</do_not_open_newfile_init>
3043   - <create_parent_folder>N</create_parent_folder>
3044   - <split>N</split>
3045   - <add_date>N</add_date>
3046   - <add_time>N</add_time>
3047   - <SpecifyFormat>N</SpecifyFormat>
3048   - <date_time_format/>
3049   - <sheetname>Sheet1</sheetname>
3050   - <autosizecolums>N</autosizecolums>
3051   - <nullisblank>N</nullisblank>
3052   - <protect_sheet>N</protect_sheet>
3053   - <password>Encrypted </password>
3054   - <splitevery>0</splitevery>
3055   - <usetempfiles>N</usetempfiles>
3056   - <tempdirectory/>
3057   - </file>
3058   - <template>
3059   - <enabled>N</enabled>
3060   - <append>N</append>
3061   - <filename>template.xls</filename>
3062   - </template>
3063   - <fields>
3064   - <field>
3065   - <name>insideCode</name>
3066   - <type>String</type>
3067   - <format/>
3068   - </field>
3069   - <field>
3070   - <name>company</name>
3071   - <type>String</type>
3072   - <format/>
3073   - </field>
3074   - <field>
3075   - <name>brancheCompany</name>
3076   - <type>String</type>
3077   - <format/>
3078   - </field>
3079   - <field>
3080   - <name>carPlate</name>
3081   - <type>String</type>
3082   - <format/>
3083   - </field>
3084   - <field>
3085   - <name>supplierName</name>
3086   - <type>String</type>
3087   - <format/>
3088   - </field>
3089   - <field>
3090   - <name>equipmentCode</name>
3091   - <type>String</type>
3092   - <format/>
3093   - </field>
3094   - <field>
3095   - <name>carClass</name>
3096   - <type>String</type>
3097   - <format/>
3098   - </field>
3099   - <field>
3100   - <name>speed</name>
3101   - <type>String</type>
3102   - <format/>
3103   - </field>
3104   - <field>
3105   - <name>carSeatnNumber</name>
3106   - <type>String</type>
3107   - <format/>
3108   - </field>
3109   - <field>
3110   - <name>carStandard</name>
3111   - <type>String</type>
3112   - <format/>
3113   - </field>
3114   - <field>
3115   - <name>kburnStandard</name>
3116   - <type>String</type>
3117   - <format/>
3118   - </field>
3119   - <field>
3120   - <name>gburnStandard</name>
3121   - <type>String</type>
3122   - <format/>
3123   - </field>
3124   - <field>
3125   - <name>scrapCode</name>
3126   - <type>String</type>
3127   - <format/>
3128   - </field>
3129   - <field>
3130   - <name>makeCodeOne</name>
3131   - <type>String</type>
3132   - <format/>
3133   - </field>
3134   - <field>
3135   - <name>makeCodeTwo</name>
3136   - <type>String</type>
3137   - <format/>
3138   - </field>
3139   - <field>
3140   - <name>carGride</name>
3141   - <type>String</type>
3142   - <format/>
3143   - </field>
3144   - <field>
3145   - <name>emissionsStandard</name>
3146   - <type>String</type>
3147   - <format/>
3148   - </field>
3149   - <field>
3150   - <name>engineCodeOne</name>
3151   - <type>String</type>
3152   - <format/>
3153   - </field>
3154   - <field>
3155   - <name>engineCodeTwo</name>
3156   - <type>String</type>
3157   - <format/>
3158   - </field>
3159   - <field>
3160   - <name>carNumberOne</name>
3161   - <type>String</type>
3162   - <format/>
3163   - </field>
3164   - <field>
3165   - <name>carNumberTwo</name>
3166   - <type>String</type>
3167   - <format/>
3168   - </field>
3169   - <field>
3170   - <name>openDate</name>
3171   - <type>String</type>
3172   - <format/>
3173   - </field>
3174   - <field>
3175   - <name>closeDate</name>
3176   - <type>String</type>
3177   - <format/>
3178   - </field>
3179   - <field>
3180   - <name>hvacCar</name>
3181   - <type>Integer</type>
3182   - <format/>
3183   - </field>
3184   - <field>
3185   - <name>ticketType</name>
3186   - <type>Integer</type>
3187   - <format/>
3188   - </field>
3189   - <field>
3190   - <name>ledScreen</name>
3191   - <type>Integer</type>
3192   - <format/>
3193   - </field>
3194   - <field>
3195   - <name>tvVideoType</name>
3196   - <type>Integer</type>
3197   - <format/>
3198   - </field>
3199   - <field>
3200   - <name>carType</name>
3201   - <type>String</type>
3202   - <format/>
3203   - </field>
3204   - <field>
3205   - <name>vehicleStats</name>
3206   - <type>String</type>
3207   - <format/>
3208   - </field>
3209   - <field>
3210   - <name>operatorsState</name>
3211   - <type>String</type>
3212   - <format/>
3213   - </field>
3214   - <field>
3215   - <name>descriptions</name>
3216   - <type>String</type>
3217   - <format/>
3218   - </field>
3219   - <field>
3220   - <name>videoCode</name>
3221   - <type>String</type>
3222   - <format/>
3223   - </field>
3224   - <field>
3225   - <name>businessCode</name>
3226   - <type>String</type>
3227   - <format/>
3228   - </field>
3229   - <field>
3230   - <name>carCode</name>
3231   - <type>String</type>
3232   - <format/>
3233   - </field>
3234   - <field>
3235   - <name>error_count</name>
3236   - <type>Integer</type>
3237   - <format/>
3238   - </field>
3239   - <field>
3240   - <name>error_desc</name>
3241   - <type>String</type>
3242   - <format/>
3243   - </field>
3244   - <field>
3245   - <name>error_column1</name>
3246   - <type>String</type>
3247   - <format/>
3248   - </field>
3249   - <field>
3250   - <name>error_column2</name>
3251   - <type>String</type>
3252   - <format/>
3253   - </field>
3254   - </fields>
3255   - <custom>
3256   - <header_font_name>arial</header_font_name>
3257   - <header_font_size>10</header_font_size>
3258   - <header_font_bold>N</header_font_bold>
3259   - <header_font_italic>N</header_font_italic>
3260   - <header_font_underline>no</header_font_underline>
3261   - <header_font_orientation>horizontal</header_font_orientation>
3262   - <header_font_color>black</header_font_color>
3263   - <header_background_color>none</header_background_color>
3264   - <header_row_height>255</header_row_height>
3265   - <header_alignment>left</header_alignment>
3266   - <header_image/>
3267   - <row_font_name>arial</row_font_name>
3268   - <row_font_size>10</row_font_size>
3269   - <row_font_color>black</row_font_color>
3270   - <row_background_color>none</row_background_color>
3271   - </custom>
3272   - <cluster_schema/>
3273   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
3274   - <xloc>637</xloc>
3275   - <yloc>320</yloc>
3276   - <draw>Y</draw>
3277   - </GUI>
3278   - </step>
3279   -
3280   - <step_error_handling>
3281   - <error>
3282   - <source_step>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_cars</source_step>
3283   - <target_step>&#x9519;&#x8bef;&#x8f93;&#x51fa;</target_step>
3284   - <is_enabled>Y</is_enabled>
3285   - <nr_valuename>error_count</nr_valuename>
3286   - <descriptions_valuename>error_desc</descriptions_valuename>
3287   - <fields_valuename>error_column1</fields_valuename>
3288   - <codes_valuename>error_column2</codes_valuename>
3289   - <max_errors/>
3290   - <max_pct_errors/>
3291   - <min_pct_rows/>
3292   - </error>
3293   - </step_error_handling>
3294   - <slave-step-copy-partition-distribution>
3295   -</slave-step-copy-partition-distribution>
3296   - <slave_transformation>N</slave_transformation>
3297   -
3298   -</transformation>
3299   ->>>>>>> 502f6f7ff3ff76f0f6b6dbdac8a353604a7d5626
... ...
src/main/resources/datatools/ktrs/employeesConfigDataInput.ktr
... ... @@ -80,7 +80,7 @@
80 80 <created_date>2016&#x2f;06&#x2f;29 15&#x3a;12&#x3a;27.273</created_date>
81 81 <modified_user>-</modified_user>
82 82 <modified_date>2016&#x2f;06&#x2f;29 15&#x3a;12&#x3a;27.273</modified_date>
83   - <key_for_session_key/>
  83 + <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</key_for_session_key>
84 84 <is_key_private>N</is_key_private>
85 85 </info>
86 86 <notepads>
... ... @@ -107,14 +107,68 @@
107 107 </notepad>
108 108 </notepads>
109 109 <connection>
  110 + <name>bus_control_variable</name>
  111 + <server>&#x24;&#x7b;v_db_ip&#x7d;</server>
  112 + <type>MYSQL</type>
  113 + <access>Native</access>
  114 + <database>control</database>
  115 + <port>3306</port>
  116 + <username>&#x24;&#x7b;v_db_uname&#x7d;</username>
  117 + <password>&#x24;&#x7b;v_db_pwd&#x7d;</password>
  118 + <servername/>
  119 + <data_tablespace/>
  120 + <index_tablespace/>
  121 + <attributes>
  122 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  123 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  124 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  125 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  126 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  127 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  128 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  129 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  130 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  131 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  132 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  133 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  134 + </attributes>
  135 + </connection>
  136 + <connection>
110 137 <name>bus_control_&#x516c;&#x53f8;_201</name>
111   - <server>192.168.168.201</server>
  138 + <server>localhost</server>
  139 + <type>MYSQL</type>
  140 + <access>Native</access>
  141 + <database>control</database>
  142 + <port>3306</port>
  143 + <username>root</username>
  144 + <password>Encrypted </password>
  145 + <servername/>
  146 + <data_tablespace/>
  147 + <index_tablespace/>
  148 + <attributes>
  149 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  150 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  151 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  152 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  153 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  154 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  155 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  156 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  157 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  158 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  159 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  160 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  161 + </attributes>
  162 + </connection>
  163 + <connection>
  164 + <name>bus_control_&#x672c;&#x673a;</name>
  165 + <server>localhost</server>
112 166 <type>MYSQL</type>
113 167 <access>Native</access>
114 168 <database>control</database>
115 169 <port>3306</port>
116 170 <username>root</username>
117   - <password>Encrypted 2be98afc86aa7f2e4cb79ff228dc6fa8c</password>
  171 + <password>Encrypted </password>
118 172 <servername/>
119 173 <data_tablespace/>
120 174 <index_tablespace/>
... ... @@ -432,7 +486,7 @@
432 486 <method>none</method>
433 487 <schema_name/>
434 488 </partitioning>
435   - <connection>bus_control_&#x516c;&#x53f8;_201</connection>
  489 + <connection>bus_control_variable</connection>
436 490 <commit>100</commit>
437 491 <update_bypassed>N</update_bypassed>
438 492 <lookup>
... ... @@ -496,7 +550,7 @@
496 550 <method>none</method>
497 551 <schema_name/>
498 552 </partitioning>
499   - <connection>bus_control_&#x516c;&#x53f8;_201</connection>
  553 + <connection>bus_control_variable</connection>
500 554 <cache>N</cache>
501 555 <cache_load_all>N</cache_load_all>
502 556 <cache_size>0</cache_size>
... ... @@ -538,7 +592,7 @@
538 592 <method>none</method>
539 593 <schema_name/>
540 594 </partitioning>
541   - <connection>bus_control_&#x516c;&#x53f8;_201</connection>
  595 + <connection>bus_control_variable</connection>
542 596 <cache>N</cache>
543 597 <cache_load_all>N</cache_load_all>
544 598 <cache_size>0</cache_size>
... ... @@ -580,7 +634,7 @@
580 634 <method>none</method>
581 635 <schema_name/>
582 636 </partitioning>
583   - <connection>bus_control_&#x516c;&#x53f8;_201</connection>
  637 + <connection>bus_control_variable</connection>
584 638 <cache>N</cache>
585 639 <cache_load_all>N</cache_load_all>
586 640 <cache_size>0</cache_size>
... ... @@ -612,6 +666,51 @@
612 666 </step>
613 667  
614 668 <step>
  669 + <name>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</name>
  670 + <type>GetVariable</type>
  671 + <description/>
  672 + <distribute>Y</distribute>
  673 + <custom_distribution/>
  674 + <copies>1</copies>
  675 + <partitioning>
  676 + <method>none</method>
  677 + <schema_name/>
  678 + </partitioning>
  679 + <fields>
  680 + <field>
  681 + <name>filepath_</name>
  682 + <variable>&#x24;&#x7b;filepath&#x7d;</variable>
  683 + <type>String</type>
  684 + <format/>
  685 + <currency/>
  686 + <decimal/>
  687 + <group/>
  688 + <length>-1</length>
  689 + <precision>-1</precision>
  690 + <trim_type>none</trim_type>
  691 + </field>
  692 + <field>
  693 + <name>erroroutputdir_</name>
  694 + <variable>&#x24;&#x7b;erroroutputdir&#x7d;</variable>
  695 + <type>String</type>
  696 + <format/>
  697 + <currency/>
  698 + <decimal/>
  699 + <group/>
  700 + <length>-1</length>
  701 + <precision>-1</precision>
  702 + <trim_type>none</trim_type>
  703 + </field>
  704 + </fields>
  705 + <cluster_schema/>
  706 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  707 + <xloc>94</xloc>
  708 + <yloc>178</yloc>
  709 + <draw>Y</draw>
  710 + </GUI>
  711 + </step>
  712 +
  713 + <step>
615 714 <name>&#x9519;&#x8bef;&#x8f93;&#x51fa;</name>
616 715 <type>ExcelOutput</type>
617 716 <description/>
... ... @@ -748,51 +847,6 @@
748 847 </GUI>
749 848 </step>
750 849  
751   - <step>
752   - <name>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</name>
753   - <type>GetVariable</type>
754   - <description/>
755   - <distribute>Y</distribute>
756   - <custom_distribution/>
757   - <copies>1</copies>
758   - <partitioning>
759   - <method>none</method>
760   - <schema_name/>
761   - </partitioning>
762   - <fields>
763   - <field>
764   - <name>filepath_</name>
765   - <variable>&#x24;&#x7b;filepath&#x7d;</variable>
766   - <type>String</type>
767   - <format/>
768   - <currency/>
769   - <decimal/>
770   - <group/>
771   - <length>-1</length>
772   - <precision>-1</precision>
773   - <trim_type>none</trim_type>
774   - </field>
775   - <field>
776   - <name>erroroutputdir_</name>
777   - <variable>&#x24;&#x7b;erroroutputdir&#x7d;</variable>
778   - <type>String</type>
779   - <format/>
780   - <currency/>
781   - <decimal/>
782   - <group/>
783   - <length>-1</length>
784   - <precision>-1</precision>
785   - <trim_type>none</trim_type>
786   - </field>
787   - </fields>
788   - <cluster_schema/>
789   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
790   - <xloc>94</xloc>
791   - <yloc>178</yloc>
792   - <draw>Y</draw>
793   - </GUI>
794   - </step>
795   -
796 850 <step_error_handling>
797 851 <error>
798 852 <source_step>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ecinfo</source_step>
... ...
src/main/resources/datatools/ktrs/employeesDataInput.ktr
1   -<?xml version="1.0" encoding="UTF-8"?>
2   -<transformation>
3   - <info>
4   - <name>employeesDataInput</name>
5   - <description>&#x4eba;&#x5458;&#x57fa;&#x7840;&#x4fe1;&#x606f;&#x5bfc;&#x5165;</description>
6   - <extended_description>&#x4eba;&#x5458;&#x57fa;&#x7840;&#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   - <parameter>
13   - <name>erroroutputdir</name>
14   - <default_value/>
15   - <description>ktr step&#x914d;&#x7f6e;&#x7684;&#x9519;&#x8bef;&#x8f93;&#x51fa;&#x76ee;&#x5f55;</description>
16   - </parameter>
17   - <parameter>
18   - <name>filepath</name>
19   - <default_value/>
20   - <description>&#x5f85;&#x5904;&#x7406;&#x5bfc;&#x5165;&#x7684;excel&#x6587;&#x4ef6;</description>
21   - </parameter>
22   - </parameters>
23   - <log>
24   -<trans-log-table><connection/>
25   -<schema/>
26   -<table/>
27   -<size_limit_lines/>
28   -<interval/>
29   -<timeout_days/>
30   -<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>
31   -<perf-log-table><connection/>
32   -<schema/>
33   -<table/>
34   -<interval/>
35   -<timeout_days/>
36   -<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>
37   -<channel-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>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>
42   -<step-log-table><connection/>
43   -<schema/>
44   -<table/>
45   -<timeout_days/>
46   -<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>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>
47   -<metrics-log-table><connection/>
48   -<schema/>
49   -<table/>
50   -<timeout_days/>
51   -<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>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>
52   - </log>
53   - <maxdate>
54   - <connection/>
55   - <table/>
56   - <field/>
57   - <offset>0.0</offset>
58   - <maxdiff>0.0</maxdiff>
59   - </maxdate>
60   - <size_rowset>10000</size_rowset>
61   - <sleep_time_empty>50</sleep_time_empty>
62   - <sleep_time_full>50</sleep_time_full>
63   - <unique_connections>N</unique_connections>
64   - <feedback_shown>Y</feedback_shown>
65   - <feedback_size>50000</feedback_size>
66   - <using_thread_priorities>Y</using_thread_priorities>
67   - <shared_objects_file/>
68   - <capture_step_performance>N</capture_step_performance>
69   - <step_performance_capturing_delay>1000</step_performance_capturing_delay>
70   - <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit>
71   - <dependencies>
72   - </dependencies>
73   - <partitionschemas>
74   - </partitionschemas>
75   - <slaveservers>
76   - </slaveservers>
77   - <clusterschemas>
78   - </clusterschemas>
79   - <created_user>-</created_user>
80   - <created_date>2016&#x2f;06&#x2f;29 10&#x3a;18&#x3a;56.974</created_date>
81   - <modified_user>-</modified_user>
82   - <modified_date>2016&#x2f;06&#x2f;29 10&#x3a;18&#x3a;56.974</modified_date>
83   - <key_for_session_key/>
84   - <is_key_private>N</is_key_private>
85   - </info>
86   - <notepads>
87   - <notepad>
88   - <note>&#x539f;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;&#x8868;&#xff0c;&#x6709;&#x4e9b;&#x5b57;&#x6bb5;&#x662f;&#x6ca1;&#x6709;&#x7684;&#xff0c;&#xa;&#x4eba;&#x5458;&#x7f16;&#x7801; &#x6682;&#x65f6;&#x6ca1;&#x6709;&#x7a7a;&#x7740;&#xa;&#x7167;&#x7247;&#x5730;&#x5740; &#x6682;&#x65f6;&#x6ca1;&#x6709;&#x7a7a;&#x7740;&#xa;&#x7ebf;&#x8def;&#x7f16;&#x53f7; &#x6682;&#x65f6;&#x6ca1;&#x6709;&#x7a7a;&#x7740;&#xa;&#x8054;&#x7cfb;&#x7535;&#x8bdd; &#x6682;&#x65f6;&#x6ca1;&#x6709;&#x7a7a;&#x7740;&#xa;&#xa;&#x5b57;&#x5178;&#xa;&#x6027;&#x522b;sexType &#x7537;&#x6027; 1&#xa;&#x6027;&#x522b;sexType &#x5973;&#x6027; 2&#xa;&#xa;&#x5de5;&#x79cd;gzType &#x516c;&#x5171;&#x6c7d;&#x7535;&#x8f66;&#x9a7e;&#x9a76;&#x5458; 1&#xa;&#x5de5;&#x79cd;gzType &#x516c;&#x5171;&#x6c7d;&#x7535;&#x8f66;&#x8c03;&#x5ea6;&#x5458; 2&#xa;&#x5de5;&#x79cd;gzType &#x516c;&#x5171;&#x6c7d;&#x7535;&#x8f66;&#x552e;&#x7968;&#x5458; 3&#xa;&#x5de5;&#x79cd;gzType &#x7ad9;&#x5458; 4&#xa;&#x5de5;&#x79cd;gzType &#x7ba1;&#x7406;&#x5458; 5&#xa;&#x5de5;&#x79cd;gzType &#x5b89;&#x68c0;&#x5458; 6&#xa;&#x5de5;&#x79cd;gzType &#x673a;&#x52a1; 7&#xa;&#x5de5;&#x79cd;gzType &#x5f15;&#x5bfc;&#x5458; 8&#xa;&#x5de5;&#x79cd;gzType &#x4e58;&#x52a1;&#x5458; 9&#xa;&#x5de5;&#x79cd;gzType &#x8f66;&#x961f;&#x957f;&#xff08;&#x7ebf;&#x957f;&#x3001;&#x4e3b; 10&#xa;&#x5de5;&#x79cd;gzType &#x516c;&#x53f8;&#x7ba1;&#x7406;&#x4eba;&#x5458; 11&#xa;&#x5de5;&#x79cd;gzType &#x8b66;&#x6d88;&#x4eba;&#x5458; 12&#xa;&#x5de5;&#x79cd;gzType &#x7968;&#x52a1;&#x4eba;&#x5458; 13&#xa;&#x5de5;&#x79cd;gzType &#x5176;&#x4ed6;&#x670d;&#x52a1;&#x4eba;&#x5458; 14</note>
89   - <xloc>288</xloc>
90   - <yloc>139</yloc>
91   - <width>214</width>
92   - <heigth>394</heigth>
93   - <fontname>YaHei Consolas Hybrid</fontname>
94   - <fontsize>12</fontsize>
95   - <fontbold>N</fontbold>
96   - <fontitalic>N</fontitalic>
97   - <fontcolorred>0</fontcolorred>
98   - <fontcolorgreen>0</fontcolorgreen>
99   - <fontcolorblue>0</fontcolorblue>
100   - <backgroundcolorred>255</backgroundcolorred>
101   - <backgroundcolorgreen>205</backgroundcolorgreen>
102   - <backgroundcolorblue>112</backgroundcolorblue>
103   - <bordercolorred>100</bordercolorred>
104   - <bordercolorgreen>100</bordercolorgreen>
105   - <bordercolorblue>100</bordercolorblue>
106   - <drawshadow>Y</drawshadow>
107   - </notepad>
108   - </notepads>
109   - <connection>
110   - <name>bus_control_&#x516c;&#x53f8;_201</name>
111   - <server>192.168.168.201</server>
112   - <type>MYSQL</type>
113   - <access>Native</access>
114   - <database>control</database>
115   - <port>3306</port>
116   - <username>root</username>
117   - <password>Encrypted 2be98afc86aa7f2e4cb79ff228dc6fa8c</password>
118   - <servername/>
119   - <data_tablespace/>
120   - <index_tablespace/>
121   - <attributes>
122   - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
123   - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
124   - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
125   - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
126   - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
127   - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
128   - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
129   - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
130   - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
131   - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
132   - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
133   - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
134   - </attributes>
135   - </connection>
136   - <connection>
137   - <name>xlab_mysql_youle</name>
138   - <server>101.231.124.8</server>
139   - <type>MYSQL</type>
140   - <access>Native</access>
141   - <database>xlab_youle</database>
142   - <port>45687</port>
143   - <username>xlab-youle</username>
144   - <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password>
145   - <servername/>
146   - <data_tablespace/>
147   - <index_tablespace/>
148   - <attributes>
149   - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
150   - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
151   - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
152   - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
153   - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
154   - <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute>
155   - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
156   - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
157   - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
158   - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
159   - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
160   - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
161   - </attributes>
162   - </connection>
163   - <connection>
164   - <name>xlab_mysql_youle&#xff08;&#x672c;&#x673a;&#xff09;</name>
165   - <server>localhost</server>
166   - <type>MYSQL</type>
167   - <access>Native</access>
168   - <database>xlab_youle</database>
169   - <port>3306</port>
170   - <username>root</username>
171   - <password>Encrypted </password>
172   - <servername/>
173   - <data_tablespace/>
174   - <index_tablespace/>
175   - <attributes>
176   - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
177   - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
178   - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
179   - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
180   - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
181   - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
182   - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
183   - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
184   - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
185   - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
186   - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
187   - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
188   - </attributes>
189   - </connection>
190   - <connection>
191   - <name>xlab_youle</name>
192   - <server/>
193   - <type>MYSQL</type>
194   - <access>JNDI</access>
195   - <database>xlab_youle</database>
196   - <port>1521</port>
197   - <username/>
198   - <password>Encrypted </password>
199   - <servername/>
200   - <data_tablespace/>
201   - <index_tablespace/>
202   - <attributes>
203   - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
204   - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
205   - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
206   - <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
207   - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
208   - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
209   - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
210   - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
211   - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
212   - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
213   - </attributes>
214   - </connection>
215   - <order>
216   - <hop> <from>&#x516c;&#x4ea4;&#x4f01;&#x4e1a;&#x4ee3;&#x7801;</from><to>&#x503c;&#x6620;&#x5c04;</to><enabled>Y</enabled> </hop>
217   - <hop> <from>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</from><to>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</to><enabled>Y</enabled> </hop>
218   - <hop> <from>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</from><to>&#x6027;&#x522b;&#x4ee3;&#x7801;</to><enabled>Y</enabled> </hop>
219   - <hop> <from>&#x6027;&#x522b;&#x4ee3;&#x7801;</from><to>&#x516c;&#x4ea4;&#x4f01;&#x4e1a;&#x4ee3;&#x7801;</to><enabled>Y</enabled> </hop>
220   - <hop> <from>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_personnel</from><to>&#x9519;&#x8bef;&#x8f93;&#x51fa;</to><enabled>Y</enabled> </hop>
221   - <hop> <from>&#x503c;&#x6620;&#x5c04;</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_personnel</to><enabled>Y</enabled> </hop>
222   - <hop> <from>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</from><to>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</to><enabled>Y</enabled> </hop>
223   - </order>
224   - <step>
225   - <name>&#x516c;&#x4ea4;&#x4f01;&#x4e1a;&#x4ee3;&#x7801;</name>
226   - <type>ValueMapper</type>
227   - <description/>
228   - <distribute>Y</distribute>
229   - <custom_distribution/>
230   - <copies>1</copies>
231   - <partitioning>
232   - <method>none</method>
233   - <schema_name/>
234   - </partitioning>
235   - <field_to_use>company</field_to_use>
236   - <target_field>companyCode</target_field>
237   - <non_match_default/>
238   - <fields>
239   - <field>
240   - <source_value>&#x4e0a;&#x5357;&#x516c;&#x53f8;</source_value>
241   - <target_value>55</target_value>
242   - </field>
243   - <field>
244   - <source_value>&#x91d1;&#x9ad8;&#x516c;&#x53f8;</source_value>
245   - <target_value>22</target_value>
246   - </field>
247   - <field>
248   - <source_value>&#x6768;&#x9ad8;&#x516c;&#x53f8;</source_value>
249   - <target_value>05</target_value>
250   - </field>
251   - <field>
252   - <source_value>&#x5357;&#x6c47;&#x516c;&#x53f8;</source_value>
253   - <target_value>26</target_value>
254   - </field>
255   - <field>
256   - <source_value>&#x516c;&#x4ea4;&#x516c;&#x53f8;</source_value>
257   - <target_value>88</target_value>
258   - </field>
259   - <field>
260   - <source_value>&#x95f5;&#x884c;&#x516c;&#x4ea4;</source_value>
261   - <target_value>77</target_value>
262   - </field>
263   - </fields>
264   - <cluster_schema/>
265   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
266   - <xloc>539</xloc>
267   - <yloc>56</yloc>
268   - <draw>Y</draw>
269   - </GUI>
270   - </step>
271   -
272   - <step>
273   - <name>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</name>
274   - <type>ExcelInput</type>
275   - <description/>
276   - <distribute>Y</distribute>
277   - <custom_distribution/>
278   - <copies>1</copies>
279   - <partitioning>
280   - <method>none</method>
281   - <schema_name/>
282   - </partitioning>
283   - <header>Y</header>
284   - <noempty>Y</noempty>
285   - <stoponempty>N</stoponempty>
286   - <filefield/>
287   - <sheetfield/>
288   - <sheetrownumfield/>
289   - <rownumfield/>
290   - <sheetfield/>
291   - <filefield/>
292   - <limit>0</limit>
293   - <encoding/>
294   - <add_to_result_filenames>Y</add_to_result_filenames>
295   - <accept_filenames>Y</accept_filenames>
296   - <accept_field>filepath_</accept_field>
297   - <accept_stepname>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</accept_stepname>
298   - <file>
299   - <name/>
300   - <filemask/>
301   - <exclude_filemask/>
302   - <file_required>N</file_required>
303   - <include_subfolders>N</include_subfolders>
304   - </file>
305   - <fields>
306   - <field>
307   - <name>&#x59d3;&#x540d;</name>
308   - <type>String</type>
309   - <length>-1</length>
310   - <precision>-1</precision>
311   - <trim_type>none</trim_type>
312   - <repeat>N</repeat>
313   - <format/>
314   - <currency/>
315   - <decimal/>
316   - <group/>
317   - </field>
318   - <field>
319   - <name>&#x5de5;&#x53f7;</name>
320   - <type>String</type>
321   - <length>-1</length>
322   - <precision>-1</precision>
323   - <trim_type>none</trim_type>
324   - <repeat>N</repeat>
325   - <format/>
326   - <currency/>
327   - <decimal/>
328   - <group/>
329   - </field>
330   - <field>
331   - <name>&#x6027;&#x522b;</name>
332   - <type>String</type>
333   - <length>-1</length>
334   - <precision>-1</precision>
335   - <trim_type>none</trim_type>
336   - <repeat>N</repeat>
337   - <format/>
338   - <currency/>
339   - <decimal/>
340   - <group/>
341   - </field>
342   - <field>
343   - <name>&#x6240;&#x5c5e;&#x516c;&#x53f8;</name>
344   - <type>String</type>
345   - <length>-1</length>
346   - <precision>-1</precision>
347   - <trim_type>none</trim_type>
348   - <repeat>N</repeat>
349   - <format/>
350   - <currency/>
351   - <decimal/>
352   - <group/>
353   - </field>
354   - <field>
355   - <name>&#x6240;&#x5c5e;&#x5206;&#x516c;&#x53f8;</name>
356   - <type>String</type>
357   - <length>-1</length>
358   - <precision>-1</precision>
359   - <trim_type>none</trim_type>
360   - <repeat>N</repeat>
361   - <format/>
362   - <currency/>
363   - <decimal/>
364   - <group/>
365   - </field>
366   - <field>
367   - <name>&#x4e00;&#x5361;&#x901a;&#x53f7;</name>
368   - <type>String</type>
369   - <length>-1</length>
370   - <precision>-1</precision>
371   - <trim_type>none</trim_type>
372   - <repeat>N</repeat>
373   - <format/>
374   - <currency/>
375   - <decimal/>
376   - <group/>
377   - </field>
378   - <field>
379   - <name>&#x8fd0;&#x8425;&#x670d;&#x52a1;&#x8bc1;&#x53f7;</name>
380   - <type>String</type>
381   - <length>-1</length>
382   - <precision>-1</precision>
383   - <trim_type>none</trim_type>
384   - <repeat>N</repeat>
385   - <format/>
386   - <currency/>
387   - <decimal/>
388   - <group/>
389   - </field>
390   - <field>
391   - <name>&#x5c97;&#x4f4d;</name>
392   - <type>String</type>
393   - <length>-1</length>
394   - <precision>-1</precision>
395   - <trim_type>none</trim_type>
396   - <repeat>N</repeat>
397   - <format/>
398   - <currency/>
399   - <decimal/>
400   - <group/>
401   - </field>
402   - <field>
403   - <name>&#x5907;&#x6ce8;</name>
404   - <type>String</type>
405   - <length>-1</length>
406   - <precision>-1</precision>
407   - <trim_type>none</trim_type>
408   - <repeat>N</repeat>
409   - <format/>
410   - <currency/>
411   - <decimal/>
412   - <group/>
413   - </field>
414   - </fields>
415   - <sheets>
416   - <sheet>
417   - <name>&#x5de5;&#x4f5c;&#x8868;1</name>
418   - <startrow>0</startrow>
419   - <startcol>0</startcol>
420   - </sheet>
421   - </sheets>
422   - <strict_types>N</strict_types>
423   - <error_ignored>N</error_ignored>
424   - <error_line_skipped>N</error_line_skipped>
425   - <bad_line_files_destination_directory/>
426   - <bad_line_files_extension>warning</bad_line_files_extension>
427   - <error_line_files_destination_directory/>
428   - <error_line_files_extension>error</error_line_files_extension>
429   - <line_number_files_destination_directory/>
430   - <line_number_files_extension>line</line_number_files_extension>
431   - <shortFileFieldName/>
432   - <pathFieldName/>
433   - <hiddenFieldName/>
434   - <lastModificationTimeFieldName/>
435   - <uriNameFieldName/>
436   - <rootUriNameFieldName/>
437   - <extensionFieldName/>
438   - <sizeFieldName/>
439   - <spreadsheet_type>JXL</spreadsheet_type>
440   - <cluster_schema/>
441   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
442   - <xloc>158</xloc>
443   - <yloc>57</yloc>
444   - <draw>Y</draw>
445   - </GUI>
446   - </step>
447   -
448   - <step>
449   - <name>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</name>
450   - <type>SelectValues</type>
451   - <description/>
452   - <distribute>Y</distribute>
453   - <custom_distribution/>
454   - <copies>1</copies>
455   - <partitioning>
456   - <method>none</method>
457   - <schema_name/>
458   - </partitioning>
459   - <fields> <field> <name>&#x59d3;&#x540d;</name>
460   - <rename>personnelName</rename>
461   - <length>-2</length>
462   - <precision>-2</precision>
463   - </field> <field> <name>&#x5de5;&#x53f7;</name>
464   - <rename>jobCode</rename>
465   - <length>-2</length>
466   - <precision>-2</precision>
467   - </field> <field> <name>&#x6027;&#x522b;</name>
468   - <rename>personnelType</rename>
469   - <length>-2</length>
470   - <precision>-2</precision>
471   - </field> <field> <name>&#x6240;&#x5c5e;&#x516c;&#x53f8;</name>
472   - <rename>company</rename>
473   - <length>-2</length>
474   - <precision>-2</precision>
475   - </field> <field> <name>&#x6240;&#x5c5e;&#x5206;&#x516c;&#x53f8;</name>
476   - <rename>brancheCompany</rename>
477   - <length>-2</length>
478   - <precision>-2</precision>
479   - </field> <field> <name>&#x4e00;&#x5361;&#x901a;&#x53f7;</name>
480   - <rename>icCardCode</rename>
481   - <length>-2</length>
482   - <precision>-2</precision>
483   - </field> <field> <name>&#x8fd0;&#x8425;&#x670d;&#x52a1;&#x8bc1;&#x53f7;</name>
484   - <rename>papersCode</rename>
485   - <length>-2</length>
486   - <precision>-2</precision>
487   - </field> <field> <name>&#x5c97;&#x4f4d;</name>
488   - <rename>posts</rename>
489   - <length>-2</length>
490   - <precision>-2</precision>
491   - </field> <field> <name>&#x5907;&#x6ce8;</name>
492   - <rename>descriptions</rename>
493   - <length>-2</length>
494   - <precision>-2</precision>
495   - </field> <select_unspecified>N</select_unspecified>
496   - </fields> <cluster_schema/>
497   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
498   - <xloc>286</xloc>
499   - <yloc>58</yloc>
500   - <draw>Y</draw>
501   - </GUI>
502   - </step>
503   -
504   - <step>
505   - <name>&#x6027;&#x522b;&#x4ee3;&#x7801;</name>
506   - <type>ValueMapper</type>
507   - <description/>
508   - <distribute>Y</distribute>
509   - <custom_distribution/>
510   - <copies>1</copies>
511   - <partitioning>
512   - <method>none</method>
513   - <schema_name/>
514   - </partitioning>
515   - <field_to_use>personnelType</field_to_use>
516   - <target_field>personnelCode</target_field>
517   - <non_match_default/>
518   - <fields>
519   - <field>
520   - <source_value>&#x7537;&#x6027;</source_value>
521   - <target_value>1</target_value>
522   - </field>
523   - <field>
524   - <source_value>&#x5973;&#x6027;</source_value>
525   - <target_value>2</target_value>
526   - </field>
527   - </fields>
528   - <cluster_schema/>
529   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
530   - <xloc>413</xloc>
531   - <yloc>58</yloc>
532   - <draw>Y</draw>
533   - </GUI>
534   - </step>
535   -
536   - <step>
537   - <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_personnel</name>
538   - <type>InsertUpdate</type>
539   - <description/>
540   - <distribute>Y</distribute>
541   - <custom_distribution/>
542   - <copies>1</copies>
543   - <partitioning>
544   - <method>none</method>
545   - <schema_name/>
546   - </partitioning>
547   - <connection>bus_control_&#x516c;&#x53f8;_201</connection>
548   - <commit>5000</commit>
549   - <update_bypassed>N</update_bypassed>
550   - <lookup>
551   - <schema/>
552   - <table>bsth_c_personnel</table>
553   - <key>
554   - <name>jobCode</name>
555   - <field>job_code</field>
556   - <condition>&#x3d;</condition>
557   - <name2/>
558   - </key>
559   - <key>
560   - <name>companyCode</name>
561   - <field>company_code</field>
562   - <condition>&#x3d;</condition>
563   - <name2/>
564   - </key>
565   - <value>
566   - <name>personnel_name</name>
567   - <rename>personnelName</rename>
568   - <update>Y</update>
569   - </value>
570   - <value>
571   - <name>job_code</name>
572   - <rename>jobCode</rename>
573   - <update>Y</update>
574   - </value>
575   - <value>
576   - <name>personnel_type</name>
577   - <rename>personnelCode</rename>
578   - <update>Y</update>
579   - </value>
580   - <value>
581   - <name>company</name>
582   - <rename>company</rename>
583   - <update>Y</update>
584   - </value>
585   - <value>
586   - <name>branche_company</name>
587   - <rename>brancheCompany</rename>
588   - <update>Y</update>
589   - </value>
590   - <value>
591   - <name>ic_card_code</name>
592   - <rename>icCardCode</rename>
593   - <update>Y</update>
594   - </value>
595   - <value>
596   - <name>papers_code</name>
597   - <rename>papersCode</rename>
598   - <update>Y</update>
599   - </value>
600   - <value>
601   - <name>posts</name>
602   - <rename>posts</rename>
603   - <update>Y</update>
604   - </value>
605   - <value>
606   - <name>descriptions</name>
607   - <rename>descriptions</rename>
608   - <update>Y</update>
609   - </value>
610   - <value>
611   - <name>company_code</name>
612   - <rename>companyCode</rename>
613   - <update>Y</update>
614   - </value>
615   - </lookup>
616   - <cluster_schema/>
617   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
618   - <xloc>713</xloc>
619   - <yloc>56</yloc>
620   - <draw>Y</draw>
621   - </GUI>
622   - </step>
623   -
624   - <step>
625   - <name>&#x9519;&#x8bef;&#x8f93;&#x51fa;</name>
626   - <type>ExcelOutput</type>
627   - <description/>
628   - <distribute>Y</distribute>
629   - <custom_distribution/>
630   - <copies>1</copies>
631   - <partitioning>
632   - <method>none</method>
633   - <schema_name/>
634   - </partitioning>
635   - <header>Y</header>
636   - <footer>N</footer>
637   - <encoding>UTF-8</encoding>
638   - <append>N</append>
639   - <add_to_result_filenames>Y</add_to_result_filenames>
640   - <file>
641   - <name>&#x24;&#x7b;erroroutputdir&#x7d;&#x2f;&#x4eba;&#x5458;&#x57fa;&#x7840;&#x4fe1;&#x606f;_&#x9519;&#x8bef;</name>
642   - <extention>xls</extention>
643   - <do_not_open_newfile_init>N</do_not_open_newfile_init>
644   - <create_parent_folder>N</create_parent_folder>
645   - <split>N</split>
646   - <add_date>N</add_date>
647   - <add_time>N</add_time>
648   - <SpecifyFormat>N</SpecifyFormat>
649   - <date_time_format/>
650   - <sheetname>Sheet1</sheetname>
651   - <autosizecolums>N</autosizecolums>
652   - <nullisblank>N</nullisblank>
653   - <protect_sheet>N</protect_sheet>
654   - <password>Encrypted </password>
655   - <splitevery>0</splitevery>
656   - <usetempfiles>N</usetempfiles>
657   - <tempdirectory/>
658   - </file>
659   - <template>
660   - <enabled>N</enabled>
661   - <append>N</append>
662   - <filename>template.xls</filename>
663   - </template>
664   - <fields>
665   - <field>
666   - <name>personnelName</name>
667   - <type>String</type>
668   - <format/>
669   - </field>
670   - <field>
671   - <name>jobCode</name>
672   - <type>String</type>
673   - <format/>
674   - </field>
675   - <field>
676   - <name>personnelType</name>
677   - <type>String</type>
678   - <format/>
679   - </field>
680   - <field>
681   - <name>company</name>
682   - <type>String</type>
683   - <format/>
684   - </field>
685   - <field>
686   - <name>brancheCompany</name>
687   - <type>String</type>
688   - <format/>
689   - </field>
690   - <field>
691   - <name>icCardCode</name>
692   - <type>String</type>
693   - <format/>
694   - </field>
695   - <field>
696   - <name>papersCode</name>
697   - <type>String</type>
698   - <format/>
699   - </field>
700   - <field>
701   - <name>posts</name>
702   - <type>String</type>
703   - <format/>
704   - </field>
705   - <field>
706   - <name>descriptions</name>
707   - <type>String</type>
708   - <format/>
709   - </field>
710   - <field>
711   - <name>companyCode</name>
712   - <type>String</type>
713   - <format/>
714   - </field>
715   - <field>
716   - <name>error_count</name>
717   - <type>Integer</type>
718   - <format/>
719   - </field>
720   - <field>
721   - <name>error_desc</name>
722   - <type>String</type>
723   - <format/>
724   - </field>
725   - <field>
726   - <name>error_column1</name>
727   - <type>String</type>
728   - <format/>
729   - </field>
730   - <field>
731   - <name>error_column2</name>
732   - <type>String</type>
733   - <format/>
734   - </field>
735   - </fields>
736   - <custom>
737   - <header_font_name>arial</header_font_name>
738   - <header_font_size>10</header_font_size>
739   - <header_font_bold>N</header_font_bold>
740   - <header_font_italic>N</header_font_italic>
741   - <header_font_underline>no</header_font_underline>
742   - <header_font_orientation>horizontal</header_font_orientation>
743   - <header_font_color>black</header_font_color>
744   - <header_background_color>none</header_background_color>
745   - <header_row_height>255</header_row_height>
746   - <header_alignment>left</header_alignment>
747   - <header_image/>
748   - <row_font_name>arial</row_font_name>
749   - <row_font_size>10</row_font_size>
750   - <row_font_color>black</row_font_color>
751   - <row_background_color>none</row_background_color>
752   - </custom>
753   - <cluster_schema/>
754   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
755   - <xloc>715</xloc>
756   - <yloc>223</yloc>
757   - <draw>Y</draw>
758   - </GUI>
759   - </step>
760   -
761   - <step>
762   - <name>&#x503c;&#x6620;&#x5c04;</name>
763   - <type>ValueMapper</type>
764   - <description/>
765   - <distribute>Y</distribute>
766   - <custom_distribution/>
767   - <copies>1</copies>
768   - <partitioning>
769   - <method>none</method>
770   - <schema_name/>
771   - </partitioning>
772   - <field_to_use>posts</field_to_use>
773   - <target_field/>
774   - <non_match_default/>
775   - <fields>
776   - <field>
777   - <source_value>&#x516c;&#x5171;&#x6c7d;&#x7535;&#x8f66;&#x9a7e;&#x9a76;&#x5458;</source_value>
778   - <target_value>1</target_value>
779   - </field>
780   - <field>
781   - <source_value>&#x516c;&#x5171;&#x6c7d;&#x7535;&#x8f66;&#x8c03;&#x5ea6;&#x5458;</source_value>
782   - <target_value>2</target_value>
783   - </field>
784   - <field>
785   - <source_value>&#x516c;&#x5171;&#x6c7d;&#x7535;&#x8f66;&#x552e;&#x7968;&#x5458;</source_value>
786   - <target_value>3</target_value>
787   - </field>
788   - <field>
789   - <source_value>&#x7ad9;&#x5458;</source_value>
790   - <target_value>4</target_value>
791   - </field>
792   - <field>
793   - <source_value>&#x7ba1;&#x7406;&#x5458;</source_value>
794   - <target_value>5</target_value>
795   - </field>
796   - <field>
797   - <source_value>&#x5b89;&#x68c0;&#x5458;</source_value>
798   - <target_value>6</target_value>
799   - </field>
800   - <field>
801   - <source_value>&#x673a;&#x52a1;</source_value>
802   - <target_value>7</target_value>
803   - </field>
804   - <field>
805   - <source_value>&#x5f15;&#x5bfc;&#x5458;</source_value>
806   - <target_value>8</target_value>
807   - </field>
808   - <field>
809   - <source_value>&#x4e58;&#x52a1;&#x5458;</source_value>
810   - <target_value>9</target_value>
811   - </field>
812   - <field>
813   - <source_value>&#x8f66;&#x961f;&#x957f;&#xff08;&#x7ebf;&#x957f;&#x3001;&#x4e3b;</source_value>
814   - <target_value>10</target_value>
815   - </field>
816   - <field>
817   - <source_value>&#x516c;&#x53f8;&#x7ba1;&#x7406;&#x4eba;&#x5458;</source_value>
818   - <target_value>11</target_value>
819   - </field>
820   - <field>
821   - <source_value>&#x8b66;&#x6d88;&#x4eba;&#x5458;</source_value>
822   - <target_value>12</target_value>
823   - </field>
824   - <field>
825   - <source_value>&#x7968;&#x52a1;&#x4eba;&#x5458;</source_value>
826   - <target_value>13</target_value>
827   - </field>
828   - <field>
829   - <source_value>&#x5176;&#x4ed6;&#x670d;&#x52a1;&#x4eba;&#x5458;</source_value>
830   - <target_value>14</target_value>
831   - </field>
832   - </fields>
833   - <cluster_schema/>
834   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
835   - <xloc>543</xloc>
836   - <yloc>152</yloc>
837   - <draw>Y</draw>
838   - </GUI>
839   - </step>
840   -
841   - <step>
842   - <name>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</name>
843   - <type>GetVariable</type>
844   - <description/>
845   - <distribute>Y</distribute>
846   - <custom_distribution/>
847   - <copies>1</copies>
848   - <partitioning>
849   - <method>none</method>
850   - <schema_name/>
851   - </partitioning>
852   - <fields>
853   - <field>
854   - <name>filepath_</name>
855   - <variable>&#x24;&#x7b;filepath&#x7d;</variable>
856   - <type>String</type>
857   - <format/>
858   - <currency/>
859   - <decimal/>
860   - <group/>
861   - <length>-1</length>
862   - <precision>-1</precision>
863   - <trim_type>none</trim_type>
864   - </field>
865   - <field>
866   - <name>erroroutputdir_</name>
867   - <variable>&#x24;&#x7b;erroroutputdir&#x7d;</variable>
868   - <type>String</type>
869   - <format/>
870   - <currency/>
871   - <decimal/>
872   - <group/>
873   - <length>-1</length>
874   - <precision>-1</precision>
875   - <trim_type>none</trim_type>
876   - </field>
877   - </fields>
878   - <cluster_schema/>
879   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
880   - <xloc>90</xloc>
881   - <yloc>148</yloc>
882   - <draw>Y</draw>
883   - </GUI>
884   - </step>
885   -
886   - <step_error_handling>
887   - <error>
888   - <source_step>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_personnel</source_step>
889   - <target_step>&#x9519;&#x8bef;&#x8f93;&#x51fa;</target_step>
890   - <is_enabled>Y</is_enabled>
891   - <nr_valuename>error_count</nr_valuename>
892   - <descriptions_valuename>error_desc</descriptions_valuename>
893   - <fields_valuename>error_column1</fields_valuename>
894   - <codes_valuename>error_column2</codes_valuename>
895   - <max_errors/>
896   - <max_pct_errors/>
897   - <min_pct_rows/>
898   - </error>
899   - </step_error_handling>
900   - <slave-step-copy-partition-distribution>
901   -</slave-step-copy-partition-distribution>
902   - <slave_transformation>N</slave_transformation>
903   -
904   -</transformation>
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<transformation>
  3 + <info>
  4 + <name>employeesDataInput</name>
  5 + <description>&#x4eba;&#x5458;&#x57fa;&#x7840;&#x4fe1;&#x606f;&#x5bfc;&#x5165;</description>
  6 + <extended_description>&#x4eba;&#x5458;&#x57fa;&#x7840;&#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 + <parameter>
  13 + <name>erroroutputdir</name>
  14 + <default_value/>
  15 + <description>ktr step&#x914d;&#x7f6e;&#x7684;&#x9519;&#x8bef;&#x8f93;&#x51fa;&#x76ee;&#x5f55;</description>
  16 + </parameter>
  17 + <parameter>
  18 + <name>filepath</name>
  19 + <default_value/>
  20 + <description>&#x5f85;&#x5904;&#x7406;&#x5bfc;&#x5165;&#x7684;excel&#x6587;&#x4ef6;</description>
  21 + </parameter>
  22 + </parameters>
  23 + <log>
  24 +<trans-log-table><connection/>
  25 +<schema/>
  26 +<table/>
  27 +<size_limit_lines/>
  28 +<interval/>
  29 +<timeout_days/>
  30 +<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>
  31 +<perf-log-table><connection/>
  32 +<schema/>
  33 +<table/>
  34 +<interval/>
  35 +<timeout_days/>
  36 +<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>
  37 +<channel-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>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>
  42 +<step-log-table><connection/>
  43 +<schema/>
  44 +<table/>
  45 +<timeout_days/>
  46 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>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>
  47 +<metrics-log-table><connection/>
  48 +<schema/>
  49 +<table/>
  50 +<timeout_days/>
  51 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>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>
  52 + </log>
  53 + <maxdate>
  54 + <connection/>
  55 + <table/>
  56 + <field/>
  57 + <offset>0.0</offset>
  58 + <maxdiff>0.0</maxdiff>
  59 + </maxdate>
  60 + <size_rowset>10000</size_rowset>
  61 + <sleep_time_empty>50</sleep_time_empty>
  62 + <sleep_time_full>50</sleep_time_full>
  63 + <unique_connections>N</unique_connections>
  64 + <feedback_shown>Y</feedback_shown>
  65 + <feedback_size>50000</feedback_size>
  66 + <using_thread_priorities>Y</using_thread_priorities>
  67 + <shared_objects_file/>
  68 + <capture_step_performance>N</capture_step_performance>
  69 + <step_performance_capturing_delay>1000</step_performance_capturing_delay>
  70 + <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit>
  71 + <dependencies>
  72 + </dependencies>
  73 + <partitionschemas>
  74 + </partitionschemas>
  75 + <slaveservers>
  76 + </slaveservers>
  77 + <clusterschemas>
  78 + </clusterschemas>
  79 + <created_user>-</created_user>
  80 + <created_date>2016&#x2f;06&#x2f;29 10&#x3a;18&#x3a;56.974</created_date>
  81 + <modified_user>-</modified_user>
  82 + <modified_date>2016&#x2f;06&#x2f;29 10&#x3a;18&#x3a;56.974</modified_date>
  83 + <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</key_for_session_key>
  84 + <is_key_private>N</is_key_private>
  85 + </info>
  86 + <notepads>
  87 + <notepad>
  88 + <note>&#x539f;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;&#x8868;&#xff0c;&#x6709;&#x4e9b;&#x5b57;&#x6bb5;&#x662f;&#x6ca1;&#x6709;&#x7684;&#xff0c;&#xa;&#x4eba;&#x5458;&#x7f16;&#x7801; &#x6682;&#x65f6;&#x6ca1;&#x6709;&#x7a7a;&#x7740;&#xa;&#x7167;&#x7247;&#x5730;&#x5740; &#x6682;&#x65f6;&#x6ca1;&#x6709;&#x7a7a;&#x7740;&#xa;&#x7ebf;&#x8def;&#x7f16;&#x53f7; &#x6682;&#x65f6;&#x6ca1;&#x6709;&#x7a7a;&#x7740;&#xa;&#x8054;&#x7cfb;&#x7535;&#x8bdd; &#x6682;&#x65f6;&#x6ca1;&#x6709;&#x7a7a;&#x7740;&#xa;&#xa;&#x5b57;&#x5178;&#xa;&#x6027;&#x522b;sexType &#x7537;&#x6027; 1&#xa;&#x6027;&#x522b;sexType &#x5973;&#x6027; 2&#xa;&#xa;&#x5de5;&#x79cd;gzType &#x516c;&#x5171;&#x6c7d;&#x7535;&#x8f66;&#x9a7e;&#x9a76;&#x5458; 1&#xa;&#x5de5;&#x79cd;gzType &#x516c;&#x5171;&#x6c7d;&#x7535;&#x8f66;&#x8c03;&#x5ea6;&#x5458; 2&#xa;&#x5de5;&#x79cd;gzType &#x516c;&#x5171;&#x6c7d;&#x7535;&#x8f66;&#x552e;&#x7968;&#x5458; 3&#xa;&#x5de5;&#x79cd;gzType &#x7ad9;&#x5458; 4&#xa;&#x5de5;&#x79cd;gzType &#x7ba1;&#x7406;&#x5458; 5&#xa;&#x5de5;&#x79cd;gzType &#x5b89;&#x68c0;&#x5458; 6&#xa;&#x5de5;&#x79cd;gzType &#x673a;&#x52a1; 7&#xa;&#x5de5;&#x79cd;gzType &#x5f15;&#x5bfc;&#x5458; 8&#xa;&#x5de5;&#x79cd;gzType &#x4e58;&#x52a1;&#x5458; 9&#xa;&#x5de5;&#x79cd;gzType &#x8f66;&#x961f;&#x957f;&#xff08;&#x7ebf;&#x957f;&#x3001;&#x4e3b; 10&#xa;&#x5de5;&#x79cd;gzType &#x516c;&#x53f8;&#x7ba1;&#x7406;&#x4eba;&#x5458; 11&#xa;&#x5de5;&#x79cd;gzType &#x8b66;&#x6d88;&#x4eba;&#x5458; 12&#xa;&#x5de5;&#x79cd;gzType &#x7968;&#x52a1;&#x4eba;&#x5458; 13&#xa;&#x5de5;&#x79cd;gzType &#x5176;&#x4ed6;&#x670d;&#x52a1;&#x4eba;&#x5458; 14</note>
  89 + <xloc>288</xloc>
  90 + <yloc>139</yloc>
  91 + <width>214</width>
  92 + <heigth>394</heigth>
  93 + <fontname>YaHei Consolas Hybrid</fontname>
  94 + <fontsize>12</fontsize>
  95 + <fontbold>N</fontbold>
  96 + <fontitalic>N</fontitalic>
  97 + <fontcolorred>0</fontcolorred>
  98 + <fontcolorgreen>0</fontcolorgreen>
  99 + <fontcolorblue>0</fontcolorblue>
  100 + <backgroundcolorred>255</backgroundcolorred>
  101 + <backgroundcolorgreen>205</backgroundcolorgreen>
  102 + <backgroundcolorblue>112</backgroundcolorblue>
  103 + <bordercolorred>100</bordercolorred>
  104 + <bordercolorgreen>100</bordercolorgreen>
  105 + <bordercolorblue>100</bordercolorblue>
  106 + <drawshadow>Y</drawshadow>
  107 + </notepad>
  108 + </notepads>
  109 + <connection>
  110 + <name>bus_control_variable</name>
  111 + <server>&#x24;&#x7b;v_db_ip&#x7d;</server>
  112 + <type>MYSQL</type>
  113 + <access>Native</access>
  114 + <database>control</database>
  115 + <port>3306</port>
  116 + <username>&#x24;&#x7b;v_db_uname&#x7d;</username>
  117 + <password>&#x24;&#x7b;v_db_pwd&#x7d;</password>
  118 + <servername/>
  119 + <data_tablespace/>
  120 + <index_tablespace/>
  121 + <attributes>
  122 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  123 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  124 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  125 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  126 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  127 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  128 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  129 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  130 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  131 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  132 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  133 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  134 + </attributes>
  135 + </connection>
  136 + <connection>
  137 + <name>bus_control_&#x516c;&#x53f8;_201</name>
  138 + <server>localhost</server>
  139 + <type>MYSQL</type>
  140 + <access>Native</access>
  141 + <database>control</database>
  142 + <port>3306</port>
  143 + <username>root</username>
  144 + <password>Encrypted </password>
  145 + <servername/>
  146 + <data_tablespace/>
  147 + <index_tablespace/>
  148 + <attributes>
  149 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  150 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  151 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  152 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  153 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  154 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  155 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  156 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  157 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  158 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  159 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  160 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  161 + </attributes>
  162 + </connection>
  163 + <connection>
  164 + <name>bus_control_&#x672c;&#x673a;</name>
  165 + <server>localhost</server>
  166 + <type>MYSQL</type>
  167 + <access>Native</access>
  168 + <database>control</database>
  169 + <port>3306</port>
  170 + <username>root</username>
  171 + <password>Encrypted </password>
  172 + <servername/>
  173 + <data_tablespace/>
  174 + <index_tablespace/>
  175 + <attributes>
  176 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  177 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  178 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  179 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  180 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  181 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  182 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  183 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  184 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  185 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  186 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  187 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  188 + </attributes>
  189 + </connection>
  190 + <connection>
  191 + <name>xlab_mysql_youle</name>
  192 + <server>101.231.124.8</server>
  193 + <type>MYSQL</type>
  194 + <access>Native</access>
  195 + <database>xlab_youle</database>
  196 + <port>45687</port>
  197 + <username>xlab-youle</username>
  198 + <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password>
  199 + <servername/>
  200 + <data_tablespace/>
  201 + <index_tablespace/>
  202 + <attributes>
  203 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  204 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  205 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  206 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  207 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  208 + <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute>
  209 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  210 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  211 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  212 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  213 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  214 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  215 + </attributes>
  216 + </connection>
  217 + <connection>
  218 + <name>xlab_mysql_youle&#xff08;&#x672c;&#x673a;&#xff09;</name>
  219 + <server>localhost</server>
  220 + <type>MYSQL</type>
  221 + <access>Native</access>
  222 + <database>xlab_youle</database>
  223 + <port>3306</port>
  224 + <username>root</username>
  225 + <password>Encrypted </password>
  226 + <servername/>
  227 + <data_tablespace/>
  228 + <index_tablespace/>
  229 + <attributes>
  230 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  231 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  232 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  233 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  234 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  235 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  236 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  237 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  238 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  239 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  240 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  241 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  242 + </attributes>
  243 + </connection>
  244 + <connection>
  245 + <name>xlab_youle</name>
  246 + <server/>
  247 + <type>MYSQL</type>
  248 + <access>JNDI</access>
  249 + <database>xlab_youle</database>
  250 + <port>1521</port>
  251 + <username/>
  252 + <password>Encrypted </password>
  253 + <servername/>
  254 + <data_tablespace/>
  255 + <index_tablespace/>
  256 + <attributes>
  257 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  258 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  259 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  260 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  261 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  262 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  263 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  264 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  265 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  266 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  267 + </attributes>
  268 + </connection>
  269 + <order>
  270 + <hop> <from>&#x516c;&#x4ea4;&#x4f01;&#x4e1a;&#x4ee3;&#x7801;</from><to>&#x503c;&#x6620;&#x5c04;</to><enabled>Y</enabled> </hop>
  271 + <hop> <from>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</from><to>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</to><enabled>Y</enabled> </hop>
  272 + <hop> <from>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</from><to>&#x6027;&#x522b;&#x4ee3;&#x7801;</to><enabled>Y</enabled> </hop>
  273 + <hop> <from>&#x6027;&#x522b;&#x4ee3;&#x7801;</from><to>&#x516c;&#x4ea4;&#x4f01;&#x4e1a;&#x4ee3;&#x7801;</to><enabled>Y</enabled> </hop>
  274 + <hop> <from>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_personnel</from><to>&#x9519;&#x8bef;&#x8f93;&#x51fa;</to><enabled>Y</enabled> </hop>
  275 + <hop> <from>&#x503c;&#x6620;&#x5c04;</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_personnel</to><enabled>Y</enabled> </hop>
  276 + <hop> <from>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</from><to>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</to><enabled>Y</enabled> </hop>
  277 + </order>
  278 + <step>
  279 + <name>&#x503c;&#x6620;&#x5c04;</name>
  280 + <type>ValueMapper</type>
  281 + <description/>
  282 + <distribute>Y</distribute>
  283 + <custom_distribution/>
  284 + <copies>1</copies>
  285 + <partitioning>
  286 + <method>none</method>
  287 + <schema_name/>
  288 + </partitioning>
  289 + <field_to_use>posts</field_to_use>
  290 + <target_field/>
  291 + <non_match_default/>
  292 + <fields>
  293 + <field>
  294 + <source_value>&#x516c;&#x5171;&#x6c7d;&#x7535;&#x8f66;&#x9a7e;&#x9a76;&#x5458;</source_value>
  295 + <target_value>1</target_value>
  296 + </field>
  297 + <field>
  298 + <source_value>&#x516c;&#x5171;&#x6c7d;&#x7535;&#x8f66;&#x8c03;&#x5ea6;&#x5458;</source_value>
  299 + <target_value>2</target_value>
  300 + </field>
  301 + <field>
  302 + <source_value>&#x516c;&#x5171;&#x6c7d;&#x7535;&#x8f66;&#x552e;&#x7968;&#x5458;</source_value>
  303 + <target_value>3</target_value>
  304 + </field>
  305 + <field>
  306 + <source_value>&#x7ad9;&#x5458;</source_value>
  307 + <target_value>4</target_value>
  308 + </field>
  309 + <field>
  310 + <source_value>&#x7ba1;&#x7406;&#x5458;</source_value>
  311 + <target_value>5</target_value>
  312 + </field>
  313 + <field>
  314 + <source_value>&#x5b89;&#x68c0;&#x5458;</source_value>
  315 + <target_value>6</target_value>
  316 + </field>
  317 + <field>
  318 + <source_value>&#x673a;&#x52a1;</source_value>
  319 + <target_value>7</target_value>
  320 + </field>
  321 + <field>
  322 + <source_value>&#x5f15;&#x5bfc;&#x5458;</source_value>
  323 + <target_value>8</target_value>
  324 + </field>
  325 + <field>
  326 + <source_value>&#x4e58;&#x52a1;&#x5458;</source_value>
  327 + <target_value>9</target_value>
  328 + </field>
  329 + <field>
  330 + <source_value>&#x8f66;&#x961f;&#x957f;&#xff08;&#x7ebf;&#x957f;&#x3001;&#x4e3b;</source_value>
  331 + <target_value>10</target_value>
  332 + </field>
  333 + <field>
  334 + <source_value>&#x516c;&#x53f8;&#x7ba1;&#x7406;&#x4eba;&#x5458;</source_value>
  335 + <target_value>11</target_value>
  336 + </field>
  337 + <field>
  338 + <source_value>&#x8b66;&#x6d88;&#x4eba;&#x5458;</source_value>
  339 + <target_value>12</target_value>
  340 + </field>
  341 + <field>
  342 + <source_value>&#x7968;&#x52a1;&#x4eba;&#x5458;</source_value>
  343 + <target_value>13</target_value>
  344 + </field>
  345 + <field>
  346 + <source_value>&#x5176;&#x4ed6;&#x670d;&#x52a1;&#x4eba;&#x5458;</source_value>
  347 + <target_value>14</target_value>
  348 + </field>
  349 + </fields>
  350 + <cluster_schema/>
  351 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  352 + <xloc>543</xloc>
  353 + <yloc>152</yloc>
  354 + <draw>Y</draw>
  355 + </GUI>
  356 + </step>
  357 +
  358 + <step>
  359 + <name>&#x516c;&#x4ea4;&#x4f01;&#x4e1a;&#x4ee3;&#x7801;</name>
  360 + <type>ValueMapper</type>
  361 + <description/>
  362 + <distribute>Y</distribute>
  363 + <custom_distribution/>
  364 + <copies>1</copies>
  365 + <partitioning>
  366 + <method>none</method>
  367 + <schema_name/>
  368 + </partitioning>
  369 + <field_to_use>company</field_to_use>
  370 + <target_field>companyCode</target_field>
  371 + <non_match_default/>
  372 + <fields>
  373 + <field>
  374 + <source_value>&#x4e0a;&#x5357;&#x516c;&#x53f8;</source_value>
  375 + <target_value>55</target_value>
  376 + </field>
  377 + <field>
  378 + <source_value>&#x91d1;&#x9ad8;&#x516c;&#x53f8;</source_value>
  379 + <target_value>22</target_value>
  380 + </field>
  381 + <field>
  382 + <source_value>&#x6768;&#x9ad8;&#x516c;&#x53f8;</source_value>
  383 + <target_value>05</target_value>
  384 + </field>
  385 + <field>
  386 + <source_value>&#x5357;&#x6c47;&#x516c;&#x53f8;</source_value>
  387 + <target_value>26</target_value>
  388 + </field>
  389 + <field>
  390 + <source_value>&#x516c;&#x4ea4;&#x516c;&#x53f8;</source_value>
  391 + <target_value>88</target_value>
  392 + </field>
  393 + <field>
  394 + <source_value>&#x95f5;&#x884c;&#x516c;&#x4ea4;</source_value>
  395 + <target_value>77</target_value>
  396 + </field>
  397 + </fields>
  398 + <cluster_schema/>
  399 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  400 + <xloc>539</xloc>
  401 + <yloc>56</yloc>
  402 + <draw>Y</draw>
  403 + </GUI>
  404 + </step>
  405 +
  406 + <step>
  407 + <name>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</name>
  408 + <type>ExcelInput</type>
  409 + <description/>
  410 + <distribute>Y</distribute>
  411 + <custom_distribution/>
  412 + <copies>1</copies>
  413 + <partitioning>
  414 + <method>none</method>
  415 + <schema_name/>
  416 + </partitioning>
  417 + <header>Y</header>
  418 + <noempty>Y</noempty>
  419 + <stoponempty>N</stoponempty>
  420 + <filefield/>
  421 + <sheetfield/>
  422 + <sheetrownumfield/>
  423 + <rownumfield/>
  424 + <sheetfield/>
  425 + <filefield/>
  426 + <limit>0</limit>
  427 + <encoding/>
  428 + <add_to_result_filenames>Y</add_to_result_filenames>
  429 + <accept_filenames>Y</accept_filenames>
  430 + <accept_field>filepath_</accept_field>
  431 + <accept_stepname>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</accept_stepname>
  432 + <file>
  433 + <name/>
  434 + <filemask/>
  435 + <exclude_filemask/>
  436 + <file_required>N</file_required>
  437 + <include_subfolders>N</include_subfolders>
  438 + </file>
  439 + <fields>
  440 + <field>
  441 + <name>&#x59d3;&#x540d;</name>
  442 + <type>String</type>
  443 + <length>-1</length>
  444 + <precision>-1</precision>
  445 + <trim_type>none</trim_type>
  446 + <repeat>N</repeat>
  447 + <format/>
  448 + <currency/>
  449 + <decimal/>
  450 + <group/>
  451 + </field>
  452 + <field>
  453 + <name>&#x5de5;&#x53f7;</name>
  454 + <type>String</type>
  455 + <length>-1</length>
  456 + <precision>-1</precision>
  457 + <trim_type>none</trim_type>
  458 + <repeat>N</repeat>
  459 + <format/>
  460 + <currency/>
  461 + <decimal/>
  462 + <group/>
  463 + </field>
  464 + <field>
  465 + <name>&#x6027;&#x522b;</name>
  466 + <type>String</type>
  467 + <length>-1</length>
  468 + <precision>-1</precision>
  469 + <trim_type>none</trim_type>
  470 + <repeat>N</repeat>
  471 + <format/>
  472 + <currency/>
  473 + <decimal/>
  474 + <group/>
  475 + </field>
  476 + <field>
  477 + <name>&#x6240;&#x5c5e;&#x516c;&#x53f8;</name>
  478 + <type>String</type>
  479 + <length>-1</length>
  480 + <precision>-1</precision>
  481 + <trim_type>none</trim_type>
  482 + <repeat>N</repeat>
  483 + <format/>
  484 + <currency/>
  485 + <decimal/>
  486 + <group/>
  487 + </field>
  488 + <field>
  489 + <name>&#x6240;&#x5c5e;&#x5206;&#x516c;&#x53f8;</name>
  490 + <type>String</type>
  491 + <length>-1</length>
  492 + <precision>-1</precision>
  493 + <trim_type>none</trim_type>
  494 + <repeat>N</repeat>
  495 + <format/>
  496 + <currency/>
  497 + <decimal/>
  498 + <group/>
  499 + </field>
  500 + <field>
  501 + <name>&#x4e00;&#x5361;&#x901a;&#x53f7;</name>
  502 + <type>String</type>
  503 + <length>-1</length>
  504 + <precision>-1</precision>
  505 + <trim_type>none</trim_type>
  506 + <repeat>N</repeat>
  507 + <format/>
  508 + <currency/>
  509 + <decimal/>
  510 + <group/>
  511 + </field>
  512 + <field>
  513 + <name>&#x8fd0;&#x8425;&#x670d;&#x52a1;&#x8bc1;&#x53f7;</name>
  514 + <type>String</type>
  515 + <length>-1</length>
  516 + <precision>-1</precision>
  517 + <trim_type>none</trim_type>
  518 + <repeat>N</repeat>
  519 + <format/>
  520 + <currency/>
  521 + <decimal/>
  522 + <group/>
  523 + </field>
  524 + <field>
  525 + <name>&#x5c97;&#x4f4d;</name>
  526 + <type>String</type>
  527 + <length>-1</length>
  528 + <precision>-1</precision>
  529 + <trim_type>none</trim_type>
  530 + <repeat>N</repeat>
  531 + <format/>
  532 + <currency/>
  533 + <decimal/>
  534 + <group/>
  535 + </field>
  536 + <field>
  537 + <name>&#x5907;&#x6ce8;</name>
  538 + <type>String</type>
  539 + <length>-1</length>
  540 + <precision>-1</precision>
  541 + <trim_type>none</trim_type>
  542 + <repeat>N</repeat>
  543 + <format/>
  544 + <currency/>
  545 + <decimal/>
  546 + <group/>
  547 + </field>
  548 + </fields>
  549 + <sheets>
  550 + <sheet>
  551 + <name>&#x5de5;&#x4f5c;&#x8868;1</name>
  552 + <startrow>0</startrow>
  553 + <startcol>0</startcol>
  554 + </sheet>
  555 + </sheets>
  556 + <strict_types>N</strict_types>
  557 + <error_ignored>N</error_ignored>
  558 + <error_line_skipped>N</error_line_skipped>
  559 + <bad_line_files_destination_directory/>
  560 + <bad_line_files_extension>warning</bad_line_files_extension>
  561 + <error_line_files_destination_directory/>
  562 + <error_line_files_extension>error</error_line_files_extension>
  563 + <line_number_files_destination_directory/>
  564 + <line_number_files_extension>line</line_number_files_extension>
  565 + <shortFileFieldName/>
  566 + <pathFieldName/>
  567 + <hiddenFieldName/>
  568 + <lastModificationTimeFieldName/>
  569 + <uriNameFieldName/>
  570 + <rootUriNameFieldName/>
  571 + <extensionFieldName/>
  572 + <sizeFieldName/>
  573 + <spreadsheet_type>JXL</spreadsheet_type>
  574 + <cluster_schema/>
  575 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  576 + <xloc>158</xloc>
  577 + <yloc>57</yloc>
  578 + <draw>Y</draw>
  579 + </GUI>
  580 + </step>
  581 +
  582 + <step>
  583 + <name>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</name>
  584 + <type>SelectValues</type>
  585 + <description/>
  586 + <distribute>Y</distribute>
  587 + <custom_distribution/>
  588 + <copies>1</copies>
  589 + <partitioning>
  590 + <method>none</method>
  591 + <schema_name/>
  592 + </partitioning>
  593 + <fields> <field> <name>&#x59d3;&#x540d;</name>
  594 + <rename>personnelName</rename>
  595 + <length>-2</length>
  596 + <precision>-2</precision>
  597 + </field> <field> <name>&#x5de5;&#x53f7;</name>
  598 + <rename>jobCode</rename>
  599 + <length>-2</length>
  600 + <precision>-2</precision>
  601 + </field> <field> <name>&#x6027;&#x522b;</name>
  602 + <rename>personnelType</rename>
  603 + <length>-2</length>
  604 + <precision>-2</precision>
  605 + </field> <field> <name>&#x6240;&#x5c5e;&#x516c;&#x53f8;</name>
  606 + <rename>company</rename>
  607 + <length>-2</length>
  608 + <precision>-2</precision>
  609 + </field> <field> <name>&#x6240;&#x5c5e;&#x5206;&#x516c;&#x53f8;</name>
  610 + <rename>brancheCompany</rename>
  611 + <length>-2</length>
  612 + <precision>-2</precision>
  613 + </field> <field> <name>&#x4e00;&#x5361;&#x901a;&#x53f7;</name>
  614 + <rename>icCardCode</rename>
  615 + <length>-2</length>
  616 + <precision>-2</precision>
  617 + </field> <field> <name>&#x8fd0;&#x8425;&#x670d;&#x52a1;&#x8bc1;&#x53f7;</name>
  618 + <rename>papersCode</rename>
  619 + <length>-2</length>
  620 + <precision>-2</precision>
  621 + </field> <field> <name>&#x5c97;&#x4f4d;</name>
  622 + <rename>posts</rename>
  623 + <length>-2</length>
  624 + <precision>-2</precision>
  625 + </field> <field> <name>&#x5907;&#x6ce8;</name>
  626 + <rename>descriptions</rename>
  627 + <length>-2</length>
  628 + <precision>-2</precision>
  629 + </field> <select_unspecified>N</select_unspecified>
  630 + </fields> <cluster_schema/>
  631 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  632 + <xloc>286</xloc>
  633 + <yloc>58</yloc>
  634 + <draw>Y</draw>
  635 + </GUI>
  636 + </step>
  637 +
  638 + <step>
  639 + <name>&#x6027;&#x522b;&#x4ee3;&#x7801;</name>
  640 + <type>ValueMapper</type>
  641 + <description/>
  642 + <distribute>Y</distribute>
  643 + <custom_distribution/>
  644 + <copies>1</copies>
  645 + <partitioning>
  646 + <method>none</method>
  647 + <schema_name/>
  648 + </partitioning>
  649 + <field_to_use>personnelType</field_to_use>
  650 + <target_field>personnelCode</target_field>
  651 + <non_match_default/>
  652 + <fields>
  653 + <field>
  654 + <source_value>&#x7537;&#x6027;</source_value>
  655 + <target_value>1</target_value>
  656 + </field>
  657 + <field>
  658 + <source_value>&#x5973;&#x6027;</source_value>
  659 + <target_value>2</target_value>
  660 + </field>
  661 + </fields>
  662 + <cluster_schema/>
  663 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  664 + <xloc>413</xloc>
  665 + <yloc>58</yloc>
  666 + <draw>Y</draw>
  667 + </GUI>
  668 + </step>
  669 +
  670 + <step>
  671 + <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_personnel</name>
  672 + <type>InsertUpdate</type>
  673 + <description/>
  674 + <distribute>Y</distribute>
  675 + <custom_distribution/>
  676 + <copies>1</copies>
  677 + <partitioning>
  678 + <method>none</method>
  679 + <schema_name/>
  680 + </partitioning>
  681 + <connection>bus_control_variable</connection>
  682 + <commit>5000</commit>
  683 + <update_bypassed>N</update_bypassed>
  684 + <lookup>
  685 + <schema/>
  686 + <table>bsth_c_personnel</table>
  687 + <key>
  688 + <name>jobCode</name>
  689 + <field>job_code</field>
  690 + <condition>&#x3d;</condition>
  691 + <name2/>
  692 + </key>
  693 + <key>
  694 + <name>companyCode</name>
  695 + <field>company_code</field>
  696 + <condition>&#x3d;</condition>
  697 + <name2/>
  698 + </key>
  699 + <value>
  700 + <name>personnel_name</name>
  701 + <rename>personnelName</rename>
  702 + <update>Y</update>
  703 + </value>
  704 + <value>
  705 + <name>job_code</name>
  706 + <rename>jobCode</rename>
  707 + <update>Y</update>
  708 + </value>
  709 + <value>
  710 + <name>personnel_type</name>
  711 + <rename>personnelCode</rename>
  712 + <update>Y</update>
  713 + </value>
  714 + <value>
  715 + <name>company</name>
  716 + <rename>company</rename>
  717 + <update>Y</update>
  718 + </value>
  719 + <value>
  720 + <name>branche_company</name>
  721 + <rename>brancheCompany</rename>
  722 + <update>Y</update>
  723 + </value>
  724 + <value>
  725 + <name>ic_card_code</name>
  726 + <rename>icCardCode</rename>
  727 + <update>Y</update>
  728 + </value>
  729 + <value>
  730 + <name>papers_code</name>
  731 + <rename>papersCode</rename>
  732 + <update>Y</update>
  733 + </value>
  734 + <value>
  735 + <name>posts</name>
  736 + <rename>posts</rename>
  737 + <update>Y</update>
  738 + </value>
  739 + <value>
  740 + <name>descriptions</name>
  741 + <rename>descriptions</rename>
  742 + <update>Y</update>
  743 + </value>
  744 + <value>
  745 + <name>company_code</name>
  746 + <rename>companyCode</rename>
  747 + <update>Y</update>
  748 + </value>
  749 + </lookup>
  750 + <cluster_schema/>
  751 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  752 + <xloc>713</xloc>
  753 + <yloc>56</yloc>
  754 + <draw>Y</draw>
  755 + </GUI>
  756 + </step>
  757 +
  758 + <step>
  759 + <name>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</name>
  760 + <type>GetVariable</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>filepath_</name>
  772 + <variable>&#x24;&#x7b;filepath&#x7d;</variable>
  773 + <type>String</type>
  774 + <format/>
  775 + <currency/>
  776 + <decimal/>
  777 + <group/>
  778 + <length>-1</length>
  779 + <precision>-1</precision>
  780 + <trim_type>none</trim_type>
  781 + </field>
  782 + <field>
  783 + <name>erroroutputdir_</name>
  784 + <variable>&#x24;&#x7b;erroroutputdir&#x7d;</variable>
  785 + <type>String</type>
  786 + <format/>
  787 + <currency/>
  788 + <decimal/>
  789 + <group/>
  790 + <length>-1</length>
  791 + <precision>-1</precision>
  792 + <trim_type>none</trim_type>
  793 + </field>
  794 + </fields>
  795 + <cluster_schema/>
  796 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  797 + <xloc>90</xloc>
  798 + <yloc>148</yloc>
  799 + <draw>Y</draw>
  800 + </GUI>
  801 + </step>
  802 +
  803 + <step>
  804 + <name>&#x9519;&#x8bef;&#x8f93;&#x51fa;</name>
  805 + <type>ExcelOutput</type>
  806 + <description/>
  807 + <distribute>Y</distribute>
  808 + <custom_distribution/>
  809 + <copies>1</copies>
  810 + <partitioning>
  811 + <method>none</method>
  812 + <schema_name/>
  813 + </partitioning>
  814 + <header>Y</header>
  815 + <footer>N</footer>
  816 + <encoding>UTF-8</encoding>
  817 + <append>N</append>
  818 + <add_to_result_filenames>Y</add_to_result_filenames>
  819 + <file>
  820 + <name>&#x24;&#x7b;erroroutputdir&#x7d;&#x2f;&#x4eba;&#x5458;&#x57fa;&#x7840;&#x4fe1;&#x606f;_&#x9519;&#x8bef;</name>
  821 + <extention>xls</extention>
  822 + <do_not_open_newfile_init>N</do_not_open_newfile_init>
  823 + <create_parent_folder>N</create_parent_folder>
  824 + <split>N</split>
  825 + <add_date>N</add_date>
  826 + <add_time>N</add_time>
  827 + <SpecifyFormat>N</SpecifyFormat>
  828 + <date_time_format/>
  829 + <sheetname>Sheet1</sheetname>
  830 + <autosizecolums>N</autosizecolums>
  831 + <nullisblank>N</nullisblank>
  832 + <protect_sheet>N</protect_sheet>
  833 + <password>Encrypted </password>
  834 + <splitevery>0</splitevery>
  835 + <usetempfiles>N</usetempfiles>
  836 + <tempdirectory/>
  837 + </file>
  838 + <template>
  839 + <enabled>N</enabled>
  840 + <append>N</append>
  841 + <filename>template.xls</filename>
  842 + </template>
  843 + <fields>
  844 + <field>
  845 + <name>personnelName</name>
  846 + <type>String</type>
  847 + <format/>
  848 + </field>
  849 + <field>
  850 + <name>jobCode</name>
  851 + <type>String</type>
  852 + <format/>
  853 + </field>
  854 + <field>
  855 + <name>personnelType</name>
  856 + <type>String</type>
  857 + <format/>
  858 + </field>
  859 + <field>
  860 + <name>company</name>
  861 + <type>String</type>
  862 + <format/>
  863 + </field>
  864 + <field>
  865 + <name>brancheCompany</name>
  866 + <type>String</type>
  867 + <format/>
  868 + </field>
  869 + <field>
  870 + <name>icCardCode</name>
  871 + <type>String</type>
  872 + <format/>
  873 + </field>
  874 + <field>
  875 + <name>papersCode</name>
  876 + <type>String</type>
  877 + <format/>
  878 + </field>
  879 + <field>
  880 + <name>posts</name>
  881 + <type>String</type>
  882 + <format/>
  883 + </field>
  884 + <field>
  885 + <name>descriptions</name>
  886 + <type>String</type>
  887 + <format/>
  888 + </field>
  889 + <field>
  890 + <name>companyCode</name>
  891 + <type>String</type>
  892 + <format/>
  893 + </field>
  894 + <field>
  895 + <name>error_count</name>
  896 + <type>Integer</type>
  897 + <format/>
  898 + </field>
  899 + <field>
  900 + <name>error_desc</name>
  901 + <type>String</type>
  902 + <format/>
  903 + </field>
  904 + <field>
  905 + <name>error_column1</name>
  906 + <type>String</type>
  907 + <format/>
  908 + </field>
  909 + <field>
  910 + <name>error_column2</name>
  911 + <type>String</type>
  912 + <format/>
  913 + </field>
  914 + </fields>
  915 + <custom>
  916 + <header_font_name>arial</header_font_name>
  917 + <header_font_size>10</header_font_size>
  918 + <header_font_bold>N</header_font_bold>
  919 + <header_font_italic>N</header_font_italic>
  920 + <header_font_underline>no</header_font_underline>
  921 + <header_font_orientation>horizontal</header_font_orientation>
  922 + <header_font_color>black</header_font_color>
  923 + <header_background_color>none</header_background_color>
  924 + <header_row_height>255</header_row_height>
  925 + <header_alignment>left</header_alignment>
  926 + <header_image/>
  927 + <row_font_name>arial</row_font_name>
  928 + <row_font_size>10</row_font_size>
  929 + <row_font_color>black</row_font_color>
  930 + <row_background_color>none</row_background_color>
  931 + </custom>
  932 + <cluster_schema/>
  933 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  934 + <xloc>715</xloc>
  935 + <yloc>223</yloc>
  936 + <draw>Y</draw>
  937 + </GUI>
  938 + </step>
  939 +
  940 + <step_error_handling>
  941 + <error>
  942 + <source_step>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_personnel</source_step>
  943 + <target_step>&#x9519;&#x8bef;&#x8f93;&#x51fa;</target_step>
  944 + <is_enabled>Y</is_enabled>
  945 + <nr_valuename>error_count</nr_valuename>
  946 + <descriptions_valuename>error_desc</descriptions_valuename>
  947 + <fields_valuename>error_column1</fields_valuename>
  948 + <codes_valuename>error_column2</codes_valuename>
  949 + <max_errors/>
  950 + <max_pct_errors/>
  951 + <min_pct_rows/>
  952 + </error>
  953 + </step_error_handling>
  954 + <slave-step-copy-partition-distribution>
  955 +</slave-step-copy-partition-distribution>
  956 + <slave_transformation>N</slave_transformation>
  957 +
  958 +</transformation>
... ...
src/main/resources/datatools/ktrs/guideboardDataInput.ktr
... ... @@ -80,7 +80,7 @@
80 80 <created_date>2016&#x2f;06&#x2f;29 17&#x3a;00&#x3a;01.094</created_date>
81 81 <modified_user>-</modified_user>
82 82 <modified_date>2016&#x2f;06&#x2f;29 17&#x3a;00&#x3a;01.094</modified_date>
83   - <key_for_session_key/>
  83 + <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</key_for_session_key>
84 84 <is_key_private>N</is_key_private>
85 85 </info>
86 86 <notepads>
... ... @@ -107,14 +107,68 @@
107 107 </notepad>
108 108 </notepads>
109 109 <connection>
  110 + <name>bus_control_variable</name>
  111 + <server>&#x24;&#x7b;v_db_ip&#x7d;</server>
  112 + <type>MYSQL</type>
  113 + <access>Native</access>
  114 + <database>control</database>
  115 + <port>3306</port>
  116 + <username>&#x24;&#x7b;v_db_uname&#x7d;</username>
  117 + <password>&#x24;&#x7b;v_db_pwd&#x7d;</password>
  118 + <servername/>
  119 + <data_tablespace/>
  120 + <index_tablespace/>
  121 + <attributes>
  122 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  123 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  124 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  125 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  126 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  127 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  128 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  129 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  130 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  131 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  132 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  133 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  134 + </attributes>
  135 + </connection>
  136 + <connection>
110 137 <name>bus_control_&#x516c;&#x53f8;_201</name>
111   - <server>192.168.168.201</server>
  138 + <server>localhost</server>
  139 + <type>MYSQL</type>
  140 + <access>Native</access>
  141 + <database>control</database>
  142 + <port>3306</port>
  143 + <username>root</username>
  144 + <password>Encrypted </password>
  145 + <servername/>
  146 + <data_tablespace/>
  147 + <index_tablespace/>
  148 + <attributes>
  149 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  150 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  151 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  152 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  153 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  154 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  155 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  156 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  157 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  158 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  159 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  160 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  161 + </attributes>
  162 + </connection>
  163 + <connection>
  164 + <name>bus_control_&#x672c;&#x673a;</name>
  165 + <server>localhost</server>
112 166 <type>MYSQL</type>
113 167 <access>Native</access>
114 168 <database>control</database>
115 169 <port>3306</port>
116 170 <username>root</username>
117   - <password>Encrypted 2be98afc86aa7f2e4cb79ff228dc6fa8c</password>
  171 + <password>Encrypted </password>
118 172 <servername/>
119 173 <data_tablespace/>
120 174 <index_tablespace/>
... ... @@ -310,7 +364,7 @@
310 364 <method>none</method>
311 365 <schema_name/>
312 366 </partitioning>
313   - <connection>bus_control_&#x516c;&#x53f8;_201</connection>
  367 + <connection>bus_control_variable</connection>
314 368 <commit>100</commit>
315 369 <update_bypassed>N</update_bypassed>
316 370 <lookup>
... ... @@ -368,7 +422,7 @@
368 422 <method>none</method>
369 423 <schema_name/>
370 424 </partitioning>
371   - <connection>bus_control_&#x516c;&#x53f8;_201</connection>
  425 + <connection>bus_control_variable</connection>
372 426 <cache>N</cache>
373 427 <cache_load_all>N</cache_load_all>
374 428 <cache_size>0</cache_size>
... ... @@ -400,6 +454,51 @@
400 454 </step>
401 455  
402 456 <step>
  457 + <name>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</name>
  458 + <type>GetVariable</type>
  459 + <description/>
  460 + <distribute>Y</distribute>
  461 + <custom_distribution/>
  462 + <copies>1</copies>
  463 + <partitioning>
  464 + <method>none</method>
  465 + <schema_name/>
  466 + </partitioning>
  467 + <fields>
  468 + <field>
  469 + <name>filepath_</name>
  470 + <variable>&#x24;&#x7b;filepath&#x7d;</variable>
  471 + <type>String</type>
  472 + <format/>
  473 + <currency/>
  474 + <decimal/>
  475 + <group/>
  476 + <length>-1</length>
  477 + <precision>-1</precision>
  478 + <trim_type>none</trim_type>
  479 + </field>
  480 + <field>
  481 + <name>erroroutputdir_</name>
  482 + <variable>&#x24;&#x7b;erroroutputdir&#x7d;</variable>
  483 + <type>String</type>
  484 + <format/>
  485 + <currency/>
  486 + <decimal/>
  487 + <group/>
  488 + <length>-1</length>
  489 + <precision>-1</precision>
  490 + <trim_type>none</trim_type>
  491 + </field>
  492 + </fields>
  493 + <cluster_schema/>
  494 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  495 + <xloc>152</xloc>
  496 + <yloc>193</yloc>
  497 + <draw>Y</draw>
  498 + </GUI>
  499 + </step>
  500 +
  501 + <step>
403 502 <name>&#x8def;&#x724c;_85&#x8def;Excel&#x8f93;&#x5165;</name>
404 503 <type>ExcelInput</type>
405 504 <description/>
... ... @@ -627,51 +726,6 @@
627 726 </GUI>
628 727 </step>
629 728  
630   - <step>
631   - <name>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</name>
632   - <type>GetVariable</type>
633   - <description/>
634   - <distribute>Y</distribute>
635   - <custom_distribution/>
636   - <copies>1</copies>
637   - <partitioning>
638   - <method>none</method>
639   - <schema_name/>
640   - </partitioning>
641   - <fields>
642   - <field>
643   - <name>filepath_</name>
644   - <variable>&#x24;&#x7b;filepath&#x7d;</variable>
645   - <type>String</type>
646   - <format/>
647   - <currency/>
648   - <decimal/>
649   - <group/>
650   - <length>-1</length>
651   - <precision>-1</precision>
652   - <trim_type>none</trim_type>
653   - </field>
654   - <field>
655   - <name>erroroutputdir_</name>
656   - <variable>&#x24;&#x7b;erroroutputdir&#x7d;</variable>
657   - <type>String</type>
658   - <format/>
659   - <currency/>
660   - <decimal/>
661   - <group/>
662   - <length>-1</length>
663   - <precision>-1</precision>
664   - <trim_type>none</trim_type>
665   - </field>
666   - </fields>
667   - <cluster_schema/>
668   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
669   - <xloc>152</xloc>
670   - <yloc>193</yloc>
671   - <draw>Y</draw>
672   - </GUI>
673   - </step>
674   -
675 729 <step_error_handling>
676 730 <error>
677 731 <source_step>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_gbi</source_step>
... ...
src/main/resources/datatools/ktrs/ttinfodetailDataInput.ktr
... ... @@ -9,31 +9,6 @@
9 9 <trans_status>0</trans_status>
10 10 <directory>&#x2f;</directory>
11 11 <parameters>
12   - <parameter>
13   - <name>erroroutputdir</name>
14   - <default_value/>
15   - <description>ktr step&#x914d;&#x7f6e;&#x7684;&#x9519;&#x8bef;&#x8f93;&#x51fa;&#x76ee;&#x5f55;</description>
16   - </parameter>
17   - <parameter>
18   - <name>filepath</name>
19   - <default_value/>
20   - <description>&#x5f85;&#x5904;&#x7406;&#x5bfc;&#x5165;&#x7684;excel&#x6587;&#x4ef6;</description>
21   - </parameter>
22   - <parameter>
23   - <name>tccname</name>
24   - <default_value/>
25   - <description>&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</description>
26   - </parameter>
27   - <parameter>
28   - <name>ttinfoname</name>
29   - <default_value/>
30   - <description>&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;</description>
31   - </parameter>
32   - <parameter>
33   - <name>xlname</name>
34   - <default_value/>
35   - <description>&#x7ebf;&#x8def;&#x540d;&#x79f0;</description>
36   - </parameter>
37 12 </parameters>
38 13 <log>
39 14 <trans-log-table><connection/>
... ... @@ -95,20 +70,116 @@
95 70 <created_date>2016&#x2f;06&#x2f;30 12&#x3a;21&#x3a;57.536</created_date>
96 71 <modified_user>-</modified_user>
97 72 <modified_date>2016&#x2f;06&#x2f;30 12&#x3a;21&#x3a;57.536</modified_date>
98   - <key_for_session_key/>
  73 + <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</key_for_session_key>
99 74 <is_key_private>N</is_key_private>
100 75 </info>
101 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;</note>
  100 + <xloc>64</xloc>
  101 + <yloc>224</yloc>
  102 + <width>346</width>
  103 + <heigth>58</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>
102 119 </notepads>
103 120 <connection>
104 121 <name>bus_control_&#x516c;&#x53f8;_201</name>
105   - <server>192.168.168.201</server>
  122 + <server>localhost</server>
  123 + <type>MYSQL</type>
  124 + <access>Native</access>
  125 + <database>control</database>
  126 + <port>3306</port>
  127 + <username>root</username>
  128 + <password>Encrypted </password>
  129 + <servername/>
  130 + <data_tablespace/>
  131 + <index_tablespace/>
  132 + <attributes>
  133 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  134 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  135 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  136 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  137 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  138 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  139 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  140 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  141 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  142 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  143 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  144 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  145 + </attributes>
  146 + </connection>
  147 + <connection>
  148 + <name>bus_control_variable</name>
  149 + <server>&#x24;&#x7b;v_db_ip&#x7d;</server>
  150 + <type>MYSQL</type>
  151 + <access>Native</access>
  152 + <database>control</database>
  153 + <port>3306</port>
  154 + <username>&#x24;&#x7b;v_db_uname&#x7d;</username>
  155 + <password>&#x24;&#x7b;v_db_pwd&#x7d;</password>
  156 + <servername/>
  157 + <data_tablespace/>
  158 + <index_tablespace/>
  159 + <attributes>
  160 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  161 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  162 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  163 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  164 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  165 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  166 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  167 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  168 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  169 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  170 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  171 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  172 + </attributes>
  173 + </connection>
  174 + <connection>
  175 + <name>bus_control_&#x672c;&#x673a;</name>
  176 + <server>localhost</server>
106 177 <type>MYSQL</type>
107 178 <access>Native</access>
108 179 <database>control</database>
109 180 <port>3306</port>
110 181 <username>root</username>
111   - <password>Encrypted 2be98afc86aa7f2e4cb79ff228dc6fa8c</password>
  182 + <password>Encrypted </password>
112 183 <servername/>
113 184 <data_tablespace/>
114 185 <index_tablespace/>
... ... @@ -208,46 +279,48 @@
208 279 </connection>
209 280 <order>
210 281 <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>
211   - <hop> <from>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</from><to>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</to><enabled>Y</enabled> </hop>
212   - <hop> <from>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</from><to>&#x6dfb;&#x52a0;&#x53d1;&#x8f66;&#x987a;&#x5e8f;&#x53f7;</to><enabled>Y</enabled> </hop>
213 282 <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>
214 283 <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>
215 284 <hop> <from>&#x6dfb;&#x52a0;&#x5bf9;&#x5e94;&#x73ed;&#x6b21;&#x6570;</from><to>&#x5904;&#x7406;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
216 285 <hop> <from>&#x5904;&#x7406;&#x6570;&#x636e;</from><to>&#x5206;&#x7ec4;&#x5404;&#x4e2a;&#x8def;&#x724c;&#x7684;&#x7ad9;</to><enabled>Y</enabled> </hop>
217 286 <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>
218 287 <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>
219   - <hop> <from>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</from><to>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</to><enabled>Y</enabled> </hop>
220   - <hop> <from>&#x5206;&#x7ec4;&#x5404;&#x4e2a;&#x8def;&#x724c;&#x7684;&#x7ad9;</from><to>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop>
221 288 <hop> <from>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178;</from><to>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178;</to><enabled>Y</enabled> </hop>
222 289 <hop> <from>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 2</from><to>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 2</to><enabled>Y</enabled> </hop>
223 290 <hop> <from>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 3</from><to>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 3</to><enabled>Y</enabled> </hop>
224   - <hop> <from>&#x51fa;&#x573a;&#x73ed;&#x6b21;_&#x5904;&#x7406;&#x6570;&#x636e;</from><to>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;1</to><enabled>Y</enabled> </hop>
225   - <hop> <from>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</from><to>&#x51fa;&#x573a;&#x73ed;&#x6b21;_&#x5904;&#x7406;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
226 291 <hop> <from>&#x5339;&#x914d;&#x4e0a;&#x4e0b;&#x884c;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x7c7b;&#x578b;&#x4fee;&#x6b63;</to><enabled>Y</enabled> </hop>
227 292 <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>
228 293 <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>
229 294 <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>
230 295 <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>
231   - <hop> <from>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;1</from><to>&#x67e5;&#x627e;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;1</to><enabled>Y</enabled> </hop>
232   - <hop> <from>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;2</from><to>&#x67e5;&#x627e;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;2</to><enabled>Y</enabled> </hop>
233 296 <hop> <from>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x4e0a;&#x4e0b;&#x884c;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x5339;&#x914d;&#x4e0a;&#x4e0b;&#x884c;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>
234 297 <hop> <from>&#x67e5;&#x627e;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;</from><to>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178;</to><enabled>Y</enabled> </hop>
235   - <hop> <from>&#x67e5;&#x627e;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;1</from><to>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 2</to><enabled>Y</enabled> </hop>
236   - <hop> <from>&#x67e5;&#x627e;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;2</from><to>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 3</to><enabled>Y</enabled> </hop>
237 298 <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>
238 299 <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>
239 300 <hop> <from>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x6570;&#x636e;</from><to>&#x6b63;&#x5e38;&#x73ed;&#x6b21;_&#x5904;&#x7406;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
240 301 <hop> <from>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178;</from><to>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x4e0a;&#x4e0b;&#x884c;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>
241 302 <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>
242 303 <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>
243   - <hop> <from>&#x8fdb;&#x573a;&#x73ed;&#x6b21;_&#x5904;&#x7406;&#x6570;&#x636e;</from><to>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;2</to><enabled>Y</enabled> </hop>
244   - <hop> <from>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</from><to>&#x8fdb;&#x573a;&#x73ed;&#x6b21;_&#x5904;&#x7406;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
245 304 <hop> <from>&#x67e5;&#x627e;&#x8def;&#x724c;&#x5173;&#x8054;</from><to>&#x8ba1;&#x7b97;&#x73ed;&#x6b21;&#x7c7b;&#x578b;</to><enabled>Y</enabled> </hop>
246 305 <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>
  306 + <hop> <from>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</from><to>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;1</to><enabled>Y</enabled> </hop>
  307 + <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>
  308 + <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>
  309 + <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>
  310 + <hop> <from>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</from><to>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;2</to><enabled>Y</enabled> </hop>
  311 + <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>
  312 + <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>
  313 + <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>
  314 + <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>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 3</to><enabled>Y</enabled> </hop>
  315 + <hop> <from>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</from><to>&#x6dfb;&#x52a0;&#x53d1;&#x8f66;&#x987a;&#x5e8f;&#x53f7;</to><enabled>Y</enabled> </hop>
  316 + <hop> <from>&#x5206;&#x7ec4;&#x5404;&#x4e2a;&#x8def;&#x724c;&#x7684;&#x7ad9;</from><to>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop>
  317 + <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>
  318 + <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>
  319 + <hop> <from>&#x8bb0;&#x5f55;&#x5173;&#x8054; &#x28;&#x7b1b;&#x5361;&#x5c14;&#x8f93;&#x51fa;&#x29;</from><to>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</to><enabled>Y</enabled> </hop>
247 320 </order>
248 321 <step>
249   - <name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</name>
250   - <type>ExcelInput</type>
  322 + <name>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178;</name>
  323 + <type>ValueMapper</type>
251 324 <description/>
252 325 <distribute>Y</distribute>
253 326 <custom_distribution/>
... ... @@ -256,548 +329,130 @@
256 329 <method>none</method>
257 330 <schema_name/>
258 331 </partitioning>
259   - <header>Y</header>
260   - <noempty>Y</noempty>
261   - <stoponempty>N</stoponempty>
262   - <filefield/>
263   - <sheetfield/>
264   - <sheetrownumfield/>
265   - <rownumfield/>
266   - <sheetfield/>
267   - <filefield/>
268   - <limit>0</limit>
269   - <encoding/>
270   - <add_to_result_filenames>Y</add_to_result_filenames>
271   - <accept_filenames>N</accept_filenames>
272   - <accept_field/>
273   - <accept_stepname/>
274   - <file>
275   - <name>&#x2f;Users&#x2f;xu&#x2f;resource&#x2f;project&#x2f;bsth_control_etl&#x2f;&#x95f5;&#x884c;&#x516c;&#x4ea4;&#x2f;85&#x8def;0328&#x5e73;&#x8868;-&#x6d4b;&#x8bd5;1-&#x65f6;&#x523b;&#x660e;&#x7ec6;.xls</name>
276   - <filemask/>
277   - <exclude_filemask/>
278   - <file_required>N</file_required>
279   - <include_subfolders>N</include_subfolders>
280   - </file>
  332 + <field_to_use>sxx</field_to_use>
  333 + <target_field>sxx_desc</target_field>
  334 + <non_match_default/>
281 335 <fields>
282 336 <field>
283   - <name>&#x8def;&#x724c;</name>
284   - <type>String</type>
285   - <length>-1</length>
286   - <precision>-1</precision>
287   - <trim_type>none</trim_type>
288   - <repeat>N</repeat>
289   - <format/>
290   - <currency/>
291   - <decimal/>
292   - <group/>
293   - </field>
294   - <field>
295   - <name>&#x51fa;&#x573a;</name>
296   - <type>String</type>
297   - <length>-1</length>
298   - <precision>-1</precision>
299   - <trim_type>none</trim_type>
300   - <repeat>N</repeat>
301   - <format/>
302   - <currency/>
303   - <decimal/>
304   - <group/>
305   - </field>
306   - <field>
307   - <name>&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;1</name>
308   - <type>String</type>
309   - <length>-1</length>
310   - <precision>-1</precision>
311   - <trim_type>none</trim_type>
312   - <repeat>N</repeat>
313   - <format/>
314   - <currency/>
315   - <decimal/>
316   - <group/>
317   - </field>
318   - <field>
319   - <name>&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;1</name>
320   - <type>String</type>
321   - <length>-1</length>
322   - <precision>-1</precision>
323   - <trim_type>none</trim_type>
324   - <repeat>N</repeat>
325   - <format/>
326   - <currency/>
327   - <decimal/>
328   - <group/>
329   - </field>
330   - <field>
331   - <name>&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;2</name>
332   - <type>String</type>
333   - <length>-1</length>
334   - <precision>-1</precision>
335   - <trim_type>none</trim_type>
336   - <repeat>N</repeat>
337   - <format/>
338   - <currency/>
339   - <decimal/>
340   - <group/>
341   - </field>
342   - <field>
343   - <name>&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;2</name>
344   - <type>String</type>
345   - <length>-1</length>
346   - <precision>-1</precision>
347   - <trim_type>none</trim_type>
348   - <repeat>N</repeat>
349   - <format/>
350   - <currency/>
351   - <decimal/>
352   - <group/>
353   - </field>
354   - <field>
355   - <name>&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;3</name>
356   - <type>String</type>
357   - <length>-1</length>
358   - <precision>-1</precision>
359   - <trim_type>none</trim_type>
360   - <repeat>N</repeat>
361   - <format/>
362   - <currency/>
363   - <decimal/>
364   - <group/>
365   - </field>
366   - <field>
367   - <name>&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;3</name>
368   - <type>String</type>
369   - <length>-1</length>
370   - <precision>-1</precision>
371   - <trim_type>none</trim_type>
372   - <repeat>N</repeat>
373   - <format/>
374   - <currency/>
375   - <decimal/>
376   - <group/>
377   - </field>
378   - <field>
379   - <name>&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;4</name>
380   - <type>String</type>
381   - <length>-1</length>
382   - <precision>-1</precision>
383   - <trim_type>none</trim_type>
384   - <repeat>N</repeat>
385   - <format/>
386   - <currency/>
387   - <decimal/>
388   - <group/>
389   - </field>
390   - <field>
391   - <name>&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;4</name>
392   - <type>String</type>
393   - <length>-1</length>
394   - <precision>-1</precision>
395   - <trim_type>none</trim_type>
396   - <repeat>N</repeat>
397   - <format/>
398   - <currency/>
399   - <decimal/>
400   - <group/>
401   - </field>
402   - <field>
403   - <name>&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;5</name>
404   - <type>String</type>
405   - <length>-1</length>
406   - <precision>-1</precision>
407   - <trim_type>none</trim_type>
408   - <repeat>N</repeat>
409   - <format/>
410   - <currency/>
411   - <decimal/>
412   - <group/>
413   - </field>
414   - <field>
415   - <name>&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;5</name>
416   - <type>String</type>
417   - <length>-1</length>
418   - <precision>-1</precision>
419   - <trim_type>none</trim_type>
420   - <repeat>N</repeat>
421   - <format/>
422   - <currency/>
423   - <decimal/>
424   - <group/>
425   - </field>
426   - <field>
427   - <name>&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;6</name>
428   - <type>String</type>
429   - <length>-1</length>
430   - <precision>-1</precision>
431   - <trim_type>none</trim_type>
432   - <repeat>N</repeat>
433   - <format/>
434   - <currency/>
435   - <decimal/>
436   - <group/>
437   - </field>
438   - <field>
439   - <name>&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;6</name>
440   - <type>String</type>
441   - <length>-1</length>
442   - <precision>-1</precision>
443   - <trim_type>none</trim_type>
444   - <repeat>N</repeat>
445   - <format/>
446   - <currency/>
447   - <decimal/>
448   - <group/>
449   - </field>
450   - <field>
451   - <name>&#x8fdb;&#x573a;1</name>
452   - <type>String</type>
453   - <length>-1</length>
454   - <precision>-1</precision>
455   - <trim_type>none</trim_type>
456   - <repeat>N</repeat>
457   - <format/>
458   - <currency/>
459   - <decimal/>
460   - <group/>
  337 + <source_value>0</source_value>
  338 + <target_value>&#x4e0a;&#x884c;</target_value>
461 339 </field>
462 340 <field>
463   - <name>&#x51fa;&#x573a;1</name>
464   - <type>String</type>
465   - <length>-1</length>
466   - <precision>-1</precision>
467   - <trim_type>none</trim_type>
468   - <repeat>N</repeat>
469   - <format/>
470   - <currency/>
471   - <decimal/>
472   - <group/>
  341 + <source_value>1</source_value>
  342 + <target_value>&#x4e0b;&#x884c;</target_value>
473 343 </field>
  344 + </fields>
  345 + <cluster_schema/>
  346 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  347 + <xloc>147</xloc>
  348 + <yloc>403</yloc>
  349 + <draw>Y</draw>
  350 + </GUI>
  351 + </step>
  352 +
  353 + <step>
  354 + <name>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 2</name>
  355 + <type>ValueMapper</type>
  356 + <description/>
  357 + <distribute>Y</distribute>
  358 + <custom_distribution/>
  359 + <copies>1</copies>
  360 + <partitioning>
  361 + <method>none</method>
  362 + <schema_name/>
  363 + </partitioning>
  364 + <field_to_use>sxx</field_to_use>
  365 + <target_field>sxx_desc</target_field>
  366 + <non_match_default/>
  367 + <fields>
474 368 <field>
475   - <name>&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;7</name>
476   - <type>String</type>
477   - <length>-1</length>
478   - <precision>-1</precision>
479   - <trim_type>none</trim_type>
480   - <repeat>N</repeat>
481   - <format/>
482   - <currency/>
483   - <decimal/>
484   - <group/>
  369 + <source_value>0</source_value>
  370 + <target_value>&#x4e0a;&#x884c;</target_value>
485 371 </field>
486 372 <field>
487   - <name>&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;7</name>
488   - <type>String</type>
489   - <length>-1</length>
490   - <precision>-1</precision>
491   - <trim_type>none</trim_type>
492   - <repeat>N</repeat>
493   - <format/>
494   - <currency/>
495   - <decimal/>
496   - <group/>
  373 + <source_value>1</source_value>
  374 + <target_value>&#x4e0b;&#x884c;</target_value>
497 375 </field>
  376 + </fields>
  377 + <cluster_schema/>
  378 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  379 + <xloc>331</xloc>
  380 + <yloc>598</yloc>
  381 + <draw>Y</draw>
  382 + </GUI>
  383 + </step>
  384 +
  385 + <step>
  386 + <name>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 3</name>
  387 + <type>ValueMapper</type>
  388 + <description/>
  389 + <distribute>Y</distribute>
  390 + <custom_distribution/>
  391 + <copies>1</copies>
  392 + <partitioning>
  393 + <method>none</method>
  394 + <schema_name/>
  395 + </partitioning>
  396 + <field_to_use>sxx</field_to_use>
  397 + <target_field>sxx_desc</target_field>
  398 + <non_match_default/>
  399 + <fields>
498 400 <field>
499   - <name>&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;8</name>
500   - <type>String</type>
501   - <length>-1</length>
502   - <precision>-1</precision>
503   - <trim_type>none</trim_type>
504   - <repeat>N</repeat>
505   - <format/>
506   - <currency/>
507   - <decimal/>
508   - <group/>
  401 + <source_value>0</source_value>
  402 + <target_value>&#x4e0a;&#x884c;</target_value>
509 403 </field>
510 404 <field>
511   - <name>&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;8</name>
512   - <type>String</type>
513   - <length>-1</length>
514   - <precision>-1</precision>
515   - <trim_type>none</trim_type>
516   - <repeat>N</repeat>
517   - <format/>
518   - <currency/>
519   - <decimal/>
520   - <group/>
  405 + <source_value>1</source_value>
  406 + <target_value>&#x4e0b;&#x884c;</target_value>
521 407 </field>
522   - <field>
523   - <name>&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;9</name>
  408 + </fields>
  409 + <cluster_schema/>
  410 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  411 + <xloc>550</xloc>
  412 + <yloc>775</yloc>
  413 + <draw>Y</draw>
  414 + </GUI>
  415 + </step>
  416 +
  417 + <step>
  418 + <name>&#x51fa;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x7ec8;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</name>
  419 + <type>ScriptValueMod</type>
  420 + <description/>
  421 + <distribute>Y</distribute>
  422 + <custom_distribution/>
  423 + <copies>1</copies>
  424 + <partitioning>
  425 + <method>none</method>
  426 + <schema_name/>
  427 + </partitioning>
  428 + <compatible>N</compatible>
  429 + <optimizationLevel>9</optimizationLevel>
  430 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  431 + <jsScript_name>Script 1</jsScript_name>
  432 + <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;</jsScript_script>
  433 + </jsScript> </jsScripts> <fields> <field> <name>zdzname</name>
  434 + <rename>zdzname</rename>
524 435 <type>String</type>
525 436 <length>-1</length>
526 437 <precision>-1</precision>
527   - <trim_type>none</trim_type>
528   - <repeat>N</repeat>
529   - <format/>
530   - <currency/>
531   - <decimal/>
532   - <group/>
533   - </field>
534   - <field>
535   - <name>&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;9</name>
  438 + <replace>N</replace>
  439 + </field> <field> <name>endZdtype</name>
  440 + <rename>endZdtype</rename>
536 441 <type>String</type>
537 442 <length>-1</length>
538 443 <precision>-1</precision>
539   - <trim_type>none</trim_type>
540   - <repeat>N</repeat>
541   - <format/>
542   - <currency/>
543   - <decimal/>
544   - <group/>
545   - </field>
546   - <field>
547   - <name>&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;10</name>
548   - <type>String</type>
549   - <length>-1</length>
550   - <precision>-1</precision>
551   - <trim_type>none</trim_type>
552   - <repeat>N</repeat>
553   - <format/>
554   - <currency/>
555   - <decimal/>
556   - <group/>
557   - </field>
558   - <field>
559   - <name>&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;10</name>
560   - <type>String</type>
561   - <length>-1</length>
562   - <precision>-1</precision>
563   - <trim_type>none</trim_type>
564   - <repeat>N</repeat>
565   - <format/>
566   - <currency/>
567   - <decimal/>
568   - <group/>
569   - </field>
570   - <field>
571   - <name>&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;11</name>
572   - <type>String</type>
573   - <length>-1</length>
574   - <precision>-1</precision>
575   - <trim_type>none</trim_type>
576   - <repeat>N</repeat>
577   - <format/>
578   - <currency/>
579   - <decimal/>
580   - <group/>
581   - </field>
582   - <field>
583   - <name>&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;11</name>
584   - <type>String</type>
585   - <length>-1</length>
586   - <precision>-1</precision>
587   - <trim_type>none</trim_type>
588   - <repeat>N</repeat>
589   - <format/>
590   - <currency/>
591   - <decimal/>
592   - <group/>
593   - </field>
594   - <field>
595   - <name>&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;12</name>
596   - <type>String</type>
597   - <length>-1</length>
598   - <precision>-1</precision>
599   - <trim_type>none</trim_type>
600   - <repeat>N</repeat>
601   - <format/>
602   - <currency/>
603   - <decimal/>
604   - <group/>
605   - </field>
606   - <field>
607   - <name>&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;12</name>
608   - <type>String</type>
609   - <length>-1</length>
610   - <precision>-1</precision>
611   - <trim_type>none</trim_type>
612   - <repeat>N</repeat>
613   - <format/>
614   - <currency/>
615   - <decimal/>
616   - <group/>
617   - </field>
618   - <field>
619   - <name>&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;13</name>
620   - <type>String</type>
621   - <length>-1</length>
622   - <precision>-1</precision>
623   - <trim_type>none</trim_type>
624   - <repeat>N</repeat>
625   - <format/>
626   - <currency/>
627   - <decimal/>
628   - <group/>
629   - </field>
630   - <field>
631   - <name>&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;13</name>
632   - <type>String</type>
633   - <length>-1</length>
634   - <precision>-1</precision>
635   - <trim_type>none</trim_type>
636   - <repeat>N</repeat>
637   - <format/>
638   - <currency/>
639   - <decimal/>
640   - <group/>
641   - </field>
642   - <field>
643   - <name>&#x8fdb;&#x573a;</name>
644   - <type>String</type>
645   - <length>-1</length>
646   - <precision>-1</precision>
647   - <trim_type>none</trim_type>
648   - <repeat>N</repeat>
649   - <format/>
650   - <currency/>
651   - <decimal/>
652   - <group/>
653   - </field>
654   - </fields>
655   - <sheets>
656   - <sheet>
657   - <name>&#x5de5;&#x4f5c;&#x8868;1</name>
658   - <startrow>0</startrow>
659   - <startcol>0</startcol>
660   - </sheet>
661   - </sheets>
662   - <strict_types>N</strict_types>
663   - <error_ignored>N</error_ignored>
664   - <error_line_skipped>N</error_line_skipped>
665   - <bad_line_files_destination_directory/>
666   - <bad_line_files_extension>warning</bad_line_files_extension>
667   - <error_line_files_destination_directory/>
668   - <error_line_files_extension>error</error_line_files_extension>
669   - <line_number_files_destination_directory/>
670   - <line_number_files_extension>line</line_number_files_extension>
671   - <shortFileFieldName/>
672   - <pathFieldName/>
673   - <hiddenFieldName/>
674   - <lastModificationTimeFieldName/>
675   - <uriNameFieldName/>
676   - <rootUriNameFieldName/>
677   - <extensionFieldName/>
678   - <sizeFieldName/>
679   - <spreadsheet_type>JXL</spreadsheet_type>
680   - <cluster_schema/>
681   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
682   - <xloc>112</xloc>
683   - <yloc>44</yloc>
684   - <draw>Y</draw>
685   - </GUI>
686   - </step>
687   -
688   - <step>
689   - <name>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</name>
690   - <type>Normaliser</type>
691   - <description/>
692   - <distribute>Y</distribute>
693   - <custom_distribution/>
694   - <copies>1</copies>
695   - <partitioning>
696   - <method>none</method>
697   - <schema_name/>
698   - </partitioning>
699   - <typefield>&#x7ad9;&#x70b9;&#x540d;&#x79f0;</typefield>
700   - <fields> <field> <name>&#x51fa;&#x573a;</name>
701   - <value>&#x51fa;&#x573a;</value>
702   - <norm>&#x53d1;&#x8f66;&#x65f6;&#x95f4;</norm>
703   - </field> <field> <name>&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;1</name>
704   - <value>&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;1</value>
705   - <norm>&#x53d1;&#x8f66;&#x65f6;&#x95f4;</norm>
706   - </field> <field> <name>&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;1</name>
707   - <value>&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;1</value>
708   - <norm>&#x53d1;&#x8f66;&#x65f6;&#x95f4;</norm>
709   - </field> <field> <name>&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;2</name>
710   - <value>&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;2</value>
711   - <norm>&#x53d1;&#x8f66;&#x65f6;&#x95f4;</norm>
712   - </field> <field> <name>&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;2</name>
713   - <value>&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;2</value>
714   - <norm>&#x53d1;&#x8f66;&#x65f6;&#x95f4;</norm>
715   - </field> <field> <name>&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;3</name>
716   - <value>&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;3</value>
717   - <norm>&#x53d1;&#x8f66;&#x65f6;&#x95f4;</norm>
718   - </field> <field> <name>&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;3</name>
719   - <value>&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;3</value>
720   - <norm>&#x53d1;&#x8f66;&#x65f6;&#x95f4;</norm>
721   - </field> <field> <name>&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;4</name>
722   - <value>&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;4</value>
723   - <norm>&#x53d1;&#x8f66;&#x65f6;&#x95f4;</norm>
724   - </field> <field> <name>&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;4</name>
725   - <value>&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;4</value>
726   - <norm>&#x53d1;&#x8f66;&#x65f6;&#x95f4;</norm>
727   - </field> <field> <name>&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;5</name>
728   - <value>&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;5</value>
729   - <norm>&#x53d1;&#x8f66;&#x65f6;&#x95f4;</norm>
730   - </field> <field> <name>&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;5</name>
731   - <value>&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;5</value>
732   - <norm>&#x53d1;&#x8f66;&#x65f6;&#x95f4;</norm>
733   - </field> <field> <name>&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;6</name>
734   - <value>&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;6</value>
735   - <norm>&#x53d1;&#x8f66;&#x65f6;&#x95f4;</norm>
736   - </field> <field> <name>&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;6</name>
737   - <value>&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;6</value>
738   - <norm>&#x53d1;&#x8f66;&#x65f6;&#x95f4;</norm>
739   - </field> <field> <name>&#x8fdb;&#x573a;1</name>
740   - <value>&#x8fdb;&#x573a;1</value>
741   - <norm>&#x53d1;&#x8f66;&#x65f6;&#x95f4;</norm>
742   - </field> <field> <name>&#x51fa;&#x573a;1</name>
743   - <value>&#x51fa;&#x573a;1</value>
744   - <norm>&#x53d1;&#x8f66;&#x65f6;&#x95f4;</norm>
745   - </field> <field> <name>&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;7</name>
746   - <value>&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;7</value>
747   - <norm>&#x53d1;&#x8f66;&#x65f6;&#x95f4;</norm>
748   - </field> <field> <name>&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;7</name>
749   - <value>&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;7</value>
750   - <norm>&#x53d1;&#x8f66;&#x65f6;&#x95f4;</norm>
751   - </field> <field> <name>&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;8</name>
752   - <value>&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;8</value>
753   - <norm>&#x53d1;&#x8f66;&#x65f6;&#x95f4;</norm>
754   - </field> <field> <name>&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;8</name>
755   - <value>&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;8</value>
756   - <norm>&#x53d1;&#x8f66;&#x65f6;&#x95f4;</norm>
757   - </field> <field> <name>&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;9</name>
758   - <value>&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;9</value>
759   - <norm>&#x53d1;&#x8f66;&#x65f6;&#x95f4;</norm>
760   - </field> <field> <name>&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;9</name>
761   - <value>&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;9</value>
762   - <norm>&#x53d1;&#x8f66;&#x65f6;&#x95f4;</norm>
763   - </field> <field> <name>&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;10</name>
764   - <value>&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;10</value>
765   - <norm>&#x53d1;&#x8f66;&#x65f6;&#x95f4;</norm>
766   - </field> <field> <name>&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;10</name>
767   - <value>&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;10</value>
768   - <norm>&#x53d1;&#x8f66;&#x65f6;&#x95f4;</norm>
769   - </field> <field> <name>&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;11</name>
770   - <value>&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;11</value>
771   - <norm>&#x53d1;&#x8f66;&#x65f6;&#x95f4;</norm>
772   - </field> <field> <name>&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;11</name>
773   - <value>&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;11</value>
774   - <norm>&#x53d1;&#x8f66;&#x65f6;&#x95f4;</norm>
775   - </field> <field> <name>&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;12</name>
776   - <value>&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;12</value>
777   - <norm>&#x53d1;&#x8f66;&#x65f6;&#x95f4;</norm>
778   - </field> <field> <name>&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;12</name>
779   - <value>&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;12</value>
780   - <norm>&#x53d1;&#x8f66;&#x65f6;&#x95f4;</norm>
781   - </field> <field> <name>&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;13</name>
782   - <value>&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;13</value>
783   - <norm>&#x53d1;&#x8f66;&#x65f6;&#x95f4;</norm>
784   - </field> <field> <name>&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;13</name>
785   - <value>&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;13</value>
786   - <norm>&#x53d1;&#x8f66;&#x65f6;&#x95f4;</norm>
787   - </field> <field> <name>&#x8fdb;&#x573a;</name>
788   - <value>&#x8fdb;&#x573a;</value>
789   - <norm>&#x53d1;&#x8f66;&#x65f6;&#x95f4;</norm>
790   - </field> </fields> <cluster_schema/>
  444 + <replace>N</replace>
  445 + </field> </fields> <cluster_schema/>
791 446 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
792   - <xloc>248</xloc>
793   - <yloc>44</yloc>
  447 + <xloc>575</xloc>
  448 + <yloc>502</yloc>
794 449 <draw>Y</draw>
795 450 </GUI>
796 451 </step>
797 452  
798 453 <step>
799   - <name>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</name>
800   - <type>SelectValues</type>
  454 + <name>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</name>
  455 + <type>Dummy</type>
801 456 <description/>
802 457 <distribute>Y</distribute>
803 458 <custom_distribution/>
... ... @@ -806,29 +461,16 @@
806 461 <method>none</method>
807 462 <schema_name/>
808 463 </partitioning>
809   - <fields> <field> <name>&#x8def;&#x724c;</name>
810   - <rename>lp</rename>
811   - <length>-2</length>
812   - <precision>-2</precision>
813   - </field> <field> <name>&#x7ad9;&#x70b9;&#x540d;&#x79f0;</name>
814   - <rename>qdzname</rename>
815   - <length>-2</length>
816   - <precision>-2</precision>
817   - </field> <field> <name>&#x53d1;&#x8f66;&#x65f6;&#x95f4;</name>
818   - <rename>sendtime</rename>
819   - <length>-2</length>
820   - <precision>-2</precision>
821   - </field> <select_unspecified>Y</select_unspecified>
822   - </fields> <cluster_schema/>
  464 + <cluster_schema/>
823 465 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
824   - <xloc>351</xloc>
825   - <yloc>45</yloc>
  466 + <xloc>869</xloc>
  467 + <yloc>504</yloc>
826 468 <draw>Y</draw>
827 469 </GUI>
828 470 </step>
829 471  
830 472 <step>
831   - <name>&#x6dfb;&#x52a0;&#x53d1;&#x8f66;&#x987a;&#x5e8f;&#x53f7;</name>
  473 + <name>&#x5206;&#x7ec4;&#x5404;&#x4e2a;&#x8def;&#x724c;&#x7684;&#x7ad9;</name>
832 474 <type>GroupBy</type>
833 475 <description/>
834 476 <distribute>Y</distribute>
... ... @@ -844,7 +486,7 @@
844 486 <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
845 487 <prefix>grp</prefix>
846 488 <add_linenr>Y</add_linenr>
847   - <linenr_fieldname>fcno</linenr_fieldname>
  489 + <linenr_fieldname>gno</linenr_fieldname>
848 490 <give_back_row>N</give_back_row>
849 491 <group>
850 492 <field>
... ... @@ -852,18 +494,24 @@
852 494 </field>
853 495 </group>
854 496 <fields>
  497 + <field>
  498 + <aggregate>qdzgroups</aggregate>
  499 + <subject>qdzname</subject>
  500 + <type>CONCAT_STRING</type>
  501 + <valuefield>,</valuefield>
  502 + </field>
855 503 </fields>
856 504 <cluster_schema/>
857 505 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
858   - <xloc>442</xloc>
  506 + <xloc>892</xloc>
859 507 <yloc>44</yloc>
860 508 <draw>Y</draw>
861 509 </GUI>
862 510 </step>
863 511  
864 512 <step>
865   - <name>&#x8fc7;&#x6ee4;&#x8bb0;&#x5f55;&#xff08;&#x53d1;&#x8f66;&#x65f6;&#x95f4;&#x4e3a;&#x7a7a;&#xff09;</name>
866   - <type>FilterRows</type>
  513 + <name>&#x5339;&#x914d;&#x4e0a;&#x4e0b;&#x884c;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
  514 + <type>ScriptValueMod</type>
867 515 <description/>
868 516 <distribute>Y</distribute>
869 517 <custom_distribution/>
... ... @@ -872,27 +520,34 @@
872 520 <method>none</method>
873 521 <schema_name/>
874 522 </partitioning>
875   -<send_true_to/>
876   -<send_false_to/>
877   - <compare>
878   -<condition>
879   - <negated>N</negated>
880   - <leftvalue>sendtime</leftvalue>
881   - <function>IS NOT NULL</function>
882   - <rightvalue/>
883   - </condition>
884   - </compare>
885   - <cluster_schema/>
  523 + <compatible>N</compatible>
  524 + <optimizationLevel>9</optimizationLevel>
  525 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  526 + <jsScript_name>Script 1</jsScript_name>
  527 + <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;if &#x28;sxx &#x3d;&#x3d; 0&#x29; &#x7b; &#x2f;&#x2f; &#x4e0a;&#x884c;&#xa; jhlc &#x3d; up_mileage&#x3b;&#xa; bcsj &#x3d; up_travel_time&#x3b;&#xa;&#x7d; else &#x7b; &#x2f;&#x2f; sxx &#x3d;&#x3d; 1 &#x4e0b;&#x884c;&#xa; jhlc &#x3d; down_mileage&#x3b;&#xa; bcsj &#x3d; down_travel_time&#x3b;&#xa;&#x7d;</jsScript_script>
  528 + </jsScript> </jsScripts> <fields> <field> <name>jhlc</name>
  529 + <rename>jhlc</rename>
  530 + <type>String</type>
  531 + <length>-1</length>
  532 + <precision>-1</precision>
  533 + <replace>N</replace>
  534 + </field> <field> <name>bcsj</name>
  535 + <rename>bcsj</rename>
  536 + <type>String</type>
  537 + <length>-1</length>
  538 + <precision>-1</precision>
  539 + <replace>N</replace>
  540 + </field> </fields> <cluster_schema/>
886 541 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
887   - <xloc>571</xloc>
888   - <yloc>44</yloc>
  542 + <xloc>148</xloc>
  543 + <yloc>674</yloc>
889 544 <draw>Y</draw>
890 545 </GUI>
891 546 </step>
892 547  
893 548 <step>
894   - <name>&#x6dfb;&#x52a0;&#x5bf9;&#x5e94;&#x73ed;&#x6b21;&#x6570;</name>
895   - <type>GroupBy</type>
  549 + <name>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;&#xff0c;&#x7ebf;&#x8def;&#x540d;&#x5b57;&#xff0c;&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</name>
  550 + <type>DataGrid</type>
896 551 <description/>
897 552 <distribute>Y</distribute>
898 553 <custom_distribution/>
... ... @@ -901,22 +556,15 @@
901 556 <method>none</method>
902 557 <schema_name/>
903 558 </partitioning>
904   - <all_rows>Y</all_rows>
905   - <ignore_aggregate>N</ignore_aggregate>
906   - <field_ignore/>
907   - <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
908   - <prefix>grp</prefix>
909   - <add_linenr>Y</add_linenr>
910   - <linenr_fieldname>bcs</linenr_fieldname>
911   - <give_back_row>N</give_back_row>
912   - <group>
913   - </group>
914   - <fields>
915   - </fields>
  559 + <fields>
  560 + </fields>
  561 + <data>
  562 + <line> </line>
  563 + </data>
916 564 <cluster_schema/>
917 565 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
918   - <xloc>692</xloc>
919   - <yloc>44</yloc>
  566 + <xloc>110</xloc>
  567 + <yloc>133</yloc>
920 568 <draw>Y</draw>
921 569 </GUI>
922 570 </step>
... ... @@ -952,8 +600,8 @@
952 600 </step>
953 601  
954 602 <step>
955   - <name>&#x5206;&#x7ec4;&#x5404;&#x4e2a;&#x8def;&#x724c;&#x7684;&#x7ad9;</name>
956   - <type>GroupBy</type>
  603 + <name>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</name>
  604 + <type>SelectValues</type>
957 605 <description/>
958 606 <distribute>Y</distribute>
959 607 <custom_distribution/>
... ... @@ -962,38 +610,59 @@
962 610 <method>none</method>
963 611 <schema_name/>
964 612 </partitioning>
965   - <all_rows>Y</all_rows>
966   - <ignore_aggregate>N</ignore_aggregate>
967   - <field_ignore/>
968   - <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
969   - <prefix>grp</prefix>
970   - <add_linenr>N</add_linenr>
971   - <linenr_fieldname>fcno</linenr_fieldname>
972   - <give_back_row>N</give_back_row>
973   - <group>
974   - <field>
975   - <name>lp</name>
976   - </field>
977   - </group>
978   - <fields>
979   - <field>
980   - <aggregate>qdzgroups</aggregate>
981   - <subject>qdzname</subject>
982   - <type>CONCAT_STRING</type>
983   - <valuefield>,</valuefield>
984   - </field>
985   - </fields>
  613 + <fields> <field> <name>&#x8def;&#x724c;</name>
  614 + <rename>lp</rename>
  615 + <length>-2</length>
  616 + <precision>-2</precision>
  617 + </field> <field> <name>&#x7ad9;&#x70b9;&#x540d;&#x79f0;</name>
  618 + <rename>qdzname</rename>
  619 + <length>-2</length>
  620 + <precision>-2</precision>
  621 + </field> <field> <name>&#x53d1;&#x8f66;&#x65f6;&#x95f4;</name>
  622 + <rename>sendtime</rename>
  623 + <length>-2</length>
  624 + <precision>-2</precision>
  625 + </field> <select_unspecified>Y</select_unspecified>
  626 + </fields> <cluster_schema/>
  627 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  628 + <xloc>444</xloc>
  629 + <yloc>131</yloc>
  630 + <draw>Y</draw>
  631 + </GUI>
  632 + </step>
  633 +
  634 + <step>
  635 + <name>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;1</name>
  636 + <type>FilterRows</type>
  637 + <description/>
  638 + <distribute>Y</distribute>
  639 + <custom_distribution/>
  640 + <copies>1</copies>
  641 + <partitioning>
  642 + <method>none</method>
  643 + <schema_name/>
  644 + </partitioning>
  645 +<send_true_to>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x6570;&#x636e;</send_true_to>
  646 +<send_false_to>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</send_false_to>
  647 + <compare>
  648 +<condition>
  649 + <negated>N</negated>
  650 + <leftvalue>bctype</leftvalue>
  651 + <function>&#x3d;</function>
  652 + <rightvalue/>
  653 + <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>
  654 + </compare>
986 655 <cluster_schema/>
987 656 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
988   - <xloc>892</xloc>
989   - <yloc>44</yloc>
  657 + <xloc>868</xloc>
  658 + <yloc>404</yloc>
990 659 <draw>Y</draw>
991 660 </GUI>
992 661 </step>
993 662  
994 663 <step>
995   - <name>&#x67e5;&#x627e;&#x65f6;&#x523b;&#x8868;&#x57fa;&#x7840;&#x4fe1;&#x606f;&#x5173;&#x8054;</name>
996   - <type>DBLookup</type>
  664 + <name>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</name>
  665 + <type>FilterRows</type>
997 666 <description/>
998 667 <distribute>Y</distribute>
999 668 <custom_distribution/>
... ... @@ -1002,249 +671,27 @@
1002 671 <method>none</method>
1003 672 <schema_name/>
1004 673 </partitioning>
1005   - <connection>bus_control_&#x516c;&#x53f8;_201</connection>
1006   - <cache>N</cache>
1007   - <cache_load_all>N</cache_load_all>
1008   - <cache_size>0</cache_size>
1009   - <lookup>
1010   - <schema/>
1011   - <table>bsth_c_s_ttinfo</table>
1012   - <orderby/>
1013   - <fail_on_multiple>N</fail_on_multiple>
1014   - <eat_row_on_failure>N</eat_row_on_failure>
1015   - <key>
1016   - <name>xlid</name>
1017   - <field>xl</field>
1018   - <condition>&#x3d;</condition>
1019   - <name2/>
1020   - </key>
1021   - <key>
1022   - <name>ttname</name>
1023   - <field>name</field>
1024   - <condition>&#x3d;</condition>
1025   - <name2/>
1026   - </key>
1027   - <value>
1028   - <name>id</name>
1029   - <rename>ttid</rename>
1030   - <default/>
1031   - <type>Integer</type>
1032   - </value>
1033   - </lookup>
1034   - <cluster_schema/>
1035   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
1036   - <xloc>1011</xloc>
1037   - <yloc>134</yloc>
1038   - <draw>Y</draw>
1039   - </GUI>
1040   - </step>
1041   -
1042   - <step>
1043   - <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x5173;&#x8054;</name>
1044   - <type>DBLookup</type>
1045   - <description/>
1046   - <distribute>Y</distribute>
1047   - <custom_distribution/>
1048   - <copies>1</copies>
1049   - <partitioning>
1050   - <method>none</method>
1051   - <schema_name/>
1052   - </partitioning>
1053   - <connection>bus_control_&#x516c;&#x53f8;_201</connection>
1054   - <cache>N</cache>
1055   - <cache_load_all>N</cache_load_all>
1056   - <cache_size>0</cache_size>
1057   - <lookup>
1058   - <schema/>
1059   - <table>bsth_c_line</table>
1060   - <orderby/>
1061   - <fail_on_multiple>N</fail_on_multiple>
1062   - <eat_row_on_failure>N</eat_row_on_failure>
1063   - <key>
1064   - <name>xlname</name>
1065   - <field>name</field>
1066   - <condition>&#x3d;</condition>
1067   - <name2/>
1068   - </key>
1069   - <value>
1070   - <name>id</name>
1071   - <rename>xlid</rename>
1072   - <default/>
1073   - <type>Integer</type>
1074   - </value>
1075   - </lookup>
1076   - <cluster_schema/>
1077   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
1078   - <xloc>1007</xloc>
1079   - <yloc>43</yloc>
1080   - <draw>Y</draw>
1081   - </GUI>
1082   - </step>
1083   -
1084   - <step>
1085   - <name>&#x67e5;&#x627e;&#x8def;&#x724c;&#x5173;&#x8054;</name>
1086   - <type>DBLookup</type>
1087   - <description/>
1088   - <distribute>Y</distribute>
1089   - <custom_distribution/>
1090   - <copies>1</copies>
1091   - <partitioning>
1092   - <method>none</method>
1093   - <schema_name/>
1094   - </partitioning>
1095   - <connection>bus_control_&#x516c;&#x53f8;_201</connection>
1096   - <cache>N</cache>
1097   - <cache_load_all>N</cache_load_all>
1098   - <cache_size>0</cache_size>
1099   - <lookup>
1100   - <schema/>
1101   - <table>bsth_c_s_gbi</table>
1102   - <orderby/>
1103   - <fail_on_multiple>N</fail_on_multiple>
1104   - <eat_row_on_failure>N</eat_row_on_failure>
1105   - <key>
1106   - <name>xlid</name>
1107   - <field>xl</field>
1108   - <condition>&#x3d;</condition>
1109   - <name2/>
1110   - </key>
1111   - <key>
1112   - <name>lp</name>
1113   - <field>lp_name</field>
1114   - <condition>&#x3d;</condition>
1115   - <name2/>
1116   - </key>
1117   - <value>
1118   - <name>id</name>
1119   - <rename>lpid</rename>
1120   - <default/>
1121   - <type>Integer</type>
1122   - </value>
1123   - </lookup>
1124   - <cluster_schema/>
1125   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
1126   - <xloc>1013</xloc>
1127   - <yloc>265</yloc>
1128   - <draw>Y</draw>
1129   - </GUI>
1130   - </step>
1131   -
1132   - <step>
1133   - <name>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</name>
1134   - <type>GetVariable</type>
1135   - <description/>
1136   - <distribute>Y</distribute>
1137   - <custom_distribution/>
1138   - <copies>1</copies>
1139   - <partitioning>
1140   - <method>none</method>
1141   - <schema_name/>
1142   - </partitioning>
1143   - <fields>
1144   - <field>
1145   - <name>filepath_</name>
1146   - <variable>&#x24;&#x7b;filepath&#x7d;</variable>
1147   - <type>String</type>
1148   - <format/>
1149   - <currency/>
1150   - <decimal/>
1151   - <group/>
1152   - <length>-1</length>
1153   - <precision>-1</precision>
1154   - <trim_type>none</trim_type>
1155   - </field>
1156   - <field>
1157   - <name>erroroutputdir_</name>
1158   - <variable>&#x24;&#x7b;erroroutputdir&#x7d;</variable>
1159   - <type>String</type>
1160   - <format/>
1161   - <currency/>
1162   - <decimal/>
1163   - <group/>
1164   - <length>-1</length>
1165   - <precision>-1</precision>
1166   - <trim_type>none</trim_type>
1167   - </field>
1168   - <field>
1169   - <name>ttinfoname_</name>
1170   - <variable>&#x24;&#x7b;ttinfoname&#x7d;</variable>
1171   - <type>String</type>
1172   - <format/>
1173   - <currency/>
1174   - <decimal/>
1175   - <group/>
1176   - <length>-1</length>
1177   - <precision>-1</precision>
1178   - <trim_type>none</trim_type>
1179   - </field>
1180   - <field>
1181   - <name>xlname_</name>
1182   - <variable>&#x24;&#x7b;xlname&#x7d;</variable>
1183   - <type>String</type>
1184   - <format/>
1185   - <currency/>
1186   - <decimal/>
1187   - <group/>
1188   - <length>-1</length>
1189   - <precision>-1</precision>
1190   - <trim_type>none</trim_type>
1191   - </field>
1192   - <field>
1193   - <name>tccname_</name>
1194   - <variable>&#x24;&#x7b;tccname&#x7d;</variable>
1195   - <type>String</type>
1196   - <format/>
1197   - <currency/>
1198   - <decimal/>
1199   - <group/>
1200   - <length>-1</length>
1201   - <precision>-1</precision>
1202   - <trim_type>none</trim_type>
1203   - </field>
1204   - </fields>
1205   - <cluster_schema/>
1206   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
1207   - <xloc>113</xloc>
1208   - <yloc>141</yloc>
1209   - <draw>Y</draw>
1210   - </GUI>
1211   - </step>
1212   -
1213   - <step>
1214   - <name>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178;</name>
1215   - <type>ValueMapper</type>
1216   - <description/>
1217   - <distribute>Y</distribute>
1218   - <custom_distribution/>
1219   - <copies>1</copies>
1220   - <partitioning>
1221   - <method>none</method>
1222   - <schema_name/>
1223   - </partitioning>
1224   - <field_to_use>sxx</field_to_use>
1225   - <target_field>sxx_desc</target_field>
1226   - <non_match_default/>
1227   - <fields>
1228   - <field>
1229   - <source_value>0</source_value>
1230   - <target_value>&#x4e0a;&#x884c;</target_value>
1231   - </field>
1232   - <field>
1233   - <source_value>1</source_value>
1234   - <target_value>&#x4e0b;&#x884c;</target_value>
1235   - </field>
1236   - </fields>
  674 +<send_true_to>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</send_true_to>
  675 +<send_false_to>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</send_false_to>
  676 + <compare>
  677 +<condition>
  678 + <negated>N</negated>
  679 + <leftvalue>bctype</leftvalue>
  680 + <function>&#x3d;</function>
  681 + <rightvalue/>
  682 + <value><name>constant</name><type>String</type><text>&#x51fa;&#x573a;</text><length>-1</length><precision>-1</precision><isnull>N</isnull><mask/></value> </condition>
  683 + </compare>
1237 684 <cluster_schema/>
1238 685 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
1239   - <xloc>147</xloc>
1240   - <yloc>403</yloc>
  686 + <xloc>995</xloc>
  687 + <yloc>503</yloc>
1241 688 <draw>Y</draw>
1242 689 </GUI>
1243 690 </step>
1244 691  
1245 692 <step>
1246   - <name>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 2</name>
1247   - <type>ValueMapper</type>
  693 + <name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</name>
  694 + <type>ExcelInput</type>
1248 695 <description/>
1249 696 <distribute>Y</distribute>
1250 697 <custom_distribution/>
... ... @@ -1253,165 +700,66 @@
1253 700 <method>none</method>
1254 701 <schema_name/>
1255 702 </partitioning>
1256   - <field_to_use>sxx</field_to_use>
1257   - <target_field>sxx_desc</target_field>
1258   - <non_match_default/>
  703 + <header>Y</header>
  704 + <noempty>Y</noempty>
  705 + <stoponempty>N</stoponempty>
  706 + <filefield/>
  707 + <sheetfield/>
  708 + <sheetrownumfield/>
  709 + <rownumfield/>
  710 + <sheetfield/>
  711 + <filefield/>
  712 + <limit>0</limit>
  713 + <encoding/>
  714 + <add_to_result_filenames>Y</add_to_result_filenames>
  715 + <accept_filenames>N</accept_filenames>
  716 + <accept_field/>
  717 + <accept_stepname/>
  718 + <file>
  719 + <name/>
  720 + <filemask/>
  721 + <exclude_filemask/>
  722 + <file_required>N</file_required>
  723 + <include_subfolders>N</include_subfolders>
  724 + </file>
1259 725 <fields>
1260   - <field>
1261   - <source_value>0</source_value>
1262   - <target_value>&#x4e0a;&#x884c;</target_value>
1263   - </field>
1264   - <field>
1265   - <source_value>1</source_value>
1266   - <target_value>&#x4e0b;&#x884c;</target_value>
1267   - </field>
1268 726 </fields>
  727 + <sheets>
  728 + <sheet>
  729 + <name>&#x5de5;&#x4f5c;&#x8868;1</name>
  730 + <startrow>0</startrow>
  731 + <startcol>0</startcol>
  732 + </sheet>
  733 + </sheets>
  734 + <strict_types>N</strict_types>
  735 + <error_ignored>N</error_ignored>
  736 + <error_line_skipped>N</error_line_skipped>
  737 + <bad_line_files_destination_directory/>
  738 + <bad_line_files_extension>warning</bad_line_files_extension>
  739 + <error_line_files_destination_directory/>
  740 + <error_line_files_extension>error</error_line_files_extension>
  741 + <line_number_files_destination_directory/>
  742 + <line_number_files_extension>line</line_number_files_extension>
  743 + <shortFileFieldName/>
  744 + <pathFieldName/>
  745 + <hiddenFieldName/>
  746 + <lastModificationTimeFieldName/>
  747 + <uriNameFieldName/>
  748 + <rootUriNameFieldName/>
  749 + <extensionFieldName/>
  750 + <sizeFieldName/>
  751 + <spreadsheet_type>JXL</spreadsheet_type>
1269 752 <cluster_schema/>
1270 753 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
1271   - <xloc>435</xloc>
1272   - <yloc>579</yloc>
1273   - <draw>Y</draw>
1274   - </GUI>
1275   - </step>
1276   -
1277   - <step>
1278   - <name>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 3</name>
1279   - <type>ValueMapper</type>
1280   - <description/>
1281   - <distribute>Y</distribute>
1282   - <custom_distribution/>
1283   - <copies>1</copies>
1284   - <partitioning>
1285   - <method>none</method>
1286   - <schema_name/>
1287   - </partitioning>
1288   - <field_to_use>sxx</field_to_use>
1289   - <target_field>sxx_desc</target_field>
1290   - <non_match_default/>
1291   - <fields>
1292   - <field>
1293   - <source_value>0</source_value>
1294   - <target_value>&#x4e0a;&#x884c;</target_value>
1295   - </field>
1296   - <field>
1297   - <source_value>1</source_value>
1298   - <target_value>&#x4e0b;&#x884c;</target_value>
1299   - </field>
1300   - </fields>
1301   - <cluster_schema/>
1302   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
1303   - <xloc>592</xloc>
1304   - <yloc>674</yloc>
1305   - <draw>Y</draw>
1306   - </GUI>
1307   - </step>
1308   -
1309   - <step>
1310   - <name>&#x51fa;&#x573a;&#x73ed;&#x6b21;_&#x5904;&#x7406;&#x6570;&#x636e;</name>
1311   - <type>ScriptValueMod</type>
1312   - <description/>
1313   - <distribute>Y</distribute>
1314   - <custom_distribution/>
1315   - <copies>1</copies>
1316   - <partitioning>
1317   - <method>none</method>
1318   - <schema_name/>
1319   - </partitioning>
1320   - <compatible>N</compatible>
1321   - <optimizationLevel>9</optimizationLevel>
1322   - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
1323   - <jsScript_name>Script 1</jsScript_name>
1324   - <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f; &#x6dfb;&#x52a0;&#x7ad9;&#x70b9;&#x6807;&#x8bc6;&#xa;var tccname &#x3d; &#x27;&#x4e1c;&#x9756;&#x8def;&#x9ad8;&#x884c;&#x505c;&#x8f66;&#x573a;&#x27;&#x3b;&#xa;var zdzname &#x3d; &#x27;&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;&#x27;&#x3b;&#xa;var sxx &#x3d; &#x27;1&#x27;&#x3b; &#x2f;&#x2f; &#x4e0b;&#x884c;&#xa;var endZdtype &#x3d; &#x27;B&#x27;&#x3b;</jsScript_script>
1325   - </jsScript> </jsScripts> <fields> <field> <name>tccname</name>
1326   - <rename>tccname</rename>
1327   - <type>String</type>
1328   - <length>-1</length>
1329   - <precision>-1</precision>
1330   - <replace>N</replace>
1331   - </field> <field> <name>zdzname</name>
1332   - <rename>zdzname</rename>
1333   - <type>String</type>
1334   - <length>-1</length>
1335   - <precision>-1</precision>
1336   - <replace>N</replace>
1337   - </field> <field> <name>sxx</name>
1338   - <rename>sxx</rename>
1339   - <type>String</type>
1340   - <length>-1</length>
1341   - <precision>-1</precision>
1342   - <replace>N</replace>
1343   - </field> <field> <name>endZdtype</name>
1344   - <rename>endZdtype</rename>
1345   - <type>String</type>
1346   - <length>-1</length>
1347   - <precision>-1</precision>
1348   - <replace>N</replace>
1349   - </field> </fields> <cluster_schema/>
1350   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
1351   - <xloc>730</xloc>
1352   - <yloc>502</yloc>
1353   - <draw>Y</draw>
1354   - </GUI>
1355   - </step>
1356   -
1357   - <step>
1358   - <name>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</name>
1359   - <type>Dummy</type>
1360   - <description/>
1361   - <distribute>Y</distribute>
1362   - <custom_distribution/>
1363   - <copies>1</copies>
1364   - <partitioning>
1365   - <method>none</method>
1366   - <schema_name/>
1367   - </partitioning>
1368   - <cluster_schema/>
1369   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
1370   - <xloc>869</xloc>
1371   - <yloc>504</yloc>
1372   - <draw>Y</draw>
1373   - </GUI>
1374   - </step>
1375   -
1376   - <step>
1377   - <name>&#x5339;&#x914d;&#x4e0a;&#x4e0b;&#x884c;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
1378   - <type>ScriptValueMod</type>
1379   - <description/>
1380   - <distribute>Y</distribute>
1381   - <custom_distribution/>
1382   - <copies>1</copies>
1383   - <partitioning>
1384   - <method>none</method>
1385   - <schema_name/>
1386   - </partitioning>
1387   - <compatible>N</compatible>
1388   - <optimizationLevel>9</optimizationLevel>
1389   - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
1390   - <jsScript_name>Script 1</jsScript_name>
1391   - <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;if &#x28;sxx &#x3d;&#x3d; 0&#x29; &#x7b; &#x2f;&#x2f; &#x4e0a;&#x884c;&#xa; jhlc &#x3d; up_mileage&#x3b;&#xa; bcsj &#x3d; up_travel_time&#x3b;&#xa;&#x7d; else &#x7b; &#x2f;&#x2f; sxx &#x3d;&#x3d; 1 &#x4e0b;&#x884c;&#xa; jhlc &#x3d; down_mileage&#x3b;&#xa; bcsj &#x3d; down_travel_time&#x3b;&#xa;&#x7d;</jsScript_script>
1392   - </jsScript> </jsScripts> <fields> <field> <name>jhlc</name>
1393   - <rename>jhlc</rename>
1394   - <type>String</type>
1395   - <length>-1</length>
1396   - <precision>-1</precision>
1397   - <replace>N</replace>
1398   - </field> <field> <name>bcsj</name>
1399   - <rename>bcsj</rename>
1400   - <type>String</type>
1401   - <length>-1</length>
1402   - <precision>-1</precision>
1403   - <replace>N</replace>
1404   - </field> </fields> <cluster_schema/>
1405   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
1406   - <xloc>148</xloc>
1407   - <yloc>674</yloc>
  754 + <xloc>112</xloc>
  755 + <yloc>44</yloc>
1408 756 <draw>Y</draw>
1409 757 </GUI>
1410 758 </step>
1411 759  
1412 760 <step>
1413   - <name>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;1</name>
1414   - <type>FilterRows</type>
  761 + <name>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;1</name>
  762 + <type>DBLookup</type>
1415 763 <description/>
1416 764 <distribute>Y</distribute>
1417 765 <custom_distribution/>
... ... @@ -1420,27 +768,40 @@
1420 768 <method>none</method>
1421 769 <schema_name/>
1422 770 </partitioning>
1423   -<send_true_to>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x6570;&#x636e;</send_true_to>
1424   -<send_false_to>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</send_false_to>
1425   - <compare>
1426   -<condition>
1427   - <negated>N</negated>
1428   - <leftvalue>bctype</leftvalue>
1429   - <function>&#x3d;</function>
1430   - <rightvalue/>
1431   - <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>
1432   - </compare>
  771 + <connection>bus_control_variable</connection>
  772 + <cache>N</cache>
  773 + <cache_load_all>N</cache_load_all>
  774 + <cache_size>0</cache_size>
  775 + <lookup>
  776 + <schema/>
  777 + <table>bsth_c_car_park</table>
  778 + <orderby/>
  779 + <fail_on_multiple>N</fail_on_multiple>
  780 + <eat_row_on_failure>N</eat_row_on_failure>
  781 + <key>
  782 + <name>tccname_</name>
  783 + <field>park_name</field>
  784 + <condition>&#x3d;</condition>
  785 + <name2/>
  786 + </key>
  787 + <value>
  788 + <name>id</name>
  789 + <rename>qdzid</rename>
  790 + <default/>
  791 + <type>Integer</type>
  792 + </value>
  793 + </lookup>
1433 794 <cluster_schema/>
1434 795 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
1435   - <xloc>868</xloc>
1436   - <yloc>404</yloc>
  796 + <xloc>755</xloc>
  797 + <yloc>504</yloc>
1437 798 <draw>Y</draw>
1438 799 </GUI>
1439 800 </step>
1440 801  
1441 802 <step>
1442   - <name>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</name>
1443   - <type>FilterRows</type>
  803 + <name>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;2</name>
  804 + <type>DBLookup</type>
1444 805 <description/>
1445 806 <distribute>Y</distribute>
1446 807 <custom_distribution/>
... ... @@ -1449,26 +810,39 @@
1449 810 <method>none</method>
1450 811 <schema_name/>
1451 812 </partitioning>
1452   -<send_true_to>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</send_true_to>
1453   -<send_false_to>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</send_false_to>
1454   - <compare>
1455   -<condition>
1456   - <negated>N</negated>
1457   - <leftvalue>bctype</leftvalue>
1458   - <function>&#x3d;</function>
1459   - <rightvalue/>
1460   - <value><name>constant</name><type>String</type><text>&#x51fa;&#x573a;</text><length>-1</length><precision>-1</precision><isnull>N</isnull><mask/></value> </condition>
1461   - </compare>
  813 + <connection>bus_control_variable</connection>
  814 + <cache>N</cache>
  815 + <cache_load_all>N</cache_load_all>
  816 + <cache_size>0</cache_size>
  817 + <lookup>
  818 + <schema/>
  819 + <table>bsth_c_car_park</table>
  820 + <orderby/>
  821 + <fail_on_multiple>N</fail_on_multiple>
  822 + <eat_row_on_failure>N</eat_row_on_failure>
  823 + <key>
  824 + <name>tccname_</name>
  825 + <field>park_name</field>
  826 + <condition>&#x3d;</condition>
  827 + <name2/>
  828 + </key>
  829 + <value>
  830 + <name>id</name>
  831 + <rename>zdzid</rename>
  832 + <default/>
  833 + <type>Integer</type>
  834 + </value>
  835 + </lookup>
1462 836 <cluster_schema/>
1463 837 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
1464   - <xloc>995</xloc>
1465   - <yloc>503</yloc>
  838 + <xloc>887</xloc>
  839 + <yloc>608</yloc>
1466 840 <draw>Y</draw>
1467 841 </GUI>
1468 842 </step>
1469 843  
1470 844 <step>
1471   - <name>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;1</name>
  845 + <name>&#x67e5;&#x627e;&#x51fa;&#x573a;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</name>
1472 846 <type>DBLookup</type>
1473 847 <description/>
1474 848 <distribute>Y</distribute>
... ... @@ -1478,39 +852,57 @@
1478 852 <method>none</method>
1479 853 <schema_name/>
1480 854 </partitioning>
1481   - <connection>bus_control_&#x516c;&#x53f8;_201</connection>
  855 + <connection>bus_control_variable</connection>
1482 856 <cache>N</cache>
1483 857 <cache_load_all>N</cache_load_all>
1484 858 <cache_size>0</cache_size>
1485 859 <lookup>
1486 860 <schema/>
1487   - <table>bsth_c_car_park</table>
  861 + <table>bsth_c_stationroute</table>
1488 862 <orderby/>
1489 863 <fail_on_multiple>N</fail_on_multiple>
1490 864 <eat_row_on_failure>N</eat_row_on_failure>
1491 865 <key>
1492   - <name>tccname</name>
1493   - <field>park_name</field>
  866 + <name>xlid</name>
  867 + <field>line</field>
  868 + <condition>&#x3d;</condition>
  869 + <name2/>
  870 + </key>
  871 + <key>
  872 + <name>zdzname</name>
  873 + <field>station_name</field>
  874 + <condition>&#x3d;</condition>
  875 + <name2/>
  876 + </key>
  877 + <key>
  878 + <name>endZdtype</name>
  879 + <field>station_mark</field>
1494 880 <condition>&#x3d;</condition>
1495 881 <name2/>
1496 882 </key>
1497 883 <value>
1498   - <name>id</name>
1499   - <rename>qdzid</rename>
  884 + <name>station</name>
  885 + <rename>zdzid</rename>
  886 + <default/>
  887 + <type>Integer</type>
  888 + </value>
  889 + <value>
  890 + <name>directions</name>
  891 + <rename>sxx</rename>
1500 892 <default/>
1501 893 <type>Integer</type>
1502 894 </value>
1503 895 </lookup>
1504 896 <cluster_schema/>
1505 897 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
1506   - <xloc>591</xloc>
1507   - <yloc>503</yloc>
  898 + <xloc>329</xloc>
  899 + <yloc>505</yloc>
1508 900 <draw>Y</draw>
1509 901 </GUI>
1510 902 </step>
1511 903  
1512 904 <step>
1513   - <name>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;2</name>
  905 + <name>&#x67e5;&#x627e;&#x65f6;&#x523b;&#x8868;&#x57fa;&#x7840;&#x4fe1;&#x606f;&#x5173;&#x8054;</name>
1514 906 <type>DBLookup</type>
1515 907 <description/>
1516 908 <distribute>Y</distribute>
... ... @@ -1520,33 +912,39 @@
1520 912 <method>none</method>
1521 913 <schema_name/>
1522 914 </partitioning>
1523   - <connection>bus_control_&#x516c;&#x53f8;_201</connection>
  915 + <connection>bus_control_variable</connection>
1524 916 <cache>N</cache>
1525 917 <cache_load_all>N</cache_load_all>
1526 918 <cache_size>0</cache_size>
1527 919 <lookup>
1528 920 <schema/>
1529   - <table>bsth_c_car_park</table>
  921 + <table>bsth_c_s_ttinfo</table>
1530 922 <orderby/>
1531 923 <fail_on_multiple>N</fail_on_multiple>
1532 924 <eat_row_on_failure>N</eat_row_on_failure>
1533 925 <key>
1534   - <name>tccname</name>
1535   - <field>park_name</field>
  926 + <name>xlid</name>
  927 + <field>xl</field>
  928 + <condition>&#x3d;</condition>
  929 + <name2/>
  930 + </key>
  931 + <key>
  932 + <name>ttinfoname_</name>
  933 + <field>name</field>
1536 934 <condition>&#x3d;</condition>
1537 935 <name2/>
1538 936 </key>
1539 937 <value>
1540 938 <name>id</name>
1541   - <rename>zdzid</rename>
  939 + <rename>ttid</rename>
1542 940 <default/>
1543 941 <type>Integer</type>
1544 942 </value>
1545 943 </lookup>
1546 944 <cluster_schema/>
1547 945 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
1548   - <xloc>734</xloc>
1549   - <yloc>610</yloc>
  946 + <xloc>1011</xloc>
  947 + <yloc>134</yloc>
1550 948 <draw>Y</draw>
1551 949 </GUI>
1552 950 </step>
... ... @@ -1562,7 +960,7 @@
1562 960 <method>none</method>
1563 961 <schema_name/>
1564 962 </partitioning>
1565   - <connection>bus_control_&#x516c;&#x53f8;_201</connection>
  963 + <connection>bus_control_variable</connection>
1566 964 <cache>N</cache>
1567 965 <cache_load_all>N</cache_load_all>
1568 966 <cache_size>0</cache_size>
... ... @@ -1612,6 +1010,48 @@
1612 1010 </step>
1613 1011  
1614 1012 <step>
  1013 + <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x5173;&#x8054;</name>
  1014 + <type>DBLookup</type>
  1015 + <description/>
  1016 + <distribute>Y</distribute>
  1017 + <custom_distribution/>
  1018 + <copies>1</copies>
  1019 + <partitioning>
  1020 + <method>none</method>
  1021 + <schema_name/>
  1022 + </partitioning>
  1023 + <connection>bus_control_variable</connection>
  1024 + <cache>N</cache>
  1025 + <cache_load_all>N</cache_load_all>
  1026 + <cache_size>0</cache_size>
  1027 + <lookup>
  1028 + <schema/>
  1029 + <table>bsth_c_line</table>
  1030 + <orderby/>
  1031 + <fail_on_multiple>N</fail_on_multiple>
  1032 + <eat_row_on_failure>N</eat_row_on_failure>
  1033 + <key>
  1034 + <name>xlname_</name>
  1035 + <field>name</field>
  1036 + <condition>&#x3d;</condition>
  1037 + <name2/>
  1038 + </key>
  1039 + <value>
  1040 + <name>id</name>
  1041 + <rename>xlid</rename>
  1042 + <default/>
  1043 + <type>Integer</type>
  1044 + </value>
  1045 + </lookup>
  1046 + <cluster_schema/>
  1047 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1048 + <xloc>1007</xloc>
  1049 + <yloc>43</yloc>
  1050 + <draw>Y</draw>
  1051 + </GUI>
  1052 + </step>
  1053 +
  1054 + <step>
1615 1055 <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x51fa;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
1616 1056 <type>DBLookup</type>
1617 1057 <description/>
... ... @@ -1622,7 +1062,7 @@
1622 1062 <method>none</method>
1623 1063 <schema_name/>
1624 1064 </partitioning>
1625   - <connection>bus_control_&#x516c;&#x53f8;_201</connection>
  1065 + <connection>bus_control_variable</connection>
1626 1066 <cache>N</cache>
1627 1067 <cache_load_all>N</cache_load_all>
1628 1068 <cache_size>0</cache_size>
... ... @@ -1653,8 +1093,8 @@
1653 1093 </lookup>
1654 1094 <cluster_schema/>
1655 1095 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
1656   - <xloc>439</xloc>
1657   - <yloc>744</yloc>
  1096 + <xloc>335</xloc>
  1097 + <yloc>763</yloc>
1658 1098 <draw>Y</draw>
1659 1099 </GUI>
1660 1100 </step>
... ... @@ -1670,7 +1110,7 @@
1670 1110 <method>none</method>
1671 1111 <schema_name/>
1672 1112 </partitioning>
1673   - <connection>bus_control_&#x516c;&#x53f8;_201</connection>
  1113 + <connection>bus_control_variable</connection>
1674 1114 <cache>N</cache>
1675 1115 <cache_load_all>N</cache_load_all>
1676 1116 <cache_size>0</cache_size>
... ... @@ -1701,8 +1141,8 @@
1701 1141 </lookup>
1702 1142 <cluster_schema/>
1703 1143 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
1704   - <xloc>592</xloc>
1705   - <yloc>819</yloc>
  1144 + <xloc>550</xloc>
  1145 + <yloc>920</yloc>
1706 1146 <draw>Y</draw>
1707 1147 </GUI>
1708 1148 </step>
... ... @@ -1718,7 +1158,7 @@
1718 1158 <method>none</method>
1719 1159 <schema_name/>
1720 1160 </partitioning>
1721   - <connection>bus_control_&#x516c;&#x53f8;_201</connection>
  1161 + <connection>bus_control_variable</connection>
1722 1162 <cache>N</cache>
1723 1163 <cache_load_all>N</cache_load_all>
1724 1164 <cache_size>0</cache_size>
... ... @@ -1768,7 +1208,7 @@
1768 1208 </step>
1769 1209  
1770 1210 <step>
1771   - <name>&#x67e5;&#x627e;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;1</name>
  1211 + <name>&#x67e5;&#x627e;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</name>
1772 1212 <type>DBLookup</type>
1773 1213 <description/>
1774 1214 <distribute>Y</distribute>
... ... @@ -1778,7 +1218,7 @@
1778 1218 <method>none</method>
1779 1219 <schema_name/>
1780 1220 </partitioning>
1781   - <connection>bus_control_&#x516c;&#x53f8;_201</connection>
  1221 + <connection>bus_control_variable</connection>
1782 1222 <cache>N</cache>
1783 1223 <cache_load_all>N</cache_load_all>
1784 1224 <cache_size>0</cache_size>
... ... @@ -1795,40 +1235,88 @@
1795 1235 <name2/>
1796 1236 </key>
1797 1237 <key>
1798   - <name>sxx</name>
1799   - <field>directions</field>
  1238 + <name>qdzname</name>
  1239 + <field>station_name</field>
  1240 + <condition>&#x3d;</condition>
  1241 + <name2/>
  1242 + </key>
  1243 + <key>
  1244 + <name>sendZdtype</name>
  1245 + <field>station_mark</field>
1800 1246 <condition>&#x3d;</condition>
1801 1247 <name2/>
1802 1248 </key>
  1249 + <value>
  1250 + <name>station</name>
  1251 + <rename>qdzid</rename>
  1252 + <default/>
  1253 + <type>Integer</type>
  1254 + </value>
  1255 + <value>
  1256 + <name>directions</name>
  1257 + <rename>sxx</rename>
  1258 + <default/>
  1259 + <type>Integer</type>
  1260 + </value>
  1261 + </lookup>
  1262 + <cluster_schema/>
  1263 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1264 + <xloc>430</xloc>
  1265 + <yloc>403</yloc>
  1266 + <draw>Y</draw>
  1267 + </GUI>
  1268 + </step>
  1269 +
  1270 + <step>
  1271 + <name>&#x67e5;&#x627e;&#x8def;&#x724c;&#x5173;&#x8054;</name>
  1272 + <type>DBLookup</type>
  1273 + <description/>
  1274 + <distribute>Y</distribute>
  1275 + <custom_distribution/>
  1276 + <copies>1</copies>
  1277 + <partitioning>
  1278 + <method>none</method>
  1279 + <schema_name/>
  1280 + </partitioning>
  1281 + <connection>bus_control_variable</connection>
  1282 + <cache>N</cache>
  1283 + <cache_load_all>N</cache_load_all>
  1284 + <cache_size>0</cache_size>
  1285 + <lookup>
  1286 + <schema/>
  1287 + <table>bsth_c_s_gbi</table>
  1288 + <orderby/>
  1289 + <fail_on_multiple>N</fail_on_multiple>
  1290 + <eat_row_on_failure>N</eat_row_on_failure>
1803 1291 <key>
1804   - <name>endZdtype</name>
1805   - <field>station_mark</field>
  1292 + <name>xlid</name>
  1293 + <field>xl</field>
1806 1294 <condition>&#x3d;</condition>
1807 1295 <name2/>
1808 1296 </key>
1809 1297 <key>
1810   - <name>zdzname</name>
1811   - <field>station_name</field>
  1298 + <name>lp</name>
  1299 + <field>lp_name</field>
1812 1300 <condition>&#x3d;</condition>
1813 1301 <name2/>
1814 1302 </key>
1815 1303 <value>
1816   - <name>station</name>
1817   - <rename>zdzid</rename>
  1304 + <name>id</name>
  1305 + <rename>lpid</rename>
1818 1306 <default/>
1819 1307 <type>Integer</type>
1820 1308 </value>
1821 1309 </lookup>
1822 1310 <cluster_schema/>
1823 1311 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
1824   - <xloc>436</xloc>
1825   - <yloc>502</yloc>
  1312 + <xloc>1013</xloc>
  1313 + <yloc>265</yloc>
1826 1314 <draw>Y</draw>
1827 1315 </GUI>
1828 1316 </step>
1829 1317  
1830 1318 <step>
1831   - <name>&#x67e5;&#x627e;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;2</name>
  1319 + <name>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ebf;&#x8def;&#x65b9;&#x5411;</name>
1832 1320 <type>DBLookup</type>
1833 1321 <description/>
1834 1322 <distribute>Y</distribute>
... ... @@ -1838,7 +1326,7 @@
1838 1326 <method>none</method>
1839 1327 <schema_name/>
1840 1328 </partitioning>
1841   - <connection>bus_control_&#x516c;&#x53f8;_201</connection>
  1329 + <connection>bus_control_variable</connection>
1842 1330 <cache>N</cache>
1843 1331 <cache_load_all>N</cache_load_all>
1844 1332 <cache_size>0</cache_size>
... ... @@ -1855,40 +1343,34 @@
1855 1343 <name2/>
1856 1344 </key>
1857 1345 <key>
1858   - <name>sxx</name>
1859   - <field>directions</field>
1860   - <condition>&#x3d;</condition>
1861   - <name2/>
1862   - </key>
1863   - <key>
1864   - <name>sendZdtype</name>
  1346 + <name>startZdtype_calcu</name>
1865 1347 <field>station_mark</field>
1866 1348 <condition>&#x3d;</condition>
1867 1349 <name2/>
1868 1350 </key>
1869 1351 <key>
1870   - <name>qdzname_2</name>
  1352 + <name>qdzname_calcu</name>
1871 1353 <field>station_name</field>
1872 1354 <condition>&#x3d;</condition>
1873 1355 <name2/>
1874 1356 </key>
1875 1357 <value>
1876   - <name>station</name>
1877   - <rename>qdzid</rename>
  1358 + <name>directions</name>
  1359 + <rename>sxx</rename>
1878 1360 <default/>
1879   - <type>Integer</type>
  1361 + <type>String</type>
1880 1362 </value>
1881 1363 </lookup>
1882 1364 <cluster_schema/>
1883 1365 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
1884   - <xloc>592</xloc>
1885   - <yloc>609</yloc>
  1366 + <xloc>548</xloc>
  1367 + <yloc>610</yloc>
1886 1368 <draw>Y</draw>
1887 1369 </GUI>
1888 1370 </step>
1889 1371  
1890 1372 <step>
1891   - <name>&#x67e5;&#x627e;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</name>
  1373 + <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>
1892 1374 <type>DBLookup</type>
1893 1375 <description/>
1894 1376 <distribute>Y</distribute>
... ... @@ -1898,7 +1380,7 @@
1898 1380 <method>none</method>
1899 1381 <schema_name/>
1900 1382 </partitioning>
1901   - <connection>bus_control_&#x516c;&#x53f8;_201</connection>
  1383 + <connection>bus_control_variable</connection>
1902 1384 <cache>N</cache>
1903 1385 <cache_load_all>N</cache_load_all>
1904 1386 <cache_size>0</cache_size>
... ... @@ -1915,14 +1397,14 @@
1915 1397 <name2/>
1916 1398 </key>
1917 1399 <key>
1918   - <name>qdzname</name>
1919   - <field>station_name</field>
  1400 + <name>endZdtype_calcu</name>
  1401 + <field>station_mark</field>
1920 1402 <condition>&#x3d;</condition>
1921 1403 <name2/>
1922 1404 </key>
1923 1405 <key>
1924   - <name>sendZdtype</name>
1925   - <field>station_mark</field>
  1406 + <name>sxx</name>
  1407 + <field>directions</field>
1926 1408 <condition>&#x3d;</condition>
1927 1409 <name2/>
1928 1410 </key>
... ... @@ -1932,17 +1414,11 @@
1932 1414 <default/>
1933 1415 <type>Integer</type>
1934 1416 </value>
1935   - <value>
1936   - <name>directions</name>
1937   - <rename>sxx</rename>
1938   - <default/>
1939   - <type>Integer</type>
1940   - </value>
1941 1417 </lookup>
1942 1418 <cluster_schema/>
1943 1419 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
1944   - <xloc>430</xloc>
1945   - <yloc>403</yloc>
  1420 + <xloc>550</xloc>
  1421 + <yloc>701</yloc>
1946 1422 <draw>Y</draw>
1947 1423 </GUI>
1948 1424 </step>
... ... @@ -2003,6 +1479,91 @@
2003 1479 </step>
2004 1480  
2005 1481 <step>
  1482 + <name>&#x6dfb;&#x52a0;&#x53d1;&#x8f66;&#x987a;&#x5e8f;&#x53f7;</name>
  1483 + <type>GroupBy</type>
  1484 + <description/>
  1485 + <distribute>Y</distribute>
  1486 + <custom_distribution/>
  1487 + <copies>1</copies>
  1488 + <partitioning>
  1489 + <method>none</method>
  1490 + <schema_name/>
  1491 + </partitioning>
  1492 + <all_rows>Y</all_rows>
  1493 + <ignore_aggregate>N</ignore_aggregate>
  1494 + <field_ignore/>
  1495 + <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
  1496 + <prefix>grp</prefix>
  1497 + <add_linenr>Y</add_linenr>
  1498 + <linenr_fieldname>fcno</linenr_fieldname>
  1499 + <give_back_row>N</give_back_row>
  1500 + <group>
  1501 + <field>
  1502 + <name>lp</name>
  1503 + </field>
  1504 + </group>
  1505 + <fields>
  1506 + </fields>
  1507 + <cluster_schema/>
  1508 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1509 + <xloc>442</xloc>
  1510 + <yloc>44</yloc>
  1511 + <draw>Y</draw>
  1512 + </GUI>
  1513 + </step>
  1514 +
  1515 + <step>
  1516 + <name>&#x6dfb;&#x52a0;&#x5bf9;&#x5e94;&#x73ed;&#x6b21;&#x6570;</name>
  1517 + <type>GroupBy</type>
  1518 + <description/>
  1519 + <distribute>Y</distribute>
  1520 + <custom_distribution/>
  1521 + <copies>1</copies>
  1522 + <partitioning>
  1523 + <method>none</method>
  1524 + <schema_name/>
  1525 + </partitioning>
  1526 + <all_rows>Y</all_rows>
  1527 + <ignore_aggregate>N</ignore_aggregate>
  1528 + <field_ignore/>
  1529 + <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
  1530 + <prefix>grp</prefix>
  1531 + <add_linenr>Y</add_linenr>
  1532 + <linenr_fieldname>bcs</linenr_fieldname>
  1533 + <give_back_row>N</give_back_row>
  1534 + <group>
  1535 + </group>
  1536 + <fields>
  1537 + </fields>
  1538 + <cluster_schema/>
  1539 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1540 + <xloc>692</xloc>
  1541 + <yloc>44</yloc>
  1542 + <draw>Y</draw>
  1543 + </GUI>
  1544 + </step>
  1545 +
  1546 + <step>
  1547 + <name>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</name>
  1548 + <type>Normaliser</type>
  1549 + <description/>
  1550 + <distribute>Y</distribute>
  1551 + <custom_distribution/>
  1552 + <copies>1</copies>
  1553 + <partitioning>
  1554 + <method>none</method>
  1555 + <schema_name/>
  1556 + </partitioning>
  1557 + <typefield>&#x7ad9;&#x70b9;&#x540d;&#x79f0;</typefield>
  1558 + <fields> </fields> <cluster_schema/>
  1559 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1560 + <xloc>248</xloc>
  1561 + <yloc>44</yloc>
  1562 + <draw>Y</draw>
  1563 + </GUI>
  1564 + </step>
  1565 +
  1566 + <step>
2006 1567 <name>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178;</name>
2007 1568 <type>ValueMapper</type>
2008 1569 <description/>
... ... @@ -2108,8 +1669,8 @@
2108 1669 </fields>
2109 1670 <cluster_schema/>
2110 1671 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
2111   - <xloc>437</xloc>
2112   - <yloc>662</yloc>
  1672 + <xloc>333</xloc>
  1673 + <yloc>681</yloc>
2113 1674 <draw>Y</draw>
2114 1675 </GUI>
2115 1676 </step>
... ... @@ -2164,8 +1725,8 @@
2164 1725 </fields>
2165 1726 <cluster_schema/>
2166 1727 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
2167   - <xloc>590</xloc>
2168   - <yloc>743</yloc>
  1728 + <xloc>548</xloc>
  1729 + <yloc>844</yloc>
2169 1730 <draw>Y</draw>
2170 1731 </GUI>
2171 1732 </step>
... ... @@ -2221,7 +1782,99 @@
2221 1782 </step>
2222 1783  
2223 1784 <step>
2224   - <name>&#x8fdb;&#x573a;&#x73ed;&#x6b21;_&#x5904;&#x7406;&#x6570;&#x636e;</name>
  1785 + <name>&#x8ba1;&#x7b97;&#x73ed;&#x6b21;&#x7c7b;&#x578b;</name>
  1786 + <type>ValueMapper</type>
  1787 + <description/>
  1788 + <distribute>Y</distribute>
  1789 + <custom_distribution/>
  1790 + <copies>1</copies>
  1791 + <partitioning>
  1792 + <method>none</method>
  1793 + <schema_name/>
  1794 + </partitioning>
  1795 + <field_to_use>qdzname</field_to_use>
  1796 + <target_field>bctype</target_field>
  1797 + <non_match_default>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</non_match_default>
  1798 + <fields>
  1799 + <field>
  1800 + <source_value>&#x51fa;&#x573a;</source_value>
  1801 + <target_value>&#x51fa;&#x573a;</target_value>
  1802 + </field>
  1803 + <field>
  1804 + <source_value>&#x8fdb;&#x573a;</source_value>
  1805 + <target_value>&#x8fdb;&#x573a;</target_value>
  1806 + </field>
  1807 + </fields>
  1808 + <cluster_schema/>
  1809 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1810 + <xloc>1014</xloc>
  1811 + <yloc>401</yloc>
  1812 + <draw>Y</draw>
  1813 + </GUI>
  1814 + </step>
  1815 +
  1816 + <step>
  1817 + <name>&#x8bb0;&#x5f55;&#x5173;&#x8054; &#x28;&#x7b1b;&#x5361;&#x5c14;&#x8f93;&#x51fa;&#x29;</name>
  1818 + <type>JoinRows</type>
  1819 + <description/>
  1820 + <distribute>Y</distribute>
  1821 + <custom_distribution/>
  1822 + <copies>1</copies>
  1823 + <partitioning>
  1824 + <method>none</method>
  1825 + <schema_name/>
  1826 + </partitioning>
  1827 + <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
  1828 + <prefix>out</prefix>
  1829 + <cache_size>500</cache_size>
  1830 + <main/>
  1831 + <compare>
  1832 +<condition>
  1833 + <negated>N</negated>
  1834 + <leftvalue/>
  1835 + <function>&#x3d;</function>
  1836 + <rightvalue/>
  1837 + </condition>
  1838 + </compare>
  1839 + <cluster_schema/>
  1840 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1841 + <xloc>310</xloc>
  1842 + <yloc>133</yloc>
  1843 + <draw>Y</draw>
  1844 + </GUI>
  1845 + </step>
  1846 +
  1847 + <step>
  1848 + <name>&#x8fc7;&#x6ee4;&#x8bb0;&#x5f55;&#xff08;&#x53d1;&#x8f66;&#x65f6;&#x95f4;&#x4e3a;&#x7a7a;&#xff09;</name>
  1849 + <type>FilterRows</type>
  1850 + <description/>
  1851 + <distribute>Y</distribute>
  1852 + <custom_distribution/>
  1853 + <copies>1</copies>
  1854 + <partitioning>
  1855 + <method>none</method>
  1856 + <schema_name/>
  1857 + </partitioning>
  1858 +<send_true_to/>
  1859 +<send_false_to/>
  1860 + <compare>
  1861 +<condition>
  1862 + <negated>N</negated>
  1863 + <leftvalue>sendtime</leftvalue>
  1864 + <function>IS NOT NULL</function>
  1865 + <rightvalue/>
  1866 + </condition>
  1867 + </compare>
  1868 + <cluster_schema/>
  1869 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1870 + <xloc>571</xloc>
  1871 + <yloc>44</yloc>
  1872 + <draw>Y</draw>
  1873 + </GUI>
  1874 + </step>
  1875 +
  1876 + <step>
  1877 + <name>&#x8fdb;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x8d77;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</name>
2225 1878 <type>ScriptValueMod</type>
2226 1879 <description/>
2227 1880 <distribute>Y</distribute>
... ... @@ -2235,35 +1888,29 @@
2235 1888 <optimizationLevel>9</optimizationLevel>
2236 1889 <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
2237 1890 <jsScript_name>Script 1</jsScript_name>
2238   - <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f; &#x6dfb;&#x52a0;&#x7ad9;&#x70b9;&#x6807;&#x8bc6;&#xa;var qdzname_2 &#x3d; &#x27;&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;&#x27;&#x3b;&#xa;var tccname &#x3d; &#x27;&#x4e1c;&#x9756;&#x8def;&#x9ad8;&#x884c;&#x505c;&#x8f66;&#x573a;&#x27;&#x3b;&#xa;var sxx &#x3d; &#x27;1&#x27; &#x2f;&#x2f; &#x4e0b;&#x884c;&#x3b;&#xa;var sendZdtype &#x3d; &#x27;B&#x27;&#x3b;</jsScript_script>
2239   - </jsScript> </jsScripts> <fields> <field> <name>qdzname_2</name>
2240   - <rename>qdzname_2</rename>
2241   - <type>String</type>
2242   - <length>-1</length>
2243   - <precision>-1</precision>
2244   - <replace>N</replace>
2245   - </field> <field> <name>tccname</name>
2246   - <rename>tccname</rename>
  1891 + <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;</jsScript_script>
  1892 + </jsScript> </jsScripts> <fields> <field> <name>qdzname_calcu</name>
  1893 + <rename>qdzname_calcu</rename>
2247 1894 <type>String</type>
2248 1895 <length>-1</length>
2249 1896 <precision>-1</precision>
2250 1897 <replace>N</replace>
2251   - </field> <field> <name>sxx</name>
2252   - <rename>sxx</rename>
  1898 + </field> <field> <name>startZdtype_calcu</name>
  1899 + <rename>startZdtype_calcu</rename>
2253 1900 <type>String</type>
2254 1901 <length>-1</length>
2255 1902 <precision>-1</precision>
2256 1903 <replace>N</replace>
2257   - </field> <field> <name>sendZdtype</name>
2258   - <rename>sendZdtype</rename>
  1904 + </field> <field> <name>endZdtype_calcu</name>
  1905 + <rename>endZdtype_calcu</rename>
2259 1906 <type>String</type>
2260 1907 <length>-1</length>
2261 1908 <precision>-1</precision>
2262 1909 <replace>N</replace>
2263 1910 </field> </fields> <cluster_schema/>
2264 1911 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
2265   - <xloc>871</xloc>
2266   - <yloc>608</yloc>
  1912 + <xloc>754</xloc>
  1913 + <yloc>610</yloc>
2267 1914 <draw>Y</draw>
2268 1915 </GUI>
2269 1916 </step>
... ... @@ -2287,38 +1934,6 @@
2287 1934 </GUI>
2288 1935 </step>
2289 1936  
2290   - <step>
2291   - <name>&#x8ba1;&#x7b97;&#x73ed;&#x6b21;&#x7c7b;&#x578b;</name>
2292   - <type>ValueMapper</type>
2293   - <description/>
2294   - <distribute>Y</distribute>
2295   - <custom_distribution/>
2296   - <copies>1</copies>
2297   - <partitioning>
2298   - <method>none</method>
2299   - <schema_name/>
2300   - </partitioning>
2301   - <field_to_use>qdzname_replace</field_to_use>
2302   - <target_field>bctype</target_field>
2303   - <non_match_default>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</non_match_default>
2304   - <fields>
2305   - <field>
2306   - <source_value>&#x51fa;&#x573a;</source_value>
2307   - <target_value>&#x51fa;&#x573a;</target_value>
2308   - </field>
2309   - <field>
2310   - <source_value>&#x8fdb;&#x573a;</source_value>
2311   - <target_value>&#x8fdb;&#x573a;</target_value>
2312   - </field>
2313   - </fields>
2314   - <cluster_schema/>
2315   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
2316   - <xloc>1014</xloc>
2317   - <yloc>401</yloc>
2318   - <draw>Y</draw>
2319   - </GUI>
2320   - </step>
2321   -
2322 1937 <step_error_handling>
2323 1938 </step_error_handling>
2324 1939 <slave-step-copy-partition-distribution>
... ...
src/main/resources/datatools/ktrs/ttinfodetailMetaData.ktr 0 → 100644
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<transformation>
  3 + <info>
  4 + <name>ttinfodetailMetaData</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&#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;,&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;1,&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;1,&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;2,&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;2,&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;3,&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;3,&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;4,&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;4,&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;5,&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;5,&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;6,&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;6,&#x8fdb;&#x573a;1,&#x51fa;&#x573a;1,&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;7,&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;7,&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;8,&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;8,&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;9,&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;9,&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;10,&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;10,&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;11,&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;11,&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;12,&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;12,&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;13,&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;13 ,&#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&#x2f;bsth_control_etl&#x2f;&#x95f5;&#x884c;&#x516c;&#x4ea4;&#x2f;85&#x8def;0328&#x5e73;&#x8868;-&#x6d4b;&#x8bd5;1-&#x65f6;&#x523b;&#x660e;&#x7ec6;.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&#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>normalizefieldnames</name>
  34 + <default_value>&#x51fa;&#x573a;,&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;1,&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;1,&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;2,&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;2,&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;3,&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;3,&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;4,&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;4,&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;5,&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;5,&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;6,&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;6,&#x8fdb;&#x573a;1,&#x51fa;&#x573a;1,&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;7,&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;7,&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;8,&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;8,&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;9,&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;9,&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;10,&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;10,&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;11,&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;11,&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;12,&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;12,&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;13,&#x957f;&#x5c9b;&#x8def;&#x4e1c;&#x9646;&#x8def;13 ,&#x8fdb;&#x573a;</default_value>
  35 + <description>&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;&#x5b57;&#x6bb5;&#x540d;&#xff0c;&#x4ee5;&#x9017;&#x53f7;&#x8fde;&#x63a5;</description>
  36 + </parameter>
  37 + <parameter>
  38 + <name>tccname</name>
  39 + <default_value>&#x4e1c;&#x9756;&#x8def;&#x9ad8;&#x884c;&#x505c;&#x8f66;&#x573a;</default_value>
  40 + <description>&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</description>
  41 + </parameter>
  42 + <parameter>
  43 + <name>ttinfoname</name>
  44 + <default_value>85&#x8def;0328&#x5e73;&#x8868;</default_value>
  45 + <description>&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;</description>
  46 + </parameter>
  47 + <parameter>
  48 + <name>xlname</name>
  49 + <default_value>85&#x8def;</default_value>
  50 + <description>&#x7ebf;&#x8def;&#x540d;&#x79f0;</description>
  51 + </parameter>
  52 + </parameters>
  53 + <log>
  54 +<trans-log-table><connection/>
  55 +<schema/>
  56 +<table/>
  57 +<size_limit_lines/>
  58 +<interval/>
  59 +<timeout_days/>
  60 +<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>
  61 +<perf-log-table><connection/>
  62 +<schema/>
  63 +<table/>
  64 +<interval/>
  65 +<timeout_days/>
  66 +<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>
  67 +<channel-log-table><connection/>
  68 +<schema/>
  69 +<table/>
  70 +<timeout_days/>
  71 +<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>
  72 +<step-log-table><connection/>
  73 +<schema/>
  74 +<table/>
  75 +<timeout_days/>
  76 +<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>
  77 +<metrics-log-table><connection/>
  78 +<schema/>
  79 +<table/>
  80 +<timeout_days/>
  81 +<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>
  82 + </log>
  83 + <maxdate>
  84 + <connection/>
  85 + <table/>
  86 + <field/>
  87 + <offset>0.0</offset>
  88 + <maxdiff>0.0</maxdiff>
  89 + </maxdate>
  90 + <size_rowset>10000</size_rowset>
  91 + <sleep_time_empty>50</sleep_time_empty>
  92 + <sleep_time_full>50</sleep_time_full>
  93 + <unique_connections>N</unique_connections>
  94 + <feedback_shown>Y</feedback_shown>
  95 + <feedback_size>50000</feedback_size>
  96 + <using_thread_priorities>Y</using_thread_priorities>
  97 + <shared_objects_file/>
  98 + <capture_step_performance>N</capture_step_performance>
  99 + <step_performance_capturing_delay>1000</step_performance_capturing_delay>
  100 + <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit>
  101 + <dependencies>
  102 + </dependencies>
  103 + <partitionschemas>
  104 + </partitionschemas>
  105 + <slaveservers>
  106 + </slaveservers>
  107 + <clusterschemas>
  108 + </clusterschemas>
  109 + <created_user>-</created_user>
  110 + <created_date>2016&#x2f;07&#x2f;01 09&#x3a;55&#x3a;32.649</created_date>
  111 + <modified_user>-</modified_user>
  112 + <modified_date>2016&#x2f;07&#x2f;01 09&#x3a;55&#x3a;32.649</modified_date>
  113 + <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</key_for_session_key>
  114 + <is_key_private>N</is_key_private>
  115 + </info>
  116 + <notepads>
  117 + </notepads>
  118 + <connection>
  119 + <name>bus_control_variable</name>
  120 + <server>&#x24;&#x7b;v_db_ip&#x7d;</server>
  121 + <type>MYSQL</type>
  122 + <access>Native</access>
  123 + <database>control</database>
  124 + <port>3306</port>
  125 + <username>&#x24;&#x7b;v_db_uname&#x7d;</username>
  126 + <password>&#x24;&#x7b;v_db_pwd&#x7d;</password>
  127 + <servername/>
  128 + <data_tablespace/>
  129 + <index_tablespace/>
  130 + <attributes>
  131 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  132 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  133 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  134 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  135 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  136 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  137 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  138 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  139 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  140 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  141 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  142 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  143 + </attributes>
  144 + </connection>
  145 + <connection>
  146 + <name>bus_control_&#x516c;&#x53f8;_201</name>
  147 + <server>localhost</server>
  148 + <type>MYSQL</type>
  149 + <access>Native</access>
  150 + <database>control</database>
  151 + <port>3306</port>
  152 + <username>root</username>
  153 + <password>Encrypted </password>
  154 + <servername/>
  155 + <data_tablespace/>
  156 + <index_tablespace/>
  157 + <attributes>
  158 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  159 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  160 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  161 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  162 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  163 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  164 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  165 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  166 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  167 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  168 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  169 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  170 + </attributes>
  171 + </connection>
  172 + <connection>
  173 + <name>bus_control_&#x672c;&#x673a;</name>
  174 + <server>localhost</server>
  175 + <type>MYSQL</type>
  176 + <access>Native</access>
  177 + <database>control</database>
  178 + <port>3306</port>
  179 + <username>root</username>
  180 + <password>Encrypted </password>
  181 + <servername/>
  182 + <data_tablespace/>
  183 + <index_tablespace/>
  184 + <attributes>
  185 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  186 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  187 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  188 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  189 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  190 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  191 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  192 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  193 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  194 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  195 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  196 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  197 + </attributes>
  198 + </connection>
  199 + <connection>
  200 + <name>xlab_mysql_youle</name>
  201 + <server>101.231.124.8</server>
  202 + <type>MYSQL</type>
  203 + <access>Native</access>
  204 + <database>xlab_youle</database>
  205 + <port>45687</port>
  206 + <username>xlab-youle</username>
  207 + <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password>
  208 + <servername/>
  209 + <data_tablespace/>
  210 + <index_tablespace/>
  211 + <attributes>
  212 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  213 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  214 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  215 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  216 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  217 + <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute>
  218 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  219 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  220 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  221 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  222 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  223 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  224 + </attributes>
  225 + </connection>
  226 + <connection>
  227 + <name>xlab_mysql_youle&#xff08;&#x672c;&#x673a;&#xff09;</name>
  228 + <server>localhost</server>
  229 + <type>MYSQL</type>
  230 + <access>Native</access>
  231 + <database>xlab_youle</database>
  232 + <port>3306</port>
  233 + <username>root</username>
  234 + <password>Encrypted </password>
  235 + <servername/>
  236 + <data_tablespace/>
  237 + <index_tablespace/>
  238 + <attributes>
  239 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  240 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  241 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  242 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  243 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  244 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  245 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  246 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  247 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  248 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  249 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  250 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  251 + </attributes>
  252 + </connection>
  253 + <connection>
  254 + <name>xlab_youle</name>
  255 + <server/>
  256 + <type>MYSQL</type>
  257 + <access>JNDI</access>
  258 + <database>xlab_youle</database>
  259 + <port>1521</port>
  260 + <username/>
  261 + <password>Encrypted </password>
  262 + <servername/>
  263 + <data_tablespace/>
  264 + <index_tablespace/>
  265 + <attributes>
  266 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  267 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  268 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  269 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  270 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  271 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  272 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  273 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  274 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  275 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  276 + </attributes>
  277 + </connection>
  278 + <order>
  279 + <hop> <from>&#x83b7;&#x53d6;excel&#x6587;&#x4ef6;&#x540d;</from><to>ETL&#x5143;&#x6570;&#x636e;&#x6ce8;&#x5165;</to><enabled>Y</enabled> </hop>
  280 + <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>
  281 + <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>
  282 + <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>
  283 + <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>
  284 + <hop> <from>&#x9017;&#x53f7;&#x5207;&#x5206;&#x6210;&#x5b57;&#x6bb5;&#x540d; 2</from><to>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
  285 + <hop> <from>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</from><to>ETL&#x5143;&#x6570;&#x636e;&#x6ce8;&#x5165;</to><enabled>Y</enabled> </hop>
  286 + <hop> <from>&#x83b7;&#x53d6;&#x7ebf;&#x8def;&#x540d;&#x79f0;</from><to>&#x589e;&#x52a0;&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata</to><enabled>Y</enabled> </hop>
  287 + <hop> <from>&#x589e;&#x52a0;&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata</from><to>&#x66ff;&#x6362;&#x7ebf;&#x8def;&#x540d;&#x79f0;</to><enabled>Y</enabled> </hop>
  288 + <hop> <from>&#x66ff;&#x6362;&#x7ebf;&#x8def;&#x540d;&#x79f0;</from><to>&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</to><enabled>Y</enabled> </hop>
  289 + <hop> <from>&#x83b7;&#x53d6;&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;</from><to>&#x589e;&#x52a0;&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata</to><enabled>Y</enabled> </hop>
  290 + <hop> <from>&#x589e;&#x52a0;&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata</from><to>&#x66ff;&#x6362;&#x505c;&#x8f66;&#x5382;&#x540d;&#x5b57; </to><enabled>Y</enabled> </hop>
  291 + <hop> <from>&#x66ff;&#x6362;&#x505c;&#x8f66;&#x5382;&#x540d;&#x5b57; </from><to>&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</to><enabled>Y</enabled> </hop>
  292 + <hop> <from>&#x83b7;&#x53d6;&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;&#x540d;&#x79f0;</from><to>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;metadata</to><enabled>Y</enabled> </hop>
  293 + <hop> <from>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;metadata</from><to>&#x66ff;&#x6362;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;</to><enabled>Y</enabled> </hop>
  294 + <hop> <from>&#x66ff;&#x6362;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;</from><to>&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</to><enabled>Y</enabled> </hop>
  295 + <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>
  296 + <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>
  297 + <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>
  298 + <hop> <from>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</from><to>ETL&#x5143;&#x6570;&#x636e;&#x6ce8;&#x5165;</to><enabled>Y</enabled> </hop>
  299 + </order>
  300 + <step>
  301 + <name>ETL&#x5143;&#x6570;&#x636e;&#x6ce8;&#x5165;</name>
  302 + <type>MetaInject</type>
  303 + <description/>
  304 + <distribute>Y</distribute>
  305 + <custom_distribution/>
  306 + <copies>1</copies>
  307 + <partitioning>
  308 + <method>none</method>
  309 + <schema_name/>
  310 + </partitioning>
  311 + <specification_method>filename</specification_method>
  312 + <trans_object_id/>
  313 + <trans_name/>
  314 + <filename>&#x24;&#x7b;injectktrfile&#x7d;</filename>
  315 + <directory_path/>
  316 + <source_step/>
  317 + <source_output_fields> </source_output_fields> <target_file/>
  318 + <no_execution>N</no_execution>
  319 + <stream_source_step/>
  320 + <stream_target_step/>
  321 + <mappings> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>
  322 + <target_attribute_key>FORMAT</target_attribute_key>
  323 + <target_detail>Y</target_detail>
  324 + <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>
  325 + <source_field>format</source_field>
  326 + </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>
  327 + <target_attribute_key>REPEAT</target_attribute_key>
  328 + <target_detail>Y</target_detail>
  329 + <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>
  330 + <source_field>repeat</source_field>
  331 + </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>
  332 + <target_attribute_key>TRIM_TYPE</target_attribute_key>
  333 + <target_detail>Y</target_detail>
  334 + <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>
  335 + <source_field>trim_type</source_field>
  336 + </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>
  337 + <target_attribute_key>FILENAME</target_attribute_key>
  338 + <target_detail>Y</target_detail>
  339 + <source_step>&#x83b7;&#x53d6;excel&#x6587;&#x4ef6;&#x540d;</source_step>
  340 + <source_field>filepath_</source_field>
  341 + </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>
  342 + <target_attribute_key>PRECISION</target_attribute_key>
  343 + <target_detail>Y</target_detail>
  344 + <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>
  345 + <source_field>precision</source_field>
  346 + </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>
  347 + <target_attribute_key>TYPE</target_attribute_key>
  348 + <target_detail>Y</target_detail>
  349 + <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>
  350 + <source_field>type</source_field>
  351 + </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>
  352 + <target_attribute_key>DATA_VALUE</target_attribute_key>
  353 + <target_detail>Y</target_detail>
  354 + <source_step>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</source_step>
  355 + <source_field>col_value</source_field>
  356 + </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>
  357 + <target_attribute_key>LENGTH</target_attribute_key>
  358 + <target_detail>Y</target_detail>
  359 + <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>
  360 + <source_field>length</source_field>
  361 + </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>
  362 + <target_attribute_key>TYPE</target_attribute_key>
  363 + <target_detail>Y</target_detail>
  364 + <source_step>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</source_step>
  365 + <source_field>col_type</source_field>
  366 + </mapping> <mapping> <target_step_name>&#x884c;&#x8f6c;&#x5217;</target_step_name>
  367 + <target_attribute_key>NAME</target_attribute_key>
  368 + <target_detail>Y</target_detail>
  369 + <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c; 2</source_step>
  370 + <source_field>fieldName</source_field>
  371 + </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>
  372 + <target_attribute_key>NAME</target_attribute_key>
  373 + <target_detail>Y</target_detail>
  374 + <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>
  375 + <source_field>fieldname</source_field>
  376 + </mapping> <mapping> <target_step_name>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</target_step_name>
  377 + <target_attribute_key>NAME</target_attribute_key>
  378 + <target_detail>Y</target_detail>
  379 + <source_step>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</source_step>
  380 + <source_field>nfieldname</source_field>
  381 + </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>
  382 + <target_attribute_key>LENGTH</target_attribute_key>
  383 + <target_detail>Y</target_detail>
  384 + <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>
  385 + <source_field>length</source_field>
  386 + </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>
  387 + <target_attribute_key>NAME</target_attribute_key>
  388 + <target_detail>Y</target_detail>
  389 + <source_step>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</source_step>
  390 + <source_field>col_name</source_field>
  391 + </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>
  392 + <target_attribute_key>TYPE</target_attribute_key>
  393 + <target_detail>Y</target_detail>
  394 + <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>
  395 + <source_field>fieldtype</source_field>
  396 + </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>
  397 + <target_attribute_key>NAME</target_attribute_key>
  398 + <target_detail>Y</target_detail>
  399 + <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>
  400 + <source_field>fieldName</source_field>
  401 + </mapping> <mapping> <target_step_name>&#x884c;&#x8f6c;&#x5217;</target_step_name>
  402 + <target_attribute_key>VALUE</target_attribute_key>
  403 + <target_detail>Y</target_detail>
  404 + <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c; 2</source_step>
  405 + <source_field>fieldName</source_field>
  406 + </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>
  407 + <target_attribute_key>TRIM_TYPE</target_attribute_key>
  408 + <target_detail>Y</target_detail>
  409 + <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>
  410 + <source_field>trim_type</source_field>
  411 + </mapping> <mapping> <target_step_name>&#x884c;&#x8f6c;&#x5217;</target_step_name>
  412 + <target_attribute_key>NORMALISED</target_attribute_key>
  413 + <target_detail>Y</target_detail>
  414 + <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c; 2</source_step>
  415 + <source_field>value</source_field>
  416 + </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>
  417 + <target_attribute_key>REPEAT</target_attribute_key>
  418 + <target_detail>Y</target_detail>
  419 + <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>
  420 + <source_field>repeat</source_field>
  421 + </mapping> <mapping> <target_step_name>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</target_step_name>
  422 + <target_attribute_key>NORMALISED</target_attribute_key>
  423 + <target_detail>Y</target_detail>
  424 + <source_step>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</source_step>
  425 + <source_field>valuefield</source_field>
  426 + </mapping> <mapping> <target_step_name>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</target_step_name>
  427 + <target_attribute_key>VALUE</target_attribute_key>
  428 + <target_detail>Y</target_detail>
  429 + <source_step>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</source_step>
  430 + <source_field>nfieldname</source_field>
  431 + </mapping> <mapping> <target_step_name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</target_step_name>
  432 + <target_attribute_key>FORMAT</target_attribute_key>
  433 + <target_detail>Y</target_detail>
  434 + <source_step>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</source_step>
  435 + <source_field>format</source_field>
  436 + </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x5165;</target_step_name>
  437 + <target_attribute_key>PRECISION</target_attribute_key>
  438 + <target_detail>Y</target_detail>
  439 + <source_step>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</source_step>
  440 + <source_field>precision</source_field>
  441 + </mapping> </mappings> <cluster_schema/>
  442 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  443 + <xloc>695</xloc>
  444 + <yloc>177</yloc>
  445 + <draw>Y</draw>
  446 + </GUI>
  447 + </step>
  448 +
  449 + <step>
  450 + <name>&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</name>
  451 + <type>SelectValues</type>
  452 + <description/>
  453 + <distribute>Y</distribute>
  454 + <custom_distribution/>
  455 + <copies>1</copies>
  456 + <partitioning>
  457 + <method>none</method>
  458 + <schema_name/>
  459 + </partitioning>
  460 + <fields> <field> <name>col_name</name>
  461 + <rename/>
  462 + <length>-2</length>
  463 + <precision>-2</precision>
  464 + </field> <field> <name>col_type</name>
  465 + <rename/>
  466 + <length>-2</length>
  467 + <precision>-2</precision>
  468 + </field> <field> <name>col_value</name>
  469 + <rename/>
  470 + <length>-2</length>
  471 + <precision>-2</precision>
  472 + </field> <select_unspecified>N</select_unspecified>
  473 + </fields> <cluster_schema/>
  474 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  475 + <xloc>490</xloc>
  476 + <yloc>429</yloc>
  477 + <draw>Y</draw>
  478 + </GUI>
  479 + </step>
  480 +
  481 + <step>
  482 + <name>&#x5408;&#x5e76;&#x589e;&#x52a0;&#x5e38;&#x91cf;&#x6570;&#x636e;metadata</name>
  483 + <type>Dummy</type>
  484 + <description/>
  485 + <distribute>Y</distribute>
  486 + <custom_distribution/>
  487 + <copies>1</copies>
  488 + <partitioning>
  489 + <method>none</method>
  490 + <schema_name/>
  491 + </partitioning>
  492 + <cluster_schema/>
  493 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  494 + <xloc>702</xloc>
  495 + <yloc>383</yloc>
  496 + <draw>Y</draw>
  497 + </GUI>
  498 + </step>
  499 +
  500 + <step>
  501 + <name>&#x589e;&#x52a0;excel&#x5b57;&#x6bb5;&#x5176;&#x4ed6;&#x5143;&#x6570;&#x636e;</name>
  502 + <type>Constant</type>
  503 + <description/>
  504 + <distribute>Y</distribute>
  505 + <custom_distribution/>
  506 + <copies>1</copies>
  507 + <partitioning>
  508 + <method>none</method>
  509 + <schema_name/>
  510 + </partitioning>
  511 + <fields>
  512 + <field>
  513 + <name>fieldtype</name>
  514 + <type>String</type>
  515 + <format/>
  516 + <currency/>
  517 + <decimal/>
  518 + <group/>
  519 + <nullif>String</nullif>
  520 + <length>-1</length>
  521 + <precision>-1</precision>
  522 + <set_empty_string>N</set_empty_string>
  523 + </field>
  524 + <field>
  525 + <name>length</name>
  526 + <type>String</type>
  527 + <format/>
  528 + <currency/>
  529 + <decimal/>
  530 + <group/>
  531 + <nullif>-1</nullif>
  532 + <length>-1</length>
  533 + <precision>-1</precision>
  534 + <set_empty_string>N</set_empty_string>
  535 + </field>
  536 + <field>
  537 + <name>precision</name>
  538 + <type>String</type>
  539 + <format/>
  540 + <currency/>
  541 + <decimal/>
  542 + <group/>
  543 + <nullif>-1</nullif>
  544 + <length>-1</length>
  545 + <precision>-1</precision>
  546 + <set_empty_string>N</set_empty_string>
  547 + </field>
  548 + <field>
  549 + <name>trim_type</name>
  550 + <type>String</type>
  551 + <format/>
  552 + <currency/>
  553 + <decimal/>
  554 + <group/>
  555 + <nullif>none</nullif>
  556 + <length>-1</length>
  557 + <precision>-1</precision>
  558 + <set_empty_string>N</set_empty_string>
  559 + </field>
  560 + <field>
  561 + <name>repeat</name>
  562 + <type>String</type>
  563 + <format/>
  564 + <currency/>
  565 + <decimal/>
  566 + <group/>
  567 + <nullif>N</nullif>
  568 + <length>-1</length>
  569 + <precision>-1</precision>
  570 + <set_empty_string>N</set_empty_string>
  571 + </field>
  572 + <field>
  573 + <name>format</name>
  574 + <type>String</type>
  575 + <format/>
  576 + <currency/>
  577 + <decimal/>
  578 + <group/>
  579 + <nullif>&#x23;</nullif>
  580 + <length>-1</length>
  581 + <precision>-1</precision>
  582 + <set_empty_string>N</set_empty_string>
  583 + </field>
  584 + </fields>
  585 + <cluster_schema/>
  586 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  587 + <xloc>441</xloc>
  588 + <yloc>172</yloc>
  589 + <draw>Y</draw>
  590 + </GUI>
  591 + </step>
  592 +
  593 + <step>
  594 + <name>&#x589e;&#x52a0;normalize&#x5143;&#x6570;&#x636e;</name>
  595 + <type>Constant</type>
  596 + <description/>
  597 + <distribute>Y</distribute>
  598 + <custom_distribution/>
  599 + <copies>1</copies>
  600 + <partitioning>
  601 + <method>none</method>
  602 + <schema_name/>
  603 + </partitioning>
  604 + <fields>
  605 + <field>
  606 + <name>valuefield</name>
  607 + <type>String</type>
  608 + <format/>
  609 + <currency/>
  610 + <decimal/>
  611 + <group/>
  612 + <nullif>&#x53d1;&#x8f66;&#x65f6;&#x95f4;</nullif>
  613 + <length>-1</length>
  614 + <precision>-1</precision>
  615 + <set_empty_string>N</set_empty_string>
  616 + </field>
  617 + </fields>
  618 + <cluster_schema/>
  619 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  620 + <xloc>447</xloc>
  621 + <yloc>257</yloc>
  622 + <draw>Y</draw>
  623 + </GUI>
  624 + </step>
  625 +
  626 + <step>
  627 + <name>&#x589e;&#x52a0;&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;metadata</name>
  628 + <type>Constant</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 + <fields>
  638 + <field>
  639 + <name>col_name</name>
  640 + <type>String</type>
  641 + <format/>
  642 + <currency/>
  643 + <decimal/>
  644 + <group/>
  645 + <nullif>tccname_</nullif>
  646 + <length>-1</length>
  647 + <precision>-1</precision>
  648 + <set_empty_string>N</set_empty_string>
  649 + </field>
  650 + <field>
  651 + <name>col_type</name>
  652 + <type>String</type>
  653 + <format/>
  654 + <currency/>
  655 + <decimal/>
  656 + <group/>
  657 + <nullif>String</nullif>
  658 + <length>-1</length>
  659 + <precision>-1</precision>
  660 + <set_empty_string>N</set_empty_string>
  661 + </field>
  662 + <field>
  663 + <name>col_value</name>
  664 + <type>String</type>
  665 + <format/>
  666 + <currency/>
  667 + <decimal/>
  668 + <group/>
  669 + <nullif>replace</nullif>
  670 + <length>-1</length>
  671 + <precision>-1</precision>
  672 + <set_empty_string>N</set_empty_string>
  673 + </field>
  674 + </fields>
  675 + <cluster_schema/>
  676 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  677 + <xloc>208</xloc>
  678 + <yloc>428</yloc>
  679 + <draw>Y</draw>
  680 + </GUI>
  681 + </step>
  682 +
  683 + <step>
  684 + <name>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;metadata</name>
  685 + <type>Constant</type>
  686 + <description/>
  687 + <distribute>Y</distribute>
  688 + <custom_distribution/>
  689 + <copies>1</copies>
  690 + <partitioning>
  691 + <method>none</method>
  692 + <schema_name/>
  693 + </partitioning>
  694 + <fields>
  695 + <field>
  696 + <name>col_name</name>
  697 + <type>String</type>
  698 + <format/>
  699 + <currency/>
  700 + <decimal/>
  701 + <group/>
  702 + <nullif>ttinfoname_</nullif>
  703 + <length>-1</length>
  704 + <precision>-1</precision>
  705 + <set_empty_string>N</set_empty_string>
  706 + </field>
  707 + <field>
  708 + <name>col_type</name>
  709 + <type>String</type>
  710 + <format/>
  711 + <currency/>
  712 + <decimal/>
  713 + <group/>
  714 + <nullif>String</nullif>
  715 + <length>-1</length>
  716 + <precision>-1</precision>
  717 + <set_empty_string>N</set_empty_string>
  718 + </field>
  719 + <field>
  720 + <name>col_value</name>
  721 + <type>String</type>
  722 + <format/>
  723 + <currency/>
  724 + <decimal/>
  725 + <group/>
  726 + <nullif>replace</nullif>
  727 + <length>-1</length>
  728 + <precision>-1</precision>
  729 + <set_empty_string>N</set_empty_string>
  730 + </field>
  731 + </fields>
  732 + <cluster_schema/>
  733 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  734 + <xloc>216</xloc>
  735 + <yloc>508</yloc>
  736 + <draw>Y</draw>
  737 + </GUI>
  738 + </step>
  739 +
  740 + <step>
  741 + <name>&#x589e;&#x52a0;&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata</name>
  742 + <type>Constant</type>
  743 + <description/>
  744 + <distribute>Y</distribute>
  745 + <custom_distribution/>
  746 + <copies>1</copies>
  747 + <partitioning>
  748 + <method>none</method>
  749 + <schema_name/>
  750 + </partitioning>
  751 + <fields>
  752 + <field>
  753 + <name>col_name</name>
  754 + <type>String</type>
  755 + <format/>
  756 + <currency/>
  757 + <decimal/>
  758 + <group/>
  759 + <nullif>xlname_</nullif>
  760 + <length>-1</length>
  761 + <precision>-1</precision>
  762 + <set_empty_string>N</set_empty_string>
  763 + </field>
  764 + <field>
  765 + <name>col_type</name>
  766 + <type>String</type>
  767 + <format/>
  768 + <currency/>
  769 + <decimal/>
  770 + <group/>
  771 + <nullif>String</nullif>
  772 + <length>-1</length>
  773 + <precision>-1</precision>
  774 + <set_empty_string>N</set_empty_string>
  775 + </field>
  776 + <field>
  777 + <name>col_value</name>
  778 + <type>String</type>
  779 + <format/>
  780 + <currency/>
  781 + <decimal/>
  782 + <group/>
  783 + <nullif>replace</nullif>
  784 + <length>-1</length>
  785 + <precision>-1</precision>
  786 + <set_empty_string>N</set_empty_string>
  787 + </field>
  788 + </fields>
  789 + <cluster_schema/>
  790 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  791 + <xloc>202</xloc>
  792 + <yloc>351</yloc>
  793 + <draw>Y</draw>
  794 + </GUI>
  795 + </step>
  796 +
  797 + <step>
  798 + <name>&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</name>
  799 + <type>SelectValues</type>
  800 + <description/>
  801 + <distribute>Y</distribute>
  802 + <custom_distribution/>
  803 + <copies>1</copies>
  804 + <partitioning>
  805 + <method>none</method>
  806 + <schema_name/>
  807 + </partitioning>
  808 + <fields> <field> <name>col_name</name>
  809 + <rename/>
  810 + <length>-2</length>
  811 + <precision>-2</precision>
  812 + </field> <field> <name>col_type</name>
  813 + <rename/>
  814 + <length>-2</length>
  815 + <precision>-2</precision>
  816 + </field> <field> <name>col_value</name>
  817 + <rename/>
  818 + <length>-2</length>
  819 + <precision>-2</precision>
  820 + </field> <select_unspecified>N</select_unspecified>
  821 + </fields> <cluster_schema/>
  822 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  823 + <xloc>496</xloc>
  824 + <yloc>508</yloc>
  825 + <draw>Y</draw>
  826 + </GUI>
  827 + </step>
  828 +
  829 + <step>
  830 + <name>&#x66ff;&#x6362;&#x505c;&#x8f66;&#x5382;&#x540d;&#x5b57; </name>
  831 + <type>SetValueField</type>
  832 + <description/>
  833 + <distribute>Y</distribute>
  834 + <custom_distribution/>
  835 + <copies>1</copies>
  836 + <partitioning>
  837 + <method>none</method>
  838 + <schema_name/>
  839 + </partitioning>
  840 + <fields>
  841 + <field>
  842 + <name>col_value</name>
  843 + <replaceby>tccname_</replaceby>
  844 + </field>
  845 + </fields>
  846 + <cluster_schema/>
  847 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  848 + <xloc>345</xloc>
  849 + <yloc>430</yloc>
  850 + <draw>Y</draw>
  851 + </GUI>
  852 + </step>
  853 +
  854 + <step>
  855 + <name>&#x66ff;&#x6362;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;</name>
  856 + <type>SetValueField</type>
  857 + <description/>
  858 + <distribute>Y</distribute>
  859 + <custom_distribution/>
  860 + <copies>1</copies>
  861 + <partitioning>
  862 + <method>none</method>
  863 + <schema_name/>
  864 + </partitioning>
  865 + <fields>
  866 + <field>
  867 + <name>col_value</name>
  868 + <replaceby>ttinfoname_</replaceby>
  869 + </field>
  870 + </fields>
  871 + <cluster_schema/>
  872 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  873 + <xloc>354</xloc>
  874 + <yloc>509</yloc>
  875 + <draw>Y</draw>
  876 + </GUI>
  877 + </step>
  878 +
  879 + <step>
  880 + <name>&#x66ff;&#x6362;&#x7ebf;&#x8def;&#x540d;&#x79f0;</name>
  881 + <type>SetValueField</type>
  882 + <description/>
  883 + <distribute>Y</distribute>
  884 + <custom_distribution/>
  885 + <copies>1</copies>
  886 + <partitioning>
  887 + <method>none</method>
  888 + <schema_name/>
  889 + </partitioning>
  890 + <fields>
  891 + <field>
  892 + <name>col_value</name>
  893 + <replaceby>xlname_</replaceby>
  894 + </field>
  895 + </fields>
  896 + <cluster_schema/>
  897 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  898 + <xloc>340</xloc>
  899 + <yloc>352</yloc>
  900 + <draw>Y</draw>
  901 + </GUI>
  902 + </step>
  903 +
  904 + <step>
  905 + <name>&#x7ebf;&#x8def;&#x540d;&#x79f0;metadata&#x5b57;&#x6bb5;</name>
  906 + <type>SelectValues</type>
  907 + <description/>
  908 + <distribute>Y</distribute>
  909 + <custom_distribution/>
  910 + <copies>1</copies>
  911 + <partitioning>
  912 + <method>none</method>
  913 + <schema_name/>
  914 + </partitioning>
  915 + <fields> <field> <name>col_name</name>
  916 + <rename/>
  917 + <length>-2</length>
  918 + <precision>-2</precision>
  919 + </field> <field> <name>col_type</name>
  920 + <rename/>
  921 + <length>-2</length>
  922 + <precision>-2</precision>
  923 + </field> <field> <name>col_value</name>
  924 + <rename/>
  925 + <length>-2</length>
  926 + <precision>-2</precision>
  927 + </field> <select_unspecified>N</select_unspecified>
  928 + </fields> <cluster_schema/>
  929 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  930 + <xloc>487</xloc>
  931 + <yloc>353</yloc>
  932 + <draw>Y</draw>
  933 + </GUI>
  934 + </step>
  935 +
  936 + <step>
  937 + <name>&#x83b7;&#x53d6;excel&#x5b57;&#x6bb5;&#x540d;&#x5b57;&#x7b26;&#x4e32;</name>
  938 + <type>GetVariable</type>
  939 + <description/>
  940 + <distribute>Y</distribute>
  941 + <custom_distribution/>
  942 + <copies>1</copies>
  943 + <partitioning>
  944 + <method>none</method>
  945 + <schema_name/>
  946 + </partitioning>
  947 + <fields>
  948 + <field>
  949 + <name>fieldnames</name>
  950 + <variable>&#x24;&#x7b;excelfieldnames&#x7d;</variable>
  951 + <type>String</type>
  952 + <format/>
  953 + <currency/>
  954 + <decimal/>
  955 + <group/>
  956 + <length>-1</length>
  957 + <precision>-1</precision>
  958 + <trim_type>none</trim_type>
  959 + </field>
  960 + </fields>
  961 + <cluster_schema/>
  962 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  963 + <xloc>71</xloc>
  964 + <yloc>163</yloc>
  965 + <draw>Y</draw>
  966 + </GUI>
  967 + </step>
  968 +
  969 + <step>
  970 + <name>&#x83b7;&#x53d6;excel&#x6587;&#x4ef6;&#x540d;</name>
  971 + <type>GetVariable</type>
  972 + <description/>
  973 + <distribute>Y</distribute>
  974 + <custom_distribution/>
  975 + <copies>1</copies>
  976 + <partitioning>
  977 + <method>none</method>
  978 + <schema_name/>
  979 + </partitioning>
  980 + <fields>
  981 + <field>
  982 + <name>filepath_</name>
  983 + <variable>&#x24;&#x7b;filepath&#x7d;</variable>
  984 + <type>String</type>
  985 + <format/>
  986 + <currency/>
  987 + <decimal/>
  988 + <group/>
  989 + <length>-1</length>
  990 + <precision>-1</precision>
  991 + <trim_type>none</trim_type>
  992 + </field>
  993 + <field>
  994 + <name>erroroutputdir_</name>
  995 + <variable>&#x24;&#x7b;erroroutputdir&#x7d;</variable>
  996 + <type>String</type>
  997 + <format/>
  998 + <currency/>
  999 + <decimal/>
  1000 + <group/>
  1001 + <length>-1</length>
  1002 + <precision>-1</precision>
  1003 + <trim_type>none</trim_type>
  1004 + </field>
  1005 + </fields>
  1006 + <cluster_schema/>
  1007 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1008 + <xloc>73</xloc>
  1009 + <yloc>50</yloc>
  1010 + <draw>Y</draw>
  1011 + </GUI>
  1012 + </step>
  1013 +
  1014 + <step>
  1015 + <name>&#x83b7;&#x53d6;normalize&#x5b57;&#x6bb5;&#x540d;&#x5b57;&#x7b26;&#x4e32;</name>
  1016 + <type>GetVariable</type>
  1017 + <description/>
  1018 + <distribute>Y</distribute>
  1019 + <custom_distribution/>
  1020 + <copies>1</copies>
  1021 + <partitioning>
  1022 + <method>none</method>
  1023 + <schema_name/>
  1024 + </partitioning>
  1025 + <fields>
  1026 + <field>
  1027 + <name>normalizefieldnames_</name>
  1028 + <variable>&#x24;&#x7b;normalizefieldnames&#x7d;</variable>
  1029 + <type>String</type>
  1030 + <format/>
  1031 + <currency/>
  1032 + <decimal/>
  1033 + <group/>
  1034 + <length>-1</length>
  1035 + <precision>-1</precision>
  1036 + <trim_type>none</trim_type>
  1037 + </field>
  1038 + </fields>
  1039 + <cluster_schema/>
  1040 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1041 + <xloc>80</xloc>
  1042 + <yloc>261</yloc>
  1043 + <draw>Y</draw>
  1044 + </GUI>
  1045 + </step>
  1046 +
  1047 + <step>
  1048 + <name>&#x83b7;&#x53d6;&#x505c;&#x8f66;&#x573a;&#x540d;&#x79f0;</name>
  1049 + <type>GetVariable</type>
  1050 + <description/>
  1051 + <distribute>Y</distribute>
  1052 + <custom_distribution/>
  1053 + <copies>1</copies>
  1054 + <partitioning>
  1055 + <method>none</method>
  1056 + <schema_name/>
  1057 + </partitioning>
  1058 + <fields>
  1059 + <field>
  1060 + <name>tccname_</name>
  1061 + <variable>&#x24;&#x7b;tccname&#x7d;</variable>
  1062 + <type>String</type>
  1063 + <format/>
  1064 + <currency/>
  1065 + <decimal/>
  1066 + <group/>
  1067 + <length>-1</length>
  1068 + <precision>-1</precision>
  1069 + <trim_type>none</trim_type>
  1070 + </field>
  1071 + </fields>
  1072 + <cluster_schema/>
  1073 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1074 + <xloc>80</xloc>
  1075 + <yloc>430</yloc>
  1076 + <draw>Y</draw>
  1077 + </GUI>
  1078 + </step>
  1079 +
  1080 + <step>
  1081 + <name>&#x83b7;&#x53d6;&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;&#x540d;&#x79f0;</name>
  1082 + <type>GetVariable</type>
  1083 + <description/>
  1084 + <distribute>Y</distribute>
  1085 + <custom_distribution/>
  1086 + <copies>1</copies>
  1087 + <partitioning>
  1088 + <method>none</method>
  1089 + <schema_name/>
  1090 + </partitioning>
  1091 + <fields>
  1092 + <field>
  1093 + <name>ttinfoname_</name>
  1094 + <variable>&#x24;&#x7b;ttinfoname&#x7d;</variable>
  1095 + <type>String</type>
  1096 + <format/>
  1097 + <currency/>
  1098 + <decimal/>
  1099 + <group/>
  1100 + <length>-1</length>
  1101 + <precision>-1</precision>
  1102 + <trim_type>none</trim_type>
  1103 + </field>
  1104 + </fields>
  1105 + <cluster_schema/>
  1106 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1107 + <xloc>82</xloc>
  1108 + <yloc>508</yloc>
  1109 + <draw>Y</draw>
  1110 + </GUI>
  1111 + </step>
  1112 +
  1113 + <step>
  1114 + <name>&#x83b7;&#x53d6;&#x7ebf;&#x8def;&#x540d;&#x79f0;</name>
  1115 + <type>GetVariable</type>
  1116 + <description/>
  1117 + <distribute>Y</distribute>
  1118 + <custom_distribution/>
  1119 + <copies>1</copies>
  1120 + <partitioning>
  1121 + <method>none</method>
  1122 + <schema_name/>
  1123 + </partitioning>
  1124 + <fields>
  1125 + <field>
  1126 + <name>xlname_</name>
  1127 + <variable>&#x24;&#x7b;xlname&#x7d;</variable>
  1128 + <type>String</type>
  1129 + <format/>
  1130 + <currency/>
  1131 + <decimal/>
  1132 + <group/>
  1133 + <length>-1</length>
  1134 + <precision>-1</precision>
  1135 + <trim_type>none</trim_type>
  1136 + </field>
  1137 + </fields>
  1138 + <cluster_schema/>
  1139 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1140 + <xloc>78</xloc>
  1141 + <yloc>351</yloc>
  1142 + <draw>Y</draw>
  1143 + </GUI>
  1144 + </step>
  1145 +
  1146 + <step>
  1147 + <name>&#x9017;&#x53f7;&#x5207;&#x5206;&#x6210;&#x5b57;&#x6bb5;&#x540d;</name>
  1148 + <type>SplitFieldToRows3</type>
  1149 + <description/>
  1150 + <distribute>Y</distribute>
  1151 + <custom_distribution/>
  1152 + <copies>1</copies>
  1153 + <partitioning>
  1154 + <method>none</method>
  1155 + <schema_name/>
  1156 + </partitioning>
  1157 + <splitfield>fieldnames</splitfield>
  1158 + <delimiter>,</delimiter>
  1159 + <newfield>fieldname</newfield>
  1160 + <rownum>N</rownum>
  1161 + <rownum_field/>
  1162 + <resetrownumber>Y</resetrownumber>
  1163 + <delimiter_is_regex>N</delimiter_is_regex>
  1164 + <cluster_schema/>
  1165 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1166 + <xloc>261</xloc>
  1167 + <yloc>163</yloc>
  1168 + <draw>Y</draw>
  1169 + </GUI>
  1170 + </step>
  1171 +
  1172 + <step>
  1173 + <name>&#x9017;&#x53f7;&#x5207;&#x5206;&#x6210;&#x5b57;&#x6bb5;&#x540d; 2</name>
  1174 + <type>SplitFieldToRows3</type>
  1175 + <description/>
  1176 + <distribute>Y</distribute>
  1177 + <custom_distribution/>
  1178 + <copies>1</copies>
  1179 + <partitioning>
  1180 + <method>none</method>
  1181 + <schema_name/>
  1182 + </partitioning>
  1183 + <splitfield>normalizefieldnames_</splitfield>
  1184 + <delimiter>,</delimiter>
  1185 + <newfield>nfieldname</newfield>
  1186 + <rownum>N</rownum>
  1187 + <rownum_field/>
  1188 + <resetrownumber>Y</resetrownumber>
  1189 + <delimiter_is_regex>N</delimiter_is_regex>
  1190 + <cluster_schema/>
  1191 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1192 + <xloc>263</xloc>
  1193 + <yloc>257</yloc>
  1194 + <draw>Y</draw>
  1195 + </GUI>
  1196 + </step>
  1197 +
  1198 + <step_error_handling>
  1199 + </step_error_handling>
  1200 + <slave-step-copy-partition-distribution>
  1201 +</slave-step-copy-partition-distribution>
  1202 + <slave_transformation>N</slave_transformation>
  1203 +
  1204 +</transformation>
... ...
src/main/resources/static/pages/scheduleApp/module/basicInfo/busInfoManage/busInfoManage.js
... ... @@ -26,7 +26,7 @@ angular.module(&#39;ScheduleApp&#39;).factory(&#39;BusInfoManageService&#39;, [&#39;BusInfoManageSer
26 26 resetSearchCondition: function() {
27 27 var key;
28 28 for (key in currentSearchCondition) {
29   - currentSearchCondition[key] = "";
  29 + currentSearchCondition[key] = null;
30 30 }
31 31 currentPageNo = 1;
32 32 },
... ...
src/main/resources/static/pages/scheduleApp/module/basicInfo/busInfoManage/list.html
... ... @@ -32,25 +32,20 @@
32 32 <input type="text" class="form-control form-filter input-sm" ng-model="ctrl.searchCondition().carPlate_like"/>
33 33 </td>
34 34 <td>
35   - <select class="form-control form-filter " >
36   - <option value="">请选择...</option>
37   - <option value="55">上南公司</option>
38   - <option value="22">金高公司</option>
39   - <option value="05">杨高公司</option>
40   - <option value="26">南汇公司</option>
41   - </select>
42   - </td>
43   - <td>
44   - <select class="form-control form-filter " >
45   - <option value="">请选择...</option>
46   - </select>
  35 + <div style="width: 150px">
  36 + <sa-Select model="ctrl.searchCondition()"
  37 + dicgroup="gsType"
  38 + placeholder="请选择..."
  39 + name="gs"
  40 + codename="businessCode_eq">
  41 + </sa-Select>
  42 + </div>
  43 + </td>
  44 + <td style="width: 100px">
  45 +
47 46 </td>
48   - <td>
49   - <select class="form-control form-filter " >
50   - <option value="">请选择...</option>
51   - <option value="1">是</option>
52   - <option value="0">否</option>
53   - </select>
  47 + <td style="width: 80px">
  48 +
54 49 </td>
55 50 <td>
56 51 <button class="btn btn-sm green btn-outline filter-submit margin-bottom"
... ...
src/main/resources/static/pages/scheduleApp/module/basicInfo/employeeInfoManage/employeeInfoManage.js
... ... @@ -27,7 +27,7 @@ angular.module(&#39;ScheduleApp&#39;).factory(&#39;EmployeeInfoManageService&#39;, [&#39;EmployeeInf
27 27 resetSearchCondition: function() {
28 28 var key;
29 29 for (key in currentSearchCondition) {
30   - currentSearchCondition[key] = "";
  30 + currentSearchCondition[key] = null;
31 31 }
32 32 currentPageNo = 1;
33 33 },
... ...
src/main/resources/static/pages/scheduleApp/module/basicInfo/employeeInfoManage/list.html
... ... @@ -7,20 +7,16 @@
7 7 <input type="checkbox" class="group-checkable"/>
8 8 </th>
9 9 <th>序号</th>
10   - <th>员工编号</th>
11 10 <th>姓名</th>
12 11 <th>工号</th>
13 12 <th>性别</th>
14 13 <th>所在公司</th>
15 14 <th>分公司</th>
16 15 <th>工种</th>
17   - <th>一卡通号</th>
18   - <th>运营服务证号</th>
19 16 <th width="14%">操作</th>
20 17 </tr>
21 18 <tr role="row" class="filter">
22 19 <td></td>
23   - <td></td>
24 20 <td>
25 21 <input type="text" class="form-control input-sm" ng-model="ctrl.searchCondition().personnelCode_like"/>
26 22 </td>
... ... @@ -31,50 +27,37 @@
31 27 <input type="text" class="form-control input-sm" ng-model="ctrl.searchCondition().jobCode_like"/>
32 28 </td>
33 29 <td>
34   - <select class="form-contrl form-filter">
35   - <option value="">请选择</option>
36   - <option value="男">男</option>
37   - <option value="女">女</option>
38   - </select>
39   - </td>
40   - <td>
41   - <select class="form-control form-filter " >
42   - <option value="">请选择...</option>
43   - <option value="55">上南公司</option>
44   - <option value="22">金高公司</option>
45   - <option value="05">杨高公司</option>
46   - <option value="26">南汇公司</option>
47   - </select>
  30 + <div style="width: 150px">
  31 + <sa-Select model="ctrl.searchCondition()"
  32 + dicgroup="sexType"
  33 + placeholder="请选择..."
  34 + name="personnelType"
  35 + codename="personnelType_eq">
  36 + </sa-Select>
  37 + </div>
48 38 </td>
49 39 <td>
50   - <select class="form-control form-filter " >
51   - <option value="">请选择...</option>
52   - </select>
  40 + <div style="width: 150px">
  41 + <sa-Select model="ctrl.searchCondition()"
  42 + dicgroup="gsType"
  43 + placeholder="请选择..."
  44 + name="gs"
  45 + codename="companyCode_eq">
  46 + </sa-Select>
  47 + </div>
53 48 </td>
54   - <td>
55   - <select class="form-control form-filter " >
56   - <option value="">请选择...</option>
57   - <option value="公共汽电车驾驶员">公共汽电车驾驶员</option>
58   - <option value="公共汽电车调度员">公共汽电车调度员</option>
59   - <option value="公共汽电车售票员">公共汽电车售票员</option>
60   - <option value="站员">站员</option>
61   - <option value="管理员">管理员</option>
62   - <option value="安检员">安检员</option>
63   - <option value="机务">机务</option>
64   - <option value="引导员">引导员</option>
65   - <option value="乘务员">乘务员</option>
66   - <option value="车队长(线长、主">车队长(线长、主</option>
67   - <option value="公司管理人员">公司管理人员</option>
68   - <option value="警消人员">警消人员</option>
69   - <option value="票务人员">票务人员</option>
70   - <option value="其他服务人员">其他服务人员</option>
71   - </select>
72   - </td>
73   - <td>
74   - <input type="text" class="form-control input-sm" ng-model="ctrl.searchCondition().icCardCode_like"/>
  49 + <td style="width: 100px">
  50 +
75 51 </td>
76 52 <td>
77   - <input type="text" class="form-control input-sm" ng-model="ctrl.searchCondition().papersCode_like"/>
  53 + <div style="width: 180px">
  54 + <sa-Select model="ctrl.searchCondition()"
  55 + dicgroup="gzType"
  56 + placeholder="请选择..."
  57 + name="posts"
  58 + codename="posts_eq">
  59 + </sa-Select>
  60 + </div>
78 61 </td>
79 62 <td>
80 63 <button class="btn btn-sm green btn-outline filter-submit margin-bottom"
... ... @@ -97,9 +80,6 @@
97 80 <span ng-bind="$index + 1"></span>
98 81 </td>
99 82 <td>
100   - <span ng-bind="info.personnelCode"></span>
101   - </td>
102   - <td>
103 83 <span ng-bind="info.personnelName"></span>
104 84 </td>
105 85 <td>
... ... @@ -118,12 +98,6 @@
118 98 <span ng-bind="info.posts | dict:'gzType':'未知'"></span>
119 99 </td>
120 100 <td>
121   - <span ng-bind="info.icCardCode"></span>
122   - </td>
123   - <td>
124   - <span ng-bind="info.papersCode"></span>
125   - </td>
126   - <td>
127 101 <!--<a href="details.html?lineId={{obj.id}}" class="btn default blue-stripe btn-sm"> 详细 </a>-->
128 102 <!--<a href="edit.html?lineId={{obj.id}}" class="btn default blue-stripe btn-sm"> 修改 </a>-->
129 103 <a ui-sref="employeeInfoManage_detail({id: info.id})" class="btn default blue-stripe btn-sm"> 详细 </a>
... ...
src/main/resources/static/pages/scheduleApp/module/core/busConfig/busConfig.js
... ... @@ -20,7 +20,7 @@ angular.module(&#39;ScheduleApp&#39;).factory(&#39;BusConfigService&#39;, [&#39;BusConfigService_g&#39;,
20 20 resetSearchCondition: function() {
21 21 var key;
22 22 for (key in currentSearchCondition) {
23   - currentSearchCondition[key] = "";
  23 + currentSearchCondition[key] = null;
24 24 }
25 25 },
26 26 /**
... ... @@ -179,7 +179,9 @@ angular.module(&#39;ScheduleApp&#39;).controller(&#39;BusConfigListCtrl&#39;, [&#39;BusConfigService
179 179 };
180 180 // 重置查询条件
181 181 self.resetSearchCondition = function() {
182   - return busConfigService.resetSearchCondition();
  182 + busConfigService.resetSearchCondition();
  183 + self.pageInfo.currentPage = 1;
  184 + self.pageChanaged();
183 185 };
184 186  
185 187 }]);
... ...
src/main/resources/static/pages/scheduleApp/module/core/busConfig/dataExport.html
  1 +excelfieldnames=路牌,出场,陆家嘴地铁站1,长岛路东陆路1,陆家嘴地铁站2,长岛路东陆路2,陆家嘴地铁站3,长岛路东陆路3,陆家嘴地铁站4,长岛路东陆路4,陆家嘴地铁站5,长岛路东陆路5,陆家嘴地铁站6,长岛路东陆路6,进场1,出场1,陆家嘴地铁站7,长岛路东陆路7,陆家嘴地铁站8,长岛路东陆路8,陆家嘴地铁站9,长岛路东陆路9,陆家嘴地铁站10,长岛路东陆路10,陆家嘴地铁站11,长岛路东陆路11,陆家嘴地铁站12,长岛路东陆路12,陆家嘴地铁站13,长岛路东陆路13 ,进场
  2 +
  3 +normalizefieldnames=出场,陆家嘴地铁站1,长岛路东陆路1,陆家嘴地铁站2,长岛路东陆路2,陆家嘴地铁站3,长岛路东陆路3,陆家嘴地铁站4,长岛路东陆路4,陆家嘴地铁站5,长岛路东陆路5,陆家嘴地铁站6,长岛路东陆路6,进场1,出场1,陆家嘴地铁站7,长岛路东陆路7,陆家嘴地铁站8,长岛路东陆路8,陆家嘴地铁站9,长岛路东陆路9,陆家嘴地铁站10,长岛路东陆路10,陆家嘴地铁站11,长岛路东陆路11,陆家嘴地铁站12,长岛路东陆路12,陆家嘴地铁站13,长岛路东陆路13 ,进场
  4 +
  5 +tccname=<东靖路高行停车场></东靖路高行停车场>
  6 +
  7 +ttinfoname=85路0328平表
  8 +
  9 +xlname=85路
  10 +
  11 +filepath=/Users/xu/resource/project/bsth_control_etl/闵行公交/85路0328平表-测试1-时刻明细.xls
  12 +
  13 +erroroutputdir=/Users/xu/resource/project/bsth_control_u_d_files/erroroutput
  14 +
  15 +
  16 +${db_pwd}
  17 +
  18 +
  19 +
  20 +
  21 +
... ...
src/main/resources/static/pages/scheduleApp/module/core/busConfig/list.html
... ... @@ -7,27 +7,44 @@
7 7 <input type="checkbox" class="group-checkable"/>
8 8 </th>
9 9 <th>序号</th>
  10 + <th>所在公司</th>
10 11 <th>线路</th>
11 12 <th>内部编号</th>
12   - <th>设备编码</th>
13 13 <th>启用日期</th>
14 14 <th>终止日期</th>
15 15 <th>停车点</th>
16   - <th>是否切换</th>
17 16 <th width="14%">操作</th>
18 17 </tr>
19 18 <tr role="row" class="filter">
20 19 <td></td>
21 20 <td></td>
22   - <td></td>
23   - <td></td>
  21 + <td>
  22 + <div style="width: 150px">
  23 + <sa-Select model="ctrl.searchCondition()"
  24 + dicgroup="gsType"
  25 + placeholder="请选择..."
  26 + name="gs"
  27 + codename="cl.businessCode_eq">
  28 + </sa-Select>
  29 + </div>
  30 + </td>
  31 + <td>
  32 + <div style="width: 150px">
  33 + <sa-Select2 model="ctrl.searchCondition()"
  34 + type="xl"
  35 + modelcolname1="xl.lineCode_eq"
  36 + datacolname1="lineCode"
  37 + showcolname="name"
  38 + placeholder="请输拼音...">
  39 + </sa-Select2>
  40 + </div>
  41 + </td>
24 42 <td></td>
25 43 <td></td>
26 44 <td></td>
27 45 <td>
28 46 <input type="text" class="form-control form-filter input-sm" ng-model="ctrl.searchCondition().tcd_like"/>
29 47 </td>
30   - <td></td>
31 48 <td>
32 49 <button class="btn btn-sm green btn-outline filter-submit margin-bottom"
33 50 ng-click="ctrl.pageChanaged()">
... ... @@ -50,13 +67,13 @@
50 67 <span ng-bind="$index + 1"></span>
51 68 </td>
52 69 <td>
53   - <span ng-bind="info.xl.name"></span>
  70 + <span ng-bind="info.cl.company"></span>
54 71 </td>
55 72 <td>
56   - <span ng-bind="info.cl.insideCode"></span>
  73 + <span ng-bind="info.xl.name"></span>
57 74 </td>
58 75 <td>
59   - <span ng-bind="info.cl.equipmentCode"></span>
  76 + <span ng-bind="info.cl.insideCode"></span>
60 77 </td>
61 78 <td>
62 79 <span ng-bind="info.qyrq | date: 'yyyy-MM-dd HH:mm:ss'"></span>
... ... @@ -68,9 +85,6 @@
68 85 <span ng-bind="info.tcd"></span>
69 86 </td>
70 87 <td>
71   - <span ng-bind="info.isSwitch"></span>
72   - </td>
73   - <td>
74 88 <!--<a href="details.html?lineId={{obj.id}}" class="btn default blue-stripe btn-sm"> 详细 </a>-->
75 89 <!--<a href="edit.html?lineId={{obj.id}}" class="btn default blue-stripe btn-sm"> 修改 </a>-->
76 90 <a ui-sref="busConfig_detail({id: info.id})" class="btn default blue-stripe btn-sm"> 详细 </a>
... ...
src/main/resources/static/pages/scheduleApp/module/core/employeeConfig/list.html
... ... @@ -7,6 +7,7 @@
7 7 <input type="checkbox" class="group-checkable"/>
8 8 </th>
9 9 <th>序号</th>
  10 + <th>所在公司</th>
10 11 <th>线路</th>
11 12 <th>搭班编码</th>
12 13 <th>驾驶员工号</th>
... ... @@ -18,10 +19,47 @@
18 19 <tr role="row" class="filter">
19 20 <td></td>
20 21 <td></td>
  22 + <td>
  23 + <div style="width: 150px">
  24 + <sa-Select model="ctrl.searchCondition()"
  25 + dicgroup="gsType"
  26 + placeholder="请选择..."
  27 + name="gs"
  28 + codename="jsy.companyCode_eq">
  29 + </sa-Select>
  30 + </div>
  31 + </td>
  32 + <td>
  33 + <div style="width: 150px">
  34 + <sa-Select2 model="ctrl.searchCondition()"
  35 + type="xl"
  36 + modelcolname1="xl.lineCode_eq"
  37 + datacolname1="lineCode"
  38 + showcolname="name"
  39 + placeholder="请输拼音...">
  40 + </sa-Select2>
  41 + </div>
  42 + </td>
21 43 <td></td>
22 44 <td></td>
23   - <td></td>
24   - <td></td>
  45 + <td>
  46 + <div style="width: 180px">
  47 + <sa-Select2 model="ctrl.searchCondition()"
  48 + type="ry"
  49 + modelcolname1="jsy.id_eq"
  50 + datacolname1="id"
  51 + showcolname="name"
  52 + placeholder="请输拼音...">
  53 + </sa-Select2>
  54 + <!--<sa-Select2 model="ctrl.searchCondition()"-->
  55 + <!--type="ry2"-->
  56 + <!--modelcolname1="jsy.id_eq"-->
  57 + <!--datacolname1="id"-->
  58 + <!--showcolname="personnelName"-->
  59 + <!--placeholder="请输拼音...">-->
  60 + <!--</sa-Select2>-->
  61 + </div>
  62 + </td>
25 63 <td></td>
26 64 <td></td>
27 65 <td>
... ... @@ -46,6 +84,9 @@
46 84 <span ng-bind="$index + 1"></span>
47 85 </td>
48 86 <td>
  87 + <span ng-bind="info.jsy.company"></span>
  88 + </td>
  89 + <td>
49 90 <span ng-bind="info.xl.name"></span>
50 91 </td>
51 92 <td>
... ...
src/main/resources/static/pages/scheduleApp/module/core/guideboardManage/list.html
... ... @@ -16,7 +16,17 @@
16 16 <tr role="row" class="filter">
17 17 <td></td>
18 18 <td></td>
19   - <td></td>
  19 + <td>
  20 + <div style="width: 150px">
  21 + <sa-Select2 model="ctrl.searchCondition()"
  22 + type="xl"
  23 + modelcolname1="xl.lineCode_eq"
  24 + datacolname1="lineCode"
  25 + showcolname="name"
  26 + placeholder="请输拼音...">
  27 + </sa-Select2>
  28 + </div>
  29 + </td>
20 30 <td></td>
21 31 <td></td>
22 32 <td></td>
... ...
src/main/resources/static/pages/scheduleApp/module/core/timeTableManage/detailDataImport.html 0 → 100644
  1 +<div class="modal-header">
  2 + <h3 class="modal-title"><span ng-bind="ctrl.xlmc + '(' + ctrl.ttinfoname + ')' "></span>时刻表明细信息excel数据导入</h3>
  3 +</div>
  4 +<div class="modal-body">
  5 + <div class="col-md-6">
  6 + <div class="input-group">
  7 + <input type="file" class="form-control" nv-file-select="" uploader="ctrl.uploader"/>
  8 + <span class="input-group-btn">
  9 + <button type="button" ng-click="ctrl.clearInputFile()" class="btn btn-default">
  10 + <span class="glyphicon glyphicon-trash"></span>
  11 + </button>
  12 + </span>
  13 + </div>
  14 + </div>
  15 +
  16 + <div class="table-scrollable table-scrollable-borderless">
  17 + <table class="table table-hover table-light">
  18 + <thead>
  19 + <tr class="uppercase">
  20 + <th width="50%">文件名</th>
  21 + <th ng-show="ctrl.uploader.isHTML5">大小(M)</th>
  22 + <th ng-show="ctrl.uploader.isHTML5">进度</th>
  23 + <th>状态</th>
  24 + <th>操作</th>
  25 + </tr>
  26 + </thead>
  27 + <tbody>
  28 + <tr ng-repeat="item in ctrl.uploader.queue">
  29 + <td>
  30 + <strong>{{ item.file.name }}</strong>
  31 + </td>
  32 + <td ng-show="ctrl.uploader.isHTML5" nowrap>{{ item.file.size/1024/1024|number:2 }} MB</td>
  33 + <td ng-show="ctrl.uploader.isHTML5">
  34 + <div class="progress progress-sm" style="margin-bottom: 0;">
  35 + <div class="progress-bar progress-bar-info" role="progressbar"
  36 + ng-style="{ 'width': item.progress + '%' }"></div>
  37 + </div>
  38 + </td>
  39 + <td class="text-center">
  40 + <span ng-show="item.isSuccess" class="text-success">
  41 + <i class="glyphicon glyphicon-ok"></i>
  42 + </span>
  43 + <span ng-show="item.isCancel" class="text-info">
  44 + <i class="glyphicon glyphicon-ban-circle"></i>
  45 + </span>
  46 + <span ng-show="item.isError" class="text-danger">
  47 + <i class="glyphicon glyphicon-remove"></i>
  48 + </span>
  49 + </td>
  50 + <td nowrap>
  51 + <button type="button" class="btn btn-success btn-xs" ng-click="item.upload()"
  52 + ng-disabled="item.isReady || item.isUploading || item.isSuccess">
  53 + <span class="glyphicon glyphicon-upload"></span> 上传
  54 + </button>
  55 + <button type="button" class="btn btn-warning btn-xs" ng-click="item.cancel()"
  56 + ng-disabled="!item.isUploading">
  57 + <span class="glyphicon glyphicon-ban-circle"></span> 取消
  58 + </button>
  59 + <button type="button" class="btn btn-danger btn-xs" ng-click="item.remove()">
  60 + <span class="glyphicon glyphicon-trash"></span> 删除
  61 + </button>
  62 + </td>
  63 + </tr>
  64 + </tbody>
  65 + </table>
  66 + </div>
  67 +
  68 +</div>
  69 +
  70 +<div class="modal-footer">
  71 + <button class="btn btn-primary" ng-click="ctrl.close()">关闭</button>
  72 +</div>
0 73 \ No newline at end of file
... ...
src/main/resources/static/pages/scheduleApp/module/core/timeTableManage/detail_info.html
... ... @@ -86,7 +86,7 @@
86 86  
87 87 <div class="portlet-body">
88 88 <!--<div ng-view></div>-->
89   - <table class="table table-striped table-bordered table-hover table-checkable order-column" ng-controller="TimeTableInfoManageCtrl as ctrl">
  89 + <table class="table table-striped table-bordered table-hover table-checkable order-column" ng-controller="TimeTableDetailManageCtrl as ctrl">
90 90 <thead>
91 91 <tr>
92 92 <th>
... ...
src/main/resources/static/pages/scheduleApp/module/core/timeTableManage/list.html
... ... @@ -65,10 +65,10 @@
65 65 <span ng-bind="info.updateDate | date: 'yyyy-MM-dd HH:mm:ss'"></span>
66 66 </td>
67 67 <td>
68   - <a ui-sref="timeTableInfoManage" class="btn default blue-stripe btn-sm"> 编辑 </a>
69   - <a ui-sref="" class="btn default blue-stripe btn-sm"> 导入 </a>
70   - <a ui-sref="" class="btn default blue-stripe btn-sm"> 导出 </a>
71   - <a ui-sref="" class="btn default blue-stripe btn-sm"> 模版 </a>
  68 + <a ui-sref="timeTableDetailInfoManage" class="btn default blue-stripe btn-sm"> 编辑 </a>
  69 + <a ng-click="ctrl.importData($index)" class="btn default blue-stripe btn-sm"> 导入 </a>
  70 + <a href="javascript:" class="btn default blue-stripe btn-sm"> 导出 </a>
  71 + <a href="javascript:" class="btn default blue-stripe btn-sm"> 模版 </a>
72 72 </td>
73 73 <td>
74 74 <!--<a href="details.html?lineId={{obj.id}}" class="btn default blue-stripe btn-sm"> 详细 </a>-->
... ...
src/main/resources/static/pages/scheduleApp/module/core/timeTableManage/timeTableDetailManage.js 0 → 100644
  1 +angular.module('ScheduleApp').controller('TimeTableDetailManageCtrl', [function() {
  2 + var self = this;
  3 +
  4 +
  5 + // 模拟799路的时刻信息
  6 + self.detailHeads = [
  7 + '路牌', '出场',
  8 + '华高新村1', '陆家嘴地铁站1', '华高新村2', '陆家嘴地铁站2',
  9 + '华高新村3', '陆家嘴地铁站3', '华高新村4', '陆家嘴地铁站4',
  10 + '华高新村5', '陆家嘴地铁站5', '华高新村6', '陆家嘴地铁站6',
  11 + '华高新村7', '陆家嘴地铁站7', '华高新村8', '陆家嘴地铁站8',
  12 + '进场', '空驶班次数/里程', '运营班次数/里程'
  13 + ];
  14 +
  15 + self.detailInfos = [
  16 + ['1', '07:01', '', '', '07:11', '08:01', '09:22', '10:12', '11:34', '12:24', '13:34', '14:24', '15:42', '16:32', '18:00', '18:50', '', '', '19:46', '2/1.6', '12/198'],
  17 + ['2', '06:51', '07:01', '07:51', '09:12', '10:02', '11:22', '12:12', '13:22', '14:12', '15:36', '16:26', '17:55', '18:45', '20:05', '20:55', '', '', '21:51', '2/1.6', '14/231'],
  18 + ['3', '05:56', '06:06', '06:56', '08:05', '08:55', '10:34', '11:24', '12:20', '', '', '17:01', '17:11', '18:01', '19:10', '19:58', '21:16', '22:08', '23:04', '4/3.2', '12/198'],
  19 + ['4', '06:20', '06:30', '07:20', '08:20', '09:10', '11:02', '08:38', '12:46', '13:36', '12:57', '15:44', '17:20', '18:10', '19:24', '20:14', '', '', '21:10', '2/1.6', '14/231'],
  20 + ['5', '07:21', '', '', '07:31', '08:21', '09:46', '10:36', '11:58', '12:48', '13:36', '14:46', '16:06', '16:56', '18:18', '19:08', '', '', '20:04', '2/1.6', '12/198'],
  21 + ['6', '06:36', '06:46', '07:36', '08:40', '09:30', '10:58', '11:48', '12:58', '13:48', '15:18', '16:08', '17:40', '18:30', '19:48', '20:38', '21:50', '22:49', '23:45', '2/1.6', '16/264'],
  22 + ['7', '07:30', '', '', '07:40', '08:31', '09:58', '10:48', '12:10', '13:00', '13:56', '16:20', '16:30', '17:20', '18:30', '19:20', '20:41', '21:31', '22:27', '4/3.2', '12/198'],
  23 + ['8', '07:46', '', '', '07:56', '08:46', '10:22', '11:12', '12:34', '13:24', '14:20', '16:38', '16:48', '17:38', '18:49', '19:38', '21:00', '21:50', '22:46', '4/3.2', '12/198'],
  24 + ['9', '07:38', '', '', '07:48', '08:38', '10:10', '10:00', '12:22', '13:12', '14:30', '15:20', '16:44', '17:34', '18:42', '19:32', '', '', '20:28', '2/1.6', '12/198'],
  25 + ['10', '06:46', '06:56', '07:46', '09:00', '09:50', '11:10', '12:00', '13:10', '14:00', '15:24', '16:14', '17:45', '18:35', '19:56', '20:46', '22:00', '23:00', '23:56', '2/1.6', '16/264'],
  26 + ['+1', '05:10', '05:20', '06:10', '07:21', '08:11', '09:07', '', '', '', '', '15:44', '15:54', '16:44', '18:12', '19:02', '20:23', '21:13', '22:09', '4/3.2', '10/165'],
  27 + ['+2', '05:30', '05:40', '06:30', '07:44', '08:34', '09:30', '', '', '', '', '16:29', '16:39', '17:29', '18:36', '19:26', '20:50', '21:40', '22:36', '4/3.2', '10/165'],
  28 + ['+3', '05:30', '', '06:00', '07:16', '08:06', '09:02', '', '', '', '', '15:38', '15:48', '16:38', '18:06', '18:56', '20:14', '21:04', '22:00', '4/14.95', '9/149'],
  29 + ['+4', '05:48', '05:58', '06:48', '08:00', '08:50', '09:46', '', '', '', '', '16:52', '17:02', '17:52', '19:03', '19:50', '21:08', '21:59', '22:54', '4/3.2', '10/165'],
  30 + ['+5', '05:40', '05:50', '06:40', '07:52', '08:42', '09:38', '', '', '14:26', '14:36', '15:26', '16:53', '17:43', '18:56', '19:44', '', '', '20:40', '4/3.2', '10/165'],
  31 + ['+6', '06:31', '06:41', '07:31', '08:31', '09:21', '10:17', '', '', '14:56', '15:06', '15:56', '17:30', '18:20', '19:32', '20:22', '21:32', '22:27', '23:23', '4/3.2', '12/198'],
  32 + ['+7', '05:20', '05:30', '06:20', '07:36', '08:26', '09:22', '', '', '', '', '16:08', '16:18', '17:08', '18:24', '19:14', '20:32', '21:22', '22:18', '4/3.2', '10/165'],
  33 + ['+8', '06:04', '06:14', '07:04', '08:10', '09:00', '09:56', '', '', '', '', '17:05', '17:15', '18:05', '19:17', '20:06', '21:24', '22:17', '23:13', '4/3.2', '10/165'],
  34 + ['+9', '06:41', '06:51', '07:41', '08:50', '09:40', '10:36', '', '', '15:02', '15:12', '16:02', '17:35', '18:25', '19:40', '20:30', '21:40', '22:38', '23:34', '4/3.2', '12/198'],
  35 + ['+10', '07:16', '', '', '07:26', '08:16', '09:34', '10:24', '11:46', '12:36', '13:46', '14:36', '16:00', '16:50', '', '', '', '', '17:46', '2/1.6', '10/165'],
  36 + ['+20', '06:12', '06:22', '07:12', '08:15', '09:05', '10:01', '', '', '14:50', '15:00', '15:50', '17:25', '18:15', '', '', '', '', '19:11', '4/3.2', '8/132'],
  37 + ['+21', '06:26', '06:36', '07:26', '08:25', '09:15', '10:11', '', '', '15:20', '15:30', '16:20', '17:50', '18:40', '', '', '', '', '19:36', '4/3.2', '8/132'],
  38 + ['+22', '06:56', '07:06', '07:56', '08:52', '', '', '', '', '14:38', '14:48', '15:38', '17:06', '17:56', '', '', '', '', '18:52', '4/3.2', '6/99'],
  39 + ['机1', '13:56', '', '', '', '', '', '', '', '', '14:06', '14:56', '16:12', '17:02', '', '', '', '', '17:58', '2/1.6', '4/66'],
  40 + ['机2', '14:04', '', '', '', '', '', '', '', '', '14:14', '15:04', '16:24', '17:14', '', '', '', '', '18:10', '2/1.6', '4/66'],
  41 + ['机3', '14:12', '', '', '', '', '', '', '', '', '14:22', '15:12', '16:35', '17:25', '', '', '', '', '18:21', '2/1.6', '4/66'],
  42 + ['机4', '14:32', '', '', '', '', '', '', '', '', '14:42', '15:32', '16:57', '17:47', '', '', '', '', '18:43', '2/1.6', '4/66']
  43 +
  44 + ]
  45 +
  46 +
  47 +
  48 +
  49 +
  50 +
  51 +
  52 +
  53 +
  54 +
  55 +
  56 +
  57 +
  58 +
  59 +
  60 +
  61 +
  62 +
  63 +
  64 +
  65 +
  66 +
  67 +
  68 +
  69 +
  70 +
  71 +
  72 +
  73 +
  74 +
  75 +
  76 +}]);
0 77 \ No newline at end of file
... ...
src/main/resources/static/pages/scheduleApp/module/core/timeTableManage/timeTableManage.js
... ... @@ -133,7 +133,7 @@ angular.module(&#39;ScheduleApp&#39;).controller(&#39;TimeTableManageToolsCtrl&#39;, [&#39;$modalIns
133 133  
134 134 }]);
135 135  
136   -angular.module('ScheduleApp').controller('TimeTableManageListCtrl', ['TimeTableManageService', function(timeTableManageService) {
  136 +angular.module('ScheduleApp').controller('TimeTableManageListCtrl', ['TimeTableManageService', '$uibModal', function(timeTableManageService, $uibModal) {
137 137 var self = this;
138 138 self.pageInfo = {
139 139 totalItems : 0,
... ... @@ -182,6 +182,82 @@ angular.module(&#39;ScheduleApp&#39;).controller(&#39;TimeTableManageListCtrl&#39;, [&#39;TimeTableM
182 182 return timeTableManageService.resetSearchCondition();
183 183 };
184 184  
  185 + // 导入excel
  186 + self.importData = function($index) {
  187 + // 线路名称
  188 + var xlmc = self.pageInfo.infos[$index]["xl"]["name"];
  189 + // 时刻表名称
  190 + var ttinfoname = self.pageInfo.infos[$index]["name"];
  191 + // 停车场名称(TODO:暂时写死)
  192 + var tccname = "东靖路高行停车场";
  193 +
  194 + // large方式弹出模态对话框
  195 + var modalInstance = $uibModal.open({
  196 + templateUrl: '/pages/scheduleApp/module/core/timeTableManage/detailDataImport.html',
  197 + size: "lg",
  198 + animation: true,
  199 + backdrop: 'static',
  200 + resolve: {
  201 + // 可以传值给controller
  202 + r_xlmc : function() {return xlmc},
  203 + r_ttinfoname : function() {return ttinfoname;},
  204 + r_tccname : function() {return tccname;}
  205 + },
  206 + windowClass: 'center-modal',
  207 + controller: "TimeTableDetailManageToolsCtrl",
  208 + controllerAs: "ctrl",
  209 + bindToController: true
  210 + });
  211 + modalInstance.result.then(
  212 + function() {
  213 + console.log("dataImport.html打开");
  214 + },
  215 + function() {
  216 + console.log("dataImport.html消失");
  217 + }
  218 + );
  219 + };
  220 +
  221 +}]);
  222 +
  223 +angular.module('ScheduleApp').controller('TimeTableDetailManageToolsCtrl', ['$modalInstance', 'FileUploader', 'r_xlmc', 'r_ttinfoname', 'r_tccname', function($modalInstance, FileUploader, r_xlmc, r_ttinfoname, r_tccname) {
  224 + var self = this;
  225 +
  226 + self.xlmc = r_xlmc;
  227 + self.ttinfoname = r_ttinfoname;
  228 + self.tccname = r_tccname;
  229 +
  230 + // 关闭窗口
  231 + self.close = function() {
  232 + $modalInstance.dismiss("cancel");
  233 + };
  234 +
  235 + self.clearInputFile = function() {
  236 + angular.element("input[type='file']").val(null);
  237 + };
  238 +
  239 + // 上传文件组件
  240 + self.uploader = new FileUploader({
  241 + url: "/tidc/dataImportExtend",
  242 + filters: [], // 用于过滤文件,比如只允许导入excel,
  243 + formData: [{xlmc: self.xlmc, ttinfoname: self.ttinfoname, tccname: self.tccname}]
  244 + });
  245 + self.uploader.onAfterAddingFile = function(fileItem)
  246 + {
  247 + console.info('onAfterAddingFile', fileItem);
  248 + console.log(self.uploader.queue.length);
  249 + if (self.uploader.queue.length > 1)
  250 + self.uploader.removeFromQueue(0);
  251 + };
  252 + self.uploader.onSuccessItem = function(fileItem, response, status, headers)
  253 + {
  254 + console.info('onSuccessItem', fileItem, response, status, headers);
  255 + };
  256 + self.uploader.onErrorItem = function(fileItem, response, status, headers)
  257 + {
  258 + console.info('onErrorItem', fileItem, response, status, headers);
  259 + };
  260 +
185 261 }]);
186 262  
187 263 angular.module('ScheduleApp').controller('TimeTableManageFormCtrl', ['TimeTableManageService', '$stateParams', '$state', function(timeTableManageService, $stateParams, $state) {
... ...
src/main/resources/static/pages/scheduleApp/module/main.js
... ... @@ -62,6 +62,8 @@ ScheduleApp.config([&#39;$stateProvider&#39;, &#39;$urlRouterProvider&#39;, function($stateProvi
62 62 name: 'busInfoManage_module',
63 63 insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
64 64 files: [
  65 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  66 + "assets/bower_components/angular-ui-select/dist/select.min.js",
65 67 "assets/bower_components/angular-file-upload/dist/angular-file-upload.min.js",
66 68 "pages/scheduleApp/module/basicInfo/busInfoManage/busInfoManage.js"
67 69 ]
... ... @@ -143,6 +145,8 @@ ScheduleApp.config([&#39;$stateProvider&#39;, &#39;$urlRouterProvider&#39;, function($stateProvi
143 145 name: 'employeeInfoManage_module',
144 146 insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
145 147 files: [
  148 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  149 + "assets/bower_components/angular-ui-select/dist/select.min.js",
146 150 "assets/bower_components/angular-file-upload/dist/angular-file-upload.min.js",
147 151 "pages/scheduleApp/module/basicInfo/employeeInfoManage/employeeInfoManage.js"
148 152 ]
... ... @@ -304,6 +308,8 @@ ScheduleApp.config([&#39;$stateProvider&#39;, &#39;$urlRouterProvider&#39;, function($stateProvi
304 308 name: 'busConfig_module',
305 309 insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
306 310 files: [
  311 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  312 + "assets/bower_components/angular-ui-select/dist/select.min.js",
307 313 "assets/bower_components/angular-file-upload/dist/angular-file-upload.min.js",
308 314 "pages/scheduleApp/module/core/busConfig/busConfig.js"
309 315 ]
... ... @@ -385,6 +391,8 @@ ScheduleApp.config([&#39;$stateProvider&#39;, &#39;$urlRouterProvider&#39;, function($stateProvi
385 391 name: 'employeeConfig_module',
386 392 insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
387 393 files: [
  394 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  395 + "assets/bower_components/angular-ui-select/dist/select.min.js",
388 396 "assets/bower_components/angular-file-upload/dist/angular-file-upload.min.js",
389 397 "pages/scheduleApp/module/core/employeeConfig/employeeConfig.js"
390 398 ]
... ... @@ -466,6 +474,8 @@ ScheduleApp.config([&#39;$stateProvider&#39;, &#39;$urlRouterProvider&#39;, function($stateProvi
466 474 name: 'guideboardManage_module',
467 475 insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
468 476 files: [
  477 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  478 + "assets/bower_components/angular-ui-select/dist/select.min.js",
469 479 "assets/bower_components/angular-file-upload/dist/angular-file-upload.min.js",
470 480 "pages/scheduleApp/module/core/guideboardManage/guideboardManage.js"
471 481 ]
... ... @@ -555,18 +565,18 @@ ScheduleApp.config([&#39;$stateProvider&#39;, &#39;$urlRouterProvider&#39;, function($stateProvi
555 565 }]
556 566 }
557 567 })
558   - .state("timeTableInfoManage", {
559   - url: '/timeTableInfoManage',
  568 + .state("timeTableDetailInfoManage", {
  569 + url: '/timeTableDetailInfoManage',
560 570 views: {
561 571 "": {templateUrl: 'pages/scheduleApp/module/core/timeTableManage/detail_info.html'}
562 572 },
563 573 resolve: {
564 574 deps: ['$ocLazyLoad', function($ocLazyLoad) {
565 575 return $ocLazyLoad.load({
566   - name: 'timeTableInfoManage_detail_module',
  576 + name: 'timeTableDetailInfoManage_module',
567 577 insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
568 578 files: [
569   - "pages/scheduleApp/module/core/timeTableManage/timeTableInfoManage.js"
  579 + "pages/scheduleApp/module/core/timeTableManage/timeTableDetailManage.js"
570 580 ]
571 581 });
572 582 }]
... ... @@ -923,7 +933,6 @@ angular.module(&#39;ScheduleApp&#39;).factory(&#39;BusLineInfoStatService_g&#39;, [&#39;$resource&#39;,
923 933 );
924 934 }]);
925 935  
926   -
927 936 //--------------------------- 通用filter和directive -----------------------------//
928 937 angular.module('ScheduleApp').filter("dict", [function() {
929 938 /**
... ... @@ -949,7 +958,7 @@ angular.module(&#39;ScheduleApp&#39;).directive(&quot;saSelect&quot;, [&#39;$timeout&#39;, function($timeo
949 958 },
950 959 controllerAs: "$saSelectCtrl",
951 960 bindToController: true,
952   - controller: function($scope) {
  961 + controller: function() {
953 962 var self = this;
954 963 self.datas = []; // 关联的字典数据,内部格式 {code:{值},name:{名字}}
955 964 },
... ... @@ -1178,26 +1187,29 @@ angular.module(&#39;ScheduleApp&#39;).directive(&quot;remoteValidaton&quot;, [
1178 1187 }
1179 1188  
1180 1189 attr.$observe("rv1", function(value) {
1181   - if (!value) {
1182   - ngModelCtrl.$setValidity('remote', false);
1183   - return;
1184   - }
  1190 + if (attr["rvtype"] == "jobCode") {
  1191 + if (!value) {
  1192 + ngModelCtrl.$setValidity('remote', false);
  1193 + return;
  1194 + }
1185 1195  
1186   - employeeInfoManageService_g.validate.jobCode(
1187   - {"jobCode_eq": modelValue, "companyCode_eq": rv1_attr, type: "equale"},
1188   - function(result) {
1189   - //console.log(result);
1190   - if (result.status == "SUCCESS") {
  1196 + employeeInfoManageService_g.validate.jobCode(
  1197 + {"jobCode_eq": modelValue, "companyCode_eq": rv1_attr, type: "equale"},
  1198 + function(result) {
  1199 + //console.log(result);
  1200 + if (result.status == "SUCCESS") {
  1201 + ngModelCtrl.$setValidity('remote', true);
  1202 + } else {
  1203 + ngModelCtrl.$setValidity('remote', false);
  1204 + }
  1205 + },
  1206 + function(result) {
  1207 + //console.log(result);
1191 1208 ngModelCtrl.$setValidity('remote', true);
1192   - } else {
1193   - ngModelCtrl.$setValidity('remote', false);
1194 1209 }
1195   - },
1196   - function(result) {
1197   - //console.log(result);
1198   - ngModelCtrl.$setValidity('remote', true);
1199   - }
1200   - );
  1210 + );
  1211 + }
  1212 +
1201 1213 });
1202 1214 });
1203 1215 }
... ... @@ -1205,11 +1217,241 @@ angular.module(&#39;ScheduleApp&#39;).directive(&quot;remoteValidaton&quot;, [
1205 1217 }]);
1206 1218  
1207 1219  
  1220 +/**
  1221 + * saSelect2指令,根据属性值,动态载入数据,然后支持拼音搜索,点击右边的按钮清除选择并重新载入数据。
  1222 + * 1、compile阶段使用的属性如下:
  1223 + * required:用于和表单验证连接,指定成required="true"才有效。
  1224 + * 2、link阶段使用的属性如下
  1225 + * model:关联的模型对象
  1226 + * name:表单验证时需要的名字
  1227 + * type:关联的那种数据值(xl/cl/ry)-> 对应线路信息/车辆信息/人员信息,后面有的继续加
  1228 + * modelcolname1:关联的模型字段名字1(一般应该是编码字段)
  1229 + * modelcolname2:关联的模型字段名字2(一般应该是名字字段)
  1230 + * datacolname1;内部数据对应的字段名字1(与模型字段1对应)
  1231 + * datacolname2:内部数据对应的字段名字2(与模型字段2对应)
  1232 + * showcolname:下拉框显示的内部数据字段名(注意:不是模型数据字段名),TODO:以后考虑放动态表达式,并在compile阶段使用
  1233 + * placeholder:select placeholder字符串描述
  1234 + *
  1235 + * $$pyFilter,内部的filter指令,结合简拼音进行拼音过滤。
  1236 + * $$SearchInfoService_g,内部使用的数据服务
  1237 + */
  1238 +// saSelect2指令使用的内部信service
  1239 +angular.module('ScheduleApp').factory('$$SearchInfoService_g', ['$resource', function($resource) {
  1240 + return {
  1241 + xl: $resource(
  1242 + '/line/:type',
  1243 + {order: 'name', direction: 'ASC'},
  1244 + {
  1245 + list: {
  1246 + method: 'GET',
  1247 + isArray: true
  1248 + }
  1249 + }
  1250 + ),
  1251 + ry: $resource(
  1252 + '/eci/alljsy',
  1253 + {order: 'jsy.personnelName', direction: 'ASC'},
  1254 + {
  1255 + list: {
  1256 + method: 'GET',
  1257 + isArray: true
  1258 + }
  1259 + }
  1260 + ),
  1261 + ry2: $resource(
  1262 + '/personnel/:type',
  1263 + {order: 'personnelName', direction: 'ASC'},
  1264 + {
  1265 + list: {
  1266 + method: 'GET',
  1267 + isArray: true
  1268 + }
  1269 + }
  1270 + ),
  1271 + cl: $resource(
  1272 + '/cars/:type',
  1273 + {order: "insideCode", direction: 'ASC'},
  1274 + {
  1275 + list: {
  1276 + method: 'GET',
  1277 + isArray: true
  1278 + }
  1279 + }
  1280 + )
  1281 + }
  1282 +}]);
  1283 +angular.module('ScheduleApp').filter("$$pyFilter", function() {
  1284 + return function(items, props) {
  1285 + var out = [];
  1286 +
  1287 + if (angular.isArray(items)) {
  1288 + items.forEach(function(item) {
  1289 + if (props.search) {
  1290 + var upTerm = props.search.toUpperCase();
  1291 + if(item.fullChars.indexOf(upTerm) != -1
  1292 + || item.camelChars.indexOf(upTerm) != -1) {
  1293 + out.push(item);
  1294 + }
  1295 + }
  1296 + });
  1297 + }
1208 1298  
  1299 + return out;
  1300 + };
  1301 +});
  1302 +angular.module('ScheduleApp').directive("saSelect2", [
  1303 + '$timeout', '$$SearchInfoService_g',
  1304 + function($timeout, $$searchInfoService_g) {
  1305 + return {
  1306 + restrict: 'E',
  1307 + templateUrl: '/pages/scheduleApp/module/other/MySearchSelectTemplate.html',
  1308 + scope: {
  1309 + model: "=" // 独立作用域,关联外部的模型对象
  1310 + },
  1311 + controllerAs: "$saSelectCtrl",
  1312 + bindToController: true,
  1313 + controller: function($scope) {
  1314 + var self = this;
  1315 + self.$$data = []; // 内部关联的数据
  1316 + },
  1317 + /**
  1318 + * 此阶段可以改dom结构,此时angular还没扫描指令,
  1319 + * 这里就可以动态添加其他angularjs的指令字符串,如required指令字符串。
  1320 + * @param tElem
  1321 + * @param tAttrs
  1322 + * @returns {{pre: Function, post: Function}}
  1323 + */
  1324 + compile: function(tElem, tAttrs) {
  1325 + // 1、获取此阶段使用的属性
  1326 + var $required_attr = tAttrs["required"]; // 用于和表单验证连接,指定成required="true"才有效。
  1327 +
  1328 + // 2、处理属性
  1329 +
  1330 + // 确定是否使用angularjs required验证
  1331 + // 属性 required
  1332 + // 如果没有填写,内部不添加验证,如果填写了,并且等于true添加验证,否则不添加
  1333 + if ($required_attr) {
  1334 + if ($required_attr == "true") {
  1335 + // 添加required属性指令
  1336 + tElem.find("ui-select").attr("required", "");
  1337 + } else {
  1338 + // 不等于true,不添加required属性指令
  1339 + }
  1340 + } else {
  1341 + // 不添加required属性指令
  1342 + }
  1343 +
  1344 + //console.log("saSelect" + ":compile = >" + tElem.html());
  1345 +
  1346 + return {
  1347 + pre: function(scope, element, attr) {
  1348 + // TODO:
  1349 + },
  1350 + /**
  1351 + * 相当于link函数。
  1352 + *
  1353 + * 重要属性如下:
  1354 + * model 是绑定外部值。
  1355 + * dicgroup 字典组的类型
  1356 + * name input name属性值
  1357 + */
  1358 + post: function(scope, element, attr) {
  1359 + // 1、获取此阶段使用的属性
  1360 + var $name_attr = attr["name"]; // 表单验证时需要的名字
  1361 + var $type_attr = attr["type"]; // 关联的那种数据值(xl/cl/ry)-> 对应线路信息/车辆信息/人员信息,后面有的继续加
  1362 + var $modelcolname1_attr = attr["modelcolname1"]; // 关联的模型字段名字1(一般应该是编码字段)
  1363 + var $modelcolname2_attr = attr["modelcolname2"]; // 关联的模型字段名字2(一般应该是名字字段)
  1364 + var $datacolname1_attr = attr["datacolname1"]; // 内部数据对应的字段名字1(与模型字段1对应)
  1365 + var $datacolname2_attr = attr["datacolname2"]; // 内部数据对应的字段名字2(与模型字段2对应)
  1366 + var $showcolname_attr = attr["showcolname"]; // 下拉框显示的内部数据字段名
  1367 + var $placeholder_attr = attr["placeholder"]; // select placeholder字符串描述
  1368 +
  1369 + // 2、处理属性、转换成$saSelectCtrl内部使用的属性
  1370 + if ($name_attr) {
  1371 + scope["$saSelectCtrl"].$name_attr = $name_attr;
  1372 + }
  1373 + if ($placeholder_attr) {
  1374 + scope["$saSelectCtrl"].$placeholder_attr = $placeholder_attr;
  1375 + }
  1376 + if ($showcolname_attr) {
  1377 + scope["$saSelectCtrl"].$showcolname_attr = $showcolname_attr;
  1378 + }
1209 1379  
  1380 + // 2-1、添加内部方法,根据type值,改变$$data的值
  1381 + scope["$saSelectCtrl"].$$internal_data_change_fn = function() {
  1382 + // 根据type属性动态载入数据
  1383 + if ($type_attr) {
  1384 + $$searchInfoService_g[$type_attr].list(
  1385 + {type: "all"},
  1386 + function(result) {
  1387 + scope["$saSelectCtrl"].$$data = [];
  1388 + for (var i = 0; i < result.length; i ++) {
  1389 + var data = {}; // data是result的一部分属性集合,根据配置来确定
  1390 + if ($datacolname1_attr) {
  1391 + data[$datacolname1_attr] = result[i][$datacolname1_attr];
  1392 + }
  1393 + if ($datacolname2_attr) {
  1394 + data[$datacolname2_attr] = result[i][$datacolname2_attr];
  1395 + }
  1396 + if ($showcolname_attr) {
  1397 + // 动态添加基于名字的拼音
  1398 + data[$showcolname_attr] = result[i][$showcolname_attr];
  1399 + data["fullChars"] = pinyin.getFullChars(result[i][$showcolname_attr]).toUpperCase(); // 全拼
  1400 + data["camelChars"] = pinyin.getCamelChars(result[i][$showcolname_attr]); // 简拼
  1401 + }
  1402 + if (data["fullChars"])
  1403 + scope["$saSelectCtrl"].$$data.push(data);
  1404 + }
  1405 + },
  1406 + function(result) {
1210 1407  
  1408 + }
  1409 + );
  1410 + }
  1411 + };
1211 1412  
  1413 + // 3、选择、删除事件映射模型和内部数据对应的字段
  1414 + scope["$saSelectCtrl"].$select_fn_attr = function($item) {
  1415 + if ($modelcolname1_attr && $datacolname1_attr) {
  1416 + scope["$saSelectCtrl"].model[$modelcolname1_attr] = $item[$datacolname1_attr];
  1417 + }
  1418 + if ($modelcolname2_attr && $datacolname2_attr) {
  1419 + scope["$saSelectCtrl"].model[$modelcolname2_attr] = $item[$datacolname2_attr];
  1420 + }
  1421 + };
  1422 + scope["$saSelectCtrl"].$remove_fn_attr = function() {
  1423 + if ($modelcolname1_attr) {
  1424 + scope["$saSelectCtrl"].model[$modelcolname1_attr] = null;
  1425 + }
  1426 + if ($modelcolname2_attr) {
  1427 + scope["$saSelectCtrl"].model[$modelcolname2_attr] = null;
  1428 + }
  1429 + scope["$saSelectCtrl"].$$cmodel = null; // 内部模型清空
  1430 +
  1431 + scope["$saSelectCtrl"].$$internal_data_change_fn();
  1432 + };
  1433 +
  1434 + // 4、搜索事件
  1435 + scope["$saSelectCtrl"].$refreshdata_fn_attr = function($search) {
  1436 + //var fullChars = pinyin.getFullChars($search).toUpperCase();
  1437 + //var camelChars = pinyin.getCamelChars($search);
  1438 + //
  1439 + //console.log(fullChars + " " + camelChars);
  1440 + // TODO:事件暂时没用,放着以后再说
  1441 + };
1212 1442  
  1443 + // 5、全部载入后,输入的
  1444 + $timeout(function() {
  1445 + // 创建内部使用的绑定对象,用于确认选中那个值
  1446 + scope["$saSelectCtrl"].$$cmodel = scope["$saSelectCtrl"].model[$modelcolname1_attr];
  1447 +
  1448 + scope["$saSelectCtrl"].$$internal_data_change_fn();
  1449 + }, 0);
  1450 + }
  1451 + }
  1452 + }
  1453 + };
  1454 +}]);
1213 1455  
1214 1456  
1215 1457  
... ...
src/main/resources/static/pages/scheduleApp/module/other/MySearchSelectTemplate.html 0 → 100644
  1 +
  2 +<div class="input-group">
  3 + <ui-select ng-model="$saSelectCtrl.$$cmodel" on-select="$saSelectCtrl.$select_fn_attr($item)"
  4 + theme="bootstrap" name="{{$saSelectCtrl.$name_attr}}" >
  5 + <ui-select-match placeholder="{{$saSelectCtrl.$placeholder_attr}}">
  6 + <span>{{$select.selected[$saSelectCtrl.$showcolname_attr]}}</span>
  7 + </ui-select-match>
  8 + <ui-select-choices repeat="item[$saSelectCtrl.$showcolname_attr] as item in $saSelectCtrl.$$data | $$pyFilter: {search : $select.search}"
  9 + refresh="$saSelectCtrl.$refreshdata_fn_attr($select.search)"
  10 + refresh-delay="1000">
  11 + <span ng-bind="item[$saSelectCtrl.$showcolname_attr]"></span>
  12 + </ui-select-choices>
  13 + </ui-select>
  14 + <span class="input-group-btn">
  15 + <button type="button" ng-click="$saSelectCtrl.$remove_fn_attr()" class="btn btn-default">
  16 + <span class="glyphicon glyphicon-trash"></span>
  17 + </button>
  18 + </span>
  19 +</div>
... ...