diff --git a/backend/src/multi-state/state-query-service.ts b/backend/src/multi-state/state-query-service.ts index 013f4d4d..c353e5af 100644 --- a/backend/src/multi-state/state-query-service.ts +++ b/backend/src/multi-state/state-query-service.ts @@ -702,23 +702,25 @@ export class StateQueryService { async getNationalSummary(): Promise { const stateMetrics = await this.getAllStateMetrics(); - // Active states = states with at least one crawl-enabled dispensary + // Active states = states with at least one dispensary that has products const result = await this.pool.query(` SELECT COUNT(DISTINCT s.code) AS total_states, COUNT(DISTINCT CASE WHEN EXISTS ( - SELECT 1 FROM dispensaries d WHERE d.state = s.code AND d.crawl_enabled = true + SELECT 1 FROM dispensaries d + JOIN store_products sp ON sp.dispensary_id = d.id + WHERE d.state = s.code ) THEN s.code END) AS active_states, - (SELECT COUNT(*) FROM dispensaries WHERE state IS NOT NULL AND crawl_enabled = true) AS total_stores, + (SELECT COUNT(*) FROM dispensaries WHERE state IS NOT NULL) AS total_stores, (SELECT COUNT(*) FROM store_products sp JOIN dispensaries d ON sp.dispensary_id = d.id - WHERE d.state IS NOT NULL AND d.crawl_enabled = true) AS total_products, + WHERE d.state IS NOT NULL) AS total_products, (SELECT COUNT(DISTINCT brand_id) FROM store_products sp JOIN dispensaries d ON sp.dispensary_id = d.id - WHERE d.state IS NOT NULL AND d.crawl_enabled = true AND sp.brand_id IS NOT NULL) AS total_brands, + WHERE d.state IS NOT NULL AND sp.brand_id IS NOT NULL) AS total_brands, (SELECT AVG(price_rec) FROM store_products sp JOIN dispensaries d ON sp.dispensary_id = d.id - WHERE d.state IS NOT NULL AND d.crawl_enabled = true AND sp.price_rec > 0) AS avg_price_national + WHERE d.state IS NOT NULL AND sp.price_rec > 0) AS avg_price_national FROM states s `);