fix(hrm/system): 修复调岗申请与提交报错、公积金误扣、用户搜索,新增核算批量删除
一、调岗申请报错修复
1. 新增报错:hrm_transfer_application.current_dept_id / current_post_id 为 NOT NULL 无默认值,
而客户 133 个员工全部未配置岗位(hrm_employee.post_id 为 NULL),
insert 报 "Field 'current_post_id' doesn't have a default value"。
改为允许 NULL(原部门/原岗位是申请快照,员工未配置时为空合理),目标字段仍必填。
2. 提交报错:submit 接口的 processDefinitionKey 为必填,但前端只传 id,
导致 Spring 参数缺失 → 500 系统异常。改为可选,不传时自动取
「调动审批(hrm_transfer_approve)」分类下最新活跃流程。
3. 撤销报错:前端「撤销」调用的 /hrm/transfer/cancel 后端不存在 → 404。
补端点:校验审批中 → 取消 BPM 流程实例 → 状态置为已撤销。
二、薪资核算
1. 公积金误扣:原来方案未配置公积金比例时会回退默认 12%,
且员工档案无公积金基数时回退基本工资 → 「公司没交公积金却扣了钱」。
改为必须「方案比例 > 0」且「员工公积金基数 > 0」才扣款,否则为 0。
2. 新增批量删除:DELETE /delete-batch?ids=,不限制状态(全选后一键删)。
三、用户搜索(流程模型 - 发起选择人)
UserPageReqVO 新增 keyword,AdminUserMapper 按「账号 OR 姓名」模糊匹配。
原来只支持 username(登录账号),输入中文姓名搜不到。
SQL:hrm_transfer_application_nullable_current.sql(幂等)
实测(mom-zyjc):
- 调岗 create → code 0;submit(不传 key)→ code 0 且生成流程实例;cancel 仅审批中可撤销 ✔
- 核算 2026-12 共 133 条:公积金扣款 0 条、社保扣款 133 条 ✔
- 批量删除 2 条(含已发放状态)→ 删除成功,不存在的 id 返回 0 ✔
- keyword=刘 → 刘卫/刘梦缘/刘占昌;keyword=刘卫 → 1 条;keyword=手机号 → 1 条 ✔