Commit f4d790dcf2a6e1b10e5eacac805f101eeba5e488

Authored by 娄高锋
2 parents 9d4fe8d8 2298d97f

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

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 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 90 \ No newline at end of file
  91 +}
130 92 \ No newline at end of file
... ...
src/main/java/com/bsth/service/schedule/ScheduleRule1FlatService.java
1 1 package com.bsth.service.schedule;
2 2  
3 3 import com.bsth.entity.schedule.rule.ScheduleRule1Flat;
4   -import com.bsth.service.BaseService;
5 4  
6 5 /**
7 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 47 /**------------------------- 导入数据ktr --------------------------*/
48 48 /** 测试temp的ktr转换文件 */
49 49 @NotNull
50   - private String tempDatainputktr;
51   - /** 车辆信息导入ktr转换 */
52   - @NotNull
53 50 private String carsDatainputktr;
54 51 /** 人员信息导入ktr转换 */
55 52 @NotNull
... ... @@ -84,9 +81,14 @@ public class DataToolsProperties {
84 81 @NotNull
85 82 private String employeesDataoutputktr;
86 83 /** 时刻表导出元数据ktr转换 */
  84 + @NotNull
87 85 private String ttinfodetailMetaoutput;
88 86 /** 时刻表导出数据ktr转换 */
  87 + @NotNull
89 88 private String ttinfodetailOutput;
  89 + @NotNull
  90 + /** 排版规则导出数据ktr转换 */
  91 + private String scheduleruleOutput;
90 92  
91 93 // TODO:
92 94  
... ... @@ -106,14 +108,6 @@ public class DataToolsProperties {
106 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 111 public String getCarsDatainputktr() {
118 112 return carsDatainputktr;
119 113 }
... ... @@ -273,4 +267,12 @@ public class DataToolsProperties {
273 267 public void setTtinfodetailOutput(String ttinfodetailOutput) {
274 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 21 datatools.trans_tempdir=/Users/xu/resource/project_code/runtime_temp/bsth_control_u_d_files/temp
22 22  
23 23 ##---------------------------- 导入数据ktr ----------------------------##
24   -# 测试temp的ktr转换文件
25   -datatools.temp_datainputktr=/datatools/ktrs/test.ktr
26 24 # 车辆信息导入ktr转换
27 25 datatools.cars_datainputktr=/datatools/ktrs/carsDataInput.ktr
28 26 # 人员信息导入
... ... @@ -59,6 +57,8 @@ datatools.employees_dataoutputktr=/datatools/ktrs/employeesDataOutput.ktr
59 57 datatools.ttinfodetail_metaoutput=/datatools/ktrs/ttinfodetailDataOutputMetaData.ktr
60 58 # 时刻表导出数据ktr转换
61 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 22 datatools.trans_tempdir=/home/bsth_control_u_d_files/temp
23 23  
24 24 ##---------------------------- 导入数据ktr ----------------------------##
25   -# 测试temp的ktr转换文件
26   -datatools.temp_datainputktr=/datatools/ktrs/test.ktr
27 25 # 车辆信息导入ktr转换
28 26 datatools.cars_datainputktr=/datatools/ktrs/carsDataInput.ktr
29 27 # 人员信息导入
... ... @@ -60,5 +58,8 @@ datatools.employees_dataoutputktr=/datatools/ktrs/employeesDataOutput.ktr
60 58 datatools.ttinfodetail_metaoutput=/datatools/ktrs/ttinfodetailDataOutputMetaData.ktr
61 59 # 时刻表导出数据ktr转换
62 60 datatools.ttinfodetail_output=/datatools/ktrs/ttinfodetailDataOutput.ktr
  61 +# 排版规则导出数据ktr转换
  62 +datatools.schedulerule_output=/datatools/ktrs/scheduleRuleDataOutput.ktr
  63 +
63 64  
64 65 # TODO:
65 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/scheduleApp/module/common/dts2/employeeGroup/saEmployeegroup.js
... ... @@ -485,7 +485,7 @@ angular.module(&#39;ScheduleApp&#39;).directive(&#39;saEmployeegroup&#39;, [
485 485 */
486 486 scope[ctrlAs].$$internal_validate_init = function() {
487 487 var self = scope[ctrlAs];
488   - var data_temp = self.$$data;
  488 + var data_temp = self.$$dataReal;
489 489 var dataSelect_temp = self.$$dataSelected;
490 490 var dataFBSelect_temp = self.$$dataFBSelected;
491 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 3120 */
3121 3121 scope[ctrlAs].$$internal_validate_init = function() {
3122 3122 var self = scope[ctrlAs];
3123   - var data_temp = self.$$data;
  3123 + var data_temp = self.$$dataReal;
3124 3124 var dataSelect_temp = self.$$dataSelected;
3125 3125 var dataFBSelect_temp = self.$$dataFBSelected;
3126 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 461 method: 'GET',
462 462 params: {
463 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 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 485 save: {
470 486 method: 'POST'
... ... @@ -473,6 +489,22 @@ angular.module(&#39;ScheduleApp&#39;).factory(&#39;ScheduleRuleManageService_g&#39;, [&#39;$resource
473 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 32 添加规则
33 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 50 </div>
64 51 </div>
65 52  
... ...
src/main/resources/static/pages/scheduleApp/module/core/scheduleRuleManage/list.html
... ... @@ -18,15 +18,18 @@
18 18 <tr role="row" class="filter">
19 19 <td></td>
20 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 24 dcname="xl.id_eq"
26 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 33 </td>
31 34 <td></td>
32 35 <td></td>
... ... @@ -38,18 +41,18 @@
38 41 <td></td>
39 42 <td>
40 43 <button class="btn btn-sm green btn-outline filter-submit margin-bottom"
41   - ng-click="ctrl.pageChanaged()">
  44 + ng-click="ctrl.doPage()">
42 45 <i class="fa fa-search"></i> 搜索</button>
43 46  
44 47 <button class="btn btn-sm red btn-outline filter-cancel"
45   - ng-click="ctrl.resetSearchCondition()">
  48 + ng-click="ctrl.reset()">
46 49 <i class="fa fa-times"></i> 重置</button>
47 50 </td>
48 51  
49 52 </tr>
50 53 </thead>
51 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 56 <td>
54 57 <span ng-bind="$index + 1"></span>
55 58 </td>
... ... @@ -94,9 +97,9 @@
94 97  
95 98  
96 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 103 rotate="false"
101 104 max-size="10"
102 105 boundary-links="true"
... ...
src/main/resources/static/pages/scheduleApp/module/core/scheduleRuleManage/module.js
1 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 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 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 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 9 method: 'GET',
10 10 params: {
11 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 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 33 save: {
18 34 method: 'POST'
... ... @@ -21,6 +37,22 @@ angular.module(&#39;ScheduleApp&#39;).factory(&#39;ScheduleRuleManageService_g&#39;, [&#39;$resource
21 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 }]);
... ...