front_ponto_eletronico/seeds/reports_seed.py
2025-03-27 17:38:08 -03:00

97 lines
2.9 KiB
Python

from extensions import db
from models.reports import Employee
def reports_seed():
employee = [
# Usuário 1
{
"parent_id": 1,
"name":'João Silva',
"group":'Drogasil',
"contract_type":'Interno',
"expected_entry_time":'08:00',
"expected_exit_time":'17:00',
"status":'Ausente'
},
# Usuário 2
{
"parent_id": 2,
"name":'João Silva',
"group":'Drogasil',
"contract_type":'Interno',
"expected_entry_time":'08:00',
"expected_exit_time":'17:00',
"status":'Ausente'
},
# Usuário 3
{
"parent_id": 3,
"name":'João Silva',
"group":'Drogasil',
"contract_type":'Interno',
"expected_entry_time":'08:00',
"expected_exit_time":'17:00',
"status":'Ausente'
},
# Usuário 4
{
"parent_id": 4,
"name":'João Silva',
"group":'Drogasil',
"contract_type":'Interno',
"expected_entry_time":'08:00',
"expected_exit_time":'17:00',
"status":'Ausente'
},
# Usuário 5
{
"parent_id": 5,
"name":'João Silva',
"group":'Drogasil',
"contract_type":'Interno',
"expected_entry_time":'08:00',
"expected_exit_time":'17:00',
"status":'Ausente'
},
# Usuário 6
{
"parent_id": 6,
"name":'João Silva',
"group":'Drogasil',
"contract_type":'Interno',
"expected_entry_time":'08:00',
"expected_exit_time":'17:00',
"status":'Ausente'
},
]
for employee_data in employee:
# Verifica se já existe um papel para o service_id e name fornecidos
existing_employee = db.session.query(Employee).filter_by(
name=employee_data["name"],
group=employee_data["group"],
contract=employee_data["contract"],
data=employee_data["data"],
entry=employee_data["entry"],
exit=employee_data["exit"],
status=employee_data["status"]
).first()
# Se não existe, cria o novo papel
if not existing_employee:
employee = Employee(
name=employee_data["name"],
group=employee_data["group"],
contract=employee_data["contract"],
data=employee_data["data"],
entry=employee_data["entry"],
exit=employee_data["exit"],
status=employee_data["status"]
)
db.session.add(employee)
# Commit a transação para salvar os dados no banco
db.session.commit()