Commit 0292ae51f0e48cd68e712c9ef4bad573cff14960

Authored by 潘钊
2 parents dc49f297 1505db8e

Merge branch 'minhang' of http://222.66.0.204:8090/panzhaov5/bsth_control into minhang

# Conflicts:
#	src/main/java/com/bsth/controller/realcontrol/ScheduleRealInfoController.java
#	src/main/java/com/bsth/service/realcontrol/ScheduleRealInfoService.java

Too many changes to show.

To preserve performance only 18 of 45 files are displayed.

src/main/java/com/bsth/controller/realcontrol/ScheduleRealInfoController.java
@@ -264,10 +264,17 @@ public class ScheduleRealInfoController extends BaseController<ScheduleRealInfo, @@ -264,10 +264,17 @@ public class ScheduleRealInfoController extends BaseController<ScheduleRealInfo,
264 264
265 @RequestMapping(value = "/exportWaybill") 265 @RequestMapping(value = "/exportWaybill")
266 public List<ScheduleRealInfo> exportWaybill(@RequestParam String jName, @RequestParam String clZbh, 266 public List<ScheduleRealInfo> exportWaybill(@RequestParam String jName, @RequestParam String clZbh,
267 - @RequestParam String lpName,@RequestParam String date) {  
268 - return scheduleRealInfoService.exportWaybill(jName, clZbh, lpName,date); 267 + @RequestParam String lpName,@RequestParam String date,@RequestParam String line) {
  268 + return scheduleRealInfoService.exportWaybill(jName, clZbh, lpName,date,line);
  269 + }
  270 +
  271 + @RequestMapping(value = "/exportWaybillQp")
  272 + public List<ScheduleRealInfo> exportWaybillQp(@RequestParam String clZbh
  273 + ,@RequestParam String date,@RequestParam String line) {
  274 + return scheduleRealInfoService.exportWaybillQp( clZbh, date,line);
269 } 275 }
270 276
  277 +
271 @RequestMapping(value = "/dailyInfo") 278 @RequestMapping(value = "/dailyInfo")
272 public List<Map<String, Object>> dailyInfo(@RequestParam String line, @RequestParam String date,@RequestParam String type) { 279 public List<Map<String, Object>> dailyInfo(@RequestParam String line, @RequestParam String date,@RequestParam String type) {
273 return scheduleRealInfoService.dailyInfo(line, date, type); 280 return scheduleRealInfoService.dailyInfo(line, date, type);
@@ -286,8 +293,14 @@ public class ScheduleRealInfoController extends BaseController&lt;ScheduleRealInfo, @@ -286,8 +293,14 @@ public class ScheduleRealInfoController extends BaseController&lt;ScheduleRealInfo,
286 293
287 @RequestMapping(value="/findKMBC") 294 @RequestMapping(value="/findKMBC")
288 public Map<String,Object> findKMBC(@RequestParam String jName,@RequestParam String clZbh,@RequestParam String lpName 295 public Map<String,Object> findKMBC(@RequestParam String jName,@RequestParam String clZbh,@RequestParam String lpName
289 - ,@RequestParam String date){  
290 - return scheduleRealInfoService.findKMBC(jName, clZbh,lpName,date); 296 + ,@RequestParam String date,@RequestParam String line){
  297 + return scheduleRealInfoService.findKMBC(jName, clZbh,lpName,date,line);
  298 + }
  299 +
  300 + @RequestMapping(value="/findKMBCQp")
  301 + public Map<String,Object> findKMBCQp(@RequestParam String clZbh
  302 + ,@RequestParam String date,@RequestParam String line){
  303 + return scheduleRealInfoService.findKMBCQp(clZbh,date,line);
291 } 304 }
292 305
293 @RequestMapping(value="/findLpName") 306 @RequestMapping(value="/findLpName")
@@ -316,16 +329,14 @@ public class ScheduleRealInfoController extends BaseController&lt;ScheduleRealInfo, @@ -316,16 +329,14 @@ public class ScheduleRealInfoController extends BaseController&lt;ScheduleRealInfo,
316 */ 329 */
317 @RequestMapping(value="/queryListWaybill") 330 @RequestMapping(value="/queryListWaybill")
318 public List<ScheduleRealInfo> queryListWaybill(@RequestParam String jName,@RequestParam String clZbh,@RequestParam String lpName 331 public List<ScheduleRealInfo> queryListWaybill(@RequestParam String jName,@RequestParam String clZbh,@RequestParam String lpName
319 - ,@RequestParam String date){  
320 - String type="fqp";  
321 - return scheduleRealInfoService.queryListWaybill(jName, clZbh,lpName,date,type); 332 + ,@RequestParam String date,@RequestParam String line){
  333 + return scheduleRealInfoService.queryListWaybill(jName, clZbh,lpName,date,line);
322 } 334 }
323 335
324 @RequestMapping(value="/queryListWaybillQp") 336 @RequestMapping(value="/queryListWaybillQp")
325 - public List<ScheduleRealInfo> queryListWaybillQp(@RequestParam String jName,@RequestParam String clZbh,@RequestParam String lpName  
326 - ,@RequestParam String date){  
327 - String type="qp";  
328 - return scheduleRealInfoService.queryListWaybill(jName, clZbh,lpName,date,type); 337 + public List<ScheduleRealInfo> queryListWaybillQp(@RequestParam String clZbh,
  338 + @RequestParam String date,@RequestParam String line){
  339 + return scheduleRealInfoService.queryListWaybillQp(clZbh,date,line);
329 } 340 }
330 341
331 @RequestMapping(value="/statisticsDaily") 342 @RequestMapping(value="/statisticsDaily")
@@ -333,6 +344,11 @@ public class ScheduleRealInfoController extends BaseController&lt;ScheduleRealInfo, @@ -333,6 +344,11 @@ public class ScheduleRealInfoController extends BaseController&lt;ScheduleRealInfo,
333 return scheduleRealInfoService.statisticsDaily(line, date,xlName); 344 return scheduleRealInfoService.statisticsDaily(line, date,xlName);
334 } 345 }
335 346
  347 + @RequestMapping(value="/MapById",method = RequestMethod.GET)
  348 + public Map<String, Object> MapById(@RequestParam("id") Long id){
  349 + return scheduleRealInfoService.MapById(id);
  350 + }
  351 +
336 /** 352 /**
337 * @Title: scheduleDaily 353 * @Title: scheduleDaily
338 * @Description: TODO(调度日报表) 354 * @Description: TODO(调度日报表)
@@ -407,4 +423,9 @@ public class ScheduleRealInfoController extends BaseController&lt;ScheduleRealInfo, @@ -407,4 +423,9 @@ public class ScheduleRealInfoController extends BaseController&lt;ScheduleRealInfo,
407 public Map<String, Object> addRemarks(@RequestParam Long id, @RequestParam String remarks){ 423 public Map<String, Object> addRemarks(@RequestParam Long id, @RequestParam String remarks){
408 return scheduleRealInfoService.addRemarks(id, remarks); 424 return scheduleRealInfoService.addRemarks(id, remarks);
409 } 425 }
  426 +
  427 + @RequestMapping(value = "scheduleDailyQp", method = RequestMethod.GET)
  428 + public List<Map<String, Object>> scheduleDailyQp(@RequestParam String line,@RequestParam String date){
  429 + return scheduleRealInfoService.scheduleDailyQp(line,date);
  430 + }
410 } 431 }
src/main/java/com/bsth/controller/schedule/ScheduleRule1FlatController.java deleted 100644 → 0
1 -package com.bsth.controller.schedule;  
2 -  
3 -import com.bsth.controller.BaseController;  
4 -import com.bsth.entity.schedule.rule.ScheduleRule1Flat;  
5 -import com.bsth.repository.schedule.ScheduleRule1FlatRepository;  
6 -import org.springframework.beans.factory.annotation.Autowired;  
7 -import org.springframework.web.bind.annotation.*;  
8 -  
9 -import java.util.Map;  
10 -  
11 -/**  
12 - * Created by xu on 16/7/4.  
13 - */  
14 -@RestController  
15 -@RequestMapping("sr1fc")  
16 -public class ScheduleRule1FlatController extends BaseController<ScheduleRule1Flat, Long> {  
17 -  
18 - @Autowired  
19 - private ScheduleRule1FlatRepository scheduleRule1FlatRepository;  
20 -  
21 - @Override  
22 - public ScheduleRule1Flat findById(@PathVariable("id") Long aLong) {  
23 - return scheduleRule1FlatRepository.findOneExtend(aLong);  
24 - }  
25 -  
26 - /**  
27 - * 覆写方法,因为form提交的方式参数不全,改用 json形式提交 @RequestBody  
28 - * @Title: save  
29 - * @Description: TODO(持久化对象)  
30 - * @param @param t  
31 - * @param @return 设定文件  
32 - * @return Map<String,Object> {status: 1(成功),-1(失败)}  
33 - * @throws  
34 - */  
35 - @RequestMapping(method = RequestMethod.POST)  
36 - public Map<String, Object> save(@RequestBody ScheduleRule1Flat t){  
37 - return baseService.save(t);  
38 - }  
39 -  
40 -}  
src/main/java/com/bsth/controller/schedule/core/ScheduleRule1FlatController.java 0 → 100644
  1 +package com.bsth.controller.schedule.core;
  2 +
  3 +import com.bsth.controller.schedule.BController;
  4 +import com.bsth.entity.schedule.rule.ScheduleRule1Flat;
  5 +import org.springframework.web.bind.annotation.RequestMapping;
  6 +import org.springframework.web.bind.annotation.RestController;
  7 +
  8 +/**
  9 + * Created by xu on 16/7/4.
  10 + */
  11 +@RestController
  12 +@RequestMapping("sr1fc")
  13 +public class ScheduleRule1FlatController extends BController<ScheduleRule1Flat, Long> {
  14 +
  15 +
  16 +}
src/main/java/com/bsth/controller/schedule/core/TTInfoController.java
@@ -87,42 +87,4 @@ public class TTInfoController extends BController&lt;TTInfo, Long&gt; { @@ -87,42 +87,4 @@ public class TTInfoController extends BController&lt;TTInfo, Long&gt; {
87 return rtn; 87 return rtn;
88 } 88 }
89 89
90 -}  
91 -  
92 -//  
93 -//@Autowired  
94 -//private DataToolsProperties dataToolsProperties;  
95 -//@Autowired  
96 -//private TTInfoRepository ttInfoRepository;  
97 -//@Autowired  
98 -//private TTInfoDetailRepository ttInfoDetailRepository;  
99 -//  
100 -// @Override  
101 -// protected String getDataImportKtrClasspath() {  
102 -// return dataToolsProperties.getTtinfoDatainputktr();  
103 -// }  
104 -//  
105 -// @Override  
106 -// public TTInfo findById(@PathVariable("id") Long aLong) {  
107 -// return ttInfoRepository.findOneExtend(aLong);  
108 -// }  
109 -//  
110 -// /**  
111 -// * 验证。  
112 -// * @param map  
113 -// * @return  
114 -// */  
115 -// @RequestMapping(value = "/validate/equale", method = RequestMethod.GET)  
116 -// public Map<String, Object> validateData(@RequestParam Map<String, Object> map) {  
117 -// // 一般比较自编号是否重复  
118 -// return baseService.validateEquale(map);  
119 -// }  
120 -//  
121 -// @Override  
122 -// public Page<TTInfo> list(@RequestParam Map<String, Object> map, @RequestParam(defaultValue = "0") int page, @RequestParam(defaultValue = "10") int size, @RequestParam(defaultValue = "id") String order, @RequestParam(defaultValue = "DESC") String direction) {  
123 -// // 如果有isCancel键值,将其值变成boolean  
124 -// if (map.get("isCancel_eq") != null)  
125 -// map.put("isCancel_eq", new Boolean(map.get("isCancel_eq").toString()));  
126 -//  
127 -// return super.list(map, page, size, order, direction);  
128 -// }  
129 \ No newline at end of file 90 \ No newline at end of file
  91 +}
130 \ No newline at end of file 92 \ No newline at end of file
src/main/java/com/bsth/entity/realcontrol/SvgAttribute.java
1 -package com.bsth.entity.realcontrol;  
2 -  
3 -import javax.persistence.Entity;  
4 -import javax.persistence.Id;  
5 -import javax.persistence.Table;  
6 -  
7 -/**  
8 - * 主页SVG模拟图属性设置  
9 - * Created by panzhao on 2017/1/6.  
10 - */  
11 -@Entity  
12 -@Table(name = "bsth_c_svg_attr")  
13 -public class SvgAttribute {  
14 -  
15 - @Id  
16 - private String lineCode;  
17 -  
18 - /**  
19 - * 要隐藏的站点编码 , 号分割多个  
20 - */  
21 - private String hideStations;  
22 -  
23 - /**  
24 - * 站点别名 json对象字符串  
25 - */  
26 - private String nicknames;  
27 -  
28 - public String getLineCode() {  
29 - return lineCode;  
30 - }  
31 -  
32 - public void setLineCode(String lineCode) {  
33 - this.lineCode = lineCode;  
34 - }  
35 -  
36 - public String getHideStations() {  
37 - return hideStations;  
38 - }  
39 -  
40 - public void setHideStations(String hideStations) {  
41 - this.hideStations = hideStations;  
42 - }  
43 -  
44 - public String getNicknames() {  
45 - return nicknames;  
46 - }  
47 -  
48 - public void setNicknames(String nicknames) {  
49 - this.nicknames = nicknames;  
50 - }  
51 -} 1 +package com.bsth.entity.realcontrol;
  2 +
  3 +import javax.persistence.Entity;
  4 +import javax.persistence.Id;
  5 +import javax.persistence.Table;
  6 +
  7 +/**
  8 + * 主页SVG模拟图属性设置
  9 + * Created by panzhao on 2017/1/6.
  10 + */
  11 +@Entity
  12 +@Table(name = "bsth_c_svg_attr")
  13 +public class SvgAttribute {
  14 +
  15 + @Id
  16 + private String lineCode;
  17 +
  18 + /**
  19 + * 要隐藏的站点编码 , 号分割多个
  20 + */
  21 + private String hideStations;
  22 +
  23 + /**
  24 + * 站点别名 json对象字符串
  25 + */
  26 + private String nicknames;
  27 +
  28 + public String getLineCode() {
  29 + return lineCode;
  30 + }
  31 +
  32 + public void setLineCode(String lineCode) {
  33 + this.lineCode = lineCode;
  34 + }
  35 +
  36 + public String getHideStations() {
  37 + return hideStations;
  38 + }
  39 +
  40 + public void setHideStations(String hideStations) {
  41 + this.hideStations = hideStations;
  42 + }
  43 +
  44 + public String getNicknames() {
  45 + return nicknames;
  46 + }
  47 +
  48 + public void setNicknames(String nicknames) {
  49 + this.nicknames = nicknames;
  50 + }
  51 +}
