Files
gutachten_t3/packages/gutachten/Classes/DB/Update/UpdateRaeumeAlleOrientierung.php
T

68 lines
2.2 KiB
PHP

<?php
namespace HermannTelser\Gutachten\DB\Update;
use HermannTelser\Gutachten\DB\DbFunction;
use HermannTelser\Gutachten\Eid\TxGutachten;
use TYPO3\CMS\Core\Utility\GeneralUtility;
class UpdateRaeumeAlleOrientierung
{
/**
* @param mixed $rowid
*
* @return bool
*/
public static function update()
{
// TxGutachten::$debug = 1;
$projekt_id = 0;
$_post = GeneralUtility::_GP('data');
$_data = json_decode($_post, true);
$res = DbFunction::select('tx_gutachten_orientierung', ['id', 'orientierung'], ['ORDER' => 'sortierung']);
$map = [];
foreach ($res as $field => $value) {
$map[$value['orientierung']] = $value['id'];
}
$_range = range('a', 'u');
foreach ($_data as $key => $value) {
$projekt_id = $value['pid'];
$raume_basis_id = $value['id'];
$update_array = [];
foreach ($_range as $key => $col) {
$value[$col] = str_replace(',', '.', $value[$col]);
$update_array[$col] = (float) $value[$col];
}
$update_array['tt_orientierung_id'] = $map[$value['orientierung']];
$update_array['typ'] = $value['typ'];
DbFunction::secureUpdate('tx_gutachten_raume_basis', $update_array, ['id' => $raume_basis_id]);
}
DbFunction::secureUpdate('tx_gutachten_raume_basis', ['noDispInOrientierung' => 0], ['pid' => $projektid]);
$res = DbFunction::select('tx_gutachten_raume_all', 'tt_raume_basis_id', ['AND' => ['pid' => $projektid, 'tt_raumart_id' => [5, 6, 9]], 'GROUP' => 'tt_raume_basis_id']);
DbFunction::secureUpdate('tx_gutachten_raume_basis', ['noDispInOrientierung' => 1], ['id' => $res]);
$fields = range('a', 'u');
$res = DbFunction::select('tx_gutachten_raume_basis', 'id', ['AND' => ['pid' => $projekt_id, '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]);
}
echo 1;
exit;
}
}