Bedarfsausweis Gewerbe
This commit is contained in:
@@ -174,11 +174,14 @@ export async function nachweisSpeichern(
|
|||||||
aufnahme.id = aufnahme_id
|
aufnahme.id = aufnahme_id
|
||||||
|
|
||||||
if (ausweisart == Enums.Ausweisart.GEGNachweisWohnen) {
|
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) {
|
} 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) {
|
} 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), {
|
await api.aufnahme._id.bilder.PUT.fetch(bilder.map(bild => bild.id), {
|
||||||
|
|||||||
@@ -12,6 +12,8 @@ import {
|
|||||||
VerbrauchsausweisGewerbe,
|
VerbrauchsausweisGewerbe,
|
||||||
VerbrauchsausweisWohnen,
|
VerbrauchsausweisWohnen,
|
||||||
GEGNachweisWohnen,
|
GEGNachweisWohnen,
|
||||||
|
BedarfsausweisGewerbe,
|
||||||
|
GEGNachweisGewerbe,
|
||||||
} from "#lib/client/prisma.js";
|
} from "#lib/client/prisma.js";
|
||||||
import { z, ZodSchema } from "zod";
|
import { z, ZodSchema } from "zod";
|
||||||
|
|
||||||
@@ -143,7 +145,7 @@ export type AufnahmeKomplettClient = AufnahmeClient & {
|
|||||||
bedarfsausweise_wohnen: (BedarfsausweisWohnenClient & { rechnung: RechnungClient })[],
|
bedarfsausweise_wohnen: (BedarfsausweisWohnenClient & { rechnung: RechnungClient })[],
|
||||||
verbrauchsausweise_wohnen: (VerbrauchsausweisWohnenClient & { rechnung: RechnungClient })[],
|
verbrauchsausweise_wohnen: (VerbrauchsausweisWohnenClient & { rechnung: RechnungClient })[],
|
||||||
verbrauchsausweise_gewerbe: (VerbrauchsausweisGewerbeClient & { rechnung: RechnungClient })[],
|
verbrauchsausweise_gewerbe: (VerbrauchsausweisGewerbeClient & { rechnung: RechnungClient })[],
|
||||||
geg_nachweise_wohnen: (GEGNachweisWohnenClient & { rechnung: RechnungClient })[]
|
geg_nachweise_wohnen: (GEGNachweisWohnen & { rechnung: RechnungClient })[],
|
||||||
|
geg_nachweise_gewerbe: (GEGNachweisGewerbe & { rechnung: RechnungClient })[],
|
||||||
|
bedarfsausweise_gewerbe: (BedarfsausweisGewerbe & { rechnung: RechnungClient })[],
|
||||||
}
|
}
|
||||||
|
|
||||||
export type GEGNachweisWohnenClient = GEGNachweisWohnen
|
|
||||||
@@ -18,6 +18,12 @@ export function getPrismaAusweisAdapter(id: string) {
|
|||||||
return prisma.verbrauchsausweisGewerbe
|
return prisma.verbrauchsausweisGewerbe
|
||||||
} else if (ausweisart === Enums.Ausweisart.BedarfsausweisWohnen) {
|
} else if (ausweisart === Enums.Ausweisart.BedarfsausweisWohnen) {
|
||||||
return prisma.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.
|
* Gibt den richtigen Ansichtsausweis basierend auf der Ausweisart zurück.
|
||||||
* @param ausweis
|
* @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) {
|
if (!ausweisart) {
|
||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
@@ -43,7 +49,7 @@ export async function getAnsichtsausweis(ausweis: VerbrauchsausweisWohnenClient
|
|||||||
* Gibt das richtige Datenblatt basierend auf der Ausweisart zurück.
|
* Gibt das richtige Datenblatt basierend auf der Ausweisart zurück.
|
||||||
* @param ausweis
|
* @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) {
|
if (!ausweisart) {
|
||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -88,6 +88,12 @@
|
|||||||
{#each aufnahme.geg_nachweise_wohnen as nachweis}
|
{#each aufnahme.geg_nachweise_wohnen as nachweis}
|
||||||
<DashboardNachweis {nachweis} {aufnahme} {objekt}></DashboardNachweis>
|
<DashboardNachweis {nachweis} {aufnahme} {objekt}></DashboardNachweis>
|
||||||
{/each}
|
{/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>
|
||||||
|
|
||||||
<div class="fixed bottom-8 right-8 flex flex-col gap-4">
|
<div class="fixed bottom-8 right-8 flex flex-col gap-4">
|
||||||
|
|||||||
@@ -175,7 +175,7 @@
|
|||||||
let result: Awaited<ReturnType<typeof nachweisSpeichern>> | null = null;
|
let result: Awaited<ReturnType<typeof nachweisSpeichern>> | null = null;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
result = await nachweisSpeichern(ausweis, objekt, aufnahme, bilder, unterlagen, ausweisart)
|
result = await nachweisSpeichern(ausweis as unknown as GEGNachweisWohnen | GEGNachweisGewerbe | BedarfsausweisGewerbe, objekt, aufnahme, bilder, unterlagen, ausweisart)
|
||||||
} catch(e) {
|
} catch(e) {
|
||||||
addNotification({
|
addNotification({
|
||||||
dismissable: true,
|
dismissable: true,
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
BildClient,
|
BildClient,
|
||||||
} from "#components/Ausweis/types.js";
|
} from "#components/Ausweis/types.js";
|
||||||
import Bereich from "#components/labels/Bereich.svelte";
|
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 Progressbar from "#components/Ausweis/Progressbar.svelte";
|
||||||
import FileGrid from "#components/FileGrid.svelte";
|
import FileGrid from "#components/FileGrid.svelte";
|
||||||
import ButtonWeiterHilfe from "#components/Ausweis/ButtonWeiterHilfe.svelte";
|
import ButtonWeiterHilfe from "#components/Ausweis/ButtonWeiterHilfe.svelte";
|
||||||
@@ -24,8 +24,7 @@
|
|||||||
export let aufnahme: AufnahmeClient;
|
export let aufnahme: AufnahmeClient;
|
||||||
export let user: BenutzerClient = {} as BenutzerClient;
|
export let user: BenutzerClient = {} as BenutzerClient;
|
||||||
export let bilder: BildClient[] = [];
|
export let bilder: BildClient[] = [];
|
||||||
export let plaene: UnterlageClient[] = [];
|
export let unterlagen: Unterlage[] = [];
|
||||||
export let unterlagen: UnterlageClient[] = [];
|
|
||||||
export let ausweistyp: Enums.AusweisTyp;
|
export let ausweistyp: Enums.AusweisTyp;
|
||||||
export let id: string | null;
|
export let id: string | null;
|
||||||
|
|
||||||
@@ -151,35 +150,6 @@
|
|||||||
>
|
>
|
||||||
|
|
||||||
<Bereich bereich="G" title="Gebäudepläne & Unterlagen">
|
<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
|
<div
|
||||||
class="bereich-box grid grid-cols-1 lg:grid-cols-2 gap-x-6 mt-6"
|
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
|
können entweder im PDF Format oder als Bild hochgeladen
|
||||||
werden.
|
werden.
|
||||||
</div>
|
</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>
|
||||||
|
|
||||||
<div class="md:box md:card mb-0 mt-6 md:mt-0">
|
<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({
|
const nachweis = await prisma.bedarfsausweisGewerbe.create({
|
||||||
data: {
|
data: {
|
||||||
|
|||||||
@@ -52,6 +52,8 @@ export const PUT = defineApiRoute({
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
console.log(nachweis);
|
||||||
|
|
||||||
|
|
||||||
if (!nachweis || nachweis.benutzer_id !== user.id) {
|
if (!nachweis || nachweis.benutzer_id !== user.id) {
|
||||||
throw new APIError({
|
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 {
|
try {
|
||||||
const command = new PutObjectCommand({
|
const command = new PutObjectCommand({
|
||||||
|
|||||||
@@ -7,9 +7,14 @@ import { getCurrentUser } from "#lib/server/user";
|
|||||||
|
|
||||||
const user = await getCurrentUser(Astro)
|
const user = await getCurrentUser(Astro)
|
||||||
const id = Astro.url.searchParams.get("id");
|
const id = Astro.url.searchParams.get("id");
|
||||||
|
|
||||||
|
if (!user || !id) {
|
||||||
|
return Astro.redirect("/")
|
||||||
|
}
|
||||||
|
|
||||||
const adapter = getPrismaAusweisAdapter(id || "")
|
const adapter = getPrismaAusweisAdapter(id || "")
|
||||||
|
|
||||||
if (!user || !id || !adapter) {
|
if (!adapter) {
|
||||||
return Astro.redirect("/")
|
return Astro.redirect("/")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user