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 2  
3 3 import com.bsth.controller.BaseController;
4 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 10 import org.springframework.web.bind.annotation.RequestMapping;
  11 +import org.springframework.web.bind.annotation.RequestParam;
6 12 import org.springframework.web.bind.annotation.RestController;
  13 +
  14 +import java.util.Map;
  15 +
7 16 /**
8 17 *
9 18 * @author BSTH
... ... @@ -12,4 +21,26 @@ import org.springframework.web.bind.annotation.RestController;
12 21 @RestController
13 22 @RequestMapping("vehicle_stop")
14 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 73 @NotNull
74 74 private Integer ryStart;
75 75  
76   - /** 翻班格式(类似格式:1110011)*/
  76 + /** 翻班格式(类似格式:1110011),其中0表示当天不做跳过,1表示跳 */
77 77 private String fbgs;
78 78  
  79 + @Enumerated(EnumType.ORDINAL)
  80 + private FbgsTypeEnum fbtype = FbgsTypeEnum.TIMETABLEMODE;
  81 +
79 82 /** 备注 */
80 83 @Column(length = 1000)
81 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 99 public Long getId() {
84 100 return id;
85 101 }
... ... @@ -175,4 +191,12 @@ public class ScheduleRule1Flat extends BEntity {
175 191 public void setRemark(String remark) {
176 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 1 package com.bsth.entity.traffic;
2 2  
3   -import com.bsth.entity.Cars;
4   -import com.bsth.entity.Line;
5   -
6 3 import javax.persistence.*;
7 4 import java.util.Date;
8 5  
... ... @@ -27,11 +24,9 @@ public class VehicleInoutStop {
27 24 @GeneratedValue(strategy = GenerationType.IDENTITY)
28 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 32 private Integer stop;
... ... @@ -46,7 +41,7 @@ public class VehicleInoutStop {
46 41 private Integer inOutStop;
47 42  
48 43 // 上报时间
49   - private long reportDate;
  44 + private Date reportDate;
50 45  
51 46 public Integer getId() {
52 47 return id;
... ... @@ -56,19 +51,19 @@ public class VehicleInoutStop {
56 51 this.id = id;
57 52 }
58 53  
59   - public Line getLine() {
  54 + public int getLine() {
60 55 return line;
61 56 }
62 57  
63   - public void setLine(Line line) {
  58 + public void setLine(int line) {
64 59 this.line = line;
65 60 }
66 61  
67   - public Cars getCars() {
  62 + public int getCars() {
68 63 return cars;
69 64 }
70 65  
71   - public void setCars(Cars cars) {
  66 + public void setCars(int cars) {
72 67 this.cars = cars;
73 68 }
74 69  
... ... @@ -104,7 +99,11 @@ public class VehicleInoutStop {
104 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 34 /** 车辆配置id */
35 35 private String carConfigId;
36 36  
37   - /** 车辆翻版(周一到周日是否启用) */
  37 + /** 翻班模式 */
  38 + private Integer fbtype;
  39 + /** 车辆翻班(周一到周日是否启用,可能是多个星期的组合,有的翻班是做六休一加做五休二) */
38 40 private List<Boolean> weekdays = new ArrayList<>();
39 41  
40 42 /** 排班输入规则类型 */
... ... @@ -66,19 +68,30 @@ public class ScheduleRule_input {
66 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 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 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 187 public void setsType(ScheduleRule_Type sType) {
175 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 3 import com.bsth.entity.traffic.VehicleInoutStop;
4 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 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 3 import com.bsth.entity.traffic.VehicleInoutStop;
4 4 import com.bsth.service.impl.BaseServiceImpl;
5 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 9 import org.springframework.stereotype.Service;
9 10  
  11 +import java.util.List;
  12 +import java.util.Map;
  13 +
10 14 /**
11 15 *
12 16 * @ClassName: TrafficManageServiceImpl(运管处接口service业务层实现类)
... ... @@ -26,6 +30,70 @@ import org.springframework.stereotype.Service;
26 30 @Service
27 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 133 public static int calcHHmmDiff(String fcsj, String zdsj) throws ParseException {
134 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 15  
16 16 import com.bsth.entity.schedule.temp.SchedulePlanRuleResult;
17 17  
  18 +import com.bsth.entity.schedule.SchedulePlan;
  19 +
18 20 import com.bsth.service.schedule.rules.ScheduleRuleService;
19 21  
20 22 import org.slf4j.Logger;
... ... @@ -37,6 +39,10 @@ declare Calcu_days_result_pre
37 39 calcu_index_lp : Integer // 计算之后路牌的起始索引
38 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 46 // 1、第一部分循环需要用到的数据(当开始日期大于启用日期的时候才有)
41 47 calcu_start_date_1: DateTime // 第一部分开始计算日期
42 48 calcu_end_date_1: DateTime // 第一部分结束计算日期
... ... @@ -82,6 +88,11 @@ rule &quot;calcu_days_1_&quot;
82 88 cdrp.setCalcu_start_date_2($fromDate);
83 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 97 * 规则md5值(不使用id判定,使用md5判定)
87 98 * 使用,启用日期,路牌范围,结合生成md5编码
... ... @@ -132,6 +143,11 @@ rule &quot;calcu_days_2_&quot;
132 143 cdrp.setCalcu_start_date_2($qyrq);
133 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 152 * 规则md5值(不使用id判定,使用md5判定)
137 153 * 使用,启用日期,路牌范围,结合生成md5编码
... ... @@ -249,63 +265,279 @@ end
249 265  
250 266  
251 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 320 salience 900
254 321 when
255 322 $cdrp: Calcu_days_result_pre(
256 323 calcu_start_date_1.isBefore(calcu_end_date_1),
257 324 $csd1: calcu_start_date_1,
258   - $ced1: calcu_end_date_1,
259 325 $ruleId: ruleId,
  326 + fbtype == "1",
260 327 $lpindex: calcu_index_lp,
261   - $ryindex: calcu_index_ry
  328 + $fbindex : fbgs_index
262 329 )
263 330 $sri: ScheduleRule_input(
264 331 ruleId == $ruleId,
265 332 $gids: guideboardIds,
266   - $lprangesize : guideboardIds.size(),
267   - $ryrangesize: employeeConfigIds.size()
  333 + weekdays[$fbindex] == true
268 334 )
269 335 $liro: LpInfoResult_output(
270 336 dateTime.isEqual($csd1),
271   - $gids.get($lpindex) == lpId,
272   - $lpId: lpId
  337 + $gids[$lpindex] == lpId
273 338 )
274 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 361 update($cdrp);
283 362 end
284 363  
285   -rule "Calcu_loop1_2_" // 路牌在时刻表中不存在,就不翻
  364 +
  365 +rule "Calcu_loop1_timetabletype_with_lp_" // 翻班模式为 type=0 使用时刻表格式翻,路牌在时刻表中存在,就翻
286 366 salience 900
287 367 when
288 368 $cdrp: Calcu_days_result_pre(
289 369 calcu_start_date_1.isBefore(calcu_end_date_1),
290 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 375 $sri: ScheduleRule_input(
295 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 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 402 update($cdrp);
305 403 end
306 404  
307 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 541 salience 800
310 542 when
311 543 ScheduleCalcuParam_input($sp: schedulePlan, $xlid: xlId)
... ... @@ -313,80 +545,47 @@ rule &quot;Calcu_loop2_1_&quot; // 路牌在时刻表中存在,就翻
313 545 calcu_start_date_1.isEqual(calcu_end_date_1),
314 546 calcu_start_date_2.isBefore(calcu_end_date_2) || calcu_start_date_2.isEqual(calcu_end_date_2),
315 547 $csd2: calcu_start_date_2,
316   - $ced2: calcu_end_date_2,
317 548 $ruleId: ruleId,
  549 + fbtype == "1",
318 550 $lpindex: calcu_index_lp,
319   - $ryindex: calcu_index_ry
  551 + $fbindex : fbgs_index
320 552 )
321 553 $sri: ScheduleRule_input(
322 554 ruleId == $ruleId,
323   - $cid: carConfigId,
324 555 $gids: guideboardIds,
325   - $eids: employeeConfigIds,
326   - $lprangesize : guideboardIds.size(),
327   - $ryrangesize: employeeConfigIds.size(),
328   - $srf: self
  556 + weekdays[$fbindex] == true
329 557 )
330 558 $liro: LpInfoResult_output(
331 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 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 584 update($cdrp);
  585 +
387 586 end
388 587  
389   -rule "Calcu_loop2_2_" // 路牌在时刻表中不存在,就不
  588 +rule "Calcu_loop2_timetabletype_with_lp_" // 翻班模式为 type=0 使用时刻表格式翻,路牌在时刻表中存在,就
390 589 salience 800
391 590 when
392 591 ScheduleCalcuParam_input($sp: schedulePlan, $xlid: xlId)
... ... @@ -394,54 +593,40 @@ rule &quot;Calcu_loop2_2_&quot; // 路牌在时刻表中不存在,就不翻
394 593 calcu_start_date_1.isEqual(calcu_end_date_1),
395 594 calcu_start_date_2.isBefore(calcu_end_date_2) || calcu_start_date_2.isEqual(calcu_end_date_2),
396 595 $csd2: calcu_start_date_2,
397   - $ced2: calcu_end_date_2,
398 596 $ruleId: ruleId,
  597 + fbtype == "0",
399 598 $lpindex: calcu_index_lp,
400   - $ryindex: calcu_index_ry
  599 + $fbindex : fbgs_index
401 600 )
402 601 $sri: ScheduleRule_input(
403 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 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 630 update($cdrp);
446 631 end
447 632  
... ... @@ -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 134 <label >
135 135 <input type="radio" class="icheck" name="baseRes" value=1 checked> 班型/人次/车辆
136 136 </label>
  137 + <label>
  138 + <input type="radio" class="icheck" name="baseRes" value=2> 发车间隔分析
  139 + </label>
137 140 <label>
138 141 <input type="radio" class="icheck" name="baseRes" value=0> 客流大数据分析
139 142 </label>
... ...
src/main/resources/static/pages/base/timesmodel/js/add-form-wizard.js
... ... @@ -322,6 +322,8 @@ var SKBFormWizard = function() {
322 322 tempName = 'carnum_temp';
323 323 else if(n==1)
324 324 tempName = 'bctype_temp';
  325 + else if (n==2)
  326 + tempName = 'fcjx_temp';
325 327 // 2、获参数详情模版html内容.
326 328 $.get('/pages/base/timesmodel/tepms/'+ tempName + '.html', function(html){
327 329 $('#tab3').append(html);
... ... @@ -381,7 +383,12 @@ var SKBFormWizard = function() {
381 383 }else if(n==1) {
382 384 // 返回参数详情模版.
383 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 836 getHtmlTemp(baseRes,r.content[0],lineId,krl,function(htlMap) {
830 837 $('#tab3').html(htlMap.forminput);
831 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 794  
795 795 // 第一步 根据表单中的参数得到所有路牌下的班次数[从各路牌下的第一个班次发车时间 到 营运结束时间点并且是连续的班次数].
796 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 837 markeEatTime : function(list , markArray , cara , saa , dataMap ,map) {
... ...
src/main/resources/static/pages/base/timesmodel/js/gantt.js
... ... @@ -50,11 +50,16 @@
50 50 var CSMap = null,data = null;
51 51 if(map.baseRes== '0') {
52 52 CSMap = getMaxCarAndStopSpace0(map,seMap);
  53 + // 发车间隙
  54 + map.fcjx = CSMap.fcjx;
53 55 }else if(map.baseRes== '1') {
54 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 64 var stopAraay = getsj(map);
60 65 if(isNull(objD)) {
... ... @@ -66,7 +71,11 @@
66 71 // data = BaseFun.BXPplaceClassesTime(stopAraay,CSMap.maxCar,map,seMap,dataMap,getylp(CSMap.maxCar).lpNoA);
67 72 // data = BaseFun.BXPplaceClassesTime01(stopAraay,CSMap.maxCar,map,seMap,dataMap,getylp(CSMap.maxCar).lpNoA);
68 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 80 }else {
72 81 var jsonA = JSON.parse(objD);
... ...
src/main/resources/static/pages/base/timesmodel/js/tagsinput.js
... ... @@ -78,10 +78,53 @@ var ComponentsBootstrapTagsinput = function() {
78 78 tag = false;
79 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 122 return {
83 123 init: function() {
84 124 handleDemo2();
  125 + },
  126 + init_fcjx: function() {
  127 + handelDemo3();
85 128 }
86 129 };
87 130 }();
88 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 354 \ No newline at end of file
... ...
src/main/resources/static/pages/scheduleApp/Gruntfile.js
... ... @@ -83,6 +83,7 @@ module.exports = function (grunt) {
83 83 'module/common/dts1/radioButton/saRadiogroup.js', // 单选框组整合指令
84 84 'module/common/dts1/checkbox/saCheckboxgroup.js', // 多选框组整合指令
85 85 'module/common/dts2/dateGroup/saDategroup.js', // 特殊日期选择指令
  86 + 'module/common/dts2/fbgsGroup/saFbgsgroup.js', // 翻班格式选择指令
86 87 'module/common/dts2/guideboardGroup/saGuideboardgroup.js', // 路牌选择整合指令
87 88 'module/common/dts2/employeeGroup/saEmployeegroup.js', // 人员选饿整合指令
88 89 'module/common/dts2/bcGroup/saBcgroup.js', // 班次选择整合指令
... ...
src/main/resources/static/pages/scheduleApp/module/common/dts2/employeeGroup/saEmployeegroupTemplate.html
... ... @@ -17,6 +17,7 @@
17 17 }
18 18 .employee-select .employee-select-body {
19 19 margin-top: 5px;
  20 + margin-bottom: 5px;
20 21 overflow: auto;
21 22 width: auto;
22 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 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 82 \ No newline at end of file
... ...
src/main/resources/static/pages/scheduleApp/module/common/dts2/guideboardGroup/saGuideboardgroupTemplate.html
... ... @@ -17,6 +17,7 @@
17 17 }
18 18 .guideboard-select .guideboard-select-body {
19 19 margin-top: 5px;
  20 + margin-bottom: 5px;
20 21 overflow: auto;
21 22 width: auto;
22 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 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 4238 formobj.fcno = cellinfo.fcno;
4085 4239 formobj.bcs = cellinfo.bcs;
4086 4240 formobj.isFB = cellinfo.isfb;
  4241 + formobj.isTS = 0;
4087 4242  
4088 4243 formobj.bcType = colinfo.bc_type;
4089 4244 formobj.xlDir = colinfo.xldir;
... ...
src/main/resources/static/pages/scheduleApp/module/core/scheduleRuleManage/edit.html
... ... @@ -150,17 +150,41 @@
150 150 </div>
151 151  
152 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 176 <label class="col-md-2 control-label">翻班格式*:</label>
154 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 185 </div>
162 186 <div class="alert alert-danger well-sm" ng-show="myForm.fbgs.$error.required">
163   - 请操作一下1
  187 + 翻班格式不能为空
164 188 </div>
165 189 </div>
166 190  
... ...
src/main/resources/static/pages/scheduleApp/module/core/scheduleRuleManage/form.html
... ... @@ -148,13 +148,44 @@
148 148 </div>
149 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 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 277 if (id) {
278 278 ScheduleRuleManage.get({id: id}, function(value) {
279 279 self.scheduleRuleManageForSave = value;
  280 + self.scheduleRuleManageForSave.fbtype = self.scheduleRuleManageForSave.fbtype || "TIMETABLEMODE";
280 281 });
281 282 } else {
282 283 // 初始表单,从查询条件中获取线路id
283 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 289 self.submit = function() {
  290 + //// test
  291 + //self.scheduleRuleManageForSave.fbtype = 0;
  292 +
288 293 // 保存或更新
289 294 self.scheduleRuleManageForSave.$save(function() {
290 295 $state.go("scheduleRuleManage");
... ...
src/main/resources/static/pages/trafficManage/js/lineStationUploadRecord.js
... ... @@ -114,30 +114,12 @@
114 114 $.each(inputs, function(i, element) {
115 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 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 123 var content = data.content;
142 124 _dateFormat(content);
143 125 var bodyHtm = template('lineStationUploadRecord_list_temp', {
... ... @@ -183,7 +165,7 @@
183 165 function _dateFormat(list) {
184 166 var fs = 'YYYY-MM-DD HH:mm:ss';
185 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 173 function str2datetime(stringTime){
192 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 177 \ No newline at end of file
... ...
src/main/resources/static/pages/trafficManage/lineStationUploadRecord.html
... ... @@ -20,15 +20,15 @@
20 20 </div>
21 21 <div class="inLine_block" style="display: inline-block;margin-left: 15px;">
22 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 24 </div>
25 25 <div class="inLine_block" style="display: inline-block;margin-left: 15px;">
26 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 28 </div>
29 29 <div class="inLine_block" style="display: inline-block;margin-left: 15px;">
30 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 32 <span style="color: red;width: 80px;">(沪D-12345 '沪'和'-'去掉)</span>
33 33 </div>
34 34 <div class="form-group" style="display: inline-block;margin-left: 15px;">
... ... @@ -76,114 +76,40 @@
76 76 {{i+1}}
77 77 </td>
78 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 80 </td>
91 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 83 </td>
146 84 <td>
147   - {{obj.line.name}}
  85 + {{obj['name']}}
148 86 </td>
149 87 <td>
150   - {{obj.line.shanghaiLinecode}}
  88 + {{obj['shanghai_linecode']}}
151 89 </td>
152 90 <td>
153   - {{obj.cars.insideCode}}
  91 + {{obj['inside_code']}}
154 92 </td>
155 93 <td>
156   - {{obj.cars.equipmentCode}}
  94 + {{obj['equipment_code']}}
157 95 </td>
158 96 <td>
159   - {{obj.cars.carPlate}}
  97 + {{obj['car_plate']}}
160 98 </td>
161 99 <td>
162   - {{obj.stop}}
  100 + {{obj['stop']}}
163 101 </td>
164 102 <td>
165   - {{if obj.serviceState == 0}}
166   - 营运
167   - {{else if obj.serviceState == 1}}
168   - 停运
169   - {{/if}}
  103 + {{obj['service_state']}}
170 104 </td>
171 105 <td>
172   - {{if obj.upDown == 0}}
173   - 上行
174   - {{else if obj.upDown == 1}}
175   - 下行
176   - {{/if}}
  106 + {{obj['up_down']}}
177 107 </td>
178 108 <td>
179   - {{if obj.inOutStop == 0}}
180   - 站内
181   - {{else if obj.inOutStop == 1}}
182   - 站外
183   - {{/if}}
  109 + {{obj['in_out_stop']}}
184 110 </td>
185 111 <td>
186   - {{obj.reportDate}}
  112 + {{obj['report_date']}}
187 113 </td>
188 114 </tr>
189 115 {{/each}}
... ...