Bedarfsausweis Gewerbe
This commit is contained in:
@@ -174,11 +174,14 @@ export async function nachweisSpeichern(
|
||||
aufnahme.id = aufnahme_id
|
||||
|
||||
if (ausweisart == Enums.Ausweisart.GEGNachweisWohnen) {
|
||||
gegNachweisWohnenSpeichern(nachweis as GEGNachweisWohnen, aufnahme_id)
|
||||
const id = await gegNachweisWohnenSpeichern(nachweis as GEGNachweisWohnen, aufnahme_id)
|
||||
nachweis.id = id;
|
||||
} else if (ausweisart === Enums.Ausweisart.GEGNachweisGewerbe) {
|
||||
gegNachweisGewerbeSpeichern(nachweis as GEGNachweisGewerbe, aufnahme_id)
|
||||
const id = await gegNachweisGewerbeSpeichern(nachweis as GEGNachweisGewerbe, aufnahme_id)
|
||||
nachweis.id = id;
|
||||
} else if (ausweisart === Enums.Ausweisart.BedarfsausweisGewerbe) {
|
||||
bedarfsausweisGewerbeSpeichern(nachweis as BedarfsausweisGewerbe, aufnahme_id)
|
||||
const id = await bedarfsausweisGewerbeSpeichern(nachweis as BedarfsausweisGewerbe, aufnahme_id)
|
||||
nachweis.id = id;
|
||||
}
|
||||
|
||||
await api.aufnahme._id.bilder.PUT.fetch(bilder.map(bild => bild.id), {
|
||||
|
||||
@@ -12,6 +12,8 @@ import {
|
||||
VerbrauchsausweisGewerbe,
|
||||
VerbrauchsausweisWohnen,
|
||||
GEGNachweisWohnen,
|
||||
BedarfsausweisGewerbe,
|
||||
GEGNachweisGewerbe,
|
||||
} from "#lib/client/prisma.js";
|
||||
import { z, ZodSchema } from "zod";
|
||||
|
||||
@@ -143,7 +145,7 @@ export type AufnahmeKomplettClient = AufnahmeClient & {
|
||||
bedarfsausweise_wohnen: (BedarfsausweisWohnenClient & { rechnung: RechnungClient })[],
|
||||
verbrauchsausweise_wohnen: (VerbrauchsausweisWohnenClient & { rechnung: RechnungClient })[],
|
||||
verbrauchsausweise_gewerbe: (VerbrauchsausweisGewerbeClient & { rechnung: RechnungClient })[],
|
||||
geg_nachweise_wohnen: (GEGNachweisWohnenClient & { rechnung: RechnungClient })[]
|
||||
}
|
||||
|
||||
export type GEGNachweisWohnenClient = GEGNachweisWohnen
|
||||
geg_nachweise_wohnen: (GEGNachweisWohnen & { rechnung: RechnungClient })[],
|
||||
geg_nachweise_gewerbe: (GEGNachweisGewerbe & { rechnung: RechnungClient })[],
|
||||
bedarfsausweise_gewerbe: (BedarfsausweisGewerbe & { rechnung: RechnungClient })[],
|
||||
}
|
||||
@@ -18,6 +18,12 @@ export function getPrismaAusweisAdapter(id: string) {
|
||||
return prisma.verbrauchsausweisGewerbe
|
||||
} else if (ausweisart === Enums.Ausweisart.BedarfsausweisWohnen) {
|
||||
return prisma.bedarfsausweisWohnen
|
||||
} else if (ausweisart === Enums.Ausweisart.GEGNachweisWohnen) {
|
||||
return prisma.gEGNachweisWohnen
|
||||
} else if (ausweisart === Enums.Ausweisart.GEGNachweisGewerbe) {
|
||||
return prisma.gEGNachweisGewerbe
|
||||
} else if (ausweisart === Enums.Ausweisart.BedarfsausweisGewerbe) {
|
||||
return prisma.bedarfsausweisGewerbe
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,7 +31,7 @@ export function getPrismaAusweisAdapter(id: string) {
|
||||
* Gibt den richtigen Ansichtsausweis basierend auf der Ausweisart zurück.
|
||||
* @param ausweis
|
||||
*/
|
||||
export async function getAnsichtsausweis(ausweis: VerbrauchsausweisWohnenClient | VerbrauchsausweisGewerbeClient | BedarfsausweisWohnenClient, aufnahme: AufnahmeClient, objekt: ObjektClient, bilder: BildClient[], user: BenutzerClient, ausweisart = getAusweisartFromId(ausweis.uid)) {
|
||||
export async function getAnsichtsausweis(ausweis: VerbrauchsausweisWohnenClient | VerbrauchsausweisGewerbeClient | BedarfsausweisWohnenClient, aufnahme: AufnahmeClient, objekt: ObjektClient, bilder: BildClient[], user: BenutzerClient, ausweisart = getAusweisartFromId(ausweis.id)) {
|
||||
if (!ausweisart) {
|
||||
return null
|
||||
}
|
||||
@@ -43,7 +49,7 @@ export async function getAnsichtsausweis(ausweis: VerbrauchsausweisWohnenClient
|
||||
* Gibt das richtige Datenblatt basierend auf der Ausweisart zurück.
|
||||
* @param ausweis
|
||||
*/
|
||||
export async function getDatenblatt(ausweis: VerbrauchsausweisWohnenClient | VerbrauchsausweisGewerbeClient | BedarfsausweisWohnenClient, aufnahme: AufnahmeClient, objekt: ObjektClient, bilder: BildClient[], user: BenutzerClient, ausweisart = getAusweisartFromId(ausweis.uid)) {
|
||||
export async function getDatenblatt(ausweis: VerbrauchsausweisWohnenClient | VerbrauchsausweisGewerbeClient | BedarfsausweisWohnenClient, aufnahme: AufnahmeClient, objekt: ObjektClient, bilder: BildClient[], user: BenutzerClient, ausweisart = getAusweisartFromId(ausweis.id)) {
|
||||
if (!ausweisart) {
|
||||
return null
|
||||
}
|
||||
|
||||
@@ -88,6 +88,12 @@
|
||||
{#each aufnahme.geg_nachweise_wohnen as nachweis}
|
||||
<DashboardNachweis {nachweis} {aufnahme} {objekt}></DashboardNachweis>
|
||||
{/each}
|
||||
{#each aufnahme.geg_nachweise_gewerbe as nachweis}
|
||||
<DashboardNachweis {nachweis} {aufnahme} {objekt}></DashboardNachweis>
|
||||
{/each}
|
||||
{#each aufnahme.bedarfsausweise_gewerbe as nachweis}
|
||||
<DashboardNachweis {nachweis} {aufnahme} {objekt}></DashboardNachweis>
|
||||
{/each}
|
||||
</div>
|
||||
|
||||
<div class="fixed bottom-8 right-8 flex flex-col gap-4">
|
||||
|
||||
@@ -174,16 +174,16 @@
|
||||
|
||||
let result: Awaited<ReturnType<typeof nachweisSpeichern>> | null = null;
|
||||
|
||||
try {
|
||||
result = await nachweisSpeichern(ausweis, objekt, aufnahme, bilder, unterlagen, ausweisart)
|
||||
} catch(e) {
|
||||
addNotification({
|
||||
dismissable: true,
|
||||
message: "Ups... Das hat nicht geklappt.",
|
||||
subtext: "Speichern ist fehlgeschlagen, bitte versuchen sie es erneut oder kontaktieren sie unseren Support."
|
||||
})
|
||||
return;
|
||||
}
|
||||
try {
|
||||
result = await nachweisSpeichern(ausweis as unknown as GEGNachweisWohnen | GEGNachweisGewerbe | BedarfsausweisGewerbe, objekt, aufnahme, bilder, unterlagen, ausweisart)
|
||||
} catch(e) {
|
||||
addNotification({
|
||||
dismissable: true,
|
||||
message: "Ups... Das hat nicht geklappt.",
|
||||
subtext: "Speichern ist fehlgeschlagen, bitte versuchen sie es erneut oder kontaktieren sie unseren Support."
|
||||
})
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
const { id } = await api.rechnung.anfordern.PUT.fetch(
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
BildClient,
|
||||
} from "#components/Ausweis/types.js";
|
||||
import Bereich from "#components/labels/Bereich.svelte";
|
||||
import { BedarfsausweisGewerbe, Enums } from "#lib/client/prisma.js";
|
||||
import { BedarfsausweisGewerbe, Enums, Unterlage } from "#lib/client/prisma.js";
|
||||
import Progressbar from "#components/Ausweis/Progressbar.svelte";
|
||||
import FileGrid from "#components/FileGrid.svelte";
|
||||
import ButtonWeiterHilfe from "#components/Ausweis/ButtonWeiterHilfe.svelte";
|
||||
@@ -24,8 +24,7 @@
|
||||
export let aufnahme: AufnahmeClient;
|
||||
export let user: BenutzerClient = {} as BenutzerClient;
|
||||
export let bilder: BildClient[] = [];
|
||||
export let plaene: UnterlageClient[] = [];
|
||||
export let unterlagen: UnterlageClient[] = [];
|
||||
export let unterlagen: Unterlage[] = [];
|
||||
export let ausweistyp: Enums.AusweisTyp;
|
||||
export let id: string | null;
|
||||
|
||||
@@ -151,35 +150,6 @@
|
||||
>
|
||||
|
||||
<Bereich bereich="G" title="Gebäudepläne & Unterlagen">
|
||||
<div
|
||||
class="bereich-box grid grid-cols-1 lg:grid-cols-2 gap-x-6 mt-6"
|
||||
>
|
||||
<div class="md:box md:card mb-0">
|
||||
<div class="font-bold mb-2">Pläne</div>
|
||||
|
||||
<div>
|
||||
Hier können sie Grundrisspläne, Ansichtspläne und
|
||||
Schnitte hochladen. Die Dateien können entweder im PDF
|
||||
Format oder als Bild hochgeladen werden.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="md:box md:card mb-0 mt-6 md:mt-0">
|
||||
<div>
|
||||
<strong
|
||||
>Bitte laden Sie hier mind. 1 Dokument hoch:</strong
|
||||
>
|
||||
</div>
|
||||
<FileGrid
|
||||
max={Infinity}
|
||||
min={1}
|
||||
name={"plaene"}
|
||||
bind:files={plaene}
|
||||
bind:ausweis={nachweis}
|
||||
bind:objekt
|
||||
></FileGrid>
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
class="bereich-box grid grid-cols-1 lg:grid-cols-2 gap-x-6 mt-6"
|
||||
>
|
||||
@@ -193,6 +163,14 @@
|
||||
können entweder im PDF Format oder als Bild hochgeladen
|
||||
werden.
|
||||
</div>
|
||||
|
||||
<div class="font-bold mb-2">Pläne</div>
|
||||
|
||||
<div>
|
||||
Hier können sie Grundrisspläne, Ansichtspläne und
|
||||
Schnitte hochladen. Die Dateien können entweder im PDF
|
||||
Format oder als Bild hochgeladen werden.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="md:box md:card mb-0 mt-6 md:mt-0">
|
||||
|
||||
@@ -46,7 +46,7 @@ export const PUT = defineApiRoute({
|
||||
})
|
||||
}
|
||||
|
||||
const id = generatePrefixedId(6, VALID_UUID_PREFIXES.GEGNachweisGewerbe)
|
||||
const id = generatePrefixedId(6, VALID_UUID_PREFIXES.BedarfsausweisGewerbe)
|
||||
|
||||
const nachweis = await prisma.bedarfsausweisGewerbe.create({
|
||||
data: {
|
||||
|
||||
@@ -52,6 +52,8 @@ export const PUT = defineApiRoute({
|
||||
})
|
||||
}
|
||||
|
||||
console.log(nachweis);
|
||||
|
||||
|
||||
if (!nachweis || nachweis.benutzer_id !== user.id) {
|
||||
throw new APIError({
|
||||
|
||||
@@ -40,7 +40,9 @@ export const PUT = defineApiRoute({
|
||||
}
|
||||
});
|
||||
|
||||
const buffer = Buffer.from(data, "base64");
|
||||
// Wir kriegen die Daten als dataURL
|
||||
const base64 = data.split(',')[1];
|
||||
const buffer = Buffer.from(base64, "base64");
|
||||
|
||||
try {
|
||||
const command = new PutObjectCommand({
|
||||
|
||||
@@ -7,9 +7,14 @@ import { getCurrentUser } from "#lib/server/user";
|
||||
|
||||
const user = await getCurrentUser(Astro)
|
||||
const id = Astro.url.searchParams.get("id");
|
||||
|
||||
if (!user || !id) {
|
||||
return Astro.redirect("/")
|
||||
}
|
||||
|
||||
const adapter = getPrismaAusweisAdapter(id || "")
|
||||
|
||||
if (!user || !id || !adapter) {
|
||||
if (!adapter) {
|
||||
return Astro.redirect("/")
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user