def main():
    printlog.Info('Inicio da Sincronização...')
    configuracao = Configuracao()
    if (configuracao.AllOk()):
        while True:
            try:
                importa_agendamentos()
            except Exception as e:
                printlog.Erro(e)
                Email(configuracao, 'IMPORTACAO_AGENDAMENTO', e, 'Import Sallon: ' + configuracao.app_id).send_mail()
                printlog.Info('importa_agendamentos exception: ' + str(e))

            try:
                exporta_agendamentos()
            except Exception as e:
                printlog.Erro(e)
                Email(configuracao, 'EXPORTA_AGENDAMENTO', e, 'Export Sallon: ' + configuracao.app_id).send_mail()
                printlog.Info('exporta_agendamentos exception : ' + str(e))

            try:
                send_push()
            except Exception as e:
                printlog.Erro(e)
                Email(configuracao, 'SEND_PUSH', e, 'Push Sallon: ' + configuracao.app_id).send_mail()
                printlog.Info('send_push: ' + str(e))

            time.sleep(3)
Beispiel #2
0
def main():

    configuracao = Configuracao.startup()

    listaDadosIniciais = Configuracao.gerarDadosIniciais(configuracao)

    algoritmo = Algoritmo(Configuracao.simulated_annealing, SimulatedAnnealing(configuracao))

    for iteracao in range(10):
        algoritmo.executar(listaDadosIniciais[iteracao], iteracao)

    Graficos.gerarGraficoFuncaoObjetivo(algoritmo, configuracao)
def main():

    configuracao = Configuracao.startup()

    listaDadosIniciais = Configuracao.gerarDadosIniciais(configuracao)

    algoritmo = Algoritmo(Configuracao.hill_climbing_restart, HillClimbingRestart(configuracao))

    for iteracao in range(10):
        algoritmo.executar(listaDadosIniciais[iteracao], iteracao)

    Graficos.gerarGraficoFuncaoObjetivo(algoritmo, configuracao)
Beispiel #4
0
def main():

    configuracao = Configuracao.startup()

    listaDadosIniciais = Configuracao.gerarDadosIniciais(configuracao)

    algoritmo = Algoritmo(Configuracao.genetic_algorithm,
                          GeneticAlgorithm(configuracao))

    for iteracao in range(10):
        algoritmo.executar(listaDadosIniciais[iteracao], iteracao)

    Graficos.gerarGraficoFuncaoObjetivo(algoritmo, configuracao)
Beispiel #5
0
    def pesquida_agenda(controle):
        configuracao = Configuracao()
        con = fdb.connect(dsn=configuracao.db_host + ':' +
                          configuracao.db_path,
                          user=configuracao.db_user,
                          password=configuracao.db_password,
                          fb_library_name=configuracao.db_lib)
        cur = con.cursor()
        qry_sync = (
            "SELECT AGENDA.CONTROLE, AGENDA.ID_WEB "
            ", PROFISSIONAIS.ID_WEB AS PROFISSIONAL_IDWEB, CLIENTES.ID_WEB AS CLIENTE_IDWEB "
            " , AGENDA.HORARIO, AGENDA.FIM, AGENDA.CODIGO_CLIENTE, AGENDA.EMP_CLIENTE "
            " , AGENDA.DATA, AGENDA.SERVICOS, AGENDA.STATUS, AGENDA.FIXO, UDF_COLLATEBR(AGENDA.NOME_CLIENTE) AS NOME_CLIENTE  "
            "  FROM AGENDA  "
            "  LEFT JOIN CLIENTES ON CLIENTES.codigo_cliente = AGENDA.codigo_cliente "
            "                    AND CLIENTES.codigo_empresa = AGENDA.emp_cliente       "
            "  LEFT JOIN PROFISSIONAIS ON PROFISSIONAIS.codigo_profissional = AGENDA.codigo_profissional "
            "                        AND PROFISSIONAIS.codigo_empresa = AGENDA.emp_profissional            "
            " WHERE AGENDA.CONTROLE = {controle} ".format(controle=controle))

        cur.execute(qry_sync)

        columns = [column[0] for column in cur.description]
        results = []
        for row in cur.fetchall():
            results.append(dict(zip(columns, row)))
        return results
Beispiel #6
0
def get_bookings():
    urllib3.disable_warnings()
    config = Configuracao()
    url = 'https://api.salaovip.com.br/salao/' + config.app_id + '/reservas/sincronizado'
    headers = {'authorization': config.app_token}
    r = requests.get(url, headers=headers, timeout=20)
    return json.loads(r.text)
