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,6 +162,16 @@
162 <artifactId>jxl</artifactId> 162 <artifactId>jxl</artifactId>
163 <version>2.6.12</version> 163 <version>2.6.12</version>
164 </dependency> 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 </dependencies> 176 </dependencies>
167 177
@@ -225,4 +235,4 @@ @@ -225,4 +235,4 @@
225 <url>http://repo.spring.io/milestone</url> 235 <url>http://repo.spring.io/milestone</url>
226 </pluginRepository> 236 </pluginRepository>
227 </pluginRepositories> 237 </pluginRepositories>
228 -</project>  
229 \ No newline at end of file 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,10 +2,12 @@ package com.bsth.controller.schedule;
2 2
3 import com.bsth.controller.BaseController; 3 import com.bsth.controller.BaseController;
4 import com.bsth.entity.schedule.EmployeeConfigInfo; 4 import com.bsth.entity.schedule.EmployeeConfigInfo;
  5 +import com.bsth.repository.schedule.EmployeeConfigInfoRepository;
5 import com.bsth.service.schedule.utils.DataToolsProperties; 6 import com.bsth.service.schedule.utils.DataToolsProperties;
6 import org.springframework.beans.factory.annotation.Autowired; 7 import org.springframework.beans.factory.annotation.Autowired;
7 import org.springframework.boot.context.properties.EnableConfigurationProperties; 8 import org.springframework.boot.context.properties.EnableConfigurationProperties;
8 import org.springframework.web.bind.annotation.RequestMapping; 9 import org.springframework.web.bind.annotation.RequestMapping;
  10 +import org.springframework.web.bind.annotation.RequestMethod;
