fix: 创建员工时从身份证解析性别和出生日期

- contract.service.ts createEmployee: gender 为空时从身份证第17位解析,birthDate 从第7-14位提取
- portal.routes.ts GET /profile: gender/birthDate 为空时从身份证 fallback 解析
- gender 统一使用中文 男/女(与数据库和其他服务一致)
- 前端 MyProfile.tsx 性别显示适配中文
This commit is contained in:
freedakgmail
2026-08-17 19:04:22 +08:00
parent a6189d209d
commit 4eb882b1e2
3 changed files with 23 additions and 4 deletions
+2 -1
View File
@@ -410,12 +410,13 @@ export async function createEmployee(orgId: string, userId: string, data: any) {
monthlySalary: encrypt(data.monthlySalary),
baseSalary: encrypt(String(baseSalaryNum)),
performanceSalary: encrypt(String(performanceSalaryNum)),
gender: data.gender,
gender: data.gender || (data.idCardNumber ? extractGenderFromIdCard(data.idCardNumber) : null),
femaleWorkerType: data.femaleWorkerType,
phone: data.phone,
passwordHash,
idCardNumber: data.idCardNumber ? encrypt(data.idCardNumber) : null,
idCardHash: data.idCardNumber ? sha256(data.idCardNumber) : null,
birthDate: data.idCardNumber ? extractBirthDateFromIdCard(data.idCardNumber) : null,
isPregnant: data.isPregnant || false,
isInMedicalPeriod: data.isInMedicalPeriod || false,
isWorkInjured: data.isWorkInjured || false,