redesign for mulituser
change validation concept (client and server) using entities
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user