Commit fd05d4f4d55a63b2139d6fd5e537755a8529542b

Authored by 潘钊
2 parents 40148db3 0655f0ae

Merge branch 'minhang' into pudong

Showing 35 changed files with 2598 additions and 1899 deletions

Too many changes to show.

To preserve performance only 35 of 113 files are displayed.

src/main/java/com/bsth/controller/DownloadController.java
... ... @@ -20,6 +20,7 @@ import org.springframework.http.ResponseEntity;
20 20 import org.springframework.stereotype.Component;
21 21 import org.springframework.web.bind.annotation.RequestMapping;
22 22  
  23 +import com.google.protobuf.UnknownFieldSet.Field;
23 24 import com.mysql.fabric.Response;
24 25  
25 26 /**
... ... @@ -74,13 +75,14 @@ public class DownloadController
74 75 os.write(buffer);// 输出文件
75 76 os.flush();
76 77 os.close();
  78 + file.delete();
77 79 }
78 80  
79 81 @RequestMapping("downloadList")
80 82 public void downloadList(HttpServletResponse response,String fileName)
81 83 throws IOException {
82 84 // String fileNames=URLDecoder.decode(fileName,"UTF-8");
83   - fileName =fileName + ".zip";
  85 + fileName = fileName + ".zip";
84 86 String moudelPath = this.getClass().getResource("/").getPath()+ "static/pages/forms/export/"+fileName;
85 87 File file = new File(moudelPath);// path是根据日志路径和文件名拼接出来的
86 88 // String filename = file.getName();// 获取日志文件名称
... ... @@ -96,5 +98,6 @@ public class DownloadController
96 98 os.write(buffer);// 输出文件
97 99 os.flush();
98 100 os.close();
  101 + file.delete();
99 102 }
100 103 }
... ...
src/main/java/com/bsth/controller/oil/DlbController.java 0 → 100644
  1 +package com.bsth.controller.oil;
  2 +
  3 +import org.springframework.web.bind.annotation.RequestMapping;
  4 +import org.springframework.web.bind.annotation.RestController;
  5 +import com.bsth.controller.BaseController;
  6 +import com.bsth.entity.oil.Dlb;
  7 +
  8 +@RestController
  9 +@RequestMapping("dlb")
  10 +public class DlbController extends BaseController<Dlb, Integer>{
  11 +
  12 +}
... ...
src/main/java/com/bsth/controller/realcontrol/PageForwardingController.java
1   -package com.bsth.controller.realcontrol;
2   -
3   -import com.bsth.entity.sys.SysUser;
4   -import com.bsth.security.util.SecurityUtils;
5   -import org.springframework.stereotype.Controller;
6   -import org.springframework.web.bind.annotation.RequestMapping;
7   -import org.springframework.web.servlet.ModelAndView;
8   -
9   -/**
10   - * 线调登入页面转发
11   - * Created by panzhao on 2017/1/21.
12   - */
13   -@Controller
14   -@RequestMapping("real_control")
15   -public class PageForwardingController {
16   -
17   - @RequestMapping("/v2")
18   - public ModelAndView v2(){
19   - ModelAndView mv = new ModelAndView();
20   - SysUser user = SecurityUtils.getCurrentUser();
21   -
22   - //班次管理员
23   - if(user.getUserName().equals("bcgly")){
24   - mv.setViewName("/real_control_v2/sch_manage/sch_imitate.html");
25   - }
26   - //正常线调主页
27   - else
28   - mv.setViewName("/real_control_v2/main.html");
29   - return mv;
30   - }
31   -}
  1 +package com.bsth.controller.realcontrol;
  2 +
  3 +import com.bsth.entity.sys.SysUser;
  4 +import com.bsth.security.util.SecurityUtils;
  5 +import org.springframework.stereotype.Controller;
  6 +import org.springframework.web.bind.annotation.RequestMapping;
  7 +import org.springframework.web.servlet.ModelAndView;
  8 +
  9 +/**
  10 + * 线调登入页面转发
  11 + * Created by panzhao on 2017/1/21.
  12 + */
  13 +@Controller
  14 +@RequestMapping("real_control")
  15 +public class PageForwardingController {
  16 +
  17 + @RequestMapping("/v2")
  18 + public ModelAndView v2(){
  19 + ModelAndView mv = new ModelAndView();
  20 + SysUser user = SecurityUtils.getCurrentUser();
  21 +
  22 + //班次管理员
  23 + if(user.getUserName().equals("bcgly")){
  24 + mv.setViewName("/real_control_v2/sch_manage/sch_imitate.html");
  25 + }
  26 + //正常线调主页
  27 + else
  28 + mv.setViewName("/real_control_v2/main.html");
  29 + return mv;
  30 + }
  31 +}
... ...
src/main/java/com/bsth/controller/realcontrol/ScheduleRealInfoController.java
... ... @@ -439,5 +439,14 @@ public class ScheduleRealInfoController extends BaseController&lt;ScheduleRealInfo,
439 439 public Map<String, Object> exportWaybillMore(@RequestParam Map<String, Object> map){
440 440 return scheduleRealInfoService.exportWaybillMore(map);
441 441 }
  442 +
  443 + /**
  444 + * 获取当日计划排班 , 从计划表抓取数据
  445 + * @return
  446 + */
  447 + @RequestMapping(value = "currentSchedulePlan", method = RequestMethod.GET)
  448 + public Map<String, Object> currentSchedulePlan(@RequestParam String lineCodes){
  449 + return scheduleRealInfoService.currentSchedulePlan(lineCodes);
  450 + }
