/** * Construct Table object from a Zend_Db_Table_Rowset * * @param Zend_Db_Table_Rowset_Abstract $rowset * @param string $tableName */ public function __construct(Zend_Db_Table_Rowset_Abstract $rowset, $tableName = null) { if($tableName == null) { $table = $rowset->getTable(); if($table !== null) { $tableName = $table->info('name'); } else { require_once "Zend/Test/PHPUnit/Db/Exception.php"; throw new Zend_Test_PHPUnit_Db_Exception( 'No table name was given to Rowset Table and table name cannot be infered from the table, '. 'because the rowset is disconnected from database.' ); } } $this->data = $rowset->toArray(); $columns = array(); if(isset($this->data[0]) > 0) { $columns = array_keys($this->data[0]); } else if($rowset->getTable() != null) { $columns = $rowset->getTable()->info('cols'); } $this->tableName = $tableName; $this->tableMetaData = new PHPUnit_Extensions_Database_DataSet_DefaultTableMetaData($this->tableName, $columns); }
public function achievsFormTrainings(Zend_Db_Table_Rowset_Abstract $trainings, array $groupsMethods, array $respons, array $months, array $groupsMethodsActual) { $methods = array(); foreach ($groupsMethods as $item) { $methods += $item; } $xhtml = array(); $xhtml[] = ' <div class="grid-head"> <table class="grid-head-table"> <thead> <tr> <th class="trains-field-num">№</th> <th class="trains-field-situation">Текущая ситуация<div>Current situation</div></th> <th class="trains-field-objective">Цель развития<div>Development objective</div></th> <th class="trains-field-method">Метод<div>Method</div></th> <th class="trains-field-responsible">Ответственный<div>Person in charge</div></th> <th class="trains-field-term">Срок<div>Timing</div></th> <th class="trains-field-result">Достижение цели плана развития<div>Individual development objective observable change</div></th> </tr> </thead> </table> </div> <div class="grid-body"> <table class="grid-body-table" id="trains"> <tbody> '; foreach ($trainings as $item) { $xhtml[] = $this->_rowTraining($item, $methods, $groupsMethods, $respons, $months, $groupsMethodsActual); } $xhtml[] = $this->_rowTraining($trainings->getTable()->createRow(), $methods, $groupsMethods, $respons, $months, $groupsMethodsActual); $xhtml[] = ' </tbody> </table> </div> <div class="grid-footer"> <table class="grid-footer-table"> <tbody> <tr> <td><div class="button" id="buttonAddTraining">Добавить цель проф. развития<br/> Add development objective</div></td> </tr> </tbody> </table> </div> '; return implode('', $xhtml); }
public function achievsPrintTasks(Zend_Db_Table_Rowset_Abstract $tasks, array $ratings, $have_func, $rate_weights, $card, $rtg, $status_id) { $xhtml = array(); $func_tasks = array(); $plan = false; if ($status_id == 'NEW' || $status_id == 'PLN' || $status_id == 'CPN') { $plan = true; } $xhtml[] = ' <table class="table"> <thead> <tr> <th class="tasks-field-num">№</th> <th class="tasks-field-description">Бизнес-цель<div>Business objective</div></th> <th class="tasks-field-term">Срок<div>Timing</div></th> <th class="tasks-field-weight">Вес<div>Weight</div></th> <th class="tasks-field-note"></th> <th class="tasks-field-result">Достижение бизнес-цели<div>Business objective achievement</div></th> <th class="tasks-field-rating">Рейтинг<div>Rating</div></th> </tr> </thead> </table>'; if ($have_func > 0) { $xhtml[] = '<div class="tasks-type"><span class="translate_ratio"><table id="ratio_tab" width="480px"> <tr> <td width="360px">Соотношение веса - бизнес-цели / функциональные цели<br/> Weight ratio - business objectives / functional objectives </td><td width="10px" align="center"> = </td> <td width="50px" align="center"> <label id="ratio_mng">' . $card->ratio_mng . '</label> </td><td width="10px" align="center">/</td> <td width="50px" align="center"><label id="ratio_fnc">' . $card->ratio_fnc . '</label> </td> </tr> </table></span></div>'; } $xhtml[] = ' <div class="tasks-type">Бизнес-цели - <span class="translate_category_tasks">Business Objectives</span></div> <table class="table"> <tbody>'; $count = 0; $count_func = 0; foreach ($tasks as $item) { if ($item->is_personal == null) { if ($item->is_functional == 1) { $func_tasks[] = $this->_rowTask($item, $ratings, ++$count_func); } else { $xhtml[] = $this->_rowTask($item, $ratings, ++$count); } } } if ($plan) { $newRow = $tasks->getTable()->createRow(); for ($i = 0; $i < 6; $i++) { $xhtml[] = $this->_rowTask($newRow, $ratings, ++$count); } } $xhtml[] = ' </tbody> </table>'; if ($have_func > 0) { $xhtml[] = ' <div class="tasks-type">Функциональные бизнес-цели - <span class="translate_category_tasks">Functional Business Objectives</span></div> <table class="table"> <tbody> '; $xhtml[] = implode('', $func_tasks); if ($plan) { $newRow = $tasks->getTable()->createRow(); for ($i = 0; $i < 6; $i++) { $xhtml[] = $this->_rowTask($newRow, $ratings, ++$count_func); } } $xhtml[] = ' </tbody> </table>'; } $xhtml[] = '</div> <div class="grid-footer"> <table class="grid-footer-table"> <tbody>'; if ($have_func > 0) { $xhtml[] = '<tr height="60px"> <td colspan="3" style="border-bottom:1px #666666 solid" valign="top" > <span class="translate_func_comment">Комментарии функционального руководителя - Functional Manager\'s comment</br></span> <div class="func_div" id="func_div">' . $card->fnc_comment . '</div> </td> <th class="tasks-field-rating-total" style="border-bottom:1px #666666 solid">Функциональный рейтинг:<br/>Functional rating:</th> <td class="field-rating tasks-field-rating-total" id="fieldRatingFunc" style="border-bottom:1px #666666 solid"> <div>' . $ratings[$card->rtg_func_id] . '</div> </td> </tr> <tr>'; } $xhtml[] = ' <tr> <td width="20%"> Вычисленный рейтинг:<br/>Calculated rating: </td> <td width="5%">' . $this->CalculateWeights($tasks, $rate_weights, $card) . '</td> <td width="50%"> </td> <td width="20%">Итоговый рейтинг:<br/>Total rating:</td> <td width="5%">' . $rtg . '</td> </tr> </tbody> </table> </div> '; return implode('', $xhtml); }
public function achievsFormPersonal(Zend_Db_Table_Rowset_Abstract $tasks, Zend_Db_Table_Rowset_Abstract $personalTrainings, Zend_Db_Table_Rowset_Abstract $personalCompetences, array $ratings, $rate_weights, $userRole, $card, $status_id, Rp_Db_Table_Rowset $competences) { $personal = 1; $xhtml = array(); $xhtml[] = ' <div class="grid-head"> <table class="grid-head-table"> <thead> <tr> <th class="tasks-field-num">' . $count_func . '№</th> <th class="tasks-field-description">Бизнес-цель<div>Business objective</div></th> <th class="tasks-field-term">Срок<div>Timing</div></th> <th class="tasks-field-weight">Вес (%)<div>Weight (%)</div></th> <th class="tasks-field-note"></th> <th class="tasks-field-result">Достижение бизнес-цели<div>Business objective achievement</div></th> <th class="tasks-field-rating">Рейтинг<div>Rating</div></th> </tr> </thead> </table> </div>'; $xhtml[] = '<div class="grid-body">'; // вывод целей руководителя для оценки сотрудником if ($status_id == 'RTG' || $status_id == 'CRG' || $status_id == 'CLS' || $status_id == 'PLN' || $status_id == 'CPN') { $xhtml[] = '<div class="tasks-type">Бизнес-цели (руководитель) - <span class="translate_category_tasks">Business Objectives (manager)</span></div> <table class="grid-body-table" id="managertasks"> <tbody>'; $count = 0; foreach ($tasks as $item) { if ($item->is_personal != 1) { $xhtml[] = $this->_rowManagerTask($item, $ratings, ++$count); } } $xhtml[] = '</tbody> </table>'; } $xhtml[] = '<div class="tasks-type">Бизнес-цели (сотрудник) - <span class="translate_category_tasks">Business Objectives (employee)</span></div> <table class="grid-body-table" id="personaltasks"> <tbody>'; $count = 0; foreach ($tasks as $item) { if ($item->is_personal == 1) { $xhtml[] = $this->_rowTask($item, $ratings, $personal, ++$count); } } $xhtml[] = $this->_rowTask($tasks->getTable()->createRow(), $ratings, $personal); $xhtml[] = ' </tbody> </table>'; $xhtml[] = '</div>'; $xhtml[] = ' <div class="grid-footer"> <table class="grid-footer-table"> <tbody> <tr> <td> <div class="button" id="buttonAddPersonalTask">Добавить бизнес-цель<br/> Add business objective</div> </td> </tr> </tbody> </table> </div>'; // [START] компетенции $competences = $competences->toArray(); $cardRtgCompetensId = $card->rtg_competens_id; $stands = array(); $addits = array(); $xhtml[] = ' <div class="grid-head"> <table class="grid-head-table"> <thead> <tr> <th class="compets-field-num">№</th> <th class="compets-field-name">Компетенция<div>Competence</div></th> <th class="compets-field-note"> </th> <th class="compets-field-result">Достижение по компетенции<div>Competence achievement</div></th> <th class="compets-field-rating">Рейтинг<div>Rating</div></th> </tr> </thead> </table> </div>'; $xhtml[] = '<div class="grid-body">'; $stands[] = ' <div class="compets-type">Корпоративные компетенции - <span class="translate_category_tasks">Corporate competences</span></div> <table class="grid-body-table" id="personalStandsCompets"> <tbody> '; $addits[] = ' <div class="compets-type">Компетенции группы должностей - <span class="translate_category_tasks">Job families competences</span></div> <table class="grid-body-table" id="personalAdditsCompets"> <tbody> '; foreach ($competences as $item) { if (!$item['disabled']) { if ($item['additional']) { $addits[] = $this->_rowCompetence($item, $ratings, $in_person); } else { $stands[] = $this->_rowCompetence($item, $ratings, $in_person); } } } $stands[] = ' </tbody> </table> '; $addits[] = ' </tbody> </table> '; $xhtml[] = implode('', $stands) . implode('', $addits); $xhtml[] = '</div>'; $xhtml[] = ' <div class="grid-footer"> <table class="grid-footer-table"> <tbody><tr><td> </td></tr></tbody> </table> </div> '; // [END] компетенции // [START] собственные компетенции if (count($personalCompetences) > 0) { foreach ($personalCompetences as $itemCompetence) { $xhtml[] = $this->getPersonalCompetences($itemCompetence, $ratings); break; } } else { $xhtml[] = $this->getPersonalCompetences($personalCompetences->getTable()->createRow(), $ratings); } if (count($personalTrainings) > 0) { foreach ($personalTrainings as $itemTraining) { $xhtml[] = $this->getPersonalTraining($itemTraining); break; } } else { $xhtml[] = $this->getPersonalTraining($personalTrainings->getTable()->createRow()); } $xhtml[] = $this->getEmployeeComment($card); //$xhtml[] ='</div>'; // $xhtml[] = ' // <div class="grid-footer"> // <table class="grid-footer-table"> // <tbody>'; // // $xhtml[] = ' <td><div class="button" id="buttonAddPersonalTask">Добавить бизнес-цель<br/> Add business objective</div></td> // // </tr> // </tbody> // </table> // </div> // '; // $xhtml = array(); // $stands = array(); // $addits = array(); // [END] собственные компетенции return implode('', $xhtml); }
public function achievsFormTasks(Zend_Db_Table_Rowset_Abstract $tasks, $have_func, array $ratings, $rate_weights, $cardRtgTasksId, $userRole, $card, $cardRtgFuncId) { $xhtml = array(); $func_tasks = array(); // временный буфер для функциональных целей $func = $userRole ? 1 : 0; $xhtml[] = ' <div class="grid-head"> <table class="grid-head-table"> <thead> <tr> <th class="tasks-field-num">' . $count_func . '№</th> <th class="tasks-field-description">Бизнес-цель<div>Business objective</div></th> <th class="tasks-field-term">Срок<div>Timing</div></th> <th class="tasks-field-weight">Вес (%)<div>Weight (%)</div></th> <th class="tasks-field-note"></th> <th class="tasks-field-result">Достижение бизнес-цели<div>Business objective achievement</div></th> <th class="tasks-field-rating">Рейтинг<div>Rating</div></th> </tr> </thead> </table> </div>'; if ($have_func > 0) { $xhtml[] = '<div class="grid-body" style="bottom:100px; height: expression(this.parentNode.offsetHeight - 137 + \'px\')">'; } else { $xhtml[] = '<div class="grid-body">'; } if ($have_func > 0) { $xhtml[] = '<div class="tasks-type"><span class="translate_ratio"><table id="ratio_tab" width="480px"> <tr> <td width="360px">Соотношение веса - бизнес-цели / функциональные цели<br/> Weight ratio - business objectives / functional objectives </td><td width="10px" align="center"> = </td> <td width="50px" align="center"> <label id="ratio_mng"></label><input align="left" id="ratio[ratio_mng]" name="ratio[ratio_mng]" type="text" value="' . $card->ratio_mng . '" size="2" /> </td><td width="10px" align="center">/</td> <td width="50px" align="center"><label id="ratio_fnc"></label><input align="left" id="ratio[ratio_fnc]" name="ratio[ratio_fnc]" type="text" value="' . $card->ratio_fnc . '" size="2" /> </td> </tr> </table></span></div>'; } $xhtml[] = '<div class="tasks-type">Бизнес-цели - <span class="translate_category_tasks">Business Objectives</span></div> <table class="grid-body-table" id="tasks"> <tbody>'; $count = 0; $count_func = 0; foreach ($tasks as $item) { if ($item->is_personal == null) { if ($item->is_functional == 1) { $func_tasks[] = $this->_rowTask($item, $ratings, 1, ++$count_func); } else { $xhtml[] = $this->_rowTask($item, $ratings, null, ++$count); } } } $xhtml[] = $this->_rowTask($tasks->getTable()->createRow(), $ratings, $func); $xhtml[] = '</tbody> </table>'; if ($have_func > 0) { $xhtml[] = ' <div class="tasks-type">Функциональные бизнес-цели - <span class="translate_category_tasks">Functional Business Objectives</span></div> <table class="grid-body-table" id="functasks"> <tbody> '; $xhtml[] = implode('', $func_tasks); $xhtml[] = $this->_rowTask($tasks->getTable()->createRow(), $ratings, $func); $xhtml[] = ' </tbody> </table> '; } $xhtml[] = '</div> <div class="grid-footer"> <table class="grid-footer-table"> <tbody>'; if ($have_func > 0) { $xhtml[] = '<tr height="60px"> <td colspan="3" style="border-bottom:1px #666666 solid" valign="top" > <span class="translate_func_comment">Комментарии функционального руководителя - Functional Manager\'s comment</br></span> <textarea name="comments[fnc_comment]" id="comments[fnc_comment]" class="func_comment">' . $card->fnc_comment . '</textarea> <div class="func_div" id="func_div">' . $card->fnc_comment . '</div> </td> <th class="tasks-field-rating-total" style="border-bottom:1px #666666 solid">Функциональный рейтинг:<br/>Functional rating:</th> <td class="field-rating tasks-field-rating-total" id="fieldRatingFunc" style="border-bottom:1px #666666 solid"> ' . $this->view->formSelect('ratings[rtg_func_id]', $cardRtgFuncId, null, $ratings) . ' <div>' . $ratings[$cardRtgFuncId] . '</div> </td> </tr>'; } $xhtml[] = ' <tr> <td><div class="button" id="buttonAddTask">Добавить бизнес-цель<br/> Add business objective</div></td> <th class="tasks-field-rating-total">Вычисленный рейтинг:<br/>Calculated rating:</th> <td class="field-rating tasks-field-rating-total"><div>' . $this->CalculateWeights($tasks, $rate_weights, $card) . '</div> <input id="sum_tasks" type="hidden" value="' . $this->CalculateWeights($tasks, $rate_weights, $card) . '" /></td> <th class="tasks-field-rating-total">Итоговый рейтинг:<br/>Total rating:</th> <td class="field-rating tasks-field-rating-total" id="fieldRatingTasks"> ' . $this->view->formSelect('ratings[rtg_tasks_id]', $cardRtgTasksId, null, $ratings) . ' <div>' . $ratings[$cardRtgTasksId] . '</div> <input id="rtg_tasks" type="hidden" value="" /> </td> </tr> </tbody> </table> </div> '; return implode('', $xhtml); }