From f326adb6a623e05edb6a2312d4e0c2a34fc30041 Mon Sep 17 00:00:00 2001 From: Dario Rekowski on RockPI Date: Wed, 5 May 2021 17:40:30 +0000 Subject: [PATCH 1/5] don't show decays smaller than 0,01 GDD --- .../src/Model/Table/TransactionsTable.php | 22 +++++++++++-------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/community_server/src/Model/Table/TransactionsTable.php b/community_server/src/Model/Table/TransactionsTable.php index 00f00b904..301894a61 100644 --- a/community_server/src/Model/Table/TransactionsTable.php +++ b/community_server/src/Model/Table/TransactionsTable.php @@ -183,15 +183,19 @@ class TransactionsTable extends Table $state_balance->amount = $prev->balance; $state_balance->record_date = $prev->balance_date; $diff_amount = $state_balance->partDecay($current->balance_date); - - //echo $interval->format('%R%a days'); - //echo "prev balance: " . $prev->balance . ", diff_amount: $diff_amount, summe: " . (-intval($prev->balance - $diff_amount)) . "
"; - $final_transactions[] = [ - 'type' => 'decay', - 'balance' => -intval($prev->balance - $diff_amount), - 'decay_duration' => $interval->format('%a days, %H hours, %I minutes, %S seconds'), - 'memo' => '' - ]; + $balance = -intval($prev->balance - $diff_amount); + // skip small decays (smaller than 0,00 GDD) + + if(abs($balance) > 100) { + //echo $interval->format('%R%a days'); + //echo "prev balance: " . $prev->balance . ", diff_amount: $diff_amount, summe: " . (-intval($prev->balance - $diff_amount)) . "
"; + $final_transactions[] = [ + 'type' => 'decay', + 'balance' => -intval($prev->balance - $diff_amount), + 'decay_duration' => $interval->format('%a days, %H hours, %I minutes, %S seconds'), + 'memo' => '' + ]; + } } } From 837e0f4fc6c543f8e27cd71033d00f573ceb22bd Mon Sep 17 00:00:00 2001 From: Dario Rekowski on RockPI Date: Wed, 5 May 2021 17:42:18 +0000 Subject: [PATCH 2/5] calculate only once --- community_server/src/Model/Table/TransactionsTable.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/community_server/src/Model/Table/TransactionsTable.php b/community_server/src/Model/Table/TransactionsTable.php index 301894a61..790b7b5f0 100644 --- a/community_server/src/Model/Table/TransactionsTable.php +++ b/community_server/src/Model/Table/TransactionsTable.php @@ -191,7 +191,7 @@ class TransactionsTable extends Table //echo "prev balance: " . $prev->balance . ", diff_amount: $diff_amount, summe: " . (-intval($prev->balance - $diff_amount)) . "
"; $final_transactions[] = [ 'type' => 'decay', - 'balance' => -intval($prev->balance - $diff_amount), + 'balance' => $balance, 'decay_duration' => $interval->format('%a days, %H hours, %I minutes, %S seconds'), 'memo' => '' ]; From 3c566aca9b2ca257d554e788f33806d3d0bffefb Mon Sep 17 00:00:00 2001 From: einhornimmond Date: Thu, 6 May 2021 12:28:14 +0200 Subject: [PATCH 3/5] Update community_server/src/Model/Table/TransactionsTable.php Co-authored-by: Ulf Gebhardt --- community_server/src/Model/Table/TransactionsTable.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/community_server/src/Model/Table/TransactionsTable.php b/community_server/src/Model/Table/TransactionsTable.php index 790b7b5f0..b577afd7d 100644 --- a/community_server/src/Model/Table/TransactionsTable.php +++ b/community_server/src/Model/Table/TransactionsTable.php @@ -186,7 +186,7 @@ class TransactionsTable extends Table $balance = -intval($prev->balance - $diff_amount); // skip small decays (smaller than 0,00 GDD) - if(abs($balance) > 100) { + if(abs($balance) >= 100) { //echo $interval->format('%R%a days'); //echo "prev balance: " . $prev->balance . ", diff_amount: $diff_amount, summe: " . (-intval($prev->balance - $diff_amount)) . "
"; $final_transactions[] = [ From d3c4c4e7aa8beda234c7156ad09e9f5f41a6b3aa Mon Sep 17 00:00:00 2001 From: einhornimmond Date: Fri, 7 May 2021 13:04:26 +0200 Subject: [PATCH 4/5] add lost update, prevent also showing negative decay --- .../src/Model/Table/TransactionsTable.php | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/community_server/src/Model/Table/TransactionsTable.php b/community_server/src/Model/Table/TransactionsTable.php index 587b70c0f..8dd302f57 100644 --- a/community_server/src/Model/Table/TransactionsTable.php +++ b/community_server/src/Model/Table/TransactionsTable.php @@ -183,7 +183,7 @@ class TransactionsTable extends Table $state_balance->amount = $prev->balance; $state_balance->record_date = $prev->balance_date; $diff_amount = $state_balance->partDecay($current->balance_date); - $balance = -intval($prev->balance - $diff_amount); + $balance = floatval(intval($prev->balance - $diff_amount)); // skip small decays (smaller than 0,00 GDD) if(abs($balance) >= 100) { @@ -258,12 +258,15 @@ class TransactionsTable extends Table if($i == $stateUserTransactionsCount-1 && $decay == true) { $state_balance->amount = $su_transaction->balance; $state_balance->record_date = $su_transaction->balance_date; - $final_transactions[] = [ - 'type' => 'decay', - 'balance' => floatval(intval($su_transaction->balance - $state_balance->decay)), - 'decay_duration' => $su_transaction->balance_date->timeAgoInWords(), - 'memo' => '' - ]; + $balance = floatval($su_transaction->balance - $state_balance->decay); + if($balance > 100) { + $final_transactions[] = [ + 'type' => 'decay', + 'balance' => $balance, + 'decay_duration' => $su_transaction->balance_date->timeAgoInWords(), + 'memo' => '' + ]; + } } } From a5a8a3095536306dcc6f04a8d9bec2d64c9bcda1 Mon Sep 17 00:00:00 2001 From: einhornimmond Date: Fri, 7 May 2021 13:06:03 +0200 Subject: [PATCH 5/5] remove unneccessary intval --- community_server/src/Model/Table/TransactionsTable.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/community_server/src/Model/Table/TransactionsTable.php b/community_server/src/Model/Table/TransactionsTable.php index 8dd302f57..2ff39f469 100644 --- a/community_server/src/Model/Table/TransactionsTable.php +++ b/community_server/src/Model/Table/TransactionsTable.php @@ -183,7 +183,7 @@ class TransactionsTable extends Table $state_balance->amount = $prev->balance; $state_balance->record_date = $prev->balance_date; $diff_amount = $state_balance->partDecay($current->balance_date); - $balance = floatval(intval($prev->balance - $diff_amount)); + $balance = floatval($prev->balance - $diff_amount); // skip small decays (smaller than 0,00 GDD) if(abs($balance) >= 100) {