9 import org.springframework.web.bind.annotation.RestController; 11 import org.springframework.web.bind.annotation.RestController;
10 12
11 /** 13 /**
@@ -17,9 +19,23 @@ import org.springframework.web.bind.annotation.RestController; @@ -17,9 +19,23 @@ import org.springframework.web.bind.annotation.RestController;
17 public class EmployeeConfigInfoController extends BaseController<EmployeeConfigInfo, Long> { 19 public class EmployeeConfigInfoController extends BaseController<EmployeeConfigInfo, Long> {
18 @Autowired 20 @Autowired
19 private DataToolsProperties dataToolsProperties; 21 private DataToolsProperties dataToolsProperties;
  22 + @Autowired
  23 + private EmployeeConfigInfoRepository employeeConfigInfoRepository;
20 24
21 @Override 25 @Override
22 protected String getDataImportKtrClasspath() { 26 protected String getDataImportKtrClasspath() {
23 return dataToolsProperties.getEmployeesconfigDatainputktr(); 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,7 +14,7 @@ import java.util.Date;
14 @Entity 14 @Entity
15 @Table(name = "bsth_c_s_ecinfo") 15 @Table(name = "bsth_c_s_ecinfo")
16 @NamedEntityGraphs({ 16 @NamedEntityGraphs({
17 - @NamedEntityGraph(name = "employeeConfigInfo_xl_cl", attributeNodes = { 17 + @NamedEntityGraph(name = "employeeConfigInfo_jsy_spy_xl", attributeNodes = {
18 @NamedAttributeNode("jsy"), 18 @NamedAttributeNode("jsy"),
19 @NamedAttributeNode("spy"), 19 @NamedAttributeNode("spy"),
20 @NamedAttributeNode("xl") 20 @NamedAttributeNode("xl")
src/main/java/com/bsth/repository/schedule/EmployeeConfigInfoRepository.java
@@ -22,7 +22,11 @@ public interface EmployeeConfigInfoRepository extends BaseRepository&lt;EmployeeCon @@ -22,7 +22,11 @@ public interface EmployeeConfigInfoRepository extends BaseRepository&lt;EmployeeCon
22 @Query("select ec from EmployeeConfigInfo ec where ec.xl.lineCode=?1") 22 @Query("select ec from EmployeeConfigInfo ec where ec.xl.lineCode=?1")
23 List<EmployeeConfigInfo> findBylineCode(String lineCode); 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 @Override 26 @Override
27 Page<EmployeeConfigInfo> findAll(Specification<EmployeeConfigInfo> spec, Pageable pageable); 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,30 +5,47 @@ import org.pentaho.di.core.KettleEnvironment;
5 import org.pentaho.di.core.util.EnvUtil; 5 import org.pentaho.di.core.util.EnvUtil;
6 import org.pentaho.di.trans.Trans; 6 import org.pentaho.di.trans.Trans;
7 import org.pentaho.di.trans.TransMeta; 7 import org.pentaho.di.trans.TransMeta;
  8 +import org.springframework.beans.factory.InitializingBean;
8 import org.springframework.beans.factory.annotation.Autowired; 9 import org.springframework.beans.factory.annotation.Autowired;
9 import org.springframework.boot.context.properties.EnableConfigurationProperties; 10 import org.springframework.boot.context.properties.EnableConfigurationProperties;
10 import org.springframework.stereotype.Service; 11 import org.springframework.stereotype.Service;
11 import org.springframework.web.multipart.MultipartFile; 12 import org.springframework.web.multipart.MultipartFile;
12 13
13 import java.io.File; 14 import java.io.File;
  15 +import java.util.HashMap;
  16 +import java.util.Map;
14 17
15 /** 18 /**
16 * Created by xu on 16/6/23. 19 * Created by xu on 16/6/23.
17 */ 20 */
18 @Service 21 @Service
19 @EnableConfigurationProperties(DataToolsProperties.class) 22 @EnableConfigurationProperties(DataToolsProperties.class)
20 -public class DataImportExportServiceImpl implements DataImportExportService { 23 +public class DataImportExportServiceImpl implements DataImportExportService, InitializingBean {
21 24
22 @Autowired 25 @Autowired
23 private DataToolsProperties dataToolsProperties; 26 private DataToolsProperties dataToolsProperties;
24 27
25 @Override 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 public File uploadFile(MultipartFile file) throws Exception { 42 public File uploadFile(MultipartFile file) throws Exception {
27 // TODO:以后的文件名要加时间戳 43 // TODO:以后的文件名要加时间戳
28 File newFile = new File( 44 File newFile = new File(
29 dataToolsProperties.getFileuploadDir() + File.separator + 45 dataToolsProperties.getFileuploadDir() + File.separator +
30 file.getOriginalFilename()); 46 file.getOriginalFilename());
31 Files.write(file.getBytes(), newFile); 47 Files.write(file.getBytes(), newFile);
  48 +
32 return newFile; 49 return newFile;
33 } 50 }
34 51
@@ -38,9 +55,7 @@ public class DataImportExportServiceImpl implements DataImportExportService { @@ -38,9 +55,7 @@ public class DataImportExportServiceImpl implements DataImportExportService {
38 File uploadFile = uploadFile(datafile); 55 File uploadFile = uploadFile(datafile);
39 56
40 // 2、使用kettle运行封装数据导入逻辑的ktr转换文件 57 // 2、使用kettle运行封装数据导入逻辑的ktr转换文件
41 - // 2.1、初始化kettle  
42 - EnvUtil.environmentInit();  
43 - KettleEnvironment.init(); 58 + // 2.1、初始化kettle(组件初始化已经做了)
44 // 2.2、创建转换元数据,转换 59 // 2.2、创建转换元数据,转换
45 TransMeta transMeta = new TransMeta(ktrFile.getAbsolutePath()); 60 TransMeta transMeta = new TransMeta(ktrFile.getAbsolutePath());
46 Trans trans = new Trans(transMeta); 61 Trans trans = new Trans(transMeta);
src/main/java/com/bsth/service/schedule/utils/DataToolsProperties.java
@@ -22,6 +22,16 @@ public class DataToolsProperties { @@ -22,6 +22,16 @@ public class DataToolsProperties {
22 @NotNull 22 @NotNull
23 private String transErrordir; 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 /** 测试temp的ktr转换文件 */ 35 /** 测试temp的ktr转换文件 */
26 @NotNull 36 @NotNull
27 private String tempDatainputktr; 37 private String tempDatainputktr;
@@ -43,6 +53,12 @@ public class DataToolsProperties { @@ -43,6 +53,12 @@ public class DataToolsProperties {
43 /** 时刻表基础信息导入 */ 53 /** 时刻表基础信息导入 */
44 @NotNull 54 @NotNull
45 private String ttinfoDatainputktr; 55 private String ttinfoDatainputktr;
  56 + /** 时刻表明细信息导入(元数据) */
  57 + @NotNull
  58 + private String ttinfodetailMetadatainputktr;
  59 + /** 时刻表明细信息导入 */
  60 + @NotNull
  61 + private String ttinfodetailDatainputktr;
46 62
47 // TODO: 63 // TODO:
48 64
@@ -74,6 +90,14 @@ public class DataToolsProperties { @@ -74,6 +90,14 @@ public class DataToolsProperties {
74 return carsDatainputktr; 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 public void setCarsDatainputktr(String carsDatainputktr) { 101 public void setCarsDatainputktr(String carsDatainputktr) {
78 this.carsDatainputktr = carsDatainputktr; 102 this.carsDatainputktr = carsDatainputktr;
79 } 103 }
@@ -114,7 +138,39 @@ public class DataToolsProperties { @@ -114,7 +138,39 @@ public class DataToolsProperties {
114 return ttinfoDatainputktr; 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 public void setTtinfoDatainputktr(String ttinfoDatainputktr) { 165 public void setTtinfoDatainputktr(String ttinfoDatainputktr) {
118 this.ttinfoDatainputktr = ttinfoDatainputktr; 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,6 +5,14 @@ datatools.fileupload_dir=/Users/xu/resource/project/bsth_control_u_d_files
5 # ktr转换文件,中配置的错误输出目录(根据不同的环境需要修正) 5 # ktr转换文件,中配置的错误输出目录(根据不同的环境需要修正)
6 datatools.trans_errordir=/Users/xu/resource/project/bsth_control_u_d_files/erroroutput 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 # 以下是封装数据导入导出逻辑的ktr转换文件,类路径,以后考虑放到数据库中 16 # 以下是封装数据导入导出逻辑的ktr转换文件,类路径,以后考虑放到数据库中
9 # 测试temp的ktr转换文件 17 # 测试temp的ktr转换文件
10 datatools.temp_datainputktr=/datatools/ktrs/test.ktr 18 datatools.temp_datainputktr=/datatools/ktrs/test.ktr
@@ -16,7 +24,10 @@ datatools.employees_datainputktr=/datatools/ktrs/employeesDataInput.ktr @@ -16,7 +24,10 @@ datatools.employees_datainputktr=/datatools/ktrs/employeesDataInput.ktr
16 datatools.guideboards_datainputktr=/datatools/ktrs/guideboardDataInput.ktr 24 datatools.guideboards_datainputktr=/datatools/ktrs/guideboardDataInput.ktr
17 # 时刻表基础信息导入 25 # 时刻表基础信息导入
18 datatools.ttinfo_datainputktr=/datatools/ktrs/ttinfoDataInput.ktr 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 datatools.carsconfig_datainputktr=/datatools/ktrs/carsConfigDataInput.ktr 33 datatools.carsconfig_datainputktr=/datatools/ktrs/carsConfigDataInput.ktr
src/main/resources/datatools/ktrs/carsConfigDataInput.ktr
@@ -80,7 +80,7 @@ @@ -80,7 +80,7 @@
80 <created_date>2016&#x2f;06&#x2f;29 13&#x3a;15&#x3a;32.118</created_date> 80 <created_date>2016&#x2f;06&#x2f;29 13&#x3a;15&#x3a;32.118</created_date>
81 <modified_user>-</modified_user> 81 <modified_user>-</modified_user>
82 <modified_date>2016&#x2f;06&#x2f;29 13&#x3a;15&#x3a;32.118</modified_date> 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 <is_key_private>N</is_key_private> 84 <is_key_private>N</is_key_private>
85 </info> 85 </info>
86 <notepads> 86 <notepads>
@@ -107,14 +107,68 @@ @@ -107,14 +107,68 @@
107 </notepad> 107 </notepad>
108 </notepads> 108 </notepads>
109 <connection> 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 <name>bus_control_&#x516c;&#x53f8;_201</name> 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 <type>MYSQL</type> 166 <type>MYSQL</type>
113 <access>Native</access> 167 <access>Native</access>
114 <database>control</database> 168 <database>control</database>
115 <port>3306</port> 169 <port>3306</port>
116 <username>root</username> 170 <username>root</username>
117 - <password>Encrypted 2be98afc86aa7f2e4cb79ff228dc6fa8c</password> 171 + <password>Encrypted </password>
118 <servername/> 172 <servername/>
119 <data_tablespace/> 173 <data_tablespace/>
120 <index_tablespace/> 174 <index_tablespace/>
@@ -400,7 +454,7 @@ @@ -400,7 +454,7 @@
400 <method>none</method> 454 <method>none</method>
401 <schema_name/> 455 <schema_name/>
402 </partitioning> 456 </partitioning>
403 - <connection>bus_control_&#x516c;&#x53f8;_201</connection> 457 + <connection>bus_control_variable</connection>
404 <commit>100</commit> 458 <commit>100</commit>
405 <update_bypassed>N</update_bypassed> 459 <update_bypassed>N</update_bypassed>
406 <lookup> 460 <lookup>
@@ -501,7 +555,7 @@ @@ -501,7 +555,7 @@
501 <method>none</method> 555 <method>none</method>
502 <schema_name/> 556 <schema_name/>
503 </partitioning> 557 </partitioning>
504 - <connection>bus_control_&#x516c;&#x53f8;_201</connection> 558 + <connection>bus_control_variable</connection>
505 <cache>N</cache> 559 <cache>N</cache>
506 <cache_load_all>N</cache_load_all> 560 <cache_load_all>N</cache_load_all>
507 <cache_size>0</cache_size> 561 <cache_size>0</cache_size>
@@ -543,7 +597,7 @@ @@ -543,7 +597,7 @@
543 <method>none</method> 597 <method>none</method>
544 <schema_name/> 598 <schema_name/>
545 </partitioning> 599 </partitioning>
546 - <connection>bus_control_&#x516c;&#x53f8;_201</connection> 600 + <connection>bus_control_variable</connection>
547 <cache>N</cache> 601 <cache>N</cache>
548 <cache_load_all>N</cache_load_all> 602 <cache_load_all>N</cache_load_all>
549 <cache_size>0</cache_size> 603 <cache_size>0</cache_size>
@@ -575,6 +629,51 @@ @@ -575,6 +629,51 @@
575 </step> 629 </step>
576 630
577 <step> 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 <name>&#x9519;&#x8bef;&#x8f93;&#x51fa;</name> 677 <name>&#x9519;&#x8bef;&#x8f93;&#x51fa;</name>
579 <type>ExcelOutput</type> 678 <type>ExcelOutput</type>
580 <description/> 679 <description/>
@@ -701,51 +800,6 @@ @@ -701,51 +800,6 @@
701 </GUI> 800 </GUI>
702 </step> 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 <step_error_handling> 803 <step_error_handling>
750 <error> 804 <error>
751 <source_step>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ccinfo</source_step> 805 <source_step>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ccinfo</source_step>
src/main/resources/datatools/ktrs/carsDataInput.ktr
1 -<<<<<<< HEAD  
2 <?xml version="1.0" encoding="UTF-8"?> 1 <?xml version="1.0" encoding="UTF-8"?>
3 <transformation> 2 <transformation>
4 <info> 3 <info>
@@ -108,14 +107,68 @@ @@ -108,14 +107,68 @@
108 </notepad> 107 </notepad>
109 </notepads> 108 </notepads>
110 <connection> 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 <name>bus_control_&#x516c;&#x53f8;_201</name> 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 <type>MYSQL</type> 166 <type>MYSQL</type>
114 <access>Native</access> 167 <access>Native</access>
115 <database>control</database> 168 <database>control</database>
116 <port>3306</port> 169 <port>3306</port>
117 <username>root</username> 170 <username>root</username>
118 - <password>Encrypted 2be98afc86aa7f2e4cb79ff228dc6fa8c</password> 171 + <password>Encrypted </password>
119 <servername/> 172 <servername/>
120 <data_tablespace/> 173 <data_tablespace/>
121 <index_tablespace/> 174 <index_tablespace/>
@@ -924,21 +977,15 @@ @@ -924,21 +977,15 @@
924 <method>none</method> 977 <method>none</method>
925 <schema_name/> 978 <schema_name/>
926 </partitioning> 979 </partitioning>
927 - <connection>bus_control_&#x516c;&#x53f8;_201</connection> 980 + <connection>bus_control_variable</connection>
928 <commit>1000</commit> 981 <commit>1000</commit>
929 <update_bypassed>N</update_bypassed> 982 <update_bypassed>N</update_bypassed>
930 <lookup> 983 <lookup>
931 <schema/> 984 <schema/>
932 <table>bsth_c_cars</table> 985 <table>bsth_c_cars</table>
933 <key> 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 <condition>&#x3d;</condition> 989 <condition>&#x3d;</condition>
943 <name2/> 990 <name2/>
944 </key> 991 </key>
@@ -1650,1650 +1697,3 @@ @@ -1650,1650 +1697,3 @@
1650 <slave_transformation>N</slave_transformation> 1697 <slave_transformation>N</slave_transformation>
1651 1698
1652 </transformation> 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,7 +80,7 @@
80 <created_date>2016&#x2f;06&#x2f;29 15&#x3a;12&#x3a;27.273</created_date> 80 <created_date>2016&#x2f;06&#x2f;29 15&#x3a;12&#x3a;27.273</created_date>
81 <modified_user>-</modified_user> 81 <modified_user>-</modified_user>
82 <modified_date>2016&#x2f;06&#x2f;29 15&#x3a;12&#x3a;27.273</modified_date> 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 <is_key_private>N</is_key_private> 84 <is_key_private>N</is_key_private>
85 </info> 85 </info>
86 <notepads> 86 <notepads>
@@ -107,14 +107,68 @@ @@ -107,14 +107,68 @@
107 </notepad> 107 </notepad>
108 </notepads> 108 </notepads>
109 <connection> 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 <name>bus_control_&#x516c;&#x53f8;_201</name> 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 <type>MYSQL</type> 166 <type>MYSQL</type>
113 <access>Native</access> 167 <access>Native</access>
114 <database>control</database> 168 <database>control</database>
115 <port>3306</port> 169 <port>3306</port>
116 <username>root</username> 170 <username>root</username>
117 - <password>Encrypted 2be98afc86aa7f2e4cb79ff228dc6fa8c</password> 171 + <password>Encrypted </password>
118 <servername/> 172 <servername/>
119 <data_tablespace/> 173 <data_tablespace/>
120 <index_tablespace/> 174 <index_tablespace/>
@@ -432,7 +486,7 @@ @@ -432,7 +486,7 @@
432 <method>none</method> 486 <method>none</method>
433 <schema_name/> 487 <schema_name/>
434 </partitioning> 488 </partitioning>
435 - <connection>bus_control_&#x516c;&#x53f8;_201</connection> 489 + <connection>bus_control_variable</connection>
436 <commit>100</commit> 490 <commit>100</commit>
437 <update_bypassed>N</update_bypassed> 491 <update_bypassed>N</update_bypassed>
438 <lookup> 492 <lookup>
@@ -496,7 +550,7 @@ @@ -496,7 +550,7 @@
496 <method>none</method> 550 <method>none</method>
497 <schema_name/> 551 <schema_name/>
498 </partitioning> 552 </partitioning>
499 - <connection>bus_control_&#x516c;&#x53f8;_201</connection> 553 + <connection>bus_control_variable</connection>
500 <cache>N</cache> 554 <cache>N</cache>
501 <cache_load_all>N</cache_load_all> 555 <cache_load_all>N</cache_load_all>
502 <cache_size>0</cache_size> 556 <cache_size>0</cache_size>
@@ -538,7 +592,7 @@ @@ -538,7 +592,7 @@
538 <method>none</method> 592 <method>none</method>
539 <schema_name/> 593 <schema_name/>
540 </partitioning> 594 </partitioning>
541 - <connection>bus_control_&#x516c;&#x53f8;_201</connection> 595 + <connection>bus_control_variable</connection>
542 <cache>N</cache> 596 <cache>N</cache>
543 <cache_load_all>N</cache_load_all> 597 <cache_load_all>N</cache_load_all>
544 <cache_size>0</cache_size> 598 <cache_size>0</cache_size>
@@ -580,7 +634,7 @@ @@ -580,7 +634,7 @@
580 <method>none</method> 634 <method>none</method>
581 <schema_name/> 635 <schema_name/>
582 </partitioning> 636 </partitioning>
583 - <connection>bus_control_&#x516c;&#x53f8;_201</connection> 637 + <connection>bus_control_variable</connection>
584 <cache>N</cache> 638 <cache>N</cache>
585 <cache_load_all>N</cache_load_all> 639 <cache_load_all>N</cache_load_all>
586 <cache_size>0</cache_size> 640 <cache_size>0</cache_size>
@@ -612,6 +666,51 @@ @@ -612,6 +666,51 @@
612 </step> 666 </step>
613 667
614 <step> 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 <name>&#x9519;&#x8bef;&#x8f93;&#x51fa;</name> 714 <name>&#x9519;&#x8bef;&#x8f93;&#x51fa;</name>
616 <type>ExcelOutput</type> 715 <type>ExcelOutput</type>
617 <description/> 716 <description/>
@@ -748,51 +847,6 @@ @@ -748,51 +847,6 @@
748 </GUI> 847 </GUI>
749 </step> 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 <step_error_handling> 850 <step_error_handling>
797 <error> 851 <error>
798 <source_step>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ecinfo</source_step> 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,7 +80,7 @@
80 <created_date>2016&#x2f;06&#x2f;29 17&#x3a;00&#x3a;01.094</created_date> 80 <created_date>2016&#x2f;06&#x2f;29 17&#x3a;00&#x3a;01.094</created_date>
81 <modified_user>-</modified_user> 81 <modified_user>-</modified_user>
82 <modified_date>2016&#x2f;06&#x2f;29 17&#x3a;00&#x3a;01.094</modified_date> 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 <is_key_private>N</is_key_private> 84 <is_key_private>N</is_key_private>
85 </info> 85 </info>
86 <notepads> 86 <notepads>
@@ -107,14 +107,68 @@ @@ -107,14 +107,68 @@
107 </notepad> 107 </notepad>
108 </notepads> 108 </notepads>
109 <connection> 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 <name>bus_control_&#x516c;&#x53f8;_201</name> 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 <type>MYSQL</type> 166 <type>MYSQL</type>
113 <access>Native</access> 167 <access>Native</access>
114 <database>control</database> 168 <database>control</database>
115 <port>3306</port> 169 <port>3306</port>
116 <username>root</username> 170 <username>root</username>
117 - <password>Encrypted 2be98afc86aa7f2e4cb79ff228dc6fa8c</password> 171 + <password>Encrypted </password>
118 <servername/> 172 <servername/>
119 <data_tablespace/> 173 <data_tablespace/>
120 <index_tablespace/> 174 <index_tablespace/>
@@ -310,7 +364,7 @@ @@ -310,7 +364,7 @@
310 <method>none</method> 364 <method>none</method>
311 <schema_name/> 365 <schema_name/>
312 </partitioning> 366 </partitioning>
313 - <connection>bus_control_&#x516c;&#x53f8;_201</connection> 367 + <connection>bus_control_variable</connection>
314 <commit>100</commit> 368 <commit>100</commit>
315 <update_bypassed>N</update_bypassed> 369 <update_bypassed>N</update_bypassed>
316 <lookup> 370 <lookup>
@@ -368,7 +422,7 @@ @@ -368,7 +422,7 @@
368 <method>none</method> 422 <method>none</method>
369 <schema_name/> 423 <schema_name/>
370 </partitioning> 424 </partitioning>
371 - <connection>bus_control_&#x516c;&#x53f8;_201</connection> 425 + <connection>bus_control_variable</connection>
372 <cache>N</cache> 426 <cache>N</cache>
373 <cache_load_all>N</cache_load_all> 427 <cache_load_all>N</cache_load_all>
374 <cache_size>0</cache_size> 428 <cache_size>0</cache_size>
@@ -400,6 +454,51 @@ @@ -400,6 +454,51 @@
400 </step> 454 </step>
401 455
402 <step> 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 <name>&#x8def;&#x724c;_85&#x8def;Excel&#x8f93;&#x5165;</name> 502 <name>&#x8def;&#x724c;_85&#x8def;Excel&#x8f93;&#x5165;</name>
404 <type>ExcelInput</type> 503 <type>ExcelInput</type>
405 <description/> 504 <description/>
@@ -627,51 +726,6 @@ @@ -627,51 +726,6 @@
627 </GUI> 726 </GUI>
628 </step> 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 <step_error_handling> 729 <step_error_handling>
676 <error> 730 <error>
677 <source_step>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_gbi</source_step> 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,31 +9,6 @@
9 <trans_status>0</trans_status> 9 <trans_status>0</trans_status>
10 <directory>&#x2f;</directory> 10 <directory>&#x2f;</directory>
11 <parameters> 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 </parameters> 12 </parameters>
38 <log> 13 <log>
39 <trans-log-table><connection/> 14 <trans-log-table><connection/>
@@ -95,20 +70,116 @@ @@ -95,20 +70,116 @@
95 <created_date>2016&#x2f;06&#x2f;30 12&#x3a;21&#x3a;57.536</created_date> 70 <created_date>2016&#x2f;06&#x2f;30 12&#x3a;21&#x3a;57.536</created_date>
96 <modified_user>-</modified_user> 71 <modified_user>-</modified_user>
97 <modified_date>2016&#x2f;06&#x2f;30 12&#x3a;21&#x3a;57.536</modified_date> 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 <is_key_private>N</is_key_private> 74 <is_key_private>N</is_key_private>
100 </info> 75 </info>
101 <notepads> 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 </notepads> 119 </notepads>
103 <connection> 120 <connection>
104 <name>bus_control_&#x516c;&#x53f8;_201</name> 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 <type>MYSQL</type> 177 <type>MYSQL</type>
107 <access>Native</access> 178 <access>Native</access>
108 <database>control</database> 179 <database>control</database>
109 <port>3306</port> 180 <port>3306</port>
110 <username>root</username> 181 <username>root</username>
111 - <password>Encrypted 2be98afc86aa7f2e4cb79ff228dc6fa8c</password> 182 + <password>Encrypted </password>
112 <servername/> 183 <servername/>
113 <data_tablespace/> 184 <data_tablespace/>
114 <index_tablespace/> 185 <index_tablespace/>
@@ -208,46 +279,48 @@ @@ -208,46 +279,48 @@
208 </connection> 279 </connection>
209 <order> 280 <order>
210 <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> 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 <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> 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 <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> 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 <hop> <from>&#x6dfb;&#x52a0;&#x5bf9;&#x5e94;&#x73ed;&#x6b21;&#x6570;</from><to>&#x5904;&#x7406;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop> 284 <hop> <from>&#x6dfb;&#x52a0;&#x5bf9;&#x5e94;&#x73ed;&#x6b21;&#x6570;</from><to>&#x5904;&#x7406;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
216 <hop> <from>&#x5904;&#x7406;&#x6570;&#x636e;</from><to>&#x5206;&#x7ec4;&#x5404;&#x4e2a;&#x8def;&#x724c;&#x7684;&#x7ad9;</to><enabled>Y</enabled> </hop> 285 <hop> <from>&#x5904;&#x7406;&#x6570;&#x636e;</from><to>&#x5206;&#x7ec4;&#x5404;&#x4e2a;&#x8def;&#x724c;&#x7684;&#x7ad9;</to><enabled>Y</enabled> </hop>
217 <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> 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 <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> 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 <hop> <from>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178;</from><to>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178;</to><enabled>Y</enabled> </hop> 288 <hop> <from>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178;</from><to>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178;</to><enabled>Y</enabled> </hop>
222 <hop> <from>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 2</from><to>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 2</to><enabled>Y</enabled> </hop> 289 <hop> <from>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 2</from><to>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 2</to><enabled>Y</enabled> </hop>
223 <hop> <from>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 3</from><to>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 3</to><enabled>Y</enabled> </hop> 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 <hop> <from>&#x5339;&#x914d;&#x4e0a;&#x4e0b;&#x884c;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x7c7b;&#x578b;&#x4fee;&#x6b63;</to><enabled>Y</enabled> </hop> 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 <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> 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 <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> 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 <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> 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 <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> 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 <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> 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 <hop> <from>&#x67e5;&#x627e;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;</from><to>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178;</to><enabled>Y</enabled> </hop> 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 <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> 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 <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> 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 <hop> <from>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x6570;&#x636e;</from><to>&#x6b63;&#x5e38;&#x73ed;&#x6b21;_&#x5904;&#x7406;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop> 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 <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> 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 <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> 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 <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> 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 <hop> <from>&#x67e5;&#x627e;&#x8def;&#x724c;&#x5173;&#x8054;</from><to>&#x8ba1;&#x7b97;&#x73ed;&#x6b21;&#x7c7b;&#x578b;</to><enabled>Y</enabled> </hop> 304 <hop> <from>&#x67e5;&#x627e;&#x8def;&#x724c;&#x5173;&#x8054;</from><to>&#x8ba1;&#x7b97;&#x73ed;&#x6b21;&#x7c7b;&#x578b;</to><enabled>Y</enabled> </hop>
246 <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> 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 </order> 320 </order>
248 <step> 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 <description/> 324 <description/>
252 <distribute>Y</distribute> 325 <distribute>Y</distribute>
253 <custom_distribution/> 326 <custom_distribution/>
@@ -256,548 +329,130 @@ @@ -256,548 +329,130 @@
256 <method>none</method> 329 <method>none</method>
257 <schema_name/> 330 <schema_name/>
258 </partitioning> 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 <fields> 335 <fields>
282 <field> 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 </field> 339 </field>
462 <field> 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 </field> 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 <field> 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 </field> 371 </field>
486 <field> 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 </field> 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 <field> 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 </field> 403 </field>
510 <field> 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 </field> 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 <type>String</type> 435 <type>String</type>
525 <length>-1</length> 436 <length>-1</length>
526 <precision>-1</precision> 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 <type>String</type> 441 <type>String</type>
537 <length>-1</length> 442 <length>-1</length>
538 <precision>-1</precision> 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 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> 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 <draw>Y</draw> 449 <draw>Y</draw>
795 </GUI> 450 </GUI>
796 </step> 451 </step>
797 452
798 <step> 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 <description/> 456 <description/>
802 <distribute>Y</distribute> 457 <distribute>Y</distribute>
803 <custom_distribution/> 458 <custom_distribution/>
@@ -806,29 +461,16 @@ @@ -806,29 +461,16 @@
806 <method>none</method> 461 <method>none</method>
807 <schema_name/> 462 <schema_name/>
808 </partitioning> 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 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> 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 <draw>Y</draw> 468 <draw>Y</draw>
827 </GUI> 469 </GUI>
828 </step> 470 </step>
829 471
830 <step> 472 <step>
831 - <name>&#x6dfb;&#x52a0;&#x53d1;&#x8f66;&#x987a;&#x5e8f;&#x53f7;</name> 473 + <name>&#x5206;&#x7ec4;&#x5404;&#x4e2a;&#x8def;&#x724c;&#x7684;&#x7ad9;</name>
832 <type>GroupBy</type> 474 <type>GroupBy</type>
833 <description/> 475 <description/>
834 <distribute>Y</distribute> 476 <distribute>Y</distribute>
@@ -844,7 +486,7 @@ @@ -844,7 +486,7 @@
844 <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory> 486 <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
845 <prefix>grp</prefix> 487 <prefix>grp</prefix>
846 <add_linenr>Y</add_linenr> 488 <add_linenr>Y</add_linenr>
847 - <linenr_fieldname>fcno</linenr_fieldname> 489 + <linenr_fieldname>gno</linenr_fieldname>
848 <give_back_row>N</give_back_row> 490 <give_back_row>N</give_back_row>
849 <group> 491 <group>
850 <field> 492 <field>
@@ -852,18 +494,24 @@ @@ -852,18 +494,24 @@
852 </field> 494 </field>
853 </group> 495 </group>
854 <fields> 496 <fields>
  497 + <field>
  498 + <aggregate>qdzgroups</aggregate>
  499 + <subject>qdzname</subject>
  500 + <type>CONCAT_STRING</type>
  501 + <valuefield>,</valuefield>
  502 + </field>
855 </fields> 503 </fields>
856 <cluster_schema/> 504 <cluster_schema/>
857 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> 505 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
858 - <xloc>442</xloc> 506 + <xloc>892</xloc>
859 <yloc>44</yloc> 507 <yloc>44</yloc>
860 <draw>Y</draw> 508 <draw>Y</draw>
861 </GUI> 509 </GUI>
862 </step> 510 </step>
863 511
864 <step> 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 <description/> 515 <description/>
868 <distribute>Y</distribute> 516 <distribute>Y</distribute>
869 <custom_distribution/> 517 <custom_distribution/>
@@ -872,27 +520,34 @@ @@ -872,27 +520,34 @@
872 <method>none</method> 520 <method>none</method>
873 <schema_name/> 521 <schema_name/>
874 </partitioning> 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 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> 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 <draw>Y</draw> 544 <draw>Y</draw>
890 </GUI> 545 </GUI>
891 </step> 546 </step>
892 547
893 <step> 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 <description/> 551 <description/>
897 <distribute>Y</distribute> 552 <distribute>Y</distribute>
898 <custom_distribution/> 553 <custom_distribution/>
@@ -901,22 +556,15 @@ @@ -901,22 +556,15 @@
901 <method>none</method> 556 <method>none</method>
902 <schema_name/> 557 <schema_name/>
903 </partitioning> 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 <cluster_schema/> 564 <cluster_schema/>
917 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> 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 <draw>Y</draw> 568 <draw>Y</draw>
921 </GUI> 569 </GUI>
922 </step> 570 </step>
@@ -952,8 +600,8 @@ @@ -952,8 +600,8 @@
952 </step> 600 </step>
953 601
954 <step> 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 <description/> 605 <description/>
958 <distribute>Y</distribute> 606 <distribute>Y</distribute>
959 <custom_distribution/> 607 <custom_distribution/>
@@ -962,38 +610,59 @@ @@ -962,38 +610,59 @@
962 <method>none</method> 610 <method>none</method>
963 <schema_name/> 611 <schema_name/>
964 </partitioning> 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 <cluster_schema/> 655 <cluster_schema/>
987 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> 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 <draw>Y</draw> 659 <draw>Y</draw>
991 </GUI> 660 </GUI>
992 </step> 661 </step>
993 662
994 <step> 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 <description/> 666 <description/>
998 <distribute>Y</distribute> 667 <distribute>Y</distribute>
999 <custom_distribution/> 668 <custom_distribution/>
@@ -1002,249 +671,27 @@ @@ -1002,249 +671,27 @@
1002 <method>none</method> 671 <method>none</method>
1003 <schema_name/> 672 <schema_name/>
1004 </partitioning> 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 <cluster_schema/> 684 <cluster_schema/>
1238 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> 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 <draw>Y</draw> 688 <draw>Y</draw>
1242 </GUI> 689 </GUI>
1243 </step> 690 </step>
1244 691
1245 <step> 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 <description/> 695 <description/>
1249 <distribute>Y</distribute> 696 <distribute>Y</distribute>
1250 <custom_distribution/> 697 <custom_distribution/>
@@ -1253,165 +700,66 @@ @@ -1253,165 +700,66 @@
1253 <method>none</method> 700 <method>none</method>
1254 <schema_name/> 701 <schema_name/>
1255 </partitioning> 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 <fields> 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 </fields> 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 <cluster_schema/> 752 <cluster_schema/>
1270 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> 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 <draw>Y</draw> 756 <draw>Y</draw>
1409 </GUI> 757 </GUI>
1410 </step> 758 </step>
1411 759
1412 <step> 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 <description/> 763 <description/>
1416 <distribute>Y</distribute> 764 <distribute>Y</distribute>
1417 <custom_distribution/> 765 <custom_distribution/>
@@ -1420,27 +768,40 @@ @@ -1420,27 +768,40 @@
1420 <method>none</method> 768 <method>none</method>
1421 <schema_name/> 769 <schema_name/>
1422 </partitioning> 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 <cluster_schema/> 794 <cluster_schema/>
1434 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> 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 <draw>Y</draw> 798 <draw>Y</draw>
1438 </GUI> 799 </GUI>
1439 </step> 800 </step>
1440 801
1441 <step> 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 <description/> 805 <description/>
1445 <distribute>Y</distribute> 806 <distribute>Y</distribute>
1446 <custom_distribution/> 807 <custom_distribution/>
@@ -1449,26 +810,39 @@ @@ -1449,26 +810,39 @@
1449 <method>none</method> 810 <method>none</method>
1450 <schema_name/> 811 <schema_name/>
1451 </partitioning> 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 <cluster_schema/> 836 <cluster_schema/>
1463 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> 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 <draw>Y</draw> 840 <draw>Y</draw>
1467 </GUI> 841 </GUI>
1468 </step> 842 </step>
1469 843
1470 <step> 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 <type>DBLookup</type> 846 <type>DBLookup</type>
1473 <description/> 847 <description/>
1474 <distribute>Y</distribute> 848 <distribute>Y</distribute>
@@ -1478,39 +852,57 @@ @@ -1478,39 +852,57 @@
1478 <method>none</method> 852 <method>none</method>
1479 <schema_name/> 853 <schema_name/>
1480 </partitioning> 854 </partitioning>
1481 - <connection>bus_control_&#x516c;&#x53f8;_201</connection> 855 + <connection>bus_control_variable</connection>
1482 <cache>N</cache> 856 <cache>N</cache>
1483 <cache_load_all>N</cache_load_all> 857 <cache_load_all>N</cache_load_all>
1484 <cache_size>0</cache_size> 858 <cache_size>0</cache_size>
1485 <lookup> 859 <lookup>
1486 <schema/> 860 <schema/>
1487 - <table>bsth_c_car_park</table> 861 + <table>bsth_c_stationroute</table>
1488 <orderby/> 862 <orderby/>
1489 <fail_on_multiple>N</fail_on_multiple> 863 <fail_on_multiple>N</fail_on_multiple>
1490 <eat_row_on_failure>N</eat_row_on_failure> 864 <eat_row_on_failure>N</eat_row_on_failure>
1491 <key> 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 <condition>&#x3d;</condition> 880 <condition>&#x3d;</condition>
1495 <name2/> 881 <name2/>
1496 </key> 882 </key>
1497 <value> 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 <default/> 892 <default/>
1501 <type>Integer</type> 893 <type>Integer</type>
1502 </value> 894 </value>
1503 </lookup> 895 </lookup>
1504 <cluster_schema/> 896 <cluster_schema/>
1505 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> 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 <draw>Y</draw> 900 <draw>Y</draw>
1509 </GUI> 901 </GUI>
1510 </step> 902 </step>
1511 903
1512 <step> 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 <type>DBLookup</type> 906 <type>DBLookup</type>
1515 <description/> 907 <description/>
1516 <distribute>Y</distribute> 908 <distribute>Y</distribute>
@@ -1520,33 +912,39 @@ @@ -1520,33 +912,39 @@
1520 <method>none</method> 912 <method>none</method>
1521 <schema_name/> 913 <schema_name/>
1522 </partitioning> 914 </partitioning>
1523 - <connection>bus_control_&#x516c;&#x53f8;_201</connection> 915 + <connection>bus_control_variable</connection>
1524 <cache>N</cache> 916 <cache>N</cache>
1525 <cache_load_all>N</cache_load_all> 917 <cache_load_all>N</cache_load_all>
1526 <cache_size>0</cache_size> 918 <cache_size>0</cache_size>
1527 <lookup> 919 <lookup>
1528 <schema/> 920 <schema/>
1529 - <table>bsth_c_car_park</table> 921 + <table>bsth_c_s_ttinfo</table>
1530 <orderby/> 922 <orderby/>
1531 <fail_on_multiple>N</fail_on_multiple> 923 <fail_on_multiple>N</fail_on_multiple>
1532 <eat_row_on_failure>N</eat_row_on_failure> 924 <eat_row_on_failure>N</eat_row_on_failure>
1533 <key> 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 <condition>&#x3d;</condition> 934 <condition>&#x3d;</condition>
1537 <name2/> 935 <name2/>
1538 </key> 936 </key>
1539 <value> 937 <value>
1540 <name>id</name> 938 <name>id</name>
1541 - <rename>zdzid</rename> 939 + <rename>ttid</rename>
1542 <default/> 940 <default/>
1543 <type>Integer</type> 941 <type>Integer</type>
1544 </value> 942 </value>
1545 </lookup> 943 </lookup>
1546 <cluster_schema/> 944 <cluster_schema/>
1547 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> 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 <draw>Y</draw> 948 <draw>Y</draw>
1551 </GUI> 949 </GUI>
1552 </step> 950 </step>
@@ -1562,7 +960,7 @@ @@ -1562,7 +960,7 @@
1562 <method>none</method> 960 <method>none</method>
1563 <schema_name/> 961 <schema_name/>
1564 </partitioning> 962 </partitioning>
1565 - <connection>bus_control_&#x516c;&#x53f8;_201</connection> 963 + <connection>bus_control_variable</connection>
1566 <cache>N</cache> 964 <cache>N</cache>
1567 <cache_load_all>N</cache_load_all> 965 <cache_load_all>N</cache_load_all>
1568 <cache_size>0</cache_size> 966 <cache_size>0</cache_size>
@@ -1612,6 +1010,48 @@ @@ -1612,6 +1010,48 @@
1612 </step> 1010 </step>
1613 1011
1614 <step> 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 <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x51fa;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name> 1055 <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x51fa;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
1616 <type>DBLookup</type> 1056 <type>DBLookup</type>
1617 <description/> 1057 <description/>
@@ -1622,7 +1062,7 @@ @@ -1622,7 +1062,7 @@
1622 <method>none</method> 1062 <method>none</method>
1623 <schema_name/> 1063 <schema_name/>
1624 </partitioning> 1064 </partitioning>
1625 - <connection>bus_control_&#x516c;&#x53f8;_201</connection> 1065 + <connection>bus_control_variable</connection>
1626 <cache>N</cache> 1066 <cache>N</cache>
1627 <cache_load_all>N</cache_load_all> 1067 <cache_load_all>N</cache_load_all>
1628 <cache_size>0</cache_size> 1068 <cache_size>0</cache_size>
@@ -1653,8 +1093,8 @@ @@ -1653,8 +1093,8 @@
1653 </lookup> 1093 </lookup>
1654 <cluster_schema/> 1094 <cluster_schema/>
1655 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> 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 <draw>Y</draw> 1098 <draw>Y</draw>
1659 </GUI> 1099 </GUI>
1660 </step> 1100 </step>
@@ -1670,7 +1110,7 @@ @@ -1670,7 +1110,7 @@
1670 <method>none</method> 1110 <method>none</method>
1671 <schema_name/> 1111 <schema_name/>
1672 </partitioning> 1112 </partitioning>
1673 - <connection>bus_control_&#x516c;&#x53f8;_201</connection> 1113 + <connection>bus_control_variable</connection>
1674 <cache>N</cache> 1114 <cache>N</cache>
1675 <cache_load_all>N</cache_load_all> 1115 <cache_load_all>N</cache_load_all>
1676 <cache_size>0</cache_size> 1116 <cache_size>0</cache_size>
@@ -1701,8 +1141,8 @@ @@ -1701,8 +1141,8 @@
1701 </lookup> 1141 </lookup>
1702 <cluster_schema/> 1142 <cluster_schema/>
1703 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> 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 <draw>Y</draw> 1146 <draw>Y</draw>
1707 </GUI> 1147 </GUI>
1708 </step> 1148 </step>
@@ -1718,7 +1158,7 @@ @@ -1718,7 +1158,7 @@
1718 <method>none</method> 1158 <method>none</method>
1719 <schema_name/> 1159 <schema_name/>
1720 </partitioning> 1160 </partitioning>
1721 - <connection>bus_control_&#x516c;&#x53f8;_201</connection> 1161 + <connection>bus_control_variable</connection>
1722 <cache>N</cache> 1162 <cache>N</cache>
1723 <cache_load_all>N</cache_load_all> 1163 <cache_load_all>N</cache_load_all>
1724 <cache_size>0</cache_size> 1164 <cache_size>0</cache_size>
@@ -1768,7 +1208,7 @@ @@ -1768,7 +1208,7 @@
1768 </step> 1208 </step>
1769 1209
1770 <step> 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 <type>DBLookup</type> 1212 <type>DBLookup</type>
1773 <description/> 1213 <description/>
1774 <distribute>Y</distribute> 1214 <distribute>Y</distribute>
@@ -1778,7 +1218,7 @@ @@ -1778,7 +1218,7 @@
1778 <method>none</method> 1218 <method>none</method>
1779 <schema_name/> 1219 <schema_name/>
1780 </partitioning> 1220 </partitioning>
1781 - <connection>bus_control_&#x516c;&#x53f8;_201</connection> 1221 + <connection>bus_control_variable</connection>
1782 <cache>N</cache> 1222 <cache>N</cache>
1783 <cache_load_all>N</cache_load_all> 1223 <cache_load_all>N</cache_load_all>
1784 <cache_size>0</cache_size> 1224 <cache_size>0</cache_size>
@@ -1795,40 +1235,88 @@ @@ -1795,40 +1235,88 @@
1795 <name2/> 1235 <name2/>
1796 </key> 1236 </key>
1797 <key> 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 <condition>&#x3d;</condition> 1246 <condition>&#x3d;</condition>
1801 <name2/> 1247 <name2/>
1802 </key> 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 <key> 1291 <key>
1804 - <name>endZdtype</name>  
1805 - <field>station_mark</field> 1292 + <name>xlid</name>
  1293 + <field>xl</field>
1806 <condition>&#x3d;</condition> 1294 <condition>&#x3d;</condition>
1807 <name2/> 1295 <name2/>
1808 </key> 1296 </key>
1809 <key> 1297 <key>
1810 - <name>zdzname</name>  
1811 - <field>station_name</field> 1298 + <name>lp</name>
  1299 + <field>lp_name</field>
1812 <condition>&#x3d;</condition> 1300 <condition>&#x3d;</condition>
1813 <name2/> 1301 <name2/>
1814 </key> 1302 </key>
1815 <value> 1303 <value>
1816 - <name>station</name>  
1817 - <rename>zdzid</rename> 1304 + <name>id</name>
  1305 + <rename>lpid</rename>
1818 <default/> 1306 <default/>
1819 <type>Integer</type> 1307 <type>Integer</type>
1820 </value> 1308 </value>
1821 </lookup> 1309 </lookup>
1822 <cluster_schema/> 1310 <cluster_schema/>
1823 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> 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 <draw>Y</draw> 1314 <draw>Y</draw>
1827 </GUI> 1315 </GUI>
1828 </step> 1316 </step>
1829 1317
1830 <step> 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 <type>DBLookup</type> 1320 <type>DBLookup</type>
1833 <description/> 1321 <description/>
1834 <distribute>Y</distribute> 1322 <distribute>Y</distribute>
@@ -1838,7 +1326,7 @@ @@ -1838,7 +1326,7 @@
1838 <method>none</method> 1326 <method>none</method>
1839 <schema_name/> 1327 <schema_name/>
1840 </partitioning> 1328 </partitioning>
1841 - <connection>bus_control_&#x516c;&#x53f8;_201</connection> 1329 + <connection>bus_control_variable</connection>
1842 <cache>N</cache> 1330 <cache>N</cache>
1843 <cache_load_all>N</cache_load_all> 1331 <cache_load_all>N</cache_load_all>
1844 <cache_size>0</cache_size> 1332 <cache_size>0</cache_size>
@@ -1855,40 +1343,34 @@ @@ -1855,40 +1343,34 @@
1855 <name2/> 1343 <name2/>
1856 </key> 1344 </key>
1857 <key> 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 <field>station_mark</field> 1347 <field>station_mark</field>
1866 <condition>&#x3d;</condition> 1348 <condition>&#x3d;</condition>
1867 <name2/> 1349 <name2/>
1868 </key> 1350 </key>
1869 <key> 1351 <key>
1870 - <name>qdzname_2</name> 1352 + <name>qdzname_calcu</name>
1871 <field>station_name</field> 1353 <field>station_name</field>
1872 <condition>&#x3d;</condition> 1354 <condition>&#x3d;</condition>
1873 <name2/> 1355 <name2/>
1874 </key> 1356 </key>
1875 <value> 1357 <value>
1876 - <name>station</name>  
1877 - <rename>qdzid</rename> 1358 + <name>directions</name>
  1359 + <rename>sxx</rename>
1878 <default/> 1360 <default/>
1879 - <type>Integer</type> 1361 + <type>String</type>
1880 </value> 1362 </value>
1881 </lookup> 1363 </lookup>
1882 <cluster_schema/> 1364 <cluster_schema/>
1883 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> 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 <draw>Y</draw> 1368 <draw>Y</draw>
1887 </GUI> 1369 </GUI>
1888 </step> 1370 </step>
1889 1371
1890 <step> 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 <type>DBLookup</type> 1374 <type>DBLookup</type>
1893 <description/> 1375 <description/>
1894 <distribute>Y</distribute> 1376 <distribute>Y</distribute>
@@ -1898,7 +1380,7 @@ @@ -1898,7 +1380,7 @@
1898 <method>none</method> 1380 <method>none</method>
1899 <schema_name/> 1381 <schema_name/>
1900 </partitioning> 1382 </partitioning>
1901 - <connection>bus_control_&#x516c;&#x53f8;_201</connection> 1383 + <connection>bus_control_variable</connection>
1902 <cache>N</cache> 1384 <cache>N</cache>
1903 <cache_load_all>N</cache_load_all> 1385 <cache_load_all>N</cache_load_all>
1904 <cache_size>0</cache_size> 1386 <cache_size>0</cache_size>
@@ -1915,14 +1397,14 @@ @@ -1915,14 +1397,14 @@
1915 <name2/> 1397 <name2/>
1916 </key> 1398 </key>
1917 <key> 1399 <key>
1918 - <name>qdzname</name>  
1919 - <field>station_name</field> 1400 + <name>endZdtype_calcu</name>
  1401 + <field>station_mark</field>
1920 <condition>&#x3d;</condition> 1402 <condition>&#x3d;</condition>
1921 <name2/> 1403 <name2/>
1922 </key> 1404 </key>
1923 <key> 1405 <key>
1924 - <name>sendZdtype</name>  
1925 - <field>station_mark</field> 1406 + <name>sxx</name>
  1407 + <field>directions</field>
1926 <condition>&#x3d;</condition> 1408 <condition>&#x3d;</condition>
1927 <name2/> 1409 <name2/>
1928 </key> 1410 </key>
@@ -1932,17 +1414,11 @@ @@ -1932,17 +1414,11 @@
1932 <default/> 1414 <default/>
1933 <type>Integer</type> 1415 <type>Integer</type>
1934 </value> 1416 </value>
1935 - <value>  
1936 - <name>directions</name>  
1937 - <rename>sxx</rename>  
1938 - <default/>  
1939 - <type>Integer</type>  
1940 - </value>  
1941 </lookup> 1417 </lookup>
1942 <cluster_schema/> 1418 <cluster_schema/>
1943 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> 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 <draw>Y</draw> 1422 <draw>Y</draw>
1947 </GUI> 1423 </GUI>
1948 </step> 1424 </step>
@@ -2003,6 +1479,91 @@ @@ -2003,6 +1479,91 @@
2003 </step> 1479 </step>
2004 1480
2005 <step> 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 <name>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178;</name> 1567 <name>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178;</name>
2007 <type>ValueMapper</type> 1568 <type>ValueMapper</type>
2008 <description/> 1569 <description/>
@@ -2108,8 +1669,8 @@ @@ -2108,8 +1669,8 @@
2108 </fields> 1669 </fields>
2109 <cluster_schema/> 1670 <cluster_schema/>
2110 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> 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 <draw>Y</draw> 1674 <draw>Y</draw>
2114 </GUI> 1675 </GUI>
2115 </step> 1676 </step>
@@ -2164,8 +1725,8 @@ @@ -2164,8 +1725,8 @@
2164 </fields> 1725 </fields>
2165 <cluster_schema/> 1726 <cluster_schema/>
2166 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> 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 <draw>Y</draw> 1730 <draw>Y</draw>
2170 </GUI> 1731 </GUI>
2171 </step> 1732 </step>
@@ -2221,7 +1782,99 @@ @@ -2221,7 +1782,99 @@
2221 </step> 1782 </step>
2222 1783
2223 <step> 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 <type>ScriptValueMod</type> 1878 <type>ScriptValueMod</type>
2226 <description/> 1879 <description/>
2227 <distribute>Y</distribute> 1880 <distribute>Y</distribute>
@@ -2235,35 +1888,29 @@ @@ -2235,35 +1888,29 @@
2235 <optimizationLevel>9</optimizationLevel> 1888 <optimizationLevel>9</optimizationLevel>
2236 <jsScripts> <jsScript> <jsScript_type>0</jsScript_type> 1889 <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
2237 <jsScript_name>Script 1</jsScript_name> 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 <type>String</type> 1894 <type>String</type>
2248 <length>-1</length> 1895 <length>-1</length>
2249 <precision>-1</precision> 1896 <precision>-1</precision>
2250 <replace>N</replace> 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 <type>String</type> 1900 <type>String</type>
2254 <length>-1</length> 1901 <length>-1</length>
2255 <precision>-1</precision> 1902 <precision>-1</precision>
2256 <replace>N</replace> 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 <type>String</type> 1906 <type>String</type>
2260 <length>-1</length> 1907 <length>-1</length>
2261 <precision>-1</precision> 1908 <precision>-1</precision>
2262 <replace>N</replace> 1909 <replace>N</replace>
2263 </field> </fields> <cluster_schema/> 1910 </field> </fields> <cluster_schema/>
2264 <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> 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 <draw>Y</draw> 1914 <draw>Y</draw>
2268 </GUI> 1915 </GUI>
2269 </step> 1916 </step>
@@ -2287,38 +1934,6 @@ @@ -2287,38 +1934,6 @@
2287 </GUI> 1934 </GUI>
2288 </step> 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 <step_error_handling> 1937 <step_error_handling>
2323 </step_error_handling> 1938 </step_error_handling>
2324 <slave-step-copy-partition-distribution> 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,7 +26,7 @@ angular.module(&#39;ScheduleApp&#39;).factory(&#39;BusInfoManageService&#39;, [&#39;BusInfoManageSer
26 resetSearchCondition: function() { 26 resetSearchCondition: function() {
27 var key; 27 var key;
28 for (key in currentSearchCondition) { 28 for (key in currentSearchCondition) {
29 - currentSearchCondition[key] = ""; 29 + currentSearchCondition[key] = null;
30 } 30 }
31 currentPageNo = 1; 31 currentPageNo = 1;
32 }, 32 },
src/main/resources/static/pages/scheduleApp/module/basicInfo/busInfoManage/list.html
@@ -32,25 +32,20 @@ @@ -32,25 +32,20 @@
32 <input type="text" class="form-control form-filter input-sm" ng-model="ctrl.searchCondition().carPlate_like"/> 32 <input type="text" class="form-control form-filter input-sm" ng-model="ctrl.searchCondition().carPlate_like"/>
33 </td> 33 </td>
34 <td> 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 </td> 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 </td> 49 </td>
55 <td> 50 <td>
56 <button class="btn btn-sm green btn-outline filter-submit margin-bottom" 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,7 +27,7 @@ angular.module(&#39;ScheduleApp&#39;).factory(&#39;EmployeeInfoManageService&#39;, [&#39;EmployeeInf
27 resetSearchCondition: function() { 27 resetSearchCondition: function() {
28 var key; 28 var key;
29 for (key in currentSearchCondition) { 29 for (key in currentSearchCondition) {
30 - currentSearchCondition[key] = ""; 30 + currentSearchCondition[key] = null;
31 } 31 }
32 currentPageNo = 1; 32 currentPageNo = 1;
33 }, 33 },
src/main/resources/static/pages/scheduleApp/module/basicInfo/employeeInfoManage/list.html
@@ -7,20 +7,16 @@ @@ -7,20 +7,16 @@
7 <input type="checkbox" class="group-checkable"/> 7 <input type="checkbox" class="group-checkable"/>
8 </th> 8 </th>
9 <th>序号</th> 9 <th>序号</th>
10 - <th>员工编号</th>  
11 <th>姓名</th> 10 <th>姓名</th>
12 <th>工号</th> 11 <th>工号</th>
13 <th>性别</th> 12 <th>性别</th>
14 <th>所在公司</th> 13 <th>所在公司</th>
15 <th>分公司</th> 14 <th>分公司</th>
16 <th>工种</th> 15 <th>工种</th>
17 - <th>一卡通号</th>  
18 - <th>运营服务证号</th>  
19 <th width="14%">操作</th> 16 <th width="14%">操作</th>
20 </tr> 17 </tr>
21 <tr role="row" class="filter"> 18 <tr role="row" class="filter">
22 <td></td> 19 <td></td>
23 - <td></td>  
24 <td> 20 <td>
25 <input type="text" class="form-control input-sm" ng-model="ctrl.searchCondition().personnelCode_like"/> 21 <input type="text" class="form-control input-sm" ng-model="ctrl.searchCondition().personnelCode_like"/>
26 </td> 22 </td>
@@ -31,50 +27,37 @@ @@ -31,50 +27,37 @@
31 <input type="text" class="form-control input-sm" ng-model="ctrl.searchCondition().jobCode_like"/> 27 <input type="text" class="form-control input-sm" ng-model="ctrl.searchCondition().jobCode_like"/>
32 </td> 28 </td>
33 <td> 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 </td> 38 </td>
49 <td> 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 </td> 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 </td> 51 </td>
76 <td> 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 </td> 61 </td>
79 <td> 62 <td>
80 <button class="btn btn-sm green btn-outline filter-submit margin-bottom" 63 <button class="btn btn-sm green btn-outline filter-submit margin-bottom"
@@ -97,9 +80,6 @@ @@ -97,9 +80,6 @@
97 <span ng-bind="$index + 1"></span> 80 <span ng-bind="$index + 1"></span>
98 </td> 81 </td>
99 <td> 82 <td>
100 - <span ng-bind="info.personnelCode"></span>  
101 - </td>  
102 - <td>  
103 <span ng-bind="info.personnelName"></span> 83 <span ng-bind="info.personnelName"></span>
104 </td> 84 </td>
105 <td> 85 <td>
@@ -118,12 +98,6 @@ @@ -118,12 +98,6 @@
118 <span ng-bind="info.posts | dict:'gzType':'未知'"></span> 98 <span ng-bind="info.posts | dict:'gzType':'未知'"></span>
119 </td> 99 </td>
120 <td> 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 <!--<a href="details.html?lineId={{obj.id}}" class="btn default blue-stripe btn-sm"> 详细 </a>--> 101 <!--<a href="details.html?lineId={{obj.id}}" class="btn default blue-stripe btn-sm"> 详细 </a>-->
128 <!--<a href="edit.html?lineId={{obj.id}}" class="btn default blue-stripe btn-sm"> 修改 </a>--> 102 <!--<a href="edit.html?lineId={{obj.id}}" class="btn default blue-stripe btn-sm"> 修改 </a>-->
129 <a ui-sref="employeeInfoManage_detail({id: info.id})" class="btn default blue-stripe btn-sm"> 详细 </a> 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,7 +20,7 @@ angular.module(&#39;ScheduleApp&#39;).factory(&#39;BusConfigService&#39;, [&#39;BusConfigService_g&#39;,
20 resetSearchCondition: function() { 20 resetSearchCondition: function() {
21 var key; 21 var key;
22 for (key in currentSearchCondition) { 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,7 +179,9 @@ angular.module(&#39;ScheduleApp&#39;).controller(&#39;BusConfigListCtrl&#39;, [&#39;BusConfigService
179 }; 179 };
180 // 重置查询条件 180 // 重置查询条件
181 self.resetSearchCondition = function() { 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,27 +7,44 @@
7 <input type="checkbox" class="group-checkable"/> 7 <input type="checkbox" class="group-checkable"/>
8 </th> 8 </th>
9 <th>序号</th> 9 <th>序号</th>
  10 + <th>所在公司</th>
10 <th>线路</th> 11 <th>线路</th>
11 <th>内部编号</th> 12 <th>内部编号</th>
12 - <th>设备编码</th>  
13 <th>启用日期</th> 13 <th>启用日期</th>
14 <th>终止日期</th> 14 <th>终止日期</th>
15 <th>停车点</th> 15 <th>停车点</th>
16 - <th>是否切换</th>  
17 <th width="14%">操作</th> 16 <th width="14%">操作</th>
18 </tr> 17 </tr>
19 <tr role="row" class="filter"> 18 <tr role="row" class="filter">
20 <td></td> 19 <td></td>
21 <td></td> 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 <td></td> 42 <td></td>
25 <td></td> 43 <td></td>
26 <td></td> 44 <td></td>
27 <td> 45 <td>
28 <input type="text" class="form-control form-filter input-sm" ng-model="ctrl.searchCondition().tcd_like"/> 46 <input type="text" class="form-control form-filter input-sm" ng-model="ctrl.searchCondition().tcd_like"/>
29 </td> 47 </td>
30 - <td></td>  
31 <td> 48 <td>
32 <button class="btn btn-sm green btn-outline filter-submit margin-bottom" 49 <button class="btn btn-sm green btn-outline filter-submit margin-bottom"
33 ng-click="ctrl.pageChanaged()"> 50 ng-click="ctrl.pageChanaged()">
@@ -50,13 +67,13 @@ @@ -50,13 +67,13 @@
50 <span ng-bind="$index + 1"></span> 67 <span ng-bind="$index + 1"></span>
51 </td> 68 </td>
52 <td> 69 <td>
53 - <span ng-bind="info.xl.name"></span> 70 + <span ng-bind="info.cl.company"></span>
54 </td> 71 </td>
55 <td> 72 <td>
56 - <span ng-bind="info.cl.insideCode"></span> 73 + <span ng-bind="info.xl.name"></span>
57 </td> 74 </td>
58 <td> 75 <td>
59 - <span ng-bind="info.cl.equipmentCode"></span> 76 + <span ng-bind="info.cl.insideCode"></span>
60 </td> 77 </td>
61 <td> 78 <td>
62 <span ng-bind="info.qyrq | date: 'yyyy-MM-dd HH:mm:ss'"></span> 79 <span ng-bind="info.qyrq | date: 'yyyy-MM-dd HH:mm:ss'"></span>
@@ -68,9 +85,6 @@ @@ -68,9 +85,6 @@
68 <span ng-bind="info.tcd"></span> 85 <span ng-bind="info.tcd"></span>
69 </td> 86 </td>
70 <td> 87 <td>
71 - <span ng-bind="info.isSwitch"></span>  
72 - </td>  
73 - <td>  
74 <!--<a href="details.html?lineId={{obj.id}}" class="btn default blue-stripe btn-sm"> 详细 </a>--> 88 <!--<a href="details.html?lineId={{obj.id}}" class="btn default blue-stripe btn-sm"> 详细 </a>-->
75 <!--<a href="edit.html?lineId={{obj.id}}" class="btn default blue-stripe btn-sm"> 修改 </a>--> 89 <!--<a href="edit.html?lineId={{obj.id}}" class="btn default blue-stripe btn-sm"> 修改 </a>-->
76 <a ui-sref="busConfig_detail({id: info.id})" class="btn default blue-stripe btn-sm"> 详细 </a> 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,6 +7,7 @@
7 <input type="checkbox" class="group-checkable"/> 7 <input type="checkbox" class="group-checkable"/>
8 </th> 8 </th>
9 <th>序号</th> 9 <th>序号</th>
  10 + <th>所在公司</th>
10 <th>线路</th> 11 <th>线路</th>
11 <th>搭班编码</th> 12 <th>搭班编码</th>
12 <th>驾驶员工号</th> 13 <th>驾驶员工号</th>
@@ -18,10 +19,47 @@ @@ -18,10 +19,47 @@
18 <tr role="row" class="filter"> 19 <tr role="row" class="filter">
19 <td></td> 20 <td></td>
20 <td></td> 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 <td></td> 43 <td></td>
22 <td></td> 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 <td></td> 63 <td></td>
26 <td></td> 64 <td></td>
27 <td> 65 <td>
@@ -46,6 +84,9 @@ @@ -46,6 +84,9 @@
46 <span ng-bind="$index + 1"></span> 84 <span ng-bind="$index + 1"></span>
47 </td> 85 </td>
48 <td> 86 <td>
  87 + <span ng-bind="info.jsy.company"></span>
  88 + </td>
  89 + <td>
49 <span ng-bind="info.xl.name"></span> 90 <span ng-bind="info.xl.name"></span>
50 </td> 91 </td>
51 <td> 92 <td>
src/main/resources/static/pages/scheduleApp/module/core/guideboardManage/list.html
@@ -16,7 +16,17 @@ @@ -16,7 +16,17 @@
16 <tr role="row" class="filter"> 16 <tr role="row" class="filter">
17 <td></td> 17 <td></td>
18 <td></td> 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 <td></td> 30 <td></td>
21 <td></td> 31 <td></td>
22 <td></td> 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 \ No newline at end of file 73 \ No newline at end of file
src/main/resources/static/pages/scheduleApp/module/core/timeTableManage/detail_info.html
@@ -86,7 +86,7 @@ @@ -86,7 +86,7 @@
86 86
87 <div class="portlet-body"> 87 <div class="portlet-body">
88 <!--<div ng-view></div>--> 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 <thead> 90 <thead>
91 <tr> 91 <tr>
92 <th> 92 <th>
src/main/resources/static/pages/scheduleApp/module/core/timeTableManage/list.html
@@ -65,10 +65,10 @@ @@ -65,10 +65,10 @@
65 <span ng-bind="info.updateDate | date: 'yyyy-MM-dd HH:mm:ss'"></span> 65 <span ng-bind="info.updateDate | date: 'yyyy-MM-dd HH:mm:ss'"></span>
66 </td> 66 </td>
67 <td> 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 </td> 72 </td>
73 <td> 73 <td>
74 <!--<a href="details.html?lineId={{obj.id}}" class="btn default blue-stripe btn-sm"> 详细 </a>--> 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 \ No newline at end of file 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,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 var self = this; 137 var self = this;
138 self.pageInfo = { 138 self.pageInfo = {
139 totalItems : 0, 139 totalItems : 0,
@@ -182,6 +182,82 @@ angular.module(&#39;ScheduleApp&#39;).controller(&#39;TimeTableManageListCtrl&#39;, [&#39;TimeTableM @@ -182,6 +182,82 @@ angular.module(&#39;ScheduleApp&#39;).controller(&#39;TimeTableManageListCtrl&#39;, [&#39;TimeTableM
182 return timeTableManageService.resetSearchCondition(); 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 angular.module('ScheduleApp').controller('TimeTableManageFormCtrl', ['TimeTableManageService', '$stateParams', '$state', function(timeTableManageService, $stateParams, $state) { 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,6 +62,8 @@ ScheduleApp.config([&#39;$stateProvider&#39;, &#39;$urlRouterProvider&#39;, function($stateProvi
62 name: 'busInfoManage_module', 62 name: 'busInfoManage_module',
63 insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置 63 insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
64 files: [ 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 "assets/bower_components/angular-file-upload/dist/angular-file-upload.min.js", 67 "assets/bower_components/angular-file-upload/dist/angular-file-upload.min.js",
66 "pages/scheduleApp/module/basicInfo/busInfoManage/busInfoManage.js" 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,6 +145,8 @@ ScheduleApp.config([&#39;$stateProvider&#39;, &#39;$urlRouterProvider&#39;, function($stateProvi
143 name: 'employeeInfoManage_module', 145 name: 'employeeInfoManage_module',
144 insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置 146 insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
145 files: [ 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 "assets/bower_components/angular-file-upload/dist/angular-file-upload.min.js", 150 "assets/bower_components/angular-file-upload/dist/angular-file-upload.min.js",
147 "pages/scheduleApp/module/basicInfo/employeeInfoManage/employeeInfoManage.js" 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,6 +308,8 @@ ScheduleApp.config([&#39;$stateProvider&#39;, &#39;$urlRouterProvider&#39;, function($stateProvi
304 name: 'busConfig_module', 308 name: 'busConfig_module',
305 insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置 309 insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
306 files: [ 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 "assets/bower_components/angular-file-upload/dist/angular-file-upload.min.js", 313 "assets/bower_components/angular-file-upload/dist/angular-file-upload.min.js",
308 "pages/scheduleApp/module/core/busConfig/busConfig.js" 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,6 +391,8 @@ ScheduleApp.config([&#39;$stateProvider&#39;, &#39;$urlRouterProvider&#39;, function($stateProvi
385 name: 'employeeConfig_module', 391 name: 'employeeConfig_module',
386 insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置 392 insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
387 files: [ 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 "assets/bower_components/angular-file-upload/dist/angular-file-upload.min.js", 396 "assets/bower_components/angular-file-upload/dist/angular-file-upload.min.js",
389 "pages/scheduleApp/module/core/employeeConfig/employeeConfig.js" 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,6 +474,8 @@ ScheduleApp.config([&#39;$stateProvider&#39;, &#39;$urlRouterProvider&#39;, function($stateProvi
466 name: 'guideboardManage_module', 474 name: 'guideboardManage_module',
467 insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置 475 insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
468 files: [ 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 "assets/bower_components/angular-file-upload/dist/angular-file-upload.min.js", 479 "assets/bower_components/angular-file-upload/dist/angular-file-upload.min.js",
470 "pages/scheduleApp/module/core/guideboardManage/guideboardManage.js" 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,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 views: { 570 views: {
561 "": {templateUrl: 'pages/scheduleApp/module/core/timeTableManage/detail_info.html'} 571 "": {templateUrl: 'pages/scheduleApp/module/core/timeTableManage/detail_info.html'}
562 }, 572 },
563 resolve: { 573 resolve: {
564 deps: ['$ocLazyLoad', function($ocLazyLoad) { 574 deps: ['$ocLazyLoad', function($ocLazyLoad) {
565 return $ocLazyLoad.load({ 575 return $ocLazyLoad.load({
566 - name: 'timeTableInfoManage_detail_module', 576 + name: 'timeTableDetailInfoManage_module',
567 insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置 577 insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
568 files: [ 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,7 +933,6 @@ angular.module(&#39;ScheduleApp&#39;).factory(&#39;BusLineInfoStatService_g&#39;, [&#39;$resource&#39;,
923 ); 933 );
924 }]); 934 }]);
925 935
926 -  
927 //--------------------------- 通用filter和directive -----------------------------// 936 //--------------------------- 通用filter和directive -----------------------------//
928 angular.module('ScheduleApp').filter("dict", [function() { 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,7 +958,7 @@ angular.module(&#39;ScheduleApp&#39;).directive(&quot;saSelect&quot;, [&#39;$timeout&#39;, function($timeo
949 }, 958 },
950 controllerAs: "$saSelectCtrl", 959 controllerAs: "$saSelectCtrl",
951 bindToController: true, 960 bindToController: true,
952 - controller: function($scope) { 961 + controller: function() {
953 var self = this; 962 var self = this;
954 self.datas = []; // 关联的字典数据,内部格式 {code:{值},name:{名字}} 963 self.datas = []; // 关联的字典数据,内部格式 {code:{值},name:{名字}}
955 }, 964 },
@@ -1178,26 +1187,29 @@ angular.module(&#39;ScheduleApp&#39;).directive(&quot;remoteValidaton&quot;, [ @@ -1178,26 +1187,29 @@ angular.module(&#39;ScheduleApp&#39;).directive(&quot;remoteValidaton&quot;, [
1178 } 1187 }
1179 1188
1180 attr.$observe("rv1", function(value) { 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 ngModelCtrl.$setValidity('remote', true); 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,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>