442 451  
443 452 }
... ...
src/main/java/com/bsth/controller/schedule/BController.java
... ... @@ -40,9 +40,12 @@ public class BController&lt;T, ID extends Serializable&gt; {
40 40 SysUser sysUser = sysUserService.findByUserName(userName);
41 41 BEntity t_b = null;
42 42 if (t instanceof BEntity) {
  43 + Date cdate = new Date();
43 44 t_b = (BEntity) t;
44 45 t_b.setCreateBy(sysUser);
45   - t_b.setCreateDate(new Date());
  46 + t_b.setCreateDate(cdate);
  47 + t_b.setUpdateBy(sysUser);
  48 + t_b.setUpdateDate(cdate);
46 49 }
47 50  
48 51 T t_saved = bService.save(t_b == null ? t : (T) t_b);
... ...
src/main/java/com/bsth/controller/schedule/SchedulePlanController.java renamed to src/main/java/com/bsth/controller/schedule/core/SchedulePlanController.java
1   -package com.bsth.controller.schedule;
  1 +package com.bsth.controller.schedule.core;
2 2  
3   -import com.bsth.controller.BaseController;
  3 +import com.bsth.controller.schedule.BController;
4 4 import com.bsth.entity.schedule.SchedulePlan;
5 5 import com.bsth.service.schedule.SchedulePlanService;
6 6 import org.springframework.beans.factory.annotation.Autowired;
7   -import org.springframework.web.bind.annotation.RequestBody;
8 7 import org.springframework.web.bind.annotation.RequestMapping;
9 8 import org.springframework.web.bind.annotation.RequestMethod;
10 9 import org.springframework.web.bind.annotation.RestController;
11 10  
12   -import java.util.Map;
13   -
14 11 /**
15 12 * Created by xu on 16/6/16.
16 13 */
17 14 @RestController
18 15 @RequestMapping("spc")
19   -public class SchedulePlanController extends BaseController<SchedulePlan, Long> {
  16 +public class SchedulePlanController extends BController<SchedulePlan, Long> {
20 17 @Autowired
21 18 private SchedulePlanService schedulePlanService;
22 19  
23 20 /**
24   - * 覆写方法,因为form提交的方式参数不全,改用 json形式提交 @RequestBody
25   - * @Title: save
26   - * @Description: TODO(持久化对象)
27   - * @param @param t
28   - * @param @return 设定文件
29   - * @return Map<String,Object> {status: 1(成功),-1(失败)}
30   - * @throws
31   - */
32   - @RequestMapping(method = RequestMethod.POST)
33   - public Map<String, Object> save(@RequestBody SchedulePlan t){
34   -
35   - return baseService.save(t);
36   - }
37   -
38   - /**
39 21 * 获取明天的一歌排班计划。
40 22 * @return
41 23 * @throws Exception
... ...
src/main/java/com/bsth/controller/schedule/core/TTInfoDetailController.java
... ... @@ -8,6 +8,7 @@ import org.springframework.beans.factory.annotation.Autowired;
8 8 import org.springframework.web.bind.annotation.PathVariable;
9 9 import org.springframework.web.bind.annotation.RequestMapping;
10 10 import org.springframework.web.bind.annotation.RequestMethod;
  11 +import org.springframework.web.bind.annotation.RequestParam;
11 12 import org.springframework.web.bind.annotation.RestController;
12 13  
13 14 import java.util.HashMap;
... ... @@ -87,5 +88,16 @@ public class TTInfoDetailController extends BController&lt;TTInfoDetail, Long&gt; {
87 88 }
88 89 return rtn;
89 90 }
90   -
  91 +
  92 + /**
  93 + * 时刻表明细批量插入
  94 + *
  95 + * @param entities
  96 + *
  97 + * @return
  98 + */
  99 + @RequestMapping(value = "/skbDetailMxSave" ,method = RequestMethod.POST)
  100 + public Map<String, Object> skbDetailMxSave(@RequestParam Map<String, Object> entities){
  101 + return ttInfoDetailService.skbDetailMxSave(entities);
  102 + }
91 103 }
... ...
src/main/java/com/bsth/controller/sys/RealControAuthorityController.java
1   -package com.bsth.controller.sys;
2   -
3   -import com.bsth.controller.BaseController;
4   -import com.bsth.entity.sys.RealControAuthority;
5   -import com.bsth.security.util.SecurityUtils;
6   -import com.bsth.service.sys.RealControAuthorityService;
7   -import org.springframework.beans.factory.annotation.Autowired;
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   -
14   -/**
15   - * Created by panzhao on 2017/2/14.
16   - */
17   -@RestController
18   -@RequestMapping("realControAuthority")
19   -public class RealControAuthorityController extends BaseController<RealControAuthority, Integer> {
20   -
21   - @Autowired
22   - RealControAuthorityService realControAuthorityService;
23   -
24   - @RequestMapping("findByUserId")
25   - public RealControAuthority findByUserId(@RequestParam Integer userId){
26   -
27   - return realControAuthorityService.findByUserId(userId);
28   - }
29   -
30   - @RequestMapping("findByCurrentUser")
31   - public RealControAuthority findByUserId(HttpServletRequest request){
32   - return realControAuthorityService.findByUserId(SecurityUtils.getCurrentUser().getId());
33   - }
34   -}
  1 +package com.bsth.controller.sys;
  2 +
  3 +import com.bsth.controller.BaseController;
  4 +import com.bsth.entity.sys.RealControAuthority;
  5 +import com.bsth.security.util.SecurityUtils;
  6 +import com.bsth.service.sys.RealControAuthorityService;
  7 +import org.springframework.beans.factory.annotation.Autowired;
  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 +
  14 +/**
  15 + * Created by panzhao on 2017/2/14.
  16 + */
  17 +@RestController
  18 +@RequestMapping("realControAuthority")
  19 +public class RealControAuthorityController extends BaseController<RealControAuthority, Integer> {
  20 +
  21 + @Autowired
  22 + RealControAuthorityService realControAuthorityService;
  23 +
  24 + @RequestMapping("findByUserId")
  25 + public RealControAuthority findByUserId(@RequestParam Integer userId){
  26 +
  27 + return realControAuthorityService.findByUserId(userId);
  28 + }
  29 +
  30 + @RequestMapping("findByCurrentUser")
  31 + public RealControAuthority findByUserId(HttpServletRequest request){
  32 + return realControAuthorityService.findByUserId(SecurityUtils.getCurrentUser().getId());
  33 + }
  34 +}
... ...
src/main/java/com/bsth/data/gpsdata/arrival/entity/ArrivalInfo.java
1   -package com.bsth.data.gpsdata.arrival.entity;
2   -
3   -/**
4   - * 到离站信息
5   - * Created by panzhao on 2017/2/20.
6   - */
7   -public class ArrivalInfo {
8   -
9   - private String lineCode;
10   -
11   - private String deviceId;
12   -
13   - /** 时间戳 */
14   - private Long ts;
15   -
16   - private String stop;
17   -
18   - private Integer upDown;
19   -
20   - private int inOut;
21   -
22   -
23   -}
  1 +package com.bsth.data.gpsdata.arrival.entity;
  2 +
  3 +/**
  4 + * 到离站信息
  5 + * Created by panzhao on 2017/2/20.
  6 + */
  7 +public class ArrivalInfo {
  8 +
  9 + private String lineCode;
  10 +
  11 + private String deviceId;
  12 +
  13 + /** 时间戳 */
  14 + private Long ts;
  15 +
  16 + private String stop;
  17 +
  18 + private Integer upDown;
  19 +
  20 + private int inOut;
  21 +
  22 +
  23 +}
... ...
src/main/java/com/bsth/data/gpsdata/arrival/handlers/InOutStationSignalHandle.java
... ... @@ -195,7 +195,7 @@ public class InOutStationSignalHandle extends SignalHandle{
195 195 //进站既进场
196 196 inStationAndInPark(sch, next);
197 197 //将gps转换为下一个班次走向的站内信号
198   - transformUpdown(gps, sch);
  198 + transformUpdown(gps, next);
199 199 }
200 200 }
201 201 else if(sch.getFcsjActual() == null){
... ... @@ -217,6 +217,11 @@ public class InOutStationSignalHandle extends SignalHandle{
217 217  
218 218 sendUtils.refreshSch(next);
219 219 dayOfSchedule.save(next);
  220 +
  221 + //分班的时候,需要再跳过1个班次
  222 + next = dayOfSchedule.next(next);
  223 + if(next != null)
  224 + dayOfSchedule.addExecPlan(next);
220 225 }
221 226 }
222 227  
... ...
src/main/java/com/bsth/data/schedule/DayOfSchedule.java
... ... @@ -49,6 +49,9 @@ public class DayOfSchedule implements CommandLineRunner {
49 49  
50 50 Logger logger = LoggerFactory.getLogger(this.getClass());
51 51  
  52 + //按线路分组的 “计划” 排班数据
  53 + public static Map<String, List<SchedulePlanInfo>> schedulePlanMap;
  54 +
52 55 // 按车辆分组的班次数据
53 56 private static ArrayListMultimap<String, ScheduleRealInfo> nbbmScheduleMap;
54 57  
... ... @@ -101,6 +104,8 @@ public class DayOfSchedule implements CommandLineRunner {
101 104 currSchDateMap = new HashMap<>();
102 105 nbbm2SEStationMap = TreeMultimap.create();
103 106 carExecutePlanMap = new HashMap<>();
  107 +
  108 + schedulePlanMap = new HashMap<>();
104 109 }
105 110  
106 111 @Autowired
... ... @@ -328,6 +333,8 @@ public class DayOfSchedule implements CommandLineRunner {
328 333  
329 334 // 查询计划排班
330 335 List<SchedulePlanInfo> planItr = cleanSchPlanItr(schPlanService.list(data).iterator());
  336 + //保存一份原始计划排班数据
  337 + schedulePlanMap.put(lineCode, planItr);
331 338  
332 339 // 转换为实际排班
333 340 realList = JSONArray.parseArray(JSON.toJSONString(planItr), ScheduleRealInfo.class);
... ... @@ -374,6 +381,7 @@ public class DayOfSchedule implements CommandLineRunner {
374 381 } catch (Exception e) {
375 382 logger.error("", e);
376 383 }
  384 +
377 385 return realList;
378 386 }
379 387  
... ...
src/main/java/com/bsth/entity/SectionRoute.java
... ... @@ -52,7 +52,7 @@ public class SectionRoute {
52 52 // 是否撤销
53 53 private Integer destroy;
54 54  
55   - /** 是否有路段限速数据 <0:无;1:有>*/
  55 + /** 是否有路段限速数据 <0:未分段;1:分段>*/
56 56 private Integer isRoadeSpeed;
57 57  
58 58 // 描述
... ...
src/main/java/com/bsth/entity/oil/Dlb.java 0 → 100644
  1 +package com.bsth.entity.oil;
  2 +
  3 +import java.text.DecimalFormat;
  4 +import java.util.Date;
  5 +
  6 +import javax.persistence.Entity;
  7 +import javax.persistence.GeneratedValue;
  8 +import javax.persistence.Id;
  9 +import javax.persistence.Table;
  10 +import javax.persistence.Transient;
  11 +
  12 +import org.springframework.format.annotation.DateTimeFormat;
  13 +
  14 +import com.bsth.data.BasicData;
  15 +
  16 +@Entity
  17 +@Table(name = "bsth_c_dlb")
  18 +public class Dlb {
  19 + @Id
  20 + @GeneratedValue
  21 + private Integer id;
  22 + @DateTimeFormat(pattern="yyyy-MM-dd")
  23 + private Date rq;
  24 + private String xlbm;
  25 + private String ssgsdm;
  26 + private String fgsdm;
  27 + private String nbbm;
  28 + private String jsy;
  29 + private Double czlc=0.0;
  30 + private Double jzlc=0.0;
  31 + //出站存电
  32 + private Double czcd=0.0;
  33 + //进站存电
  34 + private Double jzcd=0.0;
  35 + //充电量
  36 + private Double cdl;
  37 + private int sfkt;
  38 + private String jhsj;
  39 + //耗电
  40 + private Double hd=0.0;
  41 + private Double sh=0.0;
  42 + private String shyy;
  43 + private Double zlc=0.0;
  44 + private int yhlx;
  45 +
  46 + private Double ns=0.0;
  47 + private Double fyylc=0.0;
  48 + private Double jhzlc=0.0;
  49 + private Double jhfyylc=0.0;
  50 + private int jhzbc;
  51 + private int jhbc;
  52 + private int sjzbc;
  53 + private int sjbc;
  54 + private String edituser;
  55 + private Date edittime;
  56 + private Date createtime;
  57 + private int nylx;
  58 + //进场顺序(根据最先出场和最后进场来关联车辆的存油量)
  59 + private int jcsx;
  60 +
  61 + @Transient
  62 + private String bglyh;
  63 +
  64 + @Transient
  65 + private String xlname;
  66 +
  67 + @Transient
  68 + private String gsname;
  69 +
  70 +
  71 +
  72 +
  73 + public Integer getId() {
  74 + return id;
  75 + }
  76 +
  77 + public void setId(Integer id) {
  78 + this.id = id;
  79 + }
  80 +
  81 + public Date getRq() {
  82 + return rq;
  83 + }
  84 +
  85 + public void setRq(Date rq) {
  86 + this.rq = rq;
  87 + }
  88 +
  89 + public String getXlbm() {
  90 + return xlbm;
  91 + }
  92 +
  93 + public void setXlbm(String xlbm) {
  94 + this.xlbm = xlbm;
  95 + }
  96 +
  97 + public String getSsgsdm() {
  98 + return ssgsdm;
  99 + }
  100 +
  101 + public void setSsgsdm(String ssgsdm) {
  102 + this.ssgsdm = ssgsdm;
  103 + }
  104 +
  105 + public String getFgsdm() {
  106 + return fgsdm;
  107 + }
  108 +
  109 + public void setFgsdm(String fgsdm) {
  110 + this.fgsdm = fgsdm;
  111 + }
  112 +
  113 + public String getNbbm() {
  114 + return nbbm;
  115 + }
  116 +
  117 + public void setNbbm(String nbbm) {
  118 + this.nbbm = nbbm;
  119 + }
  120 +
  121 + public String getJsy() {
  122 + return jsy;
  123 + }
  124 +
  125 + public void setJsy(String jsy) {
  126 + this.jsy = jsy;
  127 + }
  128 +
  129 + public Double getCzlc() {
  130 + return czlc;
  131 + }
  132 +
  133 + public void setCzlc(Double czlc) {
  134 + this.czlc = czlc;
  135 + }
  136 +
  137 + public Double getJzlc() {
  138 + return jzlc;
  139 + }
  140 +
  141 + public void setJzlc(Double jzlc) {
  142 + this.jzlc = jzlc;
  143 + }
  144 +
  145 + public Double getCzcd() {
  146 + return czcd;
  147 + }
  148 +
  149 + public void setCzcd(Double czcd) {
  150 + this.czcd = czcd;
  151 + }
  152 +
  153 + public Double getJzcd() {
  154 + return jzcd;
  155 + }
  156 +
  157 + public void setJzcd(Double jzcd) {
  158 + this.jzcd = jzcd;
  159 + }
  160 +
  161 + public Double getCdl() {
  162 + return cdl;
  163 + }
  164 +
  165 + public void setCdl(Double cdl) {
  166 + this.cdl = cdl;
  167 + }
  168 +
  169 + public int getSfkt() {
  170 + return sfkt;
  171 + }
  172 +
  173 + public void setSfkt(int sfkt) {
  174 + this.sfkt = sfkt;
  175 + }
  176 +
  177 + public String getJhsj() {
  178 + return jhsj;
  179 + }
  180 +
  181 + public void setJhsj(String jhsj) {
  182 + this.jhsj = jhsj;
  183 + }
  184 +
  185 + public Double getHd() {
  186 + return hd;
  187 + }
  188 +
  189 + public void setHd(Double hd) {
  190 + this.hd = hd;
  191 + }
  192 +
  193 + public Double getSh() {
  194 + return sh;
  195 + }
  196 +
  197 + public void setSh(Double sh) {
  198 + this.sh = sh;
  199 + }
  200 +
  201 + public String getShyy() {
  202 + return shyy;
  203 + }
  204 +
  205 + public void setShyy(String shyy) {
  206 + this.shyy = shyy;
  207 + }
  208 +
  209 + public Double getZlc() {
  210 + return zlc;
  211 + }
  212 +
  213 + public void setZlc(Double zlc) {
  214 + this.zlc = zlc;
  215 + }
  216 +
  217 + public int getYhlx() {
  218 + return yhlx;
  219 + }
  220 +
  221 + public void setYhlx(int yhlx) {
  222 + this.yhlx = yhlx;
  223 + }
  224 +
  225 + public Double getNs() {
  226 + return ns;
  227 + }
  228 +
  229 + public void setNs(Double ns) {
  230 + this.ns = ns;
  231 + }
  232 +
  233 + public Double getFyylc() {
  234 + return fyylc;
  235 + }
  236 +
  237 + public void setFyylc(Double fyylc) {
  238 + this.fyylc = fyylc;
  239 + }
  240 +
  241 + public Double getJhzlc() {
  242 + return jhzlc;
  243 + }
  244 +
  245 + public void setJhzlc(Double jhzlc) {
  246 + this.jhzlc = jhzlc;
  247 + }
  248 +
  249 + public Double getJhfyylc() {
  250 + return jhfyylc;
  251 + }
  252 +
  253 + public void setJhfyylc(Double jhfyylc) {
  254 + this.jhfyylc = jhfyylc;
  255 + }
  256 +
  257 + public int getJhzbc() {
  258 + return jhzbc;
  259 + }
  260 +
  261 + public void setJhzbc(int jhzbc) {
  262 + this.jhzbc = jhzbc;
  263 + }
  264 +
  265 + public int getJhbc() {
  266 + return jhbc;
  267 + }
  268 +
  269 + public void setJhbc(int jhbc) {
  270 + this.jhbc = jhbc;
  271 + }
  272 +
  273 + public int getSjzbc() {
  274 + return sjzbc;
  275 + }
  276 +
  277 + public void setSjzbc(int sjzbc) {
  278 + this.sjzbc = sjzbc;
  279 + }
  280 +
  281 + public int getSjbc() {
  282 + return sjbc;
  283 + }
  284 +
  285 + public void setSjbc(int sjbc) {
  286 + this.sjbc = sjbc;
  287 + }
  288 +
  289 + public String getEdituser() {
  290 + return edituser;
  291 + }
  292 +
  293 + public void setEdituser(String edituser) {
  294 + this.edituser = edituser;
  295 + }
  296 +
  297 + public Date getEdittime() {
  298 + return edittime;
  299 + }
  300 +
  301 + public void setEdittime(Date edittime) {
  302 + this.edittime = edittime;
  303 + }
  304 +
  305 + public Date getCreatetime() {
  306 + return createtime;
  307 + }
  308 +
  309 + public void setCreatetime(Date createtime) {
  310 + this.createtime = createtime;
  311 + }
  312 +
  313 + public int getNylx() {
  314 + return nylx;
  315 + }
  316 +
  317 + public void setNylx(int nylx) {
  318 + this.nylx = nylx;
  319 + }
  320 +
  321 + public int getJcsx() {
  322 + return jcsx;
  323 + }
  324 +
  325 + public void setJcsx(int jcsx) {
  326 + this.jcsx = jcsx;
  327 + }
  328 +
  329 + public String getBglyh() {
  330 + if(this.getZlc()==0){
  331 + return "0.00";
  332 + }else{
  333 + DecimalFormat df = new DecimalFormat("0.00");
  334 + return df.format(this.getHd()/this.getZlc()*100);
  335 + }
  336 + }
  337 +
  338 + public void setBglyh(String bglyh) {
  339 + this.bglyh = bglyh;
  340 + }
  341 +
  342 + public String getXlname() {
  343 + return BasicData.lineCode2NameMap.get(this.xlbm);
  344 + }
  345 +
  346 + public void setXlname(String xlname) {
  347 + this.xlname = xlname;
  348 + }
  349 +
  350 + public String getGsname() {
  351 + return BasicData.businessCodeNameMap.get(this.ssgsdm);
  352 + }
  353 +
  354 + public void setGsname(String gsname) {
  355 + this.gsname = gsname;
  356 + }
  357 +
  358 +
  359 +}
... ...
src/main/java/com/bsth/entity/oil/Jdl.java 0 → 100644
  1 +package com.bsth.entity.oil;
  2 +
  3 +import java.util.Date;
  4 +
  5 +import javax.persistence.Entity;
  6 +import javax.persistence.GeneratedValue;
  7 +import javax.persistence.Id;
  8 +import javax.persistence.Table;
  9 +
  10 +import org.springframework.format.annotation.DateTimeFormat;
  11 +
  12 +@Entity
  13 +@Table(name = "bsth_c_jdl")
  14 +public class Jdl {
  15 + @Id
  16 + @GeneratedValue
  17 + private Integer id;
  18 + @DateTimeFormat(pattern="yyyy-MM-dd")
  19 + private Date rq;
  20 + private String gsBm;
  21 + private String gsName;
  22 + private String fgsBm;
  23 + private String fgsName;
  24 + private String clZbh;
  25 + private Double jdl = 0.0;
  26 + private String jdz;
  27 + private String remarks;
  28 +
  29 +
  30 + public Integer getId() {
  31 + return id;
  32 + }
  33 + public void setId(Integer id) {
  34 + this.id = id;
  35 + }
  36 + public Date getRq() {
  37 + return rq;
  38 + }
  39 + public void setRq(Date rq) {
  40 + this.rq = rq;
  41 + }
  42 + public String getGsBm() {
  43 + return gsBm;
  44 + }
  45 + public void setGsBm(String gsBm) {
  46 + this.gsBm = gsBm;
  47 + }
  48 + public String getGsName() {
  49 + return gsName;
  50 + }
  51 + public void setGsName(String gsName) {
  52 + this.gsName = gsName;
  53 + }
  54 + public String getFgsBm() {
  55 + return fgsBm;
  56 + }
  57 + public void setFgsBm(String fgsBm) {
  58 + this.fgsBm = fgsBm;
  59 + }
  60 + public String getFgsName() {
  61 + return fgsName;
  62 + }
  63 + public void setFgsName(String fgsName) {
  64 + this.fgsName = fgsName;
  65 + }
  66 + public String getClZbh() {
  67 + return clZbh;
  68 + }
  69 + public void setClZbh(String clZbh) {
  70 + this.clZbh = clZbh;
  71 + }
  72 + public Double getJdl() {
  73 + return jdl;
  74 + }
  75 + public void setJdl(Double jdl) {
  76 + this.jdl = jdl;
  77 + }
  78 + public String getJdz() {
  79 + return jdz;
  80 + }
  81 + public void setJdz(String jdz) {
  82 + this.jdz = jdz;
  83 + }
  84 + public String getRemarks() {
  85 + return remarks;
  86 + }
  87 + public void setRemarks(String remarks) {
  88 + this.remarks = remarks;
  89 + }
  90 +
  91 +}
... ...
src/main/java/com/bsth/entity/realcontrol/ScheduleRealInfo.java
... ... @@ -344,6 +344,8 @@ public class ScheduleRealInfo {
344 344 }
345 345  
346 346 public String getsGh() {
  347 + if(sGh == null)
  348 + return "";
347 349 return sGh;
348 350 }
349 351  
... ... @@ -352,6 +354,8 @@ public class ScheduleRealInfo {
352 354 }
353 355  
354 356 public String getsName() {
  357 + if(sGh == null)
  358 + return "";
355 359 return sName;
356 360 }
357 361  
... ...
src/main/java/com/bsth/entity/schedule/SchedulePlan.java
... ... @@ -2,7 +2,6 @@ package com.bsth.entity.schedule;
2 2  
3 3 import com.bsth.entity.Line;
4 4 import com.bsth.entity.schedule.rule.ScheduleRule1;
5   -import com.bsth.entity.sys.SysUser;
6 5 import com.fasterxml.jackson.annotation.JsonIgnore;
7 6  
8 7 import javax.persistence.*;
... ... @@ -21,7 +20,7 @@ import java.util.List;
21 20 @NamedAttributeNode("ttInfo")
22 21 })
23 22 })
24   -public class SchedulePlan {
  23 +public class SchedulePlan extends BEntity {
25 24  
26 25 /** 主键Id */
27 26 @Id
... ... @@ -60,19 +59,6 @@ public class SchedulePlan {
60 59 @OneToMany(mappedBy = "schedulePlan", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
61 60 private List<SchedulePlanInfo> schedulePlanInfoList = new ArrayList<>();
62 61  
63   - /** 创建人 */
64   - @ManyToOne(cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)
65   - private SysUser createBy;
66   - /** 修改人 */
67   - @ManyToOne(cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)
68   - private SysUser updateBy;
69   - /** 创建日期 */
70   - @Column(updatable = false, name = "create_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP")
71   - private Date createDate;
72   - /** 修改日期 */
73   - @Column(name = "update_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP")
74   - private Date updateDate;
75   -
76 62 public Long getId() {
77 63 return id;
78 64 }
... ... @@ -129,38 +115,6 @@ public class SchedulePlan {
129 115 this.schedulePlanInfoList = schedulePlanInfoList;
130 116 }
131 117  
132   - public SysUser getCreateBy() {
133   - return createBy;
134   - }
135   -
136   - public void setCreateBy(SysUser createBy) {
137   - this.createBy = createBy;
138   - }
139   -
140   - public SysUser getUpdateBy() {
141   - return updateBy;
142   - }
143   -
144   - public void setUpdateBy(SysUser updateBy) {
145   - this.updateBy = updateBy;
146   - }
147   -
148   - public Date getCreateDate() {
149   - return createDate;
150   - }
151   -
152   - public void setCreateDate(Date createDate) {
153   - this.createDate = createDate;
154   - }
155   -
156   - public Date getUpdateDate() {
157   - return updateDate;
158   - }
159   -
160   - public void setUpdateDate(Date updateDate) {
161   - this.updateDate = updateDate;
162   - }
163   -
164 118 public String getTtInfoNames() {
165 119 return ttInfoNames;
166 120 }
... ...
src/main/java/com/bsth/entity/sys/RealControAuthority.java
1   -package com.bsth.entity.sys;
2   -
3   -import javax.persistence.*;
4   -
5   -/**
6   - * 线调权限配置
7   - * Created by panzhao on 2017/2/14.
8   - */
9   -@Entity
10   -@Table(name = "bsth_c_real_control_authority")
11   -public class RealControAuthority {
12   -
13   - @Id
14   - private Integer userId;
15   -
16   - /**
17   - * 可调度的线路 , 分隔多个
18   - */
19   - private String lineCodeStr;
20   -
21   - /**
22   - * 调度模式 0: 监控模式 1:主调模式
23   - */
24   - private int pattern;
25   -
26   - public Integer getUserId() {
27   - return userId;
28   - }
29   -
30   - public void setUserId(Integer userId) {
31   - this.userId = userId;
32   - }
33   -
34   - public String getLineCodeStr() {
35   - return lineCodeStr;
36   - }
37   -
38   - public void setLineCodeStr(String lineCodeStr) {
39   - this.lineCodeStr = lineCodeStr;
40   - }
41   -
42   - public int getPattern() {
43   - return pattern;
44   - }
45   -
46   - public void setPattern(int pattern) {
47   - this.pattern = pattern;
48   - }
49   -}
  1 +package com.bsth.entity.sys;
  2 +
  3 +import javax.persistence.*;
  4 +
  5 +/**
  6 + * 线调权限配置
  7 + * Created by panzhao on 2017/2/14.
  8 + */
  9 +@Entity
  10 +@Table(name = "bsth_c_real_control_authority")
  11 +public class RealControAuthority {
  12 +
  13 + @Id
  14 + private Integer userId;
  15 +
  16 + /**
  17 + * 可调度的线路 , 分隔多个
  18 + */
  19 + private String lineCodeStr;
  20 +
  21 + /**
  22 + * 调度模式 0: 监控模式 1:主调模式
  23 + */
  24 + private int pattern;
  25 +
  26 + public Integer getUserId() {
  27 + return userId;
  28 + }
  29 +
  30 + public void setUserId(Integer userId) {
  31 + this.userId = userId;
  32 + }
  33 +
  34 + public String getLineCodeStr() {
  35 + return lineCodeStr;
  36 + }
  37 +
  38 + public void setLineCodeStr(String lineCodeStr) {
  39 + this.lineCodeStr = lineCodeStr;
  40 + }
  41 +
  42 + public int getPattern() {
  43 + return pattern;
  44 + }
  45 +
  46 + public void setPattern(int pattern) {
  47 + this.pattern = pattern;
  48 + }
  49 +}
... ...
src/main/java/com/bsth/repository/oil/DlbRepository.java 0 → 100644
  1 +package com.bsth.repository.oil;
  2 +
  3 +import org.springframework.stereotype.Repository;
  4 +import com.bsth.entity.oil.Dlb;
  5 +import com.bsth.repository.BaseRepository;
  6 +
  7 +@Repository
  8 +public interface DlbRepository extends BaseRepository<Dlb, Integer>{
  9 +
  10 +}
... ...
src/main/java/com/bsth/repository/schedule/GuideboardInfoRepository.java
... ... @@ -3,6 +3,7 @@ package com.bsth.repository.schedule;
3 3 import java.util.List;
4 4 import java.util.Map;
5 5  
  6 +import com.bsth.entity.Line;
6 7 import com.bsth.entity.schedule.EmployeeConfigInfo;
7 8 import com.bsth.entity.schedule.GuideboardInfo;
8 9 import com.bsth.repository.BaseRepository;
... ... @@ -37,4 +38,8 @@ public interface GuideboardInfoRepository extends BaseRepository&lt;GuideboardInfo,
37 38 "where td.ttinfo.id=?1 " +
38 39 "group by td.ttinfo.id, td.lp.id, td.lp.lpName")
39 40 List<Map<String, Object>> findLpName(Long ttid);
  41 +
  42 + @Query(value = "SELECT g FROM GuideboardInfo g where g.xl =?1 and g.lpName = ?2 and g.lpNo = ?3 and lpType =?4 and isCancel = 0")
  43 + List<GuideboardInfo> validateLp(Line xl,String lpName , int lpNo,String lpType);
  44 +
40 45 }
... ...
src/main/java/com/bsth/repository/sys/RealControAuthorityRepository.java
1   -package com.bsth.repository.sys;
2   -
3   -import com.bsth.entity.sys.RealControAuthority;
4   -import com.bsth.repository.BaseRepository;
5   -import org.springframework.data.jpa.repository.Query;
6   -import org.springframework.stereotype.Repository;
7   -
8   -/**
9   - * Created by panzhao on 2017/2/14.
10   - */
11   -@Repository
12   -public interface RealControAuthorityRepository extends BaseRepository<RealControAuthority, Integer>{
13   -
14   - @Query("select t from RealControAuthority t where t.userId=?1")
15   - RealControAuthority findByUserId(Integer userId);
16   -}
  1 +package com.bsth.repository.sys;
  2 +
  3 +import com.bsth.entity.sys.RealControAuthority;
  4 +import com.bsth.repository.BaseRepository;
  5 +import org.springframework.data.jpa.repository.Query;
  6 +import org.springframework.stereotype.Repository;
  7 +
  8 +/**
  9 + * Created by panzhao on 2017/2/14.
  10 + */
  11 +@Repository
  12 +public interface RealControAuthorityRepository extends BaseRepository<RealControAuthority, Integer>{
  13 +
  14 + @Query("select t from RealControAuthority t where t.userId=?1")
  15 + RealControAuthority findByUserId(Integer userId);
  16 +}
... ...
src/main/java/com/bsth/service/impl/StationRouteServiceImpl.java
... ... @@ -11,6 +11,8 @@ import com.bsth.repository.StationRouteRepository;
11 11 import com.bsth.service.StationRouteService;
12 12 import com.bsth.util.FTPClientUtils;
13 13 import com.bsth.util.PackTarGZUtils;
  14 +import com.bsth.util.Geo.GeoUtils;
  15 +import com.bsth.util.Geo.Point;
14 16 import com.bsth.util.db.DBUtils_MS;
15 17 import com.google.common.base.Splitter;
16 18 import org.springframework.beans.factory.annotation.Autowired;
... ... @@ -556,9 +558,15 @@ public class StationRouteServiceImpl extends BaseServiceImpl&lt;StationRoute, Integ
556 558  
557 559 clientUtils.deleteFtpFile(url, port, username, password, remotePath, textFileName);
558 560  
559   - /** 行单文件内容 @param:<objects:站点路由;lineId:线路ID>*/
560   - String textStr = newTextFileToFTP(objects,lineId);
  561 + String textStr = "";
561 562  
  563 + boolean tempTag = ishxType(objects);
  564 +
  565 + if(tempTag)
  566 + textStr = hxTextFileToFtp(objects,lineId);// 环线行单文件内容
  567 + else
  568 + textStr = newTextFileToFTP(objects,lineId);/** 双向行单文件内容 @param:<objects:站点路由;lineId:线路ID>*/
  569 +
562 570 /*textStr = line.getName() + "\t" + "2" + "\r" + textStr;*/
563 571  
564 572 textStr = line.getName() + " " + "2" + "\r" + textStr;
... ... @@ -574,9 +582,6 @@ public class StationRouteServiceImpl extends BaseServiceImpl&lt;StationRoute, Integ
574 582 /** 获取txt文件 */
575 583 File textFile = clientUtils.GetFtpFile(url, port, username, password, remotePath, textFileName);
576 584  
577   - /*File[] sources = new File[] {textFile};*/
578   - //File[] sources = new File[] {textFile};
579   -
580 585 File target = new File(odlGzFileName);
581 586  
582 587 // 将txt文件打包
... ... @@ -603,6 +608,24 @@ public class StationRouteServiceImpl extends BaseServiceImpl&lt;StationRoute, Integ
603 608 }
604 609 return resultMap;
605 610 }
  611 + public boolean ishxType(List<Object[]> listObj) {
  612 + boolean tag = true;
  613 + String pointBStr[] = null,pointEStr[] = null;
  614 + int numzd = 0;
  615 + for(int i =0;i<listObj.size();i++) {
  616 + if(listObj.get(i)[3].equals("B") && Integer.valueOf(listObj.get(i)[8].toString())==0)
  617 + pointBStr = listObj.get(i)[2].toString().split(" ");
  618 + else if(listObj.get(i)[3].equals("E") && Integer.valueOf(listObj.get(i)[8].toString())==0)
  619 + pointEStr = listObj.get(i)[2].toString().split(" ");
  620 + if(Integer.valueOf(listObj.get(i)[8].toString())==1)
  621 + numzd++;
  622 + }
  623 + Point p1 = new Point(Double.valueOf(pointBStr[0]),Double.valueOf(pointBStr[1]));
  624 + Point p2 = new Point(Double.valueOf(pointEStr[0]),Double.valueOf(pointEStr[1]));
  625 + if(GeoUtils.getDistance(p1, p2)>100 && numzd>2)
  626 + tag = false;
  627 + return tag;
  628 + }
