Abrechnung Generierung
This commit is contained in:
@@ -18,12 +18,6 @@ if (!benutzer) {
|
||||
return Astro.redirect("/404");
|
||||
}
|
||||
|
||||
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.
|
||||
let bestellungen;
|
||||
@@ -152,12 +146,13 @@ if (start.isValid() && end.isValid()) {
|
||||
}
|
||||
|
||||
// Wann wurde der partner_code zum ersten mal benutzt?
|
||||
const partnerCodeErstesMal = (
|
||||
await prisma.rechnung.findFirst({
|
||||
select: {
|
||||
created_at: true,
|
||||
},
|
||||
where: {
|
||||
if (!startdatum) {
|
||||
startdatum = (
|
||||
await prisma.rechnung.findFirst({
|
||||
select: {
|
||||
created_at: true,
|
||||
},
|
||||
where: {
|
||||
partner_code: "immowelt",
|
||||
OR: [
|
||||
{
|
||||
@@ -184,22 +179,30 @@ const partnerCodeErstesMal = (
|
||||
created_at: "asc",
|
||||
},
|
||||
})
|
||||
)?.created_at;
|
||||
)?.created_at || moment().startOf("month").toDate();
|
||||
}
|
||||
|
||||
|
||||
const provisionen = await prisma.provisionen.findMany({
|
||||
where: {
|
||||
benutzer_id: benutzer.id
|
||||
}
|
||||
})
|
||||
|
||||
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];
|
||||
provision += provisionen.find((p) => p.ausweisart === Enums.Ausweisart.VerbrauchsausweisWohnen)?.provision_betrag || 0;
|
||||
}
|
||||
if (bestellung.bedarfsausweis_wohnen) {
|
||||
ausweisarten.push(Enums.Ausweisart.BedarfsausweisWohnen);
|
||||
provision += provisionen[Enums.Ausweisart.BedarfsausweisWohnen];
|
||||
provision += provisionen.find((p) => p.ausweisart === Enums.Ausweisart.BedarfsausweisWohnen)?.provision_betrag || 0;
|
||||
}
|
||||
if (bestellung.verbrauchsausweis_gewerbe) {
|
||||
ausweisarten.push(Enums.Ausweisart.VerbrauchsausweisGewerbe);
|
||||
provision += provisionen[Enums.Ausweisart.VerbrauchsausweisGewerbe];
|
||||
provision += provisionen.find((p) => p.ausweisart === Enums.Ausweisart.VerbrauchsausweisGewerbe)?.provision_betrag || 0;
|
||||
}
|
||||
}
|
||||
---
|
||||
@@ -210,9 +213,8 @@ for (const bestellung of bestellungen) {
|
||||
extrahiereAusweisAusFeldMitMehrerenAusweisen(bestellung)
|
||||
)}
|
||||
{provisionen}
|
||||
{partnerCodeErstesMal}
|
||||
startDate={startdatum}
|
||||
endDate={enddatum}
|
||||
startdatum={startdatum}
|
||||
enddatum={enddatum}
|
||||
email={benutzer.email}
|
||||
client:load
|
||||
/>
|
||||
@@ -220,15 +222,15 @@ for (const bestellung of bestellungen) {
|
||||
<div class="fixed bottom-0 left-0 right-0 bg-white p-4 shadow">
|
||||
<div class="flex justify-between items-center">
|
||||
<div>
|
||||
<p id="betrag_gesamt">
|
||||
Abrechnungsbetrag gesamt: <b>{provision} €</b>
|
||||
<p>
|
||||
Abrechnungsbetrag gesamt: <b>{provision.toFixed(2)} €</b>
|
||||
</p>
|
||||
</div>
|
||||
<a
|
||||
target="_blank"
|
||||
rel="noreferrer noopener"
|
||||
class="bg-secondary text-white px-4 py-2 rounded-lg hover:bg-secondary-focus"
|
||||
href=`/user/abrechnung/pdf.php?month=${moment().subtract(1, "month").get("month")}&year=${moment().subtract(1, "month").get("year")}`
|
||||
href=`/dashboard/abrechnung/monatlich.pdf?d=${moment().subtract(1, "month").format("YYYY-MM")}`
|
||||
>PDF für letzten Monat generieren.</a
|
||||
>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user