Example #1
0
 public function loadRequisicao($id)
 {
     try {
         //carrega a requisição
         $requisicao = new Requisicao($id);
         //adiciona os dados em um array de objeto
         foreach ($requisicao->getItems() as $item) {
             $obj = new stdClass();
             $obj->DataRequisicao = TDate::date2br($requisicao->emissao);
             $obj->NroProcAquisicao = $requisicao->numeroProcesso;
             $obj->NroSrp = $requisicao->srp->numeroSRP;
             $obj->ProcOrig = $requisicao->srp->numeroProcesso;
             $obj->UASG = $requisicao->srp->uasg;
             $obj->NomeLicitacao = $requisicao->srp->nome;
             $obj->SubElemento = $item->subelemento->id;
             $obj->ValidadeAta = TDate::date2br($requisicao->srp->validade);
             $obj->PrazoEntrega = $item->prazoEntrega;
             $obj->EstimativoCampus = CAMPUS;
             $obj->OrcamentoCampus = CAMPUS;
             $obj->CampusDestino = CAMPUS;
             $obj->LocalEntrega = CAMPUS;
             $obj->Item = str_pad($item->numeroItem, 3, '0', STR_PAD_LEFT);
             $obj->DescricaoSumaria = $item->descricaoSumaria;
             $obj->QtdSolicitada = $item->quantidade;
             $obj->ValorLicitadoUnitario = $item->valorUnitario;
             $obj->fornecedor = $item->fornecedor->nome;
             $obj->cnpj = $item->fornecedor->cnpj;
             $obj->contrato = '';
             $obj->justificativa = $item->justificativa;
             $this->array_obj[] = $obj;
         }
         //ordena o array em ordem de fornecedor
         usort($this->array_obj, array("Exportar", "cmp"));
         return true;
     } catch (Exception $ex) {
         throw new Exception($ex->getMessage());
     }
 }
 /**
  * method onReload()
  * Load the datagrid with the database objects
  */
 function onReload($param = NULL)
 {
     try {
         // open a transaction with database 'saciq'
         TTransaction::open('saciq');
         //TTransaction::setLogger(new TLoggerTXT('c:\array\file.txt'));
         // creates a repository for Cessao
         $repository = new TRepository('Cessao');
         $limit = 10;
         // creates a criteria
         $criteria = new TCriteria();
         // default order
         if (empty($param['order'])) {
             $param['order'] = 'id';
             $param['direction'] = 'asc';
         }
         $criteria->setProperties($param);
         // order, offset
         $criteria->setProperty('limit', $limit);
         $criteria->add(new TFilter('aprovado', '=', '1'));
         if (TSession::getValue('CessaoList_filter_numeroCessao')) {
             $criteria->add(TSession::getValue('CessaoList_filter_numeroCessao'));
             // add the session filter
         }
         // load the objects according to criteria
         $objects = $repository->load($criteria, FALSE);
         $this->datagrid->clear();
         if ($objects) {
             // iterate the collection of active records
             foreach ($objects as $object) {
                 if ($object->srp->estaVencida()) {
                     continue;
                 }
                 $object->emissao = TDate::date2br($object->emissao);
                 $object->numeroSRP = $object->srp->numeroSRP;
                 $this->datagrid->addItem($object);
             }
         }
         // close the transaction
         TTransaction::close();
         $this->loaded = true;
     } catch (Exception $e) {
         if ($e->getCode() == 23000) {
             new TMessage('error', '<b>Registro duplicado</b><br>Verifique os campos inseridos e tente novamente');
         } else {
             if ($e->getCode() == 0) {
                 new TMessage('error', '<b>Error</b> <br>' . $e->getMessage());
             } else {
                 new TMessage('error', '<b>Error Desconhecido</b> <br>Código: ' . $e->getCode());
             }
         }
         // desfazer todas as operacoes pendentes
         TTransaction::rollback();
     }
 }
