# 系统集成平台
**Repository Path**: zxynick/system-integration-platform
## Basic Information
- **Project Name**: 系统集成平台
- **Description**: 基于NC开发的系统集成平台,旨在降低集成类需求全生命周期成本
- **Primary Language**: Java
- **License**: GPL-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 2
- **Created**: 2025-06-09
- **Last Updated**: 2025-06-09
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 系统集成平台
## 介绍
基于NC开发的系统集成平台,旨在降低集成类需求全生命周期成本
* 工程版本:2111
* 开发工具:IDEA
* 数据库版本:DM
>经过验证,其他版本和数据库也能使用此功能,如有适配问题可以与我取得联系
### 更新日志
* 2025年5月7日:增加同步会计平台工具,支持任意聚合VO传会计平台
* 2025年4月1日:为避免pnpm依赖冲突,使用vue重构前端
* 2025年2月20日:优化创建异常工具,修复人员接口增加任职记录报错问题
* 2025年2月14日:增加事务管理功能,优化API翻译器,增加自带接口,优化缓存机制,优化工具类减少各版本依赖异常
* 2024年12月15日:简化初始化配置,优化API注册逻辑,增加自动注册脚本功能
* 2024年11月20日:增加了基于maven的jar包构建功能
* 2024年10月11日:优化注解扫描功能;修复若干问题;优化翻译器翻译,现在将自动根据元数据匹配编码或名称;封装jar包创建发行版
* 2024年6月3日:引入基于AntV的报表统计
* 2024年5月31日:增加插件扫描功能
* 2024年5月30日:初始版本提交
### 代码托管平台
[https://gitee.com/sillage_c/system-integration-platform](https://gitee.com/sillage_c/system-integration-platform)
### 主要特性
```
内置API管理框架:快速开发,面向切面,支持转移
内置基于Caffeine的缓存管理组件:详情可参考下文
内置常用工具类
内置VO实体翻译器:可基于元数据,以编码或名称的形式,快速完成vo翻译为json/json翻译为vo
内置插件扫描器:在快速部署场景下,可通过注解形式注册服务
适配低代码功能:可通过低代码形式访问完整功能
适配独立前端服务:可不受版本影响访问数据统计看板,后续版本更新优先考虑在此服务实现
```
[基于Caffeine的缓存服务发布](https://blog.csdn.net/qq_41855955/article/details/135477276?spm=1001.2014.3001.5501)
### 工程结构
可通过[treee -L 2 -d]显示最新工程结构
```
system-integration-platform
├── doc--用于放置相关文档手册
├── front--前端源码
├── sip-be--后端工程
│ ├── sip --核心工程
├── sip-fe--前端工程,由于各版本脚手架不同,故未上传脚手架,后续将逐渐减少前端依赖
│ ├── nccpub-2111 --低代码平台源码
│ ├── sip --独立工程源码
└── sql--预置脚本
```
### 软件架构
+ **后端**:
NC通用工程,支持全版本NCC,NC65理论上也可以使用,但需要做jdk7语法适配;
+ **前端-低代码版本**:
代码路径[.\sip-fe\nccpub-21111],可以使用低代码自动生成的前端,由于各版本前端不一致,本工程只提供了2111版本源码;
+ **前端-独立工程版本**:
代码路径[.\sip-fe\sip],为了解决不同NCC版本前端语法冲突的问题,此处独立写了一套前端工程,主要使用技术为react+tinper+vite+antv;

### 表结构
#### 接口档案 bd_itfdoc
| 字段 | 含义 | 类型 | 备注 |
|---------------|----------|---------------|-------------------------------------|
| pk_itfdoc | 接口档案主键 | varchar2(20) | |
| code | 接口编码 | varchar2(50) | 每个接口都有独立的ID |
| name | 接口名称 | varchar2(50) | |
| flowid | 流程ID | varchar2(50) | 一批接口属于同一个流程 |
| flowname | 流程名称 | varchar2(50) | |
| datatype | 接口类型 | varchar2(50) | 例:21,F3 |
| datatype_name | 接口类型名称 | varchar2(50) | 例:采购订单,付款单 |
| actiontype | 动作类型 | varchar2(50) | 取值为动作枚举01-06 |
| runclass | 插件全类名 | varchar2(255) | 用于接口反射 |
| sender | 发送方 | varchar2(50) | 例:OA |
| receive | 接收方 | varchar2(50) | 例:NC |
| itfkey | 接口匹配标识 | varchar2(50) | 同接口类型下,itfkey不能重复,用于做插件分发 |
| memo | 备注 | varchar2(255) | |
| enablestate | 启用状态 | int | 1=未启用,2=已启用,3=已停用 |
| isdefaultitf | 是否默认接口 | char(1) | 接口中存在一组默认实现,若使用默认实现,则不用维护插件类名,取值Y/N |
| loglevel | 日志级别 | int | 1=不启用,2=日志文件,3=日志表,4=ALL |
| pk_org | 组织 | varchar2(20) | |
| pk_group | 集团 | varchar2(20) | |
| transaction | 事务模式 | int | 1=容器管理事务,2=独立事务 |
| warn | 启用警告通知 | char(1) | Y/N |
| enlevel | 加密级别 | int | 1=不加密;2=对称加密;3=非对称加密;4=其他加密 |
| def1-20 | 自定义项1-20 | varchar2(101) | |
| dr | 删除标识 | char(1) | |
| ts | 时间戳 | char(20) | |
#### 日志表 sip_log
| 字段 | 含义 | 类型 | 备注 |
|-------------|--------|---------------|-------------|
| pk_log | 主键 | VARCHAR2(20) | |
| itfdoc_code | 接口档案编码 | VARCHAR2(20) | |
| datas | 详细信息 | CLOB | |
| rxStatus | 处理状态 | VARCHAR2(32) | 取值Y/N |
| billCode | 单据编码 | VARCHAR2(60) | |
| returnmesg | 返回信息 | CLOB | |
| errorCode | 异常码 | int | 档案参考《异常码清单》 |
| stack | 异常堆栈 | CLOB | |
| pk_group | 集团 | VARCHAR2(20) | |
| beginTime | 开始时间 | CHAR(19) | |
| endTime | 结束时间 | CHAR(19) | |
| ts | 时间戳 | CHAR(19) | |
| def1-def5 | 自定义项 | VARCHAR2(101) | |
#### 异常码清单
| 异常码 | 代码值 | 描述 |
|-----------------------|---------|-----------|
| TRUE | "0000" | 无异常 |
| INSTANCE_DOC_ERROR | "-1001" | 接口档案初始化失败 |
| INSTANCE_ACTION_ERROR | "-1002" | 接口实例初始化失败 |
| TOKEN_ERROR | "-1003" | 身份认证异常 |
| ERROR | "-1004" | 发生ERROR异常 |
| Exception | "-1005" | 未定义的异常 |
## 使用说明
### 补丁安装
如果想以开箱即用的方式使用此功能,请按照如下步骤操作
1. [点击此处](https://gitee.com/sillage_c/system-integration-platform/releases)下载最新的发行版
2. 下载完成后将会得到一个nc标准格式的补丁
3. 编辑resources\sip\sipconfig.properties中的[DATASOURCE]条目,设置其为当前环境的数据源编码
4. 将补丁打到NChome中
5. 打开home\bin\sysConfig,点击部署按钮
6. 使用系统管理员登录,打开元数据管理节点,点击升级按钮,选中[modules\sip\METADATA\bd_itfdoc.bmf]并确定
7. 重启服务
### 验证是否安装成功