fix(aihr): include org phones in supervisor team scope

This commit is contained in:
2026-07-09 16:45:57 +08:00
parent f2a21099d5
commit 8b92a7e9ac
@@ -48,6 +48,7 @@ import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
import java.util.Optional;
@@ -1415,6 +1416,17 @@ public class AihrPracticeSeedService {
WHERE tenant_id = ? AND project_code = ? AND employment_status = 'active'
ORDER BY position_level, person_name, ext_party_id
""", (rs, rowNum) -> rs.getString("ext_party_id"), TENANT_ID, row.projectCode());
if (hasPhone) {
ids = new ArrayList<>(new LinkedHashSet<>(ids));
ids.addAll(jdbcTemplate.query("""
SELECT person_phone
FROM aihr_org_snapshot
WHERE tenant_id = ? AND project_code = ? AND employment_status = 'active'
AND person_phone IS NOT NULL AND person_phone <> ''
ORDER BY position_level, person_name, ext_party_id
""", (rs, rowNum) -> rs.getString("person_phone"), TENANT_ID, row.projectCode()));
ids = new ArrayList<>(new LinkedHashSet<>(ids));
}
return TeamScope.scoped(ids);
}