Implementei ate o momento e estou tendo problemas com a lógica do projeto. Parece que os atributos da classe FilaBase estão compartilhados entre as classes FilaNormal e Fila Prioritaria.
from FilaFactory import FilaFactory
from EstatisticaFactory import EstatisticaFactory
from Constantes import *
#Gera dados para FILA 1
fila1 = FilaFactory.pega_fila(TIPO_FILA_NORMAL)
fila1.atualiza_fila()
fila1.atualiza_fila()
fila1.atualiza_fila()
print(fila1.chama_cliente(10))
print(fila1.chama_cliente(15))
estatisticaResumida = EstatisticaFactory.gera_estatitica(TIPO_ESTATISTICA_RESUMIDA, '15/01/2020', 7787)
print(fila1.estatistica(estatisticaResumida))
#Gera dados para FILA 2
fila2 = FilaFactory.pega_fila(TIPO_FILA_PRIORITARIA)
fila2.atualiza_fila()
fila2.atualiza_fila()
fila2.atualiza_fila()
fila2.atualiza_fila()
fila2.atualiza_fila()
fila2.atualiza_fila()
print(fila2.chama_cliente(6))
print(fila2.chama_cliente(2))
print(fila2.chama_cliente(1))
print(fila2.chama_cliente(3))
estatisticaDetalhada = EstatisticaFactory.gera_estatitica(TIPO_ESTATISTICA_DETALHADA, '01/01/2020', 3123)
print(fila2.estatistica(estatisticaDetalhada))
Executo o main.py conforme descrito acima e ele me retorna a saída abaixo.
Caixa 10 livre. Senha NR1 chamada.
Caixa 15 livre. Senha NR2 chamada.
{'7787 - 15/01/2020': 2}
Caixa 6 livre. Senha NR3 chamada.
Caixa 2 livre. Senha PR1 chamada.
Caixa 1 livre. Senha PR2 chamada.
Caixa 3 livre. Senha PR3 chamada.
{'dia': '01/01/2020', 'agencia': 3123, 'clientes atendidos': ['NR1', 'NR2', 'NR3', 'PR1', 'PR2', 'PR3'], 'quantidade de clientes atendidos': 6}
De acordo com o exemplo, a resposta esperada era:
- atendimento normal - 2 usuários
- atendimento prioritário - 4 usuários
Podem me auxiliar com essa lógica? Os fontes criados até este ponto estão em: https://github.com/lucazcabral/-bytebank-pip8/tree/erro_logica_2