Skip to main content

šŸ’Š 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.