fix(c1): elder 建档日期字段转 Date 落库(修复 50000)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
0cbdb7f825
commit
a949acbc3b
@ -132,7 +132,7 @@ describe('ElderService', () => {
|
||||
});
|
||||
});
|
||||
|
||||
it('create 待遇有效期覆盖今天 → treatStatus = active,且出生日期由身份证带出', async () => {
|
||||
it('create 待遇有效期覆盖今天 → treatStatus = active,且出生日期由身份证带出为 Date', async () => {
|
||||
const { service, elderCreate } = makeService();
|
||||
|
||||
await runWithRequestContext(ctx, () =>
|
||||
@ -140,7 +140,35 @@ describe('ElderService', () => {
|
||||
);
|
||||
|
||||
expect(elderCreate).toHaveBeenCalledWith({
|
||||
data: expect.objectContaining({ treatStatus: 'active', birthDate: '1990-01-01' }),
|
||||
data: expect.objectContaining({ treatStatus: 'active', birthDate: expect.any(Date) }),
|
||||
});
|
||||
});
|
||||
|
||||
it('合法建档(含日期字段)成功创建,日期字段转为 Date', async () => {
|
||||
const { service, elderCreate } = makeService();
|
||||
|
||||
await runWithRequestContext(ctx, () =>
|
||||
service.createElder({
|
||||
...baseDto,
|
||||
benefitStart: '2025-01-01',
|
||||
benefitEnd: '2025-12-31',
|
||||
assessDate: '2025-01-15',
|
||||
insurVerifyDate: '2025-01-10',
|
||||
hospStart: '2025-02-01',
|
||||
hospEnd: '2025-02-05',
|
||||
}),
|
||||
);
|
||||
|
||||
expect(elderCreate).toHaveBeenCalledWith({
|
||||
data: expect.objectContaining({
|
||||
birthDate: expect.any(Date),
|
||||
benefitStart: expect.any(Date),
|
||||
benefitEnd: expect.any(Date),
|
||||
assessDate: expect.any(Date),
|
||||
insurVerifyDate: expect.any(Date),
|
||||
hospStart: expect.any(Date),
|
||||
hospEnd: expect.any(Date),
|
||||
}),
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
@ -52,6 +52,12 @@ function resolveInitialStatus(benefitStart?: string, benefitEnd?: string): strin
|
||||
return 'waiting_period';
|
||||
}
|
||||
|
||||
/** YYYY-MM-DD → 本地零点 Date(供 Prisma DateTime @db.Date 列写入);空值返回 undefined。 */
|
||||
function toDateOnly(v?: string): Date | undefined {
|
||||
if (!v) return undefined;
|
||||
return new Date(`${v}T00:00:00`);
|
||||
}
|
||||
|
||||
/**
|
||||
* 老人档案(elder)业务服务。elder 是租户级软删模型,读写经 Prisma 扩展自动注入
|
||||
* tenantCode / deletedAt 过滤;创建时 tenantCode/createdBy 由 BaseCrudService 注入。
|
||||
@ -101,9 +107,15 @@ export class ElderService extends BaseCrudService {
|
||||
return super.create({
|
||||
...dto,
|
||||
idCardNo,
|
||||
birthDate,
|
||||
birthDate: toDateOnly(birthDate),
|
||||
treatStatus,
|
||||
statusSource: 'manual',
|
||||
benefitStart: toDateOnly(dto.benefitStart),
|
||||
benefitEnd: toDateOnly(dto.benefitEnd),
|
||||
assessDate: toDateOnly(dto.assessDate),
|
||||
insurVerifyDate: toDateOnly(dto.insurVerifyDate),
|
||||
hospStart: toDateOnly(dto.hospStart),
|
||||
hospEnd: toDateOnly(dto.hospEnd),
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user