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)
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)
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)
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
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)
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
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)
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()
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']
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()
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()
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
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()
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
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))
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" )
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):
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()
from configuracao import Configuracao c = Configuracao() print(c.get_host()) print(c.get_porta())
def main(): configuracao = Configuracao.startup() localSerach = LocalSearch(configuracao) localSerach.executar()
def main(): configuracao = Configuracao.startup() geracao = GraficosGeracao(configuracao) geracao.executar()