Ejemplo n.º 1
0
        // 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));
        }
Ejemplo n.º 2
0
        // 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));
        }
Ejemplo n.º 3
0
        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));
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
        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));
        }
Ejemplo n.º 6
0
        // 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));
        }
Ejemplo n.º 7
0
        // 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));
        }
Ejemplo n.º 8
0
        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));
        }
Ejemplo n.º 9
0
        // 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);
        }
Ejemplo n.º 10
0
        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);
        }
Ejemplo n.º 11
0
        // 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);
        }
Ejemplo n.º 12
0
        // 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);
        }
Ejemplo n.º 13
0
 // 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;
 }
Ejemplo n.º 14
0
        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);
        }
Ejemplo n.º 15
0
        // 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);
        }
Ejemplo n.º 16
0
        // 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);
        }