Exemple #1
0
        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));
        }
Exemple #2
0
 public ActionResult ObterResponsaveis(int id) => Json(_protocoloBus.ObterResponsaveisTecnicosPorRequerimento(id), JsonRequestBehavior.AllowGet);