Commit 4abc06ca6a8b810515e4d5deb7196ac437d0c49b

Authored by 徐烜
2 parents 10bc2b48 bbc0f7f7

Merge branch 'minhang' into pudong

Showing 28 changed files with 4894 additions and 3563 deletions
src/main/java/com/bsth/controller/traffic/VehicleInoutStopController.java
@@ -2,8 +2,17 @@ package com.bsth.controller.traffic; @@ -2,8 +2,17 @@ package com.bsth.controller.traffic;
2 2
3 import com.bsth.controller.BaseController; 3 import com.bsth.controller.BaseController;
4 import com.bsth.entity.traffic.VehicleInoutStop; 4 import com.bsth.entity.traffic.VehicleInoutStop;
  5 +import com.bsth.service.traffic.VehicleInoutStopService;
  6 +import org.springframework.beans.factory.annotation.Autowired;
  7 +import org.springframework.data.domain.Page;
  8 +import org.springframework.data.domain.PageImpl;
  9 +import org.springframework.data.domain.PageRequest;
5 import org.springframework.web.bind.annotation.RequestMapping; 10 import org.springframework.web.bind.annotation.RequestMapping;
  11 +import org.springframework.web.bind.annotation.RequestParam;
6 import org.springframework.web.bind.annotation.RestController; 12 import org.springframework.web.bind.annotation.RestController;
  13 +
  14 +import java.util.Map;
  15 +
7 /** 16 /**
8 * 17 *
9 * @author BSTH 18 * @author BSTH
@@ -12,4 +21,26 @@ import org.springframework.web.bind.annotation.RestController; @@ -12,4 +21,26 @@ import org.springframework.web.bind.annotation.RestController;
12 @RestController 21 @RestController
13 @RequestMapping("vehicle_stop") 22 @RequestMapping("vehicle_stop")
14 public class VehicleInoutStopController extends BaseController<VehicleInoutStop,Integer> { 23 public class VehicleInoutStopController extends BaseController<VehicleInoutStop,Integer> {
  24 +
  25 + @Autowired
  26 + VehicleInoutStopService vehicleInoutStopService;
  27 +
  28 + /**
  29 + * 给定条件查车载上报停靠站
  30 + * @param map
  31 + * @param page
  32 + * @param size
  33 + * @return
  34 + */
  35 + @RequestMapping(value = "getVehicleInoutStopByParam")
  36 + public Page<Map<String, Object>> getVehicleInoutStopByParam(@RequestParam Map<String, Object> map,
  37 + @RequestParam(defaultValue = "0") int page,
  38 + @RequestParam(defaultValue = "10") int size) {
  39 + map.put("page",page);
  40 + map.put("size",size);
  41 + long total = vehicleInoutStopService.getVehicleInoutStopCountByParam(map);
  42 + Page<Map<String, Object>> result = new PageImpl<>(vehicleInoutStopService.getVehicleInoutStopByParam(map),
  43 + new PageRequest(page, size, null),total);
  44 + return result;
  45 + }
15 } 46 }
src/main/java/com/bsth/entity/schedule/rule/ScheduleRule1Flat.java
@@ -73,13 +73,29 @@ public class ScheduleRule1Flat extends BEntity { @@ -73,13 +73,29 @@ public class ScheduleRule1Flat extends BEntity {
73 @NotNull 73 @NotNull
74 private Integer ryStart; 74 private Integer ryStart;
75 75
76 - /** 翻班格式(类似格式:1110011)*/ 76 + /** 翻班格式(类似格式:1110011),其中0表示当天不做跳过,1表示跳 */
77 private String fbgs; 77 private String fbgs;
78 78
  79 + @Enumerated(EnumType.ORDINAL)
  80 + private FbgsTypeEnum fbtype = FbgsTypeEnum.TIMETABLEMODE;
  81 +
79 /** 备注 */ 82 /** 备注 */
80 @Column(length = 1000) 83 @Column(length = 1000)
81 private String remark; 84 private String remark;
82 85
  86 + /** 翻班格式类型 */
  87 + public static enum FbgsTypeEnum {
  88 + /**
  89 + * 时刻表模式,当前翻到的路牌如果在当前时刻表中不存在,则跳过
  90 + */
  91 + TIMETABLEMODE,
  92 + /**
  93 + * 翻班格式模式,使用格式决定跳不跳过翻班,
  94 + * 翻班格式(类似格式:1110011),其中0表示当天不做跳过,1表示跳
  95 + */
  96 + FBGSMODE;
  97 + }
  98 +
83 public Long getId() { 99 public Long getId() {
84 return id; 100 return id;
85 } 101 }
@@ -175,4 +191,12 @@ public class ScheduleRule1Flat extends BEntity { @@ -175,4 +191,12 @@ public class ScheduleRule1Flat extends BEntity {
175 public void setRemark(String remark) { 191 public void setRemark(String remark) {
176 this.remark = remark; 192 this.remark = remark;
177 } 193 }
  194 +
  195 + public FbgsTypeEnum getFbtype() {
  196 + return fbtype;
  197 + }
  198 +
  199 + public void setFbtype(FbgsTypeEnum fbtype) {
  200 + this.fbtype = fbtype;
  201 + }
178 } 202 }
src/main/java/com/bsth/entity/traffic/VehicleInoutStop.java
1 package com.bsth.entity.traffic; 1 package com.bsth.entity.traffic;
2 2
3 -import com.bsth.entity.Cars;  
4 -import com.bsth.entity.Line;  
5 -  
6 import javax.persistence.*; 3 import javax.persistence.*;
7 import java.util.Date; 4 import java.util.Date;
8 5
@@ -27,11 +24,9 @@ public class VehicleInoutStop { @@ -27,11 +24,9 @@ public class VehicleInoutStop {
27 @GeneratedValue(strategy = GenerationType.IDENTITY) 24 @GeneratedValue(strategy = GenerationType.IDENTITY)
28 private Integer id; 25 private Integer id;
29 26
30 - @ManyToOne  
31 - private Line line; 27 + private int line;
32 28
33 - @ManyToOne  
34 - private Cars cars; 29 + private int cars;
35 30
36 // 站点序号 31 // 站点序号
37 private Integer stop; 32 private Integer stop;
@@ -46,7 +41,7 @@ public class VehicleInoutStop { @@ -46,7 +41,7 @@ public class VehicleInoutStop {
46 private Integer inOutStop; 41 private Integer inOutStop;
47 42
48 // 上报时间 43 // 上报时间
49 - private long reportDate; 44 + private Date reportDate;
50 45
51 public Integer getId() { 46 public Integer getId() {
52 return id; 47 return id;
@@ -56,19 +51,19 @@ public class VehicleInoutStop { @@ -56,19 +51,19 @@ public class VehicleInoutStop {
56 this.id = id; 51 this.id = id;
57 } 52 }
58 53
59 - public Line getLine() { 54 + public int getLine() {
60 return line; 55 return line;
61 } 56 }
62 57
63 - public void setLine(Line line) { 58 + public void setLine(int line) {
64 this.line = line; 59 this.line = line;
65 } 60 }
66 61
67 - public Cars getCars() { 62 + public int getCars() {
68 return cars; 63 return cars;
69 } 64 }
70 65
71 - public void setCars(Cars cars) { 66 + public void setCars(int cars) {
72 this.cars = cars; 67 this.cars = cars;
73 } 68 }
74 69
@@ -104,7 +99,11 @@ public class VehicleInoutStop { @@ -104,7 +99,11 @@ public class VehicleInoutStop {
104 this.inOutStop = inOutStop; 99 this.inOutStop = inOutStop;
105 } 100 }
106 101
107 - public long getReportDate() { return reportDate; } 102 + public Date getReportDate() {
  103 + return reportDate;
  104 + }
108 105
109 - public void setReportDate(long reportDate) { this.reportDate = reportDate; } 106 + public void setReportDate(Date reportDate) {
  107 + this.reportDate = reportDate;
  108 + }
110 } 109 }
src/main/java/com/bsth/service/schedule/rules/shiftloop/ScheduleRule_input.java
@@ -34,7 +34,9 @@ public class ScheduleRule_input { @@ -34,7 +34,9 @@ public class ScheduleRule_input {
34 /** 车辆配置id */ 34 /** 车辆配置id */
35 private String carConfigId; 35 private String carConfigId;
36 36
37 - /** 车辆翻版(周一到周日是否启用) */ 37 + /** 翻班模式 */
  38 + private Integer fbtype;
  39 + /** 车辆翻班(周一到周日是否启用,可能是多个星期的组合,有的翻班是做六休一加做五休二) */
38 private List<Boolean> weekdays = new ArrayList<>(); 40 private List<Boolean> weekdays = new ArrayList<>();
39 41
40 /** 排班输入规则类型 */ 42 /** 排班输入规则类型 */
@@ -66,19 +68,30 @@ public class ScheduleRule_input { @@ -66,19 +68,30 @@ public class ScheduleRule_input {
66 this.carConfigId = String.valueOf(scheduleRule1Flat.getCarConfigInfo().getId()); 68 this.carConfigId = String.valueOf(scheduleRule1Flat.getCarConfigInfo().getId());
67 69
68 /** 车辆翻版(周一到周日是否启用)*/ 70 /** 车辆翻版(周一到周日是否启用)*/
69 - String fbgs_temp = null;  
70 - if (StringUtils.isEmpty(scheduleRule1Flat.getFbgs()) || "1".equals(scheduleRule1Flat.getFbgs())) {  
71 - fbgs_temp = "1,1,1,1,1,1,1"; 71 + if (scheduleRule1Flat.getFbtype() == null || scheduleRule1Flat.getFbtype() == ScheduleRule1Flat.FbgsTypeEnum.TIMETABLEMODE) {
  72 + fbtype = ScheduleRule1Flat.FbgsTypeEnum.TIMETABLEMODE.ordinal();
  73 + weekdays.add(true);
72 } else { 74 } else {
73 - fbgs_temp = "1,1,1,1,1,0,0";  
74 -// fbgs_temp = scheduleRule1Flat.getFbgs();  
75 - }  
76 - String[] days = fbgs_temp.split(",");  
77 - for (int i = 0; i < 7; i++) {  
78 - if ("1".equals(days[i])) { 75 + fbtype = ScheduleRule1Flat.FbgsTypeEnum.FBGSMODE.ordinal();
  76 + if (StringUtils.isEmpty(scheduleRule1Flat.getFbgs())) { // 全1
79 weekdays.add(true); 77 weekdays.add(true);
80 - } else {  
81 - weekdays.add(false); 78 + } else if (scheduleRule1Flat.getFbgs().indexOf(",") >= 0) { // 逗号分隔
  79 + for (String fb : scheduleRule1Flat.getFbgs().split(",")) {
  80 + if ("1".equals(fb)) {
  81 + weekdays.add(true);
  82 + } else {
  83 + weekdays.add(false);
  84 + }
  85 + }
  86 + } else { // 一个一个字符分隔
  87 + for (int i = 0; i < scheduleRule1Flat.getFbgs().length(); i++) {
  88 + if ("1".equals(scheduleRule1Flat.getFbgs().substring(i, i + 1))) {
  89 + weekdays.add(true);
  90 + } else {
  91 + weekdays.add(false);
  92 + }
  93 + }
  94 +
82 } 95 }
83 } 96 }
84 97
@@ -174,4 +187,12 @@ public class ScheduleRule_input { @@ -174,4 +187,12 @@ public class ScheduleRule_input {
174 public void setsType(ScheduleRule_Type sType) { 187 public void setsType(ScheduleRule_Type sType) {
175 this.sType = sType; 188 this.sType = sType;
176 } 189 }
  190 +
  191 + public Integer getFbtype() {
  192 + return fbtype;
  193 + }
  194 +
  195 + public void setFbtype(Integer fbtype) {
  196 + this.fbtype = fbtype;
  197 + }
177 } 198 }
src/main/java/com/bsth/service/traffic/VehicleInoutStopService.java
@@ -3,10 +3,26 @@ package com.bsth.service.traffic; @@ -3,10 +3,26 @@ package com.bsth.service.traffic;
3 import com.bsth.entity.traffic.VehicleInoutStop; 3 import com.bsth.entity.traffic.VehicleInoutStop;
4 import com.bsth.service.BaseService; 4 import com.bsth.service.BaseService;
5 5
  6 +import java.util.List;
  7 +import java.util.Map;
  8 +
6 9
7 /** 10 /**
8 * 时刻模板上传日志 11 * 时刻模板上传日志
9 */ 12 */
10 public interface VehicleInoutStopService extends BaseService<VehicleInoutStop,Integer> { 13 public interface VehicleInoutStopService extends BaseService<VehicleInoutStop,Integer> {
11 14
  15 + /**
  16 + * 给定条件查车载上报停靠站
  17 + * @param map
  18 + * @return
  19 + */
  20 + List<Map<String, Object>> getVehicleInoutStopByParam(Map<String,Object> map);
  21 +
  22 + /**
  23 + * 给定条件查车载上报停靠站的记录数
  24 + * @param map
  25 + * @return
  26 + */
  27 + long getVehicleInoutStopCountByParam(Map<String,Object> map);
12 } 28 }
src/main/java/com/bsth/service/traffic/impl/VehicleInoutStopServiceImpl.java
@@ -3,10 +3,14 @@ package com.bsth.service.traffic.impl; @@ -3,10 +3,14 @@ package com.bsth.service.traffic.impl;
3 import com.bsth.entity.traffic.VehicleInoutStop; 3 import com.bsth.entity.traffic.VehicleInoutStop;
4 import com.bsth.service.impl.BaseServiceImpl; 4 import com.bsth.service.impl.BaseServiceImpl;
5 import com.bsth.service.traffic.VehicleInoutStopService; 5 import com.bsth.service.traffic.VehicleInoutStopService;
6 -import org.slf4j.Logger;  
7 -import org.slf4j.LoggerFactory; 6 +import com.bsth.util.DateUtils;
  7 +import org.springframework.beans.factory.annotation.Autowired;
  8 +import org.springframework.jdbc.core.JdbcTemplate;
8 import org.springframework.stereotype.Service; 9 import org.springframework.stereotype.Service;
9 10
  11 +import java.util.List;
  12 +import java.util.Map;
  13 +
10 /** 14 /**
11 * 15 *
12 * @ClassName: TrafficManageServiceImpl(运管处接口service业务层实现类) 16 * @ClassName: TrafficManageServiceImpl(运管处接口service业务层实现类)
@@ -26,6 +30,70 @@ import org.springframework.stereotype.Service; @@ -26,6 +30,70 @@ import org.springframework.stereotype.Service;
26 @Service 30 @Service
27 public class VehicleInoutStopServiceImpl extends BaseServiceImpl<VehicleInoutStop,Integer> implements VehicleInoutStopService { 31 public class VehicleInoutStopServiceImpl extends BaseServiceImpl<VehicleInoutStop,Integer> implements VehicleInoutStopService {
28 32
29 - Logger logger = LoggerFactory.getLogger(this.getClass()); 33 + @Autowired
  34 + JdbcTemplate jdbcTemplate;
  35 +
  36 + /**
  37 + * 拼装sql
  38 + * @param map
  39 + * @param flag
  40 + * @return
  41 + */
  42 + private String packageParam(Map<String,Object> map,String flag){
  43 + StringBuffer sql = new StringBuffer(" where 1 = 1 ");
  44 + String lineId = map.get("lineId")+"";
  45 + String insideCode = map.get("insideCode")+"";
  46 + String carPlate = map.get("carPlate")+"";
  47 + String reportDate_start = map.get("reportDate_start")+"";
  48 + String reportDate_end = map.get("reportDate_end")+"";
  49 + int page = Integer.valueOf(map.get("page")+"");
  50 + int size = Integer.valueOf(map.get("size")+"");
  51 + String order = " order by report_date asc"+ " LIMIT "+page*size+","+size;
  52 + int dayNum = DateUtils.calcDaynumberInYear(reportDate_start.substring(0,8)) -1;
  53 + if(!lineId.equals("")){
  54 + sql.append(" and l.id = ").append(lineId);
  55 + }
  56 + if(!insideCode.equals("")){
  57 + sql.append(" and c.inside_code = ").append("'").append(insideCode.toUpperCase()).append("'");
  58 + }
  59 + if(!carPlate.equals("")){
  60 + sql.append(" and c.car_plate = ").append("'").append("沪").append(carPlate.substring(0,1)).append("-")
  61 + .append(carPlate.substring(1)).append("'");
  62 + }
  63 + sql.append(" and FROM_UNIXTIME(REPORT_DATE/1000,'%Y%m%d%H') between '").append(reportDate_start).
  64 + append("' and '").append(reportDate_end).append("'").append(" and r.day_year = ").append(dayNum);
  65 + if(flag.equals("count")){
  66 + return sql.toString();
  67 + }else{
  68 + return sql + order;
  69 + }
  70 + }
  71 +
  72 + /**
  73 + * 给定条件查车载上报停靠站
  74 + * @param map
  75 + * @return
  76 + */
  77 + public List<Map<String, Object>> getVehicleInoutStopByParam(Map<String,Object> map){
  78 + String sql = "SELECT c.branche_company,c.company,l.name,l.shanghai_linecode,inside_code,equipment_code,car_plate," +
  79 + "if( r.service_state= 0,'营运','停运') as service_state ," +
  80 + "if( r.up_down= 0,'上行','下行') as up_down ," +
  81 + "if( r.in_out_stop= 0,'站内','站外') as in_out_stop , " +
  82 + "r.stop,r.report_date FROM bsth_c_shreal r LEFT JOIN bsth_c_cars c on r.cars = c.id " +
  83 + "LEFT JOIN bsth_c_line l on r.line = l.id" + packageParam(map,"") ;
  84 + List<Map<String, Object>> result = jdbcTemplate.queryForList(sql);
  85 + return result;
  86 + }
30 87
  88 + /**
  89 + * 给定条件查车载上报停靠站的记录数
  90 + * @param map
  91 + * @return
  92 + */
  93 + public long getVehicleInoutStopCountByParam(Map<String,Object> map){
  94 + String sql = "SELECT count(1) COUNT FROM bsth_c_shreal r LEFT JOIN bsth_c_cars c on r.cars = c.id " +
  95 + "LEFT JOIN bsth_c_line l on r.line = l.id" + packageParam(map,"count");
  96 + long result = Long.valueOf(jdbcTemplate.queryForMap(sql).get("COUNT")+"");
  97 + return result;
  98 + }
31 } 99 }
src/main/java/com/bsth/util/DateUtils.java
@@ -133,4 +133,23 @@ public class DateUtils { @@ -133,4 +133,23 @@ public class DateUtils {
133 public static int calcHHmmDiff(String fcsj, String zdsj) throws ParseException { 133 public static int calcHHmmDiff(String fcsj, String zdsj) throws ParseException {
134 return (int) (sdfHHmm.parse(zdsj).getTime() - sdfHHmm.parse(fcsj).getTime()); 134 return (int) (sdfHHmm.parse(zdsj).getTime() - sdfHHmm.parse(fcsj).getTime());
135 } 135 }
  136 +
  137 + /**
  138 + * 计算某天是这一年的第几天
  139 + * @param str
  140 + * @return
  141 + */
  142 + public static int calcDaynumberInYear(String str){
  143 + int num = 0;
  144 + SimpleDateFormat sdf= new SimpleDateFormat("yyyyMMdd");
  145 + try {
  146 + Date date =sdf.parse(str);
  147 + Calendar calendar = Calendar.getInstance();
  148 + calendar.setTime(date);
  149 + num = calendar.get(Calendar.DAY_OF_YEAR);
  150 + } catch (Exception e) {
  151 + e.printStackTrace();
  152 + }
  153 + return num;
  154 + }
136 } 155 }
src/main/resources/datatools/ktrs/carsDataInput.ktr
1 -<?xml version="1.0" encoding="UTF-8"?>  
2 -<transformation>  
3 - <info>  
4 - <name>&#x8f66;&#x8f86;&#x4fe1;&#x606f;&#x5bfc;&#x5165;</name>  
5 - <description>&#x8f66;&#x8f86;&#x4fe1;&#x606f;&#x5bfc;&#x5165;</description>  
6 - <extended_description>&#x8f66;&#x8f86;&#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;23 17&#x3a;44&#x3a;46.781</created_date>  
81 - <modified_user>-</modified_user>  
82 - <modified_date>2016&#x2f;06&#x2f;23 17&#x3a;44&#x3a;46.781</modified_date>  
83 - <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</key_for_session_key>  
84 - <is_key_private>N</is_key_private>  
85 - </info>  
86 - <notepads>  
87 - </notepads>  
88 - <connection>  
89 - <name>192.168.168.1_jwgl_dw</name>  
90 - <server>192.168.168.1</server>  
91 - <type>ORACLE</type>  
92 - <access>Native</access>  
93 - <database>orcl</database>  
94 - <port>1521</port>  
95 - <username>jwgl_dw</username>  
96 - <password>Encrypted 2be98afc86aa7f2e4cb13b977d2adabcd</password>  
97 - <servername/>  
98 - <data_tablespace/>  
99 - <index_tablespace/>  
100 - <attributes>  
101 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
102 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
103 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
104 - <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>  
105 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
106 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
107 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
108 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
109 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
110 - </attributes>  
111 - </connection>  
112 - <connection>  
113 - <name>bus_control_variable</name>  
114 - <server>&#x24;&#x7b;v_db_ip&#x7d;</server>  
115 - <type>MYSQL</type>  
116 - <access>Native</access>  
117 - <database>&#x24;&#x7b;v_db_dname&#x7d;</database>  
118 - <port>3306</port>  
119 - <username>&#x24;&#x7b;v_db_uname&#x7d;</username>  
120 - <password>&#x24;&#x7b;v_db_pwd&#x7d;</password>  
121 - <servername/>  
122 - <data_tablespace/>  
123 - <index_tablespace/>  
124 - <attributes>  
125 - <attribute><code>EXTRA_OPTION_MYSQL.characterEncoding</code><attribute>utf8</attribute></attribute>  
126 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
127 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
128 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
129 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
130 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
131 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
132 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
133 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
134 - <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>  
135 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
136 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
137 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
138 - </attributes>  
139 - </connection>  
140 - <connection>  
141 - <name>bus_control_&#x516c;&#x53f8;_201</name>  
142 - <server>localhost</server>  
143 - <type>MYSQL</type>  
144 - <access>Native</access>  
145 - <database>control</database>  
146 - <port>3306</port>  
147 - <username>root</username>  
148 - <password>Encrypted </password>  
149 - <servername/>  
150 - <data_tablespace/>  
151 - <index_tablespace/>  
152 - <attributes>  
153 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
154 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
155 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
156 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
157 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
158 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
159 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
160 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
161 - <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>  
162 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
163 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
164 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
165 - </attributes>  
166 - </connection>  
167 - <connection>  
168 - <name>bus_control_&#x672c;&#x673a;</name>  
169 - <server>localhost</server>  
170 - <type>MYSQL</type>  
171 - <access>Native</access>  
172 - <database>control</database>  
173 - <port>3306</port>  
174 - <username>root</username>  
175 - <password>Encrypted </password>  
176 - <servername/>  
177 - <data_tablespace/>  
178 - <index_tablespace/>  
179 - <attributes>  
180 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
181 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
182 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
183 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
184 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
185 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
186 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
187 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
188 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
189 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
190 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
191 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
192 - </attributes>  
193 - </connection>  
194 - <connection>  
195 - <name>xlab_mysql_youle</name>  
196 - <server>101.231.124.8</server>  
197 - <type>MYSQL</type>  
198 - <access>Native</access>  
199 - <database>xlab_youle</database>  
200 - <port>45687</port>  
201 - <username>xlab-youle</username>  
202 - <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password>  
203 - <servername/>  
204 - <data_tablespace/>  
205 - <index_tablespace/>  
206 - <attributes>  
207 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
208 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
209 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
210 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
211 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
212 - <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute>  
213 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
214 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
215 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
216 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>  
217 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>  
218 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
219 - </attributes>  
220 - </connection>  
221 - <connection>  
222 - <name>xlab_mysql_youle&#xff08;&#x672c;&#x673a;&#xff09;</name>  
223 - <server>localhost</server>  
224 - <type>MYSQL</type>  
225 - <access>Native</access>  
226 - <database>xlab_youle</database>  
227 - <port>3306</port>  
228 - <username>root</username>  
229 - <password>Encrypted </password>  
230 - <servername/>  
231 - <data_tablespace/>  
232 - <index_tablespace/>  
233 - <attributes>  
234 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
235 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
236 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
237 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
238 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
239 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
240 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
241 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
242 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
243 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>  
244 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>  
245 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
246 - </attributes>  
247 - </connection>  
248 - <connection>  
249 - <name>xlab_youle</name>  
250 - <server/>  
251 - <type>MYSQL</type>  
252 - <access>JNDI</access>  
253 - <database>xlab_youle</database>  
254 - <port>1521</port>  
255 - <username/>  
256 - <password>Encrypted </password>  
257 - <servername/>  
258 - <data_tablespace/>  
259 - <index_tablespace/>  
260 - <attributes>  
261 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
262 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
263 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
264 - <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>  
265 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
266 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
267 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
268 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
269 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
270 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
271 - </attributes>  
272 - </connection>  
273 - <order>  
274 - <hop> <from>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_cars 2</from><to>&#x9519;&#x8bef;&#x8f93;&#x51fa; 2</to><enabled>Y</enabled> </hop>  
275 - <hop> <from>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</from><to>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</to><enabled>Y</enabled> </hop>  
276 - <hop> <from>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</from><to>&#x5185;&#x90e8;&#x7f16;&#x7801;&#x4e0d;&#x4e3a;&#x7a7a;</to><enabled>Y</enabled> </hop>  
277 - <hop> <from>&#x5185;&#x90e8;&#x7f16;&#x7801;&#x4e0d;&#x4e3a;&#x7a7a;</from><to>&#x6dfb;&#x52a0;&#x67e5;&#x8be2;&#x5e38;&#x91cf;</to><enabled>Y</enabled> </hop>  
278 - <hop> <from>&#x6dfb;&#x52a0;&#x67e5;&#x8be2;&#x5e38;&#x91cf;</from><to>&#x516c;&#x53f8;&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>  
279 - <hop> <from>&#x516c;&#x53f8;&#x67e5;&#x8be2;</from><to>&#x516c;&#x53f8;&#x4ee3;&#x7801;&#x4e0d;&#x4e3a;&#x7a7a;</to><enabled>Y</enabled> </hop>  
280 - <hop> <from>&#x516c;&#x53f8;&#x4ee3;&#x7801;&#x4e0d;&#x4e3a;&#x7a7a;</from><to>&#x5206;&#x516c;&#x53f8;&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>  
281 - <hop> <from>&#x5206;&#x516c;&#x53f8;&#x67e5;&#x8be2;</from><to>&#x5206;&#x516c;&#x53f8;&#x4ee3;&#x7801;&#x4e0d;&#x4e3a;&#x7a7a;</to><enabled>Y</enabled> </hop>  
282 - <hop> <from>&#x5206;&#x516c;&#x53f8;&#x4ee3;&#x7801;&#x4e0d;&#x4e3a;&#x7a7a;</from><to>&#x8f66;&#x8f86;&#x7f16;&#x7801;</to><enabled>Y</enabled> </hop>  
283 - <hop> <from>&#x8f66;&#x8f86;&#x7f16;&#x7801;</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_cars 2</to><enabled>Y</enabled> </hop>  
284 - </order>  
285 - <step>  
286 - <name>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</name>  
287 - <type>ExcelInput</type>  
288 - <description/>  
289 - <distribute>Y</distribute>  
290 - <custom_distribution/>  
291 - <copies>1</copies>  
292 - <partitioning>  
293 - <method>none</method>  
294 - <schema_name/>  
295 - </partitioning>  
296 - <header>Y</header>  
297 - <noempty>Y</noempty>  
298 - <stoponempty>N</stoponempty>  
299 - <filefield/>  
300 - <sheetfield/>  
301 - <sheetrownumfield/>  
302 - <rownumfield/>  
303 - <sheetfield/>  
304 - <filefield/>  
305 - <limit>0</limit>  
306 - <encoding/>  
307 - <add_to_result_filenames>Y</add_to_result_filenames>  
308 - <accept_filenames>Y</accept_filenames>  
309 - <accept_field>filepath_</accept_field>  
310 - <accept_stepname>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</accept_stepname>  
311 - <file>  
312 - <name/>  
313 - <filemask/>  
314 - <exclude_filemask/>  
315 - <file_required>N</file_required>  
316 - <include_subfolders>N</include_subfolders>  
317 - </file>  
318 - <fields>  
319 - <field>  
320 - <name>&#x8f66;&#x724c;&#x53f7;</name>  
321 - <type>String</type>  
322 - <length>-1</length>  
323 - <precision>-1</precision>  
324 - <trim_type>none</trim_type>  
325 - <repeat>N</repeat>  
326 - <format/>  
327 - <currency/>  
328 - <decimal/>  
329 - <group/>  
330 - </field>  
331 - <field>  
332 - <name>&#x5185;&#x90e8;&#x7f16;&#x7801;</name>  
333 - <type>String</type>  
334 - <length>-1</length>  
335 - <precision>-1</precision>  
336 - <trim_type>none</trim_type>  
337 - <repeat>N</repeat>  
338 - <format/>  
339 - <currency/>  
340 - <decimal/>  
341 - <group/>  
342 - </field>  
343 - <field>  
344 - <name>&#x6240;&#x5c5e;&#x516c;&#x53f8;</name>  
345 - <type>String</type>  
346 - <length>-1</length>  
347 - <precision>-1</precision>  
348 - <trim_type>none</trim_type>  
349 - <repeat>N</repeat>  
350 - <format/>  
351 - <currency/>  
352 - <decimal/>  
353 - <group/>  
354 - </field>  
355 - <field>  
356 - <name>&#x6240;&#x5c5e;&#x5206;&#x516c;&#x53f8;</name>  
357 - <type>String</type>  
358 - <length>-1</length>  
359 - <precision>-1</precision>  
360 - <trim_type>none</trim_type>  
361 - <repeat>N</repeat>  
362 - <format/>  
363 - <currency/>  
364 - <decimal/>  
365 - <group/>  
366 - </field>  
367 - <field>  
368 - <name>&#x8bbe;&#x5907;&#x4f9b;&#x5e94;&#x5382;&#x5546;</name>  
369 - <type>String</type>  
370 - <length>-1</length>  
371 - <precision>-1</precision>  
372 - <trim_type>none</trim_type>  
373 - <repeat>N</repeat>  
374 - <format/>  
375 - <currency/>  
376 - <decimal/>  
377 - <group/>  
378 - </field>  
379 - <field>  
380 - <name>&#x8bbe;&#x5907;&#x7ec8;&#x7aef;&#x53f7;</name>  
381 - <type>String</type>  
382 - <length>-1</length>  
383 - <precision>-1</precision>  
384 - <trim_type>none</trim_type>  
385 - <repeat>N</repeat>  
386 - <format/>  
387 - <currency/>  
388 - <decimal/>  
389 - <group/>  
390 - </field>  
391 - </fields>  
392 - <sheets>  
393 - <sheet>  
394 - <name>&#x5de5;&#x4f5c;&#x8868;1</name>  
395 - <startrow>0</startrow>  
396 - <startcol>0</startcol>  
397 - </sheet>  
398 - </sheets>  
399 - <strict_types>N</strict_types>  
400 - <error_ignored>N</error_ignored>  
401 - <error_line_skipped>N</error_line_skipped>  
402 - <bad_line_files_destination_directory/>  
403 - <bad_line_files_extension>warning</bad_line_files_extension>  
404 - <error_line_files_destination_directory/>  
405 - <error_line_files_extension>error</error_line_files_extension>  
406 - <line_number_files_destination_directory/>  
407 - <line_number_files_extension>line</line_number_files_extension>  
408 - <shortFileFieldName/>  
409 - <pathFieldName/>  
410 - <hiddenFieldName/>  
411 - <lastModificationTimeFieldName/>  
412 - <uriNameFieldName/>  
413 - <rootUriNameFieldName/>  
414 - <extensionFieldName/>  
415 - <sizeFieldName/>  
416 - <spreadsheet_type>JXL</spreadsheet_type>  
417 - <cluster_schema/>  
418 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
419 - <xloc>218</xloc>  
420 - <yloc>59</yloc>  
421 - <draw>Y</draw>  
422 - </GUI>  
423 - </step>  
424 -  
425 - <step>  
426 - <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_cars 2</name>  
427 - <type>InsertUpdate</type>  
428 - <description/>  
429 - <distribute>Y</distribute>  
430 - <custom_distribution/>  
431 - <copies>1</copies>  
432 - <partitioning>  
433 - <method>none</method>  
434 - <schema_name/>  
435 - </partitioning>  
436 - <connection>bus_control_variable</connection>  
437 - <commit>500</commit>  
438 - <update_bypassed>N</update_bypassed>  
439 - <lookup>  
440 - <schema/>  
441 - <table>bsth_c_cars</table>  
442 - <key>  
443 - <name>&#x5185;&#x90e8;&#x7f16;&#x7801;</name>  
444 - <field>inside_code</field>  
445 - <condition>&#x3d;</condition>  
446 - <name2/>  
447 - </key>  
448 - <value>  
449 - <name>car_plate</name>  
450 - <rename>&#x8f66;&#x724c;&#x53f7;</rename>  
451 - <update>Y</update>  
452 - </value>  
453 - <value>  
454 - <name>car_code</name>  
455 - <rename>cl_code</rename>  
456 - <update>Y</update>  
457 - </value>  
458 - <value>  
459 - <name>inside_code</name>  
460 - <rename>&#x5185;&#x90e8;&#x7f16;&#x7801;</rename>  
461 - <update>Y</update>  
462 - </value>  
463 - <value>  
464 - <name>company</name>  
465 - <rename>&#x6240;&#x5c5e;&#x516c;&#x53f8;</rename>  
466 - <update>Y</update>  
467 - </value>  
468 - <value>  
469 - <name>business_code</name>  
470 - <rename>gs_code</rename>  
471 - <update>Y</update>  
472 - </value>  
473 - <value>  
474 - <name>branche_company</name>  
475 - <rename>&#x6240;&#x5c5e;&#x5206;&#x516c;&#x53f8;</rename>  
476 - <update>Y</update>  
477 - </value>  
478 - <value>  
479 - <name>branche_company_code</name>  
480 - <rename>fgs_code</rename>  
481 - <update>Y</update>  
482 - </value>  
483 - <value>  
484 - <name>supplier_name</name>  
485 - <rename>&#x8bbe;&#x5907;&#x4f9b;&#x5e94;&#x5382;&#x5546;</rename>  
486 - <update>Y</update>  
487 - </value>  
488 - <value>  
489 - <name>equipment_code</name>  
490 - <rename>&#x8bbe;&#x5907;&#x7ec8;&#x7aef;&#x53f7;</rename>  
491 - <update>Y</update>  
492 - </value>  
493 - </lookup>  
494 - <cluster_schema/>  
495 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
496 - <xloc>690</xloc>  
497 - <yloc>393</yloc>  
498 - <draw>Y</draw>  
499 - </GUI>  
500 - </step>  
501 -  
502 - <step>  
503 - <name>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</name>  
504 - <type>GetVariable</type>  
505 - <description/>  
506 - <distribute>Y</distribute>  
507 - <custom_distribution/>  
508 - <copies>1</copies>  
509 - <partitioning>  
510 - <method>none</method>  
511 - <schema_name/>  
512 - </partitioning>  
513 - <fields>  
514 - <field>  
515 - <name>filepath_</name>  
516 - <variable>&#x24;&#x7b;filepath&#x7d;</variable>  
517 - <type>String</type>  
518 - <format/>  
519 - <currency/>  
520 - <decimal/>  
521 - <group/>  
522 - <length>-1</length>  
523 - <precision>-1</precision>  
524 - <trim_type>none</trim_type>  
525 - </field>  
526 - <field>  
527 - <name>erroroutputdir_</name>  
528 - <variable>&#x24;&#x7b;erroroutputdir&#x7d;</variable>  
529 - <type>String</type>  
530 - <format/>  
531 - <currency/>  
532 - <decimal/>  
533 - <group/>  
534 - <length>-1</length>  
535 - <precision>-1</precision>  
536 - <trim_type>none</trim_type>  
537 - </field>  
538 - </fields>  
539 - <cluster_schema/>  
540 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
541 - <xloc>70</xloc>  
542 - <yloc>59</yloc>  
543 - <draw>Y</draw>  
544 - </GUI>  
545 - </step>  
546 -  
547 - <step>  
548 - <name>&#x9519;&#x8bef;&#x8f93;&#x51fa; 2</name>  
549 - <type>ExcelOutput</type>  
550 - <description/>  
551 - <distribute>Y</distribute>  
552 - <custom_distribution/>  
553 - <copies>1</copies>  
554 - <partitioning>  
555 - <method>none</method>  
556 - <schema_name/>  
557 - </partitioning>  
558 - <header>Y</header>  
559 - <footer>N</footer>  
560 - <encoding/>  
561 - <append>N</append>  
562 - <add_to_result_filenames>Y</add_to_result_filenames>  
563 - <file>  
564 - <name>&#x24;&#x7b;erroroutputdir&#x7d;&#x2f;&#x8f66;&#x8f86;&#x57fa;&#x7840;&#x4fe1;&#x606f;_&#x9519;&#x8bef;</name>  
565 - <extention>xls</extention>  
566 - <do_not_open_newfile_init>N</do_not_open_newfile_init>  
567 - <create_parent_folder>N</create_parent_folder>  
568 - <split>N</split>  
569 - <add_date>N</add_date>  
570 - <add_time>N</add_time>  
571 - <SpecifyFormat>N</SpecifyFormat>  
572 - <date_time_format/>  
573 - <sheetname>Sheet1</sheetname>  
574 - <autosizecolums>N</autosizecolums>  
575 - <nullisblank>N</nullisblank>  
576 - <protect_sheet>N</protect_sheet>  
577 - <password>Encrypted </password>  
578 - <splitevery>0</splitevery>  
579 - <usetempfiles>N</usetempfiles>  
580 - <tempdirectory/>  
581 - </file>  
582 - <template>  
583 - <enabled>N</enabled>  
584 - <append>N</append>  
585 - <filename>template.xls</filename>  
586 - </template>  
587 - <fields>  
588 - <field>  
589 - <name>&#x8f66;&#x724c;&#x53f7;</name>  
590 - <type>String</type>  
591 - <format/>  
592 - </field>  
593 - <field>  
594 - <name>&#x5185;&#x90e8;&#x7f16;&#x7801;</name>  
595 - <type>String</type>  
596 - <format/>  
597 - </field>  
598 - <field>  
599 - <name>&#x6240;&#x5c5e;&#x516c;&#x53f8;</name>  
600 - <type>String</type>  
601 - <format/>  
602 - </field>  
603 - <field>  
604 - <name>&#x6240;&#x5c5e;&#x5206;&#x516c;&#x53f8;</name>  
605 - <type>String</type>  
606 - <format/>  
607 - </field>  
608 - <field>  
609 - <name>&#x8bbe;&#x5907;&#x4f9b;&#x5e94;&#x5382;&#x5546;</name>  
610 - <type>String</type>  
611 - <format/>  
612 - </field>  
613 - <field>  
614 - <name>&#x8bbe;&#x5907;&#x7ec8;&#x7aef;&#x53f7;</name>  
615 - <type>String</type>  
616 - <format/>  
617 - </field>  
618 - <field>  
619 - <name>error_count</name>  
620 - <type>Integer</type>  
621 - <format/>  
622 - </field>  
623 - <field>  
624 - <name>error_desc</name>  
625 - <type>String</type>  
626 - <format/>  
627 - </field>  
628 - <field>  
629 - <name>error_column1</name>  
630 - <type>String</type>  
631 - <format/>  
632 - </field>  
633 - <field>  
634 - <name>error_column2</name>  
635 - <type>String</type>  
636 - <format/>  
637 - </field>  
638 - </fields>  
639 - <custom>  
640 - <header_font_name>arial</header_font_name>  
641 - <header_font_size>10</header_font_size>  
642 - <header_font_bold>N</header_font_bold>  
643 - <header_font_italic>N</header_font_italic>  
644 - <header_font_underline>no</header_font_underline>  
645 - <header_font_orientation>horizontal</header_font_orientation>  
646 - <header_font_color>black</header_font_color>  
647 - <header_background_color>none</header_background_color>  
648 - <header_row_height>255</header_row_height>  
649 - <header_alignment>left</header_alignment>  
650 - <header_image/>  
651 - <row_font_name>arial</row_font_name>  
652 - <row_font_size>10</row_font_size>  
653 - <row_font_color>black</row_font_color>  
654 - <row_background_color>none</row_background_color>  
655 - </custom>  
656 - <cluster_schema/>  
657 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
658 - <xloc>502</xloc>  
659 - <yloc>395</yloc>  
660 - <draw>Y</draw>  
661 - </GUI>  
662 - </step>  
663 -  
664 - <step>  
665 - <name>&#x5185;&#x90e8;&#x7f16;&#x7801;&#x4e0d;&#x4e3a;&#x7a7a;</name>  
666 - <type>FilterRows</type>  
667 - <description/>  
668 - <distribute>Y</distribute>  
669 - <custom_distribution/>  
670 - <copies>1</copies>  
671 - <partitioning>  
672 - <method>none</method>  
673 - <schema_name/>  
674 - </partitioning>  
675 -<send_true_to/>  
676 -<send_false_to/>  
677 - <compare>  
678 -<condition>  
679 - <negated>N</negated>  
680 - <conditions>  
681 - <condition>  
682 - <negated>N</negated>  
683 - <leftvalue>&#x5185;&#x90e8;&#x7f16;&#x7801;</leftvalue>  
684 - <function>IS NOT NULL</function>  
685 - <rightvalue/>  
686 - </condition>  
687 - </conditions>  
688 - </condition>  
689 - </compare>  
690 - <cluster_schema/>  
691 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
692 - <xloc>218</xloc>  
693 - <yloc>164</yloc>  
694 - <draw>Y</draw>  
695 - </GUI>  
696 - </step>  
697 -  
698 - <step>  
699 - <name>&#x6dfb;&#x52a0;&#x67e5;&#x8be2;&#x5e38;&#x91cf;</name>  
700 - <type>ScriptValueMod</type>  
701 - <description/>  
702 - <distribute>Y</distribute>  
703 - <custom_distribution/>  
704 - <copies>1</copies>  
705 - <partitioning>  
706 - <method>none</method>  
707 - <schema_name/>  
708 - </partitioning>  
709 - <compatible>N</compatible>  
710 - <optimizationLevel>9</optimizationLevel>  
711 - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>  
712 - <jsScript_name>Script 1</jsScript_name>  
713 - <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var up_code &#x3d; &#x27;88&#x27;&#x3b;</jsScript_script>  
714 - </jsScript> </jsScripts> <fields> <field> <name>up_code</name>  
715 - <rename>up_code</rename>  
716 - <type>String</type>  
717 - <length>-1</length>  
718 - <precision>-1</precision>  
719 - <replace>N</replace>  
720 - </field> </fields> <cluster_schema/>  
721 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
722 - <xloc>389</xloc>  
723 - <yloc>61</yloc>  
724 - <draw>Y</draw>  
725 - </GUI>  
726 - </step>  
727 -  
728 - <step>  
729 - <name>&#x516c;&#x53f8;&#x67e5;&#x8be2;</name>  
730 - <type>DBLookup</type>  
731 - <description/>  
732 - <distribute>Y</distribute>  
733 - <custom_distribution/>  
734 - <copies>1</copies>  
735 - <partitioning>  
736 - <method>none</method>  
737 - <schema_name/>  
738 - </partitioning>  
739 - <connection>bus_control_variable</connection>  
740 - <cache>N</cache>  
741 - <cache_load_all>N</cache_load_all>  
742 - <cache_size>0</cache_size>  
743 - <lookup>  
744 - <schema/>  
745 - <table>bsth_c_business</table>  
746 - <orderby/>  
747 - <fail_on_multiple>N</fail_on_multiple>  
748 - <eat_row_on_failure>N</eat_row_on_failure>  
749 - <key>  
750 - <name>up_code</name>  
751 - <field>up_code</field>  
752 - <condition>&#x3d;</condition>  
753 - <name2/>  
754 - </key>  
755 - <key>  
756 - <name>&#x6240;&#x5c5e;&#x516c;&#x53f8;</name>  
757 - <field>business_name</field>  
758 - <condition>&#x3d;</condition>  
759 - <name2/>  
760 - </key>  
761 - <value>  
762 - <name>business_code</name>  
763 - <rename>gs_code</rename>  
764 - <default/>  
765 - <type>String</type>  
766 - </value>  
767 - </lookup>  
768 - <cluster_schema/>  
769 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
770 - <xloc>540</xloc>  
771 - <yloc>59</yloc>  
772 - <draw>Y</draw>  
773 - </GUI>  
774 - </step>  
775 -  
776 - <step>  
777 - <name>&#x516c;&#x53f8;&#x4ee3;&#x7801;&#x4e0d;&#x4e3a;&#x7a7a;</name>  
778 - <type>FilterRows</type>  
779 - <description/>  
780 - <distribute>Y</distribute>  
781 - <custom_distribution/>  
782 - <copies>1</copies>  
783 - <partitioning>  
784 - <method>none</method>  
785 - <schema_name/>  
786 - </partitioning>  
787 -<send_true_to/>  
788 -<send_false_to/>  
789 - <compare>  
790 -<condition>  
791 - <negated>N</negated>  
792 - <conditions>  
793 - <condition>  
794 - <negated>N</negated>  
795 - <leftvalue>gs_code</leftvalue>  
796 - <function>IS NOT NULL</function>  
797 - <rightvalue/>  
798 - </condition>  
799 - </conditions>  
800 - </condition>  
801 - </compare>  
802 - <cluster_schema/>  
803 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
804 - <xloc>542</xloc>  
805 - <yloc>164</yloc>  
806 - <draw>Y</draw>  
807 - </GUI>  
808 - </step>  
809 -  
810 - <step>  
811 - <name>&#x5206;&#x516c;&#x53f8;&#x67e5;&#x8be2;</name>  
812 - <type>DBLookup</type>  
813 - <description/>  
814 - <distribute>Y</distribute>  
815 - <custom_distribution/>  
816 - <copies>1</copies>  
817 - <partitioning>  
818 - <method>none</method>  
819 - <schema_name/>  
820 - </partitioning>  
821 - <connection>bus_control_variable</connection>  
822 - <cache>N</cache>  
823 - <cache_load_all>N</cache_load_all>  
824 - <cache_size>0</cache_size>  
825 - <lookup>  
826 - <schema/>  
827 - <table>bsth_c_business</table>  
828 - <orderby/>  
829 - <fail_on_multiple>N</fail_on_multiple>  
830 - <eat_row_on_failure>N</eat_row_on_failure>  
831 - <key>  
832 - <name>gs_code</name>  
833 - <field>up_code</field>  
834 - <condition>&#x3d;</condition>  
835 - <name2/>  
836 - </key>  
837 - <key>  
838 - <name>&#x6240;&#x5c5e;&#x5206;&#x516c;&#x53f8;</name>  
839 - <field>business_name</field>  
840 - <condition>&#x3d;</condition>  
841 - <name2/>  
842 - </key>  
843 - <value>  
844 - <name>business_code</name>  
845 - <rename>fgs_code</rename>  
846 - <default/>  
847 - <type>String</type>  
848 - </value>  
849 - </lookup>  
850 - <cluster_schema/>  
851 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
852 - <xloc>683</xloc>  
853 - <yloc>59</yloc>  
854 - <draw>Y</draw>  
855 - </GUI>  
856 - </step>  
857 -  
858 - <step>  
859 - <name>&#x5206;&#x516c;&#x53f8;&#x4ee3;&#x7801;&#x4e0d;&#x4e3a;&#x7a7a;</name>  
860 - <type>FilterRows</type>  
861 - <description/>  
862 - <distribute>Y</distribute>  
863 - <custom_distribution/>  
864 - <copies>1</copies>  
865 - <partitioning>  
866 - <method>none</method>  
867 - <schema_name/>  
868 - </partitioning>  
869 -<send_true_to/>  
870 -<send_false_to/>  
871 - <compare>  
872 -<condition>  
873 - <negated>N</negated>  
874 - <conditions>  
875 - <condition>  
876 - <negated>N</negated>  
877 - <leftvalue>fgs_code</leftvalue>  
878 - <function>IS NOT NULL</function>  
879 - <rightvalue/>  
880 - </condition>  
881 - </conditions>  
882 - </condition>  
883 - </compare>  
884 - <cluster_schema/>  
885 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
886 - <xloc>685</xloc>  
887 - <yloc>162</yloc>  
888 - <draw>Y</draw>  
889 - </GUI>  
890 - </step>  
891 -  
892 - <step>  
893 - <name>&#x8f66;&#x8f86;&#x7f16;&#x7801;</name>  
894 - <type>ScriptValueMod</type>  
895 - <description/>  
896 - <distribute>Y</distribute>  
897 - <custom_distribution/>  
898 - <copies>1</copies>  
899 - <partitioning>  
900 - <method>none</method>  
901 - <schema_name/>  
902 - </partitioning>  
903 - <compatible>N</compatible>  
904 - <optimizationLevel>9</optimizationLevel>  
905 - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>  
906 - <jsScript_name>Script 1</jsScript_name>  
907 - <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var cl_code &#x3d; gs_code &#x2b; &#x22;0&#x22; &#x2b; &#x5185;&#x90e8;&#x7f16;&#x7801;&#x3b;</jsScript_script>  
908 - </jsScript> </jsScripts> <fields> <field> <name>cl_code</name>  
909 - <rename>cl_code</rename>  
910 - <type>String</type>  
911 - <length>-1</length>  
912 - <precision>-1</precision>  
913 - <replace>N</replace>  
914 - </field> </fields> <cluster_schema/>  
915 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
916 - <xloc>688</xloc>  
917 - <yloc>273</yloc>  
918 - <draw>Y</draw>  
919 - </GUI>  
920 - </step>  
921 -  
922 - <step_error_handling>  
923 - <error>  
924 - <source_step>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_cars 2</source_step>  
925 - <target_step>&#x9519;&#x8bef;&#x8f93;&#x51fa; 2</target_step>  
926 - <is_enabled>Y</is_enabled>  
927 - <nr_valuename>error_count</nr_valuename>  
928 - <descriptions_valuename>error_desc</descriptions_valuename>  
929 - <fields_valuename>error_column1</fields_valuename>  
930 - <codes_valuename>error_column2</codes_valuename>  
931 - <max_errors/>  
932 - <max_pct_errors/>  
933 - <min_pct_rows/>  
934 - </error>  
935 - </step_error_handling>  
936 - <slave-step-copy-partition-distribution>  
937 -</slave-step-copy-partition-distribution>  
938 - <slave_transformation>N</slave_transformation>  
939 -  
940 -</transformation> 1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<transformation>
  3 + <info>
  4 + <name>&#x8f66;&#x8f86;&#x4fe1;&#x606f;&#x5bfc;&#x5165;</name>
  5 + <description>&#x8f66;&#x8f86;&#x4fe1;&#x606f;&#x5bfc;&#x5165;</description>
  6 + <extended_description>&#x8f66;&#x8f86;&#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;23 17&#x3a;44&#x3a;46.781</created_date>
  81 + <modified_user>-</modified_user>
  82 + <modified_date>2016&#x2f;06&#x2f;23 17&#x3a;44&#x3a;46.781</modified_date>
  83 + <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</key_for_session_key>
  84 + <is_key_private>N</is_key_private>
  85 + </info>
  86 + <notepads>
  87 + </notepads>
  88 + <connection>
  89 + <name>192.168.168.1_jwgl_dw</name>
  90 + <server>192.168.168.1</server>
  91 + <type>ORACLE</type>
  92 + <access>Native</access>
  93 + <database>orcl</database>
  94 + <port>1521</port>
  95 + <username>jwgl_dw</username>
  96 + <password>Encrypted 2be98afc86aa7f2e4cb13b977d2adabcd</password>
  97 + <servername/>
  98 + <data_tablespace/>
  99 + <index_tablespace/>
  100 + <attributes>
  101 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  102 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  103 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  104 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  105 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  106 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  107 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  108 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  109 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  110 + </attributes>
  111 + </connection>
  112 + <connection>
  113 + <name>bus_control_variable</name>
  114 + <server>&#x24;&#x7b;v_db_ip&#x7d;</server>
  115 + <type>MYSQL</type>
  116 + <access>Native</access>
  117 + <database>&#x24;&#x7b;v_db_dname&#x7d;</database>
  118 + <port>3306</port>
  119 + <username>&#x24;&#x7b;v_db_uname&#x7d;</username>
  120 + <password>&#x24;&#x7b;v_db_pwd&#x7d;</password>
  121 + <servername/>
  122 + <data_tablespace/>
  123 + <index_tablespace/>
  124 + <attributes>
  125 + <attribute><code>EXTRA_OPTION_MYSQL.characterEncoding</code><attribute>utf8</attribute></attribute>
  126 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  127 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  128 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  129 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  130 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  131 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  132 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  133 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  134 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  135 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  136 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  137 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  138 + </attributes>
  139 + </connection>
  140 + <connection>
  141 + <name>bus_control_&#x516c;&#x53f8;_201</name>
  142 + <server>localhost</server>
  143 + <type>MYSQL</type>
  144 + <access>Native</access>
  145 + <database>control</database>
  146 + <port>3306</port>
  147 + <username>root</username>
  148 + <password>Encrypted </password>
  149 + <servername/>
  150 + <data_tablespace/>
  151 + <index_tablespace/>
  152 + <attributes>
  153 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  154 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  155 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  156 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  157 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  158 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  159 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  160 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  161 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  162 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  163 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  164 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  165 + </attributes>
  166 + </connection>
  167 + <connection>
  168 + <name>bus_control_&#x672c;&#x673a;</name>
  169 + <server>localhost</server>
  170 + <type>MYSQL</type>
  171 + <access>Native</access>
  172 + <database>control</database>
  173 + <port>3306</port>
  174 + <username>root</username>
  175 + <password>Encrypted </password>
  176 + <servername/>
  177 + <data_tablespace/>
  178 + <index_tablespace/>
  179 + <attributes>
  180 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  181 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  182 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  183 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  184 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  185 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  186 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  187 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  188 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  189 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  190 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  191 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  192 + </attributes>
  193 + </connection>
  194 + <connection>
  195 + <name>xlab_mysql_youle</name>
  196 + <server>101.231.124.8</server>
  197 + <type>MYSQL</type>
  198 + <access>Native</access>
  199 + <database>xlab_youle</database>
  200 + <port>45687</port>
  201 + <username>xlab-youle</username>
  202 + <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password>
  203 + <servername/>
  204 + <data_tablespace/>
  205 + <index_tablespace/>
  206 + <attributes>
  207 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  208 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  209 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  210 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  211 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  212 + <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute>
  213 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  214 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  215 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  216 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  217 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  218 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  219 + </attributes>
  220 + </connection>
  221 + <connection>
  222 + <name>xlab_mysql_youle&#xff08;&#x672c;&#x673a;&#xff09;</name>
  223 + <server>localhost</server>
  224 + <type>MYSQL</type>
  225 + <access>Native</access>
  226 + <database>xlab_youle</database>
  227 + <port>3306</port>
  228 + <username>root</username>
  229 + <password>Encrypted </password>
  230 + <servername/>
  231 + <data_tablespace/>
  232 + <index_tablespace/>
  233 + <attributes>
  234 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  235 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  236 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  237 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  238 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  239 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  240 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  241 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  242 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  243 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  244 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  245 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  246 + </attributes>
  247 + </connection>
  248 + <connection>
  249 + <name>xlab_youle</name>
  250 + <server/>
  251 + <type>MYSQL</type>
  252 + <access>JNDI</access>
  253 + <database>xlab_youle</database>
  254 + <port>1521</port>
  255 + <username/>
  256 + <password>Encrypted </password>
  257 + <servername/>
  258 + <data_tablespace/>
  259 + <index_tablespace/>
  260 + <attributes>
  261 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  262 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  263 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  264 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  265 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  266 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  267 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  268 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  269 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  270 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  271 + </attributes>
  272 + </connection>
  273 + <order>
  274 + <hop> <from>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_cars 2</from><to>&#x9519;&#x8bef;&#x8f93;&#x51fa; 2</to><enabled>Y</enabled> </hop>
  275 + <hop> <from>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</from><to>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</to><enabled>Y</enabled> </hop>
  276 + <hop> <from>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</from><to>&#x5185;&#x90e8;&#x7f16;&#x7801;&#x4e0d;&#x4e3a;&#x7a7a;</to><enabled>Y</enabled> </hop>
  277 + <hop> <from>&#x5185;&#x90e8;&#x7f16;&#x7801;&#x4e0d;&#x4e3a;&#x7a7a;</from><to>&#x6dfb;&#x52a0;&#x67e5;&#x8be2;&#x5e38;&#x91cf;</to><enabled>Y</enabled> </hop>
  278 + <hop> <from>&#x6dfb;&#x52a0;&#x67e5;&#x8be2;&#x5e38;&#x91cf;</from><to>&#x516c;&#x53f8;&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>
  279 + <hop> <from>&#x516c;&#x53f8;&#x67e5;&#x8be2;</from><to>&#x516c;&#x53f8;&#x4ee3;&#x7801;&#x4e0d;&#x4e3a;&#x7a7a;</to><enabled>Y</enabled> </hop>
  280 + <hop> <from>&#x516c;&#x53f8;&#x4ee3;&#x7801;&#x4e0d;&#x4e3a;&#x7a7a;</from><to>&#x5206;&#x516c;&#x53f8;&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>
  281 + <hop> <from>&#x5206;&#x516c;&#x53f8;&#x67e5;&#x8be2;</from><to>&#x5206;&#x516c;&#x53f8;&#x4ee3;&#x7801;&#x4e0d;&#x4e3a;&#x7a7a;</to><enabled>Y</enabled> </hop>
  282 + <hop> <from>&#x5206;&#x516c;&#x53f8;&#x4ee3;&#x7801;&#x4e0d;&#x4e3a;&#x7a7a;</from><to>&#x8f66;&#x8f86;&#x7f16;&#x7801;</to><enabled>Y</enabled> </hop>
  283 + <hop> <from>&#x8f66;&#x8f86;&#x7f16;&#x7801;</from><to>&#x662f;&#x5426;&#x7535;&#x8f66;</to><enabled>Y</enabled> </hop>
  284 + <hop> <from>&#x662f;&#x5426;&#x7535;&#x8f66;</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_cars 2</to><enabled>Y</enabled> </hop>
  285 + </order>
  286 + <step>
  287 + <name>&#x516c;&#x53f8;&#x4ee3;&#x7801;&#x4e0d;&#x4e3a;&#x7a7a;</name>
  288 + <type>FilterRows</type>
  289 + <description/>
  290 + <distribute>Y</distribute>
  291 + <custom_distribution/>
  292 + <copies>1</copies>
  293 + <partitioning>
  294 + <method>none</method>
  295 + <schema_name/>
  296 + </partitioning>
  297 +<send_true_to/>
  298 +<send_false_to/>
  299 + <compare>
  300 +<condition>
  301 + <negated>N</negated>
  302 + <conditions>
  303 + <condition>
  304 + <negated>N</negated>
  305 + <leftvalue>gs_code</leftvalue>
  306 + <function>IS NOT NULL</function>
  307 + <rightvalue/>
  308 + </condition>
  309 + </conditions>
  310 + </condition>
  311 + </compare>
  312 + <cluster_schema/>
  313 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  314 + <xloc>542</xloc>
  315 + <yloc>164</yloc>
  316 + <draw>Y</draw>
  317 + </GUI>
  318 + </step>
  319 +
  320 + <step>
  321 + <name>&#x516c;&#x53f8;&#x67e5;&#x8be2;</name>
  322 + <type>DBLookup</type>
  323 + <description/>
  324 + <distribute>Y</distribute>
  325 + <custom_distribution/>
  326 + <copies>1</copies>
  327 + <partitioning>
  328 + <method>none</method>
  329 + <schema_name/>
  330 + </partitioning>
  331 + <connection>bus_control_variable</connection>
  332 + <cache>N</cache>
  333 + <cache_load_all>N</cache_load_all>
  334 + <cache_size>0</cache_size>
  335 + <lookup>
  336 + <schema/>
  337 + <table>bsth_c_business</table>
  338 + <orderby/>
  339 + <fail_on_multiple>N</fail_on_multiple>
  340 + <eat_row_on_failure>N</eat_row_on_failure>
  341 + <key>
  342 + <name>up_code</name>
  343 + <field>up_code</field>
  344 + <condition>&#x3d;</condition>
  345 + <name2/>
  346 + </key>
  347 + <key>
  348 + <name>&#x6240;&#x5c5e;&#x516c;&#x53f8;</name>
  349 + <field>business_name</field>
  350 + <condition>&#x3d;</condition>
  351 + <name2/>
  352 + </key>
  353 + <value>
  354 + <name>business_code</name>
  355 + <rename>gs_code</rename>
  356 + <default/>
  357 + <type>String</type>
  358 + </value>
  359 + </lookup>
  360 + <cluster_schema/>
  361 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  362 + <xloc>540</xloc>
  363 + <yloc>59</yloc>
  364 + <draw>Y</draw>
  365 + </GUI>
  366 + </step>
  367 +
  368 + <step>
  369 + <name>&#x5185;&#x90e8;&#x7f16;&#x7801;&#x4e0d;&#x4e3a;&#x7a7a;</name>
  370 + <type>FilterRows</type>
  371 + <description/>
  372 + <distribute>Y</distribute>
  373 + <custom_distribution/>
  374 + <copies>1</copies>
  375 + <partitioning>
  376 + <method>none</method>
  377 + <schema_name/>
  378 + </partitioning>
  379 +<send_true_to/>
  380 +<send_false_to/>
  381 + <compare>
  382 +<condition>
  383 + <negated>N</negated>
  384 + <conditions>
  385 + <condition>
  386 + <negated>N</negated>
  387 + <leftvalue>&#x5185;&#x90e8;&#x7f16;&#x7801;</leftvalue>
  388 + <function>IS NOT NULL</function>
  389 + <rightvalue/>
  390 + </condition>
  391 + </conditions>
  392 + </condition>
  393 + </compare>
  394 + <cluster_schema/>
  395 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  396 + <xloc>218</xloc>
  397 + <yloc>164</yloc>
  398 + <draw>Y</draw>
  399 + </GUI>
  400 + </step>
  401 +
  402 + <step>
  403 + <name>&#x5206;&#x516c;&#x53f8;&#x4ee3;&#x7801;&#x4e0d;&#x4e3a;&#x7a7a;</name>
  404 + <type>FilterRows</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 +<send_true_to/>
  414 +<send_false_to/>
  415 + <compare>
  416 +<condition>
  417 + <negated>N</negated>
  418 + <conditions>
  419 + <condition>
  420 + <negated>N</negated>
  421 + <leftvalue>fgs_code</leftvalue>
  422 + <function>IS NOT NULL</function>
  423 + <rightvalue/>
  424 + </condition>
  425 + </conditions>
  426 + </condition>
  427 + </compare>
  428 + <cluster_schema/>
  429 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  430 + <xloc>685</xloc>
  431 + <yloc>162</yloc>
  432 + <draw>Y</draw>
  433 + </GUI>
  434 + </step>
  435 +
  436 + <step>
  437 + <name>&#x5206;&#x516c;&#x53f8;&#x67e5;&#x8be2;</name>
  438 + <type>DBLookup</type>
  439 + <description/>
  440 + <distribute>Y</distribute>
  441 + <custom_distribution/>
  442 + <copies>1</copies>
  443 + <partitioning>
  444 + <method>none</method>
  445 + <schema_name/>
  446 + </partitioning>
  447 + <connection>bus_control_variable</connection>
  448 + <cache>N</cache>
  449 + <cache_load_all>N</cache_load_all>
  450 + <cache_size>0</cache_size>
  451 + <lookup>
  452 + <schema/>
  453 + <table>bsth_c_business</table>
  454 + <orderby/>
  455 + <fail_on_multiple>N</fail_on_multiple>
  456 + <eat_row_on_failure>N</eat_row_on_failure>
  457 + <key>
  458 + <name>gs_code</name>
  459 + <field>up_code</field>
  460 + <condition>&#x3d;</condition>
  461 + <name2/>
  462 + </key>
  463 + <key>
  464 + <name>&#x6240;&#x5c5e;&#x5206;&#x516c;&#x53f8;</name>
  465 + <field>business_name</field>
  466 + <condition>&#x3d;</condition>
  467 + <name2/>
  468 + </key>
  469 + <value>
  470 + <name>business_code</name>
  471 + <rename>fgs_code</rename>
  472 + <default/>
  473 + <type>String</type>
  474 + </value>
  475 + </lookup>
  476 + <cluster_schema/>
  477 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  478 + <xloc>683</xloc>
  479 + <yloc>59</yloc>
  480 + <draw>Y</draw>
  481 + </GUI>
  482 + </step>
  483 +
  484 + <step>
  485 + <name>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</name>
  486 + <type>ExcelInput</type>
  487 + <description/>
  488 + <distribute>Y</distribute>
  489 + <custom_distribution/>
  490 + <copies>1</copies>
  491 + <partitioning>
  492 + <method>none</method>
  493 + <schema_name/>
  494 + </partitioning>
  495 + <header>Y</header>
  496 + <noempty>Y</noempty>
  497 + <stoponempty>N</stoponempty>
  498 + <filefield/>
  499 + <sheetfield/>
  500 + <sheetrownumfield/>
  501 + <rownumfield/>
  502 + <sheetfield/>
  503 + <filefield/>
  504 + <limit>0</limit>
  505 + <encoding/>
  506 + <add_to_result_filenames>Y</add_to_result_filenames>
  507 + <accept_filenames>Y</accept_filenames>
  508 + <accept_field>filepath_</accept_field>
  509 + <accept_stepname>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</accept_stepname>
  510 + <file>
  511 + <name/>
  512 + <filemask/>
  513 + <exclude_filemask/>
  514 + <file_required>N</file_required>
  515 + <include_subfolders>N</include_subfolders>
  516 + </file>
  517 + <fields>
  518 + <field>
  519 + <name>&#x8f66;&#x724c;&#x53f7;</name>
  520 + <type>String</type>
  521 + <length>-1</length>
  522 + <precision>-1</precision>
  523 + <trim_type>none</trim_type>
  524 + <repeat>N</repeat>
  525 + <format/>
  526 + <currency/>
  527 + <decimal/>
  528 + <group/>
  529 + </field>
  530 + <field>
  531 + <name>&#x5185;&#x90e8;&#x7f16;&#x7801;</name>
  532 + <type>String</type>
  533 + <length>-1</length>
  534 + <precision>-1</precision>
  535 + <trim_type>none</trim_type>
  536 + <repeat>N</repeat>
  537 + <format/>
  538 + <currency/>
  539 + <decimal/>
  540 + <group/>
  541 + </field>
  542 + <field>
  543 + <name>&#x6240;&#x5c5e;&#x516c;&#x53f8;</name>
  544 + <type>String</type>
  545 + <length>-1</length>
  546 + <precision>-1</precision>
  547 + <trim_type>none</trim_type>
  548 + <repeat>N</repeat>
  549 + <format/>
  550 + <currency/>
  551 + <decimal/>
  552 + <group/>
  553 + </field>
  554 + <field>
  555 + <name>&#x6240;&#x5c5e;&#x5206;&#x516c;&#x53f8;</name>
  556 + <type>String</type>
  557 + <length>-1</length>
  558 + <precision>-1</precision>
  559 + <trim_type>none</trim_type>
  560 + <repeat>N</repeat>
  561 + <format/>
  562 + <currency/>
  563 + <decimal/>
  564 + <group/>
  565 + </field>
  566 + <field>
  567 + <name>&#x8bbe;&#x5907;&#x4f9b;&#x5e94;&#x5382;&#x5546;</name>
  568 + <type>String</type>
  569 + <length>-1</length>
  570 + <precision>-1</precision>
  571 + <trim_type>none</trim_type>
  572 + <repeat>N</repeat>
  573 + <format/>
  574 + <currency/>
  575 + <decimal/>
  576 + <group/>
  577 + </field>
  578 + <field>
  579 + <name>&#x8bbe;&#x5907;&#x7ec8;&#x7aef;&#x53f7;</name>
  580 + <type>String</type>
  581 + <length>-1</length>
  582 + <precision>-1</precision>
  583 + <trim_type>none</trim_type>
  584 + <repeat>N</repeat>
  585 + <format/>
  586 + <currency/>
  587 + <decimal/>
  588 + <group/>
  589 + </field>
  590 + <field>
  591 + <name>&#x662f;&#x5426;&#x7535;&#x8f66;</name>
  592 + <type>String</type>
  593 + <length>-1</length>
  594 + <precision>-1</precision>
  595 + <trim_type>none</trim_type>
  596 + <repeat>N</repeat>
  597 + <format/>
  598 + <currency/>
  599 + <decimal/>
  600 + <group/>
  601 + </field>
  602 + </fields>
  603 + <sheets>
  604 + <sheet>
  605 + <name>&#x5de5;&#x4f5c;&#x8868;1</name>
  606 + <startrow>0</startrow>
  607 + <startcol>0</startcol>
  608 + </sheet>
  609 + </sheets>
  610 + <strict_types>N</strict_types>
  611 + <error_ignored>N</error_ignored>
  612 + <error_line_skipped>N</error_line_skipped>
  613 + <bad_line_files_destination_directory/>
  614 + <bad_line_files_extension>warning</bad_line_files_extension>
  615 + <error_line_files_destination_directory/>
  616 + <error_line_files_extension>error</error_line_files_extension>
  617 + <line_number_files_destination_directory/>
  618 + <line_number_files_extension>line</line_number_files_extension>
  619 + <shortFileFieldName/>
  620 + <pathFieldName/>
  621 + <hiddenFieldName/>
  622 + <lastModificationTimeFieldName/>
  623 + <uriNameFieldName/>
  624 + <rootUriNameFieldName/>
  625 + <extensionFieldName/>
  626 + <sizeFieldName/>
  627 + <spreadsheet_type>JXL</spreadsheet_type>
  628 + <cluster_schema/>
  629 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  630 + <xloc>218</xloc>
  631 + <yloc>59</yloc>
  632 + <draw>Y</draw>
  633 + </GUI>
  634 + </step>
  635 +
  636 + <step>
  637 + <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_cars 2</name>
  638 + <type>InsertUpdate</type>
  639 + <description/>
  640 + <distribute>Y</distribute>
  641 + <custom_distribution/>
  642 + <copies>1</copies>
  643 + <partitioning>
  644 + <method>none</method>
  645 + <schema_name/>
  646 + </partitioning>
  647 + <connection>bus_control_variable</connection>
  648 + <commit>500</commit>
  649 + <update_bypassed>N</update_bypassed>
  650 + <lookup>
  651 + <schema/>
  652 + <table>bsth_c_cars</table>
  653 + <key>
  654 + <name>&#x5185;&#x90e8;&#x7f16;&#x7801;</name>
  655 + <field>inside_code</field>
  656 + <condition>&#x3d;</condition>
  657 + <name2/>
  658 + </key>
  659 + <value>
  660 + <name>car_plate</name>
  661 + <rename>&#x8f66;&#x724c;&#x53f7;</rename>
  662 + <update>Y</update>
  663 + </value>
  664 + <value>
  665 + <name>car_code</name>
  666 + <rename>cl_code</rename>
  667 + <update>Y</update>
  668 + </value>
  669 + <value>
  670 + <name>inside_code</name>
  671 + <rename>&#x5185;&#x90e8;&#x7f16;&#x7801;</rename>
  672 + <update>Y</update>
  673 + </value>
  674 + <value>
  675 + <name>company</name>
  676 + <rename>&#x6240;&#x5c5e;&#x516c;&#x53f8;</rename>
  677 + <update>Y</update>
  678 + </value>
  679 + <value>
  680 + <name>business_code</name>
  681 + <rename>gs_code</rename>
  682 + <update>Y</update>
  683 + </value>
  684 + <value>
  685 + <name>branche_company</name>
  686 + <rename>&#x6240;&#x5c5e;&#x5206;&#x516c;&#x53f8;</rename>
  687 + <update>Y</update>
  688 + </value>
  689 + <value>
  690 + <name>branche_company_code</name>
  691 + <rename>fgs_code</rename>
  692 + <update>Y</update>
  693 + </value>
  694 + <value>
  695 + <name>supplier_name</name>
  696 + <rename>&#x8bbe;&#x5907;&#x4f9b;&#x5e94;&#x5382;&#x5546;</rename>
  697 + <update>Y</update>
  698 + </value>
  699 + <value>
  700 + <name>equipment_code</name>
  701 + <rename>&#x8bbe;&#x5907;&#x7ec8;&#x7aef;&#x53f7;</rename>
  702 + <update>Y</update>
  703 + </value>
  704 + <value>
  705 + <name>sfdc</name>
  706 + <rename>sfdc_cal</rename>
  707 + <update>Y</update>
  708 + </value>
  709 + </lookup>
  710 + <cluster_schema/>
  711 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  712 + <xloc>561</xloc>
  713 + <yloc>359</yloc>
  714 + <draw>Y</draw>
  715 + </GUI>
  716 + </step>
  717 +
  718 + <step>
  719 + <name>&#x6dfb;&#x52a0;&#x67e5;&#x8be2;&#x5e38;&#x91cf;</name>
  720 + <type>ScriptValueMod</type>
  721 + <description/>
  722 + <distribute>Y</distribute>
  723 + <custom_distribution/>
  724 + <copies>1</copies>
  725 + <partitioning>
  726 + <method>none</method>
  727 + <schema_name/>
  728 + </partitioning>
  729 + <compatible>N</compatible>
  730 + <optimizationLevel>9</optimizationLevel>
  731 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  732 + <jsScript_name>Script 1</jsScript_name>
  733 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var up_code &#x3d; &#x27;88&#x27;&#x3b;</jsScript_script>
  734 + </jsScript> </jsScripts> <fields> <field> <name>up_code</name>
  735 + <rename>up_code</rename>
  736 + <type>String</type>
  737 + <length>-1</length>
  738 + <precision>-1</precision>
  739 + <replace>N</replace>
  740 + </field> </fields> <cluster_schema/>
  741 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  742 + <xloc>389</xloc>
  743 + <yloc>61</yloc>
  744 + <draw>Y</draw>
  745 + </GUI>
  746 + </step>
  747 +
  748 + <step>
  749 + <name>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</name>
  750 + <type>GetVariable</type>
  751 + <description/>
  752 + <distribute>Y</distribute>
  753 + <custom_distribution/>
  754 + <copies>1</copies>
  755 + <partitioning>
  756 + <method>none</method>
  757 + <schema_name/>
  758 + </partitioning>
  759 + <fields>
  760 + <field>
  761 + <name>filepath_</name>
  762 + <variable>&#x24;&#x7b;filepath&#x7d;</variable>
  763 + <type>String</type>
  764 + <format/>
  765 + <currency/>
  766 + <decimal/>
  767 + <group/>
  768 + <length>-1</length>
  769 + <precision>-1</precision>
  770 + <trim_type>none</trim_type>
  771 + </field>
  772 + <field>
  773 + <name>erroroutputdir_</name>
  774 + <variable>&#x24;&#x7b;erroroutputdir&#x7d;</variable>
  775 + <type>String</type>
  776 + <format/>
  777 + <currency/>
  778 + <decimal/>
  779 + <group/>
  780 + <length>-1</length>
  781 + <precision>-1</precision>
  782 + <trim_type>none</trim_type>
  783 + </field>
  784 + </fields>
  785 + <cluster_schema/>
  786 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  787 + <xloc>70</xloc>
  788 + <yloc>59</yloc>
  789 + <draw>Y</draw>
  790 + </GUI>
  791 + </step>
  792 +
  793 + <step>
  794 + <name>&#x8f66;&#x8f86;&#x7f16;&#x7801;</name>
  795 + <type>ScriptValueMod</type>
  796 + <description/>
  797 + <distribute>Y</distribute>
  798 + <custom_distribution/>
  799 + <copies>1</copies>
  800 + <partitioning>
  801 + <method>none</method>
  802 + <schema_name/>
  803 + </partitioning>
  804 + <compatible>N</compatible>
  805 + <optimizationLevel>9</optimizationLevel>
  806 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  807 + <jsScript_name>Script 1</jsScript_name>
  808 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var cl_code &#x3d; gs_code &#x2b; &#x22;0&#x22; &#x2b; &#x5185;&#x90e8;&#x7f16;&#x7801;&#x3b;</jsScript_script>
  809 + </jsScript> </jsScripts> <fields> <field> <name>cl_code</name>
  810 + <rename>cl_code</rename>
  811 + <type>String</type>
  812 + <length>-1</length>
  813 + <precision>-1</precision>
  814 + <replace>N</replace>
  815 + </field> </fields> <cluster_schema/>
  816 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  817 + <xloc>688</xloc>
  818 + <yloc>273</yloc>
  819 + <draw>Y</draw>
  820 + </GUI>
  821 + </step>
  822 +
  823 + <step>
  824 + <name>&#x9519;&#x8bef;&#x8f93;&#x51fa; 2</name>
  825 + <type>ExcelOutput</type>
  826 + <description/>
  827 + <distribute>Y</distribute>
  828 + <custom_distribution/>
  829 + <copies>1</copies>
  830 + <partitioning>
  831 + <method>none</method>
  832 + <schema_name/>
  833 + </partitioning>
  834 + <header>Y</header>
  835 + <footer>N</footer>
  836 + <encoding/>
  837 + <append>N</append>
  838 + <add_to_result_filenames>Y</add_to_result_filenames>
  839 + <file>
  840 + <name>&#x24;&#x7b;erroroutputdir&#x7d;&#x2f;&#x8f66;&#x8f86;&#x57fa;&#x7840;&#x4fe1;&#x606f;_&#x9519;&#x8bef;</name>
  841 + <extention>xls</extention>
  842 + <do_not_open_newfile_init>N</do_not_open_newfile_init>
  843 + <create_parent_folder>N</create_parent_folder>
  844 + <split>N</split>
  845 + <add_date>N</add_date>
  846 + <add_time>N</add_time>
  847 + <SpecifyFormat>N</SpecifyFormat>
  848 + <date_time_format/>
  849 + <sheetname>Sheet1</sheetname>
  850 + <autosizecolums>N</autosizecolums>
  851 + <nullisblank>N</nullisblank>
  852 + <protect_sheet>N</protect_sheet>
  853 + <password>Encrypted </password>
  854 + <splitevery>0</splitevery>
  855 + <usetempfiles>N</usetempfiles>
  856 + <tempdirectory/>
  857 + </file>
  858 + <template>
  859 + <enabled>N</enabled>
  860 + <append>N</append>
  861 + <filename>template.xls</filename>
  862 + </template>
  863 + <fields>
  864 + <field>
  865 + <name>&#x8f66;&#x724c;&#x53f7;</name>
  866 + <type>String</type>
  867 + <format/>
  868 + </field>
  869 + <field>
  870 + <name>&#x5185;&#x90e8;&#x7f16;&#x7801;</name>
  871 + <type>String</type>
  872 + <format/>
  873 + </field>
  874 + <field>
  875 + <name>&#x6240;&#x5c5e;&#x516c;&#x53f8;</name>
  876 + <type>String</type>
  877 + <format/>
  878 + </field>
  879 + <field>
  880 + <name>&#x6240;&#x5c5e;&#x5206;&#x516c;&#x53f8;</name>
  881 + <type>String</type>
  882 + <format/>
  883 + </field>
  884 + <field>
  885 + <name>&#x8bbe;&#x5907;&#x4f9b;&#x5e94;&#x5382;&#x5546;</name>
  886 + <type>String</type>
  887 + <format/>
  888 + </field>
  889 + <field>
  890 + <name>&#x8bbe;&#x5907;&#x7ec8;&#x7aef;&#x53f7;</name>
  891 + <type>String</type>
  892 + <format/>
  893 + </field>
  894 + <field>
  895 + <name>error_count</name>
  896 + <type>Integer</type>
  897 + <format/>
  898 + </field>
  899 + <field>
  900 + <name>error_desc</name>
  901 + <type>String</type>
  902 + <format/>
  903 + </field>
  904 + <field>
  905 + <name>error_column1</name>
  906 + <type>String</type>
  907 + <format/>
  908 + </field>
  909 + <field>
  910 + <name>error_column2</name>
  911 + <type>String</type>
  912 + <format/>
  913 + </field>
  914 + </fields>
  915 + <custom>
  916 + <header_font_name>arial</header_font_name>
  917 + <header_font_size>10</header_font_size>
  918 + <header_font_bold>N</header_font_bold>
  919 + <header_font_italic>N</header_font_italic>
  920 + <header_font_underline>no</header_font_underline>
  921 + <header_font_orientation>horizontal</header_font_orientation>
  922 + <header_font_color>black</header_font_color>
  923 + <header_background_color>none</header_background_color>
  924 + <header_row_height>255</header_row_height>
  925 + <header_alignment>left</header_alignment>
  926 + <header_image/>
  927 + <row_font_name>arial</row_font_name>
  928 + <row_font_size>10</row_font_size>
  929 + <row_font_color>black</row_font_color>
  930 + <row_background_color>none</row_background_color>
  931 + </custom>
  932 + <cluster_schema/>
  933 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  934 + <xloc>373</xloc>
  935 + <yloc>361</yloc>
  936 + <draw>Y</draw>
  937 + </GUI>
  938 + </step>
  939 +
  940 + <step>
  941 + <name>&#x662f;&#x5426;&#x7535;&#x8f66;</name>
  942 + <type>ScriptValueMod</type>
  943 + <description/>
  944 + <distribute>Y</distribute>
  945 + <custom_distribution/>
  946 + <copies>1</copies>
  947 + <partitioning>
  948 + <method>none</method>
  949 + <schema_name/>
  950 + </partitioning>
  951 + <compatible>N</compatible>
  952 + <optimizationLevel>9</optimizationLevel>
  953 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  954 + <jsScript_name>Script 1</jsScript_name>
  955 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var sfdc_cal &#x3d; 0&#x3b;&#xa;&#xa;if &#x28;&#x662f;&#x5426;&#x7535;&#x8f66; &#x3d;&#x3d; &#x22;&#x662f;&#x22;&#x29; &#x7b;&#xa; sfdc_cal &#x3d; 1&#x3b;&#xa;&#x7d;</jsScript_script>
  956 + </jsScript> </jsScripts> <fields> <field> <name>sfdc_cal</name>
  957 + <rename>sfdc_cal</rename>
  958 + <type>Integer</type>
  959 + <length>16</length>
  960 + <precision>2</precision>
  961 + <replace>N</replace>
  962 + </field> </fields> <cluster_schema/>
  963 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  964 + <xloc>888</xloc>
  965 + <yloc>273</yloc>
  966 + <draw>Y</draw>
  967 + </GUI>
  968 + </step>
  969 +
  970 + <step_error_handling>
  971 + <error>
  972 + <source_step>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_cars 2</source_step>
  973 + <target_step>&#x9519;&#x8bef;&#x8f93;&#x51fa; 2</target_step>
  974 + <is_enabled>Y</is_enabled>
  975 + <nr_valuename>error_count</nr_valuename>
  976 + <descriptions_valuename>error_desc</descriptions_valuename>
  977 + <fields_valuename>error_column1</fields_valuename>
  978 + <codes_valuename>error_column2</codes_valuename>
  979 + <max_errors/>
  980 + <max_pct_errors/>
  981 + <min_pct_rows/>
  982 + </error>
  983 + </step_error_handling>
  984 + <slave-step-copy-partition-distribution>
  985 +</slave-step-copy-partition-distribution>
  986 + <slave_transformation>N</slave_transformation>
  987 +
  988 +</transformation>
src/main/resources/datatools/ktrs/carsDataOutput.ktr
1 -<?xml version="1.0" encoding="UTF-8"?>  
2 -<transformation>  
3 - <info>  
4 - <name>&#x8f66;&#x8f86;&#x4fe1;&#x606f;&#x5bfc;&#x51fa;</name>  
5 - <description>&#x8f66;&#x8f86;&#x4fe1;&#x606f;&#x5bfc;&#x51fa;</description>  
6 - <extended_description>&#x8f66;&#x8f86;&#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>cgsbm_in</name>  
14 - <default_value/>  
15 - <description>&#x5206;&#x516c;&#x53f8;&#x7f16;&#x7801;</description>  
16 - </parameter>  
17 - <parameter>  
18 - <name>filepath</name>  
19 - <default_value/>  
20 - <description>excel&#x6587;&#x4ef6;&#x8def;&#x5f84;</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;08&#x2f;05 16&#x3a;42&#x3a;22.753</created_date>  
81 - <modified_user>-</modified_user>  
82 - <modified_date>2016&#x2f;08&#x2f;05 16&#x3a;42&#x3a;22.753</modified_date>  
83 - <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</key_for_session_key>  
84 - <is_key_private>N</is_key_private>  
85 - </info>  
86 - <notepads>  
87 - </notepads>  
88 - <connection>  
89 - <name>192.168.168.1_jwgl_dw</name>  
90 - <server>192.168.168.1</server>  
91 - <type>ORACLE</type>  
92 - <access>Native</access>  
93 - <database>orcl</database>  
94 - <port>1521</port>  
95 - <username>jwgl_dw</username>  
96 - <password>Encrypted 2be98afc86aa7f2e4cb13b977d2adabcd</password>  
97 - <servername/>  
98 - <data_tablespace/>  
99 - <index_tablespace/>  
100 - <attributes>  
101 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
102 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
103 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
104 - <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>  
105 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
106 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
107 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
108 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
109 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
110 - </attributes>  
111 - </connection>  
112 - <connection>  
113 - <name>bus_control_variable</name>  
114 - <server>&#x24;&#x7b;v_db_ip&#x7d;</server>  
115 - <type>MYSQL</type>  
116 - <access>Native</access>  
117 - <database>&#x24;&#x7b;v_db_dname&#x7d;</database>  
118 - <port>3306</port>  
119 - <username>&#x24;&#x7b;v_db_uname&#x7d;</username>  
120 - <password>&#x24;&#x7b;v_db_pwd&#x7d;</password>  
121 - <servername/>  
122 - <data_tablespace/>  
123 - <index_tablespace/>  
124 - <attributes>  
125 - <attribute><code>EXTRA_OPTION_MYSQL.characterEncoding</code><attribute>utf8</attribute></attribute>  
126 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
127 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
128 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
129 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
130 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
131 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
132 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
133 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
134 - <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>  
135 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
136 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
137 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
138 - </attributes>  
139 - </connection>  
140 - <connection>  
141 - <name>bus_control_&#x516c;&#x53f8;_201</name>  
142 - <server>localhost</server>  
143 - <type>MYSQL</type>  
144 - <access>Native</access>  
145 - <database>control</database>  
146 - <port>3306</port>  
147 - <username>root</username>  
148 - <password>Encrypted </password>  
149 - <servername/>  
150 - <data_tablespace/>  
151 - <index_tablespace/>  
152 - <attributes>  
153 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
154 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
155 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
156 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
157 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
158 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
159 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
160 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
161 - <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>  
162 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
163 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
164 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
165 - </attributes>  
166 - </connection>  
167 - <connection>  
168 - <name>bus_control_&#x672c;&#x673a;</name>  
169 - <server>localhost</server>  
170 - <type>MYSQL</type>  
171 - <access>Native</access>  
172 - <database>control</database>  
173 - <port>3306</port>  
174 - <username>root</username>  
175 - <password>Encrypted </password>  
176 - <servername/>  
177 - <data_tablespace/>  
178 - <index_tablespace/>  
179 - <attributes>  
180 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
181 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
182 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
183 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
184 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
185 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
186 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
187 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
188 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
189 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
190 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
191 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
192 - </attributes>  
193 - </connection>  
194 - <connection>  
195 - <name>xlab_mysql_youle</name>  
196 - <server>101.231.124.8</server>  
197 - <type>MYSQL</type>  
198 - <access>Native</access>  
199 - <database>xlab_youle</database>  
200 - <port>45687</port>  
201 - <username>xlab-youle</username>  
202 - <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password>  
203 - <servername/>  
204 - <data_tablespace/>  
205 - <index_tablespace/>  
206 - <attributes>  
207 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
208 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
209 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
210 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
211 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
212 - <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute>  
213 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
214 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
215 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
216 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>  
217 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>  
218 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
219 - </attributes>  
220 - </connection>  
221 - <connection>  
222 - <name>xlab_mysql_youle&#xff08;&#x672c;&#x673a;&#xff09;</name>  
223 - <server>localhost</server>  
224 - <type>MYSQL</type>  
225 - <access>Native</access>  
226 - <database>xlab_youle</database>  
227 - <port>3306</port>  
228 - <username>root</username>  
229 - <password>Encrypted </password>  
230 - <servername/>  
231 - <data_tablespace/>  
232 - <index_tablespace/>  
233 - <attributes>  
234 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
235 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
236 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
237 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
238 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
239 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
240 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
241 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
242 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
243 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>  
244 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>  
245 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
246 - </attributes>  
247 - </connection>  
248 - <connection>  
249 - <name>xlab_youle</name>  
250 - <server/>  
251 - <type>MYSQL</type>  
252 - <access>JNDI</access>  
253 - <database>xlab_youle</database>  
254 - <port>1521</port>  
255 - <username/>  
256 - <password>Encrypted </password>  
257 - <servername/>  
258 - <data_tablespace/>  
259 - <index_tablespace/>  
260 - <attributes>  
261 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
262 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
263 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
264 - <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>  
265 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
266 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
267 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
268 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
269 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
270 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
271 - </attributes>  
272 - </connection>  
273 - <order>  
274 - <hop> <from>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</from><to>Excel&#x8f93;&#x51fa;</to><enabled>Y</enabled> </hop>  
275 - <hop> <from>&#x8f66;&#x8f86;&#x4fe1;&#x606f;&#x8868;&#x8f93;&#x5165;</from><to>&#x6dfb;&#x52a0;&#x67e5;&#x8be2;&#x5e38;&#x91cf;</to><enabled>Y</enabled> </hop>  
276 - <hop> <from>&#x6dfb;&#x52a0;&#x67e5;&#x8be2;&#x5e38;&#x91cf;</from><to>&#x516c;&#x53f8;&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>  
277 - <hop> <from>&#x516c;&#x53f8;&#x67e5;&#x8be2;</from><to>&#x5206;&#x516c;&#x53f8;&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>  
278 - <hop> <from>&#x5206;&#x516c;&#x53f8;&#x67e5;&#x8be2;</from><to>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</to><enabled>Y</enabled> </hop>  
279 - </order>  
280 - <step>  
281 - <name>Excel&#x8f93;&#x51fa;</name>  
282 - <type>ExcelOutput</type>  
283 - <description/>  
284 - <distribute>Y</distribute>  
285 - <custom_distribution/>  
286 - <copies>1</copies>  
287 - <partitioning>  
288 - <method>none</method>  
289 - <schema_name/>  
290 - </partitioning>  
291 - <header>Y</header>  
292 - <footer>N</footer>  
293 - <encoding/>  
294 - <append>N</append>  
295 - <add_to_result_filenames>Y</add_to_result_filenames>  
296 - <file>  
297 - <name>&#x24;&#x7b;filepath&#x7d;</name>  
298 - <extention>xls</extention>  
299 - <do_not_open_newfile_init>N</do_not_open_newfile_init>  
300 - <create_parent_folder>N</create_parent_folder>  
301 - <split>N</split>  
302 - <add_date>N</add_date>  
303 - <add_time>N</add_time>  
304 - <SpecifyFormat>N</SpecifyFormat>  
305 - <date_time_format>yyyyMMddHHmmss</date_time_format>  
306 - <sheetname>&#x5de5;&#x4f5c;&#x8868;1</sheetname>  
307 - <autosizecolums>N</autosizecolums>  
308 - <nullisblank>N</nullisblank>  
309 - <protect_sheet>N</protect_sheet>  
310 - <password>Encrypted </password>  
311 - <splitevery>0</splitevery>  
312 - <usetempfiles>N</usetempfiles>  
313 - <tempdirectory/>  
314 - </file>  
315 - <template>  
316 - <enabled>N</enabled>  
317 - <append>N</append>  
318 - <filename>template.xls</filename>  
319 - </template>  
320 - <fields>  
321 - <field>  
322 - <name>&#x8f66;&#x724c;&#x53f7;</name>  
323 - <type>String</type>  
324 - <format/>  
325 - </field>  
326 - <field>  
327 - <name>&#x5185;&#x90e8;&#x7f16;&#x7801;</name>  
328 - <type>String</type>  
329 - <format/>  
330 - </field>  
331 - <field>  
332 - <name>&#x6240;&#x5c5e;&#x516c;&#x53f8;</name>  
333 - <type>String</type>  
334 - <format/>  
335 - </field>  
336 - <field>  
337 - <name>&#x6240;&#x5c5e;&#x5206;&#x516c;&#x53f8;</name>  
338 - <type>String</type>  
339 - <format/>  
340 - </field>  
341 - <field>  
342 - <name>&#x8bbe;&#x5907;&#x4f9b;&#x5e94;&#x5382;&#x5546;</name>  
343 - <type>String</type>  
344 - <format/>  
345 - </field>  
346 - <field>  
347 - <name>&#x8bbe;&#x5907;&#x7ec8;&#x7aef;&#x53f7;</name>  
348 - <type>String</type>  
349 - <format/>  
350 - </field>  
351 - </fields>  
352 - <custom>  
353 - <header_font_name>arial</header_font_name>  
354 - <header_font_size>10</header_font_size>  
355 - <header_font_bold>N</header_font_bold>  
356 - <header_font_italic>N</header_font_italic>  
357 - <header_font_underline>no</header_font_underline>  
358 - <header_font_orientation>horizontal</header_font_orientation>  
359 - <header_font_color>black</header_font_color>  
360 - <header_background_color>none</header_background_color>  
361 - <header_row_height>255</header_row_height>  
362 - <header_alignment>left</header_alignment>  
363 - <header_image/>  
364 - <row_font_name>arial</row_font_name>  
365 - <row_font_size>10</row_font_size>  
366 - <row_font_color>black</row_font_color>  
367 - <row_background_color>none</row_background_color>  
368 - </custom>  
369 - <cluster_schema/>  
370 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
371 - <xloc>514</xloc>  
372 - <yloc>293</yloc>  
373 - <draw>Y</draw>  
374 - </GUI>  
375 - </step>  
376 -  
377 - <step>  
378 - <name>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</name>  
379 - <type>SelectValues</type>  
380 - <description/>  
381 - <distribute>Y</distribute>  
382 - <custom_distribution/>  
383 - <copies>1</copies>  
384 - <partitioning>  
385 - <method>none</method>  
386 - <schema_name/>  
387 - </partitioning>  
388 - <fields> <field> <name>car_plate</name>  
389 - <rename>&#x8f66;&#x724c;&#x53f7;</rename>  
390 - <length>-2</length>  
391 - <precision>-2</precision>  
392 - </field> <field> <name>inside_code</name>  
393 - <rename>&#x5185;&#x90e8;&#x7f16;&#x7801;</rename>  
394 - <length>-2</length>  
395 - <precision>-2</precision>  
396 - </field> <field> <name>gs</name>  
397 - <rename>&#x6240;&#x5c5e;&#x516c;&#x53f8;</rename>  
398 - <length>-2</length>  
399 - <precision>-2</precision>  
400 - </field> <field> <name>fgs</name>  
401 - <rename>&#x6240;&#x5c5e;&#x5206;&#x516c;&#x53f8;</rename>  
402 - <length>-2</length>  
403 - <precision>-2</precision>  
404 - </field> <field> <name>supplier_name</name>  
405 - <rename>&#x8bbe;&#x5907;&#x4f9b;&#x5e94;&#x5382;&#x5546;</rename>  
406 - <length>-2</length>  
407 - <precision>-2</precision>  
408 - </field> <field> <name>equipment_code</name>  
409 - <rename>&#x8bbe;&#x5907;&#x7ec8;&#x7aef;&#x53f7;</rename>  
410 - <length>-2</length>  
411 - <precision>-2</precision>  
412 - </field> <select_unspecified>N</select_unspecified>  
413 - </fields> <cluster_schema/>  
414 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
415 - <xloc>512</xloc>  
416 - <yloc>181</yloc>  
417 - <draw>Y</draw>  
418 - </GUI>  
419 - </step>  
420 -  
421 - <step>  
422 - <name>&#x8f66;&#x8f86;&#x4fe1;&#x606f;&#x8868;&#x8f93;&#x5165;</name>  
423 - <type>TableInput</type>  
424 - <description/>  
425 - <distribute>Y</distribute>  
426 - <custom_distribution/>  
427 - <copies>1</copies>  
428 - <partitioning>  
429 - <method>none</method>  
430 - <schema_name/>  
431 - </partitioning>  
432 - <connection>bus_control_variable</connection>  
433 - <sql>SELECT &#x2a; FROM bsth_c_cars&#xa;where concat&#x28;business_code, &#x27;_&#x27;, branche_company_code&#x29; in &#x28;&#x24;&#x7b;cgsbm_in&#x7d;&#x29;</sql>  
434 - <limit>0</limit>  
435 - <lookup/>  
436 - <execute_each_row>N</execute_each_row>  
437 - <variables_active>Y</variables_active>  
438 - <lazy_conversion_active>N</lazy_conversion_active>  
439 - <cluster_schema/>  
440 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
441 - <xloc>105</xloc>  
442 - <yloc>67</yloc>  
443 - <draw>Y</draw>  
444 - </GUI>  
445 - </step>  
446 -  
447 - <step>  
448 - <name>&#x6dfb;&#x52a0;&#x67e5;&#x8be2;&#x5e38;&#x91cf;</name>  
449 - <type>ScriptValueMod</type>  
450 - <description/>  
451 - <distribute>Y</distribute>  
452 - <custom_distribution/>  
453 - <copies>1</copies>  
454 - <partitioning>  
455 - <method>none</method>  
456 - <schema_name/>  
457 - </partitioning>  
458 - <compatible>N</compatible>  
459 - <optimizationLevel>9</optimizationLevel>  
460 - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>  
461 - <jsScript_name>Script 1</jsScript_name>  
462 - <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var up_code &#x3d; &#x27;88&#x27;&#x3b;</jsScript_script>  
463 - </jsScript> </jsScripts> <fields> <field> <name>up_code</name>  
464 - <rename>up_code</rename>  
465 - <type>String</type>  
466 - <length>-1</length>  
467 - <precision>-1</precision>  
468 - <replace>N</replace>  
469 - </field> </fields> <cluster_schema/>  
470 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
471 - <xloc>244</xloc>  
472 - <yloc>67</yloc>  
473 - <draw>Y</draw>  
474 - </GUI>  
475 - </step>  
476 -  
477 - <step>  
478 - <name>&#x516c;&#x53f8;&#x67e5;&#x8be2;</name>  
479 - <type>DBLookup</type>  
480 - <description/>  
481 - <distribute>Y</distribute>  
482 - <custom_distribution/>  
483 - <copies>1</copies>  
484 - <partitioning>  
485 - <method>none</method>  
486 - <schema_name/>  
487 - </partitioning>  
488 - <connection>bus_control_variable</connection>  
489 - <cache>N</cache>  
490 - <cache_load_all>N</cache_load_all>  
491 - <cache_size>0</cache_size>  
492 - <lookup>  
493 - <schema/>  
494 - <table>bsth_c_business</table>  
495 - <orderby/>  
496 - <fail_on_multiple>N</fail_on_multiple>  
497 - <eat_row_on_failure>N</eat_row_on_failure>  
498 - <key>  
499 - <name>up_code</name>  
500 - <field>up_code</field>  
501 - <condition>&#x3d;</condition>  
502 - <name2/>  
503 - </key>  
504 - <key>  
505 - <name>business_code</name>  
506 - <field>business_code</field>  
507 - <condition>&#x3d;</condition>  
508 - <name2/>  
509 - </key>  
510 - <value>  
511 - <name>business_name</name>  
512 - <rename>gs</rename>  
513 - <default/>  
514 - <type>String</type>  
515 - </value>  
516 - </lookup>  
517 - <cluster_schema/>  
518 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
519 - <xloc>381</xloc>  
520 - <yloc>68</yloc>  
521 - <draw>Y</draw>  
522 - </GUI>  
523 - </step>  
524 -  
525 - <step>  
526 - <name>&#x5206;&#x516c;&#x53f8;&#x67e5;&#x8be2;</name>  
527 - <type>DBLookup</type>  
528 - <description/>  
529 - <distribute>Y</distribute>  
530 - <custom_distribution/>  
531 - <copies>1</copies>  
532 - <partitioning>  
533 - <method>none</method>  
534 - <schema_name/>  
535 - </partitioning>  
536 - <connection>bus_control_variable</connection>  
537 - <cache>N</cache>  
538 - <cache_load_all>N</cache_load_all>  
539 - <cache_size>0</cache_size>  
540 - <lookup>  
541 - <schema/>  
542 - <table>bsth_c_business</table>  
543 - <orderby/>  
544 - <fail_on_multiple>N</fail_on_multiple>  
545 - <eat_row_on_failure>N</eat_row_on_failure>  
546 - <key>  
547 - <name>business_code</name>  
548 - <field>up_code</field>  
549 - <condition>&#x3d;</condition>  
550 - <name2/>  
551 - </key>  
552 - <key>  
553 - <name>branche_company_code</name>  
554 - <field>business_code</field>  
555 - <condition>&#x3d;</condition>  
556 - <name2/>  
557 - </key>  
558 - <value>  
559 - <name>business_name</name>  
560 - <rename>fgs</rename>  
561 - <default/>  
562 - <type>String</type>  
563 - </value>  
564 - </lookup>  
565 - <cluster_schema/>  
566 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
567 - <xloc>508</xloc>  
568 - <yloc>68</yloc>  
569 - <draw>Y</draw>  
570 - </GUI>  
571 - </step>  
572 -  
573 - <step_error_handling>  
574 - </step_error_handling>  
575 - <slave-step-copy-partition-distribution>  
576 -</slave-step-copy-partition-distribution>  
577 - <slave_transformation>N</slave_transformation>  
578 -  
579 -</transformation> 1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<transformation>
  3 + <info>
  4 + <name>&#x8f66;&#x8f86;&#x4fe1;&#x606f;&#x5bfc;&#x51fa;</name>
  5 + <description>&#x8f66;&#x8f86;&#x4fe1;&#x606f;&#x5bfc;&#x51fa;</description>
  6 + <extended_description>&#x8f66;&#x8f86;&#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>cgsbm_in</name>
  14 + <default_value/>
  15 + <description>&#x5206;&#x516c;&#x53f8;&#x7f16;&#x7801;</description>
  16 + </parameter>
  17 + <parameter>
  18 + <name>filepath</name>
  19 + <default_value/>
  20 + <description>excel&#x6587;&#x4ef6;&#x8def;&#x5f84;</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;08&#x2f;05 16&#x3a;42&#x3a;22.753</created_date>
  81 + <modified_user>-</modified_user>
  82 + <modified_date>2016&#x2f;08&#x2f;05 16&#x3a;42&#x3a;22.753</modified_date>
  83 + <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</key_for_session_key>
  84 + <is_key_private>N</is_key_private>
  85 + </info>
  86 + <notepads>
  87 + </notepads>
  88 + <connection>
  89 + <name>192.168.168.1_jwgl_dw</name>
  90 + <server>192.168.168.1</server>
  91 + <type>ORACLE</type>
  92 + <access>Native</access>
  93 + <database>orcl</database>
  94 + <port>1521</port>
  95 + <username>jwgl_dw</username>
  96 + <password>Encrypted 2be98afc86aa7f2e4cb13b977d2adabcd</password>
  97 + <servername/>
  98 + <data_tablespace/>
  99 + <index_tablespace/>
  100 + <attributes>
  101 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  102 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  103 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  104 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  105 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  106 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  107 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  108 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  109 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  110 + </attributes>
  111 + </connection>
  112 + <connection>
  113 + <name>bus_control_variable</name>
  114 + <server>&#x24;&#x7b;v_db_ip&#x7d;</server>
  115 + <type>MYSQL</type>
  116 + <access>Native</access>
  117 + <database>&#x24;&#x7b;v_db_dname&#x7d;</database>
  118 + <port>3306</port>
  119 + <username>&#x24;&#x7b;v_db_uname&#x7d;</username>
  120 + <password>&#x24;&#x7b;v_db_pwd&#x7d;</password>
  121 + <servername/>
  122 + <data_tablespace/>
  123 + <index_tablespace/>
  124 + <attributes>
  125 + <attribute><code>EXTRA_OPTION_MYSQL.characterEncoding</code><attribute>utf8</attribute></attribute>
  126 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  127 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  128 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  129 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  130 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  131 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  132 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  133 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  134 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  135 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  136 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  137 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  138 + </attributes>
  139 + </connection>
  140 + <connection>
  141 + <name>bus_control_&#x516c;&#x53f8;_201</name>
  142 + <server>localhost</server>
  143 + <type>MYSQL</type>
  144 + <access>Native</access>
  145 + <database>control</database>
  146 + <port>3306</port>
  147 + <username>root</username>
  148 + <password>Encrypted </password>
  149 + <servername/>
  150 + <data_tablespace/>
  151 + <index_tablespace/>
  152 + <attributes>
  153 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  154 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  155 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  156 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  157 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  158 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  159 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  160 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  161 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  162 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  163 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  164 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  165 + </attributes>
  166 + </connection>
  167 + <connection>
  168 + <name>bus_control_&#x672c;&#x673a;</name>
  169 + <server>localhost</server>
  170 + <type>MYSQL</type>
  171 + <access>Native</access>
  172 + <database>control</database>
  173 + <port>3306</port>
  174 + <username>root</username>
  175 + <password>Encrypted </password>
  176 + <servername/>
  177 + <data_tablespace/>
  178 + <index_tablespace/>
  179 + <attributes>
  180 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  181 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  182 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  183 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  184 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  185 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  186 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  187 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  188 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  189 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  190 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  191 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  192 + </attributes>
  193 + </connection>
  194 + <connection>
  195 + <name>xlab_mysql_youle</name>
  196 + <server>101.231.124.8</server>
  197 + <type>MYSQL</type>
  198 + <access>Native</access>
  199 + <database>xlab_youle</database>
  200 + <port>45687</port>
  201 + <username>xlab-youle</username>
  202 + <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password>
  203 + <servername/>
  204 + <data_tablespace/>
  205 + <index_tablespace/>
  206 + <attributes>
  207 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  208 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  209 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  210 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  211 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  212 + <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute>
  213 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  214 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  215 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  216 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  217 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  218 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  219 + </attributes>
  220 + </connection>
  221 + <connection>
  222 + <name>xlab_mysql_youle&#xff08;&#x672c;&#x673a;&#xff09;</name>
  223 + <server>localhost</server>
  224 + <type>MYSQL</type>
  225 + <access>Native</access>
  226 + <database>xlab_youle</database>
  227 + <port>3306</port>
  228 + <username>root</username>
  229 + <password>Encrypted </password>
  230 + <servername/>
  231 + <data_tablespace/>
  232 + <index_tablespace/>
  233 + <attributes>
  234 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  235 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  236 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  237 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  238 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  239 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  240 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  241 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  242 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  243 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  244 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  245 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  246 + </attributes>
  247 + </connection>
  248 + <connection>
  249 + <name>xlab_youle</name>
  250 + <server/>
  251 + <type>MYSQL</type>
  252 + <access>JNDI</access>
  253 + <database>xlab_youle</database>
  254 + <port>1521</port>
  255 + <username/>
  256 + <password>Encrypted </password>
  257 + <servername/>
  258 + <data_tablespace/>
  259 + <index_tablespace/>
  260 + <attributes>
  261 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  262 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  263 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  264 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  265 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  266 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  267 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  268 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  269 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  270 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  271 + </attributes>
  272 + </connection>
  273 + <order>
  274 + <hop> <from>&#x516c;&#x53f8;&#x67e5;&#x8be2;</from><to>&#x5206;&#x516c;&#x53f8;&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>
  275 + <hop> <from>&#x5206;&#x516c;&#x53f8;&#x67e5;&#x8be2;</from><to>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</to><enabled>Y</enabled> </hop>
  276 + <hop> <from>&#x6dfb;&#x52a0;&#x67e5;&#x8be2;&#x5e38;&#x91cf;</from><to>&#x516c;&#x53f8;&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>
  277 + <hop> <from>&#x8f66;&#x8f86;&#x4fe1;&#x606f;&#x8868;&#x8f93;&#x5165;</from><to>&#x6dfb;&#x52a0;&#x67e5;&#x8be2;&#x5e38;&#x91cf;</to><enabled>Y</enabled> </hop>
  278 + <hop> <from>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</from><to>&#x662f;&#x5426;&#x7535;&#x8f66;</to><enabled>Y</enabled> </hop>
  279 + <hop> <from>&#x662f;&#x5426;&#x7535;&#x8f66;</from><to>Excel&#x8f93;&#x51fa;</to><enabled>Y</enabled> </hop>
  280 + </order>
  281 + <step>
  282 + <name>Excel&#x8f93;&#x51fa;</name>
  283 + <type>ExcelOutput</type>
  284 + <description/>
  285 + <distribute>Y</distribute>
  286 + <custom_distribution/>
  287 + <copies>1</copies>
  288 + <partitioning>
  289 + <method>none</method>
  290 + <schema_name/>
  291 + </partitioning>
  292 + <header>Y</header>
  293 + <footer>N</footer>
  294 + <encoding/>
  295 + <append>N</append>
  296 + <add_to_result_filenames>Y</add_to_result_filenames>
  297 + <file>
  298 + <name>&#x24;&#x7b;filepath&#x7d;</name>
  299 + <extention>xls</extention>
  300 + <do_not_open_newfile_init>N</do_not_open_newfile_init>
  301 + <create_parent_folder>N</create_parent_folder>
  302 + <split>N</split>
  303 + <add_date>N</add_date>
  304 + <add_time>N</add_time>
  305 + <SpecifyFormat>N</SpecifyFormat>
  306 + <date_time_format>yyyyMMddHHmmss</date_time_format>
  307 + <sheetname>&#x5de5;&#x4f5c;&#x8868;1</sheetname>
  308 + <autosizecolums>N</autosizecolums>
  309 + <nullisblank>N</nullisblank>
  310 + <protect_sheet>N</protect_sheet>
  311 + <password>Encrypted </password>
  312 + <splitevery>0</splitevery>
  313 + <usetempfiles>N</usetempfiles>
  314 + <tempdirectory/>
  315 + </file>
  316 + <template>
  317 + <enabled>N</enabled>
  318 + <append>N</append>
  319 + <filename>template.xls</filename>
  320 + </template>
  321 + <fields>
  322 + <field>
  323 + <name>&#x8f66;&#x724c;&#x53f7;</name>
  324 + <type>String</type>
  325 + <format/>
  326 + </field>
  327 + <field>
  328 + <name>&#x5185;&#x90e8;&#x7f16;&#x7801;</name>
  329 + <type>String</type>
  330 + <format/>
  331 + </field>
  332 + <field>
  333 + <name>&#x6240;&#x5c5e;&#x516c;&#x53f8;</name>
  334 + <type>String</type>
  335 + <format/>
  336 + </field>
  337 + <field>
  338 + <name>&#x6240;&#x5c5e;&#x5206;&#x516c;&#x53f8;</name>
  339 + <type>String</type>
  340 + <format/>
  341 + </field>
  342 + <field>
  343 + <name>&#x8bbe;&#x5907;&#x4f9b;&#x5e94;&#x5382;&#x5546;</name>
  344 + <type>String</type>
  345 + <format/>
  346 + </field>
  347 + <field>
  348 + <name>&#x8bbe;&#x5907;&#x7ec8;&#x7aef;&#x53f7;</name>
  349 + <type>String</type>
  350 + <format/>
  351 + </field>
  352 + <field>
  353 + <name>&#x662f;&#x5426;&#x7535;&#x8f66;</name>
  354 + <type>String</type>
  355 + <format/>
  356 + </field>
  357 + </fields>
  358 + <custom>
  359 + <header_font_name>arial</header_font_name>
  360 + <header_font_size>10</header_font_size>
  361 + <header_font_bold>N</header_font_bold>
  362 + <header_font_italic>N</header_font_italic>
  363 + <header_font_underline>no</header_font_underline>
  364 + <header_font_orientation>horizontal</header_font_orientation>
  365 + <header_font_color>black</header_font_color>
  366 + <header_background_color>none</header_background_color>
  367 + <header_row_height>255</header_row_height>
  368 + <header_alignment>left</header_alignment>
  369 + <header_image/>
  370 + <row_font_name>arial</row_font_name>
  371 + <row_font_size>10</row_font_size>
  372 + <row_font_color>black</row_font_color>
  373 + <row_background_color>none</row_background_color>
  374 + </custom>
  375 + <cluster_schema/>
  376 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  377 + <xloc>498</xloc>
  378 + <yloc>348</yloc>
  379 + <draw>Y</draw>
  380 + </GUI>
  381 + </step>
  382 +
  383 + <step>
  384 + <name>&#x516c;&#x53f8;&#x67e5;&#x8be2;</name>
  385 + <type>DBLookup</type>
  386 + <description/>
  387 + <distribute>Y</distribute>
  388 + <custom_distribution/>
  389 + <copies>1</copies>
  390 + <partitioning>
  391 + <method>none</method>
  392 + <schema_name/>
  393 + </partitioning>
  394 + <connection>bus_control_variable</connection>
  395 + <cache>N</cache>
  396 + <cache_load_all>N</cache_load_all>
  397 + <cache_size>0</cache_size>
  398 + <lookup>
  399 + <schema/>
  400 + <table>bsth_c_business</table>
  401 + <orderby/>
  402 + <fail_on_multiple>N</fail_on_multiple>
  403 + <eat_row_on_failure>N</eat_row_on_failure>
  404 + <key>
  405 + <name>up_code</name>
  406 + <field>up_code</field>
  407 + <condition>&#x3d;</condition>
  408 + <name2/>
  409 + </key>
  410 + <key>
  411 + <name>business_code</name>
  412 + <field>business_code</field>
  413 + <condition>&#x3d;</condition>
  414 + <name2/>
  415 + </key>
  416 + <value>
  417 + <name>business_name</name>
  418 + <rename>gs</rename>
  419 + <default/>
  420 + <type>String</type>
  421 + </value>
  422 + </lookup>
  423 + <cluster_schema/>
  424 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  425 + <xloc>364</xloc>
  426 + <yloc>60</yloc>
  427 + <draw>Y</draw>
  428 + </GUI>
  429 + </step>
  430 +
  431 + <step>
  432 + <name>&#x5206;&#x516c;&#x53f8;&#x67e5;&#x8be2;</name>
  433 + <type>DBLookup</type>
  434 + <description/>
  435 + <distribute>Y</distribute>
  436 + <custom_distribution/>
  437 + <copies>1</copies>
  438 + <partitioning>
  439 + <method>none</method>
  440 + <schema_name/>
  441 + </partitioning>
  442 + <connection>bus_control_variable</connection>
  443 + <cache>N</cache>
  444 + <cache_load_all>N</cache_load_all>
  445 + <cache_size>0</cache_size>
  446 + <lookup>
  447 + <schema/>
  448 + <table>bsth_c_business</table>
  449 + <orderby/>
  450 + <fail_on_multiple>N</fail_on_multiple>
  451 + <eat_row_on_failure>N</eat_row_on_failure>
  452 + <key>
  453 + <name>business_code</name>
  454 + <field>up_code</field>
  455 + <condition>&#x3d;</condition>
  456 + <name2/>
  457 + </key>
  458 + <key>
  459 + <name>branche_company_code</name>
  460 + <field>business_code</field>
  461 + <condition>&#x3d;</condition>
  462 + <name2/>
  463 + </key>
  464 + <value>
  465 + <name>business_name</name>
  466 + <rename>fgs</rename>
  467 + <default/>
  468 + <type>String</type>
  469 + </value>
  470 + </lookup>
  471 + <cluster_schema/>
  472 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  473 + <xloc>491</xloc>
  474 + <yloc>60</yloc>
  475 + <draw>Y</draw>
  476 + </GUI>
  477 + </step>
  478 +
  479 + <step>
  480 + <name>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</name>
  481 + <type>SelectValues</type>
  482 + <description/>
  483 + <distribute>Y</distribute>
  484 + <custom_distribution/>
  485 + <copies>1</copies>
  486 + <partitioning>
  487 + <method>none</method>
  488 + <schema_name/>
  489 + </partitioning>
  490 + <fields> <field> <name>car_plate</name>
  491 + <rename>&#x8f66;&#x724c;&#x53f7;</rename>
  492 + <length>-2</length>
  493 + <precision>-2</precision>
  494 + </field> <field> <name>inside_code</name>
  495 + <rename>&#x5185;&#x90e8;&#x7f16;&#x7801;</rename>
  496 + <length>-2</length>
  497 + <precision>-2</precision>
  498 + </field> <field> <name>gs</name>
  499 + <rename>&#x6240;&#x5c5e;&#x516c;&#x53f8;</rename>
  500 + <length>-2</length>
  501 + <precision>-2</precision>
  502 + </field> <field> <name>fgs</name>
  503 + <rename>&#x6240;&#x5c5e;&#x5206;&#x516c;&#x53f8;</rename>
  504 + <length>-2</length>
  505 + <precision>-2</precision>
  506 + </field> <field> <name>supplier_name</name>
  507 + <rename>&#x8bbe;&#x5907;&#x4f9b;&#x5e94;&#x5382;&#x5546;</rename>
  508 + <length>-2</length>
  509 + <precision>-2</precision>
  510 + </field> <field> <name>equipment_code</name>
  511 + <rename>&#x8bbe;&#x5907;&#x7ec8;&#x7aef;&#x53f7;</rename>
  512 + <length>-2</length>
  513 + <precision>-2</precision>
  514 + </field> <field> <name>sfdc</name>
  515 + <rename>sfdc_cal</rename>
  516 + <length>-2</length>
  517 + <precision>-2</precision>
  518 + </field> <select_unspecified>N</select_unspecified>
  519 + </fields> <cluster_schema/>
  520 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  521 + <xloc>495</xloc>
  522 + <yloc>173</yloc>
  523 + <draw>Y</draw>
  524 + </GUI>
  525 + </step>
  526 +
  527 + <step>
  528 + <name>&#x6dfb;&#x52a0;&#x67e5;&#x8be2;&#x5e38;&#x91cf;</name>
  529 + <type>ScriptValueMod</type>
  530 + <description/>
  531 + <distribute>Y</distribute>
  532 + <custom_distribution/>
  533 + <copies>1</copies>
  534 + <partitioning>
  535 + <method>none</method>
  536 + <schema_name/>
  537 + </partitioning>
  538 + <compatible>N</compatible>
  539 + <optimizationLevel>9</optimizationLevel>
  540 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  541 + <jsScript_name>Script 1</jsScript_name>
  542 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var up_code &#x3d; &#x27;88&#x27;&#x3b;</jsScript_script>
  543 + </jsScript> </jsScripts> <fields> <field> <name>up_code</name>
  544 + <rename>up_code</rename>
  545 + <type>String</type>
  546 + <length>-1</length>
  547 + <precision>-1</precision>
  548 + <replace>N</replace>
  549 + </field> </fields> <cluster_schema/>
  550 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  551 + <xloc>227</xloc>
  552 + <yloc>59</yloc>
  553 + <draw>Y</draw>
  554 + </GUI>
  555 + </step>
  556 +
  557 + <step>
  558 + <name>&#x8f66;&#x8f86;&#x4fe1;&#x606f;&#x8868;&#x8f93;&#x5165;</name>
  559 + <type>TableInput</type>
  560 + <description/>
  561 + <distribute>Y</distribute>
  562 + <custom_distribution/>
  563 + <copies>1</copies>
  564 + <partitioning>
  565 + <method>none</method>
  566 + <schema_name/>
  567 + </partitioning>
  568 + <connection>bus_control_variable</connection>
  569 + <sql>SELECT &#x2a; FROM bsth_c_cars&#xa;&#xa;</sql>
  570 + <limit>0</limit>
  571 + <lookup/>
  572 + <execute_each_row>N</execute_each_row>
  573 + <variables_active>Y</variables_active>
  574 + <lazy_conversion_active>N</lazy_conversion_active>
  575 + <cluster_schema/>
  576 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  577 + <xloc>88</xloc>
  578 + <yloc>59</yloc>
  579 + <draw>Y</draw>
  580 + </GUI>
  581 + </step>
  582 +
  583 + <step>
  584 + <name>&#x662f;&#x5426;&#x7535;&#x8f66;</name>
  585 + <type>ScriptValueMod</type>
  586 + <description/>
  587 + <distribute>Y</distribute>
  588 + <custom_distribution/>
  589 + <copies>1</copies>
  590 + <partitioning>
  591 + <method>none</method>
  592 + <schema_name/>
  593 + </partitioning>
  594 + <compatible>N</compatible>
  595 + <optimizationLevel>9</optimizationLevel>
  596 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  597 + <jsScript_name>Script 1</jsScript_name>
  598 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var &#x662f;&#x5426;&#x7535;&#x8f66; &#x3d; &#x22;&#x5426;&#x22;&#x3b;&#xa;&#xa;if&#x28;sfdc_cal&#x29; &#x7b;&#xa; &#x662f;&#x5426;&#x7535;&#x8f66; &#x3d; &#x22;&#x662f;&#x22;&#x3b;&#xa;&#x7d;&#xa;</jsScript_script>
  599 + </jsScript> </jsScripts> <fields> <field> <name>&#x662f;&#x5426;&#x7535;&#x8f66;</name>
  600 + <rename>&#x662f;&#x5426;&#x7535;&#x8f66;</rename>
  601 + <type>String</type>
  602 + <length>-1</length>
  603 + <precision>-1</precision>
  604 + <replace>N</replace>
  605 + </field> </fields> <cluster_schema/>
  606 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  607 + <xloc>695</xloc>
  608 + <yloc>173</yloc>
  609 + <draw>Y</draw>
  610 + </GUI>
  611 + </step>
  612 +
  613 + <step_error_handling>
  614 + </step_error_handling>
  615 + <slave-step-copy-partition-distribution>
  616 +</slave-step-copy-partition-distribution>
  617 + <slave_transformation>N</slave_transformation>
  618 +
  619 +</transformation>
src/main/resources/datatools/ktrs/scheduleRuleDataInput.ktr
1 -<?xml version="1.0" encoding="UTF-8"?>  
2 -<transformation>  
3 - <info>  
4 - <name>&#x6392;&#x73ed;&#x89c4;&#x5219;&#x4fe1;&#x606f;&#x5bfc;&#x5165;</name>  
5 - <description/>  
6 - <extended_description/>  
7 - <trans_version/>  
8 - <trans_type>Normal</trans_type>  
9 - <trans_status>0</trans_status>  
10 - <directory>&#x2f;</directory>  
11 - <parameters>  
12 - <parameter>  
13 - <name>erroroutputdir</name>  
14 - <default_value>&#x2f;Users&#x2f;xu&#x2f;resource&#x2f;project_code&#x2f;bsth_project&#x2f;bsth_control_etl&#x2f;&#x5bfc;&#x5165;&#x5bfc;&#x51fa;1</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>&#x2f;Users&#x2f;xu&#x2f;resource&#x2f;project_code&#x2f;bsth_project&#x2f;bsth_control_etl&#x2f;&#x5bfc;&#x5165;&#x5bfc;&#x51fa;1&#x2f;&#x6392;&#x7248;&#x89c4;&#x5219;&#x4fe1;&#x606f;.xls</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>2017&#x2f;01&#x2f;09 10&#x3a;10&#x3a;36.915</created_date>  
81 - <modified_user>-</modified_user>  
82 - <modified_date>2017&#x2f;01&#x2f;09 10&#x3a;10&#x3a;36.915</modified_date>  
83 - <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</key_for_session_key>  
84 - <is_key_private>N</is_key_private>  
85 - </info>  
86 - <notepads>  
87 - </notepads>  
88 - <connection>  
89 - <name>192.168.168.1_jwgl_dw</name>  
90 - <server>192.168.168.1</server>  
91 - <type>ORACLE</type>  
92 - <access>Native</access>  
93 - <database>orcl</database>  
94 - <port>1521</port>  
95 - <username>jwgl_dw</username>  
96 - <password>Encrypted 2be98afc86aa7f2e4cb13b977d2adabcd</password>  
97 - <servername/>  
98 - <data_tablespace/>  
99 - <index_tablespace/>  
100 - <attributes>  
101 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
102 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
103 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
104 - <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>  
105 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
106 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
107 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
108 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
109 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
110 - </attributes>  
111 - </connection>  
112 - <connection>  
113 - <name>bus_control_variable</name>  
114 - <server>&#x24;&#x7b;v_db_ip&#x7d;</server>  
115 - <type>MYSQL</type>  
116 - <access>Native</access>  
117 - <database>&#x24;&#x7b;v_db_dname&#x7d;</database>  
118 - <port>3306</port>  
119 - <username>&#x24;&#x7b;v_db_uname&#x7d;</username>  
120 - <password>&#x24;&#x7b;v_db_pwd&#x7d;</password>  
121 - <servername/>  
122 - <data_tablespace/>  
123 - <index_tablespace/>  
124 - <attributes>  
125 - <attribute><code>EXTRA_OPTION_MYSQL.characterEncoding</code><attribute>utf8</attribute></attribute>  
126 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
127 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
128 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
129 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
130 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
131 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
132 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
133 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
134 - <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>  
135 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
136 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
137 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
138 - </attributes>  
139 - </connection>  
140 - <connection>  
141 - <name>bus_control_&#x516c;&#x53f8;_201</name>  
142 - <server>localhost</server>  
143 - <type>MYSQL</type>  
144 - <access>Native</access>  
145 - <database>control</database>  
146 - <port>3306</port>  
147 - <username>root</username>  
148 - <password>Encrypted </password>  
149 - <servername/>  
150 - <data_tablespace/>  
151 - <index_tablespace/>  
152 - <attributes>  
153 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
154 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
155 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
156 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
157 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
158 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
159 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
160 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
161 - <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>  
162 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
163 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
164 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
165 - </attributes>  
166 - </connection>  
167 - <connection>  
168 - <name>bus_control_&#x672c;&#x673a;</name>  
169 - <server>localhost</server>  
170 - <type>MYSQL</type>  
171 - <access>Native</access>  
172 - <database>control</database>  
173 - <port>3306</port>  
174 - <username>root</username>  
175 - <password>Encrypted </password>  
176 - <servername/>  
177 - <data_tablespace/>  
178 - <index_tablespace/>  
179 - <attributes>  
180 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
181 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
182 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
183 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
184 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
185 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
186 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
187 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
188 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
189 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
190 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
191 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
192 - </attributes>  
193 - </connection>  
194 - <connection>  
195 - <name>xlab_mysql_youle</name>  
196 - <server>101.231.124.8</server>  
197 - <type>MYSQL</type>  
198 - <access>Native</access>  
199 - <database>xlab_youle</database>  
200 - <port>45687</port>  
201 - <username>xlab-youle</username>  
202 - <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password>  
203 - <servername/>  
204 - <data_tablespace/>  
205 - <index_tablespace/>  
206 - <attributes>  
207 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
208 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
209 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
210 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
211 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
212 - <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute>  
213 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
214 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
215 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
216 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>  
217 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>  
218 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
219 - </attributes>  
220 - </connection>  
221 - <connection>  
222 - <name>xlab_mysql_youle&#xff08;&#x672c;&#x673a;&#xff09;</name>  
223 - <server>localhost</server>  
224 - <type>MYSQL</type>  
225 - <access>Native</access>  
226 - <database>xlab_youle</database>  
227 - <port>3306</port>  
228 - <username>root</username>  
229 - <password>Encrypted </password>  
230 - <servername/>  
231 - <data_tablespace/>  
232 - <index_tablespace/>  
233 - <attributes>  
234 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
235 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
236 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
237 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
238 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
239 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
240 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
241 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
242 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
243 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>  
244 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>  
245 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
246 - </attributes>  
247 - </connection>  
248 - <connection>  
249 - <name>xlab_youle</name>  
250 - <server/>  
251 - <type>MYSQL</type>  
252 - <access>JNDI</access>  
253 - <database>xlab_youle</database>  
254 - <port>1521</port>  
255 - <username/>  
256 - <password>Encrypted </password>  
257 - <servername/>  
258 - <data_tablespace/>  
259 - <index_tablespace/>  
260 - <attributes>  
261 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
262 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
263 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
264 - <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>  
265 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
266 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
267 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
268 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
269 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
270 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
271 - </attributes>  
272 - </connection>  
273 - <order>  
274 - <hop> <from>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</from><to>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</to><enabled>Y</enabled> </hop>  
275 - <hop> <from>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</from><to>&#x542f;&#x7528;&#x88ab;&#x6570;&#x636e;flag</to><enabled>Y</enabled> </hop>  
276 - <hop> <from>&#x62c6;&#x5206;&#x8def;&#x724c;&#x8303;&#x56f4;</from><to>&#x8def;&#x724c;id&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>  
277 - <hop> <from>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</from><to>&#x5206;&#x7ec4;&#x5408;&#x5e76;&#x8def;&#x724c;id</to><enabled>Y</enabled> </hop>  
278 - <hop> <from>&#x5206;&#x7ec4;&#x5408;&#x5e76;&#x8def;&#x724c;id</from><to>&#x62c6;&#x5206;&#x4eba;&#x5458;&#x8303;&#x56f4;</to><enabled>Y</enabled> </hop>  
279 - <hop> <from>&#x62c6;&#x5206;&#x4eba;&#x5458;&#x8303;&#x56f4;</from><to>&#x62c6;&#x5206;&#x5206;&#x73ed;&#x642d;&#x73ed;&#x7f16;&#x7801;&#x5b57;&#x6bb5;</to><enabled>Y</enabled> </hop>  
280 - <hop> <from>&#x62c6;&#x5206;&#x5206;&#x73ed;&#x642d;&#x73ed;&#x7f16;&#x7801;&#x5b57;&#x6bb5;</from><to>&#x4eba;&#x5458;&#x914d;&#x7f6e;id&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>  
281 - <hop> <from>&#x4eba;&#x5458;&#x914d;&#x7f6e;id&#x67e5;&#x8be2;</from><to>&#x4eba;&#x5458;&#x914d;&#x7f6e;id&#x67e5;&#x8be2; 2</to><enabled>Y</enabled> </hop>  
282 - <hop> <from>&#x542f;&#x7528;&#x88ab;&#x6570;&#x636e;flag</from><to>&#x7ebf;&#x8def;id&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>  
283 - <hop> <from>&#x7ebf;&#x8def;id&#x67e5;&#x8be2;</from><to>&#x8fc7;&#x6ee4;&#x7ebf;&#x8def;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>  
284 - <hop> <from>&#x8fc7;&#x6ee4;&#x7ebf;&#x8def;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</from><to>&#x8f66;&#x8f86;&#x914d;&#x7f6e;id&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>  
285 - <hop> <from>&#x8f66;&#x8f86;&#x914d;&#x7f6e;id&#x67e5;&#x8be2;</from><to>&#x8fc7;&#x6ee4;&#x8f66;&#x8f86;&#x914d;&#x7f6e;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>  
286 - <hop> <from>&#x8fc7;&#x6ee4;&#x8f66;&#x8f86;&#x914d;&#x7f6e;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</from><to>&#x62c6;&#x5206;&#x8def;&#x724c;&#x8303;&#x56f4;</to><enabled>Y</enabled> </hop>  
287 - <hop> <from>&#x8def;&#x724c;id&#x67e5;&#x8be2;</from><to>&#x8fc7;&#x6ee4;&#x8def;&#x724c;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>  
288 - <hop> <from>&#x8fc7;&#x6ee4;&#x8def;&#x724c;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</from><to>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>  
289 - <hop> <from>&#x4eba;&#x5458;&#x914d;&#x7f6e;id&#x67e5;&#x8be2; 2</from><to>&#x8fc7;&#x6ee4;&#x4eba;&#x5458;&#x914d;&#x7f6e;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>  
290 - <hop> <from>&#x8fc7;&#x6ee4;&#x4eba;&#x5458;&#x914d;&#x7f6e;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</from><to>&#x5408;&#x5e76;&#x5206;&#x73ed;&#x4eba;&#x5458;&#x914d;&#x7f6e;id</to><enabled>Y</enabled> </hop>  
291 - <hop> <from>&#x5408;&#x5e76;&#x5206;&#x73ed;&#x4eba;&#x5458;&#x914d;&#x7f6e;id</from><to>&#x6392;&#x5e8f;&#x8bb0;&#x5f55; 2</to><enabled>Y</enabled> </hop>  
292 - <hop> <from>&#x6392;&#x5e8f;&#x8bb0;&#x5f55; 2</from><to>&#x5206;&#x7ec4;&#x5408;&#x5e76;&#x4eba;&#x5458;&#x914d;&#x7f6e;id</to><enabled>Y</enabled> </hop>  
293 - <hop> <from>&#x5206;&#x7ec4;&#x5408;&#x5e76;&#x4eba;&#x5458;&#x914d;&#x7f6e;id</from><to>&#x542f;&#x7528;&#x65e5;&#x671f;&#x8f6c;&#x6362;</to><enabled>Y</enabled> </hop>  
294 - <hop> <from>&#x542f;&#x7528;&#x65e5;&#x671f;&#x8f6c;&#x6362;</from><to>&#x5220;&#x9664;</to><enabled>Y</enabled> </hop>  
295 - <hop> <from>&#x5220;&#x9664;</from><to>&#x963b;&#x585e;&#x6570;&#x636e;&#x76f4;&#x5230;&#x6b65;&#x9aa4;&#x90fd;&#x5b8c;&#x6210;</to><enabled>Y</enabled> </hop>  
296 - <hop> <from>&#x963b;&#x585e;&#x6570;&#x636e;&#x76f4;&#x5230;&#x6b65;&#x9aa4;&#x90fd;&#x5b8c;&#x6210;</from><to>&#x89c4;&#x5219;&#x8868;&#x8f93;&#x51fa;</to><enabled>Y</enabled> </hop>  
297 - <hop> <from>&#x89c4;&#x5219;&#x8868;&#x8f93;&#x51fa;</from><to>&#x9519;&#x8bef;&#x8f93;&#x51fa; 2</to><enabled>Y</enabled> </hop>  
298 - </order>  
299 - <step>  
300 - <name>&#x4eba;&#x5458;&#x914d;&#x7f6e;id&#x67e5;&#x8be2;</name>  
301 - <type>DBLookup</type>  
302 - <description/>  
303 - <distribute>Y</distribute>  
304 - <custom_distribution/>  
305 - <copies>1</copies>  
306 - <partitioning>  
307 - <method>none</method>  
308 - <schema_name/>  
309 - </partitioning>  
310 - <connection>bus_control_variable</connection>  
311 - <cache>N</cache>  
312 - <cache_load_all>Y</cache_load_all>  
313 - <cache_size>0</cache_size>  
314 - <lookup>  
315 - <schema/>  
316 - <table>bsth_c_s_ecinfo</table>  
317 - <orderby/>  
318 - <fail_on_multiple>N</fail_on_multiple>  
319 - <eat_row_on_failure>N</eat_row_on_failure>  
320 - <key>  
321 - <name>xlid</name>  
322 - <field>xl</field>  
323 - <condition>&#x3d;</condition>  
324 - <name2/>  
325 - </key>  
326 - <key>  
327 - <name>dbbm1</name>  
328 - <field>dbbm</field>  
329 - <condition>&#x3d;</condition>  
330 - <name2/>  
331 - </key>  
332 - <key>  
333 - <name>isCancel</name>  
334 - <field>is_cancel</field>  
335 - <condition>&#x3d;</condition>  
336 - <name2/>  
337 - </key>  
338 - <value>  
339 - <name>id</name>  
340 - <rename>rycid1</rename>  
341 - <default/>  
342 - <type>Integer</type>  
343 - </value>  
344 - </lookup>  
345 - <cluster_schema/>  
346 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
347 - <xloc>904</xloc>  
348 - <yloc>101</yloc>  
349 - <draw>Y</draw>  
350 - </GUI>  
351 - </step>  
352 -  
353 - <step>  
354 - <name>&#x4eba;&#x5458;&#x914d;&#x7f6e;id&#x67e5;&#x8be2; 2</name>  
355 - <type>DBLookup</type>  
356 - <description/>  
357 - <distribute>Y</distribute>  
358 - <custom_distribution/>  
359 - <copies>1</copies>  
360 - <partitioning>  
361 - <method>none</method>  
362 - <schema_name/>  
363 - </partitioning>  
364 - <connection>bus_control_variable</connection>  
365 - <cache>N</cache>  
366 - <cache_load_all>Y</cache_load_all>  
367 - <cache_size>0</cache_size>  
368 - <lookup>  
369 - <schema/>  
370 - <table>bsth_c_s_ecinfo</table>  
371 - <orderby/>  
372 - <fail_on_multiple>N</fail_on_multiple>  
373 - <eat_row_on_failure>N</eat_row_on_failure>  
374 - <key>  
375 - <name>xlid</name>  
376 - <field>xl</field>  
377 - <condition>&#x3d;</condition>  
378 - <name2/>  
379 - </key>  
380 - <key>  
381 - <name>dbbm2</name>  
382 - <field>dbbm</field>  
383 - <condition>&#x3d;</condition>  
384 - <name2/>  
385 - </key>  
386 - <key>  
387 - <name>isCancel</name>  
388 - <field>is_cancel</field>  
389 - <condition>&#x3d;</condition>  
390 - <name2/>  
391 - </key>  
392 - <value>  
393 - <name>id</name>  
394 - <rename>rycid2</rename>  
395 - <default/>  
396 - <type>Integer</type>  
397 - </value>  
398 - </lookup>  
399 - <cluster_schema/>  
400 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
401 - <xloc>778</xloc>  
402 - <yloc>103</yloc>  
403 - <draw>Y</draw>  
404 - </GUI>  
405 - </step>  
406 -  
407 - <step>  
408 - <name>&#x5206;&#x7ec4;&#x5408;&#x5e76;&#x4eba;&#x5458;&#x914d;&#x7f6e;id</name>  
409 - <type>GroupBy</type>  
410 - <description/>  
411 - <distribute>Y</distribute>  
412 - <custom_distribution/>  
413 - <copies>1</copies>  
414 - <partitioning>  
415 - <method>none</method>  
416 - <schema_name/>  
417 - </partitioning>  
418 - <all_rows>N</all_rows>  
419 - <ignore_aggregate>N</ignore_aggregate>  
420 - <field_ignore/>  
421 - <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>  
422 - <prefix>grp</prefix>  
423 - <add_linenr>N</add_linenr>  
424 - <linenr_fieldname/>  
425 - <give_back_row>N</give_back_row>  
426 - <group>  
427 - <field>  
428 - <name>xlid</name>  
429 - </field>  
430 - <field>  
431 - <name>cid</name>  
432 - </field>  
433 - <field>  
434 - <name>lpnames</name>  
435 - </field>  
436 - <field>  
437 - <name>lpids</name>  
438 - </field>  
439 - <field>  
440 - <name>&#x8d77;&#x59cb;&#x8def;&#x724c;</name>  
441 - </field>  
442 - <field>  
443 - <name>&#x8d77;&#x59cb;&#x4eba;&#x5458;</name>  
444 - </field>  
445 - <field>  
446 - <name>&#x4eba;&#x5458;&#x8303;&#x56f4;</name>  
447 - </field>  
448 - <field>  
449 - <name>&#x542f;&#x7528;&#x65e5;&#x671f;</name>  
450 - </field>  
451 - <field>  
452 - <name>&#x7ffb;&#x73ed;&#x683c;&#x5f0f;</name>  
453 - </field>  
454 - <field>  
455 - <name>isCancel</name>  
456 - </field>  
457 - </group>  
458 - <fields>  
459 - <field>  
460 - <aggregate>rycids</aggregate>  
461 - <subject>rycid</subject>  
462 - <type>CONCAT_STRING</type>  
463 - <valuefield>,</valuefield>  
464 - </field>  
465 - <field>  
466 - <aggregate>rybms</aggregate>  
467 - <subject>rybm</subject>  
468 - <type>CONCAT_STRING</type>  
469 - <valuefield>,</valuefield>  
470 - </field>  
471 - </fields>  
472 - <cluster_schema/>  
473 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
474 - <xloc>780</xloc>  
475 - <yloc>291</yloc>  
476 - <draw>Y</draw>  
477 - </GUI>  
478 - </step>  
479 -  
480 - <step>  
481 - <name>&#x5206;&#x7ec4;&#x5408;&#x5e76;&#x8def;&#x724c;id</name>  
482 - <type>GroupBy</type>  
483 - <description/>  
484 - <distribute>Y</distribute>  
485 - <custom_distribution/>  
486 - <copies>1</copies>  
487 - <partitioning>  
488 - <method>none</method>  
489 - <schema_name/>  
490 - </partitioning>  
491 - <all_rows>N</all_rows>  
492 - <ignore_aggregate>N</ignore_aggregate>  
493 - <field_ignore/>  
494 - <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>  
495 - <prefix>grp</prefix>  
496 - <add_linenr>N</add_linenr>  
497 - <linenr_fieldname/>  
498 - <give_back_row>N</give_back_row>  
499 - <group>  
500 - <field>  
501 - <name>xlid</name>  
502 - </field>  
503 - <field>  
504 - <name>cid</name>  
505 - </field>  
506 - <field>  
507 - <name>&#x8d77;&#x59cb;&#x8def;&#x724c;</name>  
508 - </field>  
509 - <field>  
510 - <name>&#x8d77;&#x59cb;&#x4eba;&#x5458;</name>  
511 - </field>  
512 - <field>  
513 - <name>&#x4eba;&#x5458;&#x8303;&#x56f4;</name>  
514 - </field>  
515 - <field>  
516 - <name>&#x542f;&#x7528;&#x65e5;&#x671f;</name>  
517 - </field>  
518 - <field>  
519 - <name>&#x7ffb;&#x73ed;&#x683c;&#x5f0f;</name>  
520 - </field>  
521 - <field>  
522 - <name>isCancel</name>  
523 - </field>  
524 - </group>  
525 - <fields>  
526 - <field>  
527 - <aggregate>lpids</aggregate>  
528 - <subject>lpid</subject>  
529 - <type>CONCAT_STRING</type>  
530 - <valuefield>,</valuefield>  
531 - </field>  
532 - <field>  
533 - <aggregate>lpnames</aggregate>  
534 - <subject>lpname</subject>  
535 - <type>CONCAT_STRING</type>  
536 - <valuefield>,</valuefield>  
537 - </field>  
538 - </fields>  
539 - <cluster_schema/>  
540 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
541 - <xloc>653</xloc>  
542 - <yloc>119</yloc>  
543 - <draw>Y</draw>  
544 - </GUI>  
545 - </step>  
546 -  
547 - <step>  
548 - <name>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</name>  
549 - <type>ExcelInput</type>  
550 - <description/>  
551 - <distribute>Y</distribute>  
552 - <custom_distribution/>  
553 - <copies>1</copies>  
554 - <partitioning>  
555 - <method>none</method>  
556 - <schema_name/>  
557 - </partitioning>  
558 - <header>Y</header>  
559 - <noempty>Y</noempty>  
560 - <stoponempty>N</stoponempty>  
561 - <filefield/>  
562 - <sheetfield/>  
563 - <sheetrownumfield/>  
564 - <rownumfield/>  
565 - <sheetfield/>  
566 - <filefield/>  
567 - <limit>0</limit>  
568 - <encoding/>  
569 - <add_to_result_filenames>Y</add_to_result_filenames>  
570 - <accept_filenames>Y</accept_filenames>  
571 - <accept_field>filepath_</accept_field>  
572 - <accept_stepname>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</accept_stepname>  
573 - <file>  
574 - <name/>  
575 - <filemask/>  
576 - <exclude_filemask/>  
577 - <file_required>N</file_required>  
578 - <include_subfolders>N</include_subfolders>  
579 - </file>  
580 - <fields>  
581 - <field>  
582 - <name>&#x7ebf;&#x8def;</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>&#x5185;&#x90e8;&#x7f16;&#x7801;</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 - <field>  
606 - <name>&#x542f;&#x7528;&#x65e5;&#x671f;</name>  
607 - <type>String</type>  
608 - <length>-1</length>  
609 - <precision>-1</precision>  
610 - <trim_type>none</trim_type>  
611 - <repeat>N</repeat>  
612 - <format/>  
613 - <currency/>  
614 - <decimal/>  
615 - <group/>  
616 - </field>  
617 - <field>  
618 - <name>&#x8d77;&#x59cb;&#x8def;&#x724c;</name>  
619 - <type>String</type>  
620 - <length>-1</length>  
621 - <precision>-1</precision>  
622 - <trim_type>none</trim_type>  
623 - <repeat>N</repeat>  
624 - <format>&#x23;</format>  
625 - <currency/>  
626 - <decimal/>  
627 - <group/>  
628 - </field>  
629 - <field>  
630 - <name>&#x8def;&#x724c;&#x8303;&#x56f4;</name>  
631 - <type>String</type>  
632 - <length>-1</length>  
633 - <precision>-1</precision>  
634 - <trim_type>none</trim_type>  
635 - <repeat>N</repeat>  
636 - <format>&#x23;</format>  
637 - <currency/>  
638 - <decimal/>  
639 - <group/>  
640 - </field>  
641 - <field>  
642 - <name>&#x8d77;&#x59cb;&#x4eba;&#x5458;</name>  
643 - <type>String</type>  
644 - <length>-1</length>  
645 - <precision>-1</precision>  
646 - <trim_type>none</trim_type>  
647 - <repeat>N</repeat>  
648 - <format>&#x23;</format>  
649 - <currency/>  
650 - <decimal/>  
651 - <group/>  
652 - </field>  
653 - <field>  
654 - <name>&#x4eba;&#x5458;&#x8303;&#x56f4;</name>  
655 - <type>String</type>  
656 - <length>-1</length>  
657 - <precision>-1</precision>  
658 - <trim_type>none</trim_type>  
659 - <repeat>N</repeat>  
660 - <format>&#x23;</format>  
661 - <currency/>  
662 - <decimal/>  
663 - <group/>  
664 - </field>  
665 - <field>  
666 - <name>&#x7ffb;&#x73ed;&#x683c;&#x5f0f;</name>  
667 - <type>String</type>  
668 - <length>-1</length>  
669 - <precision>-1</precision>  
670 - <trim_type>none</trim_type>  
671 - <repeat>N</repeat>  
672 - <format>&#x23;</format>  
673 - <currency/>  
674 - <decimal/>  
675 - <group/>  
676 - </field>  
677 - </fields>  
678 - <sheets>  
679 - <sheet>  
680 - <name>&#x5de5;&#x4f5c;&#x8868;1</name>  
681 - <startrow>0</startrow>  
682 - <startcol>0</startcol>  
683 - </sheet>  
684 - </sheets>  
685 - <strict_types>N</strict_types>  
686 - <error_ignored>N</error_ignored>  
687 - <error_line_skipped>N</error_line_skipped>  
688 - <bad_line_files_destination_directory/>  
689 - <bad_line_files_extension>warning</bad_line_files_extension>  
690 - <error_line_files_destination_directory/>  
691 - <error_line_files_extension>error</error_line_files_extension>  
692 - <line_number_files_destination_directory/>  
693 - <line_number_files_extension>line</line_number_files_extension>  
694 - <shortFileFieldName/>  
695 - <pathFieldName/>  
696 - <hiddenFieldName/>  
697 - <lastModificationTimeFieldName/>  
698 - <uriNameFieldName/>  
699 - <rootUriNameFieldName/>  
700 - <extensionFieldName/>  
701 - <sizeFieldName/>  
702 - <spreadsheet_type>JXL</spreadsheet_type>  
703 - <cluster_schema/>  
704 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
705 - <xloc>208</xloc>  
706 - <yloc>21</yloc>  
707 - <draw>Y</draw>  
708 - </GUI>  
709 - </step>  
710 -  
711 - <step>  
712 - <name>&#x5408;&#x5e76;&#x5206;&#x73ed;&#x4eba;&#x5458;&#x914d;&#x7f6e;id</name>  
713 - <type>ScriptValueMod</type>  
714 - <description/>  
715 - <distribute>Y</distribute>  
716 - <custom_distribution/>  
717 - <copies>1</copies>  
718 - <partitioning>  
719 - <method>none</method>  
720 - <schema_name/>  
721 - </partitioning>  
722 - <compatible>N</compatible>  
723 - <optimizationLevel>9</optimizationLevel>  
724 - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>  
725 - <jsScript_name>Script 1</jsScript_name>  
726 - <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var rycid&#x3b;&#xa;var rybm&#x3b;&#xa;&#xa;if &#x28;rycid2 &#x3d;&#x3d; null&#x29; &#x7b;&#xa; rycid &#x3d; rycid1&#x3b;&#xa; rybm &#x3d; dbbm1&#x3b;&#xa;&#x7d; else &#x7b;&#xa; rycid &#x3d; rycid1 &#x2b; &#x22;-&#x22; &#x2b; rycid2&#x3b;&#xa; rybm &#x3d; dbbm1 &#x2b; &#x22;-&#x22; &#x2b; dbbm2&#x3b;&#xa;&#x7d;</jsScript_script>  
727 - </jsScript> </jsScripts> <fields> <field> <name>rycid</name>  
728 - <rename>rycid</rename>  
729 - <type>String</type>  
730 - <length>-1</length>  
731 - <precision>-1</precision>  
732 - <replace>N</replace>  
733 - </field> <field> <name>rybm</name>  
734 - <rename>rybm</rename>  
735 - <type>String</type>  
736 - <length>-1</length>  
737 - <precision>-1</precision>  
738 - <replace>N</replace>  
739 - </field> </fields> <cluster_schema/>  
740 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
741 - <xloc>917</xloc>  
742 - <yloc>201</yloc>  
743 - <draw>Y</draw>  
744 - </GUI>  
745 - </step>  
746 -  
747 - <step>  
748 - <name>&#x542f;&#x7528;&#x65e5;&#x671f;&#x8f6c;&#x6362;</name>  
749 - <type>SelectValues</type>  
750 - <description/>  
751 - <distribute>Y</distribute>  
752 - <custom_distribution/>  
753 - <copies>1</copies>  
754 - <partitioning>  
755 - <method>none</method>  
756 - <schema_name/>  
757 - </partitioning>  
758 - <fields> <select_unspecified>N</select_unspecified>  
759 - <meta> <name>&#x542f;&#x7528;&#x65e5;&#x671f;</name>  
760 - <rename>&#x542f;&#x7528;&#x65e5;&#x671f;</rename>  
761 - <type>Timestamp</type>  
762 - <length>-2</length>  
763 - <precision>-2</precision>  
764 - <conversion_mask>yyyy-MM-dd</conversion_mask>  
765 - <date_format_lenient>false</date_format_lenient>  
766 - <date_format_locale/>  
767 - <date_format_timezone/>  
768 - <lenient_string_to_number>false</lenient_string_to_number>  
769 - <encoding/>  
770 - <decimal_symbol/>  
771 - <grouping_symbol/>  
772 - <currency_symbol/>  
773 - <storage_type/>  
774 - </meta> </fields> <cluster_schema/>  
775 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
776 - <xloc>777</xloc>  
777 - <yloc>368</yloc>  
778 - <draw>Y</draw>  
779 - </GUI>  
780 - </step>  
781 -  
782 - <step>  
783 - <name>&#x542f;&#x7528;&#x88ab;&#x6570;&#x636e;flag</name>  
784 - <type>Constant</type>  
785 - <description/>  
786 - <distribute>Y</distribute>  
787 - <custom_distribution/>  
788 - <copies>1</copies>  
789 - <partitioning>  
790 - <method>none</method>  
791 - <schema_name/>  
792 - </partitioning>  
793 - <fields>  
794 - <field>  
795 - <name>isCancel</name>  
796 - <type>Integer</type>  
797 - <format/>  
798 - <currency/>  
799 - <decimal/>  
800 - <group/>  
801 - <nullif>0</nullif>  
802 - <length>-1</length>  
803 - <precision>-1</precision>  
804 - <set_empty_string>N</set_empty_string>  
805 - </field>  
806 - </fields>  
807 - <cluster_schema/>  
808 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
809 - <xloc>361</xloc>  
810 - <yloc>22</yloc>  
811 - <draw>Y</draw>  
812 - </GUI>  
813 - </step>  
814 -  
815 - <step>  
816 - <name>&#x62c6;&#x5206;&#x4eba;&#x5458;&#x8303;&#x56f4;</name>  
817 - <type>SplitFieldToRows3</type>  
818 - <description/>  
819 - <distribute>Y</distribute>  
820 - <custom_distribution/>  
821 - <copies>1</copies>  
822 - <partitioning>  
823 - <method>none</method>  
824 - <schema_name/>  
825 - </partitioning>  
826 - <splitfield>&#x4eba;&#x5458;&#x8303;&#x56f4;</splitfield>  
827 - <delimiter>,</delimiter>  
828 - <newfield>dbbm</newfield>  
829 - <rownum>N</rownum>  
830 - <rownum_field/>  
831 - <resetrownumber>Y</resetrownumber>  
832 - <delimiter_is_regex>N</delimiter_is_regex>  
833 - <cluster_schema/>  
834 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
835 - <xloc>777</xloc>  
836 - <yloc>22</yloc>  
837 - <draw>Y</draw>  
838 - </GUI>  
839 - </step>  
840 -  
841 - <step>  
842 - <name>&#x62c6;&#x5206;&#x5206;&#x73ed;&#x642d;&#x73ed;&#x7f16;&#x7801;&#x5b57;&#x6bb5;</name>  
843 - <type>FieldSplitter</type>  
844 - <description/>  
845 - <distribute>Y</distribute>  
846 - <custom_distribution/>  
847 - <copies>1</copies>  
848 - <partitioning>  
849 - <method>none</method>  
850 - <schema_name/>  
851 - </partitioning>  
852 - <splitfield>dbbm</splitfield>  
853 - <delimiter>-</delimiter>  
854 - <enclosure/>  
855 - <fields> <field> <name>dbbm1</name>  
856 - <id/>  
857 - <idrem>N</idrem>  
858 - <type>String</type>  
859 - <format/>  
860 - <group/>  
861 - <decimal/>  
862 - <currency/>  
863 - <length>-1</length>  
864 - <precision>-1</precision>  
865 - <nullif/>  
866 - <ifnull/>  
867 - <trimtype>none</trimtype>  
868 - </field> <field> <name>dbbm2</name>  
869 - <id/>  
870 - <idrem>N</idrem>  
871 - <type>String</type>  
872 - <format/>  
873 - <group/>  
874 - <decimal/>  
875 - <currency/>  
876 - <length>-1</length>  
877 - <precision>-1</precision>  
878 - <nullif/>  
879 - <ifnull/>  
880 - <trimtype>none</trimtype>  
881 - </field> </fields> <cluster_schema/>  
882 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
883 - <xloc>901</xloc>  
884 - <yloc>22</yloc>  
885 - <draw>Y</draw>  
886 - </GUI>  
887 - </step>  
888 -  
889 - <step>  
890 - <name>&#x62c6;&#x5206;&#x8def;&#x724c;&#x8303;&#x56f4;</name>  
891 - <type>SplitFieldToRows3</type>  
892 - <description/>  
893 - <distribute>Y</distribute>  
894 - <custom_distribution/>  
895 - <copies>1</copies>  
896 - <partitioning>  
897 - <method>none</method>  
898 - <schema_name/>  
899 - </partitioning>  
900 - <splitfield>&#x8def;&#x724c;&#x8303;&#x56f4;</splitfield>  
901 - <delimiter>,</delimiter>  
902 - <newfield>lpname</newfield>  
903 - <rownum>N</rownum>  
904 - <rownum_field/>  
905 - <resetrownumber>Y</resetrownumber>  
906 - <delimiter_is_regex>N</delimiter_is_regex>  
907 - <cluster_schema/>  
908 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
909 - <xloc>364</xloc>  
910 - <yloc>259</yloc>  
911 - <draw>Y</draw>  
912 - </GUI>  
913 - </step>  
914 -  
915 - <step>  
916 - <name>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</name>  
917 - <type>SortRows</type>  
918 - <description/>  
919 - <distribute>Y</distribute>  
920 - <custom_distribution/>  
921 - <copies>1</copies>  
922 - <partitioning>  
923 - <method>none</method>  
924 - <schema_name/>  
925 - </partitioning>  
926 - <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>  
927 - <prefix>out</prefix>  
928 - <sort_size>1000000</sort_size>  
929 - <free_memory/>  
930 - <compress>N</compress>  
931 - <compress_variable/>  
932 - <unique_rows>N</unique_rows>  
933 - <fields>  
934 - <field>  
935 - <name>xlid</name>  
936 - <ascending>Y</ascending>  
937 - <case_sensitive>N</case_sensitive>  
938 - <presorted>N</presorted>  
939 - </field>  
940 - <field>  
941 - <name>cid</name>  
942 - <ascending>Y</ascending>  
943 - <case_sensitive>N</case_sensitive>  
944 - <presorted>N</presorted>  
945 - </field>  
946 - <field>  
947 - <name>&#x8d77;&#x59cb;&#x8def;&#x724c;</name>  
948 - <ascending>Y</ascending>  
949 - <case_sensitive>N</case_sensitive>  
950 - <presorted>N</presorted>  
951 - </field>  
952 - <field>  
953 - <name>&#x8d77;&#x59cb;&#x4eba;&#x5458;</name>  
954 - <ascending>Y</ascending>  
955 - <case_sensitive>N</case_sensitive>  
956 - <presorted>N</presorted>  
957 - </field>  
958 - <field>  
959 - <name>&#x4eba;&#x5458;&#x8303;&#x56f4;</name>  
960 - <ascending>Y</ascending>  
961 - <case_sensitive>N</case_sensitive>  
962 - <presorted>N</presorted>  
963 - </field>  
964 - <field>  
965 - <name>&#x542f;&#x7528;&#x65e5;&#x671f;</name>  
966 - <ascending>Y</ascending>  
967 - <case_sensitive>N</case_sensitive>  
968 - <presorted>N</presorted>  
969 - </field>  
970 - <field>  
971 - <name>&#x7ffb;&#x73ed;&#x683c;&#x5f0f;</name>  
972 - <ascending>Y</ascending>  
973 - <case_sensitive>N</case_sensitive>  
974 - <presorted>N</presorted>  
975 - </field>  
976 - <field>  
977 - <name>isCancel</name>  
978 - <ascending>Y</ascending>  
979 - <case_sensitive>N</case_sensitive>  
980 - <presorted>N</presorted>  
981 - </field>  
982 - </fields>  
983 - <cluster_schema/>  
984 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
985 - <xloc>516</xloc>  
986 - <yloc>119</yloc>  
987 - <draw>Y</draw>  
988 - </GUI>  
989 - </step>  
990 -  
991 - <step>  
992 - <name>&#x6392;&#x5e8f;&#x8bb0;&#x5f55; 2</name>  
993 - <type>SortRows</type>  
994 - <description/>  
995 - <distribute>Y</distribute>  
996 - <custom_distribution/>  
997 - <copies>1</copies>  
998 - <partitioning>  
999 - <method>none</method>  
1000 - <schema_name/>  
1001 - </partitioning>  
1002 - <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>  
1003 - <prefix>out</prefix>  
1004 - <sort_size>1000000</sort_size>  
1005 - <free_memory/>  
1006 - <compress>N</compress>  
1007 - <compress_variable/>  
1008 - <unique_rows>N</unique_rows>  
1009 - <fields>  
1010 - <field>  
1011 - <name>xlid</name>  
1012 - <ascending>Y</ascending>  
1013 - <case_sensitive>N</case_sensitive>  
1014 - <presorted>N</presorted>  
1015 - </field>  
1016 - <field>  
1017 - <name>cid</name>  
1018 - <ascending>Y</ascending>  
1019 - <case_sensitive>N</case_sensitive>  
1020 - <presorted>N</presorted>  
1021 - </field>  
1022 - <field>  
1023 - <name>lpnames</name>  
1024 - <ascending>Y</ascending>  
1025 - <case_sensitive>N</case_sensitive>  
1026 - <presorted>N</presorted>  
1027 - </field>  
1028 - <field>  
1029 - <name>lpids</name>  
1030 - <ascending>Y</ascending>  
1031 - <case_sensitive>N</case_sensitive>  
1032 - <presorted>N</presorted>  
1033 - </field>  
1034 - <field>  
1035 - <name>&#x8d77;&#x59cb;&#x8def;&#x724c;</name>  
1036 - <ascending>Y</ascending>  
1037 - <case_sensitive>N</case_sensitive>  
1038 - <presorted>N</presorted>  
1039 - </field>  
1040 - <field>  
1041 - <name>&#x8d77;&#x59cb;&#x4eba;&#x5458;</name>  
1042 - <ascending>Y</ascending>  
1043 - <case_sensitive>N</case_sensitive>  
1044 - <presorted>N</presorted>  
1045 - </field>  
1046 - <field>  
1047 - <name>&#x4eba;&#x5458;&#x8303;&#x56f4;</name>  
1048 - <ascending>Y</ascending>  
1049 - <case_sensitive>N</case_sensitive>  
1050 - <presorted>N</presorted>  
1051 - </field>  
1052 - <field>  
1053 - <name>&#x542f;&#x7528;&#x65e5;&#x671f;</name>  
1054 - <ascending>Y</ascending>  
1055 - <case_sensitive>N</case_sensitive>  
1056 - <presorted>N</presorted>  
1057 - </field>  
1058 - <field>  
1059 - <name>&#x7ffb;&#x73ed;&#x683c;&#x5f0f;</name>  
1060 - <ascending>Y</ascending>  
1061 - <case_sensitive>N</case_sensitive>  
1062 - <presorted>N</presorted>  
1063 - </field>  
1064 - <field>  
1065 - <name>isCancel</name>  
1066 - <ascending>Y</ascending>  
1067 - <case_sensitive>N</case_sensitive>  
1068 - <presorted>N</presorted>  
1069 - </field>  
1070 - </fields>  
1071 - <cluster_schema/>  
1072 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1073 - <xloc>919</xloc>  
1074 - <yloc>289</yloc>  
1075 - <draw>Y</draw>  
1076 - </GUI>  
1077 - </step>  
1078 -  
1079 - <step>  
1080 - <name>&#x7ebf;&#x8def;id&#x67e5;&#x8be2;</name>  
1081 - <type>DBLookup</type>  
1082 - <description/>  
1083 - <distribute>Y</distribute>  
1084 - <custom_distribution/>  
1085 - <copies>1</copies>  
1086 - <partitioning>  
1087 - <method>none</method>  
1088 - <schema_name/>  
1089 - </partitioning>  
1090 - <connection>bus_control_variable</connection>  
1091 - <cache>N</cache>  
1092 - <cache_load_all>Y</cache_load_all>  
1093 - <cache_size>0</cache_size>  
1094 - <lookup>  
1095 - <schema/>  
1096 - <table>bsth_c_line</table>  
1097 - <orderby/>  
1098 - <fail_on_multiple>N</fail_on_multiple>  
1099 - <eat_row_on_failure>N</eat_row_on_failure>  
1100 - <key>  
1101 - <name>&#x7ebf;&#x8def;</name>  
1102 - <field>name</field>  
1103 - <condition>&#x3d;</condition>  
1104 - <name2/>  
1105 - </key>  
1106 - <key>  
1107 - <name>isCancel</name>  
1108 - <field>destroy</field>  
1109 - <condition>&#x3d;</condition>  
1110 - <name2/>  
1111 - </key>  
1112 - <value>  
1113 - <name>id</name>  
1114 - <rename>xlid</rename>  
1115 - <default/>  
1116 - <type>Integer</type>  
1117 - </value>  
1118 - </lookup>  
1119 - <cluster_schema/>  
1120 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1121 - <xloc>359</xloc>  
1122 - <yloc>110</yloc>  
1123 - <draw>Y</draw>  
1124 - </GUI>  
1125 - </step>  
1126 -  
1127 - <step>  
1128 - <name>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</name>  
1129 - <type>GetVariable</type>  
1130 - <description/>  
1131 - <distribute>Y</distribute>  
1132 - <custom_distribution/>  
1133 - <copies>1</copies>  
1134 - <partitioning>  
1135 - <method>none</method>  
1136 - <schema_name/>  
1137 - </partitioning>  
1138 - <fields>  
1139 - <field>  
1140 - <name>filepath_</name>  
1141 - <variable>&#x24;&#x7b;filepath&#x7d;</variable>  
1142 - <type>String</type>  
1143 - <format/>  
1144 - <currency/>  
1145 - <decimal/>  
1146 - <group/>  
1147 - <length>-1</length>  
1148 - <precision>-1</precision>  
1149 - <trim_type>none</trim_type>  
1150 - </field>  
1151 - <field>  
1152 - <name>erroroutputdir_</name>  
1153 - <variable>&#x24;&#x7b;erroroutputdir&#x7d;</variable>  
1154 - <type>String</type>  
1155 - <format/>  
1156 - <currency/>  
1157 - <decimal/>  
1158 - <group/>  
1159 - <length>-1</length>  
1160 - <precision>-1</precision>  
1161 - <trim_type>none</trim_type>  
1162 - </field>  
1163 - </fields>  
1164 - <cluster_schema/>  
1165 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1166 - <xloc>53</xloc>  
1167 - <yloc>23</yloc>  
1168 - <draw>Y</draw>  
1169 - </GUI>  
1170 - </step>  
1171 -  
1172 - <step>  
1173 - <name>&#x8def;&#x724c;id&#x67e5;&#x8be2;</name>  
1174 - <type>DBLookup</type>  
1175 - <description/>  
1176 - <distribute>Y</distribute>  
1177 - <custom_distribution/>  
1178 - <copies>1</copies>  
1179 - <partitioning>  
1180 - <method>none</method>  
1181 - <schema_name/>  
1182 - </partitioning>  
1183 - <connection>bus_control_variable</connection>  
1184 - <cache>N</cache>  
1185 - <cache_load_all>Y</cache_load_all>  
1186 - <cache_size>0</cache_size>  
1187 - <lookup>  
1188 - <schema/>  
1189 - <table>bsth_c_s_gbi</table>  
1190 - <orderby/>  
1191 - <fail_on_multiple>N</fail_on_multiple>  
1192 - <eat_row_on_failure>N</eat_row_on_failure>  
1193 - <key>  
1194 - <name>xlid</name>  
1195 - <field>xl</field>  
1196 - <condition>&#x3d;</condition>  
1197 - <name2/>  
1198 - </key>  
1199 - <key>  
1200 - <name>lpname</name>  
1201 - <field>lp_name</field>  
1202 - <condition>&#x3d;</condition>  
1203 - <name2/>  
1204 - </key>  
1205 - <key>  
1206 - <name>isCancel</name>  
1207 - <field>is_cancel</field>  
1208 - <condition>&#x3d;</condition>  
1209 - <name2/>  
1210 - </key>  
1211 - <value>  
1212 - <name>id</name>  
1213 - <rename>lpid</rename>  
1214 - <default/>  
1215 - <type>Integer</type>  
1216 - </value>  
1217 - </lookup>  
1218 - <cluster_schema/>  
1219 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1220 - <xloc>516</xloc>  
1221 - <yloc>21</yloc>  
1222 - <draw>Y</draw>  
1223 - </GUI>  
1224 - </step>  
1225 -  
1226 - <step>  
1227 - <name>&#x8f66;&#x8f86;&#x914d;&#x7f6e;id&#x67e5;&#x8be2;</name>  
1228 - <type>DBJoin</type>  
1229 - <description/>  
1230 - <distribute>Y</distribute>  
1231 - <custom_distribution/>  
1232 - <copies>1</copies>  
1233 - <partitioning>  
1234 - <method>none</method>  
1235 - <schema_name/>  
1236 - </partitioning>  
1237 - <connection>bus_control_variable</connection>  
1238 - <rowlimit>1</rowlimit>  
1239 - <sql>select t1.id as cid from bsth_c_s_ccinfo t1 left join bsth_c_cars t2 on t1.cl &#x3d; t2.id&#xa;where t1.xl &#x3d; &#x3f; and t2.inside_code &#x3d; &#x3f; and t1.is_cancel &#x3d; &#x3f;</sql>  
1240 - <outer_join>Y</outer_join>  
1241 - <replace_vars>N</replace_vars>  
1242 - <parameter>  
1243 - <field>  
1244 - <name>xlid</name>  
1245 - <type>Integer</type>  
1246 - </field>  
1247 - <field>  
1248 - <name>&#x5185;&#x90e8;&#x7f16;&#x7801;</name>  
1249 - <type>String</type>  
1250 - </field>  
1251 - <field>  
1252 - <name>isCancel</name>  
1253 - <type>Integer</type>  
1254 - </field>  
1255 - </parameter>  
1256 - <cluster_schema/>  
1257 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1258 - <xloc>360</xloc>  
1259 - <yloc>184</yloc>  
1260 - <draw>Y</draw>  
1261 - </GUI>  
1262 - </step>  
1263 -  
1264 - <step>  
1265 - <name>&#x8fc7;&#x6ee4;&#x4eba;&#x5458;&#x914d;&#x7f6e;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</name>  
1266 - <type>FilterRows</type>  
1267 - <description/>  
1268 - <distribute>Y</distribute>  
1269 - <custom_distribution/>  
1270 - <copies>1</copies>  
1271 - <partitioning>  
1272 - <method>none</method>  
1273 - <schema_name/>  
1274 - </partitioning>  
1275 -<send_true_to/>  
1276 -<send_false_to/>  
1277 - <compare>  
1278 -<condition>  
1279 - <negated>N</negated>  
1280 - <conditions>  
1281 - <condition>  
1282 - <negated>N</negated>  
1283 - <leftvalue>rycid1</leftvalue>  
1284 - <function>IS NOT NULL</function>  
1285 - <rightvalue/>  
1286 - </condition>  
1287 - <condition>  
1288 - <negated>N</negated>  
1289 - <operator>OR</operator>  
1290 - <leftvalue>rycid2</leftvalue>  
1291 - <function>IS NOT NULL</function>  
1292 - <rightvalue/>  
1293 - </condition>  
1294 - </conditions>  
1295 - </condition>  
1296 - </compare>  
1297 - <cluster_schema/>  
1298 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1299 - <xloc>776</xloc>  
1300 - <yloc>204</yloc>  
1301 - <draw>Y</draw>  
1302 - </GUI>  
1303 - </step>  
1304 -  
1305 - <step>  
1306 - <name>&#x8fc7;&#x6ee4;&#x7ebf;&#x8def;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</name>  
1307 - <type>FilterRows</type>  
1308 - <description/>  
1309 - <distribute>Y</distribute>  
1310 - <custom_distribution/>  
1311 - <copies>1</copies>  
1312 - <partitioning>  
1313 - <method>none</method>  
1314 - <schema_name/>  
1315 - </partitioning>  
1316 -<send_true_to>&#x8f66;&#x8f86;&#x914d;&#x7f6e;id&#x67e5;&#x8be2;</send_true_to>  
1317 -<send_false_to/>  
1318 - <compare>  
1319 -<condition>  
1320 - <negated>N</negated>  
1321 - <leftvalue>xlid</leftvalue>  
1322 - <function>IS NOT NULL</function>  
1323 - <rightvalue/>  
1324 - </condition>  
1325 - </compare>  
1326 - <cluster_schema/>  
1327 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1328 - <xloc>203</xloc>  
1329 - <yloc>110</yloc>  
1330 - <draw>Y</draw>  
1331 - </GUI>  
1332 - </step>  
1333 -  
1334 - <step>  
1335 - <name>&#x8fc7;&#x6ee4;&#x8def;&#x724c;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</name>  
1336 - <type>FilterRows</type>  
1337 - <description/>  
1338 - <distribute>Y</distribute>  
1339 - <custom_distribution/>  
1340 - <copies>1</copies>  
1341 - <partitioning>  
1342 - <method>none</method>  
1343 - <schema_name/>  
1344 - </partitioning>  
1345 -<send_true_to>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</send_true_to>  
1346 -<send_false_to/>  
1347 - <compare>  
1348 -<condition>  
1349 - <negated>N</negated>  
1350 - <leftvalue>lpid</leftvalue>  
1351 - <function>IS NOT NULL</function>  
1352 - <rightvalue/>  
1353 - </condition>  
1354 - </compare>  
1355 - <cluster_schema/>  
1356 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1357 - <xloc>653</xloc>  
1358 - <yloc>23</yloc>  
1359 - <draw>Y</draw>  
1360 - </GUI>  
1361 - </step>  
1362 -  
1363 - <step>  
1364 - <name>&#x8fc7;&#x6ee4;&#x8f66;&#x8f86;&#x914d;&#x7f6e;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</name>  
1365 - <type>FilterRows</type>  
1366 - <description/>  
1367 - <distribute>Y</distribute>  
1368 - <custom_distribution/>  
1369 - <copies>1</copies>  
1370 - <partitioning>  
1371 - <method>none</method>  
1372 - <schema_name/>  
1373 - </partitioning>  
1374 -<send_true_to>&#x62c6;&#x5206;&#x8def;&#x724c;&#x8303;&#x56f4;</send_true_to>  
1375 -<send_false_to/>  
1376 - <compare>  
1377 -<condition>  
1378 - <negated>N</negated>  
1379 - <leftvalue>cid</leftvalue>  
1380 - <function>IS NOT NULL</function>  
1381 - <rightvalue/>  
1382 - </condition>  
1383 - </compare>  
1384 - <cluster_schema/>  
1385 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1386 - <xloc>208</xloc>  
1387 - <yloc>182</yloc>  
1388 - <draw>Y</draw>  
1389 - </GUI>  
1390 - </step>  
1391 -  
1392 - <step>  
1393 - <name>&#x9519;&#x8bef;&#x8f93;&#x51fa; 2</name>  
1394 - <type>ExcelOutput</type>  
1395 - <description/>  
1396 - <distribute>Y</distribute>  
1397 - <custom_distribution/>  
1398 - <copies>1</copies>  
1399 - <partitioning>  
1400 - <method>none</method>  
1401 - <schema_name/>  
1402 - </partitioning>  
1403 - <header>Y</header>  
1404 - <footer>N</footer>  
1405 - <encoding>UTF-8</encoding>  
1406 - <append>N</append>  
1407 - <add_to_result_filenames>Y</add_to_result_filenames>  
1408 - <file>  
1409 - <name>&#x24;&#x7b;erroroutputdir&#x7d;&#x2f;&#x6392;&#x7248;&#x89c4;&#x5219;&#x4fe1;&#x606f;&#x5bfc;&#x5165;_&#x9519;&#x8bef;</name>  
1410 - <extention>xls</extention>  
1411 - <do_not_open_newfile_init>N</do_not_open_newfile_init>  
1412 - <create_parent_folder>N</create_parent_folder>  
1413 - <split>N</split>  
1414 - <add_date>N</add_date>  
1415 - <add_time>N</add_time>  
1416 - <SpecifyFormat>N</SpecifyFormat>  
1417 - <date_time_format/>  
1418 - <sheetname>Sheet1</sheetname>  
1419 - <autosizecolums>N</autosizecolums>  
1420 - <nullisblank>N</nullisblank>  
1421 - <protect_sheet>N</protect_sheet>  
1422 - <password>Encrypted </password>  
1423 - <splitevery>0</splitevery>  
1424 - <usetempfiles>N</usetempfiles>  
1425 - <tempdirectory/>  
1426 - </file>  
1427 - <template>  
1428 - <enabled>N</enabled>  
1429 - <append>N</append>  
1430 - <filename>template.xls</filename>  
1431 - </template>  
1432 - <fields>  
1433 - <field>  
1434 - <name>xlid</name>  
1435 - <type>Integer</type>  
1436 - <format/>  
1437 - </field>  
1438 - <field>  
1439 - <name>cid</name>  
1440 - <type>Integer</type>  
1441 - <format/>  
1442 - </field>  
1443 - <field>  
1444 - <name>lpnames</name>  
1445 - <type>String</type>  
1446 - <format/>  
1447 - </field>  
1448 - <field>  
1449 - <name>lpids</name>  
1450 - <type>String</type>  
1451 - <format/>  
1452 - </field>  
1453 - <field>  
1454 - <name>&#x8d77;&#x59cb;&#x8def;&#x724c;</name>  
1455 - <type>String</type>  
1456 - <format/>  
1457 - </field>  
1458 - <field>  
1459 - <name>&#x8d77;&#x59cb;&#x4eba;&#x5458;</name>  
1460 - <type>String</type>  
1461 - <format/>  
1462 - </field>  
1463 - <field>  
1464 - <name>&#x4eba;&#x5458;&#x8303;&#x56f4;</name>  
1465 - <type>String</type>  
1466 - <format/>  
1467 - </field>  
1468 - <field>  
1469 - <name>&#x542f;&#x7528;&#x65e5;&#x671f;</name>  
1470 - <type>Timestamp</type>  
1471 - <format/>  
1472 - </field>  
1473 - <field>  
1474 - <name>&#x7ffb;&#x73ed;&#x683c;&#x5f0f;</name>  
1475 - <type>String</type>  
1476 - <format/>  
1477 - </field>  
1478 - <field>  
1479 - <name>isCancel</name>  
1480 - <type>Integer</type>  
1481 - <format/>  
1482 - </field>  
1483 - <field>  
1484 - <name>rycids</name>  
1485 - <type>String</type>  
1486 - <format/>  
1487 - </field>  
1488 - <field>  
1489 - <name>rybms</name>  
1490 - <type>String</type>  
1491 - <format/>  
1492 - </field>  
1493 - <field>  
1494 - <name>error_count</name>  
1495 - <type>Integer</type>  
1496 - <format/>  
1497 - </field>  
1498 - <field>  
1499 - <name>error_desc</name>  
1500 - <type>String</type>  
1501 - <format/>  
1502 - </field>  
1503 - <field>  
1504 - <name>error_column1</name>  
1505 - <type>String</type>  
1506 - <format/>  
1507 - </field>  
1508 - <field>  
1509 - <name>error_column2</name>  
1510 - <type>String</type>  
1511 - <format/>  
1512 - </field>  
1513 - </fields>  
1514 - <custom>  
1515 - <header_font_name>arial</header_font_name>  
1516 - <header_font_size>10</header_font_size>  
1517 - <header_font_bold>N</header_font_bold>  
1518 - <header_font_italic>N</header_font_italic>  
1519 - <header_font_underline>no</header_font_underline>  
1520 - <header_font_orientation>horizontal</header_font_orientation>  
1521 - <header_font_color>black</header_font_color>  
1522 - <header_background_color>none</header_background_color>  
1523 - <header_row_height>255</header_row_height>  
1524 - <header_alignment>left</header_alignment>  
1525 - <header_image/>  
1526 - <row_font_name>arial</row_font_name>  
1527 - <row_font_size>10</row_font_size>  
1528 - <row_font_color>black</row_font_color>  
1529 - <row_background_color>none</row_background_color>  
1530 - </custom>  
1531 - <cluster_schema/>  
1532 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1533 - <xloc>253</xloc>  
1534 - <yloc>501</yloc>  
1535 - <draw>Y</draw>  
1536 - </GUI>  
1537 - </step>  
1538 -  
1539 - <step>  
1540 - <name>&#x5220;&#x9664;</name>  
1541 - <type>Delete</type>  
1542 - <description/>  
1543 - <distribute>Y</distribute>  
1544 - <custom_distribution/>  
1545 - <copies>1</copies>  
1546 - <partitioning>  
1547 - <method>none</method>  
1548 - <schema_name/>  
1549 - </partitioning>  
1550 - <connection>bus_control_variable</connection>  
1551 - <commit>100</commit>  
1552 - <lookup>  
1553 - <schema/>  
1554 - <table>bsth_c_s_sr1_flat</table>  
1555 - <key>  
1556 - <name>xlid</name>  
1557 - <field>xl</field>  
1558 - <condition>&#x3d;</condition>  
1559 - <name2/>  
1560 - </key>  
1561 - </lookup>  
1562 - <cluster_schema/>  
1563 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1564 - <xloc>619</xloc>  
1565 - <yloc>370</yloc>  
1566 - <draw>Y</draw>  
1567 - </GUI>  
1568 - </step>  
1569 -  
1570 - <step>  
1571 - <name>&#x963b;&#x585e;&#x6570;&#x636e;&#x76f4;&#x5230;&#x6b65;&#x9aa4;&#x90fd;&#x5b8c;&#x6210;</name>  
1572 - <type>BlockUntilStepsFinish</type>  
1573 - <description/>  
1574 - <distribute>Y</distribute>  
1575 - <custom_distribution/>  
1576 - <copies>1</copies>  
1577 - <partitioning>  
1578 - <method>none</method>  
1579 - <schema_name/>  
1580 - </partitioning>  
1581 - <steps>  
1582 - <step>  
1583 - <name>&#x5220;&#x9664;</name>  
1584 - <CopyNr>0</CopyNr>  
1585 - </step>  
1586 - </steps>  
1587 - <cluster_schema/>  
1588 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1589 - <xloc>450</xloc>  
1590 - <yloc>370</yloc>  
1591 - <draw>Y</draw>  
1592 - </GUI>  
1593 - </step>  
1594 -  
1595 - <step>  
1596 - <name>&#x89c4;&#x5219;&#x8868;&#x8f93;&#x51fa;</name>  
1597 - <type>TableOutput</type>  
1598 - <description/>  
1599 - <distribute>Y</distribute>  
1600 - <custom_distribution/>  
1601 - <copies>1</copies>  
1602 - <partitioning>  
1603 - <method>none</method>  
1604 - <schema_name/>  
1605 - </partitioning>  
1606 - <connection>bus_control_variable</connection>  
1607 - <schema/>  
1608 - <table>bsth_c_s_sr1_flat</table>  
1609 - <commit>1000</commit>  
1610 - <truncate>N</truncate>  
1611 - <ignore_errors>N</ignore_errors>  
1612 - <use_batch>Y</use_batch>  
1613 - <specify_fields>Y</specify_fields>  
1614 - <partitioning_enabled>N</partitioning_enabled>  
1615 - <partitioning_field/>  
1616 - <partitioning_daily>N</partitioning_daily>  
1617 - <partitioning_monthly>Y</partitioning_monthly>  
1618 - <tablename_in_field>N</tablename_in_field>  
1619 - <tablename_field/>  
1620 - <tablename_in_table>Y</tablename_in_table>  
1621 - <return_keys>N</return_keys>  
1622 - <return_field/>  
1623 - <fields>  
1624 - <field>  
1625 - <column_name>xl</column_name>  
1626 - <stream_name>xlid</stream_name>  
1627 - </field>  
1628 - <field>  
1629 - <column_name>car_config_info</column_name>  
1630 - <stream_name>cid</stream_name>  
1631 - </field>  
1632 - <field>  
1633 - <column_name>lp_names</column_name>  
1634 - <stream_name>lpnames</stream_name>  
1635 - </field>  
1636 - <field>  
1637 - <column_name>lp_ids</column_name>  
1638 - <stream_name>lpids</stream_name>  
1639 - </field>  
1640 - <field>  
1641 - <column_name>lp_start</column_name>  
1642 - <stream_name>&#x8d77;&#x59cb;&#x8def;&#x724c;</stream_name>  
1643 - </field>  
1644 - <field>  
1645 - <column_name>ry_start</column_name>  
1646 - <stream_name>&#x8d77;&#x59cb;&#x4eba;&#x5458;</stream_name>  
1647 - </field>  
1648 - <field>  
1649 - <column_name>qyrq</column_name>  
1650 - <stream_name>&#x542f;&#x7528;&#x65e5;&#x671f;</stream_name>  
1651 - </field>  
1652 - <field>  
1653 - <column_name>fbgs</column_name>  
1654 - <stream_name>&#x7ffb;&#x73ed;&#x683c;&#x5f0f;</stream_name>  
1655 - </field>  
1656 - <field>  
1657 - <column_name>ry_dbbms</column_name>  
1658 - <stream_name>rybms</stream_name>  
1659 - </field>  
1660 - <field>  
1661 - <column_name>ry_config_ids</column_name>  
1662 - <stream_name>rycids</stream_name>  
1663 - </field>  
1664 - </fields>  
1665 - <cluster_schema/>  
1666 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1667 - <xloc>259</xloc>  
1668 - <yloc>369</yloc>  
1669 - <draw>Y</draw>  
1670 - </GUI>  
1671 - </step>  
1672 -  
1673 - <step_error_handling>  
1674 - <error>  
1675 - <source_step>&#x89c4;&#x5219;&#x8868;&#x8f93;&#x51fa;</source_step>  
1676 - <target_step>&#x9519;&#x8bef;&#x8f93;&#x51fa; 2</target_step>  
1677 - <is_enabled>Y</is_enabled>  
1678 - <nr_valuename>error_count</nr_valuename>  
1679 - <descriptions_valuename>error_desc</descriptions_valuename>  
1680 - <fields_valuename>error_column1</fields_valuename>  
1681 - <codes_valuename>error_column2</codes_valuename>  
1682 - <max_errors/>  
1683 - <max_pct_errors/>  
1684 - <min_pct_rows/>  
1685 - </error>  
1686 - </step_error_handling>  
1687 - <slave-step-copy-partition-distribution>  
1688 -</slave-step-copy-partition-distribution>  
1689 - <slave_transformation>N</slave_transformation>  
1690 -  
1691 -</transformation> 1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<transformation>
  3 + <info>
  4 + <name>&#x6392;&#x73ed;&#x89c4;&#x5219;&#x4fe1;&#x606f;&#x5bfc;&#x5165;</name>
  5 + <description/>
  6 + <extended_description/>
  7 + <trans_version/>
  8 + <trans_type>Normal</trans_type>
  9 + <trans_status>0</trans_status>
  10 + <directory>&#x2f;</directory>
  11 + <parameters>
  12 + <parameter>
  13 + <name>erroroutputdir</name>
  14 + <default_value>&#x2f;Users&#x2f;xu&#x2f;resource&#x2f;project_code&#x2f;bsth_project&#x2f;bsth_control_etl&#x2f;&#x5bfc;&#x5165;&#x5bfc;&#x51fa;1</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>&#x2f;Users&#x2f;xu&#x2f;resource&#x2f;project_code&#x2f;bsth_project&#x2f;bsth_control_etl&#x2f;&#x5bfc;&#x5165;&#x5bfc;&#x51fa;1&#x2f;&#x6392;&#x7248;&#x89c4;&#x5219;&#x4fe1;&#x606f;.xls</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>2017&#x2f;01&#x2f;09 10&#x3a;10&#x3a;36.915</created_date>
  81 + <modified_user>-</modified_user>
  82 + <modified_date>2017&#x2f;01&#x2f;09 10&#x3a;10&#x3a;36.915</modified_date>
  83 + <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</key_for_session_key>
  84 + <is_key_private>N</is_key_private>
  85 + </info>
  86 + <notepads>
  87 + </notepads>
  88 + <connection>
  89 + <name>192.168.168.1_jwgl_dw</name>
  90 + <server>192.168.168.1</server>
  91 + <type>ORACLE</type>
  92 + <access>Native</access>
  93 + <database>orcl</database>
  94 + <port>1521</port>
  95 + <username>jwgl_dw</username>
  96 + <password>Encrypted 2be98afc86aa7f2e4cb13b977d2adabcd</password>
  97 + <servername/>
  98 + <data_tablespace/>
  99 + <index_tablespace/>
  100 + <attributes>
  101 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  102 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  103 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  104 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  105 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  106 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  107 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  108 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  109 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  110 + </attributes>
  111 + </connection>
  112 + <connection>
  113 + <name>bus_control_variable</name>
  114 + <server>&#x24;&#x7b;v_db_ip&#x7d;</server>
  115 + <type>MYSQL</type>
  116 + <access>Native</access>
  117 + <database>&#x24;&#x7b;v_db_dname&#x7d;</database>
  118 + <port>3306</port>
  119 + <username>&#x24;&#x7b;v_db_uname&#x7d;</username>
  120 + <password>&#x24;&#x7b;v_db_pwd&#x7d;</password>
  121 + <servername/>
  122 + <data_tablespace/>
  123 + <index_tablespace/>
  124 + <attributes>
  125 + <attribute><code>EXTRA_OPTION_MYSQL.characterEncoding</code><attribute>utf8</attribute></attribute>
  126 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  127 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  128 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  129 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  130 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  131 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  132 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  133 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  134 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  135 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  136 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  137 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  138 + </attributes>
  139 + </connection>
  140 + <connection>
  141 + <name>bus_control_&#x516c;&#x53f8;_201</name>
  142 + <server>localhost</server>
  143 + <type>MYSQL</type>
  144 + <access>Native</access>
  145 + <database>control</database>
  146 + <port>3306</port>
  147 + <username>root</username>
  148 + <password>Encrypted </password>
  149 + <servername/>
  150 + <data_tablespace/>
  151 + <index_tablespace/>
  152 + <attributes>
  153 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  154 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  155 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  156 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  157 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  158 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  159 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  160 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  161 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  162 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  163 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  164 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  165 + </attributes>
  166 + </connection>
  167 + <connection>
  168 + <name>bus_control_&#x672c;&#x673a;</name>
  169 + <server>localhost</server>
  170 + <type>MYSQL</type>
  171 + <access>Native</access>
  172 + <database>control</database>
  173 + <port>3306</port>
  174 + <username>root</username>
  175 + <password>Encrypted </password>
  176 + <servername/>
  177 + <data_tablespace/>
  178 + <index_tablespace/>
  179 + <attributes>
  180 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  181 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  182 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  183 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  184 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  185 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  186 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  187 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  188 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  189 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  190 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  191 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  192 + </attributes>
  193 + </connection>
  194 + <connection>
  195 + <name>xlab_mysql_youle</name>
  196 + <server>101.231.124.8</server>
  197 + <type>MYSQL</type>
  198 + <access>Native</access>
  199 + <database>xlab_youle</database>
  200 + <port>45687</port>
  201 + <username>xlab-youle</username>
  202 + <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password>
  203 + <servername/>
  204 + <data_tablespace/>
  205 + <index_tablespace/>
  206 + <attributes>
  207 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  208 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  209 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  210 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  211 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  212 + <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute>
  213 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  214 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  215 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  216 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  217 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  218 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  219 + </attributes>
  220 + </connection>
  221 + <connection>
  222 + <name>xlab_mysql_youle&#xff08;&#x672c;&#x673a;&#xff09;</name>
  223 + <server>localhost</server>
  224 + <type>MYSQL</type>
  225 + <access>Native</access>
  226 + <database>xlab_youle</database>
  227 + <port>3306</port>
  228 + <username>root</username>
  229 + <password>Encrypted </password>
  230 + <servername/>
  231 + <data_tablespace/>
  232 + <index_tablespace/>
  233 + <attributes>
  234 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  235 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  236 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  237 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  238 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  239 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  240 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  241 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  242 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  243 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  244 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  245 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  246 + </attributes>
  247 + </connection>
  248 + <connection>
  249 + <name>xlab_youle</name>
  250 + <server/>
  251 + <type>MYSQL</type>
  252 + <access>JNDI</access>
  253 + <database>xlab_youle</database>
  254 + <port>1521</port>
  255 + <username/>
  256 + <password>Encrypted </password>
  257 + <servername/>
  258 + <data_tablespace/>
  259 + <index_tablespace/>
  260 + <attributes>
  261 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  262 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  263 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  264 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  265 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  266 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  267 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  268 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  269 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  270 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  271 + </attributes>
  272 + </connection>
  273 + <order>
  274 + <hop> <from>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</from><to>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</to><enabled>Y</enabled> </hop>
  275 + <hop> <from>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</from><to>&#x542f;&#x7528;&#x88ab;&#x6570;&#x636e;flag</to><enabled>Y</enabled> </hop>
  276 + <hop> <from>&#x62c6;&#x5206;&#x8def;&#x724c;&#x8303;&#x56f4;</from><to>&#x8def;&#x724c;id&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>
  277 + <hop> <from>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</from><to>&#x5206;&#x7ec4;&#x5408;&#x5e76;&#x8def;&#x724c;id</to><enabled>Y</enabled> </hop>
  278 + <hop> <from>&#x5206;&#x7ec4;&#x5408;&#x5e76;&#x8def;&#x724c;id</from><to>&#x62c6;&#x5206;&#x4eba;&#x5458;&#x8303;&#x56f4;</to><enabled>Y</enabled> </hop>
  279 + <hop> <from>&#x62c6;&#x5206;&#x4eba;&#x5458;&#x8303;&#x56f4;</from><to>&#x62c6;&#x5206;&#x5206;&#x73ed;&#x642d;&#x73ed;&#x7f16;&#x7801;&#x5b57;&#x6bb5;</to><enabled>Y</enabled> </hop>
  280 + <hop> <from>&#x62c6;&#x5206;&#x5206;&#x73ed;&#x642d;&#x73ed;&#x7f16;&#x7801;&#x5b57;&#x6bb5;</from><to>&#x4eba;&#x5458;&#x914d;&#x7f6e;id&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>
  281 + <hop> <from>&#x4eba;&#x5458;&#x914d;&#x7f6e;id&#x67e5;&#x8be2;</from><to>&#x4eba;&#x5458;&#x914d;&#x7f6e;id&#x67e5;&#x8be2; 2</to><enabled>Y</enabled> </hop>
  282 + <hop> <from>&#x542f;&#x7528;&#x88ab;&#x6570;&#x636e;flag</from><to>&#x7ebf;&#x8def;id&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>
  283 + <hop> <from>&#x7ebf;&#x8def;id&#x67e5;&#x8be2;</from><to>&#x8fc7;&#x6ee4;&#x7ebf;&#x8def;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>
  284 + <hop> <from>&#x8fc7;&#x6ee4;&#x7ebf;&#x8def;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</from><to>&#x8f66;&#x8f86;&#x914d;&#x7f6e;id&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>
  285 + <hop> <from>&#x8f66;&#x8f86;&#x914d;&#x7f6e;id&#x67e5;&#x8be2;</from><to>&#x8fc7;&#x6ee4;&#x8f66;&#x8f86;&#x914d;&#x7f6e;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>
  286 + <hop> <from>&#x8fc7;&#x6ee4;&#x8f66;&#x8f86;&#x914d;&#x7f6e;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</from><to>&#x62c6;&#x5206;&#x8def;&#x724c;&#x8303;&#x56f4;</to><enabled>Y</enabled> </hop>
  287 + <hop> <from>&#x8def;&#x724c;id&#x67e5;&#x8be2;</from><to>&#x8fc7;&#x6ee4;&#x8def;&#x724c;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>
  288 + <hop> <from>&#x8fc7;&#x6ee4;&#x8def;&#x724c;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</from><to>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>
  289 + <hop> <from>&#x4eba;&#x5458;&#x914d;&#x7f6e;id&#x67e5;&#x8be2; 2</from><to>&#x8fc7;&#x6ee4;&#x4eba;&#x5458;&#x914d;&#x7f6e;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>
  290 + <hop> <from>&#x8fc7;&#x6ee4;&#x4eba;&#x5458;&#x914d;&#x7f6e;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</from><to>&#x5408;&#x5e76;&#x5206;&#x73ed;&#x4eba;&#x5458;&#x914d;&#x7f6e;id</to><enabled>Y</enabled> </hop>
  291 + <hop> <from>&#x5408;&#x5e76;&#x5206;&#x73ed;&#x4eba;&#x5458;&#x914d;&#x7f6e;id</from><to>&#x6392;&#x5e8f;&#x8bb0;&#x5f55; 2</to><enabled>Y</enabled> </hop>
  292 + <hop> <from>&#x6392;&#x5e8f;&#x8bb0;&#x5f55; 2</from><to>&#x5206;&#x7ec4;&#x5408;&#x5e76;&#x4eba;&#x5458;&#x914d;&#x7f6e;id</to><enabled>Y</enabled> </hop>
  293 + <hop> <from>&#x5206;&#x7ec4;&#x5408;&#x5e76;&#x4eba;&#x5458;&#x914d;&#x7f6e;id</from><to>&#x542f;&#x7528;&#x65e5;&#x671f;&#x8f6c;&#x6362;</to><enabled>Y</enabled> </hop>
  294 + <hop> <from>&#x5220;&#x9664;</from><to>&#x963b;&#x585e;&#x6570;&#x636e;&#x76f4;&#x5230;&#x6b65;&#x9aa4;&#x90fd;&#x5b8c;&#x6210;</to><enabled>Y</enabled> </hop>
  295 + <hop> <from>&#x963b;&#x585e;&#x6570;&#x636e;&#x76f4;&#x5230;&#x6b65;&#x9aa4;&#x90fd;&#x5b8c;&#x6210;</from><to>&#x89c4;&#x5219;&#x8868;&#x8f93;&#x51fa;</to><enabled>Y</enabled> </hop>
  296 + <hop> <from>&#x89c4;&#x5219;&#x8868;&#x8f93;&#x51fa;</from><to>&#x9519;&#x8bef;&#x8f93;&#x51fa; 2</to><enabled>Y</enabled> </hop>
  297 + <hop> <from>&#x542f;&#x7528;&#x65e5;&#x671f;&#x8f6c;&#x6362;</from><to>&#x9ed8;&#x8ba4;&#x7ffb;&#x73ed;&#x7c7b;&#x578b;</to><enabled>Y</enabled> </hop>
  298 + <hop> <from>&#x9ed8;&#x8ba4;&#x7ffb;&#x73ed;&#x7c7b;&#x578b;</from><to>&#x5220;&#x9664;</to><enabled>Y</enabled> </hop>
  299 + </order>
  300 + <step>
  301 + <name>&#x4eba;&#x5458;&#x914d;&#x7f6e;id&#x67e5;&#x8be2;</name>
  302 + <type>DBLookup</type>
  303 + <description/>
  304 + <distribute>Y</distribute>
  305 + <custom_distribution/>
  306 + <copies>1</copies>
  307 + <partitioning>
  308 + <method>none</method>
  309 + <schema_name/>
  310 + </partitioning>
  311 + <connection>bus_control_variable</connection>
  312 + <cache>N</cache>
  313 + <cache_load_all>Y</cache_load_all>
  314 + <cache_size>0</cache_size>
  315 + <lookup>
  316 + <schema/>
  317 + <table>bsth_c_s_ecinfo</table>
  318 + <orderby/>
  319 + <fail_on_multiple>N</fail_on_multiple>
  320 + <eat_row_on_failure>N</eat_row_on_failure>
  321 + <key>
  322 + <name>xlid</name>
  323 + <field>xl</field>
  324 + <condition>&#x3d;</condition>
  325 + <name2/>
  326 + </key>
  327 + <key>
  328 + <name>dbbm1</name>
  329 + <field>dbbm</field>
  330 + <condition>&#x3d;</condition>
  331 + <name2/>
  332 + </key>
  333 + <key>
  334 + <name>isCancel</name>
  335 + <field>is_cancel</field>
  336 + <condition>&#x3d;</condition>
  337 + <name2/>
  338 + </key>
  339 + <value>
  340 + <name>id</name>
  341 + <rename>rycid1</rename>
  342 + <default/>
  343 + <type>Integer</type>
  344 + </value>
  345 + </lookup>
  346 + <cluster_schema/>
  347 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  348 + <xloc>904</xloc>
  349 + <yloc>101</yloc>
  350 + <draw>Y</draw>
  351 + </GUI>
  352 + </step>
  353 +
  354 + <step>
  355 + <name>&#x4eba;&#x5458;&#x914d;&#x7f6e;id&#x67e5;&#x8be2; 2</name>
  356 + <type>DBLookup</type>
  357 + <description/>
  358 + <distribute>Y</distribute>
  359 + <custom_distribution/>
  360 + <copies>1</copies>
  361 + <partitioning>
  362 + <method>none</method>
  363 + <schema_name/>
  364 + </partitioning>
  365 + <connection>bus_control_variable</connection>
  366 + <cache>N</cache>
  367 + <cache_load_all>Y</cache_load_all>
  368 + <cache_size>0</cache_size>
  369 + <lookup>
  370 + <schema/>
  371 + <table>bsth_c_s_ecinfo</table>
  372 + <orderby/>
  373 + <fail_on_multiple>N</fail_on_multiple>
  374 + <eat_row_on_failure>N</eat_row_on_failure>
  375 + <key>
  376 + <name>xlid</name>
  377 + <field>xl</field>
  378 + <condition>&#x3d;</condition>
  379 + <name2/>
  380 + </key>
  381 + <key>
  382 + <name>dbbm2</name>
  383 + <field>dbbm</field>
  384 + <condition>&#x3d;</condition>
  385 + <name2/>
  386 + </key>
  387 + <key>
  388 + <name>isCancel</name>
  389 + <field>is_cancel</field>
  390 + <condition>&#x3d;</condition>
  391 + <name2/>
  392 + </key>
  393 + <value>
  394 + <name>id</name>
  395 + <rename>rycid2</rename>
  396 + <default/>
  397 + <type>Integer</type>
  398 + </value>
  399 + </lookup>
  400 + <cluster_schema/>
  401 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  402 + <xloc>778</xloc>
  403 + <yloc>103</yloc>
  404 + <draw>Y</draw>
  405 + </GUI>
  406 + </step>
  407 +
  408 + <step>
  409 + <name>&#x5206;&#x7ec4;&#x5408;&#x5e76;&#x4eba;&#x5458;&#x914d;&#x7f6e;id</name>
  410 + <type>GroupBy</type>
  411 + <description/>
  412 + <distribute>Y</distribute>
  413 + <custom_distribution/>
  414 + <copies>1</copies>
  415 + <partitioning>
  416 + <method>none</method>
  417 + <schema_name/>
  418 + </partitioning>
  419 + <all_rows>N</all_rows>
  420 + <ignore_aggregate>N</ignore_aggregate>
  421 + <field_ignore/>
  422 + <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
  423 + <prefix>grp</prefix>
  424 + <add_linenr>N</add_linenr>
  425 + <linenr_fieldname/>
  426 + <give_back_row>N</give_back_row>
  427 + <group>
  428 + <field>
  429 + <name>xlid</name>
  430 + </field>
  431 + <field>
  432 + <name>cid</name>
  433 + </field>
  434 + <field>
  435 + <name>lpnames</name>
  436 + </field>
  437 + <field>
  438 + <name>lpids</name>
  439 + </field>
  440 + <field>
  441 + <name>&#x8d77;&#x59cb;&#x8def;&#x724c;</name>
  442 + </field>
  443 + <field>
  444 + <name>&#x8d77;&#x59cb;&#x4eba;&#x5458;</name>
  445 + </field>
  446 + <field>
  447 + <name>&#x4eba;&#x5458;&#x8303;&#x56f4;</name>
  448 + </field>
  449 + <field>
  450 + <name>&#x542f;&#x7528;&#x65e5;&#x671f;</name>
  451 + </field>
  452 + <field>
  453 + <name>&#x7ffb;&#x73ed;&#x683c;&#x5f0f;</name>
  454 + </field>
  455 + <field>
  456 + <name>isCancel</name>
  457 + </field>
  458 + </group>
  459 + <fields>
  460 + <field>
  461 + <aggregate>rycids</aggregate>
  462 + <subject>rycid</subject>
  463 + <type>CONCAT_STRING</type>
  464 + <valuefield>,</valuefield>
  465 + </field>
  466 + <field>
  467 + <aggregate>rybms</aggregate>
  468 + <subject>rybm</subject>
  469 + <type>CONCAT_STRING</type>
  470 + <valuefield>,</valuefield>
  471 + </field>
  472 + </fields>
  473 + <cluster_schema/>
  474 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  475 + <xloc>780</xloc>
  476 + <yloc>291</yloc>
  477 + <draw>Y</draw>
  478 + </GUI>
  479 + </step>
  480 +
  481 + <step>
  482 + <name>&#x5206;&#x7ec4;&#x5408;&#x5e76;&#x8def;&#x724c;id</name>
  483 + <type>GroupBy</type>
  484 + <description/>
  485 + <distribute>Y</distribute>
  486 + <custom_distribution/>
  487 + <copies>1</copies>
  488 + <partitioning>
  489 + <method>none</method>
  490 + <schema_name/>
  491 + </partitioning>
  492 + <all_rows>N</all_rows>
  493 + <ignore_aggregate>N</ignore_aggregate>
  494 + <field_ignore/>
  495 + <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
  496 + <prefix>grp</prefix>
  497 + <add_linenr>N</add_linenr>
  498 + <linenr_fieldname/>
  499 + <give_back_row>N</give_back_row>
  500 + <group>
  501 + <field>
  502 + <name>xlid</name>
  503 + </field>
  504 + <field>
  505 + <name>cid</name>
  506 + </field>
  507 + <field>
  508 + <name>&#x8d77;&#x59cb;&#x8def;&#x724c;</name>
  509 + </field>
  510 + <field>
  511 + <name>&#x8d77;&#x59cb;&#x4eba;&#x5458;</name>
  512 + </field>
  513 + <field>
  514 + <name>&#x4eba;&#x5458;&#x8303;&#x56f4;</name>
  515 + </field>
  516 + <field>
  517 + <name>&#x542f;&#x7528;&#x65e5;&#x671f;</name>
  518 + </field>
  519 + <field>
  520 + <name>&#x7ffb;&#x73ed;&#x683c;&#x5f0f;</name>
  521 + </field>
  522 + <field>
  523 + <name>isCancel</name>
  524 + </field>
  525 + </group>
  526 + <fields>
  527 + <field>
  528 + <aggregate>lpids</aggregate>
  529 + <subject>lpid</subject>
  530 + <type>CONCAT_STRING</type>
  531 + <valuefield>,</valuefield>
  532 + </field>
  533 + <field>
  534 + <aggregate>lpnames</aggregate>
  535 + <subject>lpname</subject>
  536 + <type>CONCAT_STRING</type>
  537 + <valuefield>,</valuefield>
  538 + </field>
  539 + </fields>
  540 + <cluster_schema/>
  541 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  542 + <xloc>653</xloc>
  543 + <yloc>119</yloc>
  544 + <draw>Y</draw>
  545 + </GUI>
  546 + </step>
  547 +
  548 + <step>
  549 + <name>&#x5220;&#x9664;</name>
  550 + <type>Delete</type>
  551 + <description/>
  552 + <distribute>Y</distribute>
  553 + <custom_distribution/>
  554 + <copies>1</copies>
  555 + <partitioning>
  556 + <method>none</method>
  557 + <schema_name/>
  558 + </partitioning>
  559 + <connection>bus_control_variable</connection>
  560 + <commit>100</commit>
  561 + <lookup>
  562 + <schema/>
  563 + <table>bsth_c_s_sr1_flat</table>
  564 + <key>
  565 + <name>xlid</name>
  566 + <field>xl</field>
  567 + <condition>&#x3d;</condition>
  568 + <name2/>
  569 + </key>
  570 + </lookup>
  571 + <cluster_schema/>
  572 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  573 + <xloc>508</xloc>
  574 + <yloc>381</yloc>
  575 + <draw>Y</draw>
  576 + </GUI>
  577 + </step>
  578 +
  579 + <step>
  580 + <name>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</name>
  581 + <type>ExcelInput</type>
  582 + <description/>
  583 + <distribute>Y</distribute>
  584 + <custom_distribution/>
  585 + <copies>1</copies>
  586 + <partitioning>
  587 + <method>none</method>
  588 + <schema_name/>
  589 + </partitioning>
  590 + <header>Y</header>
  591 + <noempty>Y</noempty>
  592 + <stoponempty>N</stoponempty>
  593 + <filefield/>
  594 + <sheetfield/>
  595 + <sheetrownumfield/>
  596 + <rownumfield/>
  597 + <sheetfield/>
  598 + <filefield/>
  599 + <limit>0</limit>
  600 + <encoding/>
  601 + <add_to_result_filenames>Y</add_to_result_filenames>
  602 + <accept_filenames>Y</accept_filenames>
  603 + <accept_field>filepath_</accept_field>
  604 + <accept_stepname>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</accept_stepname>
  605 + <file>
  606 + <name/>
  607 + <filemask/>
  608 + <exclude_filemask/>
  609 + <file_required>N</file_required>
  610 + <include_subfolders>N</include_subfolders>
  611 + </file>
  612 + <fields>
  613 + <field>
  614 + <name>&#x7ebf;&#x8def;</name>
  615 + <type>String</type>
  616 + <length>-1</length>
  617 + <precision>-1</precision>
  618 + <trim_type>none</trim_type>
  619 + <repeat>N</repeat>
  620 + <format/>
  621 + <currency/>
  622 + <decimal/>
  623 + <group/>
  624 + </field>
  625 + <field>
  626 + <name>&#x5185;&#x90e8;&#x7f16;&#x7801;</name>
  627 + <type>String</type>
  628 + <length>-1</length>
  629 + <precision>-1</precision>
  630 + <trim_type>none</trim_type>
  631 + <repeat>N</repeat>
  632 + <format/>
  633 + <currency/>
  634 + <decimal/>
  635 + <group/>
  636 + </field>
  637 + <field>
  638 + <name>&#x542f;&#x7528;&#x65e5;&#x671f;</name>
  639 + <type>String</type>
  640 + <length>-1</length>
  641 + <precision>-1</precision>
  642 + <trim_type>none</trim_type>
  643 + <repeat>N</repeat>
  644 + <format/>
  645 + <currency/>
  646 + <decimal/>
  647 + <group/>
  648 + </field>
  649 + <field>
  650 + <name>&#x8d77;&#x59cb;&#x8def;&#x724c;</name>
  651 + <type>String</type>
  652 + <length>-1</length>
  653 + <precision>-1</precision>
  654 + <trim_type>none</trim_type>
  655 + <repeat>N</repeat>
  656 + <format>&#x23;</format>
  657 + <currency/>
  658 + <decimal/>
  659 + <group/>
  660 + </field>
  661 + <field>
  662 + <name>&#x8def;&#x724c;&#x8303;&#x56f4;</name>
  663 + <type>String</type>
  664 + <length>-1</length>
  665 + <precision>-1</precision>
  666 + <trim_type>none</trim_type>
  667 + <repeat>N</repeat>
  668 + <format>&#x23;</format>
  669 + <currency/>
  670 + <decimal/>
  671 + <group/>
  672 + </field>
  673 + <field>
  674 + <name>&#x8d77;&#x59cb;&#x4eba;&#x5458;</name>
  675 + <type>String</type>
  676 + <length>-1</length>
  677 + <precision>-1</precision>
  678 + <trim_type>none</trim_type>
  679 + <repeat>N</repeat>
  680 + <format>&#x23;</format>
  681 + <currency/>
  682 + <decimal/>
  683 + <group/>
  684 + </field>
  685 + <field>
  686 + <name>&#x4eba;&#x5458;&#x8303;&#x56f4;</name>
  687 + <type>String</type>
  688 + <length>-1</length>
  689 + <precision>-1</precision>
  690 + <trim_type>none</trim_type>
  691 + <repeat>N</repeat>
  692 + <format>&#x23;</format>
  693 + <currency/>
  694 + <decimal/>
  695 + <group/>
  696 + </field>
  697 + <field>
  698 + <name>&#x7ffb;&#x73ed;&#x683c;&#x5f0f;</name>
  699 + <type>String</type>
  700 + <length>-1</length>
  701 + <precision>-1</precision>
  702 + <trim_type>none</trim_type>
  703 + <repeat>N</repeat>
  704 + <format>&#x23;</format>
  705 + <currency/>
  706 + <decimal/>
  707 + <group/>
  708 + </field>
  709 + </fields>
  710 + <sheets>
  711 + <sheet>
  712 + <name>&#x5de5;&#x4f5c;&#x8868;1</name>
  713 + <startrow>0</startrow>
  714 + <startcol>0</startcol>
  715 + </sheet>
  716 + </sheets>
  717 + <strict_types>N</strict_types>
  718 + <error_ignored>N</error_ignored>
  719 + <error_line_skipped>N</error_line_skipped>
  720 + <bad_line_files_destination_directory/>
  721 + <bad_line_files_extension>warning</bad_line_files_extension>
  722 + <error_line_files_destination_directory/>
  723 + <error_line_files_extension>error</error_line_files_extension>
  724 + <line_number_files_destination_directory/>
  725 + <line_number_files_extension>line</line_number_files_extension>
  726 + <shortFileFieldName/>
  727 + <pathFieldName/>
  728 + <hiddenFieldName/>
  729 + <lastModificationTimeFieldName/>
  730 + <uriNameFieldName/>
  731 + <rootUriNameFieldName/>
  732 + <extensionFieldName/>
  733 + <sizeFieldName/>
  734 + <spreadsheet_type>JXL</spreadsheet_type>
  735 + <cluster_schema/>
  736 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  737 + <xloc>208</xloc>
  738 + <yloc>21</yloc>
  739 + <draw>Y</draw>
  740 + </GUI>
  741 + </step>
  742 +
  743 + <step>
  744 + <name>&#x5408;&#x5e76;&#x5206;&#x73ed;&#x4eba;&#x5458;&#x914d;&#x7f6e;id</name>
  745 + <type>ScriptValueMod</type>
  746 + <description/>
  747 + <distribute>Y</distribute>
  748 + <custom_distribution/>
  749 + <copies>1</copies>
  750 + <partitioning>
  751 + <method>none</method>
  752 + <schema_name/>
  753 + </partitioning>
  754 + <compatible>N</compatible>
  755 + <optimizationLevel>9</optimizationLevel>
  756 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  757 + <jsScript_name>Script 1</jsScript_name>
  758 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var rycid&#x3b;&#xa;var rybm&#x3b;&#xa;&#xa;if &#x28;rycid2 &#x3d;&#x3d; null&#x29; &#x7b;&#xa; rycid &#x3d; rycid1&#x3b;&#xa; rybm &#x3d; dbbm1&#x3b;&#xa;&#x7d; else &#x7b;&#xa; rycid &#x3d; rycid1 &#x2b; &#x22;-&#x22; &#x2b; rycid2&#x3b;&#xa; rybm &#x3d; dbbm1 &#x2b; &#x22;-&#x22; &#x2b; dbbm2&#x3b;&#xa;&#x7d;</jsScript_script>
  759 + </jsScript> </jsScripts> <fields> <field> <name>rycid</name>
  760 + <rename>rycid</rename>
  761 + <type>String</type>
  762 + <length>-1</length>
  763 + <precision>-1</precision>
  764 + <replace>N</replace>
  765 + </field> <field> <name>rybm</name>
  766 + <rename>rybm</rename>
  767 + <type>String</type>
  768 + <length>-1</length>
  769 + <precision>-1</precision>
  770 + <replace>N</replace>
  771 + </field> </fields> <cluster_schema/>
  772 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  773 + <xloc>917</xloc>
  774 + <yloc>201</yloc>
  775 + <draw>Y</draw>
  776 + </GUI>
  777 + </step>
  778 +
  779 + <step>
  780 + <name>&#x542f;&#x7528;&#x65e5;&#x671f;&#x8f6c;&#x6362;</name>
  781 + <type>SelectValues</type>
  782 + <description/>
  783 + <distribute>Y</distribute>
  784 + <custom_distribution/>
  785 + <copies>1</copies>
  786 + <partitioning>
  787 + <method>none</method>
  788 + <schema_name/>
  789 + </partitioning>
  790 + <fields> <select_unspecified>N</select_unspecified>
  791 + <meta> <name>&#x542f;&#x7528;&#x65e5;&#x671f;</name>
  792 + <rename>&#x542f;&#x7528;&#x65e5;&#x671f;</rename>
  793 + <type>Timestamp</type>
  794 + <length>-2</length>
  795 + <precision>-2</precision>
  796 + <conversion_mask>yyyy-MM-dd</conversion_mask>
  797 + <date_format_lenient>false</date_format_lenient>
  798 + <date_format_locale/>
  799 + <date_format_timezone/>
  800 + <lenient_string_to_number>false</lenient_string_to_number>
  801 + <encoding/>
  802 + <decimal_symbol/>
  803 + <grouping_symbol/>
  804 + <currency_symbol/>
  805 + <storage_type/>
  806 + </meta> </fields> <cluster_schema/>
  807 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  808 + <xloc>777</xloc>
  809 + <yloc>368</yloc>
  810 + <draw>Y</draw>
  811 + </GUI>
  812 + </step>
  813 +
  814 + <step>
  815 + <name>&#x542f;&#x7528;&#x88ab;&#x6570;&#x636e;flag</name>
  816 + <type>Constant</type>
  817 + <description/>
  818 + <distribute>Y</distribute>
  819 + <custom_distribution/>
  820 + <copies>1</copies>
  821 + <partitioning>
  822 + <method>none</method>
  823 + <schema_name/>
  824 + </partitioning>
  825 + <fields>
  826 + <field>
  827 + <name>isCancel</name>
  828 + <type>Integer</type>
  829 + <format/>
  830 + <currency/>
  831 + <decimal/>
  832 + <group/>
  833 + <nullif>0</nullif>
  834 + <length>-1</length>
  835 + <precision>-1</precision>
  836 + <set_empty_string>N</set_empty_string>
  837 + </field>
  838 + </fields>
  839 + <cluster_schema/>
  840 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  841 + <xloc>361</xloc>
  842 + <yloc>22</yloc>
  843 + <draw>Y</draw>
  844 + </GUI>
  845 + </step>
  846 +
  847 + <step>
  848 + <name>&#x62c6;&#x5206;&#x4eba;&#x5458;&#x8303;&#x56f4;</name>
  849 + <type>SplitFieldToRows3</type>
  850 + <description/>
  851 + <distribute>Y</distribute>
  852 + <custom_distribution/>
  853 + <copies>1</copies>
  854 + <partitioning>
  855 + <method>none</method>
  856 + <schema_name/>
  857 + </partitioning>
  858 + <splitfield>&#x4eba;&#x5458;&#x8303;&#x56f4;</splitfield>
  859 + <delimiter>,</delimiter>
  860 + <newfield>dbbm</newfield>
  861 + <rownum>N</rownum>
  862 + <rownum_field/>
  863 + <resetrownumber>Y</resetrownumber>
  864 + <delimiter_is_regex>N</delimiter_is_regex>
  865 + <cluster_schema/>
  866 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  867 + <xloc>777</xloc>
  868 + <yloc>22</yloc>
  869 + <draw>Y</draw>
  870 + </GUI>
  871 + </step>
  872 +
  873 + <step>
  874 + <name>&#x62c6;&#x5206;&#x5206;&#x73ed;&#x642d;&#x73ed;&#x7f16;&#x7801;&#x5b57;&#x6bb5;</name>
  875 + <type>FieldSplitter</type>
  876 + <description/>
  877 + <distribute>Y</distribute>
  878 + <custom_distribution/>
  879 + <copies>1</copies>
  880 + <partitioning>
  881 + <method>none</method>
  882 + <schema_name/>
  883 + </partitioning>
  884 + <splitfield>dbbm</splitfield>
  885 + <delimiter>-</delimiter>
  886 + <enclosure/>
  887 + <fields> <field> <name>dbbm1</name>
  888 + <id/>
  889 + <idrem>N</idrem>
  890 + <type>String</type>
  891 + <format/>
  892 + <group/>
  893 + <decimal/>
  894 + <currency/>
  895 + <length>-1</length>
  896 + <precision>-1</precision>
  897 + <nullif/>
  898 + <ifnull/>
  899 + <trimtype>none</trimtype>
  900 + </field> <field> <name>dbbm2</name>
  901 + <id/>
  902 + <idrem>N</idrem>
  903 + <type>String</type>
  904 + <format/>
  905 + <group/>
  906 + <decimal/>
  907 + <currency/>
  908 + <length>-1</length>
  909 + <precision>-1</precision>
  910 + <nullif/>
  911 + <ifnull/>
  912 + <trimtype>none</trimtype>
  913 + </field> </fields> <cluster_schema/>
  914 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  915 + <xloc>901</xloc>
  916 + <yloc>22</yloc>
  917 + <draw>Y</draw>
  918 + </GUI>
  919 + </step>
  920 +
  921 + <step>
  922 + <name>&#x62c6;&#x5206;&#x8def;&#x724c;&#x8303;&#x56f4;</name>
  923 + <type>SplitFieldToRows3</type>
  924 + <description/>
  925 + <distribute>Y</distribute>
  926 + <custom_distribution/>
  927 + <copies>1</copies>
  928 + <partitioning>
  929 + <method>none</method>
  930 + <schema_name/>
  931 + </partitioning>
  932 + <splitfield>&#x8def;&#x724c;&#x8303;&#x56f4;</splitfield>
  933 + <delimiter>,</delimiter>
  934 + <newfield>lpname</newfield>
  935 + <rownum>N</rownum>
  936 + <rownum_field/>
  937 + <resetrownumber>Y</resetrownumber>
  938 + <delimiter_is_regex>N</delimiter_is_regex>
  939 + <cluster_schema/>
  940 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  941 + <xloc>364</xloc>
  942 + <yloc>259</yloc>
  943 + <draw>Y</draw>
  944 + </GUI>
  945 + </step>
  946 +
  947 + <step>
  948 + <name>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</name>
  949 + <type>SortRows</type>
  950 + <description/>
  951 + <distribute>Y</distribute>
  952 + <custom_distribution/>
  953 + <copies>1</copies>
  954 + <partitioning>
  955 + <method>none</method>
  956 + <schema_name/>
  957 + </partitioning>
  958 + <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
  959 + <prefix>out</prefix>
  960 + <sort_size>1000000</sort_size>
  961 + <free_memory/>
  962 + <compress>N</compress>
  963 + <compress_variable/>
  964 + <unique_rows>N</unique_rows>
  965 + <fields>
  966 + <field>
  967 + <name>xlid</name>
  968 + <ascending>Y</ascending>
  969 + <case_sensitive>N</case_sensitive>
  970 + <presorted>N</presorted>
  971 + </field>
  972 + <field>
  973 + <name>cid</name>
  974 + <ascending>Y</ascending>
  975 + <case_sensitive>N</case_sensitive>
  976 + <presorted>N</presorted>
  977 + </field>
  978 + <field>
  979 + <name>&#x8d77;&#x59cb;&#x8def;&#x724c;</name>
  980 + <ascending>Y</ascending>
  981 + <case_sensitive>N</case_sensitive>
  982 + <presorted>N</presorted>
  983 + </field>
  984 + <field>
  985 + <name>&#x8d77;&#x59cb;&#x4eba;&#x5458;</name>
  986 + <ascending>Y</ascending>
  987 + <case_sensitive>N</case_sensitive>
  988 + <presorted>N</presorted>
  989 + </field>
  990 + <field>
  991 + <name>&#x4eba;&#x5458;&#x8303;&#x56f4;</name>
  992 + <ascending>Y</ascending>
  993 + <case_sensitive>N</case_sensitive>
  994 + <presorted>N</presorted>
  995 + </field>
  996 + <field>
  997 + <name>&#x542f;&#x7528;&#x65e5;&#x671f;</name>
  998 + <ascending>Y</ascending>
  999 + <case_sensitive>N</case_sensitive>
  1000 + <presorted>N</presorted>
  1001 + </field>
  1002 + <field>
  1003 + <name>&#x7ffb;&#x73ed;&#x683c;&#x5f0f;</name>
  1004 + <ascending>Y</ascending>
  1005 + <case_sensitive>N</case_sensitive>
  1006 + <presorted>N</presorted>
  1007 + </field>
  1008 + <field>
  1009 + <name>isCancel</name>
  1010 + <ascending>Y</ascending>
  1011 + <case_sensitive>N</case_sensitive>
  1012 + <presorted>N</presorted>
  1013 + </field>
  1014 + </fields>
  1015 + <cluster_schema/>
  1016 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1017 + <xloc>516</xloc>
  1018 + <yloc>119</yloc>
  1019 + <draw>Y</draw>
  1020 + </GUI>
  1021 + </step>
  1022 +
  1023 + <step>
  1024 + <name>&#x6392;&#x5e8f;&#x8bb0;&#x5f55; 2</name>
  1025 + <type>SortRows</type>
  1026 + <description/>
  1027 + <distribute>Y</distribute>
  1028 + <custom_distribution/>
  1029 + <copies>1</copies>
  1030 + <partitioning>
  1031 + <method>none</method>
  1032 + <schema_name/>
  1033 + </partitioning>
  1034 + <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
  1035 + <prefix>out</prefix>
  1036 + <sort_size>1000000</sort_size>
  1037 + <free_memory/>
  1038 + <compress>N</compress>
  1039 + <compress_variable/>
  1040 + <unique_rows>N</unique_rows>
  1041 + <fields>
  1042 + <field>
  1043 + <name>xlid</name>
  1044 + <ascending>Y</ascending>
  1045 + <case_sensitive>N</case_sensitive>
  1046 + <presorted>N</presorted>
  1047 + </field>
  1048 + <field>
  1049 + <name>cid</name>
  1050 + <ascending>Y</ascending>
  1051 + <case_sensitive>N</case_sensitive>
  1052 + <presorted>N</presorted>
  1053 + </field>
  1054 + <field>
  1055 + <name>lpnames</name>
  1056 + <ascending>Y</ascending>
  1057 + <case_sensitive>N</case_sensitive>
  1058 + <presorted>N</presorted>
  1059 + </field>
  1060 + <field>
  1061 + <name>lpids</name>
  1062 + <ascending>Y</ascending>
  1063 + <case_sensitive>N</case_sensitive>
  1064 + <presorted>N</presorted>
  1065 + </field>
  1066 + <field>
  1067 + <name>&#x8d77;&#x59cb;&#x8def;&#x724c;</name>
  1068 + <ascending>Y</ascending>
  1069 + <case_sensitive>N</case_sensitive>
  1070 + <presorted>N</presorted>
  1071 + </field>
  1072 + <field>
  1073 + <name>&#x8d77;&#x59cb;&#x4eba;&#x5458;</name>
  1074 + <ascending>Y</ascending>
  1075 + <case_sensitive>N</case_sensitive>
  1076 + <presorted>N</presorted>
  1077 + </field>
  1078 + <field>
  1079 + <name>&#x4eba;&#x5458;&#x8303;&#x56f4;</name>
  1080 + <ascending>Y</ascending>
  1081 + <case_sensitive>N</case_sensitive>
  1082 + <presorted>N</presorted>
  1083 + </field>
  1084 + <field>
  1085 + <name>&#x542f;&#x7528;&#x65e5;&#x671f;</name>
  1086 + <ascending>Y</ascending>
  1087 + <case_sensitive>N</case_sensitive>
  1088 + <presorted>N</presorted>
  1089 + </field>
  1090 + <field>
  1091 + <name>&#x7ffb;&#x73ed;&#x683c;&#x5f0f;</name>
  1092 + <ascending>Y</ascending>
  1093 + <case_sensitive>N</case_sensitive>
  1094 + <presorted>N</presorted>
  1095 + </field>
  1096 + <field>
  1097 + <name>isCancel</name>
  1098 + <ascending>Y</ascending>
  1099 + <case_sensitive>N</case_sensitive>
  1100 + <presorted>N</presorted>
  1101 + </field>
  1102 + </fields>
  1103 + <cluster_schema/>
  1104 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1105 + <xloc>919</xloc>
  1106 + <yloc>289</yloc>
  1107 + <draw>Y</draw>
  1108 + </GUI>
  1109 + </step>
  1110 +
  1111 + <step>
  1112 + <name>&#x7ebf;&#x8def;id&#x67e5;&#x8be2;</name>
  1113 + <type>DBLookup</type>
  1114 + <description/>
  1115 + <distribute>Y</distribute>
  1116 + <custom_distribution/>
  1117 + <copies>1</copies>
  1118 + <partitioning>
  1119 + <method>none</method>
  1120 + <schema_name/>
  1121 + </partitioning>
  1122 + <connection>bus_control_variable</connection>
  1123 + <cache>N</cache>
  1124 + <cache_load_all>Y</cache_load_all>
  1125 + <cache_size>0</cache_size>
  1126 + <lookup>
  1127 + <schema/>
  1128 + <table>bsth_c_line</table>
  1129 + <orderby/>
  1130 + <fail_on_multiple>N</fail_on_multiple>
  1131 + <eat_row_on_failure>N</eat_row_on_failure>
  1132 + <key>
  1133 + <name>&#x7ebf;&#x8def;</name>
  1134 + <field>name</field>
  1135 + <condition>&#x3d;</condition>
  1136 + <name2/>
  1137 + </key>
  1138 + <key>
  1139 + <name>isCancel</name>
  1140 + <field>destroy</field>
  1141 + <condition>&#x3d;</condition>
  1142 + <name2/>
  1143 + </key>
  1144 + <value>
  1145 + <name>id</name>
  1146 + <rename>xlid</rename>
  1147 + <default/>
  1148 + <type>Integer</type>
  1149 + </value>
  1150 + </lookup>
  1151 + <cluster_schema/>
  1152 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1153 + <xloc>359</xloc>
  1154 + <yloc>110</yloc>
  1155 + <draw>Y</draw>
  1156 + </GUI>
  1157 + </step>
  1158 +
  1159 + <step>
  1160 + <name>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</name>
  1161 + <type>GetVariable</type>
  1162 + <description/>
  1163 + <distribute>Y</distribute>
  1164 + <custom_distribution/>
  1165 + <copies>1</copies>
  1166 + <partitioning>
  1167 + <method>none</method>
  1168 + <schema_name/>
  1169 + </partitioning>
  1170 + <fields>
  1171 + <field>
  1172 + <name>filepath_</name>
  1173 + <variable>&#x24;&#x7b;filepath&#x7d;</variable>
  1174 + <type>String</type>
  1175 + <format/>
  1176 + <currency/>
  1177 + <decimal/>
  1178 + <group/>
  1179 + <length>-1</length>
  1180 + <precision>-1</precision>
  1181 + <trim_type>none</trim_type>
  1182 + </field>
  1183 + <field>
  1184 + <name>erroroutputdir_</name>
  1185 + <variable>&#x24;&#x7b;erroroutputdir&#x7d;</variable>
  1186 + <type>String</type>
  1187 + <format/>
  1188 + <currency/>
  1189 + <decimal/>
  1190 + <group/>
  1191 + <length>-1</length>
  1192 + <precision>-1</precision>
  1193 + <trim_type>none</trim_type>
  1194 + </field>
  1195 + </fields>
  1196 + <cluster_schema/>
  1197 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1198 + <xloc>53</xloc>
  1199 + <yloc>23</yloc>
  1200 + <draw>Y</draw>
  1201 + </GUI>
  1202 + </step>
  1203 +
  1204 + <step>
  1205 + <name>&#x89c4;&#x5219;&#x8868;&#x8f93;&#x51fa;</name>
  1206 + <type>TableOutput</type>
  1207 + <description/>
  1208 + <distribute>Y</distribute>
  1209 + <custom_distribution/>
  1210 + <copies>1</copies>
  1211 + <partitioning>
  1212 + <method>none</method>
  1213 + <schema_name/>
  1214 + </partitioning>
  1215 + <connection>bus_control_variable</connection>
  1216 + <schema/>
  1217 + <table>bsth_c_s_sr1_flat</table>
  1218 + <commit>1000</commit>
  1219 + <truncate>N</truncate>
  1220 + <ignore_errors>N</ignore_errors>
  1221 + <use_batch>Y</use_batch>
  1222 + <specify_fields>Y</specify_fields>
  1223 + <partitioning_enabled>N</partitioning_enabled>
  1224 + <partitioning_field/>
  1225 + <partitioning_daily>N</partitioning_daily>
  1226 + <partitioning_monthly>Y</partitioning_monthly>
  1227 + <tablename_in_field>N</tablename_in_field>
  1228 + <tablename_field/>
  1229 + <tablename_in_table>Y</tablename_in_table>
  1230 + <return_keys>N</return_keys>
  1231 + <return_field/>
  1232 + <fields>
  1233 + <field>
  1234 + <column_name>xl</column_name>
  1235 + <stream_name>xlid</stream_name>
  1236 + </field>
  1237 + <field>
  1238 + <column_name>car_config_info</column_name>
  1239 + <stream_name>cid</stream_name>
  1240 + </field>
  1241 + <field>
  1242 + <column_name>lp_names</column_name>
  1243 + <stream_name>lpnames</stream_name>
  1244 + </field>
  1245 + <field>
  1246 + <column_name>lp_ids</column_name>
  1247 + <stream_name>lpids</stream_name>
  1248 + </field>
  1249 + <field>
  1250 + <column_name>lp_start</column_name>
  1251 + <stream_name>&#x8d77;&#x59cb;&#x8def;&#x724c;</stream_name>
  1252 + </field>
  1253 + <field>
  1254 + <column_name>ry_start</column_name>
  1255 + <stream_name>&#x8d77;&#x59cb;&#x4eba;&#x5458;</stream_name>
  1256 + </field>
  1257 + <field>
  1258 + <column_name>qyrq</column_name>
  1259 + <stream_name>&#x542f;&#x7528;&#x65e5;&#x671f;</stream_name>
  1260 + </field>
  1261 + <field>
  1262 + <column_name>fbgs</column_name>
  1263 + <stream_name>&#x7ffb;&#x73ed;&#x683c;&#x5f0f;</stream_name>
  1264 + </field>
  1265 + <field>
  1266 + <column_name>ry_dbbms</column_name>
  1267 + <stream_name>rybms</stream_name>
  1268 + </field>
  1269 + <field>
  1270 + <column_name>ry_config_ids</column_name>
  1271 + <stream_name>rycids</stream_name>
  1272 + </field>
  1273 + <field>
  1274 + <column_name>fbtype</column_name>
  1275 + <stream_name>fbtype</stream_name>
  1276 + </field>
  1277 + </fields>
  1278 + <cluster_schema/>
  1279 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1280 + <xloc>148</xloc>
  1281 + <yloc>380</yloc>
  1282 + <draw>Y</draw>
  1283 + </GUI>
  1284 + </step>
  1285 +
  1286 + <step>
  1287 + <name>&#x8def;&#x724c;id&#x67e5;&#x8be2;</name>
  1288 + <type>DBLookup</type>
  1289 + <description/>
  1290 + <distribute>Y</distribute>
  1291 + <custom_distribution/>
  1292 + <copies>1</copies>
  1293 + <partitioning>
  1294 + <method>none</method>
  1295 + <schema_name/>
  1296 + </partitioning>
  1297 + <connection>bus_control_variable</connection>
  1298 + <cache>N</cache>
  1299 + <cache_load_all>Y</cache_load_all>
  1300 + <cache_size>0</cache_size>
  1301 + <lookup>
  1302 + <schema/>
  1303 + <table>bsth_c_s_gbi</table>
  1304 + <orderby/>
  1305 + <fail_on_multiple>N</fail_on_multiple>
  1306 + <eat_row_on_failure>N</eat_row_on_failure>
  1307 + <key>
  1308 + <name>xlid</name>
  1309 + <field>xl</field>
  1310 + <condition>&#x3d;</condition>
  1311 + <name2/>
  1312 + </key>
  1313 + <key>
  1314 + <name>lpname</name>
  1315 + <field>lp_name</field>
  1316 + <condition>&#x3d;</condition>
  1317 + <name2/>
  1318 + </key>
  1319 + <key>
  1320 + <name>isCancel</name>
  1321 + <field>is_cancel</field>
  1322 + <condition>&#x3d;</condition>
  1323 + <name2/>
  1324 + </key>
  1325 + <value>
  1326 + <name>id</name>
  1327 + <rename>lpid</rename>
  1328 + <default/>
  1329 + <type>Integer</type>
  1330 + </value>
  1331 + </lookup>
  1332 + <cluster_schema/>
  1333 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1334 + <xloc>516</xloc>
  1335 + <yloc>21</yloc>
  1336 + <draw>Y</draw>
  1337 + </GUI>
  1338 + </step>
  1339 +
  1340 + <step>
  1341 + <name>&#x8f66;&#x8f86;&#x914d;&#x7f6e;id&#x67e5;&#x8be2;</name>
  1342 + <type>DBJoin</type>
  1343 + <description/>
  1344 + <distribute>Y</distribute>
  1345 + <custom_distribution/>
  1346 + <copies>1</copies>
  1347 + <partitioning>
  1348 + <method>none</method>
  1349 + <schema_name/>
  1350 + </partitioning>
  1351 + <connection>bus_control_variable</connection>
  1352 + <rowlimit>1</rowlimit>
  1353 + <sql>select t1.id as cid from bsth_c_s_ccinfo t1 left join bsth_c_cars t2 on t1.cl &#x3d; t2.id&#xa;where t1.xl &#x3d; &#x3f; and t2.inside_code &#x3d; &#x3f; and t1.is_cancel &#x3d; &#x3f;</sql>
  1354 + <outer_join>Y</outer_join>
  1355 + <replace_vars>N</replace_vars>
  1356 + <parameter>
  1357 + <field>
  1358 + <name>xlid</name>
  1359 + <type>Integer</type>
  1360 + </field>
  1361 + <field>
  1362 + <name>&#x5185;&#x90e8;&#x7f16;&#x7801;</name>
  1363 + <type>String</type>
  1364 + </field>
  1365 + <field>
  1366 + <name>isCancel</name>
  1367 + <type>Integer</type>
  1368 + </field>
  1369 + </parameter>
  1370 + <cluster_schema/>
  1371 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1372 + <xloc>360</xloc>
  1373 + <yloc>184</yloc>
  1374 + <draw>Y</draw>
  1375 + </GUI>
  1376 + </step>
  1377 +
  1378 + <step>
  1379 + <name>&#x8fc7;&#x6ee4;&#x4eba;&#x5458;&#x914d;&#x7f6e;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</name>
  1380 + <type>FilterRows</type>
  1381 + <description/>
  1382 + <distribute>Y</distribute>
  1383 + <custom_distribution/>
  1384 + <copies>1</copies>
  1385 + <partitioning>
  1386 + <method>none</method>
  1387 + <schema_name/>
  1388 + </partitioning>
  1389 +<send_true_to/>
  1390 +<send_false_to/>
  1391 + <compare>
  1392 +<condition>
  1393 + <negated>N</negated>
  1394 + <conditions>
  1395 + <condition>
  1396 + <negated>N</negated>
  1397 + <leftvalue>rycid1</leftvalue>
  1398 + <function>IS NOT NULL</function>
  1399 + <rightvalue/>
  1400 + </condition>
  1401 + <condition>
  1402 + <negated>N</negated>
  1403 + <operator>OR</operator>
  1404 + <leftvalue>rycid2</leftvalue>
  1405 + <function>IS NOT NULL</function>
  1406 + <rightvalue/>
  1407 + </condition>
  1408 + </conditions>
  1409 + </condition>
  1410 + </compare>
  1411 + <cluster_schema/>
  1412 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1413 + <xloc>776</xloc>
  1414 + <yloc>204</yloc>
  1415 + <draw>Y</draw>
  1416 + </GUI>
  1417 + </step>
  1418 +
  1419 + <step>
  1420 + <name>&#x8fc7;&#x6ee4;&#x7ebf;&#x8def;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</name>
  1421 + <type>FilterRows</type>
  1422 + <description/>
  1423 + <distribute>Y</distribute>
  1424 + <custom_distribution/>
  1425 + <copies>1</copies>
  1426 + <partitioning>
  1427 + <method>none</method>
  1428 + <schema_name/>
  1429 + </partitioning>
  1430 +<send_true_to>&#x8f66;&#x8f86;&#x914d;&#x7f6e;id&#x67e5;&#x8be2;</send_true_to>
  1431 +<send_false_to/>
  1432 + <compare>
  1433 +<condition>
  1434 + <negated>N</negated>
  1435 + <leftvalue>xlid</leftvalue>
  1436 + <function>IS NOT NULL</function>
  1437 + <rightvalue/>
  1438 + </condition>
  1439 + </compare>
  1440 + <cluster_schema/>
  1441 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1442 + <xloc>203</xloc>
  1443 + <yloc>110</yloc>
  1444 + <draw>Y</draw>
  1445 + </GUI>
  1446 + </step>
  1447 +
  1448 + <step>
  1449 + <name>&#x8fc7;&#x6ee4;&#x8def;&#x724c;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</name>
  1450 + <type>FilterRows</type>
  1451 + <description/>
  1452 + <distribute>Y</distribute>
  1453 + <custom_distribution/>
  1454 + <copies>1</copies>
  1455 + <partitioning>
  1456 + <method>none</method>
  1457 + <schema_name/>
  1458 + </partitioning>
  1459 +<send_true_to>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</send_true_to>
  1460 +<send_false_to/>
  1461 + <compare>
  1462 +<condition>
  1463 + <negated>N</negated>
  1464 + <leftvalue>lpid</leftvalue>
  1465 + <function>IS NOT NULL</function>
  1466 + <rightvalue/>
  1467 + </condition>
  1468 + </compare>
  1469 + <cluster_schema/>
  1470 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1471 + <xloc>653</xloc>
  1472 + <yloc>23</yloc>
  1473 + <draw>Y</draw>
  1474 + </GUI>
  1475 + </step>
  1476 +
  1477 + <step>
  1478 + <name>&#x8fc7;&#x6ee4;&#x8f66;&#x8f86;&#x914d;&#x7f6e;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</name>
  1479 + <type>FilterRows</type>
  1480 + <description/>
  1481 + <distribute>Y</distribute>
  1482 + <custom_distribution/>
  1483 + <copies>1</copies>
  1484 + <partitioning>
  1485 + <method>none</method>
  1486 + <schema_name/>
  1487 + </partitioning>
  1488 +<send_true_to>&#x62c6;&#x5206;&#x8def;&#x724c;&#x8303;&#x56f4;</send_true_to>
  1489 +<send_false_to/>
  1490 + <compare>
  1491 +<condition>
  1492 + <negated>N</negated>
  1493 + <leftvalue>cid</leftvalue>
  1494 + <function>IS NOT NULL</function>
  1495 + <rightvalue/>
  1496 + </condition>
  1497 + </compare>
  1498 + <cluster_schema/>
  1499 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1500 + <xloc>208</xloc>
  1501 + <yloc>182</yloc>
  1502 + <draw>Y</draw>
  1503 + </GUI>
  1504 + </step>
  1505 +
  1506 + <step>
  1507 + <name>&#x9519;&#x8bef;&#x8f93;&#x51fa; 2</name>
  1508 + <type>ExcelOutput</type>
  1509 + <description/>
  1510 + <distribute>Y</distribute>
  1511 + <custom_distribution/>
  1512 + <copies>1</copies>
  1513 + <partitioning>
  1514 + <method>none</method>
  1515 + <schema_name/>
  1516 + </partitioning>
  1517 + <header>Y</header>
  1518 + <footer>N</footer>
  1519 + <encoding>UTF-8</encoding>
  1520 + <append>N</append>
  1521 + <add_to_result_filenames>Y</add_to_result_filenames>
  1522 + <file>
  1523 + <name>&#x24;&#x7b;erroroutputdir&#x7d;&#x2f;&#x6392;&#x7248;&#x89c4;&#x5219;&#x4fe1;&#x606f;&#x5bfc;&#x5165;_&#x9519;&#x8bef;</name>
  1524 + <extention>xls</extention>
  1525 + <do_not_open_newfile_init>N</do_not_open_newfile_init>
  1526 + <create_parent_folder>N</create_parent_folder>
  1527 + <split>N</split>
  1528 + <add_date>N</add_date>
  1529 + <add_time>N</add_time>
  1530 + <SpecifyFormat>N</SpecifyFormat>
  1531 + <date_time_format/>
  1532 + <sheetname>Sheet1</sheetname>
  1533 + <autosizecolums>N</autosizecolums>
  1534 + <nullisblank>N</nullisblank>
  1535 + <protect_sheet>N</protect_sheet>
  1536 + <password>Encrypted </password>
  1537 + <splitevery>0</splitevery>
  1538 + <usetempfiles>N</usetempfiles>
  1539 + <tempdirectory/>
  1540 + </file>
  1541 + <template>
  1542 + <enabled>N</enabled>
  1543 + <append>N</append>
  1544 + <filename>template.xls</filename>
  1545 + </template>
  1546 + <fields>
  1547 + <field>
  1548 + <name>xlid</name>
  1549 + <type>Integer</type>
  1550 + <format/>
  1551 + </field>
  1552 + <field>
  1553 + <name>cid</name>
  1554 + <type>Integer</type>
  1555 + <format/>
  1556 + </field>
  1557 + <field>
  1558 + <name>lpnames</name>
  1559 + <type>String</type>
  1560 + <format/>
  1561 + </field>
  1562 + <field>
  1563 + <name>lpids</name>
  1564 + <type>String</type>
  1565 + <format/>
  1566 + </field>
  1567 + <field>
  1568 + <name>&#x8d77;&#x59cb;&#x8def;&#x724c;</name>
  1569 + <type>String</type>
  1570 + <format/>
  1571 + </field>
  1572 + <field>
  1573 + <name>&#x8d77;&#x59cb;&#x4eba;&#x5458;</name>
  1574 + <type>String</type>
  1575 + <format/>
  1576 + </field>
  1577 + <field>
  1578 + <name>&#x4eba;&#x5458;&#x8303;&#x56f4;</name>
  1579 + <type>String</type>
  1580 + <format/>
  1581 + </field>
  1582 + <field>
  1583 + <name>&#x542f;&#x7528;&#x65e5;&#x671f;</name>
  1584 + <type>Timestamp</type>
  1585 + <format/>
  1586 + </field>
  1587 + <field>
  1588 + <name>&#x7ffb;&#x73ed;&#x683c;&#x5f0f;</name>
  1589 + <type>String</type>
  1590 + <format/>
  1591 + </field>
  1592 + <field>
  1593 + <name>isCancel</name>
  1594 + <type>Integer</type>
  1595 + <format/>
  1596 + </field>
  1597 + <field>
  1598 + <name>rycids</name>
  1599 + <type>String</type>
  1600 + <format/>
  1601 + </field>
  1602 + <field>
  1603 + <name>rybms</name>
  1604 + <type>String</type>
  1605 + <format/>
  1606 + </field>
  1607 + <field>
  1608 + <name>error_count</name>
  1609 + <type>Integer</type>
  1610 + <format/>
  1611 + </field>
  1612 + <field>
  1613 + <name>error_desc</name>
  1614 + <type>String</type>
  1615 + <format/>
  1616 + </field>
  1617 + <field>
  1618 + <name>error_column1</name>
  1619 + <type>String</type>
  1620 + <format/>
  1621 + </field>
  1622 + <field>
  1623 + <name>error_column2</name>
  1624 + <type>String</type>
  1625 + <format/>
  1626 + </field>
  1627 + </fields>
  1628 + <custom>
  1629 + <header_font_name>arial</header_font_name>
  1630 + <header_font_size>10</header_font_size>
  1631 + <header_font_bold>N</header_font_bold>
  1632 + <header_font_italic>N</header_font_italic>
  1633 + <header_font_underline>no</header_font_underline>
  1634 + <header_font_orientation>horizontal</header_font_orientation>
  1635 + <header_font_color>black</header_font_color>
  1636 + <header_background_color>none</header_background_color>
  1637 + <header_row_height>255</header_row_height>
  1638 + <header_alignment>left</header_alignment>
  1639 + <header_image/>
  1640 + <row_font_name>arial</row_font_name>
  1641 + <row_font_size>10</row_font_size>
  1642 + <row_font_color>black</row_font_color>
  1643 + <row_background_color>none</row_background_color>
  1644 + </custom>
  1645 + <cluster_schema/>
  1646 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1647 + <xloc>142</xloc>
  1648 + <yloc>512</yloc>
  1649 + <draw>Y</draw>
  1650 + </GUI>
  1651 + </step>
  1652 +
  1653 + <step>
  1654 + <name>&#x963b;&#x585e;&#x6570;&#x636e;&#x76f4;&#x5230;&#x6b65;&#x9aa4;&#x90fd;&#x5b8c;&#x6210;</name>
  1655 + <type>BlockUntilStepsFinish</type>
  1656 + <description/>
  1657 + <distribute>Y</distribute>
  1658 + <custom_distribution/>
  1659 + <copies>1</copies>
  1660 + <partitioning>
  1661 + <method>none</method>
  1662 + <schema_name/>
  1663 + </partitioning>
  1664 + <steps>
  1665 + <step>
  1666 + <name>&#x5220;&#x9664;</name>
  1667 + <CopyNr>0</CopyNr>
  1668 + </step>
  1669 + </steps>
  1670 + <cluster_schema/>
  1671 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1672 + <xloc>339</xloc>
  1673 + <yloc>381</yloc>
  1674 + <draw>Y</draw>
  1675 + </GUI>
  1676 + </step>
  1677 +
  1678 + <step>
  1679 + <name>&#x9ed8;&#x8ba4;&#x7ffb;&#x73ed;&#x7c7b;&#x578b;</name>
  1680 + <type>Constant</type>
  1681 + <description/>
  1682 + <distribute>Y</distribute>
  1683 + <custom_distribution/>
  1684 + <copies>1</copies>
  1685 + <partitioning>
  1686 + <method>none</method>
  1687 + <schema_name/>
  1688 + </partitioning>
  1689 + <fields>
  1690 + <field>
  1691 + <name>fbtype</name>
  1692 + <type>String</type>
  1693 + <format/>
  1694 + <currency/>
  1695 + <decimal/>
  1696 + <group/>
  1697 + <nullif>0</nullif>
  1698 + <length>-1</length>
  1699 + <precision>-1</precision>
  1700 + <set_empty_string>N</set_empty_string>
  1701 + </field>
  1702 + </fields>
  1703 + <cluster_schema/>
  1704 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1705 + <xloc>643</xloc>
  1706 + <yloc>368</yloc>
  1707 + <draw>Y</draw>
  1708 + </GUI>
  1709 + </step>
  1710 +
  1711 + <step_error_handling>
  1712 + <error>
  1713 + <source_step>&#x89c4;&#x5219;&#x8868;&#x8f93;&#x51fa;</source_step>
  1714 + <target_step>&#x9519;&#x8bef;&#x8f93;&#x51fa; 2</target_step>
  1715 + <is_enabled>Y</is_enabled>
  1716 + <nr_valuename>error_count</nr_valuename>
  1717 + <descriptions_valuename>error_desc</descriptions_valuename>
  1718 + <fields_valuename>error_column1</fields_valuename>
  1719 + <codes_valuename>error_column2</codes_valuename>
  1720 + <max_errors/>
  1721 + <max_pct_errors/>
  1722 + <min_pct_rows/>
  1723 + </error>
  1724 + </step_error_handling>
  1725 + <slave-step-copy-partition-distribution>
  1726 +</slave-step-copy-partition-distribution>
  1727 + <slave_transformation>N</slave_transformation>
  1728 +
  1729 +</transformation>
src/main/resources/rules/shiftloop_fb_2.drl
@@ -15,6 +15,8 @@ import com.bsth.service.schedule.rules.shiftloop.ScheduleResults_output; @@ -15,6 +15,8 @@ import com.bsth.service.schedule.rules.shiftloop.ScheduleResults_output;
15 15
16 import com.bsth.entity.schedule.temp.SchedulePlanRuleResult; 16 import com.bsth.entity.schedule.temp.SchedulePlanRuleResult;
17 17
  18 +import com.bsth.entity.schedule.SchedulePlan;
  19 +
18 import com.bsth.service.schedule.rules.ScheduleRuleService; 20 import com.bsth.service.schedule.rules.ScheduleRuleService;
19 21
20 import org.slf4j.Logger; 22 import org.slf4j.Logger;
@@ -37,6 +39,10 @@ declare Calcu_days_result_pre @@ -37,6 +39,10 @@ declare Calcu_days_result_pre
37 calcu_index_lp : Integer // 计算之后路牌的起始索引 39 calcu_index_lp : Integer // 计算之后路牌的起始索引
38 calcu_index_ry : Integer // 计算之后人员的起始索引 40 calcu_index_ry : Integer // 计算之后人员的起始索引
39 41
  42 + fbtype: Integer // 翻班type,0:时刻表type 1:翻班格式type
  43 + fbweeks: List // 翻班格式,如:1111001111001
  44 + fbgs_index: Integer // 翻班格式起始索引(从0开始)
  45 +
40 // 1、第一部分循环需要用到的数据(当开始日期大于启用日期的时候才有) 46 // 1、第一部分循环需要用到的数据(当开始日期大于启用日期的时候才有)
41 calcu_start_date_1: DateTime // 第一部分开始计算日期 47 calcu_start_date_1: DateTime // 第一部分开始计算日期
42 calcu_end_date_1: DateTime // 第一部分结束计算日期 48 calcu_end_date_1: DateTime // 第一部分结束计算日期
@@ -82,6 +88,11 @@ rule &quot;calcu_days_1_&quot; @@ -82,6 +88,11 @@ rule &quot;calcu_days_1_&quot;
82 cdrp.setCalcu_start_date_2($fromDate); 88 cdrp.setCalcu_start_date_2($fromDate);
83 cdrp.setCalcu_end_date_2($toDate); 89 cdrp.setCalcu_end_date_2($toDate);
84 90
  91 + // 翻班相关
  92 + cdrp.setFbtype($sri.getFbtype());
  93 + cdrp.setFbgs_index(0);
  94 + cdrp.setFbweeks($sri.getWeekdays());
  95 +
85 /** 96 /**
86 * 规则md5值(不使用id判定,使用md5判定) 97 * 规则md5值(不使用id判定,使用md5判定)
87 * 使用,启用日期,路牌范围,结合生成md5编码 98 * 使用,启用日期,路牌范围,结合生成md5编码
@@ -132,6 +143,11 @@ rule &quot;calcu_days_2_&quot; @@ -132,6 +143,11 @@ rule &quot;calcu_days_2_&quot;
132 cdrp.setCalcu_start_date_2($qyrq); 143 cdrp.setCalcu_start_date_2($qyrq);
133 cdrp.setCalcu_end_date_2($toDate); 144 cdrp.setCalcu_end_date_2($toDate);
134 145
  146 + // 翻班相关
  147 + cdrp.setFbtype($sri.getFbtype());
  148 + cdrp.setFbgs_index(0);
  149 + cdrp.setFbweeks($sri.getWeekdays());
  150 +
135 /** 151 /**
136 * 规则md5值(不使用id判定,使用md5判定) 152 * 规则md5值(不使用id判定,使用md5判定)
137 * 使用,启用日期,路牌范围,结合生成md5编码 153 * 使用,启用日期,路牌范围,结合生成md5编码
@@ -249,63 +265,279 @@ end @@ -249,63 +265,279 @@ end
249 265
250 266
251 //------------------------- 第二阶段、计算规则准备数据2(第一组循环) ----------------------------// 267 //------------------------- 第二阶段、计算规则准备数据2(第一组循环) ----------------------------//
252 -rule "Calcu_loop1_1_" // 路牌在时刻表中存在,就翻 268 +
  269 +function void calcu_loop1_fb(Calcu_days_result_pre $cdrp, ScheduleRule_input $sri) {
  270 + Integer $lpindex = $cdrp.getCalcu_index_lp();
  271 + Integer $lprangesize = $sri.getGuideboardIds().size();
  272 + Integer $ryindex = $cdrp.getCalcu_index_ry();
  273 + Integer $ryrangesize = $sri.getEmployeeConfigIds().size();
  274 + Integer $fbindex = $cdrp.getFbgs_index();
  275 + Integer $fbfangesize = $sri.getWeekdays().size();
  276 + DateTime $csd1 = $cdrp.getCalcu_start_date_1();
  277 + String $ruleId = $cdrp.getRuleId();
  278 +
  279 + $cdrp.setCalcu_index_lp(($lpindex + 1) % $lprangesize);
  280 + $cdrp.setCalcu_index_ry(($ryindex + 1) % $ryrangesize);
  281 +
  282 + $cdrp.setFbgs_index(($fbindex + 1) % $fbfangesize);
  283 + $cdrp.setCalcu_start_date_1($csd1.plusDays(1));
  284 +
  285 +// log.info("calcu_loop1_fb ruleId={}, calcu_index_lp/ry={}/{}",
  286 +// $ruleId, $cdrp.getCalcu_index_lp(), $cdrp.getCalcu_index_ry());
  287 +}
  288 +function void calcu_loop1_not_fb(Calcu_days_result_pre $cdrp, ScheduleRule_input $sri) {
  289 + DateTime $csd1 = $cdrp.getCalcu_start_date_1();
  290 + Integer $fbindex = $cdrp.getFbgs_index();
  291 + Integer $fbfangesize = $sri.getWeekdays().size();
  292 +
  293 + $cdrp.setFbgs_index(($fbindex + 1) % $fbfangesize);
  294 + $cdrp.setCalcu_start_date_1($csd1.plusDays(1));
  295 +
  296 +// log.info("calcu_loop1_not_fb ruleId={}, calcu_index_lp/ry={}/{}",
  297 +// $cdrp.getRuleId(), $cdrp.getCalcu_index_lp(), $cdrp.getCalcu_index_ry());
  298 +}
  299 +
  300 +
  301 +rule "Calcu_loop1_fbtype_with_0_" // 翻班模式为 type=1 使用翻班格式翻,当天翻班格式是false,就跳过
  302 + salience 900
  303 + when
  304 + $cdrp: Calcu_days_result_pre(
  305 + calcu_start_date_1.isBefore(calcu_end_date_1),
  306 + $ruleId: ruleId,
  307 + fbtype == "1",
  308 + $fbindex : fbgs_index
  309 + )
  310 + $sri: ScheduleRule_input(
  311 + ruleId == $ruleId,
  312 + weekdays[$fbindex] == false
  313 + )
  314 + then
  315 + calcu_loop1_not_fb($cdrp, $sri);
  316 + update($cdrp);
  317 +end
  318 +
  319 +rule "Calcu_loop1_fbtype_with_1_lp_" // 翻班模式为 type=1 使用翻班格式翻,当天翻班格式是true,并且当天时刻表里存在指定路牌,就翻
253 salience 900 320 salience 900
254 when 321 when
255 $cdrp: Calcu_days_result_pre( 322 $cdrp: Calcu_days_result_pre(
256 calcu_start_date_1.isBefore(calcu_end_date_1), 323 calcu_start_date_1.isBefore(calcu_end_date_1),
257 $csd1: calcu_start_date_1, 324 $csd1: calcu_start_date_1,
258 - $ced1: calcu_end_date_1,  
259 $ruleId: ruleId, 325 $ruleId: ruleId,
  326 + fbtype == "1",
260 $lpindex: calcu_index_lp, 327 $lpindex: calcu_index_lp,
261 - $ryindex: calcu_index_ry 328 + $fbindex : fbgs_index
262 ) 329 )
263 $sri: ScheduleRule_input( 330 $sri: ScheduleRule_input(
264 ruleId == $ruleId, 331 ruleId == $ruleId,
265 $gids: guideboardIds, 332 $gids: guideboardIds,
266 - $lprangesize : guideboardIds.size(),  
267 - $ryrangesize: employeeConfigIds.size() 333 + weekdays[$fbindex] == true
268 ) 334 )
269 $liro: LpInfoResult_output( 335 $liro: LpInfoResult_output(
270 dateTime.isEqual($csd1), 336 dateTime.isEqual($csd1),
271 - $gids.get($lpindex) == lpId,  
272 - $lpId: lpId 337 + $gids[$lpindex] == lpId
273 ) 338 )
274 then 339 then
275 - $cdrp.setCalcu_index_lp(($lpindex + 1) % $lprangesize);  
276 - $cdrp.setCalcu_index_ry(($ryindex + 1) % $ryrangesize);  
277 - $cdrp.setCalcu_start_date_1($csd1.plusDays(1)); 340 + calcu_loop1_fb($cdrp, $sri);
  341 + update($cdrp);
278 342
279 -// log.info("Calcu_loop1_1_ ruleId={}, calcu_index_lp/ry={}/{}",  
280 -// $ruleId, $cdrp.getCalcu_index_lp(), $cdrp.getCalcu_index_ry()); 343 +end
281 344
  345 +rule "Calcu_loop1_fbtype_with_1_no_lp_" // 翻班模式为 type=1 使用翻班格式翻,当天翻班格式是true,并且当天时刻表里不存在指定路牌,就跳过
  346 + salience 900
  347 + when
  348 + $cdrp: Calcu_days_result_pre(
  349 + calcu_start_date_1.isBefore(calcu_end_date_1),
  350 + $csd1: calcu_start_date_1,
  351 + $ruleId: ruleId,
  352 + fbtype == "1",
  353 + $fbindex : fbgs_index
  354 + )
  355 + $sri: ScheduleRule_input(
  356 + ruleId == $ruleId,
  357 + weekdays[$fbindex] == true
  358 + )
  359 + then
  360 + calcu_loop1_not_fb($cdrp, $sri);
282 update($cdrp); 361 update($cdrp);
283 end 362 end
284 363
285 -rule "Calcu_loop1_2_" // 路牌在时刻表中不存在,就不翻 364 +
  365 +rule "Calcu_loop1_timetabletype_with_lp_" // 翻班模式为 type=0 使用时刻表格式翻,路牌在时刻表中存在,就翻
286 salience 900 366 salience 900
287 when 367 when
288 $cdrp: Calcu_days_result_pre( 368 $cdrp: Calcu_days_result_pre(
289 calcu_start_date_1.isBefore(calcu_end_date_1), 369 calcu_start_date_1.isBefore(calcu_end_date_1),
290 $csd1: calcu_start_date_1, 370 $csd1: calcu_start_date_1,
291 - $ced1: calcu_end_date_1,  
292 - $ruleId: ruleId 371 + $ruleId: ruleId,
  372 + fbtype == "0",
  373 + $lpindex: calcu_index_lp
293 ) 374 )
294 $sri: ScheduleRule_input( 375 $sri: ScheduleRule_input(
295 ruleId == $ruleId, 376 ruleId == $ruleId,
296 - $rangesize : guideboardIds.size() 377 + $gids: guideboardIds
  378 + )
  379 + $liro: LpInfoResult_output(
  380 + dateTime.isEqual($csd1),
  381 + $gids[$lpindex] == lpId
297 ) 382 )
298 then 383 then
299 - $cdrp.setCalcu_start_date_1($csd1.plusDays(1));  
300 -  
301 -// log.info("Calcu_loop1_2_ ruleId={}, calcu_index_lp/ry={}/{}",  
302 -// $ruleId, $cdrp.getCalcu_index_lp(), $cdrp.getCalcu_index_ry()); 384 + calcu_loop1_fb($cdrp, $sri);
  385 + update($cdrp);
  386 +end
303 387
  388 +rule "Calcu_loop1_timetabletype_with_no_lp_" // 翻班模式为 type=0 使用时刻表格式翻,路牌在时刻表中不存在,就跳过
  389 + salience 900
  390 + when
  391 + $cdrp: Calcu_days_result_pre(
  392 + calcu_start_date_1.isBefore(calcu_end_date_1),
  393 + $csd1: calcu_start_date_1,
  394 + $ruleId: ruleId,
  395 + fbtype == "0"
  396 + )
  397 + $sri: ScheduleRule_input(
  398 + ruleId == $ruleId
  399 + )
  400 + then
  401 + calcu_loop1_not_fb($cdrp, $sri);
304 update($cdrp); 402 update($cdrp);
305 end 403 end
306 404
307 //------------------------- 第三阶段、计算规则准备数据2(第二组循环) ----------------------------// 405 //------------------------- 第三阶段、计算规则准备数据2(第二组循环) ----------------------------//
308 -rule "Calcu_loop2_1_" // 路牌在时刻表中存在,就翻 406 +
  407 +function void calcu_loop2_fb(
  408 + SchedulePlan $sp,
  409 + Calcu_days_result_pre $cdrp,
  410 + ScheduleRule_input $sri,
  411 + LpInfoResult_output $liro,
  412 + ScheduleResults_output rs,
  413 + Logger log) {
  414 + String $ruleId = $cdrp.getRuleId();
  415 + DateTime $csd2 = $cdrp.getCalcu_start_date_2();
  416 + DateTime $ced2 = $cdrp.getCalcu_end_date_2();
  417 + Integer $lpindex = $cdrp.getCalcu_index_lp();
  418 + List $gids = $sri.getGuideboardIds();
  419 + Integer $lprangesize = $sri.getGuideboardIds().size();
  420 + Integer $ryindex = $cdrp.getCalcu_index_ry();
  421 + List $eids = $sri.getEmployeeConfigIds();
  422 + Integer $ryrangesize = $sri.getEmployeeConfigIds().size();
  423 + Integer $fbindex = $cdrp.getFbgs_index();
  424 + Integer $fbfangesize = $sri.getWeekdays().size();
  425 + String $cid = $sri.getCarConfigId();
  426 + String $xlid = $sri.getXlId();
  427 +
  428 + com.bsth.entity.schedule.rule.ScheduleRule1Flat $srf = $sri.getSelf();
  429 +
  430 + String $ttinfoId = $liro.getTtInfoId();
  431 + String $ttinfoName = $liro.getTtInfoName();
  432 +
  433 + ScheduleResult_output ro = new ScheduleResult_output();
  434 + ro.setRuleId($ruleId);
  435 + ro.setSd($csd2);
  436 + ro.setGuideboardId(String.valueOf($gids.get($lpindex)));
  437 + ro.setEmployeeConfigId(String.valueOf($eids.get($ryindex)));
  438 + ro.setCarConfigId($cid);
  439 + ro.setXlId($xlid);
  440 +
  441 + // 类型
  442 + ro.setsType($sri.getsType());
  443 +
  444 + rs.getResults().add(ro);
  445 +
  446 +// log.info("gogoogogogogo");
  447 +
  448 + $cdrp.setCalcu_index_lp(($lpindex + 1) % $lprangesize);
  449 + $cdrp.setCalcu_index_ry(($ryindex + 1) % $ryrangesize);
  450 +
  451 + $cdrp.setFbgs_index(($fbindex + 1) % $fbfangesize);
  452 + $cdrp.setCalcu_start_date_2($csd2.plusDays(1));
  453 +
  454 + if ($sri.getsType() == ScheduleRule_Type.NORMAL) {
  455 + // 保存排班规则循环结果 --> SchedulePlanRuleResult
  456 + SchedulePlanRuleResult schedulePlanRuleResult = new SchedulePlanRuleResult($sp);
  457 +// schedulePlanRuleResult.setXlId(String.valueOf($srf.getXl().getId()));
  458 + schedulePlanRuleResult.setXlId($srf.getXl().getId());
  459 + schedulePlanRuleResult.setXlName($srf.getXl().getName());
  460 + schedulePlanRuleResult.setRuleId($ruleId);
  461 + schedulePlanRuleResult.setCcId($cid);
  462 + schedulePlanRuleResult.setCcZbh($srf.getCarConfigInfo().getCl().getInsideCode());
  463 + schedulePlanRuleResult.setGids($srf.getLpIds()); // 参与md5计算
  464 + schedulePlanRuleResult.setGnames($srf.getLpNames());
  465 + schedulePlanRuleResult.setGidindex(String.valueOf($lpindex));
  466 + schedulePlanRuleResult.setEcids($srf.getRyConfigIds());
  467 + schedulePlanRuleResult.setEcdbbms($srf.getRyDbbms());
  468 + schedulePlanRuleResult.setEcindex(String.valueOf($ryindex));
  469 + schedulePlanRuleResult.setScheduleDate($csd2.toDate());
  470 + schedulePlanRuleResult.setTtinfoId($ttinfoId);
  471 + schedulePlanRuleResult.setTtinfoName($ttinfoName);
  472 + schedulePlanRuleResult.setQyrq($sri.getQyrq().toDate()); // 参与md5计算
  473 + schedulePlanRuleResult.setOrigingidindex(String.valueOf($sri.getSelf().getLpStart())); // 参与md5计算
  474 +
  475 + rs.getSchedulePlanRuleResults().add(schedulePlanRuleResult);
  476 + }
  477 +
  478 +
  479 +
  480 + log.info("calcu_loop2_fb ruleId={}, calcu_index_lp/ry={}/{}, from={}, to={}",
  481 + $ruleId, $cdrp.getCalcu_index_lp(), $cdrp.getCalcu_index_ry(), $csd2, $ced2);
  482 +
  483 +}
  484 +
  485 +function void calcu_loop2_not_fb(
  486 + Calcu_days_result_pre $cdrp,
  487 + ScheduleRule_input $sri,
  488 + ScheduleResults_output rs) {
  489 +
  490 + String $ruleId = $cdrp.getRuleId();
  491 + DateTime $csd2 = $cdrp.getCalcu_start_date_2();
  492 + Integer $lpindex = $cdrp.getCalcu_index_lp();
  493 + List $gids = $sri.getGuideboardIds();
  494 + Integer $ryindex = $cdrp.getCalcu_index_ry();
  495 + List $eids = $sri.getEmployeeConfigIds();
  496 + Integer $fbindex = $cdrp.getFbgs_index();
  497 + Integer $fbfangesize = $sri.getWeekdays().size();
  498 + String $cid = $sri.getCarConfigId();
  499 + String $xlid = $sri.getXlId();
  500 +
  501 + ScheduleResult_output ro = new ScheduleResult_output();
  502 + ro.setRuleId($ruleId);
  503 + ro.setSd($csd2);
  504 +// ro.setGuideboardId(String.valueOf($gids.get($lpindex)));
  505 + ro.setGuideboardId("not_fb_lp"); // 不翻班,路牌id用假的,后面会过滤
  506 + ro.setEmployeeConfigId(String.valueOf($eids.get($ryindex)));
  507 + ro.setCarConfigId($cid);
  508 + ro.setXlId($xlid);
  509 +
  510 + // 类型
  511 + ro.setsType($sri.getsType());
  512 +
  513 + rs.getResults().add(ro);
  514 +
  515 + $cdrp.setFbgs_index(($fbindex + 1) % $fbfangesize);
  516 + $cdrp.setCalcu_start_date_2($csd2.plusDays(1));
  517 +}
  518 +
  519 +rule "Calcu_loop2_fbtype_with_0_" // 翻班模式为 type=1 使用翻班格式翻,当天翻班格式是false,就跳过
  520 + salience 800
  521 + when
  522 + ScheduleCalcuParam_input($sp: schedulePlan, $xlid: xlId)
  523 + $cdrp: Calcu_days_result_pre(
  524 + calcu_start_date_1.isEqual(calcu_end_date_1),
  525 + calcu_start_date_2.isBefore(calcu_end_date_2) || calcu_start_date_2.isEqual(calcu_end_date_2),
  526 + $ruleId: ruleId,
  527 + fbtype == "1",
  528 + $fbindex : fbgs_index
  529 + )
  530 + $sri: ScheduleRule_input(
  531 + ruleId == $ruleId,
  532 + weekdays[$fbindex] == false
  533 + )
  534 + then
  535 + calcu_loop2_not_fb($cdrp, $sri, scheduleResult);
  536 + update($cdrp);
  537 +
  538 +end
  539 +
  540 +rule "Calcu_loop2_fbtype_with_1_lp_" // 翻班模式为 type=1 使用翻班格式翻,当天翻班格式是true,并且当天时刻表里存在指定路牌,就翻
309 salience 800 541 salience 800
310 when 542 when
311 ScheduleCalcuParam_input($sp: schedulePlan, $xlid: xlId) 543 ScheduleCalcuParam_input($sp: schedulePlan, $xlid: xlId)
@@ -313,80 +545,47 @@ rule &quot;Calcu_loop2_1_&quot; // 路牌在时刻表中存在,就翻 @@ -313,80 +545,47 @@ rule &quot;Calcu_loop2_1_&quot; // 路牌在时刻表中存在,就翻
313 calcu_start_date_1.isEqual(calcu_end_date_1), 545 calcu_start_date_1.isEqual(calcu_end_date_1),
314 calcu_start_date_2.isBefore(calcu_end_date_2) || calcu_start_date_2.isEqual(calcu_end_date_2), 546 calcu_start_date_2.isBefore(calcu_end_date_2) || calcu_start_date_2.isEqual(calcu_end_date_2),
315 $csd2: calcu_start_date_2, 547 $csd2: calcu_start_date_2,
316 - $ced2: calcu_end_date_2,  
317 $ruleId: ruleId, 548 $ruleId: ruleId,
  549 + fbtype == "1",
318 $lpindex: calcu_index_lp, 550 $lpindex: calcu_index_lp,
319 - $ryindex: calcu_index_ry 551 + $fbindex : fbgs_index
320 ) 552 )
321 $sri: ScheduleRule_input( 553 $sri: ScheduleRule_input(
322 ruleId == $ruleId, 554 ruleId == $ruleId,
323 - $cid: carConfigId,  
324 $gids: guideboardIds, 555 $gids: guideboardIds,
325 - $eids: employeeConfigIds,  
326 - $lprangesize : guideboardIds.size(),  
327 - $ryrangesize: employeeConfigIds.size(),  
328 - $srf: self 556 + weekdays[$fbindex] == true
329 ) 557 )
330 $liro: LpInfoResult_output( 558 $liro: LpInfoResult_output(
331 dateTime.isEqual($csd2), 559 dateTime.isEqual($csd2),
332 - $gids.get($lpindex) == lpId,  
333 - $lpId: lpId,  
334 - $ttinfoId: ttInfoId,  
335 - $ttinfoName: ttInfoName 560 + $gids[$lpindex] == lpId
336 ) 561 )
337 then 562 then
338 - ScheduleResult_output ro = new ScheduleResult_output();  
339 - ro.setRuleId($ruleId);  
340 - ro.setSd($csd2);  
341 - ro.setGuideboardId(String.valueOf($gids.get($lpindex)));  
342 - ro.setEmployeeConfigId(String.valueOf($eids.get($ryindex)));  
343 - ro.setCarConfigId($cid);  
344 - ro.setXlId($xlid);  
345 -  
346 - // 类型  
347 - ro.setsType($sri.getsType());  
348 -  
349 - scheduleResult.getResults().add(ro);  
350 -  
351 -// log.info("gogoogogogogo");  
352 -  
353 - $cdrp.setCalcu_index_lp(($lpindex + 1) % $lprangesize);  
354 - $cdrp.setCalcu_index_ry(($ryindex + 1) % $ryrangesize);  
355 - $cdrp.setCalcu_start_date_2($csd2.plusDays(1));  
356 -  
357 - if ($sri.getsType() == ScheduleRule_Type.NORMAL) {  
358 - // 保存排班规则循环结果 --> SchedulePlanRuleResult  
359 - SchedulePlanRuleResult schedulePlanRuleResult = new SchedulePlanRuleResult($sp);  
360 -// schedulePlanRuleResult.setXlId(String.valueOf($srf.getXl().getId()));  
361 - schedulePlanRuleResult.setXlId($srf.getXl().getId());  
362 - schedulePlanRuleResult.setXlName($srf.getXl().getName());  
363 - schedulePlanRuleResult.setRuleId($ruleId);  
364 - schedulePlanRuleResult.setCcId($cid);  
365 - schedulePlanRuleResult.setCcZbh($srf.getCarConfigInfo().getCl().getInsideCode());  
366 - schedulePlanRuleResult.setGids($srf.getLpIds()); // 参与md5计算  
367 - schedulePlanRuleResult.setGnames($srf.getLpNames());  
368 - schedulePlanRuleResult.setGidindex(String.valueOf($lpindex));  
369 - schedulePlanRuleResult.setEcids($srf.getRyConfigIds());  
370 - schedulePlanRuleResult.setEcdbbms($srf.getRyDbbms());  
371 - schedulePlanRuleResult.setEcindex(String.valueOf($ryindex));  
372 - schedulePlanRuleResult.setScheduleDate($csd2.toDate());  
373 - schedulePlanRuleResult.setTtinfoId($ttinfoId);  
374 - schedulePlanRuleResult.setTtinfoName($ttinfoName);  
375 - schedulePlanRuleResult.setQyrq($sri.getQyrq().toDate()); // 参与md5计算  
376 - schedulePlanRuleResult.setOrigingidindex(String.valueOf($sri.getSelf().getLpStart())); // 参与md5计算  
377 -  
378 - scheduleResult.getSchedulePlanRuleResults().add(schedulePlanRuleResult);  
379 - }  
380 -  
381 -  
382 -  
383 -// log.info("Calcu_loop2_1_ ruleId={}, calcu_index_lp/ry={}/{}, from={}, to={}",  
384 -// $ruleId, $cdrp.getCalcu_index_lp(), $cdrp.getCalcu_index_ry(), $csd2, $ced2); 563 + calcu_loop2_fb($sp, $cdrp, $sri, $liro, scheduleResult, log);
  564 + update($cdrp);
  565 +end
385 566
  567 +rule "Calcu_loop2_fbtype_with_1_no_lp_" // 翻班模式为 type=1 使用翻班格式翻,当天翻班格式是true,并且当天时刻表里不存在指定路牌,就跳过
  568 + salience 800
  569 + when
  570 + ScheduleCalcuParam_input($sp: schedulePlan, $xlid: xlId)
  571 + $cdrp: Calcu_days_result_pre(
  572 + calcu_start_date_1.isEqual(calcu_end_date_1),
  573 + calcu_start_date_2.isBefore(calcu_end_date_2) || calcu_start_date_2.isEqual(calcu_end_date_2),
  574 + $ruleId: ruleId,
  575 + fbtype == "1",
  576 + $fbindex : fbgs_index
  577 + )
  578 + $sri: ScheduleRule_input(
  579 + ruleId == $ruleId,
  580 + weekdays[$fbindex] == true
  581 + )
  582 + then
  583 + calcu_loop2_not_fb($cdrp, $sri, scheduleResult);
386 update($cdrp); 584 update($cdrp);
  585 +
387 end 586 end
388 587
389 -rule "Calcu_loop2_2_" // 路牌在时刻表中不存在,就不 588 +rule "Calcu_loop2_timetabletype_with_lp_" // 翻班模式为 type=0 使用时刻表格式翻,路牌在时刻表中存在,就
390 salience 800 589 salience 800
391 when 590 when
392 ScheduleCalcuParam_input($sp: schedulePlan, $xlid: xlId) 591 ScheduleCalcuParam_input($sp: schedulePlan, $xlid: xlId)
@@ -394,54 +593,40 @@ rule &quot;Calcu_loop2_2_&quot; // 路牌在时刻表中不存在,就不翻 @@ -394,54 +593,40 @@ rule &quot;Calcu_loop2_2_&quot; // 路牌在时刻表中不存在,就不翻
394 calcu_start_date_1.isEqual(calcu_end_date_1), 593 calcu_start_date_1.isEqual(calcu_end_date_1),
395 calcu_start_date_2.isBefore(calcu_end_date_2) || calcu_start_date_2.isEqual(calcu_end_date_2), 594 calcu_start_date_2.isBefore(calcu_end_date_2) || calcu_start_date_2.isEqual(calcu_end_date_2),
396 $csd2: calcu_start_date_2, 595 $csd2: calcu_start_date_2,
397 - $ced2: calcu_end_date_2,  
398 $ruleId: ruleId, 596 $ruleId: ruleId,
  597 + fbtype == "0",
399 $lpindex: calcu_index_lp, 598 $lpindex: calcu_index_lp,
400 - $ryindex: calcu_index_ry 599 + $fbindex : fbgs_index
401 ) 600 )
402 $sri: ScheduleRule_input( 601 $sri: ScheduleRule_input(
403 ruleId == $ruleId, 602 ruleId == $ruleId,
404 - $cid: carConfigId,  
405 - $gids: guideboardIds,  
406 - $eids: employeeConfigIds,  
407 - $srf: self 603 + $gids: guideboardIds
  604 + )
  605 + $liro: LpInfoResult_output(
  606 + dateTime.isEqual($csd2),
  607 + $gids[$lpindex] == lpId
408 ) 608 )
409 then 609 then
410 - ScheduleResult_output ro = new ScheduleResult_output();  
411 - ro.setRuleId($ruleId);  
412 - ro.setSd($csd2);  
413 - ro.setGuideboardId(String.valueOf($gids.get($lpindex)));  
414 - ro.setEmployeeConfigId(String.valueOf($eids.get($ryindex)));  
415 - ro.setCarConfigId($cid);  
416 - ro.setXlId($xlid);  
417 -  
418 - // 类型  
419 - ro.setsType($sri.getsType());  
420 -  
421 - scheduleResult.getResults().add(ro);  
422 -  
423 - $cdrp.setCalcu_start_date_2($csd2.plusDays(1));  
424 -  
425 -// // 保存排班规则循环结果 --> SchedulePlanRuleResult  
426 -// SchedulePlanRuleResult schedulePlanRuleResult = new SchedulePlanRuleResult($sp);  
427 -// schedulePlanRuleResult.setXlId(String.valueOf($srf.getXl().getId()));  
428 -// schedulePlanRuleResult.setXlName($srf.getXl().getName());  
429 -// schedulePlanRuleResult.setRuleId($ruleId);  
430 -// schedulePlanRuleResult.setCcId($cid);  
431 -// schedulePlanRuleResult.setCcZbh($srf.getCarConfigInfo().getCl().getInsideCode());  
432 -// schedulePlanRuleResult.setGids($srf.getLpIds());  
433 -// schedulePlanRuleResult.setGnames($srf.getLpNames());  
434 -// schedulePlanRuleResult.setGidindex(String.valueOf($lpindex));  
435 -// schedulePlanRuleResult.setEcids($srf.getRyConfigIds());  
436 -// schedulePlanRuleResult.setEcdbbms($srf.getRyDbbms());  
437 -// schedulePlanRuleResult.setEcindex(String.valueOf($ryindex));  
438 -// schedulePlanRuleResult.setScheduleDate($csd2.toDate());  
439 -//  
440 -// scheduleResult.getSchedulePlanRuleResults().add(schedulePlanRuleResult);  
441 -  
442 -// log.info("Calcu_loop2_2_ ruleId={}, calcu_index_lp/ry={}/{}, from={}, to={}",  
443 -// $ruleId, $cdrp.getCalcu_index_lp(), $cdrp.getCalcu_index_ry(), $csd2, $ced2); 610 + calcu_loop2_fb($sp, $cdrp, $sri, $liro, scheduleResult, log);
  611 + update($cdrp);
  612 +
  613 +end
444 614
  615 +rule "Calcu_loop2_timetabletype_with_no_lp_" // 翻班模式为 type=0 使用时刻表格式翻,路牌在时刻表中不存在,就跳过
  616 + salience 800
  617 + when
  618 + ScheduleCalcuParam_input($sp: schedulePlan, $xlid: xlId)
  619 + $cdrp: Calcu_days_result_pre(
  620 + calcu_start_date_1.isEqual(calcu_end_date_1),
  621 + calcu_start_date_2.isBefore(calcu_end_date_2) || calcu_start_date_2.isEqual(calcu_end_date_2),
  622 + $ruleId: ruleId,
  623 + fbtype == "0"
  624 + )
  625 + $sri: ScheduleRule_input(
  626 + ruleId == $ruleId
  627 + )
  628 + then
  629 + calcu_loop2_not_fb($cdrp, $sri, scheduleResult);
445 update($cdrp); 630 update($cdrp);
446 end 631 end
447 632
@@ -450,3 +635,5 @@ end @@ -450,3 +635,5 @@ end
450 635
451 636
452 637
  638 +
  639 +
src/main/resources/static/pages/base/timesmodel/add.html
@@ -134,6 +134,9 @@ @@ -134,6 +134,9 @@
134 <label > 134 <label >
135 <input type="radio" class="icheck" name="baseRes" value=1 checked> 班型/人次/车辆 135 <input type="radio" class="icheck" name="baseRes" value=1 checked> 班型/人次/车辆
136 </label> 136 </label>
  137 + <label>
  138 + <input type="radio" class="icheck" name="baseRes" value=2> 发车间隔分析
  139 + </label>
137 <label> 140 <label>
138 <input type="radio" class="icheck" name="baseRes" value=0> 客流大数据分析 141 <input type="radio" class="icheck" name="baseRes" value=0> 客流大数据分析
139 </label> 142 </label>
src/main/resources/static/pages/base/timesmodel/js/add-form-wizard.js
@@ -322,6 +322,8 @@ var SKBFormWizard = function() { @@ -322,6 +322,8 @@ var SKBFormWizard = function() {
322 tempName = 'carnum_temp'; 322 tempName = 'carnum_temp';
323 else if(n==1) 323 else if(n==1)
324 tempName = 'bctype_temp'; 324 tempName = 'bctype_temp';
  325 + else if (n==2)
  326 + tempName = 'fcjx_temp';
325 // 2、获参数详情模版html内容. 327 // 2、获参数详情模版html内容.
326 $.get('/pages/base/timesmodel/tepms/'+ tempName + '.html', function(html){ 328 $.get('/pages/base/timesmodel/tepms/'+ tempName + '.html', function(html){
327 $('#tab3').append(html); 329 $('#tab3').append(html);
@@ -381,7 +383,12 @@ var SKBFormWizard = function() { @@ -381,7 +383,12 @@ var SKBFormWizard = function() {
381 }else if(n==1) { 383 }else if(n==1) {
382 // 返回参数详情模版. 384 // 返回参数详情模版.
383 return cb && cb ({'forminput':template(tempName,{map:map}),'datadisplay': template(tempName +'config',{map:null})}); 385 return cb && cb ({'forminput':template(tempName,{map:map}),'datadisplay': template(tempName +'config',{map:null})});
384 - } 386 + }else if (n==2) {
  387 + return cb && cb({
  388 + 'forminput': template(tempName, {map: map}),
  389 + 'datadisplay': template(tempName + '_config', {map: null})
  390 + });
  391 + }
385 }); 392 });
386 } 393 }
387 394
@@ -829,34 +836,105 @@ var SKBFormWizard = function() { @@ -829,34 +836,105 @@ var SKBFormWizard = function() {
829 getHtmlTemp(baseRes,r.content[0],lineId,krl,function(htlMap) { 836 getHtmlTemp(baseRes,r.content[0],lineId,krl,function(htlMap) {
830 $('#tab3').html(htlMap.forminput); 837 $('#tab3').html(htlMap.forminput);
831 $('#tab4').html(htlMap.datadisplay); 838 $('#tab4').html(htlMap.datadisplay);
832 - $('#linePlayTypeSelect').val(r.content[0].line.linePlayType);  
833 - if(baseRes==1)  
834 - ComponentsBootstrapTagsinput.init();// 初始化班型人次Input Tag.  
835 - // 日期控件  
836 - $('#qdzsbsjInput').datetimepicker({format : 'HH:mm',locale: 'zh-cn'});// 起始站首班时间  
837 - $('#qdzmbsjInput').datetimepicker({format : 'HH:mm',locale: 'zh-cn'});// 起始站末班时间  
838 - $('#zdzsbsjInput').datetimepicker({format : 'HH:mm',locale: 'zh-cn'});// 终点站首班时间  
839 - $('#zdzmbsjInput').datetimepicker({format : 'HH:mm',locale: 'zh-cn'});// 终点站末班时间  
840 - $('#zgfkssjInput').datetimepicker({format : 'HH:mm',locale: 'zh-cn'});// 早高峰开始时间  
841 - $('#zgfjssjInput').datetimepicker({format : 'HH:mm',locale: 'zh-cn'});// 早高峰结束时间  
842 - $('#wgfkssjInput').datetimepicker({format : 'HH:mm',locale: 'zh-cn'});// 晚高峰开始时间  
843 - $('#wgfjssjInput').datetimepicker({format : 'HH:mm',locale: 'zh-cn'});// 晚高峰结束时间  
844 - // 初始化停车场下拉框.  
845 - gettccInfo(function(cd) {  
846 - var options = '<option value="">请选择...</option><optgroup label="停车场">';  
847 - var $_len = cd.length;  
848 - if($_len>0) {  
849 - $.each(cd, function(i, d){  
850 - options += '<option value="'+d.parkCode+'">'+d.parkName+'</option>';  
851 - });  
852 -  
853 - }  
854 - options += '</optgroup>';  
855 - $('#carParkSelect').html(options).select2();  
856 - $('#carParkSelect').select2("val",r.content[0].carPark);  
857 - // 关闭弹出加载层  
858 - layer.close(i);  
859 - }); 839 +
  840 + if (baseRes == 0) { // 客流大数据分析
  841 + $('#linePlayTypeSelect').val(r.content[0].line.linePlayType);
  842 + // 日期控件
  843 + $('#qdzsbsjInput').datetimepicker({format : 'HH:mm',locale: 'zh-cn'});// 起始站首班时间
  844 + $('#qdzmbsjInput').datetimepicker({format : 'HH:mm',locale: 'zh-cn'});// 起始站末班时间
  845 + $('#zdzsbsjInput').datetimepicker({format : 'HH:mm',locale: 'zh-cn'});// 终点站首班时间
  846 + $('#zdzmbsjInput').datetimepicker({format : 'HH:mm',locale: 'zh-cn'});// 终点站末班时间
  847 + $('#zgfkssjInput').datetimepicker({format : 'HH:mm',locale: 'zh-cn'});// 早高峰开始时间
  848 + $('#zgfjssjInput').datetimepicker({format : 'HH:mm',locale: 'zh-cn'});// 早高峰结束时间
  849 + $('#wgfkssjInput').datetimepicker({format : 'HH:mm',locale: 'zh-cn'});// 晚高峰开始时间
  850 + $('#wgfjssjInput').datetimepicker({format : 'HH:mm',locale: 'zh-cn'});// 晚高峰结束时间
  851 + // 初始化停车场下拉框.
  852 + gettccInfo(function(cd) {
  853 + var options = '<option value="">请选择...</option><optgroup label="停车场">';
  854 + var $_len = cd.length;
  855 + if($_len>0) {
  856 + $.each(cd, function(i, d){
  857 + options += '<option value="'+d.parkCode+'">'+d.parkName+'</option>';
  858 + });
  859 +
  860 + }
  861 + options += '</optgroup>';
  862 + $('#carParkSelect').html(options).select2();
  863 + $('#carParkSelect').select2("val",r.content[0].carPark);
  864 + // 关闭弹出加载层
  865 + layer.close(i);
  866 + });
  867 +
  868 + } else if (baseRes == 1) { // 班次/人次/车辆
  869 + $('#linePlayTypeSelect').val(r.content[0].line.linePlayType);
  870 + ComponentsBootstrapTagsinput.init();// 初始化班型人次Input Tag.
  871 + // 日期控件
  872 + $('#qdzsbsjInput').datetimepicker({format : 'HH:mm',locale: 'zh-cn'});// 起始站首班时间
  873 + $('#qdzmbsjInput').datetimepicker({format : 'HH:mm',locale: 'zh-cn'});// 起始站末班时间
  874 + $('#zdzsbsjInput').datetimepicker({format : 'HH:mm',locale: 'zh-cn'});// 终点站首班时间
  875 + $('#zdzmbsjInput').datetimepicker({format : 'HH:mm',locale: 'zh-cn'});// 终点站末班时间
  876 + $('#zgfkssjInput').datetimepicker({format : 'HH:mm',locale: 'zh-cn'});// 早高峰开始时间
  877 + $('#zgfjssjInput').datetimepicker({format : 'HH:mm',locale: 'zh-cn'});// 早高峰结束时间
  878 + $('#wgfkssjInput').datetimepicker({format : 'HH:mm',locale: 'zh-cn'});// 晚高峰开始时间
  879 + $('#wgfjssjInput').datetimepicker({format : 'HH:mm',locale: 'zh-cn'});// 晚高峰结束时间
  880 + // 初始化停车场下拉框.
  881 + gettccInfo(function(cd) {
  882 + var options = '<option value="">请选择...</option><optgroup label="停车场">';
  883 + var $_len = cd.length;
  884 + if($_len>0) {
  885 + $.each(cd, function(i, d){
  886 + options += '<option value="'+d.parkCode+'">'+d.parkName+'</option>';
  887 + });
  888 +
  889 + }
  890 + options += '</optgroup>';
  891 + $('#carParkSelect').html(options).select2();
  892 + $('#carParkSelect').select2("val",r.content[0].carPark);
  893 + // 关闭弹出加载层
  894 + layer.close(i);
  895 + });
  896 +
  897 + } else if (baseRes == 2) { // 发车间隔分析
  898 + // 上下行首末班日期控件
  899 + $('#startStationFirstTime_id').datetimepicker({format : 'HH:mm',locale: 'zh-cn'});
  900 + $('#startStationEndTime_id').datetimepicker({format : 'HH:mm',locale: 'zh-cn'});
  901 + $('#endStationFirstTime_id').datetimepicker({format : 'HH:mm',locale: 'zh-cn'});
  902 + $('#endStationEndTime_id').datetimepicker({format : 'HH:mm',locale: 'zh-cn'});
  903 +
  904 + // 早高峰晚高峰日期控件
  905 + $('#earlyStartTime_id').datetimepicker({format : 'HH:mm',locale: 'zh-cn'});
  906 + $('#earlyEndTime_id').datetimepicker({format : 'HH:mm',locale: 'zh-cn'});
  907 + $('#lateStartTime_id').datetimepicker({format : 'HH:mm',locale: 'zh-cn'});
  908 + $('#lateEndTime_id').datetimepicker({format : 'HH:mm',locale: 'zh-cn'});
  909 +
  910 + // 线路规划类型日期控件
  911 + $('#linePlayType_id').val(r.content[0].line.linePlayType);
  912 +
  913 + // 停车场下拉框控件
  914 + gettccInfo(function(cd) {
  915 + var options = '<option value="">请选择...</option><optgroup label="停车场">';
  916 + var $_len = cd.length;
  917 + if($_len>0) {
  918 + $.each(cd, function(i, d){
  919 + options += '<option value="'+d.parkCode+'">'+d.parkName+'</option>';
  920 + });
  921 +
  922 + }
  923 + options += '</optgroup>';
  924 + $('#carPark_id').html(options).select2();
  925 + $('#carPark_id').select2("val",r.content[0].carPark);
  926 + // 关闭弹出加载层
  927 + layer.close(i);
  928 + });
  929 +
  930 + // 发车间隙选择控件
  931 + ComponentsBootstrapTagsinput.init_fcjx();
  932 +
  933 + // TODO:发车间隔分析参数设置
  934 +
  935 + layer.close(i);
  936 + }
  937 +
860 }); 938 });
861 }); 939 });
862 } 940 }
src/main/resources/static/pages/base/timesmodel/js/base-fun.js
@@ -794,44 +794,44 @@ var BaseFun = function() { @@ -794,44 +794,44 @@ var BaseFun = function() {
794 794
795 // 第一步 根据表单中的参数得到所有路牌下的班次数[从各路牌下的第一个班次发车时间 到 营运结束时间点并且是连续的班次数]. 795 // 第一步 根据表单中的参数得到所有路牌下的班次数[从各路牌下的第一个班次发车时间 到 营运结束时间点并且是连续的班次数].
796 var allLMapBc = baseF.GetByArgusInitAllLpDownedBcCollections(saa , cara , map , seMap , dataMap); 796 var allLMapBc = baseF.GetByArgusInitAllLpDownedBcCollections(saa , cara , map , seMap , dataMap);
797 - //return {'json':allLMapBc,'bxrcgs':null}; 797 + return {'json':allLMapBc,'bxrcgs':null};
798 798
799 - // 第二步 纵向调整  
800 - baseF.evenStartDepartSpace(allLMapBc , dataMap);  
801 - //return {'json':allLMapBc,'bxrcgs':null};  
802 -  
803 - // 第三步 剔除首末班车以外的班次,并确认首末班车.  
804 - var markArray = baseF.markFirstAndLastBusAlsoDietNotInRangeBc(allLMapBc , dataMap);  
805 - //return {'json':markArray,'bxrcgs':null};  
806 - // 第四步 横向调整  
807 - baseF.resizeByPitStopTime(cara , markArray , dataMap);  
808 - //return {'json':markArray,'bxrcgs':null};  
809 - /**  
810 - * 第五步 把班型合理的分配到各个路牌上.  
811 - *  
812 - * 切割班型/人次/配车数 字符串 为 数组对象.  
813 - *  
814 - * 把班型分配到对应的具体路牌上.  
815 - */  
816 - // 切割班型/人次/配车数 字符串 为 数组对象.  
817 - var list = baseF.getBxRcListCollection(map.bxrc);  
818 - // 把班型分配到对应的具体路牌上.  
819 - baseF.bxAlloTotLp(list,cara);  
820 - ////return {'json':markArray,'bxrcgs':null}; 799 + //// 第二步 纵向调整
  800 + //baseF.evenStartDepartSpace(allLMapBc , dataMap);
  801 + ////return {'json':allLMapBc,'bxrcgs':null};
821 // 802 //
822 - //  
823 - // 第六步 抽车来满足工时.  
824 - var tempA = baseF.abstractCar(list , markArray , cara , saa , dataMap , map);  
825 - //return {'json':tempA,'bxrcgs':null};  
826 - // 第七步 确定吃饭时间.  
827 - if (map.cfdd) { // NEW,没有选择吃饭地点,不设定吃饭班次  
828 - baseF.markeEatTime(list , tempA , cara , saa , dataMap ,map);  
829 - }  
830 - baseF.resizeByPitStopTime(cara , tempA , dataMap);  
831 - baseF.updfcno01(tempA,0);  
832 - //return {'json':tempA,'bxrcgs':null};  
833 - // 确定进出场、早晚例保时间.并返回班次数组集合  
834 - return {'json':baseF.addInOutFieldBc(cara,tempA,dataMap,saa,map),'bxrcgs':null}; 803 + //// 第三步 剔除首末班车以外的班次,并确认首末班车.
  804 + //var markArray = baseF.markFirstAndLastBusAlsoDietNotInRangeBc(allLMapBc , dataMap);
  805 + ////return {'json':markArray,'bxrcgs':null};
  806 + //// 第四步 横向调整
  807 + //baseF.resizeByPitStopTime(cara , markArray , dataMap);
  808 + ////return {'json':markArray,'bxrcgs':null};
  809 + ///**
  810 + // * 第五步 把班型合理的分配到各个路牌上.
  811 + // *
  812 + // * 切割班型/人次/配车数 字符串 为 数组对象.
  813 + // *
  814 + // * 把班型分配到对应的具体路牌上.
  815 + // */
  816 + //// 切割班型/人次/配车数 字符串 为 数组对象.
  817 + //var list = baseF.getBxRcListCollection(map.bxrc);
  818 + //// 把班型分配到对应的具体路牌上.
  819 + //baseF.bxAlloTotLp(list,cara);
  820 + //////return {'json':markArray,'bxrcgs':null};
  821 + ////
  822 + ////
  823 + //// 第六步 抽车来满足工时.
  824 + //var tempA = baseF.abstractCar(list , markArray , cara , saa , dataMap , map);
  825 + ////return {'json':tempA,'bxrcgs':null};
  826 + //// 第七步 确定吃饭时间.
  827 + //if (map.cfdd) { // NEW,没有选择吃饭地点,不设定吃饭班次
  828 + // baseF.markeEatTime(list , tempA , cara , saa , dataMap ,map);
  829 + //}
  830 + //baseF.resizeByPitStopTime(cara , tempA , dataMap);
  831 + //baseF.updfcno01(tempA,0);
  832 + ////return {'json':tempA,'bxrcgs':null};
  833 + //// 确定进出场、早晚例保时间.并返回班次数组集合
  834 + //return {'json':baseF.addInOutFieldBc(cara,tempA,dataMap,saa,map),'bxrcgs':null};
835 }, 835 },
836 836
837 markeEatTime : function(list , markArray , cara , saa , dataMap ,map) { 837 markeEatTime : function(list , markArray , cara , saa , dataMap ,map) {
src/main/resources/static/pages/base/timesmodel/js/gantt.js
@@ -50,11 +50,16 @@ @@ -50,11 +50,16 @@
50 var CSMap = null,data = null; 50 var CSMap = null,data = null;
51 if(map.baseRes== '0') { 51 if(map.baseRes== '0') {
52 CSMap = getMaxCarAndStopSpace0(map,seMap); 52 CSMap = getMaxCarAndStopSpace0(map,seMap);
  53 + // 发车间隙
  54 + map.fcjx = CSMap.fcjx;
53 }else if(map.baseRes== '1') { 55 }else if(map.baseRes== '1') {
54 CSMap = getMaxCarAndStopSpace1(map); 56 CSMap = getMaxCarAndStopSpace1(map);
55 - }  
56 - // 发车间隙  
57 - map.fcjx = CSMap.fcjx; 57 + // 发车间隙
  58 + map.fcjx = CSMap.fcjx;
  59 + }else if (map.baseRes == '2') {
  60 + // TODO:之后可能有新的参数加入
  61 + }
  62 +
58 // 定义时间参数. 63 // 定义时间参数.
59 var stopAraay = getsj(map); 64 var stopAraay = getsj(map);
60 if(isNull(objD)) { 65 if(isNull(objD)) {
@@ -66,7 +71,11 @@ @@ -66,7 +71,11 @@
66 // data = BaseFun.BXPplaceClassesTime(stopAraay,CSMap.maxCar,map,seMap,dataMap,getylp(CSMap.maxCar).lpNoA); 71 // data = BaseFun.BXPplaceClassesTime(stopAraay,CSMap.maxCar,map,seMap,dataMap,getylp(CSMap.maxCar).lpNoA);
67 // data = BaseFun.BXPplaceClassesTime01(stopAraay,CSMap.maxCar,map,seMap,dataMap,getylp(CSMap.maxCar).lpNoA); 72 // data = BaseFun.BXPplaceClassesTime01(stopAraay,CSMap.maxCar,map,seMap,dataMap,getylp(CSMap.maxCar).lpNoA);
68 data = BaseFun.BXPplaceClassesTime02(stopAraay,CSMap.maxCar,map,seMap,dataMap); 73 data = BaseFun.BXPplaceClassesTime02(stopAraay,CSMap.maxCar,map,seMap,dataMap);
69 - } 74 + } else if (map.baseRes == '2') {
  75 + // TODO:绘制gantt图表
  76 + // TODO:var seDate = getksjssj(null,seMap.s); 关联参数必须设置
  77 + alert("TODO:gantt图表数据");
  78 + }
70 79
71 }else { 80 }else {
72 var jsonA = JSON.parse(objD); 81 var jsonA = JSON.parse(objD);
src/main/resources/static/pages/base/timesmodel/js/tagsinput.js
@@ -78,10 +78,53 @@ var ComponentsBootstrapTagsinput = function() { @@ -78,10 +78,53 @@ var ComponentsBootstrapTagsinput = function() {
78 tag = false; 78 tag = false;
79 return tag; 79 return tag;
80 } 80 }
81 - } 81 + };
  82 +
  83 + var handelDemo3 = function() {
  84 + // 定义tags控件class
  85 + var elt = $('#fcjx_tagsinput');
  86 + elt.tagsinput({
  87 + tagClass: function(item) {
  88 + return 'label label-danger label-important';
  89 + },
  90 + itemValue: 'value',
  91 + itemText: 'text'
  92 + });
  93 +
  94 + // 初始化内部控件,时间控件
  95 + $('#fcjx_tagsinput_starttime').datetimepicker({format : 'HH:mm',locale: 'zh-cn'});
  96 + $('#fcjx_tagsinput_endtime').datetimepicker({format : 'HH:mm',locale: 'zh-cn'});
  97 +
  98 + $('#fcjx_tagsinput').on('beforeItemAdd', function(event) {
  99 + // TODO:这里可以做一些逻辑判定
  100 + });
  101 +
  102 + $('#fcjx_tagsinput_add').on('click', function(){
  103 + var starttime = $('#fcjx_tagsinput_starttime').val();
  104 + var endtime = $('#fcjx_tagsinput_endtime').val();
  105 + var fcjx = $('#fcjx_tagsinput_value').val();
  106 +
  107 + if (starttime && endtime && fcjx) {
  108 + // TODO:这里做一些逻辑判定
  109 +
  110 + elt.tagsinput('add', {
  111 + "value": starttime + '/' + endtime + '/' + fcjx,
  112 + "text": starttime + '/' + endtime + '/' + fcjx
  113 + });
  114 + $('#fcjx_tagsinput_starttime').val(null);
  115 + $('#fcjx_tagsinput_endtime').val(null);
  116 + $('#fcjx_tagsinput_value').val(null);
  117 + }
  118 + });
  119 +
  120 +
  121 + };
82 return { 122 return {
83 init: function() { 123 init: function() {
84 handleDemo2(); 124 handleDemo2();
  125 + },
  126 + init_fcjx: function() {
  127 + handelDemo3();
85 } 128 }
86 }; 129 };
87 }(); 130 }();
88 \ No newline at end of file 131 \ No newline at end of file
src/main/resources/static/pages/base/timesmodel/tepms/fcjx_temp.html 0 → 100644
  1 +<script type="text/html" id = "fcjx_temp">
  2 +
  3 + <div class="form-group">
  4 + <div class="col-md-6">
  5 + <label class="control-label col-md-5">
  6 + <span class="required"> * </span> 上行首班时间 :
  7 + </label>
  8 + <div class="col-md-5">
  9 + <input type="text" class="form-control" name="startStationFirstTime" value="{{map.line.startStationFirstTime}}" id="startStationFirstTime_id"
  10 + placeholder="请输入起始站首班时间">
  11 + </div>
  12 + </div>
  13 + <div class="col-md-6">
  14 + <label class="control-label col-md-5">
  15 + <span class="required"> * </span> 上行末班时间 :
  16 + </label>
  17 + <div class="col-md-5">
  18 + <input type="text" class="form-control" name="startStationEndTime" value="{{map.line.startStationEndTime}}" id="startStationEndTime_id"
  19 + placeholder="请输入起始站末班时间">
  20 + </div>
  21 + </div>
  22 + </div>
  23 +
  24 + <div class="form-group">
  25 + <div class="col-md-6">
  26 + <label class="control-label col-md-5">
  27 + <span class="required"> * </span> 下行首班时间 :
  28 + </label>
  29 + <div class="col-md-5">
  30 + <input type="text" class="form-control" name="endStationFirstTime" value="{{map.line.endStationFirstTime}}" id="endStationFirstTime_id"
  31 + placeholder="请输入终点站首班时间">
  32 + </div>
  33 + </div>
  34 + <div class="col-md-6">
  35 + <label class="control-label col-md-5">
  36 + <span class="required"> * </span> 下行末班时间 :
  37 + </label>
  38 + <div class="col-md-5">
  39 + <input type="text" class="form-control" name="endStationEndTime" value="{{map.line.endStationEndTime}}" id="endStationEndTime_id"
  40 + placeholder="请输入终点站末班时间">
  41 + </div>
  42 + </div>
  43 + </div>
  44 +
  45 + <div class="form-group">
  46 + <div class="col-md-6">
  47 + <label class="control-label col-md-5">
  48 + <span class="required"> * </span> 早高峰开始时间 :
  49 + </label>
  50 + <div class="col-md-5">
  51 + <input type="text" class="form-control" name="earlyStartTime" value="{{map.earlyStartTime}}" id="earlyStartTime_id"
  52 + placeholder="请输入早高峰开始时间">
  53 + </div>
  54 + </div>
  55 + <div class="col-md-6">
  56 + <label class="control-label col-md-5">
  57 + <span class="required"> * </span> 早高峰结束时间 :
  58 + </label>
  59 + <div class="col-md-5">
  60 + <input type="text" class="form-control" name="earlyEndTime" value="{{map.earlyEndTime}}" id="earlyEndTime_id"
  61 + placeholder="请输入早高峰结束时间">
  62 + </div>
  63 + </div>
  64 + </div>
  65 +
  66 + <div class="form-group">
  67 + <div class="col-md-6">
  68 + <label class="control-label col-md-5">
  69 + <span class="required"> * </span> 晚高峰开始时间 :
  70 + </label>
  71 + <div class="col-md-5">
  72 + <input type="text" class="form-control" name="lateStartTime" value="{{map.lateStartTime}}" id="lateStartTime_id"
  73 + placeholder="请输入晚高峰开始时间">
  74 + </div>
  75 + </div>
  76 + <div class="col-md-6">
  77 + <label class="control-label col-md-5">
  78 + <span class="required"> * </span> 晚高峰结束时间 :
  79 + </label>
  80 + <div class="col-md-5">
  81 + <input type="text" class="form-control" name="lateEndTime" value="{{map.lateEndTime}}" id="lateEndTime_id"
  82 + placeholder="请输入晚高峰结束时间">
  83 + </div>
  84 + </div>
  85 + </div>
  86 +
  87 + <div class="form-group">
  88 + <div class="col-md-6">
  89 + <label class="control-label col-md-5">
  90 + <span class="required"> * </span> 线路规划类型  :
  91 + </label>
  92 + <div class="col-md-5">
  93 + <select name="linePlayType" class="form-control" id="linePlayType_id">
  94 + <option value="">-- 请选择线路类型 --</option>
  95 + <option value="0">双向</option>
  96 + <option value="1">环线</option>
  97 + </select>
  98 + </div>
  99 + </div>
  100 + <div class="col-md-6">
  101 + <label class="control-label col-md-5">吃饭地点    :</label>
  102 + <div class="col-md-5">
  103 + <select type="text" class="form-control" name="cfdd" id="cfdd_id">
  104 + <option value="">请选择...</option>
  105 + <option value="0">{{map.line.startStationName}}</option>
  106 + <option value="1">{{map.line.endStationName}}</option>
  107 + <option value="allYes">起终点站都可以</option>
  108 + </select>
  109 + </div>
  110 + </div>
  111 + </div>
  112 +
  113 + <div class="form-group">
  114 + <div class="col-md-6">
  115 + <label class="control-label col-md-5">早晚例行保养  :</label>
  116 + <div class="col-md-5">
  117 + <input type="text" class="form-control" name="lb" value="{{map.lb}}" id="lb_id"
  118 + placeholder="请输入早晚例行保养">
  119 + </div>
  120 + </div>
  121 + <div class="col-md-6">
  122 + <label class="control-label col-md-5">停车场     :</label>
  123 + <div class="col-md-5">
  124 + <select name="carPark" class="form-control" id="carPark_id" style="width:100%"></select>
  125 + </div>
  126 + </div>
  127 + </div>
  128 +
  129 + <div class="form-group">
  130 + <div class="col-md-6">
  131 + <label class="control-label col-md-5">工作餐午餐时间 :</label>
  132 + <div class="col-md-5">
  133 + <input type="text" class="form-control" name="workeLunch" value="{{map.workeLunch}}" id="workeLunch_id"
  134 + placeholder="请输入工作餐午餐时间">
  135 + </div>
  136 + </div>
  137 + <div class="col-md-6">
  138 + <label class="control-label col-md-5">工作餐晚餐时间 :</label>
  139 + <div class="col-md-5">
  140 + <input type="text" class="form-control" name="workeDinner" value="{{map.workeDinner}}" id="workeDinner_id"
  141 + placeholder="请输入工作餐晚餐时间">
  142 + </div>
  143 + </div>
  144 + </div>
  145 +
  146 + <div class="form-group">
  147 + <div class="col-md-6 ">
  148 + <label class="control-label col-md-5"><span class="required"> * </span>发车间隔时段 :</label>
  149 + <div class="col-md-5 tagsDiv">
  150 + <div class="row" style="margin-left: 15px;">
  151 + <input type="text" value="" name="fcjx" id="fcjx_tagsinput" style="display: none;">
  152 + </div>
  153 +
  154 + <div class="row" style="margin-top: 10px;">
  155 + <label class="control-label col-md-4">开始时间:</label>
  156 + <div class="col-md-8">
  157 + <input type="text" class="form-control" placeholder="时段开始时间" id="fcjx_tagsinput_starttime">
  158 + </div>
  159 + </div>
  160 +
  161 + <div class="row" style="margin-top: 10px;">
  162 + <label class="control-label col-md-4">结束时间:</label>
  163 + <div class="col-md-8">
  164 + <input type="text" class="form-control" placeholder="时段结束时间" id="fcjx_tagsinput_endtime">
  165 + </div>
  166 + </div>
  167 +
  168 + <div class="row" style="margin-top: 10px;">
  169 + <label class="control-label col-md-4">间隔值:</label>
  170 + <div class="col-md-8">
  171 + <input type="number" class="form-control" placeholder="间隔时间" id="fcjx_tagsinput_value" min="1">
  172 + </div>
  173 + </div>
  174 +
  175 + <div class="row" style="margin-top: 10px;margin-left: 116px;">
  176 + <a href="javascript:" class="btn red" id="fcjx_tagsinput_add">添加</a>
  177 + </div>
  178 + </div>
  179 + </div>
  180 + </div>
  181 +
  182 + <!-- 隐藏字段-时间 -->
  183 + <!-- 上下行行驶时间 -->
  184 + <input type="hidden" name="upTravelTime" value="{{map.upTravelTime}}" id="upTravelTime_id"/>
  185 + <input type="hidden" name="downTravelTime" value="{{map.downTravelTime}}" id="downTravelTime_id"/>
  186 + <!-- 早高峰/晚高峰上下行行驶时间 -->
  187 + <input type="hidden" name="earlyUpTime" value="{{map.earlyUpTime}}" id="earlyUpTime_id" />
  188 + <input type="hidden" name="earlyDownTime" value="{{map.earlyDownTime}}" id="earlyDownTime_id" />
  189 + <input type="hidden" name="lateUpTime" value="{{map.lateUpTime}}" id="lateUpTime_id"/>
  190 + <input type="hidden" name="lateDownTime" value="{{map.lateDownTime}}" id="lateDownTime_id"/>
  191 + <!-- 低谷上下行行驶时间 -->
  192 + <input type="hidden" name="troughUpTime" value="{{map.troughUpTime}}" id="troughUpTime_id"/>
  193 + <input type="hidden" name="troughDownTime" value="{{map.troughDownTime}}" id="troughDownTime_id"/>
  194 + <!-- 上下行进场出场时间 -->
  195 + <input type="hidden" name="upInTimer" value="{{map.upInTimer}}" id="upInTimer_id"/>
  196 + <input type="hidden" name="downInTimer" value="{{map.downInTimer}}" id="downInTimer_id"/>
  197 + <input type="hidden" name="upOutTimer" value="{{map.upOutTimer}}" id="upOutTimer_id"/>
  198 + <input type="hidden" name="downOutTimer" value="{{map.downOutTimer}}" id="downOutTimer_id"/>
  199 +
  200 + <!-- 隐藏字段-里程 -->
  201 + <!-- 上下行行驶里程 -->
  202 + <input type="hidden" name="upMileage" value="{{map.upMileage}}" id="upMileage_id"/>
  203 + <input type="hidden" name="downMileage" value="{{map.downMileage}}" id="downMileage_id"/>
  204 + <!-- 上下行进场出场里程 -->
  205 + <input type="hidden" name="upInMileage" value="{{map.upInMileage}}" id="upInMileage_id"/>
  206 + <input type="hidden" name="downInMileage" value="{{map.downInMileage}}" id="downInMileage_id"/>
  207 + <input type="hidden" name="upOutMileage" value="{{map.upOutMileage}}" id="upOutMileage_id"/>
  208 + <input type="hidden" name="downOutMileage" value="{{map.downOutMileage}}" id="downOutMileage_id"/>
  209 +
  210 +</script>
  211 +
  212 +<script type="text/html" id="fcjx_temp_config">
  213 + <h4 class="form-section"> 时刻表与线路名称 </h4>
  214 + <div class="form-group">
  215 + <div class="col-md-6">
  216 + <label class="control-label col-md-5"> 时刻表名称   : </label>
  217 + <div class="col-md-7">
  218 + <p class="form-control-static" data-display="skbName"> </p>
  219 + </div>
  220 + </div>
  221 + <div class="col-md-6">
  222 + <label class="control-label col-md-5"> 线路名称    :</label>
  223 + <div class="col-md-4">
  224 + <p class="form-control-static" data-display="lineName"> </p>
  225 + </div>
  226 + </div>
  227 + </div>
  228 + <h4 class="form-section"> 参数详情 </h4>
  229 +
  230 + <div class="form-group">
  231 + <div class="col-md-6">
  232 + <label class="control-label col-md-5">
  233 + <span class="required"> * </span> 上行首班时间 :
  234 + </label>
  235 + <div class="col-md-4">
  236 + <p class="form-control-static" data-display="startStationFirstTime"> </p>
  237 + </div>
  238 + </div>
  239 + <div class="col-md-6">
  240 + <label class="control-label col-md-5">
  241 + <span class="required"> * </span> 上行末班时间 :
  242 + </label>
  243 + <div class="col-md-4">
  244 + <p class="form-control-static" data-display="startStationEndTime"> </p>
  245 + </div>
  246 + </div>
  247 + </div>
  248 +
  249 + <div class="form-group">
  250 + <div class="col-md-6">
  251 + <label class="control-label col-md-5">
  252 + <span class="required"> * </span> 下行首班时间 :
  253 + </label>
  254 + <div class="col-md-4">
  255 + <p class="form-control-static" data-display="endStationFirstTime"> </p>
  256 + </div>
  257 + </div>
  258 + <div class="col-md-6">
  259 + <label class="control-label col-md-5">
  260 + <span class="required"> * </span> 下行末班时间 :
  261 + </label>
  262 + <div class="col-md-4">
  263 + <p class="form-control-static" data-display="endStationEndTime"> </p>
  264 + </div>
  265 + </div>
  266 + </div>
  267 +
  268 + <div class="form-group">
  269 + <div class="col-md-6">
  270 + <label class="control-label col-md-5">
  271 + <span class="required"> * </span> 早高峰开始时间 :
  272 + </label>
  273 + <div class="col-md-4">
  274 + <p class="form-control-static" data-display="earlyStartTime"> </p>
  275 + </div>
  276 + </div>
  277 + <div class="col-md-6">
  278 + <label class="control-label col-md-5">
  279 + <span class="required"> * </span> 早高峰结束时间 :
  280 + </label>
  281 + <div class="col-md-4">
  282 + <p class="form-control-static" data-display="earlyEndTime"> </p>
  283 + </div>
  284 + </div>
  285 + </div>
  286 +
  287 + <div class="form-group">
  288 + <div class="col-md-6">
  289 + <label class="control-label col-md-5">
  290 + <span class="required"> * </span> 晚高峰开始时间 :
  291 + </label>
  292 + <div class="col-md-4">
  293 + <p class="form-control-static" data-display="lateStartTime"> </p>
  294 + </div>
  295 + </div>
  296 + <div class="col-md-6">
  297 + <label class="control-label col-md-5">
  298 + <span class="required"> * </span> 晚高峰结束时间 :
  299 + </label>
  300 + <div class="col-md-4">
  301 + <p class="form-control-static" data-display="lateEndTime"> </p>
  302 + </div>
  303 + </div>
  304 + </div>
  305 +
  306 + <div class="form-group">
  307 + <div class="col-md-6">
  308 + <label class="control-label col-md-5">
  309 + <span class="required"> * </span> 线路规划类型  :
  310 + </label>
  311 + <div class="col-md-4">
  312 + <p class="form-control-static" data-display="linePlayType"> </p>
  313 + </div>
  314 + </div>
  315 + <div class="col-md-6">
  316 + <label class="control-label col-md-5">吃饭地点    :</label>
  317 + <div class="col-md-7">
  318 + <p class="form-control-static" data-display="cfdd"> </p>
  319 + </div>
  320 + </div>
  321 + </div>
  322 +
  323 + <div class="form-group">
  324 + <div class="col-md-6">
  325 + <label class="control-label col-md-5">早晚例行保养  :</label>
  326 + <div class="col-md-4">
  327 + <p class="form-control-static" data-display="lb"> </p>
  328 + </div>
  329 + </div>
  330 + <div class="col-md-6">
  331 + <label class="control-label col-md-5">停车场     :</label>
  332 + <div class="col-md-7">
  333 + <p class="form-control-static" data-display="carPark"> </p>
  334 + </div>
  335 + </div>
  336 + </div>
  337 +
  338 + <div class="form-group">
  339 + <div class="col-md-6">
  340 + <label class="control-label col-md-5"> 工作餐午餐时间 : </label>
  341 + <div class="col-md-4">
  342 + <p class="form-control-static" data-display="workeLunch"> </p>
  343 + </div>
  344 + </div>
  345 + <div class="col-md-6">
  346 + <label class="control-label col-md-5"> 工作餐晚餐时间 : </label>
  347 + <div class="col-md-4">
  348 + <p class="form-control-static" data-display="workeDinner"> </p>
  349 + </div>
  350 + </div>
  351 + </div>
  352 +
  353 +</script>
0 \ No newline at end of file 354 \ No newline at end of file
src/main/resources/static/pages/scheduleApp/Gruntfile.js
@@ -83,6 +83,7 @@ module.exports = function (grunt) { @@ -83,6 +83,7 @@ module.exports = function (grunt) {
83 'module/common/dts1/radioButton/saRadiogroup.js', // 单选框组整合指令 83 'module/common/dts1/radioButton/saRadiogroup.js', // 单选框组整合指令
84 'module/common/dts1/checkbox/saCheckboxgroup.js', // 多选框组整合指令 84 'module/common/dts1/checkbox/saCheckboxgroup.js', // 多选框组整合指令
85 'module/common/dts2/dateGroup/saDategroup.js', // 特殊日期选择指令 85 'module/common/dts2/dateGroup/saDategroup.js', // 特殊日期选择指令
  86 + 'module/common/dts2/fbgsGroup/saFbgsgroup.js', // 翻班格式选择指令
86 'module/common/dts2/guideboardGroup/saGuideboardgroup.js', // 路牌选择整合指令 87 'module/common/dts2/guideboardGroup/saGuideboardgroup.js', // 路牌选择整合指令
87 'module/common/dts2/employeeGroup/saEmployeegroup.js', // 人员选饿整合指令 88 'module/common/dts2/employeeGroup/saEmployeegroup.js', // 人员选饿整合指令
88 'module/common/dts2/bcGroup/saBcgroup.js', // 班次选择整合指令 89 'module/common/dts2/bcGroup/saBcgroup.js', // 班次选择整合指令
src/main/resources/static/pages/scheduleApp/module/common/dts2/employeeGroup/saEmployeegroupTemplate.html
@@ -17,6 +17,7 @@ @@ -17,6 +17,7 @@
17 } 17 }
18 .employee-select .employee-select-body { 18 .employee-select .employee-select-body {
19 margin-top: 5px; 19 margin-top: 5px;
  20 + margin-bottom: 5px;
20 overflow: auto; 21 overflow: auto;
21 width: auto; 22 width: auto;
22 min-height: 5px; 23 min-height: 5px;
src/main/resources/static/pages/scheduleApp/module/common/dts2/fbgsGroup/saFbgsgroup.js 0 → 100644
  1 +/**
  2 + * saFbgsgroup指令
  3 + * 属性如下:
  4 + * name(必须):控件的名字
  5 + * model(必须):指定一个外部object,独立作用域,如:model=ctrl.employeeInfoForSave
  6 + * fbgsvalue(必须):绑定的model翻班格式值,如:fbgsvalue={{ctrl.employeeInfoForSave.fbgs}}
  7 + * fbgsname(必须):绑定的model翻班格式字段名,如:fbgsname=fbgs
  8 + *
  9 + * required(可选):是否要用required验证
  10 + *
  11 + */
  12 +angular.module('ScheduleApp').directive(
  13 + 'saFbgsgroup',
  14 + [
  15 + function() {
  16 + return {
  17 + restrict: 'E',
  18 + templateUrl: '/pages/scheduleApp/module/common/dts2/fbgsGroup/saFbgsgroupTemplate.html',
  19 + scope: {
  20 + model: "=" // 独立作用域,关联外部的模型object
  21 + },
  22 + controllerAs: '$saFbgsgroupCtrl',
  23 + bindToController: true,
  24 + controller: function() {
  25 + var self = this;
  26 +
  27 + self.$$dataSelected = []; // 选中的路牌列表
  28 +
  29 + // saFbgsgroup组件的ng-model,用于外部绑定等操作
  30 + self.$$internalmodel = undefined;
  31 + },
  32 +
  33 + /**
  34 + * 此阶段可以改dom结构,此时angular还没扫描指令,
  35 + * 这里就可以动态添加其他angularjs的指令字符串,如required指令字符串。
  36 + * @param tElem
  37 + * @param tAttrs
  38 + * @returns {{pre: Function, post: Function}}
  39 + */
  40 + compile: function(tElem, tAttrs) {
  41 + // 获取所有属性
  42 + var $name_attr = tAttrs["name"]; // 控件的名字
  43 + var $required_attr = tAttrs["required"]; // 是否需要required验证
  44 + var $fbgsname_attr = tAttrs["fbgsname"]; // 绑定的model翻班格式字段名
  45 +
  46 + // controlAs名字
  47 + var ctrlAs = '$saFbgsgroupCtrl';
  48 +
  49 + // 如果有required属性,添加angularjs required验证
  50 + if ($required_attr != undefined) {
  51 + //console.log(tElem.html());
  52 + tElem.find("div").attr("required", "");
  53 + }
  54 +
  55 + return {
  56 + pre: function(scope, element, attr) {
  57 +
  58 + },
  59 +
  60 + /**
  61 + * 相当于link函数。
  62 + * @param scope
  63 + * @param element
  64 + * @param attr
  65 + */
  66 + post: function(scope, element, attr) {
  67 + // name属性
  68 + if ($name_attr) {
  69 + scope[ctrlAs]["$name_attr"] = $name_attr;
  70 + }
  71 +
  72 + /**
  73 + * 路牌列表点击(路牌列表中选中路牌)
  74 + * @param fbcode
  75 + */
  76 + scope[ctrlAs].$$internal_fb_click = function(fbcode) {
  77 + scope[ctrlAs].$$dataSelected.push(fbcode);
  78 + };
  79 +
  80 + /**
  81 + * 选中的路牌双击(删除选中的路牌)
  82 + * @param $index
  83 + */
  84 + scope[ctrlAs].$$internal_sellplist_dbclick = function($index) {
  85 + scope[ctrlAs].$$dataSelected.splice($index, 1);
  86 + };
  87 +
  88 + /**
  89 + * 验证内部数据,更新外部model
  90 + */
  91 + scope[ctrlAs].$$internal_validate_model = function() {
  92 + var data_temp = scope[ctrlAs].$$dataSelected;
  93 +
  94 + if (data_temp &&
  95 + data_temp.length > 0) {
  96 +
  97 + // 更新内部model,用于外部验证
  98 + // 内部model的值暂时随意,以后再改
  99 + scope[ctrlAs].$$internalmodel = {desc: "ok"};
  100 +
  101 + // 更新外部model字段
  102 + if ($fbgsname_attr) {
  103 + console.log("$fbgsname=" + data_temp.join(','));
  104 + eval("scope[ctrlAs].model" + "." + $fbgsname_attr + " = data_temp.join(',');");
  105 + }
  106 +
  107 + } else {
  108 + scope[ctrlAs].$$internalmodel = undefined;
  109 + }
  110 + };
  111 +
  112 + // 监控内部数据,$$data_selected 变化
  113 + scope.$watch(
  114 + function() {
  115 + return scope[ctrlAs].$$dataSelected;
  116 + },
  117 + function(newValue, oldValue) {
  118 + scope[ctrlAs].$$internal_validate_model();
  119 + },
  120 + true
  121 + );
  122 +
  123 + // 监控路牌名称范围值的变化,处理初始化赋值
  124 + attr.$observe("fbgsvalue", function(value) {
  125 + var data_temp = scope[ctrlAs].$$dataSelected;
  126 +
  127 + if (value && value != "" && data_temp && data_temp.length == 0) { // 初始创建
  128 + var data_temp = scope[ctrlAs].$$dataSelected;
  129 + var fbgses = [];
  130 + var i = 0;
  131 +
  132 + // 分隔翻班格式
  133 + if (value.indexOf(",") >= 0) { // 以逗号分隔,如 1,1,0,1
  134 + fbgses = value.split(",");
  135 + } else {
  136 + for (i = 0; i < value.length; i++) { // 字符串形式,如 1101
  137 + fbgses.push(value.substr(i, 1));
  138 + }
  139 + }
  140 +
  141 + for (i = 0; i < fbgses.length; i++) {
  142 + if (fbgses[i] == "1" || fbgses[i] == "0") {
  143 + data_temp.push(fbgses[i]);
  144 + }
  145 + }
  146 + }
  147 + });
  148 + }
  149 + };
  150 + }
  151 + }
  152 + }
  153 + ]);
0 \ No newline at end of file 154 \ No newline at end of file
src/main/resources/static/pages/scheduleApp/module/common/dts2/fbgsGroup/saFbgsgroupTemplate.html 0 → 100644
  1 +<div name="{{$saFbgsgroupCtrl.$name_attr}}"
  2 + ng-model="$saFbgsgroupCtrl.$$internalmodel">
  3 +
  4 + <style>
  5 + .fbgs-select {
  6 + min-height: 180px;
  7 + border: 1px solid #ddd;
  8 + }
  9 + .fbgs-select .fbgs-input {
  10 + margin: 5px 5px 0px 5px;
  11 + padding-left: 0;
  12 + }
  13 + .fbgs-select .fbgs-select-cont {
  14 + text-align: left;
  15 + min-height: 60px;
  16 + padding-right: 0px;
  17 + }
  18 + .fbgs-select .fbgs-select-body {
  19 + margin-top: 5px;
  20 + margin-bottom: 5px;
  21 + overflow: auto;
  22 + width: auto;
  23 + min-height: 5px;
  24 + }
  25 + .fbgs-select .fbgs {
  26 + display: inline-block;
  27 + padding: 8px;
  28 + min-width: 50px;
  29 + text-align: center;
  30 + border: 1px solid #C1C1C1;
  31 + color: #666;
  32 + border-radius: 5px !important;
  33 + margin: 5px;
  34 + }
  35 + .fbgs-select .fbgs.active {
  36 + color: white;
  37 + background: #4095E8;
  38 + border: 1px solid #4095E8;
  39 + }
  40 +
  41 + </style>
  42 +
  43 + <div class="col-md-12 fbgs-select">
  44 + <div class="col-md-12 fbgs-input">
  45 + <div class="col-md-7" style="padding-right: 0px;">
  46 + <small>
  47 + 翻班格式描述,1代表翻路牌。0代表休息跳过
  48 + </small>
  49 + </div>
  50 + </div>
  51 + <div class="col-md-12 fbgs-select-cont">
  52 + <div class="fbgs-select-body">
  53 + <div class="fbgs active"
  54 + ng-click="$saFbgsgroupCtrl.$$internal_fb_click(1)">
  55 + 1
  56 + </div>
  57 + <div class="fbgs active"
  58 + ng-click="$saFbgsgroupCtrl.$$internal_fb_click(0)">
  59 + 0
  60 + </div>
  61 + </div>
  62 + </div>
  63 + <div class="col-md-12 fbgs-input">
  64 + <div class="col-md-12">
  65 + <small>
  66 + 已经选中的翻班,共{{$saFbgsgroupCtrl.$$dataSelected.length}}个,
  67 + </small>
  68 + </div>
  69 + </div>
  70 + <div class="col-md-12 fbgs-select-cont">
  71 + <div class="fbgs-select-body">
  72 + <div class="fbgs active"
  73 + ng-repeat="$d in $saFbgsgroupCtrl.$$dataSelected track by $index"
  74 + ng-dblclick="$saFbgsgroupCtrl.$$internal_sellplist_dbclick($index)">
  75 + {{$d}}
  76 + </div>
  77 + </div>
  78 + </div>
  79 + </div>
  80 +
  81 +</div>
0 \ No newline at end of file 82 \ No newline at end of file
src/main/resources/static/pages/scheduleApp/module/common/dts2/guideboardGroup/saGuideboardgroupTemplate.html
@@ -17,6 +17,7 @@ @@ -17,6 +17,7 @@
17 } 17 }
18 .guideboard-select .guideboard-select-body { 18 .guideboard-select .guideboard-select-body {
19 margin-top: 5px; 19 margin-top: 5px;
  20 + margin-bottom: 5px;
20 overflow: auto; 21 overflow: auto;
21 width: auto; 22 width: auto;
22 min-height: 5px; 23 min-height: 5px;
src/main/resources/static/pages/scheduleApp/module/common/prj-common-directive.js
@@ -2409,6 +2409,160 @@ angular.module(&#39;ScheduleApp&#39;).directive(&#39;saDategroup&#39;, [ @@ -2409,6 +2409,160 @@ angular.module(&#39;ScheduleApp&#39;).directive(&#39;saDategroup&#39;, [
2409 ]); 2409 ]);
2410 2410
2411 2411
  2412 +/**
  2413 + * saFbgsgroup指令
  2414 + * 属性如下:
  2415 + * name(必须):控件的名字
  2416 + * model(必须):指定一个外部object,独立作用域,如:model=ctrl.employeeInfoForSave
  2417 + * fbgsvalue(必须):绑定的model翻班格式值,如:fbgsvalue={{ctrl.employeeInfoForSave.fbgs}}
  2418 + * fbgsname(必须):绑定的model翻班格式字段名,如:fbgsname=fbgs
  2419 + *
  2420 + * required(可选):是否要用required验证
  2421 + *
  2422 + */
  2423 +angular.module('ScheduleApp').directive(
  2424 + 'saFbgsgroup',
  2425 + [
  2426 + function() {
  2427 + return {
  2428 + restrict: 'E',
  2429 + templateUrl: '/pages/scheduleApp/module/common/dts2/fbgsGroup/saFbgsgroupTemplate.html',
  2430 + scope: {
  2431 + model: "=" // 独立作用域,关联外部的模型object
  2432 + },
  2433 + controllerAs: '$saFbgsgroupCtrl',
  2434 + bindToController: true,
  2435 + controller: function() {
  2436 + var self = this;
  2437 +
  2438 + self.$$dataSelected = []; // 选中的路牌列表
  2439 +
  2440 + // saFbgsgroup组件的ng-model,用于外部绑定等操作
  2441 + self.$$internalmodel = undefined;
  2442 + },
  2443 +
  2444 + /**
  2445 + * 此阶段可以改dom结构,此时angular还没扫描指令,
  2446 + * 这里就可以动态添加其他angularjs的指令字符串,如required指令字符串。
  2447 + * @param tElem
  2448 + * @param tAttrs
  2449 + * @returns {{pre: Function, post: Function}}
  2450 + */
  2451 + compile: function(tElem, tAttrs) {
  2452 + // 获取所有属性
  2453 + var $name_attr = tAttrs["name"]; // 控件的名字
  2454 + var $required_attr = tAttrs["required"]; // 是否需要required验证
  2455 + var $fbgsname_attr = tAttrs["fbgsname"]; // 绑定的model翻班格式字段名
  2456 +
  2457 + // controlAs名字
  2458 + var ctrlAs = '$saFbgsgroupCtrl';
  2459 +
  2460 + // 如果有required属性,添加angularjs required验证
  2461 + if ($required_attr != undefined) {
  2462 + //console.log(tElem.html());
  2463 + tElem.find("div").attr("required", "");
  2464 + }
  2465 +
  2466 + return {
  2467 + pre: function(scope, element, attr) {
  2468 +
  2469 + },
  2470 +
  2471 + /**
  2472 + * 相当于link函数。
  2473 + * @param scope
  2474 + * @param element
  2475 + * @param attr
  2476 + */
  2477 + post: function(scope, element, attr) {
  2478 + // name属性
  2479 + if ($name_attr) {
  2480 + scope[ctrlAs]["$name_attr"] = $name_attr;
  2481 + }
  2482 +
  2483 + /**
  2484 + * 路牌列表点击(路牌列表中选中路牌)
  2485 + * @param fbcode
  2486 + */
  2487 + scope[ctrlAs].$$internal_fb_click = function(fbcode) {
  2488 + scope[ctrlAs].$$dataSelected.push(fbcode);
  2489 + };
  2490 +
  2491 + /**
  2492 + * 选中的路牌双击(删除选中的路牌)
  2493 + * @param $index
  2494 + */
  2495 + scope[ctrlAs].$$internal_sellplist_dbclick = function($index) {
  2496 + scope[ctrlAs].$$dataSelected.splice($index, 1);
  2497 + };
  2498 +
  2499 + /**
  2500 + * 验证内部数据,更新外部model
  2501 + */
  2502 + scope[ctrlAs].$$internal_validate_model = function() {
  2503 + var data_temp = scope[ctrlAs].$$dataSelected;
  2504 +
  2505 + if (data_temp &&
  2506 + data_temp.length > 0) {
  2507 +
  2508 + // 更新内部model,用于外部验证
  2509 + // 内部model的值暂时随意,以后再改
  2510 + scope[ctrlAs].$$internalmodel = {desc: "ok"};
  2511 +
  2512 + // 更新外部model字段
  2513 + if ($fbgsname_attr) {
  2514 + console.log("$fbgsname=" + data_temp.join(','));
  2515 + eval("scope[ctrlAs].model" + "." + $fbgsname_attr + " = data_temp.join(',');");
  2516 + }
  2517 +
  2518 + } else {
  2519 + scope[ctrlAs].$$internalmodel = undefined;
  2520 + }
  2521 + };
  2522 +
  2523 + // 监控内部数据,$$data_selected 变化
  2524 + scope.$watch(
  2525 + function() {
  2526 + return scope[ctrlAs].$$dataSelected;
  2527 + },
  2528 + function(newValue, oldValue) {
  2529 + scope[ctrlAs].$$internal_validate_model();
  2530 + },
  2531 + true
  2532 + );
  2533 +
  2534 + // 监控路牌名称范围值的变化,处理初始化赋值
  2535 + attr.$observe("fbgsvalue", function(value) {
  2536 + var data_temp = scope[ctrlAs].$$dataSelected;
  2537 +
  2538 + if (value && value != "" && data_temp && data_temp.length == 0) {
  2539 + var data_temp = scope[ctrlAs].$$dataSelected;
  2540 + var fbgses = [];
  2541 + var i = 0;
  2542 +
  2543 + if (value.indexOf(",") >= 0) {
  2544 + fbgses = value.split(",");
  2545 + } else {
  2546 + for (i = 0; i < value.length; i++) {
  2547 + fbgses.push(value.substr(i, 1));
  2548 + }
  2549 + }
  2550 +
  2551 + if (data_temp && data_temp.length == 0) { // 初始创建
  2552 + for (i = 0; i < fbgses.length; i++) {
  2553 + if (fbgses[i] == "1" || fbgses[i] == "0") {
  2554 + data_temp.push(fbgses[i]);
  2555 + }
  2556 + }
  2557 + }
  2558 + }
  2559 + });
  2560 + }
  2561 + };
  2562 + }
  2563 + }
  2564 + }
  2565 + ]);
2412 2566
2413 2567
2414 /** 2568 /**
@@ -4084,6 +4238,7 @@ angular.module(&#39;ScheduleApp&#39;).factory( @@ -4084,6 +4238,7 @@ angular.module(&#39;ScheduleApp&#39;).factory(
4084 formobj.fcno = cellinfo.fcno; 4238 formobj.fcno = cellinfo.fcno;
4085 formobj.bcs = cellinfo.bcs; 4239 formobj.bcs = cellinfo.bcs;
4086 formobj.isFB = cellinfo.isfb; 4240 formobj.isFB = cellinfo.isfb;
  4241 + formobj.isTS = 0;
4087 4242
4088 formobj.bcType = colinfo.bc_type; 4243 formobj.bcType = colinfo.bc_type;
4089 formobj.xlDir = colinfo.xldir; 4244 formobj.xlDir = colinfo.xldir;
src/main/resources/static/pages/scheduleApp/module/core/scheduleRuleManage/edit.html
@@ -150,17 +150,41 @@ @@ -150,17 +150,41 @@
150 </div> 150 </div>
151 151
152 <div class="form-group has-success has-feedback"> 152 <div class="form-group has-success has-feedback">
  153 + <label class="col-md-2 control-label">翻班类型*:</label>
  154 + <div class="col-md-3">
  155 + <sa-Select5 name="fbtype"
  156 + model="ctrl.scheduleRuleManageForSave"
  157 + cmaps="{'fbtype': 'code'}"
  158 + dcname="fbtype"
  159 + icname="code"
  160 + dsparams="{{ {type: 'dic', param: 'FbType' } | json }}"
  161 + iterobjname="item"
  162 + iterobjexp="item.name"
  163 + searchph="翻班类型..."
  164 + searchexp="this.name"
  165 + required >
  166 + </sa-Select5>
  167 + </div>
  168 + <!-- 隐藏快,显示验证信息 -->
  169 + <div class="alert alert-danger well-sm" ng-show="myForm.fbtype.$error.required">
  170 + 翻班类型必须选择
  171 + </div>
  172 + </div>
  173 +
  174 +
  175 + <div class="form-group has-success has-feedback" ng-if="ctrl.scheduleRuleManageForSave.fbtype == 'FBGSMODE'">
153 <label class="col-md-2 control-label">翻班格式*:</label> 176 <label class="col-md-2 control-label">翻班格式*:</label>
154 <div class="col-md-6"> 177 <div class="col-md-6">
155 - <sa-Checkboxgroup model="ctrl.scheduleRuleManageForSave"  
156 - name="fbgs"  
157 - dcvalue="{{ctrl.scheduleRuleManageForSave.fbgs}}"  
158 - dcname="fbgs"  
159 - required >  
160 - </sa-Checkboxgroup> 178 + <sa-Fbgsgroup model="ctrl.scheduleRuleManageForSave"
  179 + name="fbgs"
  180 + fbgsvalue="{{ctrl.scheduleRuleManageForSave.fbgs}}"
  181 + fbgsname="fbgs"
  182 + required
  183 + >
  184 + </sa-Fbgsgroup>
161 </div> 185 </div>
162 <div class="alert alert-danger well-sm" ng-show="myForm.fbgs.$error.required"> 186 <div class="alert alert-danger well-sm" ng-show="myForm.fbgs.$error.required">
163 - 请操作一下1 187 + 翻班格式不能为空
164 </div> 188 </div>
165 </div> 189 </div>
166 190
src/main/resources/static/pages/scheduleApp/module/core/scheduleRuleManage/form.html
@@ -148,13 +148,44 @@ @@ -148,13 +148,44 @@
148 </div> 148 </div>
149 </div> 149 </div>
150 150
151 - <!--<div class="form-group">-->  
152 - <!--<label class="col-md-2 control-label">翻班格式:</label>-->  
153 - <!--<div class="col-md-4">-->  
154 - <!--<input type="text" class="form-control" name="fbgs" ng-model="ctrl.scheduleRuleManageForSave.fbgs"-->  
155 - <!--placeholder="车辆翻班格式"/>-->  
156 - <!--</div>-->  
157 - <!--</div>--> 151 + <div class="form-group has-success has-feedback">
  152 + <label class="col-md-2 control-label">翻班类型*:</label>
  153 + <div class="col-md-3">
  154 + <sa-Select5 name="fbtype"
  155 + model="ctrl.scheduleRuleManageForSave"
  156 + cmaps="{'fbtype': 'code'}"
  157 + dcname="fbtype"
  158 + icname="code"
  159 + dsparams="{{ {type: 'dic', param: 'FbType' } | json }}"
  160 + iterobjname="item"
  161 + iterobjexp="item.name"
  162 + searchph="翻班类型..."
  163 + searchexp="this.name"
  164 + required >
  165 + </sa-Select5>
  166 + </div>
  167 + <!-- 隐藏快,显示验证信息 -->
  168 + <div class="alert alert-danger well-sm" ng-show="myForm.fbtype.$error.required">
  169 + 翻班类型必须选择
  170 + </div>
  171 + </div>
  172 +
  173 +
  174 + <div class="form-group has-success has-feedback" ng-if="ctrl.scheduleRuleManageForSave.fbtype == 'FBGSMODE'">
  175 + <label class="col-md-2 control-label">翻班格式*:</label>
  176 + <div class="col-md-6">
  177 + <sa-Fbgsgroup model="ctrl.scheduleRuleManageForSave"
  178 + name="fbgs"
  179 + fbgsvalue="{{ctrl.scheduleRuleManageForSave.fbgs}}"
  180 + fbgsname="fbgs"
  181 + required
  182 + >
  183 + </sa-Fbgsgroup>
  184 + </div>
  185 + <div class="alert alert-danger well-sm" ng-show="myForm.fbgs.$error.required">
  186 + 翻班格式不能为空
  187 + </div>
  188 + </div>
158 189
159 190
160 <!-- 其他form-group --> 191 <!-- 其他form-group -->
src/main/resources/static/pages/scheduleApp/module/core/scheduleRuleManage/module.js
@@ -277,14 +277,19 @@ angular.module(&#39;ScheduleApp&#39;).controller( @@ -277,14 +277,19 @@ angular.module(&#39;ScheduleApp&#39;).controller(
277 if (id) { 277 if (id) {
278 ScheduleRuleManage.get({id: id}, function(value) { 278 ScheduleRuleManage.get({id: id}, function(value) {
279 self.scheduleRuleManageForSave = value; 279 self.scheduleRuleManageForSave = value;
  280 + self.scheduleRuleManageForSave.fbtype = self.scheduleRuleManageForSave.fbtype || "TIMETABLEMODE";
280 }); 281 });
281 } else { 282 } else {
282 // 初始表单,从查询条件中获取线路id 283 // 初始表单,从查询条件中获取线路id
283 self.scheduleRuleManageForSave.xl.id = service.getSearchCondition()['xl.id_eq']; 284 self.scheduleRuleManageForSave.xl.id = service.getSearchCondition()['xl.id_eq'];
  285 + self.scheduleRuleManageForSave.fbtype = self.scheduleRuleManageForSave.fbtype || "TIMETABLEMODE";
284 } 286 }
285 287
286 // 提交方法 288 // 提交方法
287 self.submit = function() { 289 self.submit = function() {
  290 + //// test
  291 + //self.scheduleRuleManageForSave.fbtype = 0;
  292 +
288 // 保存或更新 293 // 保存或更新
289 self.scheduleRuleManageForSave.$save(function() { 294 self.scheduleRuleManageForSave.$save(function() {
290 $state.go("scheduleRuleManage"); 295 $state.go("scheduleRuleManage");
src/main/resources/static/pages/trafficManage/js/lineStationUploadRecord.js
@@ -114,30 +114,12 @@ @@ -114,30 +114,12 @@
114 $.each(inputs, function(i, element) { 114 $.each(inputs, function(i, element) {
115 params[$(element).attr("name")] = $(element).val(); 115 params[$(element).attr("name")] = $(element).val();
116 }); 116 });
117 -  
118 - var startDate = params['startDate'];  
119 - var endDate = params['endDate']; 117 + var startDate = params['startDate'] == "" ? "0" : params['startDate'];
  118 + var endDate = params['endDate'] == "" ? "23" : params['endDate'];
120 var reportDate = params['reportDate']; 119 var reportDate = params['reportDate'];
121 - if($("#carPlate").val() != ''){  
122 - params['cars.carPlate_eq'] = changeCarPlate($("#carPlate").val());  
123 - }  
124 - if($("#insideCode").val() != ''){  
125 - params['cars.insideCode_eq'] = $("#insideCode").val().toUpperCase();  
126 - }  
127 - // 默认开始时间  
128 - params['reportDate_ge'] = str2datetime(reportDate+" 00:00:00");  
129 - // 默认结束时间  
130 - params['reportDate_le'] = str2datetime(reportDate+" 23:59:59");  
131 -  
132 - // 指定的开始时间  
133 - if(startDate != ''){  
134 - params['reportDate_gt'] = str2datetime(reportDate+" "+ (startDate > 9 ? startDate : "0"+startDate + ":00:00"));  
135 - }  
136 - // 指定的结束时间  
137 - if(endDate != ''){  
138 - params['reportDate_lt'] = str2datetime(reportDate+" "+ (endDate > 9 ? endDate : "0"+endDate + ":59:59"));  
139 - }  
140 - $get('/vehicle_stop', params, function(data) { 120 + params['reportDate_start'] = reportDate.replace(/-/g,'') + (startDate > 9 ? startDate : "0"+startDate);
  121 + params['reportDate_end'] = reportDate.replace(/-/g,'') + (endDate > 9 ? endDate : "0"+endDate);
  122 + $get('/vehicle_stop/getVehicleInoutStopByParam', params, function(data) {
141 var content = data.content; 123 var content = data.content;
142 _dateFormat(content); 124 _dateFormat(content);
143 var bodyHtm = template('lineStationUploadRecord_list_temp', { 125 var bodyHtm = template('lineStationUploadRecord_list_temp', {
@@ -183,7 +165,7 @@ @@ -183,7 +165,7 @@
183 function _dateFormat(list) { 165 function _dateFormat(list) {
184 var fs = 'YYYY-MM-DD HH:mm:ss'; 166 var fs = 'YYYY-MM-DD HH:mm:ss';
185 $.each(list, function(i, obj) { 167 $.each(list, function(i, obj) {
186 - obj.reportDate = moment(obj.reportDate).format(fs); 168 + obj['report_date'] = moment(obj['report_date']).format(fs);
187 }); 169 });
188 } 170 }
189 171
@@ -191,10 +173,4 @@ @@ -191,10 +173,4 @@
191 function str2datetime(stringTime){ 173 function str2datetime(stringTime){
192 return Date.parse(new Date(stringTime)); 174 return Date.parse(new Date(stringTime));
193 } 175 }
194 -  
195 - // 时间字符串转成时间戳  
196 - function changeCarPlate(carPlate){  
197 - var tmp = "沪" + carPlate.substr(0, 1) + "-" + carPlate.substr(1, carPlate.length);  
198 - return tmp.toUpperCase();;  
199 - }  
200 })(); 176 })();
201 \ No newline at end of file 177 \ No newline at end of file
src/main/resources/static/pages/trafficManage/lineStationUploadRecord.html
@@ -20,15 +20,15 @@ @@ -20,15 +20,15 @@
20 </div> 20 </div>
21 <div class="inLine_block" style="display: inline-block;margin-left: 15px;"> 21 <div class="inLine_block" style="display: inline-block;margin-left: 15px;">
22 <span class="item-label" style="width: 80px;">线路名称:</span> 22 <span class="item-label" style="width: 80px;">线路名称:</span>
23 - <select class="form-control" name="line.id_eq" id="line" style="width: 150px;"></select> 23 + <select class="form-control" name="lineId" id="line" style="width: 150px;"></select>
24 </div> 24 </div>
25 <div class="inLine_block" style="display: inline-block;margin-left: 15px;"> 25 <div class="inLine_block" style="display: inline-block;margin-left: 15px;">
26 <span class="item-label" style="width: 80px;">内部编码:</span> 26 <span class="item-label" style="width: 80px;">内部编码:</span>
27 - <input type="text" name="cars.insideCode_eq" id="insideCode" style="width: 120px;" maxlength="40"/> 27 + <input type="text" name="insideCode" id="insideCode" style="width: 120px;" maxlength="40"/>
28 </div> 28 </div>
29 <div class="inLine_block" style="display: inline-block;margin-left: 15px;"> 29 <div class="inLine_block" style="display: inline-block;margin-left: 15px;">
30 <span class="item-label" style="width: 80px;">车牌号:</span> 30 <span class="item-label" style="width: 80px;">车牌号:</span>
31 - <input type="text" name="cars.carPlate_eq" id="carPlate" style="width: 120px;" maxlength="40"/> 31 + <input type="text" name="carPlate" id="carPlate" style="width: 120px;" maxlength="40"/>
32 <span style="color: red;width: 80px;">(沪D-12345 '沪'和'-'去掉)</span> 32 <span style="color: red;width: 80px;">(沪D-12345 '沪'和'-'去掉)</span>
33 </div> 33 </div>
34 <div class="form-group" style="display: inline-block;margin-left: 15px;"> 34 <div class="form-group" style="display: inline-block;margin-left: 15px;">
@@ -76,114 +76,40 @@ @@ -76,114 +76,40 @@
76 {{i+1}} 76 {{i+1}}
77 </td> 77 </td>
78 <td> 78 <td>
79 - {{if obj.line.company == '55'}}  
80 - 上南公司  
81 - {{else if obj.line.company == '22'}}  
82 - 金高公司  
83 - {{else if obj.line.company == '05'}}  
84 - 杨高公司  
85 - {{else if obj.line.company == '26'}}  
86 - 南汇公司  
87 - {{else if obj.line.company == '77'}}  
88 - 闵行公司  
89 - {{/if}} 79 + {{obj['branche_company']}}
90 </td> 80 </td>
91 <td> 81 <td>
92 - {{if obj.line.company == '55'}}  
93 -  
94 - {{if obj.line.brancheCompany == '1'}}  
95 - 上南二分公司  
96 - {{else if obj.line.brancheCompany == '2'}}  
97 - 上南三分公司  
98 - {{else if obj.line.brancheCompany == '3'}}  
99 - 上南六分公司  
100 - {{else if obj.line.brancheCompany == '4'}}  
101 - 上南一分公司  
102 - {{/if}}  
103 -  
104 - {{else if obj.line.company == '22'}}  
105 -  
106 - {{if obj.line.brancheCompany == '1'}}  
107 - 四分公司  
108 - {{else if obj.line.brancheCompany == '2'}}  
109 - 二分公司  
110 - {{else if obj.line.brancheCompany == '3'}}  
111 - 三分公司  
112 - {{else if obj.line.brancheCompany == '5'}}  
113 - 一分公司  
114 - {{/if}}  
115 -  
116 - {{else if obj.line.company == '05'}}  
117 -  
118 - {{if obj.line.brancheCompany == '1'}}  
119 - 川沙分公司  
120 - {{else if obj.line.brancheCompany == '2'}}  
121 - 金桥分公司  
122 - {{else if obj.line.brancheCompany == '3'}}  
123 - 芦潮港分公司  
124 - {{else if obj.line.brancheCompany == '5'}}  
125 - 杨高分公司  
126 - {{else if obj.line.brancheCompany == '6'}}  
127 - 周浦分公司  
128 - {{/if}}  
129 -  
130 - {{else if obj.line.company == '26'}}  
131 -  
132 - {{if obj.line.brancheCompany == '1'}}  
133 - 南汇一分  
134 - {{else if obj.line.brancheCompany == '2'}}  
135 - 南汇二分  
136 - {{else if obj.line.brancheCompany == '3'}}  
137 - 南汇三分  
138 - {{else if obj.line.brancheCompany == '4'}}  
139 - 南汇维修公司  
140 - {{else if obj.line.brancheCompany == '5'}}  
141 - 南汇公司  
142 - {{/if}}  
143 -  
144 - {{/if}} 82 + {{obj['company']}}
145 </td> 83 </td>
146 <td> 84 <td>
147 - {{obj.line.name}} 85 + {{obj['name']}}
148 </td> 86 </td>
149 <td> 87 <td>
150 - {{obj.line.shanghaiLinecode}} 88 + {{obj['shanghai_linecode']}}
151 </td> 89 </td>
152 <td> 90 <td>
153 - {{obj.cars.insideCode}} 91 + {{obj['inside_code']}}
154 </td> 92 </td>
155 <td> 93 <td>
156 - {{obj.cars.equipmentCode}} 94 + {{obj['equipment_code']}}
157 </td> 95 </td>
158 <td> 96 <td>
159 - {{obj.cars.carPlate}} 97 + {{obj['car_plate']}}
160 </td> 98 </td>
161 <td> 99 <td>
162 - {{obj.stop}} 100 + {{obj['stop']}}
163 </td> 101 </td>
164 <td> 102 <td>
165 - {{if obj.serviceState == 0}}  
166 - 营运  
167 - {{else if obj.serviceState == 1}}  
168 - 停运  
169 - {{/if}} 103 + {{obj['service_state']}}
170 </td> 104 </td>
171 <td> 105 <td>
172 - {{if obj.upDown == 0}}  
173 - 上行  
174 - {{else if obj.upDown == 1}}  
175 - 下行  
176 - {{/if}} 106 + {{obj['up_down']}}
177 </td> 107 </td>
178 <td> 108 <td>
179 - {{if obj.inOutStop == 0}}  
180 - 站内  
181 - {{else if obj.inOutStop == 1}}  
182 - 站外  
183 - {{/if}} 109 + {{obj['in_out_stop']}}
184 </td> 110 </td>
185 <td> 111 <td>
186 - {{obj.reportDate}} 112 + {{obj['report_date']}}
187 </td> 113 </td>
188 </tr> 114 </tr>
189 {{/each}} 115 {{/each}}