public IEnumerable <NotaFiscalTerceiros> Busca(fmEntBuscaNotaFiscalTerceiros.Filtros f) { var notasFiscais = new List <NotaFiscalTerceiros>(); var wherePessoa = f.Pessoa != null ? "AND p.idpessoa = @idpessoa" : ""; var whereCidade = f.Cidade != null ? "AND p.idcidade = @idcidade" : ""; string whereValorTotal = f.usarvalorTotalFiltro ? "AND nft.valor_documento BETWEEN @valor_documento_inicial AND @valor_documento_final" : ""; string whereDataEmissao = f.usardataEmissaoFiltro ? "AND nft.data_emissao BETWEEN @data_emissao_inicial AND @data_emissao_final" : ""; string whereDataEntrada = f.usardataEntradaFiltro ? "AND nft.data_entradasaida BETWEEN @data_entradasaida_inicial AND @data_entradasaida_final" : ""; using (MySQLConn sql = new MySQLConn(Configuracao.Conecta)) { sql.Query = @"SELECT nft.idnota_fiscal_terceiros, p.idpessoa, p.nome, nft.data_emissao, nft.data_entradasaida, nft.valor_documento FROM nota_fiscal_terceiros nft LEFT JOIN pessoa p ON nft.idpessoa = p.idpessoa WHERE 1=1 " + wherePessoa + " " + whereCidade + " " + whereValorTotal + " " + whereDataEmissao + " " + whereDataEntrada + " " + "GROUP BY nft.idnota_fiscal_terceiros"; if (f.Pessoa != null) { sql.addParam("@idpessoa", f.Pessoa.PessoaID); } if (f.Cidade != null) { sql.addParam("@idcidade", f.Cidade.CidadeID); } sql.addParam("@valor_documento_inicial", f.ValorInicial); sql.addParam("@valor_documento_final", f.ValorFinal); sql.addParam("@data_emissao_inicial", f.DataEmissaoInicial); sql.addParam("@data_emissao_final", f.DataEmissaoFinal); sql.addParam("@data_entradasaida_inicial", f.DataEntradaInicial); sql.addParam("@data_entradasaida_final", f.DataEntradaFinal); var data = sql.selectQuery(); foreach (var d in data) { var pessoa = new Pessoa(); pessoa.PessoaID = Convert.ToInt32(d["idpessoa"]); pessoa.Nome = (string)d["nome"]; var notaTerceiros = new NotaFiscalTerceiros(); notaTerceiros.NotaFiscalTerceirosID = Convert.ToInt32(d["idnota_fiscal_terceiros"]); notaTerceiros.DataEmissao = (DateTime)d["data_emissao"]; notaTerceiros.DataEntradaSaida = (DateTime)d["data_entradasaida"]; notaTerceiros.ValorTotalDocumento = (decimal)d["valor_documento"]; notaTerceiros.Pessoa = pessoa; notasFiscais.Add(notaTerceiros); } } return(notasFiscais); }
public List <fmEntBuscaNotaFiscalTerceiros.row> BuscaParaRelatorio(fmEntBuscaNotaFiscalTerceiros.Filtros f) { var result = new List <fmEntBuscaNotaFiscalTerceiros.row>(); var wherePessoa = f.Pessoa != null ? "AND p.idpessoa = @idpessoa" : ""; var whereCidade = f.Cidade != null ? "AND p.idcidade = @idcidade" : ""; string whereValorTotal = f.usarvalorTotalFiltro ? "AND nft.valor_documento BETWEEN @valor_documento_inicial AND @valor_documento_final" : ""; string whereDataEmissao = f.usardataEmissaoFiltro ? "AND nft.data_emissao BETWEEN @data_emissao_inicial AND @data_emissao_final" : ""; string whereDataEntrada = f.usardataEntradaFiltro ? "AND nft.data_entradasaida BETWEEN @data_entradasaida_inicial AND @data_entradasaida_final" : ""; using (MySQLConn sql = new MySQLConn(Configuracao.Conecta)) { sql.Query = $@"SELECT DATE(nft.data_entradasaida) AS data, i.codigointerno, i.descitem, i.referencia, SUM(nftitem.quantidade) as qtd, i.valorsaida, SUM(nftitem.valor_total) AS total FROM nota_fiscal_terceiros nft LEFT JOIN pessoa p ON p.idpessoa = nft.idpessoa LEFT JOIN nota_fiscal_terceiros_has_item nftitem ON nft.idnota_fiscal_terceiros = nftitem.idnota_fiscal_terceiros LEFT JOIN item i ON i.iditem = nftitem.iditem WHERE 1 = 1 { wherePessoa } { whereCidade } { whereValorTotal } { whereDataEmissao } { whereDataEntrada } GROUP BY DATE(nft.data_entradasaida), i.codigointerno, i.descitem, i.referencia, i.valorsaida ORDER BY 1"; if (f.Pessoa != null) { sql.addParam("@idpessoa", f.Pessoa.PessoaID); } if (f.Cidade != null) { sql.addParam("@idcidade", f.Cidade.CidadeID); } sql.addParam("@valor_documento_inicial", f.ValorInicial); sql.addParam("@valor_documento_final", f.ValorFinal); sql.addParam("@data_emissao_inicial", f.DataEmissaoInicial); sql.addParam("@data_emissao_final", f.DataEmissaoFinal); sql.addParam("@data_entradasaida_inicial", f.DataEntradaInicial); sql.addParam("@data_entradasaida_final", f.DataEntradaFinal); var data = sql.selectQuery(); if (data != null) { foreach (var r in data) { var row = new fmEntBuscaNotaFiscalTerceiros.row(); row.data = (DateTime)r["data"]; row.codigo = (string)r["codigointerno"]; row.item = (string)r["descitem"]; row.tamanho = (string)r["referencia"]; row.quantidade = (decimal)r["qtd"]; row.valorunit = (decimal)r["valorsaida"]; row.estoque = (decimal)r["total"]; result.Add(row); } } } return(result); }