Exemple #1
0
        public Boolean ConfereVolumeCheckout(ConferenciaSaida dados)
        {
            OracleConnection connection = DataBase.novaConexao();
            OracleCommand    exec       = connection.CreateCommand();

            StringBuilder query = new StringBuilder();

            try
            {
                query.Append($"UPDATE PCVOLUMEOS SET DTCONF = SYSDATE, CODFUNCCONF = {dados.CodFuncConf}, DATAVOLUME = 'S' WHERE NUMOS = {dados.Numos} AND NUMVOL = {dados.Numvol}");

                exec.CommandText = query.ToString();
                OracleDataReader updateVolumeConf = exec.ExecuteReader();

                connection.Close();
                return(true);
            }
            catch (Exception ex)
            {
                if (connection.State == ConnectionState.Open)
                {
                    connection.Close();
                    return(false);
                }

                exec.Dispose();
                connection.Dispose();

                return(false);
            }
            finally
            {
                if (connection.State == ConnectionState.Open)
                {
                    connection.Close();
                }
                exec.Dispose();
                connection.Dispose();
            }
        }
Exemple #2
0
        public string ChamaImpressao(ParametrosEndereca parametros)
        {
            OracleConnection connection = DataBase.novaConexao();
            OracleCommand    exec       = connection.CreateCommand();

            try
            {
                var nomeArquivo = "UMA-" + parametros.CodUma + ".pdf";

                // DESENVOLVIMENTO
                // var caminho = @"C:\Projetos\Coletor\backend_c#\" + nomeArquivo;

                // HOMOLOGAÇÂO
                // var caminho = @"C:\inetpub\wwwroot\backend_homologacao\" + nomeArquivo;

                // PRODUÇÃO
                var caminho = @"C:\inetpub\wwwroot\backend\" + nomeArquivo;

                // CRIA O ARQUIVO PDF COM BASE64
                byte[] bytePdf = Convert.FromBase64String(parametros.Base64);

                File.WriteAllBytes(nomeArquivo, bytePdf);

                FileInfo file = new FileInfo(caminho);

                if (file.Exists)
                {
                    // MANDA IMPRIMIR O ARQUIVO CRIADO
                    using (var document = PdfDocument.Load(caminho))
                    {
                        using (var printDocument = document.CreatePrintDocument())
                        {
                            printDocument.PrinterSettings.PrintFileName = nomeArquivo;
                            // printDocument.PrinterSettings.PrinterName = @"\\192.168.0.189\HP_WMS5_F7"; // PASSA O NOME DA IMPRESSORA WMS
                            // printDocument.PrinterSettings.PrinterName = @"\\192.168.0.189\hp_ti-new_f7"; // PASSA O NOME DA IMPRESSORA TI
                            printDocument.PrinterSettings.PrinterName = "HP_WMS5_F7";  //IMPRESSORA LOCAL
                            // printDocument.PrinterSettings.PrinterName = "hp_ti-new_f7_teste"; //IMPRESSORA LOCAL TESTE TI

                            printDocument.DocumentName = nomeArquivo;
                            printDocument.PrinterSettings.PrintFileName = nomeArquivo;
                            printDocument.PrintController = new StandardPrintController();
                            printDocument.Print();
                        }
                    }

                    // DELETA O ARQUIVO APÓS IMPRESSÃO

                    File.Delete(caminho);

                    // PREENCHE O NUMVIAS

                    StringBuilder query = new StringBuilder();

                    query.Append($"UPDATE PCMOVENDPEND SET NUMVIAS = NVL(NUMVIAS, 0) + 1, DTULTIMP = SYSDATE WHERE CODIGOUMA IN ({parametros.CodUma})");

                    exec.CommandText = query.ToString();
                    OracleDataReader updateVolumeUma = exec.ExecuteReader();
                }

                return("Placa(s) da U.M.A enviada(s) a impressora.");
            }
            catch (Exception ex)
            {
                ConferenciaSaida enviaEmail = new ConferenciaSaida();

                enviaEmail.EnviaEmail(ex.Message, "ChamaImpressao");

                return("Error:" + ex.Message);
            }

            finally
            {
                if (connection.State == ConnectionState.Open)
                {
                    connection.Close();
                }

                exec.Dispose();
                connection.Dispose();
            }
        }