src/main/java/com/bsth/repository/realcontrol/ScheduleRealInfoRepository.java
@@ -18,13 +18,16 @@ public interface ScheduleRealInfoRepository extends BaseRepository&lt;ScheduleRealI @@ -18,13 +18,16 @@ public interface ScheduleRealInfoRepository extends BaseRepository&lt;ScheduleRealI
18 List<ScheduleRealInfo> findByLines(List<String> lines); 18 List<ScheduleRealInfo> findByLines(List<String> lines);
19 19
20 20
  21 + @Query(value="select s from ScheduleRealInfo s where s.xlBm = ?1 and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2 and bc_type not in ('in','out') order by (lpName+1),clZbh,realExecDate,fcsj")
  22 + List<ScheduleRealInfo> scheduleDailyQp(String line,String date);
  23 +
21 @Query(value="select s from ScheduleRealInfo s where s.xlBm = ?1 and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2 GROUP BY s.id,s.jGh,s.clZbh,s.lpName order by (lpName+1)") 24 @Query(value="select s from ScheduleRealInfo s where s.xlBm = ?1 and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2 GROUP BY s.id,s.jGh,s.clZbh,s.lpName order by (lpName+1)")
22 List<ScheduleRealInfo> queryUserInfo(String line,String date); 25 List<ScheduleRealInfo> queryUserInfo(String line,String date);
23 26
24 @Query(value="select min(s.id), s.jGh,s.clZbh,s.lpName,s.jName from ScheduleRealInfo s where s.xlBm = ?1 and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2 GROUP BY s.jGh,s.clZbh,s.lpName ,s.jName order by (lpName+1)") 27 @Query(value="select min(s.id), s.jGh,s.clZbh,s.lpName,s.jName from ScheduleRealInfo s where s.xlBm = ?1 and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2 GROUP BY s.jGh,s.clZbh,s.lpName ,s.jName order by (lpName+1)")
25 List<ScheduleRealInfo> queryUserInfo2(String line,String date); 28 List<ScheduleRealInfo> queryUserInfo2(String line,String date);
26 29
27 - @Query(value="select min(s.id), s.jGh,s.clZbh,s.lpName,s.jName from ScheduleRealInfo s where s.xlBm = ?1 and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2 GROUP BY s.jGh,s.clZbh,s.lpName ,s.jName order by (lpName+1)") 30 + @Query(value="select min(s.id), s.clZbh from ScheduleRealInfo s where s.xlBm = ?1 and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2 GROUP BY s.clZbh order by (lpName+1)")
28 List<ScheduleRealInfo> queryUserInfo3(String line,String date); 31 List<ScheduleRealInfo> queryUserInfo3(String line,String date);
29 32
30 @Query(value="select s from ScheduleRealInfo s where s.jName = ?1 and s.clZbh = ?2 and s.lpName = ?3 order by bcs") 33 @Query(value="select s from ScheduleRealInfo s where s.jName = ?1 and s.clZbh = ?2 and s.lpName = ?3 order by bcs")
@@ -79,13 +82,13 @@ public interface ScheduleRealInfoRepository extends BaseRepository&lt;ScheduleRealI @@ -79,13 +82,13 @@ public interface ScheduleRealInfoRepository extends BaseRepository&lt;ScheduleRealI
79 + " and clZbh like %?5% order by s.fcsj") 82 + " and clZbh like %?5% order by s.fcsj")
80 List<ScheduleRealInfo> correctForm(String line,String startDate,String endDate,String lpName,String code); 83 List<ScheduleRealInfo> correctForm(String line,String startDate,String endDate,String lpName,String code);
81 84
82 - @Query(value="select s from ScheduleRealInfo s where s.jName = ?1 and s.clZbh = ?2 and s.lpName = ?3 and s.scheduleDate = str_to_date(?4,'%Y-%m-%d') order by bcs")  
83 - List<ScheduleRealInfo> queryListWaybill(String jName,String clZbh,String lpName,String date); 85 + @Query(value="select s from ScheduleRealInfo s where s.jName = ?1 and s.clZbh = ?2 and s.lpName = ?3 and s.scheduleDate = str_to_date(?4,'%Y-%m-%d') and s.xlBm=?5 order by realExecDate,fcsjActual")
  86 + List<ScheduleRealInfo> queryListWaybill(String jName,String clZbh,String lpName,String date,String line);
84 87
85 - @Query(value="select s from ScheduleRealInfo s where s.jName = ?1 and s.clZbh = ?2 and s.lpName = ?3 and s.scheduleDate = str_to_date(?4,'%Y-%m-%d') and bcType='normal' order by bcs")  
86 - List<ScheduleRealInfo> queryListWaybill2(String jName,String clZbh,String lpName,String date); 88 + @Query(value="select s from ScheduleRealInfo s where s.clZbh = ?1 and s.scheduleDate = str_to_date(?2,'%Y-%m-%d') and xlBm =?3 order by realExecDate,fcsjActual")
  89 + List<ScheduleRealInfo> queryListWaybill2(String clZbh,String date,String line);
87 90
88 - @Query(value="select s from ScheduleRealInfo s where s.jGh = ?1 and s.clZbh = ?2 and s.scheduleDate = str_to_date(?3,'%Y-%m-%d') order by bcs") 91 + @Query(value="select s from ScheduleRealInfo s where s.jGh = ?1 and s.clZbh = ?2 and s.scheduleDate = str_to_date(?3,'%Y-%m-%d') order by realExecDate,fcsjActual")
89 List<ScheduleRealInfo> queryListWaybill3(String jName,String clZbh,String date); 92 List<ScheduleRealInfo> queryListWaybill3(String jName,String clZbh,String date);
90 93
91 @Query(value="select s from ScheduleRealInfo s where s.jName = ?1 and s.clZbh = ?2 and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') between str_to_date(?3,'%Y-%m-%d') and str_to_date(?4,'%Y-%m-%d') order by bcs") 94 @Query(value="select s from ScheduleRealInfo s where s.jName = ?1 and s.clZbh = ?2 and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') between str_to_date(?3,'%Y-%m-%d') and str_to_date(?4,'%Y-%m-%d') order by bcs")
src/main/java/com/bsth/repository/realcontrol/SvgAttributeRepository.java
1 -package com.bsth.repository.realcontrol;  
2 -  
3 -import com.bsth.entity.realcontrol.SvgAttribute;  
4 -import com.bsth.repository.BaseRepository;  
5 -import org.springframework.data.jpa.repository.Query;  
6 -import org.springframework.stereotype.Repository;  
7 -  
8 -import java.util.List;  
9 -  
10 -/**  
11 - * Created by panzhao on 2017/1/8.  
12 - */  
13 -@Repository  
14 -public interface SvgAttributeRepository extends BaseRepository<SvgAttribute, String> {  
15 - @Query("select s from SvgAttribute s where s.lineCode in ?1")  
16 - List<SvgAttribute> findSvgAttr(List<String> lineCodes);  
17 -} 1 +package com.bsth.repository.realcontrol;
  2 +
  3 +import com.bsth.entity.realcontrol.SvgAttribute;
  4 +import com.bsth.repository.BaseRepository;
  5 +import org.springframework.data.jpa.repository.Query;
  6 +import org.springframework.stereotype.Repository;
  7 +
  8 +import java.util.List;
  9 +
  10 +/**
  11 + * Created by panzhao on 2017/1/8.
  12 + */
  13 +@Repository
  14 +public interface SvgAttributeRepository extends BaseRepository<SvgAttribute, String> {
  15 + @Query("select s from SvgAttribute s where s.lineCode in ?1")
  16 + List<SvgAttribute> findSvgAttr(List<String> lineCodes);
  17 +}
src/main/java/com/bsth/service/impl/BusIntervalServiceImpl.java
@@ -11,6 +11,7 @@ import java.util.Collections; @@ -11,6 +11,7 @@ import java.util.Collections;
11 import java.util.Comparator; 11 import java.util.Comparator;
12 import java.util.Date; 12 import java.util.Date;
13 import java.util.HashMap; 13 import java.util.HashMap;
  14 +import java.util.Iterator;
14 import java.util.List; 15 import java.util.List;
15 import java.util.Map; 16 import java.util.Map;
16 import java.util.Set; 17 import java.util.Set;
@@ -25,6 +26,7 @@ import com.bsth.entity.realcontrol.ScheduleRealInfo; @@ -25,6 +26,7 @@ import com.bsth.entity.realcontrol.ScheduleRealInfo;
25 import com.bsth.repository.realcontrol.ScheduleRealInfoRepository; 26 import com.bsth.repository.realcontrol.ScheduleRealInfoRepository;
26 import com.bsth.service.BusIntervalService; 27 import com.bsth.service.BusIntervalService;
27 import com.bsth.service.schedule.PeopleCarPlanService; 28 import com.bsth.service.schedule.PeopleCarPlanService;
  29 +import com.bsth.util.ReportUtils;
28 30
29 31
30 @Service 32 @Service
@@ -324,13 +326,14 @@ public class BusIntervalServiceImpl implements BusIntervalService { @@ -324,13 +326,14 @@ public class BusIntervalServiceImpl implements BusIntervalService {
324 326
325 String[] date1 = startDate.split("-"); 327 String[] date1 = startDate.split("-");
326 String[] date2 = endDate.split("-"); 328 String[] date2 = endDate.split("-");
327 - startDate = date1[0] + "年" + date1[1] + "月" + date1[2] + "日";  
328 - endDate = date2[0] + "年" + date2[1] + "月" + date2[2] + "日"; 329 +// startDate = date1[0] + "年" + date1[1] + "月" + date1[2] + "日";
  330 +// endDate = date2[0] + "年" + date2[1] + "月" + date2[2] + "日";
329 String Date = ""; 331 String Date = "";
330 if(startDate.equals(endDate)) 332 if(startDate.equals(endDate))
331 - Date = startDate; 333 + Date = date1[0] + "年" + date1[1] + "月" + date1[2] + "日";
332 else 334 else
333 - Date = startDate + "--" + endDate; 335 + Date = date1[0] + "年" + date1[1] + "月" + date1[2] + "日" + "--"
  336 + + date2[0] + "年" + date2[1] + "月" + date2[2] + "日";
334 337
335 // String[] split = times.split("-"); 338 // String[] split = times.split("-");
336 // int startTime = Integer.valueOf(split[0].split(":")[0])*60 + Integer.valueOf(split[0].split(":")[1]); 339 // int startTime = Integer.valueOf(split[0].split(":")[0])*60 + Integer.valueOf(split[0].split(":")[1]);
@@ -514,6 +517,24 @@ public class BusIntervalServiceImpl implements BusIntervalService { @@ -514,6 +517,24 @@ public class BusIntervalServiceImpl implements BusIntervalService {
514 } 517 }
515 } 518 }
516 } 519 }
  520 +
  521 + if(type != null && type.length() != 0 && type.equals("export")){
  522 + SimpleDateFormat sdfMonth = new SimpleDateFormat("yyyy-MM-dd"),
  523 + sdfSimple = new SimpleDateFormat("yyyyMMdd");
  524 + List<Iterator<?>> listI = new ArrayList<Iterator<?>>();
  525 + Map<String, Object> m = new HashMap<String, Object>();
  526 + ReportUtils ee = new ReportUtils();
  527 + try {
  528 + listI.add(resList.iterator());
  529 + String path = this.getClass().getResource("/").getPath()+"static\\pages\\forms\\";
  530 + ee.excelReplace(listI, new Object[] { m }, path+"mould\\busInterval"+statu+".xls",
  531 + path+"export\\班次间隔统计表" + sdfSimple.format(sdfMonth.parse(startDate))
  532 + + "-" + sdfSimple.format(sdfMonth.parse(endDate)) + ".xls");
  533 + } catch (Exception e) {
  534 + // TODO: handle exception
  535 + e.printStackTrace();
  536 + }
  537 + }
