public function selectedclientAction()
 {
     $cdclient = $_POST["cdclient"];
     //$cdrequest = $_POST[""];
     //print_r($_POST);
     $addressTypeModel = new AddresstypeModel();
     $clientModel = new ClientModel();
     $client = $clientModel->fetchRow($clientModel->getClientByCdClient($cdclient));
     $dtbirth = new Zend_Date($client['dtbirth'], 'dd-MM-YYYY');
     $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($client['dtbirth']);
     if ($tdMonth < $month || $tdMonth == $month && $tdDay < $day) {
         $nrage--;
     }
     $selectedClient = array();
     $selectedClient['fgsex'] = $client['fgsex'];
     $selectedClient['dtbirth'] = $dtbirth->toString('dd-MM-YYYY');
     $selectedClient['nrage'] = $nrage;
     //   $selectedClient['cdrequest'] = $cdrequest;
     // Busca apenas convênios Ativos(fgactive = 1)
     $clientCovenantModel = new ClientcovenantModel();
     $covenantData = $clientCovenantModel->fetchAll($clientCovenantModel->getClientCovenantsByCdClient($cdclient));
     $covenantArray = array();
     foreach ($covenantData as $covenant) {
         $covenantRow['cdcovenant'] = $covenant['cdcovenant'];
         $covenantRow['idcovenantcard'] = $covenant['idcovenantcard'];
         $covenantRow['nmcardholder'] = $covenant['nmcardholder'];
         $covenantRow['nmcovenant'] = $covenant['nmcovenant'];
         $covenantArray[] = $covenantRow;
     }
     $selectedClient['covenantData'] = $covenantArray;
     $this->view->selectedClient = $selectedClient;
 }
    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
    }
 public function dadosAction()
 {
     $this->_helper->layout->disableLayout();
     $page = $this->_request->getParam("page", 1);
     $limit = $this->_request->getParam("rows");
     $sidx = $this->_request->getParam("sidx", 1);
     $sord = $this->_request->getParam("sord");
     $array = $this->_request->getParams();
     $clientModel = new ClientModel();
     $covenantModel = new CovenantModel();
     $opernatureModel = new OpernatureModel();
     $supplierModel = new SupplierModel();
     $total_pages = 0;
     if (isset($array['secondperiod']) && $array['secondperiod'] != '') {
         $array['secondperiod'] = new Zend_Date($array['secondperiod'], 'dd-MM-YYYY HH:mm:ss');
         $array['secondperiod'] = $array['secondperiod']->toString('YYYY-MM-dd HH:mm:ss');
     }
     if (isset($array['firstperiod']) && $array['firstperiod'] != '') {
         $array['firstperiod'] = new Zend_Date($array['firstperiod'], 'dd-MM-YYYY HH:mm:ss');
         $array['firstperiod'] = $array['firstperiod']->toString('YYYY-MM-dd HH:mm:ss');
     }
     $accountentryData = $this->_model->fetchAll($this->_model->getAccountGridParams($array, $sidx, $sord, $limit, $page));
     $count = count($accountentryData);
     if ($page > $total_pages) {
         $page = $total_pages;
     } else {
         $total_pages = 0;
     }
     $responce = new stdClass();
     $responce->page = $page;
     $responce->total = $total_pages;
     $responce->records = $count;
     $i = 0;
     foreach ($accountentryData as $rows) {
         $favored = '';
         $nmopernature = '';
         $fgaccountcheck = '';
         $fgaccountentrytype = '';
         switch ($rows->fgaccountentrytype) {
             case '1':
                 $fgaccountentrytype = 'À Pagar';
                 break;
             case '2':
                 $fgaccountentrytype = 'À Receber';
                 break;
         }
         switch ($rows->fgactive) {
             case '2':
                 $fgactive = 'Inativo';
                 break;
             case '1':
                 $fgactive = 'Ativo';
                 break;
         }
         switch ($rows->fgaccountcheck) {
             case '0':
                 $fgaccountcheck = 'Pendente';
                 break;
             case '1':
                 $fgaccountcheck = 'Baixa Realizada';
                 break;
         }
         if ($rows->fgclienttype == 'a') {
             if ($rows->cdclient != null && $rows->cdclient != '') {
                 $clientData = $clientModel->fetchRow('cdclient = ' . $rows->cdclient);
                 $favored = $clientData['nmclient'];
             }
         } elseif ($rows->fgclienttype == 'b') {
             if ($rows->cdclient != null && $rows->cdclient != '') {
                 $clientData = $covenantModel->fetchRow('cdcovenant = ' . $rows->cdclient);
                 $favored = $clientData['nmcovenant'];
             }
         }
         if ($rows->fgaccountcheck != null && $rows->fgaccountcheck != '0') {
             if ($rows->cdopernature != '') {
                 $opernatureData = $opernatureModel->fetchRow('cdopernature = ' . $rows->cdopernature);
                 $nmopernature = $opernatureData['nmopernature'];
             }
         }
         if ($rows->cdsupplier != '' && $rows->cdsupplier != null) {
             $supplierData = $supplierModel->fetchRow('cdsupplier = ' . $rows->cdsupplier);
             $favored = $supplierData['nmsupplier'];
         }
         $responce->rows[$i]['cdaccountentry'] = $rows->cdaccountentry;
         $responce->rows[$i]['cell'] = array($rows->nraccountentry, $fgaccountentrytype, $favored, $fgaccountcheck, $fgactive, $nmopernature, $rows->cdaccountentry);
         $i++;
     }
     $this->view->dados = $responce;
 }
 public function covenantbillingdataAction()
 {
     // FUNÇÃO QUE REALIZA A PESQUISA / FILTROS
     $cdcovenant = $this->_request->getParam('cdcovenant');
     $cdcompanyparent = $this->_request->getParam('cdcompanyparent');
     $dtstart = $this->_request->getParam('dtstart');
     $dtend = $this->_request->getParam('dtend');
     if (isset($dtstart) && $dtstart != '') {
         $dtstart = new Zend_Date($dtstart, 'dd-MM-YYYY HH:mm:ss');
         $dtstart = $dtstart->toString('YYYY-MM-dd HH:mm:ss');
     }
     if (isset($dtend) && $dtend != '') {
         $dtend = new Zend_Date($dtend, 'dd-MM-YYYY HH:mm:ss');
         $dtend = $dtend->toString('YYYY-MM-dd HH:mm:ss');
     }
     $responce = 0;
     $convenantModel = new CovenantModel();
     $clientModel = new ClientModel();
     $requestModel = new RequestModel();
     $covenantbillingData = $requestModel->fetchAll($requestModel->getRequestsUnbilled($cdcovenant, $cdcompanyparent, $dtstart, $dtend));
     $responce = new stdClass();
     if (count($covenantbillingData) > 0) {
         $i = 0;
         foreach ($covenantbillingData as $rows) {
             $nmclient = '';
             $cdclient = '';
             $nmconvenant = '';
             $cdcovenant = '';
             $rows['dtrequest'] = new Zend_Date($rows['dtrequest'], 'YYYY-MM-dd HH:mm:ss');
             $rows['dtrequest'] = $rows['dtrequest']->toString('dd/MM/yyyy');
             if ($rows['cdclient'] != null) {
                 $clientData = $clientModel->fetchRow('cdclient=' . $rows['cdclient']);
                 $nmclient = $clientData['nmclient'];
                 $cdclient = $clientData['cdclient'];
             }
             if ($rows['cdcovenant'] != null) {
                 $convenantData = $convenantModel->fetchRow('cdcovenant=' . $rows['cdcovenant']);
                 $nmconvenant = $convenantData->nmcovenant;
                 $cdcovenant = $convenantData['cdcovenant'];
             }
             $responce->rows[$i]['cdrequest'] = $rows['cdrequest'];
             $responce->rows[$i]['cell'] = array($rows['cdrequest'], $rows['dtrequest'], $nmclient, $nmconvenant, $rows['nrguide'], $cdclient, $cdcovenant);
             $i++;
         }
         $this->view->covenantbillingdata = $responce;
     } else {
         $this->view->covenantbillingdata = 'vazio';
     }
 }
 public function printcardAction()
 {
     $cdclient = $this->_request->getParam("cdclient");
     $clientModel = new ClientModel();
     $clientCode = $clientModel->fetchRow('cdclient = ' . $cdclient);
     $array = array();
     $array['nome'] = $clientCode->nmclient;
     $data = new Zend_Date($clientCode->dtbirth, "YYYY-MM-dd HH:mm:ss");
     $clientCode->dtbirth = $data->toString('dd-MM-YYYY');
     $array['nascimento'] = $clientCode->dtbirth;
     if ($clientCode->fgbloodtype == 1) {
         $array['sangue'] = 'O';
     } else {
         if ($clientCode->fgbloodtype == 2) {
             $array['sangue'] = 'A';
         } else {
             if ($clientCode->fgbloodtype == 3) {
                 $array['sangue'] = 'B';
             } else {
                 if ($clientCode->fgbloodtype == 0) {
                     $array['sangue'] = '';
                 }
             }
         }
     }
     if ($clientCode->fgrhfactor == 1) {
         $array['RH'] = 'Positivo';
     } else {
         if ($clientCode->fgrhfactor == 2) {
             $array['RH'] = 'Negativo';
         } else {
             if ($clientCode->fgrhfactor == 0) {
                 $array['RH'] = '';
             }
         }
     }
     echo "<div id='div_box'>\r\n               Nome: " . ucwords(strtolower($array['nome'])) . "<br>\r\n               Data de Nascimento: " . $array['nascimento'] . "<br>\r\n               Grupo Sanguíneo: " . $array['sangue'] . "<br>\r\n               Fator RH: " . $array['RH'] . "<br>\r\n             </div>";
 }