/// <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; } }
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]); }
/// <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; } }
/// <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; } }
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; } }
/// <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; } }