Beispiel #7
0
    def pesquisa_reserva(controle):
        configuracao = Configuracao()
        con = fdb.connect(dsn=configuracao.db_host + ':' +
                          configuracao.db_path,
                          user=configuracao.db_user,
                          password=configuracao.db_password,
                          fb_library_name=configuracao.db_lib)
        cur = con.cursor()
        qry_sync = (
            "SELECT AGENDA.CONTROLE, AGENDA.ID_WEB "
            ", PROFISSIONAIS.ID_WEB AS PROFISSIONAL_IDWEB  "
            " , AGENDA.HORARIO, AGENDA.FIM "
            " , AGENDA.DATA, AGENDA.SERVICOS, AGENDA.STATUS, AGENDA.FIXO "
            "  FROM AGENDA  "
            "  LEFT JOIN PROFISSIONAIS ON PROFISSIONAIS.codigo_profissional = AGENDA.codigo_profissional "
            "                        AND PROFISSIONAIS.codigo_empresa = AGENDA.emp_profissional            "
            " WHERE AGENDA.CONTROLE = %s ")

        cur.execute(qry_sync % controle)

        columns = [column[0] for column in cur.description]
        results = []
        for row in cur.fetchall():
            results.append(dict(zip(columns, row)))
        return results
Beispiel #8
0
def get_cliente(cliente_id):
    urllib3.disable_warnings()
    config = Configuracao()
    url = 'https://api.salaovip.com.br/salao/' + config.app_id + '/cliente/' + str(
        cliente_id)
    headers = {'authorization': config.app_token}
    r = requests.get(url, headers=headers, timeout=20)
    return json.loads(r.text)
Beispiel #9
0
 def __init__(self):
     configuracao = Configuracao()
     self.connection = fdb.connect(dsn=configuracao.db_host + ':' +
                                   configuracao.db_path,
                                   user=configuracao.db_user,
                                   password=configuracao.db_password,
                                   fb_library_name=configuracao.db_lib)
     self.cursor = self.connection.cursor()
Beispiel #10
0
def post_sincronizado(status, notificado, reserva_id):
    urllib3.disable_warnings()
    config = Configuracao()
    url = 'https://api.salaovip.com.br/salao/' + config.app_id + '/reservas/sincronizar/' + str(
        reserva_id)
    headers = {'authorization': config.app_token}
    data = {'status': status, 'notificar': notificado}
    requests.post(url, data, headers=headers, timeout=20)
 def __init__(self, item):
     self.config = Configuracao()
     self.controle = item['CONTROLE']
     self.tabela = item['TABELA']
     self.acao = item['ACAO']
     self.pk1 = item['FIELD1']
     self.pk2 = item['FIELD2']
     self.pk3 = item['FIELD3']
     self.pk4 = item['FIELD4']
Beispiel #12
0
 def __init__(self, item):
     self.salao_cliente_id = item['salao_cliente_id'] if item['salao_cliente_id'] != None else ""
     self.servico_id = item['servico_id'] if item['servico_id'] != None else ""
     self.profissional_id = item['profissional_id'] if item['profissional_id'] != None else ""
     self.hora_ini = item['hora_ini'] if item['hora_ini'] != None else ""
     self.hora_fim = item['hora_fim'] if item['hora_fim'] != None else ""
     self.data = item['data'] if item['data'] != None else ""
     self.status = item['status'] if item['status'] != None else ""
     self.servicos = item['servicos'] if item['servicos'] != None else ""
     self.id = item['id'] if item['id'] != None else ""
     self.nome_cliente = item['cliente_nome'] if item['cliente_nome'] != None else ""
     self.preferencia = item['profissional_indiferente'] if item['profissional_indiferente'] != None else ""
     self.configuracao = Configuracao()
 def baixa_controle(self):
     configuracao = Configuracao()
     con = fdb.connect(dsn=configuracao.db_host + ':' +
                       configuracao.db_path,
                       user=configuracao.db_user,
                       password=configuracao.db_password)
     cur = con.cursor()
     qry_sync = (
         " UPDATE SINCRONISMO_WEB SET STATUS = 'BAX' WHERE CONTROLE = {controle} "
         .format(controle=self.controle))
     cur.execute(qry_sync)
     con.commit()
     cur.close()
     con.close()
 def delete_dispositivo(self):
     configuracao = Configuracao()
     con = fdb.connect(dsn=configuracao.db_host + ':' +
                       configuracao.db_path,
                       user=configuracao.db_user,
                       password=configuracao.db_password,
                       fb_library_name=configuracao.db_lib)
     cur = con.cursor()
     qry_sync = ("DELETE FROM DISPOSITIVOS WHERE HASH = '{hash}'".format(
         hash=self.hash))
     cur.execute(qry_sync)
     con.commit()
     cur.close()
     con.close()
 def set_finalizado(self):
     configuracao = Configuracao()
     con = fdb.connect(dsn=configuracao.db_host + ':' +
                       configuracao.db_path,
                       user=configuracao.db_user,
                       password=configuracao.db_password,
                       fb_library_name=configuracao.db_lib)
     cur = con.cursor()
     qry_sync = (
         "UPDATE PUSH SET ENVIADO = 'S' WHERE CONTROLE = {controle}".format(
             controle=self.controle))
     cur.execute(qry_sync)
     con.commit()
     cur.close()
     con.close()
