docs: 更新项目文档和功能清单

- 重新整理项目功能清单文档
- 更新架构设计文档
- 完善需求文档内容
-统一文档命名规范
This commit is contained in:
zhangjf 2026-03-02 07:30:22 +08:00
parent 7ecebc9518
commit 83e9b2b658
3 changed files with 5200 additions and 0 deletions

View File

@ -0,0 +1,263 @@
## 四、功能模块分解
### 4.1 系统管理模块
#### 4.1.1 用户管理
- 用户注册/登录/注销
- 用户信息维护(姓名、手机号、邮箱、部门等)
- 角色权限管理(管理员、财务、项目经理、普通员工)
- 操作日志记录与查询 ✅
- **实现状态**:✅ 已完成
- 后端OperationLogMapper + OperationLogService + OperationLogController
- 前端operationLog.js + operationLog.vue
- 功能:
* 分页查询(支持模块、操作类型、操作人、时间范围过滤)
* 查询详情(完整展示请求参数、响应结果、错误信息)
* 删除单条日志
* 批量删除删除N天前的所有日志支持7-365天
* 操作类型:查询/新增/更新/删除/导入/导出/登录/登出
* 执行时长监控(超时标红>1000ms
* 状态展示(成功/失败)
#### 4.1.2 组织架构管理 ✅
- 部门管理(增删改查、层级关系) ✅
- **实现状态**:✅ 已完成
- 后端DeptMapper + DeptService + DeptController
- 前端dept.js + dept.vue
- 功能:
* 获取部门树(树形结构展示)
* 获取部门列表(扁平结构)
* 查询部门详情
* 新增部门(支持顶级部门和子部门)
* 更新部门信息
* 删除部门(含子部门校验)
* 部门层级管理(自动计算层级)
* 负责人管理(姓名+电话)
* 状态管理(启用/禁用)
* 排序功能
- 岗位管理(岗位定义、职责描述) ✅
- **实现状态**:✅ 已完成
- 后端PostMapper + PostService + PostController
- 前端post.js + post.vue
- 功能:
* 分页查询(支持编码、名称、部门、状态过滤)
* 按部门查询岗位列表
* 获取所有启用的岗位
* 新增/编辑/删除岗位
* 状态管理(启用/禁用)
* 岗位职责、岗位要求管理
* 部门树选择器
- 人员分配(部门人员配置) ✅
- **实现状态**:✅ 已完成
- 后端UserAssignmentVO + UserAssignmentService + UserAssignmentController
- 前端userAssignment.js + userAssignment.vue
- 功能:
* 分页查询用户分配列表(支持用户名、姓名、部门、岗位、状态过滤)
* 按部门查询用户列表
* 分配用户到部门和岗位(支持单独分配)
* 批量分配用户
* 移除用户分配
* 仅显示未分配用户筛选
* 部门树选择器、岗位下拉选择
* 职位管理
#### 4.1.3 文件管理 ✅
- 文件上传(合同附件、收款凭证、支出凭证) ✅
- 文件列表管理 ✅
- 文件预览图片、PDF
- 文件下载 ✅
- 文件删除 ✅
- **实现状态**:✅ 已完成
- 后端FileRecord + FileRecordMapper + FileService + FileController
- 前端file.js + file.vue
- 功能:
* 文件上传支持多类型图片、PDF、Office、文本
* 文件验证类型白名单、大小限制50MB
* 本地存储支持扩展至COS/OSS
* 按日期分目录存储
* UUID重命名防冲突
* 业务关联(合同/收款/支出/其他)
* 分页查询、按业务查询
* 图片/PDF预览
* 文件下载
* 物理+逻辑双删除
#### 4.1.4 系统配置
- 基础参数设置(公司信息、币种、日期格式等)
---
### 4.2 客户管理模块
#### 4.2.1 客户信息管理
- 客户档案创建/编辑/删除/禁用
- 客户分类管理(按行业、规模、等级等)
- 客户联系人管理(联系人信息、联系方式)
---
### 4.3 项目管理模块
#### 4.3.1 项目信息管理
- 项目创建/编辑/归档/删除
- 项目基本信息维护(项目名称、编号、负责人、开始/结束日期)
- 项目状态管理(筹备中、进行中、已完成、已归档)
#### 4.3.2 项目关联管理 ✅
- 客户关联(项目所属客户)
- 团队成员分配(项目经理、开发人员、财务等)
- **实现状态**:✅ 已完成
- 后端ProjectMemberMapper + ProjectMemberService + ProjectMemberController
- 前端projectMember.js + projectMember.vue
- 功能:
* 按项目查询成员列表
* 按用户查询项目列表
* 添加/编辑/移除成员
* 角色管理(项目经理/开发/测试/财务/普通成员)
* 状态管理(在职/已离开)
* 工作量占比管理
---
### 4.4 需求清单管理模块
#### 4.4.1 需求工单信息管理
- 需求工单创建/编辑/删除
- 需求工单详情维护:
- 需求工单名称
- 需求描述
- 所属客户
- 所属项目
- 开发工时
- 交付日期
- 应收款金额
- 应收款日期
- 需求状态管理(待开发、开发中、待交付、已完成)
#### 4.4.2 应收款管理
- 应收款金额设置
- 应收款日期管理
- 交付日期跟踪与提醒
### 4.5 支出类型管理模块
#### 4.5.1 支出分类管理
- 支出类型创建/编辑/删除
- 支出类型层级管理(一级分类、二级分类)
- 常见支出类型示例:
- 人力成本(工资、奖金、社保)
- 办公费用(房租、水电、办公用品)
- 差旅费用(交通、住宿、餐饮)
- 采购费用(设备、软件、服务)
- 其他费用
---
### 4.6 支出管理模块
#### 4.6.1 支出申请
- 支出录入字段:
- 支出金额
- 支出类型
- 支出事由
- 支出日期
- 所属项目
- 申请人
- 附件上传(发票、合同等)
#### 4.6.3 支出执行
- 付款操作(确认付款、付款日期)
- 付款凭证管理(付款截图、银行回单)
- 付款状态更新(待付款、已付款、已核销)
#### 4.6.4 支出状态管理
- 标记完成(确认支出已完成)
- 作废处理(支出作废、原因记录)
- 退款管理(退款申请、退款记录)
#### 4.6.5 支出统计分析 ✅
- 支出明细查询(多条件筛选) ✅
- 支出趋势分析(月度、季度、年度) ✅
- **实现状态**:✅ 已完成
- 后端DashboardVO + DashboardService + DashboardController
- 前端dashboard.js + dashboard/index.vue
- 功能:
* 概览数据:项目数、客户数、合同数、需求工单数
* 收支统计:总收入、总支出、净利润、应收款、逾期金额
* 本月数据:本月收入/支出、新增项目/客户
* 趋势图表收支趋势折线图最近12个月
* 分布图表:项目状态分布饼图
* 分布图表:支出类型分布饼图
* 分布图表:应收款状态分布饼图
* ECharts可视化折线图、环形饼图
* 响应式设计:窗口大小变化自动重绘
---
### 4.7 应收款管理模块
#### 4.7.1 应收款确认
- 应收款生成(从需求清单自动生成)
- 应收款金额确认(确认应收金额)
- 应收款日期确认(确认应收日期)
#### 4.7.2 收款管理 ✅
- 收款记录录入:
- 实际收款金额
- 收款日期
- 收款方式(银行转账、现金、支票等)
- 收款凭证(上传凭证照片)
- 收款方式管理(维护常用收款方式)
- 收款凭证管理(凭证归档、查询)
- **实现状态**:✅ 已完成
- 后端ReceiptMapper + ReceiptService + ReceiptController
- 前端receipt.js + receipt.vue
- 功能:分页查询、新增、编辑、删除、应收款关联
---
### 4.10 移动端模块 (H5)
#### 4.10.1 移动端首页
- 数据概览(今日收支、待收款)
- 快捷入口(快速录入)
#### 4.10.3 移动查询
- 收支查询(个人收支、项目收支)
- 项目查询(项目进度、项目收支)
- 客户查询(客户信息、客户往来)
#### 4.10.4 移动录入
- 支出录入(快速录入支出申请)
- 收款录入(现场收款记录)
---
## 五、技术架构建议
### 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
**文档结束**

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,794 @@
# 资金服务平台 (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% |
| **兼容性** | 支持主流浏览器Chrome、Firefox、Safari、Edge |
---
## 三、功能模块详细需求
### 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 |
---
**文档结束**