TBOSS OA — 数据库表字段详细设计
日期: 2026-05-29
后端: .NET Framework 4.8 · SQL Server(推荐)
约定
- 主键统一使用
VARCHAR(36) 存储 GUID
- 金额字段使用
DECIMAL(18,2)
- 所有表含
CreateTime DATETIME NOT NULL DEFAULT GETDATE() 和 UpdateTime DATETIME
- 状态字段用
VARCHAR(20) 存英文标识,前端映射中文
IsDeleted BIT NOT NULL DEFAULT 0 软删除
1. 基础数据表
1.1 SysUser(用户表)
| 字段 |
类型 |
必填 |
说明 |
| Id |
VARCHAR(36) |
PK |
GUID |
| UserName |
NVARCHAR(50) |
✅ |
登录名 |
| RealName |
NVARCHAR(50) |
✅ |
真实姓名 |
| PasswordHash |
VARCHAR(128) |
✅ |
密码哈希 |
| Role |
VARCHAR(20) |
✅ |
employee / approver / finance / admin |
| DeptId |
VARCHAR(36) |
FK |
所属部门 |
| Position |
NVARCHAR(50) |
|
岗位名称 |
| Phone |
VARCHAR(20) |
|
手机号 |
| Email |
VARCHAR(100) |
|
邮箱 |
| AvatarUrl |
VARCHAR(500) |
|
头像URL |
| IsActive |
BIT |
✅ |
启用/停用,默认1 |
| CreateTime |
DATETIME |
✅ |
|
| UpdateTime |
DATETIME |
|
|
1.2 SysDepartment(部门表)
| 字段 |
类型 |
必填 |
说明 |
| Id |
VARCHAR(36) |
PK |
GUID |
| DeptName |
NVARCHAR(100) |
✅ |
部门名称 |
| ParentId |
VARCHAR(36) |
|
上级部门ID |
| ManagerId |
VARCHAR(36) |
FK→SysUser |
部门负责人 |
| SortOrder |
INT |
|
排序,默认0 |
| IsActive |
BIT |
✅ |
默认1 |
| CreateTime |
DATETIME |
✅ |
|
| UpdateTime |
DATETIME |
|
|
1.3 SysProject(项目表)
| 字段 |
类型 |
必填 |
说明 |
| Id |
VARCHAR(36) |
PK |
GUID |
| ProjectName |
NVARCHAR(200) |
✅ |
项目名称 |
| ProjectCode |
VARCHAR(50) |
|
项目编号 |
| DeptId |
VARCHAR(36) |
FK→SysDepartment |
归属部门 |
| BudgetAmount |
DECIMAL(18,2) |
|
项目预算总额 |
| StartDate |
DATE |
|
项目开始日期 |
| EndDate |
DATE |
|
项目结束日期 |
| IsActive |
BIT |
✅ |
默认1 |
| CreateTime |
DATETIME |
✅ |
|
| UpdateTime |
DATETIME |
|
|
1.4 SysBudgetSubject(预算科目表)
| 字段 |
类型 |
必填 |
说明 |
| Id |
VARCHAR(36) |
PK |
GUID |
| SubjectName |
NVARCHAR(100) |
✅ |
科目名称 |
| SubjectCode |
VARCHAR(50) |
|
科目编码 |
| ParentId |
VARCHAR(36) |
|
上级科目ID |
| SortOrder |
INT |
|
排序 |
| IsActive |
BIT |
✅ |
默认1 |
| CreateTime |
DATETIME |
✅ |
|
| UpdateTime |
DATETIME |
|
|
1.5 SysCostCenter(成本中心表)
| 字段 |
类型 |
必填 |
说明 |
| Id |
VARCHAR(36) |
PK |
GUID |
| CenterName |
NVARCHAR(100) |
✅ |
成本中心名称 |
| CenterCode |
VARCHAR(50) |
|
编码 |
| DeptId |
VARCHAR(36) |
FK→SysDepartment |
归属部门 |
| IsActive |
BIT |
✅ |
默认1 |
| CreateTime |
DATETIME |
✅ |
|
| UpdateTime |
DATETIME |
|
|
1.6 SysVehicle(车辆信息表)
| 字段 |
类型 |
必填 |
说明 |
| Id |
VARCHAR(36) |
PK |
GUID |
| LicensePlate |
VARCHAR(20) |
✅ |
车牌号 |
| VehicleType |
VARCHAR(20) |
✅ |
轿车/SUV/商务车/面包车 |
| Brand |
NVARCHAR(50) |
|
品牌型号 |
| Seats |
INT |
|
座位数 |
| DriverName |
NVARCHAR(50) |
|
默认司机 |
| Status |
VARCHAR(20) |
✅ |
idle/in_use/maintenance,默认idle |
| IsActive |
BIT |
✅ |
默认1 |
| CreateTime |
DATETIME |
✅ |
|
| UpdateTime |
DATETIME |
|
|
1.7 SysCustomer(客户表)
| 字段 |
类型 |
必填 |
说明 |
| Id |
VARCHAR(36) |
PK |
GUID |
| CustomerName |
NVARCHAR(200) |
✅ |
客户名称 |
| ShortName |
NVARCHAR(100) |
|
简称 |
| Address |
NVARCHAR(500) |
|
地址 |
| Longitude |
DECIMAL(10,6) |
|
经度 |
| Latitude |
DECIMAL(10,6) |
|
纬度 |
| SalespersonId |
VARCHAR(36) |
FK→SysUser |
负责业务员 |
| IsActive |
BIT |
✅ |
默认1 |
| CreateTime |
DATETIME |
✅ |
|
| UpdateTime |
DATETIME |
|
|
1.8 SysCustomerContact(客户联系人表)
| 字段 |
类型 |
必填 |
说明 |
| Id |
VARCHAR(36) |
PK |
GUID |
| CustomerId |
VARCHAR(36) |
FK→SysCustomer |
✅ |
| ContactName |
NVARCHAR(50) |
✅ |
姓名 |
| Position |
NVARCHAR(50) |
|
职务 |
| Phone |
VARCHAR(20) |
|
电话 |
| Email |
VARCHAR(100) |
|
邮箱 |
| SortOrder |
INT |
|
排序 |
| CreateTime |
DATETIME |
✅ |
|
| UpdateTime |
DATETIME |
|
|
2. 业务主表
2.1 Expense(报销单表)
| 字段 |
类型 |
必填 |
说明 |
| Id |
VARCHAR(36) |
PK |
GUID |
| ReportNo |
VARCHAR(30) |
✅ |
报销单号,如 BX-20260529-001 |
| ApplicantId |
VARCHAR(36) |
FK→SysUser |
✅ 申请人 |
| ApplicantName |
NVARCHAR(50) |
✅ |
冗余,申请人姓名 |
| DeptId |
VARCHAR(36) |
FK→SysDepartment |
✅ 申请部门 |
| DeptName |
NVARCHAR(100) |
✅ |
冗余,部门名称 |
| ExpenseType |
VARCHAR(20) |
✅ |
差旅费/办公用品/招待费/交通费/通讯费/其他 |
| TotalAmount |
DECIMAL(18,2) |
✅ |
报销总金额 |
| InvoiceCount |
INT |
|
发票张数,默认0 |
| CostCenterId |
VARCHAR(36) |
FK→SysCostCenter |
成本中心 |
| ProjectId |
VARCHAR(36) |
FK→SysProject |
关联项目 |
| ProjectName |
NVARCHAR(200) |
|
冗余,项目名称 |
| BudgetSubjectId |
VARCHAR(36) |
FK→SysBudgetSubject |
预算科目 |
| LoanWriteoffAmount |
DECIMAL(18,2) |
|
冲销借款金额,默认0 |
| PaymentMethod |
VARCHAR(20) |
|
银行转账/现金/支票 |
| PaymentStatus |
VARCHAR(20) |
|
unpaid/paid/paying,默认unpaid |
| AccountId |
VARCHAR(36) |
|
收款账户ID |
| AccountName |
NVARCHAR(50) |
|
收款账户名 |
| VoucherNo |
VARCHAR(50) |
|
财务凭证号 |
| Remark |
NVARCHAR(500) |
|
备注说明 |
| Status |
VARCHAR(20) |
✅ |
draft/pending/approved/rejected/withdrawn |
| CurrentApproverId |
VARCHAR(36) |
FK→SysUser |
当前审批人 |
| CreateTime |
DATETIME |
✅ |
|
| UpdateTime |
DATETIME |
|
|
| IsDeleted |
BIT |
✅ |
默认0 |
2.2 ExpenseDetail(报销明细表)
| 字段 |
类型 |
必填 |
说明 |
| Id |
VARCHAR(36) |
PK |
GUID |
| ExpenseId |
VARCHAR(36) |
FK→Expense |
✅ 关联报销单 |
| ExpenseDate |
DATE |
✅ |
费用发生日期 |
| ExpenseType |
VARCHAR(20) |
✅ |
费用类别 |
| ExpenseDesc |
NVARCHAR(200) |
✅ |
费用描述 |
| Amount |
DECIMAL(18,2) |
✅ |
金额(不含税) |
| TaxAmount |
DECIMAL(18,2) |
|
税额,默认0 |
| TotalAmount |
DECIMAL(18,2) |
✅ |
价税合计 |
| InvoiceNo |
VARCHAR(50) |
|
发票号码 |
| InvoiceCode |
VARCHAR(50) |
|
发票代码 |
| InvoiceType |
VARCHAR(20) |
|
增值税专用发票/普通发票/无发票 |
| IsDeductible |
BIT |
|
是否抵扣,默认0 |
| TaxRate |
DECIMAL(5,4) |
|
税率,如 0.09 |
| Remark |
NVARCHAR(200) |
|
备注 |
| SortOrder |
INT |
|
排序,默认1 |
| CreateTime |
DATETIME |
✅ |
|
| UpdateTime |
DATETIME |
|
|
2.3 ExpenseAttachment(报销附件表)
| 字段 |
类型 |
必填 |
说明 |
| Id |
VARCHAR(36) |
PK |
GUID |
| ExpenseId |
VARCHAR(36) |
FK→Expense |
✅ 关联报销单 |
| DetailId |
VARCHAR(36) |
|
关联明细,为空表示整单附件 |
| FileName |
NVARCHAR(200) |
✅ |
原始文件名 |
| FileUrl |
VARCHAR(500) |
✅ |
存储URL |
| FileSize |
BIGINT |
|
文件大小(字节) |
| FileType |
VARCHAR(20) |
|
image/pdf/doc |
| SortOrder |
INT |
|
排序 |
| CreateTime |
DATETIME |
✅ |
|
2.4 ExpenseApplication(报销申请单表)
| 字段 |
类型 |
必填 |
说明 |
| Id |
VARCHAR(36) |
PK |
GUID |
| ApplicationNo |
VARCHAR(30) |
✅ |
申请单号,如 BXSQ-20260529-001 |
| ApplicantId |
VARCHAR(36) |
FK→SysUser |
✅ 申请人 |
| ApplicantName |
NVARCHAR(50) |
✅ |
|
| DeptId |
VARCHAR(36) |
FK→SysDepartment |
✅ |
| DeptName |
NVARCHAR(100) |
✅ |
|
| ExpenseType |
VARCHAR(20) |
✅ |
差旅费/办公用品/招待费/交通费/通讯费/其他 |
| EstimatedAmount |
DECIMAL(18,2) |
✅ |
预估总金额 |
| EstimatedStartDate |
DATE |
|
预计费用开始日期 |
| EstimatedEndDate |
DATE |
|
预计费用结束日期 |
| Urgency |
VARCHAR(10) |
|
normal/urgent/critical,默认normal |
| Purpose |
NVARCHAR(500) |
✅ |
申请事由 |
| ProjectId |
VARCHAR(36) |
FK→SysProject |
关联项目 |
| ProjectName |
NVARCHAR(200) |
|
冗余 |
| BudgetSubjectId |
VARCHAR(36) |
FK→SysBudgetSubject |
预算科目 |
| Remark |
NVARCHAR(500) |
|
备注 |
| Status |
VARCHAR(20) |
✅ |
draft/pending/approved/rejected/withdrawn |
| CurrentApproverId |
VARCHAR(36) |
FK→SysUser |
当前审批人 |
| CreateTime |
DATETIME |
✅ |
|
| UpdateTime |
DATETIME |
|
|
| IsDeleted |
BIT |
✅ |
默认0 |
2.5 ExpenseAppDetail(报销申请明细表)
| 字段 |
类型 |
必填 |
说明 |
| Id |
VARCHAR(36) |
PK |
GUID |
| ApplicationId |
VARCHAR(36) |
FK→ExpenseApplication |
✅ |
| ItemName |
NVARCHAR(200) |
✅ |
费用项目名称 |
| EstimatedAmount |
DECIMAL(18,2) |
✅ |
预估金额 |
| Remark |
NVARCHAR(200) |
|
备注 |
| SortOrder |
INT |
|
排序,默认1 |
| CreateTime |
DATETIME |
✅ |
|
| UpdateTime |
DATETIME |
|
|
2.6 Overtime(加班申请单表)
| 字段 |
类型 |
必填 |
说明 |
| Id |
VARCHAR(36) |
PK |
GUID |
| ApplicationNo |
VARCHAR(30) |
✅ |
申请单号,如 JB-20260529-001 |
| ApplicantId |
VARCHAR(36) |
FK→SysUser |
✅ 申请人 |
| ApplicantName |
NVARCHAR(50) |
✅ |
|
| DeptId |
VARCHAR(36) |
FK→SysDepartment |
✅ |
| DeptName |
NVARCHAR(100) |
✅ |
|
| Position |
NVARCHAR(50) |
|
岗位 |
| OtDate |
DATE |
✅ |
加班日期 |
| StartTime |
DATETIME |
✅ |
开始时间 |
| EndTime |
DATETIME |
✅ |
结束时间 |
| OtHours |
DECIMAL(4,1) |
✅ |
申请加班时长 |
| ActualOtHours |
DECIMAL(4,1) |
|
实际加班时长(审批后填写) |
| ClockInTime |
DATETIME |
|
关联打卡-上班 |
| ClockOutTime |
DATETIME |
|
关联打卡-下班 |
| MealDeductHours |
DECIMAL(3,1) |
|
用餐扣除时长,默认0.5 |
| OtType |
VARCHAR(10) |
✅ |
workday/weekend/holiday |
| CompensationType |
VARCHAR(10) |
✅ |
overtime_pay/comp_leave |
| Reason |
NVARCHAR(500) |
✅ |
加班原因 |
| Remark |
NVARCHAR(500) |
|
备注 |
| Status |
VARCHAR(20) |
✅ |
draft/pending/approved/rejected/withdrawn |
| CurrentApproverId |
VARCHAR(36) |
FK→SysUser |
当前审批人 |
| CreateTime |
DATETIME |
✅ |
|
| UpdateTime |
DATETIME |
|
|
| IsDeleted |
BIT |
✅ |
默认0 |
2.7 Vehicle(用车申请单表)
| 字段 |
类型 |
必填 |
说明 |
| Id |
VARCHAR(36) |
PK |
GUID |
| ApplicationNo |
VARCHAR(30) |
✅ |
申请单号,如 YC-20260529-001 |
| ApplicantId |
VARCHAR(36) |
FK→SysUser |
✅ 申请人 |
| ApplicantName |
NVARCHAR(50) |
✅ |
|
| DeptId |
VARCHAR(36) |
FK→SysDepartment |
✅ |
| DeptName |
NVARCHAR(100) |
✅ |
|
| VehicleType |
VARCHAR(20) |
✅ |
轿车/SUV/商务车/面包车 |
| VehicleId |
VARCHAR(36) |
FK→SysVehicle |
指定车辆(审批后分配) |
| LicensePlate |
VARCHAR(20) |
|
车牌号(冗余) |
| Purpose |
VARCHAR(20) |
✅ |
客户接待/商务出行/内部公务/其他 |
| StartTime |
DATETIME |
✅ |
预计开始时间 |
| EndTime |
DATETIME |
✅ |
预计结束时间 |
| ReturnTime |
DATETIME |
|
实际还车时间 |
| Origin |
NVARCHAR(200) |
✅ |
出发地点 |
| Destination |
NVARCHAR(200) |
✅ |
目的地 |
| PassengerCount |
INT |
|
乘车人数,默认1 |
| Driver |
VARCHAR(20) |
✅ |
自驾/配驾 |
| DriverName |
NVARCHAR(50) |
|
驾驶员姓名 |
| EstimatedMileage |
DECIMAL(10,2) |
|
预估里程(公里) |
| ActualMileage |
DECIMAL(10,2) |
|
实际里程 |
| StartOdometer |
DECIMAL(10,2) |
|
起始里程表读数 |
| EndOdometer |
DECIMAL(10,2) |
|
结束里程表读数 |
| EstimatedCost |
DECIMAL(18,2) |
|
预估费用 |
| ActualCost |
DECIMAL(18,2) |
|
实际费用 |
| Reason |
NVARCHAR(500) |
✅ |
用车事由 |
| Status |
VARCHAR(20) |
✅ |
draft/pending/approved/rejected/withdrawn |
| CurrentApproverId |
VARCHAR(36) |
FK→SysUser |
当前审批人 |
| CreateTime |
DATETIME |
✅ |
|
| UpdateTime |
DATETIME |
|
|
| IsDeleted |
BIT |
✅ |
默认0 |
2.8 VehiclePassenger(用车同行人员表)
| 字段 |
类型 |
必填 |
说明 |
| Id |
VARCHAR(36) |
PK |
GUID |
| ApplicationId |
VARCHAR(36) |
FK→Vehicle |
✅ |
| UserId |
VARCHAR(36) |
FK→SysUser |
关联系统用户 |
| PassengerName |
NVARCHAR(50) |
✅ |
姓名(冗余/外部人员) |
| CreateTime |
DATETIME |
✅ |
|
2.9 OutingLog(业务员外出日志表)
| 字段 |
类型 |
必填 |
说明 |
| Id |
VARCHAR(36) |
PK |
GUID |
| VisitNo |
VARCHAR(30) |
✅ |
拜访编号,如 VST-20260529-001 |
| SalespersonId |
VARCHAR(36) |
FK→SysUser |
✅ 业务员 |
| SalespersonName |
NVARCHAR(50) |
✅ |
|
| DeptId |
VARCHAR(36) |
FK→SysDepartment |
✅ |
| DeptName |
NVARCHAR(100) |
✅ |
|
| CustomerId |
VARCHAR(36) |
FK→SysCustomer |
客户 |
| CustomerName |
NVARCHAR(200) |
✅ |
|
| ContactId |
VARCHAR(36) |
FK→SysCustomerContact |
联系人 |
| ContactName |
NVARCHAR(50) |
|
|
| ContactPhone |
VARCHAR(20) |
|
|
| ContactPosition |
NVARCHAR(50) |
|
|
| VisitDate |
DATE |
✅ |
拜访日期 |
| VisitStartTime |
DATETIME |
✅ |
签到时间 |
| VisitEndTime |
DATETIME |
✅ |
签退时间 |
| VisitType |
VARCHAR(20) |
✅ |
商务沟通/产品演示/售后服务/合同签约/催款/其他 |
| VisitPurpose |
NVARCHAR(500) |
✅ |
拜访目的 |
| VisitLocation |
NVARCHAR(200) |
✅ |
拜访地点 |
| VisitAddressDetail |
NVARCHAR(200) |
|
详细地址 |
| Longitude |
DECIMAL(10,6) |
|
签到时经度 |
| Latitude |
DECIMAL(10,6) |
|
签到时纬度 |
| CheckInStatus |
VARCHAR(20) |
|
normal/deviation,默认normal |
| DistanceDeviation |
INT |
|
定位偏差距离(米),默认0 |
| Participants |
NVARCHAR(200) |
|
参与人员(我方) |
| VisitSummary |
NVARCHAR(2000) |
✅ |
拜访总结 |
| VisitResult |
VARCHAR(20) |
|
待跟进/已成交/需再次拜访/无意愿 |
| CustomerFeedback |
NVARCHAR(1000) |
|
客户反馈 |
| CompetitorInfo |
NVARCHAR(1000) |
|
竞品信息 |
| NextVisitTime |
DATETIME |
|
下次拜访时间 |
| NextVisitContent |
NVARCHAR(500) |
|
下次拜访内容 |
| Materials |
NVARCHAR(500) |
|
携带资料 |
| Status |
VARCHAR(20) |
✅ |
completed/draft |
| CreateTime |
DATETIME |
✅ |
|
| UpdateTime |
DATETIME |
|
|
| IsDeleted |
BIT |
✅ |
默认0 |
2.10 OutingLogAttachment(外出日志附件表)
| 字段 |
类型 |
必填 |
说明 |
| Id |
VARCHAR(36) |
PK |
GUID |
| LogId |
VARCHAR(36) |
FK→OutingLog |
✅ |
| FileName |
NVARCHAR(200) |
✅ |
|
| FileUrl |
VARCHAR(500) |
✅ |
|
| FileType |
VARCHAR(20) |
|
sign_in_photo/sign_out_photo/visit_photo/other |
| SortOrder |
INT |
|
排序 |
| CreateTime |
DATETIME |
✅ |
|
2.11 Announcement(公告表)
| 字段 |
类型 |
必填 |
说明 |
| Id |
VARCHAR(36) |
PK |
GUID |
| Title |
NVARCHAR(200) |
✅ |
公告标题 |
| Content |
NVARCHAR(MAX) |
✅ |
公告正文 |
| ContentType |
VARCHAR(10) |
|
text/html,默认text |
| Type |
VARCHAR(20) |
✅ |
通知公告/制度文件/活动通知/其他 |
| PublisherId |
VARCHAR(36) |
FK→SysUser |
✅ 发布人 |
| PublisherName |
NVARCHAR(50) |
✅ |
|
| PublishTime |
DATETIME |
✅ |
发布时间 |
| IsTop |
BIT |
|
是否置顶,默认0 |
| PrivateLevel |
INT |
|
可见级别:0=全员 1=指定部门 2=指定用户 |
| RequireConfirm |
BIT |
|
需确认已读,默认0 |
| ExpiryDate |
DATETIME |
✅ |
过期时间 |
| CreateTime |
DATETIME |
✅ |
|
| UpdateTime |
DATETIME |
|
|
| IsDeleted |
BIT |
✅ |
默认0 |
2.12 AnnouncementTarget(公告可见范围表)
| 字段 |
类型 |
必填 |
说明 |
| Id |
VARCHAR(36) |
PK |
GUID |
| AnnouncementId |
VARCHAR(36) |
FK→Announcement |
✅ |
| TargetType |
VARCHAR(10) |
✅ |
dept/user |
| TargetId |
VARCHAR(36) |
✅ |
部门ID或用户ID |
| CreateTime |
DATETIME |
✅ |
|
2.13 AnnouncementAttachment(公告附件表)
| 字段 |
类型 |
必填 |
说明 |
| Id |
VARCHAR(36) |
PK |
GUID |
| AnnouncementId |
VARCHAR(36) |
FK→Announcement |
✅ |
| FileName |
NVARCHAR(200) |
✅ |
|
| FileUrl |
VARCHAR(500) |
✅ |
|
| FileSize |
BIGINT |
|
|
| CreateTime |
DATETIME |
✅ |
|
2.14 AnnouncementReadLog(公告已读记录表)
| 字段 |
类型 |
必填 |
说明 |
| Id |
VARCHAR(36) |
PK |
GUID |
| AnnouncementId |
VARCHAR(36) |
FK→Announcement |
✅ |
| UserId |
VARCHAR(36) |
FK→SysUser |
✅ |
| ReadTime |
DATETIME |
✅ |
阅读时间 |
| IsConfirmed |
BIT |
|
是否确认(需确认时),默认0 |
| ConfirmTime |
DATETIME |
|
确认时间 |
3. 审批与工作流表
3.1 ApprovalRecord(审批记录表)
| 字段 |
类型 |
必填 |
说明 |
| Id |
VARCHAR(36) |
PK |
GUID |
| BizId |
VARCHAR(36) |
✅ |
业务单据ID |
| BizType |
VARCHAR(30) |
✅ |
expense/expense_application/overtime/vehicle |
| ApproverId |
VARCHAR(36) |
FK→SysUser |
✅ 审批人 |
| ApproverName |
NVARCHAR(50) |
✅ |
|
| ApprovalLevel |
INT |
✅ |
审批层级(1,2,3...) |
| Action |
VARCHAR(20) |
✅ |
pending/approve/reject/withdraw |
| Opinion |
NVARCHAR(500) |
|
审批意见 |
| ApprovalTime |
DATETIME |
✅ |
审批时间 |
| CreateTime |
DATETIME |
✅ |
|
3.2 ApprovalChain(审批链配置表)
| 字段 |
类型 |
必填 |
说明 |
| Id |
VARCHAR(36) |
PK |
GUID |
| BizType |
VARCHAR(30) |
✅ |
业务类型 |
| DeptId |
VARCHAR(36) |
|
适用部门(空=全局) |
| LevelNo |
INT |
✅ |
审批层级 |
| ApproverId |
VARCHAR(36) |
FK→SysUser |
指定审批人 |
| ApproverRole |
VARCHAR(20) |
|
按角色:dept_manager/finance/admin |
| IsActive |
BIT |
✅ |
默认1 |
| CreateTime |
DATETIME |
✅ |
|
| UpdateTime |
DATETIME |
|
|
4. 消息通知表
4.1 Message(消息通知表)
| 字段 |
类型 |
必填 |
说明 |
| Id |
VARCHAR(36) |
PK |
GUID |
| UserId |
VARCHAR(36) |
FK→SysUser |
✅ 接收人 |
| Title |
NVARCHAR(200) |
✅ |
消息标题 |
| Content |
NVARCHAR(500) |
|
消息摘要 |
| MsgType |
VARCHAR(20) |
✅ |
approval_notice/approval_result/announcement/system |
| BizType |
VARCHAR(30) |
|
关联业务类型 |
| BizId |
VARCHAR(36) |
|
关联业务ID |
| IsRead |
BIT |
✅ |
已读,默认0 |
| ReadTime |
DATETIME |
|
阅读时间 |
| CreateTime |
DATETIME |
✅ |
|
5. 枚举值汇总
5.1 业务状态
| 值 |
中文 |
适用表 |
| draft |
草稿 |
所有申请表 |
| pending |
待审批 |
所有申请表 |
| approved |
已通过 |
所有申请表 |
| rejected |
已拒绝 |
所有申请表 |
| withdrawn |
已撤回 |
所有申请表 |
| completed |
已完成 |
OutingLog |
5.2 报销类型
差旅费 / 办公用品 / 招待费 / 交通费 / 通讯费 / 其他
5.3 加班类型
workday(工作日加班)/ weekend(休息日加班)/ holiday(节假日加班)
5.4 补偿方式
overtime_pay(加班费)/ comp_leave(调休)
5.5 用车目的
客户接待 / 商务出行 / 内部公务 / 其他
5.6 发票类型
增值税专用发票 / 增值税普通发票 / 无发票
5.7 付款状态
unpaid(未付款)/ paying(付款中)/ paid(已付款)
5.8 紧急程度
normal(普通)/ urgent(紧急)/ critical(特急)
5.9 拜访类型
商务沟通 / 产品演示 / 售后服务 / 合同签约 / 催款 / 其他
5.10 拜访结果
待跟进 / 已成交 / 需再次拜访 / 无意愿
5.11 公告类型
通知公告 / 制度文件 / 活动通知 / 其他
5.12 消息类型
approval_notice(审批通知)/ approval_result(审批结果)/ announcement(公告提醒)/ system(系统消息)
5.13 用户角色
employee / approver / finance / admin
5.14 车辆类型
轿车 / SUV / 商务车 / 面包车
5.15 车辆状态
idle(空闲)/ in_use(使用中)/ maintenance(维修中)
6. 表关系图(关键外键)
SysUser ──┬── Expense (ApplicantId, CurrentApproverId)
├── ExpenseApplication
├── Overtime
├── Vehicle
├── OutingLog (SalespersonId)
├── Announcement (PublisherId)
├── ApprovalRecord (ApproverId)
├── Message (UserId)
└── SysDepartment (ManagerId)
SysDepartment ──┬── SysUser (DeptId)
├── Expense (DeptId)
├── ExpenseApplication (DeptId)
├── Overtime (DeptId)
├── Vehicle (DeptId)
├── OutingLog (DeptId)
└── ApprovalChain (DeptId)
SysProject ──┬── Expense (ProjectId)
└── ExpenseApplication (ProjectId)
SysCustomer ──┬── OutingLog (CustomerId)
└── SysCustomerContact (CustomerId)
SysVehicle ──── Vehicle (VehicleId)
ApprovalRecord ──┬── Expense (BizId, BizType='expense')
├── ExpenseApplication (BizId, BizType='expense_application')
├── Overtime (BizId, BizType='overtime')
└── Vehicle (BizId, BizType='vehicle')
7. 索引建议
| 表 |
索引字段 |
类型 |
说明 |
| Expense |
Status, ApplicantId, DeptId, CreateTime DESC |
复合 |
列表查询主路径 |
| Expense |
ReportNo |
唯一 |
单号唯一约束 |
| ExpenseDetail |
ExpenseId |
普通 |
关联查询 |
| ExpenseApplication |
Status, ApplicantId, DeptId |
复合 |
|
| Overtime |
Status, ApplicantId, OtDate DESC |
复合 |
|
| Vehicle |
Status, ApplicantId, DeptId |
复合 |
|
| OutingLog |
SalespersonId, VisitDate DESC |
复合 |
|
| Announcement |
IsTop DESC, PublishTime DESC |
复合 |
列表排序 |
| AnnouncementReadLog |
AnnouncementId, UserId |
唯一 |
防重复记录 |
| ApprovalRecord |
BizId, BizType |
复合 |
关联查询 |
| Message |
UserId, IsRead, CreateTime DESC |
复合 |
消息列表 |