Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }