Example #1
0
        public dynamic GetPreco([FromUri] int PRODUTO = 0, DateTime?DATA = null, string CEMP = "0", int CONDICAO_PAGAMENTO = 0, int COD_CLIENTE = 0)
        {
            string pdata = "01.01.2000";

            if (DATA != null)
            {
                pdata = DATA.Value.ToUniversalTime().ToShortDateString();
                pdata = pdata.Replace("/", ".");
            }

            double PAVI = 0;
            var    sql  = new FuncoesBanco(db);
            string x    = " SELECT PAVI, CLIENTE FROM SP_LISTA_PRECO (" + PRODUTO
                          + ", '" + pdata + "', '" + CEMP + "', " + CONDICAO_PAGAMENTO + ", " + COD_CLIENTE + ") ";

            List <dynamic> MyList = sql.CollectionFromSql(x,
                                                          new Dictionary <string, object> {
            }).ToList();

            foreach (dynamic item in MyList)
            {
                PAVI = item.PAVI;
                if (item.CLIENTE == "S")
                {
                    PAVI = item.PAVI;
                    break;
                }
            }

            return(PAVI);
        }
        public IHttpActionResult PedidoMesa([FromUri] Pedido mesa)
        {
            Pedido item = new Pedido();

            item.Mesa = mesa.id;
            item.id   = 0;

            FuncoesBanco f = new FuncoesBanco(dblocal);

            List <dynamic> dt = f.CollectionFromSql("select first(1) PRVDICOD, VENDICOD, PRVDN2TOTITENS, CLIENTEOBS from prevenda where mesaicod = "
                                                    + mesa.id + " order by PRVDICOD desc ",
                                                    new Dictionary <string, object> {
            }).ToList();

            foreach (dynamic d in dt)
            {
                item.id     = Convert.ToInt32(d.PRVDICOD);
                item.CodUsr = Convert.ToInt32(d.VENDICOD);
                item.Total  = Convert.ToDouble(d.PRVDN2TOTITENS);
                item.OBS    = d.CLIENTEOBS;

                List <dynamic> lista = f.CollectionFromSql(
                    "select a.PRODICOD,a.PVITN3QTD,a.PVITN3VLRUNIT, b.proda60descr, b.grupicod "
                    + " from prevendaitem a inner join produto b on b.prodicod = a.prodicod "
                    + " where a.PRVDICOD = " + item.id,
                    new Dictionary <string, object> {
                }).ToList();

                item.Produtos = lista;
            }

            if (item.id == 0)
            {
                item = null;
            }

            return(Ok(item));
        }
        private void GetDadosLigacao(int codigo)
        {
            var x = "SELECT a.CODIGO, a.FONE1, coalesce(a.DESC_FONE1, c.DESC_FONE1) as DESC_FONE1, "
                    + " coalesce(a.DESC_FONE2, c.DESC_FONE2) as DESC_FONE2, coalesce(a.DESC_FONE3, c.DESC_FONE3) as DESC_FONE3, "
                    + " a.FONE2, a.FONE3, a.CLIENTE, a.OPERADOR, a.CAMPANHA, a.DT_AGENDAMENTO, a.OPERADOR_LIGACAO, a.AGENDA, a.ORDEM, "
                    + " b.PRIORIDADE, b.PAUSADA, c.ESTADO FROM campanhas_clientes a inner join campanhas b on b.CODIGO = a.CAMPANHA "
                    + " inner join clientes c on c.CODIGO = a.CLIENTE WHERE a.CODIGO = " + codigo.ToString();

            List <dynamic> MyList = funcdb.CollectionFromSql(x,
                                                             new Dictionary <string, object> {
            }).ToList();

            retorno.dadosLigacao = MyList;
        }
