Mikhail Chusavitin c53c484bde Replace competitor discount with price_uplift; stock pricelist detail UI
- Drop `expected_discount_pct`, add `price_uplift DECIMAL(8,4) DEFAULT 1.3`
  to `qt_competitors` (migration 040); formula: effective_price = price / uplift
- Extend `LoadLotMetrics` to return per-PN qty map (`pnQtysByLot`)
- Add virtual fields `CompetitorNames`, `PriceSpreadPct`, `PartnumberQtys`
  to `PricelistItem`; populate via `enrichWarehouseItems` / `enrichCompetitorItems`
- Competitor quotes filtered to qty > 0 before lot resolution
- New "stock layout" on pricelist detail page for warehouse/competitor:
  Partnumbers column (PN + qty, only qty>0), Поставщик column, no Настройки/Доступно
- Spread badge ±N% shown next to price for competitor rows
- Bible updated: pricelist.md, history.md

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-13 12:58:41 +03:00
2026-03-08 17:09:43 +03:00
2026-02-18 07:01:49 +03:00
2026-03-01 16:58:28 +03:00
2026-02-07 21:42:26 +03:00
2026-02-07 21:42:26 +03:00
2026-02-08 08:57:52 +03:00
2026-02-08 08:57:52 +03:00
2026-02-08 08:57:52 +03:00

PriceForge

Price and pricelist manager for MariaDB.

Quick Start

cp config.example.yaml config.yaml
# Edit config.yaml: database.host, name, user, password
make run

Commands

make run           # dev server
make build         # local build
make build-release # release build
make build-all     # cross-compile Linux/macOS/Windows
make test          # run tests
go run ./cmd/pfs -migrate   # run migrations
./bin/pfs -version          # check version
./scripts/release.sh        # build release archives

Requirements

  • Go 1.22+
  • MariaDB / MySQL

macOS Gatekeeper

xattr -d com.apple.quarantine /path/to/pfs-darwin-arm64
Description
No description provided
Readme 261 MiB
Languages
Go 47.2%
CSS 25.1%
JavaScript 16%
HTML 11.3%
Makefile 0.2%
Other 0.2%