public ActionResult LaudoVistoriaFlorestal(EspecificidadeVME especificidade) { LaudoVistoriaFlorestalBus _busLaudo = new LaudoVistoriaFlorestalBus(); List <Protocolos> lstProcessosDocumentos = _busTitulo.ObterProcessosDocumentos(especificidade.ProtocoloId); List <AtividadeSolicitada> lstAtividades = new List <AtividadeSolicitada>(); List <PessoaLst> destinatarios = new List <PessoaLst>(); Titulo titulo = new Titulo(); TituloModelo modelo = _tituloModeloBus.Obter(especificidade.ModeloId ?? 0); LaudoVistoriaFlorestal laudo = new LaudoVistoriaFlorestal(); LaudoVistoriaFlorestalVM vm = null; string htmlEspecificidade = string.Empty; if (especificidade.TituloId > 0) { titulo = _busTitulo.ObterSimplificado(especificidade.TituloId); titulo.Anexos = _busTitulo.ObterAnexos(especificidade.TituloId); titulo.Atividades = _busTitulo.ObterAtividades(especificidade.TituloId); titulo.Condicionantes = _busTitulo.ObterCondicionantes(especificidade.TituloId); titulo.Exploracoes = _busTitulo.ObterExploracoes(especificidade.TituloId); laudo = _busLaudo.Obter(especificidade.TituloId) as LaudoVistoriaFlorestal; if (laudo != null) { especificidade.AtividadeProcDocReq = laudo.ProtocoloReq; laudo.Anexos = titulo.Anexos; } } 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)); } var busExploracao = new ExploracaoFlorestalBus(); var exploracoesLst = busExploracao.ObterPorEmpreendimentoList(especificidade.EmpreendimentoId); var caracterizacaoLst = new List <CaracterizacaoLst>(); if (exploracoesLst.Count() > 0) { caracterizacaoLst = exploracoesLst.Select(x => new CaracterizacaoLst { Id = x.Id, Texto = x.CodigoExploracaoTexto ?? "", ParecerFavoravel = String.Join(", ", x.Exploracoes.Where(w => w.ParecerFavoravel == true).Select(y => y.Identificacao)?.ToList()), ParecerDesfavoravel = String.Join(", ", x.Exploracoes.Where(w => w.ParecerFavoravel == false).Select(y => y.Identificacao)?.ToList()), IsAtivo = true })?.ToList(); } vm = new LaudoVistoriaFlorestalVM( modelo.Codigo, laudo, lstProcessosDocumentos, lstAtividades, caracterizacaoLst, destinatarios, _protocoloBus.ObterResponsaveisTecnicosPorRequerimento(especificidade.AtividadeProcDocReq.RequerimentoId), _busLista.ObterEspecificidadeConclusoes, titulo.Condicionantes, especificidade.AtividadeProcDocReqKey, especificidade.IsVisualizar); if (especificidade.TituloId > 0) { vm.Atividades.Atividades = titulo.Atividades; vm.Exploracoes = titulo.Exploracoes; var parecerFavoravel = new ArrayList(); var parecerDesfavoravel = new ArrayList(); foreach (var exploracao in exploracoesLst) { 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()), ")")); } } vm.ParecerFavoravelLabel = parecerFavoravel.Count > 0 ? String.Join(", ", parecerFavoravel?.ToArray()) : ""; vm.ParecerDesfavoravelLabel = parecerDesfavoravel.Count > 0 ? String.Join(", ", parecerDesfavoravel?.ToArray()) : ""; } vm.IsCondicionantes = modelo.Regra(eRegra.Condicionantes) || (titulo.Condicionantes != null && titulo.Condicionantes.Count > 0); htmlEspecificidade = ViewModelHelper.RenderPartialViewToString(ControllerContext, "~/Areas/Especificidades/Views/Laudo/LaudoVistoriaFlorestal.ascx", vm); return(Json(new { Msg = Validacao.Erros, EhValido = Validacao.EhValido, @Html = htmlEspecificidade }, JsonRequestBehavior.AllowGet)); }
public ActionResult AutorizacaoExploracaoFlorestal(EspecificidadeVME especificidade) { AutorizacaoExploracaoFlorestalBus bus = new AutorizacaoExploracaoFlorestalBus(); List <Protocolos> lstProcessosDocumentos = _busTitulo.ObterProcessosDocumentos(especificidade.ProtocoloId); List <AtividadeSolicitada> lstAtividades = new List <AtividadeSolicitada>(); List <PessoaLst> destinatarios = new List <PessoaLst>(); Titulo titulo = new Titulo(); TituloModelo modelo = _tituloModeloBus.Obter(especificidade.ModeloId ?? 0); AutorizacaoExploracaoFlorestal autorizacao = new AutorizacaoExploracaoFlorestal(); if (especificidade.TituloId > 0) { titulo = _busTitulo.Obter(especificidade.TituloId); titulo.Condicionantes = _busTitulo.ObterCondicionantes(especificidade.TituloId); autorizacao = bus.Obter(especificidade.TituloId) as AutorizacaoExploracaoFlorestal; if (autorizacao != null) { especificidade.AtividadeProcDocReq = autorizacao.ProtocoloReq; autorizacao.TitulosAssociado = (titulo.ToEspecificidade() ?? new Especificidade()).TitulosAssociado; } } 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 = autorizacao.Destinatario, Texto = autorizacao.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)); } AutorizacaoExploracaoFlorestalVM vm = new AutorizacaoExploracaoFlorestalVM( lstProcessosDocumentos, lstAtividades, destinatarios, titulo.Condicionantes, especificidade.AtividadeProcDocReqKey, especificidade.IsVisualizar); vm.Autorizacao = autorizacao; vm.TituloAssociado = autorizacao.TitulosAssociado.FirstOrDefault() ?? new TituloAssociadoEsp(); vm.ArquivoVM.Anexos = titulo.Anexos; if (especificidade.TituloId > 0) { vm.Atividades.Atividades = titulo.Atividades; vm.Atividades.Especificidade = eEspecificidade.AutorizacaoExploracaoFlorestal; vm.Atividades.Destinatarios = vm.Destinatarios; var select = vm.Atividades.Destinatarios.FirstOrDefault(x => x.Value == autorizacao.Destinatario.ToString()); select.Selected = true; var exploracoes = _busTitulo.ObterExploracoes(titulo.Id); var exploracao = exploracoes?.FirstOrDefault(); if (exploracao != null) { vm.TituloExploracaoDetalhes = exploracao.TituloExploracaoFlorestalExploracaoList; } vm.Exploracoes = ViewModelHelper.CriarSelectList(exploracoes?.Select(x => new Lista() { Id = x.ExploracaoFlorestalId.ToString(), Codigo = x.Id.ToString(), Texto = x.ExploracaoFlorestalTexto }).ToList(), selecionado: exploracao?.ExploracaoFlorestalId.ToString()); } vm.IsCondicionantes = modelo.Regra(eRegra.Condicionantes) || (titulo.Condicionantes != null && titulo.Condicionantes.Count > 0); string htmlEspecificidade = ViewModelHelper.RenderPartialViewToString(ControllerContext, "~/Areas/Especificidades/Views/Autorizacao/AutorizacaoExploracaoFlorestal.ascx", vm); return(Json(new { Msg = Validacao.Erros, EhValido = Validacao.EhValido, @Html = htmlEspecificidade }, JsonRequestBehavior.AllowGet)); }