Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
D
datax-cloud
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
黄营
datax-cloud
Commits
2ae9758b
Commit
2ae9758b
authored
Jul 30, 2020
by
yuwei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
项目初始化
parent
5d583989
Hide whitespace changes
Inline
Side-by-side
Showing
23 changed files
with
631 additions
and
119 deletions
+631
-119
DbTable.java
.../src/main/java/cn/datax/common/database/core/DbTable.java
+1
-1
DataMetaObjectHandler.java
...cn/datax/common/mybatis/config/DataMetaObjectHandler.java
+9
-5
WordUtil.java
...ce/src/main/java/cn/datax/commo/office/word/WordUtil.java
+70
-11
DataSourceServiceFeignFallbackImpl.java
...pi/feign/fallback/DataSourceServiceFeignFallbackImpl.java
+5
-0
DataMetadataTableDto.java
...x/service/data/metadata/api/dto/DataMetadataTableDto.java
+2
-0
DataMetadataColumnEntity.java
...ce/data/metadata/api/entity/DataMetadataColumnEntity.java
+11
-4
DataMetadataTableEntity.java
...ice/data/metadata/api/entity/DataMetadataTableEntity.java
+16
-4
MetadataDatabase.java
...ax/service/data/metadata/api/office/MetadataDatabase.java
+188
-0
DataMetadataColumnVo.java
...ax/service/data/metadata/api/vo/DataMetadataColumnVo.java
+0
-5
DataMetadataTableVo.java
...tax/service/data/metadata/api/vo/DataMetadataTableVo.java
+1
-5
pom.xml
...ata-metadata-service-parent/data-metadata-service/pom.xml
+5
-0
AsyncTask.java
.../java/cn/datax/service/data/metadata/async/AsyncTask.java
+91
-0
DataMetadataController.java
...vice/data/metadata/controller/DataMetadataController.java
+26
-1
DataMetadataService.java
...ax/service/data/metadata/service/DataMetadataService.java
+4
-0
DataMetadataServiceImpl.java
...e/data/metadata/service/impl/DataMetadataServiceImpl.java
+94
-53
DataMetadataColumnMapper.xml
...ce/src/main/resources/mapper/DataMetadataColumnMapper.xml
+0
-12
DataMetadataTableMapper.xml
...ice/src/main/resources/mapper/DataMetadataTableMapper.xml
+2
-13
template_1.0.0.doc
...a-service/src/main/resources/templates/template_1.0.0.doc
+4
-0
datacolumn.js
datax-ui/src/api/metadata/datacolumn.js
+54
-0
metadata.js
datax-ui/src/api/metadata/metadata.js
+16
-0
DataSourceAdd.vue
datax-ui/src/views/factory/datasource/DataSourceAdd.vue
+0
-2
DataSourceDetail.vue
datax-ui/src/views/factory/datasource/DataSourceDetail.vue
+32
-1
DataSourceEdit.vue
datax-ui/src/views/factory/datasource/DataSourceEdit.vue
+0
-2
No files found.
datax-common/datax-common-database/src/main/java/cn/datax/common/database/core/DbTable.java
View file @
2ae9758b
...
@@ -11,7 +11,7 @@ public class DbTable {
...
@@ -11,7 +11,7 @@ public class DbTable {
private
String
tableName
;
private
String
tableName
;
/**
/**
* 表
的
注释
* 表注释
*/
*/
private
String
tableComment
;
private
String
tableComment
;
}
}
datax-common/datax-common-mybatis/src/main/java/cn/datax/common/mybatis/config/DataMetaObjectHandler.java
View file @
2ae9758b
...
@@ -2,6 +2,7 @@ package cn.datax.common.mybatis.config;
...
@@ -2,6 +2,7 @@ package cn.datax.common.mybatis.config;
import
cn.datax.common.core.DataConstant
;
import
cn.datax.common.core.DataConstant
;
import
cn.datax.common.utils.SecurityUtil
;
import
cn.datax.common.utils.SecurityUtil
;
import
cn.hutool.core.util.StrUtil
;
import
com.baomidou.mybatisplus.core.handlers.MetaObjectHandler
;
import
com.baomidou.mybatisplus.core.handlers.MetaObjectHandler
;
import
org.apache.ibatis.reflection.MetaObject
;
import
org.apache.ibatis.reflection.MetaObject
;
...
@@ -15,11 +16,12 @@ public class DataMetaObjectHandler implements MetaObjectHandler {
...
@@ -15,11 +16,12 @@ public class DataMetaObjectHandler implements MetaObjectHandler {
this
.
strictInsertFill
(
metaObject
,
"updateTime"
,
LocalDateTime
.
class
,
LocalDateTime
.
now
());
this
.
strictInsertFill
(
metaObject
,
"updateTime"
,
LocalDateTime
.
class
,
LocalDateTime
.
now
());
this
.
strictInsertFill
(
metaObject
,
"status"
,
String
.
class
,
DataConstant
.
EnableState
.
ENABLE
.
getKey
());
this
.
strictInsertFill
(
metaObject
,
"status"
,
String
.
class
,
DataConstant
.
EnableState
.
ENABLE
.
getKey
());
String
userId
=
getUserId
();
String
userId
=
getUserId
();
this
.
strictInsertFill
(
metaObject
,
"createBy"
,
String
.
class
,
userId
);
if
(
StrUtil
.
isNotBlank
(
userId
))
{
this
.
strictInsertFill
(
metaObject
,
"updateBy"
,
String
.
class
,
userId
);
this
.
strictInsertFill
(
metaObject
,
"createBy"
,
String
.
class
,
userId
);
this
.
strictInsertFill
(
metaObject
,
"updateBy"
,
String
.
class
,
userId
);
}
boolean
bolCreateDept
=
metaObject
.
hasSetter
(
"createDept"
);
boolean
bolCreateDept
=
metaObject
.
hasSetter
(
"createDept"
);
if
(
bolCreateDept
)
{
if
(
bolCreateDept
)
{
this
.
strictInsertFill
(
metaObject
,
"createDept"
,
String
.
class
,
getUserDeptId
());
this
.
strictInsertFill
(
metaObject
,
"createDept"
,
String
.
class
,
getUserDeptId
());
}
}
}
}
...
@@ -28,7 +30,9 @@ public class DataMetaObjectHandler implements MetaObjectHandler {
...
@@ -28,7 +30,9 @@ public class DataMetaObjectHandler implements MetaObjectHandler {
public
void
updateFill
(
MetaObject
metaObject
)
{
public
void
updateFill
(
MetaObject
metaObject
)
{
this
.
strictUpdateFill
(
metaObject
,
"updateTime"
,
LocalDateTime
.
class
,
LocalDateTime
.
now
());
this
.
strictUpdateFill
(
metaObject
,
"updateTime"
,
LocalDateTime
.
class
,
LocalDateTime
.
now
());
String
userId
=
getUserId
();
String
userId
=
getUserId
();
this
.
strictUpdateFill
(
metaObject
,
"updateBy"
,
String
.
class
,
userId
);
if
(
StrUtil
.
isNotBlank
(
userId
))
{
this
.
strictUpdateFill
(
metaObject
,
"updateBy"
,
String
.
class
,
userId
);
}
}
}
private
String
getUserId
()
{
private
String
getUserId
()
{
...
...
datax-common/datax-common-office/src/main/java/cn/datax/commo/office/word/WordUtil.java
View file @
2ae9758b
package
cn
.
datax
.
commo
.
office
.
word
;
package
cn
.
datax
.
commo
.
office
.
word
;
import
com.aspose.words.Document
;
import
com.aspose.words.*
;
import
com.aspose.words.License
;
import
com.aspose.words.SaveFormat
;
import
com.aspose.words.SaveOptions
;
import
java.io.*
;
import
java.io.*
;
import
java.math.BigDecimal
;
import
java.util.*
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
public
class
WordUtil
{
public
class
WordUtil
{
...
@@ -54,6 +48,24 @@ public class WordUtil {
...
@@ -54,6 +48,24 @@ public class WordUtil {
}
}
/**
/**
* 获取文档
*
* @return
*/
public
Document
getDocument
()
throws
Exception
{
return
new
Document
();
}
/**
* 获取文档
*
* @return
*/
public
Document
getDocument
(
InputStream
inputStream
)
throws
Exception
{
return
new
Document
(
inputStream
);
}
/**
* 普通数据模板 返回缓冲输入流
* 普通数据模板 返回缓冲输入流
*
*
* @param name
* @param name
...
@@ -147,18 +159,20 @@ public class WordUtil {
...
@@ -147,18 +159,20 @@ public class WordUtil {
doc
.
save
(
destPath
,
SaveOptions
.
createSaveOptions
(
SaveFormat
.
DOCX
));
doc
.
save
(
destPath
,
SaveOptions
.
createSaveOptions
(
SaveFormat
.
DOCX
));
}
}
public
static
void
main
(
String
[]
args
)
throws
Exception
{
//
public static void main(String[] args) throws Exception {
// Map<String, Object> map = new HashMap<>();
// Map<String, Object> map = new HashMap<>();
// map.put("companyName", "测试");
// map.put("companyName", "测试");
// map.put("totalSalary", new BigDecimal("12.34"));
// map.put("totalSalary", new BigDecimal("12.34"));
// List<Map<String, Object>> list = new ArrayList<>();
// List<Map<String, Object>> list = new ArrayList<>();
// Map<String, Object> map1 = new HashMap<>();
// Map<String, Object> map1 = new HashMap<>();
// map1.put("id", "1");
// map1.put("name", "测试1");
// map1.put("name", "测试1");
// map1.put("age", 12);
// map1.put("age", 12);
// map1.put("sex", "男");
// map1.put("sex", "男");
// map1.put("salary", new BigDecimal("5.0"));
// map1.put("salary", new BigDecimal("5.0"));
// list.add(map1);
// list.add(map1);
// Map<String, Object> map2 = new HashMap<>();
// Map<String, Object> map2 = new HashMap<>();
// map2.put("id", "2");
// map2.put("name", "测试2");
// map2.put("name", "测试2");
// map2.put("age", 14);
// map2.put("age", 14);
// map2.put("sex", "女");
// map2.put("sex", "女");
...
@@ -171,6 +185,51 @@ public class WordUtil {
...
@@ -171,6 +185,51 @@ public class WordUtil {
// objects2.add(entry.getValue());
// objects2.add(entry.getValue());
// }
// }
// WordUtil.getInstance().fillWordListData(objects1.toArray(new String[objects1.size()]), objects2.toArray(new Object[objects2.size()]), "F:\\test\\模板.docx", "F:\\test\\123.docx", list, "workerList");
// WordUtil.getInstance().fillWordListData(objects1.toArray(new String[objects1.size()]), objects2.toArray(new Object[objects2.size()]), "F:\\test\\模板.docx", "F:\\test\\123.docx", list, "workerList");
WordUtil
.
getInstance
().
word2pdf
(
"F:\\test\\审批流提交.docx"
,
"F:\\test\\20200420.pdf"
);
// WordUtil.getInstance().word2pdf("F:\\test\\审批流提交.docx", "F:\\test\\20200420.pdf");
}
// // 用户表(子表) TableStart:UserList TableEnd:UserList
// DataTable userTable = new DataTable("UserList");
// userTable.getColumns().add("id");
// userTable.getColumns().add("name");
// userTable.getColumns().add("age");
// userTable.getColumns().add("sex");
// userTable.getColumns().add("salary");
// for (int i = 1; i < 3; i++) {
// DataRow row = userTable.newRow();
// row.set(0, i);
// row.set(1, "name" + i);
// row.set(2, "age" + i);
// row.set(3, "sex" + i);
// row.set(4, "salary" + i);
// userTable.getRows().add(row);
// }
// // 分数表(子表) TableStart:ScoreList TableEnd:ScoreList
// DataTable scoreTable = new DataTable("ScoreList");
// scoreTable.getColumns().add("id");
// scoreTable.getColumns().add("uid");
// scoreTable.getColumns().add("score");
// for (int i = 1; i < 3; i++) {
// DataRow row = scoreTable.newRow();
// row.set(0, i);
// row.set(1, i);
// row.set(2, 10*i);
// scoreTable.getRows().add(row);
// }
// // 提供数据源
// DataSet dataSet = new DataSet();
// dataSet.getTables().add(userTable);
// dataSet.getTables().add(scoreTable);
// DataRelation dataRelation = new DataRelation("UserScoreRelation", userTable.getColumns().get("id"), scoreTable.getColumns().get("uid"));
// dataSet.getRelations().add(dataRelation);
// // 合并模版
// Document doc = new Document("F:\\test.docx");
// //提供数据源
// String[] fieldNames = new String[] {"name", "address"};
// Object[] fieldValues = new Object[] {"张三", "陕西咸阳"};
// //合并模版,相当于页面的渲染
// MailMerge mailMerge = doc.getMailMerge();
// mailMerge.execute(fieldNames, fieldValues);
// mailMerge.executeWithRegions(dataSet);
// doc.save("F:\\test_r.docx", SaveOptions.createSaveOptions(SaveFormat.DOCX));
// }
}
}
datax-modules/data-factory-service-parent/data-factory-service-api/src/main/java/cn/datax/service/data/factory/api/feign/fallback/DataSourceServiceFeignFallbackImpl.java
View file @
2ae9758b
...
@@ -18,4 +18,9 @@ public class DataSourceServiceFeignFallbackImpl implements DataSourceServiceFeig
...
@@ -18,4 +18,9 @@ public class DataSourceServiceFeignFallbackImpl implements DataSourceServiceFeig
log
.
error
(
"feign 调用{}出错"
,
id
,
cause
);
log
.
error
(
"feign 调用{}出错"
,
id
,
cause
);
return
null
;
return
null
;
}
}
@Override
public
void
updateDataSourceSyncById
(
String
id
)
{
log
.
error
(
"feign 调用{}出错"
,
id
,
cause
);
}
}
}
datax-modules/data-metadata-service-parent/data-metadata-service-api/src/main/java/cn/datax/service/data/metadata/api/dto/DataMetadataTableDto.java
View file @
2ae9758b
...
@@ -29,4 +29,6 @@ public class DataMetadataTableDto implements Serializable {
...
@@ -29,4 +29,6 @@ public class DataMetadataTableDto implements Serializable {
private
String
sourceId
;
private
String
sourceId
;
@ApiModelProperty
(
value
=
"表名"
)
@ApiModelProperty
(
value
=
"表名"
)
private
String
tableName
;
private
String
tableName
;
@ApiModelProperty
(
value
=
"表注释"
)
private
String
tableComment
;
}
}
datax-modules/data-metadata-service-parent/data-metadata-service-api/src/main/java/cn/datax/service/data/metadata/api/entity/DataMetadataColumnEntity.java
View file @
2ae9758b
package
cn
.
datax
.
service
.
data
.
metadata
.
api
.
entity
;
package
cn
.
datax
.
service
.
data
.
metadata
.
api
.
entity
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
cn.datax.common.base.BaseEntity
;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
lombok.experimental.Accessors
;
import
java.io.Serializable
;
/**
/**
* <p>
* <p>
* 元数据信息表
* 元数据信息表
...
@@ -15,14 +17,19 @@ import lombok.experimental.Accessors;
...
@@ -15,14 +17,19 @@ import lombok.experimental.Accessors;
* @since 2020-07-29
* @since 2020-07-29
*/
*/
@Data
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@Accessors
(
chain
=
true
)
@Accessors
(
chain
=
true
)
@TableName
(
"metadata_column"
)
@TableName
(
"metadata_column"
)
public
class
DataMetadataColumnEntity
extends
BaseEntity
{
public
class
DataMetadataColumnEntity
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
private
static
final
long
serialVersionUID
=
1L
;
/**
/**
* 主键
*/
@TableId
(
value
=
"id"
,
type
=
IdType
.
ASSIGN_ID
)
private
String
id
;
/**
* 所属数据源
* 所属数据源
*/
*/
private
String
sourceId
;
private
String
sourceId
;
...
...
datax-modules/data-metadata-service-parent/data-metadata-service-api/src/main/java/cn/datax/service/data/metadata/api/entity/DataMetadataTableEntity.java
View file @
2ae9758b
package
cn
.
datax
.
service
.
data
.
metadata
.
api
.
entity
;
package
cn
.
datax
.
service
.
data
.
metadata
.
api
.
entity
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
cn.datax.common.base.BaseEntity
;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
lombok.experimental.Accessors
;
import
java.io.Serializable
;
/**
/**
* <p>
* <p>
* 数据库表信息表
* 数据库表信息表
...
@@ -15,14 +17,19 @@ import lombok.experimental.Accessors;
...
@@ -15,14 +17,19 @@ import lombok.experimental.Accessors;
* @since 2020-07-29
* @since 2020-07-29
*/
*/
@Data
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@Accessors
(
chain
=
true
)
@Accessors
(
chain
=
true
)
@TableName
(
"metadata_table"
)
@TableName
(
"metadata_table"
)
public
class
DataMetadataTableEntity
extends
BaseEntity
{
public
class
DataMetadataTableEntity
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
private
static
final
long
serialVersionUID
=
1L
;
/**
/**
* 主键
*/
@TableId
(
value
=
"id"
,
type
=
IdType
.
ASSIGN_ID
)
private
String
id
;
/**
* 所属数据源
* 所属数据源
*/
*/
private
String
sourceId
;
private
String
sourceId
;
...
@@ -31,4 +38,9 @@ public class DataMetadataTableEntity extends BaseEntity {
...
@@ -31,4 +38,9 @@ public class DataMetadataTableEntity extends BaseEntity {
* 表名
* 表名
*/
*/
private
String
tableName
;
private
String
tableName
;
/**
* 表注释
*/
private
String
tableComment
;
}
}
datax-modules/data-metadata-service-parent/data-metadata-service-api/src/main/java/cn/datax/service/data/metadata/api/office/MetadataDatabase.java
0 → 100644
View file @
2ae9758b
package
cn
.
datax
.
service
.
data
.
metadata
.
api
.
office
;
import
java.io.Serializable
;
import
java.util.List
;
public
class
MetadataDatabase
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
private
String
database
;
private
List
<
MetadataTable
>
tables
;
public
String
getDatabase
()
{
return
database
;
}
public
void
setDatabase
(
String
database
)
{
this
.
database
=
database
;
}
public
List
<
MetadataTable
>
getTables
()
{
return
tables
;
}
public
void
setTables
(
List
<
MetadataTable
>
tables
)
{
this
.
tables
=
tables
;
}
@Override
public
String
toString
()
{
return
"MetadataDatabase{"
+
"database='"
+
database
+
'\''
+
", tables="
+
tables
+
'}'
;
}
public
class
MetadataTable
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
private
String
tableName
;
private
String
tableComment
;
private
List
<
MetadataColumn
>
columns
;
public
String
getTableName
()
{
return
tableName
;
}
public
void
setTableName
(
String
tableName
)
{
this
.
tableName
=
tableName
;
}
public
String
getTableComment
()
{
return
tableComment
;
}
public
void
setTableComment
(
String
tableComment
)
{
this
.
tableComment
=
tableComment
;
}
public
List
<
MetadataColumn
>
getColumns
()
{
return
columns
;
}
public
void
setColumns
(
List
<
MetadataColumn
>
columns
)
{
this
.
columns
=
columns
;
}
@Override
public
String
toString
()
{
return
"MetadataTable{"
+
"tableName='"
+
tableName
+
'\''
+
", tableComment='"
+
tableComment
+
'\''
+
", columns="
+
columns
+
'}'
;
}
}
public
class
MetadataColumn
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
private
String
columnPosition
;
private
String
columnName
;
private
String
dataType
;
private
String
dataLength
;
private
String
dataPrecision
;
private
String
dataScale
;
private
String
columnNullable
;
private
String
columnKey
;
private
String
dataDefault
;
private
String
columnComment
;
public
String
getColumnPosition
()
{
return
columnPosition
;
}
public
void
setColumnPosition
(
String
columnPosition
)
{
this
.
columnPosition
=
columnPosition
;
}
public
String
getColumnName
()
{
return
columnName
;
}
public
void
setColumnName
(
String
columnName
)
{
this
.
columnName
=
columnName
;
}
public
String
getDataType
()
{
return
dataType
;
}
public
void
setDataType
(
String
dataType
)
{
this
.
dataType
=
dataType
;
}
public
String
getDataLength
()
{
return
dataLength
;
}
public
void
setDataLength
(
String
dataLength
)
{
this
.
dataLength
=
dataLength
;
}
public
String
getDataPrecision
()
{
return
dataPrecision
;
}
public
void
setDataPrecision
(
String
dataPrecision
)
{
this
.
dataPrecision
=
dataPrecision
;
}
public
String
getDataScale
()
{
return
dataScale
;
}
public
void
setDataScale
(
String
dataScale
)
{
this
.
dataScale
=
dataScale
;
}
public
String
getColumnNullable
()
{
return
columnNullable
;
}
public
void
setColumnNullable
(
String
columnNullable
)
{
this
.
columnNullable
=
columnNullable
;
}
public
String
getColumnKey
()
{
return
columnKey
;
}
public
void
setColumnKey
(
String
columnKey
)
{
this
.
columnKey
=
columnKey
;
}
public
String
getDataDefault
()
{
return
dataDefault
;
}
public
void
setDataDefault
(
String
dataDefault
)
{
this
.
dataDefault
=
dataDefault
;
}
public
String
getColumnComment
()
{
return
columnComment
;
}
public
void
setColumnComment
(
String
columnComment
)
{
this
.
columnComment
=
columnComment
;
}
@Override
public
String
toString
()
{
return
"MetadataColumn{"
+
"columnPosition='"
+
columnPosition
+
'\''
+
", columnName='"
+
columnName
+
'\''
+
", dataType='"
+
dataType
+
'\''
+
", dataLength='"
+
dataLength
+
'\''
+
", dataPrecision='"
+
dataPrecision
+
'\''
+
", dataScale='"
+
dataScale
+
'\''
+
", columnNullable='"
+
columnNullable
+
'\''
+
", columnKey='"
+
columnKey
+
'\''
+
", dataDefault='"
+
dataDefault
+
'\''
+
", columnComment='"
+
columnComment
+
'\''
+
'}'
;
}
}
}
datax-modules/data-metadata-service-parent/data-metadata-service-api/src/main/java/cn/datax/service/data/metadata/api/vo/DataMetadataColumnVo.java
View file @
2ae9758b
package
cn
.
datax
.
service
.
data
.
metadata
.
api
.
vo
;
package
cn
.
datax
.
service
.
data
.
metadata
.
api
.
vo
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
lombok.Data
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
/**
/**
* <p>
* <p>
...
@@ -20,9 +18,6 @@ public class DataMetadataColumnVo implements Serializable {
...
@@ -20,9 +18,6 @@ public class DataMetadataColumnVo implements Serializable {
private
static
final
long
serialVersionUID
=
1L
;
private
static
final
long
serialVersionUID
=
1L
;
private
String
id
;
private
String
id
;
private
Integer
status
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
LocalDateTime
createTime
;
private
String
sourceId
;
private
String
sourceId
;
private
String
tableId
;
private
String
tableId
;
private
String
columnName
;
private
String
columnName
;
...
...
datax-modules/data-metadata-service-parent/data-metadata-service-api/src/main/java/cn/datax/service/data/metadata/api/vo/DataMetadataTableVo.java
View file @
2ae9758b
package
cn
.
datax
.
service
.
data
.
metadata
.
api
.
vo
;
package
cn
.
datax
.
service
.
data
.
metadata
.
api
.
vo
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
lombok.Data
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
/**
/**
* <p>
* <p>
...
@@ -20,9 +18,7 @@ public class DataMetadataTableVo implements Serializable {
...
@@ -20,9 +18,7 @@ public class DataMetadataTableVo implements Serializable {
private
static
final
long
serialVersionUID
=
1L
;
private
static
final
long
serialVersionUID
=
1L
;
private
String
id
;
private
String
id
;
private
Integer
status
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
LocalDateTime
createTime
;
private
String
sourceId
;
private
String
sourceId
;
private
String
tableName
;
private
String
tableName
;
private
String
tableComment
;
}
}
datax-modules/data-metadata-service-parent/data-metadata-service/pom.xml
View file @
2ae9758b
...
@@ -79,6 +79,11 @@
...
@@ -79,6 +79,11 @@
<artifactId>
data-factory-service-api
</artifactId>
<artifactId>
data-factory-service-api
</artifactId>
<version>
2.0.0
</version>
<version>
2.0.0
</version>
</dependency>
</dependency>
<dependency>
<groupId>
cn.datax
</groupId>
<artifactId>
datax-common-office
</artifactId>
<version>
2.0.0
</version>
</dependency>
</dependencies>
</dependencies>
<build>
<build>
...
...
datax-modules/data-metadata-service-parent/data-metadata-service/src/main/java/cn/datax/service/data/metadata/async/AsyncTask.java
0 → 100644
View file @
2ae9758b
package
cn
.
datax
.
service
.
data
.
metadata
.
async
;
import
cn.datax.common.database.DataSourceFactory
;
import
cn.datax.common.database.DbQuery
;
import
cn.datax.common.database.constants.DbQueryProperty
;
import
cn.datax.common.database.core.DbColumn
;
import
cn.datax.common.database.core.DbTable
;
import
cn.datax.service.data.factory.api.dto.DbSchema
;
import
cn.datax.service.data.factory.api.entity.DataSourceEntity
;
import
cn.datax.service.data.factory.api.feign.DataSourceServiceFeign
;
import
cn.datax.service.data.metadata.api.entity.DataMetadataColumnEntity
;
import
cn.datax.service.data.metadata.api.entity.DataMetadataTableEntity
;
import
cn.datax.service.data.metadata.dao.DataMetadataColumnDao
;
import
cn.datax.service.data.metadata.dao.DataMetadataTableDao
;
import
cn.hutool.core.collection.CollUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.scheduling.annotation.Async
;
import
org.springframework.stereotype.Component
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
* 异步处理
*/
@Slf4j
@Component
public
class
AsyncTask
{
@Autowired
private
DataSourceFactory
dataSourceFactory
;
@Autowired
private
DataSourceServiceFeign
dataSourceServiceFeign
;
@Autowired
private
DataMetadataTableDao
dataMetadataTableDao
;
@Autowired
private
DataMetadataColumnDao
dataMetadataColumnDao
;
@Async
public
void
doTask
(
DataSourceEntity
dataSource
)
{
long
start
=
System
.
currentTimeMillis
();
DbSchema
dbSchema
=
dataSource
.
getDbSchema
();
DbQueryProperty
dbQueryProperty
=
new
DbQueryProperty
(
dataSource
.
getDbType
(),
dbSchema
.
getHost
(),
dbSchema
.
getUsername
(),
dbSchema
.
getPassword
(),
dbSchema
.
getPort
(),
dbSchema
.
getDbName
(),
dbSchema
.
getSid
());
DbQuery
dbQuery
=
dataSourceFactory
.
createDbQuery
(
dbQueryProperty
);
List
<
DbTable
>
tables
=
dbQuery
.
getTables
(
dbSchema
.
getDbName
());
if
(
CollUtil
.
isNotEmpty
(
tables
))
{
List
<
DataMetadataTableEntity
>
metadataTableEntityList
=
tables
.
stream
().
map
(
table
->
{
DataMetadataTableEntity
metadataTable
=
new
DataMetadataTableEntity
();
metadataTable
.
setSourceId
(
dataSource
.
getId
());
metadataTable
.
setTableName
(
table
.
getTableName
());
metadataTable
.
setTableComment
(
table
.
getTableComment
());
return
metadataTable
;
}).
collect
(
Collectors
.
toList
());
if
(
CollUtil
.
isNotEmpty
(
metadataTableEntityList
))
{
metadataTableEntityList
.
stream
().
forEach
(
table
->
{
dataMetadataTableDao
.
insert
(
table
);
List
<
DbColumn
>
columns
=
dbQuery
.
getTableColumns
(
dbSchema
.
getDbName
(),
table
.
getTableName
());
if
(
CollUtil
.
isNotEmpty
(
columns
))
{
List
<
DataMetadataColumnEntity
>
metadataColumnEntityList
=
columns
.
stream
().
map
(
column
->
{
DataMetadataColumnEntity
metadataColumn
=
new
DataMetadataColumnEntity
();
metadataColumn
.
setSourceId
(
dataSource
.
getId
());
metadataColumn
.
setTableId
(
table
.
getId
());
metadataColumn
.
setColumnName
(
column
.
getColName
());
metadataColumn
.
setColumnComment
(
column
.
getColComment
());
metadataColumn
.
setColumnKey
(
column
.
getColKey
()
?
"1"
:
"0"
);
metadataColumn
.
setColumnNullable
(
column
.
getNullable
()
?
"1"
:
"0"
);
metadataColumn
.
setColumnPosition
(
column
.
getColPosition
().
toString
());
metadataColumn
.
setDataType
(
column
.
getDataType
());
metadataColumn
.
setDataLength
(
column
.
getDataLength
().
toString
());
metadataColumn
.
setDataPrecision
(
column
.
getDataPrecision
().
toString
());
metadataColumn
.
setDataScale
(
column
.
getDataScale
().
toString
());
metadataColumn
.
setDataDefault
(
column
.
getDataDefault
());
return
metadataColumn
;
}).
collect
(
Collectors
.
toList
());
if
(
CollUtil
.
isNotEmpty
(
metadataColumnEntityList
))
{
metadataColumnEntityList
.
stream
().
forEach
(
column
->
dataMetadataColumnDao
.
insert
(
column
));
}
}
});
}
}
dataSourceServiceFeign
.
updateDataSourceSyncById
(
dataSource
.
getId
());
log
.
info
(
"异步任务执行完成!耗时{}秒"
,
(
System
.
currentTimeMillis
()
-
start
/
1000
));
}
}
\ No newline at end of file
datax-modules/data-metadata-service-parent/data-metadata-service/src/main/java/cn/datax/service/data/metadata/controller/DataMetadataController.java
View file @
2ae9758b
...
@@ -2,16 +2,24 @@ package cn.datax.service.data.metadata.controller;
...
@@ -2,16 +2,24 @@ package cn.datax.service.data.metadata.controller;
import
cn.datax.common.core.R
;
import
cn.datax.common.core.R
;
import
cn.datax.service.data.metadata.service.DataMetadataService
;
import
cn.datax.service.data.metadata.service.DataMetadataService
;
import
com.aspose.words.Document
;
import
com.aspose.words.SaveFormat
;
import
com.aspose.words.SaveOptions
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.OutputStream
;
@Api
(
tags
=
{
"元数据"
})
@Api
(
tags
=
{
"元数据"
})
@RestController
@RestController
@RequestMapping
(
"/databases"
)
public
class
DataMetadataController
{
public
class
DataMetadataController
{
@Autowired
@Autowired
...
@@ -19,9 +27,26 @@ public class DataMetadataController {
...
@@ -19,9 +27,26 @@ public class DataMetadataController {
@ApiOperation
(
value
=
"同步"
,
notes
=
"根据url的id来指定同步对象"
)
@ApiOperation
(
value
=
"同步"
,
notes
=
"根据url的id来指定同步对象"
)
@ApiImplicitParam
(
name
=
"id"
,
value
=
"ID"
,
required
=
true
,
dataType
=
"String"
,
paramType
=
"path"
)
@ApiImplicitParam
(
name
=
"id"
,
value
=
"ID"
,
required
=
true
,
dataType
=
"String"
,
paramType
=
"path"
)
@PostMapping
(
"/
databases
/{id}"
)
@PostMapping
(
"/
sync
/{id}"
)
public
R
syncMetadata
(
@PathVariable
String
id
)
{
public
R
syncMetadata
(
@PathVariable
String
id
)
{
dataMetadataService
.
syncMetadata
(
id
);
dataMetadataService
.
syncMetadata
(
id
);
return
R
.
ok
();
return
R
.
ok
();
}
}
@ApiOperation
(
value
=
"数据库设计文档"
,
notes
=
"根据url的id来指定生成数据库设计文档对象"
)
@ApiImplicitParam
(
name
=
"id"
,
value
=
"ID"
,
required
=
true
,
dataType
=
"String"
,
paramType
=
"path"
)
@PostMapping
(
"/word/{id}"
)
public
void
wordMetadata
(
@PathVariable
String
id
,
HttpServletResponse
response
)
throws
Exception
{
// 清空response
response
.
reset
();
// 设置response的Header
response
.
setContentType
(
"application/octet-stream;charset=utf-8"
);
// 设置content-disposition响应头控制浏览器以下载的形式打开文件
response
.
addHeader
(
"Content-Disposition"
,
"attachment;filename="
+
new
String
(
"数据库设计文档.doc"
.
getBytes
()));
Document
doc
=
dataMetadataService
.
wordMetadata
(
id
);
OutputStream
out
=
response
.
getOutputStream
();
doc
.
save
(
out
,
SaveOptions
.
createSaveOptions
(
SaveFormat
.
DOC
));
out
.
flush
();
out
.
close
();
}
}
}
datax-modules/data-metadata-service-parent/data-metadata-service/src/main/java/cn/datax/service/data/metadata/service/DataMetadataService.java
View file @
2ae9758b
package
cn
.
datax
.
service
.
data
.
metadata
.
service
;
package
cn
.
datax
.
service
.
data
.
metadata
.
service
;
import
com.aspose.words.Document
;
public
interface
DataMetadataService
{
public
interface
DataMetadataService
{
void
syncMetadata
(
String
id
);
void
syncMetadata
(
String
id
);
Document
wordMetadata
(
String
id
)
throws
Exception
;
}
}
datax-modules/data-metadata-service-parent/data-metadata-service/src/main/java/cn/datax/service/data/metadata/service/impl/DataMetadataServiceImpl.java
View file @
2ae9758b
package
cn
.
datax
.
service
.
data
.
metadata
.
service
.
impl
;
package
cn
.
datax
.
service
.
data
.
metadata
.
service
.
impl
;
import
cn.datax.commo.office.word.WordUtil
;
import
cn.datax.common.core.DataConstant
;
import
cn.datax.common.core.DataConstant
;
import
cn.datax.common.database.DataSourceFactory
;
import
cn.datax.common.database.DbQuery
;
import
cn.datax.common.database.constants.DbQueryProperty
;
import
cn.datax.common.database.core.DbColumn
;
import
cn.datax.common.database.core.DbTable
;
import
cn.datax.common.exception.DataException
;
import
cn.datax.common.exception.DataException
;
import
cn.datax.service.data.factory.api.dto.DbSchema
;
import
cn.datax.service.data.factory.api.dto.DbSchema
;
import
cn.datax.service.data.factory.api.entity.DataSourceEntity
;
import
cn.datax.service.data.factory.api.entity.DataSourceEntity
;
import
cn.datax.service.data.factory.api.feign.DataSourceServiceFeign
;
import
cn.datax.service.data.factory.api.feign.DataSourceServiceFeign
;
import
cn.datax.service.data.metadata.api.entity.DataMetadataColumnEntity
;
import
cn.datax.service.data.metadata.api.entity.DataMetadataColumnEntity
;
import
cn.datax.service.data.metadata.api.entity.DataMetadataTableEntity
;
import
cn.datax.service.data.metadata.api.entity.DataMetadataTableEntity
;
import
cn.datax.service.data.metadata.api.office.MetadataDatabase
;
import
cn.datax.service.data.metadata.async.AsyncTask
;
import
cn.datax.service.data.metadata.dao.DataMetadataColumnDao
;
import
cn.datax.service.data.metadata.dao.DataMetadataColumnDao
;
import
cn.datax.service.data.metadata.dao.DataMetadataTableDao
;
import
cn.datax.service.data.metadata.dao.DataMetadataTableDao
;
import
cn.datax.service.data.metadata.service.DataMetadataService
;
import
cn.datax.service.data.metadata.service.DataMetadataService
;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.core.util.StrUtil
;
import
com.aspose.words.Document
;
import
com.aspose.words.MailMerge
;
import
com.aspose.words.net.System.Data.DataRelation
;
import
com.aspose.words.net.System.Data.DataRow
;
import
com.aspose.words.net.System.Data.DataSet
;
import
com.aspose.words.net.System.Data.DataTable
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.
scheduling.annotation.Async
;
import
org.springframework.
core.io.ClassPathResource
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.io.InputStream
;
import
java.util.List
;
import
java.util.List
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
...
@@ -29,10 +35,10 @@ import java.util.stream.Collectors;
...
@@ -29,10 +35,10 @@ import java.util.stream.Collectors;
public
class
DataMetadataServiceImpl
implements
DataMetadataService
{
public
class
DataMetadataServiceImpl
implements
DataMetadataService
{
@Autowired
@Autowired
private
DataSource
Factory
dataSourceFactory
;
private
DataSource
ServiceFeign
dataSourceServiceFeign
;
@Autowired
@Autowired
private
DataSourceServiceFeign
dataSourceServiceFeign
;
private
AsyncTask
asyncTask
;
@Autowired
@Autowired
private
DataMetadataTableDao
dataMetadataTableDao
;
private
DataMetadataTableDao
dataMetadataTableDao
;
...
@@ -50,52 +56,87 @@ public class DataMetadataServiceImpl implements DataMetadataService {
...
@@ -50,52 +56,87 @@ public class DataMetadataServiceImpl implements DataMetadataService {
throw
new
DataException
(
"元数据已同步"
);
throw
new
DataException
(
"元数据已同步"
);
}
}
// 异步执行同步任务
// 异步执行同步任务
sync
Task
(
dataSourceEntity
);
asyncTask
.
do
Task
(
dataSourceEntity
);
}
}
@Async
@Override
public
void
syncTask
(
DataSourceEntity
dataSource
)
{
public
Document
wordMetadata
(
String
id
)
throws
Exception
{
long
start
=
System
.
currentTimeMillis
();
DataSourceEntity
dataSourceEntity
=
dataSourceServiceFeign
.
getDataSourceById
(
id
);
DbSchema
dbSchema
=
dataSource
.
getDbSchema
();
if
(
dataSourceServiceFeign
==
null
)
{
DbQueryProperty
dbQueryProperty
=
new
DbQueryProperty
(
dataSource
.
getDbType
(),
dbSchema
.
getHost
(),
throw
new
DataException
(
"未找到数据源"
);
dbSchema
.
getUsername
(),
dbSchema
.
getPassword
(),
dbSchema
.
getPort
(),
dbSchema
.
getDbName
(),
dbSchema
.
getSid
());
}
DbQuery
dbQuery
=
dataSourceFactory
.
createDbQuery
(
dbQueryProperty
);
DbSchema
dbSchema
=
dataSourceEntity
.
getDbSchema
();
List
<
DbTable
>
tables
=
dbQuery
.
getTables
(
dbSchema
.
getDbName
());
String
dbName
=
dbSchema
.
getDbName
();
if
(
CollUtil
.
isNotEmpty
(
tables
))
{
if
(
StrUtil
.
isBlank
(
dbName
))
{
List
<
DataMetadataTableEntity
>
metadataTableEntityList
=
tables
.
stream
().
map
(
table
->
{
dbName
=
dbSchema
.
getUsername
();
DataMetadataTableEntity
metadataTable
=
new
DataMetadataTableEntity
();
}
metadataTable
.
setSourceId
(
dataSource
.
getId
());
QueryWrapper
<
DataMetadataTableEntity
>
tableQueryWrapper
=
new
QueryWrapper
<>();
metadataTable
.
setTableName
(
table
.
getTableName
());
tableQueryWrapper
.
eq
(
"source_id"
,
id
);
return
metadataTable
;
List
<
DataMetadataTableEntity
>
tableEntityList
=
dataMetadataTableDao
.
selectList
(
tableQueryWrapper
);
}).
collect
(
Collectors
.
toList
());
// 数据表(主表) TableStart:TableList TableEnd:TableList
if
(
CollUtil
.
isNotEmpty
(
metadataTableEntityList
))
{
DataTable
tableTable
=
new
DataTable
(
"TableList"
);
metadataTableEntityList
.
stream
().
forEach
(
table
->
{
tableTable
.
getColumns
().
add
(
"id"
);
dataMetadataTableDao
.
insert
(
table
);
tableTable
.
getColumns
().
add
(
"tableName"
);
List
<
DbColumn
>
columns
=
dbQuery
.
getTableColumns
(
dbSchema
.
getDbName
(),
table
.
getTableName
());
tableTable
.
getColumns
().
add
(
"tableComment"
);
if
(
CollUtil
.
isNotEmpty
(
columns
))
{
for
(
int
i
=
0
;
i
<
tableEntityList
.
size
();
i
++)
{
List
<
DataMetadataColumnEntity
>
metadataColumnEntityList
=
columns
.
stream
().
map
(
column
->
{
DataRow
row
=
tableTable
.
newRow
();
DataMetadataColumnEntity
metadataColumn
=
new
DataMetadataColumnEntity
();
DataMetadataTableEntity
table
=
tableEntityList
.
get
(
i
);
metadataColumn
.
setSourceId
(
dataSource
.
getId
());
row
.
set
(
0
,
table
.
getId
());
metadataColumn
.
setTableId
(
table
.
getId
());
row
.
set
(
1
,
table
.
getTableName
());
metadataColumn
.
setColumnName
(
column
.
getColName
());
row
.
set
(
2
,
table
.
getTableComment
());
metadataColumn
.
setColumnComment
(
column
.
getColComment
());
tableTable
.
getRows
().
add
(
row
);
metadataColumn
.
setColumnKey
(
column
.
getColKey
()
?
"1"
:
"0"
);
}
metadataColumn
.
setColumnNullable
(
column
.
getNullable
()
?
"1"
:
"0"
);
QueryWrapper
<
DataMetadataColumnEntity
>
columnQueryWrapper
=
new
QueryWrapper
<>();
metadataColumn
.
setColumnPosition
(
column
.
getColPosition
().
toString
());
columnQueryWrapper
.
eq
(
"source_id"
,
id
);
metadataColumn
.
setDataType
(
column
.
getDataType
());
columnQueryWrapper
.
orderByAsc
(
"column_position"
);
metadataColumn
.
setDataLength
(
column
.
getDataLength
().
toString
());
List
<
DataMetadataColumnEntity
>
columnEntityList
=
dataMetadataColumnDao
.
selectList
(
columnQueryWrapper
);
metadataColumn
.
setDataPrecision
(
column
.
getDataPrecision
().
toString
());
// 元数据(子表) TableStart:ColumnList TableEnd:ColumnList
metadataColumn
.
setDataScale
(
column
.
getDataScale
().
toString
());
DataTable
columnTable
=
new
DataTable
(
"ColumnList"
);
metadataColumn
.
setDataDefault
(
column
.
getDataDefault
());
columnTable
.
getColumns
().
add
(
"id"
);
return
metadataColumn
;
columnTable
.
getColumns
().
add
(
"tid"
);
}).
collect
(
Collectors
.
toList
());
columnTable
.
getColumns
().
add
(
"columnPosition"
);
if
(
CollUtil
.
isNotEmpty
(
metadataColumnEntityList
))
{
columnTable
.
getColumns
().
add
(
"columnName"
);
metadataColumnEntityList
.
stream
().
forEach
(
column
->
dataMetadataColumnDao
.
insert
(
column
));
columnTable
.
getColumns
().
add
(
"dataType"
);
}
columnTable
.
getColumns
().
add
(
"dataLength"
);
}
columnTable
.
getColumns
().
add
(
"dataPrecision"
);
});
columnTable
.
getColumns
().
add
(
"dataScale"
);
}
columnTable
.
getColumns
().
add
(
"columnNullable"
);
columnTable
.
getColumns
().
add
(
"columnKey"
);
columnTable
.
getColumns
().
add
(
"dataDefault"
);
columnTable
.
getColumns
().
add
(
"columnComment"
);
for
(
int
i
=
0
;
i
<
columnEntityList
.
size
();
i
++)
{
DataRow
row
=
columnTable
.
newRow
();
DataMetadataColumnEntity
column
=
columnEntityList
.
get
(
i
);
row
.
set
(
0
,
column
.
getId
());
row
.
set
(
1
,
column
.
getTableId
());
row
.
set
(
2
,
column
.
getColumnPosition
());
row
.
set
(
3
,
column
.
getColumnName
());
row
.
set
(
4
,
column
.
getDataType
());
row
.
set
(
5
,
column
.
getDataLength
());
row
.
set
(
6
,
column
.
getDataPrecision
());
row
.
set
(
7
,
column
.
getDataScale
());
row
.
set
(
8
,
"1"
.
equals
(
column
.
getColumnNullable
())
?
"Y"
:
"N"
);
row
.
set
(
9
,
"1"
.
equals
(
column
.
getColumnKey
())
?
"Y"
:
"N"
);
row
.
set
(
10
,
column
.
getDataDefault
());
row
.
set
(
11
,
column
.
getColumnComment
());
columnTable
.
getRows
().
add
(
row
);
}
}
log
.
info
(
"异步任务执行完成!耗时{}秒"
,
(
System
.
currentTimeMillis
()
-
start
/
1000
));
// 提供数据源
DataSet
dataSet
=
new
DataSet
();
dataSet
.
getTables
().
add
(
tableTable
);
dataSet
.
getTables
().
add
(
columnTable
);
DataRelation
dataRelation
=
new
DataRelation
(
"TableColumnRelation"
,
tableTable
.
getColumns
().
get
(
"id"
),
columnTable
.
getColumns
().
get
(
"tid"
));
dataSet
.
getRelations
().
add
(
dataRelation
);
// 合并模版
ClassPathResource
classPathResource
=
new
ClassPathResource
(
"templates/template_1.0.0.doc"
);
InputStream
inputStream
=
classPathResource
.
getInputStream
();
Document
doc
=
WordUtil
.
getInstance
().
getDocument
(
inputStream
);
// 提供数据源
String
[]
fieldNames
=
new
String
[]
{
"database"
};
Object
[]
fieldValues
=
new
Object
[]
{
dbName
.
toUpperCase
()};
MailMerge
mailMerge
=
doc
.
getMailMerge
();
mailMerge
.
execute
(
fieldNames
,
fieldValues
);
mailMerge
.
executeWithRegions
(
dataSet
);
return
doc
;
}
}
}
}
datax-modules/data-metadata-service-parent/data-metadata-service/src/main/resources/mapper/DataMetadataColumnMapper.xml
View file @
2ae9758b
...
@@ -5,12 +5,6 @@
...
@@ -5,12 +5,6 @@
<!-- 通用查询映射结果 -->
<!-- 通用查询映射结果 -->
<resultMap
id=
"BaseResultMap"
type=
"cn.datax.service.data.metadata.api.entity.DataMetadataColumnEntity"
>
<resultMap
id=
"BaseResultMap"
type=
"cn.datax.service.data.metadata.api.entity.DataMetadataColumnEntity"
>
<result
column=
"id"
property=
"id"
/>
<result
column=
"id"
property=
"id"
/>
<result
column=
"status"
property=
"status"
/>
<result
column=
"create_by"
property=
"createBy"
/>
<result
column=
"create_time"
property=
"createTime"
/>
<result
column=
"update_by"
property=
"updateBy"
/>
<result
column=
"update_time"
property=
"updateTime"
/>
<result
column=
"remark"
property=
"remark"
/>
<result
column=
"source_id"
property=
"sourceId"
/>
<result
column=
"source_id"
property=
"sourceId"
/>
<result
column=
"table_id"
property=
"tableId"
/>
<result
column=
"table_id"
property=
"tableId"
/>
<result
column=
"column_name"
property=
"columnName"
/>
<result
column=
"column_name"
property=
"columnName"
/>
...
@@ -28,12 +22,6 @@
...
@@ -28,12 +22,6 @@
<!-- 通用查询结果列 -->
<!-- 通用查询结果列 -->
<sql
id=
"Base_Column_List"
>
<sql
id=
"Base_Column_List"
>
id,
id,
status,
create_by,
create_time,
update_by,
update_time,
remark,
source_id, table_id, column_name, column_comment, column_key, column_nullable, column_position, data_type, data_length, data_precision, data_scale, data_default
source_id, table_id, column_name, column_comment, column_key, column_nullable, column_position, data_type, data_length, data_precision, data_scale, data_default
</sql>
</sql>
...
...
datax-modules/data-metadata-service-parent/data-metadata-service/src/main/resources/mapper/DataMetadataTableMapper.xml
View file @
2ae9758b
...
@@ -5,26 +5,15 @@
...
@@ -5,26 +5,15 @@
<!-- 通用查询映射结果 -->
<!-- 通用查询映射结果 -->
<resultMap
id=
"BaseResultMap"
type=
"cn.datax.service.data.metadata.api.entity.DataMetadataTableEntity"
>
<resultMap
id=
"BaseResultMap"
type=
"cn.datax.service.data.metadata.api.entity.DataMetadataTableEntity"
>
<result
column=
"id"
property=
"id"
/>
<result
column=
"id"
property=
"id"
/>
<result
column=
"status"
property=
"status"
/>
<result
column=
"create_by"
property=
"createBy"
/>
<result
column=
"create_time"
property=
"createTime"
/>
<result
column=
"update_by"
property=
"updateBy"
/>
<result
column=
"update_time"
property=
"updateTime"
/>
<result
column=
"remark"
property=
"remark"
/>
<result
column=
"source_id"
property=
"sourceId"
/>
<result
column=
"source_id"
property=
"sourceId"
/>
<result
column=
"table_name"
property=
"tableName"
/>
<result
column=
"table_name"
property=
"tableName"
/>
<result
column=
"table_comment"
property=
"tableComment"
/>
</resultMap>
</resultMap>
<!-- 通用查询结果列 -->
<!-- 通用查询结果列 -->
<sql
id=
"Base_Column_List"
>
<sql
id=
"Base_Column_List"
>
id,
id,
status,
source_id, table_name, table_comment
create_by,
create_time,
update_by,
update_time,
remark,
source_id, table_name
</sql>
</sql>
</mapper>
</mapper>
datax-modules/data-metadata-service-parent/data-metadata-service/src/main/resources/templates/template_1.0.0.doc
0 → 100644
View file @
2ae9758b
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<?mso-application progid="Word.Document"?>
<pkg:package
xmlns:pkg=
"http://schemas.microsoft.com/office/2006/xmlPackage"
><pkg:part
pkg:name=
"/_rels/.rels"
pkg:contentType=
"application/vnd.openxmlformats-package.relationships+xml"
pkg:padding=
"512"
><pkg:xmlData><Relationships
xmlns=
"http://schemas.openxmlformats.org/package/2006/relationships"
><Relationship
Id=
"rId3"
Type=
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties"
Target=
"docProps/app.xml"
/><Relationship
Id=
"rId2"
Type=
"http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties"
Target=
"docProps/core.xml"
/><Relationship
Id=
"rId1"
Type=
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument"
Target=
"word/document.xml"
/><Relationship
Id=
"rId4"
Type=
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties"
Target=
"docProps/custom.xml"
/></Relationships></pkg:xmlData></pkg:part><pkg:part
pkg:name=
"/word/_rels/document.xml.rels"
pkg:contentType=
"application/vnd.openxmlformats-package.relationships+xml"
pkg:padding=
"256"
><pkg:xmlData><Relationships
xmlns=
"http://schemas.openxmlformats.org/package/2006/relationships"
><Relationship
Id=
"rId3"
Type=
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/webSettings"
Target=
"webSettings.xml"
/><Relationship
Id=
"rId7"
Type=
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme"
Target=
"theme/theme1.xml"
/><Relationship
Id=
"rId2"
Type=
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/settings"
Target=
"settings.xml"
/><Relationship
Id=
"rId1"
Type=
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles"
Target=
"styles.xml"
/><Relationship
Id=
"rId6"
Type=
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable"
Target=
"fontTable.xml"
/><Relationship
Id=
"rId5"
Type=
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/endnotes"
Target=
"endnotes.xml"
/><Relationship
Id=
"rId4"
Type=
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/footnotes"
Target=
"footnotes.xml"
/></Relationships></pkg:xmlData></pkg:part><pkg:part
pkg:name=
"/word/document.xml"
pkg:contentType=
"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml"
><pkg:xmlData><w:document
xmlns:wpc=
"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas"
xmlns:cx=
"http://schemas.microsoft.com/office/drawing/2014/chartex"
xmlns:mc=
"http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:o=
"urn:schemas-microsoft-com:office:office"
xmlns:r=
"http://schemas.openxmlformats.org/officeDocument/2006/relationships"
xmlns:m=
"http://schemas.openxmlformats.org/officeDocument/2006/math"
xmlns:v=
"urn:schemas-microsoft-com:vml"
xmlns:wp14=
"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing"
xmlns:wp=
"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing"
xmlns:w10=
"urn:schemas-microsoft-com:office:word"
xmlns:w=
"http://schemas.openxmlformats.org/wordprocessingml/2006/main"
xmlns:w14=
"http://schemas.microsoft.com/office/word/2010/wordml"
xmlns:w15=
"http://schemas.microsoft.com/office/word/2012/wordml"
xmlns:w16se=
"http://schemas.microsoft.com/office/word/2015/wordml/symex"
xmlns:wpg=
"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup"
xmlns:wpi=
"http://schemas.microsoft.com/office/word/2010/wordprocessingInk"
xmlns:wne=
"http://schemas.microsoft.com/office/word/2006/wordml"
xmlns:wps=
"http://schemas.microsoft.com/office/word/2010/wordprocessingShape"
mc:Ignorable=
"w14 w15 w16se wp14"
><w:body><w:p
w14:paraId=
"7AD67E4B"
w14:textId=
"77777777"
w:rsidR=
"005153C0"
w:rsidRDefault=
"005153C0"
><w:pPr><w:pStyle
w:val=
"1"
/><w:jc
w:val=
"center"
/></w:pPr><w:r><w:rPr><w:rFonts
w:hint=
"eastAsia"
/></w:rPr><w:t>
数据库表结构文档
</w:t></w:r></w:p><w:p
w14:paraId=
"11B80088"
w14:textId=
"1BBFD254"
w:rsidR=
"005153C0"
w:rsidRPr=
"006012B2"
w:rsidRDefault=
"005153C0"
><w:pPr><w:jc
w:val=
"left"
/><w:rPr><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr></w:pPr><w:r
w:rsidRPr=
"00CD0CA2"
><w:rPr><w:rFonts
w:hint=
"eastAsia"
/><w:b/><w:bCs/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:t>
数据库名:
</w:t></w:r><w:r
w:rsidR=
"00007B7F"
><w:rPr><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:fldChar
w:fldCharType=
"begin"
/></w:r><w:r
w:rsidR=
"00007B7F"
><w:rPr><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:instrText
xml:space=
"preserve"
>
</w:instrText></w:r><w:r
w:rsidR=
"00007B7F"
><w:rPr><w:rFonts
w:hint=
"eastAsia"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:instrText>
MERGEFIELD database \* MERGEFORMAT
</w:instrText></w:r><w:r
w:rsidR=
"00007B7F"
><w:rPr><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:instrText
xml:space=
"preserve"
>
</w:instrText></w:r><w:r
w:rsidR=
"00007B7F"
><w:rPr><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:fldChar
w:fldCharType=
"separate"
/></w:r><w:r
w:rsidR=
"00007B7F"
><w:rPr><w:noProof/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:t>
«database»
</w:t></w:r><w:r
w:rsidR=
"00007B7F"
><w:rPr><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:fldChar
w:fldCharType=
"end"
/></w:r></w:p><w:p
w14:paraId=
"5AF9097E"
w14:textId=
"77777777"
w:rsidR=
"005153C0"
w:rsidRPr=
"006012B2"
w:rsidRDefault=
"005153C0"
><w:pPr><w:jc
w:val=
"left"
/><w:rPr><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr></w:pPr><w:r
w:rsidRPr=
"00CD0CA2"
><w:rPr><w:rFonts
w:hint=
"eastAsia"
/><w:b/><w:bCs/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:t>
文档版本:
</w:t></w:r><w:r
w:rsidRPr=
"006012B2"
><w:rPr><w:rFonts
w:hint=
"eastAsia"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:t>
1.0.0
</w:t></w:r></w:p><w:p
w14:paraId=
"1EEE076F"
w14:textId=
"003AC2AF"
w:rsidR=
"005153C0"
w:rsidRDefault=
"005153C0"
><w:pPr><w:jc
w:val=
"left"
/><w:rPr><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr></w:pPr><w:r
w:rsidRPr=
"00CD0CA2"
><w:rPr><w:rFonts
w:hint=
"eastAsia"
/><w:b/><w:bCs/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:t>
文档描述:
</w:t></w:r><w:r
w:rsidR=
"00512816"
><w:rPr><w:rFonts
w:hint=
"eastAsia"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:t>
数据库
</w:t></w:r><w:r
w:rsidR=
"00007B7F"
><w:rPr><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:fldChar
w:fldCharType=
"begin"
/></w:r><w:r
w:rsidR=
"00007B7F"
><w:rPr><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:instrText
xml:space=
"preserve"
>
</w:instrText></w:r><w:r
w:rsidR=
"00007B7F"
><w:rPr><w:rFonts
w:hint=
"eastAsia"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:instrText>
MERGEFIELD database \* MERGEFORMAT
</w:instrText></w:r><w:r
w:rsidR=
"00007B7F"
><w:rPr><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:instrText
xml:space=
"preserve"
>
</w:instrText></w:r><w:r
w:rsidR=
"00007B7F"
><w:rPr><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:fldChar
w:fldCharType=
"separate"
/></w:r><w:r
w:rsidR=
"00007B7F"
><w:rPr><w:noProof/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:t>
«database»
</w:t></w:r><w:r
w:rsidR=
"00007B7F"
><w:rPr><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:fldChar
w:fldCharType=
"end"
/></w:r><w:r
w:rsidR=
"00007B7F"
><w:rPr><w:rFonts
w:hint=
"eastAsia"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:t>
详细
</w:t></w:r><w:r
w:rsidR=
"00512816"
><w:rPr><w:rFonts
w:hint=
"eastAsia"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:t>
设计文档
</w:t></w:r></w:p><w:p
w14:paraId=
"694B677F"
w14:textId=
"5AC349F0"
w:rsidR=
"00007B7F"
w:rsidRPr=
"006012B2"
w:rsidRDefault=
"00007B7F"
><w:pPr><w:jc
w:val=
"left"
/><w:rPr><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr></w:pPr><w:r><w:rPr><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:fldChar
w:fldCharType=
"begin"
/></w:r><w:r><w:rPr><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:instrText
xml:space=
"preserve"
>
MERGEFIELD TableStart:TableList \* MERGEFORMAT
</w:instrText></w:r><w:r><w:rPr><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:fldChar
w:fldCharType=
"separate"
/></w:r><w:r><w:rPr><w:noProof/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:t>
«TableStart:TableList»
</w:t></w:r><w:r><w:rPr><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:fldChar
w:fldCharType=
"end"
/></w:r></w:p><w:p
w14:paraId=
"2C9FECF1"
w14:textId=
"6BFBF3ED"
w:rsidR=
"005153C0"
w:rsidRDefault=
"00F13AF0"
w:rsidP=
"00C040D4"
><w:pPr><w:pStyle
w:val=
"2"
/><w:jc
w:val=
"left"
/><w:rPr><w:rFonts
w:ascii=
"宋体"
w:eastAsia=
"宋体"
w:hAnsi=
"宋体"
/><w:sz
w:val=
"21"
/><w:szCs
w:val=
"21"
/></w:rPr></w:pPr><w:bookmarkStart
w:id=
"0"
w:name=
"_ROBOT_ANSWER_INSIDE"
/><w:bookmarkEnd
w:id=
"0"
/><w:r
w:rsidRPr=
"00CB1EBF"
><w:rPr><w:rFonts
w:ascii=
"宋体"
w:eastAsia=
"宋体"
w:hAnsi=
"宋体"
w:hint=
"eastAsia"
/><w:sz
w:val=
"21"
/><w:szCs
w:val=
"21"
/></w:rPr><w:t>
表
</w:t></w:r><w:r
w:rsidR=
"00794829"
><w:rPr><w:rFonts
w:ascii=
"宋体"
w:eastAsia=
"宋体"
w:hAnsi=
"宋体"
w:hint=
"eastAsia"
/><w:sz
w:val=
"21"
/><w:szCs
w:val=
"21"
/></w:rPr><w:t>
名:
</w:t></w:r><w:r
w:rsidR=
"00007B7F"
><w:rPr><w:rFonts
w:ascii=
"宋体"
w:eastAsia=
"宋体"
w:hAnsi=
"宋体"
/><w:sz
w:val=
"21"
/><w:szCs
w:val=
"21"
/></w:rPr><w:fldChar
w:fldCharType=
"begin"
/></w:r><w:r
w:rsidR=
"00007B7F"
><w:rPr><w:rFonts
w:ascii=
"宋体"
w:eastAsia=
"宋体"
w:hAnsi=
"宋体"
/><w:sz
w:val=
"21"
/><w:szCs
w:val=
"21"
/></w:rPr><w:instrText
xml:space=
"preserve"
>
</w:instrText></w:r><w:r
w:rsidR=
"00007B7F"
><w:rPr><w:rFonts
w:ascii=
"宋体"
w:eastAsia=
"宋体"
w:hAnsi=
"宋体"
w:hint=
"eastAsia"
/><w:sz
w:val=
"21"
/><w:szCs
w:val=
"21"
/></w:rPr><w:instrText>
MERGEFIELD tableName \* MERGEFORMAT
</w:instrText></w:r><w:r
w:rsidR=
"00007B7F"
><w:rPr><w:rFonts
w:ascii=
"宋体"
w:eastAsia=
"宋体"
w:hAnsi=
"宋体"
/><w:sz
w:val=
"21"
/><w:szCs
w:val=
"21"
/></w:rPr><w:instrText
xml:space=
"preserve"
>
</w:instrText></w:r><w:r
w:rsidR=
"00007B7F"
><w:rPr><w:rFonts
w:ascii=
"宋体"
w:eastAsia=
"宋体"
w:hAnsi=
"宋体"
/><w:sz
w:val=
"21"
/><w:szCs
w:val=
"21"
/></w:rPr><w:fldChar
w:fldCharType=
"separate"
/></w:r><w:r
w:rsidR=
"00007B7F"
><w:rPr><w:rFonts
w:ascii=
"宋体"
w:eastAsia=
"宋体"
w:hAnsi=
"宋体"
/><w:noProof/><w:sz
w:val=
"21"
/><w:szCs
w:val=
"21"
/></w:rPr><w:t>
«tableName»
</w:t></w:r><w:r
w:rsidR=
"00007B7F"
><w:rPr><w:rFonts
w:ascii=
"宋体"
w:eastAsia=
"宋体"
w:hAnsi=
"宋体"
/><w:sz
w:val=
"21"
/><w:szCs
w:val=
"21"
/></w:rPr><w:fldChar
w:fldCharType=
"end"
/></w:r></w:p><w:p
w14:paraId=
"6D003C21"
w14:textId=
"22D1A3C2"
w:rsidR=
"00794829"
w:rsidRDefault=
"00794829"
w:rsidP=
"00794829"
><w:r><w:rPr><w:rFonts
w:hint=
"eastAsia"
/></w:rPr><w:t>
说明:
</w:t></w:r><w:fldSimple
w:instr=
" MERGEFIELD tableComment \* MERGEFORMAT "
><w:r
w:rsidR=
"00DE0A51"
><w:rPr><w:noProof/></w:rPr><w:t>
«tableComment»
</w:t></w:r></w:fldSimple><w:bookmarkStart
w:id=
"1"
w:name=
"_GoBack"
/><w:bookmarkEnd
w:id=
"1"
/><w:r
w:rsidR=
"00DE0A51"
><w:t
xml:space=
"preserve"
>
</w:t></w:r></w:p><w:p
w14:paraId=
"6255E19C"
w14:textId=
"3D0FB161"
w:rsidR=
"00794829"
w:rsidRPr=
"00794829"
w:rsidRDefault=
"00794829"
w:rsidP=
"00794829"
><w:r><w:rPr><w:rFonts
w:hint=
"eastAsia"
/></w:rPr><w:t>
数据列:
</w:t></w:r></w:p><w:tbl><w:tblPr><w:tblW
w:w=
"10682"
w:type=
"dxa"
/><w:jc
w:val=
"center"
/><w:tblBorders><w:top
w:val=
"single"
w:sz=
"4"
w:space=
"0"
w:color=
"auto"
/><w:left
w:val=
"single"
w:sz=
"4"
w:space=
"0"
w:color=
"auto"
/><w:bottom
w:val=
"single"
w:sz=
"4"
w:space=
"0"
w:color=
"auto"
/><w:right
w:val=
"single"
w:sz=
"4"
w:space=
"0"
w:color=
"auto"
/><w:insideH
w:val=
"single"
w:sz=
"4"
w:space=
"0"
w:color=
"auto"
/><w:insideV
w:val=
"single"
w:sz=
"4"
w:space=
"0"
w:color=
"auto"
/></w:tblBorders><w:tblLook
w:val=
"0000"
w:firstRow=
"0"
w:lastRow=
"0"
w:firstColumn=
"0"
w:lastColumn=
"0"
w:noHBand=
"0"
w:noVBand=
"0"
/></w:tblPr><w:tblGrid><w:gridCol
w:w=
"2116"
/><w:gridCol
w:w=
"800"
/><w:gridCol
w:w=
"703"
/><w:gridCol
w:w=
"800"
/><w:gridCol
w:w=
"946"
/><w:gridCol
w:w=
"752"
/><w:gridCol
w:w=
"995"
/><w:gridCol
w:w=
"752"
/><w:gridCol
w:w=
"849"
/><w:gridCol
w:w=
"1969"
/></w:tblGrid><w:tr
w:rsidR=
"00E72A7F"
w14:paraId=
"35F8E939"
w14:textId=
"77777777"
w:rsidTr=
"00E72A7F"
><w:trPr><w:trHeight
w:val=
"250"
/><w:jc
w:val=
"center"
/></w:trPr><w:tc><w:tcPr><w:tcW
w:w=
"2571"
w:type=
"dxa"
/><w:shd
w:val=
"clear"
w:color=
"auto"
w:fill=
"E7E6E6"
/></w:tcPr><w:p
w14:paraId=
"0E519532"
w14:textId=
"319FBD59"
w:rsidR=
"00E72A7F"
w:rsidRPr=
"006012B2"
w:rsidRDefault=
"00E72A7F"
><w:pPr><w:jc
w:val=
"center"
/><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
w:hint=
"eastAsia"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:t>
序
</w:t></w:r><w:r
w:rsidRPr=
"006012B2"
><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
w:hint=
"eastAsia"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:t>
号
</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcW
w:w=
"941"
w:type=
"dxa"
/><w:shd
w:val=
"clear"
w:color=
"auto"
w:fill=
"E7E6E6"
/></w:tcPr><w:p
w14:paraId=
"6AD5691E"
w14:textId=
"77777777"
w:rsidR=
"00E72A7F"
w:rsidRPr=
"006012B2"
w:rsidRDefault=
"00E72A7F"
><w:pPr><w:jc
w:val=
"center"
/><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr></w:pPr><w:r
w:rsidRPr=
"006012B2"
><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
w:hint=
"eastAsia"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:t>
名称
</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcW
w:w=
"820"
w:type=
"dxa"
/><w:shd
w:val=
"clear"
w:color=
"auto"
w:fill=
"E7E6E6"
/></w:tcPr><w:p
w14:paraId=
"182E8874"
w14:textId=
"77777777"
w:rsidR=
"00E72A7F"
w:rsidRPr=
"006012B2"
w:rsidRDefault=
"00E72A7F"
><w:pPr><w:jc
w:val=
"center"
/><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr></w:pPr><w:r
w:rsidRPr=
"006012B2"
><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
w:hint=
"eastAsia"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:t>
数据类型
</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcW
w:w=
"337"
w:type=
"dxa"
/><w:shd
w:val=
"clear"
w:color=
"auto"
w:fill=
"E7E6E6"
/></w:tcPr><w:p
w14:paraId=
"4C359AFD"
w14:textId=
"77777777"
w:rsidR=
"00E72A7F"
w:rsidRPr=
"006012B2"
w:rsidRDefault=
"00E72A7F"
><w:pPr><w:jc
w:val=
"center"
/><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr></w:pPr><w:r
w:rsidRPr=
"006012B2"
><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
w:hint=
"eastAsia"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:t>
长度
</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcW
w:w=
"220"
w:type=
"dxa"
/><w:shd
w:val=
"clear"
w:color=
"auto"
w:fill=
"E7E6E6"
/></w:tcPr><w:p
w14:paraId=
"51BC67B5"
w14:textId=
"6EF45269"
w:rsidR=
"00E72A7F"
w:rsidRPr=
"006012B2"
w:rsidRDefault=
"00E72A7F"
><w:pPr><w:jc
w:val=
"center"
/><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
w:hint=
"eastAsia"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:t>
精度
</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcW
w:w=
"337"
w:type=
"dxa"
/><w:shd
w:val=
"clear"
w:color=
"auto"
w:fill=
"E7E6E6"
/></w:tcPr><w:p
w14:paraId=
"3F87B560"
w14:textId=
"0D82106A"
w:rsidR=
"00E72A7F"
w:rsidRPr=
"006012B2"
w:rsidRDefault=
"00E72A7F"
><w:pPr><w:jc
w:val=
"center"
/><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr></w:pPr><w:r
w:rsidRPr=
"006012B2"
><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
w:hint=
"eastAsia"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:t>
小数位
</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcW
w:w=
"1183"
w:type=
"dxa"
/><w:shd
w:val=
"clear"
w:color=
"auto"
w:fill=
"E7E6E6"
/></w:tcPr><w:p
w14:paraId=
"5445F911"
w14:textId=
"77777777"
w:rsidR=
"00E72A7F"
w:rsidRPr=
"006012B2"
w:rsidRDefault=
"00E72A7F"
><w:pPr><w:jc
w:val=
"center"
/><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr></w:pPr><w:r
w:rsidRPr=
"006012B2"
><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
w:hint=
"eastAsia"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:t>
允许空值
</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcW
w:w=
"881"
w:type=
"dxa"
/><w:shd
w:val=
"clear"
w:color=
"auto"
w:fill=
"E7E6E6"
/></w:tcPr><w:p
w14:paraId=
"1B70EF2C"
w14:textId=
"77777777"
w:rsidR=
"00E72A7F"
w:rsidRPr=
"006012B2"
w:rsidRDefault=
"00E72A7F"
><w:pPr><w:jc
w:val=
"center"
/><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr></w:pPr><w:r
w:rsidRPr=
"006012B2"
><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
w:hint=
"eastAsia"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:t>
主键
</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcW
w:w=
"1001"
w:type=
"dxa"
/><w:shd
w:val=
"clear"
w:color=
"auto"
w:fill=
"E7E6E6"
/></w:tcPr><w:p
w14:paraId=
"56943756"
w14:textId=
"77777777"
w:rsidR=
"00E72A7F"
w:rsidRPr=
"006012B2"
w:rsidRDefault=
"00E72A7F"
><w:pPr><w:jc
w:val=
"center"
/><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr></w:pPr><w:r
w:rsidRPr=
"006012B2"
><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
w:hint=
"eastAsia"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:t>
默认值
</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcW
w:w=
"2391"
w:type=
"dxa"
/><w:shd
w:val=
"clear"
w:color=
"auto"
w:fill=
"E7E6E6"
/></w:tcPr><w:p
w14:paraId=
"0F1BBB9B"
w14:textId=
"77777777"
w:rsidR=
"00E72A7F"
w:rsidRPr=
"006012B2"
w:rsidRDefault=
"00E72A7F"
><w:pPr><w:jc
w:val=
"center"
/><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr></w:pPr><w:r
w:rsidRPr=
"006012B2"
><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
w:hint=
"eastAsia"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:t>
说明
</w:t></w:r></w:p></w:tc></w:tr><w:tr
w:rsidR=
"00E72A7F"
w14:paraId=
"6AEC5B4C"
w14:textId=
"77777777"
w:rsidTr=
"00E72A7F"
><w:trPr><w:trHeight
w:val=
"359"
/><w:jc
w:val=
"center"
/></w:trPr><w:tc><w:tcPr><w:tcW
w:w=
"2571"
w:type=
"dxa"
/></w:tcPr><w:p
w14:paraId=
"2918073A"
w14:textId=
"134EFEF4"
w:rsidR=
"00E72A7F"
w:rsidRPr=
"006012B2"
w:rsidRDefault=
"00E72A7F"
><w:pPr><w:jc
w:val=
"center"
/><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:fldChar
w:fldCharType=
"begin"
/></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:instrText
xml:space=
"preserve"
>
</w:instrText></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
w:hint=
"eastAsia"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:instrText>
MERGEFIELD TableStart:ColumnList \* MERGEFORMAT
</w:instrText></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:instrText
xml:space=
"preserve"
>
</w:instrText></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:fldChar
w:fldCharType=
"separate"
/></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:noProof/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:t>
«TableStart:ColumnList»
</w:t></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:fldChar
w:fldCharType=
"end"
/></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:fldChar
w:fldCharType=
"begin"
/></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:instrText
xml:space=
"preserve"
>
</w:instrText></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
w:hint=
"eastAsia"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:instrText>
MERGEFIELD columnPosition \* MERGEFORMAT
</w:instrText></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:instrText
xml:space=
"preserve"
>
</w:instrText></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:fldChar
w:fldCharType=
"separate"
/></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:noProof/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:t>
«columnPosition»
</w:t></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:fldChar
w:fldCharType=
"end"
/></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcW
w:w=
"941"
w:type=
"dxa"
/></w:tcPr><w:p
w14:paraId=
"19D9F58B"
w14:textId=
"6C022D1D"
w:rsidR=
"00E72A7F"
w:rsidRPr=
"006012B2"
w:rsidRDefault=
"00E72A7F"
><w:pPr><w:jc
w:val=
"left"
/><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:fldChar
w:fldCharType=
"begin"
/></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:instrText
xml:space=
"preserve"
>
</w:instrText></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
w:hint=
"eastAsia"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:instrText>
MERGEFIELD columnName \* MERGEFORMAT
</w:instrText></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:instrText
xml:space=
"preserve"
>
</w:instrText></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:fldChar
w:fldCharType=
"separate"
/></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:noProof/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:t>
«columnName»
</w:t></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:fldChar
w:fldCharType=
"end"
/></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcW
w:w=
"820"
w:type=
"dxa"
/></w:tcPr><w:p
w14:paraId=
"59AD952F"
w14:textId=
"6DA247D0"
w:rsidR=
"00E72A7F"
w:rsidRPr=
"006012B2"
w:rsidRDefault=
"00E72A7F"
><w:pPr><w:jc
w:val=
"center"
/><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:fldChar
w:fldCharType=
"begin"
/></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:instrText
xml:space=
"preserve"
>
</w:instrText></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
w:hint=
"eastAsia"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:instrText>
MERGEFIELD dataType \* MERGEFORMAT
</w:instrText></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:instrText
xml:space=
"preserve"
>
</w:instrText></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:fldChar
w:fldCharType=
"separate"
/></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:noProof/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:t>
«dataType»
</w:t></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:fldChar
w:fldCharType=
"end"
/></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcW
w:w=
"337"
w:type=
"dxa"
/></w:tcPr><w:p
w14:paraId=
"7341150C"
w14:textId=
"5CE6B69F"
w:rsidR=
"00E72A7F"
w:rsidRPr=
"006012B2"
w:rsidRDefault=
"00E72A7F"
><w:pPr><w:jc
w:val=
"center"
/><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:fldChar
w:fldCharType=
"begin"
/></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:instrText
xml:space=
"preserve"
>
</w:instrText></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
w:hint=
"eastAsia"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:instrText>
MERGEFIELD dataLength \* MERGEFORMAT
</w:instrText></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:instrText
xml:space=
"preserve"
>
</w:instrText></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:fldChar
w:fldCharType=
"separate"
/></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:noProof/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:t>
«dataLength»
</w:t></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:fldChar
w:fldCharType=
"end"
/></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcW
w:w=
"220"
w:type=
"dxa"
/></w:tcPr><w:p
w14:paraId=
"05632F39"
w14:textId=
"67FCF7F3"
w:rsidR=
"00E72A7F"
w:rsidRPr=
"006012B2"
w:rsidRDefault=
"00E72A7F"
><w:pPr><w:jc
w:val=
"center"
/><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:fldChar
w:fldCharType=
"begin"
/></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:instrText
xml:space=
"preserve"
>
</w:instrText></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
w:hint=
"eastAsia"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:instrText>
MERGEFIELD dataPrecision \* MERGEFORMAT
</w:instrText></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:instrText
xml:space=
"preserve"
>
</w:instrText></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:fldChar
w:fldCharType=
"separate"
/></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:noProof/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:t>
«dataPrecision»
</w:t></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:fldChar
w:fldCharType=
"end"
/></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcW
w:w=
"337"
w:type=
"dxa"
/></w:tcPr><w:p
w14:paraId=
"22D1598F"
w14:textId=
"7797673F"
w:rsidR=
"00E72A7F"
w:rsidRPr=
"006012B2"
w:rsidRDefault=
"00E72A7F"
><w:pPr><w:jc
w:val=
"center"
/><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:fldChar
w:fldCharType=
"begin"
/></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:instrText
xml:space=
"preserve"
>
</w:instrText></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
w:hint=
"eastAsia"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:instrText>
MERGEFIELD dataScale \* MERGEFORMAT
</w:instrText></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:instrText
xml:space=
"preserve"
>
</w:instrText></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:fldChar
w:fldCharType=
"separate"
/></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:noProof/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:t>
«dataScale»
</w:t></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:fldChar
w:fldCharType=
"end"
/></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcW
w:w=
"1183"
w:type=
"dxa"
/></w:tcPr><w:p
w14:paraId=
"54658183"
w14:textId=
"67C0B016"
w:rsidR=
"00E72A7F"
w:rsidRPr=
"006012B2"
w:rsidRDefault=
"00E72A7F"
><w:pPr><w:jc
w:val=
"center"
/><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:fldChar
w:fldCharType=
"begin"
/></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:instrText
xml:space=
"preserve"
>
</w:instrText></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
w:hint=
"eastAsia"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:instrText>
MERGEFIELD columnNullable \* MERGEFORMAT
</w:instrText></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:instrText
xml:space=
"preserve"
>
</w:instrText></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:fldChar
w:fldCharType=
"separate"
/></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:noProof/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:t>
«columnNullable»
</w:t></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:fldChar
w:fldCharType=
"end"
/></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcW
w:w=
"881"
w:type=
"dxa"
/></w:tcPr><w:p
w14:paraId=
"55267221"
w14:textId=
"18FC8525"
w:rsidR=
"00E72A7F"
w:rsidRPr=
"006012B2"
w:rsidRDefault=
"00E72A7F"
><w:pPr><w:jc
w:val=
"center"
/><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:fldChar
w:fldCharType=
"begin"
/></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:instrText
xml:space=
"preserve"
>
</w:instrText></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
w:hint=
"eastAsia"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:instrText>
MERGEFIELD columnKey \* MERGEFORMAT
</w:instrText></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:instrText
xml:space=
"preserve"
>
</w:instrText></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:fldChar
w:fldCharType=
"separate"
/></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:noProof/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:t>
«columnKey»
</w:t></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:fldChar
w:fldCharType=
"end"
/></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcW
w:w=
"1001"
w:type=
"dxa"
/></w:tcPr><w:p
w14:paraId=
"3EF53946"
w14:textId=
"59DA28CF"
w:rsidR=
"00E72A7F"
w:rsidRPr=
"006012B2"
w:rsidRDefault=
"00E72A7F"
><w:pPr><w:jc
w:val=
"center"
/><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:fldChar
w:fldCharType=
"begin"
/></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:instrText
xml:space=
"preserve"
>
MERGEFIELD dataDefault \* MERGEFORMAT
</w:instrText></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:fldChar
w:fldCharType=
"separate"
/></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:noProof/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:t>
«dataDefault»
</w:t></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:fldChar
w:fldCharType=
"end"
/></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcW
w:w=
"2391"
w:type=
"dxa"
/></w:tcPr><w:p
w14:paraId=
"60A311BD"
w14:textId=
"7DD128B8"
w:rsidR=
"00E72A7F"
w:rsidRPr=
"006012B2"
w:rsidRDefault=
"00E72A7F"
><w:pPr><w:jc
w:val=
"center"
/><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:fldChar
w:fldCharType=
"begin"
/></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:instrText
xml:space=
"preserve"
>
</w:instrText></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
w:hint=
"eastAsia"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:instrText>
MERGEFIELD columnComment \* MERGEFORMAT
</w:instrText></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:instrText
xml:space=
"preserve"
>
</w:instrText></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:fldChar
w:fldCharType=
"separate"
/></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:noProof/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:t>
«columnComment»
</w:t></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:fldChar
w:fldCharType=
"end"
/></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:fldChar
w:fldCharType=
"begin"
/></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:instrText
xml:space=
"preserve"
>
</w:instrText></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
w:hint=
"eastAsia"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:instrText>
MERGEFIELD TableEnd:ColumnList \* MERGEFORMAT
</w:instrText></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:instrText
xml:space=
"preserve"
>
</w:instrText></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:fldChar
w:fldCharType=
"separate"
/></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:noProof/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:t>
«TableEnd:ColumnList»
</w:t></w:r><w:r><w:rPr><w:rFonts
w:ascii=
"宋体"
w:hAnsi=
"宋体"
w:cs=
"宋体"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr><w:fldChar
w:fldCharType=
"end"
/></w:r></w:p></w:tc></w:tr></w:tbl><w:bookmarkStart
w:id=
"2"
w:name=
"_ROBOT_ASSISTANCE_SETTING"
/><w:bookmarkEnd
w:id=
"2"
/><w:p
w14:paraId=
"2B798AB9"
w14:textId=
"4428B7EF"
w:rsidR=
"002E6168"
w:rsidRDefault=
"00007B7F"
><w:r><w:fldChar
w:fldCharType=
"begin"
/></w:r><w:r><w:instrText
xml:space=
"preserve"
>
MERGEFIELD TableEnd:TableList \* MERGEFORMAT
</w:instrText></w:r><w:r><w:fldChar
w:fldCharType=
"separate"
/></w:r><w:r><w:rPr><w:noProof/></w:rPr><w:t>
«TableEnd:TableList»
</w:t></w:r><w:r><w:fldChar
w:fldCharType=
"end"
/></w:r></w:p><w:sectPr
w:rsidR=
"002E6168"
w:rsidSect=
"00F9005A"
><w:pgSz
w:w=
"11906"
w:h=
"16838"
/><w:pgMar
w:top=
"720"
w:right=
"720"
w:bottom=
"720"
w:left=
"720"
w:header=
"851"
w:footer=
"992"
w:gutter=
"0"
/><w:cols
w:space=
"720"
/><w:docGrid
w:type=
"lines"
w:linePitch=
"312"
/></w:sectPr></w:body></w:document></pkg:xmlData></pkg:part><pkg:part
pkg:name=
"/word/footnotes.xml"
pkg:contentType=
"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml"
><pkg:xmlData><w:footnotes
xmlns:wpc=
"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas"
xmlns:cx=
"http://schemas.microsoft.com/office/drawing/2014/chartex"
xmlns:mc=
"http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:o=
"urn:schemas-microsoft-com:office:office"
xmlns:r=
"http://schemas.openxmlformats.org/officeDocument/2006/relationships"
xmlns:m=
"http://schemas.openxmlformats.org/officeDocument/2006/math"
xmlns:v=
"urn:schemas-microsoft-com:vml"
xmlns:wp14=
"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing"
xmlns:wp=
"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing"
xmlns:w10=
"urn:schemas-microsoft-com:office:word"
xmlns:w=
"http://schemas.openxmlformats.org/wordprocessingml/2006/main"
xmlns:w14=
"http://schemas.microsoft.com/office/word/2010/wordml"
xmlns:w15=
"http://schemas.microsoft.com/office/word/2012/wordml"
xmlns:w16se=
"http://schemas.microsoft.com/office/word/2015/wordml/symex"
xmlns:wpg=
"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup"
xmlns:wpi=
"http://schemas.microsoft.com/office/word/2010/wordprocessingInk"
xmlns:wne=
"http://schemas.microsoft.com/office/word/2006/wordml"
xmlns:wps=
"http://schemas.microsoft.com/office/word/2010/wordprocessingShape"
mc:Ignorable=
"w14 w15 w16se wp14"
><w:footnote
w:type=
"separator"
w:id=
"-1"
><w:p
w14:paraId=
"714C158D"
w14:textId=
"77777777"
w:rsidR=
"00657BAA"
w:rsidRDefault=
"00657BAA"
><w:r><w:separator/></w:r></w:p></w:footnote><w:footnote
w:type=
"continuationSeparator"
w:id=
"0"
><w:p
w14:paraId=
"5261A473"
w14:textId=
"77777777"
w:rsidR=
"00657BAA"
w:rsidRDefault=
"00657BAA"
><w:r><w:continuationSeparator/></w:r></w:p></w:footnote></w:footnotes></pkg:xmlData></pkg:part><pkg:part
pkg:name=
"/word/endnotes.xml"
pkg:contentType=
"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml"
><pkg:xmlData><w:endnotes
xmlns:wpc=
"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas"
xmlns:cx=
"http://schemas.microsoft.com/office/drawing/2014/chartex"
xmlns:mc=
"http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:o=
"urn:schemas-microsoft-com:office:office"
xmlns:r=
"http://schemas.openxmlformats.org/officeDocument/2006/relationships"
xmlns:m=
"http://schemas.openxmlformats.org/officeDocument/2006/math"
xmlns:v=
"urn:schemas-microsoft-com:vml"
xmlns:wp14=
"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing"
xmlns:wp=
"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing"
xmlns:w10=
"urn:schemas-microsoft-com:office:word"
xmlns:w=
"http://schemas.openxmlformats.org/wordprocessingml/2006/main"
xmlns:w14=
"http://schemas.microsoft.com/office/word/2010/wordml"
xmlns:w15=
"http://schemas.microsoft.com/office/word/2012/wordml"
xmlns:w16se=
"http://schemas.microsoft.com/office/word/2015/wordml/symex"
xmlns:wpg=
"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup"
xmlns:wpi=
"http://schemas.microsoft.com/office/word/2010/wordprocessingInk"
xmlns:wne=
"http://schemas.microsoft.com/office/word/2006/wordml"
xmlns:wps=
"http://schemas.microsoft.com/office/word/2010/wordprocessingShape"
mc:Ignorable=
"w14 w15 w16se wp14"
><w:endnote
w:type=
"separator"
w:id=
"-1"
><w:p
w14:paraId=
"0B7B14C2"
w14:textId=
"77777777"
w:rsidR=
"00657BAA"
w:rsidRDefault=
"00657BAA"
><w:r><w:separator/></w:r></w:p></w:endnote><w:endnote
w:type=
"continuationSeparator"
w:id=
"0"
><w:p
w14:paraId=
"791F9187"
w14:textId=
"77777777"
w:rsidR=
"00657BAA"
w:rsidRDefault=
"00657BAA"
><w:r><w:continuationSeparator/></w:r></w:p></w:endnote></w:endnotes></pkg:xmlData></pkg:part><pkg:part
pkg:name=
"/word/theme/theme1.xml"
pkg:contentType=
"application/vnd.openxmlformats-officedocument.theme+xml"
><pkg:xmlData><a:theme
xmlns:a=
"http://schemas.openxmlformats.org/drawingml/2006/main"
name=
"Office 主题"
><a:themeElements><a:clrScheme
name=
"Office"
><a:dk1><a:sysClr
val=
"windowText"
lastClr=
"000000"
/></a:dk1><a:lt1><a:sysClr
val=
"window"
lastClr=
"FFFFFF"
/></a:lt1><a:dk2><a:srgbClr
val=
"44546A"
/></a:dk2><a:lt2><a:srgbClr
val=
"E7E6E6"
/></a:lt2><a:accent1><a:srgbClr
val=
"4472C4"
/></a:accent1><a:accent2><a:srgbClr
val=
"ED7D31"
/></a:accent2><a:accent3><a:srgbClr
val=
"A5A5A5"
/></a:accent3><a:accent4><a:srgbClr
val=
"FFC000"
/></a:accent4><a:accent5><a:srgbClr
val=
"5B9BD5"
/></a:accent5><a:accent6><a:srgbClr
val=
"70AD47"
/></a:accent6><a:hlink><a:srgbClr
val=
"0563C1"
/></a:hlink><a:folHlink><a:srgbClr
val=
"954F72"
/></a:folHlink></a:clrScheme><a:fontScheme
name=
"Office"
><a:majorFont><a:latin
typeface=
"等线 Light"
panose=
"020F0302020204030204"
/><a:ea
typeface=
""
/><a:cs
typeface=
""
/><a:font
script=
"Jpan"
typeface=
"游ゴシック Light"
/><a:font
script=
"Hang"
typeface=
"맑은 고딕"
/><a:font
script=
"Hans"
typeface=
"等线 Light"
/><a:font
script=
"Hant"
typeface=
"新細明體"
/><a:font
script=
"Arab"
typeface=
"Times New Roman"
/><a:font
script=
"Hebr"
typeface=
"Times New Roman"
/><a:font
script=
"Thai"
typeface=
"Angsana New"
/><a:font
script=
"Ethi"
typeface=
"Nyala"
/><a:font
script=
"Beng"
typeface=
"Vrinda"
/><a:font
script=
"Gujr"
typeface=
"Shruti"
/><a:font
script=
"Khmr"
typeface=
"MoolBoran"
/><a:font
script=
"Knda"
typeface=
"Tunga"
/><a:font
script=
"Guru"
typeface=
"Raavi"
/><a:font
script=
"Cans"
typeface=
"Euphemia"
/><a:font
script=
"Cher"
typeface=
"Plantagenet Cherokee"
/><a:font
script=
"Yiii"
typeface=
"Microsoft Yi Baiti"
/><a:font
script=
"Tibt"
typeface=
"Microsoft Himalaya"
/><a:font
script=
"Thaa"
typeface=
"MV Boli"
/><a:font
script=
"Deva"
typeface=
"Mangal"
/><a:font
script=
"Telu"
typeface=
"Gautami"
/><a:font
script=
"Taml"
typeface=
"Latha"
/><a:font
script=
"Syrc"
typeface=
"Estrangelo Edessa"
/><a:font
script=
"Orya"
typeface=
"Kalinga"
/><a:font
script=
"Mlym"
typeface=
"Kartika"
/><a:font
script=
"Laoo"
typeface=
"DokChampa"
/><a:font
script=
"Sinh"
typeface=
"Iskoola Pota"
/><a:font
script=
"Mong"
typeface=
"Mongolian Baiti"
/><a:font
script=
"Viet"
typeface=
"Times New Roman"
/><a:font
script=
"Uigh"
typeface=
"Microsoft Uighur"
/><a:font
script=
"Geor"
typeface=
"Sylfaen"
/><a:font
script=
"Armn"
typeface=
"Arial"
/><a:font
script=
"Bugi"
typeface=
"Leelawadee UI"
/><a:font
script=
"Bopo"
typeface=
"Microsoft JhengHei"
/><a:font
script=
"Java"
typeface=
"Javanese Text"
/><a:font
script=
"Lisu"
typeface=
"Segoe UI"
/><a:font
script=
"Mymr"
typeface=
"Myanmar Text"
/><a:font
script=
"Nkoo"
typeface=
"Ebrima"
/><a:font
script=
"Olck"
typeface=
"Nirmala UI"
/><a:font
script=
"Osma"
typeface=
"Ebrima"
/><a:font
script=
"Phag"
typeface=
"Phagspa"
/><a:font
script=
"Syrn"
typeface=
"Estrangelo Edessa"
/><a:font
script=
"Syrj"
typeface=
"Estrangelo Edessa"
/><a:font
script=
"Syre"
typeface=
"Estrangelo Edessa"
/><a:font
script=
"Sora"
typeface=
"Nirmala UI"
/><a:font
script=
"Tale"
typeface=
"Microsoft Tai Le"
/><a:font
script=
"Talu"
typeface=
"Microsoft New Tai Lue"
/><a:font
script=
"Tfng"
typeface=
"Ebrima"
/></a:majorFont><a:minorFont><a:latin
typeface=
"等线"
panose=
"020F0502020204030204"
/><a:ea
typeface=
""
/><a:cs
typeface=
""
/><a:font
script=
"Jpan"
typeface=
"游明朝"
/><a:font
script=
"Hang"
typeface=
"맑은 고딕"
/><a:font
script=
"Hans"
typeface=
"等线"
/><a:font
script=
"Hant"
typeface=
"新細明體"
/><a:font
script=
"Arab"
typeface=
"Arial"
/><a:font
script=
"Hebr"
typeface=
"Arial"
/><a:font
script=
"Thai"
typeface=
"Cordia New"
/><a:font
script=
"Ethi"
typeface=
"Nyala"
/><a:font
script=
"Beng"
typeface=
"Vrinda"
/><a:font
script=
"Gujr"
typeface=
"Shruti"
/><a:font
script=
"Khmr"
typeface=
"DaunPenh"
/><a:font
script=
"Knda"
typeface=
"Tunga"
/><a:font
script=
"Guru"
typeface=
"Raavi"
/><a:font
script=
"Cans"
typeface=
"Euphemia"
/><a:font
script=
"Cher"
typeface=
"Plantagenet Cherokee"
/><a:font
script=
"Yiii"
typeface=
"Microsoft Yi Baiti"
/><a:font
script=
"Tibt"
typeface=
"Microsoft Himalaya"
/><a:font
script=
"Thaa"
typeface=
"MV Boli"
/><a:font
script=
"Deva"
typeface=
"Mangal"
/><a:font
script=
"Telu"
typeface=
"Gautami"
/><a:font
script=
"Taml"
typeface=
"Latha"
/><a:font
script=
"Syrc"
typeface=
"Estrangelo Edessa"
/><a:font
script=
"Orya"
typeface=
"Kalinga"
/><a:font
script=
"Mlym"
typeface=
"Kartika"
/><a:font
script=
"Laoo"
typeface=
"DokChampa"
/><a:font
script=
"Sinh"
typeface=
"Iskoola Pota"
/><a:font
script=
"Mong"
typeface=
"Mongolian Baiti"
/><a:font
script=
"Viet"
typeface=
"Arial"
/><a:font
script=
"Uigh"
typeface=
"Microsoft Uighur"
/><a:font
script=
"Geor"
typeface=
"Sylfaen"
/><a:font
script=
"Armn"
typeface=
"Arial"
/><a:font
script=
"Bugi"
typeface=
"Leelawadee UI"
/><a:font
script=
"Bopo"
typeface=
"Microsoft JhengHei"
/><a:font
script=
"Java"
typeface=
"Javanese Text"
/><a:font
script=
"Lisu"
typeface=
"Segoe UI"
/><a:font
script=
"Mymr"
typeface=
"Myanmar Text"
/><a:font
script=
"Nkoo"
typeface=
"Ebrima"
/><a:font
script=
"Olck"
typeface=
"Nirmala UI"
/><a:font
script=
"Osma"
typeface=
"Ebrima"
/><a:font
script=
"Phag"
typeface=
"Phagspa"
/><a:font
script=
"Syrn"
typeface=
"Estrangelo Edessa"
/><a:font
script=
"Syrj"
typeface=
"Estrangelo Edessa"
/><a:font
script=
"Syre"
typeface=
"Estrangelo Edessa"
/><a:font
script=
"Sora"
typeface=
"Nirmala UI"
/><a:font
script=
"Tale"
typeface=
"Microsoft Tai Le"
/><a:font
script=
"Talu"
typeface=
"Microsoft New Tai Lue"
/><a:font
script=
"Tfng"
typeface=
"Ebrima"
/></a:minorFont></a:fontScheme><a:fmtScheme
name=
"Office"
><a:fillStyleLst><a:solidFill><a:schemeClr
val=
"phClr"
/></a:solidFill><a:gradFill
rotWithShape=
"1"
><a:gsLst><a:gs
pos=
"0"
><a:schemeClr
val=
"phClr"
><a:lumMod
val=
"110000"
/><a:satMod
val=
"105000"
/><a:tint
val=
"67000"
/></a:schemeClr></a:gs><a:gs
pos=
"50000"
><a:schemeClr
val=
"phClr"
><a:lumMod
val=
"105000"
/><a:satMod
val=
"103000"
/><a:tint
val=
"73000"
/></a:schemeClr></a:gs><a:gs
pos=
"100000"
><a:schemeClr
val=
"phClr"
><a:lumMod
val=
"105000"
/><a:satMod
val=
"109000"
/><a:tint
val=
"81000"
/></a:schemeClr></a:gs></a:gsLst><a:lin
ang=
"5400000"
scaled=
"0"
/></a:gradFill><a:gradFill
rotWithShape=
"1"
><a:gsLst><a:gs
pos=
"0"
><a:schemeClr
val=
"phClr"
><a:satMod
val=
"103000"
/><a:lumMod
val=
"102000"
/><a:tint
val=
"94000"
/></a:schemeClr></a:gs><a:gs
pos=
"50000"
><a:schemeClr
val=
"phClr"
><a:satMod
val=
"110000"
/><a:lumMod
val=
"100000"
/><a:shade
val=
"100000"
/></a:schemeClr></a:gs><a:gs
pos=
"100000"
><a:schemeClr
val=
"phClr"
><a:lumMod
val=
"99000"
/><a:satMod
val=
"120000"
/><a:shade
val=
"78000"
/></a:schemeClr></a:gs></a:gsLst><a:lin
ang=
"5400000"
scaled=
"0"
/></a:gradFill></a:fillStyleLst><a:lnStyleLst><a:ln
w=
"6350"
cap=
"flat"
cmpd=
"sng"
algn=
"ctr"
><a:solidFill><a:schemeClr
val=
"phClr"
/></a:solidFill><a:prstDash
val=
"solid"
/><a:miter
lim=
"800000"
/></a:ln><a:ln
w=
"12700"
cap=
"flat"
cmpd=
"sng"
algn=
"ctr"
><a:solidFill><a:schemeClr
val=
"phClr"
/></a:solidFill><a:prstDash
val=
"solid"
/><a:miter
lim=
"800000"
/></a:ln><a:ln
w=
"19050"
cap=
"flat"
cmpd=
"sng"
algn=
"ctr"
><a:solidFill><a:schemeClr
val=
"phClr"
/></a:solidFill><a:prstDash
val=
"solid"
/><a:miter
lim=
"800000"
/></a:ln></a:lnStyleLst><a:effectStyleLst><a:effectStyle><a:effectLst/></a:effectStyle><a:effectStyle><a:effectLst/></a:effectStyle><a:effectStyle><a:effectLst><a:outerShdw
blurRad=
"57150"
dist=
"19050"
dir=
"5400000"
algn=
"ctr"
rotWithShape=
"0"
><a:srgbClr
val=
"000000"
><a:alpha
val=
"63000"
/></a:srgbClr></a:outerShdw></a:effectLst></a:effectStyle></a:effectStyleLst><a:bgFillStyleLst><a:solidFill><a:schemeClr
val=
"phClr"
/></a:solidFill><a:solidFill><a:schemeClr
val=
"phClr"
><a:tint
val=
"95000"
/><a:satMod
val=
"170000"
/></a:schemeClr></a:solidFill><a:gradFill
rotWithShape=
"1"
><a:gsLst><a:gs
pos=
"0"
><a:schemeClr
val=
"phClr"
><a:tint
val=
"93000"
/><a:satMod
val=
"150000"
/><a:shade
val=
"98000"
/><a:lumMod
val=
"102000"
/></a:schemeClr></a:gs><a:gs
pos=
"50000"
><a:schemeClr
val=
"phClr"
><a:tint
val=
"98000"
/><a:satMod
val=
"130000"
/><a:shade
val=
"90000"
/><a:lumMod
val=
"103000"
/></a:schemeClr></a:gs><a:gs
pos=
"100000"
><a:schemeClr
val=
"phClr"
><a:shade
val=
"63000"
/><a:satMod
val=
"120000"
/></a:schemeClr></a:gs></a:gsLst><a:lin
ang=
"5400000"
scaled=
"0"
/></a:gradFill></a:bgFillStyleLst></a:fmtScheme></a:themeElements><a:objectDefaults/><a:extraClrSchemeLst/><a:extLst><a:ext
uri=
"{05A4C25C-085E-4340-85A3-A5531E510DB2}"
><thm15:themeFamily
xmlns:thm15=
"http://schemas.microsoft.com/office/thememl/2012/main"
name=
"Office Theme"
id=
"{62F939B6-93AF-4DB8-9C6B-D6C7DFDC589F}"
vid=
"{4A3C46E8-61CC-4603-A589-7422A47A8E4A}"
/></a:ext></a:extLst></a:theme></pkg:xmlData></pkg:part><pkg:part
pkg:name=
"/word/settings.xml"
pkg:contentType=
"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml"
><pkg:xmlData><w:settings
xmlns:mc=
"http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:o=
"urn:schemas-microsoft-com:office:office"
xmlns:r=
"http://schemas.openxmlformats.org/officeDocument/2006/relationships"
xmlns:m=
"http://schemas.openxmlformats.org/officeDocument/2006/math"
xmlns:v=
"urn:schemas-microsoft-com:vml"
xmlns:w10=
"urn:schemas-microsoft-com:office:word"
xmlns:w=
"http://schemas.openxmlformats.org/wordprocessingml/2006/main"
xmlns:w14=
"http://schemas.microsoft.com/office/word/2010/wordml"
xmlns:w15=
"http://schemas.microsoft.com/office/word/2012/wordml"
xmlns:w16se=
"http://schemas.microsoft.com/office/word/2015/wordml/symex"
xmlns:sl=
"http://schemas.openxmlformats.org/schemaLibrary/2006/main"
mc:Ignorable=
"w14 w15 w16se"
><w:zoom
w:percent=
"100"
/><w:bordersDoNotSurroundHeader/><w:bordersDoNotSurroundFooter/><w:activeWritingStyle
w:appName=
"MSWord"
w:lang=
"en-US"
w:vendorID=
"64"
w:dllVersion=
"131078"
w:nlCheck=
"1"
w:checkStyle=
"0"
/><w:activeWritingStyle
w:appName=
"MSWord"
w:lang=
"zh-CN"
w:vendorID=
"64"
w:dllVersion=
"131077"
w:nlCheck=
"1"
w:checkStyle=
"1"
/><w:doNotTrackMoves/><w:defaultTabStop
w:val=
"420"
/><w:drawingGridVerticalSpacing
w:val=
"156"
/><w:displayHorizontalDrawingGridEvery
w:val=
"0"
/><w:displayVerticalDrawingGridEvery
w:val=
"2"
/><w:characterSpacingControl
w:val=
"compressPunctuation"
/><w:hdrShapeDefaults><o:shapedefaults
v:ext=
"edit"
spidmax=
"2049"
fillcolor=
"white"
><v:fill
color=
"white"
/></o:shapedefaults></w:hdrShapeDefaults><w:footnotePr><w:footnote
w:id=
"-1"
/><w:footnote
w:id=
"0"
/></w:footnotePr><w:endnotePr><w:endnote
w:id=
"-1"
/><w:endnote
w:id=
"0"
/></w:endnotePr><w:compat><w:spaceForUL/><w:balanceSingleByteDoubleByteWidth/><w:doNotLeaveBackslashAlone/><w:ulTrailSpace/><w:doNotExpandShiftReturn/><w:adjustLineHeightInTable/><w:useFELayout/><w:useNormalStyleForList/><w:doNotUseIndentAsNumberingTabStop/><w:useAltKinsokuLineBreakRules/><w:allowSpaceOfSameStyleInTable/><w:doNotSuppressIndentation/><w:doNotAutofitConstrainedTables/><w:autofitToFirstFixedWidthCell/><w:displayHangulFixedWidth/><w:splitPgBreakAndParaMark/><w:doNotVertAlignCellWithSp/><w:doNotBreakConstrainedForcedTable/><w:doNotVertAlignInTxbx/><w:useAnsiKerningPairs/><w:cachedColBalance/><w:compatSetting
w:name=
"compatibilityMode"
w:uri=
"http://schemas.microsoft.com/office/word"
w:val=
"11"
/></w:compat><w:rsids><w:rsidRoot
w:val=
"006B6BAC"
/><w:rsid
w:val=
"00006FDD"
/><w:rsid
w:val=
"00007B7F"
/><w:rsid
w:val=
"00011742"
/><w:rsid
w:val=
"00090B82"
/><w:rsid
w:val=
"00120AC9"
/><w:rsid
w:val=
"00194C59"
/><w:rsid
w:val=
"001A00A3"
/><w:rsid
w:val=
"001B2F16"
/><w:rsid
w:val=
"001C760D"
/><w:rsid
w:val=
"001D1BA4"
/><w:rsid
w:val=
"001F7F9D"
/><w:rsid
w:val=
"00207EF9"
/><w:rsid
w:val=
"00291595"
/><w:rsid
w:val=
"002C09E5"
/><w:rsid
w:val=
"002E6168"
/><w:rsid
w:val=
"00300C65"
/><w:rsid
w:val=
"003446F6"
/><w:rsid
w:val=
"0037067B"
/><w:rsid
w:val=
"00373A92"
/><w:rsid
w:val=
"003E1A72"
/><w:rsid
w:val=
"004018CE"
/><w:rsid
w:val=
"00405DA1"
/><w:rsid
w:val=
"00406645"
/><w:rsid
w:val=
"00492AA4"
/><w:rsid
w:val=
"0049404D"
/><w:rsid
w:val=
"004A2B0C"
/><w:rsid
w:val=
"00512816"
/><w:rsid
w:val=
"005153C0"
/><w:rsid
w:val=
"00526115"
/><w:rsid
w:val=
"00554FC1"
/><w:rsid
w:val=
"00581A6E"
/><w:rsid
w:val=
"006012B2"
/><w:rsid
w:val=
"00652AB7"
/><w:rsid
w:val=
"00657BAA"
/><w:rsid
w:val=
"006B6BAC"
/><w:rsid
w:val=
"0071181D"
/><w:rsid
w:val=
"0072008A"
/><w:rsid
w:val=
"00794829"
/><w:rsid
w:val=
"007C29DD"
/><w:rsid
w:val=
"007D2EF9"
/><w:rsid
w:val=
"007E5B44"
/><w:rsid
w:val=
"00813026"
/><w:rsid
w:val=
"00836808"
/><w:rsid
w:val=
"008732C2"
/><w:rsid
w:val=
"00886F3A"
/><w:rsid
w:val=
"008A15A9"
/><w:rsid
w:val=
"008C65D0"
/><w:rsid
w:val=
"008E5711"
/><w:rsid
w:val=
"0091460F"
/><w:rsid
w:val=
"00921076"
/><w:rsid
w:val=
"00923C54"
/><w:rsid
w:val=
"00927D92"
/><w:rsid
w:val=
"00976D0D"
/><w:rsid
w:val=
"009779F7"
/><w:rsid
w:val=
"00987F90"
/><w:rsid
w:val=
"009A05DA"
/><w:rsid
w:val=
"009C1221"
/><w:rsid
w:val=
"009C2E32"
/><w:rsid
w:val=
"009E5EEA"
/><w:rsid
w:val=
"009E647F"
/><w:rsid
w:val=
"00A12B70"
/><w:rsid
w:val=
"00A178B0"
/><w:rsid
w:val=
"00A20989"
/><w:rsid
w:val=
"00AE5F6A"
/><w:rsid
w:val=
"00AF2A8C"
/><w:rsid
w:val=
"00B035E9"
/><w:rsid
w:val=
"00B55D72"
/><w:rsid
w:val=
"00B57CE5"
/><w:rsid
w:val=
"00B73767"
/><w:rsid
w:val=
"00BB5F19"
/><w:rsid
w:val=
"00C040D4"
/><w:rsid
w:val=
"00C156E1"
/><w:rsid
w:val=
"00C3734F"
/><w:rsid
w:val=
"00CB1EBF"
/><w:rsid
w:val=
"00CD0CA2"
/><w:rsid
w:val=
"00D01B94"
/><w:rsid
w:val=
"00D508BB"
/><w:rsid
w:val=
"00D9163D"
/><w:rsid
w:val=
"00DB3B33"
/><w:rsid
w:val=
"00DD0437"
/><w:rsid
w:val=
"00DD6366"
/><w:rsid
w:val=
"00DE0A51"
/><w:rsid
w:val=
"00DF278B"
/><w:rsid
w:val=
"00E72A7F"
/><w:rsid
w:val=
"00EA0CE1"
/><w:rsid
w:val=
"00EA5BFD"
/><w:rsid
w:val=
"00EB783A"
/><w:rsid
w:val=
"00EC592F"
/><w:rsid
w:val=
"00F05527"
/><w:rsid
w:val=
"00F13AF0"
/><w:rsid
w:val=
"00F22A01"
/><w:rsid
w:val=
"00F836EF"
/><w:rsid
w:val=
"00F9005A"
/><w:rsid
w:val=
"00F9647E"
/><w:rsid
w:val=
"00FC7EA7"
/><w:rsid
w:val=
"01F165F2"
/><w:rsid
w:val=
"020F6014"
/><w:rsid
w:val=
"0B795A0E"
/><w:rsid
w:val=
"0CF9065E"
/><w:rsid
w:val=
"12D719B9"
/><w:rsid
w:val=
"186B5653"
/><w:rsid
w:val=
"1FDD5F9C"
/><w:rsid
w:val=
"261D235F"
/><w:rsid
w:val=
"2DDF3793"
/><w:rsid
w:val=
"36DF4541"
/><w:rsid
w:val=
"40E00744"
/><w:rsid
w:val=
"42B74BAD"
/><w:rsid
w:val=
"434F6875"
/><w:rsid
w:val=
"482E7D1D"
/><w:rsid
w:val=
"522C2596"
/><w:rsid
w:val=
"532E03DD"
/><w:rsid
w:val=
"53AB0C8E"
/><w:rsid
w:val=
"567F0764"
/><w:rsid
w:val=
"58E02D25"
/><w:rsid
w:val=
"5EB31DB5"
/><w:rsid
w:val=
"60B27DD0"
/><w:rsid
w:val=
"63702E15"
/><w:rsid
w:val=
"655955D6"
/><w:rsid
w:val=
"65595A0A"
/><w:rsid
w:val=
"679346C8"
/><w:rsid
w:val=
"68444C3D"
/><w:rsid
w:val=
"68794446"
/><w:rsid
w:val=
"6FB02165"
/><w:rsid
w:val=
"76BC2F74"
/><w:rsid
w:val=
"7C642244"
/></w:rsids><m:mathPr><m:mathFont
m:val=
"Cambria Math"
/><m:brkBin
m:val=
"before"
/><m:brkBinSub
m:val=
"--"
/><m:smallFrac
m:val=
"0"
/><m:dispDef/><m:lMargin
m:val=
"0"
/><m:rMargin
m:val=
"0"
/><m:defJc
m:val=
"centerGroup"
/><m:wrapIndent
m:val=
"1440"
/><m:intLim
m:val=
"subSup"
/><m:naryLim
m:val=
"undOvr"
/></m:mathPr><w:themeFontLang
w:val=
"en-US"
w:eastAsia=
"zh-CN"
/><w:clrSchemeMapping
w:bg1=
"light1"
w:t1=
"dark1"
w:bg2=
"light2"
w:t2=
"dark2"
w:accent1=
"accent1"
w:accent2=
"accent2"
w:accent3=
"accent3"
w:accent4=
"accent4"
w:accent5=
"accent5"
w:accent6=
"accent6"
w:hyperlink=
"hyperlink"
w:followedHyperlink=
"followedHyperlink"
/><w:doNotIncludeSubdocsInStats/><w:shapeDefaults><o:shapedefaults
v:ext=
"edit"
spidmax=
"2049"
fillcolor=
"white"
><v:fill
color=
"white"
/></o:shapedefaults><o:shapelayout
v:ext=
"edit"
><o:idmap
v:ext=
"edit"
data=
"1"
/></o:shapelayout></w:shapeDefaults><w:decimalSymbol
w:val=
"."
/><w:listSeparator
w:val=
","
/><w14:docId
w14:val=
"1BE47DC8"
/><w15:chartTrackingRefBased/><w15:docId
w15:val=
"{C6DD5580-9111-4D4E-9572-2937C1D43720}"
/></w:settings></pkg:xmlData></pkg:part><pkg:part
pkg:name=
"/word/webSettings.xml"
pkg:contentType=
"application/vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml"
><pkg:xmlData><w:webSettings
xmlns:mc=
"http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:r=
"http://schemas.openxmlformats.org/officeDocument/2006/relationships"
xmlns:w=
"http://schemas.openxmlformats.org/wordprocessingml/2006/main"
xmlns:w14=
"http://schemas.microsoft.com/office/word/2010/wordml"
xmlns:w15=
"http://schemas.microsoft.com/office/word/2012/wordml"
xmlns:w16se=
"http://schemas.microsoft.com/office/word/2015/wordml/symex"
mc:Ignorable=
"w14 w15 w16se"
><w:divs><w:div
w:id=
"1927764026"
><w:bodyDiv
w:val=
"1"
/><w:marLeft
w:val=
"0"
/><w:marRight
w:val=
"0"
/><w:marTop
w:val=
"0"
/><w:marBottom
w:val=
"0"
/><w:divBdr><w:top
w:val=
"none"
w:sz=
"0"
w:space=
"0"
w:color=
"auto"
/><w:left
w:val=
"none"
w:sz=
"0"
w:space=
"0"
w:color=
"auto"
/><w:bottom
w:val=
"none"
w:sz=
"0"
w:space=
"0"
w:color=
"auto"
/><w:right
w:val=
"none"
w:sz=
"0"
w:space=
"0"
w:color=
"auto"
/></w:divBdr></w:div></w:divs><w:encoding
w:val=
"x-cp20936"
/><w:optimizeForBrowser/><w:allowPNG/></w:webSettings></pkg:xmlData></pkg:part><pkg:part
pkg:name=
"/docProps/custom.xml"
pkg:contentType=
"application/vnd.openxmlformats-officedocument.custom-properties+xml"
pkg:padding=
"256"
><pkg:xmlData><Properties
xmlns=
"http://schemas.openxmlformats.org/officeDocument/2006/custom-properties"
xmlns:vt=
"http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes"
><property
fmtid=
"{D5CDD505-2E9C-101B-9397-08002B2CF9AE}"
pid=
"2"
name=
"KSOProductBuildVer"
><vt:lpwstr>
2052-11.1.0.9740
</vt:lpwstr></property></Properties></pkg:xmlData></pkg:part><pkg:part
pkg:name=
"/docProps/core.xml"
pkg:contentType=
"application/vnd.openxmlformats-package.core-properties+xml"
pkg:padding=
"256"
><pkg:xmlData><cp:coreProperties
xmlns:cp=
"http://schemas.openxmlformats.org/package/2006/metadata/core-properties"
xmlns:dc=
"http://purl.org/dc/elements/1.1/"
xmlns:dcterms=
"http://purl.org/dc/terms/"
xmlns:dcmitype=
"http://purl.org/dc/dcmitype/"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
><dc:title>
数据库表结构文档
</dc:title><dc:subject/><dc:creator>
screw
</dc:creator><cp:keywords/><cp:lastModifiedBy>
Administrator
</cp:lastModifiedBy><cp:revision>
6
</cp:revision><dcterms:created
xsi:type=
"dcterms:W3CDTF"
>
2020-07-30T03:20:00Z
</dcterms:created><dcterms:modified
xsi:type=
"dcterms:W3CDTF"
>
2020-07-30T07:41:00Z
</dcterms:modified></cp:coreProperties></pkg:xmlData></pkg:part><pkg:part
pkg:name=
"/word/styles.xml"
pkg:contentType=
"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml"
><pkg:xmlData><w:styles
xmlns:mc=
"http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:r=
"http://schemas.openxmlformats.org/officeDocument/2006/relationships"
xmlns:w=
"http://schemas.openxmlformats.org/wordprocessingml/2006/main"
xmlns:w14=
"http://schemas.microsoft.com/office/word/2010/wordml"
xmlns:w15=
"http://schemas.microsoft.com/office/word/2012/wordml"
xmlns:w16se=
"http://schemas.microsoft.com/office/word/2015/wordml/symex"
mc:Ignorable=
"w14 w15 w16se"
><w:docDefaults><w:rPrDefault><w:rPr><w:rFonts
w:ascii=
"Calibri"
w:eastAsia=
"宋体"
w:hAnsi=
"Calibri"
w:cs=
"Times New Roman"
/><w:lang
w:val=
"en-US"
w:eastAsia=
"zh-CN"
w:bidi=
"ar-SA"
/></w:rPr></w:rPrDefault><w:pPrDefault/></w:docDefaults><w:latentStyles
w:defLockedState=
"0"
w:defUIPriority=
"0"
w:defSemiHidden=
"0"
w:defUnhideWhenUsed=
"0"
w:defQFormat=
"0"
w:count=
"371"
><w:lsdException
w:name=
"Normal"
w:qFormat=
"1"
/><w:lsdException
w:name=
"heading 1"
w:qFormat=
"1"
/><w:lsdException
w:name=
"heading 2"
w:qFormat=
"1"
/><w:lsdException
w:name=
"heading 3"
w:semiHidden=
"1"
w:unhideWhenUsed=
"1"
w:qFormat=
"1"
/><w:lsdException
w:name=
"heading 4"
w:semiHidden=
"1"
w:unhideWhenUsed=
"1"
w:qFormat=
"1"
/><w:lsdException
w:name=
"heading 5"
w:semiHidden=
"1"
w:unhideWhenUsed=
"1"
w:qFormat=
"1"
/><w:lsdException
w:name=
"heading 6"
w:semiHidden=
"1"
w:unhideWhenUsed=
"1"
w:qFormat=
"1"
/><w:lsdException
w:name=
"heading 7"
w:semiHidden=
"1"
w:unhideWhenUsed=
"1"
w:qFormat=
"1"
/><w:lsdException
w:name=
"heading 8"
w:semiHidden=
"1"
w:unhideWhenUsed=
"1"
w:qFormat=
"1"
/><w:lsdException
w:name=
"heading 9"
w:semiHidden=
"1"
w:unhideWhenUsed=
"1"
w:qFormat=
"1"
/><w:lsdException
w:name=
"header"
w:uiPriority=
"99"
/><w:lsdException
w:name=
"footer"
w:uiPriority=
"99"
/><w:lsdException
w:name=
"caption"
w:semiHidden=
"1"
w:unhideWhenUsed=
"1"
w:qFormat=
"1"
/><w:lsdException
w:name=
"Title"
w:qFormat=
"1"
/><w:lsdException
w:name=
"Default Paragraph Font"
w:semiHidden=
"1"
w:uiPriority=
"1"
w:unhideWhenUsed=
"1"
/><w:lsdException
w:name=
"Subtitle"
w:qFormat=
"1"
/><w:lsdException
w:name=
"Strong"
w:qFormat=
"1"
/><w:lsdException
w:name=
"Emphasis"
w:qFormat=
"1"
/><w:lsdException
w:name=
"HTML Top of Form"
w:semiHidden=
"1"
w:uiPriority=
"99"
w:unhideWhenUsed=
"1"
/><w:lsdException
w:name=
"HTML Bottom of Form"
w:semiHidden=
"1"
w:uiPriority=
"99"
w:unhideWhenUsed=
"1"
/><w:lsdException
w:name=
"Normal Table"
w:semiHidden=
"1"
w:uiPriority=
"99"
w:unhideWhenUsed=
"1"
/><w:lsdException
w:name=
"No List"
w:semiHidden=
"1"
w:uiPriority=
"99"
w:unhideWhenUsed=
"1"
/><w:lsdException
w:name=
"Outline List 1"
w:semiHidden=
"1"
w:uiPriority=
"99"
w:unhideWhenUsed=
"1"
/><w:lsdException
w:name=
"Outline List 2"
w:semiHidden=
"1"
w:uiPriority=
"99"
w:unhideWhenUsed=
"1"
/><w:lsdException
w:name=
"Outline List 3"
w:semiHidden=
"1"
w:uiPriority=
"99"
w:unhideWhenUsed=
"1"
/><w:lsdException
w:name=
"Table Simple 1"
w:semiHidden=
"1"
w:unhideWhenUsed=
"1"
/><w:lsdException
w:name=
"Table Simple 2"
w:semiHidden=
"1"
w:unhideWhenUsed=
"1"
/><w:lsdException
w:name=
"Table Simple 3"
w:semiHidden=
"1"
w:unhideWhenUsed=
"1"
/><w:lsdException
w:name=
"Table Classic 1"
w:semiHidden=
"1"
w:unhideWhenUsed=
"1"
/><w:lsdException
w:name=
"Table Classic 2"
w:semiHidden=
"1"
w:unhideWhenUsed=
"1"
/><w:lsdException
w:name=
"Table Classic 3"
w:semiHidden=
"1"
w:unhideWhenUsed=
"1"
/><w:lsdException
w:name=
"Table Classic 4"
w:semiHidden=
"1"
w:unhideWhenUsed=
"1"
/><w:lsdException
w:name=
"Table Colorful 1"
w:semiHidden=
"1"
w:unhideWhenUsed=
"1"
/><w:lsdException
w:name=
"Table Colorful 2"
w:semiHidden=
"1"
w:unhideWhenUsed=
"1"
/><w:lsdException
w:name=
"Table Colorful 3"
w:semiHidden=
"1"
w:unhideWhenUsed=
"1"
/><w:lsdException
w:name=
"Table Columns 1"
w:semiHidden=
"1"
w:unhideWhenUsed=
"1"
/><w:lsdException
w:name=
"Table Columns 2"
w:semiHidden=
"1"
w:unhideWhenUsed=
"1"
/><w:lsdException
w:name=
"Table Columns 3"
w:semiHidden=
"1"
w:unhideWhenUsed=
"1"
/><w:lsdException
w:name=
"Table Columns 4"
w:semiHidden=
"1"
w:unhideWhenUsed=
"1"
/><w:lsdException
w:name=
"Table Columns 5"
w:semiHidden=
"1"
w:unhideWhenUsed=
"1"
/><w:lsdException
w:name=
"Table Grid 1"
w:semiHidden=
"1"
w:unhideWhenUsed=
"1"
/><w:lsdException
w:name=
"Table Grid 2"
w:semiHidden=
"1"
w:unhideWhenUsed=
"1"
/><w:lsdException
w:name=
"Table Grid 3"
w:semiHidden=
"1"
w:unhideWhenUsed=
"1"
/><w:lsdException
w:name=
"Table Grid 4"
w:semiHidden=
"1"
w:unhideWhenUsed=
"1"
/><w:lsdException
w:name=
"Table Grid 5"
w:semiHidden=
"1"
w:unhideWhenUsed=
"1"
/><w:lsdException
w:name=
"Table Grid 6"
w:semiHidden=
"1"
w:unhideWhenUsed=
"1"
/><w:lsdException
w:name=
"Table Grid 7"
w:semiHidden=
"1"
w:unhideWhenUsed=
"1"
/><w:lsdException
w:name=
"Table Grid 8"
w:semiHidden=
"1"
w:unhideWhenUsed=
"1"
/><w:lsdException
w:name=
"Table List 1"
w:semiHidden=
"1"
w:unhideWhenUsed=
"1"
/><w:lsdException
w:name=
"Table List 2"
w:semiHidden=
"1"
w:unhideWhenUsed=
"1"
/><w:lsdException
w:name=
"Table List 3"
w:semiHidden=
"1"
w:unhideWhenUsed=
"1"
/><w:lsdException
w:name=
"Table List 4"
w:semiHidden=
"1"
w:unhideWhenUsed=
"1"
/><w:lsdException
w:name=
"Table List 5"
w:semiHidden=
"1"
w:unhideWhenUsed=
"1"
/><w:lsdException
w:name=
"Table List 6"
w:semiHidden=
"1"
w:unhideWhenUsed=
"1"
/><w:lsdException
w:name=
"Table List 7"
w:semiHidden=
"1"
w:unhideWhenUsed=
"1"
/><w:lsdException
w:name=
"Table List 8"
w:semiHidden=
"1"
w:unhideWhenUsed=
"1"
/><w:lsdException
w:name=
"Table 3D effects 1"
w:semiHidden=
"1"
w:unhideWhenUsed=
"1"
/><w:lsdException
w:name=
"Table 3D effects 2"
w:semiHidden=
"1"
w:unhideWhenUsed=
"1"
/><w:lsdException
w:name=
"Table 3D effects 3"
w:semiHidden=
"1"
w:unhideWhenUsed=
"1"
/><w:lsdException
w:name=
"Table Contemporary"
w:semiHidden=
"1"
w:unhideWhenUsed=
"1"
/><w:lsdException
w:name=
"Table Elegant"
w:semiHidden=
"1"
w:unhideWhenUsed=
"1"
/><w:lsdException
w:name=
"Table Professional"
w:semiHidden=
"1"
w:unhideWhenUsed=
"1"
/><w:lsdException
w:name=
"Table Subtle 1"
w:semiHidden=
"1"
w:unhideWhenUsed=
"1"
/><w:lsdException
w:name=
"Table Subtle 2"
w:semiHidden=
"1"
w:unhideWhenUsed=
"1"
/><w:lsdException
w:name=
"Table Web 1"
w:semiHidden=
"1"
w:unhideWhenUsed=
"1"
/><w:lsdException
w:name=
"Table Web 2"
w:semiHidden=
"1"
w:unhideWhenUsed=
"1"
/><w:lsdException
w:name=
"Table Web 3"
w:semiHidden=
"1"
w:unhideWhenUsed=
"1"
/><w:lsdException
w:name=
"Table Grid"
w:qFormat=
"1"
/><w:lsdException
w:name=
"Table Theme"
w:semiHidden=
"1"
w:unhideWhenUsed=
"1"
/><w:lsdException
w:name=
"Placeholder Text"
w:semiHidden=
"1"
w:uiPriority=
"99"
w:unhideWhenUsed=
"1"
/><w:lsdException
w:name=
"No Spacing"
w:uiPriority=
"99"
w:qFormat=
"1"
/><w:lsdException
w:name=
"Light Shading"
w:uiPriority=
"60"
/><w:lsdException
w:name=
"Light List"
w:uiPriority=
"61"
/><w:lsdException
w:name=
"Light Grid"
w:uiPriority=
"62"
/><w:lsdException
w:name=
"Medium Shading 1"
w:uiPriority=
"63"
/><w:lsdException
w:name=
"Medium Shading 2"
w:uiPriority=
"64"
/><w:lsdException
w:name=
"Medium List 1"
w:uiPriority=
"65"
/><w:lsdException
w:name=
"Medium List 2"
w:uiPriority=
"66"
/><w:lsdException
w:name=
"Medium Grid 1"
w:uiPriority=
"67"
/><w:lsdException
w:name=
"Medium Grid 2"
w:uiPriority=
"68"
/><w:lsdException
w:name=
"Medium Grid 3"
w:uiPriority=
"69"
/><w:lsdException
w:name=
"Dark List"
w:uiPriority=
"70"
/><w:lsdException
w:name=
"Colorful Shading"
w:uiPriority=
"71"
/><w:lsdException
w:name=
"Colorful List"
w:uiPriority=
"72"
/><w:lsdException
w:name=
"Colorful Grid"
w:uiPriority=
"73"
/><w:lsdException
w:name=
"Light Shading Accent 1"
w:uiPriority=
"60"
/><w:lsdException
w:name=
"Light List Accent 1"
w:uiPriority=
"61"
/><w:lsdException
w:name=
"Light Grid Accent 1"
w:uiPriority=
"62"
/><w:lsdException
w:name=
"Medium Shading 1 Accent 1"
w:uiPriority=
"63"
/><w:lsdException
w:name=
"Medium Shading 2 Accent 1"
w:uiPriority=
"64"
/><w:lsdException
w:name=
"Medium List 1 Accent 1"
w:uiPriority=
"65"
/><w:lsdException
w:name=
"Revision"
w:semiHidden=
"1"
w:uiPriority=
"99"
w:unhideWhenUsed=
"1"
/><w:lsdException
w:name=
"List Paragraph"
w:uiPriority=
"99"
w:qFormat=
"1"
/><w:lsdException
w:name=
"Quote"
w:uiPriority=
"99"
w:qFormat=
"1"
/><w:lsdException
w:name=
"Intense Quote"
w:uiPriority=
"99"
w:qFormat=
"1"
/><w:lsdException
w:name=
"Medium List 2 Accent 1"
w:uiPriority=
"66"
/><w:lsdException
w:name=
"Medium Grid 1 Accent 1"
w:uiPriority=
"67"
/><w:lsdException
w:name=
"Medium Grid 2 Accent 1"
w:uiPriority=
"68"
/><w:lsdException
w:name=
"Medium Grid 3 Accent 1"
w:uiPriority=
"69"
/><w:lsdException
w:name=
"Dark List Accent 1"
w:uiPriority=
"70"
/><w:lsdException
w:name=
"Colorful Shading Accent 1"
w:uiPriority=
"71"
/><w:lsdException
w:name=
"Colorful List Accent 1"
w:uiPriority=
"72"
/><w:lsdException
w:name=
"Colorful Grid Accent 1"
w:uiPriority=
"73"
/><w:lsdException
w:name=
"Light Shading Accent 2"
w:uiPriority=
"60"
/><w:lsdException
w:name=
"Light List Accent 2"
w:uiPriority=
"61"
/><w:lsdException
w:name=
"Light Grid Accent 2"
w:uiPriority=
"62"
/><w:lsdException
w:name=
"Medium Shading 1 Accent 2"
w:uiPriority=
"63"
/><w:lsdException
w:name=
"Medium Shading 2 Accent 2"
w:uiPriority=
"64"
/><w:lsdException
w:name=
"Medium List 1 Accent 2"
w:uiPriority=
"65"
/><w:lsdException
w:name=
"Medium List 2 Accent 2"
w:uiPriority=
"66"
/><w:lsdException
w:name=
"Medium Grid 1 Accent 2"
w:uiPriority=
"67"
/><w:lsdException
w:name=
"Medium Grid 2 Accent 2"
w:uiPriority=
"68"
/><w:lsdException
w:name=
"Medium Grid 3 Accent 2"
w:uiPriority=
"69"
/><w:lsdException
w:name=
"Dark List Accent 2"
w:uiPriority=
"70"
/><w:lsdException
w:name=
"Colorful Shading Accent 2"
w:uiPriority=
"71"
/><w:lsdException
w:name=
"Colorful List Accent 2"
w:uiPriority=
"72"
/><w:lsdException
w:name=
"Colorful Grid Accent 2"
w:uiPriority=
"73"
/><w:lsdException
w:name=
"Light Shading Accent 3"
w:uiPriority=
"60"
/><w:lsdException
w:name=
"Light List Accent 3"
w:uiPriority=
"61"
/><w:lsdException
w:name=
"Light Grid Accent 3"
w:uiPriority=
"62"
/><w:lsdException
w:name=
"Medium Shading 1 Accent 3"
w:uiPriority=
"63"
/><w:lsdException
w:name=
"Medium Shading 2 Accent 3"
w:uiPriority=
"64"
/><w:lsdException
w:name=
"Medium List 1 Accent 3"
w:uiPriority=
"65"
/><w:lsdException
w:name=
"Medium List 2 Accent 3"
w:uiPriority=
"66"
/><w:lsdException
w:name=
"Medium Grid 1 Accent 3"
w:uiPriority=
"67"
/><w:lsdException
w:name=
"Medium Grid 2 Accent 3"
w:uiPriority=
"68"
/><w:lsdException
w:name=
"Medium Grid 3 Accent 3"
w:uiPriority=
"69"
/><w:lsdException
w:name=
"Dark List Accent 3"
w:uiPriority=
"70"
/><w:lsdException
w:name=
"Colorful Shading Accent 3"
w:uiPriority=
"71"
/><w:lsdException
w:name=
"Colorful List Accent 3"
w:uiPriority=
"72"
/><w:lsdException
w:name=
"Colorful Grid Accent 3"
w:uiPriority=
"73"
/><w:lsdException
w:name=
"Light Shading Accent 4"
w:uiPriority=
"60"
/><w:lsdException
w:name=
"Light List Accent 4"
w:uiPriority=
"61"
/><w:lsdException
w:name=
"Light Grid Accent 4"
w:uiPriority=
"62"
/><w:lsdException
w:name=
"Medium Shading 1 Accent 4"
w:uiPriority=
"63"
/><w:lsdException
w:name=
"Medium Shading 2 Accent 4"
w:uiPriority=
"64"
/><w:lsdException
w:name=
"Medium List 1 Accent 4"
w:uiPriority=
"65"
/><w:lsdException
w:name=
"Medium List 2 Accent 4"
w:uiPriority=
"66"
/><w:lsdException
w:name=
"Medium Grid 1 Accent 4"
w:uiPriority=
"67"
/><w:lsdException
w:name=
"Medium Grid 2 Accent 4"
w:uiPriority=
"68"
/><w:lsdException
w:name=
"Medium Grid 3 Accent 4"
w:uiPriority=
"69"
/><w:lsdException
w:name=
"Dark List Accent 4"
w:uiPriority=
"70"
/><w:lsdException
w:name=
"Colorful Shading Accent 4"
w:uiPriority=
"71"
/><w:lsdException
w:name=
"Colorful List Accent 4"
w:uiPriority=
"72"
/><w:lsdException
w:name=
"Colorful Grid Accent 4"
w:uiPriority=
"73"
/><w:lsdException
w:name=
"Light Shading Accent 5"
w:uiPriority=
"60"
/><w:lsdException
w:name=
"Light List Accent 5"
w:uiPriority=
"61"
/><w:lsdException
w:name=
"Light Grid Accent 5"
w:uiPriority=
"62"
/><w:lsdException
w:name=
"Medium Shading 1 Accent 5"
w:uiPriority=
"63"
/><w:lsdException
w:name=
"Medium Shading 2 Accent 5"
w:uiPriority=
"64"
/><w:lsdException
w:name=
"Medium List 1 Accent 5"
w:uiPriority=
"65"
/><w:lsdException
w:name=
"Medium List 2 Accent 5"
w:uiPriority=
"66"
/><w:lsdException
w:name=
"Medium Grid 1 Accent 5"
w:uiPriority=
"67"
/><w:lsdException
w:name=
"Medium Grid 2 Accent 5"
w:uiPriority=
"68"
/><w:lsdException
w:name=
"Medium Grid 3 Accent 5"
w:uiPriority=
"69"
/><w:lsdException
w:name=
"Dark List Accent 5"
w:uiPriority=
"70"
/><w:lsdException
w:name=
"Colorful Shading Accent 5"
w:uiPriority=
"71"
/><w:lsdException
w:name=
"Colorful List Accent 5"
w:uiPriority=
"72"
/><w:lsdException
w:name=
"Colorful Grid Accent 5"
w:uiPriority=
"73"
/><w:lsdException
w:name=
"Light Shading Accent 6"
w:uiPriority=
"60"
/><w:lsdException
w:name=
"Light List Accent 6"
w:uiPriority=
"61"
/><w:lsdException
w:name=
"Light Grid Accent 6"
w:uiPriority=
"62"
/><w:lsdException
w:name=
"Medium Shading 1 Accent 6"
w:uiPriority=
"63"
/><w:lsdException
w:name=
"Medium Shading 2 Accent 6"
w:uiPriority=
"64"
/><w:lsdException
w:name=
"Medium List 1 Accent 6"
w:uiPriority=
"65"
/><w:lsdException
w:name=
"Medium List 2 Accent 6"
w:uiPriority=
"66"
/><w:lsdException
w:name=
"Medium Grid 1 Accent 6"
w:uiPriority=
"67"
/><w:lsdException
w:name=
"Medium Grid 2 Accent 6"
w:uiPriority=
"68"
/><w:lsdException
w:name=
"Medium Grid 3 Accent 6"
w:uiPriority=
"69"
/><w:lsdException
w:name=
"Dark List Accent 6"
w:uiPriority=
"70"
/><w:lsdException
w:name=
"Colorful Shading Accent 6"
w:uiPriority=
"71"
/><w:lsdException
w:name=
"Colorful List Accent 6"
w:uiPriority=
"72"
/><w:lsdException
w:name=
"Colorful Grid Accent 6"
w:uiPriority=
"73"
/><w:lsdException
w:name=
"Subtle Emphasis"
w:uiPriority=
"19"
w:qFormat=
"1"
/><w:lsdException
w:name=
"Intense Emphasis"
w:uiPriority=
"21"
w:qFormat=
"1"
/><w:lsdException
w:name=
"Subtle Reference"
w:uiPriority=
"31"
w:qFormat=
"1"
/><w:lsdException
w:name=
"Intense Reference"
w:uiPriority=
"32"
w:qFormat=
"1"
/><w:lsdException
w:name=
"Book Title"
w:uiPriority=
"33"
w:qFormat=
"1"
/><w:lsdException
w:name=
"Bibliography"
w:semiHidden=
"1"
w:uiPriority=
"37"
w:unhideWhenUsed=
"1"
/><w:lsdException
w:name=
"TOC Heading"
w:semiHidden=
"1"
w:uiPriority=
"39"
w:unhideWhenUsed=
"1"
w:qFormat=
"1"
/><w:lsdException
w:name=
"Plain Table 1"
w:uiPriority=
"41"
/><w:lsdException
w:name=
"Plain Table 2"
w:uiPriority=
"42"
/><w:lsdException
w:name=
"Plain Table 3"
w:uiPriority=
"43"
/><w:lsdException
w:name=
"Plain Table 4"
w:uiPriority=
"44"
/><w:lsdException
w:name=
"Plain Table 5"
w:uiPriority=
"45"
/><w:lsdException
w:name=
"Grid Table Light"
w:uiPriority=
"40"
/><w:lsdException
w:name=
"Grid Table 1 Light"
w:uiPriority=
"46"
/><w:lsdException
w:name=
"Grid Table 2"
w:uiPriority=
"47"
/><w:lsdException
w:name=
"Grid Table 3"
w:uiPriority=
"48"
/><w:lsdException
w:name=
"Grid Table 4"
w:uiPriority=
"49"
/><w:lsdException
w:name=
"Grid Table 5 Dark"
w:uiPriority=
"50"
/><w:lsdException
w:name=
"Grid Table 6 Colorful"
w:uiPriority=
"51"
/><w:lsdException
w:name=
"Grid Table 7 Colorful"
w:uiPriority=
"52"
/><w:lsdException
w:name=
"Grid Table 1 Light Accent 1"
w:uiPriority=
"46"
/><w:lsdException
w:name=
"Grid Table 2 Accent 1"
w:uiPriority=
"47"
/><w:lsdException
w:name=
"Grid Table 3 Accent 1"
w:uiPriority=
"48"
/><w:lsdException
w:name=
"Grid Table 4 Accent 1"
w:uiPriority=
"49"
/><w:lsdException
w:name=
"Grid Table 5 Dark Accent 1"
w:uiPriority=
"50"
/><w:lsdException
w:name=
"Grid Table 6 Colorful Accent 1"
w:uiPriority=
"51"
/><w:lsdException
w:name=
"Grid Table 7 Colorful Accent 1"
w:uiPriority=
"52"
/><w:lsdException
w:name=
"Grid Table 1 Light Accent 2"
w:uiPriority=
"46"
/><w:lsdException
w:name=
"Grid Table 2 Accent 2"
w:uiPriority=
"47"
/><w:lsdException
w:name=
"Grid Table 3 Accent 2"
w:uiPriority=
"48"
/><w:lsdException
w:name=
"Grid Table 4 Accent 2"
w:uiPriority=
"49"
/><w:lsdException
w:name=
"Grid Table 5 Dark Accent 2"
w:uiPriority=
"50"
/><w:lsdException
w:name=
"Grid Table 6 Colorful Accent 2"
w:uiPriority=
"51"
/><w:lsdException
w:name=
"Grid Table 7 Colorful Accent 2"
w:uiPriority=
"52"
/><w:lsdException
w:name=
"Grid Table 1 Light Accent 3"
w:uiPriority=
"46"
/><w:lsdException
w:name=
"Grid Table 2 Accent 3"
w:uiPriority=
"47"
/><w:lsdException
w:name=
"Grid Table 3 Accent 3"
w:uiPriority=
"48"
/><w:lsdException
w:name=
"Grid Table 4 Accent 3"
w:uiPriority=
"49"
/><w:lsdException
w:name=
"Grid Table 5 Dark Accent 3"
w:uiPriority=
"50"
/><w:lsdException
w:name=
"Grid Table 6 Colorful Accent 3"
w:uiPriority=
"51"
/><w:lsdException
w:name=
"Grid Table 7 Colorful Accent 3"
w:uiPriority=
"52"
/><w:lsdException
w:name=
"Grid Table 1 Light Accent 4"
w:uiPriority=
"46"
/><w:lsdException
w:name=
"Grid Table 2 Accent 4"
w:uiPriority=
"47"
/><w:lsdException
w:name=
"Grid Table 3 Accent 4"
w:uiPriority=
"48"
/><w:lsdException
w:name=
"Grid Table 4 Accent 4"
w:uiPriority=
"49"
/><w:lsdException
w:name=
"Grid Table 5 Dark Accent 4"
w:uiPriority=
"50"
/><w:lsdException
w:name=
"Grid Table 6 Colorful Accent 4"
w:uiPriority=
"51"
/><w:lsdException
w:name=
"Grid Table 7 Colorful Accent 4"
w:uiPriority=
"52"
/><w:lsdException
w:name=
"Grid Table 1 Light Accent 5"
w:uiPriority=
"46"
/><w:lsdException
w:name=
"Grid Table 2 Accent 5"
w:uiPriority=
"47"
/><w:lsdException
w:name=
"Grid Table 3 Accent 5"
w:uiPriority=
"48"
/><w:lsdException
w:name=
"Grid Table 4 Accent 5"
w:uiPriority=
"49"
/><w:lsdException
w:name=
"Grid Table 5 Dark Accent 5"
w:uiPriority=
"50"
/><w:lsdException
w:name=
"Grid Table 6 Colorful Accent 5"
w:uiPriority=
"51"
/><w:lsdException
w:name=
"Grid Table 7 Colorful Accent 5"
w:uiPriority=
"52"
/><w:lsdException
w:name=
"Grid Table 1 Light Accent 6"
w:uiPriority=
"46"
/><w:lsdException
w:name=
"Grid Table 2 Accent 6"
w:uiPriority=
"47"
/><w:lsdException
w:name=
"Grid Table 3 Accent 6"
w:uiPriority=
"48"
/><w:lsdException
w:name=
"Grid Table 4 Accent 6"
w:uiPriority=
"49"
/><w:lsdException
w:name=
"Grid Table 5 Dark Accent 6"
w:uiPriority=
"50"
/><w:lsdException
w:name=
"Grid Table 6 Colorful Accent 6"
w:uiPriority=
"51"
/><w:lsdException
w:name=
"Grid Table 7 Colorful Accent 6"
w:uiPriority=
"52"
/><w:lsdException
w:name=
"List Table 1 Light"
w:uiPriority=
"46"
/><w:lsdException
w:name=
"List Table 2"
w:uiPriority=
"47"
/><w:lsdException
w:name=
"List Table 3"
w:uiPriority=
"48"
/><w:lsdException
w:name=
"List Table 4"
w:uiPriority=
"49"
/><w:lsdException
w:name=
"List Table 5 Dark"
w:uiPriority=
"50"
/><w:lsdException
w:name=
"List Table 6 Colorful"
w:uiPriority=
"51"
/><w:lsdException
w:name=
"List Table 7 Colorful"
w:uiPriority=
"52"
/><w:lsdException
w:name=
"List Table 1 Light Accent 1"
w:uiPriority=
"46"
/><w:lsdException
w:name=
"List Table 2 Accent 1"
w:uiPriority=
"47"
/><w:lsdException
w:name=
"List Table 3 Accent 1"
w:uiPriority=
"48"
/><w:lsdException
w:name=
"List Table 4 Accent 1"
w:uiPriority=
"49"
/><w:lsdException
w:name=
"List Table 5 Dark Accent 1"
w:uiPriority=
"50"
/><w:lsdException
w:name=
"List Table 6 Colorful Accent 1"
w:uiPriority=
"51"
/><w:lsdException
w:name=
"List Table 7 Colorful Accent 1"
w:uiPriority=
"52"
/><w:lsdException
w:name=
"List Table 1 Light Accent 2"
w:uiPriority=
"46"
/><w:lsdException
w:name=
"List Table 2 Accent 2"
w:uiPriority=
"47"
/><w:lsdException
w:name=
"List Table 3 Accent 2"
w:uiPriority=
"48"
/><w:lsdException
w:name=
"List Table 4 Accent 2"
w:uiPriority=
"49"
/><w:lsdException
w:name=
"List Table 5 Dark Accent 2"
w:uiPriority=
"50"
/><w:lsdException
w:name=
"List Table 6 Colorful Accent 2"
w:uiPriority=
"51"
/><w:lsdException
w:name=
"List Table 7 Colorful Accent 2"
w:uiPriority=
"52"
/><w:lsdException
w:name=
"List Table 1 Light Accent 3"
w:uiPriority=
"46"
/><w:lsdException
w:name=
"List Table 2 Accent 3"
w:uiPriority=
"47"
/><w:lsdException
w:name=
"List Table 3 Accent 3"
w:uiPriority=
"48"
/><w:lsdException
w:name=
"List Table 4 Accent 3"
w:uiPriority=
"49"
/><w:lsdException
w:name=
"List Table 5 Dark Accent 3"
w:uiPriority=
"50"
/><w:lsdException
w:name=
"List Table 6 Colorful Accent 3"
w:uiPriority=
"51"
/><w:lsdException
w:name=
"List Table 7 Colorful Accent 3"
w:uiPriority=
"52"
/><w:lsdException
w:name=
"List Table 1 Light Accent 4"
w:uiPriority=
"46"
/><w:lsdException
w:name=
"List Table 2 Accent 4"
w:uiPriority=
"47"
/><w:lsdException
w:name=
"List Table 3 Accent 4"
w:uiPriority=
"48"
/><w:lsdException
w:name=
"List Table 4 Accent 4"
w:uiPriority=
"49"
/><w:lsdException
w:name=
"List Table 5 Dark Accent 4"
w:uiPriority=
"50"
/><w:lsdException
w:name=
"List Table 6 Colorful Accent 4"
w:uiPriority=
"51"
/><w:lsdException
w:name=
"List Table 7 Colorful Accent 4"
w:uiPriority=
"52"
/><w:lsdException
w:name=
"List Table 1 Light Accent 5"
w:uiPriority=
"46"
/><w:lsdException
w:name=
"List Table 2 Accent 5"
w:uiPriority=
"47"
/><w:lsdException
w:name=
"List Table 3 Accent 5"
w:uiPriority=
"48"
/><w:lsdException
w:name=
"List Table 4 Accent 5"
w:uiPriority=
"49"
/><w:lsdException
w:name=
"List Table 5 Dark Accent 5"
w:uiPriority=
"50"
/><w:lsdException
w:name=
"List Table 6 Colorful Accent 5"
w:uiPriority=
"51"
/><w:lsdException
w:name=
"List Table 7 Colorful Accent 5"
w:uiPriority=
"52"
/><w:lsdException
w:name=
"List Table 1 Light Accent 6"
w:uiPriority=
"46"
/><w:lsdException
w:name=
"List Table 2 Accent 6"
w:uiPriority=
"47"
/><w:lsdException
w:name=
"List Table 3 Accent 6"
w:uiPriority=
"48"
/><w:lsdException
w:name=
"List Table 4 Accent 6"
w:uiPriority=
"49"
/><w:lsdException
w:name=
"List Table 5 Dark Accent 6"
w:uiPriority=
"50"
/><w:lsdException
w:name=
"List Table 6 Colorful Accent 6"
w:uiPriority=
"51"
/><w:lsdException
w:name=
"List Table 7 Colorful Accent 6"
w:uiPriority=
"52"
/></w:latentStyles><w:style
w:type=
"paragraph"
w:default=
"1"
w:styleId=
"a"
><w:name
w:val=
"Normal"
/><w:qFormat/><w:pPr><w:widowControl
w:val=
"0"
/><w:jc
w:val=
"both"
/></w:pPr><w:rPr><w:kern
w:val=
"2"
/><w:sz
w:val=
"21"
/><w:szCs
w:val=
"24"
/></w:rPr></w:style><w:style
w:type=
"paragraph"
w:styleId=
"1"
><w:name
w:val=
"heading 1"
/><w:basedOn
w:val=
"a"
/><w:next
w:val=
"a"
/><w:qFormat/><w:pPr><w:keepNext/><w:keepLines/><w:spacing
w:before=
"340"
w:after=
"330"
w:line=
"576"
w:lineRule=
"auto"
/><w:outlineLvl
w:val=
"0"
/></w:pPr><w:rPr><w:b/><w:kern
w:val=
"44"
/><w:sz
w:val=
"44"
/></w:rPr></w:style><w:style
w:type=
"paragraph"
w:styleId=
"2"
><w:name
w:val=
"heading 2"
/><w:basedOn
w:val=
"a"
/><w:next
w:val=
"a"
/><w:qFormat/><w:pPr><w:keepNext/><w:keepLines/><w:spacing
w:before=
"260"
w:after=
"260"
w:line=
"413"
w:lineRule=
"auto"
/><w:outlineLvl
w:val=
"1"
/></w:pPr><w:rPr><w:rFonts
w:ascii=
"Arial"
w:eastAsia=
"黑体"
w:hAnsi=
"Arial"
/><w:b/><w:sz
w:val=
"32"
/></w:rPr></w:style><w:style
w:type=
"character"
w:default=
"1"
w:styleId=
"a0"
><w:name
w:val=
"Default Paragraph Font"
/><w:uiPriority
w:val=
"1"
/><w:semiHidden/><w:unhideWhenUsed/></w:style><w:style
w:type=
"table"
w:default=
"1"
w:styleId=
"a1"
><w:name
w:val=
"Normal Table"
/><w:uiPriority
w:val=
"99"
/><w:semiHidden/><w:unhideWhenUsed/><w:tblPr><w:tblInd
w:w=
"0"
w:type=
"dxa"
/><w:tblCellMar><w:top
w:w=
"0"
w:type=
"dxa"
/><w:left
w:w=
"108"
w:type=
"dxa"
/><w:bottom
w:w=
"0"
w:type=
"dxa"
/><w:right
w:w=
"108"
w:type=
"dxa"
/></w:tblCellMar></w:tblPr></w:style><w:style
w:type=
"numbering"
w:default=
"1"
w:styleId=
"a2"
><w:name
w:val=
"No List"
/><w:uiPriority
w:val=
"99"
/><w:semiHidden/><w:unhideWhenUsed/></w:style><w:style
w:type=
"character"
w:styleId=
"a3"
><w:name
w:val=
"Hyperlink"
/><w:rPr><w:color
w:val=
"0563C1"
/><w:u
w:val=
"single"
/></w:rPr></w:style><w:style
w:type=
"character"
w:customStyle=
"1"
w:styleId=
"a4"
><w:name
w:val=
"页眉 字符"
/><w:link
w:val=
"a5"
/><w:uiPriority
w:val=
"99"
/><w:rPr><w:kern
w:val=
"2"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr></w:style><w:style
w:type=
"character"
w:customStyle=
"1"
w:styleId=
"UnresolvedMention"
><w:name
w:val=
"Unresolved Mention"
/><w:uiPriority
w:val=
"99"
/><w:unhideWhenUsed/><w:rPr><w:color
w:val=
"605E5C"
/><w:shd
w:val=
"clear"
w:color=
"auto"
w:fill=
"E1DFDD"
/></w:rPr></w:style><w:style
w:type=
"character"
w:customStyle=
"1"
w:styleId=
"a6"
><w:name
w:val=
"页脚 字符"
/><w:link
w:val=
"a7"
/><w:uiPriority
w:val=
"99"
/><w:rPr><w:kern
w:val=
"2"
/><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr></w:style><w:style
w:type=
"paragraph"
w:styleId=
"a7"
><w:name
w:val=
"footer"
/><w:basedOn
w:val=
"a"
/><w:link
w:val=
"a6"
/><w:uiPriority
w:val=
"99"
/><w:pPr><w:tabs><w:tab
w:val=
"center"
w:pos=
"4153"
/><w:tab
w:val=
"right"
w:pos=
"8306"
/></w:tabs><w:snapToGrid
w:val=
"0"
/><w:jc
w:val=
"left"
/></w:pPr><w:rPr><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr></w:style><w:style
w:type=
"paragraph"
w:styleId=
"a5"
><w:name
w:val=
"header"
/><w:basedOn
w:val=
"a"
/><w:link
w:val=
"a4"
/><w:uiPriority
w:val=
"99"
/><w:pPr><w:pBdr><w:bottom
w:val=
"single"
w:sz=
"6"
w:space=
"1"
w:color=
"auto"
/></w:pBdr><w:tabs><w:tab
w:val=
"center"
w:pos=
"4153"
/><w:tab
w:val=
"right"
w:pos=
"8306"
/></w:tabs><w:snapToGrid
w:val=
"0"
/><w:jc
w:val=
"center"
/></w:pPr><w:rPr><w:sz
w:val=
"18"
/><w:szCs
w:val=
"18"
/></w:rPr></w:style><w:style
w:type=
"table"
w:styleId=
"a8"
><w:name
w:val=
"Table Grid"
/><w:basedOn
w:val=
"a1"
/><w:qFormat/><w:pPr><w:widowControl
w:val=
"0"
/><w:jc
w:val=
"both"
/></w:pPr><w:tblPr><w:tblBorders><w:top
w:val=
"single"
w:sz=
"4"
w:space=
"0"
w:color=
"auto"
/><w:left
w:val=
"single"
w:sz=
"4"
w:space=
"0"
w:color=
"auto"
/><w:bottom
w:val=
"single"
w:sz=
"4"
w:space=
"0"
w:color=
"auto"
/><w:right
w:val=
"single"
w:sz=
"4"
w:space=
"0"
w:color=
"auto"
/><w:insideH
w:val=
"single"
w:sz=
"4"
w:space=
"0"
w:color=
"auto"
/><w:insideV
w:val=
"single"
w:sz=
"4"
w:space=
"0"
w:color=
"auto"
/></w:tblBorders></w:tblPr></w:style></w:styles></pkg:xmlData></pkg:part><pkg:part
pkg:name=
"/word/fontTable.xml"
pkg:contentType=
"application/vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml"
><pkg:xmlData><w:fonts
xmlns:mc=
"http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:r=
"http://schemas.openxmlformats.org/officeDocument/2006/relationships"
xmlns:w=
"http://schemas.openxmlformats.org/wordprocessingml/2006/main"
xmlns:w14=
"http://schemas.microsoft.com/office/word/2010/wordml"
xmlns:w15=
"http://schemas.microsoft.com/office/word/2012/wordml"
xmlns:w16se=
"http://schemas.microsoft.com/office/word/2015/wordml/symex"
mc:Ignorable=
"w14 w15 w16se"
><w:font
w:name=
"Calibri"
><w:panose1
w:val=
"020F0502020204030204"
/><w:charset
w:val=
"00"
/><w:family
w:val=
"swiss"
/><w:pitch
w:val=
"variable"
/><w:sig
w:usb0=
"E4002EFF"
w:usb1=
"C000247B"
w:usb2=
"00000009"
w:usb3=
"00000000"
w:csb0=
"000001FF"
w:csb1=
"00000000"
/></w:font><w:font
w:name=
"宋体"
><w:altName
w:val=
"SimSun"
/><w:panose1
w:val=
"02010600030101010101"
/><w:charset
w:val=
"86"
/><w:family
w:val=
"auto"
/><w:pitch
w:val=
"variable"
/><w:sig
w:usb0=
"00000003"
w:usb1=
"288F0000"
w:usb2=
"00000016"
w:usb3=
"00000000"
w:csb0=
"00040001"
w:csb1=
"00000000"
/></w:font><w:font
w:name=
"Times New Roman"
><w:panose1
w:val=
"02020603050405020304"
/><w:charset
w:val=
"00"
/><w:family
w:val=
"roman"
/><w:pitch
w:val=
"variable"
/><w:sig
w:usb0=
"E0002EFF"
w:usb1=
"C000785B"
w:usb2=
"00000009"
w:usb3=
"00000000"
w:csb0=
"000001FF"
w:csb1=
"00000000"
/></w:font><w:font
w:name=
"Arial"
><w:panose1
w:val=
"020B0604020202020204"
/><w:charset
w:val=
"00"
/><w:family
w:val=
"swiss"
/><w:pitch
w:val=
"variable"
/><w:sig
w:usb0=
"E0002EFF"
w:usb1=
"C000785B"
w:usb2=
"00000009"
w:usb3=
"00000000"
w:csb0=
"000001FF"
w:csb1=
"00000000"
/></w:font><w:font
w:name=
"黑体"
><w:altName
w:val=
"SimHei"
/><w:panose1
w:val=
"02010609060101010101"
/><w:charset
w:val=
"86"
/><w:family
w:val=
"modern"
/><w:pitch
w:val=
"fixed"
/><w:sig
w:usb0=
"800002BF"
w:usb1=
"38CF7CFA"
w:usb2=
"00000016"
w:usb3=
"00000000"
w:csb0=
"00040001"
w:csb1=
"00000000"
/></w:font><w:font
w:name=
"等线 Light"
><w:panose1
w:val=
"02010600030101010101"
/><w:charset
w:val=
"86"
/><w:family
w:val=
"auto"
/><w:pitch
w:val=
"variable"
/><w:sig
w:usb0=
"A00002BF"
w:usb1=
"38CF7CFA"
w:usb2=
"00000016"
w:usb3=
"00000000"
w:csb0=
"0004000F"
w:csb1=
"00000000"
/></w:font><w:font
w:name=
"等线"
><w:altName
w:val=
"DengXian"
/><w:panose1
w:val=
"02010600030101010101"
/><w:charset
w:val=
"86"
/><w:family
w:val=
"auto"
/><w:pitch
w:val=
"variable"
/><w:sig
w:usb0=
"A00002BF"
w:usb1=
"38CF7CFA"
w:usb2=
"00000016"
w:usb3=
"00000000"
w:csb0=
"0004000F"
w:csb1=
"00000000"
/></w:font></w:fonts></pkg:xmlData></pkg:part><pkg:part
pkg:name=
"/docProps/app.xml"
pkg:contentType=
"application/vnd.openxmlformats-officedocument.extended-properties+xml"
pkg:padding=
"256"
><pkg:xmlData><Properties
xmlns=
"http://schemas.openxmlformats.org/officeDocument/2006/extended-properties"
xmlns:vt=
"http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes"
><Template>
Normal.dotm
</Template><TotalTime>
118
</TotalTime><Pages>
1
</Pages><Words>
177
</Words><Characters>
1010
</Characters><Application>
Microsoft Office Word
</Application><DocSecurity>
0
</DocSecurity><Lines>
8
</Lines><Paragraphs>
2
</Paragraphs><ScaleCrop>
false
</ScaleCrop><Company/><LinksUpToDate>
false
</LinksUpToDate><CharactersWithSpaces>
1185
</CharactersWithSpaces><SharedDoc>
false
</SharedDoc><HyperlinksChanged>
false
</HyperlinksChanged><AppVersion>
16.0000
</AppVersion></Properties></pkg:xmlData></pkg:part></pkg:package>
\ No newline at end of file
datax-ui/src/api/metadata/datacolumn.js
0 → 100644
View file @
2ae9758b
import
request
from
'@/utils/request'
export
function
listDataColumn
(
data
)
{
return
request
({
url
:
'/data/metadata/columns/list'
,
method
:
'get'
,
params
:
data
})
}
export
function
pageDataColumn
(
data
)
{
return
request
({
url
:
'/data/metadata/columns/page'
,
method
:
'get'
,
params
:
data
})
}
export
function
getDataColumn
(
id
)
{
return
request
({
url
:
'/data/metadata/columns/'
+
id
,
method
:
'get'
})
}
export
function
delDataColumn
(
id
)
{
return
request
({
url
:
'/data/metadata/columns/'
+
id
,
method
:
'delete'
})
}
export
function
delDataColumns
(
ids
)
{
return
request
({
url
:
'/data/metadata/columns/batch/'
+
ids
,
method
:
'delete'
})
}
export
function
addDataColumn
(
data
)
{
return
request
({
url
:
'/data/metadata/columns'
,
method
:
'post'
,
data
:
data
})
}
export
function
updateDataColumn
(
data
)
{
return
request
({
url
:
'/data/metadata/columns/'
+
data
.
id
,
method
:
'put'
,
data
:
data
})
}
datax-ui/src/api/metadata/metadata.js
0 → 100644
View file @
2ae9758b
import
request
from
'@/utils/request'
export
function
sync
(
id
)
{
return
request
({
url
:
'/data/metadata/databases/sync/'
+
id
,
method
:
'post'
})
}
export
function
word
(
id
)
{
return
request
({
url
:
'/data/metadata/databases/word/'
+
id
,
method
:
'post'
,
responseType
:
'blob'
})
}
datax-ui/src/views/factory/datasource/DataSourceAdd.vue
View file @
2ae9758b
...
@@ -219,8 +219,6 @@ export default {
...
@@ -219,8 +219,6 @@ export default {
checkConnection
(
this
.
form
).
then
(
response
=>
{
checkConnection
(
this
.
form
).
then
(
response
=>
{
if
(
response
.
success
)
{
if
(
response
.
success
)
{
this
.
$message
.
success
(
'连接成功'
)
this
.
$message
.
success
(
'连接成功'
)
}
else
{
this
.
$message
.
error
(
'连接失败'
)
}
}
})
})
}
}
...
...
datax-ui/src/views/factory/datasource/DataSourceDetail.vue
View file @
2ae9758b
...
@@ -4,6 +4,8 @@
...
@@ -4,6 +4,8 @@
<div
slot=
"header"
class=
"clearfix"
>
<div
slot=
"header"
class=
"clearfix"
>
<span>
{{
title
}}
</span>
<span>
{{
title
}}
</span>
<el-button-group
style=
"float: right;"
>
<el-button-group
style=
"float: right;"
>
<el-button
size=
"mini"
icon=
"el-icon-coin"
type=
"primary"
round
@
click=
"handleSyncMetadata"
>
元数据同步
</el-button>
<el-button
size=
"mini"
icon=
"el-icon-coin"
type=
"primary"
round
@
click=
"handleWordMetadata"
>
数据库文档
</el-button>
<el-button
size=
"mini"
icon=
"el-icon-coin"
type=
"primary"
round
@
click=
"handleCheckConnection"
v-if=
"active == 2"
>
连通性检测
</el-button>
<el-button
size=
"mini"
icon=
"el-icon-coin"
type=
"primary"
round
@
click=
"handleCheckConnection"
v-if=
"active == 2"
>
连通性检测
</el-button>
<el-button
size=
"mini"
icon=
"el-icon-back"
round
@
click=
"showCard"
>
返回
</el-button>
<el-button
size=
"mini"
icon=
"el-icon-back"
round
@
click=
"showCard"
>
返回
</el-button>
</el-button-group>
</el-button-group>
...
@@ -81,6 +83,7 @@
...
@@ -81,6 +83,7 @@
<
script
>
<
script
>
import
{
getDataSource
,
checkConnection
}
from
'@/api/factory/datasource'
import
{
getDataSource
,
checkConnection
}
from
'@/api/factory/datasource'
import
{
listDataTheme
}
from
'@/api/factory/datatheme'
import
{
listDataTheme
}
from
'@/api/factory/datatheme'
import
{
sync
,
word
}
from
'@/api/metadata/metadata'
export
default
{
export
default
{
name
:
'DataSourceDetail'
,
name
:
'DataSourceDetail'
,
...
@@ -173,8 +176,36 @@ export default {
...
@@ -173,8 +176,36 @@ export default {
checkConnection
(
this
.
form
).
then
(
response
=>
{
checkConnection
(
this
.
form
).
then
(
response
=>
{
if
(
response
.
success
)
{
if
(
response
.
success
)
{
this
.
$message
.
success
(
'连接成功'
)
this
.
$message
.
success
(
'连接成功'
)
}
})
},
/** 元数据同步 */
handleSyncMetadata
()
{
sync
(
this
.
data
.
id
).
then
(
response
=>
{
if
(
response
.
success
)
{
this
.
$message
.
success
(
'元数据正在后台同步中,请到元数据管理中查看结果'
)
}
})
},
/** 数据库文档 */
handleWordMetadata
()
{
word
(
this
.
data
.
id
).
then
(
response
=>
{
const
blob
=
new
Blob
([
response
])
const
fileName
=
'数据库设计文档.doc'
if
(
'download'
in
document
.
createElement
(
'a'
))
{
// 非IE下载
const
elink
=
document
.
createElement
(
'a'
)
elink
.
download
=
fileName
elink
.
style
.
display
=
'none'
elink
.
href
=
URL
.
createObjectURL
(
blob
)
document
.
body
.
appendChild
(
elink
)
elink
.
click
()
URL
.
revokeObjectURL
(
elink
.
href
)
// 释放URL 对象
document
.
body
.
removeChild
(
elink
)
}
else
{
}
else
{
this
.
$message
.
error
(
'连接失败'
)
// IE10+下载
navigator
.
msSaveBlob
(
blob
,
fileName
)
}
}
})
})
}
}
...
...
datax-ui/src/views/factory/datasource/DataSourceEdit.vue
View file @
2ae9758b
...
@@ -217,8 +217,6 @@ export default {
...
@@ -217,8 +217,6 @@ export default {
checkConnection
(
this
.
form
).
then
(
response
=>
{
checkConnection
(
this
.
form
).
then
(
response
=>
{
if
(
response
.
success
)
{
if
(
response
.
success
)
{
this
.
$message
.
success
(
'连接成功'
)
this
.
$message
.
success
(
'连接成功'
)
}
else
{
this
.
$message
.
error
(
'连接失败'
)
}
}
})
})
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment