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
Showing 45 changed files with 5941 additions and 4803 deletions
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>
src/main/resources/datatools/ktrs/ttinfodetailDataInput.ktr
1 -<?xml version="1.0" encoding="UTF-8"?>  
2 -<transformation>  
3 - <info>  
4 - <name>ttinfodetailDataInput</name>  
5 - <description>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;&#x5bfc;&#x5165;</description>  
6 - <extended_description>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;</extended_description>  
7 - <trans_version/>  
8 - <trans_type>Normal</trans_type>  
9 - <trans_status>0</trans_status>  
10 - <directory>&#x2f;</directory>  
11 - <parameters>  
12 - </parameters>  
13 - <log>  
14 -<trans-log-table><connection/>  
15 -<schema/>  
16 -<table/>  
17 -<size_limit_lines/>  
18 -<interval/>  
19 -<timeout_days/>  
20 -<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>  
21 -<perf-log-table><connection/>  
22 -<schema/>  
23 -<table/>  
24 -<interval/>  
25 -<timeout_days/>  
26 -<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>  
27 -<channel-log-table><connection/>  
28 -<schema/>  
29 -<table/>  
30 -<timeout_days/>  
31 -<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>  
32 -<step-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>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>  
37 -<metrics-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>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>  
42 - </log>  
43 - <maxdate>  
44 - <connection/>  
45 - <table/>  
46 - <field/>  
47 - <offset>0.0</offset>  
48 - <maxdiff>0.0</maxdiff>  
49 - </maxdate>  
50 - <size_rowset>10000</size_rowset>  
51 - <sleep_time_empty>50</sleep_time_empty>  
52 - <sleep_time_full>50</sleep_time_full>  
53 - <unique_connections>N</unique_connections>  
54 - <feedback_shown>Y</feedback_shown>  
55 - <feedback_size>50000</feedback_size>  
56 - <using_thread_priorities>Y</using_thread_priorities>  
57 - <shared_objects_file/>  
58 - <capture_step_performance>N</capture_step_performance>  
59 - <step_performance_capturing_delay>1000</step_performance_capturing_delay>  
60 - <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit>  
61 - <dependencies>  
62 - </dependencies>  
63 - <partitionschemas>  
64 - </partitionschemas>  
65 - <slaveservers>  
66 - </slaveservers>  
67 - <clusterschemas>  
68 - </clusterschemas>  
69 - <created_user>-</created_user>  
70 - <created_date>2016&#x2f;06&#x2f;30 12&#x3a;21&#x3a;57.536</created_date>  
71 - <modified_user>-</modified_user>  
72 - <modified_date>2016&#x2f;06&#x2f;30 12&#x3a;21&#x3a;57.536</modified_date>  
73 - <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</key_for_session_key>  
74 - <is_key_private>N</is_key_private>  
75 - </info>  
76 - <notepads>  
77 - <notepad>  
78 - <note>&#x5b57;&#x5178;&#x8868;&#x5bf9;&#x5e94;&#xff08;&#x4ee5;&#x540e;&#x76f4;&#x63a5;&#x67e5;&#x627e;&#x8868; bsth_c_sys_dictionary&#xff09;&#xa;&#x7c7b;&#x578b; &#x4ee3;&#x7801; &#x540d;&#x79f0;&#xa;LineTrend 0 &#x4e0a;&#x884c;&#xa;LineTrend 1 &#x4e0b;&#x884c;&#xa;ScheduleType normal &#x6b63;&#x5e38;&#x73ed;&#x6b21;&#xa;ScheduleType out &#x51fa;&#x573a;&#xa;ScheduleType in &#x8fdb;&#x573a;&#xa;ScheduleType temp &#x4e34;&#x52a0;&#xa;ScheduleType region &#x533a;&#x95f4;&#xa;ScheduleType venting &#x653e;&#x7a7a;&#xa;ScheduleType major &#x653e;&#x5927;&#x7ad9;</note>  
79 - <xloc>606</xloc>  
80 - <yloc>129</yloc>  
81 - <width>332</width>  
82 - <heigth>186</heigth>  
83 - <fontname>YaHei Consolas Hybrid</fontname>  
84 - <fontsize>12</fontsize>  
85 - <fontbold>N</fontbold>  
86 - <fontitalic>N</fontitalic>  
87 - <fontcolorred>0</fontcolorred>  
88 - <fontcolorgreen>0</fontcolorgreen>  
89 - <fontcolorblue>0</fontcolorblue>  
90 - <backgroundcolorred>255</backgroundcolorred>  
91 - <backgroundcolorgreen>205</backgroundcolorgreen>  
92 - <backgroundcolorblue>112</backgroundcolorblue>  
93 - <bordercolorred>100</bordercolorred>  
94 - <bordercolorgreen>100</bordercolorgreen>  
95 - <bordercolorblue>100</bordercolorblue>  
96 - <drawshadow>Y</drawshadow>  
97 - </notepad>  
98 - <notepad>  
99 - <note>&#x56e0;&#x4e3a;&#x65f6;&#x523b;&#x8868;&#x8f93;&#x5165;&#x683c;&#x5f0f;&#x4e0d;&#x786e;&#x5b9a;&#x6027;&#xff0c;&#x4e3b;&#x8981;&#x56e0;&#x4e3a;&#x8868;&#x7ed3;&#x6784;&#x662f;&#x53cd;&#x8303;&#x5f0f;&#x5316;&#x7684;&#xff0c;&#xa;&#x6240;&#x4ee5;&#x9700;&#x8981;&#x5916;&#x90e8;&#x52a8;&#x6001;&#x6307;&#x5b9a;&#x613f;&#x6570;&#x636e;&#xff0c;&#x5934;&#x4e09;&#x4e2a;step&#x52a8;&#x6001;&#x6307;&#x5b9a;&#x613f;&#x6570;&#x636e;&#xa;&#xa;</note>  
100 - <xloc>79</xloc>  
101 - <yloc>206</yloc>  
102 - <width>346</width>  
103 - <heigth>74</heigth>  
104 - <fontname>YaHei Consolas Hybrid</fontname>  
105 - <fontsize>12</fontsize>  
106 - <fontbold>N</fontbold>  
107 - <fontitalic>N</fontitalic>  
108 - <fontcolorred>0</fontcolorred>  
109 - <fontcolorgreen>0</fontcolorgreen>  
110 - <fontcolorblue>0</fontcolorblue>  
111 - <backgroundcolorred>255</backgroundcolorred>  
112 - <backgroundcolorgreen>205</backgroundcolorgreen>  
113 - <backgroundcolorblue>112</backgroundcolorblue>  
114 - <bordercolorred>100</bordercolorred>  
115 - <bordercolorgreen>100</bordercolorgreen>  
116 - <bordercolorblue>100</bordercolorblue>  
117 - <drawshadow>Y</drawshadow>  
118 - </notepad>  
119 - <notepad>  
120 - <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>  
121 - <xloc>721</xloc>  
122 - <yloc>762</yloc>  
123 - <width>333</width>  
124 - <heigth>90</heigth>  
125 - <fontname>YaHei Consolas Hybrid</fontname>  
126 - <fontsize>12</fontsize>  
127 - <fontbold>N</fontbold>  
128 - <fontitalic>N</fontitalic>  
129 - <fontcolorred>0</fontcolorred>  
130 - <fontcolorgreen>0</fontcolorgreen>  
131 - <fontcolorblue>0</fontcolorblue>  
132 - <backgroundcolorred>255</backgroundcolorred>  
133 - <backgroundcolorgreen>205</backgroundcolorgreen>  
134 - <backgroundcolorblue>112</backgroundcolorblue>  
135 - <bordercolorred>100</bordercolorred>  
136 - <bordercolorgreen>100</bordercolorgreen>  
137 - <bordercolorblue>100</bordercolorblue>  
138 - <drawshadow>Y</drawshadow>  
139 - </notepad>  
140 - <notepad>  
141 - <note>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#xff0c;&#x65b9;&#x5411;&#x6709;&#x65f6;&#x786e;&#x5b9a;&#x4e0d;&#x51c6;&#xff0c;&#xa;&#x7a7a;&#x7684;&#x60c5;&#x51b5;&#x4e0b;&#x8bbe;&#x5b9a;&#x4e3a;0&#xff08;&#x4e0a;&#x884c;&#xff09;</note>  
142 - <xloc>120</xloc>  
143 - <yloc>1016</yloc>  
144 - <width>178</width>  
145 - <heigth>42</heigth>  
146 - <fontname>YaHei Consolas Hybrid</fontname>  
147 - <fontsize>12</fontsize>  
148 - <fontbold>N</fontbold>  
149 - <fontitalic>N</fontitalic>  
150 - <fontcolorred>0</fontcolorred>  
151 - <fontcolorgreen>0</fontcolorgreen>  
152 - <fontcolorblue>0</fontcolorblue>  
153 - <backgroundcolorred>255</backgroundcolorred>  
154 - <backgroundcolorgreen>205</backgroundcolorgreen>  
155 - <backgroundcolorblue>112</backgroundcolorblue>  
156 - <bordercolorred>100</bordercolorred>  
157 - <bordercolorgreen>100</bordercolorgreen>  
158 - <bordercolorblue>100</bordercolorblue>  
159 - <drawshadow>Y</drawshadow>  
160 - </notepad>  
161 - <notepad>  
162 - <note>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#xff0c;&#x65b9;&#x5411;&#x6709;&#x65f6;&#x786e;&#x5b9a;&#x4e0d;&#x51c6;&#xff0c;&#xa;&#x7a7a;&#x7684;&#x60c5;&#x51b5;&#x4e0b;&#x8bbe;&#x5b9a;&#x4e3a;0&#xff08;&#x4e0a;&#x884c;&#xff09;</note>  
163 - <xloc>578</xloc>  
164 - <yloc>1084</yloc>  
165 - <width>178</width>  
166 - <heigth>42</heigth>  
167 - <fontname>YaHei Consolas Hybrid</fontname>  
168 - <fontsize>12</fontsize>  
169 - <fontbold>N</fontbold>  
170 - <fontitalic>N</fontitalic>  
171 - <fontcolorred>0</fontcolorred>  
172 - <fontcolorgreen>0</fontcolorgreen>  
173 - <fontcolorblue>0</fontcolorblue>  
174 - <backgroundcolorred>255</backgroundcolorred>  
175 - <backgroundcolorgreen>205</backgroundcolorgreen>  
176 - <backgroundcolorblue>112</backgroundcolorblue>  
177 - <bordercolorred>100</bordercolorred>  
178 - <bordercolorgreen>100</bordercolorgreen>  
179 - <bordercolorblue>100</bordercolorblue>  
180 - <drawshadow>Y</drawshadow>  
181 - </notepad>  
182 - </notepads>  
183 - <connection>  
184 - <name>bus_control_variable</name>  
185 - <server>&#x24;&#x7b;v_db_ip&#x7d;</server>  
186 - <type>MYSQL</type>  
187 - <access>Native</access>  
188 - <database>&#x24;&#x7b;v_db_dname&#x7d;</database>  
189 - <port>3306</port>  
190 - <username>&#x24;&#x7b;v_db_uname&#x7d;</username>  
191 - <password>&#x24;&#x7b;v_db_pwd&#x7d;</password>  
192 - <servername/>  
193 - <data_tablespace/>  
194 - <index_tablespace/>  
195 - <attributes>  
196 - <attribute><code>EXTRA_OPTION_MYSQL.characterEncoding</code><attribute>utf8</attribute></attribute>  
197 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
198 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
199 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
200 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
201 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
202 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
203 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
204 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
205 - <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>  
206 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
207 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
208 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
209 - </attributes>  
210 - </connection>  
211 - <connection>  
212 - <name>bus_control_&#x516c;&#x53f8;_201</name>  
213 - <server>localhost</server>  
214 - <type>MYSQL</type>  
215 - <access>Native</access>  
216 - <database>control</database>  
217 - <port>3306</port>  
218 - <username>root</username>  
219 - <password>Encrypted </password>  
220 - <servername/>  
221 - <data_tablespace/>  
222 - <index_tablespace/>  
223 - <attributes>  
224 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
225 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
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>3306</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>N</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 - <connection>  
239 - <name>bus_control_&#x672c;&#x673a;</name>  
240 - <server>localhost</server>  
241 - <type>MYSQL</type>  
242 - <access>Native</access>  
243 - <database>control</database>  
244 - <port>3306</port>  
245 - <username>root</username>  
246 - <password>Encrypted </password>  
247 - <servername/>  
248 - <data_tablespace/>  
249 - <index_tablespace/>  
250 - <attributes>  
251 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
252 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
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>3306</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 - <connection>  
266 - <name>xlab_mysql_youle</name>  
267 - <server>101.231.124.8</server>  
268 - <type>MYSQL</type>  
269 - <access>Native</access>  
270 - <database>xlab_youle</database>  
271 - <port>45687</port>  
272 - <username>xlab-youle</username>  
273 - <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password>  
274 - <servername/>  
275 - <data_tablespace/>  
276 - <index_tablespace/>  
277 - <attributes>  
278 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
279 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
280 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
281 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
282 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
283 - <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute>  
284 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
285 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
286 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
287 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>  
288 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>  
289 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
290 - </attributes>  
291 - </connection>  
292 - <connection>  
293 - <name>xlab_mysql_youle&#xff08;&#x672c;&#x673a;&#xff09;</name>  
294 - <server>localhost</server>  
295 - <type>MYSQL</type>  
296 - <access>Native</access>  
297 - <database>xlab_youle</database>  
298 - <port>3306</port>  
299 - <username>root</username>  
300 - <password>Encrypted </password>  
301 - <servername/>  
302 - <data_tablespace/>  
303 - <index_tablespace/>  
304 - <attributes>  
305 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
306 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
307 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
308 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
309 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
310 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
311 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
312 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
313 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
314 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>  
315 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>  
316 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
317 - </attributes>  
318 - </connection>  
319 - <connection>  
320 - <name>xlab_youle</name>  
321 - <server/>  
322 - <type>MYSQL</type>  
323 - <access>JNDI</access>  
324 - <database>xlab_youle</database>  
325 - <port>1521</port>  
326 - <username/>  
327 - <password>Encrypted </password>  
328 - <servername/>  
329 - <data_tablespace/>  
330 - <index_tablespace/>  
331 - <attributes>  
332 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
333 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
334 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
335 - <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>  
336 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
337 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
338 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
339 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
340 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
341 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
342 - </attributes>  
343 - </connection>  
344 - <order>  
345 - <hop> <from>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</from><to>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</to><enabled>Y</enabled> </hop>  
346 - <hop> <from>&#x6dfb;&#x52a0;&#x53d1;&#x8f66;&#x987a;&#x5e8f;&#x53f7;</from><to>&#x8fc7;&#x6ee4;&#x8bb0;&#x5f55;&#xff08;&#x53d1;&#x8f66;&#x65f6;&#x95f4;&#x4e3a;&#x7a7a;&#xff09;</to><enabled>Y</enabled> </hop>  
347 - <hop> <from>&#x8fc7;&#x6ee4;&#x8bb0;&#x5f55;&#xff08;&#x53d1;&#x8f66;&#x65f6;&#x95f4;&#x4e3a;&#x7a7a;&#xff09;</from><to>&#x6dfb;&#x52a0;&#x5bf9;&#x5e94;&#x73ed;&#x6b21;&#x6570;</to><enabled>Y</enabled> </hop>  
348 - <hop> <from>&#x6dfb;&#x52a0;&#x5bf9;&#x5e94;&#x73ed;&#x6b21;&#x6570;</from><to>&#x5904;&#x7406;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>  
349 - <hop> <from>&#x5904;&#x7406;&#x6570;&#x636e;</from><to>&#x5206;&#x7ec4;&#x5404;&#x4e2a;&#x8def;&#x724c;&#x7684;&#x7ad9;</to><enabled>Y</enabled> </hop>  
350 - <hop> <from>&#x67e5;&#x627e;&#x65f6;&#x523b;&#x8868;&#x57fa;&#x7840;&#x4fe1;&#x606f;&#x5173;&#x8054;</from><to>&#x67e5;&#x627e;&#x8def;&#x724c;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop>  
351 - <hop> <from>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x5173;&#x8054;</from><to>&#x67e5;&#x627e;&#x65f6;&#x523b;&#x8868;&#x57fa;&#x7840;&#x4fe1;&#x606f;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop>  
352 - <hop> <from>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178;</from><to>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178;</to><enabled>Y</enabled> </hop>  
353 - <hop> <from>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 2</from><to>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 2</to><enabled>Y</enabled> </hop>  
354 - <hop> <from>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 3</from><to>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 3</to><enabled>Y</enabled> </hop>  
355 - <hop> <from>&#x5339;&#x914d;&#x4e0a;&#x4e0b;&#x884c;&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x7c7b;&#x578b;&#x4fee;&#x6b63;</to><enabled>Y</enabled> </hop>  
356 - <hop> <from>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;1</from><to>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</to><enabled>Y</enabled> </hop>  
357 - <hop> <from>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;1</from><to>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>  
358 - <hop> <from>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</from><to>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>  
359 - <hop> <from>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</from><to>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>  
360 - <hop> <from>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x4e0a;&#x4e0b;&#x884c;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x5339;&#x914d;&#x4e0a;&#x4e0b;&#x884c;&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>  
361 - <hop> <from>&#x67e5;&#x627e;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;</from><to>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178;</to><enabled>Y</enabled> </hop>  
362 - <hop> <from>&#x67e5;&#x627e;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</from><to>&#x67e5;&#x627e;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop>  
363 - <hop> <from>&#x6b63;&#x5e38;&#x73ed;&#x6b21;_&#x5904;&#x7406;&#x6570;&#x636e;</from><to>&#x67e5;&#x627e;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</to><enabled>Y</enabled> </hop>  
364 - <hop> <from>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x6570;&#x636e;</from><to>&#x6b63;&#x5e38;&#x73ed;&#x6b21;_&#x5904;&#x7406;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>  
365 - <hop> <from>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178;</from><to>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x4e0a;&#x4e0b;&#x884c;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>  
366 - <hop> <from>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 2</from><to>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x51fa;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>  
367 - <hop> <from>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 3</from><to>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x8fdb;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>  
368 - <hop> <from>&#x67e5;&#x627e;&#x8def;&#x724c;&#x5173;&#x8054;</from><to>&#x8ba1;&#x7b97;&#x73ed;&#x6b21;&#x7c7b;&#x578b;</to><enabled>Y</enabled> </hop>  
369 - <hop> <from>&#x8ba1;&#x7b97;&#x73ed;&#x6b21;&#x7c7b;&#x578b;</from><to>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;1</to><enabled>Y</enabled> </hop>  
370 - <hop> <from>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</from><to>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;1</to><enabled>Y</enabled> </hop>  
371 - <hop> <from>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;1</from><to>&#x51fa;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x7ec8;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</to><enabled>Y</enabled> </hop>  
372 - <hop> <from>&#x51fa;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x7ec8;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</from><to>&#x67e5;&#x627e;&#x51fa;&#x573a;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</to><enabled>Y</enabled> </hop>  
373 - <hop> <from>&#x67e5;&#x627e;&#x51fa;&#x573a;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</from><to>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 2</to><enabled>Y</enabled> </hop>  
374 - <hop> <from>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</from><to>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;2</to><enabled>Y</enabled> </hop>  
375 - <hop> <from>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;2</from><to>&#x8fdb;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x8d77;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</to><enabled>Y</enabled> </hop>  
376 - <hop> <from>&#x8fdb;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x8d77;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</from><to>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ebf;&#x8def;&#x65b9;&#x5411;</to><enabled>Y</enabled> </hop>  
377 - <hop> <from>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ebf;&#x8def;&#x65b9;&#x5411;</from><to>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ec8;&#x70b9;&#x7ad9;&#xff0c;&#x5e76;&#x4f5c;&#x4e3a;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x70b9;&#x7ad9;</to><enabled>Y</enabled> </hop>  
378 - <hop> <from>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</from><to>&#x6dfb;&#x52a0;&#x53d1;&#x8f66;&#x987a;&#x5e8f;&#x53f7;</to><enabled>Y</enabled> </hop>  
379 - <hop> <from>&#x5206;&#x7ec4;&#x5404;&#x4e2a;&#x8def;&#x724c;&#x7684;&#x7ad9;</from><to>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop>  
380 - <hop> <from>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;&#xff0c;&#x7ebf;&#x8def;&#x540d;&#x5b57;&#xff0c;&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</from><to>&#x8bb0;&#x5f55;&#x5173;&#x8054; &#x28;&#x7b1b;&#x5361;&#x5c14;&#x8f93;&#x51fa;&#x29;</to><enabled>Y</enabled> </hop>  
381 - <hop> <from>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</from><to>&#x8bb0;&#x5f55;&#x5173;&#x8054; &#x28;&#x7b1b;&#x5361;&#x5c14;&#x8f93;&#x51fa;&#x29;</to><enabled>Y</enabled> </hop>  
382 - <hop> <from>&#x8bb0;&#x5f55;&#x5173;&#x8054; &#x28;&#x7b1b;&#x5361;&#x5c14;&#x8f93;&#x51fa;&#x29;</from><to>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</to><enabled>Y</enabled> </hop>  
383 - <hop> <from>&#x7c7b;&#x578b;&#x4fee;&#x6b63;</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail</to><enabled>Y</enabled> </hop>  
384 - <hop> <from>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ec8;&#x70b9;&#x7ad9;&#xff0c;&#x5e76;&#x4f5c;&#x4e3a;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x70b9;&#x7ad9;</from><to>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</to><enabled>Y</enabled> </hop>  
385 - <hop> <from>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</from><to>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 3</to><enabled>Y</enabled> </hop>  
386 - <hop> <from>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x51fa;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x5339;&#x914d;&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>  
387 - <hop> <from>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x8fdb;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x5339;&#x914d;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>  
388 - <hop> <from>&#x5339;&#x914d;&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x4e0a;&#x4e0b;&#x884c;NULL&#x5224;&#x5b9a;</to><enabled>Y</enabled> </hop>  
389 - <hop> <from>&#x4e0a;&#x4e0b;&#x884c;NULL&#x5224;&#x5b9a;</from><to>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 2</to><enabled>Y</enabled> </hop>  
390 - <hop> <from>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 2</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail 2</to><enabled>Y</enabled> </hop>  
391 - <hop> <from>&#x5339;&#x914d;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x4e0a;&#x4e0b;&#x884c;&#x5224;&#x5b9a; 2</to><enabled>Y</enabled> </hop>  
392 - <hop> <from>&#x4e0a;&#x4e0b;&#x884c;&#x5224;&#x5b9a; 2</from><to>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 3</to><enabled>Y</enabled> </hop>  
393 - <hop> <from>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 3</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail 3</to><enabled>Y</enabled> </hop>  
394 - </order>  
395 - <step>  
396 - <name>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178;</name>  
397 - <type>ValueMapper</type>  
398 - <description/>  
399 - <distribute>Y</distribute>  
400 - <custom_distribution/>  
401 - <copies>1</copies>  
402 - <partitioning>  
403 - <method>none</method>  
404 - <schema_name/>  
405 - </partitioning>  
406 - <field_to_use>sxx</field_to_use>  
407 - <target_field>sxx_desc</target_field>  
408 - <non_match_default/>  
409 - <fields>  
410 - <field>  
411 - <source_value>0</source_value>  
412 - <target_value>&#x4e0a;&#x884c;</target_value>  
413 - </field>  
414 - <field>  
415 - <source_value>1</source_value>  
416 - <target_value>&#x4e0b;&#x884c;</target_value>  
417 - </field>  
418 - </fields>  
419 - <cluster_schema/>  
420 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
421 - <xloc>147</xloc>  
422 - <yloc>403</yloc>  
423 - <draw>Y</draw>  
424 - </GUI>  
425 - </step>  
426 -  
427 - <step>  
428 - <name>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 2</name>  
429 - <type>ValueMapper</type>  
430 - <description/>  
431 - <distribute>Y</distribute>  
432 - <custom_distribution/>  
433 - <copies>1</copies>  
434 - <partitioning>  
435 - <method>none</method>  
436 - <schema_name/>  
437 - </partitioning>  
438 - <field_to_use>sxx</field_to_use>  
439 - <target_field>sxx_desc</target_field>  
440 - <non_match_default/>  
441 - <fields>  
442 - <field>  
443 - <source_value>0</source_value>  
444 - <target_value>&#x4e0a;&#x884c;</target_value>  
445 - </field>  
446 - <field>  
447 - <source_value>1</source_value>  
448 - <target_value>&#x4e0b;&#x884c;</target_value>  
449 - </field>  
450 - </fields>  
451 - <cluster_schema/>  
452 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
453 - <xloc>331</xloc>  
454 - <yloc>598</yloc>  
455 - <draw>Y</draw>  
456 - </GUI>  
457 - </step>  
458 -  
459 - <step>  
460 - <name>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 3</name>  
461 - <type>ValueMapper</type>  
462 - <description/>  
463 - <distribute>Y</distribute>  
464 - <custom_distribution/>  
465 - <copies>1</copies>  
466 - <partitioning>  
467 - <method>none</method>  
468 - <schema_name/>  
469 - </partitioning>  
470 - <field_to_use>sxx</field_to_use>  
471 - <target_field>sxx_desc</target_field>  
472 - <non_match_default/>  
473 - <fields>  
474 - <field>  
475 - <source_value>0</source_value>  
476 - <target_value>&#x4e0a;&#x884c;</target_value>  
477 - </field>  
478 - <field>  
479 - <source_value>1</source_value>  
480 - <target_value>&#x4e0b;&#x884c;</target_value>  
481 - </field>  
482 - </fields>  
483 - <cluster_schema/>  
484 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
485 - <xloc>553</xloc>  
486 - <yloc>859</yloc>  
487 - <draw>Y</draw>  
488 - </GUI>  
489 - </step>  
490 -  
491 - <step>  
492 - <name>&#x51fa;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x7ec8;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</name>  
493 - <type>ScriptValueMod</type>  
494 - <description/>  
495 - <distribute>Y</distribute>  
496 - <custom_distribution/>  
497 - <copies>1</copies>  
498 - <partitioning>  
499 - <method>none</method>  
500 - <schema_name/>  
501 - </partitioning>  
502 - <compatible>N</compatible>  
503 - <optimizationLevel>9</optimizationLevel>  
504 - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>  
505 - <jsScript_name>Script 1</jsScript_name>  
506 - <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f; &#x6dfb;&#x52a0;&#x7ad9;&#x70b9;&#x6807;&#x8bc6;&#xa;var cc_groups &#x3d; qdzgroups.split&#x28;&#x22;,&#x22;&#x29;&#x3b; &#x2f;&#x2f; &#x6240;&#x6709;&#x73ed;&#x6b21;&#x8d77;&#x70b9;&#x7ad9;&#x6570;&#x7ec4;&#xa;var zdzname &#x3d; cc_groups&#x5b;gno&#x5d;&#x3b; &#x2f;&#x2f; &#x51fa;&#x573a;&#x73ed;&#x6b21;&#x7684;&#x7ec8;&#x70b9;&#x7ad9;&#x662f;&#x4e0b;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x59cb;&#x7ad9;&#xa;var endZdtype &#x3d; &#x27;E&#x27;&#x3b;&#xa;&#xa;var destory &#x3d; 0&#x3b; &#x2f;&#x2f; &#x672a;&#x64a4;&#x9500;flag</jsScript_script>  
507 - </jsScript> </jsScripts> <fields> <field> <name>zdzname</name>  
508 - <rename>zdzname</rename>  
509 - <type>String</type>  
510 - <length>-1</length>  
511 - <precision>-1</precision>  
512 - <replace>N</replace>  
513 - </field> <field> <name>endZdtype</name>  
514 - <rename>endZdtype</rename>  
515 - <type>String</type>  
516 - <length>-1</length>  
517 - <precision>-1</precision>  
518 - <replace>N</replace>  
519 - </field> <field> <name>destory</name>  
520 - <rename>destory</rename>  
521 - <type>Integer</type>  
522 - <length>-1</length>  
523 - <precision>-1</precision>  
524 - <replace>N</replace>  
525 - </field> </fields> <cluster_schema/>  
526 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
527 - <xloc>575</xloc>  
528 - <yloc>502</yloc>  
529 - <draw>Y</draw>  
530 - </GUI>  
531 - </step>  
532 -  
533 - <step>  
534 - <name>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</name>  
535 - <type>Dummy</type>  
536 - <description/>  
537 - <distribute>Y</distribute>  
538 - <custom_distribution/>  
539 - <copies>1</copies>  
540 - <partitioning>  
541 - <method>none</method>  
542 - <schema_name/>  
543 - </partitioning>  
544 - <cluster_schema/>  
545 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
546 - <xloc>869</xloc>  
547 - <yloc>504</yloc>  
548 - <draw>Y</draw>  
549 - </GUI>  
550 - </step>  
551 -  
552 - <step>  
553 - <name>&#x5206;&#x7ec4;&#x5404;&#x4e2a;&#x8def;&#x724c;&#x7684;&#x7ad9;</name>  
554 - <type>GroupBy</type>  
555 - <description/>  
556 - <distribute>Y</distribute>  
557 - <custom_distribution/>  
558 - <copies>1</copies>  
559 - <partitioning>  
560 - <method>none</method>  
561 - <schema_name/>  
562 - </partitioning>  
563 - <all_rows>Y</all_rows>  
564 - <ignore_aggregate>N</ignore_aggregate>  
565 - <field_ignore/>  
566 - <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>  
567 - <prefix>grp</prefix>  
568 - <add_linenr>Y</add_linenr>  
569 - <linenr_fieldname>gno</linenr_fieldname>  
570 - <give_back_row>N</give_back_row>  
571 - <group>  
572 - <field>  
573 - <name>lp</name>  
574 - </field>  
575 - </group>  
576 - <fields>  
577 - <field>  
578 - <aggregate>qdzgroups</aggregate>  
579 - <subject>qdzname</subject>  
580 - <type>CONCAT_STRING</type>  
581 - <valuefield>,</valuefield>  
582 - </field>  
583 - </fields>  
584 - <cluster_schema/>  
585 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
586 - <xloc>892</xloc>  
587 - <yloc>44</yloc>  
588 - <draw>Y</draw>  
589 - </GUI>  
590 - </step>  
591 -  
592 - <step>  
593 - <name>&#x5339;&#x914d;&#x4e0a;&#x4e0b;&#x884c;&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>  
594 - <type>ScriptValueMod</type>  
595 - <description/>  
596 - <distribute>Y</distribute>  
597 - <custom_distribution/>  
598 - <copies>1</copies>  
599 - <partitioning>  
600 - <method>none</method>  
601 - <schema_name/>  
602 - </partitioning>  
603 - <compatible>N</compatible>  
604 - <optimizationLevel>9</optimizationLevel>  
605 - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>  
606 - <jsScript_name>Script 1</jsScript_name>  
607 - <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var jhlc&#x3b; &#x2f;&#x2f; &#x8ba1;&#x5212;&#x91cc;&#x7a0b;&#xa;var bcsj&#x3b; &#x2f;&#x2f; &#x73ed;&#x6b21;&#x65f6;&#x95f4;&#xa;&#xa;if &#x28;sxx &#x3d;&#x3d; 0&#x29; &#x7b; &#x2f;&#x2f; &#x4e0a;&#x884c;&#xa; jhlc &#x3d; up_mileage&#x3b;&#xa; bcsj &#x3d; up_travel_time&#x3b;&#xa;&#x7d; else &#x7b; &#x2f;&#x2f; sxx &#x3d;&#x3d; 1 &#x4e0b;&#x884c;&#xa; jhlc &#x3d; down_mileage&#x3b;&#xa; bcsj &#x3d; down_travel_time&#x3b;&#xa;&#x7d;</jsScript_script>  
608 - </jsScript> </jsScripts> <fields> <field> <name>jhlc</name>  
609 - <rename>jhlc</rename>  
610 - <type>String</type>  
611 - <length>-1</length>  
612 - <precision>-1</precision>  
613 - <replace>N</replace>  
614 - </field> <field> <name>bcsj</name>  
615 - <rename>bcsj</rename>  
616 - <type>String</type>  
617 - <length>-1</length>  
618 - <precision>-1</precision>  
619 - <replace>N</replace>  
620 - </field> </fields> <cluster_schema/>  
621 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
622 - <xloc>148</xloc>  
623 - <yloc>674</yloc>  
624 - <draw>Y</draw>  
625 - </GUI>  
626 - </step>  
627 -  
628 - <step>  
629 - <name>&#x5339;&#x914d;&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>  
630 - <type>ScriptValueMod</type>  
631 - <description/>  
632 - <distribute>Y</distribute>  
633 - <custom_distribution/>  
634 - <copies>1</copies>  
635 - <partitioning>  
636 - <method>none</method>  
637 - <schema_name/>  
638 - </partitioning>  
639 - <compatible>N</compatible>  
640 - <optimizationLevel>9</optimizationLevel>  
641 - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>  
642 - <jsScript_name>Script 1</jsScript_name>  
643 - <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var out_mileage&#x3b; &#x2f;&#x2f; &#x51fa;&#x573a;&#x8ba1;&#x5212;&#x91cc;&#x7a0b;&#xa;var out_time&#x3b; &#x2f;&#x2f; &#x51fa;&#x573a;&#x8ba1;&#x5212;&#x65f6;&#x95f4;&#xa;&#xa;if &#x28;sxx &#x3d;&#x3d; 0&#x29; &#x7b; &#x2f;&#x2f; &#x4e0a;&#x884c;&#xa; out_mileage &#x3d; up_out_mileage&#x3b;&#xa; out_time &#x3d; up_out_timer&#x3b;&#xa;&#x7d; else &#x7b; &#x2f;&#x2f; sxx &#x3d;&#x3d; 1 &#x4e0b;&#x884c;&#xa; out_mileage &#x3d; down_out_mileage&#x3b;&#xa; out_time &#x3d; down_out_timer&#x3b;&#xa;&#x7d;&#xa;&#xa;&#xa;&#xa;</jsScript_script>  
644 - </jsScript> </jsScripts> <fields> <field> <name>out_mileage</name>  
645 - <rename>out_mileage</rename>  
646 - <type>String</type>  
647 - <length>-1</length>  
648 - <precision>-1</precision>  
649 - <replace>N</replace>  
650 - </field> <field> <name>out_time</name>  
651 - <rename>out_time</rename>  
652 - <type>String</type>  
653 - <length>-1</length>  
654 - <precision>-1</precision>  
655 - <replace>N</replace>  
656 - </field> </fields> <cluster_schema/>  
657 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
658 - <xloc>336</xloc>  
659 - <yloc>862</yloc>  
660 - <draw>Y</draw>  
661 - </GUI>  
662 - </step>  
663 -  
664 - <step>  
665 - <name>&#x5339;&#x914d;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>  
666 - <type>ScriptValueMod</type>  
667 - <description/>  
668 - <distribute>Y</distribute>  
669 - <custom_distribution/>  
670 - <copies>1</copies>  
671 - <partitioning>  
672 - <method>none</method>  
673 - <schema_name/>  
674 - </partitioning>  
675 - <compatible>N</compatible>  
676 - <optimizationLevel>9</optimizationLevel>  
677 - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>  
678 - <jsScript_name>Script 1</jsScript_name>  
679 - <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var parade_mileage&#x3b; &#x2f;&#x2f; &#x8fdb;&#x573a;&#x8ba1;&#x5212;&#x91cc;&#x7a0b;&#xa;var parade_time&#x3b; &#x2f;&#x2f; &#x8fdb;&#x573a;&#x8ba1;&#x5212;&#x65f6;&#x95f4;&#xa;&#xa;if &#x28;sxx2 &#x3d;&#x3d; 0&#x29; &#x7b; &#x2f;&#x2f; &#x4e0a;&#x884c;&#xa; parade_mileage &#x3d; up_in_mileage&#x3b;&#xa; parade_time &#x3d; up_in_timer&#x3b;&#xa;&#x7d; else &#x7b; &#x2f;&#x2f; sxx &#x3d;&#x3d; 1 &#x4e0b;&#x884c;&#xa; parade_mileage &#x3d; down_in_mileage&#x3b;&#xa; parade_time &#x3d; down_in_timer&#x3b;&#xa;&#x7d;&#xa;&#xa;&#xa;&#xa;</jsScript_script>  
680 - </jsScript> </jsScripts> <fields> <field> <name>parade_mileage</name>  
681 - <rename>parade_mileage</rename>  
682 - <type>String</type>  
683 - <length>-1</length>  
684 - <precision>-1</precision>  
685 - <replace>N</replace>  
686 - </field> <field> <name>parade_time</name>  
687 - <rename>parade_time</rename>  
688 - <type>String</type>  
689 - <length>-1</length>  
690 - <precision>-1</precision>  
691 - <replace>N</replace>  
692 - </field> </fields> <cluster_schema/>  
693 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
694 - <xloc>726</xloc>  
695 - <yloc>1005</yloc>  
696 - <draw>Y</draw>  
697 - </GUI>  
698 - </step>  
699 -  
700 - <step>  
701 - <name>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;&#xff0c;&#x7ebf;&#x8def;&#x540d;&#x5b57;&#xff0c;&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</name>  
702 - <type>DataGrid</type>  
703 - <description/>  
704 - <distribute>Y</distribute>  
705 - <custom_distribution/>  
706 - <copies>1</copies>  
707 - <partitioning>  
708 - <method>none</method>  
709 - <schema_name/>  
710 - </partitioning>  
711 - <fields>  
712 - </fields>  
713 - <data>  
714 - <line> </line>  
715 - </data>  
716 - <cluster_schema/>  
717 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
718 - <xloc>110</xloc>  
719 - <yloc>133</yloc>  
720 - <draw>Y</draw>  
721 - </GUI>  
722 - </step>  
723 -  
724 - <step>  
725 - <name>&#x5904;&#x7406;&#x6570;&#x636e;</name>  
726 - <type>ScriptValueMod</type>  
727 - <description/>  
728 - <distribute>Y</distribute>  
729 - <custom_distribution/>  
730 - <copies>1</copies>  
731 - <partitioning>  
732 - <method>none</method>  
733 - <schema_name/>  
734 - </partitioning>  
735 - <compatible>N</compatible>  
736 - <optimizationLevel>9</optimizationLevel>  
737 - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>  
738 - <jsScript_name>Script 1</jsScript_name>  
739 - <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f; &#x4f7f;&#x7528;&#x6b63;&#x5219;&#x8868;&#x8fbe;&#x5f0f;&#x53bb;&#x9664;&#x7ad9;&#x70b9;&#x540d;&#x79f0;&#x4e2d;&#x7684;&#x6570;&#x5b57;&#xa;qdzname &#x3d; qdzname.replace&#x28;&#x2f;&#x5c;d&#x2b;&#x2f;g,&#x27;&#x27;&#x29;&#x3b;&#xa;&#xa;&#x2f;&#x2f; sendtime&#x5904;&#x7406;&#xa;var sendtime_calcu&#x3b;&#xa;if &#x28;sendtime.length &#x21;&#x3d; 5&#x29; &#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 2&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;2, 2&#x29;&#x3b;&#xa;else &#xa; sendtime_calcu &#x3d; sendtime&#x3b;&#xa;&#xa;&#x2f;&#x2f; &#x8bbe;&#x7f6e;&#x5206;&#x73ed;&#xa;var isfb &#x3d; 0&#x3b;&#xa;&#xa;&#x2f;&#x2f; &#x8bbe;&#x7f6e;isCanceled&#xa;var iscanceled &#x3d; 0&#x3b;</jsScript_script>  
740 - </jsScript> </jsScripts> <fields> <field> <name>qdzname</name>  
741 - <rename>qdzname</rename>  
742 - <type>String</type>  
743 - <length>-1</length>  
744 - <precision>-1</precision>  
745 - <replace>Y</replace>  
746 - </field> <field> <name>isfb</name>  
747 - <rename>isfb</rename>  
748 - <type>Integer</type>  
749 - <length>-1</length>  
750 - <precision>-1</precision>  
751 - <replace>N</replace>  
752 - </field> <field> <name>iscanceled</name>  
753 - <rename>iscanceled</rename>  
754 - <type>Integer</type>  
755 - <length>-1</length>  
756 - <precision>-1</precision>  
757 - <replace>N</replace>  
758 - </field> <field> <name>sendtime_calcu</name>  
759 - <rename>sendtime_calcu</rename>  
760 - <type>String</type>  
761 - <length>-1</length>  
762 - <precision>-1</precision>  
763 - <replace>N</replace>  
764 - </field> </fields> <cluster_schema/>  
765 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
766 - <xloc>788</xloc>  
767 - <yloc>44</yloc>  
768 - <draw>Y</draw>  
769 - </GUI>  
770 - </step>  
771 -  
772 - <step>  
773 - <name>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</name>  
774 - <type>SelectValues</type>  
775 - <description/>  
776 - <distribute>Y</distribute>  
777 - <custom_distribution/>  
778 - <copies>1</copies>  
779 - <partitioning>  
780 - <method>none</method>  
781 - <schema_name/>  
782 - </partitioning>  
783 - <fields> <field> <name>&#x8def;&#x724c;</name>  
784 - <rename>lp</rename>  
785 - <length>-2</length>  
786 - <precision>-2</precision>  
787 - </field> <field> <name>&#x7ad9;&#x70b9;&#x540d;&#x79f0;</name>  
788 - <rename>qdzname</rename>  
789 - <length>-2</length>  
790 - <precision>-2</precision>  
791 - </field> <field> <name>&#x53d1;&#x8f66;&#x65f6;&#x95f4;</name>  
792 - <rename>sendtime</rename>  
793 - <length>-2</length>  
794 - <precision>-2</precision>  
795 - </field> <select_unspecified>Y</select_unspecified>  
796 - </fields> <cluster_schema/>  
797 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
798 - <xloc>444</xloc>  
799 - <yloc>131</yloc>  
800 - <draw>Y</draw>  
801 - </GUI>  
802 - </step>  
803 -  
804 - <step>  
805 - <name>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;1</name>  
806 - <type>FilterRows</type>  
807 - <description/>  
808 - <distribute>Y</distribute>  
809 - <custom_distribution/>  
810 - <copies>1</copies>  
811 - <partitioning>  
812 - <method>none</method>  
813 - <schema_name/>  
814 - </partitioning>  
815 -<send_true_to>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x6570;&#x636e;</send_true_to>  
816 -<send_false_to>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</send_false_to>  
817 - <compare>  
818 -<condition>  
819 - <negated>N</negated>  
820 - <leftvalue>bctype</leftvalue>  
821 - <function>&#x3d;</function>  
822 - <rightvalue/>  
823 - <value><name>constant</name><type>String</type><text>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</text><length>-1</length><precision>-1</precision><isnull>N</isnull><mask/></value> </condition>  
824 - </compare>  
825 - <cluster_schema/>  
826 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
827 - <xloc>860</xloc>  
828 - <yloc>401</yloc>  
829 - <draw>Y</draw>  
830 - </GUI>  
831 - </step>  
832 -  
833 - <step>  
834 - <name>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</name>  
835 - <type>FilterRows</type>  
836 - <description/>  
837 - <distribute>Y</distribute>  
838 - <custom_distribution/>  
839 - <copies>1</copies>  
840 - <partitioning>  
841 - <method>none</method>  
842 - <schema_name/>  
843 - </partitioning>  
844 -<send_true_to>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</send_true_to>  
845 -<send_false_to>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</send_false_to>  
846 - <compare>  
847 -<condition>  
848 - <negated>N</negated>  
849 - <leftvalue>bctype</leftvalue>  
850 - <function>&#x3d;</function>  
851 - <rightvalue/>  
852 - <value><name>constant</name><type>String</type><text>&#x51fa;&#x573a;</text><length>-1</length><precision>-1</precision><isnull>N</isnull><mask/></value> </condition>  
853 - </compare>  
854 - <cluster_schema/>  
855 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
856 - <xloc>995</xloc>  
857 - <yloc>503</yloc>  
858 - <draw>Y</draw>  
859 - </GUI>  
860 - </step>  
861 -  
862 - <step>  
863 - <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail</name>  
864 - <type>InsertUpdate</type>  
865 - <description/>  
866 - <distribute>Y</distribute>  
867 - <custom_distribution/>  
868 - <copies>1</copies>  
869 - <partitioning>  
870 - <method>none</method>  
871 - <schema_name/>  
872 - </partitioning>  
873 - <connection>bus_control_variable</connection>  
874 - <commit>100</commit>  
875 - <update_bypassed>N</update_bypassed>  
876 - <lookup>  
877 - <schema/>  
878 - <table>bsth_c_s_ttinfo_detail</table>  
879 - <key>  
880 - <name>xlid</name>  
881 - <field>xl</field>  
882 - <condition>&#x3d;</condition>  
883 - <name2/>  
884 - </key>  
885 - <key>  
886 - <name>ttid</name>  
887 - <field>ttinfo</field>  
888 - <condition>&#x3d;</condition>  
889 - <name2/>  
890 - </key>  
891 - <key>  
892 - <name>lpid</name>  
893 - <field>lp</field>  
894 - <condition>&#x3d;</condition>  
895 - <name2/>  
896 - </key>  
897 - <key>  
898 - <name>fcno</name>  
899 - <field>fcno</field>  
900 - <condition>&#x3d;</condition>  
901 - <name2/>  
902 - </key>  
903 - <key>  
904 - <name>bcs</name>  
905 - <field>bcs</field>  
906 - <condition>&#x3d;</condition>  
907 - <name2/>  
908 - </key>  
909 - <value>  
910 - <name>lp</name>  
911 - <rename>lpid</rename>  
912 - <update>Y</update>  
913 - </value>  
914 - <value>  
915 - <name>bc_type</name>  
916 - <rename>bctype_code</rename>  
917 - <update>Y</update>  
918 - </value>  
919 - <value>  
920 - <name>bcs</name>  
921 - <rename>bcs</rename>  
922 - <update>Y</update>  
923 - </value>  
924 - <value>  
925 - <name>bcsj</name>  
926 - <rename>bcsj</rename>  
927 - <update>Y</update>  
928 - </value>  
929 - <value>  
930 - <name>fcno</name>  
931 - <rename>fcno</rename>  
932 - <update>Y</update>  
933 - </value>  
934 - <value>  
935 - <name>jhlc</name>  
936 - <rename>jhlc</rename>  
937 - <update>Y</update>  
938 - </value>  
939 - <value>  
940 - <name>fcsj</name>  
941 - <rename>sendtime_calcu</rename>  
942 - <update>Y</update>  
943 - </value>  
944 - <value>  
945 - <name>ttinfo</name>  
946 - <rename>ttid</rename>  
947 - <update>Y</update>  
948 - </value>  
949 - <value>  
950 - <name>xl</name>  
951 - <rename>xlid</rename>  
952 - <update>Y</update>  
953 - </value>  
954 - <value>  
955 - <name>qdz</name>  
956 - <rename>qdzid</rename>  
957 - <update>Y</update>  
958 - </value>  
959 - <value>  
960 - <name>zdz</name>  
961 - <rename>zdzid</rename>  
962 - <update>Y</update>  
963 - </value>  
964 - <value>  
965 - <name>xl_dir</name>  
966 - <rename>sxx</rename>  
967 - <update>Y</update>  
968 - </value>  
969 - <value>  
970 - <name>isfb</name>  
971 - <rename>isfb</rename>  
972 - <update>Y</update>  
973 - </value>  
974 - </lookup>  
975 - <cluster_schema/>  
976 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
977 - <xloc>143</xloc>  
978 - <yloc>860</yloc>  
979 - <draw>Y</draw>  
980 - </GUI>  
981 - </step>  
982 -  
983 - <step>  
984 - <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail 2</name>  
985 - <type>InsertUpdate</type>  
986 - <description/>  
987 - <distribute>Y</distribute>  
988 - <custom_distribution/>  
989 - <copies>1</copies>  
990 - <partitioning>  
991 - <method>none</method>  
992 - <schema_name/>  
993 - </partitioning>  
994 - <connection>bus_control_variable</connection>  
995 - <commit>100</commit>  
996 - <update_bypassed>N</update_bypassed>  
997 - <lookup>  
998 - <schema/>  
999 - <table>bsth_c_s_ttinfo_detail</table>  
1000 - <key>  
1001 - <name>xlid</name>  
1002 - <field>xl</field>  
1003 - <condition>&#x3d;</condition>  
1004 - <name2/>  
1005 - </key>  
1006 - <key>  
1007 - <name>ttid</name>  
1008 - <field>ttinfo</field>  
1009 - <condition>&#x3d;</condition>  
1010 - <name2/>  
1011 - </key>  
1012 - <key>  
1013 - <name>lpid</name>  
1014 - <field>lp</field>  
1015 - <condition>&#x3d;</condition>  
1016 - <name2/>  
1017 - </key>  
1018 - <key>  
1019 - <name>fcno</name>  
1020 - <field>fcno</field>  
1021 - <condition>&#x3d;</condition>  
1022 - <name2/>  
1023 - </key>  
1024 - <key>  
1025 - <name>bcs</name>  
1026 - <field>bcs</field>  
1027 - <condition>&#x3d;</condition>  
1028 - <name2/>  
1029 - </key>  
1030 - <value>  
1031 - <name>tcc</name>  
1032 - <rename>qdzid</rename>  
1033 - <update>Y</update>  
1034 - </value>  
1035 - <value>  
1036 - <name>zdz</name>  
1037 - <rename>zdzid</rename>  
1038 - <update>Y</update>  
1039 - </value>  
1040 - <value>  
1041 - <name>xl</name>  
1042 - <rename>xlid</rename>  
1043 - <update>Y</update>  
1044 - </value>  
1045 - <value>  
1046 - <name>ttinfo</name>  
1047 - <rename>ttid</rename>  
1048 - <update>Y</update>  
1049 - </value>  
1050 - <value>  
1051 - <name>xl_dir</name>  
1052 - <rename>sxx</rename>  
1053 - <update>Y</update>  
1054 - </value>  
1055 - <value>  
1056 - <name>lp</name>  
1057 - <rename>lpid</rename>  
1058 - <update>Y</update>  
1059 - </value>  
1060 - <value>  
1061 - <name>jhlc</name>  
1062 - <rename>out_mileage</rename>  
1063 - <update>Y</update>  
1064 - </value>  
1065 - <value>  
1066 - <name>fcsj</name>  
1067 - <rename>sendtime_calcu</rename>  
1068 - <update>Y</update>  
1069 - </value>  
1070 - <value>  
1071 - <name>bcsj</name>  
1072 - <rename>out_time</rename>  
1073 - <update>Y</update>  
1074 - </value>  
1075 - <value>  
1076 - <name>bcs</name>  
1077 - <rename>bcs</rename>  
1078 - <update>Y</update>  
1079 - </value>  
1080 - <value>  
1081 - <name>fcno</name>  
1082 - <rename>fcno</rename>  
1083 - <update>Y</update>  
1084 - </value>  
1085 - <value>  
1086 - <name>bc_type</name>  
1087 - <rename>bctype_code</rename>  
1088 - <update>Y</update>  
1089 - </value>  
1090 - <value>  
1091 - <name>isfb</name>  
1092 - <rename>isfb</rename>  
1093 - <update>Y</update>  
1094 - </value>  
1095 - </lookup>  
1096 - <cluster_schema/>  
1097 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1098 - <xloc>340</xloc>  
1099 - <yloc>1087</yloc>  
1100 - <draw>Y</draw>  
1101 - </GUI>  
1102 - </step>  
1103 -  
1104 - <step>  
1105 - <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail 3</name>  
1106 - <type>InsertUpdate</type>  
1107 - <description/>  
1108 - <distribute>Y</distribute>  
1109 - <custom_distribution/>  
1110 - <copies>1</copies>  
1111 - <partitioning>  
1112 - <method>none</method>  
1113 - <schema_name/>  
1114 - </partitioning>  
1115 - <connection>bus_control_variable</connection>  
1116 - <commit>100</commit>  
1117 - <update_bypassed>N</update_bypassed>  
1118 - <lookup>  
1119 - <schema/>  
1120 - <table>bsth_c_s_ttinfo_detail</table>  
1121 - <key>  
1122 - <name>xlid</name>  
1123 - <field>xl</field>  
1124 - <condition>&#x3d;</condition>  
1125 - <name2/>  
1126 - </key>  
1127 - <key>  
1128 - <name>ttid</name>  
1129 - <field>ttinfo</field>  
1130 - <condition>&#x3d;</condition>  
1131 - <name2/>  
1132 - </key>  
1133 - <key>  
1134 - <name>lpid</name>  
1135 - <field>lp</field>  
1136 - <condition>&#x3d;</condition>  
1137 - <name2/>  
1138 - </key>  
1139 - <key>  
1140 - <name>fcno</name>  
1141 - <field>fcno</field>  
1142 - <condition>&#x3d;</condition>  
1143 - <name2/>  
1144 - </key>  
1145 - <key>  
1146 - <name>bcs</name>  
1147 - <field>bcs</field>  
1148 - <condition>&#x3d;</condition>  
1149 - <name2/>  
1150 - </key>  
1151 - <value>  
1152 - <name>fcno</name>  
1153 - <rename>fcno</rename>  
1154 - <update>Y</update>  
1155 - </value>  
1156 - <value>  
1157 - <name>bcs</name>  
1158 - <rename>bcs</rename>  
1159 - <update>Y</update>  
1160 - </value>  
1161 - <value>  
1162 - <name>xl</name>  
1163 - <rename>xlid</rename>  
1164 - <update>Y</update>  
1165 - </value>  
1166 - <value>  
1167 - <name>ttinfo</name>  
1168 - <rename>ttid</rename>  
1169 - <update>Y</update>  
1170 - </value>  
1171 - <value>  
1172 - <name>lp</name>  
1173 - <rename>lpid</rename>  
1174 - <update>Y</update>  
1175 - </value>  
1176 - <value>  
1177 - <name>bc_type</name>  
1178 - <rename>bctype_code</rename>  
1179 - <update>Y</update>  
1180 - </value>  
1181 - <value>  
1182 - <name>bcsj</name>  
1183 - <rename>parade_time</rename>  
1184 - <update>Y</update>  
1185 - </value>  
1186 - <value>  
1187 - <name>jhlc</name>  
1188 - <rename>parade_mileage</rename>  
1189 - <update>Y</update>  
1190 - </value>  
1191 - <value>  
1192 - <name>fcsj</name>  
1193 - <rename>sendtime_calcu</rename>  
1194 - <update>Y</update>  
1195 - </value>  
1196 - <value>  
1197 - <name>xl_dir</name>  
1198 - <rename>sxx2</rename>  
1199 - <update>Y</update>  
1200 - </value>  
1201 - <value>  
1202 - <name>qdz</name>  
1203 - <rename>qdzid</rename>  
1204 - <update>Y</update>  
1205 - </value>  
1206 - <value>  
1207 - <name>tcc</name>  
1208 - <rename>zdzid</rename>  
1209 - <update>Y</update>  
1210 - </value>  
1211 - <value>  
1212 - <name>isfb</name>  
1213 - <rename>isfb</rename>  
1214 - <update>Y</update>  
1215 - </value>  
1216 - </lookup>  
1217 - <cluster_schema/>  
1218 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1219 - <xloc>845</xloc>  
1220 - <yloc>899</yloc>  
1221 - <draw>Y</draw>  
1222 - </GUI>  
1223 - </step>  
1224 -  
1225 - <step>  
1226 - <name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</name>  
1227 - <type>ExcelInput</type>  
1228 - <description/>  
1229 - <distribute>N</distribute>  
1230 - <custom_distribution/>  
1231 - <copies>1</copies>  
1232 - <partitioning>  
1233 - <method>none</method>  
1234 - <schema_name/>  
1235 - </partitioning>  
1236 - <header>Y</header>  
1237 - <noempty>Y</noempty>  
1238 - <stoponempty>N</stoponempty>  
1239 - <filefield/>  
1240 - <sheetfield/>  
1241 - <sheetrownumfield/>  
1242 - <rownumfield/>  
1243 - <sheetfield/>  
1244 - <filefield/>  
1245 - <limit>0</limit>  
1246 - <encoding/>  
1247 - <add_to_result_filenames>Y</add_to_result_filenames>  
1248 - <accept_filenames>N</accept_filenames>  
1249 - <accept_field/>  
1250 - <accept_stepname/>  
1251 - <file>  
1252 - <name/>  
1253 - <filemask/>  
1254 - <exclude_filemask/>  
1255 - <file_required>N</file_required>  
1256 - <include_subfolders>N</include_subfolders>  
1257 - </file>  
1258 - <fields>  
1259 - </fields>  
1260 - <sheets>  
1261 - <sheet>  
1262 - <name/>  
1263 - <startrow>0</startrow>  
1264 - <startcol>0</startcol>  
1265 - </sheet>  
1266 - </sheets>  
1267 - <strict_types>N</strict_types>  
1268 - <error_ignored>N</error_ignored>  
1269 - <error_line_skipped>N</error_line_skipped>  
1270 - <bad_line_files_destination_directory/>  
1271 - <bad_line_files_extension>warning</bad_line_files_extension>  
1272 - <error_line_files_destination_directory/>  
1273 - <error_line_files_extension>error</error_line_files_extension>  
1274 - <line_number_files_destination_directory/>  
1275 - <line_number_files_extension>line</line_number_files_extension>  
1276 - <shortFileFieldName/>  
1277 - <pathFieldName/>  
1278 - <hiddenFieldName/>  
1279 - <lastModificationTimeFieldName/>  
1280 - <uriNameFieldName/>  
1281 - <rootUriNameFieldName/>  
1282 - <extensionFieldName/>  
1283 - <sizeFieldName/>  
1284 - <spreadsheet_type>JXL</spreadsheet_type>  
1285 - <cluster_schema/>  
1286 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1287 - <xloc>112</xloc>  
1288 - <yloc>44</yloc>  
1289 - <draw>Y</draw>  
1290 - </GUI>  
1291 - </step>  
1292 -  
1293 - <step>  
1294 - <name>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;1</name>  
1295 - <type>DBLookup</type>  
1296 - <description/>  
1297 - <distribute>Y</distribute>  
1298 - <custom_distribution/>  
1299 - <copies>1</copies>  
1300 - <partitioning>  
1301 - <method>none</method>  
1302 - <schema_name/>  
1303 - </partitioning>  
1304 - <connection>bus_control_variable</connection>  
1305 - <cache>N</cache>  
1306 - <cache_load_all>N</cache_load_all>  
1307 - <cache_size>0</cache_size>  
1308 - <lookup>  
1309 - <schema/>  
1310 - <table>bsth_c_car_park</table>  
1311 - <orderby/>  
1312 - <fail_on_multiple>N</fail_on_multiple>  
1313 - <eat_row_on_failure>N</eat_row_on_failure>  
1314 - <key>  
1315 - <name>tccname_</name>  
1316 - <field>park_name</field>  
1317 - <condition>&#x3d;</condition>  
1318 - <name2/>  
1319 - </key>  
1320 - <value>  
1321 - <name>id</name>  
1322 - <rename>qdzid</rename>  
1323 - <default/>  
1324 - <type>Integer</type>  
1325 - </value>  
1326 - </lookup>  
1327 - <cluster_schema/>  
1328 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1329 - <xloc>755</xloc>  
1330 - <yloc>504</yloc>  
1331 - <draw>Y</draw>  
1332 - </GUI>  
1333 - </step>  
1334 -  
1335 - <step>  
1336 - <name>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;2</name>  
1337 - <type>DBLookup</type>  
1338 - <description/>  
1339 - <distribute>Y</distribute>  
1340 - <custom_distribution/>  
1341 - <copies>1</copies>  
1342 - <partitioning>  
1343 - <method>none</method>  
1344 - <schema_name/>  
1345 - </partitioning>  
1346 - <connection>bus_control_variable</connection>  
1347 - <cache>N</cache>  
1348 - <cache_load_all>N</cache_load_all>  
1349 - <cache_size>0</cache_size>  
1350 - <lookup>  
1351 - <schema/>  
1352 - <table>bsth_c_car_park</table>  
1353 - <orderby/>  
1354 - <fail_on_multiple>N</fail_on_multiple>  
1355 - <eat_row_on_failure>N</eat_row_on_failure>  
1356 - <key>  
1357 - <name>tccname_</name>  
1358 - <field>park_name</field>  
1359 - <condition>&#x3d;</condition>  
1360 - <name2/>  
1361 - </key>  
1362 - <value>  
1363 - <name>id</name>  
1364 - <rename>zdzid</rename>  
1365 - <default/>  
1366 - <type>Integer</type>  
1367 - </value>  
1368 - </lookup>  
1369 - <cluster_schema/>  
1370 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1371 - <xloc>887</xloc>  
1372 - <yloc>608</yloc>  
1373 - <draw>Y</draw>  
1374 - </GUI>  
1375 - </step>  
1376 -  
1377 - <step>  
1378 - <name>&#x67e5;&#x627e;&#x51fa;&#x573a;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</name>  
1379 - <type>DBLookup</type>  
1380 - <description/>  
1381 - <distribute>Y</distribute>  
1382 - <custom_distribution/>  
1383 - <copies>1</copies>  
1384 - <partitioning>  
1385 - <method>none</method>  
1386 - <schema_name/>  
1387 - </partitioning>  
1388 - <connection>bus_control_variable</connection>  
1389 - <cache>N</cache>  
1390 - <cache_load_all>N</cache_load_all>  
1391 - <cache_size>0</cache_size>  
1392 - <lookup>  
1393 - <schema/>  
1394 - <table>bsth_c_stationroute</table>  
1395 - <orderby/>  
1396 - <fail_on_multiple>N</fail_on_multiple>  
1397 - <eat_row_on_failure>N</eat_row_on_failure>  
1398 - <key>  
1399 - <name>xlid</name>  
1400 - <field>line</field>  
1401 - <condition>&#x3d;</condition>  
1402 - <name2/>  
1403 - </key>  
1404 - <key>  
1405 - <name>zdzname</name>  
1406 - <field>station_name</field>  
1407 - <condition>&#x3d;</condition>  
1408 - <name2/>  
1409 - </key>  
1410 - <key>  
1411 - <name>endZdtype</name>  
1412 - <field>station_mark</field>  
1413 - <condition>&#x3d;</condition>  
1414 - <name2/>  
1415 - </key>  
1416 - <key>  
1417 - <name>destory</name>  
1418 - <field>destroy</field>  
1419 - <condition>&#x3d;</condition>  
1420 - <name2/>  
1421 - </key>  
1422 - <value>  
1423 - <name>station</name>  
1424 - <rename>zdzid</rename>  
1425 - <default/>  
1426 - <type>Integer</type>  
1427 - </value>  
1428 - <value>  
1429 - <name>directions</name>  
1430 - <rename>sxx</rename>  
1431 - <default/>  
1432 - <type>Integer</type>  
1433 - </value>  
1434 - </lookup>  
1435 - <cluster_schema/>  
1436 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1437 - <xloc>329</xloc>  
1438 - <yloc>505</yloc>  
1439 - <draw>Y</draw>  
1440 - </GUI>  
1441 - </step>  
1442 -  
1443 - <step>  
1444 - <name>&#x67e5;&#x627e;&#x65f6;&#x523b;&#x8868;&#x57fa;&#x7840;&#x4fe1;&#x606f;&#x5173;&#x8054;</name>  
1445 - <type>DBLookup</type>  
1446 - <description/>  
1447 - <distribute>Y</distribute>  
1448 - <custom_distribution/>  
1449 - <copies>1</copies>  
1450 - <partitioning>  
1451 - <method>none</method>  
1452 - <schema_name/>  
1453 - </partitioning>  
1454 - <connection>bus_control_variable</connection>  
1455 - <cache>N</cache>  
1456 - <cache_load_all>N</cache_load_all>  
1457 - <cache_size>0</cache_size>  
1458 - <lookup>  
1459 - <schema/>  
1460 - <table>bsth_c_s_ttinfo</table>  
1461 - <orderby/>  
1462 - <fail_on_multiple>N</fail_on_multiple>  
1463 - <eat_row_on_failure>N</eat_row_on_failure>  
1464 - <key>  
1465 - <name>xlid</name>  
1466 - <field>xl</field>  
1467 - <condition>&#x3d;</condition>  
1468 - <name2/>  
1469 - </key>  
1470 - <key>  
1471 - <name>ttinfoname_</name>  
1472 - <field>name</field>  
1473 - <condition>&#x3d;</condition>  
1474 - <name2/>  
1475 - </key>  
1476 - <key>  
1477 - <name>iscanceled</name>  
1478 - <field>is_cancel</field>  
1479 - <condition>&#x3d;</condition>  
1480 - <name2/>  
1481 - </key>  
1482 - <value>  
1483 - <name>id</name>  
1484 - <rename>ttid</rename>  
1485 - <default/>  
1486 - <type>Integer</type>  
1487 - </value>  
1488 - </lookup>  
1489 - <cluster_schema/>  
1490 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1491 - <xloc>1011</xloc>  
1492 - <yloc>134</yloc>  
1493 - <draw>Y</draw>  
1494 - </GUI>  
1495 - </step>  
1496 -  
1497 - <step>  
1498 - <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x4e0a;&#x4e0b;&#x884c;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>  
1499 - <type>DBLookup</type>  
1500 - <description/>  
1501 - <distribute>Y</distribute>  
1502 - <custom_distribution/>  
1503 - <copies>1</copies>  
1504 - <partitioning>  
1505 - <method>none</method>  
1506 - <schema_name/>  
1507 - </partitioning>  
1508 - <connection>bus_control_variable</connection>  
1509 - <cache>N</cache>  
1510 - <cache_load_all>N</cache_load_all>  
1511 - <cache_size>0</cache_size>  
1512 - <lookup>  
1513 - <schema/>  
1514 - <table>bsth_c_line_information</table>  
1515 - <orderby/>  
1516 - <fail_on_multiple>N</fail_on_multiple>  
1517 - <eat_row_on_failure>N</eat_row_on_failure>  
1518 - <key>  
1519 - <name>xlid</name>  
1520 - <field>line</field>  
1521 - <condition>&#x3d;</condition>  
1522 - <name2/>  
1523 - </key>  
1524 - <value>  
1525 - <name>up_mileage</name>  
1526 - <rename>up_mileage</rename>  
1527 - <default/>  
1528 - <type>Number</type>  
1529 - </value>  
1530 - <value>  
1531 - <name>down_mileage</name>  
1532 - <rename>down_mileage</rename>  
1533 - <default/>  
1534 - <type>Number</type>  
1535 - </value>  
1536 - <value>  
1537 - <name>up_travel_time</name>  
1538 - <rename>up_travel_time</rename>  
1539 - <default/>  
1540 - <type>Number</type>  
1541 - </value>  
1542 - <value>  
1543 - <name>down_travel_time</name>  
1544 - <rename>down_travel_time</rename>  
1545 - <default/>  
1546 - <type>Number</type>  
1547 - </value>  
1548 - </lookup>  
1549 - <cluster_schema/>  
1550 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1551 - <xloc>149</xloc>  
1552 - <yloc>581</yloc>  
1553 - <draw>Y</draw>  
1554 - </GUI>  
1555 - </step>  
1556 -  
1557 - <step>  
1558 - <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x5173;&#x8054;</name>  
1559 - <type>DBLookup</type>  
1560 - <description/>  
1561 - <distribute>Y</distribute>  
1562 - <custom_distribution/>  
1563 - <copies>1</copies>  
1564 - <partitioning>  
1565 - <method>none</method>  
1566 - <schema_name/>  
1567 - </partitioning>  
1568 - <connection>bus_control_variable</connection>  
1569 - <cache>N</cache>  
1570 - <cache_load_all>N</cache_load_all>  
1571 - <cache_size>0</cache_size>  
1572 - <lookup>  
1573 - <schema/>  
1574 - <table>bsth_c_line</table>  
1575 - <orderby/>  
1576 - <fail_on_multiple>N</fail_on_multiple>  
1577 - <eat_row_on_failure>N</eat_row_on_failure>  
1578 - <key>  
1579 - <name>xlname_</name>  
1580 - <field>name</field>  
1581 - <condition>&#x3d;</condition>  
1582 - <name2/>  
1583 - </key>  
1584 - <value>  
1585 - <name>id</name>  
1586 - <rename>xlid</rename>  
1587 - <default/>  
1588 - <type>Integer</type>  
1589 - </value>  
1590 - </lookup>  
1591 - <cluster_schema/>  
1592 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1593 - <xloc>1007</xloc>  
1594 - <yloc>43</yloc>  
1595 - <draw>Y</draw>  
1596 - </GUI>  
1597 - </step>  
1598 -  
1599 - <step>  
1600 - <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x51fa;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>  
1601 - <type>DBLookup</type>  
1602 - <description/>  
1603 - <distribute>Y</distribute>  
1604 - <custom_distribution/>  
1605 - <copies>1</copies>  
1606 - <partitioning>  
1607 - <method>none</method>  
1608 - <schema_name/>  
1609 - </partitioning>  
1610 - <connection>bus_control_variable</connection>  
1611 - <cache>N</cache>  
1612 - <cache_load_all>N</cache_load_all>  
1613 - <cache_size>0</cache_size>  
1614 - <lookup>  
1615 - <schema/>  
1616 - <table>bsth_c_line_information</table>  
1617 - <orderby/>  
1618 - <fail_on_multiple>N</fail_on_multiple>  
1619 - <eat_row_on_failure>N</eat_row_on_failure>  
1620 - <key>  
1621 - <name>xlid</name>  
1622 - <field>line</field>  
1623 - <condition>&#x3d;</condition>  
1624 - <name2/>  
1625 - </key>  
1626 - <value>  
1627 - <name>up_out_timer</name>  
1628 - <rename>up_out_timer</rename>  
1629 - <default/>  
1630 - <type>Number</type>  
1631 - </value>  
1632 - <value>  
1633 - <name>up_out_mileage</name>  
1634 - <rename>up_out_mileage</rename>  
1635 - <default/>  
1636 - <type>Number</type>  
1637 - </value>  
1638 - <value>  
1639 - <name>down_out_timer</name>  
1640 - <rename>down_out_timer</rename>  
1641 - <default/>  
1642 - <type>Number</type>  
1643 - </value>  
1644 - <value>  
1645 - <name>down_out_mileage</name>  
1646 - <rename>down_out_mileage</rename>  
1647 - <default/>  
1648 - <type>Number</type>  
1649 - </value>  
1650 - </lookup>  
1651 - <cluster_schema/>  
1652 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1653 - <xloc>335</xloc>  
1654 - <yloc>763</yloc>  
1655 - <draw>Y</draw>  
1656 - </GUI>  
1657 - </step>  
1658 -  
1659 - <step>  
1660 - <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x8fdb;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>  
1661 - <type>DBLookup</type>  
1662 - <description/>  
1663 - <distribute>Y</distribute>  
1664 - <custom_distribution/>  
1665 - <copies>1</copies>  
1666 - <partitioning>  
1667 - <method>none</method>  
1668 - <schema_name/>  
1669 - </partitioning>  
1670 - <connection>bus_control_variable</connection>  
1671 - <cache>N</cache>  
1672 - <cache_load_all>N</cache_load_all>  
1673 - <cache_size>0</cache_size>  
1674 - <lookup>  
1675 - <schema/>  
1676 - <table>bsth_c_line_information</table>  
1677 - <orderby/>  
1678 - <fail_on_multiple>N</fail_on_multiple>  
1679 - <eat_row_on_failure>N</eat_row_on_failure>  
1680 - <key>  
1681 - <name>xlid</name>  
1682 - <field>line</field>  
1683 - <condition>&#x3d;</condition>  
1684 - <name2/>  
1685 - </key>  
1686 - <value>  
1687 - <name>up_in_mileage</name>  
1688 - <rename>up_in_mileage</rename>  
1689 - <default/>  
1690 - <type>Number</type>  
1691 - </value>  
1692 - <value>  
1693 - <name>up_in_timer</name>  
1694 - <rename>up_in_timer</rename>  
1695 - <default/>  
1696 - <type>Number</type>  
1697 - </value>  
1698 - <value>  
1699 - <name>down_in_mileage</name>  
1700 - <rename>down_in_mileage</rename>  
1701 - <default/>  
1702 - <type>Number</type>  
1703 - </value>  
1704 - <value>  
1705 - <name>down_in_timer</name>  
1706 - <rename>down_in_timer</rename>  
1707 - <default/>  
1708 - <type>Number</type>  
1709 - </value>  
1710 - </lookup>  
1711 - <cluster_schema/>  
1712 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1713 - <xloc>553</xloc>  
1714 - <yloc>1004</yloc>  
1715 - <draw>Y</draw>  
1716 - </GUI>  
1717 - </step>  
1718 -  
1719 - <step>  
1720 - <name>&#x67e5;&#x627e;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;</name>  
1721 - <type>DBLookup</type>  
1722 - <description/>  
1723 - <distribute>Y</distribute>  
1724 - <custom_distribution/>  
1725 - <copies>1</copies>  
1726 - <partitioning>  
1727 - <method>none</method>  
1728 - <schema_name/>  
1729 - </partitioning>  
1730 - <connection>bus_control_variable</connection>  
1731 - <cache>N</cache>  
1732 - <cache_load_all>N</cache_load_all>  
1733 - <cache_size>0</cache_size>  
1734 - <lookup>  
1735 - <schema/>  
1736 - <table>bsth_c_stationroute</table>  
1737 - <orderby/>  
1738 - <fail_on_multiple>N</fail_on_multiple>  
1739 - <eat_row_on_failure>N</eat_row_on_failure>  
1740 - <key>  
1741 - <name>xlid</name>  
1742 - <field>line</field>  
1743 - <condition>&#x3d;</condition>  
1744 - <name2/>  
1745 - </key>  
1746 - <key>  
1747 - <name>sxx</name>  
1748 - <field>directions</field>  
1749 - <condition>&#x3d;</condition>  
1750 - <name2/>  
1751 - </key>  
1752 - <key>  
1753 - <name>endZdtype</name>  
1754 - <field>station_mark</field>  
1755 - <condition>&#x3d;</condition>  
1756 - <name2/>  
1757 - </key>  
1758 - <key>  
1759 - <name>destory</name>  
1760 - <field>destroy</field>  
1761 - <condition>&#x3d;</condition>  
1762 - <name2/>  
1763 - </key>  
1764 - <value>  
1765 - <name>station_name</name>  
1766 - <rename>zdzname</rename>  
1767 - <default/>  
1768 - <type>String</type>  
1769 - </value>  
1770 - <value>  
1771 - <name>station</name>  
1772 - <rename>zdzid</rename>  
1773 - <default/>  
1774 - <type>Integer</type>  
1775 - </value>  
1776 - </lookup>  
1777 - <cluster_schema/>  
1778 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1779 - <xloc>280</xloc>  
1780 - <yloc>404</yloc>  
1781 - <draw>Y</draw>  
1782 - </GUI>  
1783 - </step>  
1784 -  
1785 - <step>  
1786 - <name>&#x67e5;&#x627e;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</name>  
1787 - <type>DBLookup</type>  
1788 - <description/>  
1789 - <distribute>Y</distribute>  
1790 - <custom_distribution/>  
1791 - <copies>1</copies>  
1792 - <partitioning>  
1793 - <method>none</method>  
1794 - <schema_name/>  
1795 - </partitioning>  
1796 - <connection>bus_control_variable</connection>  
1797 - <cache>N</cache>  
1798 - <cache_load_all>N</cache_load_all>  
1799 - <cache_size>0</cache_size>  
1800 - <lookup>  
1801 - <schema/>  
1802 - <table>bsth_c_stationroute</table>  
1803 - <orderby/>  
1804 - <fail_on_multiple>N</fail_on_multiple>  
1805 - <eat_row_on_failure>N</eat_row_on_failure>  
1806 - <key>  
1807 - <name>xlid</name>  
1808 - <field>line</field>  
1809 - <condition>&#x3d;</condition>  
1810 - <name2/>  
1811 - </key>  
1812 - <key>  
1813 - <name>qdzname</name>  
1814 - <field>station_name</field>  
1815 - <condition>&#x3d;</condition>  
1816 - <name2/>  
1817 - </key>  
1818 - <key>  
1819 - <name>sendZdtype</name>  
1820 - <field>station_mark</field>  
1821 - <condition>&#x3d;</condition>  
1822 - <name2/>  
1823 - </key>  
1824 - <key>  
1825 - <name>destory</name>  
1826 - <field>destroy</field>  
1827 - <condition>&#x3d;</condition>  
1828 - <name2/>  
1829 - </key>  
1830 - <value>  
1831 - <name>station</name>  
1832 - <rename>qdzid</rename>  
1833 - <default/>  
1834 - <type>Integer</type>  
1835 - </value>  
1836 - <value>  
1837 - <name>directions</name>  
1838 - <rename>sxx</rename>  
1839 - <default/>  
1840 - <type>Integer</type>  
1841 - </value>  
1842 - </lookup>  
1843 - <cluster_schema/>  
1844 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1845 - <xloc>430</xloc>  
1846 - <yloc>403</yloc>  
1847 - <draw>Y</draw>  
1848 - </GUI>  
1849 - </step>  
1850 -  
1851 - <step>  
1852 - <name>&#x67e5;&#x627e;&#x8def;&#x724c;&#x5173;&#x8054;</name>  
1853 - <type>DBLookup</type>  
1854 - <description/>  
1855 - <distribute>Y</distribute>  
1856 - <custom_distribution/>  
1857 - <copies>1</copies>  
1858 - <partitioning>  
1859 - <method>none</method>  
1860 - <schema_name/>  
1861 - </partitioning>  
1862 - <connection>bus_control_variable</connection>  
1863 - <cache>N</cache>  
1864 - <cache_load_all>N</cache_load_all>  
1865 - <cache_size>0</cache_size>  
1866 - <lookup>  
1867 - <schema/>  
1868 - <table>bsth_c_s_gbi</table>  
1869 - <orderby/>  
1870 - <fail_on_multiple>N</fail_on_multiple>  
1871 - <eat_row_on_failure>N</eat_row_on_failure>  
1872 - <key>  
1873 - <name>xlid</name>  
1874 - <field>xl</field>  
1875 - <condition>&#x3d;</condition>  
1876 - <name2/>  
1877 - </key>  
1878 - <key>  
1879 - <name>lp</name>  
1880 - <field>lp_name</field>  
1881 - <condition>&#x3d;</condition>  
1882 - <name2/>  
1883 - </key>  
1884 - <key>  
1885 - <name>iscanceled</name>  
1886 - <field>is_cancel</field>  
1887 - <condition>&#x3d;</condition>  
1888 - <name2/>  
1889 - </key>  
1890 - <value>  
1891 - <name>id</name>  
1892 - <rename>lpid</rename>  
1893 - <default/>  
1894 - <type>Integer</type>  
1895 - </value>  
1896 - </lookup>  
1897 - <cluster_schema/>  
1898 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1899 - <xloc>1013</xloc>  
1900 - <yloc>265</yloc>  
1901 - <draw>Y</draw>  
1902 - </GUI>  
1903 - </step>  
1904 -  
1905 - <step>  
1906 - <name>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ebf;&#x8def;&#x65b9;&#x5411;</name>  
1907 - <type>DBLookup</type>  
1908 - <description/>  
1909 - <distribute>Y</distribute>  
1910 - <custom_distribution/>  
1911 - <copies>1</copies>  
1912 - <partitioning>  
1913 - <method>none</method>  
1914 - <schema_name/>  
1915 - </partitioning>  
1916 - <connection>bus_control_variable</connection>  
1917 - <cache>N</cache>  
1918 - <cache_load_all>N</cache_load_all>  
1919 - <cache_size>0</cache_size>  
1920 - <lookup>  
1921 - <schema/>  
1922 - <table>bsth_c_stationroute</table>  
1923 - <orderby/>  
1924 - <fail_on_multiple>N</fail_on_multiple>  
1925 - <eat_row_on_failure>N</eat_row_on_failure>  
1926 - <key>  
1927 - <name>xlid</name>  
1928 - <field>line</field>  
1929 - <condition>&#x3d;</condition>  
1930 - <name2/>  
1931 - </key>  
1932 - <key>  
1933 - <name>startZdtype_calcu</name>  
1934 - <field>station_mark</field>  
1935 - <condition>&#x3d;</condition>  
1936 - <name2/>  
1937 - </key>  
1938 - <key>  
1939 - <name>qdzname_calcu</name>  
1940 - <field>station_name</field>  
1941 - <condition>&#x3d;</condition>  
1942 - <name2/>  
1943 - </key>  
1944 - <key>  
1945 - <name>destory</name>  
1946 - <field>destroy</field>  
1947 - <condition>&#x3d;</condition>  
1948 - <name2/>  
1949 - </key>  
1950 - <value>  
1951 - <name>directions</name>  
1952 - <rename>sxx</rename>  
1953 - <default/>  
1954 - <type>String</type>  
1955 - </value>  
1956 - </lookup>  
1957 - <cluster_schema/>  
1958 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1959 - <xloc>548</xloc>  
1960 - <yloc>610</yloc>  
1961 - <draw>Y</draw>  
1962 - </GUI>  
1963 - </step>  
1964 -  
1965 - <step>  
1966 - <name>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ec8;&#x70b9;&#x7ad9;&#xff0c;&#x5e76;&#x4f5c;&#x4e3a;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x70b9;&#x7ad9;</name>  
1967 - <type>DBLookup</type>  
1968 - <description/>  
1969 - <distribute>Y</distribute>  
1970 - <custom_distribution/>  
1971 - <copies>1</copies>  
1972 - <partitioning>  
1973 - <method>none</method>  
1974 - <schema_name/>  
1975 - </partitioning>  
1976 - <connection>bus_control_variable</connection>  
1977 - <cache>Y</cache>  
1978 - <cache_load_all>Y</cache_load_all>  
1979 - <cache_size>0</cache_size>  
1980 - <lookup>  
1981 - <schema/>  
1982 - <table>bsth_c_stationroute</table>  
1983 - <orderby/>  
1984 - <fail_on_multiple>N</fail_on_multiple>  
1985 - <eat_row_on_failure>N</eat_row_on_failure>  
1986 - <key>  
1987 - <name>xlid</name>  
1988 - <field>line</field>  
1989 - <condition>&#x3d;</condition>  
1990 - <name2/>  
1991 - </key>  
1992 - <key>  
1993 - <name>endZdtype_calcu</name>  
1994 - <field>station_mark</field>  
1995 - <condition>&#x3d;</condition>  
1996 - <name2/>  
1997 - </key>  
1998 - <key>  
1999 - <name>sxx</name>  
2000 - <field>directions</field>  
2001 - <condition>&#x3d;</condition>  
2002 - <name2/>  
2003 - </key>  
2004 - <key>  
2005 - <name>destory</name>  
2006 - <field>destroy</field>  
2007 - <condition>&#x3d;</condition>  
2008 - <name2/>  
2009 - </key>  
2010 - <value>  
2011 - <name>station_name</name>  
2012 - <rename>zdzname_calcu</rename>  
2013 - <default/>  
2014 - <type>Integer</type>  
2015 - </value>  
2016 - </lookup>  
2017 - <cluster_schema/>  
2018 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2019 - <xloc>550</xloc>  
2020 - <yloc>701</yloc>  
2021 - <draw>Y</draw>  
2022 - </GUI>  
2023 - </step>  
2024 -  
2025 - <step>  
2026 - <name>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</name>  
2027 - <type>DBLookup</type>  
2028 - <description/>  
2029 - <distribute>Y</distribute>  
2030 - <custom_distribution/>  
2031 - <copies>1</copies>  
2032 - <partitioning>  
2033 - <method>none</method>  
2034 - <schema_name/>  
2035 - </partitioning>  
2036 - <connection>bus_control_variable</connection>  
2037 - <cache>N</cache>  
2038 - <cache_load_all>N</cache_load_all>  
2039 - <cache_size>0</cache_size>  
2040 - <lookup>  
2041 - <schema/>  
2042 - <table>bsth_c_stationroute</table>  
2043 - <orderby/>  
2044 - <fail_on_multiple>N</fail_on_multiple>  
2045 - <eat_row_on_failure>N</eat_row_on_failure>  
2046 - <key>  
2047 - <name>xlid</name>  
2048 - <field>line</field>  
2049 - <condition>&#x3d;</condition>  
2050 - <name2/>  
2051 - </key>  
2052 - <key>  
2053 - <name>zdzname_calcu</name>  
2054 - <field>station_name</field>  
2055 - <condition>&#x3d;</condition>  
2056 - <name2/>  
2057 - </key>  
2058 - <key>  
2059 - <name>startZdtype_calcu</name>  
2060 - <field>station_mark</field>  
2061 - <condition>&#x3d;</condition>  
2062 - <name2/>  
2063 - </key>  
2064 - <key>  
2065 - <name>destory</name>  
2066 - <field>destroy</field>  
2067 - <condition>&#x3d;</condition>  
2068 - <name2/>  
2069 - </key>  
2070 - <value>  
2071 - <name>directions</name>  
2072 - <rename>sxx2</rename>  
2073 - <default/>  
2074 - <type>Integer</type>  
2075 - </value>  
2076 - <value>  
2077 - <name>station</name>  
2078 - <rename>qdzid</rename>  
2079 - <default/>  
2080 - <type>Integer</type>  
2081 - </value>  
2082 - </lookup>  
2083 - <cluster_schema/>  
2084 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2085 - <xloc>551</xloc>  
2086 - <yloc>782</yloc>  
2087 - <draw>Y</draw>  
2088 - </GUI>  
2089 - </step>  
2090 -  
2091 - <step>  
2092 - <name>&#x6b63;&#x5e38;&#x73ed;&#x6b21;_&#x5904;&#x7406;&#x6570;&#x636e;</name>  
2093 - <type>ScriptValueMod</type>  
2094 - <description/>  
2095 - <distribute>Y</distribute>  
2096 - <custom_distribution/>  
2097 - <copies>1</copies>  
2098 - <partitioning>  
2099 - <method>none</method>  
2100 - <schema_name/>  
2101 - </partitioning>  
2102 - <compatible>N</compatible>  
2103 - <optimizationLevel>9</optimizationLevel>  
2104 - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>  
2105 - <jsScript_name>Script 1</jsScript_name>  
2106 - <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f; &#x6dfb;&#x52a0;&#x7ad9;&#x70b9;&#x6807;&#x8bc6;&#xa;var sendZdtype &#x3d; &#x27;B&#x27;&#x3b;&#xa;var endZdtype &#x3d; &#x27;E&#x27;&#x3b;&#xa;&#xa;var destory &#x3d; 0&#x3b; &#x2f;&#x2f; &#x672a;&#x64a4;&#x9500;flag</jsScript_script>  
2107 - </jsScript> </jsScripts> <fields> <field> <name>sendZdtype</name>  
2108 - <rename>sendZdtype</rename>  
2109 - <type>String</type>  
2110 - <length>-1</length>  
2111 - <precision>-1</precision>  
2112 - <replace>N</replace>  
2113 - </field> <field> <name>endZdtype</name>  
2114 - <rename>endZdtype</rename>  
2115 - <type>String</type>  
2116 - <length>-1</length>  
2117 - <precision>-1</precision>  
2118 - <replace>N</replace>  
2119 - </field> <field> <name>destory</name>  
2120 - <rename>destory</rename>  
2121 - <type>Integer</type>  
2122 - <length>-1</length>  
2123 - <precision>-1</precision>  
2124 - <replace>N</replace>  
2125 - </field> </fields> <cluster_schema/>  
2126 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2127 - <xloc>588</xloc>  
2128 - <yloc>403</yloc>  
2129 - <draw>Y</draw>  
2130 - </GUI>  
2131 - </step>  
2132 -  
2133 - <step>  
2134 - <name>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x6570;&#x636e;</name>  
2135 - <type>Dummy</type>  
2136 - <description/>  
2137 - <distribute>Y</distribute>  
2138 - <custom_distribution/>  
2139 - <copies>1</copies>  
2140 - <partitioning>  
2141 - <method>none</method>  
2142 - <schema_name/>  
2143 - </partitioning>  
2144 - <cluster_schema/>  
2145 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2146 - <xloc>725</xloc>  
2147 - <yloc>404</yloc>  
2148 - <draw>Y</draw>  
2149 - </GUI>  
2150 - </step>  
2151 -  
2152 - <step>  
2153 - <name>&#x6dfb;&#x52a0;&#x53d1;&#x8f66;&#x987a;&#x5e8f;&#x53f7;</name>  
2154 - <type>GroupBy</type>  
2155 - <description/>  
2156 - <distribute>Y</distribute>  
2157 - <custom_distribution/>  
2158 - <copies>1</copies>  
2159 - <partitioning>  
2160 - <method>none</method>  
2161 - <schema_name/>  
2162 - </partitioning>  
2163 - <all_rows>Y</all_rows>  
2164 - <ignore_aggregate>N</ignore_aggregate>  
2165 - <field_ignore/>  
2166 - <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>  
2167 - <prefix>grp</prefix>  
2168 - <add_linenr>Y</add_linenr>  
2169 - <linenr_fieldname>fcno</linenr_fieldname>  
2170 - <give_back_row>N</give_back_row>  
2171 - <group>  
2172 - <field>  
2173 - <name>lp</name>  
2174 - </field>  
2175 - </group>  
2176 - <fields>  
2177 - </fields>  
2178 - <cluster_schema/>  
2179 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2180 - <xloc>442</xloc>  
2181 - <yloc>44</yloc>  
2182 - <draw>Y</draw>  
2183 - </GUI>  
2184 - </step>  
2185 -  
2186 - <step>  
2187 - <name>&#x6dfb;&#x52a0;&#x5bf9;&#x5e94;&#x73ed;&#x6b21;&#x6570;</name>  
2188 - <type>GroupBy</type>  
2189 - <description/>  
2190 - <distribute>Y</distribute>  
2191 - <custom_distribution/>  
2192 - <copies>1</copies>  
2193 - <partitioning>  
2194 - <method>none</method>  
2195 - <schema_name/>  
2196 - </partitioning>  
2197 - <all_rows>Y</all_rows>  
2198 - <ignore_aggregate>N</ignore_aggregate>  
2199 - <field_ignore/>  
2200 - <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>  
2201 - <prefix>grp</prefix>  
2202 - <add_linenr>Y</add_linenr>  
2203 - <linenr_fieldname>bcs</linenr_fieldname>  
2204 - <give_back_row>N</give_back_row>  
2205 - <group>  
2206 - </group>  
2207 - <fields>  
2208 - </fields>  
2209 - <cluster_schema/>  
2210 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2211 - <xloc>692</xloc>  
2212 - <yloc>44</yloc>  
2213 - <draw>Y</draw>  
2214 - </GUI>  
2215 - </step>  
2216 -  
2217 - <step>  
2218 - <name>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</name>  
2219 - <type>Normaliser</type>  
2220 - <description/>  
2221 - <distribute>Y</distribute>  
2222 - <custom_distribution/>  
2223 - <copies>1</copies>  
2224 - <partitioning>  
2225 - <method>none</method>  
2226 - <schema_name/>  
2227 - </partitioning>  
2228 - <typefield>&#x7ad9;&#x70b9;&#x540d;&#x79f0;</typefield>  
2229 - <fields> </fields> <cluster_schema/>  
2230 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2231 - <xloc>248</xloc>  
2232 - <yloc>44</yloc>  
2233 - <draw>Y</draw>  
2234 - </GUI>  
2235 - </step>  
2236 -  
2237 - <step>  
2238 - <name>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178;</name>  
2239 - <type>ValueMapper</type>  
2240 - <description/>  
2241 - <distribute>Y</distribute>  
2242 - <custom_distribution/>  
2243 - <copies>1</copies>  
2244 - <partitioning>  
2245 - <method>none</method>  
2246 - <schema_name/>  
2247 - </partitioning>  
2248 - <field_to_use>bctype</field_to_use>  
2249 - <target_field>bctype_code</target_field>  
2250 - <non_match_default>&#x672a;&#x77e5;&#x7c7b;&#x578b;</non_match_default>  
2251 - <fields>  
2252 - <field>  
2253 - <source_value>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</source_value>  
2254 - <target_value>normal</target_value>  
2255 - </field>  
2256 - <field>  
2257 - <source_value>&#x51fa;&#x573a;</source_value>  
2258 - <target_value>out</target_value>  
2259 - </field>  
2260 - <field>  
2261 - <source_value>&#x8fdb;&#x573a;</source_value>  
2262 - <target_value>in</target_value>  
2263 - </field>  
2264 - <field>  
2265 - <source_value>&#x52a0;&#x6cb9;</source_value>  
2266 - <target_value>oil</target_value>  
2267 - </field>  
2268 - <field>  
2269 - <source_value>&#x4e34;&#x52a0;</source_value>  
2270 - <target_value>temp</target_value>  
2271 - </field>  
2272 - <field>  
2273 - <source_value>&#x533a;&#x95f4;</source_value>  
2274 - <target_value>region</target_value>  
2275 - </field>  
2276 - <field>  
2277 - <source_value>&#x653e;&#x7a7a;</source_value>  
2278 - <target_value>venting</target_value>  
2279 - </field>  
2280 - <field>  
2281 - <source_value>&#x653e;&#x5927;&#x7ad9;</source_value>  
2282 - <target_value>major</target_value>  
2283 - </field>  
2284 - </fields>  
2285 - <cluster_schema/>  
2286 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2287 - <xloc>149</xloc>  
2288 - <yloc>491</yloc>  
2289 - <draw>Y</draw>  
2290 - </GUI>  
2291 - </step>  
2292 -  
2293 - <step>  
2294 - <name>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 2</name>  
2295 - <type>ValueMapper</type>  
2296 - <description/>  
2297 - <distribute>Y</distribute>  
2298 - <custom_distribution/>  
2299 - <copies>1</copies>  
2300 - <partitioning>  
2301 - <method>none</method>  
2302 - <schema_name/>  
2303 - </partitioning>  
2304 - <field_to_use>bctype</field_to_use>  
2305 - <target_field>bctype_code</target_field>  
2306 - <non_match_default>&#x672a;&#x77e5;&#x7c7b;&#x578b;</non_match_default>  
2307 - <fields>  
2308 - <field>  
2309 - <source_value>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</source_value>  
2310 - <target_value>normal</target_value>  
2311 - </field>  
2312 - <field>  
2313 - <source_value>&#x51fa;&#x573a;</source_value>  
2314 - <target_value>out</target_value>  
2315 - </field>  
2316 - <field>  
2317 - <source_value>&#x8fdb;&#x573a;</source_value>  
2318 - <target_value>in</target_value>  
2319 - </field>  
2320 - <field>  
2321 - <source_value>&#x52a0;&#x6cb9;</source_value>  
2322 - <target_value>oil</target_value>  
2323 - </field>  
2324 - <field>  
2325 - <source_value>&#x4e34;&#x52a0;</source_value>  
2326 - <target_value>temp</target_value>  
2327 - </field>  
2328 - <field>  
2329 - <source_value>&#x533a;&#x95f4;</source_value>  
2330 - <target_value>region</target_value>  
2331 - </field>  
2332 - <field>  
2333 - <source_value>&#x653e;&#x7a7a;</source_value>  
2334 - <target_value>venting</target_value>  
2335 - </field>  
2336 - <field>  
2337 - <source_value>&#x653e;&#x5927;&#x7ad9;</source_value>  
2338 - <target_value>major</target_value>  
2339 - </field>  
2340 - </fields>  
2341 - <cluster_schema/>  
2342 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2343 - <xloc>333</xloc>  
2344 - <yloc>681</yloc>  
2345 - <draw>Y</draw>  
2346 - </GUI>  
2347 - </step>  
2348 -  
2349 - <step>  
2350 - <name>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 3</name>  
2351 - <type>ValueMapper</type>  
2352 - <description/>  
2353 - <distribute>Y</distribute>  
2354 - <custom_distribution/>  
2355 - <copies>1</copies>  
2356 - <partitioning>  
2357 - <method>none</method>  
2358 - <schema_name/>  
2359 - </partitioning>  
2360 - <field_to_use>bctype</field_to_use>  
2361 - <target_field>bctype_code</target_field>  
2362 - <non_match_default>&#x672a;&#x77e5;&#x7c7b;&#x578b;</non_match_default>  
2363 - <fields>  
2364 - <field>  
2365 - <source_value>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</source_value>  
2366 - <target_value>normal</target_value>  
2367 - </field>  
2368 - <field>  
2369 - <source_value>&#x51fa;&#x573a;</source_value>  
2370 - <target_value>out</target_value>  
2371 - </field>  
2372 - <field>  
2373 - <source_value>&#x8fdb;&#x573a;</source_value>  
2374 - <target_value>in</target_value>  
2375 - </field>  
2376 - <field>  
2377 - <source_value>&#x52a0;&#x6cb9;</source_value>  
2378 - <target_value>oil</target_value>  
2379 - </field>  
2380 - <field>  
2381 - <source_value>&#x4e34;&#x52a0;</source_value>  
2382 - <target_value>temp</target_value>  
2383 - </field>  
2384 - <field>  
2385 - <source_value>&#x533a;&#x95f4;</source_value>  
2386 - <target_value>region</target_value>  
2387 - </field>  
2388 - <field>  
2389 - <source_value>&#x653e;&#x7a7a;</source_value>  
2390 - <target_value>venting</target_value>  
2391 - </field>  
2392 - <field>  
2393 - <source_value>&#x653e;&#x5927;&#x7ad9;</source_value>  
2394 - <target_value>major</target_value>  
2395 - </field>  
2396 - </fields>  
2397 - <cluster_schema/>  
2398 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2399 - <xloc>551</xloc>  
2400 - <yloc>928</yloc>  
2401 - <draw>Y</draw>  
2402 - </GUI>  
2403 - </step>  
2404 -  
2405 - <step>  
2406 - <name>&#x7c7b;&#x578b;&#x4fee;&#x6b63;</name>  
2407 - <type>SelectValues</type>  
2408 - <description/>  
2409 - <distribute>Y</distribute>  
2410 - <custom_distribution/>  
2411 - <copies>1</copies>  
2412 - <partitioning>  
2413 - <method>none</method>  
2414 - <schema_name/>  
2415 - </partitioning>  
2416 - <fields> <select_unspecified>N</select_unspecified>  
2417 - <meta> <name>jhlc</name>  
2418 - <rename>jhlc</rename>  
2419 - <type>Number</type>  
2420 - <length>-2</length>  
2421 - <precision>-2</precision>  
2422 - <conversion_mask/>  
2423 - <date_format_lenient>false</date_format_lenient>  
2424 - <date_format_locale/>  
2425 - <date_format_timezone/>  
2426 - <lenient_string_to_number>false</lenient_string_to_number>  
2427 - <encoding/>  
2428 - <decimal_symbol/>  
2429 - <grouping_symbol/>  
2430 - <currency_symbol/>  
2431 - <storage_type/>  
2432 - </meta> <meta> <name>bcsj</name>  
2433 - <rename>bcsj</rename>  
2434 - <type>Integer</type>  
2435 - <length>-2</length>  
2436 - <precision>-2</precision>  
2437 - <conversion_mask/>  
2438 - <date_format_lenient>false</date_format_lenient>  
2439 - <date_format_locale/>  
2440 - <date_format_timezone/>  
2441 - <lenient_string_to_number>false</lenient_string_to_number>  
2442 - <encoding/>  
2443 - <decimal_symbol/>  
2444 - <grouping_symbol/>  
2445 - <currency_symbol/>  
2446 - <storage_type/>  
2447 - </meta> </fields> <cluster_schema/>  
2448 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2449 - <xloc>146</xloc>  
2450 - <yloc>768</yloc>  
2451 - <draw>Y</draw>  
2452 - </GUI>  
2453 - </step>  
2454 -  
2455 - <step>  
2456 - <name>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 2</name>  
2457 - <type>SelectValues</type>  
2458 - <description/>  
2459 - <distribute>Y</distribute>  
2460 - <custom_distribution/>  
2461 - <copies>1</copies>  
2462 - <partitioning>  
2463 - <method>none</method>  
2464 - <schema_name/>  
2465 - </partitioning>  
2466 - <fields> <select_unspecified>N</select_unspecified>  
2467 - <meta> <name>out_mileage</name>  
2468 - <rename>out_mileage</rename>  
2469 - <type>Number</type>  
2470 - <length>-2</length>  
2471 - <precision>-2</precision>  
2472 - <conversion_mask/>  
2473 - <date_format_lenient>false</date_format_lenient>  
2474 - <date_format_locale/>  
2475 - <date_format_timezone/>  
2476 - <lenient_string_to_number>false</lenient_string_to_number>  
2477 - <encoding/>  
2478 - <decimal_symbol/>  
2479 - <grouping_symbol/>  
2480 - <currency_symbol/>  
2481 - <storage_type/>  
2482 - </meta> <meta> <name>out_time</name>  
2483 - <rename>out_time</rename>  
2484 - <type>Integer</type>  
2485 - <length>-2</length>  
2486 - <precision>-2</precision>  
2487 - <conversion_mask/>  
2488 - <date_format_lenient>false</date_format_lenient>  
2489 - <date_format_locale/>  
2490 - <date_format_timezone/>  
2491 - <lenient_string_to_number>false</lenient_string_to_number>  
2492 - <encoding/>  
2493 - <decimal_symbol/>  
2494 - <grouping_symbol/>  
2495 - <currency_symbol/>  
2496 - <storage_type/>  
2497 - </meta> <meta> <name>sxx</name>  
2498 - <rename>sxx</rename>  
2499 - <type>Integer</type>  
2500 - <length>-2</length>  
2501 - <precision>-2</precision>  
2502 - <conversion_mask/>  
2503 - <date_format_lenient>false</date_format_lenient>  
2504 - <date_format_locale/>  
2505 - <date_format_timezone/>  
2506 - <lenient_string_to_number>false</lenient_string_to_number>  
2507 - <encoding/>  
2508 - <decimal_symbol/>  
2509 - <grouping_symbol/>  
2510 - <currency_symbol/>  
2511 - <storage_type/>  
2512 - </meta> </fields> <cluster_schema/>  
2513 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2514 - <xloc>338</xloc>  
2515 - <yloc>1008</yloc>  
2516 - <draw>Y</draw>  
2517 - </GUI>  
2518 - </step>  
2519 -  
2520 - <step>  
2521 - <name>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 3</name>  
2522 - <type>SelectValues</type>  
2523 - <description/>  
2524 - <distribute>Y</distribute>  
2525 - <custom_distribution/>  
2526 - <copies>1</copies>  
2527 - <partitioning>  
2528 - <method>none</method>  
2529 - <schema_name/>  
2530 - </partitioning>  
2531 - <fields> <select_unspecified>N</select_unspecified>  
2532 - <meta> <name>parade_mileage</name>  
2533 - <rename>parade_mileage</rename>  
2534 - <type>Number</type>  
2535 - <length>-2</length>  
2536 - <precision>-2</precision>  
2537 - <conversion_mask/>  
2538 - <date_format_lenient>false</date_format_lenient>  
2539 - <date_format_locale/>  
2540 - <date_format_timezone/>  
2541 - <lenient_string_to_number>false</lenient_string_to_number>  
2542 - <encoding/>  
2543 - <decimal_symbol/>  
2544 - <grouping_symbol/>  
2545 - <currency_symbol/>  
2546 - <storage_type/>  
2547 - </meta> <meta> <name>parade_time</name>  
2548 - <rename>parade_time</rename>  
2549 - <type>Integer</type>  
2550 - <length>-2</length>  
2551 - <precision>-2</precision>  
2552 - <conversion_mask/>  
2553 - <date_format_lenient>false</date_format_lenient>  
2554 - <date_format_locale/>  
2555 - <date_format_timezone/>  
2556 - <lenient_string_to_number>false</lenient_string_to_number>  
2557 - <encoding/>  
2558 - <decimal_symbol/>  
2559 - <grouping_symbol/>  
2560 - <currency_symbol/>  
2561 - <storage_type/>  
2562 - </meta> <meta> <name>sxx2</name>  
2563 - <rename>sxx2</rename>  
2564 - <type>Integer</type>  
2565 - <length>-2</length>  
2566 - <precision>-2</precision>  
2567 - <conversion_mask/>  
2568 - <date_format_lenient>false</date_format_lenient>  
2569 - <date_format_locale/>  
2570 - <date_format_timezone/>  
2571 - <lenient_string_to_number>false</lenient_string_to_number>  
2572 - <encoding/>  
2573 - <decimal_symbol/>  
2574 - <grouping_symbol/>  
2575 - <currency_symbol/>  
2576 - <storage_type/>  
2577 - </meta> </fields> <cluster_schema/>  
2578 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2579 - <xloc>847</xloc>  
2580 - <yloc>1003</yloc>  
2581 - <draw>Y</draw>  
2582 - </GUI>  
2583 - </step>  
2584 -  
2585 - <step>  
2586 - <name>&#x8ba1;&#x7b97;&#x73ed;&#x6b21;&#x7c7b;&#x578b;</name>  
2587 - <type>ValueMapper</type>  
2588 - <description/>  
2589 - <distribute>Y</distribute>  
2590 - <custom_distribution/>  
2591 - <copies>1</copies>  
2592 - <partitioning>  
2593 - <method>none</method>  
2594 - <schema_name/>  
2595 - </partitioning>  
2596 - <field_to_use>qdzname</field_to_use>  
2597 - <target_field>bctype</target_field>  
2598 - <non_match_default>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</non_match_default>  
2599 - <fields>  
2600 - <field>  
2601 - <source_value>&#x51fa;&#x573a;</source_value>  
2602 - <target_value>&#x51fa;&#x573a;</target_value>  
2603 - </field>  
2604 - <field>  
2605 - <source_value>&#x8fdb;&#x573a;</source_value>  
2606 - <target_value>&#x8fdb;&#x573a;</target_value>  
2607 - </field>  
2608 - </fields>  
2609 - <cluster_schema/>  
2610 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2611 - <xloc>1014</xloc>  
2612 - <yloc>401</yloc>  
2613 - <draw>Y</draw>  
2614 - </GUI>  
2615 - </step>  
2616 -  
2617 - <step>  
2618 - <name>&#x8bb0;&#x5f55;&#x5173;&#x8054; &#x28;&#x7b1b;&#x5361;&#x5c14;&#x8f93;&#x51fa;&#x29;</name>  
2619 - <type>JoinRows</type>  
2620 - <description/>  
2621 - <distribute>Y</distribute>  
2622 - <custom_distribution/>  
2623 - <copies>1</copies>  
2624 - <partitioning>  
2625 - <method>none</method>  
2626 - <schema_name/>  
2627 - </partitioning>  
2628 - <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>  
2629 - <prefix>out</prefix>  
2630 - <cache_size>500</cache_size>  
2631 - <main/>  
2632 - <compare>  
2633 -<condition>  
2634 - <negated>N</negated>  
2635 - <leftvalue/>  
2636 - <function>&#x3d;</function>  
2637 - <rightvalue/>  
2638 - </condition>  
2639 - </compare>  
2640 - <cluster_schema/>  
2641 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2642 - <xloc>310</xloc>  
2643 - <yloc>133</yloc>  
2644 - <draw>Y</draw>  
2645 - </GUI>  
2646 - </step>  
2647 -  
2648 - <step>  
2649 - <name>&#x8fc7;&#x6ee4;&#x8bb0;&#x5f55;&#xff08;&#x53d1;&#x8f66;&#x65f6;&#x95f4;&#x4e3a;&#x7a7a;&#xff09;</name>  
2650 - <type>FilterRows</type>  
2651 - <description/>  
2652 - <distribute>Y</distribute>  
2653 - <custom_distribution/>  
2654 - <copies>1</copies>  
2655 - <partitioning>  
2656 - <method>none</method>  
2657 - <schema_name/>  
2658 - </partitioning>  
2659 -<send_true_to/>  
2660 -<send_false_to/>  
2661 - <compare>  
2662 -<condition>  
2663 - <negated>N</negated>  
2664 - <leftvalue>sendtime</leftvalue>  
2665 - <function>IS NOT NULL</function>  
2666 - <rightvalue/>  
2667 - </condition>  
2668 - </compare>  
2669 - <cluster_schema/>  
2670 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2671 - <xloc>571</xloc>  
2672 - <yloc>44</yloc>  
2673 - <draw>Y</draw>  
2674 - </GUI>  
2675 - </step>  
2676 -  
2677 - <step>  
2678 - <name>&#x8fdb;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x8d77;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</name>  
2679 - <type>ScriptValueMod</type>  
2680 - <description/>  
2681 - <distribute>Y</distribute>  
2682 - <custom_distribution/>  
2683 - <copies>1</copies>  
2684 - <partitioning>  
2685 - <method>none</method>  
2686 - <schema_name/>  
2687 - </partitioning>  
2688 - <compatible>N</compatible>  
2689 - <optimizationLevel>9</optimizationLevel>  
2690 - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>  
2691 - <jsScript_name>Script 1</jsScript_name>  
2692 - <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f; &#x6dfb;&#x52a0;&#x7ad9;&#x70b9;&#x6807;&#x8bc6;&#xa;var cc_groups &#x3d; qdzgroups.split&#x28;&#x22;,&#x22;&#x29;&#x3b; &#x2f;&#x2f; &#x6240;&#x6709;&#x73ed;&#x6b21;&#x8d77;&#x70b9;&#x7ad9;&#x6570;&#x7ec4;&#xa;var qdzname_calcu &#x3d; cc_groups&#x5b;gno - 2&#x5d;&#x3b; &#x2f;&#x2f; &#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x70b9;&#x7ad9;&#x662f;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ec8;&#x70b9;&#x7ad9;&#xff0c;&#x8fd9;&#x91cc;&#x53ea;&#x6709;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x70b9;&#x7ad9;&#xff0c;&#x8fd8;&#x9700;&#x8981;&#x8ba1;&#x7b97;&#xa;var startZdtype_calcu &#x3d; &#x27;B&#x27;&#x3b;&#xa;var endZdtype_calcu &#x3d; &#x27;E&#x27;&#x3b;&#xa;&#xa;var destory &#x3d; 0&#x3b; &#x2f;&#x2f; &#x672a;&#x64a4;&#x9500;flag</jsScript_script>  
2693 - </jsScript> </jsScripts> <fields> <field> <name>qdzname_calcu</name>  
2694 - <rename>qdzname_calcu</rename>  
2695 - <type>String</type>  
2696 - <length>-1</length>  
2697 - <precision>-1</precision>  
2698 - <replace>N</replace>  
2699 - </field> <field> <name>startZdtype_calcu</name>  
2700 - <rename>startZdtype_calcu</rename>  
2701 - <type>String</type>  
2702 - <length>-1</length>  
2703 - <precision>-1</precision>  
2704 - <replace>N</replace>  
2705 - </field> <field> <name>endZdtype_calcu</name>  
2706 - <rename>endZdtype_calcu</rename>  
2707 - <type>String</type>  
2708 - <length>-1</length>  
2709 - <precision>-1</precision>  
2710 - <replace>N</replace>  
2711 - </field> <field> <name>destory</name>  
2712 - <rename>destory</rename>  
2713 - <type>Integer</type>  
2714 - <length>-1</length>  
2715 - <precision>-1</precision>  
2716 - <replace>N</replace>  
2717 - </field> </fields> <cluster_schema/>  
2718 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2719 - <xloc>754</xloc>  
2720 - <yloc>610</yloc>  
2721 - <draw>Y</draw>  
2722 - </GUI>  
2723 - </step>  
2724 -  
2725 - <step>  
2726 - <name>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</name>  
2727 - <type>Dummy</type>  
2728 - <description/>  
2729 - <distribute>Y</distribute>  
2730 - <custom_distribution/>  
2731 - <copies>1</copies>  
2732 - <partitioning>  
2733 - <method>none</method>  
2734 - <schema_name/>  
2735 - </partitioning>  
2736 - <cluster_schema/>  
2737 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2738 - <xloc>997</xloc>  
2739 - <yloc>606</yloc>  
2740 - <draw>Y</draw>  
2741 - </GUI>  
2742 - </step>  
2743 -  
2744 - <step>  
2745 - <name>&#x4e0a;&#x4e0b;&#x884c;NULL&#x5224;&#x5b9a;</name>  
2746 - <type>IfNull</type>  
2747 - <description/>  
2748 - <distribute>Y</distribute>  
2749 - <custom_distribution/>  
2750 - <copies>1</copies>  
2751 - <partitioning>  
2752 - <method>none</method>  
2753 - <schema_name/>  
2754 - </partitioning>  
2755 - <replaceAllByValue/>  
2756 - <replaceAllMask/>  
2757 - <selectFields>Y</selectFields>  
2758 - <selectValuesType>N</selectValuesType>  
2759 - <setEmptyStringAll>N</setEmptyStringAll>  
2760 - <valuetypes>  
2761 - </valuetypes>  
2762 - <fields>  
2763 - <field>  
2764 - <name>sxx</name>  
2765 - <value>0</value>  
2766 - <mask/>  
2767 - <set_empty_string>N</set_empty_string>  
2768 - </field>  
2769 - </fields>  
2770 - <cluster_schema/>  
2771 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2772 - <xloc>230</xloc>  
2773 - <yloc>946</yloc>  
2774 - <draw>Y</draw>  
2775 - </GUI>  
2776 - </step>  
2777 -  
2778 - <step>  
2779 - <name>&#x4e0a;&#x4e0b;&#x884c;&#x5224;&#x5b9a; 2</name>  
2780 - <type>IfNull</type>  
2781 - <description/>  
2782 - <distribute>Y</distribute>  
2783 - <custom_distribution/>  
2784 - <copies>1</copies>  
2785 - <partitioning>  
2786 - <method>none</method>  
2787 - <schema_name/>  
2788 - </partitioning>  
2789 - <replaceAllByValue/>  
2790 - <replaceAllMask/>  
2791 - <selectFields>Y</selectFields>  
2792 - <selectValuesType>N</selectValuesType>  
2793 - <setEmptyStringAll>N</setEmptyStringAll>  
2794 - <valuetypes>  
2795 - </valuetypes>  
2796 - <fields>  
2797 - <field>  
2798 - <name>sxx2</name>  
2799 - <value>0</value>  
2800 - <mask/>  
2801 - <set_empty_string>N</set_empty_string>  
2802 - </field>  
2803 - </fields>  
2804 - <cluster_schema/>  
2805 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
2806 - <xloc>804</xloc>  
2807 - <yloc>1081</yloc>  
2808 - <draw>Y</draw>  
2809 - </GUI>  
2810 - </step>  
2811 -  
2812 - <step_error_handling>  
2813 - <error>  
2814 - <source_step>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail</source_step>  
2815 - <target_step/>  
2816 - <is_enabled>Y</is_enabled>  
2817 - <nr_valuename>c1</nr_valuename>  
2818 - <descriptions_valuename>c2</descriptions_valuename>  
2819 - <fields_valuename>c3</fields_valuename>  
2820 - <codes_valuename>c4</codes_valuename>  
2821 - <max_errors/>  
2822 - <max_pct_errors/>  
2823 - <min_pct_rows/>  
2824 - </error>  
2825 - </step_error_handling>  
2826 - <slave-step-copy-partition-distribution>  
2827 -</slave-step-copy-partition-distribution>  
2828 - <slave_transformation>N</slave_transformation>  
2829 -  
2830 -</transformation> 1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<transformation>
  3 + <info>
  4 + <name>ttinfodetailDataInput</name>
  5 + <description>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;&#x5bfc;&#x5165;</description>
  6 + <extended_description>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;</extended_description>
  7 + <trans_version/>
  8 + <trans_type>Normal</trans_type>
  9 + <trans_status>0</trans_status>
  10 + <directory>&#x2f;</directory>
  11 + <parameters>
  12 + </parameters>
  13 + <log>
  14 +<trans-log-table><connection/>
  15 +<schema/>
  16 +<table/>
  17 +<size_limit_lines/>
  18 +<interval/>
  19 +<timeout_days/>
  20 +<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>
  21 +<perf-log-table><connection/>
  22 +<schema/>
  23 +<table/>
  24 +<interval/>
  25 +<timeout_days/>
  26 +<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>
  27 +<channel-log-table><connection/>
  28 +<schema/>
  29 +<table/>
  30 +<timeout_days/>
  31 +<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>
  32 +<step-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>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>
  37 +<metrics-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>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>
  42 + </log>
  43 + <maxdate>
  44 + <connection/>
  45 + <table/>
  46 + <field/>
  47 + <offset>0.0</offset>
  48 + <maxdiff>0.0</maxdiff>
  49 + </maxdate>
  50 + <size_rowset>10000</size_rowset>
  51 + <sleep_time_empty>50</sleep_time_empty>
  52 + <sleep_time_full>50</sleep_time_full>
  53 + <unique_connections>N</unique_connections>
  54 + <feedback_shown>Y</feedback_shown>
  55 + <feedback_size>50000</feedback_size>
  56 + <using_thread_priorities>Y</using_thread_priorities>
  57 + <shared_objects_file/>
  58 + <capture_step_performance>N</capture_step_performance>
  59 + <step_performance_capturing_delay>1000</step_performance_capturing_delay>
  60 + <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit>
  61 + <dependencies>
  62 + </dependencies>
  63 + <partitionschemas>
  64 + </partitionschemas>
  65 + <slaveservers>
  66 + </slaveservers>
  67 + <clusterschemas>
  68 + </clusterschemas>
  69 + <created_user>-</created_user>
  70 + <created_date>2016&#x2f;06&#x2f;30 12&#x3a;21&#x3a;57.536</created_date>
  71 + <modified_user>-</modified_user>
  72 + <modified_date>2016&#x2f;06&#x2f;30 12&#x3a;21&#x3a;57.536</modified_date>
  73 + <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</key_for_session_key>
  74 + <is_key_private>N</is_key_private>
  75 + </info>
  76 + <notepads>
  77 + <notepad>
  78 + <note>&#x5b57;&#x5178;&#x8868;&#x5bf9;&#x5e94;&#xff08;&#x4ee5;&#x540e;&#x76f4;&#x63a5;&#x67e5;&#x627e;&#x8868; bsth_c_sys_dictionary&#xff09;&#xa;&#x7c7b;&#x578b; &#x4ee3;&#x7801; &#x540d;&#x79f0;&#xa;LineTrend 0 &#x4e0a;&#x884c;&#xa;LineTrend 1 &#x4e0b;&#x884c;&#xa;ScheduleType normal &#x6b63;&#x5e38;&#x73ed;&#x6b21;&#xa;ScheduleType out &#x51fa;&#x573a;&#xa;ScheduleType in &#x8fdb;&#x573a;&#xa;ScheduleType temp &#x4e34;&#x52a0;&#xa;ScheduleType region &#x533a;&#x95f4;&#xa;ScheduleType venting &#x653e;&#x7a7a;&#xa;ScheduleType major &#x653e;&#x5927;&#x7ad9;</note>
  79 + <xloc>606</xloc>
  80 + <yloc>129</yloc>
  81 + <width>332</width>
  82 + <heigth>186</heigth>
  83 + <fontname>YaHei Consolas Hybrid</fontname>
  84 + <fontsize>12</fontsize>
  85 + <fontbold>N</fontbold>
  86 + <fontitalic>N</fontitalic>
  87 + <fontcolorred>0</fontcolorred>
  88 + <fontcolorgreen>0</fontcolorgreen>
  89 + <fontcolorblue>0</fontcolorblue>
  90 + <backgroundcolorred>255</backgroundcolorred>
  91 + <backgroundcolorgreen>205</backgroundcolorgreen>
  92 + <backgroundcolorblue>112</backgroundcolorblue>
  93 + <bordercolorred>100</bordercolorred>
  94 + <bordercolorgreen>100</bordercolorgreen>
  95 + <bordercolorblue>100</bordercolorblue>
  96 + <drawshadow>Y</drawshadow>
  97 + </notepad>
  98 + <notepad>
  99 + <note>&#x56e0;&#x4e3a;&#x65f6;&#x523b;&#x8868;&#x8f93;&#x5165;&#x683c;&#x5f0f;&#x4e0d;&#x786e;&#x5b9a;&#x6027;&#xff0c;&#x4e3b;&#x8981;&#x56e0;&#x4e3a;&#x8868;&#x7ed3;&#x6784;&#x662f;&#x53cd;&#x8303;&#x5f0f;&#x5316;&#x7684;&#xff0c;&#xa;&#x6240;&#x4ee5;&#x9700;&#x8981;&#x5916;&#x90e8;&#x52a8;&#x6001;&#x6307;&#x5b9a;&#x613f;&#x6570;&#x636e;&#xff0c;&#x5934;&#x4e09;&#x4e2a;step&#x52a8;&#x6001;&#x6307;&#x5b9a;&#x613f;&#x6570;&#x636e;&#xa;&#xa;</note>
  100 + <xloc>79</xloc>
  101 + <yloc>206</yloc>
  102 + <width>346</width>
  103 + <heigth>74</heigth>
  104 + <fontname>YaHei Consolas Hybrid</fontname>
  105 + <fontsize>12</fontsize>
  106 + <fontbold>N</fontbold>
  107 + <fontitalic>N</fontitalic>
  108 + <fontcolorred>0</fontcolorred>
  109 + <fontcolorgreen>0</fontcolorgreen>
  110 + <fontcolorblue>0</fontcolorblue>
  111 + <backgroundcolorred>255</backgroundcolorred>
  112 + <backgroundcolorgreen>205</backgroundcolorgreen>
  113 + <backgroundcolorblue>112</backgroundcolorblue>
  114 + <bordercolorred>100</bordercolorred>
  115 + <bordercolorgreen>100</bordercolorgreen>
  116 + <bordercolorblue>100</bordercolorblue>
  117 + <drawshadow>Y</drawshadow>
  118 + </notepad>
  119 + <notepad>
  120 + <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>
  121 + <xloc>721</xloc>
  122 + <yloc>762</yloc>
  123 + <width>333</width>
  124 + <heigth>90</heigth>
  125 + <fontname>YaHei Consolas Hybrid</fontname>
  126 + <fontsize>12</fontsize>
  127 + <fontbold>N</fontbold>
  128 + <fontitalic>N</fontitalic>
  129 + <fontcolorred>0</fontcolorred>
  130 + <fontcolorgreen>0</fontcolorgreen>
  131 + <fontcolorblue>0</fontcolorblue>
  132 + <backgroundcolorred>255</backgroundcolorred>
  133 + <backgroundcolorgreen>205</backgroundcolorgreen>
  134 + <backgroundcolorblue>112</backgroundcolorblue>
  135 + <bordercolorred>100</bordercolorred>
  136 + <bordercolorgreen>100</bordercolorgreen>
  137 + <bordercolorblue>100</bordercolorblue>
  138 + <drawshadow>Y</drawshadow>
  139 + </notepad>
  140 + <notepad>
  141 + <note>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#xff0c;&#x65b9;&#x5411;&#x6709;&#x65f6;&#x786e;&#x5b9a;&#x4e0d;&#x51c6;&#xff0c;&#xa;&#x7a7a;&#x7684;&#x60c5;&#x51b5;&#x4e0b;&#x8bbe;&#x5b9a;&#x4e3a;0&#xff08;&#x4e0a;&#x884c;&#xff09;</note>
  142 + <xloc>120</xloc>
  143 + <yloc>1016</yloc>
  144 + <width>178</width>
  145 + <heigth>42</heigth>
  146 + <fontname>YaHei Consolas Hybrid</fontname>
  147 + <fontsize>12</fontsize>
  148 + <fontbold>N</fontbold>
  149 + <fontitalic>N</fontitalic>
  150 + <fontcolorred>0</fontcolorred>
  151 + <fontcolorgreen>0</fontcolorgreen>
  152 + <fontcolorblue>0</fontcolorblue>
  153 + <backgroundcolorred>255</backgroundcolorred>
  154 + <backgroundcolorgreen>205</backgroundcolorgreen>
  155 + <backgroundcolorblue>112</backgroundcolorblue>
  156 + <bordercolorred>100</bordercolorred>
  157 + <bordercolorgreen>100</bordercolorgreen>
  158 + <bordercolorblue>100</bordercolorblue>
  159 + <drawshadow>Y</drawshadow>
  160 + </notepad>
  161 + <notepad>
  162 + <note>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#xff0c;&#x65b9;&#x5411;&#x6709;&#x65f6;&#x786e;&#x5b9a;&#x4e0d;&#x51c6;&#xff0c;&#xa;&#x7a7a;&#x7684;&#x60c5;&#x51b5;&#x4e0b;&#x8bbe;&#x5b9a;&#x4e3a;0&#xff08;&#x4e0a;&#x884c;&#xff09;</note>
  163 + <xloc>578</xloc>
  164 + <yloc>1084</yloc>
  165 + <width>178</width>
  166 + <heigth>42</heigth>
  167 + <fontname>YaHei Consolas Hybrid</fontname>
  168 + <fontsize>12</fontsize>
  169 + <fontbold>N</fontbold>
  170 + <fontitalic>N</fontitalic>
  171 + <fontcolorred>0</fontcolorred>
  172 + <fontcolorgreen>0</fontcolorgreen>
  173 + <fontcolorblue>0</fontcolorblue>
  174 + <backgroundcolorred>255</backgroundcolorred>
  175 + <backgroundcolorgreen>205</backgroundcolorgreen>
  176 + <backgroundcolorblue>112</backgroundcolorblue>
  177 + <bordercolorred>100</bordercolorred>
  178 + <bordercolorgreen>100</bordercolorgreen>
  179 + <bordercolorblue>100</bordercolorblue>
  180 + <drawshadow>Y</drawshadow>
  181 + </notepad>
  182 + </notepads>
  183 + <connection>
  184 + <name>bus_control_variable</name>
  185 + <server>&#x24;&#x7b;v_db_ip&#x7d;</server>
  186 + <type>MYSQL</type>
  187 + <access>Native</access>
  188 + <database>&#x24;&#x7b;v_db_dname&#x7d;</database>
  189 + <port>3306</port>
  190 + <username>&#x24;&#x7b;v_db_uname&#x7d;</username>
  191 + <password>&#x24;&#x7b;v_db_pwd&#x7d;</password>
  192 + <servername/>
  193 + <data_tablespace/>
  194 + <index_tablespace/>
  195 + <attributes>
  196 + <attribute><code>EXTRA_OPTION_MYSQL.characterEncoding</code><attribute>utf8</attribute></attribute>
  197 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  198 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  199 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  200 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  201 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  202 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  203 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  204 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  205 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  206 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  207 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  208 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  209 + </attributes>
  210 + </connection>
  211 + <connection>
  212 + <name>bus_control_&#x516c;&#x53f8;_201</name>
  213 + <server>localhost</server>
  214 + <type>MYSQL</type>
  215 + <access>Native</access>
  216 + <database>control</database>
  217 + <port>3306</port>
  218 + <username>root</username>
  219 + <password>Encrypted </password>
  220 + <servername/>
  221 + <data_tablespace/>
  222 + <index_tablespace/>
  223 + <attributes>
  224 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  225 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  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>3306</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>N</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 + <connection>
  239 + <name>bus_control_&#x672c;&#x673a;</name>
  240 + <server>localhost</server>
  241 + <type>MYSQL</type>
  242 + <access>Native</access>
  243 + <database>control</database>
  244 + <port>3306</port>
  245 + <username>root</username>
  246 + <password>Encrypted </password>
  247 + <servername/>
  248 + <data_tablespace/>
  249 + <index_tablespace/>
  250 + <attributes>
  251 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  252 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  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>3306</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 + <connection>
  266 + <name>xlab_mysql_youle</name>
  267 + <server>101.231.124.8</server>
  268 + <type>MYSQL</type>
  269 + <access>Native</access>
  270 + <database>xlab_youle</database>
  271 + <port>45687</port>
  272 + <username>xlab-youle</username>
  273 + <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password>
  274 + <servername/>
  275 + <data_tablespace/>
  276 + <index_tablespace/>
  277 + <attributes>
  278 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  279 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  280 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  281 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  282 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  283 + <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute>
  284 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  285 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  286 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  287 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  288 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  289 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  290 + </attributes>
  291 + </connection>
  292 + <connection>
  293 + <name>xlab_mysql_youle&#xff08;&#x672c;&#x673a;&#xff09;</name>
  294 + <server>localhost</server>
  295 + <type>MYSQL</type>
  296 + <access>Native</access>
  297 + <database>xlab_youle</database>
  298 + <port>3306</port>
  299 + <username>root</username>
  300 + <password>Encrypted </password>
  301 + <servername/>
  302 + <data_tablespace/>
  303 + <index_tablespace/>
  304 + <attributes>
  305 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  306 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  307 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  308 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  309 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  310 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  311 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  312 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  313 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  314 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  315 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  316 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  317 + </attributes>
  318 + </connection>
  319 + <connection>
  320 + <name>xlab_youle</name>
  321 + <server/>
  322 + <type>MYSQL</type>
  323 + <access>JNDI</access>
  324 + <database>xlab_youle</database>
  325 + <port>1521</port>
  326 + <username/>
  327 + <password>Encrypted </password>
  328 + <servername/>
  329 + <data_tablespace/>
  330 + <index_tablespace/>
  331 + <attributes>
  332 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  333 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  334 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  335 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  336 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  337 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  338 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  339 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  340 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  341 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  342 + </attributes>
  343 + </connection>
  344 + <order>
  345 + <hop> <from>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</from><to>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</to><enabled>Y</enabled> </hop>
  346 + <hop> <from>&#x6dfb;&#x52a0;&#x53d1;&#x8f66;&#x987a;&#x5e8f;&#x53f7;</from><to>&#x8fc7;&#x6ee4;&#x8bb0;&#x5f55;&#xff08;&#x53d1;&#x8f66;&#x65f6;&#x95f4;&#x4e3a;&#x7a7a;&#xff09;</to><enabled>Y</enabled> </hop>
  347 + <hop> <from>&#x8fc7;&#x6ee4;&#x8bb0;&#x5f55;&#xff08;&#x53d1;&#x8f66;&#x65f6;&#x95f4;&#x4e3a;&#x7a7a;&#xff09;</from><to>&#x6dfb;&#x52a0;&#x5bf9;&#x5e94;&#x73ed;&#x6b21;&#x6570;</to><enabled>Y</enabled> </hop>
  348 + <hop> <from>&#x6dfb;&#x52a0;&#x5bf9;&#x5e94;&#x73ed;&#x6b21;&#x6570;</from><to>&#x5904;&#x7406;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
  349 + <hop> <from>&#x5904;&#x7406;&#x6570;&#x636e;</from><to>&#x5206;&#x7ec4;&#x5404;&#x4e2a;&#x8def;&#x724c;&#x7684;&#x7ad9;</to><enabled>Y</enabled> </hop>
  350 + <hop> <from>&#x67e5;&#x627e;&#x65f6;&#x523b;&#x8868;&#x57fa;&#x7840;&#x4fe1;&#x606f;&#x5173;&#x8054;</from><to>&#x67e5;&#x627e;&#x8def;&#x724c;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop>
  351 + <hop> <from>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x5173;&#x8054;</from><to>&#x67e5;&#x627e;&#x65f6;&#x523b;&#x8868;&#x57fa;&#x7840;&#x4fe1;&#x606f;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop>
  352 + <hop> <from>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178;</from><to>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178;</to><enabled>Y</enabled> </hop>
  353 + <hop> <from>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 2</from><to>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 2</to><enabled>Y</enabled> </hop>
  354 + <hop> <from>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 3</from><to>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 3</to><enabled>Y</enabled> </hop>
  355 + <hop> <from>&#x5339;&#x914d;&#x4e0a;&#x4e0b;&#x884c;&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x7c7b;&#x578b;&#x4fee;&#x6b63;</to><enabled>Y</enabled> </hop>
  356 + <hop> <from>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;1</from><to>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</to><enabled>Y</enabled> </hop>
  357 + <hop> <from>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;1</from><to>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
  358 + <hop> <from>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</from><to>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
  359 + <hop> <from>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</from><to>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
  360 + <hop> <from>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x4e0a;&#x4e0b;&#x884c;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x5339;&#x914d;&#x4e0a;&#x4e0b;&#x884c;&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>
  361 + <hop> <from>&#x67e5;&#x627e;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;</from><to>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178;</to><enabled>Y</enabled> </hop>
  362 + <hop> <from>&#x67e5;&#x627e;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</from><to>&#x67e5;&#x627e;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop>
  363 + <hop> <from>&#x6b63;&#x5e38;&#x73ed;&#x6b21;_&#x5904;&#x7406;&#x6570;&#x636e;</from><to>&#x67e5;&#x627e;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</to><enabled>Y</enabled> </hop>
  364 + <hop> <from>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x6570;&#x636e;</from><to>&#x6b63;&#x5e38;&#x73ed;&#x6b21;_&#x5904;&#x7406;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
  365 + <hop> <from>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178;</from><to>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x4e0a;&#x4e0b;&#x884c;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>
  366 + <hop> <from>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 2</from><to>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x51fa;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>
  367 + <hop> <from>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 3</from><to>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x8fdb;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>
  368 + <hop> <from>&#x67e5;&#x627e;&#x8def;&#x724c;&#x5173;&#x8054;</from><to>&#x8ba1;&#x7b97;&#x73ed;&#x6b21;&#x7c7b;&#x578b;</to><enabled>Y</enabled> </hop>
  369 + <hop> <from>&#x8ba1;&#x7b97;&#x73ed;&#x6b21;&#x7c7b;&#x578b;</from><to>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;1</to><enabled>Y</enabled> </hop>
  370 + <hop> <from>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</from><to>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;1</to><enabled>Y</enabled> </hop>
  371 + <hop> <from>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;1</from><to>&#x51fa;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x7ec8;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</to><enabled>Y</enabled> </hop>
  372 + <hop> <from>&#x51fa;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x7ec8;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</from><to>&#x67e5;&#x627e;&#x51fa;&#x573a;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</to><enabled>Y</enabled> </hop>
  373 + <hop> <from>&#x67e5;&#x627e;&#x51fa;&#x573a;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</from><to>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 2</to><enabled>Y</enabled> </hop>
  374 + <hop> <from>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</from><to>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;2</to><enabled>Y</enabled> </hop>
  375 + <hop> <from>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;2</from><to>&#x8fdb;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x8d77;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</to><enabled>Y</enabled> </hop>
  376 + <hop> <from>&#x8fdb;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x8d77;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</from><to>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ebf;&#x8def;&#x65b9;&#x5411;</to><enabled>Y</enabled> </hop>
  377 + <hop> <from>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ebf;&#x8def;&#x65b9;&#x5411;</from><to>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ec8;&#x70b9;&#x7ad9;&#xff0c;&#x5e76;&#x4f5c;&#x4e3a;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x70b9;&#x7ad9;</to><enabled>Y</enabled> </hop>
  378 + <hop> <from>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</from><to>&#x6dfb;&#x52a0;&#x53d1;&#x8f66;&#x987a;&#x5e8f;&#x53f7;</to><enabled>Y</enabled> </hop>
  379 + <hop> <from>&#x5206;&#x7ec4;&#x5404;&#x4e2a;&#x8def;&#x724c;&#x7684;&#x7ad9;</from><to>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop>
  380 + <hop> <from>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;&#xff0c;&#x7ebf;&#x8def;&#x540d;&#x5b57;&#xff0c;&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</from><to>&#x8bb0;&#x5f55;&#x5173;&#x8054; &#x28;&#x7b1b;&#x5361;&#x5c14;&#x8f93;&#x51fa;&#x29;</to><enabled>Y</enabled> </hop>
  381 + <hop> <from>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</from><to>&#x8bb0;&#x5f55;&#x5173;&#x8054; &#x28;&#x7b1b;&#x5361;&#x5c14;&#x8f93;&#x51fa;&#x29;</to><enabled>Y</enabled> </hop>
  382 + <hop> <from>&#x8bb0;&#x5f55;&#x5173;&#x8054; &#x28;&#x7b1b;&#x5361;&#x5c14;&#x8f93;&#x51fa;&#x29;</from><to>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</to><enabled>Y</enabled> </hop>
  383 + <hop> <from>&#x7c7b;&#x578b;&#x4fee;&#x6b63;</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail</to><enabled>Y</enabled> </hop>
  384 + <hop> <from>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ec8;&#x70b9;&#x7ad9;&#xff0c;&#x5e76;&#x4f5c;&#x4e3a;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x70b9;&#x7ad9;</from><to>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</to><enabled>Y</enabled> </hop>
  385 + <hop> <from>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</from><to>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 3</to><enabled>Y</enabled> </hop>
  386 + <hop> <from>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x51fa;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x5339;&#x914d;&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>
  387 + <hop> <from>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x8fdb;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x5339;&#x914d;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>
  388 + <hop> <from>&#x5339;&#x914d;&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x4e0a;&#x4e0b;&#x884c;NULL&#x5224;&#x5b9a;</to><enabled>Y</enabled> </hop>
  389 + <hop> <from>&#x4e0a;&#x4e0b;&#x884c;NULL&#x5224;&#x5b9a;</from><to>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 2</to><enabled>Y</enabled> </hop>
  390 + <hop> <from>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 2</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail 2</to><enabled>Y</enabled> </hop>
  391 + <hop> <from>&#x5339;&#x914d;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x4e0a;&#x4e0b;&#x884c;&#x5224;&#x5b9a; 2</to><enabled>Y</enabled> </hop>
  392 + <hop> <from>&#x4e0a;&#x4e0b;&#x884c;&#x5224;&#x5b9a; 2</from><to>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 3</to><enabled>Y</enabled> </hop>
  393 + <hop> <from>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 3</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail 3</to><enabled>Y</enabled> </hop>
  394 + </order>
  395 + <step>
  396 + <name>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178;</name>
  397 + <type>ValueMapper</type>
  398 + <description/>
  399 + <distribute>Y</distribute>
  400 + <custom_distribution/>
  401 + <copies>1</copies>
  402 + <partitioning>
  403 + <method>none</method>
  404 + <schema_name/>
  405 + </partitioning>
  406 + <field_to_use>sxx</field_to_use>
  407 + <target_field>sxx_desc</target_field>
  408 + <non_match_default/>
  409 + <fields>
  410 + <field>
  411 + <source_value>0</source_value>
  412 + <target_value>&#x4e0a;&#x884c;</target_value>
  413 + </field>
  414 + <field>
  415 + <source_value>1</source_value>
  416 + <target_value>&#x4e0b;&#x884c;</target_value>
  417 + </field>
  418 + </fields>
  419 + <cluster_schema/>
  420 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  421 + <xloc>147</xloc>
  422 + <yloc>403</yloc>
  423 + <draw>Y</draw>
  424 + </GUI>
  425 + </step>
  426 +
  427 + <step>
  428 + <name>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 2</name>
  429 + <type>ValueMapper</type>
  430 + <description/>
  431 + <distribute>Y</distribute>
  432 + <custom_distribution/>
  433 + <copies>1</copies>
  434 + <partitioning>
  435 + <method>none</method>
  436 + <schema_name/>
  437 + </partitioning>
  438 + <field_to_use>sxx</field_to_use>
  439 + <target_field>sxx_desc</target_field>
  440 + <non_match_default/>
  441 + <fields>
  442 + <field>
  443 + <source_value>0</source_value>
  444 + <target_value>&#x4e0a;&#x884c;</target_value>
  445 + </field>
  446 + <field>
  447 + <source_value>1</source_value>
  448 + <target_value>&#x4e0b;&#x884c;</target_value>
  449 + </field>
  450 + </fields>
  451 + <cluster_schema/>
  452 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  453 + <xloc>331</xloc>
  454 + <yloc>598</yloc>
  455 + <draw>Y</draw>
  456 + </GUI>
  457 + </step>
  458 +
  459 + <step>
  460 + <name>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 3</name>
  461 + <type>ValueMapper</type>
  462 + <description/>
  463 + <distribute>Y</distribute>
  464 + <custom_distribution/>
  465 + <copies>1</copies>
  466 + <partitioning>
  467 + <method>none</method>
  468 + <schema_name/>
  469 + </partitioning>
  470 + <field_to_use>sxx</field_to_use>
  471 + <target_field>sxx_desc</target_field>
  472 + <non_match_default/>
  473 + <fields>
  474 + <field>
  475 + <source_value>0</source_value>
  476 + <target_value>&#x4e0a;&#x884c;</target_value>
  477 + </field>
  478 + <field>
  479 + <source_value>1</source_value>
  480 + <target_value>&#x4e0b;&#x884c;</target_value>
  481 + </field>
  482 + </fields>
  483 + <cluster_schema/>
  484 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  485 + <xloc>553</xloc>
  486 + <yloc>859</yloc>
  487 + <draw>Y</draw>
  488 + </GUI>
  489 + </step>
  490 +
  491 + <step>
  492 + <name>&#x51fa;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x7ec8;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</name>
  493 + <type>ScriptValueMod</type>
  494 + <description/>
  495 + <distribute>Y</distribute>
  496 + <custom_distribution/>
  497 + <copies>1</copies>
  498 + <partitioning>
  499 + <method>none</method>
  500 + <schema_name/>
  501 + </partitioning>
  502 + <compatible>N</compatible>
  503 + <optimizationLevel>9</optimizationLevel>
  504 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  505 + <jsScript_name>Script 1</jsScript_name>
  506 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f; &#x6dfb;&#x52a0;&#x7ad9;&#x70b9;&#x6807;&#x8bc6;&#xa;var cc_groups &#x3d; qdzgroups.split&#x28;&#x22;,&#x22;&#x29;&#x3b; &#x2f;&#x2f; &#x6240;&#x6709;&#x73ed;&#x6b21;&#x8d77;&#x70b9;&#x7ad9;&#x6570;&#x7ec4;&#xa;var zdzname &#x3d; cc_groups&#x5b;gno&#x5d;&#x3b; &#x2f;&#x2f; &#x51fa;&#x573a;&#x73ed;&#x6b21;&#x7684;&#x7ec8;&#x70b9;&#x7ad9;&#x662f;&#x4e0b;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x59cb;&#x7ad9;&#xa;var endZdtype &#x3d; &#x27;E&#x27;&#x3b;&#xa;&#xa;var destory &#x3d; 0&#x3b; &#x2f;&#x2f; &#x672a;&#x64a4;&#x9500;flag</jsScript_script>
  507 + </jsScript> </jsScripts> <fields> <field> <name>zdzname</name>
  508 + <rename>zdzname</rename>
  509 + <type>String</type>
  510 + <length>-1</length>
  511 + <precision>-1</precision>
  512 + <replace>N</replace>
  513 + </field> <field> <name>endZdtype</name>
  514 + <rename>endZdtype</rename>
  515 + <type>String</type>
  516 + <length>-1</length>
  517 + <precision>-1</precision>
  518 + <replace>N</replace>
  519 + </field> <field> <name>destory</name>
  520 + <rename>destory</rename>
  521 + <type>Integer</type>
  522 + <length>-1</length>
  523 + <precision>-1</precision>
  524 + <replace>N</replace>
  525 + </field> </fields> <cluster_schema/>
  526 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  527 + <xloc>575</xloc>
  528 + <yloc>502</yloc>
  529 + <draw>Y</draw>
  530 + </GUI>
  531 + </step>
  532 +
  533 + <step>
  534 + <name>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</name>
  535 + <type>Dummy</type>
  536 + <description/>
  537 + <distribute>Y</distribute>
  538 + <custom_distribution/>
  539 + <copies>1</copies>
  540 + <partitioning>
  541 + <method>none</method>
  542 + <schema_name/>
  543 + </partitioning>
  544 + <cluster_schema/>
  545 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  546 + <xloc>869</xloc>
  547 + <yloc>504</yloc>
  548 + <draw>Y</draw>
  549 + </GUI>
  550 + </step>
  551 +
  552 + <step>
  553 + <name>&#x5206;&#x7ec4;&#x5404;&#x4e2a;&#x8def;&#x724c;&#x7684;&#x7ad9;</name>
  554 + <type>GroupBy</type>
  555 + <description/>
  556 + <distribute>Y</distribute>
  557 + <custom_distribution/>
  558 + <copies>1</copies>
  559 + <partitioning>
  560 + <method>none</method>
  561 + <schema_name/>
  562 + </partitioning>
  563 + <all_rows>Y</all_rows>
  564 + <ignore_aggregate>N</ignore_aggregate>
  565 + <field_ignore/>
  566 + <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
  567 + <prefix>grp</prefix>
  568 + <add_linenr>Y</add_linenr>
  569 + <linenr_fieldname>gno</linenr_fieldname>
  570 + <give_back_row>N</give_back_row>
  571 + <group>
  572 + <field>
  573 + <name>lp</name>
  574 + </field>
  575 + </group>
  576 + <fields>
  577 + <field>
  578 + <aggregate>qdzgroups</aggregate>
  579 + <subject>qdzname</subject>
  580 + <type>CONCAT_STRING</type>
  581 + <valuefield>,</valuefield>
  582 + </field>
  583 + </fields>
  584 + <cluster_schema/>
  585 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  586 + <xloc>892</xloc>
  587 + <yloc>44</yloc>
  588 + <draw>Y</draw>
  589 + </GUI>
  590 + </step>
  591 +
  592 + <step>
  593 + <name>&#x5339;&#x914d;&#x4e0a;&#x4e0b;&#x884c;&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
  594 + <type>ScriptValueMod</type>
  595 + <description/>
  596 + <distribute>Y</distribute>
  597 + <custom_distribution/>
  598 + <copies>1</copies>
  599 + <partitioning>
  600 + <method>none</method>
  601 + <schema_name/>
  602 + </partitioning>
  603 + <compatible>N</compatible>
  604 + <optimizationLevel>9</optimizationLevel>
  605 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  606 + <jsScript_name>Script 1</jsScript_name>
  607 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var jhlc&#x3b; &#x2f;&#x2f; &#x8ba1;&#x5212;&#x91cc;&#x7a0b;&#xa;var bcsj&#x3b; &#x2f;&#x2f; &#x73ed;&#x6b21;&#x65f6;&#x95f4;&#xa;&#xa;if &#x28;sxx &#x3d;&#x3d; 0&#x29; &#x7b; &#x2f;&#x2f; &#x4e0a;&#x884c;&#xa; jhlc &#x3d; up_mileage&#x3b;&#xa; bcsj &#x3d; up_travel_time&#x3b;&#xa;&#x7d; else &#x7b; &#x2f;&#x2f; sxx &#x3d;&#x3d; 1 &#x4e0b;&#x884c;&#xa; jhlc &#x3d; down_mileage&#x3b;&#xa; bcsj &#x3d; down_travel_time&#x3b;&#xa;&#x7d;</jsScript_script>
  608 + </jsScript> </jsScripts> <fields> <field> <name>jhlc</name>
  609 + <rename>jhlc</rename>
  610 + <type>String</type>
  611 + <length>-1</length>
  612 + <precision>-1</precision>
  613 + <replace>N</replace>
  614 + </field> <field> <name>bcsj</name>
  615 + <rename>bcsj</rename>
  616 + <type>String</type>
  617 + <length>-1</length>
  618 + <precision>-1</precision>
  619 + <replace>N</replace>
  620 + </field> </fields> <cluster_schema/>
  621 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  622 + <xloc>148</xloc>
  623 + <yloc>674</yloc>
  624 + <draw>Y</draw>
  625 + </GUI>
  626 + </step>
  627 +
  628 + <step>
  629 + <name>&#x5339;&#x914d;&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
  630 + <type>ScriptValueMod</type>
  631 + <description/>
  632 + <distribute>Y</distribute>
  633 + <custom_distribution/>
  634 + <copies>1</copies>
  635 + <partitioning>
  636 + <method>none</method>
  637 + <schema_name/>
  638 + </partitioning>
  639 + <compatible>N</compatible>
  640 + <optimizationLevel>9</optimizationLevel>
  641 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  642 + <jsScript_name>Script 1</jsScript_name>
  643 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var out_mileage&#x3b; &#x2f;&#x2f; &#x51fa;&#x573a;&#x8ba1;&#x5212;&#x91cc;&#x7a0b;&#xa;var out_time&#x3b; &#x2f;&#x2f; &#x51fa;&#x573a;&#x8ba1;&#x5212;&#x65f6;&#x95f4;&#xa;&#xa;if &#x28;sxx &#x3d;&#x3d; 0&#x29; &#x7b; &#x2f;&#x2f; &#x4e0a;&#x884c;&#xa; out_mileage &#x3d; up_out_mileage&#x3b;&#xa; out_time &#x3d; up_out_timer&#x3b;&#xa;&#x7d; else &#x7b; &#x2f;&#x2f; sxx &#x3d;&#x3d; 1 &#x4e0b;&#x884c;&#xa; out_mileage &#x3d; down_out_mileage&#x3b;&#xa; out_time &#x3d; down_out_timer&#x3b;&#xa;&#x7d;&#xa;&#xa;&#xa;&#xa;</jsScript_script>
  644 + </jsScript> </jsScripts> <fields> <field> <name>out_mileage</name>
  645 + <rename>out_mileage</rename>
  646 + <type>String</type>
  647 + <length>-1</length>
  648 + <precision>-1</precision>
  649 + <replace>N</replace>
  650 + </field> <field> <name>out_time</name>
  651 + <rename>out_time</rename>
  652 + <type>String</type>
  653 + <length>-1</length>
  654 + <precision>-1</precision>
  655 + <replace>N</replace>
  656 + </field> </fields> <cluster_schema/>
  657 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  658 + <xloc>336</xloc>
  659 + <yloc>862</yloc>
  660 + <draw>Y</draw>
  661 + </GUI>
  662 + </step>
  663 +
  664 + <step>
  665 + <name>&#x5339;&#x914d;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
  666 + <type>ScriptValueMod</type>
  667 + <description/>
  668 + <distribute>Y</distribute>
  669 + <custom_distribution/>
  670 + <copies>1</copies>
  671 + <partitioning>
  672 + <method>none</method>
  673 + <schema_name/>
  674 + </partitioning>
  675 + <compatible>N</compatible>
  676 + <optimizationLevel>9</optimizationLevel>
  677 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  678 + <jsScript_name>Script 1</jsScript_name>
  679 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var parade_mileage&#x3b; &#x2f;&#x2f; &#x8fdb;&#x573a;&#x8ba1;&#x5212;&#x91cc;&#x7a0b;&#xa;var parade_time&#x3b; &#x2f;&#x2f; &#x8fdb;&#x573a;&#x8ba1;&#x5212;&#x65f6;&#x95f4;&#xa;&#xa;if &#x28;sxx2 &#x3d;&#x3d; 0&#x29; &#x7b; &#x2f;&#x2f; &#x4e0a;&#x884c;&#xa; parade_mileage &#x3d; up_in_mileage&#x3b;&#xa; parade_time &#x3d; up_in_timer&#x3b;&#xa;&#x7d; else &#x7b; &#x2f;&#x2f; sxx &#x3d;&#x3d; 1 &#x4e0b;&#x884c;&#xa; parade_mileage &#x3d; down_in_mileage&#x3b;&#xa; parade_time &#x3d; down_in_timer&#x3b;&#xa;&#x7d;&#xa;&#xa;&#xa;&#xa;</jsScript_script>
  680 + </jsScript> </jsScripts> <fields> <field> <name>parade_mileage</name>
  681 + <rename>parade_mileage</rename>
  682 + <type>String</type>
  683 + <length>-1</length>
  684 + <precision>-1</precision>
  685 + <replace>N</replace>
  686 + </field> <field> <name>parade_time</name>
  687 + <rename>parade_time</rename>
  688 + <type>String</type>
  689 + <length>-1</length>
  690 + <precision>-1</precision>
  691 + <replace>N</replace>
  692 + </field> </fields> <cluster_schema/>
  693 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  694 + <xloc>726</xloc>
  695 + <yloc>1005</yloc>
  696 + <draw>Y</draw>
  697 + </GUI>
  698 + </step>
  699 +
  700 + <step>
  701 + <name>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;&#xff0c;&#x7ebf;&#x8def;&#x540d;&#x5b57;&#xff0c;&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</name>
  702 + <type>DataGrid</type>
  703 + <description/>
  704 + <distribute>Y</distribute>
  705 + <custom_distribution/>
  706 + <copies>1</copies>
  707 + <partitioning>
  708 + <method>none</method>
  709 + <schema_name/>
  710 + </partitioning>
  711 + <fields>
  712 + </fields>
  713 + <data>
  714 + <line> </line>
  715 + </data>
  716 + <cluster_schema/>
  717 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  718 + <xloc>110</xloc>
  719 + <yloc>133</yloc>
  720 + <draw>Y</draw>
  721 + </GUI>
  722 + </step>
  723 +
  724 + <step>
  725 + <name>&#x5904;&#x7406;&#x6570;&#x636e;</name>
  726 + <type>ScriptValueMod</type>
  727 + <description/>
  728 + <distribute>Y</distribute>
  729 + <custom_distribution/>
  730 + <copies>1</copies>
  731 + <partitioning>
  732 + <method>none</method>
  733 + <schema_name/>
  734 + </partitioning>
  735 + <compatible>N</compatible>
  736 + <optimizationLevel>9</optimizationLevel>
  737 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  738 + <jsScript_name>Script 1</jsScript_name>
  739 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f; &#x4f7f;&#x7528;&#x6b63;&#x5219;&#x8868;&#x8fbe;&#x5f0f;&#x53bb;&#x9664;&#x7ad9;&#x70b9;&#x540d;&#x79f0;&#x4e2d;&#x7684;&#x6570;&#x5b57;&#xa;qdzname &#x3d; qdzname.replace&#x28;&#x2f;&#x5c;d&#x2b;&#x2f;g,&#x27;&#x27;&#x29;&#x3b;&#xa;&#xa;&#x2f;&#x2f; sendtime&#x5904;&#x7406;&#xa;var sendtime_calcu&#x3b;&#xa;if &#x28;sendtime.length &#x21;&#x3d; 5&#x29; &#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 2&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;2, 2&#x29;&#x3b;&#xa;else &#xa; sendtime_calcu &#x3d; sendtime&#x3b;&#xa;&#xa;&#x2f;&#x2f; &#x8bbe;&#x7f6e;&#x5206;&#x73ed;&#xa;var isfb &#x3d; 0&#x3b;&#xa;&#xa;&#x2f;&#x2f; &#x8bbe;&#x7f6e;isCanceled&#xa;var iscanceled &#x3d; 0&#x3b;</jsScript_script>
  740 + </jsScript> </jsScripts> <fields> <field> <name>qdzname</name>
  741 + <rename>qdzname</rename>
  742 + <type>String</type>
  743 + <length>-1</length>
  744 + <precision>-1</precision>
  745 + <replace>Y</replace>
  746 + </field> <field> <name>isfb</name>
  747 + <rename>isfb</rename>
  748 + <type>Integer</type>
  749 + <length>-1</length>
  750 + <precision>-1</precision>
  751 + <replace>N</replace>
  752 + </field> <field> <name>iscanceled</name>
  753 + <rename>iscanceled</rename>
  754 + <type>Integer</type>
  755 + <length>-1</length>
  756 + <precision>-1</precision>
  757 + <replace>N</replace>
  758 + </field> <field> <name>sendtime_calcu</name>
  759 + <rename>sendtime_calcu</rename>
  760 + <type>String</type>
  761 + <length>-1</length>
  762 + <precision>-1</precision>
  763 + <replace>N</replace>
  764 + </field> </fields> <cluster_schema/>
  765 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  766 + <xloc>788</xloc>
  767 + <yloc>44</yloc>
  768 + <draw>Y</draw>
  769 + </GUI>
  770 + </step>
  771 +
  772 + <step>
  773 + <name>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</name>
  774 + <type>SelectValues</type>
  775 + <description/>
  776 + <distribute>Y</distribute>
  777 + <custom_distribution/>
  778 + <copies>1</copies>
  779 + <partitioning>
  780 + <method>none</method>
  781 + <schema_name/>
  782 + </partitioning>
  783 + <fields> <field> <name>&#x8def;&#x724c;</name>
  784 + <rename>lp</rename>
  785 + <length>-2</length>
  786 + <precision>-2</precision>
  787 + </field> <field> <name>&#x7ad9;&#x70b9;&#x540d;&#x79f0;</name>
  788 + <rename>qdzname</rename>
  789 + <length>-2</length>
  790 + <precision>-2</precision>
  791 + </field> <field> <name>&#x53d1;&#x8f66;&#x65f6;&#x95f4;</name>
  792 + <rename>sendtime</rename>
  793 + <length>-2</length>
  794 + <precision>-2</precision>
  795 + </field> <select_unspecified>Y</select_unspecified>
  796 + </fields> <cluster_schema/>
  797 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  798 + <xloc>444</xloc>
  799 + <yloc>131</yloc>
  800 + <draw>Y</draw>
  801 + </GUI>
  802 + </step>
  803 +
  804 + <step>
  805 + <name>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;1</name>
  806 + <type>FilterRows</type>
  807 + <description/>
  808 + <distribute>Y</distribute>
  809 + <custom_distribution/>
  810 + <copies>1</copies>
  811 + <partitioning>
  812 + <method>none</method>
  813 + <schema_name/>
  814 + </partitioning>
  815 +<send_true_to>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x6570;&#x636e;</send_true_to>
  816 +<send_false_to>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</send_false_to>
  817 + <compare>
  818 +<condition>
  819 + <negated>N</negated>
  820 + <leftvalue>bctype</leftvalue>
  821 + <function>&#x3d;</function>
  822 + <rightvalue/>
  823 + <value><name>constant</name><type>String</type><text>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</text><length>-1</length><precision>-1</precision><isnull>N</isnull><mask/></value> </condition>
  824 + </compare>
  825 + <cluster_schema/>
  826 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  827 + <xloc>860</xloc>
  828 + <yloc>401</yloc>
  829 + <draw>Y</draw>
  830 + </GUI>
  831 + </step>
  832 +
  833 + <step>
  834 + <name>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</name>
  835 + <type>FilterRows</type>
  836 + <description/>
  837 + <distribute>Y</distribute>
  838 + <custom_distribution/>
  839 + <copies>1</copies>
  840 + <partitioning>
  841 + <method>none</method>
  842 + <schema_name/>
  843 + </partitioning>
  844 +<send_true_to>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</send_true_to>
  845 +<send_false_to>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</send_false_to>
  846 + <compare>
  847 +<condition>
  848 + <negated>N</negated>
  849 + <leftvalue>bctype</leftvalue>
  850 + <function>&#x3d;</function>
  851 + <rightvalue/>
  852 + <value><name>constant</name><type>String</type><text>&#x51fa;&#x573a;</text><length>-1</length><precision>-1</precision><isnull>N</isnull><mask/></value> </condition>
  853 + </compare>
  854 + <cluster_schema/>
  855 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  856 + <xloc>995</xloc>
  857 + <yloc>503</yloc>
  858 + <draw>Y</draw>
  859 + </GUI>
  860 + </step>
  861 +
  862 + <step>
  863 + <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail</name>
  864 + <type>InsertUpdate</type>
  865 + <description/>
  866 + <distribute>Y</distribute>
  867 + <custom_distribution/>
  868 + <copies>1</copies>
  869 + <partitioning>
  870 + <method>none</method>
  871 + <schema_name/>
  872 + </partitioning>
  873 + <connection>bus_control_variable</connection>
  874 + <commit>100</commit>
  875 + <update_bypassed>N</update_bypassed>
  876 + <lookup>
  877 + <schema/>
  878 + <table>bsth_c_s_ttinfo_detail</table>
  879 + <key>
  880 + <name>xlid</name>
  881 + <field>xl</field>
  882 + <condition>&#x3d;</condition>
  883 + <name2/>
  884 + </key>
  885 + <key>
  886 + <name>ttid</name>
  887 + <field>ttinfo</field>
  888 + <condition>&#x3d;</condition>
  889 + <name2/>
  890 + </key>
  891 + <key>
  892 + <name>lpid</name>
  893 + <field>lp</field>
  894 + <condition>&#x3d;</condition>
  895 + <name2/>
  896 + </key>
  897 + <key>
  898 + <name>fcno</name>
  899 + <field>fcno</field>
  900 + <condition>&#x3d;</condition>
  901 + <name2/>
  902 + </key>
  903 + <key>
  904 + <name>bcs</name>
  905 + <field>bcs</field>
  906 + <condition>&#x3d;</condition>
  907 + <name2/>
  908 + </key>
  909 + <value>
  910 + <name>lp</name>
  911 + <rename>lpid</rename>
  912 + <update>Y</update>
  913 + </value>
  914 + <value>
  915 + <name>bc_type</name>
  916 + <rename>bctype_code</rename>
  917 + <update>Y</update>
  918 + </value>
  919 + <value>
  920 + <name>bcs</name>
  921 + <rename>bcs</rename>
  922 + <update>Y</update>
  923 + </value>
  924 + <value>
  925 + <name>bcsj</name>
  926 + <rename>bcsj</rename>
  927 + <update>Y</update>
  928 + </value>
  929 + <value>
  930 + <name>fcno</name>
  931 + <rename>fcno</rename>
  932 + <update>Y</update>
  933 + </value>
  934 + <value>
  935 + <name>jhlc</name>
  936 + <rename>jhlc</rename>
  937 + <update>Y</update>
  938 + </value>
  939 + <value>
  940 + <name>fcsj</name>
  941 + <rename>sendtime_calcu</rename>
  942 + <update>Y</update>
  943 + </value>
  944 + <value>
  945 + <name>ttinfo</name>
  946 + <rename>ttid</rename>
  947 + <update>Y</update>
  948 + </value>
  949 + <value>
  950 + <name>xl</name>
  951 + <rename>xlid</rename>
  952 + <update>Y</update>
  953 + </value>
  954 + <value>
  955 + <name>qdz</name>
  956 + <rename>qdzid</rename>
  957 + <update>Y</update>
  958 + </value>
  959 + <value>
  960 + <name>zdz</name>
  961 + <rename>zdzid</rename>
  962 + <update>Y</update>
  963 + </value>
  964 + <value>
  965 + <name>xl_dir</name>
  966 + <rename>sxx</rename>
  967 + <update>Y</update>
  968 + </value>
  969 + <value>
  970 + <name>isfb</name>
  971 + <rename>isfb</rename>
  972 + <update>Y</update>
  973 + </value>
  974 + </lookup>
  975 + <cluster_schema/>
  976 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  977 + <xloc>143</xloc>
  978 + <yloc>860</yloc>
  979 + <draw>Y</draw>
  980 + </GUI>
  981 + </step>
  982 +
  983 + <step>
  984 + <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail 2</name>
  985 + <type>InsertUpdate</type>
  986 + <description/>
  987 + <distribute>Y</distribute>
  988 + <custom_distribution/>
  989 + <copies>1</copies>
  990 + <partitioning>
  991 + <method>none</method>
  992 + <schema_name/>
  993 + </partitioning>
  994 + <connection>bus_control_variable</connection>
  995 + <commit>100</commit>
  996 + <update_bypassed>N</update_bypassed>
  997 + <lookup>
  998 + <schema/>
  999 + <table>bsth_c_s_ttinfo_detail</table>
  1000 + <key>
  1001 + <name>xlid</name>
  1002 + <field>xl</field>
  1003 + <condition>&#x3d;</condition>
  1004 + <name2/>
  1005 + </key>
  1006 + <key>
  1007 + <name>ttid</name>
  1008 + <field>ttinfo</field>
  1009 + <condition>&#x3d;</condition>
  1010 + <name2/>
  1011 + </key>
  1012 + <key>
  1013 + <name>lpid</name>
  1014 + <field>lp</field>
  1015 + <condition>&#x3d;</condition>
  1016 + <name2/>
  1017 + </key>
  1018 + <key>
  1019 + <name>fcno</name>
  1020 + <field>fcno</field>
  1021 + <condition>&#x3d;</condition>
  1022 + <name2/>
  1023 + </key>
  1024 + <key>
  1025 + <name>bcs</name>
  1026 + <field>bcs</field>
  1027 + <condition>&#x3d;</condition>
  1028 + <name2/>
  1029 + </key>
  1030 + <value>
  1031 + <name>tcc</name>
  1032 + <rename>qdzid</rename>
  1033 + <update>Y</update>
  1034 + </value>
  1035 + <value>
  1036 + <name>zdz</name>
  1037 + <rename>zdzid</rename>
  1038 + <update>Y</update>
  1039 + </value>
  1040 + <value>
  1041 + <name>xl</name>
  1042 + <rename>xlid</rename>
  1043 + <update>Y</update>
  1044 + </value>
  1045 + <value>
  1046 + <name>ttinfo</name>
  1047 + <rename>ttid</rename>
  1048 + <update>Y</update>
  1049 + </value>
  1050 + <value>
  1051 + <name>xl_dir</name>
  1052 + <rename>sxx</rename>
  1053 + <update>Y</update>
  1054 + </value>
  1055 + <value>
  1056 + <name>lp</name>
  1057 + <rename>lpid</rename>
  1058 + <update>Y</update>
  1059 + </value>
  1060 + <value>
  1061 + <name>jhlc</name>
  1062 + <rename>out_mileage</rename>
  1063 + <update>Y</update>
  1064 + </value>
  1065 + <value>
  1066 + <name>fcsj</name>
  1067 + <rename>sendtime_calcu</rename>
  1068 + <update>Y</update>
  1069 + </value>
  1070 + <value>
  1071 + <name>bcsj</name>
  1072 + <rename>out_time</rename>
  1073 + <update>Y</update>
  1074 + </value>
  1075 + <value>
  1076 + <name>bcs</name>
  1077 + <rename>bcs</rename>
  1078 + <update>Y</update>
  1079 + </value>
  1080 + <value>
  1081 + <name>fcno</name>
  1082 + <rename>fcno</rename>
  1083 + <update>Y</update>
  1084 + </value>
  1085 + <value>
  1086 + <name>bc_type</name>
  1087 + <rename>bctype_code</rename>
  1088 + <update>Y</update>
  1089 + </value>
  1090 + <value>
  1091 + <name>isfb</name>
  1092 + <rename>isfb</rename>
  1093 + <update>Y</update>
  1094 + </value>
  1095 + </lookup>
  1096 + <cluster_schema/>
  1097 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1098 + <xloc>340</xloc>
  1099 + <yloc>1087</yloc>
  1100 + <draw>Y</draw>
  1101 + </GUI>
  1102 + </step>
  1103 +
  1104 + <step>
  1105 + <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail 3</name>
  1106 + <type>InsertUpdate</type>
  1107 + <description/>
  1108 + <distribute>Y</distribute>
  1109 + <custom_distribution/>
  1110 + <copies>1</copies>
  1111 + <partitioning>
  1112 + <method>none</method>
  1113 + <schema_name/>
  1114 + </partitioning>
  1115 + <connection>bus_control_variable</connection>
  1116 + <commit>100</commit>
  1117 + <update_bypassed>N</update_bypassed>
  1118 + <lookup>
  1119 + <schema/>
  1120 + <table>bsth_c_s_ttinfo_detail</table>
  1121 + <key>
  1122 + <name>xlid</name>
  1123 + <field>xl</field>
  1124 + <condition>&#x3d;</condition>
  1125 + <name2/>
  1126 + </key>
  1127 + <key>
  1128 + <name>ttid</name>
  1129 + <field>ttinfo</field>
  1130 + <condition>&#x3d;</condition>
  1131 + <name2/>
  1132 + </key>
  1133 + <key>
  1134 + <name>lpid</name>
  1135 + <field>lp</field>
  1136 + <condition>&#x3d;</condition>
  1137 + <name2/>
  1138 + </key>
  1139 + <key>
  1140 + <name>fcno</name>
  1141 + <field>fcno</field>
  1142 + <condition>&#x3d;</condition>
  1143 + <name2/>
  1144 + </key>
  1145 + <key>
  1146 + <name>bcs</name>
  1147 + <field>bcs</field>
  1148 + <condition>&#x3d;</condition>
  1149 + <name2/>
  1150 + </key>
  1151 + <value>
  1152 + <name>fcno</name>
  1153 + <rename>fcno</rename>
  1154 + <update>Y</update>
  1155 + </value>
  1156 + <value>
  1157 + <name>bcs</name>
  1158 + <rename>bcs</rename>
  1159 + <update>Y</update>
  1160 + </value>
  1161 + <value>
  1162 + <name>xl</name>
  1163 + <rename>xlid</rename>
  1164 + <update>Y</update>
  1165 + </value>
  1166 + <value>
  1167 + <name>ttinfo</name>
  1168 + <rename>ttid</rename>
  1169 + <update>Y</update>
  1170 + </value>
  1171 + <value>
  1172 + <name>lp</name>
  1173 + <rename>lpid</rename>
  1174 + <update>Y</update>
  1175 + </value>
  1176 + <value>
  1177 + <name>bc_type</name>
  1178 + <rename>bctype_code</rename>
  1179 + <update>Y</update>
  1180 + </value>
  1181 + <value>
  1182 + <name>bcsj</name>
  1183 + <rename>parade_time</rename>
  1184 + <update>Y</update>
  1185 + </value>
  1186 + <value>
  1187 + <name>jhlc</name>
  1188 + <rename>parade_mileage</rename>
  1189 + <update>Y</update>
  1190 + </value>
  1191 + <value>
  1192 + <name>fcsj</name>
  1193 + <rename>sendtime_calcu</rename>
  1194 + <update>Y</update>
  1195 + </value>
  1196 + <value>
  1197 + <name>xl_dir</name>
  1198 + <rename>sxx2</rename>
  1199 + <update>Y</update>
  1200 + </value>
  1201 + <value>
  1202 + <name>qdz</name>
  1203 + <rename>qdzid</rename>
  1204 + <update>Y</update>
  1205 + </value>
  1206 + <value>
  1207 + <name>tcc</name>
  1208 + <rename>zdzid</rename>
  1209 + <update>Y</update>
  1210 + </value>
  1211 + <value>
  1212 + <name>isfb</name>
  1213 + <rename>isfb</rename>
  1214 + <update>Y</update>
  1215 + </value>
  1216 + </lookup>
  1217 + <cluster_schema/>
  1218 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1219 + <xloc>845</xloc>
  1220 + <yloc>899</yloc>
  1221 + <draw>Y</draw>
  1222 + </GUI>
  1223 + </step>
  1224 +
  1225 + <step>
  1226 + <name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</name>
  1227 + <type>ExcelInput</type>
  1228 + <description/>
  1229 + <distribute>N</distribute>
  1230 + <custom_distribution/>
  1231 + <copies>1</copies>
  1232 + <partitioning>
  1233 + <method>none</method>
  1234 + <schema_name/>
  1235 + </partitioning>
  1236 + <header>Y</header>
  1237 + <noempty>Y</noempty>
  1238 + <stoponempty>N</stoponempty>
  1239 + <filefield/>
  1240 + <sheetfield/>
  1241 + <sheetrownumfield/>
  1242 + <rownumfield/>
  1243 + <sheetfield/>
  1244 + <filefield/>
  1245 + <limit>0</limit>
  1246 + <encoding/>
  1247 + <add_to_result_filenames>Y</add_to_result_filenames>
  1248 + <accept_filenames>N</accept_filenames>
  1249 + <accept_field/>
  1250 + <accept_stepname/>
  1251 + <file>
  1252 + <name/>
  1253 + <filemask/>
  1254 + <exclude_filemask/>
  1255 + <file_required>N</file_required>
  1256 + <include_subfolders>N</include_subfolders>
  1257 + </file>
  1258 + <fields>
  1259 + </fields>
  1260 + <sheets>
  1261 + <sheet>
  1262 + <name/>
  1263 + <startrow>0</startrow>
  1264 + <startcol>0</startcol>
  1265 + </sheet>
  1266 + </sheets>
  1267 + <strict_types>N</strict_types>
  1268 + <error_ignored>N</error_ignored>
  1269 + <error_line_skipped>N</error_line_skipped>
  1270 + <bad_line_files_destination_directory/>
  1271 + <bad_line_files_extension>warning</bad_line_files_extension>
  1272 + <error_line_files_destination_directory/>
  1273 + <error_line_files_extension>error</error_line_files_extension>
  1274 + <line_number_files_destination_directory/>
  1275 + <line_number_files_extension>line</line_number_files_extension>
  1276 + <shortFileFieldName/>
  1277 + <pathFieldName/>
  1278 + <hiddenFieldName/>
  1279 + <lastModificationTimeFieldName/>
  1280 + <uriNameFieldName/>
  1281 + <rootUriNameFieldName/>
  1282 + <extensionFieldName/>
  1283 + <sizeFieldName/>
  1284 + <spreadsheet_type>JXL</spreadsheet_type>
  1285 + <cluster_schema/>
  1286 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1287 + <xloc>112</xloc>
  1288 + <yloc>44</yloc>
  1289 + <draw>Y</draw>
  1290 + </GUI>
  1291 + </step>
  1292 +
  1293 + <step>
  1294 + <name>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;1</name>
  1295 + <type>DBLookup</type>
  1296 + <description/>
  1297 + <distribute>Y</distribute>
  1298 + <custom_distribution/>
  1299 + <copies>1</copies>
  1300 + <partitioning>
  1301 + <method>none</method>
  1302 + <schema_name/>
  1303 + </partitioning>
  1304 + <connection>bus_control_variable</connection>
  1305 + <cache>N</cache>
  1306 + <cache_load_all>N</cache_load_all>
  1307 + <cache_size>0</cache_size>
  1308 + <lookup>
  1309 + <schema/>
  1310 + <table>bsth_c_car_park</table>
  1311 + <orderby/>
  1312 + <fail_on_multiple>N</fail_on_multiple>
  1313 + <eat_row_on_failure>N</eat_row_on_failure>
  1314 + <key>
  1315 + <name>tccname_</name>
  1316 + <field>park_name</field>
  1317 + <condition>&#x3d;</condition>
  1318 + <name2/>
  1319 + </key>
  1320 + <value>
  1321 + <name>id</name>
  1322 + <rename>qdzid</rename>
  1323 + <default/>
  1324 + <type>Integer</type>
  1325 + </value>
  1326 + </lookup>
  1327 + <cluster_schema/>
  1328 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1329 + <xloc>755</xloc>
  1330 + <yloc>504</yloc>
  1331 + <draw>Y</draw>
  1332 + </GUI>
  1333 + </step>
  1334 +
  1335 + <step>
  1336 + <name>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;2</name>
  1337 + <type>DBLookup</type>
  1338 + <description/>
  1339 + <distribute>Y</distribute>
  1340 + <custom_distribution/>
  1341 + <copies>1</copies>
  1342 + <partitioning>
  1343 + <method>none</method>
  1344 + <schema_name/>
  1345 + </partitioning>
  1346 + <connection>bus_control_variable</connection>
  1347 + <cache>N</cache>
  1348 + <cache_load_all>N</cache_load_all>
  1349 + <cache_size>0</cache_size>
  1350 + <lookup>
  1351 + <schema/>
  1352 + <table>bsth_c_car_park</table>
  1353 + <orderby/>
  1354 + <fail_on_multiple>N</fail_on_multiple>
  1355 + <eat_row_on_failure>N</eat_row_on_failure>
  1356 + <key>
  1357 + <name>tccname_</name>
  1358 + <field>park_name</field>
  1359 + <condition>&#x3d;</condition>
  1360 + <name2/>
  1361 + </key>
  1362 + <value>
  1363 + <name>id</name>
  1364 + <rename>zdzid</rename>
  1365 + <default/>
  1366 + <type>Integer</type>
  1367 + </value>
  1368 + </lookup>
  1369 + <cluster_schema/>
  1370 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1371 + <xloc>887</xloc>
  1372 + <yloc>608</yloc>
  1373 + <draw>Y</draw>
  1374 + </GUI>
  1375 + </step>
  1376 +
  1377 + <step>
  1378 + <name>&#x67e5;&#x627e;&#x51fa;&#x573a;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</name>
  1379 + <type>DBLookup</type>
  1380 + <description/>
  1381 + <distribute>Y</distribute>
  1382 + <custom_distribution/>
  1383 + <copies>1</copies>
  1384 + <partitioning>
  1385 + <method>none</method>
  1386 + <schema_name/>
  1387 + </partitioning>
  1388 + <connection>bus_control_variable</connection>
  1389 + <cache>N</cache>
  1390 + <cache_load_all>N</cache_load_all>
  1391 + <cache_size>0</cache_size>
  1392 + <lookup>
  1393 + <schema/>
  1394 + <table>bsth_c_stationroute</table>
  1395 + <orderby/>
  1396 + <fail_on_multiple>N</fail_on_multiple>
  1397 + <eat_row_on_failure>N</eat_row_on_failure>
  1398 + <key>
  1399 + <name>xlid</name>
  1400 + <field>line</field>
  1401 + <condition>&#x3d;</condition>
  1402 + <name2/>
  1403 + </key>
  1404 + <key>
  1405 + <name>zdzname</name>
  1406 + <field>station_name</field>
  1407 + <condition>&#x3d;</condition>
  1408 + <name2/>
  1409 + </key>
  1410 + <key>
  1411 + <name>endZdtype</name>
  1412 + <field>station_mark</field>
  1413 + <condition>&#x3d;</condition>
  1414 + <name2/>
  1415 + </key>
  1416 + <key>
  1417 + <name>destory</name>
  1418 + <field>destroy</field>
  1419 + <condition>&#x3d;</condition>
  1420 + <name2/>
  1421 + </key>
  1422 + <value>
  1423 + <name>station</name>
  1424 + <rename>zdzid</rename>
  1425 + <default/>
  1426 + <type>Integer</type>
  1427 + </value>
  1428 + <value>
  1429 + <name>directions</name>
  1430 + <rename>sxx</rename>
  1431 + <default/>
  1432 + <type>Integer</type>
  1433 + </value>
  1434 + </lookup>
  1435 + <cluster_schema/>
  1436 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1437 + <xloc>329</xloc>
  1438 + <yloc>505</yloc>
  1439 + <draw>Y</draw>
  1440 + </GUI>
  1441 + </step>
  1442 +
  1443 + <step>
  1444 + <name>&#x67e5;&#x627e;&#x65f6;&#x523b;&#x8868;&#x57fa;&#x7840;&#x4fe1;&#x606f;&#x5173;&#x8054;</name>
  1445 + <type>DBLookup</type>
  1446 + <description/>
  1447 + <distribute>Y</distribute>
  1448 + <custom_distribution/>
  1449 + <copies>1</copies>
  1450 + <partitioning>
  1451 + <method>none</method>
  1452 + <schema_name/>
  1453 + </partitioning>
  1454 + <connection>bus_control_variable</connection>
  1455 + <cache>N</cache>
  1456 + <cache_load_all>N</cache_load_all>
  1457 + <cache_size>0</cache_size>
  1458 + <lookup>
  1459 + <schema/>
  1460 + <table>bsth_c_s_ttinfo</table>
  1461 + <orderby/>
  1462 + <fail_on_multiple>N</fail_on_multiple>
  1463 + <eat_row_on_failure>N</eat_row_on_failure>
  1464 + <key>
  1465 + <name>xlid</name>
  1466 + <field>xl</field>
  1467 + <condition>&#x3d;</condition>
  1468 + <name2/>
  1469 + </key>
  1470 + <key>
  1471 + <name>ttinfoname_</name>
  1472 + <field>name</field>
  1473 + <condition>&#x3d;</condition>
  1474 + <name2/>
  1475 + </key>
  1476 + <key>
  1477 + <name>iscanceled</name>
  1478 + <field>is_cancel</field>
  1479 + <condition>&#x3d;</condition>
  1480 + <name2/>
  1481 + </key>
  1482 + <value>
  1483 + <name>id</name>
  1484 + <rename>ttid</rename>
  1485 + <default/>
  1486 + <type>Integer</type>
  1487 + </value>
  1488 + </lookup>
  1489 + <cluster_schema/>
  1490 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1491 + <xloc>1011</xloc>
  1492 + <yloc>134</yloc>
  1493 + <draw>Y</draw>
  1494 + </GUI>
  1495 + </step>
  1496 +
  1497 + <step>
  1498 + <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x4e0a;&#x4e0b;&#x884c;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
  1499 + <type>DBLookup</type>
  1500 + <description/>
  1501 + <distribute>Y</distribute>
  1502 + <custom_distribution/>
  1503 + <copies>1</copies>
  1504 + <partitioning>
  1505 + <method>none</method>
  1506 + <schema_name/>
  1507 + </partitioning>
  1508 + <connection>bus_control_variable</connection>
  1509 + <cache>N</cache>
  1510 + <cache_load_all>N</cache_load_all>
  1511 + <cache_size>0</cache_size>
  1512 + <lookup>
  1513 + <schema/>
  1514 + <table>bsth_c_line_information</table>
  1515 + <orderby/>
  1516 + <fail_on_multiple>N</fail_on_multiple>
  1517 + <eat_row_on_failure>N</eat_row_on_failure>
  1518 + <key>
  1519 + <name>xlid</name>
  1520 + <field>line</field>
  1521 + <condition>&#x3d;</condition>
  1522 + <name2/>
  1523 + </key>
  1524 + <value>
  1525 + <name>up_mileage</name>
  1526 + <rename>up_mileage</rename>
  1527 + <default/>
  1528 + <type>Number</type>
  1529 + </value>
  1530 + <value>
  1531 + <name>down_mileage</name>
  1532 + <rename>down_mileage</rename>
  1533 + <default/>
  1534 + <type>Number</type>
  1535 + </value>
  1536 + <value>
  1537 + <name>up_travel_time</name>
  1538 + <rename>up_travel_time</rename>
  1539 + <default/>
  1540 + <type>Number</type>
  1541 + </value>
  1542 + <value>
  1543 + <name>down_travel_time</name>
  1544 + <rename>down_travel_time</rename>
  1545 + <default/>
  1546 + <type>Number</type>
  1547 + </value>
  1548 + </lookup>
  1549 + <cluster_schema/>
  1550 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1551 + <xloc>149</xloc>
  1552 + <yloc>581</yloc>
  1553 + <draw>Y</draw>
  1554 + </GUI>
  1555 + </step>
  1556 +
  1557 + <step>
  1558 + <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x5173;&#x8054;</name>
  1559 + <type>DBLookup</type>
  1560 + <description/>
  1561 + <distribute>Y</distribute>
  1562 + <custom_distribution/>
  1563 + <copies>1</copies>
  1564 + <partitioning>
  1565 + <method>none</method>
  1566 + <schema_name/>
  1567 + </partitioning>
  1568 + <connection>bus_control_variable</connection>
  1569 + <cache>N</cache>
  1570 + <cache_load_all>N</cache_load_all>
  1571 + <cache_size>0</cache_size>
  1572 + <lookup>
  1573 + <schema/>
  1574 + <table>bsth_c_line</table>
  1575 + <orderby/>
  1576 + <fail_on_multiple>N</fail_on_multiple>
  1577 + <eat_row_on_failure>N</eat_row_on_failure>
  1578 + <key>
  1579 + <name>xlname_</name>
  1580 + <field>name</field>
  1581 + <condition>&#x3d;</condition>
  1582 + <name2/>
  1583 + </key>
  1584 + <value>
  1585 + <name>id</name>
  1586 + <rename>xlid</rename>
  1587 + <default/>
  1588 + <type>Integer</type>
  1589 + </value>
  1590 + </lookup>
  1591 + <cluster_schema/>
  1592 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1593 + <xloc>1007</xloc>
  1594 + <yloc>43</yloc>
  1595 + <draw>Y</draw>
  1596 + </GUI>
  1597 + </step>
  1598 +
  1599 + <step>
  1600 + <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x51fa;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
  1601 + <type>DBLookup</type>
  1602 + <description/>
  1603 + <distribute>Y</distribute>
  1604 + <custom_distribution/>
  1605 + <copies>1</copies>
  1606 + <partitioning>
  1607 + <method>none</method>
  1608 + <schema_name/>
  1609 + </partitioning>
  1610 + <connection>bus_control_variable</connection>
  1611 + <cache>N</cache>
  1612 + <cache_load_all>N</cache_load_all>
  1613 + <cache_size>0</cache_size>
  1614 + <lookup>
  1615 + <schema/>
  1616 + <table>bsth_c_line_information</table>
  1617 + <orderby/>
  1618 + <fail_on_multiple>N</fail_on_multiple>
  1619 + <eat_row_on_failure>N</eat_row_on_failure>
  1620 + <key>
  1621 + <name>xlid</name>
  1622 + <field>line</field>
  1623 + <condition>&#x3d;</condition>
  1624 + <name2/>
  1625 + </key>
  1626 + <value>
  1627 + <name>up_out_timer</name>
  1628 + <rename>up_out_timer</rename>
  1629 + <default/>
  1630 + <type>Number</type>
  1631 + </value>
  1632 + <value>
  1633 + <name>up_out_mileage</name>
  1634 + <rename>up_out_mileage</rename>
  1635 + <default/>
  1636 + <type>Number</type>
  1637 + </value>
  1638 + <value>
  1639 + <name>down_out_timer</name>
  1640 + <rename>down_out_timer</rename>
  1641 + <default/>
  1642 + <type>Number</type>
  1643 + </value>
  1644 + <value>
  1645 + <name>down_out_mileage</name>
  1646 + <rename>down_out_mileage</rename>
  1647 + <default/>
  1648 + <type>Number</type>
  1649 + </value>
  1650 + </lookup>
  1651 + <cluster_schema/>
  1652 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1653 + <xloc>335</xloc>
  1654 + <yloc>763</yloc>
  1655 + <draw>Y</draw>
  1656 + </GUI>
  1657 + </step>
  1658 +
  1659 + <step>
  1660 + <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x8fdb;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
  1661 + <type>DBLookup</type>
  1662 + <description/>
  1663 + <distribute>Y</distribute>
  1664 + <custom_distribution/>
  1665 + <copies>1</copies>
  1666 + <partitioning>
  1667 + <method>none</method>
  1668 + <schema_name/>
  1669 + </partitioning>
  1670 + <connection>bus_control_variable</connection>
  1671 + <cache>N</cache>
  1672 + <cache_load_all>N</cache_load_all>
  1673 + <cache_size>0</cache_size>
  1674 + <lookup>
  1675 + <schema/>
  1676 + <table>bsth_c_line_information</table>
  1677 + <orderby/>
  1678 + <fail_on_multiple>N</fail_on_multiple>
  1679 + <eat_row_on_failure>N</eat_row_on_failure>
  1680 + <key>
  1681 + <name>xlid</name>
  1682 + <field>line</field>
  1683 + <condition>&#x3d;</condition>
  1684 + <name2/>
  1685 + </key>
  1686 + <value>
  1687 + <name>up_in_mileage</name>
  1688 + <rename>up_in_mileage</rename>
  1689 + <default/>
  1690 + <type>Number</type>
  1691 + </value>
  1692 + <value>
  1693 + <name>up_in_timer</name>
  1694 + <rename>up_in_timer</rename>
  1695 + <default/>
  1696 + <type>Number</type>
  1697 + </value>
  1698 + <value>
  1699 + <name>down_in_mileage</name>
  1700 + <rename>down_in_mileage</rename>
  1701 + <default/>
  1702 + <type>Number</type>
  1703 + </value>
  1704 + <value>
  1705 + <name>down_in_timer</name>
  1706 + <rename>down_in_timer</rename>
  1707 + <default/>
  1708 + <type>Number</type>
  1709 + </value>
  1710 + </lookup>
  1711 + <cluster_schema/>
  1712 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1713 + <xloc>553</xloc>
  1714 + <yloc>1004</yloc>
  1715 + <draw>Y</draw>
  1716 + </GUI>
  1717 + </step>
  1718 +
  1719 + <step>
  1720 + <name>&#x67e5;&#x627e;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;</name>
  1721 + <type>DBLookup</type>
  1722 + <description/>
  1723 + <distribute>Y</distribute>
  1724 + <custom_distribution/>
  1725 + <copies>1</copies>
  1726 + <partitioning>
  1727 + <method>none</method>
  1728 + <schema_name/>
  1729 + </partitioning>
  1730 + <connection>bus_control_variable</connection>
  1731 + <cache>N</cache>
  1732 + <cache_load_all>N</cache_load_all>
  1733 + <cache_size>0</cache_size>
  1734 + <lookup>
  1735 + <schema/>
  1736 + <table>bsth_c_stationroute</table>
  1737 + <orderby/>
  1738 + <fail_on_multiple>N</fail_on_multiple>
  1739 + <eat_row_on_failure>N</eat_row_on_failure>
  1740 + <key>
  1741 + <name>xlid</name>
  1742 + <field>line</field>
  1743 + <condition>&#x3d;</condition>
  1744 + <name2/>
  1745 + </key>
  1746 + <key>
  1747 + <name>sxx</name>
  1748 + <field>directions</field>
  1749 + <condition>&#x3d;</condition>
  1750 + <name2/>
  1751 + </key>
  1752 + <key>
  1753 + <name>endZdtype</name>
  1754 + <field>station_mark</field>
  1755 + <condition>&#x3d;</condition>
  1756 + <name2/>
  1757 + </key>
  1758 + <key>
  1759 + <name>destory</name>
  1760 + <field>destroy</field>
  1761 + <condition>&#x3d;</condition>
  1762 + <name2/>
  1763 + </key>
  1764 + <value>
  1765 + <name>station_name</name>
  1766 + <rename>zdzname</rename>
  1767 + <default/>
  1768 + <type>String</type>
  1769 + </value>
  1770 + <value>
  1771 + <name>station</name>
  1772 + <rename>zdzid</rename>
  1773 + <default/>
  1774 + <type>Integer</type>
  1775 + </value>
  1776 + </lookup>
  1777 + <cluster_schema/>
  1778 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1779 + <xloc>280</xloc>
  1780 + <yloc>404</yloc>
  1781 + <draw>Y</draw>
  1782 + </GUI>
  1783 + </step>
  1784 +
  1785 + <step>
  1786 + <name>&#x67e5;&#x627e;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</name>
  1787 + <type>DBLookup</type>
  1788 + <description/>
  1789 + <distribute>Y</distribute>
  1790 + <custom_distribution/>
  1791 + <copies>1</copies>
  1792 + <partitioning>
  1793 + <method>none</method>
  1794 + <schema_name/>
  1795 + </partitioning>
  1796 + <connection>bus_control_variable</connection>
  1797 + <cache>N</cache>
  1798 + <cache_load_all>N</cache_load_all>
  1799 + <cache_size>0</cache_size>
  1800 + <lookup>
  1801 + <schema/>
  1802 + <table>bsth_c_stationroute</table>
  1803 + <orderby/>
  1804 + <fail_on_multiple>N</fail_on_multiple>
  1805 + <eat_row_on_failure>N</eat_row_on_failure>
  1806 + <key>
  1807 + <name>xlid</name>
  1808 + <field>line</field>
  1809 + <condition>&#x3d;</condition>
  1810 + <name2/>
  1811 + </key>
  1812 + <key>
  1813 + <name>qdzname</name>
  1814 + <field>station_name</field>
  1815 + <condition>&#x3d;</condition>
  1816 + <name2/>
  1817 + </key>
  1818 + <key>
  1819 + <name>sendZdtype</name>
  1820 + <field>station_mark</field>
  1821 + <condition>&#x3d;</condition>
  1822 + <name2/>
  1823 + </key>
  1824 + <key>
  1825 + <name>destory</name>
  1826 + <field>destroy</field>
  1827 + <condition>&#x3d;</condition>
  1828 + <name2/>
  1829 + </key>
  1830 + <value>
  1831 + <name>station</name>
  1832 + <rename>qdzid</rename>
  1833 + <default/>
  1834 + <type>Integer</type>
  1835 + </value>
  1836 + <value>
  1837 + <name>directions</name>
  1838 + <rename>sxx</rename>
  1839 + <default/>
  1840 + <type>Integer</type>
  1841 + </value>
  1842 + </lookup>
  1843 + <cluster_schema/>
  1844 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1845 + <xloc>430</xloc>
  1846 + <yloc>403</yloc>
  1847 + <draw>Y</draw>
  1848 + </GUI>
  1849 + </step>
  1850 +
  1851 + <step>
  1852 + <name>&#x67e5;&#x627e;&#x8def;&#x724c;&#x5173;&#x8054;</name>
  1853 + <type>DBLookup</type>
  1854 + <description/>
  1855 + <distribute>Y</distribute>
  1856 + <custom_distribution/>
  1857 + <copies>1</copies>
  1858 + <partitioning>
  1859 + <method>none</method>
  1860 + <schema_name/>
  1861 + </partitioning>
  1862 + <connection>bus_control_variable</connection>
  1863 + <cache>N</cache>
  1864 + <cache_load_all>N</cache_load_all>
  1865 + <cache_size>0</cache_size>
  1866 + <lookup>
  1867 + <schema/>
  1868 + <table>bsth_c_s_gbi</table>
  1869 + <orderby/>
  1870 + <fail_on_multiple>N</fail_on_multiple>
  1871 + <eat_row_on_failure>N</eat_row_on_failure>
  1872 + <key>
  1873 + <name>xlid</name>
  1874 + <field>xl</field>
  1875 + <condition>&#x3d;</condition>
  1876 + <name2/>
  1877 + </key>
  1878 + <key>
  1879 + <name>lp</name>
  1880 + <field>lp_name</field>
  1881 + <condition>&#x3d;</condition>
  1882 + <name2/>
  1883 + </key>
  1884 + <key>
  1885 + <name>iscanceled</name>
  1886 + <field>is_cancel</field>
  1887 + <condition>&#x3d;</condition>
  1888 + <name2/>
  1889 + </key>
  1890 + <value>
  1891 + <name>id</name>
  1892 + <rename>lpid</rename>
  1893 + <default/>
  1894 + <type>Integer</type>
  1895 + </value>
  1896 + </lookup>
  1897 + <cluster_schema/>
  1898 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1899 + <xloc>1013</xloc>
  1900 + <yloc>265</yloc>
  1901 + <draw>Y</draw>
  1902 + </GUI>
  1903 + </step>
  1904 +
  1905 + <step>
  1906 + <name>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ebf;&#x8def;&#x65b9;&#x5411;</name>
  1907 + <type>DBLookup</type>
  1908 + <description/>
  1909 + <distribute>Y</distribute>
  1910 + <custom_distribution/>
  1911 + <copies>1</copies>
  1912 + <partitioning>
  1913 + <method>none</method>
  1914 + <schema_name/>
  1915 + </partitioning>
  1916 + <connection>bus_control_variable</connection>
  1917 + <cache>N</cache>
  1918 + <cache_load_all>N</cache_load_all>
  1919 + <cache_size>0</cache_size>
  1920 + <lookup>
  1921 + <schema/>
  1922 + <table>bsth_c_stationroute</table>
  1923 + <orderby/>
  1924 + <fail_on_multiple>N</fail_on_multiple>
  1925 + <eat_row_on_failure>N</eat_row_on_failure>
  1926 + <key>
  1927 + <name>xlid</name>
  1928 + <field>line</field>
  1929 + <condition>&#x3d;</condition>
  1930 + <name2/>
  1931 + </key>
  1932 + <key>
  1933 + <name>startZdtype_calcu</name>
  1934 + <field>station_mark</field>
  1935 + <condition>&#x3d;</condition>
  1936 + <name2/>
  1937 + </key>
  1938 + <key>
  1939 + <name>qdzname_calcu</name>
  1940 + <field>station_name</field>
  1941 + <condition>&#x3d;</condition>
  1942 + <name2/>
  1943 + </key>
  1944 + <key>
  1945 + <name>destory</name>
  1946 + <field>destroy</field>
  1947 + <condition>&#x3d;</condition>
  1948 + <name2/>
  1949 + </key>
  1950 + <value>
  1951 + <name>directions</name>
  1952 + <rename>sxx</rename>
  1953 + <default/>
  1954 + <type>String</type>
  1955 + </value>
  1956 + </lookup>
  1957 + <cluster_schema/>
  1958 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1959 + <xloc>548</xloc>
  1960 + <yloc>610</yloc>
  1961 + <draw>Y</draw>
  1962 + </GUI>
  1963 + </step>
  1964 +
  1965 + <step>
  1966 + <name>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ec8;&#x70b9;&#x7ad9;&#xff0c;&#x5e76;&#x4f5c;&#x4e3a;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x70b9;&#x7ad9;</name>
  1967 + <type>DBLookup</type>
  1968 + <description/>
  1969 + <distribute>Y</distribute>
  1970 + <custom_distribution/>
  1971 + <copies>1</copies>
  1972 + <partitioning>
  1973 + <method>none</method>
  1974 + <schema_name/>
  1975 + </partitioning>
  1976 + <connection>bus_control_variable</connection>
  1977 + <cache>Y</cache>
  1978 + <cache_load_all>Y</cache_load_all>
  1979 + <cache_size>0</cache_size>
  1980 + <lookup>
  1981 + <schema/>
  1982 + <table>bsth_c_stationroute</table>
  1983 + <orderby/>
  1984 + <fail_on_multiple>N</fail_on_multiple>
  1985 + <eat_row_on_failure>N</eat_row_on_failure>
  1986 + <key>
  1987 + <name>xlid</name>
  1988 + <field>line</field>
  1989 + <condition>&#x3d;</condition>
  1990 + <name2/>
  1991 + </key>
  1992 + <key>
  1993 + <name>endZdtype_calcu</name>
  1994 + <field>station_mark</field>
  1995 + <condition>&#x3d;</condition>
  1996 + <name2/>
  1997 + </key>
  1998 + <key>
  1999 + <name>sxx</name>
  2000 + <field>directions</field>
  2001 + <condition>&#x3d;</condition>
  2002 + <name2/>
  2003 + </key>
  2004 + <key>
  2005 + <name>destory</name>
  2006 + <field>destroy</field>
  2007 + <condition>&#x3d;</condition>
  2008 + <name2/>
  2009 + </key>
  2010 + <value>
  2011 + <name>station_name</name>
  2012 + <rename>zdzname_calcu</rename>
  2013 + <default/>
  2014 + <type>Integer</type>
  2015 + </value>
  2016 + </lookup>
  2017 + <cluster_schema/>
  2018 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2019 + <xloc>550</xloc>
  2020 + <yloc>701</yloc>
  2021 + <draw>Y</draw>
  2022 + </GUI>
  2023 + </step>
  2024 +
  2025 + <step>
  2026 + <name>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</name>
  2027 + <type>DBLookup</type>
  2028 + <description/>
  2029 + <distribute>Y</distribute>
  2030 + <custom_distribution/>
  2031 + <copies>1</copies>
  2032 + <partitioning>
  2033 + <method>none</method>
  2034 + <schema_name/>
  2035 + </partitioning>
  2036 + <connection>bus_control_variable</connection>
  2037 + <cache>N</cache>
  2038 + <cache_load_all>N</cache_load_all>
  2039 + <cache_size>0</cache_size>
  2040 + <lookup>
  2041 + <schema/>
  2042 + <table>bsth_c_stationroute</table>
  2043 + <orderby/>
  2044 + <fail_on_multiple>N</fail_on_multiple>
  2045 + <eat_row_on_failure>N</eat_row_on_failure>
  2046 + <key>
  2047 + <name>xlid</name>
  2048 + <field>line</field>
  2049 + <condition>&#x3d;</condition>
  2050 + <name2/>
  2051 + </key>
  2052 + <key>
  2053 + <name>zdzname_calcu</name>
  2054 + <field>station_name</field>
  2055 + <condition>&#x3d;</condition>
  2056 + <name2/>
  2057 + </key>
  2058 + <key>
  2059 + <name>startZdtype_calcu</name>
  2060 + <field>station_mark</field>
  2061 + <condition>&#x3d;</condition>
  2062 + <name2/>
  2063 + </key>
  2064 + <key>
  2065 + <name>destory</name>
  2066 + <field>destroy</field>
  2067 + <condition>&#x3d;</condition>
  2068 + <name2/>
  2069 + </key>
  2070 + <value>
  2071 + <name>directions</name>
  2072 + <rename>sxx2</rename>
  2073 + <default/>
  2074 + <type>Integer</type>
  2075 + </value>
  2076 + <value>
  2077 + <name>station</name>
  2078 + <rename>qdzid</rename>
  2079 + <default/>
  2080 + <type>Integer</type>
  2081 + </value>
  2082 + </lookup>
  2083 + <cluster_schema/>
  2084 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2085 + <xloc>551</xloc>
  2086 + <yloc>782</yloc>
  2087 + <draw>Y</draw>
  2088 + </GUI>
  2089 + </step>
  2090 +
  2091 + <step>
  2092 + <name>&#x6b63;&#x5e38;&#x73ed;&#x6b21;_&#x5904;&#x7406;&#x6570;&#x636e;</name>
  2093 + <type>ScriptValueMod</type>
  2094 + <description/>
  2095 + <distribute>Y</distribute>
  2096 + <custom_distribution/>
  2097 + <copies>1</copies>
  2098 + <partitioning>
  2099 + <method>none</method>
  2100 + <schema_name/>
  2101 + </partitioning>
  2102 + <compatible>N</compatible>
  2103 + <optimizationLevel>9</optimizationLevel>
  2104 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  2105 + <jsScript_name>Script 1</jsScript_name>
  2106 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f; &#x6dfb;&#x52a0;&#x7ad9;&#x70b9;&#x6807;&#x8bc6;&#xa;var sendZdtype &#x3d; &#x27;B&#x27;&#x3b;&#xa;var endZdtype &#x3d; &#x27;E&#x27;&#x3b;&#xa;&#xa;var destory &#x3d; 0&#x3b; &#x2f;&#x2f; &#x672a;&#x64a4;&#x9500;flag</jsScript_script>
  2107 + </jsScript> </jsScripts> <fields> <field> <name>sendZdtype</name>
  2108 + <rename>sendZdtype</rename>
  2109 + <type>String</type>
  2110 + <length>-1</length>
  2111 + <precision>-1</precision>
  2112 + <replace>N</replace>
  2113 + </field> <field> <name>endZdtype</name>
  2114 + <rename>endZdtype</rename>
  2115 + <type>String</type>
  2116 + <length>-1</length>
  2117 + <precision>-1</precision>
  2118 + <replace>N</replace>
  2119 + </field> <field> <name>destory</name>
  2120 + <rename>destory</rename>
  2121 + <type>Integer</type>
  2122 + <length>-1</length>
  2123 + <precision>-1</precision>
  2124 + <replace>N</replace>
  2125 + </field> </fields> <cluster_schema/>
  2126 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2127 + <xloc>588</xloc>
  2128 + <yloc>403</yloc>
  2129 + <draw>Y</draw>
  2130 + </GUI>
  2131 + </step>
  2132 +
  2133 + <step>
  2134 + <name>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x6570;&#x636e;</name>
  2135 + <type>Dummy</type>
  2136 + <description/>
  2137 + <distribute>Y</distribute>
  2138 + <custom_distribution/>
  2139 + <copies>1</copies>
  2140 + <partitioning>
  2141 + <method>none</method>
  2142 + <schema_name/>
  2143 + </partitioning>
  2144 + <cluster_schema/>
  2145 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2146 + <xloc>725</xloc>
  2147 + <yloc>404</yloc>
  2148 + <draw>Y</draw>
  2149 + </GUI>
  2150 + </step>
  2151 +
  2152 + <step>
  2153 + <name>&#x6dfb;&#x52a0;&#x53d1;&#x8f66;&#x987a;&#x5e8f;&#x53f7;</name>
  2154 + <type>GroupBy</type>
  2155 + <description/>
  2156 + <distribute>Y</distribute>
  2157 + <custom_distribution/>
  2158 + <copies>1</copies>
  2159 + <partitioning>
  2160 + <method>none</method>
  2161 + <schema_name/>
  2162 + </partitioning>
  2163 + <all_rows>Y</all_rows>
  2164 + <ignore_aggregate>N</ignore_aggregate>
  2165 + <field_ignore/>
  2166 + <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
  2167 + <prefix>grp</prefix>
  2168 + <add_linenr>Y</add_linenr>
  2169 + <linenr_fieldname>fcno</linenr_fieldname>
  2170 + <give_back_row>N</give_back_row>
  2171 + <group>
  2172 + <field>
  2173 + <name>lp</name>
  2174 + </field>
  2175 + </group>
  2176 + <fields>
  2177 + </fields>
  2178 + <cluster_schema/>
  2179 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2180 + <xloc>442</xloc>
  2181 + <yloc>44</yloc>
  2182 + <draw>Y</draw>
  2183 + </GUI>
  2184 + </step>
  2185 +
  2186 + <step>
  2187 + <name>&#x6dfb;&#x52a0;&#x5bf9;&#x5e94;&#x73ed;&#x6b21;&#x6570;</name>
  2188 + <type>GroupBy</type>
  2189 + <description/>
  2190 + <distribute>Y</distribute>
  2191 + <custom_distribution/>
  2192 + <copies>1</copies>
  2193 + <partitioning>
  2194 + <method>none</method>
  2195 + <schema_name/>
  2196 + </partitioning>
  2197 + <all_rows>Y</all_rows>
  2198 + <ignore_aggregate>N</ignore_aggregate>
  2199 + <field_ignore/>
  2200 + <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
  2201 + <prefix>grp</prefix>
  2202 + <add_linenr>Y</add_linenr>
  2203 + <linenr_fieldname>bcs</linenr_fieldname>
  2204 + <give_back_row>N</give_back_row>
  2205 + <group>
  2206 + </group>
  2207 + <fields>
  2208 + </fields>
  2209 + <cluster_schema/>
  2210 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2211 + <xloc>692</xloc>
  2212 + <yloc>44</yloc>
  2213 + <draw>Y</draw>
  2214 + </GUI>
  2215 + </step>
  2216 +
  2217 + <step>
  2218 + <name>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</name>
  2219 + <type>Normaliser</type>
  2220 + <description/>
  2221 + <distribute>Y</distribute>
  2222 + <custom_distribution/>
  2223 + <copies>1</copies>
  2224 + <partitioning>
  2225 + <method>none</method>
  2226 + <schema_name/>
  2227 + </partitioning>
  2228 + <typefield>&#x7ad9;&#x70b9;&#x540d;&#x79f0;</typefield>
  2229 + <fields> </fields> <cluster_schema/>
  2230 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2231 + <xloc>248</xloc>
  2232 + <yloc>44</yloc>
  2233 + <draw>Y</draw>
  2234 + </GUI>
  2235 + </step>
  2236 +
  2237 + <step>
  2238 + <name>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178;</name>
  2239 + <type>ValueMapper</type>
  2240 + <description/>
  2241 + <distribute>Y</distribute>
  2242 + <custom_distribution/>
  2243 + <copies>1</copies>
  2244 + <partitioning>
  2245 + <method>none</method>
  2246 + <schema_name/>
  2247 + </partitioning>
  2248 + <field_to_use>bctype</field_to_use>
  2249 + <target_field>bctype_code</target_field>
  2250 + <non_match_default>&#x672a;&#x77e5;&#x7c7b;&#x578b;</non_match_default>
  2251 + <fields>
  2252 + <field>
  2253 + <source_value>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</source_value>
  2254 + <target_value>normal</target_value>
  2255 + </field>
  2256 + <field>
  2257 + <source_value>&#x51fa;&#x573a;</source_value>
  2258 + <target_value>out</target_value>
  2259 + </field>
  2260 + <field>
  2261 + <source_value>&#x8fdb;&#x573a;</source_value>
  2262 + <target_value>in</target_value>
  2263 + </field>
  2264 + <field>
  2265 + <source_value>&#x52a0;&#x6cb9;</source_value>
  2266 + <target_value>oil</target_value>
  2267 + </field>
  2268 + <field>
  2269 + <source_value>&#x4e34;&#x52a0;</source_value>
  2270 + <target_value>temp</target_value>
  2271 + </field>
  2272 + <field>
  2273 + <source_value>&#x533a;&#x95f4;</source_value>
  2274 + <target_value>region</target_value>
  2275 + </field>
  2276 + <field>
  2277 + <source_value>&#x653e;&#x7a7a;</source_value>
  2278 + <target_value>venting</target_value>
  2279 + </field>
  2280 + <field>
  2281 + <source_value>&#x653e;&#x5927;&#x7ad9;</source_value>
  2282 + <target_value>major</target_value>
  2283 + </field>
  2284 + </fields>
  2285 + <cluster_schema/>
  2286 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2287 + <xloc>149</xloc>
  2288 + <yloc>491</yloc>
  2289 + <draw>Y</draw>
  2290 + </GUI>
  2291 + </step>
  2292 +
  2293 + <step>
  2294 + <name>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 2</name>
  2295 + <type>ValueMapper</type>
  2296 + <description/>
  2297 + <distribute>Y</distribute>
  2298 + <custom_distribution/>
  2299 + <copies>1</copies>
  2300 + <partitioning>
  2301 + <method>none</method>
  2302 + <schema_name/>
  2303 + </partitioning>
  2304 + <field_to_use>bctype</field_to_use>
  2305 + <target_field>bctype_code</target_field>
  2306 + <non_match_default>&#x672a;&#x77e5;&#x7c7b;&#x578b;</non_match_default>
  2307 + <fields>
  2308 + <field>
  2309 + <source_value>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</source_value>
  2310 + <target_value>normal</target_value>
  2311 + </field>
  2312 + <field>
  2313 + <source_value>&#x51fa;&#x573a;</source_value>
  2314 + <target_value>out</target_value>
  2315 + </field>
  2316 + <field>
  2317 + <source_value>&#x8fdb;&#x573a;</source_value>
  2318 + <target_value>in</target_value>
  2319 + </field>
  2320 + <field>
  2321 + <source_value>&#x52a0;&#x6cb9;</source_value>
  2322 + <target_value>oil</target_value>
  2323 + </field>
  2324 + <field>
  2325 + <source_value>&#x4e34;&#x52a0;</source_value>
  2326 + <target_value>temp</target_value>
  2327 + </field>
  2328 + <field>
  2329 + <source_value>&#x533a;&#x95f4;</source_value>
  2330 + <target_value>region</target_value>
  2331 + </field>
  2332 + <field>
  2333 + <source_value>&#x653e;&#x7a7a;</source_value>
  2334 + <target_value>venting</target_value>
  2335 + </field>
  2336 + <field>
  2337 + <source_value>&#x653e;&#x5927;&#x7ad9;</source_value>
  2338 + <target_value>major</target_value>
  2339 + </field>
  2340 + </fields>
  2341 + <cluster_schema/>
  2342 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2343 + <xloc>333</xloc>
  2344 + <yloc>681</yloc>
  2345 + <draw>Y</draw>
  2346 + </GUI>
  2347 + </step>
  2348 +
  2349 + <step>
  2350 + <name>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 3</name>
  2351 + <type>ValueMapper</type>
  2352 + <description/>
  2353 + <distribute>Y</distribute>
  2354 + <custom_distribution/>
  2355 + <copies>1</copies>
  2356 + <partitioning>
  2357 + <method>none</method>
  2358 + <schema_name/>
  2359 + </partitioning>
  2360 + <field_to_use>bctype</field_to_use>
  2361 + <target_field>bctype_code</target_field>
  2362 + <non_match_default>&#x672a;&#x77e5;&#x7c7b;&#x578b;</non_match_default>
  2363 + <fields>
  2364 + <field>
  2365 + <source_value>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</source_value>
  2366 + <target_value>normal</target_value>
  2367 + </field>
  2368 + <field>
  2369 + <source_value>&#x51fa;&#x573a;</source_value>
  2370 + <target_value>out</target_value>
  2371 + </field>
  2372 + <field>
  2373 + <source_value>&#x8fdb;&#x573a;</source_value>
  2374 + <target_value>in</target_value>
  2375 + </field>
  2376 + <field>
  2377 + <source_value>&#x52a0;&#x6cb9;</source_value>
  2378 + <target_value>oil</target_value>
  2379 + </field>
  2380 + <field>
  2381 + <source_value>&#x4e34;&#x52a0;</source_value>
  2382 + <target_value>temp</target_value>
  2383 + </field>
  2384 + <field>
  2385 + <source_value>&#x533a;&#x95f4;</source_value>
  2386 + <target_value>region</target_value>
  2387 + </field>
  2388 + <field>
  2389 + <source_value>&#x653e;&#x7a7a;</source_value>
  2390 + <target_value>venting</target_value>
  2391 + </field>
  2392 + <field>
  2393 + <source_value>&#x653e;&#x5927;&#x7ad9;</source_value>
  2394 + <target_value>major</target_value>
  2395 + </field>
  2396 + </fields>
  2397 + <cluster_schema/>
  2398 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2399 + <xloc>551</xloc>
  2400 + <yloc>928</yloc>
  2401 + <draw>Y</draw>
  2402 + </GUI>
  2403 + </step>
  2404 +
  2405 + <step>
  2406 + <name>&#x7c7b;&#x578b;&#x4fee;&#x6b63;</name>
  2407 + <type>SelectValues</type>
  2408 + <description/>
  2409 + <distribute>Y</distribute>
  2410 + <custom_distribution/>
  2411 + <copies>1</copies>
  2412 + <partitioning>
  2413 + <method>none</method>
  2414 + <schema_name/>
  2415 + </partitioning>
  2416 + <fields> <select_unspecified>N</select_unspecified>
  2417 + <meta> <name>jhlc</name>
  2418 + <rename>jhlc</rename>
  2419 + <type>Number</type>
  2420 + <length>-2</length>
  2421 + <precision>-2</precision>
  2422 + <conversion_mask/>
  2423 + <date_format_lenient>false</date_format_lenient>
  2424 + <date_format_locale/>
  2425 + <date_format_timezone/>
  2426 + <lenient_string_to_number>false</lenient_string_to_number>
  2427 + <encoding/>
  2428 + <decimal_symbol/>
  2429 + <grouping_symbol/>
  2430 + <currency_symbol/>
  2431 + <storage_type/>
  2432 + </meta> <meta> <name>bcsj</name>
  2433 + <rename>bcsj</rename>
  2434 + <type>Integer</type>
  2435 + <length>-2</length>
  2436 + <precision>-2</precision>
  2437 + <conversion_mask/>
  2438 + <date_format_lenient>false</date_format_lenient>
  2439 + <date_format_locale/>
  2440 + <date_format_timezone/>
  2441 + <lenient_string_to_number>false</lenient_string_to_number>
  2442 + <encoding/>
  2443 + <decimal_symbol/>
  2444 + <grouping_symbol/>
  2445 + <currency_symbol/>
  2446 + <storage_type/>
  2447 + </meta> </fields> <cluster_schema/>
  2448 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2449 + <xloc>146</xloc>
  2450 + <yloc>768</yloc>
  2451 + <draw>Y</draw>
  2452 + </GUI>
  2453 + </step>
  2454 +
  2455 + <step>
  2456 + <name>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 2</name>
  2457 + <type>SelectValues</type>
  2458 + <description/>
  2459 + <distribute>Y</distribute>
  2460 + <custom_distribution/>
  2461 + <copies>1</copies>
  2462 + <partitioning>
  2463 + <method>none</method>
  2464 + <schema_name/>
  2465 + </partitioning>
  2466 + <fields> <select_unspecified>N</select_unspecified>
  2467 + <meta> <name>out_mileage</name>
  2468 + <rename>out_mileage</rename>
  2469 + <type>Number</type>
  2470 + <length>-2</length>
  2471 + <precision>-2</precision>
  2472 + <conversion_mask/>
  2473 + <date_format_lenient>false</date_format_lenient>
  2474 + <date_format_locale/>
  2475 + <date_format_timezone/>
  2476 + <lenient_string_to_number>false</lenient_string_to_number>
  2477 + <encoding/>
  2478 + <decimal_symbol/>
  2479 + <grouping_symbol/>
  2480 + <currency_symbol/>
  2481 + <storage_type/>
  2482 + </meta> <meta> <name>out_time</name>
  2483 + <rename>out_time</rename>
  2484 + <type>Integer</type>
  2485 + <length>-2</length>
  2486 + <precision>-2</precision>
  2487 + <conversion_mask/>
  2488 + <date_format_lenient>false</date_format_lenient>
  2489 + <date_format_locale/>
  2490 + <date_format_timezone/>
  2491 + <lenient_string_to_number>false</lenient_string_to_number>
  2492 + <encoding/>
  2493 + <decimal_symbol/>
  2494 + <grouping_symbol/>
  2495 + <currency_symbol/>
  2496 + <storage_type/>
  2497 + </meta> <meta> <name>sxx</name>
  2498 + <rename>sxx</rename>
  2499 + <type>Integer</type>
  2500 + <length>-2</length>
  2501 + <precision>-2</precision>
  2502 + <conversion_mask/>
  2503 + <date_format_lenient>false</date_format_lenient>
  2504 + <date_format_locale/>
  2505 + <date_format_timezone/>
  2506 + <lenient_string_to_number>false</lenient_string_to_number>
  2507 + <encoding/>
  2508 + <decimal_symbol/>
  2509 + <grouping_symbol/>
  2510 + <currency_symbol/>
  2511 + <storage_type/>
  2512 + </meta> </fields> <cluster_schema/>
  2513 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2514 + <xloc>338</xloc>
  2515 + <yloc>1008</yloc>
  2516 + <draw>Y</draw>
  2517 + </GUI>
  2518 + </step>
  2519 +
  2520 + <step>
  2521 + <name>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 3</name>
  2522 + <type>SelectValues</type>
  2523 + <description/>
  2524 + <distribute>Y</distribute>
  2525 + <custom_distribution/>
  2526 + <copies>1</copies>
  2527 + <partitioning>
  2528 + <method>none</method>
  2529 + <schema_name/>
  2530 + </partitioning>
  2531 + <fields> <select_unspecified>N</select_unspecified>
  2532 + <meta> <name>parade_mileage</name>
  2533 + <rename>parade_mileage</rename>
  2534 + <type>Number</type>
  2535 + <length>-2</length>
  2536 + <precision>-2</precision>
  2537 + <conversion_mask/>
  2538 + <date_format_lenient>false</date_format_lenient>
  2539 + <date_format_locale/>
  2540 + <date_format_timezone/>
  2541 + <lenient_string_to_number>false</lenient_string_to_number>
  2542 + <encoding/>
  2543 + <decimal_symbol/>
  2544 + <grouping_symbol/>
  2545 + <currency_symbol/>
  2546 + <storage_type/>
  2547 + </meta> <meta> <name>parade_time</name>
  2548 + <rename>parade_time</rename>
  2549 + <type>Integer</type>
  2550 + <length>-2</length>
  2551 + <precision>-2</precision>
  2552 + <conversion_mask/>
  2553 + <date_format_lenient>false</date_format_lenient>
  2554 + <date_format_locale/>
  2555 + <date_format_timezone/>
  2556 + <lenient_string_to_number>false</lenient_string_to_number>
  2557 + <encoding/>
  2558 + <decimal_symbol/>
  2559 + <grouping_symbol/>
  2560 + <currency_symbol/>
  2561 + <storage_type/>
  2562 + </meta> <meta> <name>sxx2</name>
  2563 + <rename>sxx2</rename>
  2564 + <type>Integer</type>
  2565 + <length>-2</length>
  2566 + <precision>-2</precision>
  2567 + <conversion_mask/>
  2568 + <date_format_lenient>false</date_format_lenient>
  2569 + <date_format_locale/>
  2570 + <date_format_timezone/>
  2571 + <lenient_string_to_number>false</lenient_string_to_number>
  2572 + <encoding/>
  2573 + <decimal_symbol/>
  2574 + <grouping_symbol/>
  2575 + <currency_symbol/>
  2576 + <storage_type/>
  2577 + </meta> </fields> <cluster_schema/>
  2578 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2579 + <xloc>847</xloc>
  2580 + <yloc>1003</yloc>
  2581 + <draw>Y</draw>
  2582 + </GUI>
  2583 + </step>
  2584 +
  2585 + <step>
  2586 + <name>&#x8ba1;&#x7b97;&#x73ed;&#x6b21;&#x7c7b;&#x578b;</name>
  2587 + <type>ValueMapper</type>
  2588 + <description/>
  2589 + <distribute>Y</distribute>
  2590 + <custom_distribution/>
  2591 + <copies>1</copies>
  2592 + <partitioning>
  2593 + <method>none</method>
  2594 + <schema_name/>
  2595 + </partitioning>
  2596 + <field_to_use>qdzname</field_to_use>
  2597 + <target_field>bctype</target_field>
  2598 + <non_match_default>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</non_match_default>
  2599 + <fields>
  2600 + <field>
  2601 + <source_value>&#x51fa;&#x573a;</source_value>
  2602 + <target_value>&#x51fa;&#x573a;</target_value>
  2603 + </field>
  2604 + <field>
  2605 + <source_value>&#x8fdb;&#x573a;</source_value>
  2606 + <target_value>&#x8fdb;&#x573a;</target_value>
  2607 + </field>
  2608 + </fields>
  2609 + <cluster_schema/>
  2610 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2611 + <xloc>1014</xloc>
  2612 + <yloc>401</yloc>
  2613 + <draw>Y</draw>
  2614 + </GUI>
  2615 + </step>
  2616 +
  2617 + <step>
  2618 + <name>&#x8bb0;&#x5f55;&#x5173;&#x8054; &#x28;&#x7b1b;&#x5361;&#x5c14;&#x8f93;&#x51fa;&#x29;</name>
  2619 + <type>JoinRows</type>
  2620 + <description/>
  2621 + <distribute>Y</distribute>
  2622 + <custom_distribution/>
  2623 + <copies>1</copies>
  2624 + <partitioning>
  2625 + <method>none</method>
  2626 + <schema_name/>
  2627 + </partitioning>
  2628 + <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
  2629 + <prefix>out</prefix>
  2630 + <cache_size>500</cache_size>
  2631 + <main/>
  2632 + <compare>
  2633 +<condition>
  2634 + <negated>N</negated>
  2635 + <leftvalue/>
  2636 + <function>&#x3d;</function>
  2637 + <rightvalue/>
  2638 + </condition>
  2639 + </compare>
  2640 + <cluster_schema/>
  2641 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2642 + <xloc>310</xloc>
  2643 + <yloc>133</yloc>
  2644 + <draw>Y</draw>
  2645 + </GUI>
  2646 + </step>
  2647 +
  2648 + <step>
  2649 + <name>&#x8fc7;&#x6ee4;&#x8bb0;&#x5f55;&#xff08;&#x53d1;&#x8f66;&#x65f6;&#x95f4;&#x4e3a;&#x7a7a;&#xff09;</name>
  2650 + <type>FilterRows</type>
  2651 + <description/>
  2652 + <distribute>Y</distribute>
  2653 + <custom_distribution/>
  2654 + <copies>1</copies>
  2655 + <partitioning>
  2656 + <method>none</method>
  2657 + <schema_name/>
  2658 + </partitioning>
  2659 +<send_true_to/>
  2660 +<send_false_to/>
  2661 + <compare>
  2662 +<condition>
  2663 + <negated>N</negated>
  2664 + <leftvalue>sendtime</leftvalue>
  2665 + <function>IS NOT NULL</function>
  2666 + <rightvalue/>
  2667 + </condition>
  2668 + </compare>
  2669 + <cluster_schema/>
  2670 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2671 + <xloc>571</xloc>
  2672 + <yloc>44</yloc>
  2673 + <draw>Y</draw>
  2674 + </GUI>
  2675 + </step>
  2676 +
  2677 + <step>
  2678 + <name>&#x8fdb;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x8d77;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</name>
  2679 + <type>ScriptValueMod</type>
  2680 + <description/>
  2681 + <distribute>Y</distribute>
  2682 + <custom_distribution/>
  2683 + <copies>1</copies>
  2684 + <partitioning>
  2685 + <method>none</method>
  2686 + <schema_name/>
  2687 + </partitioning>
  2688 + <compatible>N</compatible>
  2689 + <optimizationLevel>9</optimizationLevel>
  2690 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  2691 + <jsScript_name>Script 1</jsScript_name>
  2692 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f; &#x6dfb;&#x52a0;&#x7ad9;&#x70b9;&#x6807;&#x8bc6;&#xa;var cc_groups &#x3d; qdzgroups.split&#x28;&#x22;,&#x22;&#x29;&#x3b; &#x2f;&#x2f; &#x6240;&#x6709;&#x73ed;&#x6b21;&#x8d77;&#x70b9;&#x7ad9;&#x6570;&#x7ec4;&#xa;var qdzname_calcu &#x3d; cc_groups&#x5b;gno - 2&#x5d;&#x3b; &#x2f;&#x2f; &#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x70b9;&#x7ad9;&#x662f;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ec8;&#x70b9;&#x7ad9;&#xff0c;&#x8fd9;&#x91cc;&#x53ea;&#x6709;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x70b9;&#x7ad9;&#xff0c;&#x8fd8;&#x9700;&#x8981;&#x8ba1;&#x7b97;&#xa;var startZdtype_calcu &#x3d; &#x27;B&#x27;&#x3b;&#xa;var endZdtype_calcu &#x3d; &#x27;E&#x27;&#x3b;&#xa;&#xa;var destory &#x3d; 0&#x3b; &#x2f;&#x2f; &#x672a;&#x64a4;&#x9500;flag</jsScript_script>
  2693 + </jsScript> </jsScripts> <fields> <field> <name>qdzname_calcu</name>
  2694 + <rename>qdzname_calcu</rename>
  2695 + <type>String</type>
  2696 + <length>-1</length>
  2697 + <precision>-1</precision>
  2698 + <replace>N</replace>
  2699 + </field> <field> <name>startZdtype_calcu</name>
  2700 + <rename>startZdtype_calcu</rename>
  2701 + <type>String</type>
  2702 + <length>-1</length>
  2703 + <precision>-1</precision>
  2704 + <replace>N</replace>
  2705 + </field> <field> <name>endZdtype_calcu</name>
  2706 + <rename>endZdtype_calcu</rename>
  2707 + <type>String</type>
  2708 + <length>-1</length>
  2709 + <precision>-1</precision>
  2710 + <replace>N</replace>
  2711 + </field> <field> <name>destory</name>
  2712 + <rename>destory</rename>
  2713 + <type>Integer</type>
  2714 + <length>-1</length>
  2715 + <precision>-1</precision>
  2716 + <replace>N</replace>
  2717 + </field> </fields> <cluster_schema/>
  2718 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2719 + <xloc>754</xloc>
  2720 + <yloc>610</yloc>
  2721 + <draw>Y</draw>
  2722 + </GUI>
  2723 + </step>
  2724 +
  2725 + <step>
  2726 + <name>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</name>
  2727 + <type>Dummy</type>
  2728 + <description/>
  2729 + <distribute>Y</distribute>
  2730 + <custom_distribution/>
  2731 + <copies>1</copies>
  2732 + <partitioning>
  2733 + <method>none</method>
  2734 + <schema_name/>
  2735 + </partitioning>
  2736 + <cluster_schema/>
  2737 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2738 + <xloc>997</xloc>
  2739 + <yloc>606</yloc>
  2740 + <draw>Y</draw>
  2741 + </GUI>
  2742 + </step>
  2743 +
  2744 + <step>
  2745 + <name>&#x4e0a;&#x4e0b;&#x884c;NULL&#x5224;&#x5b9a;</name>
  2746 + <type>IfNull</type>
  2747 + <description/>
  2748 + <distribute>Y</distribute>
  2749 + <custom_distribution/>
  2750 + <copies>1</copies>
  2751 + <partitioning>
  2752 + <method>none</method>
  2753 + <schema_name/>
  2754 + </partitioning>
  2755 + <replaceAllByValue/>
  2756 + <replaceAllMask/>
  2757 + <selectFields>Y</selectFields>
  2758 + <selectValuesType>N</selectValuesType>
  2759 + <setEmptyStringAll>N</setEmptyStringAll>
  2760 + <valuetypes>
  2761 + </valuetypes>
  2762 + <fields>
  2763 + <field>
  2764 + <name>sxx</name>
  2765 + <value>0</value>
  2766 + <mask/>
  2767 + <set_empty_string>N</set_empty_string>
  2768 + </field>
  2769 + </fields>
  2770 + <cluster_schema/>
  2771 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2772 + <xloc>230</xloc>
  2773 + <yloc>946</yloc>
  2774 + <draw>Y</draw>
  2775 + </GUI>
  2776 + </step>
  2777 +
  2778 + <step>
  2779 + <name>&#x4e0a;&#x4e0b;&#x884c;&#x5224;&#x5b9a; 2</name>
  2780 + <type>IfNull</type>
  2781 + <description/>
  2782 + <distribute>Y</distribute>
  2783 + <custom_distribution/>
  2784 + <copies>1</copies>
  2785 + <partitioning>
  2786 + <method>none</method>
  2787 + <schema_name/>
  2788 + </partitioning>
  2789 + <replaceAllByValue/>
  2790 + <replaceAllMask/>
  2791 + <selectFields>Y</selectFields>
  2792 + <selectValuesType>N</selectValuesType>
  2793 + <setEmptyStringAll>N</setEmptyStringAll>
  2794 + <valuetypes>
  2795 + </valuetypes>
  2796 + <fields>
  2797 + <field>
  2798 + <name>sxx2</name>
  2799 + <value>0</value>
  2800 + <mask/>
  2801 + <set_empty_string>N</set_empty_string>
  2802 + </field>
  2803 + </fields>
  2804 + <cluster_schema/>
  2805 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2806 + <xloc>804</xloc>
  2807 + <yloc>1081</yloc>
  2808 + <draw>Y</draw>
  2809 + </GUI>
  2810 + </step>
  2811 +
  2812 + <step_error_handling>
  2813 + <error>
  2814 + <source_step>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail</source_step>
  2815 + <target_step/>
  2816 + <is_enabled>Y</is_enabled>
  2817 + <nr_valuename>c1</nr_valuename>
  2818 + <descriptions_valuename>c2</descriptions_valuename>
  2819 + <fields_valuename>c3</fields_valuename>
  2820 + <codes_valuename>c4</codes_valuename>
  2821 + <max_errors/>
  2822 + <max_pct_errors/>
  2823 + <min_pct_rows/>
  2824 + </error>
  2825 + </step_error_handling>
  2826 + <slave-step-copy-partition-distribution>
  2827 +</slave-step-copy-partition-distribution>
  2828 + <slave_transformation>N</slave_transformation>
  2829 +
  2830 +</transformation>
src/main/resources/static/pages/forms/mould/account.xls
No preview for this file type
src/main/resources/static/pages/forms/mould/allline.xls
No preview for this file type
src/main/resources/static/pages/forms/mould/busInterval0.xls 0 → 100644
No preview for this file type
src/main/resources/static/pages/forms/mould/busInterval1.xls 0 → 100644
No preview for this file type
src/main/resources/static/pages/forms/mould/daily.xls
No preview for this file type
src/main/resources/static/pages/forms/mould/historyMessage.xls
No preview for this file type
src/main/resources/static/pages/forms/mould/timeAndSpeed.xls 0 → 100644
No preview for this file type
src/main/resources/static/pages/forms/mould/waybill_minhang.xls
No preview for this file type
src/main/resources/static/pages/forms/mould/waybill_qingpu.xls 0 → 100644
No preview for this file type
src/main/resources/static/pages/forms/statement/busInterval.html
@@ -73,7 +73,7 @@ @@ -73,7 +73,7 @@
73 <!-- </div> --> 73 <!-- </div> -->
74 <div class="form-group" style="margin-left: 14px"> 74 <div class="form-group" style="margin-left: 14px">
75 <input class="btn btn-default" type="button" id="query" value="筛选"/> 75 <input class="btn btn-default" type="button" id="query" value="筛选"/>
76 -<!-- <input class="btn btn-default" type="button" id="export" value="导出"/> --> 76 + <input class="btn btn-default" type="button" id="export" value="导出"/>
77 </div> 77 </div>
78 </form> 78 </form>
79 </div> 79 </div>
@@ -261,11 +261,22 @@ @@ -261,11 +261,22 @@
261 }); 261 });
262 } 262 }
263 263
264 -// $("#export").on("click",function(){  
265 -// $get('/pcpc/workDaily',{line:line,date:date,type:'export'},function(result){  
266 -// window.open("/downloadFile/download?fileName=营运服务日报表"+moment(date).format("YYYYMMDD"));  
267 -// });  
268 -// }); 264 + $("#export").on("click", function(){
  265 + var params = {};
  266 + params['line'] = line;
  267 + params['statu'] = statu;
  268 + params['startDate'] = startDate;
  269 + params['endDate'] = endDate;
  270 + params['model'] = model;
  271 + params['company'] = company;
  272 + params['subCompany'] = subCompany;
  273 + params['type'] = "export";
  274 + $get('/busInterval/interval', params, function(result){
  275 + window.open("/downloadFile/download?fileName=班次间隔统计表"
  276 + +moment(startDate).format("YYYYMMDD")+"-"
  277 + +moment(endDate).format("YYYYMMDD"));
  278 + });
  279 + });
269 280
270 281
271 $("#lp1").hide(); 282 $("#lp1").hide();
src/main/resources/static/pages/forms/statement/lbStatuAnaly.html
@@ -197,7 +197,7 @@ @@ -197,7 +197,7 @@
197 g.checked = checked; 197 g.checked = checked;
198 }); 198 });
199 if(checked == true) 199 if(checked == true)
200 - lb = 30; 200 + lb = 33;
201 else 201 else
202 lb = 0; 202 lb = 0;
203 }); 203 });
src/main/resources/static/pages/forms/statement/scheduleDailyQp.html
@@ -52,7 +52,7 @@ @@ -52,7 +52,7 @@
52 <div class="portlet-body" > 52 <div class="portlet-body" >
53 <div class="table-container" style="margin-top: 10px;overflow:auto;min-width: 506px;height: 400px"> 53 <div class="table-container" style="margin-top: 10px;overflow:auto;min-width: 506px;height: 400px">
54 <table class="table table-bordered table-hover table-checkable" id="forms"> 54 <table class="table table-bordered table-hover table-checkable" id="forms">
55 - <thead> 55 + <thead >
56 <tr > 56 <tr >
57 <th style="text-align:center;vertical-align:middle;" rowspan="3">路牌</th> 57 <th style="text-align:center;vertical-align:middle;" rowspan="3">路牌</th>
58 <th style="text-align:center;vertical-align:middle;" 58 <th style="text-align:center;vertical-align:middle;"
@@ -62,90 +62,126 @@ @@ -62,90 +62,126 @@
62 <th colspan="3" style="text-align:center;vertical-align:middle;">售票员</th> 62 <th colspan="3" style="text-align:center;vertical-align:middle;">售票员</th>
63 <th rowspan="3" style="text-align:center;vertical-align:middle;">路牌</th> 63 <th rowspan="3" style="text-align:center;vertical-align:middle;">路牌</th>
64 <th rowspan="4" style="text-align:center;vertical-align:middle;">记录项目</th> 64 <th rowspan="4" style="text-align:center;vertical-align:middle;">记录项目</th>
65 - <th colspan="4" style="text-align:center;vertical-align:middle;">1</th>  
66 - <th colspan="4" style="text-align:center;vertical-align:middle;">2</th>  
67 - <th colspan="4" style="text-align:center;vertical-align:middle;">3</th>  
68 - <th colspan="4" style="text-align:center;vertical-align:middle;">4</th>  
69 - <th colspan="4" style="text-align:center;vertical-align:middle;">5</th>  
70 - <th colspan="4" style="text-align:center;vertical-align:middle;">6</th>  
71 - <th colspan="4" style="text-align:center;vertical-align:middle;">7</th>  
72 - <th colspan="4" style="text-align:center;vertical-align:middle;">8</th>  
73 - <th colspan="4" style="text-align:center;vertical-align:middle;">9</th>  
74 - <th colspan="4" style="text-align:center;vertical-align:middle;">10</th>  
75 - <th colspan="4" style="text-align:center;vertical-align:middle;">11</th>  
76 - <th colspan="4" style="text-align:center;vertical-align:middle;">12</th>  
77 - <th colspan="4" style="text-align:center;vertical-align:middle;">13</th> 65 + <th colspan="3" style="text-align:center;vertical-align:middle;">1</th>
  66 + <th colspan="3" style="text-align:center;vertical-align:middle;">2</th>
  67 + <th colspan="3" style="text-align:center;vertical-align:middle;">3</th>
  68 + <th colspan="3" style="text-align:center;vertical-align:middle;">4</th>
  69 + <th colspan="3" style="text-align:center;vertical-align:middle;">5</th>
  70 + <th colspan="3" style="text-align:center;vertical-align:middle;">6</th>
  71 + <th colspan="3" style="text-align:center;vertical-align:middle;">7</th>
  72 + <th colspan="3" style="text-align:center;vertical-align:middle;">8</th>
  73 + <th colspan="3" style="text-align:center;vertical-align:middle;">9</th>
  74 + <th colspan="3" style="text-align:center;vertical-align:middle;">10</th>
  75 + <th colspan="3" style="text-align:center;vertical-align:middle;">11</th>
  76 + <th colspan="3" style="text-align:center;vertical-align:middle;">12</th>
  77 + <th colspan="3" style="text-align:center;vertical-align:middle;">13</th>
  78 + <th colspan="3" style="text-align:center;vertical-align:middle;">14</th>
  79 + <th colspan="3" style="text-align:center;vertical-align:middle;">15</th>
  80 + <th colspan="3" style="text-align:center;vertical-align:middle;">16</th>
  81 + <th colspan="3" style="text-align:center;vertical-align:middle;">17</th>
  82 + <th colspan="3" style="text-align:center;vertical-align:middle;">18</th>
  83 + <th colspan="3" style="text-align:center;vertical-align:middle;">19</th>
  84 + <th colspan="3" style="text-align:center;vertical-align:middle;">20</th>
78 85
79 </tr> 86 </tr>
80 <tr> 87 <tr>
81 88
82 - <th rowspan="2">职号</th>  
83 - <th colspan="2">接班时间</th>  
84 - <th rowspan="2">职号</th>  
85 - <th colspan="2">接班时间</th> 89 +
  90 + <th colspan="3">职号/接班时间</th>
  91 + <th colspan="3">职号/接班时间</th>
  92 + <th rowspan="2">到达</th>
  93 + <th rowspan="2">早/迟</th>
  94 + <th rowspan="2">开出</th>
  95 +
  96 + <th rowspan="2">到达</th>
  97 + <th rowspan="2">早/迟</th>
  98 + <th rowspan="2">开出</th>
  99 +
  100 + <th rowspan="2">到达</th>
  101 + <th rowspan="2">早/迟</th>
  102 + <th rowspan="2">开出</th>
  103 +
  104 + <th rowspan="2">到达</th>
  105 + <th rowspan="2">早/迟</th>
  106 + <th rowspan="2">开出</th>
  107 +
  108 + <th rowspan="2">到达</th>
  109 + <th rowspan="2">早/迟</th>
  110 + <th rowspan="2">开出</th>
  111 +
  112 + <th rowspan="2">到达</th>
  113 + <th rowspan="2">早/迟</th>
  114 + <th rowspan="2">开出</th>
  115 +
  116 + <th rowspan="2">到达</th>
  117 + <th rowspan="2">早/迟</th>
  118 + <th rowspan="2">开出</th>
  119 +
86 <th rowspan="2">到达</th> 120 <th rowspan="2">到达</th>
87 <th rowspan="2">早/迟</th> 121 <th rowspan="2">早/迟</th>
88 <th rowspan="2">开出</th> 122 <th rowspan="2">开出</th>
89 - <th rowspan="2">备注</th> 123 +
90 <th rowspan="2">到达</th> 124 <th rowspan="2">到达</th>
91 <th rowspan="2">早/迟</th> 125 <th rowspan="2">早/迟</th>
92 <th rowspan="2">开出</th> 126 <th rowspan="2">开出</th>
93 - <th rowspan="2">备注</th> 127 +
94 <th rowspan="2">到达</th> 128 <th rowspan="2">到达</th>
95 <th rowspan="2">早/迟</th> 129 <th rowspan="2">早/迟</th>
96 <th rowspan="2">开出</th> 130 <th rowspan="2">开出</th>
97 - <th rowspan="2">备注</th> 131 +
98 <th rowspan="2">到达</th> 132 <th rowspan="2">到达</th>
99 <th rowspan="2">早/迟</th> 133 <th rowspan="2">早/迟</th>
100 <th rowspan="2">开出</th> 134 <th rowspan="2">开出</th>
101 - <th rowspan="2">备注</th> 135 +
102 <th rowspan="2">到达</th> 136 <th rowspan="2">到达</th>
103 <th rowspan="2">早/迟</th> 137 <th rowspan="2">早/迟</th>
104 <th rowspan="2">开出</th> 138 <th rowspan="2">开出</th>
105 - <th rowspan="2">备注</th> 139 +
106 <th rowspan="2">到达</th> 140 <th rowspan="2">到达</th>
107 <th rowspan="2">早/迟</th> 141 <th rowspan="2">早/迟</th>
108 <th rowspan="2">开出</th> 142 <th rowspan="2">开出</th>
109 - <th rowspan="2">备注</th> 143 +
110 <th rowspan="2">到达</th> 144 <th rowspan="2">到达</th>
111 <th rowspan="2">早/迟</th> 145 <th rowspan="2">早/迟</th>
112 <th rowspan="2">开出</th> 146 <th rowspan="2">开出</th>
113 - <th rowspan="2">备注</th> 147 +
114 <th rowspan="2">到达</th> 148 <th rowspan="2">到达</th>
115 <th rowspan="2">早/迟</th> 149 <th rowspan="2">早/迟</th>
116 <th rowspan="2">开出</th> 150 <th rowspan="2">开出</th>
117 - <th rowspan="2">备注</th> 151 +
118 <th rowspan="2">到达</th> 152 <th rowspan="2">到达</th>
119 <th rowspan="2">早/迟</th> 153 <th rowspan="2">早/迟</th>
120 <th rowspan="2">开出</th> 154 <th rowspan="2">开出</th>
121 - <th rowspan="2">备注</th> 155 +
122 <th rowspan="2">到达</th> 156 <th rowspan="2">到达</th>
123 <th rowspan="2">早/迟</th> 157 <th rowspan="2">早/迟</th>
124 <th rowspan="2">开出</th> 158 <th rowspan="2">开出</th>
125 - <th rowspan="2">备注</th> 159 +
126 <th rowspan="2">到达</th> 160 <th rowspan="2">到达</th>
127 <th rowspan="2">早/迟</th> 161 <th rowspan="2">早/迟</th>
128 <th rowspan="2">开出</th> 162 <th rowspan="2">开出</th>
129 - <th rowspan="2">备注</th> 163 +
130 <th rowspan="2">到达</th> 164 <th rowspan="2">到达</th>
131 <th rowspan="2">早/迟</th> 165 <th rowspan="2">早/迟</th>
132 <th rowspan="2">开出</th> 166 <th rowspan="2">开出</th>
133 - <th rowspan="2">备注</th> 167 +
134 <th rowspan="2">到达</th> 168 <th rowspan="2">到达</th>
135 <th rowspan="2">早/迟</th> 169 <th rowspan="2">早/迟</th>
136 <th rowspan="2">开出</th> 170 <th rowspan="2">开出</th>
137 - <th rowspan="2">备注</th> 171 +
138 </tr> 172 </tr>
139 <tr> 173 <tr>
140 <th>出场</th> 174 <th>出场</th>
141 <th>调换</th> 175 <th>调换</th>
142 <th>1</th> 176 <th>1</th>
143 <th>2</th> 177 <th>2</th>
  178 + <th>3</th>
144 <th>1</th> 179 <th>1</th>
145 <th>2</th> 180 <th>2</th>
  181 + <th>3</th>
146 </tr> 182 </tr>
147 </thead> 183 </thead>
148 - <tbody> 184 + <tbody >
149 <tr > 185 <tr >
150 <td>1</td> 186 <td>1</td>
151 <td> 187 <td>
@@ -221,6 +257,14 @@ @@ -221,6 +257,14 @@
221 <td></td> 257 <td></td>
222 <td></td> 258 <td></td>
223 <td></td> 259 <td></td>
  260 + <td></td>
  261 + <td></td>
  262 + <td></td>
  263 + <td></td>
  264 + <td></td>
  265 + <td></td>
  266 + <td></td>
  267 + <td></td>
224 </tr> 268 </tr>
225 269
226 </tbody> 270 </tbody>
@@ -297,34 +341,16 @@ @@ -297,34 +341,16 @@
297 } 341 }
298 342
299 343
300 - $("#query").on("click",jsDoQuery);  
301 -  
302 - var line = $("#line").val();  
303 - var date = $("#date").val();  
304 - var company = $("#company").val();  
305 - var subCompany = $("#subCompany").val();  
306 - function jsDoQuery(pagination){  
307 - var params = {};  
308 - line = $("#line").val();  
309 - date = $("#date").val();  
310 - company = $("#company").val();  
311 - subCompany = $("#subCompany").val();  
312 - if(line == " ")  
313 - line = "";  
314 - params['line'] = line;  
315 - params['date'] = date;  
316 - params['type'] = "query";  
317 - params['company'] = company;  
318 - params['subCompany'] = subCompany;  
319 - $(".hidden").removeClass("hidden");  
320 - /* $get('/pcpc/workDaily', params, function(result){  
321 - // 把数据填充到模版中  
322 - var tbodyHtml = template('list_workDaily',{list:result});  
323 - // 把渲染好的模版html文本追加到表格中  
324 - $('#forms tbody').html(tbodyHtml);  
325 -  
326 - }); */  
327 - } 344 + //查询
  345 + $("#query").on('click',function(){
  346 + var line = $("#line").val();
  347 + var date = $("#date").val();
  348 + $get('/realSchedule/scheduleDailyQp',{line:line,date:date},function(result){
  349 + var mycars = new Array(20);
  350 + var scheduleDaily_qp = template('scheduleDaily_qp',{list:result,lists:mycars});
  351 + $('#forms tbody').html(scheduleDaily_qp);
  352 + });
  353 + });
328 354
329 $("#export").on("click",function(){ 355 $("#export").on("click",function(){
330 $get('/pcpc/workDaily',{line:line,date:date,type:'export'},function(result){ 356 $get('/pcpc/workDaily',{line:line,date:date,type:'export'},function(result){
@@ -336,27 +362,28 @@ @@ -336,27 +362,28 @@
336 }); 362 });
337 363
338 </script> 364 </script>
339 -<script type="text/html" id="list_workDaily"> 365 +<script type="text/html" id="scheduleDaily_qp">
340 {{each list as obj i}} 366 {{each list as obj i}}
341 <tr> 367 <tr>
342 - <td>{{obj.date}}</td>  
343 - <td>{{obj.line}}</td>  
344 - <td>{{obj.jhbc}}</td>  
345 - <td>{{obj.dftz}}</td>  
346 - <td>{{obj.dftzl}}</td>  
347 - <td>{{obj.ccl}}</td>  
348 - <td>{{obj.upfk}}</td>  
349 - <td>{{obj.updk}}</td>  
350 - <td>{{obj.dnfk}}</td>  
351 - <td>{{obj.dndk}}</td>  
352 - <td>{{obj.upfm}}</td>  
353 - <td>{{obj.updm}}</td>  
354 - <td>{{obj.dnfm}}</td>  
355 - <td>{{obj.dndm}}</td>  
356 - <td>{{obj.wdzs}}</td>  
357 - <td>{{obj.smbzdl}}</td>  
358 - <td>{{obj.gfbczxl}}</td>  
359 - </tr> 368 + <td>{{obj.lp}}</td>
  369 + <td>{{obj.cccl}}</td>
  370 + <td>{{obj.thclzbh}}</td>
  371 + <td>&nbsp;</td>
  372 + <td>{{obj.jjb1}}</td>
  373 + <td>{{obj.jjb2}}</td>
  374 + <td>{{obj.jjb3}}</td>
  375 + <td>{{obj.sjb1}}</td>
  376 + <td>{{obj.sjb2}}</td>
  377 + <td>{{obj.sjb3}}</td>
  378 + <td>{{obj.lp}}</td>
  379 + <td>&nbsp;</td>
  380 + {{each lists as o j}}
  381 + <td>{{obj['dd'+(j+1)]}}</td>
  382 + <td>{{obj['cz'+(j+1)]}}</td>
  383 + <td>{{obj['kc'+(j+1)]}}</td>
  384 + {{/each}}
  385 +
  386 +
360 {{/each}} 387 {{/each}}
361 {{if list.length == 0}} 388 {{if list.length == 0}}
362 <tr> 389 <tr>
src/main/resources/static/pages/forms/statement/statisticsDaily .html
@@ -21,12 +21,12 @@ @@ -21,12 +21,12 @@
21 <h1>统计日报</h1> 21 <h1>统计日报</h1>
22 </div> 22 </div>
23 </div> 23 </div>
24 -  
25 -<div class="row">  
26 - <div class="col-md-12">  
27 - <div class="portlet light porttlet-fit bordered">  
28 - <div class="portlet-title">  
29 - <form class="form-inline" action=""> 24 +
  25 +<div class="row">
  26 + <div class="col-md-12">
  27 + <div class="portlet light porttlet-fit bordered">
  28 + <div class="portlet-title">
  29 + <form class="form-inline" action="">
30 <div style="display: inline-block;"> 30 <div style="display: inline-block;">
31 <span class="item-label" style="width: 80px;">线路: </span> 31 <span class="item-label" style="width: 80px;">线路: </span>
32 <select class="form-control" name="line" id="line" style="width: 180px;"></select> 32 <select class="form-control" name="line" id="line" style="width: 180px;"></select>
@@ -38,10 +38,10 @@ @@ -38,10 +38,10 @@
38 <div class="form-group"> 38 <div class="form-group">
39 <input class="btn btn-default" type="button" id="query" value="查询"/> 39 <input class="btn btn-default" type="button" id="query" value="查询"/>
40 <!-- <input class="btn btn-default" type="button" id="export" value="导出"/> --> 40 <!-- <input class="btn btn-default" type="button" id="export" value="导出"/> -->
41 - </div>  
42 - </form>  
43 - </div>  
44 - <div class="portlet-body"> 41 + </div>
  42 + </form>
  43 + </div>
  44 + <div class="portlet-body">
45 <div class="table-container" style="margin-top: 10px;overflow:auto;min-width: 906px"> 45 <div class="table-container" style="margin-top: 10px;overflow:auto;min-width: 906px">
46 <label>早高峰:6:31~8:30&nbsp;&nbsp;&nbsp;&nbsp;晚高峰:16:01~18:00</label> 46 <label>早高峰:6:31~8:30&nbsp;&nbsp;&nbsp;&nbsp;晚高峰:16:01~18:00</label>
47 <table class="table table-bordered table-hover table-checkable" id="forms"> 47 <table class="table table-bordered table-hover table-checkable" id="forms">
@@ -148,21 +148,21 @@ @@ -148,21 +148,21 @@
148 <td colspan="35">&nbsp;</td> 148 <td colspan="35">&nbsp;</td>
149 </tr> 149 </tr>
150 </table> 150 </table>
151 - </div>  
152 - </div>  
153 - </div>  
154 - </div>  
155 -</div>  
156 -  
157 -<script>  
158 - $(function(){  
159 - // 关闭左侧栏  
160 - if (!$('body').hasClass('page-sidebar-closed')) 151 + </div>
  152 + </div>
  153 + </div>
  154 + </div>
  155 +</div>
  156 +
  157 +<script>
  158 + $(function(){
  159 + // 关闭左侧栏
  160 + if (!$('body').hasClass('page-sidebar-closed'))
161 $('.menu-toggler.sidebar-toggler').click(); 161 $('.menu-toggler.sidebar-toggler').click();
162 -  
163 - $("#date").datetimepicker({  
164 - format : 'YYYY-MM-DD',  
165 - locale : 'zh-cn' 162 +
  163 + $("#date").datetimepicker({
  164 + format : 'YYYY-MM-DD',
  165 + locale : 'zh-cn'
166 }); 166 });
167 $.get('/basic/lineCode2Name',function(result){ 167 $.get('/basic/lineCode2Name',function(result){
168 var data=[]; 168 var data=[];
@@ -186,11 +186,11 @@ @@ -186,11 +186,11 @@
186 // 把渲染好的模版html文本追加到表格中 186 // 把渲染好的模版html文本追加到表格中
187 $('#forms .statisticsDaily').html(tbodyHtml); 187 $('#forms .statisticsDaily').html(tbodyHtml);
188 }); 188 });
189 - });  
190 - });  
191 -</script>  
192 -<script type="text/html" id="statisticsDaily">  
193 - {{each list as obj i}} 189 + });
  190 + });
  191 +</script>
  192 +<script type="text/html" id="statisticsDaily">
  193 + {{each list as obj i}}
194 <tr> 194 <tr>
195 <td>{{obj.xlName}}</td> 195 <td>{{obj.xlName}}</td>
196 <td>{{obj.jhlc}}</td> 196 <td>{{obj.jhlc}}</td>
@@ -227,12 +227,12 @@ @@ -227,12 +227,12 @@
227 <td>{{obj.djg_m}}</td> 227 <td>{{obj.djg_m}}</td>
228 <td>{{obj.djg_a}}</td> 228 <td>{{obj.djg_a}}</td>
229 <td>{{obj.djg_time}}</td> 229 <td>{{obj.djg_time}}</td>
230 - <td>&nbsp;</td>  
231 - </tr> 230 + <td>&nbsp;</td>
  231 + </tr>
232 {{/each}} 232 {{/each}}
233 {{if list.length == 0}} 233 {{if list.length == 0}}
234 <tr> 234 <tr>
235 <td colspan="36"><h6 class="muted">没有找到相关数据</h6></td> 235 <td colspan="36"><h6 class="muted">没有找到相关数据</h6></td>
236 </tr> 236 </tr>
237 - {{/if}} 237 + {{/if}}
238 </script> 238 </script>
239 \ No newline at end of file 239 \ No newline at end of file
src/main/resources/static/pages/forms/statement/timeAndSpeed.html
@@ -82,7 +82,7 @@ @@ -82,7 +82,7 @@
82 </div> 82 </div>
83 <div class="form-group" style="margin-left: 14px"> 83 <div class="form-group" style="margin-left: 14px">
84 <input class="btn btn-default" type="button" id="query" value="筛选"/> 84 <input class="btn btn-default" type="button" id="query" value="筛选"/>
85 -<!-- <input class="btn btn-default" type="button" id="export" value="导出"/> --> 85 + <input class="btn btn-default" type="button" id="export" value="导出"/>
86 </div> 86 </div>
87 </form> 87 </form>
88 </div> 88 </div>
@@ -252,11 +252,23 @@ @@ -252,11 +252,23 @@
252 }); 252 });
253 } 253 }
254 254
255 -// $("#export").on("click",function(){  
256 -// $get('/pcpc/workDaily',{line:line,date:date,type:'export'},function(result){  
257 -// window.open("/downloadFile/download?fileName=营运服务日报表"+moment(date).format("YYYYMMDD"));  
258 -// });  
259 -// }); 255 + $("#export").on("click", function(){
  256 + var params = {};
  257 + params['lp'] = lp;
  258 + params['line'] = line;
  259 + params['statu'] = statu;
  260 + params['startDate'] = startDate;
  261 + params['endDate'] = endDate;
  262 + params['model'] = model;
  263 + params['company'] = company;
  264 + params['subCompany'] = subCompany;
  265 + params['type'] = "export";
  266 + $get('/busInterval/timeAndSpeed', params, function(result){
  267 + window.open("/downloadFile/download?fileName=行驶时间及车速统计表"
  268 + +moment(startDate).format("YYYYMMDD")+"-"
  269 + +moment(endDate).format("YYYYMMDD"));
  270 + });
  271 + });
260 272
261 273
262 $("#lp1").hide(); 274 $("#lp1").hide();
@@ -368,8 +380,8 @@ @@ -368,8 +380,8 @@
368 <th style='text-align:center;'>公司</th> 380 <th style='text-align:center;'>公司</th>
369 <th style='text-align:center;'>分公司</th> 381 <th style='text-align:center;'>分公司</th>
370 <th style='text-align:center;'>线路</th> 382 <th style='text-align:center;'>线路</th>
371 - {{if list.statu == 0}}<th style='text-align:center;'>路牌数</th>{{/if}}  
372 - {{if list.statu == 1}}<th style='text-align:center;'>路牌</th>{{/if}} 383 + {{if list.statu == 0}}<th style='text-align:center;'>路牌数量</th>{{/if}}
  384 + {{if list.statu == 1}}<th style='text-align:center;'>路牌名</th>{{/if}}
373 <th>计划营运时间(小时)</th> 385 <th>计划营运时间(小时)</th>
374 <th>计划营运车速(公里/小时)</th> 386 <th>计划营运车速(公里/小时)</th>
375 <th>实际营运时间(小时)</th> 387 <th>实际营运时间(小时)</th>
@@ -399,7 +411,7 @@ @@ -399,7 +411,7 @@
399 <td>{{obj.sjyscs}}</td> 411 <td>{{obj.sjyscs}}</td>
400 </tr> 412 </tr>
401 {{/each}} 413 {{/each}}
402 - {{if list.dataList.length > 1}} 414 + {{if list.dataList.length > 0}}
403 <tr> 415 <tr>
404 <td style='vertical-align:middle;' colspan='5'>合计平均值</td> 416 <td style='vertical-align:middle;' colspan='5'>合计平均值</td>
405 <td>{{list.jhyysj}}</td> 417 <td>{{list.jhyysj}}</td>
@@ -426,7 +438,7 @@ @@ -426,7 +438,7 @@
426 <th style='text-align:center;'>公司</th> 438 <th style='text-align:center;'>公司</th>
427 <th style='text-align:center;'>分公司</th> 439 <th style='text-align:center;'>分公司</th>
428 <th style='text-align:center;'>线路</th> 440 <th style='text-align:center;'>线路</th>
429 - <th style='text-align:center;'>路牌</th> 441 + <th style='text-align:center;'>路牌</th>
430 <th>计划营运时间(小时)</th> 442 <th>计划营运时间(小时)</th>
431 <th>计划营运车速(公里/小时)</th> 443 <th>计划营运车速(公里/小时)</th>
432 <th>实际营运时间(小时)</th> 444 <th>实际营运时间(小时)</th>
@@ -455,7 +467,7 @@ @@ -455,7 +467,7 @@
455 <td>{{obj.sjyscs}}</td> 467 <td>{{obj.sjyscs}}</td>
456 </tr> 468 </tr>
457 {{/each}} 469 {{/each}}
458 - {{if list.work.length > 1}} 470 + {{if list.work.length > 0}}
459 <tr> 471 <tr>
460 <td style='vertical-align:middle;' colspan='5'>合计平均值</td> 472 <td style='vertical-align:middle;' colspan='5'>合计平均值</td>
461 <td>{{list.jhyysj}}</td> 473 <td>{{list.jhyysj}}</td>
src/main/resources/static/pages/forms/statement/waybill.html
@@ -148,8 +148,9 @@ @@ -148,8 +148,9 @@
148 */ 148 */
149 149
150 var date = ''; 150 var date = '';
  151 + var line ='';
151 $("#query").on("click",function(){ 152 $("#query").on("click",function(){
152 - var line = $("#line").val(); 153 + line = $("#line").val();
153 date = $("#date").val(); 154 date = $("#date").val();
154 $(".hidden").removeClass("hidden"); 155 $(".hidden").removeClass("hidden");
155 $get('/realSchedule/queryUserInfo',{line:line,date:date,state:2},function(result){ 156 $get('/realSchedule/queryUserInfo',{line:line,date:date,state:2},function(result){
@@ -174,21 +175,18 @@ @@ -174,21 +175,18 @@
174 jName = params[0].split("\\")[0]; 175 jName = params[0].split("\\")[0];
175 var id = $("#"+params[1]).val(); 176 var id = $("#"+params[1]).val();
176 $get('/realSchedule/'+id,null,function(result){ 177 $get('/realSchedule/'+id,null,function(result){
177 - console.log(result);  
178 result.scheduleDate = moment(result.scheduleDate).format("YYYY/MM/DD"); 178 result.scheduleDate = moment(result.scheduleDate).format("YYYY/MM/DD");
179 var ludan_1 = template('ludan_1',result); 179 var ludan_1 = template('ludan_1',result);
180 - //var ludan_4 = template('ludan_4',result);  
181 // 把渲染好的模版html文本追加到表格中 180 // 把渲染好的模版html文本追加到表格中
182 $('#forms .ludan_1').html(ludan_1); 181 $('#forms .ludan_1').html(ludan_1);
183 - //$('#forms .ludan_4').html(ludan_4);  
184 }); 182 });
185 - $post('/realSchedule/queryListWaybill',{jName:jName,clZbh:params[1],lpName:params[2],date:date},function(result){ 183 + $post('/realSchedule/queryListWaybill',{jName:jName,clZbh:params[1],lpName:params[2],date:date,line:line},function(result){
186 getTime(result); 184 getTime(result);
187 var ludan_2 = template('ludan_2',{list:result}); 185 var ludan_2 = template('ludan_2',{list:result});
188 // 把渲染好的模版html文本追加到表格中 186 // 把渲染好的模版html文本追加到表格中
189 $('#forms .ludan_2').html(ludan_2); 187 $('#forms .ludan_2').html(ludan_2);
190 }); 188 });
191 - $post('/realSchedule/findKMBC',{jName:jName,clZbh:params[1],lpName:params[2],date:date},function(result){ 189 + $post('/realSchedule/findKMBC',{jName:jName,clZbh:params[1],lpName:params[2],date:date,line:line},function(result){
192 var ludan_3 = template('ludan_3',result); 190 var ludan_3 = template('ludan_3',result);
193 $('#forms .ludan_3').html(ludan_3); 191 $('#forms .ludan_3').html(ludan_3);
194 }); 192 });
@@ -199,8 +197,8 @@ @@ -199,8 +197,8 @@
199 if(params.length < 1){ 197 if(params.length < 1){
200 return; 198 return;
201 } 199 }
202 - $post('/realSchedule/exportWaybill',{jName:jName,clZbh:params[1],lpName:params[2],date:date},function(result){  
203 - window.open("/downloadFile/download?fileName="+jName); 200 + $post('/realSchedule/exportWaybill',{jName:jName,clZbh:params[1],lpName:params[2],date:date,line:line},function(result){
  201 + window.open("/downloadFile/download?fileName="+date+"-"+jName+"-"+params[1]+"-"+params[2]+"-行车路单");
204 }); 202 });
205 }); 203 });
206 204
@@ -321,7 +319,13 @@ @@ -321,7 +319,13 @@
321 <td>{{obj.fast}}</td> 319 <td>{{obj.fast}}</td>
322 <td>{{obj.slow}}</td> 320 <td>{{obj.slow}}</td>
323 <td>{{obj.jhlc}}</td> 321 <td>{{obj.jhlc}}</td>
324 - <td>{{obj.remarks}}</td> 322 + <td title={{obj.remarks}}>
  323 + {{if obj.remarks !=""}}
  324 + <div class="caption">
  325 + <i class="fa fa-search"></i>
  326 + </div>
  327 + {{/if}}
  328 + </td>
325 </tr> 329 </tr>
326 {{/each}} 330 {{/each}}
327 {{if list.length == 0}} 331 {{if list.length == 0}}
@@ -362,99 +366,3 @@ @@ -362,99 +366,3 @@
362 <td colspan="2"></td> 366 <td colspan="2"></td>
363 </tr> 367 </tr>
364 </script> 368 </script>
365 -<script type="text/html" id="ludan_4">  
366 - <tr>  
367 - <td colspan="12">认真做好终点项目的例保保修工作,杜绝机械火警事故!</td>  
368 - <td>轮胎</td>  
369 - <td>&nbsp;</td>  
370 - </tr>  
371 - <tr>  
372 - <td colspan="3">重点例保项目</td>  
373 - <td>1</td>  
374 - <td>2</td>  
375 - <td>3</td>  
376 - <td colspan="3">重点例保项目</td>  
377 - <td>1</td>  
378 - <td>2</td>  
379 - <td>3</td>  
380 - <td>灭火机</td>  
381 - <td>&nbsp;</td>  
382 - </tr>  
383 - <tr>  
384 - <td colspan="3">各类制动</td>  
385 - <td>&nbsp;</td>  
386 - <td>&nbsp;</td>  
387 - <td>&nbsp;</td>  
388 - <td colspan="3">各类灯光</td>  
389 - <td>&nbsp;</td>  
390 - <td>&nbsp;</td>  
391 - <td>&nbsp;</td>  
392 - <td colspan="2">出场路码表里程</td>  
393 - </tr>  
394 - <tr>  
395 - <td colspan="3">方向机</td>  
396 - <td>&nbsp;</td>  
397 - <td>&nbsp;</td>  
398 - <td>&nbsp;</td>  
399 - <td colspan="3">各类仪表</td>  
400 - <td>&nbsp;</td>  
401 - <td>&nbsp;</td>  
402 - <td>&nbsp;</td>  
403 - <td colspan="2" rowspan="2">&nbsp;</td>  
404 - </tr>  
405 - <tr>  
406 - <td colspan="3">欠压报警器</td>  
407 - <td>&nbsp;</td>  
408 - <td>&nbsp;</td>  
409 - <td>&nbsp;</td>  
410 - <td colspan="3">各类皮带</td>  
411 - <td>&nbsp;</td>  
412 - <td>&nbsp;</td>  
413 - <td>&nbsp;</td>  
414 - </tr>  
415 - <tr>  
416 - <td colspan="3">发动机清洁及响声</td>  
417 - <td>&nbsp;</td>  
418 - <td>&nbsp;</td>  
419 - <td>&nbsp;</td>  
420 - <td colspan="3">油箱及托架</td>  
421 - <td>&nbsp;</td>  
422 - <td>&nbsp;</td>  
423 - <td>&nbsp;</td>  
424 - <td colspan="2">出场路码表里程</td>  
425 - </tr>  
426 - <tr>  
427 - <td colspan="3">地盘响声</td>  
428 - <td>&nbsp;</td>  
429 - <td>&nbsp;</td>  
430 - <td>&nbsp;</td>  
431 - <td colspan="3">轮胎、半轴螺栓螺母</td>  
432 - <td>&nbsp;</td>  
433 - <td>&nbsp;</td>  
434 - <td>&nbsp;</td>  
435 - <td colspan="2" rowspan="3">&nbsp;</td>  
436 - </tr>  
437 - <tr>  
438 - <td colspan="3">化油器及油路</td>  
439 - <td>&nbsp;</td>  
440 - <td>&nbsp;</td>  
441 - <td>&nbsp;</td>  
442 - <td colspan="3">油、电、水、气</td>  
443 - <td>&nbsp;</td>  
444 - <td>&nbsp;</td>  
445 - <td>&nbsp;</td>  
446 - </tr>  
447 - <tr>  
448 - <td colspan="3">进排歧管及排气管</td>  
449 - <td>&nbsp;</td>  
450 - <td>&nbsp;</td>  
451 - <td>&nbsp;</td>  
452 - <td colspan="3">内外车身及附件</td>  
453 - <td>&nbsp;</td>  
454 - <td>&nbsp;</td>  
455 - <td>&nbsp;</td>  
456 - </tr>  
457 - <tr>  
458 - <td colspan="14">1 首次出场,2 复使中途,3 某次进场。√正常,ⓧ报修,×尚未报修</td>  
459 - </tr>  
460 -</script>  
461 \ No newline at end of file 369 \ No newline at end of file
src/main/resources/static/pages/forms/statement/waybillQp.html
@@ -18,6 +18,7 @@ @@ -18,6 +18,7 @@
18 18
19 <div class="page-head"> 19 <div class="page-head">
20 <div class="page-title"> 20 <div class="page-title">
  21 + <i class="fa fa-question-circle-o" aria-hidden="true"></i>
21 <h1>行车路单</h1> 22 <h1>行车路单</h1>
22 </div> 23 </div>
23 </div> 24 </div>
@@ -39,20 +40,18 @@ @@ -39,20 +40,18 @@
39 <input class="btn btn-default" type="button" id="query" value="查询"/> 40 <input class="btn btn-default" type="button" id="query" value="查询"/>
40 <input class="btn btn-default" type="button" id="export" value="导出"/> 41 <input class="btn btn-default" type="button" id="export" value="导出"/>
41 <input class="btn btn-default" type="button" id="print" value="打印"/> 42 <input class="btn btn-default" type="button" id="print" value="打印"/>
42 - <input class="btn btn-default" type="button" id="exportMore" value="批量导出"/> 43 +<!-- <input class="btn btn-default" type="button" id="exportMore" value="批量导出"/> -->
43 </div> 44 </div>
44 </form> 45 </form>
45 </div> 46 </div>
46 <div class="portlet-body"> 47 <div class="portlet-body">
47 <div class="row"> 48 <div class="row">
48 - <div class="col-md-3"> 49 + <div class="col-md-2">
49 <div class="" style="margin-top: 10px;overflow:auto;height: 860px"> 50 <div class="" style="margin-top: 10px;overflow:auto;height: 860px">
50 <table class="table table-bordered table-hover table-checkable pre-scrollable" id="info"> 51 <table class="table table-bordered table-hover table-checkable pre-scrollable" id="info">
51 <thead> 52 <thead>
52 <tr class="hidden"> 53 <tr class="hidden">
53 - <th>人员</th>  
54 <th>自编号</th> 54 <th>自编号</th>
55 - <th>路牌</th>  
56 </tr> 55 </tr>
57 </thead> 56 </thead>
58 <tbody> 57 <tbody>
@@ -102,7 +101,6 @@ @@ -102,7 +101,6 @@
102 for(var code in result){ 101 for(var code in result){
103 data.push({id: code, text: result[code]}); 102 data.push({id: code, text: result[code]});
104 } 103 }
105 - console.log(data);  
106 initPinYinSelect2('#line',data,''); 104 initPinYinSelect2('#line',data,'');
107 105
108 }) 106 })
@@ -148,8 +146,9 @@ @@ -148,8 +146,9 @@
148 */ 146 */
149 147
150 var date = ''; 148 var date = '';
  149 + var line ='';
151 $("#query").on("click",function(){ 150 $("#query").on("click",function(){
152 - var line = $("#line").val(); 151 + line= $("#line").val();
153 date = $("#date").val(); 152 date = $("#date").val();
154 $(".hidden").removeClass("hidden"); 153 $(".hidden").removeClass("hidden");
155 $get('/realSchedule/queryUserInfo',{line:line,date:date,state:3},function(result){ 154 $get('/realSchedule/queryUserInfo',{line:line,date:date,state:3},function(result){
@@ -163,33 +162,32 @@ @@ -163,33 +162,32 @@
163 var params = new Array(); 162 var params = new Array();
164 var jName = ''; 163 var jName = '';
165 $("#info tbody").on("click","tr",function(){ 164 $("#info tbody").on("click","tr",function(){
166 - if($(this).children().size() < 2){ 165 + if($(this).children().size() < 1){
167 return; 166 return;
168 } 167 }
169 -  
170 $(this).children().each(function(index){ 168 $(this).children().each(function(index){
171 params[index] = $(this).text(); 169 params[index] = $(this).text();
172 }); 170 });
173 - console.log(params);  
174 - jName = params[0].split("\\")[0];  
175 - var id = $("#"+params[1]).val();  
176 - $get('/realSchedule/'+id,null,function(result){ 171 +
  172 + var id = $("#"+params[0]).val();
  173 +
  174 + $get('/realSchedule/MapById',{id:id},function(result){
177 console.log(result); 175 console.log(result);
178 - result.scheduleDate = moment(result.scheduleDate).format("YYYY/MM/DD");  
179 - var ludan_1 = template('ludan_1',result); 176 +// result.scheduleDate = moment(result.scheduleDate).format("YYYY/MM/DD");
  177 + var ludan_1 = template('ludan_1',{map:result});
180 //var ludan_4 = template('ludan_4',result); 178 //var ludan_4 = template('ludan_4',result);
181 // 把渲染好的模版html文本追加到表格中 179 // 把渲染好的模版html文本追加到表格中
182 $('#forms .ludan_1').html(ludan_1); 180 $('#forms .ludan_1').html(ludan_1);
183 //$('#forms .ludan_4').html(ludan_4); 181 //$('#forms .ludan_4').html(ludan_4);
184 }); 182 });
185 - $post('/realSchedule/queryListWaybillQp',{jName:jName,clZbh:params[1],lpName:params[2],date:date},function(result){ 183 + $post('/realSchedule/queryListWaybillQp',{clZbh:params[0],date:date,line:line},function(result){
186 getTime(result); 184 getTime(result);
187 var ludan_2 = template('ludan_2',{list:result}); 185 var ludan_2 = template('ludan_2',{list:result});
188 // 把渲染好的模版html文本追加到表格中 186 // 把渲染好的模版html文本追加到表格中
189 $('#forms .ludan_2').html(ludan_2); 187 $('#forms .ludan_2').html(ludan_2);
190 }); 188 });
191 - $post('/realSchedule/findKMBC',{jName:jName,clZbh:params[1],lpName:params[2],date:date},function(result){  
192 - var ludan_3 = template('ludan_3',result); 189 + $post('/realSchedule/findKMBCQp',{clZbh:params[0],date:date,line:line},function(result){
  190 + var ludan_3 = template('ludan_3',{map:result});
193 $('#forms .ludan_3').html(ludan_3); 191 $('#forms .ludan_3').html(ludan_3);
194 }); 192 });
195 193
@@ -199,8 +197,8 @@ @@ -199,8 +197,8 @@
199 if(params.length < 1){ 197 if(params.length < 1){
200 return; 198 return;
201 } 199 }
202 - $post('/realSchedule/exportWaybill',{jName:jName,clZbh:params[1],lpName:params[2],date:date},function(result){  
203 - window.open("/downloadFile/download?fileName="+jName); 200 + $post('/realSchedule/exportWaybillQp',{clZbh:params[0],date:date,line:line},function(result){
  201 + window.open("/downloadFile/download?fileName="+date+"-"+params[0]+"-行车路单");
204 }); 202 });
205 }); 203 });
206 204
@@ -234,9 +232,7 @@ @@ -234,9 +232,7 @@
234 <script type="text/html" id="list_info"> 232 <script type="text/html" id="list_info">
235 {{each list as obj i}} 233 {{each list as obj i}}
236 <tr> 234 <tr>
237 - <td width="45%">{{obj[4]}}\{{obj[1]}}</td>  
238 - <td width="32%">{{obj[2]}}</td>  
239 - <td width="23%">{{obj[3]}}<input type="hidden" id="{{obj[2]}}" value="{{obj[0]}}"></td> 235 + <td>{{obj[1]}}<input type="hidden" id="{{obj[1]}}" value="{{obj[0]}}"></td>
240 </tr> 236 </tr>
241 {{/each}} 237 {{/each}}
242 {{if list.length == 0}} 238 {{if list.length == 0}}
@@ -247,43 +243,32 @@ @@ -247,43 +243,32 @@
247 </script> 243 </script>
248 <script type="text/html" id="ludan_1"> 244 <script type="text/html" id="ludan_1">
249 <tr> 245 <tr>
250 - <td colspan="14">行车路单</td> 246 + <td colspan="15">行车路单</td>
251 </tr> 247 </tr>
252 <tr> 248 <tr>
253 - <td colspan="14">路别:{{xlName}} 路牌:{{lpName}} 车号:{{clZbh}} 出场时间:{{fcsjActual}} 到达站名:{{zdzName}} 当班调派:&nbsp; 日期:{{scheduleDate}}</td> 249 + <td colspan="15">路别:{{map.xlName}} 车号:{{map.clZbh}} 出场时间:{{map.fcsjActual}} 到达站名:{{map.zdzName}} 日期:{{map.scheduleDate}}</td>
254 </tr> 250 </tr>
255 <tr> 251 <tr>
256 <td colspan="2">出场存油 &nbsp;升</td> 252 <td colspan="2">出场存油 &nbsp;升</td>
257 - <td colspan="2">加注油量 &nbsp;升</td> 253 + <td colspan="3">加注油量 &nbsp;升</td>
258 <td colspan="2">进场存油 &nbsp;升</td> 254 <td colspan="2">进场存油 &nbsp;升</td>
259 <td colspan="4">加注机油 &nbsp;升</td> 255 <td colspan="4">加注机油 &nbsp;升</td>
260 <td colspan="4">本日耗油 &nbsp;升</td> 256 <td colspan="4">本日耗油 &nbsp;升</td>
261 </tr> 257 </tr>
262 <tr> 258 <tr>
263 - <td rowspan="2">调度章</td>  
264 - <td colspan="1">&nbsp;</td>  
265 - <td rowspan="2">早班</td>  
266 - <td colspan="1">&nbsp;</td>  
267 - <td rowspan="2">夜班</td>  
268 - <td colspan="1">&nbsp;</td>  
269 - <td rowspan="2" colspan="2">交叉</td> 259 + <td colspan="2">调度员</td>
  260 + <td colspan="2">早班(职号)</td>
  261 + <td >{{map.zdp}}</td>
  262 + <td >中班(职号)</td>
  263 + <td >{{map.zwdp}}</td>
  264 + <td colspan="2">夜班(职号)</td>
  265 + <td colspan="2">{{map.wdp}}</td>
  266 + <td colspan="2">其他</td>
270 <td colspan="2">&nbsp;</td> 267 <td colspan="2">&nbsp;</td>
271 - <td rowspan="2">其他</td>  
272 - <td colspan="1">&nbsp;</td>  
273 - <td colspan="1">&nbsp;</td>  
274 - <td colspan="1">&nbsp;</td>  
275 - </tr>  
276 - <tr>  
277 - <td colspan="1">&nbsp;</td>  
278 - <td colspan="1">&nbsp;</td>  
279 - <td colspan="1">&nbsp;</td>  
280 - <td colspan="2">&nbsp;</td>  
281 - <td colspan="1">&nbsp;</td>  
282 - <td colspan="1">&nbsp;</td>  
283 - <td colspan="1">&nbsp;</td>  
284 </tr> 268 </tr>
285 <tr> 269 <tr>
286 <td rowspan="2">车次</td> 270 <td rowspan="2">车次</td>
  271 + <td rowspan="2">路牌</td>
287 <td colspan="2">工号</td> 272 <td colspan="2">工号</td>
288 <td rowspan="2">公里耗油</td> 273 <td rowspan="2">公里耗油</td>
289 <td colspan="2">起讫站</td> 274 <td colspan="2">起讫站</td>
@@ -309,6 +294,7 @@ @@ -309,6 +294,7 @@
309 {{each list as obj i}} 294 {{each list as obj i}}
310 <tr> 295 <tr>
311 <td>{{i+1}}</td> 296 <td>{{i+1}}</td>
  297 + <td>{{obj.lpName}}</td>
312 <td>{{obj.jName}}</td> 298 <td>{{obj.jName}}</td>
313 <td>{{obj.sName}}</td> 299 <td>{{obj.sName}}</td>
314 <td>&nbsp;</td> 300 <td>&nbsp;</td>
@@ -321,7 +307,14 @@ @@ -321,7 +307,14 @@
321 <td>{{obj.fast}}</td> 307 <td>{{obj.fast}}</td>
322 <td>{{obj.slow}}</td> 308 <td>{{obj.slow}}</td>
323 <td>{{obj.jhlc}}</td> 309 <td>{{obj.jhlc}}</td>
324 - <td>{{obj.remarks}}</td> 310 + <td title={{obj.remarks}}>
  311 + {{if obj.remarks !=""}}
  312 + <div class="caption">
  313 + <i class="fa fa-search"></i>
  314 +
  315 + </div>
  316 + {{/if}}
  317 + </td>
325 </tr> 318 </tr>
326 {{/each}} 319 {{/each}}
327 {{if list.length == 0}} 320 {{if list.length == 0}}
@@ -333,134 +326,39 @@ @@ -333,134 +326,39 @@
333 <script type="text/html" id="ludan_3"> 326 <script type="text/html" id="ludan_3">
334 <tr> 327 <tr>
335 <td colspan="2">计划公里</td> 328 <td colspan="2">计划公里</td>
336 - <td>{{jhlc}}</td>  
337 - <td colspan="2">营运公里</td>  
338 - <td >{{yygl}}</td> 329 + <td>{{map.jhlc}}</td>
  330 + <td colspan="2">营运公里(计划)</td>
  331 + <td >{{map.yygljh}}</td>
  332 + <td >损失公里</td>
  333 + <td>{{map.ssgl}}</td>
339 <td colspan="2">空驶公里</td> 334 <td colspan="2">空驶公里</td>
340 - <td>{{ksgl}}</td>  
341 - <td colspan="3">烂班公里</td>  
342 - <td colspan="2">{{remMileage}}</td>  
343 - 335 + <td colspan="1">{{map.ksgl}}</td>
  336 + <td colspan="3">营运公里(实际)</td>
  337 + <td colspan="1">{{map.yyglsj}}</td>
344 338
345 </tr> 339 </tr>
346 <tr> 340 <tr>
347 <td colspan="2">计划班次</td> 341 <td colspan="2">计划班次</td>
348 - <td>{{jhbc}}</td>  
349 - 342 + <td>{{map.jhbc}}</td>
350 <td colspan="2">进出场公里</td> 343 <td colspan="2">进出场公里</td>
351 - <td>{{jcclc}}</td>  
352 - <td colspan="2">临加公里</td>  
353 - <td>{{addMileage}}</td>  
354 - <td colspan="3">烂班班次</td>  
355 - <td colspan="2">{{cjbc}}</td>  
356 - 344 + <td>{{map.jcclc}}</td>
  345 + <td >加车公里</td>
  346 + <td>{{map.ljgl}}</td>
  347 + <td colspan="2">损失班次</td>
  348 + <td colspan="1">{{map.ssbc}}</td>
  349 + <td colspan="3">运送公里</td>
  350 + <td colspan="1">{{map.ysgl}}</td>
357 </tr> 351 </tr>
358 <tr> 352 <tr>
359 353
360 <td colspan="2">实际班次</td> 354 <td colspan="2">实际班次</td>
361 - <td>{{sjbc}}</td> 355 + <td>{{map.sjbc}}</td>
362 <td colspan="2">总公里</td> 356 <td colspan="2">总公里</td>
363 - <td>{{realMileage}}</td>  
364 - <td colspan="2">临加班次</td>  
365 - <td>{{ljbc}}</td> 357 + <td>{{map.zgl}}</td>
  358 + <td >加车班次</td>
  359 + <td>{{map.ljbc}}</td>
366 360
367 <td colspan="3"></td> 361 <td colspan="3"></td>
368 - <td colspan="2"></td> 362 + <td colspan="4"></td>
369 </tr> 363 </tr>
370 </script> 364 </script>
371 -<script type="text/html" id="ludan_4">  
372 - <tr>  
373 - <td colspan="12">认真做好终点项目的例保保修工作,杜绝机械火警事故!</td>  
374 - <td>轮胎</td>  
375 - <td>&nbsp;</td>  
376 - </tr>  
377 - <tr>  
378 - <td colspan="3">重点例保项目</td>  
379 - <td>1</td>  
380 - <td>2</td>  
381 - <td>3</td>  
382 - <td colspan="3">重点例保项目</td>  
383 - <td>1</td>  
384 - <td>2</td>  
385 - <td>3</td>  
386 - <td>灭火机</td>  
387 - <td>&nbsp;</td>  
388 - </tr>  
389 - <tr>  
390 - <td colspan="3">各类制动</td>  
391 - <td>&nbsp;</td>  
392 - <td>&nbsp;</td>  
393 - <td>&nbsp;</td>  
394 - <td colspan="3">各类灯光</td>  
395 - <td>&nbsp;</td>  
396 - <td>&nbsp;</td>  
397 - <td>&nbsp;</td>  
398 - <td colspan="2">出场路码表里程</td>  
399 - </tr>  
400 - <tr>  
401 - <td colspan="3">方向机</td>  
402 - <td>&nbsp;</td>  
403 - <td>&nbsp;</td>  
404 - <td>&nbsp;</td>  
405 - <td colspan="3">各类仪表</td>  
406 - <td>&nbsp;</td>  
407 - <td>&nbsp;</td>  
408 - <td>&nbsp;</td>  
409 - <td colspan="2" rowspan="2">&nbsp;</td>  
410 - </tr>  
411 - <tr>  
412 - <td colspan="3">欠压报警器</td>  
413 - <td>&nbsp;</td>  
414 - <td>&nbsp;</td>  
415 - <td>&nbsp;</td>  
416 - <td colspan="3">各类皮带</td>  
417 - <td>&nbsp;</td>  
418 - <td>&nbsp;</td>  
419 - <td>&nbsp;</td>  
420 - </tr>  
421 - <tr>  
422 - <td colspan="3">发动机清洁及响声</td>  
423 - <td>&nbsp;</td>  
424 - <td>&nbsp;</td>  
425 - <td>&nbsp;</td>  
426 - <td colspan="3">油箱及托架</td>  
427 - <td>&nbsp;</td>  
428 - <td>&nbsp;</td>  
429 - <td>&nbsp;</td>  
430 - <td colspan="2">出场路码表里程</td>  
431 - </tr>  
432 - <tr>  
433 - <td colspan="3">地盘响声</td>  
434 - <td>&nbsp;</td>  
435 - <td>&nbsp;</td>  
436 - <td>&nbsp;</td>  
437 - <td colspan="3">轮胎、半轴螺栓螺母</td>  
438 - <td>&nbsp;</td>  
439 - <td>&nbsp;</td>  
440 - <td>&nbsp;</td>  
441 - <td colspan="2" rowspan="3">&nbsp;</td>  
442 - </tr>  
443 - <tr>  
444 - <td colspan="3">化油器及油路</td>  
445 - <td>&nbsp;</td>  
446 - <td>&nbsp;</td>  
447 - <td>&nbsp;</td>  
448 - <td colspan="3">油、电、水、气</td>  
449 - <td>&nbsp;</td>  
450 - <td>&nbsp;</td>  
451 - <td>&nbsp;</td>  
452 - </tr>  
453 - <tr>  
454 - <td colspan="3">进排歧管及排气管</td>  
455 - <td>&nbsp;</td>  
456 - <td>&nbsp;</td>  
457 - <td>&nbsp;</td>  
458 - <td colspan="3">内外车身及附件</td>  
459 - <td>&nbsp;</td>  
460 - <td>&nbsp;</td>  
461 - <td>&nbsp;</td>  
462 - </tr>  
463 - <tr>  
464 - <td colspan="14">1 首次出场,2 复使中途,3 某次进场。√正常,ⓧ报修,×尚未报修</td>  
465 - </tr>  
466 -</script>  
467 \ No newline at end of file 365 \ No newline at end of file
src/main/resources/static/pages/scheduleApp/module/common/dts2/employeeGroup/saEmployeegroup.js
@@ -485,7 +485,7 @@ angular.module(&#39;ScheduleApp&#39;).directive(&#39;saEmployeegroup&#39;, [ @@ -485,7 +485,7 @@ angular.module(&#39;ScheduleApp&#39;).directive(&#39;saEmployeegroup&#39;, [
485 */ 485 */
486 scope[ctrlAs].$$internal_validate_init = function() { 486 scope[ctrlAs].$$internal_validate_init = function() {
487 var self = scope[ctrlAs]; 487 var self = scope[ctrlAs];
488 - var data_temp = self.$$data; 488 + var data_temp = self.$$dataReal;
489 var dataSelect_temp = self.$$dataSelected; 489 var dataSelect_temp = self.$$dataSelected;
490 var dataFBSelect_temp = self.$$dataFBSelected; 490 var dataFBSelect_temp = self.$$dataFBSelected;
491 var dbbmnames = null; 491 var dbbmnames = null;
src/main/resources/static/pages/scheduleApp/module/common/prj-common-directive.js
@@ -3120,7 +3120,7 @@ angular.module(&#39;ScheduleApp&#39;).directive(&#39;saEmployeegroup&#39;, [ @@ -3120,7 +3120,7 @@ angular.module(&#39;ScheduleApp&#39;).directive(&#39;saEmployeegroup&#39;, [
3120 */ 3120 */
3121 scope[ctrlAs].$$internal_validate_init = function() { 3121 scope[ctrlAs].$$internal_validate_init = function() {
3122 var self = scope[ctrlAs]; 3122 var self = scope[ctrlAs];
3123 - var data_temp = self.$$data; 3123 + var data_temp = self.$$dataReal;
3124 var dataSelect_temp = self.$$dataSelected; 3124 var dataSelect_temp = self.$$dataSelected;
3125 var dataFBSelect_temp = self.$$dataFBSelected; 3125 var dataFBSelect_temp = self.$$dataFBSelected;
3126 var dbbmnames = null; 3126 var dbbmnames = null;
src/main/resources/static/pages/scheduleApp/module/common/prj-common-globalservice.js
@@ -461,10 +461,26 @@ angular.module(&#39;ScheduleApp&#39;).factory(&#39;ScheduleRuleManageService_g&#39;, [&#39;$resource @@ -461,10 +461,26 @@ angular.module(&#39;ScheduleApp&#39;).factory(&#39;ScheduleRuleManageService_g&#39;, [&#39;$resource
461 method: 'GET', 461 method: 'GET',
462 params: { 462 params: {
463 page: 0 463 page: 0
  464 + },
  465 + transformResponse: function(rs) {
  466 + var dst = angular.fromJson(rs);
  467 + if (dst.status == 'SUCCESS') {
  468 + return dst.data;
  469 + } else {
  470 + return dst; // 业务错误留给控制器处理
  471 + }
464 } 472 }
465 }, 473 },
466 get: { 474 get: {
467 - method: 'GET' 475 + method: 'GET',
  476 + transformResponse: function(rs) {
  477 + var dst = angular.fromJson(rs);
  478 + if (dst.status == 'SUCCESS') {
  479 + return dst.data;
  480 + } else {
  481 + return dst;
  482 + }
  483 + }
468 }, 484 },
469 save: { 485 save: {
470 method: 'POST' 486 method: 'POST'
@@ -473,6 +489,22 @@ angular.module(&#39;ScheduleApp&#39;).factory(&#39;ScheduleRuleManageService_g&#39;, [&#39;$resource @@ -473,6 +489,22 @@ angular.module(&#39;ScheduleApp&#39;).factory(&#39;ScheduleRuleManageService_g&#39;, [&#39;$resource
473 method: 'DELETE' 489 method: 'DELETE'
474 } 490 }
475 } 491 }
  492 + ),
  493 + dataTools: $resource(
  494 + '/sr1fc/:type',
  495 + {},
  496 + {
  497 + dataExport: {
  498 + method: 'GET',
  499 + responseType: "arraybuffer",
  500 + params: {
  501 + type: "exportFile"
  502 + },
  503 + transformResponse: function(data, headers){
  504 + return {data : data};
  505 + }
  506 + }
  507 + }
476 ) 508 )
477 }; 509 };
478 }]); 510 }]);
src/main/resources/static/pages/scheduleApp/module/core/scheduleRuleManage/index.html
@@ -32,34 +32,21 @@ @@ -32,34 +32,21 @@
32 添加规则 32 添加规则
33 </a> 33 </a>
34 34
35 - <!--<div class="btn-group">-->  
36 - <!--<a href="javascript:" class="btn red btn-outline btn-circle" data-toggle="dropdown">-->  
37 - <!--<i class="fa fa-share"></i>-->  
38 - <!--<span>数据工具</span>-->  
39 - <!--<i class="fa fa-angle-down"></i>-->  
40 - <!--</a>-->  
41 - <!--<ul class="dropdown-menu pull-right">-->  
42 - <!--<li>-->  
43 - <!--<a href="javascript:" class="tool-action">-->  
44 - <!--<i class="fa fa-file-excel-o"></i>-->  
45 - <!--规则类型-->  
46 - <!--</a>-->  
47 - <!--</li>-->  
48 - <!--<li>-->  
49 - <!--<a href="javascript:" class="tool-action">-->  
50 - <!--<i class="fa fa-file-excel-o"></i>-->  
51 - <!--导出excel-->  
52 - <!--</a>-->  
53 - <!--</li>-->  
54 - <!--<li class="divider"></li>-->  
55 - <!--<li>-->  
56 - <!--<a href="javascript:" class="tool-action">-->  
57 - <!--<i class="fa fa-refresh"></i>-->  
58 - <!--刷行数据-->  
59 - <!--</a>-->  
60 - <!--</li>-->  
61 - <!--</ul>-->  
62 - <!--</div>--> 35 + <div class="btn-group">
  36 + <a href="javascript:" class="btn red btn-outline btn-circle" data-toggle="dropdown">
  37 + <i class="fa fa-share"></i>
  38 + <span>数据工具</span>
  39 + <i class="fa fa-angle-down"></i>
  40 + </a>
  41 + <ul class="dropdown-menu pull-right">
  42 + <li>
  43 + <a href="javascript:" class="tool-action" ng-click="ctrl.exportData()">
  44 + <i class="fa fa-file-excel-o"></i>
  45 + 导出excel
  46 + </a>
  47 + </li>
  48 + </ul>
  49 + </div>
63 </div> 50 </div>
64 </div> 51 </div>
65 52
src/main/resources/static/pages/scheduleApp/module/core/scheduleRuleManage/list.html
@@ -18,15 +18,18 @@ @@ -18,15 +18,18 @@
18 <tr role="row" class="filter"> 18 <tr role="row" class="filter">
19 <td></td> 19 <td></td>
20 <td> 20 <td>
21 - <sa-Select3 model="ctrl.searchCondition()"  
22 - name="xl"  
23 - placeholder="请输拼音..."  
24 - dcvalue="{{ctrl.searchCondition()['xl.id_eq']}}" 21 + <sa-Select5 name="xl"
  22 + model="ctrl.searchCondition()"
  23 + cmaps="{'xl.id_eq': 'id'}"
25 dcname="xl.id_eq" 24 dcname="xl.id_eq"
26 icname="id" 25 icname="id"
27 - icnames="name"  
28 - datatype="xl">  
29 - </sa-Select3> 26 + dsparams="{{ {type: 'ajax', param:{type: 'all', 'destroy_eq': 0}, atype:'xl' } | json }}"
  27 + iterobjname="item"
  28 + iterobjexp="item.name"
  29 + searchph="请输拼音..."
  30 + searchexp="this.name"
  31 + >
  32 + </sa-Select5>
30 </td> 33 </td>
31 <td></td> 34 <td></td>
32 <td></td> 35 <td></td>
@@ -38,18 +41,18 @@ @@ -38,18 +41,18 @@
38 <td></td> 41 <td></td>
39 <td> 42 <td>
40 <button class="btn btn-sm green btn-outline filter-submit margin-bottom" 43 <button class="btn btn-sm green btn-outline filter-submit margin-bottom"
41 - ng-click="ctrl.pageChanaged()"> 44 + ng-click="ctrl.doPage()">
42 <i class="fa fa-search"></i> 搜索</button> 45 <i class="fa fa-search"></i> 搜索</button>
43 46
44 <button class="btn btn-sm red btn-outline filter-cancel" 47 <button class="btn btn-sm red btn-outline filter-cancel"
45 - ng-click="ctrl.resetSearchCondition()"> 48 + ng-click="ctrl.reset()">
46 <i class="fa fa-times"></i> 重置</button> 49 <i class="fa fa-times"></i> 重置</button>
47 </td> 50 </td>
48 51
49 </tr> 52 </tr>
50 </thead> 53 </thead>
51 <tbody> 54 <tbody>
52 - <tr ng-repeat="info in ctrl.pageInfo.infos" class="odd gradeX"> 55 + <tr ng-repeat="info in ctrl.page()['content']" class="odd gradeX">
53 <td> 56 <td>
54 <span ng-bind="$index + 1"></span> 57 <span ng-bind="$index + 1"></span>
55 </td> 58 </td>
@@ -94,9 +97,9 @@ @@ -94,9 +97,9 @@
94 97
95 98
96 <div style="text-align: right;"> 99 <div style="text-align: right;">
97 - <uib-pagination total-items="ctrl.pageInfo.totalItems"  
98 - ng-model="ctrl.pageInfo.currentPage"  
99 - ng-change="ctrl.pageChanaged()" 100 + <uib-pagination total-items="ctrl.page()['totalElements']"
  101 + ng-model="ctrl.page()['uiNumber']"
  102 + ng-change="ctrl.doPage()"
100 rotate="false" 103 rotate="false"
101 max-size="10" 104 max-size="10"
102 boundary-links="true" 105 boundary-links="true"
src/main/resources/static/pages/scheduleApp/module/core/scheduleRuleManage/module.js
1 // 规则配置管理 service controller 等写在一起 1 // 规则配置管理 service controller 等写在一起
2 -angular.module('ScheduleApp').factory('ScheduleRuleManageService', ['ScheduleRuleManageService_g', function(service) {  
3 - /** 当前的查询条件信息 */  
4 - var currentSearchCondition = {};  
5 -  
6 - /** 当前第几页 */  
7 - var currentPageNo = 1;  
8 -  
9 - return {  
10 - /**  
11 - * 获取查询条件信息,  
12 - * 用于给controller用来和页面数据绑定。  
13 - */  
14 - getSearchCondition: function() {  
15 - return currentSearchCondition;  
16 - },  
17 - /**  
18 - * 重置查询条件信息。  
19 - */  
20 - resetSearchCondition: function() {  
21 - var key;  
22 - for (key in currentSearchCondition) {  
23 - currentSearchCondition[key] = undefined;  
24 - }  
25 - },  
26 - /**  
27 - * 设置当前页码。  
28 - * @param cpn 从1开始,后台是从0开始的  
29 - */  
30 - setCurrentPageNo: function(cpn) {  
31 - currentPageNo = cpn;  
32 - },  
33 - /**  
34 - * 组装查询参数,返回一个promise查询结果。  
35 - * @param params 查询参数  
36 - * @return 返回一个 promise  
37 - */  
38 - getPage: function() {  
39 - var params = currentSearchCondition; // 查询条件  
40 - params.page = currentPageNo - 1; // 服务端页码从0开始  
41 - return service.rest.list(params).$promise;  
42 - },  
43 - /**  
44 - * 获取明细信息。  
45 - * @param id 车辆id  
46 - * @return 返回一个 promise  
47 - */  
48 - getDetail: function(id) {  
49 - var params = {id: id};  
50 - return service.rest.get(params).$promise;  
51 - },  
52 - /**  
53 - * 保存信息。  
54 - * @param obj 车辆详细信息  
55 - * @return 返回一个 promise  
56 - */  
57 - saveDetail: function(obj) {  
58 - return service.rest.save(obj).$promise;  
59 - },  
60 - /**  
61 - * 删除信息。  
62 - * @param id 主键id  
63 - * @returns {*|Function|promise|n}  
64 - */  
65 - deleteDetail: function(id) {  
66 - return service.rest.delete({id: id}).$promise;  
67 - }  
68 - };  
69 -  
70 -}]);  
71 -  
72 -angular.module('ScheduleApp').controller('ScheduleRuleManageCtrl', ['ScheduleRuleManageService', '$state', function(busConfigService, $state) {  
73 - var self = this;  
74 -  
75 - // 切换到form状态  
76 - self.goForm = function() {  
77 - //alert("切换");  
78 - $state.go("scheduleRuleManage_form");  
79 - };  
80 -  
81 -}]);  
82 -  
83 -angular.module('ScheduleApp').controller('ScheduleRuleManageListCtrl', ['ScheduleRuleManageService', function(scheduleRuleManageService) {  
84 - var self = this;  
85 - self.pageInfo = {  
86 - totalItems : 0,  
87 - currentPage : 1,  
88 - infos: []  
89 - };  
90 -  
91 - // 初始创建的时候,获取一次列表数据  
92 - scheduleRuleManageService.getPage().then(  
93 - function(result) {  
94 - self.pageInfo.totalItems = result.totalElements;  
95 - self.pageInfo.currentPage = result.number + 1;  
96 - self.pageInfo.infos = result.content;  
97 - scheduleRuleManageService.setCurrentPageNo(result.number + 1);  
98 - },  
99 - function(result) {  
100 - alert("出错啦!"); 2 +angular.module('ScheduleApp').factory(
  3 + 'ScheduleRuleManageService',
  4 + [
  5 + 'ScheduleRuleManageService_g',
  6 + function(service) {
  7 + /** 当前的查询条件信息 */
  8 + var currentSearchCondition = {};
  9 +
  10 + // 当前查询返回的信息
  11 + var currentPage = { // 后台spring data返回的格式
  12 + totalElements: 0,
  13 + number: 0, // 后台返回的页码,spring返回从0开始
  14 + content: [],
  15 +
  16 + uiNumber: 1 // 页面绑定的页码
  17 + };
  18 +
  19 + // 查询对象
  20 + var queryClass = service.rest;
  21 +
  22 + return {
  23 + getQueryClass: function() {
  24 + return queryClass;
  25 + },
  26 +
  27 + /**
  28 + * 获取查询条件信息,
  29 + * 用于给controller用来和页面数据绑定。
  30 + */
  31 + getSearchCondition: function() {
  32 + currentSearchCondition.page = currentPage.uiNumber - 1;
  33 + return currentSearchCondition;
  34 + },
  35 + getPage: function(page) {
  36 + if (page) {
  37 + currentPage.totalElements = page.totalElements;
  38 + currentPage.number = page.number;
  39 + currentPage.content = page.content;
  40 + }
  41 + return currentPage;
  42 + },
  43 + resetStatus: function() {
  44 + currentSearchCondition = {page: 0};
  45 + currentPage = {
  46 + totalElements: 0,
  47 + number: 0,
  48 + content: [],
  49 + uiNumber: 1
  50 + };
  51 + },
  52 +
  53 + /**
  54 + * 数据导出。
  55 + * @returns {*|Function|promise|n}
  56 + */
  57 + dataExport: function() {
  58 + return service.dataTools.dataExport().$promise;
  59 + }
  60 +
  61 + };
  62 +
101 } 63 }
102 - );  
103 -  
104 - //$scope.$watch("ctrl.pageInfo.currentPage", function() {  
105 - // alert("dfdfdf");  
106 - //});  
107 -  
108 - // 翻页的时候调用  
109 - self.pageChanaged = function() {  
110 - scheduleRuleManageService.setCurrentPageNo(self.pageInfo.currentPage);  
111 - scheduleRuleManageService.getPage().then(  
112 - function(result) {  
113 - self.pageInfo.totalItems = result.totalElements;  
114 - self.pageInfo.currentPage = result.number + 1;  
115 - self.pageInfo.infos = result.content;  
116 - scheduleRuleManageService.setCurrentPageNo(result.number + 1);  
117 - },  
118 - function(result) {  
119 - alert("出错啦!");  
120 - }  
121 - );  
122 - };  
123 - // 获取查询条件数据  
124 - self.searchCondition = function() {  
125 - return scheduleRuleManageService.getSearchCondition();  
126 - };  
127 - // 重置查询条件  
128 - self.resetSearchCondition = function() {  
129 - scheduleRuleManageService.resetSearchCondition();  
130 - self.pageInfo.currentPage = 1;  
131 - self.pageChanaged();  
132 - };  
133 -  
134 - // 删除规则  
135 - self.deleteRule = function(id) {  
136 - scheduleRuleManageService.deleteDetail(id).then(  
137 - function(result) {  
138 - alert("删除成功!");  
139 -  
140 - scheduleRuleManageService.getPage().then( 64 + ]
  65 +);
  66 +
  67 +// index.html控制器
  68 +angular.module('ScheduleApp').controller(
  69 + 'ScheduleRuleManageCtrl',
  70 + [
  71 + 'ScheduleRuleManageService',
  72 + '$state',
  73 + 'FileDownload_g',
  74 + function(service, $state, fileDownload) {
  75 + var self = this;
  76 +
  77 + // 切换到form状态
  78 + self.goForm = function() {
  79 + //alert("切换");
  80 + $state.go("scheduleRuleManage_form");
  81 + };
  82 +
  83 +
  84 + // 导出excel
  85 + self.exportData = function() {
  86 + service.dataExport().then(
141 function(result) { 87 function(result) {
142 - self.pageInfo.totalItems = result.totalElements;  
143 - self.pageInfo.currentPage = result.number + 1;  
144 - self.pageInfo.infos = result.content;  
145 - scheduleRuleManageService.setCurrentPageNo(result.number + 1); 88 + fileDownload.downloadFile(result.data, "application/octet-stream", "排版规则信息.xls");
146 }, 89 },
147 function(result) { 90 function(result) {
148 - alert("出错啦!"); 91 + console.log("exportData failed:" + result);
149 } 92 }
150 ); 93 );
151 - },  
152 - function(result) {  
153 - alert("出错啦!");  
154 - }  
155 - );  
156 - }  
157 -  
158 -}]);  
159 -  
160 -angular.module('ScheduleApp').controller('ScheduleRuleManageFormCtrl', ['ScheduleRuleManageService', '$stateParams', '$state', '$scope', function(scheduleRuleManageService, $stateParams, $state, $scope) {  
161 - var self = this;  
162 -  
163 - // 启用日期 日期控件开关  
164 - self.qyrqOpen = false;  
165 - self.qyrq_open = function() {  
166 - self.qyrqOpen = true;  
167 - };  
168 -  
169 - // 欲保存的busInfo信息,绑定  
170 - self.scheduleRuleManageForSave = {xl: {}, carConfigInfo: {}};  
171 -  
172 - // 获取传过来的id,有的话就是修改,获取一遍数据  
173 - var id = $stateParams.id;  
174 - if (id) {  
175 - self.scheduleRuleManageForSave.id = id;  
176 - scheduleRuleManageService.getDetail(id).then(  
177 - function(result) {  
178 - var key;  
179 - for (key in result) {  
180 - self.scheduleRuleManageForSave[key] = result[key];  
181 - }  
182 - },  
183 - function(result) {  
184 - alert("出错啦!"); 94 + };
  95 +
  96 + }
  97 + ]
  98 +);
  99 +
  100 +// list.html控制器
  101 +angular.module('ScheduleApp').controller(
  102 + 'ScheduleRuleManageListCtrl',
  103 + [
  104 + 'ScheduleRuleManageService',
  105 + function(service) {
  106 + var self = this;
  107 + var ScheduleRuleManage = service.getQueryClass();
  108 +
  109 + self.page = function() {
  110 + return service.getPage();
  111 + };
  112 +
  113 + self.searchCondition = function() {
  114 + return service.getSearchCondition();
  115 + };
  116 +
  117 + self.doPage = function() {
  118 + var page = ScheduleRuleManage.list(self.searchCondition(), function() {
  119 + service.getPage(page);
  120 + });
  121 + };
  122 + self.reset = function() {
  123 + service.resetStatus();
  124 + var page = ScheduleRuleManage.list(self.searchCondition(), function() {
  125 + service.getPage(page);
  126 + });
  127 + };
  128 +
  129 + self.deleteRule = function(id) {
  130 + ScheduleRuleManage.delete({id: id}, function(result) {
  131 + if (result.msg) { // 暂时这样做,之后全局拦截
  132 + alert("失败:" + result.msg);
  133 + } else {
  134 + self.doPage();
  135 + }
  136 + });
  137 + };
  138 +
  139 + self.doPage();
  140 +
  141 + }
  142 + ]
  143 +);
  144 +
  145 +// form.html控制器
  146 +angular.module('ScheduleApp').controller(
  147 + 'ScheduleRuleManageFormCtrl',
  148 + [
  149 + 'ScheduleRuleManageService',
  150 + '$stateParams',
  151 + '$state',
  152 + '$scope',
  153 + function(service, $stateParams, $state, $scope) {
  154 + var self = this;
  155 + var ScheduleRuleManage = service.getQueryClass();
  156 +
  157 + // 启用日期 日期控件开关
  158 + self.qyrqOpen = false;
  159 + self.qyrq_open = function() {
  160 + self.qyrqOpen = true;
  161 + };
  162 +
  163 + // 欲保存的busInfo信息,绑定
  164 + self.scheduleRuleManageForSave = new ScheduleRuleManage;
  165 + self.scheduleRuleManageForSave.xl = {};
  166 + self.scheduleRuleManageForSave.carConfigInfo = {};
  167 +
  168 + // 获取传过来的id,有的话就是修改,获取一遍数据
  169 + var id = $stateParams.id;
  170 + if (id) {
  171 + ScheduleRuleManage.get({id: id}, function(value) {
  172 + self.scheduleRuleManageForSave = value;
  173 + });
185 } 174 }
186 - );  
187 - }  
188 -  
189 - // 提交方法  
190 - self.submit = function() {  
191 - console.log(self.scheduleRuleManageForSave);  
192 -  
193 - scheduleRuleManageService.saveDetail(self.scheduleRuleManageForSave).then(  
194 - function(result) {  
195 - // TODO:弹出框方式以后改  
196 - if (result.status == 'SUCCESS') {  
197 - alert("保存成功!"); 175 +
  176 + // 提交方法
  177 + self.submit = function() {
  178 + // 保存或更新
  179 + self.scheduleRuleManageForSave.$save(function() {
198 $state.go("scheduleRuleManage"); 180 $state.go("scheduleRuleManage");
199 - } else {  
200 - alert("保存异常!");  
201 - }  
202 - },  
203 - function(result) {  
204 - // TODO:弹出框方式以后改  
205 - alert("出错啦!");  
206 - }  
207 - );  
208 - };  
209 -}]);  
210 -  
211 -angular.module('ScheduleApp').controller('ScheduleRuleManageDetailCtrl', ['ScheduleRuleManageService', '$stateParams', function(scheduleRuleManageService, $stateParams) {  
212 - var self = this;  
213 - self.title = "";  
214 - self.scheduleRuleManageForDetail = {};  
215 - self.scheduleRuleManageForDetail.id = $stateParams.id;  
216 -  
217 - // 当转向到此页面时,就获取明细信息并绑定  
218 - scheduleRuleManageService.getDetail($stateParams.id).then(  
219 - function(result) {  
220 - var key;  
221 - for (key in result) {  
222 - self.scheduleRuleManageForDetail[key] = result[key];  
223 - } 181 + });
  182 + };
  183 +
  184 + }
  185 + ]
  186 +);
  187 +
  188 +// detail.html控制器
  189 +angular.module('ScheduleApp').controller(
  190 + 'ScheduleRuleManageDetailCtrl',
  191 + [
  192 + 'ScheduleRuleManageService',
  193 + '$stateParams',
  194 + function(service, $stateParams) {
  195 + var self = this;
  196 + var ScheduleRuleManage = service.getQueryClass();
  197 + var id = $stateParams.id;
  198 +
  199 + self.title = "";
  200 + self.scheduleRuleManageForDetail = {};
  201 +
  202 + // 当转向到此页面时,就获取明细信息并绑定
  203 + ScheduleRuleManage.get({id: id}, function(value) {
  204 + self.scheduleRuleManageForDetail = value;
  205 + self.title = "规则配置详细信息";
  206 + });
224 207
225 - self.title = "规则配置详细信息";  
226 - },  
227 - function(result) {  
228 - // TODO:弹出框方式以后改  
229 - alert("出错啦!");  
230 } 208 }
231 - );  
232 -}]); 209 + ]
  210 +);
233 211
234 212
235 213
src/main/resources/static/pages/scheduleApp/module/core/scheduleRuleManage/service.js
@@ -9,10 +9,26 @@ angular.module(&#39;ScheduleApp&#39;).factory(&#39;ScheduleRuleManageService_g&#39;, [&#39;$resource @@ -9,10 +9,26 @@ angular.module(&#39;ScheduleApp&#39;).factory(&#39;ScheduleRuleManageService_g&#39;, [&#39;$resource
9 method: 'GET', 9 method: 'GET',
10 params: { 10 params: {
11 page: 0 11 page: 0
  12 + },
  13 + transformResponse: function(rs) {
  14 + var dst = angular.fromJson(rs);
  15 + if (dst.status == 'SUCCESS') {
  16 + return dst.data;
  17 + } else {
  18 + return dst; // 业务错误留给控制器处理
  19 + }
12 } 20 }
13 }, 21 },
14 get: { 22 get: {
15 - method: 'GET' 23 + method: 'GET',
  24 + transformResponse: function(rs) {
  25 + var dst = angular.fromJson(rs);
  26 + if (dst.status == 'SUCCESS') {
  27 + return dst.data;
  28 + } else {
  29 + return dst;
  30 + }
  31 + }
16 }, 32 },
17 save: { 33 save: {
18 method: 'POST' 34 method: 'POST'
@@ -21,6 +37,22 @@ angular.module(&#39;ScheduleApp&#39;).factory(&#39;ScheduleRuleManageService_g&#39;, [&#39;$resource @@ -21,6 +37,22 @@ angular.module(&#39;ScheduleApp&#39;).factory(&#39;ScheduleRuleManageService_g&#39;, [&#39;$resource
21 method: 'DELETE' 37 method: 'DELETE'
22 } 38 }
23 } 39 }
  40 + ),
  41 + dataTools: $resource(
  42 + '/sr1fc/:type',
  43 + {},
  44 + {
  45 + dataExport: {
  46 + method: 'GET',
  47 + responseType: "arraybuffer",
  48 + params: {
  49 + type: "exportFile"
  50 + },
  51 + transformResponse: function(data, headers){
  52 + return {data : data};
  53 + }
  54 + }
  55 + }
24 ) 56 )
25 }; 57 };
26 }]); 58 }]);
src/main/resources/static/real_control_v2/fragments/home/svg_edit.html
1 -<div class="uk-modal" id="home-svg-edit-modal">  
2 - <div class="uk-modal-dialog" style="width: 930px;">  
3 - <a href="" class="uk-modal-close uk-close"></a>  
4 - <div class="uk-modal-header">  
5 - <h2>主页模拟图数据编辑</h2></div>  
6 -  
7 - <div class="svg-edit-panel-wrap station-list-wrap">  
8 - <span class="title-badge">站点缩略</span>  
9 - </div>  
10 -  
11 -  
12 - <div class="svg-edit-panel-wrap" style="margin-left: 25px;">  
13 - <span class="title-badge">站点重命名</span>  
14 - <div style="height: 100%;">  
15 - <div style="height: calc(100% - 25px);">  
16 - <form class="uk-form rename-list-form">  
17 - </form>  
18 - </div>  
19 -  
20 - <div class="rename-tools" style="height: 21px;">  
21 - <a class="uk-icon-small uk-icon-hover uk-icon-plus add"></a>  
22 - <a class="uk-icon-small uk-icon-hover uk-icon-minus minus"></a>  
23 - </div>  
24 - </div>  
25 - </div>  
26 -  
27 -  
28 - <div class="uk-modal-footer uk-text-right">  
29 - <button type="button" class="uk-button uk-modal-close">取消</button>  
30 - <button type="button" class="uk-button uk-button-primary submitBtn"><i class="uk-icon-check"></i> 保存  
31 - </button>  
32 - </div>  
33 - </div>  
34 -  
35 - <script id="svg-edit-station-list-temp" type="text/html">  
36 - <div class="station-list up">  
37 - {{each list[0] as s i}}  
38 - <div class="station-item" data-code="{{s.stationCode}}">{{s.stationName}}</div>  
39 - {{/each}}  
40 - </div>  
41 -  
42 - <div class="station-list down" style="margin-left: 8px;">  
43 - {{each list[1] as s i}}  
44 - <div class="station-item" data-code="{{s.stationCode}}">{{s.stationName}}</div>  
45 - {{/each}}  
46 - </div>  
47 - </script>  
48 -  
49 - <script id="svg-edit-rename-item-temp" type="text/html">  
50 - <div class="rename-item-panel">  
51 - <input type="checkbox">  
52 - <select name="renames[{{no}}][name]">  
53 - {{each names as n i}}  
54 - <option value="{{n}}">{{n}}</option>  
55 - {{/each}}  
56 - </select>  
57 - <i class="uk-icon-arrows-h"></i>  
58 - <input type="text" value="{{names[0]}}" name="renames[{{no}}][nickname]">  
59 - </div>  
60 - </script>  
61 -  
62 - <script>  
63 - (function () {  
64 - var modal = '#home-svg-edit-modal',  
65 - lineCode, names = [], no = 0;  
66 -  
67 - $(modal).on('init', function (e, data) {  
68 - lineCode = data.lineCode;  
69 - var allStationList = gb_data_basic.stationRoutes(lineCode);  
70 - //站点路由  
71 - var routeArray = gb_common.groupBy(allStationList, 'directions');  
72 - //下行倒序  
73 - routeArray[1].sort(function (a, b) {  
74 - return b.stationRouteCode - a.stationRouteCode;  
75 - });  
76 - $('.station-list-wrap', modal).append(template('svg-edit-station-list-temp', {list: routeArray}));  
77 -  
78 - $('.station-item', modal).on('click', function () {  
79 - if ($(this).hasClass('disable')) {  
80 - $(this).removeClass('disable');  
81 - }  
82 - else  
83 - $(this).addClass('disable');  
84 - });  
85 -  
86 - //上下行所有的站点名称  
87 - var nameMap = {};  
88 - $.each(allStationList, function () {  
89 - nameMap[this.stationName] = 1;  
90 - });  
91 - names = gb_common.get_keys(nameMap).sort(function (a, b) {  
92 - return a.localeCompare(b);  
93 - });  
94 -  
95 - //获取配置信息  
96 - var svgAttr = gb_data_basic.getSvgAttr(lineCode);  
97 - var hideStations = svgAttr.hideStations;  
98 - //disable  
99 - $('.station-list-wrap .station-item', modal).each(function () {  
100 - var code = $(this).data('code');  
101 - if (hideStations.indexOf(code) != -1) {  
102 - $(this).addClass('disable');  
103 - }  
104 - });  
105 - //rename items  
106 - var nicknames = svgAttr.nicknames;  
107 - for (var n in nicknames) {  
108 - addRenameItem(function ($e) {  
109 - $e.find('select').val(n);  
110 - $e.find('input[type=text]').val(nicknames[n]);  
111 - });  
112 - }  
113 - });  
114 -  
115 - var addRenameItem = function (cb) {  
116 - var htmlStr = template('svg-edit-rename-item-temp', {names: names, no: no});  
117 - var $e = $(htmlStr);  
118 - $('.rename-list-form', modal).append($e);  
119 - no++;  
120 - cb && cb($e);  
121 - };  
122 -  
123 - //add rename item  
124 - $('.rename-tools .add', modal).on('click', addRenameItem);  
125 -  
126 - //remove rename item  
127 - $('.rename-tools .minus', modal).on('click', function () {  
128 - $('.rename-item-panel.active', modal).remove();  
129 - });  
130 -  
131 - //check  
132 - $(modal).on('click', '.rename-item-panel input[type=checkbox]', function () {  
133 - if ($(this)[0].checked) {  
134 - $(this).parent().addClass('active');  
135 - }  
136 - else {  
137 - $(this).parent().removeClass('active');  
138 - }  
139 - });  
140 -  
141 - //select  
142 - $(modal).on('change', '.rename-item-panel select', function () {  
143 - $(this).nextAll('input').val($(this).val());  
144 - });  
145 -  
146 -  
147 - //提交  
148 - $(modal).on('click', '.submitBtn', function () {  
149 - //重命名数据  
150 - var tempData = $('.rename-list-form', modal).serializeJSON().renames;  
151 - var renameData = {};  
152 - $.each(gb_common.get_vals(tempData), function () {  
153 - if (!$.trim(this.nickname) || this.name == this.nickname)  
154 - return true;  
155 - renameData[this.name] = this.nickname;  
156 - });  
157 -  
158 - //被禁选的站点  
159 - var disableStation = [];  
160 - $('.station-list-wrap .station-item.disable', modal).each(function () {  
161 - disableStation.push($(this).data('code'));  
162 - });  
163 -  
164 - var data = {  
165 - lineCode: lineCode,  
166 - hideStations: disableStation,  
167 - nicknames: renameData  
168 - };  
169 -  
170 - gb_common.$post('/realSchedule/svgAttr', {jsonStr: JSON.stringify(data)}, function (rs) {  
171 - if (rs.t) {  
172 - gb_data_basic.setSvgAttr(rs.t);  
173 - //重新绘制模拟图  
174 - var lineCode = rs.t.lineCode;  
175 - var wrap = $('#home-main-content .home-line-card[data-line-code='+lineCode+'] .svg-chart-wrap');  
176 - wrap.find('svg.line-chart').remove();  
177 - gb_svg_chart.draw_line(lineCode, wrap, true);  
178 -  
179 - UIkit.modal(modal).hide();  
180 - }  
181 - });  
182 - });  
183 - })();  
184 - </script>  
185 -</div> 1 +<div class="uk-modal" id="home-svg-edit-modal">
  2 + <div class="uk-modal-dialog" style="width: 930px;">
  3 + <a href="" class="uk-modal-close uk-close"></a>
  4 + <div class="uk-modal-header">
  5 + <h2>主页模拟图数据编辑</h2></div>
  6 +
  7 + <div class="svg-edit-panel-wrap station-list-wrap">
  8 + <span class="title-badge">站点缩略</span>
  9 + </div>
  10 +
  11 +
  12 + <div class="svg-edit-panel-wrap" style="margin-left: 25px;">
  13 + <span class="title-badge">站点重命名</span>
  14 + <div style="height: 100%;">
  15 + <div style="height: calc(100% - 25px);">
  16 + <form class="uk-form rename-list-form">
  17 + </form>
  18 + </div>
  19 +
  20 + <div class="rename-tools" style="height: 21px;">
  21 + <a class="uk-icon-small uk-icon-hover uk-icon-plus add"></a>
  22 + <a class="uk-icon-small uk-icon-hover uk-icon-minus minus"></a>
  23 + </div>
  24 + </div>
  25 + </div>
  26 +
  27 +
  28 + <div class="uk-modal-footer uk-text-right">
  29 + <button type="button" class="uk-button uk-modal-close">取消</button>
  30 + <button type="button" class="uk-button uk-button-primary submitBtn"><i class="uk-icon-check"></i> 保存
  31 + </button>
  32 + </div>
  33 + </div>
  34 +
  35 + <script id="svg-edit-station-list-temp" type="text/html">
  36 + <div class="station-list up">
  37 + {{each list[0] as s i}}
  38 + <div class="station-item" data-code="{{s.stationCode}}">{{s.stationName}}</div>
  39 + {{/each}}
  40 + </div>
  41 +
  42 + <div class="station-list down" style="margin-left: 8px;">
  43 + {{each list[1] as s i}}
  44 + <div class="station-item" data-code="{{s.stationCode}}">{{s.stationName}}</div>
  45 + {{/each}}
  46 + </div>
  47 + </script>
  48 +
  49 + <script id="svg-edit-rename-item-temp" type="text/html">
  50 + <div class="rename-item-panel">
  51 + <input type="checkbox">
  52 + <select name="renames[{{no}}][name]">
  53 + {{each names as n i}}
  54 + <option value="{{n}}">{{n}}</option>
  55 + {{/each}}
  56 + </select>
  57 + <i class="uk-icon-arrows-h"></i>
  58 + <input type="text" value="{{names[0]}}" name="renames[{{no}}][nickname]">
  59 + </div>
  60 + </script>
  61 +
  62 + <script>
  63 + (function () {
  64 + var modal = '#home-svg-edit-modal',
  65 + lineCode, names = [], no = 0;
  66 +
  67 + $(modal).on('init', function (e, data) {
  68 + lineCode = data.lineCode;
  69 + var allStationList = gb_data_basic.stationRoutes(lineCode);
  70 + //站点路由
  71 + var routeArray = gb_common.groupBy(allStationList, 'directions');
  72 + //下行倒序
  73 + routeArray[1].sort(function (a, b) {
  74 + return b.stationRouteCode - a.stationRouteCode;
  75 + });
  76 + $('.station-list-wrap', modal).append(template('svg-edit-station-list-temp', {list: routeArray}));
  77 +
  78 + $('.station-item', modal).on('click', function () {
  79 + if ($(this).hasClass('disable')) {
  80 + $(this).removeClass('disable');
  81 + }
  82 + else
  83 + $(this).addClass('disable');
  84 + });
  85 +
  86 + //上下行所有的站点名称
  87 + var nameMap = {};
  88 + $.each(allStationList, function () {
  89 + nameMap[this.stationName] = 1;
  90 + });
  91 + names = gb_common.get_keys(nameMap).sort(function (a, b) {
  92 + return a.localeCompare(b);
  93 + });
  94 +
  95 + //获取配置信息
  96 + var svgAttr = gb_data_basic.getSvgAttr(lineCode);
  97 + var hideStations = svgAttr.hideStations;
  98 + //disable
  99 + $('.station-list-wrap .station-item', modal).each(function () {
  100 + var code = $(this).data('code');
  101 + if (hideStations.indexOf(code) != -1) {
  102 + $(this).addClass('disable');
  103 + }
  104 + });
  105 + //rename items
  106 + var nicknames = svgAttr.nicknames;
  107 + for (var n in nicknames) {
  108 + addRenameItem(function ($e) {
  109 + $e.find('select').val(n);
  110 + $e.find('input[type=text]').val(nicknames[n]);
  111 + });
  112 + }
  113 + });
  114 +
  115 + var addRenameItem = function (cb) {
  116 + var htmlStr = template('svg-edit-rename-item-temp', {names: names, no: no});
  117 + var $e = $(htmlStr);
  118 + $('.rename-list-form', modal).append($e);
  119 + no++;
  120 + cb && cb($e);
  121 + };
  122 +
  123 + //add rename item
  124 + $('.rename-tools .add', modal).on('click', addRenameItem);
  125 +
  126 + //remove rename item
  127 + $('.rename-tools .minus', modal).on('click', function () {
  128 + $('.rename-item-panel.active', modal).remove();
  129 + });
  130 +
  131 + //check
  132 + $(modal).on('click', '.rename-item-panel input[type=checkbox]', function () {
  133 + if ($(this)[0].checked) {
  134 + $(this).parent().addClass('active');
  135 + }
  136 + else {
  137 + $(this).parent().removeClass('active');
  138 + }
  139 + });
  140 +
  141 + //select
  142 + $(modal).on('change', '.rename-item-panel select', function () {
  143 + $(this).nextAll('input').val($(this).val());
  144 + });
  145 +
  146 +
  147 + //提交
  148 + $(modal).on('click', '.submitBtn', function () {
  149 + //重命名数据
  150 + var tempData = $('.rename-list-form', modal).serializeJSON().renames;
  151 + var renameData = {};
  152 + $.each(gb_common.get_vals(tempData), function () {
  153 + if (!$.trim(this.nickname) || this.name == this.nickname)
  154 + return true;
  155 + renameData[this.name] = this.nickname;
  156 + });
  157 +
  158 + //被禁选的站点
  159 + var disableStation = [];
  160 + $('.station-list-wrap .station-item.disable', modal).each(function () {
  161 + disableStation.push($(this).data('code'));
  162 + });
  163 +
  164 + var data = {
  165 + lineCode: lineCode,
  166 + hideStations: disableStation,
  167 + nicknames: renameData
  168 + };
  169 +
  170 + gb_common.$post('/realSchedule/svgAttr', {jsonStr: JSON.stringify(data)}, function (rs) {
  171 + if (rs.t) {
  172 + gb_data_basic.setSvgAttr(rs.t);
  173 + //重新绘制模拟图
  174 + var lineCode = rs.t.lineCode;
  175 + var wrap = $('#home-main-content .home-line-card[data-line-code='+lineCode+'] .svg-chart-wrap');
  176 + wrap.find('svg.line-chart').remove();
  177 + gb_svg_chart.draw_line(lineCode, wrap, true);
  178 +
  179 + UIkit.modal(modal).hide();
  180 + }
  181 + });
  182 + });
  183 + })();
  184 + </script>
  185 +</div>
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/sub_task/add_sub_task_outpark.html
1 -<div class="uk-modal" id="add-sub-task-inpark-modal">  
2 - <div class="uk-modal-dialog">  
3 - <a href="" class="uk-modal-close uk-close"></a>  
4 - <div class="uk-modal-header">  
5 - <h2>出场子任务</h2></div>  
6 -  
7 - <div style="width: 100%;padding-left: 1%;">  
8 - <div class="sub-task-card">  
9 - <div class="uk-panel uk-panel-box uk-panel-box-secondary">  
10 - <div class="uk-panel-badge uk-badge uk-badge-default">空驶</div>  
11 - <h3 class="uk-panel-title">出场</h3>  
12 - <form class="uk-form uk-form-horizontal inpark_form" empty_form>  
13 - <input type="hidden" name="type2" value="3">  
14 - <input type="hidden" name="mileageType" value="empty">  
15 - <div class="uk-grid">  
16 - <div class="uk-width-3-10">  
17 - <div class="uk-form-row">  
18 - <label class="uk-form-label">班次类型 </label>  
19 - </div>  
20 - </div>  
21 - <div class="uk-width-7-10 pl5">  
22 - <select name="type1" class="ct_focus">  
23 - <option value="正常">正常</option>  
24 - <option value="临加">临加</option>  
25 - </select>  
26 - </div>  
27 - </div>  
28 - <div class="uk-grid">  
29 - <div class="uk-width-3-10">  
30 - <div class="uk-form-row">  
31 - <label class="uk-form-label">起点 </label>  
32 - </div>  
33 - </div>  
34 - <div class="uk-width-7-10 pl5">  
35 - <select name="startStation"></select>  
36 - </div>  
37 - </div>  
38 - <div class="uk-grid">  
39 - <div class="uk-width-3-10">  
40 - <div class="uk-form-row">  
41 - <label class="uk-form-label" disabled>终点 </label>  
42 - </div>  
43 - </div>  
44 - <div class="uk-width-7-10 pl5">  
45 - <select name="endStation" class="ct_focus" disabled></select>  
46 - </div>  
47 - </div>  
48 - <div class="uk-grid">  
49 - <div class="uk-width-3-10">  
50 - <div class="uk-form-row">  
51 - <label class="uk-form-label">空驶里程</label>  
52 - </div>  
53 - </div>  
54 - <div class="uk-width-7-10 pl5">  
55 - <input type="text" name="mileage" required style="width: calc(100% - 62px);">  
56 - <a style="font-size: 12px;color: grey;cursor: default;" target="_blank"  
57 - class="linkToLineInfo">线路标准</a>  
58 - </div>  
59 - </div>  
60 - <div class="uk-grid">  
61 - <div class="uk-width-3-10">  
62 - <div class="uk-form-row">  
63 - <label class="uk-form-label">开始时间</label>  
64 - </div>  
65 - </div>  
66 - <div class="uk-width-7-10 pl5">  
67 - <input type="time" name="startDate" required>  
68 - </div>  
69 - </div>  
70 - <div class="uk-grid">  
71 - <div class="uk-width-3-10">  
72 - <div class="uk-form-row">  
73 - <label class="uk-form-label">结束时间</label>  
74 - </div>  
75 - </div>  
76 - <div class="uk-width-7-10 pl5">  
77 - <input type="time" name="endDate" required>  
78 - </div>  
79 - </div>  
80 - </form>  
81 - </div>  
82 - </div>  
83 -  
84 - <div class="sub-task-card">  
85 - <div class="uk-panel uk-panel-box uk-panel-box-primary">  
86 - <div class="uk-panel-badge uk-badge">营运</div>  
87 - <h3 class="uk-panel-title">线路上站点间</h3>  
88 - <form class="uk-form uk-form-horizontal inpark_form" service_form>  
89 - <input type="hidden" name="type2" value="1">  
90 - <input type="hidden" name="mileageType" value="service">  
91 - <div class="uk-grid">  
92 - <div class="uk-width-3-10">  
93 - <div class="uk-form-row">  
94 - <label class="uk-form-label">班次类型 </label>  
95 - </div>  
96 - </div>  
97 - <div class="uk-width-7-10 pl5">  
98 - <select name="type1" class="ct_focus" disabled>  
99 - <option value="正常">正常</option>  
100 - <option value="临加">临加</option>  
101 - </select>  
102 - </div>  
103 - </div>  
104 - <div class="uk-grid">  
105 - <div class="uk-width-3-10">  
106 - <div class="uk-form-row">  
107 - <label class="uk-form-label">起点 </label>  
108 - </div>  
109 - </div>  
110 - <div class="uk-width-7-10 pl5">  
111 - <select name="startStation" disabled></select>  
112 - </div>  
113 - </div>  
114 - <div class="uk-grid">  
115 - <div class="uk-width-3-10">  
116 - <div class="uk-form-row">  
117 - <label class="uk-form-label">终点 </label>  
118 - </div>  
119 - </div>  
120 - <div class="uk-width-7-10 pl5">  
121 - <select name="endStation" class="ct_focus" disabled></select>  
122 - </div>  
123 - </div>  
124 - <div class="uk-grid">  
125 - <div class="uk-width-3-10">  
126 - <div class="uk-form-row">  
127 - <label class="uk-form-label">营运里程</label>  
128 - </div>  
129 - </div>  
130 - <div class="uk-width-7-10 pl5">  
131 - <input type="text" name="mileage" disabled>  
132 - </div>  
133 - </div>  
134 - <div class="uk-grid">  
135 - <div class="uk-width-3-10">  
136 - <div class="uk-form-row">  
137 - <label class="uk-form-label">开始时间</label>  
138 - </div>  
139 - </div>  
140 - <div class="uk-width-7-10 pl5">  
141 - <input type="time" name="startDate" disabled>  
142 - </div>  
143 - </div>  
144 - <div class="uk-grid">  
145 - <div class="uk-width-3-10">  
146 - <div class="uk-form-row">  
147 - <label class="uk-form-label">结束时间</label>  
148 - </div>  
149 - </div>  
150 - <div class="uk-width-7-10 pl5">  
151 - <input type="time" name="endDate" disabled>  
152 - </div>  
153 - </div>  
154 - </form>  
155 - </div>  
156 - </div>  
157 -  
158 - <form class="uk-form" style="margin-top: 15px; padding: 0 10px 0 0;">  
159 - <textarea placeholder="备注" style="width: 100%;height: 70px;" id="globalRemarks"></textarea>  
160 - </form>  
161 - </div>  
162 -  
163 - <div class="uk-modal-footer uk-text-right">  
164 - <button type="button" class="uk-button uk-modal-close">取消</button>  
165 - <button type="button" class="uk-button uk-button-primary" id="submitChildTaskBtn">提交子任务</button>  
166 - </div>  
167 - </div>  
168 -  
169 - <div class="ct-bottom-drawer">  
170 - <div class="ct-bottom-drawer-body"></div>  
171 - </div>  
172 -  
173 - <script id="sub-task-inpark-form-temp" type="text/html">  
174 - </script>  
175 -  
176 - <script>  
177 - (function () {  
178 - var modal = '#add-sub-task-inpark-modal',  
179 - serviceForm = $('form[service_form]', modal),  
180 - emptyForm = $('form[empty_form]', modal),  
181 - sch, stationRoutes, parks, information, esCode;  
182 - $(modal).on('init', function (e, data) {  
183 - sch = data.sch;  
184 - $('.linkToLineInfo', modal).attr('href', '/pages/base/lineinformation/list.html?no=' + gb_data_basic.codeToLine[sch.xlBm].id);  
185 -  
186 - //站点路由  
187 - stationRoutes = gb_common.groupBy(gb_data_basic.stationRoutes(sch.xlBm).sort(function (a, b) {  
188 - return a.stationRouteCode - b.stationRouteCode;  
189 - }), 'directions')[sch.xlDir];  
190 - //空驶起点(停车场)  
191 - $.get('/basic/parks', function (rs) {  
192 - parks = rs;  
193 - var opts = '';  
194 - for (var code in parks) {  
195 - opts += '<option value="' + code + '">' + parks[code] + '</option>';  
196 - }  
197 - $('select[name=startStation]', emptyForm).html(opts).val(information.carPark);  
198 -  
199 - //设置默认值  
200 - setDefaultVal();  
201 - });  
202 - //线路标准  
203 - information = gb_data_basic.getLineInformation(sch.xlBm);  
204 -  
205 - //出场开始时间改变  
206 - $('input[name=startDate]', emptyForm).on('change input', function () {  
207 - var st = moment($(this).val(), 'HH:mm')  
208 - , time = getOutTime();  
209 - if (!time)  
210 - return;  
211 -  
212 - var ets = st.add(time, 'minute').format('HH:mm');  
213 - $('input[name=endDate]', emptyForm).val(ets);  
214 - });  
215 - //出场结束时间改变  
216 - $('input[name=endDate]', emptyForm).on('change input', function () {  
217 - var et = moment($(this).val(), 'HH:mm'), time = getOutTime();  
218 - if (!time)  
219 - return;  
220 -  
221 - var ets = et.subtract(time, 'minute').format('HH:mm');  
222 - $('input[name=startDate]', emptyForm).val(ets);  
223 - });  
224 -  
225 - var dataArray = [];  
226 - var fs = $('form.inpark_form', modal).formValidation({  
227 - framework: 'uikit',  
228 - locale: 'zh_CN'  
229 - });  
230 - fs.on('success.form.fv', function (e) {  
231 - e.preventDefault();  
232 - if ($(this).is(':hidden'))  
233 - return;  
234 - dataArray.push($.extend($(this).serializeJSON(), getDisabledVal(this)  
235 - , {remarks: $('#globalRemarks', modal).val(), 'schedule.id': sch.id}));  
236 - $(this).data('valid', true);  
237 -  
238 - if (allValidSuccess()) {  
239 - var i = 0;  
240 - (function () {  
241 - var f = arguments.callee;  
242 - if (i >= dataArray.length) {  
243 - UIkit.modal(modal).hide();  
244 - $('#schedule-lj_zrw-modal .main-schedule-table').trigger('refresh', {sch: sch});  
245 - return;  
246 - }  
247 - var data = dataArray[i];  
248 - gb_common.$post('/childTask', data, function (rs) {  
249 - notify_succ('子任务添加成功');  
250 - gb_schedule_table.updateSchedule(rs.t);  
251 - i++;  
252 - f();  
253 - });  
254 - })();  
255 - }  
256 - });  
257 -  
258 - //校验不过  
259 - fs.on('err.field.fv', function () {  
260 - $('#submitChildTaskBtn', modal).removeClass('disabled').removeAttr('disabled');  
261 - });  
262 -  
263 - //submit  
264 - $('#submitChildTaskBtn', modal).on('click', function () {  
265 - $(this).addClass('disabled').attr('disabled', 'disabled');  
266 - dataArray = [];  
267 - fs.data('valid', false);  
268 - fs.formValidation('validate');  
269 - //fs.submit();  
270 - });  
271 - });  
272 -  
273 - /* function outUpOrDown() {  
274 - if (information.carPark != $('select[name=startStation]', emptyForm).val())  
275 - return -1;  
276 -  
277 - return sch.xlDir;  
278 - }*/  
279 -  
280 - function getOutTime() {  
281 - if (information.carPark != $('select[name=startStation]', emptyForm).val())  
282 - return null;  
283 -  
284 - if (sch.xlDir == 0)  
285 - return information.upOutTimer;  
286 - else if (sch.xlDir == 1)  
287 - return information.downOutTimer;  
288 - }  
289 -  
290 - function allValidSuccess() {  
291 - var flag = true;  
292 - $('form.inpark_form:visible', modal).each(function (i, f) {  
293 - if (!$(f).data('valid')) {  
294 - flag = false;  
295 - return false;  
296 - }  
297 - });  
298 - return flag;  
299 - }  
300 -  
301 - //获取表单disabled 项的值  
302 - function getDisabledVal(f) {  
303 - var rs = {};  
304 - $('input,select', f).each(function () {  
305 - if ($(this).attr('disabled')) {  
306 - rs[$(this).attr('name')] = $(this).val();  
307 - }  
308 - });  
309 - return rs;  
310 - }  
311 -  
312 - function setDefaultVal() {  
313 - var routeOpts = '';  
314 - $.each(stationRoutes, function () {  
315 - routeOpts += '<option value="' + this.stationCode + '">' + this.stationName + '</option>';  
316 - });  
317 - esCode = stationRoutes[stationRoutes.length - 1].stationCode;  
318 -  
319 - //营运起终点  
320 - $('select[name=startStation]', serviceForm).html(routeOpts).val(sch.qdzCode);  
321 - $('select[name=endStation]', serviceForm).html(routeOpts).val(sch.zdzCode);  
322 - //营运开始结束时间  
323 - $('input[name=startDate]', serviceForm).val(sch.dfsj);  
324 - $('input[name=endDate]', serviceForm).val(sch.zdsj);  
325 - //营运里程  
326 - $('input[name=mileage]', serviceForm).val(sch.jhlc);  
327 - //营运班次类型  
328 - $('select[name=type1]', serviceForm).val(sch['sflj'] ? '临加' : '正常');  
329 -  
330 -  
331 - //空驶终点  
332 - $('select[name=endStation]', emptyForm).html(routeOpts).val(sch.qdzCode);  
333 - //出场结束时间  
334 - var eDate = moment(sch.dfsj, 'HH:mm').subtract(5, 'minute').format('HH:mm');  
335 - $('input[name=endDate]', emptyForm).val(eDate).trigger('change');  
336 - //空驶里程  
337 - $('input[name=mileage]', emptyForm).val(sch.xlDir == 0 ? information.upOutMileage : information.downOutMileage);  
338 - }  
339 - })();  
340 - </script> 1 +<div class="uk-modal" id="add-sub-task-inpark-modal">
  2 + <div class="uk-modal-dialog">
  3 + <a href="" class="uk-modal-close uk-close"></a>
  4 + <div class="uk-modal-header">
  5 + <h2>出场子任务</h2></div>
  6 +
  7 + <div style="width: 100%;padding-left: 1%;">
  8 + <div class="sub-task-card">
  9 + <div class="uk-panel uk-panel-box uk-panel-box-secondary">
  10 + <div class="uk-panel-badge uk-badge uk-badge-default">空驶</div>
  11 + <h3 class="uk-panel-title">出场</h3>
  12 + <form class="uk-form uk-form-horizontal inpark_form" empty_form>
  13 + <input type="hidden" name="type2" value="3">
  14 + <input type="hidden" name="mileageType" value="empty">
  15 + <div class="uk-grid">
  16 + <div class="uk-width-3-10">
  17 + <div class="uk-form-row">
  18 + <label class="uk-form-label">班次类型 </label>
  19 + </div>
  20 + </div>
  21 + <div class="uk-width-7-10 pl5">
  22 + <select name="type1" class="ct_focus">
  23 + <option value="正常">正常</option>
  24 + <option value="临加">临加</option>
  25 + </select>
  26 + </div>
  27 + </div>
  28 + <div class="uk-grid">
  29 + <div class="uk-width-3-10">
  30 + <div class="uk-form-row">
  31 + <label class="uk-form-label">起点 </label>
  32 + </div>
  33 + </div>
  34 + <div class="uk-width-7-10 pl5">
  35 + <select name="startStation"></select>
  36 + </div>
  37 + </div>
  38 + <div class="uk-grid">
  39 + <div class="uk-width-3-10">
  40 + <div class="uk-form-row">
  41 + <label class="uk-form-label" disabled>终点 </label>
  42 + </div>
  43 + </div>
  44 + <div class="uk-width-7-10 pl5">
  45 + <select name="endStation" class="ct_focus" disabled></select>
  46 + </div>
  47 + </div>
  48 + <div class="uk-grid">
  49 + <div class="uk-width-3-10">
  50 + <div class="uk-form-row">
  51 + <label class="uk-form-label">空驶里程</label>
  52 + </div>
  53 + </div>
  54 + <div class="uk-width-7-10 pl5">
  55 + <input type="text" name="mileage" required style="width: calc(100% - 62px);">
  56 + <a style="font-size: 12px;color: grey;cursor: default;" target="_blank"
  57 + class="linkToLineInfo">线路标准</a>
  58 + </div>
  59 + </div>
  60 + <div class="uk-grid">
  61 + <div class="uk-width-3-10">
  62 + <div class="uk-form-row">
  63 + <label class="uk-form-label">开始时间</label>
  64 + </div>
  65 + </div>
  66 + <div class="uk-width-7-10 pl5">
  67 + <input type="time" name="startDate" required>
  68 + </div>
  69 + </div>
  70 + <div class="uk-grid">
  71 + <div class="uk-width-3-10">
  72 + <div class="uk-form-row">
  73 + <label class="uk-form-label">结束时间</label>
  74 + </div>
  75 + </div>
  76 + <div class="uk-width-7-10 pl5">
  77 + <input type="time" name="endDate" required>
  78 + </div>
  79 + </div>
  80 + </form>
  81 + </div>
  82 + </div>
  83 +
  84 + <div class="sub-task-card">
  85 + <div class="uk-panel uk-panel-box uk-panel-box-primary">
  86 + <div class="uk-panel-badge uk-badge">营运</div>
  87 + <h3 class="uk-panel-title">线路上站点间</h3>
  88 + <form class="uk-form uk-form-horizontal inpark_form" service_form>
  89 + <input type="hidden" name="type2" value="1">
  90 + <input type="hidden" name="mileageType" value="service">
  91 + <div class="uk-grid">
  92 + <div class="uk-width-3-10">
  93 + <div class="uk-form-row">
  94 + <label class="uk-form-label">班次类型 </label>
  95 + </div>
  96 + </div>
  97 + <div class="uk-width-7-10 pl5">
  98 + <select name="type1" class="ct_focus" disabled>
  99 + <option value="正常">正常</option>
  100 + <option value="临加">临加</option>
  101 + </select>
  102 + </div>
  103 + </div>
  104 + <div class="uk-grid">
  105 + <div class="uk-width-3-10">
  106 + <div class="uk-form-row">
  107 + <label class="uk-form-label">起点 </label>
  108 + </div>
  109 + </div>
  110 + <div class="uk-width-7-10 pl5">
  111 + <select name="startStation" disabled></select>
  112 + </div>
  113 + </div>
  114 + <div class="uk-grid">
  115 + <div class="uk-width-3-10">
  116 + <div class="uk-form-row">
  117 + <label class="uk-form-label">终点 </label>
  118 + </div>
  119 + </div>
  120 + <div class="uk-width-7-10 pl5">
  121 + <select name="endStation" class="ct_focus" disabled></select>
  122 + </div>
  123 + </div>
  124 + <div class="uk-grid">
  125 + <div class="uk-width-3-10">
  126 + <div class="uk-form-row">
  127 + <label class="uk-form-label">营运里程</label>
  128 + </div>
  129 + </div>
  130 + <div class="uk-width-7-10 pl5">
  131 + <input type="text" name="mileage" disabled>
  132 + </div>
  133 + </div>
  134 + <div class="uk-grid">
  135 + <div class="uk-width-3-10">
  136 + <div class="uk-form-row">
  137 + <label class="uk-form-label">开始时间</label>
  138 + </div>
  139 + </div>
  140 + <div class="uk-width-7-10 pl5">
  141 + <input type="time" name="startDate" disabled>
  142 + </div>
  143 + </div>
  144 + <div class="uk-grid">
  145 + <div class="uk-width-3-10">
  146 + <div class="uk-form-row">
  147 + <label class="uk-form-label">结束时间</label>
  148 + </div>
  149 + </div>
  150 + <div class="uk-width-7-10 pl5">
  151 + <input type="time" name="endDate" disabled>
  152 + </div>
  153 + </div>
  154 + </form>
  155 + </div>
  156 + </div>
  157 +
  158 + <form class="uk-form" style="margin-top: 15px; padding: 0 10px 0 0;">
  159 + <textarea placeholder="备注" style="width: 100%;height: 70px;" id="globalRemarks"></textarea>
  160 + </form>
  161 + </div>
  162 +
  163 + <div class="uk-modal-footer uk-text-right">
  164 + <button type="button" class="uk-button uk-modal-close">取消</button>
  165 + <button type="button" class="uk-button uk-button-primary" id="submitChildTaskBtn">提交子任务</button>
  166 + </div>
  167 + </div>
  168 +
  169 + <div class="ct-bottom-drawer">
  170 + <div class="ct-bottom-drawer-body"></div>
  171 + </div>
  172 +
  173 + <script id="sub-task-inpark-form-temp" type="text/html">
  174 + </script>
  175 +
  176 + <script>
  177 + (function () {
  178 + var modal = '#add-sub-task-inpark-modal',
  179 + serviceForm = $('form[service_form]', modal),
  180 + emptyForm = $('form[empty_form]', modal),
  181 + sch, stationRoutes, parks, information, esCode;
  182 + $(modal).on('init', function (e, data) {
  183 + sch = data.sch;
  184 + $('.linkToLineInfo', modal).attr('href', '/pages/base/lineinformation/list.html?no=' + gb_data_basic.codeToLine[sch.xlBm].id);
  185 +
  186 + //站点路由
  187 + stationRoutes = gb_common.groupBy(gb_data_basic.stationRoutes(sch.xlBm).sort(function (a, b) {
  188 + return a.stationRouteCode - b.stationRouteCode;
  189 + }), 'directions')[sch.xlDir];
  190 + //空驶起点(停车场)
  191 + $.get('/basic/parks', function (rs) {
  192 + parks = rs;
  193 + var opts = '';
  194 + for (var code in parks) {
  195 + opts += '<option value="' + code + '">' + parks[code] + '</option>';
  196 + }
  197 + $('select[name=startStation]', emptyForm).html(opts).val(information.carPark);
  198 +
  199 + //设置默认值
  200 + setDefaultVal();
  201 + });
  202 + //线路标准
  203 + information = gb_data_basic.getLineInformation(sch.xlBm);
  204 +
  205 + //出场开始时间改变
  206 + $('input[name=startDate]', emptyForm).on('change input', function () {
  207 + var st = moment($(this).val(), 'HH:mm')
  208 + , time = getOutTime();
  209 + if (!time)
  210 + return;
  211 +
  212 + var ets = st.add(time, 'minute').format('HH:mm');
  213 + $('input[name=endDate]', emptyForm).val(ets);
  214 + });
  215 + //出场结束时间改变
  216 + $('input[name=endDate]', emptyForm).on('change input', function () {
  217 + var et = moment($(this).val(), 'HH:mm'), time = getOutTime();
  218 + if (!time)
  219 + return;
  220 +
  221 + var ets = et.subtract(time, 'minute').format('HH:mm');
  222 + $('input[name=startDate]', emptyForm).val(ets);
  223 + });
  224 +
  225 + var dataArray = [];
  226 + var fs = $('form.inpark_form', modal).formValidation({
  227 + framework: 'uikit',
  228 + locale: 'zh_CN'
  229 + });
  230 + fs.on('success.form.fv', function (e) {
  231 + e.preventDefault();
  232 + if ($(this).is(':hidden'))
  233 + return;
  234 + dataArray.push($.extend($(this).serializeJSON(), getDisabledVal(this)
  235 + , {remarks: $('#globalRemarks', modal).val(), 'schedule.id': sch.id}));
  236 + $(this).data('valid', true);
  237 +
  238 + if (allValidSuccess()) {
  239 + var i = 0;
  240 + (function () {
  241 + var f = arguments.callee;
  242 + if (i >= dataArray.length) {
  243 + UIkit.modal(modal).hide();
  244 + $('#schedule-lj_zrw-modal .main-schedule-table').trigger('refresh', {sch: sch});
  245 + return;
  246 + }
  247 + var data = dataArray[i];
  248 + gb_common.$post('/childTask', data, function (rs) {
  249 + notify_succ('子任务添加成功');
  250 + gb_schedule_table.updateSchedule(rs.t);
  251 + i++;
  252 + f();
  253 + });
  254 + })();
  255 + }
  256 + });
  257 +
  258 + //校验不过
  259 + fs.on('err.field.fv', function () {
  260 + $('#submitChildTaskBtn', modal).removeClass('disabled').removeAttr('disabled');
  261 + });
  262 +
  263 + //submit
  264 + $('#submitChildTaskBtn', modal).on('click', function () {
  265 + $(this).addClass('disabled').attr('disabled', 'disabled');
  266 + dataArray = [];
  267 + fs.data('valid', false);
  268 + fs.formValidation('validate');
  269 + //fs.submit();
  270 + });
  271 + });
  272 +
  273 + /* function outUpOrDown() {
  274 + if (information.carPark != $('select[name=startStation]', emptyForm).val())
  275 + return -1;
  276 +
  277 + return sch.xlDir;
  278 + }*/
  279 +
  280 + function getOutTime() {
  281 + if (information.carPark != $('select[name=startStation]', emptyForm).val())
  282 + return null;
  283 +
  284 + if (sch.xlDir == 0)
  285 + return information.upOutTimer;
  286 + else if (sch.xlDir == 1)
  287 + return information.downOutTimer;
  288 + }
  289 +
  290 + function allValidSuccess() {
  291 + var flag = true;
  292 + $('form.inpark_form:visible', modal).each(function (i, f) {
  293 + if (!$(f).data('valid')) {
  294 + flag = false;
  295 + return false;
  296 + }
  297 + });
  298 + return flag;
  299 + }
  300 +
  301 + //获取表单disabled 项的值
  302 + function getDisabledVal(f) {
  303 + var rs = {};
  304 + $('input,select', f).each(function () {
  305 + if ($(this).attr('disabled')) {
  306 + rs[$(this).attr('name')] = $(this).val();
  307 + }
  308 + });
  309 + return rs;
  310 + }
  311 +
  312 + function setDefaultVal() {
  313 + var routeOpts = '';
  314 + $.each(stationRoutes, function () {
  315 + routeOpts += '<option value="' + this.stationCode + '">' + this.stationName + '</option>';
  316 + });
  317 + esCode = stationRoutes[stationRoutes.length - 1].stationCode;
  318 +
  319 + //营运起终点
  320 + $('select[name=startStation]', serviceForm).html(routeOpts).val(sch.qdzCode);
  321 + $('select[name=endStation]', serviceForm).html(routeOpts).val(sch.zdzCode);
  322 + //营运开始结束时间
  323 + $('input[name=startDate]', serviceForm).val(sch.dfsj);
  324 + $('input[name=endDate]', serviceForm).val(sch.zdsj);
  325 + //营运里程
  326 + $('input[name=mileage]', serviceForm).val(sch.jhlc);
  327 + //营运班次类型
  328 + $('select[name=type1]', serviceForm).val(sch['sflj'] ? '临加' : '正常');
  329 +
  330 +
  331 + //空驶终点
  332 + $('select[name=endStation]', emptyForm).html(routeOpts).val(sch.qdzCode);
  333 + //出场结束时间
  334 + var eDate = moment(sch.dfsj, 'HH:mm').subtract(5, 'minute').format('HH:mm');
  335 + $('input[name=endDate]', emptyForm).val(eDate).trigger('change');
  336 + //空驶里程
  337 + $('input[name=mileage]', emptyForm).val(sch.xlDir == 0 ? information.upOutMileage : information.downOutMileage);
  338 + }
  339 + })();
  340 + </script>
341 </div> 341 </div>
342 \ No newline at end of file 342 \ No newline at end of file
src/main/resources/static/real_control_v2/js/data/gps_abnormal.js
1 -/** gps 信号异常状态,无效 | 越界 | 超速 */  
2 -  
3 -var gb_gps_abnormal = (function () {  
4 -  
5 - //按线路分组的路段数据  
6 - var allRoads;  
7 -  
8 - //gps无效  
9 - var gpsInvalid = function (gps) {  
10 - return gps.lat == 0 || gps.lon == 0;  
11 - };  
12 -  
13 - //越界  
14 - var gpsOutOfBounds = function (gps) {  
15 - var roads = allRoads[gps.lineId + '_' + gps.upDown];  
16 - if (!roads)  
17 - return;  
18 -  
19 - //最短距离  
20 - var min, distance;  
21 - $.each(roads, function () {  
22 - distance = minDistanceFromRoad(this.pos, gps);  
23 - if (!min || min > distance)  
24 - min = distance;  
25 - });  
26 -  
27 - //越界阈值 120米  
28 - var threshold = 120;  
29 - if (gps.sch && gps.sch.bcType == 'in')  
30 - return;  
31 -  
32 - if (min > threshold) {  
33 - gps.abnormal = 'outBounds';  
34 - gps.outBoundsDistance = min;  
35 - }  
36 - //console.log('最短距离', min, gps.nbbm);  
37 - };  
38 -  
39 - /**  
40 - * 初始化数据  
41 - */  
42 - var initData = function () {  
43 - //获取线路路段数据  
44 - gb_common.$get('/realMap/multiSectionRoute', {codeIdx: gb_data_basic.line_idx}, function (rs) {  
45 - var list = [];  
46 - $.each(rs.section, function () {  
47 - list.push({  
48 - line: this['LINE_CODE'],  
49 - updown: this['DIRECTIONS'],  
50 - pos: parseCoords(this['GSECTION_VECTOR']),  
51 - route_code: this['SECTIONROUTE_CODE'],  
52 - code: this['SECTION_CODE'],  
53 - name: this['SECTION_NAME']  
54 - });  
55 - });  
56 - //按线路_走向 分组数据  
57 - allRoads = groupByLineAndUpdown(list);  
58 - });  
59 - };  
60 -  
61 - function minDistanceFromRoad(pos, gps) {  
62 - var distance, min;  
63 - var len = pos.length - 1;  
64 - for (var i = 0; i < len; i++) {  
65 - distance = geolib.getDistanceFromLine({  
66 - latitude: gps.lat,  
67 - longitude: gps.lon  
68 - }, pos[i], pos[i + 1]);  
69 -  
70 - if (!min || min > distance)  
71 - min = distance;  
72 - }  
73 -  
74 - return min;  
75 - }  
76 -  
77 - function groupByLineAndUpdown(list) {  
78 - var rs = {},  
79 - key;  
80 - $.each(list, function () {  
81 - key = this.line + '_' + this.updown;  
82 - if (!rs[key])  
83 - rs[key] = [];  
84 -  
85 - rs[key].push(this);  
86 - });  
87 -  
88 - return rs;  
89 - }  
90 -  
91 - function parseCoords(str) {  
92 - var array = str.substr(11, str.length - 2).split(','), rs = [], temps;  
93 - $.each(array, function (i, coords) {  
94 - temps = coords.split(' ');  
95 - rs.push({  
96 - latitude: parseFloat(temps[1]),  
97 - longitude: parseFloat(temps[0])  
98 - });  
99 - });  
100 -  
101 - return rs;  
102 - }  
103 -  
104 - return {  
105 - initData: initData,  
106 - check: function (gps) {  
107 - if (!allRoads) {  
108 - return;  
109 - }  
110 -  
111 - gpsOutOfBounds(gps);  
112 - }  
113 - } 1 +/** gps 信号异常状态,无效 | 越界 | 超速 */
  2 +
  3 +var gb_gps_abnormal = (function () {
  4 +
  5 + //按线路分组的路段数据
  6 + var allRoads;
  7 +
  8 + //gps无效
  9 + var gpsInvalid = function (gps) {
  10 + return gps.lat == 0 || gps.lon == 0;
  11 + };
  12 +
  13 + //越界
  14 + var gpsOutOfBounds = function (gps) {
  15 + var roads = allRoads[gps.lineId + '_' + gps.upDown];
  16 + if (!roads)
  17 + return;
  18 +
  19 + //最短距离
  20 + var min, distance;
  21 + $.each(roads, function () {
  22 + distance = minDistanceFromRoad(this.pos, gps);
  23 + if (!min || min > distance)
  24 + min = distance;
  25 + });
  26 +
  27 + //越界阈值 120米
  28 + var threshold = 120;
  29 + if (gps.sch && gps.sch.bcType == 'in')
  30 + return;
  31 +
  32 + if (min > threshold) {
  33 + gps.abnormal = 'outBounds';
  34 + gps.outBoundsDistance = min;
  35 + }
  36 + //console.log('最短距离', min, gps.nbbm);
  37 + };
  38 +
  39 + /**
  40 + * 初始化数据
  41 + */
  42 + var initData = function () {
  43 + //获取线路路段数据
  44 + gb_common.$get('/realMap/multiSectionRoute', {codeIdx: gb_data_basic.line_idx}, function (rs) {
  45 + var list = [];
  46 + $.each(rs.section, function () {
  47 + list.push({
  48 + line: this['LINE_CODE'],
  49 + updown: this['DIRECTIONS'],
  50 + pos: parseCoords(this['GSECTION_VECTOR']),
  51 + route_code: this['SECTIONROUTE_CODE'],
  52 + code: this['SECTION_CODE'],
  53 + name: this['SECTION_NAME']
  54 + });
  55 + });
  56 + //按线路_走向 分组数据
  57 + allRoads = groupByLineAndUpdown(list);
  58 + });
  59 + };
  60 +
  61 + function minDistanceFromRoad(pos, gps) {
  62 + var distance, min;
  63 + var len = pos.length - 1;
  64 + for (var i = 0; i < len; i++) {
  65 + distance = geolib.getDistanceFromLine({
  66 + latitude: gps.lat,
  67 + longitude: gps.lon
  68 + }, pos[i], pos[i + 1]);
  69 +
  70 + if (!min || min > distance)
  71 + min = distance;
  72 + }
  73 +
  74 + return min;
  75 + }
  76 +
  77 + function groupByLineAndUpdown(list) {
  78 + var rs = {},
  79 + key;
  80 + $.each(list, function () {
  81 + key = this.line + '_' + this.updown;
  82 + if (!rs[key])
  83 + rs[key] = [];
  84 +
  85 + rs[key].push(this);
  86 + });
  87 +
  88 + return rs;
  89 + }
  90 +
  91 + function parseCoords(str) {
  92 + var array = str.substr(11, str.length - 2).split(','), rs = [], temps;
  93 + $.each(array, function (i, coords) {
  94 + temps = coords.split(' ');
  95 + rs.push({
  96 + latitude: parseFloat(temps[1]),
  97 + longitude: parseFloat(temps[0])
  98 + });
  99 + });
  100 +
  101 + return rs;
  102 + }
  103 +
  104 + return {
  105 + initData: initData,
  106 + check: function (gps) {
  107 + if (!allRoads) {
  108 + return;
  109 + }
  110 +
  111 + gpsOutOfBounds(gps);
  112 + }
  113 + }
114 })(); 114 })();
115 \ No newline at end of file 115 \ No newline at end of file