private void liberarItem(String inputText)
        {
            try
            {
                ProcedimentosLiberacao.lerEtiqueta(inputText, objProposta.ListObjItemProposta[0], tbProduto, tbLote, tbSequencia, tbQuantidade, tbMensagem);

                if (ProcedimentosLiberacao.QtdPecasItem == 0)
                {
                    if (!this.nextItemProposta())
                    {
                        daoItemProposta = new DaoProdutoProposta();
                        daoProposta     = new DaoProposta();
                        daoProposta.updatePropostaTbPickingMobileFinalizar(objProposta, Proposta.StatusLiberacao.FINALIZADO);
                        daoItemProposta.updateItemPropostaRetorno();
                        this.Dispose();
                        this.Close();
                    }
                }
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                daoProposta     = null;
                daoItemProposta = null;
            }
        }
示例#2
0
 //Contrutor.
 public FrmProposta()
 {
     InitializeComponent();
     configControls();
     ProcedimentosLiberacao.carregaBaseMobile(this);
     //this.carregaBaseMobile();
 }
        /// <summary>
        ///  Preenche um objeto proposta com todas as informações contidas na base de dados da Proposta e de todos os seus itens.
        /// </summary>
        /// <returns> Objeto Proposta </returns>
        private Proposta fillProposta()
        {
            Proposta proposta = null;

            objTransacoes = new BaseMobile();
            daoProposta   = new DaoProposta();
            daoEmbalagem  = new DaoEmbalagem();

            try
            {
                //Carrega um list com informações gerais sobre a proposta atual na base Mobile.
                listInfoProposta = daoProposta.fillInformacoesProposta();

                //carrega um obj Proposta com a atual proposta na base mobile
                //e com o item top 1 da proposta que ainda não esteja separado.
                proposta = daoProposta.fillPropostaWithTop1Item();

                //Set o total de peças e o total de Itens para o objeto proposta
                proposta.setTotalValoresProposta(Convert.ToDouble(listInfoProposta[4]), Convert.ToDouble(listInfoProposta[3]));

                //Carrega informações de Embalagem para o produto que será trabalhado.
                proposta.ListObjItemProposta[0].Embalagens = daoEmbalagem.carregarEmbalagensProduto(proposta);

                //Set os valores para os atributos auxiliares.
                ProcedimentosLiberacao.inicializarProcedimentos(Convert.ToDouble(listInfoProposta[4]), Convert.ToDouble(listInfoProposta[3]), proposta.ListObjItemProposta[0].Quantidade, proposta.Volumes);

                //Carrega o formulário com as informações que serão manusueadas para a proposta e o item da proposta
                //this.fillCamposForm(proposta.Numero, (string)proposta.RazaoCliente, proposta.Totalpecas, proposta.TotalItens, (string)proposta.ListObjItemProposta[0].Partnumber, (string)proposta.ListObjItemProposta[0].Descricao, (string)proposta.ListObjItemProposta[0].NomeLocalLote, proposta.ListObjItemProposta[0].Quantidade.ToString());
                this.fillCamposForm(proposta);

                //Retorna o objeto proposta o qual terá suas informações trabalhadas do processo de conferencia do item.
                return(proposta);
            }
            catch (ArithmeticException ex)
            {
                StringBuilder sbMsg = new StringBuilder();
                sbMsg.Append("Problemas durante o processamento de informações sobre a proposta.\n");
                sbMsg.AppendFormat("Error : {0}", ex.Message);
                MainConfig.errorMessage(sbMsg.ToString(), "Operação Inválida!");
                throw;
                //return null;
            }
            catch (Exception ex)
            {
                StringBuilder sbMsg = new StringBuilder();
                sbMsg.Append("Problemas durante o processamento de informações sobre a proposta \n");
                sbMsg.AppendFormat("Error : {0}", ex.Message);
                sbMsg.Append("Contate o Administrador do sistema.");
                MainConfig.errorMessage(sbMsg.ToString(), "Sistem Error!");
                throw;
                //return null;
            }
            finally
            {
                //zera o obj transações
                objTransacoes = null;
                daoProposta   = null;
                proposta      = null;
            }
        }
        private DialogResult newLogin(Form formulario, bool retorno)
        {
            try
            {
                DialogResult resp = MessageBox.Show("Deseja salvar as altereções relalizadas", "Exit", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1);

                if (resp == DialogResult.Yes)
                {
                    daoItemProposta = new DaoProdutoProposta();
                    daoProposta     = new DaoProposta();
                    ProcedimentosLiberacao.interromperLiberacao(objProposta);
                    daoProposta.updatePropostaTbPickingMobile(objProposta, Proposta.StatusLiberacao.NAOFINALIZADO, "null");
                    daoItemProposta.updateItemPropostaRetorno();
                    this.Dispose();
                    this.Close();
                    formulario.Show();
                }
                else if (resp == DialogResult.No)
                {
                    daoProposta = new DaoProposta();
                    ProcedimentosLiberacao.interromperLiberacao(objProposta);
                    daoProposta.updatePropostaTbPickingMobile(objProposta, Proposta.StatusLiberacao.NAOFINALIZADO, "null");
                    daoProposta = null;
                    this.Dispose();
                    this.Close();
                    formulario.Show();
                }

                return(resp);
            }
            catch (Exception ex)
            {
                throw new Exception("Não foi possível executar o comando solicitado. \n ", ex);
            }
        }
        /// <summary>
        /// Valida o fechamento do form.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void FrmProposta_Closing(object sender, System.ComponentModel.CancelEventArgs e)
        {
            DialogResult result = MessageBox.Show("Desejar salvar as alterações realizadas?", "Exit", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1);


            if (result == DialogResult.No)
            {
                daoProposta = new DaoProposta();
                ProcedimentosLiberacao.interromperLiberacao(objProposta);
                daoProposta.updatePropostaTbPickingMobile(objProposta, Proposta.StatusLiberacao.NAOFINALIZADO, "null");
                daoProposta = null;
                MainConfig.UserOn.registrarAcesso(Usuario.statusLogin.NAOLOGADO);
                this.Dispose();
                this.Close();
                Application.Exit();
            }
            else if (result == DialogResult.Yes)
            {
                daoItemProposta = new DaoProdutoProposta();
                daoProposta     = new DaoProposta();
                ProcedimentosLiberacao.interromperLiberacao(objProposta);
                daoProposta.updatePropostaTbPickingMobile(objProposta, Proposta.StatusLiberacao.NAOFINALIZADO, "null");
                daoItemProposta.updateItemPropostaRetorno();
                MainConfig.UserOn.registrarAcesso(Usuario.statusLogin.NAOLOGADO);
                this.Dispose();
                this.Close();
                Application.Exit();
            }
            else
            {
                e.Cancel = true;
            }
        }
