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

Add Script

parent 9f163641
Branches
No related tags found
No related merge requests found
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