Exemple #1
0
        //Alterado para SqlServer
        public static DataTable GetFechamentos(bool vzerado, bool baixados, string tipoext, string nfentreg,
                                             string datafecha, string dataini, string datafim, int empres_id,
                                             string chapa, string cartao, string nome, string status, string grupo, string setor)
        {
            int band_id = DALConveniado.GetEmpresBandId(empres_id);
             int qtdLimites = DALConveniado.GetQtdLimites(empres_id);
             string sql = " select CONV.CONV_ID, CONV.CHAPA, CONV.TITULAR, CONV.GRUPO_CONV_EMP, ";
             sql += " CONTACORRENTE.DATA_FECHA_EMP, ";
             sql += " CONTACORRENTE.DATA_VENC_EMP, ";
             sql += " coalesce(sum(CONTACORRENTE.DEBITO - CONTACORRENTE.CREDITO),0) as VALOR "; //<-- ISSO AQUI ERA OQ TAVA ANTES... FOI ALTERADO PRA PODER ADICIONAR OS OUTROS VALORES DOS SALDOS (01/12/2012)
             if (band_id != 999)
             {
               if (qtdLimites >= 1)
               {
               sql += ", (select coalesce(sum (debito - credito),0)" +
                      " from contacorrente cc" +
                      " join credenciados cred on cred.cred_id = cc.cred_id" +
                      " where conv_id = conv.conv_id" +
                      " and receita = 'S'" +
                      " and data_fecha_emp = CONTACORRENTE.DATA_FECHA_EMP" +
                      " and coalesce(cc.entreg_nf,'N') = 'S'" +
                      " and cred.seg_id in (select seg_id" +
                      "        from bandeiras_segmentos bs" +
                      "            where bs.band_id = " + band_id +
                      "               and bs.cod_limite = 1)" +
                      " ) as SALDO_COM_RECEITA_LIM_1," +
                      " (select coalesce(sum (debito - credito),0)" +
                      " from contacorrente cc" +
                      " join credenciados cred on cred.cred_id = cc.cred_id" +
                      " where conv_id = conv.conv_id" +
                      " and receita = 'N'" +
                      " and data_fecha_emp = CONTACORRENTE.DATA_FECHA_EMP" +
                      " and coalesce(cc.entreg_nf, 'N') = 'S' and" +
                      " cred.seg_id in (select seg_id" +
                      "              from bandeiras_segmentos bs" +
                      "             where bs.band_id = " + band_id +
                      "               and bs.cod_limite = 1)" +
                      " ) as SALDO_SEM_RECEITA_LIM_1," +
                      " (select coalesce(sum (debito - credito),0)" +
                      " from contacorrente cc" +
                      " join credenciados cred on cred.cred_id = cc.cred_id" +
                      " where conv_id = conv.conv_id" +
                      " and receita = 'S'" +
                      " and data_fecha_emp = CONTACORRENTE.DATA_FECHA_EMP" +
                      " and coalesce(cc.entreg_nf, 'N') = 'N' and" +
                      " cred.seg_id in (select seg_id" +
                      "				from bandeiras_segmentos bs" +
                      "             where bs.band_id = " + band_id +
                      "              and bs.cod_limite = 1)" +
                      " ) as SALDO_COM_RECEITA_N_CONF_LIM_1," +
                      " (select coalesce(sum (debito - credito),0)" +
                      " from contacorrente cc" +
                      " join credenciados cred on cred.cred_id = cc.cred_id" +
                      " where conv_id = conv.conv_id" +
                      " and receita = 'N'" +
                      " and data_fecha_emp = CONTACORRENTE.DATA_FECHA_EMP" +
                      " and coalesce(cc.entreg_nf, 'N') = 'N' and" +
                      " cred.seg_id in (select seg_id" +
                      "             from bandeiras_segmentos bs" +
                      "             where bs.band_id = " + band_id +
                      "               and bs.cod_limite = 1)" +
                      " ) as SALDO_SEM_RECEITA_N_CONF_LIM_1 ";
               }
               if (qtdLimites >= 2)
               {
               sql += ", (select coalesce(sum (debito - credito),0)" +
                     " from contacorrente cc" +
                     " join credenciados cred on cred.cred_id = cc.cred_id" +
                     " where conv_id = conv.conv_id" +
                     " and receita = 'S'" +
                     " and data_fecha_emp = CONTACORRENTE.DATA_FECHA_EMP" +
                     " and coalesce(cc.entreg_nf,'N') = 'S'" +
                     " and cred.seg_id in (select seg_id" +
                     "        from bandeiras_segmentos bs" +
                     "            where bs.band_id = " + band_id +
                     "               and bs.cod_limite = 2)" +
                     " ) as SALDO_COM_RECEITA_LIM_2," +
                     " (select coalesce(sum (debito - credito),0)" +
                     " from contacorrente cc" +
                     " join credenciados cred on cred.cred_id = cc.cred_id" +
                     " where conv_id = conv.conv_id" +
                     " and receita = 'N'" +
                     " and data_fecha_emp = CONTACORRENTE.DATA_FECHA_EMP" +
                     " and coalesce(cc.entreg_nf, 'N') = 'S' and" +
                     " cred.seg_id in (select seg_id" +
                     "              from bandeiras_segmentos bs" +
                     "             where bs.band_id = " + band_id +
                     "               and bs.cod_limite = 2)" +
                     " ) as SALDO_SEM_RECEITA_LIM_2," +
                     " (select coalesce(sum (debito - credito),0)" +
                     " from contacorrente cc" +
                     " join credenciados cred on cred.cred_id = cc.cred_id" +
                     " where conv_id = conv.conv_id" +
                     " and receita = 'S'" +
                     " and data_fecha_emp = CONTACORRENTE.DATA_FECHA_EMP" +
                     " and coalesce(cc.entreg_nf, 'N') = 'N' and" +
                     " cred.seg_id in (select seg_id" +
                     "				from bandeiras_segmentos bs" +
                     "             where bs.band_id = " + band_id +
                     "              and bs.cod_limite = 2)" +
                     " ) as SALDO_COM_RECEITA_N_CONF_LIM_2," +
                     " (select coalesce(sum (debito - credito),0)" +
                     " from contacorrente cc" +
                     " join credenciados cred on cred.cred_id = cc.cred_id" +
                     " where conv_id = conv.conv_id" +
                     " and receita = 'N'" +
                     " and data_fecha_emp = CONTACORRENTE.DATA_FECHA_EMP" +
                     " and coalesce(cc.entreg_nf, 'N') = 'N' and" +
                     " cred.seg_id in (select seg_id" +
                     "             from bandeiras_segmentos bs" +
                     "             where bs.band_id = " + band_id +
                     "               and bs.cod_limite = 2)" +
                     " ) as SALDO_SEM_RECEITA_N_CONF_LIM_2 ";
               }
               if (qtdLimites >= 3)
               {
               sql += ", (select coalesce(sum (debito - credito),0)" +
                     " from contacorrente cc" +
                     " join credenciados cred on cred.cred_id = cc.cred_id" +
                     " where conv_id = conv.conv_id" +
                     " and receita = 'S'" +
                     " and data_fecha_emp = CONTACORRENTE.DATA_FECHA_EMP" +
                     " and coalesce(cc.entreg_nf,'N') = 'S'" +
                     " and cred.seg_id in (select seg_id" +
                     "        from bandeiras_segmentos bs" +
                     "            where bs.band_id = " + band_id +
                     "               and bs.cod_limite = 3)" +
                     " ) as SALDO_COM_RECEITA_LIM_3," +
                     " (select coalesce(sum (debito - credito),0)" +
                     " from contacorrente cc" +
                     " join credenciados cred on cred.cred_id = cc.cred_id" +
                     " where conv_id = conv.conv_id" +
                     " and receita = 'N'" +
                     " and data_fecha_emp = CONTACORRENTE.DATA_FECHA_EMP" +
                     " and coalesce(cc.entreg_nf, 'N') = 'S' and" +
                     " cred.seg_id in (select seg_id" +
                     "              from bandeiras_segmentos bs" +
                     "             where bs.band_id = " + band_id +
                     "               and bs.cod_limite = 3)" +
                     " ) as SALDO_SEM_RECEITA_LIM_3," +
                     " (select coalesce(sum (debito - credito),0)" +
                     " from contacorrente cc" +
                     " join credenciados cred on cred.cred_id = cc.cred_id" +
                     " where conv_id = conv.conv_id" +
                     " and receita = 'S'" +
                     " and data_fecha_emp = CONTACORRENTE.DATA_FECHA_EMP" +
                     " and coalesce(cc.entreg_nf, 'N') = 'N' and" +
                     " cred.seg_id in (select seg_id" +
                     "				from bandeiras_segmentos bs" +
                     "             where bs.band_id = " + band_id +
                     "              and bs.cod_limite = 3)" +
                     " ) as SALDO_COM_RECEITA_N_CONF_LIM_3," +
                     " (select coalesce(sum (debito - credito),0)" +
                     " from contacorrente cc" +
                     " join credenciados cred on cred.cred_id = cc.cred_id" +
                     " where conv_id = conv.conv_id" +
                     " and receita = 'N'" +
                     " and data_fecha_emp = CONTACORRENTE.DATA_FECHA_EMP" +
                     " and coalesce(cc.entreg_nf, 'N') = 'N' and" +
                     " cred.seg_id in (select seg_id" +
                     "             from bandeiras_segmentos bs" +
                     "             where bs.band_id = " + band_id +
                     "               and bs.cod_limite = 3)" +
                     " ) as SALDO_SEM_RECEITA_N_CONF_LIM_3 ";
               }
               if (qtdLimites >= 4)
               {
               sql += ", (select coalesce(sum (debito - credito),0)" +
                     " from contacorrente cc" +
                     " join credenciados cred on cred.cred_id = cc.cred_id" +
                     " where conv_id = conv.conv_id" +
                     " and receita = 'S'" +
                     " and data_fecha_emp = CONTACORRENTE.DATA_FECHA_EMP" +
                     " and coalesce(cc.entreg_nf,'N') = 'S'" +
                     " and cred.seg_id in (select seg_id" +
                     "        from bandeiras_segmentos bs" +
                     "            where bs.band_id = " + band_id +
                     "               and bs.cod_limite = 4)" +
                     " ) as SALDO_COM_RECEITA_LIM_4," +
                     " (select coalesce(sum (debito - credito),0)" +
                     " from contacorrente cc" +
                     " join credenciados cred on cred.cred_id = cc.cred_id" +
                     " where conv_id = conv.conv_id" +
                     " and receita = 'N'" +
                     " and data_fecha_emp = CONTACORRENTE.DATA_FECHA_EMP" +
                     " and coalesce(cc.entreg_nf, 'N') = 'S' and" +
                     " cred.seg_id in (select seg_id" +
                     "              from bandeiras_segmentos bs" +
                     "             where bs.band_id = " + band_id +
                     "               and bs.cod_limite = 4)" +
                     " ) as SALDO_SEM_RECEITA_LIM_4," +
                     " (select coalesce(sum (debito - credito),0)" +
                     " from contacorrente cc" +
                     " join credenciados cred on cred.cred_id = cc.cred_id" +
                     " where conv_id = conv.conv_id" +
                     " and receita = 'S'" +
                     " and data_fecha_emp = CONTACORRENTE.DATA_FECHA_EMP" +
                     " and coalesce(cc.entreg_nf, 'N') = 'N' and" +
                     " cred.seg_id in (select seg_id" +
                     "				from bandeiras_segmentos bs" +
                     "             where bs.band_id = " + band_id +
                     "              and bs.cod_limite = 4)" +
                     " ) as SALDO_COM_RECEITA_N_CONF_LIM_4," +
                     " (select coalesce(sum (debito - credito),0)" +
                     " from contacorrente cc" +
                     " join credenciados cred on cred.cred_id = cc.cred_id" +
                     " where conv_id = conv.conv_id" +
                     " and receita = 'N'" +
                     " and data_fecha_emp = CONTACORRENTE.DATA_FECHA_EMP" +
                     " and coalesce(cc.entreg_nf, 'N') = 'N' and" +
                     " cred.seg_id in (select seg_id" +
                     "             from bandeiras_segmentos bs" +
                     "             where bs.band_id = " + band_id +
                     "               and bs.cod_limite = 4)" +
                     " ) as SALDO_SEM_RECEITA_N_CONF_LIM_4 ";
               }
               sql += " from CONVENIADOS CONV ";
               sql += (vzerado ? " left " : "") + "join CONTACORRENTE on ( CONV.CONV_ID = CONTACORRENTE.CONV_ID ) ";

               #region Valores Pagos
               if (!baixados)
             sql += " and (COALESCE(CONTACORRENTE.BAIXA_CONVENIADO,'N') <> 'S')";
               #endregion

               #region Tipo de Autorizacao
               switch (nfentreg)
               {
             case "S": sql += " and (COALESCE(CONTACORRENTE.ENTREG_NF,'N') = 'S') "; break;
             case "N": sql += " and (COALESCE(CONTACORRENTE.ENTREG_NF,'N') = 'N') "; break;
               }
               #endregion

               #region Tipo Extrato
               if (tipoext == "F") //Fechamento
             sql += " and (CONTACORRENTE.DATA_FECHA_EMP = '" + Convert.ToDateTime(datafecha).ToString("dd/MM/yyyy") + "')";
               else if (tipoext == "P") //extrato periodo
             sql += " and (CONTACORRENTE.DATA between '" + Convert.ToDateTime(dataini).ToString("dd/MM/yyyy") + "' and '" + Convert.ToDateTime(datafim).ToString("dd/MM/yyyy") + "')";
               #endregion

               sql += " join empresas emp on conv.empres_id = emp.empres_id ";
               sql += " join bandeiras b on b.band_id = emp.band_id ";
               sql += " left join bandeiras_conv bc on conv.conv_id = bc.conv_id ";
             }
             else
             {
               //sql += " coalesce(sum(CONTACORRENTE.DEBITO - CONTACORRENTE.CREDITO),0) as VALOR "; //<-- ISSO AQUI ERA OQ TAVA ANTES... FOI ALTERADO PRA PODER ADICIONAR OS OUTROS VALORES DOS SALDOS (01/12/2012)
               sql += " from CONVENIADOS CONV ";
               sql += (vzerado ? " left " : "") + "join CONTACORRENTE on ( CONV.CONV_ID = CONTACORRENTE.CONV_ID ) ";

               #region Valores Pagos
               if (!baixados)
             sql += " and (COALESCE(CONTACORRENTE.BAIXA_CONVENIADO,'N') <> 'S')";
               #endregion

               #region Tipo de Autorizacao
               switch (nfentreg)
               {
             case "S": sql += " and (COALESCE(CONTACORRENTE.ENTREG_NF,'N') = 'S') "; break;
             case "N": sql += " and (COALESCE(CONTACORRENTE.ENTREG_NF,'N') = 'N') "; break;
               }
               #endregion

               #region Tipo Extrato

               if (tipoext == "F") //Fechamento
             sql += " and (CONTACORRENTE.DATA_FECHA_EMP = '" + Convert.ToDateTime(datafecha).ToString("dd/MM/yyyy") + "')";
               else if (tipoext == "P") //extrato periodo
             sql += " and (CONTACORRENTE.DATA between '" + Convert.ToDateTime(dataini).ToString("dd/MM/yyyy") + "' and '" + Convert.ToDateTime(datafim).ToString("dd/MM/yyyy") + "')";
               #endregion

             }
             sql += " where (CONV.APAGADO <> 'S')";
             sql += " and (CONV.EMPRES_ID = " + empres_id + ")";
             #region Conveniado

             netUtil.Funcoes funcoes = new netUtil.Funcoes();

             if (grupo != "0")
            sql += " and conv.grupo_conv_emp=" + grupo;
             if (setor != "0")
            sql += " and conv.setor = '" + setor + "'";
             if (funcoes.SoNumero(chapa) != "")
            sql += " and conv.chapa = " + funcoes.SoNumero(chapa);
             else
            if (funcoes.SoNumero(cartao) != "") //procura pelo cartao
            {
               if ((cartao.Length == 11) && (Convert.ToInt32(cartao.Substring(9, 2)) == funcoes.DigitoCartao(Convert.ToInt32(cartao.Substring(0, 9)))))
                  sql += " and conv.conv_id = (SELECT conv_id FROM cartoes WHERE codigo = " + cartao.Substring(0, 9) + ")";
               else //cartao de importação
                  sql += " and conv.conv_id = (SELECT top 1 conv_id FROM cartoes WHERE apagado <> 'S' AND titular = 'S' AND codcartimp = '" + cartao + "')";
            }
            else
               if (nome != "")//procura pelo Nome
               {
                  sql += " and (titular like '" + (nome.Length > 3 ? "%" : "") + nome.ToUpper() + "%')";
               }
             #endregion

             #region Status do Conveniado
             switch (status)
             {
            case "L": sql += " and conv.liberado = 'S' "; break;
            case "B": sql += " and conv.liberado <> 'S' "; break;
             }
             #endregion

             //if (band_id != 999)
             //{
             //  string campos = "";
             //  if (qtdLimites >= 1)
             //     campos = ", SALDO_COM_RECEITA_LIM_1, SALDO_SEM_RECEITA_LIM_1, SALDO_COM_RECEITA_N_CONF_LIM_1, SALDO_SEM_RECEITA_N_CONF_LIM_1 ";
             //  if (qtdLimites >= 2)
             //    campos += ", SALDO_COM_RECEITA_LIM_2, SALDO_SEM_RECEITA_LIM_2, SALDO_COM_RECEITA_N_CONF_LIM_2, SALDO_SEM_RECEITA_N_CONF_LIM_2 ";
             //  if (qtdLimites >= 3)
             //    campos += ", SALDO_COM_RECEITA_LIM_3, SALDO_SEM_RECEITA_LIM_3, SALDO_COM_RECEITA_N_CONF_LIM_3, SALDO_SEM_RECEITA_N_CONF_LIM_3 ";
             //  if (qtdLimites >= 4)
             //    campos += ", SALDO_COM_RECEITA_LIM_4, SALDO_SEM_RECEITA_LIM_4, SALDO_COM_RECEITA_N_CONF_LIM_4, SALDO_SEM_RECEITA_N_CONF_LIM_4 ";
             //  sql += " group by CONTACORRENTE.DATA_FECHA_EMP, CONV.TITULAR, CONV.CHAPA, CONTACORRENTE.DATA_VENC_EMP, CONV.CONV_ID, CONV.GRUPO_CONV_EMP " + campos;
             //}
             //else
               sql += " group by CONTACORRENTE.DATA_FECHA_EMP, CONV.TITULAR, CONV.CHAPA, CONTACORRENTE.DATA_VENC_EMP, CONV.CONV_ID, CONV.GRUPO_CONV_EMP ";
             sql += "order by CONV.TITULAR";

             BD BD = new BD();
             return BD.GetDataTable(sql, null);
        }
        public static DataTable GetFechamentos(bool vzerado, bool baixados, string tipoext, string nfentreg,
                                             string datafecha, string dataini, string datafim, int empres_id,
                                             string chapa, string cartao, string nome, string status, string grupo)
        {
            string sql = " select CONVENIADOS.CONV_ID, CONVENIADOS.CHAPA, CONVENIADOS.TITULAR, CONVENIADOS.GRUPO_CONV_EMP, ";
             sql += " CONTACORRENTE.DATA_FECHA_EMP, ";
             sql += " CONTACORRENTE.DATA_VENC_EMP, ";
             sql += " coalesce(CONTACORRENTE.RECEITA,'N') AS RECEITA, ";
             sql += " coalesce(sum(CONTACORRENTE.DEBITO - CONTACORRENTE.CREDITO),0) as VALOR ";
             sql += " from CONVENIADOS  ";
             sql += (vzerado ? " left " : "") + "join CONTACORRENTE on ( CONVENIADOS.CONV_ID = CONTACORRENTE.CONV_ID ) ";

             #region Valores Pagos
             if (!baixados)
            sql += " and (COALESCE(CONTACORRENTE.BAIXA_CONVENIADO,'N') <> 'S')";
             #endregion

             #region Tipo de Autorizacao
             switch (nfentreg)
             {
            case "S": sql += " and (COALESCE(CONTACORRENTE.ENTREG_NF,'N') = 'S') "; break;
            case "N": sql += " and (COALESCE(CONTACORRENTE.ENTREG_NF,'N') = 'N') "; break;
             }
             #endregion

             #region Tipo Extrato

             if (tipoext == "F") //Fechamento
            sql += " and (CONTACORRENTE.DATA_FECHA_EMP = '" + Convert.ToDateTime(datafecha).ToString("MM/dd/yyyy") + "')";
             else if (tipoext == "P") //extrato periodo
            sql += " and (CONTACORRENTE.DATA between '" + Convert.ToDateTime(dataini).ToString("MM/dd/yyyy") + "' and '" + Convert.ToDateTime(datafim).ToString("MM/dd/yyyy") + "')";
             #endregion

             sql += " where (CONVENIADOS.APAGADO <> 'S')";
             sql += " and (CONVENIADOS.EMPRES_ID = " + empres_id + ")";

             #region Conveniado

             netUtil.Funcoes funcoes = new netUtil.Funcoes();

             if (grupo != "0")
            sql += " and conveniados.grupo_conv_emp=" + grupo;

             if (funcoes.SoNumero(chapa) != "")
            sql += " and conveniados.chapa = " + funcoes.SoNumero(chapa);
             else
            if (funcoes.SoNumero(cartao) != "") //procura pelo cartao
            {
               if ((cartao.Length == 11) && (Convert.ToInt32(cartao.Substring(9, 2)) == funcoes.DigitoCartao(Convert.ToInt32(cartao.Substring(0, 9)))))
                  sql += " and conveniados.conv_id = (SELECT conv_id FROM cartoes WHERE codigo = " + cartao.Substring(0, 9) + ")";
               else //cartao de importação
                  sql += " and conveniados.conv_id = (SELECT FIRST 1 conv_id FROM cartoes WHERE apagado <> 'S' AND titular = 'S' AND codcartimp = '" + cartao + "')";
            }
            else
               if (nome != "")//procura pelo Nome
               {
                  sql += " and (titular like '" + (nome.Length > 3 ? "%" : "") + nome.ToUpper() + "%')";
               }
             #endregion

             #region Status do Conveniado
             switch (status)
             {
            case "L": sql += " and conveniados.liberado = 'S' "; break;
            case "B": sql += " and conveniados.liberado <> 'S' "; break;
             }
             #endregion

             sql += " group by CONTACORRENTE.DATA_FECHA_EMP, CONVENIADOS.TITULAR, CONVENIADOS.CHAPA, CONTACORRENTE.DATA_VENC_EMP, CONVENIADOS.CONV_ID, CONVENIADOS.GRUPO_CONV_EMP, CONTACORRENTE.RECEITA ";
             sql += "order by CONVENIADOS.TITULAR";

             BD BD = new BD();
             return BD.GetDataTable(sql, null);
        }
