コード例 #1
0
        /// <summary>
        /// Preenche um objeto do tipo Proposta com todas as suas informações inclusive os itens e detalhes sobre os mesmos
        /// </summary>
        /// <returns>Objeto do tipo Proposta</returns>
        public Proposta fillProposta()
        {
            Proposta objProposta = null;

            List <ProdutoProposta> listProd = new List <ProdutoProposta>();

            sql01 = new StringBuilder();

            sql01.Append(" SELECT TB_PROP.codigoPROPOSTA, TB_PROP.numeroPROPOSTA, TB_PROP.dataliberacaoPROPOSTA,TB_PROP.clientePROPOSTA, TB_PROP.razaoclientePROPOSTA,TB_PROP.volumesPROPOSTA,TB_PROP.codigopickingmobilePROPOSTA");
            sql01.Append(" TB_ITEMPROPOP.codigoITEMPROPOSTA, TB_ITEMPROPOP.propostaITEMPROPOSTA, TB_ITEMPROPOP.quantidadeITEMPROPOSTA, TB_ITEMPROPOP.statusseparadoITEMPROPOSTA,");
            sql01.Append(" TB_ITEMPROPOP.lotereservaITEMPROPOSTA, TB_ITEMPROPOP.localloteITEMPROPOSTA, TB_ITEMPROPOP.codigoprodutoITEMPROPOSTA,");
            sql01.Append(" TB_PROD.ean13PRODUTO, TB_PROD.partnumberPRODUTO,TB_PROD.descricaoPRODUTO, TB_PROD.identificacaolotePRODUTO, TB_PROD.codigolotePRODUTO, TB_PROD.codigolocalPRODUTO,");
            sql01.Append(" TB_PROD.nomelocalPRODUTO");
            sql01.Append(" FROM   tb0001_Propostas AS TB_PROP ");
            sql01.Append(" INNER JOIN tb0002_ItensProposta AS TB_ITEMPROPOP ON TB_PROP.codigoPROPOSTA = TB_ITEMPROPOP.propostaITEMPROPOSTA");
            sql01.Append(" INNER JOIN tb0003_Produtos AS TB_PROD ON TB_ITEMPROPOP.codigoprodutoITEMPROPOSTA = TB_PROD.codigoPRODUTO");
            sql01.Append(" WHERE TB_ITEMPROPOP.statusseparadoITEMPROPOSTA = 0");
            sql01.Append(" ORDER BY TB_PROD.nomelocalPRODUTO ASC");

            SqlCeDataReader dr = CeSqlServerConn.fillDataReaderCe(sql01.ToString());

            int i = 0;

            if ((dr != null))
            {
                while ((dr.Read()))
                {
                    i++;
                    if (i == 1)
                    {
                        int statusOrdemSeparacao = Convert.ToInt32(dr["ordemseparacaoimpressaPROPOSTA"]);
                        objProposta = new Proposta(Convert.ToInt64(dr["codigoPROPOSTA"]), (string)dr["numeroPROPOSTA"], (string)dr["dataLIBERACAOPROPOSTA"],
                                                   Convert.ToInt32(dr["clientePROPOSTA"]), (string)dr["razaoclientePROPOSTA"], Convert.ToInt32(dr["volumesPROPOSTA"]), Convert.ToInt32(dr["codigopickingmobilePROPOSTA"]));
                    }

                    int statusSeparadoItem = Convert.ToInt32(dr["statusseparadoITEMPROPOSTA"]);

                    ProdutoProposta objProdProp = new ProdutoProposta(Convert.ToInt32(dr["codigoITEMPROPOSTA"]),
                                                                      Convert.ToInt32(objProposta.Codigo),
                                                                      Convert.ToDouble(dr["quantidadeITEMPROPOSTA"]),
                                                                      (ProdutoProposta.statusSeparado)statusSeparadoItem,
                                                                      Convert.ToInt32(dr["lotereservaITEMPROPOSTA"]),
                                                                      Convert.ToInt32(dr["codigoprodutoITEMPROPOSTA"]),
                                                                      (string)dr["ean13PRODUTO"],
                                                                      (string)dr["partnumberPRODUTO"],
                                                                      (string)dr["descricaoPRODUTO"],
                                                                      (string)dr["nomelocalPRODUTO"],
                                                                      Convert.ToInt32(dr["codigolotePRODUTO"]),
                                                                      (string)dr["identificacaolotePRODUTO"]);

                    listProd.Add(objProdProp);
                }

                objProposta = new Proposta(objProposta, listProd);
            }

            SqlServerConn.closeConn();

            return(objProposta);
        }
コード例 #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="inputValue"></param>
        /// <param name="produto"></param>
        /// <param name="tbProduto"></param>
        /// <param name="tblote"></param>
        /// <param name="tbSequencia"></param>
        /// <param name="tbQuantidade"></param>
        /// <param name="tbMensagem"></param>
        public static void lerEtiqueta(String inputValue, ProdutoProposta produto, TextBox tbProduto, TextBox tblote, TextBox tbSequencia, TextBox tbQuantidade, TextBox tbMensagem)
        {
            tbMensagem.Text = "";

            ArrayStringToEtiqueta = FileUtility.arrayOfTextFile(inputValue, FileUtility.splitType.PIPE);
            Etiqueta objEtiqueta = new Etiqueta();

            objEtiqueta = new Etiqueta(arrayStringToEtiqueta, Etiqueta.Tipo.QRCODE);
            efetuaLeituraEtiqueta(produto, tbProduto, tblote, tbSequencia, tbQuantidade, tbMensagem, objEtiqueta);
        }
コード例 #3
0
 /// <summary>
 /// Altera o status do produto para separado.
 /// </summary>
 /// <param name="item">item que tera o seu status alterado.</param>
 public static void setStatusProdutoParaSeparado(ProdutoProposta item)
 {
     if (item.StatusSeparado == ProdutoProposta.statusSeparado.SEPARADO)
     {
         return;
     }
     else
     {
         item.alteraStatusSeparado();
     }
 }
コード例 #4
0
        /// <summary>
        /// Identifica qual o próximo item com status de NAOSEPARADO e o retorna.
        /// </summary>
        /// <returns>Objeto ProdutoProposta com o próximo item da sequência da base mobile.</returns>
        /// <remarks>
        ///       Caso a query não retorne valores da base mobile o método retorna um Valor NULL
        /// </remarks>
        public ProdutoProposta itemATrabalhar()
        {
            Object obj = null;

            sql01 = new StringBuilder();
            sql01.Append(" SELECT TOP (1) TB_PROP.codigoPROPOSTA,");
            sql01.Append(" TB_ITEMPROPOP.codigoITEMPROPOSTA, TB_ITEMPROPOP.propostaITEMPROPOSTA, TB_ITEMPROPOP.quantidadeITEMPROPOSTA, TB_ITEMPROPOP.statusseparadoITEMPROPOSTA,");
            sql01.Append(" TB_ITEMPROPOP.alllotesreservaITEMPROPOSTA, TB_ITEMPROPOP.codigoprodutoITEMPROPOSTA,");
            sql01.Append(" TB_PROD.ean13PRODUTO, TB_PROD.partnumberPRODUTO,TB_PROD.descricaoPRODUTO, TB_PROD.identificacaolotePRODUTO, TB_PROD.codigolotePRODUTO,TB_PROD.pesobrutoPRODUTO,");
            sql01.Append(" TB_PROD.nomelocalPRODUTO");
            sql01.Append(" FROM   tb0001_Propostas AS TB_PROP ");
            sql01.Append(" INNER JOIN tb0002_ItensProposta AS TB_ITEMPROPOP ON TB_PROP.codigoPROPOSTA = TB_ITEMPROPOP.propostaITEMPROPOSTA");
            sql01.Append(" INNER JOIN tb0003_Produtos AS TB_PROD ON TB_ITEMPROPOP.codigoprodutoITEMPROPOSTA = TB_PROD.codigoPRODUTO");
            sql01.Append(" WHERE TB_ITEMPROPOP.statusseparadoITEMPROPOSTA = 0");
            sql01.Append(" ORDER BY TB_PROD.nomelocalPRODUTO ASC");

            SqlCeDataReader dr = CeSqlServerConn.fillDataReaderCe(sql01.ToString());

            if ((dr != null))
            {
                while ((dr.Read()))
                {
                    //int statusSeparadoItem = ;
                    ProdutoProposta produto = new ProdutoProposta(Convert.ToInt32(dr["codigoITEMPROPOSTA"]),
                                                                  Convert.ToInt32(dr["codigoPROPOSTA"]),
                                                                  Convert.ToDouble(dr["quantidadeITEMPROPOSTA"]),
                                                                  (ProdutoProposta.statusSeparado)Convert.ToInt32(dr["statusseparadoITEMPROPOSTA"]),
                                                                  (string)(dr["alllotesreservaITEMPROPOSTA"]),
                                                                  Convert.ToInt32(dr["codigoprodutoITEMPROPOSTA"]),
                                                                  (string)dr["ean13PRODUTO"],
                                                                  (string)dr["partnumberPRODUTO"],
                                                                  (string)dr["descricaoPRODUTO"],
                                                                  (string)dr["nomelocalPRODUTO"],
                                                                  Convert.ToInt32(dr["codigolotePRODUTO"]),
                                                                  (string)dr["identificacaolotePRODUTO"],
                                                                  Convert.ToDouble(dr["pesobrutoPRODUTO"]));
                    obj = produto;
                }
            }

            //fecha a conexão
            dr.Close();
            CeSqlServerConn.closeConnCe();

            if (obj != null)
            {
                return((ProdutoProposta)obj);
            }
            else
            {
                return(null);
            }
        }
