Files
TurboHR/docs/20260730-系统操作问题与功能对照.md

26 KiB
Raw Permalink Blame History

企业用工专家系统 — 操作问题与现有功能对照分析

文档日期:2026-07-31 整理人:用户反馈 + 系统代码核查


一、花名册模块

1.1 合同类型覆盖问题

用户反馈 系统现状 差距分析
只有标准劳动合同界面,劳务合同、承揽合同、临时工、非全日制等员工无法录入 数据库 ContractType 枚举支持 5 种:FIXED(固定期限)、UNFIXED(无固定期限)、UNSIGNED(未签)、LABOR(劳务)、INTERNSHIP(实习) 后端已支持 LABOR 类型,但前端未暴露。导入模板合同类型仅映射「固定期限/无固定期限/未签」3 种,缺少「劳务/实习」选项。前端合同添加界面也只展示标准劳动合同选项
前端 Roster.tsx 合同管理 Tab 和 roster/ContractInfo.tsx 中合同类型选择器未包含 LABOR、INTERNSHIP 承揽合同、临时工、非全日制 3 种类型在枚举中完全缺失,需要新增

1.2 花名册导入导出错位问题

用户反馈 系统现状 差距分析
导出只能导出姓名、合同期限等部分基本信息,无法导出全部信息 export.routes.ts 花名册导出仅 7 列:姓名、部门、状态、入职日期、合同起始、合同结束、联系方式 导出字段严重不足。缺少:性别、身份证号、手机号、社保基数、公积金基数、参保城市、银行账户、紧急联系人、学历、出生日期、专项附加扣除等
导入和导出系统错位 导入模板 import.routes.ts 支持 19 个字段(姓名、部门、性别、手机号、身份证号、入职日期、月工资、社保基数、公积金基数、专项附加扣除、参保城市、紧急联系人、紧急联系电话、住址、开户行、银行账号、孕期、医疗期、工伤) 导入 19 字段 vs 导出 7 字段,严重不对齐。导入的数据无法完整导出回溯

1.3 现有功能

功能项 支持情况 实现位置
单个员工录入 支持 Roster.tsxAddEmployeeModal
批量导入 支持 Excel 导入 import.routes.ts/import/excel
花名册导出 ⚠️ 仅 7 列基本信息 export.routes.ts/export/roster
全量数据导出 支持 JSON/Excel 格式 export.routes.ts/export/all(管理员权限)
员工详情 支持 10 个 Tab 页 roster/EmployeeProfile.tsx(基本信息、合同、薪税社保、考勤加班、解聘、违纪、培训、绩效、证据链、变更历史)
批量续签合同 支持 Roster.tsxbatchRenewMutation
批量解聘 支持 Roster.tsxbatchTerminateMutation
调薪记录 支持 roster/modals.tsxSalaryChangeModal
部门变更 支持 roster/modals.tsxDeptChangeModal

二、工资模块

2.1 计薪方式覆盖问题

用户反馈 系统现状 差距分析
只有标准工时工资模块,计件、计时方式无法录入 BatchEntry 模型薪资项:baseSalary(基本工资)、overtimePay(加班费)、allowance(津贴)、bonus(奖金)、deduction(扣款)、positionSalary(岗位工资)、performanceSalary(绩效工资)、senioritySalary(工龄工资)及 4 类补贴 缺少计件工资字段。无 pieceworkCount(件数)、pieceworkUnitPrice(单价)、hourlyRate(时薪)、workHours(工时) 等字段
PayrollBatchType 枚举:REGULAR(常规)、TERMINATION(离职结算)、BONUS(年终奖/奖金)、SEVERANCE(补偿金按月) 缺少计件/计时批次类型

2.2 现有功能

