Esempio n. 1
0
 /// <summary>
 /// Define a quantidade de Volumes da Proposta
 /// </summary>
 /// <remarks>
 /// Quando a quantidade informada for igual a 0 será setando a quantidade de embalagens
 /// com 1 para a embalagem padrão contida na lista desta forma a quantidade de volumes inicial será 1
 /// </remarks>
 private static void inicializaQtdVolumes()
 {
     if (ProcedimentosLiberacao.TotalVolumes == 0)
     {
         ProcedimentosLiberacao.setarVolumeInicial();
     }
 }
        /// <summary>
        /// Carrega as a serem trabalhadas durante o procedimento de liiberção dos itens da proposta.
        /// </summary>
        /// <param name="tItens">Total de Itens da Proposta</param>
        /// <param name="tPecas">Total de peças na Proposta</param>
        /// <param name="pecasItens">Quantidade de pecas do item a ser trabalhado.</param>
        public static void inicializarProcedimentos(Double tItens, Double tPecas, Double pecasItens)
        {
            TotalItens   = tItens;
            TotalPecas   = tPecas;
            qtdPecasItem = pecasItens;
            ProcedimentosLiberacao.setarVolumeInicial();
            ProcedimentosLiberacao.calcularPesoTotalEmbalagens();

            if (ListEtiquetasGeradas != null)
            {
                ListEtiquetasGeradas.Clear();
            }
            else
            {
                listEtiquetasLidas = new List <Etiqueta>();
            }

            ProximaEtiqueta = 0;

            if (ListEtiquetasGeradas != null)
            {
                ListEtiquetasGeradas.Clear();
            }

            if (arrayStringToEtiqueta != null)
            {
                arrayStringToEtiqueta = null;
            }
        }
Esempio n. 3
0
 public static void tratarParaProximoItem(Proposta objProposta)
 {
     //processa Quantidade de itens
     ProcedimentosLiberacao.decrementaQtdTotalItens(1);
     //processa Quantidade de peças
     ProcedimentosLiberacao.decrementaQtdTotalPecas(objProposta.ListObjItemProposta[0].Quantidade);
     //incrementa o peso total dos pordutos.
     ProcedimentosLiberacao.PesoTotalProdutos += objProposta.ListObjItemProposta[0].PesoProdutos;
     //atualiza peso total pedido
     ProcedimentosLiberacao.atualizarPesoTotalPedido();
     //seta status para separado
     ProcedimentosLiberacao.setStatusProdutoParaSeparado(objProposta.ListObjItemProposta[0]);
 }
Esempio n. 4
0
 /// <summary>
 /// Define a quantidade de Volumes da Proposta
 /// </summary>
 /// <remarks>
 /// Quando a quantidade informada for igual a 0 será setando a quantidade de embalagens
 /// com 1 para a embalagem padrão contida na lista desta forma a quantidade de volumes inicial será 1
 /// </remarks>
 /// <param name="qtdVolumes">quantidade de volumes ao iniciar o procedimento</param>
 private static void inicializaQtdVolumes(int qtdVolumes)
 {
     if (qtdVolumes < 0)
     {
         throw new ArithmeticException("O valor informado não pode ser negativo!");
     }
     else if (qtdVolumes == 0)
     {
         ProcedimentosLiberacao.setarVolumeInicial();
         return;
     }
     else
     {
         TotalVolumes = qtdVolumes;
     }
 }
        public static void inicializarProcedimentos(Double tItens, Double tPecas, Double pecasItens, Int32 qtdVolumes)
        {
            TotalItens   = tItens;
            TotalPecas   = tPecas;
            qtdPecasItem = pecasItens;
            ProcedimentosLiberacao.inicializaQtdVolumes(qtdVolumes);
            ProcedimentosLiberacao.calcularPesoTotalEmbalagens();

            listEtiquetasLidas = new List <Etiqueta>();

            //ProximaEtiqueta = 0;
            if (arrayStringToEtiqueta != null)
            {
                arrayStringToEtiqueta = null;
            }
        }