Exemple #3
0
        //Alterado para SqlServer
        public static DataTable GetFechamentos(bool vzerado, bool baixados, string tipoext, string nfentreg,
                                               string datafecha, string dataini, string datafim, int empres_id,
                                               string chapa, string cartao, string nome, string status, string grupo, string setor)
        {
            int    band_id    = DALConveniado.GetEmpresBandId(empres_id);
            int    qtdLimites = DALConveniado.GetQtdLimites(empres_id);
            string sql        = " select CONV.CONV_ID, CONV.CHAPA, CONV.TITULAR, CONV.GRUPO_CONV_EMP, ";

            sql += " CONTACORRENTE.DATA_FECHA_EMP, ";
            sql += " CONTACORRENTE.DATA_VENC_EMP, ";
            sql += " coalesce(sum(CONTACORRENTE.DEBITO - CONTACORRENTE.CREDITO),0) as VALOR "; //<-- ISSO AQUI ERA OQ TAVA ANTES... FOI ALTERADO PRA PODER ADICIONAR OS OUTROS VALORES DOS SALDOS (01/12/2012)
            if (band_id != 999)
            {
                if (qtdLimites >= 1)
                {
                    sql += ", (select coalesce(sum (debito - credito),0)" +
                           " from contacorrente cc" +
                           " join credenciados cred on cred.cred_id = cc.cred_id" +
                           " where conv_id = conv.conv_id" +
                           " and receita = 'S'" +
                           " and data_fecha_emp = CONTACORRENTE.DATA_FECHA_EMP" +
                           " and coalesce(cc.entreg_nf,'N') = 'S'" +
                           " and cred.seg_id in (select seg_id" +
                           "        from bandeiras_segmentos bs" +
                           "            where bs.band_id = " + band_id +
                           "               and bs.cod_limite = 1)" +
                           " ) as SALDO_COM_RECEITA_LIM_1," +
                           " (select coalesce(sum (debito - credito),0)" +
                           " from contacorrente cc" +
                           " join credenciados cred on cred.cred_id = cc.cred_id" +
                           " where conv_id = conv.conv_id" +
                           " and receita = 'N'" +
                           " and data_fecha_emp = CONTACORRENTE.DATA_FECHA_EMP" +
                           " and coalesce(cc.entreg_nf, 'N') = 'S' and" +
                           " cred.seg_id in (select seg_id" +
                           "              from bandeiras_segmentos bs" +
                           "             where bs.band_id = " + band_id +
                           "               and bs.cod_limite = 1)" +
                           " ) as SALDO_SEM_RECEITA_LIM_1," +
                           " (select coalesce(sum (debito - credito),0)" +
                           " from contacorrente cc" +
                           " join credenciados cred on cred.cred_id = cc.cred_id" +
                           " where conv_id = conv.conv_id" +
                           " and receita = 'S'" +
                           " and data_fecha_emp = CONTACORRENTE.DATA_FECHA_EMP" +
                           " and coalesce(cc.entreg_nf, 'N') = 'N' and" +
                           " cred.seg_id in (select seg_id" +
                           "				from bandeiras_segmentos bs"+
                           "             where bs.band_id = " + band_id +
                           "              and bs.cod_limite = 1)" +
                           " ) as SALDO_COM_RECEITA_N_CONF_LIM_1," +
                           " (select coalesce(sum (debito - credito),0)" +
                           " from contacorrente cc" +
                           " join credenciados cred on cred.cred_id = cc.cred_id" +
                           " where conv_id = conv.conv_id" +
                           " and receita = 'N'" +
                           " and data_fecha_emp = CONTACORRENTE.DATA_FECHA_EMP" +
                           " and coalesce(cc.entreg_nf, 'N') = 'N' and" +
                           " cred.seg_id in (select seg_id" +
                           "             from bandeiras_segmentos bs" +
                           "             where bs.band_id = " + band_id +
                           "               and bs.cod_limite = 1)" +
                           " ) as SALDO_SEM_RECEITA_N_CONF_LIM_1 ";
                }
                if (qtdLimites >= 2)
                {
                    sql += ", (select coalesce(sum (debito - credito),0)" +
                           " from contacorrente cc" +
                           " join credenciados cred on cred.cred_id = cc.cred_id" +
                           " where conv_id = conv.conv_id" +
                           " and receita = 'S'" +
                           " and data_fecha_emp = CONTACORRENTE.DATA_FECHA_EMP" +
                           " and coalesce(cc.entreg_nf,'N') = 'S'" +
                           " and cred.seg_id in (select seg_id" +
                           "        from bandeiras_segmentos bs" +
                           "            where bs.band_id = " + band_id +
                           "               and bs.cod_limite = 2)" +
                           " ) as SALDO_COM_RECEITA_LIM_2," +
                           " (select coalesce(sum (debito - credito),0)" +
                           " from contacorrente cc" +
                           " join credenciados cred on cred.cred_id = cc.cred_id" +
                           " where conv_id = conv.conv_id" +
                           " and receita = 'N'" +
                           " and data_fecha_emp = CONTACORRENTE.DATA_FECHA_EMP" +
                           " and coalesce(cc.entreg_nf, 'N') = 'S' and" +
                           " cred.seg_id in (select seg_id" +
                           "              from bandeiras_segmentos bs" +
                           "             where bs.band_id = " + band_id +
                           "               and bs.cod_limite = 2)" +
                           " ) as SALDO_SEM_RECEITA_LIM_2," +
                           " (select coalesce(sum (debito - credito),0)" +
                           " from contacorrente cc" +
                           " join credenciados cred on cred.cred_id = cc.cred_id" +
                           " where conv_id = conv.conv_id" +
                           " and receita = 'S'" +
                           " and data_fecha_emp = CONTACORRENTE.DATA_FECHA_EMP" +
                           " and coalesce(cc.entreg_nf, 'N') = 'N' and" +
                           " cred.seg_id in (select seg_id" +
                           "				from bandeiras_segmentos bs"+
                           "             where bs.band_id = " + band_id +
                           "              and bs.cod_limite = 2)" +
                           " ) as SALDO_COM_RECEITA_N_CONF_LIM_2," +
                           " (select coalesce(sum (debito - credito),0)" +
                           " from contacorrente cc" +
                           " join credenciados cred on cred.cred_id = cc.cred_id" +
                           " where conv_id = conv.conv_id" +
                           " and receita = 'N'" +
                           " and data_fecha_emp = CONTACORRENTE.DATA_FECHA_EMP" +
                           " and coalesce(cc.entreg_nf, 'N') = 'N' and" +
                           " cred.seg_id in (select seg_id" +
                           "             from bandeiras_segmentos bs" +
                           "             where bs.band_id = " + band_id +
                           "               and bs.cod_limite = 2)" +
                           " ) as SALDO_SEM_RECEITA_N_CONF_LIM_2 ";
                }
                if (qtdLimites >= 3)
                {
                    sql += ", (select coalesce(sum (debito - credito),0)" +
                           " from contacorrente cc" +
                           " join credenciados cred on cred.cred_id = cc.cred_id" +
                           " where conv_id = conv.conv_id" +
                           " and receita = 'S'" +
                           " and data_fecha_emp = CONTACORRENTE.DATA_FECHA_EMP" +
                           " and coalesce(cc.entreg_nf,'N') = 'S'" +
                           " and cred.seg_id in (select seg_id" +
                           "        from bandeiras_segmentos bs" +
                           "            where bs.band_id = " + band_id +
                           "               and bs.cod_limite = 3)" +
                           " ) as SALDO_COM_RECEITA_LIM_3," +
                           " (select coalesce(sum (debito - credito),0)" +
                           " from contacorrente cc" +
                           " join credenciados cred on cred.cred_id = cc.cred_id" +
                           " where conv_id = conv.conv_id" +
                           " and receita = 'N'" +
                           " and data_fecha_emp = CONTACORRENTE.DATA_FECHA_EMP" +
                           " and coalesce(cc.entreg_nf, 'N') = 'S' and" +
                           " cred.seg_id in (select seg_id" +
                           "              from bandeiras_segmentos bs" +
                           "             where bs.band_id = " + band_id +
                           "               and bs.cod_limite = 3)" +
                           " ) as SALDO_SEM_RECEITA_LIM_3," +
                           " (select coalesce(sum (debito - credito),0)" +
                           " from contacorrente cc" +
                           " join credenciados cred on cred.cred_id = cc.cred_id" +
                           " where conv_id = conv.conv_id" +
                           " and receita = 'S'" +
                           " and data_fecha_emp = CONTACORRENTE.DATA_FECHA_EMP" +
                           " and coalesce(cc.entreg_nf, 'N') = 'N' and" +
                           " cred.seg_id in (select seg_id" +
                           "				from bandeiras_segmentos bs"+
                           "             where bs.band_id = " + band_id +
                           "              and bs.cod_limite = 3)" +
                           " ) as SALDO_COM_RECEITA_N_CONF_LIM_3," +
                           " (select coalesce(sum (debito - credito),0)" +
                           " from contacorrente cc" +
                           " join credenciados cred on cred.cred_id = cc.cred_id" +
                           " where conv_id = conv.conv_id" +
                           " and receita = 'N'" +
                           " and data_fecha_emp = CONTACORRENTE.DATA_FECHA_EMP" +
                           " and coalesce(cc.entreg_nf, 'N') = 'N' and" +
                           " cred.seg_id in (select seg_id" +
                           "             from bandeiras_segmentos bs" +
                           "             where bs.band_id = " + band_id +
                           "               and bs.cod_limite = 3)" +
                           " ) as SALDO_SEM_RECEITA_N_CONF_LIM_3 ";
                }
                if (qtdLimites >= 4)
                {
                    sql += ", (select coalesce(sum (debito - credito),0)" +
                           " from contacorrente cc" +
                           " join credenciados cred on cred.cred_id = cc.cred_id" +
                           " where conv_id = conv.conv_id" +
                           " and receita = 'S'" +
                           " and data_fecha_emp = CONTACORRENTE.DATA_FECHA_EMP" +
                           " and coalesce(cc.entreg_nf,'N') = 'S'" +
                           " and cred.seg_id in (select seg_id" +
                           "        from bandeiras_segmentos bs" +
                           "            where bs.band_id = " + band_id +
                           "               and bs.cod_limite = 4)" +
                           " ) as SALDO_COM_RECEITA_LIM_4," +
                           " (select coalesce(sum (debito - credito),0)" +
                           " from contacorrente cc" +
                           " join credenciados cred on cred.cred_id = cc.cred_id" +
                           " where conv_id = conv.conv_id" +
                           " and receita = 'N'" +
                           " and data_fecha_emp = CONTACORRENTE.DATA_FECHA_EMP" +
                           " and coalesce(cc.entreg_nf, 'N') = 'S' and" +
                           " cred.seg_id in (select seg_id" +
                           "              from bandeiras_segmentos bs" +
                           "             where bs.band_id = " + band_id +
                           "               and bs.cod_limite = 4)" +
                           " ) as SALDO_SEM_RECEITA_LIM_4," +
                           " (select coalesce(sum (debito - credito),0)" +
                           " from contacorrente cc" +
                           " join credenciados cred on cred.cred_id = cc.cred_id" +
                           " where conv_id = conv.conv_id" +
                           " and receita = 'S'" +
                           " and data_fecha_emp = CONTACORRENTE.DATA_FECHA_EMP" +
                           " and coalesce(cc.entreg_nf, 'N') = 'N' and" +
                           " cred.seg_id in (select seg_id" +
                           "				from bandeiras_segmentos bs"+
                           "             where bs.band_id = " + band_id +
                           "              and bs.cod_limite = 4)" +
                           " ) as SALDO_COM_RECEITA_N_CONF_LIM_4," +
                           " (select coalesce(sum (debito - credito),0)" +
                           " from contacorrente cc" +
                           " join credenciados cred on cred.cred_id = cc.cred_id" +
                           " where conv_id = conv.conv_id" +
                           " and receita = 'N'" +
                           " and data_fecha_emp = CONTACORRENTE.DATA_FECHA_EMP" +
                           " and coalesce(cc.entreg_nf, 'N') = 'N' and" +
                           " cred.seg_id in (select seg_id" +
                           "             from bandeiras_segmentos bs" +
                           "             where bs.band_id = " + band_id +
                           "               and bs.cod_limite = 4)" +
                           " ) as SALDO_SEM_RECEITA_N_CONF_LIM_4 ";
                }
                sql += " from CONVENIADOS CONV ";
                sql += (vzerado ? " left " : "") + "join CONTACORRENTE on ( CONV.CONV_ID = CONTACORRENTE.CONV_ID ) ";

                #region Valores Pagos
                if (!baixados)
                {
                    sql += " and (COALESCE(CONTACORRENTE.BAIXA_CONVENIADO,'N') <> 'S')";
                }
                #endregion

                #region Tipo de Autorizacao
                switch (nfentreg)
                {
                case "S": sql += " and (COALESCE(CONTACORRENTE.ENTREG_NF,'N') = 'S') "; break;

                case "N": sql += " and (COALESCE(CONTACORRENTE.ENTREG_NF,'N') = 'N') "; break;
                }
                #endregion

                #region Tipo Extrato
                if (tipoext == "F") //Fechamento
                {
                    sql += " and (CONTACORRENTE.DATA_FECHA_EMP = '" + Convert.ToDateTime(datafecha).ToString("dd/MM/yyyy") + "')";
                }
                else if (tipoext == "P") //extrato periodo
                {
                    sql += " and (CONTACORRENTE.DATA between '" + Convert.ToDateTime(dataini).ToString("dd/MM/yyyy") + "' and '" + Convert.ToDateTime(datafim).ToString("dd/MM/yyyy") + "')";
                }
                #endregion

                sql += " join empresas emp on conv.empres_id = emp.empres_id ";
                sql += " join bandeiras b on b.band_id = emp.band_id ";
                sql += " left join bandeiras_conv bc on conv.conv_id = bc.conv_id ";
            }
            else
            {
                //sql += " coalesce(sum(CONTACORRENTE.DEBITO - CONTACORRENTE.CREDITO),0) as VALOR "; //<-- ISSO AQUI ERA OQ TAVA ANTES... FOI ALTERADO PRA PODER ADICIONAR OS OUTROS VALORES DOS SALDOS (01/12/2012)
                sql += " from CONVENIADOS CONV ";
                sql += (vzerado ? " left " : "") + "join CONTACORRENTE on ( CONV.CONV_ID = CONTACORRENTE.CONV_ID ) ";

                #region Valores Pagos
                if (!baixados)
                {
                    sql += " and (COALESCE(CONTACORRENTE.BAIXA_CONVENIADO,'N') <> 'S')";
                }
                #endregion

                #region Tipo de Autorizacao
                switch (nfentreg)
                {
                case "S": sql += " and (COALESCE(CONTACORRENTE.ENTREG_NF,'N') = 'S') "; break;

                case "N": sql += " and (COALESCE(CONTACORRENTE.ENTREG_NF,'N') = 'N') "; break;
                }
                #endregion

                #region Tipo Extrato

                if (tipoext == "F") //Fechamento
                {
                    sql += " and (CONTACORRENTE.DATA_FECHA_EMP = '" + Convert.ToDateTime(datafecha).ToString("dd/MM/yyyy") + "')";
                }
                else if (tipoext == "P") //extrato periodo
                {
                    sql += " and (CONTACORRENTE.DATA between '" + Convert.ToDateTime(dataini).ToString("dd/MM/yyyy") + "' and '" + Convert.ToDateTime(datafim).ToString("dd/MM/yyyy") + "')";
                }
                #endregion
            }
            sql += " where (CONV.APAGADO <> 'S')";
            sql += " and (CONV.EMPRES_ID = " + empres_id + ")";
            #region Conveniado

            netUtil.Funcoes funcoes = new netUtil.Funcoes();

            if (grupo != "0")
            {
                sql += " and conv.grupo_conv_emp=" + grupo;
            }
            if (setor != "0")
            {
                sql += " and conv.setor = '" + setor + "'";
            }
            if (funcoes.SoNumero(chapa) != "")
            {
                sql += " and conv.chapa = " + funcoes.SoNumero(chapa);
            }
            else
            if (funcoes.SoNumero(cartao) != "") //procura pelo cartao
            {
                if ((cartao.Length == 11) && (Convert.ToInt32(cartao.Substring(9, 2)) == funcoes.DigitoCartao(Convert.ToInt32(cartao.Substring(0, 9)))))
                {
                    sql += " and conv.conv_id = (SELECT conv_id FROM cartoes WHERE codigo = " + cartao.Substring(0, 9) + ")";
                }
                else //cartao de importação
                {
                    sql += " and conv.conv_id = (SELECT top 1 conv_id FROM cartoes WHERE apagado <> 'S' AND titular = 'S' AND codcartimp = '" + cartao + "')";
                }
            }
            else
            if (nome != "")   //procura pelo Nome
            {
                sql += " and (titular like '" + (nome.Length > 3 ? "%" : "") + nome.ToUpper() + "%')";
            }
            #endregion

            #region Status do Conveniado
            switch (status)
            {
            case "L": sql += " and conv.liberado = 'S' "; break;

            case "B": sql += " and conv.liberado <> 'S' "; break;
            }
            #endregion

            //if (band_id != 999)
            //{
            //  string campos = "";
            //  if (qtdLimites >= 1)
            //     campos = ", SALDO_COM_RECEITA_LIM_1, SALDO_SEM_RECEITA_LIM_1, SALDO_COM_RECEITA_N_CONF_LIM_1, SALDO_SEM_RECEITA_N_CONF_LIM_1 ";
            //  if (qtdLimites >= 2)
            //    campos += ", SALDO_COM_RECEITA_LIM_2, SALDO_SEM_RECEITA_LIM_2, SALDO_COM_RECEITA_N_CONF_LIM_2, SALDO_SEM_RECEITA_N_CONF_LIM_2 ";
            //  if (qtdLimites >= 3)
            //    campos += ", SALDO_COM_RECEITA_LIM_3, SALDO_SEM_RECEITA_LIM_3, SALDO_COM_RECEITA_N_CONF_LIM_3, SALDO_SEM_RECEITA_N_CONF_LIM_3 ";
            //  if (qtdLimites >= 4)
            //    campos += ", SALDO_COM_RECEITA_LIM_4, SALDO_SEM_RECEITA_LIM_4, SALDO_COM_RECEITA_N_CONF_LIM_4, SALDO_SEM_RECEITA_N_CONF_LIM_4 ";
            //  sql += " group by CONTACORRENTE.DATA_FECHA_EMP, CONV.TITULAR, CONV.CHAPA, CONTACORRENTE.DATA_VENC_EMP, CONV.CONV_ID, CONV.GRUPO_CONV_EMP " + campos;
            //}
            //else
            sql += " group by CONTACORRENTE.DATA_FECHA_EMP, CONV.TITULAR, CONV.CHAPA, CONTACORRENTE.DATA_VENC_EMP, CONV.CONV_ID, CONV.GRUPO_CONV_EMP ";
            sql += "order by CONV.TITULAR";

            BD BD = new BD();
            return(BD.GetDataTable(sql, null));
        }