606 629  
607 630 /**
608 631 * @Description : TODO(形成行单文件内容)
... ... @@ -717,31 +740,79 @@ public class StationRouteServiceImpl extends BaseServiceImpl&lt;StationRoute, Integ
717 740 }
718 741  
719 742 }
720   -
721   - /*
722   - String bdJWPointStr = objects.get(i)[2].toString();
723   -
724   - String bdJWPointA[] = bdJWPointStr.split(" ");
725   -
726   - Map<String, Object> pointsM = new HashMap<String,Object>();
727   -
728   - pointsM.put("lng", bdJWPointA[0]);
729   -
730   - pointsM.put("lat", bdJWPointA[1]);
731   -
732   - System.out.println(objects.get(i)[7].toString());
733   -
734   - sleepStr = sleepStr + GetFormPointOnPolylineSeleepLimit(pointsM,sobje);*/
735 743 }
736 744  
737 745 stationRStr = stationRStr + lng + lat + stationMake + stationNo + stationCode + staitondistance + sleepStr + stationName + enterStr;
738   -
739 746 }
740 747  
741 748 }
742   -
743 749 return stationRStr;
744   -
  750 + }
  751 +
  752 + public String hxTextFileToFtp(List<Object[]> objects,Integer lineId) {
  753 + String restStr = "";
  754 + // windows下的文本文件换行符
  755 + //String enterStr = "\r\n";
  756 + // linux/unix下的文本文件换行符
  757 + String enterStr = "\r";
  758 + int xh = 1 ;
  759 + for(int x =0;x<2;x++) {
  760 + for(int i = 0; i<objects.size();i++) {
  761 + if(Integer.valueOf(objects.get(i)[8].toString())==0) {
  762 + // 经度
  763 + String lng = objects.get(i)[0].equals("") ? "" : objects.get(i)[0].toString();
  764 + // 纬度
  765 + String lat = objects.get(i)[1].equals("") ? "" : objects.get(i)[1].toString();
  766 + lat = "\t" + lat;
  767 + // 站点类型
  768 + String stationMakeStr = objects.get(i)[3].equals("") ? "" : objects.get(i)[3].toString();
  769 + String stationMake = "";
  770 + if(stationMakeStr.equals("E")) {
  771 + stationMake = "\t2";
  772 + }else {
  773 + stationMake ="\t1";
  774 + }
  775 + // 站点序号
  776 + // String stationNo = objects.get(i)[4].equals("") ? "" : objects.get(i)[4].toString();
  777 + String stationNo = "\t" + xh;
  778 + // 站点编码
  779 + String stationCode = objects.get(i)[5].equals("") ? "" : objects.get(i)[5].toString();
  780 + stationCode = "\t" +stationCode;
  781 + double dis = objects.get(i)[6]==null ? 0.0 : Double.parseDouble(objects.get(i)[6].toString())*1000;
  782 + String tempDistc = String.valueOf((int) dis);
  783 + // 站点距离
  784 + String staitondistance = "\t" + tempDistc;
  785 + // 站点名称
  786 + String stationName = objects.get(i)[7].equals("") ? "" : objects.get(i)[7].toString();
  787 + stationName = "\t" +stationName;
  788 + // 限速
  789 + String sleepStr = "";
  790 + // 方向
  791 + int directions = objects.get(i)[8]==null ? null : Integer.valueOf(objects.get(i)[8].toString());
  792 + /** 获取路段路由信息 @pararm:<lineId:线路ID;directions:方向> */
  793 + List<Object[]> sobje = routeRepository.sectionRouteVector(lineId,directions);
  794 + if(sobje.size()==1) {
  795 + double dsleepStr = sobje.get(0)[2] == null ? 60d : Double.valueOf(sobje.get(0)[2].toString());
  796 + sleepStr = "\t" + new DecimalFormat("0").format(dsleepStr);
  797 + }else if(sobje.size()>1){
  798 + /** 这里暂时只根据站点名称去匹配所在路段的限速值 ,如果路段名称"至"之前的地名与站点名称等同,就认为站点在路段上。 */
  799 + for(int j =0;j<sobje.size();j++) {
  800 + String sectionName = sobje.get(j)[3].toString();
  801 + String sectionNameA[] = sectionName.split("至");
  802 + if(stationName.equals(sectionNameA[0])){
  803 + /*sleepStr = sobje.get(j)[2].toString();*/
  804 + double dsleepStrt = sobje.get(0)[2] == null ? 60d : Double.valueOf(sobje.get(j)[2].toString());
  805 + sleepStr = "\t" + new DecimalFormat("0").format(dsleepStrt);
  806 + }
  807 + }
  808 + }
  809 + xh++;
  810 + restStr = restStr + lng + lat + stationMake + stationNo + stationCode + staitondistance + sleepStr + stationName + enterStr;
  811 + }
  812 + }
  813 + }
  814 + System.out.println(restStr);
  815 + return restStr;
745 816 }
746 817  
747 818 public String GetFormPointOnPolylineSeleepLimit(Map<String, Object> p,List<Object[]> listObjArra) {
... ...
src/main/java/com/bsth/service/oil/DlbService.java 0 → 100644
  1 +package com.bsth.service.oil;
  2 +
  3 +import com.bsth.entity.oil.Dlb;
  4 +import com.bsth.service.BaseService;
  5 +
  6 +public interface DlbService extends BaseService<Dlb, Integer>{
  7 +}
... ...
src/main/java/com/bsth/service/oil/impl/DlbServiceImpl.java 0 → 100644
  1 +package com.bsth.service.oil.impl;
  2 +
  3 +
  4 +
  5 +import org.springframework.stereotype.Service;
  6 +
  7 +import com.bsth.entity.oil.Dlb;
  8 +import com.bsth.service.impl.BaseServiceImpl;
  9 +import com.bsth.service.oil.DlbService;
  10 +
  11 +@Service
  12 +public class DlbServiceImpl extends BaseServiceImpl<Dlb,Integer> implements DlbService{
  13 +
  14 +
  15 +}
... ...
src/main/java/com/bsth/service/realcontrol/ScheduleRealInfoService.java
... ... @@ -148,4 +148,6 @@ public interface ScheduleRealInfoService extends BaseService&lt;ScheduleRealInfo, L
148 148 List<Map<String, Object>> scheduleDailyExport(Map<String, Object> map);
149 149  
150 150 Map<String, Object> exportWaybillMore(Map<String, Object> map);
  151 +
  152 + Map<String,Object> currentSchedulePlan(String lineCodes);
151 153 }
... ...
src/main/java/com/bsth/service/realcontrol/impl/ScheduleRealInfoServiceImpl.java
... ... @@ -34,6 +34,7 @@ import com.bsth.repository.realcontrol.SvgAttributeRepository;
34 34 import com.bsth.repository.schedule.CarConfigInfoRepository;
35 35 import com.bsth.repository.schedule.EmployeeConfigInfoRepository;
36 36 import com.bsth.repository.schedule.GuideboardInfoRepository;
  37 +import com.bsth.repository.schedule.SchedulePlanRepository;
37 38 import com.bsth.security.util.SecurityUtils;
38 39 import com.bsth.service.SectionRouteService;
39 40 import com.bsth.service.impl.BaseServiceImpl;
... ... @@ -55,11 +56,7 @@ import org.slf4j.LoggerFactory;
55 56 import org.springframework.beans.factory.annotation.Autowired;
56 57 import org.springframework.stereotype.Service;
57 58  
58   -import java.io.BufferedInputStream;
59   -import java.io.BufferedOutputStream;
60   -import java.io.File;
61   -import java.io.FileInputStream;
62   -import java.io.FileOutputStream;
  59 +import java.io.*;
63 60 import java.text.DecimalFormat;
64 61 import java.text.ParseException;
65 62 import java.text.SimpleDateFormat;
... ... @@ -1351,29 +1348,52 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
1351 1348 @Override
1352 1349 public List<ScheduleRealInfo> queryListWaybill(String jName, String clZbh,
1353 1350 String lpName, String date,String line) {
  1351 + List<ScheduleRealInfo> listSchedule=new ArrayList<ScheduleRealInfo>();
1354 1352 List<ScheduleRealInfo> list = null;
1355 1353 list = scheduleRealInfoRepository.queryListWaybill(jName, clZbh, lpName, date,line);
1356 1354 for (int i = 0; i < list.size(); i++) {
1357 1355 ScheduleRealInfo s = list.get(i);
  1356 + s.setAdjustExps(i+1+"");
1358 1357 String remarks = "";
1359 1358 if (s.getRemarks() != null) {
1360 1359 remarks += s.getRemarks();
1361 1360 }
  1361 +
1362 1362 Set<ChildTaskPlan> childTaskPlans = s.getcTasks();
1363   - if (!childTaskPlans.isEmpty()) {
1364   - Iterator<ChildTaskPlan> it = childTaskPlans.iterator();
1365   - while (it.hasNext()) {
1366   - ChildTaskPlan c = it.next();
1367   - if (c.getRemarks() != null && c.getRemarks().length() > 0) {
1368   - remarks += c.getRemarks();
1369   - }
1370   -
1371   - }
  1363 + if (childTaskPlans.isEmpty()) {
  1364 + if(s.getStatus()==-1){
  1365 + if(remarks.indexOf("烂班")>-1){
  1366 + remarks +="(烂班)";
  1367 + }
  1368 + s.setRemarks(remarks);
  1369 + }
  1370 +
  1371 + }else{
  1372 + s.setFcsjActual("");
  1373 + s.setZdsjActual("");
  1374 + }
  1375 + listSchedule.add(s);
  1376 + if(!childTaskPlans.isEmpty()){
  1377 + Iterator<ChildTaskPlan> it = childTaskPlans.iterator();
  1378 + while (it.hasNext()) {
  1379 + ChildTaskPlan c = it.next();
  1380 + if(!c.isDestroy()){
  1381 + ScheduleRealInfo t=new ScheduleRealInfo();
  1382 + t.setFcsjActual(c.getStartDate());
  1383 + t.setZdsjActual(c.getEndDate());
  1384 + t.setQdzName(c.getStartStationName());
  1385 + t.setZdzName(c.getEndStationName());
  1386 + t.setJhlc( Double.parseDouble(String.valueOf(c.getMileage())));
  1387 + t.setRemarks(c.getRemarks());
  1388 + t.setAdjustExps("子");
  1389 + listSchedule.add(t);
  1390 + }
  1391 + }
1372 1392 }
1373   - s.setRemarks(remarks);
  1393 +
1374 1394 }
1375 1395  
1376   - return list;
  1396 + return listSchedule;
1377 1397 }
1378 1398  
1379 1399 @Override
... ... @@ -3205,5 +3225,17 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
3205 3225 map.put("fileName", file.getName());
3206 3226 return map;
3207 3227 }
3208   -
  3228 +
  3229 +
  3230 + @Autowired
  3231 + SchedulePlanRepository schedulePlanRepository;
  3232 +
  3233 + @Override
  3234 + public Map<String, Object> currentSchedulePlan(String lineCodes) {
  3235 + List<String> codes = Splitter.on(",").splitToList(lineCodes);
  3236 +
  3237 + //List<SchedulePlan> list = schedulePlanRepository.findByMultiLineCode(codes);
  3238 + //System.out.println(list);
  3239 + return null;
  3240 + }
