コード例 #1
0
        public Stream LaudoFiscalizacaoPdf(int id, int arquivo = 0, int historico = 0, BancoDeDados banco = null)
        {
            try
            {
                PdfFiscalizacao _pdf         = new PdfFiscalizacao();
                Fiscalizacao    fiscalizacao = Obter(id, true);

                if (historico == 0 && fiscalizacao.SituacaoId == (int)eFiscalizacaoSituacao.EmAndamento)
                {
                    return(_pdf.GerarLaudoFiscalizacao(id, banco: banco));
                }

                if (historico > 0)
                {
                    fiscalizacao = ObterHistorico(historico);
                }

                if (fiscalizacao.PdfLaudo.Id.GetValueOrDefault() == 0 || (historico > 0 && fiscalizacao.PdfLaudo.Id != arquivo))
                {
                    Validacao.Add(Mensagem.Fiscalizacao.ArquivoNaoEncontrado);
                    return(null);
                }

                ArquivoBus arquivoBus = new ArquivoBus(eExecutorTipo.Interno);
                Arquivo    pdf        = arquivoBus.Obter(fiscalizacao.PdfLaudo.Id.GetValueOrDefault());

                if (historico > 0)
                {
                    pdf.Buffer = PdfMetodosAuxiliares.TarjaVermelha(pdf.Buffer, "CANCELADO " + fiscalizacao.SituacaoAtualData.DataTexto);
                }

                return(pdf.Buffer);
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }

            return(null);
        }
コード例 #2
0
        public Stream LaudoAcompanhamentoFiscalizacaoPdf(int id, BancoDeDados banco = null)
        {
            try
            {
                PdfFiscalizacao _pdf           = new PdfFiscalizacao();
                Acompanhamento  acompanhamento = Obter(id, simplificado: true);

                if (acompanhamento.SituacaoId == (int)eAcompanhamentoSituacao.EmCadastro)
                {
                    return(_pdf.GerarLaudoAcompanhamentoFiscalizacao(id, banco: banco));
                }


                if (acompanhamento.SituacaoId > (int)eAcompanhamentoSituacao.EmCadastro)
                {
                    if (acompanhamento.PdfLaudo.Id.GetValueOrDefault() == 0)
                    {
                        Validacao.Add(Mensagem.Acompanhamento.ArquivoNaoEncontrado);
                        return(null);
                    }

                    ArquivoBus arquivoBus = new ArquivoBus(eExecutorTipo.Interno);
                    Arquivo    pdf        = arquivoBus.Obter(acompanhamento.PdfLaudo.Id.GetValueOrDefault());

                    if (acompanhamento.SituacaoId == (int)eAcompanhamentoSituacao.Cancelado)
                    {
                        pdf.Buffer = PdfMetodosAuxiliares.TarjaVermelha(pdf.Buffer, "CANCELADO " + acompanhamento.DataSituacao.DataTexto);
                    }

                    return(pdf.Buffer);
                }
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }

            return(null);
        }
