68 lines
2.2 KiB
PHP
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;
|
|
}
|
|
}
|