Example #3
0
 /**
  * method onGenerate()
  * Executed whenever the user clicks at the generate button
  */
 function onGenerate()
 {
     try {
         // open a transaction with database 'saciq'
         TTransaction::open('saciq');
         //TTransaction::setLogger(new TLoggerTXT("c:\\array\\LOG" . date("Ymd-His") . ".txt"));
         // get the form data into an active record
         $formdata = $this->form->getData();
         $validadeI = $formdata->validadeI;
         $validadeF = TDate::date2us($formdata->validadeF);
         if (!$validadeI === 0) {
             $validadeI = '0';
         } else {
             $validadeI = TDate::date2us($validadeI);
         }
         $this->form->validate();
         $repository = new TRepository('Srp');
         $criteria = new TCriteria();
         $param['order'] = 'id';
         $param['direction'] = 'desc';
         $criteria->setProperties($param);
         if ($formdata->numeroProcessoI != '' && $formdata->numeroProcessoF != '') {
             $criteria->add(new TFilter('numeroProcesso', 'BETWEEN', "{$formdata->numeroProcessoI}", "{$formdata->numeroProcessoF}"));
         }
         if ($formdata->validadeI != '' && $formdata->validadeF != '') {
             $criteria->add(new TFilter('validade', 'between', "{$validadeI}", "{$validadeF}"));
         }
         if ($formdata->numeroSRPI != '' && $formdata->numeroSRPF != '') {
             $criteria->add(new TFilter('numeroSRP', 'between', "{$formdata->numeroSRPI}", "{$formdata->numeroSRPF}"));
         }
         if ($formdata->numeroIRPI != '' && $formdata->numeroIRPF != '') {
             $criteria->add(new TFilter('numeroIRP', 'between', "{$formdata->numeroIRPI}", "{$formdata->numeroIRPF}"));
         }
         $imprimeZero = true;
         if (isset($formdata->itensZero)) {
             if ($formdata->itensZero === '0') {
                 $imprimeZero = false;
             }
         }
         $srps = $repository->load($criteria, true);
         if ($srps) {
             $this->pdf = new FPDF();
             $this->pdf->AliasNbPages();
             $this->pdf->SetMargins(10, 10, 10);
             $this->pdf->setHeaderCallback(array($this, 'header'));
             $this->pdf->setFooterCallback(array($this, 'footer'));
             $this->pdf->AddPage();
             foreach ($srps as $srp) {
                 $this->data = $srp;
                 $this->srpHeader($imprimeZero);
                 $this->srpItens($imprimeZero);
             }
             if (!file_exists("app/output/RelatorioSrp.pdf") or is_writable("app/output/RelatorioSrp.pdf")) {
                 $this->pdf->Output("app/output/RelatorioSrp.pdf");
             } else {
                 throw new Exception('Permissão negada' . ': ' . "app/output/RelatorioSrp.pdf");
             }
             parent::openFile("app/output/RelatorioSrp.pdf");
             //new TMessage('info', 'Relatório gerado. Por favor, habilite o pop-up do seu browser.');
         } else {
             new TMessage('error', 'Nenhum registro encontrado');
         }
         // fill the form with the active record data
         $this->form->setData($formdata);
         // close the transaction
         TTransaction::close();
     } catch (Exception $e) {
         // in case of exception
         if ($e->getCode() == 23000) {
             new TMessage('error', '<b>Registro duplicado</b><br>Verifique os campos inseridos e tente novamente');
         } else {
             if ($e->getCode() == 0) {
                 new TMessage('error', '<b>Error</b> <br>' . $e->getMessage());
             } else {
                 new TMessage('error', '<b>Error Desconhecido</b> <br>Código: ' . $e->getCode());
             }
         }
         // desfazer todas as operacoes pendentes
         TTransaction::rollback();
     }
 }
