Compare commits
14 Commits
main
...
feature-从t
Author | SHA1 | Date | |
---|---|---|---|
911f6ce6b9 | |||
565b575b6a | |||
2ec4f9186d | |||
455b96415f | |||
07ace8a30b | |||
f5c01bc8b8 | |||
97f518ad43 | |||
b0d6d59699 | |||
1f371d1e5c | |||
e506cbb60c | |||
890c5097e3 | |||
6aab32adf1 | |||
986d6b02b6 | |||
e481303a0c |
13
README.md
13
README.md
@@ -1,3 +1,12 @@
|
|||||||
# east-utils
|
<h1 style="font-size:4rem;text-align:center;color:red;" align="center" title >EAST 数据处理工具</h1>
|
||||||
|
|
||||||
EAST数据处理工具。
|
<p align="center"></p>
|
||||||
|
|
||||||
|
# 概述
|
||||||
|
|
||||||
|
这是产险厦门分公司用于处理EAST数据的工具。
|
||||||
|
|
||||||
|
## 功能描述
|
||||||
|
|
||||||
|
- 拆分过大的txt文件;
|
||||||
|
- 文件转换成excel表格用于核对;
|
25
code/east-datafile-utils/.editorconfig
Normal file
25
code/east-datafile-utils/.editorconfig
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
# top-most EditorConfig file
|
||||||
|
root = true
|
||||||
|
|
||||||
|
[*]
|
||||||
|
charset = utf-8
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 4
|
||||||
|
end_of_line = lf
|
||||||
|
insert_final_newline = true
|
||||||
|
trim_trailing_whitespace = true
|
||||||
|
|
||||||
|
[*.js]
|
||||||
|
indent_size = 4
|
||||||
|
|
||||||
|
[*.ts]
|
||||||
|
indent_size = 4
|
||||||
|
|
||||||
|
[*.py]
|
||||||
|
indent_size = 4
|
||||||
|
|
||||||
|
[*.java]
|
||||||
|
indent_size = 4
|
||||||
|
|
||||||
|
[*.xml]
|
||||||
|
indent_size = 2
|
@@ -1,12 +1,3 @@
|
|||||||
/*
|
|
||||||
* @Author: Kane
|
|
||||||
* @Date: 2025-03-16 00:35:09
|
|
||||||
* @LastEditors: Kane
|
|
||||||
* @FilePath: /cpicxim-huixiabao/.vscode/fileheader.template.js
|
|
||||||
* @Description:
|
|
||||||
*
|
|
||||||
* Copyright (c) ${2023} by Kane, All Rights Reserved.
|
|
||||||
*/
|
|
||||||
/**
|
/**
|
||||||
* This file is generated by VSCode extension: Fileheader Pro
|
* This file is generated by VSCode extension: Fileheader Pro
|
||||||
*/
|
*/
|
||||||
@@ -26,10 +17,10 @@
|
|||||||
* @property {string} dirPath the directory path, relative to project root with POSIX path separator
|
* @property {string} dirPath the directory path, relative to project root with POSIX path separator
|
||||||
* @property {string} fileName filename with extension
|
* @property {string} fileName filename with extension
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @typedef {string | number | null | undefined | Template | boolean} TemplateInterpolation NOTE: boolean or falsy value will render empty string
|
* @typedef {string | number | null | undefined | Template | boolean} TemplateInterpolation NOTE: boolean or falsy value will render empty string
|
||||||
*
|
*
|
||||||
* @typedef {{ strings: TemplateStringsArray; interpolations: TemplateInterpolation[]; }} Template
|
* @typedef {{ strings: TemplateStringsArray; interpolations: TemplateInterpolation[]; }} Template
|
||||||
* @typedef {(strings: TemplateStringsArray, ...values: any[]) => string} ITemplateFunction
|
* @typedef {(strings: TemplateStringsArray, ...values: any[]) => string} ITemplateFunction
|
||||||
*
|
*
|
||||||
@@ -71,14 +62,14 @@ class CustomLanguageProvider extends globalThis.FileheaderLanguageProvider {
|
|||||||
// prettier-ignore
|
// prettier-ignore
|
||||||
return tpl
|
return tpl
|
||||||
`/**
|
`/**
|
||||||
* @Author: ${variables.authorName} <${variables.authorEmail}>
|
* @Author: ${variables.authorName} <${variables.authorEmail}>
|
||||||
* @Date: ${variables.birthtime}
|
* @Date: ${variables.birthtime}
|
||||||
* @LastEditors: ${variables.userName}
|
* @LastEditors: ${variables.userName}
|
||||||
* @LastModified: ${variables.mtime}
|
* @LastModified: ${variables.mtime}
|
||||||
* @FilePath: ${variables.filePath}
|
* @FilePath: ${variables.filePath}
|
||||||
* @Description:
|
* @Description:
|
||||||
*
|
*
|
||||||
* Copyright (c) ${2025} by Kane All rights reserved
|
* Copyright (c) ${2025} by Kane All rights reserved
|
||||||
*/`;
|
*/`;
|
||||||
}
|
}
|
||||||
}
|
}
|
30
code/east-datafile-utils/.vscode/launch.json
vendored
Normal file
30
code/east-datafile-utils/.vscode/launch.json
vendored
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
{
|
||||||
|
// 使用 IntelliSense 了解相关属性。
|
||||||
|
// 悬停以查看现有属性的描述。
|
||||||
|
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
|
||||||
|
"version": "0.2.0",
|
||||||
|
"configurations": [
|
||||||
|
|
||||||
|
{
|
||||||
|
"type": "java",
|
||||||
|
"name": "Current File",
|
||||||
|
"request": "launch",
|
||||||
|
"mainClass": "${file}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "java",
|
||||||
|
"name": "App",
|
||||||
|
"request": "launch",
|
||||||
|
"mainClass": "com.cpic.xim.App",
|
||||||
|
"projectName": "east-utils"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "java",
|
||||||
|
"name": "Debug",
|
||||||
|
"request": "launch",
|
||||||
|
"mainClass": "com.cpic.xim.App",
|
||||||
|
"projectName": "east-utils",
|
||||||
|
"args": ["-Xms512m", "-Xmx8g"]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@@ -8,15 +8,15 @@
|
|||||||
<artifactId>east-utils</artifactId>
|
<artifactId>east-utils</artifactId>
|
||||||
<version>20250808.1921</version>
|
<version>20250808.1921</version>
|
||||||
|
|
||||||
<name>east</name>
|
<name>east-utils</name>
|
||||||
<!-- FIXME change it to the project's website -->
|
<url>http://www.cpic.com.cn</url>
|
||||||
<url>http://www.example.com</url>
|
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
<maven.compiler.release>17</maven.compiler.release>
|
<maven.compiler.release>17</maven.compiler.release>
|
||||||
<log4j.version>2.24.3</log4j.version>
|
<log4j.version>2.25.1</log4j.version>
|
||||||
<jackson.version>2.19.2</jackson.version>
|
<jackson.version>2.19.2</jackson.version>
|
||||||
|
<!-- <jackson.version>LATEST</jackson.version> -->
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
<dependencyManagement>
|
<dependencyManagement>
|
||||||
@@ -43,6 +43,7 @@
|
|||||||
<artifactId>junit-jupiter-params</artifactId>
|
<artifactId>junit-jupiter-params</artifactId>
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<!-- POI -->
|
<!-- POI -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.apache.poi</groupId>
|
<groupId>org.apache.poi</groupId>
|
||||||
@@ -64,7 +65,8 @@
|
|||||||
<artifactId>poi-ooxml-schemas</artifactId>
|
<artifactId>poi-ooxml-schemas</artifactId>
|
||||||
<version>4.1.2</version>
|
<version>4.1.2</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<!--jackson-->
|
|
||||||
|
<!--jackson-->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.fasterxml.jackson.core</groupId>
|
<groupId>com.fasterxml.jackson.core</groupId>
|
||||||
<artifactId>jackson-databind</artifactId>
|
<artifactId>jackson-databind</artifactId>
|
||||||
@@ -82,6 +84,23 @@
|
|||||||
<artifactId>jackson-annotations</artifactId>
|
<artifactId>jackson-annotations</artifactId>
|
||||||
<version>${jackson.version}</version>
|
<version>${jackson.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
<!-- log-4j -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.apache.logging.log4j</groupId>
|
||||||
|
<artifactId>log4j-core</artifactId>
|
||||||
|
<version>${log4j.version}</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.apache.logging.log4j</groupId>
|
||||||
|
<artifactId>log4j-slf4j2-impl</artifactId>
|
||||||
|
<version>${log4j.version}</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.apache.logging.log4j</groupId>
|
||||||
|
<artifactId>log4j-api</artifactId>
|
||||||
|
<version>${log4j.version}</version>
|
||||||
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
@@ -149,4 +168,4 @@
|
|||||||
</plugin>
|
</plugin>
|
||||||
</plugins>
|
</plugins>
|
||||||
</build>
|
</build>
|
||||||
</project>
|
</project>
|
13
code/east-datafile-utils/readme.md
Normal file
13
code/east-datafile-utils/readme.md
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
<h1 style="font-size:4rem;text-align:center;color:red;" align="center" title >EAST 数据处理工具</h1>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# 概述
|
||||||
|
|
||||||
|
这是产险厦门分公司用于处理EAST数据的工具。
|
||||||
|
|
||||||
|
## 功能描述
|
||||||
|
|
||||||
|
- 拆分过大的txt文件;
|
||||||
|
- 文件转换成excel表格用于核对;
|
||||||
|
|
@@ -5,16 +5,14 @@
|
|||||||
* @LastModified: 2025-08-08 19:05:06
|
* @LastModified: 2025-08-08 19:05:06
|
||||||
* @FilePath: src/main/java/com/cpic/xim/App.java
|
* @FilePath: src/main/java/com/cpic/xim/App.java
|
||||||
* @Description:
|
* @Description:
|
||||||
*
|
*
|
||||||
* Copyright (c) 2025 by Kane All rights reserved
|
* Copyright (c) 2025 by Kane All rights reserved
|
||||||
*/
|
*/
|
||||||
package com.cpic.xim;
|
package com.cpic.xim;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
import com.cpic.xim.east.utils.DataFileSpliter;
|
||||||
|
|
||||||
/**
|
|
||||||
* Hello world!
|
|
||||||
*/
|
|
||||||
public class App
|
public class App
|
||||||
{
|
{
|
||||||
private static final int MAX_LINE_COUNT_PER_FILE = 250000;
|
private static final int MAX_LINE_COUNT_PER_FILE = 250000;
|
||||||
@@ -24,9 +22,16 @@ public class App
|
|||||||
{
|
{
|
||||||
String fileNameBDJBXXB = "L:\\east\\MD5_BDJCXX_BDJBXXB_RESULT_3080100.txt";
|
String fileNameBDJBXXB = "L:\\east\\MD5_BDJCXX_BDJBXXB_RESULT_3080100.txt";
|
||||||
|
|
||||||
com.cpic.xim.east.utils.DataFileSpliter.splitFile( new File( fileNameBDJBXXB ),
|
try
|
||||||
MAX_LINE_COUNT_PER_FILE,
|
{
|
||||||
TITLE_BDJBXXB );
|
DataFileSpliter.splitFile( new File( fileNameBDJBXXB ),
|
||||||
|
MAX_LINE_COUNT_PER_FILE,
|
||||||
|
TITLE_BDJBXXB );
|
||||||
|
}
|
||||||
|
catch ( Exception error )
|
||||||
|
{
|
||||||
|
error.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
System.out.println( "拆完了!" );
|
System.out.println( "拆完了!" );
|
||||||
}
|
}
|
@@ -0,0 +1,140 @@
|
|||||||
|
/**
|
||||||
|
* @Author: Kane Wang <wangkane@qq.com>
|
||||||
|
* @Date: 2025-08-09 01:09:26
|
||||||
|
* @LastEditors: Kane Wang
|
||||||
|
* @LastModified: 2025-08-11 15:54:24
|
||||||
|
* @FilePath: src/main/java/com/cpic/xim/east/utils/DataFileConverter.java
|
||||||
|
* @Description:
|
||||||
|
*
|
||||||
|
* Copyright (c) 2025 by Kane All rights reserved
|
||||||
|
*/
|
||||||
|
package com.cpic.xim.east.utils;
|
||||||
|
|
||||||
|
import java.io.BufferedReader;
|
||||||
|
import java.io.FileNotFoundException;
|
||||||
|
import java.io.FileOutputStream;
|
||||||
|
import java.io.FileReader;
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
|
import org.apache.poi.ss.usermodel.Row;
|
||||||
|
import org.apache.poi.ss.usermodel.Sheet;
|
||||||
|
import org.apache.poi.ss.usermodel.Workbook;
|
||||||
|
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
public class DataFileConverter
|
||||||
|
{
|
||||||
|
private static Logger logger = LoggerFactory.getLogger( DataFileConverter.class );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 将txt格式的east数据文件,转换成excel文件。
|
||||||
|
* 逐行转换,每行数据用split拆分。
|
||||||
|
* 使用SXSSFWorkbook格式的对象。用于转换超大规模excel文件。
|
||||||
|
*
|
||||||
|
* @param eastDataFilePath east数据文件路径
|
||||||
|
* @param xlsxFilePath 输出的excel文件路径
|
||||||
|
* @param spliterString 数据单元正则表达式分隔符
|
||||||
|
* @param sheetName sheet名称
|
||||||
|
* @throws FileNotFoundException
|
||||||
|
* @throws IOException
|
||||||
|
*/
|
||||||
|
public static void convertEASTDataFileToXLSX(
|
||||||
|
String eastDataFilePath,
|
||||||
|
String xlsxFilePath,
|
||||||
|
String spliterString,
|
||||||
|
String sheetName
|
||||||
|
)
|
||||||
|
throws FileNotFoundException,
|
||||||
|
IOException
|
||||||
|
{
|
||||||
|
FileOutputStream xlsxFile = null;
|
||||||
|
BufferedReader reader = null;
|
||||||
|
Workbook workbook = null;
|
||||||
|
Sheet sheet = null;
|
||||||
|
|
||||||
|
String line;
|
||||||
|
int rowIndex = 0;
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
reader = new BufferedReader( new FileReader( eastDataFilePath ) );
|
||||||
|
}
|
||||||
|
catch ( IOException error )
|
||||||
|
{
|
||||||
|
logger.error( "打开文件" + eastDataFilePath + "失败!!!!" );
|
||||||
|
|
||||||
|
throw error;
|
||||||
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
workbook = new SXSSFWorkbook();
|
||||||
|
sheet = workbook.createSheet( sheetName );
|
||||||
|
|
||||||
|
while ( (line = reader.readLine()) != null )
|
||||||
|
{
|
||||||
|
String[] rowData = line.split( spliterString );
|
||||||
|
Row row = sheet.createRow( rowIndex );
|
||||||
|
int cellIndex = 0;
|
||||||
|
|
||||||
|
for ( String cellData : rowData )
|
||||||
|
{
|
||||||
|
row.createCell( cellIndex++ ).setCellValue( cellData );
|
||||||
|
}
|
||||||
|
|
||||||
|
rowIndex++;
|
||||||
|
}
|
||||||
|
|
||||||
|
xlsxFile = new FileOutputStream( xlsxFilePath );
|
||||||
|
workbook.write( xlsxFile );
|
||||||
|
|
||||||
|
xlsxFile.close();
|
||||||
|
workbook.close();
|
||||||
|
reader.close();
|
||||||
|
}
|
||||||
|
catch ( IOException error )
|
||||||
|
{
|
||||||
|
throw error;
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
if ( xlsxFile != null )
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
xlsxFile.close();
|
||||||
|
}
|
||||||
|
catch ( IOException error )
|
||||||
|
{
|
||||||
|
error.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( workbook != null )
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
workbook.close();
|
||||||
|
}
|
||||||
|
catch ( IOException error )
|
||||||
|
{
|
||||||
|
error.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( reader != null )
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
reader.close();
|
||||||
|
}
|
||||||
|
catch ( IOException error )
|
||||||
|
{
|
||||||
|
error.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
@@ -1,11 +1,11 @@
|
|||||||
/**
|
/**
|
||||||
* @Author: Kane Wang <wangkane@qq.com>
|
* @Author: Kane Wang <wangkane@qq.com>
|
||||||
* @Date: 2025-08-08 17:23:44
|
* @Date: 2025-08-09 00:10:12
|
||||||
* @LastEditors: Kane Wang
|
* @LastEditors: Kane Wang
|
||||||
* @LastModified: 2025-08-08 17:25:07
|
* @LastModified: 2025-08-09 12:06:41
|
||||||
* @FilePath: src/main/java/com/cpic/xim/east/utils/DataFileSpliter.java
|
* @FilePath: src/main/java/com/cpic/xim/east/utils/DataFileSpliter.java
|
||||||
* @Description:
|
* @Description:
|
||||||
*
|
*
|
||||||
* Copyright (c) 2025 by Kane All rights reserved
|
* Copyright (c) 2025 by Kane All rights reserved
|
||||||
*/
|
*/
|
||||||
package com.cpic.xim.east.utils;
|
package com.cpic.xim.east.utils;
|
||||||
@@ -13,9 +13,12 @@ package com.cpic.xim.east.utils;
|
|||||||
import java.io.BufferedReader;
|
import java.io.BufferedReader;
|
||||||
import java.io.BufferedWriter;
|
import java.io.BufferedWriter;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
import java.io.FileNotFoundException;
|
||||||
import java.io.FileReader;
|
import java.io.FileReader;
|
||||||
import java.io.FileWriter;
|
import java.io.FileWriter;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Kane
|
* @author Kane
|
||||||
@@ -23,8 +26,14 @@ import java.io.IOException;
|
|||||||
*/
|
*/
|
||||||
public class DataFileSpliter
|
public class DataFileSpliter
|
||||||
{
|
{
|
||||||
|
private static Logger logger = LoggerFactory.getLogger( DataFileSpliter.class );
|
||||||
|
|
||||||
public static void splitFile( File inputFile, int lineCountPerFile , String titleString )
|
public static void splitFile( File inputFile,
|
||||||
|
int lineCountPerFile,
|
||||||
|
String titleString
|
||||||
|
)
|
||||||
|
throws FileNotFoundException,
|
||||||
|
IOException
|
||||||
{
|
{
|
||||||
try (
|
try (
|
||||||
BufferedReader reader = new BufferedReader( new FileReader( inputFile ) )
|
BufferedReader reader = new BufferedReader( new FileReader( inputFile ) )
|
||||||
@@ -45,7 +54,7 @@ public class DataFileSpliter
|
|||||||
fileCount++;
|
fileCount++;
|
||||||
lineCount = 0;
|
lineCount = 0;
|
||||||
|
|
||||||
writer = createWriterForFile( inputFile, fileCount );
|
writer = createWriterForFile( inputFile, fileCount );
|
||||||
}
|
}
|
||||||
|
|
||||||
// 如果是第一行,则写入标题
|
// 如果是第一行,则写入标题
|
||||||
@@ -61,9 +70,11 @@ public class DataFileSpliter
|
|||||||
}
|
}
|
||||||
writer.close();
|
writer.close();
|
||||||
}
|
}
|
||||||
catch ( IOException e )
|
catch ( IOException error )
|
||||||
{
|
{
|
||||||
e.printStackTrace();
|
logger.error( "出现异常" + error.getMessage() );
|
||||||
|
|
||||||
|
throw error;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -73,7 +84,7 @@ public class DataFileSpliter
|
|||||||
{
|
{
|
||||||
String outputFileName = String.format( "%s_part%d.txt", inputFile.getName(), fileCount );
|
String outputFileName = String.format( "%s_part%d.txt", inputFile.getName(), fileCount );
|
||||||
FileWriter fileWriter = new FileWriter( new File( inputFile.getParent(), outputFileName ) );
|
FileWriter fileWriter = new FileWriter( new File( inputFile.getParent(), outputFileName ) );
|
||||||
|
|
||||||
return new BufferedWriter( fileWriter );
|
return new BufferedWriter( fileWriter );
|
||||||
}
|
}
|
||||||
catch ( IOException e )
|
catch ( IOException e )
|
3
code/east-datafile-utils/src/main/resources/config.json
Normal file
3
code/east-datafile-utils/src/main/resources/config.json
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"version": "1.0"
|
||||||
|
}
|
40
code/east-datafile-utils/src/main/resources/log4j2.xml
Normal file
40
code/east-datafile-utils/src/main/resources/log4j2.xml
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
<Configuration status="WARN" monitorInterval="300">
|
||||||
|
<Appenders>
|
||||||
|
<Console name="Console" target="SYSTEM_OUT">
|
||||||
|
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} ### %msg%n" />
|
||||||
|
<ThresholdFilter level="trace" onMatch="ACCEPT" onMismatch="DENY" />
|
||||||
|
</Console>
|
||||||
|
<RollingFile name="rolling_file_win"
|
||||||
|
filePattern="./logs/$${date:yyyy-MM}/huixiabao-%d{MM-dd-yyyy}-%i.log.gz">
|
||||||
|
<PatternLayout>
|
||||||
|
<Pattern>[%t][%level][%d{HH:mm:ss.SSS}][%logger.%M{36}#%L] %msg%n</Pattern>
|
||||||
|
</PatternLayout>
|
||||||
|
<Policies>
|
||||||
|
<TimeBasedTriggeringPolicy interval="1" />
|
||||||
|
<SizeBasedTriggeringPolicy size="20MB" />
|
||||||
|
<DefaultRolloverStrategy max="20" />
|
||||||
|
</Policies>
|
||||||
|
</RollingFile>
|
||||||
|
<RollingFile name="rolling_file_linux"
|
||||||
|
filePattern="/logs/east/$${date:yyyy-MM}/app-%d{MM-dd-yyyy}-%i.log.gz">
|
||||||
|
<PatternLayout>
|
||||||
|
<Pattern>[%t][%level][%d{HH:mm:ss.SSS}][%logger.%M{36}#%L] %msg%n</Pattern>
|
||||||
|
</PatternLayout>
|
||||||
|
<Policies>
|
||||||
|
<TimeBasedTriggeringPolicy interval="1" />
|
||||||
|
<SizeBasedTriggeringPolicy size="20MB" />
|
||||||
|
<DefaultRolloverStrategy max="20" />
|
||||||
|
</Policies>
|
||||||
|
</RollingFile>
|
||||||
|
</Appenders>
|
||||||
|
<Loggers>
|
||||||
|
<!-- <Logger name="mylog" level="info">
|
||||||
|
<AppenderRef ref="rolling_file" />
|
||||||
|
</Logger> -->
|
||||||
|
<Root level="debug">
|
||||||
|
<AppenderRef ref="rolling_file_linux" />
|
||||||
|
<AppenderRef ref="rolling_file_win" />
|
||||||
|
<AppenderRef ref="Console" />
|
||||||
|
</Root>
|
||||||
|
</Loggers>
|
||||||
|
</Configuration>
|
68
文档/EAST表结构/dbload_dm3.txt
Normal file
68
文档/EAST表结构/dbload_dm3.txt
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
dir="/cpic/cpicapp/east"
|
||||||
|
dmdir="/cpic/cpicapp/dm3/bin"
|
||||||
|
cd $dir
|
||||||
|
|
||||||
|
if [ $# -ne 1 ];then
|
||||||
|
cat << EOF
|
||||||
|
Usage: $0 dirname
|
||||||
|
dirname
|
||||||
|
EOF
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
dirname=$1
|
||||||
|
|
||||||
|
|
||||||
|
list=`ls ${dirname}/*.txt`
|
||||||
|
for line in $list
|
||||||
|
##cat table.list|while read line
|
||||||
|
do
|
||||||
|
filename=${line#*/}
|
||||||
|
tabname="EAST_"${filename%-*}
|
||||||
|
echo $tabname
|
||||||
|
|
||||||
|
##将表名转换为小写
|
||||||
|
c_tabname=`echo "${tabname}"|tr [A-Z] [a-z]`
|
||||||
|
|
||||||
|
##c_tabname=`echo "${tabname}"`
|
||||||
|
echo $c_tabname
|
||||||
|
|
||||||
|
|
||||||
|
result=`${dmdir}/disql ****/'"********"'@*******:***** << !
|
||||||
|
set heading off
|
||||||
|
set feedback off
|
||||||
|
set pagesize 0
|
||||||
|
set verify off
|
||||||
|
set echo off
|
||||||
|
set lineshow off
|
||||||
|
SET TIMING off
|
||||||
|
|
||||||
|
select '|'||trim(LISTAGG(column_name,',')within group(order by column_id))||'|' from (select column_name||'#'||case when data_type in('CHAR','VARCHAR2','NVARCHAR2','VARCHAR','TEXT') AND DATA_LENGTH > 255 THEN 'CHAR(8000)' ELSE '' END column_name,column_id from user_tab_columns ta where table_name = upper('${tabname}'));
|
||||||
|
|
||||||
|
exit
|
||||||
|
!`
|
||||||
|
|
||||||
|
echo $result>clumns01.txt
|
||||||
|
result2=`cut -d$'|' -f2 clumns01.txt`
|
||||||
|
echo $result2>clumns01.txt
|
||||||
|
sed s/[[:space:]]//g clumns01.txt>clumns.txt
|
||||||
|
sed -i 's/#/ /g' clumns.txt
|
||||||
|
|
||||||
|
##拼装control文件
|
||||||
|
echo "load data">tmp.ctl
|
||||||
|
echo "infile '${dir}/import20250630/${filename}'">>tmp.ctl
|
||||||
|
##echo "infile '${dir}/import20250228/${c_tabname}.txt'">>tmp.ctl
|
||||||
|
echo "badfile '${dir}/bad/${c_tabname}.bad'">>tmp.ctl
|
||||||
|
echo "into table ${c_tabname}">>tmp.ctl
|
||||||
|
echo "fields terminated by ' '" >> tmp.ctl
|
||||||
|
##echo "fields ' '">>tmp.ctl
|
||||||
|
echo "(">>tmp.ctl
|
||||||
|
cat clumns.txt>>tmp.ctl
|
||||||
|
echo ")">>tmp.ctl
|
||||||
|
|
||||||
|
${dmdir}/dmfldr userid=****/'"*********"'@********:***** control=\'${dir}/tmp.ctl\' null_mode=true
|
||||||
|
|
||||||
|
done
|
||||||
|
|
3306
文档/EAST表结构/east_table_create_sql.sql
Normal file
3306
文档/EAST表结构/east_table_create_sql.sql
Normal file
File diff suppressed because it is too large
Load Diff
BIN
文档/EAST表结构/规范附件3:保险业监管数据标准化规范(财产保险公司版)数据结构一览表.xlsx
Normal file
BIN
文档/EAST表结构/规范附件3:保险业监管数据标准化规范(财产保险公司版)数据结构一览表.xlsx
Normal file
Binary file not shown.
Reference in New Issue
Block a user