20 lines
704 B
Go
20 lines
704 B
Go
package services
|
|
|
|
import (
|
|
"git.mchus.pro/mchus/priceforge/internal/models"
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
// purgeSeenLotNames removes polluted seen-registry rows where another system wrote a LOT name
|
|
// into qt_vendor_partnumber_seen.partnumber. Keep rows that already have an explicit PN mapping.
|
|
func purgeSeenLotNames(db *gorm.DB) error {
|
|
if db == nil {
|
|
return nil
|
|
}
|
|
return db.
|
|
Where("EXISTS (SELECT 1 FROM lot l WHERE LOWER(TRIM(l.lot_name)) = LOWER(TRIM(qt_vendor_partnumber_seen.partnumber)))").
|
|
Where("NOT EXISTS (SELECT 1 FROM qt_partnumber_book_items pb WHERE LOWER(TRIM(pb.partnumber)) = LOWER(TRIM(qt_vendor_partnumber_seen.partnumber)))").
|
|
Delete(&models.VendorPartnumberSeen{}).
|
|
Error
|
|
}
|