コード例 #3
0
        public void ConcluirCadastro(int fiscalizacaoId)
        {
            Fiscalizacao fiscalizacao    = new Fiscalizacao();
            bool         gerarAutosTermo = false;
            bool         gerouVencimento = false;

            try
            {
                if (_validar.Finalizar(fiscalizacaoId))
                {
                    GerenciadorTransacao.ObterIDAtual();

                    using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia())
                    {
                        bancoDeDados.IniciarTransacao();

                        fiscalizacao = Obter(fiscalizacaoId, banco: bancoDeDados);

                        //Fiscalizacao
                        gerarAutosTermo = fiscalizacao.Infracao.IsGeradaSistema.GetValueOrDefault() ||
                                          fiscalizacao.ObjetoInfracao.TeiGeradoPeloSistema.GetValueOrDefault() > 0 ||
                                          fiscalizacao.MaterialApreendido.IsTadGeradoSistema.GetValueOrDefault();

                        #region AI

                        if (fiscalizacao.Infracao.IsGeradaSistema.HasValue)
                        {
                            if (!fiscalizacao.Infracao.IsGeradaSistema.GetValueOrDefault() && !gerarAutosTermo)
                            {
                                fiscalizacao.Vencimento.Data = fiscalizacao.Infracao.DataLavraturaAuto.Data.Value.AddDays(_prazoVencimentoDias);
                                gerouVencimento = true;
                            }
                        }

                        #endregion

                        #region TEI

                        if (fiscalizacao.ObjetoInfracao.TeiGeradoPeloSistema.HasValue)
                        {
                            if (!gerouVencimento && fiscalizacao.ObjetoInfracao.TeiGeradoPeloSistema.GetValueOrDefault() == 0 && !gerarAutosTermo)
                            {
                                fiscalizacao.Vencimento.Data = fiscalizacao.ObjetoInfracao.DataLavraturaTermo.Data.Value.AddDays(_prazoVencimentoDias);
                                gerouVencimento = true;
                            }
                        }

                        #endregion

                        #region TAD

                        if (fiscalizacao.MaterialApreendido.IsTadGeradoSistema.HasValue)
                        {
                            if (!gerouVencimento && !fiscalizacao.MaterialApreendido.IsTadGeradoSistema.GetValueOrDefault() && !gerarAutosTermo)
                            {
                                fiscalizacao.Vencimento.Data = fiscalizacao.MaterialApreendido.DataLavratura.Data.Value.AddDays(_prazoVencimentoDias);
                                gerouVencimento = true;
                            }
                        }

                        #endregion

                        if (!gerouVencimento)
                        {
                            fiscalizacao.Vencimento.Data = DateTime.Now.AddDays(_prazoVencimentoDias);
                        }

                        _da.ConcluirCadastro(fiscalizacao, gerarAutosTermo, bancoDeDados);

                        _daPrjGeo.ConcluirCadastro(fiscalizacao.Id, bancoDeDados);

                        ArquivoDa       arquivoDa  = new ArquivoDa();
                        ArquivoBus      arquivoBus = new ArquivoBus(eExecutorTipo.Interno);
                        PdfFiscalizacao pdf        = new PdfFiscalizacao();

                        if (gerarAutosTermo)
                        {
                            //AutoTermo
                            fiscalizacao.PdfAutoTermo             = new Arquivo();
                            fiscalizacao.PdfAutoTermo.Nome        = "AutoTermoFiscalizacao";
                            fiscalizacao.PdfAutoTermo.Extensao    = ".pdf";
                            fiscalizacao.PdfAutoTermo.ContentType = "application/pdf";
                            fiscalizacao.PdfAutoTermo.Buffer      = pdf.GerarAutoTermoFiscalizacao(fiscalizacao.Id, false, bancoDeDados);
                            arquivoBus.Salvar(fiscalizacao.PdfAutoTermo);

                            arquivoDa.Salvar(fiscalizacao.PdfAutoTermo, User.EtramiteIdentity.FuncionarioId, User.EtramiteIdentity.Name,
                                             User.EtramiteIdentity.Login, (int)eExecutorTipo.Interno, User.EtramiteIdentity.FuncionarioTid, bancoDeDados);
                        }
                        else
                        {
                            fiscalizacao.PdfAutoTermo.Id = null;
                        }

                        //Laudo
                        fiscalizacao.PdfLaudo             = new Arquivo();
                        fiscalizacao.PdfLaudo.Nome        = "LaudoFiscalizacao";
                        fiscalizacao.PdfLaudo.Extensao    = ".pdf";
                        fiscalizacao.PdfLaudo.ContentType = "application/pdf";
                        fiscalizacao.PdfLaudo.Buffer      = pdf.GerarLaudoFiscalizacao(fiscalizacao.Id, false, bancoDeDados);
                        arquivoBus.Salvar(fiscalizacao.PdfLaudo);

                        arquivoDa.Salvar(fiscalizacao.PdfLaudo, User.EtramiteIdentity.FuncionarioId, User.EtramiteIdentity.Name,
                                         User.EtramiteIdentity.Login, (int)eExecutorTipo.Interno, User.EtramiteIdentity.FuncionarioTid, bancoDeDados);

                        Arquivo arqCroqui = fiscalizacao.ProjetoGeo.Arquivos.SingleOrDefault(x => x.Tipo == (int)eProjetoGeograficoArquivoTipo.Croqui);

                        if (arqCroqui != null && arqCroqui.Id > 0)
                        {
                            arqCroqui = arquivoBus.Obter(arqCroqui.Id.GetValueOrDefault());

                            try
                            {
                                //Croqui
                                fiscalizacao.PdfCroqui             = new Arquivo();
                                fiscalizacao.PdfCroqui.Nome        = "CroquiFiscalizacao";
                                fiscalizacao.PdfCroqui.Extensao    = ".pdf";
                                fiscalizacao.PdfCroqui.ContentType = "application/pdf";
                                fiscalizacao.PdfCroqui.Buffer      = arqCroqui.Buffer;
                                arquivoBus.Salvar(fiscalizacao.PdfCroqui);

                                arquivoDa.Salvar(fiscalizacao.PdfCroqui, User.EtramiteIdentity.FuncionarioId, User.EtramiteIdentity.Name,
                                                 User.EtramiteIdentity.Login, (int)eExecutorTipo.Interno, User.EtramiteIdentity.FuncionarioTid, bancoDeDados);
                            }
                            finally
                            {
                                if (arqCroqui != null && arqCroqui.Buffer != null)
                                {
                                    arqCroqui.Buffer.Close();
                                }
                            }
                        }


                        _da.SalvarDocumentosGerados(fiscalizacao, bancoDeDados);

                        _da.GerarHistorico(fiscalizacao.Id, eHistoricoAcao.finalizar, bancoDeDados);

                        _da.GerarConsulta(fiscalizacao.Id, bancoDeDados);

                        Validacao.Add(Mensagem.Fiscalizacao.Concluir);

                        bancoDeDados.Commit();
                    }
                }
            }
            catch (Exception e)
            {
                Validacao.AddErro(e);
            }
        }