Example #4
0
        private void GetValores(int id, DateTime?datainicial, DateTime?datafinal)
        {
            if (datainicial == null)
            {
                datainicial = DateTime.Now;
            }

            if (datafinal == null)
            {
                datafinal = DateTime.Now;
            }

            var x = " select (AVG(XX.PRODUTIVIDADE)) PRODUTIVIDADE, SUM(XX.DISCADAS) DISCADAS, "
                    + " SUM(XX.CONTATOS) CONTATOS,  AVG(XX.CONTATOS * 100 / XX.DISCADAS) APROVEITAMENTO, SUM(XX.PEDIDOS) PEDIDOS FROM "
                    + " (SELECT ((( (if ((select sum(time_to_sec(cr.LIGACAO_FINALIZADA) - time_to_sec(cr.LIGACAO_RECEBIDA)) "
                    + "          from chamadas_receptivo cr where cr.operador = o.codigo and DATE(cr.LIGACAO_RECEBIDA) between '" + String.Format("{0:yyyy-MM-dd}", datainicial) + "' AND '" + String.Format("{0:yyyy-MM-dd}", datafinal) + "' "
                    + "        ) + ( "
                    + "          select(sum(time_to_sec(data_hora_fim) - time_to_sec(data_hora_lig))) as tempo_falando "
                    + "            from campanhas_clientes "
                    + "            where "
                    + "          OPERADOR_LIGACAO = o.codigo "
                    + "          and DATE(data_hora_lig)between '" + String.Format("{0:yyyy-MM-dd}", datainicial) + "' AND '" + String.Format("{0:yyyy-MM-dd}", datafinal) + "' "
                    + "        ) "
                    + "        is null,if ( "
                    + "            (select sum(time_to_sec(cr.LIGACAO_FINALIZADA) - time_to_sec(cr.LIGACAO_RECEBIDA)) "
                    + "              from chamadas_receptivo cr "
                    + "             where cr.operador = o.codigo "
                    + "              and DATE(cr.LIGACAO_RECEBIDA)between '" + String.Format("{0:yyyy-MM-dd}", datainicial) + "' AND '" + String.Format("{0:yyyy-MM-dd}", datafinal) + "' "
                    + "            ) is null,(select(sum(time_to_sec(data_hora_fim) - time_to_sec(data_hora_lig))) as tempo_falando "
                    + "            from campanhas_clientes where OPERADOR_LIGACAO = o.codigo "
                    + "          and DATE(data_hora_lig)between '" + String.Format("{0:yyyy-MM-dd}", datainicial) + "' AND '" + String.Format("{0:yyyy-MM-dd}", datafinal) + "' "
                    + "        ),( "
                    + "              select sum(time_to_sec(cr.LIGACAO_FINALIZADA) - time_to_sec(cr.LIGACAO_RECEBIDA)) "
                    + "              from chamadas_receptivo cr "
                    + "              where cr.operador = o.codigo "
                    + "              and DATE(cr.LIGACAO_RECEBIDA)between '" + String.Format("{0:yyyy-MM-dd}", datainicial) + "' AND '" + String.Format("{0:yyyy-MM-dd}", datafinal) + "' "
                    + "            )),( "
                    + "          select sum(time_to_sec(cr.LIGACAO_FINALIZADA) - time_to_sec(cr.LIGACAO_RECEBIDA)) "
                    + "          from chamadas_receptivo cr "
                    + "          where cr.operador = o.codigo "
                    + "          and DATE(cr.LIGACAO_RECEBIDA)between '" + String.Format("{0:yyyy-MM-dd}", datainicial) + "' AND '" + String.Format("{0:yyyy-MM-dd}", datafinal) + "' "
                    + "        ) + ( "
                    + "          select(sum(time_to_sec(data_hora_fim) - time_to_sec(data_hora_lig))) as tempo_falando "
                    + "            from campanhas_clientes  where "
                    + "          OPERADOR_LIGACAO = o.codigo "
                    + "          and DATE(data_hora_lig)between '" + String.Format("{0:yyyy-MM-dd}", datainicial) + "' AND '" + String.Format("{0:yyyy-MM-dd}", datafinal) + "')))))*100)/ "
                    + "    (if (((select sum(time_to_sec(l.tempo_logado)) as tempo_logado from login_ativo_receptivo l "
                    + "      where "
                    + "        o.codigo = l.operador "
                    + "        and modulo = 'Ativo' "
                    + "        and DATE(entrada)between '" + String.Format("{0:yyyy-MM-dd}", datainicial) + "' AND '" + String.Format("{0:yyyy-MM-dd}", datafinal) + "' "
                    + "    ) -(( "
                    + "      select sum(ligacoes_ok) "
                    + "      from login_ativo_receptivo l "
                    + "      where modulo ='Ativo' "
                    + "      and l.OPERADOR = o.codigo "
                    + "      and DATE(entrada)between '" + String.Format("{0:yyyy-MM-dd}", datainicial) + "' AND '" + String.Format("{0:yyyy-MM-dd}", datafinal) + "' "
                    + "       ) *1)) is null,0,(( "
                    + "     select "
                    + "        sum(time_to_sec(l.tempo_logado)) as tempo_logado from login_ativo_receptivo l "
                    + "      where "
                    + "        o.codigo = l.operador "
                    + "        and modulo = 'Ativo' "
                    + "       and DATE(entrada)between '" + String.Format("{0:yyyy-MM-dd}", datainicial) + "' AND '" + String.Format("{0:yyyy-MM-dd}", datafinal) + "' "
                    + "    ) -(( "
                    + "      select sum(ligacoes_ok) "
                    + "      from login_ativo_receptivo l "
                    + "      where modulo = 'Ativo' "
                    + "      and l.OPERADOR = o.codigo "
                    + "      and DATE(entrada)between '" + String.Format("{0:yyyy-MM-dd}", datainicial) + "' AND '" + String.Format("{0:yyyy-MM-dd}", datafinal) + "' "
                    + "       ) *1))) + if ((select "
                    + "        sum(time_to_sec(l.tempo_logado)) as tempo_logado from login_ativo_receptivo l "
                    + "      where  o.codigo = l.operador "
                    + "        and modulo = 'Receptivo' "
                    + "        and DATE(entrada)between '" + String.Format("{0:yyyy-MM-dd}", datainicial) + "' AND '" + String.Format("{0:yyyy-MM-dd}", datafinal) + "')is null,0,(select "
                    + "        sum(time_to_sec(l.tempo_logado)) as tempo_logado from login_ativo_receptivo l "
                    + "      where  o.codigo = l.operador "
                    + "        and modulo = 'Receptivo' "
                    + "        and DATE(entrada)between '" + String.Format("{0:yyyy-MM-dd}", datainicial) + "' AND '" + String.Format("{0:yyyy-MM-dd}", datafinal) + "')) "
                    + "        - (SELECT IFNULL(SUM(TIME_TO_SEC(p.DATA_HORA_FIM) - TIME_TO_SEC(p.DATA_HORA)), 0) AS TEMPO_PAUSA FROM pausas_realizadas p inner join motivos_pausa mp on mp.CODIGO = p.COD_PAUSA and mp.PRODUTIVIDADE = 'SIM'  WHERE DATE(p.DATA_HORA)between '" + String.Format("{0:yyyy-MM-dd}", datainicial) + "' AND '" + String.Format("{0:yyyy-MM-dd}", datafinal) + "' and p.OPERADOR = o.codigo)  "
                    + "        ) AS PRODUTIVIDADE, "
                    + " CAST(COUNT(distinct cc.CODIGO) AS CHAR) AS DISCADAS, "
                    + " CAST(SUM(IF(r.ECONTATO = 'SIM', 1, 0)) AS CHAR) AS CONTATOS, "
                    + "      CAST(SUM(IF(r.EPEDIDO = 'SIM', 1, 0)) AS CHAR) AS PEDIDOS FROM operadores o "
                    + "   LEFT JOIN campanhas_clientes cc ON (cc.OPERADOR_LIGACAO = o.CODIGO  AND cc.OPERADOR_LIGACAO > 0 "
                    + "   AND DATE(cc.DT_RESULTADO) BETWEEN '" + String.Format("{0:yyyy-MM-dd}", datainicial) + "' AND '" + String.Format("{0:yyyy-MM-dd}", datafinal) + "') "
                    + "  LEFT JOIN resultados r ON(r.CODIGO = cc.RESULTADO) "
                    + "  LEFT JOIN campanhas c ON(c.CODIGO = cc.CAMPANHA) "
                    + " WHERE o.CODIGO = " + id.ToString() + ") as XX ";

            FuncoesBanco   f      = new FuncoesBanco(dblocal);
            List <dynamic> MyList = f.CollectionFromSql(x,
                                                        new Dictionary <string, object> {
            }).ToList();

            foreach (dynamic item in MyList)
            {
                if (!DBNull.Equals(item.PRODUTIVIDADE, DBNull.Value))
                {
                    PRODUTIVIDADE = Convert.ToDouble(item.PRODUTIVIDADE);
                }
                else
                {
                    PRODUTIVIDADE = 0;
                }
                if (!DBNull.Equals(item.DISCADAS, DBNull.Value))
                {
                    DISCADAS = Convert.ToInt32(item.DISCADAS);
                }
                else
                {
                    DISCADAS = 0;
                }
                if (!DBNull.Equals(item.CONTATOS, DBNull.Value))
                {
                    CONTATOS = Convert.ToInt32(item.CONTATOS);
                }
                else
                {
                    CONTATOS = 0;
                }
                if (!DBNull.Equals(item.APROVEITAMENTO, DBNull.Value))
                {
                    APROVEITAMENTO = Convert.ToDouble(item.APROVEITAMENTO);
                }
                else
                {
                    APROVEITAMENTO = 0;
                }
                if (!DBNull.Equals(item.PEDIDOS, DBNull.Value))
                {
                    PEDIDOS = Convert.ToInt32(item.PEDIDOS);
                }
                else
                {
                    PEDIDOS = 0;
                }
            }

            x = "SELECT cli.ESTADO, SUM(cc.VALOR) as VALOR FROM compras cc "
                + " JOIN clientes cli on cli.CODIGO = cc.CLIENTE AND cli.ESTADO <> '' "
                + " WHERE cc.OPERADOR > 0 AND cc.DATA BETWEEN '" + String.Format("{0:yyyy-MM-dd}", datainicial)
                + "' AND '" + String.Format("{0:yyyy-MM-dd}", datafinal) + "' "
                + " group by cli.ESTADO having SUM(cc.VALOR) > 0 ORDER BY COUNT(cc.CODIGO) DESC ";

            if (VendasPorEstado == null)
            {
                MyList = f.CollectionFromSql(x,
                                             new Dictionary <string, object> {
                }).ToList();

                VendasPorEstado = MyList;
            }

            x = "SELECT meta.OPERADOR,o.LOGIN, sum(meta.VALOR_META) as META "
                + " FROM operadores_meta meta JOIN operadores o on o.CODIGO = meta.OPERADOR WHERE CAST(CONCAT(meta.ANO, '-', meta.MES, '-01') AS DATE) BETWEEN '" + String.Format("{0:yyyy-MM-dd}", datainicial) + "' AND '" + String.Format("{0:yyyy-MM-dd}", datafinal) + "' "
                + " group by meta.OPERADOR,o.LOGIN ";

            if (MetasXVendas == null)
            {
                MyList = f.CollectionFromSql(x,
                                             new Dictionary <string, object> {
                }).ToList();

                MetasXVendas = MyList;

                foreach (var m in MetasXVendas)
                {
                    x = "SELECT SUM(cc.VALOR) as VALOR FROM compras cc "
                        + " WHERE cc.OPERADOR = " + m.OPERADOR + " AND cc.DATA BETWEEN '" + String.Format("{0:yyyy-MM-dd}", datainicial)
                        + "' AND '" + String.Format("{0:yyyy-MM-dd}", datafinal) + "' ";

                    var valor = f.ExecSql(x);

                    if (valor != null && valor.Count > 0)
                    {
                        m.VALOR_VENDA = Convert.ToDouble(valor[0]);
                    }
                    else
                    {
                        m.VALOR_VENDA = 0;
                    }

                    x = " select p.VALOR from campanhas_clientes a inner join propostas p on p.LIGACAO = a.CODIGO "
                        + " WHERE a.OPERADOR = " + m.OPERADOR + " AND a.DT_RESULTADO BETWEEN '" + String.Format("{0:yyyy-MM-dd}", datainicial)
                        + "' AND '" + String.Format("{0:yyyy-MM-dd}", datafinal) + "' ";
                    valor = f.ExecSql(x);

                    if (valor != null && valor.Count > 0)
                    {
                        m.VALOR_PROPOSTA = Convert.ToDouble(valor[0]);
                    }
                    else
                    {
                        m.VALOR_PROPOSTA = 0;
                    }
                }
            }
        }
        private void GetValores(int id, DateTime?datainicial, DateTime?datafinal)
        {
            if (datainicial == null)
            {
                datainicial = DateTime.Now;
            }

            if (datafinal == null)
            {
                datafinal = DateTime.Now;
            }

            FuncoesBanco f = new FuncoesBanco(dblocal);

            var x = GetSQLProcutividade(id, datainicial, datafinal);

            List <dynamic> MyList = f.CollectionFromSql(x,
                                                        new Dictionary <string, object> {
            }).ToList();

            foreach (dynamic item in MyList)
            {
                if (!DBNull.Equals(item.PRODUTIVIDADE, DBNull.Value))
                {
                    PRODUTIVIDADE = Convert.ToDouble(item.PRODUTIVIDADE);
                }
                else
                {
                    PRODUTIVIDADE = 0;
                }

                if (!DBNull.Equals(item.DISCADAS, DBNull.Value))
                {
                    DISCADAS = Convert.ToInt32(item.DISCADAS);
                }
                else
                {
                    DISCADAS = 0;
                }
                if (!DBNull.Equals(item.CONTATOS, DBNull.Value))
                {
                    CONTATOS = Convert.ToInt32(item.CONTATOS);
                }
                else
                {
                    CONTATOS = 0;
                }
                if (!DBNull.Equals(item.APROVEITAMENTO, DBNull.Value))
                {
                    APROVEITAMENTO = Convert.ToDouble(item.APROVEITAMENTO);
                }
                else
                {
                    APROVEITAMENTO = 0;
                }
                if (!DBNull.Equals(item.PEDIDOS, DBNull.Value))
                {
                    PEDIDOS = Convert.ToInt32(item.PEDIDOS);
                }
                else
                {
                    PEDIDOS = 0;
                }
            }

            x = "SELECT cli.ESTADO, SUM(cc.VALOR) as VALOR FROM compras cc "
                + " JOIN clientes cli on cli.CODIGO = cc.CLIENTE AND cli.ESTADO <> '' "
                + " WHERE cc.OPERADOR > 0 AND cc.DATA BETWEEN '" + String.Format("{0:yyyy-MM-dd}", datainicial)
                + "' AND '" + String.Format("{0:yyyy-MM-dd}", datafinal) + "' "
                + " group by cli.ESTADO having SUM(cc.VALOR) > 0 ORDER BY COUNT(cc.CODIGO) DESC ";

            if (VendasPorEstado == null)
            {
                MyList = f.CollectionFromSql(x,
                                             new Dictionary <string, object> {
                }).ToList();

                VendasPorEstado = MyList;
            }

            x = "SELECT meta.OPERADOR,o.LOGIN, sum(meta.VALOR_META) as META "
                + " FROM operadores_meta meta JOIN operadores o on o.CODIGO = meta.OPERADOR WHERE CAST(CONCAT(meta.ANO, '-', meta.MES, '-01') AS DATE) BETWEEN '" + String.Format("{0:yyyy-MM-dd}", datainicial) + "' AND '" + String.Format("{0:yyyy-MM-dd}", datafinal) + "' "
                + " group by meta.OPERADOR,o.LOGIN ";

            if (MetasXVendas == null)
            {
                MyList = f.CollectionFromSql(x,
                                             new Dictionary <string, object> {
                }).ToList();

                MetasXVendas = MyList;

                foreach (var m in MetasXVendas)
                {
                    x = "SELECT SUM(cc.VALOR) as VALOR FROM compras cc "
                        + " WHERE cc.OPERADOR = " + m.OPERADOR + " AND cc.DATA BETWEEN '" + String.Format("{0:yyyy-MM-dd}", datainicial)
                        + "' AND '" + String.Format("{0:yyyy-MM-dd}", datafinal) + "' ";

                    var valor = f.ExecSql(x);

                    if (valor != null && valor.Count > 0)
                    {
                        m.VALOR_VENDA = Convert.ToDouble(valor[0]);
                    }
                    else
                    {
                        m.VALOR_VENDA = 0;
                    }

                    x = " select p.VALOR from campanhas_clientes a inner join propostas p on p.LIGACAO = a.CODIGO "
                        + " WHERE a.OPERADOR = " + m.OPERADOR + " AND a.DT_RESULTADO BETWEEN '" + String.Format("{0:yyyy-MM-dd}", datainicial)
                        + "' AND '" + String.Format("{0:yyyy-MM-dd}", datafinal) + "' ";
                    valor = f.ExecSql(x);

                    if (valor != null && valor.Count > 0)
                    {
                        m.VALOR_PROPOSTA = Convert.ToDouble(valor[0]);
                    }
                    else
                    {
                        m.VALOR_PROPOSTA = 0;
                    }
                }
            }
        }