コード例 #5
0
        /// <summary>
        /// realiza todo o procedimento para validação de tipo de etiqueta,etiqueta, produto,
        /// validação de sequência,subtração de quantidade de itens registrados na etiqueta.
        /// </summary>
        /// <param name="produto">Produto a ser validado</param>
        /// <param name="tbProduto">Text Box Nome do Produto</param>
        /// <param name="tbLote">Text Box Lote</param>
        /// <param name="tbSequencia">Text Box  Sequencia</param>
        /// <param name="tbQuantidade">Text Box Quantidade</param>
        /// <param name="tbMensagem">Text Box Mensagem</param>
        /// <param name="objEtiqueta">Objeto Etiqueta.</param>
        public static void efetuaLeituraEtiqueta(ProdutoProposta produto, TextBox tbProduto, TextBox tbLote, TextBox tbSequencia, TextBox tbQuantidade,
                                                 TextBox tbMensagem, Etiqueta objEtiqueta)
        {
            try
            {
                if (comparaProdutoEtiquetaProdutoTrabalhado(produto, objEtiqueta))
                {
                    if (validaEtiquetaNaoLida(objEtiqueta))
                    {
                        if (QtdPecasItem > 0)
                        {
                            tbProduto.Text             = objEtiqueta.PartnumberEtiqueta.ToString() + " - " + objEtiqueta.DescricaoProdutoEtiqueta.ToString();
                            tbLote.Text                = objEtiqueta.LoteEtiqueta;
                            tbSequencia.Text           = objEtiqueta.SequenciaEtiqueta.ToString();
                            tbQuantidade.Text          = (subtrairQtdPecasItem(objEtiqueta.QuantidadeEtiqueta)).ToString();
                            objEtiqueta.VolumeEtiqueta = ProcedimentosLiberacao.totalVolumes;
                            addToListEtiquetasLidas(objEtiqueta);
                        }
                    }
                    else
                    {
                        tbMensagem.Text  = String.Format("A etiqueta {0} já foi validada.", objEtiqueta.SequenciaEtiqueta);
                        ProximaEtiqueta += 1;
                    }
                }
                else
                {
                    if (ProcedimentosLiberacao.mensagem != "" || ProcedimentosLiberacao.mensagem != null)
                    {
                        tbMensagem.Text = ProcedimentosLiberacao.mensagem;
                    }
                    else
                    {
                        tbMensagem.Text = String.Format("Produto da etiqueta lida não confere com o item a ser liberado.");
                    }

                    ProximaEtiqueta += 1;
                }
            }
            catch (QuantidadeInvalidaException qtdEx)
            {
                StringBuilder sb = new StringBuilder();
                sb.Append("Quantidade de peças na embalagem é maior que a Quantidade a ser liberada!");
                sb.AppendFormat("error : {0} ", qtdEx.Message);
                MainConfig.errorMessage(sb.ToString(), "Etiqueta Inválida!!");
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #6
0
 /// <summary>
 /// realiza todo o procedimento para validação de tipo de etiqueta,etiqueta, produto,
 /// validação de sequência,subtração de quantidade de itens registrados na etiqueta.
 /// </summary>
 /// <param name="produto">Produto a ser validado</param>
 /// <param name="tbProduto">Text Box Nome do Produto</param>
 /// <param name="tbLote">Text Box Lote</param>
 /// <param name="tbSequencia">Text Box  Sequencia</param>
 /// <param name="tbQuantidade">Text Box Quantidade</param>
 /// <param name="tbMensagem">Text Box Mensagem</param>
 /// <param name="objEtiqueta">Objeto Etiqueta.</param>
 public static void efetuaLeituraEtiqueta(ProdutoProposta produto, TextBox tbProduto, TextBox tbLote, TextBox tbSequencia, TextBox tbQuantidade,
                                          TextBox tbMensagem, EtiquetaVenda objEtiqueta)
 {
     try
     {
         if (comparaProdutoEtiquetaProdutoTrabalhado(produto, objEtiqueta))
         {
             if (objEtiqueta.QuantidadeEtiqueta == 0.0)
             {
                 throw new QuantidadeInvalidaException("A quantidade de produtos informado na embalagem é inválida!");
             }
             if (podeTrabalharEtiqueta(objEtiqueta))
             {
                 if (QtdPecasItem > 0)
                 {
                     tbProduto.Text             = objEtiqueta.PartnumberEtiqueta.ToString() + " - " + objEtiqueta.DescricaoProdutoEtiqueta.ToString();
                     tbLote.Text                = objEtiqueta.LoteEtiqueta;
                     tbSequencia.Text           = objEtiqueta.SequenciaEtiqueta.ToString();
                     tbQuantidade.Text          = MainConfig.intOrDecimal(Convert.ToDouble(subtrairQtdPecasItem(objEtiqueta.QuantidadeEtiqueta)));
                     objEtiqueta.VolumeEtiqueta = ProcedimentosLiberacao.TotalVolumes;
                     addToListEtiquetasLidas(objEtiqueta);
                 }
             }
             else
             {
                 FrmProposta.mostrarMensagem(TitaniumColector.Forms.FrmProposta.enumCor.RED, String.Format("A etiqueta {0} já foi validada.", objEtiqueta.SequenciaEtiqueta), TitaniumColector.Forms.FrmProposta.enumCursor.DEFAULT);
             }
         }
         else
         {
             if (ProcedimentosLiberacao.Mensagem != "" || ProcedimentosLiberacao.Mensagem != null)
             {
                 tbMensagem.Text = ProcedimentosLiberacao.Mensagem;
             }
             else
             {
                 tbMensagem.Text = String.Format("Produto da etiqueta lida não confere com o item a ser liberado.");
             }
         }
     }
     catch (QuantidadeInvalidaException qtdEx)
     {
         StringBuilder sb = new StringBuilder();
         sb.AppendFormat("error : {0} ", qtdEx.Message);
         MainConfig.errorMessage(sb.ToString(), "Erro de validação!!");
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
コード例 #7
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="produto"></param>
        /// <param name="tbProduto"></param>
        /// <param name="tblote"></param>
        /// <param name="tbSequencia"></param>
        /// <param name="tbQuantidade"></param>
        /// <param name="tbMensagem"></param>
        /// <param name="arrayEtiqueta"></param>
        public static void lerEtiqueta(ProdutoProposta produto, TextBox tbProduto, TextBox tblote, TextBox tbSequencia, TextBox tbQuantidade, TextBox tbMensagem, Array arrayEtiqueta)
        {
            tbMensagem.Text = "";

            if (ProximaEtiqueta <= ListEtiquetasGeradas.Count - 1)
            {
                arrayEtiqueta = FileUtility.arrayOfTextFile(ListEtiquetasGeradas[ProximaEtiqueta].ToString(), FileUtility.splitType.PIPE);
                Etiqueta objEtiqueta = new Etiqueta();
                objEtiqueta = Etiqueta.arrayToEtiqueta(arrayEtiqueta);
                efetuaLeituraEtiqueta(produto, tbProduto, tblote, tbSequencia, tbQuantidade, tbMensagem, objEtiqueta);
            }
            else
            {
                tbMensagem.Text = "Próximo Item.";
            }
        }
コード例 #8
0
        /// <summary>
        /// Altera o status de separado do item na Base mobile.
        /// </summary>
        /// <param name="item">O status será alterado de acordo com o atual statdo so item passado com parâmetro.</param>
        public void updateStatusItemProposta(ProdutoProposta item)
        {
            try
            {
                sql01 = new StringBuilder();
                sql01.Append(" UPDATE      tb0002_ItensProposta");
                sql01.AppendFormat("  SET   statusseparadoITEMPROPOSTA ={0}", (int)item.StatusSeparado);
                sql01.AppendFormat(" WHERE (tb0002_ItensProposta.codigoITEMPROPOSTA = {0})", item.CodigoItemProposta);


                CeSqlServerConn.execCommandSqlCe(sql01.ToString());
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #9
0
        /// <summary>
        /// Identifica qual o próximo item com status de NAOSEPARADO e o retorna.
        /// </summary>
        /// 
        /// <returns>Objeto ProdutoProposta com o próximo item da sequência da base mobile.</returns>
        /// 
        /// <remarks>
        ///       Caso a query não retorne valores da base mobile o método retorna um Valor NULL
        /// </remarks>
        public ProdutoProposta fillTop1ItemProposta()
        {
            Object obj = null;

            sql01 = new StringBuilder();
            sql01.Append(" SELECT TOP (1) TB_PROP.codigoPROPOSTA,");
            sql01.Append(" TB_ITEMPROPOP.codigoITEMPROPOSTA, TB_ITEMPROPOP.propostaITEMPROPOSTA, TB_ITEMPROPOP.quantidadeITEMPROPOSTA, TB_ITEMPROPOP.statusseparadoITEMPROPOSTA,");
            sql01.Append(" TB_ITEMPROPOP.lotereservaITEMPROPOSTA, TB_ITEMPROPOP.codigoprodutoITEMPROPOSTA,");
            sql01.Append(" TB_PROD.ean13PRODUTO, TB_PROD.partnumberPRODUTO,TB_PROD.descricaoPRODUTO, TB_PROD.identificacaolotePRODUTO, TB_PROD.codigolotePRODUTO,");
            sql01.Append(" TB_PROD.nomelocalPRODUTO");
            sql01.Append(" FROM   tb0001_Propostas AS TB_PROP ");
            sql01.Append(" INNER JOIN tb0002_ItensProposta AS TB_ITEMPROPOP ON TB_PROP.codigoPROPOSTA = TB_ITEMPROPOP.propostaITEMPROPOSTA");
            sql01.Append(" INNER JOIN tb0003_Produtos AS TB_PROD ON TB_ITEMPROPOP.codigoprodutoITEMPROPOSTA = TB_PROD.codigoPRODUTO");
            sql01.Append(" WHERE TB_ITEMPROPOP.statusseparadoITEMPROPOSTA = 0");
            sql01.Append(" ORDER BY TB_PROD.nomelocalPRODUTO ASC");

            SqlCeDataReader dr = CeSqlServerConn.fillDataReaderCe(sql01.ToString());

            if ((dr != null))
            {
                while ((dr.Read()))
                {
                    int statusSeparadoItem = Convert.ToInt32(dr["statusseparadoITEMPROPOSTA"]);
                    ProdutoProposta produto = new ProdutoProposta(Convert.ToInt32(dr["codigoITEMPROPOSTA"]),
                                                                        Convert.ToInt32(dr["codigoPROPOSTA"]),
                                                                        Convert.ToDouble(dr["quantidadeITEMPROPOSTA"]),
                                                                        (ProdutoProposta.statusSeparado)statusSeparadoItem,
                                                                        Convert.ToInt32(dr["lotereservaITEMPROPOSTA"]),
                                                                        Convert.ToInt32(dr["codigoprodutoITEMPROPOSTA"]),
                                                                        (string)dr["ean13PRODUTO"],
                                                                        (string)dr["partnumberPRODUTO"],
                                                                        (string)dr["descricaoPRODUTO"],
                                                                        (string)dr["nomelocalPRODUTO"],
                                                                        Convert.ToInt32(dr["codigolotePRODUTO"]),
                                                                        (string)dr["identificacaolotePRODUTO"]);
                    obj = produto;

                }

            }

            //fecha a conexão
            dr.Close();
            CeSqlServerConn.closeConnCe();

            if (obj != null)
            {
                return (ProdutoProposta)obj;
            }
            else
            {
                return null;
            }
        }
コード例 #10
0
        /// <summary>
        ///  Carrega uma List com objetos da classe ItemProposta preenchida com dados sobre os itens de uma determinada Proposta 
        /// </summary>
        /// <param name="codigoProposta">Código da proposta da qual serão recuperados os itens.</param>
        /// <returns>List do tipo ItemProposta </returns>
        public IEnumerable<ProdutoProposta> fillListItensProposta(int codigoProposta)
        {
            ProdutoProposta objItemProposta = null;

            List<ProdutoProposta> listItensProposta = new List<ProdutoProposta>();

            try
            {

                sql01 = new StringBuilder();

                ///ALTERADO EM CRITERIO DE TESTES PARA RETORNAR MAIS INFORMAÇOES SOBRE O PRODUTO DA PROPOSTA
                ///
                //sql01.Append("SELECT codigoITEMPROPOSTA,propostaITEMPROPOSTA,produtoRESERVA AS codigoPRODUTO,nomePRODUTO,partnumberPRODUTO,");
                //sql01.Append("ean13PRODUTO,SUM(quantidadeRESERVA) AS QTD");
                //sql01.Append(" FROM tb1206_Reservas (NOLOCK) ");
                //sql01.Append("INNER JOIN tb1602_Itens_Proposta (NOLOCK) ON codigoITEMPROPOSTA = docRESERVA ");
                //sql01.Append("INNER JOIN tb0501_Produtos (NOLOCK) ON produtoITEMPROPOSTA = codigoPRODUTO ");
                //sql01.Append("LEFT JOIN tb1212_Lotes_Locais (NOLOCK) ON loteRESERVA = loteLOTELOCAL ");
                //sql01.Append("LEFT JOIN tb1211_Locais ON codigoLOCAL = localLOTELOCAL ");
                //sql01.AppendFormat("WHERE propostaITEMPROPOSTA = {0} ", codigoProposta);
                //sql01.Append("AND tipodocRESERVA = 1602 ");
                //sql01.Append("AND statusITEMPROPOSTA = 3 ");
                //sql01.Append("AND separadoITEMPROPOSTA = 0  ");
                //sql01.Append("GROUP BY codigoITEMPROPOSTA,propostaITEMPROPOSTA,ean13PRODUTO,produtoRESERVA,produtoITEMPROPOSTA,");
                //sql01.Append("nomePRODUTO,partnumberPRODUTO");

                sql01.Append(" SELECT codigoITEMPROPOSTA,propostaITEMPROPOSTA,");
                sql01.Append(" produtoRESERVA AS codigoPRODUTO,");
                sql01.Append(" nomePRODUTO,partnumberPRODUTO,ean13PRODUTO,");
                sql01.Append(" SUM(quantidadeRESERVA) AS QTD,pesobrutoPRODUTO,SUM(quantidadeRESERVA) * pesobrutoPRODUTO AS pesobrutototalPRODUTO");
                sql01.Append(" ,dbo.fn1211_LotesReservaProduto(produtoRESERVA,propostaITEMPROPOSTA) AS lotesRESERVA,");
                sql01.Append(" DBO.fn1211_LocaisLoteProduto(produtoRESERVA,dbo.fn1211_LotesReservaProduto(produtoRESERVA,propostaITEMPROPOSTA)) AS nomesLocaisLOTES ");
                sql01.Append(" FROM tb1206_Reservas (NOLOCK) ");
                sql01.Append(" INNER JOIN tb1602_Itens_Proposta (NOLOCK) ON codigoITEMPROPOSTA = docRESERVA ");
                sql01.Append(" INNER JOIN tb0501_Produtos (NOLOCK) ON produtoITEMPROPOSTA = codigoPRODUTO  ");
                sql01.AppendFormat(" WHERE propostaITEMPROPOSTA = {0} ", codigoProposta);
                sql01.Append(" AND tipodocRESERVA = 1602");
                sql01.Append(" AND statusITEMPROPOSTA = 3");
                sql01.Append(" AND separadoITEMPROPOSTA = 0");
                sql01.Append(" GROUP BY codigoITEMPROPOSTA,propostaITEMPROPOSTA,ean13PRODUTO,produtoRESERVA,nomePRODUTO,partnumberPRODUTO,pesobrutoPRODUTO");
                sql01.Append(" ORDER BY codigoPRODUTO");

                SqlDataReader dr = SqlServerConn.fillDataReader( sql01.ToString());

                while ((dr.Read()))
                {
                    {
                        objItemProposta = new ProdutoProposta(  Convert.ToInt32(dr["codigoITEMPROPOSTA"]),
                                                                Convert.ToInt32(dr["propostaITEMPROPOSTA"]),
                                                                Convert.ToDouble(dr["QTD"]),
                                                                ProdutoProposta.statusSeparado.NAOSEPARADO,
                                                                (string)dr["lotesRESERVA"],
                                                                (string)dr["nomesLocaisLOTES"],
                                                                Convert.ToInt32(dr["codigoPRODUTO"]),
                                                                (string)dr["ean13PRODUTO"],
                                                                (string)dr["partnumberPRODUTO"],
                                                                (string)(dr["nomePRODUTO"]),
                                                                Convert.ToDouble(dr["pesobrutoPRODUTO"]));

                        //Carrega a lista de itens que será retornada ao fim do procedimento.
                        listItensProposta.Add(objItemProposta);

                    }

                }

                dr.Close();
                SqlServerConn.closeConn();

                if (listItensProposta.Count == 0)
                {
                    throw new SqlQueryExceptions("Não foi possível recuperar informações sobre os itens da proposta " + codigoProposta);
                }

                return listItensProposta;

            }
            catch(SqlQueryExceptions ex)
            {
                throw ex;
            }
            catch (SqlException ex)
            {
                throw ex;
            }
        }
コード例 #11
0
        /// <summary>
        /// Verifica se  Produto trabalhado e Produto Etiqueta são os mesmos.
        /// </summary>
        /// <param name="propostaProduto">Obj Produto que será verificado </param>
        /// <param name="etiquetaLida"> Obj Etiqueta que será verificado </param>
        /// <returns>True --> Caso sejam iguais.</returns>
        ///
        public static bool comparaProdutoEtiquetaProdutoTrabalhado(ProdutoProposta produtoProposta, EtiquetaVenda etiquetaLida)
        {
            try
            {
                //Verifica se os produtos são iguais
                switch (etiquetaLida.TipoEtiqueta)
                {
                case Etiqueta.TipoCode.QRCODE:

                    if (produtoProposta.Partnumber.Equals(etiquetaLida.PartnumberEtiqueta))
                    {
                        if (produtoProposta.Embalagens.Count == 0)
                        {
                            throw new QuantidadeInvalidaException("O produto não possui embalagens cadastradas!!");
                        }
                        foreach (var item in produtoProposta.Embalagens)
                        {
                            if ((etiquetaLida.Ean13Etiqueta.ToString() == item.Ean13Embalagem))
                            {
                                if (etiquetaLida.QuantidadeEtiqueta == item.Quantidade)
                                {
                                    return(true);
                                }
                                else
                                {
                                    Mensagem = "Quantidade da etiqueta não confere com a Quantidade de itens da embalagem do produto.";
                                }
                            }
                            else
                            {
                                Mensagem = "Ean informado na Etiqueta não confere com o Ean utilizado no produto";
                            }
                        }
                    }
                    else
                    {
                        Mensagem = "Partnumber produto etiqueta não confere com partnumber do item da proposta";
                    }
                    break;

                case Etiqueta.TipoCode.BARRAS:

                    if (produtoProposta.Partnumber.Equals(etiquetaLida.PartnumberEtiqueta))
                    {
                        foreach (var item in produtoProposta.Embalagens)
                        {
                            if ((etiquetaLida.Ean13Etiqueta.ToString() == item.Ean13Embalagem))
                            {
                                return(true);
                            }
                            else
                            {
                                Mensagem = "Ean informado na Etiqueta não confere com o Ean do produto";
                            }
                        }
                    }
                    else
                    {
                        Mensagem = "Partnumber produto etiqueta não confere com partnumber do item da proposta";
                    }

                    break;

                case Etiqueta.TipoCode.INVALID:

                    break;

                default:

                    break;
                }
                return(false);
            }
            catch (Exception)
            {
                throw;
            }
        }
コード例 #12
0
        /// <summary>
        /// Altera o status de separado do item na Base mobile.
        /// </summary>
        /// <param name="status">Status para qual será atualizado</param>
        /// <param name="codigoItem">código so item da proposta a ser alterado</param>
        /// <remarks>  
        ///             Os status são:
        ///             ProdutoProposta.statusSeparado.NAOSEPARADO       / 0
        ///             ProdutoProposta.statusSeparado.SEPARADO          / 1
        /// </remarks>
        public void updateStatusItemProposta(ProdutoProposta.statusSeparado status, int codigoItem)
        {
            sql01 = new StringBuilder();
            sql01.Append("UPDATE      tb0002_ItensProposta");
            sql01.AppendFormat("SET   statusseparadoITEMPROPOSTA ={0}", status);
            sql01.AppendFormat("WHERE tb0002_ItensProposta.codigoITEMPROPOSTA = {0})", codigoItem);

            CeSqlServerConn.execCommandSqlCe(sql01.ToString());
        }
コード例 #13
0
        /// <summary>
        /// Valida as informações lidas pelo coletor e as transformam em um objeto do tipo Etiqueta e continua o procedimento de leitura da etiqueta.
        /// </summary>
        /// <param name="inputValue">Valor fornecido pelo coletor de dados</param>
        /// <param name="tipoEtiqueta">Tipo de etiqueta lida  (EAN13) OU (QRCOODE)</param>
        /// <param name="produto">produto a ser validado durante processo de liberação do item</param>
        /// <param name="tbProduto">Campo para informações ao usuário</param>
        /// <param name="tblote">Campo para informações ao usuário</param>
        /// <param name="tbSequencia">Campo para informações ao usuário</param>
        /// <param name="tbQuantidade">Campo para informações ao usuário</param>
        /// <param name="tbMensagem">Campo para informações ao usuário</param>
        public static void lerEtiqueta(String inputValue, Etiqueta.TipoCode tipoEtiqueta, ProdutoProposta produto, TextBox tbProduto, TextBox tblote, TextBox tbSequencia, TextBox tbQuantidade, TextBox tbMensagem)
        {
            tbMensagem.Text = "";
            //monta um array de string com os dados lidos na etiqueta
            //utiliza as informações para montar um objeto do tipo etiquetaVenda
            var objEtiqueta = new EtiquetaVenda(FileUtility.arrayOfTextFile(inputValue, FileUtility.splitType.PIPE), tipoEtiqueta);

            efetuaLeituraEtiqueta(produto, tbProduto, tblote, tbSequencia, tbQuantidade, tbMensagem, objEtiqueta);
        }
コード例 #14
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="produto"></param>
        /// <param name="tbProduto"></param>
        /// <param name="tblote"></param>
        /// <param name="tbSequencia"></param>
        /// <param name="tbQuantidade"></param>
        /// <param name="tbMensagem"></param>
        /// <param name="arrayEtiqueta"></param>
        public static void lerEtiqueta(ProdutoProposta produto,TextBox tbProduto, TextBox tblote, TextBox tbSequencia, TextBox tbQuantidade, TextBox tbMensagem, Array arrayEtiqueta)
        {
            tbMensagem.Text = "";

            if (ProximaEtiqueta  <= ListEtiquetasGeradas.Count - 1)
            {
                arrayEtiqueta = FileUtility.arrayOfTextFile(ListEtiquetasGeradas[ProximaEtiqueta].ToString(), FileUtility.splitType.PIPE);
                Etiqueta objEtiqueta = new Etiqueta();
                objEtiqueta = Etiqueta.arrayToEtiqueta(arrayEtiqueta);
                efetuaLeituraEtiqueta(produto,tbProduto, tblote, tbSequencia, tbQuantidade, tbMensagem, objEtiqueta);
            }
            else
            {
                tbMensagem.Text = "Próximo Item.";
            }
        }
コード例 #15
0
ファイル: DaoProposta.cs プロジェクト: JobsSebastiao/Coletor
        /// <summary>
        /// Preenche um objeto do tipo Proposta com todas as suas informações inclusive os itens e detalhes sobre os mesmos
        /// </summary>
        /// <returns>Objeto do tipo Proposta</returns>
        public Proposta fillProposta()
        {
            Proposta objProposta = null;

            List<ProdutoProposta> listProd = new List<ProdutoProposta>();

            sql01= new StringBuilder();

            sql01.Append(" SELECT TB_PROP.codigoPROPOSTA, TB_PROP.numeroPROPOSTA, TB_PROP.dataliberacaoPROPOSTA,TB_PROP.clientePROPOSTA, TB_PROP.razaoclientePROPOSTA,TB_PROP.volumesPROPOSTA,TB_PROP.codigopickingmobilePROPOSTA");
            sql01.Append(" TB_ITEMPROPOP.codigoITEMPROPOSTA, TB_ITEMPROPOP.propostaITEMPROPOSTA, TB_ITEMPROPOP.quantidadeITEMPROPOSTA, TB_ITEMPROPOP.statusseparadoITEMPROPOSTA,");
            sql01.Append(" TB_ITEMPROPOP.lotereservaITEMPROPOSTA, TB_ITEMPROPOP.localloteITEMPROPOSTA, TB_ITEMPROPOP.codigoprodutoITEMPROPOSTA,");
            sql01.Append(" TB_PROD.ean13PRODUTO, TB_PROD.partnumberPRODUTO,TB_PROD.descricaoPRODUTO, TB_PROD.identificacaolotePRODUTO, TB_PROD.codigolotePRODUTO, TB_PROD.codigolocalPRODUTO,");
            sql01.Append(" TB_PROD.nomelocalPRODUTO");
            sql01.Append(" FROM   tb0001_Propostas AS TB_PROP ");
            sql01.Append(" INNER JOIN tb0002_ItensProposta AS TB_ITEMPROPOP ON TB_PROP.codigoPROPOSTA = TB_ITEMPROPOP.propostaITEMPROPOSTA");
            sql01.Append(" INNER JOIN tb0003_Produtos AS TB_PROD ON TB_ITEMPROPOP.codigoprodutoITEMPROPOSTA = TB_PROD.codigoPRODUTO");
            sql01.Append(" WHERE TB_ITEMPROPOP.statusseparadoITEMPROPOSTA = 0");
            sql01.Append(" ORDER BY TB_PROD.nomelocalPRODUTO ASC");

            SqlCeDataReader dr = CeSqlServerConn.fillDataReaderCe(sql01.ToString());

            int i = 0;

            if ((dr != null))
            {
                while ((dr.Read()))
                {
                    i++;
                    if (i == 1)
                    {
                        int statusOrdemSeparacao = Convert.ToInt32(dr["ordemseparacaoimpressaPROPOSTA"]);
                        objProposta = new Proposta(Convert.ToInt64(dr["codigoPROPOSTA"]), (string)dr["numeroPROPOSTA"], (string)dr["dataLIBERACAOPROPOSTA"],
                                               Convert.ToInt32(dr["clientePROPOSTA"]), (string)dr["razaoclientePROPOSTA"], Convert.ToInt32(dr["volumesPROPOSTA"]),Convert.ToInt32(dr["codigopickingmobilePROPOSTA"]));

                    }

                    int statusSeparadoItem = Convert.ToInt32(dr["statusseparadoITEMPROPOSTA"]);

                    ProdutoProposta objProdProp = new ProdutoProposta(Convert.ToInt32(dr["codigoITEMPROPOSTA"]),
                                                                        Convert.ToInt32(objProposta.Codigo),
                                                                        Convert.ToDouble(dr["quantidadeITEMPROPOSTA"]),
                                                                        (ProdutoProposta.statusSeparado)statusSeparadoItem,
                                                                        Convert.ToInt32(dr["lotereservaITEMPROPOSTA"]),
                                                                        Convert.ToInt32(dr["codigoprodutoITEMPROPOSTA"]),
                                                                        (string)dr["ean13PRODUTO"],
                                                                        (string)dr["partnumberPRODUTO"],
                                                                        (string)dr["descricaoPRODUTO"],
                                                                        (string)dr["nomelocalPRODUTO"],
                                                                        Convert.ToInt32(dr["codigolotePRODUTO"]),
                                                                        (string)dr["identificacaolotePRODUTO"]);

                    listProd.Add(objProdProp);
                }

                objProposta = new Proposta(objProposta, listProd);

            }

            SqlServerConn.closeConn();

            return objProposta;
        }
コード例 #16
0
        /// <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);
        }
コード例 #17
0
        public static void efetuaLeituraEtiqueta(ProdutoProposta produto,TextBox tbProduto,TextBox tbLote,TextBox tbSequencia,TextBox tbQuantidade,
                                                 TextBox tbMensagem,Etiqueta objEtiqueta)
        {
            try
            {
                if (comparaProdutoEtiquetaProdutoTrabalhado(produto, objEtiqueta))
                {
                    if (validaEtiquetaNaoLida(objEtiqueta))
                    {
                        if (QtdPecasItem > 0)
                        {
                            tbProduto.Text = objEtiqueta.PartnumberEtiqueta.ToString() + " - " + objEtiqueta.DescricaoProdutoEtiqueta.ToString();
                            tbLote.Text = objEtiqueta.LoteEtiqueta;
                            tbSequencia.Text = objEtiqueta.SequenciaEtiqueta.ToString();
                            tbQuantidade.Text = (subtrairQtdPecasItem(objEtiqueta.QuantidadeEtiqueta)).ToString();
                            objEtiqueta.VolumeEtiqueta = ProcedimentosLiberacao.qtdVolumes;
                            addToListEtiquetasLidas(objEtiqueta);
                        }
                    }
                    else
                    {
                        tbMensagem.Text = String.Format("A etiqueta {0} já foi validada.", objEtiqueta.SequenciaEtiqueta);
                        ProximaEtiqueta += 1;
                    }
                }
                else
                {
                    tbMensagem.Text = String.Format("Produto da etiqueta lida não confere com o item a ser liberado.");
                    ProximaEtiqueta += 1;
                }

            }
            catch ( QuantidadeInvalidaException qtdEx)
            {
                StringBuilder sb = new StringBuilder();
                sb.Append("Quantidade de peças na embalagem é maior que a quantidade a ser liberada!");
                sb.AppendFormat("error : {0} ", qtdEx.Message);
                MainConfig.errorMessage(sb.ToString(),"Etiqueta Inválida!!");
            }
            catch (Exception ex)
            {

                throw ex;
            }
        }
コード例 #18
0
 /// <summary>
 /// Valida as informações lidas pelo coletor e as transformam em um objeto do tipo Etiqueta e continua o procedimento de leitura da etiqueta.
 /// </summary>
 /// <param name="inputValue">Valor fornecido pelo coletor de dados</param>
 /// <param name="tipoEtiqueta">Tipo de etiqueta lida  (EAN13) OU (QRCOODE)</param>
 /// <param name="produto">produto a ser validado durante processo de liberação do item</param>
 /// <param name="tbProduto">Campo para informações ao usuário</param>
 /// <param name="tblote">Campo para informações ao usuário</param>
 /// <param name="tbSequencia">Campo para informações ao usuário</param>
 /// <param name="tbQuantidade">Campo para informações ao usuário</param>
 /// <param name="tbMensagem">Campo para informações ao usuário</param>
 public static void lerEtiqueta(String inputValue,Etiqueta.TipoCode tipoEtiqueta, ProdutoProposta produto, TextBox tbProduto, TextBox tblote, TextBox tbSequencia, TextBox tbQuantidade, TextBox tbMensagem)
 {
     tbMensagem.Text = "";
     //monta um array de string com os dados lidos na etiqueta
     //utiliza as informações para montar um objeto do tipo etiquetaVenda
     var objEtiqueta = new EtiquetaVenda(FileUtility.arrayOfTextFile(inputValue, FileUtility.splitType.PIPE), tipoEtiqueta);
     efetuaLeituraEtiqueta(produto, tbProduto, tblote, tbSequencia, tbQuantidade, tbMensagem, objEtiqueta);
 }
コード例 #19
0
 /// <summary>
 /// realiza todo o procedimento para validação de tipo de etiqueta,etiqueta, produto,
 /// validação de sequência,subtração de quantidade de itens registrados na etiqueta.
 /// </summary>
 /// <param name="produto">Produto a ser validado</param>
 /// <param name="tbProduto">Text Box Nome do Produto</param>
 /// <param name="tbLote">Text Box Lote</param>
 /// <param name="tbSequencia">Text Box  Sequencia</param>
 /// <param name="tbQuantidade">Text Box Quantidade</param>
 /// <param name="tbMensagem">Text Box Mensagem</param>
 /// <param name="objEtiqueta">Objeto Etiqueta.</param>
 public static void efetuaLeituraEtiqueta(ProdutoProposta produto,TextBox tbProduto,TextBox tbLote,TextBox tbSequencia,TextBox tbQuantidade,
                                          TextBox tbMensagem,EtiquetaVenda objEtiqueta)
 {
     try
     {
         if (comparaProdutoEtiquetaProdutoTrabalhado(produto, objEtiqueta))
         {
             if (objEtiqueta.QuantidadeEtiqueta == 0.0)
             {
                 throw new QuantidadeInvalidaException("A quantidade de produtos informado na embalagem é inválida!");
             }
             if (podeTrabalharEtiqueta(objEtiqueta))
             {
                 if (QtdPecasItem > 0)
                 {
                     tbProduto.Text = objEtiqueta.PartnumberEtiqueta.ToString() + " - " + objEtiqueta.DescricaoProdutoEtiqueta.ToString();
                     tbLote.Text = objEtiqueta.LoteEtiqueta;
                     tbSequencia.Text = objEtiqueta.SequenciaEtiqueta.ToString();
                     tbQuantidade.Text = MainConfig.intOrDecimal(Convert.ToDouble(subtrairQtdPecasItem(objEtiqueta.QuantidadeEtiqueta)));
                     objEtiqueta.VolumeEtiqueta = ProcedimentosLiberacao.TotalVolumes;
                     addToListEtiquetasLidas(objEtiqueta);
                 }
             }
             else
             {
                 FrmProposta.mostrarMensagem(TitaniumColector.Forms.FrmProposta.enumCor.RED,String.Format("A etiqueta {0} já foi validada.", objEtiqueta.SequenciaEtiqueta),TitaniumColector.Forms.FrmProposta.enumCursor.DEFAULT);
             }
         }
         else
         {
             if (ProcedimentosLiberacao.Mensagem != "" || ProcedimentosLiberacao.Mensagem != null)
             {
                 tbMensagem.Text = ProcedimentosLiberacao.Mensagem;
             }
             else
             {
                 tbMensagem.Text = String.Format("Produto da etiqueta lida não confere com o item a ser liberado.");
             }
         }
     }
     catch ( QuantidadeInvalidaException qtdEx)
     {
         StringBuilder sb = new StringBuilder();
         sb.AppendFormat("error : {0} ", qtdEx.Message);
         MainConfig.errorMessage(sb.ToString(), "Erro de validação!!");
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
コード例 #20
0
        /// <summary>
        /// Verifica se  Produto trabalhado e Produto Etiqueta são os mesmos.
        /// </summary>
        /// <param name="propostaProduto">Obj Produto que será verificado </param>
        /// <param name="etiquetaLida"> Obj Etiqueta que será verificado </param>
        /// <returns>True --> Caso sejam iguais.</returns>
        /// 
        public static bool comparaProdutoEtiquetaProdutoTrabalhado(ProdutoProposta produtoProposta, EtiquetaVenda etiquetaLida)
        {
            try
            {
                //Verifica se os produtos são iguais
                switch (etiquetaLida.TipoEtiqueta)
                {
                    case Etiqueta.TipoCode.QRCODE:

                        if (produtoProposta.Partnumber.Equals(etiquetaLida.PartnumberEtiqueta))
                        {
                            if (produtoProposta.Embalagens.Count == 0)
                            {
                                throw new QuantidadeInvalidaException("O produto não possui embalagens cadastradas!!");
                            }
                            foreach (var item in produtoProposta.Embalagens)
                            {
                                if ((etiquetaLida.Ean13Etiqueta.ToString() == item.Ean13Embalagem))
                                {
                                    if (etiquetaLida.QuantidadeEtiqueta == item.Quantidade)
                                    {
                                        return true;
                                    }
                                    else
                                    {
                                        Mensagem = "Quantidade da etiqueta não confere com a Quantidade de itens da embalagem do produto.";
                                    }
                                }
                                else
                                {
                                    Mensagem = "Ean informado na Etiqueta não confere com o Ean utilizado no produto";
                                }
                            }
                        }
                        else
                        {
                            Mensagem = "Partnumber produto etiqueta não confere com partnumber do item da proposta";
                        }
                        break;

                    case Etiqueta.TipoCode.BARRAS:

                        if (produtoProposta.Partnumber.Equals(etiquetaLida.PartnumberEtiqueta))
                        {
                            foreach (var item in produtoProposta.Embalagens)
                            {
                                if ((etiquetaLida.Ean13Etiqueta.ToString() == item.Ean13Embalagem))
                                {
                                    return true;
                                }
                                else
                                {
                                    Mensagem = "Ean informado na Etiqueta não confere com o Ean do produto";
                                }
                            }
                        }
                        else
                        {
                            Mensagem = "Partnumber produto etiqueta não confere com partnumber do item da proposta";
                        }

                        break;

                    case Etiqueta.TipoCode.INVALID:

                        break;

                    default:

                        break;
                }
                return false;
            }
            catch (Exception)
            {
                throw;
            }
        }
コード例 #21
0
        /// <summary>
        /// Realiza Insert na base Mobile table tb0002_ItensProposta
        /// </summary>
        /// <param name="codigoItem">Código do Item da Proposta</param>
        /// <param name="propostaItemProposta">Proposta (ForeingKey)</param>
        /// <param name="Quantidade">Qunatidade de itens</param>
        /// <param name="statusSeparado">status (Separado ou não)</param>
        /// <param name="codigoProduto">Código do produto </param>
        /// <param name="loteReserva">Lote referente a reserva do item</param>
        public void insertItemProposta(Int64 codigoItem, Int64 propostaItemProposta, Double quantidade, ProdutoProposta.statusSeparado statusSeparado,
                                       Int64 codigoProduto, Int64 loteReserva, Int64 codigoLocalItemProposta)
        {
            try
            {
                //Limpa a tabela..
                CeSqlServerConn.execCommandSqlCe("DELETE FROM tb0002_ItensProposta");

                //Query de insert na Base Mobile
                sql01  = new StringBuilder();
                sql01.Append("INSERT INTO tb0002_ItensProposta");
                sql01.Append("(codigoITEMPROPOSTA, propostaITEMPROPOSTA, quantidadeITEMPROPOSTA,");
                sql01.Append("statusseparadoITEMPROPOSTA, codigoprodutoITEMPROPOSTA, lotereservaITEMPROPOSTA,localloteITEMPROPOSTA) ");
                sql01.Append("VALUES (");
                sql01.AppendFormat("{0},", codigoItem);
                sql01.AppendFormat("{0},", propostaItemProposta);
                sql01.AppendFormat("{0},", quantidade);
                sql01.AppendFormat("{0},", (int)statusSeparado);
                sql01.AppendFormat("{0},", codigoProduto);
                sql01.AppendFormat("{0},", loteReserva);
                sql01.AppendFormat("{0})", codigoLocalItemProposta);

                CeSqlServerConn.execCommandSqlCe(sql01.ToString());

            }
            catch (SqlCeException sqlEx)
            {
                StringBuilder strBuilder = new StringBuilder();
                strBuilder.Append("Ocorreram problemas durante a carga de dados na tabela tb0002_ItensProposta. \n");
                strBuilder.Append("O procedimento não pode ser concluído");
                strBuilder.AppendFormat("Erro : {0}", sqlEx.Errors);
                strBuilder.AppendFormat("Description : {0}", sqlEx.Message);
                System.Windows.Forms.MessageBox.Show(strBuilder.ToString(), "Error:", System.Windows.Forms.MessageBoxButtons.OK,
                               System.Windows.Forms.MessageBoxIcon.Exclamation, System.Windows.Forms.MessageBoxDefaultButton.Button1);
            }
            catch (Exception)
            {
                throw;
            }
        }
コード例 #22
0
        /// <summary>
        ///  Carrega uma List com objetos da classe ItemProposta preenchida com dados sobre os itens de uma determinada Proposta
        /// </summary>
        /// <param name="codigoProposta">Código da proposta da qual serão recuperados os itens.</param>
        /// <returns>List do tipo ProdutoProposta </returns>
        public IEnumerable <ProdutoProposta> fillListItensProposta(int codigoProposta)
        {
            Produto objItemProposta = null;

            List <ProdutoProposta> listItensProposta = new List <ProdutoProposta>();

            try
            {
                sql01 = new StringBuilder();

                sql01.Append(" SELECT codigoITEMPROPOSTA,propostaITEMPROPOSTA,");
                sql01.Append(" produtoRESERVA AS codigoPRODUTO,");
                sql01.Append(" nomePRODUTO,partnumberPRODUTO,ean13PRODUTO,");
                sql01.Append(" SUM(quantidadeRESERVA) AS QtdITEMRESERVA,pesobrutoPRODUTO");
                sql01.Append(" ,dbo.fn1211_LotesReservaProduto(produtoRESERVA,propostaITEMPROPOSTA) AS lotesRESERVA");
                sql01.Append(" ,dbo.fn1211_LocaisLoteProduto(produtoRESERVA,dbo.fn1211_LotesReservaProduto(produtoRESERVA,propostaITEMPROPOSTA)) AS nomesLocaisLOTES ");
                sql01.Append(" FROM tb1206_Reservas (NOLOCK) ");
                sql01.Append(" INNER JOIN tb1602_Itens_Proposta (NOLOCK) ON codigoITEMPROPOSTA = docRESERVA ");
                sql01.Append(" INNER JOIN tb0501_Produtos (NOLOCK) ON produtoITEMPROPOSTA = codigoPRODUTO  ");
                sql01.AppendFormat(" WHERE propostaITEMPROPOSTA = {0} ", codigoProposta);
                sql01.Append(" AND tipodocRESERVA = 1602");
                sql01.Append(" AND statusITEMPROPOSTA = 3");
                sql01.Append(" AND separadoITEMPROPOSTA = 0");
                sql01.Append(" GROUP BY codigoITEMPROPOSTA,propostaITEMPROPOSTA,ean13PRODUTO,produtoRESERVA,nomePRODUTO,partnumberPRODUTO,pesobrutoPRODUTO");
                sql01.Append(" ORDER BY codigoPRODUTO");

                SqlDataReader dr = SqlServerConn.fillDataReader(sql01.ToString());

                while ((dr.Read()))
                {
                    {
                        objItemProposta = new ProdutoProposta(Convert.ToInt32(dr["codigoITEMPROPOSTA"]),
                                                              Convert.ToInt32(dr["propostaITEMPROPOSTA"]),
                                                              Convert.ToDouble(dr["QtdITEMRESERVA"]),
                                                              ProdutoProposta.statusSeparado.NAOSEPARADO,
                                                              (string)dr["lotesRESERVA"],
                                                              (string)dr["nomesLocaisLOTES"],
                                                              Convert.ToInt32(dr["codigoPRODUTO"]),
                                                              (string)dr["ean13PRODUTO"],
                                                              (string)dr["partnumberPRODUTO"],
                                                              (string)(dr["nomePRODUTO"]),
                                                              Convert.ToDouble(dr["pesobrutoPRODUTO"]));

                        //Carrega a lista de itens que será retornada ao fim do procedimento.
                        listItensProposta.Add((ProdutoProposta)objItemProposta);
                    }
                }

                dr.Close();
                SqlServerConn.closeConn();

                if (listItensProposta.Count == 0)
                {
                    throw new SqlQueryExceptions("MÉTODO : fillListItensProposta()\nMOTIVO: Não foi possível recuperar informações sobre os itens da proposta " + codigoProposta);
                }

                return(listItensProposta);
            }
            catch (SqlException ex)
            {
                throw new Exception("fillListItensProposta()\n-->" + ex.Message);
            }
        }
コード例 #23
0
        /// <summary>
        /// Verifica se  Produto trabalhado e Produto Etiqueta são os mesmos.
        /// </summary>
        /// <param name="propostaProduto">Obj Produto que será verificado </param>
        /// <param name="etiquetaLida"> Obj Etiqueta que será verificado </param>
        /// <returns>True --> Caso sejam iguais.</returns>
        /// 
        public static bool comparaProdutoEtiquetaProdutoTrabalhado(ProdutoProposta produtoProposta, Etiqueta etiquetaLida)
        {
            //Verifica se os produtos são iguais
            switch (etiquetaLida.TipoEtiqueta)
            {
                case Etiqueta.Tipo.QRCODE:

                    if (produtoProposta.Partnumber.Equals(etiquetaLida.PartnumberEtiqueta))
                    {
                        foreach (var item in produtoProposta.Embalagens)
                        {
                            if ((etiquetaLida.Ean13Etiqueta.ToString() == item.Ean13Embalagem) && (etiquetaLida.QuantidadeEtiqueta == item.Quantidade))
                            {
                                return true;
                            }
                        }
                    }

                    break;

                case Etiqueta.Tipo.BARRAS:

                    if(produtoProposta.Partnumber.Equals(etiquetaLida.PartnumberEtiqueta))
                    {
                        foreach (var item in produtoProposta.Embalagens)
                        {
                            if ((etiquetaLida.Ean13Etiqueta.ToString() == item.Ean13Embalagem))
                            {
                                return true;
                            }
                        }
                    }

                    break;

                case Etiqueta.Tipo.INVALID:

                    break;

                default:

                    break;
            }

            return false;
        }
コード例 #24
0
        /// <summary>
        ///  Carrega uma List com objetos da classe ItemProposta preenchida com dados sobre os itens de uma determinada Proposta
        /// </summary>
        /// <param name="codigoProposta">Código da proposta da qual serão recuperados os itens.</param>
        /// <returns>List do tipo ItemProposta </returns>
        public IEnumerable <ProdutoProposta> fillListItensProposta(int codigoProposta)
        {
            ProdutoProposta objItemProposta = null;

            List <ProdutoProposta> listItensProposta = new List <ProdutoProposta>();

            try
            {
                sql01 = new StringBuilder();

                ///ALTERADO EM CRITERIO DE TESTES PARA RETORNAR MAIS INFORMAÇOES SOBRE O PRODUTO DA PROPOSTA
                ///
                //sql01.Append("SELECT codigoITEMPROPOSTA,propostaITEMPROPOSTA,produtoRESERVA AS codigoPRODUTO,nomePRODUTO,partnumberPRODUTO,");
                //sql01.Append("ean13PRODUTO,SUM(quantidadeRESERVA) AS QTD");
                //sql01.Append(" FROM tb1206_Reservas (NOLOCK) ");
                //sql01.Append("INNER JOIN tb1602_Itens_Proposta (NOLOCK) ON codigoITEMPROPOSTA = docRESERVA ");
                //sql01.Append("INNER JOIN tb0501_Produtos (NOLOCK) ON produtoITEMPROPOSTA = codigoPRODUTO ");
                //sql01.Append("LEFT JOIN tb1212_Lotes_Locais (NOLOCK) ON loteRESERVA = loteLOTELOCAL ");
                //sql01.Append("LEFT JOIN tb1211_Locais ON codigoLOCAL = localLOTELOCAL ");
                //sql01.AppendFormat("WHERE propostaITEMPROPOSTA = {0} ", codigoProposta);
                //sql01.Append("AND tipodocRESERVA = 1602 ");
                //sql01.Append("AND statusITEMPROPOSTA = 3 ");
                //sql01.Append("AND separadoITEMPROPOSTA = 0  ");
                //sql01.Append("GROUP BY codigoITEMPROPOSTA,propostaITEMPROPOSTA,ean13PRODUTO,produtoRESERVA,produtoITEMPROPOSTA,");
                //sql01.Append("nomePRODUTO,partnumberPRODUTO");

                sql01.Append(" SELECT codigoITEMPROPOSTA,propostaITEMPROPOSTA,");
                sql01.Append(" produtoRESERVA AS codigoPRODUTO,");
                sql01.Append(" nomePRODUTO,partnumberPRODUTO,ean13PRODUTO,");
                sql01.Append(" SUM(quantidadeRESERVA) AS QTD,pesobrutoPRODUTO,SUM(quantidadeRESERVA) * pesobrutoPRODUTO AS pesobrutototalPRODUTO");
                sql01.Append(" ,dbo.fn1211_LotesReservaProduto(produtoRESERVA,propostaITEMPROPOSTA) AS lotesRESERVA,");
                sql01.Append(" DBO.fn1211_LocaisLoteProduto(produtoRESERVA,dbo.fn1211_LotesReservaProduto(produtoRESERVA,propostaITEMPROPOSTA)) AS nomesLocaisLOTES ");
                sql01.Append(" FROM tb1206_Reservas (NOLOCK) ");
                sql01.Append(" INNER JOIN tb1602_Itens_Proposta (NOLOCK) ON codigoITEMPROPOSTA = docRESERVA ");
                sql01.Append(" INNER JOIN tb0501_Produtos (NOLOCK) ON produtoITEMPROPOSTA = codigoPRODUTO  ");
                sql01.AppendFormat(" WHERE propostaITEMPROPOSTA = {0} ", codigoProposta);
                sql01.Append(" AND tipodocRESERVA = 1602");
                sql01.Append(" AND statusITEMPROPOSTA = 3");
                sql01.Append(" AND separadoITEMPROPOSTA = 0");
                sql01.Append(" GROUP BY codigoITEMPROPOSTA,propostaITEMPROPOSTA,ean13PRODUTO,produtoRESERVA,nomePRODUTO,partnumberPRODUTO,pesobrutoPRODUTO");
                sql01.Append(" ORDER BY codigoPRODUTO");

                SqlDataReader dr = SqlServerConn.fillDataReader(sql01.ToString());

                while ((dr.Read()))
                {
                    {
                        objItemProposta = new ProdutoProposta(Convert.ToInt32(dr["codigoITEMPROPOSTA"]),
                                                              Convert.ToInt32(dr["propostaITEMPROPOSTA"]),
                                                              Convert.ToDouble(dr["QTD"]),
                                                              ProdutoProposta.statusSeparado.NAOSEPARADO,
                                                              (string)dr["lotesRESERVA"],
                                                              (string)dr["nomesLocaisLOTES"],
                                                              Convert.ToInt32(dr["codigoPRODUTO"]),
                                                              (string)dr["ean13PRODUTO"],
                                                              (string)dr["partnumberPRODUTO"],
                                                              (string)(dr["nomePRODUTO"]),
                                                              Convert.ToDouble(dr["pesobrutoPRODUTO"]));

                        //Carrega a lista de itens que será retornada ao fim do procedimento.
                        listItensProposta.Add(objItemProposta);
                    }
                }

                dr.Close();
                SqlServerConn.closeConn();

                if (listItensProposta.Count == 0)
                {
                    throw new SqlQueryExceptions("Não foi possível recuperar informações sobre os itens da proposta " + codigoProposta);
                }

                return(listItensProposta);
            }
            catch (SqlQueryExceptions ex)
            {
                throw ex;
            }
            catch (SqlException ex)
            {
                throw ex;
            }
        }
コード例 #25
0
        /// <summary>
        /// Valida as informações lidas pelo coletor e as transformam em um objeto do tipo Etiqueta e continua o procedimento de leitura da etiqueta.
        /// </summary>
        /// <param name="inputValue">Valor fornecido pelo coletor de dados</param>
        /// <param name="tipoEtiqueta">Tipo de etiqueta lida  (EAN13) OU (QRCOODE)</param>
        /// <param name="produto">produto a ser validado durante processo de liberação do item</param>
        /// <param name="tbProduto">Campo para informações ao usuário</param>
        /// <param name="tblote">Campo para informações ao usuário</param>
        /// <param name="tbSequencia">Campo para informações ao usuário</param>
        /// <param name="tbQuantidade">Campo para informações ao usuário</param>
        /// <param name="tbMensagem">Campo para informações ao usuário</param>
        public static void lerEtiqueta(String inputValue,Etiqueta.Tipo tipoEtiqueta, ProdutoProposta produto, TextBox tbProduto, TextBox tblote, TextBox tbSequencia, TextBox tbQuantidade, TextBox tbMensagem)
        {
            tbMensagem.Text = "";

            ArrayStringToEtiqueta = FileUtility.arrayOfTextFile(inputValue, FileUtility.splitType.PIPE);
            Etiqueta objEtiqueta = new Etiqueta(arrayStringToEtiqueta, tipoEtiqueta);
            efetuaLeituraEtiqueta(produto, tbProduto, tblote, tbSequencia, tbQuantidade, tbMensagem, objEtiqueta);
        }
コード例 #26
0
        /// <summary>
        /// Verifica se  Produto trabalhado e Produto Etiqueta são os mesmos.
        /// </summary>
        /// <param name="propostaProduto">Obj Produto que será verificado </param>
        /// <param name="etiquetaLida"> Obj Etiqueta que será verificado </param>
        /// <returns>True --> Caso sejam iguais.</returns>
        ///
        public static bool comparaProdutoEtiquetaProdutoTrabalhado(ProdutoProposta produtoProposta, Etiqueta etiquetaLida)
        {
            //Verifica se os produtos são iguais
            switch (etiquetaLida.TipoEtiqueta)
            {
            case Etiqueta.Tipo.QRCODE:

                if (produtoProposta.Partnumber.Equals(etiquetaLida.PartnumberEtiqueta))
                {
                    if (produtoProposta.Embalagens.Count == 0)
                    {
                    }


                    foreach (var item in produtoProposta.Embalagens)
                    {
                        if ((etiquetaLida.Ean13Etiqueta.ToString() == item.Ean13Embalagem))
                        {
                            if (etiquetaLida.QuantidadeEtiqueta == item.Quantidade)
                            {
                                return(true);
                            }
                            else
                            {
                                mensagem = "Quantidade da etiqueta não confere com a Quantidade de itens da embalagem do produto.";
                            }
                        }
                        else
                        {
                            mensagem = "Ean informado na Etiqueta não confere com o Ean do produto";
                        }
                    }
                }
                else
                {
                    mensagem = "Partnumber produto etiqueta não confere com partnumber do item da proposta";
                }

                break;

            case Etiqueta.Tipo.BARRAS:

                if (produtoProposta.Partnumber.Equals(etiquetaLida.PartnumberEtiqueta))
                {
                    foreach (var item in produtoProposta.Embalagens)
                    {
                        if ((etiquetaLida.Ean13Etiqueta.ToString() == item.Ean13Embalagem))
                        {
                            return(true);
                        }
                        else
                        {
                            mensagem = "Ean informado na Etiqueta não confere com o Ean do produto";
                        }
                    }
                }
                else
                {
                    mensagem = "Partnumber produto etiqueta não confere com partnumber do item da proposta";
                }

                break;

            case Etiqueta.Tipo.INVALID:

                break;

            default:

                break;
            }


            return(false);
        }
コード例 #27
0
 /// <summary>
 /// Altera o status do produto para separado.
 /// </summary>
 /// <param name="item">item que tera o seu status alterado.</param>
 public static void setStatusProdutoParaSeparado(ProdutoProposta item)
 {
     if (item.StatusSeparado == ProdutoProposta.statusSeparado.SEPARADO)
     {
         return;
     }
     else
     {
         item.alteraStatusSeparado();
     }
 }
コード例 #28
0
        /// <summary>
        /// Verifica se  Produto trabalhado e Produto Etiqueta são os mesmos.
        /// </summary>
        /// <param name="propostaProduto">Obj Produto que será verificado </param>
        /// <param name="etiquetaLida"> Obj Etiqueta que será verificado </param>
        /// <returns>True --> Caso sejam iguais.</returns>
        /// 
        public static bool comparaProdutoEtiquetaProdutoTrabalhado(ProdutoProposta produtoProposta, Etiqueta etiquetaLida)
        {
            //Verifica se os produtos são iguais
            switch (etiquetaLida.TipoEtiqueta)
            {
                case Etiqueta.Tipo.QRCODE:

                    if (produtoProposta.Partnumber.Equals(etiquetaLida.PartnumberEtiqueta))
                    {
                         if(produtoProposta.Embalagens.Count==0){

                         }

                        foreach (var item in produtoProposta.Embalagens)
                        {

                            if ((etiquetaLida.Ean13Etiqueta.ToString() == item.Ean13Embalagem))
                            {
                                if (etiquetaLida.QuantidadeEtiqueta == item.Quantidade)
                                {
                                    return true;
                                }
                                else
                                {
                                    mensagem = "Quantidade da etiqueta não confere com a Quantidade de itens da embalagem do produto.";
                                }
                            }
                            else
                            {
                                mensagem = "Ean informado na Etiqueta não confere com o Ean do produto";
                            }
                        }
                    }
                    else
                    {
                        mensagem = "Partnumber produto etiqueta não confere com partnumber do item da proposta";
                    }

                    break;

                case Etiqueta.Tipo.BARRAS:

                    if(produtoProposta.Partnumber.Equals(etiquetaLida.PartnumberEtiqueta))
                    {
                        foreach (var item in produtoProposta.Embalagens)
                        {
                            if ((etiquetaLida.Ean13Etiqueta.ToString() == item.Ean13Embalagem))
                            {
                                return true;
                            }
                            else
                            {
                                mensagem = "Ean informado na Etiqueta não confere com o Ean do produto";
                            }
                        }
                    }
                    else
                    {
                        mensagem = "Partnumber produto etiqueta não confere com partnumber do item da proposta";
                    }

                    break;

                case Etiqueta.Tipo.INVALID:

                    break;

                default:

                    break;
            }

            return false;
        }
コード例 #29
0
        /// <summary>
        ///  Carrega uma List com objetos da classe ItemProposta preenchida com dados sobre os itens de uma determinada Proposta 
        /// </summary>
        /// <param name="codigoProposta">Código da proposta da qual serão recuperados os itens.</param>
        /// <returns>List do tipo ProdutoProposta </returns>
        public IEnumerable<ProdutoProposta> fillListItensProposta(int codigoProposta)
        {
            Produto objItemProposta = null;

            List<ProdutoProposta> listItensProposta = new List<ProdutoProposta>();

            try
            {

                sql01 = new StringBuilder();

                sql01.Append(" SELECT codigoITEMPROPOSTA,propostaITEMPROPOSTA,");
                sql01.Append(" produtoRESERVA AS codigoPRODUTO,");
                sql01.Append(" nomePRODUTO,partnumberPRODUTO,ean13PRODUTO,");
                sql01.Append(" SUM(quantidadeRESERVA) AS QtdITEMRESERVA,pesobrutoPRODUTO");
                sql01.Append(" ,dbo.fn1211_LotesReservaProduto(produtoRESERVA,propostaITEMPROPOSTA) AS lotesRESERVA");
                sql01.Append(" ,dbo.fn1211_LocaisLoteProduto(produtoRESERVA,dbo.fn1211_LotesReservaProduto(produtoRESERVA,propostaITEMPROPOSTA)) AS nomesLocaisLOTES ");
                sql01.Append(" FROM tb1206_Reservas (NOLOCK) ");
                sql01.Append(" INNER JOIN tb1602_Itens_Proposta (NOLOCK) ON codigoITEMPROPOSTA = docRESERVA ");
                sql01.Append(" INNER JOIN tb0501_Produtos (NOLOCK) ON produtoITEMPROPOSTA = codigoPRODUTO  ");
                sql01.AppendFormat(" WHERE propostaITEMPROPOSTA = {0} ", codigoProposta);
                sql01.Append(" AND tipodocRESERVA = 1602");
                sql01.Append(" AND statusITEMPROPOSTA = 3");
                sql01.Append(" AND separadoITEMPROPOSTA = 0");
                sql01.Append(" GROUP BY codigoITEMPROPOSTA,propostaITEMPROPOSTA,ean13PRODUTO,produtoRESERVA,nomePRODUTO,partnumberPRODUTO,pesobrutoPRODUTO");
                sql01.Append(" ORDER BY codigoPRODUTO");

                SqlDataReader dr = SqlServerConn.fillDataReader( sql01.ToString());

                while ((dr.Read()))
                {
                    {

                        objItemProposta = new ProdutoProposta(  Convert.ToInt32(dr["codigoITEMPROPOSTA"]),
                                                                Convert.ToInt32(dr["propostaITEMPROPOSTA"]),
                                                                Convert.ToDouble(dr["QtdITEMRESERVA"]),
                                                                ProdutoProposta.statusSeparado.NAOSEPARADO,
                                                                (string)dr["lotesRESERVA"],
                                                                (string)dr["nomesLocaisLOTES"],
                                                                Convert.ToInt32(dr["codigoPRODUTO"]),
                                                                (string)dr["ean13PRODUTO"],
                                                                (string)dr["partnumberPRODUTO"],
                                                                (string)(dr["nomePRODUTO"]),
                                                                Convert.ToDouble(dr["pesobrutoPRODUTO"]));

                        //Carrega a lista de itens que será retornada ao fim do procedimento.
                        listItensProposta.Add((ProdutoProposta)objItemProposta);

                    }

                }

                dr.Close();
                SqlServerConn.closeConn();

                if (listItensProposta.Count == 0)
                {
                    throw new SqlQueryExceptions("MÉTODO : fillListItensProposta()\nMOTIVO: Não foi possível recuperar informações sobre os itens da proposta " + codigoProposta);
                }

                return listItensProposta;

            }
            catch (SqlException ex)
            {
                throw new Exception("fillListItensProposta()\n-->" +  ex.Message);
            }
        }
コード例 #30
0
        /// <summary>
        /// Altera o status de separado do item na Base mobile.
        /// </summary>
        /// <param name="item">O status será alterado de acordo com o atual statdo so item passado com parâmetro.</param>
        public void updateStatusItemProposta(ProdutoProposta item)
        {
            try
            {
                sql01 = new StringBuilder();
                sql01.Append(" UPDATE      tb0002_ItensProposta");
                sql01.AppendFormat("  SET   statusseparadoITEMPROPOSTA ={0}", (int)item.StatusSeparado);
                sql01.AppendFormat(" WHERE (tb0002_ItensProposta.codigoITEMPROPOSTA = {0})", item.CodigoItemProposta);

                CeSqlServerConn.execCommandSqlCe(sql01.ToString());
            }
            catch (Exception ex )
            {
                throw ex;
            }
        }