示例#6
0
        private void btnVolumes_Click(object sender, System.EventArgs e)
        {
            FrmVolumes frmVolumes = new FrmVolumes();

            frmVolumes.ShowDialog();
            this.lbQtdVolumes.Text = ProcedimentosLiberacao.TotalVolumes.ToString();
            //atualiza peso total pedido
            ProcedimentosLiberacao.atualizarPesoTotalPedido();
        }
示例#7
0
        /// <summary>
        /// Realiza os procedimentos nescessários de termino de conferência
        /// de um item de modo que não seja perdido nenhuma informação útil.
        /// </summary>
        /// <param name="formulario">Interface responsável por abrir um próximo formulário</param>
        /// <param name="retorno">Se o usuário terá ou não um mesnsagem de informativa após a conclusão do método.</param>
        /// <param name="showQuestion">Mostrar ou não a pergunta de confirmação ao usuário.</param>
        /// <returns>resposta do Dialog Result</returns>
        private DialogResult exitForm(ICall formulario, bool retorno, bool showQuestion)
        {
            try
            {
                DialogResult resp;

                //Verifica se irá ou não apresentar a pergunta ao usuário.
                if (showQuestion)
                {
                    resp = MessageBox.Show("Deseja salvar as altereções realizadas", "Exit", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1);
                }
                else
                {
                    resp = DialogResult.Yes;
                }

                //Modifica o estado do cursor
                Cursor.Current = Cursors.WaitCursor;

                //realiza procedimentos nescessário para terminar a conferência do item
                if (resp == DialogResult.Yes)
                {
                    //Classes para trabalhar com as bases de dados.
                    var daoItemProposta = new DaoProdutoProposta();
                    var daoProposta     = new DaoProposta();
                    var daoEmbalagem    = new DaoEmbalagem();

                    ProcedimentosLiberacao.interromperLiberacao(objProposta);
                    daoProposta.updatePropostaTbPickingMobile(objProposta, Proposta.StatusLiberacao.NAOFINALIZADO, true, true);
                    daoItemProposta.updateItemPropostaRetorno();
                    daoEmbalagem.salvarEmbalagensSeparacao(objProposta);
                    this.Dispose();
                    this.Close();
                }
                else if (resp == DialogResult.No)
                {
                    var daoProposta = new DaoProposta();
                    ProcedimentosLiberacao.interromperLiberacao(objProposta);
                    daoProposta.updatePropostaTbPickingMobile(objProposta, Proposta.StatusLiberacao.NAOFINALIZADO, true, false);
                    this.Dispose();
                    this.Close();
                }
                return(resp);
            }
            catch (Exception ex)
            {
                MainConfig.errorMessage("Não foi possível executar o comando solicitado.\n" + ex.Message, "Form Propostas");
                return(DialogResult.Yes);
            }
            finally
            {
                Cursor.Current = Cursors.Default;
                formulario.call();
            }
        }
