fundplatform/doc/资金服务平台FundPlatform需求文档.md
zhangjf 83e9b2b658 docs: 更新项目文档和功能清单
- 重新整理项目功能清单文档
- 更新架构设计文档
- 完善需求文档内容
-统一文档命名规范
2026-03-02 07:30:22 +08:00

795 lines
46 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 资金服务平台 (FundPlatform) - 需求文档
> **文档版本**: v1.0
> **创建日期**: 2026-02-13
> **项目名称**: 资金服务平台
> **项目代号**: fundplatform
---
## 一、项目概述
### 1.1 项目背景
资金服务平台旨在建立一套完整的公司项目资金管理解决方案,实现对应收账款和项目支出的全流程跟踪与管理,提升财务管理效率和资金周转率。
### 1.2 整体目标
| 目标类别 | 具体描述 |
| ---------------- | ------------------------------------------------------ |
| **应收账款管理** | 对公司项目的应收账款进行跟踪、确认、收款记录和账期管理 |
| **项目支出管理** | 对公司项目支出进行申请、审批、执行和核销的全流程管理 |
| **数据可视化** | 提供多维度的财务报表和统计分析,辅助决策 |
| **移动办公** | 支持管理后台和移动端H5双端访问提升办公效率 |
---
## 二、业务需求
### 2.1 核心业务流程
#### 2.1.1 应收账款管理流程
```mermaid
flowchart TD
A[需求工单创建] --> B[交付跟踪]
B --> C[应收款确认]
C --> D[收款记录]
D --> E[账期管理]
E --> F[回款统计]
```
#### 2.1.2 支出管理流程
```mermaid
flowchart TD
A[支出申请] --> B[付款执行]
B --> C[付款状态更新]
C --> D[标记完成/作废]
```
### 2.2 功能需求
| 功能类别 | 功能描述 |
| ------------ | -------------------------------------------- |
| **状态管理** | 应收款状态(待收款、部分收款、已收款、逾期) |
| **收款记录** | 实际收款金额、收款日期、收款方式、收款凭证 |
| **付款管理** | 付款操作、付款凭证、付款状态跟踪 |
| **财务报表** | 收支汇总、现金流量、支出趋势分析 |
| **数据导出** | Excel导出、自定义报表 |
| **审计追踪** | 操作日志、数据变更记录 |
### 2.3 非功能性需求
| 需求类别 | 具体要求 |
| ---------- | --------------------------------------------------- |
| **安全性** | 用户权限控制、数据加密传输、操作审计日志 |
| **性能** | 支持≥100人并发访问、列表加载<2秒查询响应<3秒 |
| **可用性** | 响应式设计移动端适配操作流程简化 |
| **可靠性** | 数据每日备份故障恢复时间<30分钟系统可用性99.5% |
| **兼容性** | 支持主流浏览器ChromeFirefoxSafariEdge |
---
## 三、功能模块详细需求
### 3.1 系统管理模块
#### 3.1.1 用户管理
- **用户注册/登录/注销**
- 支持用户名密码登录
- 支持登录状态保持
- 支持安全退出
- **用户信息维护**
- 姓名手机号邮箱部门等信息维护
- 头像上传
- 密码修改
- **角色权限管理**
- 管理员系统所有权限
- 财务支出审批收款管理财务报表
- 项目经理项目相关操作支出申请
- 普通员工支出申请个人数据查看
- **操作日志记录与查询**
- 记录用户操作行为
- 支持按时间用户操作类型查询
#### 3.1.2 组织架构管理
- **部门管理**
- 部门创建编辑删除
- 部门层级关系维护
- 部门负责人设置
- **岗位管理**
- 岗位定义
- 岗位职责描述
- **人员分配**
- 部门人员配置
- 人员调动记录
#### 3.1.3 系统配置
- **基础参数设置**
- 公司信息配置
- 币种设置
- 日期格式设置
---
### 3.2 客户管理模块
#### 3.2.1 客户信息管理
- **客户档案管理**
- 客户创建编辑删除禁用
- 客户编码自动生成
- 客户名称简称类型企业/个人
- **客户分类管理**
- 按行业分类
- 按规模分类小型中型大型
- 按等级分类A/B/C/D/normal
- **客户联系人管理**
- 联系人信息维护姓名职位电话邮箱等
- 主要联系人标记
- 联系人排序
---
### 3.3 项目管理模块
#### 3.3.1 项目信息管理
- **项目基础管理**
- 项目创建编辑归档删除
- 项目编号自动生成
- 项目名称简称维护
- **项目基本信息**
- 项目负责人设置
- 项目开始/结束日期
- 项目预算金额
- 合同金额
- **项目状态管理**
- 筹备中
- 进行中
- 已完成
- 已归档
- 已取消
#### 3.3.2 项目关联管理
- **客户关联**
- 项目所属客户绑定
- 客户项目列表
- **团队成员分配**
- 项目经理分配
- 开发人员分配
- 财务人员分配
- 工作量占比设置
---
### 3.4 需求清单管理模块
#### 3.4.1 需求工单信息管理
- **需求工单基础管理**
- 需求工单创建编辑删除
- 需求工单编号自动生成
- **需求工单详情**
- 需求工单名称
- 需求描述
- 所属客户关联客户管理
- 所属项目关联项目管理
- 开发工时预估/实际
- 交付日期
- 应收款金额
- 应收款日期
- **需求状态管理**
- 待开发
- 开发中
- 待交付
- 已完成
#### 3.4.2 应收款管理
- **应收款设置**
- 应收款金额设置
- 应收款日期管理
- 付款条款设置
- **交付日期跟踪**
- 交付日期提醒
- 逾期预警
---
### 3.5 支出类型管理模块
#### 3.5.1 支出分类管理
- **支出类型基础管理**
- 支出类型创建编辑删除
- 支出类型编码设置
- **支出类型层级**
- 一级分类
- 二级分类
- 层级关系维护
- **常见支出类型**
- 人力成本工资奖金社保
- 办公费用房租水电办公用品
- 差旅费用交通住宿餐饮
- 采购费用设备软件服务
- 其他费用
---
### 3.6 支出管理模块
#### 3.6.1 支出申请
- **支出录入**
- 支出金额
- 支出类型关联支出类型管理
- 支出事由
- 支出日期
- 所属项目关联项目管理
- 申请人自动填充当前用户
- 附件上传发票合同等
#### 3.6.2 支出执行
- **付款操作**
- 确认付款
- 付款日期记录
- 付款账户选择
- **付款凭证管理**
- 付款截图上传
- 银行回单上传
- 凭证查看下载
- **付款状态更新**
- 待付款
- 已付款
- 已核销
#### 3.6.3 支出状态管理
- **标记完成**
- 确认支出已完成
- 完成时间记录
- **作废处理**
- 支出作废申请
- 作废原因记录
- 作废审批可选
- **退款管理**
- 退款申请
- 退款金额记录
- 退款凭证管理
#### 3.6.4 支出统计分析
- **支出明细查询**
- 多条件筛选时间类型项目申请人等
- 分页展示
- 排序功能
- **支出趋势分析**
- 月度支出趋势
- 季度支出统计
- 年度支出汇总
- 图表展示柱状图折线图
---
### 3.7 应收款管理模块
#### 3.7.1 应收款确认
- **应收款生成**
- 从需求清单自动生成应收款
- 应收款编号自动生成
- **应收款确认**
- 应收金额确认
- 应收日期确认
- 付款截止日期设置
#### 3.7.2 收款管理
- **收款记录录入**
- 实际收款金额
- 收款日期
- 收款方式银行转账现金支票其他
- 收款凭证上传银行回单等
- 付款方信息
- **收款方式管理**
- 常用收款方式维护
- 收款账户管理
- **收款凭证管理**
- 凭证归档
- 凭证查询
- 凭证下载
- **应收款状态更新**
- 待收款
- 部分收款
- 已收款
- 逾期
---
### 3.8 移动端模块 (H5)
#### 3.8.1 移动端首页
- **数据概览**
- 今日收支
- 待收款金额
- 待付款金额
- **快捷入口**
- 快速录入支出
- 快速录入收款
#### 3.8.2 移动查询
- **收支查询**
- 个人收支查询
- 项目收支查询
- 时间范围筛选
- **项目查询**
- 项目列表
- 项目进度查看
- 项目收支详情
- **客户查询**
- 客户信息查看
- 客户往来记录
#### 3.8.3 移动录入
- **支出录入**
- 快速录入支出申请
- 拍照上传发票
- 选择支出类型
- **收款录入**
- 现场收款记录
- 收款凭证拍照
- 选择收款方式
---
## 四、核心数据模型
### 4.1 系统管理模块
#### 4.1.1 用户表 (sys_user)
| 字段名 | 类型 | 长度/精度 | 必填 | 默认值 | 说明 |
| --------------- | -------- | --------- | ---- | ----------------- | ------------------------------------------------------------ |
| user_id | BIGINT | - | | 自增 | 用户ID主键 |
| username | VARCHAR | 50 | | - | 用户名登录账号 |
| password | VARCHAR | 100 | | - | 密码加密存储 |
| real_name | VARCHAR | 50 | | - | 真实姓名 |
| gender | TINYINT | 1 | | 0 | 性别0-未知1-男2-女 |
| phone | VARCHAR | 20 | | - | 手机号码 |
| email | VARCHAR | 100 | | - | 邮箱地址 |
| dept_id | BIGINT | - | | - | 所属部门ID |
| position | VARCHAR | 50 | | - | 岗位/职位 |
| role | VARCHAR | 20 | | user | 角色admin-管理员finance-财务pm-项目经理user-普通用户 |
| avatar | VARCHAR | 255 | | - | 头像URL |
| status | TINYINT | 1 | | 1 | 状态0-禁用1-启用 |
| last_login_time | DATETIME | - | | - | 最后登录时间 |
| last_login_ip | VARCHAR | 50 | | - | 最后登录IP |
| created_by | BIGINT | - | | - | 创建人ID |
| created_time | DATETIME | - | | CURRENT_TIMESTAMP | 创建时间 |
| updated_by | BIGINT | - | | - | 更新人ID |
| updated_time | DATETIME | - | | CURRENT_TIMESTAMP | 更新时间 |
| deleted | TINYINT | 1 | | 0 | 逻辑删除0-未删除1-已删除 |
#### 4.1.2 部门表 (sys_dept)
| 字段名 | 类型 | 长度/精度 | 必填 | 默认值 | 说明 |
| ------------ | -------- | --------- | ---- | ----------------- | ------------------------------ |
| dept_id | BIGINT | - | | 自增 | 部门ID主键 |
| dept_name | VARCHAR | 100 | | - | 部门名称 |
| parent_id | BIGINT | - | | 0 | 父部门ID0表示顶级部门 |
| dept_code | VARCHAR | 50 | | - | 部门编码 |
| dept_level | INT | - | | 1 | 部门层级 |
| sort_order | INT | - | | 0 | 排序顺序 |
| leader | VARCHAR | 50 | | - | 部门负责人 |
| leader_phone | VARCHAR | 20 | | - | 负责人电话 |
| status | TINYINT | 1 | | 1 | 状态0-禁用1-启用 |
| remark | VARCHAR | 500 | | - | 备注说明 |
| created_by | BIGINT | - | | - | 创建人ID |
| created_time | DATETIME | - | | CURRENT_TIMESTAMP | 创建时间 |
| updated_by | BIGINT | - | | - | 更新人ID |
| updated_time | DATETIME | - | | CURRENT_TIMESTAMP | 更新时间 |
| deleted | TINYINT | 1 | | 0 | 逻辑删除0-未删除1-已删除 |
#### 4.1.3 操作日志表 (sys_operation_log)
| 字段名 | 类型 | 长度/精度 | 必填 | 默认值 | 说明 |
| -------------- | -------- | --------- | ---- | ----------------- | ----------------------------------- |
| log_id | BIGINT | - | | 自增 | 日志ID主键 |
| user_id | BIGINT | - | | - | 操作人ID |
| username | VARCHAR | 50 | | - | 操作人用户名 |
| operation | VARCHAR | 100 | | - | 操作描述 |
| method | VARCHAR | 200 | | - | 操作方法 |
| params | TEXT | - | | - | 操作参数JSON格式 |
| ip | VARCHAR | 50 | | - | 操作IP |
| user_agent | VARCHAR | 500 | | - | 用户代理 |
| operation_time | DATETIME | - | | CURRENT_TIMESTAMP | 操作时间 |
| cost_time | BIGINT | - | | 0 | 耗时毫秒 |
| result | VARCHAR | 20 | | success | 操作结果success-成功fail-失败 |
| error_msg | TEXT | - | | - | 错误信息 |
### 4.2 客户管理模块
#### 4.2.1 客户表 (customer)
| 字段名 | 类型 | 长度/精度 | 必填 | 默认值 | 说明 |
| ------------------ | -------- | --------- | ---- | ----------------- | ----------------------------------------------- |
| customer_id | BIGINT | - | | 自增 | 客户ID主键 |
| customer_code | VARCHAR | 50 | | - | 客户编码唯一 |
| customer_name | VARCHAR | 200 | | - | 客户名称 |
| customer_short | VARCHAR | 100 | | - | 客户简称 |
| customer_type | VARCHAR | 20 | | enterprise | 客户类型enterprise-企业individual-个人 |
| industry | VARCHAR | 50 | | - | 所属行业 |
| scale | VARCHAR | 20 | | - | 企业规模small-小型medium-中型large-大型 |
| level | VARCHAR | 20 | | normal | 客户等级A/B/C/D/normal |
| tax_no | VARCHAR | 50 | | - | 纳税人识别号 |
| legal_person | VARCHAR | 50 | | - | 法定代表人 |
| address | VARCHAR | 500 | | - | 公司地址 |
| phone | VARCHAR | 20 | | - | 联系电话 |
| email | VARCHAR | 100 | | - | 邮箱地址 |
| status | TINYINT | 1 | | 1 | 状态0-禁用1-启用 |
| remark | VARCHAR | 500 | | - | 备注说明 |
| created_by | BIGINT | - | | - | 创建人ID |
| created_time | DATETIME | - | | CURRENT_TIMESTAMP | 创建时间 |
| updated_by | BIGINT | - | | - | 更新人ID |
| updated_time | DATETIME | - | | CURRENT_TIMESTAMP | 更新时间 |
| deleted | TINYINT | 1 | | 0 | 逻辑删除0-未删除1-已删除 |
#### 4.2.2 客户联系人表 (customer_contact)
| 字段名 | 类型 | 长度/精度 | 必填 | 默认值 | 说明 |
| ------------ | -------- | --------- | ---- | ----------------- | ------------------------------ |
| contact_id | BIGINT | - | | 自增 | 联系人ID主键 |
| customer_id | BIGINT | - | | - | 客户ID外键 |
| contact_name | VARCHAR | 50 | | - | 联系人姓名 |
| position | VARCHAR | 50 | | - | 职位/职务 |
| department | VARCHAR | 100 | | - | 所属部门 |
| phone | VARCHAR | 20 | | - | 联系电话 |
| mobile | VARCHAR | 20 | | - | 手机号码 |
| email | VARCHAR | 100 | | - | 邮箱地址 |
| is_primary | TINYINT | 1 | | 0 | 是否主要联系人0-否1-是 |
| sort_order | INT | - | | 0 | 排序顺序 |
| status | TINYINT | 1 | | 1 | 状态0-禁用1-启用 |
| created_by | BIGINT | - | | - | 创建人ID |
| created_time | DATETIME | - | | CURRENT_TIMESTAMP | 创建时间 |
| updated_by | BIGINT | - | | - | 更新人ID |
| updated_time | DATETIME | - | | CURRENT_TIMESTAMP | 更新时间 |
| deleted | TINYINT | 1 | | 0 | 逻辑删除0-未删除1-已删除 |
### 4.3 项目管理模块
#### 4.3.1 项目表 (project)
| 字段名 | 类型 | 长度/精度 | 必填 | 默认值 | 说明 |
| ------------------ | -------- | --------- | ---- | ----------------- | ------------------------------------------------------------ |
| project_id | BIGINT | - | | 自增 | 项目ID主键 |
| project_code | VARCHAR | 50 | | - | 项目编号唯一 |
| project_name | VARCHAR | 200 | | - | 项目名称 |
| project_short | VARCHAR | 100 | | - | 项目简称 |
| customer_id | BIGINT | - | | - | 客户ID外键 |
| project_type | VARCHAR | 20 | | development | 项目类型development-开发maintenance-维护consulting-咨询 |
| project_manager_id | BIGINT | - | | - | 项目经理ID |
| start_date | DATE | - | | - | 项目开始日期 |
| end_date | DATE | - | | - | 项目结束日期 |
| budget_amount | DECIMAL | 15,2 | | 0.00 | 项目预算金额 |
| contract_amount | DECIMAL | 15,2 | | 0.00 | 合同金额 |
| status | VARCHAR | 20 | | preparing | 项目状态preparing-筹备中ongoing-进行中completed-已完成archived-已归档cancelled-已取消 |
| progress | INT | - | | 0 | 项目进度0-100 |
| description | TEXT | - | | - | 项目描述 |
| remark | VARCHAR | 500 | | - | 备注说明 |
| created_by | BIGINT | - | | - | 创建人ID |
| created_time | DATETIME | - | | CURRENT_TIMESTAMP | 创建时间 |
| updated_by | BIGINT | - | | - | 更新人ID |
| updated_time | DATETIME | - | | CURRENT_TIMESTAMP | 更新时间 |
| deleted | TINYINT | 1 | | 0 | 逻辑删除0-未删除1-已删除 |
#### 4.3.2 项目成员表 (project_member)
| 字段名 | 类型 | 长度/精度 | 必填 | 默认值 | 说明 |
| ------------ | -------- | --------- | ---- | ----------------- | ------------------------------------------------------------ |
| member_id | BIGINT | - | | 自增 | 成员关系ID主键 |
| project_id | BIGINT | - | | - | 项目ID外键 |
| user_id | BIGINT | - | | - | 用户ID外键 |
| role | VARCHAR | 50 | | member | 项目角色pm-项目经理dev-开发finance-财务member-普通成员 |
| join_date | DATE | - | | - | 加入日期 |
| leave_date | DATE | - | | - | 离开日期 |
| workload | DECIMAL | 5,2 | | 0.00 | 工作量占比0-100 |
| status | TINYINT | 1 | | 1 | 状态0-已离开1-在职 |
| created_by | BIGINT | - | | - | 创建人ID |
| created_time | DATETIME | - | | CURRENT_TIMESTAMP | 创建时间 |
| updated_by | BIGINT | - | | - | 更新人ID |
| updated_time | DATETIME | - | | CURRENT_TIMESTAMP | 更新时间 |
| deleted | TINYINT | 1 | | 0 | 逻辑删除0-未删除1-已删除 |
### 4.4 需求清单管理模块
#### 4.4.1 需求工单表 (requirement)
| 字段名 | 类型 | 长度/精度 | 必填 | 默认值 | 说明 |
| ----------------- | -------- | --------- | ---- | ----------------- | ------------------------------------------------------------ |
| requirement_id | BIGINT | - | | 自增 | 需求ID主键 |
| requirement_code | VARCHAR | 50 | | - | 需求编号唯一 |
| requirement_name | VARCHAR | 200 | | - | 需求名称 |
| description | TEXT | - | | - | 需求描述 |
| project_id | BIGINT | - | | - | 项目ID外键 |
| customer_id | BIGINT | - | | - | 客户ID外键 |
| priority | VARCHAR | 20 | | normal | 优先级high-高normal-中low-低 |
| estimated_hours | DECIMAL | 8,2 | | 0.00 | 预估开发工时小时 |
| actual_hours | DECIMAL | 8,2 | | 0.00 | 实际开发工时小时 |
| planned_start | DATE | - | | - | 计划开始日期 |
| planned_end | DATE | - | | - | 计划结束日期 |
| actual_start | DATE | - | | - | 实际开始日期 |
| actual_end | DATE | - | | - | 实际结束日期 |
| delivery_date | DATE | - | | - | 交付日期 |
| receivable_amount | DECIMAL | 15,2 | | 0.00 | 应收款金额 |
| receivable_date | DATE | - | | - | 应收款日期 |
| status | VARCHAR | 20 | | pending | 状态pending-待开发developing-开发中delivered-已交付completed-已完成 |
| progress | INT | - | | 0 | 开发进度0-100 |
| attachment_url | VARCHAR | 500 | | - | 附件URL需求文档等 |
| created_by | BIGINT | - | | - | 创建人ID |
| created_time | DATETIME | - | | CURRENT_TIMESTAMP | 创建时间 |
| updated_by | BIGINT | - | | - | 更新人ID |
| updated_time | DATETIME | - | | CURRENT_TIMESTAMP | 更新时间 |
| deleted | TINYINT | 1 | | 0 | 逻辑删除0-未删除1-已删除 |
### 4.5 支出类型管理模块
#### 4.5.1 支出类型表 (expense_type)
| 字段名 | 类型 | 长度/精度 | 必填 | 默认值 | 说明 |
| ------------ | -------- | --------- | ---- | ----------------- | ------------------------------ |
| type_id | BIGINT | - | | 自增 | 支出类型ID主键 |
| type_code | VARCHAR | 50 | | - | 支出类型编码 |
| type_name | VARCHAR | 100 | | - | 支出类型名称 |
| parent_id | BIGINT | - | | 0 | 父类型ID0表示一级类型 |
| type_level | INT | - | | 1 | 类型层级 |
| sort_order | INT | - | | 0 | 排序顺序 |
| description | VARCHAR | 200 | | - | 类型描述 |
| status | TINYINT | 1 | | 1 | 状态0-禁用1-启用 |
| created_by | BIGINT | - | | - | 创建人ID |
| created_time | DATETIME | - | | CURRENT_TIMESTAMP | 创建时间 |
| updated_by | BIGINT | - | | - | 更新人ID |
| updated_time | DATETIME | - | | CURRENT_TIMESTAMP | 更新时间 |
| deleted | TINYINT | 1 | | 0 | 逻辑删除0-未删除1-已删除 |
### 4.6 支出管理模块
#### 4.6.1 支出表 (expense)
| 字段名 | 类型 | 长度/精度 | 必填 | 默认值 | 说明 |
| --------------- | -------- | --------- | ---- | ----------------- | ------------------------------------------------------------ |
| expense_id | BIGINT | - | | 自增 | 支出ID主键 |
| expense_code | VARCHAR | 50 | | - | 支出编号唯一 |
| expense_type_id | BIGINT | - | | - | 支出类型ID外键 |
| expense_amount | DECIMAL | 15,2 | | 0.00 | 支出金额 |
| expense_date | DATE | - | | - | 支出日期 |
| expense_reason | TEXT | - | | - | 支出事由 |
| project_id | BIGINT | - | | - | 所属项目ID外键可为空 |
| applicant_id | BIGINT | - | | - | 申请人ID |
| department_id | BIGINT | - | | - | 申请部门ID |
| payment_method | VARCHAR | 20 | | transfer | 付款方式transfer-转账cash-现金check-支票other-其他 |
| payment_account | VARCHAR | 100 | | - | 付款账户 |
| attachment_url | VARCHAR | 500 | | - | 附件URL发票合同等 |
| status | VARCHAR | 20 | | pending | 状态pending-待付款paid-已付款completed-已完成cancelled-已作废 |
| payment_date | DATE | - | | - | 付款日期 |
| payment_voucher | VARCHAR | 255 | | - | 付款凭证银行回单等 |
| remark | VARCHAR | 500 | | - | 备注说明 |
| created_by | BIGINT | - | | - | 创建人ID |
| created_time | DATETIME | - | | CURRENT_TIMESTAMP | 创建时间 |
| updated_by | BIGINT | - | | - | 更新人ID |
| updated_time | DATETIME | - | | CURRENT_TIMESTAMP | 更新时间 |
| deleted | TINYINT | 1 | | 0 | 逻辑删除0-未删除1-已删除 |
### 4.7 应收款管理模块
#### 4.7.1 应收款表 (receivable)
| 字段名 | 类型 | 长度/精度 | 必填 | 默认值 | 说明 |
| ------------------- | -------- | --------- | ---- | ----------------- | ------------------------------------------------------------ |
| receivable_id | BIGINT | - | | 自增 | 应收款ID主键 |
| receivable_code | VARCHAR | 50 | | - | 应收款编号唯一 |
| requirement_id | BIGINT | - | | - | 需求ID外键 |
| project_id | BIGINT | - | | - | 项目ID外键 |
| customer_id | BIGINT | - | | - | 客户ID外键 |
| receivable_amount | DECIMAL | 15,2 | | 0.00 | 应收款金额 |
| receivable_date | DATE | - | | - | 应收款日期 |
| payment_due_date | DATE | - | | - | 付款截止日期 |
| payment_method | VARCHAR | 20 | | - | 付款方式transfer-转账cash-现金check-支票other-其他 |
| bank_account | VARCHAR | 100 | | - | 收款账户 |
| status | VARCHAR | 20 | | pending | 状态pending-待收款partial-部分收款received-已收款overdue-逾期 |
| received_amount | DECIMAL | 15,2 | | 0.00 | 已收款金额 |
| unpaid_amount | DECIMAL | 15,2 | | 0.00 | 未收款金额 |
| overdue_days | INT | - | | 0 | 逾期天数 |
| remark | VARCHAR | 500 | | - | 备注说明 |
| created_by | BIGINT | - | | - | 创建人ID |
| created_time | DATETIME | - | | CURRENT_TIMESTAMP | 创建时间 |
| updated_by | BIGINT | - | | - | 更新人ID |
| updated_time | DATETIME | - | | CURRENT_TIMESTAMP | 更新时间 |
| deleted | TINYINT | 1 | | 0 | 逻辑删除0-未删除1-已删除 |
#### 4.7.2 收款记录表 (receipt)
| 字段名 | 类型 | 长度/精度 | 必填 | 默认值 | 说明 |
| ----------------- | -------- | --------- | ---- | ----------------- | ------------------------------------------------------------ |
| receipt_id | BIGINT | - | | 自增 | 收款记录ID主键 |
| receipt_code | VARCHAR | 50 | | - | 收款编号唯一 |
| receivable_id | BIGINT | - | | - | 应收款ID外键 |
| receipt_amount | DECIMAL | 15,2 | | 0.00 | 收款金额 |
| receipt_date | DATE | - | | - | 收款日期 |
| receipt_method | VARCHAR | 20 | | transfer | 收款方式transfer-转账cash-现金check-支票other-其他 |
| receipt_account | VARCHAR | 100 | | - | 收款账户 |
| payer_name | VARCHAR | 100 | | - | 付款方名称 |
| receipt_voucher | VARCHAR | 255 | | - | 收款凭证URL银行回单等 |
| operator_id | BIGINT | - | | - | 操作人ID |
| remark | VARCHAR | 200 | | - | 备注说明 |
| created_time | DATETIME | - | | CURRENT_TIMESTAMP | 创建时间 |
---
## 五、技术架构
### 5.1 后端架构
| 组件 | 技术选型 | 说明 |
| ------------ | ------------------------- | ---------------------------------- |
| **应用框架** | Spring Cloud Alibaba + Nacos | Java生态成熟稳定适合企业级应用 |
| **数据库** | MySQL 8.0 | 支持事务ACID数据持久化 |
| **缓存** | Redis 7.x | 会话管理热点数据缓存 |
| **文件存储** | 腾讯COS | 文件上传附件存储 |
| **定时任务** | XXL-JOB | 定时提醒数据统计 |
| **API文档** | Swagger / Knife4j | 接口文档自动生成 |
### 5.2 前端架构
| | 技术栈 | 说明 |
| ------------ | --------------------------------- | ----------------------------------- |
| **管理后台** | Vue 3 + TypeScript + Element Plus | 响应式设计组件丰富 |
| **移动端** | Vue 3 + Vite 5 + Vant 4 | 移动端H5响应式应用 |
| **图表库** | ECharts 5.x | 数据可视化报表展示 |
| **构建工具** | Vite 4.x | 快速构建热更新 |
### 5.3 部署架构
```
┌─────────────────────────────────────────────────────────┐
│ 负载均衡层 │
│ Nginx + Keepalived │
└─────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────┐
│ 应用服务层 │
│ Docker + Docker Compose / Kubernetes │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ 应用实例1 │ │ 应用实例2 │ │ 应用实例3 │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
└─────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────┐
│ 数据服务层 │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ MySQL │ │ Redis │ │ Nacos │ │
│ │ 主从复制 │ │ 缓存集群 │ │ 服务注册 │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
└─────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────┐
│ 存储服务层 │
│ 腾讯COS │
└─────────────────────────────────────────────────────────┘
```
---
## 六、项目实施规划
### 6.1 版本规划
#### 第一阶段MVP版本预计6-8周
**核心功能:**
- 基础用户管理和权限控制
- 客户项目管理
- 需求工单管理
- 支出类型和支出管理
- 应收款基础跟踪
- 简单报表统计
**交付物:**
- 管理后台基础功能
- 数据库设计与实现
- 基础API接口
---
#### 第二阶段功能完善预计4-6周
**新增功能:**
- 收款管理功能收款记录收款凭证
- 账期管理与逾期提醒
- 移动端开发Vue3 + Vant
- 提醒预警机制
**交付物:**
- 完整的收款管理
- 移动端H5应用
- 消息提醒功能
---
#### 第三阶段高级功能预计4-6周
**新增功能:**
- 高级统计分析多维度报表
- 数据可视化图表展示
- 数据导出功能Excel/PDF
- 操作日志与审计追踪
- 系统配置与参数管理
**交付物:**
- 完整的报表系统
- 数据导出功能
- 系统管理后台
---
### 6.2 人员配置建议
| 角色 | 人数 | 职责 |
| ---------- | --------- | ---------------------------- |
| 项目经理 | 1 | 项目管理需求沟通进度控制 |
| 后端开发 | 2 | 后端API开发数据库设计 |
| 前端开发 | 2 | 管理后台开发移动端开发 |
| 测试工程师 | 1 | 功能测试性能测试Bug修复 |
| 运维工程师 | 1兼职 | 环境部署服务器维护 |
---
## 七、附录
### 7.1 术语表
| 术语 | 说明 |
| -------- | -------------------------------------------- |
| 应收款 | 公司因销售商品提供服务等应向客户收取的款项 |
| 支出 | 公司为开展业务活动所发生的各项费用 |
| 账期 | 从交易发生到付款/收款的时间期限 |
| 回款率 | 实际收款金额与应收金额的比率 |
| 预算 | 对未来一定时期内的收支计划 |
### 7.2 参考资料
- 企业会计准则
- 软件需求规格说明书编写指南
- RESTful API设计规范
---
## 八、文档修订记录
| 版本 | 修订日期 | 修订内容 | 修订人 |
| ---- | ---------- | ------------ | -------- |
| v1.0 | 2026-02-13 | 根据功能清单生成需求文档 | zhangjf |
---
**文档结束**