Merge pull request #523 from IBCornelsen/dev

update main
This commit is contained in:
Jens Cornelsen
2025-04-25 10:57:12 +02:00
committed by GitHub
4 changed files with 26 additions and 17 deletions

View File

@@ -14,6 +14,9 @@ export const createCaller = createCallerFactory({
"admin/stornieren": await import("../src/pages/api/admin/stornieren.ts"), "admin/stornieren": await import("../src/pages/api/admin/stornieren.ts"),
"aufnahme": await import("../src/pages/api/aufnahme/index.ts"), "aufnahme": await import("../src/pages/api/aufnahme/index.ts"),
"ausweise": await import("../src/pages/api/ausweise/index.ts"), "ausweise": await import("../src/pages/api/ausweise/index.ts"),
"auth/access-token": await import("../src/pages/api/auth/access-token.ts"),
"auth/passwort-vergessen": await import("../src/pages/api/auth/passwort-vergessen.ts"),
"auth/refresh-token": await import("../src/pages/api/auth/refresh-token.ts"),
"bedarfsausweis-gewerbe/[id]": await import("../src/pages/api/bedarfsausweis-gewerbe/[id].ts"), "bedarfsausweis-gewerbe/[id]": await import("../src/pages/api/bedarfsausweis-gewerbe/[id].ts"),
"bedarfsausweis-gewerbe": await import("../src/pages/api/bedarfsausweis-gewerbe/index.ts"), "bedarfsausweis-gewerbe": await import("../src/pages/api/bedarfsausweis-gewerbe/index.ts"),
"bedarfsausweis-wohnen/[id]": await import("../src/pages/api/bedarfsausweis-wohnen/[id].ts"), "bedarfsausweis-wohnen/[id]": await import("../src/pages/api/bedarfsausweis-wohnen/[id].ts"),
@@ -27,16 +30,14 @@ export const createCaller = createCallerFactory({
"rechnung/[id]": await import("../src/pages/api/rechnung/[id].ts"), "rechnung/[id]": await import("../src/pages/api/rechnung/[id].ts"),
"rechnung/anfordern": await import("../src/pages/api/rechnung/anfordern.ts"), "rechnung/anfordern": await import("../src/pages/api/rechnung/anfordern.ts"),
"rechnung": await import("../src/pages/api/rechnung/index.ts"), "rechnung": await import("../src/pages/api/rechnung/index.ts"),
"ticket": await import("../src/pages/api/ticket/index.ts"),
"verbrauchsausweis-gewerbe/[id]": await import("../src/pages/api/verbrauchsausweis-gewerbe/[id].ts"),
"verbrauchsausweis-gewerbe": await import("../src/pages/api/verbrauchsausweis-gewerbe/index.ts"),
"user": await import("../src/pages/api/user/index.ts"), "user": await import("../src/pages/api/user/index.ts"),
"user/self": await import("../src/pages/api/user/self.ts"), "user/self": await import("../src/pages/api/user/self.ts"),
"verbrauchsausweis-wohnen/[id]": await import("../src/pages/api/verbrauchsausweis-wohnen/[id].ts"), "verbrauchsausweis-wohnen/[id]": await import("../src/pages/api/verbrauchsausweis-wohnen/[id].ts"),
"verbrauchsausweis-wohnen": await import("../src/pages/api/verbrauchsausweis-wohnen/index.ts"), "verbrauchsausweis-wohnen": await import("../src/pages/api/verbrauchsausweis-wohnen/index.ts"),
"auth/access-token": await import("../src/pages/api/auth/access-token.ts"),
"auth/passwort-vergessen": await import("../src/pages/api/auth/passwort-vergessen.ts"),
"auth/refresh-token": await import("../src/pages/api/auth/refresh-token.ts"),
"webhooks/mollie": await import("../src/pages/api/webhooks/mollie.ts"), "webhooks/mollie": await import("../src/pages/api/webhooks/mollie.ts"),
"verbrauchsausweis-gewerbe/[id]": await import("../src/pages/api/verbrauchsausweis-gewerbe/[id].ts"),
"verbrauchsausweis-gewerbe": await import("../src/pages/api/verbrauchsausweis-gewerbe/index.ts"),
"aufnahme/[id]/bilder": await import("../src/pages/api/aufnahme/[id]/bilder.ts"), "aufnahme/[id]/bilder": await import("../src/pages/api/aufnahme/[id]/bilder.ts"),
"aufnahme/[id]": await import("../src/pages/api/aufnahme/[id]/index.ts"), "aufnahme/[id]": await import("../src/pages/api/aufnahme/[id]/index.ts"),
"aufnahme/[id]/unterlagen": await import("../src/pages/api/aufnahme/[id]/unterlagen.ts"), "aufnahme/[id]/unterlagen": await import("../src/pages/api/aufnahme/[id]/unterlagen.ts"),

View File

@@ -262,10 +262,10 @@
<div class="relative bg-base-200 border border-base-300 rounded-lg p-4 mx-2"> <div class="relative bg-base-200 border border-base-300 rounded-lg p-4 mx-2">
{#if ausweis.storniert} {#if ausweis.storniert}
<div <div
class="absolute top-0 left-0 w-full h-full bg-[rgba(0,0,0,0.7)] z-[5] rounded-lg select-none" class="absolute top-0 left-0 w-full h-full bg-[rgba(0,0,0,0.4)] z-[5] rounded-lg select-none"
> >
<h1 <h1
class="absolute -rotate-[25deg] text-5xl md:text-7xl tracking-wide uppercase text-red-500 border-4 border-red-500 rounded-lg top-[50%] translate-y-[-50%] left-[50%] translate-x-[-50%]" class="absolute -rotate-[25deg] text-xl md:text-xl tracking-wide uppercase text-red-500 border-4 border-red-500 rounded-lg top-[50%] translate-y-[-50%] left-[50%] translate-x-[-50%]"
> >
Storniert Storniert
</h1> </h1>
@@ -424,6 +424,8 @@
{:else if !ausweis.ausgestellt} {:else if !ausweis.ausgestellt}
Der Ausweis wurde von Ihnen freigegeben und befindet sich <span class="font-bold">in Prüfung durch IB Cornelsen</span> Der Ausweis wurde von Ihnen freigegeben und befindet sich <span class="font-bold">in Prüfung durch IB Cornelsen</span>
{/if} {/if}
{:else if ausweis.ausgestellt}
Vorgang erledigt. Ausweis ist <span class="font-bold">geprüft und ausgestellt.</span>
{:else} {:else}
Der Ausweis wurde von Ihnen gespeichert <span class="font-bold">und muss noch bestellt werden.</span> Der Ausweis wurde von Ihnen gespeichert <span class="font-bold">und muss noch bestellt werden.</span>
{/if} {/if}
@@ -584,7 +586,8 @@
</div> </div>
{/if} {/if}
<div class="text-sm"> <div class="text-sm">
<span class="font-bold">Heizung (Bj {aufnahme.baujahr_heizung})</span> wird mit {ausweis.brennstoff_1} betrieben. Die Verbräuche vom <span class="font-bold">Heizung (Bj {aufnahme.baujahr_heizung})</span> wird mit
{ausweis.brennstoff_1} betrieben. Die Verbräuche vom
{moment(ausweis.startdatum).format("MM.YYYY")} bis {moment(ausweis.startdatum).add("3", "years").format("MM.YYYY")} betragen {moment(ausweis.startdatum).format("MM.YYYY")} bis {moment(ausweis.startdatum).add("3", "years").format("MM.YYYY")} betragen
{ausweis.verbrauch_1} {ausweis.einheit_1}, {ausweis.verbrauch_2} {ausweis.einheit_1} und {ausweis.verbrauch_3} {ausweis.einheit_1}. {ausweis.verbrauch_1} {ausweis.einheit_1}, {ausweis.verbrauch_2} {ausweis.einheit_1} und {ausweis.verbrauch_3} {ausweis.einheit_1}.
{#if ausweis.zusaetzliche_heizquelle} - {#if ausweis.zusaetzliche_heizquelle} -
@@ -600,12 +603,15 @@
{:else} {:else}
Es wurde ein Warmwasseranteil von {ausweis.anteil_warmwasser_1}% berücksichtigt. Es wurde ein Warmwasseranteil von {ausweis.anteil_warmwasser_1}% berücksichtigt.
{/if} {/if}
Der Anteil wird vom Gesamtverbrauch abgezogen, um den Heizwärmebedarf zu ermitteln und diesen mit dem
über drei Jahre gemittelten Klimafaktor {ausweis.klimafaktor} zu multiplizieren.
{:else} {:else}
{#if aufnahme.solarsystem_warmwasser} {#if aufnahme.solarsystem_warmwasser}
Da ein Solarsystem für Warmwasser vorhanden ist, wurde ein reduzierter Warmwasserzuschlag von 12 kWh/m²a angesetzt. Da ein Solarsystem für Warmwasser vorhanden ist, wurde ein reduzierter Warmwasserzuschlag von 12 kWh/m²a angesetzt.
{:else} {:else}
Es wurde ein Warmwasserzuschlag von 20 kWh/m²a angesetzt. Es wurde ein Warmwasserzuschlag von 20 kWh/m²a angesetzt.
{/if} {/if}
Der Anteil wird als Zuschlag zum Gesamtverbrauch addiert, und im Ausweis in einer separaten Zeile ausgewiesen.
{/if} {/if}
{#if !ausweis.alternative_heizung && !ausweis.alternative_warmwasser && !ausweis.alternative_lueftung && !ausweis.alternative_kuehlung} {#if !ausweis.alternative_heizung && !ausweis.alternative_warmwasser && !ausweis.alternative_lueftung && !ausweis.alternative_kuehlung}
Alternative Energieversorgung wird nicht verwendet Alternative Energieversorgung wird nicht verwendet
@@ -721,7 +727,7 @@
<img src="/bilder/{bild.id}.jpg" alt={bild.kategorie} loading="lazy" class="max-h-[10vh] h-full w-full object-contain"> <img src="/bilder/{bild.id}.jpg" alt={bild.kategorie} loading="lazy" class="max-h-[10vh] h-full w-full object-contain">
{/each} {/each}
</div> </div>
<hr>
<h3 class="font-semibold text-lg">Unterlagen</h3> <h3 class="font-semibold text-lg">Unterlagen</h3>
<div class="text-sm"> <div class="text-sm">
{#if aufnahme.unterlagen.length > 0} {#if aufnahme.unterlagen.length > 0}

View File

@@ -188,7 +188,7 @@ export async function createInvoice(
data["lineItems"].push( data["lineItems"].push(
createLineItem( createLineItem(
`Bedarfsausweis Online (ID ${ausweis.id})`, `Bedarfsausweis Online (ID ${ausweis.id})`,
PRICES.VerbrauchsausweisWohnen.Standard, PRICES.BedarfsausweisWohnen.Standard,
19 19
) )
); );
@@ -196,7 +196,7 @@ export async function createInvoice(
data["lineItems"].push( data["lineItems"].push(
createLineItem( createLineItem(
`Bedarfsausweis Online (Vorprüfung negativ) (ID ${ausweis.id})`, `Bedarfsausweis Online (Vorprüfung negativ) (ID ${ausweis.id})`,
PRICES.VerbrauchsausweisWohnen.Beratung, PRICES.BedarfsausweisWohnen.Beratung,
19 19
) )
); );
@@ -204,7 +204,7 @@ export async function createInvoice(
data["lineItems"].push( data["lineItems"].push(
createLineItem( createLineItem(
`Bedarfsausweis Offline (ID ${ausweis.id})`, `Bedarfsausweis Offline (ID ${ausweis.id})`,
PRICES.VerbrauchsausweisWohnen.Offline, PRICES.BedarfsausweisWohnen.Offline,
19 19
) )
); );

View File

@@ -139,7 +139,8 @@ export const POST = defineApiRoute({
} }
// Hier müssen wir warten, damit wir sichergehen können, dass die Rechnung bei LexOffice existiert. // Hier müssen wir warten, damit wir sichergehen können, dass die Rechnung bei LexOffice existiert.
let pdfRechnung, pdfRechnungError; setTimeout(async () => {
let pdfRechnung, pdfRechnungError, pdfSource;
try { try {
const rechnungsCheckCommand = new GetObjectCommand({ const rechnungsCheckCommand = new GetObjectCommand({
@@ -155,10 +156,10 @@ export const POST = defineApiRoute({
} }
if (pdfRechnung && !pdfRechnungError) { if (pdfRechnung && !pdfRechnungError) {
console.log('PDF from S3'); pdfSource = 'S3';
} else { } else {
[pdfRechnung, pdfRechnungError] = await tryCatch(getLexOfficeRechnung(rechnung)); [pdfRechnung, pdfRechnungError] = await tryCatch(getLexOfficeRechnung(rechnung));
console.log('PDF from LexOffice'); pdfSource = 'LexOffice';
} }
if (pdfRechnungError) { if (pdfRechnungError) {
@@ -228,7 +229,7 @@ export const POST = defineApiRoute({
}); });
} }
if (!rechnungsCheckCommand && pdfRechnung != null ){ if (pdfSource == 'LexOffice' && pdfRechnung != null ){
const rechnungsCommand = new PutObjectCommand({ const rechnungsCommand = new PutObjectCommand({
Bucket: "ibc-pdfs", Bucket: "ibc-pdfs",
Key: `ID_${ausweis.id}_Rechnung.pdf`, Key: `ID_${ausweis.id}_Rechnung.pdf`,
@@ -392,5 +393,6 @@ export const POST = defineApiRoute({
}, },
}); });
} }
}, 3000);
}, },
}); });