fix(ERP-372): синхронизировать фильтры getSalesCountSum с getSalesSum
На дашборде /dashboard/sales для магазинов с большой долей доставки
(например, 07 Аэродромная 28) средний чек расходился с суммой продаж:
avg = sum_count_query / cnt_count_query, при этом колонка «сумма продаж»
показывала результат другого запроса (getSalesSum) с более узким
фильтром.
Привожу getSalesCountSum к тем же условиям:
- LEFT JOIN sales sc ON sc.id = s.sales_check
- sc.order_id IS NULL OR IN ('','0') — отбрасываем строки, привязанные
через sales_check к доставочной продаже;
- s.marketplace_order_id IS NULL OR ='' — отбрасываем продажи маркетплейсов.
После фикса avg = sum / cnt совпадает с тем, что выводится в колонке
«сумма продаж».
Тесты (9/9 GREEN): unit на структуру SQL и биндинг параметров +
интеграционные на реальной БД (insert/rollback в транзакции),
проверяющие исключение маркетплейс- и доставочно-связанных продаж.