Commit e764b2031adb9e8268b7472e013a30ca5735bc76

Authored by 潘钊
2 parents 078baab1 3f4c51e7

Merge branch 'master' of 192.168.168.201:panzhaov5/bsth_control

Showing 52 changed files with 7967 additions and 186 deletions
src/main/java/com/bsth/StartCommand.java
1 package com.bsth; 1 package com.bsth;
2 2
3 3
4 -import java.util.concurrent.Executors;  
5 -import java.util.concurrent.ScheduledExecutorService;  
6 -import java.util.concurrent.TimeUnit;  
7 -  
8 -import org.slf4j.Logger;  
9 -import org.slf4j.LoggerFactory;  
10 -import org.springframework.beans.factory.annotation.Autowired;  
11 -import org.springframework.boot.CommandLineRunner;  
12 -import org.springframework.stereotype.Component;  
13 -  
14 import com.bsth.security.SecurityMetadataSourceService; 4 import com.bsth.security.SecurityMetadataSourceService;
15 import com.bsth.service.realcontrol.buffer.GetSchedulePlanThread; 5 import com.bsth.service.realcontrol.buffer.GetSchedulePlanThread;
16 import com.bsth.service.realcontrol.buffer.SchedulePersistenceThread; 6 import com.bsth.service.realcontrol.buffer.SchedulePersistenceThread;
@@ -19,6 +9,15 @@ import com.bsth.vehicle.directive.DirectivePersistenceThread; @@ -19,6 +9,15 @@ import com.bsth.vehicle.directive.DirectivePersistenceThread;
19 import com.bsth.vehicle.directive.FirstScheduleIssuedThread; 9 import com.bsth.vehicle.directive.FirstScheduleIssuedThread;
20 import com.bsth.vehicle.gpsdata.GpsArrivalStationThread; 10 import com.bsth.vehicle.gpsdata.GpsArrivalStationThread;
21 import com.bsth.vehicle.gpsdata.GpsRefreshThread; 11 import com.bsth.vehicle.gpsdata.GpsRefreshThread;
  12 +import org.slf4j.Logger;
  13 +import org.slf4j.LoggerFactory;
  14 +import org.springframework.beans.factory.annotation.Autowired;
  15 +import org.springframework.boot.CommandLineRunner;
  16 +import org.springframework.stereotype.Component;
  17 +
  18 +import java.util.concurrent.Executors;
  19 +import java.util.concurrent.ScheduledExecutorService;
  20 +import java.util.concurrent.TimeUnit;
22 21
23 /** 22 /**
24 * 随应用启动运行 23 * 随应用启动运行
src/main/java/com/bsth/controller/CarsController.java
1 package com.bsth.controller; 1 package com.bsth.controller;
2 2
3 import com.bsth.entity.Cars; 3 import com.bsth.entity.Cars;
4 -import com.bsth.service.schedule.utils.DataImportExportService;  
5 import com.bsth.service.schedule.utils.DataToolsProperties; 4 import com.bsth.service.schedule.utils.DataToolsProperties;
6 import org.springframework.beans.factory.annotation.Autowired; 5 import org.springframework.beans.factory.annotation.Autowired;
7 import org.springframework.boot.context.properties.EnableConfigurationProperties; 6 import org.springframework.boot.context.properties.EnableConfigurationProperties;
@@ -18,8 +17,6 @@ import java.util.Map; @@ -18,8 +17,6 @@ import java.util.Map;
18 public class CarsController extends BaseController<Cars, Integer> { 17 public class CarsController extends BaseController<Cars, Integer> {
19 18
20 @Autowired 19 @Autowired
21 - private DataImportExportService dataImportExportService;  
22 - @Autowired  
23 private DataToolsProperties dataToolsProperties; 20 private DataToolsProperties dataToolsProperties;
24 21
25 /** 22 /**
src/main/java/com/bsth/controller/PersonnelController.java
1 -package com.bsth.controller;  
2 -  
3 -import com.bsth.entity.Personnel;  
4 -import com.bsth.service.schedule.utils.DataImportExportService;  
5 -import com.bsth.service.schedule.utils.DataToolsProperties;  
6 -import org.springframework.beans.factory.annotation.Autowired;  
7 -import org.springframework.boot.context.properties.EnableConfigurationProperties;  
8 -import org.springframework.web.bind.annotation.*;  
9 -  
10 -import java.util.Map;  
11 -  
12 -/**  
13 - * Created by xu on 16/6/15.  
14 - */  
15 -@RestController  
16 -@RequestMapping("personnel")  
17 -@EnableConfigurationProperties(DataToolsProperties.class)  
18 -public class PersonnelController extends BaseController<Personnel, Integer> {  
19 -  
20 - @Autowired  
21 - private DataImportExportService dataImportExportService;  
22 - @Autowired  
23 - private DataToolsProperties dataToolsProperties;  
24 -  
25 - /**  
26 - * 覆写方法,因为form提交的方式参数不全,改用 json形式提交 @RequestBody  
27 - * @Title: save  
28 - * @Description: TODO(持久化对象)  
29 - * @param @param t  
30 - * @param @return 设定文件  
31 - * @return Map<String,Object> {status: 1(成功),-1(失败)}  
32 - * @throws  
33 - */  
34 - @RequestMapping(method = RequestMethod.POST)  
35 - public Map<String, Object> save(@RequestBody Personnel t){  
36 - return baseService.save(t);  
37 - }  
38 -  
39 - /**  
40 - * 验证。  
41 - * @param map  
42 - * @return  
43 - */  
44 - @RequestMapping(value = "/validate/equale", method = RequestMethod.GET)  
45 - public Map<String, Object> validateData(@RequestParam Map<String, Object> map) {  
46 - // 一般比较相同公司下工号是否相同  
47 - return baseService.validateEquale(map);  
48 - }  
49 -  
50 - @Override  
51 - protected String getDataImportKtrClasspath() {  
52 - return dataToolsProperties.getEmployeesDatainputktr();  
53 - }  
54 -} 1 +package com.bsth.controller;
  2 +
  3 +import com.bsth.entity.Personnel;
  4 +import com.bsth.service.schedule.utils.DataToolsProperties;
  5 +import org.springframework.beans.factory.annotation.Autowired;
  6 +import org.springframework.boot.context.properties.EnableConfigurationProperties;
  7 +import org.springframework.web.bind.annotation.*;
  8 +
  9 +import java.util.Map;
  10 +
  11 +/**
  12 + * Created by xu on 16/6/15.
  13 + */
  14 +@RestController
  15 +@RequestMapping("personnel")
  16 +@EnableConfigurationProperties(DataToolsProperties.class)
  17 +public class PersonnelController extends BaseController<Personnel, Integer> {
  18 +
  19 + @Autowired
  20 + private DataToolsProperties dataToolsProperties;
  21 +
  22 + /**
  23 + * 覆写方法,因为form提交的方式参数不全,改用 json形式提交 @RequestBody
  24 + * @Title: save
  25 + * @Description: TODO(持久化对象)
  26 + * @param @param t
  27 + * @param @return 设定文件
  28 + * @return Map<String,Object> {status: 1(成功),-1(失败)}
  29 + * @throws
  30 + */
  31 + @RequestMapping(method = RequestMethod.POST)
  32 + public Map<String, Object> save(@RequestBody Personnel t){
  33 + return baseService.save(t);
  34 + }
  35 +
  36 + /**
  37 + * 验证。
  38 + * @param map
  39 + * @return
  40 + */
  41 + @RequestMapping(value = "/validate/equale", method = RequestMethod.GET)
  42 + public Map<String, Object> validateData(@RequestParam Map<String, Object> map) {
  43 + // 一般比较相同公司下工号是否相同
  44 + return baseService.validateEquale(map);
  45 + }
  46 +
  47 + @Override
  48 + protected String getDataImportKtrClasspath() {
  49 + return dataToolsProperties.getEmployeesDatainputktr();
  50 + }
  51 +}
src/main/java/com/bsth/controller/schedule/CarConfigInfoController.java
@@ -2,6 +2,9 @@ package com.bsth.controller.schedule; @@ -2,6 +2,9 @@ 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.CarConfigInfo; 4 import com.bsth.entity.schedule.CarConfigInfo;
  5 +import com.bsth.service.schedule.utils.DataToolsProperties;
  6 +import org.springframework.beans.factory.annotation.Autowired;
  7 +import org.springframework.boot.context.properties.EnableConfigurationProperties;
5 import org.springframework.web.bind.annotation.RequestMapping; 8 import org.springframework.web.bind.annotation.RequestMapping;
6 import org.springframework.web.bind.annotation.RestController; 9 import org.springframework.web.bind.annotation.RestController;
7 10
@@ -10,5 +13,13 @@ import org.springframework.web.bind.annotation.RestController; @@ -10,5 +13,13 @@ import org.springframework.web.bind.annotation.RestController;
10 */ 13 */
11 @RestController 14 @RestController
12 @RequestMapping("cci") 15 @RequestMapping("cci")
  16 +@EnableConfigurationProperties(DataToolsProperties.class)
13 public class CarConfigInfoController extends BaseController<CarConfigInfo, Long> { 17 public class CarConfigInfoController extends BaseController<CarConfigInfo, Long> {
  18 + @Autowired
  19 + private DataToolsProperties dataToolsProperties;
  20 +
  21 + @Override
  22 + protected String getDataImportKtrClasspath() {
  23 + return dataToolsProperties.getCarsconfigDatainputktr();
  24 + }
14 } 25 }
src/main/java/com/bsth/controller/schedule/EmployeeConfigInfoController.java
@@ -2,6 +2,9 @@ package com.bsth.controller.schedule; @@ -2,6 +2,9 @@ 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.service.schedule.utils.DataToolsProperties;
  6 +import org.springframework.beans.factory.annotation.Autowired;
  7 +import org.springframework.boot.context.properties.EnableConfigurationProperties;
5 import org.springframework.web.bind.annotation.RequestMapping; 8 import org.springframework.web.bind.annotation.RequestMapping;
6 import org.springframework.web.bind.annotation.RestController; 9 import org.springframework.web.bind.annotation.RestController;
7 10
@@ -10,5 +13,13 @@ import org.springframework.web.bind.annotation.RestController; @@ -10,5 +13,13 @@ import org.springframework.web.bind.annotation.RestController;
10 */ 13 */
11 @RestController 14 @RestController
12 @RequestMapping("eci") 15 @RequestMapping("eci")
  16 +@EnableConfigurationProperties(DataToolsProperties.class)
13 public class EmployeeConfigInfoController extends BaseController<EmployeeConfigInfo, Long> { 17 public class EmployeeConfigInfoController extends BaseController<EmployeeConfigInfo, Long> {
  18 + @Autowired
  19 + private DataToolsProperties dataToolsProperties;
  20 +
  21 + @Override
  22 + protected String getDataImportKtrClasspath() {
  23 + return dataToolsProperties.getEmployeesconfigDatainputktr();
  24 + }
14 } 25 }
src/main/java/com/bsth/controller/schedule/GuideboardInfoController.java
@@ -2,6 +2,9 @@ package com.bsth.controller.schedule; @@ -2,6 +2,9 @@ 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.GuideboardInfo; 4 import com.bsth.entity.schedule.GuideboardInfo;
  5 +import com.bsth.service.schedule.utils.DataToolsProperties;
  6 +import org.springframework.beans.factory.annotation.Autowired;
  7 +import org.springframework.boot.context.properties.EnableConfigurationProperties;
5 import org.springframework.web.bind.annotation.RequestMapping; 8 import org.springframework.web.bind.annotation.RequestMapping;
6 import org.springframework.web.bind.annotation.RestController; 9 import org.springframework.web.bind.annotation.RestController;
7 10
@@ -10,5 +13,13 @@ import org.springframework.web.bind.annotation.RestController; @@ -10,5 +13,13 @@ import org.springframework.web.bind.annotation.RestController;
10 */ 13 */
11 @RestController 14 @RestController
12 @RequestMapping("gic") 15 @RequestMapping("gic")
  16 +@EnableConfigurationProperties(DataToolsProperties.class)
13 public class GuideboardInfoController extends BaseController<GuideboardInfo, Long> { 17 public class GuideboardInfoController extends BaseController<GuideboardInfo, Long> {
  18 + @Autowired
  19 + private DataToolsProperties dataToolsProperties;
  20 +
  21 + @Override
  22 + protected String getDataImportKtrClasspath() {
  23 + return dataToolsProperties.getGuideboardsDatainputktr();
  24 + }
14 } 25 }
src/main/java/com/bsth/controller/schedule/TTInfoController.java
@@ -2,6 +2,9 @@ package com.bsth.controller.schedule; @@ -2,6 +2,9 @@ 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.TTInfo; 4 import com.bsth.entity.schedule.TTInfo;
  5 +import com.bsth.service.schedule.utils.DataToolsProperties;
  6 +import org.springframework.beans.factory.annotation.Autowired;
  7 +import org.springframework.boot.context.properties.EnableConfigurationProperties;
5 import org.springframework.web.bind.annotation.RequestMapping; 8 import org.springframework.web.bind.annotation.RequestMapping;
6 import org.springframework.web.bind.annotation.RestController; 9 import org.springframework.web.bind.annotation.RestController;
7 10
@@ -10,5 +13,13 @@ import org.springframework.web.bind.annotation.RestController; @@ -10,5 +13,13 @@ import org.springframework.web.bind.annotation.RestController;
10 */ 13 */
11 @RestController 14 @RestController
12 @RequestMapping("tic") 15 @RequestMapping("tic")
  16 +@EnableConfigurationProperties(DataToolsProperties.class)
13 public class TTInfoController extends BaseController<TTInfo, Long> { 17 public class TTInfoController extends BaseController<TTInfo, Long> {
  18 + @Autowired
  19 + private DataToolsProperties dataToolsProperties;
  20 +
  21 + @Override
  22 + protected String getDataImportKtrClasspath() {
  23 + return dataToolsProperties.getTtinfoDatainputktr();
  24 + }
14 } 25 }
src/main/java/com/bsth/entity/schedule/GuideboardInfo.java
@@ -12,6 +12,11 @@ import java.util.Date; @@ -12,6 +12,11 @@ import java.util.Date;
12 */ 12 */
13 @Entity 13 @Entity
14 @Table(name = "bsth_c_s_gbi") 14 @Table(name = "bsth_c_s_gbi")
  15 +@NamedEntityGraphs({
  16 + @NamedEntityGraph(name = "guideboardInfo_xl", attributeNodes = {
  17 + @NamedAttributeNode("xl")
  18 + })
  19 +})
