š Separação
š O que Ć©?ā
ā A separação de medicamentos Ć uma funcionalidade disponĆvel na CLI, permitindo que o usuĆ”rio solicite a separação dos medicamentos desejados de forma organizada. Atualmente, as solicitaƧƵes ainda nĆ£o estĆ£o sendo processadas para a separação real, pois a integração ainda nĆ£o foi concluĆda. No entanto, o que estĆ” integrado atĆ© o momento Ć© o banco de dados, onde todas as solicitaƧƵes sĆ£o registradas, mas ainda nĆ£o realizadas a separação dos medicamentos.
š¤ Como funciona?ā
ā No menu inicial da CLI, o usuĆ”rio seleciona a opção de separação de medicamentos digitando o nĆŗmero correspondente, que, neste caso, Ć© o 1. Em seguida, Ć© exibida uma lista com os nomes dos medicamentos disponĆveis, que atualmente estĆ£o mocados. O usuĆ”rio pode entĆ£o selecionar os desejados digitando seus respectivos nĆŗmeros. Após a escolha, o processo de separação Ć© iniciado.
A seguir estÔ o código dessa função:
def menu_de_separacao(conn, nome):
medicamentos = {
'1': 'Paracetamol',
'2': 'Dipirona',
'3': 'Buscopan',
'4': 'Dorflex',
'5': 'Ibuprofeno'
}
while True:
time.sleep(2)
print("\n š MENU DE SEPARAĆĆO")
time.sleep(2)
print(" ⣠Selecione os medicamentos que deseja separar:")
time.sleep(1)
for chave, valor in medicamentos.items():
print(f" ⣠{chave}. {valor}")
print(" ⣠6. Voltar")
time.sleep(2)
escolha = input("Digite os nĆŗmeros dos medicamentos a serem separados separados por vĆrgula: ")
# Se o usuÔrio escolher voltar (opção 6)
if escolha == '6':
return
menu_inicial(conn, nome);
escolhas = escolha.split(',')
# Verifica se hĆ” nĆŗmeros repetidos na escolha
if len(escolhas) != len(set(escolhas)):
print("\nInfelizmente só temos uma unidade de medicamento em cada bin. Tente novamente.")
else:
# Se não houver repetição, define os valores para os medicamentos selecionados
medicamentos_selecionados = {
'paracetamol': 0,
'dipirona': 0,
'buscopam': 0,
'dorflex': 0,
'ibuprofeno': 0
}
for num in escolhas:
if num == '1':
medicamentos_selecionados['paracetamol'] = 1
elif num == '2':
medicamentos_selecionados['dipirona'] = 1
elif num == '3':
medicamentos_selecionados['buscopam'] = 1
elif num == '4':
medicamentos_selecionados['dorflex'] = 1
elif num == '5':
medicamentos_selecionados['ibuprofeno'] = 1
# Inserir os dados na tabela `logs`
try:
cursor = conn.cursor()
# Prepare os dados para a inserção
query = '''
INSERT INTO logs (user, tipo, paracetamol, dipirona, buscopam, dorflex, ibuprofeno, erro, qr_code, bin)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
'''
# Dados a serem inseridos
dados = (
nome, # nome do usuƔrio
'pedido', # tipo sempre serĆ” 'pedido'
medicamentos_selecionados['paracetamol'],
medicamentos_selecionados['dipirona'],
medicamentos_selecionados['buscopam'],
medicamentos_selecionados['dorflex'],
medicamentos_selecionados['ibuprofeno'],
None, # erro (deixa vazio se não houver erro)
None, # qr_code (deixa vazio)
None
)
cursor.execute(query, dados)
conn.commit()
print("\nSeparação registrada com sucesso!")
menu_de_separacao(conn, nome)
except Exception as e:
print(f"Erro ao registrar a separação: {e}")
menu_de_separacao(conn, nome)
ā ConclusĆ£oā
ā āPortanto, com a separação de medicamentos na CLI facilita a gestĆ£o das solicitaƧƵes, tornando o processo mais Ć”gil e estruturado. Com uma interface simples e funcional, o sistema garante maior controle e organização, contribuindo para a eficiĆŖncia operacional.