PDF Abrechnung

This commit is contained in:
Moritz Utcke
2025-08-05 09:25:37 -04:00
parent a05c32167e
commit 648ecc5901
9 changed files with 17 additions and 92 deletions

View File

@@ -82,6 +82,7 @@
<summary class="flex justify-between items-center cursor-pointer p-4 bg-gray-100 hover:bg-gray-200">
<span class="font-semibold">{moment(dt).format("MMMM YYYY")}</span>
<div class="flex flex-row gap-4 items-center">
<a href={`/dashboard/abrechnung/monatlich.pdf?d=${moment(dt).format("YYYY-MM")}`} target="_blank" rel="noreferrer noopener">PDF generieren</a>
<span class="text-gray-500">{provisionMonat.toFixed(2)}</span>
<svg class="w-4 h-4 transition-transform duration-300 group-open:rotate-180" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<polyline points="6 9 12 15 18 9"></polyline>

View File

@@ -17,6 +17,7 @@ export const BenutzerSchema = z.object({
rolle: z.nativeEnum(BenutzerRolle),
firma: z.string().nullish(),
lex_office_id: z.string().nullish(),
partner_code: z.string().nullish(),
verified: z.boolean(),
created_at: z.date(),
updated_at: z.date(),

View File

@@ -24,7 +24,7 @@ let bestellungen;
if (start.isValid() && end.isValid()) {
bestellungen = await prisma.rechnung.findMany({
where: {
partner_code: "immowelt",
partner_code: benutzer.partner_code,
OR: [
{
verbrauchsausweis_gewerbe: {
@@ -91,7 +91,7 @@ if (start.isValid() && end.isValid()) {
} else {
bestellungen = await prisma.rechnung.findMany({
where: {
partner_code: "immowelt",
partner_code: benutzer.partner_code,
OR: [
{
verbrauchsausweis_gewerbe: {
@@ -153,12 +153,12 @@ if (!startdatum) {
created_at: true,
},
where: {
partner_code: "immowelt",
OR: [
{
verbrauchsausweis_gewerbe: {
ausgestellt: true,
},
partner_code: benutzer.partner_code,
OR: [
{
verbrauchsausweis_gewerbe: {
ausgestellt: true,
},
},
{
bedarfsausweis_wohnen: {

View File

@@ -16,7 +16,7 @@ if (!benutzer) {
let bestellungen = await prisma.rechnung.findMany({
where: {
partner_code: "immowelt",
partner_code: benutzer.partner_code,
OR: [
{
verbrauchsausweis_gewerbe: {

View File

@@ -61,5 +61,5 @@ Astro.cookies.set(API_ACCESS_TOKEN_COOKIE_NAME, accessToken, {
expires: moment().add(30, "minutes").toDate()
})
return Astro.redirect("/dashboard")
return Astro.redirect("/dashboard");
---

View File

@@ -31,7 +31,7 @@ if ((page < 1 || page > totalPageCount) && totalPageCount > 0) {
let result: { id: string; updated_at: Date }[] = [];
// Wir fragen den neuesten Ausweis ab
// Falls der Nutzer ein Admin ist dann kommt der ganz neueste ansonsten der neueste des eingeloggten Benutzers.
if (user.rolle !== Enums.BenutzerRolle.ADMIN || user.rolle === Enums.BenutzerRolle.RESELLER) {
if (user.rolle !== Enums.BenutzerRolle.ADMIN) {
result =
await prisma.$queryRaw`SELECT id, updated_at FROM "VerbrauchsausweisWohnen" WHERE benutzer_id = ${user.id} UNION ALL
SELECT id, updated_at FROM "VerbrauchsausweisGewerbe" WHERE benutzer_id = ${user.id} UNION ALL
@@ -54,8 +54,4 @@ if (user.rolle !== Enums.BenutzerRolle.ADMIN || user.rolle === Enums.BenutzerRol
if (result.length > 0) {
return Astro.redirect(`/dashboard/objekte/${result[0].id}?p=${page}`)
}
---
<UserLayout title="Objekte" {user} besteller={null}>
<p>Keine Ausweise konnten gefunden werden.</p>
</UserLayout>
---