public function editexaminationdataAction() { $values = $this->_request->getParams(); if (isset($values['dtcollection']) != '') { $values['dtcollection'] = GslabUtils::dateToDatabaseFormat($values['dtcollection']); $values['fgstatus'] = 1; } else { $values['fgstatus'] = 2; } if (isset($values['dtresult']) != '') { $values['dtresult'] = GslabUtils::dateToDatabaseFormat($values['dtresult']); } $array = array(); $requestExaminationModel = new RequestexaminationModel(); $examinationMaterialRequestModel = new ExaminationmaterialrequestModel(); $columns = $requestExaminationModel->info(Zend_Db_Table_Abstract::COLS); $requestExaminationModel->getAdapter()->beginTransaction(); try { foreach ($values as $id => $value) { if (isset($value) && $value != '' && $value != '0' && in_array($id, $columns)) { $array[$id] = addslashes($value); } else { if (in_array($id, $columns)) { $array[$id] = null; } } } if (isset($values['fgpriority'])) { if ($values['fgpriority'] == 'Sim') { $array['fgpriority'] = 1; } else { $array['fgpriority'] = 2; } } if (empty($array) && $values['oper'] != 'del') { throw new Exception('Dados Incorretos. Confira seus dados e Tente Novamente.'); } else { if ($values['oper'] != 'del') { $requestExaminationModel->update($array, "cdrequestexamination = " . $values['cdrequestexamination']); } else { // Apenas altera o status da amostra para "Inativo" no lugar de DELETA-LO do banco de dados $requestExaminationModel->update(array("fgstatus" => 0), "cdrequestexamination = " . $values['id']); // $examinationMaterialRequestModel->delete("cdrequestexamination = ".$values['id']); // $requestExaminationModel->delete("cdrequestexamination = ".$values['id']); } } $requestExaminationModel->getAdapter()->commit(); } catch (exception $e) { $requestExaminationModel->getAdapter()->rollback(); $this->addMessage($e->getMessage()); } }