internal void Salvar(LaudoConstatacao laudo, BancoDeDados banco = null) { using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { #region Cadastrar Dados da Especificidade eHistoricoAcao acao; object id; bancoDeDados.IniciarTransacao(); //Verifica a existencia da especificidade Comando comando = bancoDeDados.CriarComando(@"select e.id from {0}esp_laudo_constatacao e where e.titulo = :titulo", EsquemaBanco); comando.AdicionarParametroEntrada("titulo", laudo.Titulo.Id, DbType.Int32); id = bancoDeDados.ExecutarScalar(comando); if (id != null && !Convert.IsDBNull(id)) { comando = bancoDeDados.CriarComando(@"update {0}esp_laudo_constatacao e set e.titulo = :titulo, e.protocolo = :protocolo, e.objetivo = :objetivo, e.constatacao_parecer = :constatacao_parecer, e.destinatario = :destinatario, e.data_vistoria = :data_vistoria, e.tid = :tid where e.titulo = :titulo" , EsquemaBanco); acao = eHistoricoAcao.atualizar; laudo.Id = Convert.ToInt32(id); } else { comando = bancoDeDados.CriarComando(@"insert into {0}esp_laudo_constatacao e (id, titulo, protocolo, objetivo, constatacao_parecer, destinatario, data_vistoria, tid) values ({0}seq_esp_laudo_constatacao.nextval, :titulo, :protocolo, :objetivo, :constatacao_parecer, :destinatario, :data_vistoria, :tid) returning e.id into :id" , EsquemaBanco); acao = eHistoricoAcao.criar; comando.AdicionarParametroSaida("id", DbType.Int32); } comando.AdicionarParametroEntrada("titulo", laudo.Titulo.Id, DbType.Int32); comando.AdicionarParametroEntrada("protocolo", laudo.ProtocoloReq.Id, DbType.Int32); comando.AdicionarParametroEntrada("destinatario", laudo.Destinatario, DbType.Int32); comando.AdicionarParametroEntrada("objetivo", DbType.String, 500, laudo.Objetivo); comando.AdicionarParametroEntClob("constatacao_parecer", laudo.Constatacao); comando.AdicionarParametroEntrada("data_vistoria", laudo.DataVistoria.Data, DbType.DateTime); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); bancoDeDados.ExecutarNonQuery(comando); if (id == null || Convert.IsDBNull(id)) { laudo = laudo ?? new LaudoConstatacao(); laudo.Id = Convert.ToInt32(comando.ObterValorParametro("id")); } #endregion #region Histórico Historico.Gerar(Convert.ToInt32(laudo.Titulo.Id), eHistoricoArtefatoEspecificidade.laudoconstatacao, acao, bancoDeDados); #endregion bancoDeDados.Commit(); } }
internal void Salvar(TermoCompromissoAmbiental 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_compr_amb 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_compr_amb e set e.tid = :tid, e.protocolo = :protocolo, e.licenca = :licenca, e.destinatario = :destinatario, e.representante = :representante, e.descricao = :descricao where e.titulo = :titulo" , EsquemaBanco); acao = eHistoricoAcao.atualizar; termo.Id = Convert.ToInt32(id); } else { comando = bancoDeDados.CriarComando(@"insert into {0}esp_termo_compr_amb (id, tid, titulo, protocolo, licenca, destinatario, representante, descricao) values ({0}seq_esp_termo_compr_amb.nextval, :tid, :titulo, :protocolo, :licenca, :destinatario, :representante, :descricao) returning id into :id" , EsquemaBanco); acao = eHistoricoAcao.criar; comando.AdicionarParametroSaida("id", DbType.Int32); } comando.AdicionarParametroEntrada("titulo", termo.Titulo.Id, DbType.Int32); comando.AdicionarParametroEntrada("protocolo", termo.ProtocoloReq.Id, DbType.Int32); comando.AdicionarParametroEntrada("licenca", termo.Licenca, DbType.Int32); comando.AdicionarParametroEntrada("destinatario", termo.Destinatario, DbType.Int32); comando.AdicionarParametroEntrada("representante", termo.Representante > 0 ? termo.Representante : (Object)DBNull.Value, DbType.Int32); comando.AdicionarParametroEntClob("descricao", termo.Descricao); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); bancoDeDados.ExecutarNonQuery(comando); if (id == null || Convert.IsDBNull(id)) { termo.Id = Convert.ToInt32(comando.ObterValorParametro("id")); } #endregion Historico.Gerar(termo.Titulo.Id, eHistoricoArtefatoEspecificidade.termocompromissoambiental, acao, bancoDeDados); bancoDeDados.Commit(); } }
internal void EnviarExterno(Tramitacao tramitacao, BancoDeDados banco = null) { using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { #region Enviar processos/documentos bancoDeDados.IniciarTransacao(); Comando comando = bancoDeDados.CriarComando(@"insert into {0}tab_tramitacao a (id, protocolo, tipo, objetivo, situacao, despacho, executor, remetente, remetente_setor, destinatario, destinatario_setor, tid, data_envio) values ({0}seq_tramitacao.nextval, :protocolo, :tipo, :objetivo, :situacao, :despacho, :executor, :remetente, :remetente_setor, :destinatario, :destinatario_setor, :tid, sysdate) returning a.id into :id" , EsquemaBanco); comando.AdicionarParametroEntrada("protocolo", tramitacao.Protocolo.Id, DbType.Int32); comando.AdicionarParametroEntrada("tipo", tramitacao.Tipo, DbType.Int32); comando.AdicionarParametroEntrada("objetivo", tramitacao.Objetivo.Id, DbType.Int32); comando.AdicionarParametroEntrada("situacao", tramitacao.SituacaoId, DbType.Int32); comando.AdicionarParametroEntClob("despacho", tramitacao.Despacho); comando.AdicionarParametroEntrada("executor", tramitacao.Executor.Id, DbType.Int32); comando.AdicionarParametroEntrada("remetente", tramitacao.Remetente.Id, DbType.Int32); comando.AdicionarParametroEntrada("remetente_setor", tramitacao.RemetenteSetor.Id, DbType.Int32); comando.AdicionarParametroEntrada("destinatario", tramitacao.Destinatario.Id > 0 ? (int?)tramitacao.Destinatario.Id : null, DbType.Int32); comando.AdicionarParametroEntrada("destinatario_setor", tramitacao.DestinatarioSetor.Id > 0 ? (int?)tramitacao.DestinatarioSetor.Id : null, DbType.Int32); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); comando.AdicionarParametroSaida("id", DbType.Int32); bancoDeDados.ExecutarNonQuery(comando); int id = Convert.ToInt32(comando.ObterValorParametro("id")); #region Enviar tramitação externa comando = bancoDeDados.CriarComando(@"insert into {0}tab_tramitacao_externo t (id, tramitacao, orgao, funcionario, tid) values ({0}seq_tramitacao_externo.nextval, :tramitacao, :orgao, :funcionario, :tid) " , EsquemaBanco); comando.AdicionarParametroEntrada("tramitacao", id, DbType.Int32); comando.AdicionarParametroEntrada("orgao", tramitacao.OrgaoExterno.Id, DbType.Int32); comando.AdicionarParametroEntrada("funcionario", tramitacao.Destinatario.Nome, DbType.String); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); bancoDeDados.ExecutarNonQuery(comando); #endregion #endregion #region Histórico Historico.Gerar(id, eHistoricoArtefato.tramitacao, eHistoricoAcao.enviarexterno, bancoDeDados); #endregion bancoDeDados.Commit(); } }
internal int?Criar(TituloCondicionante condicionante, BancoDeDados banco = null) { using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { #region Condicionante de Título bancoDeDados.IniciarTransacao(); Comando comando = bancoDeDados.CriarComando(@"insert into {0}tab_titulo_condicionantes c (id, titulo, situacao, descricao, possui_prazo, prazo, periodicidade, periodo, periodo_tipo, data_vencimento, ordem, tid) values ({0}seq_titulo_condicionantes.nextval, :titulo, :situacao, :descricao, :possui_prazo, :prazo, :periodicidade, :periodo, :periodo_tipo, :data_vencimento, :ordem, :tid) returning c.id into :id" , EsquemaBanco); comando.AdicionarParametroEntrada("titulo", condicionante.tituloId, DbType.Int32); comando.AdicionarParametroEntrada("situacao", condicionante.Situacao.Id, DbType.Int32); comando.AdicionarParametroEntClob("descricao", condicionante.Descricao); comando.AdicionarParametroEntrada("possui_prazo", (condicionante.PossuiPrazo) ? 1 : 0, DbType.Int32); comando.AdicionarParametroEntrada("prazo", (condicionante.Prazo.HasValue) ? condicionante.Prazo : (object)DBNull.Value, DbType.Int32); comando.AdicionarParametroEntrada("periodicidade", (condicionante.PossuiPeriodicidade) ? 1 : 0, DbType.Int32); comando.AdicionarParametroEntrada("periodo", (condicionante.PeriodicidadeValor.HasValue) ? condicionante.PeriodicidadeValor : (object)DBNull.Value, DbType.Int32); comando.AdicionarParametroEntrada("periodo_tipo", (condicionante.PeriodicidadeTipo.Id > 0) ? condicionante.PeriodicidadeTipo.Id : (object)DBNull.Value, DbType.Int32); comando.AdicionarParametroEntrada("data_vencimento", (condicionante.DataVencimento.Data.HasValue) ? condicionante.DataVencimento.Data : (object)DBNull.Value, DbType.DateTime); comando.AdicionarParametroEntrada("ordem", condicionante.Ordem, DbType.Int32); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); comando.AdicionarParametroSaida("id", DbType.Int32); bancoDeDados.ExecutarNonQuery(comando); condicionante.Id = Convert.ToInt32(comando.ObterValorParametro("id")); #endregion #region Histórico Historico.Gerar(condicionante.Id, eHistoricoArtefato.titulocondicionante, eHistoricoAcao.criar, bancoDeDados); #endregion bancoDeDados.Commit(); return(condicionante.Id); } }
internal void Editar(TituloCondicionante condicionante, BancoDeDados banco = null) { using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { #region Condicionante de Título bancoDeDados.IniciarTransacao(); Comando comando = bancoDeDados.CriarComando(@"update {0}tab_titulo_condicionantes c set c.situacao = :situacao, c.descricao = :descricao, c.possui_prazo = :possui_prazo, c.prazo = :prazo, c.periodicidade = :periodicidade, c.periodo = :periodo, c.periodo_tipo = :periodo_tipo, c.data_vencimento = :data_vencimento, c.ordem = :ordem, c.tid = :tid where c.id =: id" , EsquemaBanco); comando.AdicionarParametroEntrada("id", condicionante.Id, DbType.Int32); comando.AdicionarParametroEntrada("situacao", condicionante.Situacao.Id, DbType.Int32); comando.AdicionarParametroEntClob("descricao", condicionante.Descricao); comando.AdicionarParametroEntrada("possui_prazo", (condicionante.PossuiPrazo) ? 1 : 0, DbType.Int32); comando.AdicionarParametroEntrada("prazo", (condicionante.Prazo.HasValue) ? condicionante.Prazo : (object)DBNull.Value, DbType.Int32); comando.AdicionarParametroEntrada("periodicidade", (condicionante.PossuiPeriodicidade) ? 1 : 0, DbType.Int32); comando.AdicionarParametroEntrada("periodo", (condicionante.PeriodicidadeValor.HasValue) ? condicionante.PeriodicidadeValor : (object)DBNull.Value, DbType.Int32); comando.AdicionarParametroEntrada("periodo_tipo", (condicionante.PeriodicidadeTipo.Id > 0) ? condicionante.PeriodicidadeTipo.Id : (object)DBNull.Value, DbType.Int32); comando.AdicionarParametroEntrada("data_vencimento", (condicionante.DataVencimento.Data.HasValue) ? condicionante.DataVencimento.Data : (object)DBNull.Value, DbType.DateTime); comando.AdicionarParametroEntrada("ordem", condicionante.Ordem, DbType.Int32); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); bancoDeDados.ExecutarNonQuery(comando); #endregion #region Histórico Historico.Gerar(condicionante.Id, eHistoricoArtefato.titulocondicionante, eHistoricoAcao.atualizar, bancoDeDados); #endregion bancoDeDados.Commit(); } }
internal void Salvar(CertidaoAnuencia certidaoAnuencia, BancoDeDados banco = null) { using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { #region Título de Certidao de Anuencia eHistoricoAcao acao; object id; bancoDeDados.IniciarTransacao(); //Verifica a existencia da especificidade Comando comando = bancoDeDados.CriarComando(@"select e.id from {0}esp_certidao_anuencia e where e.titulo = :titulo", EsquemaBanco); comando.AdicionarParametroEntrada("titulo", certidaoAnuencia.Titulo.Id, DbType.Int32); id = bancoDeDados.ExecutarScalar(comando); if (id != null && !Convert.IsDBNull(id)) { comando = bancoDeDados.CriarComando(@"update {0}esp_certidao_anuencia e set e.titulo = :titulo, e.certificacao = :certificacao, e.protocolo = :protocolo, e.tid = :tid where e.titulo = :titulo" , EsquemaBanco); acao = eHistoricoAcao.atualizar; certidaoAnuencia.Id = Convert.ToInt32(id); } else { comando = bancoDeDados.CriarComando(@"insert into {0}esp_certidao_anuencia e (id, titulo, certificacao, protocolo, tid) values ({0}seq_esp_certidao_anuencia.nextval, :titulo, :certificacao, :protocolo, :tid) returning e.id into :id" , EsquemaBanco); acao = eHistoricoAcao.criar; comando.AdicionarParametroSaida("id", DbType.Int32); } comando.AdicionarParametroEntrada("titulo", certidaoAnuencia.Titulo.Id, DbType.Int32); comando.AdicionarParametroEntrada("protocolo", certidaoAnuencia.ProtocoloReq.Id, DbType.Int32); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); comando.AdicionarParametroEntClob("certificacao", certidaoAnuencia.Certificacao); bancoDeDados.ExecutarNonQuery(comando); if (id == null || Convert.IsDBNull(id)) { certidaoAnuencia = certidaoAnuencia ?? new CertidaoAnuencia(); certidaoAnuencia.Id = Convert.ToInt32(comando.ObterValorParametro("id")); } #endregion #region Destinatário comando = bancoDeDados.CriarComando("delete from {0}esp_certidao_anuencia_dest t ", EsquemaBanco); comando.DbCommand.CommandText += String.Format("where t.especificidade = :especificidade {0}", comando.AdicionarNotIn("and", "t.id", DbType.Int32, certidaoAnuencia.Destinatarios.Select(x => x.IdRelacionamento).ToList())); comando.AdicionarParametroEntrada("especificidade", certidaoAnuencia.Id, DbType.Int32); bancoDeDados.ExecutarNonQuery(comando); foreach (var item in certidaoAnuencia.Destinatarios) { if (item.IdRelacionamento > 0) { comando = bancoDeDados.CriarComando(@"update {0}esp_certidao_anuencia_dest t set t.destinatario = :destinatario, t.tid = :tid where t.id = :id", EsquemaBanco); comando.AdicionarParametroEntrada("id", item.IdRelacionamento, DbType.Int32); } else { comando = bancoDeDados.CriarComando(@"insert into {0}esp_certidao_anuencia_dest (id, especificidade, destinatario, tid) values ({0}seq_esp_certidao_anuencia_dest.nextval, :especificidade, :destinatario, :tid)" , EsquemaBanco); comando.AdicionarParametroEntrada("especificidade", certidaoAnuencia.Id, DbType.Int32); } comando.AdicionarParametroEntrada("destinatario", item.Id, DbType.Int32); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); bancoDeDados.ExecutarNonQuery(comando); } #endregion #region Histórico Historico.Gerar(Convert.ToInt32(certidaoAnuencia.Titulo.Id), eHistoricoArtefatoEspecificidade.certidaoanuencia, acao, bancoDeDados); #endregion bancoDeDados.Commit(); } }
public int Criar(ConsideracaoFinal consideracaoFinal, BancoDeDados banco = null) { using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { bancoDeDados.IniciarTransacao(); Comando comando = bancoDeDados.CriarComando(@" insert into {0}tab_fisc_consid_final (id, fiscalizacao, descrever, tem_reparacao, reparacao, tem_termo_comp, tem_termo_comp_justificar, tid, arquivo_termo) values ({0}seq_tab_fisc_consid_final.nextval, :fiscalizacao, :descrever, :tem_reparacao, :reparacao, :tem_termo_comp, :tem_termo_comp_justificar, :tid, :arquivo_termo) returning id into :id" , EsquemaBanco); comando.AdicionarParametroEntrada("fiscalizacao", consideracaoFinal.FiscalizacaoId, DbType.Int32); comando.AdicionarParametroEntClob("descrever", consideracaoFinal.Descrever); comando.AdicionarParametroEntrada("tem_reparacao", consideracaoFinal.HaReparacao, DbType.Int32); comando.AdicionarParametroEntrada("reparacao", DbType.String, 2000, consideracaoFinal.Reparacao); comando.AdicionarParametroEntrada("tem_termo_comp", consideracaoFinal.HaTermoCompromisso, DbType.Int32); comando.AdicionarParametroEntrada("tem_termo_comp_justificar", DbType.String, 250, consideracaoFinal.TermoCompromissoJustificar); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); comando.AdicionarParametroEntrada("arquivo_termo", (consideracaoFinal.Arquivo ?? new Arquivo()).Id, DbType.Int32); comando.AdicionarParametroSaida("id", DbType.Int32); bancoDeDados.ExecutarNonQuery(comando); consideracaoFinal.Id = Convert.ToInt32(comando.ObterValorParametro("id")); #region Testemunhas foreach (var item in consideracaoFinal.Testemunhas) { comando = bancoDeDados.CriarComando(@" insert into {0}tab_fisc_consid_final_test (id, consid_final, idaf, testemunha, nome, endereco, tid, testemunha_setor, cpf) values ({0}seq_tab_fiscconsidfinaltest.nextval, :consid_final, :idaf, :testemunha, :nome, :endereco, :tid, :testemunha_setor, :cpf) returning id into :id" , EsquemaBanco); comando.AdicionarParametroEntrada("consid_final", consideracaoFinal.Id, DbType.Int32); comando.AdicionarParametroEntrada("idaf", item.TestemunhaIDAF, DbType.Int32); comando.AdicionarParametroEntrada("testemunha", item.TestemunhaId, DbType.Int32); comando.AdicionarParametroEntrada("nome", DbType.String, 80, item.TestemunhaNome); comando.AdicionarParametroEntrada("endereco", DbType.String, 200, item.TestemunhaEndereco); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); comando.AdicionarParametroEntrada("testemunha_setor", item.TestemunhaSetorId, DbType.Int32); comando.AdicionarParametroEntrada("cpf", item.TestemunhaCPF, DbType.String); comando.AdicionarParametroSaida("id", DbType.Int32); bancoDeDados.ExecutarNonQuery(comando); item.Id = Convert.ToInt32(comando.ObterValorParametro("id")); } #endregion #region Assinantes foreach (var item in consideracaoFinal.Assinantes) { comando = bancoDeDados.CriarComando(@" insert into {0}tab_fisc_consid_final_ass(id, consid_final, funcionario, cargo, tid) values ({0}seq_fisc_consid_final_ass.nextval, :consid_final, :funcionario, :cargo, :tid) returning id into :id" , EsquemaBanco); comando.AdicionarParametroEntrada("consid_final", consideracaoFinal.Id, DbType.Int32); comando.AdicionarParametroEntrada("funcionario", item.FuncionarioId, DbType.Int32); comando.AdicionarParametroEntrada("cargo", item.FuncionarioCargoId, DbType.Int32); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); comando.AdicionarParametroSaida("id", DbType.Int32); bancoDeDados.ExecutarNonQuery(comando); item.Id = Convert.ToInt32(comando.ObterValorParametro("id")); } #endregion #region Anexos foreach (var item in consideracaoFinal.Anexos) { comando = bancoDeDados.CriarComando(@" insert into {0}tab_fisc_consid_final_arq a (id, consid_final, arquivo, ordem, descricao, tid) values ({0}seq_fisc_consid_final_arq.nextval, :consid_final, :arquivo, :ordem, :descricao, :tid)" , EsquemaBanco); comando.AdicionarParametroEntrada("consid_final", consideracaoFinal.Id, DbType.Int32); comando.AdicionarParametroEntrada("arquivo", item.Arquivo.Id, DbType.Int32); comando.AdicionarParametroEntrada("ordem", item.Ordem, DbType.Int32); comando.AdicionarParametroEntrada("descricao", DbType.String, 100, item.Descricao); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); bancoDeDados.ExecutarNonQuery(comando); } #endregion #region Anexos IUF foreach (var item in consideracaoFinal.AnexosIUF) { comando = bancoDeDados.CriarComando(@" insert into {0}tab_fisc_consid_final_iuf a (id, consid_final, arquivo, ordem, descricao, tid) values ({0}seq_fisc_consid_final_iuf.nextval, :consid_final, :arquivo, :ordem, :descricao, :tid)" , EsquemaBanco); comando.AdicionarParametroEntrada("consid_final", consideracaoFinal.Id, DbType.Int32); comando.AdicionarParametroEntrada("arquivo", item.Arquivo.Id, DbType.Int32); comando.AdicionarParametroEntrada("ordem", item.Ordem, DbType.Int32); comando.AdicionarParametroEntrada("descricao", DbType.String, 100, item.Descricao); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); bancoDeDados.ExecutarNonQuery(comando); } #endregion Historico.Gerar(consideracaoFinal.FiscalizacaoId, eHistoricoArtefato.fiscalizacao, eHistoricoAcao.atualizar, bancoDeDados); Consulta.Gerar(consideracaoFinal.FiscalizacaoId, eHistoricoArtefato.fiscalizacao, bancoDeDados); bancoDeDados.Commit(); } return(consideracaoFinal.Id); }
public void Editar(ConsideracaoFinal consideracaoFinal, BancoDeDados banco = null) { using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { bancoDeDados.IniciarTransacao(); Comando comando = bancoDeDados.CriarComando(@" update {0}tab_fisc_consid_final t set t.descrever = :descrever, t.tem_reparacao = :tem_reparacao, t.reparacao = :reparacao, t.tem_termo_comp = :tem_termo_comp, t.tem_termo_comp_justificar = :tem_termo_comp_justificar, t.tid = :tid, t.arquivo_termo = :arquivo_termo where t.id = :id" , EsquemaBanco); comando.AdicionarParametroEntClob("descrever", consideracaoFinal.Descrever); comando.AdicionarParametroEntrada("tem_reparacao", consideracaoFinal.HaReparacao, DbType.Int32); comando.AdicionarParametroEntrada("reparacao", DbType.String, 2000, consideracaoFinal.Reparacao); comando.AdicionarParametroEntrada("tem_termo_comp", consideracaoFinal.HaTermoCompromisso, DbType.Int32); comando.AdicionarParametroEntrada("tem_termo_comp_justificar", DbType.String, 250, consideracaoFinal.TermoCompromissoJustificar); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); comando.AdicionarParametroEntrada("arquivo_termo", (consideracaoFinal.Arquivo ?? new Arquivo()).Id, DbType.Int32); comando.AdicionarParametroEntrada("id", consideracaoFinal.Id, DbType.Int32); bancoDeDados.ExecutarNonQuery(comando); #region Testemunhas comando = bancoDeDados.CriarComando("delete from {0}tab_fisc_consid_final_test ra ", EsquemaBanco); comando.DbCommand.CommandText += String.Format("where ra.consid_final = :consid_final{0}", comando.AdicionarNotIn("and", "ra.id", DbType.Int32, consideracaoFinal.Testemunhas.Select(x => x.Id).ToList())); comando.AdicionarParametroEntrada("consid_final", consideracaoFinal.Id, DbType.Int32); bancoDeDados.ExecutarNonQuery(comando); foreach (var item in consideracaoFinal.Testemunhas) { if (item.Id > 0) { comando = bancoDeDados.CriarComando(@" update {0}tab_fisc_consid_final_test t set t.idaf = :idaf, t.testemunha = :testemunha, t.nome = :nome, t.endereco = :endereco, t.tid = :tid, t.testemunha_setor = :testemunha_setor, t.cpf = :cpf where t.id = :id" , EsquemaBanco); comando.AdicionarParametroEntrada("id", item.Id, DbType.Int32); } else { comando = bancoDeDados.CriarComando(@" insert into {0}tab_fisc_consid_final_test (id, consid_final, idaf, testemunha, nome, endereco, tid, testemunha_setor, cpf) values ({0}seq_tab_fiscconsidfinaltest.nextval, :consid_final, :idaf, :testemunha, :nome, :endereco, :tid, :testemunha_setor, :cpf) returning id into :id" , EsquemaBanco); comando.AdicionarParametroEntrada("consid_final", consideracaoFinal.Id, DbType.Int32); comando.AdicionarParametroSaida("id", DbType.Int32); } comando.AdicionarParametroEntrada("idaf", item.TestemunhaIDAF, DbType.Int32); comando.AdicionarParametroEntrada("testemunha", item.TestemunhaId, DbType.Int32); comando.AdicionarParametroEntrada("nome", DbType.String, 80, item.TestemunhaNome); comando.AdicionarParametroEntrada("endereco", DbType.String, 80, item.TestemunhaEndereco); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); comando.AdicionarParametroEntrada("testemunha_setor", item.TestemunhaSetorId, DbType.Int32); comando.AdicionarParametroEntrada("cpf", item.TestemunhaCPF, DbType.String); bancoDeDados.ExecutarNonQuery(comando); item.Id = item.Id > 0 ? item.Id : Convert.ToInt32(comando.ObterValorParametro("id")); } #endregion #region Assinantes comando = bancoDeDados.CriarComando("delete from {0}tab_fisc_consid_final_ass ass ", EsquemaBanco); comando.DbCommand.CommandText += String.Format("where ass.consid_final = :consid_final{0}", comando.AdicionarNotIn("and", "ass.id", DbType.Int32, consideracaoFinal.Assinantes.Select(x => x.Id).ToList())); comando.AdicionarParametroEntrada("consid_final", consideracaoFinal.Id, DbType.Int32); bancoDeDados.ExecutarNonQuery(comando); foreach (var item in consideracaoFinal.Assinantes) { if (item.Id > 0) { comando = bancoDeDados.CriarComando(@" update {0}tab_fisc_consid_final_ass t set t.funcionario = :funcionario, t.cargo = :cargo, t.tid = :tid where t.id = :id" , EsquemaBanco); comando.AdicionarParametroEntrada("id", item.Id, DbType.Int32); } else { comando = bancoDeDados.CriarComando(@" insert into {0}tab_fisc_consid_final_ass(id, consid_final, funcionario, cargo, tid) values ({0}seq_fisc_consid_final_ass.nextval, :consid_final, :funcionario, :cargo, :tid) returning id into :id" , EsquemaBanco); comando.AdicionarParametroEntrada("consid_final", consideracaoFinal.Id, DbType.Int32); } comando.AdicionarParametroEntrada("funcionario", item.FuncionarioId, DbType.Int32); comando.AdicionarParametroEntrada("cargo", item.FuncionarioCargoId, DbType.Int32); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); comando.AdicionarParametroSaida("id", DbType.Int32); bancoDeDados.ExecutarNonQuery(comando); item.Id = Convert.ToInt32(comando.ObterValorParametro("id")); } #endregion #region Anexos comando = bancoDeDados.CriarComando("delete from {0}tab_fisc_consid_final_arq ra ", EsquemaBanco); comando.DbCommand.CommandText += String.Format("where ra.consid_final = :consid_final{0}", comando.AdicionarNotIn("and", "ra.id", DbType.Int32, consideracaoFinal.Anexos.Select(x => x.Id).ToList())); comando.AdicionarParametroEntrada("consid_final", consideracaoFinal.Id, DbType.Int32); bancoDeDados.ExecutarNonQuery(comando); foreach (var item in consideracaoFinal.Anexos) { if (item.Id > 0) { comando = bancoDeDados.CriarComando(@" update {0}tab_fisc_consid_final_arq t set t.arquivo = :arquivo, t.ordem = :ordem, t.descricao = :descricao, t.tid = :tid where t.id = :id" , EsquemaBanco); comando.AdicionarParametroEntrada("id", item.Id, DbType.Int32); } else { comando = bancoDeDados.CriarComando(@" insert into {0}tab_fisc_consid_final_arq a (id, consid_final, arquivo, ordem, descricao, tid) values ({0}seq_fisc_consid_final_arq.nextval, :consid_final, :arquivo, :ordem, :descricao, :tid)" , EsquemaBanco); comando.AdicionarParametroEntrada("consid_final", consideracaoFinal.Id, DbType.Int32); } comando.AdicionarParametroEntrada("arquivo", item.Arquivo.Id, DbType.Int32); comando.AdicionarParametroEntrada("ordem", item.Ordem, DbType.Int32); comando.AdicionarParametroEntrada("descricao", DbType.String, 100, item.Descricao); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); bancoDeDados.ExecutarNonQuery(comando); } #endregion #region Anexos IUF comando = bancoDeDados.CriarComando("delete from {0}tab_fisc_consid_final_iuf ra ", EsquemaBanco); comando.DbCommand.CommandText += String.Format("where ra.consid_final = :consid_final{0}", comando.AdicionarNotIn("and", "ra.id", DbType.Int32, consideracaoFinal.AnexosIUF.Select(x => x.Id).ToList())); comando.AdicionarParametroEntrada("consid_final", consideracaoFinal.Id, DbType.Int32); bancoDeDados.ExecutarNonQuery(comando); foreach (var item in consideracaoFinal.AnexosIUF) { if (item.Id > 0) { comando = bancoDeDados.CriarComando(@" update {0}tab_fisc_consid_final_iuf t set t.arquivo = :arquivo, t.ordem = :ordem, t.descricao = :descricao, t.tid = :tid where t.id = :id" , EsquemaBanco); comando.AdicionarParametroEntrada("id", item.Id, DbType.Int32); } else { comando = bancoDeDados.CriarComando(@" insert into {0}tab_fisc_consid_final_iuf a (id, consid_final, arquivo, ordem, descricao, tid) values ({0}seq_fisc_consid_final_iuf.nextval, :consid_final, :arquivo, :ordem, :descricao, :tid)" , EsquemaBanco); comando.AdicionarParametroEntrada("consid_final", consideracaoFinal.Id, DbType.Int32); } comando.AdicionarParametroEntrada("arquivo", item.Arquivo.Id, DbType.Int32); comando.AdicionarParametroEntrada("ordem", item.Ordem, DbType.Int32); comando.AdicionarParametroEntrada("descricao", DbType.String, 100, item.Descricao); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); bancoDeDados.ExecutarNonQuery(comando); } #endregion Historico.Gerar(consideracaoFinal.FiscalizacaoId, eHistoricoArtefato.fiscalizacao, eHistoricoAcao.atualizar, bancoDeDados); Consulta.Gerar(consideracaoFinal.FiscalizacaoId, eHistoricoArtefato.fiscalizacao, bancoDeDados); bancoDeDados.Commit(); } }
internal void Arquivar(Tramitacao tramitacao, BancoDeDados banco = null) { using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { #region Enviar processos/documentos bancoDeDados.IniciarTransacao(); Comando comando = bancoDeDados.CriarComando(@"insert into {0}tab_tramitacao a (id, protocolo, tipo, objetivo, situacao, despacho, executor, remetente, remetente_setor, destinatario_setor, tid, data_envio) values ({0}seq_tramitacao.nextval, :protocolo, :tipo, :objetivo, :situacao, :despacho, :executor, :remetente, :remetente_setor, :destinatario_setor, :tid, sysdate) returning a.id into :id" , EsquemaBanco); comando.AdicionarParametroEntrada("protocolo", tramitacao.Protocolo.Id, DbType.Int32); comando.AdicionarParametroEntrada("tipo", tramitacao.Tipo, DbType.Int32); comando.AdicionarParametroEntrada("objetivo", tramitacao.Objetivo.Id, DbType.Int32); comando.AdicionarParametroEntrada("situacao", tramitacao.SituacaoId, DbType.Int32); comando.AdicionarParametroEntClob("despacho", tramitacao.Despacho); comando.AdicionarParametroEntrada("executor", tramitacao.Executor.Id, DbType.Int32); comando.AdicionarParametroEntrada("remetente", tramitacao.Remetente.Id, DbType.Int32); comando.AdicionarParametroEntrada("remetente_setor", tramitacao.RemetenteSetor.Id, DbType.Int32); comando.AdicionarParametroEntrada("destinatario_setor", tramitacao.DestinatarioSetor.Id > 0 ? (int?)tramitacao.DestinatarioSetor.Id : null, DbType.Int32); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); comando.AdicionarParametroSaida("id", DbType.Int32); bancoDeDados.ExecutarNonQuery(comando); int id = Convert.ToInt32(comando.ObterValorParametro("id")); #region Arquivar comando = bancoDeDados.CriarComando(@"insert into {0}tab_tramitacao_arquivar(id, tramitacao, arquivo, estante, prateleira, tid) values ({0}seq_tramitacao_arquivar.nextval, :tramitacao, :arquivo, :estante, :prateleira, :tid)" , EsquemaBanco); comando.AdicionarParametroEntrada("tramitacao", id, DbType.Int32); comando.AdicionarParametroEntrada("arquivo", tramitacao.Arquivamento.ArquivoId, DbType.Int32); comando.AdicionarParametroEntrada("estante", tramitacao.Arquivamento.EstanteId, DbType.Int32); comando.AdicionarParametroEntrada("prateleira", tramitacao.Arquivamento.PrateleiraId, DbType.Int32); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); bancoDeDados.ExecutarNonQuery(comando); #endregion #region Atualizar Posse comando = bancoDeDados.CriarComandoPlSql(@"begin update {0}tab_protocolo p set p.setor = null, p.emposse = null where p.id = :protocolo; update {0}lst_protocolo p set p.setor_id = null, p.emposse_id = null where p.protocolo_id = :protocolo; end;" , EsquemaBanco); comando.AdicionarParametroEntrada("protocolo", tramitacao.Protocolo.Id, DbType.Int32); bancoDeDados.ExecutarNonQuery(comando); #endregion #endregion #region Histórico Historico.Gerar(id, eHistoricoArtefato.tramitacao, eHistoricoAcao.arquivar, bancoDeDados); #endregion bancoDeDados.Commit(); } }
internal Acompanhamento Criar(Acompanhamento acompanhamento, BancoDeDados banco = null) { using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { #region Acompanhamento da Fiscalização bancoDeDados.IniciarTransacao(); Comando comando = bancoDeDados.CriarComando(@"insert into tab_acompanhamento_fisc(id, fiscalizacao, numero_sufixo, data_vistoria, situacao, data_situacao, agente_fiscal, setor, area_total, area_florestal_nativa, reserva_legal, possui_area_embargada, opniao_area_embargo, ativ_area_embargada, atviv_area_embargada_especific, uso_area_solo, caract_solo_area_danificada, declividade_media_area, infr_resultou_erosao, infr_resultou_erosao_especific, houve_apreensao_material, opniao_destin_material_apreend, houve_desrespeito_tad, houve_desrespeito_tad_especifi, informacoes_relevante_processo, neces_repar_dano_amb, neces_repar_dano_amb_especific, firmou_termo_comprom, firmou_termo_comprom_especific, arquivo_termo, tid) values (seq_tab_acompanhamento_fisc.nextval, :fiscalizacao, :numero_sufixo, :data_vistoria, 1, :data_situacao, :agente_fiscal, :setor, :area_total, :area_florestal_nativa, :reserva_legal, :possui_area_embargada, :opniao_area_embargo, :ativ_area_embargada, :atviv_area_embargada_especific, :uso_area_solo, :caract_solo_area_danificada, :declividade_media_area, :infr_resultou_erosao, :infr_resultou_erosao_especific, :houve_apreensao_material, :opniao_destin_material_apreend, :houve_desrespeito_tad, :houve_desrespeito_tad_especifi, :informacoes_relevante_processo, :neces_repar_dano_amb, :neces_repar_dano_amb_especific, :firmou_termo_comprom, :firmou_termo_comprom_especific, :arquivo_termo, :tid) returning id into :id" , EsquemaBanco); comando.AdicionarParametroEntrada("fiscalizacao", acompanhamento.FiscalizacaoId, DbType.Int32); comando.AdicionarParametroEntrada("numero_sufixo", acompanhamento.NumeroSufixo, DbType.String); comando.AdicionarParametroEntrada("data_vistoria", acompanhamento.DataVistoria.DataTexto, DbType.Date); comando.AdicionarParametroEntrada("data_situacao", acompanhamento.DataVistoria.DataTexto, DbType.Date); comando.AdicionarParametroEntrada("agente_fiscal", acompanhamento.AgenteId, DbType.Int32); comando.AdicionarParametroEntrada("setor", acompanhamento.SetorId, DbType.Int32); comando.AdicionarParametroEntrada("area_total", acompanhamento.AreaTotal, DbType.Decimal); comando.AdicionarParametroEntrada("area_florestal_nativa", acompanhamento.AreaFlorestalNativa, DbType.Decimal); comando.AdicionarParametroEntrada("reserva_legal", acompanhamento.ReservalegalTipo, DbType.Int32); comando.AdicionarParametroEntrada("possui_area_embargada", acompanhamento.PossuiAreaEmbargadaOuAtividadeInterditada.HasValue ? Convert.ToInt32(acompanhamento.PossuiAreaEmbargadaOuAtividadeInterditada.Value): (Object)DBNull.Value, DbType.Int32); comando.AdicionarParametroEntrada("opniao_area_embargo", acompanhamento.OpniaoAreaEmbargo, DbType.String); comando.AdicionarParametroEntrada("ativ_area_embargada", acompanhamento.AtividadeAreaEmbargada, DbType.Int32); comando.AdicionarParametroEntrada("atviv_area_embargada_especific", acompanhamento.AtividadeAreaEmbargadaEspecificarTexto, DbType.String); comando.AdicionarParametroEntrada("uso_area_solo", acompanhamento.UsoAreaSoloDescricao, DbType.String); comando.AdicionarParametroEntrada("caract_solo_area_danificada", acompanhamento.CaracteristicaSoloAreaDanificada, DbType.Int32); comando.AdicionarParametroEntrada("declividade_media_area", acompanhamento.AreaDeclividadeMedia, DbType.Decimal); comando.AdicionarParametroEntrada("infr_resultou_erosao", acompanhamento.InfracaoResultouErosao, DbType.Int32); comando.AdicionarParametroEntrada("infr_resultou_erosao_especific", acompanhamento.InfracaoResultouErosaoEspecificar, DbType.String); comando.AdicionarParametroEntrada("houve_apreensao_material", acompanhamento.HouveApreensaoMaterial.HasValue ? Convert.ToInt32(acompanhamento.HouveApreensaoMaterial.Value) : (Object)DBNull.Value, DbType.Int32); comando.AdicionarParametroEntrada("opniao_destin_material_apreend", acompanhamento.OpniaoDestMaterialApreend, DbType.String); comando.AdicionarParametroEntrada("houve_desrespeito_tad", acompanhamento.HouveDesrespeitoTAD, DbType.Int32); comando.AdicionarParametroEntrada("houve_desrespeito_tad_especifi", acompanhamento.HouveDesrespeitoTADEspecificar, DbType.String); comando.AdicionarParametroEntClob("informacoes_relevante_processo", acompanhamento.InformacoesRelevanteProcesso); comando.AdicionarParametroEntrada("neces_repar_dano_amb", acompanhamento.RepararDanoAmbiental, DbType.Int32); comando.AdicionarParametroEntrada("neces_repar_dano_amb_especific", acompanhamento.RepararDanoAmbientalEspecificar, DbType.String); comando.AdicionarParametroEntrada("firmou_termo_comprom", acompanhamento.FirmouTermoRepararDanoAmbiental, DbType.Int32); comando.AdicionarParametroEntrada("firmou_termo_comprom_especific", acompanhamento.FirmouTermoRepararDanoAmbientalEspecificar, DbType.String); comando.AdicionarParametroEntrada("arquivo_termo", (acompanhamento.Arquivo ?? new Arquivo()).Id, DbType.Int32); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); comando.AdicionarParametroSaida("id", DbType.Int32); bancoDeDados.ExecutarNonQuery(comando); acompanhamento.Id = Convert.ToInt32(comando.ObterValorParametro("id")); #endregion Acompanhamento da Fiscalização #region Assinantes foreach (var item in acompanhamento.Assinantes) { comando = bancoDeDados.CriarComando(@"insert into {0}tab_acomp_fisc_assinante(id, acompanhamento, funcionario, cargo, tid) values ({0}seq_tab_acomp_fisc_assinante.nextval, :acompanhamento, :funcionario, :cargo, :tid)" , EsquemaBanco); comando.AdicionarParametroEntrada("acompanhamento", acompanhamento.Id, DbType.Int32); comando.AdicionarParametroEntrada("funcionario", item.FuncionarioId, DbType.Int32); comando.AdicionarParametroEntrada("cargo", item.FuncionarioCargoId, DbType.Int32); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); bancoDeDados.ExecutarNonQuery(comando); } #endregion Assinantes #region Anexos foreach (var item in acompanhamento.Anexos) { comando = bancoDeDados.CriarComando(@"insert into {0}tab_acomp_fisc_arquivo a (id, acompanhamento, arquivo, ordem, descricao, tid) values ({0}seq_tab_acomp_fisc_arquivo.nextval, :acompanhamento, :arquivo, :ordem, :descricao, :tid)" , EsquemaBanco); comando.AdicionarParametroEntrada("acompanhamento", acompanhamento.Id, DbType.Int32); comando.AdicionarParametroEntrada("arquivo", item.Arquivo.Id, DbType.Int32); comando.AdicionarParametroEntrada("ordem", item.Ordem, DbType.Int32); comando.AdicionarParametroEntrada("descricao", DbType.String, 100, item.Descricao); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); bancoDeDados.ExecutarNonQuery(comando); } #endregion Anexos Historico.Gerar(acompanhamento.Id, eHistoricoArtefato.acompanhamento, eHistoricoAcao.criar, bancoDeDados); bancoDeDados.Commit(); } return(acompanhamento); }
internal Acompanhamento Editar(Acompanhamento acompanhamento, BancoDeDados banco = null) { using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { #region Acompanhamento da Fiscalização bancoDeDados.IniciarTransacao(); Comando comando = bancoDeDados.CriarComando(@"update tab_acompanhamento_fisc a set a.data_vistoria = :data_vistoria, a.agente_fiscal = :agente_fiscal, a.setor = :setor, a.area_total = :area_total, a.area_florestal_nativa = :area_florestal_nativa, a.reserva_legal = :reserva_legal, a.possui_area_embargada = :possui_area_embargada, a.opniao_area_embargo = :opniao_area_embargo, a.ativ_area_embargada = :ativ_area_embargada, a.atviv_area_embargada_especific = :atviv_area_embargada_especific, a.uso_area_solo = :uso_area_solo, a.caract_solo_area_danificada = :caract_solo_area_danificada, a.declividade_media_area = :declividade_media_area, a.infr_resultou_erosao = :infr_resultou_erosao, a.infr_resultou_erosao_especific = :infr_resultou_erosao_especific, a.houve_apreensao_material = :houve_apreensao_material, a.opniao_destin_material_apreend = :opniao_destin_material_apreend, a.houve_desrespeito_tad = :houve_desrespeito_tad, a.houve_desrespeito_tad_especifi = :houve_desrespeito_tad_especifi, a.informacoes_relevante_processo = :informacoes_relevante_processo, a.neces_repar_dano_amb = :neces_repar_dano_amb, a.neces_repar_dano_amb_especific = :neces_repar_dano_amb_especific, a.firmou_termo_comprom = :firmou_termo_comprom, a.firmou_termo_comprom_especific = :firmou_termo_comprom_especific, a.arquivo_termo = :arquivo_termo, a.tid = :tid where a.id = :id" , EsquemaBanco); comando.AdicionarParametroEntrada("data_vistoria", acompanhamento.DataVistoria.DataTexto, DbType.Date); comando.AdicionarParametroEntrada("agente_fiscal", acompanhamento.AgenteId, DbType.Int32); comando.AdicionarParametroEntrada("setor", acompanhamento.SetorId, DbType.Int32); comando.AdicionarParametroEntrada("area_total", acompanhamento.AreaTotal, DbType.Decimal); comando.AdicionarParametroEntrada("area_florestal_nativa", acompanhamento.AreaFlorestalNativa, DbType.Decimal); comando.AdicionarParametroEntrada("reserva_legal", acompanhamento.ReservalegalTipo, DbType.Int32); comando.AdicionarParametroEntrada("possui_area_embargada", acompanhamento.PossuiAreaEmbargadaOuAtividadeInterditada.HasValue ? Convert.ToInt32(acompanhamento.PossuiAreaEmbargadaOuAtividadeInterditada.Value) : (Object)DBNull.Value, DbType.Int32); comando.AdicionarParametroEntrada("opniao_area_embargo", acompanhamento.OpniaoAreaEmbargo, DbType.String); comando.AdicionarParametroEntrada("ativ_area_embargada", acompanhamento.AtividadeAreaEmbargada, DbType.Int32); comando.AdicionarParametroEntrada("atviv_area_embargada_especific", acompanhamento.AtividadeAreaEmbargadaEspecificarTexto, DbType.String); comando.AdicionarParametroEntrada("uso_area_solo", acompanhamento.UsoAreaSoloDescricao, DbType.String); comando.AdicionarParametroEntrada("caract_solo_area_danificada", acompanhamento.CaracteristicaSoloAreaDanificada, DbType.Int32); comando.AdicionarParametroEntrada("declividade_media_area", acompanhamento.AreaDeclividadeMedia, DbType.Decimal); comando.AdicionarParametroEntrada("infr_resultou_erosao", acompanhamento.InfracaoResultouErosao, DbType.Int32); comando.AdicionarParametroEntrada("infr_resultou_erosao_especific", acompanhamento.InfracaoResultouErosaoEspecificar, DbType.String); comando.AdicionarParametroEntrada("houve_apreensao_material", acompanhamento.HouveApreensaoMaterial.HasValue ? Convert.ToInt32(acompanhamento.HouveApreensaoMaterial.Value) : (Object)DBNull.Value, DbType.Int32); comando.AdicionarParametroEntrada("opniao_destin_material_apreend", acompanhamento.OpniaoDestMaterialApreend, DbType.String); comando.AdicionarParametroEntrada("houve_desrespeito_tad", acompanhamento.HouveDesrespeitoTAD, DbType.Int32); comando.AdicionarParametroEntrada("houve_desrespeito_tad_especifi", acompanhamento.HouveDesrespeitoTADEspecificar, DbType.String); comando.AdicionarParametroEntClob("informacoes_relevante_processo", acompanhamento.InformacoesRelevanteProcesso); comando.AdicionarParametroEntrada("neces_repar_dano_amb", acompanhamento.RepararDanoAmbiental, DbType.Int32); comando.AdicionarParametroEntrada("neces_repar_dano_amb_especific", acompanhamento.RepararDanoAmbientalEspecificar, DbType.String); comando.AdicionarParametroEntrada("firmou_termo_comprom", acompanhamento.FirmouTermoRepararDanoAmbiental, DbType.Int32); comando.AdicionarParametroEntrada("firmou_termo_comprom_especific", acompanhamento.FirmouTermoRepararDanoAmbientalEspecificar, DbType.String); comando.AdicionarParametroEntrada("arquivo_termo", (acompanhamento.Arquivo ?? new Arquivo()).Id, DbType.Int32); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); comando.AdicionarParametroEntrada("id", acompanhamento.Id, DbType.Int32); bancoDeDados.ExecutarNonQuery(comando); #endregion Acompanhamento da Fiscalização #region Limpar Dados comando = bancoDeDados.CriarComando("delete from {0}tab_acomp_fisc_assinante a ", EsquemaBanco); comando.DbCommand.CommandText += String.Format("where a.acompanhamento = :acompanhamento{0}", comando.AdicionarNotIn("and", "a.id", DbType.Int32, acompanhamento.Assinantes.Select(x => x.Id).ToList())); comando.AdicionarParametroEntrada("acompanhamento", acompanhamento.Id, DbType.Int32); bancoDeDados.ExecutarNonQuery(comando); comando = bancoDeDados.CriarComando("delete from {0}tab_acomp_fisc_arquivo a ", EsquemaBanco); comando.DbCommand.CommandText += String.Format("where a.acompanhamento = :acompanhamento{0}", comando.AdicionarNotIn("and", "a.id", DbType.Int32, acompanhamento.Anexos.Select(x => x.Id).ToList())); comando.AdicionarParametroEntrada("acompanhamento", acompanhamento.Id, DbType.Int32); bancoDeDados.ExecutarNonQuery(comando); #endregion Limpar Dados #region Assinantes foreach (var item in acompanhamento.Assinantes) { if (item.Id > 0) { comando = bancoDeDados.CriarComando(@"update {0}tab_acomp_fisc_assinante t set t.funcionario = :funcionario, t.cargo = :cargo, t.tid = :tid where t.id = :id" , EsquemaBanco); comando.AdicionarParametroEntrada("id", item.Id, DbType.Int32); } else { comando = bancoDeDados.CriarComando(@"insert into {0}tab_acomp_fisc_assinante(id, acompanhamento, funcionario, cargo, tid) values ({0}seq_tab_acomp_fisc_assinante.nextval, :acompanhamento, :funcionario, :cargo, :tid)" , EsquemaBanco); comando.AdicionarParametroEntrada("acompanhamento", acompanhamento.Id, DbType.Int32); } comando.AdicionarParametroEntrada("funcionario", item.FuncionarioId, DbType.Int32); comando.AdicionarParametroEntrada("cargo", item.FuncionarioCargoId, DbType.Int32); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); bancoDeDados.ExecutarNonQuery(comando); } #endregion Assinantes #region Anexos foreach (var item in acompanhamento.Anexos) { if (item.Id > 0) { comando = bancoDeDados.CriarComando(@"update {0}tab_acomp_fisc_arquivo t set t.arquivo = :arquivo, t.ordem = :ordem, t.descricao = :descricao, t.tid = :tid where t.id = :id" , EsquemaBanco); comando.AdicionarParametroEntrada("id", item.Id, DbType.Int32); } else { comando = bancoDeDados.CriarComando(@"insert into {0}tab_acomp_fisc_arquivo a (id, acompanhamento, arquivo, ordem, descricao, tid) values ({0}seq_tab_acomp_fisc_arquivo.nextval, :acompanhamento, :arquivo, :ordem, :descricao,:tid)" , EsquemaBanco); comando.AdicionarParametroEntrada("acompanhamento", acompanhamento.Id, DbType.Int32); } comando.AdicionarParametroEntrada("arquivo", item.Arquivo.Id, DbType.Int32); comando.AdicionarParametroEntrada("ordem", item.Ordem, DbType.Int32); comando.AdicionarParametroEntrada("descricao", DbType.String, 100, item.Descricao); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); bancoDeDados.ExecutarNonQuery(comando); } #endregion Anexos Historico.Gerar(acompanhamento.Id, eHistoricoArtefato.acompanhamento, eHistoricoAcao.atualizar, bancoDeDados); bancoDeDados.Commit(); } return(acompanhamento); }
internal void Criar(AnaliseItem analise, BancoDeDados banco = null) { using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { #region Análise de itens de processo/documento bancoDeDados.IniciarTransacao(); Comando comando = bancoDeDados.CriarComando(@"insert into {0}tab_analise a (id, protocolo, checagem, situacao, tid) values ({0}seq_analise.nextval, :protocolo, :checagem, :situacao, :tid) returning a.id into :id" , EsquemaBanco); comando.AdicionarParametroEntrada("protocolo", analise.Protocolo.Id, DbType.Int32); comando.AdicionarParametroEntrada("checagem", analise.Checagem.Id, DbType.Int32); comando.AdicionarParametroEntrada("situacao", 1, DbType.Int32); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); comando.AdicionarParametroSaida("id", DbType.Int32); bancoDeDados.ExecutarNonQuery(comando); analise.Id = Convert.ToInt32(comando.ObterValorParametro("id")); #endregion #region Roteiros if (analise.Roteiros != null && analise.Roteiros.Count > 0) { comando = bancoDeDados.CriarComando(@"insert into {0}tab_analise_roteiro tc (id, analise, roteiro, roteiro_tid, tid) values ({0}seq_analise_roteiro.nextval, :analise, :roteiro, :roteiro_tid, :tid) returning tc.id into :id" , EsquemaBanco); comando.AdicionarParametroEntrada("analise", analise.Id, DbType.Int32); comando.AdicionarParametroEntrada("roteiro", DbType.Int32); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); comando.AdicionarParametroSaida("id", DbType.Int32); foreach (Roteiro item in analise.Roteiros) { comando.SetarValorParametro("roteiro", item.Id); comando.AdicionarParametroEntrada("roteiro_tid", DbType.String, 36, item.Tid); bancoDeDados.ExecutarNonQuery(comando); item.IdRelacionamento = Convert.ToInt32(comando.ObterValorParametro("id")); } } #endregion #region Itens if (analise.Itens != null && analise.Itens.Count > 0) { comando = bancoDeDados.CriarComando(@"insert into {0}tab_analise_itens c (id, analise, checagem, item_id, item_tid, descricao, motivo, situacao, tid, avulso, setor) values ({0}seq_analise_itens.nextval, :analise, :checagem, :item_id, :item_tid, :descricao, :motivo, :situacao, :tid, :avulso, :setor) returning c.id into :id" , EsquemaBanco); comando.AdicionarParametroEntrada("analise", analise.Id, DbType.Int32); comando.AdicionarParametroEntrada("checagem", analise.Checagem.Id, DbType.Int32); comando.AdicionarParametroEntrada("item_id", DbType.Int32); comando.AdicionarParametroEntrada("item_tid", DbType.String, 36); comando.AdicionarParametroEntrada("descricao", DbType.String, 500); comando.AdicionarParametroEntrada("motivo", DbType.String); comando.AdicionarParametroEntrada("situacao", DbType.Int32); comando.AdicionarParametroEntrada("setor", DbType.Int32); comando.AdicionarParametroEntrada("avulso", DbType.Int32); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); comando.AdicionarParametroSaida("id", DbType.Int32); foreach (Item item in analise.Itens) { comando.SetarValorParametro("item_id", item.Id); comando.SetarValorParametro("item_tid", item.Tid); comando.SetarValorParametro("descricao", item.Descricao); comando.AdicionarParametroEntClob("motivo", item.Motivo); comando.SetarValorParametro("situacao", item.Situacao); comando.SetarValorParametro("setor", item.SetorId); comando.SetarValorParametro("avulso", item.Avulso ? 1 : 0); bancoDeDados.ExecutarNonQuery(comando); item.IdRelacionamento = Convert.ToInt32(comando.ObterValorParametro("id")); } } #endregion #region Histórico Historico.Gerar(analise.Id, eHistoricoArtefato.analiseitens, eHistoricoAcao.analisar, bancoDeDados); #endregion bancoDeDados.Commit(); } }
internal void Editar(AnaliseItem analise, BancoDeDados banco = null) { using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { #region Análise de itens de processo/documento bancoDeDados.IniciarTransacao(); Comando comando = bancoDeDados.CriarComando(@"update {0}tab_analise a set a.protocolo = :protocolo, a.checagem = :checagem, a.situacao = :situacao, a.atualizado = :atualizado, a.tid = :tid where a.id = :id" , EsquemaBanco); comando.AdicionarParametroEntrada("id", analise.Id, DbType.Int32); comando.AdicionarParametroEntrada("protocolo", analise.Protocolo.Id, DbType.Int32); comando.AdicionarParametroEntrada("checagem", analise.Checagem.Id, DbType.Int32); comando.AdicionarParametroEntrada("situacao", analise.Situacao, DbType.Int32); comando.AdicionarParametroEntrada("atualizado", analise.Atualizado ? 1 : 0, DbType.Int32); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); bancoDeDados.ExecutarNonQuery(comando); #endregion #region Limpar os dados do banco //Itens da analise comando = bancoDeDados.CriarComando("delete from {0}tab_analise_itens c ", EsquemaBanco); comando.DbCommand.CommandText += String.Format("where c.analise = :analise{0}", comando.AdicionarNotIn("and", "c.id", DbType.Int32, analise.Itens.Select(x => x.IdRelacionamento).ToList()), EsquemaBanco); comando.AdicionarParametroEntrada("analise", analise.Id, DbType.Int32); bancoDeDados.ExecutarNonQuery(comando); #endregion #region Roteiros if (analise.Roteiros != null && analise.Roteiros.Count > 0) { foreach (Roteiro roteiro in analise.Roteiros) { if (roteiro.IdRelacionamento > 0) { comando = bancoDeDados.CriarComando(@"update {0}tab_analise_roteiro c set c.analise = :analise, c.roteiro = :roteiro, c.roteiro_tid = :roteiro_tid, c.tid = :tid where c.id = :id" , EsquemaBanco); comando.AdicionarParametroEntrada("id", roteiro.IdRelacionamento, DbType.Int32); } else { comando = bancoDeDados.CriarComando(@"insert into {0}tab_analise_roteiro(id, analise, roteiro, roteiro_tid, tid) values (seq_analise_roteiro.nextval, :analise, :roteiro, :roteiro_tid, :tid)" , EsquemaBanco); } comando.AdicionarParametroEntrada("analise", analise.Id, DbType.Int32); comando.AdicionarParametroEntrada("roteiro", roteiro.Id, DbType.Int32); comando.AdicionarParametroEntrada("roteiro_tid", DbType.String, 36, roteiro.Tid); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); bancoDeDados.ExecutarNonQuery(comando); } } #endregion #region Itens if (analise.Itens != null && analise.Itens.Count > 0) { foreach (Item item in analise.Itens) { if (item.IdRelacionamento > 0) { comando = bancoDeDados.CriarComando(@"update {0}tab_analise_itens c set c.analise = :analise, c.checagem = :checagem, c.data_analise = :data_analise, c.item_id = :item_id, c.item_tid = :item_tid, c.descricao = :descricao, c.motivo = :motivo, c.situacao = :situacao, c.setor = :setor, c.avulso = :avulso, c.tid = :tid, c.analista = :analista, c.recebido = :recebido where c.id = :id" , EsquemaBanco); comando.AdicionarParametroEntrada("id", item.IdRelacionamento, DbType.Int32); } else { comando = bancoDeDados.CriarComando(@"insert into {0}tab_analise_itens c (id, analise, checagem, item_id, item_tid, descricao, motivo, situacao, setor, avulso, tid, data_analise, analista, recebido) values ({0}seq_analise_itens.nextval, :analise, :checagem, :item_id, :item_tid, :descricao, :motivo, :situacao, :setor, :avulso, :tid, :data_analise, :analista, :recebido) returning id into :id" , EsquemaBanco); comando.AdicionarParametroSaida("id", DbType.Int32); } comando.AdicionarParametroEntrada("analise", analise.Id, DbType.Int32); comando.AdicionarParametroEntrada("checagem", analise.Checagem.Id, DbType.Int32); comando.AdicionarParametroEntrada("item_id", item.Id, DbType.Int32); comando.AdicionarParametroEntrada("item_tid", DbType.String, 36, item.Tid); if (String.IsNullOrEmpty(item.DataAnalise)) { comando.AdicionarParametroEntrada("data_analise", DBNull.Value, DbType.DateTime); } else { comando.AdicionarParametroEntrada("data_analise", Convert.ToDateTime(item.DataAnalise), DbType.DateTime); } comando.AdicionarParametroEntrada("descricao", DbType.String, 500, item.Descricao); comando.AdicionarParametroEntClob("motivo", item.Motivo); comando.AdicionarParametroEntrada("situacao", item.Situacao, DbType.Int32); comando.AdicionarParametroEntrada("setor", item.SetorId, DbType.Int32); comando.AdicionarParametroEntrada("avulso", item.Avulso ? 1 : 0, DbType.Int32); comando.AdicionarParametroEntrada("analista", item.Analista, DbType.String); comando.AdicionarParametroEntrada("recebido", item.Recebido, DbType.Boolean); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); bancoDeDados.ExecutarNonQuery(comando); if (item.IdRelacionamento <= 0) { item.IdRelacionamento = Convert.ToInt32(comando.ObterValorParametro("id")); } } } #endregion #region Histórico Historico.Gerar(analise.Id, eHistoricoArtefato.analiseitens, eHistoricoAcao.analisar, bancoDeDados); #endregion bancoDeDados.Commit(); } }
public MaterialApreendido Criar(MaterialApreendido materialApreendido, BancoDeDados banco = null) { using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { bancoDeDados.IniciarTransacao(); #region Apreensão Comando comando = bancoDeDados.CriarComando(@" insert into tab_fisc_apreensao (id, fiscalizacao, iuf_digital, iuf_numero, iuf_data, numero_lacres, arquivo, serie, descricao, valor_produtos, valor_produtos_reais, depositario, endereco_logradouro, endereco_bairro, endereco_distrito, endereco_estado, endereco_municipio, opiniao, tid) values (seq_tab_fisc_apreensao.nextval, :fiscalizacao, :eh_digital, :iuf_numero, :iuf_data, :numero_lacres, :arquivo, :serie, :descricao, :valor_produtos, :valor_produtos_reais, :depositario, :endereco_logradouro, :endereco_bairro, :endereco_distrito, :endereco_estado, :endereco_municipio, :opiniao, :tid) returning id into :id", EsquemaBanco); comando.AdicionarParametroEntrada("fiscalizacao", materialApreendido.FiscalizacaoId, DbType.Int32); comando.AdicionarParametroEntrada("eh_digital", materialApreendido.IsDigital, DbType.Boolean); comando.AdicionarParametroEntrada("iuf_numero", materialApreendido.NumeroIUF, DbType.String); comando.AdicionarParametroEntrada("numero_lacres", materialApreendido.NumeroLacre, DbType.String); comando.AdicionarParametroEntrada("serie", materialApreendido.SerieId, DbType.Int32); materialApreendido.Depositario.Id = materialApreendido.Depositario.Id == 0 ? null : materialApreendido.Depositario.Id; comando.AdicionarParametroEntrada("depositario", materialApreendido.Depositario.Id, DbType.Int32); materialApreendido.Depositario.Estado = materialApreendido.Depositario.Estado == 0 ? null : materialApreendido.Depositario.Estado; comando.AdicionarParametroEntrada("endereco_estado", materialApreendido.Depositario.Estado, DbType.Int32); materialApreendido.Depositario.Municipio = materialApreendido.Depositario.Municipio == 0 ? null : materialApreendido.Depositario.Municipio; comando.AdicionarParametroEntrada("endereco_municipio", materialApreendido.Depositario.Municipio, DbType.Int32); comando.AdicionarParametroEntrada("valor_produtos", materialApreendido.ValorProdutosExtenso, DbType.String); comando.AdicionarParametroEntrada("valor_produtos_reais", materialApreendido.ValorProdutosReais, DbType.Decimal); comando.AdicionarParametroEntClob("opiniao", materialApreendido.Opiniao); comando.AdicionarParametroEntrada("descricao", materialApreendido.Descricao, DbType.String); comando.AdicionarParametroEntrada("endereco_logradouro", materialApreendido.Depositario.Logradouro, DbType.String); comando.AdicionarParametroEntrada("endereco_bairro", materialApreendido.Depositario.Bairro, DbType.String); comando.AdicionarParametroEntrada("endereco_distrito", materialApreendido.Depositario.Distrito, DbType.String); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); comando.AdicionarParametroSaida("id", DbType.Int32); if (materialApreendido.Arquivo == null) { comando.AdicionarParametroEntrada("arquivo", DBNull.Value, DbType.Int32); } else { comando.AdicionarParametroEntrada("arquivo", materialApreendido.Arquivo.Id, DbType.Int32); } if (materialApreendido.DataLavratura.IsEmpty) { comando.AdicionarParametroEntrada("iuf_data", DBNull.Value, DbType.Date); } else { comando.AdicionarParametroEntrada("iuf_data", materialApreendido.DataLavratura.Data.Value, DbType.Date); } bancoDeDados.ExecutarNonQuery(comando); #endregion materialApreendido.Id = Convert.ToInt32(comando.ObterValorParametro("id")); #region Produtos comando = bancoDeDados.CriarComando(@" insert into tab_fisc_apreensao_produto (id, apreensao, produto, quantidade, destinacao, tid) values (seq_tab_fisc_apreensao_produto.nextval, :apreensao, :produto, :quantidade, :destinacao, :tid) ", EsquemaBanco); comando.AdicionarParametroEntrada("apreensao", materialApreendido.Id, DbType.Int32); comando.AdicionarParametroEntrada("produto", DbType.Int32); comando.AdicionarParametroEntrada("quantidade", DbType.Int32); comando.AdicionarParametroEntrada("destinacao", DbType.Int32); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); foreach (ApreensaoProdutoApreendido produto in materialApreendido.ProdutosApreendidos) { comando.SetarValorParametro("produto", produto.ProdutoId); comando.SetarValorParametro("quantidade", produto.Quantidade); comando.SetarValorParametro("destinacao", produto.DestinoId); bancoDeDados.ExecutarNonQuery(comando); } #endregion Historico.Gerar(materialApreendido.FiscalizacaoId, eHistoricoArtefato.fiscalizacao, eHistoricoAcao.atualizar, bancoDeDados); Consulta.Gerar(materialApreendido.FiscalizacaoId, eHistoricoArtefato.fiscalizacao, bancoDeDados); bancoDeDados.Commit(); } return(materialApreendido); }