Merge remote-tracking branch 'origin/main' into dev
This commit is contained in:
@@ -28,16 +28,19 @@ export const createCaller = createCallerFactory({
|
|||||||
"admin/ausstellen": await import("../src/pages/api/admin/ausstellen.ts"),
|
"admin/ausstellen": await import("../src/pages/api/admin/ausstellen.ts"),
|
||||||
"admin/stornieren": await import("../src/pages/api/admin/stornieren.ts"),
|
"admin/stornieren": await import("../src/pages/api/admin/stornieren.ts"),
|
||||||
"objekt": await import("../src/pages/api/objekt/index.ts"),
|
"objekt": await import("../src/pages/api/objekt/index.ts"),
|
||||||
"webhooks/mollie": await import("../src/pages/api/webhooks/mollie.ts"),
|
"rechnung/[id]": await import("../src/pages/api/rechnung/[id].ts"),
|
||||||
"geg-nachweis-wohnen": await import("../src/pages/api/geg-nachweis-wohnen/index.ts"),
|
"rechnung/anfordern": await import("../src/pages/api/rechnung/anfordern.ts"),
|
||||||
"geg-nachweis-wohnen/[id]": await import("../src/pages/api/geg-nachweis-wohnen/[id].ts"),
|
"rechnung": await import("../src/pages/api/rechnung/index.ts"),
|
||||||
"verbrauchsausweis-gewerbe": await import("../src/pages/api/verbrauchsausweis-gewerbe/index.ts"),
|
"ticket": await import("../src/pages/api/ticket/index.ts"),
|
||||||
|
"user": await import("../src/pages/api/user/index.ts"),
|
||||||
|
"user/self": await import("../src/pages/api/user/self.ts"),
|
||||||
"verbrauchsausweis-gewerbe/[id]": await import("../src/pages/api/verbrauchsausweis-gewerbe/[id].ts"),
|
"verbrauchsausweis-gewerbe/[id]": await import("../src/pages/api/verbrauchsausweis-gewerbe/[id].ts"),
|
||||||
"auth/refresh-token": await import("../src/pages/api/auth/refresh-token.ts"),
|
"verbrauchsausweis-gewerbe": await import("../src/pages/api/verbrauchsausweis-gewerbe/index.ts"),
|
||||||
"auth/passwort-vergessen": await import("../src/pages/api/auth/passwort-vergessen.ts"),
|
"webhooks/mollie": await import("../src/pages/api/webhooks/mollie.ts"),
|
||||||
"auth/access-token": await import("../src/pages/api/auth/access-token.ts"),
|
"verbrauchsausweis-wohnen/[id]": await import("../src/pages/api/verbrauchsausweis-wohnen/[id].ts"),
|
||||||
"bedarfsausweis-wohnen": await import("../src/pages/api/bedarfsausweis-wohnen/index.ts"),
|
"verbrauchsausweis-wohnen": await import("../src/pages/api/verbrauchsausweis-wohnen/index.ts"),
|
||||||
"bedarfsausweis-wohnen/[id]": await import("../src/pages/api/bedarfsausweis-wohnen/[id].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]/unterlagen": await import("../src/pages/api/aufnahme/[id]/unterlagen.ts"),
|
"aufnahme/[id]/unterlagen": await import("../src/pages/api/aufnahme/[id]/unterlagen.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]/bilder": await import("../src/pages/api/aufnahme/[id]/bilder.ts"),
|
"aufnahme/[id]/bilder": await import("../src/pages/api/aufnahme/[id]/bilder.ts"),
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
---
|
---
|
||||||
// import "svelte-ripple-action/ripple.css";
|
// import "svelte-ripple-action/ripple.css";
|
||||||
import "../style/global.css";
|
import "../style/global.css";
|
||||||
import "../../svelte-dialogs.config.js";
|
import "../../svelte-dialogs.config.js";
|
||||||
import DashboardSidebar from "../components/Dashboard/DashboardSidebar.svelte";
|
import DashboardSidebar from "../components/Dashboard/DashboardSidebar.svelte";
|
||||||
|
|||||||
@@ -85,13 +85,13 @@ export async function endEnergieVerbrauchVerbrauchsausweisGewerbe_2016(ausweis:
|
|||||||
let energieVerbrauchWarmwasser_1 = 0;
|
let energieVerbrauchWarmwasser_1 = 0;
|
||||||
let energieVerbrauchWarmwasser_2 = 0;
|
let energieVerbrauchWarmwasser_2 = 0;
|
||||||
|
|
||||||
if (ausweis.warmwasser_enthalten && ausweis.anteil_warmwasser_1 != 0) {
|
if (ausweis.warmwasser_enthalten && ausweis.anteil_warmwasser_1 != 0 && ausweis.anteil_warmwasser_1 !== null) {
|
||||||
|
|
||||||
// Wenn Warmwasser enthalten und Anteil bekannt
|
// Wenn Warmwasser enthalten und Anteil bekannt
|
||||||
energieVerbrauchWarmwasser_1 = energieVerbrauchGesamt_1 * ((ausweis.anteil_warmwasser_1 || 0) / 100);
|
energieVerbrauchWarmwasser_1 = energieVerbrauchGesamt_1 * ((ausweis.anteil_warmwasser_1 || 0) / 100);
|
||||||
energieVerbrauchWarmwasser_2 = energieVerbrauchGesamt_2 * ((ausweis.anteil_warmwasser_2 || 0) / 100);
|
energieVerbrauchWarmwasser_2 = energieVerbrauchGesamt_2 * ((ausweis.anteil_warmwasser_2 || 0) / 100);
|
||||||
|
|
||||||
} else if (ausweis.warmwasser_enthalten && ausweis.anteil_warmwasser_1 == 0){
|
} else if (ausweis.warmwasser_enthalten && (ausweis.anteil_warmwasser_1 == 0 || ausweis.anteil_warmwasser_1 === null)) {
|
||||||
if (aufnahme.gebaeudetyp == "Krankenhäuser (ohne Forschung und Lehre)" || aufnahme.gebaeudetyp == "Krankenhäuser (ohne Forschung und Lehre) & teilstationäre Versorgung" || aufnahme.gebaeudetyp == "Schwimmhallen") {
|
if (aufnahme.gebaeudetyp == "Krankenhäuser (ohne Forschung und Lehre)" || aufnahme.gebaeudetyp == "Krankenhäuser (ohne Forschung und Lehre) & teilstationäre Versorgung" || aufnahme.gebaeudetyp == "Schwimmhallen") {
|
||||||
energieVerbrauchWarmwasser_1 = energieVerbrauchGesamt_1 * 0.5;
|
energieVerbrauchWarmwasser_1 = energieVerbrauchGesamt_1 * 0.5;
|
||||||
energieVerbrauchWarmwasser_2 = energieVerbrauchGesamt_2 * ((ausweis.anteil_warmwasser_2 || 0) / 100);
|
energieVerbrauchWarmwasser_2 = energieVerbrauchGesamt_2 * ((ausweis.anteil_warmwasser_2 || 0) / 100);
|
||||||
@@ -107,8 +107,14 @@ export async function endEnergieVerbrauchVerbrauchsausweisGewerbe_2016(ausweis:
|
|||||||
energieVerbrauchWarmwasser_2 = 0;
|
energieVerbrauchWarmwasser_2 = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
let kuehlungsZuschlag_1: number = 0, kuehlungsZuschlag_2: number = 0;
|
let kuehlungsZuschlag_1: number = 0, kuehlungsZuschlag_2: number = 0; let kuehlungsZuschlag = 0;
|
||||||
if (aufnahme.kuehlung === "1") {
|
if (aufnahme.kuehlung === "1" && aufnahme.kuehlung !== null) {
|
||||||
|
|
||||||
|
kuehlungsZuschlag = 6 * nutzflaeche * 3;
|
||||||
|
}
|
||||||
|
if (ausweis.kuehlung_enthalten && ausweis.kuehlung_enthalten !== null)
|
||||||
|
{
|
||||||
|
|
||||||
kuehlungsZuschlag_1 = energieVerbrauchGesamt_1 * ((ausweis.anteil_kuehlung_1 || 0) / 100);
|
kuehlungsZuschlag_1 = energieVerbrauchGesamt_1 * ((ausweis.anteil_kuehlung_1 || 0) / 100);
|
||||||
kuehlungsZuschlag_2 = energieVerbrauchGesamt_2 * ((ausweis.anteil_kuehlung_2 || 0) / 100);
|
kuehlungsZuschlag_2 = energieVerbrauchGesamt_2 * ((ausweis.anteil_kuehlung_2 || 0) / 100);
|
||||||
}
|
}
|
||||||
@@ -168,7 +174,7 @@ export async function endEnergieVerbrauchVerbrauchsausweisGewerbe_2016(ausweis:
|
|||||||
let co2EmissionenKuehlungsZuschlag_1 = endEnergieVerbrauchKuehlungsZuschlag_1 * brennstoff_1.coe;
|
let co2EmissionenKuehlungsZuschlag_1 = endEnergieVerbrauchKuehlungsZuschlag_1 * brennstoff_1.coe;
|
||||||
let co2EmissionenKuehlungsZuschlag_2 = endEnergieVerbrauchKuehlungsZuschlag_2 * brennstoff_2.coe;
|
let co2EmissionenKuehlungsZuschlag_2 = endEnergieVerbrauchKuehlungsZuschlag_2 * brennstoff_2.coe;
|
||||||
|
|
||||||
let endEnergieVerbrauchGesamt = endEnergieVerbrauch_1 + endEnergieVerbrauch_2 + endEnergieVerbrauchLeerstandsZuschlag;
|
let endEnergieVerbrauchGesamt = endEnergieVerbrauch_1 + endEnergieVerbrauch_2 + endEnergieVerbrauchLeerstandsZuschlag + (kuehlungsZuschlag / (3 * nutzflaeche));
|
||||||
let primaerEnergieVerbrauchGesamt = primaerEnergieVerbrauch_1 + primaerEnergieVerbrauch_2 + primaerEnergieVerbrauchLeerstandsZuschlag + primaerEnergieVerbrauchStrom;
|
let primaerEnergieVerbrauchGesamt = primaerEnergieVerbrauch_1 + primaerEnergieVerbrauch_2 + primaerEnergieVerbrauchLeerstandsZuschlag + primaerEnergieVerbrauchStrom;
|
||||||
let co2EmissionenGesamt = co2Emissionen_1 + co2Emissionen_2 + co2EmissionenLeerstandsZuschlag + co2EmissionenStrom;
|
let co2EmissionenGesamt = co2Emissionen_1 + co2Emissionen_2 + co2EmissionenLeerstandsZuschlag + co2EmissionenStrom;
|
||||||
|
|
||||||
@@ -180,6 +186,7 @@ export async function endEnergieVerbrauchVerbrauchsausweisGewerbe_2016(ausweis:
|
|||||||
brennstoff_2,
|
brennstoff_2,
|
||||||
kuehlungsZuschlag_1 : Math.round(kuehlungsZuschlag_1),
|
kuehlungsZuschlag_1 : Math.round(kuehlungsZuschlag_1),
|
||||||
kuehlungsZuschlag_2: Math.round(kuehlungsZuschlag_2),
|
kuehlungsZuschlag_2: Math.round(kuehlungsZuschlag_2),
|
||||||
|
kuehlungsZuschlag: Math.round(kuehlungsZuschlag),
|
||||||
durchschnittsKlimafaktor : Math.round(durchschnittsKlimafaktor * 100) / 100,
|
durchschnittsKlimafaktor : Math.round(durchschnittsKlimafaktor * 100) / 100,
|
||||||
Klimafaktor_1 : klimafaktoren[0],
|
Klimafaktor_1 : klimafaktoren[0],
|
||||||
Klimafaktor_2 : klimafaktoren[1],
|
Klimafaktor_2 : klimafaktoren[1],
|
||||||
|
|||||||
@@ -157,7 +157,7 @@ export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisGewe
|
|||||||
size: 10,
|
size: 10,
|
||||||
font: bold
|
font: bold
|
||||||
})
|
})
|
||||||
} else if (ausweis.ausstellgrund === Enums.Ausstellgrund.Vermietung) {
|
} else if (ausweis.ausstellgrund === Enums.Ausstellgrund.Vermietung || ausweis.ausstellgrund === Enums.Ausstellgrund.Verkauf) {
|
||||||
pages[0].drawText("x", {
|
pages[0].drawText("x", {
|
||||||
x: 214,
|
x: 214,
|
||||||
y: height - 425,
|
y: height - 425,
|
||||||
@@ -639,7 +639,7 @@ export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisGewe
|
|||||||
|
|
||||||
const addVerbrauch = addVerbrauchGenerator();
|
const addVerbrauch = addVerbrauchGenerator();
|
||||||
|
|
||||||
if (!ausweis.warmwasser_enthalten) {
|
if (ausweis.warmwasser_enthalten) {
|
||||||
// Mit Warmwasserzuschlag
|
// Mit Warmwasserzuschlag
|
||||||
addVerbrauch(
|
addVerbrauch(
|
||||||
moment(ausweis.startdatum).format("MM.YYYY"),
|
moment(ausweis.startdatum).format("MM.YYYY"),
|
||||||
@@ -647,7 +647,7 @@ export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisGewe
|
|||||||
ausweis.brennstoff_1 || "",
|
ausweis.brennstoff_1 || "",
|
||||||
berechnungen?.brennstoff_1.primaerenergiefaktor.toString(),
|
berechnungen?.brennstoff_1.primaerenergiefaktor.toString(),
|
||||||
Math.round(berechnungen?.energieVerbrauchGesamt_1 || 0).toString(),
|
Math.round(berechnungen?.energieVerbrauchGesamt_1 || 0).toString(),
|
||||||
"0",
|
Math.round(berechnungen?.energieVerbrauchWarmwasser_1 || 0).toString(),
|
||||||
berechnungen?.endEnergieVerbrauchKuehlungsZuschlag_1,
|
berechnungen?.endEnergieVerbrauchKuehlungsZuschlag_1,
|
||||||
Math.round(berechnungen?.energieVerbrauchHeizung_1 || 0).toString(),
|
Math.round(berechnungen?.energieVerbrauchHeizung_1 || 0).toString(),
|
||||||
berechnungen?.durchschnittsKlimafaktor.toString(),
|
berechnungen?.durchschnittsKlimafaktor.toString(),
|
||||||
@@ -686,7 +686,7 @@ export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisGewe
|
|||||||
|
|
||||||
|
|
||||||
// TODO
|
// TODO
|
||||||
if (!ausweis.warmwasser_enthalten) {
|
if (ausweis.warmwasser_enthalten) {
|
||||||
/**
|
/**
|
||||||
* Dezentrale Warmwasserversorgung - Pauschale Erhöhung um 20kWh/m²
|
* Dezentrale Warmwasserversorgung - Pauschale Erhöhung um 20kWh/m²
|
||||||
* @link https://www.bundesanzeiger.de/pub/publication/MRYM4nI84Sdlr0EIvvW?2
|
* @link https://www.bundesanzeiger.de/pub/publication/MRYM4nI84Sdlr0EIvvW?2
|
||||||
@@ -733,25 +733,25 @@ export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisGewe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (aufnahme.kuehlung) {
|
if (aufnahme.kuehlung === "1") {
|
||||||
/**
|
/**
|
||||||
* Kühlungszuschlag - Pauschale Erhöhung um 6kWh/m²
|
* Kühlungszuschlag - Pauschale Erhöhung um 6kWh/m²
|
||||||
* Primärenergiefaktor Strom
|
* Primärenergiefaktor Strom
|
||||||
* @link https://www.bundesanzeiger.de/pub/publication/MRYM4nI84Sdlr0EIvvW?2
|
* @link https://www.bundesanzeiger.de/pub/publication/MRYM4nI84Sdlr0EIvvW?2
|
||||||
*/
|
*/
|
||||||
addVerbrauch(
|
addVerbrauch(
|
||||||
moment(ausweis.startdatum).format("MM.YYYY"),
|
moment(ausweis.startdatum).format("MM.YYYY"),
|
||||||
moment(ausweis.startdatum).add(3, "years").format("MM.YYYY"),
|
moment(ausweis.startdatum).add(3, "years").format("MM.YYYY"),
|
||||||
"Kühlungszuschlag",
|
"Kühlungszuschlag",
|
||||||
"",
|
"",
|
||||||
// TODO
|
// TODO
|
||||||
// berechnungen?.primaerfaktorww.toString(),
|
// berechnungen?.primaerfaktorww.toString(),
|
||||||
Math.round(berechnungen?.kuehlungsZuschlag_1 || 0).toString(),
|
"",
|
||||||
"0",
|
"",
|
||||||
0,
|
Math.round(berechnungen?.kuehlungsZuschlag || 0),
|
||||||
""
|
""
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------- Seite 4 -------------------------------- */
|
/* -------------------------------- Seite 4 -------------------------------- */
|
||||||
|
|
||||||
|
|||||||
@@ -71,7 +71,15 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne
|
|||||||
|
|
||||||
pages[0].drawText(objekt.adresse || "", {
|
pages[0].drawText(objekt.adresse || "", {
|
||||||
x: 211,
|
x: 211,
|
||||||
y: height - 194,
|
y: height - 188.5,
|
||||||
|
size: 10
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
const plzOrt = `${objekt.plz || ""} ${objekt.ort || ""}`
|
||||||
|
pages[0].drawText(plzOrt || "", {
|
||||||
|
x: 211,
|
||||||
|
y: height - 200,
|
||||||
size: 10
|
size: 10
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -166,7 +174,7 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne
|
|||||||
if (aufnahme.lueftung === Enums.Lueftungskonzept.Fensterlueftung) {
|
if (aufnahme.lueftung === Enums.Lueftungskonzept.Fensterlueftung) {
|
||||||
pages[0].drawText("x", {
|
pages[0].drawText("x", {
|
||||||
x: 214,
|
x: 214,
|
||||||
y: height - 293,
|
y: height - 355,
|
||||||
size: 10,
|
size: 10,
|
||||||
font: bold
|
font: bold
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -1016,7 +1016,8 @@ grid-cols-3 sm:grid-cols-5 justify-around justify-items-center items-center"
|
|||||||
|
|
||||||
{#if ausweisart === Enums.Ausweisart.VerbrauchsausweisWohnen}
|
{#if ausweisart === Enums.Ausweisart.VerbrauchsausweisWohnen}
|
||||||
<!-- Verbrauchsausweis Wohnen [altes System: $ausweis->anteil_warmwasser_1 < 6 OR $ausweis->anteil_warmwasser_1 > 40] -->
|
<!-- Verbrauchsausweis Wohnen [altes System: $ausweis->anteil_warmwasser_1 < 6 OR $ausweis->anteil_warmwasser_1 > 40] -->
|
||||||
{#if (ausweis.anteil_warmwasser_1 < 6) || (ausweis.anteil_warmwasser_1 > 40)}
|
{#if (ausweis.anteil_warmwasser_1 !== null)}
|
||||||
|
{#if ((ausweis.anteil_warmwasser_1 < 6) && (ausweis.anteil_warmwasser_1 != 0)) || (ausweis.anteil_warmwasser_1 > 40)}
|
||||||
<div class="pruefpunkt">
|
<div class="pruefpunkt">
|
||||||
<input type="checkbox" name="pruefpunkt_anteil_warmwasser" bind:checked={ausweis.pruefpunkt_anteil_warmwasser} required/>
|
<input type="checkbox" name="pruefpunkt_anteil_warmwasser" bind:checked={ausweis.pruefpunkt_anteil_warmwasser} required/>
|
||||||
<div class="text-left">
|
<div class="text-left">
|
||||||
@@ -1024,6 +1025,7 @@ grid-cols-3 sm:grid-cols-5 justify-around justify-items-center items-center"
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{/if}
|
{/if}
|
||||||
|
{/if}
|
||||||
{/if}
|
{/if}
|
||||||
{#if ausweisart === Enums.Ausweisart.BedarfsausweisWohnen}
|
{#if ausweisart === Enums.Ausweisart.BedarfsausweisWohnen}
|
||||||
<!-- Zusätzlich beim Bedarfsausweis [altes System: $ausweis->wohnflaeche < $ausweis->energetische_nutzfläche] -->
|
<!-- Zusätzlich beim Bedarfsausweis [altes System: $ausweis->wohnflaeche < $ausweis->energetische_nutzfläche] -->
|
||||||
|
|||||||
@@ -67,9 +67,11 @@ export const GET = defineApiRoute({
|
|||||||
|
|
||||||
const rechnung = await prisma.rechnung.findFirst({
|
const rechnung = await prisma.rechnung.findFirst({
|
||||||
where: {
|
where: {
|
||||||
verbrauchsausweis_wohnen: {
|
OR: [
|
||||||
id: id_ausweis,
|
{ bedarfsausweis_wohnen: { id: id_ausweis } },
|
||||||
},
|
{ verbrauchsausweis_wohnen: { id: id_ausweis } },
|
||||||
|
{ verbrauchsausweis_gewerbe: { id: id_ausweis } }
|
||||||
|
]
|
||||||
},
|
},
|
||||||
orderBy: {
|
orderBy: {
|
||||||
erstellt_am: "desc",
|
erstellt_am: "desc",
|
||||||
|
|||||||
37
src/testing/ausweise-bw-fix-ausgestellt.ts
Normal file
37
src/testing/ausweise-bw-fix-ausgestellt.ts
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
import { Enums, prisma } from "#lib/server/prisma.js";
|
||||||
|
|
||||||
|
let start = 1;
|
||||||
|
let limit = 10;
|
||||||
|
|
||||||
|
const existing_bedarfsausweiswohnen_list = await prisma.bedarfsausweisWohnen.findMany({
|
||||||
|
where: {
|
||||||
|
rechnung_id: null
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
for (const ausweis of existing_bedarfsausweiswohnen_list) {
|
||||||
|
if (ausweis.bestellt == true && ausweis.benutzer_id != "USCTJ2VV"){
|
||||||
|
console.log(
|
||||||
|
'ID:' + ausweis.id +
|
||||||
|
' Reg.Nr:' + ausweis.registriernummer +
|
||||||
|
' Rechnung_id: ' + ausweis.rechnung_id +
|
||||||
|
' Bestellt: ' + ausweis.bestellt +
|
||||||
|
' Ausgestellt: ' + ausweis.ausgestellt +
|
||||||
|
' Ausgestellt am: ' + ausweis.ausstellungsdatum
|
||||||
|
);
|
||||||
|
|
||||||
|
await prisma.bedarfsausweisWohnen.update({
|
||||||
|
where: {
|
||||||
|
id: ausweis.id
|
||||||
|
},
|
||||||
|
data: {
|
||||||
|
bestellt: false,
|
||||||
|
ausgestellt: false,
|
||||||
|
ausstellungsdatum: null
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// if (start >= limit) break;
|
||||||
|
start++;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,39 +1,52 @@
|
|||||||
import moment from "moment";
|
|
||||||
import { Enums, prisma } from "#lib/server/prisma.js";
|
import { Enums, prisma } from "#lib/server/prisma.js";
|
||||||
|
import Papa from "papaparse"
|
||||||
import * as fs from "fs";
|
import * as fs from "fs";
|
||||||
import { fileURLToPath } from "url";
|
import { fileURLToPath } from "url";
|
||||||
import { hashPassword } from "#lib/password.js";
|
|
||||||
import Papa from "papaparse";
|
|
||||||
import { generatePrefixedId } from "#lib/db.js";
|
import { generatePrefixedId } from "#lib/db.js";
|
||||||
import { VALID_UUID_PREFIXES } from "#lib/constants.js";
|
import { VALID_UUID_PREFIXES } from "#lib/constants.js";
|
||||||
import { tryCatch } from "#lib/tryCatch.js";
|
|
||||||
import { createBrotliDecompress } from "zlib";
|
|
||||||
|
|
||||||
const path = fileURLToPath(new URL("./ausweise.csv.br", import.meta.url)); // .br for Brotli file
|
const path = fileURLToPath(new URL("./rechnungen.csv", import.meta.url));
|
||||||
|
|
||||||
if (!fs.existsSync(path)) {
|
if (!fs.existsSync(path)) {
|
||||||
throw new Error(`${path} existiert nicht.`);
|
throw new Error(`${path} existiert nicht.`)
|
||||||
}
|
}
|
||||||
|
|
||||||
let i = 0;
|
const file = fs.createReadStream(path, "utf8");
|
||||||
const brotliStream = fs.createReadStream(path).pipe(createBrotliDecompress());
|
Papa.parse(file, {
|
||||||
|
header: true,
|
||||||
|
async complete(results, file) {
|
||||||
|
let i = 0;
|
||||||
|
for (const rechnung of results.data as any) {
|
||||||
|
i++
|
||||||
|
if (i % 1000 === 0) {
|
||||||
|
console.log(`Processed ${i} of ${results.data.length}, ${Math.round(i / results.data.length * 100)}%`)
|
||||||
|
}
|
||||||
|
const existing_rechnung = await prisma.rechnung.findFirst({
|
||||||
|
where: {
|
||||||
|
alte_id: parseInt(rechnung.id)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
Papa.parse(brotliStream, {
|
if (existing_rechnung) {
|
||||||
header: true,
|
const existing_bedarfsausweiswohnen = await prisma.bedarfsausweisWohnen.findFirst({
|
||||||
async complete(results, file) {
|
where: {
|
||||||
for (const dataset of results.data as any) {
|
alte_ausweis_id: parseInt(rechnung.ausweis_id)
|
||||||
const existing = await prisma.verbrauchsausweisWohnen.findFirst({
|
}
|
||||||
where: {
|
})
|
||||||
alte_ausweis_id: parseInt(dataset.id)
|
|
||||||
|
if (existing_bedarfsausweiswohnen){
|
||||||
|
if (existing_bedarfsausweiswohnen.rechnung_id != existing_rechnung.id){
|
||||||
|
console.log('Rechnungsnummer weicht ab. Alte Ausweis Id:'+ rechnung.ausweis_id + ': ' + existing_bedarfsausweiswohnen.rechnung_id + ' vs ' + existing_rechnung.id);
|
||||||
|
//Todo: Rechnungsid updaten
|
||||||
|
} else {
|
||||||
|
//console.log('Rechnungsnummer Abgleich ok. Alte Ausweis Id:'+ rechnung.ausweis_id + ': ' + existing_bedarfsausweiswohnen.rechnung_id + ' vs ' + existing_rechnung.id);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
} else {
|
||||||
|
console.log('Rechnung existiert nicht: '+ parseInt(rechnung.id));
|
||||||
if (existing) {
|
|
||||||
continue;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log(dataset.id);
|
//if (i > 10000) break;
|
||||||
// do something with dataset...
|
|
||||||
}
|
}
|
||||||
},
|
}
|
||||||
});
|
});
|
||||||
37
src/testing/ausweise-vg-fix-ausgestellt.ts
Normal file
37
src/testing/ausweise-vg-fix-ausgestellt.ts
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
import { Enums, prisma } from "#lib/server/prisma.js";
|
||||||
|
|
||||||
|
let start = 1;
|
||||||
|
let limit = 10;
|
||||||
|
|
||||||
|
const existing_verbauchsauweisgewerbe_list = await prisma.verbrauchsausweisGewerbe.findMany({
|
||||||
|
where: {
|
||||||
|
rechnung_id: null
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
for (const ausweis of existing_verbauchsauweisgewerbe_list) {
|
||||||
|
if (ausweis.bestellt == true && ausweis.benutzer_id != "USCTJ2VV"){
|
||||||
|
console.log(
|
||||||
|
'ID:' + ausweis.id +
|
||||||
|
' Reg.Nr:' + ausweis.registriernummer +
|
||||||
|
' Rechnung_id: ' + ausweis.rechnung_id +
|
||||||
|
' Bestellt: ' + ausweis.bestellt +
|
||||||
|
' Ausgestellt: ' + ausweis.ausgestellt +
|
||||||
|
' Ausgestellt am: ' + ausweis.ausstellungsdatum
|
||||||
|
);
|
||||||
|
|
||||||
|
await prisma.verbrauchsausweisGewerbe.update({
|
||||||
|
where: {
|
||||||
|
id: ausweis.id
|
||||||
|
},
|
||||||
|
data: {
|
||||||
|
bestellt: false,
|
||||||
|
ausgestellt: false,
|
||||||
|
ausstellungsdatum: null
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// if (start >= limit) break;
|
||||||
|
start++;
|
||||||
|
}
|
||||||
|
}
|
||||||
37
src/testing/ausweise-vw-fix-ausgestellt.ts
Normal file
37
src/testing/ausweise-vw-fix-ausgestellt.ts
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
import { Enums, prisma } from "#lib/server/prisma.js";
|
||||||
|
|
||||||
|
let start = 1;
|
||||||
|
let limit = 10;
|
||||||
|
|
||||||
|
const existing_verbauchsausweiswohnen_list = await prisma.verbrauchsausweisWohnen.findMany({
|
||||||
|
where: {
|
||||||
|
rechnung_id: null
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
for (const ausweis of existing_verbauchsausweiswohnen_list) {
|
||||||
|
if (ausweis.bestellt == true && ausweis.benutzer_id != "USCTJ2VV"){
|
||||||
|
console.log(
|
||||||
|
'ID:' + ausweis.id +
|
||||||
|
' Reg.Nr:' + ausweis.registriernummer +
|
||||||
|
' Rechnung_id: ' + ausweis.rechnung_id +
|
||||||
|
' Bestellt: ' + ausweis.bestellt +
|
||||||
|
' Ausgestellt: ' + ausweis.ausgestellt +
|
||||||
|
' Ausgestellt am: ' + ausweis.ausstellungsdatum
|
||||||
|
);
|
||||||
|
|
||||||
|
await prisma.verbrauchsausweisWohnen.update({
|
||||||
|
where: {
|
||||||
|
id: ausweis.id
|
||||||
|
},
|
||||||
|
data: {
|
||||||
|
bestellt: false,
|
||||||
|
ausgestellt: false,
|
||||||
|
ausstellungsdatum: null
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// if (start >= limit) break;
|
||||||
|
start++;
|
||||||
|
}
|
||||||
|
}
|
||||||
46
src/testing/nutzer-fix-alteid.ts
Normal file
46
src/testing/nutzer-fix-alteid.ts
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
import { Enums, prisma } from "#lib/server/prisma.js";
|
||||||
|
import Papa from "papaparse"
|
||||||
|
import * as fs from "fs";
|
||||||
|
import { fileURLToPath } from "url";
|
||||||
|
import { generatePrefixedId } from "#lib/db.js";
|
||||||
|
import { VALID_UUID_PREFIXES } from "#lib/constants.js";
|
||||||
|
|
||||||
|
const path = fileURLToPath(new URL("./users.csv", import.meta.url));
|
||||||
|
|
||||||
|
if (!fs.existsSync(path)) {
|
||||||
|
throw new Error(`${path} existiert nicht.`)
|
||||||
|
}
|
||||||
|
|
||||||
|
const file = fs.createReadStream(path, "utf8");
|
||||||
|
Papa.parse(file, {
|
||||||
|
header: true,
|
||||||
|
async complete(results, file) {
|
||||||
|
let i = 0;
|
||||||
|
for (const user of results.data as any) {
|
||||||
|
i++
|
||||||
|
if (i % 100 === 0) {
|
||||||
|
//console.log(`Processed ${i} of ${results.data.length}, ${Math.round(i / results.data.length * 100)}%`)
|
||||||
|
}
|
||||||
|
const existing = await prisma.benutzer.findFirst({
|
||||||
|
where: {
|
||||||
|
email: user.email
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
if (existing) {
|
||||||
|
if (existing.alte_id == null){
|
||||||
|
console.log('User: ' + user.email + ' fehlt alte id ('+user.id+')');
|
||||||
|
await prisma.benutzer.update({
|
||||||
|
where: {
|
||||||
|
email: user.email
|
||||||
|
},
|
||||||
|
data: {
|
||||||
|
alte_id: parseInt(user.id)
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
@@ -19,7 +19,7 @@ Papa.parse(file, {
|
|||||||
let i = 0;
|
let i = 0;
|
||||||
for (const rechnung of results.data as any) {
|
for (const rechnung of results.data as any) {
|
||||||
i++
|
i++
|
||||||
if (i % 50 === 0) {
|
if (i % 500 === 0) {
|
||||||
console.log(`Processed ${i} of ${results.data.length}, ${Math.round(i / results.data.length * 100)}%`)
|
console.log(`Processed ${i} of ${results.data.length}, ${Math.round(i / results.data.length * 100)}%`)
|
||||||
}
|
}
|
||||||
const existing = await prisma.rechnung.findFirst({
|
const existing = await prisma.rechnung.findFirst({
|
||||||
@@ -29,7 +29,7 @@ Papa.parse(file, {
|
|||||||
})
|
})
|
||||||
|
|
||||||
if (existing) {
|
if (existing) {
|
||||||
console.log(`Rechnung für ${rechnung.id} existiert bereits.`);
|
//console.log(`Rechnung für ${rechnung.id} existiert bereits.`);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -166,6 +166,7 @@ Papa.parse(file, {
|
|||||||
await prisma.rechnung.create({
|
await prisma.rechnung.create({
|
||||||
data
|
data
|
||||||
});
|
});
|
||||||
|
console.log('User: ' + rechnung.user_id + ' Rechnung:' + rechnung.id);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.log(e);
|
console.log(e);
|
||||||
continue;
|
continue;
|
||||||
|
|||||||
Reference in New Issue
Block a user