0

The assets entity in Moqui has an associated asset field. But, we have a use case where multiple assets need to be associated with an asset.

For example, a tool(manufacturing equipment) may be used only in specified machine(manufacturing equipment). We are exploring the option to create an join entity.

Are we deviating from the best practices of framework?

Added to answer the comment from David E Jones

Business Requirement

  1. There is a custom tool designed to manufacture a component.
  2. This tool is technically compatible with wide range of machines in operation.
  3. The operating cost of machines in question vary in a very wide band. So, the tool should be used only on specific machines to keep the overall cost of manufactured component within a specified band.
  4. So, for a given tool, we intend to assign the allowed machine(s) and use only assigned machines for manufacturing.
fossil
  • 740
  • 6
  • 17
  • What exactly are you trying to track? Are you talking about a particular tooling set up on a machine? What is the process? For example if an order came in for a particular component, the business would see what machines were available at that time (depending on other current orders); choose one machine to set up with this particular tooling; and 'book' or 'issue' out that machine for the period that the manufacturing run would require? I'm just guessing really, but is that the kind of thing you're talking about? – Ronan Keane Feb 12 '19 at 13:22
  • @RonanKeane, Yes. You are right. Some times a particular tool can be setup on machines of different capacities, but does not make economical sense. So, a tool may be setup on a subset of machines. – fossil Feb 12 '19 at 14:56

2 Answers2

0

Business requirements are difficult to design for without detail and context, but it sounds like what you really want to model is not at the Asset level but at the Product level. For asset type products the Product and related entities (like ProductAssoc) are used to define characteristics of physical items, Asset records represent the actual physical items.

One example of this is the maintenance side of things. The maintenance schedule is part of the Product definition (applicable to all assets for that product) and the maintenance history is part of the Asset side of things (applicable only to specific physical items).

David E. Jones
  • 1,721
  • 1
  • 9
  • 8
0

As David remarked it is difficult to design for business requirements without detail and context, and there is relatively little to go on here.

I guess the tooling that might be set up on a particular machine could comprise a large range, related to the range of component specifications of orders for a component that might come in.

The main process to be designed here I guess would be to choose the most economically optimum machine to set up with the tooling for a particular order, and that would always vary depending on the other orders ongoing or scheduled, and the machines those orders were assigned to.

Back to your query with the above in mind, if you are defining particular toolings or tools as assets, it might comprise an approach to look at defining the assetTypeEnumId as 'tooling' or similar, and use the classEnumId across the asset types of machines and toolings to stipulate the maximum economic level of machine that the tool should be used with, etc.

Alternatively, or in addition, it might be useful to look at the AssetStandardCost entity and into setting up some enums for assetStandardCostTypeEnumId.

It would seem to me on the surface that the approach of trying to directly associate multiple toolings to multiple machines (with a range of constraints in addition) would quickly lead to exponential possibilities.

All in all, my experience would be that if you look into the existing entities they will typically suggest a variety of approaches, and later on when further requirements arise you may be glad you used what was existing rather than try and do something new.

Ronan Keane
  • 189
  • 8
  • David's reply prompted me to think beyond the current requirement. Furthermore, following the best practices, reworked to strategy to stipulate the machine to be used for a particular tool based on certain parameters, which includes the asset cost. Thanks for the suggestions on assetTypeEnumeration. It will help to organize the tools and machines. – fossil Feb 13 '19 at 18:14