Beispiel #16
0
 def grava_id(controle, id_web):
     configuracao = Configuracao()
     con = fdb.connect(dsn=configuracao.db_host + ':' +
                       configuracao.db_path,
                       user=configuracao.db_user,
                       password=configuracao.db_password,
                       fb_library_name=configuracao.db_lib)
     cur = con.cursor()
     qry_sync = (
         "UPDATE AGENDA SET ID_WEB = {id_web} WHERE CONTROLE = {controle}".
         format(controle=controle, id_web=id_web))
     cur.execute(qry_sync)
     con.commit()
     cur.close()
     con.close()
Beispiel #17
0
    def get_agenda(self):
        configuracao = Configuracao()
        con = fdb.connect(dsn=configuracao.db_host + ':' +
                          configuracao.db_path,
                          user=configuracao.db_user,
                          password=configuracao.db_password,
                          fb_library_name=configuracao.db_lib)
        cur = con.cursor()
        qry_sync = (
            "SELECT INICIO_AGENDA, FIM_AGENDA FROM PARAMETROS_SISTEMA WHERE CODIGO_EMPRESA = {empresa} "
            .format(empresa=configuracao.emp_padrao))

        cur.execute(qry_sync)
        row = cur.fetchone()
        return row
Beispiel #18
0
 def grava_id(codigo_cliente, codigo_empresa, id_web):
     configuracao = Configuracao()
     con = fdb.connect(dsn=configuracao.db_host + ':' +
                       configuracao.db_path,
                       user=configuracao.db_user,
                       password=configuracao.db_password,
                       fb_library_name=configuracao.db_lib)
     cur = con.cursor()
     qry_sync = (
         "UPDATE CLIENTES SET ID_WEB = %s WHERE CODIGO_CLIENTE = %s AND CODIGO_EMPRESA = %s"
     )
     cur.execute(qry_sync % (id_web, codigo_cliente, codigo_empresa))
     con.commit()
     cur.close()
     con.close()
Beispiel #19
0
    def pesquisa_pontuacao(controle):
        configuracao = Configuracao()
        con = fdb.connect(
            dsn=configuracao.db_host + ':' + configuracao.db_path,
            user=configuracao.db_user, password=configuracao.db_password, fb_library_name=configuracao.db_lib)
        cur = con.cursor()
        qry_sync=("SELECT CONTROLE, CREDITO, DEBITO, CLIENTES.ID_WEB "            
            "  FROM CONTA_PONTOS  "
            "LEFT JOIN CLIENTES ON CONTA_PONTOS.CODIGO_CLIENTE = CLIENTES.CODIGO_CLIENTE"
            "   AND CONTA_PONTOS.EMP_CLIENTE = CLIENTES.CODIGO_EMPRESA "
            "WHERE CONTROLE = {controle} ".format(controle=controle))

        cur.execute(qry_sync)
        columns = [column[0] for column in cur.description]
        results = []
        for row in cur.fetchall():
         results.append(dict(zip(columns, row)))
        return results
Beispiel #20
0
 def pesquisa_cliente(codigo_cliente, codigo_empresa):
     configuracao = Configuracao()
     con = fdb.connect(dsn=configuracao.db_host + ':' +
                       configuracao.db_path,
                       user=configuracao.db_user,
                       password=configuracao.db_password,
                       fb_library_name=configuracao.db_lib)
     cur = con.cursor()
     qry_sync = (
         "SELECT CODIGO_CLIENTE, CODIGO_EMPRESA, NOME, ID_WEB, PONTUACAO, EMAIL, CPF, TELEFONE1 "
         "  FROM CLIENTES  "
         " WHERE CODIGO_CLIENTE = %s "
         "   AND CODIGO_EMPRESA = %s ")
     cur.execute(qry_sync % (codigo_cliente, codigo_empresa))
     columns = [column[0] for column in cur.description]
     results = []
     for row in cur.fetchall():
         results.append(dict(zip(columns, row)))
     return results
