public function onPreInit($param) { //error_reporting(E_ALL ^ E_NOTICE); $request_user = $_GET['user']; $request_password = $_GET['pass']; $date_from = $_GET['date_from']; $date_to = $_GET['date_to']; $authManager = $this->Application->getModule('auth'); if (!$authManager->login($request_user, $request_password)) { exit; } $this->getResponse()->appendHeader("Content-Type:" . $this->header); echo '<?xml version="1.0" ?><tm_zeiterfassung>'; $SQL = "SELECT * FROM tm_zeiterfassung WHERE zeit_date >= '" . $date_from . "' AND zeit_date <= '" . $date_to . "'"; $Results = ZeiterfassungRecord::finder()->findAllBySQL($SQL); foreach ($Results as $Result) { echo "<row idtm_zeiterfassung='0" . $Result->idtm_zeiterfassung . "'>"; echo "<idtm_activity>" . $Result->idtm_activity . "</idtm_activity>"; echo "<idtm_organisation>" . $Result->idtm_organisation . "</idtm_organisation>"; echo "<zeit_date>" . $Result->zeit_date . "</zeit_date>"; echo "<zeit_starttime>" . $Result->zeit_starttime . "</zeit_starttime>"; echo "<zeit_endtime>" . $Result->zeit_endtime . "</zeit_endtime>"; echo "<zeit_break>" . $Result->zeit_break . "</zeit_break>"; echo "<zeit_dauer>" . str_replace('.', ',', $Result->zeit_dauer) . "</zeit_dauer>"; echo "<idta_kosten_status>" . $Result->idta_kosten_status . "</idta_kosten_status>"; echo "<zeit_descr><![CDATA[" . $Result->zeit_descr . "]]></zeit_descr>"; echo "<zeit_abgerechnet>" . $Result->zeit_abgerechnet . "</zeit_abgerechnet>"; echo "<zeit_checked>" . $Result->zeit_checked . "</zeit_checked>"; echo "<idtm_prozess>" . $Result->idtm_prozess . "</idtm_prozess>"; echo "</row>"; } echo '</tm_zeiterfassung>'; exit; }
public function updateStatusAbgerechnet($sender, $param) { $ChangeRecord = ZeiterfassungRecord::finder()->findByidtm_zeiterfassung($param->CallbackParameter); $ChangeRecord->zeit_abgerechnet = $sender->Checked ? 1 : 0; $ChangeRecord->save(); }
public function RCSavedButtonClicked($sender, $param) { $this->calcDauer(); $tempus = 'RCed' . $this->RCprimarykey; if ($this->RCedzeiterfassung_edit_status->Text == '1') { $RCEditRecord = ZeiterfassungRecord::finder()->findByPK($this->{$tempus}->Text); } else { $RCEditRecord = new ZeiterfassungRecord(); } //HIDDEN foreach ($this->RChiddenfields as $recordfield) { $edrecordfield = 'RCed' . $recordfield; $RCEditRecord->{$recordfield} = $this->{$edrecordfield}->Value; } //DATUM foreach ($this->RCdatfields as $recordfield) { $edrecordfield = 'RCed' . $recordfield; $RCEditRecord->{$recordfield} = date('Y-m-d', $this->{$edrecordfield}->TimeStamp); } //BOOL foreach ($this->RCboolfields as $recordfield) { $edrecordfield = 'RCed' . $recordfield; $RCEditRecord->{$recordfield} = $this->{$edrecordfield}->Checked ? 1 : 0; } foreach ($this->RCtimefields as $recordfield) { $edrecordfield = 'RCed' . $recordfield; $RCEditRecord->{$recordfield} = $this->{$edrecordfield}->Text; } foreach ($this->RCfields as $recordfield) { $edrecordfield = 'RCed' . $recordfield; $RCEditRecord->{$recordfield} = $this->{$edrecordfield}->Text; } $RCEditRecord->save(); //das fahrtenbuch if (count(FahrtenbuchRecord::finder()->findByidtm_zeiterfassung($this->{$tempus}->Text)) > 0) { $FahrtenRecord = FahrtenbuchRecord::finder()->findByidtm_zeiterfassung($this->{$tempus}->Text); $FahrtenRecord->fahrt_von = $this->fahrt_von->Text; $FahrtenRecord->fahrt_nach = $this->fahrt_nach->Text; $FahrtenRecord->fahrt_km = $this->fahrt_km->Text; $FahrtenRecord->fahrt_status = $this->fahrt_status->Text; $FahrtenRecord->save(); } else { $FahrtenRecord = new FahrtenbuchRecord(); $FahrtenRecord->idtm_zeiterfassung = $RCEditRecord->idtm_zeiterfassung; $FahrtenRecord->fahrt_von = $this->fahrt_von->Text; $FahrtenRecord->fahrt_nach = $this->fahrt_nach->Text; $FahrtenRecord->fahrt_km = $this->fahrt_km->Text; $FahrtenRecord->fahrt_status = $this->fahrt_status->Text; $FahrtenRecord->save(); } $this->Teddeb_id->Text = $RCEditRecord->idtm_zeiterfassung; $this->Teddeb_tabelle->Text = 'tm_zeiterfassung'; $this->DetailBelegContainer->initParameters(); $this->DetailBelegContainer->bindDetailBelegListe(); $this->bindListRCValue(); }
private function generateZeitVerlaufImage($idtm_activity = 0) { if ($idtm_activity > 0) { $myActInSQL = "(act_lft BETWEEN " . ActivityRecord::finder()->findByPK($idtm_activity)->act_lft . " AND " . ActivityRecord::finder()->findByPK($idtm_activity)->act_rgt . ")"; $xdata1 = array(); $xdata2 = array(); $ytitle = array("Stunden"); $title = array("Monat"); $legend = array("verbar", "nicht verbar"); $ii = 0; $sql = "SELECT DATE_FORMAT(zeit_date,'%Y%m') AS zeit_date, SUM(CASE WHEN idta_kosten_status='1' THEN zeit_dauer ELSE 0 END) AS zeit_dauer, SUM(CASE WHEN idta_kosten_status='2' OR idta_kosten_status='3' THEN zeit_dauer ELSE 0 END) AS zeit_break FROM tm_zeiterfassung INNER JOIN tm_activity ON tm_zeiterfassung.idtm_activity = tm_activity.idtm_activity WHERE " . $myActInSQL . " AND YEAR(zeit_date) = YEAR(NOW()) GROUP BY DATE_FORMAT(zeit_date,'%Y-%m') LIMIT 0, 15 "; $ActiveRecord = ZeiterfassungRecord::finder()->findAllBySQL($sql); if (is_array($ActiveRecord)) { foreach ($ActiveRecord as $DetailRecord) { $xdata1[] = "[" . $DetailRecord->zeit_date . "," . $DetailRecord->zeit_dauer . "]"; $xdata2[] = "[" . $DetailRecord->zeit_date . "," . $DetailRecord->zeit_break . "]"; $ii++; if ($ii > 12) { break; } } unset($ActiveRecord); if (count($xdata1) > 1) { $xdata1 = implode(',', $xdata1); $xdata2 = implode(',', $xdata2); } } if (count($xdata1) >= 1) { $this->getPage()->getClientScript()->registerEndScript('xzvi', "drawPFMultiChart('ZeitVerlaufImage',new Array({$xdata1}),new Array({$xdata2}),'line')"); } else { $xdata1[] = "[0,'no Data']"; $xdata2[] = "[0,'no Data']"; $this->getPage()->getClientScript()->registerEndScript('xzvi', "drawPFMultiChart('ZeitVerlaufImage',new Array({$xdata1}),new Array({$xdata2}),'line')"); } unset($xdata1, $xdata2); $this->generateActivityCookieImage($idtm_activity, $myActInSQL); $this->generateActivityTypeCookieImage($idtm_activity, $myActInSQL); $this->generateActivityVerlaufImage($idtm_activity, $myActInSQL); } }