CASHV 增加付款批次银行回单附件
这个提交包含在:
@@ -0,0 +1,33 @@
|
||||
-- CASHV: 付款批次银行回单附件。用于记录网银/银行侧付款完成后的回单证据,不接真实支付接口。
|
||||
CREATE TABLE "payment_batch_receipt_attachments" (
|
||||
"id" UUID NOT NULL,
|
||||
"payment_batch_id" UUID NOT NULL,
|
||||
"storage_path" TEXT NOT NULL,
|
||||
"original_name" TEXT NOT NULL,
|
||||
"mime_type" TEXT NOT NULL,
|
||||
"file_size" INTEGER NOT NULL,
|
||||
"file_sha256" TEXT NOT NULL,
|
||||
"uploaded_by" UUID NOT NULL,
|
||||
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
|
||||
CONSTRAINT "payment_batch_receipt_attachments_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
CREATE INDEX "idx_payment_batch_receipts_batch_created"
|
||||
ON "payment_batch_receipt_attachments"("payment_batch_id", "created_at");
|
||||
|
||||
CREATE INDEX "idx_payment_batch_receipts_uploader"
|
||||
ON "payment_batch_receipt_attachments"("uploaded_by");
|
||||
|
||||
CREATE INDEX "idx_payment_batch_receipts_file_sha256"
|
||||
ON "payment_batch_receipt_attachments"("file_sha256");
|
||||
|
||||
ALTER TABLE "payment_batch_receipt_attachments"
|
||||
ADD CONSTRAINT "payment_batch_receipt_attachments_payment_batch_id_fkey"
|
||||
FOREIGN KEY ("payment_batch_id") REFERENCES "payment_batches"("id")
|
||||
ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
ALTER TABLE "payment_batch_receipt_attachments"
|
||||
ADD CONSTRAINT "payment_batch_receipt_attachments_uploaded_by_fkey"
|
||||
FOREIGN KEY ("uploaded_by") REFERENCES "employees"("id")
|
||||
ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
@@ -601,6 +601,7 @@ model Employee {
|
||||
owned_reimbursements ReimbursementForm[] @relation("ReimbursementOwner")
|
||||
paid_reimbursements ReimbursementForm[] @relation("ReimbursementPaidBy")
|
||||
reimbursement_attachments_uploaded ReimbursementAttachment[] @relation("ReimbursementAttachmentUploader")
|
||||
payment_batch_receipts_uploaded PaymentBatchReceiptAttachment[] @relation("PaymentBatchReceiptAttachmentUploader")
|
||||
leave_requests LeaveRequest[]
|
||||
leave_ledgers LeaveLedger[]
|
||||
owned_cost_centers CostCenter[] @relation("CostCenterOwner")
|
||||
@@ -1741,6 +1742,7 @@ model PaymentBatch {
|
||||
updated_by String? @db.Uuid
|
||||
|
||||
items PaymentBatchItem[]
|
||||
receipt_attachments PaymentBatchReceiptAttachment[]
|
||||
|
||||
@@index([entity_type, status, created_at], map: "idx_payment_batches_entity_status_created")
|
||||
@@map("payment_batches")
|
||||
@@ -1770,6 +1772,26 @@ model PaymentBatchItem {
|
||||
@@map("payment_batch_items")
|
||||
}
|
||||
|
||||
model PaymentBatchReceiptAttachment {
|
||||
id String @id @default(uuid()) @db.Uuid
|
||||
payment_batch_id String @db.Uuid
|
||||
storage_path String
|
||||
original_name String
|
||||
mime_type String
|
||||
file_size Int
|
||||
file_sha256 String
|
||||
uploaded_by String @db.Uuid
|
||||
created_at DateTime @default(now())
|
||||
|
||||
payment_batch PaymentBatch @relation(fields: [payment_batch_id], references: [id], onDelete: Cascade)
|
||||
uploader Employee @relation("PaymentBatchReceiptAttachmentUploader", fields: [uploaded_by], references: [id], onDelete: Restrict)
|
||||
|
||||
@@index([payment_batch_id, created_at], map: "idx_payment_batch_receipts_batch_created")
|
||||
@@index([uploaded_by], map: "idx_payment_batch_receipts_uploader")
|
||||
@@index([file_sha256], map: "idx_payment_batch_receipts_file_sha256")
|
||||
@@map("payment_batch_receipt_attachments")
|
||||
}
|
||||
|
||||
model PortalAnnouncement {
|
||||
id String @id @default(uuid()) @db.Uuid
|
||||
title String
|
||||
|
||||
在新工单中引用
屏蔽一个用户