public BarragemDispensaLicenca ObterPorEmpreendimento(int empreendimentoId, int projetoDigitalId = 0, bool simplificado = false, BancoDeDados banco = null) { BarragemDispensaLicenca barragem = null; try { List <Caracterizacao> caracterizacoesAssociadas = _busCaracterizacao.ObterCaracterizacoesAssociadasProjetoDigital(projetoDigitalId).Where(x => x.Tipo == eCaracterizacao.BarragemDispensaLicenca).ToList(); if (caracterizacoesAssociadas != null && caracterizacoesAssociadas.Count > 0) { barragem = ObterHistorico(caracterizacoesAssociadas.FirstOrDefault().Id, caracterizacoesAssociadas.FirstOrDefault().Tid); } else { barragem = _da.ObterPorEmpreendimento(empreendimentoId, simplificado: simplificado); if (barragem.Autorizacao.Id > 0) { barragem.Autorizacao = _busArquivo.Obter(barragem.Autorizacao.Id.GetValueOrDefault()); } } } catch (Exception exc) { Validacao.AddErro(exc); } return(barragem); }
public Arquivo ObterAgrotoxicoArquivo(int id) { Arquivo retorno; try { ArquivoBus _busArquivo = new ArquivoBus(eExecutorTipo.Interno); if (_busArquivo.Existe(id)) { retorno = _busArquivo.Obter(id); return(retorno); } else { Validacao.Add(Mensagem.Padrao.NaoEncontrouRegistros); } } catch (Exception exc) { Validacao.AddErro(exc); } return(null); }
public void ImportarCaracterizacaoCDLA(Requerimento requerimento, BancoDeDados bancoCredenciado, BancoDeDados bancoInterno) { BarragemDispensaLicenca caracterizacao = _da.ImportarCaracterizacaoCdla(requerimento.Id, bancoCredenciado); Dictionary <Int32, String> _diretorioCred = _da.ObterCredenciadoDiretorioArquivo(bancoCredenciado); Dictionary <Int32, String> _diretorioTempCred = _da.ObterCredenciadoDiretorioArquivoTemp(bancoCredenciado); ArquivoBus _busArquivoCredenciado = new ArquivoBus(eExecutorTipo.Credenciado, _diretorioCred, _diretorioTempCred, UsuarioCredenciado); ArquivoBus _busArquivoInterno = new ArquivoBus(eExecutorTipo.Interno, usuarioCredenciado: UsuarioCredenciado); Arquivo aux = _busArquivoCredenciado.Obter(caracterizacao.Autorizacao.Id.Value); //Obtém o arquivo completo do diretorio do Institucional(nome, buffer, etc) aux.Id = 0; //Zera o ID aux = _busArquivoInterno.SalvarTemp(aux); //salva no diretório temporário aux = _busArquivoInterno.Copiar(aux); //Copia para o diretório oficial Executor executor = Executor.Current; ArquivoDa arquivoDa = new ArquivoDa(); arquivoDa.Salvar(aux, executor.Id, executor.Nome, executor.Login, (int)eExecutorTipo.Interno, executor.Tid, bancoInterno); caracterizacao.Autorizacao.Id = aux.Id; _da.CopiarDadosCredenciado(caracterizacao, bancoInterno); }
private void Enviar(Email email) { if (email.Anexos != null && email.Anexos.Count > 0) { ArquivoBus arquivoBus = new ArquivoBus(eExecutorTipo.Interno); for (int i = 0; i < email.Anexos.Count; i++) { if (email.Anexos[i].Id.GetValueOrDefault() <= 0) { continue; } email.Anexos[i] = arquivoBus.Obter(email.Anexos[i].Id.GetValueOrDefault()); } } if (_config.Porta == 465) { //COM EnviarCDO(email); } else { EnviarDotNet(email); } email.Situacao = 2; _da.AlterarSituacao(email.Id, email.Situacao); }
public ActionResult GerarPdfPecaTecnica(int id, int empreendimentoId) { try { Arquivo arquivo = null; ArquivoBus arquivoBus = new ArquivoBus(eExecutorTipo.Interno); PdfPecaTecnica analisePdf = new PdfPecaTecnica(); List <ArquivoProjeto> arquivos = new List <ArquivoProjeto>(); ProjetoGeograficoBus projetoBus = new ProjetoGeograficoBus(); arquivos = projetoBus.ObterArquivos(empreendimentoId, eCaracterizacao.Dominialidade, true); ArquivoProjeto ArquivoAux = arquivos.SingleOrDefault(x => x.Tipo == (int)eProjetoGeograficoArquivoTipo.CroquiFinal); int idArquivo = (ArquivoAux != null) ? ArquivoAux.Id.GetValueOrDefault() : 0; arquivo = arquivoBus.Obter(idArquivo); MemoryStream resultado = analisePdf.GerarPdf(arquivo, id); return(ViewModelHelper.GerarArquivo("Pdf Peca Tecnica.pdf", resultado, "application/pdf", dataHoraControleAcesso: true)); } catch (Exception exc) { Validacao.AddErro(exc); return(RedirectToAction("Index", Validacao.QueryParamSerializer())); } }
public MemoryStream GerarPdf(Titulo titulo, BancoDeDados banco = null) { if ((titulo.Modelo.Arquivo.Id ?? 0) <= 0) { return(null); } ArquivoBus busArquivo = new ArquivoBus(eExecutorTipo.Interno); Arquivo templatePdf = busArquivo.Obter(titulo.Modelo.Arquivo.Id.Value); //Carrega as atividades para o ObterDadosPdf; if (titulo.Atividades == null || titulo.Atividades.Count == 0) { titulo.Atividades = _da.ObterAtividades(titulo.Id); } IEspecificidadeBus busEspecificiade = EspecificiadadeBusFactory.Criar(titulo.Modelo.Codigo.Value); titulo.Especificidade = busEspecificiade.Obter(titulo.Id) as Especificidade; titulo.ToEspecificidade(); IConfiguradorPdf configurador = busEspecificiade.ObterConfiguradorPdf(titulo.Especificidade) ?? new ConfiguracaoDefault(); configurador.ExibirSimplesConferencia = (titulo.Situacao.Id == (int)eTituloSituacao.Cadastrado) || (titulo.Situacao.Id == (int)eTituloSituacao.EmCadastro); Object dataSource = busEspecificiade.ObterDadosPdf(titulo.Especificidade, banco); GeradorAspose gerador = new GeradorAspose(configurador); #region Assinantes List <TituloAssinante> assinantes = _da.ObterAssinantes(titulo.Id); if (busEspecificiade.CargosOrdenar != null && busEspecificiade.CargosOrdenar.Count > 0) { assinantes = assinantes.OrderByDescending(assinante => busEspecificiade.CargosOrdenar.IndexOf((eCargo)assinante.FuncionarioCargoCodigo)).ToList(); } configurador.Assinantes = assinantes.Select(x => (IAssinante) new AssinanteDefault() { Nome = x.FuncionarioNome, Cargo = x.FuncionarioCargoNome } ).ToList(); //Adiciona os assinantes da Especificidade configurador.Assinantes.AddRange((((dynamic)dataSource).Titulo as IAssinanteDataSource).AssinanteSource); #endregion MemoryStream msPdf = gerador.Pdf(templatePdf, dataSource); if (dataSource is Tecnomapas.Blocos.Entities.Etx.ModuloRelatorio.IAnexoPdf) { Tecnomapas.Blocos.Entities.Etx.ModuloRelatorio.IAnexoPdf dataAnexos = dataSource as Tecnomapas.Blocos.Entities.Etx.ModuloRelatorio.IAnexoPdf; msPdf = GeradorAspose.AnexarPdf(msPdf, dataAnexos.AnexosPdfs); } return(msPdf); }
public Arquivo GerarPdf(int id) { Titulo titulo = _da.ObterSimplificado(id); titulo.Modelo = ObterModelo(titulo.Modelo.Id); titulo.Anexos = _da.ObterAnexos(id); if (titulo.Modelo.Regra(eRegra.PdfGeradoSistema) && (titulo.Modelo.Arquivo.Id ?? 0) <= 0) { Validacao.Add(Mensagem.Titulo.ModeloNaoPossuiPdf); return(null); } if (titulo.ArquivoPdf.Id > 0) { ArquivoBus busArquivo = new ArquivoBus(eExecutorTipo.Interno); titulo.ArquivoPdf = busArquivo.Obter(titulo.ArquivoPdf.Id.Value); string auxiliar = string.Empty; switch (titulo.Situacao.Id) { case (int)eTituloSituacao.Encerrado: auxiliar = ListaCredenciadoBus.MotivosEncerramento.Single(x => x.Id == titulo.MotivoEncerramentoId).Texto; titulo.ArquivoPdf.Buffer = Tecnomapas.Blocos.Etx.ModuloRelatorio.ITextSharpEtx.PdfMetodosAuxiliares.TarjaVermelha(titulo.ArquivoPdf.Buffer, auxiliar); break; case (int)eTituloSituacao.Prorrogado: auxiliar = String.Format("{0} até {1}", titulo.Situacao.Nome, titulo.DataVencimento.DataTexto); titulo.ArquivoPdf.Buffer = Tecnomapas.Blocos.Etx.ModuloRelatorio.ITextSharpEtx.PdfMetodosAuxiliares.TarjaVerde(titulo.ArquivoPdf.Buffer, auxiliar); break; case (int)eTituloSituacao.Suspenso: titulo.ArquivoPdf.Buffer = Tecnomapas.Blocos.Etx.ModuloRelatorio.ITextSharpEtx.PdfMetodosAuxiliares.TarjaLaranjaEscuro(titulo.ArquivoPdf.Buffer, "Consultado em " + DateTime.Now.ToShortDateString() + " às " + DateTime.Now.ToString(@"HH\hmm\min"), "Suspenso"); break; case (int)eTituloSituacao.SuspensoDeclaratorio: titulo.ArquivoPdf.Buffer = Tecnomapas.Blocos.Etx.ModuloRelatorio.ITextSharpEtx.PdfMetodosAuxiliares.TarjaLaranjaEscuro(titulo.ArquivoPdf.Buffer, "Consultado em " + DateTime.Now.ToShortDateString() + " às " + DateTime.Now.ToString(@"HH\hmm\min"), "Suspenso"); break; case (int)eTituloSituacao.EncerradoDeclaratorio: titulo.ArquivoPdf.Buffer = Tecnomapas.Blocos.Etx.ModuloRelatorio.ITextSharpEtx.PdfMetodosAuxiliares.TarjaVermelha(titulo.ArquivoPdf.Buffer, "Consultado em " + DateTime.Now.ToShortDateString() + " às " + DateTime.Now.ToString(@"HH\hmm\min"), "Encerrado"); break; default: break; } titulo.ArquivoPdf.Nome = titulo.Modelo.Nome.RemoverAcentos(); return(titulo.ArquivoPdf); } titulo.ArquivoPdf.Nome = titulo.Modelo.Nome.RemoverAcentos(); titulo.ArquivoPdf.Extensao = ".pdf"; titulo.ArquivoPdf.ContentType = "application/pdf"; titulo.ArquivoPdf.Buffer = GerarPdf(titulo); return(titulo.ArquivoPdf); }
public static FileResult BaixarArquivo(int id) { try { ArquivoBus _busArquivo = new ArquivoBus(eExecutorTipo.Publico); return(GerarArquivo(_busArquivo.Obter(id))); } catch (Exception exc) { Validacao.AddErro(exc); } return(null); }
public static nameFile.FileResult BaixarArquivo(int id, eExecutorTipo tipoExecutor = eExecutorTipo.Interno, bool dataHoraControleAcesso = false) { try { ArquivoBus _busArquivo = new ArquivoBus(tipoExecutor); Arquivo arquivo = _busArquivo.Obter(id); return(GerarArquivo(arquivo, dataHoraControleAcesso)); } catch (Exception exc) { Validacao.AddErro(exc); } return(null); }
public BarragemDispensaLicenca ObterPorEmpreendimento(int empreendimentoId, bool simplificado = false, BancoDeDados banco = null) { BarragemDispensaLicenca barragem = null; try { barragem = _da.ObterPorEmpreendimento(empreendimentoId, simplificado: simplificado); if (barragem.Autorizacao.Id > 0) { barragem.Autorizacao = _busArquivo.Obter(barragem.Autorizacao.Id.GetValueOrDefault()); } } catch (Exception exc) { Validacao.AddErro(exc); } return(barragem); }
public BarragemDispensaLicenca ObterPorEmpreendimento(int empreendimentoInternoId, bool simplificado = false) { BarragemDispensaLicenca caracterizacao = null; try { caracterizacao = _da.ObterPorEmpreendimento(empreendimentoInternoId, simplificado: simplificado); if (caracterizacao.Autorizacao.Id > 0) { caracterizacao.Autorizacao = _busArquivo.Obter(caracterizacao.Autorizacao.Id.GetValueOrDefault()); } } catch (Exception exc) { Validacao.AddErro(exc); } return(caracterizacao); }
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); }
public Arquivo BaixarArquivo(int id, int historico = 0) { try { ArquivoBus arquivoBus = new ArquivoBus(eExecutorTipo.Interno); Arquivo pdf = arquivoBus.Obter(id); if (historico > 0) { Fiscalizacao fiscalizacao = ObterHistorico(historico); pdf.Buffer = PdfMetodosAuxiliares.TarjaVermelha(pdf.Buffer, "CANCELADO " + fiscalizacao.SituacaoAtualData.DataTexto); } return(pdf); } catch (Exception exc) { Validacao.AddErro(exc); } return(null); }
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); }
public HabilitacaoEmissaoPTV Obter(int id) { HabilitacaoEmissaoPTV habilitacao = null; try { habilitacao = _da.Obter(id); habilitacao.Funcionario.Setores = _busFuncionario.ObterSetoresFuncionario(habilitacao.Funcionario.Id); if (habilitacao.Arquivo.Id > 0) { habilitacao.Arquivo = _busArquivo.Obter(habilitacao.Arquivo.Id.GetValueOrDefault()); } } catch (Exception exc) { Validacao.AddErro(exc); } return(habilitacao); }
internal EmissaoPTVRelatorio Obter(int id, bool simplificado = false) { EmissaoPTVRelatorio emissaoPTV = new EmissaoPTVRelatorio(); List <String> listDeclaracoesAdicionais = new List <String>(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia()) { Comando comando = null; #region SQL PTV comando = bancoDeDados.CriarComando(@" select distinct t.id, t.tid, t.numero, t.situacao, e.denominador, e.cnpj, le.sigla as uf, lm.texto as municipio, ee.logradouro, ee.bairro, ee.distrito, nvl(pr.nome, pr.razao_social) as resp_razao_social, pr.cpf as empreend_resp_cpf, t.partida_lacrada_origem, t.numero_lacre, t.numero_porao, t.numero_container, t.apresentacao_nota_fiscal, t.numero_nota_fiscal, t.tipo_transporte, t.rota_transito_definida, t.veiculo_identificacao_numero, t.itinerario, t.data_ativacao, t.valido_ate, t.responsavel_tecnico, d.nome as destinatario_nome, d.endereco as destinatario_endereco, led.sigla destinatario_uf, lmd.texto destinatario_mun, lme.texto as municipio_emissao, d.cpf_cnpj destinatario_cpfcnpj from tab_ptv t, tab_empreendimento e, tab_empreendimento_endereco ee, lov_estado le, lov_municipio lm, lov_municipio lme, tab_pessoa pr, tab_destinatario_ptv d, lov_estado led, lov_municipio lmd where e.id = t.empreendimento and (ee.empreendimento = e.id and ee.correspondencia = 0) and le.id = ee.estado and lm.id = ee.municipio and lme.id(+) = t.municipio_emissao and pr.id(+) = t.responsavel_emp and d.id = t.destinatario and led.id = d.uf and lmd.id = d.municipio and t.id = :id" , EsquemaBanco); comando.AdicionarParametroEntrada("id", id, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { if (reader.Read()) { emissaoPTV.Id = id; emissaoPTV.Tid = reader.GetValue <string>("tid"); emissaoPTV.Situacao = reader.GetValue <int>("situacao"); emissaoPTV.FuncId = reader.GetValue <int>("responsavel_tecnico"); emissaoPTV.NumeroPTV = reader.GetValue <string>("numero"); emissaoPTV.PartidaLacrada = reader.GetValue <int>("partida_lacrada_origem"); emissaoPTV.NumeroLacre = reader.GetValue <string>("numero_lacre"); emissaoPTV.NumeroPorao = reader.GetValue <string>("numero_porao"); emissaoPTV.NumeroConteiner = reader.GetValue <string>("numero_container"); emissaoPTV.TipoTransporte = reader.GetValue <int>("tipo_transporte"); emissaoPTV.Rota_transito_definida = reader.GetValue <int>("rota_transito_definida"); emissaoPTV.ApresentacaoNotaFiscal = reader.GetValue <int>("apresentacao_nota_fiscal"); emissaoPTV.NumeroNotaFiscal = reader.GetValue <string>("numero_nota_fiscal"); emissaoPTV.VeiculoNumero = reader.GetValue <string>("veiculo_identificacao_numero"); emissaoPTV.Itinerario = reader.GetValue <string>("itinerario"); emissaoPTV.DataAtivacao = reader.GetValue <DateTime>("data_ativacao").ToString("dd/MM/yyyy"); emissaoPTV.DataValidade = reader.GetValue <DateTime>("valido_ate").ToShortDateString(); emissaoPTV.Destinatario.Nome = reader.GetValue <string>("destinatario_nome"); emissaoPTV.Destinatario.Endereco = reader.GetValue <string>("destinatario_endereco"); emissaoPTV.Destinatario.UF = reader.GetValue <string>("destinatario_uf"); emissaoPTV.Destinatario.Municipio = reader.GetValue <string>("destinatario_mun"); emissaoPTV.Destinatario.CPFCNPJ = reader.GetValue <string>("destinatario_cpfcnpj"); emissaoPTV.MunicipioEmissao = reader.GetValue <string>("municipio_emissao"); emissaoPTV.Empreendimento.ResponsavelRazaoSocial = reader.GetValue <string>("resp_razao_social"); emissaoPTV.Empreendimento.NomeRazao = reader.GetValue <string>("denominador"); emissaoPTV.Empreendimento.EndLogradouro = reader.GetValue <string>("logradouro"); emissaoPTV.Empreendimento.EndBairro = reader.GetValue <string>("bairro"); emissaoPTV.Empreendimento.EndDistrito = reader.GetValue <string>("distrito"); emissaoPTV.Empreendimento.EndMunicipio = reader.GetValue <string>("municipio"); emissaoPTV.Empreendimento.EndUF = reader.GetValue <string>("uf"); emissaoPTV.Empreendimento.CNPJ = reader.GetValue <string>("cnpj"); emissaoPTV.Empreendimento.ResponsavelCPF = reader.GetValue <string>("empreend_resp_cpf"); } reader.Close(); } #endregion if (simplificado) { return(emissaoPTV); } #region SQL Funcionário comando = bancoDeDados.CriarComando(@" select f.nome, h.numero_habilitacao, h.numero_crea, f.arquivo arquivo_id from {0}tab_hab_emi_ptv h, {0}tab_funcionario f where f.id = h.funcionario and f.id = :idfun" , EsquemaBanco); comando.AdicionarParametroEntrada("idfun", emissaoPTV.FuncId, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { if (reader.Read()) { emissaoPTV.FuncionarioHabilitado.Nome = reader.GetValue <string>("nome"); emissaoPTV.FuncionarioHabilitado.Numero = reader.GetValue <string>("numero_habilitacao"); emissaoPTV.FuncionarioHabilitado.Registro = reader.GetValue <string>("numero_crea"); emissaoPTV.FuncionarioHabilitado.ArquivoId = reader.GetValue <int>("arquivo_id"); } reader.Close(); } #endregion #region SQL PTVProduto comando = bancoDeDados.CriarComando(@"select c.texto cultura, cc.cultivar, t.quantidade, decode(t.origem_tipo, 1, (select cfo.numero from cre_cfo cfo where cfo.id = t.origem), '') as numero_cfo, decode(t.origem_tipo, 2, (select cfoc.numero from cre_cfoc cfoc where cfoc.id = t.origem), '') as numero_cfoc, decode(t.origem_tipo, 3, (select ptv.numero from tab_ptv ptv where ptv.id = t.origem), 4, (select ptv.numero from tab_ptv_outrouf ptv where ptv.id = t.origem), '') as numero_ptv, decode(t.origem_tipo, 5, t.numero_origem, '') as numero_cf_cfr, decode(t.origem_tipo, 6, t.numero_origem, '') as numero_tf, u.texto as unidade_medida, nvl(t.origem, 0) origem, t.origem_tipo, t.cultura cultura_id, t.cultivar cultivar_id from {0}tab_ptv_produto t, {0}tab_ptv p, {0}tab_cultura c, {0}tab_cultura_cultivar cc, lov_crt_uni_prod_uni_medida u where c.id = t.cultura and cc.id = t.cultivar and p.id = t.ptv and u.id = t.unidade_medida and t.ptv = :ptv" , EsquemaBanco); comando.AdicionarParametroEntrada("ptv", emissaoPTV.Id, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { while (reader.Read()) { emissaoPTV.Produtos.Add(new PTVProdutoRelatorio() { CulturaTexto = reader.GetValue <string>("cultura"), CulturaId = reader.GetValue <int>("cultura_id"), CultivarTexto = reader.GetValue <string>("cultivar"), CultivarId = reader.GetValue <int>("cultivar_id"), Quantidade = reader.GetValue <decimal>("quantidade"), NumeroCFO = reader.GetValue <string>("numero_cfo"), NumeroCFOC = reader.GetValue <string>("numero_cfoc"), NumeroPTV = reader.GetValue <string>("numero_ptv"), NumeroCFCFR = reader.GetValue <string>("numero_cf_cfr"), NumeroTF = reader.GetValue <string>("numero_tf"), UnidadeMedida = reader.GetValue <string>("unidade_medida"), Origem = reader.GetValue <int>("origem"), OrigemTipo = reader.GetValue <int>("origem_tipo") }); } reader.Close(); } List <LaudoLaboratorial> laudoLaboratoriais = ObterLaudoLaboratorial(emissaoPTV.Produtos); emissaoPTV.LaboratorioNome = Mensagem.Concatenar(laudoLaboratoriais.Select(x => x.Nome).ToList()); emissaoPTV.NumeroLaudo = Mensagem.Concatenar(laudoLaboratoriais.Select(x => x.LaudoResultadoAnalise).ToList()); emissaoPTV.LaboratorioMunicipio = Mensagem.Concatenar(laudoLaboratoriais.Select(x => x.MunicipioTexto).ToList()); emissaoPTV.LaboratorioUF = Mensagem.Concatenar(laudoLaboratoriais.Select(x => x.EstadoTexto).ToList()); foreach (var item in emissaoPTV.Produtos.Where(xx => (xx.OrigemTipo == (int)eDocumentoFitossanitarioTipo.CFO || xx.OrigemTipo == (int)eDocumentoFitossanitarioTipo.CFOC || xx.OrigemTipo == (int)eDocumentoFitossanitarioTipo.PTV)).ToList()) { List <String> listDeclaracoesAdicionaisAux = ObterDeclaracaoAdicional(item.Origem, item.OrigemTipo, (int)ValidacoesGenericasBus.ObterTipoProducao(item.UnidadeMedida), item.CultivarId); item.DeclaracaoAdicional = String.Join(" ", listDeclaracoesAdicionaisAux.Distinct().ToList()); listDeclaracoesAdicionais.AddRange(listDeclaracoesAdicionaisAux); } emissaoPTV.DeclaracaoAdicionalHtml = String.Join(" ", listDeclaracoesAdicionais.Distinct().ToList()); #endregion #region Tratamento Fitossanitário emissaoPTV.Tratamentos = TratamentoFitossanitario(emissaoPTV.Produtos); if (emissaoPTV.Tratamentos == null || emissaoPTV.Tratamentos.Count <= 0) { emissaoPTV.Tratamentos = new List <TratamentosRelatorio>() { new TratamentosRelatorio() { } }; } #endregion #region Arquivo if (emissaoPTV.FuncionarioHabilitado.ArquivoId.HasValue && emissaoPTV.FuncionarioHabilitado.ArquivoId > 0) { ArquivoBus _busArquivo = new ArquivoBus(eExecutorTipo.Interno); emissaoPTV.AssinaturaDigital = _busArquivo.Obter(emissaoPTV.FuncionarioHabilitado.ArquivoId.Value); } #endregion } return(emissaoPTV); }
public bool CopiarDadosInstitucional(int empreendimentoID, int empreendimentoInternoID, BancoDeDados banco) { if (banco == null) { return(false); } if (_validar == null) { _validar = new BarragemDispensaLicencaValidar(); } BarragemDispensaLicencaInternoBus barragemDispLicencaInternoBus = new BarragemDispensaLicencaInternoBus(); BarragemDispensaLicenca caracterizacao = barragemDispLicencaInternoBus.ObterPorEmpreendimento(empreendimentoInternoID); caracterizacao.EmpreendimentoID = empreendimentoID; caracterizacao.InternoID = caracterizacao.Id; caracterizacao.InternoTID = caracterizacao.Tid; if (_validar.CopiarDadosInstitucional(caracterizacao)) { using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco, EsquemaCredenciadoBanco)) { bancoDeDados.IniciarTransacao(); #region Configurar caracterizacao.Id = ObterPorEmpreendimento(empreendimentoID, simplificado: true, banco: bancoDeDados).Id; if (caracterizacao.PossuiMonge.HasValue && !Convert.ToBoolean(caracterizacao.PossuiMonge)) { caracterizacao.MongeTipo = null; caracterizacao.EspecificacaoMonge = string.Empty; } if (caracterizacao.PossuiVertedouro.HasValue && !Convert.ToBoolean(caracterizacao.PossuiVertedouro)) { caracterizacao.VertedouroTipo = null; caracterizacao.EspecificacaoVertedouro = string.Empty; } #endregion #region Arquivo if (caracterizacao.Autorizacao != null && caracterizacao.Autorizacao.Id > 0) { ArquivoBus _busArquivoInterno = new ArquivoBus(eExecutorTipo.Interno); ArquivoBus _busArquivoCredenciado = new ArquivoBus(eExecutorTipo.Credenciado); Arquivo aux = _busArquivoInterno.Obter(caracterizacao.Autorizacao.Id.Value); //Obtém o arquivo completo do diretorio do Institucional(nome, buffer, etc) aux.Id = 0; //Zera o ID aux = _busArquivoCredenciado.SalvarTemp(aux); //salva no diretório temporário aux = _busArquivoCredenciado.Copiar(aux); //Copia para o diretório oficial //Salvar na Oficial ArquivoDa arquivoDa = new ArquivoDa(); arquivoDa.Salvar(aux, User.FuncionarioId, User.Name, User.Login, (int)eExecutorTipo.Credenciado, User.FuncionarioTid, bancoDeDados); caracterizacao.Autorizacao.Id = aux.Id; } #endregion _da.CopiarDadosInstitucional(caracterizacao, bancoDeDados); bancoDeDados.Commit(); } } return(Validacao.EhValido); }
public ArquivoProjeto EnviarArquivo(ProjetoGeografico projeto) { ArquivoProjeto arquivoEnviado; if (projeto.Arquivos == null || projeto.Arquivos.Count <= 0) { Validacao.Add(Mensagem.ProjetoGeografico.ArquivoNaoEncontrado); } arquivoEnviado = projeto.Arquivos[0]; try { if (_validar.EnviarArquivo(arquivoEnviado)) { GerenciadorTransacao.ObterIDAtual(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia()) { ArquivoBus _busArquivo = new ArquivoBus(eExecutorTipo.Interno); _busArquivo.Copiar(arquivoEnviado); _busArquivo.ObterTemporario(arquivoEnviado); arquivoEnviado.IdRelacionamento = _da.ExisteArquivoFila(arquivoEnviado); List <ArquivoProjeto> arquivosSalvos = _da.ObterArquivos(arquivoEnviado.ProjetoId).Where(x => x.Tipo == (int)eProjetoGeograficoArquivoTipo.ArquivoEnviado).ToList(); #region Erro de Duplicaçao de arquivos enviados if (arquivosSalvos.Count > 1) { _da.ExcluirArquivoDuplicados(arquivoEnviado.ProjetoId, bancoDeDados); arquivosSalvos = _da.ObterArquivos(arquivoEnviado.ProjetoId, bancoDeDados).Where(x => x.Tipo == (int)eProjetoGeograficoArquivoTipo.ArquivoEnviado).ToList(); } #endregion Arquivo arqAnterior = null; if (arquivosSalvos.Count > 0) { ArquivoProjeto arq = arquivosSalvos.SingleOrDefault(x => x.Tipo == (int)eProjetoGeograficoArquivoTipo.ArquivoEnviado); try { arqAnterior = _busArquivo.Obter((arq ?? new ArquivoProjeto()).Id.GetValueOrDefault()); if (arqAnterior != null) { arquivoEnviado.Id = arqAnterior.Id.Value; _busArquivo.Deletar(arqAnterior.Caminho); } } catch { ArquivoDa arqDa = new ArquivoDa(); if (arqAnterior == null && (arq ?? new ArquivoProjeto()).Id.GetValueOrDefault() > 0) { arqAnterior = _busArquivo.ObterDados((arq ?? new ArquivoProjeto()).Id.GetValueOrDefault()); } arqDa.MarcarDeletado(arqAnterior.Id.Value, arqAnterior.Caminho); } } ArquivoDa _arquivoDa = new ArquivoDa(); _arquivoDa.Salvar(arquivoEnviado, User.FuncionarioId, User.Name, User.Login, (int)eExecutorTipo.Interno, User.FuncionarioTid, bancoDeDados); //Atualiza a lista de arquivos do projeto _da.AtualizarArquivosEnviado(arquivoEnviado, bancoDeDados); arquivoEnviado.Buffer.Close(); arquivoEnviado.Buffer.Dispose(); arquivoEnviado.Buffer = null; arquivoEnviado.Etapa = (int)eFilaEtapaGeo.Validacao; //1; arquivoEnviado.Situacao = (int)eFilaSituacaoGeo.Aguardando; //1; if (arquivoEnviado.IdRelacionamento <= 0) { _da.InserirFila(arquivoEnviado, bancoDeDados); } else { _da.AlterarSituacaoFila(arquivoEnviado, bancoDeDados); } bancoDeDados.Commit(); ObterSituacao(arquivoEnviado); } } } catch (Exception exc) { Validacao.AddErro(exc); } return(arquivoEnviado); }
public void CopiarDadosCredenciado(Dependencia dependencia, int empreendimentoInternoID, BancoDeDados banco, BancoDeDados bancoCredenciado) { if (banco == null) { return; } #region Configurar Projeto //Obter do Credenciado Cred.ModuloProjetoGeografico.Bussiness.ProjetoGeograficoBus projetoGeoCredBus = new Cred.ModuloProjetoGeografico.Bussiness.ProjetoGeograficoBus(); ProjetoGeografico projetoGeo = projetoGeoCredBus.ObterHistorico(dependencia.DependenciaId, dependencia.DependenciaTid); eCaracterizacao caracterizacaoTipo = (eCaracterizacao)dependencia.DependenciaCaracterizacao; int projetoGeoCredenciadoId = projetoGeo.Id; int empreendimentoCredenciadoId = projetoGeo.EmpreendimentoId; bool atualizarDependencias = (!Desatualizado(projetoGeo.InternoID, projetoGeo.InternoTID) && !projetoGeo.AlteradoCopiar); #endregion if (_validar.CopiarDadosCredenciado(projetoGeo)) { GerenciadorTransacao.ObterIDAtual(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { bancoDeDados.IniciarTransacao(); _da.CopiarDadosCredenciado(projetoGeo, empreendimentoInternoID, bancoDeDados); projetoGeoCredBus.AtualizarInternoIdTid( empreendimentoCredenciadoId, projetoGeoCredenciadoId, (eCaracterizacao)projetoGeo.CaracterizacaoId, projetoGeo.Id, GerenciadorTransacao.ObterIDAtual(), bancoCredenciado); #region Arquivo ArquivoBus _busArquivoInterno = new ArquivoBus(eExecutorTipo.Interno); ArquivoBus _busArquivoCredenciado = new ArquivoBus(eExecutorTipo.Credenciado); foreach (var item in projetoGeo.Arquivos) { Arquivo aux = _busArquivoCredenciado.Obter(item.Id.Value); //Obtém o arquivo completo do diretorio do credenciado(nome, buffer, etc) aux.Id = 0; //Zera o ID aux = _busArquivoInterno.SalvarTemp(aux); //salva no diretório temporário aux = _busArquivoInterno.Copiar(aux); //Copia para o diretório oficial //Salvar na Oficial ArquivoDa arquivoDa = new ArquivoDa(); arquivoDa.Salvar(aux, User.FuncionarioId, User.Name, User.Login, (int)eExecutorTipo.Interno, User.FuncionarioTid, bancoDeDados); item.Id = aux.Id; } _da.SalvarArquivosCredenciado(projetoGeo, bancoDeDados); #endregion #region Histórico HistCaract.Historico historico = new HistCaract.Historico(); historico.Gerar(projetoGeo.Id, eHistoricoArtefatoCaracterizacao.projetogeografico, eHistoricoAcao.importar, bancoDeDados); historico.GerarGeo(projetoGeo.Id, eHistoricoArtefatoCaracterizacao.projetogeografico, eHistoricoAcao.importar, bancoDeDados); #endregion #region Dependencias //Gerencia as dependências projetoGeo.Dependencias = _caracterizacaoBus.ObterDependenciasAtual(empreendimentoInternoID, caracterizacaoTipo, eCaracterizacaoDependenciaTipo.ProjetoGeografico); _caracterizacaoBus.Dependencias(new Caracterizacao() { Id = projetoGeo.Id, Tipo = caracterizacaoTipo, DependenteTipo = eCaracterizacaoDependenciaTipo.ProjetoGeografico, Dependencias = projetoGeo.Dependencias }, bancoDeDados); if (projetoGeo.InternoID > 0) { if (atualizarDependencias) { CaracterizacaoBus caracterizacaoBus = new CaracterizacaoBus(); caracterizacaoBus.AtualizarDependentes(projetoGeo.InternoID, caracterizacaoTipo, eCaracterizacaoDependenciaTipo.ProjetoGeografico, projetoGeo.Tid, bancoDeDados); } } #endregion bancoDeDados.Commit(); } } }
internal HabilitacaoEmissaoPTVRelatorio Obter(int id) { HabilitacaoEmissaoPTVRelatorio habilitacao = null; using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia()) { #region SQL Comando comando = bancoDeDados.CriarComando(@"select t.arquivo, t.id, t.numero_habilitacao, t.numero_matricula, f.nome, p.texto profissao, o.orgao_sigla orgao_classe, f.cpf, t.rg, t.registro_orgao_classe, m.texto municipio, e.sigla estado, t.cep, t.telefone_residencial, t.telefone_celular, t.telefone_comercial, (t.logradouro || ' ' || t.numero || ' ' || t.bairro_gleba || ' ' || t.distrito_localidade) endereco, f.email, t.numero_visto_crea from tab_hab_emi_ptv t, tab_funcionario f, tab_profissao p, tab_orgao_classe o, lov_municipio m, lov_estado e where f.id(+) = t.funcionario and p.id(+) = t.profissao and o.id(+) = t.orgao_classe and m.id(+) = t.municipio and e.id(+) = t.estado and t.id =:id" ); #endregion comando.AdicionarParametroEntrada("id", id, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { while (reader.Read()) { habilitacao = new HabilitacaoEmissaoPTVRelatorio(); habilitacao.CEP = reader.GetValue <string>("cep"); habilitacao.CPF = reader.GetValue <string>("cpf"); habilitacao.CreaNumero = reader.GetValue <string>("numero_visto_crea"); habilitacao.CreaRegistro = reader.GetValue <string>("registro_orgao_classe"); habilitacao.Email = reader.GetValue <string>("email"); habilitacao.Endereco = reader.GetValue <string>("endereco"); habilitacao.HabilitacaoNumero = reader.GetValue <string>("numero_habilitacao"); habilitacao.Id = reader.GetValue <int>("id"); habilitacao.MatriculaNumero = reader.GetValue <string>("numero_matricula"); habilitacao.Municipio = reader.GetValue <string>("municipio"); habilitacao.Nome = reader.GetValue <string>("nome"); habilitacao.Profissao = reader.GetValue <string>("profissao"); habilitacao.RG = reader.GetValue <string>("rg"); habilitacao.OrgaoClasse = reader.GetValue <string>("orgao_classe"); habilitacao.TelCelular = reader.GetValue <string>("telefone_celular"); habilitacao.TelComercial = reader.GetValue <string>("telefone_comercial"); habilitacao.TelResidencial = reader.GetValue <string>("telefone_residencial"); habilitacao.UF = reader.GetValue <string>("estado"); habilitacao.Foto.Id = reader.GetValue <int>("arquivo"); habilitacao.TermoNumero = habilitacao.HabilitacaoNumero.Substring(habilitacao.HabilitacaoNumero.Length - 4) + "/" + habilitacao.HabilitacaoNumero.Substring(habilitacao.HabilitacaoNumero.Length - 6, 2); } reader.Close(); } #region Arquivo if (habilitacao.Foto.Id.HasValue && habilitacao.Foto.Id > 0) { ArquivoBus _busArquivo = new ArquivoBus(eExecutorTipo.Interno); habilitacao.Foto = _busArquivo.Obter(habilitacao.Foto.Id.Value); } #endregion } return(habilitacao); }
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); } }
public void CopiarDadosInstitucional(int empreendimentoID, int empreendimentoInternoID, eCaracterizacao caracterizacaoTipo, BancoDeDados banco) { if (banco == null) { return; } #region Configurar Projeto ProjetoGeograficoInternoBus projetoGeograficoInternoBus = new ProjetoGeograficoInternoBus(); ProjetoGeografico projetoGeo = new ProjetoGeografico(); //Obter do Institucional projetoGeo.InternoID = projetoGeograficoInternoBus.ExisteProjetoGeografico(empreendimentoInternoID, (int)caracterizacaoTipo); if (projetoGeo.InternoID > 0) { projetoGeo = projetoGeograficoInternoBus.ObterProjeto(projetoGeo.InternoID); } projetoGeo.EmpreendimentoId = empreendimentoID; projetoGeo.InternoID = projetoGeo.Id; projetoGeo.InternoTID = projetoGeo.Tid; #endregion if (_validar.CopiarDadosInstitucional(projetoGeo)) { projetoGeo.Id = 0; //Só é apagado aqui por causa da validação de soprepor ponto do empreendimento using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco, EsquemaBancoCredenciado)) { bancoDeDados.IniciarTransacao(); _da.CopiarDadosInstitucional(projetoGeo); #region Arquivo ArquivoBus _busArquivoInterno = new ArquivoBus(eExecutorTipo.Interno); ArquivoBus _busArquivoCredenciado = new ArquivoBus(eExecutorTipo.Credenciado); foreach (var item in projetoGeo.Arquivos) { Arquivo aux = _busArquivoInterno.Obter(item.Id.Value); //Obtém o arquivo completo do diretorio do interno(nome, buffer, etc) aux.Id = 0; //Zera o ID aux = _busArquivoCredenciado.SalvarTemp(aux); //salva no diretório temporário aux = _busArquivoCredenciado.Copiar(aux); //Copia para o diretório oficial //Salvar na Oficial ArquivoDa arquivoDa = new ArquivoDa(EsquemaBancoCredenciado); arquivoDa.Salvar(aux, User.FuncionarioId, User.Name, User.Login, (int)eExecutorTipo.Credenciado, User.FuncionarioTid, bancoDeDados); item.Id = aux.Id; } _da.SalvarArquivosInstitucional(projetoGeo, bancoDeDados); #endregion #region Histórico Historico historico = new Historico(); historico.Gerar(projetoGeo.Id, eHistoricoArtefatoCaracterizacao.projetogeografico, eHistoricoAcao.copiar, bancoDeDados, null); historico.GerarGeo(projetoGeo.Id, eHistoricoArtefatoCaracterizacao.projetogeografico, eHistoricoAcao.copiar, bancoDeDados, null); #endregion #region Dependencias //Gerencia as dependências projetoGeo.Dependencias = _caracterizacaoBus.ObterDependenciasAtual(empreendimentoID, caracterizacaoTipo, eCaracterizacaoDependenciaTipo.ProjetoGeografico); _caracterizacaoBus.Dependencias(new Caracterizacao() { Id = projetoGeo.Id, Tipo = caracterizacaoTipo, DependenteTipo = eCaracterizacaoDependenciaTipo.ProjetoGeografico, Dependencias = projetoGeo.Dependencias }, bancoDeDados); #endregion bancoDeDados.Commit(); } } }
public MemoryStream GerarPdf(Titulo titulo, BancoDeDados banco = null) { if ((titulo.Modelo.Arquivo.Id ?? 0) <= 0) { return(null); } ArquivoBus busArquivo = new ArquivoBus(eExecutorTipo.Interno); Arquivo templatePdf = busArquivo.Obter(titulo.Modelo.Arquivo.Id.Value); //Carrega as atividades para o ObterDadosPdf; if (titulo.Atividades == null || titulo.Atividades.Count == 0) { titulo.Atividades = _da.ObterAtividades(titulo.Id); } IEspecificidadeBus busEspecificiade = EspecificiadadeBusFactory.Criar(titulo.Modelo.Codigo.Value); titulo.Especificidade = busEspecificiade.Obter(titulo.Id) as Especificidade; titulo.ToEspecificidade(); IConfiguradorPdf configurador = busEspecificiade.ObterConfiguradorPdf(titulo.Especificidade) ?? new ConfiguracaoDefault(); configurador.ExibirSimplesConferencia = (titulo.Situacao.Id == (int)eTituloSituacao.Cadastrado) || (titulo.Situacao.Id == (int)eTituloSituacao.EmCadastro) || (titulo.Situacao.Id == (int)eTituloSituacao.AguardandoPagamento); Object dataSource = busEspecificiade.ObterDadosPdf(titulo.Especificidade, banco); #region Condicionantes var dataSourceTitulo = (((dynamic)dataSource).Titulo as DataSourceBase); if (titulo.Modelo.Regra(eRegra.Condicionantes)) { if (dataSourceTitulo.Condicionantes == null || dataSourceTitulo.Condicionantes.Count == 0) { EspecificidadeDa daEsp = new EspecificidadeDa(); dataSourceTitulo.Condicionantes = daEsp.ObterCondicionantes(titulo.Id); } } IConfiguracaoEvent cnfEvent = configurador as IConfiguracaoEvent; if (cnfEvent != null) { if (!titulo.Modelo.Regra(eRegra.Condicionantes) || dataSourceTitulo.Condicionantes == null || dataSourceTitulo.Condicionantes.Count == 0) { cnfEvent.AddLoadAcao((doc, dataSourceCnf) => { Table tabela = doc.FindTable("«TableStart:Titulo.Condicionantes»"); if (tabela != null) { if (configurador.CondicionanteRemovePageBreakAnterior) { tabela.RemovePageBreakAnterior(); } AsposeExtensoes.RemoveTables(new List <Table>() { tabela }); } }); } else { cnfEvent.AddExecutedAcao((doc, dataSourceCnf) => { Table tabela = doc.LastTable("«remover»"); while (tabela != null) { AsposeExtensoes.RemoveTables(new List <Table> { tabela }); tabela = doc.LastTable("«remover»"); } }); } } #endregion GeradorAspose gerador = new GeradorAspose(configurador); #region Assinantes List <TituloAssinante> assinantes = _da.ObterAssinantes(titulo.Id); if (busEspecificiade.CargosOrdenar != null && busEspecificiade.CargosOrdenar.Count > 0) { assinantes = assinantes.OrderByDescending(assinante => busEspecificiade.CargosOrdenar.IndexOf((eCargo)assinante.FuncionarioCargoCodigo)).ToList(); } configurador.Assinantes = assinantes.Select(x => (IAssinante) new AssinanteDefault() { Nome = x.FuncionarioNome, Cargo = x.FuncionarioCargoNome } ).ToList(); //Adiciona os assinantes da Especificidade configurador.Assinantes.AddRange((((dynamic)dataSource).Titulo as IAssinanteDataSource).AssinanteSource); #endregion MemoryStream msPdf = gerador.Pdf(templatePdf, dataSource); if (dataSource is Tecnomapas.Blocos.Entities.Etx.ModuloRelatorio.IAnexoPdf) { Tecnomapas.Blocos.Entities.Etx.ModuloRelatorio.IAnexoPdf dataAnexos = dataSource as Tecnomapas.Blocos.Entities.Etx.ModuloRelatorio.IAnexoPdf; msPdf = GeradorAspose.AnexarPdf(msPdf, dataAnexos.AnexosPdfs); } return(msPdf); }
internal HabilitarEmissaoCFOCFOCRelatorio Obter(int id) { HabilitarEmissaoCFOCFOCRelatorio habilitar = null; PragaHabilitarEmissaoRelatorio praga = null; using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia()) { #region Habilitar Emissão Comando comando = bancoDeDados.CriarComando(@" select t.id, t.tid, t.responsavel, t.responsavel_arquivo, aa.nome responsavel_arquivo_nome, p.nome responsavel_nome, p.cpf responsavel_cpf, p.rg responsavel_rg, t.numero_habilitacao, trunc(t.validade_registro) validade_registro, trunc(t.situacao_data) situacao_data, t.situacao, ls.texto situacao_texto, t.motivo, lm.texto motivo_texto, t.observacao, t.numero_dua, t.extensao_habilitacao, t.numero_habilitacao_ori, t.registro_crea, t.uf, t.numero_visto_crea, (select h.data_execucao from hst_hab_emi_cfo_cfoc h where h.habilitar_emissao_id = t.id and h.acao_executada = 483) data_cadastro from tab_hab_emi_cfo_cfoc t, cre_pessoa p, tab_credenciado cc, lov_hab_emissao_cfo_situacao ls, lov_hab_emissao_cfo_motivo lm, tab_arquivo aa where t.situacao = ls.id and t.motivo = lm.id(+) and t.responsavel_arquivo = aa.id(+) and t.responsavel = cc.id and cc.pessoa = p.id and t.id = :id" , UsuarioCredenciado); comando.AdicionarParametroEntrada("id", id, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { if (reader.Read()) { habilitar = new HabilitarEmissaoCFOCFOCRelatorio(); habilitar.Id = reader.GetValue <Int32>("id"); habilitar.Tid = reader.GetValue <String>("tid"); habilitar.Responsavel.Id = reader.GetValue <Int32>("responsavel"); habilitar.Foto.Id = reader.GetValue <Int32>("responsavel_arquivo"); habilitar.Foto.Nome = reader.GetValue <String>("responsavel_arquivo_nome"); habilitar.Responsavel.NomeRazaoSocial = reader.GetValue <String>("responsavel_nome"); habilitar.Responsavel.CPFCNPJ = reader.GetValue <String>("responsavel_cpf"); habilitar.Responsavel.Fisica.RG = reader.GetValue <String>("responsavel_rg"); habilitar.NumeroHabilitacao = reader.GetValue <String>("numero_habilitacao"); habilitar.ValidadeRegistro = reader.GetValue <DateTime>("validade_registro").ToShortDateString(); habilitar.SituacaoData = reader.GetValue <DateTime>("situacao_data").ToShortDateString(); habilitar.SituacaoTexto = reader.GetValue <String>("situacao_texto"); habilitar.MotivoTexto = reader.GetValue <String>("motivo_texto"); habilitar.Observacao = reader.GetValue <String>("observacao"); habilitar.NumeroDua = reader.GetValue <String>("numero_dua"); habilitar.ExtensaoHabilitacaoBool = (reader.GetValue <Int32>("extensao_habilitacao") == 1); habilitar.ExtensaoHabilitacao = (habilitar.ExtensaoHabilitacaoBool ? "Sim" : "Não"); habilitar.NumeroHabilitacaoOrigem = reader.GetValue <String>("numero_habilitacao_ori"); habilitar.RegistroCrea = reader.GetValue <String>("registro_crea"); habilitar.NumeroVistoCrea = reader.GetValue <String>("numero_visto_crea"); habilitar.DataCadastro = reader.GetValue <DateTime>("data_cadastro"); } reader.Close(); } #endregion #region Pragas comando = bancoDeDados.CriarComando(@" select hp.id, hp.praga, pa.nome_cientifico, pa.nome_comum, trunc(hp.data_habilitacao_inicial) data_habilitacao_inicial, trunc(hp.data_habilitacao_final) data_habilitacao_final, hp.tid, stragg(c.texto) cultura from tab_hab_emi_cfo_cfoc_praga hp, tab_praga pa, tab_praga_cultura pc, tab_cultura c where hp.praga = pa.id and hp.praga = pc.praga(+) and pc.cultura = c.id(+) and hp.habilitar_emi_id = :id group by hp.id, hp.praga, pa.nome_cientifico, pa.nome_comum, hp.data_habilitacao_inicial, hp.data_habilitacao_final, hp.tid" , UsuarioCredenciado); comando.AdicionarParametroEntrada("id", id, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { while (reader.Read()) { praga = new PragaHabilitarEmissaoRelatorio(); praga.Id = reader.GetValue <Int32>("id"); praga.Praga.Id = reader.GetValue <Int32>("praga"); praga.Praga.NomeCientifico = reader.GetValue <String>("nome_cientifico"); praga.Praga.NomeComum = reader.GetValue <String>("nome_comum"); praga.DataInicialHabilitacao = reader.GetValue <DateTime>("data_habilitacao_inicial").ToShortDateString();; praga.DataFinalHabilitacao = reader.GetValue <DateTime>("data_habilitacao_final").ToShortDateString();; praga.Tid = reader.GetValue <String>("tid"); praga.Cultura = reader.GetValue <String>("cultura"); habilitar.Pragas.Add(praga); } reader.Close(); } #endregion #region Arquivo if (habilitar.Foto.Id.HasValue && habilitar.Foto.Id > 0) { ArquivoBus _busArquivo = new ArquivoBus(eExecutorTipo.Interno); habilitar.Foto = _busArquivo.Obter(habilitar.Foto.Id.Value); } #endregion } if (habilitar != null) { using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(UsuarioCredenciado)) { #region Profissão/Endereço Comando comando = bancoDeDados.CriarComando(@"select pp.id, pp.registro, p.texto profissao, ee.logradouro, ee.numero, ee.cep, ee.bairro, ee.distrito, (select es.sigla from lov_estado es where es.id = ee.estado) estado, (select em.texto from lov_municipio em where em.id = ee.municipio) municipio, mm.valor email from tab_credenciado c, tab_pessoa_profissao pp, tab_profissao p, tab_pessoa_endereco ee, tab_pessoa_meio_contato mm where c.pessoa = pp.pessoa and p.id = pp.profissao and c.id = :id and c.pessoa = ee.pessoa(+) and c.pessoa = mm.pessoa(+) and mm.meio_contato(+) = 5 and rownum = 1" ); comando.AdicionarParametroEntrada("id", habilitar.Responsavel.Id, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { if (reader.Read()) { habilitar.Profissao.ProfissaoId = reader.GetValue <Int32>("id"); habilitar.Profissao.ProfissaoTexto = reader.GetValue <String>("profissao"); habilitar.Profissao.Registro = reader.GetValue <String>("registro"); habilitar.Responsavel.Endereco.Logradouro = reader.GetValue <String>("logradouro"); habilitar.Responsavel.Endereco.Cep = reader.GetValue <String>("cep"); habilitar.Responsavel.Endereco.Numero = reader.GetValue <String>("numero"); habilitar.Responsavel.Endereco.Bairro = reader.GetValue <String>("bairro"); habilitar.Responsavel.Endereco.Distrito = reader.GetValue <String>("distrito"); habilitar.Responsavel.Endereco.EstadoTexto = reader.GetValue <String>("estado"); habilitar.Responsavel.Endereco.MunicipioTexto = reader.GetValue <String>("municipio"); } reader.Close(); } #endregion #region Contato comando = bancoDeDados.CriarComando(@"select mm.meio_contato, mm.valor from tab_credenciado c, tab_pessoa_meio_contato mm where c.id = :id and c.pessoa = mm.pessoa" ); comando.AdicionarParametroEntrada("id", habilitar.Responsavel.Id, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { while (reader.Read()) { ContatoRelatorio contato = new ContatoRelatorio(); contato.TipoContato = (Tecnomapas.Blocos.Entities.Interno.RelatorioIndividual.Entities.eTipoContato)reader.GetValue <Int32>("meio_contato"); contato.Valor = reader.GetValue <String>("valor"); habilitar.Responsavel.MeiosContatos.Add(contato); } reader.Close(); } #endregion } } return(habilitar); }
public bool Analisar(PTV eptv) { try { Tecnomapas.EtramiteX.Credenciado.Model.ModuloPTV.Business.PTVBus ptvCredenciadoBus = new Tecnomapas.EtramiteX.Credenciado.Model.ModuloPTV.Business.PTVBus(); PTV eptvBanco = ptvCredenciadoBus.Obter(eptv.Id); if (!_validar.Analisar(eptv, eptvBanco)) { return(false); } GerenciadorTransacao.ObterIDAtual(); using (BancoDeDados bancoDeDadosInterno = BancoDeDados.ObterInstancia(SchemaUsuarioInterno)) { bancoDeDadosInterno.IniciarTransacao(); using (BancoDeDados bancoDeDadosCredenciado = BancoDeDados.ObterInstancia(SchemaUsuarioCredenciado)) { bancoDeDadosCredenciado.IniciarTransacao(); _da.AnalizarEPTV(eptv, bancoDeDadosCredenciado); if (eptv.Situacao == (int)eSolicitarPTVSituacao.Aprovado) { eptvBanco.ValidoAte = eptv.ValidoAte; eptvBanco.ResponsavelTecnicoId = eptv.ResponsavelTecnicoId; eptvBanco.ResponsavelTecnicoNome = eptv.ResponsavelTecnicoNome; eptvBanco.LocalEmissaoId = eptv.LocalEmissaoId; eptvBanco.TemAssinatura = _da.ExisteAssinaturaDigital(eptv.ResponsavelTecnicoId); if (!_validar.Importar(eptvBanco)) { return(Validacao.EhValido); } if (eptvBanco.Anexos.Any()) { var arquivoBusCred = new ArquivoBus(eExecutorTipo.Credenciado); var arquivoBusInst = new ArquivoBus(eExecutorTipo.Interno); foreach (var anexo in eptvBanco.Anexos) { anexo.Arquivo = arquivoBusInst.Salvar(arquivoBusCred.Obter(anexo.Arquivo.Id.Value)); } } try { _da.Importar(eptvBanco, bancoDeDadosInterno); } catch (Exception exc) { if (exc.Message.Contains("UK_TAB_PTV_EPTV")) { Validacao.Add(new Mensagem { Texto = "O EPTV já foi importado para o institucional.", Tipo = eTipoMensagem.Advertencia }); return(Validacao.EhValido); } throw exc; } } string textoEmail = string.Empty; switch (eptv.Situacao) { case 3: eptvBanco.SituacaoTexto = "Aprovado"; textoEmail = _configSys.Obter <String>(ConfiguracaoSistema.KeyModeloTextoEmailAprovarSolicitacaoPTV); break; case 4: eptvBanco.SituacaoTexto = "Rejeitado"; textoEmail = _configSys.Obter <String>(ConfiguracaoSistema.KeyModeloTextoEmailRejeitarSolicitacaoPTV) + eptv.SituacaoMotivo; break; case 5: eptvBanco.SituacaoTexto = "Fiscalização Agendada"; textoEmail = _configSys.Obter <String>(ConfiguracaoSistema.KeyModeloTextoEmailAgendarFiscalizacaoSolicitacaoPTV); break; } #region [ Enviar E-mail ] if (eptv.Situacao == (int)eSolicitarPTVSituacao.Bloqueado) { PTVComunicador comunicador = new PTVComunicador(); comunicador.Id = _da.ObterIDComunicador(eptv.Id); comunicador.PTVId = eptv.Id; comunicador.PTVNumero = eptv.Numero; comunicador.liberadoCredenciado = true; var conversa = new PTVConversa(); conversa.Texto = eptv.SituacaoMotivo; comunicador.Conversas.Add(conversa); SalvarConversa(comunicador, bancoDeDadosInterno, bancoDeDadosCredenciado); } else { var emailKeys = new Dictionary <string, string> { { "[data situacao]", DateTime.Today.ToShortDateString() }, { "[hora situacao]", DateTime.Now.ToShortTimeString() }, { "[numero]", eptvBanco.Numero.ToString() }, { "[local vistoria]", eptvBanco.LocalVistoriaTexto }, { "[hora vistoria]", eptv.DataHoraVistoriaTexto } }; foreach (var item in emailKeys) { textoEmail = textoEmail.Replace(item.Key, item.Value); } var email = new Email(); email.Assunto = _configSys.Obter <String>(ConfiguracaoSistema.KeyOrgaoSigla); email.Texto = textoEmail; email.Tipo = eEmailTipo.AnaliseEPTV; email.Codigo = eptv.Id; List <String> lstEmail = _da.ObterEmailsCredenciado(eptv.Id, bancoDeDadosCredenciado); if (lstEmail != null && lstEmail.Count > 0) { email.Destinatario = String.Join(", ", lstEmail.ToArray()); EmailBus emailBus = new EmailBus(); emailBus.Enviar(email, bancoDeDadosInterno); } } #endregion bancoDeDadosInterno.Commit(); bancoDeDadosCredenciado.Commit(); } } } catch (Exception ex) { Validacao.AddErro(ex); } return(Validacao.EhValido); }
public ArquivoProjeto EnviarArquivo(ArquivoProjeto arquivo) { try { if (_validar.EnviarArquivo(arquivo)) { GerenciadorTransacao.ObterIDAtual(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(EsquemaBancoCredenciado)) { ArquivoBus _busArquivo = new ArquivoBus(eExecutorTipo.Credenciado); _busArquivo.Copiar(arquivo); _busArquivo.ObterTemporario(arquivo); arquivo.Processamento.Id = _da.ExisteItemFila(arquivo.Processamento); _da.ExcluirArquivoDuplicados(arquivo.ProjetoId, bancoDeDados); ArquivoProjeto arq = _da.ObterArquivos(arquivo.ProjetoId, bancoDeDados).SingleOrDefault(x => x.Tipo == (int)eProjetoGeograficoArquivoTipo.ArquivoEnviado) ?? new ArquivoProjeto(); if (arq.Id.GetValueOrDefault() > 0 && !_da.ArquivoAssociadoProjetoDigital(arq.Id.GetValueOrDefault())) { Arquivo arqAnterior = null; try { arqAnterior = _busArquivo.Obter(arq.Id.GetValueOrDefault()); if (arqAnterior != null) { arquivo.Id = arqAnterior.Id.Value; _busArquivo.Deletar(arqAnterior.Caminho); } } catch { ArquivoDa arqDa = new ArquivoDa(); if (arqAnterior == null && (arq ?? new ArquivoProjeto()).Id.GetValueOrDefault() > 0) { arqAnterior = _busArquivo.ObterDados((arq ?? new ArquivoProjeto()).Id.GetValueOrDefault()); } arqDa.MarcarDeletado(arqAnterior.Id.Value, arqAnterior.Caminho, bancoDeDados); } } ArquivoDa arquivoDa = new ArquivoDa(); arquivoDa.Salvar(arquivo, User.FuncionarioId, User.Name, User.Login, (int)eExecutorTipo.Interno, User.FuncionarioTid, bancoDeDados); //Atualiza a lista de arquivos do projeto _da.AtualizarArquivosEnviado(arquivo, bancoDeDados); arquivo.Buffer.Close(); arquivo.Buffer.Dispose(); arquivo.Buffer = null; arquivo.Processamento.Etapa = (int)eFilaEtapaGeo.Validacao; arquivo.Processamento.Situacao = (int)eFilaSituacaoGeo.Aguardando; if (arquivo.Processamento.Id <= 0) { _da.InserirFila(arquivo.Processamento, bancoDeDados); } else { _da.AlterarSituacaoFila(arquivo.Processamento, bancoDeDados); } bancoDeDados.Commit(); ObterSituacao(arquivo.Processamento); } } } catch (Exception exc) { Validacao.AddErro(exc); } return(arquivo); }