*
 * Este programa é distribuíção na esperança que possa ser útil, mas SEM NENHUMA GARANTIA; sem
 * uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou APLICAÇÃO EM PARTICULAR. Veja a
 * Licença Pública Geral GNU/GPL em português para maiores detalhes.
 * Você deve ter recebido uma cópia da Licença Pública Geral GNU, sob o título "LICENCA.txt",
 * junto com este programa, se não, acesse o Portal do Software Público Brasileiro no endereço
 * www.softwarepublico.gov.br ou escreva para a Fundação do Software Livre(FSF)
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301, USA
 * */
if ($_POST) {
    try {
        switch ($_POST['acao']) {
            case 'get':
                try {
                    /* TMP */
                    $out = DaoAssuntoDocumento::getAssunto($_POST['valor']);
                    $out['success'] = 'true';
                } catch (Exception $e) {
                    $out = array('success' => "false", 'error' => $e->getMessage());
                }
                break;
            case 'unique':
                $assunto = new AssuntoDocumento($_POST);
                $out = DaoAssuntoDocumento::uniqueAssunto($assunto)->toArray();
                break;
            case 'cadastrar':
                $assunto = new AssuntoDocumento($_POST);
                $out = DaoAssuntoDocumento::inserirAssunto($assunto)->toArray();
                break;
            case 'alterar':
                $assunto = new AssuntoDocumento($_POST);
 $doc = DaoDocumentoDemanda::getDocumento((int) $idDocumento);
 if ($doc === false) {
     throw new Exception("Documento{$digDocumento} não localizado para exportação.");
 }
 /* Será um arquivo para cada documento
  * nome do arquivo = TipoDocumento#######.txt, onde ####### = digital
  */
 $nomeArq = StringUtil::getCamelCase($doc['tipo']) . $doc['digital'] . '.txt';
 $fp = fopen($pastaTmp . $nomeArq, 'w');
 //Impressão da capa
 fwrite($fp, "Caderno de Respostas\n\n" . $doc['interessado'] . "\n\n" . date("Y") . "\n\n");
 //Converter datas
 $doc['dt_entrada'] = Util::formatDate($doc['dt_entrada']);
 $doc['dt_documento'] = Util::formatDate($doc['dt_documento']);
 $doc['dt_prazo'] = Util::formatDate($doc['dt_prazo']);
 $doc['id_assunto'] = DaoAssuntoDocumento::getAssunto($doc['id_assunto'], 'assunto');
 $doc['procedencia'] = $doc['procedencia'] == 'I' ? 'Interna' : 'Externa';
 $buscarPrazos = false;
 $buscarPPA = false;
 $buscarExecOrc = false;
 foreach ($arrOpcSel as $opt) {
     if (substr($opt, 0, 3) == 'doc') {
         $arrTmp = getOpcao($arrOpcoes, 'id', $opt);
         fwrite($fp, $arrTmp[0]['label'] . ': ' . $doc[$arrTmp[0]['campo']] . "\n");
     } elseif (substr($opt, 0, 3) == 'prz') {
         if ($opt == 'prz-ppa') {
             $buscarPPA = true;
         } elseif ($opt == 'prz-exec_orc') {
             $buscarExecOrc = true;
         } else {
             $buscarPrazos = true;
Exemplo n.º 3
0
/**
 * 
 */
function geraPdfSic(Documento $documento)
{
    //ENDEREÇO ONDE SERÁ GERADO O PDF
    $end_final = __CAM_UPLOAD__ . '/' . aleatorio() . ".pdf";
    $tipo_pdf = "F";
    //PREPARA PARA GERAR O PDF
    $pdf = new PDFSic($documento);
    $pdf->SetFont('times', '', 12);
    $pdf->AliasNbPages();
    $pdf->AddPage();
    $pdf->ln(2);
    $pdf->SetFont('Arial', '', 9);
    $pdf->Text(170, 12, __ETIQUETA__);
    $pdf->Code128(165, 14, $documento->digital, 30, 9);
    $pdf->Text(173, 27, $documento->digital);
    $pdf->Cell(5, 5, "", 0, 0, 'C');
    $pdf->Cell(180, 5, "", 0, 0, 'R');
    $pdf->Cell(5, 5, "", 0, 1, 'L');
    $pdf->SetFont("Arial", "B", 8);
    $pdf->Cell(180, 5, utf8_decode("Informações do Documento"), 0, 1, 'C');
    $pdf->Cell(5, 5, "", 0, 0, 'C');
    $pdf->SetFont("Arial", "B", 8);
    $pdf->Cell(16, 5, "DIGITAL: ", 0, 0, 'L');
    $pdf->SetFont("Arial", "", 8);
    $pdf->Cell(100, 5, $pdf->documento->digital, 0, 0, 'L');
    $pdf->SetFont("Arial", "B", 8);
    $pdf->Cell(27, 5, "Data do Documento:  ", 0, 0, 'L');
    $pdf->SetFont("Arial", "", 8);
    $pdf->Cell(40, 5, $pdf->documento->data_documento, 0, 1, 'R');
    $pdf->Cell(5, 5, "", 0, 0, 'C');
    $pdf->SetFont("Arial", "B", 8);
    $pdf->Cell(16, 5, "Origem:", 0, 0, 'L');
    $pdf->SetFont("Arial", "", 8);
    $pdf->Cell(100, 5, utf8_decode($pdf->documento->origem), 0, 0, 'L');
    $pdf->SetFont("Arial", "B", 8);
    $pdf->Cell(27, 5, utf8_decode("Número Solicitação:  "), 0, 0, 'L');
    $pdf->SetFont("Arial", "", 8);
    $pdf->Cell(40, 5, utf8_decode($pdf->documento->numero), 0, 1, 'R');
    $pdf->Cell(5, 5, "", 0, 0, 'C');
    $pdf->SetFont("Arial", "B", 8);
    $pdf->Cell(16, 5, "Solicitante:", 0, 0, 'L');
    $pdf->SetFont("Arial", "", 8);
    $pdf->Cell(100, 5, utf8_decode($pdf->documento->nome), 0, 0, 'L');
    if (!is_null($pdf->documento->cpf)) {
        // Existe CPF/CNPJ para esta solicitação
        // Descobrir qual deles
        $rotulo = "CPF:  ";
        if (strlen($pdf->documento->cpf) > 14) {
            // CNPJ
            $rotulo = "CNPJ:  ";
        }
        $pdf->SetFont("Arial", "B", 8);
        $pdf->Cell(27, 5, $rotulo, 0, 0, 'L');
        $pdf->SetFont("Arial", "", 8);
        $pdf->Cell(40, 5, $pdf->documento->cpf, 0, 0, 'R');
    } else {
        if (!is_null($pdf->documento->email)) {
            // Existe email para esta solicitação
            $pdf->SetFont("Arial", "B", 8);
            $pdf->Cell(27, 5, "Email: ", 0, 0, 'L');
            $pdf->SetFont("Arial", "", 8);
            $pdf->Cell(40, 5, utf8_decode($pdf->documento->email), 0, 0, 'R');
        }
    }
    $pdf->Ln();
    $pdf->SetFont("Arial", "B", 8);
    $pdf->Cell(5, 5, "", 0, 0, 'C');
    $pdf->Cell(15, 5, "Assunto:", 0, 0, 'L');
    $pdf->SetFont("Arial", "", 8);
    $pdf->MultiCell(165, 5, utf8_decode(DaoAssuntoDocumento::getAssunto($pdf->documento->assunto, 'assunto')), 0, 1);
    $pdf->Ln();
    $pdf->SetFont("Arial", "B", 8);
    $pdf->Cell(180, 5, utf8_decode("Informações da Solicitação"), 0, 1, 'C');
    $pdf->Ln();
    //EXIBE OS REGISTROS
    $diretoria = utf8_decode(DaoUnidade::getUnidade($pdf->documento->diretoria, 'nome'));
    $pdf->Cell(8, 5, "", 0, 0, 'C');
    $pdf->SetFont("Arial", "", 8);
    $pdf->Cell(40, 5, "Ao ponto focal - {$diretoria}", 0, 1, 'L');
    $pdf->Ln();
    $pdf->SetFont("Arial", "", 8);
    $pdf->Cell(8, 5, "", 0, 0, 'L');
    $pdf->Write(5, utf8_decode($pdf->texto));
    $pdf->Ln();
    $pdf->Ln();
    $pdf->SetFont("Arial", "B", 8);
    $pdf->Cell(8, 5, "", 0, 0, 'L');
    $pdf->Write(5, utf8_decode($pdf->rodape));
    //SAIDA DO PDF
    $pdf->Output("{$end_final}", "{$tipo_pdf}");
    return $end_final;
}