public object ObterDadosPdf(IEspecificidade especificidade, BancoDeDados banco) { try { LaudoVistoriaFundiaria esp = especificidade as LaudoVistoriaFundiaria; Laudo laudo = _da.ObterDadosPDF(especificidade.Titulo.Id, banco); #region Regularização Fundiaria Dominialidade dominialidade = new DominialidadeBus().ObterPorEmpreendimento(laudo.Empreendimento.Id.GetValueOrDefault()); RegularizacaoFundiaria regularizacao = new RegularizacaoFundiariaBus().ObterPorEmpreendimento(laudo.Empreendimento.Id.GetValueOrDefault()); regularizacao.Posses = regularizacao.Posses.Where(x => esp.RegularizacaoDominios.Exists(y => y.DominioId == x.Id)).ToList(); laudo.RegularizacaoFundiaria = new RegularizacaoFundiariaPDF(regularizacao); foreach (var item in laudo.RegularizacaoFundiaria.Posses) { item.Dominio = new DominioPDF(dominialidade.Dominios.FirstOrDefault(x => x.Id == item.DominioId)); } #endregion return(laudo); } catch (Exception exc) { Validacao.AddErro(exc); } return(null); }
public bool Salvar(IEspecificidade especificidade) { LaudoVistoriaFundiaria esp = especificidade as LaudoVistoriaFundiaria; CaracterizacaoValidar caracterizacaoValidar = new CaracterizacaoValidar(); CaracterizacaoBus caracterizacaoBus = new CaracterizacaoBus(); LaudoVistoriaFundiariaBus busLaudo = new LaudoVistoriaFundiariaBus(); List <Dependencia> dependencias = new List <Dependencia>(); //Genéricas RequerimentoAtividade(esp, false, true); if (esp.Destinatario <= 0) { Validacao.Add(Mensagem.LaudoVistoriaFundiariaMsg.DestinatarioObrigatorio); } if (esp.RegularizacaoDominios.Count <= 0) { Validacao.Add(Mensagem.LaudoVistoriaFundiariaMsg.RegularizacaoDominioObrigatorio); } int idCaracterizacao = caracterizacaoBus.Existe(especificidade.Titulo.EmpreendimentoId.GetValueOrDefault(), eCaracterizacao.RegularizacaoFundiaria); if (idCaracterizacao > 0) { dependencias = caracterizacaoBus.ObterDependencias(idCaracterizacao, eCaracterizacao.RegularizacaoFundiaria, eCaracterizacaoDependenciaTipo.Caracterizacao); if (caracterizacaoValidar.DependenciasAlteradas(especificidade.Titulo.EmpreendimentoId.GetValueOrDefault(), (int)eCaracterizacao.RegularizacaoFundiaria, eCaracterizacaoDependenciaTipo.Caracterizacao, dependencias) != String.Empty) { Validacao.Add(Mensagem.LaudoVistoriaFundiariaMsg.RegularizacaoFundiariaInvalida); } } else { Validacao.Add(Mensagem.LaudoVistoriaFundiariaMsg.RegularizacaoFundiariaObrigatorio); } #region Regularizacao fundiaria List <Int32> idsPossesRegularizacao = busLaudo.ObterPossesRegularizacao(especificidade.Titulo.EmpreendimentoId.GetValueOrDefault()).Select(x => Convert.ToInt32(x.Id)).ToList(); esp.RegularizacaoDominios.ForEach(x => { if (!idsPossesRegularizacao.Contains(x.DominioId)) { Validacao.Add(Mensagem.LaudoVistoriaFundiariaMsg.RegularizacaoDominioInexistente); } }); #endregion ValidacoesGenericasBus.DataMensagem(esp.DataVistoria, "Laudo_DataVistoria_DataTexto", "vistoria"); if (busLaudo.ExistePecaTecnica(esp.Atividades.First().Id, esp.ProtocoloReq.Id) <= 0) { Validacao.Add(Mensagem.LaudoVistoriaFundiariaMsg.PecaTecnicaObrigatorio(esp.Atividades.First().NomeAtividade)); } return(Validacao.EhValido); }
public void Salvar(IEspecificidade especificidade, BancoDeDados banco) { LaudoVistoriaFundiaria laudo = especificidade as LaudoVistoriaFundiaria; using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { bancoDeDados.IniciarTransacao(); _da.Salvar(laudo, bancoDeDados); bancoDeDados.Commit(); } }
public object ObterDadosPdf(IEspecificidade especificidade, BancoDeDados banco) { try { LaudoVistoriaFundiaria esp = especificidade as LaudoVistoriaFundiaria; Laudo laudo = _da.ObterDadosPDF(especificidade.Titulo.Id, banco); #region Regularização Fundiaria //Dominialidade dominialidade = new DominialidadeBus().ObterPorEmpreendimento(laudo.Empreendimento.Id.GetValueOrDefault()); RegularizacaoFundiaria regularizacao = new RegularizacaoFundiariaBus().ObterPorEmpreendimento(laudo.Empreendimento.Id.GetValueOrDefault()); regularizacao.Posses = regularizacao.Posses.Where(x => esp.RegularizacaoDominios.Exists(y => y.DominioId == x.Id)).OrderBy(x => x.Identificacao).ToList(); laudo.RegularizacaoFundiaria = new RegularizacaoFundiariaPDF(regularizacao); DominioPDF dominio; foreach (var item in laudo.RegularizacaoFundiaria.Posses) { dominio = new DominioPDF(); dominio.Identificacao = item.Identificacao; dominio.ComprovacaoTexto = item.ComprovacaoTexto; dominio.NumeroCCIR = item.NumeroCCIR; dominio.Registro = item.DescricaoComprovacao; dominio.AreaCroquiDecimal = Convert.ToDecimal(item.AreaCroqui); dominio.AreaDocumentoDecimal = Convert.ToDecimal(item.AreaPosseDocumento); dominio.AreaCCIR = item.AreaCCIR.ToString(); dominio.DataAtualizacao = item.DataAtualizacao; dominio.ConfrontacaoNorte = item.ConfrontacaoNorte; dominio.ConfrontacaoSul = item.ConfrontacaoSul; dominio.ConfrontacaoLeste = item.ConfrontacaoLeste; dominio.ConfrontacaoOeste = item.ConfrontacaoOeste; item.Dominio = dominio; } #endregion return(laudo); } catch (Exception exc) { Validacao.AddErro(exc); } return(null); }
public ActionResult LaudoVistoriaFundiaria(EspecificidadeVME especificidade) { LaudoVistoriaFundiariaBus _busLaudo = new LaudoVistoriaFundiariaBus(); List <Protocolos> lstProcessosDocumentos = _busTitulo.ObterProcessosDocumentos(especificidade.ProtocoloId); List <AtividadeSolicitada> lstAtividades = new List <AtividadeSolicitada>(); List <PessoaLst> destinatarios = new List <PessoaLst>(); Titulo titulo = new Titulo(); int atividadeSelecionada = 0; LaudoVistoriaFundiaria laudo = new LaudoVistoriaFundiaria(); string htmlEspecificidade = string.Empty; if (especificidade.TituloId > 0) { titulo = _busTitulo.ObterSimplificado(especificidade.TituloId); titulo.Atividades = _busTitulo.ObterAtividades(especificidade.TituloId); if (titulo.Atividades.Count > 0) { atividadeSelecionada = titulo.Atividades[0].Id; } laudo = _busLaudo.Obter(especificidade.TituloId) as LaudoVistoriaFundiaria; if (laudo != null) { especificidade.AtividadeProcDocReq = laudo.ProtocoloReq; } _busLaudo.EhHistorico = especificidade.IsVisualizar; if (especificidade.ProtocoloId > 0) { if (_busEspecificidade.ExisteProcDocFilhoQueFoiDesassociado(especificidade.TituloId)) { lstAtividades = new List <AtividadeSolicitada>(); titulo.Atividades = new List <Atividade>(); } else { lstAtividades = _busAtividade.ObterAtividadesLista(especificidade.AtividadeProcDocReq.ToProtocolo()); } if (titulo.Situacao.Id == (int)eTituloSituacao.Cadastrado) { destinatarios = _busTitulo.ObterDestinatarios(especificidade.ProtocoloId); } else { destinatarios.Add(new PessoaLst() { Id = laudo.Destinatario, Texto = laudo.DestinatarioNomeRazao, IsAtivo = true }); } if (!especificidade.IsVisualizar) { _busEspecificidade.PossuiAtividadeEmAndamento(especificidade.ProtocoloId); } } } if (!Validacao.EhValido) { return(Json(new { Msg = Validacao.Erros, EhValido = Validacao.EhValido, @Html = string.Empty }, JsonRequestBehavior.AllowGet)); } LaudoVistoriaFundiariaVM vm = new LaudoVistoriaFundiariaVM( lstProcessosDocumentos, lstAtividades, destinatarios, _busLaudo.ObterPossesRegularizacao(especificidade.EmpreendimentoId), especificidade.AtividadeProcDocReqKey, atividadeSelecionada, especificidade.IsVisualizar); vm.Laudo = laudo; if (especificidade.TituloId > 0) { vm.Atividades.Atividades = titulo.Atividades; } htmlEspecificidade = ViewModelHelper.RenderPartialViewToString(ControllerContext, "~/Areas/Especificidades/Views/Laudo/LaudoVistoriaFundiaria.ascx", vm); return(Json(new { Msg = Validacao.Erros, EhValido = Validacao.EhValido, @Html = htmlEspecificidade }, JsonRequestBehavior.AllowGet)); }
internal void Salvar(LaudoVistoriaFundiaria laudo, BancoDeDados banco = null) { using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { bancoDeDados.IniciarTransacao(); #region Cadastro do Titulo eHistoricoAcao acao; object id; //Verifica a existencia da especificidade Comando comando = bancoDeDados.CriarComando(@"select e.id from {0}esp_laudo_vistoria_fundiaria e where e.titulo = :titulo", EsquemaBanco); comando.AdicionarParametroEntrada("titulo", laudo.Titulo.Id, DbType.Int32); id = bancoDeDados.ExecutarScalar(comando); if (id != null && !Convert.IsDBNull(id)) { comando = bancoDeDados.CriarComando(@"update {0}esp_laudo_vistoria_fundiaria e set e.titulo = :titulo, e.protocolo = :protocolo, e.destinatario = :destinatario, e.data_vistoria = :data_vistoria, e.regularizacao_fundiaria = :regularizacao_fundiaria, e.tid = :tid where e.titulo = :titulo" , EsquemaBanco); acao = eHistoricoAcao.atualizar; laudo.Id = Convert.ToInt32(id); } else { comando = bancoDeDados.CriarComando(@"insert into {0}esp_laudo_vistoria_fundiaria(id, titulo, protocolo, destinatario, data_vistoria, regularizacao_fundiaria, tid) values ({0}seq_esp_laudo_visto_florestal.nextval, :titulo, :protocolo, :destinatario, :data_vistoria, :regularizacao_fundiaria, :tid) returning id into :id" , EsquemaBanco); acao = eHistoricoAcao.criar; comando.AdicionarParametroSaida("id", DbType.Int32); } comando.AdicionarParametroEntrada("titulo", laudo.Titulo.Id, DbType.Int32); comando.AdicionarParametroEntrada("protocolo", laudo.ProtocoloReq.Id, DbType.Int32); comando.AdicionarParametroEntrada("destinatario", laudo.Destinatario, DbType.Int32); comando.AdicionarParametroEntrada("data_vistoria", laudo.DataVistoria.Data, DbType.DateTime); comando.AdicionarParametroEntrada("regularizacao_fundiaria", laudo.RegularizacaoId, DbType.Int32); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); bancoDeDados.ExecutarNonQuery(comando); if (id == null || Convert.IsDBNull(id)) { laudo = laudo ?? new LaudoVistoriaFundiaria(); laudo.Id = Convert.ToInt32(comando.ObterValorParametro("id")); } //Regularizacao Dominios comando = bancoDeDados.CriarComando("delete from {0}esp_laudo_vist_fund_domin d ", EsquemaBanco); comando.DbCommand.CommandText += String.Format("where d.especificidade = :especificidade{0}", comando.AdicionarNotIn("and", "d.id", DbType.Int32, laudo.RegularizacaoDominios.Select(x => x.Id).ToList())); comando.AdicionarParametroEntrada("especificidade", laudo.Id, DbType.Int32); bancoDeDados.ExecutarNonQuery(comando); #region Regularizacao Dominios if (laudo.RegularizacaoDominios != null && laudo.RegularizacaoDominios.Count > 0) { foreach (var item in laudo.RegularizacaoDominios) { object regularizacaoDominioTid; comando = bancoDeDados.CriarComando(@"select (case when t.situacao in (1, 2, 4) then (select c.tid from crt_regularizacao_dominio c where c.id = :regularizacao_dominio) else (select dominio_tid from esp_laudo_vist_fund_domin where especificidade = (select e.id from esp_laudo_vistoria_fundiaria e where e.titulo = :titulo) and dominio = :regularizacao_dominio) end) tid from tab_titulo t where t.id = :titulo" , EsquemaBanco); comando.AdicionarParametroEntrada("titulo", laudo.Titulo.Id, DbType.Int32); comando.AdicionarParametroEntrada("regularizacao_dominio", item.DominioId, DbType.Int32); regularizacaoDominioTid = bancoDeDados.ExecutarScalar(comando); if (item.Id > 0) { comando = bancoDeDados.CriarComando(@"update esp_laudo_vist_fund_domin d set d.especificidade = :especificidade, d.dominio = :dominio, d.dominio_tid = :dominio_tid, d.tid = :tid where d.id = :id" , EsquemaBanco); comando.AdicionarParametroEntrada("id", item.Id, DbType.Int32); } else { comando = bancoDeDados.CriarComando(@"insert into esp_laudo_vist_fund_domin (id, especificidade, dominio, dominio_tid, tid) values(seq_esp_laudo_vist_fund_domin.nextval, :especificidade, :dominio, :dominio_tid, :tid) returning id into :id" , EsquemaBanco); comando.AdicionarParametroSaida("id", DbType.Int32); } comando.AdicionarParametroEntrada("especificidade", laudo.Id, DbType.Int32); comando.AdicionarParametroEntrada("dominio", item.DominioId, DbType.Int32); comando.AdicionarParametroEntrada("dominio_tid", regularizacaoDominioTid, DbType.String); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); bancoDeDados.ExecutarNonQuery(comando); if (item.Id <= 0) { item.Id = Convert.ToInt32(comando.ObterValorParametro("id")); } } } #endregion #endregion Historico.Gerar(Convert.ToInt32(laudo.Titulo.Id), eHistoricoArtefatoEspecificidade.laudovistoriafundiaria, acao, bancoDeDados); bancoDeDados.Commit(); } }
internal LaudoVistoriaFundiaria Obter(int titulo, BancoDeDados banco = null) { LaudoVistoriaFundiaria especificidade = new LaudoVistoriaFundiaria(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { #region Dados da Especificidade Comando comando = bancoDeDados.CriarComando(@"select e.id, e.tid, e.protocolo, e.data_vistoria, e.regularizacao_fundiaria regularizacao_fundiaria_id, n.numero, n.ano, p.requerimento, p.protocolo protocolo_tipo, e.destinatario, (select distinct nvl(pe.nome, pe.razao_social) from {0}hst_esp_laudo_visto_fundiaria he, {0}hst_pessoa pe where he.destinatario_id = pe.pessoa_id and he.destinatario_tid = pe.tid and pe.data_execucao = (select max(h.data_execucao) from {0}hst_pessoa h where h.pessoa_id = pe.pessoa_id and h.tid = pe.tid) and he.especificidade_id = e.id and not exists(select 1 from {0}lov_historico_artefatos_acoes l where l.id = he.acao_executada and l.acao = 3) and he.titulo_tid = (select ht.tid from {0}hst_titulo ht where ht.titulo_id = e.titulo and ht.data_execucao = (select min(htt.data_execucao) from {0}hst_titulo htt where htt.titulo_id = e.titulo and htt.data_execucao > (select max(httt.data_execucao) from {0}hst_titulo httt where httt.titulo_id = e.titulo and httt.situacao_id = 1)))) destinatario_nome_razao from {0}esp_laudo_vistoria_fundiaria e, {0}tab_titulo_numero n, {0}tab_protocolo p where n.titulo(+) = e.titulo and e.protocolo = p.id(+) and e.titulo = :titulo" , EsquemaBanco); comando.AdicionarParametroEntrada("titulo", titulo, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { if (reader.Read()) { especificidade.Titulo.Id = titulo; especificidade.Id = Convert.ToInt32(reader["id"]); especificidade.RegularizacaoId = reader.GetValue <Int32>("regularizacao_fundiaria_id"); especificidade.Tid = reader["tid"].ToString(); if (reader["protocolo"] != null && !Convert.IsDBNull(reader["protocolo"])) { especificidade.ProtocoloReq.IsProcesso = (reader["protocolo_tipo"] != null && Convert.ToInt32(reader["protocolo_tipo"]) == 1); especificidade.ProtocoloReq.RequerimentoId = Convert.ToInt32(reader["requerimento"]); especificidade.ProtocoloReq.Id = Convert.ToInt32(reader["protocolo"]); } if (reader["destinatario"] != null && !Convert.IsDBNull(reader["destinatario"])) { especificidade.Destinatario = Convert.ToInt32(reader["destinatario"]); especificidade.DestinatarioNomeRazao = Convert.ToString(reader["destinatario_nome_razao"]); } if (reader["data_vistoria"] != null && !Convert.IsDBNull(reader["data_vistoria"])) { especificidade.DataVistoria.Data = Convert.ToDateTime(reader["data_vistoria"]); } if (reader["numero"] != null && !Convert.IsDBNull(reader["numero"])) { especificidade.Titulo.Numero.Inteiro = Convert.ToInt32(reader["numero"]); } if (reader["ano"] != null && !Convert.IsDBNull(reader["ano"])) { especificidade.Titulo.Numero.Ano = Convert.ToInt32(reader["ano"]); } } reader.Close(); } #endregion #region Regularizacao Dominios comando = bancoDeDados.CriarComando(@" select ed.id, ed.tid, ed.dominio dominio_id, d.comprovacao_texto, d.area_croqui from {0}hst_crt_dominialidade_dominio d, {0}hst_crt_regularizacao_dominio rd, {0}hst_esp_laudo_visto_fundiaria he, {0}esp_laudo_vist_fund_domin ed where d.dominialidade_dominio_id = rd.dominio_id and d.tid = rd.dominio_tid and rd.regularizacao_dominio_id = ed.dominio and rd.tid = ed.dominio_tid and rd.regularizacao_tid = he.regularizacao_fundiaria_tid and he.especificidade_id = ed.especificidade and he.tid = ed.tid and ed.especificidade = :especificidade order by ed.id" , EsquemaBanco); comando.AdicionarParametroEntrada("especificidade", especificidade.Id, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { RegularizacaoDominio regularizacaoDominio = null; while (reader.Read()) { regularizacaoDominio = new RegularizacaoDominio(); regularizacaoDominio.Id = Convert.ToInt32(reader["id"]); regularizacaoDominio.DominioId = Convert.ToInt32(reader["dominio_id"]); regularizacaoDominio.Comprovacao = reader["comprovacao_texto"].ToString(); regularizacaoDominio.AreaCroqui = Convert.ToDecimal(reader["area_croqui"]).ToStringTrunc(); regularizacaoDominio.Tid = reader["tid"].ToString(); especificidade.RegularizacaoDominios.Add(regularizacaoDominio); } reader.Close(); } #endregion } return(especificidade); }