refactor: update orchestrator service and travel form view
- services/orchestrator.py: update orchestrator service - views/TravelReimbursementCreateView.vue: update travel form view - views/scripts/TravelReimbursementCreateView.js: update travel form script
This commit is contained in:
@@ -1257,8 +1257,9 @@ class OrchestratorService:
|
||||
|
||||
if employee is not None:
|
||||
add_condition("employee_id", employee.id)
|
||||
add_condition("employee_name", employee.name)
|
||||
add_condition("employee_name", employee.email)
|
||||
if self._employee_name_is_unique(employee):
|
||||
add_condition("employee_name", employee.name)
|
||||
else:
|
||||
add_condition("employee_id", normalized_user_id)
|
||||
add_condition("employee_name", normalized_user_id)
|
||||
@@ -1268,6 +1269,19 @@ class OrchestratorService:
|
||||
return conditions, "你的报销单"
|
||||
return conditions, "当前用户的报销单"
|
||||
|
||||
def _employee_name_is_unique(self, employee: Employee) -> bool:
|
||||
normalized_name = str(employee.name or "").strip()
|
||||
if not normalized_name:
|
||||
return False
|
||||
|
||||
same_name_count = int(
|
||||
self.db.scalar(
|
||||
select(func.count()).select_from(Employee).where(Employee.name == normalized_name)
|
||||
)
|
||||
or 0
|
||||
)
|
||||
return same_name_count == 1
|
||||
|
||||
@staticmethod
|
||||
def _has_privileged_expense_query_access(context_json: dict[str, Any]) -> bool:
|
||||
role_codes = {
|
||||
|
||||
Reference in New Issue
Block a user