fix: minibar deposit — использовать актуальную цену из справочника, а не историческую

Ранее в форме удержания депозита показывалась цена на момент уборки (price_per_unit).
Теперь используется текущая цена позиции (mi.price) — чтобы изменения цен сразу
отражались в счёте. Если цена менялась — показываем индикатор ↑ с tooltip.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-06 15:51:34 +03:00
parent 54d0d2d817
commit 83d797c55f
3 changed files with 33 additions and 18 deletions

View File

@@ -497,10 +497,13 @@ ${refund > 0 && (!items || items.length === 0) ? `<p style="color:#16a34a">Ос
if (!bRows[0]?.room_id) return { items: [], total: 0 }
// Get all minibar consumptions from housekeeping tasks for this room
// Use current item price (mi.price) — so price changes in settings are reflected
const { rows } = await db.query(
`SELECT mc.quantity, mc.price_per_unit,
`SELECT mc.quantity,
mc.price_per_unit AS recorded_price,
mi.price AS current_price,
mi.name AS item_name,
(mc.quantity * mc.price_per_unit) AS line_total
(mc.quantity * mi.price) AS line_total
FROM minibar_consumptions mc
JOIN minibar_items mi ON mi.id = mc.item_id
JOIN housekeeping_tasks ht ON ht.id = mc.task_id