freedakgmail
|
f1c72f3eb0
|
feat: 完成优化-4全部任务 + 多城市社保 + pgvector修复
- AIAssistant: 会话历史保存/加载/删除,风险预测支持范围筛选,审查结果保存到员工档案
- Dashboard: 待办批量操作,风险分布可下钻,刷新按钮Tab级联,薪税tab导出Excel
- SocialInsurance: 多城市社保/公积金配置支持,城市选择器
- Roster: 新增参保城市字段
- risk.service: 修复风险项去重逻辑(用employeeId:type:actionUrl替代含动态天数的title)
- payroll.routes: 修复OvertimeRecord/Payslip字段名错误
- pgvector: 从源码编译安装x86_64版本兼容postgresql@15
- 优化-4文档: 全部8项标记为已完成
|
2026-07-24 07:04:08 +08:00 |
|
freedakgmail
|
559a567b9b
|
feat: idCardHash匹配、Roster分页过滤、社保基数调整修复、Modal size支持、Termination版本对比、UI优化
|
2026-07-23 23:26:10 +08:00 |
|
freedakgmail
|
32a57873cf
|
feat: 月度增减员改为月度办理,增加正常在保人员展示
|
2026-07-23 20:29:08 +08:00 |
|
freedakgmail
|
4f125d309b
|
feat: 社保公积金独立配置+版本化缴费记录+月度增减员+补偿金批次
- Schema: 拆分社保/公积金配置,新增EmployeeSocialInsRecord/EmployeeHousingFundRecord/DepartmentRecord模型,扩展SalaryChangeRecord,增加SEVERANCE批次类型
- 后端: createEmployee/rehireEmployee接收社保公积金字段并创建缴费记录版本;createTermination/createResignation接收截止年月并关闭缴费记录;调薪/调部门API+版本记录;月度增减员API;公积金独立CRUD/计算/调基;SEVERANCE批次calcBatchEntry
- 前端: AddEmployeeModal/RehireModal增加社保公积金输入;ResignModal/Termination增加截止年月+日期不一致提醒;花名册增加调薪/调部门弹窗;SocialInsurance.tsx Tab拆分(社保/公积金/月度增减员)+CSV导出;Money.tsx增加补偿金批次类型
- 修复: seed.ts移除housingOrg/housingEmp;risk.service.ts从HousingFundConfig获取公积金费率
|
2026-07-23 20:02:59 +08:00 |
|
freedakgmail
|
ad6800b63c
|
feat: 预入职状态+入职手续待办
1. 花名册动态状态:hireDate > today 显示「预入职」(蓝色标签)
2. RiskType 增加 ONBOARDING 枚举
3. 新增 detectOnboardingRisks:入职日期到但未签合同→生成待办
4. detectContractRisks 排除预入职员工(未到入职日期不检查合同)
5. Dashboard 风险提醒 tab 支持 ONBOARDING 待办类型
6. 前端类型定义同步更新
|
2026-07-23 18:45:59 +08:00 |
|
freedakgmail
|
c439097319
|
优化: 重新入职提示文字精简为一行
|
2026-07-23 18:40:22 +08:00 |
|
freedakgmail
|
5b1953176f
|
优化: 重新入职部门可修改
|
2026-07-23 18:36:12 +08:00 |
|
freedakgmail
|
eb58bc4b09
|
优化: 合同开始日期随入职日期自动同步
1. 添加员工和重新入职:入职日期变更时自动同步合同开始日期和结束日期
2. 合同开始日期改为只读显示(始终等于入职日期)
3. 花名册列表增加离职日期列:已离职显示日期,待离职显示预计日期
4. 重新入职弹窗对齐添加员工:移除孕期/医疗期/工伤,合同双向计算,试用期校验
5. 后端 rehireEmployee 重置特殊状态为 false
|
2026-07-23 18:34:12 +08:00 |
|
freedakgmail
|
dad43931cf
|
优化: 重新入职弹窗对齐+花名册增加离职日期列
1. 重新入职弹窗:移除孕期/医疗期/工伤,缺省日期=今天,合同双向计算,试用期校验
2. 花名册列表增加「离职日期」列:已离职显示日期,待离职显示预计日期(amber)
3. 后端 rehireEmployee 重置特殊状态为 false
|
2026-07-23 18:30:21 +08:00 |
|
freedakgmail
|
0dd5a26afa
|
优化: 重新入职弹窗对齐添加员工
1. 移除孕期/医疗期/工伤复选框(重新入职自动重置为false)
2. 缺省入职日期和合同开始日期为今天,默认3年合同结束日期
3. 签约时长与合同结束日期双向自动计算
4. 试用期长度按劳动合同法校验+试用期工资必填及80%校验
5. 试用期工资校验使用员工已有月工资作为基准
|
2026-07-23 18:29:31 +08:00 |
|
freedakgmail
|
8283b538e5
|
优化: 添加员工弹窗-身份证号必填+性别自动识别
1. 身份证号必填(18位),后端加密存储
2. 性别由身份证号第17位自动计算(奇数=男,偶数=女),无需手动选择
3. 移除添加员工时的孕期/医疗期/工伤复选框(这些状态后续在员工档案中维护)
|
2026-07-23 18:25:37 +08:00 |
|
freedakgmail
|
43186d3dd8
|
优化: 添加员工弹窗合同和试用期智能计算
1. 缺省入职日期和合同开始日期为今天,签订日期默认空(留空表示尚未签订)
2. 签约时长与合同结束日期双向自动计算:改年限→算结束日期,改结束日期→算年限
3. 开始日期变更时自动重算结束日期
4. 试用期长度按劳动合同法第19条校验(3月以下不得约定,1年以下≤1月,3年以下≤2月,3年以上≤6月)
5. 有试用期时试用期工资必填,且不得低于转正工资80%(劳动合同法第20条)
6. 校验不通过时禁止保存并显示错误提示
|
2026-07-23 18:22:29 +08:00 |
|
freedakgmail
|
1eeca663a0
|
feat: 已离职/解聘员工可重新入职
1. 后端新增 rehireEmployee 函数和 POST /employees/:id/rehire 接口
2. 校验:仅已离职员工可重新入职,新入职日期须晚于上次离职日期
3. 复用员工已有基本信息,只需填写新入职日期和劳动合同
4. 前端花名册已离职员工显示「重新入职」按钮+弹窗(RehireModal)
|
2026-07-23 18:11:01 +08:00 |
|
freedakgmail
|
2896ba77aa
|
feat: 区分待解聘/待离职+撤回功能
1. 花名册列表区分「待解聘」(amber)和「待离职」(blue)
2. 未到日期的解聘/离职记录可撤回,撤回后删除记录并恢复在职状态
3. 后端新增 DELETE /termination/:id/revoke 接口
4. 花名册列表返回 latestTerminationType 和 latestTerminationId
|
2026-07-23 18:07:37 +08:00 |
|
freedakgmail
|
29ba3a98bc
|
feat: 离职/解聘完整功能
1. 已有离职/解聘记录的员工不能再次解聘(后端校验+前端提示)
2. 员工主动离职功能:花名册列表增加「离职」操作按钮和弹窗
3. 离职也按离职日期动态判断在职/离职状态,支持提前办理
4. 员工档案「解聘记录」tab改为「离职/解聘记录」,区分类型显示
5. Schema: TerminationRecord 增加 type、resignationReason 字段
6. 后端新增 POST /termination/resignation 接口
7. 花名册列表返回 hasTermination 标记
|
2026-07-23 17:31:27 +08:00 |
|
freedakgmail
|
b95676cb46
|
feat: 解聘补偿增加「模拟计算」按钮 — 只计算不实际保存
- Step 4 费用结算增加「模拟计算」按钮
- 点击后计算补偿金并暂存到右侧列表,重置向导
- 不调用保存接口,不创建解聘记录
- 「确认保存」仍走原有流程保存到后端
|
2026-07-23 17:08:09 +08:00 |
|
freedakgmail
|
64cfb2f464
|
feat: 解聘补偿左右分栏 — 左侧向导计算,右侧暂存多人补偿合计
- 左侧保持原有5步向导不变
- 右侧暂存列表:保存成功后自动添加,显示每人补偿金/代通知金/双倍工资/合计
- 底部汇总:多人补偿金/代通知金/双倍工资/总计
- 支持单条删除和清空全部
- 移动端隐藏右侧(hidden md:block)
|
2026-07-23 17:06:13 +08:00 |
|
freedakgmail
|
e4dae72411
|
refactor: 「解聘」改为「解聘补偿」
|
2026-07-23 16:59:23 +08:00 |
|
freedakgmail
|
1b05facc92
|
feat: 解聘Step3合规检查增强 — 系统自动预填+建议
后端:
- getChecklistForReason 接收 employee 数据,支持自动检查
- 医疗期是否届满:根据 isInMedicalPeriod 自动判断
- 是否经过培训/调岗:根据 trainingRecords 自动判断
- 经济补偿金/代通知金:系统给建议(suggestion + suggestionType)
- checklist 接口改为 async,获取员工 profile 传入
前端:
- checklist 查询传入 employeeId
- useEffect 自动预填系统判断结果到 checklist state
- Step 3 UI 重写:显示系统判断标签、来源说明、建议提示
- 建议按类型显示不同颜色(warning/required/info)
|
2026-07-23 16:56:28 +08:00 |
|
freedakgmail
|
fa7aa01c48
|
refactor: 社保公积金从薪税tab移至顶层导航,放在薪税和解聘之间
- 新建 SocialInsurance.tsx 独立页面
- App.tsx 添加 /social 路由
- TopNav/MobileTabBar 添加社保公积金导航项
- Money.tsx 移除 social tab 和 SocialInsuranceCalculator 函数
|
2026-07-23 16:48:10 +08:00 |
|
freedakgmail
|
c618710a52
|
feat: 社保公积金版本管理 + 员工基数调整 + 加班费计算优化 + UI组件改进
- SocialInsuranceConfig 版本化(effectiveFrom/effectiveTo/isCurrent/adjustmentDone)
- 社保配置版本管理接口(列表/新建/按月获取/当前版本)
- 员工基数调整:预览全部在职员工、上年月均工资计算建议基数、可编辑表格、确认后批量保存
- payroll.service 按批次月份匹配对应版本社保配置
- risk.service / seed.ts 同步更新
- 前端社保tab重构为版本管理+调整+试算
- 加班费计算三步流程、CSV导入、批次导入
- UI组件、Dashboard、合同、薪酬等页面优化
|
2026-07-23 16:32:46 +08:00 |
|
freedakgmail
|
2a09d31ccc
|
feat: 分页组件、Dashboard待办图标、归档与工资条解耦、总览数据优化
- 新增公用 Pagination 组件,Roster/Money/Dashboard 列表加分页
- Dashboard 待办按类型显示不同图标(合同/薪资/解聘/月度)
- 待办分为「风险提醒」「月度任务」两个顶层 tab
- 归档与工资条生成解耦:归档只锁定批次,工资条单独生成
- 工资条管理新增「从批次汇总生成」按钮
- Dashboard 总览优先从已归档批次 BatchEntry 汇总数据
- 新增工资条生成待办提醒,生成后自动标记完成
- 修复高风险统计只含 CONTRACT/TERMINATION 类型
- 修复月度任务去重逻辑覆盖 SALARY 类型
|
2026-07-23 13:42:28 +08:00 |
|
freedakgmail
|
820579e98d
|
init: AI HR Compliance Assistant
|
2026-07-23 12:34:43 +08:00 |
|