15 public class GuideboardInfo { 20 public class GuideboardInfo {
16 21
17 /** 主键Id */ 22 /** 主键Id */
src/main/java/com/bsth/entity/schedule/SchedulePlan.java
@@ -13,6 +13,12 @@ import java.util.List; @@ -13,6 +13,12 @@ import java.util.List;
13 */ 13 */
14 @Entity 14 @Entity
15 @Table(name = "bsth_c_s_sp") 15 @Table(name = "bsth_c_s_sp")
  16 +@NamedEntityGraphs({
  17 + @NamedEntityGraph(name = "schedulePlan_xl_ttinfo", attributeNodes = {
  18 + @NamedAttributeNode("xl"),
  19 + @NamedAttributeNode("ttInfo")
  20 + })
  21 +})
16 public class SchedulePlan { 22 public class SchedulePlan {
17 23
18 /** 主键Id */ 24 /** 主键Id */
src/main/java/com/bsth/entity/schedule/TTInfo.java
@@ -11,6 +11,11 @@ import java.util.Date; @@ -11,6 +11,11 @@ import java.util.Date;
11 */ 11 */
12 @Entity 12 @Entity
13 @Table(name="bsth_c_s_ttinfo") 13 @Table(name="bsth_c_s_ttinfo")
  14 +@NamedEntityGraphs({
  15 + @NamedEntityGraph(name = "ttInfo_xl", attributeNodes = {
  16 + @NamedAttributeNode("xl")
  17 + })
  18 +})
14 public class TTInfo { 19 public class TTInfo {
15 20
16 /** 主键Id */ 21 /** 主键Id */
src/main/java/com/bsth/repository/schedule/EmployeeConfigInfoRepository.java
@@ -5,6 +5,9 @@ import com.bsth.repository.BaseRepository; @@ -5,6 +5,9 @@ import com.bsth.repository.BaseRepository;
5 5
6 import java.util.List; 6 import java.util.List;
7 7
  8 +import org.springframework.data.domain.Page;
  9 +import org.springframework.data.domain.Pageable;
  10 +import org.springframework.data.jpa.domain.Specification;
8 import org.springframework.data.jpa.repository.EntityGraph; 11 import org.springframework.data.jpa.repository.EntityGraph;
9 import org.springframework.data.jpa.repository.Query; 12 import org.springframework.data.jpa.repository.Query;
10 import org.springframework.stereotype.Repository; 13 import org.springframework.stereotype.Repository;
@@ -18,4 +21,8 @@ public interface EmployeeConfigInfoRepository extends BaseRepository&lt;EmployeeCon @@ -18,4 +21,8 @@ public interface EmployeeConfigInfoRepository extends BaseRepository&lt;EmployeeCon
18 @EntityGraph(value = "employeeConfigInfo_xl_cl", type = EntityGraph.EntityGraphType.FETCH) 21 @EntityGraph(value = "employeeConfigInfo_xl_cl", type = EntityGraph.EntityGraphType.FETCH)
19 @Query("select ec from EmployeeConfigInfo ec where ec.xl.lineCode=?1") 22 @Query("select ec from EmployeeConfigInfo ec where ec.xl.lineCode=?1")
20 List<EmployeeConfigInfo> findBylineCode(String lineCode); 23 List<EmployeeConfigInfo> findBylineCode(String lineCode);
  24 +
  25 + @EntityGraph(value = "employeeConfigInfo_xl_cl", type = EntityGraph.EntityGraphType.FETCH)
  26 + @Override
  27 + Page<EmployeeConfigInfo> findAll(Specification<EmployeeConfigInfo> spec, Pageable pageable);
21 } 28 }
src/main/java/com/bsth/repository/schedule/GuideboardInfoRepository.java
@@ -2,6 +2,10 @@ package com.bsth.repository.schedule; @@ -2,6 +2,10 @@ package com.bsth.repository.schedule;
2 2
3 import com.bsth.entity.schedule.GuideboardInfo; 3 import com.bsth.entity.schedule.GuideboardInfo;
4 import com.bsth.repository.BaseRepository; 4 import com.bsth.repository.BaseRepository;
  5 +import org.springframework.data.domain.Page;
  6 +import org.springframework.data.domain.Pageable;
  7 +import org.springframework.data.jpa.domain.Specification;
  8 +import org.springframework.data.jpa.repository.EntityGraph;
5 import org.springframework.stereotype.Repository; 9 import org.springframework.stereotype.Repository;
6 10
7 /** 11 /**
@@ -9,4 +13,8 @@ import org.springframework.stereotype.Repository; @@ -9,4 +13,8 @@ import org.springframework.stereotype.Repository;
9 */ 13 */
10 @Repository 14 @Repository
11 public interface GuideboardInfoRepository extends BaseRepository<GuideboardInfo, Long> { 15 public interface GuideboardInfoRepository extends BaseRepository<GuideboardInfo, Long> {
  16 +
  17 + @EntityGraph(value = "guideboardInfo_xl", type = EntityGraph.EntityGraphType.FETCH)
  18 + @Override
  19 + Page<GuideboardInfo> findAll(Specification<GuideboardInfo> spec, Pageable pageable);
12 } 20 }
src/main/java/com/bsth/repository/schedule/SchedulePlanRepository.java
@@ -2,6 +2,10 @@ package com.bsth.repository.schedule; @@ -2,6 +2,10 @@ package com.bsth.repository.schedule;
2 2
3 import com.bsth.entity.schedule.SchedulePlan; 3 import com.bsth.entity.schedule.SchedulePlan;
4 import com.bsth.repository.BaseRepository; 4 import com.bsth.repository.BaseRepository;
  5 +import org.springframework.data.domain.Page;
  6 +import org.springframework.data.domain.Pageable;
  7 +import org.springframework.data.jpa.domain.Specification;
  8 +import org.springframework.data.jpa.repository.EntityGraph;
5 import org.springframework.stereotype.Repository; 9 import org.springframework.stereotype.Repository;
6 10
7 /** 11 /**
@@ -9,4 +13,7 @@ import org.springframework.stereotype.Repository; @@ -9,4 +13,7 @@ import org.springframework.stereotype.Repository;
9 */ 13 */
10 @Repository 14 @Repository
11 public interface SchedulePlanRepository extends BaseRepository<SchedulePlan, Long> { 15 public interface SchedulePlanRepository extends BaseRepository<SchedulePlan, Long> {
  16 + @EntityGraph(value = "schedulePlan_xl_ttinfo", type = EntityGraph.EntityGraphType.FETCH)
  17 + @Override
  18 + Page<SchedulePlan> findAll(Specification<SchedulePlan> spec, Pageable pageable);
12 } 19 }
src/main/java/com/bsth/repository/schedule/TTInfoRepository.java
@@ -2,6 +2,10 @@ package com.bsth.repository.schedule; @@ -2,6 +2,10 @@ package com.bsth.repository.schedule;
2 2
3 import com.bsth.entity.schedule.TTInfo; 3 import com.bsth.entity.schedule.TTInfo;
4 import com.bsth.repository.BaseRepository; 4 import com.bsth.repository.BaseRepository;
  5 +import org.springframework.data.domain.Page;
  6 +import org.springframework.data.domain.Pageable;
  7 +import org.springframework.data.jpa.domain.Specification;
  8 +import org.springframework.data.jpa.repository.EntityGraph;
5 import org.springframework.stereotype.Repository; 9 import org.springframework.stereotype.Repository;
6 10
7 /** 11 /**
@@ -9,4 +13,8 @@ import org.springframework.stereotype.Repository; @@ -9,4 +13,8 @@ import org.springframework.stereotype.Repository;
9 */ 13 */
10 @Repository 14 @Repository
11 public interface TTInfoRepository extends BaseRepository<TTInfo, Long> { 15 public interface TTInfoRepository extends BaseRepository<TTInfo, Long> {
  16 +
  17 + @EntityGraph(value = "ttInfo_xl", type = EntityGraph.EntityGraphType.FETCH)
  18 + @Override
  19 + Page<TTInfo> findAll(Specification<TTInfo> spec, Pageable pageable);
12 } 20 }
src/main/java/com/bsth/service/schedule/utils/DataToolsProperties.java
1 -package com.bsth.service.schedule.utils;  
2 -  
3 -import org.springframework.boot.context.properties.ConfigurationProperties;  
4 -  
5 -import javax.validation.constraints.NotNull;  
6 -  
7 -/**  
8 - * 配置数据导入导出用到的配置信息  
9 - */  
10 -@ConfigurationProperties(  
11 - locations = "classpath:datatools/config.properties",  
12 - ignoreInvalidFields = true,  
13 - prefix = "datatools"  
14 -)  
15 -public class DataToolsProperties {  
16 -  
17 - /** 上传文件目录配置(根据不同的环境需要修正) */  
18 - @NotNull  
19 - private String fileuploadDir;  
20 -  
21 - /** ktr转换文件,中配置的错误输出目录(根据不同的环境需要修正) */  
22 - @NotNull  
23 - private String transErrordir;  
24 -  
25 - /** 测试temp的ktr转换文件 */  
26 - @NotNull  
27 - private String tempDatainputktr;  
28 - /** 车辆信息导入ktr转换 */  
29 - @NotNull  
30 - private String carsDatainputktr;  
31 - /** 人员信息导入ktr转换 */  
32 - @NotNull  
33 - private String employeesDatainputktr;  
34 -  
35 - // TODO:  
36 -  
37 - public String getFileuploadDir() {  
38 - return fileuploadDir;  
39 - }  
40 -  
41 - public void setFileuploadDir(String fileuploadDir) {  
42 - this.fileuploadDir = fileuploadDir;  
43 - }  
44 -  
45 - public String getTransErrordir() {  
46 - return transErrordir;  
47 - }  
48 -  
49 - public void setTransErrordir(String transErrordir) {  
50 - this.transErrordir = transErrordir;  
51 - }  
52 -  
53 - public String getTempDatainputktr() {  
54 - return tempDatainputktr;  
55 - }  
56 -  
57 - public void setTempDatainputktr(String tempDatainputktr) {  
58 - this.tempDatainputktr = tempDatainputktr;  
59 - }  
60 -  
61 - public String getCarsDatainputktr() {  
62 - return carsDatainputktr;  
63 - }  
64 -  
65 - public void setCarsDatainputktr(String carsDatainputktr) {  
66 - this.carsDatainputktr = carsDatainputktr;  
67 - }  
68 -  
69 - public String getEmployeesDatainputktr() {  
70 - return employeesDatainputktr;  
71 - }  
72 -  
73 - public void setEmployeesDatainputktr(String employeesDatainputktr) {  
74 - this.employeesDatainputktr = employeesDatainputktr;  
75 - }  
76 -} 1 +package com.bsth.service.schedule.utils;
  2 +
  3 +import org.springframework.boot.context.properties.ConfigurationProperties;
  4 +
  5 +import javax.validation.constraints.NotNull;
  6 +
  7 +/**
  8 + * 配置数据导入导出用到的配置信息
  9 + */
  10 +@ConfigurationProperties(
  11 + locations = "classpath:datatools/config.properties",
  12 + ignoreInvalidFields = true,
  13 + prefix = "datatools"
  14 +)
  15 +public class DataToolsProperties {
  16 +
  17 + /** 上传文件目录配置(根据不同的环境需要修正) */
  18 + @NotNull
  19 + private String fileuploadDir;
  20 +
  21 + /** ktr转换文件,中配置的错误输出目录(根据不同的环境需要修正) */
  22 + @NotNull
  23 + private String transErrordir;
  24 +
  25 + /** 测试temp的ktr转换文件 */
  26 + @NotNull
  27 + private String tempDatainputktr;
  28 + /** 车辆信息导入ktr转换 */
  29 + @NotNull
  30 + private String carsDatainputktr;
  31 + /** 人员信息导入ktr转换 */
  32 + @NotNull
  33 + private String employeesDatainputktr;
  34 + /** 车辆配置信息导入 */
  35 + @NotNull
  36 + private String carsconfigDatainputktr;
  37 + /** 人员配置信息导入 */
  38 + @NotNull
  39 + private String employeesconfigDatainputktr;
  40 + /** 路牌信息导入 */
  41 + @NotNull
  42 + private String guideboardsDatainputktr;
  43 + /** 时刻表基础信息导入 */
  44 + @NotNull
  45 + private String ttinfoDatainputktr;
  46 +
  47 + // TODO:
  48 +
  49 + public String getFileuploadDir() {
  50 + return fileuploadDir;
  51 + }
  52 +
  53 + public void setFileuploadDir(String fileuploadDir) {
  54 + this.fileuploadDir = fileuploadDir;
  55 + }
  56 +
  57 + public String getTransErrordir() {
  58 + return transErrordir;
  59 + }
  60 +
  61 + public void setTransErrordir(String transErrordir) {
  62 + this.transErrordir = transErrordir;
  63 + }
  64 +
  65 + public String getTempDatainputktr() {
  66 + return tempDatainputktr;
  67 + }
  68 +
  69 + public void setTempDatainputktr(String tempDatainputktr) {
  70 + this.tempDatainputktr = tempDatainputktr;
  71 + }
  72 +
  73 + public String getCarsDatainputktr() {
  74 + return carsDatainputktr;
  75 + }
  76 +
  77 + public void setCarsDatainputktr(String carsDatainputktr) {
  78 + this.carsDatainputktr = carsDatainputktr;
  79 + }
  80 +
  81 + public String getEmployeesDatainputktr() {
  82 + return employeesDatainputktr;
  83 + }
  84 +
  85 + public void setEmployeesDatainputktr(String employeesDatainputktr) {
  86 + this.employeesDatainputktr = employeesDatainputktr;
  87 + }
  88 +
  89 + public String getCarsconfigDatainputktr() {
  90 + return carsconfigDatainputktr;
  91 + }
  92 +
  93 + public void setCarsconfigDatainputktr(String carsconfigDatainputktr) {
  94 + this.carsconfigDatainputktr = carsconfigDatainputktr;
  95 + }
  96 +
  97 + public String getEmployeesconfigDatainputktr() {
  98 + return employeesconfigDatainputktr;
  99 + }
  100 +
  101 + public void setEmployeesconfigDatainputktr(String employeesconfigDatainputktr) {
  102 + this.employeesconfigDatainputktr = employeesconfigDatainputktr;
  103 + }
  104 +
  105 + public String getGuideboardsDatainputktr() {
  106 + return guideboardsDatainputktr;
  107 + }
  108 +
  109 + public void setGuideboardsDatainputktr(String guideboardsDatainputktr) {
  110 + this.guideboardsDatainputktr = guideboardsDatainputktr;
  111 + }
  112 +
  113 + public String getTtinfoDatainputktr() {
  114 + return ttinfoDatainputktr;
  115 + }
  116 +
  117 + public void setTtinfoDatainputktr(String ttinfoDatainputktr) {
  118 + this.ttinfoDatainputktr = ttinfoDatainputktr;
  119 + }
  120 +}
src/main/resources/datatools/config.properties
1 -# 配置数据导入导出用到的配置信息  
2 -  
3 -# 上传文件目录配置(根据不同的环境需要修正)  
4 -datatools.fileupload_dir=/Users/xu/resource/project/bsth_control_u_d_files  
5 -# ktr转换文件,中配置的错误输出目录(根据不同的环境需要修正)  
6 -datatools.trans_errordir=/Users/xu/resource/project/bsth_control_u_d_files/erroroutput  
7 -  
8 -# 以下是封装数据导入导出逻辑的ktr转换文件,类路径,以后考虑放到数据库中  
9 -# 测试temp的ktr转换文件  
10 -datatools.temp_datainputktr=/datatools/ktrs/test.ktr  
11 -# 车辆信息导入ktr转换  
12 -datatools.cars_datainputktr=/datatools/ktrs/carsDataInput.ktr  
13 -# 人员信息导入  
14 -datatools.employees_datainputktr=/datatools/ktrs/employeesDataInput.ktr  
15 -# 时刻表基础信息导入  
16 -  
17 -# 时刻明细信息导入  
18 -  
19 -# 车辆配置信息导入  
20 -  
21 -# 人员配置信息导入  
22 -  
23 -# 排班规则信息导入**  
24 \ No newline at end of file 1 \ No newline at end of file
  2 +# 配置数据导入导出用到的配置信息
  3 +
  4 +# 上传文件目录配置(根据不同的环境需要修正)
  5 +datatools.fileupload_dir=/Users/xu/resource/project/bsth_control_u_d_files
  6 +# ktr转换文件,中配置的错误输出目录(根据不同的环境需要修正)
  7 +datatools.trans_errordir=/Users/xu/resource/project/bsth_control_u_d_files/erroroutput
  8 +
  9 +# 以下是封装数据导入导出逻辑的ktr转换文件,类路径,以后考虑放到数据库中
  10 +# 测试temp的ktr转换文件
  11 +datatools.temp_datainputktr=/datatools/ktrs/test.ktr
  12 +# 车辆信息导入ktr转换
  13 +datatools.cars_datainputktr=/datatools/ktrs/carsDataInput.ktr
  14 +# 人员信息导入
  15 +datatools.employees_datainputktr=/datatools/ktrs/employeesDataInput.ktr
  16 +# 路牌信息导入
  17 +datatools.guideboards_datainputktr=/datatools/ktrs/guideboardDataInput.ktr
  18 +# 时刻表基础信息导入
  19 +datatools.ttinfo_datainputktr=/datatools/ktrs/ttinfoDataInput.ktr
  20 +# 时刻表明细信息导入
  21 +
  22 +# 车辆配置信息导入
  23 +datatools.carsconfig_datainputktr=/datatools/ktrs/carsConfigDataInput.ktr
  24 +# 人员配置信息导入
  25 +datatools.employeesconfig_datainputktr=/datatools/ktrs/employeesConfigDataInput.ktr
  26 +
  27 +# 排班规则信息导入
25 \ No newline at end of file 28 \ No newline at end of file
src/main/resources/datatools/ktrs/carsConfigDataInput.ktr 0 → 100644
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<transformation>
  3 + <info>
  4 + <name>carsConfigDataInput</name>
  5 + <description>&#x8f66;&#x8f86;&#x914d;&#x7f6e;&#x4fe1;&#x606f;&#x5bfc;&#x5165;</description>
  6 + <extended_description>&#x914d;&#x8f66;&#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 13&#x3a;15&#x3a;32.118</created_date>
  81 + <modified_user>-</modified_user>
  82 + <modified_date>2016&#x2f;06&#x2f;29 13&#x3a;15&#x3a;32.118</modified_date>
  83 + <key_for_session_key/>
  84 + <is_key_private>N</is_key_private>
  85 + </info>
  86 + <notepads>
  87 + <notepad>
  88 + <note>&#x914d;&#x8f66;&#x5206;&#x5f53;&#x524d;&#x2f;&#x5386;&#x53f2;&#x2f;&#x8ba1;&#x5212;&#xff0c;&#x5386;&#x53f2;&#x914d;&#x8f66;&#x6709;&#x7ec8;&#x6b62;&#x65f6;&#x95f4;&#xff0c;&#x7136;&#x540e;&#x662f;&#x5426;&#x5207;&#x6362;&#x57fa;&#x672c;&#x90fd;&#x662f;1&#xa;&#x662f;&#x5426;&#x5207;&#x6362; &#x6682;&#x65f6;&#x4e0d;&#x77e5;&#x9053;&#x4ec0;&#x4e48;&#x610f;&#x601d;&#xff0c;&#x5f53;&#x524d;&#x914d;&#x8f66;&#x90fd;&#x8bbe;&#x7f6e;&#x4e3a;0&#xa;&#x7ec8;&#x6b62;&#x65f6;&#x95f4; &#x5f53;&#x524d;&#x914d;&#x8f66;&#x6ca1;&#x6709;&#x7ec8;&#x6b62;&#x65f6;&#x95f4;&#xff0c;&#x8fd9;&#x4e2a;&#x4f30;&#x8ba1;&#x8981;&#x4f5c;&#x4e3a;&#x67e5;&#x8be2;&#x6761;&#x4ef6;&#x7684;&#xa;&#x65e9;&#x73ed;&#x65f6;&#x95f4; &#x6ca1;&#x6709;&#x6682;&#x65f6;&#x7a7a;&#x7740;&#xa;&#x672b;&#x73ed;&#x65f6;&#x95f4; &#x6ca1;&#x6709;&#x6682;&#x65f6;&#x7a7a;&#x7740;</note>
  89 + <xloc>260</xloc>
  90 + <yloc>124</yloc>
  91 + <width>391</width>
  92 + <heigth>90</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>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</from><to>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</to><enabled>Y</enabled> </hop>
  217 + <hop> <from>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</from><to>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop>
  218 + <hop> <from>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ccinfo</from><to>&#x9519;&#x8bef;&#x8f93;&#x51fa;</to><enabled>Y</enabled> </hop>
  219 + <hop> <from>&#x662f;&#x5426;&#x5207;&#x6362;</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ccinfo</to><enabled>Y</enabled> </hop>
  220 + <hop> <from>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x5173;&#x8054;</from><to>&#x67e5;&#x627e;&#x8f66;&#x8f86;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop>
  221 + <hop> <from>&#x67e5;&#x627e;&#x8f66;&#x8f86;&#x5173;&#x8054;</from><to>&#x662f;&#x5426;&#x5207;&#x6362;</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>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</name>
  226 + <type>ExcelInput</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 + <header>Y</header>
  236 + <noempty>Y</noempty>
  237 + <stoponempty>N</stoponempty>
  238 + <filefield/>
  239 + <sheetfield/>
  240 + <sheetrownumfield/>
  241 + <rownumfield/>
  242 + <sheetfield/>
  243 + <filefield/>
  244 + <limit>0</limit>
  245 + <encoding/>
  246 + <add_to_result_filenames>Y</add_to_result_filenames>
  247 + <accept_filenames>Y</accept_filenames>
  248 + <accept_field>filepath_</accept_field>
  249 + <accept_stepname>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</accept_stepname>
  250 + <file>
  251 + <name/>
  252 + <filemask/>
  253 + <exclude_filemask/>
  254 + <file_required>N</file_required>
  255 + <include_subfolders>N</include_subfolders>
  256 + </file>
  257 + <fields>
  258 + <field>
  259 + <name>&#x7ebf;&#x8def;</name>
  260 + <type>String</type>
  261 + <length>-1</length>
  262 + <precision>-1</precision>
  263 + <trim_type>none</trim_type>
  264 + <repeat>N</repeat>
  265 + <format/>
  266 + <currency/>
  267 + <decimal/>
  268 + <group/>
  269 + </field>
  270 + <field>
  271 + <name>&#x5185;&#x90e8;&#x7f16;&#x7801;</name>
  272 + <type>String</type>
  273 + <length>-1</length>
  274 + <precision>-1</precision>
  275 + <trim_type>none</trim_type>
  276 + <repeat>N</repeat>
  277 + <format/>
  278 + <currency/>
  279 + <decimal/>
  280 + <group/>
  281 + </field>
  282 + <field>
  283 + <name>&#x542f;&#x7528;&#x65e5;&#x671f;</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>&#x7ec8;&#x7ed3;&#x65e5;&#x671f;</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>&#x505c;&#x8f66;&#x70b9;</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 + </fields>
  319 + <sheets>
  320 + <sheet>
  321 + <name>&#x5de5;&#x4f5c;&#x8868;1</name>
  322 + <startrow>0</startrow>
  323 + <startcol>0</startcol>
  324 + </sheet>
  325 + </sheets>
  326 + <strict_types>N</strict_types>
  327 + <error_ignored>N</error_ignored>
  328 + <error_line_skipped>N</error_line_skipped>
  329 + <bad_line_files_destination_directory/>
  330 + <bad_line_files_extension>warning</bad_line_files_extension>
  331 + <error_line_files_destination_directory/>
  332 + <error_line_files_extension>error</error_line_files_extension>
  333 + <line_number_files_destination_directory/>
  334 + <line_number_files_extension>line</line_number_files_extension>
  335 + <shortFileFieldName/>
  336 + <pathFieldName/>
  337 + <hiddenFieldName/>
  338 + <lastModificationTimeFieldName/>
  339 + <uriNameFieldName/>
  340 + <rootUriNameFieldName/>
  341 + <extensionFieldName/>
  342 + <sizeFieldName/>
  343 + <spreadsheet_type>JXL</spreadsheet_type>
  344 + <cluster_schema/>
  345 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  346 + <xloc>155</xloc>
  347 + <yloc>56</yloc>
  348 + <draw>Y</draw>
  349 + </GUI>
  350 + </step>
  351 +
  352 + <step>
  353 + <name>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</name>
  354 + <type>SelectValues</type>
  355 + <description/>
  356 + <distribute>Y</distribute>
  357 + <custom_distribution/>
  358 + <copies>1</copies>
  359 + <partitioning>
  360 + <method>none</method>
  361 + <schema_name/>
  362 + </partitioning>
  363 + <fields> <field> <name>&#x7ebf;&#x8def;</name>
  364 + <rename>xl</rename>
  365 + <length>-2</length>
  366 + <precision>-2</precision>
  367 + </field> <field> <name>&#x5185;&#x90e8;&#x7f16;&#x7801;</name>
  368 + <rename>cl</rename>
  369 + <length>-2</length>
  370 + <precision>-2</precision>
  371 + </field> <field> <name>&#x542f;&#x7528;&#x65e5;&#x671f;</name>
  372 + <rename>qyrq</rename>
  373 + <length>-2</length>
  374 + <precision>-2</precision>
  375 + </field> <field> <name>&#x7ec8;&#x7ed3;&#x65e5;&#x671f;</name>
  376 + <rename>zzrq</rename>
  377 + <length>-2</length>
  378 + <precision>-2</precision>
  379 + </field> <field> <name>&#x505c;&#x8f66;&#x70b9;</name>
  380 + <rename>tcd</rename>
  381 + <length>-2</length>
  382 + <precision>-2</precision>
  383 + </field> <select_unspecified>N</select_unspecified>
  384 + </fields> <cluster_schema/>
  385 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  386 + <xloc>306</xloc>
  387 + <yloc>56</yloc>
  388 + <draw>Y</draw>
  389 + </GUI>
  390 + </step>
  391 +
  392 + <step>
  393 + <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ccinfo</name>
  394 + <type>InsertUpdate</type>
  395 + <description/>
  396 + <distribute>Y</distribute>
  397 + <custom_distribution/>
  398 + <copies>1</copies>
  399 + <partitioning>
  400 + <method>none</method>
  401 + <schema_name/>
  402 + </partitioning>
  403 + <connection>bus_control_&#x516c;&#x53f8;_201</connection>
  404 + <commit>100</commit>
  405 + <update_bypassed>N</update_bypassed>
  406 + <lookup>
  407 + <schema/>
  408 + <table>bsth_c_s_ccinfo</table>
  409 + <key>
  410 + <name>xlId</name>
  411 + <field>xl</field>
  412 + <condition>&#x3d;</condition>
  413 + <name2/>
  414 + </key>
  415 + <key>
  416 + <name>clId</name>
  417 + <field>cl</field>
  418 + <condition>&#x3d;</condition>
  419 + <name2/>
  420 + </key>
  421 + <value>
  422 + <name>xl</name>
  423 + <rename>xlId</rename>
  424 + <update>Y</update>
  425 + </value>
  426 + <value>
  427 + <name>cl</name>
  428 + <rename>clId</rename>
  429 + <update>Y</update>
  430 + </value>
  431 + <value>
  432 + <name>is_switch</name>
  433 + <rename>isswitch</rename>
  434 + <update>Y</update>
  435 + </value>
  436 + <value>
  437 + <name>tcd</name>
  438 + <rename>tcd</rename>
  439 + <update>Y</update>
  440 + </value>
  441 + <value>
  442 + <name>zzrq</name>
  443 + <rename>zzrq</rename>
  444 + <update>Y</update>
  445 + </value>
  446 + <value>
  447 + <name>qyrq</name>
  448 + <rename>qyrq</rename>
  449 + <update>Y</update>
  450 + </value>
  451 + </lookup>
  452 + <cluster_schema/>
  453 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  454 + <xloc>715</xloc>
  455 + <yloc>197</yloc>
  456 + <draw>Y</draw>
  457 + </GUI>
  458 + </step>
  459 +
  460 + <step>
  461 + <name>&#x662f;&#x5426;&#x5207;&#x6362;</name>
  462 + <type>Constant</type>
  463 + <description/>
  464 + <distribute>Y</distribute>
  465 + <custom_distribution/>
  466 + <copies>1</copies>
  467 + <partitioning>
  468 + <method>none</method>
  469 + <schema_name/>
  470 + </partitioning>
  471 + <fields>
  472 + <field>
  473 + <name>isswitch</name>
  474 + <type>Integer</type>
  475 + <format/>
  476 + <currency/>
  477 + <decimal/>
  478 + <group/>
  479 + <nullif>0</nullif>
  480 + <length>-1</length>
  481 + <precision>-1</precision>
  482 + <set_empty_string>N</set_empty_string>
  483 + </field>
  484 + </fields>
  485 + <cluster_schema/>
  486 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  487 + <xloc>713</xloc>
  488 + <yloc>54</yloc>
  489 + <draw>Y</draw>
  490 + </GUI>
  491 + </step>
  492 +
  493 + <step>
  494 + <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x5173;&#x8054;</name>
  495 + <type>DBLookup</type>
  496 + <description/>
  497 + <distribute>Y</distribute>
  498 + <custom_distribution/>
  499 + <copies>1</copies>
  500 + <partitioning>
  501 + <method>none</method>
  502 + <schema_name/>
  503 + </partitioning>
  504 + <connection>bus_control_&#x516c;&#x53f8;_201</connection>
  505 + <cache>N</cache>
  506 + <cache_load_all>N</cache_load_all>
  507 + <cache_size>0</cache_size>
  508 + <lookup>
  509 + <schema/>
  510 + <table>bsth_c_line</table>
  511 + <orderby/>
  512 + <fail_on_multiple>N</fail_on_multiple>
  513 + <eat_row_on_failure>N</eat_row_on_failure>
  514 + <key>
  515 + <name>xl</name>
  516 + <field>name</field>
  517 + <condition>&#x3d;</condition>
  518 + <name2/>
  519 + </key>
  520 + <value>
  521 + <name>id</name>
  522 + <rename>xlId</rename>
  523 + <default/>
  524 + <type>Integer</type>
  525 + </value>
  526 + </lookup>
  527 + <cluster_schema/>
  528 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  529 + <xloc>439</xloc>
  530 + <yloc>56</yloc>
  531 + <draw>Y</draw>
  532 + </GUI>
  533 + </step>
  534 +
  535 + <step>
  536 + <name>&#x67e5;&#x627e;&#x8f66;&#x8f86;&#x5173;&#x8054;</name>
  537 + <type>DBLookup</type>
  538 + <description/>
  539 + <distribute>Y</distribute>
  540 + <custom_distribution/>
  541 + <copies>1</copies>
  542 + <partitioning>
  543 + <method>none</method>
  544 + <schema_name/>
  545 + </partitioning>
  546 + <connection>bus_control_&#x516c;&#x53f8;_201</connection>
  547 + <cache>N</cache>
  548 + <cache_load_all>N</cache_load_all>
  549 + <cache_size>0</cache_size>
  550 + <lookup>
  551 + <schema/>
  552 + <table>bsth_c_cars</table>
  553 + <orderby/>
  554 + <fail_on_multiple>N</fail_on_multiple>
  555 + <eat_row_on_failure>N</eat_row_on_failure>
  556 + <key>
  557 + <name>cl</name>
  558 + <field>inside_code</field>
  559 + <condition>&#x3d;</condition>
  560 + <name2/>
  561 + </key>
  562 + <value>
  563 + <name>id</name>
  564 + <rename>clId</rename>
  565 + <default/>
  566 + <type>Integer</type>
  567 + </value>
  568 + </lookup>
  569 + <cluster_schema/>
  570 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  571 + <xloc>579</xloc>
  572 + <yloc>55</yloc>
  573 + <draw>Y</draw>
  574 + </GUI>
  575 + </step>
  576 +
  577 + <step>
  578 + <name>&#x9519;&#x8bef;&#x8f93;&#x51fa;</name>
  579 + <type>ExcelOutput</type>
  580 + <description/>
  581 + <distribute>Y</distribute>
  582 + <custom_distribution/>
  583 + <copies>1</copies>
  584 + <partitioning>
  585 + <method>none</method>
  586 + <schema_name/>
  587 + </partitioning>
  588 + <header>Y</header>
  589 + <footer>N</footer>
  590 + <encoding>UTF-8</encoding>
  591 + <append>N</append>
  592 + <add_to_result_filenames>Y</add_to_result_filenames>
  593 + <file>
  594 + <name>&#x24;&#x7b;erroroutputdir&#x7d;&#x2f;&#x5f53;&#x524d;&#x914d;&#x8f66;_&#x9519;&#x8bef;</name>
  595 + <extention>xls</extention>
  596 + <do_not_open_newfile_init>N</do_not_open_newfile_init>
  597 + <create_parent_folder>N</create_parent_folder>
  598 + <split>N</split>
  599 + <add_date>N</add_date>
  600 + <add_time>N</add_time>
  601 + <SpecifyFormat>N</SpecifyFormat>
  602 + <date_time_format/>
  603 + <sheetname>Sheet1</sheetname>
  604 + <autosizecolums>N</autosizecolums>
  605 + <nullisblank>N</nullisblank>
  606 + <protect_sheet>N</protect_sheet>
  607 + <password>Encrypted </password>
  608 + <splitevery>0</splitevery>
  609 + <usetempfiles>N</usetempfiles>
  610 + <tempdirectory/>
  611 + </file>
  612 + <template>
  613 + <enabled>N</enabled>
  614 + <append>N</append>
  615 + <filename>template.xls</filename>
  616 + </template>
  617 + <fields>
  618 + <field>
  619 + <name>xl</name>
  620 + <type>String</type>
  621 + <format/>
  622 + </field>
  623 + <field>
  624 + <name>cl</name>
  625 + <type>String</type>
  626 + <format/>
  627 + </field>
  628 + <field>
  629 + <name>qyrq</name>
  630 + <type>String</type>
  631 + <format/>
  632 + </field>
  633 + <field>
  634 + <name>zzrq</name>
  635 + <type>String</type>
  636 + <format/>
  637 + </field>
  638 + <field>
  639 + <name>tcd</name>
  640 + <type>String</type>
  641 + <format/>
  642 + </field>
  643 + <field>
  644 + <name>xlId</name>
  645 + <type>Integer</type>
  646 + <format/>
  647 + </field>
  648 + <field>
  649 + <name>clId</name>
  650 + <type>Integer</type>
  651 + <format/>
  652 + </field>
  653 + <field>
  654 + <name>isswitch</name>
  655 + <type>Integer</type>
  656 + <format/>
  657 + </field>
  658 + <field>
  659 + <name>error_count</name>
  660 + <type>Integer</type>
  661 + <format/>
  662 + </field>
  663 + <field>
  664 + <name>error_desc</name>
  665 + <type>String</type>
  666 + <format/>
  667 + </field>
  668 + <field>
  669 + <name>error_column1</name>
  670 + <type>String</type>
  671 + <format/>
  672 + </field>
  673 + <field>
  674 + <name>error_column2</name>
  675 + <type>String</type>
  676 + <format/>
  677 + </field>
  678 + </fields>
  679 + <custom>
  680 + <header_font_name>arial</header_font_name>
  681 + <header_font_size>10</header_font_size>
  682 + <header_font_bold>N</header_font_bold>
  683 + <header_font_italic>N</header_font_italic>
  684 + <header_font_underline>no</header_font_underline>
  685 + <header_font_orientation>horizontal</header_font_orientation>
  686 + <header_font_color>black</header_font_color>
  687 + <header_background_color>none</header_background_color>
  688 + <header_row_height>255</header_row_height>
  689 + <header_alignment>left</header_alignment>
  690 + <header_image/>
  691 + <row_font_name>arial</row_font_name>
  692 + <row_font_size>10</row_font_size>
  693 + <row_font_color>black</row_font_color>
  694 + <row_background_color>none</row_background_color>
  695 + </custom>
  696 + <cluster_schema/>
  697 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  698 + <xloc>718</xloc>
  699 + <yloc>314</yloc>
  700 + <draw>Y</draw>
  701 + </GUI>
  702 + </step>
  703 +
  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>
  750 + <error>
  751 + <source_step>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ccinfo</source_step>
  752 + <target_step>&#x9519;&#x8bef;&#x8f93;&#x51fa;</target_step>
  753 + <is_enabled>Y</is_enabled>
  754 + <nr_valuename>error_count</nr_valuename>
  755 + <descriptions_valuename>error_desc</descriptions_valuename>
  756 + <fields_valuename>error_column1</fields_valuename>
  757 + <codes_valuename>error_column2</codes_valuename>
  758 + <max_errors/>
  759 + <max_pct_errors/>
  760 + <min_pct_rows/>
  761 + </error>
  762 + </step_error_handling>
  763 + <slave-step-copy-partition-distribution>
  764 +</slave-step-copy-partition-distribution>
  765 + <slave_transformation>N</slave_transformation>
  766 +
  767 +</transformation>
src/main/resources/datatools/ktrs/carsDataInput.ktr
  1 +<<<<<<< HEAD
  2 +<?xml version="1.0" encoding="UTF-8"?>
  3 +<transformation>
  4 + <info>
  5 + <name>carsDataInput</name>
  6 + <description>&#x8f66;&#x8f86;&#x4fe1;&#x606f;&#x5bfc;&#x5165;</description>
  7 + <extended_description>&#x8f66;&#x8f86;&#x57fa;&#x7840;&#x4fe1;&#x606f;</extended_description>
  8 + <trans_version/>
  9 + <trans_type>Normal</trans_type>
  10 + <trans_status>0</trans_status>
  11 + <directory>&#x2f;</directory>
  12 + <parameters>
  13 + <parameter>
  14 + <name>erroroutputdir</name>
  15 + <default_value/>
  16 + <description>ktr step&#x914d;&#x7f6e;&#x7684;&#x9519;&#x8bef;&#x8f93;&#x51fa;&#x76ee;&#x5f55;</description>
  17 + </parameter>
  18 + <parameter>
  19 + <name>filepath</name>
  20 + <default_value/>
  21 + <description>&#x5f85;&#x5904;&#x7406;&#x5bfc;&#x5165;&#x7684;excel&#x6587;&#x4ef6;</description>
  22 + </parameter>
  23 + </parameters>
  24 + <log>
  25 +<trans-log-table><connection/>
  26 +<schema/>
  27 +<table/>
  28 +<size_limit_lines/>
  29 +<interval/>
  30 +<timeout_days/>
  31 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>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>
  32 +<perf-log-table><connection/>
  33 +<schema/>
  34 +<table/>
  35 +<interval/>
  36 +<timeout_days/>
  37 +<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>
  38 +<channel-log-table><connection/>
  39 +<schema/>
  40 +<table/>
  41 +<timeout_days/>
  42 +<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>
  43 +<step-log-table><connection/>
  44 +<schema/>
  45 +<table/>
  46 +<timeout_days/>
  47 +<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>
  48 +<metrics-log-table><connection/>
  49 +<schema/>
  50 +<table/>
  51 +<timeout_days/>
  52 +<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>
  53 + </log>
  54 + <maxdate>
  55 + <connection/>
  56 + <table/>
  57 + <field/>
  58 + <offset>0.0</offset>
  59 + <maxdiff>0.0</maxdiff>
  60 + </maxdate>
  61 + <size_rowset>10000</size_rowset>
  62 + <sleep_time_empty>50</sleep_time_empty>
  63 + <sleep_time_full>50</sleep_time_full>
  64 + <unique_connections>N</unique_connections>
  65 + <feedback_shown>Y</feedback_shown>
  66 + <feedback_size>50000</feedback_size>
  67 + <using_thread_priorities>Y</using_thread_priorities>
  68 + <shared_objects_file/>
  69 + <capture_step_performance>N</capture_step_performance>
  70 + <step_performance_capturing_delay>1000</step_performance_capturing_delay>
  71 + <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit>
  72 + <dependencies>
  73 + </dependencies>
  74 + <partitionschemas>
  75 + </partitionschemas>
  76 + <slaveservers>
  77 + </slaveservers>
  78 + <clusterschemas>
  79 + </clusterschemas>
  80 + <created_user>-</created_user>
  81 + <created_date>2016&#x2f;06&#x2f;23 17&#x3a;44&#x3a;46.781</created_date>
  82 + <modified_user>-</modified_user>
  83 + <modified_date>2016&#x2f;06&#x2f;23 17&#x3a;44&#x3a;46.781</modified_date>
  84 + <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</key_for_session_key>
  85 + <is_key_private>N</is_key_private>
  86 + </info>
  87 + <notepads>
  88 + <notepad>
  89 + <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>
  90 + <xloc>365</xloc>
  91 + <yloc>136</yloc>
  92 + <width>346</width>
  93 + <heigth>122</heigth>
  94 + <fontname>YaHei Consolas Hybrid</fontname>
  95 + <fontsize>12</fontsize>
  96 + <fontbold>N</fontbold>
  97 + <fontitalic>N</fontitalic>
  98 + <fontcolorred>0</fontcolorred>
  99 + <fontcolorgreen>0</fontcolorgreen>
  100 + <fontcolorblue>0</fontcolorblue>
  101 + <backgroundcolorred>255</backgroundcolorred>
  102 + <backgroundcolorgreen>205</backgroundcolorgreen>
  103 + <backgroundcolorblue>112</backgroundcolorblue>
  104 + <bordercolorred>100</bordercolorred>
  105 + <bordercolorgreen>100</bordercolorgreen>
  106 + <bordercolorblue>100</bordercolorblue>
  107 + <drawshadow>Y</drawshadow>
  108 + </notepad>
  109 + </notepads>
  110 + <connection>
  111 + <name>bus_control_&#x516c;&#x53f8;_201</name>
  112 + <server>192.168.168.201</server>
  113 + <type>MYSQL</type>
  114 + <access>Native</access>
  115 + <database>control</database>
  116 + <port>3306</port>
  117 + <username>root</username>
  118 + <password>Encrypted 2be98afc86aa7f2e4cb79ff228dc6fa8c</password>
  119 + <servername/>
  120 + <data_tablespace/>
  121 + <index_tablespace/>
  122 + <attributes>
  123 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  124 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  125 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  126 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  127 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  128 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  129 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  130 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  131 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  132 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  133 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  134 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  135 + </attributes>
  136 + </connection>
  137 + <connection>
  138 + <name>xlab_mysql_youle</name>
  139 + <server>101.231.124.8</server>
  140 + <type>MYSQL</type>
  141 + <access>Native</access>
  142 + <database>xlab_youle</database>
  143 + <port>45687</port>
  144 + <username>xlab-youle</username>
  145 + <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password>
  146 + <servername/>
  147 + <data_tablespace/>
  148 + <index_tablespace/>
  149 + <attributes>
  150 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  151 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  152 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  153 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  154 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  155 + <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute>
  156 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  157 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  158 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  159 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  160 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  161 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  162 + </attributes>
  163 + </connection>
  164 + <connection>
  165 + <name>xlab_mysql_youle&#xff08;&#x672c;&#x673a;&#xff09;</name>
  166 + <server>localhost</server>
  167 + <type>MYSQL</type>
  168 + <access>Native</access>
  169 + <database>xlab_youle</database>
  170 + <port>3306</port>
  171 + <username>root</username>
  172 + <password>Encrypted </password>
  173 + <servername/>
  174 + <data_tablespace/>
  175 + <index_tablespace/>
  176 + <attributes>
  177 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  178 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  179 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  180 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  181 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  182 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  183 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  184 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  185 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  186 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  187 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  188 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  189 + </attributes>
  190 + </connection>
  191 + <connection>
  192 + <name>xlab_youle</name>
  193 + <server/>
  194 + <type>MYSQL</type>
  195 + <access>JNDI</access>
  196 + <database>xlab_youle</database>
  197 + <port>1521</port>
  198 + <username/>
  199 + <password>Encrypted </password>
  200 + <servername/>
  201 + <data_tablespace/>
  202 + <index_tablespace/>
  203 + <attributes>
  204 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  205 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  206 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  207 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  208 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  209 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  210 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  211 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  212 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  213 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  214 + </attributes>
  215 + </connection>
  216 + <order>
  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>&#x662f;&#x5426;&#x7a7a;&#x8c03;&#x8f66;</to><enabled>Y</enabled> </hop>
  219 + <hop> <from>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_cars</from><to>&#x9519;&#x8bef;&#x8f93;&#x51fa;</to><enabled>Y</enabled> </hop>
  220 + <hop> <from>&#x662f;&#x5426;&#x6709;LED&#x670d;&#x52a1;&#x5c4f;</from><to>&#x662f;&#x5426;&#x6709;TV&#x89c6;&#x9891;</to><enabled>Y</enabled> </hop>
  221 + <hop> <from>&#x662f;&#x5426;&#x6709;TV&#x89c6;&#x9891;</from><to>&#x662f;&#x5426;&#x7684;&#x53d8;&#x6210;&#x6570;&#x5b57;&#x578b;</to><enabled>Y</enabled> </hop>
  222 + <hop> <from>&#x662f;&#x5426;&#x7684;&#x53d8;&#x6210;&#x6570;&#x5b57;&#x578b;</from><to>&#x516c;&#x4ea4;&#x4f01;&#x4e1a;&#x4ee3;&#x7801;</to><enabled>Y</enabled> </hop>
  223 + <hop> <from>&#x662f;&#x5426;&#x7a7a;&#x8c03;&#x8f66;</from><to>&#x6709;&#x65e0;&#x4eba;&#x552e;&#x7968;</to><enabled>Y</enabled> </hop>
  224 + <hop> <from>&#x6709;&#x65e0;&#x4eba;&#x552e;&#x7968;</from><to>&#x662f;&#x5426;&#x6709;LED&#x670d;&#x52a1;&#x5c4f;</to><enabled>Y</enabled> </hop>
  225 + <hop> <from>&#x516c;&#x4ea4;&#x4f01;&#x4e1a;&#x4ee3;&#x7801;</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_cars</to><enabled>Y</enabled> </hop>
  226 + <hop> <from>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</from><to>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</to><enabled>Y</enabled> </hop>
  227 + </order>
  228 + <step>
  229 + <name>&#x516c;&#x4ea4;&#x4f01;&#x4e1a;&#x4ee3;&#x7801;</name>
  230 + <type>ValueMapper</type>
  231 + <description/>
  232 + <distribute>Y</distribute>
  233 + <custom_distribution/>
  234 + <copies>1</copies>
  235 + <partitioning>
  236 + <method>none</method>
  237 + <schema_name/>
  238 + </partitioning>
  239 + <field_to_use>company</field_to_use>
  240 + <target_field>businessCode</target_field>
  241 + <non_match_default/>
  242 + <fields>
  243 + <field>
  244 + <source_value>&#x4e0a;&#x5357;&#x516c;&#x53f8;</source_value>
  245 + <target_value>55</target_value>
  246 + </field>
  247 + <field>
  248 + <source_value>&#x91d1;&#x9ad8;&#x516c;&#x53f8;</source_value>
  249 + <target_value>22</target_value>
  250 + </field>
  251 + <field>
  252 + <source_value>&#x6768;&#x9ad8;&#x516c;&#x53f8;</source_value>
  253 + <target_value>05</target_value>
  254 + </field>
  255 + <field>
  256 + <source_value>&#x5357;&#x6c47;&#x516c;&#x53f8;</source_value>
  257 + <target_value>26</target_value>
  258 + </field>
  259 + <field>
  260 + <source_value>&#x516c;&#x4ea4;&#x516c;&#x53f8;</source_value>
  261 + <target_value>88</target_value>
  262 + </field>
  263 + <field>
  264 + <source_value>&#x95f5;&#x884c;&#x516c;&#x4ea4;</source_value>
  265 + <target_value>77</target_value>
  266 + </field>
  267 + </fields>
  268 + <cluster_schema/>
  269 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  270 + <xloc>841</xloc>
  271 + <yloc>166</yloc>
  272 + <draw>Y</draw>
  273 + </GUI>
  274 + </step>
  275 +
  276 + <step>
  277 + <name>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</name>
  278 + <type>ExcelInput</type>
  279 + <description/>
  280 + <distribute>Y</distribute>
  281 + <custom_distribution/>
  282 + <copies>1</copies>
  283 + <partitioning>
  284 + <method>none</method>
  285 + <schema_name/>
  286 + </partitioning>
  287 + <header>Y</header>
  288 + <noempty>Y</noempty>
  289 + <stoponempty>N</stoponempty>
  290 + <filefield/>
  291 + <sheetfield/>
  292 + <sheetrownumfield/>
  293 + <rownumfield/>
  294 + <sheetfield/>
  295 + <filefield/>
  296 + <limit>0</limit>
  297 + <encoding/>
  298 + <add_to_result_filenames>Y</add_to_result_filenames>
  299 + <accept_filenames>Y</accept_filenames>
  300 + <accept_field>filepath_</accept_field>
  301 + <accept_stepname>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</accept_stepname>
  302 + <file>
  303 + <name/>
  304 + <filemask/>
  305 + <exclude_filemask/>
  306 + <file_required>N</file_required>
  307 + <include_subfolders>N</include_subfolders>
  308 + </file>
  309 + <fields>
  310 + <field>
  311 + <name>&#x8f66;&#x724c;&#x53f7;</name>
  312 + <type>String</type>
  313 + <length>-1</length>
  314 + <precision>-1</precision>
  315 + <trim_type>none</trim_type>
  316 + <repeat>N</repeat>
  317 + <format/>
  318 + <currency/>
  319 + <decimal/>
  320 + <group/>
  321 + </field>
  322 + <field>
  323 + <name>&#x5185;&#x90e8;&#x7f16;&#x7801;</name>
  324 + <type>String</type>
  325 + <length>-1</length>
  326 + <precision>-1</precision>
  327 + <trim_type>none</trim_type>
  328 + <repeat>N</repeat>
  329 + <format/>
  330 + <currency/>
  331 + <decimal/>
  332 + <group/>
  333 + </field>
  334 + <field>
  335 + <name>&#x8f66;&#x8f86;&#x7f16;&#x7801;</name>
  336 + <type>String</type>
  337 + <length>-1</length>
  338 + <precision>-1</precision>
  339 + <trim_type>none</trim_type>
  340 + <repeat>N</repeat>
  341 + <format/>
  342 + <currency/>
  343 + <decimal/>
  344 + <group/>
  345 + </field>
  346 + <field>
  347 + <name>&#x8f66;&#x578b;&#x7c7b;&#x522b;</name>
  348 + <type>String</type>
  349 + <length>-1</length>
  350 + <precision>-1</precision>
  351 + <trim_type>none</trim_type>
  352 + <repeat>N</repeat>
  353 + <format/>
  354 + <currency/>
  355 + <decimal/>
  356 + <group/>
  357 + </field>
  358 + <field>
  359 + <name>&#x5ea7;&#x4f4d;&#x6570;</name>
  360 + <type>String</type>
  361 + <length>-1</length>
  362 + <precision>-1</precision>
  363 + <trim_type>none</trim_type>
  364 + <repeat>N</repeat>
  365 + <format/>
  366 + <currency/>
  367 + <decimal/>
  368 + <group/>
  369 + </field>
  370 + <field>
  371 + <name>&#x8f7d;&#x5ba2;&#x6807;&#x51c6;</name>
  372 + <type>String</type>
  373 + <length>-1</length>
  374 + <precision>-1</precision>
  375 + <trim_type>none</trim_type>
  376 + <repeat>N</repeat>
  377 + <format/>
  378 + <currency/>
  379 + <decimal/>
  380 + <group/>
  381 + </field>
  382 + <field>
  383 + <name>&#x6280;&#x672f;&#x901f;&#x5ea6;</name>
  384 + <type>String</type>
  385 + <length>-1</length>
  386 + <precision>-1</precision>
  387 + <trim_type>none</trim_type>
  388 + <repeat>N</repeat>
  389 + <format/>
  390 + <currency/>
  391 + <decimal/>
  392 + <group/>
  393 + </field>
  394 + <field>
  395 + <name>&#x662f;&#x5426;&#x7a7a;&#x8c03;</name>
  396 + <type>String</type>
  397 + <length>-1</length>
  398 + <precision>-1</precision>
  399 + <trim_type>none</trim_type>
  400 + <repeat>N</repeat>
  401 + <format/>
  402 + <currency/>
  403 + <decimal/>
  404 + <group/>
  405 + </field>
  406 + <field>
  407 + <name>&#x6807;&#x51c6;&#x6cb9;&#x8017;&#x28;&#x5f00;&#x7a7a;&#x8c03;&#x29;</name>
  408 + <type>String</type>
  409 + <length>-1</length>
  410 + <precision>-1</precision>
  411 + <trim_type>none</trim_type>
  412 + <repeat>N</repeat>
  413 + <format/>
  414 + <currency/>
  415 + <decimal/>
  416 + <group/>
  417 + </field>
  418 + <field>
  419 + <name>&#x6807;&#x51c6;&#x6cb9;&#x8017;&#x28;&#x5173;&#x7a7a;&#x8c03;&#x29;</name>
  420 + <type>String</type>
  421 + <length>-1</length>
  422 + <precision>-1</precision>
  423 + <trim_type>none</trim_type>
  424 + <repeat>N</repeat>
  425 + <format/>
  426 + <currency/>
  427 + <decimal/>
  428 + <group/>
  429 + </field>
  430 + <field>
  431 + <name>&#x6709;&#x65e0;&#x4eba;&#x552e;&#x7968;</name>
  432 + <type>String</type>
  433 + <length>-1</length>
  434 + <precision>-1</precision>
  435 + <trim_type>none</trim_type>
  436 + <repeat>N</repeat>
  437 + <format/>
  438 + <currency/>
  439 + <decimal/>
  440 + <group/>
  441 + </field>
  442 + <field>
  443 + <name>&#x662f;&#x5426;&#x6709;TV&#x89c6;&#x9891;</name>
  444 + <type>String</type>
  445 + <length>-1</length>
  446 + <precision>-1</precision>
  447 + <trim_type>none</trim_type>
  448 + <repeat>N</repeat>
  449 + <format/>
  450 + <currency/>
  451 + <decimal/>
  452 + <group/>
  453 + </field>
  454 + <field>
  455 + <name>&#x662f;&#x5426;&#x6709;LED&#x670d;&#x52a1;&#x5c4f;</name>
  456 + <type>String</type>
  457 + <length>-1</length>
  458 + <precision>-1</precision>
  459 + <trim_type>none</trim_type>
  460 + <repeat>N</repeat>
  461 + <format/>
  462 + <currency/>
  463 + <decimal/>
  464 + <group/>
  465 + </field>
  466 + <field>
  467 + <name>&#x8fd0;&#x8425;&#x72b6;&#x6001;</name>
  468 + <type>String</type>
  469 + <length>-1</length>
  470 + <precision>-1</precision>
  471 + <trim_type>none</trim_type>
  472 + <repeat>N</repeat>
  473 + <format/>
  474 + <currency/>
  475 + <decimal/>
  476 + <group/>
  477 + </field>
  478 + <field>
  479 + <name>&#x542f;&#x7528;&#x65e5;&#x671f;</name>
  480 + <type>String</type>
  481 + <length>-1</length>
  482 + <precision>-1</precision>
  483 + <trim_type>none</trim_type>
  484 + <repeat>N</repeat>
  485 + <format/>
  486 + <currency/>
  487 + <decimal/>
  488 + <group/>
  489 + </field>
  490 + <field>
  491 + <name>&#x53d6;&#x6d88;&#x65e5;&#x671f;</name>
  492 + <type>String</type>
  493 + <length>-1</length>
  494 + <precision>-1</precision>
  495 + <trim_type>none</trim_type>
  496 + <repeat>N</repeat>
  497 + <format/>
  498 + <currency/>
  499 + <decimal/>
  500 + <group/>
  501 + </field>
  502 + <field>
  503 + <name>&#x62a5;&#x5e9f;&#x53f7;</name>
  504 + <type>String</type>
  505 + <length>-1</length>
  506 + <precision>-1</precision>
  507 + <trim_type>none</trim_type>
  508 + <repeat>N</repeat>
  509 + <format/>
  510 + <currency/>
  511 + <decimal/>
  512 + <group/>
  513 + </field>
  514 + <field>
  515 + <name>&#x62a5;&#x5e9f;&#x65e5;&#x671f;</name>
  516 + <type>String</type>
  517 + <length>-1</length>
  518 + <precision>-1</precision>
  519 + <trim_type>none</trim_type>
  520 + <repeat>N</repeat>
  521 + <format/>
  522 + <currency/>
  523 + <decimal/>
  524 + <group/>
  525 + </field>
  526 + <field>
  527 + <name>&#x5907;&#x6ce8;</name>
  528 + <type>String</type>
  529 + <length>-1</length>
  530 + <precision>-1</precision>
  531 + <trim_type>none</trim_type>
  532 + <repeat>N</repeat>
  533 + <format/>
  534 + <currency/>
  535 + <decimal/>
  536 + <group/>
  537 + </field>
  538 + <field>
  539 + <name>&#x8bbe;&#x5907;&#x7f16;&#x53f7;</name>
  540 + <type>String</type>
  541 + <length>-1</length>
  542 + <precision>-1</precision>
  543 + <trim_type>none</trim_type>
  544 + <repeat>N</repeat>
  545 + <format/>
  546 + <currency/>
  547 + <decimal/>
  548 + <group/>
  549 + </field>
  550 + <field>
  551 + <name>&#x5382;&#x724c;&#x578b;&#x53f7;</name>
  552 + <type>String</type>
  553 + <length>-1</length>
  554 + <precision>-1</precision>
  555 + <trim_type>none</trim_type>
  556 + <repeat>N</repeat>
  557 + <format/>
  558 + <currency/>
  559 + <decimal/>
  560 + <group/>
  561 + </field>
  562 + <field>
  563 + <name>&#x5382;&#x724c;&#x578b;&#x53f7;2</name>
  564 + <type>String</type>
  565 + <length>-1</length>
  566 + <precision>-1</precision>
  567 + <trim_type>none</trim_type>
  568 + <repeat>N</repeat>
  569 + <format/>
  570 + <currency/>
  571 + <decimal/>
  572 + <group/>
  573 + </field>
  574 + <field>
  575 + <name>&#x8f66;&#x8f86;&#x7b49;&#x7ea7;&#x6807;&#x51c6;</name>
  576 + <type>String</type>
  577 + <length>-1</length>
  578 + <precision>-1</precision>
  579 + <trim_type>none</trim_type>
  580 + <repeat>N</repeat>
  581 + <format/>
  582 + <currency/>
  583 + <decimal/>
  584 + <group/>
  585 + </field>
  586 + <field>
  587 + <name>&#x51fa;&#x5382;&#x6392;&#x653e;&#x6807;&#x51c6;</name>
  588 + <type>String</type>
  589 + <length>-1</length>
  590 + <precision>-1</precision>
  591 + <trim_type>none</trim_type>
  592 + <repeat>N</repeat>
  593 + <format/>
  594 + <currency/>
  595 + <decimal/>
  596 + <group/>
  597 + </field>
  598 + <field>
  599 + <name>&#x53d1;&#x52a8;&#x673a;&#x53f7;&#x7801;1</name>
  600 + <type>String</type>
  601 + <length>-1</length>
  602 + <precision>-1</precision>
  603 + <trim_type>none</trim_type>
  604 + <repeat>N</repeat>
  605 + <format/>
  606 + <currency/>
  607 + <decimal/>
  608 + <group/>
  609 + </field>
  610 + <field>
  611 + <name>&#x53d1;&#x52a8;&#x673a;&#x53f7;&#x7801;2</name>
  612 + <type>String</type>
  613 + <length>-1</length>
  614 + <precision>-1</precision>
  615 + <trim_type>none</trim_type>
  616 + <repeat>N</repeat>
  617 + <format/>
  618 + <currency/>
  619 + <decimal/>
  620 + <group/>
  621 + </field>
  622 + <field>
  623 + <name>&#x8f66;&#x67b6;&#x53f7;&#x7801;1</name>
  624 + <type>String</type>
  625 + <length>-1</length>
  626 + <precision>-1</precision>
  627 + <trim_type>none</trim_type>
  628 + <repeat>N</repeat>
  629 + <format/>
  630 + <currency/>
  631 + <decimal/>
  632 + <group/>
  633 + </field>
  634 + <field>
  635 + <name>&#x8f66;&#x67b6;&#x53f7;&#x7801;2</name>
  636 + <type>String</type>
  637 + <length>-1</length>
  638 + <precision>-1</precision>
  639 + <trim_type>none</trim_type>
  640 + <repeat>N</repeat>
  641 + <format/>
  642 + <currency/>
  643 + <decimal/>
  644 + <group/>
  645 + </field>
  646 + <field>
  647 + <name>&#x8f66;&#x8f86;&#x7c7b;&#x578b;</name>
  648 + <type>String</type>
  649 + <length>-1</length>
  650 + <precision>-1</precision>
  651 + <trim_type>none</trim_type>
  652 + <repeat>N</repeat>
  653 + <format/>
  654 + <currency/>
  655 + <decimal/>
  656 + <group/>
  657 + </field>
  658 + <field>
  659 + <name>&#x6240;&#x5c5e;&#x516c;&#x53f8;</name>
  660 + <type>String</type>
  661 + <length>-1</length>
  662 + <precision>-1</precision>
  663 + <trim_type>none</trim_type>
  664 + <repeat>N</repeat>
  665 + <format/>
  666 + <currency/>
  667 + <decimal/>
  668 + <group/>
  669 + </field>
  670 + <field>
  671 + <name>&#x4fee;&#x6539;&#x65e5;&#x671f;</name>
  672 + <type>String</type>
  673 + <length>-1</length>
  674 + <precision>-1</precision>
  675 + <trim_type>none</trim_type>
  676 + <repeat>N</repeat>
  677 + <format/>
  678 + <currency/>
  679 + <decimal/>
  680 + <group/>
  681 + </field>
  682 + <field>
  683 + <name>&#x662f;&#x5426;&#x673a;&#x52a8;&#x8f66;</name>
  684 + <type>String</type>
  685 + <length>-1</length>
  686 + <precision>-1</precision>
  687 + <trim_type>none</trim_type>
  688 + <repeat>N</repeat>
  689 + <format/>
  690 + <currency/>
  691 + <decimal/>
  692 + <group/>
  693 + </field>
  694 + <field>
  695 + <name>&#x89c6;&#x9891;&#x7f16;&#x53f7;</name>
  696 + <type>String</type>
  697 + <length>-1</length>
  698 + <precision>-1</precision>
  699 + <trim_type>none</trim_type>
  700 + <repeat>N</repeat>
  701 + <format/>
  702 + <currency/>
  703 + <decimal/>
  704 + <group/>
  705 + </field>
  706 + <field>
  707 + <name>&#x8bbe;&#x5907;&#x4f9b;&#x5e94;&#x5382;&#x5546;</name>
  708 + <type>String</type>
  709 + <length>-1</length>
  710 + <precision>-1</precision>
  711 + <trim_type>none</trim_type>
  712 + <repeat>N</repeat>
  713 + <format/>
  714 + <currency/>
  715 + <decimal/>
  716 + <group/>
  717 + </field>
  718 + <field>
  719 + <name>&#x5206;&#x516c;&#x53f8;</name>
  720 + <type>String</type>
  721 + <length>-1</length>
  722 + <precision>-1</precision>
  723 + <trim_type>none</trim_type>
  724 + <repeat>N</repeat>
  725 + <format/>
  726 + <currency/>
  727 + <decimal/>
  728 + <group/>
  729 + </field>
  730 + </fields>
  731 + <sheets>
  732 + <sheet>
  733 + <name>&#x5de5;&#x4f5c;&#x8868;1</name>
  734 + <startrow>0</startrow>
  735 + <startcol>0</startcol>
  736 + </sheet>
  737 + </sheets>
  738 + <strict_types>N</strict_types>
  739 + <error_ignored>N</error_ignored>
  740 + <error_line_skipped>N</error_line_skipped>
  741 + <bad_line_files_destination_directory/>
  742 + <bad_line_files_extension>warning</bad_line_files_extension>
  743 + <error_line_files_destination_directory/>
  744 + <error_line_files_extension>error</error_line_files_extension>
  745 + <line_number_files_destination_directory/>
  746 + <line_number_files_extension>line</line_number_files_extension>
  747 + <shortFileFieldName/>
  748 + <pathFieldName/>
  749 + <hiddenFieldName/>
  750 + <lastModificationTimeFieldName/>
  751 + <uriNameFieldName/>
  752 + <rootUriNameFieldName/>
  753 + <extensionFieldName/>
  754 + <sizeFieldName/>
  755 + <spreadsheet_type>JXL</spreadsheet_type>
  756 + <cluster_schema/>
  757 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  758 + <xloc>131</xloc>
  759 + <yloc>58</yloc>
  760 + <draw>Y</draw>
  761 + </GUI>
  762 + </step>
  763 +
  764 + <step>
  765 + <name>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</name>
  766 + <type>SelectValues</type>
  767 + <description/>
  768 + <distribute>Y</distribute>
  769 + <custom_distribution/>
  770 + <copies>1</copies>
  771 + <partitioning>
  772 + <method>none</method>
  773 + <schema_name/>
  774 + </partitioning>
  775 + <fields> <field> <name>&#x5185;&#x90e8;&#x7f16;&#x7801;</name>
  776 + <rename>insideCode</rename>
  777 + <length>-2</length>
  778 + <precision>-2</precision>
  779 + </field> <field> <name>&#x8f66;&#x8f86;&#x7f16;&#x7801;</name>
  780 + <rename>carCode</rename>
  781 + <length>-2</length>
  782 + <precision>-2</precision>
  783 + </field> <field> <name>&#x6240;&#x5c5e;&#x516c;&#x53f8;</name>
  784 + <rename>company</rename>
  785 + <length>-2</length>
  786 + <precision>-2</precision>
  787 + </field> <field> <name>&#x5206;&#x516c;&#x53f8;</name>
  788 + <rename>brancheCompany</rename>
  789 + <length>-2</length>
  790 + <precision>-2</precision>
  791 + </field> <field> <name>&#x8f66;&#x724c;&#x53f7;</name>
  792 + <rename>carPlate</rename>
  793 + <length>-2</length>
  794 + <precision>-2</precision>
  795 + </field> <field> <name>&#x8bbe;&#x5907;&#x4f9b;&#x5e94;&#x5382;&#x5546;</name>
  796 + <rename>supplierName</rename>
  797 + <length>-2</length>
  798 + <precision>-2</precision>
  799 + </field> <field> <name>&#x8bbe;&#x5907;&#x7f16;&#x53f7;</name>
  800 + <rename>equipmentCode</rename>
  801 + <length>-2</length>
  802 + <precision>-2</precision>
  803 + </field> <field> <name>&#x8f66;&#x578b;&#x7c7b;&#x522b;</name>
  804 + <rename>carClass</rename>
  805 + <length>-2</length>
  806 + <precision>-2</precision>
  807 + </field> <field> <name>&#x6280;&#x672f;&#x901f;&#x5ea6;</name>
  808 + <rename>speed</rename>
  809 + <length>-2</length>
  810 + <precision>-2</precision>
  811 + </field> <field> <name>&#x5ea7;&#x4f4d;&#x6570;</name>
  812 + <rename>carSeatnNumber</rename>
  813 + <length>-2</length>
  814 + <precision>-2</precision>
  815 + </field> <field> <name>&#x8f7d;&#x5ba2;&#x6807;&#x51c6;</name>
  816 + <rename>carStandard</rename>
  817 + <length>-2</length>
  818 + <precision>-2</precision>
  819 + </field> <field> <name>&#x6807;&#x51c6;&#x6cb9;&#x8017;&#x28;&#x5f00;&#x7a7a;&#x8c03;&#x29;</name>
  820 + <rename>kburnStandard</rename>
  821 + <length>-2</length>
  822 + <precision>-2</precision>
  823 + </field> <field> <name>&#x6807;&#x51c6;&#x6cb9;&#x8017;&#x28;&#x5173;&#x7a7a;&#x8c03;&#x29;</name>
  824 + <rename>gburnStandard</rename>
  825 + <length>-2</length>
  826 + <precision>-2</precision>
  827 + </field> <field> <name>&#x62a5;&#x5e9f;&#x53f7;</name>
  828 + <rename>scrapCode</rename>
  829 + <length>-2</length>
  830 + <precision>-2</precision>
  831 + </field> <field> <name>&#x5382;&#x724c;&#x578b;&#x53f7;</name>
  832 + <rename>makeCodeOne</rename>
  833 + <length>-2</length>
  834 + <precision>-2</precision>
  835 + </field> <field> <name>&#x5382;&#x724c;&#x578b;&#x53f7;2</name>
  836 + <rename>makeCodeTwo</rename>
  837 + <length>-2</length>
  838 + <precision>-2</precision>
  839 + </field> <field> <name>&#x8f66;&#x8f86;&#x7b49;&#x7ea7;&#x6807;&#x51c6;</name>
  840 + <rename>carGride</rename>
  841 + <length>-2</length>
  842 + <precision>-2</precision>
  843 + </field> <field> <name>&#x51fa;&#x5382;&#x6392;&#x653e;&#x6807;&#x51c6;</name>
  844 + <rename>emissionsStandard</rename>
  845 + <length>-2</length>
  846 + <precision>-2</precision>
  847 + </field> <field> <name>&#x53d1;&#x52a8;&#x673a;&#x53f7;&#x7801;1</name>
  848 + <rename>engineCodeOne</rename>
  849 + <length>-2</length>
  850 + <precision>-2</precision>
  851 + </field> <field> <name>&#x53d1;&#x52a8;&#x673a;&#x53f7;&#x7801;2</name>
  852 + <rename>engineCodeTwo</rename>
  853 + <length>-2</length>
  854 + <precision>-2</precision>
  855 + </field> <field> <name>&#x8f66;&#x67b6;&#x53f7;&#x7801;1</name>
  856 + <rename>carNumberOne</rename>
  857 + <length>-2</length>
  858 + <precision>-2</precision>
  859 + </field> <field> <name>&#x8f66;&#x67b6;&#x53f7;&#x7801;2</name>
  860 + <rename>carNumberTwo</rename>
  861 + <length>-2</length>
  862 + <precision>-2</precision>
  863 + </field> <field> <name>&#x542f;&#x7528;&#x65e5;&#x671f;</name>
  864 + <rename>openDate</rename>
  865 + <length>-2</length>
  866 + <precision>-2</precision>
  867 + </field> <field> <name>&#x53d6;&#x6d88;&#x65e5;&#x671f;</name>
  868 + <rename>closeDate</rename>
  869 + <length>-2</length>
  870 + <precision>-2</precision>
  871 + </field> <field> <name>&#x662f;&#x5426;&#x7a7a;&#x8c03;</name>
  872 + <rename>hvacCar</rename>
  873 + <length>-2</length>
  874 + <precision>-2</precision>
  875 + </field> <field> <name>&#x6709;&#x65e0;&#x4eba;&#x552e;&#x7968;</name>
  876 + <rename>ticketType</rename>
  877 + <length>-2</length>
  878 + <precision>-2</precision>
  879 + </field> <field> <name>&#x662f;&#x5426;&#x6709;LED&#x670d;&#x52a1;&#x5c4f;</name>
  880 + <rename>ledScreen</rename>
  881 + <length>-2</length>
  882 + <precision>-2</precision>
  883 + </field> <field> <name>&#x662f;&#x5426;&#x6709;TV&#x89c6;&#x9891;</name>
  884 + <rename>tvVideoType</rename>
  885 + <length>-2</length>
  886 + <precision>-2</precision>
  887 + </field> <field> <name>&#x8f66;&#x8f86;&#x7c7b;&#x578b;</name>
  888 + <rename>carType</rename>
  889 + <length>-2</length>
  890 + <precision>-2</precision>
  891 + </field> <field> <name>&#x662f;&#x5426;&#x673a;&#x52a8;&#x8f66;</name>
  892 + <rename>vehicleStats</rename>
  893 + <length>-2</length>
  894 + <precision>-2</precision>
  895 + </field> <field> <name>&#x8fd0;&#x8425;&#x72b6;&#x6001;</name>
  896 + <rename>operatorsState</rename>
  897 + <length>-2</length>
  898 + <precision>-2</precision>
  899 + </field> <field> <name>&#x5907;&#x6ce8;</name>
  900 + <rename>descriptions</rename>
  901 + <length>-2</length>
  902 + <precision>-2</precision>
  903 + </field> <field> <name>&#x89c6;&#x9891;&#x7f16;&#x53f7;</name>
  904 + <rename>videoCode</rename>
  905 + <length>-2</length>
  906 + <precision>-2</precision>
  907 + </field> <select_unspecified>Y</select_unspecified>
  908 + </fields> <cluster_schema/>
  909 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  910 + <xloc>279</xloc>
  911 + <yloc>59</yloc>
  912 + <draw>Y</draw>
  913 + </GUI>
  914 + </step>
  915 +
  916 + <step>
  917 + <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_cars</name>
  918 + <type>InsertUpdate</type>
  919 + <description/>
  920 + <distribute>Y</distribute>
  921 + <custom_distribution/>
  922 + <copies>1</copies>
  923 + <partitioning>
  924 + <method>none</method>
  925 + <schema_name/>
  926 + </partitioning>
  927 + <connection>bus_control_&#x516c;&#x53f8;_201</connection>
  928 + <commit>1000</commit>
  929 + <update_bypassed>N</update_bypassed>
  930 + <lookup>
  931 + <schema/>
  932 + <table>bsth_c_cars</table>
  933 + <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>
  942 + <condition>&#x3d;</condition>
  943 + <name2/>
  944 + </key>
  945 + <value>
  946 + <name>inside_code</name>
  947 + <rename>insideCode</rename>
  948 + <update>Y</update>
  949 + </value>
  950 + <value>
  951 + <name>company</name>
  952 + <rename>company</rename>
  953 + <update>Y</update>
  954 + </value>
  955 + <value>
  956 + <name>branche_company</name>
  957 + <rename>brancheCompany</rename>
  958 + <update>Y</update>
  959 + </value>
  960 + <value>
  961 + <name>car_plate</name>
  962 + <rename>carPlate</rename>
  963 + <update>Y</update>
  964 + </value>
  965 + <value>
  966 + <name>supplier_name</name>
  967 + <rename>supplierName</rename>
  968 + <update>Y</update>
  969 + </value>
  970 + <value>
  971 + <name>equipment_code</name>
  972 + <rename>equipmentCode</rename>
  973 + <update>Y</update>
  974 + </value>
  975 + <value>
  976 + <name>car_class</name>
  977 + <rename>carClass</rename>
  978 + <update>Y</update>
  979 + </value>
  980 + <value>
  981 + <name>speed</name>
  982 + <rename>speed</rename>
  983 + <update>Y</update>
  984 + </value>
  985 + <value>
  986 + <name>car_seatn_number</name>
  987 + <rename>carSeatnNumber</rename>
  988 + <update>Y</update>
  989 + </value>
  990 + <value>
  991 + <name>car_standard</name>
  992 + <rename>carStandard</rename>
  993 + <update>Y</update>
  994 + </value>
  995 + <value>
  996 + <name>car_code</name>
  997 + <rename>carCode</rename>
  998 + <update>Y</update>
  999 + </value>
  1000 + <value>
  1001 + <name>kburn_standard</name>
  1002 + <rename>kburnStandard</rename>
  1003 + <update>Y</update>
  1004 + </value>
  1005 + <value>
  1006 + <name>gburn_standard</name>
  1007 + <rename>gburnStandard</rename>
  1008 + <update>Y</update>
  1009 + </value>
  1010 + <value>
  1011 + <name>scrap_code</name>
  1012 + <rename>scrapCode</rename>
  1013 + <update>Y</update>
  1014 + </value>
  1015 + <value>
  1016 + <name>make_code_one</name>
  1017 + <rename>makeCodeOne</rename>
  1018 + <update>Y</update>
  1019 + </value>
  1020 + <value>
  1021 + <name>make_code_two</name>
  1022 + <rename>makeCodeTwo</rename>
  1023 + <update>Y</update>
  1024 + </value>
  1025 + <value>
  1026 + <name>car_gride</name>
  1027 + <rename>carGride</rename>
  1028 + <update>Y</update>
  1029 + </value>
  1030 + <value>
  1031 + <name>emissions_standard</name>
  1032 + <rename>emissionsStandard</rename>
  1033 + <update>Y</update>
  1034 + </value>
  1035 + <value>
  1036 + <name>engine_code_one</name>
  1037 + <rename>engineCodeOne</rename>
  1038 + <update>Y</update>
  1039 + </value>
  1040 + <value>
  1041 + <name>engine_code_two</name>
  1042 + <rename>engineCodeTwo</rename>
  1043 + <update>Y</update>
  1044 + </value>
  1045 + <value>
  1046 + <name>car_number_one</name>
  1047 + <rename>carNumberOne</rename>
  1048 + <update>Y</update>
  1049 + </value>
  1050 + <value>
  1051 + <name>car_number_two</name>
  1052 + <rename>carNumberTwo</rename>
  1053 + <update>Y</update>
  1054 + </value>
  1055 + <value>
  1056 + <name>open_date</name>
  1057 + <rename>openDate</rename>
  1058 + <update>Y</update>
  1059 + </value>
  1060 + <value>
  1061 + <name>close_date</name>
  1062 + <rename>closeDate</rename>
  1063 + <update>Y</update>
  1064 + </value>
  1065 + <value>
  1066 + <name>hvac_car</name>
  1067 + <rename>hvacCar</rename>
  1068 + <update>Y</update>
  1069 + </value>
  1070 + <value>
  1071 + <name>ticket_type</name>
  1072 + <rename>ticketType</rename>
  1073 + <update>Y</update>
  1074 + </value>
  1075 + <value>
  1076 + <name>led_screen</name>
  1077 + <rename>ledScreen</rename>
  1078 + <update>Y</update>
  1079 + </value>
  1080 + <value>
  1081 + <name>tv_video_type</name>
  1082 + <rename>tvVideoType</rename>
  1083 + <update>Y</update>
  1084 + </value>
  1085 + <value>
  1086 + <name>car_type</name>
  1087 + <rename>carType</rename>
  1088 + <update>Y</update>
  1089 + </value>
  1090 + <value>
  1091 + <name>vehicle_stats</name>
  1092 + <rename>vehicleStats</rename>
  1093 + <update>Y</update>
  1094 + </value>
  1095 + <value>
  1096 + <name>operators_state</name>
  1097 + <rename>operatorsState</rename>
  1098 + <update>Y</update>
  1099 + </value>
  1100 + <value>
  1101 + <name>descriptions</name>
  1102 + <rename>descriptions</rename>
  1103 + <update>Y</update>
  1104 + </value>
  1105 + <value>
  1106 + <name>video_code</name>
  1107 + <rename>videoCode</rename>
  1108 + <update>Y</update>
  1109 + </value>
  1110 + <value>
  1111 + <name>business_code</name>
  1112 + <rename>businessCode</rename>
  1113 + <update>Y</update>
  1114 + </value>
  1115 + </lookup>
  1116 + <cluster_schema/>
  1117 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1118 + <xloc>842</xloc>
  1119 + <yloc>319</yloc>
  1120 + <draw>Y</draw>
  1121 + </GUI>
  1122 + </step>
  1123 +
  1124 + <step>
  1125 + <name>&#x662f;&#x5426;&#x6709;LED&#x670d;&#x52a1;&#x5c4f;</name>
  1126 + <type>ValueMapper</type>
  1127 + <description/>
  1128 + <distribute>Y</distribute>
  1129 + <custom_distribution/>
  1130 + <copies>1</copies>
  1131 + <partitioning>
  1132 + <method>none</method>
  1133 + <schema_name/>
  1134 + </partitioning>
  1135 + <field_to_use>ledScreen</field_to_use>
  1136 + <target_field/>
  1137 + <non_match_default/>
  1138 + <fields>
  1139 + <field>
  1140 + <source_value>&#x662f;</source_value>
  1141 + <target_value>1</target_value>
  1142 + </field>
  1143 + <field>
  1144 + <source_value>&#x5426;</source_value>
  1145 + <target_value>0</target_value>
  1146 + </field>
  1147 + </fields>
  1148 + <cluster_schema/>
  1149 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1150 + <xloc>590</xloc>
  1151 + <yloc>61</yloc>
  1152 + <draw>Y</draw>
  1153 + </GUI>
  1154 + </step>
  1155 +
  1156 + <step>
  1157 + <name>&#x662f;&#x5426;&#x6709;TV&#x89c6;&#x9891;</name>
  1158 + <type>ValueMapper</type>
  1159 + <description/>
  1160 + <distribute>Y</distribute>
  1161 + <custom_distribution/>
  1162 + <copies>1</copies>
  1163 + <partitioning>
  1164 + <method>none</method>
  1165 + <schema_name/>
  1166 + </partitioning>
  1167 + <field_to_use>tvVideoType</field_to_use>
  1168 + <target_field/>
  1169 + <non_match_default/>
  1170 + <fields>
  1171 + <field>
  1172 + <source_value>&#x662f;</source_value>
  1173 + <target_value>1</target_value>
  1174 + </field>
  1175 + <field>
  1176 + <source_value>&#x5426;</source_value>
  1177 + <target_value>0</target_value>
  1178 + </field>
  1179 + </fields>
  1180 + <cluster_schema/>
  1181 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1182 + <xloc>706</xloc>
  1183 + <yloc>61</yloc>
  1184 + <draw>Y</draw>
  1185 + </GUI>
  1186 + </step>
  1187 +
  1188 + <step>
  1189 + <name>&#x662f;&#x5426;&#x7684;&#x53d8;&#x6210;&#x6570;&#x5b57;&#x578b;</name>
  1190 + <type>SelectValues</type>
  1191 + <description/>
  1192 + <distribute>Y</distribute>
  1193 + <custom_distribution/>
  1194 + <copies>1</copies>
  1195 + <partitioning>
  1196 + <method>none</method>
  1197 + <schema_name/>
  1198 + </partitioning>
  1199 + <fields> <select_unspecified>N</select_unspecified>
  1200 + <meta> <name>hvacCar</name>
  1201 + <rename>hvacCar</rename>
  1202 + <type>Integer</type>
  1203 + <length>1</length>
  1204 + <precision>-2</precision>
  1205 + <conversion_mask/>
  1206 + <date_format_lenient>false</date_format_lenient>
  1207 + <date_format_locale/>
  1208 + <date_format_timezone/>
  1209 + <lenient_string_to_number>false</lenient_string_to_number>
  1210 + <encoding/>
  1211 + <decimal_symbol/>
  1212 + <grouping_symbol/>
  1213 + <currency_symbol/>
  1214 + <storage_type/>
  1215 + </meta> <meta> <name>ticketType</name>
  1216 + <rename>ticketType</rename>
  1217 + <type>Integer</type>
  1218 + <length>1</length>
  1219 + <precision>-2</precision>
  1220 + <conversion_mask/>
  1221 + <date_format_lenient>false</date_format_lenient>
  1222 + <date_format_locale/>
  1223 + <date_format_timezone/>
  1224 + <lenient_string_to_number>false</lenient_string_to_number>
  1225 + <encoding/>
  1226 + <decimal_symbol/>
  1227 + <grouping_symbol/>
  1228 + <currency_symbol/>
  1229 + <storage_type/>
  1230 + </meta> <meta> <name>ledScreen</name>
  1231 + <rename>ledScreen</rename>
  1232 + <type>Integer</type>
  1233 + <length>1</length>
  1234 + <precision>-2</precision>
  1235 + <conversion_mask/>
  1236 + <date_format_lenient>false</date_format_lenient>
  1237 + <date_format_locale/>
  1238 + <date_format_timezone/>
  1239 + <lenient_string_to_number>false</lenient_string_to_number>
  1240 + <encoding/>
  1241 + <decimal_symbol/>
  1242 + <grouping_symbol/>
  1243 + <currency_symbol/>
  1244 + <storage_type/>
  1245 + </meta> <meta> <name>tvVideoType</name>
  1246 + <rename>tvVideoType</rename>
  1247 + <type>Integer</type>
  1248 + <length>1</length>
  1249 + <precision>-2</precision>
  1250 + <conversion_mask/>
  1251 + <date_format_lenient>false</date_format_lenient>
  1252 + <date_format_locale/>
  1253 + <date_format_timezone/>
  1254 + <lenient_string_to_number>false</lenient_string_to_number>
  1255 + <encoding/>
  1256 + <decimal_symbol/>
  1257 + <grouping_symbol/>
  1258 + <currency_symbol/>
  1259 + <storage_type/>
  1260 + </meta> </fields> <cluster_schema/>
  1261 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1262 + <xloc>839</xloc>
  1263 + <yloc>61</yloc>
  1264 + <draw>Y</draw>
  1265 + </GUI>
  1266 + </step>
  1267 +
  1268 + <step>
  1269 + <name>&#x662f;&#x5426;&#x7a7a;&#x8c03;&#x8f66;</name>
  1270 + <type>ValueMapper</type>
  1271 + <description/>
  1272 + <distribute>Y</distribute>
  1273 + <custom_distribution/>
  1274 + <copies>1</copies>
  1275 + <partitioning>
  1276 + <method>none</method>
  1277 + <schema_name/>
  1278 + </partitioning>
  1279 + <field_to_use>hvacCar</field_to_use>
  1280 + <target_field/>
  1281 + <non_match_default/>
  1282 + <fields>
  1283 + <field>
  1284 + <source_value>&#x662f;</source_value>
  1285 + <target_value>1</target_value>
  1286 + </field>
  1287 + <field>
  1288 + <source_value>&#x5426;</source_value>
  1289 + <target_value>0</target_value>
  1290 + </field>
  1291 + </fields>
  1292 + <cluster_schema/>
  1293 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1294 + <xloc>388</xloc>
  1295 + <yloc>61</yloc>
  1296 + <draw>Y</draw>
  1297 + </GUI>
  1298 + </step>
  1299 +
  1300 + <step>
  1301 + <name>&#x6709;&#x65e0;&#x4eba;&#x552e;&#x7968;</name>
  1302 + <type>ValueMapper</type>
  1303 + <description/>
  1304 + <distribute>Y</distribute>
  1305 + <custom_distribution/>
  1306 + <copies>1</copies>
  1307 + <partitioning>
  1308 + <method>none</method>
  1309 + <schema_name/>
  1310 + </partitioning>
  1311 + <field_to_use>ticketType</field_to_use>
  1312 + <target_field/>
  1313 + <non_match_default/>
  1314 + <fields>
  1315 + <field>
  1316 + <source_value>&#x662f;</source_value>
  1317 + <target_value>1</target_value>
  1318 + </field>
  1319 + <field>
  1320 + <source_value>&#x5426;</source_value>
  1321 + <target_value>0</target_value>
  1322 + </field>
  1323 + </fields>
  1324 + <cluster_schema/>
  1325 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1326 + <xloc>485</xloc>
  1327 + <yloc>61</yloc>
  1328 + <draw>Y</draw>
  1329 + </GUI>
  1330 + </step>
  1331 +
  1332 + <step>
  1333 + <name>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</name>
  1334 + <type>GetVariable</type>
  1335 + <description/>
  1336 + <distribute>Y</distribute>
  1337 + <custom_distribution/>
  1338 + <copies>1</copies>
  1339 + <partitioning>
  1340 + <method>none</method>
  1341 + <schema_name/>
  1342 + </partitioning>
  1343 + <fields>
  1344 + <field>
  1345 + <name>filepath_</name>
  1346 + <variable>&#x24;&#x7b;filepath&#x7d;</variable>
  1347 + <type>String</type>
  1348 + <format/>
  1349 + <currency/>
  1350 + <decimal/>
  1351 + <group/>
  1352 + <length>-1</length>
  1353 + <precision>-1</precision>
  1354 + <trim_type>none</trim_type>
  1355 + </field>
  1356 + <field>
  1357 + <name>erroroutputdir_</name>
  1358 + <variable>&#x24;&#x7b;erroroutputdir&#x7d;</variable>
  1359 + <type>String</type>
  1360 + <format/>
  1361 + <currency/>
  1362 + <decimal/>
  1363 + <group/>
  1364 + <length>-1</length>
  1365 + <precision>-1</precision>
  1366 + <trim_type>none</trim_type>
  1367 + </field>
  1368 + </fields>
  1369 + <cluster_schema/>
  1370 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1371 + <xloc>134</xloc>
  1372 + <yloc>183</yloc>
  1373 + <draw>Y</draw>
  1374 + </GUI>
  1375 + </step>
  1376 +
  1377 + <step>
  1378 + <name>&#x9519;&#x8bef;&#x8f93;&#x51fa;</name>
  1379 + <type>ExcelOutput</type>
  1380 + <description/>
  1381 + <distribute>Y</distribute>
  1382 + <custom_distribution/>
  1383 + <copies>1</copies>
  1384 + <partitioning>
  1385 + <method>none</method>
  1386 + <schema_name/>
  1387 + </partitioning>
  1388 + <header>Y</header>
  1389 + <footer>N</footer>
  1390 + <encoding/>
  1391 + <append>N</append>
  1392 + <add_to_result_filenames>Y</add_to_result_filenames>
  1393 + <file>
  1394 + <name>&#x24;&#x7b;erroroutputdir&#x7d;&#x2f;&#x8f66;&#x8f86;&#x57fa;&#x7840;&#x4fe1;&#x606f;_&#x9519;&#x8bef;</name>
  1395 + <extention>xls</extention>
  1396 + <do_not_open_newfile_init>N</do_not_open_newfile_init>
  1397 + <create_parent_folder>N</create_parent_folder>
  1398 + <split>N</split>
  1399 + <add_date>N</add_date>
  1400 + <add_time>N</add_time>
  1401 + <SpecifyFormat>N</SpecifyFormat>
  1402 + <date_time_format/>
  1403 + <sheetname>Sheet1</sheetname>
  1404 + <autosizecolums>N</autosizecolums>
  1405 + <nullisblank>N</nullisblank>
  1406 + <protect_sheet>N</protect_sheet>
  1407 + <password>Encrypted </password>
  1408 + <splitevery>0</splitevery>
  1409 + <usetempfiles>N</usetempfiles>
  1410 + <tempdirectory/>
  1411 + </file>
  1412 + <template>
  1413 + <enabled>N</enabled>
  1414 + <append>N</append>
  1415 + <filename>template.xls</filename>
  1416 + </template>
  1417 + <fields>
  1418 + <field>
  1419 + <name>insideCode</name>
  1420 + <type>String</type>
  1421 + <format/>
  1422 + </field>
  1423 + <field>
  1424 + <name>company</name>
  1425 + <type>String</type>
  1426 + <format/>
  1427 + </field>
  1428 + <field>
  1429 + <name>brancheCompany</name>
  1430 + <type>String</type>
  1431 + <format/>
  1432 + </field>
  1433 + <field>
  1434 + <name>carPlate</name>
  1435 + <type>String</type>
  1436 + <format/>
  1437 + </field>
  1438 + <field>
  1439 + <name>supplierName</name>
  1440 + <type>String</type>
  1441 + <format/>
  1442 + </field>
  1443 + <field>
  1444 + <name>equipmentCode</name>
  1445 + <type>String</type>
  1446 + <format/>
  1447 + </field>
  1448 + <field>
  1449 + <name>carClass</name>
  1450 + <type>String</type>
  1451 + <format/>
  1452 + </field>
  1453 + <field>
  1454 + <name>speed</name>
  1455 + <type>String</type>
  1456 + <format/>
  1457 + </field>
  1458 + <field>
  1459 + <name>carSeatnNumber</name>
  1460 + <type>String</type>
  1461 + <format/>
  1462 + </field>
  1463 + <field>
  1464 + <name>carStandard</name>
  1465 + <type>String</type>
  1466 + <format/>
  1467 + </field>
  1468 + <field>
  1469 + <name>kburnStandard</name>
  1470 + <type>String</type>
  1471 + <format/>
  1472 + </field>
  1473 + <field>
  1474 + <name>gburnStandard</name>
  1475 + <type>String</type>
  1476 + <format/>
  1477 + </field>
  1478 + <field>
  1479 + <name>scrapCode</name>
  1480 + <type>String</type>
  1481 + <format/>
  1482 + </field>
  1483 + <field>
  1484 + <name>makeCodeOne</name>
  1485 + <type>String</type>
  1486 + <format/>
  1487 + </field>
  1488 + <field>
  1489 + <name>makeCodeTwo</name>
  1490 + <type>String</type>
  1491 + <format/>
  1492 + </field>
  1493 + <field>
  1494 + <name>carGride</name>
  1495 + <type>String</type>
  1496 + <format/>
  1497 + </field>
  1498 + <field>
  1499 + <name>emissionsStandard</name>
  1500 + <type>String</type>
  1501 + <format/>
  1502 + </field>
  1503 + <field>
  1504 + <name>engineCodeOne</name>
  1505 + <type>String</type>
  1506 + <format/>
  1507 + </field>
  1508 + <field>
  1509 + <name>engineCodeTwo</name>
  1510 + <type>String</type>
  1511 + <format/>
  1512 + </field>
  1513 + <field>
  1514 + <name>carNumberOne</name>
  1515 + <type>String</type>
  1516 + <format/>
  1517 + </field>
  1518 + <field>
  1519 + <name>carNumberTwo</name>
  1520 + <type>String</type>
  1521 + <format/>
  1522 + </field>
  1523 + <field>
  1524 + <name>openDate</name>
  1525 + <type>String</type>
  1526 + <format/>
  1527 + </field>
  1528 + <field>
  1529 + <name>closeDate</name>
  1530 + <type>String</type>
  1531 + <format/>
  1532 + </field>
  1533 + <field>
  1534 + <name>hvacCar</name>
  1535 + <type>Integer</type>
  1536 + <format/>
  1537 + </field>
  1538 + <field>
  1539 + <name>ticketType</name>
  1540 + <type>Integer</type>
  1541 + <format/>
  1542 + </field>
  1543 + <field>
  1544 + <name>ledScreen</name>
  1545 + <type>Integer</type>
  1546 + <format/>
  1547 + </field>
  1548 + <field>
  1549 + <name>tvVideoType</name>
  1550 + <type>Integer</type>
  1551 + <format/>
  1552 + </field>
  1553 + <field>
  1554 + <name>carType</name>
  1555 + <type>String</type>
  1556 + <format/>
  1557 + </field>
  1558 + <field>
  1559 + <name>vehicleStats</name>
  1560 + <type>String</type>
  1561 + <format/>
  1562 + </field>
  1563 + <field>
  1564 + <name>operatorsState</name>
  1565 + <type>String</type>
  1566 + <format/>
  1567 + </field>
  1568 + <field>
  1569 + <name>descriptions</name>
  1570 + <type>String</type>
  1571 + <format/>
  1572 + </field>
  1573 + <field>
  1574 + <name>videoCode</name>
  1575 + <type>String</type>
  1576 + <format/>
  1577 + </field>
  1578 + <field>
  1579 + <name>businessCode</name>
  1580 + <type>String</type>
  1581 + <format/>
  1582 + </field>
  1583 + <field>
  1584 + <name>carCode</name>
  1585 + <type>String</type>
  1586 + <format/>
  1587 + </field>
  1588 + <field>
  1589 + <name>error_count</name>
  1590 + <type>Integer</type>
  1591 + <format/>
  1592 + </field>
  1593 + <field>
  1594 + <name>error_desc</name>
  1595 + <type>String</type>
  1596 + <format/>
  1597 + </field>
  1598 + <field>
  1599 + <name>error_column1</name>
  1600 + <type>String</type>
  1601 + <format/>
  1602 + </field>
  1603 + <field>
  1604 + <name>error_column2</name>
  1605 + <type>String</type>
  1606 + <format/>
  1607 + </field>
  1608 + </fields>
  1609 + <custom>
  1610 + <header_font_name>arial</header_font_name>
  1611 + <header_font_size>10</header_font_size>
  1612 + <header_font_bold>N</header_font_bold>
  1613 + <header_font_italic>N</header_font_italic>
  1614 + <header_font_underline>no</header_font_underline>
  1615 + <header_font_orientation>horizontal</header_font_orientation>
  1616 + <header_font_color>black</header_font_color>
  1617 + <header_background_color>none</header_background_color>
  1618 + <header_row_height>255</header_row_height>
  1619 + <header_alignment>left</header_alignment>
  1620 + <header_image/>
  1621 + <row_font_name>arial</row_font_name>
  1622 + <row_font_size>10</row_font_size>
  1623 + <row_font_color>black</row_font_color>
  1624 + <row_background_color>none</row_background_color>
  1625 + </custom>
  1626 + <cluster_schema/>
  1627 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1628 + <xloc>637</xloc>
  1629 + <yloc>320</yloc>
  1630 + <draw>Y</draw>
  1631 + </GUI>
  1632 + </step>
  1633 +
  1634 + <step_error_handling>
  1635 + <error>
  1636 + <source_step>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_cars</source_step>
  1637 + <target_step>&#x9519;&#x8bef;&#x8f93;&#x51fa;</target_step>
  1638 + <is_enabled>Y</is_enabled>
  1639 + <nr_valuename>error_count</nr_valuename>
  1640 + <descriptions_valuename>error_desc</descriptions_valuename>
  1641 + <fields_valuename>error_column1</fields_valuename>
  1642 + <codes_valuename>error_column2</codes_valuename>
  1643 + <max_errors/>
  1644 + <max_pct_errors/>
  1645 + <min_pct_rows/>
  1646 + </error>
  1647 + </step_error_handling>
  1648 + <slave-step-copy-partition-distribution>
  1649 +</slave-step-copy-partition-distribution>
  1650 + <slave_transformation>N</slave_transformation>
  1651 +
  1652 +</transformation>
  1653 +=======
1 <?xml version="1.0" encoding="UTF-8"?> 1654 <?xml version="1.0" encoding="UTF-8"?>
2 <transformation> 1655 <transformation>
3 <info> 1656 <info>
@@ -1643,3 +3296,4 @@ @@ -1643,3 +3296,4 @@
1643 <slave_transformation>N</slave_transformation> 3296 <slave_transformation>N</slave_transformation>
1644 3297
1645 </transformation> 3298 </transformation>
  3299 +>>>>>>> 502f6f7ff3ff76f0f6b6dbdac8a353604a7d5626
src/main/resources/datatools/ktrs/employeesConfigDataInput.ktr 0 → 100644
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<transformation>
  3 + <info>
  4 + <name>employeesConfigDataInput</name>
  5 + <description>&#x4eba;&#x5458;&#x914d;&#x7f6e;&#x4fe1;&#x606f;&#x5bfc;&#x5165;</description>
  6 + <extended_description>&#x4eba;&#x5458;&#x914d;&#x7f6e;&#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 15&#x3a;12&#x3a;27.273</created_date>
  81 + <modified_user>-</modified_user>
  82 + <modified_date>2016&#x2f;06&#x2f;29 15&#x3a;12&#x3a;27.273</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;&#x7684;&#x8868;&#x4e2d;&#xff0c;&#x8f66;&#x8f86;&#x5185;&#x90e8;&#x7f16;&#x7801;&#x662f;&#x6ca1;&#x7684;&#xff0c;&#xa;&#x642d;&#x73ed;&#x7f16;&#x7801; &#x8fd9;&#x4e2a;&#x8c8c;&#x4f3c;&#x7528;&#x4e8e;&#x9a7e;&#x9a76;&#x5458;&#x548c;&#x552e;&#x7968;&#x5458;&#x7528;&#x7684;&#xff0c;&#x597d;&#x50cf;&#x4e0d;&#x80fd;&#x4e00;&#x6837;&#x7684;&#xa;&#x8f66;&#x8f86;&#x5185;&#x90e8;&#x7f16;&#x7801; &#x6ca1;&#x6709;&#x6682;&#x65f6;&#x7a7a;&#x7740;</note>
  89 + <xloc>252</xloc>
  90 + <yloc>178</yloc>
  91 + <width>341</width>
  92 + <heigth>58</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>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</from><to>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</to><enabled>Y</enabled> </hop>
  217 + <hop> <from>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</from><to>&#x67e5;&#x8be2;&#x7ebf;&#x8def;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop>
  218 + <hop> <from>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ecinfo</from><to>&#x9519;&#x8bef;&#x8f93;&#x51fa;</to><enabled>Y</enabled> </hop>
  219 + <hop> <from>&#x67e5;&#x8be2;&#x552e;&#x7968;&#x5458;&#x5173;&#x8054;</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ecinfo</to><enabled>Y</enabled> </hop>
  220 + <hop> <from>&#x67e5;&#x8be2;&#x7ebf;&#x8def;&#x5173;&#x8054;</from><to>&#x67e5;&#x8be2;&#x9a7e;&#x9a76;&#x5458;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop>
  221 + <hop> <from>&#x67e5;&#x8be2;&#x9a7e;&#x9a76;&#x5458;&#x5173;&#x8054;</from><to>&#x67e5;&#x8be2;&#x552e;&#x7968;&#x5458;&#x5173;&#x8054;</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>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</name>
  226 + <type>ExcelInput</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 + <header>Y</header>
  236 + <noempty>Y</noempty>
  237 + <stoponempty>N</stoponempty>
  238 + <filefield/>
  239 + <sheetfield/>
  240 + <sheetrownumfield/>
  241 + <rownumfield/>
  242 + <sheetfield/>
  243 + <filefield/>
  244 + <limit>0</limit>
  245 + <encoding/>
  246 + <add_to_result_filenames>Y</add_to_result_filenames>
  247 + <accept_filenames>Y</accept_filenames>
  248 + <accept_field>filepath_</accept_field>
  249 + <accept_stepname>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</accept_stepname>
  250 + <file>
  251 + <name/>
  252 + <filemask/>
  253 + <exclude_filemask/>
  254 + <file_required>N</file_required>
  255 + <include_subfolders>N</include_subfolders>
  256 + </file>
  257 + <fields>
  258 + <field>
  259 + <name>&#x7ebf;&#x8def;</name>
  260 + <type>String</type>
  261 + <length>-1</length>
  262 + <precision>-1</precision>
  263 + <trim_type>none</trim_type>
  264 + <repeat>N</repeat>
  265 + <format/>
  266 + <currency/>
  267 + <decimal/>
  268 + <group/>
  269 + </field>
  270 + <field>
  271 + <name>&#x642d;&#x73ed;&#x7f16;&#x7801;</name>
  272 + <type>String</type>
  273 + <length>-1</length>
  274 + <precision>-1</precision>
  275 + <trim_type>none</trim_type>
  276 + <repeat>N</repeat>
  277 + <format/>
  278 + <currency/>
  279 + <decimal/>
  280 + <group/>
  281 + </field>
  282 + <field>
  283 + <name>&#x9a7e;&#x9a76;&#x5458;&#x5de5;&#x53f7;</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>&#x9a7e;&#x9a76;&#x5458;</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>&#x552e;&#x7968;&#x5458;&#x5de5;&#x53f7;</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>&#x552e;&#x7968;&#x5458;</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>&#x8f66;&#x8f86;</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 + </fields>
  343 + <sheets>
  344 + <sheet>
  345 + <name>&#x5de5;&#x4f5c;&#x8868;1</name>
  346 + <startrow>0</startrow>
  347 + <startcol>0</startcol>
  348 + </sheet>
  349 + </sheets>
  350 + <strict_types>N</strict_types>
  351 + <error_ignored>N</error_ignored>
  352 + <error_line_skipped>N</error_line_skipped>
  353 + <bad_line_files_destination_directory/>
  354 + <bad_line_files_extension>warning</bad_line_files_extension>
  355 + <error_line_files_destination_directory/>
  356 + <error_line_files_extension>error</error_line_files_extension>
  357 + <line_number_files_destination_directory/>
  358 + <line_number_files_extension>line</line_number_files_extension>
  359 + <shortFileFieldName/>
  360 + <pathFieldName/>
  361 + <hiddenFieldName/>
  362 + <lastModificationTimeFieldName/>
  363 + <uriNameFieldName/>
  364 + <rootUriNameFieldName/>
  365 + <extensionFieldName/>
  366 + <sizeFieldName/>
  367 + <spreadsheet_type>JXL</spreadsheet_type>
  368 + <cluster_schema/>
  369 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  370 + <xloc>144</xloc>
  371 + <yloc>49</yloc>
  372 + <draw>Y</draw>
  373 + </GUI>
  374 + </step>
  375 +
  376 + <step>
  377 + <name>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</name>
  378 + <type>SelectValues</type>
  379 + <description/>
  380 + <distribute>Y</distribute>
  381 + <custom_distribution/>
  382 + <copies>1</copies>
  383 + <partitioning>
  384 + <method>none</method>
  385 + <schema_name/>
  386 + </partitioning>
  387 + <fields> <field> <name>&#x7ebf;&#x8def;</name>
  388 + <rename>xl</rename>
  389 + <length>-2</length>
  390 + <precision>-2</precision>
  391 + </field> <field> <name>&#x642d;&#x73ed;&#x7f16;&#x7801;</name>
  392 + <rename>dbbm</rename>
  393 + <length>-2</length>
  394 + <precision>-2</precision>
  395 + </field> <field> <name>&#x9a7e;&#x9a76;&#x5458;&#x5de5;&#x53f7;</name>
  396 + <rename>jsy_no</rename>
  397 + <length>-2</length>
  398 + <precision>-2</precision>
  399 + </field> <field> <name>&#x9a7e;&#x9a76;&#x5458;</name>
  400 + <rename>jsy_name</rename>
  401 + <length>-2</length>
  402 + <precision>-2</precision>
  403 + </field> <field> <name>&#x552e;&#x7968;&#x5458;&#x5de5;&#x53f7;</name>
  404 + <rename>spy_no</rename>
  405 + <length>-2</length>
  406 + <precision>-2</precision>
  407 + </field> <field> <name>&#x552e;&#x7968;&#x5458;</name>
  408 + <rename>spy_name</rename>
  409 + <length>-2</length>
  410 + <precision>-2</precision>
  411 + </field> <field> <name>&#x8f66;&#x8f86;</name>
  412 + <rename>cl</rename>
  413 + <length>-2</length>
  414 + <precision>-2</precision>
  415 + </field> <select_unspecified>N</select_unspecified>
  416 + </fields> <cluster_schema/>
  417 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  418 + <xloc>294</xloc>
  419 + <yloc>50</yloc>
  420 + <draw>Y</draw>
  421 + </GUI>
  422 + </step>
  423 +
  424 + <step>
  425 + <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ecinfo</name>
  426 + <type>InsertUpdate</type>
  427 + <description/>
  428 + <distribute>Y</distribute>
  429 + <custom_distribution/>
  430 + <copies>1</copies>
  431 + <partitioning>
  432 + <method>none</method>
  433 + <schema_name/>
  434 + </partitioning>
  435 + <connection>bus_control_&#x516c;&#x53f8;_201</connection>
  436 + <commit>100</commit>
  437 + <update_bypassed>N</update_bypassed>
  438 + <lookup>
  439 + <schema/>
  440 + <table>bsth_c_s_ecinfo</table>
  441 + <key>
  442 + <name>xlid</name>
  443 + <field>xl</field>
  444 + <condition>&#x3d;</condition>
  445 + <name2/>
  446 + </key>
  447 + <key>
  448 + <name>jsyid</name>
  449 + <field>jsy</field>
  450 + <condition>&#x3d;</condition>
  451 + <name2/>
  452 + </key>
  453 + <key>
  454 + <name>spyid</name>
  455 + <field>spy</field>
  456 + <condition>&#x3d;</condition>
  457 + <name2/>
  458 + </key>
  459 + <value>
  460 + <name>xl</name>
  461 + <rename>xlid</rename>
  462 + <update>Y</update>
  463 + </value>
  464 + <value>
  465 + <name>dbbm</name>
  466 + <rename>dbbm</rename>
  467 + <update>Y</update>
  468 + </value>
  469 + <value>
  470 + <name>jsy</name>
  471 + <rename>jsyid</rename>
  472 + <update>Y</update>
  473 + </value>
  474 + <value>
  475 + <name>spy</name>
  476 + <rename>spyid</rename>
  477 + <update>Y</update>
  478 + </value>
  479 + </lookup>
  480 + <cluster_schema/>
  481 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  482 + <xloc>721</xloc>
  483 + <yloc>181</yloc>
  484 + <draw>Y</draw>
  485 + </GUI>
  486 + </step>
  487 +
  488 + <step>
  489 + <name>&#x67e5;&#x8be2;&#x552e;&#x7968;&#x5458;&#x5173;&#x8054;</name>
  490 + <type>DBLookup</type>
  491 + <description/>
  492 + <distribute>Y</distribute>
  493 + <custom_distribution/>
  494 + <copies>1</copies>
  495 + <partitioning>
  496 + <method>none</method>
  497 + <schema_name/>
  498 + </partitioning>
  499 + <connection>bus_control_&#x516c;&#x53f8;_201</connection>
  500 + <cache>N</cache>
  501 + <cache_load_all>N</cache_load_all>
  502 + <cache_size>0</cache_size>
  503 + <lookup>
  504 + <schema/>
  505 + <table>bsth_c_personnel</table>
  506 + <orderby/>
  507 + <fail_on_multiple>N</fail_on_multiple>
  508 + <eat_row_on_failure>N</eat_row_on_failure>
  509 + <key>
  510 + <name>spy_no</name>
  511 + <field>job_code</field>
  512 + <condition>&#x3d;</condition>
  513 + <name2/>
  514 + </key>
  515 + <value>
  516 + <name>id</name>
  517 + <rename>spyid</rename>
  518 + <default/>
  519 + <type>Integer</type>
  520 + </value>
  521 + </lookup>
  522 + <cluster_schema/>
  523 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  524 + <xloc>720</xloc>
  525 + <yloc>51</yloc>
  526 + <draw>Y</draw>
  527 + </GUI>
  528 + </step>
  529 +
  530 + <step>
  531 + <name>&#x67e5;&#x8be2;&#x7ebf;&#x8def;&#x5173;&#x8054;</name>
  532 + <type>DBLookup</type>
  533 + <description/>
  534 + <distribute>Y</distribute>
  535 + <custom_distribution/>
  536 + <copies>1</copies>
  537 + <partitioning>
  538 + <method>none</method>
  539 + <schema_name/>
  540 + </partitioning>
  541 + <connection>bus_control_&#x516c;&#x53f8;_201</connection>
  542 + <cache>N</cache>
  543 + <cache_load_all>N</cache_load_all>
  544 + <cache_size>0</cache_size>
  545 + <lookup>
  546 + <schema/>
  547 + <table>bsth_c_line</table>
  548 + <orderby/>
  549 + <fail_on_multiple>N</fail_on_multiple>
  550 + <eat_row_on_failure>N</eat_row_on_failure>
  551 + <key>
  552 + <name>xl</name>
  553 + <field>name</field>
  554 + <condition>&#x3d;</condition>
  555 + <name2/>
  556 + </key>
  557 + <value>
  558 + <name>id</name>
  559 + <rename>xlid</rename>
  560 + <default/>
  561 + <type>Integer</type>
  562 + </value>
  563 + </lookup>
  564 + <cluster_schema/>
  565 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  566 + <xloc>429</xloc>
  567 + <yloc>51</yloc>
  568 + <draw>Y</draw>
  569 + </GUI>
  570 + </step>
  571 +
  572 + <step>
  573 + <name>&#x67e5;&#x8be2;&#x9a7e;&#x9a76;&#x5458;&#x5173;&#x8054;</name>
  574 + <type>DBLookup</type>
  575 + <description/>
  576 + <distribute>Y</distribute>
  577 + <custom_distribution/>
  578 + <copies>1</copies>
  579 + <partitioning>
  580 + <method>none</method>
  581 + <schema_name/>
  582 + </partitioning>
  583 + <connection>bus_control_&#x516c;&#x53f8;_201</connection>
  584 + <cache>N</cache>
  585 + <cache_load_all>N</cache_load_all>
  586 + <cache_size>0</cache_size>
  587 + <lookup>
  588 + <schema/>
  589 + <table>bsth_c_personnel</table>
  590 + <orderby/>
  591 + <fail_on_multiple>N</fail_on_multiple>
  592 + <eat_row_on_failure>N</eat_row_on_failure>
  593 + <key>
  594 + <name>jsy_no</name>
  595 + <field>job_code</field>
  596 + <condition>&#x3d;</condition>
  597 + <name2/>
  598 + </key>
  599 + <value>
  600 + <name>id</name>
  601 + <rename>jsyid</rename>
  602 + <default/>
  603 + <type>Integer</type>
  604 + </value>
  605 + </lookup>
  606 + <cluster_schema/>
  607 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  608 + <xloc>573</xloc>
  609 + <yloc>51</yloc>
  610 + <draw>Y</draw>
  611 + </GUI>
  612 + </step>
  613 +
  614 + <step>
  615 + <name>&#x9519;&#x8bef;&#x8f93;&#x51fa;</name>
  616 + <type>ExcelOutput</type>
  617 + <description/>
  618 + <distribute>Y</distribute>
  619 + <custom_distribution/>
  620 + <copies>1</copies>
  621 + <partitioning>
  622 + <method>none</method>
  623 + <schema_name/>
  624 + </partitioning>
  625 + <header>Y</header>
  626 + <footer>N</footer>
  627 + <encoding>UTF-8</encoding>
  628 + <append>N</append>
  629 + <add_to_result_filenames>Y</add_to_result_filenames>
  630 + <file>
  631 + <name>&#x24;&#x7b;erroroutputdir&#x7d;&#x2f;&#x4eba;&#x5458;&#x914d;&#x7f6e;_&#x9519;&#x8bef;</name>
  632 + <extention>xls</extention>
  633 + <do_not_open_newfile_init>N</do_not_open_newfile_init>
  634 + <create_parent_folder>N</create_parent_folder>
  635 + <split>N</split>
  636 + <add_date>N</add_date>
  637 + <add_time>N</add_time>
  638 + <SpecifyFormat>N</SpecifyFormat>
  639 + <date_time_format/>
  640 + <sheetname>Sheet1</sheetname>
  641 + <autosizecolums>N</autosizecolums>
  642 + <nullisblank>N</nullisblank>
  643 + <protect_sheet>N</protect_sheet>
  644 + <password>Encrypted </password>
  645 + <splitevery>0</splitevery>
  646 + <usetempfiles>N</usetempfiles>
  647 + <tempdirectory/>
  648 + </file>
  649 + <template>
  650 + <enabled>N</enabled>
  651 + <append>N</append>
  652 + <filename>template.xls</filename>
  653 + </template>
  654 + <fields>
  655 + <field>
  656 + <name>xl</name>
  657 + <type>String</type>
  658 + <format/>
  659 + </field>
  660 + <field>
  661 + <name>dbbm</name>
  662 + <type>String</type>
  663 + <format/>
  664 + </field>
  665 + <field>
  666 + <name>jsy_no</name>
  667 + <type>String</type>
  668 + <format/>
  669 + </field>
  670 + <field>
  671 + <name>jsy_name</name>
  672 + <type>String</type>
  673 + <format/>
  674 + </field>
  675 + <field>
  676 + <name>spy_no</name>
  677 + <type>String</type>
  678 + <format/>
  679 + </field>
  680 + <field>
  681 + <name>spy_name</name>
  682 + <type>String</type>
  683 + <format/>
  684 + </field>
  685 + <field>
  686 + <name>cl</name>
  687 + <type>String</type>
  688 + <format/>
  689 + </field>
  690 + <field>
  691 + <name>xlid</name>
  692 + <type>Integer</type>
  693 + <format/>
  694 + </field>
  695 + <field>
  696 + <name>jsyid</name>
  697 + <type>Integer</type>
  698 + <format/>
  699 + </field>
  700 + <field>
  701 + <name>spyid</name>
  702 + <type>Integer</type>
  703 + <format/>
  704 + </field>
  705 + <field>
  706 + <name>error_count</name>
  707 + <type>Integer</type>
  708 + <format/>
  709 + </field>
  710 + <field>
  711 + <name>error_desc</name>
  712 + <type>String</type>
  713 + <format/>
  714 + </field>
  715 + <field>
  716 + <name>error_column1</name>
  717 + <type>String</type>
  718 + <format/>
  719 + </field>
  720 + <field>
  721 + <name>error_column2</name>
  722 + <type>String</type>
  723 + <format/>
  724 + </field>
  725 + </fields>
  726 + <custom>
  727 + <header_font_name>arial</header_font_name>
  728 + <header_font_size>10</header_font_size>
  729 + <header_font_bold>N</header_font_bold>
  730 + <header_font_italic>N</header_font_italic>
  731 + <header_font_underline>no</header_font_underline>
  732 + <header_font_orientation>horizontal</header_font_orientation>
  733 + <header_font_color>black</header_font_color>
  734 + <header_background_color>none</header_background_color>
  735 + <header_row_height>255</header_row_height>
  736 + <header_alignment>left</header_alignment>
  737 + <header_image/>
  738 + <row_font_name>arial</row_font_name>
  739 + <row_font_size>10</row_font_size>
  740 + <row_font_color>black</row_font_color>
  741 + <row_background_color>none</row_background_color>
  742 + </custom>
  743 + <cluster_schema/>
  744 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  745 + <xloc>721</xloc>
  746 + <yloc>304</yloc>
  747 + <draw>Y</draw>
  748 + </GUI>
  749 + </step>
  750 +
  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>
  797 + <error>
  798 + <source_step>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ecinfo</source_step>
  799 + <target_step>&#x9519;&#x8bef;&#x8f93;&#x51fa;</target_step>
  800 + <is_enabled>Y</is_enabled>
  801 + <nr_valuename>error_count</nr_valuename>
  802 + <descriptions_valuename>error_desc</descriptions_valuename>
  803 + <fields_valuename>error_column1</fields_valuename>
  804 + <codes_valuename>error_column2</codes_valuename>
  805 + <max_errors/>
  806 + <max_pct_errors/>
  807 + <min_pct_rows/>
  808 + </error>
  809 + </step_error_handling>
  810 + <slave-step-copy-partition-distribution>
  811 +</slave-step-copy-partition-distribution>
  812 + <slave_transformation>N</slave_transformation>
  813 +
  814 +</transformation>
src/main/resources/datatools/ktrs/guideboardDataInput.ktr 0 → 100644
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<transformation>
  3 + <info>
  4 + <name>guideboardDataInput</name>
  5 + <description>&#x8def;&#x724c;&#x4fe1;&#x606f;&#x5bfc;&#x5165;</description>
  6 + <extended_description>&#x7ebf;&#x8def;&#x8fd0;&#x8425;&#x7684;&#x8def;&#x724c;&#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 17&#x3a;00&#x3a;01.094</created_date>
  81 + <modified_user>-</modified_user>
  82 + <modified_date>2016&#x2f;06&#x2f;29 17&#x3a;00&#x3a;01.094</modified_date>
  83 + <key_for_session_key/>
  84 + <is_key_private>N</is_key_private>
  85 + </info>
  86 + <notepads>
  87 + <notepad>
  88 + <note>&#x8def;&#x724c;&#x4fe1;&#x606f;&#x8f93;&#x5165;&#xff0c;&#x8def;&#x724c;&#x540d;&#x5b57;&#x662f;&#x4e0d;&#x80fd;&#x91cd;&#x590d;&#x7684;&#xa;&#x4e00;&#x822c;&#x6765;&#x8bf4;&#xff0c;&#x5e94;&#x8be5;&#x662f;&#x5bfc;&#x5165;&#x65f6;&#x523b;&#x6570;&#x636e;&#x81ea;&#x52a8;&#x751f;&#x6210;&#x7684;&#xff0c;&#x8fd9;&#x4e2a;&#x518d;&#x8bae;</note>
  89 + <xloc>218</xloc>
  90 + <yloc>141</yloc>
  91 + <width>298</width>
  92 + <heigth>42</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>&#x5b57;&#x6bb5;&#x6539;&#x540d;</from><to>&#x67e5;&#x8be2;&#x7ebf;&#x8def;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop>
  217 + <hop> <from>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_gbi</from><to>&#x9519;&#x8bef;&#x8f93;&#x51fa;</to><enabled>Y</enabled> </hop>
  218 + <hop> <from>&#x67e5;&#x8be2;&#x7ebf;&#x8def;&#x5173;&#x8054;</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_gbi</to><enabled>Y</enabled> </hop>
  219 + <hop> <from>&#x8def;&#x724c;_85&#x8def;Excel&#x8f93;&#x5165;</from><to>&#x5b57;&#x6bb5;&#x6539;&#x540d;</to><enabled>Y</enabled> </hop>
  220 + <hop> <from>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</from><to>&#x8def;&#x724c;_85&#x8def;Excel&#x8f93;&#x5165;</to><enabled>Y</enabled> </hop>
  221 + </order>
  222 + <step>
  223 + <name>&#x5b57;&#x6bb5;&#x6539;&#x540d;</name>
  224 + <type>SelectValues</type>
  225 + <description/>
  226 + <distribute>Y</distribute>
  227 + <custom_distribution/>
  228 + <copies>1</copies>
  229 + <partitioning>
  230 + <method>none</method>
  231 + <schema_name/>
  232 + </partitioning>
  233 + <fields> <select_unspecified>N</select_unspecified>
  234 + <meta> <name>&#x7ebf;&#x8def;</name>
  235 + <rename>xl</rename>
  236 + <type>String</type>
  237 + <length>-2</length>
  238 + <precision>-2</precision>
  239 + <conversion_mask/>
  240 + <date_format_lenient>false</date_format_lenient>
  241 + <date_format_locale/>
  242 + <date_format_timezone/>
  243 + <lenient_string_to_number>false</lenient_string_to_number>
  244 + <encoding/>
  245 + <decimal_symbol/>
  246 + <grouping_symbol/>
  247 + <currency_symbol/>
  248 + <storage_type/>
  249 + </meta> <meta> <name>&#x8def;&#x724c;&#x7f16;&#x53f7;</name>
  250 + <rename>lpno</rename>
  251 + <type>Integer</type>
  252 + <length>-2</length>
  253 + <precision>-2</precision>
  254 + <conversion_mask/>
  255 + <date_format_lenient>false</date_format_lenient>
  256 + <date_format_locale/>
  257 + <date_format_timezone/>
  258 + <lenient_string_to_number>false</lenient_string_to_number>
  259 + <encoding/>
  260 + <decimal_symbol/>
  261 + <grouping_symbol/>
  262 + <currency_symbol/>
  263 + <storage_type/>
  264 + </meta> <meta> <name>&#x8def;&#x724c;&#x540d;&#x79f0;</name>
  265 + <rename>lpname</rename>
  266 + <type>String</type>
  267 + <length>-2</length>
  268 + <precision>-2</precision>
  269 + <conversion_mask/>
  270 + <date_format_lenient>false</date_format_lenient>
  271 + <date_format_locale/>
  272 + <date_format_timezone/>
  273 + <lenient_string_to_number>false</lenient_string_to_number>
  274 + <encoding/>
  275 + <decimal_symbol/>
  276 + <grouping_symbol/>
  277 + <currency_symbol/>
  278 + <storage_type/>
  279 + </meta> <meta> <name>&#x8def;&#x724c;&#x7c7b;&#x578b;</name>
  280 + <rename>lptype</rename>
  281 + <type>String</type>
  282 + <length>-2</length>
  283 + <precision>-2</precision>
  284 + <conversion_mask/>
  285 + <date_format_lenient>false</date_format_lenient>
  286 + <date_format_locale/>
  287 + <date_format_timezone/>
  288 + <lenient_string_to_number>false</lenient_string_to_number>
  289 + <encoding/>
  290 + <decimal_symbol/>
  291 + <grouping_symbol/>
  292 + <currency_symbol/>
  293 + <storage_type/>
  294 + </meta> </fields> <cluster_schema/>
  295 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  296 + <xloc>295</xloc>
  297 + <yloc>68</yloc>
  298 + <draw>Y</draw>
  299 + </GUI>
  300 + </step>
  301 +
  302 + <step>
  303 + <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_gbi</name>
  304 + <type>InsertUpdate</type>
  305 + <description/>
  306 + <distribute>Y</distribute>
  307 + <custom_distribution/>
  308 + <copies>1</copies>
  309 + <partitioning>
  310 + <method>none</method>
  311 + <schema_name/>
  312 + </partitioning>
  313 + <connection>bus_control_&#x516c;&#x53f8;_201</connection>
  314 + <commit>100</commit>
  315 + <update_bypassed>N</update_bypassed>
  316 + <lookup>
  317 + <schema/>
  318 + <table>bsth_c_s_gbi</table>
  319 + <key>
  320 + <name>xlid</name>
  321 + <field>xl</field>
  322 + <condition>&#x3d;</condition>
  323 + <name2/>
  324 + </key>
  325 + <key>
  326 + <name>lpname</name>
  327 + <field>lp_name</field>
  328 + <condition>&#x3d;</condition>
  329 + <name2/>
  330 + </key>
  331 + <value>
  332 + <name>xl</name>
  333 + <rename>xlid</rename>
  334 + <update>Y</update>
  335 + </value>
  336 + <value>
  337 + <name>lp_no</name>
  338 + <rename>lpno</rename>
  339 + <update>Y</update>
  340 + </value>
  341 + <value>
  342 + <name>lp_name</name>
  343 + <rename>lpname</rename>
  344 + <update>Y</update>
  345 + </value>
  346 + <value>
  347 + <name>lp_type</name>
  348 + <rename>lptype</rename>
  349 + <update>Y</update>
  350 + </value>
  351 + </lookup>
  352 + <cluster_schema/>
  353 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  354 + <xloc>576</xloc>
  355 + <yloc>69</yloc>
  356 + <draw>Y</draw>
  357 + </GUI>
  358 + </step>
  359 +
  360 + <step>
  361 + <name>&#x67e5;&#x8be2;&#x7ebf;&#x8def;&#x5173;&#x8054;</name>
  362 + <type>DBLookup</type>
  363 + <description/>
  364 + <distribute>Y</distribute>
  365 + <custom_distribution/>
  366 + <copies>1</copies>
  367 + <partitioning>
  368 + <method>none</method>
  369 + <schema_name/>
  370 + </partitioning>
  371 + <connection>bus_control_&#x516c;&#x53f8;_201</connection>
  372 + <cache>N</cache>
  373 + <cache_load_all>N</cache_load_all>
  374 + <cache_size>0</cache_size>
  375 + <lookup>
  376 + <schema/>
  377 + <table>bsth_c_line</table>
  378 + <orderby/>
  379 + <fail_on_multiple>N</fail_on_multiple>
  380 + <eat_row_on_failure>N</eat_row_on_failure>
  381 + <key>
  382 + <name>xl</name>
  383 + <field>name</field>
  384 + <condition>&#x3d;</condition>
  385 + <name2/>
  386 + </key>
  387 + <value>
  388 + <name>id</name>
  389 + <rename>xlid</rename>
  390 + <default/>
  391 + <type>Integer</type>
  392 + </value>
  393 + </lookup>
  394 + <cluster_schema/>
  395 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  396 + <xloc>428</xloc>
  397 + <yloc>69</yloc>
  398 + <draw>Y</draw>
  399 + </GUI>
  400 + </step>
  401 +
  402 + <step>
  403 + <name>&#x8def;&#x724c;_85&#x8def;Excel&#x8f93;&#x5165;</name>
  404 + <type>ExcelInput</type>
  405 + <description/>
  406 + <distribute>Y</distribute>
  407 + <custom_distribution/>
  408 + <copies>1</copies>
  409 + <partitioning>
  410 + <method>none</method>
  411 + <schema_name/>
  412 + </partitioning>
  413 + <header>Y</header>
  414 + <noempty>Y</noempty>
  415 + <stoponempty>N</stoponempty>
  416 + <filefield/>
  417 + <sheetfield/>
  418 + <sheetrownumfield/>
  419 + <rownumfield/>
  420 + <sheetfield/>
  421 + <filefield/>
  422 + <limit>0</limit>
  423 + <encoding/>
  424 + <add_to_result_filenames>Y</add_to_result_filenames>
  425 + <accept_filenames>Y</accept_filenames>
  426 + <accept_field>filepath_</accept_field>
  427 + <accept_stepname>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</accept_stepname>
  428 + <file>
  429 + <name/>
  430 + <filemask/>
  431 + <exclude_filemask/>
  432 + <file_required>N</file_required>
  433 + <include_subfolders>N</include_subfolders>
  434 + </file>
  435 + <fields>
  436 + <field>
  437 + <name>&#x7ebf;&#x8def;</name>
  438 + <type>String</type>
  439 + <length>-1</length>
  440 + <precision>-1</precision>
  441 + <trim_type>none</trim_type>
  442 + <repeat>N</repeat>
  443 + <format/>
  444 + <currency/>
  445 + <decimal/>
  446 + <group/>
  447 + </field>
  448 + <field>
  449 + <name>&#x8def;&#x724c;&#x7f16;&#x53f7;</name>
  450 + <type>String</type>
  451 + <length>-1</length>
  452 + <precision>-1</precision>
  453 + <trim_type>none</trim_type>
  454 + <repeat>N</repeat>
  455 + <format>&#x23;</format>
  456 + <currency/>
  457 + <decimal/>
  458 + <group/>
  459 + </field>
  460 + <field>
  461 + <name>&#x8def;&#x724c;&#x540d;&#x79f0;</name>
  462 + <type>String</type>
  463 + <length>-1</length>
  464 + <precision>-1</precision>
  465 + <trim_type>none</trim_type>
  466 + <repeat>N</repeat>
  467 + <format>&#x23;</format>
  468 + <currency/>
  469 + <decimal/>
  470 + <group/>
  471 + </field>
  472 + <field>
  473 + <name>&#x8def;&#x724c;&#x7c7b;&#x578b;</name>
  474 + <type>String</type>
  475 + <length>-1</length>
  476 + <precision>-1</precision>
  477 + <trim_type>none</trim_type>
  478 + <repeat>N</repeat>
  479 + <format/>
  480 + <currency/>
  481 + <decimal/>
  482 + <group/>
  483 + </field>
  484 + </fields>
  485 + <sheets>
  486 + <sheet>
  487 + <name>&#x5de5;&#x4f5c;&#x8868;1</name>
  488 + <startrow>0</startrow>
  489 + <startcol>0</startcol>
  490 + </sheet>
  491 + </sheets>
  492 + <strict_types>N</strict_types>
  493 + <error_ignored>N</error_ignored>
  494 + <error_line_skipped>N</error_line_skipped>
  495 + <bad_line_files_destination_directory/>
  496 + <bad_line_files_extension>warning</bad_line_files_extension>
  497 + <error_line_files_destination_directory/>
  498 + <error_line_files_extension>error</error_line_files_extension>
  499 + <line_number_files_destination_directory/>
  500 + <line_number_files_extension>line</line_number_files_extension>
  501 + <shortFileFieldName/>
  502 + <pathFieldName/>
  503 + <hiddenFieldName/>
  504 + <lastModificationTimeFieldName/>
  505 + <uriNameFieldName/>
  506 + <rootUriNameFieldName/>
  507 + <extensionFieldName/>
  508 + <sizeFieldName/>
  509 + <spreadsheet_type>JXL</spreadsheet_type>
  510 + <cluster_schema/>
  511 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  512 + <xloc>150</xloc>
  513 + <yloc>68</yloc>
  514 + <draw>Y</draw>
  515 + </GUI>
  516 + </step>
  517 +
  518 + <step>
  519 + <name>&#x9519;&#x8bef;&#x8f93;&#x51fa;</name>
  520 + <type>ExcelOutput</type>
  521 + <description/>
  522 + <distribute>Y</distribute>
  523 + <custom_distribution/>
  524 + <copies>1</copies>
  525 + <partitioning>
  526 + <method>none</method>
  527 + <schema_name/>
  528 + </partitioning>
  529 + <header>Y</header>
  530 + <footer>N</footer>
  531 + <encoding>UTF-8</encoding>
  532 + <append>N</append>
  533 + <add_to_result_filenames>Y</add_to_result_filenames>
  534 + <file>
  535 + <name>&#x24;&#x7b;erroroutputdir&#x7d;&#x2f;&#x8def;&#x724c;_&#x9519;&#x8bef;</name>
  536 + <extention>xls</extention>
  537 + <do_not_open_newfile_init>N</do_not_open_newfile_init>
  538 + <create_parent_folder>N</create_parent_folder>
  539 + <split>N</split>
  540 + <add_date>N</add_date>
  541 + <add_time>N</add_time>
  542 + <SpecifyFormat>N</SpecifyFormat>
  543 + <date_time_format/>
  544 + <sheetname>Sheet1</sheetname>
  545 + <autosizecolums>N</autosizecolums>
  546 + <nullisblank>N</nullisblank>
  547 + <protect_sheet>N</protect_sheet>
  548 + <password>Encrypted </password>
  549 + <splitevery>0</splitevery>
  550 + <usetempfiles>N</usetempfiles>
  551 + <tempdirectory/>
  552 + </file>
  553 + <template>
  554 + <enabled>N</enabled>
  555 + <append>N</append>
  556 + <filename>template.xls</filename>
  557 + </template>
  558 + <fields>
  559 + <field>
  560 + <name>xl</name>
  561 + <type>String</type>
  562 + <format/>
  563 + </field>
  564 + <field>
  565 + <name>lpno</name>
  566 + <type>Integer</type>
  567 + <format/>
  568 + </field>
  569 + <field>
  570 + <name>lpname</name>
  571 + <type>String</type>
  572 + <format/>
  573 + </field>
  574 + <field>
  575 + <name>lptype</name>
  576 + <type>String</type>
  577 + <format/>
  578 + </field>
  579 + <field>
  580 + <name>xlid</name>
  581 + <type>Integer</type>
  582 + <format/>
  583 + </field>
  584 + <field>
  585 + <name>error_count</name>
  586 + <type>Integer</type>
  587 + <format/>
  588 + </field>
  589 + <field>
  590 + <name>error_desc</name>
  591 + <type>String</type>
  592 + <format/>
  593 + </field>
  594 + <field>
  595 + <name>error_column1</name>
  596 + <type>String</type>
  597 + <format/>
  598 + </field>
  599 + <field>
  600 + <name>error_column2</name>
  601 + <type>String</type>
  602 + <format/>
  603 + </field>
  604 + </fields>
  605 + <custom>
  606 + <header_font_name>arial</header_font_name>
  607 + <header_font_size>10</header_font_size>
  608 + <header_font_bold>N</header_font_bold>
  609 + <header_font_italic>N</header_font_italic>
  610 + <header_font_underline>no</header_font_underline>
  611 + <header_font_orientation>horizontal</header_font_orientation>
  612 + <header_font_color>black</header_font_color>
  613 + <header_background_color>none</header_background_color>
  614 + <header_row_height>255</header_row_height>
  615 + <header_alignment>left</header_alignment>
  616 + <header_image/>
  617 + <row_font_name>arial</row_font_name>
  618 + <row_font_size>10</row_font_size>
  619 + <row_font_color>black</row_font_color>
  620 + <row_background_color>none</row_background_color>
  621 + </custom>
  622 + <cluster_schema/>
  623 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  624 + <xloc>576</xloc>
  625 + <yloc>192</yloc>
  626 + <draw>Y</draw>
  627 + </GUI>
  628 + </step>
  629 +
  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>
  676 + <error>
  677 + <source_step>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_gbi</source_step>
  678 + <target_step>&#x9519;&#x8bef;&#x8f93;&#x51fa;</target_step>
  679 + <is_enabled>Y</is_enabled>
  680 + <nr_valuename>error_count</nr_valuename>
  681 + <descriptions_valuename>error_desc</descriptions_valuename>
  682 + <fields_valuename>error_column1</fields_valuename>
  683 + <codes_valuename>error_column2</codes_valuename>
  684 + <max_errors/>
  685 + <max_pct_errors/>
  686 + <min_pct_rows/>
  687 + </error>
  688 + </step_error_handling>
  689 + <slave-step-copy-partition-distribution>
  690 +</slave-step-copy-partition-distribution>
  691 + <slave_transformation>N</slave_transformation>
  692 +
  693 +</transformation>
src/main/resources/datatools/ktrs/ttinfoDataInput.ktr 0 → 100644
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<transformation>
  3 + <info>
  4 + <name>ttinfoDataInput</name>
  5 + <description>&#x65f6;&#x523b;&#x8868;&#x57fa;&#x7840;&#x4fe1;&#x606f;&#x5bfc;&#x5165;</description>
  6 + <extended_description>&#x65f6;&#x523b;&#x8868;&#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;30 09&#x3a;35&#x3a;41.558</created_date>
  81 + <modified_user>-</modified_user>
  82 + <modified_date>2016&#x2f;06&#x2f;30 09&#x3a;35&#x3a;41.558</modified_date>
  83 + <key_for_session_key/>
  84 + <is_key_private>N</is_key_private>
  85 + </info>
  86 + <notepads>
  87 + <notepad>
  88 + <note>&#x6709;&#x4e9b;&#x5b57;&#x6bb5;&#x6ca1;&#x6709;&#x8f93;&#x5165;&#xff0c;&#x4e0d;&#x592a;&#x660e;&#x767d;&#xff0c;&#x4ee5;&#x540e;&#x518d;&#x8865;&#xa;&#x6a21;&#x7248;&#x7c7b;&#x578b; &#x5206;&#x65f6;&#x523b;&#x8868;&#x2f;&#x95f4;&#x9694;&#x5f0f;&#x4e24;&#x79cd;&#xff0c;&#x6682;&#x65f6;&#x7a7a;&#x7740;&#xa;&#x662f;&#x5426;&#x542f;&#x7528;&#x8c03;&#x5ea6;&#x6a21;&#x7248; &#x6682;&#x65f6;&#x7a7a;&#x7740;&#xa;&#x8fd8;&#x6709;&#x5c31;&#x662f; &#x5206;&#x522b;&#x5728;&#xff0c;&#x5708;&#x540e;&#x5708; &#x6682;&#x65f6;&#x6ca1;&#x6709;</note>
  89 + <xloc>429</xloc>
  90 + <yloc>144</yloc>
  91 + <width>240</width>
  92 + <heigth>74</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>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo</from><to>&#x9519;&#x8bef;&#x8f93;&#x51fa;</to><enabled>Y</enabled> </hop>
  217 + <hop> <from>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x5173;&#x8054;</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo</to><enabled>Y</enabled> </hop>
  218 + <hop> <from>&#x65f6;&#x523b;&#x8868;&#x57fa;&#x7840;&#x6570;&#x636e;Excel&#x8f93;&#x5165;</from><to>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</to><enabled>Y</enabled> </hop>
  219 + <hop> <from>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</from><to>&#x7ebf;&#x8def;&#x4e0a;&#x4e0b;&#x884c;&#x503c;&#x6620;&#x5c04;</to><enabled>Y</enabled> </hop>
  220 + <hop> <from>&#x7ebf;&#x8def;&#x4e0a;&#x4e0b;&#x884c;&#x503c;&#x6620;&#x5c04;</from><to>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop>
  221 + <hop> <from>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</from><to>&#x65f6;&#x523b;&#x8868;&#x57fa;&#x7840;&#x6570;&#x636e;Excel&#x8f93;&#x5165;</to><enabled>Y</enabled> </hop>
  222 + </order>
  223 + <step>
  224 + <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo</name>
  225 + <type>InsertUpdate</type>
  226 + <description/>
  227 + <distribute>Y</distribute>
  228 + <custom_distribution/>
  229 + <copies>1</copies>
  230 + <partitioning>
  231 + <method>none</method>
  232 + <schema_name/>
  233 + </partitioning>
  234 + <connection>bus_control_&#x516c;&#x53f8;_201</connection>
  235 + <commit>100</commit>
  236 + <update_bypassed>N</update_bypassed>
  237 + <lookup>
  238 + <schema/>
  239 + <table>bsth_c_s_ttinfo</table>
  240 + <key>
  241 + <name>xlid</name>
  242 + <field>xl</field>
  243 + <condition>&#x3d;</condition>
  244 + <name2/>
  245 + </key>
  246 + <key>
  247 + <name>name</name>
  248 + <field>name</field>
  249 + <condition>&#x3d;</condition>
  250 + <name2/>
  251 + </key>
  252 + <value>
  253 + <name>name</name>
  254 + <rename>name</rename>
  255 + <update>Y</update>
  256 + </value>
  257 + <value>
  258 + <name>xl_dir</name>
  259 + <rename>xlDir</rename>
  260 + <update>Y</update>
  261 + </value>
  262 + <value>
  263 + <name>qyrq</name>
  264 + <rename>qyrq</rename>
  265 + <update>Y</update>
  266 + </value>
  267 + <value>
  268 + <name>lp_count</name>
  269 + <rename>lpCount</rename>
  270 + <update>Y</update>
  271 + </value>
  272 + <value>
  273 + <name>loop_count</name>
  274 + <rename>loopCount</rename>
  275 + <update>Y</update>
  276 + </value>
  277 + <value>
  278 + <name>rule_days</name>
  279 + <rename>rule_days</rename>
  280 + <update>Y</update>
  281 + </value>
  282 + <value>
  283 + <name>special_days</name>
  284 + <rename>special_days</rename>
  285 + <update>Y</update>
  286 + </value>
  287 + <value>
  288 + <name>xl</name>
  289 + <rename>xlid</rename>
  290 + <update>Y</update>
  291 + </value>
  292 + </lookup>
  293 + <cluster_schema/>
  294 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  295 + <xloc>799</xloc>
  296 + <yloc>71</yloc>
  297 + <draw>Y</draw>
  298 + </GUI>
  299 + </step>
  300 +
  301 + <step>
  302 + <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x5173;&#x8054;</name>
  303 + <type>DBLookup</type>
  304 + <description/>
  305 + <distribute>Y</distribute>
  306 + <custom_distribution/>
  307 + <copies>1</copies>
  308 + <partitioning>
  309 + <method>none</method>
  310 + <schema_name/>
  311 + </partitioning>
  312 + <connection>bus_control_&#x516c;&#x53f8;_201</connection>
  313 + <cache>N</cache>
  314 + <cache_load_all>N</cache_load_all>
  315 + <cache_size>0</cache_size>
  316 + <lookup>
  317 + <schema/>
  318 + <table>bsth_c_line</table>
  319 + <orderby/>
  320 + <fail_on_multiple>N</fail_on_multiple>
  321 + <eat_row_on_failure>N</eat_row_on_failure>
  322 + <key>
  323 + <name>xlName</name>
  324 + <field>name</field>
  325 + <condition>&#x3d;</condition>
  326 + <name2/>
  327 + </key>
  328 + <value>
  329 + <name>id</name>
  330 + <rename>xlid</rename>
  331 + <default/>
  332 + <type>Integer</type>
  333 + </value>
  334 + </lookup>
  335 + <cluster_schema/>
  336 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  337 + <xloc>599</xloc>
  338 + <yloc>71</yloc>
  339 + <draw>Y</draw>
  340 + </GUI>
  341 + </step>
  342 +
  343 + <step>
  344 + <name>&#x9519;&#x8bef;&#x8f93;&#x51fa;</name>
  345 + <type>ExcelOutput</type>
  346 + <description/>
  347 + <distribute>Y</distribute>
  348 + <custom_distribution/>
  349 + <copies>1</copies>
  350 + <partitioning>
  351 + <method>none</method>
  352 + <schema_name/>
  353 + </partitioning>
  354 + <header>Y</header>
  355 + <footer>N</footer>
  356 + <encoding>UTF-8</encoding>
  357 + <append>N</append>
  358 + <add_to_result_filenames>Y</add_to_result_filenames>
  359 + <file>
  360 + <name>&#x24;&#x7b;erroroutputdir&#x7d;&#x2f;&#x65f6;&#x523b;&#x8868;&#x57fa;&#x7840;&#x4fe1;&#x606f;_&#x9519;&#x8bef;</name>
  361 + <extention>xls</extention>
  362 + <do_not_open_newfile_init>N</do_not_open_newfile_init>
  363 + <create_parent_folder>N</create_parent_folder>
  364 + <split>N</split>
  365 + <add_date>N</add_date>
  366 + <add_time>N</add_time>
  367 + <SpecifyFormat>N</SpecifyFormat>
  368 + <date_time_format/>
  369 + <sheetname>Sheet1</sheetname>
  370 + <autosizecolums>N</autosizecolums>
  371 + <nullisblank>N</nullisblank>
  372 + <protect_sheet>N</protect_sheet>
  373 + <password>Encrypted </password>
  374 + <splitevery>0</splitevery>
  375 + <usetempfiles>N</usetempfiles>
  376 + <tempdirectory/>
  377 + </file>
  378 + <template>
  379 + <enabled>N</enabled>
  380 + <append>N</append>
  381 + <filename>template.xls</filename>
  382 + </template>
  383 + <fields>
  384 + <field>
  385 + <name>xlName</name>
  386 + <type>String</type>
  387 + <format/>
  388 + </field>
  389 + <field>
  390 + <name>name</name>
  391 + <type>String</type>
  392 + <format/>
  393 + </field>
  394 + <field>
  395 + <name>xlDir</name>
  396 + <type>String</type>
  397 + <format/>
  398 + </field>
  399 + <field>
  400 + <name>qyrq</name>
  401 + <type>Date</type>
  402 + <format/>
  403 + </field>
  404 + <field>
  405 + <name>lpCount</name>
  406 + <type>Integer</type>
  407 + <format/>
  408 + </field>
  409 + <field>
  410 + <name>loopCount</name>
  411 + <type>Integer</type>
  412 + <format/>
  413 + </field>
  414 + <field>
  415 + <name>rule_days</name>
  416 + <type>String</type>
  417 + <format/>
  418 + </field>
  419 + <field>
  420 + <name>special_days</name>
  421 + <type>String</type>
  422 + <format/>
  423 + </field>
  424 + <field>
  425 + <name>xlid</name>
  426 + <type>Integer</type>
  427 + <format/>
  428 + </field>
  429 + <field>
  430 + <name>error_count</name>
  431 + <type>Integer</type>
  432 + <format/>
  433 + </field>
  434 + <field>
  435 + <name>error_desc</name>
  436 + <type>String</type>
  437 + <format/>
  438 + </field>
  439 + <field>
  440 + <name>error_column1</name>
  441 + <type>String</type>
  442 + <format/>
  443 + </field>
  444 + <field>
  445 + <name>error_column2</name>
  446 + <type>String</type>
  447 + <format/>
  448 + </field>
  449 + </fields>
  450 + <custom>
  451 + <header_font_name>arial</header_font_name>
  452 + <header_font_size>10</header_font_size>
  453 + <header_font_bold>N</header_font_bold>
  454 + <header_font_italic>N</header_font_italic>
  455 + <header_font_underline>no</header_font_underline>
  456 + <header_font_orientation>horizontal</header_font_orientation>
  457 + <header_font_color>black</header_font_color>
  458 + <header_background_color>none</header_background_color>
  459 + <header_row_height>255</header_row_height>
  460 + <header_alignment>left</header_alignment>
  461 + <header_image/>
  462 + <row_font_name>arial</row_font_name>
  463 + <row_font_size>10</row_font_size>
  464 + <row_font_color>black</row_font_color>
  465 + <row_background_color>none</row_background_color>
  466 + </custom>
  467 + <cluster_schema/>
  468 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  469 + <xloc>799</xloc>
  470 + <yloc>184</yloc>
  471 + <draw>Y</draw>
  472 + </GUI>
  473 + </step>
  474 +
  475 + <step>
  476 + <name>&#x65f6;&#x523b;&#x8868;&#x57fa;&#x7840;&#x6570;&#x636e;Excel&#x8f93;&#x5165;</name>
  477 + <type>ExcelInput</type>
  478 + <description/>
  479 + <distribute>Y</distribute>
  480 + <custom_distribution/>
  481 + <copies>1</copies>
  482 + <partitioning>
  483 + <method>none</method>
  484 + <schema_name/>
  485 + </partitioning>
  486 + <header>Y</header>
  487 + <noempty>Y</noempty>
  488 + <stoponempty>N</stoponempty>
  489 + <filefield/>
  490 + <sheetfield/>
  491 + <sheetrownumfield/>
  492 + <rownumfield/>
  493 + <sheetfield/>
  494 + <filefield/>
  495 + <limit>0</limit>
  496 + <encoding/>
  497 + <add_to_result_filenames>Y</add_to_result_filenames>
  498 + <accept_filenames>Y</accept_filenames>
  499 + <accept_field>filepath_</accept_field>
  500 + <accept_stepname>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</accept_stepname>
  501 + <file>
  502 + <name/>
  503 + <filemask/>
  504 + <exclude_filemask/>
  505 + <file_required>N</file_required>
  506 + <include_subfolders>N</include_subfolders>
  507 + </file>
  508 + <fields>
  509 + <field>
  510 + <name>&#x7ebf;&#x8def;&#x540d;&#x79f0;</name>
  511 + <type>String</type>
  512 + <length>-1</length>
  513 + <precision>-1</precision>
  514 + <trim_type>none</trim_type>
  515 + <repeat>N</repeat>
  516 + <format/>
  517 + <currency/>
  518 + <decimal/>
  519 + <group/>
  520 + </field>
  521 + <field>
  522 + <name>&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;</name>
  523 + <type>String</type>
  524 + <length>-1</length>
  525 + <precision>-1</precision>
  526 + <trim_type>none</trim_type>
  527 + <repeat>N</repeat>
  528 + <format/>
  529 + <currency/>
  530 + <decimal/>
  531 + <group/>
  532 + </field>
  533 + <field>
  534 + <name>&#x7ebf;&#x8def;&#x4e0a;&#x4e0b;&#x884c;</name>
  535 + <type>String</type>
  536 + <length>-1</length>
  537 + <precision>-1</precision>
  538 + <trim_type>none</trim_type>
  539 + <repeat>N</repeat>
  540 + <format/>
  541 + <currency/>
  542 + <decimal/>
  543 + <group/>
  544 + </field>
  545 + <field>
  546 + <name>&#x542f;&#x7528;&#x65e5;&#x671f;</name>
  547 + <type>String</type>
  548 + <length>-1</length>
  549 + <precision>-1</precision>
  550 + <trim_type>none</trim_type>
  551 + <repeat>N</repeat>
  552 + <format/>
  553 + <currency/>
  554 + <decimal/>
  555 + <group/>
  556 + </field>
  557 + <field>
  558 + <name>&#x8def;&#x724c;&#x6570;</name>
  559 + <type>String</type>
  560 + <length>-1</length>
  561 + <precision>-1</precision>
  562 + <trim_type>none</trim_type>
  563 + <repeat>N</repeat>
  564 + <format>&#x23;</format>
  565 + <currency/>
  566 + <decimal/>
  567 + <group/>
  568 + </field>
  569 + <field>
  570 + <name>&#x5708;&#x6570;</name>
  571 + <type>String</type>
  572 + <length>-1</length>
  573 + <precision>-1</precision>
  574 + <trim_type>none</trim_type>
  575 + <repeat>N</repeat>
  576 + <format>&#x23;</format>
  577 + <currency/>
  578 + <decimal/>
  579 + <group/>
  580 + </field>
  581 + <field>
  582 + <name>&#x5e38;&#x89c4;&#x6709;&#x6548;&#x65e5;</name>
  583 + <type>String</type>
  584 + <length>-1</length>
  585 + <precision>-1</precision>
  586 + <trim_type>none</trim_type>
  587 + <repeat>N</repeat>
  588 + <format/>
  589 + <currency/>
  590 + <decimal/>
  591 + <group/>
  592 + </field>
  593 + <field>
  594 + <name>&#x7279;&#x6b8a;&#x6709;&#x6548;&#x65e5;</name>
  595 + <type>String</type>
  596 + <length>-1</length>
  597 + <precision>-1</precision>
  598 + <trim_type>none</trim_type>
  599 + <repeat>N</repeat>
  600 + <format/>
  601 + <currency/>
  602 + <decimal/>
  603 + <group/>
  604 + </field>
  605 + </fields>
  606 + <sheets>
  607 + <sheet>
  608 + <name>&#x5de5;&#x4f5c;&#x8868;1</name>
  609 + <startrow>0</startrow>
  610 + <startcol>0</startcol>
  611 + </sheet>
  612 + </sheets>
  613 + <strict_types>N</strict_types>
  614 + <error_ignored>N</error_ignored>
  615 + <error_line_skipped>N</error_line_skipped>
  616 + <bad_line_files_destination_directory/>
  617 + <bad_line_files_extension>warning</bad_line_files_extension>
  618 + <error_line_files_destination_directory/>
  619 + <error_line_files_extension>error</error_line_files_extension>
  620 + <line_number_files_destination_directory/>
  621 + <line_number_files_extension>line</line_number_files_extension>
  622 + <shortFileFieldName/>
  623 + <pathFieldName/>
  624 + <hiddenFieldName/>
  625 + <lastModificationTimeFieldName/>
  626 + <uriNameFieldName/>
  627 + <rootUriNameFieldName/>
  628 + <extensionFieldName/>
  629 + <sizeFieldName/>
  630 + <spreadsheet_type>JXL</spreadsheet_type>
  631 + <cluster_schema/>
  632 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  633 + <xloc>158</xloc>
  634 + <yloc>77</yloc>
  635 + <draw>Y</draw>
  636 + </GUI>
  637 + </step>
  638 +
  639 + <step>
  640 + <name>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</name>
  641 + <type>SelectValues</type>
  642 + <description/>
  643 + <distribute>Y</distribute>
  644 + <custom_distribution/>
  645 + <copies>1</copies>
  646 + <partitioning>
  647 + <method>none</method>
  648 + <schema_name/>
  649 + </partitioning>
  650 + <fields> <field> <name>&#x7ebf;&#x8def;&#x540d;&#x79f0;</name>
  651 + <rename>xlName</rename>
  652 + <length>-2</length>
  653 + <precision>-2</precision>
  654 + </field> <field> <name>&#x65f6;&#x523b;&#x8868;&#x540d;&#x79f0;</name>
  655 + <rename>name</rename>
  656 + <length>-2</length>
  657 + <precision>-2</precision>
  658 + </field> <field> <name>&#x7ebf;&#x8def;&#x4e0a;&#x4e0b;&#x884c;</name>
  659 + <rename>xlDir</rename>
  660 + <length>-2</length>
  661 + <precision>-2</precision>
  662 + </field> <field> <name>&#x542f;&#x7528;&#x65e5;&#x671f;</name>
  663 + <rename>qyrq</rename>
  664 + <length>-2</length>
  665 + <precision>-2</precision>
  666 + </field> <field> <name>&#x8def;&#x724c;&#x6570;</name>
  667 + <rename>lpCount</rename>
  668 + <length>-2</length>
  669 + <precision>-2</precision>
  670 + </field> <field> <name>&#x5708;&#x6570;</name>
  671 + <rename>loopCount</rename>
  672 + <length>-2</length>
  673 + <precision>-2</precision>
  674 + </field> <field> <name>&#x5e38;&#x89c4;&#x6709;&#x6548;&#x65e5;</name>
  675 + <rename>rule_days</rename>
  676 + <length>-2</length>
  677 + <precision>-2</precision>
  678 + </field> <field> <name>&#x7279;&#x6b8a;&#x6709;&#x6548;&#x65e5;</name>
  679 + <rename>special_days</rename>
  680 + <length>-2</length>
  681 + <precision>-2</precision>
  682 + </field> <select_unspecified>N</select_unspecified>
  683 + </fields> <cluster_schema/>
  684 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  685 + <xloc>323</xloc>
  686 + <yloc>75</yloc>
  687 + <draw>Y</draw>
  688 + </GUI>
  689 + </step>
  690 +
  691 + <step>
  692 + <name>&#x7ebf;&#x8def;&#x4e0a;&#x4e0b;&#x884c;&#x503c;&#x6620;&#x5c04;</name>
  693 + <type>ValueMapper</type>
  694 + <description/>
  695 + <distribute>Y</distribute>
  696 + <custom_distribution/>
  697 + <copies>1</copies>
  698 + <partitioning>
  699 + <method>none</method>
  700 + <schema_name/>
  701 + </partitioning>
  702 + <field_to_use>xlDir</field_to_use>
  703 + <target_field/>
  704 + <non_match_default/>
  705 + <fields>
  706 + <field>
  707 + <source_value>&#x4e0a;&#x884c;</source_value>
  708 + <target_value>0</target_value>
  709 + </field>
  710 + <field>
  711 + <source_value>&#x4e0b;&#x884c;</source_value>
  712 + <target_value>1</target_value>
  713 + </field>
  714 + <field>
  715 + <source_value>&#x4e0a;&#x4e0b;&#x884c;</source_value>
  716 + <target_value>2</target_value>
  717 + </field>
  718 + </fields>
  719 + <cluster_schema/>
  720 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  721 + <xloc>460</xloc>
  722 + <yloc>74</yloc>
  723 + <draw>Y</draw>
  724 + </GUI>
  725 + </step>
  726 +
  727 + <step>
  728 + <name>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</name>
  729 + <type>GetVariable</type>
  730 + <description/>
  731 + <distribute>Y</distribute>
  732 + <custom_distribution/>
  733 + <copies>1</copies>
  734 + <partitioning>
  735 + <method>none</method>
  736 + <schema_name/>
  737 + </partitioning>
  738 + <fields>
  739 + <field>
  740 + <name>filepath_</name>
  741 + <variable>&#x24;&#x7b;filepath&#x7d;</variable>
  742 + <type>String</type>
  743 + <format/>
  744 + <currency/>
  745 + <decimal/>
  746 + <group/>
  747 + <length>-1</length>
  748 + <precision>-1</precision>
  749 + <trim_type>none</trim_type>
  750 + </field>
  751 + <field>
  752 + <name>erroroutputdir_</name>
  753 + <variable>&#x24;&#x7b;erroroutputdir&#x7d;</variable>
  754 + <type>String</type>
  755 + <format/>
  756 + <currency/>
  757 + <decimal/>
  758 + <group/>
  759 + <length>-1</length>
  760 + <precision>-1</precision>
  761 + <trim_type>none</trim_type>
  762 + </field>
  763 + </fields>
  764 + <cluster_schema/>
  765 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  766 + <xloc>162</xloc>
  767 + <yloc>191</yloc>
  768 + <draw>Y</draw>
  769 + </GUI>
  770 + </step>
  771 +
  772 + <step_error_handling>
  773 + <error>
  774 + <source_step>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo</source_step>
  775 + <target_step>&#x9519;&#x8bef;&#x8f93;&#x51fa;</target_step>
  776 + <is_enabled>Y</is_enabled>
  777 + <nr_valuename>error_count</nr_valuename>
  778 + <descriptions_valuename>error_desc</descriptions_valuename>
  779 + <fields_valuename>error_column1</fields_valuename>
  780 + <codes_valuename>error_column2</codes_valuename>
  781 + <max_errors/>
  782 + <max_pct_errors/>
  783 + <min_pct_rows/>
  784 + </error>
  785 + </step_error_handling>
  786 + <slave-step-copy-partition-distribution>
  787 +</slave-step-copy-partition-distribution>
  788 + <slave_transformation>N</slave_transformation>
  789 +
  790 +</transformation>
src/main/resources/datatools/ktrs/ttinfodetailDataInput.ktr 0 → 100644
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<transformation>
  3 + <info>
  4 + <name>ttinfodetailDataInput</name>
  5 + <description>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;&#x5bfc;&#x5165;</description>
  6 + <extended_description>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;</extended_description>
  7 + <trans_version/>
  8 + <trans_type>Normal</trans_type>
  9 + <trans_status>0</trans_status>
  10 + <directory>&#x2f;</directory>
  11 + <parameters>
  12 + <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>
  38 + <log>
  39 +<trans-log-table><connection/>
  40 +<schema/>
  41 +<table/>
  42 +<size_limit_lines/>
  43 +<interval/>
  44 +<timeout_days/>
  45 +<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>
  46 +<perf-log-table><connection/>
  47 +<schema/>
  48 +<table/>
  49 +<interval/>
  50 +<timeout_days/>
  51 +<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>
  52 +<channel-log-table><connection/>
  53 +<schema/>
  54 +<table/>
  55 +<timeout_days/>
  56 +<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>
  57 +<step-log-table><connection/>
  58 +<schema/>
  59 +<table/>
  60 +<timeout_days/>
  61 +<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>
  62 +<metrics-log-table><connection/>
  63 +<schema/>
  64 +<table/>
  65 +<timeout_days/>
  66 +<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>
  67 + </log>
  68 + <maxdate>
  69 + <connection/>
  70 + <table/>
  71 + <field/>
  72 + <offset>0.0</offset>
  73 + <maxdiff>0.0</maxdiff>
  74 + </maxdate>
  75 + <size_rowset>10000</size_rowset>
  76 + <sleep_time_empty>50</sleep_time_empty>
  77 + <sleep_time_full>50</sleep_time_full>
  78 + <unique_connections>N</unique_connections>
  79 + <feedback_shown>Y</feedback_shown>
  80 + <feedback_size>50000</feedback_size>
  81 + <using_thread_priorities>Y</using_thread_priorities>
  82 + <shared_objects_file/>
  83 + <capture_step_performance>N</capture_step_performance>
  84 + <step_performance_capturing_delay>1000</step_performance_capturing_delay>
  85 + <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit>
  86 + <dependencies>
  87 + </dependencies>
  88 + <partitionschemas>
  89 + </partitionschemas>
  90 + <slaveservers>
  91 + </slaveservers>
  92 + <clusterschemas>
  93 + </clusterschemas>
  94 + <created_user>-</created_user>
  95 + <created_date>2016&#x2f;06&#x2f;30 12&#x3a;21&#x3a;57.536</created_date>
  96 + <modified_user>-</modified_user>
  97 + <modified_date>2016&#x2f;06&#x2f;30 12&#x3a;21&#x3a;57.536</modified_date>
  98 + <key_for_session_key/>
  99 + <is_key_private>N</is_key_private>
  100 + </info>
  101 + <notepads>
  102 + </notepads>
  103 + <connection>
  104 + <name>bus_control_&#x516c;&#x53f8;_201</name>
  105 + <server>192.168.168.201</server>
  106 + <type>MYSQL</type>
  107 + <access>Native</access>
  108 + <database>control</database>
  109 + <port>3306</port>
  110 + <username>root</username>
  111 + <password>Encrypted 2be98afc86aa7f2e4cb79ff228dc6fa8c</password>
  112 + <servername/>
  113 + <data_tablespace/>
  114 + <index_tablespace/>
  115 + <attributes>
  116 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  117 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  118 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  119 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  120 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  121 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  122 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  123 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  124 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  125 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  126 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  127 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  128 + </attributes>
  129 + </connection>
  130 + <connection>
  131 + <name>xlab_mysql_youle</name>
  132 + <server>101.231.124.8</server>
  133 + <type>MYSQL</type>
  134 + <access>Native</access>
  135 + <database>xlab_youle</database>
  136 + <port>45687</port>
  137 + <username>xlab-youle</username>
  138 + <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password>
  139 + <servername/>
  140 + <data_tablespace/>
  141 + <index_tablespace/>
  142 + <attributes>
  143 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  144 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  145 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  146 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  147 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  148 + <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute>
  149 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  150 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  151 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  152 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  153 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  154 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  155 + </attributes>
  156 + </connection>
  157 + <connection>
  158 + <name>xlab_mysql_youle&#xff08;&#x672c;&#x673a;&#xff09;</name>
  159 + <server>localhost</server>
  160 + <type>MYSQL</type>
  161 + <access>Native</access>
  162 + <database>xlab_youle</database>
  163 + <port>3306</port>
  164 + <username>root</username>
  165 + <password>Encrypted </password>
  166 + <servername/>
  167 + <data_tablespace/>
  168 + <index_tablespace/>
  169 + <attributes>
  170 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  171 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  172 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  173 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  174 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  175 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  176 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  177 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  178 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  179 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  180 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  181 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  182 + </attributes>
  183 + </connection>
  184 + <connection>
  185 + <name>xlab_youle</name>
  186 + <server/>
  187 + <type>MYSQL</type>
  188 + <access>JNDI</access>
  189 + <database>xlab_youle</database>
  190 + <port>1521</port>
  191 + <username/>
  192 + <password>Encrypted </password>
  193 + <servername/>
  194 + <data_tablespace/>
  195 + <index_tablespace/>
  196 + <attributes>
  197 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  198 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  199 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  200 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  201 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  202 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  203 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  204 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  205 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  206 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  207 + </attributes>
  208 + </connection>
  209 + <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>
  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>
  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>
  215 + <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>
  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>
  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>
  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>
  222 + <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>
  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>
  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>
  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>
  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>
  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>
  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>
  234 + <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>
  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>
  239 + <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>
  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>
  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>
  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>
  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>
  247 + </order>
  248 + <step>
  249 + <name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</name>
  250 + <type>ExcelInput</type>
  251 + <description/>
  252 + <distribute>Y</distribute>
  253 + <custom_distribution/>
  254 + <copies>1</copies>
  255 + <partitioning>
  256 + <method>none</method>
  257 + <schema_name/>
  258 + </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>
  281 + <fields>
  282 + <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/>
  461 + </field>
  462 + <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/>
  473 + </field>
  474 + <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/>
  485 + </field>
  486 + <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/>
  497 + </field>
  498 + <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/>
  509 + </field>
  510 + <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/>
  521 + </field>
  522 + <field>
  523 + <name>&#x9646;&#x5bb6;&#x5634;&#x5730;&#x94c1;&#x7ad9;9</name>
  524 + <type>String</type>
  525 + <length>-1</length>
  526 + <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>
  536 + <type>String</type>
  537 + <length>-1</length>
  538 + <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/>
  791 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  792 + <xloc>248</xloc>
  793 + <yloc>44</yloc>
  794 + <draw>Y</draw>
  795 + </GUI>
  796 + </step>
  797 +
  798 + <step>
  799 + <name>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</name>
  800 + <type>SelectValues</type>
  801 + <description/>
  802 + <distribute>Y</distribute>
  803 + <custom_distribution/>
  804 + <copies>1</copies>
  805 + <partitioning>
  806 + <method>none</method>
  807 + <schema_name/>
  808 + </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/>
  823 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  824 + <xloc>351</xloc>
  825 + <yloc>45</yloc>
  826 + <draw>Y</draw>
  827 + </GUI>
  828 + </step>
  829 +
  830 + <step>
  831 + <name>&#x6dfb;&#x52a0;&#x53d1;&#x8f66;&#x987a;&#x5e8f;&#x53f7;</name>
  832 + <type>GroupBy</type>
  833 + <description/>
  834 + <distribute>Y</distribute>
  835 + <custom_distribution/>
  836 + <copies>1</copies>
  837 + <partitioning>
  838 + <method>none</method>
  839 + <schema_name/>
  840 + </partitioning>
  841 + <all_rows>Y</all_rows>
  842 + <ignore_aggregate>N</ignore_aggregate>
  843 + <field_ignore/>
  844 + <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
  845 + <prefix>grp</prefix>
  846 + <add_linenr>Y</add_linenr>
  847 + <linenr_fieldname>fcno</linenr_fieldname>
  848 + <give_back_row>N</give_back_row>
  849 + <group>
  850 + <field>
  851 + <name>lp</name>
  852 + </field>
  853 + </group>
  854 + <fields>
  855 + </fields>
  856 + <cluster_schema/>
  857 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  858 + <xloc>442</xloc>
  859 + <yloc>44</yloc>
  860 + <draw>Y</draw>
  861 + </GUI>
  862 + </step>
  863 +
  864 + <step>
  865 + <name>&#x8fc7;&#x6ee4;&#x8bb0;&#x5f55;&#xff08;&#x53d1;&#x8f66;&#x65f6;&#x95f4;&#x4e3a;&#x7a7a;&#xff09;</name>
  866 + <type>FilterRows</type>
  867 + <description/>
  868 + <distribute>Y</distribute>
  869 + <custom_distribution/>
  870 + <copies>1</copies>
  871 + <partitioning>
  872 + <method>none</method>
  873 + <schema_name/>
  874 + </partitioning>
  875 +<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/>
  886 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  887 + <xloc>571</xloc>
  888 + <yloc>44</yloc>
  889 + <draw>Y</draw>
  890 + </GUI>
  891 + </step>
  892 +
  893 + <step>
  894 + <name>&#x6dfb;&#x52a0;&#x5bf9;&#x5e94;&#x73ed;&#x6b21;&#x6570;</name>
  895 + <type>GroupBy</type>
  896 + <description/>
  897 + <distribute>Y</distribute>
  898 + <custom_distribution/>
  899 + <copies>1</copies>
  900 + <partitioning>
  901 + <method>none</method>
  902 + <schema_name/>
  903 + </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>
  916 + <cluster_schema/>
  917 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  918 + <xloc>692</xloc>
  919 + <yloc>44</yloc>
  920 + <draw>Y</draw>
  921 + </GUI>
  922 + </step>
  923 +
  924 + <step>
  925 + <name>&#x5904;&#x7406;&#x6570;&#x636e;</name>
  926 + <type>ScriptValueMod</type>
  927 + <description/>
  928 + <distribute>Y</distribute>
  929 + <custom_distribution/>
  930 + <copies>1</copies>
  931 + <partitioning>
  932 + <method>none</method>
  933 + <schema_name/>
  934 + </partitioning>
  935 + <compatible>N</compatible>
  936 + <optimizationLevel>9</optimizationLevel>
  937 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  938 + <jsScript_name>Script 1</jsScript_name>
  939 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f; &#x4f7f;&#x7528;&#x6b63;&#x5219;&#x8868;&#x8fbe;&#x5f0f;&#x53bb;&#x9664;&#x7ad9;&#x70b9;&#x540d;&#x79f0;&#x4e2d;&#x7684;&#x6570;&#x5b57;&#xa;qdzname &#x3d; qdzname.replace&#x28;&#x2f;&#x5c;d&#x2b;&#x2f;g,&#x27;&#x27;&#x29;&#x3b;&#xa;&#xa;</jsScript_script>
  940 + </jsScript> </jsScripts> <fields> <field> <name>qdzname</name>
  941 + <rename>qdzname</rename>
  942 + <type>String</type>
  943 + <length>-1</length>
  944 + <precision>-1</precision>
  945 + <replace>Y</replace>
  946 + </field> </fields> <cluster_schema/>
  947 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  948 + <xloc>788</xloc>
  949 + <yloc>44</yloc>
  950 + <draw>Y</draw>
  951 + </GUI>
  952 + </step>
  953 +
  954 + <step>
  955 + <name>&#x5206;&#x7ec4;&#x5404;&#x4e2a;&#x8def;&#x724c;&#x7684;&#x7ad9;</name>
  956 + <type>GroupBy</type>
  957 + <description/>
  958 + <distribute>Y</distribute>
  959 + <custom_distribution/>
  960 + <copies>1</copies>
  961 + <partitioning>
  962 + <method>none</method>
  963 + <schema_name/>
  964 + </partitioning>
  965 + <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>
  986 + <cluster_schema/>
  987 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  988 + <xloc>892</xloc>
  989 + <yloc>44</yloc>
  990 + <draw>Y</draw>
  991 + </GUI>
  992 + </step>
  993 +
  994 + <step>
  995 + <name>&#x67e5;&#x627e;&#x65f6;&#x523b;&#x8868;&#x57fa;&#x7840;&#x4fe1;&#x606f;&#x5173;&#x8054;</name>
  996 + <type>DBLookup</type>
  997 + <description/>
  998 + <distribute>Y</distribute>
  999 + <custom_distribution/>
  1000 + <copies>1</copies>
  1001 + <partitioning>
  1002 + <method>none</method>
  1003 + <schema_name/>
  1004 + </partitioning>
  1005 + <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>
  1237 + <cluster_schema/>
  1238 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1239 + <xloc>147</xloc>
  1240 + <yloc>403</yloc>
  1241 + <draw>Y</draw>
  1242 + </GUI>
  1243 + </step>
  1244 +
  1245 + <step>
  1246 + <name>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 2</name>
  1247 + <type>ValueMapper</type>
  1248 + <description/>
  1249 + <distribute>Y</distribute>
  1250 + <custom_distribution/>
  1251 + <copies>1</copies>
  1252 + <partitioning>
  1253 + <method>none</method>
  1254 + <schema_name/>
  1255 + </partitioning>
  1256 + <field_to_use>sxx</field_to_use>
  1257 + <target_field>sxx_desc</target_field>
  1258 + <non_match_default/>
  1259 + <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>
  1269 + <cluster_schema/>
  1270 + <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>
  1408 + <draw>Y</draw>
  1409 + </GUI>
  1410 + </step>
  1411 +
  1412 + <step>
  1413 + <name>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;1</name>
  1414 + <type>FilterRows</type>
  1415 + <description/>
  1416 + <distribute>Y</distribute>
  1417 + <custom_distribution/>
  1418 + <copies>1</copies>
  1419 + <partitioning>
  1420 + <method>none</method>
  1421 + <schema_name/>
  1422 + </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>
  1433 + <cluster_schema/>
  1434 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1435 + <xloc>868</xloc>
  1436 + <yloc>404</yloc>
  1437 + <draw>Y</draw>
  1438 + </GUI>
  1439 + </step>
  1440 +
  1441 + <step>
  1442 + <name>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</name>
  1443 + <type>FilterRows</type>
  1444 + <description/>
  1445 + <distribute>Y</distribute>
  1446 + <custom_distribution/>
  1447 + <copies>1</copies>
  1448 + <partitioning>
  1449 + <method>none</method>
  1450 + <schema_name/>
  1451 + </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>
  1462 + <cluster_schema/>
  1463 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1464 + <xloc>995</xloc>
  1465 + <yloc>503</yloc>
  1466 + <draw>Y</draw>
  1467 + </GUI>
  1468 + </step>
  1469 +
  1470 + <step>
  1471 + <name>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;1</name>
  1472 + <type>DBLookup</type>
  1473 + <description/>
  1474 + <distribute>Y</distribute>
  1475 + <custom_distribution/>
  1476 + <copies>1</copies>
  1477 + <partitioning>
  1478 + <method>none</method>
  1479 + <schema_name/>
  1480 + </partitioning>
  1481 + <connection>bus_control_&#x516c;&#x53f8;_201</connection>
  1482 + <cache>N</cache>
  1483 + <cache_load_all>N</cache_load_all>
  1484 + <cache_size>0</cache_size>
  1485 + <lookup>
  1486 + <schema/>
  1487 + <table>bsth_c_car_park</table>
  1488 + <orderby/>
  1489 + <fail_on_multiple>N</fail_on_multiple>
  1490 + <eat_row_on_failure>N</eat_row_on_failure>
  1491 + <key>
  1492 + <name>tccname</name>
  1493 + <field>park_name</field>
  1494 + <condition>&#x3d;</condition>
  1495 + <name2/>
  1496 + </key>
  1497 + <value>
  1498 + <name>id</name>
  1499 + <rename>qdzid</rename>
  1500 + <default/>
  1501 + <type>Integer</type>
  1502 + </value>
  1503 + </lookup>
  1504 + <cluster_schema/>
  1505 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1506 + <xloc>591</xloc>
  1507 + <yloc>503</yloc>
  1508 + <draw>Y</draw>
  1509 + </GUI>
  1510 + </step>
  1511 +
  1512 + <step>
  1513 + <name>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;2</name>
  1514 + <type>DBLookup</type>
  1515 + <description/>
  1516 + <distribute>Y</distribute>
  1517 + <custom_distribution/>
  1518 + <copies>1</copies>
  1519 + <partitioning>
  1520 + <method>none</method>
  1521 + <schema_name/>
  1522 + </partitioning>
  1523 + <connection>bus_control_&#x516c;&#x53f8;_201</connection>
  1524 + <cache>N</cache>
  1525 + <cache_load_all>N</cache_load_all>
  1526 + <cache_size>0</cache_size>
  1527 + <lookup>
  1528 + <schema/>
  1529 + <table>bsth_c_car_park</table>
  1530 + <orderby/>
  1531 + <fail_on_multiple>N</fail_on_multiple>
  1532 + <eat_row_on_failure>N</eat_row_on_failure>
  1533 + <key>
  1534 + <name>tccname</name>
  1535 + <field>park_name</field>
  1536 + <condition>&#x3d;</condition>
  1537 + <name2/>
  1538 + </key>
  1539 + <value>
  1540 + <name>id</name>
  1541 + <rename>zdzid</rename>
  1542 + <default/>
  1543 + <type>Integer</type>
  1544 + </value>
  1545 + </lookup>
  1546 + <cluster_schema/>
  1547 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1548 + <xloc>734</xloc>
  1549 + <yloc>610</yloc>
  1550 + <draw>Y</draw>
  1551 + </GUI>
  1552 + </step>
  1553 +
  1554 + <step>
  1555 + <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x4e0a;&#x4e0b;&#x884c;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
  1556 + <type>DBLookup</type>
  1557 + <description/>
  1558 + <distribute>Y</distribute>
  1559 + <custom_distribution/>
  1560 + <copies>1</copies>
  1561 + <partitioning>
  1562 + <method>none</method>
  1563 + <schema_name/>
  1564 + </partitioning>
  1565 + <connection>bus_control_&#x516c;&#x53f8;_201</connection>
  1566 + <cache>N</cache>
  1567 + <cache_load_all>N</cache_load_all>
  1568 + <cache_size>0</cache_size>
  1569 + <lookup>
  1570 + <schema/>
  1571 + <table>bsth_c_line_information</table>
  1572 + <orderby/>
  1573 + <fail_on_multiple>N</fail_on_multiple>
  1574 + <eat_row_on_failure>N</eat_row_on_failure>
  1575 + <key>
  1576 + <name>xlid</name>
  1577 + <field>line</field>
  1578 + <condition>&#x3d;</condition>
  1579 + <name2/>
  1580 + </key>
  1581 + <value>
  1582 + <name>up_mileage</name>
  1583 + <rename>up_mileage</rename>
  1584 + <default/>
  1585 + <type>Number</type>
  1586 + </value>
  1587 + <value>
  1588 + <name>down_mileage</name>
  1589 + <rename>down_mileage</rename>
  1590 + <default/>
  1591 + <type>Number</type>
  1592 + </value>
  1593 + <value>
  1594 + <name>up_travel_time</name>
  1595 + <rename>up_travel_time</rename>
  1596 + <default/>
  1597 + <type>Number</type>
  1598 + </value>
  1599 + <value>
  1600 + <name>down_travel_time</name>
  1601 + <rename>down_travel_time</rename>
  1602 + <default/>
  1603 + <type>Number</type>
  1604 + </value>
  1605 + </lookup>
  1606 + <cluster_schema/>
  1607 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1608 + <xloc>149</xloc>
  1609 + <yloc>581</yloc>
  1610 + <draw>Y</draw>
  1611 + </GUI>
  1612 + </step>
  1613 +
  1614 + <step>
  1615 + <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x51fa;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
  1616 + <type>DBLookup</type>
  1617 + <description/>
  1618 + <distribute>Y</distribute>
  1619 + <custom_distribution/>
  1620 + <copies>1</copies>
  1621 + <partitioning>
  1622 + <method>none</method>
  1623 + <schema_name/>
  1624 + </partitioning>
  1625 + <connection>bus_control_&#x516c;&#x53f8;_201</connection>
  1626 + <cache>N</cache>
  1627 + <cache_load_all>N</cache_load_all>
  1628 + <cache_size>0</cache_size>
  1629 + <lookup>
  1630 + <schema/>
  1631 + <table>bsth_c_line_information</table>
  1632 + <orderby/>
  1633 + <fail_on_multiple>N</fail_on_multiple>
  1634 + <eat_row_on_failure>N</eat_row_on_failure>
  1635 + <key>
  1636 + <name>xlid</name>
  1637 + <field>line</field>
  1638 + <condition>&#x3d;</condition>
  1639 + <name2/>
  1640 + </key>
  1641 + <value>
  1642 + <name>out_mileage</name>
  1643 + <rename>out_mileage</rename>
  1644 + <default/>
  1645 + <type>Number</type>
  1646 + </value>
  1647 + <value>
  1648 + <name>out_time</name>
  1649 + <rename>out_time</rename>
  1650 + <default/>
  1651 + <type>Number</type>
  1652 + </value>
  1653 + </lookup>
  1654 + <cluster_schema/>
  1655 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1656 + <xloc>439</xloc>
  1657 + <yloc>744</yloc>
  1658 + <draw>Y</draw>
  1659 + </GUI>
  1660 + </step>
  1661 +
  1662 + <step>
  1663 + <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x8fdb;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
  1664 + <type>DBLookup</type>
  1665 + <description/>
  1666 + <distribute>Y</distribute>
  1667 + <custom_distribution/>
  1668 + <copies>1</copies>
  1669 + <partitioning>
  1670 + <method>none</method>
  1671 + <schema_name/>
  1672 + </partitioning>
  1673 + <connection>bus_control_&#x516c;&#x53f8;_201</connection>
  1674 + <cache>N</cache>
  1675 + <cache_load_all>N</cache_load_all>
  1676 + <cache_size>0</cache_size>
  1677 + <lookup>
  1678 + <schema/>
  1679 + <table>bsth_c_line_information</table>
  1680 + <orderby/>
  1681 + <fail_on_multiple>N</fail_on_multiple>
  1682 + <eat_row_on_failure>N</eat_row_on_failure>
  1683 + <key>
  1684 + <name>xlid</name>
  1685 + <field>line</field>
  1686 + <condition>&#x3d;</condition>
  1687 + <name2/>
  1688 + </key>
  1689 + <value>
  1690 + <name>parade_mileage</name>
  1691 + <rename>parade_mileage</rename>
  1692 + <default/>
  1693 + <type>Number</type>
  1694 + </value>
  1695 + <value>
  1696 + <name>parade_time</name>
  1697 + <rename>parade_time</rename>
  1698 + <default/>
  1699 + <type>Number</type>
  1700 + </value>
  1701 + </lookup>
  1702 + <cluster_schema/>
  1703 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1704 + <xloc>592</xloc>
  1705 + <yloc>819</yloc>
  1706 + <draw>Y</draw>
  1707 + </GUI>
  1708 + </step>
  1709 +
  1710 + <step>
  1711 + <name>&#x67e5;&#x627e;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;</name>
  1712 + <type>DBLookup</type>
  1713 + <description/>
  1714 + <distribute>Y</distribute>
  1715 + <custom_distribution/>
  1716 + <copies>1</copies>
  1717 + <partitioning>
  1718 + <method>none</method>
  1719 + <schema_name/>
  1720 + </partitioning>
  1721 + <connection>bus_control_&#x516c;&#x53f8;_201</connection>
  1722 + <cache>N</cache>
  1723 + <cache_load_all>N</cache_load_all>
  1724 + <cache_size>0</cache_size>
  1725 + <lookup>
  1726 + <schema/>
  1727 + <table>bsth_c_stationroute</table>
  1728 + <orderby/>
  1729 + <fail_on_multiple>N</fail_on_multiple>
  1730 + <eat_row_on_failure>N</eat_row_on_failure>
  1731 + <key>
  1732 + <name>xlid</name>
  1733 + <field>line</field>
  1734 + <condition>&#x3d;</condition>
  1735 + <name2/>
  1736 + </key>
  1737 + <key>
  1738 + <name>sxx</name>
  1739 + <field>directions</field>
  1740 + <condition>&#x3d;</condition>
  1741 + <name2/>
  1742 + </key>
  1743 + <key>
  1744 + <name>endZdtype</name>
  1745 + <field>station_mark</field>
  1746 + <condition>&#x3d;</condition>
  1747 + <name2/>
  1748 + </key>
  1749 + <value>
  1750 + <name>station_name</name>
  1751 + <rename>zdzname</rename>
  1752 + <default/>
  1753 + <type>String</type>
  1754 + </value>
  1755 + <value>
  1756 + <name>station</name>
  1757 + <rename>zdzid</rename>
  1758 + <default/>
  1759 + <type>Integer</type>
  1760 + </value>
  1761 + </lookup>
  1762 + <cluster_schema/>
  1763 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1764 + <xloc>280</xloc>
  1765 + <yloc>404</yloc>
  1766 + <draw>Y</draw>
  1767 + </GUI>
  1768 + </step>
  1769 +
  1770 + <step>
  1771 + <name>&#x67e5;&#x627e;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;1</name>
  1772 + <type>DBLookup</type>
  1773 + <description/>
  1774 + <distribute>Y</distribute>
  1775 + <custom_distribution/>
  1776 + <copies>1</copies>
  1777 + <partitioning>
  1778 + <method>none</method>
  1779 + <schema_name/>
  1780 + </partitioning>
  1781 + <connection>bus_control_&#x516c;&#x53f8;_201</connection>
  1782 + <cache>N</cache>
  1783 + <cache_load_all>N</cache_load_all>
  1784 + <cache_size>0</cache_size>
  1785 + <lookup>
  1786 + <schema/>
  1787 + <table>bsth_c_stationroute</table>
  1788 + <orderby/>
  1789 + <fail_on_multiple>N</fail_on_multiple>
  1790 + <eat_row_on_failure>N</eat_row_on_failure>
  1791 + <key>
  1792 + <name>xlid</name>
  1793 + <field>line</field>
  1794 + <condition>&#x3d;</condition>
  1795 + <name2/>
  1796 + </key>
  1797 + <key>
  1798 + <name>sxx</name>
  1799 + <field>directions</field>
  1800 + <condition>&#x3d;</condition>
  1801 + <name2/>
  1802 + </key>
  1803 + <key>
  1804 + <name>endZdtype</name>
  1805 + <field>station_mark</field>
  1806 + <condition>&#x3d;</condition>
  1807 + <name2/>
  1808 + </key>
  1809 + <key>
  1810 + <name>zdzname</name>
  1811 + <field>station_name</field>
  1812 + <condition>&#x3d;</condition>
  1813 + <name2/>
  1814 + </key>
  1815 + <value>
  1816 + <name>station</name>
  1817 + <rename>zdzid</rename>
  1818 + <default/>
  1819 + <type>Integer</type>
  1820 + </value>
  1821 + </lookup>
  1822 + <cluster_schema/>
  1823 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1824 + <xloc>436</xloc>
  1825 + <yloc>502</yloc>
  1826 + <draw>Y</draw>
  1827 + </GUI>
  1828 + </step>
  1829 +
  1830 + <step>
  1831 + <name>&#x67e5;&#x627e;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;2</name>
  1832 + <type>DBLookup</type>
  1833 + <description/>
  1834 + <distribute>Y</distribute>
  1835 + <custom_distribution/>
  1836 + <copies>1</copies>
  1837 + <partitioning>
  1838 + <method>none</method>
  1839 + <schema_name/>
  1840 + </partitioning>
  1841 + <connection>bus_control_&#x516c;&#x53f8;_201</connection>
  1842 + <cache>N</cache>
  1843 + <cache_load_all>N</cache_load_all>
  1844 + <cache_size>0</cache_size>
  1845 + <lookup>
  1846 + <schema/>
  1847 + <table>bsth_c_stationroute</table>
  1848 + <orderby/>
  1849 + <fail_on_multiple>N</fail_on_multiple>
  1850 + <eat_row_on_failure>N</eat_row_on_failure>
  1851 + <key>
  1852 + <name>xlid</name>
  1853 + <field>line</field>
  1854 + <condition>&#x3d;</condition>
  1855 + <name2/>
  1856 + </key>
  1857 + <key>
  1858 + <name>sxx</name>
  1859 + <field>directions</field>
  1860 + <condition>&#x3d;</condition>
  1861 + <name2/>
  1862 + </key>
  1863 + <key>
  1864 + <name>sendZdtype</name>
  1865 + <field>station_mark</field>
  1866 + <condition>&#x3d;</condition>
  1867 + <name2/>
  1868 + </key>
  1869 + <key>
  1870 + <name>qdzname_2</name>
  1871 + <field>station_name</field>
  1872 + <condition>&#x3d;</condition>
  1873 + <name2/>
  1874 + </key>
  1875 + <value>
  1876 + <name>station</name>
  1877 + <rename>qdzid</rename>
  1878 + <default/>
  1879 + <type>Integer</type>
  1880 + </value>
  1881 + </lookup>
  1882 + <cluster_schema/>
  1883 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1884 + <xloc>592</xloc>
  1885 + <yloc>609</yloc>
  1886 + <draw>Y</draw>
  1887 + </GUI>
  1888 + </step>
  1889 +
  1890 + <step>
  1891 + <name>&#x67e5;&#x627e;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</name>
  1892 + <type>DBLookup</type>
  1893 + <description/>
  1894 + <distribute>Y</distribute>
  1895 + <custom_distribution/>
  1896 + <copies>1</copies>
  1897 + <partitioning>
  1898 + <method>none</method>
  1899 + <schema_name/>
  1900 + </partitioning>
  1901 + <connection>bus_control_&#x516c;&#x53f8;_201</connection>
  1902 + <cache>N</cache>
  1903 + <cache_load_all>N</cache_load_all>
  1904 + <cache_size>0</cache_size>
  1905 + <lookup>
  1906 + <schema/>
  1907 + <table>bsth_c_stationroute</table>
  1908 + <orderby/>
  1909 + <fail_on_multiple>N</fail_on_multiple>
  1910 + <eat_row_on_failure>N</eat_row_on_failure>
  1911 + <key>
  1912 + <name>xlid</name>
  1913 + <field>line</field>
  1914 + <condition>&#x3d;</condition>
  1915 + <name2/>
  1916 + </key>
  1917 + <key>
  1918 + <name>qdzname</name>
  1919 + <field>station_name</field>
  1920 + <condition>&#x3d;</condition>
  1921 + <name2/>
  1922 + </key>
  1923 + <key>
  1924 + <name>sendZdtype</name>
  1925 + <field>station_mark</field>
  1926 + <condition>&#x3d;</condition>
  1927 + <name2/>
  1928 + </key>
  1929 + <value>
  1930 + <name>station</name>
  1931 + <rename>qdzid</rename>
  1932 + <default/>
  1933 + <type>Integer</type>
  1934 + </value>
  1935 + <value>
  1936 + <name>directions</name>
  1937 + <rename>sxx</rename>
  1938 + <default/>
  1939 + <type>Integer</type>
  1940 + </value>
  1941 + </lookup>
  1942 + <cluster_schema/>
  1943 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1944 + <xloc>430</xloc>
  1945 + <yloc>403</yloc>
  1946 + <draw>Y</draw>
  1947 + </GUI>
  1948 + </step>
  1949 +
  1950 + <step>
  1951 + <name>&#x6b63;&#x5e38;&#x73ed;&#x6b21;_&#x5904;&#x7406;&#x6570;&#x636e;</name>
  1952 + <type>ScriptValueMod</type>
  1953 + <description/>
  1954 + <distribute>Y</distribute>
  1955 + <custom_distribution/>
  1956 + <copies>1</copies>
  1957 + <partitioning>
  1958 + <method>none</method>
  1959 + <schema_name/>
  1960 + </partitioning>
  1961 + <compatible>N</compatible>
  1962 + <optimizationLevel>9</optimizationLevel>
  1963 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  1964 + <jsScript_name>Script 1</jsScript_name>
  1965 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f; &#x6dfb;&#x52a0;&#x7ad9;&#x70b9;&#x6807;&#x8bc6;&#xa;var sendZdtype &#x3d; &#x27;B&#x27;&#x3b;&#xa;var endZdtype &#x3d; &#x27;E&#x27;&#x3b;&#xa;</jsScript_script>
  1966 + </jsScript> </jsScripts> <fields> <field> <name>sendZdtype</name>
  1967 + <rename>sendZdtype</rename>
  1968 + <type>String</type>
  1969 + <length>-1</length>
  1970 + <precision>-1</precision>
  1971 + <replace>N</replace>
  1972 + </field> <field> <name>endZdtype</name>
  1973 + <rename>endZdtype</rename>
  1974 + <type>String</type>
  1975 + <length>-1</length>
  1976 + <precision>-1</precision>
  1977 + <replace>N</replace>
  1978 + </field> </fields> <cluster_schema/>
  1979 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1980 + <xloc>588</xloc>
  1981 + <yloc>403</yloc>
  1982 + <draw>Y</draw>
  1983 + </GUI>
  1984 + </step>
  1985 +
  1986 + <step>
  1987 + <name>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x6570;&#x636e;</name>
  1988 + <type>Dummy</type>
  1989 + <description/>
  1990 + <distribute>Y</distribute>
  1991 + <custom_distribution/>
  1992 + <copies>1</copies>
  1993 + <partitioning>
  1994 + <method>none</method>
  1995 + <schema_name/>
  1996 + </partitioning>
  1997 + <cluster_schema/>
  1998 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1999 + <xloc>725</xloc>
  2000 + <yloc>404</yloc>
  2001 + <draw>Y</draw>
  2002 + </GUI>
  2003 + </step>
  2004 +
  2005 + <step>
  2006 + <name>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178;</name>
  2007 + <type>ValueMapper</type>
  2008 + <description/>
  2009 + <distribute>Y</distribute>
  2010 + <custom_distribution/>
  2011 + <copies>1</copies>
  2012 + <partitioning>
  2013 + <method>none</method>
  2014 + <schema_name/>
  2015 + </partitioning>
  2016 + <field_to_use>bctype</field_to_use>
  2017 + <target_field>bctype_code</target_field>
  2018 + <non_match_default>&#x672a;&#x77e5;&#x7c7b;&#x578b;</non_match_default>
  2019 + <fields>
  2020 + <field>
  2021 + <source_value>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</source_value>
  2022 + <target_value>normal</target_value>
  2023 + </field>
  2024 + <field>
  2025 + <source_value>&#x51fa;&#x573a;</source_value>
  2026 + <target_value>out</target_value>
  2027 + </field>
  2028 + <field>
  2029 + <source_value>&#x8fdb;&#x573a;</source_value>
  2030 + <target_value>in</target_value>
  2031 + </field>
  2032 + <field>
  2033 + <source_value>&#x52a0;&#x6cb9;</source_value>
  2034 + <target_value>oil</target_value>
  2035 + </field>
  2036 + <field>
  2037 + <source_value>&#x4e34;&#x52a0;</source_value>
  2038 + <target_value>temp</target_value>
  2039 + </field>
  2040 + <field>
  2041 + <source_value>&#x533a;&#x95f4;</source_value>
  2042 + <target_value>region</target_value>
  2043 + </field>
  2044 + <field>
  2045 + <source_value>&#x653e;&#x7a7a;</source_value>
  2046 + <target_value>venting</target_value>
  2047 + </field>
  2048 + <field>
  2049 + <source_value>&#x653e;&#x5927;&#x7ad9;</source_value>
  2050 + <target_value>major</target_value>
  2051 + </field>
  2052 + </fields>
  2053 + <cluster_schema/>
  2054 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2055 + <xloc>149</xloc>
  2056 + <yloc>491</yloc>
  2057 + <draw>Y</draw>
  2058 + </GUI>
  2059 + </step>
  2060 +
  2061 + <step>
  2062 + <name>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 2</name>
  2063 + <type>ValueMapper</type>
  2064 + <description/>
  2065 + <distribute>Y</distribute>
  2066 + <custom_distribution/>
  2067 + <copies>1</copies>
  2068 + <partitioning>
  2069 + <method>none</method>
  2070 + <schema_name/>
  2071 + </partitioning>
  2072 + <field_to_use>bctype</field_to_use>
  2073 + <target_field>bctype_code</target_field>
  2074 + <non_match_default>&#x672a;&#x77e5;&#x7c7b;&#x578b;</non_match_default>
  2075 + <fields>
  2076 + <field>
  2077 + <source_value>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</source_value>
  2078 + <target_value>normal</target_value>
  2079 + </field>
  2080 + <field>
  2081 + <source_value>&#x51fa;&#x573a;</source_value>
  2082 + <target_value>out</target_value>
  2083 + </field>
  2084 + <field>
  2085 + <source_value>&#x8fdb;&#x573a;</source_value>
  2086 + <target_value>in</target_value>
  2087 + </field>
  2088 + <field>
  2089 + <source_value>&#x52a0;&#x6cb9;</source_value>
  2090 + <target_value>oil</target_value>
  2091 + </field>
  2092 + <field>
  2093 + <source_value>&#x4e34;&#x52a0;</source_value>
  2094 + <target_value>temp</target_value>
  2095 + </field>
  2096 + <field>
  2097 + <source_value>&#x533a;&#x95f4;</source_value>
  2098 + <target_value>region</target_value>
  2099 + </field>
  2100 + <field>
  2101 + <source_value>&#x653e;&#x7a7a;</source_value>
  2102 + <target_value>venting</target_value>
  2103 + </field>
  2104 + <field>
  2105 + <source_value>&#x653e;&#x5927;&#x7ad9;</source_value>
  2106 + <target_value>major</target_value>
  2107 + </field>
  2108 + </fields>
  2109 + <cluster_schema/>
  2110 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2111 + <xloc>437</xloc>
  2112 + <yloc>662</yloc>
  2113 + <draw>Y</draw>
  2114 + </GUI>
  2115 + </step>
  2116 +
  2117 + <step>
  2118 + <name>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 3</name>
  2119 + <type>ValueMapper</type>
  2120 + <description/>
  2121 + <distribute>Y</distribute>
  2122 + <custom_distribution/>
  2123 + <copies>1</copies>
  2124 + <partitioning>
  2125 + <method>none</method>
  2126 + <schema_name/>
  2127 + </partitioning>
  2128 + <field_to_use>bctype</field_to_use>
  2129 + <target_field>bctype_code</target_field>
  2130 + <non_match_default>&#x672a;&#x77e5;&#x7c7b;&#x578b;</non_match_default>
  2131 + <fields>
  2132 + <field>
  2133 + <source_value>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</source_value>
  2134 + <target_value>normal</target_value>
  2135 + </field>
  2136 + <field>
  2137 + <source_value>&#x51fa;&#x573a;</source_value>
  2138 + <target_value>out</target_value>
  2139 + </field>
  2140 + <field>
  2141 + <source_value>&#x8fdb;&#x573a;</source_value>
  2142 + <target_value>in</target_value>
  2143 + </field>
  2144 + <field>
  2145 + <source_value>&#x52a0;&#x6cb9;</source_value>
  2146 + <target_value>oil</target_value>
  2147 + </field>
  2148 + <field>
  2149 + <source_value>&#x4e34;&#x52a0;</source_value>
  2150 + <target_value>temp</target_value>
  2151 + </field>
  2152 + <field>
  2153 + <source_value>&#x533a;&#x95f4;</source_value>
  2154 + <target_value>region</target_value>
  2155 + </field>
  2156 + <field>
  2157 + <source_value>&#x653e;&#x7a7a;</source_value>
  2158 + <target_value>venting</target_value>
  2159 + </field>
  2160 + <field>
  2161 + <source_value>&#x653e;&#x5927;&#x7ad9;</source_value>
  2162 + <target_value>major</target_value>
  2163 + </field>
  2164 + </fields>
  2165 + <cluster_schema/>
  2166 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2167 + <xloc>590</xloc>
  2168 + <yloc>743</yloc>
  2169 + <draw>Y</draw>
  2170 + </GUI>
  2171 + </step>
  2172 +
  2173 + <step>
  2174 + <name>&#x7c7b;&#x578b;&#x4fee;&#x6b63;</name>
  2175 + <type>SelectValues</type>
  2176 + <description/>
  2177 + <distribute>Y</distribute>
  2178 + <custom_distribution/>
  2179 + <copies>1</copies>
  2180 + <partitioning>
  2181 + <method>none</method>
  2182 + <schema_name/>
  2183 + </partitioning>
  2184 + <fields> <select_unspecified>N</select_unspecified>
  2185 + <meta> <name>jhlc</name>
  2186 + <rename>jhlc</rename>
  2187 + <type>Number</type>
  2188 + <length>-2</length>
  2189 + <precision>-2</precision>
  2190 + <conversion_mask/>
  2191 + <date_format_lenient>false</date_format_lenient>
  2192 + <date_format_locale/>
  2193 + <date_format_timezone/>
  2194 + <lenient_string_to_number>false</lenient_string_to_number>
  2195 + <encoding/>
  2196 + <decimal_symbol/>
  2197 + <grouping_symbol/>
  2198 + <currency_symbol/>
  2199 + <storage_type/>
  2200 + </meta> <meta> <name>bcsj</name>
  2201 + <rename>bcsj</rename>
  2202 + <type>Integer</type>
  2203 + <length>-2</length>
  2204 + <precision>-2</precision>
  2205 + <conversion_mask/>
  2206 + <date_format_lenient>false</date_format_lenient>
  2207 + <date_format_locale/>
  2208 + <date_format_timezone/>
  2209 + <lenient_string_to_number>false</lenient_string_to_number>
  2210 + <encoding/>
  2211 + <decimal_symbol/>
  2212 + <grouping_symbol/>
  2213 + <currency_symbol/>
  2214 + <storage_type/>
  2215 + </meta> </fields> <cluster_schema/>
  2216 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2217 + <xloc>146</xloc>
  2218 + <yloc>768</yloc>
  2219 + <draw>Y</draw>
  2220 + </GUI>
  2221 + </step>
  2222 +
  2223 + <step>
  2224 + <name>&#x8fdb;&#x573a;&#x73ed;&#x6b21;_&#x5904;&#x7406;&#x6570;&#x636e;</name>
  2225 + <type>ScriptValueMod</type>
  2226 + <description/>
  2227 + <distribute>Y</distribute>
  2228 + <custom_distribution/>
  2229 + <copies>1</copies>
  2230 + <partitioning>
  2231 + <method>none</method>
  2232 + <schema_name/>
  2233 + </partitioning>
  2234 + <compatible>N</compatible>
  2235 + <optimizationLevel>9</optimizationLevel>
  2236 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  2237 + <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>
  2247 + <type>String</type>
  2248 + <length>-1</length>
  2249 + <precision>-1</precision>
  2250 + <replace>N</replace>
  2251 + </field> <field> <name>sxx</name>
  2252 + <rename>sxx</rename>
  2253 + <type>String</type>
  2254 + <length>-1</length>
  2255 + <precision>-1</precision>
  2256 + <replace>N</replace>
  2257 + </field> <field> <name>sendZdtype</name>
  2258 + <rename>sendZdtype</rename>
  2259 + <type>String</type>
  2260 + <length>-1</length>
  2261 + <precision>-1</precision>
  2262 + <replace>N</replace>
  2263 + </field> </fields> <cluster_schema/>
  2264 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2265 + <xloc>871</xloc>
  2266 + <yloc>608</yloc>
  2267 + <draw>Y</draw>
  2268 + </GUI>
  2269 + </step>
  2270 +
  2271 + <step>
  2272 + <name>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</name>
  2273 + <type>Dummy</type>
  2274 + <description/>
  2275 + <distribute>Y</distribute>
  2276 + <custom_distribution/>
  2277 + <copies>1</copies>
  2278 + <partitioning>
  2279 + <method>none</method>
  2280 + <schema_name/>
  2281 + </partitioning>
  2282 + <cluster_schema/>
  2283 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2284 + <xloc>997</xloc>
  2285 + <yloc>606</yloc>
  2286 + <draw>Y</draw>
  2287 + </GUI>
  2288 + </step>
  2289 +
  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>
  2323 + </step_error_handling>
  2324 + <slave-step-copy-partition-distribution>
  2325 +</slave-step-copy-partition-distribution>
  2326 + <slave_transformation>N</slave_transformation>
  2327 +
  2328 +</transformation>
src/main/resources/static/pages/scheduleApp/module/core/busConfig/busConfig.js
@@ -61,14 +61,76 @@ angular.module(&#39;ScheduleApp&#39;).factory(&#39;BusConfigService&#39;, [&#39;BusConfigService_g&#39;, @@ -61,14 +61,76 @@ angular.module(&#39;ScheduleApp&#39;).factory(&#39;BusConfigService&#39;, [&#39;BusConfigService_g&#39;,
61 61
62 }]); 62 }]);
63 63
64 -angular.module('ScheduleApp').controller('BusConfigCtrl', ['BusConfigService', '$state', function(busConfigService, $state) { 64 +angular.module('ScheduleApp').controller('BusConfigCtrl', ['BusConfigService', '$state', '$uibModal', function(busConfigService, $state, $uibModal) {
65 var self = this; 65 var self = this;
66 66
67 // 切换到form状态 67 // 切换到form状态
68 self.goForm = function() { 68 self.goForm = function() {
69 //alert("切换"); 69 //alert("切换");
70 $state.go("busConfig_form"); 70 $state.go("busConfig_form");
71 - } 71 + };
  72 +
  73 + // 导入excel
  74 + self.importData = function() {
  75 + // large方式弹出模态对话框
  76 + var modalInstance = $uibModal.open({
  77 + templateUrl: '/pages/scheduleApp/module/core/busConfig/dataImport.html',
  78 + size: "lg",
  79 + animation: true,
  80 + backdrop: 'static',
  81 + resolve: {
  82 + // 可以传值给controller
  83 + },
  84 + windowClass: 'center-modal',
  85 + controller: "BusConfigToolsCtrl",
  86 + controllerAs: "ctrl",
  87 + bindToController: true
  88 + });
  89 + modalInstance.result.then(
  90 + function() {
  91 + console.log("dataImport.html打开");
  92 + },
  93 + function() {
  94 + console.log("dataImport.html消失");
  95 + }
  96 + );
  97 + };
  98 +}]);
  99 +
  100 +angular.module('ScheduleApp').controller('BusConfigToolsCtrl', ['$modalInstance', 'FileUploader', function($modalInstance, FileUploader) {
  101 + var self = this;
  102 + self.data = "TODO";
  103 +
  104 + // 关闭窗口
  105 + self.close = function() {
  106 + $modalInstance.dismiss("cancel");
  107 + };
  108 +
  109 + self.clearInputFile = function() {
  110 + angular.element("input[type='file']").val(null);
  111 + };
  112 +
  113 + // 上传文件组件
  114 + self.uploader = new FileUploader({
  115 + url: "/cci/dataImport",
  116 + filters: [] // 用于过滤文件,比如只允许导入excel
  117 + });
  118 + self.uploader.onAfterAddingFile = function(fileItem)
  119 + {
  120 + console.info('onAfterAddingFile', fileItem);
  121 + console.log(self.uploader.queue.length);
  122 + if (self.uploader.queue.length > 1)
  123 + self.uploader.removeFromQueue(0);
  124 + };
  125 + self.uploader.onSuccessItem = function(fileItem, response, status, headers)
  126 + {
  127 + console.info('onSuccessItem', fileItem, response, status, headers);
  128 + };
  129 + self.uploader.onErrorItem = function(fileItem, response, status, headers)
  130 + {
  131 + console.info('onErrorItem', fileItem, response, status, headers);
  132 + };
  133 +
72 }]); 134 }]);
73 135
74 angular.module('ScheduleApp').controller('BusConfigListCtrl', ['BusConfigService', function(busConfigService) { 136 angular.module('ScheduleApp').controller('BusConfigListCtrl', ['BusConfigService', function(busConfigService) {
src/main/resources/static/pages/scheduleApp/module/core/busConfig/dataExport.html 0 → 100644
src/main/resources/static/pages/scheduleApp/module/core/busConfig/dataImport.html 0 → 100644
  1 +<div class="modal-header">
  2 + <h3 class="modal-title">车辆配置信息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/busConfig/detail.html
  1 +<h1>TODO</h1>
0 \ No newline at end of file 2 \ No newline at end of file
src/main/resources/static/pages/scheduleApp/module/core/busConfig/edit.html
  1 +<h1>TODO</h1>
0 \ No newline at end of file 2 \ No newline at end of file
src/main/resources/static/pages/scheduleApp/module/core/busConfig/form.html
  1 +<h1>TODO</h1>
0 \ No newline at end of file 2 \ No newline at end of file
src/main/resources/static/pages/scheduleApp/module/core/busConfig/index.html
@@ -40,6 +40,12 @@ @@ -40,6 +40,12 @@
40 </a> 40 </a>
41 <ul class="dropdown-menu pull-right"> 41 <ul class="dropdown-menu pull-right">
42 <li> 42 <li>
  43 + <a href="javascript:" class="tool-action" ng-click="ctrl.importData()">
  44 + <i class="fa fa-file-excel-o"></i>
  45 + 导入excel
  46 + </a>
  47 + </li>
  48 + <li>
43 <a href="javascript:" class="tool-action"> 49 <a href="javascript:" class="tool-action">
44 <i class="fa fa-file-excel-o"></i> 50 <i class="fa fa-file-excel-o"></i>
45 导出excel 51 导出excel
@@ -48,8 +54,8 @@ @@ -48,8 +54,8 @@
48 <li class="divider"></li> 54 <li class="divider"></li>
49 <li> 55 <li>
50 <a href="javascript:" class="tool-action"> 56 <a href="javascript:" class="tool-action">
51 - <i class="fa fa-refresh"></i>  
52 - 刷行数据 57 + <i class="fa fa-download"></i>
  58 + excel模版
53 </a> 59 </a>
54 </li> 60 </li>
55 </ul> 61 </ul>
src/main/resources/static/pages/scheduleApp/module/core/employeeConfig/dataExport.html 0 → 100644
src/main/resources/static/pages/scheduleApp/module/core/employeeConfig/dataImport.html 0 → 100644
  1 +<div class="modal-header">
  2 + <h3 class="modal-title">人员配置信息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/employeeConfig/detail.html
  1 +<h1>TODO</h1>
0 \ No newline at end of file 2 \ No newline at end of file
src/main/resources/static/pages/scheduleApp/module/core/employeeConfig/edit.html
  1 +<h1>TODO</h1>
0 \ No newline at end of file 2 \ No newline at end of file
src/main/resources/static/pages/scheduleApp/module/core/employeeConfig/employeeConfig.js
@@ -61,14 +61,76 @@ angular.module(&#39;ScheduleApp&#39;).factory(&#39;EmployeeConfigService&#39;, [&#39;EmployeeConfigS @@ -61,14 +61,76 @@ angular.module(&#39;ScheduleApp&#39;).factory(&#39;EmployeeConfigService&#39;, [&#39;EmployeeConfigS
61 }; 61 };
62 }]); 62 }]);
63 63
64 -angular.module('ScheduleApp').controller('EmployeeConfigCtrl', ['EmployeeConfigService', '$state', function(employeeConfigService, $state) { 64 +angular.module('ScheduleApp').controller('EmployeeConfigCtrl', ['EmployeeConfigService', '$state', '$uibModal', function(employeeConfigService, $state, $uibModal) {
65 var self = this; 65 var self = this;
66 66
67 // 切换到form状态 67 // 切换到form状态
68 self.goForm = function() { 68 self.goForm = function() {
69 //alert("切换"); 69 //alert("切换");
70 $state.go("employeeConfig_form"); 70 $state.go("employeeConfig_form");
71 - } 71 + };
  72 +
  73 + // 导入excel
  74 + self.importData = function() {
  75 + // large方式弹出模态对话框
  76 + var modalInstance = $uibModal.open({
  77 + templateUrl: '/pages/scheduleApp/module/core/employeeConfig/dataImport.html',
  78 + size: "lg",
  79 + animation: true,
  80 + backdrop: 'static',
  81 + resolve: {
  82 + // 可以传值给controller
  83 + },
  84 + windowClass: 'center-modal',
  85 + controller: "EmployeeConfigToolsCtrl",
  86 + controllerAs: "ctrl",
  87 + bindToController: true
  88 + });
  89 + modalInstance.result.then(
  90 + function() {
  91 + console.log("dataImport.html打开");
  92 + },
  93 + function() {
  94 + console.log("dataImport.html消失");
  95 + }
  96 + );
  97 + };
  98 +}]);
  99 +
  100 +angular.module('ScheduleApp').controller('EmployeeConfigToolsCtrl', ['$modalInstance', 'FileUploader', function($modalInstance, FileUploader) {
  101 + var self = this;
  102 + self.data = "TODO";
  103 +
  104 + // 关闭窗口
  105 + self.close = function() {
  106 + $modalInstance.dismiss("cancel");
  107 + };
  108 +
  109 + self.clearInputFile = function() {
  110 + angular.element("input[type='file']").val(null);
  111 + };
  112 +
  113 + // 上传文件组件
  114 + self.uploader = new FileUploader({
  115 + url: "/eci/dataImport",
  116 + filters: [] // 用于过滤文件,比如只允许导入excel
  117 + });
  118 + self.uploader.onAfterAddingFile = function(fileItem)
  119 + {
  120 + console.info('onAfterAddingFile', fileItem);
  121 + console.log(self.uploader.queue.length);
  122 + if (self.uploader.queue.length > 1)
  123 + self.uploader.removeFromQueue(0);
  124 + };
  125 + self.uploader.onSuccessItem = function(fileItem, response, status, headers)
  126 + {
  127 + console.info('onSuccessItem', fileItem, response, status, headers);
  128 + };
  129 + self.uploader.onErrorItem = function(fileItem, response, status, headers)
  130 + {
  131 + console.info('onErrorItem', fileItem, response, status, headers);
  132 + };
  133 +
72 }]); 134 }]);
73 135
74 angular.module('ScheduleApp').controller('EmployeeConfigListCtrl', ['EmployeeConfigService', function(employeeConfigService) { 136 angular.module('ScheduleApp').controller('EmployeeConfigListCtrl', ['EmployeeConfigService', function(employeeConfigService) {
src/main/resources/static/pages/scheduleApp/module/core/employeeConfig/form.html
  1 +<h1>TODO</h1>
0 \ No newline at end of file 2 \ No newline at end of file
src/main/resources/static/pages/scheduleApp/module/core/employeeConfig/index.html
@@ -40,6 +40,12 @@ @@ -40,6 +40,12 @@
40 </a> 40 </a>
41 <ul class="dropdown-menu pull-right"> 41 <ul class="dropdown-menu pull-right">
42 <li> 42 <li>
  43 + <a href="javascript:" class="tool-action" ng-click="ctrl.importData()">
  44 + <i class="fa fa-file-excel-o"></i>
  45 + 导入excel
  46 + </a>
  47 + </li>
  48 + <li>
43 <a href="javascript:" class="tool-action"> 49 <a href="javascript:" class="tool-action">
44 <i class="fa fa-file-excel-o"></i> 50 <i class="fa fa-file-excel-o"></i>
45 导出excel 51 导出excel
@@ -48,8 +54,8 @@ @@ -48,8 +54,8 @@
48 <li class="divider"></li> 54 <li class="divider"></li>
49 <li> 55 <li>
50 <a href="javascript:" class="tool-action"> 56 <a href="javascript:" class="tool-action">
51 - <i class="fa fa-refresh"></i>  
52 - 刷行数据 57 + <i class="fa fa-download"></i>
  58 + excel模版
53 </a> 59 </a>
54 </li> 60 </li>
55 </ul> 61 </ul>
src/main/resources/static/pages/scheduleApp/module/core/guideboardManage/dataExport.html 0 → 100644
src/main/resources/static/pages/scheduleApp/module/core/guideboardManage/dataImport.html 0 → 100644
  1 +<div class="modal-header">
  2 + <h3 class="modal-title">路牌信息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/guideboardManage/detail.html
  1 +<h1>TODO</h1>
0 \ No newline at end of file 2 \ No newline at end of file
src/main/resources/static/pages/scheduleApp/module/core/guideboardManage/edit.html 0 → 100644
src/main/resources/static/pages/scheduleApp/module/core/guideboardManage/form.html
  1 +<h1>TODO</h1>
0 \ No newline at end of file 2 \ No newline at end of file
src/main/resources/static/pages/scheduleApp/module/core/guideboardManage/guideboardManage.js
@@ -61,13 +61,75 @@ angular.module(&#39;ScheduleApp&#39;).factory(&#39;GuideboardManageService&#39;, [&#39;GuideboardMan @@ -61,13 +61,75 @@ angular.module(&#39;ScheduleApp&#39;).factory(&#39;GuideboardManageService&#39;, [&#39;GuideboardMan
61 }; 61 };
62 }]); 62 }]);
63 63
64 -angular.module('ScheduleApp').controller('GuideboardManageCtrl', ['GuideboardManageService', '$state', function(guideboardManageService, $state) { 64 +angular.module('ScheduleApp').controller('GuideboardManageCtrl', ['GuideboardManageService', '$state', '$uibModal', function(guideboardManageService, $state, $uibModal) {
65 var self = this; 65 var self = this;
66 66
67 // 切换到form状态 67 // 切换到form状态
68 self.goForm = function() { 68 self.goForm = function() {
69 alert("切换添加"); 69 alert("切换添加");
70 - } 70 + };
  71 +
  72 + // 导入excel
  73 + self.importData = function() {
  74 + // large方式弹出模态对话框
  75 + var modalInstance = $uibModal.open({
  76 + templateUrl: '/pages/scheduleApp/module/core/guideboardManage/dataImport.html',
  77 + size: "lg",
  78 + animation: true,
  79 + backdrop: 'static',
  80 + resolve: {
  81 + // 可以传值给controller
  82 + },
  83 + windowClass: 'center-modal',
  84 + controller: "GuideboardManageToolsCtrl",
  85 + controllerAs: "ctrl",
  86 + bindToController: true
  87 + });
  88 + modalInstance.result.then(
  89 + function() {
  90 + console.log("dataImport.html打开");
  91 + },
  92 + function() {
  93 + console.log("dataImport.html消失");
  94 + }
  95 + );
  96 + };
  97 +}]);
  98 +
  99 +angular.module('ScheduleApp').controller('GuideboardManageToolsCtrl', ['$modalInstance', 'FileUploader', function($modalInstance, FileUploader) {
  100 + var self = this;
  101 + self.data = "TODO";
  102 +
  103 + // 关闭窗口
  104 + self.close = function() {
  105 + $modalInstance.dismiss("cancel");
  106 + };
  107 +
  108 + self.clearInputFile = function() {
  109 + angular.element("input[type='file']").val(null);
  110 + };
  111 +
  112 + // 上传文件组件
  113 + self.uploader = new FileUploader({
  114 + url: "/gic/dataImport",
  115 + filters: [] // 用于过滤文件,比如只允许导入excel
  116 + });
  117 + self.uploader.onAfterAddingFile = function(fileItem)
  118 + {
  119 + console.info('onAfterAddingFile', fileItem);
  120 + console.log(self.uploader.queue.length);
  121 + if (self.uploader.queue.length > 1)
  122 + self.uploader.removeFromQueue(0);
  123 + };
  124 + self.uploader.onSuccessItem = function(fileItem, response, status, headers)
  125 + {
  126 + console.info('onSuccessItem', fileItem, response, status, headers);
  127 + };
  128 + self.uploader.onErrorItem = function(fileItem, response, status, headers)
  129 + {
  130 + console.info('onErrorItem', fileItem, response, status, headers);
  131 + };
  132 +
71 }]); 133 }]);
72 134
73 angular.module('ScheduleApp').controller('GuideboardManageListCtrl', ['GuideboardManageService', function(guideboardManageService) { 135 angular.module('ScheduleApp').controller('GuideboardManageListCtrl', ['GuideboardManageService', function(guideboardManageService) {
src/main/resources/static/pages/scheduleApp/module/core/guideboardManage/index.html
@@ -40,6 +40,12 @@ @@ -40,6 +40,12 @@
40 </a> 40 </a>
41 <ul class="dropdown-menu pull-right"> 41 <ul class="dropdown-menu pull-right">
42 <li> 42 <li>
  43 + <a href="javascript:" class="tool-action" ng-click="ctrl.importData()">
  44 + <i class="fa fa-file-excel-o"></i>
  45 + 导入excel
  46 + </a>
  47 + </li>
  48 + <li>
43 <a href="javascript:" class="tool-action"> 49 <a href="javascript:" class="tool-action">
44 <i class="fa fa-file-excel-o"></i> 50 <i class="fa fa-file-excel-o"></i>
45 导出excel 51 导出excel
@@ -48,8 +54,8 @@ @@ -48,8 +54,8 @@
48 <li class="divider"></li> 54 <li class="divider"></li>
49 <li> 55 <li>
50 <a href="javascript:" class="tool-action"> 56 <a href="javascript:" class="tool-action">
51 - <i class="fa fa-refresh"></i>  
52 - 刷行数据 57 + <i class="fa fa-download"></i>
  58 + excel模版
53 </a> 59 </a>
54 </li> 60 </li>
55 </ul> 61 </ul>
src/main/resources/static/pages/scheduleApp/module/core/timeTableManage/dataExport.html 0 → 100644
src/main/resources/static/pages/scheduleApp/module/core/timeTableManage/dataImport.html 0 → 100644
  1 +<div class="modal-header">
  2 + <h3 class="modal-title">时刻表基础信息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.html 0 → 100644
  1 +<h1>TODO</h1>
0 \ No newline at end of file 2 \ No newline at end of file
src/main/resources/static/pages/scheduleApp/module/core/timeTableManage/edit.html
  1 +<h1>TODO</h1>
0 \ No newline at end of file 2 \ No newline at end of file
src/main/resources/static/pages/scheduleApp/module/core/timeTableManage/form.html
  1 +<h1>TODO</h1>
0 \ No newline at end of file 2 \ No newline at end of file
src/main/resources/static/pages/scheduleApp/module/core/timeTableManage/index.html
@@ -29,7 +29,7 @@ @@ -29,7 +29,7 @@
29 <div class="actions"> 29 <div class="actions">
30 <a href="javascirpt:" class="btn btn-circle blue" ng-click="ctrl.goForm()"> 30 <a href="javascirpt:" class="btn btn-circle blue" ng-click="ctrl.goForm()">
31 <i class="fa fa-plus"></i> 31 <i class="fa fa-plus"></i>
32 - 添加基础信息 32 + 添加时刻表
33 </a> 33 </a>
34 34
35 <div class="btn-group"> 35 <div class="btn-group">
@@ -40,6 +40,12 @@ @@ -40,6 +40,12 @@
40 </a> 40 </a>
41 <ul class="dropdown-menu pull-right"> 41 <ul class="dropdown-menu pull-right">
42 <li> 42 <li>
  43 + <a href="javascript:" class="tool-action" ng-click="ctrl.importData()">
  44 + <i class="fa fa-file-excel-o"></i>
  45 + 导入excel
  46 + </a>
  47 + </li>
  48 + <li>
43 <a href="javascript:" class="tool-action"> 49 <a href="javascript:" class="tool-action">
44 <i class="fa fa-file-excel-o"></i> 50 <i class="fa fa-file-excel-o"></i>
45 导出excel 51 导出excel
@@ -48,8 +54,8 @@ @@ -48,8 +54,8 @@
48 <li class="divider"></li> 54 <li class="divider"></li>
49 <li> 55 <li>
50 <a href="javascript:" class="tool-action"> 56 <a href="javascript:" class="tool-action">
51 - <i class="fa fa-refresh"></i>  
52 - 刷行数据 57 + <i class="fa fa-download"></i>
  58 + excel模版
53 </a> 59 </a>
54 </li> 60 </li>
55 </ul> 61 </ul>
src/main/resources/static/pages/scheduleApp/module/core/timeTableManage/list.html
@@ -8,9 +8,11 @@ @@ -8,9 +8,11 @@
8 <th>时刻表名称</th> 8 <th>时刻表名称</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 width="16%">操作</th> 14 + <th>时刻表明细</th>
  15 + <th width="14%">操作</th>
14 </tr> 16 </tr>
15 <tr role="row" class="filter"> 17 <tr role="row" class="filter">
16 <td></td> 18 <td></td>
@@ -22,6 +24,8 @@ @@ -22,6 +24,8 @@
22 <td></td> 24 <td></td>
23 <td></td> 25 <td></td>
24 <td></td> 26 <td></td>
  27 + <td></td>
  28 + <td></td>
25 <td> 29 <td>
26 <button class="btn btn-sm green btn-outline filter-submit margin-bottom" 30 <button class="btn btn-sm green btn-outline filter-submit margin-bottom"
27 ng-click="ctrl.pageChanaged()"> 31 ng-click="ctrl.pageChanaged()">
@@ -52,16 +56,25 @@ @@ -52,16 +56,25 @@
52 <span ng-bind="info.loopCount"></span> 56 <span ng-bind="info.loopCount"></span>
53 </td> 57 </td>
54 <td> 58 <td>
  59 + <span ng-bind="info.xlDir | dict:'LineTrend':'未知'"></span>
  60 + </td>
  61 + <td>
55 <span ng-bind="info.isEnableDisTemplate"></span> 62 <span ng-bind="info.isEnableDisTemplate"></span>
56 </td> 63 </td>
57 <td> 64 <td>
58 <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>
59 </td> 66 </td>
60 <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>
  72 + </td>
  73 + <td>
61 <!--<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>-->
62 <!--<a href="edit.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>-->
  76 + <a ui-sref="busConfig_detail({id: info.id})" class="btn default blue-stripe btn-sm"> 详细 </a>
63 <a ui-sref="busConfig_edit({id: info.id})" class="btn default blue-stripe btn-sm"> 修改 </a> 77 <a ui-sref="busConfig_edit({id: info.id})" class="btn default blue-stripe btn-sm"> 修改 </a>
64 - <a ui-sref="timeTableInfoManage" class="btn default blue-stripe btn-sm"> 时刻表明细 </a>  
65 </td> 78 </td>
66 </tr> 79 </tr>
67 </tbody> 80 </tbody>
src/main/resources/static/pages/scheduleApp/module/core/timeTableManage/timeTableManage.js
@@ -61,14 +61,76 @@ angular.module(&#39;ScheduleApp&#39;).factory(&#39;TimeTableManageService&#39;, [&#39;TimeTableManag @@ -61,14 +61,76 @@ angular.module(&#39;ScheduleApp&#39;).factory(&#39;TimeTableManageService&#39;, [&#39;TimeTableManag
61 61
62 }]); 62 }]);
63 63
64 -angular.module('ScheduleApp').controller('TimeTableManageCtrl', ['TimeTableManageService', '$state', function(timeTableManageService, $state) { 64 +angular.module('ScheduleApp').controller('TimeTableManageCtrl', ['TimeTableManageService', '$state', '$uibModal', function(timeTableManageService, $state, $uibModal) {
65 var self = this; 65 var self = this;
66 66
67 // 切换到form状态 67 // 切换到form状态
68 self.goForm = function() { 68 self.goForm = function() {
69 //alert("切换"); 69 //alert("切换");
70 $state.go("timeTableManage_form"); 70 $state.go("timeTableManage_form");
71 - } 71 + };
  72 +
  73 + // 导入excel
  74 + self.importData = function() {
  75 + // large方式弹出模态对话框
  76 + var modalInstance = $uibModal.open({
  77 + templateUrl: '/pages/scheduleApp/module/core/timeTableManage/dataImport.html',
  78 + size: "lg",
  79 + animation: true,
  80 + backdrop: 'static',
  81 + resolve: {
  82 + // 可以传值给controller
  83 + },
  84 + windowClass: 'center-modal',
  85 + controller: "TimeTableManageToolsCtrl",
  86 + controllerAs: "ctrl",
  87 + bindToController: true
  88 + });
  89 + modalInstance.result.then(
  90 + function() {
  91 + console.log("dataImport.html打开");
  92 + },
  93 + function() {
  94 + console.log("dataImport.html消失");
  95 + }
  96 + );
  97 + };
  98 +}]);
  99 +
  100 +angular.module('ScheduleApp').controller('TimeTableManageToolsCtrl', ['$modalInstance', 'FileUploader', function($modalInstance, FileUploader) {
  101 + var self = this;
  102 + self.data = "TODO";
  103 +
  104 + // 关闭窗口
  105 + self.close = function() {
  106 + $modalInstance.dismiss("cancel");
  107 + };
  108 +
  109 + self.clearInputFile = function() {
  110 + angular.element("input[type='file']").val(null);
  111 + };
  112 +
  113 + // 上传文件组件
  114 + self.uploader = new FileUploader({
  115 + url: "/tic/dataImport",
  116 + filters: [] // 用于过滤文件,比如只允许导入excel
  117 + });
  118 + self.uploader.onAfterAddingFile = function(fileItem)
  119 + {
  120 + console.info('onAfterAddingFile', fileItem);
  121 + console.log(self.uploader.queue.length);
  122 + if (self.uploader.queue.length > 1)
  123 + self.uploader.removeFromQueue(0);
  124 + };
  125 + self.uploader.onSuccessItem = function(fileItem, response, status, headers)
  126 + {
  127 + console.info('onSuccessItem', fileItem, response, status, headers);
  128 + };
  129 + self.uploader.onErrorItem = function(fileItem, response, status, headers)
  130 + {
  131 + console.info('onErrorItem', fileItem, response, status, headers);
  132 + };
  133 +
72 }]); 134 }]);
73 135
74 angular.module('ScheduleApp').controller('TimeTableManageListCtrl', ['TimeTableManageService', function(timeTableManageService) { 136 angular.module('ScheduleApp').controller('TimeTableManageListCtrl', ['TimeTableManageService', function(timeTableManageService) {
src/main/resources/static/pages/scheduleApp/module/main.js
@@ -304,6 +304,7 @@ ScheduleApp.config([&#39;$stateProvider&#39;, &#39;$urlRouterProvider&#39;, function($stateProvi @@ -304,6 +304,7 @@ ScheduleApp.config([&#39;$stateProvider&#39;, &#39;$urlRouterProvider&#39;, function($stateProvi
304 name: 'busConfig_module', 304 name: 'busConfig_module',
305 insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置 305 insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
306 files: [ 306 files: [
  307 + "assets/bower_components/angular-file-upload/dist/angular-file-upload.min.js",
307 "pages/scheduleApp/module/core/busConfig/busConfig.js" 308 "pages/scheduleApp/module/core/busConfig/busConfig.js"
308 ] 309 ]
309 }); 310 });
@@ -384,6 +385,7 @@ ScheduleApp.config([&#39;$stateProvider&#39;, &#39;$urlRouterProvider&#39;, function($stateProvi @@ -384,6 +385,7 @@ ScheduleApp.config([&#39;$stateProvider&#39;, &#39;$urlRouterProvider&#39;, function($stateProvi
384 name: 'employeeConfig_module', 385 name: 'employeeConfig_module',
385 insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置 386 insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
386 files: [ 387 files: [
  388 + "assets/bower_components/angular-file-upload/dist/angular-file-upload.min.js",
387 "pages/scheduleApp/module/core/employeeConfig/employeeConfig.js" 389 "pages/scheduleApp/module/core/employeeConfig/employeeConfig.js"
388 ] 390 ]
389 }); 391 });
@@ -464,6 +466,7 @@ ScheduleApp.config([&#39;$stateProvider&#39;, &#39;$urlRouterProvider&#39;, function($stateProvi @@ -464,6 +466,7 @@ ScheduleApp.config([&#39;$stateProvider&#39;, &#39;$urlRouterProvider&#39;, function($stateProvi
464 name: 'guideboardManage_module', 466 name: 'guideboardManage_module',
465 insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置 467 insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
466 files: [ 468 files: [
  469 + "assets/bower_components/angular-file-upload/dist/angular-file-upload.min.js",
467 "pages/scheduleApp/module/core/guideboardManage/guideboardManage.js" 470 "pages/scheduleApp/module/core/guideboardManage/guideboardManage.js"
468 ] 471 ]
469 }); 472 });
@@ -490,6 +493,7 @@ ScheduleApp.config([&#39;$stateProvider&#39;, &#39;$urlRouterProvider&#39;, function($stateProvi @@ -490,6 +493,7 @@ ScheduleApp.config([&#39;$stateProvider&#39;, &#39;$urlRouterProvider&#39;, function($stateProvi
490 name: 'timeTableManage_module', 493 name: 'timeTableManage_module',
491 insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置 494 insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
492 files: [ 495 files: [
  496 + "assets/bower_components/angular-file-upload/dist/angular-file-upload.min.js",
493 "pages/scheduleApp/module/core/timeTableManage/timeTableManage.js" 497 "pages/scheduleApp/module/core/timeTableManage/timeTableManage.js"
494 ] 498 ]
495 }); 499 });
@@ -534,6 +538,23 @@ ScheduleApp.config([&#39;$stateProvider&#39;, &#39;$urlRouterProvider&#39;, function($stateProvi @@ -534,6 +538,23 @@ ScheduleApp.config([&#39;$stateProvider&#39;, &#39;$urlRouterProvider&#39;, function($stateProvi
534 }] 538 }]
535 } 539 }
536 }) 540 })
  541 + .state("timeTableManage_detail", {
  542 + url: '/timeTableManage_detail/:id',
  543 + views: {
  544 + "": {templateUrl: 'pages/scheduleApp/module/core/timeTableManage/detail.html'}
  545 + },
  546 + resolve: {
  547 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  548 + return $ocLazyLoad.load({
  549 + name: 'timeTableManage_detail_module',
  550 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  551 + files: [
  552 + "pages/scheduleApp/module/core/timeTableManage/timeTableManage.js"
  553 + ]
  554 + });
  555 + }]
  556 + }
  557 + })
537 .state("timeTableInfoManage", { 558 .state("timeTableInfoManage", {
538 url: '/timeTableInfoManage', 559 url: '/timeTableInfoManage',
539 views: { 560 views: {