WHMS 实现企微HR主数据镜像同步
这个提交包含在:
@@ -622,6 +622,8 @@ model Employee {
|
||||
wecom_checkin_sync_runs WecomCheckinSyncRun[] @relation("WecomCheckinSyncRunTrigger")
|
||||
wecom_directory_sync_runs WecomDirectorySyncRun[] @relation("WecomDirectorySyncRunEmployee")
|
||||
triggered_wecom_directory_sync_runs WecomDirectorySyncRun[] @relation("WecomDirectorySyncRunTrigger")
|
||||
wecom_hr_master_sync_items WecomHrMasterSyncItem[] @relation("WecomHrMasterSyncItemEmployee")
|
||||
triggered_wecom_hr_master_sync_runs WecomHrMasterSyncRun[] @relation("WecomHrMasterSyncRunTrigger")
|
||||
attendance_corrections AttendanceCorrection[]
|
||||
owned_cost_centers CostCenter[] @relation("CostCenterOwner")
|
||||
purchase_requests_applicant PurchaseRequest[] @relation("PurchaseRequestApplicant")
|
||||
@@ -2112,6 +2114,57 @@ model WecomIdentityBinding {
|
||||
@@map("wecom_identity_bindings")
|
||||
}
|
||||
|
||||
model WecomHrMasterSyncRun {
|
||||
id String @id @default(uuid()) @db.Uuid
|
||||
mode String @db.VarChar(16)
|
||||
status String @default("running") @db.VarChar(24)
|
||||
token_source Json?
|
||||
requested_userids Json?
|
||||
limit Int?
|
||||
summary Json?
|
||||
error_code String? @db.VarChar(80)
|
||||
error_message String?
|
||||
triggered_by String? @db.Uuid
|
||||
started_at DateTime @default(now())
|
||||
finished_at DateTime?
|
||||
|
||||
created_at DateTime @default(now())
|
||||
updated_at DateTime @default(now()) @updatedAt
|
||||
|
||||
trigger Employee? @relation("WecomHrMasterSyncRunTrigger", fields: [triggered_by], references: [id], onDelete: SetNull)
|
||||
items WecomHrMasterSyncItem[]
|
||||
|
||||
@@index([status, created_at], map: "idx_wecom_hr_master_sync_runs_status_created")
|
||||
@@index([mode, created_at], map: "idx_wecom_hr_master_sync_runs_mode_created")
|
||||
@@index([triggered_by], map: "idx_wecom_hr_master_sync_runs_triggered_by")
|
||||
@@map("wecom_hr_master_sync_runs")
|
||||
}
|
||||
|
||||
model WecomHrMasterSyncItem {
|
||||
id String @id @default(uuid()) @db.Uuid
|
||||
run_id String @db.Uuid
|
||||
employee_id String? @db.Uuid
|
||||
external_user_id_masked String @db.VarChar(80)
|
||||
action String @db.VarChar(32)
|
||||
status String @db.VarChar(24)
|
||||
error_code String? @db.VarChar(80)
|
||||
error_message String?
|
||||
retry_count Int @default(0)
|
||||
field_changes Json?
|
||||
source_summary Json?
|
||||
|
||||
created_at DateTime @default(now())
|
||||
updated_at DateTime @default(now()) @updatedAt
|
||||
|
||||
run WecomHrMasterSyncRun @relation(fields: [run_id], references: [id], onDelete: Cascade)
|
||||
employee Employee? @relation("WecomHrMasterSyncItemEmployee", fields: [employee_id], references: [id], onDelete: SetNull)
|
||||
|
||||
@@index([run_id, status], map: "idx_wecom_hr_master_sync_items_run_status")
|
||||
@@index([employee_id, created_at], map: "idx_wecom_hr_master_sync_items_employee_created")
|
||||
@@index([action, status], map: "idx_wecom_hr_master_sync_items_action_status")
|
||||
@@map("wecom_hr_master_sync_items")
|
||||
}
|
||||
|
||||
model Project {
|
||||
id String @id @default(uuid()) @db.Uuid
|
||||
project_no String @unique
|
||||
|
||||
在新工单中引用
屏蔽一个用户