Commit d559b01b4307c4e5c06a4ecb638341042147ef6a

Authored by 潘钊
2 parents 57bf66ad 973b17d8

megr .....

Showing 25 changed files with 2609 additions and 1859 deletions

Too many changes to show.

To preserve performance only 25 of 35 files are displayed.

src/main/java/com/bsth/controller/LineController.java
... ... @@ -90,7 +90,7 @@ public class LineController extends BaseController<Line, Integer> {
90 90 map.put("status", ResponseCode.ERROR);
91 91 return map;
92 92 }
93   - return service.save(l);
  93 + return service.update(l);
94 94 }
95 95  
96 96 @RequestMapping(value ="/findById" , method = RequestMethod.GET)
... ...
src/main/java/com/bsth/controller/forms/ExportController.java
... ... @@ -186,7 +186,7 @@ public class ExportController {
186 186 m.put("i", i);
187 187 m.put("rQ", l.getrQ());
188 188 m.put("gS", l.getgS());
189   - m.put("xL", l.getxL());
  189 + m.put("xL", l.getXlmc());
190 190 m.put("clzbh", l.getClzbh());
191 191 m.put("jsy", l.getJsy());
192 192 m.put("jName", l.getjName());
... ...
src/main/java/com/bsth/controller/realcontrol/summary/FastAndSlowController.java
1   -package com.bsth.controller.realcontrol.summary;
2   -
3   -import com.bsth.controller.BaseController;
4   -import com.bsth.data.summary.entity.FastAndSlow;
5   -import com.bsth.data.summary.service.FastAndSlowService;
6   -import org.springframework.beans.factory.annotation.Autowired;
7   -import org.springframework.web.bind.annotation.PathVariable;
8   -import org.springframework.web.bind.annotation.RequestMapping;
9   -import org.springframework.web.bind.annotation.RequestParam;
10   -import org.springframework.web.bind.annotation.RestController;
11   -
12   -import javax.servlet.http.HttpServletRequest;
13   -import javax.servlet.http.HttpServletResponse;
14   -
15   -/**
16   - * 快慢误点统计
17   - * Created by panzhao on 2017/10/24.
18   - */
19   -@RestController
20   -@RequestMapping("/summary/fastAndSlow")
21   -public class FastAndSlowController extends BaseController<FastAndSlow, Long> {
22   -
23   - @Autowired
24   - FastAndSlowService fastAndSlowService;
25   -
26   - @RequestMapping("/excel/{lineCode}")
27   - public void excel(@PathVariable("lineCode") String lineCode, @RequestParam String st
28   - , @RequestParam String et, @RequestParam int type, HttpServletRequest request, HttpServletResponse response) {
29   - fastAndSlowService.excel(lineCode, st, et, type, request, response);
30   - }
  1 +package com.bsth.controller.realcontrol.summary;
  2 +
  3 +import com.bsth.controller.BaseController;
  4 +import com.bsth.data.summary.entity.FastAndSlow;
  5 +import com.bsth.data.summary.service.FastAndSlowService;
  6 +import org.springframework.beans.factory.annotation.Autowired;
  7 +import org.springframework.web.bind.annotation.PathVariable;
  8 +import org.springframework.web.bind.annotation.RequestMapping;
  9 +import org.springframework.web.bind.annotation.RequestParam;
  10 +import org.springframework.web.bind.annotation.RestController;
  11 +
  12 +import javax.servlet.http.HttpServletRequest;
  13 +import javax.servlet.http.HttpServletResponse;
  14 +
  15 +/**
  16 + * 快慢误点统计
  17 + * Created by panzhao on 2017/10/24.
  18 + */
  19 +@RestController
  20 +@RequestMapping("/summary/fastAndSlow")
  21 +public class FastAndSlowController extends BaseController<FastAndSlow, Long> {
  22 +
  23 + @Autowired
  24 + FastAndSlowService fastAndSlowService;
  25 +
  26 + @RequestMapping("/excel/{lineCode}")
  27 + public void excel(@PathVariable("lineCode") String lineCode, @RequestParam String st
  28 + , @RequestParam String et, @RequestParam int type, HttpServletRequest request, HttpServletResponse response) {
  29 + fastAndSlowService.excel(lineCode, st, et, type, request, response);
  30 + }
31 31 }
32 32 \ No newline at end of file
... ...
src/main/java/com/bsth/controller/schedule/TrafficManageController.java
... ... @@ -57,6 +57,15 @@ public class TrafficManageController {
57 57 }
58 58 }
59 59  
  60 + @RequestMapping(value = "/setLDByDate", method = RequestMethod.GET)
  61 + public String setLDByDate(@RequestParam("theDate") String theDate) throws Exception {
  62 + try {
  63 + return trManageService.setLD(theDate);
  64 + } catch (Exception exp) {
  65 + throw new Exception(exp.getCause());
  66 + }
  67 + }
  68 +
60 69 @RequestMapping(value = "/setLDFile", method = RequestMethod.GET)
61 70 public String setLDFile() throws Exception {
62 71 try {
... ...
src/main/java/com/bsth/data/summary/entity/FastAndSlow.java
... ... @@ -23,7 +23,6 @@ public class FastAndSlow {
23 23 /**
24 24 * 发车站点
25 25 */
26   - @Column(name = "station_name")
27 26 private String stationName;
28 27  
29 28 /**
... ... @@ -35,94 +34,79 @@ public class FastAndSlow {
35 34 /**
36 35 * 上下行
37 36 */
38   - @Column(name = "up_down")
39 37 private int upDown;
40 38  
41 39 /**
42 40 * 计发时间
43 41 * HH:mm
44 42 */
45   - @Column(name = "fcsj")
46 43 private String fcsj;
47 44  
48 45 /**
49 46 * 待发时间
50 47 * HH:mm
51 48 */
52   - @Column(name = "dfsj")
53 49 private String dfsj;
54 50  
55 51 /**
56 52 * 实际发车时间
57 53 * HH:mm
58 54 */
59   - @Column(name = "fcsj_actual")
60 55 private String fcsjActual;
61 56  
62 57 /**
63 58 * 计发快误点
64 59 */
65   - @Column(name = "fcsj_fast")
66 60 private int fcsjFast;
67 61  
68 62 /**
69 63 * 计发慢误点
70 64 */
71   - @Column(name = "fcsj_slow")
72 65 private int fcsjSlow;
73 66  
74 67 /**
75 68 * 待发快误点
76 69 */
77   - @Column(name = "dfsj_fast")
78 70 private int dfsjFast;
79 71  
80 72 /**
81 73 * 待发慢误点
82 74 */
83   - @Column(name = "dfsj_slow")
84 75 private int dfsjSlow;
85 76  
86 77 /**
87 78 * 计划终点时间
88 79 */
89   - @Column(name = "zdsj")
90 80 private String zdsj;
91 81  
92 82 /**
93 83 * 待发终点时间
94 84 */
95   - @Column(name = "zdsj_df")
96 85 private String zdsjDf;
97 86  
98 87 /**
99 88 * 实际终点时间
100 89 */
101   - @Column(name = "zdsj_actual")
102 90 private String zdsjActual;
103 91  
104 92 /**
105 93 * 计发终点快误点
106 94 */
107   - @Column(name = "zdsj_fast")
108 95 private int zdsjFast;
109 96  
110 97 /**
111 98 * 计发终点慢误点
112 99 */
113   - @Column(name = "zdsj_slow")
114 100 private int zdsjSlow;
115 101  
116 102 /**
117 103 * 待发终点快误点
118 104 */
119   - @Column(name = "zdsj_df_fast")
120 105 private int zdsjDfFast;
121 106  
122 107 /**
123 108 * 待发终点慢误点
124 109 */
125   - @Column(name = "zdsj_df_slow")
126 110 private int zdsjDfSlow;
127 111  
128 112 @Column(name = "line_code")
... ...
src/main/java/com/bsth/data/summary/service/FastAndSlowService.java
1   -package com.bsth.data.summary.service;
2   -
3   -import com.bsth.data.summary.entity.FastAndSlow;
4   -import com.bsth.service.BaseService;
5   -
6   -import javax.servlet.http.HttpServletRequest;
7   -import javax.servlet.http.HttpServletResponse;
8   -
9   -/**
10   - * Created by panzhao on 2017/10/24.
11   - */
12   -public interface FastAndSlowService extends BaseService<FastAndSlow, Long>{
13   - void excel(String lineCode, String st, String et, int type, HttpServletRequest request, HttpServletResponse response);
  1 +package com.bsth.data.summary.service;
  2 +
  3 +import com.bsth.data.summary.entity.FastAndSlow;
  4 +import com.bsth.service.BaseService;
  5 +
  6 +import javax.servlet.http.HttpServletRequest;
  7 +import javax.servlet.http.HttpServletResponse;
  8 +
  9 +/**
  10 + * Created by panzhao on 2017/10/24.
  11 + */
  12 +public interface FastAndSlowService extends BaseService<FastAndSlow, Long>{
  13 + void excel(String lineCode, String st, String et, int type, HttpServletRequest request, HttpServletResponse response);
14 14 }
15 15 \ No newline at end of file
... ...
src/main/java/com/bsth/data/utils/ConvertUtil.java
1   -package com.bsth.data.utils;
2   -
3   -import com.google.common.collect.ArrayListMultimap;
4   -import org.joda.time.format.DateTimeFormat;
5   -import org.joda.time.format.DateTimeFormatter;
6   -import org.slf4j.Logger;
7   -import org.slf4j.LoggerFactory;
8   -
9   -import java.lang.reflect.Field;
10   -import java.util.*;
11   -
12   -/**
13   - * 数据转换
14   - * Created by panzhao on 2017/3/13.
15   - */
16   -public class ConvertUtil<T> {
17   -
18   - Logger logger = LoggerFactory.getLogger(this.getClass());
19   - private static DateTimeFormatter fmtyyyyMMdd = DateTimeFormat.forPattern("yyyyMMdd");
20   -
21   - /**
22   - * 根据指定字段 将 list 分组
23   - *
24   - * @param list
25   - * @param separator 字段使用分隔符连接 组成key
26   - * @param fields
27   - * @return
28   - */
29   - public ArrayListMultimap<String, T> groupMultiList(List<T> list, String separator, Field... fields) {
30   - ArrayListMultimap<String, T> multimap = ArrayListMultimap.create();
31   -
32   - String key;
33   - //Object field;
34   - try {
35   - for (T t : list) {
36   -
37   - key = "";
38   - for (Field f : fields) {
39   - f.setAccessible(true);
40   - if(null == f.get(t))
41   - continue;
42   - //日期类型格式化为 YYYY-MM-DD
43   - if (f.getType().equals(Date.class))
44   - key += (separator + fmtyyyyMMdd.print(((Date) f.get(t)).getTime()));
45   - else
46   - key += (separator + f.get(t).toString());
47   - }
48   - if(key.length() > 1)
49   - key = key.substring(1);
50   -
51   - multimap.put(key, t);
52   - }
53   - } catch (Exception e) {
54   - logger.error("", e);
55   - }
56   -
57   - return multimap;
58   - }
59   -
60   - /**
61   - * 根据指定字段 将 list 分组
62   - *
63   - * @param list
64   - * @param separator 字段使用分隔符连接 组成key
65   - * @param fields
66   - * @return
67   - */
68   - public Map<String, T> groupList(List<T> list, String separator, Field... fields) {
69   - Map<String, T> map = new HashMap<>();
70   -
71   - String key;
72   - //Object field;
73   - try {
74   - for (T t : list) {
75   -
76   - key = "";
77   - for (Field f : fields) {
78   - f.setAccessible(true);
79   - //日期类型格式化为 YYYY-MM-DD
80   - if (f.getType().equals(Date.class))
81   - key += (separator + fmtyyyyMMdd.print(((Date) f.get(t)).getTime()));
82   - else
83   - key += (separator + f.get(t).toString());
84   - }
85   - key = key.substring(1);
86   -
87   - map.put(key, t);
88   - }
89   - } catch (Exception e) {
90   - logger.error("", e);
91   - }
92   -
93   - return map;
94   - }
95   -
96   - /**
97   - * 计算并集
98   - *
99   - * @param all
100   - * @param sub
101   - * @return
102   - */
103   - public List<String> calcUnion(Collection<String> all, Collection<String> sub) {
104   - List<String> rs = new ArrayList<>();
105   -
106   - for (String str : all) {
107   - if (sub.contains(str))
108   - rs.add(str);
109   - }
110   - return rs;
111   - }
112   -
113   - /**
114   - * 计算补集
115   - *
116   - * @param all
117   - * @param sub
118   - * @return
119   - */
120   - public List<String> calcComplement(Collection<String> all, Collection<String> sub) {
121   - List<String> rs = new ArrayList<>();
122   -
123   - for (String str : all) {
124   - if (!sub.contains(str))
125   - rs.add(str);
126   - }
127   - return rs;
128   - }
129   -}
  1 +package com.bsth.data.utils;
  2 +
  3 +import com.google.common.collect.ArrayListMultimap;
  4 +import org.joda.time.format.DateTimeFormat;
  5 +import org.joda.time.format.DateTimeFormatter;
  6 +import org.slf4j.Logger;
  7 +import org.slf4j.LoggerFactory;
  8 +
  9 +import java.lang.reflect.Field;
  10 +import java.util.*;
  11 +
  12 +/**
  13 + * 数据转换
  14 + * Created by panzhao on 2017/3/13.
  15 + */
  16 +public class ConvertUtil<T> {
  17 +
  18 + Logger logger = LoggerFactory.getLogger(this.getClass());
  19 + private static DateTimeFormatter fmtyyyyMMdd = DateTimeFormat.forPattern("yyyyMMdd");
  20 +
  21 + /**
  22 + * 根据指定字段 将 list 分组
  23 + *
  24 + * @param list
  25 + * @param separator 字段使用分隔符连接 组成key
  26 + * @param fields
  27 + * @return
  28 + */
  29 + public ArrayListMultimap<String, T> groupMultiList(List<T> list, String separator, Field... fields) {
  30 + ArrayListMultimap<String, T> multimap = ArrayListMultimap.create();
  31 +
  32 + String key;
  33 + //Object field;
  34 + try {
  35 + for (T t : list) {
  36 +
  37 + key = "";
  38 + for (Field f : fields) {
  39 + f.setAccessible(true);
  40 + if(null == f.get(t))
  41 + continue;
  42 + //日期类型格式化为 YYYY-MM-DD
  43 + if (f.getType().equals(Date.class))
  44 + key += (separator + fmtyyyyMMdd.print(((Date) f.get(t)).getTime()));
  45 + else
  46 + key += (separator + f.get(t).toString());
  47 + }
  48 + if(key.length() > 1)
  49 + key = key.substring(1);
  50 +
  51 + multimap.put(key, t);
  52 + }
  53 + } catch (Exception e) {
  54 + logger.error("", e);
  55 + }
  56 +
  57 + return multimap;
  58 + }
  59 +
  60 + /**
  61 + * 根据指定字段 将 list 分组
  62 + *
  63 + * @param list
  64 + * @param separator 字段使用分隔符连接 组成key
  65 + * @param fields
  66 + * @return
  67 + */
  68 + public Map<String, T> groupList(List<T> list, String separator, Field... fields) {
  69 + Map<String, T> map = new HashMap<>();
  70 +
  71 + String key;
  72 + //Object field;
  73 + try {
  74 + for (T t : list) {
  75 +
  76 + key = "";
  77 + for (Field f : fields) {
  78 + f.setAccessible(true);
  79 + //日期类型格式化为 YYYY-MM-DD
  80 + if (f.getType().equals(Date.class))
  81 + key += (separator + fmtyyyyMMdd.print(((Date) f.get(t)).getTime()));
  82 + else
  83 + key += (separator + f.get(t).toString());
  84 + }
  85 + key = key.substring(1);
  86 +
  87 + map.put(key, t);
  88 + }
  89 + } catch (Exception e) {
  90 + logger.error("", e);
  91 + }
  92 +
  93 + return map;
  94 + }
  95 +
  96 + /**
  97 + * 计算并集
  98 + *
  99 + * @param all
  100 + * @param sub
  101 + * @return
  102 + */
  103 + public List<String> calcUnion(Collection<String> all, Collection<String> sub) {
  104 + List<String> rs = new ArrayList<>();
  105 +
  106 + for (String str : all) {
  107 + if (sub.contains(str))
  108 + rs.add(str);
  109 + }
  110 + return rs;
  111 + }
  112 +
  113 + /**
  114 + * 计算补集
  115 + *
  116 + * @param all
  117 + * @param sub
  118 + * @return
  119 + */
  120 + public List<String> calcComplement(Collection<String> all, Collection<String> sub) {
  121 + List<String> rs = new ArrayList<>();
  122 +
  123 + for (String str : all) {
  124 + if (!sub.contains(str))
  125 + rs.add(str);
  126 + }
  127 + return rs;
  128 + }
  129 +}
... ...
src/main/java/com/bsth/entity/mcy_forms/Singledata.java
... ... @@ -7,6 +7,7 @@ public class Singledata {
7 7 private String gS;//所属公司
8 8  
9 9 private String xL;//线路
  10 + private String xlmc;//线路名称
10 11  
11 12 private String clzbh;//车号
12 13  
... ... @@ -141,6 +142,14 @@ public class Singledata {
141 142 public void setJhjl(String jhjl) {
142 143 this.jhjl = jhjl;
143 144 }
  145 +
  146 + public String getXlmc() {
  147 + return xlmc;
  148 + }
  149 +
  150 + public void setXlmc(String xlmc) {
  151 + this.xlmc = xlmc;
  152 + }
144 153  
145 154  
146 155  
... ...
src/main/java/com/bsth/repository/LineRepository.java
1 1 package com.bsth.repository;
2 2  
  3 +import java.util.Date;
3 4 import java.util.List;
  5 +import java.util.Map;
4 6  
  7 +import org.springframework.data.jpa.repository.Modifying;
5 8 import org.springframework.data.jpa.repository.Query;
6 9 import org.springframework.stereotype.Repository;
  10 +import org.springframework.transaction.annotation.Transactional;
7 11  
8 12 import com.bsth.entity.Line;
9 13  
... ... @@ -24,8 +28,7 @@ import com.bsth.entity.Line;
24 28 */
25 29 @Repository
26 30 public interface LineRepository extends BaseRepository<Line, Integer> {
27   -
28   -
  31 +
29 32 /**
30 33 * 获取线路编码
31 34 *
... ... @@ -33,15 +36,31 @@ public interface LineRepository extends BaseRepository&lt;Line, Integer&gt; {
33 36 */
34 37 @Query(value = " SELECT IFNULL(num,0) as maxId from (SELECT MAX(id) as num FROM bsth_c_line) k ", nativeQuery = true)
35 38 public long selectMaxIdToLineCode();
36   -
  39 +
37 40 @Query(value = " SELECT l FROM Line l where l.name like ?1")
38 41 List<Line> findLine(String line);
39   -
  42 +
40 43 public Line findByLineCode(String string);
41   -
  44 +
42 45 @Query(value = " SELECT l FROM Line l where l.company like %?1% and l.brancheCompany like %?2% and l.lineCode like ?3")
43 46 public List<Line> findLineBygsBm(String gsBm, String fgsBm, String line);
44 47  
45 48 @Query("SELECT L FROM Line L where L.destroy=0")
46 49 List<Line> findAllService();
  50 +
  51 +
  52 + @Modifying
  53 + @Query(value = "UPDATE Line l set l.name=?1 , l.company=?2, l.brancheCompany=?3, "
  54 + + "l.level=?4, l.nature=?5, l.startStationName=?6, l.endStationName=?7, l.startStationFirstTime=?8, "
  55 + + "l.startStationEndTime=?9, l.endStationFirstTime=?10, l.endStationEndTime=?11, l.linePlayType=?12, "
  56 + + "l.openDate=?13, l.es=?14, l.shortName=?15, l.shanghaiLinecode=?16, l.eqLinecode=?17, l.startPhone=?18, "
  57 + + "l.endPhone=?19, l.carSumNumber=?20, l.hvacCarNumber=?21, l.ordCarNumber=?22, l.history=?23, "
  58 + + "l.descriptions=?24, l.destroy=?25, l.supperLine=?26, l.spacGrade=?27, l.warrantCar=?28 where "
  59 + + "l.lineCode=?29 ")
  60 + public int update(String name, String company, String brancheCompany, String level, String nature,
  61 + String startStationName, String endStationName, String startStationFirstTime, String startStationEndTime,
  62 + String endStationFirstTime, String endStationEndTime, Integer linePlayType, Date openDate, String es,
  63 + String shortName, String shanghaiLinecode, String eqLinecode, String startPhone, String endPhone,
  64 + Integer carSumNumber, Integer hvacCarNumber, Integer ordCarNumber, String history, String descriptions,
  65 + Integer destroy, Integer supperLine, Integer spacGrade, Integer warrantCar, String lineCode);
47 66 }
... ...
src/main/java/com/bsth/service/LineService.java
... ... @@ -36,4 +36,6 @@ public interface LineService extends BaseService&lt;Line, Integer&gt; {
36 36 Line findById(Integer id);
37 37  
38 38 String lineCodeVerification(String lineCode);
  39 +
  40 + Map<String, Object> update(Line l);
39 41 }
... ...
src/main/java/com/bsth/service/TrafficManageService.java
... ... @@ -65,6 +65,8 @@ public interface TrafficManageService {
65 65 */
66 66 String setJHBC();
67 67  
  68 + String setLD(String theDate);
  69 +
68 70 String setLD();
69 71  
70 72 String setLDFile();
... ...
src/main/java/com/bsth/service/forms/impl/FormsServiceImpl.java
... ... @@ -765,7 +765,8 @@ public class FormsServiceImpl implements FormsService {
765 765  
766 766 sin.setEmptMileage(String.valueOf(zksgl));
767 767 sin.setJhjl(String.valueOf(Arith.add(jhgl,jhjcc)));
768   - sin.setxL(BasicData.lineCode2NameMap.get(y.getXlbm()));
  768 + sin.setxL(y.getXlbm());
  769 + sin.setXlmc(BasicData.lineCode2NameMap.get(y.getXlbm()));
769 770 sin.setClzbh(clzbh);
770 771 sin.setJsy(jsy);
771 772 sin.setrQ(startDate);
... ... @@ -787,19 +788,28 @@ public class FormsServiceImpl implements FormsService {
787 788 String line=y.getXlbm();
788 789 String clzbh=y.getNbbm();
789 790 List<ScheduleRealInfo> newList=new ArrayList<ScheduleRealInfo>();
  791 + List<ScheduleRealInfo> newList_=new ArrayList<ScheduleRealInfo>();
790 792 for (int j = 0; j < listReal.size(); j++) {
791 793 ScheduleRealInfo s=listReal.get(j);
792 794 if(s.getjGh().equals(jsy) && s.getClZbh().equals(clzbh)
793 795 &&s.getXlBm().equals(line)){
794 796 newList.add(s);
  797 + Set<ChildTaskPlan> cts = s.getcTasks();
  798 + if(cts != null && cts.size() > 0){
  799 + newList_.add(s);
  800 + }else{
  801 + if(s.getZdsjActual()!=null){
  802 + newList_.add(s);
  803 + }
  804 + }
795 805 }
796 806 }
797 807 double jhgl=culateMileageService.culateJhgl(newList);
798 808 double jhjcc=culateMileageService.culateJhJccgl(newList);
799   - double yygl=culateMileageService.culateSjgl(newList);
800   - double ljgl=culateMileageService.culateLjgl(newList);
801   - double ksgl=culateMileageService.culateKsgl(newList);
802   - double jcgl=culateMileageService.culateJccgl(newList);
  809 + double yygl=culateMileageService.culateSjgl(newList_);
  810 + double ljgl=culateMileageService.culateLjgl(newList_);
  811 + double ksgl=culateMileageService.culateKsgl(newList_);
  812 + double jcgl=culateMileageService.culateJccgl(newList_);
803 813  
804 814 double zyygl=Arith.add(yygl, ljgl);
805 815 double zksgl=Arith.add(ksgl, jcgl);
... ... @@ -809,7 +819,8 @@ public class FormsServiceImpl implements FormsService {
809 819  
810 820 sin.setEmptMileage(String.valueOf(zksgl));
811 821 sin.setJhjl(String.valueOf(Arith.add(jhgl,jhjcc)));
812   - sin.setxL(BasicData.lineCode2NameMap.get(y.getXlbm()));
  822 + sin.setxL(y.getXlbm());
  823 + sin.setXlmc(BasicData.lineCode2NameMap.get(y.getXlbm()));
813 824 sin.setClzbh(clzbh);
814 825 sin.setJsy(jsy);
815 826 sin.setrQ(startDate);
... ... @@ -823,10 +834,10 @@ public class FormsServiceImpl implements FormsService {
823 834 listD.add(sin);
824 835 }
825 836  
826   - Collections.sort(listY,new SingledataByXlbm());
827   - Collections.sort(listD,new SingledataByXlbm());
828   - list.addAll(listY);
829   - list.addAll(listD);
  837 + Collections.sort(listY,new SingledataByXlbm());
  838 + Collections.sort(listD,new SingledataByXlbm());
  839 + list.addAll(listY);
  840 + list.addAll(listD);
830 841 }else{
831 842 String sql="select r.s_gh,r.s_name, "
832 843 + " r.xl_bm,r.cl_zbh,r.gs_bm,r.fgs_bm"
... ... @@ -862,19 +873,29 @@ public class FormsServiceImpl implements FormsService {
862 873 String line=sin.getxL();
863 874 String clzbh=sin.getClzbh();
864 875 List<ScheduleRealInfo> newList=new ArrayList<ScheduleRealInfo>();
  876 + List<ScheduleRealInfo> newList_=new ArrayList<ScheduleRealInfo>();
  877 +
865 878 for (int j = 0; j < listReal.size(); j++) {
866 879 ScheduleRealInfo s=listReal.get(j);
867 880 if(s.getsGh().equals(jsy) && s.getClZbh().equals(clzbh)
868 881 &&s.getXlBm().equals(line)){
869 882 newList.add(s);
  883 + Set<ChildTaskPlan> cts = s.getcTasks();
  884 + if(cts != null && cts.size() > 0){
  885 + newList_.add(s);
  886 + }else{
  887 + if(s.getZdsjActual()!=null){
  888 + newList_.add(s);
  889 + }
  890 + }
870 891 }
871 892 }
872 893 double jhgl=culateMileageService.culateJhgl(newList);
873 894 double jhjcc=culateMileageService.culateJhJccgl(newList);
874   - double yygl=culateMileageService.culateSjgl(newList);
875   - double ljgl=culateMileageService.culateLjgl(newList);
876   - double ksgl=culateMileageService.culateKsgl(newList);
877   - double jcgl=culateMileageService.culateJccgl(newList);
  895 + double yygl=culateMileageService.culateSjgl(newList_);
  896 + double ljgl=culateMileageService.culateLjgl(newList_);
  897 + double ksgl=culateMileageService.culateKsgl(newList_);
  898 + double jcgl=culateMileageService.culateJccgl(newList_);
878 899  
879 900 double zyygl=Arith.add(yygl, ljgl);
880 901 double zksgl=Arith.add(ksgl, jcgl);
... ...
src/main/java/com/bsth/service/impl/LineServiceImpl.java
... ... @@ -5,7 +5,9 @@ import java.util.Map;
5 5  
6 6 import org.springframework.beans.factory.annotation.Autowired;
7 7 import org.springframework.stereotype.Service;
  8 +import org.springframework.transaction.annotation.Transactional;
8 9  
  10 +import com.bsth.common.ResponseCode;
9 11 import com.bsth.entity.Line;
10 12 import com.bsth.repository.LineRepository;
11 13 import com.bsth.service.LineService;
... ... @@ -27,11 +29,11 @@ import com.bsth.service.LineService;
27 29 */
28 30  
29 31 @Service
30   -public class LineServiceImpl extends BaseServiceImpl<Line, Integer> implements LineService{
31   -
  32 +public class LineServiceImpl extends BaseServiceImpl<Line, Integer> implements LineService {
  33 +
32 34 @Autowired
33 35 private LineRepository repository;
34   -
  36 +
35 37 /**
36 38 * 获取线路编码
37 39 *
... ... @@ -41,7 +43,7 @@ public class LineServiceImpl extends BaseServiceImpl&lt;Line, Integer&gt; implements L
41 43 // TODO Auto-generated method stub
42 44 return repository.selectMaxIdToLineCode();
43 45 }
44   -
  46 +
45 47 @Override
46 48 public Line findByLineCode(String lineCode) {
47 49 return repository.findByLineCode(lineCode);
... ... @@ -57,10 +59,31 @@ public class LineServiceImpl extends BaseServiceImpl&lt;Line, Integer&gt; implements L
57 59 public String lineCodeVerification(String lineCode) {
58 60 String state = "true";
59 61 Line line = repository.findByLineCode(lineCode);
60   - if(line != null){
  62 + if (line != null) {
61 63 state = "false";
62 64 }
63 65 return state;
64 66 }
  67 +
  68 + @Transactional
  69 + @Override
  70 + public Map<String, Object> update(Line l) {
  71 + Map<String, Object> map = new HashMap<>();
  72 +
  73 + int status = repository.update(l.getName(), l.getCompany(), l.getBrancheCompany(), l.getLevel(), l.getNature(),
  74 + l.getStartStationName(), l.getEndStationName(), l.getStartStationFirstTime(),
  75 + l.getStartStationEndTime(), l.getEndStationFirstTime(), l.getEndStationEndTime(), l.getLinePlayType(),
  76 + l.getOpenDate(), l.getEs(), l.getShortName(), l.getShanghaiLinecode(), l.getEqLinecode(),
  77 + l.getStartPhone(), l.getEndPhone(), l.getCarSumNumber(), l.getHvacCarNumber(), l.getOrdCarNumber(),
  78 + l.getHistory(), l.getDescriptions(), l.getDestroy(), l.getSupperLine(), l.getSpacGrade(),
  79 + l.getWarrantCar(), l.getLineCode());
  80 + if (status==1) {
  81 + map.put("status", ResponseCode.SUCCESS);
  82 + } else {
  83 + map.put("status", ResponseCode.ERROR);
  84 + }
  85 +
  86 + return map;
  87 + }
65 88  
66 89 }
... ...
src/main/java/com/bsth/service/impl/TrafficManageServiceImpl.java
... ... @@ -279,14 +279,30 @@ public class TrafficManageServiceImpl implements TrafficManageService{
279 279 }
280 280  
281 281 /**
  282 + * 上传路单 指定日期 yyyy-MM-dd
  283 + * @param theDate
  284 + * @return
  285 + */
  286 + public String setLD(String theDate){
  287 + return uploadLD(theDate);
  288 + }
  289 +
  290 + /**
  291 + * 上传路单 上传前一天的路单
  292 + * @return
  293 + */
  294 + public String setLD(){
  295 + return uploadLD(null);
  296 + }
  297 + /**
282 298 * 上传路单
283 299 * @return 上传成功标识
284 300 */
285   - public String setLD(){
  301 + private String uploadLD(String theDate){
286 302 String result = "failure";
287 303 Line line;
288 304 // 取昨天 的日期
289   - String date = sdfnyr.format(DateUtils.addDays(new Date(), -1));
  305 + String date = theDate == null ?sdfnyr.format(DateUtils.addDays(new Date(), -1)) : theDate;
290 306 StringBuffer sf = new StringBuffer();
291 307 String str;
292 308 try {
... ...
src/main/resources/datatools/ktrs/employeesConfigDataInput.ktr
1   -<?xml version="1.0" encoding="UTF-8"?>
2   -<transformation>
3   - <info>
4   - <name>&#x4eba;&#x5458;&#x914d;&#x7f6e;&#x4fe1;&#x606f;&#x5bfc;&#x5165;</name>
5   - <description>&#x4eba;&#x5458;&#x914d;&#x7f6e;&#x4fe1;&#x606f;&#x5bfc;&#x5165;</description>
6   - <extended_description>&#x4eba;&#x5458;&#x914d;&#x7f6e;&#x4fe1;&#x606f;</extended_description>
7   - <trans_version/>
8   - <trans_type>Normal</trans_type>
9   - <trans_status>0</trans_status>
10   - <directory>&#x2f;</directory>
11   - <parameters>
12   - <parameter>
13   - <name>erroroutputdir</name>
14   - <default_value/>
15   - <description>ktr step&#x914d;&#x7f6e;&#x7684;&#x9519;&#x8bef;&#x8f93;&#x51fa;&#x76ee;&#x5f55;</description>
16   - </parameter>
17   - <parameter>
18   - <name>filepath</name>
19   - <default_value/>
20   - <description>&#x5f85;&#x5904;&#x7406;&#x5bfc;&#x5165;&#x7684;excel&#x6587;&#x4ef6;</description>
21   - </parameter>
22   - </parameters>
23   - <log>
24   -<trans-log-table><connection/>
25   -<schema/>
26   -<table/>
27   -<size_limit_lines/>
28   -<interval/>
29   -<timeout_days/>
30   -<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STATUS</id><enabled>Y</enabled><name>STATUS</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name><subject/></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name><subject/></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name><subject/></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name><subject/></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name><subject/></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name><subject/></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>STARTDATE</id><enabled>Y</enabled><name>STARTDATE</name></field><field><id>ENDDATE</id><enabled>Y</enabled><name>ENDDATE</name></field><field><id>LOGDATE</id><enabled>Y</enabled><name>LOGDATE</name></field><field><id>DEPDATE</id><enabled>Y</enabled><name>DEPDATE</name></field><field><id>REPLAYDATE</id><enabled>Y</enabled><name>REPLAYDATE</name></field><field><id>LOG_FIELD</id><enabled>Y</enabled><name>LOG_FIELD</name></field><field><id>EXECUTING_SERVER</id><enabled>N</enabled><name>EXECUTING_SERVER</name></field><field><id>EXECUTING_USER</id><enabled>N</enabled><name>EXECUTING_USER</name></field><field><id>CLIENT</id><enabled>N</enabled><name>CLIENT</name></field></trans-log-table>
31   -<perf-log-table><connection/>
32   -<schema/>
33   -<table/>
34   -<interval/>
35   -<timeout_days/>
36   -<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>SEQ_NR</id><enabled>Y</enabled><name>SEQ_NR</name></field><field><id>LOGDATE</id><enabled>Y</enabled><name>LOGDATE</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STEPNAME</id><enabled>Y</enabled><name>STEPNAME</name></field><field><id>STEP_COPY</id><enabled>Y</enabled><name>STEP_COPY</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>INPUT_BUFFER_ROWS</id><enabled>Y</enabled><name>INPUT_BUFFER_ROWS</name></field><field><id>OUTPUT_BUFFER_ROWS</id><enabled>Y</enabled><name>OUTPUT_BUFFER_ROWS</name></field></perf-log-table>
37   -<channel-log-table><connection/>
38   -<schema/>
39   -<table/>
40   -<timeout_days/>
41   -<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>LOGGING_OBJECT_TYPE</id><enabled>Y</enabled><name>LOGGING_OBJECT_TYPE</name></field><field><id>OBJECT_NAME</id><enabled>Y</enabled><name>OBJECT_NAME</name></field><field><id>OBJECT_COPY</id><enabled>Y</enabled><name>OBJECT_COPY</name></field><field><id>REPOSITORY_DIRECTORY</id><enabled>Y</enabled><name>REPOSITORY_DIRECTORY</name></field><field><id>FILENAME</id><enabled>Y</enabled><name>FILENAME</name></field><field><id>OBJECT_ID</id><enabled>Y</enabled><name>OBJECT_ID</name></field><field><id>OBJECT_REVISION</id><enabled>Y</enabled><name>OBJECT_REVISION</name></field><field><id>PARENT_CHANNEL_ID</id><enabled>Y</enabled><name>PARENT_CHANNEL_ID</name></field><field><id>ROOT_CHANNEL_ID</id><enabled>Y</enabled><name>ROOT_CHANNEL_ID</name></field></channel-log-table>
42   -<step-log-table><connection/>
43   -<schema/>
44   -<table/>
45   -<timeout_days/>
46   -<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STEPNAME</id><enabled>Y</enabled><name>STEPNAME</name></field><field><id>STEP_COPY</id><enabled>Y</enabled><name>STEP_COPY</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>LOG_FIELD</id><enabled>N</enabled><name>LOG_FIELD</name></field></step-log-table>
47   -<metrics-log-table><connection/>
48   -<schema/>
49   -<table/>
50   -<timeout_days/>
51   -<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>METRICS_DATE</id><enabled>Y</enabled><name>METRICS_DATE</name></field><field><id>METRICS_CODE</id><enabled>Y</enabled><name>METRICS_CODE</name></field><field><id>METRICS_DESCRIPTION</id><enabled>Y</enabled><name>METRICS_DESCRIPTION</name></field><field><id>METRICS_SUBJECT</id><enabled>Y</enabled><name>METRICS_SUBJECT</name></field><field><id>METRICS_TYPE</id><enabled>Y</enabled><name>METRICS_TYPE</name></field><field><id>METRICS_VALUE</id><enabled>Y</enabled><name>METRICS_VALUE</name></field></metrics-log-table>
52   - </log>
53   - <maxdate>
54   - <connection/>
55   - <table/>
56   - <field/>
57   - <offset>0.0</offset>
58   - <maxdiff>0.0</maxdiff>
59   - </maxdate>
60   - <size_rowset>10000</size_rowset>
61   - <sleep_time_empty>50</sleep_time_empty>
62   - <sleep_time_full>50</sleep_time_full>
63   - <unique_connections>N</unique_connections>
64   - <feedback_shown>Y</feedback_shown>
65   - <feedback_size>50000</feedback_size>
66   - <using_thread_priorities>Y</using_thread_priorities>
67   - <shared_objects_file/>
68   - <capture_step_performance>N</capture_step_performance>
69   - <step_performance_capturing_delay>1000</step_performance_capturing_delay>
70   - <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit>
71   - <dependencies>
72   - </dependencies>
73   - <partitionschemas>
74   - </partitionschemas>
75   - <slaveservers>
76   - </slaveservers>
77   - <clusterschemas>
78   - </clusterschemas>
79   - <created_user>-</created_user>
80   - <created_date>2016&#x2f;06&#x2f;29 15&#x3a;12&#x3a;27.273</created_date>
81   - <modified_user>-</modified_user>
82   - <modified_date>2016&#x2f;06&#x2f;29 15&#x3a;12&#x3a;27.273</modified_date>
83   - <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</key_for_session_key>
84   - <is_key_private>N</is_key_private>
85   - </info>
86   - <notepads>
87   - <notepad>
88   - <note>&#x8fd9;&#x91cc;&#x6709;&#x4e9b;&#x95ee;&#x9898;&#xa;&#x5728;window2012&#x7684;&#x73af;&#x5883;&#x4e0b;&#xff0c;&#xa;MySql&#x6570;&#x636e;&#x5e93;&#x67e5;&#x8be2;&#x4e2d;&#x5982;&#x679c;&#x8fd4;&#x56de;&#x4e2d;&#x6587;&#x5185;&#x5bb9;&#x7684;&#x5b57;&#x6bb5;&#xff0c;&#x8fd9;&#x4e2a;&#x5185;&#x5bb9;&#x4e71;&#x7801;&#xa;&#x89e3;&#x51b3;&#x529e;&#x6cd5;&#xff0c;&#x5c31;&#x662f;&#x6570;&#x636e;&#x5e93;&#x67e5;&#x8be2;&#x5168;&#x90e8;&#x7f13;&#x5b58;&#xff0c;&#x5c31;&#x4e0d;&#x4e71;&#x7801;&#xa;linux&#x73af;&#x5883;&#x4e0b;&#x6ca1;&#x95ee;&#x9898;</note>
89   - <xloc>101</xloc>
90   - <yloc>264</yloc>
91   - <width>333</width>
92   - <heigth>90</heigth>
93   - <fontname>YaHei Consolas Hybrid</fontname>
94   - <fontsize>12</fontsize>
95   - <fontbold>N</fontbold>
96   - <fontitalic>N</fontitalic>
97   - <fontcolorred>0</fontcolorred>
98   - <fontcolorgreen>0</fontcolorgreen>
99   - <fontcolorblue>0</fontcolorblue>
100   - <backgroundcolorred>255</backgroundcolorred>
101   - <backgroundcolorgreen>205</backgroundcolorgreen>
102   - <backgroundcolorblue>112</backgroundcolorblue>
103   - <bordercolorred>100</bordercolorred>
104   - <bordercolorgreen>100</bordercolorgreen>
105   - <bordercolorblue>100</bordercolorblue>
106   - <drawshadow>Y</drawshadow>
107   - </notepad>
108   - </notepads>
109   - <connection>
110   - <name>bus_control_variable</name>
111   - <server>&#x24;&#x7b;v_db_ip&#x7d;</server>
112   - <type>MYSQL</type>
113   - <access>Native</access>
114   - <database>&#x24;&#x7b;v_db_dname&#x7d;</database>
115   - <port>3306</port>
116   - <username>&#x24;&#x7b;v_db_uname&#x7d;</username>
117   - <password>&#x24;&#x7b;v_db_pwd&#x7d;</password>
118   - <servername/>
119   - <data_tablespace/>
120   - <index_tablespace/>
121   - <attributes>
122   - <attribute><code>EXTRA_OPTION_MYSQL.characterEncoding</code><attribute>utf8</attribute></attribute>
123   - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
124   - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
125   - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
126   - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
127   - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
128   - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
129   - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
130   - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
131   - <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
132   - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
133   - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
134   - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
135   - </attributes>
136   - </connection>
137   - <connection>
138   - <name>bus_control_&#x516c;&#x53f8;_201</name>
139   - <server>localhost</server>
140   - <type>MYSQL</type>
141   - <access>Native</access>
142   - <database>control</database>
143   - <port>3306</port>
144   - <username>root</username>
145   - <password>Encrypted </password>
146   - <servername/>
147   - <data_tablespace/>
148   - <index_tablespace/>
149   - <attributes>
150   - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
151   - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
152   - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
153   - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
154   - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
155   - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
156   - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
157   - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
158   - <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
159   - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
160   - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
161   - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
162   - </attributes>
163   - </connection>
164   - <connection>
165   - <name>bus_control_&#x672c;&#x673a;</name>
166   - <server>localhost</server>
167   - <type>MYSQL</type>
168   - <access>Native</access>
169   - <database>control</database>
170   - <port>3306</port>
171   - <username>root</username>
172   - <password>Encrypted </password>
173   - <servername/>
174   - <data_tablespace/>
175   - <index_tablespace/>
176   - <attributes>
177   - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
178   - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
179   - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
180   - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
181   - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
182   - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
183   - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
184   - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
185   - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
186   - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
187   - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
188   - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
189   - </attributes>
190   - </connection>
191   - <connection>
192   - <name>xlab_mysql_youle</name>
193   - <server>101.231.124.8</server>
194   - <type>MYSQL</type>
195   - <access>Native</access>
196   - <database>xlab_youle</database>
197   - <port>45687</port>
198   - <username>xlab-youle</username>
199   - <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password>
200   - <servername/>
201   - <data_tablespace/>
202   - <index_tablespace/>
203   - <attributes>
204   - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
205   - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
206   - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
207   - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
208   - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
209   - <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute>
210   - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
211   - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
212   - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
213   - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
214   - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
215   - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
216   - </attributes>
217   - </connection>
218   - <connection>
219   - <name>xlab_mysql_youle&#xff08;&#x672c;&#x673a;&#xff09;</name>
220   - <server>localhost</server>
221   - <type>MYSQL</type>
222   - <access>Native</access>
223   - <database>xlab_youle</database>
224   - <port>3306</port>
225   - <username>root</username>
226   - <password>Encrypted </password>
227   - <servername/>
228   - <data_tablespace/>
229   - <index_tablespace/>
230   - <attributes>
231   - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
232   - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
233   - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
234   - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
235   - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
236   - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
237   - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
238   - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
239   - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
240   - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
241   - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
242   - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
243   - </attributes>
244   - </connection>
245   - <connection>
246   - <name>xlab_youle</name>
247   - <server/>
248   - <type>MYSQL</type>
249   - <access>JNDI</access>
250   - <database>xlab_youle</database>
251   - <port>1521</port>
252   - <username/>
253   - <password>Encrypted </password>
254   - <servername/>
255   - <data_tablespace/>
256   - <index_tablespace/>
257   - <attributes>
258   - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
259   - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
260   - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
261   - <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
262   - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
263   - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
264   - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
265   - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
266   - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
267   - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
268   - </attributes>
269   - </connection>
270   - <order>
271   - <hop> <from>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ecinfo</from><to>&#x9519;&#x8bef;&#x8f93;&#x51fa;</to><enabled>Y</enabled> </hop>
272   - <hop> <from>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</from><to>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</to><enabled>Y</enabled> </hop>
273   - <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>
274   - <hop> <from>&#x542f;&#x7528;&#x88ab;&#x6570;&#x636e;flag</from><to>&#x7ebf;&#x8def;id&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>
275   - <hop> <from>&#x7ebf;&#x8def;id&#x67e5;&#x8be2;</from><to>&#x8fc7;&#x6ee4;&#x7ebf;&#x8def;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>
276   - <hop> <from>&#x9a7e;&#x9a76;&#x5458;id&#x67e5;&#x627e;</from><to>&#x8fc7;&#x6ee4;&#x9a7e;&#x9a76;&#x5458;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>
277   - <hop> <from>&#x8fc7;&#x6ee4;&#x9a7e;&#x9a76;&#x5458;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</from><to>&#x552e;&#x7968;&#x5458;id&#x67e5;&#x627e;</to><enabled>Y</enabled> </hop>
278   - <hop> <from>&#x552e;&#x7968;&#x5458;id&#x67e5;&#x627e;</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ecinfo</to><enabled>Y</enabled> </hop>
279   - <hop> <from>&#x8fc7;&#x6ee4;&#x7ebf;&#x8def;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</from><to>&#x5de5;&#x53f7;&#x6570;&#x636e;&#x5904;&#x7406;</to><enabled>Y</enabled> </hop>
280   - <hop> <from>&#x5de5;&#x53f7;&#x6570;&#x636e;&#x5904;&#x7406;</from><to>&#x9a7e;&#x9a76;&#x5458;id&#x67e5;&#x627e;</to><enabled>Y</enabled> </hop>
281   - </order>
282   - <step>
283   - <name>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</name>
284   - <type>ExcelInput</type>
285   - <description/>
286   - <distribute>Y</distribute>
287   - <custom_distribution/>
288   - <copies>1</copies>
289   - <partitioning>
290   - <method>none</method>
291   - <schema_name/>
292   - </partitioning>
293   - <header>Y</header>
294   - <noempty>Y</noempty>
295   - <stoponempty>N</stoponempty>
296   - <filefield/>
297   - <sheetfield/>
298   - <sheetrownumfield/>
299   - <rownumfield/>
300   - <sheetfield/>
301   - <filefield/>
302   - <limit>0</limit>
303   - <encoding/>
304   - <add_to_result_filenames>Y</add_to_result_filenames>
305   - <accept_filenames>Y</accept_filenames>
306   - <accept_field>filepath_</accept_field>
307   - <accept_stepname>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</accept_stepname>
308   - <file>
309   - <name/>
310   - <filemask/>
311   - <exclude_filemask/>
312   - <file_required>N</file_required>
313   - <include_subfolders>N</include_subfolders>
314   - </file>
315   - <fields>
316   - <field>
317   - <name>&#x7ebf;&#x8def;</name>
318   - <type>String</type>
319   - <length>-1</length>
320   - <precision>-1</precision>
321   - <trim_type>none</trim_type>
322   - <repeat>N</repeat>
323   - <format/>
324   - <currency/>
325   - <decimal/>
326   - <group/>
327   - </field>
328   - <field>
329   - <name>&#x642d;&#x73ed;&#x7f16;&#x7801;</name>
330   - <type>String</type>
331   - <length>-1</length>
332   - <precision>-1</precision>
333   - <trim_type>none</trim_type>
334   - <repeat>N</repeat>
335   - <format>&#x23;</format>
336   - <currency/>
337   - <decimal/>
338   - <group/>
339   - </field>
340   - <field>
341   - <name>&#x9a7e;&#x9a76;&#x5458;&#x5de5;&#x53f7;</name>
342   - <type>String</type>
343   - <length>-1</length>
344   - <precision>-1</precision>
345   - <trim_type>none</trim_type>
346   - <repeat>N</repeat>
347   - <format>&#x23;</format>
348   - <currency/>
349   - <decimal/>
350   - <group/>
351   - </field>
352   - <field>
353   - <name>&#x9a7e;&#x9a76;&#x5458;</name>
354   - <type>String</type>
355   - <length>-1</length>
356   - <precision>-1</precision>
357   - <trim_type>none</trim_type>
358   - <repeat>N</repeat>
359   - <format/>
360   - <currency/>
361   - <decimal/>
362   - <group/>
363   - </field>
364   - <field>
365   - <name>&#x552e;&#x7968;&#x5458;&#x5de5;&#x53f7;</name>
366   - <type>String</type>
367   - <length>-1</length>
368   - <precision>-1</precision>
369   - <trim_type>none</trim_type>
370   - <repeat>N</repeat>
371   - <format>&#x23;</format>
372   - <currency/>
373   - <decimal/>
374   - <group/>
375   - </field>
376   - <field>
377   - <name>&#x552e;&#x7968;&#x5458;</name>
378   - <type>String</type>
379   - <length>-1</length>
380   - <precision>-1</precision>
381   - <trim_type>none</trim_type>
382   - <repeat>N</repeat>
383   - <format/>
384   - <currency/>
385   - <decimal/>
386   - <group/>
387   - </field>
388   - </fields>
389   - <sheets>
390   - <sheet>
391   - <name>&#x5de5;&#x4f5c;&#x8868;1</name>
392   - <startrow>0</startrow>
393   - <startcol>0</startcol>
394   - </sheet>
395   - </sheets>
396   - <strict_types>N</strict_types>
397   - <error_ignored>N</error_ignored>
398   - <error_line_skipped>N</error_line_skipped>
399   - <bad_line_files_destination_directory/>
400   - <bad_line_files_extension>warning</bad_line_files_extension>
401   - <error_line_files_destination_directory/>
402   - <error_line_files_extension>error</error_line_files_extension>
403   - <line_number_files_destination_directory/>
404   - <line_number_files_extension>line</line_number_files_extension>
405   - <shortFileFieldName/>
406   - <pathFieldName/>
407   - <hiddenFieldName/>
408   - <lastModificationTimeFieldName/>
409   - <uriNameFieldName/>
410   - <rootUriNameFieldName/>
411   - <extensionFieldName/>
412   - <sizeFieldName/>
413   - <spreadsheet_type>JXL</spreadsheet_type>
414   - <cluster_schema/>
415   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
416   - <xloc>93</xloc>
417   - <yloc>51</yloc>
418   - <draw>Y</draw>
419   - </GUI>
420   - </step>
421   -
422   - <step>
423   - <name>&#x542f;&#x7528;&#x88ab;&#x6570;&#x636e;flag</name>
424   - <type>Constant</type>
425   - <description/>
426   - <distribute>Y</distribute>
427   - <custom_distribution/>
428   - <copies>1</copies>
429   - <partitioning>
430   - <method>none</method>
431   - <schema_name/>
432   - </partitioning>
433   - <fields>
434   - <field>
435   - <name>isCancel</name>
436   - <type>Integer</type>
437   - <format/>
438   - <currency/>
439   - <decimal/>
440   - <group/>
441   - <nullif>0</nullif>
442   - <length>-1</length>
443   - <precision>-1</precision>
444   - <set_empty_string>N</set_empty_string>
445   - </field>
446   - </fields>
447   - <cluster_schema/>
448   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
449   - <xloc>225</xloc>
450   - <yloc>53</yloc>
451   - <draw>Y</draw>
452   - </GUI>
453   - </step>
454   -
455   - <step>
456   - <name>&#x552e;&#x7968;&#x5458;id&#x67e5;&#x627e;</name>
457   - <type>DBJoin</type>
458   - <description/>
459   - <distribute>Y</distribute>
460   - <custom_distribution/>
461   - <copies>1</copies>
462   - <partitioning>
463   - <method>none</method>
464   - <schema_name/>
465   - </partitioning>
466   - <connection>bus_control_variable</connection>
467   - <rowlimit>1</rowlimit>
468   - <sql>select id as sid from bsth_c_personnel&#xa;where job_code like &#x3f; and personnel_name &#x3d; &#x3f;</sql>
469   - <outer_join>Y</outer_join>
470   - <replace_vars>N</replace_vars>
471   - <parameter>
472   - <field>
473   - <name>sgh_temp</name>
474   - <type>String</type>
475   - </field>
476   - <field>
477   - <name>&#x552e;&#x7968;&#x5458;</name>
478   - <type>String</type>
479   - </field>
480   - </parameter>
481   - <cluster_schema/>
482   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
483   - <xloc>830</xloc>
484   - <yloc>45</yloc>
485   - <draw>Y</draw>
486   - </GUI>
487   - </step>
488   -
489   - <step>
490   - <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ecinfo</name>
491   - <type>InsertUpdate</type>
492   - <description/>
493   - <distribute>Y</distribute>
494   - <custom_distribution/>
495   - <copies>1</copies>
496   - <partitioning>
497   - <method>none</method>
498   - <schema_name/>
499   - </partitioning>
500   - <connection>bus_control_variable</connection>
501   - <commit>100</commit>
502   - <update_bypassed>N</update_bypassed>
503   - <lookup>
504   - <schema/>
505   - <table>bsth_c_s_ecinfo</table>
506   - <key>
507   - <name>xlid</name>
508   - <field>xl</field>
509   - <condition>&#x3d;</condition>
510   - <name2/>
511   - </key>
512   - <key>
513   - <name>&#x642d;&#x73ed;&#x7f16;&#x7801;</name>
514   - <field>dbbm</field>
515   - <condition>&#x3d;</condition>
516   - <name2/>
517   - </key>
518   - <key>
519   - <name>isCancel</name>
520   - <field>is_cancel</field>
521   - <condition>&#x3d;</condition>
522   - <name2/>
523   - </key>
524   - <value>
525   - <name>xl</name>
526   - <rename>xlid</rename>
527   - <update>N</update>
528   - </value>
529   - <value>
530   - <name>dbbm</name>
531   - <rename>&#x642d;&#x73ed;&#x7f16;&#x7801;</rename>
532   - <update>N</update>
533   - </value>
534   - <value>
535   - <name>jsy</name>
536   - <rename>jid</rename>
537   - <update>N</update>
538   - </value>
539   - <value>
540   - <name>spy</name>
541   - <rename>sid</rename>
542   - <update>N</update>
543   - </value>
544   - <value>
545   - <name>is_cancel</name>
546   - <rename>isCancel</rename>
547   - <update>N</update>
548   - </value>
549   - </lookup>
550   - <cluster_schema/>
551   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
552   - <xloc>833</xloc>
553   - <yloc>198</yloc>
554   - <draw>Y</draw>
555   - </GUI>
556   - </step>
557   -
558   - <step>
559   - <name>&#x7ebf;&#x8def;id&#x67e5;&#x8be2;</name>
560   - <type>DBLookup</type>
561   - <description/>
562   - <distribute>Y</distribute>
563   - <custom_distribution/>
564   - <copies>1</copies>
565   - <partitioning>
566   - <method>none</method>
567   - <schema_name/>
568   - </partitioning>
569   - <connection>bus_control_variable</connection>
570   - <cache>Y</cache>
571   - <cache_load_all>Y</cache_load_all>
572   - <cache_size>0</cache_size>
573   - <lookup>
574   - <schema/>
575   - <table>bsth_c_line</table>
576   - <orderby/>
577   - <fail_on_multiple>N</fail_on_multiple>
578   - <eat_row_on_failure>N</eat_row_on_failure>
579   - <key>
580   - <name>&#x7ebf;&#x8def;</name>
581   - <field>name</field>
582   - <condition>&#x3d;</condition>
583   - <name2/>
584   - </key>
585   - <key>
586   - <name>isCancel</name>
587   - <field>destroy</field>
588   - <condition>&#x3d;</condition>
589   - <name2/>
590   - </key>
591   - <value>
592   - <name>id</name>
593   - <rename>xlid</rename>
594   - <default/>
595   - <type>Integer</type>
596   - </value>
597   - </lookup>
598   - <cluster_schema/>
599   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
600   - <xloc>397</xloc>
601   - <yloc>144</yloc>
602   - <draw>Y</draw>
603   - </GUI>
604   - </step>
605   -
606   - <step>
607   - <name>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</name>
608   - <type>GetVariable</type>
609   - <description/>
610   - <distribute>Y</distribute>
611   - <custom_distribution/>
612   - <copies>1</copies>
613   - <partitioning>
614   - <method>none</method>
615   - <schema_name/>
616   - </partitioning>
617   - <fields>
618   - <field>
619   - <name>filepath_</name>
620   - <variable>&#x24;&#x7b;filepath&#x7d;</variable>
621   - <type>String</type>
622   - <format/>
623   - <currency/>
624   - <decimal/>
625   - <group/>
626   - <length>-1</length>
627   - <precision>-1</precision>
628   - <trim_type>none</trim_type>
629   - </field>
630   - <field>
631   - <name>erroroutputdir_</name>
632   - <variable>&#x24;&#x7b;erroroutputdir&#x7d;</variable>
633   - <type>String</type>
634   - <format/>
635   - <currency/>
636   - <decimal/>
637   - <group/>
638   - <length>-1</length>
639   - <precision>-1</precision>
640   - <trim_type>none</trim_type>
641   - </field>
642   - </fields>
643   - <cluster_schema/>
644   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
645   - <xloc>94</xloc>
646   - <yloc>178</yloc>
647   - <draw>Y</draw>
648   - </GUI>
649   - </step>
650   -
651   - <step>
652   - <name>&#x8fc7;&#x6ee4;&#x7ebf;&#x8def;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</name>
653   - <type>FilterRows</type>
654   - <description/>
655   - <distribute>Y</distribute>
656   - <custom_distribution/>
657   - <copies>1</copies>
658   - <partitioning>
659   - <method>none</method>
660   - <schema_name/>
661   - </partitioning>
662   -<send_true_to/>
663   -<send_false_to/>
664   - <compare>
665   -<condition>
666   - <negated>N</negated>
667   - <leftvalue>xlid</leftvalue>
668   - <function>IS NOT NULL</function>
669   - <rightvalue/>
670   - </condition>
671   - </compare>
672   - <cluster_schema/>
673   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
674   - <xloc>395</xloc>
675   - <yloc>49</yloc>
676   - <draw>Y</draw>
677   - </GUI>
678   - </step>
679   -
680   - <step>
681   - <name>&#x8fc7;&#x6ee4;&#x9a7e;&#x9a76;&#x5458;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</name>
682   - <type>FilterRows</type>
683   - <description/>
684   - <distribute>Y</distribute>
685   - <custom_distribution/>
686   - <copies>1</copies>
687   - <partitioning>
688   - <method>none</method>
689   - <schema_name/>
690   - </partitioning>
691   -<send_true_to>&#x552e;&#x7968;&#x5458;id&#x67e5;&#x627e;</send_true_to>
692   -<send_false_to/>
693   - <compare>
694   -<condition>
695   - <negated>N</negated>
696   - <leftvalue>jid</leftvalue>
697   - <function>IS NOT NULL</function>
698   - <rightvalue/>
699   - </condition>
700   - </compare>
701   - <cluster_schema/>
702   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
703   - <xloc>695</xloc>
704   - <yloc>45</yloc>
705   - <draw>Y</draw>
706   - </GUI>
707   - </step>
708   -
709   - <step>
710   - <name>&#x9519;&#x8bef;&#x8f93;&#x51fa;</name>
711   - <type>ExcelOutput</type>
712   - <description/>
713   - <distribute>Y</distribute>
714   - <custom_distribution/>
715   - <copies>1</copies>
716   - <partitioning>
717   - <method>none</method>
718   - <schema_name/>
719   - </partitioning>
720   - <header>Y</header>
721   - <footer>N</footer>
722   - <encoding>UTF-8</encoding>
723   - <append>N</append>
724   - <add_to_result_filenames>Y</add_to_result_filenames>
725   - <file>
726   - <name>&#x24;&#x7b;erroroutputdir&#x7d;&#x2f;&#x4eba;&#x5458;&#x914d;&#x7f6e;_&#x9519;&#x8bef;</name>
727   - <extention>xls</extention>
728   - <do_not_open_newfile_init>N</do_not_open_newfile_init>
729   - <create_parent_folder>N</create_parent_folder>
730   - <split>N</split>
731   - <add_date>N</add_date>
732   - <add_time>N</add_time>
733   - <SpecifyFormat>N</SpecifyFormat>
734   - <date_time_format/>
735   - <sheetname>Sheet1</sheetname>
736   - <autosizecolums>N</autosizecolums>
737   - <nullisblank>N</nullisblank>
738   - <protect_sheet>N</protect_sheet>
739   - <password>Encrypted </password>
740   - <splitevery>0</splitevery>
741   - <usetempfiles>N</usetempfiles>
742   - <tempdirectory/>
743   - </file>
744   - <template>
745   - <enabled>N</enabled>
746   - <append>N</append>
747   - <filename>template.xls</filename>
748   - </template>
749   - <fields>
750   - <field>
751   - <name>&#x7ebf;&#x8def;</name>
752   - <type>String</type>
753   - <format/>
754   - </field>
755   - <field>
756   - <name>&#x642d;&#x73ed;&#x7f16;&#x7801;</name>
757   - <type>String</type>
758   - <format/>
759   - </field>
760   - <field>
761   - <name>&#x9a7e;&#x9a76;&#x5458;&#x5de5;&#x53f7;</name>
762   - <type>String</type>
763   - <format/>
764   - </field>
765   - <field>
766   - <name>&#x9a7e;&#x9a76;&#x5458;</name>
767   - <type>String</type>
768   - <format/>
769   - </field>
770   - <field>
771   - <name>&#x552e;&#x7968;&#x5458;&#x5de5;&#x53f7;</name>
772   - <type>String</type>
773   - <format/>
774   - </field>
775   - <field>
776   - <name>&#x552e;&#x7968;&#x5458;</name>
777   - <type>String</type>
778   - <format/>
779   - </field>
780   - <field>
781   - <name>isCancel</name>
782   - <type>Integer</type>
783   - <format/>
784   - </field>
785   - <field>
786   - <name>xlid</name>
787   - <type>Integer</type>
788   - <format/>
789   - </field>
790   - <field>
791   - <name>jid</name>
792   - <type>Integer</type>
793   - <format/>
794   - </field>
795   - <field>
796   - <name>sid</name>
797   - <type>Integer</type>
798   - <format/>
799   - </field>
800   - <field>
801   - <name>error_count</name>
802   - <type>Integer</type>
803   - <format/>
804   - </field>
805   - <field>
806   - <name>error_desc</name>
807   - <type>String</type>
808   - <format/>
809   - </field>
810   - <field>
811   - <name>error_column1</name>
812   - <type>String</type>
813   - <format/>
814   - </field>
815   - <field>
816   - <name>error_column2</name>
817   - <type>String</type>
818   - <format/>
819   - </field>
820   - </fields>
821   - <custom>
822   - <header_font_name>arial</header_font_name>
823   - <header_font_size>10</header_font_size>
824   - <header_font_bold>N</header_font_bold>
825   - <header_font_italic>N</header_font_italic>
826   - <header_font_underline>no</header_font_underline>
827   - <header_font_orientation>horizontal</header_font_orientation>
828   - <header_font_color>black</header_font_color>
829   - <header_background_color>none</header_background_color>
830   - <header_row_height>255</header_row_height>
831   - <header_alignment>left</header_alignment>
832   - <header_image/>
833   - <row_font_name>arial</row_font_name>
834   - <row_font_size>10</row_font_size>
835   - <row_font_color>black</row_font_color>
836   - <row_background_color>none</row_background_color>
837   - </custom>
838   - <cluster_schema/>
839   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
840   - <xloc>833</xloc>
841   - <yloc>321</yloc>
842   - <draw>Y</draw>
843   - </GUI>
844   - </step>
845   -
846   - <step>
847   - <name>&#x9a7e;&#x9a76;&#x5458;id&#x67e5;&#x627e;</name>
848   - <type>DBJoin</type>
849   - <description/>
850   - <distribute>Y</distribute>
851   - <custom_distribution/>
852   - <copies>1</copies>
853   - <partitioning>
854   - <method>none</method>
855   - <schema_name/>
856   - </partitioning>
857   - <connection>bus_control_variable</connection>
858   - <rowlimit>1</rowlimit>
859   - <sql>select id as jid from bsth_c_personnel&#xa;where job_code like &#x3f; and personnel_name &#x3d; &#x3f;</sql>
860   - <outer_join>Y</outer_join>
861   - <replace_vars>N</replace_vars>
862   - <parameter>
863   - <field>
864   - <name>jgh_temp</name>
865   - <type>String</type>
866   - </field>
867   - <field>
868   - <name>&#x9a7e;&#x9a76;&#x5458;</name>
869   - <type>String</type>
870   - </field>
871   - </parameter>
872   - <cluster_schema/>
873   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
874   - <xloc>694</xloc>
875   - <yloc>141</yloc>
876   - <draw>Y</draw>
877   - </GUI>
878   - </step>
879   -
880   - <step>
881   - <name>&#x5de5;&#x53f7;&#x6570;&#x636e;&#x5904;&#x7406;</name>
882   - <type>ScriptValueMod</type>
883   - <description/>
884   - <distribute>Y</distribute>
885   - <custom_distribution/>
886   - <copies>1</copies>
887   - <partitioning>
888   - <method>none</method>
889   - <schema_name/>
890   - </partitioning>
891   - <compatible>N</compatible>
892   - <optimizationLevel>9</optimizationLevel>
893   - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
894   - <jsScript_name>Script 1</jsScript_name>
895   - <jsScript_script>&#x2f;&#x2f; &#x56e0;&#x4e3a;&#x6570;&#x636e;&#x5e93;&#x4e2d;&#x7684;&#x6570;&#x636e;&#x5de5;&#x53f7;&#x53ef;&#x80fd;&#x5e26;suffix&#xff0c;&#x5982;55-12345678&#xa;&#x2f;&#x2f; &#x6240;&#x4ee5;&#x4e4b;&#x540e;&#x7684;&#x5339;&#x914d;&#x4f7f;&#x7528;like&#xff0c;&#x5219;&#x5143;&#x6570;&#x636e;&#x9700;&#x8981;&#x52a0;&#x4e0a;&#x25; &#x25;&#x7b26;&#x53f7;&#xa;&#xa;var jgh_temp&#x3b;&#xa;var sgh_temp&#x3b;&#xa;&#xa;if &#x28;&#x9a7e;&#x9a76;&#x5458;&#x5de5;&#x53f7;&#x29; &#x7b;&#xa; jgh_temp &#x3d; &#x27;&#x25;&#x27; &#x2b; &#x9a7e;&#x9a76;&#x5458;&#x5de5;&#x53f7; &#x2b; &#x27;&#x25;&#x27;&#x3b;&#xa;&#x7d; else &#x7b;&#xa; jgh_temp &#x3d; &#x9a7e;&#x9a76;&#x5458;&#x5de5;&#x53f7;&#x3b;&#xa;&#x7d;&#xa;&#xa;if &#x28;&#x552e;&#x7968;&#x5458;&#x5de5;&#x53f7;&#x29; &#x7b;&#xa; sgh_temp &#x3d; &#x27;&#x25;&#x27; &#x2b; &#x552e;&#x7968;&#x5458;&#x5de5;&#x53f7; &#x2b; &#x27;&#x25;&#x27;&#x3b;&#xa;&#x7d; else &#x7b;&#xa; sgh_temp &#x3d; &#x552e;&#x7968;&#x5458;&#x5de5;&#x53f7;&#x3b;&#xa;&#x7d;</jsScript_script>
896   - </jsScript> </jsScripts> <fields> <field> <name>jgh_temp</name>
897   - <rename>jgh_temp</rename>
898   - <type>String</type>
899   - <length>-1</length>
900   - <precision>-1</precision>
901   - <replace>N</replace>
902   - </field> <field> <name>sgh_temp</name>
903   - <rename>sgh_temp</rename>
904   - <type>String</type>
905   - <length>-1</length>
906   - <precision>-1</precision>
907   - <replace>N</replace>
908   - </field> </fields> <cluster_schema/>
909   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
910   - <xloc>548</xloc>
911   - <yloc>47</yloc>
912   - <draw>Y</draw>
913   - </GUI>
914   - </step>
915   -
916   - <step_error_handling>
917   - <error>
918   - <source_step>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ecinfo</source_step>
919   - <target_step>&#x9519;&#x8bef;&#x8f93;&#x51fa;</target_step>
920   - <is_enabled>Y</is_enabled>
921   - <nr_valuename>error_count</nr_valuename>
922   - <descriptions_valuename>error_desc</descriptions_valuename>
923   - <fields_valuename>error_column1</fields_valuename>
924   - <codes_valuename>error_column2</codes_valuename>
925   - <max_errors/>
926   - <max_pct_errors/>
927   - <min_pct_rows/>
928   - </error>
929   - </step_error_handling>
930   - <slave-step-copy-partition-distribution>
931   -</slave-step-copy-partition-distribution>
932   - <slave_transformation>N</slave_transformation>
933   -
934   -</transformation>
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<transformation>
  3 + <info>
  4 + <name>&#x4eba;&#x5458;&#x914d;&#x7f6e;&#x4fe1;&#x606f;&#x5bfc;&#x5165;</name>
  5 + <description>&#x4eba;&#x5458;&#x914d;&#x7f6e;&#x4fe1;&#x606f;&#x5bfc;&#x5165;</description>
  6 + <extended_description>&#x4eba;&#x5458;&#x914d;&#x7f6e;&#x4fe1;&#x606f;</extended_description>
  7 + <trans_version/>
  8 + <trans_type>Normal</trans_type>
  9 + <trans_status>0</trans_status>
  10 + <directory>&#x2f;</directory>
  11 + <parameters>
  12 + <parameter>
  13 + <name>erroroutputdir</name>
  14 + <default_value/>
  15 + <description>ktr step&#x914d;&#x7f6e;&#x7684;&#x9519;&#x8bef;&#x8f93;&#x51fa;&#x76ee;&#x5f55;</description>
  16 + </parameter>
  17 + <parameter>
  18 + <name>filepath</name>
  19 + <default_value/>
  20 + <description>&#x5f85;&#x5904;&#x7406;&#x5bfc;&#x5165;&#x7684;excel&#x6587;&#x4ef6;</description>
  21 + </parameter>
  22 + </parameters>
  23 + <log>
  24 +<trans-log-table><connection/>
  25 +<schema/>
  26 +<table/>
  27 +<size_limit_lines/>
  28 +<interval/>
  29 +<timeout_days/>
  30 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STATUS</id><enabled>Y</enabled><name>STATUS</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name><subject/></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name><subject/></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name><subject/></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name><subject/></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name><subject/></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name><subject/></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>STARTDATE</id><enabled>Y</enabled><name>STARTDATE</name></field><field><id>ENDDATE</id><enabled>Y</enabled><name>ENDDATE</name></field><field><id>LOGDATE</id><enabled>Y</enabled><name>LOGDATE</name></field><field><id>DEPDATE</id><enabled>Y</enabled><name>DEPDATE</name></field><field><id>REPLAYDATE</id><enabled>Y</enabled><name>REPLAYDATE</name></field><field><id>LOG_FIELD</id><enabled>Y</enabled><name>LOG_FIELD</name></field><field><id>EXECUTING_SERVER</id><enabled>N</enabled><name>EXECUTING_SERVER</name></field><field><id>EXECUTING_USER</id><enabled>N</enabled><name>EXECUTING_USER</name></field><field><id>CLIENT</id><enabled>N</enabled><name>CLIENT</name></field></trans-log-table>
  31 +<perf-log-table><connection/>
  32 +<schema/>
  33 +<table/>
  34 +<interval/>
  35 +<timeout_days/>
  36 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>SEQ_NR</id><enabled>Y</enabled><name>SEQ_NR</name></field><field><id>LOGDATE</id><enabled>Y</enabled><name>LOGDATE</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STEPNAME</id><enabled>Y</enabled><name>STEPNAME</name></field><field><id>STEP_COPY</id><enabled>Y</enabled><name>STEP_COPY</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>INPUT_BUFFER_ROWS</id><enabled>Y</enabled><name>INPUT_BUFFER_ROWS</name></field><field><id>OUTPUT_BUFFER_ROWS</id><enabled>Y</enabled><name>OUTPUT_BUFFER_ROWS</name></field></perf-log-table>
  37 +<channel-log-table><connection/>
  38 +<schema/>
  39 +<table/>
  40 +<timeout_days/>
  41 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>LOGGING_OBJECT_TYPE</id><enabled>Y</enabled><name>LOGGING_OBJECT_TYPE</name></field><field><id>OBJECT_NAME</id><enabled>Y</enabled><name>OBJECT_NAME</name></field><field><id>OBJECT_COPY</id><enabled>Y</enabled><name>OBJECT_COPY</name></field><field><id>REPOSITORY_DIRECTORY</id><enabled>Y</enabled><name>REPOSITORY_DIRECTORY</name></field><field><id>FILENAME</id><enabled>Y</enabled><name>FILENAME</name></field><field><id>OBJECT_ID</id><enabled>Y</enabled><name>OBJECT_ID</name></field><field><id>OBJECT_REVISION</id><enabled>Y</enabled><name>OBJECT_REVISION</name></field><field><id>PARENT_CHANNEL_ID</id><enabled>Y</enabled><name>PARENT_CHANNEL_ID</name></field><field><id>ROOT_CHANNEL_ID</id><enabled>Y</enabled><name>ROOT_CHANNEL_ID</name></field></channel-log-table>
  42 +<step-log-table><connection/>
  43 +<schema/>
  44 +<table/>
  45 +<timeout_days/>
  46 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STEPNAME</id><enabled>Y</enabled><name>STEPNAME</name></field><field><id>STEP_COPY</id><enabled>Y</enabled><name>STEP_COPY</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>LOG_FIELD</id><enabled>N</enabled><name>LOG_FIELD</name></field></step-log-table>
  47 +<metrics-log-table><connection/>
  48 +<schema/>
  49 +<table/>
  50 +<timeout_days/>
  51 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>METRICS_DATE</id><enabled>Y</enabled><name>METRICS_DATE</name></field><field><id>METRICS_CODE</id><enabled>Y</enabled><name>METRICS_CODE</name></field><field><id>METRICS_DESCRIPTION</id><enabled>Y</enabled><name>METRICS_DESCRIPTION</name></field><field><id>METRICS_SUBJECT</id><enabled>Y</enabled><name>METRICS_SUBJECT</name></field><field><id>METRICS_TYPE</id><enabled>Y</enabled><name>METRICS_TYPE</name></field><field><id>METRICS_VALUE</id><enabled>Y</enabled><name>METRICS_VALUE</name></field></metrics-log-table>
  52 + </log>
  53 + <maxdate>
  54 + <connection/>
  55 + <table/>
  56 + <field/>
  57 + <offset>0.0</offset>
  58 + <maxdiff>0.0</maxdiff>
  59 + </maxdate>
  60 + <size_rowset>10000</size_rowset>
  61 + <sleep_time_empty>50</sleep_time_empty>
  62 + <sleep_time_full>50</sleep_time_full>
  63 + <unique_connections>N</unique_connections>
  64 + <feedback_shown>Y</feedback_shown>
  65 + <feedback_size>50000</feedback_size>
  66 + <using_thread_priorities>Y</using_thread_priorities>
  67 + <shared_objects_file/>
  68 + <capture_step_performance>N</capture_step_performance>
  69 + <step_performance_capturing_delay>1000</step_performance_capturing_delay>
  70 + <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit>
  71 + <dependencies>
  72 + </dependencies>
  73 + <partitionschemas>
  74 + </partitionschemas>
  75 + <slaveservers>
  76 + </slaveservers>
  77 + <clusterschemas>
  78 + </clusterschemas>
  79 + <created_user>-</created_user>
  80 + <created_date>2016&#x2f;06&#x2f;29 15&#x3a;12&#x3a;27.273</created_date>
  81 + <modified_user>-</modified_user>
  82 + <modified_date>2016&#x2f;06&#x2f;29 15&#x3a;12&#x3a;27.273</modified_date>
  83 + <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</key_for_session_key>
  84 + <is_key_private>N</is_key_private>
  85 + </info>
  86 + <notepads>
  87 + <notepad>
  88 + <note>&#x8fd9;&#x91cc;&#x6709;&#x4e9b;&#x95ee;&#x9898;&#xa;&#x5728;window2012&#x7684;&#x73af;&#x5883;&#x4e0b;&#xff0c;&#xa;MySql&#x6570;&#x636e;&#x5e93;&#x67e5;&#x8be2;&#x4e2d;&#x5982;&#x679c;&#x8fd4;&#x56de;&#x4e2d;&#x6587;&#x5185;&#x5bb9;&#x7684;&#x5b57;&#x6bb5;&#xff0c;&#x8fd9;&#x4e2a;&#x5185;&#x5bb9;&#x4e71;&#x7801;&#xa;&#x89e3;&#x51b3;&#x529e;&#x6cd5;&#xff0c;&#x5c31;&#x662f;&#x6570;&#x636e;&#x5e93;&#x67e5;&#x8be2;&#x5168;&#x90e8;&#x7f13;&#x5b58;&#xff0c;&#x5c31;&#x4e0d;&#x4e71;&#x7801;&#xa;linux&#x73af;&#x5883;&#x4e0b;&#x6ca1;&#x95ee;&#x9898;</note>
  89 + <xloc>101</xloc>
  90 + <yloc>264</yloc>
  91 + <width>333</width>
  92 + <heigth>90</heigth>
  93 + <fontname>YaHei Consolas Hybrid</fontname>
  94 + <fontsize>12</fontsize>
  95 + <fontbold>N</fontbold>
  96 + <fontitalic>N</fontitalic>
  97 + <fontcolorred>0</fontcolorred>
  98 + <fontcolorgreen>0</fontcolorgreen>
  99 + <fontcolorblue>0</fontcolorblue>
  100 + <backgroundcolorred>255</backgroundcolorred>
  101 + <backgroundcolorgreen>205</backgroundcolorgreen>
  102 + <backgroundcolorblue>112</backgroundcolorblue>
  103 + <bordercolorred>100</bordercolorred>
  104 + <bordercolorgreen>100</bordercolorgreen>
  105 + <bordercolorblue>100</bordercolorblue>
  106 + <drawshadow>Y</drawshadow>
  107 + </notepad>
  108 + </notepads>
  109 + <connection>
  110 + <name>192.168.168.1_jwgl_dw</name>
  111 + <server>192.168.168.1</server>
  112 + <type>ORACLE</type>
  113 + <access>Native</access>
  114 + <database>orcl</database>
  115 + <port>1521</port>
  116 + <username>jwgl_dw</username>
  117 + <password>Encrypted 2be98afc86aa7f2e4cb13b977d2adabcd</password>
  118 + <servername/>
  119 + <data_tablespace/>
  120 + <index_tablespace/>
  121 + <attributes>
  122 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  123 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  124 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  125 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  126 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  127 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  128 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  129 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  130 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  131 + </attributes>
  132 + </connection>
  133 + <connection>
  134 + <name>bus_control_variable</name>
  135 + <server>&#x24;&#x7b;v_db_ip&#x7d;</server>
  136 + <type>MYSQL</type>
  137 + <access>Native</access>
  138 + <database>&#x24;&#x7b;v_db_dname&#x7d;</database>
  139 + <port>3306</port>
  140 + <username>&#x24;&#x7b;v_db_uname&#x7d;</username>
  141 + <password>&#x24;&#x7b;v_db_pwd&#x7d;</password>
  142 + <servername/>
  143 + <data_tablespace/>
  144 + <index_tablespace/>
  145 + <attributes>
  146 + <attribute><code>EXTRA_OPTION_MYSQL.characterEncoding</code><attribute>utf8</attribute></attribute>
  147 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  148 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  149 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  150 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  151 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  152 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  153 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  154 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  155 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  156 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  157 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  158 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  159 + </attributes>
  160 + </connection>
  161 + <connection>
  162 + <name>bus_control_&#x516c;&#x53f8;_201</name>
  163 + <server>localhost</server>
  164 + <type>MYSQL</type>
  165 + <access>Native</access>
  166 + <database>control</database>
  167 + <port>3306</port>
  168 + <username>root</username>
  169 + <password>Encrypted </password>
  170 + <servername/>
  171 + <data_tablespace/>
  172 + <index_tablespace/>
  173 + <attributes>
  174 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  175 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  176 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  177 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  178 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  179 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  180 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  181 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  182 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  183 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  184 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  185 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  186 + </attributes>
  187 + </connection>
  188 + <connection>
  189 + <name>bus_control_&#x672c;&#x673a;</name>
  190 + <server>localhost</server>
  191 + <type>MYSQL</type>
  192 + <access>Native</access>
  193 + <database>control</database>
  194 + <port>3306</port>
  195 + <username>root</username>
  196 + <password>Encrypted </password>
  197 + <servername/>
  198 + <data_tablespace/>
  199 + <index_tablespace/>
  200 + <attributes>
  201 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  202 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  203 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  204 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  205 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  206 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  207 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  208 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  209 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  210 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  211 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  212 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  213 + </attributes>
  214 + </connection>
  215 + <connection>
  216 + <name>xlab_mysql_youle</name>
  217 + <server>101.231.124.8</server>
  218 + <type>MYSQL</type>
  219 + <access>Native</access>
  220 + <database>xlab_youle</database>
  221 + <port>45687</port>
  222 + <username>xlab-youle</username>
  223 + <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password>
  224 + <servername/>
  225 + <data_tablespace/>
  226 + <index_tablespace/>
  227 + <attributes>
  228 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  229 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  230 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  231 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  232 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  233 + <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute>
  234 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  235 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  236 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  237 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  238 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  239 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  240 + </attributes>
  241 + </connection>
  242 + <connection>
  243 + <name>xlab_mysql_youle&#xff08;&#x672c;&#x673a;&#xff09;</name>
  244 + <server>localhost</server>
  245 + <type>MYSQL</type>
  246 + <access>Native</access>
  247 + <database>xlab_youle</database>
  248 + <port>3306</port>
  249 + <username>root</username>
  250 + <password>Encrypted </password>
  251 + <servername/>
  252 + <data_tablespace/>
  253 + <index_tablespace/>
  254 + <attributes>
  255 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  256 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  257 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  258 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  259 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  260 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  261 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  262 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  263 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  264 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  265 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  266 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  267 + </attributes>
  268 + </connection>
  269 + <connection>
  270 + <name>xlab_youle</name>
  271 + <server/>
  272 + <type>MYSQL</type>
  273 + <access>JNDI</access>
  274 + <database>xlab_youle</database>
  275 + <port>1521</port>
  276 + <username/>
  277 + <password>Encrypted </password>
  278 + <servername/>
  279 + <data_tablespace/>
  280 + <index_tablespace/>
  281 + <attributes>
  282 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  283 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  284 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  285 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  286 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  287 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  288 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  289 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  290 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  291 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  292 + </attributes>
  293 + </connection>
  294 + <order>
  295 + <hop> <from>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ecinfo</from><to>&#x9519;&#x8bef;&#x8f93;&#x51fa;</to><enabled>Y</enabled> </hop>
  296 + <hop> <from>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</from><to>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</to><enabled>Y</enabled> </hop>
  297 + <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>
  298 + <hop> <from>&#x542f;&#x7528;&#x88ab;&#x6570;&#x636e;flag</from><to>&#x7ebf;&#x8def;id&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>
  299 + <hop> <from>&#x7ebf;&#x8def;id&#x67e5;&#x8be2;</from><to>&#x8fc7;&#x6ee4;&#x7ebf;&#x8def;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>
  300 + <hop> <from>&#x9a7e;&#x9a76;&#x5458;id&#x67e5;&#x627e;</from><to>&#x8fc7;&#x6ee4;&#x9a7e;&#x9a76;&#x5458;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>
  301 + <hop> <from>&#x8fc7;&#x6ee4;&#x9a7e;&#x9a76;&#x5458;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</from><to>&#x552e;&#x7968;&#x5458;id&#x67e5;&#x627e;</to><enabled>Y</enabled> </hop>
  302 + <hop> <from>&#x552e;&#x7968;&#x5458;id&#x67e5;&#x627e;</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ecinfo</to><enabled>Y</enabled> </hop>
  303 + <hop> <from>&#x8fc7;&#x6ee4;&#x7ebf;&#x8def;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</from><to>&#x9a7e;&#x9a76;&#x5458;id&#x67e5;&#x627e;</to><enabled>Y</enabled> </hop>
  304 + </order>
  305 + <step>
  306 + <name>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</name>
  307 + <type>ExcelInput</type>
  308 + <description/>
  309 + <distribute>Y</distribute>
  310 + <custom_distribution/>
  311 + <copies>1</copies>
  312 + <partitioning>
  313 + <method>none</method>
  314 + <schema_name/>
  315 + </partitioning>
  316 + <header>Y</header>
  317 + <noempty>Y</noempty>
  318 + <stoponempty>N</stoponempty>
  319 + <filefield/>
  320 + <sheetfield/>
  321 + <sheetrownumfield/>
  322 + <rownumfield/>
  323 + <sheetfield/>
  324 + <filefield/>
  325 + <limit>0</limit>
  326 + <encoding/>
  327 + <add_to_result_filenames>Y</add_to_result_filenames>
  328 + <accept_filenames>Y</accept_filenames>
  329 + <accept_field>filepath_</accept_field>
  330 + <accept_stepname>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</accept_stepname>
  331 + <file>
  332 + <name/>
  333 + <filemask/>
  334 + <exclude_filemask/>
  335 + <file_required>N</file_required>
  336 + <include_subfolders>N</include_subfolders>
  337 + </file>
  338 + <fields>
  339 + <field>
  340 + <name>&#x7ebf;&#x8def;</name>
  341 + <type>String</type>
  342 + <length>-1</length>
  343 + <precision>-1</precision>
  344 + <trim_type>none</trim_type>
  345 + <repeat>N</repeat>
  346 + <format/>
  347 + <currency/>
  348 + <decimal/>
  349 + <group/>
  350 + </field>
  351 + <field>
  352 + <name>&#x642d;&#x73ed;&#x7f16;&#x7801;</name>
  353 + <type>String</type>
  354 + <length>-1</length>
  355 + <precision>-1</precision>
  356 + <trim_type>none</trim_type>
  357 + <repeat>N</repeat>
  358 + <format>&#x23;</format>
  359 + <currency/>
  360 + <decimal/>
  361 + <group/>
  362 + </field>
  363 + <field>
  364 + <name>&#x9a7e;&#x9a76;&#x5458;&#x5de5;&#x53f7;</name>
  365 + <type>String</type>
  366 + <length>-1</length>
  367 + <precision>-1</precision>
  368 + <trim_type>none</trim_type>
  369 + <repeat>N</repeat>
  370 + <format>&#x23;</format>
  371 + <currency/>
  372 + <decimal/>
  373 + <group/>
  374 + </field>
  375 + <field>
  376 + <name>&#x9a7e;&#x9a76;&#x5458;</name>
  377 + <type>String</type>
  378 + <length>-1</length>
  379 + <precision>-1</precision>
  380 + <trim_type>none</trim_type>
  381 + <repeat>N</repeat>
  382 + <format/>
  383 + <currency/>
  384 + <decimal/>
  385 + <group/>
  386 + </field>
  387 + <field>
  388 + <name>&#x552e;&#x7968;&#x5458;&#x5de5;&#x53f7;</name>
  389 + <type>String</type>
  390 + <length>-1</length>
  391 + <precision>-1</precision>
  392 + <trim_type>none</trim_type>
  393 + <repeat>N</repeat>
  394 + <format>&#x23;</format>
  395 + <currency/>
  396 + <decimal/>
  397 + <group/>
  398 + </field>
  399 + <field>
  400 + <name>&#x552e;&#x7968;&#x5458;</name>
  401 + <type>String</type>
  402 + <length>-1</length>
  403 + <precision>-1</precision>
  404 + <trim_type>none</trim_type>
  405 + <repeat>N</repeat>
  406 + <format/>
  407 + <currency/>
  408 + <decimal/>
  409 + <group/>
  410 + </field>
  411 + </fields>
  412 + <sheets>
  413 + <sheet>
  414 + <name>&#x5de5;&#x4f5c;&#x8868;1</name>
  415 + <startrow>0</startrow>
  416 + <startcol>0</startcol>
  417 + </sheet>
  418 + </sheets>
  419 + <strict_types>N</strict_types>
  420 + <error_ignored>N</error_ignored>
  421 + <error_line_skipped>N</error_line_skipped>
  422 + <bad_line_files_destination_directory/>
  423 + <bad_line_files_extension>warning</bad_line_files_extension>
  424 + <error_line_files_destination_directory/>
  425 + <error_line_files_extension>error</error_line_files_extension>
  426 + <line_number_files_destination_directory/>
  427 + <line_number_files_extension>line</line_number_files_extension>
  428 + <shortFileFieldName/>
  429 + <pathFieldName/>
  430 + <hiddenFieldName/>
  431 + <lastModificationTimeFieldName/>
  432 + <uriNameFieldName/>
  433 + <rootUriNameFieldName/>
  434 + <extensionFieldName/>
  435 + <sizeFieldName/>
  436 + <spreadsheet_type>JXL</spreadsheet_type>
  437 + <cluster_schema/>
  438 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  439 + <xloc>93</xloc>
  440 + <yloc>51</yloc>
  441 + <draw>Y</draw>
  442 + </GUI>
  443 + </step>
  444 +
  445 + <step>
  446 + <name>&#x542f;&#x7528;&#x88ab;&#x6570;&#x636e;flag</name>
  447 + <type>Constant</type>
  448 + <description/>
  449 + <distribute>Y</distribute>
  450 + <custom_distribution/>
  451 + <copies>1</copies>
  452 + <partitioning>
  453 + <method>none</method>
  454 + <schema_name/>
  455 + </partitioning>
  456 + <fields>
  457 + <field>
  458 + <name>isCancel</name>
  459 + <type>Integer</type>
  460 + <format/>
  461 + <currency/>
  462 + <decimal/>
  463 + <group/>
  464 + <nullif>0</nullif>
  465 + <length>-1</length>
  466 + <precision>-1</precision>
  467 + <set_empty_string>N</set_empty_string>
  468 + </field>
  469 + </fields>
  470 + <cluster_schema/>
  471 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  472 + <xloc>225</xloc>
  473 + <yloc>53</yloc>
  474 + <draw>Y</draw>
  475 + </GUI>
  476 + </step>
  477 +
  478 + <step>
  479 + <name>&#x552e;&#x7968;&#x5458;id&#x67e5;&#x627e;</name>
  480 + <type>DBJoin</type>
  481 + <description/>
  482 + <distribute>Y</distribute>
  483 + <custom_distribution/>
  484 + <copies>1</copies>
  485 + <partitioning>
  486 + <method>none</method>
  487 + <schema_name/>
  488 + </partitioning>
  489 + <connection>bus_control_variable</connection>
  490 + <rowlimit>1</rowlimit>
  491 + <sql>select id as sid from bsth_c_personnel&#xa;where job_codeori &#x3d; &#x3f; and personnel_name &#x3d; &#x3f;</sql>
  492 + <outer_join>Y</outer_join>
  493 + <replace_vars>N</replace_vars>
  494 + <parameter>
  495 + <field>
  496 + <name>&#x552e;&#x7968;&#x5458;&#x5de5;&#x53f7;</name>
  497 + <type>String</type>
  498 + </field>
  499 + <field>
  500 + <name>&#x552e;&#x7968;&#x5458;</name>
  501 + <type>String</type>
  502 + </field>
  503 + </parameter>
  504 + <cluster_schema/>
  505 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  506 + <xloc>830</xloc>
  507 + <yloc>45</yloc>
  508 + <draw>Y</draw>
  509 + </GUI>
  510 + </step>
  511 +
  512 + <step>
  513 + <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ecinfo</name>
  514 + <type>InsertUpdate</type>
  515 + <description/>
  516 + <distribute>Y</distribute>
  517 + <custom_distribution/>
  518 + <copies>1</copies>
  519 + <partitioning>
  520 + <method>none</method>
  521 + <schema_name/>
  522 + </partitioning>
  523 + <connection>bus_control_variable</connection>
  524 + <commit>100</commit>
  525 + <update_bypassed>N</update_bypassed>
  526 + <lookup>
  527 + <schema/>
  528 + <table>bsth_c_s_ecinfo</table>
  529 + <key>
  530 + <name>xlid</name>
  531 + <field>xl</field>
  532 + <condition>&#x3d;</condition>
  533 + <name2/>
  534 + </key>
  535 + <key>
  536 + <name>&#x642d;&#x73ed;&#x7f16;&#x7801;</name>
  537 + <field>dbbm</field>
  538 + <condition>&#x3d;</condition>
  539 + <name2/>
  540 + </key>
  541 + <key>
  542 + <name>isCancel</name>
  543 + <field>is_cancel</field>
  544 + <condition>&#x3d;</condition>
  545 + <name2/>
  546 + </key>
  547 + <value>
  548 + <name>xl</name>
  549 + <rename>xlid</rename>
  550 + <update>Y</update>
  551 + </value>
  552 + <value>
  553 + <name>dbbm</name>
  554 + <rename>&#x642d;&#x73ed;&#x7f16;&#x7801;</rename>
  555 + <update>Y</update>
  556 + </value>
  557 + <value>
  558 + <name>jsy</name>
  559 + <rename>jid</rename>
  560 + <update>Y</update>
  561 + </value>
  562 + <value>
  563 + <name>spy</name>
  564 + <rename>sid</rename>
  565 + <update>Y</update>
  566 + </value>
  567 + <value>
  568 + <name>is_cancel</name>
  569 + <rename>isCancel</rename>
  570 + <update>Y</update>
  571 + </value>
  572 + </lookup>
  573 + <cluster_schema/>
  574 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  575 + <xloc>833</xloc>
  576 + <yloc>198</yloc>
  577 + <draw>Y</draw>
  578 + </GUI>
  579 + </step>
  580 +
  581 + <step>
  582 + <name>&#x7ebf;&#x8def;id&#x67e5;&#x8be2;</name>
  583 + <type>DBLookup</type>
  584 + <description/>
  585 + <distribute>Y</distribute>
  586 + <custom_distribution/>
  587 + <copies>1</copies>
  588 + <partitioning>
  589 + <method>none</method>
  590 + <schema_name/>
  591 + </partitioning>
  592 + <connection>bus_control_variable</connection>
  593 + <cache>Y</cache>
  594 + <cache_load_all>Y</cache_load_all>
  595 + <cache_size>0</cache_size>
  596 + <lookup>
  597 + <schema/>
  598 + <table>bsth_c_line</table>
  599 + <orderby/>
  600 + <fail_on_multiple>N</fail_on_multiple>
  601 + <eat_row_on_failure>N</eat_row_on_failure>
  602 + <key>
  603 + <name>&#x7ebf;&#x8def;</name>
  604 + <field>name</field>
  605 + <condition>&#x3d;</condition>
  606 + <name2/>
  607 + </key>
  608 + <key>
  609 + <name>isCancel</name>
  610 + <field>destroy</field>
  611 + <condition>&#x3d;</condition>
  612 + <name2/>
  613 + </key>
  614 + <value>
  615 + <name>id</name>
  616 + <rename>xlid</rename>
  617 + <default/>
  618 + <type>Integer</type>
  619 + </value>
  620 + </lookup>
  621 + <cluster_schema/>
  622 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  623 + <xloc>397</xloc>
  624 + <yloc>144</yloc>
  625 + <draw>Y</draw>
  626 + </GUI>
  627 + </step>
  628 +
  629 + <step>
  630 + <name>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</name>
  631 + <type>GetVariable</type>
  632 + <description/>
  633 + <distribute>Y</distribute>
  634 + <custom_distribution/>
  635 + <copies>1</copies>
  636 + <partitioning>
  637 + <method>none</method>
  638 + <schema_name/>
  639 + </partitioning>
  640 + <fields>
  641 + <field>
  642 + <name>filepath_</name>
  643 + <variable>&#x24;&#x7b;filepath&#x7d;</variable>
  644 + <type>String</type>
  645 + <format/>
  646 + <currency/>
  647 + <decimal/>
  648 + <group/>
  649 + <length>-1</length>
  650 + <precision>-1</precision>
  651 + <trim_type>none</trim_type>
  652 + </field>
  653 + <field>
  654 + <name>erroroutputdir_</name>
  655 + <variable>&#x24;&#x7b;erroroutputdir&#x7d;</variable>
  656 + <type>String</type>
  657 + <format/>
  658 + <currency/>
  659 + <decimal/>
  660 + <group/>
  661 + <length>-1</length>
  662 + <precision>-1</precision>
  663 + <trim_type>none</trim_type>
  664 + </field>
  665 + </fields>
  666 + <cluster_schema/>
  667 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  668 + <xloc>94</xloc>
  669 + <yloc>178</yloc>
  670 + <draw>Y</draw>
  671 + </GUI>
  672 + </step>
  673 +
  674 + <step>
  675 + <name>&#x8fc7;&#x6ee4;&#x7ebf;&#x8def;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</name>
  676 + <type>FilterRows</type>
  677 + <description/>
  678 + <distribute>Y</distribute>
  679 + <custom_distribution/>
  680 + <copies>1</copies>
  681 + <partitioning>
  682 + <method>none</method>
  683 + <schema_name/>
  684 + </partitioning>
  685 +<send_true_to/>
  686 +<send_false_to/>
  687 + <compare>
  688 +<condition>
  689 + <negated>N</negated>
  690 + <leftvalue>xlid</leftvalue>
  691 + <function>IS NOT NULL</function>
  692 + <rightvalue/>
  693 + </condition>
  694 + </compare>
  695 + <cluster_schema/>
  696 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  697 + <xloc>395</xloc>
  698 + <yloc>49</yloc>
  699 + <draw>Y</draw>
  700 + </GUI>
  701 + </step>
  702 +
  703 + <step>
  704 + <name>&#x8fc7;&#x6ee4;&#x9a7e;&#x9a76;&#x5458;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</name>
  705 + <type>FilterRows</type>
  706 + <description/>
  707 + <distribute>Y</distribute>
  708 + <custom_distribution/>
  709 + <copies>1</copies>
  710 + <partitioning>
  711 + <method>none</method>
  712 + <schema_name/>
  713 + </partitioning>
  714 +<send_true_to>&#x552e;&#x7968;&#x5458;id&#x67e5;&#x627e;</send_true_to>
  715 +<send_false_to/>
  716 + <compare>
  717 +<condition>
  718 + <negated>N</negated>
  719 + <leftvalue>jid</leftvalue>
  720 + <function>IS NOT NULL</function>
  721 + <rightvalue/>
  722 + </condition>
  723 + </compare>
  724 + <cluster_schema/>
  725 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  726 + <xloc>604</xloc>
  727 + <yloc>46</yloc>
  728 + <draw>Y</draw>
  729 + </GUI>
  730 + </step>
  731 +
  732 + <step>
  733 + <name>&#x9519;&#x8bef;&#x8f93;&#x51fa;</name>
  734 + <type>ExcelOutput</type>
  735 + <description/>
  736 + <distribute>Y</distribute>
  737 + <custom_distribution/>
  738 + <copies>1</copies>
  739 + <partitioning>
  740 + <method>none</method>
  741 + <schema_name/>
  742 + </partitioning>
  743 + <header>Y</header>
  744 + <footer>N</footer>
  745 + <encoding>UTF-8</encoding>
  746 + <append>N</append>
  747 + <add_to_result_filenames>Y</add_to_result_filenames>
  748 + <file>
  749 + <name>&#x24;&#x7b;erroroutputdir&#x7d;&#x2f;&#x4eba;&#x5458;&#x914d;&#x7f6e;_&#x9519;&#x8bef;</name>
  750 + <extention>xls</extention>
  751 + <do_not_open_newfile_init>N</do_not_open_newfile_init>
  752 + <create_parent_folder>N</create_parent_folder>
  753 + <split>N</split>
  754 + <add_date>N</add_date>
  755 + <add_time>N</add_time>
  756 + <SpecifyFormat>N</SpecifyFormat>
  757 + <date_time_format/>
  758 + <sheetname>Sheet1</sheetname>
  759 + <autosizecolums>N</autosizecolums>
  760 + <nullisblank>N</nullisblank>
  761 + <protect_sheet>N</protect_sheet>
  762 + <password>Encrypted </password>
  763 + <splitevery>0</splitevery>
  764 + <usetempfiles>N</usetempfiles>
  765 + <tempdirectory/>
  766 + </file>
  767 + <template>
  768 + <enabled>N</enabled>
  769 + <append>N</append>
  770 + <filename>template.xls</filename>
  771 + </template>
  772 + <fields>
  773 + <field>
  774 + <name>&#x7ebf;&#x8def;</name>
  775 + <type>String</type>
  776 + <format/>
  777 + </field>
  778 + <field>
  779 + <name>&#x642d;&#x73ed;&#x7f16;&#x7801;</name>
  780 + <type>String</type>
  781 + <format/>
  782 + </field>
  783 + <field>
  784 + <name>&#x9a7e;&#x9a76;&#x5458;&#x5de5;&#x53f7;</name>
  785 + <type>String</type>
  786 + <format/>
  787 + </field>
  788 + <field>
  789 + <name>&#x9a7e;&#x9a76;&#x5458;</name>
  790 + <type>String</type>
  791 + <format/>
  792 + </field>
  793 + <field>
  794 + <name>&#x552e;&#x7968;&#x5458;&#x5de5;&#x53f7;</name>
  795 + <type>String</type>
  796 + <format/>
  797 + </field>
  798 + <field>
  799 + <name>&#x552e;&#x7968;&#x5458;</name>
  800 + <type>String</type>
  801 + <format/>
  802 + </field>
  803 + <field>
  804 + <name>isCancel</name>
  805 + <type>Integer</type>
  806 + <format/>
  807 + </field>
  808 + <field>
  809 + <name>xlid</name>
  810 + <type>Integer</type>
  811 + <format/>
  812 + </field>
  813 + <field>
  814 + <name>jid</name>
  815 + <type>Integer</type>
  816 + <format/>
  817 + </field>
  818 + <field>
  819 + <name>sid</name>
  820 + <type>Integer</type>
  821 + <format/>
  822 + </field>
  823 + <field>
  824 + <name>error_count</name>
  825 + <type>Integer</type>
  826 + <format/>
  827 + </field>
  828 + <field>
  829 + <name>error_desc</name>
  830 + <type>String</type>
  831 + <format/>
  832 + </field>
  833 + <field>
  834 + <name>error_column1</name>
  835 + <type>String</type>
  836 + <format/>
  837 + </field>
  838 + <field>
  839 + <name>error_column2</name>
  840 + <type>String</type>
  841 + <format/>
  842 + </field>
  843 + </fields>
  844 + <custom>
  845 + <header_font_name>arial</header_font_name>
  846 + <header_font_size>10</header_font_size>
  847 + <header_font_bold>N</header_font_bold>
  848 + <header_font_italic>N</header_font_italic>
  849 + <header_font_underline>no</header_font_underline>
  850 + <header_font_orientation>horizontal</header_font_orientation>
  851 + <header_font_color>black</header_font_color>
  852 + <header_background_color>none</header_background_color>
  853 + <header_row_height>255</header_row_height>
  854 + <header_alignment>left</header_alignment>
  855 + <header_image/>
  856 + <row_font_name>arial</row_font_name>
  857 + <row_font_size>10</row_font_size>
  858 + <row_font_color>black</row_font_color>
  859 + <row_background_color>none</row_background_color>
  860 + </custom>
  861 + <cluster_schema/>
  862 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  863 + <xloc>833</xloc>
  864 + <yloc>321</yloc>
  865 + <draw>Y</draw>
  866 + </GUI>
  867 + </step>
  868 +
  869 + <step>
  870 + <name>&#x9a7e;&#x9a76;&#x5458;id&#x67e5;&#x627e;</name>
  871 + <type>DBJoin</type>
  872 + <description/>
  873 + <distribute>Y</distribute>
  874 + <custom_distribution/>
  875 + <copies>1</copies>
  876 + <partitioning>
  877 + <method>none</method>
  878 + <schema_name/>
  879 + </partitioning>
  880 + <connection>bus_control_variable</connection>
  881 + <rowlimit>1</rowlimit>
  882 + <sql>select id as jid from bsth_c_personnel&#xa;where job_codeori &#x3d; &#x3f; and personnel_name &#x3d; &#x3f;</sql>
  883 + <outer_join>Y</outer_join>
  884 + <replace_vars>N</replace_vars>
  885 + <parameter>
  886 + <field>
  887 + <name>&#x9a7e;&#x9a76;&#x5458;&#x5de5;&#x53f7;</name>
  888 + <type>String</type>
  889 + </field>
  890 + <field>
  891 + <name>&#x9a7e;&#x9a76;&#x5458;</name>
  892 + <type>String</type>
  893 + </field>
  894 + </parameter>
  895 + <cluster_schema/>
  896 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  897 + <xloc>603</xloc>
  898 + <yloc>142</yloc>
  899 + <draw>Y</draw>
  900 + </GUI>
  901 + </step>
  902 +
  903 + <step_error_handling>
  904 + <error>
  905 + <source_step>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ecinfo</source_step>
  906 + <target_step>&#x9519;&#x8bef;&#x8f93;&#x51fa;</target_step>
  907 + <is_enabled>Y</is_enabled>
  908 + <nr_valuename>error_count</nr_valuename>
  909 + <descriptions_valuename>error_desc</descriptions_valuename>
  910 + <fields_valuename>error_column1</fields_valuename>
  911 + <codes_valuename>error_column2</codes_valuename>
  912 + <max_errors/>
  913 + <max_pct_errors/>
  914 + <min_pct_rows/>
  915 + </error>
  916 + </step_error_handling>
  917 + <slave-step-copy-partition-distribution>
  918 +</slave-step-copy-partition-distribution>
  919 + <slave_transformation>N</slave_transformation>
  920 +
  921 +</transformation>
... ...
src/main/resources/datatools/ktrs/employeesConfigDataOutput.ktr
1   -<?xml version="1.0" encoding="UTF-8"?>
2   -<transformation>
3   - <info>
4   - <name>&#x4eba;&#x5458;&#x914d;&#x7f6e;&#x4fe1;&#x606f;&#x5bfc;&#x51fa;</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>filepath</name>
14   - <default_value/>
15   - <description>excel&#x6587;&#x4ef6;&#x8def;&#x5f84;</description>
16   - </parameter>
17   - <parameter>
18   - <name>xlid</name>
19   - <default_value/>
20   - <description>&#x7ebf;&#x8def;id</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;11 15&#x3a;36&#x3a;10.101</created_date>
81   - <modified_user>-</modified_user>
82   - <modified_date>2017&#x2f;01&#x2f;11 15&#x3a;36&#x3a;10.101</modified_date>
83   - <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</key_for_session_key>
84   - <is_key_private>N</is_key_private>
85   - </info>
86   - <notepads>
87   - <notepad>
88   - <note>&#x8fd9;&#x91cc;&#x6709;&#x4e9b;&#x95ee;&#x9898;&#xa;&#x5728;window2012&#x7684;&#x73af;&#x5883;&#x4e0b;&#xff0c;&#xa;MySql&#x6570;&#x636e;&#x5e93;&#x67e5;&#x8be2;&#x4e2d;&#x5982;&#x679c;&#x8fd4;&#x56de;&#x4e2d;&#x6587;&#x5185;&#x5bb9;&#x7684;&#x5b57;&#x6bb5;&#xff0c;&#x8fd9;&#x4e2a;&#x5185;&#x5bb9;&#x4e71;&#x7801;&#xa;&#x89e3;&#x51b3;&#x529e;&#x6cd5;&#xff0c;&#x5c31;&#x662f;&#x6570;&#x636e;&#x5e93;&#x67e5;&#x8be2;&#x5168;&#x90e8;&#x7f13;&#x5b58;&#xff0c;&#x5c31;&#x4e0d;&#x4e71;&#x7801;&#xa;linux&#x73af;&#x5883;&#x4e0b;&#x6ca1;&#x95ee;&#x9898;</note>
89   - <xloc>66</xloc>
90   - <yloc>151</yloc>
91   - <width>333</width>
92   - <heigth>90</heigth>
93   - <fontname>YaHei Consolas Hybrid</fontname>
94   - <fontsize>12</fontsize>
95   - <fontbold>N</fontbold>
96   - <fontitalic>N</fontitalic>
97   - <fontcolorred>0</fontcolorred>
98   - <fontcolorgreen>0</fontcolorgreen>
99   - <fontcolorblue>0</fontcolorblue>
100   - <backgroundcolorred>255</backgroundcolorred>
101   - <backgroundcolorgreen>205</backgroundcolorgreen>
102   - <backgroundcolorblue>112</backgroundcolorblue>
103   - <bordercolorred>100</bordercolorred>
104   - <bordercolorgreen>100</bordercolorgreen>
105   - <bordercolorblue>100</bordercolorblue>
106   - <drawshadow>Y</drawshadow>
107   - </notepad>
108   - </notepads>
109   - <connection>
110   - <name>192.168.168.1_jwgl_dw</name>
111   - <server>192.168.168.1</server>
112   - <type>ORACLE</type>
113   - <access>Native</access>
114   - <database>orcl</database>
115   - <port>1521</port>
116   - <username>jwgl_dw</username>
117   - <password>Encrypted 2be98afc86aa7f2e4cb13b977d2adabcd</password>
118   - <servername/>
119   - <data_tablespace/>
120   - <index_tablespace/>
121   - <attributes>
122   - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
123   - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
124   - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
125   - <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
126   - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
127   - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
128   - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
129   - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
130   - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
131   - </attributes>
132   - </connection>
133   - <connection>
134   - <name>bus_control_variable</name>
135   - <server>&#x24;&#x7b;v_db_ip&#x7d;</server>
136   - <type>MYSQL</type>
137   - <access>Native</access>
138   - <database>&#x24;&#x7b;v_db_dname&#x7d;</database>
139   - <port>3306</port>
140   - <username>&#x24;&#x7b;v_db_uname&#x7d;</username>
141   - <password>&#x24;&#x7b;v_db_pwd&#x7d;</password>
142   - <servername/>
143   - <data_tablespace/>
144   - <index_tablespace/>
145   - <attributes>
146   - <attribute><code>EXTRA_OPTION_MYSQL.characterEncoding</code><attribute>utf8</attribute></attribute>
147   - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
148   - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
149   - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
150   - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
151   - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
152   - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
153   - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
154   - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
155   - <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
156   - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
157   - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
158   - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
159   - </attributes>
160   - </connection>
161   - <connection>
162   - <name>bus_control_&#x516c;&#x53f8;_201</name>
163   - <server>localhost</server>
164   - <type>MYSQL</type>
165   - <access>Native</access>
166   - <database>control</database>
167   - <port>3306</port>
168   - <username>root</username>
169   - <password>Encrypted </password>
170   - <servername/>
171   - <data_tablespace/>
172   - <index_tablespace/>
173   - <attributes>
174   - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
175   - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
176   - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
177   - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
178   - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
179   - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
180   - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
181   - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
182   - <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
183   - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
184   - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
185   - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
186   - </attributes>
187   - </connection>
188   - <connection>
189   - <name>bus_control_&#x672c;&#x673a;</name>
190   - <server>localhost</server>
191   - <type>MYSQL</type>
192   - <access>Native</access>
193   - <database>control</database>
194   - <port>3306</port>
195   - <username>root</username>
196   - <password>Encrypted </password>
197   - <servername/>
198   - <data_tablespace/>
199   - <index_tablespace/>
200   - <attributes>
201   - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
202   - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
203   - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
204   - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
205   - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
206   - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
207   - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
208   - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
209   - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
210   - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
211   - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
212   - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
213   - </attributes>
214   - </connection>
215   - <connection>
216   - <name>xlab_mysql_youle</name>
217   - <server>101.231.124.8</server>
218   - <type>MYSQL</type>
219   - <access>Native</access>
220   - <database>xlab_youle</database>
221   - <port>45687</port>
222   - <username>xlab-youle</username>
223   - <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password>
224   - <servername/>
225   - <data_tablespace/>
226   - <index_tablespace/>
227   - <attributes>
228   - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
229   - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
230   - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
231   - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
232   - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
233   - <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute>
234   - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
235   - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
236   - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
237   - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
238   - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
239   - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
240   - </attributes>
241   - </connection>
242   - <connection>
243   - <name>xlab_mysql_youle&#xff08;&#x672c;&#x673a;&#xff09;</name>
244   - <server>localhost</server>
245   - <type>MYSQL</type>
246   - <access>Native</access>
247   - <database>xlab_youle</database>
248   - <port>3306</port>
249   - <username>root</username>
250   - <password>Encrypted </password>
251   - <servername/>
252   - <data_tablespace/>
253   - <index_tablespace/>
254   - <attributes>
255   - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
256   - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
257   - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
258   - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
259   - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
260   - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
261   - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
262   - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
263   - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
264   - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
265   - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
266   - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
267   - </attributes>
268   - </connection>
269   - <connection>
270   - <name>xlab_youle</name>
271   - <server/>
272   - <type>MYSQL</type>
273   - <access>JNDI</access>
274   - <database>xlab_youle</database>
275   - <port>1521</port>
276   - <username/>
277   - <password>Encrypted </password>
278   - <servername/>
279   - <data_tablespace/>
280   - <index_tablespace/>
281   - <attributes>
282   - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
283   - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
284   - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
285   - <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
286   - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
287   - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
288   - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
289   - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
290   - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
291   - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
292   - </attributes>
293   - </connection>
294   - <order>
295   - <hop> <from>&#x4eba;&#x5458;&#x914d;&#x7f6e;&#xff08;&#x6ca1;&#x6709;&#x4f5c;&#x5e9f;&#xff09;</from><to>&#x7ebf;&#x8def;&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>
296   - <hop> <from>&#x7ebf;&#x8def;&#x67e5;&#x8be2;</from><to>&#x9a7e;&#x9a76;&#x5458;&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>
297   - <hop> <from>&#x9a7e;&#x9a76;&#x5458;&#x67e5;&#x8be2;</from><to>&#x552e;&#x7968;&#x5458;&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>
298   - <hop> <from>&#x552e;&#x7968;&#x5458;&#x67e5;&#x8be2;</from><to>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</to><enabled>Y</enabled> </hop>
299   - <hop> <from>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</from><to>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>
300   - <hop> <from>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</from><to>Excel&#x8f93;&#x51fa;</to><enabled>Y</enabled> </hop>
301   - </order>
302   - <step>
303   - <name>Excel&#x8f93;&#x51fa;</name>
304   - <type>ExcelOutput</type>
305   - <description/>
306   - <distribute>Y</distribute>
307   - <custom_distribution/>
308   - <copies>1</copies>
309   - <partitioning>
310   - <method>none</method>
311   - <schema_name/>
312   - </partitioning>
313   - <header>Y</header>
314   - <footer>N</footer>
315   - <encoding/>
316   - <append>N</append>
317   - <add_to_result_filenames>Y</add_to_result_filenames>
318   - <file>
319   - <name>&#x24;&#x7b;filepath&#x7d;</name>
320   - <extention>xls</extention>
321   - <do_not_open_newfile_init>N</do_not_open_newfile_init>
322   - <create_parent_folder>N</create_parent_folder>
323   - <split>N</split>
324   - <add_date>N</add_date>
325   - <add_time>N</add_time>
326   - <SpecifyFormat>N</SpecifyFormat>
327   - <date_time_format>yyyyMMddHHmmss</date_time_format>
328   - <sheetname>&#x5de5;&#x4f5c;&#x8868;1</sheetname>
329   - <autosizecolums>N</autosizecolums>
330   - <nullisblank>N</nullisblank>
331   - <protect_sheet>N</protect_sheet>
332   - <password>Encrypted </password>
333   - <splitevery>0</splitevery>
334   - <usetempfiles>N</usetempfiles>
335   - <tempdirectory/>
336   - </file>
337   - <template>
338   - <enabled>N</enabled>
339   - <append>N</append>
340   - <filename>template.xls</filename>
341   - </template>
342   - <fields>
343   - <field>
344   - <name>&#x7ebf;&#x8def;</name>
345   - <type>String</type>
346   - <format/>
347   - </field>
348   - <field>
349   - <name>&#x642d;&#x73ed;&#x7f16;&#x7801;</name>
350   - <type>String</type>
351   - <format/>
352   - </field>
353   - <field>
354   - <name>&#x9a7e;&#x9a76;&#x5458;&#x5de5;&#x53f7;</name>
355   - <type>String</type>
356   - <format/>
357   - </field>
358   - <field>
359   - <name>&#x9a7e;&#x9a76;&#x5458;</name>
360   - <type>String</type>
361   - <format/>
362   - </field>
363   - <field>
364   - <name>&#x552e;&#x7968;&#x5458;&#x5de5;&#x53f7;</name>
365   - <type>String</type>
366   - <format/>
367   - </field>
368   - <field>
369   - <name>&#x552e;&#x7968;&#x5458;</name>
370   - <type>String</type>
371   - <format/>
372   - </field>
373   - </fields>
374   - <custom>
375   - <header_font_name>arial</header_font_name>
376   - <header_font_size>10</header_font_size>
377   - <header_font_bold>N</header_font_bold>
378   - <header_font_italic>N</header_font_italic>
379   - <header_font_underline>no</header_font_underline>
380   - <header_font_orientation>horizontal</header_font_orientation>
381   - <header_font_color>black</header_font_color>
382   - <header_background_color>none</header_background_color>
383   - <header_row_height>255</header_row_height>
384   - <header_alignment>left</header_alignment>
385   - <header_image/>
386   - <row_font_name>arial</row_font_name>
387   - <row_font_size>10</row_font_size>
388   - <row_font_color>black</row_font_color>
389   - <row_background_color>none</row_background_color>
390   - </custom>
391   - <cluster_schema/>
392   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
393   - <xloc>696</xloc>
394   - <yloc>257</yloc>
395   - <draw>Y</draw>
396   - </GUI>
397   - </step>
398   -
399   - <step>
400   - <name>&#x4eba;&#x5458;&#x914d;&#x7f6e;&#xff08;&#x6ca1;&#x6709;&#x4f5c;&#x5e9f;&#xff09;</name>
401   - <type>TableInput</type>
402   - <description/>
403   - <distribute>Y</distribute>
404   - <custom_distribution/>
405   - <copies>1</copies>
406   - <partitioning>
407   - <method>none</method>
408   - <schema_name/>
409   - </partitioning>
410   - <connection>bus_control_variable</connection>
411   - <sql>select &#x2a; from bsth_c_s_ecinfo where is_cancel &#x3d; 0 and xl &#x3d; &#x24;&#x7b;xlid&#x7d;</sql>
412   - <limit>0</limit>
413   - <lookup/>
414   - <execute_each_row>N</execute_each_row>
415   - <variables_active>Y</variables_active>
416   - <lazy_conversion_active>N</lazy_conversion_active>
417   - <cluster_schema/>
418   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
419   - <xloc>90</xloc>
420   - <yloc>59</yloc>
421   - <draw>Y</draw>
422   - </GUI>
423   - </step>
424   -
425   - <step>
426   - <name>&#x552e;&#x7968;&#x5458;&#x67e5;&#x8be2;</name>
427   - <type>DBJoin</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   - <rowlimit>1</rowlimit>
438   - <sql>select job_code as scode, personnel_name as sname from bsth_c_personnel&#xa;where id &#x3d; &#x3f;</sql>
439   - <outer_join>Y</outer_join>
440   - <replace_vars>N</replace_vars>
441   - <parameter>
442   - <field>
443   - <name>spy</name>
444   - <type>Integer</type>
445   - </field>
446   - </parameter>
447   - <cluster_schema/>
448   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
449   - <xloc>491</xloc>
450   - <yloc>60</yloc>
451   - <draw>Y</draw>
452   - </GUI>
453   - </step>
454   -
455   - <step>
456   - <name>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</name>
457   - <type>SelectValues</type>
458   - <description/>
459   - <distribute>Y</distribute>
460   - <custom_distribution/>
461   - <copies>1</copies>
462   - <partitioning>
463   - <method>none</method>
464   - <schema_name/>
465   - </partitioning>
466   - <fields> <field> <name>xlmc</name>
467   - <rename>&#x7ebf;&#x8def;</rename>
468   - <length>-2</length>
469   - <precision>-2</precision>
470   - </field> <field> <name>dbbm</name>
471   - <rename>&#x642d;&#x73ed;&#x7f16;&#x7801;</rename>
472   - <length>-2</length>
473   - <precision>-2</precision>
474   - </field> <field> <name>jcode</name>
475   - <rename>&#x9a7e;&#x9a76;&#x5458;&#x5de5;&#x53f7;</rename>
476   - <length>-2</length>
477   - <precision>-2</precision>
478   - </field> <field> <name>jname</name>
479   - <rename>&#x9a7e;&#x9a76;&#x5458;</rename>
480   - <length>-2</length>
481   - <precision>-2</precision>
482   - </field> <field> <name>scode</name>
483   - <rename>&#x552e;&#x7968;&#x5458;&#x5de5;&#x53f7;</rename>
484   - <length>-2</length>
485   - <precision>-2</precision>
486   - </field> <field> <name>sname</name>
487   - <rename>&#x552e;&#x7968;&#x5458;</rename>
488   - <length>-2</length>
489   - <precision>-2</precision>
490   - </field> <select_unspecified>N</select_unspecified>
491   - </fields> <cluster_schema/>
492   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
493   - <xloc>492</xloc>
494   - <yloc>164</yloc>
495   - <draw>Y</draw>
496   - </GUI>
497   - </step>
498   -
499   - <step>
500   - <name>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</name>
501   - <type>SortRows</type>
502   - <description/>
503   - <distribute>Y</distribute>
504   - <custom_distribution/>
505   - <copies>1</copies>
506   - <partitioning>
507   - <method>none</method>
508   - <schema_name/>
509   - </partitioning>
510   - <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
511   - <prefix>out</prefix>
512   - <sort_size>1000000</sort_size>
513   - <free_memory/>
514   - <compress>N</compress>
515   - <compress_variable/>
516   - <unique_rows>N</unique_rows>
517   - <fields>
518   - <field>
519   - <name>&#x7ebf;&#x8def;</name>
520   - <ascending>Y</ascending>
521   - <case_sensitive>N</case_sensitive>
522   - <presorted>N</presorted>
523   - </field>
524   - <field>
525   - <name>&#x642d;&#x73ed;&#x7f16;&#x7801;</name>
526   - <ascending>Y</ascending>
527   - <case_sensitive>N</case_sensitive>
528   - <presorted>N</presorted>
529   - </field>
530   - </fields>
531   - <cluster_schema/>
532   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
533   - <xloc>692</xloc>
534   - <yloc>164</yloc>
535   - <draw>Y</draw>
536   - </GUI>
537   - </step>
538   -
539   - <step>
540   - <name>&#x7ebf;&#x8def;&#x67e5;&#x8be2;</name>
541   - <type>DBLookup</type>
542   - <description/>
543   - <distribute>Y</distribute>
544   - <custom_distribution/>
545   - <copies>1</copies>
546   - <partitioning>
547   - <method>none</method>
548   - <schema_name/>
549   - </partitioning>
550   - <connection>bus_control_variable</connection>
551   - <cache>Y</cache>
552   - <cache_load_all>Y</cache_load_all>
553   - <cache_size>0</cache_size>
554   - <lookup>
555   - <schema/>
556   - <table>bsth_c_line</table>
557   - <orderby/>
558   - <fail_on_multiple>N</fail_on_multiple>
559   - <eat_row_on_failure>N</eat_row_on_failure>
560   - <key>
561   - <name>xl</name>
562   - <field>id</field>
563   - <condition>&#x3d;</condition>
564   - <name2/>
565   - </key>
566   - <value>
567   - <name>name</name>
568   - <rename>xlmc</rename>
569   - <default/>
570   - <type>String</type>
571   - </value>
572   - </lookup>
573   - <cluster_schema/>
574   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
575   - <xloc>227</xloc>
576   - <yloc>59</yloc>
577   - <draw>Y</draw>
578   - </GUI>
579   - </step>
580   -
581   - <step>
582   - <name>&#x9a7e;&#x9a76;&#x5458;&#x67e5;&#x8be2;</name>
583   - <type>DBJoin</type>
584   - <description/>
585   - <distribute>Y</distribute>
586   - <custom_distribution/>
587   - <copies>1</copies>
588   - <partitioning>
589   - <method>none</method>
590   - <schema_name/>
591   - </partitioning>
592   - <connection>bus_control_variable</connection>
593   - <rowlimit>1</rowlimit>
594   - <sql>select job_code as jcode, personnel_name as jname from bsth_c_personnel&#xa;where id &#x3d; &#x3f;</sql>
595   - <outer_join>Y</outer_join>
596   - <replace_vars>N</replace_vars>
597   - <parameter>
598   - <field>
599   - <name>jsy</name>
600   - <type>Integer</type>
601   - </field>
602   - </parameter>
603   - <cluster_schema/>
604   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
605   - <xloc>366</xloc>
606   - <yloc>60</yloc>
607   - <draw>Y</draw>
608   - </GUI>
609   - </step>
610   -
611   - <step_error_handling>
612   - </step_error_handling>
613   - <slave-step-copy-partition-distribution>
614   -</slave-step-copy-partition-distribution>
615   - <slave_transformation>N</slave_transformation>
616   -
617   -</transformation>
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<transformation>
  3 + <info>
  4 + <name>&#x4eba;&#x5458;&#x914d;&#x7f6e;&#x4fe1;&#x606f;&#x5bfc;&#x51fa;</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>filepath</name>
  14 + <default_value/>
  15 + <description>excel&#x6587;&#x4ef6;&#x8def;&#x5f84;</description>
  16 + </parameter>
  17 + <parameter>
  18 + <name>xlid</name>
  19 + <default_value/>
  20 + <description>&#x7ebf;&#x8def;id</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;11 15&#x3a;36&#x3a;10.101</created_date>
  81 + <modified_user>-</modified_user>
  82 + <modified_date>2017&#x2f;01&#x2f;11 15&#x3a;36&#x3a;10.101</modified_date>
  83 + <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</key_for_session_key>
  84 + <is_key_private>N</is_key_private>
  85 + </info>
  86 + <notepads>
  87 + <notepad>
  88 + <note>&#x8fd9;&#x91cc;&#x6709;&#x4e9b;&#x95ee;&#x9898;&#xa;&#x5728;window2012&#x7684;&#x73af;&#x5883;&#x4e0b;&#xff0c;&#xa;MySql&#x6570;&#x636e;&#x5e93;&#x67e5;&#x8be2;&#x4e2d;&#x5982;&#x679c;&#x8fd4;&#x56de;&#x4e2d;&#x6587;&#x5185;&#x5bb9;&#x7684;&#x5b57;&#x6bb5;&#xff0c;&#x8fd9;&#x4e2a;&#x5185;&#x5bb9;&#x4e71;&#x7801;&#xa;&#x89e3;&#x51b3;&#x529e;&#x6cd5;&#xff0c;&#x5c31;&#x662f;&#x6570;&#x636e;&#x5e93;&#x67e5;&#x8be2;&#x5168;&#x90e8;&#x7f13;&#x5b58;&#xff0c;&#x5c31;&#x4e0d;&#x4e71;&#x7801;&#xa;linux&#x73af;&#x5883;&#x4e0b;&#x6ca1;&#x95ee;&#x9898;</note>
  89 + <xloc>66</xloc>
  90 + <yloc>151</yloc>
  91 + <width>333</width>
  92 + <heigth>90</heigth>
  93 + <fontname>YaHei Consolas Hybrid</fontname>
  94 + <fontsize>12</fontsize>
  95 + <fontbold>N</fontbold>
  96 + <fontitalic>N</fontitalic>
  97 + <fontcolorred>0</fontcolorred>
  98 + <fontcolorgreen>0</fontcolorgreen>
  99 + <fontcolorblue>0</fontcolorblue>
  100 + <backgroundcolorred>255</backgroundcolorred>
  101 + <backgroundcolorgreen>205</backgroundcolorgreen>
  102 + <backgroundcolorblue>112</backgroundcolorblue>
  103 + <bordercolorred>100</bordercolorred>
  104 + <bordercolorgreen>100</bordercolorgreen>
  105 + <bordercolorblue>100</bordercolorblue>
  106 + <drawshadow>Y</drawshadow>
  107 + </notepad>
  108 + </notepads>
  109 + <connection>
  110 + <name>192.168.168.1_jwgl_dw</name>
  111 + <server>192.168.168.1</server>
  112 + <type>ORACLE</type>
  113 + <access>Native</access>
  114 + <database>orcl</database>
  115 + <port>1521</port>
  116 + <username>jwgl_dw</username>
  117 + <password>Encrypted 2be98afc86aa7f2e4cb13b977d2adabcd</password>
  118 + <servername/>
  119 + <data_tablespace/>
  120 + <index_tablespace/>
  121 + <attributes>
  122 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  123 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  124 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  125 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  126 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  127 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  128 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  129 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  130 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  131 + </attributes>
  132 + </connection>
  133 + <connection>
  134 + <name>bus_control_variable</name>
  135 + <server>&#x24;&#x7b;v_db_ip&#x7d;</server>
  136 + <type>MYSQL</type>
  137 + <access>Native</access>
  138 + <database>&#x24;&#x7b;v_db_dname&#x7d;</database>
  139 + <port>3306</port>
  140 + <username>&#x24;&#x7b;v_db_uname&#x7d;</username>
  141 + <password>&#x24;&#x7b;v_db_pwd&#x7d;</password>
  142 + <servername/>
  143 + <data_tablespace/>
  144 + <index_tablespace/>
  145 + <attributes>
  146 + <attribute><code>EXTRA_OPTION_MYSQL.characterEncoding</code><attribute>utf8</attribute></attribute>
  147 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  148 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  149 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  150 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  151 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  152 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  153 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  154 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  155 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  156 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  157 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  158 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  159 + </attributes>
  160 + </connection>
  161 + <connection>
  162 + <name>bus_control_&#x516c;&#x53f8;_201</name>
  163 + <server>localhost</server>
  164 + <type>MYSQL</type>
  165 + <access>Native</access>
  166 + <database>control</database>
  167 + <port>3306</port>
  168 + <username>root</username>
  169 + <password>Encrypted </password>
  170 + <servername/>
  171 + <data_tablespace/>
  172 + <index_tablespace/>
  173 + <attributes>
  174 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  175 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  176 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  177 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  178 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  179 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  180 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  181 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  182 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  183 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  184 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  185 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  186 + </attributes>
  187 + </connection>
  188 + <connection>
  189 + <name>bus_control_&#x672c;&#x673a;</name>
  190 + <server>localhost</server>
  191 + <type>MYSQL</type>
  192 + <access>Native</access>
  193 + <database>control</database>
  194 + <port>3306</port>
  195 + <username>root</username>
  196 + <password>Encrypted </password>
  197 + <servername/>
  198 + <data_tablespace/>
  199 + <index_tablespace/>
  200 + <attributes>
  201 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  202 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  203 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  204 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  205 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  206 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  207 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  208 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  209 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  210 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  211 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  212 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  213 + </attributes>
  214 + </connection>
  215 + <connection>
  216 + <name>xlab_mysql_youle</name>
  217 + <server>101.231.124.8</server>
  218 + <type>MYSQL</type>
  219 + <access>Native</access>
  220 + <database>xlab_youle</database>
  221 + <port>45687</port>
  222 + <username>xlab-youle</username>
  223 + <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password>
  224 + <servername/>
  225 + <data_tablespace/>
  226 + <index_tablespace/>
  227 + <attributes>
  228 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  229 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  230 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  231 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  232 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  233 + <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute>
  234 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  235 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  236 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  237 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  238 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  239 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  240 + </attributes>
  241 + </connection>
  242 + <connection>
  243 + <name>xlab_mysql_youle&#xff08;&#x672c;&#x673a;&#xff09;</name>
  244 + <server>localhost</server>
  245 + <type>MYSQL</type>
  246 + <access>Native</access>
  247 + <database>xlab_youle</database>
  248 + <port>3306</port>
  249 + <username>root</username>
  250 + <password>Encrypted </password>
  251 + <servername/>
  252 + <data_tablespace/>
  253 + <index_tablespace/>
  254 + <attributes>
  255 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  256 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  257 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  258 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  259 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  260 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  261 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  262 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  263 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  264 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  265 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  266 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  267 + </attributes>
  268 + </connection>
  269 + <connection>
  270 + <name>xlab_youle</name>
  271 + <server/>
  272 + <type>MYSQL</type>
  273 + <access>JNDI</access>
  274 + <database>xlab_youle</database>
  275 + <port>1521</port>
  276 + <username/>
  277 + <password>Encrypted </password>
  278 + <servername/>
  279 + <data_tablespace/>
  280 + <index_tablespace/>
  281 + <attributes>
  282 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  283 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  284 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  285 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  286 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  287 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  288 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  289 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  290 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  291 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  292 + </attributes>
  293 + </connection>
  294 + <order>
  295 + <hop> <from>&#x4eba;&#x5458;&#x914d;&#x7f6e;&#xff08;&#x6ca1;&#x6709;&#x4f5c;&#x5e9f;&#xff09;</from><to>&#x7ebf;&#x8def;&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>
  296 + <hop> <from>&#x7ebf;&#x8def;&#x67e5;&#x8be2;</from><to>&#x9a7e;&#x9a76;&#x5458;&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>
  297 + <hop> <from>&#x9a7e;&#x9a76;&#x5458;&#x67e5;&#x8be2;</from><to>&#x552e;&#x7968;&#x5458;&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>
  298 + <hop> <from>&#x552e;&#x7968;&#x5458;&#x67e5;&#x8be2;</from><to>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</to><enabled>Y</enabled> </hop>
  299 + <hop> <from>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</from><to>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>
  300 + <hop> <from>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</from><to>Excel&#x8f93;&#x51fa;</to><enabled>Y</enabled> </hop>
  301 + </order>
  302 + <step>
  303 + <name>Excel&#x8f93;&#x51fa;</name>
  304 + <type>ExcelOutput</type>
  305 + <description/>
  306 + <distribute>Y</distribute>
  307 + <custom_distribution/>
  308 + <copies>1</copies>
  309 + <partitioning>
  310 + <method>none</method>
  311 + <schema_name/>
  312 + </partitioning>
  313 + <header>Y</header>
  314 + <footer>N</footer>
  315 + <encoding/>
  316 + <append>N</append>
  317 + <add_to_result_filenames>Y</add_to_result_filenames>
  318 + <file>
  319 + <name>&#x24;&#x7b;filepath&#x7d;</name>
  320 + <extention>xls</extention>
  321 + <do_not_open_newfile_init>N</do_not_open_newfile_init>
  322 + <create_parent_folder>N</create_parent_folder>
  323 + <split>N</split>
  324 + <add_date>N</add_date>
  325 + <add_time>N</add_time>
  326 + <SpecifyFormat>N</SpecifyFormat>
  327 + <date_time_format>yyyyMMddHHmmss</date_time_format>
  328 + <sheetname>&#x5de5;&#x4f5c;&#x8868;1</sheetname>
  329 + <autosizecolums>N</autosizecolums>
  330 + <nullisblank>N</nullisblank>
  331 + <protect_sheet>N</protect_sheet>
  332 + <password>Encrypted </password>
  333 + <splitevery>0</splitevery>
  334 + <usetempfiles>N</usetempfiles>
  335 + <tempdirectory/>
  336 + </file>
  337 + <template>
  338 + <enabled>N</enabled>
  339 + <append>N</append>
  340 + <filename>template.xls</filename>
  341 + </template>
  342 + <fields>
  343 + <field>
  344 + <name>&#x7ebf;&#x8def;</name>
  345 + <type>String</type>
  346 + <format/>
  347 + </field>
  348 + <field>
  349 + <name>&#x642d;&#x73ed;&#x7f16;&#x7801;</name>
  350 + <type>String</type>
  351 + <format/>
  352 + </field>
  353 + <field>
  354 + <name>&#x9a7e;&#x9a76;&#x5458;&#x5de5;&#x53f7;</name>
  355 + <type>String</type>
  356 + <format/>
  357 + </field>
  358 + <field>
  359 + <name>&#x9a7e;&#x9a76;&#x5458;</name>
  360 + <type>String</type>
  361 + <format/>
  362 + </field>
  363 + <field>
  364 + <name>&#x552e;&#x7968;&#x5458;&#x5de5;&#x53f7;</name>
  365 + <type>String</type>
  366 + <format/>
  367 + </field>
  368 + <field>
  369 + <name>&#x552e;&#x7968;&#x5458;</name>
  370 + <type>String</type>
  371 + <format/>
  372 + </field>
  373 + </fields>
  374 + <custom>
  375 + <header_font_name>arial</header_font_name>
  376 + <header_font_size>10</header_font_size>
  377 + <header_font_bold>N</header_font_bold>
  378 + <header_font_italic>N</header_font_italic>
  379 + <header_font_underline>no</header_font_underline>
  380 + <header_font_orientation>horizontal</header_font_orientation>
  381 + <header_font_color>black</header_font_color>
  382 + <header_background_color>none</header_background_color>
  383 + <header_row_height>255</header_row_height>
  384 + <header_alignment>left</header_alignment>
  385 + <header_image/>
  386 + <row_font_name>arial</row_font_name>
  387 + <row_font_size>10</row_font_size>
  388 + <row_font_color>black</row_font_color>
  389 + <row_background_color>none</row_background_color>
  390 + </custom>
  391 + <cluster_schema/>
  392 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  393 + <xloc>696</xloc>
  394 + <yloc>257</yloc>
  395 + <draw>Y</draw>
  396 + </GUI>
  397 + </step>
  398 +
  399 + <step>
  400 + <name>&#x4eba;&#x5458;&#x914d;&#x7f6e;&#xff08;&#x6ca1;&#x6709;&#x4f5c;&#x5e9f;&#xff09;</name>
  401 + <type>TableInput</type>
  402 + <description/>
  403 + <distribute>Y</distribute>
  404 + <custom_distribution/>
  405 + <copies>1</copies>
  406 + <partitioning>
  407 + <method>none</method>
  408 + <schema_name/>
  409 + </partitioning>
  410 + <connection>bus_control_variable</connection>
  411 + <sql>select &#x2a; from bsth_c_s_ecinfo where is_cancel &#x3d; 0 and xl &#x3d; &#x24;&#x7b;xlid&#x7d;</sql>
  412 + <limit>0</limit>
  413 + <lookup/>
  414 + <execute_each_row>N</execute_each_row>
  415 + <variables_active>Y</variables_active>
  416 + <lazy_conversion_active>N</lazy_conversion_active>
  417 + <cluster_schema/>
  418 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  419 + <xloc>90</xloc>
  420 + <yloc>59</yloc>
  421 + <draw>Y</draw>
  422 + </GUI>
  423 + </step>
  424 +
  425 + <step>
  426 + <name>&#x552e;&#x7968;&#x5458;&#x67e5;&#x8be2;</name>
  427 + <type>DBJoin</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 + <rowlimit>1</rowlimit>
  438 + <sql>select job_codeori as scode, personnel_name as sname from bsth_c_personnel&#xa;where id &#x3d; &#x3f;</sql>
  439 + <outer_join>Y</outer_join>
  440 + <replace_vars>N</replace_vars>
  441 + <parameter>
  442 + <field>
  443 + <name>spy</name>
  444 + <type>Integer</type>
  445 + </field>
  446 + </parameter>
  447 + <cluster_schema/>
  448 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  449 + <xloc>491</xloc>
  450 + <yloc>60</yloc>
  451 + <draw>Y</draw>
  452 + </GUI>
  453 + </step>
  454 +
  455 + <step>
  456 + <name>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</name>
  457 + <type>SelectValues</type>
  458 + <description/>
  459 + <distribute>Y</distribute>
  460 + <custom_distribution/>
  461 + <copies>1</copies>
  462 + <partitioning>
  463 + <method>none</method>
  464 + <schema_name/>
  465 + </partitioning>
  466 + <fields> <field> <name>xlmc</name>
  467 + <rename>&#x7ebf;&#x8def;</rename>
  468 + <length>-2</length>
  469 + <precision>-2</precision>
  470 + </field> <field> <name>dbbm</name>
  471 + <rename>&#x642d;&#x73ed;&#x7f16;&#x7801;</rename>
  472 + <length>-2</length>
  473 + <precision>-2</precision>
  474 + </field> <field> <name>jcode</name>
  475 + <rename>&#x9a7e;&#x9a76;&#x5458;&#x5de5;&#x53f7;</rename>
  476 + <length>-2</length>
  477 + <precision>-2</precision>
  478 + </field> <field> <name>jname</name>
  479 + <rename>&#x9a7e;&#x9a76;&#x5458;</rename>
  480 + <length>-2</length>
  481 + <precision>-2</precision>
  482 + </field> <field> <name>scode</name>
  483 + <rename>&#x552e;&#x7968;&#x5458;&#x5de5;&#x53f7;</rename>
  484 + <length>-2</length>
  485 + <precision>-2</precision>
  486 + </field> <field> <name>sname</name>
  487 + <rename>&#x552e;&#x7968;&#x5458;</rename>
  488 + <length>-2</length>
  489 + <precision>-2</precision>
  490 + </field> <select_unspecified>N</select_unspecified>
  491 + </fields> <cluster_schema/>
  492 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  493 + <xloc>492</xloc>
  494 + <yloc>164</yloc>
  495 + <draw>Y</draw>
  496 + </GUI>
  497 + </step>
  498 +
  499 + <step>
  500 + <name>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</name>
  501 + <type>SortRows</type>
  502 + <description/>
  503 + <distribute>Y</distribute>
  504 + <custom_distribution/>
  505 + <copies>1</copies>
  506 + <partitioning>
  507 + <method>none</method>
  508 + <schema_name/>
  509 + </partitioning>
  510 + <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
  511 + <prefix>out</prefix>
  512 + <sort_size>1000000</sort_size>
  513 + <free_memory/>
  514 + <compress>N</compress>
  515 + <compress_variable/>
  516 + <unique_rows>N</unique_rows>
  517 + <fields>
  518 + <field>
  519 + <name>&#x7ebf;&#x8def;</name>
  520 + <ascending>Y</ascending>
  521 + <case_sensitive>N</case_sensitive>
  522 + <presorted>N</presorted>
  523 + </field>
  524 + <field>
  525 + <name>&#x642d;&#x73ed;&#x7f16;&#x7801;</name>
  526 + <ascending>Y</ascending>
  527 + <case_sensitive>N</case_sensitive>
  528 + <presorted>N</presorted>
  529 + </field>
  530 + </fields>
  531 + <cluster_schema/>
  532 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  533 + <xloc>692</xloc>
  534 + <yloc>164</yloc>
  535 + <draw>Y</draw>
  536 + </GUI>
  537 + </step>
  538 +
  539 + <step>
  540 + <name>&#x7ebf;&#x8def;&#x67e5;&#x8be2;</name>
  541 + <type>DBLookup</type>
  542 + <description/>
  543 + <distribute>Y</distribute>
  544 + <custom_distribution/>
  545 + <copies>1</copies>
  546 + <partitioning>
  547 + <method>none</method>
  548 + <schema_name/>
  549 + </partitioning>
  550 + <connection>bus_control_variable</connection>
  551 + <cache>Y</cache>
  552 + <cache_load_all>Y</cache_load_all>
  553 + <cache_size>0</cache_size>
  554 + <lookup>
  555 + <schema/>
  556 + <table>bsth_c_line</table>
  557 + <orderby/>
  558 + <fail_on_multiple>N</fail_on_multiple>
  559 + <eat_row_on_failure>N</eat_row_on_failure>
  560 + <key>
  561 + <name>xl</name>
  562 + <field>id</field>
  563 + <condition>&#x3d;</condition>
  564 + <name2/>
  565 + </key>
  566 + <value>
  567 + <name>name</name>
  568 + <rename>xlmc</rename>
  569 + <default/>
  570 + <type>String</type>
  571 + </value>
  572 + </lookup>
  573 + <cluster_schema/>
  574 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  575 + <xloc>227</xloc>
  576 + <yloc>59</yloc>
  577 + <draw>Y</draw>
  578 + </GUI>
  579 + </step>
  580 +
  581 + <step>
  582 + <name>&#x9a7e;&#x9a76;&#x5458;&#x67e5;&#x8be2;</name>
  583 + <type>DBJoin</type>
  584 + <description/>
  585 + <distribute>Y</distribute>
  586 + <custom_distribution/>
  587 + <copies>1</copies>
  588 + <partitioning>
  589 + <method>none</method>
  590 + <schema_name/>
  591 + </partitioning>
  592 + <connection>bus_control_variable</connection>
  593 + <rowlimit>1</rowlimit>
  594 + <sql>select job_codeori as jcode, personnel_name as jname from bsth_c_personnel&#xa;where id &#x3d; &#x3f;</sql>
  595 + <outer_join>Y</outer_join>
  596 + <replace_vars>N</replace_vars>
  597 + <parameter>
  598 + <field>
  599 + <name>jsy</name>
  600 + <type>Integer</type>
  601 + </field>
  602 + </parameter>
  603 + <cluster_schema/>
  604 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  605 + <xloc>366</xloc>
  606 + <yloc>60</yloc>
  607 + <draw>Y</draw>
  608 + </GUI>
  609 + </step>
  610 +
  611 + <step_error_handling>
  612 + </step_error_handling>
  613 + <slave-step-copy-partition-distribution>
  614 +</slave-step-copy-partition-distribution>
  615 + <slave_transformation>N</slave_transformation>
  616 +
  617 +</transformation>
... ...
src/main/resources/static/pages/base/line/js/line-edit-form.js
... ... @@ -9,7 +9,8 @@
9 9  
10 10  
11 11 !function(){
12   -
  12 + // 关闭左侧栏
  13 + if (!$('body').hasClass('page-sidebar-closed')) {$('.menu-toggler.sidebar-toggler').click();}
13 14 /** 开辟日期 日期控件 <format:日期控件时间格式;locale:语言> */
14 15 $('#openDateInput').datetimepicker({format : 'YYYY-MM-DD', locale: 'zh-cn'});
15 16 /** 起始站首班时间 日期控件 <format:日期控件时间格式;locale:语言> */
... ...
src/main/resources/static/pages/base/station/js/station-list-edit.js
... ... @@ -16,9 +16,6 @@
16 16 $('#lineNameInput').val(no[1]);
17 17 // 获取站点对象信息
18 18 var editStation = {};
19   - /*PositionsPublicFunctions.getStationRouteInfo(id,function(r) {
20   - editStation = r;
21   - });*/
22 19 $.ajax({
23 20 url: "/stationroute/findStationRouteInfo", //请求地址
24 21 type: "Get",
... ... @@ -29,74 +26,77 @@
29 26 editStation = result[0];
30 27 }
31 28 });
32   - // 初始化表单值
33   - PositionsPublicFunctions.setListEditFrom(editStation);
34   - var initzdlyP = {'lineCode_eq':editStation.stationRouteLIneCode,'destroy_eq':0,'directions_eq':editStation.stationRoutedirections};
35   - initSelect(initzdlyP);
  29 + setTimeout(function(){
  30 + // 初始化表单值
  31 + PositionsPublicFunctions.setListEditFrom(editStation);
  32 +
  33 + var initzdlyP = {'lineCode_eq':editStation.stationRouteLIneCode,'destroy_eq':0,'directions_eq':editStation.stationRoutedirections};
  34 + initSelect(initzdlyP);
  35 +
  36 + // 编辑表单元素
  37 + var form = $('#list_edit_station_form');
  38 + // 获取错误提示元素
  39 + var error = $('.alert-danger', form);
  40 + // 提交数据按钮事件
  41 + $('#editStationButton').on('click', function() {
  42 + // 表单提交
  43 + form.submit();
  44 + });
  45 + // 表单验证
  46 + form.validate({
  47 + errorElement : 'span',
  48 + errorClass : 'help-block help-block-error',
  49 + focusInvalid : false,
  50 + rules : {
  51 + 'stationName' : {required : true},// 站点路由名称 必填项
  52 + 'stationCod': {required : true,},// 站点编码 必填项
  53 + 'directions' : {required : true,dirIs : true},// 站点方向 必填项 必填项
  54 + 'stationRouteCode' : {isStart : true},// 站点序号
  55 + 'bJwpoints' : {required : true},// 经纬度坐标点 必填项
  56 + 'shapesType' : {required : true},// 几何图形类型 必填项
  57 + 'radius' : {required : true},// 圆形半径 必填项
  58 + 'destroy' : {required : true},// 是否撤销 必填项
  59 + 'toTime' : {number : true},// 到站时间 必须输入合法的数字(负数,小数)。
  60 + 'distances' : {number : true},// 到站距离 // 到站距离
  61 + 'descriptions' : {maxlength: 150}// 描述与说明 最大长度
  62 + },
  63 + invalidHandler : function(event, validator) {
  64 + error.show();
  65 + App.scrollTo(error, -200);
  66 + },
  67 + highlight : function(element) {
  68 + $(element).closest('.form-group').addClass('has-error');
  69 + },
  70 + unhighlight : function(element) {
  71 + $(element).closest('.form-group').removeClass('has-error');
  72 + },
  73 + success : function(label) {
  74 + label.closest('.form-group').removeClass('has-error');
  75 + },
  76 + submitHandler : function(f) {
  77 + error.hide();
  78 + var params = form.serializeJSON();
  79 + /*if(params.shapesType=='圆形')
  80 + params.shapesType = 'r';
  81 + else if(params.shapesType=='多边形')
  82 + params.shapesType = 'd';*/
  83 + if(params.stationRouteCode=='请选择...')
  84 + params.stationRouteCode='';
  85 + PositionsPublicFunctions.stationUpdate(params,function(resuntDate) {
  86 + if(resuntDate.status=='SUCCESS') {
  87 + // 弹出添加成功提示消息
  88 + layer.msg('修改成功...');
  89 + }else {
  90 + // 弹出添加失败提示消息
  91 + layer.msg('修改失败...');
  92 + }
  93 + //返回站点信息页面
  94 + loadPage('list.html');
  95 + });
  96 + }
  97 + });
  98 + },500);
36 99  
37   - // 编辑表单元素
38   - var form = $('#list_edit_station_form');
39   - // 获取错误提示元素
40   - var error = $('.alert-danger', form);
41   - // 提交数据按钮事件
42   - $('#editStationButton').on('click', function() {
43   - // 表单提交
44   - form.submit();
45   - });
46   - // 表单验证
47   - form.validate({
48   - errorElement : 'span',
49   - errorClass : 'help-block help-block-error',
50   - focusInvalid : false,
51   - rules : {
52   - 'stationName' : {required : true},// 站点路由名称 必填项
53   - 'stationCod': {required : true,},// 站点编码 必填项
54   - 'directions' : {required : true,dirIs : true},// 站点方向 必填项 必填项
55   - 'stationRouteCode' : {isStart : true},// 站点序号
56   - 'stationMark' : {required : true},// 站点类型 必填项
57   - 'bJwpoints' : {required : true},// 经纬度坐标点 必填项
58   - 'shapesType' : {required : true},// 几何图形类型 必填项
59   - 'radius' : {required : true},// 圆形半径 必填项
60   - 'destroy' : {required : true},// 是否撤销 必填项
61   - 'toTime' : {number : true},// 到站时间 必须输入合法的数字(负数,小数)。
62   - 'distances' : {number : true},// 到站距离 // 到站距离
63   - 'descriptions' : {maxlength: 150}// 描述与说明 最大长度
64   - },
65   - invalidHandler : function(event, validator) {
66   - error.show();
67   - App.scrollTo(error, -200);
68   - },
69   - highlight : function(element) {
70   - $(element).closest('.form-group').addClass('has-error');
71   - },
72   - unhighlight : function(element) {
73   - $(element).closest('.form-group').removeClass('has-error');
74   - },
75   - success : function(label) {
76   - label.closest('.form-group').removeClass('has-error');
77   - },
78   - submitHandler : function(f) {
79   - error.hide();
80   - var params = form.serializeJSON();
81   - /*if(params.shapesType=='圆形')
82   - params.shapesType = 'r';
83   - else if(params.shapesType=='多边形')
84   - params.shapesType = 'd';*/
85   - if(params.stationRouteCode=='请选择...')
86   - params.stationRouteCode='';
87   - PositionsPublicFunctions.stationUpdate(params,function(resuntDate) {
88   - if(resuntDate.status=='SUCCESS') {
89   - // 弹出添加成功提示消息
90   - layer.msg('修改成功...');
91   - }else {
92   - // 弹出添加失败提示消息
93   - layer.msg('修改失败...');
94   - }
95   - //返回站点信息页面
96   - loadPage('list.html');
97   - });
98   - }
99   - });
100 100 // 站点序号值改变事件
101 101 $('#stationrouteSelect').on('change',function() {
102 102 var stationRValue = $('#stationrouteSelect').val();
... ...
src/main/resources/static/pages/base/station/js/station-positions-function.js
... ... @@ -154,12 +154,12 @@ var PositionsPublicFunctions = function () {
154 154 $('#descriptionsTextarea').val(stationObj.stationRouteDescriptions);
155 155 },
156 156 setListEditFrom : function(stationObj) {
157   - // 图形坐标点集合(百度坐标)
  157 + // WGS坐标点图形集合
158 158 $('#bPolygonGridInput').val(stationObj.stationBPolyonGrid);
159 159 // 百度地图经纬度坐标中心点
160 160 $('#bJwpointsInput').val(stationObj.stationJwpoints);
161   - // WGS坐标点图形集合
162   - $('#bPolygonGridInput').val(stationObj.stationGPloyonGrid);
  161 + // 图形坐标点集合(百度坐标)
  162 +// $('#bPolygonGridInput').val(stationObj.stationGPloyonGrid);
163 163 // 城建坐标x
164 164 $('#xInput').val(stationObj.stationGlonx);
165 165 // 城建坐标y
... ... @@ -169,14 +169,11 @@ var PositionsPublicFunctions = function () {
169 169 // 获取半径元素,并添加值
170 170 $('#radiusInput').val(stationObj.stationRadius);
171 171 // 线路ID
172   - $('#stationRouteLineInput').val(stationObj.stationRouteLIneCode);
  172 + $('#stationRouteLineInput').val(stationObj.stationRouteLine);
173 173 // 站点编码
174 174 $('#stationCodInput').val(stationObj.stationCode);
175   -
176 175 // 线路编码
177   - $('#lineCodeInput').val(stationObj.stationRouteCode);
178   - /*// 线路名称
179   - $('#lineNameInput').val();*/
  176 + $('#lineCodeInput').val(stationObj.stationRouteLIneCode);
180 177 // 站点ID
181 178 $('#StationCodeInput').val(stationObj.stationRouteStation);
182 179 // 站点路由ID
... ...
src/main/resources/static/pages/base/station/list_edit.html
... ... @@ -81,7 +81,6 @@
81 81 </label>
82 82 <div class="col-md-4">
83 83 <input type="text" class="form-control" name="lineName" id="lineNameInput" placeholder="线路名称" readonly="readonly" />
84   - <span class="help-block"> 例如 :浦东88路 </span>
85 84 </div>
86 85 </div>
87 86 <!-- 线路名称 (* 必填项) END -->
... ... @@ -157,7 +156,7 @@
157 156 <!-- 站点序号 -->
158 157 <div class="col-md-6">
159 158 <label class="control-label col-md-5">
160   - <span class="required"> * </span>上一站点&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:
  159 + <span class="required"> </span>上一站点&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:
161 160 </label>
162 161 <div class="col-md-4">
163 162 <select name="stationRouteCode" class="form-control" id="stationrouteSelect" style="width:100%"></select>
... ... @@ -205,7 +204,7 @@
205 204 <div class="form-group">
206 205 <!-- 道路编码-->
207 206 <div class="col-md-6">
208   - <label class="control-label col-md-5"><span class="required"> * </span>
  207 + <label class="control-label col-md-5"><span class="required"> </span>
209 208 道路编码&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:
210 209 </label>
211 210 <div class="col-md-4">
... ... @@ -215,7 +214,7 @@
215 214  
216 215 <!-- 到站时间 -->
217 216 <div class="col-md-6">
218   - <label class="control-label col-md-5"><span class="required"> * </span>
  217 + <label class="control-label col-md-5"><span class="required"></span>
219 218 到站时间 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: </label>
220 219 <div class="col-md-4">
221 220 <input type="text" class="form-control" name="toTime" id="toTimeInput" placeholder="到站时间">
... ... @@ -229,7 +228,7 @@
229 228 <div class="form-group">
230 229 <!-- 到站距离 -->
231 230 <div class="col-md-6">
232   - <label class="control-label col-md-5"><span class="required"> * </span>
  231 + <label class="control-label col-md-5"><span class="required"> </span>
233 232 到站距离&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:</label>
234 233 <div class="col-md-4">
235 234 <input type="text" class="form-control" name="distances" id="distancesInput" placeholder="到站距离">
... ... @@ -239,10 +238,10 @@
239 238  
240 239 <!-- 版本号 -->
241 240 <div class="col-md-6">
242   - <label class="control-label col-md-5"><span class="required"> * </span> 版本号&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:
  241 + <label class="control-label col-md-5"><span class="required"> </span> 版本号&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:
243 242 </label>
244 243 <div class="col-md-4">
245   - <input type="text" class="form-control" name="versions" value='1' Readonly>
  244 + <input type="text" class="form-control" name="versions" >
246 245 </div>
247 246 </div>
248 247 </div>
... ... @@ -252,7 +251,7 @@
252 251 <div class="form-group">
253 252 <!-- 描述/说明 -->
254 253 <div class="col-md-6">
255   - <label class="control-label col-md-5"><span class="required"> * </span>描述/说明&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:
  254 + <label class="control-label col-md-5"><span class="required"></span>描述/说明&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:
256 255 </label>
257 256 <div class="col-md-4">
258 257 <textarea class="form-control" rows="3" name="descriptions" id="descriptionsTextarea" placeholder="描述/说明"></textarea>
... ...
src/main/resources/static/pages/base/timesmodel/gantt.html
... ... @@ -119,8 +119,9 @@
119 119 <script src="/pages/base/timesmodel/js/raty/lib/jquery.raty.js"></script>
120 120 <script src="/pages/base/timesmodel/js/ContextJS/js/context.js"></script>
121 121 <script src="/pages/base/timesmodel/js/base-fun.js"></script>
122   -<script src="/pages/base/timesmodel/js/strategy/strategy-paramter.js"></script>
123   -<script src="/pages/base/timesmodel/js/strategy/strategy-util.js"></script>
  122 +<script src="/pages/base/timesmodel/js/strategy/StrategyUtils.js"></script>
  123 +<script src="/pages/base/timesmodel/js/strategy/BcObj.js"></script>
  124 +<script src="/pages/base/timesmodel/js/strategy/ParameterObj.js"></script>
124 125 <script src="/pages/base/timesmodel/js/strategy/strategy-headway.js"></script>
125 126 <script src="/pages/base/timesmodel/js/d3.relationshipgraph.js"></script>
126 127 <script src="/pages/base/timesmodel/js/errorinfo.js"></script>
... ...
src/main/resources/static/pages/base/timesmodel/js/add-form-wizard.js
... ... @@ -524,7 +524,8 @@ var SKBFormWizard = function() {
524 524 // 发车间隙分析用参数
525 525 'fcjx': {required: true}, // 时段发车间隙,TODO:貌似没发启用form验证
526 526 'stt': {required: true}, // 停站类型,TODO:貌似没发启用form验证
527   - 'gfjypcs': {required : true,number : true,digits: true} // 高峰建议配车数
  527 + 'gfjypcs': {required : true,number : true,digits: true}, // 高峰建议配车数
  528 + 'jblps': {required : true,number : true,digits: true} // 加班车路牌数
528 529 },
529 530  
530 531 /**
... ...
src/main/resources/static/pages/base/timesmodel/js/gantt.js
... ... @@ -48,6 +48,10 @@
48 48 var dataMap = argsMap(map,dirA,bcTypeArr,seMap);
49 49 // 8、定义最大车辆数与停站时间.
50 50 var CSMap = null,data = null;
  51 +
  52 + // 创建ParameterObj
  53 + var _paramObj = StrategyUtils.getFactory().createParameterObj(map, dataMap);
  54 +
51 55 if(map.baseRes== '0') {
52 56 CSMap = getMaxCarAndStopSpace0(map,seMap);
53 57 // 发车间隙
... ... @@ -58,7 +62,7 @@
58 62 map.fcjx = CSMap.fcjx;
59 63 }else if (map.baseRes == '2') {
60 64 // TODO:之后可能有新的参数加入
61   - map.clzs = map.gfjypcs // 使用高峰建议配车数作为车辆总数
  65 + map.clzs = StrategyUtils.calcuClzx(_paramObj);
62 66 CSMap = getMaxCarAndStopSpace1(map);
63 67  
64 68 }
... ... @@ -78,7 +82,7 @@
78 82 // TODO:绘制gantt图表
79 83 // TODO:var seDate = getksjssj(null,seMap.s); 关联参数必须设置
80 84 // TODO:CSMap.maxCar 之后要设定一下的
81   - data = StrategyHeadway.BXPplaceClassesTime03(stopAraay,CSMap.maxCar,map,seMap,dataMap);
  85 + data = StrategyHeadway.BXPplaceClassesTime03(_paramObj, CSMap.maxCar);
82 86 }
83 87  
84 88 }else {
... ...
src/main/resources/static/pages/base/timesmodel/js/strategy/BcObj.js 0 → 100644
  1 +/**
  2 + * 班次类型对象(最后转换成显示用bc对象)
  3 + * @param bcType
  4 + * @param isUp
  5 + * @param lp
  6 + * @param fcno
  7 + * @param fcTimeObj
  8 + * @param paramObj
  9 + * @returns {{}}
  10 + * @constructor
  11 + */
  12 +var BcObj = function(bcType, isUp, lp, fcno, fcTimeObj, paramObj) {
  13 +
  14 + //---------- 内部属性 ----------//
  15 + var _bcType = bcType; // 班次类型(normal,in,out等)
  16 + var _isUp = isUp; // true表示上行,false表示下行
  17 + var _lp = lp; // 路牌
  18 + var _fcno = fcno; // 发车顺序号
  19 +
  20 + // 计算的属性,TODO:还有其他属性
  21 + // 上标线里属于第几圈(本班次方向和标线方向一致,才有意义)
  22 + var qCount;
  23 +
  24 + // 班次里程
  25 + var _bclc = StrategyUtils.calcuTravelLcNumber(_isUp, _bcType, paramObj);
  26 + // 发车时间
  27 + var _fcsjObj = moment(fcTimeObj);
  28 + // 班次时间
  29 + var _bcsj = StrategyUtils.calcuTravelTime(_fcsjObj, _isUp, paramObj);
  30 + // 到达时间
  31 + var _arrsj = StrategyUtils.addMinute(_fcsjObj, _bcsj);
  32 + // 到达后的停站时间(使用到达时间判定)
  33 + var _stopTime = StrategyUtils.calcuFixedStopNumber(_arrsj, !_isUp, paramObj);
  34 +
  35 + return {
  36 + /**
  37 + * 是否上行。
  38 + * @returns boolean
  39 + */
  40 + isUp: function() {
  41 + return _isUp;
  42 + },
  43 + /**
  44 + * 获取发车时间。
  45 + * @returns {*|moment.Moment}
  46 + */
  47 + getFcTimeObj: function() {
  48 + return _fcsjObj;
  49 + },
  50 + /**
  51 + * 获取班次时间。
  52 + */
  53 + getBcTime: function() {
  54 + return _bcsj;
  55 + },
  56 + /**
  57 + * 获取停站时间。
  58 + * @returns {*}
  59 + */
  60 + getStopTime: function() {
  61 + return _stopTime;
  62 + },
  63 +
  64 + /**
  65 + * 转换成显示用班次对象。
  66 + */
  67 + toGanttBcObj: function() {
  68 + var _bcObj = {
  69 + parent: _lp,
  70 + lpNo: _lp,
  71 + lp: null,
  72 + lpName: _lp,
  73 + lpType: '普通路牌',
  74 + bcType: _bcType,
  75 + fcno: _fcno,
  76 + isfb: 0,
  77 + isSwitchXl: null,
  78 + bz: null
  79 + };
  80 +
  81 + // 线路上下行
  82 + _bcObj.xlDir = _isUp ? "relationshipGraph-up" : "relationshipGraph-down";
  83 +
  84 + // 里程
  85 + _bcObj.jhlc = _bclc;
  86 +
  87 + // 停车场
  88 + _bcObj.tcc = paramObj.getTccId();
  89 +
  90 + // 时刻表
  91 + _bcObj.ttinfo = paramObj.getTTinfoId();
  92 +
  93 + // 线路
  94 + _bcObj.xl = paramObj.getXlId();
  95 +
  96 + // 起点站、终点站
  97 + _bcObj.qdz = _isUp ? paramObj.getUpQdzObj().id : paramObj.getDownQdzObj().id;
  98 + _bcObj.zdz = _isUp ? paramObj.getUpZdzObj().id : paramObj.getDownZdzObj().id;
  99 +
  100 + // 发车时间,行驶时间,到达时间,停站时间
  101 + _bcObj.fcsj = _fcsjObj.format("HH:mm");
  102 + _bcObj.bcsj = _bcsj;
  103 + _bcObj.ARRIVALTIME = _arrsj.format("HH:mm");
  104 + _bcObj.STOPTIME = _stopTime;
  105 +
  106 + return _bcObj;
  107 + }
  108 + };
  109 +};
0 110 \ No newline at end of file
... ...
src/main/resources/static/pages/base/timesmodel/js/strategy/ParameterObj.js 0 → 100644
  1 +/**
  2 + * 包装表单参数为内部参数对象。
  3 + * @param formMap 表单form参数map
  4 + * @param dataMap
  5 + * @constructor
  6 + *
  7 + * 注意:moment是mutable,所有的moment操作都会改变原有对象的值,
  8 + * 所以所有的操作都要小心处理。
  9 + */
  10 +var ParameterObj = function(formMap, dataMap) {
  11 + // 内部保存的form参数
  12 + var _formMap = formMap;
  13 + // 计算行驶时间对象
  14 + var _travelTimeObj_fun = function() {
  15 + var upMoningPeakTravelTime =
  16 + isNaN(_formMap.earlyUpTime) ?
  17 + parseInt(_formMap.upTravelTime) :
  18 + parseInt(_formMap.earlyUpTime);
  19 + var downMoningPeakTravelTime =
  20 + isNaN(_formMap.earlyDownTime) ?
  21 + parseInt(_formMap.downTravelTime) :
  22 + parseInt(_formMap.earlyDownTime);
  23 + var upEveningPeakTravelTime =
  24 + isNaN(_formMap.lateUpTime) ?
  25 + parseInt(_formMap.upTravelTime) :
  26 + parseInt(_formMap.lateUpTime);
  27 + var downEveningPeakTravelTime =
  28 + isNaN(_formMap.lateDownTime) ?
  29 + parseInt(_formMap.downTravelTime) :
  30 + parseInt(_formMap.lateDownTime);
  31 + var upTroughTravelTime =
  32 + isNaN(_formMap.troughUpTime) ?
  33 + parseInt(_formMap.upTravelTime) :
  34 + parseInt(_formMap.troughUpTime);
  35 + var downTroughTravelTime =
  36 + isNaN(_formMap.troughDownTime) ?
  37 + parseInt(_formMap.downTravelTime) :
  38 + parseInt(_formMap.troughDownTime);
  39 +
  40 + return { // TODO:暂时获取标准信息,之后改成历史数据,可能需要使用promise封装
  41 + "moningpeak": [
  42 + upMoningPeakTravelTime,
  43 + downMoningPeakTravelTime
  44 + ],
  45 + "eveningpeak": [
  46 + upEveningPeakTravelTime,
  47 + downEveningPeakTravelTime
  48 + ],
  49 + "trough": [
  50 + upTroughTravelTime,
  51 + downTroughTravelTime
  52 + ]
  53 + }
  54 + };
  55 + var _travelTimeObj = _travelTimeObj_fun();
  56 +
  57 + // 计算行驶里程对象
  58 + var _travelLcObj_fun = function() {
  59 + return [
  60 + { // 上行里程
  61 + "normalLc": isNaN(_formMap.upMileage) ? 0 : parseFloat(_formMap.upMileage),
  62 + "inLc": isNaN(_formMap.upInMileage) ? 0 : parseFloat(_formMap.upInMileage),
  63 + "outLc": isNaN(_formMap.upOutMileage) ? 0 : parseFloat(_formMap.upOutMileage)
  64 + },
  65 + { // 下行里程
  66 + "normalLc": isNaN(_formMap.downMileage) ? 0 : parseFloat(_formMap.downMileage),
  67 + "inLc": isNaN(_formMap.downInMileage) ? 0 : parseFloat(_formMap.downInMileage),
  68 + "outLc": isNaN(_formMap.downOutMileage) ? 0 : parseFloat(_formMap.downOutMileage)
  69 + }
  70 + ];
  71 + };
  72 + var _travelLcObj = _travelLcObj_fun();
  73 +
  74 + // 计算首班车,末班车行驶时间字符串
  75 + var _firstLastDepartureTimeStrObj_fun = function() {
  76 + return {
  77 + up: { // 上行
  78 + firstVehicleDepartureTimeStr: _formMap.startStationFirstTime,
  79 + lastVehicleDepartureTimeStr: _formMap.startStationEndTime
  80 + },
  81 + down: { // 下行
  82 + firstVehicleDepartureTimeStr: _formMap.endStationFirstTime,
  83 + lastVehicleDepartureTimeStr: _formMap.endStationEndTime
  84 + }
  85 + };
  86 + };
  87 + var _firstLastDepartureTimeStrObj = _firstLastDepartureTimeStrObj_fun();
  88 +
  89 + // 计算时间段划分对象
  90 + var _timeIntervalObj_fun = function() {
  91 + return {
  92 + moningPeakTimeStrs: {
  93 + start: _formMap.earlyStartTime,
  94 + end: _formMap.earlyEndTime
  95 + },
  96 + eveningPeakTimeStrs: {
  97 + start: _formMap.lateStartTime,
  98 + end: _formMap.lateEndTime
  99 + }
  100 +
  101 + // TODO:其他时间段以后再加
  102 + };
  103 + };
  104 + var _timeIntervalObj = _timeIntervalObj_fun();
  105 +
  106 + // 计算各个时段的发车间隙
  107 + var _fcjxIntervalObj_fun = function() {
  108 + var _fcjxes = _formMap.fcjx.split(",");
  109 + var _rtn = {
  110 + mpeakfcjx : {}, // 早高峰
  111 + epeakfcjx : {}, // 晚高峰
  112 + troughfcjx: {} //低谷
  113 + };
  114 + var _fcjx = [];
  115 + var i = 0;
  116 +
  117 + // TODO:这里按照顺序判定发车间隔
  118 + // 1、早高峰间隙
  119 + // 2、晚高峰间隙
  120 + // 3、早低谷
  121 + // 4、平峰
  122 + // 5、晚低谷
  123 +
  124 + // 至少3个,系统暂时使用3个,有最小间隔,有最大间隔
  125 + if (_fcjxes.length < 3) {
  126 + alert("发车间隙至少3个(早高峰,晚高峰,低谷)");
  127 + throw "发车间隙至少3个(早高峰,晚高峰,低谷)";
  128 + } else {
  129 + for (i = 0; i < 3; i++) {
  130 + _fcjx = _fcjxes[i].split("/");
  131 + if (i == 0) {
  132 + _rtn.mpeakfcjx.min = parseInt(_fcjx[2].split("-")[0]);
  133 + _rtn.mpeakfcjx.max = parseInt(_fcjx[2].split("-")[1]);
  134 + } else if (i == 1) {
  135 + _rtn.epeakfcjx.min = parseInt(_fcjx[2].split("-")[0]);
  136 + _rtn.epeakfcjx.max = parseInt(_fcjx[2].split("-")[1]);
  137 + } else {
  138 + _rtn.troughfcjx.min = parseInt(_fcjx[2].split("-")[0]);
  139 + _rtn.troughfcjx.max = parseInt(_fcjx[2].split("-")[1]);
  140 + }
  141 + }
  142 + }
  143 +
  144 + return _rtn;
  145 + };
  146 + var _fcjxIntervalObj = _fcjxIntervalObj_fun();
  147 +
  148 + // 获取停站类型
  149 + var _stopTypeObj_fun = function() {
  150 + var isMasterStop = false; // 是否主站停
  151 + var isMasterUpStop = false; // 主站停是否上行站点
  152 + if (_formMap) {
  153 + var fm_temp = _formMap.stt.split("/");
  154 + if (fm_temp.length == 1) { // 双向停站
  155 + isMasterStop = false;
  156 + } else {
  157 + isMasterStop = true;
  158 + if (fm_temp[1] == "0") {
  159 + isMasterUpStop = true;
  160 + } else {
  161 + isMasterUpStop = false;
  162 + }
  163 + }
  164 + } else {
  165 + throw "停站类型没有选择!";
  166 + }
  167 +
  168 + return {
  169 + isMasterStop: isMasterStop,
  170 + isMasterUpStop: isMasterUpStop
  171 + }
  172 + };
  173 + var _stopTypeObj = _stopTypeObj_fun();
  174 +
  175 + // 计算线路对象
  176 + var _xlObj_fun = function() {
  177 + return { // TODO:其他属性再议
  178 + xl: {
  179 + id: _formMap.lineName.split('_')[0]
  180 + }
  181 + };
  182 + };
  183 + var _xlObj = _xlObj_fun();
  184 +
  185 + // 计算停车场对象
  186 + var _parkObj_fun = function() {
  187 + return { // TODO:其他属性再议
  188 + park: {
  189 + id: _formMap.tcc_id
  190 + }
  191 + };
  192 + };
  193 + var _parkObj = _parkObj_fun();
  194 +
  195 + // 计算时刻表对象
  196 + var _ttInfoObj_fun = function() {
  197 + return { // TODO:其他属性再议
  198 + ttinfo: {
  199 + id: _formMap.skbName
  200 + }
  201 + };
  202 + };
  203 + var _ttInfoObj = _ttInfoObj_fun();
  204 +
  205 + // 计算起点站终点站对象
  206 + var _startEndStopObj_fun = function() {
  207 + return { // TODO:其他属性再议
  208 + up: {
  209 + qdz: { // 起点站
  210 + id: dataMap.qdzArr[0]
  211 + },
  212 + zdz: { // 终点站
  213 + id: dataMap.zdzArr[0]
  214 + }
  215 + },
  216 + down: {
  217 + qdz: { // 起点站
  218 + id: dataMap.qdzArr[1]
  219 + },
  220 + zdz: { // 终点站
  221 + id: dataMap.zdzArr[1]
  222 + }
  223 + }
  224 +
  225 + };
  226 + };
  227 + var _startEndStopObj = _startEndStopObj_fun();
  228 +
  229 + return {
  230 + /**
  231 + * 重置内部form参数。
  232 + * @param formMap
  233 + */
  234 + reset: function(formMap) {
  235 + _formMap = formMap;
  236 +
  237 + // 首班车,末班车行驶时间字符串
  238 + _firstLastDepartureTimeStrObj = _firstLastDepartureTimeStrObj_fun();
  239 + // 行驶时间对象
  240 + _travelTimeObj = _travelTimeObj_fun();
  241 + // 行驶里程对象
  242 + _travelLcObj = _travelLcObj_fun();
  243 + // 时间段划分对象
  244 + _timeIntervalObj = _timeIntervalObj_fun();
  245 + // 各个时段的发车间隙
  246 + _fcjxIntervalObj = _fcjxIntervalObj_fun();
  247 + // 停站类型
  248 + _stopTypeObj = _stopTypeObj_fun();
  249 + // 线路对象
  250 + _xlObj = _xlObj_fun();
  251 + // 停车场对象
  252 + _parkObj = _parkObj_fun();
  253 + // 时刻表对象
  254 + _ttInfoObj = _ttInfoObj_fun();
  255 + // 起点站终点站对象
  256 + _startEndStopObj = _startEndStopObj_fun();
  257 +
  258 + // TODO:其他再议
  259 + },
  260 +
  261 + //------------ 获取首班末班时间 ------------//
  262 + /**
  263 + * 获取上行首班时间对象。
  264 + * @return moment obj
  265 + */
  266 + getUpFirstDTimeObj: function() {
  267 + return StrategyUtils.toTimeObj(
  268 + _firstLastDepartureTimeStrObj.up.firstVehicleDepartureTimeStr
  269 + );
  270 + },
  271 + /**
  272 + * 获取上行末班时间对象。
  273 + * @return moment obj
  274 + */
  275 + getUpLastDtimeObj: function() {
  276 + return StrategyUtils.toTimeObj(
  277 + _firstLastDepartureTimeStrObj.up.lastVehicleDepartureTimeStr
  278 + );
  279 + },
  280 + /**
  281 + * 获取下行首班时间对象。
  282 + * @return moment obj
  283 + */
  284 + getDownFirstDTimeObj: function() {
  285 + return StrategyUtils.toTimeObj(
  286 + _firstLastDepartureTimeStrObj.down.firstVehicleDepartureTimeStr
  287 + );
  288 + },
  289 + /**
  290 + * 获取下行末班时间对象。
  291 + * @return moment obj
  292 + */
  293 + getDownLastDTimeObj: function() {
  294 + return StrategyUtils.toTimeObj(
  295 + _firstLastDepartureTimeStrObj.down.lastVehicleDepartureTimeStr
  296 + );
  297 + },
  298 +
  299 + //-------------- 获取行驶时间 ----------------//
  300 + /**
  301 + * 获取上行早高峰行驶时间。
  302 + * @returns int number
  303 + */
  304 + getUpMPeakTime: function() {
  305 + return _travelTimeObj.moningpeak[0];
  306 + },
  307 + /**
  308 + * 获取上行晚高峰行驶时间。
  309 + * @returns int number
  310 + */
  311 + getUpEPeakTime: function() {
  312 + return _travelTimeObj.eveningpeak[0];
  313 + },
  314 + /**
  315 + * 获取上行低谷行驶时间。
  316 + * @returns int number
  317 + */
  318 + getUpTroughTime: function() {
  319 + return _travelTimeObj.trough[0];
  320 + },
  321 + /**
  322 + * 获取下行早高峰行驶时间。
  323 + * @returns int number
  324 + */
  325 + getDownMPeakTime: function() {
  326 + return _travelTimeObj.moningpeak[1];
  327 + },
  328 + /**
  329 + * 获取下行晚高峰行驶时间。
  330 + * @returns int number
  331 + */
  332 + getDownEPeakTime: function() {
  333 + return _travelTimeObj.eveningpeak[1];
  334 + },
  335 + /**
  336 + * 获取下行低谷行驶时间。
  337 + * @returns int number
  338 + */
  339 + getDownTroughTime: function() {
  340 + return _travelTimeObj.trough[1];
  341 + },
  342 +
  343 + //---------------- 获取行驶里程 -----------------//
  344 + /**
  345 + * 获取上行normal班次里程。
  346 + * @returns number
  347 + */
  348 + getUpNormalLc: function() {
  349 + return _travelLcObj[0].normalLc;
  350 + },
  351 + /**
  352 + * 获取上行进场班次类型。
  353 + * @returns number
  354 + */
  355 + getUpInLc: function() {
  356 + return _travelLcObj[0].inLc;
  357 + },
  358 + /**
  359 + * 获取上行出场班次类型。
  360 + * @returns number
  361 + */
  362 + getUpOutLc: function() {
  363 + return _travelLcObj[0].outLc;
  364 + },
  365 + /**
  366 + * 获取下行normal班次类型。
  367 + * @returns number
  368 + */
  369 + getDownNormalLc: function() {
  370 + return _travelLcObj[1].normalLc;
  371 + },
  372 + /**
  373 + * 获取下行进场班次类型。
  374 + * @returns number
  375 + */
  376 + getDownInLc: function() {
  377 + return _travelLcObj[1].inLc;
  378 + },
  379 + /**
  380 + * 获取下行出场班次类型。
  381 + * @returns number
  382 + */
  383 + getDownOutLc: function() {
  384 + return _travelLcObj[1].outLc;
  385 + },
  386 +
  387 + //---------------- 获取时间段信息 --------------//
  388 + /**
  389 + * 获取早高峰开始时间对象。
  390 + * @returns moment obj
  391 + */
  392 + getMPeakStartTimeObj: function() {
  393 + return StrategyUtils.toTimeObj(
  394 + _timeIntervalObj.moningPeakTimeStrs.start
  395 + );
  396 + },
  397 + /**
  398 + * 获取早高峰结束时间对象。
  399 + * @returns moment obj
  400 + */
  401 + getMPeakEndTimeObj: function() {
  402 + return StrategyUtils.toTimeObj(
  403 + _timeIntervalObj.moningPeakTimeStrs.end
  404 + );
  405 + },
  406 + /**
  407 + * 获取晚高峰开始时间对象。
  408 + * @returns moment obj
  409 + */
  410 + getEPeakStartTimeObj: function() {
  411 + return StrategyUtils.toTimeObj(
  412 + _timeIntervalObj.eveningPeakTimeStrs.start
  413 + );
  414 + },
  415 + /**
  416 + * 获取晚高峰结束时间对象。
  417 + * @returns moment obj
  418 + */
  419 + getEPeakEndTimeObj: function() {
  420 + return StrategyUtils.toTimeObj(
  421 + _timeIntervalObj.eveningPeakTimeStrs.end
  422 + );
  423 + },
  424 +
  425 + //----------------- 获取发车间隙(TODO:以后通过客流估算)-----------------//
  426 + /**
  427 + * 获取早高峰最小发车间隙。
  428 + * @returns int
  429 + */
  430 + getMPeakMinFcjx: function() {
  431 + return _fcjxIntervalObj.mpeakfcjx.min;
  432 + },
  433 + /**
  434 + * 获取早高峰最大发车间隙。
  435 + * @returns int
  436 + */
  437 + getMPeakMaxFcjx: function() {
  438 + return _fcjxIntervalObj.mpeakfcjx.max;
  439 + },
  440 + /**
  441 + * 获取晚高峰最小发车间隙。
  442 + * @returns int
  443 + */
  444 + getEPeakMinFcjx: function() {
  445 + return _fcjxIntervalObj.epeakfcjx.min;
  446 + },
  447 + /**
  448 + * 获取晚高峰最小发车间隙。
  449 + * @returns int
  450 + */
  451 + getEPeakMaxFcjx: function() {
  452 + return _fcjxIntervalObj.epeakfcjx.max;
  453 + },
  454 + /**
  455 + * 获取低谷最小发车间隙。
  456 + * @returns int
  457 + */
  458 + getTroughMinFcjx: function() {
  459 + return _fcjxIntervalObj.troughfcjx.min;
  460 + },
  461 + /**
  462 + * 获取低谷最大发车间隙。
  463 + * @returns int
  464 + */
  465 + getTroughMaxFcjx: function() {
  466 + return _fcjxIntervalObj.troughfcjx.max;
  467 + },
  468 +
  469 + //----------------- 获取停站方式 -------------------//
  470 + /**
  471 + * 是否双向停站。
  472 + * @returns {boolean}
  473 + */
  474 + isTwoWayStop: function() {
  475 + return !_stopTypeObj.isMasterStop;
  476 + },
  477 + /**
  478 + * 是否上行单向停站。
  479 + * @returns {boolean}
  480 + */
  481 + isUpOneWayStop: function() {
  482 + return _stopTypeObj.isMasterStop && _stopTypeObj.isMasterUpStop;
  483 + },
  484 + /**
  485 + * 是否下行单向停站。
  486 + * @returns {boolean}
  487 + */
  488 + isDownOneWayStop: function() {
  489 + return _stopTypeObj.isMasterStop && (!_stopTypeObj.isMasterUpStop);
  490 + },
  491 +
  492 + //----------------- 获取高峰配车数、加班路牌数 ----------------//
  493 + /**
  494 + * 获取高峰建议配车数(TODO:参照一下)。
  495 + * @returns {Number|*}
  496 + */
  497 + getAdvicePeakClzs: function() {
  498 + return parseInt(_formMap.gfjypcs);
  499 + },
  500 + /**
  501 + * 获取加班路牌数(5休2路牌的个数)。
  502 + * @returns {Number|*}
  503 + */
  504 + getJBLpes: function() {
  505 + return parseInt(_formMap.jblps);
  506 + },
  507 +
  508 + //----------------- 获取关联数据信息 -----------------//
  509 + /**
  510 + * 获取线路id。
  511 + */
  512 + getXlId: function() {
  513 + return _xlObj.xl.id;
  514 + },
  515 + /**
  516 + * 获取停车场id。
  517 + */
  518 + getTccId: function() {
  519 + return _parkObj.park.id;
  520 + },
  521 + /**
  522 + * 获取时刻表id。
  523 + */
  524 + getTTinfoId: function() {
  525 + return _ttInfoObj.ttinfo.id;
  526 + },
  527 + /**
  528 + * 获取上行起点站对象。
  529 + * @returns {{id: *}}
  530 + */
  531 + getUpQdzObj: function() {
  532 + return {
  533 + id: _startEndStopObj.up.qdz.id
  534 + };
  535 + },
  536 + /**
  537 + * 获取上行终点站对象。
  538 + * @returns {{id: *}}
  539 + */
  540 + getUpZdzObj: function() {
  541 + return {
  542 + id: _startEndStopObj.up.zdz.id
  543 + };
  544 + },
  545 + /**
  546 + * 获取下行起点站对象。
  547 + * @returns {{id: *}}
  548 + */
  549 + getDownQdzObj: function() {
  550 + return {
  551 + id: _startEndStopObj.down.qdz.id
  552 + };
  553 + },
  554 + /**
  555 + * 获取下行终点站对象。
  556 + * @returns {{id: *}}
  557 + */
  558 + getDownZdzObj: function() {
  559 + return {
  560 + id: _startEndStopObj.down.zdz.id
  561 + };
  562 + }
  563 +
  564 +
  565 + };
  566 +};
0 567 \ No newline at end of file
... ...