fix: 身份证号必填+去重+报告按姓名兜底

- 后端 createEmployeeSchema 加 idCardNumber 必填18位校验
- 后端 updateEmployeeSchema 加 idCardNumber 可选编辑
- updateEmployee 支持编辑身份证号,自动生成 hash/生日/性别
- Excel 导入时身份证号必填,为空跳过
- 年度价值报告去重 key 改为 idCardHash > name > employeeId 兜底
This commit is contained in:
selfrelease
2026-07-31 09:24:44 +08:00
parent 57587dd5ed
commit f5a03f82bc
4 changed files with 15 additions and 2 deletions
+2 -2
View File
@@ -1674,8 +1674,8 @@ export async function getAnnualValueReport(orgId: string, year: number) {
}
for (const r of employeeRiskDetails) {
// 按身份证号分组,无身份证号时回退到 employeeId
const personKey = r.employee?.idCardHash || r.employeeId || '_unknown'
// 去重优先级:身份证号 > 姓名回退到姓名,避免同一人多条 Employee 记录被重复计算
const personKey = r.employee?.idCardHash || r.employee?.name || r.employeeId || '_unknown'
if (!personBreakdown[personKey]) {
personBreakdown[personKey] = {
personKey,