Commit ed9bb7ee01fc92335577ce2b52774e19860a8cbd
1 parent
78b0511f
PSM-12
Showing
12 changed files
with
1387 additions
and
7 deletions
src/main/java/com/bsth/controller/BaseController.java
| ... | ... | @@ -9,6 +9,7 @@ import org.springframework.data.domain.Page; |
| 9 | 9 | import org.springframework.data.domain.PageRequest; |
| 10 | 10 | import org.springframework.data.domain.Sort; |
| 11 | 11 | import org.springframework.data.domain.Sort.Direction; |
| 12 | +import org.springframework.util.CollectionUtils; | |
| 12 | 13 | import org.springframework.web.bind.annotation.PathVariable; |
| 13 | 14 | import org.springframework.web.bind.annotation.RequestMapping; |
| 14 | 15 | import org.springframework.web.bind.annotation.RequestMethod; |
| ... | ... | @@ -167,11 +168,24 @@ public class BaseController<T, ID extends Serializable> { |
| 167 | 168 | */ |
| 168 | 169 | @RequestMapping(value = "/dataExport", method = RequestMethod.GET) |
| 169 | 170 | public void dataExport(HttpServletResponse response) throws Exception { |
| 171 | + dataExport(response, null); | |
| 172 | + } | |
| 173 | + | |
| 174 | + @RequestMapping(value = "/dataExportExt", method = RequestMethod.GET) | |
| 175 | + public void dataExport(HttpServletResponse response, @RequestParam Map<String, Object> param) throws Exception { | |
| 170 | 176 | // 1、使用ktr转换获取输出文件 |
| 171 | 177 | File ktrfile = new File(this.getClass().getResource(getDataExportKtrClasspath()).toURI()); |
| 172 | - File outputfile = dataImportExportService.fileDataOutput( | |
| 173 | - getDataExportFilename(), | |
| 174 | - ktrfile); | |
| 178 | + File outputfile = null; | |
| 179 | + if (!CollectionUtils.isEmpty(param)) { | |
| 180 | + outputfile = dataImportExportService.fileDataOutput( | |
| 181 | + getDataExportFilename(), | |
| 182 | + ktrfile, | |
| 183 | + param); | |
| 184 | + } else { | |
| 185 | + outputfile = dataImportExportService.fileDataOutput( | |
| 186 | + getDataExportFilename(), | |
| 187 | + ktrfile); | |
| 188 | + } | |
| 175 | 189 | |
| 176 | 190 | System.out.println(outputfile.getName()); |
| 177 | 191 | String filePath = outputfile.getAbsolutePath(); | ... | ... |
src/main/java/com/bsth/controller/schedule/TTInfoDetailController.java
| ... | ... | @@ -14,6 +14,7 @@ import com.bsth.service.StationRouteService; |
| 14 | 14 | import com.bsth.service.schedule.GuideboardInfoService; |
| 15 | 15 | import com.bsth.service.schedule.TTInfoDetailService; |
| 16 | 16 | import com.bsth.service.schedule.utils.DataImportExportService; |
| 17 | +import com.bsth.service.schedule.utils.DataToolsProperties; | |
| 17 | 18 | import jxl.Cell; |
| 18 | 19 | import jxl.Sheet; |
| 19 | 20 | import jxl.Workbook; |
| ... | ... | @@ -26,6 +27,7 @@ import org.springframework.util.CollectionUtils; |
| 26 | 27 | import org.springframework.web.bind.annotation.*; |
| 27 | 28 | import org.springframework.web.multipart.MultipartFile; |
| 28 | 29 | |
| 30 | +import javax.servlet.http.HttpServletResponse; | |
| 29 | 31 | import java.io.File; |
| 30 | 32 | import java.util.*; |
| 31 | 33 | import java.util.regex.Matcher; |
| ... | ... | @@ -51,6 +53,8 @@ public class TTInfoDetailController extends BaseController<TTInfoDetail, Long> { |
| 51 | 53 | private StationRouteService stationRouteService; |
| 52 | 54 | @Autowired |
| 53 | 55 | private GuideboardInfoService guideboardInfoService; |
| 56 | + @Autowired | |
| 57 | + private DataToolsProperties dataToolsProperties; | |
| 54 | 58 | |
| 55 | 59 | |
| 56 | 60 | public static class ExcelFileOutput { |
| ... | ... | @@ -126,11 +130,15 @@ public class TTInfoDetailController extends BaseController<TTInfoDetail, Long> { |
| 126 | 130 | Cell[] cells = sheet.getRow(0); // 获取第一行数据列 |
| 127 | 131 | for (int i = 0; i < cells.length; i++) { |
| 128 | 132 | String cell_con = cells[i].getContents(); |
| 133 | + | |
| 129 | 134 | if (StringUtils.isEmpty(cell_con)) { |
| 130 | 135 | rtn.put("status", ResponseCode.ERROR); |
| 131 | 136 | rtn.put("msg", String.format("第1行,第%d列数据不能为空", i + 1)); |
| 132 | 137 | return rtn; |
| 133 | 138 | } else { |
| 139 | + // 正则表达式去除数字 | |
| 140 | + cell_con = cell_con.replaceAll("[\\d+]", ""); | |
| 141 | + | |
| 134 | 142 | if (i == 0) { // 第一列必须是路牌2个字 |
| 135 | 143 | if (!"路牌".equals(cell_con.trim())) { |
| 136 | 144 | rtn.put("status", ResponseCode.ERROR); |
| ... | ... | @@ -457,4 +465,25 @@ public class TTInfoDetailController extends BaseController<TTInfoDetail, Long> { |
| 457 | 465 | public List<TTInfoDetail> findBcdetails(Integer xlId, Long ttinfoId, Long lpId) { |
| 458 | 466 | return ttInfoDetailRepository.findBcdetails(xlId, ttinfoId, lpId); |
| 459 | 467 | } |
| 468 | + | |
| 469 | + @Override | |
| 470 | + public void dataExport(HttpServletResponse response, @RequestParam Map<String, Object> param) throws Exception { | |
| 471 | + // 获取injectktr | |
| 472 | + File ktrFile2 = new File(this.getClass().getResource( | |
| 473 | + dataToolsProperties.getTtinfodetailOutput()).toURI()); | |
| 474 | + param.put("injectktrfile", ktrFile2.getAbsolutePath()); | |
| 475 | + param.put("ttinfoid", param.get("ttinfoid")); | |
| 476 | + | |
| 477 | + super.dataExport(response, param); | |
| 478 | + } | |
| 479 | + | |
| 480 | + @Override | |
| 481 | + protected String getDataExportKtrClasspath() { | |
| 482 | + return dataToolsProperties.getTtinfodetailMetaoutput(); | |
| 483 | + } | |
| 484 | + | |
| 485 | + @Override | |
| 486 | + protected String getDataExportFilename() { | |
| 487 | + return "时刻表"; | |
| 488 | + } | |
| 460 | 489 | } | ... | ... |
src/main/java/com/bsth/service/schedule/utils/DataImportExportService.java
| ... | ... | @@ -3,6 +3,7 @@ package com.bsth.service.schedule.utils; |
| 3 | 3 | import org.springframework.web.multipart.MultipartFile; |
| 4 | 4 | |
| 5 | 5 | import java.io.File; |
| 6 | +import java.util.Map; | |
| 6 | 7 | |
| 7 | 8 | /** |
| 8 | 9 | * 数据导入导出服务。 |
| ... | ... | @@ -32,4 +33,7 @@ public interface DataImportExportService { |
| 32 | 33 | * @throws Exception |
| 33 | 34 | */ |
| 34 | 35 | File fileDataOutput(String fileName, File ktrFile) throws Exception; |
| 36 | + | |
| 37 | + | |
| 38 | + File fileDataOutput(String fileName, File ktrFile, Map<String, Object> param) throws Exception; | |
| 35 | 39 | } | ... | ... |
src/main/java/com/bsth/service/schedule/utils/DataImportExportServiceImpl.java
| ... | ... | @@ -10,6 +10,7 @@ import org.springframework.beans.factory.InitializingBean; |
| 10 | 10 | import org.springframework.beans.factory.annotation.Autowired; |
| 11 | 11 | import org.springframework.boot.context.properties.EnableConfigurationProperties; |
| 12 | 12 | import org.springframework.stereotype.Service; |
| 13 | +import org.springframework.util.CollectionUtils; | |
| 13 | 14 | import org.springframework.web.multipart.MultipartFile; |
| 14 | 15 | |
| 15 | 16 | import java.io.File; |
| ... | ... | @@ -111,6 +112,11 @@ public class DataImportExportServiceImpl implements DataImportExportService, Ini |
| 111 | 112 | |
| 112 | 113 | @Override |
| 113 | 114 | public File fileDataOutput(String fileName, File ktrFile) throws Exception { |
| 115 | + return fileDataOutput(fileName, ktrFile, null); | |
| 116 | + } | |
| 117 | + | |
| 118 | + @Override | |
| 119 | + public File fileDataOutput(String fileName, File ktrFile, Map<String, Object> param) throws Exception { | |
| 114 | 120 | // 初始化转换,元数据,转换对象 |
| 115 | 121 | TransMeta transMeta = new TransMeta(ktrFile.getAbsolutePath()); |
| 116 | 122 | Trans trans = new Trans(transMeta); |
| ... | ... | @@ -120,6 +126,14 @@ public class DataImportExportServiceImpl implements DataImportExportService, Ini |
| 120 | 126 | fileName + |
| 121 | 127 | new DateTime().toString("yyyyMMddHHmmss") + ".xls"; |
| 122 | 128 | trans.setParameterValue("filepath", filepath); |
| 129 | + | |
| 130 | + // 添加其他参数 | |
| 131 | + if (!CollectionUtils.isEmpty(param)) { | |
| 132 | + for (String key : param.keySet()) { | |
| 133 | + trans.setParameterValue(key, String.valueOf(param.get(key))); | |
| 134 | + } | |
| 135 | + } | |
| 136 | + | |
| 123 | 137 | // 执行转换 |
| 124 | 138 | trans.execute(null); |
| 125 | 139 | // 等待转换结束 | ... | ... |
src/main/java/com/bsth/service/schedule/utils/DataToolsProperties.java
| ... | ... | @@ -83,6 +83,10 @@ public class DataToolsProperties { |
| 83 | 83 | /** 人员信息导出ktr转换 */ |
| 84 | 84 | @NotNull |
| 85 | 85 | private String employeesDataoutputktr; |
| 86 | + /** 时刻表导出元数据ktr转换 */ | |
| 87 | + private String ttinfodetailMetaoutput; | |
| 88 | + /** 时刻表导出数据ktr转换 */ | |
| 89 | + private String ttinfodetailOutput; | |
| 86 | 90 | |
| 87 | 91 | // TODO: |
| 88 | 92 | |
| ... | ... | @@ -253,4 +257,20 @@ public class DataToolsProperties { |
| 253 | 257 | public void setKvarsDbdname(String kvarsDbdname) { |
| 254 | 258 | this.kvarsDbdname = kvarsDbdname; |
| 255 | 259 | } |
| 260 | + | |
| 261 | + public String getTtinfodetailMetaoutput() { | |
| 262 | + return ttinfodetailMetaoutput; | |
| 263 | + } | |
| 264 | + | |
| 265 | + public void setTtinfodetailMetaoutput(String ttinfodetailMetaoutput) { | |
| 266 | + this.ttinfodetailMetaoutput = ttinfodetailMetaoutput; | |
| 267 | + } | |
| 268 | + | |
| 269 | + public String getTtinfodetailOutput() { | |
| 270 | + return ttinfodetailOutput; | |
| 271 | + } | |
| 272 | + | |
| 273 | + public void setTtinfodetailOutput(String ttinfodetailOutput) { | |
| 274 | + this.ttinfodetailOutput = ttinfodetailOutput; | |
| 275 | + } | |
| 256 | 276 | } | ... | ... |
src/main/resources/datatools/config-dev.properties
| ... | ... | @@ -48,13 +48,19 @@ datatools.employeesconfig_datainputktr=/datatools/ktrs/employeesConfigDataInput. |
| 48 | 48 | |
| 49 | 49 | # 4、数据导出配置信息 |
| 50 | 50 | # 导出数据文件目录配置(根据不同的环境需要修正) |
| 51 | -datatools.fileoutput_dir=/Users/xu/resource/project/bsth_control_u_d_files | |
| 51 | +datatools.fileoutput_dir=/Users/xu/resource/project_code/runtime_temp/bsth_control_u_d_files | |
| 52 | 52 | |
| 53 | 53 | ##---------------------------- 导出数据ktr -----------------------------## |
| 54 | 54 | # 车辆信息导出ktr转换 |
| 55 | 55 | datatools.cars_dataoutputktr=/datatools/ktrs/carsDataOutput.ktr |
| 56 | 56 | # 人员信息导出ktr转换 |
| 57 | 57 | datatools.employees_dataoutputktr=/datatools/ktrs/employeesDataOutput.ktr |
| 58 | +# 时刻表导出元数据ktr转换 | |
| 59 | +datatools.ttinfodetail_metaoutput=/datatools/ktrs/ttinfodetailDataOutputMetaData.ktr | |
| 60 | +# 时刻表导出数据ktr转换 | |
| 61 | +datatools.ttinfodetail_output=/datatools/ktrs/ttinfodetailDataOutput.ktr | |
| 62 | + | |
| 63 | + | |
| 58 | 64 | |
| 59 | 65 | # TODO: |
| 60 | 66 | ... | ... |
src/main/resources/datatools/config-prod.properties
| ... | ... | @@ -56,5 +56,9 @@ datatools.fileoutput_dir=/opt/bsth_control_u_d_files |
| 56 | 56 | datatools.cars_dataoutputktr=/datatools/ktrs/carsDataOutput.ktr |
| 57 | 57 | # 人员信息导出ktr转换 |
| 58 | 58 | datatools.employees_dataoutputktr=/datatools/ktrs/employeesDataOutput.ktr |
| 59 | +# 时刻表导出元数据ktr转换 | |
| 60 | +datatools.ttinfodetail_metaoutput=/datatools/ktrs/ttinfodetailDataOutputMetaData.ktr | |
| 61 | +# 时刻表导出数据ktr转换 | |
| 62 | +datatools.ttinfodetail_output=/datatools/ktrs/ttinfodetailDataOutput.ktr | |
| 59 | 63 | |
| 60 | 64 | # TODO: |
| 61 | 65 | \ No newline at end of file | ... | ... |
src/main/resources/datatools/ktrs/ttinfodetailDataOutput.ktr
0 → 100644
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | |
| 2 | +<transformation> | |
| 3 | + <info> | |
| 4 | + <name>时刻表明细导出</name> | |
| 5 | + <description/> | |
| 6 | + <extended_description/> | |
| 7 | + <trans_version/> | |
| 8 | + <trans_type>Normal</trans_type> | |
| 9 | + <trans_status>0</trans_status> | |
| 10 | + <directory>/</directory> | |
| 11 | + <parameters> | |
| 12 | + </parameters> | |
| 13 | + <log> | |
| 14 | +<trans-log-table><connection/> | |
| 15 | +<schema/> | |
| 16 | +<table/> | |
| 17 | +<size_limit_lines/> | |
| 18 | +<interval/> | |
| 19 | +<timeout_days/> | |
| 20 | +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STATUS</id><enabled>Y</enabled><name>STATUS</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name><subject/></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name><subject/></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name><subject/></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name><subject/></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name><subject/></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name><subject/></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>STARTDATE</id><enabled>Y</enabled><name>STARTDATE</name></field><field><id>ENDDATE</id><enabled>Y</enabled><name>ENDDATE</name></field><field><id>LOGDATE</id><enabled>Y</enabled><name>LOGDATE</name></field><field><id>DEPDATE</id><enabled>Y</enabled><name>DEPDATE</name></field><field><id>REPLAYDATE</id><enabled>Y</enabled><name>REPLAYDATE</name></field><field><id>LOG_FIELD</id><enabled>Y</enabled><name>LOG_FIELD</name></field><field><id>EXECUTING_SERVER</id><enabled>N</enabled><name>EXECUTING_SERVER</name></field><field><id>EXECUTING_USER</id><enabled>N</enabled><name>EXECUTING_USER</name></field><field><id>CLIENT</id><enabled>N</enabled><name>CLIENT</name></field></trans-log-table> | |
| 21 | +<perf-log-table><connection/> | |
| 22 | +<schema/> | |
| 23 | +<table/> | |
| 24 | +<interval/> | |
| 25 | +<timeout_days/> | |
| 26 | +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>SEQ_NR</id><enabled>Y</enabled><name>SEQ_NR</name></field><field><id>LOGDATE</id><enabled>Y</enabled><name>LOGDATE</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STEPNAME</id><enabled>Y</enabled><name>STEPNAME</name></field><field><id>STEP_COPY</id><enabled>Y</enabled><name>STEP_COPY</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>INPUT_BUFFER_ROWS</id><enabled>Y</enabled><name>INPUT_BUFFER_ROWS</name></field><field><id>OUTPUT_BUFFER_ROWS</id><enabled>Y</enabled><name>OUTPUT_BUFFER_ROWS</name></field></perf-log-table> | |
| 27 | +<channel-log-table><connection/> | |
| 28 | +<schema/> | |
| 29 | +<table/> | |
| 30 | +<timeout_days/> | |
| 31 | +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>LOGGING_OBJECT_TYPE</id><enabled>Y</enabled><name>LOGGING_OBJECT_TYPE</name></field><field><id>OBJECT_NAME</id><enabled>Y</enabled><name>OBJECT_NAME</name></field><field><id>OBJECT_COPY</id><enabled>Y</enabled><name>OBJECT_COPY</name></field><field><id>REPOSITORY_DIRECTORY</id><enabled>Y</enabled><name>REPOSITORY_DIRECTORY</name></field><field><id>FILENAME</id><enabled>Y</enabled><name>FILENAME</name></field><field><id>OBJECT_ID</id><enabled>Y</enabled><name>OBJECT_ID</name></field><field><id>OBJECT_REVISION</id><enabled>Y</enabled><name>OBJECT_REVISION</name></field><field><id>PARENT_CHANNEL_ID</id><enabled>Y</enabled><name>PARENT_CHANNEL_ID</name></field><field><id>ROOT_CHANNEL_ID</id><enabled>Y</enabled><name>ROOT_CHANNEL_ID</name></field></channel-log-table> | |
| 32 | +<step-log-table><connection/> | |
| 33 | +<schema/> | |
| 34 | +<table/> | |
| 35 | +<timeout_days/> | |
| 36 | +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STEPNAME</id><enabled>Y</enabled><name>STEPNAME</name></field><field><id>STEP_COPY</id><enabled>Y</enabled><name>STEP_COPY</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>LOG_FIELD</id><enabled>N</enabled><name>LOG_FIELD</name></field></step-log-table> | |
| 37 | +<metrics-log-table><connection/> | |
| 38 | +<schema/> | |
| 39 | +<table/> | |
| 40 | +<timeout_days/> | |
| 41 | +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>METRICS_DATE</id><enabled>Y</enabled><name>METRICS_DATE</name></field><field><id>METRICS_CODE</id><enabled>Y</enabled><name>METRICS_CODE</name></field><field><id>METRICS_DESCRIPTION</id><enabled>Y</enabled><name>METRICS_DESCRIPTION</name></field><field><id>METRICS_SUBJECT</id><enabled>Y</enabled><name>METRICS_SUBJECT</name></field><field><id>METRICS_TYPE</id><enabled>Y</enabled><name>METRICS_TYPE</name></field><field><id>METRICS_VALUE</id><enabled>Y</enabled><name>METRICS_VALUE</name></field></metrics-log-table> | |
| 42 | + </log> | |
| 43 | + <maxdate> | |
| 44 | + <connection/> | |
| 45 | + <table/> | |
| 46 | + <field/> | |
| 47 | + <offset>0.0</offset> | |
| 48 | + <maxdiff>0.0</maxdiff> | |
| 49 | + </maxdate> | |
| 50 | + <size_rowset>10000</size_rowset> | |
| 51 | + <sleep_time_empty>50</sleep_time_empty> | |
| 52 | + <sleep_time_full>50</sleep_time_full> | |
| 53 | + <unique_connections>N</unique_connections> | |
| 54 | + <feedback_shown>Y</feedback_shown> | |
| 55 | + <feedback_size>50000</feedback_size> | |
| 56 | + <using_thread_priorities>Y</using_thread_priorities> | |
| 57 | + <shared_objects_file/> | |
| 58 | + <capture_step_performance>N</capture_step_performance> | |
| 59 | + <step_performance_capturing_delay>1000</step_performance_capturing_delay> | |
| 60 | + <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit> | |
| 61 | + <dependencies> | |
| 62 | + </dependencies> | |
| 63 | + <partitionschemas> | |
| 64 | + </partitionschemas> | |
| 65 | + <slaveservers> | |
| 66 | + </slaveservers> | |
| 67 | + <clusterschemas> | |
| 68 | + </clusterschemas> | |
| 69 | + <created_user>-</created_user> | |
| 70 | + <created_date>2016/11/15 13:00:52.076</created_date> | |
| 71 | + <modified_user>-</modified_user> | |
| 72 | + <modified_date>2016/11/15 13:00:52.076</modified_date> | |
| 73 | + <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA=</key_for_session_key> | |
| 74 | + <is_key_private>N</is_key_private> | |
| 75 | + </info> | |
| 76 | + <notepads> | |
| 77 | + </notepads> | |
| 78 | + <connection> | |
| 79 | + <name>bus_control_variable</name> | |
| 80 | + <server>${v_db_ip}</server> | |
| 81 | + <type>MYSQL</type> | |
| 82 | + <access>Native</access> | |
| 83 | + <database>${v_db_dname}</database> | |
| 84 | + <port>3306</port> | |
| 85 | + <username>${v_db_uname}</username> | |
| 86 | + <password>${v_db_pwd}</password> | |
| 87 | + <servername/> | |
| 88 | + <data_tablespace/> | |
| 89 | + <index_tablespace/> | |
| 90 | + <attributes> | |
| 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_公司_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_本机</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(本机)</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>排序记录</from><to>列转行</to><enabled>Y</enabled> </hop> | |
| 240 | + <hop> <from>列转行</from><to>字段选择</to><enabled>Y</enabled> </hop> | |
| 241 | + <hop> <from>字段选择</from><to>Excel输出</to><enabled>Y</enabled> </hop> | |
| 242 | + <hop> <from>时刻表明细数据表</from><to>路牌名字查找</to><enabled>Y</enabled> </hop> | |
| 243 | + <hop> <from>路牌名字查找</from><to>排序记录</to><enabled>Y</enabled> </hop> | |
| 244 | + </order> | |
| 245 | + <step> | |
| 246 | + <name>列转行</name> | |
| 247 | + <type>Denormaliser</type> | |
| 248 | + <description/> | |
| 249 | + <distribute>Y</distribute> | |
| 250 | + <custom_distribution/> | |
| 251 | + <copies>1</copies> | |
| 252 | + <partitioning> | |
| 253 | + <method>none</method> | |
| 254 | + <schema_name/> | |
| 255 | + </partitioning> | |
| 256 | + <key_field>fcno</key_field> | |
| 257 | + <group> | |
| 258 | + <field> | |
| 259 | + <name>lp</name> | |
| 260 | + </field> | |
| 261 | + </group> | |
| 262 | + <fields> | |
| 263 | + <field> | |
| 264 | + <field_name>fcsj</field_name> | |
| 265 | + <key_value>1</key_value> | |
| 266 | + <target_name>出场1</target_name> | |
| 267 | + <target_type>String</target_type> | |
| 268 | + <target_format/> | |
| 269 | + <target_length>-1</target_length> | |
| 270 | + <target_precision>-1</target_precision> | |
| 271 | + <target_decimal_symbol/> | |
| 272 | + <target_grouping_symbol/> | |
| 273 | + <target_currency_symbol/> | |
| 274 | + <target_null_string/> | |
| 275 | + <target_aggregation_type>-</target_aggregation_type> | |
| 276 | + </field> | |
| 277 | + <field> | |
| 278 | + <field_name>fcsj</field_name> | |
| 279 | + <key_value>2</key_value> | |
| 280 | + <target_name>青安路汽车站2</target_name> | |
| 281 | + <target_type>String</target_type> | |
| 282 | + <target_format/> | |
| 283 | + <target_length>-1</target_length> | |
| 284 | + <target_precision>-1</target_precision> | |
| 285 | + <target_decimal_symbol/> | |
| 286 | + <target_grouping_symbol/> | |
| 287 | + <target_currency_symbol/> | |
| 288 | + <target_null_string/> | |
| 289 | + <target_aggregation_type>-</target_aggregation_type> | |
| 290 | + </field> | |
| 291 | + <field> | |
| 292 | + <field_name>fcsj</field_name> | |
| 293 | + <key_value>3</key_value> | |
| 294 | + <target_name>青安路汽车站3</target_name> | |
| 295 | + <target_type>String</target_type> | |
| 296 | + <target_format/> | |
| 297 | + <target_length>-1</target_length> | |
| 298 | + <target_precision>-1</target_precision> | |
| 299 | + <target_decimal_symbol/> | |
| 300 | + <target_grouping_symbol/> | |
| 301 | + <target_currency_symbol/> | |
| 302 | + <target_null_string/> | |
| 303 | + <target_aggregation_type>-</target_aggregation_type> | |
| 304 | + </field> | |
| 305 | + <field> | |
| 306 | + <field_name>fcsj</field_name> | |
| 307 | + <key_value>4</key_value> | |
| 308 | + <target_name>青安路汽车站4</target_name> | |
| 309 | + <target_type>String</target_type> | |
| 310 | + <target_format/> | |
| 311 | + <target_length>-1</target_length> | |
| 312 | + <target_precision>-1</target_precision> | |
| 313 | + <target_decimal_symbol/> | |
| 314 | + <target_grouping_symbol/> | |
| 315 | + <target_currency_symbol/> | |
| 316 | + <target_null_string/> | |
| 317 | + <target_aggregation_type>-</target_aggregation_type> | |
| 318 | + </field> | |
| 319 | + <field> | |
| 320 | + <field_name>fcsj</field_name> | |
| 321 | + <key_value>5</key_value> | |
| 322 | + <target_name>青安路汽车站5</target_name> | |
| 323 | + <target_type>String</target_type> | |
| 324 | + <target_format/> | |
| 325 | + <target_length>-1</target_length> | |
| 326 | + <target_precision>-1</target_precision> | |
| 327 | + <target_decimal_symbol/> | |
| 328 | + <target_grouping_symbol/> | |
| 329 | + <target_currency_symbol/> | |
| 330 | + <target_null_string/> | |
| 331 | + <target_aggregation_type>-</target_aggregation_type> | |
| 332 | + </field> | |
| 333 | + <field> | |
| 334 | + <field_name>fcsj</field_name> | |
| 335 | + <key_value>6</key_value> | |
| 336 | + <target_name>青安路汽车站6</target_name> | |
| 337 | + <target_type>String</target_type> | |
| 338 | + <target_format/> | |
| 339 | + <target_length>-1</target_length> | |
| 340 | + <target_precision>-1</target_precision> | |
| 341 | + <target_decimal_symbol/> | |
| 342 | + <target_grouping_symbol/> | |
| 343 | + <target_currency_symbol/> | |
| 344 | + <target_null_string/> | |
| 345 | + <target_aggregation_type>-</target_aggregation_type> | |
| 346 | + </field> | |
| 347 | + <field> | |
| 348 | + <field_name>fcsj</field_name> | |
| 349 | + <key_value>7</key_value> | |
| 350 | + <target_name>进场7</target_name> | |
| 351 | + <target_type>String</target_type> | |
| 352 | + <target_format/> | |
| 353 | + <target_length>-1</target_length> | |
| 354 | + <target_precision>-1</target_precision> | |
| 355 | + <target_decimal_symbol/> | |
| 356 | + <target_grouping_symbol/> | |
| 357 | + <target_currency_symbol/> | |
| 358 | + <target_null_string/> | |
| 359 | + <target_aggregation_type>-</target_aggregation_type> | |
| 360 | + </field> | |
| 361 | + </fields> | |
| 362 | + <cluster_schema/> | |
| 363 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 364 | + <xloc>531</xloc> | |
| 365 | + <yloc>65</yloc> | |
| 366 | + <draw>Y</draw> | |
| 367 | + </GUI> | |
| 368 | + </step> | |
| 369 | + | |
| 370 | + <step> | |
| 371 | + <name>排序记录</name> | |
| 372 | + <type>SortRows</type> | |
| 373 | + <description/> | |
| 374 | + <distribute>Y</distribute> | |
| 375 | + <custom_distribution/> | |
| 376 | + <copies>1</copies> | |
| 377 | + <partitioning> | |
| 378 | + <method>none</method> | |
| 379 | + <schema_name/> | |
| 380 | + </partitioning> | |
| 381 | + <directory>%%java.io.tmpdir%%</directory> | |
| 382 | + <prefix>out</prefix> | |
| 383 | + <sort_size>1000000</sort_size> | |
| 384 | + <free_memory/> | |
| 385 | + <compress>N</compress> | |
| 386 | + <compress_variable/> | |
| 387 | + <unique_rows>N</unique_rows> | |
| 388 | + <fields> | |
| 389 | + <field> | |
| 390 | + <name>lp</name> | |
| 391 | + <ascending>Y</ascending> | |
| 392 | + <case_sensitive>N</case_sensitive> | |
| 393 | + <presorted>N</presorted> | |
| 394 | + </field> | |
| 395 | + <field> | |
| 396 | + <name>fcno</name> | |
| 397 | + <ascending>Y</ascending> | |
| 398 | + <case_sensitive>N</case_sensitive> | |
| 399 | + <presorted>N</presorted> | |
| 400 | + </field> | |
| 401 | + </fields> | |
| 402 | + <cluster_schema/> | |
| 403 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 404 | + <xloc>331</xloc> | |
| 405 | + <yloc>65</yloc> | |
| 406 | + <draw>Y</draw> | |
| 407 | + </GUI> | |
| 408 | + </step> | |
| 409 | + | |
| 410 | + <step> | |
| 411 | + <name>时刻表明细数据表</name> | |
| 412 | + <type>TableInput</type> | |
| 413 | + <description/> | |
| 414 | + <distribute>Y</distribute> | |
| 415 | + <custom_distribution/> | |
| 416 | + <copies>1</copies> | |
| 417 | + <partitioning> | |
| 418 | + <method>none</method> | |
| 419 | + <schema_name/> | |
| 420 | + </partitioning> | |
| 421 | + <connection>bus_control_variable</connection> | |
| 422 | + <sql>select * from bsth_c_s_ttinfo_detail
where ttinfo = ${ttinfoid}</sql> | |
| 423 | + <limit>0</limit> | |
| 424 | + <lookup/> | |
| 425 | + <execute_each_row>N</execute_each_row> | |
| 426 | + <variables_active>Y</variables_active> | |
| 427 | + <lazy_conversion_active>N</lazy_conversion_active> | |
| 428 | + <cluster_schema/> | |
| 429 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 430 | + <xloc>131</xloc> | |
| 431 | + <yloc>65</yloc> | |
| 432 | + <draw>Y</draw> | |
| 433 | + </GUI> | |
| 434 | + </step> | |
| 435 | + | |
| 436 | + <step> | |
| 437 | + <name>Excel输出</name> | |
| 438 | + <type>ExcelOutput</type> | |
| 439 | + <description/> | |
| 440 | + <distribute>Y</distribute> | |
| 441 | + <custom_distribution/> | |
| 442 | + <copies>1</copies> | |
| 443 | + <partitioning> | |
| 444 | + <method>none</method> | |
| 445 | + <schema_name/> | |
| 446 | + </partitioning> | |
| 447 | + <header>Y</header> | |
| 448 | + <footer>N</footer> | |
| 449 | + <encoding/> | |
| 450 | + <append>N</append> | |
| 451 | + <add_to_result_filenames>Y</add_to_result_filenames> | |
| 452 | + <file> | |
| 453 | + <name>${filepath}</name> | |
| 454 | + <extention/> | |
| 455 | + <do_not_open_newfile_init>N</do_not_open_newfile_init> | |
| 456 | + <create_parent_folder>N</create_parent_folder> | |
| 457 | + <split>N</split> | |
| 458 | + <add_date>N</add_date> | |
| 459 | + <add_time>N</add_time> | |
| 460 | + <SpecifyFormat>N</SpecifyFormat> | |
| 461 | + <date_time_format/> | |
| 462 | + <sheetname>Sheet1</sheetname> | |
| 463 | + <autosizecolums>N</autosizecolums> | |
| 464 | + <nullisblank>N</nullisblank> | |
| 465 | + <protect_sheet>N</protect_sheet> | |
| 466 | + <password>Encrypted </password> | |
| 467 | + <splitevery>0</splitevery> | |
| 468 | + <usetempfiles>N</usetempfiles> | |
| 469 | + <tempdirectory/> | |
| 470 | + </file> | |
| 471 | + <template> | |
| 472 | + <enabled>N</enabled> | |
| 473 | + <append>N</append> | |
| 474 | + <filename>template.xls</filename> | |
| 475 | + </template> | |
| 476 | + <fields> | |
| 477 | + </fields> | |
| 478 | + <custom> | |
| 479 | + <header_font_name>arial</header_font_name> | |
| 480 | + <header_font_size>10</header_font_size> | |
| 481 | + <header_font_bold>N</header_font_bold> | |
| 482 | + <header_font_italic>N</header_font_italic> | |
| 483 | + <header_font_underline>no</header_font_underline> | |
| 484 | + <header_font_orientation>horizontal</header_font_orientation> | |
| 485 | + <header_font_color>black</header_font_color> | |
| 486 | + <header_background_color>none</header_background_color> | |
| 487 | + <header_row_height>255</header_row_height> | |
| 488 | + <header_alignment>left</header_alignment> | |
| 489 | + <header_image/> | |
| 490 | + <row_font_name>arial</row_font_name> | |
| 491 | + <row_font_size>10</row_font_size> | |
| 492 | + <row_font_color>black</row_font_color> | |
| 493 | + <row_background_color>none</row_background_color> | |
| 494 | + </custom> | |
| 495 | + <cluster_schema/> | |
| 496 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 497 | + <xloc>731</xloc> | |
| 498 | + <yloc>65</yloc> | |
| 499 | + <draw>Y</draw> | |
| 500 | + </GUI> | |
| 501 | + </step> | |
| 502 | + | |
| 503 | + <step> | |
| 504 | + <name>字段选择</name> | |
| 505 | + <type>SelectValues</type> | |
| 506 | + <description/> | |
| 507 | + <distribute>Y</distribute> | |
| 508 | + <custom_distribution/> | |
| 509 | + <copies>1</copies> | |
| 510 | + <partitioning> | |
| 511 | + <method>none</method> | |
| 512 | + <schema_name/> | |
| 513 | + </partitioning> | |
| 514 | + <fields> <field> <name>lp_name</name> | |
| 515 | + <rename>路牌</rename> | |
| 516 | + <length>-2</length> | |
| 517 | + <precision>-2</precision> | |
| 518 | + </field> <select_unspecified>Y</select_unspecified> | |
| 519 | + </fields> <cluster_schema/> | |
| 520 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 521 | + <xloc>534</xloc> | |
| 522 | + <yloc>243</yloc> | |
| 523 | + <draw>Y</draw> | |
| 524 | + </GUI> | |
| 525 | + </step> | |
| 526 | + | |
| 527 | + <step> | |
| 528 | + <name>路牌名字查找</name> | |
| 529 | + <type>DBLookup</type> | |
| 530 | + <description/> | |
| 531 | + <distribute>Y</distribute> | |
| 532 | + <custom_distribution/> | |
| 533 | + <copies>1</copies> | |
| 534 | + <partitioning> | |
| 535 | + <method>none</method> | |
| 536 | + <schema_name/> | |
| 537 | + </partitioning> | |
| 538 | + <connection>bus_control_variable</connection> | |
| 539 | + <cache>N</cache> | |
| 540 | + <cache_load_all>N</cache_load_all> | |
| 541 | + <cache_size>0</cache_size> | |
| 542 | + <lookup> | |
| 543 | + <schema/> | |
| 544 | + <table>bsth_c_s_gbi</table> | |
| 545 | + <orderby/> | |
| 546 | + <fail_on_multiple>N</fail_on_multiple> | |
| 547 | + <eat_row_on_failure>N</eat_row_on_failure> | |
| 548 | + <key> | |
| 549 | + <name>lp</name> | |
| 550 | + <field>id</field> | |
| 551 | + <condition>=</condition> | |
| 552 | + <name2/> | |
| 553 | + </key> | |
| 554 | + <value> | |
| 555 | + <name>lp_name</name> | |
| 556 | + <rename>lp_name</rename> | |
| 557 | + <default/> | |
| 558 | + <type>String</type> | |
| 559 | + </value> | |
| 560 | + </lookup> | |
| 561 | + <cluster_schema/> | |
| 562 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 563 | + <xloc>237</xloc> | |
| 564 | + <yloc>156</yloc> | |
| 565 | + <draw>Y</draw> | |
| 566 | + </GUI> | |
| 567 | + </step> | |
| 568 | + | |
| 569 | + <step_error_handling> | |
| 570 | + </step_error_handling> | |
| 571 | + <slave-step-copy-partition-distribution> | |
| 572 | +</slave-step-copy-partition-distribution> | |
| 573 | + <slave_transformation>N</slave_transformation> | |
| 574 | + | |
| 575 | +</transformation> | ... | ... |
src/main/resources/datatools/ktrs/ttinfodetailDataOutputMetaData.ktr
0 → 100644
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | |
| 2 | +<transformation> | |
| 3 | + <info> | |
| 4 | + <name>时刻表明细导出元数据</name> | |
| 5 | + <description/> | |
| 6 | + <extended_description/> | |
| 7 | + <trans_version/> | |
| 8 | + <trans_type>Normal</trans_type> | |
| 9 | + <trans_status>0</trans_status> | |
| 10 | + <directory>/</directory> | |
| 11 | + <parameters> | |
| 12 | + <parameter> | |
| 13 | + <name>filepath</name> | |
| 14 | + <default_value>/Users/xu/resource/project_code/runtime_temp/bsth_control_u_d_files/ttinfodetail_test.xls</default_value> | |
| 15 | + <description>时刻表excel导出文件路径名</description> | |
| 16 | + </parameter> | |
| 17 | + <parameter> | |
| 18 | + <name>injectktrfile</name> | |
| 19 | + <default_value>/Users/xu/resource/project_code/bsth_project/bsth_control/src/main/resources/datatools/ktrs/ttinfodetailDataOutput.ktr</default_value> | |
| 20 | + <description>注入元数据的ktr文件</description> | |
| 21 | + </parameter> | |
| 22 | + <parameter> | |
| 23 | + <name>ttinfoid</name> | |
| 24 | + <default_value>56</default_value> | |
| 25 | + <description>时刻表id</description> | |
| 26 | + </parameter> | |
| 27 | + </parameters> | |
| 28 | + <log> | |
| 29 | +<trans-log-table><connection/> | |
| 30 | +<schema/> | |
| 31 | +<table/> | |
| 32 | +<size_limit_lines/> | |
| 33 | +<interval/> | |
| 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>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> | |
| 36 | +<perf-log-table><connection/> | |
| 37 | +<schema/> | |
| 38 | +<table/> | |
| 39 | +<interval/> | |
| 40 | +<timeout_days/> | |
| 41 | +<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> | |
| 42 | +<channel-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>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> | |
| 47 | +<step-log-table><connection/> | |
| 48 | +<schema/> | |
| 49 | +<table/> | |
| 50 | +<timeout_days/> | |
| 51 | +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>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> | |
| 52 | +<metrics-log-table><connection/> | |
| 53 | +<schema/> | |
| 54 | +<table/> | |
| 55 | +<timeout_days/> | |
| 56 | +<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> | |
| 57 | + </log> | |
| 58 | + <maxdate> | |
| 59 | + <connection/> | |
| 60 | + <table/> | |
| 61 | + <field/> | |
| 62 | + <offset>0.0</offset> | |
| 63 | + <maxdiff>0.0</maxdiff> | |
| 64 | + </maxdate> | |
| 65 | + <size_rowset>10000</size_rowset> | |
| 66 | + <sleep_time_empty>50</sleep_time_empty> | |
| 67 | + <sleep_time_full>50</sleep_time_full> | |
| 68 | + <unique_connections>N</unique_connections> | |
| 69 | + <feedback_shown>Y</feedback_shown> | |
| 70 | + <feedback_size>50000</feedback_size> | |
| 71 | + <using_thread_priorities>Y</using_thread_priorities> | |
| 72 | + <shared_objects_file/> | |
| 73 | + <capture_step_performance>N</capture_step_performance> | |
| 74 | + <step_performance_capturing_delay>1000</step_performance_capturing_delay> | |
| 75 | + <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit> | |
| 76 | + <dependencies> | |
| 77 | + </dependencies> | |
| 78 | + <partitionschemas> | |
| 79 | + </partitionschemas> | |
| 80 | + <slaveservers> | |
| 81 | + </slaveservers> | |
| 82 | + <clusterschemas> | |
| 83 | + </clusterschemas> | |
| 84 | + <created_user>-</created_user> | |
| 85 | + <created_date>2016/11/15 15:02:41.624</created_date> | |
| 86 | + <modified_user>-</modified_user> | |
| 87 | + <modified_date>2016/11/15 15:02:41.624</modified_date> | |
| 88 | + <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA=</key_for_session_key> | |
| 89 | + <is_key_private>N</is_key_private> | |
| 90 | + </info> | |
| 91 | + <notepads> | |
| 92 | + </notepads> | |
| 93 | + <connection> | |
| 94 | + <name>bus_control_variable</name> | |
| 95 | + <server>${v_db_ip}</server> | |
| 96 | + <type>MYSQL</type> | |
| 97 | + <access>Native</access> | |
| 98 | + <database>${v_db_dname}</database> | |
| 99 | + <port>3306</port> | |
| 100 | + <username>${v_db_uname}</username> | |
| 101 | + <password>${v_db_pwd}</password> | |
| 102 | + <servername/> | |
| 103 | + <data_tablespace/> | |
| 104 | + <index_tablespace/> | |
| 105 | + <attributes> | |
| 106 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 107 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 108 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 109 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 110 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 111 | + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | |
| 112 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 113 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 114 | + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute> | |
| 115 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 116 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 117 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 118 | + </attributes> | |
| 119 | + </connection> | |
| 120 | + <connection> | |
| 121 | + <name>bus_control_公司_201</name> | |
| 122 | + <server>localhost</server> | |
| 123 | + <type>MYSQL</type> | |
| 124 | + <access>Native</access> | |
| 125 | + <database>control</database> | |
| 126 | + <port>3306</port> | |
| 127 | + <username>root</username> | |
| 128 | + <password>Encrypted </password> | |
| 129 | + <servername/> | |
| 130 | + <data_tablespace/> | |
| 131 | + <index_tablespace/> | |
| 132 | + <attributes> | |
| 133 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 134 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 135 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 136 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 137 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 138 | + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | |
| 139 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 140 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 141 | + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute> | |
| 142 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 143 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 144 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 145 | + </attributes> | |
| 146 | + </connection> | |
| 147 | + <connection> | |
| 148 | + <name>bus_control_本机</name> | |
| 149 | + <server>localhost</server> | |
| 150 | + <type>MYSQL</type> | |
| 151 | + <access>Native</access> | |
| 152 | + <database>control</database> | |
| 153 | + <port>3306</port> | |
| 154 | + <username>root</username> | |
| 155 | + <password>Encrypted </password> | |
| 156 | + <servername/> | |
| 157 | + <data_tablespace/> | |
| 158 | + <index_tablespace/> | |
| 159 | + <attributes> | |
| 160 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 161 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 162 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 163 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 164 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 165 | + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | |
| 166 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 167 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 168 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | |
| 169 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 170 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 171 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 172 | + </attributes> | |
| 173 | + </connection> | |
| 174 | + <connection> | |
| 175 | + <name>xlab_mysql_youle</name> | |
| 176 | + <server>101.231.124.8</server> | |
| 177 | + <type>MYSQL</type> | |
| 178 | + <access>Native</access> | |
| 179 | + <database>xlab_youle</database> | |
| 180 | + <port>45687</port> | |
| 181 | + <username>xlab-youle</username> | |
| 182 | + <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password> | |
| 183 | + <servername/> | |
| 184 | + <data_tablespace/> | |
| 185 | + <index_tablespace/> | |
| 186 | + <attributes> | |
| 187 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 188 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 189 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 190 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 191 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 192 | + <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute> | |
| 193 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 194 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 195 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | |
| 196 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute> | |
| 197 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute> | |
| 198 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 199 | + </attributes> | |
| 200 | + </connection> | |
| 201 | + <connection> | |
| 202 | + <name>xlab_mysql_youle(本机)</name> | |
| 203 | + <server>localhost</server> | |
| 204 | + <type>MYSQL</type> | |
| 205 | + <access>Native</access> | |
| 206 | + <database>xlab_youle</database> | |
| 207 | + <port>3306</port> | |
| 208 | + <username>root</username> | |
| 209 | + <password>Encrypted </password> | |
| 210 | + <servername/> | |
| 211 | + <data_tablespace/> | |
| 212 | + <index_tablespace/> | |
| 213 | + <attributes> | |
| 214 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 215 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 216 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 217 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 218 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 219 | + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | |
| 220 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 221 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 222 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | |
| 223 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute> | |
| 224 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute> | |
| 225 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 226 | + </attributes> | |
| 227 | + </connection> | |
| 228 | + <connection> | |
| 229 | + <name>xlab_youle</name> | |
| 230 | + <server/> | |
| 231 | + <type>MYSQL</type> | |
| 232 | + <access>JNDI</access> | |
| 233 | + <database>xlab_youle</database> | |
| 234 | + <port>1521</port> | |
| 235 | + <username/> | |
| 236 | + <password>Encrypted </password> | |
| 237 | + <servername/> | |
| 238 | + <data_tablespace/> | |
| 239 | + <index_tablespace/> | |
| 240 | + <attributes> | |
| 241 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 242 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 243 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 244 | + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute> | |
| 245 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 246 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 247 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | |
| 248 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 249 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 250 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 251 | + </attributes> | |
| 252 | + </connection> | |
| 253 | + <order> | |
| 254 | + <hop> <from>时刻表明细分组数据</from><to>过滤记录</to><enabled>Y</enabled> </hop> | |
| 255 | + <hop> <from>过滤记录</from><to>计算站点</to><enabled>Y</enabled> </hop> | |
| 256 | + <hop> <from>计算站点</from><to>查找站点名</to><enabled>Y</enabled> </hop> | |
| 257 | + <hop> <from>查找站点名</from><to>计算反范式元数据</to><enabled>Y</enabled> </hop> | |
| 258 | + <hop> <from>查找站点名</from><to>计算excel输出字段</to><enabled>Y</enabled> </hop> | |
| 259 | + <hop> <from>计算excel输出字段</from><to>字段选择</to><enabled>Y</enabled> </hop> | |
| 260 | + <hop> <from>字段选择</from><to>排序记录</to><enabled>Y</enabled> </hop> | |
| 261 | + <hop> <from>生成路牌字段</from><to>排序记录</to><enabled>Y</enabled> </hop> | |
| 262 | + <hop> <from>计算反范式元数据</from><to>ETL元数据注入</to><enabled>Y</enabled> </hop> | |
| 263 | + <hop> <from>排序记录</from><to>ETL元数据注入</to><enabled>Y</enabled> </hop> | |
| 264 | + </order> | |
| 265 | + <step> | |
| 266 | + <name>ETL元数据注入</name> | |
| 267 | + <type>MetaInject</type> | |
| 268 | + <description/> | |
| 269 | + <distribute>Y</distribute> | |
| 270 | + <custom_distribution/> | |
| 271 | + <copies>1</copies> | |
| 272 | + <partitioning> | |
| 273 | + <method>none</method> | |
| 274 | + <schema_name/> | |
| 275 | + </partitioning> | |
| 276 | + <specification_method>filename</specification_method> | |
| 277 | + <trans_object_id/> | |
| 278 | + <trans_name/> | |
| 279 | + <filename>${injectktrfile}</filename> | |
| 280 | + <directory_path/> | |
| 281 | + <source_step/> | |
| 282 | + <source_output_fields> </source_output_fields> <target_file/> | |
| 283 | + <no_execution>N</no_execution> | |
| 284 | + <stream_source_step/> | |
| 285 | + <stream_target_step/> | |
| 286 | + <mappings> <mapping> <target_step_name>列转行</target_step_name> | |
| 287 | + <target_attribute_key>TARGET_TYPE</target_attribute_key> | |
| 288 | + <target_detail>Y</target_detail> | |
| 289 | + <source_step>计算反范式元数据</source_step> | |
| 290 | + <source_field>targettype</source_field> | |
| 291 | + </mapping> <mapping> <target_step_name>Excel输出</target_step_name> | |
| 292 | + <target_attribute_key>TYPE</target_attribute_key> | |
| 293 | + <target_detail>Y</target_detail> | |
| 294 | + <source_step>排序记录</source_step> | |
| 295 | + <source_field>fieldtype</source_field> | |
| 296 | + </mapping> <mapping> <target_step_name>列转行</target_step_name> | |
| 297 | + <target_attribute_key>NAME</target_attribute_key> | |
| 298 | + <target_detail>Y</target_detail> | |
| 299 | + <source_step>计算反范式元数据</source_step> | |
| 300 | + <source_field>valuefieldname</source_field> | |
| 301 | + </mapping> <mapping> <target_step_name>Excel输出</target_step_name> | |
| 302 | + <target_attribute_key>NAME</target_attribute_key> | |
| 303 | + <target_detail>Y</target_detail> | |
| 304 | + <source_step>排序记录</source_step> | |
| 305 | + <source_field>fieldname</source_field> | |
| 306 | + </mapping> <mapping> <target_step_name>列转行</target_step_name> | |
| 307 | + <target_attribute_key>TARGET_NAME</target_attribute_key> | |
| 308 | + <target_detail>Y</target_detail> | |
| 309 | + <source_step>计算反范式元数据</source_step> | |
| 310 | + <source_field>targetfieldname</source_field> | |
| 311 | + </mapping> <mapping> <target_step_name>列转行</target_step_name> | |
| 312 | + <target_attribute_key>KEY_VALUE</target_attribute_key> | |
| 313 | + <target_detail>Y</target_detail> | |
| 314 | + <source_step>计算反范式元数据</source_step> | |
| 315 | + <source_field>keyvalue</source_field> | |
| 316 | + </mapping> </mappings> <cluster_schema/> | |
| 317 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 318 | + <xloc>640</xloc> | |
| 319 | + <yloc>64</yloc> | |
| 320 | + <draw>Y</draw> | |
| 321 | + </GUI> | |
| 322 | + </step> | |
| 323 | + | |
| 324 | + <step> | |
| 325 | + <name>时刻表明细分组数据</name> | |
| 326 | + <type>TableInput</type> | |
| 327 | + <description/> | |
| 328 | + <distribute>Y</distribute> | |
| 329 | + <custom_distribution/> | |
| 330 | + <copies>1</copies> | |
| 331 | + <partitioning> | |
| 332 | + <method>none</method> | |
| 333 | + <schema_name/> | |
| 334 | + </partitioning> | |
| 335 | + <connection>bus_control_variable</connection> | |
| 336 | + <sql>select 
fcno
, min(xl_dir) xl_dir
,min(qdz) qdz
,min(zdz) zdz
,bc_type 
from bsth_c_s_ttinfo_detail
where ttinfo = ${ttinfoid}
group by fcno,bc_type</sql> | |
| 337 | + <limit>0</limit> | |
| 338 | + <lookup/> | |
| 339 | + <execute_each_row>N</execute_each_row> | |
| 340 | + <variables_active>Y</variables_active> | |
| 341 | + <lazy_conversion_active>N</lazy_conversion_active> | |
| 342 | + <cluster_schema/> | |
| 343 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 344 | + <xloc>56</xloc> | |
| 345 | + <yloc>185</yloc> | |
| 346 | + <draw>Y</draw> | |
| 347 | + </GUI> | |
| 348 | + </step> | |
| 349 | + | |
| 350 | + <step> | |
| 351 | + <name>过滤记录</name> | |
| 352 | + <type>FilterRows</type> | |
| 353 | + <description/> | |
| 354 | + <distribute>Y</distribute> | |
| 355 | + <custom_distribution/> | |
| 356 | + <copies>1</copies> | |
| 357 | + <partitioning> | |
| 358 | + <method>none</method> | |
| 359 | + <schema_name/> | |
| 360 | + </partitioning> | |
| 361 | +<send_true_to/> | |
| 362 | +<send_false_to/> | |
| 363 | + <compare> | |
| 364 | +<condition> | |
| 365 | + <negated>N</negated> | |
| 366 | + <leftvalue>bc_type</leftvalue> | |
| 367 | + <function>IS NOT NULL</function> | |
| 368 | + <rightvalue/> | |
| 369 | + </condition> | |
| 370 | + </compare> | |
| 371 | + <cluster_schema/> | |
| 372 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 373 | + <xloc>182</xloc> | |
| 374 | + <yloc>189</yloc> | |
| 375 | + <draw>Y</draw> | |
| 376 | + </GUI> | |
| 377 | + </step> | |
| 378 | + | |
| 379 | + <step> | |
| 380 | + <name>计算站点</name> | |
| 381 | + <type>ScriptValueMod</type> | |
| 382 | + <description/> | |
| 383 | + <distribute>Y</distribute> | |
| 384 | + <custom_distribution/> | |
| 385 | + <copies>1</copies> | |
| 386 | + <partitioning> | |
| 387 | + <method>none</method> | |
| 388 | + <schema_name/> | |
| 389 | + </partitioning> | |
| 390 | + <compatible>N</compatible> | |
| 391 | + <optimizationLevel>9</optimizationLevel> | |
| 392 | + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type> | |
| 393 | + <jsScript_name>Script 1</jsScript_name> | |
| 394 | + <jsScript_script>//Script here

var zd;

if (bc_type == 'in') {
 zd = qdz;
} else if (bc_type == 'out') {
 zd = zdz;
} else if (bc_type == 'normal') {
 zd = qdz;
} else {
 zd = qdz;
}
</jsScript_script> | |
| 395 | + </jsScript> </jsScripts> <fields> <field> <name>zd</name> | |
| 396 | + <rename>zd</rename> | |
| 397 | + <type>String</type> | |
| 398 | + <length>-1</length> | |
| 399 | + <precision>-1</precision> | |
| 400 | + <replace>N</replace> | |
| 401 | + </field> </fields> <cluster_schema/> | |
| 402 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 403 | + <xloc>300</xloc> | |
| 404 | + <yloc>190</yloc> | |
| 405 | + <draw>Y</draw> | |
| 406 | + </GUI> | |
| 407 | + </step> | |
| 408 | + | |
| 409 | + <step> | |
| 410 | + <name>查找站点名</name> | |
| 411 | + <type>DBLookup</type> | |
| 412 | + <description/> | |
| 413 | + <distribute>N</distribute> | |
| 414 | + <custom_distribution/> | |
| 415 | + <copies>1</copies> | |
| 416 | + <partitioning> | |
| 417 | + <method>none</method> | |
| 418 | + <schema_name/> | |
| 419 | + </partitioning> | |
| 420 | + <connection>bus_control_variable</connection> | |
| 421 | + <cache>N</cache> | |
| 422 | + <cache_load_all>N</cache_load_all> | |
| 423 | + <cache_size>0</cache_size> | |
| 424 | + <lookup> | |
| 425 | + <schema/> | |
| 426 | + <table>bsth_c_stationroute</table> | |
| 427 | + <orderby/> | |
| 428 | + <fail_on_multiple>N</fail_on_multiple> | |
| 429 | + <eat_row_on_failure>N</eat_row_on_failure> | |
| 430 | + <key> | |
| 431 | + <name>zd</name> | |
| 432 | + <field>station</field> | |
| 433 | + <condition>=</condition> | |
| 434 | + <name2/> | |
| 435 | + </key> | |
| 436 | + <key> | |
| 437 | + <name>xl_dir</name> | |
| 438 | + <field>directions</field> | |
| 439 | + <condition>=</condition> | |
| 440 | + <name2/> | |
| 441 | + </key> | |
| 442 | + <value> | |
| 443 | + <name>station_name</name> | |
| 444 | + <rename>zdname</rename> | |
| 445 | + <default/> | |
| 446 | + <type>String</type> | |
| 447 | + </value> | |
| 448 | + </lookup> | |
| 449 | + <cluster_schema/> | |
| 450 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 451 | + <xloc>410</xloc> | |
| 452 | + <yloc>191</yloc> | |
| 453 | + <draw>Y</draw> | |
| 454 | + </GUI> | |
| 455 | + </step> | |
| 456 | + | |
| 457 | + <step> | |
| 458 | + <name>计算反范式元数据</name> | |
| 459 | + <type>ScriptValueMod</type> | |
| 460 | + <description/> | |
| 461 | + <distribute>Y</distribute> | |
| 462 | + <custom_distribution/> | |
| 463 | + <copies>1</copies> | |
| 464 | + <partitioning> | |
| 465 | + <method>none</method> | |
| 466 | + <schema_name/> | |
| 467 | + </partitioning> | |
| 468 | + <compatible>N</compatible> | |
| 469 | + <optimizationLevel>9</optimizationLevel> | |
| 470 | + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type> | |
| 471 | + <jsScript_name>Script 1</jsScript_name> | |
| 472 | + <jsScript_script>//Script here

var targetfieldname; // 目标字段名
var targettype; // 目标类型
var valuefieldname; // 值字段名
var keyvalue; // 关键字值

if (bc_type == 'in') {
 targetfieldname = '进场' + fcno;
} else if (bc_type == 'out') {
 targetfieldname = '出场' + fcno;
} else if (bc_type == 'normal') {
 targetfieldname = zdname + fcno;
} else {
 targetfieldname = zdname + fcno;
} 

targettype = 'String';
valuefieldname = 'fcsj';
keyvalue = fcno;
</jsScript_script> | |
| 473 | + </jsScript> </jsScripts> <fields> <field> <name>targetfieldname</name> | |
| 474 | + <rename>targetfieldname</rename> | |
| 475 | + <type>String</type> | |
| 476 | + <length>-1</length> | |
| 477 | + <precision>-1</precision> | |
| 478 | + <replace>N</replace> | |
| 479 | + </field> <field> <name>targettype</name> | |
| 480 | + <rename>targettype</rename> | |
| 481 | + <type>String</type> | |
| 482 | + <length>-1</length> | |
| 483 | + <precision>-1</precision> | |
| 484 | + <replace>N</replace> | |
| 485 | + </field> <field> <name>valuefieldname</name> | |
| 486 | + <rename>valuefieldname</rename> | |
| 487 | + <type>String</type> | |
| 488 | + <length>-1</length> | |
| 489 | + <precision>-1</precision> | |
| 490 | + <replace>N</replace> | |
| 491 | + </field> <field> <name>keyvalue</name> | |
| 492 | + <rename>keyvalue</rename> | |
| 493 | + <type>String</type> | |
| 494 | + <length>-1</length> | |
| 495 | + <precision>-1</precision> | |
| 496 | + <replace>N</replace> | |
| 497 | + </field> </fields> <cluster_schema/> | |
| 498 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 499 | + <xloc>410</xloc> | |
| 500 | + <yloc>64</yloc> | |
| 501 | + <draw>Y</draw> | |
| 502 | + </GUI> | |
| 503 | + </step> | |
| 504 | + | |
| 505 | + <step> | |
| 506 | + <name>计算excel输出字段</name> | |
| 507 | + <type>ScriptValueMod</type> | |
| 508 | + <description/> | |
| 509 | + <distribute>Y</distribute> | |
| 510 | + <custom_distribution/> | |
| 511 | + <copies>1</copies> | |
| 512 | + <partitioning> | |
| 513 | + <method>none</method> | |
| 514 | + <schema_name/> | |
| 515 | + </partitioning> | |
| 516 | + <compatible>N</compatible> | |
| 517 | + <optimizationLevel>9</optimizationLevel> | |
| 518 | + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type> | |
| 519 | + <jsScript_name>Script 1</jsScript_name> | |
| 520 | + <jsScript_script>//Script here

var fieldname; // 字段名
var fieldtype; // 字段类型

if (bc_type == 'in') {
 fieldname = '进场' + fcno;
} else if (bc_type == 'out') {
 fieldname = '出场' + fcno;
} else if (bc_type == 'normal') {
 fieldname = zdname + fcno;
} else {
 fieldname = zdname + fcno;
} 

fieldtype = 'String';
</jsScript_script> | |
| 521 | + </jsScript> </jsScripts> <fields> <field> <name>fieldname</name> | |
| 522 | + <rename>fieldname</rename> | |
| 523 | + <type>String</type> | |
| 524 | + <length>-1</length> | |
| 525 | + <precision>-1</precision> | |
| 526 | + <replace>N</replace> | |
| 527 | + </field> <field> <name>fieldtype</name> | |
| 528 | + <rename>fieldtype</rename> | |
| 529 | + <type>String</type> | |
| 530 | + <length>-1</length> | |
| 531 | + <precision>-1</precision> | |
| 532 | + <replace>N</replace> | |
| 533 | + </field> </fields> <cluster_schema/> | |
| 534 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 535 | + <xloc>410</xloc> | |
| 536 | + <yloc>326</yloc> | |
| 537 | + <draw>Y</draw> | |
| 538 | + </GUI> | |
| 539 | + </step> | |
| 540 | + | |
| 541 | + <step> | |
| 542 | + <name>字段选择</name> | |
| 543 | + <type>SelectValues</type> | |
| 544 | + <description/> | |
| 545 | + <distribute>Y</distribute> | |
| 546 | + <custom_distribution/> | |
| 547 | + <copies>1</copies> | |
| 548 | + <partitioning> | |
| 549 | + <method>none</method> | |
| 550 | + <schema_name/> | |
| 551 | + </partitioning> | |
| 552 | + <fields> <field> <name>fieldname</name> | |
| 553 | + <rename/> | |
| 554 | + <length>-2</length> | |
| 555 | + <precision>-2</precision> | |
| 556 | + </field> <field> <name>fieldtype</name> | |
| 557 | + <rename/> | |
| 558 | + <length>-2</length> | |
| 559 | + <precision>-2</precision> | |
| 560 | + </field> <field> <name>fcno</name> | |
| 561 | + <rename/> | |
| 562 | + <length>-2</length> | |
| 563 | + <precision>-2</precision> | |
| 564 | + </field> <select_unspecified>N</select_unspecified> | |
| 565 | + </fields> <cluster_schema/> | |
| 566 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 567 | + <xloc>533</xloc> | |
| 568 | + <yloc>325</yloc> | |
| 569 | + <draw>Y</draw> | |
| 570 | + </GUI> | |
| 571 | + </step> | |
| 572 | + | |
| 573 | + <step> | |
| 574 | + <name>生成路牌字段</name> | |
| 575 | + <type>RowGenerator</type> | |
| 576 | + <description/> | |
| 577 | + <distribute>Y</distribute> | |
| 578 | + <custom_distribution/> | |
| 579 | + <copies>1</copies> | |
| 580 | + <partitioning> | |
| 581 | + <method>none</method> | |
| 582 | + <schema_name/> | |
| 583 | + </partitioning> | |
| 584 | + <fields> | |
| 585 | + <field> | |
| 586 | + <name>fieldname</name> | |
| 587 | + <type>String</type> | |
| 588 | + <format/> | |
| 589 | + <currency/> | |
| 590 | + <decimal/> | |
| 591 | + <group/> | |
| 592 | + <nullif>路牌</nullif> | |
| 593 | + <length>-1</length> | |
| 594 | + <precision>-1</precision> | |
| 595 | + <set_empty_string>N</set_empty_string> | |
| 596 | + </field> | |
| 597 | + <field> | |
| 598 | + <name>fieldtype</name> | |
| 599 | + <type>String</type> | |
| 600 | + <format/> | |
| 601 | + <currency/> | |
| 602 | + <decimal/> | |
| 603 | + <group/> | |
| 604 | + <nullif>String</nullif> | |
| 605 | + <length>-1</length> | |
| 606 | + <precision>-1</precision> | |
| 607 | + <set_empty_string>N</set_empty_string> | |
| 608 | + </field> | |
| 609 | + <field> | |
| 610 | + <name>fcno</name> | |
| 611 | + <type>Integer</type> | |
| 612 | + <format/> | |
| 613 | + <currency/> | |
| 614 | + <decimal/> | |
| 615 | + <group/> | |
| 616 | + <nullif>0</nullif> | |
| 617 | + <length>-1</length> | |
| 618 | + <precision>-1</precision> | |
| 619 | + <set_empty_string>N</set_empty_string> | |
| 620 | + </field> | |
| 621 | + </fields> | |
| 622 | + <limit>1</limit> | |
| 623 | + <never_ending>N</never_ending> | |
| 624 | + <interval_in_ms>5000</interval_in_ms> | |
| 625 | + <row_time_field>now</row_time_field> | |
| 626 | + <last_time_field>FiveSecondsAgo</last_time_field> | |
| 627 | + <cluster_schema/> | |
| 628 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 629 | + <xloc>530</xloc> | |
| 630 | + <yloc>194</yloc> | |
| 631 | + <draw>Y</draw> | |
| 632 | + </GUI> | |
| 633 | + </step> | |
| 634 | + | |
| 635 | + <step> | |
| 636 | + <name>排序记录</name> | |
| 637 | + <type>SortRows</type> | |
| 638 | + <description/> | |
| 639 | + <distribute>Y</distribute> | |
| 640 | + <custom_distribution/> | |
| 641 | + <copies>1</copies> | |
| 642 | + <partitioning> | |
| 643 | + <method>none</method> | |
| 644 | + <schema_name/> | |
| 645 | + </partitioning> | |
| 646 | + <directory>%%java.io.tmpdir%%</directory> | |
| 647 | + <prefix>out</prefix> | |
| 648 | + <sort_size>1000000</sort_size> | |
| 649 | + <free_memory/> | |
| 650 | + <compress>N</compress> | |
| 651 | + <compress_variable/> | |
| 652 | + <unique_rows>N</unique_rows> | |
| 653 | + <fields> | |
| 654 | + <field> | |
| 655 | + <name>fcno</name> | |
| 656 | + <ascending>Y</ascending> | |
| 657 | + <case_sensitive>N</case_sensitive> | |
| 658 | + <presorted>N</presorted> | |
| 659 | + </field> | |
| 660 | + </fields> | |
| 661 | + <cluster_schema/> | |
| 662 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 663 | + <xloc>642</xloc> | |
| 664 | + <yloc>325</yloc> | |
| 665 | + <draw>Y</draw> | |
| 666 | + </GUI> | |
| 667 | + </step> | |
| 668 | + | |
| 669 | + <step_error_handling> | |
| 670 | + </step_error_handling> | |
| 671 | + <slave-step-copy-partition-distribution> | |
| 672 | +</slave-step-copy-partition-distribution> | |
| 673 | + <slave_transformation>N</slave_transformation> | |
| 674 | + | |
| 675 | +</transformation> | ... | ... |
src/main/resources/static/pages/scheduleApp/module/common/prj-common-globalservice.js
| ... | ... | @@ -403,6 +403,22 @@ angular.module('ScheduleApp').factory('TimeTableDetailManageService_g', ['$resou |
| 403 | 403 | isArray: true |
| 404 | 404 | } |
| 405 | 405 | } |
| 406 | + ), | |
| 407 | + dataTools: $resource( | |
| 408 | + '/tidc/:type', | |
| 409 | + {}, | |
| 410 | + { | |
| 411 | + dataExport: { | |
| 412 | + method: 'GET', | |
| 413 | + responseType: "arraybuffer", | |
| 414 | + params: { | |
| 415 | + type: "dataExportExt" | |
| 416 | + }, | |
| 417 | + transformResponse: function(data, headers){ | |
| 418 | + return {data : data}; | |
| 419 | + } | |
| 420 | + } | |
| 421 | + } | |
| 406 | 422 | ) |
| 407 | 423 | |
| 408 | 424 | // TODO:导入数据 | ... | ... |
src/main/resources/static/pages/scheduleApp/module/core/ttInfoManage/list.html
| ... | ... | @@ -77,7 +77,7 @@ |
| 77 | 77 | class="btn btn-info btn-sm" ng-if="info.isCancel == '0'"> 编辑 </a> |
| 78 | 78 | <a ui-sref="ttInfoDetailManage_form({xlid: info.xl.id, ttid : info.id, xlname: info.xl.name, ttname : info.name})" |
| 79 | 79 | class="btn btn-info btn-sm" ng-if="info.isCancel == '0'"> 导入 </a> |
| 80 | - <a href="javascript:" class="btn btn-info btn-sm"> 导出 </a> | |
| 80 | + <a href="javascript:" class="btn btn-info btn-sm" ng-click="ctrl.exportData(info.id)"> 导出 </a> | |
| 81 | 81 | </td> |
| 82 | 82 | <td> |
| 83 | 83 | <!--<a href="details.html?lineId={{obj.id}}" class="btn default blue-stripe btn-sm"> 详细 </a>--> | ... | ... |
src/main/resources/static/pages/scheduleApp/module/core/ttInfoManage/main.js
| ... | ... | @@ -3,7 +3,8 @@ angular.module('ScheduleApp').factory( |
| 3 | 3 | 'TtInfoManageService', |
| 4 | 4 | [ |
| 5 | 5 | 'TimeTableManageService_g', |
| 6 | - function(service) { | |
| 6 | + 'TimeTableDetailManageService_g', | |
| 7 | + function(service, dservice) { | |
| 7 | 8 | // 当前查询的内容条件搜索对象 |
| 8 | 9 | var currentSearchCondition = {page: 0}; |
| 9 | 10 | // 当前查询返回的信息 |
| ... | ... | @@ -42,6 +43,16 @@ angular.module('ScheduleApp').factory( |
| 42 | 43 | content: [], |
| 43 | 44 | uiNumber: 1 |
| 44 | 45 | }; |
| 46 | + }, | |
| 47 | + /** | |
| 48 | + * 数据导出。 | |
| 49 | + * @returns {*|Function|promise|n} | |
| 50 | + */ | |
| 51 | + dataExport: function(ttinfoid) { | |
| 52 | + var param = {}; | |
| 53 | + param.type = 'dataExportExt'; | |
| 54 | + param.ttinfoid = ttinfoid; | |
| 55 | + return dservice.dataTools.dataExport(param).$promise; | |
| 45 | 56 | } |
| 46 | 57 | |
| 47 | 58 | |
| ... | ... | @@ -73,7 +84,8 @@ angular.module('ScheduleApp').controller( |
| 73 | 84 | 'TtInfoManageListCtrl', |
| 74 | 85 | [ |
| 75 | 86 | 'TtInfoManageService', |
| 76 | - function(service) { | |
| 87 | + 'FileDownload_g', | |
| 88 | + function(service, fileDownload) { | |
| 77 | 89 | var self = this; |
| 78 | 90 | var TtInfo = service.getTtInfoQueryClass(); |
| 79 | 91 | |
| ... | ... | @@ -105,6 +117,17 @@ angular.module('ScheduleApp').controller( |
| 105 | 117 | } |
| 106 | 118 | }); |
| 107 | 119 | }; |
| 120 | + // 导出excel | |
| 121 | + self.exportData = function(ttinfoid) { | |
| 122 | + service.dataExport(ttinfoid).then( | |
| 123 | + function(result) { | |
| 124 | + fileDownload.downloadFile(result.data, "application/octet-stream", "时刻表.xls"); | |
| 125 | + }, | |
| 126 | + function(result) { | |
| 127 | + console.log("exportData failed:" + result); | |
| 128 | + } | |
| 129 | + ); | |
| 130 | + }; | |
| 108 | 131 | |
| 109 | 132 | self.doPage(); |
| 110 | 133 | ... | ... |