517 538
518 return resList; 539 return resList;
519 } 540 }
@@ -672,8 +693,8 @@ public class BusIntervalServiceImpl implements BusIntervalService { @@ -672,8 +693,8 @@ public class BusIntervalServiceImpl implements BusIntervalService {
672 String[] date1 = startDate.split("-"); 693 String[] date1 = startDate.split("-");
673 String[] date2 = endDate.split("-"); 694 String[] date2 = endDate.split("-");
674 String date = ""; 695 String date = "";
675 - startDate = date1[0] + "年" + date1[1] + "月" + date1[2] + "日";  
676 - endDate = date2[0] + "年" + date2[1] + "月" + date2[2] + "日"; 696 +// startDate = date1[0] + "年" + date1[1] + "月" + date1[2] + "日";
  697 +// endDate = date2[0] + "年" + date2[1] + "月" + date2[2] + "日";
677 if(startDate.equals(endDate)){ 698 if(startDate.equals(endDate)){
678 date = date1[0] + "年" + date1[1] + "月" + date1[2] + "日"; 699 date = date1[0] + "年" + date1[1] + "月" + date1[2] + "日";
679 } else { 700 } else {
@@ -1044,6 +1065,27 @@ public class BusIntervalServiceImpl implements BusIntervalService { @@ -1044,6 +1065,27 @@ public class BusIntervalServiceImpl implements BusIntervalService {
1044 modelMap.put("dataList", dataList); 1065 modelMap.put("dataList", dataList);
1045 } 1066 }
1046 1067
  1068 + if(type != null && type.length() != 0 && type.equals("export")){
  1069 + SimpleDateFormat sdfMonth = new SimpleDateFormat("yyyy-MM-dd"),
  1070 + sdfSimple = new SimpleDateFormat("yyyyMMdd");
  1071 + List<Iterator<?>> listI = new ArrayList<Iterator<?>>();
  1072 + ReportUtils ee = new ReportUtils();
  1073 + if(statu.equals("0"))
  1074 + modelMap.put("lpType", "路牌数量");
  1075 + else if(statu.equals("1"))
  1076 + modelMap.put("lpType", "路牌名");
  1077 + try {
  1078 + listI.add(((List<Map<String, Object>>)modelMap.get("dataList")).iterator());
  1079 + String path = this.getClass().getResource("/").getPath()+"static\\pages\\forms\\";
  1080 + ee.excelReplace(listI, new Object[] { modelMap }, path+"mould\\timeAndSpeed.xls",
  1081 + path+"export\\行驶时间及车速统计表" + sdfSimple.format(sdfMonth.parse(startDate))
  1082 + + "-" + sdfSimple.format(sdfMonth.parse(endDate)) + ".xls");
  1083 + } catch (Exception e) {
  1084 + // TODO: handle exception
  1085 + e.printStackTrace();
  1086 + }
  1087 + }
  1088 +
1047 return modelMap; 1089 return modelMap;
1048 } 1090 }
1049 1091
src/main/java/com/bsth/service/realcontrol/ScheduleRealInfoService.java
@@ -61,7 +61,9 @@ public interface ScheduleRealInfoService extends BaseService&lt;ScheduleRealInfo, L @@ -61,7 +61,9 @@ public interface ScheduleRealInfoService extends BaseService&lt;ScheduleRealInfo, L
61 61
62 List<ScheduleRealInfo> queryUserInfo(String line,String date,String state); 62 List<ScheduleRealInfo> queryUserInfo(String line,String date,String state);
63 63
64 - List<ScheduleRealInfo> exportWaybill(String jName,String clZbh,String lpName,String date); 64 + List<ScheduleRealInfo> exportWaybill(String jName,String clZbh,String lpName,String date,String line);
  65 +
  66 + List<ScheduleRealInfo> exportWaybillQp(String clZbh,String date,String line);
65 67
66 List<Map<String,Object>> dailyInfo(String line,String date,String type); 68 List<Map<String,Object>> dailyInfo(String line,String date,String type);
67 69
@@ -87,7 +89,9 @@ public interface ScheduleRealInfoService extends BaseService&lt;ScheduleRealInfo, L @@ -87,7 +89,9 @@ public interface ScheduleRealInfoService extends BaseService&lt;ScheduleRealInfo, L
87 89
88 Map<String,Object> findKMBC1(String jName,String clZbh, String date,String enddate); 90 Map<String,Object> findKMBC1(String jName,String clZbh, String date,String enddate);
89 91
90 - Map<String,Object> findKMBC(String jName,String clZbh,String lpName,String date); 92 + Map<String,Object> findKMBC(String jName,String clZbh,String lpName,String date,String line);
  93 +
  94 + Map<String,Object> findKMBCQp(String clZbh,String date,String line);
91 95
92 Map<String,Object> findKMBC2(String jName,String clZbh,String date); 96 Map<String,Object> findKMBC2(String jName,String clZbh,String date);
93 97
@@ -97,8 +101,10 @@ public interface ScheduleRealInfoService extends BaseService&lt;ScheduleRealInfo, L @@ -97,8 +101,10 @@ public interface ScheduleRealInfoService extends BaseService&lt;ScheduleRealInfo, L
97 101
98 List<ScheduleRealInfo> correctForm(String line,String startDate,String endDate,String lpName,String code, String type); 102 List<ScheduleRealInfo> correctForm(String line,String startDate,String endDate,String lpName,String code, String type);
99 103
100 - List<ScheduleRealInfo> queryListWaybill(String jName,String clZbh,String lpName,String date,String type); 104 + List<ScheduleRealInfo> queryListWaybill(String jName,String clZbh,String lpName,String date,String line);
101 105
  106 + List<ScheduleRealInfo> queryListWaybillQp(String clZbh,String date,String line);
  107 +
102 Map<String, Object> removeChildTask(Long taskId); 108 Map<String, Object> removeChildTask(Long taskId);
103 109
104 List<Map<String,Object>> statisticsDaily(String line,String date,String xlName); 110 List<Map<String,Object>> statisticsDaily(String line,String date,String xlName);
@@ -128,10 +134,14 @@ public interface ScheduleRealInfoService extends BaseService&lt;ScheduleRealInfo, L @@ -128,10 +134,14 @@ public interface ScheduleRealInfoService extends BaseService&lt;ScheduleRealInfo, L
128 Map<String,Object> changeBcType(Long id, String bcType, String remarks); 134 Map<String,Object> changeBcType(Long id, String bcType, String remarks);
129 135
130 Map<String,Object> historySave(ScheduleRealInfo sch); 136 Map<String,Object> historySave(ScheduleRealInfo sch);
131 - 137 +
  138 + Map<String, Object> MapById(Long id) ;
  139 +
132 Map<String,Object> svgAttr(String jsonStr); 140 Map<String,Object> svgAttr(String jsonStr);
133 141
134 Map<String,Object> findSvgAttr(String idx); 142 Map<String,Object> findSvgAttr(String idx);
135 143
136 Map<String,Object> addRemarks(Long id, String remarks); 144 Map<String,Object> addRemarks(Long id, String remarks);
  145 +
  146 + List<Map<String, Object>> scheduleDailyQp(String line ,String date);
137 } 147 }
src/main/java/com/bsth/service/realcontrol/impl/ScheduleRealInfoServiceImpl.java
@@ -22,6 +22,7 @@ import com.bsth.entity.realcontrol.SvgAttribute; @@ -22,6 +22,7 @@ import com.bsth.entity.realcontrol.SvgAttribute;
22 import com.bsth.entity.schedule.CarConfigInfo; 22 import com.bsth.entity.schedule.CarConfigInfo;
23 import com.bsth.entity.schedule.EmployeeConfigInfo; 23 import com.bsth.entity.schedule.EmployeeConfigInfo;
24 import com.bsth.entity.schedule.GuideboardInfo; 24 import com.bsth.entity.schedule.GuideboardInfo;
  25 +import com.bsth.entity.sys.DutyEmployee;
25 import com.bsth.entity.sys.SysUser; 26 import com.bsth.entity.sys.SysUser;
26 import com.bsth.repository.LineRepository; 27 import com.bsth.repository.LineRepository;
27 import com.bsth.repository.realcontrol.ChildTaskPlanRepository; 28 import com.bsth.repository.realcontrol.ChildTaskPlanRepository;
@@ -34,6 +35,7 @@ import com.bsth.security.util.SecurityUtils; @@ -34,6 +35,7 @@ import com.bsth.security.util.SecurityUtils;
34 import com.bsth.service.SectionRouteService; 35 import com.bsth.service.SectionRouteService;
35 import com.bsth.service.impl.BaseServiceImpl; 36 import com.bsth.service.impl.BaseServiceImpl;
36 import com.bsth.service.realcontrol.ScheduleRealInfoService; 37 import com.bsth.service.realcontrol.ScheduleRealInfoService;
  38 +import com.bsth.service.sys.DutyEmployeeService;
37 import com.bsth.util.*; 39 import com.bsth.util.*;
38 import com.bsth.websocket.handler.SendUtils; 40 import com.bsth.websocket.handler.SendUtils;
39 import com.google.common.base.Splitter; 41 import com.google.common.base.Splitter;
@@ -94,6 +96,9 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -94,6 +96,9 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
94 96
95 @Autowired 97 @Autowired
96 LineConfigData lineConfigData; 98 LineConfigData lineConfigData;
  99 +
  100 + @Autowired
  101 + DutyEmployeeService dutyEmployeeService;
97 102
98 Logger logger = LoggerFactory.getLogger(this.getClass()); 103 Logger logger = LoggerFactory.getLogger(this.getClass());
99 104
@@ -433,108 +438,113 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -433,108 +438,113 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
433 * 438 *
434 */ 439 */
435 @Override 440 @Override
436 - public List<ScheduleRealInfo> exportWaybill(String jName, String clZbh, String lpName, String date) {  
437 - ReportUtils ee = new ReportUtils();  
438 - ReportRelatedUtils rru = new ReportRelatedUtils();  
439 - List<Iterator<?>> list = new ArrayList<Iterator<?>>();  
440 - List<ScheduleRealInfo> scheduleRealInfos = scheduleRealInfoRepository.queryListWaybill(jName, clZbh, lpName, date);  
441 - List<Map<String, Object>> listMap = new ArrayList<Map<String, Object>>();  
442 -  
443 - DecimalFormat format = new DecimalFormat("0.00"); 441 + public List<ScheduleRealInfo> exportWaybill(String jName, String clZbh, String lpName,String date,String line) {
  442 + ReportUtils ee = new ReportUtils();
  443 + ReportRelatedUtils rru = new ReportRelatedUtils();
  444 + List<Iterator<?>> list = new ArrayList<Iterator<?>>();
  445 + List<ScheduleRealInfo> scheduleRealInfos = scheduleRealInfoRepository.queryListWaybill(jName, clZbh, lpName,date,line);
  446 + List<Map<String,Object>> listMap = new ArrayList<Map<String,Object>>();
  447 +
  448 + DecimalFormat format = new DecimalFormat("0.00");
444 // int cjbc = scheduleRealInfoRepository.findCjbc(jName, clZbh, lpName); 449 // int cjbc = scheduleRealInfoRepository.findCjbc(jName, clZbh, lpName);
445 // int ljbc = scheduleRealInfoRepository.findLjbc(jName, clZbh, lpName); 450 // int ljbc = scheduleRealInfoRepository.findLjbc(jName, clZbh, lpName);
446 - int jhbc = 0, cjbc = 0, ljbc = 0;  
447 - double jhlc = 0, yygl = 0, ksgl = 0, tempJhlc = 0;  
448 - float addMileage = 0l, remMileage = 0l;  
449 -  
450 - Map<String, Object> map;  
451 - for (ScheduleRealInfo scheduleRealInfo : scheduleRealInfos) {  
452 - if (scheduleRealInfo != null) {  
453 - //计算计划里程(主任务过滤掉临加班次),烂班里程,临加里程,计划班次,烂班班次,增加班次  
454 - if (scheduleRealInfo != null) {  
455 - //计划里程(主任务过滤掉临加班次),  
456 - //烂班里程(主任务烂班),  
457 - //临加里程(主任务临加),  
458 - //计划班次,烂班班次,增加班次  
459 - tempJhlc = scheduleRealInfo.getJhlc() == null ? 0 : scheduleRealInfo.getJhlc();  
460 - if (scheduleRealInfo.isSflj()) {  
461 - addMileage += tempJhlc;  
462 - ljbc++;  
463 - } else {  
464 - jhlc += tempJhlc;  
465 - jhbc++;  
466 - if (scheduleRealInfo.getStatus() == -1) {  
467 - remMileage += tempJhlc;  
468 - cjbc++;  
469 - }  
470 - }  
471 - Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks();  
472 - //计算营运里程,空驶里程  
473 - if (childTaskPlans.isEmpty()) {  
474 - if (scheduleRealInfo.getBcType().equals("in") || scheduleRealInfo.getBcType().equals("out")  
475 - || scheduleRealInfo.getBcType().equals("venting")) {  
476 - ksgl += tempJhlc;  
477 - } else {  
478 - yygl += tempJhlc;  
479 - }  
480 - } else {  
481 - Iterator<ChildTaskPlan> it = childTaskPlans.iterator();  
482 - while (it.hasNext()) {  
483 - ChildTaskPlan childTaskPlan = it.next();  
484 - if (childTaskPlan.getMileageType().equals("empty")) {  
485 - ksgl += childTaskPlan.getMileage() == null ? 0 : childTaskPlan.getMileage();  
486 - } else {  
487 - yygl += childTaskPlan.getMileage() == null ? 0 : childTaskPlan.getMileage();  
488 - }  
489 - }  
490 - }  
491 - }  
492 -  
493 - map = new HashMap<String, Object>();  
494 - try {  
495 - map = rru.getMapValue(scheduleRealInfo);  
496 - String zdsj = scheduleRealInfo.getZdsj();  
497 - String zdsjActual = scheduleRealInfo.getZdsjActual();  
498 - if (zdsj != null && zdsjActual != null &&  
499 - !zdsj.equals(zdsjActual)) {  
500 - if (zdsj.compareTo(zdsjActual) > 0) {  
501 - map.put("fast", TimeUtils.getTimeDifference(zdsj, zdsjActual));  
502 - map.put("slow", "");  
503 - } else {  
504 - map.put("fast", "");  
505 - map.put("slow", TimeUtils.getTimeDifference(zdsj, zdsjActual));  
506 - }  
507 - } else {  
508 - map.put("fast", "");  
509 - map.put("slow", "");  
510 - }  
511 - listMap.add(map);  
512 - } catch (Exception e) {  
513 - e.printStackTrace();  
514 - }  
515 - }  
516 - }  
517 -  
518 - //计算里程和班次数,并放入Map里  
519 - map = new HashMap<String, Object>();  
520 - map.put("jhlc", format.format(jhlc));  
521 - map.put("remMileage", format.format(remMileage));  
522 - map.put("addMileage", format.format(addMileage));  
523 - map.put("yygl", format.format(yygl));  
524 - map.put("ksgl", format.format(ksgl));  
525 - map.put("realMileage", format.format(yygl + ksgl));  
526 - map.put("jhbc", jhbc);  
527 - map.put("cjbc", cjbc);  
528 - map.put("ljbc", ljbc);  
529 - map.put("sjbc", jhbc - cjbc + ljbc);  
530 -  
531 - String path = this.getClass().getResource("/").getPath() + "static\\pages\\forms\\"; 451 + int jhbc = 0,cjbc = 0,ljbc = 0;
  452 + double jhlc = 0, yygl = 0, ksgl = 0,tempJhlc = 0;
  453 + float addMileage = 0l,remMileage = 0l;
  454 +
  455 + Map<String,Object> map;
  456 + for(ScheduleRealInfo scheduleRealInfo : scheduleRealInfos){
  457 + if(scheduleRealInfo != null){
  458 + //计算计划里程(主任务过滤掉临加班次),烂班里程,临加里程,计划班次,烂班班次,增加班次
  459 + if(scheduleRealInfo != null){
  460 + //计划里程(主任务过滤掉临加班次),
  461 + //烂班里程(主任务烂班),
  462 + //临加里程(主任务临加),
  463 + //计划班次,烂班班次,增加班次
  464 + tempJhlc = scheduleRealInfo.getJhlc()==null?0:scheduleRealInfo.getJhlc();
  465 + if(scheduleRealInfo.isSflj()){
  466 + ljbc++;
  467 + }else{
  468 + jhlc += tempJhlc;
  469 + jhbc++;
  470 + if(scheduleRealInfo.getStatus() == -1){
  471 + remMileage += tempJhlc;
  472 + cjbc++;
  473 + }
  474 + }
  475 + Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks();
  476 + //计算营运里程,空驶里程
  477 + if(childTaskPlans.isEmpty()){
  478 + if(scheduleRealInfo.getBcType().equals("in") || scheduleRealInfo.getBcType().equals("out")
  479 + ){
  480 + ksgl += tempJhlc;
  481 + }else{
  482 + yygl += tempJhlc;
  483 + }
  484 + }else{
  485 + Iterator<ChildTaskPlan> it = childTaskPlans.iterator();
  486 + while(it.hasNext()){
  487 + ChildTaskPlan childTaskPlan = it.next();
  488 + if(childTaskPlan.getMileageType().equals("empty")){
  489 + if(scheduleRealInfo.isSflj()){
  490 + addMileage += tempJhlc;
  491 + }
  492 + ksgl += childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage();
  493 + }else{
  494 + if(scheduleRealInfo.isSflj()){
  495 + addMileage += tempJhlc;
  496 + }
  497 + yygl += childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage();
  498 + }
  499 + }
  500 + }
  501 + }
  502 +
  503 + map = new HashMap<String, Object>();
  504 + try {
  505 + map = rru.getMapValue(scheduleRealInfo);
  506 + String zdsj = scheduleRealInfo.getZdsj();
  507 + String zdsjActual = scheduleRealInfo.getZdsjActual();
  508 + if(zdsj != null && zdsjActual != null &&
  509 + !zdsj.equals(zdsjActual)){
  510 + if(zdsj.compareTo(zdsjActual) > 0){
  511 + map.put("fast", TimeUtils.getTimeDifference(zdsj, zdsjActual));
  512 + map.put("slow", "");
  513 + } else {
  514 + map.put("fast", "");
  515 + map.put("slow", TimeUtils.getTimeDifference(zdsj, zdsjActual));
  516 + }
  517 + } else {
  518 + map.put("fast", "");
  519 + map.put("slow", "");
  520 + }
  521 + listMap.add(map);
  522 + } catch (Exception e) {
  523 + e.printStackTrace();
  524 + }
  525 + }
  526 + }
  527 +
  528 + //计算里程和班次数,并放入Map里
  529 + map = new HashMap<String, Object>();
  530 + map.put("jhlc", format.format(jhlc));
  531 + map.put("remMileage", format.format(remMileage));
  532 + map.put("addMileage", format.format(addMileage));
  533 + map.put("yygl", format.format(yygl));
  534 + map.put("ksgl", format.format(ksgl));
  535 + map.put("realMileage", format.format(yygl+ksgl));
  536 + map.put("jhbc", jhbc);
  537 + map.put("cjbc", cjbc);
  538 + map.put("ljbc", ljbc);
  539 + map.put("sjbc", jhbc-cjbc+ljbc);
  540 +
  541 + String path = this.getClass().getResource("/").getPath()+"static\\pages\\forms\\";
532 542
533 - list.add(listMap.iterator());  
534 - ee.excelReplace(list, new Object[]{scheduleRealInfos.get(0), map}, path + "mould\\waybill_minhang.xls",  
535 - path + "export\\" + jName + ".xls");  
536 - return scheduleRealInfos;  
537 - } 543 + list.add(listMap.iterator());
  544 + ee.excelReplace(list, new Object[] { scheduleRealInfos.get(0),map }, path+"mould\\waybill_minhang.xls",
  545 + path+"export\\" + date+"-"+jName+"-"+clZbh+"-"+lpName+"-行车路单.xls");
  546 + return scheduleRealInfos;
  547 + }
