first commit
This commit is contained in:
commit
e81864e683
2984 files changed
+267797
No files matched your search
@@ -0,0 +1,106 @@
|
||||
<?php
|
||||
|
||||
namespace HermannTelser\Zuladungsliste\Berechnung;
|
||||
|
||||
use HermannTelser\Zuladungsliste\Utilities\Message;
|
||||
use TYPO3\CMS\Core\Database\ConnectionPool;
|
||||
use TYPO3\CMS\Core\Utility\GeneralUtility;
|
||||
|
||||
/***
|
||||
*
|
||||
* This file is part of the "Zuladungsliste Steiermark" Extension for TYPO3 CMS.
|
||||
*
|
||||
* For the full copyright and license information, please read the
|
||||
* LICENSE.txt file that was distributed with this source code.
|
||||
*
|
||||
* (c) 2019 Hermann Telser <hermann.telser@gmail.com>, NUH-Odds GmbH
|
||||
*
|
||||
***/
|
||||
|
||||
class AufloesungPunkteVerteilung
|
||||
{
|
||||
/**
|
||||
* @return void
|
||||
*/
|
||||
public static function manage()
|
||||
{
|
||||
if (_Berechnung::$debug) {
|
||||
Message::debug(__FILE__, __LINE__, 'Manage Auflösung Punkte Verteilung');
|
||||
}
|
||||
|
||||
// 2 usergroup => Ordentliche Registrierung zur Zuladungsliste
|
||||
|
||||
$queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable('tx_zuladungsliste_konto_aufloesung_mm');
|
||||
$statement = $queryBuilder
|
||||
->select('uid_geber', ' uid_empfaenger', ' prozente')
|
||||
->from('tx_zuladungsliste_konto_aufloesung_mm')
|
||||
->where(
|
||||
$queryBuilder->expr()->gt('prozente', (int) 0)
|
||||
)->execute()->fetchAll();
|
||||
|
||||
if (_Berechnung::$debug) {
|
||||
Message::note($queryBuilder->getSQL());
|
||||
}
|
||||
|
||||
$verteiler_arr = [];
|
||||
foreach ($statement as $key => $value) {
|
||||
$uid = $value['uid_geber'];
|
||||
$verteiler_arr[$uid][] = $value;
|
||||
}
|
||||
|
||||
foreach ($verteiler_arr as $uid_geber => $empfaener_arr) {
|
||||
$frauenpunkt_abgezogen = '';
|
||||
|
||||
foreach (_Berechnung::$_data['liste'] as $key => $_value_liste) {
|
||||
if ($_value_liste['user_id'] == $uid_geber) {
|
||||
$geber_punkte = $_value_liste['punkte'];
|
||||
if ($geber_punkte > 0) {
|
||||
$geber_company = $_value_liste['company'];
|
||||
_Berechnung::$_data['liste'][$key]['company'] .= ' ( Kontoauflösung '._Berechnung::$_data['liste'][$key]['kontoaufloesung_active'].')';
|
||||
_Berechnung::$_data['liste'][$key]['punkte'] = 0;
|
||||
_Berechnung::$_data['liste'][$key]['nominiert'] = 0;
|
||||
_Berechnung::$_data['liste'][$key]['auswertung']['wettbewerbe']['punkte'] = 0;
|
||||
_Berechnung::$_data['liste'][$key]['auswertung']['neueinsteigerpunkt']['punkte'] = 0;
|
||||
if (1 == _Berechnung::$_data['liste'][$key]['auswertung']['frauenfoerderpunkt']['punkte']) {
|
||||
$frauenpunkt_abgezogen = ', Frauenförderpunkt wurde abgezogen';
|
||||
--$geber_punkte;
|
||||
}
|
||||
_Berechnung::$_data['liste'][$key]['auswertung']['frauenfoerderpunkt']['punkte'] = 0;
|
||||
|
||||
foreach ($empfaener_arr as $key => $_empfaenger) {
|
||||
$uid_empfaenger = $_empfaenger['uid_empfaenger'];
|
||||
$prozente = $_empfaenger['prozente'];
|
||||
|
||||
// SET EMPFÄNGER
|
||||
foreach (_Berechnung::$_data['liste'] as $key => $value) {
|
||||
if ($value['user_id'] == $uid_empfaenger) {
|
||||
$punkte_empf_anteil = round($geber_punkte * ($prozente / 100), 2);
|
||||
|
||||
_Berechnung::$_data['liste'][$key]['punkte'] = _Berechnung::$_data['liste'][$key]['punkte'] + $punkte_empf_anteil;
|
||||
_Berechnung::$_data['liste'][$key]['istempfaenger'] = '1';
|
||||
|
||||
_Berechnung::$_data['liste'][$key]['auswertung']['wettbewerbe']['punkte'] += $punkte_empf_anteil;
|
||||
_Berechnung::$_data['liste'][$key]['auswertung']['wettbewerbe'][] = [
|
||||
'wettbewerb' => "$prozente% von Kontoauflösung".$frauenpunkt_abgezogen,
|
||||
'verfahrensid' => '',
|
||||
'verfahrensort' => '',
|
||||
'entscheidungstermin' => '',
|
||||
'mit_sperrung' => '',
|
||||
'punkte' => $punkte_empf_anteil,
|
||||
'bezeichnung' => '',
|
||||
'bezeichnung_punkte' => '',
|
||||
'regelwerk' => '',
|
||||
'monate_seit_entscheidungstermin' => '',
|
||||
'punkte_aktive' => '',
|
||||
'gueltig_bis' => '',
|
||||
'von_transfer' => $geber_company,
|
||||
];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user