功能项 支持情况 实现位置
发薪批次管理 支持创建/编辑/归档 Money.tsx → batch tab
薪酬模板 支持自定义薪资项 Money.tsx → template tab
加班费计算 支持工作日/休息日/法定节假日 Money.tsx → overtime tab
工资条管理 支持发布/确认/定时发送 Money.tsx → payslip tab
Excel 导入工资 支持 import.routes.ts/import/payroll
工资表导出 支持部门汇总 + 明细 Money.tsx → 导出按钮
个税预览计算 支持累计预扣法 payroll.routes.ts/payroll/tax-preview
年终奖单独计税 支持 payroll.service.tscalcBonusTax
薪资项手工覆盖 社保/公积金可手动覆盖 payroll.service.tsoverrideSocial

三、社保模块

3.1 险种覆盖问题

用户反馈 系统现状 差距分析
全部是正规五险一金,无社保人员模块 SocialInsuranceConfig 固定 5 险:养老、医疗、失业、工伤、生育 缺少「无社保」选项。员工入职时自动创建社保记录,无法标记为「不参保」
纯商险或意外险员工无法录入 extraInsurances JSON 字段支持附加险种配置(名称、企业/个人比例、基数类型) 后端已支持附加险种,但前端仅展示已有配置。无独立的「商险管理」模块,附加险种只能在社保配置中作为附加项录入
只有五险或三险且无公积金的员工,系统也会自动匹配公积金 入职导入时 import.routes.ts 第 300 行无条件创建 EmployeeHousingFundRecord,基数默认等于月工资 缺少「是否缴纳公积金」开关EmployeeHousingFundRecordstatusoptOut 字段
基数自动为员工应发工资基数 import.routes.ts 第 287 行:`housingFundBase: num(getField(r, '公积金基数'))

3.2 现有功能

功能项 支持情况 实现位置
社保配置(五险比例) 支持多城市多版本 SocialInsurance.tsx → social tab
公积金配置 支持基本/补充公积金 SocialInsurance.tsx → housing tab
附加险种配置 后端支持 JSON 字段 SocialInsuranceConfig.extraInsurances
社保基数调整 支持批量调基 SocialInsurance.tsx → 调整按钮
月度社保办理 支持标记已办理 SocialInsurance.tsx → monthly tab
专项附加扣除 支持导入 import.routes.ts/import/special-deduction
版本管理 支持历史版本 SocialInsurance.tsx → 版本管理
社保导出 含在全量导出中 export.routes.ts/export/all

四、考勤模块

4.1 打卡功能缺失

用户反馈 系统现状 差距分析
无法实现打卡模块,不如钉钉/企微好用 系统无打卡功能,AttendanceRecord 模型有 checkInTime/checkOutTime 字段但无打卡接口 完全未实现打卡功能。系统定位为 HR 管理后台而非考勤终端
需要借助第三方平台导出数据再手工录入,增加工作量 支持 Excel 批量导入考勤记录(import.routes.ts/import/monthly 考勤记录 sheet 已有导入功能但无第三方系统对接。缺少钉钉/企微/飞书 API 对接

4.2 现有功能

功能项 支持情况 实现位置
考勤确认流程 支持员工端确认 Attendance.tsx → confirm tab
班次管理 支持创建/编辑班次 Attendance.tsx → shifts tab
排班管理 支持按日排班 Attendance.tsx → schedule tab
每日出勤记录 支持手动录入/查看 Attendance.tsx → daily tab
月度报表 支持汇总统计 Attendance.tsx → monthly tab
休假记录 支持请假类型管理 Attendance.tsx → leaves tab
Excel 批量导入 支持月度导入 import.routes.ts/import/monthly
员工端考勤查看 支持 portal/MyAttendance.tsx

五、发薪模块 — 个税自动算税

用户反馈 系统现状 差距分析
暂时无法实现个税自动算税 已实现累计预扣法个税计算payroll.service.tscalcCumulativeTax(),支持 7 级超额累进税率 用户反馈与系统现状不符。系统已支持个税自动计算,可能在操作时未发现该功能
payroll.routes.ts/payroll/tax-preview 提供个税预览计算 前端 Money.tsx 有个税预览功能,支持输入薪资项后实时计算个税
归档批次时自动计算个税并写入 BatchEntry.tax 归档时个税自动计算并锁定
支持年终奖单独计税:calcBonusTax() 年终奖批次类型自动使用单独计税
支持专项附加扣除:Employee.specialDeduction 个税计算时扣除专项附加扣除
个税跳档预警:payroll.service.ts 第 544 行 归档时检测个税异常波动并提示

现有功能

功能项 支持情况 说明
累计预扣法算税 已实现 7 级超额累进,年度累计预扣
个税实时预览 已实现 前端输入薪资项即可预览个税
年终奖单独计税 已实现 除以 12 找税率 + 速算扣除
专项附加扣除 已实现 支持导入和员工端填报
个税跳档预警 已实现 归档时自动检测
YTD 累计数据 已实现 从已归档批次获取历史数据

六、发票模块和审批模块

用户反馈 系统现状 差距分析
系统暂时没有发票模块 完全未实现。无 Invoice 模型、无发票路由、无发票页面 需从零设计开发
系统暂时没有审批模块 部分实现。解聘记录有 status 字段(DRAFT/PENDING_APPROVAL/APPROVED/REJECTED/EXECUTING/COMPLETED/CANCELLED),但无通用审批流 仅有解聘审批状态流转,无通用审批引擎(请假审批、调薪审批、合同审批等)

现有相关功能

功能项 支持情况 说明
解聘审批流 ⚠️ 有状态字段但无审批界面 TerminationRecord.status 支持 7 种状态,但前端无审批操作入口
操作日志审计 支持 AuditLog 模型记录所有操作
合同确认链接 支持 ContractConfirmLink 模型,员工端确认签署

七、功能对照总览

模块 用户反馈问题 系统实际状态 严重程度 修复难度
花名册 缺少劳务/承揽/临时工/非全合同类型 枚举缺 3 种类型,前端缺 2 种展示 🔴
花名册 导出字段不全、导入导出错位 导出 7 列 vs 导入 19 列 🔴
工资 缺少计件/计时计薪方式 无相关字段和批次类型 🟡
社保 无社保人员无法标记 入职自动创建社保记录,无 optOut 🟡
社保 商险/意外险无独立模块 后端有 extraInsurances 字段 🟡
社保 无公积金员工自动匹配 无条件创建公积金记录 🟡
考勤 无打卡功能 系统无打卡能力 🟡
考勤 第三方数据需手工导入 有 Excel 导入但无 API 对接 🟢
发薪 个税无法自动算税 已实现,用户可能未发现 🟢
发票 无发票模块 完全未实现 🟡
审批 无审批模块 仅解聘有状态流转 🟡

八、建议优先级

P0 — 立即修复(影响日常使用)

  1. 花名册导出字段扩充:对齐导入的 19 个字段,增加性别、身份证号、社保基数、公积金基数、参保城市、银行账户等
  2. 社保「无社保」选项:入职时增加「是否参保」开关,不参保则不创建社保记录
  3. 公积金「不缴纳」选项:入职时增加「是否缴纳公积金」开关,不缴纳则不创建公积金记录

P1 — 近期优化(提升覆盖面)

  1. 合同类型扩充:新增「承揽合同」「临时工」「非全日制」3 种枚举,前端添加对应选项
  2. 导入模板合同类型对齐:导入模板增加「劳务」「实习」选项映射
  3. 商险/意外险独立管理:在社保页面增加「商险管理」Tab,独立于五险一金

P2 — 中期规划(功能扩展)

  1. 计件/计时工资:新增 PayrollBatchType.PIECEWORKTIMeworkBatchEntry 增加件数/单价/时薪字段
  2. 考勤第三方对接:钉钉/企微/飞书 API 数据同步
  3. 发票模块:新增 Invoice 模型,支持发票录入、查验、归档
  4. 通用审批引擎:支持请假、调薪、合同等多场景审批流

九、系统现有完整模块清单

分类 模块 路由 核心功能
工作台 总览 / 数据看板、风险提醒、月度任务、价值报告
工作台 工作日历 /calendar 月度 HR 事项日历
员工管理 花名册 /roster 员工 CRUD、批量导入、导出、合同管理、调薪、部门变更
员工管理 用工办理 /work-process 入职/离职流程管理
员工管理 考勤确认 /attendance 班次/排班/出勤/月度报表/休假
员工管理 解聘补偿 /termination 解聘记录、补偿金计算
员工管理 特殊状态 /special-status 孕期/哺乳期/工伤/医疗期
薪税社保 薪税管理 /money 发薪批次、薪酬模板、加班费、工资条
薪税社保 社保公积金 /social 五险配置、公积金配置、基数调整、月度办理
合规风控 证据链 /evidence 入职/合同/培训/违纪证据管理
合规风控 规章制度 /policies 制度发布、员工签收
合规风控 用工体检 /tools/health-check 5 维度合规健康度评分
合规风控 医疗期计算 /tools/medical-period 医疗期期限计算器
合规风控 年度价值 /tools/annual-value 年度 HR 价值报告
AI 辅助 AI 顾问 /ai-assistant 劳动法 AI 问答
AI 辅助 文本模板 /templates 合同/通知/制度模板管理
系统 通知管理 /notifications 风险提醒通知配置
系统 操作日志 /audit 操作审计日志
系统 设置 /settings 企业信息、导入配置
员工端 门户 /portal/* 工资条查看、合同确认、考勤确认、制度签收、入职办理

十、绩效分析与统计看板

10.1 现状

功能项 支持情况 实现位置 说明
绩效记录录入 支持 roster/PerformanceInfo.tsx 在员工详情中手动新增绩效记录(考核周期、得分、等级 A/B/C/D、评语、改进计划)
绩效员工确认 支持 PerformanceRecord.employeeAck 员工可确认考核结果
绩效看板 未实现 无独立的绩效统计看板页面
绩效趋势分析 未实现 无绩效得分趋势、部门对比、等级分布等分析
绩效与薪酬联动 未实现 绩效结果未与薪酬调整、奖金分配关联

10.2 差距分析与建议

需求 现状 建议方案 预算评估
绩效统计看板 新增 /tools/performance-dashboard 页面,展示:等级分布饼图、部门绩效对比柱状图、月度/季度趋势折线图、Top/Bottom 员工排名 🟢 低 — 前端页面 + 1 个聚合 API,复用现有 PerformanceRecord 数据
绩效与薪酬联动 在发薪批次中增加「绩效奖金」列,自动关联最近一期绩效等级,按规则计算奖金系数 🟡 中 — 需扩展 BatchEntry 增加绩效奖金字段 + 计算规则配置
绩效改进追踪 有改进计划字段但无追踪 在绩效记录中增加「改进目标」「完成度」「复评得分」字段,支持改进闭环 🟢 低 — 扩展 PerformanceRecord 模型 + 前端展示

10.3 现有可复用的看板基础设施

基础设施 实现位置 复用方向
Dashboard 数据看板 Dashboard.tsx 绩效看板可复用 Card/图表组件和布局模式
人员统计 API /dashboard/workforce-stats 绩效看板可复用聚合统计 API 模式
年度价值报告 /tools/annual-value 绩效年度汇总可嵌入年度价值报告
图表组件 recharts(已引入) 直接复用饼图/柱状图/折线图

十一、入离职合同签署线上化

11.1 现状

功能项 支持情况 实现位置 说明
入职线上化 已实现 OnboardingLink 模型 + portal.routes.ts HR 生成入职链接 → 员工扫码/点击 → 填写个人信息 → 上传附件(身份证、银行卡等)→ HR 审核
入职附件上传 已实现 portal.routes.ts/onboarding/:token/upload 支持文件上传到 /uploads/onboarding/
入职链接管理 已实现 OnboardingLink.status PENDING → APPROVED/REJECTED/CANCELLED
合同签署线上化 已实现 ContractConfirmLink 模型 + portal.routes.ts HR 发送合同确认链接 → 员工手机验证码验证 → 确认签署 → 记录 IP/时间/验证码为证据
合同签署证据链 已实现 portal.routes.ts 第 295 行 签署确认时自动创建证据链(IP、UserAgent、短信验证码)
合同电子签署 ⚠️ 部分 LaborContract.signMethod 支持 ELECTRONIC 有字段标记但未对接第三方电子签平台(如 e签宝、法大大)
离职线上化 ⚠️ 部分 TerminationRecord 模型 HR 端可发起离职/解聘流程,但员工端无离职申请入口
离职确认 未实现 员工无法在线确认离职/解聘结果

11.2 差距分析与建议

需求 现状 建议方案 预算评估
入职流程完善 已有基础流程 补充:入职信息预览 PDF 导出、入职指南推送、入职材料清单勾选 🟢 低 — 前端增强
合同电子签对接 有签署确认但非真电子签 对接 e签宝/法大大 API,实现具有法律效力的电子签名 🟡 中 — API 对接费用 + 开发量
员工离职申请 员工端门户新增离职申请入口,HR 端审批 🟢 低 — 复用现有门户框架
离职交接清单 离职流程增加交接清单(设备归还、工作交接、文件移交) 🟢 低 — 前端表单 + 后端模型扩展
入离职统计看板 Dashboard 新增入离职趋势图、离职率分析、入职转化率 🟢 低 — 复用 Employee.hireDate + TerminationRecord 数据

11.3 现有入离职线上化流程

入职流程(已实现):
HR 创建员工 → 生成入职链接(OnboardingLink) → 员工扫码填写信息 → 上传附件 → HR 审核 → 创建员工档案

合同签署流程(已实现):
HR 创建合同(LaborContract) → 生成确认链接(ContractConfirmLink) → 员工手机验证码验证 → 确认签署 → 自动生成证据链

离职流程(部分实现):
HR 发起解聘/离职(TerminationRecord) → 计算补偿金 → 记录证据链 → [缺失:员工确认/交接清单]

十二、薪酬核算线上化

12.1 现状

功能项 支持情况 实现位置 说明
薪酬核算 已实现 payroll.service.tscalcBatchEntry() 自动计算:基本工资 + 岗位/绩效/工龄工资 + 各类补贴 + 加班费 - 扣款 → 社保公积金 → 个税 → 实发
社保公积金自动计算 已实现 calcSocialInsurance() + calcHousingFund() 按城市配置比例自动计算企业和个人部分
个税自动计算 已实现 calcCumulativeTax() 累计预扣法,7 级超额累进
年终奖单独计税 已实现 calcBonusTax() 除以 12 找税率 + 速算扣除
多批次发薪 已实现 PayrollBatchType 4 种类型 常规/离职结算/年终奖/补偿金按月
薪酬模板 已实现 PayslipItem 模型 支持自定义薪资项和计算公式
工资条在线发放 已实现 Payslip.status PENDING→PUBLISHED 支持定时发送、员工端确认
工资条员工确认 已实现 Payslip.confirmedAt 员工查看并确认工资条
Excel 导入工资 已实现 /import/payroll 支持批量导入工资数据
薪税汇总导出 已实现 /export/payroll 导出月度薪税汇总 Excel
个税预览 已实现 /payroll/tax-preview 输入薪资项实时预览个税
个税跳档预警 已实现 payroll.service.ts 第 544 行 归档时检测个税异常波动
计件/计时工资 未实现 无相关字段和计算逻辑

12.2 差距分析

需求 现状 差距
薪酬核算线上化 已基本实现 用户可能未充分了解现有功能
计件/计时工资 未实现 需扩展数据模型和计算逻辑
薪酬分析看板 缺少薪酬分布、薪酬趋势、部门薪酬对比等分析
调薪记录追踪 SalaryChangeRecord 但缺少调薪审批流和调薪建议

十三、个税申报线上化

13.1 现状

功能项 支持情况 实现位置 说明
个税计算 已实现 calcCumulativeTax() 累计预扣法,支持 7 级超额累进
个税预览 已实现 /payroll/tax-preview 实时预览个税明细
个税累计数据 已实现 Payslip.ytdTaxDeducted 年度累计已扣税额
个税申报提醒 已实现 risk.service.ts 第 408 行 每月个税申报日提醒
个税申报日配置 已实现 NotificationSetting.taxDay 可配置每月申报截止日
个税申报报表 未实现 无个税申报表导出(自然人电子税务局格式)
个税批量申报 未实现 未对接税务系统 API
专项附加扣除导入 已实现 /import/special-deduction 支持批量导入

13.2 差距分析与建议

需求 现状 建议方案 预算评估
个税申报表导出 生成「个人所得税申报表」Excel,格式对齐自然人电子税务局模板 🟢 低 — 后端新增 1 个导出接口
个税年度汇算提示 每年 3-6 月提示员工进行年度汇算清缴 🟢 低 — 定时任务 + 通知
个税申报数据校验 导出前自动校验:身份证号完整性、累计数据一致性 🟢 低 — 校验逻辑
对接税务系统 调用自然人电子税务局 API 实现在线申报 🔴 高 — 需税务系统授权 + API 对接,成本高

13.3 个税申报线上化实施路径

阶段一(低成本,立即可做):
  ✅ 个税自动计算 → 已实现
  ✅ 个税申报日提醒 → 已实现
  📋 个税申报表 Excel 导出 → 新增导出接口,对齐税务局模板格式

阶段二(中等成本):
  📋 个税申报数据校验 → 导出前自动校验数据完整性
  📋 个税年度汇算提醒 → 每年 3 月推送汇算通知

阶段三(高成本,远期规划):
  📋 对接自然人电子税务局 API → 在线批量申报(需获取税务系统授权)

十四、综合分析与实施建议

14.1 功能成熟度矩阵

功能领域 计算能力 线上化程度 分析看板 申报对接 综合评分
薪酬核算 4/5
个税 3/5
入职 3.5/5
合同签署 3.5/5
离职 3/5
绩效 1.5/5
社保 3/5

14.2 低预算优先实施清单

优先级 功能项 预算 预期效果
P0 个税申报表 Excel 导出 🟢 HR 可直接用导出表去税务局申报,免去手工整理
P0 入离职统计看板 🟢 Dashboard 新增入离职趋势、离职率,管理层一目了然
P0 绩效统计看板 🟢 新增绩效分布、部门对比、趋势分析页面
P1 员工离职申请入口 🟢 员工端门户新增离职申请,完善离职线上化
P1 薪酬分析看板 🟢 薪酬分布、部门薪酬对比、人均成本趋势
P1 离职交接清单 🟢 离职流程增加交接确认步骤
P2 合同电子签对接 🟡 对接 e签宝/法大大,实现法律效力电子签
P2 个税申报数据校验 🟢 导出前校验数据完整性
P3 对接税务系统在线申报 🔴 实现个税全流程线上化

14.3 实施建议总结

核心结论:系统在薪酬核算和个税计算方面已具备完整的线上化能力,用户反馈"无法实现个税自动算税"可能是操作不熟练导致。当前最大的短板在于缺乏统计分析看板个税申报报表导出

低成本高收益的 3 件事

  1. 个税申报表导出1-2 天开发量)— 新增 /export/tax-declaration?month=YYYY-MM 接口,导出格式对齐自然人电子税务局模板,包含:员工姓名、身份证号、应发工资、社保扣除、公积金扣除、专项附加扣除、应纳税所得额、税率、速算扣除数、已预扣税额、本月应扣税额
  2. 入离职统计看板2-3 天开发量)— Dashboard 新增「人员流动」卡片:本月入职人数、离职人数、离职率趋势图(近 12 个月)、部门离职分布
  3. 绩效统计看板2-3 天开发量)— 新增 /tools/performance-dashboard 页面:绩效等级分布饼图、部门绩效均分对比柱状图、月度/季度趋势折线图、Top 10 / Bottom 10 员工排名

以上 3 项均复用现有数据和基础设施,无需新增数据模型,开发成本低,用户感知提升明显。