// Pega informacoes do proprio Credenciado (Farmacia) dentro da data indicada // Carrega um novo DataTable para preencher os dados do Credenciado no Relatorio de Valores Recebidos</returns> public static DataTable RecebidoFornecedor(Extratos ext, int cred_id) { string sql = " SELECT pag.pagamento_cred_id, cred.cred_id, cred.nome AS fornecedor,"; sql += " (pag.per_comissao + pag.per_comissao_r) AS per_comiss,"; sql += " (pag.valor_comissao_r + pag.valor_comissao) AS valor_comissao, "; sql += " pag.valor_total AS valor_bruto "; sql += " FROM Pagamento_cred pag"; sql += " JOIN Credenciados cred ON cred.cred_id = pag.cred_id"; sql += " WHERE pag.apagado <> 'S'"; sql += " AND cred.cred_id = " + cred_id; if (!ext.TodasEmpresas) { string emps = String.Empty; foreach (string e in ext.EmpresasMarcadas.Keys) { emps += "," + e; } emps = emps.Substring(1);//ignorar a primeira virgula. sql += " AND (pag.pagamento_cred_id IN (" + emps + ")) "; } else { sql += " AND data_pgto BETWEEN '" + ext.DataIni.ToString("MM/dd/yyyy 00:00:00") + "'"; sql += " AND '" + ext.DataFim.ToString("MM/dd/yyyy 23:59:59") + "'"; } BD BD = new BD(); return(BD.GetDataTable(sql, null)); }
// Verifica do Fornecedor(Farmacias) as empresas com movimento no periodo indicado public DataTable CriarEmpresasComMovimento(Extratos pExtrato, int pCredenciadoId) { string sql = " SELECT DISTINCT emp.empres_id, emp.nome"; sql += " FROM Contacorrente cc"; sql += " JOIN Conveniados conv ON conv.conv_id = cc.conv_id"; sql += " JOIN Empresas emp ON conv.empres_id = emp.empres_id"; sql += " WHERE (cc.cred_id = @credId)"; if (pExtrato.Tipo.Equals("A")) { sql += " AND cc.data BETWEEN @datai AND @dataf"; } else { sql += " AND cc.data_fecha_emp BETWEEN @datai AND @dataf"; } sql = ParamsSQL(pExtrato, sql) + " ORDER BY emp.nome"; SqlParamsList ps = new SqlParamsList(); ps.Add(new Fields("@credId", pCredenciadoId)); ps.Add(new Fields("@datai", pExtrato.DataIni.ToString("dd/MM/yyyy"))); ps.Add(new Fields("@dataf", pExtrato.DataFim.ToString("dd/MM/yyyy"))); BD BD = new BD(); return(BD.GetDataTable(sql, ps)); }
public DataTable RelatorioPorEmpresa(Extratos pExtrato, int pCredenciadoId) { string sql = string.Empty; string sqlfromwhere = string.Empty; sql = " SELECT DISTINCT conv.chapa, conv.titular, emp.empres_id, emp.nome,"; sql += " cc.debito, cc.credito, cc.data, cc.nf, \n"; sql += " (concat(CAST(cc.autorizacao_id AS varchar(10)), \n"; sql += " (CASE WHEN digito < 10 THEN '0'+ CAST(digito AS char(1)) ELSE \n"; sql += " CAST(digito AS char(2)) end))) AS autorizacao, \n"; sql += " cast(debito - credito as decimal(15,2)) saldo \n"; sqlfromwhere = " FROM Contacorrente cc \n"; sqlfromwhere += " JOIN Conveniados conv ON conv.conv_id = cc.conv_id \n"; sqlfromwhere += " JOIN Empresas emp ON conv.empres_id = emp.empres_id \n"; sqlfromwhere += " WHERE cc.cred_id = @credId \n"; sqlfromwhere += " AND (cc.autorizacao_id_canc is null and cc.cancelada = 'N') \n"; if (pExtrato.Tipo.Equals("A")) { sqlfromwhere += " AND cc.data BETWEEN @datai AND @dataf \n"; } else { sqlfromwhere += " AND cc.data_fecha_emp BETWEEN @datai AND @dataf \n"; } sqlfromwhere = ParamsSQL(pExtrato, sqlfromwhere); if (!pExtrato.TodasEmpresas) { string emps = String.Empty; foreach (string e in pExtrato.EmpresasMarcadas.Keys) { emps += "," + e; } emps = emps.Substring(1);//ignorar a primeira virgula. sqlfromwhere += " AND (conv.empres_id IN (" + emps + ") ) "; } sql += sqlfromwhere + " ORDER BY "; if (pExtrato.CampoOrdemEmp != null) { sql += pExtrato.CampoOrdemEmp + ","; } sql += pExtrato.CampoOrdem; SqlParamsList ps = new SqlParamsList(); ps.Add(new Fields("@credId", pCredenciadoId)); ps.Add(new Fields("@datai", pExtrato.DataIni.ToString("dd/MM/yyyy"))); ps.Add(new Fields("@dataf", pExtrato.DataFim.ToString("dd/MM/yyyy"))); BD BD = new BD(); return(BD.GetDataTable(sql, ps)); }
public static DataTable RelatorioAnalitico(Extratos pExtrato, int pCredenciadoId) { string sql = "SELECT DATA, SUM(VALOR * QTDE) AS VALOR FROM CRED_COMANDA WHERE CRED_ID = " + pCredenciadoId + " AND DATA BETWEEN @datai AND @dataf GROUP BY DATA ORDER BY DATA"; SqlParamsList ps = new SqlParamsList(); ps.Add(new Fields("@credId", pCredenciadoId)); ps.Add(new Fields("@datai", pExtrato.DataIni.ToString("dd/MM/yyyy"))); ps.Add(new Fields("@dataf", pExtrato.DataFim.ToString("dd/MM/yyyy"))); BD BD = new BD(); return BD.GetDataTable(sql, ps); }
public static DataTable RelatorioAnalitico(Extratos pExtrato, int pCredenciadoId) { string sql = "SELECT DATA, SUM(VALOR * QTDE) AS VALOR FROM CRED_COMANDA WHERE CRED_ID = " + pCredenciadoId + " AND DATA BETWEEN @datai AND @dataf GROUP BY DATA ORDER BY DATA"; SqlParamsList ps = new SqlParamsList(); ps.Add(new Fields("@credId", pCredenciadoId)); ps.Add(new Fields("@datai", pExtrato.DataIni.ToString("dd/MM/yyyy"))); ps.Add(new Fields("@dataf", pExtrato.DataFim.ToString("dd/MM/yyyy"))); BD BD = new BD(); return(BD.GetDataTable(sql, ps)); }
// Pega as empresas do Credenciado (Farmacia) // Carrega um novo DataTable para preencher as Empresas do Relatorio de Valores a Receber public DataTable aRecebEmpresa(string empresas, Extratos ext, int cred_id, string pExibirPagto) { StringBuilder sql = new StringBuilder(); sql.Append(" Select coalesce(emp.empres_id,conv.conv_id) as id, fat.fechamento, fat.data_vencimento vencimento, "); sql.Append(" fat.fatura_id, sum(cc.debito-cc.credito) as valor, "); sql.Append(" coalesce(cred_emp_lib.comissao,cred.comissao) per_comiss, "); sql.Append(" sum(cc.debito-cc.credito)/100*coalesce(cred_emp_lib.comissao,cred.comissao) val_comiss, "); sql.Append(" case when coalesce(fat.tipo,'E') = 'E' then emp.nome else conv.titular end as nome, "); sql.Append(" coalesce(emp.empres_id,conv.conv_id) empres_id, 0 pagamento_cred_id "); sql.Append(" from contacorrente cc "); sql.Append(" join fatura fat on fat.fatura_id = cc.fatura_id "); sql.Append(" join credenciados cred on cred.cred_id = cc.cred_id "); if (pExibirPagto == "S") { sql.Append(" join rel_fat_pag_cred rel on rel.fatura_id = fat.fatura_id "); sql.Append(" and rel.cred_id = cc.cred_id and (rel.exibir = 'S')"); } sql.Append(" left join empresas emp on coalesce(fat.tipo,'E') = 'E' and emp.empres_id = fat.id "); sql.Append(" left join conveniados conv on fat.tipo = 'C' and conv.conv_id = fat.id "); sql.Append(" left join cred_emp_lib on cred_emp_lib.cred_id = cc.cred_id "); sql.Append(" and cred_emp_lib.empres_id = coalesce(emp.empres_id,conv.empres_id) "); sql.Append(" where coalesce(cc.pagamento_cred_id,0) = 0 and coalesce(fat.apagado,'N') <> 'S' "); if (ext.TipoRecebidos.Equals("S")) { sql.Append(" and ((coalesce(fat.baixada,'N') = 'S') or (coalesce(fat.pre_baixa,'N') = 'S'))"); } else if (ext.TipoRecebidos.Equals("N")) { sql.Append(" and ((coalesce(fat.baixada,'N') = 'N') or (coalesce(fat.pre_baixa,'N') = 'N'))"); } sql.Append(" and (cc.CRED_ID = " + cred_id + ") "); if (ext.EmpresasMarcadas != null && ext.TodasEmpresas == false) { sql.Append(" and coalesce(emp.empres_id,conv.conv_id) in (" + empresas + ")"); } sql.Append(" group by emp.empres_id, conv.conv_id, cc.cred_id, fat.fechamento, fat.data_vencimento, fat.fatura_id,"); sql.Append(" fat.tipo, conv.titular, emp.nome, cred_emp_lib.comissao, cred.comissao order by cc.cred_id "); BD BD = new BD(); return(BD.GetDataTable(sql.ToString(), null)); }
// Pega as informações dos Pagamentos do Fornecedor // Datatable para preencher o grid na tela de visualizacao do Relatorio de Valores Recebidos</returns> public static DataTable RecebidoFornecedorGrid(Extratos ext, int cred_id) { string sql = " SELECT pag.pagamento_cred_id, pag.data_hora,pag.valor_total AS valor_bruto,"; sql += " (pag.per_comissao + pag.per_comissao_r) AS per_comiss,"; sql += " (pag.valor_comissao_r + pag.valor_comissao) AS valor_comissao, "; sql += " ((pag.taxas_fixas + pag.taxas_variaveis) - pag.repasse) AS descontos,"; sql += " pag.valor_pago, pagapor.descricao, pag.operador"; sql += " FROM Pagamento_cred pag"; sql += " JOIN Credenciados cred ON cred.cred_id = pag.cred_id"; sql += " JOIN Paga_cred_por pagapor ON pagapor.paga_cred_por_id = pag.paga_cred_por_id"; sql += " WHERE pag.apagado <> 'S'"; sql += " AND cred.cred_id = " + cred_id; sql += " AND data_pgto BETWEEN '" + ext.DataIni.ToString("MM/dd/yyyy 00:00:00") + "'"; sql += " AND '" + ext.DataFim.ToString("MM/dd/yyyy 23:59:59") + "'"; BD BD = new BD(); return(BD.GetDataTable(sql, null)); }
public static DataTable GetRecebidos(Extratos ext, int cred_id) { string sql = " SELECT pc.pagamento_cred_id, (pc.per_comissao + pc.per_comissao_r) AS per_comiss_pag,"; sql += " (pc.valor_comissao + pc.valor_comissao_r) AS valor_comissao_pag,"; sql += " pc.valor_total AS valor_bru_pag, pc.valor_pago AS valor_liq_pag, pcd.id AS empres_id,"; sql += " COALESCE((pcd.per_comissao + pcd.per_comissao_r),pc.per_comissao, 0) AS per_comiss_emp,"; sql += " (COALESCE((pcd.per_comissao + pcd.per_comissao_r),pc.per_comissao, 0)*pcd.valor/100) AS valor_comissao_emp,"; sql += " CASE WHEN (COALESCE(pcd.fatura_id,0) > 0) AND (fat.tipo = 'C') THEN conv.titular ELSE emp.nome END AS nome,"; sql += " pcd.valor AS valor_empresa, COALESCE(pcd.fatura_id,0) AS fatura_id, pc.paga_cred_por_id, conv.titular, conv.chapa, cc.autorizacao_id,"; sql += " cc.digito, (cc.debito - cc.credito) as valor_aut, cc.data"; sql += " FROM Pagamento_cred pc"; sql += " JOIN Pagamento_cred_det pcd ON pc.pagamento_cred_id = pcd.pagamento_cred_id"; sql += " JOIN Fatura fat ON fat.fatura_id = pcd.fatura_id"; sql += " JOIN Empresas emp ON emp.empres_id = pcd.id"; sql += " JOIN ContaCorrente cc ON cc.pagamento_cred_id = pc.pagamento_cred_id"; sql += " JOIN Conveniados conv ON cc.conv_id = conv.conv_id"; sql += " WHERE pc.apagado <> 'S'"; sql += " AND pc.cred_id =" + cred_id; if (!ext.TodasEmpresas) { string emps = String.Empty; foreach (string e in ext.EmpresasMarcadas.Keys) { emps += "," + e; } emps = emps.Substring(1);//ignorar a primeira virgula. sql += " AND (pc.pagamento_cred_id IN (" + emps + ")) "; } else { sql += " AND data_pgto BETWEEN '" + ext.DataIni.ToString("MM/dd/yyyy 00:00:00") + "'"; sql += " AND '" + ext.DataFim.ToString("MM/dd/yyyy 23:59:59") + "'"; } BD BD = new BD(); return(BD.GetDataTable(sql, null)); }
// Retorna parte de uma string SQL segundo os parametros passados pelo Extrato</returns> private static string ParamsSQL(Extratos ext, string sql) { switch (ext.TipoReceita) { case "R": sql += " AND (COALESCE(cc.receita,'N') = 'S') "; break; case "S": sql += " AND (COALESCE(cc.receita,'N') = 'N') "; break; } switch (ext.TipoConfirma) { case "S": sql += " AND (COALESCE(cc.entreg_nf,'N') = 'S') "; break; case "N": sql += " AND (COALESCE(cc.entreg_nf,'N') = 'N') "; break; } switch (ext.TipoRecebidos) { case "S": sql += " AND (COALESCE(cc.baixa_credenciado,'N') = 'S') "; break; case "N": sql += " AND (COALESCE(cc.baixa_credenciado,'N') = 'N') "; break; } return(sql); }
public static DataTable GetRecebidos(Extratos ext, int cred_id) { string sql = " SELECT pc.pagamento_cred_id, (pc.per_comissao + pc.per_comissao_r) AS per_comiss_pag,"; sql += " (pc.valor_comissao + pc.valor_comissao_r) AS valor_comissao_pag,"; sql += " pc.valor_total AS valor_bru_pag, pc.valor_pago AS valor_liq_pag, pcd.id AS empres_id,"; sql += " COALESCE((pcd.per_comissao + pcd.per_comissao_r),pc.per_comissao, 0) AS per_comiss_emp,"; sql += " (COALESCE((pcd.per_comissao + pcd.per_comissao_r),pc.per_comissao, 0)*pcd.valor/100) AS valor_comissao_emp,"; sql += " CASE WHEN (COALESCE(pcd.fatura_id,0) > 0) AND (fat.tipo = 'C') THEN conv.titular ELSE emp.nome END AS nome,"; sql += " pcd.valor AS valor_empresa, COALESCE(pcd.fatura_id,0) AS fatura_id, pc.paga_cred_por_id, conv.titular, conv.chapa, cc.autorizacao_id,"; sql += " cc.digito, (cc.debito - cc.credito) as valor_aut, cc.data"; sql += " FROM Pagamento_cred pc"; sql += " JOIN Pagamento_cred_det pcd ON pc.pagamento_cred_id = pcd.pagamento_cred_id"; sql += " JOIN Fatura fat ON fat.fatura_id = pcd.fatura_id"; sql += " JOIN Empresas emp ON emp.empres_id = pcd.id"; sql += " JOIN ContaCorrente cc ON cc.pagamento_cred_id = pc.pagamento_cred_id"; sql += " JOIN Conveniados conv ON cc.conv_id = conv.conv_id"; sql += " WHERE pc.apagado <> 'S'"; sql += " AND pc.cred_id =" + cred_id; if (!ext.TodasEmpresas) { string emps = String.Empty; foreach (string e in ext.EmpresasMarcadas.Keys) emps += "," + e; emps = emps.Substring(1);//ignorar a primeira virgula. sql += " AND (pc.pagamento_cred_id IN (" + emps + ")) "; } else { sql += " AND data_pgto BETWEEN '" + ext.DataIni.ToString("MM/dd/yyyy 00:00:00") + "'"; sql += " AND '" + ext.DataFim.ToString("MM/dd/yyyy 23:59:59") + "'"; } BD BD = new BD(); return BD.GetDataTable(sql, null); }
// Pega as informações dos Pagamentos do Fornecedor // Datatable para preencher o grid na tela de visualizacao do Relatorio de Valores Recebidos</returns> public static DataTable RecebidoFornecedorGrid(Extratos ext, int cred_id) { string sql = " SELECT pag.pagamento_cred_id, pag.data_hora,pag.valor_total AS valor_bruto,"; sql += " (pag.per_comissao + pag.per_comissao_r) AS per_comiss,"; sql += " (pag.valor_comissao_r + pag.valor_comissao) AS valor_comissao, "; sql += " ((pag.taxas_fixas + pag.taxas_variaveis) - pag.repasse) AS descontos,"; sql += " pag.valor_pago, pagapor.descricao, pag.operador"; sql += " FROM Pagamento_cred pag"; sql += " JOIN Credenciados cred ON cred.cred_id = pag.cred_id"; sql += " JOIN Paga_cred_por pagapor ON pagapor.paga_cred_por_id = pag.paga_cred_por_id"; sql += " WHERE pag.apagado <> 'S'"; sql += " AND cred.cred_id = " + cred_id; sql += " AND data_pgto BETWEEN '" + ext.DataIni.ToString("MM/dd/yyyy 00:00:00") + "'"; sql += " AND '" + ext.DataFim.ToString("MM/dd/yyyy 23:59:59") + "'"; BD BD = new BD(); return BD.GetDataTable(sql, null); }
// Pega informacoes do proprio Credenciado (Farmacia) dentro da data indicada // Carrega um novo DataTable para preencher os dados do Credenciado no Relatorio de Valores Recebidos</returns> public static DataTable RecebidoFornecedor(Extratos ext, int cred_id) { string sql = " SELECT pag.pagamento_cred_id, cred.cred_id, cred.nome AS fornecedor,"; sql += " (pag.per_comissao + pag.per_comissao_r) AS per_comiss,"; sql += " (pag.valor_comissao_r + pag.valor_comissao) AS valor_comissao, "; sql += " pag.valor_total AS valor_bruto "; sql += " FROM Pagamento_cred pag"; sql += " JOIN Credenciados cred ON cred.cred_id = pag.cred_id"; sql += " WHERE pag.apagado <> 'S'"; sql += " AND cred.cred_id = " + cred_id; if (!ext.TodasEmpresas) { string emps = String.Empty; foreach (string e in ext.EmpresasMarcadas.Keys) emps += "," + e; emps = emps.Substring(1);//ignorar a primeira virgula. sql += " AND (pag.pagamento_cred_id IN (" + emps + ")) "; } else { sql += " AND data_pgto BETWEEN '" + ext.DataIni.ToString("MM/dd/yyyy 00:00:00") + "'"; sql += " AND '" + ext.DataFim.ToString("MM/dd/yyyy 23:59:59") + "'"; } BD BD = new BD(); return BD.GetDataTable(sql, null); }
// Retorna parte de uma string SQL segundo os parametros passados pelo Extrato</returns> private static string ParamsSQL(Extratos ext, string sql) { switch (ext.TipoReceita) { case "R": sql += " AND (COALESCE(cc.receita,'N') = 'S') "; break; case "S": sql += " AND (COALESCE(cc.receita,'N') = 'N') "; break; } switch (ext.TipoConfirma) { case "S": sql += " AND (COALESCE(cc.entreg_nf,'N') = 'S') "; break; case "N": sql += " AND (COALESCE(cc.entreg_nf,'N') = 'N') "; break; } switch (ext.TipoRecebidos) { case "S": sql += " AND (COALESCE(cc.baixa_credenciado,'N') = 'S') "; break; case "N": sql += " AND (COALESCE(cc.baixa_credenciado,'N') = 'N') "; break; } return sql; }
public DataTable RelatorioPorEmpresa(Extratos pExtrato, int pCredenciadoId) { string sql = string.Empty; string sqlfromwhere = string.Empty; sql = " SELECT DISTINCT conv.chapa, conv.titular, emp.empres_id, emp.nome,"; sql += " cc.debito, cc.credito, cc.data, cc.nf, \n"; sql += " (concat(CAST(cc.autorizacao_id AS varchar(10)), \n"; sql += " (CASE WHEN digito < 10 THEN '0'+ CAST(digito AS char(1)) ELSE \n"; sql += " CAST(digito AS char(2)) end))) AS autorizacao, \n"; sql += " cast(debito - credito as decimal(15,2)) saldo \n"; sqlfromwhere = " FROM Contacorrente cc \n"; sqlfromwhere += " JOIN Conveniados conv ON conv.conv_id = cc.conv_id \n"; sqlfromwhere += " JOIN Empresas emp ON conv.empres_id = emp.empres_id \n"; sqlfromwhere += " WHERE cc.cred_id = @credId \n"; sqlfromwhere += " AND (cc.autorizacao_id_canc is null and cc.cancelada = 'N') \n"; if (pExtrato.Tipo.Equals("A")) sqlfromwhere += " AND cc.data BETWEEN @datai AND @dataf \n"; else sqlfromwhere += " AND cc.data_fecha_emp BETWEEN @datai AND @dataf \n"; sqlfromwhere = ParamsSQL(pExtrato, sqlfromwhere); if (!pExtrato.TodasEmpresas) { string emps = String.Empty; foreach (string e in pExtrato.EmpresasMarcadas.Keys) emps += "," + e; emps = emps.Substring(1);//ignorar a primeira virgula. sqlfromwhere += " AND (conv.empres_id IN (" + emps + ") ) "; } sql += sqlfromwhere + " ORDER BY "; if (pExtrato.CampoOrdemEmp != null) sql += pExtrato.CampoOrdemEmp + ","; sql += pExtrato.CampoOrdem; SqlParamsList ps = new SqlParamsList(); ps.Add(new Fields("@credId", pCredenciadoId)); ps.Add(new Fields("@datai", pExtrato.DataIni.ToString("dd/MM/yyyy"))); ps.Add(new Fields("@dataf", pExtrato.DataFim.ToString("dd/MM/yyyy"))); BD BD = new BD(); return BD.GetDataTable(sql, ps); }
// Verifica do Fornecedor(Farmacias) as empresas com movimento no periodo indicado public DataTable CriarEmpresasComMovimento(Extratos pExtrato, int pCredenciadoId) { string sql = " SELECT DISTINCT emp.empres_id, emp.nome"; sql += " FROM Contacorrente cc"; sql += " JOIN Conveniados conv ON conv.conv_id = cc.conv_id"; sql += " JOIN Empresas emp ON conv.empres_id = emp.empres_id"; sql += " WHERE (cc.cred_id = @credId)"; if (pExtrato.Tipo.Equals("A")) sql += " AND cc.data BETWEEN @datai AND @dataf"; else sql += " AND cc.data_fecha_emp BETWEEN @datai AND @dataf"; sql = ParamsSQL(pExtrato, sql) + " ORDER BY emp.nome"; SqlParamsList ps = new SqlParamsList(); ps.Add(new Fields("@credId", pCredenciadoId)); ps.Add(new Fields("@datai", pExtrato.DataIni.ToString("dd/MM/yyyy"))); ps.Add(new Fields("@dataf", pExtrato.DataFim.ToString("dd/MM/yyyy"))); BD BD = new BD(); return BD.GetDataTable(sql, ps); }
// Pega as empresas do Credenciado (Farmacia) // Carrega um novo DataTable para preencher as Empresas do Relatorio de Valores a Receber public DataTable aRecebEmpresa(string empresas, Extratos ext, int cred_id, string pExibirPagto) { StringBuilder sql = new StringBuilder(); sql.Append(" Select coalesce(emp.empres_id,conv.conv_id) as id, fat.fechamento, fat.data_vencimento vencimento, "); sql.Append(" fat.fatura_id, sum(cc.debito-cc.credito) as valor, "); sql.Append(" coalesce(cred_emp_lib.comissao,cred.comissao) per_comiss, "); sql.Append(" sum(cc.debito-cc.credito)/100*coalesce(cred_emp_lib.comissao,cred.comissao) val_comiss, "); sql.Append(" case when coalesce(fat.tipo,'E') = 'E' then emp.nome else conv.titular end as nome, "); sql.Append(" coalesce(emp.empres_id,conv.conv_id) empres_id, 0 pagamento_cred_id "); sql.Append(" from contacorrente cc "); sql.Append(" join fatura fat on fat.fatura_id = cc.fatura_id "); sql.Append(" join credenciados cred on cred.cred_id = cc.cred_id "); if (pExibirPagto == "S") { sql.Append(" join rel_fat_pag_cred rel on rel.fatura_id = fat.fatura_id "); sql.Append(" and rel.cred_id = cc.cred_id and (rel.exibir = 'S')"); } sql.Append(" left join empresas emp on coalesce(fat.tipo,'E') = 'E' and emp.empres_id = fat.id "); sql.Append(" left join conveniados conv on fat.tipo = 'C' and conv.conv_id = fat.id "); sql.Append(" left join cred_emp_lib on cred_emp_lib.cred_id = cc.cred_id "); sql.Append(" and cred_emp_lib.empres_id = coalesce(emp.empres_id,conv.empres_id) "); sql.Append(" where coalesce(cc.pagamento_cred_id,0) = 0 and coalesce(fat.apagado,'N') <> 'S' "); if (ext.TipoRecebidos.Equals("S")) sql.Append(" and ((coalesce(fat.baixada,'N') = 'S') or (coalesce(fat.pre_baixa,'N') = 'S'))"); else if (ext.TipoRecebidos.Equals("N")) sql.Append(" and ((coalesce(fat.baixada,'N') = 'N') or (coalesce(fat.pre_baixa,'N') = 'N'))"); sql.Append(" and (cc.CRED_ID = " + cred_id + ") "); if (ext.EmpresasMarcadas != null && ext.TodasEmpresas == false) sql.Append(" and coalesce(emp.empres_id,conv.conv_id) in (" + empresas + ")"); sql.Append(" group by emp.empres_id, conv.conv_id, cc.cred_id, fat.fechamento, fat.data_vencimento, fat.fatura_id,"); sql.Append(" fat.tipo, conv.titular, emp.nome, cred_emp_lib.comissao, cred.comissao order by cc.cred_id "); BD BD = new BD(); return BD.GetDataTable(sql.ToString(), null); }