From 0ea069cd571fe686d00d7648859ac6772851dd26 Mon Sep 17 00:00:00 2001 From: freedakgmail Date: Mon, 17 Aug 2026 21:00:08 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E9=80=80=E4=BC=91=E6=A3=80=E6=B5=8B?= =?UTF-8?q?=E6=8E=92=E9=99=A4=E5=8A=B3=E5=8A=A1=E5=8D=8F=E8=AE=AE=E7=AD=89?= =?UTF-8?q?=E9=9D=9E=E5=8A=B3=E5=8A=A8=E5=90=88=E5=90=8C=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit detectRetirementRisks 和日历退休日期查询均增加 contracts 过滤, 只检测 FIXED/UNFIXED 正式劳动合同员工,与 updateEmployeesRetirementDays 一致 --- backend/src/services/risk.service.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/backend/src/services/risk.service.ts b/backend/src/services/risk.service.ts index 1db0ab4..7a2ff0d 100644 --- a/backend/src/services/risk.service.ts +++ b/backend/src/services/risk.service.ts @@ -488,7 +488,7 @@ export async function detectMonthlyTasks(orgId: string) { */ export async function detectRetirementRisks(orgId: string) { const employees = await prisma.employee.findMany({ - where: { orgId, status: 'ACTIVE', birthDate: { not: null } }, + where: { orgId, status: 'ACTIVE', birthDate: { not: null }, contracts: { some: { contractType: { in: ['FIXED', 'UNFIXED'] } } } }, select: { id: true, name: true, gender: true, birthDate: true, femaleWorkerType: true }, }) @@ -1204,12 +1204,13 @@ export async function getMonthlyCalendar(orgId: string, month: string) { }) } - // 6. 退休日期 + // 6. 退休日期(仅正式劳动合同员工) const retiringEmployees = await prisma.employee.findMany({ where: { orgId, status: 'ACTIVE', retirementDaysLeft: { gte: 0, lte: 365 }, + contracts: { some: { contractType: { in: ['FIXED', 'UNFIXED'] } } }, }, }) for (const emp of retiringEmployees) {