Moqui - связать несколько активов в актив

У объекта активов в Moqui есть поле связанных активов. Но у нас есть случай использования, когда несколько активов должны быть связаны с активом.

Например, инструмент (производственное оборудование) может использоваться только на указанном станке (производственное оборудование). Мы изучаем возможность создания объекта объединения.

Мы отклоняемся от лучших практик фреймворка?

Добавлено для ответа на комментарий Дэвида Э Джонса

Бизнес-требование

  1. Существует специальный инструмент, предназначенный для изготовления компонента.
  2. Этот инструмент технически совместим с широким спектром машин в эксплуатации.
  3. Стоимость эксплуатации рассматриваемых машин варьируется в очень широком диапазоне. Таким образом, инструмент следует использовать только на конкретных машинах, чтобы сохранить общую стоимость производимого компонента в пределах указанной полосы.
  4. Таким образом, для данного инструмента мы намерены назначить разрешенные машины и использовать для производства только назначенные машины.

2 ответа

Решение

Как заметил Дэвид, сложно разработать бизнес-требования без подробностей и контекста, и здесь относительно мало что можно сделать.

Я предполагаю, что инструменты, которые могут быть установлены на конкретном компьютере, могут включать в себя большой диапазон, связанный с диапазоном спецификаций компонентов для заказов на компонент, который может прийти.

Я предполагаю, что основным процессом, который будет здесь разработан, будет выбор наиболее экономически оптимального станка для настройки с использованием оснастки для конкретного заказа, который всегда будет варьироваться в зависимости от других текущих или запланированных заказов, а также от машин, которым эти заказы были назначены. к.

Возвращаясь к вашему запросу с учетом вышесказанного, если вы определяете конкретные инструменты или инструменты в качестве активов, это может включать подход, позволяющий взглянуть на определение assetTypeEnumId как "tooling" или аналогичный, и использовать classEnumId для типов ресурсов компьютеров и оснастка для определения максимального экономического уровня станка, с которым должен использоваться инструмент, и т. д.

В качестве альтернативы или дополнения может быть полезно взглянуть на сущность AssetStandardCost и настроить некоторые перечисления для assetStandardCostTypeEnumId.

Мне кажется, на первый взгляд, что попытка напрямую связать несколько инструментов с несколькими машинами (с рядом ограничений в дополнение) быстро приведет к экспоненциальным возможностям.

В целом, по моему опыту, если вы посмотрите на существующие сущности, они, как правило, предложат различные подходы, и позже, когда возникнут дополнительные требования, вы можете порадоваться, что использовали то, что существовало, а не пытались сделать что-то новое.

Бизнес-требования сложно разработать без деталей и контекста, но похоже, что вы действительно хотите смоделировать не на уровне активов, а на уровне продукта. Для продуктов типа активов Продукт и связанные объекты (например, ProductAssoc) используются для определения характеристик физических элементов, записи активов представляют фактические физические элементы.

Одним из примеров этого является сторона обслуживания вещей. График обслуживания является частью определения Продукта (применимо ко всем активам для этого продукта), а история обслуживания - это часть активов (применяется только к определенным физическим элементам).

Другие вопросы по тегам