def exporta_agendamentos():
    printlog.Info('exporta_agendamentos...')
    lista = Dao().get_sincronismo()
    printlog.Info('resultado = ['+str(len(lista))+']')
    for item in lista:
        printlog.Info('agenda: ' + str(item))
        sinc = Sincronismo(item)
        sinc.informacao()
        if sinc.valida_registro() :
            retorno = sinc.valida_cliente(ListaClientesNaoAchados) 
            if retorno[0] == 1:
                sinc.sincronizar()
            elif retorno[0] == 2:
                ListaClientesNaoAchados.append(retorno[1])
                try:
                    configuracao = Configuracao()
                    Email(configuracao, 'EXPORTA_AGENDAMENTO', 'Cliente id '+retorno[1]+' não existe no svip', 'Export Sallon: ' + configuracao.app_id).send_mail()
                except Exception as e:
                    printlog.Info('nao foi possivel enviar email exception : ' + str(e))
Beispiel #22
0
    def executar(self):

        self.listaDadosIniciais = Configuracao.gerarDadosIniciais(
            self.configuracao)

        resultado = Resultado(self.configuracao.problema)

        for a in range(4):

            algoritmo = None

            if (a == 0):
                algoritmo = Algoritmo(Configuracao.algoritmos[a],
                                      HillClimbing(self.configuracao))
            elif (a == 1):
                algoritmo = Algoritmo(Configuracao.algoritmos[a],
                                      HillClimbingRestart(self.configuracao))
            elif (a == 2):
                algoritmo = Algoritmo(Configuracao.algoritmos[a],
                                      SimulatedAnnealing(self.configuracao))
            else:
                algoritmo = Algoritmo(Configuracao.algoritmos[a],
                                      GeneticAlgorithm(self.configuracao))

            for iteracao in range(10):
                algoritmo.executar(self.listaDadosIniciais[iteracao], iteracao)

            algoritmo.gerarEstatisticas()

            Graficos.gerarGraficoFuncaoObjetivo(algoritmo, self.configuracao)

            resultado.adicionar(algoritmo)

        inicioComparativo = time.perf_counter()

        self.finalizar(resultado)

        terminoComparativo = time.perf_counter()

        print(
            f"Geração da tabela/gráfico de comparativo de performance em {terminoComparativo - inicioComparativo:0.4f} segundos"
        )
Beispiel #23
0
def prepara_telefone(telefone):
    return telefone.split('/')


base = ler_base()
stopwords = nltk.corpus.stopwords.words('portuguese')
stopwords.append('geral')
stopwords.append('ativ')
stopwords.append('comerci')
stopwords.append('excet')
stopwords.append('nao')
stopwords.append('par')
stopwords.append('uso')
stopwords.append('produt')

conf = Configuracao().retorna_porcentagem()

if base:
    frases_stemmer = stemmer(base)
    frases_stemmer = ler_dicionario(frases_stemmer)
    frequencia = buscaFrequencia(buscaPalavras(frases_stemmer))
    palavrasUnicas = buscaPalavrasUnicas(frequencia)

    base_completa = nltk.classify.apply_features(extratorPalavras,
                                                 frases_stemmer)

    classificador = nltk.NaiveBayesClassifier.train(base_completa)

    #print(classificador.show_most_informative_features(30))
    arquivos = ler_pasta()
    #if(os.path.isfile('/home/sistemas/prospeccao/data_mining/executado_consulta_novo.txt') == True):
Beispiel #24
0
import helper
from booking import Booking
import fdb
from sincronismo import Sincronismo
from agenda import Agenda
from configuracao import Configuracao

configuracao = Configuracao()
con = fdb.connect(dsn=configuracao.db_host + ':' + configuracao.db_path,
                  user=configuracao.db_user,
                  password=configuracao.db_password)
cur = con.cursor()
controle = 1249
qry_sync = (
    " UPDATE SINCRONISMO_WEB SET STATUS = 'ABE' WHERE CONTROLE = {controle} ".
    format(controle=controle))
cur.execute(qry_sync)
con.commit()
cur.close()
con.close()
Beispiel #25
0
from configuracao import Configuracao

c = Configuracao()

print(c.get_host())
print(c.get_porta())

Beispiel #26
0
def main():
    configuracao = Configuracao.startup()

    localSerach = LocalSearch(configuracao)

    localSerach.executar()
Beispiel #27
0
def main():
    configuracao = Configuracao.startup()

    geracao = GraficosGeracao(configuracao)

    geracao.executar()