538 548
539 @Override 549 @Override
540 public List<Map<String, Object>> dailyInfo(String line, String date, String type) { 550 public List<Map<String, Object>> dailyInfo(String line, String date, String type) {
@@ -1121,10 +1131,11 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -1121,10 +1131,11 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
1121 } 1131 }
1122 1132
1123 1133
  1134 +
1124 @Override 1135 @Override
1125 public Map<String, Object> findKMBC(String jName, String clZbh, 1136 public Map<String, Object> findKMBC(String jName, String clZbh,
1126 - String lpName, String date) {  
1127 - List<ScheduleRealInfo> list = scheduleRealInfoRepository.queryListWaybill(jName, clZbh, lpName, date); 1137 + String lpName, String date,String line) {
  1138 + List<ScheduleRealInfo> list = scheduleRealInfoRepository.queryListWaybill(jName, clZbh, lpName, date,line);
1128 DecimalFormat format = new DecimalFormat("0.00"); 1139 DecimalFormat format = new DecimalFormat("0.00");
1129 // int cjbc = scheduleRealInfoRepository.findCjbc(jName, clZbh, lpName); 1140 // int cjbc = scheduleRealInfoRepository.findCjbc(jName, clZbh, lpName);
1130 // int ljbc = scheduleRealInfoRepository.findLjbc(jName, clZbh, lpName); 1141 // int ljbc = scheduleRealInfoRepository.findLjbc(jName, clZbh, lpName);
@@ -1207,6 +1218,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -1207,6 +1218,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
1207 return map; 1218 return map;
1208 } 1219 }
1209 1220
  1221 +
