Commit 4a83e333e88f8767830d11bd2822ac73825fc339
1 parent
e60deedd
update
Showing
12 changed files
with
1401 additions
and
323 deletions
src/main/java/com/bsth/controller/BaseController.java
| @@ -14,8 +14,8 @@ import org.springframework.web.bind.annotation.RequestMethod; | @@ -14,8 +14,8 @@ import org.springframework.web.bind.annotation.RequestMethod; | ||
| 14 | import org.springframework.web.bind.annotation.RequestParam; | 14 | import org.springframework.web.bind.annotation.RequestParam; |
| 15 | import org.springframework.web.multipart.MultipartFile; | 15 | import org.springframework.web.multipart.MultipartFile; |
| 16 | 16 | ||
| 17 | -import java.io.File; | ||
| 18 | -import java.io.Serializable; | 17 | +import javax.servlet.http.HttpServletResponse; |
| 18 | +import java.io.*; | ||
| 19 | import java.util.HashMap; | 19 | import java.util.HashMap; |
| 20 | import java.util.Map; | 20 | import java.util.Map; |
| 21 | 21 | ||
| @@ -51,7 +51,7 @@ public class BaseController<T, ID extends Serializable> { | @@ -51,7 +51,7 @@ public class BaseController<T, ID extends Serializable> { | ||
| 51 | @RequestParam(defaultValue = "10") int size, | 51 | @RequestParam(defaultValue = "10") int size, |
| 52 | @RequestParam(defaultValue = "id") String order, | 52 | @RequestParam(defaultValue = "id") String order, |
| 53 | @RequestParam(defaultValue = "DESC") String direction){ | 53 | @RequestParam(defaultValue = "DESC") String direction){ |
| 54 | - | 54 | + |
| 55 | Direction d; | 55 | Direction d; |
| 56 | 56 | ||
| 57 | if(null != direction && direction.equals("ASC")) | 57 | if(null != direction && direction.equals("ASC")) |
| @@ -141,6 +141,66 @@ public class BaseController<T, ID extends Serializable> { | @@ -141,6 +141,66 @@ public class BaseController<T, ID extends Serializable> { | ||
| 141 | } | 141 | } |
| 142 | 142 | ||
| 143 | /** | 143 | /** |
| 144 | + * 使用ktr导出数据。 | ||
| 145 | + * @param response | ||
| 146 | + * @throws Exception | ||
| 147 | + */ | ||
| 148 | + @RequestMapping(value = "/dataExport", method = RequestMethod.GET) | ||
| 149 | + public void dataExport(HttpServletResponse response) throws Exception { | ||
| 150 | + // 1、使用ktr转换获取输出文件 | ||
| 151 | + File ktrfile = new File(this.getClass().getResource(getDataExportKtrClasspath()).toURI()); | ||
| 152 | + File outputfile = dataImportExportService.fileDataOutput( | ||
| 153 | + getDataExportFilename(), | ||
| 154 | + ktrfile); | ||
| 155 | + | ||
| 156 | + System.out.println(outputfile.getName()); | ||
| 157 | + String filePath = outputfile.getAbsolutePath(); | ||
| 158 | + String fp[] = filePath.split(File.separator); | ||
| 159 | + String fileName = fp[fp.length - 1]; | ||
| 160 | + | ||
| 161 | + // TODO:使用ktr获取导出数据 | ||
| 162 | + | ||
| 163 | + response.setHeader("conent-type", "application/octet-stream"); | ||
| 164 | + response.setContentType("application/octet-stream"); | ||
| 165 | + response.setHeader("Content-Disposition", "attachment; filename=" + "东东"); | ||
| 166 | + | ||
| 167 | + OutputStream os = response.getOutputStream(); | ||
| 168 | + BufferedOutputStream bos = new BufferedOutputStream(os); | ||
| 169 | + | ||
| 170 | + InputStream is = null; | ||
| 171 | + | ||
| 172 | + is = new FileInputStream(filePath); | ||
| 173 | + BufferedInputStream bis = new BufferedInputStream(is); | ||
| 174 | + | ||
| 175 | + int length = 0; | ||
| 176 | + byte[] temp = new byte[1 * 1024 * 10]; | ||
| 177 | + | ||
| 178 | + while ((length = bis.read(temp)) != -1) { | ||
| 179 | + bos.write(temp, 0, length); | ||
| 180 | + } | ||
| 181 | + bos.flush(); | ||
| 182 | + bis.close(); | ||
| 183 | + bos.close(); | ||
| 184 | + is.close(); | ||
| 185 | + } | ||
| 186 | + | ||
| 187 | + /** | ||
| 188 | + * @return 数据导出的ktr转换文件类路径。 | ||
| 189 | + */ | ||
| 190 | + protected String getDataExportKtrClasspath() { | ||
| 191 | + // 默认返回异常,子类如果要使用导出功能,必须覆写此方法,指定ktr文件类路径 | ||
| 192 | + throw new RuntimeException("必须override,并指定ktr classpath"); | ||
| 193 | + } | ||
| 194 | + | ||
| 195 | + /** | ||
| 196 | + * @return 导出文件名。 | ||
| 197 | + */ | ||
| 198 | + protected String getDataExportFilename() { | ||
| 199 | + // 默认返回异常,子类如果要使用导出功能,必须覆写此方法,指定导出的文件路径名 | ||
| 200 | + throw new RuntimeException("必须override,并指定导出文件名"); | ||
| 201 | + } | ||
| 202 | + | ||
| 203 | + /** | ||
| 144 | * @return 数据导入的ktr转换文件类路径。 | 204 | * @return 数据导入的ktr转换文件类路径。 |
| 145 | */ | 205 | */ |
| 146 | protected String getDataImportKtrClasspath() { | 206 | protected String getDataImportKtrClasspath() { |
src/main/java/com/bsth/controller/CarsController.java
| @@ -48,4 +48,14 @@ public class CarsController extends BaseController<Cars, Integer> { | @@ -48,4 +48,14 @@ public class CarsController extends BaseController<Cars, Integer> { | ||
| 48 | protected String getDataImportKtrClasspath() { | 48 | protected String getDataImportKtrClasspath() { |
| 49 | return dataToolsProperties.getCarsDatainputktr(); | 49 | return dataToolsProperties.getCarsDatainputktr(); |
| 50 | } | 50 | } |
| 51 | + | ||
| 52 | + @Override | ||
| 53 | + protected String getDataExportKtrClasspath() { | ||
| 54 | + return dataToolsProperties.getCarsDataoutputktr(); | ||
| 55 | + } | ||
| 56 | + | ||
| 57 | + @Override | ||
| 58 | + protected String getDataExportFilename() { | ||
| 59 | + return "车辆基础数据"; | ||
| 60 | + } | ||
| 51 | } | 61 | } |
src/main/java/com/bsth/service/schedule/utils/DataImportExportService.java
| @@ -23,4 +23,13 @@ public interface DataImportExportService { | @@ -23,4 +23,13 @@ public interface DataImportExportService { | ||
| 23 | * @throws Exception | 23 | * @throws Exception |
| 24 | */ | 24 | */ |
| 25 | void fileDataImport(MultipartFile datafile, File ktrFile) throws Exception; | 25 | void fileDataImport(MultipartFile datafile, File ktrFile) throws Exception; |
| 26 | + | ||
| 27 | + /** | ||
| 28 | + * 数据导出。 | ||
| 29 | + * @param fileName 文件名 | ||
| 30 | + * @param ktrFile 导出的逻辑ktr文件 | ||
| 31 | + * @return 导出的文件 | ||
| 32 | + * @throws Exception | ||
| 33 | + */ | ||
| 34 | + File fileDataOutput(String fileName, File ktrFile) throws Exception; | ||
| 26 | } | 35 | } |
src/main/java/com/bsth/service/schedule/utils/DataImportExportServiceImpl.java
| 1 | package com.bsth.service.schedule.utils; | 1 | package com.bsth.service.schedule.utils; |
| 2 | 2 | ||
| 3 | import com.google.common.io.Files; | 3 | import com.google.common.io.Files; |
| 4 | +import org.joda.time.DateTime; | ||
| 4 | import org.pentaho.di.core.KettleEnvironment; | 5 | import org.pentaho.di.core.KettleEnvironment; |
| 5 | import org.pentaho.di.core.util.EnvUtil; | 6 | import org.pentaho.di.core.util.EnvUtil; |
| 6 | import org.pentaho.di.trans.Trans; | 7 | import org.pentaho.di.trans.Trans; |
| @@ -106,4 +107,27 @@ public class DataImportExportServiceImpl implements DataImportExportService, Ini | @@ -106,4 +107,27 @@ public class DataImportExportServiceImpl implements DataImportExportService, Ini | ||
| 106 | throw new Exception("转换数据部分错误,请查看相关错误输出文件!"); | 107 | throw new Exception("转换数据部分错误,请查看相关错误输出文件!"); |
| 107 | } | 108 | } |
| 108 | } | 109 | } |
| 110 | + | ||
| 111 | + @Override | ||
| 112 | + public File fileDataOutput(String fileName, File ktrFile) throws Exception { | ||
| 113 | + // 初始化转换,元数据,转换对象 | ||
| 114 | + TransMeta transMeta = new TransMeta(ktrFile.getAbsolutePath()); | ||
| 115 | + Trans trans = new Trans(transMeta); | ||
| 116 | + // 设定命名参数 | ||
| 117 | + String filepath = dataToolsProperties.getFileoutputDir() + | ||
| 118 | + File.separator + | ||
| 119 | + fileName + | ||
| 120 | + new DateTime().toString("yyyyMMddHHmmss") + ".xls"; | ||
| 121 | + trans.setParameterValue("filepath", filepath); | ||
| 122 | + // 执行转换 | ||
| 123 | + trans.execute(null); | ||
| 124 | + // 等待转换结束 | ||
| 125 | + trans.waitUntilFinished(); | ||
| 126 | + | ||
| 127 | + if (trans.getErrors() > 0) { | ||
| 128 | + throw new Exception("转换数据部分错误,请查看相关错误输出文件!"); | ||
| 129 | + } | ||
| 130 | + | ||
| 131 | + return new File(filepath); | ||
| 132 | + } | ||
| 109 | } | 133 | } |
src/main/java/com/bsth/service/schedule/utils/DataToolsProperties.java
| @@ -17,6 +17,9 @@ public class DataToolsProperties { | @@ -17,6 +17,9 @@ public class DataToolsProperties { | ||
| 17 | /** 上传文件目录配置(根据不同的环境需要修正) */ | 17 | /** 上传文件目录配置(根据不同的环境需要修正) */ |
| 18 | @NotNull | 18 | @NotNull |
| 19 | private String fileuploadDir; | 19 | private String fileuploadDir; |
| 20 | + /** 导出数据文件目录配置(根据不同的环境需要修正) */ | ||
| 21 | + @NotNull | ||
| 22 | + private String fileoutputDir; | ||
| 20 | 23 | ||
| 21 | /** ktr转换文件,中配置的错误输出目录(根据不同的环境需要修正) */ | 24 | /** ktr转换文件,中配置的错误输出目录(根据不同的环境需要修正) */ |
| 22 | @NotNull | 25 | @NotNull |
| @@ -39,6 +42,7 @@ public class DataToolsProperties { | @@ -39,6 +42,7 @@ public class DataToolsProperties { | ||
| 39 | @NotNull | 42 | @NotNull |
| 40 | private String kvarsDbpwd; | 43 | private String kvarsDbpwd; |
| 41 | 44 | ||
| 45 | + /**------------------------- 导入数据ktr --------------------------*/ | ||
| 42 | /** 测试temp的ktr转换文件 */ | 46 | /** 测试temp的ktr转换文件 */ |
| 43 | @NotNull | 47 | @NotNull |
| 44 | private String tempDatainputktr; | 48 | private String tempDatainputktr; |
| @@ -70,6 +74,11 @@ public class DataToolsProperties { | @@ -70,6 +74,11 @@ public class DataToolsProperties { | ||
| 70 | @NotNull | 74 | @NotNull |
| 71 | private String ttinfodetailDatainputktr; | 75 | private String ttinfodetailDatainputktr; |
| 72 | 76 | ||
| 77 | + /**------------------------- 导出数据ktr --------------------------*/ | ||
| 78 | + /** 车辆信息导出ktr转换 */ | ||
| 79 | + @NotNull | ||
| 80 | + private String carsDataoutputktr; | ||
| 81 | + | ||
| 73 | // TODO: | 82 | // TODO: |
| 74 | 83 | ||
| 75 | public String getFileuploadDir() { | 84 | public String getFileuploadDir() { |
| @@ -207,4 +216,20 @@ public class DataToolsProperties { | @@ -207,4 +216,20 @@ public class DataToolsProperties { | ||
| 207 | public void setTtinfodetailForeditktr(String ttinfodetailForeditktr) { | 216 | public void setTtinfodetailForeditktr(String ttinfodetailForeditktr) { |
| 208 | this.ttinfodetailForeditktr = ttinfodetailForeditktr; | 217 | this.ttinfodetailForeditktr = ttinfodetailForeditktr; |
| 209 | } | 218 | } |
| 219 | + | ||
| 220 | + public String getFileoutputDir() { | ||
| 221 | + return fileoutputDir; | ||
| 222 | + } | ||
| 223 | + | ||
| 224 | + public void setFileoutputDir(String fileoutputDir) { | ||
| 225 | + this.fileoutputDir = fileoutputDir; | ||
| 226 | + } | ||
| 227 | + | ||
| 228 | + public String getCarsDataoutputktr() { | ||
| 229 | + return carsDataoutputktr; | ||
| 230 | + } | ||
| 231 | + | ||
| 232 | + public void setCarsDataoutputktr(String carsDataoutputktr) { | ||
| 233 | + this.carsDataoutputktr = carsDataoutputktr; | ||
| 234 | + } | ||
| 210 | } | 235 | } |
src/main/resources/datatools/config-dev.properties
| 1 | # 配置数据导入导出用到的配置信息 | 1 | # 配置数据导入导出用到的配置信息 |
| 2 | 2 | ||
| 3 | -# 上传文件目录配置(根据不同的环境需要修正) | ||
| 4 | -datatools.fileupload_dir=/Users/xu/resource/project/bsth_control_u_d_files | ||
| 5 | -# ktr转换文件,中配置的错误输出目录(根据不同的环境需要修正) | ||
| 6 | -datatools.trans_errordir=/Users/xu/resource/project/bsth_control_u_d_files/erroroutput | ||
| 7 | -# 临时输出文件目录 | ||
| 8 | -datatools.trans_tempdir=/Users/xu/resource/project/bsth_control_u_d_files/temp | ||
| 9 | - | ||
| 10 | -#------------------- ktr主配置文件路径(类路径) ------------------ | 3 | +# 1、kettle配置文件路径(类路径) |
| 11 | datatools.kettle_properties=/datatools/kettle.properties | 4 | datatools.kettle_properties=/datatools/kettle.properties |
| 12 | - | ||
| 13 | -##------------------ ktr通用变量 ------------------ | 5 | +# 2、ktr文件通用配置变量(数据库连接,根据不同的环境需要修正) |
| 14 | #数据库ip地址 | 6 | #数据库ip地址 |
| 15 | datatools.kvars_dbip=127.0.0.1 | 7 | datatools.kvars_dbip=127.0.0.1 |
| 16 | #数据库用户名 | 8 | #数据库用户名 |
| @@ -18,7 +10,15 @@ datatools.kvars_dbuname=root | @@ -18,7 +10,15 @@ datatools.kvars_dbuname=root | ||
| 18 | #数据库密码 | 10 | #数据库密码 |
| 19 | datatools.kvars_dbpwd= | 11 | datatools.kvars_dbpwd= |
| 20 | 12 | ||
| 21 | -# 以下是封装数据导入导出逻辑的ktr转换文件,类路径,以后考虑放到数据库中 | 13 | +# 3、上传数据配置信息 |
| 14 | +# 上传文件目录配置(根据不同的环境需要修正) | ||
| 15 | +datatools.fileupload_dir=/Users/xu/resource/project/bsth_control_u_d_files | ||
| 16 | +# ktr转换文件,中配置的错误输出目录(根据不同的环境需要修正) | ||
| 17 | +datatools.trans_errordir=/Users/xu/resource/project/bsth_control_u_d_files/erroroutput | ||
| 18 | +# 临时输出文件目录 | ||
| 19 | +datatools.trans_tempdir=/Users/xu/resource/project/bsth_control_u_d_files/temp | ||
| 20 | + | ||
| 21 | +##---------------------------- 导入数据ktr ----------------------------## | ||
| 22 | # 测试temp的ktr转换文件 | 22 | # 测试temp的ktr转换文件 |
| 23 | datatools.temp_datainputktr=/datatools/ktrs/test.ktr | 23 | datatools.temp_datainputktr=/datatools/ktrs/test.ktr |
| 24 | # 车辆信息导入ktr转换 | 24 | # 车辆信息导入ktr转换 |
| @@ -41,5 +41,22 @@ datatools.carsconfig_datainputktr=/datatools/ktrs/carsConfigDataInput.ktr | @@ -41,5 +41,22 @@ datatools.carsconfig_datainputktr=/datatools/ktrs/carsConfigDataInput.ktr | ||
| 41 | # 人员配置信息导入 | 41 | # 人员配置信息导入 |
| 42 | datatools.employeesconfig_datainputktr=/datatools/ktrs/employeesConfigDataInput.ktr | 42 | datatools.employeesconfig_datainputktr=/datatools/ktrs/employeesConfigDataInput.ktr |
| 43 | 43 | ||
| 44 | -# 排班规则信息导入 | 44 | +# TODO:排班规则信息导入 |
| 45 | + | ||
| 46 | + | ||
| 47 | +# 4、数据导出配置信息 | ||
| 48 | +# 导出数据文件目录配置(根据不同的环境需要修正) | ||
| 49 | +datatools.fileoutput_dir=/Users/xu/resource/project/bsth_control_u_d_files | ||
| 50 | + | ||
| 51 | +##---------------------------- 导出数据ktr -----------------------------## | ||
| 52 | +# 车辆信息导出ktr转换 | ||
| 53 | +datatools.cars_dataoutputktr=/datatools/ktrs/carsDataOutput.ktr | ||
| 54 | + | ||
| 55 | + | ||
| 56 | + | ||
| 57 | + | ||
| 58 | + | ||
| 59 | + | ||
| 60 | + | ||
| 61 | + | ||
| 45 | 62 |
src/main/resources/datatools/config-prod.properties
| 1 | # 配置数据导入导出用到的配置信息 | 1 | # 配置数据导入导出用到的配置信息 |
| 2 | 2 | ||
| 3 | -# 上传文件目录配置(根据不同的环境需要修正) | ||
| 4 | -datatools.fileupload_dir=/opt/bsth_control_u_d_files | ||
| 5 | -# ktr转换文件,中配置的错误输出目录(根据不同的环境需要修正) | ||
| 6 | -datatools.trans_errordir=/opt/bsth_control_u_d_files/erroroutput | ||
| 7 | -# 临时输出文件目录 | ||
| 8 | -datatools.trans_tempdir=/opt/bsth_control_u_d_files/temp | ||
| 9 | - | ||
| 10 | -#------------------- ktr主配置文件路径(类路径) ------------------ | 3 | +# 1、kettle配置文件路径(类路径) |
| 11 | datatools.kettle_properties=/datatools/kettle.properties | 4 | datatools.kettle_properties=/datatools/kettle.properties |
| 12 | - | ||
| 13 | -##------------------ ktr通用变量 ------------------ | 5 | +# 2、ktr文件通用配置变量(数据库连接,根据不同的环境需要修正) |
| 14 | #数据库ip地址 | 6 | #数据库ip地址 |
| 15 | datatools.kvars_dbip=192.168.168.171 | 7 | datatools.kvars_dbip=192.168.168.171 |
| 16 | #数据库用户名 | 8 | #数据库用户名 |
| @@ -18,7 +10,15 @@ datatools.kvars_dbuname=root | @@ -18,7 +10,15 @@ datatools.kvars_dbuname=root | ||
| 18 | #数据库密码 | 10 | #数据库密码 |
| 19 | datatools.kvars_dbpwd=root2jsp | 11 | datatools.kvars_dbpwd=root2jsp |
| 20 | 12 | ||
| 21 | -# 以下是封装数据导入导出逻辑的ktr转换文件,类路径,以后考虑放到数据库中 | 13 | +# 3、上传数据配置信息 |
| 14 | +# 上传文件目录配置(根据不同的环境需要修正) | ||
| 15 | +datatools.fileupload_dir=/opt/bsth_control_u_d_files | ||
| 16 | +# ktr转换文件,中配置的错误输出目录(根据不同的环境需要修正) | ||
| 17 | +datatools.trans_errordir=/opt/bsth_control_u_d_files/erroroutput | ||
| 18 | +# 临时输出文件目录 | ||
| 19 | +datatools.trans_tempdir=/opt/bsth_control_u_d_files/temp | ||
| 20 | + | ||
| 21 | +##---------------------------- 导入数据ktr ----------------------------## | ||
| 22 | # 测试temp的ktr转换文件 | 22 | # 测试temp的ktr转换文件 |
| 23 | datatools.temp_datainputktr=/datatools/ktrs/test.ktr | 23 | datatools.temp_datainputktr=/datatools/ktrs/test.ktr |
| 24 | # 车辆信息导入ktr转换 | 24 | # 车辆信息导入ktr转换 |
| @@ -41,5 +41,23 @@ datatools.carsconfig_datainputktr=/datatools/ktrs/carsConfigDataInput.ktr | @@ -41,5 +41,23 @@ datatools.carsconfig_datainputktr=/datatools/ktrs/carsConfigDataInput.ktr | ||
| 41 | # 人员配置信息导入 | 41 | # 人员配置信息导入 |
| 42 | datatools.employeesconfig_datainputktr=/datatools/ktrs/employeesConfigDataInput.ktr | 42 | datatools.employeesconfig_datainputktr=/datatools/ktrs/employeesConfigDataInput.ktr |
| 43 | 43 | ||
| 44 | -# 排班规则信息导入 | 44 | +# TODO:排班规则信息导入 |
| 45 | + | ||
| 46 | + | ||
| 47 | +# 4、数据导出配置信息 | ||
| 48 | +# 导出数据文件目录配置(根据不同的环境需要修正) | ||
| 49 | +datatools.fileoutput_dir=/opt/bsth_control_u_d_files | ||
| 50 | + | ||
| 51 | +##---------------------------- 导出数据ktr -----------------------------## | ||
| 52 | +# 车辆信息导出ktr转换 | ||
| 53 | +datatools.cars_dataoutputktr=/datatools/ktrs/carsDataOutput.ktr | ||
| 54 | + | ||
| 55 | + | ||
| 56 | + | ||
| 57 | + | ||
| 58 | + | ||
| 59 | + | ||
| 60 | + | ||
| 61 | + | ||
| 62 | + | ||
| 45 | 63 |
src/main/resources/datatools/ktrs/carsDataInput.ktr
| @@ -85,11 +85,11 @@ | @@ -85,11 +85,11 @@ | ||
| 85 | </info> | 85 | </info> |
| 86 | <notepads> | 86 | <notepads> |
| 87 | <notepad> | 87 | <notepad> |
| 88 | - <note>原系统的导出表,有些数据是没有的,有些数据也有问题,如下
报废日期去掉
车辆编码,暂时用1代替
是否电车 没有
车辆序号 没有
是否切换 没有
线路名称(这里不做关联,只是登记的时候使用) 咩有</note> | ||
| 89 | - <xloc>365</xloc> | ||
| 90 | - <yloc>136</yloc> | 88 | + <note>原系统的导出表,有些数据是没有的,有些数据也有问题,如下
报废日期去掉
车辆编码,暂时用1代替
是否电车 没有
车辆序号 没有
是否切换 没有
线路名称(这里不做关联,只是登记的时候使用) 咩有

字典
是与否truefalseType 是 1
是与否truefalseType 否 0

供应商名称snames 巴士拓华 1
供应商名称snames 博康 2

营运状态yyztType 营运 1
营运状态yyztType 停运 2
营运状态yyztType 挂失 3
营运状态yyztType 迁出(过户) 4
营运状态yyztType 迁出(转籍) 5
营运状态yyztType 报废 6
营运状态yyztType 歇业 7
营运状态yyztType 注销 8
营运状态yyztType 测试 9
营运状态yyztType 其他 10

机动车类型jdcType 非机动车 1
机动车类型jdcType 机动一队 2
机动车类型jdcType 机动二队 3
机动车类型jdcType 机动三队 4
机动车类型jdcType 备车 5
机动车类型jdcType 抢修车 6

车辆类型carType 营运车 1
车辆类型carType 包车 2
车辆类型carType 学校班车 3
车辆类型carType 公司班车 4
车辆类型carType 待报废车 5
车辆类型carType 备车 6
车辆类型carType 测试设备 7



</note> |
| 89 | + <xloc>45</xloc> | ||
| 90 | + <yloc>254</yloc> | ||
| 91 | <width>346</width> | 91 | <width>346</width> |
| 92 | - <heigth>122</heigth> | 92 | + <heigth>714</heigth> |
| 93 | <fontname>YaHei Consolas Hybrid</fontname> | 93 | <fontname>YaHei Consolas Hybrid</fontname> |
| 94 | <fontsize>12</fontsize> | 94 | <fontsize>12</fontsize> |
| 95 | <fontbold>N</fontbold> | 95 | <fontbold>N</fontbold> |
| @@ -269,64 +269,21 @@ | @@ -269,64 +269,21 @@ | ||
| 269 | <order> | 269 | <order> |
| 270 | <hop> <from>原始系统导出的Excel输入</from><to>字段选择</to><enabled>Y</enabled> </hop> | 270 | <hop> <from>原始系统导出的Excel输入</from><to>字段选择</to><enabled>Y</enabled> </hop> |
| 271 | <hop> <from>字段选择</from><to>是否空调车</to><enabled>Y</enabled> </hop> | 271 | <hop> <from>字段选择</from><to>是否空调车</to><enabled>Y</enabled> </hop> |
| 272 | - <hop> <from>插入/更新bsth_c_cars</from><to>错误输出</to><enabled>Y</enabled> </hop> | ||
| 273 | <hop> <from>是否有LED服务屏</from><to>是否有TV视频</to><enabled>Y</enabled> </hop> | 272 | <hop> <from>是否有LED服务屏</from><to>是否有TV视频</to><enabled>Y</enabled> </hop> |
| 274 | <hop> <from>是否有TV视频</from><to>是否的变成数字型</to><enabled>Y</enabled> </hop> | 273 | <hop> <from>是否有TV视频</from><to>是否的变成数字型</to><enabled>Y</enabled> </hop> |
| 275 | - <hop> <from>是否的变成数字型</from><to>公交企业代码</to><enabled>Y</enabled> </hop> | ||
| 276 | <hop> <from>是否空调车</from><to>有无人售票</to><enabled>Y</enabled> </hop> | 274 | <hop> <from>是否空调车</from><to>有无人售票</to><enabled>Y</enabled> </hop> |
| 277 | <hop> <from>有无人售票</from><to>是否有LED服务屏</to><enabled>Y</enabled> </hop> | 275 | <hop> <from>有无人售票</from><to>是否有LED服务屏</to><enabled>Y</enabled> </hop> |
| 278 | - <hop> <from>公交企业代码</from><to>插入/更新bsth_c_cars</to><enabled>Y</enabled> </hop> | ||
| 279 | <hop> <from>获取变量</from><to>原始系统导出的Excel输入</to><enabled>Y</enabled> </hop> | 276 | <hop> <from>获取变量</from><to>原始系统导出的Excel输入</to><enabled>Y</enabled> </hop> |
| 277 | + <hop> <from>供应商名称</from><to>营运状态</to><enabled>Y</enabled> </hop> | ||
| 278 | + <hop> <from>插入/更新bsth_c_cars 2</from><to>错误输出 2</to><enabled>Y</enabled> </hop> | ||
| 279 | + <hop> <from>机动车类型</from><to>车辆类型</to><enabled>Y</enabled> </hop> | ||
| 280 | + <hop> <from>营运状态</from><to>机动车类型</to><enabled>Y</enabled> </hop> | ||
| 281 | + <hop> <from>车辆类型</from><to>车辆编码</to><enabled>Y</enabled> </hop> | ||
| 282 | + <hop> <from>车辆编码</from><to>插入/更新bsth_c_cars 2</to><enabled>Y</enabled> </hop> | ||
| 283 | + <hop> <from>是否的变成数字型</from><to>公交企业代码查询</to><enabled>Y</enabled> </hop> | ||
| 284 | + <hop> <from>公交企业代码查询</from><to>供应商名称</to><enabled>Y</enabled> </hop> | ||
| 280 | </order> | 285 | </order> |
| 281 | <step> | 286 | <step> |
| 282 | - <name>公交企业代码</name> | ||
| 283 | - <type>ValueMapper</type> | ||
| 284 | - <description/> | ||
| 285 | - <distribute>Y</distribute> | ||
| 286 | - <custom_distribution/> | ||
| 287 | - <copies>1</copies> | ||
| 288 | - <partitioning> | ||
| 289 | - <method>none</method> | ||
| 290 | - <schema_name/> | ||
| 291 | - </partitioning> | ||
| 292 | - <field_to_use>company</field_to_use> | ||
| 293 | - <target_field>businessCode</target_field> | ||
| 294 | - <non_match_default/> | ||
| 295 | - <fields> | ||
| 296 | - <field> | ||
| 297 | - <source_value>上南公司</source_value> | ||
| 298 | - <target_value>55</target_value> | ||
| 299 | - </field> | ||
| 300 | - <field> | ||
| 301 | - <source_value>金高公司</source_value> | ||
| 302 | - <target_value>22</target_value> | ||
| 303 | - </field> | ||
| 304 | - <field> | ||
| 305 | - <source_value>杨高公司</source_value> | ||
| 306 | - <target_value>05</target_value> | ||
| 307 | - </field> | ||
| 308 | - <field> | ||
| 309 | - <source_value>南汇公司</source_value> | ||
| 310 | - <target_value>26</target_value> | ||
| 311 | - </field> | ||
| 312 | - <field> | ||
| 313 | - <source_value>公交公司</source_value> | ||
| 314 | - <target_value>88</target_value> | ||
| 315 | - </field> | ||
| 316 | - <field> | ||
| 317 | - <source_value>闵行公交</source_value> | ||
| 318 | - <target_value>77</target_value> | ||
| 319 | - </field> | ||
| 320 | - </fields> | ||
| 321 | - <cluster_schema/> | ||
| 322 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 323 | - <xloc>841</xloc> | ||
| 324 | - <yloc>166</yloc> | ||
| 325 | - <draw>Y</draw> | ||
| 326 | - </GUI> | ||
| 327 | - </step> | ||
| 328 | - | ||
| 329 | - <step> | ||
| 330 | <name>原始系统导出的Excel输入</name> | 287 | <name>原始系统导出的Excel输入</name> |
| 331 | <type>ExcelInput</type> | 288 | <type>ExcelInput</type> |
| 332 | <description/> | 289 | <description/> |
| @@ -967,208 +924,6 @@ | @@ -967,208 +924,6 @@ | ||
| 967 | </step> | 924 | </step> |
| 968 | 925 | ||
| 969 | <step> | 926 | <step> |
| 970 | - <name>插入/更新bsth_c_cars</name> | ||
| 971 | - <type>InsertUpdate</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 | - <connection>bus_control_variable</connection> | ||
| 981 | - <commit>1000</commit> | ||
| 982 | - <update_bypassed>N</update_bypassed> | ||
| 983 | - <lookup> | ||
| 984 | - <schema/> | ||
| 985 | - <table>bsth_c_cars</table> | ||
| 986 | - <key> | ||
| 987 | - <name>insideCode</name> | ||
| 988 | - <field>inside_code</field> | ||
| 989 | - <condition>=</condition> | ||
| 990 | - <name2/> | ||
| 991 | - </key> | ||
| 992 | - <value> | ||
| 993 | - <name>inside_code</name> | ||
| 994 | - <rename>insideCode</rename> | ||
| 995 | - <update>Y</update> | ||
| 996 | - </value> | ||
| 997 | - <value> | ||
| 998 | - <name>company</name> | ||
| 999 | - <rename>company</rename> | ||
| 1000 | - <update>Y</update> | ||
| 1001 | - </value> | ||
| 1002 | - <value> | ||
| 1003 | - <name>branche_company</name> | ||
| 1004 | - <rename>brancheCompany</rename> | ||
| 1005 | - <update>Y</update> | ||
| 1006 | - </value> | ||
| 1007 | - <value> | ||
| 1008 | - <name>car_plate</name> | ||
| 1009 | - <rename>carPlate</rename> | ||
| 1010 | - <update>Y</update> | ||
| 1011 | - </value> | ||
| 1012 | - <value> | ||
| 1013 | - <name>supplier_name</name> | ||
| 1014 | - <rename>supplierName</rename> | ||
| 1015 | - <update>Y</update> | ||
| 1016 | - </value> | ||
| 1017 | - <value> | ||
| 1018 | - <name>equipment_code</name> | ||
| 1019 | - <rename>equipmentCode</rename> | ||
| 1020 | - <update>Y</update> | ||
| 1021 | - </value> | ||
| 1022 | - <value> | ||
| 1023 | - <name>car_class</name> | ||
| 1024 | - <rename>carClass</rename> | ||
| 1025 | - <update>Y</update> | ||
| 1026 | - </value> | ||
| 1027 | - <value> | ||
| 1028 | - <name>speed</name> | ||
| 1029 | - <rename>speed</rename> | ||
| 1030 | - <update>Y</update> | ||
| 1031 | - </value> | ||
| 1032 | - <value> | ||
| 1033 | - <name>car_seatn_number</name> | ||
| 1034 | - <rename>carSeatnNumber</rename> | ||
| 1035 | - <update>Y</update> | ||
| 1036 | - </value> | ||
| 1037 | - <value> | ||
| 1038 | - <name>car_standard</name> | ||
| 1039 | - <rename>carStandard</rename> | ||
| 1040 | - <update>Y</update> | ||
| 1041 | - </value> | ||
| 1042 | - <value> | ||
| 1043 | - <name>car_code</name> | ||
| 1044 | - <rename>carCode</rename> | ||
| 1045 | - <update>Y</update> | ||
| 1046 | - </value> | ||
| 1047 | - <value> | ||
| 1048 | - <name>kburn_standard</name> | ||
| 1049 | - <rename>kburnStandard</rename> | ||
| 1050 | - <update>Y</update> | ||
| 1051 | - </value> | ||
| 1052 | - <value> | ||
| 1053 | - <name>gburn_standard</name> | ||
| 1054 | - <rename>gburnStandard</rename> | ||
| 1055 | - <update>Y</update> | ||
| 1056 | - </value> | ||
| 1057 | - <value> | ||
| 1058 | - <name>scrap_code</name> | ||
| 1059 | - <rename>scrapCode</rename> | ||
| 1060 | - <update>Y</update> | ||
| 1061 | - </value> | ||
| 1062 | - <value> | ||
| 1063 | - <name>make_code_one</name> | ||
| 1064 | - <rename>makeCodeOne</rename> | ||
| 1065 | - <update>Y</update> | ||
| 1066 | - </value> | ||
| 1067 | - <value> | ||
| 1068 | - <name>make_code_two</name> | ||
| 1069 | - <rename>makeCodeTwo</rename> | ||
| 1070 | - <update>Y</update> | ||
| 1071 | - </value> | ||
| 1072 | - <value> | ||
| 1073 | - <name>car_gride</name> | ||
| 1074 | - <rename>carGride</rename> | ||
| 1075 | - <update>Y</update> | ||
| 1076 | - </value> | ||
| 1077 | - <value> | ||
| 1078 | - <name>emissions_standard</name> | ||
| 1079 | - <rename>emissionsStandard</rename> | ||
| 1080 | - <update>Y</update> | ||
| 1081 | - </value> | ||
| 1082 | - <value> | ||
| 1083 | - <name>engine_code_one</name> | ||
| 1084 | - <rename>engineCodeOne</rename> | ||
| 1085 | - <update>Y</update> | ||
| 1086 | - </value> | ||
| 1087 | - <value> | ||
| 1088 | - <name>engine_code_two</name> | ||
| 1089 | - <rename>engineCodeTwo</rename> | ||
| 1090 | - <update>Y</update> | ||
| 1091 | - </value> | ||
| 1092 | - <value> | ||
| 1093 | - <name>car_number_one</name> | ||
| 1094 | - <rename>carNumberOne</rename> | ||
| 1095 | - <update>Y</update> | ||
| 1096 | - </value> | ||
| 1097 | - <value> | ||
| 1098 | - <name>car_number_two</name> | ||
| 1099 | - <rename>carNumberTwo</rename> | ||
| 1100 | - <update>Y</update> | ||
| 1101 | - </value> | ||
| 1102 | - <value> | ||
| 1103 | - <name>open_date</name> | ||
| 1104 | - <rename>openDate</rename> | ||
| 1105 | - <update>Y</update> | ||
| 1106 | - </value> | ||
| 1107 | - <value> | ||
| 1108 | - <name>close_date</name> | ||
| 1109 | - <rename>closeDate</rename> | ||
| 1110 | - <update>Y</update> | ||
| 1111 | - </value> | ||
| 1112 | - <value> | ||
| 1113 | - <name>hvac_car</name> | ||
| 1114 | - <rename>hvacCar</rename> | ||
| 1115 | - <update>Y</update> | ||
| 1116 | - </value> | ||
| 1117 | - <value> | ||
| 1118 | - <name>ticket_type</name> | ||
| 1119 | - <rename>ticketType</rename> | ||
| 1120 | - <update>Y</update> | ||
| 1121 | - </value> | ||
| 1122 | - <value> | ||
| 1123 | - <name>led_screen</name> | ||
| 1124 | - <rename>ledScreen</rename> | ||
| 1125 | - <update>Y</update> | ||
| 1126 | - </value> | ||
| 1127 | - <value> | ||
| 1128 | - <name>tv_video_type</name> | ||
| 1129 | - <rename>tvVideoType</rename> | ||
| 1130 | - <update>Y</update> | ||
| 1131 | - </value> | ||
| 1132 | - <value> | ||
| 1133 | - <name>car_type</name> | ||
| 1134 | - <rename>carType</rename> | ||
| 1135 | - <update>Y</update> | ||
| 1136 | - </value> | ||
| 1137 | - <value> | ||
| 1138 | - <name>vehicle_stats</name> | ||
| 1139 | - <rename>vehicleStats</rename> | ||
| 1140 | - <update>Y</update> | ||
| 1141 | - </value> | ||
| 1142 | - <value> | ||
| 1143 | - <name>operators_state</name> | ||
| 1144 | - <rename>operatorsState</rename> | ||
| 1145 | - <update>Y</update> | ||
| 1146 | - </value> | ||
| 1147 | - <value> | ||
| 1148 | - <name>descriptions</name> | ||
| 1149 | - <rename>descriptions</rename> | ||
| 1150 | - <update>Y</update> | ||
| 1151 | - </value> | ||
| 1152 | - <value> | ||
| 1153 | - <name>video_code</name> | ||
| 1154 | - <rename>videoCode</rename> | ||
| 1155 | - <update>Y</update> | ||
| 1156 | - </value> | ||
| 1157 | - <value> | ||
| 1158 | - <name>business_code</name> | ||
| 1159 | - <rename>businessCode</rename> | ||
| 1160 | - <update>Y</update> | ||
| 1161 | - </value> | ||
| 1162 | - </lookup> | ||
| 1163 | - <cluster_schema/> | ||
| 1164 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 1165 | - <xloc>842</xloc> | ||
| 1166 | - <yloc>319</yloc> | ||
| 1167 | - <draw>Y</draw> | ||
| 1168 | - </GUI> | ||
| 1169 | - </step> | ||
| 1170 | - | ||
| 1171 | - <step> | ||
| 1172 | <name>是否有LED服务屏</name> | 927 | <name>是否有LED服务屏</name> |
| 1173 | <type>ValueMapper</type> | 928 | <type>ValueMapper</type> |
| 1174 | <description/> | 929 | <description/> |
| @@ -1422,8 +1177,8 @@ | @@ -1422,8 +1177,8 @@ | ||
| 1422 | </step> | 1177 | </step> |
| 1423 | 1178 | ||
| 1424 | <step> | 1179 | <step> |
| 1425 | - <name>错误输出</name> | ||
| 1426 | - <type>ExcelOutput</type> | 1180 | + <name>供应商名称</name> |
| 1181 | + <type>ValueMapper</type> | ||
| 1427 | <description/> | 1182 | <description/> |
| 1428 | <distribute>Y</distribute> | 1183 | <distribute>Y</distribute> |
| 1429 | <custom_distribution/> | 1184 | <custom_distribution/> |
| @@ -1432,30 +1187,461 @@ | @@ -1432,30 +1187,461 @@ | ||
| 1432 | <method>none</method> | 1187 | <method>none</method> |
| 1433 | <schema_name/> | 1188 | <schema_name/> |
| 1434 | </partitioning> | 1189 | </partitioning> |
| 1435 | - <header>Y</header> | ||
| 1436 | - <footer>N</footer> | ||
| 1437 | - <encoding/> | ||
| 1438 | - <append>N</append> | ||
| 1439 | - <add_to_result_filenames>Y</add_to_result_filenames> | ||
| 1440 | - <file> | ||
| 1441 | - <name>${erroroutputdir}/车辆基础信息_错误</name> | ||
| 1442 | - <extention>xls</extention> | ||
| 1443 | - <do_not_open_newfile_init>N</do_not_open_newfile_init> | ||
| 1444 | - <create_parent_folder>N</create_parent_folder> | ||
| 1445 | - <split>N</split> | ||
| 1446 | - <add_date>N</add_date> | ||
| 1447 | - <add_time>N</add_time> | ||
| 1448 | - <SpecifyFormat>N</SpecifyFormat> | ||
| 1449 | - <date_time_format/> | ||
| 1450 | - <sheetname>Sheet1</sheetname> | ||
| 1451 | - <autosizecolums>N</autosizecolums> | ||
| 1452 | - <nullisblank>N</nullisblank> | ||
| 1453 | - <protect_sheet>N</protect_sheet> | ||
| 1454 | - <password>Encrypted </password> | ||
| 1455 | - <splitevery>0</splitevery> | ||
| 1456 | - <usetempfiles>N</usetempfiles> | ||
| 1457 | - <tempdirectory/> | ||
| 1458 | - </file> | 1190 | + <field_to_use>supplierName</field_to_use> |
| 1191 | + <target_field/> | ||
| 1192 | + <non_match_default/> | ||
| 1193 | + <fields> | ||
| 1194 | + <field> | ||
| 1195 | + <source_value>巴士拓华</source_value> | ||
| 1196 | + <target_value>1</target_value> | ||
| 1197 | + </field> | ||
| 1198 | + <field> | ||
| 1199 | + <source_value>博康</source_value> | ||
| 1200 | + <target_value>2</target_value> | ||
| 1201 | + </field> | ||
| 1202 | + </fields> | ||
| 1203 | + <cluster_schema/> | ||
| 1204 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 1205 | + <xloc>709</xloc> | ||
| 1206 | + <yloc>172</yloc> | ||
| 1207 | + <draw>Y</draw> | ||
| 1208 | + </GUI> | ||
| 1209 | + </step> | ||
| 1210 | + | ||
| 1211 | + <step> | ||
| 1212 | + <name>插入/更新bsth_c_cars 2</name> | ||
| 1213 | + <type>InsertUpdate</type> | ||
| 1214 | + <description/> | ||
| 1215 | + <distribute>Y</distribute> | ||
| 1216 | + <custom_distribution/> | ||
| 1217 | + <copies>1</copies> | ||
| 1218 | + <partitioning> | ||
| 1219 | + <method>none</method> | ||
| 1220 | + <schema_name/> | ||
| 1221 | + </partitioning> | ||
| 1222 | + <connection>bus_control_公司_201</connection> | ||
| 1223 | + <commit>1000</commit> | ||
| 1224 | + <update_bypassed>N</update_bypassed> | ||
| 1225 | + <lookup> | ||
| 1226 | + <schema/> | ||
| 1227 | + <table>bsth_c_cars</table> | ||
| 1228 | + <key> | ||
| 1229 | + <name>insideCode</name> | ||
| 1230 | + <field>inside_code</field> | ||
| 1231 | + <condition>=</condition> | ||
| 1232 | + <name2/> | ||
| 1233 | + </key> | ||
| 1234 | + <value> | ||
| 1235 | + <name>inside_code</name> | ||
| 1236 | + <rename>insideCode</rename> | ||
| 1237 | + <update>Y</update> | ||
| 1238 | + </value> | ||
| 1239 | + <value> | ||
| 1240 | + <name>company</name> | ||
| 1241 | + <rename>company</rename> | ||
| 1242 | + <update>Y</update> | ||
| 1243 | + </value> | ||
| 1244 | + <value> | ||
| 1245 | + <name>branche_company</name> | ||
| 1246 | + <rename>brancheCompany</rename> | ||
| 1247 | + <update>Y</update> | ||
| 1248 | + </value> | ||
| 1249 | + <value> | ||
| 1250 | + <name>car_plate</name> | ||
| 1251 | + <rename>carPlate</rename> | ||
| 1252 | + <update>Y</update> | ||
| 1253 | + </value> | ||
| 1254 | + <value> | ||
| 1255 | + <name>supplier_name</name> | ||
| 1256 | + <rename>supplierName</rename> | ||
| 1257 | + <update>Y</update> | ||
| 1258 | + </value> | ||
| 1259 | + <value> | ||
| 1260 | + <name>equipment_code</name> | ||
| 1261 | + <rename>equipmentCode</rename> | ||
| 1262 | + <update>Y</update> | ||
| 1263 | + </value> | ||
| 1264 | + <value> | ||
| 1265 | + <name>car_class</name> | ||
| 1266 | + <rename>carClass</rename> | ||
| 1267 | + <update>Y</update> | ||
| 1268 | + </value> | ||
| 1269 | + <value> | ||
| 1270 | + <name>speed</name> | ||
| 1271 | + <rename>speed</rename> | ||
| 1272 | + <update>Y</update> | ||
| 1273 | + </value> | ||
| 1274 | + <value> | ||
| 1275 | + <name>car_seatn_number</name> | ||
| 1276 | + <rename>carSeatnNumber</rename> | ||
| 1277 | + <update>Y</update> | ||
| 1278 | + </value> | ||
| 1279 | + <value> | ||
| 1280 | + <name>car_standard</name> | ||
| 1281 | + <rename>carStandard</rename> | ||
| 1282 | + <update>Y</update> | ||
| 1283 | + </value> | ||
| 1284 | + <value> | ||
| 1285 | + <name>car_code</name> | ||
| 1286 | + <rename>carCode</rename> | ||
| 1287 | + <update>Y</update> | ||
| 1288 | + </value> | ||
| 1289 | + <value> | ||
| 1290 | + <name>kburn_standard</name> | ||
| 1291 | + <rename>kburnStandard</rename> | ||
| 1292 | + <update>Y</update> | ||
| 1293 | + </value> | ||
| 1294 | + <value> | ||
| 1295 | + <name>gburn_standard</name> | ||
| 1296 | + <rename>gburnStandard</rename> | ||
| 1297 | + <update>Y</update> | ||
| 1298 | + </value> | ||
| 1299 | + <value> | ||
| 1300 | + <name>scrap_code</name> | ||
| 1301 | + <rename>scrapCode</rename> | ||
| 1302 | + <update>Y</update> | ||
| 1303 | + </value> | ||
| 1304 | + <value> | ||
| 1305 | + <name>make_code_one</name> | ||
| 1306 | + <rename>makeCodeOne</rename> | ||
| 1307 | + <update>Y</update> | ||
| 1308 | + </value> | ||
| 1309 | + <value> | ||
| 1310 | + <name>make_code_two</name> | ||
| 1311 | + <rename>makeCodeTwo</rename> | ||
| 1312 | + <update>Y</update> | ||
| 1313 | + </value> | ||
| 1314 | + <value> | ||
| 1315 | + <name>car_gride</name> | ||
| 1316 | + <rename>carGride</rename> | ||
| 1317 | + <update>Y</update> | ||
| 1318 | + </value> | ||
| 1319 | + <value> | ||
| 1320 | + <name>emissions_standard</name> | ||
| 1321 | + <rename>emissionsStandard</rename> | ||
| 1322 | + <update>Y</update> | ||
| 1323 | + </value> | ||
| 1324 | + <value> | ||
| 1325 | + <name>engine_code_one</name> | ||
| 1326 | + <rename>engineCodeOne</rename> | ||
| 1327 | + <update>Y</update> | ||
| 1328 | + </value> | ||
| 1329 | + <value> | ||
| 1330 | + <name>engine_code_two</name> | ||
| 1331 | + <rename>engineCodeTwo</rename> | ||
| 1332 | + <update>Y</update> | ||
| 1333 | + </value> | ||
| 1334 | + <value> | ||
| 1335 | + <name>car_number_one</name> | ||
| 1336 | + <rename>carNumberOne</rename> | ||
| 1337 | + <update>Y</update> | ||
| 1338 | + </value> | ||
| 1339 | + <value> | ||
| 1340 | + <name>car_number_two</name> | ||
| 1341 | + <rename>carNumberTwo</rename> | ||
| 1342 | + <update>Y</update> | ||
| 1343 | + </value> | ||
| 1344 | + <value> | ||
| 1345 | + <name>open_date</name> | ||
| 1346 | + <rename>openDate</rename> | ||
| 1347 | + <update>Y</update> | ||
| 1348 | + </value> | ||
| 1349 | + <value> | ||
| 1350 | + <name>close_date</name> | ||
| 1351 | + <rename>closeDate</rename> | ||
| 1352 | + <update>Y</update> | ||
| 1353 | + </value> | ||
| 1354 | + <value> | ||
| 1355 | + <name>hvac_car</name> | ||
| 1356 | + <rename>hvacCar</rename> | ||
| 1357 | + <update>Y</update> | ||
| 1358 | + </value> | ||
| 1359 | + <value> | ||
| 1360 | + <name>ticket_type</name> | ||
| 1361 | + <rename>ticketType</rename> | ||
| 1362 | + <update>Y</update> | ||
| 1363 | + </value> | ||
| 1364 | + <value> | ||
| 1365 | + <name>led_screen</name> | ||
| 1366 | + <rename>ledScreen</rename> | ||
| 1367 | + <update>Y</update> | ||
| 1368 | + </value> | ||
| 1369 | + <value> | ||
| 1370 | + <name>tv_video_type</name> | ||
| 1371 | + <rename>tvVideoType</rename> | ||
| 1372 | + <update>Y</update> | ||
| 1373 | + </value> | ||
| 1374 | + <value> | ||
| 1375 | + <name>car_type</name> | ||
| 1376 | + <rename>carType</rename> | ||
| 1377 | + <update>Y</update> | ||
| 1378 | + </value> | ||
| 1379 | + <value> | ||
| 1380 | + <name>vehicle_stats</name> | ||
| 1381 | + <rename>vehicleStats</rename> | ||
| 1382 | + <update>Y</update> | ||
| 1383 | + </value> | ||
| 1384 | + <value> | ||
| 1385 | + <name>operators_state</name> | ||
| 1386 | + <rename>operatorsState</rename> | ||
| 1387 | + <update>Y</update> | ||
| 1388 | + </value> | ||
| 1389 | + <value> | ||
| 1390 | + <name>descriptions</name> | ||
| 1391 | + <rename>descriptions</rename> | ||
| 1392 | + <update>Y</update> | ||
| 1393 | + </value> | ||
| 1394 | + <value> | ||
| 1395 | + <name>video_code</name> | ||
| 1396 | + <rename>videoCode</rename> | ||
| 1397 | + <update>Y</update> | ||
| 1398 | + </value> | ||
| 1399 | + <value> | ||
| 1400 | + <name>business_code</name> | ||
| 1401 | + <rename>businessCode</rename> | ||
| 1402 | + <update>Y</update> | ||
| 1403 | + </value> | ||
| 1404 | + </lookup> | ||
| 1405 | + <cluster_schema/> | ||
| 1406 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 1407 | + <xloc>821</xloc> | ||
| 1408 | + <yloc>362</yloc> | ||
| 1409 | + <draw>Y</draw> | ||
| 1410 | + </GUI> | ||
| 1411 | + </step> | ||
| 1412 | + | ||
| 1413 | + <step> | ||
| 1414 | + <name>机动车类型</name> | ||
| 1415 | + <type>ValueMapper</type> | ||
| 1416 | + <description/> | ||
| 1417 | + <distribute>Y</distribute> | ||
| 1418 | + <custom_distribution/> | ||
| 1419 | + <copies>1</copies> | ||
| 1420 | + <partitioning> | ||
| 1421 | + <method>none</method> | ||
| 1422 | + <schema_name/> | ||
| 1423 | + </partitioning> | ||
| 1424 | + <field_to_use>vehicleStats</field_to_use> | ||
| 1425 | + <target_field/> | ||
| 1426 | + <non_match_default/> | ||
| 1427 | + <fields> | ||
| 1428 | + <field> | ||
| 1429 | + <source_value>非机动车</source_value> | ||
| 1430 | + <target_value>1</target_value> | ||
| 1431 | + </field> | ||
| 1432 | + <field> | ||
| 1433 | + <source_value>机动一队</source_value> | ||
| 1434 | + <target_value>2</target_value> | ||
| 1435 | + </field> | ||
| 1436 | + <field> | ||
| 1437 | + <source_value>机动二队</source_value> | ||
| 1438 | + <target_value>3</target_value> | ||
| 1439 | + </field> | ||
| 1440 | + <field> | ||
| 1441 | + <source_value>机动三队</source_value> | ||
| 1442 | + <target_value>4</target_value> | ||
| 1443 | + </field> | ||
| 1444 | + <field> | ||
| 1445 | + <source_value>备车</source_value> | ||
| 1446 | + <target_value>5</target_value> | ||
| 1447 | + </field> | ||
| 1448 | + <field> | ||
| 1449 | + <source_value>抢修车</source_value> | ||
| 1450 | + <target_value>6</target_value> | ||
| 1451 | + </field> | ||
| 1452 | + </fields> | ||
| 1453 | + <cluster_schema/> | ||
| 1454 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 1455 | + <xloc>519</xloc> | ||
| 1456 | + <yloc>174</yloc> | ||
| 1457 | + <draw>Y</draw> | ||
| 1458 | + </GUI> | ||
| 1459 | + </step> | ||
| 1460 | + | ||
| 1461 | + <step> | ||
| 1462 | + <name>营运状态</name> | ||
| 1463 | + <type>ValueMapper</type> | ||
| 1464 | + <description/> | ||
| 1465 | + <distribute>Y</distribute> | ||
| 1466 | + <custom_distribution/> | ||
| 1467 | + <copies>1</copies> | ||
| 1468 | + <partitioning> | ||
| 1469 | + <method>none</method> | ||
| 1470 | + <schema_name/> | ||
| 1471 | + </partitioning> | ||
| 1472 | + <field_to_use>operatorsState</field_to_use> | ||
| 1473 | + <target_field/> | ||
| 1474 | + <non_match_default/> | ||
| 1475 | + <fields> | ||
| 1476 | + <field> | ||
| 1477 | + <source_value>营运</source_value> | ||
| 1478 | + <target_value>1</target_value> | ||
| 1479 | + </field> | ||
| 1480 | + <field> | ||
| 1481 | + <source_value>停运</source_value> | ||
| 1482 | + <target_value>2</target_value> | ||
| 1483 | + </field> | ||
| 1484 | + <field> | ||
| 1485 | + <source_value>挂失</source_value> | ||
| 1486 | + <target_value>3</target_value> | ||
| 1487 | + </field> | ||
| 1488 | + <field> | ||
| 1489 | + <source_value>迁出(过户)</source_value> | ||
| 1490 | + <target_value>4</target_value> | ||
| 1491 | + </field> | ||
| 1492 | + <field> | ||
| 1493 | + <source_value>迁出(转籍)</source_value> | ||
| 1494 | + <target_value>5</target_value> | ||
| 1495 | + </field> | ||
| 1496 | + <field> | ||
| 1497 | + <source_value>报废</source_value> | ||
| 1498 | + <target_value>6</target_value> | ||
| 1499 | + </field> | ||
| 1500 | + <field> | ||
| 1501 | + <source_value>歇业</source_value> | ||
| 1502 | + <target_value>7</target_value> | ||
| 1503 | + </field> | ||
| 1504 | + <field> | ||
| 1505 | + <source_value>注销</source_value> | ||
| 1506 | + <target_value>8</target_value> | ||
| 1507 | + </field> | ||
| 1508 | + <field> | ||
| 1509 | + <source_value>测试</source_value> | ||
| 1510 | + <target_value>9</target_value> | ||
| 1511 | + </field> | ||
| 1512 | + <field> | ||
| 1513 | + <source_value>其他</source_value> | ||
| 1514 | + <target_value>10</target_value> | ||
| 1515 | + </field> | ||
| 1516 | + </fields> | ||
| 1517 | + <cluster_schema/> | ||
| 1518 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 1519 | + <xloc>615</xloc> | ||
| 1520 | + <yloc>173</yloc> | ||
| 1521 | + <draw>Y</draw> | ||
| 1522 | + </GUI> | ||
| 1523 | + </step> | ||
| 1524 | + | ||
| 1525 | + <step> | ||
| 1526 | + <name>车辆类型</name> | ||
| 1527 | + <type>ValueMapper</type> | ||
| 1528 | + <description/> | ||
| 1529 | + <distribute>Y</distribute> | ||
| 1530 | + <custom_distribution/> | ||
| 1531 | + <copies>1</copies> | ||
| 1532 | + <partitioning> | ||
| 1533 | + <method>none</method> | ||
| 1534 | + <schema_name/> | ||
| 1535 | + </partitioning> | ||
| 1536 | + <field_to_use>carType</field_to_use> | ||
| 1537 | + <target_field/> | ||
| 1538 | + <non_match_default/> | ||
| 1539 | + <fields> | ||
| 1540 | + <field> | ||
| 1541 | + <source_value>营运车</source_value> | ||
| 1542 | + <target_value>1</target_value> | ||
| 1543 | + </field> | ||
| 1544 | + <field> | ||
| 1545 | + <source_value>包车</source_value> | ||
| 1546 | + <target_value>2</target_value> | ||
| 1547 | + </field> | ||
| 1548 | + <field> | ||
| 1549 | + <source_value>学校班车</source_value> | ||
| 1550 | + <target_value>3</target_value> | ||
| 1551 | + </field> | ||
| 1552 | + <field> | ||
| 1553 | + <source_value>公司班车</source_value> | ||
| 1554 | + <target_value>4</target_value> | ||
| 1555 | + </field> | ||
| 1556 | + <field> | ||
| 1557 | + <source_value>待报废车</source_value> | ||
| 1558 | + <target_value>5</target_value> | ||
| 1559 | + </field> | ||
| 1560 | + <field> | ||
| 1561 | + <source_value>备车</source_value> | ||
| 1562 | + <target_value>6</target_value> | ||
| 1563 | + </field> | ||
| 1564 | + <field> | ||
| 1565 | + <source_value>测试设备</source_value> | ||
| 1566 | + <target_value>7</target_value> | ||
| 1567 | + </field> | ||
| 1568 | + </fields> | ||
| 1569 | + <cluster_schema/> | ||
| 1570 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 1571 | + <xloc>521</xloc> | ||
| 1572 | + <yloc>275</yloc> | ||
| 1573 | + <draw>Y</draw> | ||
| 1574 | + </GUI> | ||
| 1575 | + </step> | ||
| 1576 | + | ||
| 1577 | + <step> | ||
| 1578 | + <name>车辆编码</name> | ||
| 1579 | + <type>Constant</type> | ||
| 1580 | + <description/> | ||
| 1581 | + <distribute>Y</distribute> | ||
| 1582 | + <custom_distribution/> | ||
| 1583 | + <copies>1</copies> | ||
| 1584 | + <partitioning> | ||
| 1585 | + <method>none</method> | ||
| 1586 | + <schema_name/> | ||
| 1587 | + </partitioning> | ||
| 1588 | + <fields> | ||
| 1589 | + <field> | ||
| 1590 | + <name>carCode</name> | ||
| 1591 | + <type>String</type> | ||
| 1592 | + <format/> | ||
| 1593 | + <currency/> | ||
| 1594 | + <decimal/> | ||
| 1595 | + <group/> | ||
| 1596 | + <nullif>1</nullif> | ||
| 1597 | + <length>-1</length> | ||
| 1598 | + <precision>-1</precision> | ||
| 1599 | + <set_empty_string>N</set_empty_string> | ||
| 1600 | + </field> | ||
| 1601 | + </fields> | ||
| 1602 | + <cluster_schema/> | ||
| 1603 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 1604 | + <xloc>820</xloc> | ||
| 1605 | + <yloc>272</yloc> | ||
| 1606 | + <draw>Y</draw> | ||
| 1607 | + </GUI> | ||
| 1608 | + </step> | ||
| 1609 | + | ||
| 1610 | + <step> | ||
| 1611 | + <name>错误输出 2</name> | ||
| 1612 | + <type>ExcelOutput</type> | ||
| 1613 | + <description/> | ||
| 1614 | + <distribute>Y</distribute> | ||
| 1615 | + <custom_distribution/> | ||
| 1616 | + <copies>1</copies> | ||
| 1617 | + <partitioning> | ||
| 1618 | + <method>none</method> | ||
| 1619 | + <schema_name/> | ||
| 1620 | + </partitioning> | ||
| 1621 | + <header>Y</header> | ||
| 1622 | + <footer>N</footer> | ||
| 1623 | + <encoding/> | ||
| 1624 | + <append>N</append> | ||
| 1625 | + <add_to_result_filenames>Y</add_to_result_filenames> | ||
| 1626 | + <file> | ||
| 1627 | + <name>${erroroutputdir}/车辆基础信息_错误</name> | ||
| 1628 | + <extention>xls</extention> | ||
| 1629 | + <do_not_open_newfile_init>N</do_not_open_newfile_init> | ||
| 1630 | + <create_parent_folder>N</create_parent_folder> | ||
| 1631 | + <split>N</split> | ||
| 1632 | + <add_date>N</add_date> | ||
| 1633 | + <add_time>N</add_time> | ||
| 1634 | + <SpecifyFormat>N</SpecifyFormat> | ||
| 1635 | + <date_time_format/> | ||
| 1636 | + <sheetname>Sheet1</sheetname> | ||
| 1637 | + <autosizecolums>N</autosizecolums> | ||
| 1638 | + <nullisblank>N</nullisblank> | ||
| 1639 | + <protect_sheet>N</protect_sheet> | ||
| 1640 | + <password>Encrypted </password> | ||
| 1641 | + <splitevery>0</splitevery> | ||
| 1642 | + <usetempfiles>N</usetempfiles> | ||
| 1643 | + <tempdirectory/> | ||
| 1644 | + </file> | ||
| 1459 | <template> | 1645 | <template> |
| 1460 | <enabled>N</enabled> | 1646 | <enabled>N</enabled> |
| 1461 | <append>N</append> | 1647 | <append>N</append> |
| @@ -1672,16 +1858,58 @@ | @@ -1672,16 +1858,58 @@ | ||
| 1672 | </custom> | 1858 | </custom> |
| 1673 | <cluster_schema/> | 1859 | <cluster_schema/> |
| 1674 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | 1860 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> |
| 1675 | - <xloc>637</xloc> | ||
| 1676 | - <yloc>320</yloc> | 1861 | + <xloc>633</xloc> |
| 1862 | + <yloc>364</yloc> | ||
| 1863 | + <draw>Y</draw> | ||
| 1864 | + </GUI> | ||
| 1865 | + </step> | ||
| 1866 | + | ||
| 1867 | + <step> | ||
| 1868 | + <name>公交企业代码查询</name> | ||
| 1869 | + <type>DBLookup</type> | ||
| 1870 | + <description/> | ||
| 1871 | + <distribute>Y</distribute> | ||
| 1872 | + <custom_distribution/> | ||
| 1873 | + <copies>1</copies> | ||
| 1874 | + <partitioning> | ||
| 1875 | + <method>none</method> | ||
| 1876 | + <schema_name/> | ||
| 1877 | + </partitioning> | ||
| 1878 | + <connection>bus_control_variable</connection> | ||
| 1879 | + <cache>N</cache> | ||
| 1880 | + <cache_load_all>N</cache_load_all> | ||
| 1881 | + <cache_size>0</cache_size> | ||
| 1882 | + <lookup> | ||
| 1883 | + <schema/> | ||
| 1884 | + <table>bsth_c_business</table> | ||
| 1885 | + <orderby/> | ||
| 1886 | + <fail_on_multiple>N</fail_on_multiple> | ||
| 1887 | + <eat_row_on_failure>N</eat_row_on_failure> | ||
| 1888 | + <key> | ||
| 1889 | + <name>company</name> | ||
| 1890 | + <field>business_name</field> | ||
| 1891 | + <condition>=</condition> | ||
| 1892 | + <name2/> | ||
| 1893 | + </key> | ||
| 1894 | + <value> | ||
| 1895 | + <name>business_code</name> | ||
| 1896 | + <rename>businessCode</rename> | ||
| 1897 | + <default/> | ||
| 1898 | + <type>String</type> | ||
| 1899 | + </value> | ||
| 1900 | + </lookup> | ||
| 1901 | + <cluster_schema/> | ||
| 1902 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 1903 | + <xloc>839</xloc> | ||
| 1904 | + <yloc>169</yloc> | ||
| 1677 | <draw>Y</draw> | 1905 | <draw>Y</draw> |
| 1678 | </GUI> | 1906 | </GUI> |
| 1679 | </step> | 1907 | </step> |
| 1680 | 1908 | ||
| 1681 | <step_error_handling> | 1909 | <step_error_handling> |
| 1682 | <error> | 1910 | <error> |
| 1683 | - <source_step>插入/更新bsth_c_cars</source_step> | ||
| 1684 | - <target_step>错误输出</target_step> | 1911 | + <source_step>插入/更新bsth_c_cars 2</source_step> |
| 1912 | + <target_step>错误输出 2</target_step> | ||
| 1685 | <is_enabled>Y</is_enabled> | 1913 | <is_enabled>Y</is_enabled> |
| 1686 | <nr_valuename>error_count</nr_valuename> | 1914 | <nr_valuename>error_count</nr_valuename> |
| 1687 | <descriptions_valuename>error_desc</descriptions_valuename> | 1915 | <descriptions_valuename>error_desc</descriptions_valuename> |
src/main/resources/datatools/ktrs/carsDataOutput.ktr
0 → 100644
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | ||
| 2 | +<transformation> | ||
| 3 | + <info> | ||
| 4 | + <name>carsDataOutput</name> | ||
| 5 | + <description>车辆信息导出</description> | ||
| 6 | + <extended_description>车辆基础信息</extended_description> | ||
| 7 | + <trans_version/> | ||
| 8 | + <trans_type>Normal</trans_type> | ||
| 9 | + <trans_status>0</trans_status> | ||
| 10 | + <directory>/</directory> | ||
| 11 | + <parameters> | ||
| 12 | + <parameter> | ||
| 13 | + <name>filepath</name> | ||
| 14 | + <default_value/> | ||
| 15 | + <description>excel文件路径</description> | ||
| 16 | + </parameter> | ||
| 17 | + </parameters> | ||
| 18 | + <log> | ||
| 19 | +<trans-log-table><connection/> | ||
| 20 | +<schema/> | ||
| 21 | +<table/> | ||
| 22 | +<size_limit_lines/> | ||
| 23 | +<interval/> | ||
| 24 | +<timeout_days/> | ||
| 25 | +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STATUS</id><enabled>Y</enabled><name>STATUS</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name><subject/></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name><subject/></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name><subject/></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name><subject/></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name><subject/></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name><subject/></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>STARTDATE</id><enabled>Y</enabled><name>STARTDATE</name></field><field><id>ENDDATE</id><enabled>Y</enabled><name>ENDDATE</name></field><field><id>LOGDATE</id><enabled>Y</enabled><name>LOGDATE</name></field><field><id>DEPDATE</id><enabled>Y</enabled><name>DEPDATE</name></field><field><id>REPLAYDATE</id><enabled>Y</enabled><name>REPLAYDATE</name></field><field><id>LOG_FIELD</id><enabled>Y</enabled><name>LOG_FIELD</name></field><field><id>EXECUTING_SERVER</id><enabled>N</enabled><name>EXECUTING_SERVER</name></field><field><id>EXECUTING_USER</id><enabled>N</enabled><name>EXECUTING_USER</name></field><field><id>CLIENT</id><enabled>N</enabled><name>CLIENT</name></field></trans-log-table> | ||
| 26 | +<perf-log-table><connection/> | ||
| 27 | +<schema/> | ||
| 28 | +<table/> | ||
| 29 | +<interval/> | ||
| 30 | +<timeout_days/> | ||
| 31 | +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>SEQ_NR</id><enabled>Y</enabled><name>SEQ_NR</name></field><field><id>LOGDATE</id><enabled>Y</enabled><name>LOGDATE</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STEPNAME</id><enabled>Y</enabled><name>STEPNAME</name></field><field><id>STEP_COPY</id><enabled>Y</enabled><name>STEP_COPY</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>INPUT_BUFFER_ROWS</id><enabled>Y</enabled><name>INPUT_BUFFER_ROWS</name></field><field><id>OUTPUT_BUFFER_ROWS</id><enabled>Y</enabled><name>OUTPUT_BUFFER_ROWS</name></field></perf-log-table> | ||
| 32 | +<channel-log-table><connection/> | ||
| 33 | +<schema/> | ||
| 34 | +<table/> | ||
| 35 | +<timeout_days/> | ||
| 36 | +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>LOGGING_OBJECT_TYPE</id><enabled>Y</enabled><name>LOGGING_OBJECT_TYPE</name></field><field><id>OBJECT_NAME</id><enabled>Y</enabled><name>OBJECT_NAME</name></field><field><id>OBJECT_COPY</id><enabled>Y</enabled><name>OBJECT_COPY</name></field><field><id>REPOSITORY_DIRECTORY</id><enabled>Y</enabled><name>REPOSITORY_DIRECTORY</name></field><field><id>FILENAME</id><enabled>Y</enabled><name>FILENAME</name></field><field><id>OBJECT_ID</id><enabled>Y</enabled><name>OBJECT_ID</name></field><field><id>OBJECT_REVISION</id><enabled>Y</enabled><name>OBJECT_REVISION</name></field><field><id>PARENT_CHANNEL_ID</id><enabled>Y</enabled><name>PARENT_CHANNEL_ID</name></field><field><id>ROOT_CHANNEL_ID</id><enabled>Y</enabled><name>ROOT_CHANNEL_ID</name></field></channel-log-table> | ||
| 37 | +<step-log-table><connection/> | ||
| 38 | +<schema/> | ||
| 39 | +<table/> | ||
| 40 | +<timeout_days/> | ||
| 41 | +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STEPNAME</id><enabled>Y</enabled><name>STEPNAME</name></field><field><id>STEP_COPY</id><enabled>Y</enabled><name>STEP_COPY</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>LOG_FIELD</id><enabled>N</enabled><name>LOG_FIELD</name></field></step-log-table> | ||
| 42 | +<metrics-log-table><connection/> | ||
| 43 | +<schema/> | ||
| 44 | +<table/> | ||
| 45 | +<timeout_days/> | ||
| 46 | +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>METRICS_DATE</id><enabled>Y</enabled><name>METRICS_DATE</name></field><field><id>METRICS_CODE</id><enabled>Y</enabled><name>METRICS_CODE</name></field><field><id>METRICS_DESCRIPTION</id><enabled>Y</enabled><name>METRICS_DESCRIPTION</name></field><field><id>METRICS_SUBJECT</id><enabled>Y</enabled><name>METRICS_SUBJECT</name></field><field><id>METRICS_TYPE</id><enabled>Y</enabled><name>METRICS_TYPE</name></field><field><id>METRICS_VALUE</id><enabled>Y</enabled><name>METRICS_VALUE</name></field></metrics-log-table> | ||
| 47 | + </log> | ||
| 48 | + <maxdate> | ||
| 49 | + <connection/> | ||
| 50 | + <table/> | ||
| 51 | + <field/> | ||
| 52 | + <offset>0.0</offset> | ||
| 53 | + <maxdiff>0.0</maxdiff> | ||
| 54 | + </maxdate> | ||
| 55 | + <size_rowset>10000</size_rowset> | ||
| 56 | + <sleep_time_empty>50</sleep_time_empty> | ||
| 57 | + <sleep_time_full>50</sleep_time_full> | ||
| 58 | + <unique_connections>N</unique_connections> | ||
| 59 | + <feedback_shown>Y</feedback_shown> | ||
| 60 | + <feedback_size>50000</feedback_size> | ||
| 61 | + <using_thread_priorities>Y</using_thread_priorities> | ||
| 62 | + <shared_objects_file/> | ||
| 63 | + <capture_step_performance>N</capture_step_performance> | ||
| 64 | + <step_performance_capturing_delay>1000</step_performance_capturing_delay> | ||
| 65 | + <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit> | ||
| 66 | + <dependencies> | ||
| 67 | + </dependencies> | ||
| 68 | + <partitionschemas> | ||
| 69 | + </partitionschemas> | ||
| 70 | + <slaveservers> | ||
| 71 | + </slaveservers> | ||
| 72 | + <clusterschemas> | ||
| 73 | + </clusterschemas> | ||
| 74 | + <created_user>-</created_user> | ||
| 75 | + <created_date>2016/08/05 16:42:22.753</created_date> | ||
| 76 | + <modified_user>-</modified_user> | ||
| 77 | + <modified_date>2016/08/05 16:42:22.753</modified_date> | ||
| 78 | + <key_for_session_key/> | ||
| 79 | + <is_key_private>N</is_key_private> | ||
| 80 | + </info> | ||
| 81 | + <notepads> | ||
| 82 | + </notepads> | ||
| 83 | + <connection> | ||
| 84 | + <name>bus_control_variable</name> | ||
| 85 | + <server>${v_db_ip}</server> | ||
| 86 | + <type>MYSQL</type> | ||
| 87 | + <access>Native</access> | ||
| 88 | + <database>control</database> | ||
| 89 | + <port>3306</port> | ||
| 90 | + <username>${v_db_uname}</username> | ||
| 91 | + <password>${v_db_pwd}</password> | ||
| 92 | + <servername/> | ||
| 93 | + <data_tablespace/> | ||
| 94 | + <index_tablespace/> | ||
| 95 | + <attributes> | ||
| 96 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | ||
| 97 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | ||
| 98 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | ||
| 99 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | ||
| 100 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | ||
| 101 | + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | ||
| 102 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | ||
| 103 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | ||
| 104 | + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute> | ||
| 105 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 106 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 107 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 108 | + </attributes> | ||
| 109 | + </connection> | ||
| 110 | + <connection> | ||
| 111 | + <name>bus_control_公司_201</name> | ||
| 112 | + <server>localhost</server> | ||
| 113 | + <type>MYSQL</type> | ||
| 114 | + <access>Native</access> | ||
| 115 | + <database>control</database> | ||
| 116 | + <port>3306</port> | ||
| 117 | + <username>root</username> | ||
| 118 | + <password>Encrypted </password> | ||
| 119 | + <servername/> | ||
| 120 | + <data_tablespace/> | ||
| 121 | + <index_tablespace/> | ||
| 122 | + <attributes> | ||
| 123 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | ||
| 124 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | ||
| 125 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | ||
| 126 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | ||
| 127 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | ||
| 128 | + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | ||
| 129 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | ||
| 130 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | ||
| 131 | + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute> | ||
| 132 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 133 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 134 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 135 | + </attributes> | ||
| 136 | + </connection> | ||
| 137 | + <connection> | ||
| 138 | + <name>bus_control_本机</name> | ||
| 139 | + <server>localhost</server> | ||
| 140 | + <type>MYSQL</type> | ||
| 141 | + <access>Native</access> | ||
| 142 | + <database>control</database> | ||
| 143 | + <port>3306</port> | ||
| 144 | + <username>root</username> | ||
| 145 | + <password>Encrypted </password> | ||
| 146 | + <servername/> | ||
| 147 | + <data_tablespace/> | ||
| 148 | + <index_tablespace/> | ||
| 149 | + <attributes> | ||
| 150 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | ||
| 151 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | ||
| 152 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | ||
| 153 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | ||
| 154 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | ||
| 155 | + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | ||
| 156 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | ||
| 157 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | ||
| 158 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | ||
| 159 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 160 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 161 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 162 | + </attributes> | ||
| 163 | + </connection> | ||
| 164 | + <connection> | ||
| 165 | + <name>xlab_mysql_youle</name> | ||
| 166 | + <server>101.231.124.8</server> | ||
| 167 | + <type>MYSQL</type> | ||
| 168 | + <access>Native</access> | ||
| 169 | + <database>xlab_youle</database> | ||
| 170 | + <port>45687</port> | ||
| 171 | + <username>xlab-youle</username> | ||
| 172 | + <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password> | ||
| 173 | + <servername/> | ||
| 174 | + <data_tablespace/> | ||
| 175 | + <index_tablespace/> | ||
| 176 | + <attributes> | ||
| 177 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | ||
| 178 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | ||
| 179 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | ||
| 180 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | ||
| 181 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | ||
| 182 | + <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute> | ||
| 183 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | ||
| 184 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | ||
| 185 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | ||
| 186 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute> | ||
| 187 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute> | ||
| 188 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 189 | + </attributes> | ||
| 190 | + </connection> | ||
| 191 | + <connection> | ||
| 192 | + <name>xlab_mysql_youle(本机)</name> | ||
| 193 | + <server>localhost</server> | ||
| 194 | + <type>MYSQL</type> | ||
| 195 | + <access>Native</access> | ||
| 196 | + <database>xlab_youle</database> | ||
| 197 | + <port>3306</port> | ||
| 198 | + <username>root</username> | ||
| 199 | + <password>Encrypted </password> | ||
| 200 | + <servername/> | ||
| 201 | + <data_tablespace/> | ||
| 202 | + <index_tablespace/> | ||
| 203 | + <attributes> | ||
| 204 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | ||
| 205 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | ||
| 206 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | ||
| 207 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | ||
| 208 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | ||
| 209 | + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | ||
| 210 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | ||
| 211 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | ||
| 212 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | ||
| 213 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute> | ||
| 214 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute> | ||
| 215 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 216 | + </attributes> | ||
| 217 | + </connection> | ||
| 218 | + <connection> | ||
| 219 | + <name>xlab_youle</name> | ||
| 220 | + <server/> | ||
| 221 | + <type>MYSQL</type> | ||
| 222 | + <access>JNDI</access> | ||
| 223 | + <database>xlab_youle</database> | ||
| 224 | + <port>1521</port> | ||
| 225 | + <username/> | ||
| 226 | + <password>Encrypted </password> | ||
| 227 | + <servername/> | ||
| 228 | + <data_tablespace/> | ||
| 229 | + <index_tablespace/> | ||
| 230 | + <attributes> | ||
| 231 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | ||
| 232 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | ||
| 233 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | ||
| 234 | + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute> | ||
| 235 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | ||
| 236 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | ||
| 237 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | ||
| 238 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 239 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 240 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 241 | + </attributes> | ||
| 242 | + </connection> | ||
| 243 | + <order> | ||
| 244 | + <hop> <from>表输入</from><to>Excel输出</to><enabled>Y</enabled> </hop> | ||
| 245 | + </order> | ||
| 246 | + <step> | ||
| 247 | + <name>表输入</name> | ||
| 248 | + <type>TableInput</type> | ||
| 249 | + <description/> | ||
| 250 | + <distribute>Y</distribute> | ||
| 251 | + <custom_distribution/> | ||
| 252 | + <copies>1</copies> | ||
| 253 | + <partitioning> | ||
| 254 | + <method>none</method> | ||
| 255 | + <schema_name/> | ||
| 256 | + </partitioning> | ||
| 257 | + <connection>bus_control_variable</connection> | ||
| 258 | + <sql>SELECT * FROM control.bsth_c_cars;</sql> | ||
| 259 | + <limit>0</limit> | ||
| 260 | + <lookup/> | ||
| 261 | + <execute_each_row>N</execute_each_row> | ||
| 262 | + <variables_active>N</variables_active> | ||
| 263 | + <lazy_conversion_active>N</lazy_conversion_active> | ||
| 264 | + <cluster_schema/> | ||
| 265 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 266 | + <xloc>105</xloc> | ||
| 267 | + <yloc>67</yloc> | ||
| 268 | + <draw>Y</draw> | ||
| 269 | + </GUI> | ||
| 270 | + </step> | ||
| 271 | + | ||
| 272 | + <step> | ||
| 273 | + <name>Excel输出</name> | ||
| 274 | + <type>ExcelOutput</type> | ||
| 275 | + <description/> | ||
| 276 | + <distribute>Y</distribute> | ||
| 277 | + <custom_distribution/> | ||
| 278 | + <copies>1</copies> | ||
| 279 | + <partitioning> | ||
| 280 | + <method>none</method> | ||
| 281 | + <schema_name/> | ||
| 282 | + </partitioning> | ||
| 283 | + <header>Y</header> | ||
| 284 | + <footer>N</footer> | ||
| 285 | + <encoding/> | ||
| 286 | + <append>N</append> | ||
| 287 | + <add_to_result_filenames>Y</add_to_result_filenames> | ||
| 288 | + <file> | ||
| 289 | + <name>${filepath}</name> | ||
| 290 | + <extention/> | ||
| 291 | + <do_not_open_newfile_init>N</do_not_open_newfile_init> | ||
| 292 | + <create_parent_folder>N</create_parent_folder> | ||
| 293 | + <split>N</split> | ||
| 294 | + <add_date>N</add_date> | ||
| 295 | + <add_time>N</add_time> | ||
| 296 | + <SpecifyFormat>N</SpecifyFormat> | ||
| 297 | + <date_time_format>yyyyMMddHHmmss</date_time_format> | ||
| 298 | + <sheetname>工作表1</sheetname> | ||
| 299 | + <autosizecolums>N</autosizecolums> | ||
| 300 | + <nullisblank>N</nullisblank> | ||
| 301 | + <protect_sheet>N</protect_sheet> | ||
| 302 | + <password>Encrypted </password> | ||
| 303 | + <splitevery>0</splitevery> | ||
| 304 | + <usetempfiles>N</usetempfiles> | ||
| 305 | + <tempdirectory/> | ||
| 306 | + </file> | ||
| 307 | + <template> | ||
| 308 | + <enabled>N</enabled> | ||
| 309 | + <append>N</append> | ||
| 310 | + <filename>template.xls</filename> | ||
| 311 | + </template> | ||
| 312 | + <fields> | ||
| 313 | + <field> | ||
| 314 | + <name>id</name> | ||
| 315 | + <type>Integer</type> | ||
| 316 | + <format/> | ||
| 317 | + </field> | ||
| 318 | + <field> | ||
| 319 | + <name>branche_company</name> | ||
| 320 | + <type>String</type> | ||
| 321 | + <format/> | ||
| 322 | + </field> | ||
| 323 | + <field> | ||
| 324 | + <name>branche_company_code</name> | ||
| 325 | + <type>String</type> | ||
| 326 | + <format/> | ||
| 327 | + </field> | ||
| 328 | + <field> | ||
| 329 | + <name>business_code</name> | ||
| 330 | + <type>String</type> | ||
| 331 | + <format/> | ||
| 332 | + </field> | ||
| 333 | + <field> | ||
| 334 | + <name>car_class</name> | ||
| 335 | + <type>String</type> | ||
| 336 | + <format/> | ||
| 337 | + </field> | ||
| 338 | + <field> | ||
| 339 | + <name>car_code</name> | ||
| 340 | + <type>String</type> | ||
| 341 | + <format/> | ||
| 342 | + </field> | ||
| 343 | + <field> | ||
| 344 | + <name>car_gride</name> | ||
| 345 | + <type>String</type> | ||
| 346 | + <format/> | ||
| 347 | + </field> | ||
| 348 | + <field> | ||
| 349 | + <name>car_number_one</name> | ||
| 350 | + <type>String</type> | ||
| 351 | + <format/> | ||
| 352 | + </field> | ||
| 353 | + <field> | ||
| 354 | + <name>car_number_two</name> | ||
| 355 | + <type>String</type> | ||
| 356 | + <format/> | ||
| 357 | + </field> | ||
| 358 | + <field> | ||
| 359 | + <name>car_ordinal</name> | ||
| 360 | + <type>String</type> | ||
| 361 | + <format/> | ||
| 362 | + </field> | ||
| 363 | + <field> | ||
| 364 | + <name>car_plate</name> | ||
| 365 | + <type>String</type> | ||
| 366 | + <format/> | ||
| 367 | + </field> | ||
| 368 | + <field> | ||
| 369 | + <name>car_seatn_number</name> | ||
| 370 | + <type>Integer</type> | ||
| 371 | + <format/> | ||
| 372 | + </field> | ||
| 373 | + <field> | ||
| 374 | + <name>car_standard</name> | ||
| 375 | + <type>String</type> | ||
| 376 | + <format/> | ||
| 377 | + </field> | ||
| 378 | + <field> | ||
| 379 | + <name>car_type</name> | ||
| 380 | + <type>String</type> | ||
| 381 | + <format/> | ||
| 382 | + </field> | ||
| 383 | + <field> | ||
| 384 | + <name>close_date</name> | ||
| 385 | + <type>Timestamp</type> | ||
| 386 | + <format/> | ||
| 387 | + </field> | ||
| 388 | + <field> | ||
| 389 | + <name>company</name> | ||
| 390 | + <type>String</type> | ||
| 391 | + <format/> | ||
| 392 | + </field> | ||
| 393 | + <field> | ||
| 394 | + <name>create_date</name> | ||
| 395 | + <type>Timestamp</type> | ||
| 396 | + <format/> | ||
| 397 | + </field> | ||
| 398 | + <field> | ||
| 399 | + <name>descriptions</name> | ||
| 400 | + <type>String</type> | ||
| 401 | + <format/> | ||
| 402 | + </field> | ||
| 403 | + <field> | ||
| 404 | + <name>emissions_standard</name> | ||
| 405 | + <type>String</type> | ||
| 406 | + <format/> | ||
| 407 | + </field> | ||
| 408 | + <field> | ||
| 409 | + <name>engine_code_one</name> | ||
| 410 | + <type>String</type> | ||
| 411 | + <format/> | ||
| 412 | + </field> | ||
| 413 | + <field> | ||
| 414 | + <name>engine_code_two</name> | ||
| 415 | + <type>String</type> | ||
| 416 | + <format/> | ||
| 417 | + </field> | ||
| 418 | + <field> | ||
| 419 | + <name>equipment_code</name> | ||
| 420 | + <type>String</type> | ||
| 421 | + <format/> | ||
| 422 | + </field> | ||
| 423 | + <field> | ||
| 424 | + <name>gburn_standard</name> | ||
| 425 | + <type>Number</type> | ||
| 426 | + <format/> | ||
| 427 | + </field> | ||
| 428 | + <field> | ||
| 429 | + <name>hvac_car</name> | ||
| 430 | + <type>Boolean</type> | ||
| 431 | + <format/> | ||
| 432 | + </field> | ||
| 433 | + <field> | ||
| 434 | + <name>inside_code</name> | ||
| 435 | + <type>String</type> | ||
| 436 | + <format/> | ||
| 437 | + </field> | ||
| 438 | + <field> | ||
| 439 | + <name>is_switch</name> | ||
| 440 | + <type>Integer</type> | ||
| 441 | + <format/> | ||
| 442 | + </field> | ||
| 443 | + <field> | ||
| 444 | + <name>kburn_standard</name> | ||
| 445 | + <type>Number</type> | ||
| 446 | + <format/> | ||
| 447 | + </field> | ||
| 448 | + <field> | ||
| 449 | + <name>led_screen</name> | ||
| 450 | + <type>Boolean</type> | ||
| 451 | + <format/> | ||
| 452 | + </field> | ||
| 453 | + <field> | ||
| 454 | + <name>make_code_one</name> | ||
| 455 | + <type>String</type> | ||
| 456 | + <format/> | ||
| 457 | + </field> | ||
| 458 | + <field> | ||
| 459 | + <name>make_code_two</name> | ||
| 460 | + <type>String</type> | ||
| 461 | + <format/> | ||
| 462 | + </field> | ||
| 463 | + <field> | ||
| 464 | + <name>open_date</name> | ||
| 465 | + <type>Timestamp</type> | ||
| 466 | + <format/> | ||
| 467 | + </field> | ||
| 468 | + <field> | ||
| 469 | + <name>operators_state</name> | ||
| 470 | + <type>String</type> | ||
| 471 | + <format/> | ||
| 472 | + </field> | ||
| 473 | + <field> | ||
| 474 | + <name>scrap_code</name> | ||
| 475 | + <type>String</type> | ||
| 476 | + <format/> | ||
| 477 | + </field> | ||
| 478 | + <field> | ||
| 479 | + <name>scrap_date</name> | ||
| 480 | + <type>Timestamp</type> | ||
| 481 | + <format/> | ||
| 482 | + </field> | ||
| 483 | + <field> | ||
| 484 | + <name>scrap_state</name> | ||
| 485 | + <type>Boolean</type> | ||
| 486 | + <format/> | ||
| 487 | + </field> | ||
| 488 | + <field> | ||
| 489 | + <name>sfdc</name> | ||
| 490 | + <type>Boolean</type> | ||
| 491 | + <format/> | ||
| 492 | + </field> | ||
| 493 | + <field> | ||
| 494 | + <name>speed</name> | ||
| 495 | + <type>Number</type> | ||
| 496 | + <format/> | ||
| 497 | + </field> | ||
| 498 | + <field> | ||
| 499 | + <name>supplier_name</name> | ||
| 500 | + <type>String</type> | ||
| 501 | + <format/> | ||
| 502 | + </field> | ||
| 503 | + <field> | ||
| 504 | + <name>ticket_type</name> | ||
| 505 | + <type>Boolean</type> | ||
| 506 | + <format/> | ||
| 507 | + </field> | ||
| 508 | + <field> | ||
| 509 | + <name>tv_video_type</name> | ||
| 510 | + <type>Boolean</type> | ||
| 511 | + <format/> | ||
| 512 | + </field> | ||
| 513 | + <field> | ||
| 514 | + <name>update_date</name> | ||
| 515 | + <type>Timestamp</type> | ||
| 516 | + <format/> | ||
| 517 | + </field> | ||
| 518 | + <field> | ||
| 519 | + <name>vehicle_stats</name> | ||
| 520 | + <type>String</type> | ||
| 521 | + <format/> | ||
| 522 | + </field> | ||
| 523 | + <field> | ||
| 524 | + <name>video_code</name> | ||
| 525 | + <type>String</type> | ||
| 526 | + <format/> | ||
| 527 | + </field> | ||
| 528 | + <field> | ||
| 529 | + <name>xlmc</name> | ||
| 530 | + <type>String</type> | ||
| 531 | + <format/> | ||
| 532 | + </field> | ||
| 533 | + <field> | ||
| 534 | + <name>create_by</name> | ||
| 535 | + <type>Integer</type> | ||
| 536 | + <format/> | ||
| 537 | + </field> | ||
| 538 | + <field> | ||
| 539 | + <name>update_by</name> | ||
| 540 | + <type>Integer</type> | ||
| 541 | + <format/> | ||
| 542 | + </field> | ||
| 543 | + </fields> | ||
| 544 | + <custom> | ||
| 545 | + <header_font_name>arial</header_font_name> | ||
| 546 | + <header_font_size>10</header_font_size> | ||
| 547 | + <header_font_bold>N</header_font_bold> | ||
| 548 | + <header_font_italic>N</header_font_italic> | ||
| 549 | + <header_font_underline>no</header_font_underline> | ||
| 550 | + <header_font_orientation>horizontal</header_font_orientation> | ||
| 551 | + <header_font_color>black</header_font_color> | ||
| 552 | + <header_background_color>none</header_background_color> | ||
| 553 | + <header_row_height>255</header_row_height> | ||
| 554 | + <header_alignment>left</header_alignment> | ||
| 555 | + <header_image/> | ||
| 556 | + <row_font_name>arial</row_font_name> | ||
| 557 | + <row_font_size>10</row_font_size> | ||
| 558 | + <row_font_color>black</row_font_color> | ||
| 559 | + <row_background_color>none</row_background_color> | ||
| 560 | + </custom> | ||
| 561 | + <cluster_schema/> | ||
| 562 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 563 | + <xloc>305</xloc> | ||
| 564 | + <yloc>67</yloc> | ||
| 565 | + <draw>Y</draw> | ||
| 566 | + </GUI> | ||
| 567 | + </step> | ||
| 568 | + | ||
| 569 | + <step_error_handling> | ||
| 570 | + </step_error_handling> | ||
| 571 | + <slave-step-copy-partition-distribution> | ||
| 572 | +</slave-step-copy-partition-distribution> | ||
| 573 | + <slave_transformation>N</slave_transformation> | ||
| 574 | + | ||
| 575 | +</transformation> |
src/main/resources/static/pages/scheduleApp/module/basicInfo/busInfoManage/busInfoManage.js
| @@ -63,11 +63,20 @@ angular.module('ScheduleApp').factory('BusInfoManageService', ['BusInfoManageSer | @@ -63,11 +63,20 @@ angular.module('ScheduleApp').factory('BusInfoManageService', ['BusInfoManageSer | ||
| 63 | */ | 63 | */ |
| 64 | saveDetail: function(obj) { | 64 | saveDetail: function(obj) { |
| 65 | return service.rest.save(obj).$promise; | 65 | return service.rest.save(obj).$promise; |
| 66 | + }, | ||
| 67 | + /** | ||
| 68 | + * 数据导出。 | ||
| 69 | + * @returns {*|Function|promise|n} | ||
| 70 | + */ | ||
| 71 | + dataExport: function() { | ||
| 72 | + return service.dataTools.dataExport().$promise; | ||
| 66 | } | 73 | } |
| 67 | }; | 74 | }; |
| 68 | }]); | 75 | }]); |
| 69 | 76 | ||
| 70 | -angular.module('ScheduleApp').controller('BusInfoManageCtrl', ['BusInfoManageService','$state', '$uibModal', function(busInfoManageService, $state, $uibModal) { | 77 | +angular.module('ScheduleApp').controller('BusInfoManageCtrl', [ |
| 78 | + 'BusInfoManageService','$state', '$uibModal', 'FileDownload_g', | ||
| 79 | + function(busInfoManageService, $state, $uibModal, fileDownload) { | ||
| 71 | var self = this; | 80 | var self = this; |
| 72 | 81 | ||
| 73 | // 切换到form状态 | 82 | // 切换到form状态 |
| @@ -101,6 +110,18 @@ angular.module('ScheduleApp').controller('BusInfoManageCtrl', ['BusInfoManageSer | @@ -101,6 +110,18 @@ angular.module('ScheduleApp').controller('BusInfoManageCtrl', ['BusInfoManageSer | ||
| 101 | } | 110 | } |
| 102 | ); | 111 | ); |
| 103 | }; | 112 | }; |
| 113 | + | ||
| 114 | + // 导出excel | ||
| 115 | + self.exportData = function() { | ||
| 116 | + busInfoManageService.dataExport().then( | ||
| 117 | + function(result) { | ||
| 118 | + fileDownload.downloadFile(result.data, "application/octet-stream", "车辆基础信息.xls"); | ||
| 119 | + }, | ||
| 120 | + function(result) { | ||
| 121 | + console.log("exportData failed:" + result); | ||
| 122 | + } | ||
| 123 | + ); | ||
| 124 | + }; | ||
| 104 | }]); | 125 | }]); |
| 105 | 126 | ||
| 106 | angular.module('ScheduleApp').controller('BusInfoManageToolsCtrl', ['$modalInstance', 'FileUploader', function($modalInstance, FileUploader) { | 127 | angular.module('ScheduleApp').controller('BusInfoManageToolsCtrl', ['$modalInstance', 'FileUploader', function($modalInstance, FileUploader) { |
src/main/resources/static/pages/scheduleApp/module/basicInfo/busInfoManage/index.html
| @@ -46,18 +46,18 @@ | @@ -46,18 +46,18 @@ | ||
| 46 | </a> | 46 | </a> |
| 47 | </li> | 47 | </li> |
| 48 | <li> | 48 | <li> |
| 49 | - <a href="javascript:" class="tool-action"> | 49 | + <a href="javascript:" class="tool-action" ng-click="ctrl.exportData()"> |
| 50 | <i class="fa fa-file-excel-o"></i> | 50 | <i class="fa fa-file-excel-o"></i> |
| 51 | 导出excel | 51 | 导出excel |
| 52 | </a> | 52 | </a> |
| 53 | </li> | 53 | </li> |
| 54 | - <li class="divider"></li> | ||
| 55 | - <li> | ||
| 56 | - <a href="javascript:" class="tool-action"> | ||
| 57 | - <i class="fa fa-download"></i> | ||
| 58 | - excel模版 | ||
| 59 | - </a> | ||
| 60 | - </li> | 54 | + <!--<li class="divider"></li>--> |
| 55 | + <!--<li>--> | ||
| 56 | + <!--<a href="javascript:" class="tool-action">--> | ||
| 57 | + <!--<i class="fa fa-download"></i>--> | ||
| 58 | + <!--excel模版--> | ||
| 59 | + <!--</a>--> | ||
| 60 | + <!--</li>--> | ||
| 61 | </ul> | 61 | </ul> |
| 62 | </div> | 62 | </div> |
| 63 | </div> | 63 | </div> |
src/main/resources/static/pages/scheduleApp/module/common/prj-common-globalservice.js
| 1 | // 项目通用的全局service服务,供不同的controller使用,自定义指令不使用 | 1 | // 项目通用的全局service服务,供不同的controller使用,自定义指令不使用 |
| 2 | 2 | ||
| 3 | +// 文件下载服务 | ||
| 4 | +angular.module('ScheduleApp').factory('FileDownload_g', function() { | ||
| 5 | + return { | ||
| 6 | + downloadFile: function (data, mimeType, fileName) { | ||
| 7 | + var success = false; | ||
| 8 | + var blob = new Blob([data], { type: mimeType }); | ||
| 9 | + try { | ||
| 10 | + if (navigator.msSaveBlob) | ||
| 11 | + navigator.msSaveBlob(blob, fileName); | ||
| 12 | + else { | ||
| 13 | + // Try using other saveBlob implementations, if available | ||
| 14 | + var saveBlob = navigator.webkitSaveBlob || navigator.mozSaveBlob || navigator.saveBlob; | ||
| 15 | + if (saveBlob === undefined) throw "Not supported"; | ||
| 16 | + saveBlob(blob, fileName); | ||
| 17 | + } | ||
| 18 | + success = true; | ||
| 19 | + } catch (ex) { | ||
| 20 | + console.log("saveBlob method failed with the following exception:"); | ||
| 21 | + console.log(ex); | ||
| 22 | + } | ||
| 23 | + | ||
| 24 | + if (!success) { | ||
| 25 | + // Get the blob url creator | ||
| 26 | + var urlCreator = window.URL || window.webkitURL || window.mozURL || window.msURL; | ||
| 27 | + if (urlCreator) { | ||
| 28 | + // Try to use a download link | ||
| 29 | + var link = document.createElement('a'); | ||
| 30 | + if ('download' in link) { | ||
| 31 | + // Try to simulate a click | ||
| 32 | + try { | ||
| 33 | + // Prepare a blob URL | ||
| 34 | + var url = urlCreator.createObjectURL(blob); | ||
| 35 | + link.setAttribute('href', url); | ||
| 36 | + | ||
| 37 | + // Set the download attribute (Supported in Chrome 14+ / Firefox 20+) | ||
| 38 | + link.setAttribute("download", fileName); | ||
| 39 | + | ||
| 40 | + // Simulate clicking the download link | ||
| 41 | + var event = document.createEvent('MouseEvents'); | ||
| 42 | + event.initMouseEvent('click', true, true, window, 1, 0, 0, 0, 0, false, false, false, false, 0, null); | ||
| 43 | + link.dispatchEvent(event); | ||
| 44 | + success = true; | ||
| 45 | + | ||
| 46 | + } catch (ex) { | ||
| 47 | + console.log("Download link method with simulated click failed with the following exception:"); | ||
| 48 | + console.log(ex); | ||
| 49 | + } | ||
| 50 | + } | ||
| 51 | + | ||
| 52 | + if (!success) { | ||
| 53 | + // Fallback to window.location method | ||
| 54 | + try { | ||
| 55 | + // Prepare a blob URL | ||
| 56 | + // Use application/octet-stream when using window.location to force download | ||
| 57 | + var url = urlCreator.createObjectURL(blob); | ||
| 58 | + window.location = url; | ||
| 59 | + console.log("Download link method with window.location succeeded"); | ||
| 60 | + success = true; | ||
| 61 | + } catch (ex) { | ||
| 62 | + console.log("Download link method with window.location failed with the following exception:"); | ||
| 63 | + console.log(ex); | ||
| 64 | + } | ||
| 65 | + } | ||
| 66 | + } | ||
| 67 | + } | ||
| 68 | + | ||
| 69 | + if (!success) { | ||
| 70 | + // Fallback to window.open method | ||
| 71 | + console.log("No methods worked for saving the arraybuffer, using last resort window.open"); | ||
| 72 | + window.open("", '_blank', ''); | ||
| 73 | + } | ||
| 74 | + } | ||
| 75 | + }; | ||
| 76 | +}); | ||
| 77 | + | ||
| 3 | // 车辆信息service | 78 | // 车辆信息service |
| 4 | angular.module('ScheduleApp').factory('BusInfoManageService_g', ['$resource', function($resource) { | 79 | angular.module('ScheduleApp').factory('BusInfoManageService_g', ['$resource', function($resource) { |
| 5 | return { | 80 | return { |
| @@ -29,6 +104,22 @@ angular.module('ScheduleApp').factory('BusInfoManageService_g', ['$resource', fu | @@ -29,6 +104,22 @@ angular.module('ScheduleApp').factory('BusInfoManageService_g', ['$resource', fu | ||
| 29 | method: 'GET' | 104 | method: 'GET' |
| 30 | } | 105 | } |
| 31 | } | 106 | } |
| 107 | + ), | ||
| 108 | + dataTools: $resource( | ||
| 109 | + '/cars/:type', | ||
| 110 | + {}, | ||
| 111 | + { | ||
| 112 | + dataExport: { | ||
| 113 | + method: 'GET', | ||
| 114 | + responseType: "arraybuffer", | ||
| 115 | + params: { | ||
| 116 | + type: "dataExport" | ||
| 117 | + }, | ||
| 118 | + transformResponse: function(data, headers){ | ||
| 119 | + return {data : data}; | ||
| 120 | + } | ||
| 121 | + } | ||
| 122 | + } | ||
| 32 | ) | 123 | ) |
| 33 | }; | 124 | }; |
| 34 | }]); | 125 | }]); |