Exemple #4
0
        public static DataTable GetFechamentos(bool vzerado, bool baixados, string tipoext, string nfentreg,
                                               string datafecha, string dataini, string datafim, int empres_id,
                                               string chapa, string cartao, string nome, string status, string grupo)
        {
            string sql = " select CONVENIADOS.CONV_ID, CONVENIADOS.CHAPA, CONVENIADOS.TITULAR, CONVENIADOS.GRUPO_CONV_EMP, ";

            sql += " CONTACORRENTE.DATA_FECHA_EMP, ";
            sql += " CONTACORRENTE.DATA_VENC_EMP, ";
            sql += " coalesce(CONTACORRENTE.RECEITA,'N') AS RECEITA, ";
            sql += " coalesce(sum(CONTACORRENTE.DEBITO - CONTACORRENTE.CREDITO),0) as VALOR ";
            sql += " from CONVENIADOS  ";
            sql += (vzerado ? " left " : "") + "join CONTACORRENTE on ( CONVENIADOS.CONV_ID = CONTACORRENTE.CONV_ID ) ";

            #region Valores Pagos
            if (!baixados)
            {
                sql += " and (COALESCE(CONTACORRENTE.BAIXA_CONVENIADO,'N') <> 'S')";
            }
            #endregion

            #region Tipo de Autorizacao
            switch (nfentreg)
            {
            case "S": sql += " and (COALESCE(CONTACORRENTE.ENTREG_NF,'N') = 'S') "; break;

            case "N": sql += " and (COALESCE(CONTACORRENTE.ENTREG_NF,'N') = 'N') "; break;
            }
            #endregion

            #region Tipo Extrato

            if (tipoext == "F") //Fechamento
            {
                sql += " and (CONTACORRENTE.DATA_FECHA_EMP = '" + Convert.ToDateTime(datafecha).ToString("MM/dd/yyyy") + "')";
            }
            else if (tipoext == "P") //extrato periodo
            {
                sql += " and (CONTACORRENTE.DATA between '" + Convert.ToDateTime(dataini).ToString("MM/dd/yyyy") + "' and '" + Convert.ToDateTime(datafim).ToString("MM/dd/yyyy") + "')";
            }
            #endregion

            sql += " where (CONVENIADOS.APAGADO <> 'S')";
            sql += " and (CONVENIADOS.EMPRES_ID = " + empres_id + ")";

            #region Conveniado

            netUtil.Funcoes funcoes = new netUtil.Funcoes();

            if (grupo != "0")
            {
                sql += " and conveniados.grupo_conv_emp=" + grupo;
            }

            if (funcoes.SoNumero(chapa) != "")
            {
                sql += " and conveniados.chapa = " + funcoes.SoNumero(chapa);
            }
            else
            if (funcoes.SoNumero(cartao) != "") //procura pelo cartao
            {
                if ((cartao.Length == 11) && (Convert.ToInt32(cartao.Substring(9, 2)) == funcoes.DigitoCartao(Convert.ToInt32(cartao.Substring(0, 9)))))
                {
                    sql += " and conveniados.conv_id = (SELECT conv_id FROM cartoes WHERE codigo = " + cartao.Substring(0, 9) + ")";
                }
                else //cartao de importação
                {
                    sql += " and conveniados.conv_id = (SELECT FIRST 1 conv_id FROM cartoes WHERE apagado <> 'S' AND titular = 'S' AND codcartimp = '" + cartao + "')";
                }
            }
            else
            if (nome != "")   //procura pelo Nome
            {
                sql += " and (titular like '" + (nome.Length > 3 ? "%" : "") + nome.ToUpper() + "%')";
            }
            #endregion

            #region Status do Conveniado
            switch (status)
            {
            case "L": sql += " and conveniados.liberado = 'S' "; break;

            case "B": sql += " and conveniados.liberado <> 'S' "; break;
            }
            #endregion

            sql += " group by CONTACORRENTE.DATA_FECHA_EMP, CONVENIADOS.TITULAR, CONVENIADOS.CHAPA, CONTACORRENTE.DATA_VENC_EMP, CONVENIADOS.CONV_ID, CONVENIADOS.GRUPO_CONV_EMP, CONTACORRENTE.RECEITA ";
            sql += "order by CONVENIADOS.TITULAR";

            BD BD = new BD();
            return(BD.GetDataTable(sql, null));
        }