# 资金服务平台 (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 | 父部门ID(0表示顶级部门) | | 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 | 父类型ID(0表示一级类型) | | 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 | --- **文档结束**