3209 3241 }
3210 3242 \ No newline at end of file
... ...
src/main/java/com/bsth/service/schedule/SchedulePlanService.java
1 1 package com.bsth.service.schedule;
2 2  
3 3 import com.bsth.entity.schedule.SchedulePlan;
4   -import com.bsth.service.BaseService;
5 4  
6 5 /**
7 6 * Created by xu on 16/6/16.
8 7 */
9   -public interface SchedulePlanService extends BaseService<SchedulePlan, Long> {
  8 +public interface SchedulePlanService extends BService<SchedulePlan, Long> {
10 9 /**
11 10 * 获取有明日排班的计划。
12 11 * @return
... ...
src/main/java/com/bsth/service/schedule/TTInfoDetailService.java
... ... @@ -6,6 +6,7 @@ import org.apache.commons.lang3.StringUtils;
6 6  
7 7 import java.util.ArrayList;
8 8 import java.util.List;
  9 +import java.util.Map;
9 10  
10 11 /**
11 12 * Created by xu on 16/7/2.
... ... @@ -52,7 +53,7 @@ public interface TTInfoDetailService extends BService&lt;TTInfoDetail, Long&gt; {
52 53 this.xldir = xldir;
53 54 if ("N".equals(isfb))
54 55 this.isfb = false;
55   - else if ("Y".equals(isfb))
  56 + else if ("Y".equals(isfb) || "true".equals(isfb))
56 57 this.isfb = true;
57 58 else
58 59 this.isfb = false;
... ... @@ -200,5 +201,5 @@ public interface TTInfoDetailService extends BService&lt;TTInfoDetail, Long&gt; {
200 201 // TODO:这个方法可以用通用方法解决,以后改
201 202 List<TTInfoDetail> findBcdetails(Integer xlId, Long ttinfoId, Long lpId);
202 203  
203   -
  204 + Map<String, Object> skbDetailMxSave(Map<String, Object> map);
204 205 }
... ...
src/main/java/com/bsth/service/schedule/SchedulePlanServiceImpl.java renamed to src/main/java/com/bsth/service/schedule/impl/SchedulePlanServiceImpl.java
1   -package com.bsth.service.schedule;
  1 +package com.bsth.service.schedule.impl;
2 2  
3 3 import com.bsth.entity.Line;
4 4 import com.bsth.entity.schedule.*;
5 5 import com.bsth.entity.schedule.rule.ScheduleRule1Flat;
6 6 import com.bsth.repository.schedule.SchedulePlanInfoRepository;
7 7 import com.bsth.repository.schedule.SchedulePlanRepository;
8   -import com.bsth.service.impl.BaseServiceImpl;
  8 +import com.bsth.service.schedule.SchedulePlanService;
9 9 import com.bsth.service.schedule.rules.shiftloop.ScheduleCalcuParam_input;
10 10 import com.bsth.service.schedule.rules.shiftloop.ScheduleResult_output;
11 11 import com.bsth.service.schedule.rules.shiftloop.ScheduleResults_output;
... ... @@ -28,7 +28,7 @@ import java.util.*;
28 28 * Created by xu on 16/6/16.
29 29 */
30 30 @Service
31   -public class SchedulePlanServiceImpl extends BaseServiceImpl<SchedulePlan, Long> implements SchedulePlanService {
  31 +public class SchedulePlanServiceImpl extends BServiceImpl<SchedulePlan, Long> implements SchedulePlanService {
32 32 @Autowired
33 33 private KieBase kieBase;
34 34 @Autowired
... ... @@ -40,7 +40,7 @@ public class SchedulePlanServiceImpl extends BaseServiceImpl&lt;SchedulePlan, Long&gt;
40 40  
41 41 @Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.READ_COMMITTED)
42 42 @Override
43   - public Map<String, Object> save(SchedulePlan schedulePlan) {
  43 + public SchedulePlan save(SchedulePlan schedulePlan) {
44 44 // 1-1、查找线路具体信息
45 45 Line xl = strategy.getLine(schedulePlan.getXl().getId());
46 46 // 1-2、查出指定线路的所有规则
... ... @@ -126,7 +126,9 @@ public class SchedulePlanServiceImpl extends BaseServiceImpl&lt;SchedulePlan, Long&gt;
126 126  
127 127 // 3-2、保存生成的排班和明细
128 128 schedulePlan.getSchedulePlanInfoList().addAll(schedulePlanInfos); // 关联的排班明细信息
129   - return super.save(schedulePlan);
  129 + super.save(schedulePlan);
  130 +
  131 + return new SchedulePlan();
130 132 }
131 133  
132 134 @Override
... ...
src/main/java/com/bsth/service/schedule/impl/TTInfoDetailServiceImpl.java
1 1 package com.bsth.service.schedule.impl;
2 2  
  3 +import com.alibaba.fastjson.JSONArray;
  4 +import com.alibaba.fastjson.JSONObject;
  5 +import com.bsth.common.ResponseCode;
3 6 import com.bsth.entity.CarPark;
  7 +import com.bsth.entity.Line;
4 8 import com.bsth.entity.LineInformation;
5 9 import com.bsth.entity.StationRoute;
6 10 import com.bsth.entity.schedule.GuideboardInfo;
7 11 import com.bsth.entity.schedule.TTInfoDetail;
  12 +import com.bsth.repository.CarParkRepository;
  13 +import com.bsth.repository.LineRepository;
  14 +import com.bsth.repository.StationRepository;
  15 +import com.bsth.repository.schedule.GuideboardInfoRepository;
8 16 import com.bsth.repository.schedule.TTInfoDetailRepository;
  17 +import com.bsth.repository.schedule.TTInfoRepository;
9 18 import com.bsth.service.CarParkService;
10 19 import com.bsth.service.LineInformationService;
11 20 import com.bsth.service.StationRouteService;
... ... @@ -58,7 +67,16 @@ public class TTInfoDetailServiceImpl extends BServiceImpl&lt;TTInfoDetail, Long&gt; im
58 67 private TTInfoDetailRepository ttInfoDetailRepository;
59 68 @Autowired
60 69 private DataToolsProperties dataToolsProperties;
61   -
  70 + @Autowired
  71 + private LineRepository lineRepository;
  72 + @Autowired
  73 + private TTInfoRepository infoRepository;
  74 + @Autowired
  75 + private StationRepository staRepository;
  76 + @Autowired
  77 + private CarParkRepository carParkRepository;
  78 + @Autowired
  79 + private GuideboardInfoRepository guideboardInfoRepository;
62 80 @Autowired
63 81 @Qualifier(value = "dataToolsServiceImpl")
64 82 private DataToolsService dataToolsService;
... ... @@ -512,5 +530,84 @@ public class TTInfoDetailServiceImpl extends BServiceImpl&lt;TTInfoDetail, Long&gt; im
512 530 public List<TTInfoDetail> findBcdetails(Integer xlId, Long ttinfoId, Long lpId) {
513 531 return ttInfoDetailRepository.findBcdetails(xlId, ttinfoId, lpId);
514 532 }
515   -
  533 +
  534 + @Override
  535 + public Map<String, Object> skbDetailMxSave(Map<String, Object> map) {
  536 + Map<String, Object> rs_m = new HashMap<String,Object>();
  537 + try {
  538 + String d = map.get("d") == null ? null : map.get("d").toString();
  539 + if(d!=null)
  540 + ttInfoDetailRepository.save(jsonArrayToListEntity(d));
  541 + } catch (Exception e) {
  542 + e.printStackTrace();
  543 + rs_m.put("status", ResponseCode.ERROR);
  544 + }
  545 + rs_m.put("status", ResponseCode.SUCCESS);
  546 + return rs_m;
  547 + }
  548 +
  549 + public List<TTInfoDetail> jsonArrayToListEntity(String jsonStr) throws Exception {
  550 + List<TTInfoDetail> listTd = new ArrayList<TTInfoDetail>();
  551 + JSONArray jsonArray = JSONArray.parseArray(jsonStr);
  552 + for(int i =0; i<jsonArray.size();i++) {
  553 + JSONObject jsonObj = jsonArray.getJSONObject(i);
  554 + if(jsonObj.getString("bcType").equals("bd") || jsonObj.getString("bcType").equals("lc") || jsonObj.getString("bcType").equals("cf"))
  555 + continue;
  556 + listTd.add(objToEntity(jsonObj));
  557 + }
  558 + return listTd;
  559 + }
  560 +
  561 + public TTInfoDetail objToEntity(JSONObject obj) throws Exception {
  562 + TTInfoDetail td = new TTInfoDetail();
  563 + Line xl = lineRepository.findOne(Integer.parseInt(obj.getString("xl")));
  564 + td.setXl(xl);
  565 + td.setTtinfo(obj.getString("ttinfo") == null ? null : infoRepository.findOne(Long.parseLong(obj.getString("ttinfo"))));
  566 + td.setLp(getLp(xl,obj.getString("lp"),Integer.parseInt(obj.getString("lp")),obj.getString("lpType")));
  567 + td.setFcno(Integer.parseInt(obj.getString("fcno")));
  568 + td.setXlDir(dirToCod(obj.get("xlDir").toString()));
  569 + td.setQdz( obj.getString("qdz") ==null? null : staRepository.findOne(Integer.parseInt(obj.getString("qdz"))));
  570 + td.setZdz(obj.getString("zdz") ==null ? null :staRepository.findOne(Integer.parseInt(obj.getString("zdz"))));
  571 + td.setTcc(carParkRepository.findOne(Integer.parseInt(obj.getString("tcc"))));
  572 + td.setFcsj(obj.getString("fcsj"));
  573 + td.setBcs(Integer.parseInt(obj.getString("bcs")));
  574 + td.setJhlc(Double.parseDouble(obj.getString("jhlc")));
  575 + td.setBcsj(Integer.parseInt(obj.getString("bcsj")));
  576 + td.setBcType(obj.getString("bcType"));
  577 + td.setIsFB(false);
  578 + td.setIsSwitchXl(false);
  579 + td.setSwitchXl(null);
  580 + td.setSwitchXlDesc(null);
  581 + td.setRemark(null);
  582 + td.setCreateBy(null);
  583 + td.setUpdateBy(null);
  584 + return td;
  585 + }
  586 +
  587 + public GuideboardInfo getLp(Line xl,String name, int code, String lpType) throws Exception {
  588 + GuideboardInfo entity = new GuideboardInfo();
  589 + List<GuideboardInfo> lgi = guideboardInfoRepository.validateLp(xl, name, code,lpType);
  590 + if(lgi.size()>0) {
  591 + entity = lgi.get(0);
  592 + }else{
  593 + entity.setXl(xl);
  594 + entity.setLpNo(code);
  595 + entity.setLpName(name);
  596 + entity.setLpType(lpType);
  597 + entity.setIsCancel(false);
  598 + entity.setCreateBy(null);
  599 + entity.setUpdateBy(null);
  600 + guideboardInfoRepository.save(entity);
  601 + }
  602 + return entity;
  603 + }
  604 +
  605 + public String dirToCod(String str) throws Exception {
  606 + String c = "";
  607 + if(str.equals("relationshipGraph-up"))
  608 + c = "0";
  609 + else if(str.equals("relationshipGraph-down"))
  610 + c = "1";
  611 + return c;
  612 + }
516 613 }
... ...
src/main/java/com/bsth/service/sys/RealControAuthorityService.java
1   -package com.bsth.service.sys;
2   -
3   -import com.bsth.entity.sys.RealControAuthority;
4   -import com.bsth.service.BaseService;
5   -
6   -/**
7   - * Created by panzhao on 2017/2/14.
8   - */
9   -public interface RealControAuthorityService extends BaseService<RealControAuthority, Integer> {
10   - RealControAuthority findByUserId(Integer userId);
11   -}
  1 +package com.bsth.service.sys;
  2 +
  3 +import com.bsth.entity.sys.RealControAuthority;
  4 +import com.bsth.service.BaseService;
  5 +
  6 +/**
  7 + * Created by panzhao on 2017/2/14.
  8 + */
  9 +public interface RealControAuthorityService extends BaseService<RealControAuthority, Integer> {
  10 + RealControAuthority findByUserId(Integer userId);
  11 +}
... ...
src/main/java/com/bsth/service/sys/impl/RealControAuthorityServiceImpl.java
1   -package com.bsth.service.sys.impl;
2   -
3   -import com.bsth.entity.sys.RealControAuthority;
4   -import com.bsth.repository.sys.RealControAuthorityRepository;
5   -import com.bsth.service.impl.BaseServiceImpl;
6   -import com.bsth.service.sys.RealControAuthorityService;
7   -import org.springframework.beans.factory.annotation.Autowired;
8   -import org.springframework.stereotype.Service;
9   -
10   -/**
11   - * Created by panzhao on 2017/2/14.
12   - */
13   -@Service
14   -public class RealControAuthorityServiceImpl extends BaseServiceImpl<RealControAuthority, Integer> implements RealControAuthorityService {
15   -
16   - @Autowired
17   - RealControAuthorityRepository realControAuthorityRepository;
18   -
19   - @Override
20   - public RealControAuthority findByUserId(Integer userId) {
21   - return realControAuthorityRepository.findByUserId(userId);
22   - }
23   -}
  1 +package com.bsth.service.sys.impl;
  2 +
  3 +import com.bsth.entity.sys.RealControAuthority;
  4 +import com.bsth.repository.sys.RealControAuthorityRepository;
  5 +import com.bsth.service.impl.BaseServiceImpl;
  6 +import com.bsth.service.sys.RealControAuthorityService;
  7 +import org.springframework.beans.factory.annotation.Autowired;
  8 +import org.springframework.stereotype.Service;
  9 +
  10 +/**
  11 + * Created by panzhao on 2017/2/14.
  12 + */
  13 +@Service
  14 +public class RealControAuthorityServiceImpl extends BaseServiceImpl<RealControAuthority, Integer> implements RealControAuthorityService {
  15 +
  16 + @Autowired
  17 + RealControAuthorityRepository realControAuthorityRepository;
  18 +
  19 + @Override
  20 + public RealControAuthority findByUserId(Integer userId) {
  21 + return realControAuthorityRepository.findByUserId(userId);
  22 + }
  23 +}
... ...
src/main/java/com/bsth/util/Geo/SHCJ2BDJW.java
... ... @@ -27,9 +27,11 @@ public class SHCJ2BDJW {
27 27  
28 28 /*String sqlSelect = "SELECT b.SHAPESTRING as SHAPE , b.id as ID FROM jjwgps_t_gjldb b where SHAPESTRING is not null order by b.ldbh asc ";*/
29 29 /*String sqlSelect = "select s.id,s.descriptions from bsth_c_station s order by s.id asc ";*/
30   - String sqlSelect = "SELECT s.id,s.descriptions FROM bsth_c_section s order by s.id asc ";
  30 + String sqlSelect = "select s.id,s.x,s.y from bsth_c_station s where id >=26882 order by s.id asc";
  31 + /*String sqlSelect = "SELECT s.id,s.descriptions FROM bsth_c_section s order by s.id asc ";*/
31 32  
32   - String sqlUpdate = "UPDATE bsth_c_section SET csection_vector = ST_GeomFromText(?) , bsection_vector=ST_GeomFromText(?) , gsection_vector=ST_GeomFromText(?) where id = ?";
  33 + /*String sqlUpdate = "UPDATE bsth_c_section SET csection_vector = ST_GeomFromText(?) , bsection_vector=ST_GeomFromText(?) , gsection_vector=ST_GeomFromText(?) where id = ?";*/
  34 + String sqlUpdate = "UPDATE bsth_c_station SET b_jwpoints= ? , g_lonx=? , g_laty=? where id = ?";
33 35  
34 36 List<Map<String, Object>> list = new ArrayList<>();
35 37  
... ... @@ -44,8 +46,9 @@ public class SHCJ2BDJW {
44 46  
45 47 Map<String, Object> map = new HashMap<String, Object>();
46 48  
47   - map.put("descriptions", rs.getString("descriptions"));
48   -
  49 + /*map.put("descriptions", rs.getString("descriptions"));*/
  50 + map.put("x", rs.getString("x"));
  51 + map.put("y", rs.getString("y"));
49 52 map.put("id", rs.getInt("id"));
50 53  
51 54 list.add(map);
... ... @@ -55,10 +58,21 @@ public class SHCJ2BDJW {
55 58  
56 59 Map<String, Object> temp = list.get(i);
57 60 // POINT (8229.30921617 -933.16425265)
58   - String lineString = temp.get("descriptions").toString();
59   - int id = Integer.parseInt(temp.get("id").toString());
  61 + //String lineString = temp.get("descriptions").toString();
  62 +
  63 + Double lng = Double.parseDouble(temp.get("x").toString());
  64 + Double lat = Double.parseDouble(temp.get("y").toString());
  65 + Map map_2 = JWDUtil.ConvertSHToJW(lng,lat);
60 66  
61   - String arrayP[] = lineString.substring(lineString.indexOf("(")+1, lineString.length()-1).split(", ");
  67 + String b_jwpoints = "";
  68 + Float g_lonx=0.0f,g_laty=0.0f;
  69 + int id = Integer.parseInt(temp.get("id").toString());
  70 + g_lonx = Float.parseFloat(map_2.get("x").toString());
  71 + g_laty = Float.parseFloat(map_2.get("y").toString());
  72 + Location location = TransGPS.LocationMake(Float.parseFloat(map_2.get("x").toString()), Float.parseFloat(map_2.get("y").toString()));
  73 + location = TransGPS.bd_encrypt(TransGPS.transformFromWGSToGCJ(location));
  74 + b_jwpoints = (location.getLng()+0.000727) + " " + (location.getLat() - 0.0000624);
  75 + //String arrayP[] = lineString.substring(lineString.indexOf("(")+1, lineString.length()-1).split(", ");
62 76 /*String arrayP[] = lineString.substring(lineString.indexOf("(")+1, lineString.length()-1).split(" ");
63 77 String b_jwpoints = "";
64 78 Float g_lonx=0.0f,g_laty=0.0f,x=0.0f,y=0.0f;*/
... ... @@ -76,7 +90,7 @@ public class SHCJ2BDJW {
76 90 b_jwpoints = (location.getLng()+0.000727) + " " + (location.getLat() - 0.0000624);*/
77 91 //b_jwpoints = (location.getLng()) + " " + (location.getLat());
78 92  
79   - String csection_vector="",bsection_vector="",gsection_vector="";
  93 + /* String csection_vector="",bsection_vector="",gsection_vector="";
80 94  
81 95 for(int k =0;k<arrayP.length;k++) {
82 96  
... ... @@ -103,20 +117,20 @@ public class SHCJ2BDJW {
103 117 }
104 118  
105 119  
106   - }
  120 + }*/
107 121  
108 122 ps = null;
109   - bsection_vector = "LINESTRING(" + bsection_vector +")";
110   - csection_vector = "LINESTRING(" + csection_vector +")";
111   - gsection_vector = "LINESTRING(" + gsection_vector +")";
  123 + //bsection_vector = "LINESTRING(" + bsection_vector +")";
  124 + //csection_vector = "LINESTRING(" + csection_vector +")";
  125 + //gsection_vector = "LINESTRING(" + gsection_vector +")";
112 126  
113 127 ps = conn.prepareStatement(sqlUpdate);
114 128  
115 129 // String sqlUpdate = "UPDATE bsth_c_section SET csection_vector = ? , bsection_vector=? , gsection_vector=? where id = ?";
116   - ps.setString(1, csection_vector);
117   - ps.setString(2, bsection_vector);
118   - ps.setString(3, gsection_vector);
119   - ps.setInt(4, id);
  130 + //ps.setString(1, csection_vector);
  131 + //ps.setString(2, bsection_vector);
  132 + //ps.setString(3, gsection_vector);
  133 + //ps.setInt(4, id);
120 134  
121 135 //int stauts = ps.executeUpdate();
122 136 // String sqlUpdate = "UPDATE bsth_c_station SET b_jwpoints = ?1 , g_lonx=?2 , g_laty=?3 , x = ?4 , y = ?5 where id = ?6";
... ... @@ -126,6 +140,11 @@ public class SHCJ2BDJW {
126 140 ps.setFloat(4, x);
127 141 ps.setFloat(5, y);
128 142 ps.setFloat(6, id);*/
  143 +
  144 + ps.setString(1, b_jwpoints);
  145 + ps.setFloat(2, g_lonx);
  146 + ps.setFloat(3, g_laty);
  147 + ps.setFloat(4, id);
129 148 int stauts = ps.executeUpdate();
130 149 System.out.println(stauts);
131 150 }
... ...
src/main/resources/application-dev.properties
... ... @@ -6,14 +6,11 @@ spring.jpa.hibernate.ddl-auto= update
6 6 spring.jpa.hibernate.naming_strategy= org.hibernate.cfg.ImprovedNamingStrategy
7 7 #DATABASE
8 8 spring.jpa.database= MYSQL
9   -spring.jpa.show-sql= true
10   -#spring.datasource.driver-class-name= com.mysql.jdbc.Driver
11   -#spring.datasource.url= jdbc:mysql://192.168.168.201/mh_control?useUnicode=true&characterEncoding=utf-8&useSSL=false
12   -#spring.datasource.username= root
13   -#spring.datasource.password= 123456
14   -spring.datasource.url= jdbc:mysql://localhost/mh_control?useUnicode=true&characterEncoding=utf-8&useSSL=false
  9 +spring.jpa.show-sql= false
  10 +spring.datasource.driver-class-name= com.mysql.jdbc.Driver
  11 +spring.datasource.url= jdbc:mysql://192.168.168.201/:3306/mh_control?useUnicode=true&characterEncoding=utf-8&useSSL=false
15 12 spring.datasource.username= root
16   -spring.datasource.password= root
  13 +spring.datasource.password= 123456
17 14 #DATASOURCE
18 15 spring.datasource.max-active=100
19 16 spring.datasource.max-idle=8
... ...
src/main/resources/datatools/ktrs/carsConfigDataInput.ktr
1   -<?xml version="1.0" encoding="UTF-8"?>
2   -<transformation>
3   - <info>
4   - <name>&#x8f66;&#x8f86;&#x914d;&#x7f6e;&#x4fe1;&#x606f;&#x5bfc;&#x5165;</name>
5   - <description>&#x8f66;&#x8f86;&#x914d;&#x7f6e;&#x4fe1;&#x606f;&#x5bfc;&#x5165;</description>
6   - <extended_description>&#x914d;&#x8f66;&#x4fe1;&#x606f;</extended_description>
7   - <trans_version/>
8   - <trans_type>Normal</trans_type>
9   - <trans_status>0</trans_status>
10   - <directory>&#x2f;</directory>
11   - <parameters>
12   - <parameter>
13   - <name>erroroutputdir</name>
14   - <default_value/>
15   - <description>ktr step&#x914d;&#x7f6e;&#x7684;&#x9519;&#x8bef;&#x8f93;&#x51fa;&#x76ee;&#x5f55;</description>
16   - </parameter>
17   - <parameter>
18   - <name>filepath</name>
19   - <default_value/>
20   - <description>&#x5f85;&#x5904;&#x7406;&#x5bfc;&#x5165;&#x7684;excel&#x6587;&#x4ef6;</description>
21   - </parameter>
22   - </parameters>
23   - <log>
24   -<trans-log-table><connection/>
25   -<schema/>
26   -<table/>
27   -<size_limit_lines/>
28   -<interval/>
29   -<timeout_days/>
30   -<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STATUS</id><enabled>Y</enabled><name>STATUS</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name><subject/></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name><subject/></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name><subject/></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name><subject/></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name><subject/></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name><subject/></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>STARTDATE</id><enabled>Y</enabled><name>STARTDATE</name></field><field><id>ENDDATE</id><enabled>Y</enabled><name>ENDDATE</name></field><field><id>LOGDATE</id><enabled>Y</enabled><name>LOGDATE</name></field><field><id>DEPDATE</id><enabled>Y</enabled><name>DEPDATE</name></field><field><id>REPLAYDATE</id><enabled>Y</enabled><name>REPLAYDATE</name></field><field><id>LOG_FIELD</id><enabled>Y</enabled><name>LOG_FIELD</name></field><field><id>EXECUTING_SERVER</id><enabled>N</enabled><name>EXECUTING_SERVER</name></field><field><id>EXECUTING_USER</id><enabled>N</enabled><name>EXECUTING_USER</name></field><field><id>CLIENT</id><enabled>N</enabled><name>CLIENT</name></field></trans-log-table>
31   -<perf-log-table><connection/>
32   -<schema/>
33   -<table/>
34   -<interval/>
35   -<timeout_days/>
36   -<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>SEQ_NR</id><enabled>Y</enabled><name>SEQ_NR</name></field><field><id>LOGDATE</id><enabled>Y</enabled><name>LOGDATE</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STEPNAME</id><enabled>Y</enabled><name>STEPNAME</name></field><field><id>STEP_COPY</id><enabled>Y</enabled><name>STEP_COPY</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>INPUT_BUFFER_ROWS</id><enabled>Y</enabled><name>INPUT_BUFFER_ROWS</name></field><field><id>OUTPUT_BUFFER_ROWS</id><enabled>Y</enabled><name>OUTPUT_BUFFER_ROWS</name></field></perf-log-table>
37   -<channel-log-table><connection/>
38   -<schema/>
39   -<table/>
40   -<timeout_days/>
41   -<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>LOGGING_OBJECT_TYPE</id><enabled>Y</enabled><name>LOGGING_OBJECT_TYPE</name></field><field><id>OBJECT_NAME</id><enabled>Y</enabled><name>OBJECT_NAME</name></field><field><id>OBJECT_COPY</id><enabled>Y</enabled><name>OBJECT_COPY</name></field><field><id>REPOSITORY_DIRECTORY</id><enabled>Y</enabled><name>REPOSITORY_DIRECTORY</name></field><field><id>FILENAME</id><enabled>Y</enabled><name>FILENAME</name></field><field><id>OBJECT_ID</id><enabled>Y</enabled><name>OBJECT_ID</name></field><field><id>OBJECT_REVISION</id><enabled>Y</enabled><name>OBJECT_REVISION</name></field><field><id>PARENT_CHANNEL_ID</id><enabled>Y</enabled><name>PARENT_CHANNEL_ID</name></field><field><id>ROOT_CHANNEL_ID</id><enabled>Y</enabled><name>ROOT_CHANNEL_ID</name></field></channel-log-table>
42   -<step-log-table><connection/>
43   -<schema/>
44   -<table/>
45   -<timeout_days/>
46   -<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STEPNAME</id><enabled>Y</enabled><name>STEPNAME</name></field><field><id>STEP_COPY</id><enabled>Y</enabled><name>STEP_COPY</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>LOG_FIELD</id><enabled>N</enabled><name>LOG_FIELD</name></field></step-log-table>
47   -<metrics-log-table><connection/>
48   -<schema/>
49   -<table/>
50   -<timeout_days/>
51   -<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>METRICS_DATE</id><enabled>Y</enabled><name>METRICS_DATE</name></field><field><id>METRICS_CODE</id><enabled>Y</enabled><name>METRICS_CODE</name></field><field><id>METRICS_DESCRIPTION</id><enabled>Y</enabled><name>METRICS_DESCRIPTION</name></field><field><id>METRICS_SUBJECT</id><enabled>Y</enabled><name>METRICS_SUBJECT</name></field><field><id>METRICS_TYPE</id><enabled>Y</enabled><name>METRICS_TYPE</name></field><field><id>METRICS_VALUE</id><enabled>Y</enabled><name>METRICS_VALUE</name></field></metrics-log-table>
52   - </log>
53   - <maxdate>
54   - <connection/>
55   - <table/>
56   - <field/>
57   - <offset>0.0</offset>
58   - <maxdiff>0.0</maxdiff>
59   - </maxdate>
60   - <size_rowset>10000</size_rowset>
61   - <sleep_time_empty>50</sleep_time_empty>
62   - <sleep_time_full>50</sleep_time_full>
63   - <unique_connections>N</unique_connections>
64   - <feedback_shown>Y</feedback_shown>
65   - <feedback_size>50000</feedback_size>
66   - <using_thread_priorities>Y</using_thread_priorities>
67   - <shared_objects_file/>
68   - <capture_step_performance>N</capture_step_performance>
69   - <step_performance_capturing_delay>1000</step_performance_capturing_delay>
70   - <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit>
71   - <dependencies>
72   - </dependencies>
73   - <partitionschemas>
74   - </partitionschemas>
75   - <slaveservers>
76   - </slaveservers>
77   - <clusterschemas>
78   - </clusterschemas>
79   - <created_user>-</created_user>
80   - <created_date>2016&#x2f;06&#x2f;29 13&#x3a;15&#x3a;32.118</created_date>
81   - <modified_user>-</modified_user>
82   - <modified_date>2016&#x2f;06&#x2f;29 13&#x3a;15&#x3a;32.118</modified_date>
83   - <key_for_session_key>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;&#xa;</note>
89   - <xloc>40</xloc>
90   - <yloc>238</yloc>
91   - <width>333</width>
92   - <heigth>106</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_ccinfo</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>&#x8fc7;&#x6ee4;&#x7ebf;&#x8def;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</from><to>&#x8f66;&#x8f86;id&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>
277   - <hop> <from>&#x8f66;&#x8f86;id&#x67e5;&#x8be2;</from><to>&#x8fc7;&#x6ee4;&#x8f66;&#x8f86;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>
278   - <hop> <from>&#x8fc7;&#x6ee4;&#x8f66;&#x8f86;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</from><to>&#x65e5;&#x671f;&#x8f6c;&#x6362;</to><enabled>Y</enabled> </hop>
279   - <hop> <from>&#x65e5;&#x671f;&#x8f6c;&#x6362;</from><to>&#x662f;&#x5426;&#x5207;&#x6362;</to><enabled>Y</enabled> </hop>
280   - <hop> <from>&#x662f;&#x5426;&#x5207;&#x6362;</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ccinfo</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>&#x5185;&#x90e8;&#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>&#x542f;&#x7528;&#x65e5;&#x671f;</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/>
348   - <currency/>
349   - <decimal/>
350   - <group/>
351   - </field>
352   - <field>
353   - <name>&#x7ec8;&#x7ed3;&#x65e5;&#x671f;</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>&#x505c;&#x8f66;&#x70b9;</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/>
372   - <currency/>
373   - <decimal/>
374   - <group/>
375   - </field>
376   - </fields>
377   - <sheets>
378   - <sheet>
379   - <name>&#x5de5;&#x4f5c;&#x8868;1</name>
380   - <startrow>0</startrow>
381   - <startcol>0</startcol>
382   - </sheet>
383   - </sheets>
384   - <strict_types>N</strict_types>
385   - <error_ignored>N</error_ignored>
386   - <error_line_skipped>N</error_line_skipped>
387   - <bad_line_files_destination_directory/>
388   - <bad_line_files_extension>warning</bad_line_files_extension>
389   - <error_line_files_destination_directory/>
390   - <error_line_files_extension>error</error_line_files_extension>
391   - <line_number_files_destination_directory/>
392   - <line_number_files_extension>line</line_number_files_extension>
393   - <shortFileFieldName/>
394   - <pathFieldName/>
395   - <hiddenFieldName/>
396   - <lastModificationTimeFieldName/>
397   - <uriNameFieldName/>
398   - <rootUriNameFieldName/>
399   - <extensionFieldName/>
400   - <sizeFieldName/>
401   - <spreadsheet_type>JXL</spreadsheet_type>
402   - <cluster_schema/>
403   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
404   - <xloc>155</xloc>
405   - <yloc>56</yloc>
406   - <draw>Y</draw>
407   - </GUI>
408   - </step>
409   -
410   - <step>
411   - <name>&#x542f;&#x7528;&#x88ab;&#x6570;&#x636e;flag</name>
412   - <type>Constant</type>
413   - <description/>
414   - <distribute>Y</distribute>
415   - <custom_distribution/>
416   - <copies>1</copies>
417   - <partitioning>
418   - <method>none</method>
419   - <schema_name/>
420   - </partitioning>
421   - <fields>
422   - <field>
423   - <name>isCancel</name>
424   - <type>Integer</type>
425   - <format/>
426   - <currency/>
427   - <decimal/>
428   - <group/>
429   - <nullif>0</nullif>
430   - <length>-1</length>
431   - <precision>-1</precision>
432   - <set_empty_string>N</set_empty_string>
433   - </field>
434   - </fields>
435   - <cluster_schema/>
436   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
437   - <xloc>315</xloc>
438   - <yloc>57</yloc>
439   - <draw>Y</draw>
440   - </GUI>
441   - </step>
442   -
443   - <step>
444   - <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ccinfo</name>
445   - <type>InsertUpdate</type>
446   - <description/>
447   - <distribute>Y</distribute>
448   - <custom_distribution/>
449   - <copies>1</copies>
450   - <partitioning>
451   - <method>none</method>
452   - <schema_name/>
453   - </partitioning>
454   - <connection>bus_control_variable</connection>
455   - <commit>100</commit>
456   - <update_bypassed>N</update_bypassed>
457   - <lookup>
458   - <schema/>
459   - <table>bsth_c_s_ccinfo</table>
460   - <key>
461   - <name>xlid</name>
462   - <field>xl</field>
463   - <condition>&#x3d;</condition>
464   - <name2/>
465   - </key>
466   - <key>
467   - <name>clid</name>
468   - <field>cl</field>
469   - <condition>&#x3d;</condition>
470   - <name2/>
471   - </key>
472   - <key>
473   - <name>isCancel</name>
474   - <field>is_cancel</field>
475   - <condition>&#x3d;</condition>
476   - <name2/>
477   - </key>
478   - <value>
479   - <name>xl</name>
480   - <rename>xlId</rename>
481   - <update>N</update>
482   - </value>
483   - <value>
484   - <name>cl</name>
485   - <rename>clId</rename>
486   - <update>N</update>
487   - </value>
488   - <value>
489   - <name>is_switch</name>
490   - <rename>isswitch</rename>
491   - <update>N</update>
492   - </value>
493   - <value>
494   - <name>tcd</name>
495   - <rename>&#x505c;&#x8f66;&#x70b9;</rename>
496   - <update>N</update>
497   - </value>
498   - <value>
499   - <name>zzrq</name>
500   - <rename>&#x7ec8;&#x7ed3;&#x65e5;&#x671f;</rename>
501   - <update>N</update>
502   - </value>
503   - <value>
504   - <name>qyrq</name>
505   - <rename>&#x542f;&#x7528;&#x65e5;&#x671f;</rename>
506   - <update>N</update>
507   - </value>
508   - <value>
509   - <name>is_cancel</name>
510   - <rename>isCancel</rename>
511   - <update>N</update>
512   - </value>
513   - </lookup>
514   - <cluster_schema/>
515   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
516   - <xloc>804</xloc>
517   - <yloc>236</yloc>
518   - <draw>Y</draw>
519   - </GUI>
520   - </step>
521   -
522   - <step>
523   - <name>&#x65e5;&#x671f;&#x8f6c;&#x6362;</name>
524   - <type>SelectValues</type>
525   - <description/>
526   - <distribute>Y</distribute>
527   - <custom_distribution/>
528   - <copies>1</copies>
529   - <partitioning>
530   - <method>none</method>
531   - <schema_name/>
532   - </partitioning>
533   - <fields> <select_unspecified>N</select_unspecified>
534   - <meta> <name>&#x542f;&#x7528;&#x65e5;&#x671f;</name>
535   - <rename>&#x542f;&#x7528;&#x65e5;&#x671f;</rename>
536   - <type>Timestamp</type>
537   - <length>-2</length>
538   - <precision>-2</precision>
539   - <conversion_mask>yyyy-MM-dd</conversion_mask>
540   - <date_format_lenient>false</date_format_lenient>
541   - <date_format_locale/>
542   - <date_format_timezone/>
543   - <lenient_string_to_number>false</lenient_string_to_number>
544   - <encoding/>
545   - <decimal_symbol/>
546   - <grouping_symbol/>
547   - <currency_symbol/>
548   - <storage_type/>
549   - </meta> <meta> <name>&#x7ec8;&#x7ed3;&#x65e5;&#x671f;</name>
550   - <rename>&#x7ec8;&#x7ed3;&#x65e5;&#x671f;</rename>
551   - <type>Timestamp</type>
552   - <length>-2</length>
553   - <precision>-2</precision>
554   - <conversion_mask>yyyy-MM-dd</conversion_mask>
555   - <date_format_lenient>false</date_format_lenient>
556   - <date_format_locale/>
557   - <date_format_timezone/>
558   - <lenient_string_to_number>false</lenient_string_to_number>
559   - <encoding/>
560   - <decimal_symbol/>
561   - <grouping_symbol/>
562   - <currency_symbol/>
563   - <storage_type/>
564   - </meta> </fields> <cluster_schema/>
565   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
566   - <xloc>703</xloc>
567   - <yloc>136</yloc>
568   - <draw>Y</draw>
569   - </GUI>
570   - </step>
571   -
572   - <step>
573   - <name>&#x662f;&#x5426;&#x5207;&#x6362;</name>
574   - <type>Constant</type>
575   - <description/>
576   - <distribute>Y</distribute>
577   - <custom_distribution/>
578   - <copies>1</copies>
579   - <partitioning>
580   - <method>none</method>
581   - <schema_name/>
582   - </partitioning>
583   - <fields>
584   - <field>
585   - <name>isswitch</name>
586   - <type>Integer</type>
587   - <format/>
588   - <currency/>
589   - <decimal/>
590   - <group/>
591   - <nullif>0</nullif>
592   - <length>-1</length>
593   - <precision>-1</precision>
594   - <set_empty_string>N</set_empty_string>
595   - </field>
596   - </fields>
597   - <cluster_schema/>
598   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
599   - <xloc>803</xloc>
600   - <yloc>137</yloc>
601   - <draw>Y</draw>
602   - </GUI>
603   - </step>
604   -
605   - <step>
606   - <name>&#x7ebf;&#x8def;id&#x67e5;&#x8be2;</name>
607   - <type>DBLookup</type>
608   - <description/>
609   - <distribute>Y</distribute>
610   - <custom_distribution/>
611   - <copies>1</copies>
612   - <partitioning>
613   - <method>none</method>
614   - <schema_name/>
615   - </partitioning>
616   - <connection>bus_control_variable</connection>
617   - <cache>Y</cache>
618   - <cache_load_all>Y</cache_load_all>
619   - <cache_size>0</cache_size>
620   - <lookup>
621   - <schema/>
622   - <table>bsth_c_line</table>
623   - <orderby/>
624   - <fail_on_multiple>N</fail_on_multiple>
625   - <eat_row_on_failure>N</eat_row_on_failure>
626   - <key>
627   - <name>&#x7ebf;&#x8def;</name>
628   - <field>name</field>
629   - <condition>&#x3d;</condition>
630   - <name2/>
631   - </key>
632   - <key>
633   - <name>isCancel</name>
634   - <field>destroy</field>
635   - <condition>&#x3d;</condition>
636   - <name2/>
637   - </key>
638   - <value>
639   - <name>id</name>
640   - <rename>xlid</rename>
641   - <default/>
642   - <type>Integer</type>
643   - </value>
644   - </lookup>
645   - <cluster_schema/>
646   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
647   - <xloc>438</xloc>
648   - <yloc>57</yloc>
649   - <draw>Y</draw>
650   - </GUI>
651   - </step>
652   -
653   - <step>
654   - <name>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</name>
655   - <type>GetVariable</type>
656   - <description/>
657   - <distribute>Y</distribute>
658   - <custom_distribution/>
659   - <copies>1</copies>
660   - <partitioning>
661   - <method>none</method>
662   - <schema_name/>
663   - </partitioning>
664   - <fields>
665   - <field>
666   - <name>filepath_</name>
667   - <variable>&#x24;&#x7b;filepath&#x7d;</variable>
668   - <type>String</type>
669   - <format/>
670   - <currency/>
671   - <decimal/>
672   - <group/>
673   - <length>-1</length>
674   - <precision>-1</precision>
675   - <trim_type>none</trim_type>
676   - </field>
677   - <field>
678   - <name>erroroutputdir_</name>
679   - <variable>&#x24;&#x7b;erroroutputdir&#x7d;</variable>
680   - <type>String</type>
681   - <format/>
682   - <currency/>
683   - <decimal/>
684   - <group/>
685   - <length>-1</length>
686   - <precision>-1</precision>
687   - <trim_type>none</trim_type>
688   - </field>
689   - </fields>
690   - <cluster_schema/>
691   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
692   - <xloc>156</xloc>
693   - <yloc>150</yloc>
694   - <draw>Y</draw>
695   - </GUI>
696   - </step>
697   -
698   - <step>
699   - <name>&#x8f66;&#x8f86;id&#x67e5;&#x8be2;</name>
700   - <type>DBLookup</type>
701   - <description/>
702   - <distribute>Y</distribute>
703   - <custom_distribution/>
704   - <copies>1</copies>
705   - <partitioning>
706   - <method>none</method>
707   - <schema_name/>
708   - </partitioning>
709   - <connection>bus_control_variable</connection>
710   - <cache>Y</cache>
711   - <cache_load_all>Y</cache_load_all>
712   - <cache_size>0</cache_size>
713   - <lookup>
714   - <schema/>
715   - <table>bsth_c_cars</table>
716   - <orderby/>
717   - <fail_on_multiple>N</fail_on_multiple>
718   - <eat_row_on_failure>N</eat_row_on_failure>
719   - <key>
720   - <name>&#x5185;&#x90e8;&#x7f16;&#x7801;</name>
721   - <field>inside_code</field>
722   - <condition>&#x3d;</condition>
723   - <name2/>
724   - </key>
725   - <value>
726   - <name>id</name>
727   - <rename>clid</rename>
728   - <default/>
729   - <type>Integer</type>
730   - </value>
731   - </lookup>
732   - <cluster_schema/>
733   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
734   - <xloc>440</xloc>
735   - <yloc>138</yloc>
736   - <draw>Y</draw>
737   - </GUI>
738   - </step>
739   -
740   - <step>
741   - <name>&#x8fc7;&#x6ee4;&#x7ebf;&#x8def;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</name>
742   - <type>FilterRows</type>
743   - <description/>
744   - <distribute>Y</distribute>
745   - <custom_distribution/>
746   - <copies>1</copies>
747   - <partitioning>
748   - <method>none</method>
749   - <schema_name/>
750   - </partitioning>
751   -<send_true_to>&#x8f66;&#x8f86;id&#x67e5;&#x8be2;</send_true_to>
752   -<send_false_to/>
753   - <compare>
754   -<condition>
755   - <negated>N</negated>
756   - <leftvalue>xlid</leftvalue>
757   - <function>IS NOT NULL</function>
758   - <rightvalue/>
759   - </condition>
760   - </compare>
761   - <cluster_schema/>
762   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
763   - <xloc>563</xloc>
764   - <yloc>57</yloc>
765   - <draw>Y</draw>
766   - </GUI>
767   - </step>
768   -
769   - <step>
770   - <name>&#x8fc7;&#x6ee4;&#x8f66;&#x8f86;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</name>
771   - <type>FilterRows</type>
772   - <description/>
773   - <distribute>Y</distribute>
774   - <custom_distribution/>
775   - <copies>1</copies>
776   - <partitioning>
777   - <method>none</method>
778   - <schema_name/>
779   - </partitioning>
780   -<send_true_to>&#x65e5;&#x671f;&#x8f6c;&#x6362;</send_true_to>
781   -<send_false_to/>
782   - <compare>
783   -<condition>
784   - <negated>N</negated>
785   - <leftvalue>clid</leftvalue>
786   - <function>IS NOT NULL</function>
787   - <rightvalue/>
788   - </condition>
789   - </compare>
790   - <cluster_schema/>
791   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
792   - <xloc>566</xloc>
793   - <yloc>137</yloc>
794   - <draw>Y</draw>
795   - </GUI>
796   - </step>
797   -
798   - <step>
799   - <name>&#x9519;&#x8bef;&#x8f93;&#x51fa;</name>
800   - <type>ExcelOutput</type>
801   - <description/>
802   - <distribute>Y</distribute>
803   - <custom_distribution/>
804   - <copies>1</copies>
805   - <partitioning>
806   - <method>none</method>
807   - <schema_name/>
808   - </partitioning>
809   - <header>Y</header>
810   - <footer>N</footer>
811   - <encoding>UTF-8</encoding>
812   - <append>N</append>
813   - <add_to_result_filenames>Y</add_to_result_filenames>
814   - <file>
815   - <name>&#x24;&#x7b;erroroutputdir&#x7d;&#x2f;&#x5f53;&#x524d;&#x914d;&#x8f66;_&#x9519;&#x8bef;</name>
816   - <extention>xls</extention>
817   - <do_not_open_newfile_init>N</do_not_open_newfile_init>
818   - <create_parent_folder>N</create_parent_folder>
819   - <split>N</split>
820   - <add_date>N</add_date>
821   - <add_time>N</add_time>
822   - <SpecifyFormat>N</SpecifyFormat>
823   - <date_time_format/>
824   - <sheetname>Sheet1</sheetname>
825   - <autosizecolums>N</autosizecolums>
826   - <nullisblank>N</nullisblank>
827   - <protect_sheet>N</protect_sheet>
828   - <password>Encrypted </password>
829   - <splitevery>0</splitevery>
830   - <usetempfiles>N</usetempfiles>
831   - <tempdirectory/>
832   - </file>
833   - <template>
834   - <enabled>N</enabled>
835   - <append>N</append>
836   - <filename>template.xls</filename>
837   - </template>
838   - <fields>
839   - <field>
840   - <name>&#x7ebf;&#x8def;</name>
841   - <type>String</type>
842   - <format/>
843   - </field>
844   - <field>
845   - <name>&#x5185;&#x90e8;&#x7f16;&#x7801;</name>
846   - <type>String</type>
847   - <format/>
848   - </field>
849   - <field>
850   - <name>&#x542f;&#x7528;&#x65e5;&#x671f;</name>
851   - <type>Timestamp</type>
852   - <format/>
853   - </field>
854   - <field>
855   - <name>&#x7ec8;&#x7ed3;&#x65e5;&#x671f;</name>
856   - <type>Timestamp</type>
857   - <format/>
858   - </field>
859   - <field>
860   - <name>&#x505c;&#x8f66;&#x70b9;</name>
861   - <type>String</type>
862   - <format/>
863   - </field>
864   - <field>
865   - <name>isCancel</name>
866   - <type>Integer</type>
867   - <format/>
868   - </field>
869   - <field>
870   - <name>xlid</name>
871   - <type>Integer</type>
872   - <format/>
873   - </field>
874   - <field>
875   - <name>clid</name>
876   - <type>Integer</type>
877   - <format/>
878   - </field>
879   - <field>
880   - <name>isswitch</name>
881   - <type>Integer</type>
882   - <format/>
883   - </field>
884   - <field>
885   - <name>error_count</name>
886   - <type>Integer</type>
887   - <format/>
888   - </field>
889   - <field>
890   - <name>error_desc</name>
891   - <type>String</type>
892   - <format/>
893   - </field>
894   - <field>
895   - <name>error_column1</name>
896   - <type>String</type>
897   - <format/>
898   - </field>
899   - <field>
900   - <name>error_column2</name>
901   - <type>String</type>
902   - <format/>
903   - </field>
904   - </fields>
905   - <custom>
906   - <header_font_name>arial</header_font_name>
907   - <header_font_size>10</header_font_size>
908   - <header_font_bold>N</header_font_bold>
909   - <header_font_italic>N</header_font_italic>
910   - <header_font_underline>no</header_font_underline>
911   - <header_font_orientation>horizontal</header_font_orientation>
912   - <header_font_color>black</header_font_color>
913   - <header_background_color>none</header_background_color>
914   - <header_row_height>255</header_row_height>
915   - <header_alignment>left</header_alignment>
916   - <header_image/>
917   - <row_font_name>arial</row_font_name>
918   - <row_font_size>10</row_font_size>
919   - <row_font_color>black</row_font_color>
920   - <row_background_color>none</row_background_color>
921   - </custom>
922   - <cluster_schema/>
923   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
924   - <xloc>807</xloc>
925   - <yloc>353</yloc>
926   - <draw>Y</draw>
927   - </GUI>
928   - </step>
929   -
930   - <step_error_handling>
931   - <error>
932   - <source_step>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ccinfo</source_step>
933   - <target_step>&#x9519;&#x8bef;&#x8f93;&#x51fa;</target_step>
934   - <is_enabled>Y</is_enabled>
935   - <nr_valuename>error_count</nr_valuename>
936   - <descriptions_valuename>error_desc</descriptions_valuename>
937   - <fields_valuename>error_column1</fields_valuename>
938   - <codes_valuename>error_column2</codes_valuename>
939   - <max_errors/>
940   - <max_pct_errors/>
941   - <min_pct_rows/>
942   - </error>
943   - </step_error_handling>
944   - <slave-step-copy-partition-distribution>
945   -</slave-step-copy-partition-distribution>
946   - <slave_transformation>N</slave_transformation>
947   -
948   -</transformation>
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<transformation>
  3 + <info>
  4 + <name>&#x8f66;&#x8f86;&#x914d;&#x7f6e;&#x4fe1;&#x606f;&#x5bfc;&#x5165;</name>
  5 + <description>&#x8f66;&#x8f86;&#x914d;&#x7f6e;&#x4fe1;&#x606f;&#x5bfc;&#x5165;</description>
  6 + <extended_description>&#x914d;&#x8f66;&#x4fe1;&#x606f;</extended_description>
  7 + <trans_version/>
  8 + <trans_type>Normal</trans_type>
  9 + <trans_status>0</trans_status>
  10 + <directory>&#x2f;</directory>
  11 + <parameters>
  12 + <parameter>
  13 + <name>erroroutputdir</name>
  14 + <default_value/>
  15 + <description>ktr step&#x914d;&#x7f6e;&#x7684;&#x9519;&#x8bef;&#x8f93;&#x51fa;&#x76ee;&#x5f55;</description>
  16 + </parameter>
  17 + <parameter>
  18 + <name>filepath</name>
  19 + <default_value/>
  20 + <description>&#x5f85;&#x5904;&#x7406;&#x5bfc;&#x5165;&#x7684;excel&#x6587;&#x4ef6;</description>
  21 + </parameter>
  22 + </parameters>
  23 + <log>
  24 +<trans-log-table><connection/>
  25 +<schema/>
  26 +<table/>
  27 +<size_limit_lines/>
  28 +<interval/>
  29 +<timeout_days/>
  30 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STATUS</id><enabled>Y</enabled><name>STATUS</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name><subject/></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name><subject/></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name><subject/></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name><subject/></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name><subject/></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name><subject/></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>STARTDATE</id><enabled>Y</enabled><name>STARTDATE</name></field><field><id>ENDDATE</id><enabled>Y</enabled><name>ENDDATE</name></field><field><id>LOGDATE</id><enabled>Y</enabled><name>LOGDATE</name></field><field><id>DEPDATE</id><enabled>Y</enabled><name>DEPDATE</name></field><field><id>REPLAYDATE</id><enabled>Y</enabled><name>REPLAYDATE</name></field><field><id>LOG_FIELD</id><enabled>Y</enabled><name>LOG_FIELD</name></field><field><id>EXECUTING_SERVER</id><enabled>N</enabled><name>EXECUTING_SERVER</name></field><field><id>EXECUTING_USER</id><enabled>N</enabled><name>EXECUTING_USER</name></field><field><id>CLIENT</id><enabled>N</enabled><name>CLIENT</name></field></trans-log-table>
  31 +<perf-log-table><connection/>
  32 +<schema/>
  33 +<table/>
  34 +<interval/>
  35 +<timeout_days/>
  36 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>SEQ_NR</id><enabled>Y</enabled><name>SEQ_NR</name></field><field><id>LOGDATE</id><enabled>Y</enabled><name>LOGDATE</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STEPNAME</id><enabled>Y</enabled><name>STEPNAME</name></field><field><id>STEP_COPY</id><enabled>Y</enabled><name>STEP_COPY</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>INPUT_BUFFER_ROWS</id><enabled>Y</enabled><name>INPUT_BUFFER_ROWS</name></field><field><id>OUTPUT_BUFFER_ROWS</id><enabled>Y</enabled><name>OUTPUT_BUFFER_ROWS</name></field></perf-log-table>
  37 +<channel-log-table><connection/>
  38 +<schema/>
  39 +<table/>
  40 +<timeout_days/>
  41 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>LOGGING_OBJECT_TYPE</id><enabled>Y</enabled><name>LOGGING_OBJECT_TYPE</name></field><field><id>OBJECT_NAME</id><enabled>Y</enabled><name>OBJECT_NAME</name></field><field><id>OBJECT_COPY</id><enabled>Y</enabled><name>OBJECT_COPY</name></field><field><id>REPOSITORY_DIRECTORY</id><enabled>Y</enabled><name>REPOSITORY_DIRECTORY</name></field><field><id>FILENAME</id><enabled>Y</enabled><name>FILENAME</name></field><field><id>OBJECT_ID</id><enabled>Y</enabled><name>OBJECT_ID</name></field><field><id>OBJECT_REVISION</id><enabled>Y</enabled><name>OBJECT_REVISION</name></field><field><id>PARENT_CHANNEL_ID</id><enabled>Y</enabled><name>PARENT_CHANNEL_ID</name></field><field><id>ROOT_CHANNEL_ID</id><enabled>Y</enabled><name>ROOT_CHANNEL_ID</name></field></channel-log-table>
  42 +<step-log-table><connection/>
  43 +<schema/>
  44 +<table/>
  45 +<timeout_days/>
  46 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STEPNAME</id><enabled>Y</enabled><name>STEPNAME</name></field><field><id>STEP_COPY</id><enabled>Y</enabled><name>STEP_COPY</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>LOG_FIELD</id><enabled>N</enabled><name>LOG_FIELD</name></field></step-log-table>
  47 +<metrics-log-table><connection/>
  48 +<schema/>
  49 +<table/>
  50 +<timeout_days/>
  51 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>METRICS_DATE</id><enabled>Y</enabled><name>METRICS_DATE</name></field><field><id>METRICS_CODE</id><enabled>Y</enabled><name>METRICS_CODE</name></field><field><id>METRICS_DESCRIPTION</id><enabled>Y</enabled><name>METRICS_DESCRIPTION</name></field><field><id>METRICS_SUBJECT</id><enabled>Y</enabled><name>METRICS_SUBJECT</name></field><field><id>METRICS_TYPE</id><enabled>Y</enabled><name>METRICS_TYPE</name></field><field><id>METRICS_VALUE</id><enabled>Y</enabled><name>METRICS_VALUE</name></field></metrics-log-table>
  52 + </log>
  53 + <maxdate>
  54 + <connection/>
  55 + <table/>
  56 + <field/>
  57 + <offset>0.0</offset>
  58 + <maxdiff>0.0</maxdiff>
  59 + </maxdate>
  60 + <size_rowset>10000</size_rowset>
  61 + <sleep_time_empty>50</sleep_time_empty>
  62 + <sleep_time_full>50</sleep_time_full>
  63 + <unique_connections>N</unique_connections>
  64 + <feedback_shown>Y</feedback_shown>
  65 + <feedback_size>50000</feedback_size>
  66 + <using_thread_priorities>Y</using_thread_priorities>
  67 + <shared_objects_file/>
  68 + <capture_step_performance>N</capture_step_performance>
  69 + <step_performance_capturing_delay>1000</step_performance_capturing_delay>
  70 + <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit>
  71 + <dependencies>
  72 + </dependencies>
  73 + <partitionschemas>
  74 + </partitionschemas>
  75 + <slaveservers>
  76 + </slaveservers>
  77 + <clusterschemas>
  78 + </clusterschemas>
  79 + <created_user>-</created_user>
  80 + <created_date>2016&#x2f;06&#x2f;29 13&#x3a;15&#x3a;32.118</created_date>
  81 + <modified_user>-</modified_user>
  82 + <modified_date>2016&#x2f;06&#x2f;29 13&#x3a;15&#x3a;32.118</modified_date>
  83 + <key_for_session_key>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;&#xa;</note>
  89 + <xloc>40</xloc>
  90 + <yloc>238</yloc>
  91 + <width>333</width>
  92 + <heigth>106</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_ccinfo</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>&#x8fc7;&#x6ee4;&#x7ebf;&#x8def;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</from><to>&#x8f66;&#x8f86;id&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>
  277 + <hop> <from>&#x8f66;&#x8f86;id&#x67e5;&#x8be2;</from><to>&#x8fc7;&#x6ee4;&#x8f66;&#x8f86;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>
  278 + <hop> <from>&#x8fc7;&#x6ee4;&#x8f66;&#x8f86;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</from><to>&#x65e5;&#x671f;&#x8f6c;&#x6362;</to><enabled>Y</enabled> </hop>
  279 + <hop> <from>&#x65e5;&#x671f;&#x8f6c;&#x6362;</from><to>&#x662f;&#x5426;&#x5207;&#x6362;</to><enabled>Y</enabled> </hop>
  280 + <hop> <from>&#x662f;&#x5426;&#x5207;&#x6362;</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ccinfo</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>&#x5185;&#x90e8;&#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>&#x542f;&#x7528;&#x65e5;&#x671f;</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/>
  348 + <currency/>
  349 + <decimal/>
  350 + <group/>
  351 + </field>
  352 + <field>
  353 + <name>&#x7ec8;&#x7ed3;&#x65e5;&#x671f;</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>&#x505c;&#x8f66;&#x70b9;</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/>
  372 + <currency/>
  373 + <decimal/>
  374 + <group/>
  375 + </field>
  376 + </fields>
  377 + <sheets>
  378 + <sheet>
  379 + <name>&#x5de5;&#x4f5c;&#x8868;1</name>
  380 + <startrow>0</startrow>
  381 + <startcol>0</startcol>
  382 + </sheet>
  383 + </sheets>
  384 + <strict_types>N</strict_types>
  385 + <error_ignored>N</error_ignored>
  386 + <error_line_skipped>N</error_line_skipped>
  387 + <bad_line_files_destination_directory/>
  388 + <bad_line_files_extension>warning</bad_line_files_extension>
  389 + <error_line_files_destination_directory/>
  390 + <error_line_files_extension>error</error_line_files_extension>
  391 + <line_number_files_destination_directory/>
  392 + <line_number_files_extension>line</line_number_files_extension>
  393 + <shortFileFieldName/>
  394 + <pathFieldName/>
  395 + <hiddenFieldName/>
  396 + <lastModificationTimeFieldName/>
  397 + <uriNameFieldName/>
  398 + <rootUriNameFieldName/>
  399 + <extensionFieldName/>
  400 + <sizeFieldName/>
  401 + <spreadsheet_type>JXL</spreadsheet_type>
  402 + <cluster_schema/>
  403 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  404 + <xloc>155</xloc>
  405 + <yloc>56</yloc>
  406 + <draw>Y</draw>
  407 + </GUI>
  408 + </step>
  409 +
  410 + <step>
  411 + <name>&#x542f;&#x7528;&#x88ab;&#x6570;&#x636e;flag</name>
  412 + <type>Constant</type>
  413 + <description/>
  414 + <distribute>Y</distribute>
  415 + <custom_distribution/>
  416 + <copies>1</copies>
  417 + <partitioning>
  418 + <method>none</method>
  419 + <schema_name/>
  420 + </partitioning>
  421 + <fields>
  422 + <field>
  423 + <name>isCancel</name>
  424 + <type>Integer</type>
  425 + <format/>
  426 + <currency/>
  427 + <decimal/>
  428 + <group/>
  429 + <nullif>0</nullif>
  430 + <length>-1</length>
  431 + <precision>-1</precision>
  432 + <set_empty_string>N</set_empty_string>
  433 + </field>
  434 + </fields>
  435 + <cluster_schema/>
  436 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  437 + <xloc>315</xloc>
  438 + <yloc>57</yloc>
  439 + <draw>Y</draw>
  440 + </GUI>
  441 + </step>
  442 +
  443 + <step>
  444 + <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ccinfo</name>
  445 + <type>InsertUpdate</type>
  446 + <description/>
  447 + <distribute>Y</distribute>
  448 + <custom_distribution/>
  449 + <copies>1</copies>
  450 + <partitioning>
  451 + <method>none</method>
  452 + <schema_name/>
  453 + </partitioning>
  454 + <connection>bus_control_variable</connection>
  455 + <commit>100</commit>
  456 + <update_bypassed>N</update_bypassed>
  457 + <lookup>
  458 + <schema/>
  459 + <table>bsth_c_s_ccinfo</table>
  460 + <key>
  461 + <name>xlid</name>
  462 + <field>xl</field>
  463 + <condition>&#x3d;</condition>
  464 + <name2/>
  465 + </key>
  466 + <key>
  467 + <name>clid</name>
  468 + <field>cl</field>
  469 + <condition>&#x3d;</condition>
  470 + <name2/>
  471 + </key>
  472 + <key>
  473 + <name>isCancel</name>
  474 + <field>is_cancel</field>
  475 + <condition>&#x3d;</condition>
  476 + <name2/>
  477 + </key>
  478 + <value>
  479 + <name>xl</name>
  480 + <rename>xlId</rename>
  481 + <update>N</update>
  482 + </value>
  483 + <value>
  484 + <name>cl</name>
  485 + <rename>clId</rename>
  486 + <update>N</update>
  487 + </value>
  488 + <value>
  489 + <name>is_switch</name>
  490 + <rename>isswitch</rename>
  491 + <update>N</update>
  492 + </value>
  493 + <value>
  494 + <name>tcd</name>
  495 + <rename>&#x505c;&#x8f66;&#x70b9;</rename>
  496 + <update>N</update>
  497 + </value>
  498 + <value>
  499 + <name>zzrq</name>
  500 + <rename>&#x7ec8;&#x7ed3;&#x65e5;&#x671f;</rename>
  501 + <update>N</update>
  502 + </value>
  503 + <value>
  504 + <name>qyrq</name>
  505 + <rename>&#x542f;&#x7528;&#x65e5;&#x671f;</rename>
  506 + <update>N</update>
  507 + </value>
  508 + <value>
  509 + <name>is_cancel</name>
  510 + <rename>isCancel</rename>
  511 + <update>N</update>
  512 + </value>
  513 + </lookup>
  514 + <cluster_schema/>
  515 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  516 + <xloc>804</xloc>
  517 + <yloc>236</yloc>
  518 + <draw>Y</draw>
  519 + </GUI>
  520 + </step>
  521 +
  522 + <step>
  523 + <name>&#x65e5;&#x671f;&#x8f6c;&#x6362;</name>
  524 + <type>SelectValues</type>
  525 + <description/>
  526 + <distribute>Y</distribute>
  527 + <custom_distribution/>
  528 + <copies>1</copies>
  529 + <partitioning>
  530 + <method>none</method>
  531 + <schema_name/>
  532 + </partitioning>
  533 + <fields> <select_unspecified>N</select_unspecified>
  534 + <meta> <name>&#x542f;&#x7528;&#x65e5;&#x671f;</name>
  535 + <rename>&#x542f;&#x7528;&#x65e5;&#x671f;</rename>
  536 + <type>Timestamp</type>
  537 + <length>-2</length>
  538 + <precision>-2</precision>
  539 + <conversion_mask>yyyy-MM-dd</conversion_mask>
  540 + <date_format_lenient>false</date_format_lenient>
  541 + <date_format_locale/>
  542 + <date_format_timezone/>
  543 + <lenient_string_to_number>false</lenient_string_to_number>
  544 + <encoding/>
  545 + <decimal_symbol/>
  546 + <grouping_symbol/>
  547 + <currency_symbol/>
  548 + <storage_type/>
  549 + </meta> <meta> <name>&#x7ec8;&#x7ed3;&#x65e5;&#x671f;</name>
  550 + <rename>&#x7ec8;&#x7ed3;&#x65e5;&#x671f;</rename>
  551 + <type>Timestamp</type>
  552 + <length>-2</length>
  553 + <precision>-2</precision>
  554 + <conversion_mask>yyyy-MM-dd</conversion_mask>
  555 + <date_format_lenient>false</date_format_lenient>
  556 + <date_format_locale/>
  557 + <date_format_timezone/>
  558 + <lenient_string_to_number>false</lenient_string_to_number>
  559 + <encoding/>
  560 + <decimal_symbol/>
  561 + <grouping_symbol/>
  562 + <currency_symbol/>
  563 + <storage_type/>
  564 + </meta> </fields> <cluster_schema/>
  565 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  566 + <xloc>703</xloc>
  567 + <yloc>136</yloc>
  568 + <draw>Y</draw>
  569 + </GUI>
  570 + </step>
  571 +
  572 + <step>
  573 + <name>&#x662f;&#x5426;&#x5207;&#x6362;</name>
  574 + <type>Constant</type>
  575 + <description/>
  576 + <distribute>Y</distribute>
  577 + <custom_distribution/>
  578 + <copies>1</copies>
  579 + <partitioning>
  580 + <method>none</method>
  581 + <schema_name/>
  582 + </partitioning>
  583 + <fields>
  584 + <field>
  585 + <name>isswitch</name>
  586 + <type>Integer</type>
  587 + <format/>
  588 + <currency/>
  589 + <decimal/>
  590 + <group/>
  591 + <nullif>0</nullif>
  592 + <length>-1</length>
  593 + <precision>-1</precision>
  594 + <set_empty_string>N</set_empty_string>
  595 + </field>
  596 + </fields>
  597 + <cluster_schema/>
  598 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  599 + <xloc>803</xloc>
  600 + <yloc>137</yloc>
  601 + <draw>Y</draw>
  602 + </GUI>
  603 + </step>
  604 +
  605 + <step>
  606 + <name>&#x7ebf;&#x8def;id&#x67e5;&#x8be2;</name>
  607 + <type>DBLookup</type>
  608 + <description/>
  609 + <distribute>Y</distribute>
  610 + <custom_distribution/>
  611 + <copies>1</copies>
  612 + <partitioning>
  613 + <method>none</method>
  614 + <schema_name/>
  615 + </partitioning>
  616 + <connection>bus_control_variable</connection>
  617 + <cache>Y</cache>
  618 + <cache_load_all>Y</cache_load_all>
  619 + <cache_size>0</cache_size>
  620 + <lookup>
  621 + <schema/>
  622 + <table>bsth_c_line</table>
  623 + <orderby/>
  624 + <fail_on_multiple>N</fail_on_multiple>
  625 + <eat_row_on_failure>N</eat_row_on_failure>
  626 + <key>
  627 + <name>&#x7ebf;&#x8def;</name>
  628 + <field>name</field>
  629 + <condition>&#x3d;</condition>
  630 + <name2/>
  631 + </key>
  632 + <key>
  633 + <name>isCancel</name>
  634 + <field>destroy</field>
  635 + <condition>&#x3d;</condition>
  636 + <name2/>
  637 + </key>
  638 + <value>
  639 + <name>id</name>
  640 + <rename>xlid</rename>
  641 + <default/>
  642 + <type>Integer</type>
  643 + </value>
  644 + </lookup>
  645 + <cluster_schema/>
  646 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  647 + <xloc>438</xloc>
  648 + <yloc>57</yloc>
  649 + <draw>Y</draw>
  650 + </GUI>
  651 + </step>
  652 +
  653 + <step>
  654 + <name>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</name>
  655 + <type>GetVariable</type>
  656 + <description/>
  657 + <distribute>Y</distribute>
  658 + <custom_distribution/>
  659 + <copies>1</copies>
  660 + <partitioning>
  661 + <method>none</method>
  662 + <schema_name/>
  663 + </partitioning>
  664 + <fields>
  665 + <field>
  666 + <name>filepath_</name>
  667 + <variable>&#x24;&#x7b;filepath&#x7d;</variable>
  668 + <type>String</type>
  669 + <format/>
  670 + <currency/>
  671 + <decimal/>
  672 + <group/>
  673 + <length>-1</length>
  674 + <precision>-1</precision>
  675 + <trim_type>none</trim_type>
  676 + </field>
  677 + <field>
  678 + <name>erroroutputdir_</name>
  679 + <variable>&#x24;&#x7b;erroroutputdir&#x7d;</variable>
  680 + <type>String</type>
  681 + <format/>
  682 + <currency/>
  683 + <decimal/>
  684 + <group/>
  685 + <length>-1</length>
  686 + <precision>-1</precision>
  687 + <trim_type>none</trim_type>
  688 + </field>
  689 + </fields>
  690 + <cluster_schema/>
  691 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  692 + <xloc>156</xloc>
  693 + <yloc>150</yloc>
  694 + <draw>Y</draw>
  695 + </GUI>
  696 + </step>
  697 +
  698 + <step>
  699 + <name>&#x8f66;&#x8f86;id&#x67e5;&#x8be2;</name>
  700 + <type>DBLookup</type>
  701 + <description/>
  702 + <distribute>Y</distribute>
  703 + <custom_distribution/>
  704 + <copies>1</copies>
  705 + <partitioning>
  706 + <method>none</method>
  707 + <schema_name/>
  708 + </partitioning>
  709 + <connection>bus_control_variable</connection>
  710 + <cache>Y</cache>
  711 + <cache_load_all>Y</cache_load_all>
  712 + <cache_size>0</cache_size>
  713 + <lookup>
  714 + <schema/>
  715 + <table>bsth_c_cars</table>
  716 + <orderby/>
  717 + <fail_on_multiple>N</fail_on_multiple>
  718 + <eat_row_on_failure>N</eat_row_on_failure>
  719 + <key>
  720 + <name>&#x5185;&#x90e8;&#x7f16;&#x7801;</name>
  721 + <field>inside_code</field>
  722 + <condition>&#x3d;</condition>
  723 + <name2/>
  724 + </key>
  725 + <value>
  726 + <name>id</name>
  727 + <rename>clid</rename>
  728 + <default/>
  729 + <type>Integer</type>
  730 + </value>
  731 + </lookup>
  732 + <cluster_schema/>
  733 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  734 + <xloc>440</xloc>
  735 + <yloc>138</yloc>
  736 + <draw>Y</draw>
  737 + </GUI>
  738 + </step>
  739 +
  740 + <step>
  741 + <name>&#x8fc7;&#x6ee4;&#x7ebf;&#x8def;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</name>
  742 + <type>FilterRows</type>
  743 + <description/>
  744 + <distribute>Y</distribute>
  745 + <custom_distribution/>
  746 + <copies>1</copies>
  747 + <partitioning>
  748 + <method>none</method>
  749 + <schema_name/>
  750 + </partitioning>
  751 +<send_true_to>&#x8f66;&#x8f86;id&#x67e5;&#x8be2;</send_true_to>
  752 +<send_false_to/>
  753 + <compare>
  754 +<condition>
  755 + <negated>N</negated>
  756 + <leftvalue>xlid</leftvalue>
  757 + <function>IS NOT NULL</function>
  758 + <rightvalue/>
  759 + </condition>
  760 + </compare>
  761 + <cluster_schema/>
  762 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  763 + <xloc>563</xloc>
  764 + <yloc>57</yloc>
  765 + <draw>Y</draw>
  766 + </GUI>
  767 + </step>
  768 +
  769 + <step>
  770 + <name>&#x8fc7;&#x6ee4;&#x8f66;&#x8f86;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</name>
  771 + <type>FilterRows</type>
  772 + <description/>
  773 + <distribute>Y</distribute>
  774 + <custom_distribution/>
  775 + <copies>1</copies>
  776 + <partitioning>
  777 + <method>none</method>
  778 + <schema_name/>
  779 + </partitioning>
  780 +<send_true_to>&#x65e5;&#x671f;&#x8f6c;&#x6362;</send_true_to>
  781 +<send_false_to/>
  782 + <compare>
  783 +<condition>
  784 + <negated>N</negated>
  785 + <leftvalue>clid</leftvalue>
  786 + <function>IS NOT NULL</function>
  787 + <rightvalue/>
  788 + </condition>
  789 + </compare>
  790 + <cluster_schema/>
  791 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  792 + <xloc>566</xloc>
  793 + <yloc>137</yloc>
  794 + <draw>Y</draw>
  795 + </GUI>
  796 + </step>
  797 +
  798 + <step>
  799 + <name>&#x9519;&#x8bef;&#x8f93;&#x51fa;</name>
  800 + <type>ExcelOutput</type>
  801 + <description/>
  802 + <distribute>Y</distribute>
  803 + <custom_distribution/>
  804 + <copies>1</copies>
  805 + <partitioning>
  806 + <method>none</method>
  807 + <schema_name/>
  808 + </partitioning>
  809 + <header>Y</header>
  810 + <footer>N</footer>
  811 + <encoding>UTF-8</encoding>
  812 + <append>N</append>
  813 + <add_to_result_filenames>Y</add_to_result_filenames>
  814 + <file>
  815 + <name>&#x24;&#x7b;erroroutputdir&#x7d;&#x2f;&#x5f53;&#x524d;&#x914d;&#x8f66;_&#x9519;&#x8bef;</name>
  816 + <extention>xls</extention>
  817 + <do_not_open_newfile_init>N</do_not_open_newfile_init>
  818 + <create_parent_folder>N</create_parent_folder>
  819 + <split>N</split>
  820 + <add_date>N</add_date>
  821 + <add_time>N</add_time>
  822 + <SpecifyFormat>N</SpecifyFormat>
  823 + <date_time_format/>
  824 + <sheetname>Sheet1</sheetname>
  825 + <autosizecolums>N</autosizecolums>
  826 + <nullisblank>N</nullisblank>
  827 + <protect_sheet>N</protect_sheet>
  828 + <password>Encrypted </password>
  829 + <splitevery>0</splitevery>
  830 + <usetempfiles>N</usetempfiles>
  831 + <tempdirectory/>
  832 + </file>
  833 + <template>
  834 + <enabled>N</enabled>
  835 + <append>N</append>
  836 + <filename>template.xls</filename>
  837 + </template>
  838 + <fields>
  839 + <field>
  840 + <name>&#x7ebf;&#x8def;</name>
  841 + <type>String</type>
  842 + <format/>
  843 + </field>
  844 + <field>
  845 + <name>&#x5185;&#x90e8;&#x7f16;&#x7801;</name>
  846 + <type>String</type>
  847 + <format/>
  848 + </field>
  849 + <field>
  850 + <name>&#x542f;&#x7528;&#x65e5;&#x671f;</name>
  851 + <type>Timestamp</type>
  852 + <format/>
  853 + </field>
  854 + <field>
  855 + <name>&#x7ec8;&#x7ed3;&#x65e5;&#x671f;</name>
  856 + <type>Timestamp</type>
  857 + <format/>
  858 + </field>
  859 + <field>
  860 + <name>&#x505c;&#x8f66;&#x70b9;</name>
  861 + <type>String</type>
  862 + <format/>
  863 + </field>
  864 + <field>
  865 + <name>isCancel</name>
  866 + <type>Integer</type>
  867 + <format/>
  868 + </field>
  869 + <field>
  870 + <name>xlid</name>
  871 + <type>Integer</type>
  872 + <format/>
  873 + </field>
  874 + <field>
  875 + <name>clid</name>
  876 + <type>Integer</type>
  877 + <format/>
  878 + </field>
  879 + <field>
  880 + <name>isswitch</name>
  881 + <type>Integer</type>
  882 + <format/>
  883 + </field>
  884 + <field>
  885 + <name>error_count</name>
  886 + <type>Integer</type>
  887 + <format/>
  888 + </field>
  889 + <field>
  890 + <name>error_desc</name>
  891 + <type>String</type>
  892 + <format/>
  893 + </field>
  894 + <field>
  895 + <name>error_column1</name>
  896 + <type>String</type>
  897 + <format/>
  898 + </field>
  899 + <field>
  900 + <name>error_column2</name>
  901 + <type>String</type>
  902 + <format/>
  903 + </field>
  904 + </fields>
  905 + <custom>
  906 + <header_font_name>arial</header_font_name>
  907 + <header_font_size>10</header_font_size>
  908 + <header_font_bold>N</header_font_bold>
  909 + <header_font_italic>N</header_font_italic>
  910 + <header_font_underline>no</header_font_underline>
  911 + <header_font_orientation>horizontal</header_font_orientation>
  912 + <header_font_color>black</header_font_color>
  913 + <header_background_color>none</header_background_color>
  914 + <header_row_height>255</header_row_height>
  915 + <header_alignment>left</header_alignment>
  916 + <header_image/>
  917 + <row_font_name>arial</row_font_name>
  918 + <row_font_size>10</row_font_size>
  919 + <row_font_color>black</row_font_color>
  920 + <row_background_color>none</row_background_color>
  921 + </custom>
  922 + <cluster_schema/>
  923 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  924 + <xloc>807</xloc>
  925 + <yloc>353</yloc>
  926 + <draw>Y</draw>
  927 + </GUI>
  928 + </step>
  929 +
  930 + <step_error_handling>
  931 + <error>
  932 + <source_step>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ccinfo</source_step>
  933 + <target_step>&#x9519;&#x8bef;&#x8f93;&#x51fa;</target_step>
  934 + <is_enabled>Y</is_enabled>
  935 + <nr_valuename>error_count</nr_valuename>
  936 + <descriptions_valuename>error_desc</descriptions_valuename>
  937 + <fields_valuename>error_column1</fields_valuename>
  938 + <codes_valuename>error_column2</codes_valuename>
  939 + <max_errors/>
  940 + <max_pct_errors/>
  941 + <min_pct_rows/>
  942 + </error>
  943 + </step_error_handling>
  944 + <slave-step-copy-partition-distribution>
  945 +</slave-step-copy-partition-distribution>
  946 + <slave_transformation>N</slave_transformation>
  947 +
  948 +</transformation>
... ...
src/main/resources/datatools/ktrs/carsConfigDataOutput.ktr
1   -<?xml version="1.0" encoding="UTF-8"?>
2   -<transformation>
3   - <info>
4   - <name>&#x8f66;&#x8f86;&#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   - </parameters>
18   - <log>
19   -<trans-log-table><connection/>
20   -<schema/>
21   -<table/>
22   -<size_limit_lines/>
23   -<interval/>
24   -<timeout_days/>
25   -<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>
26   -<perf-log-table><connection/>
27   -<schema/>
28   -<table/>
29   -<interval/>
30   -<timeout_days/>
31   -<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>
32   -<channel-log-table><connection/>
33   -<schema/>
34   -<table/>
35   -<timeout_days/>
36   -<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>
37   -<step-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>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>
42   -<metrics-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>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>
47   - </log>
48   - <maxdate>
49   - <connection/>
50   - <table/>
51   - <field/>
52   - <offset>0.0</offset>
53   - <maxdiff>0.0</maxdiff>
54   - </maxdate>
55   - <size_rowset>10000</size_rowset>
56   - <sleep_time_empty>50</sleep_time_empty>
57   - <sleep_time_full>50</sleep_time_full>
58   - <unique_connections>N</unique_connections>
59   - <feedback_shown>Y</feedback_shown>
60   - <feedback_size>50000</feedback_size>
61   - <using_thread_priorities>Y</using_thread_priorities>
62   - <shared_objects_file/>
63   - <capture_step_performance>N</capture_step_performance>
64   - <step_performance_capturing_delay>1000</step_performance_capturing_delay>
65   - <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit>
66   - <dependencies>
67   - </dependencies>
68   - <partitionschemas>
69   - </partitionschemas>
70   - <slaveservers>
71   - </slaveservers>
72   - <clusterschemas>
73   - </clusterschemas>
74   - <created_user>-</created_user>
75   - <created_date>2017&#x2f;01&#x2f;11 14&#x3a;14&#x3a;13.722</created_date>
76   - <modified_user>-</modified_user>
77   - <modified_date>2017&#x2f;01&#x2f;11 14&#x3a;14&#x3a;13.722</modified_date>
78   - <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</key_for_session_key>
79   - <is_key_private>N</is_key_private>
80   - </info>
81   - <notepads>
82   - <notepad>
83   - <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>
84   - <xloc>81</xloc>
85   - <yloc>172</yloc>
86   - <width>333</width>
87   - <heigth>90</heigth>
88   - <fontname>YaHei Consolas Hybrid</fontname>
89   - <fontsize>12</fontsize>
90   - <fontbold>N</fontbold>
91   - <fontitalic>N</fontitalic>
92   - <fontcolorred>0</fontcolorred>
93   - <fontcolorgreen>0</fontcolorgreen>
94   - <fontcolorblue>0</fontcolorblue>
95   - <backgroundcolorred>255</backgroundcolorred>
96   - <backgroundcolorgreen>205</backgroundcolorgreen>
97   - <backgroundcolorblue>112</backgroundcolorblue>
98   - <bordercolorred>100</bordercolorred>
99   - <bordercolorgreen>100</bordercolorgreen>
100   - <bordercolorblue>100</bordercolorblue>
101   - <drawshadow>Y</drawshadow>
102   - </notepad>
103   - </notepads>
104   - <connection>
105   - <name>bus_control_variable</name>
106   - <server>&#x24;&#x7b;v_db_ip&#x7d;</server>
107   - <type>MYSQL</type>
108   - <access>Native</access>
109   - <database>&#x24;&#x7b;v_db_dname&#x7d;</database>
110   - <port>3306</port>
111   - <username>&#x24;&#x7b;v_db_uname&#x7d;</username>
112   - <password>&#x24;&#x7b;v_db_pwd&#x7d;</password>
113   - <servername/>
114   - <data_tablespace/>
115   - <index_tablespace/>
116   - <attributes>
117   - <attribute><code>EXTRA_OPTION_MYSQL.characterEncoding</code><attribute>utf8</attribute></attribute>
118   - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
119   - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
120   - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
121   - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
122   - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
123   - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
124   - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
125   - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
126   - <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
127   - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
128   - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
129   - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
130   - </attributes>
131   - </connection>
132   - <connection>
133   - <name>bus_control_&#x516c;&#x53f8;_201</name>
134   - <server>localhost</server>
135   - <type>MYSQL</type>
136   - <access>Native</access>
137   - <database>control</database>
138   - <port>3306</port>
139   - <username>root</username>
140   - <password>Encrypted </password>
141   - <servername/>
142   - <data_tablespace/>
143   - <index_tablespace/>
144   - <attributes>
145   - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
146   - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
147   - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
148   - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
149   - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
150   - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
151   - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
152   - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
153   - <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
154   - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
155   - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
156   - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
157   - </attributes>
158   - </connection>
159   - <connection>
160   - <name>bus_control_&#x672c;&#x673a;</name>
161   - <server>localhost</server>
162   - <type>MYSQL</type>
163   - <access>Native</access>
164   - <database>control</database>
165   - <port>3306</port>
166   - <username>root</username>
167   - <password>Encrypted </password>
168   - <servername/>
169   - <data_tablespace/>
170   - <index_tablespace/>
171   - <attributes>
172   - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
173   - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
174   - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
175   - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
176   - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
177   - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
178   - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
179   - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
180   - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
181   - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
182   - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
183   - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
184   - </attributes>
185   - </connection>
186   - <connection>
187   - <name>xlab_mysql_youle</name>
188   - <server>101.231.124.8</server>
189   - <type>MYSQL</type>
190   - <access>Native</access>
191   - <database>xlab_youle</database>
192   - <port>45687</port>
193   - <username>xlab-youle</username>
194   - <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password>
195   - <servername/>
196   - <data_tablespace/>
197   - <index_tablespace/>
198   - <attributes>
199   - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
200   - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
201   - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
202   - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
203   - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
204   - <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute>
205   - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
206   - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
207   - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
208   - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
209   - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
210   - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
211   - </attributes>
212   - </connection>
213   - <connection>
214   - <name>xlab_mysql_youle&#xff08;&#x672c;&#x673a;&#xff09;</name>
215   - <server>localhost</server>
216   - <type>MYSQL</type>
217   - <access>Native</access>
218   - <database>xlab_youle</database>
219   - <port>3306</port>
220   - <username>root</username>
221   - <password>Encrypted </password>
222   - <servername/>
223   - <data_tablespace/>
224   - <index_tablespace/>
225   - <attributes>
226   - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
227   - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
228   - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
229   - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
230   - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
231   - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
232   - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
233   - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
234   - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
235   - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
236   - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
237   - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
238   - </attributes>
239   - </connection>
240   - <connection>
241   - <name>xlab_youle</name>
242   - <server/>
243   - <type>MYSQL</type>
244   - <access>JNDI</access>
245   - <database>xlab_youle</database>
246   - <port>1521</port>
247   - <username/>
248   - <password>Encrypted </password>
249   - <servername/>
250   - <data_tablespace/>
251   - <index_tablespace/>
252   - <attributes>
253   - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
254   - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
255   - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
256   - <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
257   - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
258   - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
259   - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
260   - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
261   - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
262   - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
263   - </attributes>
264   - </connection>
265   - <order>
266   - <hop> <from>&#x8f66;&#x8f86;&#x914d;&#x7f6e;&#xff08;&#x6ca1;&#x6709;&#x4f5c;&#x5e9f;&#xff09;</from><to>&#x7ebf;&#x8def;&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>
267   - <hop> <from>&#x7ebf;&#x8def;&#x67e5;&#x8be2;</from><to>&#x8f66;&#x8f86;&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>
268   - <hop> <from>&#x8f66;&#x8f86;&#x67e5;&#x8be2;</from><to>&#x683c;&#x5f0f;&#x5316;&#x65e5;&#x671f;</to><enabled>Y</enabled> </hop>
269   - <hop> <from>&#x683c;&#x5f0f;&#x5316;&#x65e5;&#x671f;</from><to>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>
270   - <hop> <from>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</from><to>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</to><enabled>Y</enabled> </hop>
271   - <hop> <from>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</from><to>Excel&#x8f93;&#x51fa;</to><enabled>Y</enabled> </hop>
272   - </order>
273   - <step>
274   - <name>Excel&#x8f93;&#x51fa;</name>
275   - <type>ExcelOutput</type>
276   - <description/>
277   - <distribute>Y</distribute>
278   - <custom_distribution/>
279   - <copies>1</copies>
280   - <partitioning>
281   - <method>none</method>
282   - <schema_name/>
283   - </partitioning>
284   - <header>Y</header>
285   - <footer>N</footer>
286   - <encoding/>
287   - <append>N</append>
288   - <add_to_result_filenames>Y</add_to_result_filenames>
289   - <file>
290   - <name>&#x24;&#x7b;filepath&#x7d;</name>
291   - <extention/>
292   - <do_not_open_newfile_init>N</do_not_open_newfile_init>
293   - <create_parent_folder>N</create_parent_folder>
294   - <split>N</split>
295   - <add_date>N</add_date>
296   - <add_time>N</add_time>
297   - <SpecifyFormat>N</SpecifyFormat>
298   - <date_time_format>yyyyMMddHHmmss</date_time_format>
299   - <sheetname>&#x5de5;&#x4f5c;&#x8868;1</sheetname>
300   - <autosizecolums>N</autosizecolums>
301   - <nullisblank>N</nullisblank>
302   - <protect_sheet>N</protect_sheet>
303   - <password>Encrypted </password>
304   - <splitevery>0</splitevery>
305   - <usetempfiles>N</usetempfiles>
306   - <tempdirectory/>
307   - </file>
308   - <template>
309   - <enabled>N</enabled>
310   - <append>N</append>
311   - <filename>template.xls</filename>
312   - </template>
313   - <fields>
314   - <field>
315   - <name>&#x7ebf;&#x8def;</name>
316   - <type>String</type>
317   - <format/>
318   - </field>
319   - <field>
320   - <name>&#x5185;&#x90e8;&#x7f16;&#x7801;</name>
321   - <type>String</type>
322   - <format/>
323   - </field>
324   - <field>
325   - <name>&#x542f;&#x7528;&#x65e5;&#x671f;</name>
326   - <type>String</type>
327   - <format/>
328   - </field>
329   - <field>
330   - <name>&#x7ec8;&#x7ed3;&#x65e5;&#x671f;</name>
331   - <type>String</type>
332   - <format/>
333   - </field>
334   - <field>
335   - <name>&#x505c;&#x8f66;&#x70b9;</name>
336   - <type>String</type>
337   - <format/>
338   - </field>
339   - </fields>
340   - <custom>
341   - <header_font_name>arial</header_font_name>
342   - <header_font_size>10</header_font_size>
343   - <header_font_bold>N</header_font_bold>
344   - <header_font_italic>N</header_font_italic>
345   - <header_font_underline>no</header_font_underline>
346   - <header_font_orientation>horizontal</header_font_orientation>
347   - <header_font_color>black</header_font_color>
348   - <header_background_color>none</header_background_color>
349   - <header_row_height>255</header_row_height>
350   - <header_alignment>left</header_alignment>
351   - <header_image/>
352   - <row_font_name>arial</row_font_name>
353   - <row_font_size>10</row_font_size>
354   - <row_font_color>black</row_font_color>
355   - <row_background_color>none</row_background_color>
356   - </custom>
357   - <cluster_schema/>
358   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
359   - <xloc>596</xloc>
360   - <yloc>265</yloc>
361   - <draw>Y</draw>
362   - </GUI>
363   - </step>
364   -
365   - <step>
366   - <name>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</name>
367   - <type>SelectValues</type>
368   - <description/>
369   - <distribute>Y</distribute>
370   - <custom_distribution/>
371   - <copies>1</copies>
372   - <partitioning>
373   - <method>none</method>
374   - <schema_name/>
375   - </partitioning>
376   - <fields> <field> <name>xlmc</name>
377   - <rename>&#x7ebf;&#x8def;</rename>
378   - <length>-2</length>
379   - <precision>-2</precision>
380   - </field> <field> <name>zbh</name>
381   - <rename>&#x5185;&#x90e8;&#x7f16;&#x7801;</rename>
382   - <length>-2</length>
383   - <precision>-2</precision>
384   - </field> <field> <name>qyrq</name>
385   - <rename>&#x542f;&#x7528;&#x65e5;&#x671f;</rename>
386   - <length>-2</length>
387   - <precision>-2</precision>
388   - </field> <field> <name>zzrq</name>
389   - <rename>&#x7ec8;&#x7ed3;&#x65e5;&#x671f;</rename>
390   - <length>-2</length>
391   - <precision>-2</precision>
392   - </field> <field> <name>tcd</name>
393   - <rename>&#x505c;&#x8f66;&#x70b9;</rename>
394   - <length>-2</length>
395   - <precision>-2</precision>
396   - </field> <select_unspecified>N</select_unspecified>
397   - </fields> <cluster_schema/>
398   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
399   - <xloc>595</xloc>
400   - <yloc>167</yloc>
401   - <draw>Y</draw>
402   - </GUI>
403   - </step>
404   -
405   - <step>
406   - <name>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</name>
407   - <type>SortRows</type>
408   - <description/>
409   - <distribute>Y</distribute>
410   - <custom_distribution/>
411   - <copies>1</copies>
412   - <partitioning>
413   - <method>none</method>
414   - <schema_name/>
415   - </partitioning>
416   - <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
417   - <prefix>out</prefix>
418   - <sort_size>1000000</sort_size>
419   - <free_memory/>
420   - <compress>N</compress>
421   - <compress_variable/>
422   - <unique_rows>N</unique_rows>
423   - <fields>
424   - <field>
425   - <name>xlmc</name>
426   - <ascending>Y</ascending>
427   - <case_sensitive>N</case_sensitive>
428   - <presorted>N</presorted>
429   - </field>
430   - <field>
431   - <name>zbh</name>
432   - <ascending>Y</ascending>
433   - <case_sensitive>N</case_sensitive>
434   - <presorted>N</presorted>
435   - </field>
436   - <field>
437   - <name>qyrq</name>
438   - <ascending>Y</ascending>
439   - <case_sensitive>N</case_sensitive>
440   - <presorted>N</presorted>
441   - </field>
442   - </fields>
443   - <cluster_schema/>
444   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
445   - <xloc>592</xloc>
446   - <yloc>66</yloc>
447   - <draw>Y</draw>
448   - </GUI>
449   - </step>
450   -
451   - <step>
452   - <name>&#x683c;&#x5f0f;&#x5316;&#x65e5;&#x671f;</name>
453   - <type>SelectValues</type>
454   - <description/>
455   - <distribute>Y</distribute>
456   - <custom_distribution/>
457   - <copies>1</copies>
458   - <partitioning>
459   - <method>none</method>
460   - <schema_name/>
461   - </partitioning>
462   - <fields> <select_unspecified>N</select_unspecified>
463   - <meta> <name>qyrq</name>
464   - <rename>qyrq</rename>
465   - <type>String</type>
466   - <length>-2</length>
467   - <precision>-2</precision>
468   - <conversion_mask>yyyy-MM-dd</conversion_mask>
469   - <date_format_lenient>false</date_format_lenient>
470   - <date_format_locale/>
471   - <date_format_timezone/>
472   - <lenient_string_to_number>false</lenient_string_to_number>
473   - <encoding/>
474   - <decimal_symbol/>
475   - <grouping_symbol/>
476   - <currency_symbol/>
477   - <storage_type/>
478   - </meta> <meta> <name>zzrq</name>
479   - <rename>zzrq</rename>
480   - <type>String</type>
481   - <length>-2</length>
482   - <precision>-2</precision>
483   - <conversion_mask>yyyy-MM-dd</conversion_mask>
484   - <date_format_lenient>false</date_format_lenient>
485   - <date_format_locale/>
486   - <date_format_timezone/>
487   - <lenient_string_to_number>false</lenient_string_to_number>
488   - <encoding/>
489   - <decimal_symbol/>
490   - <grouping_symbol/>
491   - <currency_symbol/>
492   - <storage_type/>
493   - </meta> </fields> <cluster_schema/>
494   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
495   - <xloc>478</xloc>
496   - <yloc>66</yloc>
497   - <draw>Y</draw>
498   - </GUI>
499   - </step>
500   -
501   - <step>
502   - <name>&#x7ebf;&#x8def;&#x67e5;&#x8be2;</name>
503   - <type>DBLookup</type>
504   - <description/>
505   - <distribute>Y</distribute>
506   - <custom_distribution/>
507   - <copies>1</copies>
508   - <partitioning>
509   - <method>none</method>
510   - <schema_name/>
511   - </partitioning>
512   - <connection>bus_control_variable</connection>
513   - <cache>Y</cache>
514   - <cache_load_all>Y</cache_load_all>
515   - <cache_size>0</cache_size>
516   - <lookup>
517   - <schema/>
518   - <table>bsth_c_line</table>
519   - <orderby/>
520   - <fail_on_multiple>N</fail_on_multiple>
521   - <eat_row_on_failure>N</eat_row_on_failure>
522   - <key>
523   - <name>xl</name>
524   - <field>id</field>
525   - <condition>&#x3d;</condition>
526   - <name2/>
527   - </key>
528   - <value>
529   - <name>name</name>
530   - <rename>xlmc</rename>
531   - <default/>
532   - <type>String</type>
533   - </value>
534   - </lookup>
535   - <cluster_schema/>
536   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
537   - <xloc>248</xloc>
538   - <yloc>67</yloc>
539   - <draw>Y</draw>
540   - </GUI>
541   - </step>
542   -
543   - <step>
544   - <name>&#x8f66;&#x8f86;&#x67e5;&#x8be2;</name>
545   - <type>DBLookup</type>
546   - <description/>
547   - <distribute>Y</distribute>
548   - <custom_distribution/>
549   - <copies>1</copies>
550   - <partitioning>
551   - <method>none</method>
552   - <schema_name/>
553   - </partitioning>
554   - <connection>bus_control_variable</connection>
555   - <cache>N</cache>
556   - <cache_load_all>N</cache_load_all>
557   - <cache_size>0</cache_size>
558   - <lookup>
559   - <schema/>
560   - <table>bsth_c_cars</table>
561   - <orderby/>
562   - <fail_on_multiple>N</fail_on_multiple>
563   - <eat_row_on_failure>N</eat_row_on_failure>
564   - <key>
565   - <name>cl</name>
566   - <field>id</field>
567   - <condition>&#x3d;</condition>
568   - <name2/>
569   - </key>
570   - <value>
571   - <name>inside_code</name>
572   - <rename>zbh</rename>
573   - <default/>
574   - <type>String</type>
575   - </value>
576   - </lookup>
577   - <cluster_schema/>
578   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
579   - <xloc>361</xloc>
580   - <yloc>67</yloc>
581   - <draw>Y</draw>
582   - </GUI>
583   - </step>
584   -
585   - <step>
586   - <name>&#x8f66;&#x8f86;&#x914d;&#x7f6e;&#xff08;&#x6ca1;&#x6709;&#x4f5c;&#x5e9f;&#xff09;</name>
587   - <type>TableInput</type>
588   - <description/>
589   - <distribute>Y</distribute>
590   - <custom_distribution/>
591   - <copies>1</copies>
592   - <partitioning>
593   - <method>none</method>
594   - <schema_name/>
595   - </partitioning>
596   - <connection>bus_control_variable</connection>
597   - <sql>select &#x2a; from bsth_c_s_ccinfo where is_cancel &#x3d; 0</sql>
598   - <limit>0</limit>
599   - <lookup/>
600   - <execute_each_row>N</execute_each_row>
601   - <variables_active>N</variables_active>
602   - <lazy_conversion_active>N</lazy_conversion_active>
603   - <cluster_schema/>
604   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
605   - <xloc>106</xloc>
606   - <yloc>68</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>&#x8f66;&#x8f86;&#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 + </parameters>
  18 + <log>
  19 +<trans-log-table><connection/>
  20 +<schema/>
  21 +<table/>
  22 +<size_limit_lines/>
  23 +<interval/>
  24 +<timeout_days/>
  25 +<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>
  26 +<perf-log-table><connection/>
  27 +<schema/>
  28 +<table/>
  29 +<interval/>
  30 +<timeout_days/>
  31 +<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>
  32 +<channel-log-table><connection/>
  33 +<schema/>
  34 +<table/>
  35 +<timeout_days/>
  36 +<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>
  37 +<step-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>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>
  42 +<metrics-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>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>
  47 + </log>
  48 + <maxdate>
  49 + <connection/>
  50 + <table/>
  51 + <field/>
  52 + <offset>0.0</offset>
  53 + <maxdiff>0.0</maxdiff>
  54 + </maxdate>
  55 + <size_rowset>10000</size_rowset>
  56 + <sleep_time_empty>50</sleep_time_empty>
  57 + <sleep_time_full>50</sleep_time_full>
  58 + <unique_connections>N</unique_connections>
  59 + <feedback_shown>Y</feedback_shown>
  60 + <feedback_size>50000</feedback_size>
  61 + <using_thread_priorities>Y</using_thread_priorities>
  62 + <shared_objects_file/>
  63 + <capture_step_performance>N</capture_step_performance>
  64 + <step_performance_capturing_delay>1000</step_performance_capturing_delay>
  65 + <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit>
  66 + <dependencies>
  67 + </dependencies>
  68 + <partitionschemas>
  69 + </partitionschemas>
  70 + <slaveservers>
  71 + </slaveservers>
  72 + <clusterschemas>
  73 + </clusterschemas>
  74 + <created_user>-</created_user>
  75 + <created_date>2017&#x2f;01&#x2f;11 14&#x3a;14&#x3a;13.722</created_date>
  76 + <modified_user>-</modified_user>
  77 + <modified_date>2017&#x2f;01&#x2f;11 14&#x3a;14&#x3a;13.722</modified_date>
  78 + <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</key_for_session_key>
  79 + <is_key_private>N</is_key_private>
  80 + </info>
  81 + <notepads>
  82 + <notepad>
  83 + <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>
  84 + <xloc>81</xloc>
  85 + <yloc>172</yloc>
  86 + <width>333</width>
  87 + <heigth>90</heigth>
  88 + <fontname>YaHei Consolas Hybrid</fontname>
  89 + <fontsize>12</fontsize>
  90 + <fontbold>N</fontbold>
  91 + <fontitalic>N</fontitalic>
  92 + <fontcolorred>0</fontcolorred>
  93 + <fontcolorgreen>0</fontcolorgreen>
  94 + <fontcolorblue>0</fontcolorblue>
  95 + <backgroundcolorred>255</backgroundcolorred>
  96 + <backgroundcolorgreen>205</backgroundcolorgreen>
  97 + <backgroundcolorblue>112</backgroundcolorblue>
  98 + <bordercolorred>100</bordercolorred>
  99 + <bordercolorgreen>100</bordercolorgreen>
  100 + <bordercolorblue>100</bordercolorblue>
  101 + <drawshadow>Y</drawshadow>
  102 + </notepad>
  103 + </notepads>
  104 + <connection>
  105 + <name>bus_control_variable</name>
  106 + <server>&#x24;&#x7b;v_db_ip&#x7d;</server>
  107 + <type>MYSQL</type>
  108 + <access>Native</access>
  109 + <database>&#x24;&#x7b;v_db_dname&#x7d;</database>
  110 + <port>3306</port>
  111 + <username>&#x24;&#x7b;v_db_uname&#x7d;</username>
  112 + <password>&#x24;&#x7b;v_db_pwd&#x7d;</password>
  113 + <servername/>
  114 + <data_tablespace/>
  115 + <index_tablespace/>
  116 + <attributes>
  117 + <attribute><code>EXTRA_OPTION_MYSQL.characterEncoding</code><attribute>utf8</attribute></attribute>
  118 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  119 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  120 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  121 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  122 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  123 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  124 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  125 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  126 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  127 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  128 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  129 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  130 + </attributes>
  131 + </connection>
  132 + <connection>
  133 + <name>bus_control_&#x516c;&#x53f8;_201</name>
  134 + <server>localhost</server>
  135 + <type>MYSQL</type>
  136 + <access>Native</access>
  137 + <database>control</database>
  138 + <port>3306</port>
  139 + <username>root</username>
  140 + <password>Encrypted </password>
  141 + <servername/>
  142 + <data_tablespace/>
  143 + <index_tablespace/>
  144 + <attributes>
  145 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  146 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  147 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  148 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  149 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  150 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  151 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  152 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  153 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  154 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  155 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  156 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  157 + </attributes>
  158 + </connection>
  159 + <connection>
  160 + <name>bus_control_&#x672c;&#x673a;</name>
  161 + <server>localhost</server>
  162 + <type>MYSQL</type>
  163 + <access>Native</access>
  164 + <database>control</database>
  165 + <port>3306</port>
  166 + <username>root</username>
  167 + <password>Encrypted </password>
  168 + <servername/>
  169 + <data_tablespace/>
  170 + <index_tablespace/>
  171 + <attributes>
  172 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  173 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  174 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  175 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  176 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  177 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  178 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  179 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  180 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  181 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  182 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  183 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  184 + </attributes>
  185 + </connection>
  186 + <connection>
  187 + <name>xlab_mysql_youle</name>
  188 + <server>101.231.124.8</server>
  189 + <type>MYSQL</type>
  190 + <access>Native</access>
  191 + <database>xlab_youle</database>
  192 + <port>45687</port>
  193 + <username>xlab-youle</username>
  194 + <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password>
  195 + <servername/>
  196 + <data_tablespace/>
  197 + <index_tablespace/>
  198 + <attributes>
  199 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  200 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  201 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  202 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  203 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  204 + <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute>
  205 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  206 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  207 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  208 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  209 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  210 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  211 + </attributes>
  212 + </connection>
  213 + <connection>
  214 + <name>xlab_mysql_youle&#xff08;&#x672c;&#x673a;&#xff09;</name>
  215 + <server>localhost</server>
  216 + <type>MYSQL</type>
  217 + <access>Native</access>
  218 + <database>xlab_youle</database>
  219 + <port>3306</port>
  220 + <username>root</username>
  221 + <password>Encrypted </password>
  222 + <servername/>
  223 + <data_tablespace/>
  224 + <index_tablespace/>
  225 + <attributes>
  226 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  227 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  228 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  229 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  230 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  231 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  232 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  233 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  234 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  235 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  236 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  237 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  238 + </attributes>
  239 + </connection>
  240 + <connection>
  241 + <name>xlab_youle</name>
  242 + <server/>
  243 + <type>MYSQL</type>
  244 + <access>JNDI</access>
  245 + <database>xlab_youle</database>
  246 + <port>1521</port>
  247 + <username/>
  248 + <password>Encrypted </password>
  249 + <servername/>
  250 + <data_tablespace/>
  251 + <index_tablespace/>
  252 + <attributes>
  253 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  254 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  255 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  256 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  257 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  258 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  259 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  260 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  261 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  262 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  263 + </attributes>
  264 + </connection>
  265 + <order>
  266 + <hop> <from>&#x8f66;&#x8f86;&#x914d;&#x7f6e;&#xff08;&#x6ca1;&#x6709;&#x4f5c;&#x5e9f;&#xff09;</from><to>&#x7ebf;&#x8def;&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>
  267 + <hop> <from>&#x7ebf;&#x8def;&#x67e5;&#x8be2;</from><to>&#x8f66;&#x8f86;&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>
  268 + <hop> <from>&#x8f66;&#x8f86;&#x67e5;&#x8be2;</from><to>&#x683c;&#x5f0f;&#x5316;&#x65e5;&#x671f;</to><enabled>Y</enabled> </hop>
  269 + <hop> <from>&#x683c;&#x5f0f;&#x5316;&#x65e5;&#x671f;</from><to>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>
  270 + <hop> <from>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</from><to>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</to><enabled>Y</enabled> </hop>
  271 + <hop> <from>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</from><to>Excel&#x8f93;&#x51fa;</to><enabled>Y</enabled> </hop>
  272 + </order>
  273 + <step>
  274 + <name>Excel&#x8f93;&#x51fa;</name>
  275 + <type>ExcelOutput</type>
  276 + <description/>
  277 + <distribute>Y</distribute>
  278 + <custom_distribution/>
  279 + <copies>1</copies>
  280 + <partitioning>
  281 + <method>none</method>
  282 + <schema_name/>
  283 + </partitioning>
  284 + <header>Y</header>
  285 + <footer>N</footer>
  286 + <encoding/>
  287 + <append>N</append>
  288 + <add_to_result_filenames>Y</add_to_result_filenames>
  289 + <file>
  290 + <name>&#x24;&#x7b;filepath&#x7d;</name>
  291 + <extention/>
  292 + <do_not_open_newfile_init>N</do_not_open_newfile_init>
  293 + <create_parent_folder>N</create_parent_folder>
  294 + <split>N</split>
  295 + <add_date>N</add_date>
  296 + <add_time>N</add_time>
  297 + <SpecifyFormat>N</SpecifyFormat>
  298 + <date_time_format>yyyyMMddHHmmss</date_time_format>
  299 + <sheetname>&#x5de5;&#x4f5c;&#x8868;1</sheetname>
  300 + <autosizecolums>N</autosizecolums>
  301 + <nullisblank>N</nullisblank>
  302 + <protect_sheet>N</protect_sheet>
  303 + <password>Encrypted </password>
  304 + <splitevery>0</splitevery>
  305 + <usetempfiles>N</usetempfiles>
  306 + <tempdirectory/>
  307 + </file>
  308 + <template>
  309 + <enabled>N</enabled>
  310 + <append>N</append>
  311 + <filename>template.xls</filename>
  312 + </template>
  313 + <fields>
  314 + <field>
  315 + <name>&#x7ebf;&#x8def;</name>
  316 + <type>String</type>
  317 + <format/>
  318 + </field>
  319 + <field>
  320 + <name>&#x5185;&#x90e8;&#x7f16;&#x7801;</name>
  321 + <type>String</type>
  322 + <format/>
  323 + </field>
  324 + <field>
  325 + <name>&#x542f;&#x7528;&#x65e5;&#x671f;</name>
  326 + <type>String</type>
  327 + <format/>
  328 + </field>
  329 + <field>
  330 + <name>&#x7ec8;&#x7ed3;&#x65e5;&#x671f;</name>
  331 + <type>String</type>
  332 + <format/>
  333 + </field>
  334 + <field>
  335 + <name>&#x505c;&#x8f66;&#x70b9;</name>
  336 + <type>String</type>
  337 + <format/>
  338 + </field>
  339 + </fields>
  340 + <custom>
  341 + <header_font_name>arial</header_font_name>
  342 + <header_font_size>10</header_font_size>
  343 + <header_font_bold>N</header_font_bold>
  344 + <header_font_italic>N</header_font_italic>
  345 + <header_font_underline>no</header_font_underline>
  346 + <header_font_orientation>horizontal</header_font_orientation>
  347 + <header_font_color>black</header_font_color>
  348 + <header_background_color>none</header_background_color>
  349 + <header_row_height>255</header_row_height>
  350 + <header_alignment>left</header_alignment>
  351 + <header_image/>
  352 + <row_font_name>arial</row_font_name>
  353 + <row_font_size>10</row_font_size>
  354 + <row_font_color>black</row_font_color>
  355 + <row_background_color>none</row_background_color>
  356 + </custom>
  357 + <cluster_schema/>
  358 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  359 + <xloc>596</xloc>
  360 + <yloc>265</yloc>
  361 + <draw>Y</draw>
  362 + </GUI>
  363 + </step>
  364 +
  365 + <step>
  366 + <name>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</name>
  367 + <type>SelectValues</type>
  368 + <description/>
  369 + <distribute>Y</distribute>
  370 + <custom_distribution/>
  371 + <copies>1</copies>
  372 + <partitioning>
  373 + <method>none</method>
  374 + <schema_name/>
  375 + </partitioning>
  376 + <fields> <field> <name>xlmc</name>
  377 + <rename>&#x7ebf;&#x8def;</rename>
  378 + <length>-2</length>
  379 + <precision>-2</precision>
  380 + </field> <field> <name>zbh</name>
  381 + <rename>&#x5185;&#x90e8;&#x7f16;&#x7801;</rename>
  382 + <length>-2</length>
  383 + <precision>-2</precision>
  384 + </field> <field> <name>qyrq</name>
  385 + <rename>&#x542f;&#x7528;&#x65e5;&#x671f;</rename>
  386 + <length>-2</length>
  387 + <precision>-2</precision>
  388 + </field> <field> <name>zzrq</name>
  389 + <rename>&#x7ec8;&#x7ed3;&#x65e5;&#x671f;</rename>
  390 + <length>-2</length>
  391 + <precision>-2</precision>
  392 + </field> <field> <name>tcd</name>
  393 + <rename>&#x505c;&#x8f66;&#x70b9;</rename>
  394 + <length>-2</length>
  395 + <precision>-2</precision>
  396 + </field> <select_unspecified>N</select_unspecified>
  397 + </fields> <cluster_schema/>
  398 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  399 + <xloc>595</xloc>
  400 + <yloc>167</yloc>
  401 + <draw>Y</draw>
  402 + </GUI>
  403 + </step>
  404 +
  405 + <step>
  406 + <name>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</name>
  407 + <type>SortRows</type>
  408 + <description/>
  409 + <distribute>Y</distribute>
  410 + <custom_distribution/>
  411 + <copies>1</copies>
  412 + <partitioning>
  413 + <method>none</method>
  414 + <schema_name/>
  415 + </partitioning>
  416 + <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
  417 + <prefix>out</prefix>
  418 + <sort_size>1000000</sort_size>
  419 + <free_memory/>
  420 + <compress>N</compress>
  421 + <compress_variable/>
  422 + <unique_rows>N</unique_rows>
  423 + <fields>
  424 + <field>
  425 + <name>xlmc</name>
  426 + <ascending>Y</ascending>
  427 + <case_sensitive>N</case_sensitive>
  428 + <presorted>N</presorted>
  429 + </field>
  430 + <field>
  431 + <name>zbh</name>
  432 + <ascending>Y</ascending>
  433 + <case_sensitive>N</case_sensitive>
  434 + <presorted>N</presorted>
  435 + </field>
  436 + <field>
  437 + <name>qyrq</name>
  438 + <ascending>Y</ascending>
  439 + <case_sensitive>N</case_sensitive>
  440 + <presorted>N</presorted>
  441 + </field>
  442 + </fields>
  443 + <cluster_schema/>
  444 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  445 + <xloc>592</xloc>
  446 + <yloc>66</yloc>
  447 + <draw>Y</draw>
  448 + </GUI>
  449 + </step>
  450 +
  451 + <step>
  452 + <name>&#x683c;&#x5f0f;&#x5316;&#x65e5;&#x671f;</name>
  453 + <type>SelectValues</type>
  454 + <description/>
  455 + <distribute>Y</distribute>
  456 + <custom_distribution/>
  457 + <copies>1</copies>
  458 + <partitioning>
  459 + <method>none</method>
  460 + <schema_name/>
  461 + </partitioning>
  462 + <fields> <select_unspecified>N</select_unspecified>
  463 + <meta> <name>qyrq</name>
  464 + <rename>qyrq</rename>
  465 + <type>String</type>
  466 + <length>-2</length>
  467 + <precision>-2</precision>
  468 + <conversion_mask>yyyy-MM-dd</conversion_mask>
  469 + <date_format_lenient>false</date_format_lenient>
  470 + <date_format_locale/>
  471 + <date_format_timezone/>
  472 + <lenient_string_to_number>false</lenient_string_to_number>
  473 + <encoding/>
  474 + <decimal_symbol/>
  475 + <grouping_symbol/>
  476 + <currency_symbol/>
  477 + <storage_type/>
  478 + </meta> <meta> <name>zzrq</name>
  479 + <rename>zzrq</rename>
  480 + <type>String</type>
  481 + <length>-2</length>
  482 + <precision>-2</precision>
  483 + <conversion_mask>yyyy-MM-dd</conversion_mask>
  484 + <date_format_lenient>false</date_format_lenient>
  485 + <date_format_locale/>
  486 + <date_format_timezone/>
  487 + <lenient_string_to_number>false</lenient_string_to_number>
  488 + <encoding/>
  489 + <decimal_symbol/>
  490 + <grouping_symbol/>
  491 + <currency_symbol/>
  492 + <storage_type/>
  493 + </meta> </fields> <cluster_schema/>
  494 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  495 + <xloc>478</xloc>
  496 + <yloc>66</yloc>
  497 + <draw>Y</draw>
  498 + </GUI>
  499 + </step>
  500 +
  501 + <step>
  502 + <name>&#x7ebf;&#x8def;&#x67e5;&#x8be2;</name>
  503 + <type>DBLookup</type>
  504 + <description/>
  505 + <distribute>Y</distribute>
  506 + <custom_distribution/>
  507 + <copies>1</copies>
  508 + <partitioning>
  509 + <method>none</method>
  510 + <schema_name/>
  511 + </partitioning>
  512 + <connection>bus_control_variable</connection>
  513 + <cache>Y</cache>
  514 + <cache_load_all>Y</cache_load_all>
  515 + <cache_size>0</cache_size>
  516 + <lookup>
  517 + <schema/>
  518 + <table>bsth_c_line</table>
  519 + <orderby/>
  520 + <fail_on_multiple>N</fail_on_multiple>
  521 + <eat_row_on_failure>N</eat_row_on_failure>
  522 + <key>
  523 + <name>xl</name>
  524 + <field>id</field>
  525 + <condition>&#x3d;</condition>
  526 + <name2/>
  527 + </key>
  528 + <value>
  529 + <name>name</name>
  530 + <rename>xlmc</rename>
  531 + <default/>
  532 + <type>String</type>
  533 + </value>
  534 + </lookup>
  535 + <cluster_schema/>
  536 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  537 + <xloc>248</xloc>
  538 + <yloc>67</yloc>
  539 + <draw>Y</draw>
  540 + </GUI>
  541 + </step>
  542 +
  543 + <step>
  544 + <name>&#x8f66;&#x8f86;&#x67e5;&#x8be2;</name>
  545 + <type>DBLookup</type>
  546 + <description/>
  547 + <distribute>Y</distribute>
  548 + <custom_distribution/>
  549 + <copies>1</copies>
  550 + <partitioning>
  551 + <method>none</method>
  552 + <schema_name/>
  553 + </partitioning>
  554 + <connection>bus_control_variable</connection>
  555 + <cache>N</cache>
  556 + <cache_load_all>N</cache_load_all>
  557 + <cache_size>0</cache_size>
  558 + <lookup>
  559 + <schema/>
  560 + <table>bsth_c_cars</table>
  561 + <orderby/>
  562 + <fail_on_multiple>N</fail_on_multiple>
  563 + <eat_row_on_failure>N</eat_row_on_failure>
  564 + <key>
  565 + <name>cl</name>
  566 + <field>id</field>
  567 + <condition>&#x3d;</condition>
  568 + <name2/>
  569 + </key>
  570 + <value>
  571 + <name>inside_code</name>
  572 + <rename>zbh</rename>
  573 + <default/>
  574 + <type>String</type>
  575 + </value>
  576 + </lookup>
  577 + <cluster_schema/>
  578 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  579 + <xloc>361</xloc>
  580 + <yloc>67</yloc>
  581 + <draw>Y</draw>
  582 + </GUI>
  583 + </step>
  584 +
  585 + <step>
  586 + <name>&#x8f66;&#x8f86;&#x914d;&#x7f6e;&#xff08;&#x6ca1;&#x6709;&#x4f5c;&#x5e9f;&#xff09;</name>
  587 + <type>TableInput</type>
  588 + <description/>
  589 + <distribute>Y</distribute>
  590 + <custom_distribution/>
  591 + <copies>1</copies>
  592 + <partitioning>
  593 + <method>none</method>
  594 + <schema_name/>
  595 + </partitioning>
  596 + <connection>bus_control_variable</connection>
  597 + <sql>select &#x2a; from bsth_c_s_ccinfo where is_cancel &#x3d; 0</sql>
  598 + <limit>0</limit>
  599 + <lookup/>
  600 + <execute_each_row>N</execute_each_row>
  601 + <variables_active>N</variables_active>
  602 + <lazy_conversion_active>N</lazy_conversion_active>
  603 + <cluster_schema/>
  604 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  605 + <xloc>106</xloc>
  606 + <yloc>68</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>
... ...