Exemple #3
0
        public Boolean ConfereVolumeCaixaFechada(ConferenciaSaida dados)
        {
            OracleConnection  connection = DataBase.novaConexao();
            OracleTransaction transacao  = connection.BeginTransaction();
            OracleCommand     exec       = connection.CreateCommand();

            StringBuilder dadosConf           = new StringBuilder();
            StringBuilder updateVolumeConf    = new StringBuilder();
            StringBuilder updateVolumeConfLog = new StringBuilder();
            StringBuilder updateConf;

            exec.Transaction = transacao;

            try
            {
                dadosConf.Append("select numped, nvl(qtconferida,0) as qtconferida, nvl(qt,0) as qt, codendereco, count(*) as contador, (nvl(qt, 0) - nvl(qtconferida, 0)) as qt_sem_conf ");
                dadosConf.Append("  from pcmovendpend ");
                dadosConf.Append($"where codprod = {dados.Codprod}");
                dadosConf.Append($"  and numos   = {dados.Numos}");
                dadosConf.Append($"  and numbox  = {dados.Numbox}");
                dadosConf.Append("   and nvl(qtconferida, 0) <> nvl(QT, 0) ");
                dadosConf.Append("group by numped, nvl(qtconferida, 0), nvl(qt, 0), codendereco, (nvl(qt, 0) - nvl(qtconferida, 0))");

                exec.CommandText = dadosConf.ToString();
                OracleDataReader confDados = exec.ExecuteReader();

                int qt_os = 0;

                while (confDados.Read())
                {
                    qt_os = confDados.GetInt32(2);
                    int   cont        = 0;
                    Int64 numPed      = confDados.GetInt64(0);
                    int   qtConferida = confDados.GetInt32(1);
                    int   qt          = confDados.GetInt32(2);
                    int   codEndereco = confDados.GetInt32(3);
                    int   contador    = confDados.GetInt32(4);
                    int   qtUpdate    = confDados.GetInt32(5);

                    if (qtUpdate <= dados.Qtconf)
                    {
                        if (contador > 0)
                        {
                            cont++;
                        }

                        if (cont == contador)
                        {
                            if (dados.Tipoos == 17 && qt_os == dados.Qtconf)
                            {
                                updateConf = new StringBuilder();

                                updateConf.Append($"update pcmovendpend set codfuncconf = {dados.CodFuncConf}, qtconferida = {dados.Qtconf}, dtinicioconferencia = sysdate ");
                                updateConf.Append($" where codprod = {dados.Codprod} and numos = {dados.Numos} and numbox = {dados.Numbox} and nvl(qtconferida, 0) <> nvl(qt, 0)");

                                exec.CommandText = updateConf.ToString();
                                OracleDataReader updateExecConf1 = exec.ExecuteReader();
                            }
                            else
                            {
                                qtUpdate = (int)dados.Qtconf;

                                if (contador > 0)
                                {
                                    updateConf = new StringBuilder();

                                    updateConf.Append($"update pcmovendpend set codfuncconf = {dados.CodFuncConf}, qtconferida = nvl(qtconferida,0) + {qtUpdate}, dtinicioconferencia = sysdate ");
                                    updateConf.Append($" where codprod = {dados.Codprod} and numos = {dados.Numos} and numbox = {dados.Numbox} and nvl(qtconferida, 0) <> nvl(qt, 0)");

                                    exec.CommandText = updateConf.ToString();
                                    OracleDataReader updateExecConf1 = exec.ExecuteReader();
                                }
                                else
                                {
                                    updateConf = new StringBuilder();

                                    updateConf.Append($"update pcmovendpend set codfuncconf = {dados.CodFuncConf}, qtconferida = nvl(qtconferida,0) + {qtUpdate}, dtinicioconferencia = sysdate ");
                                    updateConf.Append($" where codprod = {dados.Codprod} and numos = {dados.Numos} and numbox = {dados.Numbox}");

                                    exec.CommandText = updateConf.ToString();
                                    OracleDataReader updateExecConf2 = exec.ExecuteReader();
                                }
                            }
                        }
                        else
                        {
                            qtConferida = qtConferida - (int)dados.Qtconf;

                            updateConf = new StringBuilder();

                            updateConf.Append($"update pcmovendpend set codfuncconf = {dados.CodFuncConf}, qtconferida = nvl(qtconferida,0) + {qtUpdate}, dtinicioconferencia = sysdate ");
                            updateConf.Append($" where codprod = {dados.Codprod} and numos = {dados.Numos} and numbox = {dados.Numbox} and nvl(qtconferida, 0) <> nvl(qt, 0)");

                            exec.CommandText = updateConf.ToString();
                            OracleDataReader updateExecConf3 = exec.ExecuteReader();
                        }
                    }
                    else
                    {
                        qtUpdate = (int)dados.Qtconf;

                        updateConf = new StringBuilder();

                        updateConf.Append($"update pcmovendpend set codfuncconf = {dados.CodFuncConf}, qtconferida = nvl(qtconferida,0) + {qtUpdate}, dtinicioconferencia = sysdate ");
                        updateConf.Append($" where codprod = {dados.Codprod} and numos = {dados.Numos} and numbox = {dados.Numbox} and nvl(qtconferida, 0) <> nvl(qt, 0)");

                        exec.CommandText = updateConf.ToString();
                        OracleDataReader updateExecConf4 = exec.ExecuteReader();
                    }
                }

                if (dados.Tipoos == 17)
                {
                    if (qt_os == dados.Qtconf)
                    {
                        updateVolumeConf.Append($"update pcvolumeos set codrotina = 9844, datavolume = 'S', codfuncconf = {dados.CodFuncConf}, dtconf = sysdate where numvol = {dados.Numvol} and numos = {dados.Numos}");

                        exec.CommandText = updateVolumeConf.ToString();
                        OracleDataReader execUpdateVolumeConf = exec.ExecuteReader();

                        //ALIMENTA O LOG PARA SAIR DO RELATORIO DA 1707
                        updateVolumeConfLog.Append($"update pcvolumeoslog set letra = 'WEB', datavolume = 'S', codfuncconf = {dados.CodFuncConf}, dtconf = sysdate where numvol = {dados.Numvol} and numos = {dados.Numos}");

                        exec.CommandText = updateVolumeConfLog.ToString();
                        OracleDataReader execUpdateVolumeConfLog = exec.ExecuteReader();
                    }
                }
                else
                {
                    updateVolumeConf.Append($"update pcvolumeos set codrotina = 9844, datavolume = 'S', codfuncconf = {dados.CodFuncConf}, dtconf = sysdate where numvol = {dados.Numvol} and numos = {dados.Numos}");

                    exec.CommandText = updateVolumeConf.ToString();
                    OracleDataReader execUpdateVolumeConf = exec.ExecuteReader();

                    //ALIMENTA O LOG PARA SAIR DO RELATORIO DA 1707
                    updateVolumeConfLog.Append($"update pcvolumeoslog set letra = 'WEB', datavolume = 'S', codfuncconf = {dados.CodFuncConf}, dtconf = sysdate where numvol = {dados.Numvol} and numos = {dados.Numos}");

                    exec.CommandText = updateVolumeConfLog.ToString();
                    OracleDataReader execUpdateVolumeConfLog = exec.ExecuteReader();
                }

                transacao.Commit();
                connection.Close();

                DataTable resultadoPendencia = BuscaQtVolumePendente(dados.Numos, (int)dados.Numbox);

                Int32 qtPendencia = Convert.ToInt32(resultadoPendencia.Rows[0]["pendencia"]);

                if (qtPendencia == 0)
                {
                    bool finalizada = FinalizaConferenciaOs(dados.Numos);

                    if (finalizada)
                    {
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
                else
                {
                    return(true);
                }
            }
            catch (Exception ex)
            {
                if (connection.State == ConnectionState.Open)
                {
                    transacao.Rollback();
                    connection.Close();
                    return(false);
                }

                transacao.Rollback();
                exec.Dispose();
                connection.Dispose();
                return(false);
            }
            finally
            {
                if (connection.State == ConnectionState.Open)
                {
                    connection.Close();
                }
                exec.Dispose();
                connection.Dispose();
            }
        }