public static function namespaceGet($namespace) { $currentData = isset($_SESSION[$namespace]) && is_object($_SESSION[$namespace]) ? $_SESSION[$namespace] : new stdClass(); $expiringData = isset(self::$_expiringData[$namespace]) && is_object(self::$_expiringData[$namespace]) ? self::$_expiringData[$namespace] : new stdClass(); // @todo melhorar performance com SPL Iterator ou Datastructure $data = array(); if (is_object($currentData)) { if (method_exists($currentData, 'toArray()')) { $data = $currentData->toArray(); } else { foreach ($currentData as $key => $value) { $data[(string) $key] = $value; } } } if (is_object($expiringData)) { if (method_exists($expiringData, 'toArray()')) { $data = array_merge($data, $expiringData->toArray()); } else { foreach ($expiringData as $key => $value) { $data[(string) $key] = $value; } } } if (count($data)) { return (object) $data; } return parent::namespaceGet($namespace); }
public function saveAction() { $accountentryModel = new AccountentryModel(); parent::saveAction(); $this->_model->getAdapter()->beginTransaction(); $message = ''; try { $userSession = Zend_Session::namespaceGet('Gslab_Session'); $cdusergslab = $userSession['user']->cdusergslab; $nrbatch = $this->_request->getParam('nrbatch'); $nrinvoice = $this->_request->getParam('nrinvoice'); $dtduedate = $this->_request->getParam('dtduedate'); $vlinvoice = $this->_request->getParam('vlinvoice'); $cdcovenant = $this->_request->getParam('cdcovenant'); $dtduedate = new Zend_Date($dtduedate, 'YYYY-MM-dd HH:mm:ss'); $dtduedate = $dtduedate->toString('YYYY-MM-dd HH:mm:ss'); $array = array('nrbatch' => $nrbatch, 'dtduedate' => $dtduedate); $arrayAE = array('cdclient' => $cdcovenant, 'fgclienttype' => 'b', 'cdusergslab' => $cdusergslab, 'fgaccountentrytype' => 2, 'vlinvoicevalue' => $vlinvoice, 'nraccountentry' => $nrbatch, 'idinvoiceref' => $nrinvoice, 'dtdeadline' => $dtduedate, 'fgaccountcheck' => 0, 'dttransactiondate' => date("Y-m-d H:i:s"), 'dtentrydate' => date("Y-m-d H:i:s")); $this->_model->insert($array); $cdbilling = $this->_model->getAdapter()->lastInsertId($this->_controller); $accountentryModel->insert($arrayAE); $this->_model->getAdapter()->commit(); echo $cdbilling; } catch (Exception $e) { $message = ''; $this->_model->getAdapter()->rollBack(); $message = 'Ocorreu um erro interno, portanto seus dados ainda não foram salvos na nossa base de dados, verifique os campos obrigatórios e tente novamente!'; } }
/** * Método construtor */ public function __construct() { $oSessao = Zend_Session::namespaceGet('sessao'); if (isset($oSessao['acl'])) { $this->_auth = Zend_Auth::getInstance(); self::$_acl = $oSessao['acl']; } }
public function logoutAction() { global $mySession; $mySession->TeeLoggedID = ""; unset($mySession->TeeLoggedID); $defaultSession = Zend_Session::namespaceGet('default'); foreach ($defaultSession as $key => $val) { if ($key !== 'adminId') { unset($mySession->{$key}); } } $mySession->errorMsg = "You Have Logged Out Successfully."; $this->_redirect(APPLICATION_URL . 'index/index'); }
/** * */ public function init() { if (Zend_Session::isStarted() && Zend_Session::namespaceIsset('SwIRS_Web')) { $session = Zend_Session::namespaceGet('SwIRS_Web'); $this->getRequest()->setParam('CustomerState', $session['customerState']); $this->getRequest()->setParam('CustomerUserId', $session['customerUserId']); $this->getRequest()->setParam('CustomerAccountId', $session['customerAccountId']); $this->getRequest()->setParam('SecondaryCustomerAccountId', $session['secondaryCustomerAccountId']); $this->getRequest()->setParam('Profile', $session['profile']); $webservice = $this->getResource('webservice'); $webservice->setAuth(array('user' => $session['username'], 'password' => $session['password'])); } $front = $this->getResource('FrontController'); $front->setRequest($this->getRequest()); }
/** * Página inicial do módulo padrão */ public function indexAction() { // Verifica se o usuário está logado parent::checkIdentity(); // Zera as permissões do contribuinte $oSessao = new Zend_Session_Namespace('nfse'); $oSessao->contribuinte = NULL; $this->view->contribuinte = NULL; $this->_session->id = NULL; $this->view->iUsuarioEscolhido = $oSessao->iUsuarioEscolhido; $aAuth = Zend_Session::namespaceGet('Zend_Auth'); $oUsuario = Administrativo_Model_Usuario::getById($aAuth['storage']['id']); if ($oUsuario->getTipo() == 3) { $oBaseUrl = new Zend_View_Helper_BaseUrl(); // Verifica se possui cadastros eventuais $aCadastrosEventuais = Contribuinte_Model_CadastroPessoa::getCadastrosParaLiberacao(); if (count($aCadastrosEventuais) > 0) { $sMensagem = "Hà " . count($aCadastrosEventuais) . " Cadastros Eventuais Pendentes <br/>"; $sMensagem .= " <a href=" . $oBaseUrl->baseUrl("/fiscal/usuario-eventual/listar-novos-cadastros") . "> Verificar </a>"; DBSeller_Plugin_Notificacao::addAviso('F001', $sMensagem); } // Verifica se possui solicitações de cancelamento $aSolicitacoesCancelamento = Contribuinte_Model_SolicitacaoCancelamento::getAll(); if (count($aSolicitacoesCancelamento) > 0) { $sMensagem = "Hà " . count($aSolicitacoesCancelamento) . " Solicitações de cancelamento de NFS-e <br/>"; $sMensagem .= " <a href=" . $oBaseUrl->baseUrl("/fiscal/cancelamento-nfse/consultar") . "> Verificar </a>"; DBSeller_Plugin_Notificacao::addAviso('F002', $sMensagem); } } // Tiver apenas um módulo redireciona para a default/index if (isset($this->view->user) && count($this->view->user->getModulos()) == 1) { $aModulos = each($this->view->user->getModulos()); $sModulo = strtolower($aModulos['value']->getNome()); $this->_redirector->gotoSimple('index', 'index', $sModulo); } // Recria as permissões do usuário new DBSeller_Acl_Setup(TRUE); }
/** * Tela inicial do módulo fiscal * * @return void */ public function indexAction() { $aAuth = Zend_Session::namespaceGet('Zend_Auth'); $oUsuario = Administrativo_Model_Usuario::getById($aAuth['storage']['id']); if ($oUsuario->getTipo() == 3) { $oBaseUrl = new Zend_View_Helper_BaseUrl(); // Verifica se possui cadastros eventuais $aCadastrosEventuais = Contribuinte_Model_CadastroPessoa::getCadastrosParaLiberacao(); if (count($aCadastrosEventuais) > 0) { $sMensagem = "Hà " . count($aCadastrosEventuais) . " Cadastros Eventuais Pendentes <br/>"; $sMensagem .= " <a href=" . $oBaseUrl->baseUrl("/fiscal/usuario-eventual/listar-novos-cadastros") . "> Verificar </a>"; DBSeller_Plugin_Notificacao::addAviso('F001', $sMensagem); } // Verifica se possui solicitações de cancelamento $aSolicitacoesCancelamento = Contribuinte_Model_SolicitacaoCancelamento::getAll(); if (count($aSolicitacoesCancelamento) > 0) { $sMensagem = "Hà " . count($aSolicitacoesCancelamento) . " Solicitações de cancelamento de NFS-e <br/>"; $sMensagem .= " <a href=" . $oBaseUrl->baseUrl("/fiscal/cancelamento-nfse/consultar") . "> Verificar </a>"; DBSeller_Plugin_Notificacao::addAviso('F002', $sMensagem); } } $this->view->oculta_breadcrumbs = TRUE; }
function thankyouAction() { $adminAddSession = Zend_Session::namespaceGet("adminAddSession"); $id = (int) $this->_request->getParam('survey', 0); $currentTime = date("Y-m-d H:i:s"); $code = $this->_request->getParam('c'); if (isset($adminAddSession['consumer'])) { $consumer_id = $adminAddSession['consumer']; } else { $consumer = $this->_currentUser; $consumer_id = $consumer->id; // $id = 266; if ($consumer->getTableClass() == 'Admin') { // if admin get report from session (sms report) if (Zend_Session::namespaceIsset("AgentReports")) { $session = Zend_Session::namespaceGet("AgentReports"); if (isset($session[$code]) && $session[$code] != null) { $consumer_id = $session[$code]; $session[$code] = null; // delete this accesscode $this->view->adminredirect = true; // for admin redirect } } } } $reportModel = new Report(); $duplicatedReport = $reportModel->fetchAll('report.accesscode = "' . $code . '"'); $campaignModel = new Campaign(); $campaign = $campaignModel->fetchRow("i2_survey_id =" . $id . " or " . "i2_survey_id_en =" . $id); //create a record in report table if (count($duplicatedReport) == 0) { $report = $reportModel->createRow(); $report->consumer_id = $consumer_id; $report->campaign_id = $campaign->id; $report->create_date = $currentTime; $session = Zend_Session::namespaceGet("AgentReports"); if (isset($session[$code]) && $session[$code] != null) { $report->source = $session[$code . '_source']; $session[$code . '_source'] = null; } //ham.bao 2011/04/29 admin add the report $adminAddSession = Zend_Session::namespaceGet("adminAddSession"); if (isset($adminAddSession['consumer'])) { $this->view->adminredirect = true; $report->source = $adminAddSession['source']; $report->consumer_id = $adminAddSession['consumer']; $report->campaign_id = $adminAddSession['campaign']; } $report->state = 'NEW'; $report->accesscode = $code; $reportId = $report->save(); $this->view->reportId = $reportId; if ($this->view->adminredirect) { //ham.bao 2010-10-13 update the incoming_email state if (Zend_Session::namespaceIsset("IncomingEmail")) { $emailSession = new Zend_Session_Namespace('IncomingEmail'); $incomingEmailModel = new IncomingEmail(); $incomingEmailModel->update(array('report_id' => $reportId), 'id=' . $emailSession->id); $this->_helper->redirector('successconvert', 'email'); } //ham.bao 2011/04/29 admin add the report if (isset($adminAddSession['consumer'])) { $this->_helper->redirector('successconvert', 'email'); } } //change state in campaign_particpation table // $invitationModel = new CampaignInvitation(); // $invitation = $invitationModel->fetchRow("campaign_id =".$campaign->id." and consumer_id=".$consumer->id); // // $participationModel = new CampaignParticipation(); // $participation = $participationModel->fetchRow('campaign_invitation_id = '.$invitation->id); // $participation->state = 'REPORT SUBMITTED'; // $participation->save(); } else { $this->view->reportId = $duplicatedReport[0]['id']; } $option = array($this->view->reportId, $consumer_id); $form = new ReportForm($option); $this->view->form = $form; if ($this->_request->isPost()) { $image = $form->getValue('image'); if ($image != '') { $reportImage = new ReportImages(); $row = $reportImage->createRow(); $row->name = $image; $row->consumer = $consumer_id; $row->report = $this->view->reportId; $row->crdate = date('Y-m-d H:i:s'); $row->save(); $this->view->saved = 1; } else { $this->view->saved = -1; } //var_dump($image);die; } $this->view->consumer = $consumer_id; $this->view->title = $this->view->title = $this->view->translate("Wildfire") . " - " . $this->view->translate("Thanks_For_report"); }
public function saveallAction() { $AppraisalData = $this->_request->getParam('allAppraisalData'); $dscomment = $this->_request->getParam('dscomment'); $userSession = Zend_Session::namespaceGet('Gslab_Session'); $dateAppraisalTyping = date('Y-m-d'); $bootstrap = $this->getInvokeArg('bootstrap'); $gslab_db = $bootstrap->getResource('db'); $cdappraisalArray = array(); $appraisalModel = new AppraisalModel(); $appraisalcommentModel = new AppraisalcommentModel(); $appraisalattributeModel = new AppraisalattributeModel(); $requestexaminationModel = new RequestexaminationModel(); $gslab_db->beginTransaction(); try { foreach ($AppraisalData as $appr) { $arrayAppraisal = array(); $arrayAppraisal['cdrequest'] = $appr[1]; $arrayAppraisal['cdusergslab'] = $userSession['user']->cdusergslab; $arrayAppraisal['dtappraisaltyping'] = $dateAppraisalTyping; $cdappraisal = $appraisalModel->insert($arrayAppraisal); if (strlen($appr[0]) == 0) { // Insere Observação $arrayAppraisalComment = array(); $arrayAppraisalComment['cdappraisal'] = $cdappraisal; $arrayAppraisalComment['dscomment'] = $dscomment; $appraisalcommentModel->insert($arrayAppraisalComment); foreach ($appr[3] as $appAttr) { if ($appAttr['name'] != 'cdappraisaltyping') { // Explode a string em um Array onde as posições: // 0 - CdRequestExamination; 1 - CdExamination; 2 - CdAttribute; 3 - CdExaminationMaterial $txtidentifier = "appraisal_input_"; $identifierAppraisal = str_replace($txtidentifier, "", $appAttr['name']); $arrayIdent = explode("_", $identifierAppraisal); $arrayAppraisalAttribute = array(); $arrayAppraisalAttribute['cdrequestexamination'] = $arrayIdent[0]; $arrayAppraisalAttribute['cdappraisal'] = $cdappraisal; $arrayAppraisalAttribute['cdattribute'] = $arrayIdent[2]; $arrayAppraisalAttribute['cdexaminationmaterial'] = $arrayIdent[3]; $arrayAppraisalAttribute['vlattribute'] = $appAttr['value']; $appraisalattributeModel->insert($arrayAppraisalAttribute); $requestexaminationModel->update(array("fgstatus" => 5), "cdrequestexamination = {$appr['2']}"); } } $cdappraisalArray[] = $cdappraisal; } else { $appraisalattributeModel->delete("cdappraisal = {$appr['0']}"); $appraisalcommentModel->delete("cdappraisal = {$appr['0']}"); if (strlen($appr[4]) > 0) { // Insere Observação $arrayAppraisalComment = array(); $arrayAppraisalComment['cdappraisal'] = $appr[0]; $arrayAppraisalComment['dscomment'] = $appr[4]; $appraisalcommentModel->insert($arrayAppraisalComment); } foreach ($appr[3] as $appAttr) { if ($appAttr['name'] != 'cdappraisaltyping') { // Explode a string em um Array onde as posições: // 0 - CdRequestExamination; 1 - CdExamination; 2 - CdAttribute; 3 - CdExaminationMaterial $txtidentifier = "appraisal_input_"; $identifierAppraisal = str_replace($txtidentifier, "", $appAttr['name']); $arrayIdent = explode("_", $identifierAppraisal); $arrayAppraisalAttribute = array(); $arrayAppraisalAttribute['cdrequestexamination'] = $arrayIdent[0]; $arrayAppraisalAttribute['cdappraisal'] = $appr[0]; $arrayAppraisalAttribute['cdattribute'] = $arrayIdent[2]; $arrayAppraisalAttribute['cdexaminationmaterial'] = $arrayIdent[3]; $arrayAppraisalAttribute['vlattribute'] = $appAttr['value']; $appraisalattributeModel->insert($arrayAppraisalAttribute); $requestexaminationModel->update(array("fgstatus" => 5), "cdrequestexamination = {$appr['2']}"); } } $cdappraisalArray[] = $appr[0]; } } $gslab_db->commit(); $return[0] = 1; $return[1] = "Todas os resultados digitados foram salvos com sucesso!"; $return[2] = $cdappraisalArray; $this->view->saveall = $return; } catch (Exception $e) { $gslab_db->rollback(); $return[0] = 0; $return[1] = "Os resultados digitados não puderam ser salvos!"; $return[2] = ''; $this->view->saveall = $return; } }
public static function provinceTax($amount = 0) { if (Zend_Session::namespaceIsset('order')) { $session = Zend_Session::namespaceGet('order'); } else { throw new Exception('Session namespace "order" is undefined. Thus state id is not set. It is not possible to get TVQ rate. Modify code to set state if or create the session namespace with stateId parameter.'); } $oTaxe = new TaxesObject(); $taxes = $oTaxe->getTaxData($session['stateId']); $rate = $taxes['TP_Rate'] / 100; if ($taxes['TP_Code'] == "QC") { $taxValue = ($amount + self::federalTax($amount)) * $rate; } else { $taxValue = $amount * $rate; } $taxValue = (double) $taxValue; $session = new Zend_Session_Namespace('order'); $session->order['rateProv'] = $taxes; $session->tvq = $taxValue; return $taxValue; }
public function generateprotocolAction($cdrequest = 1) { require_once 'fpdf/pdf_protocol.php'; $gslabSession = Zend_Session::namespaceGet('Gslab_Session'); $cdcompany = $gslabSession['user']->cdcompany; $companyModel = new CompanyModel(); $requestModel = new RequestModel(); $sampleModel = new RequestexaminationsampleModel(); $clientModel = new ClientModel(); $covenantModel = new CovenantModel(); $forwardModel = new ForwardModel(); $examinationModel = new RequestexaminationModel(); $companyData = $companyModel->fetchRow('cdcompany = ' . $cdcompany); $requestData = $requestModel->fetchRow('cdrequest = ' . $cdrequest); $sampleData = $sampleModel->fetchRow('cdrequest = ' . $cdrequest); $clientData = $clientModel->fetchRow('cdclient = ' . $requestData->cdclient); $covenantData = $covenantModel->fetchRow('cdcovenant = ' . $requestData->cdcovenant); $forwardData = $forwardModel->fetchRow('cdforward = ' . $requestData->cdforward); $dtbirth = new Zend_Date($clientData->dtbirth, 'dd-MM-YYYY'); $dtrequest = new Zend_Date($requestData->dtrequest, 'dd-MM-YYYY HH:mm'); $dtdeadline = new Zend_Date($requestData->dtdeadline, 'dd-MM-YYYY HH:mm'); $year = $dtbirth->toString('YYYY'); $month = $dtbirth->toString('MM'); $day = $dtbirth->toString('dd'); $today = new Zend_Date(); $tdYear = $today->toString('YYYY'); $tdMonth = $today->toString('MM'); $tdDay = $today->toString('dd'); $nrage = 0; $nrage = GslabUtils::calcAgeDifferenceShort($clientData->dtbirth); $idade = GslabUtils::calcula_idade($clientData->dtbirth); if ($clientData->fgsex == 1) { $sexo = 'M'; } else { $sexo = 'F'; } if ($tdMonth < $month || $tdMonth == $month && $tdDay < $day) { $nrage--; } $pdf = new PDF_PROTOCOL(); $pdf->AddPage(); $pdf->SetFont('Courier', 'B', 11); $pdf->ln(55); $pdf->Cell(0, 0, utf8_decode(strtoupper($companyData->nmcompany)), 0, 1, 'C'); $pdf->Cell(0, 8, utf8_decode('LABORATÓRIO DE ANÁLISES CLÍNICAS'), 0, 2, 'C'); $pdf->Cell(0, -5, str_repeat('_', 81), 0, 1, 'L'); $pdf->ln(8); $pdf->SetFont('Helvetica', '', 9); $pdf->Cell(0, 0, utf8_decode(strtoupper($companyData->nmstreet) . ', ' . $companyData->nrnumber), 0, 1, 'L'); $pdf->ln(4); $pdf->Cell(0, 0, 'COMPROVANTE DE COLETA', 0, 1, 'L'); $pdf->Cell(0, 0, utf8_decode(strtoupper($companyData->nmneighborhood)) . ' - Fone: (47) 3427-3668', 0, 1, 'R'); //ADICIONAR TELEFONE NA BASE $pdf->ln(4); $pdf->Cell(0, 0, utf8_decode('Ficha: ') . $requestData->cdcompany . "-" . $requestData->cdrequest, 0, 1, 'L'); $pdf->Cell(0, 0, 'Senha: 2301', 0, 1, 'R'); $pdf->ln(8); $pdf->Cell(0, 0, utf8_decode('PRONTUÁRIO'), 0, 1, 'L'); $pdf->ln(4); $pdf->SetFont('Helvetica', '', 10); $pdf->Cell(15, 5, utf8_decode('Amostra: '), 0, 0, 'L'); $pdf->Cell(0, 5, $pdf->SetFont('Helvetica', 'BU', 10) . $sampleData->nmbarcodesample, 0, 1, 'L'); $pdf->ln(4); $pdf->SetFont('Helvetica', 'BU', 10); $pdf->Write(0, utf8_decode(strtoupper($clientData->nmclient))); $pdf->SetFont('Helvetica', '', 10); $pdf->ln(8); $pdf->Write(0, utf8_decode('Idade: ' . $nrage)); $pdf->Write(0, utf8_decode(' Sexo: ' . $sexo)); $pdf->ln(6); $pdf->Write(0, utf8_decode('Convênio: ' . $covenantData->nmcovenant)); $pdf->ln(6); $pdf->Write(0, utf8_decode('Médico: ' . $forwardData->idmaincrm . ' - ' . $forwardData->nmforward)); $pdf->ln(6); $pdf->Write(0, utf8_decode('Coleta: ' . strtoupper($companyData->cdcompany . ' - ' . $companyData->nmfantasyname))); $pdf->ln(6); $pdf->Write(0, utf8_decode('Data e Hora: ') . $dtrequest); $pdf->ln(4); $pdf->SetFont('Courier', 'B', 11); $pdf->Cell(0, 0, str_repeat('_', 81), 0, 1, 'L'); /* CAIXA LATERAL */ $pdf->SetFont('Helvetica', '', 10); $pdf->SetY(89); $pdf->SetX(90); $pdf->drawTextBox(utf8_decode('Provável local e data da entrega: Local: ' . strtoupper($companyData->nmfantasyname) . ' Data: ' . $dtdeadline . ' Salvo quando ocorrer: 1- Imprevistos técnicos 2- Bloqueio de resultado pelo controle de qualidade 3- Atraso no fornecimento de reagentes Autorizo a coleta do(s) exame(s) acima citado(s) e declaro estar ciente dos riscos quanto ao surgimento de possíveis hematomas no local da punção. Assinatura do cliente e/ou responsável:__________________________________________'), 109, 50, 'L', 'M'); /* doze exames */ $Exames = $examinationModel->fetchAll($examinationModel->getExaminationProtocol($cdrequest)); $pdf->ln(13); // Exames $pdf->SetFont('Helvetica', 'B', 9); $pdf->SetWidths(array(50, 23, 18)); $pdf->SetX(10); $pdf->Row(array(utf8_decode('Exames'), utf8_decode('Material'), utf8_decode('Status'))); $pdf->SetFont('Helvetica', '', 9); $i = 0; foreach ($Exames as $examination) { if ($examination['nmmaterial'] == 2) { $status = 'Faltante'; } else { $status = 'OK'; } if ($i == 11) { $pdf->SetY(148); } $pdf->SetX(10); $pdf->Row(array(utf8_decode($examination['nmexamination']), utf8_decode($examination['nmmaterial']), $status)); $i++; } $pdf->ln(5); /* -------------------------------------------------------------- */ /* PESQUISA DE SATISFAÇÃO */ $pdf->SetFont('Helvetica', '', 7); $pdf->SetY(205); $pdf->Cell(0, 0, str_repeat(' -', 125), 0, 1, 'L'); $pdf->SetX(10); $pdf->Write(5, utf8_decode('Prezado cliente: com o objetivo de melhorarmos cada vez mais a')); $pdf->ln(3); $pdf->SetX(10); $pdf->Write(5, utf8_decode('qualidade dos nossos serviços e o atendimento à você, solicitamos')); $pdf->ln(3); $pdf->SetX(10); $pdf->Write(5, utf8_decode('a sua gentileza preenchendo o formulário abaixo.')); $pdf->ln(5); $pdf->SetFont('Helvetica', 'B', 7); $pdf->SetWidths(array(30, 13, 13, 13, 13)); $pdf->SetX(10); $pdf->Row(array(utf8_decode('Assinale sua opinião'), utf8_decode('Ótimo'), 'Bom', 'Regular', 'Ruim')); $pdf->SetFont('Helvetica', '', 7); $pdf->SetX(10); $pdf->Row(array(utf8_decode('1. Como foi o atendimento ao telefone?'), '', '', '', '')); $pdf->SetX(10); $pdf->Row(array(utf8_decode('2. Como foi o atendimento da recepção?'), '', '', '', '')); $pdf->SetX(10); $pdf->Row(array(utf8_decode('3. Quanto ao conforto e bem estar na sala de espera?'), '', '', '', '')); $pdf->SetX(10); $pdf->Row(array(utf8_decode('4. Quanto à coleta do material para o exame?'), '', '', '', '')); $pdf->SetX(10); $pdf->Row(array(utf8_decode('5. Quanto ao prazo e entrega dos resultados?'), '', '', '', '')); $pdf->SetY(215); $pdf->SetX(117); $pdf->Write(5, utf8_decode('6. Como conheceu o Laboratório? _______________________________')); $pdf->ln(7); $pdf->SetX(117); $pdf->Write(5, utf8_decode('7. Você indicaria o laboratório para outras pessoas? ( ) Sim ( ) Não')); $pdf->ln(7); $pdf->SetX(117); $pdf->Write(5, utf8_decode('Se NÃO, por quê?____________________________________________')); $pdf->ln(7); $pdf->SetX(117); $pdf->Write(5, utf8_decode('8. Conhece nosso ')); $pdf->SetFont('Helvetica', 'BU', 7); $pdf->Write(5, utf8_decode('Programa de Coleta Domiciliar')); $pdf->SetFont('Helvetica', '', 7); $pdf->Write(5, utf8_decode(' (tel: 3433-2127)?')); $pdf->ln(7); $pdf->SetX(117); $pdf->Write(5, utf8_decode('( ) Sim ( ) Não')); $pdf->ln(7); $pdf->SetX(117); $pdf->Write(5, utf8_decode('9. Sugestões e críticas:_______________________________________')); $pdf->ln(7); $pdf->SetX(117); $pdf->Write(5, utf8_decode('__________________________________________________________')); $pdf->ln(7); $pdf->SetX(117); $pdf->Write(5, utf8_decode('__________________________________________________________')); $pdf->Output(); //IMPRIME O PDF NA TELA $pdf->Output('teste_pro.pdf', "D"); //IMPRIME O PDF NO ARQUIVO }
/** * Obtem todas as notificações setadas no sistema * * @return array todas as notificações */ public static function getAll() { $aSessaoNotificacao = Zend_Session::namespaceGet('notificacoes'); return $aSessaoNotificacao; }
public static function buildTypingReport($cdrequest, $cdmap, $renderTypingParams, $direction, $nrsample, $refObj = null) { die; if ($refObj == null) { $refObj = new Result_AppraisaltypingController(); } ini_set('xdebug.var_display_max_depth', -1); // Sessão de digitação de resultados $typingExamsSessionWrite = new Zend_Session_Namespace('TypingExamsData'); $typingExamsSessionRead = Zend_Session::namespaceGet('TypingExamsData'); // A kind of cache, is it in session? get data from it, otherwise execute the query $request = null; if ($cdrequest) { if (!isset($typingExamsSessionRead['requests']) || count($typingExamsSessionRead['requests']) == 0) { try { $requests = $refObj->getAppraisalRequestData($cdrequest, $cdmap, $renderTypingParams); } catch (Exception $req) { echo "Não foi possível acessar os resultados: " . $req->getMessage(); } $typingExamsSessionWrite->requests = $requests; } else { $requests = $typingExamsSessionRead['requests']; } // Organizar os requests em ordem // Ex: sortedRequests[cdrequest = 25] = requests; // $sortedRequests = array(); foreach ($requests as $request) { $cdrequest = $request['cdrequest']; if (!isset($sortedRequests["{$cdrequest}"])) { $sortedRequests["{$cdrequest}"] = array(); } array_push($sortedRequests["{$cdrequest}"], $request); } // // Definir exames pais // $fexams = array(); // father exams foreach ($sortedRequests as $requestId => $requestExaminations) { foreach ($requestExaminations as $examId => $exam) { if ($exam['cdexaminationmaterialparent'] == null) { // adiciona o exame ao array de exames pais] array_push($fexams, $exam); // remove o exame pai do array base unset($sortedRequests[$requestId][$examId]); } } // Se a requisição não tem nenhum exame restante, remove o index dela $count = count($sortedRequests[$requestId]); if ($count == 0) { unset($sortedRequests[$requestId]); } } // // Inserir filhos nos pais foreach ($sortedRequests as $requestId => $requestExaminations) { foreach ($requestExaminations as $examId => $exam) { foreach ($fexams as $fexamId => $fexam) { if ($exam['cdexaminationmaterialparent'] == $fexam['cdexaminationmaterial']) { // adiciona o exame ao array de sub exames do pai // if(! isset($fexams[$fexamId]['subexams'])) // $fexams[$fexamId]['subexams'] = array(); //// // array_push($fexams[$fexamId]['subexams'], $exam); // echo "Adicionando o exame: ". $exam['cdrequestexamination'] . " - ". $exam['nmexamination'] ."<br />"; // echo "Ao fexams[fexamId]: ". $fexamId; // remove o exame filho do array base // unset($sortedRequests[$requestId][$examId]); if (count($sortedRequests[$requestId]) == 0) { unset($sortedRequests[$requestId]); } break; } } } } // Se houver algum exame que tem pai porém não está em nenhuma requisição // Adiciona-los-ei como um pai, porém isto significa inconsistência nos dados if (count($sortedRequests) > 0) { $newArray = array(); foreach ($sortedRequests as $newRequests) { array_push($newArray, $newRequests[0]); } // remove hierarquia do cdrequest $fexams = array_merge($fexams, $newArray); } // find correct postion for start typing if (isset($nrsample)) { $index = 0; foreach ($fexams as $exam) { if ($exam['nmbarcodesample'] == $nrsample) { break; } $index++; } $position = $index; } // Max index array number $maxPosition = count($fexams) - 1; // Define the position in array if (!isset($position)) { $position = isset($typingExamsSessionRead['position']) ? $typingExamsSessionRead['position'] : 0; } if ($direction != null) { if (strcasecmp($direction, "left") == 0) { $position--; } else { if (strcasecmp($direction, "right") == 0) { $position++; } } $position = $position < 0 ? $position = 0 : $position > $maxPosition ? $position = $maxPosition : $position; } else { } $typingExamsSessionWrite->position = $position; $typingExamsSessionWrite->maxposition = $maxPosition; $exam = $fexams[$position]; // if(array_key_exists(5, $fexams)){ // var_dump($fexams); die; // $exam = $fexams[5]; // }else{ // $exam = false; // } if ($exam) { $fields = $refObj->getIdentifierFields($exam); $refObj->view->fieldsetdateinputsnewwindow = $fields; // if examination has no sons if (!isset($exam['subexams'])) { $subexamsdata = $refObj->getCDSubExams($exam['cdexaminationmaterial']); $sb = 0; $exam['subexam'] = array(); foreach ($subexamsdata as $examSub) { // Dados do subexame do exame $subexam = array(); $attrib = array(); $subexam['nmexam'] = $examSub['nmexamination']; $subexam['cdexaminationmaterial'] = $examSub['cdexaminationmaterial']; $attrib = $refObj->getExamAttribs($examSub['cdexaminationmaterial']); // Atributos do subexame do exame $attributes = array(); $attr = array(); foreach ($attrib as $attribs) { $attr['cdattribute'] = $attribs['cdattribute']; // $attr['cdrequestexamination'] = $attribs['cdrequestexamination']; $attr['cdexamination'] = $attribs['cdexamination']; $attr['nmexam'] = $attribs['nmexamination']; array_push($attributes, $attr); } // Adiciona os atributos do subexame para ele $subexam['attributes'] = array(); $subexam['attributes'] = $attributes; //Adiciona os subexames para o exame $exam['subexam'][$sb] = $subexam; // Array para os exames $exams = array(); // Adiciona os exames ao array de resultados de exames array_push($exams, $exam); // Index por posição $sb++; } } // <!-- Início do relatório em html --> $div = "<div id='appraisal_div'>"; if (!empty($exams)) { foreach ($exams as $exam) { // Título, material e método do exame $div .= "<div class='exam'>\r\n <h1> " . $exam['nmexamination'] . "</h1>\r\n <span> Material: " . $exam['nmmaterial'] . " </span>\r\n <span> Método: " . $exam['nmmethod'] . " </span>\r\n <input type='hidden' name='cdappraisal' class='cdappraisal'>\r\n </div>"; // Texto de valores de referência $div .= "<div id='ref_title' class='ref_title'>\r\n <div></div>\r\n <div>\r\n <h1> Valores de Referência </h1>\r\n </div>\r\n </div>"; // Pegar dados do sub-exame $cont_sub = 0; foreach ($exam['subexam'] as $subexam) { // Pegar os fatores em relação aos atributos $factors = $refObj->getExamFactors($subexam['cdexaminationmaterial']); // $subexam['cdsubexaminations'] = $cdsubexaminations; // var_dump($factors); $exam['subexam'] = array(); // foreach($subexamsdata as $examSub){ if (!empty($factors)) { // Pego o primeiro fator do atributo // como base para saber os tipos que tenho $fgfactor = 1; foreach ($factors as $factor) { if ($factor['fgfactor'] > $fgfactor) { $fgfactor = $factor['fgfactor']; } } // Fazer o calculo do width usando o número de fatores atrelados à este exame $width = 100 / $fgfactor; $div .= "<div class='sub_exam'>"; $div .= "<div class='titles'>"; $div .= "<!-- Nome do subexame -->\r\n <div id='exam_title' class='exam_title'> \r\n <h1> " . $subexam['nmexam'] . " </h1> \r\n </div>\r\n\r\n <!-- Verificar a quantidade de fatores e dividir o width -->"; // // Início div class ref_sex_type_father_div $div .= "<div class='ref_sex_type_father_div'>"; if ($fgfactor == 1) { $div .= "<div class='ref_sex_type' style='width:{$width}%;'>\r\n Idade \r\n </div>"; } else { if ($fgfactor == 2) { $div .= "\r\n <div class='ref_sex_type' style='width:{$width}%;'>\r\n Masculino\r\n </div>\r\n <div class='ref_sex_type' style='width:{$width}%;'>\r\n Feminino\r\n </div>"; } else { if ($fgfactor == 3) { $div .= "\r\n <div class='ref_sex_type' style='width:{$width}%;'>\r\n Idade \r\n </div>"; $div .= "\r\n <div class='ref_sex_type' style='width:{$width}%;'>\r\n Masculino\r\n </div>\r\n <div class='ref_sex_type' style='width:{$width}%;'>\r\n Feminino\r\n </div>"; } } } // Fim div class ref_sex_type_father_div $div .= " </div>"; // Fim div class titles $div .= "</div>"; //$nrAttributes = count($attribute['cdattribute']); $attrctrl = 0; foreach ($subexam['attributes'] as $attribute) { // Pegar os fatores em relação aos atributos $factors = $refObj->getExamFactors($subexam['cdexaminationmaterial'], $attribute['cdattribute']); // Inicia Array para controle do maximo e minimo absurdos // para gerar SCRIPT validador da entrada de dados para o atributo $absoluteFactorValues = array(); $absoluteFactorValues['attributename'] = null; $absoluteFactorValues['min'] = null; $absoluteFactorValues['max'] = null; // Se houve um erro nos dados do atributo // Pega o valor do primeiro fator encontrado $ctrlfactor = 1; foreach ($factors as $factor) { $nmmeasurementunit = $factor['nmmeasurementunit']; $randomName = $exam['cdrequestexamination'] . "_" . $attribute['cdexamination'] . "_" . $attribute['cdattribute'] . "_" . $subexam['cdexaminationmaterial']; // it's not safe! $div .= "<div style='width: 100%; float: left; margin-top: 5px;'>"; $div .= "<div class='attributes'>"; // Define a Classe do Input a fim de inserção das máscaras ao mesmo if ($factor['fgdatatype'] != null) { if ($factor['fgdatatype'] == 1) { $datatype = 'numeric'; } else { if ($factor['fgdatatype'] == 2) { $datatype = 'mask_price_db'; } else { if ($factor['fgdatatype'] == 3) { $datatype = 'alpha'; } else { $datatype = 'datepicker'; } } } } if ($ctrlfactor == 1) { $div .= " <ul>\r\n <li>\r\n <div>\r\n " . $factor['nmattribute'] . "\r\n </div>\r\n <div>\r\n\r\n <input type='text' id='appraisal_input_" . $randomName . "' name='appraisal_input_" . $randomName . "'\r\n class='" . $datatype . "'/>\r\n " . $nmmeasurementunit . "\r\n\r\n </div>\r\n </li>\r\n </ul>"; $absoluteFactorValues['attributename'] = $randomName; } $div .= "</div>"; $div .= "<div id='val_attributes_ref' class='val_attributes_ref'>"; // TODO HERE! // Trocar esta verificação if (count($subexam['attributes']) > 1) { // TODO HERE! // Looping através de todos os fatores deste atributo // Verificar qual o tipo de fator // Colocar os valores // Idades if ($fgfactor == 1) { $div .= "<div style='width:{$width}%;'> <ul>"; if (isset($factor['nrminage']) && $factor['nrminage'] != '' && (isset($factor['nrmaxage']) && $factor['nrmaxage'] != '')) { $div .= "<li>\r\n Entre " . $factor['nrminage'] . " e " . $factor['nrmaxage'] . " Anos\r\n </li>"; } else { if ((!isset($factor['nrminage']) || $factor['nrminage'] == '') && (!isset($factor['nrmaxage']) && $factor['nrmaxage'] == '')) { $div .= "<li>\r\n ---\r\n </li>"; } else { if (!isset($factor['nrmaxage']) && $factor['nrmaxage'] != '') { $div .= "<li>\r\n Abaixo de " . $factor['nrmaxage'] . " Anos\r\n </li>"; } else { $div .= "<li>\r\n Acima de " . $factor['nrminage'] . " Anos\r\n </li>"; } } } $div .= "</ul> </div>"; // Trata o valor minimo para o atributo if ($factor['nrminage'] != null && $absoluteFactorValues['min'] == null) { $absoluteFactorValues['min'] = $factor['nrminage']; } else { if ($factor['nrminage'] < $absoluteFactorValues['min']) { $absoluteFactorValues['min'] = $factor['nrminage']; } } // Trata o valor maximo para o atributo if ($factor['nrmaxage'] != null && $absoluteFactorValues['max'] == null) { $absoluteFactorValues['max'] = $factor['nrmaxage']; } if ($factor['nrmaxage'] > $absoluteFactorValues['max']) { $absoluteFactorValues['max'] = $factor['nrmaxage']; } } else { if ($fgfactor == 2) { // Fatores masculinos $div .= "<div style='width:{$width}%;'> <ul>"; if ($factor['fggender'] == 1) { $div .= "<li>\r\n " . str_replace(".", ",", $factor['vlminvalue']) . " - " . str_replace(".", ",", $factor['vlmaxvalue']) . "\r\n </li>"; } else { $div .= "<li>\r\n --- \r\n </li>"; } $div .= "</ul> </div>"; // Fatores femininos $div .= "<div style='width:{$width}%;'> <ul>"; if ($factor['fggender'] == 2) { $div .= "<li>\r\n " . str_replace(".", ",", $factor['vlminvalue']) . " - " . str_replace(".", ",", $factor['vlmaxvalue']) . "\r\n </li>"; } else { $div .= "<li>\r\n --- \r\n </li>"; } $div .= "</ul></div>"; // Trata o valor minimo para o atributo if ($factor['vlminvalue'] != null && $absoluteFactorValues['min'] == null) { $absoluteFactorValues['min'] = $factor['vlminvalue']; } else { if ($factor['vlminvalue'] < $absoluteFactorValues['min']) { $absoluteFactorValues['min'] = $factor['vlminvalue']; } } // Trata o valor maximo para o atributo if ($factor['vlmaxvalue'] != null && $absoluteFactorValues['max'] == null) { $absoluteFactorValues['max'] = $factor['vlmaxvalue']; } if ($factor['vlmaxvalue'] > $absoluteFactorValues['max']) { $absoluteFactorValues['max'] = $factor['vlmaxvalue']; } } else { if ($fgfactor == 3) { $div .= "<div style='width:{$width}%;'> <ul>"; if (isset($factor['nrminage']) && $factor['nrminage'] != '' && (isset($factor['nrmaxage']) && $factor['nrmaxage'] != '')) { $div .= "<li>\r\n Entre " . $factor['nrminage'] . " e " . $factor['nrmaxage'] . " Anos\r\n </li>"; } else { if ((!isset($factor['nrminage']) || $factor['nrminage'] == '') && (isset($factor['nrmaxage']) && $factor['nrmaxage'] != '')) { $div .= "<li>\r\n Abaixo de " . $factor['nrmaxage'] . " Anos\r\n </li>"; } else { if (!isset($factor['nrmaxage']) || $factor['nrmaxage'] == '') { $div .= "<li>\r\n Acima de " . $factor['nrminage'] . " Anos\r\n </li>"; } else { $div .= "<li>\r\n Nenhuma idade fornecida.\r\n </li>"; } } } $div .= "</ul> </div>"; // Fatores masculinos $div .= "<div style='width:{$width}%;'> <ul>"; $div .= "<li>\r\n 4,50 - 5,90\r\n </li>"; $div .= "</ul> </div>"; // Fatores femininos $div .= "<div style='width:{$width}%;'> <ul>"; $div .= "<li>\r\n 4,50 - 5,90\r\n </li>"; $div .= "</ul> </div>"; // Trata o valor minimo para o atributo if ($factor['vlminvalue'] != null && $absoluteFactorValues['min'] == null) { $absoluteFactorValues['min'] = $factor['vlminvalue']; } else { if ($factor['vlminvalue'] < $absoluteFactorValues['min']) { $absoluteFactorValues['min'] = $factor['vlminvalue']; } } // Trata o valor maximo para o atributo if ($factor['vlmaxvalue'] != null && $absoluteFactorValues['max'] == null) { $absoluteFactorValues['max'] = $factor['vlmaxvalue']; } if ($factor['vlmaxvalue'] > $absoluteFactorValues['max']) { $absoluteFactorValues['max'] = $factor['vlmaxvalue']; } } } } } else { if ($fgfactor == 1) { $div .= "<div style='width:{$width}%;'><ul>"; $div .= "<li style='width: 100%; float: left;'>"; if (isset($factor['nrminage']) && $factor['nrminage'] != '' && (isset($factor['nrmaxage']) && $factor['nrmaxage'] != '')) { $div .= "\r\n Entre " . $factor['nrminage'] . " e " . $factor['nrmaxage'] . " Anos\r\n "; } else { if ((!isset($factor['nrminage']) || $factor['nrminage'] == '') && (!isset($factor['nrmaxage']) && $factor['nrmaxage'] == '')) { $div .= "\r\n ---\r\n "; } else { if (!isset($factor['nrmaxage']) && $factor['nrmaxage'] != '') { $div .= " Abaixo de " . $factor['nrmaxage'] . " Anos "; } else { $div .= "Acima de " . $factor['nrminage'] . " Anos "; } } } $div .= "</li></ul>"; $div .= "</div>"; // Trata o valor minimo para o atributo if ($factor['nrminage'] != null && $absoluteFactorValues['min'] == null) { $absoluteFactorValues['min'] = $factor['nrminage']; } else { if ($factor['nrminage'] < $absoluteFactorValues['min']) { $absoluteFactorValues['min'] = $factor['nrminage']; } } // Trata o valor maximo para o atributo if ($factor['nrmaxage'] != null && $absoluteFactorValues['max'] == null) { $absoluteFactorValues['max'] = $factor['nrmaxage']; } if ($factor['nrmaxage'] > $absoluteFactorValues['max']) { $absoluteFactorValues['max'] = $factor['nrmaxage']; } } else { if ($fgfactor == 2) { // Fatores masculinos $div .= "<div style='width:{$width}%;'> <ul>"; if ($factor['fggender'] == 1) { $div .= "<li>\r\n " . str_replace(".", ",", $factor['vlminvalue']) . " - " . str_replace(".", ",", $factor['vlmaxvalue']) . "\r\n </li>"; } else { $div .= "<li>\r\n --- \r\n </li>"; } $div .= "</ul> </div>"; // Fatores femininos $div .= "<div style='width:{$width}%;'> <ul>"; if ($factor['fggender'] == 2) { $div .= "<li>\r\n " . str_replace(".", ",", $factor['vlminvalue']) . " - " . str_replace(".", ",", $factor['vlmaxvalue']) . "\r\n </li>"; } else { $div .= "<li>\r\n --- \r\n </li>"; } $div .= "</ul></div>"; // Trata o valor minimo para o atributo if ($factor['vlminvalue'] != null && $absoluteFactorValues['min'] == null) { $absoluteFactorValues['min'] = $factor['vlminvalue']; } else { if ($factor['vlminvalue'] < $absoluteFactorValues['min']) { $absoluteFactorValues['min'] = $factor['vlminvalue']; } } // Trata o valor maximo para o atributo if ($factor['vlmaxvalue'] != null && $absoluteFactorValues['max'] == null) { $absoluteFactorValues['max'] = $factor['vlmaxvalue']; } if ($factor['vlmaxvalue'] > $absoluteFactorValues['max']) { $absoluteFactorValues['max'] = $factor['vlmaxvalue']; } } else { if ($fgfactor == 3) { $div .= "<div style='width:{$width}%;'> <ul>"; if (isset($factor['nrminage']) && $factor['nrminage'] != '' && (isset($factor['nrmaxage']) && $factor['nrmaxage'] != '')) { $div .= "<li>\r\n Entre " . $factor['nrminage'] . " e " . $factor['nrmaxage'] . " Anos\r\n </li>"; } else { if ((!isset($factor['nrminage']) || $factor['nrminage'] == '') && (!isset($factor['nrmaxage']) && $factor['nrmaxage'] == '')) { $div .= "<li>\r\n ---\r\n </li>"; } else { if (!isset($factor['nrmaxage']) && $factor['nrmaxage'] != '') { $div .= "<li>\r\n Abaixo de " . $factor['nrmaxage'] . " Anos\r\n </li>"; } else { $div .= "<li>\r\n Acima de " . $factor['nrminage'] . " Anos\r\n </li>"; } } } $div .= "</ul> </div>"; // Fatores masculinos $div .= "<div style='width:{$width}%;'> <ul>"; if ($factor['fggender'] == 1) { $div .= "<li>\r\n " . str_replace(".", ",", $factor['vlminvalue']) . " - " . str_replace(".", ",", $factor['vlmaxvalue']) . "\r\n </li>"; } else { $div .= "<li>\r\n --- \r\n </li>"; } $div .= "</ul> </div>"; // Fatores femininos $div .= "<div style='width:{$width}%;'> <ul>"; if ($factor['fggender'] == 2) { $div .= "<li>\r\n " . str_replace(".", ",", $factor['vlminvalue']) . " - " . str_replace(".", ",", $factor['vlmaxvalue']) . "\r\n </li>"; } else { $div .= "<li>\r\n --- \r\n </li>"; } $div .= "</ul></div>"; // Trata o valor minimo para o atributo if ($factor['vlminvalue'] != null && $absoluteFactorValues['min'] == null) { $absoluteFactorValues['min'] = $factor['vlminvalue']; } else { if ($factor['vlminvalue'] < $absoluteFactorValues['min']) { $absoluteFactorValues['min'] = $factor['vlminvalue']; } } // Trata o valor maximo para o atributo if ($factor['vlmaxvalue'] != null && $absoluteFactorValues['max'] == null) { $absoluteFactorValues['max'] = $factor['vlmaxvalue']; } if ($factor['vlmaxvalue'] > $absoluteFactorValues['max']) { $absoluteFactorValues['max'] = $factor['vlmaxvalue']; } } } } // $div .= "<div> // <ul> // <!-- Regras para esta range rule --> // </ul> // </div>"; } $div .= "</div>"; $div .= "</div>"; $ctrlfactor++; } $div .= "\r\n <script> \r\n \$('#appraisal_input_" . $absoluteFactorValues['attributename'] . "').live('keyup', function(){\r\n if( (parseFloat(this.value) < " . ($absoluteFactorValues['min'] == null ? 0 : $absoluteFactorValues['min']) . " || parseFloat(this.value) > " . ($absoluteFactorValues['max'] == null ? 0 : $absoluteFactorValues['max']) . ") && (parseFloat(this.value) != 0 && this.value != '') ){\r\n \$(this).addClass('rangeout');\r\n }else{\r\n \$(this).removeClass('rangeout');\r\n }\r\n });\r\n </script>\r\n "; $ctrlfactor = 1; // if($i == count($factors) - 1){ // $i = 0; // $div .= "</div>"; // }else{ // $i++; // } $attrctrl++; } $div .= "</div>"; $cont_sub++; } // } } } } else { // Título, material e método do exame $div .= "<div class='exam'>\r\n <h1> " . $exam['nmexamination'] . "</h1>\r\n <span> Material: " . $exam['nmmaterial'] . " </span>\r\n <span> Método: " . $exam['nmmethod'] . " </span>\r\n <input type='hidden' name='cdappraisaltyping' class='cdappraisaltyping'>\r\n </div>"; $attrib = $refObj->getExamAttribs($exam['cdexaminationmaterial']); if (!empty($attrib)) { // Texto de valores de referência $div .= "<div id='ref_title' class='ref_title'>\r\n <div></div>\r\n <div>\r\n <h1> Valores de Referência </h1>\r\n </div>\r\n </div>"; $factors = $refObj->getExamFactors($exam['cdexaminationmaterial']); $fgfactor = 1; foreach ($factors as $factor) { if ($factor['fgfactor'] > $fgfactor) { $fgfactor = $factor['fgfactor']; } } $width = 100 / $fgfactor; $div .= "<div class='sub_exam'>"; $div .= "<div class='titles'>"; $div .= "\r\n <div id='exam_title' class='exam_title'> \r\n </div>\r\n\r\n <!-- Verificar a quantidade de fatores e dividir o width -->"; $div .= "<div class='ref_sex_type_father_div'>"; if ($fgfactor == 1) { $div .= "<div class='ref_sex_type' style='width:{$width}%;'>\r\n Idade \r\n </div>"; } else { if ($fgfactor == 2) { $div .= "\r\n <div class='ref_sex_type' style='width:{$width}%;'>\r\n Masculino\r\n </div>\r\n <div class='ref_sex_type' style='width:{$width}%;'>\r\n Feminino\r\n </div>"; } else { if ($fgfactor == 3) { $div .= "\r\n <div class='ref_sex_type' style='width:{$width}%;'>\r\n Idade \r\n </div>"; $div .= "\r\n <div class='ref_sex_type' style='width:{$width}%;'>\r\n Masculino\r\n </div>\r\n <div class='ref_sex_type' style='width:{$width}%;'>\r\n Feminino\r\n </div>"; } } } // Fim div class ref_sex_type_father_div $div .= " </div>"; // Fim div class titles $div .= "</div>"; foreach ($attrib as $attribs) { //// Pegar os fatores em relação aos atributos $factors = $refObj->getExamFactors($exam['cdexaminationmaterial'], $attribs['cdattribute']); // Se houve um erro nos dados do atributo // Pega o valor do primeiro fator encontrado $ctrlfactor = 1; foreach ($factors as $factor) { $nmmeasurementunit = $factor['nmmeasurementunit']; $randomName = $exam['cdrequestexamination'] . "_" . $attribs['cdexamination'] . "_" . $attribs['cdattribute'] . "_" . $exam['cdexaminationmaterial']; // it's safe! maybe, i dont know yet // Inicia Array para controle do maximo e minimo absurdos // para gerar SCRIPT validador da entrada de dados para o atributo $absoluteFactorValues = array(); $absoluteFactorValues['attributename'] = null; $absoluteFactorValues['min'] = null; $absoluteFactorValues['max'] = null; $div .= "<div style='width: 100%; float: left; margin-top: 5px;'>"; $div .= "<div class='attributes'>"; if ($factor['fgdatatype'] != null) { if ($factor['fgdatatype'] == 1) { $datatype = 'numeric'; } else { if ($factor['fgdatatype'] == 2) { $datatype = 'mask_price_db'; } else { if ($factor['fgdatatype'] == 3) { $datatype = 'alpha'; } else { $datatype = 'datepicker'; } } } } if ($ctrlfactor == 1) { $div .= " <ul>\r\n <li>\r\n <div>\r\n " . $factor['nmattribute'] . "\r\n </div>\r\n <div>\r\n\r\n <input type='text' id='appraisal_input_" . $randomName . "' name='{$randomName}' class='" . $datatype . "'/>\r\n " . $nmmeasurementunit . "\r\n\r\n </div>\r\n </li>\r\n </ul>"; $absoluteFactorValues['attributename'] = $randomName; } $div .= "</div>"; $div .= "<div id='val_attributes_ref' class='val_attributes_ref'>"; // TODO HERE! // Trocar esta verificação if (count($attrib) > 1) { if ($fgfactor == 1) { $div .= "<div style='width:{$width}%;'> <ul>"; if (isset($factor['nrminage']) && $factor['nrminage'] != '' && (isset($factor['nrmaxage']) && $factor['nrmaxage'] != '')) { $div .= "<li>\r\n Entre " . $factor['nrminage'] . " e " . $factor['nrmaxage'] . " Anos\r\n </li>"; } else { if ((!isset($factor['nrminage']) || $factor['nrminage'] == '') && (!isset($factor['nrmaxage']) && $factor['nrmaxage'] == '')) { $div .= "<li>\r\n ---\r\n </li>"; } else { if (!isset($factor['nrmaxage']) && $factor['nrmaxage'] != '') { $div .= "<li>\r\n Abaixo de " . $factor['nrmaxage'] . " Anos\r\n </li>"; } else { $div .= "<li>\r\n Acima de " . $factor['nrminage'] . " Anos\r\n </li>"; } } } $div .= "</ul> </div>"; // Trata o valor minimo para o atributo if ($factor['nrminage'] != null && $absoluteFactorValues['min'] == null) { $absoluteFactorValues['min'] = $factor['nrminage']; } else { if ($factor['nrminage'] < $absoluteFactorValues['min']) { $absoluteFactorValues['min'] = $factor['nrminage']; } } // Trata o valor maximo para o atributo if ($factor['nrmaxage'] != null && $absoluteFactorValues['max'] == null) { $absoluteFactorValues['max'] = $factor['nrmaxage']; } if ($factor['nrmaxage'] > $absoluteFactorValues['max']) { $absoluteFactorValues['max'] = $factor['nrmaxage']; } } else { if ($fgfactor == 2) { // Fatores masculinos $div .= "<div style='width:{$width}%;'> <ul>"; if ($factor['fggender'] == 1) { $div .= "<li>\r\n " . str_replace(".", ",", $factor['vlminvalue']) . " - " . str_replace(".", ",", $factor['vlmaxvalue']) . "\r\n </li>"; } else { $div .= "<li>\r\n --- \r\n </li>"; } $div .= "</ul> </div>"; // Fatores femininos $div .= "<div style='width:{$width}%;'> <ul>"; if ($factor['fggender'] == 2) { $div .= "<li>\r\n " . str_replace(".", ",", $factor['vlminvalue']) . " - " . str_replace(".", ",", $factor['vlmaxvalue']) . "\r\n </li>"; } else { $div .= "<li>\r\n --- \r\n </li>"; } $div .= "</ul></div>"; // Trata o valor minimo para o atributo if ($factor['vlminvalue'] != null && $absoluteFactorValues['min'] == null) { $absoluteFactorValues['min'] = $factor['vlminvalue']; } else { if ($factor['vlminvalue'] < $absoluteFactorValues['min']) { $absoluteFactorValues['min'] = $factor['vlminvalue']; } } // Trata o valor maximo para o atributo if ($factor['vlmaxvalue'] != null && $absoluteFactorValues['max'] == null) { $absoluteFactorValues['max'] = $factor['vlmaxvalue']; } if ($factor['vlmaxvalue'] > $absoluteFactorValues['max']) { $absoluteFactorValues['max'] = $factor['vlmaxvalue']; } } else { if ($fgfactor == 3) { $div .= "<div style='width:{$width}%;'> <ul>"; if (isset($factor['nrminage']) && $factor['nrminage'] != '' && (isset($factor['nrmaxage']) && $factor['nrmaxage'] != '')) { $div .= "<li>\r\n Entre (aki)" . $factor['nrminage'] . " e " . $factor['nrmaxage'] . " Anos\r\n </li>"; } else { if ((!isset($factor['nrminage']) || $factor['nrminage'] == '') && (isset($factor['nrmaxage']) && $factor['nrmaxage'] != '')) { $div .= "<li>\r\n Abaixo de " . $factor['nrmaxage'] . " Anos\r\n </li>"; } else { if (!isset($factor['nrmaxage']) || $factor['nrmaxage'] == '') { $div .= "<li>\r\n Acima de " . $factor['nrminage'] . " Anos\r\n </li>"; } else { $div .= "<li>\r\n Nenhuma idade fornecida.\r\n </li>"; } } } $div .= "</ul> </div>"; // Fatores masculinos $div .= "<div style='width:{$width}%;'> <ul>"; $div .= "<li>\r\n 4,50 - 5,90\r\n </li>"; $div .= "</ul> </div>"; // Fatores femininos $div .= "<div style='width:{$width}%;'> <ul>"; $div .= "<li>\r\n 4,50 - 5,90\r\n </li>"; $div .= "</ul> </div>"; // Trata o valor minimo para o atributo if ($factor['vlminvalue'] != null && $absoluteFactorValues['min'] == null) { $absoluteFactorValues['min'] = $factor['vlminvalue']; } else { if ($factor['vlminvalue'] < $absoluteFactorValues['min']) { $absoluteFactorValues['min'] = $factor['vlminvalue']; } } // Trata o valor maximo para o atributo if ($factor['vlmaxvalue'] != null && $absoluteFactorValues['max'] == null) { $absoluteFactorValues['max'] = $factor['vlmaxvalue']; } if ($factor['vlmaxvalue'] > $absoluteFactorValues['max']) { $absoluteFactorValues['max'] = $factor['vlmaxvalue']; } } } } } else { if ($fgfactor == 1) { $div .= "<div style='width:{$width}%;'><ul>"; $div .= "<li style='width: 25%; float: left;'>"; if (isset($factor['nrminage']) && $factor['nrminage'] != '' && (isset($factor['nrmaxage']) && $factor['nrmaxage'] != '')) { $div .= "\r\n Entre " . $factor['nrminage'] . " e " . $factor['nrmaxage'] . " Anos\r\n "; } else { if ((!isset($factor['nrminage']) || $factor['nrminage'] == '') && (!isset($factor['nrmaxage']) && $factor['nrmaxage'] == '')) { $div .= "\r\n ---\r\n "; } else { if (!isset($factor['nrmaxage']) && $factor['nrmaxage'] != '') { $div .= " Abaixo de " . $factor['nrmaxage'] . " Anos "; } else { $div .= "Acima de " . $factor['nrminage'] . " Anos "; } } } $div .= "</li>"; if ($factor['vlminvalue'] != null && $factor['vlmaxvalue'] != null && $factor['vlminvalueabsurd'] != null && $factor['vlmaxvalueabsurd'] != null) { $div .= "<div id='slider_" . $randomName . "' class='rangerule' style=' margin-top: 7px; width: 75%;'>\r\n \r\n <script> eval( rangeRule('#slider_" . $randomName . "', 12, " . $factor['vlminvalue'] . ", " . $factor['vlmaxvalue'] . ", " . $factor['vlminvalueabsurd'] . ", " . $factor['vlmaxvalueabsurd'] . ") ); </script> \r\n\r\n <script> \r\n var lastRange = \$('#appraisal_input_" . $randomName . "').val();\r\n \r\n // Destroy the KeyUp function() to replace a new one\r\n \$('#appraisal_input_" . $randomName . "').die('keyup');\r\n \r\n \$('#appraisal_input_" . $randomName . "').live('keyup', function() {\r\n \$(this).next\r\n LoadRangeRule(this, " . $factor['vlminvalueabsurd'] . "," . $factor['vlmaxvalueabsurd'] . "," . $factor['vlminvalue'] . "," . $factor['vlmaxvalue'] . "); \r\n });\r\n </script>\r\n </div>"; } else { $div .= "<div style=' margin-top: 7px; width: 75%;'> --- </div>"; } $div .= "\r\n \r\n "; $div .= "</ul></div>"; } else { if ($fgfactor == 2) { // Fatores masculinos $div .= "<div style='width:{$width}%;'> <ul>"; if ($factor['fggender'] == 1) { $div .= "<li>\r\n " . str_replace(".", ",", $factor['vlminvalue']) . " - " . str_replace(".", ",", $factor['vlmaxvalue']) . "\r\n </li>"; } else { $div .= "<li>\r\n --- \r\n </li>"; } $div .= "</ul> </div>"; // Fatores femininos $div .= "<div style='width:{$width}%;'> <ul>"; if ($factor['fggender'] == 2) { $div .= "<li>\r\n " . str_replace(".", ",", $factor['vlminvalue']) . " - " . str_replace(".", ",", $factor['vlmaxvalue']) . "\r\n </li>"; } else { $div .= "<li>\r\n --- \r\n </li>"; } $div .= "</ul></div>"; // Trata o valor minimo para o atributo if ($factor['vlminvalue'] != null && $absoluteFactorValues['min'] == null) { $absoluteFactorValues['min'] = $factor['vlminvalue']; } else { if ($factor['vlminvalue'] < $absoluteFactorValues['min']) { $absoluteFactorValues['min'] = $factor['vlminvalue']; } } // Trata o valor maximo para o atributo if ($factor['vlmaxvalue'] != null && $absoluteFactorValues['max'] == null) { $absoluteFactorValues['max'] = $factor['vlmaxvalue']; } if ($factor['vlmaxvalue'] > $absoluteFactorValues['max']) { $absoluteFactorValues['max'] = $factor['vlmaxvalue']; } } else { if ($fgfactor == 3) { $div .= "<div style='width:{$width}%;'> <ul>"; if (isset($factor['nrminage']) && $factor['nrminage'] != '' && (isset($factor['nrmaxage']) && $factor['nrmaxage'] != '')) { $div .= "<li>\r\n Entre (aki)" . $factor['nrminage'] . " e " . $factor['nrmaxage'] . " Anos\r\n </li>"; } else { if ((!isset($factor['nrminage']) || $factor['nrminage'] == '') && (!isset($factor['nrmaxage']) && $factor['nrmaxage'] == '')) { $div .= "<li>\r\n ---\r\n </li>"; } else { if (!isset($factor['nrmaxage']) && $factor['nrmaxage'] != '') { $div .= "<li>\r\n Abaixo de " . $factor['nrmaxage'] . " Anos\r\n </li>"; } else { $div .= "<li>\r\n Acima de " . $factor['nrminage'] . " Anos\r\n </li>"; } } } $div .= "</ul> </div>"; // Fatores masculinos $div .= "<div style='width:{$width}%;'> <ul>"; if ($factor['fggender'] == 1) { $div .= "<li>\r\n " . str_replace(".", ",", $factor['vlminvalue']) . " - " . str_replace(".", ",", $factor['vlmaxvalue']) . "\r\n </li>"; } else { $div .= "<li>\r\n --- \r\n </li>"; } $div .= "</ul> </div>"; // Fatores femininos $div .= "<div style='width:{$width}%;'> <ul>"; if ($factor['fggender'] == 2) { $div .= "<li>\r\n " . str_replace(".", ",", $factor['vlminvalue']) . " - " . str_replace(".", ",", $factor['vlmaxvalue']) . "\r\n </li>"; } else { $div .= "<li>\r\n --- \r\n </li>"; } $div .= "</ul></div>"; // Trata o valor minimo para o atributo if ($factor['vlminvalue'] != null && $absoluteFactorValues['min'] == null) { $absoluteFactorValues['min'] = $factor['vlminvalue']; } else { if ($factor['vlminvalue'] < $absoluteFactorValues['min']) { $absoluteFactorValues['min'] = $factor['vlminvalue']; } } // Trata o valor maximo para o atributo if ($factor['vlmaxvalue'] != null && $absoluteFactorValues['max'] == null) { $absoluteFactorValues['max'] = $factor['vlmaxvalue']; } if ($factor['vlmaxvalue'] > $absoluteFactorValues['max']) { $absoluteFactorValues['max'] = $factor['vlmaxvalue']; } } } } } $div .= "</div>"; $div .= "</div>"; $ctrlfactor++; } $div .= "\r\n <script> \r\n \$('#appraisal_input_" . $absoluteFactorValues['attributename'] . "').live('keyup', function(){\r\n if( (parseFloat(this.value) < " . ($absoluteFactorValues['min'] == null ? 0 : $absoluteFactorValues['min']) . " || parseFloat(this.value) > " . ($absoluteFactorValues['max'] == null ? 100 : $absoluteFactorValues['max']) . ") && (parseFloat(this.value) != 0 && this.value != '') ){\r\n \$(this).addClass('rangeout');\r\n }else{\r\n \$(this).removeClass('rangeout');\r\n }\r\n });\r\n </script>\r\n "; $ctrlfactor = 1; } } else { $div .= "<div id='emptyAttr'>O Exame não possui Atributos.</div>"; } } $div .= "</div>"; // $div .= "</form>"; // <!-- Fim da geração do relatório em html --> $refObj->view->examsAppraisal = $div; if ($position == $maxPosition && $position == 0) { $refObj->view->previousRecord = 0; $refObj->view->nextRecord = 0; } else { if ($position == $maxPosition) { $refObj->view->previousRecord = 1; $refObj->view->nextRecord = 0; } else { if ($position == 0) { $refObj->view->previousRecord = 0; $refObj->view->nextRecord = 1; } else { $refObj->view->previousRecord = 1; $refObj->view->nextRecord = 1; } } } } else { // $refObj->view->fieldsetdateinputsnewwindow = null; } } }
public function buildTypingReport($cdrequest, $cdmap, $renderTypingParams, $direction, $nrsample, $position = null) { $tags = array(); // Debug details setting ini_set('xdebug.var_display_max_depth', -1); // Sessão de digitação de resultados $typingExamsSessionWrite = new Zend_Session_Namespace('TypingExamsData'); $typingExamsSessionRead = Zend_Session::namespaceGet('TypingExamsData'); // A kind of cache, is it in session? get data from it, otherwise execute the query $request = null; if ($cdrequest) { if (!isset($typingExamsSessionRead['requests']) || count($typingExamsSessionRead['requests']) == 0) { try { $requests = $this->getAppraisalRequestData($cdrequest, $cdmap, $renderTypingParams); } catch (Exception $req) { echo "Não foi possível acessar os resultados: " . $req->getMessage(); } $typingExamsSessionWrite->requests = $requests; } else { $requests = $typingExamsSessionRead['requests']; } // Organizar os requests em ordem // Ex: sortedRequests[cdrequest = 25] = requests; // $sortedRequests = array(); foreach ($requests as $request) { $cdrequest = $request['cdrequest']; if (!isset($sortedRequests["{$cdrequest}"])) { $sortedRequests["{$cdrequest}"] = array(); } array_push($sortedRequests["{$cdrequest}"], $request); } // // Definir exames pais // $fexams = array(); // father exams foreach ($sortedRequests as $requestId => $requestExaminations) { foreach ($requestExaminations as $examId => $exam) { if ($exam['cdexaminationmaterialparent'] == null) { // adiciona o exame ao array de exames pais] array_push($fexams, $exam); // remove o exame pai do array base unset($sortedRequests[$requestId][$examId]); } } // Se a requisição não tem nenhum exame restante, remove o index dela $count = count($sortedRequests[$requestId]); if ($count == 0) { unset($sortedRequests[$requestId]); } } // // Inserir filhos nos pais foreach ($sortedRequests as $requestId => $requestExaminations) { foreach ($requestExaminations as $examId => $exam) { foreach ($fexams as $fexamId => $fexam) { if ($exam['cdexaminationmaterialparent'] == $fexam['cdexaminationmaterial']) { // adiciona o exame ao array de sub exames do pai // remove o exame filho do array base unset($sortedRequests[$requestId][$examId]); if (count($sortedRequests[$requestId]) == 0) { unset($sortedRequests[$requestId]); } break; } } } } // Se houver algum exame que tem pai porém não está em nenhuma requisição // Adiciona-los-ei como um pai, porém isto significa inconsistência nos dados if (count($sortedRequests) > 0) { $newArray = array(); foreach ($sortedRequests as $newRequests) { array_push($newArray, $newRequests[0]); } // remove hierarquia do cdrequest $fexams = array_merge($fexams, $newArray); } //var_dump($fexams); // find correct postion for start typing // NOTE: if the index number is equal to the fexams.lenght, nrsample wasn't found; if (isset($nrsample) && !isset($position)) { $index = 0; foreach ($fexams as $exam) { if ($exam['nmbarcodesample'] == $nrsample) { break; } $index++; } $position = $index; } // Max index array number $maxPosition = count($fexams) - 1; // Define the position in array if (!isset($position)) { $position = isset($typingExamsSessionRead['position']) ? $typingExamsSessionRead['position'] : 0; } if ($direction != null) { if (strcasecmp($direction, "left") == 0) { $position--; } else { if (strcasecmp($direction, "right") == 0) { $position++; } } $position = $position < 0 ? $position = 0 : $position > $maxPosition ? $position = $maxPosition : $position; } $typingExamsSessionWrite->position = $position; $typingExamsSessionWrite->maxposition = $maxPosition; if (array_key_exists($position, $fexams) && $position != 'first') { $exam = $fexams[$position]; } else { if ($position == 'first' && count($fexams) > 0) { $exam = reset($fexams); } else { if (count($fexams) > 0) { $exam = null; } else { $exam = -1; } } } //$randomName = null; if ($exam != null && $exam != -1) { $fields = $this->getIdentifierFields($exam); // $this->view->fieldsetdateinputsnewwindow = $fields; AppraisalCommon::$refController->view->fieldsetdateinputsnewwindow = $fields; // if examination has no sons if (!isset($exam['subexams'])) { $subexamsdata = $this->getCDSubExams($exam['cdexaminationmaterial']); $sb = 0; $exam['subexam'] = array(); foreach ($subexamsdata as $examSub) { // Dados do subexame do exame $subexam = array(); $attrib = array(); $subexam['nmexam'] = $examSub['nmexamination']; $subexam['cdexaminationmaterial'] = $examSub['cdexaminationmaterial']; $attrib = $this->getExamAttribs($examSub['cdexaminationmaterial']); // Atributos do subexame do exame $attributes = array(); $attr = array(); foreach ($attrib as $attribs) { $attr['cdattribute'] = $attribs['cdattribute']; $attr['cdexamination'] = $attribs['cdexamination']; $attr['nmexam'] = $attribs['nmexamination']; $query = new stdClass(); $query->cdexaminationmaterialparent = $exam['cdexaminationmaterial']; /* examinationmaterial - fexams */ $query->cdexamination = $exam['cdexamination']; /* cdexamination - fexams */ $query->cdrequest = $exam['cdrequest']; /* cdexamination - fexams */ $query->cdexaminationmaterial = $examSub['cdexaminationmaterial']; /* examinationmaterial - subexam */ $query->cdattribute = $attr['cdattribute']; /* examinationmaterial - subexam */ $appraisalAttribute = $this->getAppraisalAttributeValue($query); //var_dump($return); //die(); if (count($appraisalAttribute) > 0) { $attr['vlattribute'] = $appraisalAttribute[0]['vlattribute']; if ($appraisalAttribute[0]['cdappraisal'] != '') { $exam['cdappraisal'] = $appraisalAttribute[0]['cdappraisal']; } // var_dump($attr['vlattribute']); } else { // echo "<br /> Valor não encontrado para este atributo!"; $attr['vlattribute'] = ''; // var_dump($query); } //var_dump($query); array_push($attributes, $attr); } //var_dump($attrib); //echo "<br />count: ". count($attributes); // Adiciona os atributos do subexame para ele $subexam['attributes'] = array(); $subexam['attributes'] = $attributes; //Adiciona os subexames para o exame $exam['subexam'][$sb] = $subexam; // Array para os exames $exams = array(); // Adiciona os exames ao array de resultados de exames array_push($exams, $exam); // Index por posição $sb++; } } // <!-- Início do relatório em html --> $div = "<div class='appraisal_div'>"; if (!empty($exams)) { //var_dump($exams); foreach ($exams as $exam) { // Título, material e método do exame $div .= "<div class='exam'>\r\n <h1> " . $exam['nmexamination'] . "</h1>\r\n <span> Material: " . $exam['nmmaterial'] . " </span>\r\n <span> Método: " . $exam['nmmethod'] . " </span>\r\n <input type='hidden' name='cdappraisal' class='cdappraisal' value='" . (isset($exam['cdappraisal']) ? $exam['cdappraisal'] : '') . "'/>\r\n </div>"; // Pega as observações para o cdappraisal if (isset($exam['cdappraisal'])) { $tags = $this->getAppraisalComment($exam['cdappraisal']); } // Texto de valores de referência $div .= "<div id='ref_title' class='ref_title'>\r\n <div></div>\r\n <div>\r\n <h1> Valores de Referência </h1>\r\n </div>\r\n </div>"; // Pegar dados do sub-exame $cont_sub = 0; foreach ($exam['subexam'] as $subexam) { // Pegar os fatores em relação aos atributos $factors = $this->getExamFactors($subexam['cdexaminationmaterial']); $exam['subexam'] = array(); if (!empty($factors)) { // Pego o primeiro fator do atributo // como base para saber os tipos que tenho $fgfactor = 1; foreach ($factors as $factor) { if ($factor['fgfactor'] > $fgfactor) { $fgfactor = $factor['fgfactor']; } } // Fazer o calculo do width usando o número de fatores atrelados à este exame $width = 100 / $fgfactor; $div .= "<div class='sub_exam'>"; $div .= "<div class='titles'>"; $div .= "<!-- Nome do subexame -->\r\n <div id='exam_title' class='exam_title'> \r\n <h1> " . $subexam['nmexam'] . " </h1> \r\n </div>\r\n\r\n <!-- Verificar a quantidade de fatores e dividir o width -->"; // Início div class ref_sex_type_father_div $div .= "<div class='ref_sex_type_father_div'>"; if ($fgfactor == 1) { $div .= "<div class='ref_sex_type' style='width:{$width}%;'>\r\n Idade \r\n </div>"; } else { if ($fgfactor == 2) { $div .= "\r\n <div class='ref_sex_type' style='width:{$width}%;'>\r\n Masculino\r\n </div>\r\n <div class='ref_sex_type' style='width:{$width}%;'>\r\n Feminino\r\n </div>"; } else { if ($fgfactor == 3) { $div .= "\r\n <div class='ref_sex_type' style='width:{$width}%;'>\r\n Idade \r\n </div>"; $div .= "\r\n <div class='ref_sex_type' style='width:{$width}%;'>\r\n Masculino\r\n </div>\r\n <div class='ref_sex_type' style='width:{$width}%;'>\r\n Feminino\r\n </div>"; } } } // Fim div class ref_sex_type_father_div $div .= " </div>"; // Fim div class titles $div .= "</div>"; $attrctrl = 0; foreach ($subexam['attributes'] as $attribute) { // print_r($attribute); // Pegar os fatores em relação aos atributos $factors = $this->getExamFactors($subexam['cdexaminationmaterial'], $attribute['cdattribute']); // var_dump($exam); // die(); // echo "examinationmaterial: ". $subexam['cdexaminationmaterial'] ."<br /> attribute: ". $attribute['cdattribute'] ." <br />requestexamination:". $exam['cdrequestexamination']; // die(); // Inicia Array para controle do maximo e minimo absurdos // para gerar SCRIPT validador da entrada de dados para o atributo $absoluteFactorValues = array(); $absoluteFactorValues['attributename'] = null; $absoluteFactorValues['min'] = null; $absoluteFactorValues['max'] = null; // Se houve um erro nos dados do atributo // Pega o valor do primeiro fator encontrado $ctrlfactor = 1; foreach ($factors as $factor) { $nmmeasurementunit = $factor['nmmeasurementunit']; $randomName = $exam['cdrequestexamination'] . "_" . $attribute['cdexamination'] . "_" . $attribute['cdattribute'] . "_" . $subexam['cdexaminationmaterial']; // it's not safe! $div .= "<div style='width: 100%; float: left; margin-top: 5px;'>"; $div .= "<div class='attributes'>"; // Define a Classe do Input a fim de inserção das máscaras ao mesmo if ($factor['fgdatatype'] != null) { if ($factor['fgdatatype'] == 1) { $datatype = 'numeric'; } else { if ($factor['fgdatatype'] == 2) { $datatype = 'mask_price_db'; } else { if ($factor['fgdatatype'] == 3) { $datatype = 'alpha'; } else { $datatype = 'datepicker'; } } } } $vlattribute = empty($attribute['vlattribute']) ? "" : $attribute['vlattribute']; if ($ctrlfactor == 1) { $div .= " <ul>\r\n <li>\r\n <div>\r\n " . $factor['nmattribute'] . "\r\n </div>\r\n <div>\r\n\r\n <input type='text' id='appraisal_input_" . $randomName . "' name='appraisal_input_" . $randomName . "'\r\n class='" . $datatype . "' value='" . $vlattribute . "'/>\r\n " . $nmmeasurementunit . "\r\n\r\n </div>\r\n </li>\r\n </ul>"; // Nome do Atributo para definição dos valores maximos e minimos do INPUT $absoluteFactorValues['attributename'] = $randomName; } $div .= "</div>"; $div .= "<div id='val_attributes_ref' class='val_attributes_ref'>"; if (count($subexam['attributes']) > 1) { // Idades if ($fgfactor == 1) { $div .= "<div style='width:{$width}%;'> <ul>"; if (isset($factor['nrminage']) && $factor['nrminage'] != '' && (isset($factor['nrmaxage']) && $factor['nrmaxage'] != '')) { $div .= "<li>\r\n Entre " . $factor['nrminage'] . " e " . $factor['nrmaxage'] . " Anos\r\n </li>"; } else { if ((!isset($factor['nrminage']) || $factor['nrminage'] == '') && (!isset($factor['nrmaxage']) && $factor['nrmaxage'] == '')) { $div .= "<li>\r\n ---\r\n </li>"; } else { if (!isset($factor['nrmaxage']) && $factor['nrmaxage'] != '') { $div .= "<li>\r\n Abaixo de " . $factor['nrmaxage'] . " Anos\r\n </li>"; } else { $div .= "<li>\r\n Acima de " . $factor['nrminage'] . " Anos\r\n </li>"; } } } $div .= "</ul> </div>"; // Trata o valor minimo para o atributo if ($factor['nrminage'] != null && $absoluteFactorValues['min'] == null) { $absoluteFactorValues['min'] = $factor['nrminage']; } else { if ($factor['nrminage'] < $absoluteFactorValues['min']) { $absoluteFactorValues['min'] = $factor['nrminage']; } } // Trata o valor maximo para o atributo if ($factor['nrmaxage'] != null && $absoluteFactorValues['max'] == null) { $absoluteFactorValues['max'] = $factor['nrmaxage']; } if ($factor['nrmaxage'] > $absoluteFactorValues['max']) { $absoluteFactorValues['max'] = $factor['nrmaxage']; } } else { if ($fgfactor == 2) { // Fatores masculinos $div .= "<div style='width:{$width}%;'> <ul>"; if ($factor['fggender'] == 1) { $div .= "<li>\r\n " . str_replace(".", ",", $factor['vlminvalue']) . " - " . str_replace(".", ",", $factor['vlmaxvalue']) . "\r\n </li>"; } else { $div .= "<li>\r\n --- \r\n </li>"; } $div .= "</ul> </div>"; // Fatores femininos $div .= "<div style='width:{$width}%;'> <ul>"; if ($factor['fggender'] == 2) { $div .= "<li>\r\n " . str_replace(".", ",", $factor['vlminvalue']) . " - " . str_replace(".", ",", $factor['vlmaxvalue']) . "\r\n </li>"; } else { $div .= "<li>\r\n --- \r\n </li>"; } $div .= "</ul></div>"; // Trata o valor minimo para o atributo if ($factor['vlminvalue'] != null && $absoluteFactorValues['min'] == null) { $absoluteFactorValues['min'] = $factor['vlminvalue']; } else { if ($factor['vlminvalue'] < $absoluteFactorValues['min']) { $absoluteFactorValues['min'] = $factor['vlminvalue']; } } // Trata o valor maximo para o atributo if ($factor['vlmaxvalue'] != null && $absoluteFactorValues['max'] == null) { $absoluteFactorValues['max'] = $factor['vlmaxvalue']; } if ($factor['vlmaxvalue'] > $absoluteFactorValues['max']) { $absoluteFactorValues['max'] = $factor['vlmaxvalue']; } } else { if ($fgfactor == 3) { $div .= "<div style='width:{$width}%;'> <ul>"; if (isset($factor['nrminage']) && $factor['nrminage'] != '' && (isset($factor['nrmaxage']) && $factor['nrmaxage'] != '')) { $div .= "<li>\r\n Entre " . $factor['nrminage'] . " e " . $factor['nrmaxage'] . " Anos\r\n </li>"; } else { if ((!isset($factor['nrminage']) || $factor['nrminage'] == '') && (isset($factor['nrmaxage']) && $factor['nrmaxage'] != '')) { $div .= "<li>\r\n Abaixo de " . $factor['nrmaxage'] . " Anos\r\n </li>"; } else { if (!isset($factor['nrmaxage']) || $factor['nrmaxage'] == '') { $div .= "<li>\r\n Acima de " . $factor['nrminage'] . " Anos\r\n </li>"; } else { $div .= "<li>\r\n Nenhuma idade fornecida.\r\n </li>"; } } } $div .= "</ul> </div>"; // Fatores masculinos $div .= "<div style='width:{$width}%;'> <ul>"; if ($factor['fggender'] == 1) { $div .= "<li>\r\n " . str_replace(".", ",", $factor['vlminvalue']) . " - " . str_replace(".", ",", $factor['vlmaxvalue']) . "\r\n </li>"; } else { $div .= "<li>\r\n --- \r\n </li>"; } $div .= "</ul> </div>"; // Fatores femininos $div .= "<div style='width:{$width}%;'> <ul>"; if ($factor['fggender'] == 2) { $div .= "<li>\r\n " . str_replace(".", ",", $factor['vlminvalue']) . " - " . str_replace(".", ",", $factor['vlmaxvalue']) . "\r\n </li>"; } else { $div .= "<li>\r\n --- \r\n </li>"; } $div .= "</ul></div>"; // Trata o valor minimo para o atributo if ($factor['vlminvalue'] != null && $absoluteFactorValues['min'] == null) { $absoluteFactorValues['min'] = $factor['vlminvalue']; } else { if ($factor['vlminvalue'] < $absoluteFactorValues['min']) { $absoluteFactorValues['min'] = $factor['vlminvalue']; } } // Trata o valor maximo para o atributo if ($factor['vlmaxvalue'] != null && $absoluteFactorValues['max'] == null) { $absoluteFactorValues['max'] = $factor['vlmaxvalue']; } if ($factor['vlmaxvalue'] > $absoluteFactorValues['max']) { $absoluteFactorValues['max'] = $factor['vlmaxvalue']; } } } } } else { if ($fgfactor == 1) { $div .= "<div style='width:{$width}%;'><ul>"; $div .= "<li style='width: 100%; float: left;'>"; if (isset($factor['nrminage']) && $factor['nrminage'] != '' && (isset($factor['nrmaxage']) && $factor['nrmaxage'] != '')) { $div .= "\r\n Entre " . $factor['nrminage'] . " e " . $factor['nrmaxage'] . " Anos\r\n "; } else { if ((!isset($factor['nrminage']) || $factor['nrminage'] == '') && (!isset($factor['nrmaxage']) && $factor['nrmaxage'] == '')) { $div .= "\r\n ---\r\n "; } else { if (!isset($factor['nrmaxage']) && $factor['nrmaxage'] != '') { $div .= " Abaixo de " . $factor['nrmaxage'] . " Anos "; } else { $div .= "Acima de " . $factor['nrminage'] . " Anos "; } } } $div .= "</li></ul>"; $div .= "</div>"; // Trata o valor minimo para o atributo if ($factor['nrminage'] != null && $absoluteFactorValues['min'] == null) { $absoluteFactorValues['min'] = $factor['nrminage']; } else { if ($factor['nrminage'] < $absoluteFactorValues['min']) { $absoluteFactorValues['min'] = $factor['nrminage']; } } // Trata o valor maximo para o atributo if ($factor['nrmaxage'] != null && $absoluteFactorValues['max'] == null) { $absoluteFactorValues['max'] = $factor['nrmaxage']; } if ($factor['nrmaxage'] > $absoluteFactorValues['max']) { $absoluteFactorValues['max'] = $factor['nrmaxage']; } } else { if ($fgfactor == 2) { // Fatores masculinos $div .= "<div style='width:{$width}%;'> <ul>"; if ($factor['fggender'] == 1) { $div .= "<li>\r\n " . str_replace(".", ",", $factor['vlminvalue']) . " - " . str_replace(".", ",", $factor['vlmaxvalue']) . "\r\n </li>"; } else { $div .= "<li>\r\n --- \r\n </li>"; } $div .= "</ul> </div>"; // Fatores femininos $div .= "<div style='width:{$width}%;'> <ul>"; if ($factor['fggender'] == 2) { $div .= "<li>\r\n " . str_replace(".", ",", $factor['vlminvalue']) . " - " . str_replace(".", ",", $factor['vlmaxvalue']) . "\r\n </li>"; } else { $div .= "<li>\r\n --- \r\n </li>"; } $div .= "</ul></div>"; // Trata o valor minimo para o atributo if ($factor['vlminvalue'] != null && $absoluteFactorValues['min'] == null) { $absoluteFactorValues['min'] = $factor['vlminvalue']; } else { if ($factor['vlminvalue'] < $absoluteFactorValues['min']) { $absoluteFactorValues['min'] = $factor['vlminvalue']; } } // Trata o valor maximo para o atributo if ($factor['vlmaxvalue'] != null && $absoluteFactorValues['max'] == null) { $absoluteFactorValues['max'] = $factor['vlmaxvalue']; } if ($factor['vlmaxvalue'] > $absoluteFactorValues['max']) { $absoluteFactorValues['max'] = $factor['vlmaxvalue']; } } else { if ($fgfactor == 3) { $div .= "<div style='width:{$width}%;'> <ul>"; if (isset($factor['nrminage']) && $factor['nrminage'] != '' && (isset($factor['nrmaxage']) && $factor['nrmaxage'] != '')) { $div .= "<li>\r\n Entre " . $factor['nrminage'] . " e " . $factor['nrmaxage'] . " Anos\r\n </li>"; } else { if ((!isset($factor['nrminage']) || $factor['nrminage'] == '') && (!isset($factor['nrmaxage']) && $factor['nrmaxage'] == '')) { $div .= "<li>\r\n ---\r\n </li>"; } else { if (!isset($factor['nrmaxage']) && $factor['nrmaxage'] != '') { $div .= "<li>\r\n Abaixo de " . $factor['nrmaxage'] . " Anos\r\n </li>"; } else { $div .= "<li>\r\n Acima de " . $factor['nrminage'] . " Anos\r\n </li>"; } } } $div .= "</ul> </div>"; // Fatores masculinos $div .= "<div style='width:{$width}%;'> <ul>"; if ($factor['fggender'] == 1) { $div .= "<li>\r\n " . str_replace(".", ",", $factor['vlminvalue']) . " - " . str_replace(".", ",", $factor['vlmaxvalue']) . "\r\n </li>"; } else { $div .= "<li>\r\n --- \r\n </li>"; } $div .= "</ul> </div>"; // Fatores femininos $div .= "<div style='width:{$width}%;'> <ul>"; if ($factor['fggender'] == 2) { $div .= "<li>\r\n " . str_replace(".", ",", $factor['vlminvalue']) . " - " . str_replace(".", ",", $factor['vlmaxvalue']) . "\r\n </li>"; } else { $div .= "<li>\r\n --- \r\n </li>"; } $div .= "</ul></div>"; // Trata o valor minimo para o atributo if ($factor['vlminvalue'] != null && $absoluteFactorValues['min'] == null) { $absoluteFactorValues['min'] = $factor['vlminvalue']; } else { if ($factor['vlminvalue'] < $absoluteFactorValues['min']) { $absoluteFactorValues['min'] = $factor['vlminvalue']; } } // Trata o valor maximo para o atributo if ($factor['vlmaxvalue'] != null && $absoluteFactorValues['max'] == null) { $absoluteFactorValues['max'] = $factor['vlmaxvalue']; } if ($factor['vlmaxvalue'] > $absoluteFactorValues['max']) { $absoluteFactorValues['max'] = $factor['vlmaxvalue']; } } } } } $div .= "</div>"; $div .= "</div>"; $ctrlfactor++; } $div .= "\r\n <script> \r\n \$('#appraisal_input_" . $absoluteFactorValues['attributename'] . "').live('keyup', function(){\r\n if( (parseFloat(this.value) < " . ($absoluteFactorValues['min'] == null ? 0 : $absoluteFactorValues['min']) . " || parseFloat(this.value) > " . ($absoluteFactorValues['max'] == null ? 100 : $absoluteFactorValues['max']) . ") && (parseFloat(this.value) != 0 && this.value != '') ){\r\n \$(this).addClass('rangeout');\r\n }else{\r\n \$(this).removeClass('rangeout');\r\n }\r\n });\r\n </script>\r\n "; $ctrlfactor = 1; $attrctrl++; } $div .= "</div>"; $cont_sub++; } } } } else { // Título, material e método do exame $div .= "<div class='exam'>\r\n <h1> " . $exam['nmexamination'] . "</h1>\r\n <span> Material: " . $exam['nmmaterial'] . " </span>\r\n <span> Método: " . $exam['nmmethod'] . " </span>\r\n <input type='hidden' name='cdappraisal' class='cdappraisal'>\r\n </div>"; $attrib = $this->getExamAttribs($exam['cdexaminationmaterial']); if (!empty($attrib)) { // Texto de valores de referência $div .= "<div id='ref_title' class='ref_title'>\r\n <div></div>\r\n <div>\r\n <h1> Valores de Referência </h1>\r\n </div>\r\n </div>"; $factors = $this->getExamFactors($exam['cdexaminationmaterial']); $fgfactor = 1; foreach ($factors as $factor) { if ($factor['fgfactor'] > $fgfactor) { $fgfactor = $factor['fgfactor']; } } $width = 100 / $fgfactor; $div .= "<div class='sub_exam'>"; $div .= "<div class='titles'>"; $div .= "\r\n <div id='exam_title' class='exam_title'> \r\n </div>\r\n\r\n <!-- Verificar a quantidade de fatores e dividir o width -->"; $div .= "<div class='ref_sex_type_father_div'>"; if ($fgfactor == 1) { $div .= "<div class='ref_sex_type' style='width:{$width}%;'>\r\n Idade \r\n </div>"; } else { if ($fgfactor == 2) { $div .= "\r\n <div class='ref_sex_type' style='width:{$width}%;'>\r\n Masculino\r\n </div>\r\n <div class='ref_sex_type' style='width:{$width}%;'>\r\n Feminino\r\n </div>"; } else { if ($fgfactor == 3) { $div .= "\r\n <div class='ref_sex_type' style='width:{$width}%;'>\r\n Idade \r\n </div>"; $div .= "\r\n <div class='ref_sex_type' style='width:{$width}%;'>\r\n Masculino\r\n </div>\r\n <div class='ref_sex_type' style='width:{$width}%;'>\r\n Feminino\r\n </div>"; } } } // Fim div class ref_sex_type_father_div $div .= " </div>"; // Fim div class titles $div .= "</div>"; foreach ($attrib as $attribs) { //// Pegar os fatores em relação aos atributos $factors = $this->getExamFactors($exam['cdexaminationmaterial'], $attribs['cdattribute']); $query = new stdClass(); $query->cdexamination = $exam['cdexamination']; /* cdexamination - fexams */ $query->cdrequest = $exam['cdrequest']; /* cdexamination - fexams */ $query->cdexaminationmaterial = $exam['cdexaminationmaterial']; /* examinationmaterial - subexam */ $query->cdattribute = $attribs['cdattribute']; /* examinationmaterial - subexam */ $appraisalAttribute = $this->getAppraisalAttributeValue($query); if (count($appraisalAttribute) > 0) { if (strlen($appraisalAttribute[0]['cdappraisal']) > 0) { echo "\r\n <script>eval(\$('.cdappraisal').val(" . $appraisalAttribute[0]['cdappraisal'] . "))</script> \r\n "; // Pega as observações para o cdappraisal $tags = $this->getAppraisalComment($appraisalAttribute[0]['cdappraisal']); } } // Inicia Array para controle do maximo e minimo absurdos // para gerar SCRIPT validador da entrada de dados para o atributo $absoluteFactorValues = array(); $absoluteFactorValues['attributename'] = null; $absoluteFactorValues['min'] = null; $absoluteFactorValues['max'] = null; // Se houve um erro nos dados do atributo // Pega o valor do primeiro fator encontrado $ctrlfactor = 1; foreach ($factors as $factor) { $nmmeasurementunit = $factor['nmmeasurementunit']; $randomName = $exam['cdrequestexamination'] . "_" . $attribs['cdexamination'] . "_" . $attribs['cdattribute'] . "_" . $exam['cdexaminationmaterial']; // it's safe! maybe, i dont know yet $div .= "<div style='width: 100%; float: left; margin-top: 5px;'>"; $div .= "<div class='attributes'>"; if ($factor['fgdatatype'] != null) { if ($factor['fgdatatype'] == 1) { $datatype = 'numeric'; } else { if ($factor['fgdatatype'] == 2) { $datatype = 'mask_price_db'; } else { if ($factor['fgdatatype'] == 3) { $datatype = 'alpha'; } else { $datatype = 'datepicker'; } } } } if ($ctrlfactor == 1) { $vlattribute = empty($attribs['vlattribute']) ? "" : $attribs['vlattribute']; $div .= " <ul>\r\n <li>\r\n <div>\r\n " . $factor['nmattribute'] . "\r\n </div>\r\n <div>\r\n\r\n <input type='text' id='appraisal_input_" . $randomName . "' name='{$randomName}' class='" . $datatype . "' value='" . (count($appraisalAttribute) > 0 ? $appraisalAttribute[0]['vlattribute'] : '') . "'/>\r\n " . $nmmeasurementunit . "\r\n\r\n </div>\r\n </li>\r\n </ul>"; // Nome do Atributo para definição dos valores maximos e minimos do INPUT $absoluteFactorValues['attributename'] = $randomName; } $div .= "</div>"; $div .= "<div id='val_attributes_ref' class='val_attributes_ref'>"; // TODO HERE! // Trocar esta verificação if (count($attrib) > 1 || count($factors) > 1) { if ($fgfactor == 1) { $div .= "<div style='width:{$width}%;'> <ul>"; if (isset($factor['nrminage']) && $factor['nrminage'] != '' && (isset($factor['nrmaxage']) && $factor['nrmaxage'] != '')) { $div .= "<li>\r\n Entre " . $factor['nrminage'] . " e " . $factor['nrmaxage'] . " Anos\r\n </li>"; } else { if ((!isset($factor['nrminage']) || $factor['nrminage'] == '') && (!isset($factor['nrmaxage']) && $factor['nrmaxage'] == '')) { $div .= "<li>\r\n ---\r\n </li>"; } else { if (!isset($factor['nrmaxage']) && $factor['nrmaxage'] != '') { $div .= "<li>\r\n Abaixo de " . $factor['nrmaxage'] . " Anos\r\n </li>"; } else { $div .= "<li>\r\n Acima de " . $factor['nrminage'] . " Anos\r\n </li>"; } } } $div .= "</ul> </div>"; // Trata o valor minimo para o atributo if ($factor['nrminage'] != null && $absoluteFactorValues['min'] == null) { $absoluteFactorValues['min'] = $factor['nrminage']; } else { if ($factor['nrminage'] < $absoluteFactorValues['min']) { $absoluteFactorValues['min'] = $factor['nrminage']; } } // Trata o valor maximo para o atributo if ($factor['nrmaxage'] != null && $absoluteFactorValues['max'] == null) { $absoluteFactorValues['max'] = $factor['nrmaxage']; } if ($factor['nrmaxage'] > $absoluteFactorValues['max']) { $absoluteFactorValues['max'] = $factor['nrmaxage']; } } else { if ($fgfactor == 2) { // Fatores masculinos $div .= "<div style='width:{$width}%;'> <ul>"; if ($factor['fggender'] == 1) { $div .= "<li>\r\n " . str_replace(".", ",", $factor['vlminvalue']) . " - " . str_replace(".", ",", $factor['vlmaxvalue']) . "\r\n </li>"; } else { $div .= "<li>\r\n --- \r\n </li>"; } $div .= "</ul> </div>"; // Fatores femininos $div .= "<div style='width:{$width}%;'> <ul>"; if ($factor['fggender'] == 2) { $div .= "<li>\r\n " . str_replace(".", ",", $factor['vlminvalue']) . " - " . str_replace(".", ",", $factor['vlmaxvalue']) . "\r\n </li>"; } else { $div .= "<li>\r\n --- \r\n </li>"; } $div .= "</ul></div>"; // Trata o valor minimo para o atributo if ($factor['vlminvalue'] != null && $absoluteFactorValues['min'] == null) { $absoluteFactorValues['min'] = $factor['vlminvalue']; } else { if ($factor['vlminvalue'] < $absoluteFactorValues['min']) { $absoluteFactorValues['min'] = $factor['vlminvalue']; } } // Trata o valor maximo para o atributo if ($factor['vlmaxvalue'] != null && $absoluteFactorValues['max'] == null) { $absoluteFactorValues['max'] = $factor['vlmaxvalue']; } if ($factor['vlmaxvalue'] > $absoluteFactorValues['max']) { $absoluteFactorValues['max'] = $factor['vlmaxvalue']; } } else { if ($fgfactor == 3) { $div .= "<div style='width:{$width}%;'> <ul>"; if (isset($factor['nrminage']) && $factor['nrminage'] != '' && (isset($factor['nrmaxage']) && $factor['nrmaxage'] != '')) { $div .= "<li>\r\n Entre " . $factor['nrminage'] . " e " . $factor['nrmaxage'] . " Anos\r\n </li>"; } else { if ((!isset($factor['nrminage']) || $factor['nrminage'] == '') && (isset($factor['nrmaxage']) && $factor['nrmaxage'] != '')) { $div .= "<li>\r\n Abaixo de " . $factor['nrmaxage'] . " Anos\r\n </li>"; } else { if (!isset($factor['nrmaxage']) || $factor['nrmaxage'] == '') { $div .= "<li>\r\n Acima de " . $factor['nrminage'] . " Anos\r\n </li>"; } else { $div .= "<li>\r\n Nenhuma idade fornecida.\r\n </li>"; } } } $div .= "</ul> </div>"; // Fatores masculinos $div .= "<div style='width:{$width}%;'> <ul>"; if ($factor['fggender'] == 1) { $div .= "<li>\r\n " . str_replace(".", ",", $factor['vlminvalue']) . " - " . str_replace(".", ",", $factor['vlmaxvalue']) . "\r\n </li>"; } else { $div .= "<li>\r\n --- \r\n </li>"; } $div .= "</ul> </div>"; // Fatores femininos $div .= "<div style='width:{$width}%;'> <ul>"; if ($factor['fggender'] == 2) { $div .= "<li>\r\n " . str_replace(".", ",", $factor['vlminvalue']) . " - " . str_replace(".", ",", $factor['vlmaxvalue']) . "\r\n </li>"; } else { $div .= "<li>\r\n --- \r\n </li>"; } $div .= "</ul></div>"; // Trata o valor minimo para o atributo if ($factor['vlminvalue'] != null && $absoluteFactorValues['min'] == null) { $absoluteFactorValues['min'] = $factor['vlminvalue']; } else { if ($factor['vlminvalue'] < $absoluteFactorValues['min']) { $absoluteFactorValues['min'] = $factor['vlminvalue']; } } // Trata o valor maximo para o atributo if ($factor['vlmaxvalue'] != null && $absoluteFactorValues['max'] == null) { $absoluteFactorValues['max'] = $factor['vlmaxvalue']; } if ($factor['vlmaxvalue'] > $absoluteFactorValues['max']) { $absoluteFactorValues['max'] = $factor['vlmaxvalue']; } } } } } else { if ($fgfactor == 1) { $div .= "<div style='width:{$width}%;'><ul>"; $div .= "<li style='width: 25%; float: left;'>"; if (isset($factor['nrminage']) && $factor['nrminage'] != '' && (isset($factor['nrmaxage']) && $factor['nrmaxage'] != '')) { $div .= "\r\n Entre " . $factor['nrminage'] . " e " . $factor['nrmaxage'] . " Anos\r\n "; } else { if ((!isset($factor['nrminage']) || $factor['nrminage'] == '') && (!isset($factor['nrmaxage']) && $factor['nrmaxage'] == '')) { $div .= "\r\n ---\r\n "; } else { if (!isset($factor['nrmaxage']) && $factor['nrmaxage'] != '') { $div .= " Abaixo de " . $factor['nrmaxage'] . " Anos "; } else { $div .= "Acima de " . $factor['nrminage'] . " Anos "; } } } $div .= "</li>"; if ($factor['vlminvalue'] != null && $factor['vlmaxvalue'] != null && $factor['vlminvalueabsurd'] != null && $factor['vlmaxvalueabsurd'] != null) { $rangeRuleImgName = "rangerule_img-" . $randomName; $div .= "<img id='{$rangeRuleImgName}' style='max-width: 515px; width: 74%;'>\r\n <script>\r\n includeJS('rangerule');\r\n rangeRuleImg('{$rangeRuleImgName}', " . (count($appraisalAttribute) > 0 ? $appraisalAttribute[0]['vlattribute'] : ($factor['vlmaxvalue'] + $factor['vlminvalue']) / 2) . ", " . $factor['vlminvalue'] . ", " . $factor['vlmaxvalue'] . ", " . $factor['vlminvalueabsurd'] . ", " . $factor['vlmaxvalueabsurd'] . ");\r\n \r\n // Validações da rangerule\r\n var lastRange = \$('#appraisal_input_" . $randomName . "').val();\r\n \r\n // Destroy the KeyUp function() to replace a new one\r\n \$('#appraisal_input_" . $randomName . "').die('keyup');\r\n\r\n \$('#appraisal_input_" . $randomName . "').live('keyup', function() {\r\n if(this.value != null && this.value != '' && this.value != '0.00')\r\n {\r\n if(this.value > " . $factor['vlminvalueabsurd'] . " && this.value < " . $factor['vlmaxvalueabsurd'] . ")\r\n {\r\n \$(this).removeClass('rangeout rangeoutmin rangeoutmax');\r\n rangeRuleImg('{$rangeRuleImgName}', this.value, " . $factor['vlminvalue'] . ", " . $factor['vlmaxvalue'] . ", " . $factor['vlminvalueabsurd'] . ", " . $factor['vlmaxvalueabsurd'] . ");\r\n\r\n if(this.value < " . $factor['vlminvalue'] . "){\r\n \$(this).addClass('rangeoutmin');\r\n }else if(this.value > " . $factor['vlmaxvalue'] . "){\r\n \$(this).addClass('rangeoutmax');\r\n }\r\n }\r\n else\r\n {\r\n \$(this).removeClass('rangeoutmin rangeoutmax');\r\n if(this.value < " . $factor['vlminvalueabsurd'] . "){\r\n rangeRuleImg('{$rangeRuleImgName}', " . $factor['vlminvalueabsurd'] . ", " . $factor['vlminvalue'] . ", " . $factor['vlmaxvalue'] . ", " . $factor['vlminvalueabsurd'] . ", " . $factor['vlmaxvalueabsurd'] . ");\r\n }\r\n else{\r\n rangeRuleImg('{$rangeRuleImgName}', " . $factor['vlmaxvalueabsurd'] . ", " . $factor['vlminvalue'] . ", " . $factor['vlmaxvalue'] . ", " . $factor['vlminvalueabsurd'] . ", " . $factor['vlmaxvalueabsurd'] . ");\r\n }\r\n }\r\n }else{\r\n \$(this).removeClass('rangeout rangeoutmin rangeoutmax');\r\n } \r\n }); \r\n\r\n </script>\r\n "; /* Range rule em HTML $div .= "<div id='slider_". $randomName ."' style=' margin-top: 7px; width: 75%;'> <script> eval(rangeRule('#slider_". $randomName ."', ".(count($appraisalAttribute) > 0 ? $appraisalAttribute[0]['vlattribute'] : ($factor['vlmaxvalue']+$factor['vlminvalue'])/2 ).", ".$factor['vlminvalue'].", ".$factor['vlmaxvalue'].", ".$factor['vlminvalueabsurd'].", ".$factor['vlmaxvalueabsurd'].") ); </script> <script> var lastRange = $('#appraisal_input_".$randomName."').val(); // Destroy the KeyUp function() to replace a new one $('#appraisal_input_" . $randomName . "').die('keyup'); $('#appraisal_input_". $randomName ."').live('keyup', function() { if(this.value != null && this.value != '' && this.value != '0.00') { if(this.value > ".$factor['vlminvalueabsurd']." && this.value < ".$factor['vlmaxvalueabsurd'].") { $(this).removeClass('rangeout rangeoutmin rangeoutmax'); rangeRule('#slider_". $randomName ."', this.value, ".$factor['vlminvalue'].", ".$factor['vlmaxvalue'].", ".$factor['vlminvalueabsurd'].", ".$factor['vlmaxvalueabsurd']."); if(this.value < ".$factor['vlminvalue']."){ $(this).addClass('rangeoutmin'); }else if(this.value > ".$factor['vlmaxvalue']."){ $(this).addClass('rangeoutmax'); } } else { $(this).removeClass('rangeoutmin rangeoutmax'); if(this.value < ".$factor['vlminvalueabsurd']."){ rangeRule('#slider_". $randomName ."', ".$factor['vlminvalueabsurd'].", ".$factor['vlminvalue'].", ".$factor['vlmaxvalue'].", ".$factor['vlminvalueabsurd'].", ".$factor['vlmaxvalueabsurd']."); } else{ rangeRule('#slider_". $randomName ."', ".$factor['vlmaxvalueabsurd'].", ".$factor['vlminvalue'].", ".$factor['vlmaxvalue'].", ".$factor['vlminvalueabsurd'].", ".$factor['vlmaxvalueabsurd']."); } } }else{ $(this).removeClass('rangeout rangeoutmin rangeoutmax'); } }); </script> </div>"; */ } else { $div .= "<div style=' margin-top: 7px; width: 75%;'> --- </div>"; } $div .= "</ul></div>"; // Trata o valor minimo para o atributo if ($factor['vlminvalue'] != null && $absoluteFactorValues['min'] == null) { $absoluteFactorValues['min'] = $factor['vlminvalue']; } else { if ($factor['vlminvalue'] < $absoluteFactorValues['min']) { $absoluteFactorValues['min'] = $factor['vlminvalue']; } } // Trata o valor maximo para o atributo if ($factor['vlmaxvalue'] != null && $absoluteFactorValues['max'] == null) { $absoluteFactorValues['max'] = $factor['vlmaxvalue']; } if ($factor['vlmaxvalue'] > $absoluteFactorValues['max']) { $absoluteFactorValues['max'] = $factor['vlmaxvalue']; } } else { if ($fgfactor == 2) { // Fatores masculinos $div .= "<div style='width:{$width}%;'> <ul>"; if ($factor['fggender'] == 1) { $div .= "<li>\r\n " . str_replace(".", ",", $factor['vlminvalue']) . " - " . str_replace(".", ",", $factor['vlmaxvalue']) . "\r\n </li>"; } else { $div .= "<li>\r\n --- \r\n </li>"; } $div .= "</ul> </div>"; // Fatores femininos $div .= "<div style='width:{$width}%;'> <ul>"; if ($factor['fggender'] == 2) { $div .= "<li>\r\n " . str_replace(".", ",", $factor['vlminvalue']) . " - " . str_replace(".", ",", $factor['vlmaxvalue']) . "\r\n </li>"; } else { $div .= "<li>\r\n --- \r\n </li>"; } $div .= "</ul></div>"; // Trata o valor minimo para o atributo if ($factor['vlminvalue'] != null && $absoluteFactorValues['min'] == null) { $absoluteFactorValues['min'] = $factor['vlminvalue']; } else { if ($factor['vlminvalue'] < $absoluteFactorValues['min']) { $absoluteFactorValues['min'] = $factor['vlminvalue']; } } // Trata o valor maximo para o atributo if ($factor['vlmaxvalue'] != null && $absoluteFactorValues['max'] == null) { $absoluteFactorValues['max'] = $factor['vlmaxvalue']; } if ($factor['vlmaxvalue'] > $absoluteFactorValues['max']) { $absoluteFactorValues['max'] = $factor['vlmaxvalue']; } } else { if ($fgfactor == 3) { $div .= "<div style='width:{$width}%;'> <ul>"; if (isset($factor['nrminage']) && $factor['nrminage'] != '' && (isset($factor['nrmaxage']) && $factor['nrmaxage'] != '')) { $div .= "<li>\r\n Entre " . $factor['nrminage'] . " e " . $factor['nrmaxage'] . " Anos\r\n </li>"; } else { if ((!isset($factor['nrminage']) || $factor['nrminage'] == '') && (!isset($factor['nrmaxage']) && $factor['nrmaxage'] == '')) { $div .= "<li>\r\n ---\r\n </li>"; } else { if (!isset($factor['nrmaxage']) && $factor['nrmaxage'] != '') { $div .= "<li>\r\n Abaixo de " . $factor['nrmaxage'] . " Anos\r\n </li>"; } else { $div .= "<li>\r\n Acima de " . $factor['nrminage'] . " Anos\r\n </li>"; } } } $div .= "</ul> </div>"; // Fatores masculinos $div .= "<div style='width:{$width}%;'> <ul>"; if ($factor['fggender'] == 1) { $div .= "<li>\r\n " . str_replace(".", ",", $factor['vlminvalue']) . " - " . str_replace(".", ",", $factor['vlmaxvalue']) . "\r\n </li>"; } else { $div .= "<li>\r\n --- \r\n </li>"; } $div .= "</ul> </div>"; // Fatores femininos $div .= "<div style='width:{$width}%;'> <ul>"; if ($factor['fggender'] == 2) { $div .= "<li>\r\n " . str_replace(".", ",", $factor['vlminvalue']) . " - " . str_replace(".", ",", $factor['vlmaxvalue']) . "\r\n </li>"; } else { $div .= "<li>\r\n --- \r\n </li>"; } $div .= "</ul></div>"; // Trata o valor minimo para o atributo if ($factor['vlminvalue'] != null && $absoluteFactorValues['min'] == null) { $absoluteFactorValues['min'] = $factor['vlminvalue']; } else { if ($factor['vlminvalue'] < $absoluteFactorValues['min']) { $absoluteFactorValues['min'] = $factor['vlminvalue']; } } // Trata o valor maximo para o atributo if ($factor['vlmaxvalue'] != null && $absoluteFactorValues['max'] == null) { $absoluteFactorValues['max'] = $factor['vlmaxvalue']; } if ($factor['vlmaxvalue'] > $absoluteFactorValues['max']) { $absoluteFactorValues['max'] = $factor['vlmaxvalue']; } } } } } $div .= "</div>"; $div .= "</div>"; $ctrlfactor++; } $div .= "\r\n <script> \r\n \$('#appraisal_input_" . $absoluteFactorValues['attributename'] . "').live('keyup', function(){\r\n if( (parseFloat(this.value) < " . ($absoluteFactorValues['min'] == null ? 0 : $absoluteFactorValues['min']) . " || parseFloat(this.value) > " . ($absoluteFactorValues['max'] == null ? 100 : $absoluteFactorValues['max']) . ") && (parseFloat(this.value) != 0 && this.value != '') ){\r\n \$(this).addClass('rangeout');\r\n }else{\r\n \$(this).removeClass('rangeout');\r\n }\r\n });\r\n </script>\r\n "; $ctrlfactor = 1; } } else { $div .= "<div id='emptyAttr'>O Exame não possui Atributos.</div>"; } } $div .= "</div>"; $div .= "\r\n <div style='float: left; width: 100%; margin-top: 10px;' class='div_tags'>\r\n <p style='margin: 5px 10px 10px 10px;'><label>Observações:</label>\r\n <input id='{$randomName}' type='text' class='tags' value='" . (count($tags) > 0 ? $tags[0]['dscomment'] : '') . "' /></p>\r\n <input id='" . $randomName . "_vals' type='text' class='tags_vals' style='display: none;' value='' /></p>\r\n <script> \r\n includeJS('jquery.tagsinput');\r\n includeJS('appraisalcommon'); \r\n includeCSS('jquery.tagsinput');\r\n eval(createTagsInput('{$randomName}'));\r\n </script>\r\n </div>\r\n "; // <!-- Fim da geração do relatório em html --> AppraisalCommon::$refController->view->examsAppraisal = $div; if ($position == $maxPosition && $position == 0) { AppraisalCommon::$refController->view->previousRecord = 0; AppraisalCommon::$refController->view->nextRecord = 0; } else { if ($position == $maxPosition) { AppraisalCommon::$refController->view->previousRecord = 1; AppraisalCommon::$refController->view->nextRecord = 0; } else { if ($position == 0) { AppraisalCommon::$refController->view->previousRecord = 0; AppraisalCommon::$refController->view->nextRecord = 1; } else { AppraisalCommon::$refController->view->previousRecord = 1; AppraisalCommon::$refController->view->nextRecord = 1; } } } } else { // var_dump($exam); die; AppraisalCommon::$refController->view->fieldsetdateinputsnewwindow = $exam; } } else { AppraisalCommon::$refController->view->fieldsetdateinputsnewwindow = -1; } }