Example #4
0
 public function onSelect($param)
 {
     try {
         //var_dump($param);
         $key = $param['key'];
         if (!$key) {
             return;
         }
         TTransaction::open('saciq');
         //$srp = new Srp($key);
         $repository = new TRepository('Srp');
         $criteria = new TCriteria();
         $criteria->add(new TFilter('numeroSRP', '=', $key));
         $srps = $repository->load($criteria);
         if (count($srps) > 0) {
             $srp = $srps[0];
         }
         if ($srp->estaVencida()) {
             new TMessage('error', 'SRP Vencida!');
             return;
         }
         $oldSRP = NULL;
         if ($oldSRP != TSession::getValue('SRP_id')) {
             $oldSRP = TSession::getValue('SRP_id');
         }
         if ($oldSRP != $srp->id) {
             if (TSession::getValue('cessao_itens')) {
                 $reloadForm = true;
             }
             TSession::delValue('cessao_itens');
             $obj = new stdClass();
             $obj->numeroItem = '';
             $obj->descricaoSumaria = '';
             $obj->valorUnitario = '';
             $obj->quantidade = '';
             //$obj->prazoEntrega = '60 Dias';
             //$obj->justificativa = '';
             TForm::sendData('form_itens', $obj);
         }
         TSession::setValue('SRP_id', $srp->id);
         $obj = new stdClass();
         $obj->numeroSRP = $srp->numeroSRP;
         $obj->nome = $srp->nome;
         $obj->numeroProcessoOrigem = $srp->numeroProcesso;
         $obj->uasg = $srp->uasg;
         $obj->validade = TDate::date2br($srp->validade);
         TForm::sendData('form_cessao', $obj);
         TSession::setValue('form_cessao', $obj);
         if (isset($reloadForm) && $reloadForm) {
             TScript::create("__adianti_load_page2('engine.php?class=CessaoForm');");
             //new TScript("__adianti_load_page('engine?class=CessaoForm');");
         }
         //AdiantiCoreApplication::executeMethod('CessaoForm','onReload');
         TTransaction::close();
         parent::closeWindow();
     } catch (Exception $e) {
         $obj = new stdClass();
         $obj->numeroSRP = '';
         $obj->nome = '';
         $obj->numeroProcesso = '';
         $obj->uasg = '';
         $obj->validade = '';
         TForm::sendData('cessao_form', $obj);
         TTransaction::rollback();
     }
 }
