-
+
Ich habe die AGB und DSGVO im
Impressum gelesen und akzeptiert.
diff --git a/src/pages/dashboard/abrechnung/index.astro b/src/pages/dashboard/abrechnung/index.astro
index f0fe5e8a..d0cbac99 100644
--- a/src/pages/dashboard/abrechnung/index.astro
+++ b/src/pages/dashboard/abrechnung/index.astro
@@ -1,27 +1,28 @@
---
-import AbrechungTable from "#components/Abrechnung/AbrechungTable.svelte";
+import AbrechnungTable from "#components/Abrechnung/AbrechnungTable.svelte";
+import BlankLayout from "#layouts/BlankLayout.astro";
+import { extrahiereAusweisAusFeldMitMehrerenAusweisen } from "#lib/server/ausweis";
import { Enums, prisma } from "#lib/server/prisma";
import { getCurrentUser } from "#lib/server/user";
import moment from "moment";
+const start = moment(Astro.url.searchParams.get("start"));
+const end = moment(Astro.url.searchParams.get("end"));
-const start = moment(Astro.url.searchParams.get("start"))
-const end = moment(Astro.url.searchParams.get("end"))
+let startdatum = start.isValid() ? start.toDate() : moment().startOf("month").toDate();
+let enddatum = end.isValid() ? end.toDate() : moment().endOf("month").toDate();
-let startdatum = start.toDate();
-let enddatum = end.toDate();
-
-const benutzer = await getCurrentUser(Astro)
+const benutzer = await getCurrentUser(Astro);
if (!benutzer) {
- return Astro.redirect("/404")
+ return Astro.redirect("/404");
}
-const provisionen={
+const provisionen = {
[Enums.Ausweisart.VerbrauchsausweisWohnen]: 10,
[Enums.Ausweisart.BedarfsausweisWohnen]: 10,
[Enums.Ausweisart.VerbrauchsausweisGewerbe]: 10,
-}
+};
// $kommission = db()->one("SELECT abr_va, abr_ba, abr_vanw FROM users WHERE resellercode = :resellercode", ["resellercode" => $resellercode]);
// Select every entry from database where user was involved.
@@ -30,305 +31,206 @@ if (start.isValid() && end.isValid()) {
bestellungen = await prisma.rechnung.findMany({
where: {
partner_code: "immowelt",
- OR: [{
- verbrauchsausweis_gewerbe: {
- ausgestellt: true
- }
- },
- {
- bedarfsausweis_wohnen: {
- ausgestellt: true
- }
- },
- {
- verbrauchsausweis_wohnen: {
- ausgestellt: true
- }
- }],
- AND: [{
- created_at: {
- gte: startdatum
+ OR: [
+ {
+ verbrauchsausweis_gewerbe: {
+ ausgestellt: true,
+ },
},
- }, {
- created_at: {
- lte: enddatum
+ {
+ bedarfsausweis_wohnen: {
+ ausgestellt: true,
+ },
},
- }]
+ {
+ verbrauchsausweis_wohnen: {
+ ausgestellt: true,
+ },
+ },
+ ],
+ AND: [
+ {
+ created_at: {
+ gte: startdatum,
+ },
+ },
+ {
+ created_at: {
+ lte: enddatum,
+ },
+ },
+ ],
},
orderBy: {
- created_at: "desc"
+ created_at: "desc",
},
include: {
- bedarfsausweis_wohnen: true,
- verbrauchsausweis_gewerbe: true,
- verbrauchsausweis_wohnen: true
- }
+ bedarfsausweis_wohnen: {
+ include: {
+ aufnahme: {
+ include: {
+ objekt: true,
+ },
+ },
+ },
+ },
+ verbrauchsausweis_gewerbe: {
+ include: {
+ aufnahme: {
+ include: {
+ objekt: true,
+ },
+ },
+ },
+ },
+ verbrauchsausweis_wohnen: {
+ include: {
+ aufnahme: {
+ include: {
+ objekt: true,
+ },
+ },
+ },
+ },
+ },
});
} else {
bestellungen = await prisma.rechnung.findMany({
where: {
partner_code: "immowelt",
- OR: [{
- verbrauchsausweis_gewerbe: {
- ausgestellt: true
- }
- },
- {
- bedarfsausweis_wohnen: {
- ausgestellt: true
- }
- },
- {
- verbrauchsausweis_wohnen: {
- ausgestellt: true
- }
- }]
+ OR: [
+ {
+ verbrauchsausweis_gewerbe: {
+ ausgestellt: true,
+ },
+ },
+ {
+ bedarfsausweis_wohnen: {
+ ausgestellt: true,
+ },
+ },
+ {
+ verbrauchsausweis_wohnen: {
+ ausgestellt: true,
+ },
+ },
+ ],
},
orderBy: {
- created_at: "desc"
+ created_at: "desc",
},
include: {
- bedarfsausweis_wohnen: true,
- verbrauchsausweis_gewerbe: true,
- verbrauchsausweis_wohnen: true
- }
+ bedarfsausweis_wohnen: {
+ include: {
+ aufnahme: {
+ include: {
+ objekt: true,
+ },
+ },
+ },
+ },
+ verbrauchsausweis_gewerbe: {
+ include: {
+ aufnahme: {
+ include: {
+ objekt: true,
+ },
+ },
+ },
+ },
+ verbrauchsausweis_wohnen: {
+ include: {
+ aufnahme: {
+ include: {
+ objekt: true,
+ },
+ },
+ },
+ },
+ },
});
}
// Wann wurde der partner_code zum ersten mal benutzt?
-const partnerCodeErstesMal = (await prisma.rechnung.findFirst({
- select: {
- created_at: true
- },
- where: {
- partner_code: "immowelt",
- OR: [{
- verbrauchsausweis_gewerbe: {
- ausgestellt: true
- }
- },
- {
- bedarfsausweis_wohnen: {
- ausgestellt: true
- }
- },
- {
- verbrauchsausweis_wohnen: {
- ausgestellt: true
- }
- }],
+const partnerCodeErstesMal = (
+ await prisma.rechnung.findFirst({
+ select: {
+ created_at: true,
+ },
+ where: {
+ partner_code: "immowelt",
+ OR: [
+ {
+ verbrauchsausweis_gewerbe: {
+ ausgestellt: true,
+ },
+ },
+ {
+ bedarfsausweis_wohnen: {
+ ausgestellt: true,
+ },
+ },
+ {
+ verbrauchsausweis_wohnen: {
+ ausgestellt: true,
+ },
+ },
+ ],
created_at: {
- gte: moment().set("year", 2020).set("dayOfYear", 1).toDate()
- }
- },
- orderBy: {
- created_at: "asc"
- }
-}))?.created_at
+ gte: moment().set("year", 2020).set("dayOfYear", 1).toDate(),
+ },
+ },
+ orderBy: {
+ created_at: "asc",
+ },
+ })
+)?.created_at;
let provision = 0;
const ausweisarten: string[] = [];
for (const bestellung of bestellungen) {
if (bestellung.verbrauchsausweis_wohnen) {
- ausweisarten.push(Enums.Ausweisart.VerbrauchsausweisWohnen)
- provision += provisionen[Enums.Ausweisart.VerbrauchsausweisWohnen]
+ ausweisarten.push(Enums.Ausweisart.VerbrauchsausweisWohnen);
+ provision += provisionen[Enums.Ausweisart.VerbrauchsausweisWohnen];
}
if (bestellung.bedarfsausweis_wohnen) {
- ausweisarten.push(Enums.Ausweisart.BedarfsausweisWohnen)
- provision += provisionen[Enums.Ausweisart.BedarfsausweisWohnen]
+ ausweisarten.push(Enums.Ausweisart.BedarfsausweisWohnen);
+ provision += provisionen[Enums.Ausweisart.BedarfsausweisWohnen];
}
if (bestellung.verbrauchsausweis_gewerbe) {
- ausweisarten.push(Enums.Ausweisart.VerbrauchsausweisGewerbe)
- provision += provisionen[Enums.Ausweisart.VerbrauchsausweisGewerbe]
+ ausweisarten.push(Enums.Ausweisart.VerbrauchsausweisGewerbe);
+ provision += provisionen[Enums.Ausweisart.VerbrauchsausweisGewerbe];
}
}
-
---
+
+
+ extrahiereAusweisAusFeldMitMehrerenAusweisen(bestellung)
+ )}
+ {provisionen}
+ {partnerCodeErstesMal}
+ startDate={startdatum}
+ endDate={enddatum}
+ email={benutzer.email}
+ client:load
+ />
-
-
-
-
-
- Reporting | online-energieausweis.org
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-