42 lines
1.8 KiB
PHP
42 lines
1.8 KiB
PHP
<?php
|
|
|
|
namespace HermannTelser\Gutachten\Berechnungen;
|
|
|
|
use HermannTelser\Gutachten\DB\DbFunction;
|
|
|
|
class FaktorenBasis
|
|
{
|
|
/**
|
|
* @return false
|
|
*/
|
|
public static function berechnen()
|
|
{
|
|
// DbFunction::$debug = 1;
|
|
|
|
// ZU NUTZWERT wenn raumart 2,8 => normale Nutzfläche, Methode 2b
|
|
DbFunction::secureUpdate('tx_gutachten_raume_generell', ['zunutzwert' => 0], ['AND' => ['pid' => DbFunction::$projektid, 'tt_raumart_id[!]' => [2, 8]]]);
|
|
DbFunction::secureUpdate('tx_gutachten_raume_generell', ['zunutzwert' => 1], ['AND' => ['pid' => DbFunction::$projektid, 'tt_raumart_id' => [2, 8]]]);
|
|
|
|
DbFunction::secureUpdate('tx_gutachten_raume_basis', ['noDispInOrientierung' => 0], ['pid' => DbFunction::$projektid]);
|
|
$res = DbFunction::select('tx_gutachten_raume_all', 'tt_raume_basis_id', ['AND' => ['pid' => DbFunction::$projektid, 'tt_raumart_id' => [5, 6, 9]], 'GROUP' => 'tt_raume_basis_id']);
|
|
if ($res) {
|
|
DbFunction::secureUpdate('tx_gutachten_raume_basis', ['noDispInOrientierung' => 1], ['id' => $res]);
|
|
}
|
|
|
|
$fields = range('a', 'u');
|
|
$res = DbFunction::select('tx_gutachten_raume_basis', 'id', ['AND' => ['pid' => DbFunction::$projektid, 'noDispInOrientierung' => 0]]);
|
|
foreach ($res as $key => $raume_basis_id) {
|
|
$arr = DbFunction::select('tx_gutachten_raume_basis', $fields, ['id' => $raume_basis_id]);
|
|
$summe = array_sum($arr[0]);
|
|
$bewertung = 100 + $summe;
|
|
$factor = $bewertung / 100;
|
|
|
|
$update_array = [];
|
|
$update_array['summe_az'] = $summe;
|
|
$update_array['bewertung'] = $bewertung;
|
|
$update_array['factor'] = $factor;
|
|
DbFunction::secureUpdate('tx_gutachten_raume_basis', $update_array, ['id' => $raume_basis_id]);
|
|
}
|
|
}
|
|
}
|