Example #5
0
 function onReload($param = null)
 {
     $this->datagrid->clear();
     $key = $param['key'];
     if (!isset($key)) {
         $value = TSession::getValue('srp_form_view_key');
         if (!isset($value)) {
             return;
         }
         $key = $value;
     }
     try {
         TTransaction::open('saciq');
         $srp = new Srp($key);
         if (!isset($srp)) {
             TTransaction::close();
             return;
         }
         $object = new stdClass();
         $object->id = $srp->id;
         $object->numeroSRP = $srp->numeroSRP;
         $object->numeroIRP = $srp->numeroIRP;
         $object->numeroProcesso = $srp->numeroProcesso;
         $object->uasg = $srp->uasg;
         $object->validade = TDate::date2br($srp->validade);
         $object->nome = $srp->nome;
         $object->natureza = $srp->natureza->descricao;
         foreach ($srp->getItems() as $item) {
             $row = $this->datagrid->addItem($item);
         }
         TForm::sendData('SrpFormView', $object);
         TTransaction::close();
     } catch (Exception $e) {
         if ($e->getCode() == 23000) {
             new TMessage('error', '<b>Registro duplicado</b><br>Verifique os campos inseridos e tente novamente');
         } else {
             if ($e->getCode() == 0) {
                 new TMessage('error', '<b>Error</b> <br>' . $e->getMessage());
             } else {
                 new TMessage('error', '<b>Error Desconhecido</b> <br>Código: ' . $e->getCode());
             }
         }
         // desfazer todas as operacoes pendentes
         TTransaction::rollback();
     }
 }
 /**
  * Class constructor
  * Creates the page and the registration form
  */
 function __construct()
 {
     parent::__construct();
     // creates the form
     $this->form = new TForm('form_pessoa');
     // creates a table
     $table_data = new TTable();
     $table_contato = new TTable();
     $notebook = new TNotebook(500, 250);
     // add the notebook inside the form
     $this->form->add($notebook);
     $notebook->appendPage('Dados Principais', $table_data);
     $notebook->appendPage('Contatos', $table_contato);
     // create the form fields
     $idpessoa = new TEntry('idpessoa');
     $nome = new TEntry('nome');
     $dtcadastro = new TDate('dtcadastro');
     $dtnascimento = new TDate('dtnascimento');
     $natureza = new TRadioGroup('natureza');
     $idramoatividade = new TDBCombo('idramoatividade', 'sobcontrole', 'ramoatividade', 'idramoatividade', 'descricao');
     $obs = new TText('obs');
     // add field validators
     $nome->addValidation('Nome', new TRequiredValidator());
     $dtcadastro->addValidation('Data Cadastro', new TRequiredValidator());
     $dtnascimento->addValidation('Data Nascimento', new TRequiredValidator());
     $idramoatividade->addValidation('Ramo de Atividade', new TRequiredValidator());
     $natureza->addValidation('Natureza', new TRequiredValidator());
     $itemNatureza = array();
     $itemNatureza['F'] = 'Física';
     $itemNatureza['J'] = 'Jurídica';
     // add the combo options
     $natureza->addItems($itemNatureza);
     $natureza->setLayout('horizontal');
     // define some properties for the form fields
     $idpessoa->setEditable(FALSE);
     $idpessoa->setSize(100);
     $nome->setSize(320);
     $obs->setSize(320);
     $dtcadastro->setSize(90);
     $dtnascimento->setSize(90);
     $natureza->setSize(70);
     $idramoatividade->setSize(120);
     // add a row for the field code
     $table_data->addRowSet(new TLabel('ID:'), array($idpessoa, new TLabel('Natureza:'), $natureza));
     $table_data->addRowSet(new TLabel('Nome/Fantasia:'), $nome);
     $table_data->addRowSet(new TLabel('Data Cadastro:'), $dtcadastro);
     $table_data->addRowSet(new TLabel('Data Nascimento/Início:'), $dtnascimento);
     $table_data->addRowSet(new TLabel('Ramo de Atividade:'), $idramoatividade);
     $table_data->addRowSet(new TLabel('Observações:'), $obs);
     $row = $table_contato->addRow();
     // adiciona linha
     $cell = $row->addCell(new TLabel('<b>Contatos</b>'));
     // adiciona celular na linha
     $cell->valign = 'top';
     // define alinhamento
     $listacontatos = new TMultiField('listacontatos');
     // cria multifield
     // com TDBSeekButton
     //$idtipocontato= new TDBSeekButton('idtipocontato', 'sobcontrole', $this->form->getName(), 'tipocontato', 'descricao', 'listacontatos_idtipocontato', 'listacontatos_descricaotipocontato');
     // com  TSeekButton
     /*$idtipocontato= new TSeekButton('idtipocontato');
       $auxidtipocontato = new BuscaTipoContato;
       $auxaction= new TAction(array($auxidtipocontato,'onReload'));
       $idtipocontato->setAction($auxaction);*/
     $idtipocontato = new TDBCombo('idtipocontato', 'sobcontrole', 'tipocontato', 'idtipocontato', 'descricao', 'descricao');
     $descricaotipocontato = new \Adianti\Widget\Form\THidden('tipocontato->descricao');
     //$descricaotipocontato->setEditable(false);
     $valorcontato = new TEntry('valorcontato');
     $listacontatos->setClass('contato');
     // define the returning class
     // colunas do multifield
     // coluna do ID do tipo de contato (1->email, 2->telefone, etc...)
     $listacontatos->addField('idtipocontato', 'ID: ', $idtipocontato, 40);
     // coluna da descricao do tipo de contato
     //                        desta forma o grid OK
     $listacontatos->addField('tipocontato->descricao', '', $descricaotipocontato, 200);
     //                        desta forma o TDBSeekButton fica OK.
     //$listacontatos->addField('descricaotipocontato', 'Descrição Tipo Contato: ', $descricaotipocontato, 200);
     // coluna com o valor do contato, número do telefone, celular, etc.
     $listacontatos->addField('descricao', 'Valor Contato: ', $valorcontato, 200);
     $listacontatos->setHeight(250);
     $row = $table_contato->addRow();
     $row->addCell($listacontatos);
     // create an action button
     $button1 = new TButton('action1');
     $button1->setAction(new TAction(array($this, 'onSave')), 'Salvar');
     $button1->setImage('ico_save.png');
     // create an action button (go to list)
     $button2 = new TButton('list');
     $button2->setAction(new TAction(array('PessoaDataGrid', 'onReload')), 'Listar');
     $button2->setImage('ico_datagrid.gif');
     $button0 = new TButton('new');
     $button0->setAction(new TAction(array($this, 'onClear')), 'Novo');
     $button0->setImage('ico_new.png');
     // define wich are the form fields
     $this->form->setFields(array($idpessoa, $nome, $dtcadastro, $dtnascimento, $natureza, $idramoatividade, $obs, $listacontatos, $button0, $button1, $button2));
     $subtable = new TTable();
     $row = $subtable->addRow();
     $row->addCell($button0);
     $row->addCell($button1);
     $row->addCell($button2);
     // wrap the page content
     $vbox = new TVBox();
     $vbox->add(new TXMLBreadCrumb('menu.xml', __CLASS__));
     $vbox->add($this->form);
     $vbox->add($subtable);
     // add the form inside the page
     parent::add($vbox);
 }
