Skip to content
Snippets Groups Projects
Commit c02a6995 authored by wohlgemu's avatar wohlgemu
Browse files

Create Table

parent 74c2b34f
Branches
Tags
No related merge requests found
-- Table: public.finance_request
-- DROP TABLE IF EXISTS public.finance_request;
CREATE TABLE IF NOT EXISTS public.finance_request
(
oa_id character varying(17) COLLATE pg_catalog."default" NOT NULL,
ts_form timestamp without time zone NOT NULL DEFAULT now(),
ticket_number character varying(17) COLLATE pg_catalog."default",
decision character varying(1) COLLATE pg_catalog."default" NOT NULL,
reason_denied character varying(100) COLLATE pg_catalog."default",
date_approved date,
comment_postpayment_check character varying(250) COLLATE pg_catalog."default",
report character varying(40) COLLATE pg_catalog."default",
processing_status character varying(50) COLLATE pg_catalog."default",
processing_comment text COLLATE pg_catalog."default",
first_name character varying(40) COLLATE pg_catalog."default" NOT NULL,
family_name character varying(40) COLLATE pg_catalog."default" NOT NULL,
orcid character varying(19) COLLATE pg_catalog."default",
dfg_number character varying(200) COLLATE pg_catalog."default",
school character varying(50) COLLATE pg_catalog."default" NOT NULL,
faculty character varying(50) COLLATE pg_catalog."default",
department character varying(70) COLLATE pg_catalog."default",
institute character varying(150) COLLATE pg_catalog."default",
center character varying(150) COLLATE pg_catalog."default",
chair character varying(150) COLLATE pg_catalog."default",
workgroup character varying(150) COLLATE pg_catalog."default",
publisher character varying(150) COLLATE pg_catalog."default" NOT NULL,
journal character varying(150) COLLATE pg_catalog."default" NOT NULL,
eissn character varying(9) COLLATE pg_catalog."default" DEFAULT 'XXXX-XXXX'::character varying,
title character varying(400) COLLATE pg_catalog."default" NOT NULL,
article_type character varying(40) COLLATE pg_catalog."default",
manuskript_id character varying(100) COLLATE pg_catalog."default",
doi character varying(100) COLLATE pg_catalog."default",
date_submitting date,
date_acceptance date,
date_publishing date,
license character varying(16) COLLATE pg_catalog."default",
media_type character varying(12) COLLATE pg_catalog."default" NOT NULL,
issuer character varying(30) COLLATE pg_catalog."default" DEFAULT SESSION_USER,
issuer_update character varying(30) COLLATE pg_catalog."default" DEFAULT SESSION_USER,
institution character varying(70) COLLATE pg_catalog."default" DEFAULT 'TU Dresden'::character varying,
research_article character varying(1) COLLATE pg_catalog."default" NOT NULL DEFAULT 'o'::character varying,
postpayment_check character varying(1) COLLATE pg_catalog."default" NOT NULL DEFAULT 'o'::character varying,
CONSTRAINT finance_request_pkey PRIMARY KEY (oa_id),
CONSTRAINT value_check_research_article1 CHECK (research_article::text = ANY (ARRAY['y'::character varying, 'n'::character varying, 'o'::character varying]::text[])),
CONSTRAINT value_check_postpayment_check1 CHECK (postpayment_check::text = ANY (ARRAY['y'::character varying, 'n'::character varying, 'o'::character varying]::text[])),
CONSTRAINT value_check_decision CHECK (decision::text = ANY (ARRAY['y'::character varying, 'n'::character varying, 'o'::character varying]::text[])),
CONSTRAINT blank_check_institution CHECK (btrim(institution::text) = institution::text),
CONSTRAINT blank_check_oa_id CHECK (ltrim(oa_id::text) = oa_id::text AND rtrim(oa_id::text) = oa_id::text),
CONSTRAINT blank_check_ticket_number CHECK (ltrim(ticket_number::text) = ticket_number::text AND rtrim(ticket_number::text) = ticket_number::text),
CONSTRAINT blank_check_first_name CHECK (ltrim(first_name::text) = first_name::text AND rtrim(first_name::text) = first_name::text),
CONSTRAINT blank_check_family_name CHECK (ltrim(family_name::text) = family_name::text AND rtrim(family_name::text) = family_name::text),
CONSTRAINT blank_check_orcid CHECK (ltrim(orcid::text) = orcid::text AND rtrim(orcid::text) = orcid::text),
CONSTRAINT blank_check_school CHECK (ltrim(school::text) = school::text AND rtrim(school::text) = school::text),
CONSTRAINT blank_check_faculty CHECK (ltrim(faculty::text) = faculty::text AND rtrim(faculty::text) = faculty::text),
CONSTRAINT blank_check_department CHECK (ltrim(department::text) = department::text AND rtrim(department::text) = department::text),
CONSTRAINT blank_check_institute CHECK (ltrim(institute::text) = institute::text AND rtrim(institute::text) = institute::text),
CONSTRAINT blank_check_center CHECK (ltrim(center::text) = center::text AND rtrim(center::text) = center::text),
CONSTRAINT blank_check_chair CHECK (ltrim(chair::text) = chair::text AND rtrim(chair::text) = chair::text),
CONSTRAINT blank_check_workgroup CHECK (ltrim(workgroup::text) = workgroup::text AND rtrim(workgroup::text) = workgroup::text),
CONSTRAINT blank_check_publisher CHECK (ltrim(publisher::text) = publisher::text AND rtrim(publisher::text) = publisher::text),
CONSTRAINT blank_check_journal CHECK (ltrim(journal::text) = journal::text AND rtrim(journal::text) = journal::text),
CONSTRAINT blank_check_title CHECK (ltrim(title::text) = title::text AND rtrim(title::text) = title::text),
CONSTRAINT blank_check_article_type CHECK (ltrim(article_type::text) = article_type::text AND rtrim(article_type::text) = article_type::text),
CONSTRAINT blank_check_manuskript_id CHECK (ltrim(manuskript_id::text) = manuskript_id::text AND rtrim(manuskript_id::text) = manuskript_id::text),
CONSTRAINT blank_check_doi CHECK (ltrim(doi::text) = doi::text AND rtrim(doi::text) = doi::text),
CONSTRAINT blank_check_license CHECK (ltrim(license::text) = license::text AND rtrim(license::text) = license::text),
CONSTRAINT blank_check_media_type CHECK (ltrim(media_type::text) = media_type::text AND rtrim(media_type::text) = media_type::text)
)
WITH (
OIDS = FALSE
)
TABLESPACE pg_default;
-- Index: idx_finance_request_doi
-- DROP INDEX IF EXISTS public.idx_finance_request_doi;
CREATE INDEX IF NOT EXISTS idx_finance_request_doi
ON public.finance_request USING btree
(doi COLLATE pg_catalog."default" ASC NULLS LAST)
TABLESPACE pg_default;
-- Trigger: update_issuer_request
-- DROP TRIGGER IF EXISTS update_issuer_request ON public.finance_request;
CREATE TRIGGER update_issuer_request
BEFORE UPDATE
ON public.finance_request
FOR EACH ROW
EXECUTE FUNCTION public.update_issuer();
--------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS public.finance_cost
(
ts_form timestamp without time zone NOT NULL DEFAULT now(),
pk_cost integer NOT NULL GENERATED ALWAYS AS IDENTITY ( INCREMENT 1 START 1 MINVALUE 1 MAXVALUE 2147483647 CACHE 1 ),
oa_id character varying(17) COLLATE pg_catalog."default",
invoice_number character varying(100) COLLATE pg_catalog."default",
budget_id character varying(20) COLLATE pg_catalog."default" DEFAULT 'TUD_EL_2023'::character varying,
cost_type character varying(100) COLLATE pg_catalog."default",
contract_type character varying(50) COLLATE pg_catalog."default",
amount_net numeric(8,2),
currency character varying(3) COLLATE pg_catalog."default",
amount_euro_net numeric(8,2),
vat_percent numeric(3,2) DEFAULT 1.19,
amount_payment_brut numeric(8,2),
comment_cost character varying(250) COLLATE pg_catalog."default",
issuer character varying(30) COLLATE pg_catalog."default" DEFAULT SESSION_USER,
issuer_update character varying(30) COLLATE pg_catalog."default" DEFAULT SESSION_USER,
CONSTRAINT finance_cost_pkey PRIMARY KEY (pk_cost),
CONSTRAINT blank_check_oa_id CHECK (ltrim(oa_id::text) = oa_id::text AND rtrim(oa_id::text) = oa_id::text),
CONSTRAINT blank_check_invoice_number CHECK (ltrim(invoice_number::text) = invoice_number::text AND rtrim(invoice_number::text) = invoice_number::text),
CONSTRAINT blank_check_budget_id CHECK (ltrim(budget_id::text) = budget_id::text AND rtrim(budget_id::text) = budget_id::text),
CONSTRAINT blank_check_cost_type CHECK (ltrim(cost_type::text) = cost_type::text AND rtrim(cost_type::text) = cost_type::text),
CONSTRAINT blank_check_contract_type CHECK (ltrim(contract_type::text) = contract_type::text AND rtrim(contract_type::text) = contract_type::text),
CONSTRAINT blank_check_currency CHECK (ltrim(currency::text) = currency::text AND rtrim(currency::text) = currency::text)
)
WITH (
OIDS = FALSE
)
TABLESPACE pg_default;
-- Trigger: update_issuer_cost
-- DROP TRIGGER IF EXISTS update_issuer_cost ON public.finance_cost;
CREATE TRIGGER update_issuer_cost
BEFORE UPDATE
ON public.finance_cost
FOR EACH ROW
EXECUTE FUNCTION public.update_issuer();
--------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
-- Table: public.finance_invoice
-- DROP TABLE IF EXISTS public.finance_invoice;
CREATE TABLE IF NOT EXISTS public.finance_invoice
(
ts_form timestamp without time zone NOT NULL DEFAULT now(),
invoice_number character varying(100) COLLATE pg_catalog."default" NOT NULL,
ticket_number character varying(17) COLLATE pg_catalog."default",
publisher character varying(150) COLLATE pg_catalog."default" NOT NULL,
date_invoice_due date,
date_invoice_receipt date,
date_factually_accurate date,
date_hauptkasse date,
comment_invoice character varying(100) COLLATE pg_catalog."default",
issuer character varying(30) COLLATE pg_catalog."default" DEFAULT SESSION_USER,
issuer_update character varying(30) COLLATE pg_catalog."default" DEFAULT SESSION_USER,
CONSTRAINT finance_invoice_pkey PRIMARY KEY (invoice_number),
CONSTRAINT blank_check_invoice_number CHECK (ltrim(invoice_number::text) = invoice_number::text AND rtrim(invoice_number::text) = invoice_number::text),
CONSTRAINT blank_check_publisher CHECK (ltrim(publisher::text) = publisher::text AND rtrim(publisher::text) = publisher::text),
CONSTRAINT blank_check_ticket_number CHECK (ltrim(ticket_number::text) = ticket_number::text AND rtrim(ticket_number::text) = ticket_number::text)
)
WITH (
OIDS = FALSE
)
TABLESPACE pg_default;
-- Trigger: update_issuer_invoice
-- DROP TRIGGER IF EXISTS update_issuer_invoice ON public.finance_invoice;
CREATE TRIGGER update_issuer_invoice
BEFORE UPDATE
ON public.finance_invoice
FOR EACH ROW
EXECUTE FUNCTION public.update_issuer();
--------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
-- Table: public.finance_budget
-- DROP TABLE IF EXISTS public.finance_budget;
CREATE TABLE IF NOT EXISTS public.finance_budget
(
ts_form timestamp without time zone NOT NULL DEFAULT now(),
budget_id character varying(20) COLLATE pg_catalog."default" NOT NULL,
amount_budget_brut numeric(9,2),
name_budget character varying(100) COLLATE pg_catalog."default",
budget_year integer,
kostenart character varying(20) COLLATE pg_catalog."default",
produkt character varying(20) COLLATE pg_catalog."default",
kostenstelle character varying(20) COLLATE pg_catalog."default",
titelgruppe character varying(20) COLLATE pg_catalog."default",
central_paying boolean,
budget_comment character varying(100) COLLATE pg_catalog."default",
issuer character varying(30) COLLATE pg_catalog."default" DEFAULT SESSION_USER,
issuer_update character varying(30) COLLATE pg_catalog."default" DEFAULT SESSION_USER,
CONSTRAINT finance_budget_pkey PRIMARY KEY (budget_id)
)
WITH (
OIDS = FALSE
)
TABLESPACE pg_default;
-- Trigger: update_issuer_budget
-- DROP TRIGGER IF EXISTS update_issuer_budget ON public.finance_budget;
CREATE TRIGGER update_issuer_budget
BEFORE UPDATE
ON public.finance_budget
FOR EACH ROW
EXECUTE FUNCTION public.update_issuer();
\ No newline at end of file
CREATE FUNCTION update_ISSUER()
RETURNS TRIGGER AS $$
BEGIN
NEW.ISSUER_Update = session_user;
RETURN NEW;
END;
$$ language 'plpgsql';
----------------------------------
--drop table Finance_Request;
create table Finance_Request (
-----Bearbeitung
OA_ID VARCHAR(17) NOT NULL Constraint Blank_Check_OA_ID CHECK (ltrim(OA_ID) = OA_ID AND rtrim(OA_ID) = OA_ID),
ts_form TIMESTAMP NOT NULL DEFAULT NOW(),
Ticket_Number VARCHAR (17) Constraint Blank_Check_Ticket_Number CHECK (ltrim(Ticket_Number) = Ticket_Number AND rtrim(Ticket_Number) = Ticket_Number),
Decision VARCHAR (1) NOT NULL DEFAULT 'o' CONSTRAINT Value_Check_Decision CHECK (Decision IN ('y','n','o')),
Reason_Denied VARCHAR(100),
Date_Approved DATE,
Postpayment_Check VARCHAR (1) NOT NULL DEFAULT 'o' CONSTRAINT Value_Check_Postpayment_Check CHECK (Postpayment_Check IN ('y','n','o')),
Comment_Postpayment_Check VARCHAR (250),
Report VARCHAR (40),
Processing_Status VARCHAR(50),
Processing_Comment TEXT,
-----Antragsteller
First_Name VARCHAR(40) NOT NULL Constraint Blank_Check_First_Name CHECK (ltrim(First_Name) = First_Name AND rtrim(First_Name) = First_Name),
Family_Name VARCHAR(40) NOT NULL Constraint Blank_Check_Family_Name CHECK (ltrim(Family_Name) = Family_Name AND rtrim(Family_Name) = Family_Name),
ORCID VARCHAR(19) Constraint Blank_Check_ORCID CHECK (ltrim(ORCID) = ORCID AND rtrim(ORCID) = ORCID),
DFG_number VARCHAR(200),
Institution VARCHAR(70) DEFAULT 'TU Dresden' CONSTRAINT Blank_Check_Institution CHECK (trim(Institution) = Institution),
School VARCHAR(50) NOT NULL Constraint Blank_Check_School CHECK (ltrim(School) = School AND rtrim(School) = School),
Faculty VARCHAR(50) Constraint Blank_Check_Faculty CHECK (ltrim(Faculty) = Faculty AND rtrim(Faculty) = Faculty),
Department VARCHAR(70) Constraint Blank_Check_Department CHECK (ltrim(Department) = Department AND rtrim(Department) = Department),
Institute VARCHAR(150) Constraint Blank_Check_Institute CHECK (ltrim(Institute) = Institute AND rtrim(Institute) = Institute),
Center VARCHAR(150) Constraint Blank_Check_Center CHECK (ltrim(Center) = Center AND rtrim(Center) = Center),
Chair VARCHAR(150) Constraint Blank_Check_Chair CHECK (ltrim(Chair) = Chair AND rtrim(Chair) = Chair),
Workgroup VARCHAR(150) Constraint Blank_Check_Workgroup CHECK (ltrim(Workgroup) = Workgroup AND rtrim(Workgroup) = Workgroup),
----Metadaten
Publisher VARCHAR(150) NOT NULL Constraint Blank_Check_Publisher CHECK (ltrim(Publisher) = Publisher AND rtrim(Publisher) = Publisher),
Journal VARCHAR(150) NOT NULL Constraint Blank_Check_Journal CHECK (ltrim(Journal) = Journal AND rtrim(Journal) = Journal),
EISSN VARCHAR(9) DEFAULT 'XXXX-XXXX',
Title VARCHAR(400) NOT NULL Constraint Blank_Check_Title CHECK (ltrim(title) = title AND rtrim(title) = title),
Article_Type VARCHAR(40) Constraint Blank_Check_Article_Type CHECK (ltrim(Article_Type) = Article_Type AND rtrim(Article_Type) = Article_Type),
Manuskript_ID VARCHAR(100) Constraint Blank_Check_Manuskript_ID CHECK (ltrim(Manuskript_ID) = Manuskript_ID AND rtrim(Manuskript_ID) = Manuskript_ID),
DOI VARCHAR(100) Constraint Blank_Check_DOI CHECK (ltrim(DOI) = DOI AND rtrim(DOI) = DOI),
Research_Article VARCHAR (1) NOT NULL DEFAULT 'o' CONSTRAINT Value_Check_Research_Article CHECK (Research_Article IN ('y','n','o')),
Date_Submitting DATE,
Date_Acceptance DATE,
Date_Publishing DATE,
License VARCHAR(16) Constraint Blank_Check_License CHECK (ltrim(License) = License AND rtrim(License) = License),
Media_Type VARCHAR(12) NOT NULL Constraint Blank_Check_Media_Type CHECK (ltrim(Media_Type) = Media_Type AND rtrim(Media_Type) = Media_Type),
ISSUER varchar(30) default session_user,
ISSUER_Update varchar(30) default session_user,
PRIMARY KEY(OA_ID)
);
CREATE TRIGGER update_ISSUER_request
BEFORE UPDATE
ON
Finance_Request
FOR EACH ROW
EXECUTE PROCEDURE update_ISSUER();
CREATE INDEX idx_Finance_Request_doi ON Finance_Request(doi);
EXPLAIN SELECT * FROM Finance_Request WHERE doi = '10.1186/s12871-021-01264-2';
select * from Finance_Request;
-----------------------------------------------------------------------------------------------------------------------------
--drop table Finance_Invoice;
create table Finance_Invoice (
ts_form TIMESTAMP NOT NULL DEFAULT NOW(),
Invoice_Number VARCHAR(100) Constraint Blank_Check_Invoice_Number CHECK (ltrim(Invoice_Number) = Invoice_Number AND rtrim(Invoice_Number) = Invoice_Number),
Ticket_Number VARCHAR (17) Constraint Blank_Check_Ticket_Number CHECK (ltrim(Ticket_Number) = Ticket_Number AND rtrim(Ticket_Number) = Ticket_Number),
Publisher VARCHAR(150) NOT NULL Constraint Blank_Check_Publisher CHECK (ltrim(Publisher) = Publisher AND rtrim(Publisher) = Publisher),
Date_Invoice_Due DATE,
Date_Invoice_Receipt DATE,
Date_Factually_Accurate DATE,
Date_Hauptkasse DATE,
Comment_Invoice VARCHAR(100),
ISSUER varchar(30) default session_user,
ISSUER_Update varchar(30) default session_user,
PRIMARY KEY(Invoice_Number)
);
CREATE TRIGGER update_ISSUER_Invoice
BEFORE UPDATE
ON
Finance_Invoice
FOR EACH ROW
EXECUTE PROCEDURE update_ISSUER();
select * from Finance_Invoice;
---------------------------------------------------------------------------
--https://intranet.slub-dresden.de/pages/viewpage.action?pageId=187270120
--drop table Finance_Budget;
create table Finance_Budget (
ts_form TIMESTAMP NOT NULL DEFAULT NOW(),
Budget_ID VARCHAR(20),
Amount_budget_brut NUMERIC(9,2),
Name_Budget VARCHAR(100),
Budget_Year INT,
Kostenart VARCHAR(20),
Produkt VARCHAR(20),
Kostenstelle VARCHAR(20),
Titelgruppe VARCHAR(20),
Central_Paying Boolean, --neu: Wird zentral über unsere Transformationsverträge/Publikationsfonds gezahlt oder dezentral?
Budget_Comment VARCHAR(100),
ISSUER VARCHAR(30) default session_user,
ISSUER_Update VARCHAR(30) default session_user,
PRIMARY KEY(Budget_ID)
);
CREATE TRIGGER update_ISSUER_Budget
BEFORE UPDATE
ON
Finance_Budget
FOR EACH ROW
EXECUTE PROCEDURE update_ISSUER();
--------------------------------------------------------------------------
--drop table Finance_Cost;
create table Finance_Cost (
ts_form TIMESTAMP NOT NULL DEFAULT NOW(),
PK_Cost INT GENERATED ALWAYS AS IDENTITY,
OA_ID VARCHAR(17) Constraint Blank_Check_OA_ID CHECK (ltrim(OA_ID) = OA_ID AND rtrim(OA_ID) = OA_ID),
Invoice_Number VARCHAR(100) Constraint Blank_Check_Invoice_Number CHECK (ltrim(Invoice_Number) = Invoice_Number AND rtrim(Invoice_Number) = Invoice_Number),
Budget_ID VARCHAR(20) DEFAULT 'TUD_EL_2023' Constraint Blank_Check_Budget_ID CHECK (ltrim(Budget_ID) = Budget_ID AND rtrim(Budget_ID) = Budget_ID),
Cost_Type VARCHAR(100) Constraint Blank_Check_Cost_Type CHECK (ltrim(Cost_Type) = Cost_Type AND rtrim(Cost_Type) = Cost_Type),
Contract_Type VARCHAR(50) Constraint Blank_Check_Contract_Type CHECK (ltrim(Contract_Type) = Contract_Type AND rtrim(Contract_Type) = Contract_Type),
Amount_net NUMERIC(8,2),
Currency VARCHAR(3) Constraint Blank_Check_Currency CHECK (ltrim(Currency) = Currency AND rtrim(Currency) = Currency),
Amount_euro_net NUMERIC(8,2),
VAT_Percent NUMERIC(3,2) DEFAULT 1.19,
Amount_payment_brut NUMERIC(8,2), --Grüne Spalte
-- Amount_euro_brut NUMERIC(8,2), als virtuelle Spalte
Comment_Cost VARCHAR(250),
ISSUER varchar(30) default session_user,
ISSUER_Update varchar(30) default session_user,
PRIMARY KEY(PK_Cost)
);
CREATE TRIGGER update_ISSUER_Cost
BEFORE UPDATE
ON
Finance_Cost
FOR EACH ROW
EXECUTE PROCEDURE update_ISSUER();
select * from finance_cost where oa_id = 'OA2023_191'
Handling fee!
Invoice GAMES-44132-APF-0051635 Handling_Fee 158,44
------------------------------------
------------------------------------
--Tabelle für MedFak/Uniklinikum
drop table Finance_MF_Strukturen;
create table Finance_MF_Strukturen (
ts_form TIMESTAMP NOT NULL DEFAULT NOW(),
PK_MF_Strukturen INT GENERATED ALWAYS AS IDENTITY,
Institution VARCHAR(100) NOT NULL Constraint Blank_Check_Institution CHECK (trim(Institution) = Institution),
Zuordnung VARCHAR(100) NOT NULL Constraint Blank_Check_Zuordnung CHECK (trim(Zuordnung) = Zuordnung),
Kurzbezeichnung VARCHAR(30) NOT NULL Constraint Blank_Check_Kurzbezeichnung CHECK (trim(Kurzbezeichnung) = Kurzbezeichnung),
Langbezeichnung VARCHAR(150) NOT NULL Constraint Blank_Check_Langbezeichnung CHECK (trim(Langbezeichnung) = Langbezeichnung),
PRIMARY KEY(PK_MF_Strukturen)
)
drop view view_Finance_MF_Strukturen;
create view view_Finance_MF_Strukturen as
select distinct Kurzbezeichnung from Finance_MF_Strukturen limit 10;
create table Table_MF_Struk as
select distinct Kurzbezeichnung from Finance_MF_Strukturen limit 10;
select * from view_Finance_MF_Strukturen
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('TU, Medizinische Fakultät Carl Gustav Carus Dresden','Institute und weitere Einrichtungen der MF','ANA','Institut für Anatomie');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('TU, Medizinische Fakultät Carl Gustav Carus Dresden','Institute und weitere Einrichtungen der MF','ASM','Institut und Poliklinik für Arbeits- und Sozialmedizin');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('TU, Medizinische Fakultät Carl Gustav Carus Dresden','Institute und weitere Einrichtungen der MF','CarL','Carus Lehrzentrum');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('TU, Medizinische Fakultät Carl Gustav Carus Dresden','Institute und weitere Einrichtungen der MF','FTE','Forschungsgruppe Tissue Engineering');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('TU, Medizinische Fakultät Carl Gustav Carus Dresden','Institute und weitere Einrichtungen der MF','GES','Institut für Geschichte der Medizin');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('TU, Medizinische Fakultät Carl Gustav Carus Dresden','Institute und weitere Einrichtungen der MF','IMB','Institut für Medizinische Informatik und Biometrie');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('TU, Medizinische Fakultät Carl Gustav Carus Dresden','Institute und weitere Einrichtungen der MF','IMU','Institut für Immunologie');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('TU, Medizinische Fakultät Carl Gustav Carus Dresden','Institute und weitere Einrichtungen der MF','KGE','Institut für Klinische Genetik');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('TU, Medizinische Fakultät Carl Gustav Carus Dresden','Institute und weitere Einrichtungen der MF','KKS','Koordinierungszentrum für Klinische Studien Dresden (KKS-DD)');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('TU, Medizinische Fakultät Carl Gustav Carus Dresden','Institute und weitere Einrichtungen der MF','KPH','Institut für Klinische Pharmakologie');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('TU, Medizinische Fakultät Carl Gustav Carus Dresden','Institute und weitere Einrichtungen der MF','KSM','Klinisches Sensoring und Monitoring');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('TU, Medizinische Fakultät Carl Gustav Carus Dresden','Institute und weitere Einrichtungen der MF','MBIO','Arbeitsbereich Medizinische Biologie');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('TU, Medizinische Fakultät Carl Gustav Carus Dresden','Institute und weitere Einrichtungen der MF','MEDSYS','Medizinische Systembiologie');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('TU, Medizinische Fakultät Carl Gustav Carus Dresden','Institute und weitere Einrichtungen der MF','MIB','Institut für Medizinische Mikrobiologie und Hygiene');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('TU, Medizinische Fakultät Carl Gustav Carus Dresden','Institute und weitere Einrichtungen der MF','MITZ','Medizinisch-Interprofessionelles-Trainingszentrum');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('TU, Medizinische Fakultät Carl Gustav Carus Dresden','Institute und weitere Einrichtungen der MF','MOLDIA/MOD','Molekulare Diabetologie');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('TU, Medizinische Fakultät Carl Gustav Carus Dresden','Institute und weitere Einrichtungen der MF','MPH','Medizinische Physik');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('TU, Medizinische Fakultät Carl Gustav Carus Dresden','Institute und weitere Einrichtungen der MF','PCH','Institut für Physiologische Chemie');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('TU, Medizinische Fakultät Carl Gustav Carus Dresden','Institute und weitere Einrichtungen der MF','PHT','Institut für Pharmakologie und Toxikologie');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('TU, Medizinische Fakultät Carl Gustav Carus Dresden','Institute und weitere Einrichtungen der MF','PHY','Institut für Physiologie');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('TU, Medizinische Fakultät Carl Gustav Carus Dresden','Institute und weitere Einrichtungen der MF','REM','Institut für Rechtsmedizin');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('TU, Medizinische Fakultät Carl Gustav Carus Dresden','Institute und weitere Einrichtungen der MF','VIR','Institut für Virologie');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('TU, Medizinische Fakultät Carl Gustav Carus Dresden','Institute und weitere Einrichtungen der MF','ZMI','Zetrum für Medizinische Informatik');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('TU, Medizinische Fakultät Carl Gustav Carus Dresden','Institute und weitere Einrichtungen der MF','ZEGV','Zentrum für evidenzbasierte Gesundheitsversorgung');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('TU, Medizinische Fakultät Carl Gustav Carus Dresden','gemeinsame Einrichtungen der MFD mit externen Partnern','BIOTEC','Biotechnology Center (inkl. Forschungsgruppe (Molecular) Tissue Engineering (Biotec/MF))');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('TU, Medizinische Fakultät Carl Gustav Carus Dresden','gemeinsame Einrichtungen der MFD mit externen Partnern','CRTD','Center for Regenerative Therapies Dresden (CRTD) - DFG-Forschungszentrum');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('TU, Medizinische Fakultät Carl Gustav Carus Dresden','gemeinsame Einrichtungen der MFD mit externen Partnern','DKTK','Deutsches Konsortium für Translationale Krebsforschung (Partner: DKTK, DKFZ)');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('TU, Medizinische Fakultät Carl Gustav Carus Dresden','gemeinsame Einrichtungen der MFD mit externen Partnern','DZD-PLID','Deutsches Zentrum für Diabetesforschung - Paul Langerhans Institut Dresden (Partner: HMGU)');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('TU, Medizinische Fakultät Carl Gustav Carus Dresden','gemeinsame Einrichtungen der MFD mit externen Partnern','DZNE','Deutsches Zentrum für Neurodegenerative Erkrankungen, Standort Dresden (Partner: DZNE der Helmholtzgemeinschaft)');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('TU, Medizinische Fakultät Carl Gustav Carus Dresden','gemeinsame Einrichtungen der MFD mit externen Partnern','NCT','Nationales Centrum für Tumorerkrankungen (Partner: UKD, MFD, HZDR, DKFZ)');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('TU, Medizinische Fakultät Carl Gustav Carus Dresden','gemeinsame Einrichtungen der MFD mit externen Partnern','"OncoRay"/ZIC','Nationales Zentrum für Strahlenforschung in der Onkologie (Partner/Träger: UKD, HZDR)');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Zentralbereiche des UKD','KIF','Klinische Infektiologie');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Zentralbereiche des UKD','QM/QRM','Zentralbereich Qualitäts- und Medizinisches Risikomanagement/Qualitäts- und Medizinisches Risikomanagement');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Institute des UKD','IKL','Institut für Klinische Chemie und Laboratoriumsmedizin');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Institute des UKD','NRA','Institut und Poliklinik für Diagnostische und Interventionelle Neuroradiologie');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Institute des UKD','PAT','Institut für Pathologie');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Institute des UKD','RAD','Institut und Poliklinik für diagnostische und interventionelle Radiologie');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Kliniken, Polikliniken, selbständige Abteilungen des UKD','AMED','Medizinische Klinik und Poliklinik III, Bereich Allgemeinmedizin');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Kliniken, Polikliniken, selbständige Abteilungen des UKD','ANE','Klinik und Poliklinik für Anaesthesiologie und Intensivtherapie');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Kliniken, Polikliniken, selbständige Abteilungen des UKD','AUG','Klinik und Poliklinik für Augenheilkunde');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Kliniken, Polikliniken, selbständige Abteilungen des UKD','DER','Klinik und Poliklinik für Dermatologie');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Kliniken, Polikliniken, selbständige Abteilungen des UKD','GYN','Klinik und Poliklinik für Frauenheilkunde und Geburtshilfe');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Kliniken, Polikliniken, selbständige Abteilungen des UKD','HNO','Klinik und Poliklinik für Hals-Nasen-Ohrenheilkunde');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Kliniken, Polikliniken, selbständige Abteilungen des UKD','HZ-HCH','Klinik für Kardiochirurgie (am Herzzentrum)');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Kliniken, Polikliniken, selbständige Abteilungen des UKD','KCH','Klinik und Poliklinik für Kinderchirurgie');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Kliniken, Polikliniken, selbständige Abteilungen des UKD','KIK','Klinik und Poliklinik für Kinder- und Jugendmedizin');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Kliniken, Polikliniken, selbständige Abteilungen des UKD','KIK-NP','Klinik und Poliklinik für Kinder- und Jugendmedizin, Abteilung für Neuropädiatrie');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Kliniken, Polikliniken, selbständige Abteilungen des UKD','KJP','Klinik und Poliklinik für Kinder- und Jugendpsychiatrie');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Kliniken, Polikliniken, selbständige Abteilungen des UKD','MK1','Medizinische Klinik und Poliklinik I');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Kliniken, Polikliniken, selbständige Abteilungen des UKD','MK3','Medizinische Klinik und Poliklinik III');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Kliniken, Polikliniken, selbständige Abteilungen des UKD','HZ-KAR','Medizinische Klinik mit Schwerpunkt Kardiologie (am Herzzentrum)');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Kliniken, Polikliniken, selbständige Abteilungen des UKD','MPS','Medizinische Psychologie und Medizinische Soziologie');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Kliniken, Polikliniken, selbständige Abteilungen des UKD','NCH','Klinik und Poliklinik für Neurochirurgie');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Kliniken, Polikliniken, selbständige Abteilungen des UKD','NEU','Klinik und Poliklinik für Neurologie');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Kliniken, Polikliniken, selbständige Abteilungen des UKD','NUK','Klinik und Poliklinik für Nuklearmedizin');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Kliniken, Polikliniken, selbständige Abteilungen des UKD','PSM','Psychosoziale Medizin und Neurowissenschaften');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Kliniken, Polikliniken, selbständige Abteilungen des UKD','PSO','Klinik und Poliklinik für Psychotherapie und Psychosomatik');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Kliniken, Polikliniken, selbständige Abteilungen des UKD','PSY','Klinik und Poliklinik für Psychiatrie und Psychotherapie');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Kliniken, Polikliniken, selbständige Abteilungen des UKD','STR','Klinik und Poliklinik für Strahlentherapie und Radioonkologie');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Kliniken, Polikliniken, selbständige Abteilungen des UKD','TRA','Bereich Transfusionsmedizin');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Kliniken, Polikliniken, selbständige Abteilungen des UKD','URO','Klinik und Poliklinik für Urologie');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Kliniken, Polikliniken, selbständige Abteilungen des UKD','VTG','Klinik und Poliklinik für Viszeral-, Thorax- und Gefäßchirurgie');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Kliniken, Polikliniken, selbständige Abteilungen des UKD','ZCHFOR/CFO','Abteilung Chirurgische Forschung');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Kliniken, Polikliniken, selbständige Abteilungen des UKD','ZIM','Zentrum für Innere Medizin');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Kliniken, Polikliniken, selbständige Abteilungen des UKD','ZSG','Zentrum für Seelische Gesundheit');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Zentrum für Muskuloskelettale Medizin','OUC','UniversitätsCentrum für Orthopädie und Unfallchirurgie');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Zentrum für Muskuloskelettale Medizin','PHCH','Abteilung für Plastische und Handchirurgie');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Zentrum für Muskuloskelettale Medizin','TFO','Zentrum für Translationale Knochen-, Gelenk- und Weichgewebeforschung');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Zentrum für Muskuloskelettale Medizin','MKG','Klinik und Poliklinik für Mund-, Kiefer- und Gesichtschirurgie');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Zahnmedizin','KFO','Poliklinik für Kieferorthopädie');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Zahnmedizin','KZH','Kinderzahnheilkunde');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Zahnmedizin','PAR','Poliklinik für Parodontologie');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Zahnmedizin','ZAP','Poliklinik für Zahnärztliche Prothetik');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Zahnmedizin','ZER','Poliklinik für Zahnerhaltung');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Interdisziplinäre Zentren des UKD','EKFZ','Else-Kröner-Fresenius-Zentrum');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Interdisziplinäre Zentren des UKD','DINZ','Diagnostisch-Internistisch-Neurologisches Zentrum');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Interdisziplinäre Zentren des UKD','DNVC','Dresdner NeurovaskuläresCentrum');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Interdisziplinäre Zentren des UKD','GKZ','Gynäkologisches Krebszentrum');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Interdisziplinäre Zentren des UKD','HTZ','Hauttumorzentrum');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Interdisziplinäre Zentren des UKD','MKG-UPÄC','Universitäts PlastischÄsthetisches Centrum');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Interdisziplinäre Zentren des UKD','PCA','Prostatakarzinomzentrum am UniversitätsKrebsCentrum');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Interdisziplinäre Zentren des UKD','RBZ','Regionales Brustzentrum Dresden');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Interdisziplinäre Zentren des UKD','SCIC','Sächsisches Cochlear Implant Centrum');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Interdisziplinäre Zentren des UKD','SPZ','Sozialpädiatrisches Zentrum');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Interdisziplinäre Zentren des UKD','UAC','Universitäts Allergiecentrum');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Interdisziplinäre Zentren des UKD','UCARE','UniversitätsCentrum für Autoimmun- und Rheumatische Erkrankungen');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Interdisziplinäre Zentren des UKD','UCC','Universitäts KrebsCentrum Dresden (University Cancer Center)');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Interdisziplinäre Zentren des UKD','UCGA','UniversitätsCentrum für Gesundes Altern (in der MK3)');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Interdisziplinäre Zentren des UKD','UGC','Universitäts GefäßCentrum');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Interdisziplinäre Zentren des UKD','UKF','Universitäts Kinder- Frauenzentrum');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Interdisziplinäre Zentren des UKD','UMC','Universitäts MukoviszidoseCentrum');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Interdisziplinäre Zentren des UKD','UPC','Universitäts PalliativCentrum');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Interdisziplinäre Zentren des UKD','UPZ','Universitäts-Physiotherapie-Zentrum');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Interdisziplinäre Zentren des UKD','USC','Universitäts SchmerzCentrum');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Interdisziplinäre Zentren des UKD','USE','UniversitätsCentrum für Seltene Erkrankungen');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Interdisziplinäre Zentren des UKD','ZFD','Zentrum Familiärer Darmkrebs');
INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Interdisziplinäre Zentren des UKD','HZ-ANÄ','Institut für Kardioanästhesie (am Herzzentrum)');
select * from Finance_MF_Strukturen;
create table Finance_MF (
ts_form TIMESTAMP NOT NULL DEFAULT NOW(),
Belegnummer VARCHAR(10) NOT NULL,
Bemerkungen TEXT,
Vorname VARCHAR(40) NOT NULL Constraint Blank_Check_Vorname CHECK (trim(Vorname) = Vorname),
Nachname VARCHAR(40) NOT NULL Constraint Blank_Check_Nachname CHECK (trim(Nachname) = Nachname),
Einrichtung VARCHAR(100) NOT NULL Constraint Blank_Check_Einrichtung CHECK (trim(Einrichtung) = Einrichtung),
Verlag VARCHAR(150) NOT NULL Constraint Blank_Check_Verlag CHECK (trim(Verlag) = Verlag),
Journal VARCHAR(150) NOT NULL Constraint Blank_Check_Journal2 CHECK (trim(Journal) = Journal),
--OA.Status
Title VARCHAR(400) NOT NULL Constraint Blank_Check_Journal CHECK (trim(Journal) = Journal),
--Article.Type
Manuskript_ID VARCHAR(40) Constraint Blank_Check_Manuskript_ID CHECK (trim(Manuskript_ID) = Manuskript_ID),
DOI VARCHAR(100) NOT NULL Constraint Blank_Check_DOI CHECK (trim(DOI) = DOI),
Datum_Akzeptanz DATE,
Datum_Veröffentlichung DATE,
Gebühr_Netto NUMERIC(8,2),
Währung VARCHAR(3) Constraint Blank_Check_Währung CHECK (trim(Währung) = Währung),
Gebühr_Euro_Netto NUMERIC(8,2),
Gebühr_Euro_Brutto NUMERIC(8,2),
Gebührenart VARCHAR(20),
Budget VARCHAR(20),
Kostenstelle VARCHAR(20),
Fonds VARCHAR(20),
Datum_Rechnung DATE,
Datum_Rechnungsfälligkeit DATE,
Rechnungsnummer VARCHAR(100) Constraint Blank_Check_Rechnungsnummer CHECK (trim(Rechnungsnummer) = Rechnungsnummer),
Datum_Buchung DATE,
Haushaltskasse_Brutto NUMERIC(8,2),
Haushaltsjahr_Rechnung INT,
ISSUER VARCHAR(30) default session_user,
ISSUER_Update VARCHAR(30) default session_user,
PRIMARY KEY(Belegnummer)
)
select * from Finance_MF
---------------------------------------
---------------------------------------
--https://stackoverflow.com/questions/39361426/postgres-query-for-matrix-table
--create extension if not exists tablefunc;
--drop view View_Budget_Kalkulation;
CREATE VIEW View_Budget_Kalkulation AS
WITH BASIS AS
(
select distinct a.oa_id, a.amount_net, a.currency, a.amount_euro_net, a.Amount_payment_brut, a.Budget_ID, Budget_Year, date_factually_accurate, b.Amount_budget_brut as Budget,
CASE
WHEN a.Amount_payment_brut is null and currency = 'EUR' THEN ROUND(a.amount_net * VAT_Percent,2)
WHEN a.Amount_payment_brut is null and currency <> 'EUR' THEN ROUND(a.amount_euro_net * VAT_Percent,2)
ELSE a.Amount_payment_brut END AS Amount,
CASE
WHEN a.Amount_payment_brut is null AND date_factually_accurate is null THEN 'FESTLEGUNG'
WHEN a.Amount_payment_brut is not null THEN 'ZAHLUNG'
ELSE 'ZAHLUNGSANORDNUNG' END AS INVOICE_STATUS
from Finance_Cost a
JOIN Finance_Budget b ON (a.Budget_id = b.Budget_id)
LEFT JOIN Finance_Invoice c ON (a.Invoice_number = c.Invoice_number)
),
basis1 AS
(
select oa_id, Budget_Year, Budget_ID, cast(Amount as money) AS Amount, cast(Budget as money) as Budget, INVOICE_STATUS
FROM basis
),
basis2 AS
(
select distinct Budget_Year, INVOICE_STATUS, Budget_ID,
SUM(Amount) OVER (PARTITION BY INVOICE_STATUS, Budget_ID) AS SUM_AMOUNT
FROM basis1
UNION
select distinct Budget_Year, 'BEWILLIGT' AS INVOICE_STATUS, Budget_ID,
SUM(Amount) OVER (PARTITION BY Budget_ID) AS SUM_AMOUNT
FROM basis1
UNION
select distinct Budget_Year, 'BUDGET' AS INVOICE_STATUS, Budget_ID,
Budget AS SUM_AMOUNT
FROM basis1
UNION
select distinct Budget_Year, 'SALDO' AS INVOICE_STATUS, Budget_ID,
Budget - SUM(Amount) OVER (PARTITION BY Budget_ID) AS SUM_AMOUNT
FROM basis1
)
select distinct
CASE
WHEN INVOICE_STATUS = 'BEWILLIGT' THEN '1_'
WHEN INVOICE_STATUS = 'FESTLEGUNG' THEN '2_'
WHEN INVOICE_STATUS = 'ZAHLUNGSANORDNUNG' THEN '3_'
WHEN INVOICE_STATUS = 'ZAHLUNG' THEN '4_'
WHEN INVOICE_STATUS = 'BUDGET' THEN '5_'
ELSE '6_' END AS RANG,
Budget_Year, INVOICE_STATUS, Budget_ID, SUM_AMOUNT
from basis2;
select * from View_Budget_Kalkulation;
--drop view View_Extern_Budget_2019;
CREATE VIEW View_Extern_Budget_2019 AS
Select * from
crosstab('select CONCAT(RANG, INVOICE_STATUS), Budget_ID,SUM_AMOUNT from View_Budget_Kalkulation where Budget_Year = 2019 order by 1,2')
as View_Budget_Kalkulation(INVOICE_STATUS text, SLUB_2019 Money, TUD_EPC_2019 Money, TUD_I_2019 Money);
--drop view View_Extern_Budget_2020;
CREATE VIEW View_Extern_Budget_2020 AS
Select * from
crosstab('select CONCAT(RANG, INVOICE_STATUS), Budget_ID,SUM_AMOUNT from View_Budget_Kalkulation where Budget_Year = 2020 order by 1,2')
as View_Budget_Kalkulation(INVOICE_STATUS text, DFG_2020 Money, DFG_PP_2020 Money, SLUB_2020 Money, TUD_EL_2020 Money, TUD_EPC_2020 Money);
select * from View_Extern_Budget_2020;
--drop view View_Extern_Budget_2021;
CREATE VIEW View_Extern_Budget_2021 AS
Select * from
crosstab('select CONCAT(RANG, INVOICE_STATUS), Budget_ID,SUM_AMOUNT from View_Budget_Kalkulation where Budget_Year = 2021 order by 1,2')
as View_Budget_Kalkulation(INVOICE_STATUS text, DFG_2021 Money, DFG_PP_2021 Money, OA_SAX_2021 Money, SLUB_2021 Money, TUD_EL_2021 Money, TUD_KOFIN_2021 Money);
select * from View_Extern_Budget_2021;
--drop view View_Extern_Budget_2022;
CREATE VIEW View_Extern_Budget_2022 AS
Select * from
crosstab('select CONCAT(RANG, INVOICE_STATUS), Budget_ID,SUM_AMOUNT from View_Budget_Kalkulation where Budget_Year = 2022 order by 1,2')
as View_Budget_Kalkulation(INVOICE_STATUS text, DFG_2022 Money, MF_DM_2022 Money, MF_HA_2022 Money, SLUB_2022 Money, TUD_DM_2022 Money, TUD_EL_2022 Money, TUD_HA_2022 Money);
select * from View_Extern_Budget_2022;
--drop view View_Extern_Budget_2023;
CREATE VIEW View_Extern_Budget_2023 AS
Select * from
crosstab('select CONCAT(RANG, INVOICE_STATUS), Budget_ID,SUM_AMOUNT from View_Budget_Kalkulation where Budget_Year = 2023 order by 1,2')
as View_Budget_Kalkulation(INVOICE_STATUS text, DFG_2023 Money, DFG_PP_2023 Money, DFG_TUD_2023 Money, MF_DM_2023 Money, MF_HA_2023 Money, SLUB_2023 Money, TUD_DM_2023 Money, TUD_EL_2023 Money, TUD_HA_2023 Money);
select * from View_Extern_Budget_2023;
drop view View_All_Tables_2022;
CREATE VIEW View_All_Tables_2022 AS
SELECT DISTINCT a.oa_id, a.ticket_number, a.decision, a.reason_denied, a.date_approved, a.postpayment_check, a.comment_postpayment_check, a.report, a.processing_status, a.processing_comment, a.research_article, a.first_name, a.family_name, a.dfg_number, a.institution, a.school, a.faculty, a.publisher, a.journal, a.eissn, a.title, a.article_type, a.manuskript_id, a.doi, a.date_acceptance, a.date_publishing, a.license, a.media_type,
b.budget_id, d.budget_year, b.cost_type, b.contract_type, b.amount_net, b.currency, b.amount_euro_net, b.vat_percent,
CASE
WHEN b.Amount_payment_brut is null and currency = 'EUR' THEN ROUND(b.amount_net * VAT_Percent,2)
WHEN b.Amount_payment_brut is null and currency <> 'EUR' THEN ROUND(b.amount_euro_net * VAT_Percent,2)
ELSE b.Amount_payment_brut END AS amount_euro_brut,
b.amount_payment_brut, b.comment_cost,
CASE
WHEN decision = 'n' THEN 'ABLEHNUNG'
WHEN b.Amount_payment_brut is null AND date_factually_accurate is null THEN 'FESTLEGUNG'
WHEN b.Amount_payment_brut is not null THEN 'ZAHLUNG'
ELSE 'ZAHLUNGSANORDNUNG' END AS INVOICE_STATUS,
c.invoice_number, c.date_invoice_due, c.date_invoice_receipt, c.date_factually_accurate, c.date_hauptkasse, c.comment_invoice
FROM Finance_Request a
LEFT JOIN Finance_Cost b ON (a.OA_ID = b.OA_ID)
LEFT JOIN Finance_Invoice c ON (b.Invoice_number = c.Invoice_number)
LEFT JOIN Finance_Budget d ON (b.Budget_id = d.Budget_id)
where budget_year = 2022 OR Comment_cost like '%_2022%';
select * from View_All_Tables_2022;
drop view View_All_Tables_2023;
CREATE VIEW View_All_Tables_2023 AS
SELECT DISTINCT a.oa_id, a.ticket_number, a.decision, a.reason_denied, a.date_approved, a.postpayment_check, a.comment_postpayment_check, a.report, a.processing_status, a.processing_comment, a.research_article, a.first_name, a.family_name, a.dfg_number, a.institution, a.school, a.faculty, a.publisher, a.journal, a.eissn, a.title, a.article_type, a.manuskript_id, a.doi, a.date_acceptance, a.date_publishing, a.license, a.media_type,
b.budget_id, d.budget_year, b.cost_type, b.contract_type, b.amount_net, b.currency, b.amount_euro_net, b.vat_percent,
CASE
WHEN b.Amount_payment_brut is null and currency = 'EUR' THEN ROUND(b.amount_net * VAT_Percent,2)
WHEN b.Amount_payment_brut is null and currency <> 'EUR' THEN ROUND(b.amount_euro_net * VAT_Percent,2)
ELSE b.Amount_payment_brut END AS amount_euro_brut,
b.amount_payment_brut, b.comment_cost,
CASE
WHEN decision = 'n' THEN 'ABLEHNUNG'
WHEN b.Amount_payment_brut is null AND date_factually_accurate is null THEN 'FESTLEGUNG'
WHEN b.Amount_payment_brut is not null THEN 'ZAHLUNG'
ELSE 'ZAHLUNGSANORDNUNG' END AS INVOICE_STATUS,
c.invoice_number, c.date_invoice_due, c.date_invoice_receipt, c.date_factually_accurate, c.date_hauptkasse, c.comment_invoice
FROM Finance_Request a
LEFT JOIN Finance_Cost b ON (a.OA_ID = b.OA_ID)
LEFT JOIN Finance_Invoice c ON (b.Invoice_number = c.Invoice_number)
LEFT JOIN Finance_Budget d ON (b.Budget_id = d.Budget_id)
where budget_year = 2023 OR Comment_cost like '%_2023%';
select * from View_All_Tables_2023;
drop view View_All_Tables;
CREATE VIEW View_All_Tables AS
SELECT DISTINCT a.oa_id, a.ticket_number, a.decision, a.reason_denied, a.date_approved, a.postpayment_check, a.comment_postpayment_check, a.report, a.processing_status, a.processing_comment, a.research_article, a.first_name, a.family_name, a.dfg_number, a.institution, a.school, a.faculty, a.publisher, a.journal, a.eissn, a.title, a.article_type, a.manuskript_id, a.doi, a.date_acceptance, a.date_publishing, a.license, a.media_type,
b.budget_id, d.budget_year, b.cost_type, b.contract_type, b.amount_net, b.currency, b.amount_euro_net, b.vat_percent,
CASE
WHEN b.Amount_payment_brut is null and currency = 'EUR' THEN ROUND(b.amount_net * VAT_Percent,2)
WHEN b.Amount_payment_brut is null and currency <> 'EUR' THEN ROUND(b.amount_euro_net * VAT_Percent,2)
ELSE b.Amount_payment_brut END AS amount_euro_brut,
b.amount_payment_brut, b.comment_cost,
CASE
WHEN decision = 'n' THEN 'ABLEHNUNG'
WHEN b.Amount_payment_brut is null AND date_factually_accurate is null THEN 'FESTLEGUNG'
WHEN b.Amount_payment_brut is not null THEN 'ZAHLUNG'
ELSE 'ZAHLUNGSANORDNUNG' END AS INVOICE_STATUS,
c.invoice_number, c.date_invoice_due, c.date_invoice_receipt, c.date_factually_accurate, c.date_hauptkasse, c.comment_invoice
FROM Finance_Request a
LEFT JOIN Finance_Cost b ON (a.OA_ID = b.OA_ID)
LEFT JOIN Finance_Invoice c ON (b.Invoice_number = c.Invoice_number)
LEFT JOIN Finance_Budget d ON (b.Budget_id = d.Budget_id);
--Views für DropDown-Felder
CREATE VIEW View_formular_license AS
select distinct license from finance_request order by license;
CREATE VIEW View_formular_media_type AS
select distinct media_type from finance_request order by media_type;
--CREATE VIEW View_formular_Reason_Denied AS
--select distinct Reason_Denied from finance_request order by Reason_Denied;
CREATE VIEW View_formular_decision AS
select distinct decision from finance_request order by decision;
CREATE VIEW View_formular_postpayment_Check AS
select distinct postpayment_Check from finance_request order by postpayment_Check;
CREATE VIEW View_formular_research_article AS
select distinct research_article from finance_request order by research_article;
select * from finance_request where decision = 'J'
--Kontrolle MDPL-Rechnung 30.08.2023
WITH BASIS AS
(
select distinct a.oa_id, a.amount_net, a.currency, a.amount_euro_net, a.Amount_payment_brut, a.Budget_ID, Budget_Year, date_factually_accurate, b.Amount_budget_brut as Budget,
CASE
WHEN a.Amount_payment_brut is null and currency = 'EUR' THEN ROUND(a.amount_net * VAT_Percent,2)
WHEN a.Amount_payment_brut is null and currency <> 'EUR' THEN ROUND(a.amount_euro_net * VAT_Percent,2)
ELSE a.Amount_payment_brut END AS Amount,
CASE
WHEN a.Amount_payment_brut is null AND date_factually_accurate is null THEN 'FESTLEGUNG'
WHEN a.Amount_payment_brut is not null THEN 'ZAHLUNG'
ELSE 'ZAHLUNGSANORDNUNG' END AS INVOICE_STATUS
from Finance_Cost a
JOIN Finance_Budget b ON (a.Budget_id = b.Budget_id)
LEFT JOIN Finance_Invoice c ON (a.Invoice_number = c.Invoice_number)
)
select oa_id, Budget_Year, Budget_ID, cast(Amount as money) AS Amount, cast(Budget as money) as Budget, INVOICE_STATUS
FROM basis
--where INVOICE_STATUS = 'ZAHLUNGSANORDNUNG'
where OA_ID IN ('OA2022_511', 'OA2022_661', 'OA2022_683', 'OA2023_007', 'OA2023_030', 'OA2023_037', 'OA2023_039',
'OA2023_043', 'OA2023_065', 'OA2023_073', 'OA2023_076', 'OA2023_080', 'OA2023_081', 'OA2023_094',
'OA2023_097', 'OA2023_124', 'OA2023_125', 'OA2023_131', 'OA2023_143', 'OA2023_158', 'OA2023_178',
'OA2023_179', 'OA2023_197', 'OA2023_202')
--Für Haushalt: Alle Zahlungen, die festgelegt sind oder in Zahlungsanordnung
CREATE VIEW View_Budget_FESTLEGUNGEN_ZAHLUNGSANORDNUNG AS
WITH BASIS AS
(
select distinct a.oa_id, a.amount_net, a.currency, a.amount_euro_net, a.Amount_payment_brut, a.Budget_ID, Budget_Year, date_factually_accurate, b.Amount_budget_brut as Budget,
CASE
WHEN a.Amount_payment_brut is null and currency = 'EUR' THEN ROUND(a.amount_net * VAT_Percent,2)
WHEN a.Amount_payment_brut is null and currency <> 'EUR' THEN ROUND(a.amount_euro_net * VAT_Percent,2)
ELSE a.Amount_payment_brut END AS Amount
from Finance_Cost a
JOIN Finance_Budget b ON (a.Budget_id = b.Budget_id)
LEFT JOIN Finance_Invoice c ON (a.Invoice_number = c.Invoice_number)
where b.budget_id IN ('DFG_2023', 'SLUB_2023', 'TUD_EL_2023') and a.Amount_payment_brut is null
),
basis1 AS
(
select oa_id, Budget_Year, Budget_ID, cast(Amount as money) AS Amount, cast(Budget as money) as Budget
FROM basis
)
select distinct Budget_Year, Budget_ID, SUM(Amount) OVER (PARTITION BY Budget_ID) AS SUM_AMOUNT FROM basis1;
-----------------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------------
--drop view View_Extern_ORG_ZAHLUNG;
CREATE VIEW View_Extern_ORG_ZAHLUNG AS
WITH BASIS AS
(
select distinct a.oa_id, a.amount_net, a.currency, a.amount_euro_net, a.Amount_payment_brut, Budget_Year, date_factually_accurate, institution, School, Faculty,
CASE
WHEN a.Amount_payment_brut is null and currency = 'EUR' THEN ROUND(a.amount_net * VAT_Percent,2)
WHEN a.Amount_payment_brut is null and currency <> 'EUR' THEN ROUND(a.amount_euro_net * VAT_Percent,2)
ELSE a.Amount_payment_brut END AS Amount,
CASE
WHEN a.Amount_payment_brut is null AND date_factually_accurate is null THEN 'FESTLEGUNG'
WHEN a.Amount_payment_brut is null AND date_factually_accurate is not null THEN 'ZAHLUNGSANORDNUNG'
ELSE 'ZAHLUNG' END AS INVOICE_STATUS
from Finance_Cost a
JOIN Finance_Budget b ON (a.Budget_id = b.Budget_id)
JOIN Finance_Request d ON (a.OA_ID = d.OA_ID)
LEFT JOIN Finance_Invoice c ON (a.Invoice_number = c.Invoice_number)
where decision IN ('j', 'o') AND Budget_Year = 2023 AND OA_Status IN ('Fully OA', 'Hybrid')
),
basis1 AS
(
select distinct oa_id, Budget_Year, Amount, School, Faculty,
CASE
WHEN Amount_payment_brut is null AND date_factually_accurate is null THEN 'FESTLEGUNG'
WHEN Amount_payment_brut is null AND date_factually_accurate is not null THEN 'ZAHLUNGSANORDNUNG'
ELSE 'ZAHLUNG' END AS INVOICE_STATUS
FROM basis
),
basis2 AS
(
select distinct Budget_Year, INVOICE_STATUS, School, Faculty,
COUNT(OA_ID) OVER (PARTITION BY School) AS CNT_School,
cast(SUM(Amount) OVER (PARTITION BY School) as money) AS AMOUNT_School,
COUNT(OA_ID) OVER (PARTITION BY Faculty) AS CNT_Faculty,
cast(SUM(Amount) OVER (PARTITION BY Faculty) as money) AS AMOUNT_Faculty
FROM basis1
where INVOICE_STATUS IN ('ZAHLUNG', 'ZAHLUNGSANORNUNG')
order by School, Faculty
)
select distinct Budget_Year, School, Faculty,
CONCAT(CNT_School, ' (', AMOUNT_School, ')') AS Value_School, CONCAT(CNT_Faculty, ' (', AMOUNT_Faculty, ')') AS Value_Faculty
FROM basis2;
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment