Я пытаюсь создать базовый Система управления торговыми точками и запасами.
Некоторые вещи, которые следует учитывать:
- Продукты всегда имеют один и тот же (один и тот же идентификатор)во всей системе, но инвентарные (доступные для продажи единицы продукта)уникальны для каждого местоположения. В обоих местах Y и Z могут быть выставлены на продажу единицы продукта X, но если, например, две единицы продаются в местоположении Y, это не должно повлиять на запасы в местоположении Z. Снабженные подразделения до сих пор не повреждены.
- Продажа одной (1)единицы продукта X из местоположения Y означает, что запасы в местоположении Y должны вычесть одну единицу из его запасов.
Исходя из этого, я подумал об этих таблицах:
местоположения
продукты
транзакции
запасы _заголовок
- идентификатор
- местоположение _идентификатор
- продукт _идентификатор
запасы _деталь
- запасы _идентификатор
- транзакция _идентификатор
- единица_стоимость
- единица_цена
- количество
заказы_заголовок
- идентификатор
- дата
- итог (рассчитано из заказов_подробно количество *цена; только для будущей проверки данных)
заказы_детали
- заказ_id
- транзакция_id
- продукт_id
- количество
- цена
Хорошо, так есть вопросы? Конечно.
- Как отслеживать изменения стоимости единиц? Если когда-нибудь я начну платить больше за определенный продукт, мне нужно будет каким-то образом отслеживать предельную полезность (
(cost*quantity) - (price*quantity) = marginal utility
). Я думал об описях_в основном для этого. Меня бы это не волновало.
- Хорошо ли налажены отношения? Мне до сих пор трудно понять, есть ли в локациях инвентарь, или инвентарь имеет несколько локаций. Это сводит с ума.
- Как бы вы сохранили/узнали свой текущий уровень запасов? Поскольку мне пришлось отделить таблицу запасов, чтобы не отставать от обновлений стоимости, я думаю, мне просто нужно было бы сложить все количества, указанные в деталях запасов_.
- Хотите поделиться предложениями?
Я уверен, что у меня еще остались вопросы, но в основном это те, на которые мне нужно ответить. Кроме того, поскольку я использую Ruby on Rails в первый раз, на самом деле, в качестве учебного опыта, стыдно останавливаться на дизайне, не позволяя мне быстрее завершить реализацию, но я думаю, что так и должно быть.
Заранее спасибо.
задан Andrés Botero 6 April 2012 в 00:08
поделиться