Example #7
0
 public function onSave($param)
 {
     try {
         $this->form_requisicao->validate();
         // validate form data
         $form_requisicao_data = $this->form_requisicao->getData();
         $form_requisicao = TSession::getValue('form_requisicao');
         $form_requisicao->numeroProcesso = $form_requisicao_data->numeroProcesso;
         $form_requisicao->emissao = $form_requisicao_data->emissao;
         $requisicao_itens = TSession::getValue('requisicao_itens');
         if (!isset($requisicao_itens) || count($requisicao_itens) == 0) {
             new TMessage('error', 'Insira ao menos 1 item');
             return;
         }
         TTransaction::open('saciq');
         //TTransaction::setLogger(new \Adianti\Log\TLoggerTXT("c:\\array\\LOG".date("Ymd-His").".txt"));
         if ($requisicao_itens) {
             $id = isset($form_requisicao->id) ? $form_requisicao->id : NULL;
             $requisicao = new Requisicao($id);
             // create a new Sale
             $requisicao->clearParts();
             $requisicao->numeroProcesso = $form_requisicao->numeroProcesso;
             $requisicao->emissao = TDate::date2us($form_requisicao->emissao);
             //if (!$requisicao->emissao){
             //    $requisicao->emissao = date("Y-m-d");
             //}
             $requisicao->aprovado = 0;
             $requisicao->srp = new Srp(TSession::getValue("SRP_id"));
             foreach ($requisicao_itens as $item) {
                 $item_requisicao = new Item($item->item_id);
                 $item_requisicao->justificativa = $item->justificativa;
                 $item_requisicao->quantidade = $item->quantidade;
                 $item_requisicao->prazoEntrega = $item->prazoEntrega;
                 $item_requisicao->quantidade = str_replace('.', '', $item->quantidade);
                 $item_requisicao->quantidade = str_replace(',', '.', $item->quantidade);
                 $requisicao->addItem($item_requisicao);
                 // add the item to the Sale
             }
             $requisicao->store();
             // store the Sale
             TSession::delValue('requisicao_itens');
             TSession::delValue('form_requisicao');
             TSession::delValue('SRP_id');
             new TMessage('info', 'Requisição salva');
         }
         TTransaction::close();
         $this->onReload();
     } catch (Exception $e) {
         if ($e->getCode() == 23000) {
             new TMessage('error', '<b>Registro duplicado</b><br>Verifique os campos inseridos e tente novamente');
         } else {
             if ($e->getCode() == 0) {
                 new TMessage('error', '<b>Error</b> <br>' . $e->getMessage());
             } else {
                 new TMessage('error', '<b>Error Desconhecido</b> <br>Código: ' . $e->getCode());
             }
         }
     }
 }
Example #8
0
 /**
  * 
  */
 public function makeTDate($properties)
 {
     $widget = new TDate((string) $properties->{'name'});
     $widget->setValue((string) $properties->{'value'});
     $widget->setSize((int) $properties->{'width'});
     $widget->setEditable((string) $properties->{'editable'});
     if ((string) $properties->{'mask'}) {
         $widget->setMask((string) $properties->{'mask'});
     }
     if (isset($properties->{'tip'})) {
         $widget->setTip((string) $properties->{'tip'});
     }
     if (isset($properties->{'required'}) and $properties->{'required'} == '1') {
         $widget->addValidation((string) $properties->{'name'}, new TRequiredValidator());
     }
     $this->fields[] = $widget;
     $this->fieldsByName[(string) $properties->{'name'}] = $widget;
     return $widget;
 }
