public MemoryStream GerarLaudoFiscalizacaoNovo(int id, bool gerarTarja = true, BancoDeDados banco = null) { ArquivoDocCaminho = @"~/Content/_pdfAspose/Laudo_de_Fiscalizacao_Novo.docx"; FiscalizacaoRelatorioNovo dataSource = _da.ObterNovo(id, banco); dataSource.Sessao = new Sessoes() { Empreendimento = AsposeData.Empty, Multa = AsposeData.Empty, InterdicaoEmbargo = AsposeData.Empty, Apreensao = AsposeData.Empty, OutrasPenalidades = AsposeData.Empty }; ConfiguracaoDefault.TextoTagAssinante = "«Assinante.Nome»"; ConfiguracaoDefault.TextoTagAssinantes1 = "«TableStart:Assinantes1»"; ConfiguracaoDefault.TextoTagAssinantes2 = "«TableStart:Assinantes2»"; if (dataSource.ConsideracoesFinais != null && dataSource.ConsideracoesFinais.Assinantes != null && dataSource.ConsideracoesFinais.Assinantes.Count > 0) { var autor = dataSource.ConsideracoesFinais.Assinantes.First(x => x.Id == dataSource.UsuarioCadastro.Id); if (autor != null) { dataSource.ConsideracoesFinais.Assinantes.Remove(autor); dataSource.ConsideracoesFinais.Assinantes.Insert(0, autor); } ConfiguracaoDefault.Assinantes = dataSource.ConsideracoesFinais.Assinantes.Cast <IAssinante>().ToList(); } ConfigurarCabecarioRodape(dataSource.LocalInfracao.SetorId); if (dataSource.ConsideracoesFinais.Anexos != null && dataSource.ConsideracoesFinais.Anexos.Count > 0) { foreach (ConsideracoesFinaisAnexoRelatorio anexo in dataSource.ConsideracoesFinais.Anexos) { anexo.Arquivo.Conteudo = AsposeImage.RedimensionarImagem(File.ReadAllBytes(anexo.Arquivo.Caminho), 11, eAsposeImageDimensao.Ambos); } } ObterArquivoTemplate(); object objeto = dataSource; #region Remover this.ConfiguracaoDefault.AddLoadAcao((doc, a) => { List <Table> itenRemover = new List <Table>(); FiscalizacaoRelatorioNovo fiscalizacao = (FiscalizacaoRelatorioNovo)dataSource; CabecalhoRodapeDa _daCabecalho = new CabecalhoRodapeDa(); SetorEndereco endereco = _daCabecalho.ObterEndSetor(fiscalizacao.LocalInfracao.SetorId); fiscalizacao.OrgaoMunicipio = endereco.MunicipioTexto; fiscalizacao.OrgaoUF = endereco.EstadoTexto; //fiscalizacao.OrgaoMunicipio = _configSys.Obter<String>(ConfiguracaoSistema.KeyOrgaoMunicipio); //fiscalizacao.OrgaoUF = _configSys.Obter<String>(ConfiguracaoSistema.KeyOrgaoUf); if (fiscalizacao.Infracao.Campos.Count == 0) { doc.Find <Row>("«TableStart:Infracao.Campos»").Remove(); } if (fiscalizacao.Infracao.Perguntas.Count == 0) { doc.Find <Row>("«TableStart:Infracao.Perguntas»").Remove(); } if (fiscalizacao.ConsideracoesFinais.Anexos.Count == 0) { itenRemover.Add(doc.Last <Table>("«TableStart:ConsideracoesFinais.Anexos»")); doc.RemovePageBreak(); } //Remove as seções que não foram preenchidas if (fiscalizacao.Multa == null) { doc.Find <Row>("«Secao.Multa»").Remove(); } else { } if (fiscalizacao.ObjetoInfracao == null) { doc.Find <Row>("«Secao.InterdicaoEmbargo»").Remove(); } if (fiscalizacao.MaterialApreendido == null) { doc.Find <Row>("«Secao.Apreensao»").Remove(); } else { if (fiscalizacao.MaterialApreendido.ProdutosDestinacoes == null || fiscalizacao.MaterialApreendido.ProdutosDestinacoes.Count == 0) { doc.Find <Row>("«TableStart:MaterialApreendido.ProdutosDestinacoes»").Remove(); } } if (fiscalizacao.OutrasPenalidades == null) { doc.Find <Row>("«Secao.OutrasPenalidades»").Remove(); } if (fiscalizacao.LocalInfracao.EmpreendimentoId == 0) { doc.Find <Row>("«Secao.Empreendimento»").Remove(); } AsposeExtensoes.RemoveTables(itenRemover); }); #endregion Remover ConfiguracaoDefault.ExibirSimplesConferencia = gerarTarja; return(GerarPdf(dataSource)); }
public MemoryStream GerarLaudoFiscalizacao(int id, bool gerarTarja = true, BancoDeDados banco = null) { ArquivoDocCaminho = @"~/Content/_pdfAspose/Laudo_de_Fiscalizacao.docx"; FiscalizacaoRelatorio dataSource = _da.Obter(id, banco); ConfiguracaoDefault.TextoTagAssinante = "«Assinante.Nome»"; ConfiguracaoDefault.TextoTagAssinantes1 = "«TableStart:Assinantes1»"; ConfiguracaoDefault.TextoTagAssinantes2 = "«TableStart:Assinantes2»"; if (dataSource.ConsideracoesFinais != null && dataSource.ConsideracoesFinais.Assinantes != null && dataSource.ConsideracoesFinais.Assinantes.Count > 0) { var autor = dataSource.ConsideracoesFinais.Assinantes.First(x => x.Id == dataSource.UsuarioCadastro.Id); if (autor != null) { dataSource.ConsideracoesFinais.Assinantes.Remove(autor); dataSource.ConsideracoesFinais.Assinantes.Insert(0, autor); } ConfiguracaoDefault.Assinantes = dataSource.ConsideracoesFinais.Assinantes.Cast <IAssinante>().ToList(); } ConfigurarCabecarioRodape(dataSource.LocalInfracao.SetorId); if (dataSource.ConsideracoesFinais.Anexos != null && dataSource.ConsideracoesFinais.Anexos.Count > 0) { foreach (ConsideracoesFinaisAnexoRelatorio anexo in dataSource.ConsideracoesFinais.Anexos) { anexo.Arquivo.Conteudo = AsposeImage.RedimensionarImagem(File.ReadAllBytes(anexo.Arquivo.Caminho), 11, eAsposeImageDimensao.Ambos); } } ObterArquivoTemplate(); object objeto = dataSource; #region Remover this.ConfiguracaoDefault.AddLoadAcao((doc, a) => { List <Table> itenRemover = new List <Table>(); FiscalizacaoRelatorio fiscalizacao = (FiscalizacaoRelatorio)dataSource; fiscalizacao.OrgaoMunicipio = _configSys.Obter <String>(ConfiguracaoSistema.KeyOrgaoMunicipio); fiscalizacao.OrgaoUF = _configSys.Obter <String>(ConfiguracaoSistema.KeyOrgaoUf); if (fiscalizacao.Infracao.Campos.Count == 0) { doc.Find <Row>("«TableStart:Infracao.Campos»").Remove(); } if (fiscalizacao.Infracao.Perguntas.Count == 0) { doc.Find <Row>("«TableStart:Infracao.Perguntas»").Remove(); } if (fiscalizacao.ConsideracoesFinais.Anexos.Count == 0) { itenRemover.Add(doc.Last <Table>("«TableStart:ConsideracoesFinais.Anexos»")); doc.RemovePageBreak(); } #region Anexo Croqui da fiscalizacao /*List<ArquivoProjeto> arquivosProj = new ProjetoGeograficoBus().ObterArquivos(especificidade.Titulo.EmpreendimentoId.GetValueOrDefault(0), true).Where(x => x.Tipo == (int)eProjetoGeograficoArquivoTipo.Croqui).ToList(); * * autorizacao.AnexosPdfs = arquivosProj.Cast<Arquivo>().ToList(); * * //Obtendo Arquivos * ArquivoBus _busArquivo = new ArquivoBus(); * * for (int i = 0; i < autorizacao.AnexosPdfs.Count; i++) * { * autorizacao.AnexosPdfs[i] = _busArquivo.ObterDados(autorizacao.AnexosPdfs[i].Id.GetValueOrDefault(0)); * }*/ #endregion AsposeExtensoes.RemoveTables(itenRemover); }); #endregion Remover ConfiguracaoDefault.ExibirSimplesConferencia = gerarTarja; return(GerarPdf(dataSource)); }
public object ObterDadosPdf(IEspecificidade especificidade, BancoDeDados banco) { try { Laudo laudo = _da.ObterDadosPDF(especificidade.Titulo.Id, banco); DataEmissaoPorExtenso(laudo.Titulo); #region Anexos laudo.AnexosPdfs = laudo.Anexos .Select(x => x.Arquivo) .Where(x => (!String.IsNullOrEmpty(x.Nome) && new FileInfo(x.Nome).Extension.ToLower().IndexOf("pdf") > -1)).ToList(); laudo.Anexos.RemoveAll(anexo => String.IsNullOrEmpty(anexo.Arquivo.Extensao) || !((new[] { ".jpg", ".gif", ".png", ".bmp" }).Any(x => anexo.Arquivo.Extensao.ToLower() == x))); if (laudo.Anexos != null && laudo.Anexos.Count > 0) { foreach (AnexoPDF anexo in laudo.Anexos) { anexo.Arquivo.Conteudo = AsposeImage.RedimensionarImagem( File.ReadAllBytes(anexo.Arquivo.Caminho), 11, eAsposeImageDimensao.Ambos); } } #endregion laudo.Dominialidade = new DominialidadePDF(new DominialidadeBus().ObterPorEmpreendimento(especificidade.Titulo.EmpreendimentoId.GetValueOrDefault())); if (laudo.CaracterizacaoTipo == (int)eCaracterizacao.ExploracaoFlorestal) { var exploracoes = new ExploracaoFlorestalBus().ObterExploracoes(especificidade.Titulo.Id, (int)eTituloModeloCodigo.LaudoVistoriaFlorestal); laudo.ExploracaoFlorestalList = exploracoes.Select(x => new ExploracaoFlorestalPDF(x)).ToList(); var parecerFavoravel = new ArrayList(); var parecerDesfavoravel = new ArrayList(); foreach (var exploracao in exploracoes) { if (exploracao.Exploracoes.Where(x => x.ParecerFavoravel == true)?.ToList().Count > 0) { parecerFavoravel.Add(String.Concat(exploracao.CodigoExploracaoTexto, " (", String.Join(", ", exploracao.Exploracoes.Where(x => x.ParecerFavoravel == true).Select(x => x.Identificacao)?.ToList()), ")")); } if (exploracao.Exploracoes.Where(x => x.ParecerFavoravel == false)?.ToList().Count > 0) { parecerDesfavoravel.Add(String.Concat(exploracao.CodigoExploracaoTexto, " (", String.Join(", ", exploracao.Exploracoes.Where(x => x.ParecerFavoravel == false).Select(x => x.Identificacao)?.ToList()), ")")); } } laudo.ParecerFavoravel = parecerFavoravel.Count > 0 ? String.Join(", ", parecerFavoravel?.ToArray()) : ""; laudo.ParecerDesfavoravel = parecerDesfavoravel.Count > 0 ? String.Join(", ", parecerDesfavoravel?.ToArray()) : ""; } else { laudo.ExploracaoFlorestal = new ExploracaoFlorestalPDF(new ExploracaoFlorestalBus().ObterPorEmpreendimento(especificidade.Titulo.EmpreendimentoId.GetValueOrDefault())); } laudo.QueimaControlada = new QueimaControladaPDF(new QueimaControladaBus().ObterPorEmpreendimento(especificidade.Titulo.EmpreendimentoId.GetValueOrDefault())); laudo.Silvicultura = new SilviculturaPDF(new SilviculturaBus().ObterPorEmpreendimento(especificidade.Titulo.EmpreendimentoId.GetValueOrDefault())); return(laudo); } catch (Exception exc) { Validacao.AddErro(exc); } return(null); }
public object ObterDadosPdf(IEspecificidade especificidade, BancoDeDados banco) { try { Cadastro cadastro = _da.ObterDadosPDF(especificidade.Titulo.Id, banco); CadastroAmbientalRuralBus carBus = new CadastroAmbientalRuralBus(); cadastro.CAR = new CadastroAmbientalRuralPDF(carBus.ObterPorEmpreendimento(especificidade.Titulo.EmpreendimentoId.GetValueOrDefault(), true)); cadastro.Dominialidade = new DominialidadePDF(new DominialidadeBus().ObterPorEmpreendimento(especificidade.Titulo.EmpreendimentoId.GetValueOrDefault())); if (cadastro.Dominialidade.IsEmpreendimentoCedente && cadastro.Dominialidade.IsEmpreendimentoReceptor) { cadastro.CAR.TipoCompensacao = "CEDENTE E RECEPTOR"; } else if (cadastro.Dominialidade.IsEmpreendimentoCedente) { cadastro.CAR.TipoCompensacao = "CEDENTE"; } else if (cadastro.Dominialidade.IsEmpreendimentoReceptor) { cadastro.CAR.TipoCompensacao = "RECEPTOR"; } #region Solicitacao CAR //Interno cadastro.SICAR = _da.ObterSICARInterno(especificidade.Titulo.EmpreendimentoId.GetValueOrDefault(0), banco) ?? new SicarPDF(); if (String.IsNullOrWhiteSpace(cadastro.SICAR.Numero)) { cadastro.SICAR = _da.ObterSICARCredenciado(especificidade.Titulo.EmpreendimentoId.GetValueOrDefault(0), banco) ?? new SicarPDF(); } #endregion #region Arl Compensadas cadastro.Dominialidade.Dominios.ForEach(d => { List <ReservaLegalPDF> rlCompensadas = d.ReservasLegais.Where(r => r.CompensacaoTipo != eCompensacaoTipo.Nulo).ToList(); foreach (var reservaLegal in rlCompensadas) { string identificacao = string.Empty; string areaCroqui = string.Empty; string coordenadaE = string.Empty; string coordenadaN = string.Empty; eCompensacaoTipo compensacaoTipo = eCompensacaoTipo.Nulo; if (reservaLegal.CompensacaoTipo.Equals(eCompensacaoTipo.Cedente)) { compensacaoTipo = eCompensacaoTipo.Cedente; identificacao = reservaLegal.Identificacao; areaCroqui = reservaLegal.ARLCroqui; coordenadaE = reservaLegal.Coordenada.EastingUtm.ToString(); coordenadaN = reservaLegal.Coordenada.NorthingUtm.ToString(); } else if (reservaLegal.CompensacaoTipo.Equals(eCompensacaoTipo.Receptora)) { compensacaoTipo = eCompensacaoTipo.Receptora; if (reservaLegal.IdentificacaoARLCedente > 0) { var reservaLegalReceptora = new DominialidadeDa().ObterARLPorId(reservaLegal.IdentificacaoARLCedente); identificacao = reservaLegalReceptora.Identificacao; areaCroqui = reservaLegalReceptora.ARLCroqui.ToStringTrunc(); coordenadaE = reservaLegalReceptora.Coordenada.EastingUtm.ToString(); coordenadaN = reservaLegalReceptora.Coordenada.NorthingUtm.ToString(); } else { areaCroqui = reservaLegal.ARLCroqui; coordenadaE = reservaLegal.Coordenada.EastingUtm.ToString(); coordenadaN = reservaLegal.Coordenada.NorthingUtm.ToString(); } } if (string.IsNullOrWhiteSpace(areaCroqui)) { continue; } cadastro.CAR.TotalRLCompensadaDecimal += Convert.ToDecimal(areaCroqui); cadastro.RLCompensada.Add(new AreaReservaLegalPDF() { CompensacaoTipo = (int)compensacaoTipo, Tipo = reservaLegal.SituacaoVegetalId, Codigo = reservaLegal.EmpreendimentoCompensacao.Codigo, AreaCroqui = areaCroqui, CoordenadaE = coordenadaE, CoordenadaN = coordenadaN, Identificacao = identificacao }); } }); #endregion #region Croqui List <ArquivoProjeto> arquivosProj = carBus.ObterArquivosProjeto(cadastro.CAR.ProjetoGeoId, true).Where(x => x.Tipo == (int)eProjetoGeograficoArquivoTipo.Croqui).ToList(); cadastro.AnexosPdfs = arquivosProj.Cast <Arquivo>().ToList(); //Obtendo Arquivos ArquivoBus _busArquivo = new ArquivoBus(eExecutorTipo.Interno); for (int i = 0; i < cadastro.AnexosPdfs.Count; i++) { cadastro.AnexosPdfs[i] = _busArquivo.ObterDados(cadastro.AnexosPdfs[i].Id.GetValueOrDefault(0)); } #endregion String pathImg = HttpContext.Current.Request.MapPath("~/Content/_imgLogo/logomarca_simlam_idaf.jpg"); cadastro.LogoOrgao = File.ReadAllBytes(pathImg); cadastro.LogoOrgao = AsposeImage.RedimensionarImagem(cadastro.LogoOrgao, 2.2f); GerenciadorConfiguracao <ConfiguracaoSistema> _configSys = new GerenciadorConfiguracao <ConfiguracaoSistema>(new ConfiguracaoSistema()); GerenciadorConfiguracao <ConfiguracaoFuncionario> _configFunc = new GerenciadorConfiguracao <ConfiguracaoFuncionario>(new ConfiguracaoFuncionario()); cadastro.GovernoNome = _configSys.Obter <String>(ConfiguracaoSistema.KeyGovernoNome); cadastro.SecretariaNome = _configSys.Obter <String>(ConfiguracaoSistema.KeySecretariaNome); cadastro.OrgaoNome = _configSys.Obter <String>(ConfiguracaoSistema.KeyOrgaoNome); cadastro.SetorNome = _configFunc.Obter <List <Setor> >(ConfiguracaoFuncionario.KeySetores).Single(x => x.Id == especificidade.Titulo.SetorId).Nome; return(cadastro); } catch (Exception exc) { Validacao.AddErro(exc); } return(null); }
public MemoryStream GerarLaudoAcompanhamentoFiscalizacao(int id, bool gerarTarja = true, BancoDeDados banco = null) { ArquivoDocCaminho = @"~/Content/_pdfAspose/Laudo_de_Fiscalizacao_Acompanhamento.docx"; AcompanhamentoRelatorio acompanhamento = _daAcompanhamento.Obter(id, banco: banco); int historicoId = _da.ObterHistoricoIdConcluido(acompanhamento.FiscalizacaoId, banco); FiscalizacaoRelatorio dataSource = _da.ObterHistorico(historicoId, banco); dataSource.Acompanhamento = acompanhamento; ConfiguracaoDefault.TextoTagAssinante = "«Assinante.Nome»"; ConfiguracaoDefault.TextoTagAssinantes1 = "«TableStart:Assinantes1»"; ConfiguracaoDefault.TextoTagAssinantes2 = "«TableStart:Assinantes2»"; if (dataSource.Acompanhamento != null && dataSource.Acompanhamento.Assinantes != null && dataSource.Acompanhamento.Assinantes.Count > 0) { var autor = dataSource.Acompanhamento.Assinantes.First(x => x.Id == dataSource.Acompanhamento.AgenteId); if (autor != null) { dataSource.Acompanhamento.Assinantes.Remove(autor); dataSource.Acompanhamento.Assinantes.Insert(0, autor); } ConfiguracaoDefault.Assinantes = dataSource.Acompanhamento.Assinantes.Cast <IAssinante>().ToList(); } ConfigurarCabecarioRodape(dataSource.Acompanhamento.SetorId); if (dataSource.Acompanhamento.Anexos != null && dataSource.Acompanhamento.Anexos.Count > 0) { foreach (ConsideracoesFinaisAnexoRelatorio anexo in dataSource.Acompanhamento.Anexos) { anexo.Arquivo.Conteudo = AsposeImage.RedimensionarImagem(File.ReadAllBytes(anexo.Arquivo.Caminho), 11, eAsposeImageDimensao.Ambos); } } ObterArquivoTemplate(); object objeto = dataSource; #region Remover this.ConfiguracaoDefault.AddLoadAcao((doc, a) => { List <Table> itenRemover = new List <Table>(); FiscalizacaoRelatorio fiscalizacao = (FiscalizacaoRelatorio)dataSource; fiscalizacao.OrgaoMunicipio = _configSys.Obter <String>(ConfiguracaoSistema.KeyOrgaoMunicipio); fiscalizacao.OrgaoUF = _configSys.Obter <String>(ConfiguracaoSistema.KeyOrgaoUf); if (fiscalizacao.Infracao.Campos.Count == 0) { doc.Find <Row>("«TableStart:Infracao.Campos»").Remove(); } if (fiscalizacao.Infracao.Perguntas.Count == 0) { doc.Find <Row>("«TableStart:Infracao.Perguntas»").Remove(); } if (fiscalizacao.Acompanhamento.Anexos.Count == 0) { itenRemover.Add(doc.Last <Table>("«TableStart:Acompanhamento.Anexos»")); doc.RemovePageBreak(); } AsposeExtensoes.RemoveTables(itenRemover); }); #endregion Remover ConfiguracaoDefault.ExibirSimplesConferencia = gerarTarja; return(GerarPdf(dataSource)); }