Exemple #1
0
        public void EventoDocumento(Doc_SolCompra doc, int CodigoSituacao)
        {
            List <EventoDocumento> ListaEvento = new List <EventoDocumento>();
            EventoDocumentoDAL     eventoDAL   = new EventoDocumentoDAL();

            ListaEvento = eventoDAL.ObterEventos(doc.CodigoDocumento);
            DBTabelaDAL RnTab = new DBTabelaDAL();

            EventoDocumento eventodoc = new EventoDocumento();

            eventodoc.CodigoDocumento = Convert.ToDecimal(doc.CodigoDocumento);
            //eventodoc.CodigoMaquina = doc.Cpl_Maquina;
            eventodoc.CodigoUsuario  = doc.CodigoUsuario;
            eventodoc.CodigoSituacao = CodigoSituacao;
            eventodoc.DataHoraEvento = RnTab.ObterDataHoraServidor();
            if (ListaEvento.Count() > 0)
            {
                eventodoc.CodigoEvento = ListaEvento.Max(x => x.CodigoEvento) + 1;
            }
            else
            {
                eventodoc.CodigoEvento = 1;
            }
            eventoDAL.Inserir(eventodoc, doc.CodigoDocumento);
        }
Exemple #2
0
        protected EventoDocumento EventoDocumentoCancelamento(List <EventoDocumento> ListaEvento, LiberacaoDocumento p)
        {
            DBTabelaDAL RnTab          = new DBTabelaDAL();
            DateTime    DataHoraEvento = Convert.ToDateTime(RnTab.ObterDataHoraServidor().ToString("dd/MM/yyyy HH:mm"));

            int intCttItem = 0;

            if (ListaEvento.Count != 0)
            {
                intCttItem = Convert.ToInt32(ListaEvento.Max(x => x.CodigoEvento).ToString());
            }

            intCttItem = intCttItem + 1;

            if (intCttItem != 0)
            {
                ListaEvento.RemoveAll(x => x.CodigoEvento == intCttItem);
            }

            EventoDocumento evento = new EventoDocumento(intCttItem,
                                                         999, //situacao
                                                         DataHoraEvento,
                                                         p.CodigoMaquina,
                                                         p.CodigoUsuario);

            return(evento);
        }
