public void GenerateStockMovimentFromPurchaseDocument(List <ItemMovimentoStockDTO> pLista, FaturaDTO pDocument, string pMovimentCode) { if (pLista.Count > 0) { int doc = 12; SerieDTO _serie = ObterSerieStock(new SerieDTO(doc)); MovimentoStockDTO dto = new MovimentoStockDTO { Codigo = -1, Documento = doc, ArmazemFrom = pDocument.Armazem, DataStock = DateTime.Today, Lancamento = DateTime.Now, Operacao = pMovimentCode == "E" ? 1 : 2, Serie = _serie.Codigo, Referencia = string.Empty, Utilizador = pDocument.Utilizador, Numeracao = 0, ArmazemTo = pDocument.Armazem, FuncionarioID = pDocument.VendedorID <= 0 ? "-1" : pDocument.VendedorID.ToString(), ListaArtigo = pLista, DocumentoFrom = pDocument.Documento, DocumentID = pDocument.Codigo, Filial = pDocument.Filial, ArmazemID = pDocument.Armazem, DocumentTypeFromID = pDocument.Documento }; Gravar(dto, false); } }
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 MovimentoStockDTO Gravar(MovimentoStockDTO dto, bool isTransfer) { if (isTransfer) { dto.ArmazemID = dto.ArmazemTo; } MovimentoStockDTO movimento = dao.Adicionar(dto); if (movimento.Codigo > 0) { foreach (var item in dto.ListaArtigo) { item.Movimento = movimento.Codigo; item.Utilizador = item.Utilizador == null || item.Utilizador == string.Empty ? dto.Utilizador : item.Utilizador; item.Filial = item.Filial == null || item.Filial == string.Empty ? dto.Filial : item.Filial; item.ArmazemOrigem = item.ArmazemOrigem <= 0 ? dto.ArmazemFrom : item.ArmazemOrigem; item.AramzemDestino = item.AramzemDestino <= 0 ? dto.ArmazemTo : item.AramzemDestino; item.Operacao = dto.Operacao; item.Existencia = item.Existencia <= 0 || isTransfer?GetInicialStock(item.ArtigoID, isTransfer?item.AramzemDestino : item.ArmazemOrigem) : item.Existencia; item.Quantidade = item.ContagemFisica != 0 && item.Quantidade == 0 ? item.Acrto : item.Quantidade; if ((item.Operacao == 2 && item.Quantidade > 0) || (item.Operacao == 1 && item.Quantidade < 0)) { item.Quantidade *= -1; } dao.AdicionarArtigo(item); } return(ObterPorPk(movimento)); } else { return(dto); } }
public MovimentoStockDTO TransferirStock(MovimentoStockDTO dto) { if (dto.ListaArtigo.Count > 0) { dto = dao.Adicionar(dto); if (dto.Codigo > 0) { int TransferID = dto.Codigo; MovimentoStockDTO Saida = dto; Saida.Operacao = 2; Saida.TranferenciaID = TransferID; Saida.Documento = 12; Saida.Serie = ObterSerieStock(new SerieDTO(Saida.Documento)).Codigo; Saida.Codigo = -1; if (Gravar(Saida, false).Codigo > 0) { MovimentoStockDTO Entrada = dto; Entrada.Operacao = 1; Entrada.Codigo = -1; Entrada.TranferenciaID = TransferID; Entrada.ArmazemID = dto.ArmazemTo; Entrada.Documento = 11; Entrada.Serie = ObterSerieStock(new SerieDTO(Entrada.Documento)).Codigo; Entrada = Gravar(Entrada, true); dto = ObterPorPk(new MovimentoStockDTO(TransferID)); } else { dto = Saida; } } } else { dto.MensagemErro = "Não foram seleccionados Artigos para transferência"; } return(dto); }
public MovimentoStockDTO Excluir(MovimentoStockDTO dto) { try { ComandText = "stp_STOCK_MOVIMENTO_DIRECTOS_ANULAR"; AddParameter("@CODIGO", dto.Codigo); AddParameter("@UTILIZADOR", dto.Utilizador); ExecuteNonQuery(); dto.Sucesso = true; } catch (Exception ex) { dto.MensagemErro += ex.Message.Replace("'", string.Empty); dto.Sucesso = false; } finally { FecharConexao(); } return(dto); }
public List <MovimentoStockDTO> ObterPorFiltro(MovimentoStockDTO dto) { List <MovimentoStockDTO> lista = new List <MovimentoStockDTO>(); try { ComandText = "stp_STOCK_MOVIMENTO_DIRECTO_OBTERPORFILTRO"; AddParameter("@REFERENCIA", dto.Referencia); AddParameter("@INICIO", dto.DataStock); AddParameter("@TERMINO", dto.Lancamento); AddParameter("@ARMAZEM", dto.ArmazemFrom); AddParameter("@INVOICE_ID", dto.DocumentoFrom); MySqlDataReader dr = ExecuteReader(); while (dr.Read()) { dto = new MovimentoStockDTO(); dto.Codigo = int.Parse(dr[0].ToString()); dto.NomeDocumento = dr[1].ToString(); dto.Referencia = dr[2].ToString(); dto.NomeArmazemFrom = dr[3].ToString(); dto.NomeArmazemTo = dr[4].ToString(); dto.Lancamento = DateTime.Parse(dr[5].ToString()); dto.Utilizador = dr[6].ToString(); lista.Add(dto); } } catch (Exception ex) { dto.Sucesso = false; dto.MensagemErro = ex.Message.Replace("'", string.Empty); } finally { FecharConexao(); } return(lista); }
public MovimentoStockDTO Adicionar(MovimentoStockDTO dto) { try { ComandText = "stp_STOCK_MOVIMENTO_DIRECTOS_ADICIONAR"; AddParameter("@CODIGO", dto.Codigo); AddParameter("@DOCUMENTO", dto.Documento); AddParameter("@REFERENCIA", dto.Referencia); AddParameter("@OPERACAO", dto.Operacao); AddParameter("@NUMERACAO", dto.Numeracao); AddParameter("@DATA_STOCK", dto.DataStock); AddParameter("@LANCAMENTO", dto.Lancamento); AddParameter("@ARMAZEM_FROM", dto.ArmazemFrom); AddParameter("@ARMAZEM_TO", dto.ArmazemTo == 0 ? -1 : dto.ArmazemTo); AddParameter("@USER_UPDATE", dto.Utilizador); AddParameter("@USER_CREATE", dto.Utilizador); AddParameter("@UPDATE_DATE", DateTime.Today); AddParameter("@SERIE", dto.Serie); AddParameter("@FUNCIONARIO", dto.FuncionarioID); AddParameter("@DOCUMENT_ID", dto.DocumentID == null ? -1 : dto.DocumentID); AddParameter("@ENTITY_ID", dto.EntityID == null ? -1 : dto.EntityID); AddParameter("@ARMAZEM_ID", dto.ArmazemID == 0 ? dto.ArmazemFrom : dto.ArmazemID); AddParameter("@TRANSFER_ID", dto.TranferenciaID == null ? -1 : dto.TranferenciaID); AddParameter("@DOCUMENT_FROM", dto.DocumentTypeFromID == null ? -1 : dto.DocumentTypeFromID); AddParameter("@MOTIVO_ID", dto.MotivoID <= 0 ? (object)DBNull.Value : dto.MotivoID); dto.Codigo = ExecuteInsert(); dto.Sucesso = true; } catch (Exception ex) { dto.MensagemErro += ex.Message.Replace("'", string.Empty); dto.Sucesso = false; } finally { FecharConexao(); } return(dto); }
public MovimentoStockDTO ObterPorPK(MovimentoStockDTO dto) { try { ComandText = "stp_STOCK_MOVIMENTO_DIRECTO_OBTERPORPK"; AddParameter("@CODIGO", dto.Codigo); MySqlDataReader dr = ExecuteReader(); dto = new MovimentoStockDTO(); if (dr.Read()) { dto.Codigo = int.Parse(dr["MOV_CODIGO"].ToString()); dto.Documento = int.Parse(dr["MOV_CODIGO_DOCUMENTO"].ToString()); dto.Referencia = dr["MOV_REFERENCIA"].ToString(); dto.Numeracao = int.Parse(dr["MOV_NUMERACAO"].ToString()); dto.DataStock = DateTime.Parse(dr["MOV_DATA_STOCK"].ToString()); dto.Lancamento = DateTime.Parse(dr["MOV_DATA_LANCAMENTO"].ToString()); dto.ArmazemFrom = int.Parse(dr["MOV_CODIGO_ARMAZEM_FROM"].ToString() == null ? "-1" : dr["MOV_CODIGO_ARMAZEM_FROM"].ToString()); dto.ArmazemTo = int.Parse(dr["MOV_CODIGO_ARMAZEM_TO"].ToString() == null ? "-1" : dr["MOV_CODIGO_ARMAZEM_TO"].ToString()); dto.FuncionarioID = dr["MOV_FUNCIONARIO"].ToString(); dr.Close(); } } catch (Exception ex) { dto.Sucesso = false; dto.MensagemErro = ex.Message.Replace("'", string.Empty); } finally { FecharConexao(); } return(dto); }
public MovimentoStockDTO Excluir(MovimentoStockDTO dto) { return(dao.Excluir(dto)); }
public List <MovimentoStockDTO> ObterMovimentos(MovimentoStockDTO dto) { return(dao.ObterPorFiltro(dto)); }
public MovimentoStockDTO ObterPorPk(MovimentoStockDTO dto) { return(dao.ObterPorPK(dto)); }