feat: enhance theme and permit listing with filtering and risk counts
- Filter out "不涉及" (not applicable) theme from list_all_themes() - Add risk_count column to list_unbound_permits() with aggregated risk counts - Improve unbound permits API to display risk count per permit-region combination Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
fe911592e0
commit
b0590fda30
|
|
@ -2648,6 +2648,10 @@ def list_all_themes(
|
|||
for row in rows:
|
||||
record = {columns[idx]: row[idx] for idx in range(len(columns))}
|
||||
items.append(_serialize_theme_row(record))
|
||||
|
||||
# 过滤掉"不涉及"主题
|
||||
items = [item for item in items if item.get("name") != "不涉及"]
|
||||
|
||||
return items
|
||||
|
||||
|
||||
|
|
@ -2706,13 +2710,23 @@ def list_unbound_permits(
|
|||
p.name AS permit_name,
|
||||
rpd.unit_name,
|
||||
rpd.updated_at,
|
||||
COALESCE(rpd.is_v2_visible, true) AS is_v2_visible
|
||||
COALESCE(rpd.is_v2_visible, true) AS is_v2_visible,
|
||||
COALESCE(risk_counts.risk_count, 0) AS risk_count
|
||||
FROM region_permit_details rpd
|
||||
JOIN regions r ON r.id = rpd.region_id
|
||||
JOIN permits p ON p.id = rpd.permit_id
|
||||
LEFT JOIN region_theme_permits rtp
|
||||
ON rtp.region_id = rpd.region_id
|
||||
AND rtp.permit_id = rpd.permit_id
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
permit_id,
|
||||
region_id,
|
||||
COUNT(risk_id) AS risk_count
|
||||
FROM region_permit_risks
|
||||
GROUP BY permit_id, region_id
|
||||
) risk_counts ON risk_counts.permit_id = rpd.permit_id
|
||||
AND risk_counts.region_id = rpd.region_id
|
||||
{ps_join}
|
||||
WHERE {where_clause}
|
||||
ORDER BY r.name, p.name
|
||||
|
|
|
|||
Loading…
Reference in New Issue