def chamar_senhaEspera(self, senha_id=None, user_estado=None, loja=None): from my_terminal import Terminal from gap_timeAtendimento import GAPTimeAtendimento #Verificamos se o atendedor encontra-se disponivel no momento atendedorDisponivel = GAPTimeAtendimento().checkAtendedor(loja=loja) if (atendedorDisponivel): #Para sabermos o ID da loja onde nos encontramos lojaID = Terminal().get_lojaID(loja=loja) senha = GAPSenha().get_senhaExtraInfo(id=senha_id) if senha != None: from my_users import Users #Se o estado estiver em intervalo ou terminado e alterado e mudado para em serviço if (user_estado == 'intervalo') or (user_estado == 'terminado'): Users().EmServico() #Muda o seu estado para_atendimento GAPSenha().Para_Atendimento(id=senha_id) #mudar o estado da senha em espera pelo atendedor presenta na lista de estatistica GAPTimeAtendimento().setEstadoAtendimento( senha_id=senha_id, estado="para_atendimento", loja=loja) #retorna a respectiva senha return senha else: return None else: return 'atendedor_ocupado'
def chamar_por_senha(self, senha=None, user_estado=None, loja=None): from my_terminal import Terminal #Para sabermos o ID da loja onde nos encontramos lojaID = Terminal().get_lojaID(loja=loja) senha = GAPSenha().get_senha(senha=senha, loja=lojaID) if senha != None: from my_users import Users #Se o estado estiver em intervalo ou terminado e alterado e mudado para em serviço if (user_estado == 'intervalo') or (user_estado == 'terminado'): Users().EmServico() #questoes de alteraçoes para dados estatisticos from gap_timeAtendimento import GAPTimeAtendimento senha_id = self.get_id_senha(senha=senha) #Muda o estado da senha para_atendimento GAPSenha().Para_Atendimento(id=senha_id) if (self.get_estado_senha(senha=senha) == 'transferido'): GAPTimeAtendimento().setEstadoAtendimento( senha_id=senha_id, estado="para_atendimento", loja=loja) else: #addTimeAtendimento necessario para ajudar na gestao das estatisticas e relatorios self.addTimeAtendimento( senha=GAPSenha().get_senhaInfo(id=senha_id), tempo_atendimento='00:00:00', servico=self.get_servico_senha(senha=senha), loja=loja, senha_id=senha_id) #retorna a respectiva senha return senha else: return None
def Executar(self, key, window_id): print('in executar') self.kargs = get_model_record(model=self, key=key) self.kargs['estado'] = 'Executado' self.kargs['data'] = datetime.datetime.today() quantidade = self.kargs['quantidade'] de = self.kargs['de_utilizador'] de = Users().get(key=de)[0]['nome'] #print(de) para = self.kargs['para_utilizador'] para = Users().get(key=para)[0]['nome'] #print(para) sql = "update sai_rest_iur_validados set utilizador = '{para}' where cabimento in (select cabimento from sai_rest_iur_validados where utilizador = '{de}' and estado = 'Validado' limit {quantidade})".format( para=para, de=de, quantidade=quantidade) print(sql) run_sql(sql) self.put() return form_edit(window_id=window_id).show()
def get_balcao(self,loja=None): from my_terminal import Terminal from my_users import Users lojaID = Terminal().get_lojaID(loja=loja) turnoID = Users().get_turnoUser() self.kargs['join'] = ",gap_balcao_terminal, gap_balcao_gap_turno, gap_balcao_users" self.where ="gap_balcao_terminal.terminal = '{lojaid}' and gap_balcao_terminal.gap_balcao= gap_balcao.id and gap_balcao_gap_turno.gap_balcao=gap_balcao.id and gap_balcao_gap_turno.gap_turno='{turnoid}' and gap_balcao_users.users ='{userid}' and gap_balcao_users.gap_balcao= gap_balcao.id".format(lojaid=lojaID,userid=bottle.request.session['user'],turnoid=turnoID) self.kargs = self.get() if self.kargs: self.kargs = self.kargs[0] return str(self.kargs['numero']) return '0'
def prepare_data(self): primeiroAtendedorId = bottle.request.forms.get( 'nome_primeiroAtendedor') segundoAtendedorId = bottle.request.forms.get('nome_segundoAtendedor') servicoId = bottle.request.forms.get('servico') data_inicio = bottle.request.forms.get('data_inicial') data_fim = bottle.request.forms.get('data_final') lojaId = bottle.request.forms.get('loja') if not data_inicio or not data_fim: return 'sem_data' else: if not primeiroAtendedorId or not segundoAtendedorId: return 'sem_nome' elif not lojaId: return 'sem_loja' else: record = {} import erp_config as ec from gap_timeAtendimento import GAPTimeAtendimento clientesAtendidos1 = None clientesAtendidos2 = None primeiroAtendedorinfo = Users().get_userProfile( userId=primeiroAtendedorId) segundoAtendedorinfo = Users().get_userProfile( userId=segundoAtendedorId) terminalinfo = Terminal().get_terminalInfo(terminalId=lojaId) currentterminalinfo = Terminal().get_terminalInfoByname( terminalname=ec.terminal_name) terminalname = str(terminalinfo).split(";") primeiroAtendedorinfo = str(primeiroAtendedorinfo).split(";") segundoAtendedorinfo = str(segundoAtendedorinfo).split(";") if not servicoId: servicos = GAPServico().get_servico_nome() servicos = ''.join(servicos) record['servicos'] = servicos servicos = str(servicos).split(";") for servico in servicos: if clientesAtendidos1 == None: clientesAtendidos1 = GAPTimeAtendimento( ).get_clienteAtendido( nome=primeiroAtendedorinfo[0], dataInicio=data_inicio, dataFim=data_fim, loja=terminalname[0], servico=servico) clientesAtendidos2 = GAPTimeAtendimento( ).get_clienteAtendido(nome=segundoAtendedorinfo[0], dataInicio=data_inicio, dataFim=data_fim, loja=terminalname[0], servico=servico) else: clientesAtendidos1 = str( clientesAtendidos1) + ";" + str( GAPTimeAtendimento().get_clienteAtendido( nome=primeiroAtendedorinfo[0], dataInicio=data_inicio, dataFim=data_fim, loja=terminalname[0], servico=servico)) clientesAtendidos2 = str( clientesAtendidos2) + ";" + str( GAPTimeAtendimento().get_clienteAtendido( nome=segundoAtendedorinfo[0], dataInicio=data_inicio, dataFim=data_fim, loja=terminalname[0], servico=servico)) else: servico = GAPServico().get_letra_servico( keyservico=servicoId) record['servicos'] = servico record['singleservice'] = 'True' clientesAtendidos1 = GAPTimeAtendimento( ).get_clienteAtendido(nome=primeiroAtendedorinfo[0], dataInicio=data_inicio, dataFim=data_fim, loja=terminalname[0], servico=servico) clientesAtendidos2 = GAPTimeAtendimento( ).get_clienteAtendido(nome=segundoAtendedorinfo[0], dataInicio=data_inicio, dataFim=data_fim, loja=terminalname[0], servico=servico) record['title'] = 'Relatorio Comparativo Atendedor' record['enterprise'] = ec.enterprise record['targets'] = 'Atendedores' record['compare_targets'] = 'True' record['targets_names'] = str( primeiroAtendedorinfo[0]) + ";" + str( segundoAtendedorinfo[0]) record[ 'targets_contents'] = "Atendidos por " + primeiroAtendedorinfo[ 0] + ";" + "Atendidos por " + segundoAtendedorinfo[0] record[ 'text_msg'] = "Gráfico comparativo do numero de clientes Atendidos por " + primeiroAtendedorinfo[ 0] + " - " + segundoAtendedorinfo[0] + ":" if (clientesAtendidos1 != None): record['targets_values'] = str( clientesAtendidos1) + "-" + str(clientesAtendidos2) record['data'] = str(data_inicio) + ";" + str(data_fim) record['loja'] = currentterminalinfo return record
def get_users(self): return Users().get_options()
def prepare_data(self): data_inicio = bottle.request.forms.get('data_inicial') data_fim = bottle.request.forms.get('data_final') servicoId = bottle.request.forms.get('servico') userId = bottle.request.forms.get('nome') lojaId = bottle.request.forms.get('loja') if not data_inicio or not data_fim: return 'sem_data' elif not lojaId: return 'sem_loja' else: record = {} import erp_config as ec from gap_timeAtendimento import GAPTimeAtendimento terminalinfo = Terminal().get_terminalInfo(terminalId=lojaId) terminalname = str(terminalinfo).split(";") nomeAtendedor = None clientesAtendidos = None tempo_medio = None tempo_maximo = None tempo_minimo = None if userId: userinfo = Users().get_userProfile(userId=userId) record['singleatendedor'] = 'True' if userinfo != None: record['atendedor'] = userinfo userinfo = str(userinfo).split(";") nomeAtendedor = userinfo[0] if not servicoId: servicos = GAPServico().get_servico_nome() servicos = ''.join(servicos) record['servicos'] = servicos servicos= str(servicos).split(";") for servico in servicos: if clientesAtendidos == None: clientesAtendidos=GAPTimeAtendimento().get_clienteAtendido(nome=nomeAtendedor, dataInicio=data_inicio, dataFim=data_fim, loja=terminalname[0], servico=servico) tempo_medio=GAPTimeAtendimento().get_mediaTempoAtendido(nome=nomeAtendedor, dataInicio=data_inicio, dataFim=data_fim, loja=terminalname[0], servico=servico) tempo_maximo=GAPTimeAtendimento().get_tempoMaximoAtendido(nome=nomeAtendedor, dataInicio=data_inicio, dataFim=data_fim, loja=terminalname[0], servico=servico) tempo_minimo=GAPTimeAtendimento().get_tempoMinimoAtendido(nome=nomeAtendedor, dataInicio=data_inicio, dataFim=data_fim, loja=terminalname[0], servico=servico) else: clientesAtendidos=str(clientesAtendidos)+";"+str(GAPTimeAtendimento().get_clienteAtendido(nome=nomeAtendedor, dataInicio=data_inicio, dataFim=data_fim, loja=terminalname[0], servico=servico)) tempo_medio=str(tempo_medio)+";"+str(GAPTimeAtendimento().get_mediaTempoAtendido(nome=nomeAtendedor, dataInicio=data_inicio, dataFim=data_fim, loja=terminalname[0], servico=servico)) tempo_maximo=str(tempo_maximo)+";"+str(GAPTimeAtendimento().get_tempoMaximoAtendido(nome=nomeAtendedor, dataInicio=data_inicio, dataFim=data_fim, loja=terminalname[0], servico=servico)) tempo_minimo=str(tempo_minimo)+";"+str(GAPTimeAtendimento().get_tempoMinimoAtendido(nome=nomeAtendedor, dataInicio=data_inicio, dataFim=data_fim, loja=terminalname[0], servico=servico)) else: servico = GAPServico().get_letra_servico(keyservico=servicoId) record['servicos'] = servico record['singleservice'] = 'True' clientesAtendidos=GAPTimeAtendimento().get_clienteAtendido(nome=nomeAtendedor, dataInicio=data_inicio, dataFim=data_fim, loja=terminalname[0], servico=servico) tempo_medio=GAPTimeAtendimento().get_mediaTempoAtendido(nome=nomeAtendedor, dataInicio=data_inicio, dataFim=data_fim, loja=terminalname[0], servico=servico) tempo_maximo=GAPTimeAtendimento().get_tempoMaximoAtendido(nome=nomeAtendedor, dataInicio=data_inicio, dataFim=data_fim, loja=terminalname[0], servico=servico) tempo_minimo=GAPTimeAtendimento().get_tempoMinimoAtendido(nome=nomeAtendedor, dataInicio=data_inicio, dataFim=data_fim, loja=terminalname[0], servico=servico) record['clientes_atendidos'] = clientesAtendidos record['text_msg'] = "Numero de clientes Atendidos por "+nomeAtendedor+":" record['tempo_medio_atendimento'] = tempo_medio record['tempo_maximo_atendimento'] = tempo_maximo record['tempo_minimo_atendimento'] = tempo_minimo record['enterprise'] = ec.enterprise record['data'] = str(data_inicio)+";"+str(data_fim) record['loja'] = terminalinfo else: users = Users().get_atendedoresLoja(lojaid=lojaId) user_content = ''.join(users) record['atendedor'] = user_content user_content = str(user_content).split(";") if not servicoId: servicos = GAPServico().get_servico_nome() servicos = ''.join(servicos) record['servicos'] = servicos servicos= str(servicos).split(";") for servico in servicos: count = 0 for i in range(0,len(user_content)): if clientesAtendidos == None: clientesAtendidos=GAPTimeAtendimento().get_clienteAtendido(nome=user_content[count], dataInicio=data_inicio, dataFim=data_fim, loja=terminalname[0], servico=servico) tempo_medio=GAPTimeAtendimento().get_mediaTempoAtendido(nome=user_content[count], dataInicio=data_inicio, dataFim=data_fim, loja=terminalname[0], servico=servico) tempo_maximo=GAPTimeAtendimento().get_tempoMaximoAtendido(nome=user_content[count], dataInicio=data_inicio, dataFim=data_fim, loja=terminalname[0], servico=servico) tempo_minimo=GAPTimeAtendimento().get_tempoMinimoAtendido(nome=user_content[count], dataInicio=data_inicio, dataFim=data_fim, loja=terminalname[0], servico=servico) else: clientesAtendidos=str(clientesAtendidos)+";"+str(GAPTimeAtendimento().get_clienteAtendido(nome=user_content[count], dataInicio=data_inicio, dataFim=data_fim, loja=terminalname[0], servico=servico)) tempo_medio=str(tempo_medio)+";"+str(GAPTimeAtendimento().get_mediaTempoAtendido(nome=user_content[count], dataInicio=data_inicio, dataFim=data_fim, loja=terminalname[0], servico=servico)) tempo_maximo=str(tempo_maximo)+";"+str(GAPTimeAtendimento().get_tempoMaximoAtendido(nome=user_content[count], dataInicio=data_inicio, dataFim=data_fim, loja=terminalname[0], servico=servico)) tempo_minimo=str(tempo_minimo)+";"+str(GAPTimeAtendimento().get_tempoMinimoAtendido(nome=user_content[count], dataInicio=data_inicio, dataFim=data_fim, loja=terminalname[0], servico=servico)) count+=1 else: servico = GAPServico().get_letra_servico(keyservico=servicoId) record['servicos'] = servico record['singleservice'] = 'True' count = 0 for i in range(0,len(user_content)): if clientesAtendidos == None: clientesAtendidos=GAPTimeAtendimento().get_clienteAtendido(nome=user_content[count], dataInicio=data_inicio, dataFim=data_fim, loja=terminalname[0], servico=servico) tempo_medio=GAPTimeAtendimento().get_mediaTempoAtendido(nome=user_content[count], dataInicio=data_inicio, dataFim=data_fim, loja=terminalname[0], servico=servico) tempo_maximo=GAPTimeAtendimento().get_tempoMaximoAtendido(nome=user_content[count], dataInicio=data_inicio, dataFim=data_fim, loja=terminalname[0], servico=servico) tempo_minimo=GAPTimeAtendimento().get_tempoMinimoAtendido(nome=user_content[count], dataInicio=data_inicio, dataFim=data_fim, loja=terminalname[0], servico=servico) else: clientesAtendidos=str(clientesAtendidos)+";"+str(GAPTimeAtendimento().get_clienteAtendido(nome=user_content[count], dataInicio=data_inicio, dataFim=data_fim, loja=terminalname[0], servico=servico)) tempo_medio=str(tempo_medio)+";"+str(GAPTimeAtendimento().get_mediaTempoAtendido(nome=user_content[count], dataInicio=data_inicio, dataFim=data_fim, loja=terminalname[0], servico=servico)) tempo_maximo=str(tempo_maximo)+";"+str(GAPTimeAtendimento().get_tempoMaximoAtendido(nome=user_content[count], dataInicio=data_inicio, dataFim=data_fim, loja=terminalname[0], servico=servico)) tempo_minimo=str(tempo_minimo)+";"+str(GAPTimeAtendimento().get_tempoMinimoAtendido(nome=user_content[count], dataInicio=data_inicio, dataFim=data_fim, loja=terminalname[0], servico=servico)) count+=1 record['clientes_atendidos'] = clientesAtendidos record['tempo_medio_atendimento'] = tempo_medio record['tempo_maximo_atendimento'] = tempo_maximo record['tempo_minimo_atendimento'] = tempo_minimo record['enterprise'] = ec.enterprise record['data'] = str(data_inicio)+";"+str(data_fim) record['loja'] = terminalinfo return record