internal List <Lista> ObterCultivar(eDocumentoFitossanitarioTipo origemTipo, int culturaID) { using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia()) { List <Lista> retorno = null; Comando comando = bancoDeDados.CriarComando(@"select t.id, t.cultivar from {0}tab_cultura_cultivar t where t.cultura = :culturaID", UsuarioCredenciado); comando.AdicionarParametroEntrada("culturaID", culturaID, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { retorno = new List <Lista>(); while (reader.Read()) { retorno.Add(new Lista() { Id = reader.GetValue <string>("id"), Texto = reader.GetValue <string>("cultivar") }); } reader.Close(); } return(retorno); } }
public int SetarNumeroUtilizado(string numero, int tipoNumero, eDocumentoFitossanitarioTipo tipoDocumento) { using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia()) { Comando comando = bancoDeDados.CriarComando(@" update tab_numero_cfo_cfoc t set t.utilizado = 1 where t.tipo_documento = :tipo_documento and t.tipo_numero = :tipo_numero and t.numero = :numero returning t.id into :id" , EsquemaBanco); comando.AdicionarParametroEntrada("numero", numero, DbType.Int64); comando.AdicionarParametroEntrada("tipo_documento", (int)tipoDocumento, DbType.Int32); comando.AdicionarParametroEntrada("tipo_numero", tipoNumero, DbType.Int32); comando.AdicionarParametroSaida("id", DbType.Int32); bancoDeDados.ExecutarNonQuery(comando); int id = comando.ObterValorParametro <int>("id"); Historico.Gerar(id, eHistoricoArtefato.numerocfocfoc, eHistoricoAcao.atualizar, bancoDeDados); bancoDeDados.Commit(); return(id); } }
public ActionResult ObterUnidadeMedida(eDocumentoFitossanitarioTipo origemTipo, int origemID, int culturaID, int cultivarID) { return(Json(new { @EhValido = Validacao.EhValido, @Erros = Validacao.Erros, @UnidadeMedida = _busPTV.ObterUnidadeMedida(origemTipo, origemID, culturaID, cultivarID) }, JsonRequestBehavior.AllowGet)); }
public ActionResult ObterCultivar(eDocumentoFitossanitarioTipo origemTipo, int culturaID = 0) { return(Json(new { @EhValido = Validacao.EhValido, @Erros = Validacao.Erros, @Cultivar = _bus.ObterCultivar(origemTipo, culturaID) }, JsonRequestBehavior.AllowGet)); }
public ActionResult ObterNumeroOrigem(eDocumentoFitossanitarioTipo origemTipo, int empreendimentoID) { return(Json(new { @EhValido = Validacao.EhValido, @Erros = Validacao.Erros, @NumeroOrigem = _busPTV.ObterNumeroOrigem(origemTipo, empreendimentoID) }, JsonRequestBehavior.AllowGet)); }
public bool VerificarSeDocumentoJaAssociadaALote(int origemID, eDocumentoFitossanitarioTipo origemTipo) { try { return(_da.VerificarSeDocumentoJaAssociadaALote(origemID, (int)origemTipo)); } catch (Exception exc) { Validacao.AddErro(exc); } return(false); }
public List <Lista> ObterCultivar(eDocumentoFitossanitarioTipo origemTipo, int culturaID) { try { return(_da.ObterCultivar(origemTipo, culturaID)); } catch (Exception ex) { Validacao.AddErro(ex); } return(new List <Lista>()); }
public List <Lista> ObterNumeroOrigem(eDocumentoFitossanitarioTipo origemTipo, int empreendimentoID) { try { return(_da.ObterNumeroOrigem(origemTipo, empreendimentoID)); } catch (Exception ex) { Validacao.AddErro(ex); } return(new List <Lista>()); }
public void SetarNumeroUtilizado(string numero, int tipoNumero, eDocumentoFitossanitarioTipo tipoDocumento) { GerenciadorTransacao.ObterIDAtual(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia()) { bancoDeDados.IniciarTransacao(); if (_da.SetarNumeroUtilizado(numero, tipoNumero, tipoDocumento) <= 0) { Validacao.Add(Mensagem.LiberacaoNumeroCFOCFOC.NumeroNaoEncontrado); } bancoDeDados.Commit(); } }
public Dictionary <string, object> VerificarDocumentoOrigem(eDocumentoFitossanitarioTipo origemTipo, string origemTipoTexto, long numero) { List <Lista> listaCulturas = new List <Lista>(); Dictionary <string, object> retorno = new Dictionary <string, object>(); Dictionary <string, object> documentoOrigem = null; try { if (numero <= 0) { Validacao.Add(Mensagem.PTV.NumeroDocumentoOrigemObrigatorio); } else { documentoOrigem = _da.VerificarDocumentoOrigem(origemTipo, numero); if (documentoOrigem != null) { switch (origemTipo) { case eDocumentoFitossanitarioTipo.CFO: if ((int)documentoOrigem["situacao"] != (int)eDocumentoFitossanitarioSituacao.Valido) { Validacao.Add(Mensagem.PTV.CfoSituacaoInvalida); } break; case eDocumentoFitossanitarioTipo.CFOC: if ((int)documentoOrigem["situacao"] != (int)eDocumentoFitossanitarioSituacao.Valido) { Validacao.Add(Mensagem.PTV.CfocSituacaoInvalida); } break; case eDocumentoFitossanitarioTipo.PTV: if ((int)documentoOrigem["situacao"] != (int)ePTVSituacao.Valido) { Validacao.Add(Mensagem.PTV.PTVSituacaoInvalida); } break; case eDocumentoFitossanitarioTipo.PTVOutroEstado: if ((int)documentoOrigem["situacao"] != (int)ePTVOutroSituacao.Valido) { Validacao.Add(Mensagem.PTV.PTVOutroEstadoSituacaoInvalida); } break; } } else { Validacao.Add(Mensagem.PTV.NumeroDocumentoOrigemNaoExistente(origemTipoTexto)); } } if (documentoOrigem == null) { retorno.Add("id", 0); retorno.Add("empreendimento_id", 0); retorno.Add("empreendimento_denominador", string.Empty); retorno.Add("listaCulturas", new List <Lista>()); } else { retorno.Add("id", documentoOrigem["id"]); retorno.Add("empreendimento_id", documentoOrigem["empreendimento_id"]); retorno.Add("empreendimento_denominador", documentoOrigem["empreendimento_denominador"]); retorno.Add("listaCulturas", _da.ObterCultura((int)origemTipo, (int)documentoOrigem["id"])); } } catch (Exception exc) { Validacao.AddErro(exc); } return(retorno); }
public Dictionary <string, object> VerificarDocumentoOrigem(eDocumentoFitossanitarioTipo origemTipo, string origemTipoTexto, long numero, string serieNumero) { List <Lista> listaCulturas = new List <Lista>(); Dictionary <string, object> retorno = new Dictionary <string, object>(); Dictionary <string, object> documentoOrigem = null; try { if (numero <= 0) { Validacao.Add(Mensagem.PTV.NumeroDocumentoOrigemObrigatorio); } else { documentoOrigem = _da.VerificarDocumentoOrigem(origemTipo, numero, serieNumero); if (documentoOrigem != null) { CredenciadoDa _credenciadoDa = new CredenciadoDa(); var credenciado = _credenciadoDa.Obter(User.FuncionarioId); switch (origemTipo) { case eDocumentoFitossanitarioTipo.CFO: if ((int)documentoOrigem["situacao"] != (int)eDocumentoFitossanitarioSituacao.Valido) { Validacao.Add(Mensagem.PTV.CfoSituacaoInvalida); } PessoaInternoDa _pessoaInternoDa = new PessoaInternoDa(); var produtor = _pessoaInternoDa.Obter((int)documentoOrigem["produtor"]); if ((int)documentoOrigem["credenciado"] != User.FuncionarioId && produtor.CPFCNPJ != credenciado.Pessoa.CPFCNPJ) { Validacao.Add(Mensagem.PTV.UsuarioSemPermissaoDocOrigem); } break; case eDocumentoFitossanitarioTipo.CFOC: if ((int)documentoOrigem["situacao"] != (int)eDocumentoFitossanitarioSituacao.Valido) { Validacao.Add(Mensagem.PTV.CfocSituacaoInvalida); } EmpreendimentoInternoDa _empreendimentoInternoDa = new EmpreendimentoInternoDa(); var empreendimento = _empreendimentoInternoDa.Obter((int)documentoOrigem["empreendimento_id"]); if ((int)documentoOrigem["credenciado"] != User.FuncionarioId && empreendimento.CNPJ != credenciado.Pessoa.CPFCNPJ) { Validacao.Add(Mensagem.PTV.UsuarioSemPermissaoDocOrigem); } break; case eDocumentoFitossanitarioTipo.PTV: if ((int)documentoOrigem["situacao"] != (int)ePTVSituacao.Valido) { Validacao.Add(Mensagem.PTV.PTVSituacaoInvalida); } break; case eDocumentoFitossanitarioTipo.PTVOutroEstado: if ((int)documentoOrigem["situacao"] != (int)ePTVOutroSituacao.Valido) { Validacao.Add(Mensagem.PTV.PTVOutroEstadoSituacaoInvalida); } if ((int)documentoOrigem["credenciado"] != User.FuncionarioId) { Validacao.Add(Mensagem.PTV.UsuarioSemPermissaoDocOrigem); } break; } } else { Validacao.Add(Mensagem.PTV.NumeroDocumentoOrigemNaoExistente(origemTipoTexto)); } } if (documentoOrigem == null) { retorno.Add("id", 0); retorno.Add("empreendimento_id", 0); retorno.Add("empreendimento_denominador", string.Empty); retorno.Add("listaCulturas", new List <Lista>()); retorno.Add("declaracao_adicional", " "); } else { retorno.Add("id", documentoOrigem["id"]); retorno.Add("empreendimento_id", documentoOrigem["empreendimento_id"]); retorno.Add("empreendimento_denominador", documentoOrigem["empreendimento_denominador"]); retorno.Add("listaCulturas", _da.ObterCultura((int)origemTipo, (int)documentoOrigem["id"])); retorno.Add("declaracao_adicional", _da.ObterDeclaracaoAdicional((int)documentoOrigem["id"])); } } catch (Exception exc) { Validacao.AddErro(exc); } return(retorno); }
internal decimal ObterOrigemQuantidade(eDocumentoFitossanitarioTipo origemTipo, int origemID, string origemNumero, int cultivarID, int unidadeMedida, int anoEmissao, int lote) { using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(EsquemaCredenciado)) { string query = string.Empty; switch (origemTipo) { case eDocumentoFitossanitarioTipo.CFO: case eDocumentoFitossanitarioTipo.CFOC: case eDocumentoFitossanitarioTipo.PTV: query = @" select ( /*LOTE*/ nvl((select sum(i.quantidade) quantidade from tab_lote t, tab_lote_item i where i.lote = t.id and i.origem_tipo = :origem_tipo and i.origem = :origem and i.cultivar = :cultivar and i.unidade_medida = :unidade_medida and extract (year from t.data_criacao) = :anoEmissao and t.id != :lote), 0) + /*EPTV*/ nvl((select sum(i.quantidade) quantidade from tab_ptv t, tab_ptv_produto i where i.ptv = t.id and i.origem_tipo = :origem_tipo and i.origem = :origem and i.cultivar = :cultivar and i.unidade_medida = :unidade_medida and extract (year from t.data_emissao) = :anoEmissao and t.situacao != 3), 0) + /*PTV*/ nvl((select sum(i.quantidade) quantidade from ins_ptv t, ins_ptv_produto i where i.ptv = t.id and i.origem_tipo = :origem_tipo and i.origem = :origem and i.cultivar = :cultivar and i.unidade_medida = :unidade_medida and extract (year from t.data_emissao) = :anoEmissao and t.situacao != 3), 0)) saldo_utilizado from dual" ; break; case eDocumentoFitossanitarioTipo.PTVOutroEstado: query = @" select ( /*LOTE*/ nvl((select sum(i.quantidade) quantidade from tab_lote t, tab_lote_item i where i.lote = t.id and i.origem_tipo = :origem_tipo and i.origem_numero = :origem_numero and i.cultivar = :cultivar and i.unidade_medida = :unidade_medida and t.id != :lote), 0) + /*EPTV*/ nvl((select sum(i.quantidade) quantidade from tab_ptv t, tab_ptv_produto i where i.ptv = t.id and i.origem_tipo = :origem_tipo and i.numero_origem = :origem_numero and i.cultivar = :cultivar and i.unidade_medida = :unidade_medida and t.situacao != 3), 0) + /*PTV*/ nvl((select sum(i.quantidade) quantidade from ins_ptv t, ins_ptv_produto i where i.ptv = t.id and i.origem_tipo = :origem_tipo and i.numero_origem = :origem_numero and i.cultivar = :cultivar and i.unidade_medida = :unidade_medida and t.situacao != 3), 0)) saldo_utilizado from dual" ; break; } Comando comando = bancoDeDados.CriarComando(query, EsquemaCredenciado); comando.AdicionarParametroEntrada("lote", lote, DbType.Int32); comando.AdicionarParametroEntrada("origem_tipo", (int)origemTipo, DbType.Int32); comando.AdicionarParametroEntrada("cultivar", cultivarID, DbType.Int32); comando.AdicionarParametroEntrada("unidade_medida", unidadeMedida, DbType.Int32); switch (origemTipo) { case eDocumentoFitossanitarioTipo.CFO: case eDocumentoFitossanitarioTipo.CFOC: case eDocumentoFitossanitarioTipo.PTV: comando.AdicionarParametroEntrada("origem", origemID, DbType.Int32); comando.AdicionarParametroEntrada("anoEmissao", anoEmissao, DbType.Int32); break; case eDocumentoFitossanitarioTipo.PTVOutroEstado: comando.AdicionarParametroEntrada("origem_numero", origemNumero, DbType.String); break; } return(Convert.ToDecimal(bancoDeDados.ExecutarScalar(comando))); } }