Commit 1505db8e187595580ac52f0ec98a6a0fdde2b2bd

Authored by 廖磊
2 parents c6127b00 f4d790dc

Merge branch 'minhang' of 192.168.168.201:panzhaov5/bsth_control into minhang

Showing 27 changed files with 1626 additions and 792 deletions
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/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/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/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/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/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/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/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 }]);