示例#8
0
 /// <summary>
 /// Realiza todo o processo de liberação para o produto lido
 /// </summary>
 /// <param name="inputText">Valor captado pelo Leitor</param>
 /// <param name="tipoEtiqueta">Tipo de Etiqueta a ser validada</param>
 private void liberarItem(String inputText, Etiqueta.TipoCode tipoEtiqueta)
 {
     try
     {
         ProcedimentosLiberacao.liberarItem(inputText, tipoEtiqueta, objProposta, this);
     }
     catch (Exception ex)
     {
         MainConfig.errorMessage(ex.Message, "Liberação!");
     }
 }
 private void addVolume()
 {
     if (temItemSelecionado())
     {
         int index = indexEmbalagemSelecionada();
         ProcedimentosLiberacao.incrementaQtdEmbalagem(embalagemSelecionada());
         carregarListEmbalagens(indexEmbalagemSelecionada());
         atualizarDadosForm();
         itemFocado(index);
     }
 }
        /// <summary>
        /// Recebe o Valor de input durante a leitura do dispositivo.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void FrmProposta_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (e.KeyChar == Convert.ToChar(13))
            {
                if (inputText != "" && inputText != null)
                {
                    Etiqueta.Tipo tipoEtiqueta = ProcedimentosLiberacao.validaInputValueEtiqueta(inputText);

                    switch (tipoEtiqueta)
                    {
                    case Etiqueta.Tipo.INVALID:

                        inputText       = string.Empty;
                        tbMensagem.Text = " Tipo de Etiqueta inválida!!!";
                        break;

                    case Etiqueta.Tipo.QRCODE:

                        this.liberarItem(inputText, tipoEtiqueta);
                        inputText = string.Empty;
                        break;

                    case Etiqueta.Tipo.BARRAS:

                        paramValidarSequencia = MainConfig.Permissoes_TB1210.retornarParametro("ValidarSequencia");

                        if (paramValidarSequencia.Valor == "1")
                        {
                            this.liberarItem(inputText, tipoEtiqueta);
                            inputText = string.Empty;
                            break;
                        }
                        else
                        {
                            inputText       = string.Empty;
                            tbMensagem.Text = "As configurações atuais não permitem validar etiquetas do tipo Ean13!";
                            break;
                        }

                    default:

                        inputText       = string.Empty;
                        tbMensagem.Text = " Tipo de Etiqueta inválida!!!";
                        break;
                    }
                }
            }
            else
            {
                inputText += e.KeyChar.ToString();
            }
        }
        private void inicializaQtdVolumes()
        {
            lbQtdVolumes.Text = ProcedimentosLiberacao.setTotalVolumes().ToString();

            //Define a quantidade de Volumes da Proposta
            //Setando a quantidade de embalagens com 1 para a embalagem padrão.
            if (lbQtdVolumes.Text == "0")
            {
                ProcedimentosLiberacao.setarVolumeInicial();
            }

            lbQtdVolumes.Text = ProcedimentosLiberacao.TotalVolumes.ToString();
        }