Exemple #3
0
        public void Inserir(MovimentacaoInterna p)
        {
            DBTabelaDAL dbTDAL = new DBTabelaDAL();

            try
            {
                AbrirConexao();

                strSQL = "insert into [MOVIMENTACAO_DE_ESTOQUE] (CD_EMPRESA, CD_LOCALIZACAO, CD_LOTE, CD_PRODUTO, CD_TIPO_OPERACAO, TP_OPER, CD_USUARIO, CD_MAQUINA, CD_DOCUMENTO,VL_AJUSTE , NR_DOCUMENTO, VL_UNITARIO, VL_SALDO_ANTERIOR, QT_MOVIMENTADA, VL_SALDO_FINAL )" +
                         " values (@v1, @v2, @v3, @v4, @v5, @v6, @v7,@v8, @v9, @v10, @v12, @v13, @v14, @v15, @v16 ); SELECT SCOPE_IDENTITY()";
                Cmd = new SqlCommand(strSQL, Con);
                Cmd.Parameters.AddWithValue("@v1", p.CodigoEmpresa);
                Cmd.Parameters.AddWithValue("@v2", p.CodigoIndiceLocalizacao);
                Cmd.Parameters.AddWithValue("@v3", p.CodigoLote);
                Cmd.Parameters.AddWithValue("@v4", p.CodigoProduto);
                Cmd.Parameters.AddWithValue("@v5", p.CodigoTipoOperacao);
                Cmd.Parameters.AddWithValue("@v6", p.TpOperacao);
                Cmd.Parameters.AddWithValue("@v7", p.CodigoUsuario);
                Cmd.Parameters.AddWithValue("@v8", p.CodigoMaquina);
                Cmd.Parameters.AddWithValue("@v9", p.CodigoDocumento);
                Cmd.Parameters.AddWithValue("@v10", p.VlSaldoAjuste);
                Cmd.Parameters.AddWithValue("@v12", p.NumeroDoc);
                Cmd.Parameters.AddWithValue("@v13", p.ValorUnitario);
                Cmd.Parameters.AddWithValue("@v14", p.ValorSaldoAnterior);
                Cmd.Parameters.AddWithValue("@v15", p.QtMovimentada);
                Cmd.Parameters.AddWithValue("@v16", p.VlSaldoFinal);
                p.CodigoIndice = Convert.ToInt32(Cmd.ExecuteScalar());
            }
            catch (SqlException ex)
            {
                if (ex.Errors.Count > 0) // Assume the interesting stuff is in the first error
                {
                    switch (ex.Errors[0].Number)
                    {
                    case 2601:     // Primary key violation
                        throw new DuplicateNameException("Inclusão não Permitida!!! Chave já consta no Banco de Dados. Mensagem :" + ex.Message.ToString(), ex);

                    case 2627:     // Primary key violation
                        throw new DuplicateNameException("Inclusão não Permitida!!! Chave já consta no Banco de Dados. Mensagem :" + ex.Message.ToString(), ex);

                    default:
                        throw new Exception("Erro ao Incluir Estoque: " + ex.Message.ToString());
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao gravar Movimentação de Estoque: " + ex.Message.ToString());
            }
            finally
            {
                FecharConexao();
                ExecutaSpAtualizaEstoque(p.CodigoIndice, Convert.ToDateTime(dbTDAL.ObterDataHoraServidor().ToString("yyyy-MM-dd")));
            }
        }
Exemple #4
0
        public void EventoDocumento(Doc_SolicitacaoAtendimento doc, int CodigoSituacao)
        {
            List <EventoDocumento> ListaEvento = new List <EventoDocumento>();
            EventoDocumentoDAL     eventoDAL   = new EventoDocumentoDAL();

            ListaEvento = eventoDAL.ObterEventos(doc.CodigoDocumento);
            DBTabelaDAL RnTab = new DBTabelaDAL();

            EventoDocumento eventodoc = new EventoDocumento();

            eventodoc.CodigoDocumento = Convert.ToDecimal(doc.CodigoDocumento);
            eventodoc.CodigoMaquina   = doc.Cpl_Maquina;
            eventodoc.CodigoUsuario   = doc.Cpl_Usuario;
            eventodoc.CodigoSituacao  = CodigoSituacao;
            eventodoc.DataHoraEvento  = RnTab.ObterDataHoraServidor();
            eventodoc.CodigoEvento    = ListaEvento.Count + 1;
            eventoDAL.Inserir(eventodoc, doc.CodigoDocumento);
        }
Exemple #5
0
        public void SalvarSolicitacao(Doc_SolCompra p, List <ProdutoDocumento> listaProdutos, EventoDocumento eventoDocumento, List <AnexoDocumento> ListaAnexoDocumento)
        {
            try
            {
                List <Habil_Log> listaLog = new List <Habil_Log>();
                Habil_LogDAL     Rn_Log   = new Habil_LogDAL();
                DBTabelaDAL      RnTabela = new DBTabelaDAL();


                DataTable tbA, tbB;

                if (p.CodigoDocumento == 0)                 //Registro Novo
                {
                    Inserir(p, listaProdutos, eventoDocumento, ListaAnexoDocumento);
                }
                else
                {
                    tbA = ObterSolicitacaoCompra(p.CodigoDocumento);

                    if (eventoDocumento != null)
                    {
                        Atualizar(p, listaProdutos, eventoDocumento, ListaAnexoDocumento);
                    }
                    else
                    {
                        Atualizar(p, listaProdutos, null, ListaAnexoDocumento);
                    }

                    tbB      = ObterSolicitacaoCompra(p.CodigoDocumento);
                    listaLog = Rn_Log.ComparaDataTables(tbA, tbB, Convert.ToDouble(p.CodigoDocumento), p.Cpl_Usuario, p.Cpl_Maquina, 17, "DOCUMENTO");
                    foreach (Habil_Log item in listaLog)
                    {
                        Rn_Log.Inserir(item);
                    }
                }

                if (p.CodigoSituacao == 201)
                {// Análise
                    LiberacaoDocumento    p1;
                    LiberacaoDocumentoDAL Rn_LibDoc = new LiberacaoDocumentoDAL();

                    p1 = Rn_LibDoc.PesquisarLiberacaoDocumento(p.CodigoDocumento, 1);
                    if (p1 == null)
                    {
                        p1 = new LiberacaoDocumento();
                        p1.CodigoDocumento = p.CodigoDocumento;
                        p1.CodigoBloqueio  = 1;
                        p1.CodigoMaquina   = p.Cpl_Maquina;
                        p1.CodigoUsuario   = p.Cpl_Usuario;
                        p1.DataLancamento  = RnTabela.ObterDataHoraServidor();
                        Rn_LibDoc.Inserir(p1);
                    }
                }
            }
            catch (SqlException ex)
            {
                if (ex.Errors.Count > 0)                 // Assume the interesting stuff is in the first error
                {
                    throw new Exception("Erro ao Incluir Salvar Solicitação de Compras: " + ex.Message.ToString());
                }
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao Salvar Solicitação de Compras: " + ex.Message.ToString());
            }
            finally
            {
                FecharConexao();
            }
        }
Exemple #6
0
        public void EnviarDesacordo()
        {
            try
            {
                DBTabelaCampos rowp2 = new DBTabelaCampos();
                rowp2.Filtro = "IN_REG_DEVOLVIDO";
                rowp2.Inicio = "0";
                rowp2.Fim    = "0";
                rowp2.Tipo   = "SMALLINT";
                listaT.Add(rowp2);

                IntegraDocumentoEletronicoDAL integraDAL = new IntegraDocumentoEletronicoDAL();
                ListaIntegracaoDocEletronico = integraDAL.ListarIntegracaoDocEletronicoCompleto(listaT);
                int Contador = 0;
                foreach (IntegraDocumentoEletronico integracao in ListaIntegracaoDocEletronico)
                {
                    if (integracao.CodigoAcao == 124 && integracao.IntegracaoProcessando == 0 && integracao.IntegracaoRecebido == 0 && integracao.IntegracaoRetorno == 0 && integracao.RegistroDevolvido == 0 && integracao.RegistroEnviado == 1 && integracao.Mensagem == "")
                    {
                        Doc_CTe    doc    = new Doc_CTe();
                        Doc_CTeDAL docDAL = new Doc_CTeDAL();
                        doc = docDAL.PesquisarDocumento(integracao.CodigoDocumento);

                        Empresa    empresa    = new Empresa();
                        EmpresaDAL empresaDAL = new EmpresaDAL();
                        empresa = empresaDAL.PesquisarEmpresa(doc.CodigoEmpresa);

                        Pessoa    pes    = new Pessoa();
                        PessoaDAL pesDAL = new PessoaDAL();
                        pes = pesDAL.PesquisarViewPessoa(empresa.CodigoPessoa);

                        Pessoa pesEmitente = new Pessoa();
                        pesEmitente = pesDAL.PesquisarViewPessoa(doc.Cpl_CodigoTransportador);

                        GerandoArquivoLog("Carregando .INI", 1);
                        string DiretorioEXE = Path.GetDirectoryName(System.AppDomain.CurrentDomain.BaseDirectory.ToString()) + @"\..\..\..\..\Modulos";
                        _spdCTeX.LoadConfig(DiretorioEXE + @"\TecnoSpeed\CTe\Arquivos\cteConfig.ini");

                        GerandoArquivoLog("Configurando .INI", 1);
                        if (pesEmitente.Cpl_Estado.Length >= 2)
                        {
                            _spdCTeX.UF = pesEmitente.Cpl_Estado.Substring(0, 2);//UF do Emitente
                        }
                        _spdCTeX.DiretorioEsquemas       = DiretorioEXE + @"\TecnoSpeed\CTe\Arquivos\Esquemas";
                        _spdCTeX.DiretorioTemplates      = DiretorioEXE + @"\TecnoSpeed\CTe\Arquivos\Templates";
                        _spdCTeX.ArquivoServidoresHom    = DiretorioEXE + @"\TecnoSpeed\CTe\Arquivos\cteServidoresHom.ini";
                        _spdCTeX.ArquivoServidoresProd   = DiretorioEXE + @"\TecnoSpeed\CTe\Arquivos\cteServidoresProd.ini";
                        _spdCTeX.ImpressaoModeloRetrato  = DiretorioEXE + @"\TecnoSpeed\CTe\Arquivos\Templates\3.00\DACTE\Retrato.rtm";
                        _spdCTeX.ImpressaoModeloPaisagem = DiretorioEXE + @"\TecnoSpeed\CTe\Arquivos\Templates\cce\Impressao\modeloCCe.rtm";
                        _spdCTeX.CNPJ = pes.Cpl_Inscricao;
                        string      c  = _spdCTeX.VersaoManual.ToString();
                        DBTabelaDAL db = new DBTabelaDAL();

                        List <EventoEletronicoDocumento> ListaEventoDocEletronico = new List <EventoEletronicoDocumento>();
                        EventoEletronicoDocumentoDAL     eventosEletronicosDAL    = new EventoEletronicoDocumentoDAL();
                        ListaEventoDocEletronico = eventosEletronicosDAL.ObterEventosEletronicos(doc.CodigoDocumento);

                        foreach (var evento in ListaEventoDocEletronico)
                        {
                            if (Contador == 0)
                            {
                                if (evento.CodigoSituacao != 121 && evento.CodigoTipoEvento == 120)
                                {
                                    Contador++;
                                    try
                                    {
                                        integracao.IntegracaoRecebido = 1;
                                        integraDAL.AtualizarIntegraDocEletronico(integracao);

                                        string consultaCTE            = _spdCTeX.ConsultarCT(doc.ChaveAcesso);
                                        string CodigoSituacaoConsulta = BuscarValorTagXML(consultaCTE, "infProt", "cStat");
                                        GerandoArquivoLog("Fazendo consulta do CT-e " + doc.ChaveAcesso, 1);

                                        if (CodigoSituacaoConsulta == "100")
                                        {
                                            // _spdCTeX.UF = pes.Cpl_Estado.Substring(0, 2);//UF do remetente
                                            GerandoArquivoLog("CT-e está Autorizado...", 1);
                                            doc.CodigoSituacao = 40;

                                            string XML = _spdCTeX.EnviarDesacordo(doc.ChaveAcesso,
                                                                                  evento.DataHoraEvento.ToString("yyyy-MM-ddTHH:mm:ss") + "-03:00",
                                                                                  evento.Motivo,
                                                                                  evento.NumeroSequencia.ToString());

                                            GerandoArquivoLog("Evento Eletronico do documento " + evento.CodigoEvento + " enviado... aguardando retorno ", 1);
                                            integracao.IntegracaoProcessando = 1;
                                            integraDAL.AtualizarIntegraDocEletronico(integracao);


                                            evento.Retorno = BuscarValorTagXML(XML, "infEvento", "xMotivo");
                                            string CodigoRetorno = BuscarValorTagXML(XML, "infEvento", "cStat");

                                            GerandoArquivoLog("Evento enviado... retorno - " + evento.Retorno, 1);
                                            integracao.IntegracaoRetorno = 1;
                                            integraDAL.AtualizarIntegraDocEletronico(integracao);

                                            if (CodigoRetorno == "135" || CodigoRetorno == "134" || CodigoRetorno == "136")
                                            {
                                                evento.CodigoSituacao = 121;
                                                byte[] XMLRetorno = null;
                                                XMLRetorno = Encoding.UTF8.GetBytes(XML);
                                                DBTabelaDAL dt = new DBTabelaDAL();
                                                SalvarAnexos(doc.CodigoDocumento, XMLRetorno, dt.ObterDataHoraServidor(), integracao, "Retorno do Envio de Desacordo!");
                                                GerandoArquivoLog("Salvando XML em anexo...", 1);
                                            }
                                            else
                                            {
                                                evento.CodigoSituacao = 122;
                                            }
                                        }
                                        else if (CodigoSituacaoConsulta == "218")
                                        {
                                            GerandoArquivoLog("Impossível efetuar o desacordo, CT-e está CANCELADO", 1);
                                            GerandoArquivoLog("CT-e " + doc.ChaveAcesso + " está CANCELADO...", 1);
                                            evento.CodigoSituacao = 122;
                                            doc.CodigoSituacao    = 41;
                                        }
                                        else if (CodigoSituacaoConsulta == "")
                                        {
                                            evento.Retorno        = BuscarValorTagXML(consultaCTE, "retConsSitCTe", "xMotivo");
                                            evento.CodigoSituacao = 122;
                                            doc.CodigoSituacao    = 39;
                                        }
                                        else
                                        {
                                            GerandoArquivoLog("Impossível efetuar o desacordo, CT-e não AUTORIZADO", 1);
                                            GerandoArquivoLog("CT-e " + doc.ChaveAcesso + " não está autorizada...", 1);

                                            evento.CodigoSituacao = 122;
                                            doc.CodigoSituacao    = 39;
                                        }
                                        //docDAL.Atualizar,
                                    }
                                    catch (Exception ex)
                                    {
                                        evento.Retorno = ex.ToString();
                                        GerandoArquivoLog("ERRO - " + ex.ToString(), 1);
                                    }

                                    //ListaEventoDocEletronico.RemoveAll(x => x.CodigoEvento == evento.CodigoEvento);
                                    //EventoEletronicoDocumento NovoEvento = new EventoEletronicoDocumento();
                                    //NovoEvento = evento;
                                    //ListaEventoDocEletronico.Add(NovoEvento);
                                }
                            }
                            eventosEletronicosDAL.AtualizarEventoEletronico(evento);
                            GerandoArquivoLog("Evento eletronico do documento " + doc.CodigoDocumento + " atualizado com sucesso", 1);
                            integracao.Mensagem          = evento.Retorno;
                            integracao.RegistroDevolvido = 1;
                            integraDAL.AtualizarIntegraDocEletronico(integracao);
                        }

                        integraDAL.AtualizarSituacaoDocumentoCTe(doc);
                        GerandoArquivoLog("Documento " + doc.CodigoDocumento + " Atualizado com sucesso", 1);
                    }
                }
                if (Contador == 0)
                {
                    GerandoArquivoLog("Nenhum desacordo enviado para CT-e", 1);
                }
            }
            catch (Exception ex)
            {
                GerandoArquivoLog("ERRO: " + ex.ToString(), 1);
            }
        }