412 lines
19 KiB
Markdown
412 lines
19 KiB
Markdown
|
|
# ERP企业资源计划API
|
|||
|
|
|
|||
|
|
<cite>
|
|||
|
|
**本文档引用的文件**
|
|||
|
|
- [ErpServerApplication.java](file://viewsh-module-erp/viewsh-module-erp-server/src/main/java/com/viewsh/module/erp/ErpServerApplication.java)
|
|||
|
|
- [application.yaml](file://viewsh-module-erp/viewsh-module-erp-server/src/main/resources/application.yaml)
|
|||
|
|
- [ApiConstants.java](file://viewsh-module-erp/viewsh-module-erp-api/src/main/java/com/viewsh/module/erp/enums/ApiConstants.java)
|
|||
|
|
- [ErrorCodeConstants.java](file://viewsh-module-erp/viewsh-module-erp-api/src/main/java/com/viewsh/module/erp/enums/ErrorCodeConstants.java)
|
|||
|
|
- [ErpAuditStatus.java](file://viewsh-module-erp/viewsh-module-erp-api/src/main/java/com/viewsh/module/erp/enums/ErpAuditStatus.java)
|
|||
|
|
- [ErpPurchaseOrderController.java](file://viewsh-module-erp/viewsh-module-erp-server/src/main/java/com/viewsh/module/erp/controller/admin/purchase/ErpPurchaseOrderController.java)
|
|||
|
|
- [ErpSaleOrderController.java](file://viewsh-module-erp/viewsh-module-erp-server/src/main/java/com/viewsh/module/erp/controller/admin/sale/ErpSaleOrderController.java)
|
|||
|
|
- [ErpStockController.java](file://viewsh-module-erp/viewsh-module-erp-server/src/main/java/com/viewsh/module/erp/controller/admin/stock/ErpStockController.java)
|
|||
|
|
- [ErpAccountController.java](file://viewsh-module-erp/viewsh-module-erp-server/src/main/java/com/viewsh/module/erp/controller/admin/finance/ErpAccountController.java)
|
|||
|
|
- [ErpPurchaseOrderServiceImpl.java](file://viewsh-module-erp/viewsh-module-erp-server/src/main/java/com/viewsh/module/erp/service/purchase/ErpPurchaseOrderServiceImpl.java)
|
|||
|
|
</cite>
|
|||
|
|
|
|||
|
|
## 目录
|
|||
|
|
1. [简介](#简介)
|
|||
|
|
2. [项目结构](#项目结构)
|
|||
|
|
3. [核心组件](#核心组件)
|
|||
|
|
4. [架构概览](#架构概览)
|
|||
|
|
5. [详细组件分析](#详细组件分析)
|
|||
|
|
6. [依赖关系分析](#依赖关系分析)
|
|||
|
|
7. [性能考虑](#性能考虑)
|
|||
|
|
8. [故障排除指南](#故障排除指南)
|
|||
|
|
9. [结论](#结论)
|
|||
|
|
|
|||
|
|
## 简介
|
|||
|
|
本文件为ERP企业资源计划模块的全面API接口文档,覆盖采购管理、销售管理、库存管理、财务管理等核心业务的RESTful API接口。文档详细记录了采购订单管理接口(包括采购入库、退货处理、供应商管理)、销售管理接口(销售出库、订单处理、客户管理)、库存管理接口(库存盘点、移库操作、库存调整)、财务管理系统接口(账户管理、收付款处理、财务报表),并说明业务流程接口(采购到付款、销售到收款的完整流程)。同时,文档包含数据验证规则、权限控制和业务规则约束,以及各模块间的数据流转接口和集成方案。
|
|||
|
|
|
|||
|
|
## 项目结构
|
|||
|
|
ERP模块采用标准的分层架构,包含API定义层、服务实现层、数据访问层和控制器层。模块启动类位于server包,配置文件位于resources目录,API常量和错误码定义在api包,控制器、服务和数据对象分别位于controller、service、dal包中。
|
|||
|
|
|
|||
|
|
```mermaid
|
|||
|
|
graph TB
|
|||
|
|
subgraph "ERP模块结构"
|
|||
|
|
A[启动类 ErpServerApplication] --> B[配置文件 application.yaml]
|
|||
|
|
C[API常量 ApiConstants] --> D[错误码定义 ErrorCodeConstants]
|
|||
|
|
E[审核状态 ErpAuditStatus] --> F[控制器层]
|
|||
|
|
G[服务实现层] --> H[数据访问层]
|
|||
|
|
F --> G
|
|||
|
|
G --> H
|
|||
|
|
end
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**图表来源**
|
|||
|
|
- [ErpServerApplication.java](file://viewsh-module-erp/viewsh-module-erp-server/src/main/java/com/viewsh/module/erp/ErpServerApplication.java#L1-L31)
|
|||
|
|
- [application.yaml](file://viewsh-module-erp/viewsh-module-erp-server/src/main/resources/application.yaml#L1-L125)
|
|||
|
|
|
|||
|
|
**章节来源**
|
|||
|
|
- [ErpServerApplication.java](file://viewsh-module-erp/viewsh-module-erp-server/src/main/java/com/viewsh/module/erp/ErpServerApplication.java#L1-L31)
|
|||
|
|
- [application.yaml](file://viewsh-module-erp/viewsh-module-erp-server/src/main/resources/application.yaml#L1-L125)
|
|||
|
|
|
|||
|
|
## 核心组件
|
|||
|
|
ERP模块的核心组件包括:
|
|||
|
|
- API常量:定义服务名、API前缀和版本号
|
|||
|
|
- 错误码定义:统一管理各模块的错误码
|
|||
|
|
- 审核状态枚举:定义审核状态(未审核、已审核)
|
|||
|
|
- 控制器层:提供RESTful API接口
|
|||
|
|
- 服务实现层:处理业务逻辑和数据验证
|
|||
|
|
- 数据访问层:提供数据库操作接口
|
|||
|
|
|
|||
|
|
**章节来源**
|
|||
|
|
- [ApiConstants.java](file://viewsh-module-erp/viewsh-module-erp-api/src/main/java/com/viewsh/module/erp/enums/ApiConstants.java#L1-L24)
|
|||
|
|
- [ErrorCodeConstants.java](file://viewsh-module-erp/viewsh-module-erp-api/src/main/java/com/viewsh/module/erp/enums/ErrorCodeConstants.java#L1-L169)
|
|||
|
|
- [ErpAuditStatus.java](file://viewsh-module-erp/viewsh-module-erp-api/src/main/java/com/viewsh/module/erp/enums/ErpAuditStatus.java#L1-L40)
|
|||
|
|
|
|||
|
|
## 架构概览
|
|||
|
|
ERP模块采用分层架构,控制器负责接收HTTP请求,服务层处理业务逻辑,数据访问层负责数据库操作。模块通过权限注解进行权限控制,通过Swagger提供API文档。
|
|||
|
|
|
|||
|
|
```mermaid
|
|||
|
|
graph TB
|
|||
|
|
subgraph "API层"
|
|||
|
|
A[采购订单控制器]
|
|||
|
|
B[销售订单控制器]
|
|||
|
|
C[库存控制器]
|
|||
|
|
D[账户控制器]
|
|||
|
|
end
|
|||
|
|
subgraph "服务层"
|
|||
|
|
E[采购订单服务实现]
|
|||
|
|
F[销售订单服务实现]
|
|||
|
|
G[库存服务实现]
|
|||
|
|
H[账户服务实现]
|
|||
|
|
end
|
|||
|
|
subgraph "数据访问层"
|
|||
|
|
I[采购订单Mapper]
|
|||
|
|
J[销售订单Mapper]
|
|||
|
|
K[库存Mapper]
|
|||
|
|
L[账户Mapper]
|
|||
|
|
end
|
|||
|
|
A --> E
|
|||
|
|
B --> F
|
|||
|
|
C --> G
|
|||
|
|
D --> H
|
|||
|
|
E --> I
|
|||
|
|
F --> J
|
|||
|
|
G --> K
|
|||
|
|
H --> L
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**图表来源**
|
|||
|
|
- [ErpPurchaseOrderController.java](file://viewsh-module-erp/viewsh-module-erp-server/src/main/java/com/viewsh/module/erp/controller/admin/purchase/ErpPurchaseOrderController.java#L1-L164)
|
|||
|
|
- [ErpSaleOrderController.java](file://viewsh-module-erp/viewsh-module-erp-server/src/main/java/com/viewsh/module/erp/controller/admin/sale/ErpSaleOrderController.java#L1-L164)
|
|||
|
|
- [ErpStockController.java](file://viewsh-module-erp/viewsh-module-erp-server/src/main/java/com/viewsh/module/erp/controller/admin/stock/ErpStockController.java#L1-L112)
|
|||
|
|
- [ErpAccountController.java](file://viewsh-module-erp/viewsh-module-erp-server/src/main/java/com/viewsh/module/erp/controller/admin/finance/ErpAccountController.java#L1-L116)
|
|||
|
|
|
|||
|
|
## 详细组件分析
|
|||
|
|
|
|||
|
|
### 采购管理API
|
|||
|
|
|
|||
|
|
#### 采购订单管理接口
|
|||
|
|
采购订单管理提供完整的采购订单生命周期管理,包括创建、更新、状态更新、删除、查询和导出功能。
|
|||
|
|
|
|||
|
|
```mermaid
|
|||
|
|
sequenceDiagram
|
|||
|
|
participant Client as "客户端"
|
|||
|
|
participant Controller as "采购订单控制器"
|
|||
|
|
participant Service as "采购订单服务实现"
|
|||
|
|
participant Mapper as "采购订单Mapper"
|
|||
|
|
participant Redis as "Redis生成单号"
|
|||
|
|
Client->>Controller : POST /erp/purchase-order/create
|
|||
|
|
Controller->>Service : createPurchaseOrder(reqVO)
|
|||
|
|
Service->>Redis : generate(采购订单号前缀)
|
|||
|
|
Redis-->>Service : 返回单号
|
|||
|
|
Service->>Service : 校验供应商和结算账户
|
|||
|
|
Service->>Service : 校验订单项有效性
|
|||
|
|
Service->>Service : 计算总价
|
|||
|
|
Service->>Mapper : insert(订单)
|
|||
|
|
Service->>Mapper : insertBatch(订单项)
|
|||
|
|
Mapper-->>Service : 返回订单ID
|
|||
|
|
Service-->>Controller : 返回订单ID
|
|||
|
|
Controller-->>Client : 成功响应
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**图表来源**
|
|||
|
|
- [ErpPurchaseOrderController.java](file://viewsh-module-erp/viewsh-module-erp-server/src/main/java/com/viewsh/module/erp/controller/admin/purchase/ErpPurchaseOrderController.java#L62-L67)
|
|||
|
|
- [ErpPurchaseOrderServiceImpl.java](file://viewsh-module-erp/viewsh-module-erp-server/src/main/java/com/viewsh/module/erp/service/purchase/ErpPurchaseOrderServiceImpl.java#L62-L86)
|
|||
|
|
|
|||
|
|
主要接口包括:
|
|||
|
|
- 创建采购订单:POST /erp/purchase-order/create
|
|||
|
|
- 更新采购订单:PUT /erp/purchase-order/update
|
|||
|
|
- 更新采购订单状态:PUT /erp/purchase-order/update-status
|
|||
|
|
- 删除采购订单:DELETE /erp/purchase-order/delete
|
|||
|
|
- 获取采购订单:GET /erp/purchase-order/get
|
|||
|
|
- 采购订单分页查询:GET /erp/purchase-order/page
|
|||
|
|
- 导出采购订单:GET /erp/purchase-order/export-excel
|
|||
|
|
|
|||
|
|
**章节来源**
|
|||
|
|
- [ErpPurchaseOrderController.java](file://viewsh-module-erp/viewsh-module-erp-server/src/main/java/com/viewsh/module/erp/controller/admin/purchase/ErpPurchaseOrderController.java#L62-L134)
|
|||
|
|
- [ErpPurchaseOrderServiceImpl.java](file://viewsh-module-erp/viewsh-module-erp-server/src/main/java/com/viewsh/module/erp/service/purchase/ErpPurchaseOrderServiceImpl.java#L62-L200)
|
|||
|
|
|
|||
|
|
#### 采购入库接口
|
|||
|
|
采购入库接口用于处理采购货物的入库操作,包括入库单的创建、更新、状态管理和查询功能。
|
|||
|
|
|
|||
|
|
```mermaid
|
|||
|
|
flowchart TD
|
|||
|
|
Start([开始入库流程]) --> ValidateOrder["校验采购订单存在性"]
|
|||
|
|
ValidateOrder --> CheckApprove{"是否已审核?"}
|
|||
|
|
CheckApprove --> |否| ErrorApprove["抛出未审核错误"]
|
|||
|
|
CheckApprove --> |是| ValidateStock["校验库存数量"]
|
|||
|
|
ValidateStock --> StockEnough{"库存是否充足?"}
|
|||
|
|
StockEnough --> |否| ErrorStock["抛出库存不足错误"]
|
|||
|
|
StockEnough --> |是| CreateInOrder["创建入库单"]
|
|||
|
|
CreateInOrder --> UpdateOrder["更新采购订单入库数量"]
|
|||
|
|
UpdateOrder --> UpdateStock["更新库存数量"]
|
|||
|
|
UpdateStock --> ApproveIn["审核入库单"]
|
|||
|
|
ApproveIn --> End([完成入库])
|
|||
|
|
ErrorApprove --> End
|
|||
|
|
ErrorStock --> End
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**图表来源**
|
|||
|
|
- [ErpPurchaseOrderServiceImpl.java](file://viewsh-module-erp/viewsh-module-erp-server/src/main/java/com/viewsh/module/erp/service/purchase/ErpPurchaseOrderServiceImpl.java#L190-L296)
|
|||
|
|
|
|||
|
|
#### 供应商管理接口
|
|||
|
|
供应商管理接口提供供应商的增删改查、状态管理和查询功能,支持供应商的启用/停用操作。
|
|||
|
|
|
|||
|
|
**章节来源**
|
|||
|
|
- [ErrorCodeConstants.java](file://viewsh-module-erp/viewsh-module-erp-api/src/main/java/com/viewsh/module/erp/enums/ErrorCodeConstants.java#L12-L28)
|
|||
|
|
|
|||
|
|
### 销售管理API
|
|||
|
|
|
|||
|
|
#### 销售订单管理接口
|
|||
|
|
销售订单管理提供完整的销售订单生命周期管理,包括创建、更新、状态更新、删除、查询和导出功能。
|
|||
|
|
|
|||
|
|
```mermaid
|
|||
|
|
sequenceDiagram
|
|||
|
|
participant Client as "客户端"
|
|||
|
|
participant Controller as "销售订单控制器"
|
|||
|
|
participant Service as "销售订单服务实现"
|
|||
|
|
participant Mapper as "销售订单Mapper"
|
|||
|
|
participant Redis as "Redis生成单号"
|
|||
|
|
Client->>Controller : POST /erp/sale-order/create
|
|||
|
|
Controller->>Service : createSaleOrder(reqVO)
|
|||
|
|
Service->>Redis : generate(销售订单号前缀)
|
|||
|
|
Redis-->>Service : 返回单号
|
|||
|
|
Service->>Service : 校验客户和结算账户
|
|||
|
|
Service->>Service : 校验订单项有效性
|
|||
|
|
Service->>Service : 计算总价
|
|||
|
|
Service->>Mapper : insert(订单)
|
|||
|
|
Service->>Mapper : insertBatch(订单项)
|
|||
|
|
Mapper-->>Service : 返回订单ID
|
|||
|
|
Service-->>Controller : 返回订单ID
|
|||
|
|
Controller-->>Client : 成功响应
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**图表来源**
|
|||
|
|
- [ErpSaleOrderController.java](file://viewsh-module-erp/viewsh-module-erp-server/src/main/java/com/viewsh/module/erp/controller/admin/sale/ErpSaleOrderController.java#L62-L67)
|
|||
|
|
|
|||
|
|
主要接口包括:
|
|||
|
|
- 创建销售订单:POST /erp/sale-order/create
|
|||
|
|
- 更新销售订单:PUT /erp/sale-order/update
|
|||
|
|
- 更新销售订单状态:PUT /erp/sale-order/update-status
|
|||
|
|
- 删除销售订单:DELETE /erp/sale-order/delete
|
|||
|
|
- 获取销售订单:GET /erp/sale-order/get
|
|||
|
|
- 销售订单分页查询:GET /erp/sale-order/page
|
|||
|
|
- 导出销售订单:GET /erp/sale-order/export-excel
|
|||
|
|
|
|||
|
|
**章节来源**
|
|||
|
|
- [ErpSaleOrderController.java](file://viewsh-module-erp/viewsh-module-erp-server/src/main/java/com/viewsh/module/erp/controller/admin/sale/ErpSaleOrderController.java#L62-L134)
|
|||
|
|
|
|||
|
|
#### 销售出库接口
|
|||
|
|
销售出库接口用于处理销售货物的出库操作,包括出库单的创建、更新、状态管理和查询功能。
|
|||
|
|
|
|||
|
|
**章节来源**
|
|||
|
|
- [ErrorCodeConstants.java](file://viewsh-module-erp/viewsh-module-erp-api/src/main/java/com/viewsh/module/erp/enums/ErrorCodeConstants.java#L68-L78)
|
|||
|
|
|
|||
|
|
#### 客户管理接口
|
|||
|
|
客户管理接口提供客户的增删改查、状态管理和查询功能,支持客户的启用/停用操作。
|
|||
|
|
|
|||
|
|
**章节来源**
|
|||
|
|
- [ErrorCodeConstants.java](file://viewsh-module-erp/viewsh-module-erp-api/src/main/java/com/viewsh/module/erp/enums/ErrorCodeConstants.java#L51-L54)
|
|||
|
|
|
|||
|
|
### 库存管理API
|
|||
|
|
|
|||
|
|
#### 库存查询接口
|
|||
|
|
库存查询接口提供产品库存的查询和分页功能,支持按产品和仓库维度查询库存数量。
|
|||
|
|
|
|||
|
|
```mermaid
|
|||
|
|
sequenceDiagram
|
|||
|
|
participant Client as "客户端"
|
|||
|
|
participant Controller as "库存控制器"
|
|||
|
|
participant Service as "库存服务实现"
|
|||
|
|
participant Mapper as "库存Mapper"
|
|||
|
|
Client->>Controller : GET /erp/stock/get
|
|||
|
|
Controller->>Service : getStock(productId, warehouseId)
|
|||
|
|
Service->>Mapper : selectOne(条件查询)
|
|||
|
|
Mapper-->>Service : 返回库存记录
|
|||
|
|
Service-->>Controller : 返回库存VO
|
|||
|
|
Controller-->>Client : 成功响应
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**图表来源**
|
|||
|
|
- [ErpStockController.java](file://viewsh-module-erp/viewsh-module-erp-server/src/main/java/com/viewsh/module/erp/controller/admin/stock/ErpStockController.java#L63-L68)
|
|||
|
|
|
|||
|
|
主要接口包括:
|
|||
|
|
- 获取产品库存:GET /erp/stock/get
|
|||
|
|
- 获取产品库存数量:GET /erp/stock/get-count
|
|||
|
|
- 产品库存分页查询:GET /erp/stock/page
|
|||
|
|
- 导出产品库存:GET /erp/stock/export-excel
|
|||
|
|
|
|||
|
|
**章节来源**
|
|||
|
|
- [ErpStockController.java](file://viewsh-module-erp/viewsh-module-erp-server/src/main/java/com/viewsh/module/erp/controller/admin/stock/ErpStockController.java#L55-L95)
|
|||
|
|
|
|||
|
|
#### 库存盘点接口
|
|||
|
|
库存盘点接口用于处理库存盘点操作,支持盘点单的创建、更新、状态管理和查询功能。
|
|||
|
|
|
|||
|
|
**章节来源**
|
|||
|
|
- [ErrorCodeConstants.java](file://viewsh-module-erp/viewsh-module-erp-api/src/main/java/com/viewsh/module/erp/enums/ErrorCodeConstants.java#L118-L125)
|
|||
|
|
|
|||
|
|
#### 库存调拨接口
|
|||
|
|
库存调拨接口用于处理库存在不同仓库间的调拨操作,支持调拨单的创建、更新、状态管理和查询功能。
|
|||
|
|
|
|||
|
|
**章节来源**
|
|||
|
|
- [ErrorCodeConstants.java](file://viewsh-module-erp/viewsh-module-erp-api/src/main/java/com/viewsh/module/erp/enums/ErrorCodeConstants.java#L110-L117)
|
|||
|
|
|
|||
|
|
### 财务管理API
|
|||
|
|
|
|||
|
|
#### 账户管理接口
|
|||
|
|
账户管理接口提供结算账户的增删改查、状态管理和查询功能,支持账户的启用/停用和默认状态设置。
|
|||
|
|
|
|||
|
|
```mermaid
|
|||
|
|
sequenceDiagram
|
|||
|
|
participant Client as "客户端"
|
|||
|
|
participant Controller as "账户控制器"
|
|||
|
|
participant Service as "账户服务实现"
|
|||
|
|
participant Mapper as "账户Mapper"
|
|||
|
|
Client->>Controller : POST /erp/account/create
|
|||
|
|
Controller->>Service : createAccount(reqVO)
|
|||
|
|
Service->>Service : 校验账户状态
|
|||
|
|
Service->>Mapper : insert(账户)
|
|||
|
|
Mapper-->>Service : 返回账户ID
|
|||
|
|
Service-->>Controller : 返回账户ID
|
|||
|
|
Controller-->>Client : 成功响应
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**图表来源**
|
|||
|
|
- [ErpAccountController.java](file://viewsh-module-erp/viewsh-module-erp-server/src/main/java/com/viewsh/module/erp/controller/admin/finance/ErpAccountController.java#L42-L47)
|
|||
|
|
|
|||
|
|
主要接口包括:
|
|||
|
|
- 创建结算账户:POST /erp/account/create
|
|||
|
|
- 更新结算账户:PUT /erp/account/update
|
|||
|
|
- 更新结算账户默认状态:PUT /erp/account/update-default-status
|
|||
|
|
- 删除结算账户:DELETE /erp/account/delete
|
|||
|
|
- 获取结算账户:GET /erp/account/get
|
|||
|
|
- 获取结算账户精简列表:GET /erp/account/simple-list
|
|||
|
|
- 结算账户分页查询:GET /erp/account/page
|
|||
|
|
- 导出结算账户:GET /erp/account/export-excel
|
|||
|
|
|
|||
|
|
**章节来源**
|
|||
|
|
- [ErpAccountController.java](file://viewsh-module-erp/viewsh-module-erp-server/src/main/java/com/viewsh/module/erp/controller/admin/finance/ErpAccountController.java#L42-L116)
|
|||
|
|
|
|||
|
|
#### 收付款处理接口
|
|||
|
|
收付款处理接口提供收款单和付款单的管理功能,支持收付款单的创建、更新、状态管理和查询功能。
|
|||
|
|
|
|||
|
|
**章节来源**
|
|||
|
|
- [ErrorCodeConstants.java](file://viewsh-module-erp/viewsh-module-erp-api/src/main/java/com/viewsh/module/erp/enums/ErrorCodeConstants.java#L152-L167)
|
|||
|
|
|
|||
|
|
### 业务流程接口
|
|||
|
|
|
|||
|
|
#### 采购到付款流程
|
|||
|
|
采购到付款流程涵盖了从采购订单创建到付款完成的完整业务流程,包括采购入库、采购退货、付款处理等环节。
|
|||
|
|
|
|||
|
|
```mermaid
|
|||
|
|
flowchart TD
|
|||
|
|
PurchaseOrder[采购订单] --> PurchaseIn[采购入库]
|
|||
|
|
PurchaseIn --> Payment[付款处理]
|
|||
|
|
PurchaseOrder --> PurchaseReturn[采购退货]
|
|||
|
|
PurchaseReturn --> Refund[退款处理]
|
|||
|
|
Payment --> FinancialReport[财务报表]
|
|||
|
|
Refund --> FinancialReport
|
|||
|
|
PurchaseIn --> Inventory[库存更新]
|
|||
|
|
PurchaseReturn --> Inventory
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
#### 销售到收款流程
|
|||
|
|
销售到收款流程涵盖了从销售订单创建到收款完成的完整业务流程,包括销售出库、销售退货、收款处理等环节。
|
|||
|
|
|
|||
|
|
```mermaid
|
|||
|
|
flowchart TD
|
|||
|
|
SaleOrder[销售订单] --> SaleOut[销售出库]
|
|||
|
|
SaleOut --> Receipt[收款处理]
|
|||
|
|
SaleOrder --> SaleReturn[销售退货]
|
|||
|
|
SaleReturn --> Refund[退款处理]
|
|||
|
|
Receipt --> FinancialReport[财务报表]
|
|||
|
|
Refund --> FinancialReport
|
|||
|
|
SaleOut --> Inventory[库存更新]
|
|||
|
|
SaleReturn --> Inventory
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 依赖关系分析
|
|||
|
|
ERP模块的依赖关系清晰,控制器层依赖服务层,服务层依赖数据访问层。模块通过权限注解实现权限控制,通过Swagger提供API文档。
|
|||
|
|
|
|||
|
|
```mermaid
|
|||
|
|
graph TB
|
|||
|
|
subgraph "外部依赖"
|
|||
|
|
A[Spring Security]
|
|||
|
|
B[Swagger/OpenAPI]
|
|||
|
|
C[MyBatis Plus]
|
|||
|
|
D[Redis]
|
|||
|
|
end
|
|||
|
|
subgraph "内部模块"
|
|||
|
|
E[控制器层]
|
|||
|
|
F[服务层]
|
|||
|
|
G[数据访问层]
|
|||
|
|
H[数据模型层]
|
|||
|
|
end
|
|||
|
|
A --> E
|
|||
|
|
B --> E
|
|||
|
|
C --> G
|
|||
|
|
D --> F
|
|||
|
|
E --> F
|
|||
|
|
F --> G
|
|||
|
|
G --> H
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**图表来源**
|
|||
|
|
- [application.yaml](file://viewsh-module-erp/viewsh-module-erp-server/src/main/resources/application.yaml#L45-L58)
|
|||
|
|
- [application.yaml](file://viewsh-module-erp/viewsh-module-erp-server/src/main/resources/application.yaml#L61-L80)
|
|||
|
|
|
|||
|
|
**章节来源**
|
|||
|
|
- [application.yaml](file://viewsh-module-erp/viewsh-module-erp-server/src/main/resources/application.yaml#L45-L125)
|
|||
|
|
|
|||
|
|
## 性能考虑
|
|||
|
|
ERP模块在性能方面采用了多项优化措施:
|
|||
|
|
- 缓存策略:使用Redis缓存热点数据,提高查询性能
|
|||
|
|
- 分页查询:所有列表查询都支持分页,避免大数据量查询
|
|||
|
|
- 批量操作:订单项的增删改采用批量操作,减少数据库交互
|
|||
|
|
- 权限控制:通过注解实现细粒度的权限控制,避免不必要的数据查询
|
|||
|
|
- Swagger集成:提供API文档,便于前端开发和调试
|
|||
|
|
|
|||
|
|
## 故障排除指南
|
|||
|
|
ERP模块的错误码定义统一规范,便于问题定位和解决:
|
|||
|
|
|
|||
|
|
### 常见错误类型
|
|||
|
|
- 供应商相关错误:供应商不存在、供应商未启用
|
|||
|
|
- 订单相关错误:订单不存在、订单已审核无法修改、反审核失败
|
|||
|
|
- 库存相关错误:库存不足、库存数量为负数
|
|||
|
|
- 财务相关错误:账户不存在、账户未启用
|
|||
|
|
|
|||
|
|
### 排错步骤
|
|||
|
|
1. 检查请求参数是否正确
|
|||
|
|
2. 验证用户权限是否足够
|
|||
|
|
3. 查看相关单据状态是否符合业务要求
|
|||
|
|
4. 检查库存数量是否充足
|
|||
|
|
5. 确认财务账户状态正常
|
|||
|
|
|
|||
|
|
**章节来源**
|
|||
|
|
- [ErrorCodeConstants.java](file://viewsh-module-erp/viewsh-module-erp-api/src/main/java/com/viewsh/module/erp/enums/ErrorCodeConstants.java#L1-L169)
|
|||
|
|
|
|||
|
|
## 结论
|
|||
|
|
ERP企业资源计划模块提供了完整的API接口体系,涵盖了采购、销售、库存、财务等核心业务领域。模块采用分层架构设计,具有良好的可扩展性和维护性。通过统一的错误码定义、权限控制和业务规则约束,确保了系统的稳定性和可靠性。建议在实际使用中结合具体业务场景,合理配置参数和权限,确保系统能够满足企业的业务需求。
|