Это небольшая проблема для вас, коллега по цвету.
Я работаю с базой данных продуктов, которые мы продаем в нашем веб-приложении для котировок.Каждый продукт имеет следующие атрибуты:
- Уникальный идентификатор
- Артикул
- Описание
- Цена
- Запчасти
Чтобы дать вам общее представление, мы производим солярии, и у нас есть около 800 типовых моделей.Очевидно, что в зависимости от клиента и его дома общая модель может не подходить, и ее необходимо изменить с помощью «опций», таких как добавление двери сбоку, изменение цвета и т. Д.
По состоянию на данный моментв нашей системе предложений мы не беспокоимся о том, какой вариант (новый цвет, дополнительная дверь и т. д.) выбрал клиент для своей солярии, мы просто беспокоимся об общем названии модели (например: SUN-0810 для8 на 10 (солярий), а затем установите для него цену.
Моя конечная цель - создать спецификацию (ведомость материалов или список деталей) для предложения в зависимости от того, какую модель и какие опции заказчиквыбрал.У нас уже есть все детали, хранящиеся в базе данных, и они должны быть связаны с моделями.
Теперь вот моя проблема: у нас есть ~ 800 различных моделей с широким выбором опций для каждой.Например, стандартная солярий состоит из левой стены, центра и правой стены.Стена может быть трех разных цветов, может не иметь ни двери, ни одной двери (возможно, больше в зависимости от размера солярия).Центр также может быть трех разных цветов и 11 разных длин.
Вот пример одной комбинации для универсальной модели:
SUN-0810 (солярий 8 футов на 10 футов)
- Левая стена: уголь длиной 8 футов с дверью
- Правая стена: уголь длиной 8 футов без двери
- В центре: уголь длиной 10 футов
Отсюда и новыйНазвание модели ( SKU ) для этой конкретной комбинации будет выглядеть примерно так:
SUN-0810CH-L1-R0 .
В концепросто для солярия 8 на 10 (SUN-0810) я бы закончил с этим:
- SUN-0810CH-L0-R0 (8 на 10, цвет = угольный, левая стена = нетдверь, правая стена = нет двери)
- SUN-0810CH-L1-R0 (8 на 10, цвет = уголь, левая стена = с дверью, правая стена = нет двери)
- SUN-0810CH-L0-R1 (8 на 10, цвет = уголь, левая стена = нет двери, правая стена = с дверью)
- SUN-0810CH-L1-R1 (8 на 10, цвет = уголь, левая стена= с дверью, с правой стенкой = с дверью)
- SUN-0810SM-L0-R0 (8 на 10, цвет = дым, левая стена = нет двери, правая стена = нет двери)
- SUN-0810SM-L1-R0 (8 на 10, цвет = дым, левая стена = с дверью,правая стена = нет двери)
- SUN-0810SM-L0-R1 (8 на 10, цвет = дым, левая стена = нет двери, правая стена = с дверью)
- SUN-0810SM-L1-R1 (8 на 10, цвет = дым, левая стена = с дверью, правая стена = с дверью)
Чтобы сохранить ваши детали, у нас есть около 800 типовых моделей, таких как SUN-0810,Я выполнил некоторые математические расчеты и понял, что если бы я хранил каждую возможную комбинацию варианта продукта, это привело бы к более чем 50 000 различных продуктов.
Допустим, все 50 000 различных продуктов хранятся в базе данных, мне нужно определить их части для каждого из них.Как я уже говорил выше, части уже хранятся в базе данных.Вот несколько примеров:
Part SKU | Описание
ENT28 28 дюймов Поперечная шпилька
SCREW6-ZW 6 ммцинковый белый винт
ATT90ALU 90 градусов алюминиевая стяжка
Конечный результат будет следующим:
SUN-0810CH-L1-R0 содержит:
- ENT28 x4
- SCREW6-ZW x19
- ....
- ....
Я понял, что основная проблема заключается в том, что большинство моделей содержат более 50+ частей каждая, и потребуется целая вечность, чтобы определить состав всех 50 000 различных моделей.
Таким образом, я ищу некоторую помощь или некоторые идеи о том, как решить эту проблему или выполним ли мой подход.
Спасибо за ваше время.