Реорганизация БД — шаг 3
Прежде чем дополнять старые таблицы, нужно додумать до конца концепцию хранения и, что не мало важно, извлечения, информации.
Все кубики, из которых собирается Тэ-Зэ — должны иметь обдуманную, понятную, расширяемую структуру.
Начнем по-порядку:
Тэ-Зэ начинается с данных клиента. Этот момент разобрали ранее: отдельно храним организации, отдельно персонажей. Из этих компонентов, в последствии, собирается карточка организации. Делая разного рода выборки, можно будет отобразить разнообразную аналитику.
Далее — суть Тэ-Зэ — материалы, и что с ними делать, чтоб получилось то, что хочет клиент.
Получается, что второй кубик — не так прост. Он сам состоит из своих маленьких кубиков.
К примеру: материал «Баннер литой (Европа) 440 гр./м²» — Имеет, кроме категории «Рулонных материалов», под-категории «Литые баннеры», свойства «граммаж», свойсва «цена за м²» и проч., еще и некоторые связи с табличкой Услуги (которую, мы пока еще не создали).
Сейчас я предприму попытку перечислить возможные услуги, и прокомментирую категории материалов, к которым они применимы:
- Широкоформатная печать — все рулонные
- Интерьерная печать — все рулонные
- Латексная печать — все рулонные (с ограничениями)
- УФ печать — все рулонные (с ограничениями), все листовые (с ограничениями)
- Обрезка ручная — все рулонные, листовые до 5 мм толщиной (подразумевается обрезка ножом/ножницами)
- Обрезка механическая — все рулонные, и листовые (подразумевается обрезка лобзиками, болгарками и циркулярками)
- Плоттерная резка — рулонные: пленки с клеем
- Выборка — рулонные: пленки с клеем, после Плоттерной резки
- Перенос на монтажную пленку — рулонные: пленки с клеем, после Выборки
- Лазерная резка — листовые: без ПВХ и металла
- Фрезеровка — листовые
- Ламинация — рулонные: пленки, бумага
- Прикатка — рулонные: пленки с клеем
- Усиление краев — рулонные: баннеры
- Установка люверсов — рулонные: баннеры
- Стыковка-спайка — рулонные: баннеры
- Изготовление карманов (для утяжелителей, к примеру) — рулонные: баннеры
- Натяжка на подрамник — рулонные: баннеры, текстиль
Пока хватит.
Комбинируя материалы и услуги, мы можем создавать продукты.
Допустим табличку мы можем собрать тремя разными способами (и это не предел):
- Интерьерная печать на самоклейке + прикатка на ПВХ
- УФ печать + ПВХ
- Плоттерная резка цветного оракала + выборка + перенос на монтажку + прикатка на ПВХ
Используя эти строительные блоки, мы будем генерировать инфо-текст для кейсов, а также будем использовать этот подход, для создания шаблонов Тэ-Зэ для типовых конструкций.
От сюда хорошо видно, что каждая услуга, применима к своему перечню материалов. Где-то к целой группе материалов, а где-то с ограничениями.
Более того, есть не очевидные моменты: скажем сразу — у каждой услуги, есть стоимость, и вот у люверсов, стоимостей ровно столько, сколько этих люверсов существует в природе диаметром.
Есть еще более не очевидные вещи — есть взаимоисключаемые услуги. Например, мы не можем пробить люверсы, по стороне баннера, на которой изготовлен карман — в карман тогда просто труба не войдет. Но относительно одного заказа, эти услуги можно применить обе. Бить люверсы и клеить карманы на разные стороны баннера.
А ламинация бывает двусторонней.
И ламинировать можно всеми материалами из категории «пленки с клеем».
Прикатка, тоже бывает двусторонней.
А усиление краев бывает двойным и тройным и еще в добавок с реп-шнуром ?
А еще продуктом может оказаться Объемная буква, тут может быть миллион комбинаций кубиков, где взаимоисключающих друг-друга два миллиона.
Следующий кубик Тэ-Зэ — Менеджер.
Почему-бы, не дать возможность Старшему менеджеру, или Руководству, написать Тэ-Зэ, и делегировать задачу другому менеджеру?
Ну или вот, заказали Пете, вчера, баннер. Он принял заказ, всё там провел, Тэ-Зэ запустил, и в отпуск лыжи намылил. И чего делать? Правильно — делегировать!
В сегодняшней ситуации, такой заказ остается виден производству и Старшему менеджеру. То-есть, автоматом, не в чем не повинный Старший менеджер, резко приобретает дополнительную головную боль.
А раз мы об этом подумали, то неплохо бы предусмотреть логирование цепочки делегирований.
Далее — Даты
Даты, имеют свойства: срываться, переноситься, уточняться, отсутствовать вовсе, и прочее. Это не шутки, это жизнь =/
Даты будем хранить как есть, и логировать в случае изменений. Наверное даже комментарии какие-то задумаем, для оправданий ;))
Чем мельче мы разберем на компоненты Тэ-Зэшку, тем гибче сможем проводить аналитику. Но увлекаться и перегибать не стоит. Всё в рамках разумного.
В следующем посте, мы модернизируем существующую форму Тэ-Зэ на печать, подгрузив в выпадающий список материалов — материалы из БД.
Да-да, сейчас оно прямо в хтмле прописано О__О