Example #9
0
 public function onGenerate($param)
 {
     //var_dump($param);
     $this->B = 0;
     $this->I = 0;
     $this->U = 0;
     $this->HREF = '';
     $data = $this->form->getData();
     $id = $data->cessao_id;
     $this->pdf = new FPDF();
     $this->pdf->AliasNbPages();
     setlocale(LC_ALL, 'pt_BR', 'pt_BR.utf-8', 'pt_BR.utf-8', 'portuguese');
     try {
         TTransaction::open('saciq');
         $this->form->validate();
         $cessao = new Cessao($id);
         $itens_list = $cessao->getItems();
         if (count($itens_list) == 0) {
             new TMessage('error', 'Nenhum item encontrado na cessão');
             $this->form->sendData('doc_cessao_form', $data);
             return;
         }
         $memorando = utf8_decode($data->memorando);
         $emissao = TDate::date2us($data->emissao);
         $repository = new TRepository('Campus');
         $criteria = new TCriteria();
         $criteria->add(new TFilter('sigla', '=', CAMPUS));
         $campus_list = $repository->load($criteria);
         $campus = $campus_list[0];
         $this->cidade = $campus->nome;
         $destino = strtoupper($data->campusNome);
         $this->gerente = $data->gerente;
         $this->diretor = $data->diretor;
         $emissao = strtotime($emissao);
         $mes = ucfirst(strftime('%B', $emissao));
         $emissao = $this->cidade . ', ' . strftime(" %d de {$mes} de %Y.", $emissao);
         $srp = $cessao->srp->numeroSRP;
         $natureza = $cessao->srp->natureza->descricao;
         $nomeSrp = $cessao->srp->nome;
         //$this->pdf->Open();
         $this->pdf->SetMargins(25, 20, 25);
         $this->pdf->setHeaderCallback(array($this, 'Header'));
         //$this->pdf->setFooterCallback(array($this, 'Footer'));
         $this->pdf->AddPage();
         $this->pdf->SetFont('Times', '', 12);
         //$this->pdf->Cell(15);
         $this->pdf->Cell(0, 5, "{$memorando}", 0, 1);
         $this->pdf->Ln(10);
         $this->pdf->Cell(0, 5, $emissao, 0, 0, 'R');
         $this->pdf->Ln(10);
         $this->pdf->Cell(0, 5, utf8_decode('À'), 0, 1);
         $this->pdf->Cell(0, 5, utf8_decode("GERÊNCIA ADMINISTRATIVA DO CAMPUS {$destino}"));
         $this->pdf->Ln(10);
         $this->pdf->SetFont('Times', 'B', 12);
         $this->pdf->MultiCell(0, 5, utf8_decode("ASSUNTO: CESSÃO DE QUANTITATIVO - SRP {$srp} - {$natureza} - {$nomeSrp}"));
         $this->pdf->SetFont('Times', '', 12);
         $this->pdf->Ln(15);
         $this->pdf->SetX(21);
         $this->WriteHTML(utf8_decode("1.Conforme solicitação, autorizamos a utilização do quantitativo abaixo referido," . "referente a estimativa do Câmpus Capivari para a <B>SRP {$srp} - {$natureza} - {$nomeSrp}</B>"));
         $this->pdf->Ln(10);
         //cabecalho da tabela
         $y = $this->pdf->GetY();
         $x = $this->pdf->GetX();
         $this->pdf->SetFont('Times', 'B', 12);
         $width = array(18, 107, 38);
         $this->pdf->MultiCell($width[0], 10, utf8_decode('ITEM'), 1, 'C');
         $this->pdf->SetXY($x += $width[0], $y);
         $this->pdf->MultiCell($width[1], 10, utf8_decode("DESCRIÇÃO"), 1, 'C');
         $this->pdf->SetXY($x += $width[1], $y);
         $this->pdf->MultiCell($width[2], 10, utf8_decode('QUANT.'), 1, 'C');
         $this->pdf->SetFont('Times', '', 12);
         $this->pdf->ln(0);
         $y = $this->pdf->GetY();
         $x = $this->pdf->GetX();
         usort($itens_list, array("DocCessaoForm", "cmp"));
         //preencher a tabela
         foreach ($itens_list as $item) {
             $numeroItem = $item->numeroItem;
             $descricaoSumaria = substr($item->descricaoSumaria, 0, 80);
             $quantidade = $item->quantidade;
             $t1 = $this->pdf->GetStringWidth($descricaoSumaria);
             $tamanhoTexto = $t1;
             $tamanhoDesc = $width[1];
             $qtdLinha = 1;
             $offset = 0;
             $atualSize = 0;
             while (true) {
                 $pos = strpos($descricaoSumaria, ' ', $offset);
                 if ($pos === FALSE) {
                     while ($tamanhoTexto > $tamanhoDesc) {
                         $qtdLinha++;
                         $tamanhoTexto -= $tamanhoDesc;
                     }
                     break;
                 }
                 $textCompare = substr($descricaoSumaria, $offset, $pos - $offset);
                 $textSize = $this->pdf->GetStringWidth($textCompare . ' ');
                 if ($textSize + $atualSize > $tamanhoDesc) {
                     $qtdLinha++;
                     $tamanhoTexto -= $atualSize;
                     $atualSize = 0;
                 } else {
                     $atualSize += $textSize;
                     $offset = $pos + 1;
                 }
             }
             if ($qtdLinha == 1) {
                 $qtdLinha = 2;
             }
             $alturaLinha = 5 * $qtdLinha;
             if ($this->pdf->GetY() + $alturaLinha > 280) {
                 $this->pdf->Cell(array_sum($width), 0, '', 'T');
                 $this->pdf->AddPage();
                 $y = $this->pdf->GetY();
                 $x = $this->pdf->GetX();
             }
             $this->pdf->MultiCell($width[0], $alturaLinha, utf8_decode($numeroItem), 'LRT', 'C');
             $this->pdf->SetXY($x += $width[0], $y);
             $this->pdf->MultiCell($width[1], 5, utf8_decode($descricaoSumaria), 'LRT', 'J');
             $this->pdf->SetXY($x += $width[1], $y);
             $this->pdf->MultiCell($width[2], $alturaLinha, utf8_decode($quantidade), 'LRT', 'C');
             $this->pdf->Ln(0);
             $y = $this->pdf->GetY();
             $x = $this->pdf->GetX();
         }
         $this->pdf->Cell(array_sum($width), 0, '', 'T');
         if ($this->pdf->GetY() + $alturaLinha > 210) {
             $this->pdf->AddPage();
             $this->ImprimiNoRodape = false;
         } else {
             $this->ImprimiNoRodape = true;
         }
         $this->Footer();
         if (!file_exists("app/output/doc.pdf") or is_writable("app/output/doc.pdf")) {
             $this->pdf->Output("app/output/doc.pdf");
         } else {
             throw new Exception('Permissão negada' . ': ' . "app/output/doc.pdf");
         }
         parent::openFile('app/output/doc.pdf');
         $this->form->sendData('doc_cessao_form', $data);
         TTransaction::close();
     } catch (Exception $e) {
         if ($e->getCode() == 23000) {
             new TMessage('error', '<b>Registro duplicado</b><br>Verifique os campos inseridos e tente novamente');
         } else {
             if ($e->getCode() == 0) {
                 new TMessage('error', '<b>Error</b> <br>' . $e->getMessage());
             } else {
                 new TMessage('error', '<b>Error Desconhecido</b> <br>Código: ' . $e->getCode());
             }
         }
         // desfazer todas as operacoes pendentes
         TTransaction::rollback();
     }
 }
