From 2528a6feb6ca33d118757048b9d5e3e173fc2236 Mon Sep 17 00:00:00 2001 From: ma0068 Date: Mon, 14 Nov 2022 10:59:52 +0100 Subject: [PATCH] Formatierungen Codesniffer --- .../controllers/jobs/ZeiterfassungInfoJob.php | 653 +++++++++--------- 1 file changed, 321 insertions(+), 332 deletions(-) diff --git a/application/controllers/jobs/ZeiterfassungInfoJob.php b/application/controllers/jobs/ZeiterfassungInfoJob.php index 36f1f04c9..408dcb733 100644 --- a/application/controllers/jobs/ZeiterfassungInfoJob.php +++ b/application/controllers/jobs/ZeiterfassungInfoJob.php @@ -18,375 +18,364 @@ if (!defined('BASEPATH')) exit('No direct script access allowed'); class ZeiterfassungInfoJob extends JOB_Controller { + const URLAUBSFREIGABE_PATH = 'cis/private/profile/urlaubsfreigabe.php'; + const MONATSLISTEN_PATH = 'addons/casetime/cis/timesheet_overview.php'; + /* * Constructor */ + public function __construct() + { + parent::__construct(); - const URLAUBSFREIGABE_PATH = 'cis/private/profile/urlaubsfreigabe.php'; - const MONATSLISTEN_PATH = 'addons/casetime/cis/timesheet_overview.php'; - /** - * Constructor - */ - public function __construct() - { - parent::__construct(); + // Load models + $this->load->model('person/Benutzerfunktion_model', 'BenutzerfunktionModel'); + $this->load->model('ressource/Mitarbeiter_model', 'MitarbeiterModel'); + $this->load->model('ressource/Timesheet_model', 'TimesheetModel'); + $this->load->model('ressource/Zeitaufzeichnung_model', 'ZeitaufzeichnungModel'); + $this->load->model('ressource/Zeitsperre_model', 'ZeitsperreModel'); + $this->load->model('system/Benutzerrolle_model', 'BenutzerrolleModel'); + $this->load->model('person/Person_model', 'PersonModel'); - // Load models - $this->load->model('person/Benutzerfunktion_model', 'BenutzerfunktionModel'); - $this->load->model('ressource/Mitarbeiter_model', 'MitarbeiterModel'); - $this->load->model('ressource/Timesheet_model', 'TimesheetModel'); - $this->load->model('ressource/Zeitaufzeichnung_model', 'ZeitaufzeichnungModel'); - $this->load->model('ressource/Zeitsperre_model', 'ZeitsperreModel'); - $this->load->model('system/Benutzerrolle_model', 'BenutzerrolleModel'); - $this->load->model('person/Person_model', 'PersonModel'); + // Load libraries + $this->load->library('PermissionLib'); - // Load libraries - $this->load->library('PermissionLib'); + // Load helpers + $this->load->helper('hlp_sancho_helper'); + } - // Load helpers - $this->load->helper('hlp_sancho_helper'); - } +/** + * Send Sancho Reminder eMail to: + * a) Supervisors, who have to approve vacation + * b) Supervisors, who have to approve timesheets + * c) Employees, who did not send last months timesheet yet + * d) Employees, who have not recorded their working hours last week + * e) Employees, who do not have a "Zeitmodel" yet + */ + public function sendMail() + { + $allMitarbeiter = $this->_getEmplyeeUids(); - /** - * Send Sancho Reminder eMail to: - * a) Supervisors, who have to approve vacation - * b) Supervisors, who have to approve timesheets - * c) Employees, who did not send last months timesheet yet - * d) Employees, who have not recorded their working hours last week - * e) Employees, who do not have a "Zeitmodel" yet - */ - public function sendMail() - { - $allMitarbeiter = $this->_getEmplyeeUids(); + $vorgesetzte_to_approve_vacation = $this->_getVorgesetztetoApproveVacationList(); + $vorgesetzte_to_approve_timesheets = $this->_getVorgesetztetoApproveTimesheetList(); - $vorgesetzte_to_approve_vacation = $this->_getVorgesetztetoApproveVacationList(); - $vorgesetzte_to_approve_timesheets = $this->_getVorgesetztetoApproveTimesheetList(); + $mitarbeiter_to_send_timesheet_lastmonth = $this->_getEmployeeTimesheetList(); + $mitarbeiter_to_record_times_lastweek = $this->_getEmployeeLastWeeksTimeList(); - $mitarbeiter_to_send_timesheet_lastmonth = $this->_getEmployeeTimesheetList(); - $mitarbeiter_to_record_times_lastweek = $this->_getEmployeeLastWeeksTimeList(); + $mitarbeiter_without_zeitmodell = $this->_filterMitarbeiter(); - $mitarbeiter_without_zeitmodell = $this->_filterMitarbeiter(); + $cnt_sup_to_approve_vacation = 0; + $cnt_sup_to_approve_timesheets = 0; + $cnt_ma_to_send_timesheet = 0; + $cnt_ma_to_record_times_lastweek = 0; + $cnt_ma_without_zeitmodell = 0; + $cnt_mails_total = 0; - $cnt_sup_to_approve_vacation = 0; - $cnt_sup_to_approve_timesheets = 0; - $cnt_ma_to_send_timesheet = 0; - $cnt_ma_to_record_times_lastweek = 0; - $cnt_ma_without_zeitmodell = 0; - $cnt_mails_total = 0; + $mailingList = array(); - $mailingList = array(); + foreach ($allMitarbeiter as $ma) + { + $uid = $ma->uid; + if(array_key_exists($uid, $vorgesetzte_to_approve_vacation)) + { + $ma->SupVac = true; + $cnt_sup_to_approve_vacation++; + } + else + { + $ma->SupVac = false; + } + if(array_key_exists($uid, $vorgesetzte_to_approve_timesheets)) + { + $ma->SupMonth = true; + $cnt_sup_to_approve_timesheets++; + } + else + { + $ma->SupMonth = false; + } + if(array_key_exists($uid, $mitarbeiter_to_send_timesheet_lastmonth)) + { + $ma->EmpMonth = true; + $cnt_ma_to_send_timesheet++; + } + else + { + $ma->EmpMonth = false; + } + if(array_key_exists($uid, $mitarbeiter_to_record_times_lastweek)) + { + $ma->EmpWeek = true; + $cnt_ma_to_record_times_lastweek++; + } + else + { + $ma->EmpWeek = false; + } + if(array_key_exists($uid, $mitarbeiter_without_zeitmodell)) + { + $ma->EmpZeitMod = true; + $cnt_ma_without_zeitmodell++; + } + else + { + $ma->EmpZeitMod = false; + } - foreach ($allMitarbeiter as $ma) - { - $uid = $ma->uid; - if(array_key_exists($uid, $vorgesetzte_to_approve_vacation)) - { - $ma->SupVac = true; - $cnt_sup_to_approve_vacation++; - } - else - { - $ma->SupVac = false; - } - if(array_key_exists($uid, $vorgesetzte_to_approve_timesheets)) - { - $ma->SupMonth = true; - $cnt_sup_to_approve_timesheets++; - } - else - { - $ma->SupMonth = false; - } - if(array_key_exists($uid, $mitarbeiter_to_send_timesheet_lastmonth)) - { - $ma->EmpMonth = true; - $cnt_ma_to_send_timesheet++; - } - else - { - $ma->EmpMonth = false; - } - if(array_key_exists($uid, $mitarbeiter_to_record_times_lastweek)) - { - $ma->EmpWeek = true; - $cnt_ma_to_record_times_lastweek++; - } - else - { - $ma->EmpWeek = false; - } - if(array_key_exists($uid, $mitarbeiter_without_zeitmodell)) - { - $ma->EmpZeitMod = true; - $cnt_ma_without_zeitmodell++; - } - else - { - $ma->EmpZeitMod = false; - } + if($ma->SupVac || $ma->SupMonth || $ma->EmpMonth || $ma->EmpWeek || $ma->EmpZeitMod) + { + array_push($mailingList, $ma); + $cnt_mails_total++; + } + } + $start = date("h:i:sa"); - if($ma->SupVac || $ma->SupMonth || $ma->EmpMonth || $ma->EmpWeek || $ma->EmpZeitMod) - { - array_push($mailingList, $ma); - $cnt_mails_total++; - } + print_r(date("h:i:sa\n")); + // Loop through 'container' of mail recipients + foreach ($mailingList as $ma) + { + // Set mail recipient + $to = $ma->uid.'@'. DOMAIN; - } - $start = date("h:i:sa"); + $ma_name = getData($this->PersonModel->getFullName($ma->uid)); + $supVac =''; + $SupMonth =''; + $EmpMonth =''; + $EmpWeek =''; + $EmpZeitMod =''; - print_r(date("h:i:sa\n")); - // Loop through 'container' of mail recipients - foreach ($mailingList as $ma) - { - // Set mail recipient - $to = $ma->uid.'@'. DOMAIN; + //Generate Email Text + $ma->SupVac ? $supVac = 'Du hast noch Urlaube freizugeben. Du findest die Urlaubsfreigabe unter: + Urlaubstool

' : ''; + $ma->SupMonth ? $SupMonth = 'Du hast noch Monatslisten freizugeben. Du findest die Monatslistenfreigabe unter: + Monatslisten

' : ''; + $ma->EmpMonth ? $EmpMonth = 'Du musst noch die Monatsliste von letztem Monat abschicken.

' : ''; + $ma->EmpWeek ? $EmpWeek = 'Du musst noch Zeiten für letzte Woche eintragen.

' : ''; + $ma->EmpZeitMod ? $EmpZeitMod = 'Du hast noch kein Zeitmodell hinterlegt.

' : ''; - $ma_name = getData($this->PersonModel->getFullName($ma->uid)); - $supVac =''; - $SupMonth =''; - $EmpMonth =''; - $EmpWeek =''; - $EmpZeitMod =''; + // Prepare mail content + $content_data_arr = array( + 'ma_name' => $ma_name, + 'SupVac' => $supVac, + 'SupMonth' => $SupMonth, + 'EmpMonth' => $EmpMonth, + 'EmpWeek' => $EmpWeek, + 'EmpZeitMod' => $EmpZeitMod + ); - //Generate Email Text - $ma->SupVac ? $supVac = 'Du hast noch Urlaube freizugeben. Du findest die Urlaubsfreigabe unter: Urlaubstool

' : ''; - $ma->SupMonth ? $SupMonth = 'Du hast noch Monatslisten freizugeben. Du findest die Monatslistenfreigabe unter: Monatslisten

' : ''; - $ma->EmpMonth ? $EmpMonth = 'Du musst noch die Monatsliste von letztem Monat abschicken.

' : ''; - $ma->EmpWeek ? $EmpWeek = 'Du musst noch Zeiten für letzte Woche eintragen.

' : ''; - $ma->EmpZeitMod ? $EmpZeitMod = 'Du hast noch kein Zeitmodell hinterlegt.

' : ''; + sendSanchoMail( + 'Sancho_InfoMailZeiterfassung', + $content_data_arr, + $to, + 'Zeiterfassung Erinnerung', + DEFAULT_SANCHO_HEADER_IMG, + DEFAULT_SANCHO_FOOTER_IMG + ); + } + $end = date("h:i:sa"); + print_r($end."\n"); + print_r(($start-$end."\n")); - // Prepare mail content - $content_data_arr = array( - 'ma_name' => $ma_name, - 'SupVac' => $supVac, - 'SupMonth' => $SupMonth, - 'EmpMonth' => $EmpMonth, - 'EmpWeek' => $EmpWeek, - 'EmpZeitMod' => $EmpZeitMod - ); + print_r("___________________________________________________________________"); + print_r("\n"); + print_r("|"); + print_r("\n"); + print_r("| Job Report: Infomail Zeiterfassung\n"); + print_r("|"); + print_r("\n"); + print_r("| Anzahl Urlaube freizugeben: " . $cnt_sup_to_approve_vacation); + print_r("\n"); + print_r("| Anzahl Monatslisten zu bestätigen: ". $cnt_sup_to_approve_timesheets); + print_r("\n"); + print_r("| Anzahl Monatslisten abzuschicken: " . $cnt_ma_to_send_timesheet); + print_r("\n"); + print_r("| Anzahl fehlende Zeitaufzeichnungen letzte Woche: " . $cnt_ma_to_record_times_lastweek); + print_r("\n"); + print_r("|"); + print_r("\n"); + print_r("| Anzahl kein hinterlegtes Zeitmodell: " . $cnt_ma_without_zeitmodell); + print_r("\n"); + print_r("| Anzahl gesendeter Mails Total: " . $cnt_mails_total); + print_r("\n"); + print_r("|"); + print_r("__________________________________________________________________"); + print_r("\n"); - // var_dump($content_data_arr); + return true; + } - sendSanchoMail( - 'Sancho_InfoMailZeiterfassung', - $content_data_arr, - $to, - 'Zeiterfassung Erinnerung', - DEFAULT_SANCHO_HEADER_IMG, - DEFAULT_SANCHO_FOOTER_IMG - ); +//****************************************************************************************************************** +// PRIVATE FUNCTIONS +//****************************************************************************************************************** - } - $end = date("h:i:sa"); - print_r($end."\n"); - print_r(($start-$end."\n")); + /** + * Get all Supervisors that have yet to approve Vacations of Emploees + * @return array - keys: supervisor name, values: number of emploees with pending vacation approval + */ + private function _getVorgesetztetoApproveVacationList() + { + $mResult = $this->ZeitsperreModel->getMitarbeiterListWithPendingVacation(); + $mitarbeiterList = getData($mResult); + $vorgesetzte = array(); + $toSend = array(); - print_r("___________________________________________________________________"); - print_r("\n"); - print_r("|"); - print_r("\n"); - print_r("| Job Report: Infomail Zeiterfassung\n"); - print_r("|"); - print_r("\n"); - print_r("| Anzahl Urlaube freizugeben: " . $cnt_sup_to_approve_vacation); - print_r("\n"); - print_r("| Anzahl Monatslisten zu bestätigen: ". $cnt_sup_to_approve_timesheets); - print_r("\n"); - print_r("| Anzahl Monatslisten abzuschicken: " . $cnt_ma_to_send_timesheet); - print_r("\n"); - print_r("| Anzahl fehlende Zeitaufzeichnungen letzte Woche: " . $cnt_ma_to_record_times_lastweek); - print_r("\n"); - print_r("|"); - print_r("\n"); - print_r("| Anzahl kein hinterlegtes Zeitmodell: " . $cnt_ma_without_zeitmodell); - print_r("\n"); - print_r("| Anzahl gesendeter Mails Total: " . $cnt_mails_total); - print_r("\n"); - print_r("|"); - print_r("__________________________________________________________________"); - print_r("\n"); + foreach ($mitarbeiterList as $mitarbeiter) + { + $mitarbeiter_uid = $mitarbeiter->mitarbeiter_uid; + $vorgesetzte[] = getData($this->MitarbeiterModel->getVorgesetzte($mitarbeiter_uid)); + } - return true; - } + foreach ($vorgesetzte as $v) + { + if(!(is_null($v))) + { + foreach ($v as $obj) + { + $name = $obj->vorgesetzter; + if (!(is_null($name)) && !array_key_exists($name, $toSend)) + { + $toSend[$name] = 1; + } + else + { + $toSend[$name] += 1; + } + } + } + } + return $toSend; + } - //****************************************************************************************************************** - // PRIVATE FUNCTIONS - //****************************************************************************************************************** + /** + * Get all Supervisors that have yet to approve Timesheets of Emploees + * @return array - keys: supervisor name, values: number of emploees with pending timesheet approval + */ + private function _getVorgesetztetoApproveTimesheetList() + { + $mResult = $this->TimesheetModel->getPendingTimesheets(); + $mitarbeiterList = getData($mResult); + $vorgesetzte = array(); + $toSend = array(); - /** - * Get all Supervisors that have yet to approve Vacations of Emploees - * @return array - keys: supervisor name, values: number of emploees with pending vacation approval - */ - private function _getVorgesetztetoApproveVacationList() - { - $mResult = $this->ZeitsperreModel->getMitarbeiterListWithPendingVacation(); - $mitarbeiterList = getData($mResult); - $vorgesetzte = array(); - $toSend = array(); + foreach ($mitarbeiterList as $mitarbeiter) + { + $uid = $mitarbeiter->uid; + $vorgesetzte[] = getData($this->MitarbeiterModel->getVorgesetzte($uid)); + } - foreach ($mitarbeiterList as $mitarbeiter) - { - $mitarbeiter_uid = $mitarbeiter->mitarbeiter_uid; - $vorgesetzte [] = getData($this->MitarbeiterModel->getVorgesetzte($mitarbeiter_uid)); + foreach ($vorgesetzte as $v) + { + if (!is_null($v)) + { + foreach ($v as $obj) + { + $name = $obj->vorgesetzter; + if (!array_key_exists($name, $toSend)) + { + $toSend[$name] = 1; + } + else + { + $toSend[$name] += 1; + } + } + } + } + return $toSend; + } - } - foreach ($vorgesetzte as $v) - { - if(!(is_null($v))) - { - foreach ($v as $obj) - { - $name = $obj->vorgesetzter; + /** + * Get all Mitarbeiter Names that have yet to send Timesheets of Last Month + * @return array - array of Strings (mitarbeiter uids) + */ + private function _getEmployeeTimesheetList() + { + $mResult = $this->TimesheetModel->getUidofMissingTimesheetsLastMonth(); + $mitarbeiterList = getData($mResult); + $cnt_timesheetsToSend = 0; - if (!(is_null($name)) && !array_key_exists($name, $toSend)) - { - $toSend[$name] = 1; - } - else - { - $toSend[$name] += 1; - } - } - } - } + $names = array(); - return $toSend; - } + foreach ($mitarbeiterList as $mitarbeiter) + { + $uid = $mitarbeiter->uid; + if($this->MitarbeiterModel->isMitarbeiter($uid)) + { + $names[$uid] = $uid; + $cnt_timesheetsToSend++; + } + } + return $names; + } - /** - * Get all Supervisors that have yet to approve Timesheets of Emploees - * @return array - keys: supervisor name, values: number of emploees with pending timesheet approval - */ - private function _getVorgesetztetoApproveTimesheetList() - { - $mResult = $this->TimesheetModel->getPendingTimesheets(); - $mitarbeiterList = getData($mResult); - $vorgesetzte = array(); - $toSend = array(); + /** + * Get all Mitarbeiter Names that have yet to record last weeks times + * @return array - array of Strings (mitarbeiter uids) + */ + private function _getEmployeeLastWeeksTimeList() + { + $mitarbeiter = $this->MitarbeiterModel->getPersonal(true, null, true)->retval; + $zeitaufzeichnungLastWeek = $this->ZeitaufzeichnungModel->zeitaufzeichnungExistsForLastWeekList()->retval; + $mitarbeiterLastWeekExists = array(); + $uids = array(); - foreach ($mitarbeiterList as $mitarbeiter) - { - $uid = $mitarbeiter->uid; - $vorgesetzte [] = getData($this->MitarbeiterModel->getVorgesetzte($uid)); - } + foreach ($zeitaufzeichnungLastWeek as $name) + { + $mitarbeiterLastWeekExists[] = $name->uid; + } - foreach ($vorgesetzte as $v) - { - if (!is_null($v)) - { - foreach ($v as $obj) - { - $name = $obj->vorgesetzter; + foreach ($mitarbeiter as $ma) + { + $uid = $ma->uid; + if(!in_array($uid,$mitarbeiterLastWeekExists)) + { + $uids[$uid] = $uid; + } + } + return $uids; + } - if (!array_key_exists($name, $toSend)) - { - $toSend[$name] = 1; - } - else - { - $toSend[$name] += 1; - } - } - } - } + private function _getEmplyeeUids() + { + $mitarbeiter = $this->MitarbeiterModel->getEmployeesZeitaufzeichnungspflichtig()->retval; + $mitarbeiterUIDs = array(); - return $toSend; - } + foreach ($mitarbeiter as $ma) + { + $mitarbeiterObj = new StdClass(); + $mitarbeiterObj->uid = $ma->mitarbeiter_uid; + //$mitarbeiterObj->vorname = $ma->vorname; + $mitarbeiterObj->SupVac = false; + $mitarbeiterObj->SupMonth = false; + $mitarbeiterObj->EmpMonth = false; + $mitarbeiterObj->EmpWeek = false; + $mitarbeiterObj->EmpZeitMod = false; - /** - * Get all Mitarbeiter Names that have yet to send Timesheets of Last Month - * @return array - array of Strings (mitarbeiter uids) - */ - private function _getEmployeeTimesheetList() - { - $mResult = $this->TimesheetModel->getUidofMissingTimesheetsLastMonth(); - $mitarbeiterList = getData($mResult); - $cnt_timesheetsToSend = 0; + array_push($mitarbeiterUIDs, $mitarbeiterObj); + } - $names = array(); - - foreach ($mitarbeiterList as $mitarbeiter) - { - $uid = $mitarbeiter->uid; - if($this->MitarbeiterModel->isMitarbeiter($uid)) - { - $names [$uid] = $uid; - $cnt_timesheetsToSend++; - } + return $mitarbeiterUIDs; + } - } - return $names; - } + private function _filterMitarbeiter() + { + $mitarbeiter = $this->MitarbeiterModel->getPersonal(true, null, true)->retval; + $mResult = $this->TimesheetModel->getAllMissingZeitmodelle(); + $mResult = $mResult[1]; + $mitarbeiterWithoutZeitmodell = array(); + $uids = array(); - /** - * Get all Mitarbeiter Names that have yet to record last weeks times - * @return array - array of Strings (mitarbeiter uids) - */ - private function _getEmployeeLastWeeksTimeList() - { - $mitarbeiter = $this->MitarbeiterModel->getPersonal(true,null,true)->retval; - $zeitaufzeichnungLastWeek = $this->ZeitaufzeichnungModel->zeitaufzeichnungExistsForLastWeekList()->retval; - $mitarbeiterLastWeekExists = array(); - $uids = array(); + foreach ($mResult as $ma) + { + array_push($uids, strtolower($ma[0])); + } - foreach ($zeitaufzeichnungLastWeek as $name) - { - $mitarbeiterLastWeekExists[] = $name->uid; - } - - foreach ($mitarbeiter as $ma) - { - $uid = $ma->uid; - if(!in_array($uid,$mitarbeiterLastWeekExists)) - { - $uids[$uid] = $uid; - } - } - return $uids; - } - - private function _getEmplyeeUids() - { - $mitarbeiter = $this->MitarbeiterModel->getEmployeesZeitaufzeichnungspflichtig()->retval; - $mitarbeiterUIDs = array(); - - foreach ($mitarbeiter as $ma) - { - $mitarbeiterObj = new StdClass(); - $mitarbeiterObj->uid = $ma->mitarbeiter_uid; - //$mitarbeiterObj->vorname = $ma->vorname; - $mitarbeiterObj->SupVac = false; - $mitarbeiterObj->SupMonth = false; - $mitarbeiterObj->EmpMonth = false; - $mitarbeiterObj->EmpWeek = false; - $mitarbeiterObj->EmpZeitMod = false; - - array_push($mitarbeiterUIDs, $mitarbeiterObj); - } - - return $mitarbeiterUIDs; - } - - - private function _filterMitarbeiter() - { - $mitarbeiter = $this->MitarbeiterModel->getPersonal(true,null,true)->retval; - $mResult = $this->TimesheetModel->getAllMissingZeitmodelle(); - $mResult = $mResult[1]; - $mitarbeiterWithoutZeitmodell = array(); - $uids = array(); - - foreach ($mResult as $ma) - { - array_push($uids, strtolower($ma[0])); - } - - foreach ($mitarbeiter as $ma) - { - $uid = $ma->uid; - if(!in_array($uid,$uids)) - { - $mitarbeiterWithoutZeitmodell [$uid] = $uid; - } - } - return $mitarbeiterWithoutZeitmodell; - } + foreach ($mitarbeiter as $ma) + { + $uid = $ma->uid; + if(!in_array($uid, $uids)) + { + $mitarbeiterWithoutZeitmodell[$uid] = $uid; + } + } + return $mitarbeiterWithoutZeitmodell; + } }