Commit d56180d53208bbc30cfa3e3428edcdf5ac2bc852

Authored by 徐烜
1 parent 8a92a092

1、线路值勤日报添加导出功能

src/main/java/com/bsth/controller/schedule/core/legacy/SchedulePlanInfoController.java
... ... @@ -5,10 +5,13 @@ import com.bsth.controller.schedule.BController;
5 5 import com.bsth.controller.schedule.core.SchedulePlanInfoController_facade;
6 6 import com.bsth.entity.schedule.SchedulePlanInfo;
7 7 import com.bsth.service.schedule.SchedulePlanInfoService;
  8 +import com.bsth.service.schedule.utils.DataToolsFile;
  9 +import com.bsth.service.schedule.utils.MyHttpUtils;
8 10 import org.springframework.beans.factory.annotation.Autowired;
9 11 import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
10 12 import org.springframework.web.bind.annotation.*;
11 13  
  14 +import javax.servlet.http.HttpServletResponse;
12 15 import java.util.Date;
13 16 import java.util.HashMap;
14 17 import java.util.List;
... ... @@ -24,6 +27,16 @@ public class SchedulePlanInfoController extends BController<SchedulePlanInfo, Lo
24 27 @Autowired
25 28 private SchedulePlanInfoService schedulePlanInfoService;
26 29  
  30 + // 导出排班计划时刻表数据
  31 + @GetMapping(value = "/exportPTInfo/{xlid}/{date}")
  32 + public void exportPTInfo(
  33 + @PathVariable(value = "xlid") Integer xlid,
  34 + @PathVariable(value = "date") Date scheduleDate,
  35 + HttpServletResponse response) throws Exception {
  36 + DataToolsFile dataToolsFile = this.schedulePlanInfoService.exportPlanTimetableInfo(xlid, scheduleDate);
  37 + MyHttpUtils.responseStreamFile(response, dataToolsFile.getFile());
  38 + }
  39 +
