fix: 增加回单核对与付款登记门禁(09-08-reimbursement-payment-closeout)
这个提交包含在:
@@ -0,0 +1,21 @@
|
||||
CREATE TABLE "payment_receipt_manual_proposals" (
|
||||
"id" UUID NOT NULL PRIMARY KEY,
|
||||
"attachment_id" UUID NOT NULL REFERENCES "payment_batch_receipt_attachments"("id") ON DELETE RESTRICT ON UPDATE CASCADE,
|
||||
"original_verification_id" UUID NOT NULL REFERENCES "payment_receipt_verifications"("id") ON DELETE RESTRICT ON UPDATE CASCADE,
|
||||
"source_sha256" VARCHAR(64) NOT NULL,
|
||||
"source_version" INTEGER NOT NULL CHECK ("source_version" > 0),
|
||||
"status" VARCHAR(32) NOT NULL CHECK ("status" IN ('pending_review', 'association_ready', 'approved', 'rejected')),
|
||||
"proposed_by" UUID NOT NULL,
|
||||
"reviewed_by" UUID,
|
||||
"payload_encrypted" TEXT NOT NULL,
|
||||
"review_note_encrypted" TEXT,
|
||||
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"reviewed_at" TIMESTAMP(3),
|
||||
CONSTRAINT "payment_receipt_manual_review_decision_check" CHECK (
|
||||
("status" IN ('pending_review', 'association_ready') AND "reviewed_by" IS NULL AND "reviewed_at" IS NULL)
|
||||
OR ("status" IN ('approved', 'rejected') AND "reviewed_by" IS NOT NULL AND "reviewed_at" IS NOT NULL
|
||||
AND "reviewed_by" <> "proposed_by")
|
||||
)
|
||||
);
|
||||
CREATE UNIQUE INDEX "payment_receipt_manual_proposals_attachment_id_source_version_key"
|
||||
ON "payment_receipt_manual_proposals"("attachment_id", "source_version");
|
||||
在新工单中引用
屏蔽一个用户