feat: price_quality индикатор для прайслиста; убраны неиспользуемые price_method/period/coefficient/manual_price/meta_prices

Прайслисты: добавлено поле price_quality (0-9, выставляется внешней
утилитой ценообразования на основе количества/свежести котировок за
период — QF только отображает, не считает сам). В карточке прайслиста
рядом с ценой показывается предупреждение (жёлтый/красный «!») при
quality < 7.

price_method/price_period_days/price_coefficient/manual_price/meta_prices
убраны из контракта QF (models.PricelistItem, local_pricelist_items,
API, колонка «Настройки» на странице прайслиста) — эти поля принадлежат
внешнему движку ценообразования и нигде не использовались в клиенте.
Сами колонки в qt_pricelist_items не трогаем — оставлены для обратной
совместимости с внешней системой.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Mikhail Chusavitin
2026-07-22 18:09:01 +03:00
co-authored by Claude Sonnet 5
parent 39e6fd5642
commit bea8d9453e
8 changed files with 90 additions and 128 deletions
+3 -7
View File
@@ -197,13 +197,9 @@ type LocalPricelistItem struct {
LotDescription string `gorm:"column:lot_description" json:"lot_description,omitempty"`
Price float64 `gorm:"not null" json:"price"`
// Price calculation settings, mirrored from qt_pricelist_items for display
// in the pricelist detail UI (formatPriceSettings in pricelist_detail.html).
PriceMethod string `gorm:"column:price_method" json:"price_method,omitempty"`
PricePeriodDays int `gorm:"column:price_period_days;default:90" json:"price_period_days"`
PriceCoefficient float64 `gorm:"column:price_coefficient;default:0" json:"price_coefficient"`
ManualPrice *float64 `gorm:"column:manual_price" json:"manual_price,omitempty"`
MetaPrices string `gorm:"column:meta_prices" json:"meta_prices,omitempty"`
// PriceQuality mirrors qt_pricelist_items.price_quality: a 0-9 score set by
// the external pricing tool. 7-9 good, 4-6 warning, 0-3 poor.
PriceQuality *int `gorm:"column:price_quality" json:"price_quality,omitempty"`
}
func (LocalPricelistItem) TableName() string {