27 40 @RequestMapping(value = "/groupextinfos/{xlid}/{date}", method = RequestMethod.GET)
28 41 public Map<String, Object> findGroupInfoExt(
29 42 @PathVariable(value = "xlid") Integer xlid,
... ...
src/main/java/com/bsth/service/schedule/SchedulePlanInfoService.java
1 1 package com.bsth.service.schedule;
2 2  
3 3 import com.bsth.entity.schedule.SchedulePlanInfo;
  4 +import com.bsth.service.schedule.exception.ScheduleException;
  5 +import com.bsth.service.schedule.utils.DataToolsFile;
4 6 import org.apache.commons.lang3.StringUtils;
5 7 import org.joda.time.DateTime;
6 8  
... ... @@ -17,6 +19,15 @@ import java.util.List;
17 19 public interface SchedulePlanInfoService extends BService<SchedulePlanInfo, Long> {
18 20  
19 21 /**
  22 + * 导出排班计划时刻表信息。
  23 + * @param xlId 线路Id
  24 + * @param scheduleDate 排班日期
  25 + * @return
  26 + * @throws ScheduleException
  27 + */
  28 + DataToolsFile exportPlanTimetableInfo(Integer xlId, Date scheduleDate) throws ScheduleException;
  29 +
  30 + /**
20 31 * 查找最近的排班的日期。
21 32 * @param xlId 线路Id
22 33 * @return
... ...
src/main/java/com/bsth/service/schedule/impl/SchedulePlanInfoServiceImpl.java
1 1 package com.bsth.service.schedule.impl;
2 2  
3 3 import com.bsth.entity.schedule.SchedulePlanInfo;
  4 +import com.bsth.repository.LineRepository;
4 5 import com.bsth.repository.schedule.SchedulePlanInfoRepository;
5 6 import com.bsth.service.schedule.SchedulePlanInfoService;
  7 +import com.bsth.service.schedule.exception.ScheduleException;
  8 +import com.bsth.service.schedule.timetable.TimetableExcelData;
  9 +import com.bsth.service.schedule.timetable.strategy.impl.TimetableExcelWithPlanInfoExportStrategyImpl;
  10 +import com.bsth.service.schedule.utils.DataToolsFile;
  11 +import com.bsth.service.schedule.utils.DataToolsProperties;
  12 +import com.bsth.service.schedule.utils.DataToolsService;
6 13 import org.springframework.beans.factory.annotation.Autowired;
  14 +import org.springframework.beans.factory.annotation.Qualifier;
7 15 import org.springframework.jdbc.core.JdbcTemplate;
8 16 import org.springframework.jdbc.core.RowCallbackHandler;
9 17 import org.springframework.jdbc.core.RowMapper;
... ... @@ -25,6 +33,29 @@ public class SchedulePlanInfoServiceImpl extends BServiceImpl&lt;SchedulePlanInfo,
25 33 @Autowired
26 34 private JdbcTemplate jdbcTemplate;
27 35  
  36 + @Autowired
  37 + private LineRepository lineRepository;
  38 +
  39 + @Autowired
  40 + @Qualifier(value = "dataToolsServiceImpl")
  41 + private DataToolsService dataToolsService;
  42 +
  43 + @Autowired
  44 + private DataToolsProperties dataToolsProperties;
  45 +
  46 + @Override
  47 + public DataToolsFile exportPlanTimetableInfo(Integer xlId, Date scheduleDate) throws ScheduleException {
  48 + TimetableExcelData timetableExcelData = TimetableExcelData.withPlanInfoExcelExportBuilder()
  49 + .setXlId(xlId)
  50 + .setScheduleDate(scheduleDate)
  51 + .setLineRepository(this.lineRepository)
  52 + .setDataToolsService(this.dataToolsService)
  53 + .setDataToolsProperties(this.dataToolsProperties)
  54 + .setTimetableExcelWithPlanInfoExportStrategy(new TimetableExcelWithPlanInfoExportStrategyImpl())
  55 + .build();
  56 + return timetableExcelData.doExportWithPlanInfo();
  57 + }
  58 +
28 59 @Override
29 60 public SchedulePlanInfo save(SchedulePlanInfo schedulePlanInfo) {
30 61 // 生成计划不是save,使用的是spring batch插入的
... ...
src/main/java/com/bsth/service/schedule/timetable/TimetableExcelData.java
... ... @@ -5,6 +5,7 @@ import com.bsth.entity.LsStationRoute;
5 5 import com.bsth.entity.schedule.GuideboardInfo;
6 6 import com.bsth.entity.schedule.TTInfo;
7 7 import com.bsth.entity.schedule.TTInfoDetail;
  8 +import com.bsth.repository.LineRepository;
8 9 import com.bsth.repository.schedule.TTInfoDetailRepository;
9 10 import com.bsth.repository.schedule.TTInfoRepository;
10 11 import com.bsth.service.LineService;
... ... @@ -14,6 +15,7 @@ import com.bsth.service.schedule.exception.ScheduleException;
14 15 import com.bsth.service.schedule.timetable.strategy.TimetableExcelDataImportStrategy;
15 16 import com.bsth.service.schedule.timetable.strategy.TimetableExcelDataValidateStrategy;
16 17 import com.bsth.service.schedule.timetable.strategy.TimetableExcelPVDataExportStrategy;
  18 +import com.bsth.service.schedule.timetable.strategy.TimetableExcelWithPlanInfoExportStrategy;
17 19 import com.bsth.service.schedule.utils.*;
18 20 import org.apache.commons.lang3.StringUtils;
19 21 import org.apache.poi.ss.usermodel.Sheet;
... ... @@ -25,6 +27,7 @@ import org.springframework.util.Assert;
25 27 import org.springframework.util.CollectionUtils;
26 28  
27 29 import java.io.File;
  30 +import java.util.Date;
28 31 import java.util.HashMap;
29 32 import java.util.List;
30 33 import java.util.Map;
... ... @@ -165,6 +168,30 @@ public class TimetableExcelData {
165 168 this.pvExportFilePath);
166 169 }
167 170  
  171 + // ------------------ 导出排班时刻表数据相关属性及方法,如下: ---------------- //
  172 + /**
  173 + * 注意:line共用验证相关属性
  174 + */
  175 + /** 排班日期 */
  176 + private Date scheduleDate;
  177 + /**
  178 + * 注意:dataToolsService和dataToolsProperties共用导入相关属性
  179 + */
  180 +
  181 + /** 导出策略 */
  182 + private TimetableExcelWithPlanInfoExportStrategy timetableExcelWithPlanInfoExportStrategy;
  183 +
  184 + /**
  185 + * 导出排班时刻表数据。
  186 + */
  187 + public DataToolsFile doExportWithPlanInfo() throws ScheduleException {
  188 + return this.timetableExcelWithPlanInfoExportStrategy.doExportWithPlanInfo(
  189 + this.line,
  190 + this.scheduleDate,
  191 + this.dataToolsService,
  192 + this.dataToolsProperties);
  193 + }
  194 +
168 195 // ----------- 构造函数 ---------- //
169 196 public TimetableExcelData(ValidateBuilder validateBuilder) {
170 197 // 公共属性
... ... @@ -211,6 +238,17 @@ public class TimetableExcelData {
211 238 this.timetableExcelPVDataExportStrategy = pvExcelExportBuilder.timetableExcelPVDataExportStrategy;
212 239 }
213 240  
  241 + public TimetableExcelData(PlanInfoExcelExportBuilder planInfoExcelExportBuilder) {
  242 + // 公共属性
  243 + this.line = planInfoExcelExportBuilder.line;
  244 + this.scheduleDate = planInfoExcelExportBuilder.scheduleDate;
  245 + this.dataToolsService = planInfoExcelExportBuilder.dataToolsService;
  246 + this.dataToolsProperties = planInfoExcelExportBuilder.dataToolsProperties;
  247 + // 导出策略
  248 + this.timetableExcelWithPlanInfoExportStrategy =
  249 + planInfoExcelExportBuilder.timetableExcelWithPlanInfoExportStrategy;
  250 + }
  251 +
214 252 // ----------- builder类 ----------- //
215 253 public static ValidateBuilder withValidateBuilder() {
216 254 return new ValidateBuilder();
... ... @@ -571,4 +609,76 @@ public class TimetableExcelData {
571 609 }
572 610 }
573 611  
  612 +
  613 + public static PlanInfoExcelExportBuilder withPlanInfoExcelExportBuilder() {
  614 + return new PlanInfoExcelExportBuilder();
  615 + }
  616 + public static class PlanInfoExcelExportBuilder {
  617 + private PlanInfoExcelExportBuilder() {}
  618 +
  619 + /** 线路 */
  620 + private Integer xlId;
  621 + /** 排班日期 */
  622 + private Date scheduleDate;
  623 + /** 线路repo */
  624 + private LineRepository lineRepository;
  625 + /** 数据工具服务 */
  626 + private DataToolsService dataToolsService;
  627 + /** 配置数据导入导出用到的配置信息 */
  628 + private DataToolsProperties dataToolsProperties;
  629 + /** 导出策略 */
  630 + private TimetableExcelWithPlanInfoExportStrategy timetableExcelWithPlanInfoExportStrategy;
  631 +
  632 + public PlanInfoExcelExportBuilder setXlId(Integer xlId) {
  633 + this.xlId = xlId;
  634 + return this;
  635 + }
  636 +
  637 + public PlanInfoExcelExportBuilder setScheduleDate(Date scheduleDate) {
  638 + this.scheduleDate = scheduleDate;
  639 + return this;
  640 + }
  641 +
  642 + public PlanInfoExcelExportBuilder setLineRepository(LineRepository lineRepository) {
  643 + this.lineRepository = lineRepository;
  644 + return this;
  645 + }
  646 +
  647 + public PlanInfoExcelExportBuilder setDataToolsService(DataToolsService dataToolsService) {
  648 + this.dataToolsService = dataToolsService;
  649 + return this;
  650 + }
  651 +
  652 + public PlanInfoExcelExportBuilder setDataToolsProperties(DataToolsProperties dataToolsProperties) {
  653 + this.dataToolsProperties = dataToolsProperties;
  654 + return this;
  655 + }
  656 +
  657 + public PlanInfoExcelExportBuilder setTimetableExcelWithPlanInfoExportStrategy(TimetableExcelWithPlanInfoExportStrategy timetableExcelWithPlanInfoExportStrategy) {
  658 + this.timetableExcelWithPlanInfoExportStrategy = timetableExcelWithPlanInfoExportStrategy;
  659 + return this;
  660 + }
  661 +
  662 + // ---------------- 内部生成的属性 ---------------- //
  663 + /** 线路信息 */
  664 + private Line line;
  665 +
  666 + public TimetableExcelData build() {
  667 + // 1、参数验证
  668 + Assert.notNull(this.xlId, "线路Id为空!");
  669 + Assert.notNull(this.scheduleDate, "排班日期为空!");
  670 + Assert.notNull(this.lineRepository, "线路repo为空!");
  671 + Assert.notNull(this.dataToolsService, "数据工具服务为空!");
  672 + Assert.notNull(this.dataToolsProperties, "配置数据导入导出用到的配置信息为空!");
  673 + Assert.notNull(this.timetableExcelWithPlanInfoExportStrategy, "导出策略为空!");
  674 +
  675 + // 2、获取线路信息
  676 + this.line = this.lineRepository.findById(this.xlId).get();
  677 + Assert.notNull(this.line, "线路[id=" + this.xlId + "]为空!");
  678 +
  679 + return new TimetableExcelData(this);
  680 + }
  681 +
  682 + }
  683 +
574 684 }
... ...
src/main/java/com/bsth/service/schedule/timetable/TimetableExcelFormatType.java
... ... @@ -13,13 +13,15 @@ import java.util.Map;
13 13 public enum TimetableExcelFormatType {
14 14 Normal("normal"), // 一般格式
15 15 NormalWithGs("normalWithGs"), // 一般格式(路牌列后加一列工时列)
16   - Dynamic("dynamic"); // 自动生成时刻表的导出格式
  16 + Dynamic("dynamic"), // 自动生成时刻表的导出格式
  17 + NormalWithPlanInfo("normalWithPlanInfo"); // 一般格式,调度值勤日报导出的时刻表(带驾驶员,车牌等排班信息)
17 18  
18 19 private static Map<String, TimetableExcelFormatType> descMapEnum = new HashMap<>();
19 20 static {
20 21 descMapEnum.put("normal", Normal);
21 22 descMapEnum.put("normalWithGs", NormalWithGs);
22 23 descMapEnum.put("dynamic", Dynamic);
  24 + descMapEnum.put("normalWithPlanInfo", NormalWithPlanInfo);
23 25 }
24 26  
25 27 private String desc;
... ...
src/main/java/com/bsth/service/schedule/timetable/strategy/TimetableExcelWithPlanInfoExportStrategy.java 0 → 100644
  1 +package com.bsth.service.schedule.timetable.strategy;
  2 +
  3 +import com.bsth.entity.Line;
  4 +import com.bsth.service.schedule.exception.ScheduleException;
  5 +import com.bsth.service.schedule.utils.DataToolsFile;
  6 +import com.bsth.service.schedule.utils.DataToolsProperties;
  7 +import com.bsth.service.schedule.utils.DataToolsService;
  8 +
  9 +import java.util.Date;
  10 +
  11 +/**
  12 + * 排班时刻数据(时刻表的格式,附加驾驶员,车牌信息)excel导出策略接口。
  13 + */
  14 +public interface TimetableExcelWithPlanInfoExportStrategy {
  15 + /**
  16 + * 导出数据。
  17 + * @param xl 线路信息
  18 + * @param scheduleDate 排班日期
  19 + * @param dataToolsService dataToolsService
  20 + * @param dataToolsProperties dataToolsProperties
  21 + * @return 文件包装类
  22 + */
  23 + DataToolsFile doExportWithPlanInfo(
  24 + Line xl,
  25 + Date scheduleDate,
  26 + DataToolsService dataToolsService,
  27 + DataToolsProperties dataToolsProperties) throws ScheduleException;
  28 +}
... ...
src/main/java/com/bsth/service/schedule/timetable/strategy/impl/TimetableExcelWithPlanInfoExportStrategyImpl.java 0 → 100644
  1 +package com.bsth.service.schedule.timetable.strategy.impl;
  2 +
  3 +import com.bsth.entity.Line;
  4 +import com.bsth.service.schedule.exception.ScheduleException;
  5 +import com.bsth.service.schedule.timetable.strategy.TimetableExcelWithPlanInfoExportStrategy;
  6 +import com.bsth.service.schedule.utils.*;
  7 +import jxl.Workbook;
  8 +import jxl.write.Label;
  9 +import jxl.write.WritableSheet;
  10 +import jxl.write.WritableWorkbook;
  11 +import org.apache.poi.ss.usermodel.Row;
  12 +import org.slf4j.Logger;
  13 +import org.slf4j.LoggerFactory;
  14 +
  15 +import java.io.File;
  16 +import java.time.ZoneId;
  17 +import java.time.format.DateTimeFormatter;
  18 +import java.util.*;
  19 +
  20 +/**
  21 + * 排班时刻数据(时刻表的格式,附加驾驶员,车牌信息)excel导出策略实现。
  22 + */
  23 +public class TimetableExcelWithPlanInfoExportStrategyImpl implements TimetableExcelWithPlanInfoExportStrategy {
  24 + /** 日志记录器 */
  25 + private final static Logger LOG = LoggerFactory.getLogger(TimetableExcelWithPlanInfoExportStrategyImpl.class);
  26 +
  27 + @Override
  28 + public DataToolsFile doExportWithPlanInfo(
  29 + Line xl,
  30 + Date scheduleDate,
  31 + DataToolsService dataToolsService,
  32 + DataToolsProperties dataToolsProperties) throws ScheduleException {
  33 +
  34 + LOG.info("---------------- 开始导出线路=[{}],日期=[{}]排班时刻信息... --------------", xl.getName(), scheduleDate);
  35 +
  36 + try {
  37 + // ---------- 1-1、创建ktr参数 --------- //
  38 + Map<String, Object> ktrParams = new HashMap<>();
  39 + // 导出用元数据ktr
  40 + File ktrMetaFile = new File(this.getClass().getResource(
  41 + dataToolsProperties.getTtinfodetailPlaninfoMetaoutput()).toURI());
  42 + // 导出ktr
  43 + File ktrFile = new File(this.getClass().getResource(
  44 + dataToolsProperties.getTtinfodetailPlaninfoOutput()).toURI());
  45 +
  46 + // 通用参数,转换文件路径,excel输出文件名
  47 + ktrParams.put("transpath", ktrMetaFile.getAbsolutePath());
  48 + ktrParams.put("filename", "排班时刻表导出数据temp");
  49 + // ktr附加命名参数
  50 + ktrParams.put("xlid", xl.getId()); // 线路Id
  51 + ktrParams.put("injectktrfile", ktrFile.getAbsolutePath()); // 注入元数据的ktr文件
  52 + ktrParams.put("sdate", scheduleDate.toInstant()
  53 + .atZone(ZoneId.systemDefault()).toLocalDate()
  54 + .format(DateTimeFormatter.ISO_DATE)); // 排班日期
  55 +
  56 + // ---------- 1-2、执行ktr --------- //
  57 + DataToolsFile exportFile = dataToolsService.exportData(ktrParams);
  58 +
  59 + // ---------- 2、处理生成的导出文件 --------- //
  60 +
  61 + // 将导出的数据表头重新处理一遍,祛除->数字
  62 +
  63 + // poi api,并读取第一行数据,组合成站点列表,逗号分隔
  64 + org.apache.poi.ss.usermodel.Workbook poi_workbook;
  65 + org.apache.poi.ss.usermodel.Sheet poi_sheet;
  66 + if (DataToolsFileType.XLS.isThisType(exportFile.getFile())) {
  67 + poi_workbook = DataToolsFileType.XLS.getWorkBook(exportFile.getFile());
  68 + } else if (DataToolsFileType.XLSX.isThisType(exportFile.getFile())) {
  69 + poi_workbook = DataToolsFileType.XLSX.getWorkBook(exportFile.getFile());
  70 + } else {
  71 + throw new Exception("不是xls xlsx文件!");
  72 + }
  73 + poi_sheet = poi_workbook.getSheet("Sheet1");
  74 + List<String> colList = new ArrayList<>();
  75 + int rownums = poi_sheet.getLastRowNum() + 1;
  76 + int colnums = poi_sheet.getRow(0).getLastCellNum();
  77 + Row firstrow = poi_sheet.getRow(0);
  78 + for (int i = 0; i < colnums; i++) {
  79 + org.apache.poi.ss.usermodel.Cell cell = firstrow.getCell(i);
  80 + colList.add(PoiUtils.getStringValueFromCell(cell).trim().replaceAll("(->\\d+)", ""));
  81 + }
  82 +
  83 + // jxl api
  84 + File fileCal = new File(exportFile.getFile().getAbsolutePath() + "_rowHeadReplace.xls");
  85 + WritableWorkbook writableWorkbook = Workbook.createWorkbook(fileCal);
  86 + WritableSheet sheet1 = writableWorkbook.createSheet("Sheet1", 0);
  87 + for (int i = 0; i < colnums; i++) { // 第一行数据
  88 + sheet1.addCell(new Label(i, 0, colList.get(i)));
  89 + }
  90 + for (int i = 1; i < rownums; i++) { // 第二行开始
  91 + for (int j = 0; j < colnums; j++) {
  92 + // poi读
  93 + String cellContent = PoiUtils.getStringValueFromCell(
  94 + poi_sheet.getRow(i).getCell(j)
  95 + ).replaceAll("\\s*", "");
  96 + // jxl写
  97 + sheet1.addCell(new Label(j, i, cellContent));
  98 + }
  99 + }
  100 + writableWorkbook.write();
  101 + writableWorkbook.close();
  102 +
  103 + exportFile.setFile(fileCal);
  104 +
  105 + return exportFile;
  106 + } catch (Exception exp) {
  107 + LOG.error("---------------- 导出线路=[{}],日期=[{}]排班时刻信息失败! --------------", xl.getName(), scheduleDate);
  108 + throw new ScheduleException(exp);
  109 + }
  110 +
  111 + }
  112 +}
... ...
src/main/java/com/bsth/service/schedule/utils/DataToolsProperties.java
... ... @@ -11,7 +11,8 @@ import javax.validation.constraints.NotNull;
11 11 */
12 12 @Component
13 13 @ConfigurationProperties(
14   - ignoreInvalidFields = true,
  14 + ignoreInvalidFields = false,
  15 + ignoreUnknownFields = false,
15 16 prefix = "datatools"
16 17 )
17 18 @PropertySource("classpath:datatools/config-${spring.profiles.active}.properties")
... ... @@ -120,6 +121,12 @@ public class DataToolsProperties {
120 121 @NotNull
121 122 /** 路牌信息导出 */
122 123 private String guideboardsDataoutputktr;
  124 + @NotNull
  125 + /** 时刻表导出元数据(带排班信息)ktr转换 */
  126 + private String ttinfodetailPlaninfoMetaoutput;
  127 + @NotNull
  128 + /** 时刻表导出数据(带排班信息)ktr转换 */
  129 + private String ttinfodetailPlaninfoOutput;
123 130  
124 131 //------------------------ 数据同步ktr -----------------------//
125 132 @NotNull
... ... @@ -402,4 +409,20 @@ public class DataToolsProperties {
402 409 public void setCarsInterface(String carsInterface) {
403 410 this.carsInterface = carsInterface;
404 411 }
  412 +
  413 + public String getTtinfodetailPlaninfoMetaoutput() {
  414 + return ttinfodetailPlaninfoMetaoutput;
  415 + }
  416 +
  417 + public void setTtinfodetailPlaninfoMetaoutput(String ttinfodetailPlaninfoMetaoutput) {
  418 + this.ttinfodetailPlaninfoMetaoutput = ttinfodetailPlaninfoMetaoutput;
  419 + }
  420 +
  421 + public String getTtinfodetailPlaninfoOutput() {
  422 + return ttinfodetailPlaninfoOutput;
  423 + }
  424 +
  425 + public void setTtinfodetailPlaninfoOutput(String ttinfodetailPlaninfoOutput) {
  426 + this.ttinfodetailPlaninfoOutput = ttinfodetailPlaninfoOutput;
  427 + }
405 428 }
... ...
src/main/resources/datatools/config-cloud.properties
... ... @@ -79,6 +79,11 @@ datatools.employeesconfig_dataoutputktr=/datatools/ktrs/employeesConfigDataOutpu
79 79 # 路牌信息导出
80 80 datatools.guideboards_dataoutputktr=/datatools/ktrs/guideboardDataOutput.ktr
81 81  
  82 +# 时刻表导出元数据(带排班信息)ktr转换
  83 +datatools.ttinfodetail_planinfo_metaoutput=/datatools/ktrs/planWithScheduleTypeOutputMetaData.ktr
  84 +# 时刻表导出数据(带排班信息)ktr转换
  85 +datatools.ttinfodetail_planinfo_output=/datatools/ktrs/planWithScheduleTypeOutput.ktr
  86 +
82 87 ##--------------------------- 数据同步ktr ------------------------##
83 88 datatools.vehicle_datasyncktr=/datatools/ktrs/vehicleDataSync.ktr
84 89  
... ...
src/main/resources/datatools/config-dev.properties
... ... @@ -78,6 +78,11 @@ datatools.employeesconfig_dataoutputktr=/datatools/ktrs/employeesConfigDataOutpu
78 78 # 路牌信息导出
79 79 datatools.guideboards_dataoutputktr=/datatools/ktrs/guideboardDataOutput.ktr
80 80  
  81 +# 时刻表导出元数据(带排班信息)ktr转换
  82 +datatools.ttinfodetail_planinfo_metaoutput=/datatools/ktrs/planWithScheduleTypeOutputMetaData.ktr
  83 +# 时刻表导出数据(带排班信息)ktr转换
  84 +datatools.ttinfodetail_planinfo_output=/datatools/ktrs/planWithScheduleTypeOutput.ktr
  85 +
81 86  
82 87 ##--------------------------- 数据同步ktr ------------------------##
83 88 datatools.vehicle_datasyncktr=/datatools/ktrs/vehicleDataSync.ktr
... ...
src/main/resources/datatools/config-prod.properties
... ... @@ -79,6 +79,11 @@ datatools.employeesconfig_dataoutputktr=/datatools/ktrs/employeesConfigDataOutpu
79 79 # 路牌信息导出
80 80 datatools.guideboards_dataoutputktr=/datatools/ktrs/guideboardDataOutput.ktr
81 81  
  82 +# 时刻表导出元数据(带排班信息)ktr转换
  83 +datatools.ttinfodetail_planinfo_metaoutput=/datatools/ktrs/planWithScheduleTypeOutputMetaData.ktr
  84 +# 时刻表导出数据(带排班信息)ktr转换
  85 +datatools.ttinfodetail_planinfo_output=/datatools/ktrs/planWithScheduleTypeOutput.ktr
  86 +
82 87 ##--------------------------- 数据同步ktr ------------------------##
83 88 datatools.vehicle_datasyncktr=/datatools/ktrs/vehicleDataSync.ktr
84 89  
... ...
src/main/resources/datatools/config-test.properties
... ... @@ -15,13 +15,13 @@ datatools.kvars_dbdname=control
15 15  
16 16 # 3、上传数据配置信息
17 17 # 上传文件目录配置(根据不同的环境需要修正)
18   -datatools.fileupload_dir=/home/bsth/control/bsth_control_u_d_files
  18 +datatools.fileupload_dir=/Users/xu/resource/project_code/runtime_temp/bsth_control_u_d_files
19 19 # ktr转换文件,中配置的错误输出目录(根据不同的环境需要修正)
20   -datatools.trans_errordir=/home/bsth/control/bsth_control_u_d_files/erroroutput
  20 +datatools.trans_errordir=/Users/xu/resource/project_code/runtime_temp/bsth_control_u_d_files/erroroutput
21 21 # 临时输出文件目录
22   -datatools.trans_tempdir=/home/bsth/control/bsth_control_u_d_files/temp
  22 +datatools.trans_tempdir=/Users/xu/resource/project_code/runtime_temp/bsth_control_u_d_files/temp
23 23 # 模版文件目录
24   -datatools.trans_templatedir=/home/bsth/control/bsth_control_u_d_files/template
  24 +datatools.trans_templatedir=/Users/xu/resource/project_code/runtime_temp/bsth_control_u_d_files/template
25 25  
26 26 ##---------------------------- 导入数据ktr ----------------------------##
27 27 # 车辆信息导入ktr转换
... ... @@ -57,7 +57,7 @@ datatools.schedulerule_datainputktr=/datatools/ktrs/scheduleRuleDataInput.ktr
57 57  
58 58 # 4、数据导出配置信息
59 59 # 导出数据文件目录配置(根据不同的环境需要修正)
60   -datatools.fileoutput_dir=/home/bsth/control/bsth_control_u_d_files
  60 +datatools.fileoutput_dir=/Users/xu/resource/project_code/runtime_temp/bsth_control_u_d_files
61 61  
62 62 ##---------------------------- 导出数据ktr -----------------------------##
63 63 # 车辆信息导出ktr转换
... ... @@ -79,6 +79,11 @@ datatools.employeesconfig_dataoutputktr=/datatools/ktrs/employeesConfigDataOutpu
79 79 # 路牌信息导出
80 80 datatools.guideboards_dataoutputktr=/datatools/ktrs/guideboardDataOutput.ktr
81 81  
  82 +# 时刻表导出元数据(带排班信息)ktr转换
  83 +datatools.ttinfodetail_planinfo_metaoutput=/datatools/ktrs/planWithScheduleTypeOutputMetaData.ktr
  84 +# 时刻表导出数据(带排班信息)ktr转换
  85 +datatools.ttinfodetail_planinfo_output=/datatools/ktrs/planWithScheduleTypeOutput.ktr
  86 +
82 87 ##--------------------------- 数据同步ktr ------------------------##
83 88 datatools.vehicle_datasyncktr=/datatools/ktrs/vehicleDataSync.ktr
84 89  
... ...
src/main/resources/datatools/ktrs/planWithScheduleTypeOutput.ktr 0 → 100644
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<transformation>
  3 + <info>
  4 + <name>&#x6392;&#x73ed;&#x8ba1;&#x5212;&#x660e;&#x7ec6;&#xff08;&#x65f6;&#x523b;&#x8868;&#x683c;&#x5f0f;&#xff09;</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 + </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>2024&#x2f;12&#x2f;10 10&#x3a;10&#x3a;30.985</created_date>
  71 + <modified_user>-</modified_user>
  72 + <modified_date>2024&#x2f;12&#x2f;10 10&#x3a;10&#x3a;30.985</modified_date>
  73 + <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</key_for_session_key>
  74 + <is_key_private>N</is_key_private>
  75 + </info>
  76 + <notepads>
  77 + </notepads>
  78 + <connection>
  79 + <name>192.168.168.1_jwgl_dw</name>
  80 + <server>192.168.168.1</server>
  81 + <type>ORACLE</type>
  82 + <access>Native</access>
  83 + <database>orcl</database>
  84 + <port>1521</port>
  85 + <username>jwgl_dw</username>
  86 + <password>Encrypted 2be98afc86aa7f2e4cb13b977d2adabcd</password>
  87 + <servername/>
  88 + <data_tablespace/>
  89 + <index_tablespace/>
  90 + <attributes>
  91 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  92 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  93 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  94 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  95 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  96 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  97 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  98 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  99 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  100 + </attributes>
  101 + </connection>
  102 + <connection>
  103 + <name>bus_control_variable</name>
  104 + <server>&#x24;&#x7b;v_db_ip&#x7d;</server>
  105 + <type>MYSQL</type>
  106 + <access>Native</access>
  107 + <database>&#x24;&#x7b;v_db_dname&#x7d;</database>
  108 + <port>3306</port>
  109 + <username>&#x24;&#x7b;v_db_uname&#x7d;</username>
  110 + <password>&#x24;&#x7b;v_db_pwd&#x7d;</password>
  111 + <servername/>
  112 + <data_tablespace/>
  113 + <index_tablespace/>
  114 + <attributes>
  115 + <attribute><code>EXTRA_OPTION_MYSQL.characterEncoding</code><attribute>utf8</attribute></attribute>
  116 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  117 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  118 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  119 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  120 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  121 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  122 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  123 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  124 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  125 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  126 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  127 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  128 + </attributes>
  129 + </connection>
  130 + <connection>
  131 + <name>bus_control_&#x516c;&#x53f8;_201</name>
  132 + <server>localhost</server>
  133 + <type>MYSQL</type>
  134 + <access>Native</access>
  135 + <database>control</database>
  136 + <port>3306</port>
  137 + <username>root</username>
  138 + <password>Encrypted </password>
  139 + <servername/>
  140 + <data_tablespace/>
  141 + <index_tablespace/>
  142 + <attributes>
  143 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  144 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  145 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  146 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  147 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  148 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  149 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  150 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  151 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  152 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  153 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  154 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  155 + </attributes>
  156 + </connection>
  157 + <connection>
  158 + <name>bus_control_&#x672c;&#x673a;</name>
  159 + <server>localhost</server>
  160 + <type>MYSQL</type>
  161 + <access>Native</access>
  162 + <database>control</database>
  163 + <port>3306</port>
  164 + <username>root</username>
  165 + <password>Encrypted </password>
  166 + <servername/>
  167 + <data_tablespace/>
  168 + <index_tablespace/>
  169 + <attributes>
  170 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  171 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  172 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  173 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  174 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  175 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  176 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  177 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  178 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  179 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  180 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  181 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  182 + </attributes>
  183 + </connection>
  184 + <connection>
  185 + <name>control_jndi</name>
  186 + <server/>
  187 + <type>MYSQL</type>
  188 + <access>JNDI</access>
  189 + <database>control_jndi</database>
  190 + <port>1521</port>
  191 + <username/>
  192 + <password>Encrypted </password>
  193 + <servername/>
  194 + <data_tablespace/>
  195 + <index_tablespace/>
  196 + <attributes>
  197 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  198 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  199 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  200 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  201 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  202 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  203 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  204 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  205 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  206 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  207 + </attributes>
  208 + </connection>
  209 + <connection>
  210 + <name>JGJW_VM</name>
  211 + <server>192.168.198.240</server>
  212 + <type>ORACLE</type>
  213 + <access>Native</access>
  214 + <database>orcl</database>
  215 + <port>1521</port>
  216 + <username>jwgl</username>
  217 + <password>Encrypted 2be98afc86aa7f2e4cb79ce10d485a8d6</password>
  218 + <servername/>
  219 + <data_tablespace/>
  220 + <index_tablespace/>
  221 + <attributes>
  222 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  223 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  224 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  225 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  226 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  227 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  228 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  229 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  230 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  231 + </attributes>
  232 + </connection>
  233 + <connection>
  234 + <name>NHJW_VM</name>
  235 + <server>192.168.198.240</server>
  236 + <type>ORACLE</type>
  237 + <access>Native</access>
  238 + <database>orcl</database>
  239 + <port>1521</port>
  240 + <username>nhjw</username>
  241 + <password>Encrypted 2be98afc86aa7f2e4cb79ce10d09aa5cd</password>
  242 + <servername/>
  243 + <data_tablespace/>
  244 + <index_tablespace/>
  245 + <attributes>
  246 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  247 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  248 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  249 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  250 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  251 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  252 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  253 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  254 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  255 + </attributes>
  256 + </connection>
  257 + <connection>
  258 + <name>PDGJ_VM</name>
  259 + <server>192.168.198.240</server>
  260 + <type>ORACLE</type>
  261 + <access>Native</access>
  262 + <database>orcl</database>
  263 + <port>1521</port>
  264 + <username>pdgj</username>
  265 + <password>Encrypted 2be98afc86aa7f2e4cb79ce10ce96a8d0</password>
  266 + <servername/>
  267 + <data_tablespace/>
  268 + <index_tablespace/>
  269 + <attributes>
  270 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  271 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  272 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  273 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  274 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  275 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  276 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  277 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  278 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  279 + </attributes>
  280 + </connection>
  281 + <connection>
  282 + <name>repair_dw_mysql_jndi</name>
  283 + <server/>
  284 + <type>MYSQL</type>
  285 + <access>JNDI</access>
  286 + <database>repair_dw_mysql</database>
  287 + <port>1521</port>
  288 + <username/>
  289 + <password>Encrypted </password>
  290 + <servername/>
  291 + <data_tablespace/>
  292 + <index_tablespace/>
  293 + <attributes>
  294 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  295 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  296 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  297 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  298 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  299 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  300 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  301 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  302 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  303 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  304 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  305 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  306 + </attributes>
  307 + </connection>
  308 + <connection>
  309 + <name>repair_dw&#xff08;&#x672c;&#x673a;&#xff09;</name>
  310 + <server>localhost</server>
  311 + <type>MYSQL</type>
  312 + <access>Native</access>
  313 + <database>ruoyi-vue-3.5</database>
  314 + <port>3306</port>
  315 + <username>root</username>
  316 + <password>Encrypted </password>
  317 + <servername/>
  318 + <data_tablespace/>
  319 + <index_tablespace/>
  320 + <attributes>
  321 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  322 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  323 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  324 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  325 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  326 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  327 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  328 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  329 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  330 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  331 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  332 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  333 + </attributes>
  334 + </connection>
  335 + <connection>
  336 + <name>repair_real_h2</name>
  337 + <server/>
  338 + <type>H2</type>
  339 + <access>JNDI</access>
  340 + <database>repair_real_h2</database>
  341 + <port>1521</port>
  342 + <username/>
  343 + <password>Encrypted </password>
  344 + <servername/>
  345 + <data_tablespace/>
  346 + <index_tablespace/>
  347 + <attributes>
  348 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  349 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  350 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  351 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  352 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  353 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  354 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  355 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  356 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  357 + </attributes>
  358 + </connection>
  359 + <connection>
  360 + <name>SNJW_VM</name>
  361 + <server>192.168.198.240</server>
  362 + <type>ORACLE</type>
  363 + <access>Native</access>
  364 + <database>orcl</database>
  365 + <port>1521</port>
  366 + <username>snjw</username>
  367 + <password>Encrypted 2be98afc86aa7f2e4cb79ce10cd9ca5cd</password>
  368 + <servername/>
  369 + <data_tablespace/>
  370 + <index_tablespace/>
  371 + <attributes>
  372 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  373 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  374 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  375 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  376 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  377 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  378 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  379 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  380 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  381 + </attributes>
  382 + </connection>
  383 + <connection>
  384 + <name>test_control_local</name>
  385 + <server>localhost</server>
  386 + <type>MYSQL</type>
  387 + <access>Native</access>
  388 + <database>test_control</database>
  389 + <port>3306</port>
  390 + <username>root</username>
  391 + <password>Encrypted </password>
  392 + <servername/>
  393 + <data_tablespace/>
  394 + <index_tablespace/>
  395 + <attributes>
  396 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  397 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  398 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  399 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  400 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  401 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  402 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  403 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  404 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  405 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  406 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  407 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  408 + </attributes>
  409 + </connection>
  410 + <connection>
  411 + <name>test_control&#xff08;&#x672c;&#x673a;&#xff09;</name>
  412 + <server>127.0.0.1</server>
  413 + <type>MYSQL</type>
  414 + <access>Native</access>
  415 + <database>test_control</database>
  416 + <port>3306</port>
  417 + <username>root</username>
  418 + <password>Encrypted </password>
  419 + <servername/>
  420 + <data_tablespace/>
  421 + <index_tablespace/>
  422 + <attributes>
  423 + <attribute><code>EXTRA_OPTION_MYSQL.characterEncoding</code><attribute>utf8</attribute></attribute>
  424 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  425 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  426 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  427 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  428 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  429 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  430 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  431 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  432 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  433 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  434 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  435 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  436 + </attributes>
  437 + </connection>
  438 + <connection>
  439 + <name>wzk_mysql_jndi</name>
  440 + <server/>
  441 + <type>MYSQL</type>
  442 + <access>JNDI</access>
  443 + <database>wzk_mysql</database>
  444 + <port>1521</port>
  445 + <username/>
  446 + <password>Encrypted </password>
  447 + <servername/>
  448 + <data_tablespace/>
  449 + <index_tablespace/>
  450 + <attributes>
  451 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  452 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  453 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  454 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  455 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  456 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  457 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  458 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  459 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  460 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  461 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  462 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  463 + </attributes>
  464 + </connection>
  465 + <connection>
  466 + <name>wzk&#xff08;&#x672c;&#x673a;&#xff09;</name>
  467 + <server>localhost</server>
  468 + <type>MYSQL</type>
  469 + <access>Native</access>
  470 + <database>pdgj_wzk_sys</database>
  471 + <port>3306</port>
  472 + <username>root</username>
  473 + <password>Encrypted </password>
  474 + <servername/>
  475 + <data_tablespace/>
  476 + <index_tablespace/>
  477 + <attributes>
  478 + <attribute><code>EXTRA_OPTION_MYSQL.characterEncoding</code><attribute>utf8</attribute></attribute>
  479 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  480 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  481 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  482 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  483 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  484 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  485 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  486 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  487 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  488 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  489 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  490 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  491 + </attributes>
  492 + </connection>
  493 + <connection>
  494 + <name>xlab_mysql_youle</name>
  495 + <server>101.231.124.8</server>
  496 + <type>MYSQL</type>
  497 + <access>Native</access>
  498 + <database>xlab_youle</database>
  499 + <port>45687</port>
  500 + <username>xlab-youle</username>
  501 + <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password>
  502 + <servername/>
  503 + <data_tablespace/>
  504 + <index_tablespace/>
  505 + <attributes>
  506 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  507 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  508 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  509 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  510 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  511 + <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute>
  512 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  513 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  514 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  515 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  516 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  517 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  518 + </attributes>
  519 + </connection>
  520 + <connection>
  521 + <name>xlab_mysql_youle&#xff08;&#x672c;&#x673a;&#xff09;</name>
  522 + <server>localhost</server>
  523 + <type>MYSQL</type>
  524 + <access>Native</access>
  525 + <database>xlab_youle</database>
  526 + <port>3306</port>
  527 + <username>root</username>
  528 + <password>Encrypted </password>
  529 + <servername/>
  530 + <data_tablespace/>
  531 + <index_tablespace/>
  532 + <attributes>
  533 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  534 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  535 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  536 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  537 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  538 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  539 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  540 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  541 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  542 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  543 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  544 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  545 + </attributes>
  546 + </connection>
  547 + <connection>
  548 + <name>xlab_youle</name>
  549 + <server/>
  550 + <type>MYSQL</type>
  551 + <access>JNDI</access>
  552 + <database>xlab_youle</database>
  553 + <port>1521</port>
  554 + <username/>
  555 + <password>Encrypted </password>
  556 + <servername/>
  557 + <data_tablespace/>
  558 + <index_tablespace/>
  559 + <attributes>
  560 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  561 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  562 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  563 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  564 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  565 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  566 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  567 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  568 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  569 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  570 + </attributes>
  571 + </connection>
  572 + <connection>
  573 + <name>YGJW_VM</name>
  574 + <server>192.168.198.240</server>
  575 + <type>ORACLE</type>
  576 + <access>Native</access>
  577 + <database>orcl</database>
  578 + <port>1521</port>
  579 + <username>ygjw</username>
  580 + <password>Encrypted 2be98afc86aa7f2e4cb79ce10c795a5cd</password>
  581 + <servername/>
  582 + <data_tablespace/>
  583 + <index_tablespace/>
  584 + <attributes>
  585 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  586 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  587 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  588 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  589 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  590 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  591 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  592 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  593 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  594 + </attributes>
  595 + </connection>
  596 + <connection>
  597 + <name>&#x516c;&#x53f8;jgjw</name>
  598 + <server>192.168.168.1</server>
  599 + <type>ORACLE</type>
  600 + <access>Native</access>
  601 + <database>orcl</database>
  602 + <port>1521</port>
  603 + <username>jwgl</username>
  604 + <password>Encrypted 2be98afc86aa7f2e4cb79ce10d485a8d6</password>
  605 + <servername/>
  606 + <data_tablespace/>
  607 + <index_tablespace/>
  608 + <attributes>
  609 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  610 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  611 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  612 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  613 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  614 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  615 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  616 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  617 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  618 + </attributes>
  619 + </connection>
  620 + <connection>
  621 + <name>&#x516c;&#x53f8;snjw</name>
  622 + <server>192.168.168.1</server>
  623 + <type>ORACLE</type>
  624 + <access>Native</access>
  625 + <database>orcl</database>
  626 + <port>1521</port>
  627 + <username>snjw</username>
  628 + <password>Encrypted 2be98afc86aa7f2e4cb79ce10cd9ca5cd</password>
  629 + <servername/>
  630 + <data_tablespace/>
  631 + <index_tablespace/>
  632 + <attributes>
  633 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  634 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  635 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  636 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  637 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  638 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  639 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  640 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  641 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  642 + </attributes>
  643 + </connection>
  644 + <connection>
  645 + <name>&#x516c;&#x53f8;ygjw</name>
  646 + <server>192.168.168.178</server>
  647 + <type>ORACLE</type>
  648 + <access>Native</access>
  649 + <database>orcl</database>
  650 + <port>1521</port>
  651 + <username>ygjw</username>
  652 + <password>Encrypted 2be98afc86aa7f2e4cb79ce10c795a5cd</password>
  653 + <servername/>
  654 + <data_tablespace/>
  655 + <index_tablespace/>
  656 + <attributes>
  657 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  658 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  659 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  660 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  661 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  662 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  663 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  664 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  665 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  666 + </attributes>
  667 + </connection>
  668 + <connection>
  669 + <name>&#x516c;&#x53f8;&#x673a;&#x52a1;_pdgj</name>
  670 + <server>192.168.168.178</server>
  671 + <type>ORACLE</type>
  672 + <access>Native</access>
  673 + <database>orcl</database>
  674 + <port>1521</port>
  675 + <username>pdgj</username>
  676 + <password>Encrypted 2be98afc86aa7f2e4cb79ce10ce96a8d0</password>
  677 + <servername/>
  678 + <data_tablespace/>
  679 + <index_tablespace/>
  680 + <attributes>
  681 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  682 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  683 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  684 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  685 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  686 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  687 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  688 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  689 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  690 + </attributes>
  691 + </connection>
  692 + <connection>
  693 + <name>&#x5916;&#x7f51;vpn&#x4e34;&#x6e2f;&#x673a;&#x52a1;oracle</name>
  694 + <server>10.10.150.114</server>
  695 + <type>ORACLE</type>
  696 + <access>Native</access>
  697 + <database>helowin</database>
  698 + <port>1521</port>
  699 + <username>lgjw</username>
  700 + <password>Encrypted 2be98afc86aa7f2e4cb79ce10d295a5cd</password>
  701 + <servername/>
  702 + <data_tablespace/>
  703 + <index_tablespace/>
  704 + <attributes>
  705 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  706 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  707 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  708 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  709 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  710 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  711 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  712 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  713 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  714 + </attributes>
  715 + </connection>
  716 + <connection>
  717 + <name>&#x5916;&#x7f51;&#x5357;&#x6c47;&#x673a;&#x52a1;oracle</name>
  718 + <server>58.247.254.118</server>
  719 + <type>ORACLE</type>
  720 + <access>Native</access>
  721 + <database>orcl</database>
  722 + <port>15211</port>
  723 + <username>nhjw</username>
  724 + <password>Encrypted 2be98afc86aa7f2e4cb79ce10d09aa5cd</password>
  725 + <servername/>
  726 + <data_tablespace/>
  727 + <index_tablespace/>
  728 + <attributes>
  729 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  730 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  731 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  732 + <attribute><code>PORT_NUMBER</code><attribute>15211</attribute></attribute>
  733 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  734 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  735 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  736 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  737 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  738 + </attributes>
  739 + </connection>
  740 + <connection>
  741 + <name>&#x5916;&#x7f51;&#x6768;&#x9ad8;&#x673a;&#x52a1;oracle</name>
  742 + <server>58.247.254.118</server>
  743 + <type>ORACLE</type>
  744 + <access>Native</access>
  745 + <database>orcl</database>
  746 + <port>15211</port>
  747 + <username>ygjw</username>
  748 + <password>Encrypted 2be98afc86aa7f2e4cb79ce10c795a5cd</password>
  749 + <servername/>
  750 + <data_tablespace/>
  751 + <index_tablespace/>
  752 + <attributes>
  753 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  754 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  755 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  756 + <attribute><code>PORT_NUMBER</code><attribute>15211</attribute></attribute>
  757 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  758 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  759 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  760 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  761 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  762 + </attributes>
  763 + </connection>
  764 + <connection>
  765 + <name>&#x5916;&#x7f51;&#x91d1;&#x9ad8;&#x673a;&#x52a1;oracle</name>
  766 + <server>58.247.254.118</server>
  767 + <type>ORACLE</type>
  768 + <access>Native</access>
  769 + <database>orcl</database>
  770 + <port>15211</port>
  771 + <username>jwgl</username>
  772 + <password>Encrypted 2be98afc86aa7f2e4cb79ce10d485a8d6</password>
  773 + <servername/>
  774 + <data_tablespace/>
  775 + <index_tablespace/>
  776 + <attributes>
  777 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  778 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  779 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  780 + <attribute><code>PORT_NUMBER</code><attribute>15211</attribute></attribute>
  781 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  782 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  783 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  784 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  785 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  786 + </attributes>
  787 + </connection>
  788 + <order>
  789 + <hop> <from>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</from><to>&#x5217;&#x8f6c;&#x884c;</to><enabled>Y</enabled> </hop>
  790 + <hop> <from>&#x5217;&#x8f6c;&#x884c;</from><to>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</to><enabled>Y</enabled> </hop>
  791 + <hop> <from>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</from><to>Excel&#x8f93;&#x51fa;</to><enabled>Y</enabled> </hop>
  792 + <hop> <from>&#x6392;&#x73ed;&#x660e;&#x7ec6;&#x8f93;&#x5165;</from><to>&#x8f66;&#x724c;&#x53f7;&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>
  793 + <hop> <from>&#x8f66;&#x724c;&#x53f7;&#x67e5;&#x8be2;</from><to>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>
  794 + </order>
  795 + <step>
  796 + <name>Excel&#x8f93;&#x51fa;</name>
  797 + <type>ExcelOutput</type>
  798 + <description/>
  799 + <distribute>Y</distribute>
  800 + <custom_distribution/>
  801 + <copies>1</copies>
  802 + <partitioning>
  803 + <method>none</method>
  804 + <schema_name/>
  805 + </partitioning>
  806 + <header>Y</header>
  807 + <footer>N</footer>
  808 + <encoding/>
  809 + <append>N</append>
  810 + <add_to_result_filenames>Y</add_to_result_filenames>
  811 + <file>
  812 + <name>&#x24;&#x7b;filepath&#x7d;</name>
  813 + <extention>xls</extention>
  814 + <do_not_open_newfile_init>N</do_not_open_newfile_init>
  815 + <create_parent_folder>N</create_parent_folder>
  816 + <split>N</split>
  817 + <add_date>N</add_date>
  818 + <add_time>N</add_time>
  819 + <SpecifyFormat>N</SpecifyFormat>
  820 + <date_time_format/>
  821 + <sheetname>Sheet1</sheetname>
  822 + <autosizecolums>N</autosizecolums>
  823 + <nullisblank>N</nullisblank>
  824 + <protect_sheet>N</protect_sheet>
  825 + <password>Encrypted </password>
  826 + <splitevery>0</splitevery>
  827 + <usetempfiles>N</usetempfiles>
  828 + <tempdirectory/>
  829 + </file>
  830 + <template>
  831 + <enabled>N</enabled>
  832 + <append>N</append>
  833 + <filename>template.xls</filename>
  834 + </template>
  835 + <fields>
  836 + </fields>
  837 + <custom>
  838 + <header_font_name>arial</header_font_name>
  839 + <header_font_size>10</header_font_size>
  840 + <header_font_bold>N</header_font_bold>
  841 + <header_font_italic>N</header_font_italic>
  842 + <header_font_underline>no</header_font_underline>
  843 + <header_font_orientation>horizontal</header_font_orientation>
  844 + <header_font_color>black</header_font_color>
  845 + <header_background_color>none</header_background_color>
  846 + <header_row_height>255</header_row_height>
  847 + <header_alignment>left</header_alignment>
  848 + <header_image/>
  849 + <row_font_name>arial</row_font_name>
  850 + <row_font_size>10</row_font_size>
  851 + <row_font_color>black</row_font_color>
  852 + <row_background_color>none</row_background_color>
  853 + </custom>
  854 + <cluster_schema/>
  855 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  856 + <xloc>783</xloc>
  857 + <yloc>129</yloc>
  858 + <draw>Y</draw>
  859 + </GUI>
  860 + </step>
  861 +
  862 + <step>
  863 + <name>&#x6392;&#x73ed;&#x660e;&#x7ec6;&#x8f93;&#x5165;</name>
  864 + <type>TableInput</type>
  865 + <description/>
  866 + <distribute>Y</distribute>
  867 + <custom_distribution/>
  868 + <copies>1</copies>
  869 + <partitioning>
  870 + <method>none</method>
  871 + <schema_name/>
  872 + </partitioning>
  873 + <connection>control_jndi</connection>
  874 + <sql>select &#x2a;&#xa;from bsth_c_s_sp_info&#xa;where xl &#x3d; &#x24;&#x7b;xlid&#x7d;&#xa;and date_format&#x28;schedule_date, &#x27;&#x25;Y-&#x25;m-&#x25;d&#x27;&#x29; &#x3d; &#x27;&#x24;&#x7b;sdate&#x7d;&#x27;</sql>
  875 + <limit>0</limit>
  876 + <lookup/>
  877 + <execute_each_row>N</execute_each_row>
  878 + <variables_active>Y</variables_active>
  879 + <lazy_conversion_active>N</lazy_conversion_active>
  880 + <cluster_schema/>
  881 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  882 + <xloc>121</xloc>
  883 + <yloc>134</yloc>
  884 + <draw>Y</draw>
  885 + </GUI>
  886 + </step>
  887 +
  888 + <step>
  889 + <name>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</name>
  890 + <type>SortRows</type>
  891 + <description/>
  892 + <distribute>Y</distribute>
  893 + <custom_distribution/>
  894 + <copies>1</copies>
  895 + <partitioning>
  896 + <method>none</method>
  897 + <schema_name/>
  898 + </partitioning>
  899 + <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
  900 + <prefix>out</prefix>
  901 + <sort_size>1000000</sort_size>
  902 + <free_memory/>
  903 + <compress>N</compress>
  904 + <compress_variable/>
  905 + <unique_rows>N</unique_rows>
  906 + <fields>
  907 + <field>
  908 + <name>lp</name>
  909 + <ascending>Y</ascending>
  910 + <case_sensitive>N</case_sensitive>
  911 + <presorted>N</presorted>
  912 + </field>
  913 + <field>
  914 + <name>j</name>
  915 + <ascending>Y</ascending>
  916 + <case_sensitive>N</case_sensitive>
  917 + <presorted>N</presorted>
  918 + </field>
  919 + <field>
  920 + <name>j_name</name>
  921 + <ascending>Y</ascending>
  922 + <case_sensitive>N</case_sensitive>
  923 + <presorted>N</presorted>
  924 + </field>
  925 + <field>
  926 + <name>car_plate</name>
  927 + <ascending>Y</ascending>
  928 + <case_sensitive>N</case_sensitive>
  929 + <presorted>N</presorted>
  930 + </field>
  931 + <field>
  932 + <name>fcno</name>
  933 + <ascending>Y</ascending>
  934 + <case_sensitive>N</case_sensitive>
  935 + <presorted>N</presorted>
  936 + </field>
  937 + </fields>
  938 + <cluster_schema/>
  939 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  940 + <xloc>355</xloc>
  941 + <yloc>130</yloc>
  942 + <draw>Y</draw>
  943 + </GUI>
  944 + </step>
  945 +
  946 + <step>
  947 + <name>&#x5217;&#x8f6c;&#x884c;</name>
  948 + <type>Denormaliser</type>
  949 + <description/>
  950 + <distribute>Y</distribute>
  951 + <custom_distribution/>
  952 + <copies>1</copies>
  953 + <partitioning>
  954 + <method>none</method>
  955 + <schema_name/>
  956 + </partitioning>
  957 + <key_field>fcno</key_field>
  958 + <group>
  959 + <field>
  960 + <name>lp</name>
  961 + </field>
  962 + <field>
  963 + <name>j</name>
  964 + </field>
  965 + <field>
  966 + <name>j_name</name>
  967 + </field>
  968 + <field>
  969 + <name>car_plate</name>
  970 + </field>
  971 + </group>
  972 + <fields>
  973 + <field>
  974 + <field_name>fcsj</field_name>
  975 + <key_value>1</key_value>
  976 + <target_name>&#x51fa;&#x573a;1</target_name>
  977 + <target_type>String</target_type>
  978 + <target_format/>
  979 + <target_length>-1</target_length>
  980 + <target_precision>-1</target_precision>
  981 + <target_decimal_symbol/>
  982 + <target_grouping_symbol/>
  983 + <target_currency_symbol/>
  984 + <target_null_string/>
  985 + <target_aggregation_type>-</target_aggregation_type>
  986 + </field>
  987 + <field>
  988 + <field_name>fcsj</field_name>
  989 + <key_value>2</key_value>
  990 + <target_name>&#x9752;&#x5b89;&#x8def;&#x6c7d;&#x8f66;&#x7ad9;2</target_name>
  991 + <target_type>String</target_type>
  992 + <target_format/>
  993 + <target_length>-1</target_length>
  994 + <target_precision>-1</target_precision>
  995 + <target_decimal_symbol/>
  996 + <target_grouping_symbol/>
  997 + <target_currency_symbol/>
  998 + <target_null_string/>
  999 + <target_aggregation_type>-</target_aggregation_type>
  1000 + </field>
  1001 + <field>
  1002 + <field_name>fcsj</field_name>
  1003 + <key_value>3</key_value>
  1004 + <target_name>&#x9752;&#x5b89;&#x8def;&#x6c7d;&#x8f66;&#x7ad9;3</target_name>
  1005 + <target_type>String</target_type>
  1006 + <target_format/>
  1007 + <target_length>-1</target_length>
  1008 + <target_precision>-1</target_precision>
  1009 + <target_decimal_symbol/>
  1010 + <target_grouping_symbol/>
  1011 + <target_currency_symbol/>
  1012 + <target_null_string/>
  1013 + <target_aggregation_type>-</target_aggregation_type>
  1014 + </field>
  1015 + <field>
  1016 + <field_name>fcsj</field_name>
  1017 + <key_value>4</key_value>
  1018 + <target_name>&#x9752;&#x5b89;&#x8def;&#x6c7d;&#x8f66;&#x7ad9;4</target_name>
  1019 + <target_type>String</target_type>
  1020 + <target_format/>
  1021 + <target_length>-1</target_length>
  1022 + <target_precision>-1</target_precision>
  1023 + <target_decimal_symbol/>
  1024 + <target_grouping_symbol/>
  1025 + <target_currency_symbol/>
  1026 + <target_null_string/>
  1027 + <target_aggregation_type>-</target_aggregation_type>
  1028 + </field>
  1029 + <field>
  1030 + <field_name>fcsj</field_name>
  1031 + <key_value>5</key_value>
  1032 + <target_name>&#x9752;&#x5b89;&#x8def;&#x6c7d;&#x8f66;&#x7ad9;5</target_name>
  1033 + <target_type>String</target_type>
  1034 + <target_format/>
  1035 + <target_length>-1</target_length>
  1036 + <target_precision>-1</target_precision>
  1037 + <target_decimal_symbol/>
  1038 + <target_grouping_symbol/>
  1039 + <target_currency_symbol/>
  1040 + <target_null_string/>
  1041 + <target_aggregation_type>-</target_aggregation_type>
  1042 + </field>
  1043 + <field>
  1044 + <field_name>fcsj</field_name>
  1045 + <key_value>6</key_value>
  1046 + <target_name>&#x9752;&#x5b89;&#x8def;&#x6c7d;&#x8f66;&#x7ad9;6</target_name>
  1047 + <target_type>String</target_type>
  1048 + <target_format/>
  1049 + <target_length>-1</target_length>
  1050 + <target_precision>-1</target_precision>
  1051 + <target_decimal_symbol/>
  1052 + <target_grouping_symbol/>
  1053 + <target_currency_symbol/>
  1054 + <target_null_string/>
  1055 + <target_aggregation_type>-</target_aggregation_type>
  1056 + </field>
  1057 + <field>
  1058 + <field_name>fcsj</field_name>
  1059 + <key_value>7</key_value>
  1060 + <target_name>&#x8fdb;&#x573a;7</target_name>
  1061 + <target_type>String</target_type>
  1062 + <target_format/>
  1063 + <target_length>-1</target_length>
  1064 + <target_precision>-1</target_precision>
  1065 + <target_decimal_symbol/>
  1066 + <target_grouping_symbol/>
  1067 + <target_currency_symbol/>
  1068 + <target_null_string/>
  1069 + <target_aggregation_type>-</target_aggregation_type>
  1070 + </field>
  1071 + </fields>
  1072 + <cluster_schema/>
  1073 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1074 + <xloc>503</xloc>
  1075 + <yloc>132</yloc>
  1076 + <draw>Y</draw>
  1077 + </GUI>
  1078 + </step>
  1079 +
  1080 + <step>
  1081 + <name>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</name>
  1082 + <type>SelectValues</type>
  1083 + <description/>
  1084 + <distribute>Y</distribute>
  1085 + <custom_distribution/>
  1086 + <copies>1</copies>
  1087 + <partitioning>
  1088 + <method>none</method>
  1089 + <schema_name/>
  1090 + </partitioning>
  1091 + <fields> <field> <name>lp_name</name>
  1092 + <rename>&#x8def;&#x724c;</rename>
  1093 + <length>-2</length>
  1094 + <precision>-2</precision>
  1095 + </field> <field> <name>j_name</name>
  1096 + <rename>&#x9a7e;&#x9a76;&#x5458;</rename>
  1097 + <length>-2</length>
  1098 + <precision>-2</precision>
  1099 + </field> <field> <name>car_plate</name>
  1100 + <rename>&#x8f66;&#x724c;&#x53f7;</rename>
  1101 + <length>-2</length>
  1102 + <precision>-2</precision>
  1103 + </field> <select_unspecified>Y</select_unspecified>
  1104 + </fields> <cluster_schema/>
  1105 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1106 + <xloc>640</xloc>
  1107 + <yloc>129</yloc>
  1108 + <draw>Y</draw>
  1109 + </GUI>
  1110 + </step>
  1111 +
  1112 + <step>
  1113 + <name>&#x8f66;&#x724c;&#x53f7;&#x67e5;&#x8be2;</name>
  1114 + <type>DBLookup</type>
  1115 + <description/>
  1116 + <distribute>Y</distribute>
  1117 + <custom_distribution/>
  1118 + <copies>1</copies>
  1119 + <partitioning>
  1120 + <method>none</method>
  1121 + <schema_name/>
  1122 + </partitioning>
  1123 + <connection>control_jndi</connection>
  1124 + <cache>Y</cache>
  1125 + <cache_load_all>Y</cache_load_all>
  1126 + <cache_size>0</cache_size>
  1127 + <lookup>
  1128 + <schema/>
  1129 + <table>bsth_c_cars</table>
  1130 + <orderby/>
  1131 + <fail_on_multiple>N</fail_on_multiple>
  1132 + <eat_row_on_failure>N</eat_row_on_failure>
  1133 + <key>
  1134 + <name>cl</name>
  1135 + <field>id</field>
  1136 + <condition>&#x3d;</condition>
  1137 + <name2/>
  1138 + </key>
  1139 + <value>
  1140 + <name>car_plate</name>
  1141 + <rename>car_plate</rename>
  1142 + <default>&#x65e0;</default>
  1143 + <type>String</type>
  1144 + </value>
  1145 + </lookup>
  1146 + <cluster_schema/>
  1147 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1148 + <xloc>239</xloc>
  1149 + <yloc>134</yloc>
  1150 + <draw>Y</draw>
  1151 + </GUI>
  1152 + </step>
  1153 +
  1154 + <step_error_handling>
  1155 + </step_error_handling>
  1156 + <slave-step-copy-partition-distribution>
  1157 +</slave-step-copy-partition-distribution>
  1158 + <slave_transformation>N</slave_transformation>
  1159 +
  1160 +</transformation>
... ...
src/main/resources/datatools/ktrs/planWithScheduleTypeOutputMetaData.ktr 0 → 100644
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<transformation>
  3 + <info>
  4 + <name>&#x6392;&#x73ed;&#x8ba1;&#x5212;&#x660e;&#x7ec6;&#xff08;&#x65f6;&#x523b;&#x8868;&#x683c;&#x5f0f;&#xff09;&#x5bfc;&#x51fa;&#x5143;&#x6570;&#x636e;</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>&#x2f;Users&#x2f;xu&#x2f;resource&#x2f;project_code&#x2f;runtime_temp&#x2f;bsth_control_u_d_files&#x2f;planttinfodetail_test.xls</default_value>
  15 + <description>&#x6392;&#x73ed;&#x8ba1;&#x5212;&#x660e;&#x7ec6;excel&#x5bfc;&#x51fa;&#x6587;&#x4ef6;&#x8def;&#x5f84;&#x540d;</description>
  16 + </parameter>
  17 + <parameter>
  18 + <name>injectktrfile</name>
  19 + <default_value>&#x2f;Users&#x2f;xu&#x2f;resource&#x2f;project_code&#x2f;bsth_project&#x2f;bsth_control_parent&#x2f;bsth_control&#x2f;src&#x2f;main&#x2f;resources&#x2f;datatools&#x2f;ktrs&#x2f;planWithScheduleTypeOutput.ktr</default_value>
  20 + <description>&#x6ce8;&#x5165;&#x5143;&#x6570;&#x636e;&#x7684;ktr&#x6587;&#x4ef6;</description>
  21 + </parameter>
  22 + <parameter>
  23 + <name>sdate</name>
  24 + <default_value>2024-09-25</default_value>
  25 + <description>&#x6392;&#x73ed;&#x65e5;&#x671f;</description>
  26 + </parameter>
  27 + <parameter>
  28 + <name>xlid</name>
  29 + <default_value>249233</default_value>
  30 + <description>&#x7ebf;&#x8def;id</description>
  31 + </parameter>
  32 + </parameters>
  33 + <log>
  34 +<trans-log-table><connection/>
  35 +<schema/>
  36 +<table/>
  37 +<size_limit_lines/>
  38 +<interval/>
  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>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>
  41 +<perf-log-table><connection/>
  42 +<schema/>
  43 +<table/>
  44 +<interval/>
  45 +<timeout_days/>
  46 +<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>
  47 +<channel-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>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>
  52 +<step-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>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>
  57 +<metrics-log-table><connection/>
  58 +<schema/>
  59 +<table/>
  60 +<timeout_days/>
  61 +<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>
  62 + </log>
  63 + <maxdate>
  64 + <connection/>
  65 + <table/>
  66 + <field/>
  67 + <offset>0.0</offset>
  68 + <maxdiff>0.0</maxdiff>
  69 + </maxdate>
  70 + <size_rowset>10000</size_rowset>
  71 + <sleep_time_empty>50</sleep_time_empty>
  72 + <sleep_time_full>50</sleep_time_full>
  73 + <unique_connections>N</unique_connections>
  74 + <feedback_shown>Y</feedback_shown>
  75 + <feedback_size>50000</feedback_size>
  76 + <using_thread_priorities>Y</using_thread_priorities>
  77 + <shared_objects_file/>
  78 + <capture_step_performance>N</capture_step_performance>
  79 + <step_performance_capturing_delay>1000</step_performance_capturing_delay>
  80 + <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit>
  81 + <dependencies>
  82 + </dependencies>
  83 + <partitionschemas>
  84 + </partitionschemas>
  85 + <slaveservers>
  86 + </slaveservers>
  87 + <clusterschemas>
  88 + </clusterschemas>
  89 + <created_user>-</created_user>
  90 + <created_date>2024&#x2f;12&#x2f;10 10&#x3a;09&#x3a;19.590</created_date>
  91 + <modified_user>-</modified_user>
  92 + <modified_date>2024&#x2f;12&#x2f;10 10&#x3a;09&#x3a;19.590</modified_date>
  93 + <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</key_for_session_key>
  94 + <is_key_private>N</is_key_private>
  95 + </info>
  96 + <notepads>
  97 + </notepads>
  98 + <connection>
  99 + <name>192.168.168.1_jwgl_dw</name>
  100 + <server>192.168.168.1</server>
  101 + <type>ORACLE</type>
  102 + <access>Native</access>
  103 + <database>orcl</database>
  104 + <port>1521</port>
  105 + <username>jwgl_dw</username>
  106 + <password>Encrypted 2be98afc86aa7f2e4cb13b977d2adabcd</password>
  107 + <servername/>
  108 + <data_tablespace/>
  109 + <index_tablespace/>
  110 + <attributes>
  111 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  112 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  113 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  114 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  115 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  116 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  117 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  118 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  119 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  120 + </attributes>
  121 + </connection>
  122 + <connection>
  123 + <name>bus_control_variable</name>
  124 + <server>&#x24;&#x7b;v_db_ip&#x7d;</server>
  125 + <type>MYSQL</type>
  126 + <access>Native</access>
  127 + <database>&#x24;&#x7b;v_db_dname&#x7d;</database>
  128 + <port>3306</port>
  129 + <username>&#x24;&#x7b;v_db_uname&#x7d;</username>
  130 + <password>&#x24;&#x7b;v_db_pwd&#x7d;</password>
  131 + <servername/>
  132 + <data_tablespace/>
  133 + <index_tablespace/>
  134 + <attributes>
  135 + <attribute><code>EXTRA_OPTION_MYSQL.characterEncoding</code><attribute>utf8</attribute></attribute>
  136 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  137 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  138 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  139 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  140 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  141 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  142 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  143 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  144 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  145 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  146 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  147 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  148 + </attributes>
  149 + </connection>
  150 + <connection>
  151 + <name>bus_control_&#x516c;&#x53f8;_201</name>
  152 + <server>localhost</server>
  153 + <type>MYSQL</type>
  154 + <access>Native</access>
  155 + <database>control</database>
  156 + <port>3306</port>
  157 + <username>root</username>
  158 + <password>Encrypted </password>
  159 + <servername/>
  160 + <data_tablespace/>
  161 + <index_tablespace/>
  162 + <attributes>
  163 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  164 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  165 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  166 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  167 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  168 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  169 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  170 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  171 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  172 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  173 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  174 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  175 + </attributes>
  176 + </connection>
  177 + <connection>
  178 + <name>bus_control_&#x672c;&#x673a;</name>
  179 + <server>localhost</server>
  180 + <type>MYSQL</type>
  181 + <access>Native</access>
  182 + <database>control</database>
  183 + <port>3306</port>
  184 + <username>root</username>
  185 + <password>Encrypted </password>
  186 + <servername/>
  187 + <data_tablespace/>
  188 + <index_tablespace/>
  189 + <attributes>
  190 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  191 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  192 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  193 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  194 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  195 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  196 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  197 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  198 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  199 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  200 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  201 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  202 + </attributes>
  203 + </connection>
  204 + <connection>
  205 + <name>control_jndi</name>
  206 + <server/>
  207 + <type>MYSQL</type>
  208 + <access>JNDI</access>
  209 + <database>control_jndi</database>
  210 + <port>1521</port>
  211 + <username/>
  212 + <password>Encrypted </password>
  213 + <servername/>
  214 + <data_tablespace/>
  215 + <index_tablespace/>
  216 + <attributes>
  217 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  218 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  219 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  220 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  221 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  222 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  223 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  224 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  225 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  226 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  227 + </attributes>
  228 + </connection>
  229 + <connection>
  230 + <name>JGJW_VM</name>
  231 + <server>192.168.198.240</server>
  232 + <type>ORACLE</type>
  233 + <access>Native</access>
  234 + <database>orcl</database>
  235 + <port>1521</port>
  236 + <username>jwgl</username>
  237 + <password>Encrypted 2be98afc86aa7f2e4cb79ce10d485a8d6</password>
  238 + <servername/>
  239 + <data_tablespace/>
  240 + <index_tablespace/>
  241 + <attributes>
  242 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  243 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  244 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  245 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  246 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  247 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</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 + <connection>
  254 + <name>NHJW_VM</name>
  255 + <server>192.168.198.240</server>
  256 + <type>ORACLE</type>
  257 + <access>Native</access>
  258 + <database>orcl</database>
  259 + <port>1521</port>
  260 + <username>nhjw</username>
  261 + <password>Encrypted 2be98afc86aa7f2e4cb79ce10d09aa5cd</password>
  262 + <servername/>
  263 + <data_tablespace/>
  264 + <index_tablespace/>
  265 + <attributes>
  266 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  267 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  268 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  269 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  270 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  271 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  272 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  273 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  274 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  275 + </attributes>
  276 + </connection>
  277 + <connection>
  278 + <name>PDGJ_VM</name>
  279 + <server>192.168.198.240</server>
  280 + <type>ORACLE</type>
  281 + <access>Native</access>
  282 + <database>orcl</database>
  283 + <port>1521</port>
  284 + <username>pdgj</username>
  285 + <password>Encrypted 2be98afc86aa7f2e4cb79ce10ce96a8d0</password>
  286 + <servername/>
  287 + <data_tablespace/>
  288 + <index_tablespace/>
  289 + <attributes>
  290 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  291 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  292 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  293 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  294 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  295 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  296 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  297 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  298 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  299 + </attributes>
  300 + </connection>
  301 + <connection>
  302 + <name>repair_dw_mysql_jndi</name>
  303 + <server/>
  304 + <type>MYSQL</type>
  305 + <access>JNDI</access>
  306 + <database>repair_dw_mysql</database>
  307 + <port>1521</port>
  308 + <username/>
  309 + <password>Encrypted </password>
  310 + <servername/>
  311 + <data_tablespace/>
  312 + <index_tablespace/>
  313 + <attributes>
  314 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  315 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  316 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  317 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  318 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  319 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  320 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  321 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  322 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  323 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  324 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  325 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  326 + </attributes>
  327 + </connection>
  328 + <connection>
  329 + <name>repair_dw&#xff08;&#x672c;&#x673a;&#xff09;</name>
  330 + <server>localhost</server>
  331 + <type>MYSQL</type>
  332 + <access>Native</access>
  333 + <database>ruoyi-vue-3.5</database>
  334 + <port>3306</port>
  335 + <username>root</username>
  336 + <password>Encrypted </password>
  337 + <servername/>
  338 + <data_tablespace/>
  339 + <index_tablespace/>
  340 + <attributes>
  341 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  342 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  343 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  344 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  345 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  346 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  347 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  348 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  349 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  350 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  351 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  352 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  353 + </attributes>
  354 + </connection>
  355 + <connection>
  356 + <name>repair_real_h2</name>
  357 + <server/>
  358 + <type>H2</type>
  359 + <access>JNDI</access>
  360 + <database>repair_real_h2</database>
  361 + <port>1521</port>
  362 + <username/>
  363 + <password>Encrypted </password>
  364 + <servername/>
  365 + <data_tablespace/>
  366 + <index_tablespace/>
  367 + <attributes>
  368 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  369 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  370 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  371 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  372 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  373 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  374 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  375 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  376 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  377 + </attributes>
  378 + </connection>
  379 + <connection>
  380 + <name>SNJW_VM</name>
  381 + <server>192.168.198.240</server>
  382 + <type>ORACLE</type>
  383 + <access>Native</access>
  384 + <database>orcl</database>
  385 + <port>1521</port>
  386 + <username>snjw</username>
  387 + <password>Encrypted 2be98afc86aa7f2e4cb79ce10cd9ca5cd</password>
  388 + <servername/>
  389 + <data_tablespace/>
  390 + <index_tablespace/>
  391 + <attributes>
  392 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  393 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  394 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  395 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  396 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  397 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  398 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  399 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  400 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  401 + </attributes>
  402 + </connection>
  403 + <connection>
  404 + <name>test_control_local</name>
  405 + <server>localhost</server>
  406 + <type>MYSQL</type>
  407 + <access>Native</access>
  408 + <database>test_control</database>
  409 + <port>3306</port>
  410 + <username>root</username>
  411 + <password>Encrypted </password>
  412 + <servername/>
  413 + <data_tablespace/>
  414 + <index_tablespace/>
  415 + <attributes>
  416 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  417 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  418 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  419 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  420 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  421 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  422 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  423 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  424 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  425 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  426 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  427 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  428 + </attributes>
  429 + </connection>
  430 + <connection>
  431 + <name>test_control&#xff08;&#x672c;&#x673a;&#xff09;</name>
  432 + <server>127.0.0.1</server>
  433 + <type>MYSQL</type>
  434 + <access>Native</access>
  435 + <database>test_control</database>
  436 + <port>3306</port>
  437 + <username>root</username>
  438 + <password>Encrypted </password>
  439 + <servername/>
  440 + <data_tablespace/>
  441 + <index_tablespace/>
  442 + <attributes>
  443 + <attribute><code>EXTRA_OPTION_MYSQL.characterEncoding</code><attribute>utf8</attribute></attribute>
  444 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  445 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  446 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  447 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  448 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  449 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  450 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  451 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  452 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  453 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  454 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  455 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  456 + </attributes>
  457 + </connection>
  458 + <connection>
  459 + <name>wzk_mysql_jndi</name>
  460 + <server/>
  461 + <type>MYSQL</type>
  462 + <access>JNDI</access>
  463 + <database>wzk_mysql</database>
  464 + <port>1521</port>
  465 + <username/>
  466 + <password>Encrypted </password>
  467 + <servername/>
  468 + <data_tablespace/>
  469 + <index_tablespace/>
  470 + <attributes>
  471 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  472 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  473 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  474 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  475 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  476 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  477 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  478 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  479 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  480 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  481 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  482 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  483 + </attributes>
  484 + </connection>
  485 + <connection>
  486 + <name>wzk&#xff08;&#x672c;&#x673a;&#xff09;</name>
  487 + <server>localhost</server>
  488 + <type>MYSQL</type>
  489 + <access>Native</access>
  490 + <database>pdgj_wzk_sys</database>
  491 + <port>3306</port>
  492 + <username>root</username>
  493 + <password>Encrypted </password>
  494 + <servername/>
  495 + <data_tablespace/>
  496 + <index_tablespace/>
  497 + <attributes>
  498 + <attribute><code>EXTRA_OPTION_MYSQL.characterEncoding</code><attribute>utf8</attribute></attribute>
  499 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  500 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  501 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  502 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  503 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  504 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  505 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  506 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  507 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  508 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  509 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  510 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  511 + </attributes>
  512 + </connection>
  513 + <connection>
  514 + <name>xlab_mysql_youle</name>
  515 + <server>101.231.124.8</server>
  516 + <type>MYSQL</type>
  517 + <access>Native</access>
  518 + <database>xlab_youle</database>
  519 + <port>45687</port>
  520 + <username>xlab-youle</username>
  521 + <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password>
  522 + <servername/>
  523 + <data_tablespace/>
  524 + <index_tablespace/>
  525 + <attributes>
  526 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  527 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  528 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  529 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  530 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  531 + <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute>
  532 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  533 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  534 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  535 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  536 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  537 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  538 + </attributes>
  539 + </connection>
  540 + <connection>
  541 + <name>xlab_mysql_youle&#xff08;&#x672c;&#x673a;&#xff09;</name>
  542 + <server>localhost</server>
  543 + <type>MYSQL</type>
  544 + <access>Native</access>
  545 + <database>xlab_youle</database>
  546 + <port>3306</port>
  547 + <username>root</username>
  548 + <password>Encrypted </password>
  549 + <servername/>
  550 + <data_tablespace/>
  551 + <index_tablespace/>
  552 + <attributes>
  553 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  554 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  555 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  556 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  557 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  558 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  559 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  560 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  561 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  562 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  563 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  564 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  565 + </attributes>
  566 + </connection>
  567 + <connection>
  568 + <name>xlab_youle</name>
  569 + <server/>
  570 + <type>MYSQL</type>
  571 + <access>JNDI</access>
  572 + <database>xlab_youle</database>
  573 + <port>1521</port>
  574 + <username/>
  575 + <password>Encrypted </password>
  576 + <servername/>
  577 + <data_tablespace/>
  578 + <index_tablespace/>
  579 + <attributes>
  580 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  581 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  582 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  583 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  584 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  585 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  586 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  587 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  588 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  589 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  590 + </attributes>
  591 + </connection>
  592 + <connection>
  593 + <name>YGJW_VM</name>
  594 + <server>192.168.198.240</server>
  595 + <type>ORACLE</type>
  596 + <access>Native</access>
  597 + <database>orcl</database>
  598 + <port>1521</port>
  599 + <username>ygjw</username>
  600 + <password>Encrypted 2be98afc86aa7f2e4cb79ce10c795a5cd</password>
  601 + <servername/>
  602 + <data_tablespace/>
  603 + <index_tablespace/>
  604 + <attributes>
  605 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  606 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  607 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  608 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  609 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  610 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  611 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  612 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  613 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  614 + </attributes>
  615 + </connection>
  616 + <connection>
  617 + <name>&#x516c;&#x53f8;jgjw</name>
  618 + <server>192.168.168.1</server>
  619 + <type>ORACLE</type>
  620 + <access>Native</access>
  621 + <database>orcl</database>
  622 + <port>1521</port>
  623 + <username>jwgl</username>
  624 + <password>Encrypted 2be98afc86aa7f2e4cb79ce10d485a8d6</password>
  625 + <servername/>
  626 + <data_tablespace/>
  627 + <index_tablespace/>
  628 + <attributes>
  629 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  630 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  631 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  632 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  633 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  634 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  635 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  636 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  637 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  638 + </attributes>
  639 + </connection>
  640 + <connection>
  641 + <name>&#x516c;&#x53f8;snjw</name>
  642 + <server>192.168.168.1</server>
  643 + <type>ORACLE</type>
  644 + <access>Native</access>
  645 + <database>orcl</database>
  646 + <port>1521</port>
  647 + <username>snjw</username>
  648 + <password>Encrypted 2be98afc86aa7f2e4cb79ce10cd9ca5cd</password>
  649 + <servername/>
  650 + <data_tablespace/>
  651 + <index_tablespace/>
  652 + <attributes>
  653 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  654 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  655 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  656 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  657 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  658 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  659 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  660 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  661 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  662 + </attributes>
  663 + </connection>
  664 + <connection>
  665 + <name>&#x516c;&#x53f8;ygjw</name>
  666 + <server>192.168.168.178</server>
  667 + <type>ORACLE</type>
  668 + <access>Native</access>
  669 + <database>orcl</database>
  670 + <port>1521</port>
  671 + <username>ygjw</username>
  672 + <password>Encrypted 2be98afc86aa7f2e4cb79ce10c795a5cd</password>
  673 + <servername/>
  674 + <data_tablespace/>
  675 + <index_tablespace/>
  676 + <attributes>
  677 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  678 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  679 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  680 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  681 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  682 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  683 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  684 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  685 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  686 + </attributes>
  687 + </connection>
  688 + <connection>
  689 + <name>&#x516c;&#x53f8;&#x673a;&#x52a1;_pdgj</name>
  690 + <server>192.168.168.178</server>
  691 + <type>ORACLE</type>
  692 + <access>Native</access>
  693 + <database>orcl</database>
  694 + <port>1521</port>
  695 + <username>pdgj</username>
  696 + <password>Encrypted 2be98afc86aa7f2e4cb79ce10ce96a8d0</password>
  697 + <servername/>
  698 + <data_tablespace/>
  699 + <index_tablespace/>
  700 + <attributes>
  701 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  702 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  703 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  704 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  705 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  706 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  707 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  708 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  709 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  710 + </attributes>
  711 + </connection>
  712 + <connection>
  713 + <name>&#x5916;&#x7f51;vpn&#x4e34;&#x6e2f;&#x673a;&#x52a1;oracle</name>
  714 + <server>10.10.150.114</server>
  715 + <type>ORACLE</type>
  716 + <access>Native</access>
  717 + <database>helowin</database>
  718 + <port>1521</port>
  719 + <username>lgjw</username>
  720 + <password>Encrypted 2be98afc86aa7f2e4cb79ce10d295a5cd</password>
  721 + <servername/>
  722 + <data_tablespace/>
  723 + <index_tablespace/>
  724 + <attributes>
  725 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  726 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  727 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  728 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  729 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  730 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  731 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  732 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  733 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  734 + </attributes>
  735 + </connection>
  736 + <connection>
  737 + <name>&#x5916;&#x7f51;&#x5357;&#x6c47;&#x673a;&#x52a1;oracle</name>
  738 + <server>58.247.254.118</server>
  739 + <type>ORACLE</type>
  740 + <access>Native</access>
  741 + <database>orcl</database>
  742 + <port>15211</port>
  743 + <username>nhjw</username>
  744 + <password>Encrypted 2be98afc86aa7f2e4cb79ce10d09aa5cd</password>
  745 + <servername/>
  746 + <data_tablespace/>
  747 + <index_tablespace/>
  748 + <attributes>
  749 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  750 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  751 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  752 + <attribute><code>PORT_NUMBER</code><attribute>15211</attribute></attribute>
  753 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  754 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  755 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  756 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  757 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  758 + </attributes>
  759 + </connection>
  760 + <connection>
  761 + <name>&#x5916;&#x7f51;&#x6768;&#x9ad8;&#x673a;&#x52a1;oracle</name>
  762 + <server>58.247.254.118</server>
  763 + <type>ORACLE</type>
  764 + <access>Native</access>
  765 + <database>orcl</database>
  766 + <port>15211</port>
  767 + <username>ygjw</username>
  768 + <password>Encrypted 2be98afc86aa7f2e4cb79ce10c795a5cd</password>
  769 + <servername/>
  770 + <data_tablespace/>
  771 + <index_tablespace/>
  772 + <attributes>
  773 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  774 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  775 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  776 + <attribute><code>PORT_NUMBER</code><attribute>15211</attribute></attribute>
  777 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  778 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  779 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  780 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  781 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  782 + </attributes>
  783 + </connection>
  784 + <connection>
  785 + <name>&#x5916;&#x7f51;&#x91d1;&#x9ad8;&#x673a;&#x52a1;oracle</name>
  786 + <server>58.247.254.118</server>
  787 + <type>ORACLE</type>
  788 + <access>Native</access>
  789 + <database>orcl</database>
  790 + <port>15211</port>
  791 + <username>jwgl</username>
  792 + <password>Encrypted 2be98afc86aa7f2e4cb79ce10d485a8d6</password>
  793 + <servername/>
  794 + <data_tablespace/>
  795 + <index_tablespace/>
  796 + <attributes>
  797 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  798 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  799 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  800 + <attribute><code>PORT_NUMBER</code><attribute>15211</attribute></attribute>
  801 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  802 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  803 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  804 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  805 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  806 + </attributes>
  807 + </connection>
  808 + <order>
  809 + <hop> <from>&#x6392;&#x73ed;&#x660e;&#x7ec6;&#x8f93;&#x5165;</from><to>&#x8ba1;&#x7b97;&#x7ad9;&#x70b9;&#x540d;</to><enabled>Y</enabled> </hop>
  810 + <hop> <from>&#x8ba1;&#x7b97;&#x7ad9;&#x70b9;&#x540d;</from><to>&#x8ba1;&#x7b97;excel&#x73ed;&#x6b21;&#x7ad9;&#x540d;&#x8f93;&#x51fa;&#x5143;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
  811 + <hop> <from>&#x8ba1;&#x7b97;excel&#x73ed;&#x6b21;&#x7ad9;&#x540d;&#x8f93;&#x51fa;&#x5143;&#x6570;&#x636e;</from><to>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</to><enabled>Y</enabled> </hop>
  812 + <hop> <from>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</from><to>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>
  813 + <hop> <from>&#x751f;&#x6210;excel&#x8def;&#x724c;,&#x9a7e;&#x9a76;&#x5458;,&#x8f66;&#x724c;&#x53f7;&#x8f93;&#x51fa;&#x5143;&#x6570;&#x636e;</from><to>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>
  814 + <hop> <from>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</from><to>ETL&#x5143;&#x6570;&#x636e;&#x6ce8;&#x5165;</to><enabled>Y</enabled> </hop>
  815 + <hop> <from>&#x8ba1;&#x7b97;&#x7ad9;&#x70b9;&#x540d;</from><to>&#x8ba1;&#x7b97;&#x884c;&#x8f6c;&#x5217;&#x5143;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
  816 + <hop> <from>&#x8ba1;&#x7b97;&#x884c;&#x8f6c;&#x5217;&#x5143;&#x6570;&#x636e;</from><to>ETL&#x5143;&#x6570;&#x636e;&#x6ce8;&#x5165;</to><enabled>Y</enabled> </hop>
  817 + </order>
  818 + <step>
  819 + <name>ETL&#x5143;&#x6570;&#x636e;&#x6ce8;&#x5165;</name>
  820 + <type>MetaInject</type>
  821 + <description/>
  822 + <distribute>Y</distribute>
  823 + <custom_distribution/>
  824 + <copies>1</copies>
  825 + <partitioning>
  826 + <method>none</method>
  827 + <schema_name/>
  828 + </partitioning>
  829 + <specification_method>filename</specification_method>
  830 + <trans_object_id/>
  831 + <trans_name/>
  832 + <filename>&#x24;&#x7b;injectktrfile&#x7d;</filename>
  833 + <directory_path/>
  834 + <source_step/>
  835 + <source_output_fields> </source_output_fields> <target_file/>
  836 + <no_execution>N</no_execution>
  837 + <stream_source_step/>
  838 + <stream_target_step/>
  839 + <mappings> <mapping> <target_step_name>Excel&#x8f93;&#x51fa;</target_step_name>
  840 + <target_attribute_key>TYPE</target_attribute_key>
  841 + <target_detail>Y</target_detail>
  842 + <source_step>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</source_step>
  843 + <source_field>fieldtype</source_field>
  844 + </mapping> <mapping> <target_step_name>Excel&#x8f93;&#x51fa;</target_step_name>
  845 + <target_attribute_key>NAME</target_attribute_key>
  846 + <target_detail>Y</target_detail>
  847 + <source_step>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</source_step>
  848 + <source_field>fieldname</source_field>
  849 + </mapping> <mapping> <target_step_name>&#x5217;&#x8f6c;&#x884c;</target_step_name>
  850 + <target_attribute_key>TARGET_NAME</target_attribute_key>
  851 + <target_detail>Y</target_detail>
  852 + <source_step>&#x8ba1;&#x7b97;&#x884c;&#x8f6c;&#x5217;&#x5143;&#x6570;&#x636e;</source_step>
  853 + <source_field>targetfieldname</source_field>
  854 + </mapping> <mapping> <target_step_name>&#x5217;&#x8f6c;&#x884c;</target_step_name>
  855 + <target_attribute_key>NAME</target_attribute_key>
  856 + <target_detail>Y</target_detail>
  857 + <source_step>&#x8ba1;&#x7b97;&#x884c;&#x8f6c;&#x5217;&#x5143;&#x6570;&#x636e;</source_step>
  858 + <source_field>valuefieldname</source_field>
  859 + </mapping> <mapping> <target_step_name>&#x5217;&#x8f6c;&#x884c;</target_step_name>
  860 + <target_attribute_key>KEY_VALUE</target_attribute_key>
  861 + <target_detail>Y</target_detail>
  862 + <source_step>&#x8ba1;&#x7b97;&#x884c;&#x8f6c;&#x5217;&#x5143;&#x6570;&#x636e;</source_step>
  863 + <source_field>keyvalue</source_field>
  864 + </mapping> <mapping> <target_step_name>&#x5217;&#x8f6c;&#x884c;</target_step_name>
  865 + <target_attribute_key>TARGET_TYPE</target_attribute_key>
  866 + <target_detail>Y</target_detail>
  867 + <source_step>&#x8ba1;&#x7b97;&#x884c;&#x8f6c;&#x5217;&#x5143;&#x6570;&#x636e;</source_step>
  868 + <source_field>targettype</source_field>
  869 + </mapping> </mappings> <cluster_schema/>
  870 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  871 + <xloc>530</xloc>
  872 + <yloc>97</yloc>
  873 + <draw>Y</draw>
  874 + </GUI>
  875 + </step>
  876 +
  877 + <step>
  878 + <name>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</name>
  879 + <type>SelectValues</type>
  880 + <description/>
  881 + <distribute>Y</distribute>
  882 + <custom_distribution/>
  883 + <copies>1</copies>
  884 + <partitioning>
  885 + <method>none</method>
  886 + <schema_name/>
  887 + </partitioning>
  888 + <fields> <field> <name>fieldname</name>
  889 + <rename/>
  890 + <length>-2</length>
  891 + <precision>-2</precision>
  892 + </field> <field> <name>fieldtype</name>
  893 + <rename/>
  894 + <length>-2</length>
  895 + <precision>-2</precision>
  896 + </field> <field> <name>fcno</name>
  897 + <rename/>
  898 + <length>-2</length>
  899 + <precision>-2</precision>
  900 + </field> <select_unspecified>N</select_unspecified>
  901 + </fields> <cluster_schema/>
  902 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  903 + <xloc>391</xloc>
  904 + <yloc>230</yloc>
  905 + <draw>Y</draw>
  906 + </GUI>
  907 + </step>
  908 +
  909 + <step>
  910 + <name>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</name>
  911 + <type>SortRows</type>
  912 + <description/>
  913 + <distribute>Y</distribute>
  914 + <custom_distribution/>
  915 + <copies>1</copies>
  916 + <partitioning>
  917 + <method>none</method>
  918 + <schema_name/>
  919 + </partitioning>
  920 + <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
  921 + <prefix>out</prefix>
  922 + <sort_size>1000000</sort_size>
  923 + <free_memory/>
  924 + <compress>N</compress>
  925 + <compress_variable/>
  926 + <unique_rows>N</unique_rows>
  927 + <fields>
  928 + <field>
  929 + <name>fcno</name>
  930 + <ascending>Y</ascending>
  931 + <case_sensitive>N</case_sensitive>
  932 + <presorted>N</presorted>
  933 + </field>
  934 + </fields>
  935 + <cluster_schema/>
  936 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  937 + <xloc>532</xloc>
  938 + <yloc>229</yloc>
  939 + <draw>Y</draw>
  940 + </GUI>
  941 + </step>
  942 +
  943 + <step>
  944 + <name>&#x6392;&#x73ed;&#x660e;&#x7ec6;&#x8f93;&#x5165;</name>
  945 + <type>TableInput</type>
  946 + <description/>
  947 + <distribute>Y</distribute>
  948 + <custom_distribution/>
  949 + <copies>1</copies>
  950 + <partitioning>
  951 + <method>none</method>
  952 + <schema_name/>
  953 + </partitioning>
  954 + <connection>control_jndi</connection>
  955 + <sql>select &#xa;fcno&#xa;, qdz_name&#xa;, bc_type&#xa;from bsth_c_s_sp_info&#xa;where xl &#x3d; &#x24;&#x7b;xlid&#x7d;&#xa;and date_format&#x28;schedule_date, &#x27;&#x25;Y-&#x25;m-&#x25;d&#x27;&#x29; &#x3d; &#x27;&#x24;&#x7b;sdate&#x7d;&#x27;&#xa;group by fcno, qdz_name, bc_type&#xa;order by fcno asc</sql>
  956 + <limit>0</limit>
  957 + <lookup/>
  958 + <execute_each_row>N</execute_each_row>
  959 + <variables_active>Y</variables_active>
  960 + <lazy_conversion_active>N</lazy_conversion_active>
  961 + <cluster_schema/>
  962 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  963 + <xloc>86</xloc>
  964 + <yloc>97</yloc>
  965 + <draw>Y</draw>
  966 + </GUI>
  967 + </step>
  968 +
  969 + <step>
  970 + <name>&#x751f;&#x6210;excel&#x8def;&#x724c;,&#x9a7e;&#x9a76;&#x5458;,&#x8f66;&#x724c;&#x53f7;&#x8f93;&#x51fa;&#x5143;&#x6570;&#x636e;</name>
  971 + <type>DataGrid</type>
  972 + <description/>
  973 + <distribute>Y</distribute>
  974 + <custom_distribution/>
  975 + <copies>1</copies>
  976 + <partitioning>
  977 + <method>none</method>
  978 + <schema_name/>
  979 + </partitioning>
  980 + <fields>
  981 + <field>
  982 + <name>fieldname</name>
  983 + <type>String</type>
  984 + <format/>
  985 + <currency/>
  986 + <decimal/>
  987 + <group/>
  988 + <length>-1</length>
  989 + <precision>-1</precision>
  990 + <set_empty_string>N</set_empty_string>
  991 + </field>
  992 + <field>
  993 + <name>fieldtype</name>
  994 + <type>String</type>
  995 + <format/>
  996 + <currency/>
  997 + <decimal/>
  998 + <group/>
  999 + <length>-1</length>
  1000 + <precision>-1</precision>
  1001 + <set_empty_string>N</set_empty_string>
  1002 + </field>
  1003 + <field>
  1004 + <name>fcno</name>
  1005 + <type>Integer</type>
  1006 + <format/>
  1007 + <currency/>
  1008 + <decimal/>
  1009 + <group/>
  1010 + <length>-1</length>
  1011 + <precision>-1</precision>
  1012 + <set_empty_string>N</set_empty_string>
  1013 + </field>
  1014 + </fields>
  1015 + <data>
  1016 + <line> <item>&#x8def;&#x724c;</item><item>String</item><item>0</item> </line>
  1017 + <line> <item>&#x9a7e;&#x9a76;&#x5458;</item><item>String</item><item>1000</item> </line>
  1018 + <line> <item>&#x8f66;&#x724c;&#x53f7;</item><item>String</item><item>1001</item> </line>
  1019 + </data>
  1020 + <cluster_schema/>
  1021 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1022 + <xloc>745</xloc>
  1023 + <yloc>229</yloc>
  1024 + <draw>Y</draw>
  1025 + </GUI>
  1026 + </step>
  1027 +
  1028 + <step>
  1029 + <name>&#x8ba1;&#x7b97;excel&#x73ed;&#x6b21;&#x7ad9;&#x540d;&#x8f93;&#x51fa;&#x5143;&#x6570;&#x636e;</name>
  1030 + <type>ScriptValueMod</type>
  1031 + <description/>
  1032 + <distribute>Y</distribute>
  1033 + <custom_distribution/>
  1034 + <copies>1</copies>
  1035 + <partitioning>
  1036 + <method>none</method>
  1037 + <schema_name/>
  1038 + </partitioning>
  1039 + <compatible>N</compatible>
  1040 + <optimizationLevel>9</optimizationLevel>
  1041 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  1042 + <jsScript_name>Script 1</jsScript_name>
  1043 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var fieldname&#x3b; &#x2f;&#x2f; &#x5b57;&#x6bb5;&#x540d;&#xa;var fieldtype&#x3b; &#x2f;&#x2f; &#x5b57;&#x6bb5;&#x7c7b;&#x578b;&#xa;&#xa;fieldname &#x3d; zd_name&#x3b;&#xa;fieldtype &#x3d; &#x27;String&#x27;&#x3b;</jsScript_script>
  1044 + </jsScript> </jsScripts> <fields> <field> <name>fieldname</name>
  1045 + <rename>fieldname</rename>
  1046 + <type>String</type>
  1047 + <length>-1</length>
  1048 + <precision>-1</precision>
  1049 + <replace>N</replace>
  1050 + </field> <field> <name>fieldtype</name>
  1051 + <rename>fieldtype</rename>
  1052 + <type>String</type>
  1053 + <length>-1</length>
  1054 + <precision>-1</precision>
  1055 + <replace>N</replace>
  1056 + </field> </fields> <cluster_schema/>
  1057 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1058 + <xloc>224</xloc>
  1059 + <yloc>229</yloc>
  1060 + <draw>Y</draw>
  1061 + </GUI>
  1062 + </step>
  1063 +
  1064 + <step>
  1065 + <name>&#x8ba1;&#x7b97;&#x7ad9;&#x70b9;&#x540d;</name>
  1066 + <type>ScriptValueMod</type>
  1067 + <description/>
  1068 + <distribute>N</distribute>
  1069 + <custom_distribution/>
  1070 + <copies>1</copies>
  1071 + <partitioning>
  1072 + <method>none</method>
  1073 + <schema_name/>
  1074 + </partitioning>
  1075 + <compatible>N</compatible>
  1076 + <optimizationLevel>9</optimizationLevel>
  1077 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  1078 + <jsScript_name>Script 1</jsScript_name>
  1079 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var zd_name&#x3b;&#xa;&#xa;if &#x28;bc_type &#x3d;&#x3d; &#x27;in&#x27;&#x29; &#x7b;&#xa; zd_name &#x3d; &#x27;&#x8fdb;&#x573a;&#x27; &#x2b; &#x27;-&#x3e;&#x27; &#x2b; fcno&#x3b;&#xa;&#x7d; else if &#x28;bc_type &#x3d;&#x3d; &#x27;out&#x27;&#x29; &#x7b;&#xa; zd_name &#x3d; &#x27;&#x51fa;&#x573a;&#x27; &#x2b; &#x27;-&#x3e;&#x27; &#x2b; fcno&#x3b;&#xa;&#x7d; else if &#x28;bc_type &#x3d;&#x3d; &#x27;normal&#x27;&#x29; &#x7b;&#xa; zd_name &#x3d; qdz_name &#x2b; &#x27;-&#x3e;&#x27; &#x2b; fcno&#x3b;&#xa;&#x7d; else &#x7b;&#xa; zd_name &#x3d; qdz_name &#x2b; &#x27;-&#x3e;&#x27; &#x2b; fcno &#x2b; &#x27;&#x28;&#x2a;&#x29;&#x27;&#x3b;&#xa;&#x7d;</jsScript_script>
  1080 + </jsScript> </jsScripts> <fields> <field> <name>zd_name</name>
  1081 + <rename>zd_name</rename>
  1082 + <type>String</type>
  1083 + <length>-1</length>
  1084 + <precision>-1</precision>
  1085 + <replace>N</replace>
  1086 + </field> </fields> <cluster_schema/>
  1087 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1088 + <xloc>222</xloc>
  1089 + <yloc>96</yloc>
  1090 + <draw>Y</draw>
  1091 + </GUI>
  1092 + </step>
  1093 +
  1094 + <step>
  1095 + <name>&#x8ba1;&#x7b97;&#x884c;&#x8f6c;&#x5217;&#x5143;&#x6570;&#x636e;</name>
  1096 + <type>ScriptValueMod</type>
  1097 + <description/>
  1098 + <distribute>Y</distribute>
  1099 + <custom_distribution/>
  1100 + <copies>1</copies>
  1101 + <partitioning>
  1102 + <method>none</method>
  1103 + <schema_name/>
  1104 + </partitioning>
  1105 + <compatible>N</compatible>
  1106 + <optimizationLevel>9</optimizationLevel>
  1107 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  1108 + <jsScript_name>Script 1</jsScript_name>
  1109 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var targetfieldname&#x3b; &#x2f;&#x2f; &#x76ee;&#x6807;&#x5b57;&#x6bb5;&#x540d;&#xa;var targettype&#x3b; &#x2f;&#x2f; &#x76ee;&#x6807;&#x7c7b;&#x578b;&#xa;var valuefieldname&#x3b; &#x2f;&#x2f; &#x503c;&#x5b57;&#x6bb5;&#x540d;&#xa;var keyvalue&#x3b; &#x2f;&#x2f; &#x5173;&#x952e;&#x5b57;&#x503c;&#xa;&#xa;targetfieldname &#x3d; zd_name&#x3b;&#xa;targettype &#x3d; &#x27;String&#x27;&#x3b;&#xa;valuefieldname &#x3d; &#x27;fcsj&#x27;&#x3b;&#xa;keyvalue &#x3d; fcno&#x3b;</jsScript_script>
  1110 + </jsScript> </jsScripts> <fields> <field> <name>targetfieldname</name>
  1111 + <rename>targetfieldname</rename>
  1112 + <type>String</type>
  1113 + <length>-1</length>
  1114 + <precision>-1</precision>
  1115 + <replace>N</replace>
  1116 + </field> <field> <name>targettype</name>
  1117 + <rename>targettype</rename>
  1118 + <type>String</type>
  1119 + <length>-1</length>
  1120 + <precision>-1</precision>
  1121 + <replace>N</replace>
  1122 + </field> <field> <name>valuefieldname</name>
  1123 + <rename>valuefieldname</rename>
  1124 + <type>String</type>
  1125 + <length>-1</length>
  1126 + <precision>-1</precision>
  1127 + <replace>N</replace>
  1128 + </field> <field> <name>keyvalue</name>
  1129 + <rename>keyvalue</rename>
  1130 + <type>String</type>
  1131 + <length>-1</length>
  1132 + <precision>-1</precision>
  1133 + <replace>N</replace>
  1134 + </field> </fields> <cluster_schema/>
  1135 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1136 + <xloc>385</xloc>
  1137 + <yloc>96</yloc>
  1138 + <draw>Y</draw>
  1139 + </GUI>
  1140 + </step>
  1141 +
  1142 + <step_error_handling>
  1143 + </step_error_handling>
  1144 + <slave-step-copy-partition-distribution>
  1145 +</slave-step-copy-partition-distribution>
  1146 + <slave_transformation>N</slave_transformation>
  1147 +
  1148 +</transformation>
... ...
src/main/resources/static/pages/scheduleApp/module/common/prj-common-globalservice.js
... ... @@ -707,11 +707,25 @@ angular.module(&#39;ScheduleApp&#39;).factory(&#39;SchedulePlanInfoManageService_g&#39;, [&#39;$reso
707 707 }
708 708 }
709 709 }
  710 + ),
  711 + dataTools: $resource(
  712 + '/spic/exportPTInfo/:xlid/:sdate',
  713 + {},
  714 + {
  715 + exportPTInfo: {
  716 + method: 'GET',
  717 + responseType: "arraybuffer",
  718 + transformResponse: function(data, headers){
  719 + return {data : data};
  720 + }
  721 + }
  722 + }
710 723 )
711 724  
712 725  
713 726 };
714   -}]);
  727 +}]);
  728 +
