Exemple #1
0
    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'
Exemple #2
0
    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
Exemple #3
0
 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()
Exemple #4
0
 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'
Exemple #5
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
Exemple #6
0
 def get_users(self):
     return Users().get_options()
Exemple #7
0
 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