public UnidadeProducaoItem() { Municipio = new Municipio(); Produtores = new List <Responsavel>(); ResponsavelTecnico = new ResponsavelTecnico(); ResponsaveisTecnicos = new List <ResponsavelTecnico>(); Coordenada = new Coordenada(); }
public String ResponsavelTecnicoJson(ResponsavelTecnico item) { return(ViewModelHelper.Json(new { @Id = item.Id, @IdRelacionamento = item.IdRelacionamento, @Nome = item.NomeRazao, @CFONumero = item.CFONumero, @NumeroArt = item.NumeroArt, @ArtCargoFuncao = item.ArtCargoFuncao, @DataValidadeART = item.DataValidadeART })); }
public bool ResponsavelTecnicoValidar(List <ResponsavelTecnico> responsaveisTecnicos, List <Atividade> atividades) { Atividade atividade = _atividadeBus.ObterAtividadePorCodigo((int)eAtividadeCodigo.BarragemDeAte1HaLâminaDaguaAte10000M3DeVolumeArmazenado); if (atividades.Any(x => x.Id == atividade.Id) && (responsaveisTecnicos == null || responsaveisTecnicos.Count <= 0)) { Validacao.Add(Mensagem.Requerimento.AtividadeResponsavelTecnicoObrigatorio(atividade.NomeAtividade)); return(false); } for (int i = 0; i < responsaveisTecnicos.Count; i++) { ResponsavelTecnico responsavel = responsaveisTecnicos[i]; if (string.IsNullOrEmpty(responsavel.NomeRazao)) { Validacao.Add(Msg.ResponsavelNomeRazaoObrigatorio(i)); } if (string.IsNullOrEmpty(responsavel.CpfCnpj)) { Validacao.Add(Msg.ResponsavelCpfCnpjObrigatorio(i)); } if (responsavel.Funcao <= 0) { Validacao.Add(Msg.ResponsavelFuncaoObrigatorio(i)); } if (string.IsNullOrEmpty(responsavel.NumeroArt)) { Validacao.Add(Msg.ResponsavelARTObrigatorio(i)); } if (!_busPessoa.ExisteProfissao(responsavel.Id)) { Validacao.Add(Mensagem.ResponsavelTecnico.ResponsavelNaoPossuiProfissao(responsavel.NomeRazao)); } } return(Validacao.EhValido); }
internal UnidadeProducao Obter(int id, BancoDeDados banco = null, bool simplificado = false) { UnidadeProducao caracterizacao = new UnidadeProducao(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { #region Unidade de Produção Comando comando = bancoDeDados.CriarComando(@" select c.id, c.tid, c.empreendimento, c.possui_cod_propriedade, c.propriedade_codigo, e.codigo empreendimento_codigo, c.local_livro from {0}crt_unidade_producao c, tab_empreendimento e where c.empreendimento = e.id and c.id = :id" , EsquemaBanco); comando.AdicionarParametroEntrada("id", id, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { if (reader.Read()) { caracterizacao.Id = id; caracterizacao.CodigoPropriedade = reader.GetValue <int>("propriedade_codigo"); caracterizacao.Empreendimento.Id = reader.GetValue <int>("empreendimento"); caracterizacao.Empreendimento.Codigo = reader.GetValue <int>("empreendimento_codigo"); caracterizacao.LocalLivroDisponivel = reader.GetValue <string>("local_livro"); caracterizacao.PossuiCodigoPropriedade = reader.GetValue <bool>("possui_cod_propriedade"); caracterizacao.Tid = reader.GetValue <string>("tid"); } reader.Close(); } #endregion if (simplificado) { return(caracterizacao); } #region Unidades de produção comando = bancoDeDados.CriarComando(@" select c.id, c.tid, c.unidade_producao, c.possui_cod_up, c.codigo_up, c.tipo_producao, c.renasem, c.renasem_data_validade, c.area, c.ano_abertura, c.cultura, c.cultivar, tc.texto cultura_texto, cc.cultivar cultivar_nome, c.data_plantio_ano_producao, c.estimativa_quant_ano, c.estimativa_unid_medida from crt_unidade_producao_unidade c, tab_cultura_cultivar cc, tab_cultura tc where cc.id(+) = c.cultivar and tc.id = c.cultura and c.unidade_producao = :unidade_producao" , EsquemaBanco); comando.AdicionarParametroEntrada("unidade_producao", caracterizacao.Id, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { while (reader.Read()) { caracterizacao.UnidadesProducao.Add(new UnidadeProducaoItem() { Id = reader.GetValue <int>("id"), Tid = reader.GetValue <string>("tid"), PossuiCodigoUP = reader.GetValue <bool>("possui_cod_up"), CodigoUP = reader.GetValue <long>("codigo_up"), TipoProducao = reader.GetValue <int>("tipo_producao"), RenasemNumero = reader.GetValue <string>("renasem"), DataValidadeRenasem = string.IsNullOrEmpty(reader.GetValue <string>("renasem_data_validade")) ? "" : Convert.ToDateTime(reader.GetValue <string>("renasem_data_validade")).ToShortDateString(), AreaHA = reader.GetValue <decimal>("area"), DataPlantioAnoProducao = reader.GetValue <string>("data_plantio_ano_producao"), EstimativaProducaoQuantidadeAno = reader.GetValue <decimal>("estimativa_quant_ano"), CultivarId = reader.GetValue <int>("cultivar"), CultivarTexto = reader.GetValue <string>("cultivar_nome"), CulturaId = reader.GetValue <int>("cultura"), CulturaTexto = reader.GetValue <string>("cultura_texto"), AnoAbertura = reader.GetValue <string>("ano_abertura") }); } reader.Close(); } foreach (var item in caracterizacao.UnidadesProducao) { #region Coordenadas comando = bancoDeDados.CriarComando(@" select id, tid, unidade_producao_unidade, tipo_coordenada, datum, easting_utm, northing_utm, fuso_utm, hemisferio_utm, municipio from crt_unidade_producao_un_coord where unidade_producao_unidade = :id" , EsquemaBanco); comando.AdicionarParametroEntrada("id", item.Id, DbType.String); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { Coordenada coordenada = null; if (reader.Read()) { coordenada = new Coordenada(); coordenada.Id = reader.GetValue <int>("id"); coordenada.Tipo.Id = reader.GetValue <int>("tipo_coordenada"); coordenada.Datum.Id = reader.GetValue <int>("datum"); coordenada.EastingUtmTexto = reader.GetValue <string>("easting_utm"); coordenada.NorthingUtmTexto = reader.GetValue <string>("northing_utm"); coordenada.FusoUtm = reader.GetValue <int>("fuso_utm"); coordenada.HemisferioUtm = reader.GetValue <int>("hemisferio_utm"); coordenada.HemisferioUtmTexto = reader.GetValue <string>("hemisferio_utm"); item.Municipio.Id = reader.GetValue <int>("municipio"); item.Coordenada = coordenada; } reader.Close(); } #endregion #region Produtores comando = bancoDeDados.CriarComando(@" select c.id, c.tid, c.produtor, nvl(p.nome, p.razao_social) nome_razao, nvl(p.cpf, p.cnpj) cpf_cnpj, p.tipo from crt_unidade_prod_un_produtor c, tab_pessoa p where p.id = c.produtor and c.unidade_producao_unidade = :id" , EsquemaBanco); comando.AdicionarParametroEntrada("id", item.Id, DbType.String); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { while (reader.Read()) { item.Produtores.Add(new Responsavel() { Id = reader.GetValue <int>("produtor"), NomeRazao = reader.GetValue <string>("nome_razao"), CpfCnpj = reader.GetValue <string>("cpf_cnpj"), IdRelacionamento = reader.GetValue <int>("id"), Tipo = reader.GetValue <int>("tipo"), Tid = reader.GetValue <string>("tid") }); } reader.Close(); } #endregion #region Responsáveis Técnicos comando = bancoDeDados.CriarComando(@" select c.id, c.tid, c.unidade_producao_unidade, c.responsavel_tecnico, nvl(p.nome, p.razao_social) nome_razao, nvl(p.cpf, p.cnpj) cpf_cnpj, pf.texto profissao, oc.orgao_sigla, pp.registro, c.numero_hab_cfo_cfoc, c.numero_art, c.art_cargo_funcao, c.data_validade_art, (select h.extensao_habilitacao from tab_hab_emi_cfo_cfoc h where h.responsavel = c.responsavel_tecnico) extensao_habilitacao from {0}crt_unidade_prod_un_resp_tec c, {0}tab_credenciado tc, {1}tab_pessoa p, {1}tab_pessoa_profissao pp, {0}tab_profissao pf, {0}tab_orgao_classe oc where tc.id = c.responsavel_tecnico and p.id = tc.pessoa and pp.pessoa(+) = p.id and pf.id(+) = pp.profissao and oc.id(+) = pp.orgao_classe and c.unidade_producao_unidade = :id" , EsquemaBanco, EsquemaCredenciadoBanco); comando.AdicionarParametroEntrada("id", item.Id, DbType.String); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { ResponsavelTecnico responsavel = null; while (reader.Read()) { responsavel = new ResponsavelTecnico(); responsavel.IdRelacionamento = reader.GetValue <int>("id"); responsavel.Id = reader.GetValue <int>("responsavel_tecnico"); responsavel.NomeRazao = reader.GetValue <string>("nome_razao"); responsavel.CpfCnpj = reader.GetValue <string>("cpf_cnpj"); responsavel.CFONumero = reader.GetValue <string>("numero_hab_cfo_cfoc"); responsavel.ArtCargoFuncao = reader.GetValue <bool>("art_cargo_funcao"); responsavel.NumeroArt = reader.GetValue <string>("numero_art"); responsavel.ProfissaoTexto = reader.GetValue <string>("profissao"); responsavel.OrgaoClasseSigla = reader.GetValue <string>("orgao_sigla"); responsavel.NumeroRegistro = reader.GetValue <string>("registro"); responsavel.DataValidadeART = reader.GetValue <string>("data_validade_art"); if (!string.IsNullOrEmpty(responsavel.DataValidadeART)) { responsavel.DataValidadeART = Convert.ToDateTime(responsavel.DataValidadeART).ToShortDateString(); } if (Convert.ToBoolean(reader.GetValue <int>("extensao_habilitacao"))) { responsavel.CFONumero += "-ES"; } item.ResponsaveisTecnicos.Add(responsavel); } reader.Close(); } #endregion } #endregion } return(caracterizacao); }
public void ValidarResponsavelTecnico(List <ResponsavelTecnico> responsavelTecnicoLista, ResponsavelTecnico responsavelTecnico) { responsavelTecnicoLista = responsavelTecnicoLista ?? new List <ResponsavelTecnico>(); if (responsavelTecnico.Id < 1) { Validacao.Add(Mensagem.UnidadeConsolidacao.ResponsavelTecnicoObrigatorio); } if (string.IsNullOrEmpty(responsavelTecnico.CFONumero)) { Validacao.Add(Mensagem.UnidadeConsolidacao.NumeroHabilitacaoCFOCFOCObrigatorio); } if (string.IsNullOrWhiteSpace(responsavelTecnico.NumeroArt)) { Validacao.Add(Mensagem.UnidadeConsolidacao.NumeroARTObrigatorio); } if (!responsavelTecnico.ArtCargoFuncao) { ValidacoesGenericasBus.DataMensagem(new DateTecno() { DataTexto = responsavelTecnico.DataValidadeART }, "DataValidadeART", "validade da ART", false); } if (responsavelTecnicoLista.Count(x => x.Id == responsavelTecnico.Id) > 0) { Validacao.Add(Mensagem.UnidadeConsolidacao.ResponsavelTecnicoJaAdicionado); } }
private UnidadeConsolidacao Obter(int id, BancoDeDados banco = null, bool simplificado = false) { UnidadeConsolidacao caracterizacao = new UnidadeConsolidacao(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { #region Unidade de Produção Comando comando = bancoDeDados.CriarComando(@" select c.id,c.possui_codigo_uc, c.codigo_uc, c.local_livro_disponivel, c.tipo_apresentacao_produto, c.tid, c.empreendimento, e.codigo empreendimento_codigo from {0}crt_unidade_consolidacao c, {0}tab_empreendimento e where c.empreendimento = e.id and c.id = :id" , EsquemaBanco); comando.AdicionarParametroEntrada("id", id, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { if (reader.Read()) { caracterizacao.Id = reader.GetValue <int>("id"); caracterizacao.Empreendimento.Id = reader.GetValue <int>("empreendimento"); caracterizacao.Empreendimento.Codigo = reader.GetValue <int>("empreendimento_codigo"); caracterizacao.PossuiCodigoUC = reader.GetValue <bool>("possui_codigo_uc"); caracterizacao.CodigoUC = reader.GetValue <long>("codigo_uc"); caracterizacao.LocalLivroDisponivel = reader.GetValue <string>("local_livro_disponivel"); caracterizacao.TipoApresentacaoProducaoFormaIdentificacao = reader.GetValue <string>("tipo_apresentacao_produto"); caracterizacao.Tid = reader.GetValue <string>("tid"); } reader.Close(); } #endregion if (simplificado) { return(caracterizacao); } #region Cultivares comando = bancoDeDados.CriarComando(@" select c.id, c.tid, c.unidade_consolidacao, c.capacidade_mes, c.unidade_medida, lu.texto unidade_medida_texto, c.cultivar, cc.cultivar cultivar_nome, c.cultura, tc.texto cultura_texto from crt_unidade_cons_cultivar c, tab_cultura tc, tab_cultura_cultivar cc, lov_crt_un_conso_un_medida lu where tc.id = c.cultura and cc.id(+) = c.cultivar and lu.id = c.unidade_medida and c.unidade_consolidacao = :unidade" , EsquemaBanco); comando.AdicionarParametroEntrada("unidade", id, DbType.Int32); Cultivar cultivar = null; using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { while (reader.Read()) { cultivar = new Cultivar(); cultivar.CapacidadeMes = reader.GetValue <decimal>("capacidade_mes"); cultivar.Id = reader.GetValue <int>("cultivar"); cultivar.IdRelacionamento = reader.GetValue <int>("id"); cultivar.Nome = reader.GetValue <string>("cultivar_nome"); cultivar.Tid = reader.GetValue <string>("tid"); cultivar.UnidadeMedida = reader.GetValue <int>("unidade_medida"); cultivar.UnidadeMedidaTexto = reader.GetValue <string>("unidade_medida_texto"); cultivar.CulturaId = reader.GetValue <int>("cultura"); cultivar.CulturaTexto = reader.GetValue <string>("cultura_texto"); caracterizacao.Cultivares.Add(cultivar); } reader.Close(); } #endregion #region Responsáveis Técnicos comando = bancoDeDados.CriarComando(@" select c.id, c.unidade_consolidacao, c.responsavel_tecnico, c.numero_hab_cfo_cfoc, c.numero_art, c.art_cargo_funcao, c.data_validade_art, c.tid, nvl(tp.nome, tp.razao_social) nome_razao, nvl(tp.cpf, tp.cnpj) cpf_cnpj, pf.texto profissao, oc.orgao_sigla, pp.registro, (select h.extensao_habilitacao from tab_hab_emi_cfo_cfoc h where h.responsavel = c.responsavel_tecnico) extensao_habilitacao from {0}crt_unida_conso_resp_tec c, {0}tab_credenciado tc, {1}tab_pessoa tp, {1}tab_pessoa_profissao pp, {0}tab_profissao pf, {0}tab_orgao_classe oc where tc.id = c.responsavel_tecnico and tp.id = tc.pessoa and pp.pessoa(+) = tp.id and pf.id(+) = pp.profissao and oc.id(+) = pp.orgao_classe and c.unidade_consolidacao = :unidade" , EsquemaBanco, EsquemaCredenciadoBanco); comando.AdicionarParametroEntrada("unidade", id, DbType.Int32); ResponsavelTecnico responsavel = null; using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { while (reader.Read()) { responsavel = new ResponsavelTecnico(); responsavel.IdRelacionamento = reader.GetValue <int>("id"); responsavel.Id = reader.GetValue <int>("responsavel_tecnico"); responsavel.NomeRazao = reader.GetValue <string>("nome_razao"); responsavel.CpfCnpj = reader.GetValue <string>("cpf_cnpj"); responsavel.CFONumero = reader.GetValue <string>("numero_hab_cfo_cfoc"); responsavel.NumeroArt = reader.GetValue <string>("numero_art"); responsavel.ArtCargoFuncao = reader.GetValue <bool>("art_cargo_funcao"); responsavel.ProfissaoTexto = reader.GetValue <string>("profissao"); responsavel.OrgaoClasseSigla = reader.GetValue <string>("orgao_sigla"); responsavel.NumeroRegistro = reader.GetValue <string>("registro"); responsavel.DataValidadeART = reader.GetValue <string>("data_validade_art"); if (!string.IsNullOrEmpty(responsavel.DataValidadeART)) { responsavel.DataValidadeART = Convert.ToDateTime(responsavel.DataValidadeART).ToShortDateString(); } if (Convert.ToBoolean(reader.GetValue <int>("extensao_habilitacao"))) { responsavel.CFONumero += "-ES"; } caracterizacao.ResponsaveisTecnicos.Add(responsavel); } reader.Close(); } #endregion } return(caracterizacao); }
internal bool Salvar(EmissaoCFOC entidade) { //Valida a habilitacao antes do salvar o credenciado. if (!entidade.TipoNumero.HasValue) { Validacao.Add(Mensagem.EmissaoCFOC.TipoNumeroObrigatorio); } else { if (entidade.TipoNumero == (int)eDocumentoFitossanitarioTipoNumero.Bloco) { if (!ValidarNumeroBloco(entidade.Numero, entidade.Id)) { return(false); } ValidacoesGenericasBus.DataMensagem(entidade.DataEmissao, "CFOC_DataEmissao", "emissão"); } if (entidade.TipoNumero == (int)eDocumentoFitossanitarioTipoNumero.Digital) { //VerificarNumeroDigitalDisponivel foi validado na BUS if (!_da.NumeroCancelado(entidade.Numero)) { Validacao.Add(Mensagem.EmissaoCFO.NumeroCancelado); return(false); } } } if (entidade.EmpreendimentoId <= 0) { Validacao.Add(Mensagem.EmissaoCFOC.EmpreendimentoObrigatorio); } else { ResponsavelTecnico responsavel = _da.ObterResponsavelUC(entidade.EmpreendimentoId); if (responsavel.Id <= 0) { Validacao.Add(Mensagem.EmissaoCFOC.ResponsavelDessassociadoUC); } else { if (!string.IsNullOrEmpty(responsavel.DataValidadeART) && DateTime.Parse(responsavel.DataValidadeART) < DateTime.Today) { Validacao.Add(Mensagem.EmissaoCFOC.DataValidadeARTMenorAtual); } } } if (entidade.Produtos.Count <= 0) { Validacao.Add(Mensagem.EmissaoCFOC.ProdutoObrigatorio); } else { if (entidade.Produtos.Count > 5) { Validacao.Add(Mensagem.EmissaoCFOC.LimiteMaximo); } else { entidade.Produtos.ForEach(produto => { ValidarProduto(entidade.Id, entidade.EmpreendimentoId, produto); }); } } if (entidade.Pragas.Count <= 0) { Validacao.Add(Mensagem.EmissaoCFOC.PragaAssociadaCulturaObrigatorio); } else { entidade.Pragas.ForEach(praga => { ValidarPraga(praga); }); } if (entidade.ProdutoEspecificacao <= 0) { Validacao.Add(Mensagem.EmissaoCFOC.ProdutoEspecificacaoObrigatorio); } if (entidade.PartidaLacradaOrigem && string.IsNullOrEmpty(entidade.NumeroLacre) && string.IsNullOrEmpty(entidade.NumeroPorao) && string.IsNullOrEmpty(entidade.NumeroContainer)) { Validacao.Add(Mensagem.EmissaoCFOC.LacrePoraoConteinerObrigatorio); } if (entidade.ValidadeCertificado <= 0) { Validacao.Add(Mensagem.EmissaoCFOC.ValidadeCertificadoObrigatorio); } else if (entidade.ValidadeCertificado > 30) { Validacao.Add(Mensagem.EmissaoCFOC.ValidadeCertificadoMaxima); } if (entidade.MunicipioEmissaoId <= 0) { Validacao.Add(Mensagem.EmissaoCFO.MunicipioEmissaoObrigatorio); } return(Validacao.EhValido); }
public ActionResult AdicionarResponsavelTecnico(List <ResponsavelTecnico> responsavelTecnicoLista, ResponsavelTecnico responsavelTecnico) { _validar.ValidarResponsavelTecnico(responsavelTecnicoLista, responsavelTecnico); return(Json(new { @EhValido = Validacao.EhValido, @Msg = Validacao.Erros }, JsonRequestBehavior.AllowGet)); }
public UnidadeConsolidacao ObterHistorico(int id, string tid, bool simplificado = false, BancoDeDados banco = null) { UnidadeConsolidacao caracterizacao = new UnidadeConsolidacao(); int hst = 0; using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco, EsquemaCredenciadoBanco)) { Comando comando = bancoDeDados.CriarComando(@" select c.id, c.tid, c.interno_id, c.interno_tid, c.empreendimento_id, c.possui_codigo_uc, c.codigo_uc, c.local_livro_disponivel, c.tipo_apresentacao_produto from {0}hst_crt_unidade_consolidacao c where c.unidade_consolidacao = :id and c.tid = :tid" , EsquemaCredenciadoBanco); comando.AdicionarParametroEntrada("id", id, DbType.Int32); comando.AdicionarParametroEntrada("tid", DbType.String, 36, tid); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { if (reader.Read()) { hst = reader.GetValue <int>("id"); caracterizacao.Id = id; caracterizacao.CredenciadoID = id; caracterizacao.Tid = reader.GetValue <string>("tid"); caracterizacao.InternoId = reader.GetValue <int>("interno_id"); caracterizacao.InternoTid = reader.GetValue <string>("interno_tid"); caracterizacao.Empreendimento.Id = reader.GetValue <int>("empreendimento_id"); caracterizacao.PossuiCodigoUC = reader.GetValue <bool>("possui_codigo_uc"); caracterizacao.CodigoUC = reader.GetValue <long>("codigo_uc"); caracterizacao.LocalLivroDisponivel = reader.GetValue <string>("local_livro_disponivel"); caracterizacao.TipoApresentacaoProducaoFormaIdentificacao = reader.GetValue <string>("tipo_apresentacao_produto"); } reader.Close(); } if (caracterizacao.Id < 1 || simplificado) { return(caracterizacao); } #region Cultivares comando = bancoDeDados.CriarComando(@" select c.unid_consoli_cultivar_id id, c.tid, c.cultura_id, cu.texto cultura_texto, c.cultivar_id, cc.cultivar_nome, c.capacidade_mes, c.unidade_medida_id, c.unidade_medida_texto from hst_crt_unidade_cons_cultivar c, hst_cultura cu, hst_cultura_cultivar cc where cu.cultura_id = c.cultura_id and cu.tid = c.cultura_tid and cc.cultivar_id(+) = c.cultivar_id and cc.tid(+) = c.cultivar_tid and c.id_hst = :id" , EsquemaCredenciadoBanco); comando.AdicionarParametroEntrada("id", hst, DbType.Int32); Cultivar cultivar = null; using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { while (reader.Read()) { cultivar = new Cultivar(); cultivar.IdRelacionamento = reader.GetValue <int>("id"); cultivar.Tid = reader.GetValue <string>("tid"); cultivar.CulturaId = reader.GetValue <int>("cultura_id"); cultivar.CulturaTexto = reader.GetValue <string>("cultura_texto"); cultivar.Id = reader.GetValue <int>("cultivar_id"); cultivar.Nome = reader.GetValue <string>("cultivar_nome"); cultivar.CapacidadeMes = reader.GetValue <decimal>("capacidade_mes"); cultivar.UnidadeMedida = reader.GetValue <int>("unidade_medida_id"); cultivar.UnidadeMedidaTexto = reader.GetValue <string>("unidade_medida_texto"); caracterizacao.Cultivares.Add(cultivar); } reader.Close(); } #endregion #region Responsáveis Técnicos comando = bancoDeDados.CriarComando(@" select distinct c.unid_consoli_resp_tec_id id, c.responsavel_tecnico_id, c.numero_hab_cfo_cfoc, c.numero_art, c.art_cargo_funcao, c.data_validade_art, c.tid, nvl(tp.nome, tp.razao_social) nome_razao, nvl(tp.cpf, tp.cnpj) cpf_cnpj, pf.texto profissao, oc.orgao_sigla, pp.registro, (select h.extensao_habilitacao from hst_hab_emi_cfo_cfoc h where h.responsavel_id = c.responsavel_tecnico_id and h.responsavel_tid = c.responsavel_tecnico_tid and h.data_execucao = (select max(hh.data_execucao) from hst_hab_emi_cfo_cfoc hh where hh.responsavel_id = h.responsavel_id and hh.responsavel_tid = h.responsavel_tid and hh.data_execucao <= (select hc.data_execucao from hst_crt_unidade_consolidacao hc where hc.id = c.id_hst))) extensao_habilitacao from hst_crt_unida_conso_resp_tec c, hst_credenciado tc, hst_pessoa tp, hst_pessoa_profissao pp, hst_profissao pf, tab_orgao_classe oc where tc.credenciado_id = c.responsavel_tecnico_id and tc.tid = c.responsavel_tecnico_tid and tp.pessoa_id = tc.pessoa_id and tp.tid = tc.pessoa_tid and pp.id_hst(+) = tp.id and pf.profissao_id(+) = pp.profissao_id and pf.tid(+) = pp.profissao_tid and oc.id(+) = pp.orgao_classe_id and c.id_hst = :id" , EsquemaBanco, EsquemaCredenciadoBanco); comando.AdicionarParametroEntrada("id", hst, DbType.Int32); ResponsavelTecnico responsavel = null; using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { while (reader.Read()) { responsavel = new ResponsavelTecnico(); responsavel.IdRelacionamento = reader.GetValue <int>("id"); responsavel.Id = reader.GetValue <int>("responsavel_tecnico_id"); responsavel.NomeRazao = reader.GetValue <string>("nome_razao"); responsavel.CpfCnpj = reader.GetValue <string>("cpf_cnpj"); responsavel.CFONumero = reader.GetValue <string>("numero_hab_cfo_cfoc"); responsavel.NumeroArt = reader.GetValue <string>("numero_art"); responsavel.ArtCargoFuncao = reader.GetValue <bool>("art_cargo_funcao"); responsavel.ProfissaoTexto = reader.GetValue <string>("profissao"); responsavel.OrgaoClasseSigla = reader.GetValue <string>("orgao_sigla"); responsavel.NumeroRegistro = reader.GetValue <string>("registro"); responsavel.DataValidadeART = reader.GetValue <string>("data_validade_art"); if (!string.IsNullOrEmpty(responsavel.DataValidadeART)) { responsavel.DataValidadeART = Convert.ToDateTime(responsavel.DataValidadeART).ToShortDateString(); } if (Convert.ToBoolean(reader.GetValue <int>("extensao_habilitacao"))) { responsavel.CFONumero += "-ES"; } caracterizacao.ResponsaveisTecnicos.Add(responsavel); } reader.Close(); } #endregion } return(caracterizacao); }
public IProtocolo Obter(int id, bool simplificado = false, bool atividades = false, BancoDeDados banco = null) { Protocolo protocolo = new Protocolo(); Documento documento = new Documento(); if (id <= 0) { return(new Protocolo()); } using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { #region Protocolo Comando comando = bancoDeDados.CriarComando(@" select r.id, r.fiscalizacao, f.situacao fiscalizacao_situacao, r.numero, r.ano, r.nome, r.tipo, r.protocolo, trunc(r.data_criacao) data_criacao, r.numero_autuacao, trunc(r.data_autuacao) data_autuacao, r.volume, r.checagem, r.checagem_pendencia, r.requerimento, to_char(tr.data_criacao, 'dd/mm/yyyy') data_requerimento, tr.situacao requerimento_situacao, r.interessado, nvl(p.nome, p.razao_social) interessado_nome, nvl(p.cpf, p.cnpj) interessado_cpf_cnpj, p.tipo interessado_tipo, lpt.texto tipo_texto, r.empreendimento, e.cnpj empreendimento_cnpj, e.denominador, r.situacao, ls.texto situacao_texto, r.protocolo_associado, r.emposse, r.arquivo, r.tid, r.setor, r.setor_criacao, lfs.texto fiscalizacao_sit_texto, r.interessado_livre, r.interessado_livre_telefone, r.folhas, r.assunto, r.descricao, r.destinatario, r.destinatario_setor, d.id destinatario_id, d.tid destinatario_tid, d.nome destinatario_nome, s.id destinatario_setor_id, s.sigla destinatario_setor_sigla, s.nome destinatario_setor_nome from {0}tab_protocolo r, {0}tab_pessoa p, {0}tab_fiscalizacao f, {0}tab_empreendimento e, {0}lov_protocolo_situacao ls, {0}lov_protocolo_tipo lpt, {0}tab_requerimento tr, {0}lov_fiscalizacao_situacao lfs, {0}tab_setor s, {0}tab_funcionario d where r.interessado = p.id(+) and r.empreendimento = e.id(+) and r.situacao = ls.id and lpt.id = r.tipo and r.requerimento = tr.id(+) and r.fiscalizacao = f.id(+) and f.situacao = lfs.id(+) and r.destinatario_setor = s.id(+) and r.destinatario = d.id(+) and r.id = :id" , EsquemaBanco); comando.AdicionarParametroEntrada("id", id, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { if (reader.Read()) { #region Dados base protocolo.Id = id; protocolo.Tid = reader["tid"].ToString(); if (reader["fiscalizacao"] != null && !Convert.IsDBNull(reader["fiscalizacao"])) { protocolo.Fiscalizacao.Id = Convert.ToInt32(reader["fiscalizacao"]); protocolo.Fiscalizacao.SituacaoId = Convert.ToInt32(reader["fiscalizacao_situacao"]); protocolo.Fiscalizacao.SituacaoTexto = reader.GetValue <string>("fiscalizacao_sit_texto"); } if (reader["numero"] != null && !Convert.IsDBNull(reader["numero"])) { protocolo.NumeroProtocolo = Convert.ToInt32(reader["numero"]); } if (reader["ano"] != null && !Convert.IsDBNull(reader["ano"])) { protocolo.Ano = Convert.ToInt32(reader["ano"]); } protocolo.NumeroAutuacao = reader["numero_autuacao"].ToString(); if (reader["data_autuacao"] != null && !Convert.IsDBNull(reader["data_autuacao"])) { protocolo.DataAutuacao.Data = Convert.ToDateTime(reader["data_autuacao"]); } protocolo.DataCadastro.Data = Convert.ToDateTime(reader["data_criacao"]); if (reader["setor"] != null && !Convert.IsDBNull(reader["setor"])) { protocolo.SetorId = Convert.ToInt32(reader["setor"]); } if (reader["setor_criacao"] != null && !Convert.IsDBNull(reader["setor_criacao"])) { protocolo.SetorCriacaoId = Convert.ToInt32(reader["setor_criacao"]); } if (reader["tipo"] != null && !Convert.IsDBNull(reader["tipo"])) { protocolo.Tipo.Id = Convert.ToInt32(reader["tipo"]); protocolo.Tipo.Texto = reader["tipo_texto"].ToString(); } if (reader["volume"] != null && !Convert.IsDBNull(reader["volume"])) { protocolo.Volume = Convert.ToInt32(reader["volume"]); } if (reader["checagem"] != null && !Convert.IsDBNull(reader["checagem"])) { protocolo.ChecagemRoteiro.Id = Convert.ToInt32(reader["checagem"]); } if (reader["requerimento"] != null && !Convert.IsDBNull(reader["requerimento"])) { protocolo.Requerimento.Id = Convert.ToInt32(reader["requerimento"]); protocolo.Requerimento.SituacaoId = Convert.ToInt32(reader["requerimento_situacao"]); protocolo.Requerimento.DataCadastro = Convert.ToDateTime(reader["data_requerimento"]); protocolo.Requerimento.ProtocoloId = protocolo.Id.Value; protocolo.Requerimento.ProtocoloTipo = 1; } if (reader["interessado"] != null && !Convert.IsDBNull(reader["interessado"])) { protocolo.Interessado.Id = Convert.ToInt32(reader["interessado"]); protocolo.Interessado.Tipo = Convert.ToInt32(reader["interessado_tipo"]); if (reader["interessado_tipo"].ToString() == "1") { protocolo.Interessado.Fisica.Nome = reader["interessado_nome"].ToString(); protocolo.Interessado.Fisica.CPF = reader["interessado_cpf_cnpj"].ToString(); } else { protocolo.Interessado.Juridica.RazaoSocial = reader["interessado_nome"].ToString(); protocolo.Interessado.Juridica.CNPJ = reader["interessado_cpf_cnpj"].ToString(); } } if (reader["interessado_livre"] != null && !Convert.IsDBNull(reader["interessado_livre"])) { protocolo.InteressadoLivre = reader["interessado_livre"].ToString(); } if (reader["interessado_livre_telefone"] != null && !Convert.IsDBNull(reader["interessado_livre_telefone"])) { protocolo.InteressadoLivreTelefone = reader["interessado_livre_telefone"].ToString(); } if (reader["folhas"] != null && !Convert.IsDBNull(reader["folhas"])) { protocolo.Folhas = Convert.ToInt32(reader["folhas"]); } if (reader["empreendimento"] != null && !Convert.IsDBNull(reader["empreendimento"])) { protocolo.Empreendimento.Id = Convert.ToInt32(reader["empreendimento"]); protocolo.Empreendimento.Denominador = reader["denominador"].ToString(); protocolo.Empreendimento.CNPJ = reader["empreendimento_cnpj"].ToString(); } if (reader["emposse"] != null && !Convert.IsDBNull(reader["emposse"])) { protocolo.Emposse.Id = Convert.ToInt32(reader["emposse"]); } if (reader["situacao"] != null && !Convert.IsDBNull(reader["situacao"])) { protocolo.SituacaoId = Convert.ToInt32(reader["situacao"]); protocolo.SituacaoTexto = reader["situacao_texto"].ToString(); } if (reader["arquivo"] != null && !Convert.IsDBNull(reader["arquivo"])) { protocolo.Arquivo.Id = Convert.ToInt32(reader["arquivo"]); } if (reader["protocolo"] != null && !Convert.IsDBNull(reader["protocolo"])) { protocolo.IsProcesso = Convert.ToInt32(reader["protocolo"]) == 1; } #endregion if (!protocolo.IsProcesso) { documento = new Documento(protocolo); documento.Nome = reader["nome"].ToString(); documento.Assunto = reader["assunto"].ToString(); documento.Descricao = reader["descricao"].ToString(); if (reader["destinatario_id"] != null && !Convert.IsDBNull(reader["destinatario_id"])) { documento.Destinatario.Id = Convert.ToInt32(reader["destinatario_id"]); } documento.Destinatario.Nome = reader["destinatario_nome"].ToString(); if (reader["destinatario_setor_id"] != null && !Convert.IsDBNull(reader["destinatario_setor_id"])) { documento.DestinatarioSetor.Id = Convert.ToInt32(reader["destinatario_setor_id"]); } documento.DestinatarioSetor.Nome = reader["destinatario_setor_nome"].ToString(); if (reader["protocolo_associado"] != null && !Convert.IsDBNull(reader["protocolo_associado"])) { documento.ProtocoloAssociado = new Protocolo(ObterProtocolo(Convert.ToInt32(reader["protocolo_associado"]))); } if (reader["checagem_pendencia"] != null && !Convert.IsDBNull(reader["checagem_pendencia"])) { documento.ChecagemPendencia.Id = Convert.ToInt32(reader["checagem_pendencia"]); } } } reader.Close(); } if (simplificado) { if (protocolo.IsProcesso) { return(new Processo(protocolo)); } else { return(documento); } } #endregion #region Atividades comando = bancoDeDados.CriarComando(@"select b.id, b.atividade, a.atividade atividade_texto, b.situacao atividade_situacao_id, (select s.texto from lov_atividade_situacao s where s.id = b.situacao) atividade_situacao_texto, a.setor, b.motivo, b.tid from {0}tab_atividade a, {0}tab_protocolo_atividades b where a.id = b.atividade and b.protocolo = :id" , EsquemaBanco); comando.AdicionarParametroEntrada("id", id, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { Atividade atividade; while (reader.Read()) { atividade = new Atividade(); atividade.Id = Convert.ToInt32(reader["atividade"]); atividade.IdRelacionamento = Convert.ToInt32(reader["id"]); atividade.Tid = reader["tid"].ToString(); atividade.NomeAtividade = reader["atividade_texto"].ToString(); atividade.SituacaoId = Convert.ToInt32(reader["atividade_situacao_id"]); atividade.SituacaoTexto = reader["atividade_situacao_texto"].ToString(); atividade.SetorId = Convert.ToInt32(reader["setor"]); atividade.Motivo = reader["motivo"].ToString(); #region Atividades/Finalidades/Modelos comando = bancoDeDados.CriarComando(@"select a.id, a.finalidade, ltf.texto finalidade_texto, a.modelo, tm.nome modelo_nome, a.titulo_anterior_tipo, a.titulo_anterior_id, a.titulo_anterior_numero, a.modelo_anterior_id, a.modelo_anterior_nome, a.modelo_anterior_sigla, a.orgao_expedidor from {0}tab_protocolo_ativ_finalida a, {0}tab_titulo_modelo tm, {0}lov_titulo_finalidade ltf where a.modelo = tm.id and a.finalidade = ltf.id(+) and a.protocolo_ativ = :id" , EsquemaBanco); comando.AdicionarParametroEntrada("id", atividade.IdRelacionamento, DbType.Int32); using (IDataReader readerAux = bancoDeDados.ExecutarReader(comando)) { Finalidade fin; while (readerAux.Read()) { fin = new Finalidade(); fin.IdRelacionamento = Convert.ToInt32(readerAux["id"]); fin.OrgaoExpedidor = readerAux["orgao_expedidor"].ToString(); if (readerAux["finalidade"] != DBNull.Value) { fin.Id = Convert.ToInt32(readerAux["finalidade"]); fin.Texto = readerAux["finalidade_texto"].ToString(); } if (readerAux["modelo"] != DBNull.Value) { fin.TituloModelo = Convert.ToInt32(readerAux["modelo"]); fin.TituloModeloTexto = readerAux["modelo_nome"].ToString(); } if (readerAux["modelo_anterior_id"] != DBNull.Value) { fin.TituloModeloAnteriorId = Convert.ToInt32(readerAux["modelo_anterior_id"]); } fin.TituloModeloAnteriorTexto = readerAux["modelo_anterior_nome"].ToString(); fin.TituloModeloAnteriorSigla = readerAux["modelo_anterior_sigla"].ToString(); if (readerAux["titulo_anterior_tipo"] != DBNull.Value) { fin.TituloAnteriorTipo = Convert.ToInt32(readerAux["titulo_anterior_tipo"]); } if (readerAux["titulo_anterior_id"] != DBNull.Value) { fin.TituloAnteriorId = Convert.ToInt32(readerAux["titulo_anterior_id"]); } fin.TituloAnteriorNumero = readerAux["titulo_anterior_numero"].ToString(); fin.EmitidoPorInterno = (fin.TituloAnteriorTipo != 3); atividade.Finalidades.Add(fin); } readerAux.Close(); } #endregion protocolo.Atividades.Add(atividade); } reader.Close(); } if (atividades) { if (protocolo.IsProcesso) { return(new Processo(protocolo)); } else { return(documento); } } #endregion #region Responsáveis comando = bancoDeDados.CriarComando(@"select pr.id, pr.responsavel, pr.funcao, nvl(p.nome, p.razao_social) nome, pr.numero_art, nvl(p.cpf, p.cnpj) cpf_cnpj, p.tipo from {0}tab_protocolo_responsavel pr, {0}tab_pessoa p where pr.responsavel = p.id and pr.protocolo = :protocolo" , EsquemaBanco); comando.AdicionarParametroEntrada("protocolo", protocolo.Id, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { ResponsavelTecnico responsavel; while (reader.Read()) { responsavel = new ResponsavelTecnico(); responsavel.IdRelacionamento = Convert.ToInt32(reader["id"]); responsavel.Id = Convert.ToInt32(reader["responsavel"]); responsavel.Funcao = Convert.ToInt32(reader["funcao"]); responsavel.CpfCnpj = reader["cpf_cnpj"].ToString(); responsavel.NomeRazao = reader["nome"].ToString(); responsavel.NumeroArt = reader["numero_art"].ToString(); protocolo.Responsaveis.Add(responsavel); } reader.Close(); } #endregion #region Assinantes comando = bancoDeDados.CriarComando(@"select ta.id, ta.protocolo, f.id func_id, f.nome func_nome, ta.cargo, c.nome cargo_nome, ta.tid from tab_protocolo_assinantes ta, tab_funcionario f, tab_cargo c where ta.funcionario = f.id and ta.cargo = c.id and ta.protocolo = :protocolo" , EsquemaBanco); comando.AdicionarParametroEntrada("protocolo", id, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { while (reader.Read()) { TituloAssinante item = new TituloAssinante(); item.Id = Convert.ToInt32(reader["id"]); item.Tid = reader["tid"].ToString(); item.FuncionarioId = Convert.ToInt32(reader["func_id"]); item.FuncionarioNome = reader["func_nome"].ToString(); item.FuncionarioCargoId = Convert.ToInt32(reader["cargo"]); item.FuncionarioCargoNome = reader["cargo_nome"].ToString(); item.Selecionado = true; if (reader["cargo"] != null && !Convert.IsDBNull(reader["cargo"])) { item.FuncionarioCargoId = Convert.ToInt32(reader["cargo"]); } documento.Assinantes.Add(item); } reader.Close(); } #endregion } if (protocolo.IsProcesso) { return(new Processo(protocolo)); } else { return(documento); } }
internal Requerimento Obter(int id, BancoDeDados bancoCredenciado, bool simplificado = false) { Requerimento requerimento = new Requerimento(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(bancoCredenciado, UsuarioCredenciado)) { bancoDeDados.IniciarTransacao(); #region Requerimento Comando comando = bancoDeDados.CriarComando(@"select r.id, r.numero, trunc(r.data_criacao) data_criacao, r.interessado, r.tid, nvl(p.nome, p.razao_social) interessado_nome, nvl(p.cpf, p.cnpj) interessado_cpf_cnpj, p.tipo interessado_tipo, r.empreendimento, e.codigo empreendimento_codigo, e.cnpj empreendimento_cnpj, e.denominador, e.interno empreendimento_interno, r.situacao, r.agendamento, r.setor, r.informacoes, r.credenciado from {0}tab_requerimento r, {0}tab_pessoa p, {0}tab_empreendimento e where r.interessado = p.id(+) and r.empreendimento = e.id(+) and r.id = :id" , UsuarioCredenciado); comando.AdicionarParametroEntrada("id", id, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { if (reader.Read()) { requerimento.Id = id; requerimento.Tid = reader["tid"].ToString(); requerimento.DataCadastro = Convert.ToDateTime(reader["data_criacao"]); requerimento.IsCredenciado = true; requerimento.CredenciadoId = Convert.ToInt32(reader["credenciado"]); if (reader["setor"] != null && !Convert.IsDBNull(reader["setor"])) { requerimento.SetorId = Convert.ToInt32(reader["setor"]); } if (reader["agendamento"] != null && !Convert.IsDBNull(reader["agendamento"])) { requerimento.AgendamentoVistoria = Convert.ToInt32(reader["agendamento"]); } if (reader["interessado"] != null && !Convert.IsDBNull(reader["interessado"])) { requerimento.Interessado.SelecaoTipo = (int)eExecutorTipo.Credenciado; requerimento.Interessado.Id = Convert.ToInt32(reader["interessado"]); requerimento.Interessado.Tipo = Convert.ToInt32(reader["interessado_tipo"]); if (reader["interessado_tipo"].ToString() == "1") { requerimento.Interessado.Fisica.Nome = reader["interessado_nome"].ToString(); requerimento.Interessado.Fisica.CPF = reader["interessado_cpf_cnpj"].ToString(); } else { requerimento.Interessado.Juridica.RazaoSocial = reader["interessado_nome"].ToString(); requerimento.Interessado.Juridica.CNPJ = reader["interessado_cpf_cnpj"].ToString(); } } if (reader["empreendimento"] != null && !Convert.IsDBNull(reader["empreendimento"])) { requerimento.Empreendimento.SelecaoTipo = (int)eExecutorTipo.Credenciado; requerimento.Empreendimento.Id = Convert.ToInt32(reader["empreendimento"]); requerimento.Empreendimento.Codigo = reader.GetValue <int>("empreendimento_codigo"); requerimento.Empreendimento.Denominador = reader["denominador"].ToString(); requerimento.Empreendimento.CNPJ = reader["empreendimento_cnpj"].ToString(); requerimento.Empreendimento.InternoId = reader.GetValue <int?>("empreendimento_interno"); } if (reader["situacao"] != null && !Convert.IsDBNull(reader["situacao"])) { requerimento.SituacaoId = Convert.ToInt32(reader["situacao"]); } requerimento.Informacoes = reader["informacoes"].ToString(); } reader.Close(); } #endregion if (requerimento.Id <= 0 || simplificado) { return(requerimento); } #region Atividades comando = bancoDeDados.CriarComando(@"select a.id, a.atividade, ta.situacao, a.tid from {0}tab_requerimento_atividade a, tab_atividade ta where ta.id = a.atividade and a.requerimento = :id", UsuarioCredenciado); comando.AdicionarParametroEntrada("id", id, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { Atividade atividade; while (reader.Read()) { atividade = new Atividade(); atividade.Id = Convert.ToInt32(reader["atividade"]); atividade.SituacaoId = Convert.ToInt32(reader["situacao"]); atividade.IdRelacionamento = Convert.ToInt32(reader["id"]); atividade.Tid = reader["tid"].ToString(); #region Atividades/Finalidades/Modelos comando = bancoDeDados.CriarComando(@"select a.id, a.finalidade, a.modelo, a.titulo_anterior_tipo, a.titulo_anterior_id, a.titulo_anterior_numero, a.modelo_anterior_id, a.modelo_anterior_nome, a.modelo_anterior_sigla, a.orgao_expedidor from {0}tab_requerimento_ativ_finalida a where a.requerimento_ativ = :id" , UsuarioCredenciado); comando.AdicionarParametroEntrada("id", atividade.IdRelacionamento, DbType.Int32); using (IDataReader readerAux = bancoDeDados.ExecutarReader(comando)) { Finalidade fin; while (readerAux.Read()) { fin = new Finalidade(); fin.IdRelacionamento = Convert.ToInt32(readerAux["id"]); fin.OrgaoExpedidor = readerAux["orgao_expedidor"].ToString(); if (readerAux["finalidade"] != DBNull.Value) { fin.Id = Convert.ToInt32(readerAux["finalidade"]); } if (readerAux["modelo"] != DBNull.Value) { fin.TituloModelo = Convert.ToInt32(readerAux["modelo"]); } if (readerAux["modelo_anterior_id"] != DBNull.Value) { fin.TituloModeloAnteriorId = Convert.ToInt32(readerAux["modelo_anterior_id"]); } fin.TituloModeloAnteriorTexto = readerAux["modelo_anterior_nome"].ToString(); fin.TituloModeloAnteriorSigla = readerAux["modelo_anterior_sigla"].ToString(); if (readerAux["titulo_anterior_tipo"] != DBNull.Value) { fin.TituloAnteriorTipo = Convert.ToInt32(readerAux["titulo_anterior_tipo"]); } if (readerAux["titulo_anterior_id"] != DBNull.Value) { fin.TituloAnteriorId = Convert.ToInt32(readerAux["titulo_anterior_id"]); } fin.TituloAnteriorNumero = readerAux["titulo_anterior_numero"].ToString(); fin.EmitidoPorInterno = (fin.TituloAnteriorTipo != 3); atividade.Finalidades.Add(fin); } readerAux.Close(); } #endregion requerimento.Atividades.Add(atividade); } reader.Close(); } #endregion #region Responsáveis comando = bancoDeDados.CriarComando(@"select pr.id, pr.responsavel, pr.funcao, nvl(p.nome, p.razao_social) nome, pr.numero_art, nvl(p.cpf, p.cnpj) cpf_cnpj, p.tipo from {0}tab_requerimento_responsavel pr, {0}tab_pessoa p where pr.responsavel = p.id and pr.requerimento = :requerimento" , UsuarioCredenciado); comando.AdicionarParametroEntrada("requerimento", requerimento.Id, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { ResponsavelTecnico responsavel; while (reader.Read()) { responsavel = new ResponsavelTecnico(); responsavel.IdRelacionamento = reader.GetValue <int>("id"); responsavel.Id = reader.GetValue <int>("responsavel"); responsavel.Funcao = reader.GetValue <int>("funcao"); responsavel.CpfCnpj = reader.GetValue <string>("cpf_cnpj"); responsavel.NomeRazao = reader.GetValue <string>("nome"); responsavel.NumeroArt = reader.GetValue <string>("numero_art"); if (reader.GetValue <int>("tipo") == PessoaTipo.JURIDICA) { comando = bancoDeDados.CriarComando(@"select pr.id, pr.pessoa, pr.representante, p.nome, p.cpf, p.tipo from {0}tab_pessoa_representante pr, {0}tab_pessoa p where pr.representante = p.id and pr.pessoa = :pessoa" , UsuarioCredenciado); comando.AdicionarParametroEntrada("pessoa", responsavel.Id, DbType.Int32); using (IDataReader readerAux = bancoDeDados.ExecutarReader(comando)) { Pessoa representante; responsavel.Representantes = new List <Pessoa>(); while (readerAux.Read()) { representante = new Pessoa(); representante.Id = readerAux.GetValue <int>("representante"); representante.Tipo = readerAux.GetValue <int>("tipo"); representante.Fisica.Nome = readerAux.GetValue <string>("nome"); representante.Fisica.CPF = readerAux.GetValue <string>("cpf"); responsavel.Representantes.Add(representante); } readerAux.Close(); } } requerimento.Responsaveis.Add(responsavel); } reader.Close(); } #endregion } return(requerimento); }
internal bool Salvar(EmissaoCFO entidade) { //Valida a habilitacao antes do salvar o credenciado. if (!entidade.TipoNumero.HasValue) { Validacao.Add(Mensagem.EmissaoCFO.TipoNumeroObrigatorio); } else { if (entidade.TipoNumero == (int)eDocumentoFitossanitarioTipoNumero.Bloco) { if (!ValidarNumeroBloco(entidade.Numero, entidade.Id)) { return(false); } ValidacoesGenericasBus.DataMensagem(entidade.DataEmissao, "CFO_DataEmissao", "emissão"); } if (entidade.TipoNumero == (int)eDocumentoFitossanitarioTipoNumero.Digital) { //VerificarNumeroDigitalDisponivel foi validado na BUS string num_serie = entidade.Serie == null ? entidade.Numero : (entidade.Numero + "/" + entidade.Serie); if (!_da.NumeroCancelado(num_serie)) { Validacao.Add(Mensagem.EmissaoCFO.NumeroCancelado); return(false); } } } if (!_da.VerificarProdutorAssociado(entidade.ProdutorId)) { Validacao.Add(Mensagem.EmissaoCFO.ProdutorNaoEstaMaisAssociado); } if (!_da.VerificarProdutorAssociadoEmpreendimento(entidade.ProdutorId)) { Validacao.Add(Mensagem.EmissaoCFO.ProdutorNaoEstaMaisAssociadoEmpreendimento); } if (entidade.ProdutorId <= 0) { Validacao.Add(Mensagem.EmissaoCFO.ProdutorObrigatorio); } if (entidade.EmpreendimentoId <= 0) { Validacao.Add(Mensagem.EmissaoCFO.EmpreendimentoObrigatorio); } if (entidade.Produtos.Count <= 0) { Validacao.Add(Mensagem.EmissaoCFO.ProdutoObrigatorio); } else { if (entidade.Produtos.Count > 5) { Validacao.Add(Mensagem.EmissaoCFO.LimiteMaximo); } else { entidade.Produtos.ForEach(produto => { ResponsavelTecnico responsavel = _da.ObterResponsavelUC(produto.UnidadeProducao); if (!string.IsNullOrEmpty(responsavel.DataValidadeART) && DateTime.Parse(responsavel.DataValidadeART) < DateTime.Today) { Validacao.Add(Mensagem.EmissaoCFO.DataValidadeARTMenorAtual); } ValidarProduto(entidade.Id, entidade.EmpreendimentoId, produto, entidade.Produtos); }); } } if (entidade.Pragas.Count <= 0) { Validacao.Add(Mensagem.EmissaoCFO.PragaAssociadaCulturaObrigatorio); } else { entidade.Pragas.ForEach(praga => { ValidarPraga(praga); }); } //if (!entidade.PossuiLaudoLaboratorial.HasValue) //{ // Validacao.Add(Mensagem.EmissaoCFO.PossuiLaudoLaboratorialObrigatorio); //} //else //{ // if (entidade.PossuiLaudoLaboratorial.Value) // { // if (string.IsNullOrEmpty(entidade.NomeLaboratorio)) // { // Validacao.Add(Mensagem.EmissaoCFO.NomeLaboratorioObrigatorio); // } // if (string.IsNullOrEmpty(entidade.NumeroLaudoResultadoAnalise)) // { // Validacao.Add(Mensagem.EmissaoCFO.NumeroLaudoResultadoAnaliseObrigatorio); // } // if (entidade.EstadoId <= 0) // { // Validacao.Add(Mensagem.EmissaoCFO.EstadoObrigatorio); // } // if (entidade.MunicipioId <= 0) // { // Validacao.Add(Mensagem.EmissaoCFO.MunicipioObrigatorio); // } // } //} if (entidade.ProdutoEspecificacao <= 0) { Validacao.Add(Mensagem.EmissaoCFO.ProdutoEspecificacaoObrigatorio); } //if (!entidade.PossuiTratamentoFinsQuarentenario.HasValue) //{ // Validacao.Add(Mensagem.EmissaoCFO.PossuiTratamentoFinsQuarentenarioObrigatorio); //} //else //{ // if (entidade.PossuiTratamentoFinsQuarentenario.Value) // { // entidade.TratamentosFitossanitarios.ForEach(tratamento => // { // ValidarTratamento(tratamento); // }); // } //} if (entidade.PartidaLacradaOrigem && string.IsNullOrEmpty(entidade.NumeroLacre) && string.IsNullOrEmpty(entidade.NumeroPorao) && string.IsNullOrEmpty(entidade.NumeroContainer)) { Validacao.Add(Mensagem.EmissaoCFO.LacrePoraoConteinerObrigatorio); } if (entidade.ValidadeCertificado <= 0) { Validacao.Add(Mensagem.EmissaoCFO.ValidadeCertificadoObrigatorio); } else if (entidade.ValidadeCertificado > 30) { Validacao.Add(Mensagem.EmissaoCFO.ValidadeCertificadoMaxima); } if (entidade.MunicipioEmissaoId <= 0) { Validacao.Add(Mensagem.EmissaoCFO.MunicipioEmissaoObrigatorio); } return(Validacao.EhValido); }