Example #10
0
 public function onSave($param)
 {
     try {
         $this->form_cessao->validate();
         // validate form data
         $form_cessao_data = $this->form_cessao->getData();
         $form_cessao = TSession::getValue('form_cessao');
         $form_cessao->numeroCessao = $form_cessao_data->numeroCessao;
         $form_cessao->campusID = $form_cessao_data->campusID;
         $form_cessao->campusNome = $form_cessao_data->campusNome;
         $form_cessao->emissao = $form_cessao_data->emissao;
         $cessao_itens = TSession::getValue('cessao_itens');
         if (!isset($cessao_itens) || count($cessao_itens) == 0) {
             new TMessage('error', 'Insira ao menos 1 item');
             return;
         }
         TTransaction::open('saciq');
         if ($cessao_itens) {
             $id = isset($form_cessao->id) ? $form_cessao->id : NULL;
             $cessao = new Cessao($id);
             // create a new Sale
             $cessao->clearParts();
             $cessao->numeroCessao = $form_cessao->numeroCessao;
             $cessao->campus = new Campus($form_cessao->campusID);
             $cessao->emissao = TDate::date2us($form_cessao->emissao);
             //if (!$cessao->emissao){
             //    $cessao->emissao = date("Y-m-d");
             //}
             $cessao->aprovado = 0;
             $cessao->srp = new Srp(TSession::getValue('SRP_id'));
             foreach ($cessao_itens as $item) {
                 $item_cessao = new Item($item->item_id);
                 $item_cessao->quantidade = $item->quantidade;
                 $item_cessao->quantidade = str_replace('.', '', $item->quantidade);
                 $item_cessao->quantidade = str_replace(',', '.', $item->quantidade);
                 $cessao->addItem($item_cessao);
                 // add the item to the Sale
             }
             $cessao->store();
             // store the Sale
             TSession::delValue('cessao_itens');
             TSession::delValue('form_cessao');
             TSession::delValue('SRP_id');
             new TMessage('info', 'Cessão salva');
         }
         TTransaction::close();
         $this->onReload();
     } catch (Exception $e) {
         if ($e->getCode() == 23000) {
             new TMessage('error', '<b>Registro duplicado</b><br>Verifique os campos inseridos e tente novamente');
         } else {
             if ($e->getCode() == 0) {
                 new TMessage('error', '<b>Error</b> <br>' . $e->getMessage());
             } else {
                 new TMessage('error', '<b>Error Desconhecido</b> <br>Código: ' . $e->getCode());
             }
         }
     }
 }
