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,6 +20,7 @@ import org.springframework.http.ResponseEntity;
20 import org.springframework.stereotype.Component; 20 import org.springframework.stereotype.Component;
21 import org.springframework.web.bind.annotation.RequestMapping; 21 import org.springframework.web.bind.annotation.RequestMapping;
22 22
  23 +import com.google.protobuf.UnknownFieldSet.Field;
23 import com.mysql.fabric.Response; 24 import com.mysql.fabric.Response;
24 25
25 /** 26 /**
@@ -74,13 +75,14 @@ public class DownloadController @@ -74,13 +75,14 @@ public class DownloadController
74 os.write(buffer);// 输出文件 75 os.write(buffer);// 输出文件
75 os.flush(); 76 os.flush();
76 os.close(); 77 os.close();
  78 + file.delete();
77 } 79 }
78 80
79 @RequestMapping("downloadList") 81 @RequestMapping("downloadList")
80 public void downloadList(HttpServletResponse response,String fileName) 82 public void downloadList(HttpServletResponse response,String fileName)
81 throws IOException { 83 throws IOException {
82 // String fileNames=URLDecoder.decode(fileName,"UTF-8"); 84 // String fileNames=URLDecoder.decode(fileName,"UTF-8");
83 - fileName =fileName + ".zip"; 85 + fileName = fileName + ".zip";
84 String moudelPath = this.getClass().getResource("/").getPath()+ "static/pages/forms/export/"+fileName; 86 String moudelPath = this.getClass().getResource("/").getPath()+ "static/pages/forms/export/"+fileName;
85 File file = new File(moudelPath);// path是根据日志路径和文件名拼接出来的 87 File file = new File(moudelPath);// path是根据日志路径和文件名拼接出来的
86 // String filename = file.getName();// 获取日志文件名称 88 // String filename = file.getName();// 获取日志文件名称
@@ -96,5 +98,6 @@ public class DownloadController @@ -96,5 +98,6 @@ public class DownloadController
96 os.write(buffer);// 输出文件 98 os.write(buffer);// 输出文件
97 os.flush(); 99 os.flush();
98 os.close(); 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,5 +439,14 @@ public class ScheduleRealInfoController extends BaseController&lt;ScheduleRealInfo,
439 public Map<String, Object> exportWaybillMore(@RequestParam Map<String, Object> map){ 439 public Map<String, Object> exportWaybillMore(@RequestParam Map<String, Object> map){
440 return scheduleRealInfoService.exportWaybillMore(map); 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,9 +40,12 @@ public class BController&lt;T, ID extends Serializable&gt; {
40 SysUser sysUser = sysUserService.findByUserName(userName); 40 SysUser sysUser = sysUserService.findByUserName(userName);
41 BEntity t_b = null; 41 BEntity t_b = null;
42 if (t instanceof BEntity) { 42 if (t instanceof BEntity) {
  43 + Date cdate = new Date();
43 t_b = (BEntity) t; 44 t_b = (BEntity) t;
44 t_b.setCreateBy(sysUser); 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 T t_saved = bService.save(t_b == null ? t : (T) t_b); 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 import com.bsth.entity.schedule.SchedulePlan; 4 import com.bsth.entity.schedule.SchedulePlan;
5 import com.bsth.service.schedule.SchedulePlanService; 5 import com.bsth.service.schedule.SchedulePlanService;
6 import org.springframework.beans.factory.annotation.Autowired; 6 import org.springframework.beans.factory.annotation.Autowired;
7 -import org.springframework.web.bind.annotation.RequestBody;  
8 import org.springframework.web.bind.annotation.RequestMapping; 7 import org.springframework.web.bind.annotation.RequestMapping;
9 import org.springframework.web.bind.annotation.RequestMethod; 8 import org.springframework.web.bind.annotation.RequestMethod;
10 import org.springframework.web.bind.annotation.RestController; 9 import org.springframework.web.bind.annotation.RestController;
11 10
12 -import java.util.Map;  
13 -  
14 /** 11 /**
15 * Created by xu on 16/6/16. 12 * Created by xu on 16/6/16.
16 */ 13 */
17 @RestController 14 @RestController
18 @RequestMapping("spc") 15 @RequestMapping("spc")
19 -public class SchedulePlanController extends BaseController<SchedulePlan, Long> { 16 +public class SchedulePlanController extends BController<SchedulePlan, Long> {
20 @Autowired 17 @Autowired
21 private SchedulePlanService schedulePlanService; 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 * @return 22 * @return
41 * @throws Exception 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,6 +8,7 @@ import org.springframework.beans.factory.annotation.Autowired;
8 import org.springframework.web.bind.annotation.PathVariable; 8 import org.springframework.web.bind.annotation.PathVariable;
9 import org.springframework.web.bind.annotation.RequestMapping; 9 import org.springframework.web.bind.annotation.RequestMapping;
10 import org.springframework.web.bind.annotation.RequestMethod; 10 import org.springframework.web.bind.annotation.RequestMethod;
  11 +import org.springframework.web.bind.annotation.RequestParam;
11 import org.springframework.web.bind.annotation.RestController; 12 import org.springframework.web.bind.annotation.RestController;
12 13
13 import java.util.HashMap; 14 import java.util.HashMap;
@@ -87,5 +88,16 @@ public class TTInfoDetailController extends BController&lt;TTInfoDetail, Long&gt; { @@ -87,5 +88,16 @@ public class TTInfoDetailController extends BController&lt;TTInfoDetail, Long&gt; {
87 } 88 }
88 return rtn; 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,7 +195,7 @@ public class InOutStationSignalHandle extends SignalHandle{
195 //进站既进场 195 //进站既进场
196 inStationAndInPark(sch, next); 196 inStationAndInPark(sch, next);
197 //将gps转换为下一个班次走向的站内信号 197 //将gps转换为下一个班次走向的站内信号
198 - transformUpdown(gps, sch); 198 + transformUpdown(gps, next);
199 } 199 }
200 } 200 }
201 else if(sch.getFcsjActual() == null){ 201 else if(sch.getFcsjActual() == null){
@@ -217,6 +217,11 @@ public class InOutStationSignalHandle extends SignalHandle{ @@ -217,6 +217,11 @@ public class InOutStationSignalHandle extends SignalHandle{
217 217
218 sendUtils.refreshSch(next); 218 sendUtils.refreshSch(next);
219 dayOfSchedule.save(next); 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,6 +49,9 @@ public class DayOfSchedule implements CommandLineRunner {
49 49
50 Logger logger = LoggerFactory.getLogger(this.getClass()); 50 Logger logger = LoggerFactory.getLogger(this.getClass());
51 51
  52 + //按线路分组的 “计划” 排班数据
  53 + public static Map<String, List<SchedulePlanInfo>> schedulePlanMap;
  54 +
52 // 按车辆分组的班次数据 55 // 按车辆分组的班次数据
53 private static ArrayListMultimap<String, ScheduleRealInfo> nbbmScheduleMap; 56 private static ArrayListMultimap<String, ScheduleRealInfo> nbbmScheduleMap;
54 57
@@ -101,6 +104,8 @@ public class DayOfSchedule implements CommandLineRunner { @@ -101,6 +104,8 @@ public class DayOfSchedule implements CommandLineRunner {
101 currSchDateMap = new HashMap<>(); 104 currSchDateMap = new HashMap<>();
102 nbbm2SEStationMap = TreeMultimap.create(); 105 nbbm2SEStationMap = TreeMultimap.create();
103 carExecutePlanMap = new HashMap<>(); 106 carExecutePlanMap = new HashMap<>();
  107 +
  108 + schedulePlanMap = new HashMap<>();
104 } 109 }
105 110
106 @Autowired 111 @Autowired
@@ -328,6 +333,8 @@ public class DayOfSchedule implements CommandLineRunner { @@ -328,6 +333,8 @@ public class DayOfSchedule implements CommandLineRunner {
328 333
329 // 查询计划排班 334 // 查询计划排班
330 List<SchedulePlanInfo> planItr = cleanSchPlanItr(schPlanService.list(data).iterator()); 335 List<SchedulePlanInfo> planItr = cleanSchPlanItr(schPlanService.list(data).iterator());
  336 + //保存一份原始计划排班数据
  337 + schedulePlanMap.put(lineCode, planItr);
331 338
332 // 转换为实际排班 339 // 转换为实际排班
333 realList = JSONArray.parseArray(JSON.toJSONString(planItr), ScheduleRealInfo.class); 340 realList = JSONArray.parseArray(JSON.toJSONString(planItr), ScheduleRealInfo.class);
@@ -374,6 +381,7 @@ public class DayOfSchedule implements CommandLineRunner { @@ -374,6 +381,7 @@ public class DayOfSchedule implements CommandLineRunner {
374 } catch (Exception e) { 381 } catch (Exception e) {
375 logger.error("", e); 382 logger.error("", e);
376 } 383 }
  384 +
377 return realList; 385 return realList;
378 } 386 }
379 387
src/main/java/com/bsth/entity/SectionRoute.java
@@ -52,7 +52,7 @@ public class SectionRoute { @@ -52,7 +52,7 @@ public class SectionRoute {
52 // 是否撤销 52 // 是否撤销
53 private Integer destroy; 53 private Integer destroy;
54 54
55 - /** 是否有路段限速数据 <0:无;1:有>*/ 55 + /** 是否有路段限速数据 <0:未分段;1:分段>*/
56 private Integer isRoadeSpeed; 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,6 +344,8 @@ public class ScheduleRealInfo {
344 } 344 }
345 345
346 public String getsGh() { 346 public String getsGh() {
  347 + if(sGh == null)
  348 + return "";
347 return sGh; 349 return sGh;
348 } 350 }
349 351
@@ -352,6 +354,8 @@ public class ScheduleRealInfo { @@ -352,6 +354,8 @@ public class ScheduleRealInfo {
352 } 354 }
353 355
354 public String getsName() { 356 public String getsName() {
  357 + if(sGh == null)
  358 + return "";
355 return sName; 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,7 +2,6 @@ package com.bsth.entity.schedule;
2 2
3 import com.bsth.entity.Line; 3 import com.bsth.entity.Line;
4 import com.bsth.entity.schedule.rule.ScheduleRule1; 4 import com.bsth.entity.schedule.rule.ScheduleRule1;
5 -import com.bsth.entity.sys.SysUser;  
6 import com.fasterxml.jackson.annotation.JsonIgnore; 5 import com.fasterxml.jackson.annotation.JsonIgnore;
7 6
8 import javax.persistence.*; 7 import javax.persistence.*;
@@ -21,7 +20,7 @@ import java.util.List; @@ -21,7 +20,7 @@ import java.util.List;
21 @NamedAttributeNode("ttInfo") 20 @NamedAttributeNode("ttInfo")
22 }) 21 })
23 }) 22 })
24 -public class SchedulePlan { 23 +public class SchedulePlan extends BEntity {
25 24
26 /** 主键Id */ 25 /** 主键Id */
27 @Id 26 @Id
@@ -60,19 +59,6 @@ public class SchedulePlan { @@ -60,19 +59,6 @@ public class SchedulePlan {
60 @OneToMany(mappedBy = "schedulePlan", cascade = CascadeType.ALL, fetch = FetchType.LAZY) 59 @OneToMany(mappedBy = "schedulePlan", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
61 private List<SchedulePlanInfo> schedulePlanInfoList = new ArrayList<>(); 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 public Long getId() { 62 public Long getId() {
77 return id; 63 return id;
78 } 64 }
@@ -129,38 +115,6 @@ public class SchedulePlan { @@ -129,38 +115,6 @@ public class SchedulePlan {
129 this.schedulePlanInfoList = schedulePlanInfoList; 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 public String getTtInfoNames() { 118 public String getTtInfoNames() {
165 return ttInfoNames; 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,6 +3,7 @@ package com.bsth.repository.schedule;
3 import java.util.List; 3 import java.util.List;
4 import java.util.Map; 4 import java.util.Map;
5 5
  6 +import com.bsth.entity.Line;
6 import com.bsth.entity.schedule.EmployeeConfigInfo; 7 import com.bsth.entity.schedule.EmployeeConfigInfo;
7 import com.bsth.entity.schedule.GuideboardInfo; 8 import com.bsth.entity.schedule.GuideboardInfo;
8 import com.bsth.repository.BaseRepository; 9 import com.bsth.repository.BaseRepository;
@@ -37,4 +38,8 @@ public interface GuideboardInfoRepository extends BaseRepository&lt;GuideboardInfo, @@ -37,4 +38,8 @@ public interface GuideboardInfoRepository extends BaseRepository&lt;GuideboardInfo,
37 "where td.ttinfo.id=?1 " + 38 "where td.ttinfo.id=?1 " +
38 "group by td.ttinfo.id, td.lp.id, td.lp.lpName") 39 "group by td.ttinfo.id, td.lp.id, td.lp.lpName")
39 List<Map<String, Object>> findLpName(Long ttid); 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,6 +11,8 @@ import com.bsth.repository.StationRouteRepository;
11 import com.bsth.service.StationRouteService; 11 import com.bsth.service.StationRouteService;
12 import com.bsth.util.FTPClientUtils; 12 import com.bsth.util.FTPClientUtils;
13 import com.bsth.util.PackTarGZUtils; 13 import com.bsth.util.PackTarGZUtils;
  14 +import com.bsth.util.Geo.GeoUtils;
  15 +import com.bsth.util.Geo.Point;
14 import com.bsth.util.db.DBUtils_MS; 16 import com.bsth.util.db.DBUtils_MS;
15 import com.google.common.base.Splitter; 17 import com.google.common.base.Splitter;
16 import org.springframework.beans.factory.annotation.Autowired; 18 import org.springframework.beans.factory.annotation.Autowired;
@@ -556,9 +558,15 @@ public class StationRouteServiceImpl extends BaseServiceImpl&lt;StationRoute, Integ @@ -556,9 +558,15 @@ public class StationRouteServiceImpl extends BaseServiceImpl&lt;StationRoute, Integ
556 558
557 clientUtils.deleteFtpFile(url, port, username, password, remotePath, textFileName); 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 /*textStr = line.getName() + "\t" + "2" + "\r" + textStr;*/ 570 /*textStr = line.getName() + "\t" + "2" + "\r" + textStr;*/
563 571
564 textStr = line.getName() + " " + "2" + "\r" + textStr; 572 textStr = line.getName() + " " + "2" + "\r" + textStr;
@@ -574,9 +582,6 @@ public class StationRouteServiceImpl extends BaseServiceImpl&lt;StationRoute, Integ @@ -574,9 +582,6 @@ public class StationRouteServiceImpl extends BaseServiceImpl&lt;StationRoute, Integ
574 /** 获取txt文件 */ 582 /** 获取txt文件 */
575 File textFile = clientUtils.GetFtpFile(url, port, username, password, remotePath, textFileName); 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 File target = new File(odlGzFileName); 585 File target = new File(odlGzFileName);
581 586
582 // 将txt文件打包 587 // 将txt文件打包
@@ -603,6 +608,24 @@ public class StationRouteServiceImpl extends BaseServiceImpl&lt;StationRoute, Integ @@ -603,6 +608,24 @@ public class StationRouteServiceImpl extends BaseServiceImpl&lt;StationRoute, Integ
603 } 608 }
604 return resultMap; 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 * @Description : TODO(形成行单文件内容) 631 * @Description : TODO(形成行单文件内容)
@@ -717,31 +740,79 @@ public class StationRouteServiceImpl extends BaseServiceImpl&lt;StationRoute, Integ @@ -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 stationRStr = stationRStr + lng + lat + stationMake + stationNo + stationCode + staitondistance + sleepStr + stationName + enterStr; 745 stationRStr = stationRStr + lng + lat + stationMake + stationNo + stationCode + staitondistance + sleepStr + stationName + enterStr;
738 -  
739 } 746 }
740 747
741 } 748 }
742 -  
743 return stationRStr; 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 public String GetFormPointOnPolylineSeleepLimit(Map<String, Object> p,List<Object[]> listObjArra) { 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,4 +148,6 @@ public interface ScheduleRealInfoService extends BaseService&lt;ScheduleRealInfo, L
148 List<Map<String, Object>> scheduleDailyExport(Map<String, Object> map); 148 List<Map<String, Object>> scheduleDailyExport(Map<String, Object> map);
149 149
150 Map<String, Object> exportWaybillMore(Map<String, Object> map); 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,6 +34,7 @@ import com.bsth.repository.realcontrol.SvgAttributeRepository;
34 import com.bsth.repository.schedule.CarConfigInfoRepository; 34 import com.bsth.repository.schedule.CarConfigInfoRepository;
35 import com.bsth.repository.schedule.EmployeeConfigInfoRepository; 35 import com.bsth.repository.schedule.EmployeeConfigInfoRepository;
36 import com.bsth.repository.schedule.GuideboardInfoRepository; 36 import com.bsth.repository.schedule.GuideboardInfoRepository;
  37 +import com.bsth.repository.schedule.SchedulePlanRepository;
37 import com.bsth.security.util.SecurityUtils; 38 import com.bsth.security.util.SecurityUtils;
38 import com.bsth.service.SectionRouteService; 39 import com.bsth.service.SectionRouteService;
39 import com.bsth.service.impl.BaseServiceImpl; 40 import com.bsth.service.impl.BaseServiceImpl;
@@ -55,11 +56,7 @@ import org.slf4j.LoggerFactory; @@ -55,11 +56,7 @@ import org.slf4j.LoggerFactory;
55 import org.springframework.beans.factory.annotation.Autowired; 56 import org.springframework.beans.factory.annotation.Autowired;
56 import org.springframework.stereotype.Service; 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 import java.text.DecimalFormat; 60 import java.text.DecimalFormat;
64 import java.text.ParseException; 61 import java.text.ParseException;
65 import java.text.SimpleDateFormat; 62 import java.text.SimpleDateFormat;
@@ -1351,29 +1348,52 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -1351,29 +1348,52 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
1351 @Override 1348 @Override
1352 public List<ScheduleRealInfo> queryListWaybill(String jName, String clZbh, 1349 public List<ScheduleRealInfo> queryListWaybill(String jName, String clZbh,
1353 String lpName, String date,String line) { 1350 String lpName, String date,String line) {
  1351 + List<ScheduleRealInfo> listSchedule=new ArrayList<ScheduleRealInfo>();
1354 List<ScheduleRealInfo> list = null; 1352 List<ScheduleRealInfo> list = null;
1355 list = scheduleRealInfoRepository.queryListWaybill(jName, clZbh, lpName, date,line); 1353 list = scheduleRealInfoRepository.queryListWaybill(jName, clZbh, lpName, date,line);
1356 for (int i = 0; i < list.size(); i++) { 1354 for (int i = 0; i < list.size(); i++) {
1357 ScheduleRealInfo s = list.get(i); 1355 ScheduleRealInfo s = list.get(i);
  1356 + s.setAdjustExps(i+1+"");
1358 String remarks = ""; 1357 String remarks = "";
1359 if (s.getRemarks() != null) { 1358 if (s.getRemarks() != null) {
1360 remarks += s.getRemarks(); 1359 remarks += s.getRemarks();
1361 } 1360 }
  1361 +
1362 Set<ChildTaskPlan> childTaskPlans = s.getcTasks(); 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 @Override 1399 @Override
@@ -3205,5 +3225,17 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -3205,5 +3225,17 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
3205 map.put("fileName", file.getName()); 3225 map.put("fileName", file.getName());
3206 return map; 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 \ No newline at end of file 3242 \ No newline at end of file
src/main/java/com/bsth/service/schedule/SchedulePlanService.java
1 package com.bsth.service.schedule; 1 package com.bsth.service.schedule;
2 2
3 import com.bsth.entity.schedule.SchedulePlan; 3 import com.bsth.entity.schedule.SchedulePlan;
4 -import com.bsth.service.BaseService;  
5 4
6 /** 5 /**
7 * Created by xu on 16/6/16. 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 * @return 11 * @return
src/main/java/com/bsth/service/schedule/TTInfoDetailService.java
@@ -6,6 +6,7 @@ import org.apache.commons.lang3.StringUtils; @@ -6,6 +6,7 @@ import org.apache.commons.lang3.StringUtils;
6 6
7 import java.util.ArrayList; 7 import java.util.ArrayList;
8 import java.util.List; 8 import java.util.List;
  9 +import java.util.Map;
9 10
10 /** 11 /**
11 * Created by xu on 16/7/2. 12 * Created by xu on 16/7/2.
@@ -52,7 +53,7 @@ public interface TTInfoDetailService extends BService&lt;TTInfoDetail, Long&gt; { @@ -52,7 +53,7 @@ public interface TTInfoDetailService extends BService&lt;TTInfoDetail, Long&gt; {
52 this.xldir = xldir; 53 this.xldir = xldir;
53 if ("N".equals(isfb)) 54 if ("N".equals(isfb))
54 this.isfb = false; 55 this.isfb = false;
55 - else if ("Y".equals(isfb)) 56 + else if ("Y".equals(isfb) || "true".equals(isfb))
56 this.isfb = true; 57 this.isfb = true;
57 else 58 else
58 this.isfb = false; 59 this.isfb = false;
@@ -200,5 +201,5 @@ public interface TTInfoDetailService extends BService&lt;TTInfoDetail, Long&gt; { @@ -200,5 +201,5 @@ public interface TTInfoDetailService extends BService&lt;TTInfoDetail, Long&gt; {
200 // TODO:这个方法可以用通用方法解决,以后改 201 // TODO:这个方法可以用通用方法解决,以后改
201 List<TTInfoDetail> findBcdetails(Integer xlId, Long ttinfoId, Long lpId); 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 import com.bsth.entity.Line; 3 import com.bsth.entity.Line;
4 import com.bsth.entity.schedule.*; 4 import com.bsth.entity.schedule.*;
5 import com.bsth.entity.schedule.rule.ScheduleRule1Flat; 5 import com.bsth.entity.schedule.rule.ScheduleRule1Flat;
6 import com.bsth.repository.schedule.SchedulePlanInfoRepository; 6 import com.bsth.repository.schedule.SchedulePlanInfoRepository;
7 import com.bsth.repository.schedule.SchedulePlanRepository; 7 import com.bsth.repository.schedule.SchedulePlanRepository;
8 -import com.bsth.service.impl.BaseServiceImpl; 8 +import com.bsth.service.schedule.SchedulePlanService;
9 import com.bsth.service.schedule.rules.shiftloop.ScheduleCalcuParam_input; 9 import com.bsth.service.schedule.rules.shiftloop.ScheduleCalcuParam_input;
10 import com.bsth.service.schedule.rules.shiftloop.ScheduleResult_output; 10 import com.bsth.service.schedule.rules.shiftloop.ScheduleResult_output;
11 import com.bsth.service.schedule.rules.shiftloop.ScheduleResults_output; 11 import com.bsth.service.schedule.rules.shiftloop.ScheduleResults_output;
@@ -28,7 +28,7 @@ import java.util.*; @@ -28,7 +28,7 @@ import java.util.*;
28 * Created by xu on 16/6/16. 28 * Created by xu on 16/6/16.
29 */ 29 */
30 @Service 30 @Service
31 -public class SchedulePlanServiceImpl extends BaseServiceImpl<SchedulePlan, Long> implements SchedulePlanService { 31 +public class SchedulePlanServiceImpl extends BServiceImpl<SchedulePlan, Long> implements SchedulePlanService {
32 @Autowired 32 @Autowired
33 private KieBase kieBase; 33 private KieBase kieBase;
34 @Autowired 34 @Autowired
@@ -40,7 +40,7 @@ public class SchedulePlanServiceImpl extends BaseServiceImpl&lt;SchedulePlan, Long&gt; @@ -40,7 +40,7 @@ public class SchedulePlanServiceImpl extends BaseServiceImpl&lt;SchedulePlan, Long&gt;
40 40
41 @Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.READ_COMMITTED) 41 @Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.READ_COMMITTED)
42 @Override 42 @Override
43 - public Map<String, Object> save(SchedulePlan schedulePlan) { 43 + public SchedulePlan save(SchedulePlan schedulePlan) {
44 // 1-1、查找线路具体信息 44 // 1-1、查找线路具体信息
45 Line xl = strategy.getLine(schedulePlan.getXl().getId()); 45 Line xl = strategy.getLine(schedulePlan.getXl().getId());
46 // 1-2、查出指定线路的所有规则 46 // 1-2、查出指定线路的所有规则
@@ -126,7 +126,9 @@ public class SchedulePlanServiceImpl extends BaseServiceImpl&lt;SchedulePlan, Long&gt; @@ -126,7 +126,9 @@ public class SchedulePlanServiceImpl extends BaseServiceImpl&lt;SchedulePlan, Long&gt;
126 126
127 // 3-2、保存生成的排班和明细 127 // 3-2、保存生成的排班和明细
128 schedulePlan.getSchedulePlanInfoList().addAll(schedulePlanInfos); // 关联的排班明细信息 128 schedulePlan.getSchedulePlanInfoList().addAll(schedulePlanInfos); // 关联的排班明细信息
129 - return super.save(schedulePlan); 129 + super.save(schedulePlan);
  130 +
  131 + return new SchedulePlan();
130 } 132 }
131 133
132 @Override 134 @Override
src/main/java/com/bsth/service/schedule/impl/TTInfoDetailServiceImpl.java
1 package com.bsth.service.schedule.impl; 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 import com.bsth.entity.CarPark; 6 import com.bsth.entity.CarPark;
  7 +import com.bsth.entity.Line;
4 import com.bsth.entity.LineInformation; 8 import com.bsth.entity.LineInformation;
5 import com.bsth.entity.StationRoute; 9 import com.bsth.entity.StationRoute;
6 import com.bsth.entity.schedule.GuideboardInfo; 10 import com.bsth.entity.schedule.GuideboardInfo;
7 import com.bsth.entity.schedule.TTInfoDetail; 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 import com.bsth.repository.schedule.TTInfoDetailRepository; 16 import com.bsth.repository.schedule.TTInfoDetailRepository;
  17 +import com.bsth.repository.schedule.TTInfoRepository;
9 import com.bsth.service.CarParkService; 18 import com.bsth.service.CarParkService;
10 import com.bsth.service.LineInformationService; 19 import com.bsth.service.LineInformationService;
11 import com.bsth.service.StationRouteService; 20 import com.bsth.service.StationRouteService;
@@ -58,7 +67,16 @@ public class TTInfoDetailServiceImpl extends BServiceImpl&lt;TTInfoDetail, Long&gt; im @@ -58,7 +67,16 @@ public class TTInfoDetailServiceImpl extends BServiceImpl&lt;TTInfoDetail, Long&gt; im
58 private TTInfoDetailRepository ttInfoDetailRepository; 67 private TTInfoDetailRepository ttInfoDetailRepository;
59 @Autowired 68 @Autowired
60 private DataToolsProperties dataToolsProperties; 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 @Autowired 80 @Autowired
63 @Qualifier(value = "dataToolsServiceImpl") 81 @Qualifier(value = "dataToolsServiceImpl")
64 private DataToolsService dataToolsService; 82 private DataToolsService dataToolsService;
@@ -512,5 +530,84 @@ public class TTInfoDetailServiceImpl extends BServiceImpl&lt;TTInfoDetail, Long&gt; im @@ -512,5 +530,84 @@ public class TTInfoDetailServiceImpl extends BServiceImpl&lt;TTInfoDetail, Long&gt; im
512 public List<TTInfoDetail> findBcdetails(Integer xlId, Long ttinfoId, Long lpId) { 530 public List<TTInfoDetail> findBcdetails(Integer xlId, Long ttinfoId, Long lpId) {
513 return ttInfoDetailRepository.findBcdetails(xlId, ttinfoId, lpId); 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,9 +27,11 @@ public class SHCJ2BDJW {
27 27
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 ";*/ 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 /*String sqlSelect = "select s.id,s.descriptions from bsth_c_station s order by s.id asc ";*/ 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 List<Map<String, Object>> list = new ArrayList<>(); 36 List<Map<String, Object>> list = new ArrayList<>();
35 37
@@ -44,8 +46,9 @@ public class SHCJ2BDJW { @@ -44,8 +46,9 @@ public class SHCJ2BDJW {
44 46
45 Map<String, Object> map = new HashMap<String, Object>(); 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 map.put("id", rs.getInt("id")); 52 map.put("id", rs.getInt("id"));
50 53
51 list.add(map); 54 list.add(map);
@@ -55,10 +58,21 @@ public class SHCJ2BDJW { @@ -55,10 +58,21 @@ public class SHCJ2BDJW {
55 58
56 Map<String, Object> temp = list.get(i); 59 Map<String, Object> temp = list.get(i);
57 // POINT (8229.30921617 -933.16425265) 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 /*String arrayP[] = lineString.substring(lineString.indexOf("(")+1, lineString.length()-1).split(" "); 76 /*String arrayP[] = lineString.substring(lineString.indexOf("(")+1, lineString.length()-1).split(" ");
63 String b_jwpoints = ""; 77 String b_jwpoints = "";
64 Float g_lonx=0.0f,g_laty=0.0f,x=0.0f,y=0.0f;*/ 78 Float g_lonx=0.0f,g_laty=0.0f,x=0.0f,y=0.0f;*/
@@ -76,7 +90,7 @@ public class SHCJ2BDJW { @@ -76,7 +90,7 @@ public class SHCJ2BDJW {
76 b_jwpoints = (location.getLng()+0.000727) + " " + (location.getLat() - 0.0000624);*/ 90 b_jwpoints = (location.getLng()+0.000727) + " " + (location.getLat() - 0.0000624);*/
77 //b_jwpoints = (location.getLng()) + " " + (location.getLat()); 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 for(int k =0;k<arrayP.length;k++) { 95 for(int k =0;k<arrayP.length;k++) {
82 96
@@ -103,20 +117,20 @@ public class SHCJ2BDJW { @@ -103,20 +117,20 @@ public class SHCJ2BDJW {
103 } 117 }
104 118
105 119
106 - } 120 + }*/
107 121
108 ps = null; 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 ps = conn.prepareStatement(sqlUpdate); 127 ps = conn.prepareStatement(sqlUpdate);
114 128
115 // String sqlUpdate = "UPDATE bsth_c_section SET csection_vector = ? , bsection_vector=? , gsection_vector=? where id = ?"; 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 //int stauts = ps.executeUpdate(); 135 //int stauts = ps.executeUpdate();
122 // String sqlUpdate = "UPDATE bsth_c_station SET b_jwpoints = ?1 , g_lonx=?2 , g_laty=?3 , x = ?4 , y = ?5 where id = ?6"; 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,6 +140,11 @@ public class SHCJ2BDJW {
126 ps.setFloat(4, x); 140 ps.setFloat(4, x);
127 ps.setFloat(5, y); 141 ps.setFloat(5, y);
128 ps.setFloat(6, id);*/ 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 int stauts = ps.executeUpdate(); 148 int stauts = ps.executeUpdate();
130 System.out.println(stauts); 149 System.out.println(stauts);
131 } 150 }
src/main/resources/application-dev.properties
@@ -6,14 +6,11 @@ spring.jpa.hibernate.ddl-auto= update @@ -6,14 +6,11 @@ spring.jpa.hibernate.ddl-auto= update
6 spring.jpa.hibernate.naming_strategy= org.hibernate.cfg.ImprovedNamingStrategy 6 spring.jpa.hibernate.naming_strategy= org.hibernate.cfg.ImprovedNamingStrategy
7 #DATABASE 7 #DATABASE
8 spring.jpa.database= MYSQL 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 spring.datasource.username= root 12 spring.datasource.username= root
16 -spring.datasource.password= root 13 +spring.datasource.password= 123456
17 #DATASOURCE 14 #DATASOURCE
18 spring.datasource.max-active=100 15 spring.datasource.max-active=100
19 spring.datasource.max-idle=8 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>