1210 @Override 1222 @Override
1211 public List<Map<String, Object>> account(String line, String date, 1223 public List<Map<String, Object>> account(String line, String date,
1212 String code, String xlName, String type) { 1224 String code, String xlName, String type) {
@@ -1320,13 +1332,9 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -1320,13 +1332,9 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
1320 1332
1321 @Override 1333 @Override
1322 public List<ScheduleRealInfo> queryListWaybill(String jName, String clZbh, 1334 public List<ScheduleRealInfo> queryListWaybill(String jName, String clZbh,
1323 - String lpName, String date, String type) { 1335 + String lpName, String date,String line) {
1324 List<ScheduleRealInfo> list = null; 1336 List<ScheduleRealInfo> list = null;
1325 - if (type.equals("qp")) {  
1326 - list = scheduleRealInfoRepository.queryListWaybill2(jName, clZbh, lpName, date);  
1327 - } else {  
1328 - list = scheduleRealInfoRepository.queryListWaybill(jName, clZbh, lpName, date);  
1329 - } 1337 + list = scheduleRealInfoRepository.queryListWaybill(jName, clZbh, lpName, date,line);
1330 for (int i = 0; i < list.size(); i++) { 1338 for (int i = 0; i < list.size(); i++) {
1331 ScheduleRealInfo s = list.get(i); 1339 ScheduleRealInfo s = list.get(i);
1332 String remarks = ""; 1340 String remarks = "";
@@ -2088,4 +2096,433 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -2088,4 +2096,433 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
2088 return null; 2096 return null;
2089 } 2097 }
2090 2098
2091 -} 2099 + @Override
  2100 + public List<ScheduleRealInfo> exportWaybillQp(String clZbh, String date, String line) {
  2101 + // TODO Auto-generated method stub
  2102 + ReportUtils ee = new ReportUtils();
  2103 + ReportRelatedUtils rru = new ReportRelatedUtils();
  2104 + List<Iterator<?>> list = new ArrayList<Iterator<?>>();
  2105 + List<ScheduleRealInfo> scheduleRealInfos = scheduleRealInfoRepository.queryListWaybill2( clZbh,date,line);
  2106 + List<Map<String,Object>> listMap = new ArrayList<Map<String,Object>>();
  2107 +
  2108 + DecimalFormat format = new DecimalFormat("0.00");
  2109 +// int cjbc = scheduleRealInfoRepository.findCjbc(jName, clZbh, lpName);
  2110 +// int ljbc = scheduleRealInfoRepository.findLjbc(jName, clZbh, lpName);
  2111 + int jhbc = 0,cjbc = 0,ljbc = 0;
  2112 + double jhlc = 0, yygl = 0, ksgl = 0,tempJhlc = 0,jcclc=0;
  2113 + float addMileage = 0l,remMileage = 0l;
  2114 +
  2115 + Map<String,Object> map;
  2116 + for(ScheduleRealInfo scheduleRealInfo : scheduleRealInfos){
  2117 + if(scheduleRealInfo != null){
  2118 + //计算计划里程(主任务过滤掉临加班次),烂班里程,临加里程,计划班次,烂班班次,增加班次
  2119 + //计划里程(主任务过滤掉临加班次),
  2120 + //烂班里程(主任务烂班),
  2121 + //临加里程(主任务临加),
  2122 + //计划班次,烂班班次,增加班次
  2123 + tempJhlc = scheduleRealInfo.getJhlc()==null?0:scheduleRealInfo.getJhlc();
  2124 + if(scheduleRealInfo.isSflj()){
  2125 + ljbc++;
  2126 + }else{
  2127 + jhlc += tempJhlc;
  2128 + jhbc++;
  2129 + if(scheduleRealInfo.getStatus() == -1){
  2130 + remMileage += tempJhlc;
  2131 + cjbc++;
  2132 + }
  2133 + }
  2134 + Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks();
  2135 + //计算营运里程,空驶里程
  2136 + if(childTaskPlans.isEmpty()){
  2137 + if(scheduleRealInfo.getBcType().equals("in") || scheduleRealInfo.getBcType().equals("out")
  2138 + || scheduleRealInfo.getBcType().equals("venting")){
  2139 + ksgl += tempJhlc;
  2140 + }else{
  2141 + yygl += tempJhlc;
  2142 + }
  2143 + }else{
  2144 + Iterator<ChildTaskPlan> it = childTaskPlans.iterator();
  2145 + while(it.hasNext()){
  2146 + ChildTaskPlan childTaskPlan = it.next();
  2147 + if(childTaskPlan.getMileageType().equals("empty")){
  2148 + if(scheduleRealInfo.isSflj()){
  2149 + addMileage += tempJhlc;
  2150 + }
  2151 + ksgl += childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage();
  2152 + }else{
  2153 + if(scheduleRealInfo.isSflj()){
  2154 + addMileage += tempJhlc;
  2155 + }
  2156 + yygl += childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage();
  2157 + }
  2158 + }
  2159 + }
  2160 +
  2161 + if(!(scheduleRealInfo.getBcType().equals("in")||scheduleRealInfo.getBcType().equals("out"))){
  2162 + map = new HashMap<String, Object>();
  2163 + try {
  2164 + map = rru.getMapValue(scheduleRealInfo);
  2165 + String zdsj = scheduleRealInfo.getZdsj();
  2166 + String zdsjActual = scheduleRealInfo.getZdsjActual();
  2167 + if(zdsj != null && zdsjActual != null &&
  2168 + !zdsj.equals(zdsjActual)){
  2169 + if(zdsj.compareTo(zdsjActual) > 0){
  2170 + map.put("fast", TimeUtils.getTimeDifference(zdsj, zdsjActual));
  2171 + map.put("slow", "");
  2172 + } else {
  2173 + map.put("fast", "");
  2174 + map.put("slow", TimeUtils.getTimeDifference(zdsj, zdsjActual));
  2175 + }
  2176 + } else {
  2177 + map.put("fast", "");
  2178 + map.put("slow", "");
  2179 + }
  2180 + listMap.add(map);
  2181 + } catch (Exception e) {
  2182 + e.printStackTrace();
  2183 + }
  2184 + }
  2185 + }
  2186 + }
  2187 +
  2188 + //计算里程和班次数,并放入Map里
  2189 + map = new HashMap<String, Object>();
  2190 + map.put("jhlc", format.format(jhlc+jcclc));
  2191 + map.put("yygljh", format.format(jhlc));
  2192 + map.put("ssgl", format.format(remMileage));
  2193 + map.put("ksgl", format.format(ksgl));
  2194 + map.put("yyglsj", format.format(yygl+remMileage));
  2195 + map.put("jhbc", jhbc);
  2196 + map.put("jcclc", jcclc);
  2197 +
  2198 + map.put("ljgl", format.format(addMileage));
  2199 + map.put("ssbc", cjbc);
  2200 + map.put("ysgl", format.format(yygl));
  2201 + map.put("sjbc", jhbc-cjbc+ljbc);
  2202 + map.put("zgl", format.format(yygl+remMileage+ksgl+jcclc));
  2203 + map.put("ljbc", ljbc);
  2204 +
  2205 + String path = this.getClass().getResource("/").getPath()+"static\\pages\\forms\\";
  2206 +
  2207 + list.add(listMap.iterator());
  2208 + ee.excelReplace(list, new Object[] { scheduleRealInfos.get(0),map }, path+"mould\\waybill_qingpu.xls",
  2209 + path+"export\\" + date+"-"+clZbh+"-行车路单.xls");
  2210 + return scheduleRealInfos;
  2211 + }
  2212 +
  2213 + @Override
  2214 + public Map<String, Object> findKMBCQp(String clZbh, String date, String line) {
  2215 + // TODO Auto-generated method stub
  2216 + List<ScheduleRealInfo> list = scheduleRealInfoRepository.queryListWaybill2( clZbh,date,line);
  2217 + DecimalFormat format = new DecimalFormat("0.00");
  2218 +// int cjbc = scheduleRealInfoRepository.findCjbc(jName, clZbh, lpName);
  2219 +// int ljbc = scheduleRealInfoRepository.findLjbc(jName, clZbh, lpName);
  2220 + int jhbc = 0,cjbc = 0,ljbc = 0;
  2221 + double jhlc = 0, yygl = 0, ksgl = 0,tempJhlc = 0,jcclc=0;
  2222 + float addMileage = 0l,remMileage = 0l;
  2223 + Map<String,Object> map = new HashMap<String, Object>();
  2224 + for(ScheduleRealInfo scheduleRealInfo : list){
  2225 + if(scheduleRealInfo != null){
  2226 + //计划里程(主任务过滤掉临加班次),
  2227 + //烂班里程(主任务烂班),
  2228 + //临加里程(主任务临加),
  2229 + //计划班次,烂班班次,增加班次
  2230 + tempJhlc = scheduleRealInfo.getJhlc()==null?0:scheduleRealInfo.getJhlc();
  2231 + if(scheduleRealInfo.isSflj()){
  2232 + ljbc++;
  2233 + }else{
  2234 + if( !(scheduleRealInfo.getBcType().equals("in")
  2235 + ||scheduleRealInfo.getBcType().equals("out")) ){
  2236 + jhbc++;
  2237 + jhlc += tempJhlc;
  2238 + }
  2239 +
  2240 + if(scheduleRealInfo.getStatus() == -1){
  2241 + remMileage += tempJhlc;
  2242 + cjbc++;
  2243 + }
  2244 + }
  2245 + Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks();
  2246 + //计算营运里程,空驶里程
  2247 + if(childTaskPlans.isEmpty()){
  2248 + if(scheduleRealInfo.getBcType().equals("in") ||
  2249 + scheduleRealInfo.getBcType().equals("out")){
  2250 + jcclc +=tempJhlc;
  2251 + }
  2252 +
  2253 + //主任务 放空班次属于营运
  2254 +// else if(scheduleRealInfo.getBcType().equals("venting")){
  2255 +// ksgl += tempJhlc;
  2256 +// }
  2257 + else{
  2258 + if(scheduleRealInfo.getStatus() != -1){
  2259 + if(scheduleRealInfo.isSflj()){
  2260 + addMileage += tempJhlc;
  2261 + }
  2262 + yygl += tempJhlc;
  2263 + }
  2264 + }
  2265 + }else{
  2266 + Iterator<ChildTaskPlan> it = childTaskPlans.iterator();
  2267 + while(it.hasNext()){
  2268 + ChildTaskPlan childTaskPlan = it.next();
  2269 + if(childTaskPlan.getMileageType().equals("empty")){
  2270 + if(childTaskPlan.isDestroy()){
  2271 + remMileage += childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage();
  2272 + }else{
  2273 + if(scheduleRealInfo.isSflj()){
  2274 + addMileage += tempJhlc;
  2275 + }
  2276 + ksgl += childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage();
  2277 + }
  2278 + }else{
  2279 + if(childTaskPlan.isDestroy()){
  2280 + remMileage += childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage();
  2281 +// cjbc++;
  2282 + }else{
  2283 + if(scheduleRealInfo.isSflj()){
  2284 + addMileage += tempJhlc;
  2285 + }
  2286 + yygl += childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage();
  2287 + }
  2288 + }
  2289 + }
  2290 + }
  2291 + }
  2292 + }
  2293 + map.put("jhlc", format.format(jhlc+jcclc));
  2294 + map.put("yygljh", format.format(jhlc));
  2295 + map.put("ssgl", format.format(remMileage));
  2296 + map.put("ksgl", format.format(ksgl));
  2297 + map.put("yyglsj", format.format(yygl+remMileage));
  2298 + map.put("jhbc", jhbc);
  2299 + map.put("jcclc", jcclc);
  2300 +
  2301 + map.put("ljgl", format.format(addMileage));
  2302 + map.put("ssbc", cjbc);
  2303 + map.put("ysgl", format.format(yygl));
  2304 + map.put("sjbc", jhbc-cjbc+ljbc);
  2305 + map.put("zgl", format.format(yygl+remMileage+ksgl+jcclc));
  2306 + map.put("ljbc", ljbc);
  2307 + return map;
  2308 + }
  2309 +
  2310 + @Override
  2311 + public List<ScheduleRealInfo> queryListWaybillQp(String clZbh, String date, String line) {
  2312 + // TODO Auto-generated method stub
  2313 + List <ScheduleRealInfo> list=null;
  2314 + list= scheduleRealInfoRepository.queryListWaybill2(clZbh,date,line);
  2315 + List<ScheduleRealInfo> newList=new ArrayList<ScheduleRealInfo>();
  2316 + for (int i = 0; i < list.size(); i++) {
  2317 + ScheduleRealInfo s=list.get(i);
  2318 + if(!(s.getBcType().equals("in")||s.getBcType().equals("out"))){
  2319 + String remarks="";
  2320 + if(s.getRemarks()!=null){
  2321 + remarks +=s.getRemarks();
  2322 + }
  2323 + Set<ChildTaskPlan> childTaskPlans = s.getcTasks();
  2324 + if(!childTaskPlans.isEmpty()){
  2325 + Iterator<ChildTaskPlan> it = childTaskPlans.iterator();
  2326 + while(it.hasNext()){
  2327 + ChildTaskPlan c = it.next();
  2328 + if(c.getRemarks()!=null && c.getRemarks().length()>0){
  2329 + remarks += c.getRemarks();
  2330 + }
  2331 +
  2332 + }
  2333 + }
  2334 + s.setRemarks(remarks);
  2335 + newList.add(s);
  2336 + }
  2337 +
  2338 + }
  2339 +
  2340 + return newList;
  2341 + }
  2342 +
  2343 + @Override
  2344 + public Map<String, Object> MapById(Long id) {
  2345 + // TODO Auto-generated method stub
  2346 + Map<String, Object> map=new HashMap<String, Object>();
  2347 + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm");
  2348 + ScheduleRealInfo s=scheduleRealInfoRepository.findOne(id);
  2349 + String xlbm=s.getXlBm();
  2350 + String fcrq=s.getScheduleDateStr();
  2351 +
  2352 +
  2353 + map.put("xlName", s.getXlName());
  2354 + map.put("clZbh", s.getClZbh());
  2355 + map.put("fcsjActual", s.getFcsjActual());
  2356 + map.put("zdzName", s.getZdzName());
  2357 + map.put("scheduleDate", s.getScheduleDateStr());
  2358 + String zdp="",zwdp="",wdp="";
  2359 +
  2360 + List<DutyEmployee> list= dutyEmployeeService.getDutyEmployee(xlbm, fcrq+"00:00", fcrq+"23:59");
  2361 + try {
  2362 + Long fcsj1=sdf.parse(fcrq+" 03:00").getTime();
  2363 + Long fcsj2=sdf.parse(fcrq+" 11:00").getTime();
  2364 + Long fcsj3=sdf.parse(fcrq+" 22:00").getTime();
  2365 + for(int i=0;i<list.size();i++){
  2366 + DutyEmployee t=list.get(i);
  2367 + Long ts=t.getTs();
  2368 + if(ts>fcsj1&&ts<fcsj2){
  2369 + if(zdp.indexOf(t.getuName())==-1){
  2370 + zdp +=t.getuName()+",";
  2371 + }
  2372 + }else if(ts>fcsj2 && ts<fcsj3){
  2373 + if(zwdp.indexOf(t.getuName())==-1){
  2374 + zwdp +=t.getuName()+",";
  2375 + }
  2376 + }else{
  2377 + if(wdp.indexOf(t.getuName())==-1){
  2378 + wdp +=t.getuName()+",";
  2379 + }
  2380 + }
  2381 + }
  2382 + } catch (ParseException e) {
  2383 + // TODO Auto-generated catch block
  2384 + e.printStackTrace();
  2385 + }
  2386 + map.put("zdp", zdp);
  2387 + map.put("zwdp", zwdp);
  2388 + map.put("wdp", wdp);
  2389 + return map;
  2390 + }
  2391 +
  2392 + @Override
  2393 + public List<Map<String, Object>> scheduleDailyQp(String line, String date) {
  2394 + // TODO Auto-generated method stub
  2395 + List<Map<String, Object>> list=new ArrayList<Map<String, Object>>();
  2396 + List<ScheduleRealInfo> scheduleRealInfos=scheduleRealInfoRepository.scheduleDailyQp(line, date);
  2397 + Map<String, Object> map=null;
  2398 + String lp="lp";
  2399 + String jgh="jgh";
  2400 + String clzbh="clzbh";
  2401 + int bcs=0;
  2402 + String thclzbh="";
  2403 + String sgh="sgh";
  2404 + for(int i=0;i<scheduleRealInfos.size();i++){
  2405 + ScheduleRealInfo scheduleRealInfo=scheduleRealInfos.get(i);
  2406 + if(scheduleRealInfo.getLpName().equals(lp)){
  2407 + bcs++;
  2408 + String fcsj=scheduleRealInfo.getFcsj();
  2409 +
  2410 + if(!clzbh.equals(scheduleRealInfo.getClZbh())){
  2411 + clzbh=scheduleRealInfo.getClZbh();
  2412 + if(thclzbh==""){
  2413 + thclzbh +=scheduleRealInfo.getClZbh()+",";
  2414 + }else{
  2415 + thclzbh +=scheduleRealInfo.getClZbh();
  2416 + }
  2417 + map.put("thclzbh", thclzbh);
  2418 + }
  2419 +
  2420 + if(!jgh.equals(scheduleRealInfo.getjGh())){
  2421 + jgh=scheduleRealInfo.getjGh();
  2422 + if(map.get("jjb2")!=null){
  2423 + map.put("jjb3", scheduleRealInfo.getjGh()+"/"+
  2424 + scheduleRealInfo.getFcsjActual());
  2425 +
  2426 + }else{
  2427 + map.put("jjb2", scheduleRealInfo.getjGh()+"/"+
  2428 + scheduleRealInfo.getFcsjActual());
  2429 + }
  2430 +
  2431 + }
  2432 +
  2433 + if(scheduleRealInfo.getsGh()!=null){
  2434 + if(!scheduleRealInfo.getsGh().equals(sgh)){
  2435 + sgh=scheduleRealInfo.getsGh();
  2436 + if(map.get("sjb1")!=null){
  2437 + if(map.get("sjb2")!=null){
  2438 + map.put("sjb3", scheduleRealInfo.getsGh()+"/"+
  2439 + scheduleRealInfo.getFcsjActual());
  2440 + }else{
  2441 + map.put("sjb2", scheduleRealInfo.getsGh()+"/"+
  2442 + scheduleRealInfo.getFcsjActual());
  2443 + }
  2444 + }else{
  2445 + map.put("sjb1", scheduleRealInfo.getsGh()+"/"+
  2446 + scheduleRealInfo.getFcsjActual());
  2447 + }
  2448 + }
  2449 + }
  2450 + if(scheduleRealInfo.getFcsjActual()!=null){
  2451 + String fcsjs[]=fcsj.split(":");
  2452 + String fcsjActuals[]=scheduleRealInfo.getFcsjActual().split(":");
  2453 + int a=Integer.parseInt(fcsjActuals[0])*60+Integer.parseInt(fcsjActuals[1]);
  2454 + int b=Integer.parseInt(fcsjs[0])*60+Integer.parseInt(fcsjs[1]);
  2455 + map.put("cz"+bcs, b-a);
  2456 + }else{
  2457 + map.put("cz"+bcs, "无");
  2458 + }
  2459 + map.put("lp", scheduleRealInfo.getLpName());
  2460 + map.put("dd"+bcs, scheduleRealInfo.getZdsjActual());
  2461 + map.put("kc"+bcs, scheduleRealInfo.getFcsjActual());
  2462 +
  2463 + if(i<scheduleRealInfos.size()-1){
  2464 + if(!scheduleRealInfos.get(i+1).getLpName().equals
  2465 + (scheduleRealInfos.get(i).getLpName())){
  2466 + list.add(map);
  2467 + lp="lp";
  2468 + jgh="jgh";
  2469 + clzbh="clzbh";
  2470 + bcs=0;
  2471 + thclzbh="";
  2472 + sgh="sgh";
  2473 + }
  2474 + }else{
  2475 + list.add(map);
  2476 + }
  2477 + }else{
  2478 + bcs=1;
  2479 + map=new HashMap<String,Object>();
  2480 + lp=scheduleRealInfo.getLpName();
  2481 + jgh=scheduleRealInfo.getjGh();
  2482 + clzbh=scheduleRealInfo.getClZbh();
  2483 + if(scheduleRealInfo.getsGh()!=null){
  2484 + sgh=scheduleRealInfo.getsGh();
  2485 + map.put("sjb1",scheduleRealInfo.getsGh()+"/"+
  2486 + scheduleRealInfo.getFcsjActual());
  2487 + }
  2488 + String fcsj=scheduleRealInfo.getFcsj();
  2489 + scheduleRealInfo.getFcsjActual();
  2490 + map.put("jjb1", jgh+"/"+scheduleRealInfo.getFcsjActual());
  2491 + map.put("cccl", clzbh);
  2492 +
  2493 + if(scheduleRealInfo.getFcsjActual()!=null){
  2494 + String fcsjs[]=fcsj.split(":");
  2495 + String fcsjActuals[]=scheduleRealInfo.getFcsjActual().split(":");
  2496 + int a=Integer.parseInt(fcsjActuals[0])*60+Integer.parseInt(fcsjActuals[1]);
  2497 + int b=Integer.parseInt(fcsjs[0])*60+Integer.parseInt(fcsjs[1]);
  2498 + map.put("cz"+bcs, b-a);
  2499 + }else{
  2500 + map.put("cz"+bcs, "无");
  2501 + }
  2502 +
  2503 +
  2504 + map.put("lp", scheduleRealInfo.getLpName());
  2505 + map.put("dd"+bcs, scheduleRealInfo.getZdsjActual());
  2506 + map.put("kc"+bcs, scheduleRealInfo.getFcsjActual());
  2507 +
  2508 + if(i<scheduleRealInfos.size()-1){
  2509 + if(!scheduleRealInfos.get(i+1).getLpName().equals
  2510 + (scheduleRealInfos.get(i).getLpName())){
  2511 + list.add(map);
  2512 + lp="lp";
  2513 + jgh="jgh";
  2514 + clzbh="clzbh";
  2515 + bcs=0;
  2516 + thclzbh="";
  2517 + sgh="sgh";
  2518 + }
  2519 + }else{
  2520 + list.add(map);
  2521 + }
  2522 + }
  2523 +
  2524 + }
  2525 + return list;
  2526 + }
  2527 +
  2528 +}
2092 \ No newline at end of file 2529 \ No newline at end of file
src/main/java/com/bsth/service/schedule/ScheduleRule1FlatService.java
1 package com.bsth.service.schedule; 1 package com.bsth.service.schedule;
2 2
3 import com.bsth.entity.schedule.rule.ScheduleRule1Flat; 3 import com.bsth.entity.schedule.rule.ScheduleRule1Flat;
4 -import com.bsth.service.BaseService;  
5 4
6 /** 5 /**
7 * Created by xu on 16/7/4. 6 * Created by xu on 16/7/4.
8 */ 7 */
9 -public interface ScheduleRule1FlatService extends BaseService<ScheduleRule1Flat, Long> { 8 +public interface ScheduleRule1FlatService extends BService<ScheduleRule1Flat, Long> {
10 } 9 }
src/main/java/com/bsth/service/schedule/ScheduleRule1FlatServiceImpl.java deleted 100644 → 0
1 -package com.bsth.service.schedule;  
2 -  
3 -import com.bsth.entity.schedule.rule.ScheduleRule1Flat;  
4 -import com.bsth.service.impl.BaseServiceImpl;  
5 -import org.springframework.stereotype.Service;  
6 -  
7 -/**  
8 - * Created by xu on 16/7/4.  
9 - */  
10 -@Service  
11 -public class ScheduleRule1FlatServiceImpl extends BaseServiceImpl<ScheduleRule1Flat, Long> implements ScheduleRule1FlatService {  
12 -}  
src/main/java/com/bsth/service/schedule/impl/ScheduleRule1FlatServiceImpl.java 0 → 100644
  1 +package com.bsth.service.schedule.impl;
  2 +
  3 +import com.bsth.entity.schedule.rule.ScheduleRule1Flat;
  4 +import com.bsth.service.schedule.ScheduleRule1FlatService;
  5 +import com.bsth.service.schedule.exception.ScheduleException;
  6 +import com.bsth.service.schedule.utils.DataToolsProperties;
  7 +import org.slf4j.Logger;
  8 +import org.slf4j.LoggerFactory;
  9 +import org.springframework.beans.factory.annotation.Autowired;
  10 +import org.springframework.boot.context.properties.EnableConfigurationProperties;
  11 +import org.springframework.stereotype.Service;
  12 +
  13 +import java.io.File;
  14 +import java.io.PrintWriter;
  15 +import java.io.StringWriter;
  16 +import java.util.HashMap;
  17 +import java.util.Map;
  18 +
  19 +/**
  20 + * Created by xu on 16/7/4.
  21 + */
  22 +@EnableConfigurationProperties(DataToolsProperties.class)
  23 +@Service
  24 +public class ScheduleRule1FlatServiceImpl extends BServiceImpl<ScheduleRule1Flat, Long> implements ScheduleRule1FlatService {
  25 + /** 日志记录器 */
  26 + private static Logger LOGGER = LoggerFactory.getLogger(ScheduleRule1FlatServiceImpl.class);
  27 +
  28 + @Autowired
  29 + private DataToolsProperties dataToolsProperties;
  30 +
  31 + @Override
  32 + public File exportData(Map<String, Object> params) throws ScheduleException {
  33 + try {
  34 + LOGGER.info("//---------------- 导出排版规则信息 start... ----------------//");
  35 + // 创建ktr转换所需参数
  36 + Map<String, Object> ktrParms = new HashMap<>();
  37 + File ktrFile = new File(this.getClass().getResource(
  38 + dataToolsProperties.getScheduleruleOutput()).toURI());
  39 +
  40 + // 通用参数,转换文件路径,excel输出文件名
  41 + ktrParms.put("transpath", ktrFile.getAbsolutePath());
  42 + ktrParms.put("filename", "排版规则信息_download-");
  43 +
  44 + File file = super.exportData(ktrParms);
  45 +
  46 + LOGGER.info("//---------------- 导出排版规则信息 success... ----------------//");
  47 +
  48 + return file;
  49 +
  50 + } catch (Exception exp) {
  51 + LOGGER.info("//---------------- 导出排版规则信息 failed... ----------------//");
  52 +
  53 + StringWriter sw = new StringWriter();
  54 + exp.printStackTrace(new PrintWriter(sw));
  55 + LOGGER.info(sw.toString());
  56 +
  57 + throw new ScheduleException(exp.getMessage());
  58 + }
  59 + }
  60 +}
src/main/java/com/bsth/service/schedule/utils/DataToolsProperties.java
@@ -47,9 +47,6 @@ public class DataToolsProperties { @@ -47,9 +47,6 @@ public class DataToolsProperties {
47 /**------------------------- 导入数据ktr --------------------------*/ 47 /**------------------------- 导入数据ktr --------------------------*/
48 /** 测试temp的ktr转换文件 */ 48 /** 测试temp的ktr转换文件 */
49 @NotNull 49 @NotNull
50 - private String tempDatainputktr;  
51 - /** 车辆信息导入ktr转换 */  
52 - @NotNull  
53 private String carsDatainputktr; 50 private String carsDatainputktr;
54 /** 人员信息导入ktr转换 */ 51 /** 人员信息导入ktr转换 */
55 @NotNull 52 @NotNull
@@ -84,9 +81,14 @@ public class DataToolsProperties { @@ -84,9 +81,14 @@ public class DataToolsProperties {
84 @NotNull 81 @NotNull
85 private String employeesDataoutputktr; 82 private String employeesDataoutputktr;
86 /** 时刻表导出元数据ktr转换 */ 83 /** 时刻表导出元数据ktr转换 */
  84 + @NotNull
87 private String ttinfodetailMetaoutput; 85 private String ttinfodetailMetaoutput;
88 /** 时刻表导出数据ktr转换 */ 86 /** 时刻表导出数据ktr转换 */
  87 + @NotNull
89 private String ttinfodetailOutput; 88 private String ttinfodetailOutput;
  89 + @NotNull
  90 + /** 排版规则导出数据ktr转换 */
  91 + private String scheduleruleOutput;
90 92
91 // TODO: 93 // TODO:
92 94
@@ -106,14 +108,6 @@ public class DataToolsProperties { @@ -106,14 +108,6 @@ public class DataToolsProperties {
106 this.transErrordir = transErrordir; 108 this.transErrordir = transErrordir;
107 } 109 }
108 110
109 - public String getTempDatainputktr() {  
110 - return tempDatainputktr;  
111 - }  
112 -  
113 - public void setTempDatainputktr(String tempDatainputktr) {  
114 - this.tempDatainputktr = tempDatainputktr;  
115 - }  
116 -  
117 public String getCarsDatainputktr() { 111 public String getCarsDatainputktr() {
118 return carsDatainputktr; 112 return carsDatainputktr;
119 } 113 }
@@ -273,4 +267,12 @@ public class DataToolsProperties { @@ -273,4 +267,12 @@ public class DataToolsProperties {
273 public void setTtinfodetailOutput(String ttinfodetailOutput) { 267 public void setTtinfodetailOutput(String ttinfodetailOutput) {
274 this.ttinfodetailOutput = ttinfodetailOutput; 268 this.ttinfodetailOutput = ttinfodetailOutput;
275 } 269 }
  270 +
  271 + public String getScheduleruleOutput() {
  272 + return scheduleruleOutput;
  273 + }
  274 +
  275 + public void setScheduleruleOutput(String scheduleruleOutput) {
  276 + this.scheduleruleOutput = scheduleruleOutput;
  277 + }
276 } 278 }
src/main/resources/datatools/config-dev.properties
@@ -21,8 +21,6 @@ datatools.trans_errordir=/Users/xu/resource/project_code/runtime_temp/bsth_contr @@ -21,8 +21,6 @@ datatools.trans_errordir=/Users/xu/resource/project_code/runtime_temp/bsth_contr
21 datatools.trans_tempdir=/Users/xu/resource/project_code/runtime_temp/bsth_control_u_d_files/temp 21 datatools.trans_tempdir=/Users/xu/resource/project_code/runtime_temp/bsth_control_u_d_files/temp
22 22
23 ##---------------------------- 导入数据ktr ----------------------------## 23 ##---------------------------- 导入数据ktr ----------------------------##
24 -# 测试temp的ktr转换文件  
25 -datatools.temp_datainputktr=/datatools/ktrs/test.ktr  
26 # 车辆信息导入ktr转换 24 # 车辆信息导入ktr转换
27 datatools.cars_datainputktr=/datatools/ktrs/carsDataInput.ktr 25 datatools.cars_datainputktr=/datatools/ktrs/carsDataInput.ktr
28 # 人员信息导入 26 # 人员信息导入
@@ -59,6 +57,8 @@ datatools.employees_dataoutputktr=/datatools/ktrs/employeesDataOutput.ktr @@ -59,6 +57,8 @@ datatools.employees_dataoutputktr=/datatools/ktrs/employeesDataOutput.ktr
59 datatools.ttinfodetail_metaoutput=/datatools/ktrs/ttinfodetailDataOutputMetaData.ktr 57 datatools.ttinfodetail_metaoutput=/datatools/ktrs/ttinfodetailDataOutputMetaData.ktr
60 # 时刻表导出数据ktr转换 58 # 时刻表导出数据ktr转换
61 datatools.ttinfodetail_output=/datatools/ktrs/ttinfodetailDataOutput.ktr 59 datatools.ttinfodetail_output=/datatools/ktrs/ttinfodetailDataOutput.ktr
  60 +# 排版规则导出数据ktr转换
  61 +datatools.schedulerule_output=/datatools/ktrs/scheduleRuleDataOutput.ktr
62 62
63 63
64 64
src/main/resources/datatools/config-prod.properties
@@ -22,8 +22,6 @@ datatools.trans_errordir=/home/bsth_control_u_d_files/erroroutput @@ -22,8 +22,6 @@ datatools.trans_errordir=/home/bsth_control_u_d_files/erroroutput
22 datatools.trans_tempdir=/home/bsth_control_u_d_files/temp 22 datatools.trans_tempdir=/home/bsth_control_u_d_files/temp
23 23
24 ##---------------------------- 导入数据ktr ----------------------------## 24 ##---------------------------- 导入数据ktr ----------------------------##
25 -# 测试temp的ktr转换文件  
26 -datatools.temp_datainputktr=/datatools/ktrs/test.ktr  
27 # 车辆信息导入ktr转换 25 # 车辆信息导入ktr转换
28 datatools.cars_datainputktr=/datatools/ktrs/carsDataInput.ktr 26 datatools.cars_datainputktr=/datatools/ktrs/carsDataInput.ktr
29 # 人员信息导入 27 # 人员信息导入
@@ -60,5 +58,8 @@ datatools.employees_dataoutputktr=/datatools/ktrs/employeesDataOutput.ktr @@ -60,5 +58,8 @@ datatools.employees_dataoutputktr=/datatools/ktrs/employeesDataOutput.ktr
60 datatools.ttinfodetail_metaoutput=/datatools/ktrs/ttinfodetailDataOutputMetaData.ktr 58 datatools.ttinfodetail_metaoutput=/datatools/ktrs/ttinfodetailDataOutputMetaData.ktr
61 # 时刻表导出数据ktr转换 59 # 时刻表导出数据ktr转换
62 datatools.ttinfodetail_output=/datatools/ktrs/ttinfodetailDataOutput.ktr 60 datatools.ttinfodetail_output=/datatools/ktrs/ttinfodetailDataOutput.ktr
  61 +# 排版规则导出数据ktr转换
  62 +datatools.schedulerule_output=/datatools/ktrs/scheduleRuleDataOutput.ktr
  63 +
63 64
64 # TODO: 65 # TODO:
65 \ No newline at end of file 66 \ No newline at end of file
src/main/resources/datatools/ktrs/test.ktr renamed to src/main/resources/datatools/ktrs/scheduleRuleDataInput.ktr
1 -<?xml version="1.0" encoding="UTF-8"?>  
2 -<transformation>  
3 - <info>  
4 - <name>test</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>&#x5bfc;&#x5165;&#x7684;excel&#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>2016&#x2f;06&#x2f;23 10&#x3a;31&#x3a;17.508</created_date>  
76 - <modified_user>-</modified_user>  
77 - <modified_date>2016&#x2f;06&#x2f;23 10&#x3a;31&#x3a;17.508</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 - </notepads>  
83 - <connection>  
84 - <name>bus_control_&#x516c;&#x53f8;_201</name>  
85 - <server>192.168.168.201</server>  
86 - <type>MYSQL</type>  
87 - <access>Native</access>  
88 - <database>control</database>  
89 - <port>3306</port>  
90 - <username>root</username>  
91 - <password>Encrypted 2be98afc86aa7f2e4cb79ff228dc6fa8c</password>  
92 - <servername/>  
93 - <data_tablespace/>  
94 - <index_tablespace/>  
95 - <attributes>  
96 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
97 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
98 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
99 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
100 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
101 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
102 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
103 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
104 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
105 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
106 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
107 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
108 - </attributes>  
109 - </connection>  
110 - <connection>  
111 - <name>xlab_mysql_youle</name>  
112 - <server>101.231.124.8</server>  
113 - <type>MYSQL</type>  
114 - <access>Native</access>  
115 - <database>xlab_youle</database>  
116 - <port>45687</port>  
117 - <username>xlab-youle</username>  
118 - <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password>  
119 - <servername/>  
120 - <data_tablespace/>  
121 - <index_tablespace/>  
122 - <attributes>  
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>45687</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>Y</attribute></attribute>  
132 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>  
133 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>  
134 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
135 - </attributes>  
136 - </connection>  
137 - <connection>  
138 - <name>xlab_mysql_youle&#xff08;&#x672c;&#x673a;&#xff09;</name>  
139 - <server>localhost</server>  
140 - <type>MYSQL</type>  
141 - <access>Native</access>  
142 - <database>xlab_youle</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>Y</attribute></attribute>  
159 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>  
160 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>  
161 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
162 - </attributes>  
163 - </connection>  
164 - <connection>  
165 - <name>xlab_youle</name>  
166 - <server/>  
167 - <type>MYSQL</type>  
168 - <access>JNDI</access>  
169 - <database>xlab_youle</database>  
170 - <port>1521</port>  
171 - <username/>  
172 - <password>Encrypted </password>  
173 - <servername/>  
174 - <data_tablespace/>  
175 - <index_tablespace/>  
176 - <attributes>  
177 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
178 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
179 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
180 - <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>  
181 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
182 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
183 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
184 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
185 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
186 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
187 - </attributes>  
188 - </connection>  
189 - <order>  
190 - <hop> <from>Excel&#x8f93;&#x5165;</from><to>&#x7a7a;&#x64cd;&#x4f5c; &#x28;&#x4ec0;&#x4e48;&#x4e5f;&#x4e0d;&#x505a;&#x29;</to><enabled>Y</enabled> </hop>  
191 - <hop> <from>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</from><to>Excel&#x8f93;&#x5165;</to><enabled>Y</enabled> </hop>  
192 - </order>  
193 - <step>  
194 - <name>&#x7a7a;&#x64cd;&#x4f5c; &#x28;&#x4ec0;&#x4e48;&#x4e5f;&#x4e0d;&#x505a;&#x29;</name>  
195 - <type>Dummy</type>  
196 - <description/>  
197 - <distribute>Y</distribute>  
198 - <custom_distribution/>  
199 - <copies>1</copies>  
200 - <partitioning>  
201 - <method>none</method>  
202 - <schema_name/>  
203 - </partitioning>  
204 - <cluster_schema/>  
205 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
206 - <xloc>400</xloc>  
207 - <yloc>100</yloc>  
208 - <draw>Y</draw>  
209 - </GUI>  
210 - </step>  
211 -  
212 - <step>  
213 - <name>Excel&#x8f93;&#x5165;</name>  
214 - <type>ExcelInput</type>  
215 - <description/>  
216 - <distribute>Y</distribute>  
217 - <custom_distribution/>  
218 - <copies>1</copies>  
219 - <partitioning>  
220 - <method>none</method>  
221 - <schema_name/>  
222 - </partitioning>  
223 - <header>Y</header>  
224 - <noempty>Y</noempty>  
225 - <stoponempty>N</stoponempty>  
226 - <filefield/>  
227 - <sheetfield/>  
228 - <sheetrownumfield/>  
229 - <rownumfield/>  
230 - <sheetfield/>  
231 - <filefield/>  
232 - <limit>0</limit>  
233 - <encoding/>  
234 - <add_to_result_filenames>Y</add_to_result_filenames>  
235 - <accept_filenames>Y</accept_filenames>  
236 - <accept_field>filepath_</accept_field>  
237 - <accept_stepname>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</accept_stepname>  
238 - <file>  
239 - <name/>  
240 - <filemask/>  
241 - <exclude_filemask/>  
242 - <file_required>N</file_required>  
243 - <include_subfolders>N</include_subfolders>  
244 - </file>  
245 - <fields>  
246 - <field>  
247 - <name>&#x7ebf;&#x8def;</name>  
248 - <type>String</type>  
249 - <length>-1</length>  
250 - <precision>-1</precision>  
251 - <trim_type>none</trim_type>  
252 - <repeat>N</repeat>  
253 - <format/>  
254 - <currency/>  
255 - <decimal/>  
256 - <group/>  
257 - </field>  
258 - <field>  
259 - <name>&#x8def;&#x724c;&#x7f16;&#x53f7;</name>  
260 - <type>String</type>  
261 - <length>-1</length>  
262 - <precision>-1</precision>  
263 - <trim_type>none</trim_type>  
264 - <repeat>N</repeat>  
265 - <format/>  
266 - <currency/>  
267 - <decimal/>  
268 - <group/>  
269 - </field>  
270 - <field>  
271 - <name>&#x8def;&#x724c;&#x540d;&#x79f0;</name>  
272 - <type>String</type>  
273 - <length>-1</length>  
274 - <precision>-1</precision>  
275 - <trim_type>none</trim_type>  
276 - <repeat>N</repeat>  
277 - <format/>  
278 - <currency/>  
279 - <decimal/>  
280 - <group/>  
281 - </field>  
282 - <field>  
283 - <name>&#x8def;&#x724c;&#x7c7b;&#x578b;</name>  
284 - <type>String</type>  
285 - <length>-1</length>  
286 - <precision>-1</precision>  
287 - <trim_type>none</trim_type>  
288 - <repeat>N</repeat>  
289 - <format/>  
290 - <currency/>  
291 - <decimal/>  
292 - <group/>  
293 - </field>  
294 - </fields>  
295 - <sheets>  
296 - </sheets>  
297 - <strict_types>N</strict_types>  
298 - <error_ignored>N</error_ignored>  
299 - <error_line_skipped>N</error_line_skipped>  
300 - <bad_line_files_destination_directory/>  
301 - <bad_line_files_extension>warning</bad_line_files_extension>  
302 - <error_line_files_destination_directory/>  
303 - <error_line_files_extension>error</error_line_files_extension>  
304 - <line_number_files_destination_directory/>  
305 - <line_number_files_extension>line</line_number_files_extension>  
306 - <shortFileFieldName/>  
307 - <pathFieldName/>  
308 - <hiddenFieldName/>  
309 - <lastModificationTimeFieldName/>  
310 - <uriNameFieldName/>  
311 - <rootUriNameFieldName/>  
312 - <extensionFieldName/>  
313 - <sizeFieldName/>  
314 - <spreadsheet_type>JXL</spreadsheet_type>  
315 - <cluster_schema/>  
316 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
317 - <xloc>205</xloc>  
318 - <yloc>103</yloc>  
319 - <draw>Y</draw>  
320 - </GUI>  
321 - </step>  
322 -  
323 - <step>  
324 - <name>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</name>  
325 - <type>GetVariable</type>  
326 - <description/>  
327 - <distribute>Y</distribute>  
328 - <custom_distribution/>  
329 - <copies>1</copies>  
330 - <partitioning>  
331 - <method>none</method>  
332 - <schema_name/>  
333 - </partitioning>  
334 - <fields>  
335 - <field>  
336 - <name>filepath_</name>  
337 - <variable>&#x24;&#x7b;filepath&#x7d;</variable>  
338 - <type>String</type>  
339 - <format/>  
340 - <currency/>  
341 - <decimal/>  
342 - <group/>  
343 - <length>-1</length>  
344 - <precision>-1</precision>  
345 - <trim_type>none</trim_type>  
346 - </field>  
347 - </fields>  
348 - <cluster_schema/>  
349 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
350 - <xloc>266</xloc>  
351 - <yloc>283</yloc>  
352 - <draw>Y</draw>  
353 - </GUI>  
354 - </step>  
355 -  
356 - <step_error_handling>  
357 - </step_error_handling>  
358 - <slave-step-copy-partition-distribution>  
359 -</slave-step-copy-partition-distribution>  
360 - <slave_transformation>N</slave_transformation>  
361 -  
362 -</transformation> 1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<transformation>
  3 + <info>
  4 + <name>scheduleRuleDataInput</name>
  5 + <description/>
  6 + <extended_description/>
  7 + <trans_version/>
  8 + <trans_type>Normal</trans_type>
  9 + <directory>&#x2f;</directory>
  10 + <parameters>
  11 + </parameters>
  12 + <log>
  13 +<trans-log-table><connection/>
  14 +<schema/>
  15 +<table/>
  16 +<size_limit_lines/>
  17 +<interval/>
  18 +<timeout_days/>
  19 +<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>
  20 +<perf-log-table><connection/>
  21 +<schema/>
  22 +<table/>
  23 +<interval/>
  24 +<timeout_days/>
  25 +<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>
  26 +<channel-log-table><connection/>
  27 +<schema/>
  28 +<table/>
  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>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>
  31 +<step-log-table><connection/>
  32 +<schema/>
  33 +<table/>
  34 +<timeout_days/>
  35 +<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>
  36 +<metrics-log-table><connection/>
  37 +<schema/>
  38 +<table/>
  39 +<timeout_days/>
  40 +<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>
  41 + </log>
  42 + <maxdate>
  43 + <connection/>
  44 + <table/>
  45 + <field/>
  46 + <offset>0.0</offset>
  47 + <maxdiff>0.0</maxdiff>
  48 + </maxdate>
  49 + <size_rowset>10000</size_rowset>
  50 + <sleep_time_empty>50</sleep_time_empty>
  51 + <sleep_time_full>50</sleep_time_full>
  52 + <unique_connections>N</unique_connections>
  53 + <feedback_shown>Y</feedback_shown>
  54 + <feedback_size>50000</feedback_size>
  55 + <using_thread_priorities>Y</using_thread_priorities>
  56 + <shared_objects_file/>
  57 + <capture_step_performance>N</capture_step_performance>
  58 + <step_performance_capturing_delay>1000</step_performance_capturing_delay>
  59 + <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit>
  60 + <dependencies>
  61 + </dependencies>
  62 + <partitionschemas>
  63 + </partitionschemas>
  64 + <slaveservers>
  65 + </slaveservers>
  66 + <clusterschemas>
  67 + </clusterschemas>
  68 + <created_user>-</created_user>
  69 + <created_date>2017&#x2f;01&#x2f;09 10&#x3a;10&#x3a;36.915</created_date>
  70 + <modified_user>-</modified_user>
  71 + <modified_date>2017&#x2f;01&#x2f;09 10&#x3a;10&#x3a;36.915</modified_date>
  72 + <key_for_session_key/>
  73 + <is_key_private>N</is_key_private>
  74 + </info>
  75 + <notepads>
  76 + </notepads>
  77 + <connection>
  78 + <name>bus_control_variable</name>
  79 + <server>&#x24;&#x7b;v_db_ip&#x7d;</server>
  80 + <type>MYSQL</type>
  81 + <access>Native</access>
  82 + <database>&#x24;&#x7b;v_db_dname&#x7d;</database>
  83 + <port>3306</port>
  84 + <username>&#x24;&#x7b;v_db_uname&#x7d;</username>
  85 + <password>&#x24;&#x7b;v_db_pwd&#x7d;</password>
  86 + <servername/>
  87 + <data_tablespace/>
  88 + <index_tablespace/>
  89 + <attributes>
  90 + <attribute><code>EXTRA_OPTION_MYSQL.characterEncoding</code><attribute>utf8</attribute></attribute>
  91 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  92 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  93 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  94 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  95 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  96 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  97 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  98 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  99 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  100 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  101 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  102 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  103 + </attributes>
  104 + </connection>
  105 + <connection>
  106 + <name>bus_control_&#x516c;&#x53f8;_201</name>
  107 + <server>localhost</server>
  108 + <type>MYSQL</type>
  109 + <access>Native</access>
  110 + <database>control</database>
  111 + <port>3306</port>
  112 + <username>root</username>
  113 + <password>Encrypted </password>
  114 + <servername/>
  115 + <data_tablespace/>
  116 + <index_tablespace/>
  117 + <attributes>
  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_&#x672c;&#x673a;</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>Y</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>xlab_mysql_youle</name>
  161 + <server>101.231.124.8</server>
  162 + <type>MYSQL</type>
  163 + <access>Native</access>
  164 + <database>xlab_youle</database>
  165 + <port>45687</port>
  166 + <username>xlab-youle</username>
  167 + <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</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>45687</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>N</attribute></attribute>
  182 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  183 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  184 + </attributes>
  185 + </connection>
  186 + <connection>
  187 + <name>xlab_mysql_youle&#xff08;&#x672c;&#x673a;&#xff09;</name>
  188 + <server>localhost</server>
  189 + <type>MYSQL</type>
  190 + <access>Native</access>
  191 + <database>xlab_youle</database>
  192 + <port>3306</port>
  193 + <username>root</username>
  194 + <password>Encrypted </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>3306</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_youle</name>
  215 + <server/>
  216 + <type>MYSQL</type>
  217 + <access>JNDI</access>
  218 + <database>xlab_youle</database>
  219 + <port>1521</port>
  220 + <username/>
  221 + <password>Encrypted </password>
  222 + <servername/>
  223 + <data_tablespace/>
  224 + <index_tablespace/>
  225 + <attributes>
  226 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  227 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  228 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  229 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  230 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  231 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  232 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  233 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  234 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  235 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  236 + </attributes>
  237 + </connection>
  238 + <order>
  239 + <hop> <from>&#x81ea;&#x5b9a;&#x4e49;&#x5e38;&#x91cf;&#x6570;&#x636e;</from><to>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</to><enabled>Y</enabled> </hop>
  240 + <hop> <from>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</from><to>&#x5206;&#x7ec4;</to><enabled>Y</enabled> </hop>
  241 + <hop> <from>&#x5206;&#x7ec4;</from><to>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c; 2</to><enabled>Y</enabled> </hop>
  242 + <hop> <from>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c; 2</from><to>&#x5206;&#x7ec4; 2</to><enabled>Y</enabled> </hop>
  243 + </order>
  244 + <step>
  245 + <name>&#x81ea;&#x5b9a;&#x4e49;&#x5e38;&#x91cf;&#x6570;&#x636e;</name>
  246 + <type>DataGrid</type>
  247 + <description/>
  248 + <distribute>Y</distribute>
  249 + <custom_distribution/>
  250 + <copies>1</copies>
  251 + <partitioning>
  252 + <method>none</method>
  253 + <schema_name/>
  254 + </partitioning>
  255 + <fields>
  256 + <field>
  257 + <name>line</name>
  258 + <type>String</type>
  259 + <format/>
  260 + <currency/>
  261 + <decimal/>
  262 + <group/>
  263 + <length>-1</length>
  264 + <precision>-1</precision>
  265 + <set_empty_string>N</set_empty_string>
  266 + </field>
  267 + <field>
  268 + <name>carconfigids</name>
  269 + <type>String</type>
  270 + <format/>
  271 + <currency/>
  272 + <decimal/>
  273 + <group/>
  274 + <length>-1</length>
  275 + <precision>-1</precision>
  276 + <set_empty_string>N</set_empty_string>
  277 + </field>
  278 + <field>
  279 + <name>employeeconfigids</name>
  280 + <type>String</type>
  281 + <format/>
  282 + <currency/>
  283 + <decimal/>
  284 + <group/>
  285 + <length>-1</length>
  286 + <precision>-1</precision>
  287 + <set_empty_string>N</set_empty_string>
  288 + </field>
  289 + <field>
  290 + <name>lpids</name>
  291 + <type>String</type>
  292 + <format/>
  293 + <currency/>
  294 + <decimal/>
  295 + <group/>
  296 + <length>-1</length>
  297 + <precision>-1</precision>
  298 + <set_empty_string>N</set_empty_string>
  299 + </field>
  300 + </fields>
  301 + <data>
  302 + <line> <item>&#x7ebf;&#x8def;1</item><item>1</item><item>2,3,4,5</item><item>1,2,3</item> </line>
  303 + </data>
  304 + <cluster_schema/>
  305 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  306 + <xloc>200</xloc>
  307 + <yloc>100</yloc>
  308 + <draw>Y</draw>
  309 + </GUI>
  310 + </step>
  311 +
  312 + <step>
  313 + <name>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c;</name>
  314 + <type>SplitFieldToRows3</type>
  315 + <description/>
  316 + <distribute>Y</distribute>
  317 + <custom_distribution/>
  318 + <copies>1</copies>
  319 + <partitioning>
  320 + <method>none</method>
  321 + <schema_name/>
  322 + </partitioning>
  323 + <splitfield>employeeconfigids</splitfield>
  324 + <delimiter>,</delimiter>
  325 + <newfield>ecid</newfield>
  326 + <rownum>N</rownum>
  327 + <rownum_field/>
  328 + <resetrownumber>Y</resetrownumber>
  329 + <delimiter_is_regex>N</delimiter_is_regex>
  330 + <cluster_schema/>
  331 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  332 + <xloc>400</xloc>
  333 + <yloc>100</yloc>
  334 + <draw>Y</draw>
  335 + </GUI>
  336 + </step>
  337 +
  338 + <step>
  339 + <name>&#x5206;&#x7ec4;</name>
  340 + <type>GroupBy</type>
  341 + <description/>
  342 + <distribute>Y</distribute>
  343 + <custom_distribution/>
  344 + <copies>1</copies>
  345 + <partitioning>
  346 + <method>none</method>
  347 + <schema_name/>
  348 + </partitioning>
  349 + <all_rows>N</all_rows>
  350 + <ignore_aggregate>N</ignore_aggregate>
  351 + <field_ignore/>
  352 + <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
  353 + <prefix>grp</prefix>
  354 + <add_linenr>N</add_linenr>
  355 + <linenr_fieldname/>
  356 + <give_back_row>N</give_back_row>
  357 + <group>
  358 + <field>
  359 + <name>line</name>
  360 + </field>
  361 + <field>
  362 + <name>lpids</name>
  363 + </field>
  364 + </group>
  365 + <fields>
  366 + <field>
  367 + <aggregate>ecid2</aggregate>
  368 + <subject>ecid</subject>
  369 + <type>CONCAT_STRING</type>
  370 + <valuefield>,</valuefield>
  371 + </field>
  372 + </fields>
  373 + <cluster_schema/>
  374 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  375 + <xloc>397</xloc>
  376 + <yloc>185</yloc>
  377 + <draw>Y</draw>
  378 + </GUI>
  379 + </step>
  380 +
  381 + <step>
  382 + <name>&#x5217;&#x62c6;&#x5206;&#x4e3a;&#x591a;&#x884c; 2</name>
  383 + <type>SplitFieldToRows3</type>
  384 + <description/>
  385 + <distribute>Y</distribute>
  386 + <custom_distribution/>
  387 + <copies>1</copies>
  388 + <partitioning>
  389 + <method>none</method>
  390 + <schema_name/>
  391 + </partitioning>
  392 + <splitfield>lpids</splitfield>
  393 + <delimiter>,</delimiter>
  394 + <newfield>lpid</newfield>
  395 + <rownum>N</rownum>
  396 + <rownum_field/>
  397 + <resetrownumber>Y</resetrownumber>
  398 + <delimiter_is_regex>N</delimiter_is_regex>
  399 + <cluster_schema/>
  400 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  401 + <xloc>546</xloc>
  402 + <yloc>101</yloc>
  403 + <draw>Y</draw>
  404 + </GUI>
  405 + </step>
  406 +
  407 + <step>
  408 + <name>&#x5206;&#x7ec4; 2</name>
  409 + <type>GroupBy</type>
  410 + <description/>
  411 + <distribute>Y</distribute>
  412 + <custom_distribution/>
  413 + <copies>1</copies>
  414 + <partitioning>
  415 + <method>none</method>
  416 + <schema_name/>
  417 + </partitioning>
  418 + <all_rows>N</all_rows>
  419 + <ignore_aggregate>N</ignore_aggregate>
  420 + <field_ignore/>
  421 + <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
  422 + <prefix>grp</prefix>
  423 + <add_linenr>N</add_linenr>
  424 + <linenr_fieldname/>
  425 + <give_back_row>N</give_back_row>
  426 + <group>
  427 + <field>
  428 + <name>line</name>
  429 + </field>
  430 + <field>
  431 + <name>ecid2</name>
  432 + </field>
  433 + </group>
  434 + <fields>
  435 + <field>
  436 + <aggregate>lpid2</aggregate>
  437 + <subject>lpid</subject>
  438 + <type>CONCAT_STRING</type>
  439 + <valuefield>,</valuefield>
  440 + </field>
  441 + </fields>
  442 + <cluster_schema/>
  443 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  444 + <xloc>548</xloc>
  445 + <yloc>185</yloc>
  446 + <draw>Y</draw>
  447 + </GUI>
  448 + </step>
  449 +
  450 + <step_error_handling>
  451 + </step_error_handling>
  452 + <slave-step-copy-partition-distribution>
  453 +</slave-step-copy-partition-distribution>
  454 + <slave_transformation>N</slave_transformation>
  455 +
  456 +</transformation>
src/main/resources/datatools/ktrs/scheduleRuleDataOutput.ktr 0 → 100644
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<transformation>
  3 + <info>
  4 + <name>scheduleRuleDataOutput</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;09 13&#x3a;35&#x3a;19.384</created_date>
  76 + <modified_user>-</modified_user>
  77 + <modified_date>2017&#x2f;01&#x2f;09 13&#x3a;35&#x3a;19.384</modified_date>
  78 + <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>118</xloc>
  85 + <yloc>158</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>&#x6392;&#x7248;&#x89c4;&#x5219;</from><to>&#x7ebf;&#x8def;&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>
  267 + <hop> <from>&#x7ebf;&#x8def;&#x67e5;&#x8be2;</from><to>&#x8f66;&#x8f86;&#x914d;&#x7f6e;&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>
  268 + <hop> <from>&#x8f66;&#x8f86;&#x914d;&#x7f6e;&#x67e5;&#x8be2;</from><to>&#x8f66;&#x8f86;&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>
  269 + <hop> <from>&#x8f66;&#x8f86;&#x67e5;&#x8be2;</from><to>&#x683c;&#x5f0f;&#x5316;&#x65e5;&#x671f;</to><enabled>Y</enabled> </hop>
  270 + <hop> <from>&#x683c;&#x5f0f;&#x5316;&#x65e5;&#x671f;</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>&#x6392;&#x7248;&#x89c4;&#x5219;</name>
  275 + <type>TableInput</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 + <connection>bus_control_variable</connection>
  285 + <sql>SELECT &#x2a; FROM bsth_c_s_sr1_flat</sql>
  286 + <limit>0</limit>
  287 + <lookup/>
  288 + <execute_each_row>N</execute_each_row>
  289 + <variables_active>N</variables_active>
  290 + <lazy_conversion_active>N</lazy_conversion_active>
  291 + <cluster_schema/>
  292 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  293 + <xloc>129</xloc>
  294 + <yloc>65</yloc>
  295 + <draw>Y</draw>
  296 + </GUI>
  297 + </step>
  298 +
  299 + <step>
  300 + <name>&#x7ebf;&#x8def;&#x67e5;&#x8be2;</name>
  301 + <type>DBLookup</type>
  302 + <description/>
  303 + <distribute>Y</distribute>
  304 + <custom_distribution/>
  305 + <copies>1</copies>
  306 + <partitioning>
  307 + <method>none</method>
  308 + <schema_name/>
  309 + </partitioning>
  310 + <connection>bus_control_variable</connection>
  311 + <cache>Y</cache>
  312 + <cache_load_all>Y</cache_load_all>
  313 + <cache_size>0</cache_size>
  314 + <lookup>
  315 + <schema/>
  316 + <table>bsth_c_line</table>
  317 + <orderby/>
  318 + <fail_on_multiple>N</fail_on_multiple>
  319 + <eat_row_on_failure>N</eat_row_on_failure>
  320 + <key>
  321 + <name>xl</name>
  322 + <field>id</field>
  323 + <condition>&#x3d;</condition>
  324 + <name2/>
  325 + </key>
  326 + <value>
  327 + <name>name</name>
  328 + <rename>xlmc</rename>
  329 + <default/>
  330 + <type>String</type>
  331 + </value>
  332 + </lookup>
  333 + <cluster_schema/>
  334 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  335 + <xloc>329</xloc>
  336 + <yloc>65</yloc>
  337 + <draw>Y</draw>
  338 + </GUI>
  339 + </step>
  340 +
  341 + <step>
  342 + <name>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</name>
  343 + <type>SelectValues</type>
  344 + <description/>
  345 + <distribute>Y</distribute>
  346 + <custom_distribution/>
  347 + <copies>1</copies>
  348 + <partitioning>
  349 + <method>none</method>
  350 + <schema_name/>
  351 + </partitioning>
  352 + <fields> <field> <name>xlmc</name>
  353 + <rename>&#x7ebf;&#x8def;</rename>
  354 + <length>-2</length>
  355 + <precision>-2</precision>
  356 + </field> <field> <name>zbh</name>
  357 + <rename>&#x5185;&#x90e8;&#x7f16;&#x7801;</rename>
  358 + <length>-2</length>
  359 + <precision>-2</precision>
  360 + </field> <field> <name>qyrq</name>
  361 + <rename>&#x542f;&#x7528;&#x65e5;&#x671f;</rename>
  362 + <length>-2</length>
  363 + <precision>-2</precision>
  364 + </field> <field> <name>lp_start</name>
  365 + <rename>&#x8d77;&#x59cb;&#x8def;&#x724c;</rename>
  366 + <length>-2</length>
  367 + <precision>-2</precision>
  368 + </field> <field> <name>lp_names</name>
  369 + <rename>&#x8def;&#x724c;&#x8303;&#x56f4;</rename>
  370 + <length>-2</length>
  371 + <precision>-2</precision>
  372 + </field> <field> <name>ry_start</name>
  373 + <rename>&#x8d77;&#x59cb;&#x4eba;&#x5458;</rename>
  374 + <length>-2</length>
  375 + <precision>-2</precision>
  376 + </field> <field> <name>ry_dbbms</name>
  377 + <rename>&#x4eba;&#x5458;&#x8303;&#x56f4;</rename>
  378 + <length>-2</length>
  379 + <precision>-2</precision>
  380 + </field> <field> <name>fbgs</name>
  381 + <rename>&#x7ffb;&#x73ed;&#x683c;&#x5f0f;</rename>
  382 + <length>-2</length>
  383 + <precision>-2</precision>
  384 + </field> <select_unspecified>N</select_unspecified>
  385 + </fields> <cluster_schema/>
  386 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  387 + <xloc>706</xloc>
  388 + <yloc>163</yloc>
  389 + <draw>Y</draw>
  390 + </GUI>
  391 + </step>
  392 +
  393 + <step>
  394 + <name>&#x8f66;&#x8f86;&#x914d;&#x7f6e;&#x67e5;&#x8be2;</name>
  395 + <type>DBLookup</type>
  396 + <description/>
  397 + <distribute>Y</distribute>
  398 + <custom_distribution/>
  399 + <copies>1</copies>
  400 + <partitioning>
  401 + <method>none</method>
  402 + <schema_name/>
  403 + </partitioning>
  404 + <connection>bus_control_variable</connection>
  405 + <cache>N</cache>
  406 + <cache_load_all>N</cache_load_all>
  407 + <cache_size>0</cache_size>
  408 + <lookup>
  409 + <schema/>
  410 + <table>bsth_c_s_ccinfo</table>
  411 + <orderby/>
  412 + <fail_on_multiple>N</fail_on_multiple>
  413 + <eat_row_on_failure>N</eat_row_on_failure>
  414 + <key>
  415 + <name>car_config_info</name>
  416 + <field>id</field>
  417 + <condition>&#x3d;</condition>
  418 + <name2/>
  419 + </key>
  420 + <value>
  421 + <name>cl</name>
  422 + <rename>clid</rename>
  423 + <default/>
  424 + <type>Integer</type>
  425 + </value>
  426 + </lookup>
  427 + <cluster_schema/>
  428 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  429 + <xloc>471</xloc>
  430 + <yloc>64</yloc>
  431 + <draw>Y</draw>
  432 + </GUI>
  433 + </step>
  434 +
  435 + <step>
  436 + <name>&#x8f66;&#x8f86;&#x67e5;&#x8be2;</name>
  437 + <type>DBLookup</type>
  438 + <description/>
  439 + <distribute>Y</distribute>
  440 + <custom_distribution/>
  441 + <copies>1</copies>
  442 + <partitioning>
  443 + <method>none</method>
  444 + <schema_name/>
  445 + </partitioning>
  446 + <connection>bus_control_variable</connection>
  447 + <cache>N</cache>
  448 + <cache_load_all>N</cache_load_all>
  449 + <cache_size>0</cache_size>
  450 + <lookup>
  451 + <schema/>
  452 + <table>bsth_c_cars</table>
  453 + <orderby/>
  454 + <fail_on_multiple>N</fail_on_multiple>
  455 + <eat_row_on_failure>N</eat_row_on_failure>
  456 + <key>
  457 + <name>clid</name>
  458 + <field>id</field>
  459 + <condition>&#x3d;</condition>
  460 + <name2/>
  461 + </key>
  462 + <value>
  463 + <name>inside_code</name>
  464 + <rename>zbh</rename>
  465 + <default/>
  466 + <type>String</type>
  467 + </value>
  468 + </lookup>
  469 + <cluster_schema/>
  470 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  471 + <xloc>600</xloc>
  472 + <yloc>64</yloc>
  473 + <draw>Y</draw>
  474 + </GUI>
  475 + </step>
  476 +
  477 + <step>
  478 + <name>&#x683c;&#x5f0f;&#x5316;&#x65e5;&#x671f;</name>
  479 + <type>SelectValues</type>
  480 + <description/>
  481 + <distribute>Y</distribute>
  482 + <custom_distribution/>
  483 + <copies>1</copies>
  484 + <partitioning>
  485 + <method>none</method>
  486 + <schema_name/>
  487 + </partitioning>
  488 + <fields> <select_unspecified>N</select_unspecified>
  489 + <meta> <name>qyrq</name>
  490 + <rename>qyrq</rename>
  491 + <type>String</type>
  492 + <length>-2</length>
  493 + <precision>-2</precision>
  494 + <conversion_mask>yyyy-MM-dd</conversion_mask>
  495 + <date_format_lenient>false</date_format_lenient>
  496 + <date_format_locale/>
  497 + <date_format_timezone/>
  498 + <lenient_string_to_number>false</lenient_string_to_number>
  499 + <encoding/>
  500 + <decimal_symbol/>
  501 + <grouping_symbol/>
  502 + <currency_symbol/>
  503 + <storage_type/>
  504 + </meta> <meta> <name>lp_start</name>
  505 + <rename>lp_start</rename>
  506 + <type>String</type>
  507 + <length>-2</length>
  508 + <precision>-2</precision>
  509 + <conversion_mask/>
  510 + <date_format_lenient>false</date_format_lenient>
  511 + <date_format_locale/>
  512 + <date_format_timezone/>
  513 + <lenient_string_to_number>false</lenient_string_to_number>
  514 + <encoding/>
  515 + <decimal_symbol/>
  516 + <grouping_symbol/>
  517 + <currency_symbol/>
  518 + <storage_type/>
  519 + </meta> <meta> <name>ry_start</name>
  520 + <rename>ry_start</rename>
  521 + <type>String</type>
  522 + <length>-2</length>
  523 + <precision>-2</precision>
  524 + <conversion_mask>&#x23;</conversion_mask>
  525 + <date_format_lenient>false</date_format_lenient>
  526 + <date_format_locale/>
  527 + <date_format_timezone/>
  528 + <lenient_string_to_number>false</lenient_string_to_number>
  529 + <encoding/>
  530 + <decimal_symbol/>
  531 + <grouping_symbol/>
  532 + <currency_symbol/>
  533 + <storage_type/>
  534 + </meta> </fields> <cluster_schema/>
  535 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  536 + <xloc>705</xloc>
  537 + <yloc>65</yloc>
  538 + <draw>Y</draw>
  539 + </GUI>
  540 + </step>
  541 +
  542 + <step>
  543 + <name>Excel&#x8f93;&#x51fa;</name>
  544 + <type>ExcelOutput</type>
  545 + <description/>
  546 + <distribute>Y</distribute>
  547 + <custom_distribution/>
  548 + <copies>1</copies>
  549 + <partitioning>
  550 + <method>none</method>
  551 + <schema_name/>
  552 + </partitioning>
  553 + <header>Y</header>
  554 + <footer>N</footer>
  555 + <encoding/>
  556 + <append>N</append>
  557 + <add_to_result_filenames>Y</add_to_result_filenames>
  558 + <file>
  559 + <name>&#x24;&#x7b;filepath&#x7d;</name>
  560 + <extention/>
  561 + <do_not_open_newfile_init>N</do_not_open_newfile_init>
  562 + <create_parent_folder>N</create_parent_folder>
  563 + <split>N</split>
  564 + <add_date>N</add_date>
  565 + <add_time>N</add_time>
  566 + <SpecifyFormat>N</SpecifyFormat>
  567 + <date_time_format>yyyyMMddHHmmss</date_time_format>
  568 + <sheetname>&#x5de5;&#x4f5c;&#x8868;1</sheetname>
  569 + <autosizecolums>N</autosizecolums>
  570 + <nullisblank>N</nullisblank>
  571 + <protect_sheet>N</protect_sheet>
  572 + <password>Encrypted </password>
  573 + <splitevery>0</splitevery>
  574 + <usetempfiles>N</usetempfiles>
  575 + <tempdirectory/>
  576 + </file>
  577 + <template>
  578 + <enabled>N</enabled>
  579 + <append>N</append>
  580 + <filename>template.xls</filename>
  581 + </template>
  582 + <fields>
  583 + <field>
  584 + <name>&#x7ebf;&#x8def;</name>
  585 + <type>String</type>
  586 + <format/>
  587 + </field>
  588 + <field>
  589 + <name>&#x5185;&#x90e8;&#x7f16;&#x7801;</name>
  590 + <type>String</type>
  591 + <format/>
  592 + </field>
  593 + <field>
  594 + <name>&#x542f;&#x7528;&#x65e5;&#x671f;</name>
  595 + <type>String</type>
  596 + <format/>
  597 + </field>
  598 + <field>
  599 + <name>&#x8d77;&#x59cb;&#x8def;&#x724c;</name>
  600 + <type>String</type>
  601 + <format/>
  602 + </field>
  603 + <field>
  604 + <name>&#x8def;&#x724c;&#x8303;&#x56f4;</name>
  605 + <type>String</type>
  606 + <format/>
  607 + </field>
  608 + <field>
  609 + <name>&#x8d77;&#x59cb;&#x4eba;&#x5458;</name>
  610 + <type>String</type>
  611 + <format/>
  612 + </field>
  613 + <field>
  614 + <name>&#x4eba;&#x5458;&#x8303;&#x56f4;</name>
  615 + <type>String</type>
  616 + <format/>
  617 + </field>
  618 + <field>
  619 + <name>&#x7ffb;&#x73ed;&#x683c;&#x5f0f;</name>
  620 + <type>String</type>
  621 + <format/>
  622 + </field>
  623 + </fields>
  624 + <custom>
  625 + <header_font_name>arial</header_font_name>
  626 + <header_font_size>10</header_font_size>
  627 + <header_font_bold>N</header_font_bold>
  628 + <header_font_italic>N</header_font_italic>
  629 + <header_font_underline>no</header_font_underline>
  630 + <header_font_orientation>horizontal</header_font_orientation>
  631 + <header_font_color>black</header_font_color>
  632 + <header_background_color>none</header_background_color>
  633 + <header_row_height>255</header_row_height>
  634 + <header_alignment>left</header_alignment>
  635 + <header_image/>
  636 + <row_font_name>arial</row_font_name>
  637 + <row_font_size>10</row_font_size>
  638 + <row_font_color>black</row_font_color>
  639 + <row_background_color>none</row_background_color>
  640 + </custom>
  641 + <cluster_schema/>
  642 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  643 + <xloc>707</xloc>
  644 + <yloc>259</yloc>
  645 + <draw>Y</draw>
  646 + </GUI>
  647 + </step>
  648 +
  649 + <step_error_handling>
  650 + </step_error_handling>
  651 + <slave-step-copy-partition-distribution>
  652 +</slave-step-copy-partition-distribution>
  653 + <slave_transformation>N</slave_transformation>
  654 +
  655 +</transformation>