实现制度签收轻量回执(05-28-oa-policy-acknowledgement-v1)

这个提交包含在:
2026-05-28 11:48:37 +08:00
父节点 7c5b6d9578
当前提交 c80d9adbcd
共修改 16 个文件,包含 1806 行新增和 78 行删除
+37 -8
查看文件
@@ -683,6 +683,8 @@ model Employee {
email_login_codes EmailLoginCode[]
lifecycle_events EmployeeLifecycleEvent[]
checklist_tasks EmployeeChecklistTask[]
portal_announcement_acknowledgements PortalAnnouncementAcknowledgement[] @relation("PortalAnnouncementAcknowledgementEmployee")
portal_announcement_acknowledgement_actions PortalAnnouncementAcknowledgement[] @relation("PortalAnnouncementAcknowledgementActor")
presence_records EmployeePresence[]
attendance_records AttendanceRecord[]
weekly_reports WeeklyReport[]
@@ -1876,24 +1878,51 @@ model PaymentBatchReceiptAttachment {
}
model PortalAnnouncement {
id String @id @default(uuid()) @db.Uuid
title String
summary String
link_url String?
starts_at DateTime?
ends_at DateTime?
enabled Boolean @default(true)
priority Int @default(100)
id String @id @default(uuid()) @db.Uuid
title String
summary String
link_url String?
starts_at DateTime?
ends_at DateTime?
enabled Boolean @default(true)
priority Int @default(100)
category String @default("general")
requires_acknowledgement Boolean @default(false)
acknowledgement_statement String?
acknowledgement_due_at DateTime?
created_at DateTime @default(now())
created_by String? @db.Uuid
updated_at DateTime @default(now()) @updatedAt
updated_by String? @db.Uuid
acknowledgements PortalAnnouncementAcknowledgement[]
@@index([enabled, priority, starts_at, ends_at], map: "idx_portal_announcements_enabled_priority")
@@map("portal_announcements")
}
model PortalAnnouncementAcknowledgement {
id String @id @default(uuid()) @db.Uuid
announcement_id String @db.Uuid
employee_id String @db.Uuid
acknowledged_at DateTime @default(now())
statement_snapshot String
title_snapshot String
summary_snapshot String
actor_id String @db.Uuid
created_at DateTime @default(now())
announcement PortalAnnouncement @relation(fields: [announcement_id], references: [id], onDelete: Cascade)
employee Employee @relation("PortalAnnouncementAcknowledgementEmployee", fields: [employee_id], references: [id], onDelete: Restrict)
actor Employee @relation("PortalAnnouncementAcknowledgementActor", fields: [actor_id], references: [id], onDelete: Restrict)
@@unique([announcement_id, employee_id])
@@index([employee_id, acknowledged_at])
@@index([announcement_id, acknowledged_at])
@@map("portal_announcement_acknowledgements")
}
model WorkspaceSetting {
id String @id @default(uuid()) @db.Uuid
profile WorkspaceProfile @default(small_team_internal)