Esempio n. 6
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>
        public static void liberarItem(String inputText, Etiqueta.TipoCode tipoEtiqueta, Proposta objProposta, FrmProposta frm)
        {
            try
            {
                ProcedimentosLiberacao.lerEtiqueta(inputText, tipoEtiqueta, objProposta.ListObjItemProposta[0], frm.tbProduto, frm.tbLote, frm.tbSequencia, frm.tbQuantidade, FrmProposta.tbMensagem);

                if (ProcedimentosLiberacao.QtdPecasItem == 0)
                {
                    if (!ProcedimentosLiberacao.nextItemProposta(objProposta, frm))
                    {
                        ProcedimentosLiberacao.finalizarProposta(objProposta, frm);
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Esempio n. 7
0
        public static Proposta carregarProposta(FrmProposta frm)
        {
            try
            {
                var proposta = new Proposta();
                var ListInformacoesProposta = new List <string>();
                var daoProposta             = new DaoProposta();
                var daoEmbalagem            = new DaoEmbalagem();

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

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

                //Set o total de peças e o total de Itens para o objeto proposta
                proposta.setTotalValoresProposta(Convert.ToDouble(ListInformacoesProposta[4]), Convert.ToDouble(ListInformacoesProposta[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(ListInformacoesProposta[4]), Convert.ToDouble(ListInformacoesProposta[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());
                frm.fillCamposForm(proposta);

                //Retorna o objeto proposta o qual terá suas informações trabalhadas do processo de conferencia do item.
                return(proposta);
            }
            catch (ArithmeticException ex)
            {
                throw ex;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Esempio n. 8
0
        /// <summary>
        /// Reliza todos os processos nescessários para efetuar a carga de dados na base Mobile.
        /// </summary>
        public static void carregaBaseMobile(FrmProposta frm)
        {
            var objTransacoes   = new BaseMobile();
            var objProposta     = new Proposta();
            var daoItemProposta = new DaoProdutoProposta();
            var daoProposta     = new DaoProposta();
            var daoProduto      = new DaoProduto();
            var daoEmbalagem    = new DaoEmbalagem();

            //LIMPA INFORMAÇÕES RESULTANTE DE OUTROS PRODUTOS JÁ CONFERIDOS
            ProcedimentosLiberacao.limpar();

            try
            {
                //Limpa a Base.
                objTransacoes.clearBaseMobile();

                //Carrega um objeto Proposta e inicia todo o procedimento.
                //Caso não exista propostas a serem liberadas gera um exception
                //onde será feito os tratamentos para evitar o travamento do sistema.
                if ((objProposta = daoProposta.fillTop1PropostaServidor()) != null)
                {
                    daoProposta.InsertOrUpdatePickingMobile(objProposta, MainConfig.UserOn.Codigo, Proposta.StatusLiberacao.TRABALHANDO, DateTime.Now);

                    //recupera o codigoPickingMobile da proposta trabalhada.
                    objProposta.CodigoPikingMobile = daoProposta.selectMaxCodigoPickingMobile(objProposta.Codigo);

                    //Realiza o Insert na Base Mobile
                    daoProposta.insertProposta(objProposta, MainConfig.UserOn.Codigo);

                    //Recupera List com itens da proposta
                    //Insert na Base Mobile tabela tb0002_ItensProposta
                    daoItemProposta.carregarBaseMobileItens(daoItemProposta.fillListItensProposta((int)objProposta.Codigo).ToList <ProdutoProposta>());

                    //Insert na base Mobile tabela tb0003_Produtos
                    //Recupera informações sobre os produtos existentes na proposta
                    daoProduto.insertProdutoBaseMobile(daoProduto.fillListProduto((int)objProposta.Codigo).ToList <Produto>());

                    //Armazena informações de embalagens do produto na base mobile.
                    daoEmbalagem.insertEmbalagemBaseMobile(daoEmbalagem.cargaEmbalagensProduto((int)objProposta.Codigo));

                    //Carrega Informações das Embalagens de Separação.
                    //Carrega Quantidade das Embalagens utilizadas nos volumes da separação
                    ProcedimentosLiberacao.ListEmbalagensSeparacao = daoEmbalagem.carregarInformacoesEmbalagensUtilizadas((Int32)objProposta.CodigoPikingMobile, daoEmbalagem.carregarEmbalagensSeparacao());
                }
                else
                {
                    throw new NoNewPropostaException("Não existem novas propostas a serem liberadas!!");
                }
            }
            catch (SqlQueryExceptions ex)
            {
                frm.exitOnError(ex.Message, "Próxima Proposta", false);
            }
            catch (NoNewPropostaException ex)
            {
                frm.exitOnError(ex.Message, "Próxima Proposta", false);
            }
            catch (SqlCeException sqlEx)
            {
                ProcedimentosLiberacao.interromperLiberacao(objProposta);
                daoProposta.updatePropostaTbPickingMobile(objProposta, Proposta.StatusLiberacao.NAOFINALIZADO, true, false);
                StringBuilder strBuilder = new StringBuilder();
                strBuilder.Append("O procedimento não pode ser concluído.\n");
                strBuilder.AppendFormat("Erro : {0}", sqlEx.Errors);
                strBuilder.AppendFormat("Description : {0}", sqlEx.Message);
                frm.exitOnError(strBuilder.ToString(), "SqlException!!", false);
            }
            catch (Exception ex)
            {
                ProcedimentosLiberacao.interromperLiberacao(objProposta);
                daoProposta.updatePropostaTbPickingMobile(objProposta, Proposta.StatusLiberacao.NAOFINALIZADO, true, false);
                StringBuilder strBuilder = new StringBuilder();
                strBuilder.Append("O procedimento não pode ser concluído.\n");
                strBuilder.AppendFormat(" Descrição: {0}", ex.Message);
                strBuilder.Append("\nContate o Administrador do sistema.");
                frm.exitOnError(strBuilder.ToString(), "SqlException!!", false);
            }
            finally
            {
                objTransacoes   = null;
                objProposta     = null;
                daoProposta     = null;
                daoProduto      = null;
                daoItemProposta = null;
                daoEmbalagem    = null;
            }
        }