private void AddInventoryItem(ItemMovimentoStockDTO dto) { try { ComandText = "stp_STOCK_INVENTORY_ITEM_ADICIONAR"; AddParameter("INVENTORY_ID", dto.Movimento); AddParameter("PRODUCT_ID", dto.ArtigoID); AddParameter("EXISTENCIA", dto.Existencia); AddParameter("CONTAGEM", dto.ContagemFisica); AddParameter("ACERTO", dto.Acrto); AddParameter("@LOTE_ID", dto.LoteID <= 0 ? (object)DBNull.Value : dto.LoteID); AddParameter("@SIZE_ID", dto.DimensaoID <= 0 ? (object)DBNull.Value : dto.DimensaoID); AddParameter("@SERIAL_ID", dto.SerialNumberID <= 0 ? (object)DBNull.Value : dto.SerialNumberID); AddParameter("PRECO_CUSTO", dto.PrecoCusto); AddParameter("PRECO_VENDA", dto.PrecoVenda); ExecuteNonQuery(); } catch (Exception ex) { dto.MensagemErro = ex.Message.Replace("'", string.Empty); } finally { FecharConexao(); } }
public void AddStockInicial(ItemMovimentoStockDTO dto) { try { ComandText = "stp_COM_ARTIGO_ADICIONAR_STOCK_INICIAL"; AddParameter("QUANTIDADE", dto.Existencia); AddParameter("WAREHOUSE_ID", dto.Armazem); AddParameter("PRODUCT_ID", dto.ArtigoID); AddParameter("BARCODE", dto.BarCode); AddParameter("UTILIZADOR", dto.Utilizador); AddParameter("MOVIMENT_ID", dto.Movimento); AddParameter("UNIDADE_ID", dto.Unidade); AddParameter("VALIDADE", dto.LookupDate1 == DateTime.MinValue ? (object)DBNull.Value : dto.LookupDate1); AddParameter("PRECO_COMPRA", dto.PrecoCompra); AddParameter("PRECO_VENDA", dto.PrecoVenda); AddParameter("DATA_SI", dto.LookupDate10); // Data de Lançamento do Stock Inicial ExecuteNonQuery(); } catch (Exception ex) { dto.MensagemErro = ex.Message.Replace("'", string.Empty); } finally { FecharConexao(); } }
public Tuple <bool, string> GetInCounting(ItemMovimentoStockDTO dto) { try { ComandText = "stp_STOCK_INVENTORY_OBTERPRODUCT_INCOUNTING"; AddParameter("@PRODUCT_ID", dto.ArtigoID); MySqlDataReader dr = ExecuteReader(); if (dr.Read()) { if (int.Parse(dr[9].ToString()) == dto.ArtigoID && dr[7].ToString() == "C") { dto = new ItemMovimentoStockDTO { Sucesso = true, MensagemErro = dr[12].ToString() + " consta de uma contagem anterior que não está finalizada" }; } } } catch (Exception ex) { dto = new ItemMovimentoStockDTO(); dto.MensagemErro = ex.Message.Replace("'", string.Empty); } finally { FecharConexao(); } return(new Tuple <bool, string>(dto.Sucesso, dto.MensagemErro)); }
public void GravarItens(List <AtendimentoItemDTO> pItemList, int pStockWareHouseID) { List <ItemMovimentoStockDTO> StockProductsList = new List <ItemMovimentoStockDTO>(); foreach (var item in pItemList) { var orderItem = dao.AdicionarItem(item); if (orderItem.Sucesso && item.MoveStock && (!item.Saved || (item.Saved && item.Deleted))) { var ExitenciaInicial = new StockDAO().StockActual(item.Artigo, pStockWareHouseID); ItemMovimentoStockDTO product = new ItemMovimentoStockDTO { ArtigoID = item.Artigo, Designacao = item.Designacao, Existencia = ExitenciaInicial, PrecoUnitario = item.Preco, TotalLiquido = item.Preco * item.Quantidade, Quantidade = !item.Deleted ? -item.Quantidade : item.Quantidade, ValorTotal = (ExitenciaInicial - item.Quantidade) * item.Preco, Operacao = 2, ArmazemOrigem = pStockWareHouseID, AramzemDestino = pStockWareHouseID }; StockProductsList.Add(product); } } AbateStock(StockProductsList); }
public List <ItemMovimentoStockDTO> GetInventoryProductList(ItemMovimentoStockDTO _artigo) { List <ItemMovimentoStockDTO> lista = new List <ItemMovimentoStockDTO>(); try { ComandText = "stp_STOCK_INVENTORY_OBTERPRODUCTS"; AddParameter("@INVENTORY_ID", _artigo.Movimento); MySqlDataReader dr = ExecuteReader(); while (dr.Read()) { _artigo = new ItemMovimentoStockDTO(); _artigo.Movimento = int.Parse(dr[0].ToString()); _artigo.Armazem = dr[1].ToString(); _artigo.LookupDate1 = DateTime.Parse(dr[2].ToString()); _artigo.TituloDocumento = dr[3].ToString(); _artigo.LookupDate2 = DateTime.Parse(dr[4].ToString()); _artigo.FuncionarioID = dr[5].ToString(); _artigo.SocialName = dr[6].ToString(); _artigo.Situacao = dr[7].ToString(); //GetStatusDescription(dr[7].ToString()); _artigo.LookupDate3 = DateTime.Parse(dr[8].ToString()); _artigo.ArtigoID = int.Parse(dr[9].ToString()); _artigo.BarCode = dr[10].ToString(); _artigo.Referencia = dr[11].ToString(); _artigo.Designacao = dr[12].ToString(); _artigo.Classificacao = dr[13].ToString(); _artigo.Quantidade = Convert.ToDecimal(dr[14].ToString()); _artigo.PrecoCusto = Convert.ToDecimal(dr[15].ToString()); _artigo.PrecoVenda = Convert.ToDecimal(dr[16].ToString()); _artigo.FotoArtigo = dr[18].ToString(); _artigo.Existencia = _artigo.Quantidade; _artigo.ContagemFisica = decimal.Parse(dr[19].ToString()); _artigo.Acrto = decimal.Parse(dr[20].ToString()); _artigo.Unidade = dr[21].ToString(); _artigo.LoteID = int.Parse(dr[22].ToString()); _artigo.DimensaoID = int.Parse(dr[23].ToString()); _artigo.SerialNumberID = int.Parse(dr[24].ToString()); _artigo.Designacao = dr[25].ToString() != "" ? (_artigo.Designacao + "-" + dr[25].ToString()) : _artigo.Designacao; _artigo.Designacao = dr[26].ToString() != "" ? (_artigo.Designacao + "-" + dr[26].ToString()) : _artigo.Designacao; _artigo.Designacao = dr[27].ToString() != "" ? (_artigo.Designacao + "-" + dr[27].ToString()) : _artigo.Designacao; lista.Add(_artigo); } } catch (Exception ex) { _artigo = new ItemMovimentoStockDTO(); _artigo.MensagemErro = ex.Message.Replace("'", string.Empty); } finally { FecharConexao(); } return(lista); }
public List <ItemMovimentoStockDTO> ObterItemsList(ItemMovimentoStockDTO dto) { List <ItemMovimentoStockDTO> lista = new List <ItemMovimentoStockDTO>(); try { ComandText = "stp_STOCK_MOVIMENTO_DIRECTO_ARTIGOS_OBTERPORFILTRO"; AddParameter("MOVIMENT_ID", dto.Movimento); AddParameter("DATA_INI", dto.LookupDate1 == DateTime.MinValue ?(object)DBNull.Value : dto.LookupDate1); AddParameter("DATA_TERM", dto.LookupDate2 == DateTime.MinValue ? (object)DBNull.Value : dto.LookupDate2); MySqlDataReader dr = ExecuteReader(); while (dr.Read()) { dto = new ItemMovimentoStockDTO(); dto.ArtigoID = int.Parse(dr[0].ToString()); dto.Referencia = dr[1].ToString(); dto.Designacao = dr[2].ToString(); dto.Quantidade = decimal.Parse(dr[3].ToString()); dto.Unidade = dr[4].ToString(); dto.Armazem = dr[5].ToString(); dto.LookupField1 = dr[6].ToString(); // Armazem de Destino dto.LookupField2 = dr[7].ToString(); // Lote dto.PrecoUnitario = decimal.Parse(dr[8].ToString()); if (dto.PrecoUnitario <= 0) { dto.PrecoUnitario = decimal.Parse(dr[9].ToString()); } dto.ValorTotal = dto.Quantidade * dto.PrecoUnitario; dto.ValorTotal = dto.ValorTotal < 0 ? dto.ValorTotal * (-1) : dto.ValorTotal; dto.TituloDocumento = dr[10].ToString(); dto.Status = dr[12].ToString() == "0" ? 0 : 1; dto.CreatedDate = DateTime.Parse(dr[11].ToString()); lista.Add(dto); } } catch (Exception ex) { dto.Sucesso = false; dto.MensagemErro = ex.Message.Replace("'", string.Empty); } finally { FecharConexao(); } return(lista); }
public void AcertoAutomaticoStock(ArtigoDTO produto) { ItemMovimentoStockDTO dto = new ItemMovimentoStockDTO(); dto.Filial = "-1"; dto.LookupDate1 = DateTime.MinValue; dto.LookupDate2 = DateTime.MinValue; dto.ArtigoID = produto.Codigo; dto.Armazem = produto.ArmazemID.ToString(); foreach (var item in ProductExtractList(dto)) { produto.Quantidade = item.TotalLiquido; } daoStock.ActualizaStock(produto); }
public ItemMovimentoStockDTO AdicionarArtigo(ItemMovimentoStockDTO dto) { try { ComandText = "stp_STOCK_MOVIMENTO_DIRECTO_ARTIGO_ADICIONAR"; AddParameter("@MOVIMENTO", dto.Movimento); AddParameter("@ARTIGO", dto.ArtigoID); AddParameter("@DATA_MOVIMENTO", DateTime.Today); AddParameter("@EXISTENCIA", dto.Existencia); AddParameter("ARMAZEM_ORIGEM", dto.ArmazemOrigem); AddParameter("ARMAZEM_DESTINO", dto.AramzemDestino); AddParameter("@QUANTIDADE", dto.Quantidade); AddParameter("@QTD_FINAL", dto.Existencia < 0 && dto.Quantidade > 0 ? dto.Quantidade : dto.Existencia + dto.Quantidade); AddParameter("@PRECO_UNITARIO", dto.PrecoUnitario); AddParameter("@TIPO", dto.Operacao); AddParameter("@PRECO_CUSTO", dto.PrecoCompra); AddParameter("@VALOR_PVP", dto.Quantidade * dto.PrecoUnitario); AddParameter("@VALOR_PC", dto.Quantidade * dto.PrecoCompra); AddParameter("@UTILIZADOR", dto.Utilizador); AddParameter("@STATUS", dto.Status); AddParameter("@FILIAL", dto.Filial); AddParameter("@LOTE_ID", dto.LoteID <= 0 ? (object)DBNull.Value : dto.LoteID); AddParameter("@SERIAL_NUMBER_ID", dto.SerialNumberID <= 0 ? (object)DBNull.Value : dto.SerialNumberID); AddParameter("@COMPOSE_ID", dto.ComposeID <= 0 ? (object)DBNull.Value : dto.ComposeID); AddParameter("@SIZE_ID", dto.DimensaoID <= 0 ? (object)DBNull.Value : dto.DimensaoID); AddParameter("@DATA_CONTAGEM", dto.DataContagem == DateTime.MinValue ? (object)DBNull.Value : dto.DataContagem); ExecuteNonQuery(); dto.Sucesso = true; } catch (Exception ex) { dto.MensagemErro = ex.Message.Replace("'", ""); dto.Sucesso = false; } finally { FecharConexao(); if (dto.Sucesso && dto.HeightSize > 0 && dto.WidthSize > 0) { AddProductSizes(dto); } } return(dto); }
public ItemMovimentoStockDTO MovimentaStock(ItemMovimentoStockDTO dto, MovimentoStockDTO mov) { try { ComandText = "stp_STOCK_MOVIMENTO_STOCK"; AddParameter("@ARTIGO", dto.ArtigoID); AddParameter("@ARMAZEM", mov.ArmazemFrom); AddParameter("@ARMAZEM_TO", mov.ArmazemTo); AddParameter("@ENTRADA", DateTime.Today); AddParameter("@SAIDA", DateTime.Today); if (dto.Operacao == 1) { AddParameter("@QUANTIDADE", dto.Existencia + dto.Quantidade); AddParameter("@QUANTIDADEE", dto.Quantidade); } else { if (dto.Operacao == 2) { AddParameter("@QUANTIDADE", dto.Existencia - dto.Quantidade); AddParameter("@QUANTIDADEE", dto.Quantidade); } /* * if (dto.Operacao == "TA") * { * AddParameter("@QUANTIDADE", dto.Existencia - dto.Quantidade); * AddParameter("@QUANTIDADEE", dto.Quantidade); * }*/ } AddParameter("@PRECO_UNITARIO", dto.PrecoCompra); AddParameter("@ULTIMO_PRECO", dto.PrecoUnitario); AddParameter("@CUSTO_MEDIO", dto.Novo_PrecoCustoMedio); AddParameter("@OPERACAO", mov.Operacao); ExecuteNonQuery(); } catch (Exception ex) { dto.MensagemErro += ex.Message.Replace("'", string.Empty); } finally { FecharConexao(); } return(dto); }
public ItemMovimentoStockDTO MovimentaArtigo(ItemMovimentoStockDTO dto) { try { ComandText = "stp_STOCK_MOVIMENTO_ARTIGO"; AddParameter("@ARTIGO", dto.ArtigoID); AddParameter("@PRECO_CUSTO", dto.PrecoCompra); AddParameter("@PRECO_VENDA", dto.TotalLiquido); //AddParameter("@MARGEM_LUCRO", dto.MargemLucro); ExecuteNonQuery(); } catch (Exception ex) { dto.MensagemErro += ex.Message.Replace("'", string.Empty); } finally { FecharConexao(); } return(dto); }
private void AddProductSizes(ItemMovimentoStockDTO dto) { try { ComandText = "stp_STOCK_MOVIMENTOS_DIRECTOS_ARTIGOS_SIZES_ADICIONAR"; AddParameter("@MOVIMENT_ID", dto.Movimento); AddParameter("@PRODUCT_ID", dto.ArtigoID); AddParameter("@HIGHT_SIZE", dto.HeightSize); AddParameter("@WIDTH_SIZE", dto.WidthSize); ExecuteNonQuery(); dto.Sucesso = true; } catch (Exception ex) { dto.MensagemErro = ex.Message.Replace("'", ""); dto.Sucesso = false; } finally { FecharConexao(); } }
public void AddStockInicial(ItemMovimentoStockDTO dto) { daoStock.AddStockInicial(dto); }
public List <ItemMovimentoStockDTO> GetStockProductExtractList(ItemMovimentoStockDTO dto) { return(dao.ObterItemsList(dto)); }
public List <ItemMovimentoStockDTO> ObterProductExtract(ItemMovimentoStockDTO dto) { List <ItemMovimentoStockDTO> lista = new List <ItemMovimentoStockDTO>(); try { ComandText = "stp_STOCK_EXTRATO_ARTIGO"; AddParameter("@ARTIGO_ID", dto.ArtigoID); AddParameter("@DATA_INI", dto.LookupDate1 == DateTime.MinValue ? (object)DBNull.Value : dto.LookupDate1); AddParameter("@DATA_TERM", dto.LookupDate2 == DateTime.MinValue ? (object)DBNull.Value : dto.LookupDate2); AddParameter("@DOCUMENT_ID", dto.SerieID); AddParameter("@WAREHOUSE_ID", dto.Armazem); AddParameter("@FILIAL", dto.Filial); MySqlDataReader dr = ExecuteReader(); decimal Saldo = 0; while (dr.Read()) { dto = new ItemMovimentoStockDTO { Movimento = int.Parse(dr[0].ToString()), ArtigoID = int.Parse(dr[1].ToString()), CreatedDate = !string.IsNullOrEmpty(dr[2].ToString()) ? DateTime.Parse(dr[2].ToString()) : DateTime.MinValue, WareHouseName = dr[3].ToString(), Designacao = dr[4].ToString(), Operacao = int.Parse(dr[5].ToString()), PrecoUnitario = decimal.Parse(dr[6].ToString()), Existencia = decimal.Parse(dr[7].ToString()), Quantidade = decimal.Parse(dr[8].ToString()), Referencia = dr[9].ToString(), PrecoCustoMedio_Actual = decimal.Parse(dr[10].ToString()), Unidade = dr[11].ToString(), WarehouseFrom = dr[13].ToString(), WarehouseDestiny = dr[14].ToString(), TransferID = int.Parse(dr[15].ToString()), Armazem = dr[15].ToString(), }; dto.Referencia = dr[12].ToString() + "(" + dto.Referencia + ")"; /* * if(dto.TransferID > 0) * { * if(lista.Exists(t => t.Operacao == dto.Operacao && t.TransferID == dto.TransferID)) * { * var item = lista.Where(t => t.Operacao == dto.Operacao && t.TransferID == dto.TransferID).SingleOrDefault(); * if (dto.Operacao == 1 && item.WareHouseName == dto.WarehouseDestiny || * dto.Operacao == 0 && item.WareHouseName == dto.WarehouseFrom) * { * dto = null; * } * } * else if(dto.Operacao == 1 && dto.WareHouseName == dto.WarehouseDestiny || * dto.Operacao == 0 && dto.WareHouseName == dto.WarehouseFrom) * { * dto = null; * } * }*/ if (dto != null) { Saldo = Saldo == 0 ? (dto.Existencia + dto.Quantidade) : Saldo + dto.Quantidade; dto.TotalLiquido = Saldo; lista.Add(dto); } } } catch (Exception ex) { dto.MensagemErro = ex.Message.Replace("'", string.Empty); } finally { FecharConexao(); } return(lista); }
public List <ItemMovimentoStockDTO> ProductExtractList(ItemMovimentoStockDTO dto) { return(daoStock.ObterProductExtract(dto)); }
public Tuple <bool, string> CheckInCounting(ItemMovimentoStockDTO dto) { return(daoStock.GetInCounting(dto)); }
public List <ItemMovimentoStockDTO> GetToInventory(StockInfoDTO dto) { List <ItemMovimentoStockDTO> lista = new List <ItemMovimentoStockDTO>(); ItemMovimentoStockDTO _artigo; try { ComandText = "stp_COM_STOCK_OBTERPORFILTRO"; AddParameter("WAREHOUSE_ID", dto.ArmazemID); AddParameter("ARTIGO", dto.DesignacaoArtigo); AddParameter("@REFERENCIA", dto.Reference == null ? string.Empty : dto.Reference); AddParameter("@CODIGO_BARRAS", dto.BarCode == null ? string.Empty : dto.BarCode); AddParameter("FILIAL", dto.Filial); AddParameter("LOTE_ID", dto.Product.LoteID <= 0 ?(object)DBNull.Value : dto.Product.LoteID); AddParameter("DIMENSAO_ID", dto.Product.DimesaoID <= 0 ? (object)DBNull.Value : dto.Product.DimesaoID); AddParameter("SERIAL_ID", dto.Product.SerialNumberID <= 0 ? (object)DBNull.Value : dto.Product.SerialNumberID); AddParameter("SEMELHANTE_ID", dto.Product.SemelhanteID <= 0 ? (object)DBNull.Value : dto.Product.SemelhanteID); AddParameter("FAMILIA_ID", dto.Product.Categoria == "-1" ? (object)DBNull.Value : dto.Product.Categoria); AddParameter("UTILIZADOR", dto.Utilizador); MySqlDataReader dr = ExecuteReader(); while (dr.Read()) { _artigo = new ItemMovimentoStockDTO(); _artigo.ArtigoID = int.Parse(dr[0].ToString()); _artigo.Referencia = dr[1].ToString(); _artigo.Designacao = dr[2].ToString(); _artigo.Classificacao = dr[3].ToString(); _artigo.Quantidade = Convert.ToDecimal(dr[4].ToString()); _artigo.PrecoCusto = Convert.ToDecimal(dr[5].ToString()); _artigo.PrecoVenda = Convert.ToDecimal(dr[6].ToString()); _artigo.Armazem = dr[7].ToString(); _artigo.FotoArtigo = dr[8].ToString(); _artigo.BarCode = dr[9].ToString(); _artigo.Existencia = _artigo.Quantidade; _artigo.ContagemFisica = -1; _artigo.Unidade = dr[14].ToString(); _artigo.LoteID = int.Parse(dr[10].ToString()); _artigo.DimensaoID = int.Parse(dr[12].ToString()); _artigo.SerialNumberID = int.Parse(dr[15].ToString()); _artigo.Designacao = dr[11].ToString() != "" ? (_artigo.Designacao + "-" + dr[11].ToString()) : _artigo.Designacao; _artigo.Designacao = dr[13].ToString() != "" ? (_artigo.Designacao + "-" + dr[13].ToString()) : _artigo.Designacao; _artigo.Designacao = dr[16].ToString() != "" ? (_artigo.Designacao + "-" + dr[16].ToString()) : _artigo.Designacao; if (!GetInCounting(_artigo).Item1) { lista.Add(_artigo); } } } catch (Exception ex) { _artigo = new ItemMovimentoStockDTO(); _artigo.MensagemErro = ex.Message.Replace("'", string.Empty); } finally { FecharConexao(); } return(lista); }
public List <ItemMovimentoStockDTO> GetInventoryProductListByReference(ItemMovimentoStockDTO dto) { return(daoStock.GetInventoryProductList(dto)); }