コード例 #1
0
        public static ItemControleCar ObterItemControleCarRetificacao(OracleConnection conn, RequisicaoJobCar requisicao)
        {
            var item       = new ItemControleCar();
            var sqlBuilder = new StringBuilder();

            try
            {
                using (var cmd = new OracleCommand(@"SELECT ID, TID, EMPREENDIMENTO, EMPREENDIMENTO_TID, SOLICITACAO_CAR, SOLICITACAO_CAR_TID, 
                                                    SOLICITACAO_CAR_ANTERIOR, SITUACAO_ENVIO, CHAVE_PROTOCOLO, DATA_GERADO, DATA_ENVIO, PENDENCIAS, 
                                                    CODIGO_IMOVEL, SOLICITACAO_CAR_ESQUEMA, SOLICITACAO_CAR_ANT_ESQUEMA, SOLICITACAO_CAR_ANTERIOR_TID 
                                                    FROM TAB_CONTROLE_SICAR WHERE SOLICITACAO_CAR = :solicitacao", conn))
                {
                    cmd.Parameters.Add(new OracleParameter("solicitacao", requisicao.solicitacao_car));

                    using (var dr = cmd.ExecuteReader())
                    {
                        if (!dr.Read())
                        {
                            return(null);
                        }

                        item = new ItemControleCar()
                        {
                            id                               = dr.GetValue <Int32>("id"),
                            tid                              = dr.GetValue <string>("tid"),
                            empreendimento                   = dr.GetValue <Int32>("empreendimento"),
                            empreendimento_tid               = dr.GetValue <string>("empreendimento_tid"),
                            solicitacao_car                  = dr.GetValue <Int32>("solicitacao_car"),
                            solicitacao_car_tid              = dr.GetValue <string>("solicitacao_car_tid"),
                            solicitacao_car_anterior         = dr.GetValue <Int32>("solicitacao_car_anterior"),
                            situacao_envio                   = dr.GetValue <int>("situacao_envio"),
                            chave_protocolo                  = dr.GetValue <string>("chave_protocolo"),
                            data_gerado                      = dr.GetValue <DateTime>("data_gerado"),
                            data_envio                       = dr.GetValue <DateTime>("data_envio"),
                            pendencias                       = dr.GetValue <string>("pendencias"),
                            codigo_imovel                    = dr.GetValue <string>("codigo_imovel"),
                            solicitacao_car_esquema          = dr.GetValue <int>("solicitacao_car_esquema"),
                            solicitacao_car_anterior_esquema = dr.GetValue <Int32>("solicitacao_car_ant_esquema"),
                            solicitacao_car_anterior_tid     = dr.GetValue <string>("solicitacao_car_anterior_tid"),
                        };
                    }
                }
            }
            catch (Exception exception)
            {
                Log.Error("Erro ao conectar ao Banco de dados:" + exception.Message, exception);
            }

            return(item);
        }
コード例 #2
0
        public static ItemControleCar ObterItemControleCar(OracleConnection conn, RequisicaoJobCar requisicao)
        {
            var schema = CarUtils.GetEsquemaInstitucional();
            var item   = new ItemControleCar();

            var sqlBuilder = new StringBuilder();

            sqlBuilder.Append("SELECT T.ID, T.TID, T.EMPREENDIMENTO, T.EMPREENDIMENTO_TID,T.SOLICITACAO_CAR, T.SOLICITACAO_CAR_TID,  ");
            sqlBuilder.Append("T.SITUACAO_ENVIO, T.CHAVE_PROTOCOLO,T.DATA_GERADO,T.DATA_ENVIO,T.PENDENCIAS,T.CODIGO_IMOVEL, ");
            sqlBuilder.Append("T.URL_RECIBO,T.STATUS_SICAR,T.CONDICAO,T.SOLICITACAO_CAR_ESQUEMA,NVL(T.SOLICITACAO_PASSIVO, 0)SOLICITACAO_PASSIVO, ");
            sqlBuilder.Append("NVL(T.SOLICITACAO_SITUACAO_APROVADO, 2)SOLICITACAO_SITUACAO_APROVADO FROM " + schema + ".TAB_CONTROLE_SICAR t WHERE ");
            sqlBuilder.Append("t.empreendimento = :empreendimento /*AND t.empreendimento_tid = :empreendimento_tid */");
            sqlBuilder.Append("AND t.solicitacao_car = :solicitacao_car /*AND t.solicitacao_car_tid = :solicitacao_car_tid */");
            sqlBuilder.Append("AND rownum = 1 ORDER BY id DESC");

            try
            {
                if (conn.State == ConnectionState.Broken || conn.State == ConnectionState.Closed)
                {
                    Log.Error("ObterItemControleCar: Conexão fechada ou quebrada.");
                }

                using (var cmd = new OracleCommand(sqlBuilder.ToString(), conn))
                {
                    cmd.Parameters.Add(new OracleParameter("empreendimento", requisicao.empreendimento));
                    //cmd.Parameters.Add(new OracleParameter("empreendimento_tid", requisicao.empreendimento_tid));
                    cmd.Parameters.Add(new OracleParameter("solicitacao_car", requisicao.solicitacao_car));
                    //cmd.Parameters.Add(new OracleParameter("solicitacao_car_tid", requisicao.solicitacao_car_tid));

                    using (var dr = cmd.ExecuteReader())
                    {
                        if (!dr.Read())
                        {
                            if (dr.IsClosed)
                            {
                                Log.Error(String.Concat("ObterItemControleCar: dr is closed. ", " - Estado da conexão: ", conn.State.ToString()));
                            }
                            else if (!dr.HasRows)
                            {
                                Log.Error(String.Concat("ObterItemControleCar: consulta não retornou resultado. empreendimento: ", requisicao.empreendimento,
                                                        " - solicitacao_car: ", requisicao.solicitacao_car, " - Estado da conexão: ", conn.State.ToString()));
                            }
                            else
                            {
                                Log.Error(String.Concat("ObterItemControleCar: não foi possível ler a consulta. ", " - Estado da conexão: ", conn.State.ToString()));
                            }

                            return(null);
                        }


                        item = new ItemControleCar()
                        {
                            id                            = dr.GetValue <Int32>("id"),
                            tid                           = dr.GetValue <string>("tid"),
                            empreendimento                = dr.GetValue <Int32>("empreendimento"),
                            empreendimento_tid            = dr.GetValue <string>("empreendimento_tid"),
                            solicitacao_car               = dr.GetValue <Int32>("solicitacao_car"),
                            solicitacao_car_tid           = dr.GetValue <string>("solicitacao_car_tid"),
                            situacao_envio                = dr.GetValue <int>("situacao_envio"),
                            chave_protocolo               = dr.GetValue <string>("chave_protocolo"),
                            data_gerado                   = dr.GetValue <DateTime>("data_gerado"),
                            data_envio                    = dr.GetValue <DateTime>("data_envio"),
                            pendencias                    = dr.GetValue <string>("pendencias"),
                            codigo_imovel                 = dr.GetValue <string>("codigo_imovel"),
                            url_recibo                    = dr.GetValue <string>("url_recibo"),
                            status_sicar                  = dr.GetValue <string>("status_sicar"),
                            condicao                      = dr.GetValue <string>("condicao"),
                            solicitacao_car_esquema       = dr.GetValue <int>("solicitacao_car_esquema"),
                            solicitacao_passivo           = Convert.ToInt32(dr["solicitacao_passivo"]),
                            solicitacao_situacao_aprovado = Convert.ToInt32(dr["solicitacao_situacao_aprovado"]),
                        };
                    }
                }
            }
            catch (Exception exception)
            {
                Log.Error("Erro ao conectar ao Banco de dados:" + exception.Message, exception);
            }

            return(item);
        }
コード例 #3
0
        public static int AtualizarControleSICarRetificacao(OracleConnection conn, MensagemRetorno resultado, ItemControleCar item, int situacaoEnvio, int solicitacaoRetificadora, string tid, string arquivoCar = "", string tipo = "")
        {
            var schema = CarUtils.GetEsquemaInstitucional();

            var pendencias          = " Solicitação retificada pela solicitação : " + solicitacaoRetificadora;
            var condicao            = "Aguardando Análise";
            var mensagensDeResposta = pendencias;


            var sqlBuilder = new StringBuilder();

            sqlBuilder.Append("UPDATE " + schema + ".TAB_CONTROLE_SICAR SET ");
            //sqlBuilder.Append("tid = :tid,");
            sqlBuilder.Append("situacao_envio = :situacao_envio,");
            sqlBuilder.Append("chave_protocolo = :chave_protocolo,");

            if (tipo.Equals("gerar-car"))
            {
                sqlBuilder.Append("data_gerado = CURRENT_TIMESTAMP,");
            }
            //if (situacaoEnvio == SITUACAO_ENVIO_ARQUIVO_ENTREGUE)
            else
            {
                sqlBuilder.Append("data_envio = CURRENT_TIMESTAMP,");
            }
            if (arquivoCar != "")
            {
                sqlBuilder.Append("arquivo = '" + arquivoCar + "',");
            }

            sqlBuilder.Append("pendencias = :pendencias,");
            if (!String.IsNullOrWhiteSpace(resultado.codigoImovel))
            {
                sqlBuilder.Append("codigo_imovel = :codigo_imovel,");
            }
            if (!String.IsNullOrWhiteSpace(resultado.urlReciboInscricao))
            {
                sqlBuilder.Append("url_recibo = :url_recibo,");
            }
            sqlBuilder.Append("status_sicar = :status_sicar,");
            sqlBuilder.Append("condicao = :condicao,");

            sqlBuilder.Append("CODIGO_RESPOSTA = :codigo_resposta, ");
            sqlBuilder.Append("CODIGO_IMOVEL_MASC = :codigo_imovel_masc, ");
            sqlBuilder.Append("MENSAGEM_RESPOSTA = :mensagem_resposta ");
            sqlBuilder.Append(" WHERE solicitacao_car = :id");

            try
            {
                using (var cmd = new OracleCommand(sqlBuilder.ToString(), conn))
                {
                    //cmd.Parameters.Add(new OracleParameter("tid", item.solicitacao_car_anterior_tid));
                    cmd.Parameters.Add(new OracleParameter("situacao_envio", SITUACAO_ENVIO_ARQUIVO_RETIFICADO));
                    cmd.Parameters.Add(new OracleParameter("chave_protocolo", resultado.protocoloImovel));
                    cmd.Parameters.Add(new OracleParameter("pendencias", pendencias));
                    if (!String.IsNullOrWhiteSpace(resultado.codigoImovel))
                    {
                        cmd.Parameters.Add(new OracleParameter("codigo_imovel", resultado.codigoImovel));
                    }
                    if (!String.IsNullOrWhiteSpace(resultado.urlReciboInscricao))
                    {
                        cmd.Parameters.Add(new OracleParameter("url_recibo", resultado.urlReciboInscricao));
                    }
                    cmd.Parameters.Add(new OracleParameter("status_sicar", "IN"));
                    cmd.Parameters.Add(new OracleParameter("condicao", condicao));

                    cmd.Parameters.Add(new OracleParameter("codigo_resposta", resultado.codigoResposta));
                    cmd.Parameters.Add(new OracleParameter("codigo_imovel_masc", resultado.codigoImovelComMascara));

                    cmd.Parameters.Add(new OracleParameter("mensagem_resposta", mensagensDeResposta));
                    //cmd.Parameters.Add(new OracleParameter("mensagem_resposta", resultado.mensagensResposta));
                    cmd.Parameters.Add(new OracleParameter("solicitacao_car", item.solicitacao_car_anterior));

                    cmd.ExecuteNonQuery();
                }
            }
            catch (Exception exception)
            {
                Log.Error("Erro ao conectar ao Banco de dados:" + exception.Message, exception);
            }

            RequisicaoJobCar requisicao = new RequisicaoJobCar();

            requisicao.empreendimento      = item.empreendimento;
            requisicao.empreendimento_tid  = item.empreendimento_tid;
            requisicao.solicitacao_car     = item.solicitacao_car_anterior;
            requisicao.solicitacao_car_tid = item.solicitacao_car_anterior_tid;

            //Inserir no Histórico
            InserirHistoricoControleCar(conn, requisicao, tid, resultado);
            if (item == null)
            {
                return(0);
            }
            return(item.id);
        }