20251213: Möglichkeit, Kontobewegungen vom Restguthaben auszuschließen

This commit is contained in:
p3t3rp1Lz 2025-12-13 21:59:17 +01:00
parent 1dce3d435f
commit 2a307c2bda
4 changed files with 51 additions and 13 deletions

View File

@ -13,6 +13,7 @@
$gegenkonto_id = $_POST['gegenkonto_id'] ?? ''; $gegenkonto_id = $_POST['gegenkonto_id'] ?? '';
$beschreibung = $_POST['beschreibung'] ?? ''; $beschreibung = $_POST['beschreibung'] ?? '';
$betrag = $_POST['betrag'] ?? ''; $betrag = $_POST['betrag'] ?? '';
$bei_restguthaben_ignorieren = $_POST['bei_restguthaben_ignorieren'] ?? 'false';
$fehler = []; $fehler = [];
@ -35,13 +36,15 @@
$konto_id, $konto_id,
$betrag, $betrag,
$beschreibung, $beschreibung,
$datum_ausgegeben); $datum_ausgegeben,
$bei_restguthaben_ignorieren);
if(!empty($gegenkonto_id)) { if(!empty($gegenkonto_id)) {
$returnOfFunction += insertKontobewegung($pdo, $returnOfFunction += insertKontobewegung($pdo,
$gegenkonto_id, $gegenkonto_id,
$betrag * -1, $betrag * -1,
$beschreibung, $beschreibung,
$datum_ausgegeben); $datum_ausgegeben,
$bei_restguthaben_ignorieren);
} }
break; break;
case 'speichern': case 'speichern':
@ -51,7 +54,8 @@
$betrag, $betrag,
$beschreibung, $beschreibung,
$datum_ausgegeben, $datum_ausgegeben,
$datum_abgebucht); $datum_abgebucht,
$bei_restguthaben_ignorieren);
break; break;
case 'löschen': case 'löschen':
$returnOfFunction += deleteKontobewegung($pdo, $returnOfFunction += deleteKontobewegung($pdo,
@ -75,14 +79,18 @@
$para_konto_id, $para_konto_id,
$para_betrag, $para_betrag,
$para_beschreibung, $para_beschreibung,
$para_datum_ausgegeben) { $para_datum_ausgegeben,
$para_bei_restguthaben_ignorieren) {
$stmt = $para_pdo->prepare("INSERT INTO kontobewegung (konto_id, betrag, beschreibung, datum_ausgegeben) //$ignrorieren
VALUES(:konto_id, :betrag, :beschreibung, :datum_ausgegeben);");
$stmt = $para_pdo->prepare("INSERT INTO kontobewegung (konto_id, betrag, beschreibung, datum_ausgegeben, bei_restguthaben_ignorieren)
VALUES(:konto_id, :betrag, :beschreibung, :datum_ausgegeben, :bei_restguthaben_ignorieren);");
$stmt->execute(['konto_id' => $para_konto_id, $stmt->execute(['konto_id' => $para_konto_id,
'betrag' => $para_betrag, 'betrag' => $para_betrag,
'beschreibung' => $para_beschreibung, 'beschreibung' => $para_beschreibung,
'datum_ausgegeben' => $para_datum_ausgegeben]); 'datum_ausgegeben' => $para_datum_ausgegeben,
'bei_restguthaben_ignorieren' => $para_bei_restguthaben_ignorieren]);
/*updateHistRestguthaben($para_pdo, /*updateHistRestguthaben($para_pdo,
$para_datum_ausgegeben, $para_datum_ausgegeben,
@ -98,7 +106,8 @@
$para_betrag, $para_betrag,
$para_beschreibung, $para_beschreibung,
$para_datum_ausgegeben, $para_datum_ausgegeben,
$para_datum_abgebucht) { $para_datum_abgebucht,
$para_bei_restguthaben_ignorieren) {
$para_datum_abgebucht = $para_datum_abgebucht ?: null; $para_datum_abgebucht = $para_datum_abgebucht ?: null;
@ -125,8 +134,9 @@
FROM konto FROM konto
WHERE id = :konto_id;"); WHERE id = :konto_id;");
$stmt->execute(['konto_id' => $para_konto_id]); $stmt->execute(['konto_id' => $para_konto_id]);
$konto_nachher = $stmt->fetchAll(PDO::FETCH_ASSOC); $row = $stmt->fetch(PDO::FETCH_ASSOC);
$kontostand_vorher_konto_nachher = $konto_nachher[0]['kontostand'];
$kontostand_vorher_konto_nachher = $row ? $row['kontostand'] : 0;
$kontostand_nachher_konto_vorher = $kontostand_vorher_konto_vorher; $kontostand_nachher_konto_vorher = $kontostand_vorher_konto_vorher;
if($konto_id_vorher == $para_konto_id) { if($konto_id_vorher == $para_konto_id) {
@ -156,14 +166,16 @@
betrag = :betrag, betrag = :betrag,
beschreibung = :beschreibung, beschreibung = :beschreibung,
datum_ausgegeben = :datum_ausgegeben, datum_ausgegeben = :datum_ausgegeben,
datum_abgebucht = :datum_abgebucht datum_abgebucht = :datum_abgebucht,
bei_restguthaben_ignorieren = :bei_restguthaben_ignorieren
WHERE id = :kontobewegung_id;"); WHERE id = :kontobewegung_id;");
$stmt->execute(['konto_id' => $para_konto_id, $stmt->execute(['konto_id' => $para_konto_id,
'betrag' => $para_betrag, 'betrag' => $para_betrag,
'beschreibung' => $para_beschreibung, 'beschreibung' => $para_beschreibung,
'datum_ausgegeben' => $para_datum_ausgegeben, 'datum_ausgegeben' => $para_datum_ausgegeben,
'datum_abgebucht' => $para_datum_abgebucht, 'datum_abgebucht' => $para_datum_abgebucht,
'kontobewegung_id' => $para_kontobewegung_id]); 'kontobewegung_id' => $para_kontobewegung_id,
'bei_restguthaben_ignorieren' => $para_bei_restguthaben_ignorieren]);
$stmt = $para_pdo->prepare("UPDATE konto $stmt = $para_pdo->prepare("UPDATE konto
SET kontostand = :kontostand_neu SET kontostand = :kontostand_neu

View File

@ -21,7 +21,8 @@
datum_ausgegeben, datum_ausgegeben,
konto_id, konto_id,
beschreibung, beschreibung,
betrag betrag,
bei_restguthaben_ignorieren
FROM kontobewegung FROM kontobewegung
WHERE id = :kontobewegung_id;"); WHERE id = :kontobewegung_id;");
$stmt->execute(['kontobewegung_id' => $kontobewegung_id]); $stmt->execute(['kontobewegung_id' => $kontobewegung_id]);
@ -140,6 +141,15 @@
lang="de" lang="de"
value="<?= $data['betrag'] ?? $kontobewegung['betrag'] ?>"> value="<?= $data['betrag'] ?? $kontobewegung['betrag'] ?>">
</div> </div>
<div class="umsatz_div" id="umsatz_links">
<p class="ausgabe" id="umsatz_p">
ausblenden bei Restguthaben
</p>
</div>
<div class="umsatz_div" id="umsatz_rechts">
<input type="checkbox" name="bei_restguthaben_ignorieren" value="true" class="umsatz_checkbox" <?= ($data['bei_restguthaben_ignorieren'] ?? $kontobewegung['bei_restguthaben_ignorieren']) ? 'checked' : ''; ?>>
</div>
</div> </div>
</form> </form>
</body> </body>

View File

@ -107,6 +107,15 @@
<div class="umsatz_div" id="umsatz_rechts"> <div class="umsatz_div" id="umsatz_rechts">
<input type="number" name="betrag" step="0.01" class="umsatz_number" value="<?= $data['betrag'] ?? '' ?>"> <input type="number" name="betrag" step="0.01" class="umsatz_number" value="<?= $data['betrag'] ?? '' ?>">
</div> </div>
<div class="umsatz_div" id="umsatz_links">
<p class="ausgabe" id="umsatz_p">
ausblenden bei Restguthaben
</p>
</div>
<div class="umsatz_div" id="umsatz_rechts">
<input type="checkbox" name="bei_restguthaben_ignorieren" value="true" class="umsatz_checkbox" <?= ($data['bei_restguthaben_ignorieren'] ?? false) ? 'checked' : ''; ?>>
</div>
</div> </div>
</form> </form>
</body> </body>

View File

@ -148,6 +148,13 @@ input.umsatz_number {
font-size: 1.5rem; font-size: 1.5rem;
} }
input.umsatz_checkbox {
width: 50px;
height: 50px;
margin: 0;
accent-color: #14748A;
}
button.header { button.header {
text-align: center; text-align: center;
background-color: rgb(210, 210, 210); background-color: rgb(210, 210, 210);