示例#12
0
        /// <summary>
        /// Realiza os procedimentos nescessários de termino de conferência
        /// de um item de modo que não seja perdido nenhuma informação útil.
        /// </summary>
        /// <param name="showQuestion">Mostrar ou não a pergunta de confirmação ao usuário.</param>
        /// <returns>resposta do Dialog Result</returns>
        private DialogResult exitForm(bool showQuestion)
        {
            try
            {
                DialogResult resp;

                if (showQuestion)
                {
                    resp = MessageBox.Show("Deseja salvar as altereções realizadas", "Exit", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1);
                }
                else
                {
                    resp = DialogResult.Yes;
                }

                Cursor.Current = Cursors.WaitCursor;

                if (resp == DialogResult.Yes)
                {
                    var daoItemProposta = new DaoProdutoProposta();
                    var daoProposta     = new DaoProposta();
                    var daoEmbalagem    = new DaoEmbalagem();

                    ProcedimentosLiberacao.interromperLiberacao(objProposta);
                    daoProposta.updatePropostaTbPickingMobile(objProposta, Proposta.StatusLiberacao.NAOFINALIZADO, true, true);
                    daoItemProposta.updateItemPropostaRetorno();
                    daoEmbalagem.salvarEmbalagensSeparacao(objProposta);
                    this.Dispose();
                    this.Close();
                }
                else if (resp == DialogResult.No)
                {
                    var daoProposta = new DaoProposta();
                    ProcedimentosLiberacao.interromperLiberacao(objProposta);
                    daoProposta.updatePropostaTbPickingMobile(objProposta, Proposta.StatusLiberacao.NAOFINALIZADO, true, false);
                    this.Dispose();
                    this.Close();
                }

                return(resp);
            }
            catch (Exception ex)
            {
                MainConfig.errorMessage("Não foi possível executar o comando solicitado.\n" + ex.Message, "Form Propostas");
                return(DialogResult.Yes);
            }
            finally
            {
                Cursor.Current = Cursors.Default;
            }
        }
        private void FrmVolumes_Load(object sender, EventArgs e)
        {
            carregarListEmbalagens();

            if (ProcedimentosLiberacao.TotalVolumes == 0)
            {
                ProcedimentosLiberacao.setTotalVolumes();
            }

            if (temItens())
            {
                this.listVolumes.Items[0].Selected = true;
            }

            atualizarDadosForm();
        }
 private void removeVolume()
 {
     try
     {
         if (temItemSelecionado())
         {
             int index = indexEmbalagemSelecionada();
             ProcedimentosLiberacao.decrementaQtdEmbalagem(embalagemSelecionada());
             carregarListEmbalagens(index);
             atualizarDadosForm();
             itemFocado(index);
         }
     }
     catch (Exception ex)
     {
         MainConfig.errorMessage(ex.Message, "Gerenciar Volumes");
     }
 }
