public List <EmbalagemProduto> carregarEmbalagensProduto(Proposta proposta) { EmbalagemProduto objEmbalagem = null; List <EmbalagemProduto> listaEmbalagens = new List <EmbalagemProduto>(); sql01 = new StringBuilder(); sql01.Append(" SELECT TB_PROP.codigoPROPOSTA, TB_EMB.codigoEMBALAGEM, TB_EMB.nomeEMBALAGEM, TB_EMB.produtoEMBALAGEM, TB_EMB.quantidadeEMBALAGEM, TB_EMB.padraoEMBALAGEM, "); sql01.Append(" TB_EMB.embalagemEMBALAGEM, TB_EMB.ean13EMBALAGEM, TB_PROP.numeroPROPOSTA, TB_PROP.codigopickingmobilePROPOSTA, COUNT(*) AS TLINHAS"); sql01.Append(" FROM tb0002_ItensProposta AS TB_ITEM INNER JOIN"); sql01.Append(" tb0001_Propostas AS TB_PROP ON TB_ITEM.propostaITEMPROPOSTA = TB_PROP.codigoPROPOSTA INNER JOIN"); sql01.Append(" tb0005_Embalagens AS TB_EMB ON TB_ITEM.codigoprodutoITEMPROPOSTA = TB_EMB.produtoEMBALAGEM"); sql01.Append(" GROUP BY TB_PROP.codigoPROPOSTA, TB_EMB.codigoEMBALAGEM, TB_EMB.nomeEMBALAGEM, TB_EMB.produtoEMBALAGEM, TB_EMB.quantidadeEMBALAGEM, TB_EMB.padraoEMBALAGEM, "); sql01.Append(" TB_EMB.embalagemEMBALAGEM, TB_EMB.ean13EMBALAGEM, TB_PROP.numeroPROPOSTA, TB_PROP.codigopickingmobilePROPOSTA"); sql01.AppendFormat(" HAVING (TB_EMB.produtoEMBALAGEM = {0})", proposta.ListObjItemProposta[0].CodigoProduto); SqlCeDataReader dr = CeSqlServerConn.fillDataReaderCe(sql01.ToString()); while ((dr.Read())) { objEmbalagem = new EmbalagemProduto( Convert.ToInt32(dr["codigoEMBALAGEM"]) , (string)dr["nomeEMBALAGEM"] , (EmbalagemProduto.PadraoEmbalagem)Convert.ToInt32(dr["padraoEMBALAGEM"]) , Convert.ToInt32(dr["produtoEMBALAGEM"]) , Convert.ToDouble(dr["quantidadeEMBALAGEM"]) , Convert.ToInt32(dr["embalagemEMBALAGEM"]) , (string)dr["ean13EMBALAGEM"]); listaEmbalagens.Add(objEmbalagem); } return(listaEmbalagens); }
/// <summary> /// Preenche um objeto List com informações sobre a proposta que está sendo trabalhada. /// </summary> /// <returns>Objeto List do tipo String com informações da atual proposta na base de dados mobile.</returns> /// <remarks> /// O list contém as seguintes informações /// list.Add(dr["CodProp"].ToString()); /// list.Add(dr["NumProp"].ToString()); /// list.Add(dr["nomeCLIENTE"].ToString()); /// list.Add(dr["qtdPECAS"].ToString()); /// list.Add(dr["qtdITENS"].ToString()); /// </remarks> public List <String> fillInformacoesProposta() { List <String> list = new List <String>(); sql01 = new StringBuilder(); sql01.Append("SELECT PROP.codigoPROPOSTA AS CodProp, PROP.numeroPROPOSTA as NumProp, PROP.razaoclientePROPOSTA AS nomeCLIENTE, "); sql01.Append("SUM(ITEMPROP.quantidadeITEMPROPOSTA) AS qtdPECAS, "); sql01.Append("COUNT(*) AS qtdITENS,PROP.volumesPROPOSTA AS qtdVOLUMES "); sql01.Append("FROM tb0001_Propostas AS PROP "); sql01.Append("INNER JOIN tb0002_ItensProposta AS ITEMPROP ON PROP.codigoPROPOSTA = ITEMPROP.propostaITEMPROPOSTA "); sql01.Append("GROUP BY PROP.codigoPROPOSTA, PROP.numeroPROPOSTA, PROP.razaoclientePROPOSTA,PROP.volumesPROPOSTA"); sql01.ToString(); SqlCeDataReader dr = CeSqlServerConn.fillDataReaderCe(sql01.ToString()); if ((dr.FieldCount > 0)) { while ((dr.Read())) { list.Add(dr["CodProp"].ToString()); list.Add(dr["NumProp"].ToString()); list.Add(dr["nomeCLIENTE"].ToString()); list.Add(dr["qtdPECAS"].ToString()); list.Add(dr["qtdITENS"].ToString()); list.Add(dr["qtdVOLUMES"].ToString()); } } SqlServerConn.closeConn(); return(list); }
/// <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); }
/// <summary> /// Realiza update nas informações dos itens da proposta durante /// o retorno do mesmo para a base Principal após a finalização da liberação da proposta. /// </summary> public void updateItemPropostaRetorno() { try { sql01 = new StringBuilder(); sql01.Append("SELECT codigoITEMPROPOSTA,propostaITEMPROPOSTA,statusseparadoITEMPROPOSTA,codigoprodutoITEMPROPOSTA,xmlSequenciaITEMPROPOSTA "); sql01.Append(" FROM tb0002_ItensProposta"); sql01.AppendFormat(" WHERE statusseparadoITEMPROPOSTA = {0}", (int)ProdutoProposta.statusSeparado.SEPARADO); SqlCeDataReader dr = CeSqlServerConn.fillDataReaderCe(sql01.ToString()); while (dr.Read()) { sql01 = new StringBuilder(); sql01.Append(" UPDATE tb1602_Itens_Proposta"); sql01.AppendFormat(" SET separadoITEMPROPOSTA ={0}", Convert.ToInt32(dr["statusseparadoITEMPROPOSTA"])); sql01.AppendFormat(" ,usuarioITEMPROPOSTA ={0}", MainConfig.UserOn.Codigo.ToString()); sql01.AppendFormat(" ,xmlSequenciaITEMPROPOSTA ='{0}'", (string)dr["xmlSequenciaITEMPROPOSTA"]); sql01.AppendFormat(" WHERE (codigoITEMPROPOSTA = {0})", Convert.ToInt32(dr["codigoITEMPROPOSTA"])); SqlServerConn.execCommandSql(sql01.ToString()); } dr.Close(); CeSqlServerConn.closeConnCe(); } catch (Exception ex) { throw ex as SqlException; } }
/// <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); } }
public Etiqueta recuperarInformacoesPorEan13Etiqueta(Etiqueta etiqueta) { sql01 = new StringBuilder(); sql01.Append(" SELECT tb0005_Embalagens.produtoEMBALAGEM, tb0005_Embalagens.codigoEMBALAGEM, tb0005_Embalagens.quantidadeEMBALAGEM AS qtdEMBALAGEM, tb0005_Embalagens.ean13EMBALAGEM, "); sql01.Append(" tb0003_Produtos.ean13PRODUTO, tb0003_Produtos.partnumberPRODUTO, tb0003_Produtos.descricaoPRODUTO, tb0003_Produtos.codigolotePRODUTO, tb0003_Produtos.identificacaolotePRODUTO, "); sql01.Append(" tb0003_Produtos.codigolocalPRODUTO, tb0003_Produtos.nomelocalPRODUTO"); sql01.Append(" FROM tb0005_Embalagens INNER JOIN"); sql01.Append(" tb0003_Produtos ON tb0005_Embalagens.produtoEMBALAGEM = tb0003_Produtos.codigoPRODUTO"); sql01.AppendFormat(" WHERE (tb0005_Embalagens.ean13EMBALAGEM = {0})", etiqueta.Ean13Etiqueta); SqlCeDataReader dr = CeSqlServerConn.fillDataReaderCe(sql01.ToString()); while (dr.Read()) { etiqueta = new Etiqueta((string)dr["partnumberPRODUTO"], (string)dr["descricaoPRODUTO"], Convert.ToInt64(dr["ean13EMBALAGEM"]), (string)dr["identificacaolotePRODUTO"] , 0, Convert.ToDouble(dr["qtdEMBALAGEM"]), etiqueta.TipoEtiqueta); } return(etiqueta); }