refactor(backend): update employees endpoint and service

- endpoints/employees.py: update employees API endpoint
- services/employee.py: update employee service
This commit is contained in:
caoxiaozhu
2026-05-14 02:55:58 +00:00
parent c0401dbd0d
commit 53c060de97
2 changed files with 40 additions and 0 deletions

View File

@@ -333,6 +333,27 @@ class EmployeeService:
logger.info("Disabled employee id=%s no=%s", employee.id, employee.employee_no)
return self._serialize_employee(hydrated or saved)
def enable_employee(self, employee_id: str) -> EmployeeRead:
self.ensure_directory_ready()
employee = self.repository.get(employee_id)
if employee is None:
raise LookupError("Employee not found")
if employee.employment_status != "停用":
return self._serialize_employee(employee)
now = datetime.now()
employee.employment_status = "在职"
employee.sync_state = "已同步"
employee.last_sync_at = now
self._append_change_log(employee, action="启用员工账号", occurred_at=now)
saved = self.repository.save(employee)
hydrated = self.repository.get(saved.id)
logger.info("Enabled employee id=%s no=%s", employee.id, employee.employee_no)
return self._serialize_employee(hydrated or saved)
def _seed_roles(self) -> None:
existing_by_code = {role.role_code: role for role in self.repository.list_roles()}