费用管理内容优化-初步
This commit is contained in:
@@ -198,6 +198,73 @@ CREATE TABLE IF NOT EXISTS public.finance_specials (
|
||||
CONSTRAINT fk_finance_specials_created_by FOREIGN KEY (created_by) REFERENCES public.users(id) ON DELETE RESTRICT
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS public.contract_fees (
|
||||
id uuid PRIMARY KEY,
|
||||
project_id uuid NOT NULL,
|
||||
center_id uuid NOT NULL,
|
||||
contract_amount numeric(12, 2) NOT NULL,
|
||||
contract_cases integer NOT NULL,
|
||||
actual_cases integer,
|
||||
settlement_amount numeric(12, 2),
|
||||
final_payment_amount numeric(12, 2),
|
||||
created_at timestamp with time zone NOT NULL DEFAULT now(),
|
||||
updated_at timestamp with time zone NOT NULL DEFAULT now(),
|
||||
CONSTRAINT uq_contract_fees_project_center UNIQUE (project_id, center_id),
|
||||
CONSTRAINT fk_contract_fees_project_id FOREIGN KEY (project_id) REFERENCES public.studies(id) ON DELETE RESTRICT,
|
||||
CONSTRAINT fk_contract_fees_center_id FOREIGN KEY (center_id) REFERENCES public.sites(id) ON DELETE RESTRICT
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS public.contract_fee_payments (
|
||||
id uuid PRIMARY KEY,
|
||||
contract_fee_id uuid NOT NULL,
|
||||
seq integer NOT NULL,
|
||||
amount numeric(12, 2) NOT NULL,
|
||||
paid_date date,
|
||||
verified_date date,
|
||||
is_paid boolean NOT NULL DEFAULT false,
|
||||
is_verified boolean NOT NULL DEFAULT false,
|
||||
remark text,
|
||||
created_at timestamp with time zone NOT NULL DEFAULT now(),
|
||||
updated_at timestamp with time zone NOT NULL DEFAULT now(),
|
||||
CONSTRAINT fk_contract_fee_payments_contract_fee_id FOREIGN KEY (contract_fee_id) REFERENCES public.contract_fees(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS public.special_expenses (
|
||||
id uuid PRIMARY KEY,
|
||||
project_id uuid NOT NULL,
|
||||
center_id uuid,
|
||||
category character varying(50) NOT NULL,
|
||||
amount numeric(12, 2) NOT NULL,
|
||||
happen_date date,
|
||||
description text,
|
||||
is_paid boolean NOT NULL DEFAULT false,
|
||||
paid_date date,
|
||||
is_verified boolean NOT NULL DEFAULT false,
|
||||
verified_date date,
|
||||
created_by uuid,
|
||||
created_at timestamp with time zone NOT NULL DEFAULT now(),
|
||||
updated_at timestamp with time zone NOT NULL DEFAULT now(),
|
||||
CONSTRAINT fk_special_expenses_project_id FOREIGN KEY (project_id) REFERENCES public.studies(id) ON DELETE RESTRICT,
|
||||
CONSTRAINT fk_special_expenses_center_id FOREIGN KEY (center_id) REFERENCES public.sites(id) ON DELETE RESTRICT,
|
||||
CONSTRAINT fk_special_expenses_created_by FOREIGN KEY (created_by) REFERENCES public.users(id) ON DELETE RESTRICT
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS public.fee_attachments (
|
||||
id uuid PRIMARY KEY,
|
||||
entity_type character varying(50) NOT NULL,
|
||||
entity_id uuid NOT NULL,
|
||||
file_type character varying(30) NOT NULL,
|
||||
filename character varying(255) NOT NULL,
|
||||
mime_type character varying(100),
|
||||
size integer NOT NULL,
|
||||
storage_key character varying(500),
|
||||
url text,
|
||||
uploaded_by uuid NOT NULL,
|
||||
uploaded_at timestamp with time zone NOT NULL DEFAULT now(),
|
||||
is_deleted boolean NOT NULL DEFAULT false,
|
||||
CONSTRAINT fk_fee_attachments_uploaded_by FOREIGN KEY (uploaded_by) REFERENCES public.users(id) ON DELETE RESTRICT
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS public.finance_items (
|
||||
id uuid PRIMARY KEY,
|
||||
study_id uuid NOT NULL,
|
||||
|
||||
Reference in New Issue
Block a user