implement accountings

This commit is contained in:
CodeSteak 2020-01-27 20:37:54 +01:00
parent 24d0cfae67
commit b1fd77f6b6
8 changed files with 404 additions and 32 deletions

View File

@ -196,9 +196,9 @@ public class RequestController {
return "/intern/accounting/vat";
}
@GetMapping("/intern/accounting/intern")
@GetMapping("/intern/accounting/main")
public String accountingIntern() {
return "/intern/accounting/intern";
return "/intern/accounting/main";
}
@GetMapping("/intern/accounting/addManual")

View File

@ -1,6 +1,5 @@
@import "fonts.css";
:root {
font-family: "Fira Sans";
line-height: 1.15;
@ -326,6 +325,7 @@ footer {
*/
textarea,
input[list],
input[type="number"],
input[type="text"],
input[type="password"] {
background-color: var(--c-base);
@ -415,6 +415,15 @@ fieldset label {
display: inline-block;
}
input[type=number] {
text-align: right;
-moz-appearance: textfield;
}
input[type="number"]:focus {
-moz-appearance: number-input;
}
/*
* HERO
*/
@ -827,14 +836,12 @@ fieldset label {
margin: 0px;
}
/***
THE UGLY
TODO: Refactor
****/
.dropdown {
width: 12.5rem;
display: block;
@ -844,6 +851,7 @@ TODO: Refactor
display: none;
position: absolute;
}
.dropdown .dropdown-button {
display: block;
width: 12.5rem;
@ -851,8 +859,7 @@ TODO: Refactor
margin-bottom: 0px;
}
.dropdown:hover .dropdown-content {
}
.dropdown:hover .dropdown-content {}
.dropdown:hover .dropdown-button {
display: inline-block;

View File

@ -8,13 +8,14 @@
<body>
<nav th:fragment="sidebar">
<h1>Kategorien</h1>
<ul>
<li><a>Dashboard</a>
<ul>
<li><a>Artikel</a></li>
<li><a>Umsatzsteuer</a></li>
<li><a class='selected'>Geldbuchungen</a></li>
<li><a>Einstellungen</a></li>
<li><a th:href="@{/intern/accounting/}">Alle Buchungen</a>
<ul>
<li><a th:href="@{/intern/accounting/main}">Hauptbuchungskonto</a></li>
<li><a th:href="@{/intern/accounting/vat}">Mehrwertsteuer</a></li>
<li><a th:href="@{/intern/accounting/addManual}">Manuell Buchen</a></li>
</ul>
</li>
<li><a>Lieferanten</a>
@ -35,6 +36,7 @@
</ul>
</li>
</ul>
</ul>
</nav>
</body>

View File

@ -0,0 +1,117 @@
<!DOCTYPE html>
<html lang="de" dir="ltr" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=0.75, user-scalable=no">
<title>Manuelle Buchung</title>
<link rel="stylesheet" th:href="@{/css/ecom.css}" />
</head>
<body>
<nav th:replace="/fragments/header :: header">Header</nav>
<div class="sidebar-layout content-width">
<nav></nav>
<div>
<h1>Manuelle Buchung</h1>
</div>
</div>
<main class="sidebar-layout content-width">
<nav th:replace="/fragments/intern :: sidebar"></nav>
<div class="content-width">
<h1> Manuelle Buchung </h1>
<form class="detailgrid">
<div class="s">
<label for="amount">Betrag</label>
<input type="number" step="0.01" name="amount" value="0.00" /> EUR
</div>
<div class="spacer"> </div>
<div class="s">
<fieldset>
<label for="source">Von Konto:</label>
<fieldset>
<input type="radio" id="s-no" name="destination" value="None" required>
<label for="s-no">Kein Konto</label>
</fieldset>
<fieldset>
<input type="radio" id="s-main" name="destination" value="Main" required>
<label for="s-main">Hauptkonto</label>
</fieldset>
<fieldset>
<input type="radio" id="s-vat" name="destination" value="Vat" required>
<label for="s-vat">Mehrwertsteuerkonto</label>
</fieldset>
<fieldset>
<input type="radio" id="s-cust" name="destination" value="Cust" required>
<label for="s-cust">Kundenkonto</label>
<input placeholder="Kunden Nr." type="text" name="destination-customer" value="" />
</fieldset>
<fieldset>
<input type="radio" id="s-sup" name="destination" value="Sup" required>
<label for="s-sup">Lieferanten Konto</label>
<input placeholder="Lieferanten Nr." type="text" name="destination-sup" value="" />
</fieldset>
</fieldset>
</div>
<div class="s">
<fieldset>
<label for="destination">Nach Konto:</label>
<fieldset>
<input type="radio" id="d-no" name="destination" value="None" required>
<label for="d-no">Kein Konto</label>
</fieldset>
<fieldset>
<input type="radio" id="d-main" name="destination" value="Main" required>
<label for="d-main">Hauptkonto</label>
</fieldset>
<fieldset>
<input type="radio" id="d-vat" name="destination" value="Vat" required>
<label for="d-vat">Mehrwertsteuerkonto</label>
</fieldset>
<fieldset>
<input type="radio" id="d-cust" name="destination" value="Cus" required>
<label for="d-cust">Kundenkonto</label>
<input placeholder="Kunden Nr." type="text" name="destination-customer" value="" />
</fieldset>
<fieldset>
<input type="radio" id="d-sup" name="destination" value="Sup" required>
<label for="d-sup">Lieferanten Konto</label>
<input placeholder="Lieferanten Nr." type="text" name="destination-sup" value="" />
</fieldset>
</fieldset>
</div>
<div class="m">
<fieldset>
<label for="reason">Buchungsgrund:</label>
<fieldset>
<input type="radio" name="reason" value="Start">
<label for="d-sup">Startbuchung</label>
</fieldset>
<fieldset>
<input type="radio" name="reason" value="Manual" checked>
<label for="d-sup">Manuell</label>
<input placeholder="Grund" class="full-width" type="text" name="reason-man" value=""/>
</fieldset>
</fieldset>
</div>
<div class="l">
<p>
Manuelle Buchungen können nicht rückgängig gemacht werden! <br />
Es können jedoch Gegenbuchungen erstellt werden.
</p>
<button type="submit">Buchung tätigen</button>
<button type="reset">Zurücksetzen</button>
</div>
</form>
</div>
</main>
<footer th:replace="/fragments/footer :: footer"></footer>
</body>
</html>

View File

@ -0,0 +1,99 @@
<!DOCTYPE html>
<html lang="de" dir="ltr" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=0.75, user-scalable=no">
<title>Alle Buchungen</title>
<script th:src="@{/js/filterTable.js}"></script>
<link rel="stylesheet" th:href="@{/css/ecom.css}" />
</head>
<body>
<nav th:replace="/fragments/header :: header">Header</nav>
<div class="sidebar-layout content-width">
<nav></nav>
<div>
<h1>Alle Buchungen</h1>
</div>
</div>
<main class="sidebar-layout content-width">
<nav th:replace="/fragments/intern :: sidebar"></nav>
<div class="content-width">
<h2> Manuelle Buchung </h2>
<p>
Buchungen können manuell getätigt werden.
<a class="button" th:href="@{/intern/accounting/addManual}"> Jetzt Buchen </a>
</p>
<p>
<table id="main-table">
<tr>
<th colspan="8">
<input type="text" placeholder="Filtern" class="jsFilterTable full-width" data-target-id="main-table">
</th>
</tr>
<tr>
<th>Zeitpunkt</th>
<th>Betrag</th>
<th>Von</th>
<th>Kontostand</th>
<th>Nach</th>
<th>Kontostand</th>
<th>Grund</th>
<th>Referenz</th>
</tr>
<tr>
<td>10.09.2019 14:10</td>
<td>119,00 EUR</td>
<td> - </td>
<td> - </td>
<td><a th:href="@{/intern/customers/5000}">Kunde 5080</a></td>
<td>0 EUR</td>
<td>Kunden-Bezahlung</td>
<td>Bezahlung mit Kreditkarte 89404480</td>
</tr>
<tr>
<td>10.09.2019 13:45</td>
<td>19,00 EUR</td>
<td><a th:href="@{/intern/accounting/main}">Hauptkonto</a></td>
<td>331,00 EUR</td>
<td><a th:href="@{/intern/accounting/vat}">Mehrwertsteuer</a></td>
<td>1510,95 EUR</td>
<td>Kunden-Bestellung</td>
<td><a th:href="@{/intern/customerOrders/450}">2504</a></td>
</tr>
<tr>
<td>10.09.2019 13:45</td>
<td>100,00 EUR</td>
<td><a th:href="@{/intern/customers/5000}">Kunde 5080</a></td>
<td>-100,00 EUR</td>
<td><a th:href="@{/intern/accounting/main}">Hauptkonto</a></td>
<td>350,00 EUR</td>
<td>Kunden-Bestellung</td>
<td><a th:href="@{/intern/customerOrders/450}">2504</a></td>
</tr>
<tr>
<td>19.08.2019 12:31</td>
<td>250,00 EUR</td>
<td> - </td>
<td> - </td>
<td><a th:href="@{/intern/accounting/main}">Hauptkonto</a></td>
<td>250,00 EUR</td>
<td>Startkapital</td>
<td> - </td>
</tr>
</table>
<p>
</div>
</main>
<footer th:replace="/fragments/footer :: footer"></footer>
</body>
</html>

View File

@ -0,0 +1,86 @@
<!DOCTYPE html>
<html lang="de" dir="ltr" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=0.75, user-scalable=no">
<title>Hauptbuchungskonto</title>
<script th:src="@{/js/filterTable.js}"></script>
<link rel="stylesheet" th:href="@{/css/ecom.css}" />
</head>
<body>
<nav th:replace="/fragments/header :: header">Header</nav>
<div class="sidebar-layout content-width">
<nav></nav>
<div>
<h1>Hauptbuchungskonto</h1>
</div>
</div>
<main class="sidebar-layout content-width">
<nav th:replace="/fragments/intern :: sidebar"></nav>
<div class="content-width">
<h3> Kontostand </h3>
<h2> 331,00 EUR </h2>
<p>
<table id="main-table">
<tr>
<th colspan="8">
<input type="text" placeholder="Filtern" class="jsFilterTable full-width" data-target-id="main-table">
</th>
</tr>
<tr>
<th>Zeitpunkt</th>
<th>Betrag</th>
<th>Von</th>
<th>Kontostand</th>
<th>Nach</th>
<th>Kontostand</th>
<th>Grund</th>
<th>Referenz</th>
</tr>
<tr>
<td>10.09.2019 13:45</td>
<td>-19,00 EUR</td>
<td><a th:href="@{/intern/accounting/vat}">Mehrwertsteuer</a></td>
<td>1510,95 EUR</td>
<td><a th:href="@{/intern/accounting/main}">Hauptkonto</a></td>
<td>331,00 EUR</td>
<td>Kunden-Bestellung</td>
<td><a th:href="@{/intern/customerOrders/450}">2504</a></td>
</tr>
<tr>
<td>10.09.2019 13:45</td>
<td>100,00 EUR</td>
<td><a th:href="@{/intern/customers/5000}">Kunde 5080</a></td>
<td>-100,00 EUR</td>
<td><a th:href="@{/intern/accounting/main}">Hauptkonto</a></td>
<td>350,00 EUR</td>
<td>Kunden-Bestellung</td>
<td><a th:href="@{/intern/customerOrders/450}">2504</a></td>
</tr>
<tr>
<td>19.08.2019 12:31</td>
<td>250,00 EUR</td>
<td> - </td>
<td> - </td>
<td><a th:href="@{/intern/accounting/main}">Hauptkonto</a></td>
<td>250,00 EUR</td>
<td>Startkapital</td>
<td> - </td>
</tr>
</table>
<p>
</div>
</main>
<footer th:replace="/fragments/footer :: footer"></footer>
</body>
</html>

View File

@ -0,0 +1,61 @@
<!DOCTYPE html>
<html lang="de" dir="ltr" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=0.75, user-scalable=no">
<title>Mehrwertsteuerkonto</title>
<script th:src="@{/js/filterTable.js}"></script>
<link rel="stylesheet" th:href="@{/css/ecom.css}" />
</head>
<body>
<nav th:replace="/fragments/header :: header">Header</nav>
<div class="sidebar-layout content-width">
<nav></nav>
<div>
<h1>Mehrwertsteuerkonto</h1>
</div>
</div>
<main class="sidebar-layout content-width">
<nav th:replace="/fragments/intern :: sidebar"></nav>
<div class="content-width">
<h3> Kontostand </h3>
<h2> 1510.95 EUR </h2>
<p>
<table id="main-table">
<tr>
<th colspan="8">
<input type="text" placeholder="Filtern" class="jsFilterTable full-width" data-target-id="main-table">
</th>
</tr>
<tr>
<th>Zeitpunkt</th>
<th>Betrag</th>
<th>Von</th>
<th>Kontostand</th>
<th>Nach</th>
<th>Kontostand</th>
<th>Grund</th>
<th>Referenz</th>
</tr>
<tr>
<td>10.09.2019 13:45</td>
<td>19,00 EUR</td>
<td><a th:href="@{/intern/accounting/main}">Hauptkonto</a></td>
<td>331,00 EUR</td>
<td><a th:href="@{/intern/accounting/vat}">Mehrwertsteuer</a></td>
<td>1510,95 EUR</td>
<td>Kunden-Bestellung</td>
<td><a th:href="@{/intern/customerOrders/450}">2504</a></td>
</tr>
</table>
<p>
</div>
</main>
<footer th:replace="/fragments/footer :: footer"></footer>
</body>
</html>