示例#15
0
 /// <summary>
 ///  Preenche um objeto proposta com todas as informações contidas na base de dados da Proposta e de todos os seus itens.
 /// </summary>
 /// <returns> Objeto Proposta </returns>
 private void carregarProposta()
 {
     try
     {
         objProposta = ProcedimentosLiberacao.carregarProposta(this);
     }
     catch (ArithmeticException ex)
     {
         StringBuilder sbMsg = new StringBuilder();
         sbMsg.Append("Problemas durante o processamento de informações sobre a proposta.\n");
         sbMsg.AppendFormat("Error : {0}", ex.Message);
         MainConfig.errorMessage(sbMsg.ToString(), "Operação Inválida!");
     }
     catch (Exception ex)
     {
         StringBuilder sbMsg = new StringBuilder();
         sbMsg.Append("Problemas durante o processamento de informações sobre a proposta \n");
         sbMsg.AppendFormat("Error : {0}", ex.Message);
         sbMsg.Append("Contate o Administrador do sistema.");
         MainConfig.errorMessage(sbMsg.ToString(), "Sistem Error!");
     }
 }
        /// <summary>
        /// Realiza todo o processo de liberação para o produto lido
        /// </summary>
        /// <param name="inputText">Valor captado pelo leitor</param>
        /// <param name="tipoEtiqueta">Tipo de Etiqueta a ser validada</param>
        private void liberarItem(String inputText, Etiqueta.Tipo tipoEtiqueta)
        {
            try
            {
                ProcedimentosLiberacao.lerEtiqueta(inputText, tipoEtiqueta, objProposta.ListObjItemProposta[0], tbProduto, tbLote, tbSequencia, tbQuantidade, tbMensagem);

                if (ProcedimentosLiberacao.QtdPecasItem == 0)
                {
                    if (!this.nextItemProposta())
                    {
                        this.finalizarProposta();
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                daoProposta     = null;
                daoItemProposta = null;
            }
        }
        /// <summary>
        /// Realiza todos os procedimentos nescessários para carregar o próximo item a ser separado.
        /// </summary>
        ///
        /// <returns>
        ///          TRUE --> caso exista um próximo item a ser trabalhado
        ///          FALSE --> caso não exista mais items para serem trabalhados.
        /// </returns>
        private bool nextItemProposta()
        {
            bool hasItem = false;

            daoItemProposta = new DaoProdutoProposta();
            daoEtiqueta     = new DaoEtiqueta();
            objTransacoes   = new BaseMobile();

            try
            {
                this.clearParaProximoItem();
                //processa Quantidade de itens
                ProcedimentosLiberacao.decrementaQtdTotalItens(1);
                //processa qunatidade de peças
                ProcedimentosLiberacao.decrementaQtdTotalPecas(objProposta.ListObjItemProposta[0].Quantidade);
                //seta status para separado
                ProcedimentosLiberacao.setStatusProdutoParaSeparado(objProposta.ListObjItemProposta[0]);
                //grava informações do item na base de dados mobile
                daoItemProposta.updateStatusItemProposta(objProposta.ListObjItemProposta[0]);

                ////ESTE TRECHO TALVES ESTEJA SENDO DESNECESSÀRIO.
                ////ANALIZAR MELHOR Action SUA UTILIZACAO
                //daoEtiqueta.insertSequencia(ProcedimentosLiberacao.EtiquetasLidas);


                //inseri informações das etiquetas referente ao produto liberado em formato Xml
                daoItemProposta.updateXmlItemProposta(Etiqueta.gerarXmlItensEtiquetas(ProcedimentosLiberacao.EtiquetasLidas), objProposta.ListObjItemProposta[0].CodigoItemProposta);

                //carrega próximo item
                if (ProcedimentosLiberacao.TotalItens > 0)
                {
                    ProdutoProposta prod = daoItemProposta.fillTop1ItemProposta();

                    //Carrega informações de Embalagem para o produto que será trabalhado.
                    prod.Embalagens = daoEmbalagem.carregarEmbalagensProduto(prod);

                    if (prod != null)
                    {
                        hasItem = true;

                        objProposta.setNextItemProposta(prod);
                    }
                    else
                    {
                        hasItem = false;
                    }
                }
                else // CASO não tenha um próximo item
                {
                    hasItem = false;
                }

                //Se existir um próximo item
                if (hasItem)
                {
                    //seta Parametros para iniciar leitura do próximo item
                    ProcedimentosLiberacao.inicializarProcedimentosProximoItem(objProposta.ListObjItemProposta[0].Quantidade);

                    //recarrega o form com as informações do próximo item.
                    this.fillCamposForm(objProposta, ProcedimentosLiberacao.TotalPecas, ProcedimentosLiberacao.TotalItens);
                }
                else
                {
                    this.clearFormulario(true, true);
                }
            }
            catch (SqlCeException Ex)
            {
                MessageBox.Show(Ex.Message);
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao carregar próximo item!", ex);
            }
            finally
            {
                daoEtiqueta     = null;
                daoItemProposta = null;
            }

            return(hasItem);
        }