public TermoAprovacaoMedicaoVM()
 {
     Destinatarios = new List <SelectListItem>();
     Termo         = new TermoAprovacaoMedicao();
     Tecnicos      = new List <SelectListItem>();
     Setores       = new List <SelectListItem>();
     Funcionario   = new List <SelectListItem>();
 }
Ejemplo n.º 2
0
        public void Salvar(IEspecificidade especificidade, BancoDeDados banco)
        {
            TermoAprovacaoMedicao termo = especificidade as TermoAprovacaoMedicao;

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                bancoDeDados.IniciarTransacao();

                _da.Salvar(termo, bancoDeDados);

                bancoDeDados.Commit();
            }
        }
Ejemplo n.º 3
0
        public ActionResult TermoAprovacaoMedicao(EspecificidadeVME especificidade)
        {
            TermoAprovacaoMedicaoBus   _busTermo     = new TermoAprovacaoMedicaoBus();
            List <AtividadeSolicitada> lstAtividades = new List <AtividadeSolicitada>();
            Titulo                titulo             = new Titulo();
            List <PessoaLst>      destinatarios      = new List <PessoaLst>();
            TermoAprovacaoMedicao termo = new TermoAprovacaoMedicao();

            if (especificidade.TituloId > 0)
            {
                titulo = _busTitulo.ObterSimplificado(especificidade.TituloId);

                termo = _busTermo.Obter(especificidade.TituloId) as TermoAprovacaoMedicao;
            }

            if (especificidade.ProtocoloId > 0)
            {
                if (titulo.Situacao.Id == (int)eTituloSituacao.Cadastrado)
                {
                    destinatarios = _busTitulo.ObterDestinatarios(especificidade.ProtocoloId);
                }
                else
                {
                    destinatarios.Add(new PessoaLst()
                    {
                        Id = termo.Destinatario, Texto = termo.DestinatarioNomeRazao, IsAtivo = true
                    });
                }
            }

            TermoAprovacaoMedicaoVM vm = new TermoAprovacaoMedicaoVM
            {
                Termo         = termo,
                Destinatarios = ViewModelHelper.CriarSelectList <PessoaLst>(destinatarios, selecionado: termo.Destinatario.ToString()),
                Funcionario   = new List <SelectListItem> {
                    new SelectListItem
                    {
                        Value    = _usuarioLogado.FuncionarioId.ToString(),
                        Selected = true,
                        Text     = _usuarioLogado.Name
                    }
                },
                Tecnicos     = ViewModelHelper.CriarSelectList <PessoaLst>(_protocoloBus.ObterResponsaveisTecnicos(especificidade.ProtocoloId), selecionado: termo.ResponsavelMedicao.ToString()),
                Setores      = ViewModelHelper.CriarSelectList <Setor>(_busTitulo.ObterFuncionarioSetores(), selecionado: termo.SetorCadastro.ToString()),
                IsVisualizar = especificidade.IsVisualizar
            };

            string htmlEspecificidade = ViewModelHelper.RenderPartialViewToString(ControllerContext, "~/Areas/Especificidades/Views/Termo/TermoAprovacaoMedicao.ascx", vm);

            return(Json(new { Msg = Validacao.Erros, EhValido = Validacao.EhValido, @Html = htmlEspecificidade }, JsonRequestBehavior.AllowGet));
        }
        internal TermoAprovacaoMedicao Obter(int titulo, BancoDeDados banco = null)
        {
            TermoAprovacaoMedicao especificidade = new TermoAprovacaoMedicao();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Dados da Especificidade

                Comando comando = bancoDeDados.CriarComando(@"select e.id, e.titulo, e.protocolo, e.destinatario,  e.data_medicao, e.resp_medicao, e.tipo_responsavel,
				e.tid, n.numero, n.ano, p.requerimento, p.protocolo protocolo_tipo, e.setor_cadastro, e.funcionario, e.destinatario, 
				(select distinct(nvl(pe.nome, pe.razao_social)) from hst_esp_termo_aprov_medicao he, 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 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 hst_titulo ht where ht.titulo_id = e.titulo and ht.data_execucao = (select min(htt.data_execucao)
				from hst_titulo htt where htt.titulo_id = e.titulo and htt.data_execucao > (select max(httt.data_execucao) from hst_titulo httt
				where httt.titulo_id = e.titulo and httt.situacao_id = 1)))) destinatario_nome_razao from esp_termo_aprov_medicao e, tab_titulo_numero n,
				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                          = reader.GetValue <int>("id");
                        especificidade.Tid                         = reader.GetValue <string>("tid");
                        especificidade.Destinatario                = reader.GetValue <int>("destinatario");
                        especificidade.DestinatarioNomeRazao       = reader.GetValue <string>("destinatario_nome_razao");
                        especificidade.DataMedicao.DataTexto       = reader.GetValue <string>("data_medicao");
                        especificidade.ResponsavelMedicao          = reader.GetValue <int?>("resp_medicao");
                        especificidade.TipoResponsavel             = reader.GetValue <int>("tipo_responsavel");
                        especificidade.ProtocoloReq.IsProcesso     = reader.GetValue <int>("protocolo_tipo") == 1;
                        especificidade.ProtocoloReq.RequerimentoId = reader.GetValue <int>("requerimento");
                        especificidade.ProtocoloReq.Id             = reader.GetValue <int>("protocolo");
                        especificidade.Titulo.Numero.Inteiro       = reader.GetValue <int>("numero");
                        especificidade.Titulo.Numero.Ano           = reader.GetValue <int>("ano");
                        especificidade.SetorCadastro               = reader.GetValue <int>("setor_cadastro");
                        especificidade.Funcionario                 = reader.GetValue <int?>("funcionario");
                    }

                    reader.Close();
                }

                #endregion
            }

            return(especificidade);
        }
