(data-hub): add etl feature
This commit is contained in:
@@ -0,0 +1,473 @@
|
||||
-- CreateExtension
|
||||
CREATE EXTENSION IF NOT EXISTS "pgcrypto";
|
||||
|
||||
-- CreateEnum
|
||||
CREATE TYPE "TicketState" AS ENUM ('CREATED', 'APPROVAL_REQUIRED', 'READY', 'DONE', 'BILLABLE', 'ARCHIVED');
|
||||
|
||||
-- CreateEnum
|
||||
CREATE TYPE "TicketValidationState" AS ENUM ('CREATED', 'USER_INTERACTION_REQUIRED', 'TD_UNCERTAIN', 'DOCUMENTS_MISSING', 'ARCHIVED');
|
||||
|
||||
-- CreateEnum
|
||||
CREATE TYPE "ApprovalState" AS ENUM ('UNKNOWN', 'FREE', 'REQUIRED', 'REQUESTED', 'APPROVED');
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "TourSource" (
|
||||
"internalId" UUID NOT NULL DEFAULT gen_random_uuid(),
|
||||
"insertedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"jobId" TEXT NOT NULL,
|
||||
"id" TEXT,
|
||||
"check" TEXT,
|
||||
"createTime" TEXT,
|
||||
"empfangenVonId" TEXT,
|
||||
"endgen" TEXT,
|
||||
"serienId" TEXT,
|
||||
"serienKategorName" TEXT,
|
||||
"serienKategorie" TEXT,
|
||||
"zadStatus" TEXT,
|
||||
"abrDate" TEXT,
|
||||
"abrNum" TEXT,
|
||||
"abrTime" TEXT,
|
||||
"ausrueckZeit" TEXT,
|
||||
"startTime" TEXT,
|
||||
"startDate" TEXT,
|
||||
"date" TEXT,
|
||||
"date_iso" TEXT,
|
||||
"dauergenehmigung" TEXT,
|
||||
"direction" TEXT,
|
||||
"distanceValue" TEXT,
|
||||
"besetztKm" TEXT,
|
||||
"gefahren" TEXT,
|
||||
"gesamtPreis" TEXT,
|
||||
"infektion" TEXT,
|
||||
"itDesc" TEXT,
|
||||
"itKrz" TEXT,
|
||||
"itName" TEXT,
|
||||
"kkId" TEXT,
|
||||
"krankenkasse" TEXT,
|
||||
"patId" TEXT,
|
||||
"patName" TEXT,
|
||||
"patSurname" TEXT,
|
||||
"patStreet" TEXT,
|
||||
"patZip" TEXT,
|
||||
"patCity" TEXT,
|
||||
"startInstitution" TEXT,
|
||||
"startStreet" TEXT,
|
||||
"startZip" TEXT,
|
||||
"startCity" TEXT,
|
||||
"targetInstitution" TEXT,
|
||||
"targetStreet" TEXT,
|
||||
"targetZip" TEXT,
|
||||
"targetCity" TEXT,
|
||||
"transportKrz" TEXT,
|
||||
"transportName" TEXT,
|
||||
"transportart" TEXT,
|
||||
"verordnungsId" TEXT,
|
||||
"verordnungsName" TEXT,
|
||||
"type" TEXT,
|
||||
"startBegin" TEXT,
|
||||
"startEnd" TEXT,
|
||||
"frei" TEXT,
|
||||
"ziel" TEXT,
|
||||
"zielBegin" TEXT,
|
||||
"endTime" TEXT,
|
||||
"endDate" TEXT,
|
||||
"einsatzNummer" TEXT,
|
||||
"carName" TEXT,
|
||||
"carNo" TEXT,
|
||||
"beifahrerName" TEXT,
|
||||
"beifahrer" TEXT,
|
||||
"fahrerName" TEXT,
|
||||
"fahrer" TEXT,
|
||||
"color" TEXT,
|
||||
|
||||
CONSTRAINT "TourSource_pkey" PRIMARY KEY ("internalId")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "EmployeeDispoLiveSource" (
|
||||
"internalId" UUID NOT NULL DEFAULT gen_random_uuid(),
|
||||
"insertedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"jobId" TEXT NOT NULL,
|
||||
"id" TEXT,
|
||||
"pScheinAblaufDatum" TEXT,
|
||||
"name" TEXT,
|
||||
"surname" TEXT,
|
||||
"persId" TEXT,
|
||||
"importPersId" TEXT,
|
||||
"qualifikation" TEXT,
|
||||
|
||||
CONSTRAINT "EmployeeDispoLiveSource_pkey" PRIMARY KEY ("internalId")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "AttendanceRegistrationSource" (
|
||||
"internalId" UUID NOT NULL DEFAULT gen_random_uuid(),
|
||||
"insertedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"jobId" TEXT NOT NULL,
|
||||
"attendanceRegistrationId" TEXT,
|
||||
"employeeId" TEXT,
|
||||
"personnelNumber" TEXT,
|
||||
"dateTime" TEXT,
|
||||
"event" TEXT,
|
||||
|
||||
CONSTRAINT "AttendanceRegistrationSource_pkey" PRIMARY KEY ("internalId")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "PlannedTimeSource" (
|
||||
"internalId" UUID NOT NULL DEFAULT gen_random_uuid(),
|
||||
"insertedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"jobId" TEXT NOT NULL,
|
||||
"id" TEXT,
|
||||
"user_id" TEXT,
|
||||
"firstname" TEXT,
|
||||
"surname" TEXT,
|
||||
"department_id" TEXT,
|
||||
"department_name" TEXT,
|
||||
"start_date" TEXT,
|
||||
"end_date" TEXT,
|
||||
"pauze" TEXT,
|
||||
"duration" TEXT,
|
||||
"deleted" TEXT,
|
||||
"mark" TEXT,
|
||||
|
||||
CONSTRAINT "PlannedTimeSource_pkey" PRIMARY KEY ("internalId")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "WorkTimeSource" (
|
||||
"internalId" UUID NOT NULL DEFAULT gen_random_uuid(),
|
||||
"insertedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"jobId" TEXT NOT NULL,
|
||||
"id" TEXT,
|
||||
"user_id" TEXT,
|
||||
"firstname" TEXT,
|
||||
"surname" TEXT,
|
||||
"department_id" TEXT,
|
||||
"department_name" TEXT,
|
||||
"start_date" TEXT,
|
||||
"end_date" TEXT,
|
||||
"pauze" TEXT,
|
||||
"duration" TEXT,
|
||||
|
||||
CONSTRAINT "WorkTimeSource_pkey" PRIMARY KEY ("internalId")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "EmployeeDyflexisSource" (
|
||||
"internalId" UUID NOT NULL DEFAULT gen_random_uuid(),
|
||||
"insertedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"jobId" TEXT NOT NULL,
|
||||
"id" TEXT,
|
||||
"firstname" TEXT,
|
||||
"surname" TEXT,
|
||||
"contract_id" TEXT,
|
||||
"contract_start" TEXT,
|
||||
"contract_end" TEXT,
|
||||
"contract_hours_week" TEXT,
|
||||
"contract_salary_hour" TEXT,
|
||||
|
||||
CONSTRAINT "EmployeeDyflexisSource_pkey" PRIMARY KEY ("internalId")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "PatientSource" (
|
||||
"internalId" UUID NOT NULL DEFAULT gen_random_uuid(),
|
||||
"insertedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"jobId" TEXT NOT NULL,
|
||||
"id" TEXT,
|
||||
"surname" TEXT,
|
||||
"name" TEXT,
|
||||
"street" TEXT,
|
||||
"zip" TEXT,
|
||||
"city" TEXT,
|
||||
"birthday" TEXT,
|
||||
"kkId" TEXT,
|
||||
"krankenkasse" TEXT,
|
||||
"pflegestufe" TEXT,
|
||||
"behinderung1" TEXT,
|
||||
"behinderung2" TEXT,
|
||||
|
||||
CONSTRAINT "PatientSource_pkey" PRIMARY KEY ("internalId")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "TourStaging" (
|
||||
"internalId" UUID NOT NULL DEFAULT gen_random_uuid(),
|
||||
"id" TEXT,
|
||||
"done" BOOLEAN,
|
||||
"direction" TEXT,
|
||||
"carName" TEXT,
|
||||
"operationId" TEXT,
|
||||
"driverId" TEXT,
|
||||
"driverName" TEXT,
|
||||
"codriverId" TEXT,
|
||||
"codriverName" TEXT,
|
||||
"patientId" TEXT,
|
||||
"patientName" TEXT,
|
||||
"patientSurname" TEXT,
|
||||
"patientStreet" TEXT,
|
||||
"patientZip" TEXT,
|
||||
"patientCity" TEXT,
|
||||
"healthInsurance" TEXT,
|
||||
"healthInsuranceNumber" TEXT,
|
||||
"type" TEXT,
|
||||
"category" TEXT,
|
||||
"transportType" TEXT,
|
||||
"ordinanceType" TEXT,
|
||||
"rangeEndDate" TIMESTAMP(3),
|
||||
"startInstitution" TEXT,
|
||||
"startStreet" TEXT,
|
||||
"startZip" TEXT,
|
||||
"startCity" TEXT,
|
||||
"targetInstitution" TEXT,
|
||||
"targetStreet" TEXT,
|
||||
"targetZip" TEXT,
|
||||
"targetCity" TEXT,
|
||||
"startDate" TIMESTAMP(3),
|
||||
"check" INTEGER NOT NULL DEFAULT 0,
|
||||
"occupiedKm" DOUBLE PRECISION,
|
||||
"totalKm" DOUBLE PRECISION,
|
||||
"startBegin" TEXT,
|
||||
"startEnd" TEXT,
|
||||
"target" TEXT,
|
||||
"targetBegin" TEXT,
|
||||
"empty" TEXT,
|
||||
"hasInfection" BOOLEAN NOT NULL DEFAULT false,
|
||||
"infectionName" TEXT,
|
||||
"revenueDispoLive" DOUBLE PRECISION,
|
||||
"billDate" TIMESTAMP(3),
|
||||
"billNumber" TEXT,
|
||||
"revenue" DOUBLE PRECISION NOT NULL DEFAULT 0,
|
||||
"revenueDeviation" DOUBLE PRECISION NOT NULL DEFAULT 0,
|
||||
"consumptionCosts" DOUBLE PRECISION NOT NULL DEFAULT 0,
|
||||
"createdAt" TIMESTAMP(3),
|
||||
|
||||
CONSTRAINT "TourStaging_pkey" PRIMARY KEY ("internalId")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "PatientStaging" (
|
||||
"internalId" UUID NOT NULL DEFAULT gen_random_uuid(),
|
||||
"id" TEXT,
|
||||
"surname" TEXT,
|
||||
"name" TEXT,
|
||||
"street" TEXT,
|
||||
"zip" TEXT,
|
||||
"city" TEXT,
|
||||
"birthday" TIMESTAMP(3),
|
||||
"healthinsuranceId" TEXT,
|
||||
"healthinsurance" TEXT,
|
||||
"careDegree" TEXT,
|
||||
"disabilityMark1" TEXT,
|
||||
"disabilityMark2" TEXT,
|
||||
|
||||
CONSTRAINT "PatientStaging_pkey" PRIMARY KEY ("internalId")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "AttendanceRegistrationStaging" (
|
||||
"internalId" UUID NOT NULL DEFAULT gen_random_uuid(),
|
||||
"attendanceRegistrationId" INTEGER NOT NULL,
|
||||
"employeeId" INTEGER NOT NULL,
|
||||
"dateTime" TIMESTAMP(3) NOT NULL,
|
||||
"event" TEXT NOT NULL,
|
||||
|
||||
CONSTRAINT "AttendanceRegistrationStaging_pkey" PRIMARY KEY ("internalId")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "PlannedTimeStaging" (
|
||||
"internalId" UUID NOT NULL DEFAULT gen_random_uuid(),
|
||||
"id" INTEGER NOT NULL,
|
||||
"employeeId" INTEGER NOT NULL,
|
||||
"firstname" TEXT,
|
||||
"surname" TEXT,
|
||||
"departmentName" TEXT,
|
||||
"startDate" TIMESTAMP(3) NOT NULL,
|
||||
"endDate" TIMESTAMP(3) NOT NULL,
|
||||
"deleted" BOOLEAN NOT NULL,
|
||||
"mark" TEXT,
|
||||
|
||||
CONSTRAINT "PlannedTimeStaging_pkey" PRIMARY KEY ("internalId")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "WorkTimeStaging" (
|
||||
"internalId" UUID NOT NULL DEFAULT gen_random_uuid(),
|
||||
"id" INTEGER NOT NULL,
|
||||
"employeeId" INTEGER NOT NULL,
|
||||
"firstname" TEXT NOT NULL,
|
||||
"surname" TEXT NOT NULL,
|
||||
"departmentName" TEXT,
|
||||
"startDate" TIMESTAMP(3) NOT NULL,
|
||||
"endDate" TIMESTAMP(3) NOT NULL,
|
||||
|
||||
CONSTRAINT "WorkTimeStaging_pkey" PRIMARY KEY ("internalId")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "EmployeeStaging" (
|
||||
"internalId" UUID NOT NULL DEFAULT gen_random_uuid(),
|
||||
"id" INTEGER NOT NULL,
|
||||
"firstname" TEXT NOT NULL,
|
||||
"surname" TEXT NOT NULL,
|
||||
"contractStart" TIMESTAMP(3) NOT NULL,
|
||||
"contractEnd" TIMESTAMP(3) NOT NULL,
|
||||
"contractHoursWeek" DOUBLE PRECISION NOT NULL,
|
||||
"contractSalaryHour" DOUBLE PRECISION NOT NULL,
|
||||
"personTransportCertificate" TIMESTAMP(3),
|
||||
"qualification" TEXT,
|
||||
|
||||
CONSTRAINT "EmployeeStaging_pkey" PRIMARY KEY ("internalId")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "Tour" (
|
||||
"id" UUID NOT NULL DEFAULT gen_random_uuid(),
|
||||
"done" BOOLEAN NOT NULL,
|
||||
"direction" TEXT NOT NULL,
|
||||
"carName" TEXT,
|
||||
"operationId" TEXT NOT NULL,
|
||||
"driverId" TEXT,
|
||||
"driverName" TEXT,
|
||||
"codriverId" TEXT,
|
||||
"codriverName" TEXT,
|
||||
"patientId" TEXT,
|
||||
"patientName" TEXT,
|
||||
"patientSurname" TEXT,
|
||||
"patientStreet" TEXT,
|
||||
"patientZip" TEXT,
|
||||
"patientCity" TEXT,
|
||||
"healthInsurance" TEXT,
|
||||
"healthInsuranceNumber" TEXT,
|
||||
"type" TEXT,
|
||||
"category" TEXT,
|
||||
"transportType" TEXT,
|
||||
"ordinanceType" TEXT,
|
||||
"rangeEndDate" TIMESTAMP(3),
|
||||
"startInstitution" TEXT,
|
||||
"startStreet" TEXT,
|
||||
"startZip" TEXT,
|
||||
"startCity" TEXT,
|
||||
"targetInstitution" TEXT,
|
||||
"targetStreet" TEXT,
|
||||
"targetZip" TEXT,
|
||||
"targetCity" TEXT,
|
||||
"startDate" TIMESTAMP(3) NOT NULL,
|
||||
"check" INTEGER NOT NULL DEFAULT 0,
|
||||
"occupiedKm" DOUBLE PRECISION,
|
||||
"totalKm" DOUBLE PRECISION,
|
||||
"startBegin" TEXT,
|
||||
"startEnd" TEXT,
|
||||
"target" TEXT,
|
||||
"targetBegin" TEXT,
|
||||
"empty" TEXT,
|
||||
"hasInfection" BOOLEAN NOT NULL DEFAULT false,
|
||||
"infectionName" TEXT,
|
||||
"revenueDispoLive" DOUBLE PRECISION,
|
||||
"billDate" TIMESTAMP(3),
|
||||
"billNumber" TEXT,
|
||||
"revenue" DOUBLE PRECISION NOT NULL DEFAULT 0,
|
||||
"consumptionCosts" DOUBLE PRECISION NOT NULL DEFAULT 0,
|
||||
"revenueDeviation" DOUBLE PRECISION NOT NULL DEFAULT 0,
|
||||
"createdAt" TIMESTAMP(3),
|
||||
"deletedAt" TIMESTAMP(3),
|
||||
"ticketId" UUID,
|
||||
|
||||
CONSTRAINT "Tour_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "Patient" (
|
||||
"id" TEXT NOT NULL,
|
||||
"surname" TEXT,
|
||||
"name" TEXT,
|
||||
"street" TEXT,
|
||||
"zip" TEXT,
|
||||
"city" TEXT,
|
||||
"birthday" TIMESTAMP(3),
|
||||
"healthinsuranceId" TEXT,
|
||||
"healthinsurance" TEXT,
|
||||
"careDegree" TEXT,
|
||||
"disabilityMark1" TEXT,
|
||||
"disabilityMark2" TEXT,
|
||||
|
||||
CONSTRAINT "Patient_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "Ticket" (
|
||||
"id" UUID NOT NULL DEFAULT gen_random_uuid(),
|
||||
"currentState" "TicketValidationState" NOT NULL,
|
||||
"notes" TEXT[],
|
||||
"errors" TEXT[],
|
||||
"isUrgent" BOOLEAN NOT NULL DEFAULT false,
|
||||
"urgency" TIMESTAMP(3) NOT NULL DEFAULT '2099-12-31 23:59:59.999 +00:00',
|
||||
"approvalState" "ApprovalState",
|
||||
"documentInfo" JSONB DEFAULT '{"approval": {"isNeeded": null, "whoRequested": "","answeredFrom": ""},"tdLocation": ""}',
|
||||
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
|
||||
CONSTRAINT "Ticket_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "TicketStateHistory" (
|
||||
"id" UUID NOT NULL DEFAULT gen_random_uuid(),
|
||||
"state" "TicketValidationState" NOT NULL,
|
||||
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"ticketId" UUID NOT NULL,
|
||||
|
||||
CONSTRAINT "TicketStateHistory_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "AttendanceRegistration" (
|
||||
"attendanceRegistrationId" INTEGER NOT NULL,
|
||||
"employeeId" INTEGER NOT NULL,
|
||||
"personnelNumber" TEXT NOT NULL,
|
||||
"dateTime" TIMESTAMP(3) NOT NULL,
|
||||
"event" TEXT NOT NULL,
|
||||
|
||||
CONSTRAINT "AttendanceRegistration_pkey" PRIMARY KEY ("attendanceRegistrationId")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "WorkTime" (
|
||||
"id" TEXT NOT NULL,
|
||||
"userId" TEXT NOT NULL,
|
||||
"firstname" TEXT NOT NULL,
|
||||
"surname" TEXT NOT NULL,
|
||||
"startDate" TIMESTAMP(3),
|
||||
"endDate" TIMESTAMP(3),
|
||||
"department" TEXT,
|
||||
"pause" INTEGER NOT NULL,
|
||||
"duration" INTEGER NOT NULL,
|
||||
|
||||
CONSTRAINT "WorkTime_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "PlannedTime" (
|
||||
"id" TEXT NOT NULL,
|
||||
"userId" TEXT NOT NULL,
|
||||
"firstname" TEXT,
|
||||
"surname" TEXT,
|
||||
"startDate" TIMESTAMP(3),
|
||||
"endDate" TIMESTAMP(3),
|
||||
"department" TEXT,
|
||||
"pause" INTEGER NOT NULL,
|
||||
"duration" INTEGER NOT NULL,
|
||||
"note" TEXT,
|
||||
|
||||
CONSTRAINT "PlannedTime_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX "Tour_operationId_key" ON "Tour"("operationId");
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "Tour" ADD CONSTRAINT "Tour_ticketId_fkey" FOREIGN KEY ("ticketId") REFERENCES "Ticket"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "TicketStateHistory" ADD CONSTRAINT "TicketStateHistory_ticketId_fkey" FOREIGN KEY ("ticketId") REFERENCES "Ticket"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
@@ -0,0 +1,3 @@
|
||||
# Please do not edit this file manually
|
||||
# It should be added in your version-control system (i.e. Git)
|
||||
provider = "postgresql"
|
||||
@@ -0,0 +1,480 @@
|
||||
// This is your Prisma schema file,
|
||||
// learn more about it in the docs: https://pris.ly/d/prisma-schema
|
||||
|
||||
// Looking for ways to speed up your queries, or scale easily with your serverless or edge functions?
|
||||
// Try Prisma Accelerate: https://pris.ly/cli/accelerate-init
|
||||
|
||||
generator client {
|
||||
provider = "prisma-client-js"
|
||||
previewFeatures = ["postgresqlExtensions", "fieldReference"]
|
||||
}
|
||||
|
||||
datasource db {
|
||||
provider = "postgresql"
|
||||
url = env("DATABASE_URL")
|
||||
extensions = [pgcrypto]
|
||||
}
|
||||
|
||||
model TourSource {
|
||||
internalId String @id @default(dbgenerated("gen_random_uuid()")) @db.Uuid
|
||||
insertedAt DateTime @default(now())
|
||||
jobId String
|
||||
|
||||
id String?
|
||||
check String?
|
||||
createTime String? // yyyy-MM-dd HH:mm:ss 'Europe/Berlin'
|
||||
empfangenVonId String?
|
||||
endgen String? // yyyy-MM-dd
|
||||
serienId String?
|
||||
serienKategorName String?
|
||||
serienKategorie String?
|
||||
zadStatus String?
|
||||
abrDate String? // yyyy-MM-dd
|
||||
abrNum String?
|
||||
abrTime String? // HH:mm
|
||||
|
||||
ausrueckZeit String? // HH:mm 'Europe/Berlin'
|
||||
startTime String? // HH:mm 'Europe/Berlin' (is after ausrueckZeit)
|
||||
startDate String? // yyyy-MM-dd HH:mm:ss 'Europe/Berlin'
|
||||
date String? // yyyy-MM-dd
|
||||
date_iso String? // ISO 8601 String
|
||||
dauergenehmigung String?
|
||||
direction String?
|
||||
distanceValue String? // meters (probably int)
|
||||
besetztKm String? // kilometers (float)
|
||||
gefahren String? // Boolean as number
|
||||
gesamtPreis String? // float
|
||||
infektion String? // Boolean as number
|
||||
itDesc String?
|
||||
itKrz String?
|
||||
itName String?
|
||||
kkId String?
|
||||
krankenkasse String?
|
||||
patId String?
|
||||
patName String?
|
||||
patSurname String?
|
||||
patStreet String?
|
||||
patZip String?
|
||||
patCity String?
|
||||
startInstitution String?
|
||||
startStreet String?
|
||||
startZip String?
|
||||
startCity String?
|
||||
targetInstitution String?
|
||||
targetStreet String?
|
||||
targetZip String?
|
||||
targetCity String?
|
||||
transportKrz String?
|
||||
transportName String?
|
||||
transportart String? // ID
|
||||
verordnungsId String?
|
||||
verordnungsName String?
|
||||
type String?
|
||||
|
||||
startBegin String? // HH:mm 'Europe/Berlin'
|
||||
startEnd String? // HH:mm 'Europe/Berlin'
|
||||
frei String? // HH:mm 'Europe/Berlin'
|
||||
ziel String? // HH:mm 'Europe/Berlin'
|
||||
zielBegin String? // HH:mm 'Europe/Berlin'
|
||||
endTime String? // HH:mm 'Europe/Berlin'
|
||||
endDate String? // yyyy-MM-dd HH:mm:ss 'Europe/Berlin'
|
||||
|
||||
einsatzNummer String?
|
||||
carName String?
|
||||
carNo String? // ID
|
||||
beifahrerName String?
|
||||
beifahrer String? // ID
|
||||
fahrerName String?
|
||||
fahrer String? // ID
|
||||
|
||||
color String? // Hex rgb
|
||||
}
|
||||
|
||||
model EmployeeDispoLiveSource {
|
||||
internalId String @id @default(dbgenerated("gen_random_uuid()")) @db.Uuid
|
||||
insertedAt DateTime @default(now())
|
||||
jobId String
|
||||
|
||||
id String?
|
||||
pScheinAblaufDatum String? // yyyy-MM-dd
|
||||
name String?
|
||||
surname String?
|
||||
persId String?
|
||||
importPersId String? // Personal ID aus Dyflexis
|
||||
qualifikation String? // ID
|
||||
}
|
||||
|
||||
model AttendanceRegistrationSource {
|
||||
internalId String @id @default(dbgenerated("gen_random_uuid()")) @db.Uuid
|
||||
insertedAt DateTime @default(now())
|
||||
jobId String
|
||||
|
||||
attendanceRegistrationId String?
|
||||
employeeId String?
|
||||
personnelNumber String?
|
||||
dateTime String? // ISO 8601 String with timezone
|
||||
event String?
|
||||
}
|
||||
|
||||
model PlannedTimeSource {
|
||||
internalId String @id @default(dbgenerated("gen_random_uuid()")) @db.Uuid
|
||||
insertedAt DateTime @default(now())
|
||||
jobId String
|
||||
|
||||
id String?
|
||||
user_id String?
|
||||
firstname String?
|
||||
surname String?
|
||||
department_id String?
|
||||
department_name String?
|
||||
start_date String? // yyyy-MM-dd HH:mm:ss 'Europe/Berlin'
|
||||
end_date String? // yyyy-MM-dd HH:mm:ss 'Europe/Berlin'
|
||||
pauze String?
|
||||
duration String?
|
||||
deleted String?
|
||||
mark String?
|
||||
}
|
||||
|
||||
model WorkTimeSource {
|
||||
internalId String @id @default(dbgenerated("gen_random_uuid()")) @db.Uuid
|
||||
insertedAt DateTime @default(now())
|
||||
jobId String
|
||||
|
||||
id String?
|
||||
user_id String?
|
||||
firstname String?
|
||||
surname String?
|
||||
department_id String?
|
||||
department_name String?
|
||||
start_date String? // yyyy-MM-dd HH:mm:ss 'Europe/Berlin'
|
||||
end_date String? // yyyy-MM-dd HH:mm:ss 'Europe/Berlin'
|
||||
pauze String?
|
||||
duration String?
|
||||
}
|
||||
|
||||
model EmployeeDyflexisSource {
|
||||
internalId String @id @default(dbgenerated("gen_random_uuid()")) @db.Uuid
|
||||
insertedAt DateTime @default(now())
|
||||
jobId String
|
||||
|
||||
id String?
|
||||
firstname String?
|
||||
surname String?
|
||||
contract_id String?
|
||||
contract_start String? // yyyy-MM-dd
|
||||
contract_end String? // yyyy-MM-dd
|
||||
contract_hours_week String? // Float string
|
||||
contract_salary_hour String? // Float string
|
||||
}
|
||||
|
||||
model PatientSource {
|
||||
internalId String @id @default(dbgenerated("gen_random_uuid()")) @db.Uuid
|
||||
insertedAt DateTime @default(now())
|
||||
jobId String
|
||||
|
||||
id String?
|
||||
surname String?
|
||||
name String?
|
||||
street String?
|
||||
zip String?
|
||||
city String?
|
||||
|
||||
birthday String?
|
||||
kkId String?
|
||||
krankenkasse String?
|
||||
pflegestufe String?
|
||||
behinderung1 String?
|
||||
behinderung2 String?
|
||||
}
|
||||
|
||||
model TourStaging {
|
||||
internalId String @id @default(dbgenerated("gen_random_uuid()")) @db.Uuid
|
||||
|
||||
id String?
|
||||
done Boolean?
|
||||
direction String?
|
||||
carName String?
|
||||
operationId String?
|
||||
|
||||
driverId String?
|
||||
driverName String?
|
||||
codriverId String?
|
||||
codriverName String?
|
||||
|
||||
patientId String?
|
||||
patientName String?
|
||||
patientSurname String?
|
||||
patientStreet String?
|
||||
patientZip String?
|
||||
patientCity String?
|
||||
healthInsurance String?
|
||||
healthInsuranceNumber String?
|
||||
|
||||
type String?
|
||||
category String?
|
||||
transportType String?
|
||||
ordinanceType String?
|
||||
rangeEndDate DateTime?
|
||||
|
||||
startInstitution String?
|
||||
startStreet String?
|
||||
startZip String?
|
||||
startCity String?
|
||||
targetInstitution String?
|
||||
targetStreet String?
|
||||
targetZip String?
|
||||
targetCity String?
|
||||
|
||||
startDate DateTime?
|
||||
|
||||
check Int @default(0)
|
||||
occupiedKm Float?
|
||||
totalKm Float?
|
||||
|
||||
startBegin String?
|
||||
startEnd String?
|
||||
target String?
|
||||
targetBegin String?
|
||||
empty String?
|
||||
|
||||
hasInfection Boolean @default(false)
|
||||
infectionName String?
|
||||
|
||||
revenueDispoLive Float?
|
||||
billDate DateTime?
|
||||
billNumber String?
|
||||
revenue Float @default(0)
|
||||
revenueDeviation Float @default(0)
|
||||
consumptionCosts Float @default(0)
|
||||
|
||||
createdAt DateTime?
|
||||
}
|
||||
|
||||
model PatientStaging {
|
||||
internalId String @id @default(dbgenerated("gen_random_uuid()")) @db.Uuid
|
||||
|
||||
id String?
|
||||
surname String?
|
||||
name String?
|
||||
street String?
|
||||
zip String?
|
||||
city String?
|
||||
|
||||
birthday DateTime?
|
||||
healthinsuranceId String?
|
||||
healthinsurance String?
|
||||
careDegree String?
|
||||
disabilityMark1 String?
|
||||
disabilityMark2 String?
|
||||
}
|
||||
|
||||
model AttendanceRegistrationStaging {
|
||||
internalId String @id @default(dbgenerated("gen_random_uuid()")) @db.Uuid
|
||||
|
||||
attendanceRegistrationId Int
|
||||
employeeId Int
|
||||
dateTime DateTime
|
||||
event String
|
||||
}
|
||||
|
||||
model PlannedTimeStaging {
|
||||
internalId String @id @default(dbgenerated("gen_random_uuid()")) @db.Uuid
|
||||
|
||||
id Int
|
||||
employeeId Int
|
||||
firstname String?
|
||||
surname String?
|
||||
departmentName String?
|
||||
startDate DateTime
|
||||
endDate DateTime
|
||||
deleted Boolean
|
||||
mark String?
|
||||
}
|
||||
|
||||
model WorkTimeStaging {
|
||||
internalId String @id @default(dbgenerated("gen_random_uuid()")) @db.Uuid
|
||||
|
||||
id Int
|
||||
employeeId Int
|
||||
firstname String
|
||||
surname String
|
||||
departmentName String?
|
||||
startDate DateTime
|
||||
endDate DateTime
|
||||
}
|
||||
|
||||
model EmployeeStaging {
|
||||
internalId String @id @default(dbgenerated("gen_random_uuid()")) @db.Uuid
|
||||
|
||||
id Int
|
||||
firstname String
|
||||
surname String
|
||||
contractStart DateTime
|
||||
contractEnd DateTime
|
||||
contractHoursWeek Float
|
||||
contractSalaryHour Float
|
||||
personTransportCertificate DateTime?
|
||||
qualification String?
|
||||
}
|
||||
|
||||
model Tour {
|
||||
id String @id @default(dbgenerated("gen_random_uuid()")) @db.Uuid
|
||||
done Boolean
|
||||
direction String
|
||||
carName String?
|
||||
operationId String @unique
|
||||
|
||||
driverId String?
|
||||
driverName String?
|
||||
codriverId String?
|
||||
codriverName String?
|
||||
|
||||
patientId String?
|
||||
patientName String?
|
||||
patientSurname String?
|
||||
patientStreet String?
|
||||
patientZip String?
|
||||
patientCity String?
|
||||
healthInsurance String?
|
||||
healthInsuranceNumber String?
|
||||
|
||||
type String?
|
||||
category String?
|
||||
transportType String?
|
||||
ordinanceType String?
|
||||
rangeEndDate DateTime?
|
||||
|
||||
startInstitution String?
|
||||
startStreet String?
|
||||
startZip String?
|
||||
startCity String?
|
||||
targetInstitution String?
|
||||
targetStreet String?
|
||||
targetZip String?
|
||||
targetCity String?
|
||||
|
||||
startDate DateTime
|
||||
|
||||
check Int @default(0)
|
||||
occupiedKm Float?
|
||||
totalKm Float?
|
||||
|
||||
startBegin String?
|
||||
startEnd String?
|
||||
target String?
|
||||
targetBegin String?
|
||||
empty String?
|
||||
|
||||
hasInfection Boolean @default(false)
|
||||
infectionName String?
|
||||
|
||||
revenueDispoLive Float?
|
||||
billDate DateTime?
|
||||
billNumber String?
|
||||
|
||||
revenue Float @default(0)
|
||||
consumptionCosts Float @default(0)
|
||||
revenueDeviation Float @default(0)
|
||||
|
||||
createdAt DateTime?
|
||||
deletedAt DateTime?
|
||||
Ticket Ticket? @relation(fields: [ticketId], references: [id])
|
||||
ticketId String? @db.Uuid
|
||||
}
|
||||
|
||||
model Patient {
|
||||
id String @id
|
||||
surname String?
|
||||
name String?
|
||||
street String?
|
||||
zip String?
|
||||
city String?
|
||||
|
||||
birthday DateTime?
|
||||
healthinsuranceId String?
|
||||
healthinsurance String?
|
||||
careDegree String?
|
||||
disabilityMark1 String?
|
||||
disabilityMark2 String?
|
||||
}
|
||||
|
||||
enum TicketState {
|
||||
CREATED
|
||||
APPROVAL_REQUIRED
|
||||
READY
|
||||
DONE
|
||||
BILLABLE
|
||||
ARCHIVED
|
||||
}
|
||||
|
||||
enum TicketValidationState {
|
||||
CREATED
|
||||
USER_INTERACTION_REQUIRED
|
||||
TD_UNCERTAIN
|
||||
DOCUMENTS_MISSING
|
||||
ARCHIVED
|
||||
}
|
||||
|
||||
enum ApprovalState {
|
||||
UNKNOWN
|
||||
FREE
|
||||
REQUIRED
|
||||
REQUESTED
|
||||
APPROVED
|
||||
}
|
||||
|
||||
model Ticket {
|
||||
id String @id @default(dbgenerated("gen_random_uuid()")) @db.Uuid
|
||||
tours Tour[]
|
||||
state TicketStateHistory[]
|
||||
currentState TicketValidationState
|
||||
notes String[]
|
||||
errors String[]
|
||||
isUrgent Boolean @default(false)
|
||||
urgency DateTime @default("2099-12-31T23:59:59.999Z")
|
||||
approvalState ApprovalState?
|
||||
documentInfo Json? @default("{\"approval\": {\"isNeeded\": null, \"whoRequested\": \"\",\"answeredFrom\": \"\"},\"tdLocation\": \"\"}")
|
||||
createdAt DateTime @default(now())
|
||||
}
|
||||
|
||||
model TicketStateHistory {
|
||||
id String @id @default(dbgenerated("gen_random_uuid()")) @db.Uuid
|
||||
state TicketValidationState
|
||||
createdAt DateTime @default(now())
|
||||
|
||||
Ticket Ticket @relation(fields: [ticketId], references: [id])
|
||||
ticketId String @db.Uuid
|
||||
}
|
||||
|
||||
model AttendanceRegistration {
|
||||
attendanceRegistrationId Int @id
|
||||
employeeId Int
|
||||
personnelNumber String
|
||||
dateTime DateTime
|
||||
event String
|
||||
}
|
||||
|
||||
model WorkTime {
|
||||
id String @id
|
||||
userId String
|
||||
firstname String
|
||||
surname String
|
||||
startDate DateTime?
|
||||
endDate DateTime?
|
||||
department String?
|
||||
pause Int
|
||||
duration Int
|
||||
}
|
||||
|
||||
model PlannedTime {
|
||||
id String @id
|
||||
userId String
|
||||
firstname String?
|
||||
surname String?
|
||||
startDate DateTime?
|
||||
endDate DateTime?
|
||||
department String?
|
||||
pause Int
|
||||
duration Int
|
||||
note String?
|
||||
}
|
||||
Reference in New Issue
Block a user