Selaa lähdekoodia

fix: 修复残疾证号字段显示问题

- 在类型定义中添加 disabilityId 和 idAddress 字段
- 在 schema 中添加对应的字段定义和描述
- 在 disabled-person 服务 SQL 查询中返回 disabilityId 和 idAddress
- 修复前端人才详情页残疾证号显示逻辑,从使用 disabilityType/disabilityLevel 改为使用正确的 disabilityId 字段
- 修复前端人才详情页身份证地址显示逻辑,从使用固定值改为使用返回的 idAddress 字段

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
yourname 1 viikko sitten
vanhempi
sitoutus
0cfa604bfa

+ 3 - 0
allin-packages/disability-module/src/routes/person-extension.types.ts

@@ -93,6 +93,7 @@ export type CompanyPersonListItem = {
   name: string;
   gender: string;
   idCard: string;
+  disabilityId: string;
   disabilityType: string;
   disabilityLevel: string;
   phone: string | null;
@@ -150,8 +151,10 @@ export type CompanyPersonDetail = {
   name: string;
   gender: string;
   idCard: string;
+  disabilityId: string;
   disabilityType: string;
   disabilityLevel: string;
+  idAddress: string;
   birthDate: string | null;
   salaryDetail: number | null;
   phone: string | null;

+ 12 - 0
allin-packages/disability-module/src/schemas/person-extension.schema.ts

@@ -181,6 +181,10 @@ export const CompanyPersonListItemSchema = z.object({
     description: '身份证号',
     example: '330102199001011234'
   }),
+  disabilityId: z.string().openapi({
+    description: '残疾证号',
+    example: 'CJZ20240001'
+  }),
   disabilityType: z.string().openapi({
     description: '残疾类型',
     example: '肢体残疾'
@@ -296,6 +300,10 @@ export const CompanyPersonDetailSchema = z.object({
     description: '身份证号',
     example: '330102199001011234'
   }),
+  disabilityId: z.string().openapi({
+    description: '残疾证号',
+    example: 'CJZ20240001'
+  }),
   disabilityType: z.string().openapi({
     description: '残疾类型',
     example: '肢体残疾'
@@ -304,6 +312,10 @@ export const CompanyPersonDetailSchema = z.object({
     description: '残疾等级',
     example: '二级'
   }),
+  idAddress: z.string().openapi({
+    description: '身份证地址',
+    example: '北京市东城区'
+  }),
   birthDate: z.coerce.date().nullable().openapi({
     description: '出生日期',
     example: '1990-01-01T00:00:00.000Z'

+ 5 - 1
allin-packages/disability-module/src/services/disabled-person.service.ts

@@ -575,6 +575,7 @@ export class DisabledPersonService extends GenericCrudService<DisabledPerson> {
       'person.name as name',
       'person.gender as gender',
       'person.idCard as idCard',
+      'person.disabilityId as disabilityId',
       'person.disabilityType as disabilityType',
       'person.disabilityLevel as disabilityLevel',
       'person.phone as phone',
@@ -584,7 +585,7 @@ export class DisabledPersonService extends GenericCrudService<DisabledPerson> {
       'MAX(op.workStatus) as workStatus', // 获取最新工作状态
       'order.orderName as orderName'
     ])
-      .groupBy('person.id, person.name, person.gender, person.idCard, person.disabilityType, person.disabilityLevel, person.phone, person.birth_date, order.orderName');
+      .groupBy('person.id, person.name, person.gender, person.idCard, person.disabilityId, person.disabilityType, person.disabilityLevel, person.phone, person.birth_date, order.orderName');
 
     // 按最新入职日期排序
     queryBuilder.orderBy('latestJoinDate', 'DESC');
@@ -609,6 +610,7 @@ export class DisabledPersonService extends GenericCrudService<DisabledPerson> {
         name: row.name,
         gender: row.gender,
         idCard: row.idcard,
+        disabilityId: row.disabilityid,
         disabilityType: row.disabilitytype,
         disabilityLevel: row.disabilitylevel,
         phone: row.phone,
@@ -690,8 +692,10 @@ export class DisabledPersonService extends GenericCrudService<DisabledPerson> {
       name: person.name,
       gender: person.gender,
       idCard: person.idCard,
+      disabilityId: person.disabilityId,
       disabilityType: person.disabilityType,
       disabilityLevel: person.disabilityLevel,
+      idAddress: person.idAddress,
       birthDate: person.birthDate,
       salaryDetail: latestOrderPerson?.salaryDetail || null,
       phone: person.phone,

+ 2 - 2
mini-ui-packages/yongren-talent-management-ui/src/pages/TalentDetail/TalentDetail.tsx

@@ -47,8 +47,8 @@ const TalentDetail: React.FC<TalentDetailProps> = () => {
         // 兼容字段映射 - 使用实际存在的字段
         salary: 0, // 薪资字段不存在,使用默认值0
         joinDate: undefined, // 入职日期字段不存在
-        disabilityId: data.disabilityType || data.disabilityLevel || '未提供', // 使用残疾类型或等级
-        idAddress: '未提供', // 地址字段不存在
+        disabilityId: data.disabilityId || '未提供', // 残疾证号
+        idAddress: data.idAddress || '未提供', // 身份证地址
         phone: data.phone || '未提供'
       }
     },