Ejemplo n.º 5
0
        public ActionResult ObterDadosTermoAprovacaoMedicao(Protocolo protocolo)
        {
            TermoAprovacaoMedicao termo = new TermoAprovacaoMedicao();

            return(Json(new
            {
                Msg = Validacao.Erros,
                EhValido = Validacao.EhValido,
                @Termo = termo,
                @Destinatarios = _busTitulo.ObterDestinatarios(protocolo.Id.Value),
                @Funcionario = new List <PessoaLst> {
                    new PessoaLst {
                        Id = _usuarioLogado.FuncionarioId, Texto = _usuarioLogado.Name
                    }
                },
                @Tecnicos = _protocoloBus.ObterResponsaveisTecnicos(protocolo.Id.Value),
                @Setores = _busTitulo.ObterFuncionarioSetores()
            }, JsonRequestBehavior.AllowGet));
        }
        internal Termo ObterDadosPDF(int titulo, BancoDeDados banco = null)
        {
            Termo termo = new Termo();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Dados do Título

                DadosPDF dados = DaEsp.ObterDadosTitulo(titulo, bancoDeDados);
                termo.Titulo         = dados.Titulo;
                termo.Protocolo      = dados.Protocolo;
                termo.Empreendimento = dados.Empreendimento;

                #endregion

                #region Dados da Especificidade

                TermoAprovacaoMedicao termoApvMed = Obter(titulo, bancoDeDados);
                termo.DataMedicaoDia      = DateTime.Parse(termoApvMed.DataMedicao.DataTexto).ToString("dd");
                termo.DataMedicaoMesTexto = DateTime.Parse(termoApvMed.DataMedicao.DataTexto).ToString("MMMM");
                termo.DataMedicaoAno      = DateTime.Parse(termoApvMed.DataMedicao.DataTexto).ToString("yyyy");
                termo.Destinatario        = DaEsp.ObterDadosPessoa(termoApvMed.Destinatario, termo.Empreendimento.Id, bancoDeDados);

                if (termoApvMed.TipoResponsavel == 1)
                {
                    termo.Funcionario = DaEsp.ObterDadosFuncionario(termoApvMed.Funcionario.Value, bancoDeDados);
                    termo.Responsavel = null;
                }
                else if (termoApvMed.TipoResponsavel == 2)
                {
                    termo.Responsavel = DaEsp.ObterDadosResponsavel(termoApvMed.ResponsavelMedicao.Value, termo.Protocolo.Id.Value, bancoDeDados);
                    termo.Funcionario = null;
                }

                #endregion
            }

            return(termo);
        }
        public bool Salvar(IEspecificidade especificidade)
        {
            TermoAprovacaoMedicao esp = especificidade as TermoAprovacaoMedicao;

            Destinatario(esp.Titulo.Protocolo.Id, esp.Destinatario, "#ddlDestinatarios");

            if (esp.DataMedicao.DataTexto == string.Empty)
            {
                Validacao.Add(Mensagem.TermoAprovacaoMedicaoMsg.InformeData);
            }
            else
            {
                if (!esp.DataMedicao.IsValido)
                {
                    Validacao.Add(Mensagem.TermoAprovacaoMedicaoMsg.DataInvalida);
                }
                else
                {
                    var dateAtual = DateTime.Parse(DateTime.Now.ToString("dd/MM/yyyy"));

                    if (esp.DataMedicao.Data > dateAtual)
                    {
                        Validacao.Add(Mensagem.TermoAprovacaoMedicaoMsg.DataInvalida);
                    }
                }
            }

            if (esp.TipoResponsavel <= 0)
            {
                Validacao.Add(Mensagem.TermoAprovacaoMedicaoMsg.SelecioneTecnico);
            }
            else
            {
                if (esp.TipoResponsavel == 1)                //Funcionario
                {
                    if (esp.Funcionario <= 0)
                    {
                        Validacao.Add(Mensagem.TermoAprovacaoMedicaoMsg.SelecioneResponsavel);
                    }

                    if (esp.SetorCadastro <= 0)
                    {
                        Validacao.Add(Mensagem.TermoAprovacaoMedicaoMsg.SelecioneSetorCadastro);
                    }
                }
                else if (esp.TipoResponsavel == 2)                //Técnico
                {
                    if (esp.ResponsavelMedicao <= 0)
                    {
                        Validacao.Add(Mensagem.TermoAprovacaoMedicaoMsg.SelecioneResponsavel);
                    }
                }
            }

            if (esp.TipoResponsavel == 2)            /*Tecnico*/
            {
                if (!_daEspecificidade.ResponsavelContidoProcesso(esp.ResponsavelMedicao, esp.Titulo.Protocolo.Id))
                {
                    Validacao.Add(Mensagem.TermoAprovacaoMedicaoMsg.ResponsavelNaoContido(esp.Titulo.Protocolo.Numero));
                }
            }

            return(Validacao.EhValido);
        }
        internal void Salvar(TermoAprovacaoMedicao termo, BancoDeDados banco = null)
        {
            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                bancoDeDados.IniciarTransacao();

                #region Cadastro da Especificidade

                eHistoricoAcao acao;
                object         id;

                // Verifica a existencia da especificidade
                Comando comando = bancoDeDados.CriarComando(@"select e.id from {0}esp_termo_aprov_medicao e where e.titulo = :titulo", EsquemaBanco);
                comando.AdicionarParametroEntrada("titulo", termo.Titulo.Id, DbType.Int32);
                id = bancoDeDados.ExecutarScalar(comando);

                if (id != null && !Convert.IsDBNull(id))
                {
                    comando = bancoDeDados.CriarComando(@"
						update {0}esp_termo_aprov_medicao t
						   set t.protocolo        = :protocolo,
							   t.destinatario     = :destinatario,
							   t.data_medicao     = :data_medicao,
							   t.funcionario      = :funcionario,
							   t.resp_medicao     = :resp_medicao,
							   t.setor_cadastro   = :setor_cadastro,
							   t.tipo_responsavel = :tipo_responsavel,
							   t.tid              = :tid
						 where t.titulo = :titulo"                        , EsquemaBanco);

                    acao     = eHistoricoAcao.atualizar;
                    termo.Id = Convert.ToInt32(id);
                }
                else
                {
                    comando = bancoDeDados.CriarComando(@"
					insert into {0}esp_termo_aprov_medicao
					(id, titulo, protocolo, destinatario, data_medicao, funcionario, resp_medicao, setor_cadastro, tipo_responsavel, tid) values
					({0}seq_esp_termo_aprov_medicao.nextval, :titulo, :protocolo, :destinatario, :data_medicao, :funcionario, :resp_medicao, :setor_cadastro, :tipo_responsavel, :tid) 
					returning id into :id"                    , EsquemaBanco);

                    acao = eHistoricoAcao.criar;
                    comando.AdicionarParametroSaida("id", DbType.Int32);
                }

                comando.AdicionarParametroEntrada("titulo", termo.Titulo.Id, DbType.Int32);
                //nao precisava da coluna protocolo para essa especificidade, pois nao é selecionado o requerimento na especificidade do titulo.
                comando.AdicionarParametroEntrada("protocolo", termo.Titulo.Protocolo.Id, DbType.Int32);
                comando.AdicionarParametroEntrada("destinatario", termo.Destinatario, DbType.Int32);
                comando.AdicionarParametroEntrada("data_medicao", termo.DataMedicao.DataTexto, DbType.DateTime);
                comando.AdicionarParametroEntrada("funcionario", termo.Funcionario, DbType.Int32);
                comando.AdicionarParametroEntrada("resp_medicao", termo.ResponsavelMedicao, DbType.Int32);
                comando.AdicionarParametroEntrada("setor_cadastro", termo.SetorCadastro.HasValue && termo.SetorCadastro > 0 ? termo.SetorCadastro : null, DbType.Int32);
                comando.AdicionarParametroEntrada("tipo_responsavel", termo.TipoResponsavel, DbType.Int32);
                comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual());

                bancoDeDados.ExecutarNonQuery(comando);

                if (id == null || Convert.IsDBNull(id))
                {
                    termo    = termo ?? new TermoAprovacaoMedicao();
                    termo.Id = Convert.ToInt32(comando.ObterValorParametro("id"));
                }

                #endregion

                #region Histórico

                Historico.Gerar(termo.Titulo.Id, eHistoricoArtefatoEspecificidade.termoaprovacaomedicao, acao, bancoDeDados);

                #endregion

                bancoDeDados.Commit();
            }
        }