fix: 退回报销支持留痕删除(09-04-reimbursement-state-gap-finance-view)

这个提交包含在:
2026-09-10 16:38:37 +08:00
父节点 e5685f18b2
当前提交 73fcd5a65a
共修改 27 个文件,包含 696 行新增和 94 行删除
@@ -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");
+5
查看文件
@@ -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")
}