redesign for mulituser

change validation concept (client and server)
using entities
This commit is contained in:
Markus
2026-10-06 08:55:35 +02:00
parent 14e050e4ba
commit 995e2ec111
41 changed files with 2402 additions and 1223 deletions

View File

@@ -10,26 +10,32 @@ class Charts extends BaseController {
$this->db = \Config\Database::connect();
}
public function getData($id){
public function getData(int $id){
if ($id == 0)
return $this->getAllData();
else
return $this->getDetailData($id);
}
private function getDetailData($id){
private function getDetailData(int $id){
$accounts = model('App\Models\mAccounts'); /* @var \App\Models\mAccounts $accounts */
$bills = model('App\Models\mBills'); /* @var \App\Models\mBills $bills */
$billDet = model('App\Models\mBillDetails'); /* @var \App\Models\mBills $billDet */
$accTable = $accounts->getTable();
$billTable = $bills->getTable();
$billDetTable = $billDet->getTable();
$jetzt = date('Y-m-01');
$query = <<<EOD
SELECT
SUM(subamount)*(-1) AS Amount,
description,account_id as id
FROM
finanzen.budget_billdetails, finanzen.budget_bills,finanzen.budget_accounts
$billDetTable, $billTable,$accTable
WHERE
datum >= '$jetzt'
AND (datum < '$jetzt'::date + interval '1 month')
AND budget_bills.id = bill_id
AND account_id = finanzen.budget_accounts.id
AND $billTable.id = bill_id
AND account_id = $accTable.id
AND (account_id IN (
WITH RECURSIVE subordinates AS (
SELECT
@@ -37,7 +43,7 @@ class Charts extends BaseController {
parent_id,
description
FROM
finanzen.budget_accounts
$accTable
WHERE
id = $id
UNION
@@ -46,7 +52,7 @@ class Charts extends BaseController {
e.parent_id,
e.description
FROM
finanzen.budget_accounts e
$accTable e
INNER JOIN subordinates s ON s.id = e.parent_id)
SELECT
id
@@ -72,16 +78,24 @@ class Charts extends BaseController {
return view("charts/monthly", $data);
}
private function getAllData(){
$accounts = model('App\Models\mAccounts'); /* @var \App\Models\mAccounts $accounts */
$bills = model('App\Models\mBills'); /* @var \App\Models\mBills $bills */
$billDet = model('App\Models\mBillDetails'); /* @var \App\Models\mBills $billDet */
$accTable = $accounts->getTable();
$billTable = $bills->getTable();
$billDetTable = $billDet->getTable();
$jetzt = date('Y-m-01');
$query = <<<EOD
SELECT * FROM (
SELECT id, description,sum(amount)as summe FROM (SELECT id,description from finanzen.budget_accounts WHERE parent_id=0 AND type='output' AND LKZ is null) as w,
SELECT id, description,sum(amount)as summe FROM (SELECT id,description from $accTable WHERE parent_id=0 AND account=false AND deleted_at is null) as w,
LATERAL
(SELECT ABS(SUM(subamount)) as amount
FROM finanzen.budget_billdetails, finanzen.budget_bills
FROM $billDetTable, $billTable
WHERE datum >= '$jetzt'
AND budget_bills.id = bill_id
AND (account_id IN
AND $billTable.deleted_at is null
AND $billDetTable.deleted_at is null
AND $billTable.id = $billDetTable.bill_id
AND (account_id IN
(
WITH RECURSIVE subordinates AS (
SELECT
@@ -89,7 +103,7 @@ class Charts extends BaseController {
parent_id,
description
FROM
finanzen.budget_accounts
$accTable
WHERE
id = w.id
UNION
@@ -98,7 +112,7 @@ class Charts extends BaseController {
e.parent_id,
e.description
FROM
finanzen.budget_accounts e
$accTable e
INNER JOIN subordinates s ON s.id = e.parent_id)
SELECT
id
@@ -109,6 +123,7 @@ class Charts extends BaseController {
EOD;
$data = array();
$result = $this->db->query($query);
log_message('debug','Charts::getAllData: '.$this->db->getLastQuery());
foreach ($result->getResult() as $row) {
$werte[] = $row->summe;
$ids[] = $row->id;