715 729 // 排班管理service
716 730 angular.module('ScheduleApp').factory('ScheduleRuleManageService_g', ['$resource', function($resource) {
717 731 return {
... ...
src/main/resources/static/pages/scheduleApp/module/core/schedulePlanManage/report/ext/index.html
... ... @@ -26,6 +26,23 @@
26 26 <i class="fa fa-database font-dark"></i>
27 27 <span class="caption-subject bold uppercase">排班计划</span>
28 28 </div>
  29 + <div class="actions">
  30 + <div class="btn-group">
  31 + <a href="javascript:" class="btn red btn-outline" data-toggle="dropdown">
  32 + <i class="fa fa-share"></i>
  33 + <span>数据工具</span>
  34 + <i class="fa fa-angle-down"></i>
  35 + </a>
  36 + <ul class="dropdown-menu pull-right">
  37 + <li>
  38 + <a href="javascript:" class="tool-action" ng-click="ctrl.exportPTInfo()">
  39 + <i class="fa fa-file-excel-o"></i>
  40 + 导出排班时刻信息excel
  41 + </a>
  42 + </li>
  43 + </ul>
  44 + </div>
  45 + </div>
29 46  
30 47 </div>
31 48  
... ... @@ -34,4 +51,4 @@
34 51 </div>
35 52 </div>
36 53 </div>
37   -</div>
38 54 \ No newline at end of file
  55 +</div>
... ...
src/main/resources/static/pages/scheduleApp/module/core/schedulePlanManage/report/ext/module.js
... ... @@ -55,6 +55,21 @@ angular.module(&#39;ScheduleApp&#39;).factory(
55 55 },
56 56  
57 57 /**
  58 + * 导出排班时刻表信息。
  59 + */
  60 + exportPTInfo: function() {
  61 + if (!currentSearchCondition['xlid']) {
  62 + alert("请选择线路!");
  63 + return null;
  64 + }
  65 + if (!currentSearchCondition['sdate']) {
  66 + alert("请选择排班日期!");
  67 + return null;
  68 + }
  69 + return service.dataTools.exportPTInfo(currentSearchCondition).$promise;
  70 + },
  71 +
  72 + /**
58 73 * 批量保存排班明细。
59 74 * @param rs
60 75 */
... ... @@ -124,13 +139,30 @@ angular.module(&#39;ScheduleApp&#39;).controller(
124 139 'SchedulePlanReportExtManageCtrl',
125 140 [
126 141 '$state',
127   - function($state) {
  142 + 'FileDownload_g',
  143 + 'SchedulePlanReportExtManageService',
  144 + function($state, fileDownload, service) {
128 145 var self = this;
129 146  
130 147 // 切换到form状态
131 148 self.goForm = function() {
132 149 alert("切换");
133   - }
  150 + };
  151 +
  152 + // 导出排班时刻信息excel
  153 + self.exportPTInfo = function() {
  154 + var p = service.exportPTInfo();
  155 + if (p) {
  156 + p.then(
  157 + function(result) {
  158 + fileDownload.downloadFile(result.data, "application/octet-stream", "排班时刻信息.xls");
  159 + },
  160 + function(result) {
  161 + console.log("导出失败:" + result);
  162 + }
  163 + );
  164 + }
  165 + };
134 166 }
135 167 ]
136 168  
... ...
src/main/resources/static/pages/scheduleApp/module/core/schedulePlanManage/service.js
... ... @@ -161,8 +161,21 @@ angular.module(&#39;ScheduleApp&#39;).factory(&#39;SchedulePlanInfoManageService_g&#39;, [&#39;$reso
161 161 }
162 162 }
163 163 }
  164 + ),
  165 + dataTools: $resource(
  166 + '/spic/exportPTInfo/:xlid/:sdate',
  167 + {},
  168 + {
  169 + exportPTInfo: {
  170 + method: 'GET',
  171 + responseType: "arraybuffer",
  172 + transformResponse: function(data, headers){
  173 + return {data : data};
  174 + }
  175 + }
  176 + }
164 177 )
165 178  
166 179  
167 180 };
168   -}]);
169 181 \ No newline at end of file
  182 +}]);
... ...