Vendor mapping: wildcard ignore patterns, bulk CSV import, multi-lot qty
- Add glob pattern support (* and ?) for ignore rules stored in qt_vendor_partnumber_seen (is_pattern flag, migration 041) - Pattern matching applied in stock/competitor import, partnumber book snapshot, and vendor mappings list (Go-side via NormalizeKey) - BulkUpsertMappings: replace N+1 loop with two batch SQL upserts, validating all lots in a single query (~1500 queries → 3-4) - CSV import: multi-lot per PN via repeated rows, optional qty column - CSV export: updated column format vendor;partnumber;lot_name;qty;description;ignore;notes - UI: ignore patterns section with add/delete, import progress feedback - Update bible-local/vendor-mapping.md with new CSV format Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -621,6 +621,9 @@ func setupRouter(cfg *config.Config, configPath string, connMgr *db.ConnectionMa
|
||||
pricingAdmin.DELETE("/vendor-mappings", pricingHandler.DeleteVendorMapping)
|
||||
pricingAdmin.POST("/vendor-mappings/ignore", pricingHandler.IgnoreVendorMapping)
|
||||
pricingAdmin.POST("/vendor-mappings/unignore", pricingHandler.UnignoreVendorMapping)
|
||||
pricingAdmin.GET("/vendor-mappings/ignore-patterns", pricingHandler.ListIgnorePatterns)
|
||||
pricingAdmin.POST("/vendor-mappings/ignore-patterns", pricingHandler.CreateIgnorePattern)
|
||||
pricingAdmin.DELETE("/vendor-mappings/ignore-patterns", pricingHandler.DeleteIgnorePattern)
|
||||
pricingAdmin.GET("/alerts", pricingHandler.ListAlerts)
|
||||
pricingAdmin.POST("/alerts/:id/acknowledge", pricingHandler.AcknowledgeAlert)
|
||||
pricingAdmin.POST("/alerts/:id/resolve", pricingHandler.ResolveAlert)
|
||||
|
||||
Reference in New Issue
Block a user