Example #11
0
 public function rowFormat($date, $object, $row)
 {
     if ($object->estaVencida(TDate::date2us($date))) {
         $row->style = "background: #FFDADE";
     }
     return $date;
 }
Example #12
0
 function onReload($param)
 {
     $this->dg_UltImportacao->clear();
     $this->dg_UltRequisicao->clear();
     $this->dg_UltCesssao->clear();
     $this->dg_SRPAVencer->clear();
     try {
         TTransaction::open('saciq');
         //TTransaction::setLogger(new TLoggerTXT("c:\\array\\LOG".date("Ymd-His").".txt"));
         //ultimas importações
         $criteriaUI = new TCriteria();
         $param['order'] = 'id';
         $param['direction'] = 'desc';
         $criteriaUI->setProperties($param);
         $criteriaUI->setProperty('limit', 8);
         $repositoryUI = new TRepository('Srp');
         $srps = $repositoryUI->load($criteriaUI, false);
         foreach ($srps as $srp) {
             $srp->validade = TDate::date2br($srp->validade);
             $this->dg_UltImportacao->addItem($srp);
         }
         //ultimas Requisições
         $criteriaUR = new TCriteria();
         $param['order'] = 'emissao';
         $param['direction'] = 'desc';
         $criteriaUR->setProperties($param);
         $criteriaUR->setProperty('limit', 8);
         $repositoryUR = new TRepository('Requisicao');
         $requisicoes = $repositoryUR->load($criteriaUR, false);
         foreach ($requisicoes as $requisicao) {
             $requisicao->numeroSRP = $requisicao->srp->numeroSRP;
             $requisicao->aprovado = $requisicao->aprovado == 0 ? 'Não' : 'Sim';
             $requisicao->emissao = TDate::date2br($requisicao->emissao);
             $this->dg_UltRequisicao->addItem($requisicao);
         }
         //Atas a vencer
         $criteriaAV = new TCriteria();
         $param['order'] = 'validade';
         $param['direction'] = 'asc';
         $criteriaAV->setProperties($param);
         $criteriaAV->setProperty('limit', 8);
         $criteriaAV->add(new TFilter('validade', '>=', date("Y-m-d")));
         $repositoryAV = new TRepository('Srp');
         $atasAVencer = $repositoryAV->load($criteriaAV, false);
         foreach ($atasAVencer as $atas) {
             $atas->validade = TDate::date2br($atas->validade);
             $this->dg_SRPAVencer->addItem($atas);
         }
         //ultimas Cessões
         $criteriaUC = new TCriteria();
         $param['order'] = 'emissao';
         $param['direction'] = 'desc';
         $criteriaUC->setProperties($param);
         $criteriaUC->setProperty('limit', 8);
         $repositoryUC = new TRepository('Cessao');
         $cessoes = $repositoryUC->load($criteriaUC, false);
         foreach ($cessoes as $cessao) {
             $cessao->numeroSRP = $cessao->srp->numeroSRP;
             $cessao->aprovado = $cessao->aprovado == 0 ? 'Não' : 'Sim';
             $cessao->emissao = TDate::date2br($cessao->emissao);
             $this->dg_UltCesssao->addItem($cessao);
         }
         $this->loaded = true;
         TTransaction::close();
     } catch (Exception $e) {
         if ($e->getCode() == 23000) {
             new TMessage('error', '<b>Registro duplicado</b><br>Verifique os campos inseridos e tente novamente');
         } else {
             if ($e->getCode() == 0) {
                 new TMessage('error', '<b>Error</b> <br>' . $e->getMessage());
             } else {
                 new TMessage('error', '<b>Error Desconhecido</b> <br>Código: ' . $e->getCode());
             }
         }
         // desfazer todas as operacoes pendentes
         TTransaction::rollback();
     }
 }