fix: 退回报销支持留痕删除(09-04-reimbursement-state-gap-finance-view)
这个提交包含在:
@@ -0,0 +1,10 @@
|
||||
ALTER TABLE "reimbursement_forms"
|
||||
ADD COLUMN "deleted_at" TIMESTAMP(3),
|
||||
ADD COLUMN "deleted_by" UUID,
|
||||
ADD CONSTRAINT "reimbursement_forms_deleted_by_fkey"
|
||||
FOREIGN KEY ("deleted_by") REFERENCES "employees"("id") ON DELETE RESTRICT ON UPDATE CASCADE,
|
||||
ADD CONSTRAINT "reimbursement_forms_deleted_state_check"
|
||||
CHECK (("deleted_at" IS NULL AND "deleted_by" IS NULL)
|
||||
OR ("deleted_at" IS NOT NULL AND "deleted_by" IS NOT NULL AND "status" = 'cancelled'));
|
||||
|
||||
CREATE INDEX "idx_reimbursement_forms_deleted_at" ON "reimbursement_forms"("deleted_at");
|
||||
@@ -575,6 +575,7 @@ model Department {
|
||||
}
|
||||
|
||||
model Employee {
|
||||
deleted_reimbursements ReimbursementForm[] @relation("ReimbursementDeletedBy")
|
||||
id String @id @default(uuid()) @db.Uuid
|
||||
employee_no String @unique @default(dbgenerated("generate_employee_number()"))
|
||||
name String
|
||||
@@ -1441,6 +1442,9 @@ model InventoryCheckItem {
|
||||
}
|
||||
|
||||
model ReimbursementForm {
|
||||
deleted_at DateTime?
|
||||
deleted_by String? @db.Uuid
|
||||
deleted_by_employee Employee? @relation("ReimbursementDeletedBy", fields: [deleted_by], references: [id], onDelete: Restrict)
|
||||
id String @id @default(uuid()) @db.Uuid
|
||||
form_number String? @unique
|
||||
submitter_id String @db.Uuid
|
||||
@@ -1491,6 +1495,7 @@ model ReimbursementForm {
|
||||
@@index([status])
|
||||
@@index([reimbursement_date])
|
||||
@@index([owner_id, status, updated_at], map: "idx_reimbursement_owner_status_updated_at")
|
||||
@@index([deleted_at], map: "idx_reimbursement_forms_deleted_at")
|
||||
@@map("reimbursement_forms")
|
||||
}
|
||||
|
||||
|
||||
在新工单中引用
屏蔽一个用户