<?xml version="1.0" encoding="ISO-8859-1"?>
<objectModel xmlns="http://www.codelutin.org/lutingenerator/objectModel" name="NeoGia" version="">
  <comment>Summary for Manufacturing</comment>
  <comment>There is sufficient stock level
at the requirement date.
Related stockEventPlanned are
RESERVED</comment>
  <comment>The related stockEventPlanned are
associated to stockItems.
Related stockEventPlanned are
CLOSED_RESERVED.</comment>
  <comment>Related StockEventPlanned are
created in PLANNED status</comment>
  <comment>Subcontracting management
a proposedOrder is created too</comment>
  <comment>WRun and OrderItem associations
subcontract  &amp; re-order</comment>
  <comment>productDelivery</comment>
  <comment>ProjectRun Creation, 
there is a other diagram for update

Currently this version is writed, based on the WRun</comment>
  <comment>This is called for each 
valid Task</comment>
  <comment>This is called for each 
TechDataResource</comment>
  <comment>WRun creation, 
and taskFulfilment and ...</comment>
  <comment>This entity has been copied from OFBiz manufacturing-Bom sub component

author :  Jacopo Cappellato
Association has not be defined but will be done ;-)
UML refactorization has not yet be done

Currently, this entity has been copied to be able to have manufacturing-Bom sub component
integrated in Neogia-Manufacturing</comment>
  <comment>Capacity Planning</comment>
  <comment>Currently only one by 
MpsPlanningPeriod</comment>
  <comment>MPS</comment>
  <class name="StockItem" extern="true" package="org.neogia.facility.location.entities">
    <stereotype name="entity"/>
    <attribute visibility="protected" type="org.neogia.product.product.entities.Product" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="protected" type="org.neogia.facility.stockevent.entities.StockEvent" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
  </class>
  <class name="Facility" extern="true" package="org.neogia.facility.location.entities">
    <stereotype name="entity"/>
    <comment>Picking Facility</comment>
    <comment>Picking Facility</comment>
    <attribute visibility="public" type="org.neogia.manufacturing.jobshopmgt.entities.WRun" reverseAttribute="defaultPick" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.manufacturing.jobshopmgt.entities.RunComponent" reverseAttribute="picking" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.manufacturing.jobshopmgt.entities.RunComponent" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.manufacturing.planning.entities.MrpRun" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="1" maxMultiplicity="1" navigable="false" ordering="unordered"/>
  </class>
  <class name="RunCompoStockEvent" extern="true" package="org.neogia.facility.stockevent.entities">
    <stereotype name="entity"/>
    <superclass name="org.neogia.facility.stockevent.entities.StockEvent" discriminator=""/>
    <attribute visibility="protected" type="org.neogia.manufacturing.jobshopmgt.entities.RunComponent" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="false" ordering="unordered"/>
  </class>
  <class name="StockEvent" extern="true" package="org.neogia.facility.stockevent.entities">
    <stereotype name="entity"/>
    <attribute visibility="protected" type="org.neogia.facility.location.entities.StockItem" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
  </class>
  <class name="RunStockEvent" extern="true" package="org.neogia.facility.stockevent.entities">
    <stereotype name="entity"/>
    <attribute visibility="public" type="org.neogia.manufacturing.jobshopmgt.entities.WRun" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="false" ordering="unordered"/>
  </class>
  <class name="RunCompoStkEvPlan" extern="true" package="org.neogia.facility.stockevent.entities">
    <stereotype name="entity"/>
    <superclass name="org.neogia.facility.stockevent.entities.StockEventPlanned" discriminator=""/>
    <attribute visibility="protected" type="org.neogia.manufacturing.jobshopmgt.entities.RunComponent" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="false" ordering="unordered"/>
  </class>
  <class name="RunStockEventPlanned" extern="true" package="org.neogia.facility.stockevent.entities">
    <stereotype name="entity"/>
    <superclass name="org.neogia.facility.stockevent.entities.StockEventPlanned" discriminator=""/>
    <attribute visibility="protected" type="org.neogia.manufacturing.jobshopmgt.entities.WRun" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="false" ordering="unordered"/>
  </class>
  <class name="StockEventPlanned" extern="true" package="org.neogia.facility.stockevent.entities">
    <stereotype name="entity"/>
    <comment>Mrp inputs. They can be filtered according to MrpRun settings</comment>
    <comment>Mrp inputs.They can be filtered accordingto MrpRun settings</comment>
    <attribute name="generated" visibility="protected" type="org.neogia.manufacturing.planning.entities.ProposedOrder" reverseAttribute="origin" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="documentation" value="&lt;p&gt;multiplicity is only one but currently Neogia generator does'nt manage 1-1 association so the getGeneratedPropOrder will be write manually&lt;/p&gt;"/>
    </attribute>
  </class>
  <class name="OrderStockEventPlanned" extern="true" package="org.neogia.facility.stockevent.entities">
    <stereotype name="entity"/>
    <superclass name="org.neogia.facility.stockevent.entities.StockEventPlanned" discriminator=""/>
    <attribute visibility="public" type="org.neogia.order.order.entities.OrderItem" reverseAttribute="" associationType="aggregate" reverseMaxMultiplicity="1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.order.order.entities.OrderItemShipGroupAssoc" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.order.order.entities.OrderItem" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
  </class>
  <class name="MpsStockEventPlan" extern="true" package="org.neogia.facility.stockevent.entities">
    <stereotype name="entity"/>
    <comment>Currently only one by MpsPlanningPeriod</comment>
    <attribute visibility="public" type="org.neogia.manufacturing.mps.entities.MpsPPlanPeriod" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
  </class>
  <class name="QuoteStockEventPlanned" extern="true" package="org.neogia.facility.stockevent.entities">
    <stereotype name="entity"/>
    <superclass name="org.neogia.facility.stockevent.entities.StockEventPlanned" discriminator=""/>
    <attribute visibility="public" type="org.neogia.order.quote.entities.QuoteItem" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="false" ordering="unordered"/>
  </class>
  <class name="TechDataCalendar" package="org.neogia.manufacturing.techdata.entities">
    <stereotype name="entity"/>
    <tagValue name="gui" value="list, edit, show, lookup"/>
    <tagValue name="cache" value="true"/>
    <tagValue name="shortName" value="tdcal"/>
    <tagValue name="alreadyExistingOfbizEntities" value="true"/>
    <attribute name="calendarId" associationType="composite" visibility="protected" type="java.lang.String" minMultiplicity="1" maxMultiplicity="1">
      <tagValue name="primaryKey" value="true"/>
      <tagValue name="gui" value="indexed"/>
    </attribute>
    <attribute name="description" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="ofbizEntityType" value="description"/>
    </attribute>
    <operation name="add" visibility="public">
      <parameter name="date" type="java.sql.Timestamp"/>
      <parameter name="amount" type="long"/>
      <returnParameter type="java.sql.Timestamp"/>
    </operation>
    <attribute visibility="public" type="org.neogia.manufacturing.techdata.entities.CalendarWeek" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.manufacturing.techdata.entities.TechDataResource" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="false" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.manufacturing.techdata.entities.CalendarException" reverseAttribute="" associationType="composite" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="editAssoc"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.manufacturing.mps.entities.ForecastPlanning" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="false" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.manufacturing.mps.entities.MpsPlanning" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="false" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.accounting.fixedasset.entities.FixedAsset" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
  </class>
  <class name="CalendarWeek" package="org.neogia.manufacturing.techdata.entities">
    <stereotype name="entity"/>
    <tagValue name="gui" value="listAll, edit, drop-down, show"/>
    <tagValue name="cache" value="true"/>
    <tagValue name="shortName" value="cw"/>
    <attribute name="idName" associationType="composite" visibility="protected" type="java.lang.String" minMultiplicity="1" maxMultiplicity="1">
      <tagValue name="gui" value="list"/>
      <tagValue name="primaryKey" value="true"/>
    </attribute>
    <attribute name="description" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="gui" value="list"/>
    </attribute>
    <attribute name="mondayStartTime" associationType="composite" visibility="protected" type="java.sql.Time">
      <tagValue name="defaultValue" value="new Time(0)"/>
    </attribute>
    <attribute name="mondayCapacity" associationType="composite" visibility="protected" type="long">
      <tagValue name="defaultValue" value="0"/>
    </attribute>
    <attribute name="tuesdayStartTime" associationType="composite" visibility="protected" type="java.sql.Time">
      <tagValue name="defaultValue" value="new Time(0)"/>
    </attribute>
    <attribute name="tuesdayCapacity" associationType="composite" visibility="protected" type="long">
      <tagValue name="defaultValue" value="0"/>
    </attribute>
    <attribute name="wednesdayStartTime" associationType="composite" visibility="protected" type="java.sql.Time">
      <tagValue name="defaultValue" value="new Time(0)"/>
    </attribute>
    <attribute name="wednesdayCapacity" associationType="composite" visibility="protected" type="long">
      <tagValue name="defaultValue" value="0"/>
    </attribute>
    <attribute name="thursdayStartTime" associationType="composite" visibility="protected" type="java.sql.Time">
      <tagValue name="defaultValue" value="new Time(0)"/>
    </attribute>
    <attribute name="thursdayCapacity" associationType="composite" visibility="protected" type="long">
      <tagValue name="defaultValue" value="0"/>
    </attribute>
    <attribute name="fridayStartTime" associationType="composite" visibility="protected" type="java.sql.Time">
      <tagValue name="defaultValue" value="new Time(0)"/>
    </attribute>
    <attribute name="fridayCapacity" associationType="composite" visibility="protected" type="long">
      <tagValue name="defaultValue" value="0"/>
    </attribute>
    <attribute name="saturdayStartTime" associationType="composite" visibility="protected" type="java.sql.Time">
      <tagValue name="defaultValue" value="new Time(0)"/>
    </attribute>
    <attribute name="saturdayCapacity" associationType="composite" visibility="protected" type="long">
      <tagValue name="defaultValue" value="0"/>
    </attribute>
    <attribute name="sundayStartTime" associationType="composite" visibility="protected" type="java.sql.Time">
      <tagValue name="defaultValue" value="new Time(0)"/>
    </attribute>
    <attribute name="sundayCapacity" associationType="composite" visibility="protected" type="long">
      <tagValue name="defaultValue" value="0"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.manufacturing.techdata.entities.TechDataCalendar" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="false" ordering="unordered"/>
  </class>
  <class name="TechDataResource" package="org.neogia.manufacturing.techdata.entities">
    <stereotype name="entity"/>
    <tagValue name="gui" value="list, edit, drop-down, show"/>
    <tagValue name="cache" value="true"/>
    <tagValue name="shortName" value="tdres"/>
    <attribute name="idName" associationType="composite" visibility="protected" type="java.lang.String" minMultiplicity="1" maxMultiplicity="1">
      <tagValue name="primaryKey" value="true"/>
      <tagValue name="gui" value="indexed"/>
    </attribute>
    <attribute name="description" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="gui" value="indexed"/>
    </attribute>
    <attribute name="resourceQuantity" associationType="composite" visibility="protected" type="double">
      <tagValue name="documentation" value="&lt;p&gt;this is the quantity of identical resources in the company&lt;/p&gt;"/>
    </attribute>
    <operation name="getTDRHourCost" visibility="public">
      <returnParameter type="double"/>
      <parameter name="budgetCode" type="org.neogia.manufacturing.cost.entities.BudgetCode"/>
      <parameter name="dateRef" type="java.util.Date"/>
      <parameter name="currency" type="org.neogia.common.uom.entities.Currency_Measure"/>
    </operation>
    <attribute visibility="public" type="org.neogia.manufacturing.techdata.entities.TechDataCalendar" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" associationClass="org.neogia.manufacturing.techdata.entities.TaskResource" type="org.neogia.manufacturing.techdata.entities.Task" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.manufacturing.cost.entities.ResourceCost" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="indexed"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.manufacturing.planning.entities.ResourcePlanning" reverseAttribute="" associationType="aggregate" reverseMaxMultiplicity="1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="hidden"/>
      <tagValue name="readonly" value="true"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.manufacturing.planning.entities.ResourcePlanningPeriod" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="false" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.manufacturing.planning.entities.ResourcePlanning" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" associationClass="org.neogia.manufacturing.jobshopmgt.entities.TaskResourceFulfil" type="org.neogia.manufacturing.jobshopmgt.entities.TaskFulfilment" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="listAssoc"/>
    </attribute>
  </class>
  <class name="Routing" package="org.neogia.manufacturing.techdata.entities">
    <stereotype name="entity"/>
    <tagValue name="gui" value="list, edit, lookup"/>
    <attribute name="idName" associationType="composite" visibility="protected" type="java.lang.String" minMultiplicity="1" maxMultiplicity="1">
      <tagValue name="primaryKey" value="true"/>
      <tagValue name="gui" value="indexed"/>
    </attribute>
    <attribute name="description" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="gui" value="indexed"/>
    </attribute>
    <attribute name="minimumQuantity" associationType="composite" visibility="protected" type="double"/>
    <attribute name="scrapFactor" associationType="composite" visibility="protected" type="double" minMultiplicity="1" maxMultiplicity="1"/>
    <operation name="isValid" visibility="public">
      <tagValue name="documentation" value="&lt;p&gt;see isValid(date) with date = now&lt;/p&gt;"/>
      <returnParameter type="boolean"/>
    </operation>
    <operation name="isValid" visibility="public">
      <tagValue name="documentation" value="&lt;p&gt;Return true if &lt;/p&gt; &lt;ol&gt; &lt;li&gt;there is at least one valid RoutingComposition for date&lt;/li&gt; &lt;li&gt;for the valid RoutingComposition the Task.isValid(date) is true&lt;/li&gt; &lt;/ol&gt;"/>
      <parameter name="date" type="java.util.Date"/>
      <returnParameter type="boolean"/>
    </operation>
    <operation name="getValidPlanificationStartDate" visibility="public">
      <tagValue name="documentation" value="&lt;p&gt;Computes the planification startDate of the routing from the desired end date. &lt;/p&gt;"/>
      <tagValue name="documentation#@author" value="&lt;a mailto:peter.goron@nereide.biz&gt;Peter Goron&lt;/a&gt;"/>
      <tagValue name="documentation#" value="new value"/>
      <parameter name="dueDate" type="java.util.Date"/>
      <returnParameter type="java.util.Date"/>
      <parameter name="quantity" type="double"/>
    </operation>
    <attribute visibility="public" associationClass="org.neogia.manufacturing.techdata.entities.RoutingComposition" type="org.neogia.manufacturing.techdata.entities.Task" reverseAttribute="" associationType="aggregate" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="-1" navigable="true" ordering="ordered">
      <tagValue name="gui" value="editAssoc"/>
    </attribute>
    <attribute visibility="public" associationClass="org.neogia.manufacturing.techdata.entities.ProductRouting" type="org.neogia.product.product.entities.Product" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="editAssoc"/>
    </attribute>
    <attribute visibility="protected" type="org.neogia.manufacturing.jobshopmgt.entities.WRun" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
  </class>
  <class name="TaskSubcontract" package="org.neogia.manufacturing.techdata.entities">
    <stereotype name="entity"/>
    <tagValue name="shortName" value="tscont"/>
    <tagValue name="gui" value="list, edit, lookup, show"/>
    <superclass name="org.neogia.manufacturing.techdata.entities.Task" discriminator=""/>
    <attribute name="toRealized" visibility="protected" type="org.neogia.product.product.entities.Product" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
  </class>
  <class name="Task" package="org.neogia.manufacturing.techdata.entities">
    <stereotype name="entity"/>
    <tagValue name="gui" value="list, edit, lookup, show"/>
    <tagValue name="documentation" value="&lt;p&gt;a human action is mandatory to validate the the finish status (and going to the next) if false, automaticaly put in status FINISHED when a other task after it is finished&lt;/p&gt; &lt;p&gt;&lt;fr&gt;equivalent de la post-consomation pour l'avancement, si cette zone est à vrai alors l'avancement doit être signifié de manière explicite, sinon l'avancement (ou la validation) d'une opération ultérieur valide celle-ci&lt;/fr&gt;&lt;/p&gt;"/>
    <attribute name="idName" associationType="composite" visibility="protected" type="java.lang.String" minMultiplicity="1" maxMultiplicity="1">
      <tagValue name="primaryKey" value="true"/>
      <tagValue name="gui" value="indexed"/>
    </attribute>
    <attribute name="description" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="gui" value="indexed"/>
    </attribute>
    <attribute name="estimatedLeadTime" associationType="composite" visibility="protected" type="long">
      <tagValue name="mandatory" value="true"/>
      <tagValue name="defaultValue" value="0"/>
      <tagValue name="documentation" value="&lt;p&gt;Represents the duration in milliseconds per unit during which resource is occupied.&lt;/p&gt;"/>
    </attribute>
    <attribute name="estimatedSetupTime" associationType="composite" visibility="protected" type="long">
      <tagValue name="mandatory" value="true"/>
      <tagValue name="defaultValue" value="0"/>
      <tagValue name="documentation" value="&lt;p&gt;Represents the duration in milliseconds necessary to setup the resource. This duration is supposed fixed compared to the product quantity&lt;/p&gt;"/>
    </attribute>
    <attribute name="mandatoryEntry" associationType="composite" visibility="protected" type="boolean" minMultiplicity="1" maxMultiplicity="1">
      <tagValue name="defaultValue" value="true"/>
    </attribute>
    <operation name="getValidPlanificationTaskResource" visibility="public">
      <tagValue name="documentation" value="&lt;p&gt;call the getValidPlanificationTaskResource with now&lt;/p&gt;"/>
      <returnParameter type="org.neogia.manufacturing.techdata.entities.TaskResource"/>
    </operation>
    <operation name="getValidPlanificationTaskResource" visibility="public">
      <tagValue name="documentation" value="&lt;p&gt;Gets the valid Planification TaskResource attribute of the Task object.&lt;/p&gt; &lt;p&gt;The TaskResource with&lt;/p&gt; &lt;ul type=&quot;disc&quot;&gt; &lt;li&gt;TaskResource.getValueForPlanification() == true and&lt;/li&gt; &lt;li&gt;TaskResource.isActive(date) == true&lt;/li&gt; &lt;/ul&gt;"/>
      <parameter name="date" type="java.util.Date"/>
      <returnParameter type="org.neogia.manufacturing.techdata.entities.TaskResource"/>
    </operation>
    <operation name="isValid" visibility="public">
      <tagValue name="documentation" value="&lt;p&gt;see isValid with parameters date = now&lt;/p&gt;"/>
      <returnParameter type="boolean"/>
    </operation>
    <operation name="isValid" visibility="public">
      <tagValue name="documentation" value="&lt;p&gt;Return True if there is at least one TaskResource valid for date with valueForPlanification == true,&amp;nbsp; False otherwise&lt;/p&gt;"/>
      <parameter name="date" type="java.util.Date"/>
      <returnParameter type="boolean"/>
    </operation>
    <operation name="getValidPlanificationStartDate" visibility="public">
      <tagValue name="documentation" value="&lt;p&gt;Computes the planification startDate of the task from the desired end date.&lt;/p&gt;"/>
      <tagValue name="documentation#author" value="&lt;a mailto:peter.goron@nereide.biz&gt;Peter Goron&lt;/a&gt;"/>
      <parameter name="dueDate" type="java.util.Date"/>
      <returnParameter type="java.util.Date"/>
      <parameter name="quantity" type="double"/>
    </operation>
    <operation name="getTaskCost" visibility="public">
      <returnParameter type="double"/>
      <parameter name="budgetCode" type="org.neogia.manufacturing.cost.entities.BudgetCode"/>
      <parameter name="dateRef" type="java.util.Date"/>
      <parameter name="currencyRef" type="org.neogia.common.uom.entities.Currency_Measure"/>
      <parameter name="quantityRef" type="double"/>
    </operation>
    <attribute visibility="public" associationClass="org.neogia.manufacturing.techdata.entities.TaskResource" type="org.neogia.manufacturing.techdata.entities.TechDataResource" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="editAssoc"/>
    </attribute>
    <attribute visibility="public" associationClass="org.neogia.manufacturing.techdata.entities.RoutingComposition" type="org.neogia.manufacturing.techdata.entities.Routing" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.manufacturing.techdata.entities.TaskType" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.manufacturing.jobshopmgt.entities.TaskFulfilment" reverseAttribute="" associationType="aggregate" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
  </class>
  <class name="CalendarException" package="org.neogia.manufacturing.techdata.entities">
    <stereotype name="entity"/>
    <tagValue name="gui" value="lookup"/>
    <tagValue name="cache" value="true"/>
    <tagValue name="shortName" value="cexp"/>
    <attribute name="idNumber" associationType="composite" visibility="protected" type="int">
      <tagValue name="primaryKey" value="true"/>
    </attribute>
    <attribute name="description" associationType="composite" visibility="protected" type="java.lang.String"/>
    <attribute name="exceptionDate" associationType="composite" visibility="protected" type="java.sql.Timestamp"/>
    <attribute name="capacity" associationType="composite" visibility="protected" type="long"/>
    <attribute name="usedCapacity" associationType="composite" visibility="protected" type="double"/>
    <attribute visibility="public" type="org.neogia.manufacturing.techdata.entities.TechDataCalendar" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
  </class>
  <class name="Skill" package="org.neogia.manufacturing.techdata.entities">
    <stereotype name="entity"/>
    <tagValue name="gui" value="list, show, edit, lookup"/>
    <tagValue name="shortName" value="sk"/>
    <superclass name="org.neogia.manufacturing.techdata.entities.TechDataResource" discriminator="derivation"/>
    <attribute name="skillLevel" associationType="composite" visibility="protected" type="int">
      <tagValue name="mandatory" value="false"/>
      <tagValue name="gui" value="indexed"/>
    </attribute>
    <attribute visibility="public" associationClass="org.neogia.manufacturing.techdata.entities.PartyManResource" type="org.neogia.party.party.entities.Party" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="editAssoc"/>
    </attribute>
  </class>
  <class name="Machine" package="org.neogia.manufacturing.techdata.entities">
    <stereotype name="entity"/>
    <tagValue name="documentation" value="&lt;p&gt;will be associated with fixeAsset or ... class for Maintenance Management&lt;/p&gt;"/>
    <superclass name="org.neogia.manufacturing.techdata.entities.TechDataResource" discriminator="derivation"/>
  </class>
  <class name="TaskType" package="org.neogia.manufacturing.techdata.entities">
    <stereotype name="entity"/>
    <stereotype name="enumeration"/>
    <tagValue name="shortName" value="tt"/>
    <superclass name="org.neogia.common.enumeration.entities.Enumeration" discriminator="enumTypeId"/>
    <attribute name="ASSEMBLING" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="TASK_ASSEMBLING"/>
    </attribute>
    <attribute name="MANUFACTURING" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="TASK_MANUFACTURING"/>
    </attribute>
    <attribute name="SUBCONTRACTING" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="TASK_SUBCONTRACTING"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.manufacturing.techdata.entities.Task" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
  </class>
  <associationClass name="TaskResource" package="org.neogia.manufacturing.techdata.entities">
    <stereotype name="entity"/>
    <tagValue name="documentation" value="&lt;p&gt;&lt;fr&gt;il ne peut y avoir qu'une association avec default==true celle-ci servira pour savoir quelle techdataCalendar prendre pour ceux qui ont valueForPlanification == false, seul resourceQuantity sera lu&lt;/fr&gt;&lt;/p&gt; &lt;p&gt;valueForPlanification is use to choose the techDataCalendar&lt;/p&gt;"/>
    <tagValue name="gui" value="subList:Task, subEdit:Task"/>
    <tagValue name="setDefaultAssoc" value="Task:1, TechDataResource:2"/>
    <tagValue name="shortName" value="tr"/>
    <comment>there is only one with valueForPlanification==true</comment>
    <comment>there is only one with valueForPlanification==true</comment>
    <participant name="org.neogia.manufacturing.techdata.entities.Task" attribute=""/>
    <participant name="org.neogia.manufacturing.techdata.entities.TechDataResource" attribute=""/>
    <attribute name="valueForPlanification" associationType="composite" visibility="protected" type="boolean">
      <tagValue name="documentation" value="&lt;p&gt;only for information.&lt;/p&gt;"/>
    </attribute>
    <attribute name="resourceQuantity" associationType="composite" visibility="protected" type="double">
      <tagValue name="mandatory" value="true"/>
      <tagValue name="documentation" value="&lt;p&gt;Represente le pourcentage d'usage de la ressource pendant le temps d'&amp;eacute;xecution de la tache 1 pour 100%&lt;/p&gt;"/>
      <tagValue name="defaultValue" value="1"/>
    </attribute>
    <attribute name="fromDate" associationType="composite" visibility="protected" type="java.util.Date">
      <tagValue name="format" value="date"/>
    </attribute>
    <attribute name="thruDate" associationType="composite" visibility="protected" type="java.util.Date">
      <tagValue name="format" value="date"/>
    </attribute>
  </associationClass>
  <associationClass name="RoutingComposition" package="org.neogia.manufacturing.techdata.entities">
    <stereotype name="entity"/>
    <tagValue name="setDefaultAssoc" value="Routing:1, Task:2"/>
    <tagValue name="orderBy" value="sequenceNum, fromDate"/>
    <tagValue name="shortName" value="rcomp"/>
    <participant name="org.neogia.manufacturing.techdata.entities.Routing" attribute=""/>
    <participant name="org.neogia.manufacturing.techdata.entities.Task" attribute=""/>
    <attribute name="sequenceNum" associationType="composite" visibility="protected" type="int">
      <tagValue name="primaryKey" value="true"/>
    </attribute>
    <attribute name="estimatedLeadTime" associationType="composite" visibility="protected" type="long"/>
    <attribute name="estimatedSetupTime" associationType="composite" visibility="protected" type="long"/>
    <attribute name="mandatoryEntry" associationType="composite" visibility="protected" type="boolean"/>
    <attribute name="fromDate" associationType="composite" visibility="protected" type="java.util.Date">
      <tagValue name="format" value="date"/>
    </attribute>
    <attribute name="thruDate" associationType="composite" visibility="protected" type="java.util.Date">
      <tagValue name="format" value="date"/>
    </attribute>
    <attribute name="overlapping" associationType="composite" visibility="protected" type="double"/>
  </associationClass>
  <associationClass name="ProductRouting" package="org.neogia.manufacturing.techdata.entities">
    <stereotype name="entity"/>
    <tagValue name="setDefaultAssoc" value="Routing:1, Product:2"/>
    <tagValue name="orderBy" value="minimumQuantity DESC, fromDate"/>
    <tagValue name="shortName" value="prdtr"/>
    <comment>There is only one routing valid for a minimumQuantity </comment>
    <participant name="org.neogia.manufacturing.techdata.entities.Routing" attribute=""/>
    <participant name="org.neogia.product.product.entities.Product" attribute=""/>
    <attribute name="minimumQuantity" associationType="composite" visibility="protected" type="double"/>
    <attribute name="fromDate" associationType="composite" visibility="protected" type="java.util.Date">
      <tagValue name="format" value="date"/>
    </attribute>
    <attribute name="thruDate" associationType="composite" visibility="protected" type="java.util.Date">
      <tagValue name="format" value="date"/>
    </attribute>
  </associationClass>
  <associationClass name="PartyManResource" package="org.neogia.manufacturing.techdata.entities">
    <stereotype name="entity"/>
    <tagValue name="setDefaultAssoc" value="Party:1, Skill:2"/>
    <tagValue name="shortName" value="pmr"/>
    <tagValue name="gui" value="edit, list, lookup"/>
    <participant name="org.neogia.party.party.entities.Party" attribute=""/>
    <participant name="org.neogia.manufacturing.techdata.entities.Skill" attribute=""/>
    <attribute name="fromDate" associationType="composite" visibility="protected" type="java.util.Date">
      <tagValue name="primaryKey" value="true"/>
      <tagValue name="gui" value="listLookup, idName, description, indexed"/>
    </attribute>
    <attribute name="thruDate" associationType="composite" visibility="protected" type="java.util.Date">
      <tagValue name="gui" value="indexed"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.servicemgnt.receipt.entities.Receipt" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="editAssoc, listAssoc"/>
    </attribute>
    <attribute visibility="public" associationClass="org.neogia.manufacturing.project.entities.ProjectManResource" type="org.neogia.manufacturing.project.entities.Project" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="listAssoc, editAssoc"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.servicemgnt.timeSheet.entities.TimeSheet" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="listAssoc, editAssoc"/>
    </attribute>
  </associationClass>
  <class name="WRun" package="org.neogia.manufacturing.jobshopmgt.entities">
    <stereotype name="entity"/>
    <stereotype name="seca"/>
    <tagValue name="gui" value="list, edit, lookup"/>
    <tagValue name="shortName" value="wr"/>
    <attribute name="idNumber" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="primaryKey" value="true"/>
      <tagValue name="gui" value="indexed, idName,list"/>
      <tagValue name="value" value="nextSeqIdHook"/>
    </attribute>
    <attribute name="description" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="gui" value="indexed,list"/>
    </attribute>
    <attribute name="initialQuantity" associationType="composite" visibility="protected" type="double">
      <tagValue name="gui" value="list"/>
    </attribute>
    <attribute name="estimatedQuantity" associationType="composite" visibility="protected" type="double"/>
    <attribute name="actualQuantity" associationType="composite" visibility="protected" type="double">
      <tagValue name="gui" value="calculated,list"/>
    </attribute>
    <attribute name="estimatedStartDate" associationType="composite" visibility="protected" type="java.util.Date" minMultiplicity="1" maxMultiplicity="1">
      <tagValue name="gui" value="list"/>
    </attribute>
    <attribute name="estimatedCompletionDate" associationType="composite" visibility="protected" type="java.util.Date" minMultiplicity="1" maxMultiplicity="1">
      <tagValue name="gui" value="list"/>
    </attribute>
    <attribute name="actualStartDate" associationType="composite" visibility="protected" type="java.util.Date">
      <tagValue name="gui" value="list"/>
      <tagValue name="derived" value="true"/>
    </attribute>
    <attribute name="actualCompletionDate" associationType="composite" visibility="protected" type="java.util.Date" minMultiplicity="1" maxMultiplicity="1">
      <tagValue name="gui" value="list"/>
      <tagValue name="derived" value="true"/>
    </attribute>
    <attribute name="productRevisionId" associationType="composite" visibility="protected" type="java.lang.String"/>
    <attribute name="estimatedCost" associationType="composite" visibility="protected" type="double"/>
    <attribute name="actualCost" associationType="composite" visibility="protected" type="double">
      <tagValue name="gui" value="calculated"/>
    </attribute>
    <attribute name="defaultPick" visibility="protected" type="org.neogia.facility.location.entities.Facility" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.manufacturing.jobshopmgt.entities.TaskFulfilment" reverseAttribute="" associationType="composite" reverseMaxMultiplicity="1" minMultiplicity="1" maxMultiplicity="-1" navigable="true" ordering="ordered">
      <tagValue name="gui" value="listEdit,editAssoc"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.manufacturing.techdata.entities.Routing" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="indexed"/>
    </attribute>
    <attribute name="component" visibility="protected" associationClass="org.neogia.manufacturing.jobshopmgt.entities.RunComponent" type="org.neogia.product.product.entities.Product" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="editAssoc"/>
    </attribute>
    <attribute visibility="protected" type="org.neogia.manufacturing.project.entities.Project" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.product.product.entities.Product" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered">
      <tagValue name="mandatory" value="true"/>
      <tagValue name="gui" value="indexed, list"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.facility.stockevent.entities.RunStockEvent" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="protected" type="org.neogia.facility.stockevent.entities.RunStockEventPlanned" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.manufacturing.jobshopmgt.entities.RunStatus" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="indexed, list"/>
      <tagValue name="versioned" value="true"/>
      <tagValue name="defaultValue" value="&quot;PRUN_PLANNED&quot;"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.shipment.shipment.entities.Shipment" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute name="wAssocTos" visibility="protected" type="org.neogia.manufacturing.project.entities.WRunAssoc" reverseAttribute="wRunFrom" associationType="composite" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="editAssoc"/>
    </attribute>
    <attribute name="wAssocFroms" visibility="protected" type="org.neogia.manufacturing.project.entities.WRunAssoc" reverseAttribute="wRunTo" associationType="composite" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.manufacturing.planning.entities.ProposedOrder" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="0" navigable="false" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.party.communication.entities.CommunicationEvent" reverseAttribute="" associationType="aggregate" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.product.store.entities.ProductStore" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.servicemgnt.request.entities.CustRequest" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.order.order.entities.OrderItemShipGroupAssoc" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" associationClass="org.neogia.quality.checkMeasure.entities.SerialNumCheckM" type="org.neogia.quality.checkMeasure.entities.CheckMeasure" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="editAssoc"/>
    </attribute>
  </class>
  <class name="TaskFulfilment" package="org.neogia.manufacturing.jobshopmgt.entities">
    <stereotype name="entity"/>
    <tagValue name="gui" value="list, edit, lookup"/>
    <tagValue name="shortName" value="tf"/>
    <tagValue name="orderBy" value="sequenceNum"/>
    <attribute name="sequenceNum" associationType="composite" visibility="protected" type="int">
      <tagValue name="primaryKey" value="true"/>
      <tagValue name="gui" value="list"/>
    </attribute>
    <attribute name="quantity" associationType="composite" visibility="protected" type="double" minMultiplicity="1" maxMultiplicity="1">
      <tagValue name="defaultValue" value="0.0"/>
      <tagValue name="gui" value="list"/>
    </attribute>
    <attribute name="mandatoryEntry" associationType="composite" visibility="protected" type="boolean" minMultiplicity="1" maxMultiplicity="1">
      <tagValue name="defaultValue" value="true"/>
      <tagValue name="documentation" value="&lt;p&gt;a human action is mandatory to validate the the finish status (and going to the next) if false, automaticaly put in status FINISHED when a other task after it is finished&lt;/p&gt; &lt;p&gt;&lt;fr&gt;equivalent de la post-consomation pour l'avancement, si cette zone est à vrai alors l'avancement doit être signifié de manière explicite, sinon l'avancement (ou la validation) d'une opération ultérieur valide celle-ci&lt;/fr&gt;&lt;/p&gt;"/>
      <tagValue name="gui" value="list"/>
    </attribute>
    <attribute name="estimatedStartDate" associationType="composite" visibility="protected" type="java.util.Date">
      <tagValue name="gui" value="list"/>
    </attribute>
    <attribute name="estimatedCompletionDate" associationType="composite" visibility="protected" type="java.util.Date" minMultiplicity="1" maxMultiplicity="1">
      <tagValue name="gui" value="list"/>
    </attribute>
    <attribute name="actualStartDate" associationType="composite" visibility="protected" type="java.util.Date" minMultiplicity="1" maxMultiplicity="1">
      <tagValue name="gui" value="list"/>
    </attribute>
    <attribute name="actualCompletionDate" associationType="composite" visibility="protected" type="java.util.Date" minMultiplicity="1" maxMultiplicity="1">
      <tagValue name="gui" value="list"/>
    </attribute>
    <attribute name="delayedStartDate" associationType="composite" visibility="protected" type="java.util.Date">
      <tagValue name="gui" value="calculated, hidden"/>
    </attribute>
    <attribute name="delayedCompletionDate" associationType="composite" visibility="protected" type="java.util.Date">
      <tagValue name="gui" value="calculated, hidden"/>
    </attribute>
    <attribute name="estimatedSetupTime" associationType="composite" visibility="protected" type="long">
      <tagValue name="documentation" value="&lt;p&gt;Represents the duration in milliseconds necessary to setup the resource. This duration is supposed fixed compared to the product quantity&lt;/p&gt;"/>
      <tagValue name="gui" value="list"/>
    </attribute>
    <attribute name="estimatedLeadTime" associationType="composite" visibility="protected" type="long">
      <tagValue name="documentation" value="&lt;p&gt;Represents the duration in milliseconds during which resource is occupied necessary to build taskFulfilment's quantity of products&lt;/p&gt;"/>
      <tagValue name="gui" value="list"/>
    </attribute>
    <attribute name="overlapping" associationType="composite" visibility="protected" type="double">
      <tagValue name="gui" value="list"/>
    </attribute>
    <attribute name="estimatedCost" associationType="composite" visibility="protected" type="double">
      <tagValue name="gui" value="calculated"/>
    </attribute>
    <attribute name="actualCost" associationType="composite" visibility="protected" type="double">
      <tagValue name="gui" value="calculated"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.manufacturing.techdata.entities.Task" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered">
      <tagValue name="mandatory" value="true"/>
      <tagValue name="gui" value="list"/>
    </attribute>
    <attribute visibility="public" associationClass="org.neogia.manufacturing.jobshopmgt.entities.TaskResourceFulfil" type="org.neogia.manufacturing.techdata.entities.TechDataResource" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="listEdit,editAssoc"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.manufacturing.jobshopmgt.entities.WRun" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered">
      <tagValue name="Composite" value="true"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.manufacturing.jobshopmgt.entities.RunComponent" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.manufacturing.jobshopmgt.entities.RunStatus" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered">
      <tagValue name="mandatory" value="true"/>
      <tagValue name="gui" value="list"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.servicemgnt.timeSheet.entities.TimeSheet" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="listAssoc, editAssoc"/>
    </attribute>
  </class>
  <class name="ProductionRun" package="org.neogia.manufacturing.jobshopmgt.entities">
    <stereotype name="entity"/>
    <superclass name="org.neogia.manufacturing.jobshopmgt.entities.WRun" discriminator=""/>
    <comment>derivation to say productProduced
is a BuildProduct, use in the jobshopmgnt
subcomponent</comment>
  </class>
  <class name="RunStatus" package="org.neogia.manufacturing.jobshopmgt.entities">
    <stereotype name="entity"/>
    <tagValue name="shortName" value="prs"/>
    <superclass name="org.neogia.common.status.entities.StatusItem" discriminator="statusTypeId"/>
    <attribute name="PLANNED" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="PRUN_PLANNED"/>
    </attribute>
    <attribute name="CLOSEPLANNED" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="PRUN_CLOSED_PLAN"/>
    </attribute>
    <attribute name="PRINTED" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="PRUN_PRINTED"/>
    </attribute>
    <attribute name="RUN" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="PRUN_RUN"/>
    </attribute>
    <attribute name="FINISHED" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="PRUN_FINISHED"/>
    </attribute>
    <attribute name="CLOSED" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="PRUN_CLOSED"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.manufacturing.jobshopmgt.entities.WRun" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.manufacturing.jobshopmgt.entities.TaskFulfilment" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
  </class>
  <class name="RunComponentStatus" package="org.neogia.manufacturing.jobshopmgt.entities">
    <stereotype name="entity"/>
    <tagValue name="documentation" value="&lt;p&gt;&lt;/p&gt;"/>
    <tagValue name="shortName" value="rcs"/>
    <superclass name="org.neogia.common.status.entities.StatusItem" discriminator="statusTypeId"/>
    <attribute name="PLANNED" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="RunCompo_PLANNED"/>
    </attribute>
    <attribute name="RESERVED" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="RunCompo_RESERVED"/>
    </attribute>
    <attribute name="CLOSERESERVED" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="RunCompo_CL_RE"/>
    </attribute>
    <attribute name="USED" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="RunCompo_USED"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.manufacturing.jobshopmgt.entities.RunComponent" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="false" ordering="unordered"/>
  </class>
  <class name="TaskFulfilSubctr" package="org.neogia.manufacturing.jobshopmgt.entities">
    <stereotype name="entity"/>
    <tagValue name="gui" value="list, edit, lookup"/>
    <tagValue name="orderBy" value="sequenceNum"/>
    <superclass name="org.neogia.manufacturing.jobshopmgt.entities.TaskFulfilment" discriminator=""/>
    <attribute visibility="public" type="org.neogia.product.product.entities.Product" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute name="subPitem" visibility="protected" type="org.neogia.order.requirement.entities.Requirement" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered">
      <tagValue name="documentation" value="&lt;p&gt;subcontractProposedOrderItem&lt;/p&gt;"/>
      <tagValue name="shortName" value="subco"/>
    </attribute>
  </class>
  <associationClass name="TaskResourceFulfil" package="org.neogia.manufacturing.jobshopmgt.entities">
    <stereotype name="entity"/>
    <tagValue name="setDefaultAssoc" value="TaskFulfilment:1, TechDataResource:2"/>
    <tagValue name="shortName" value="trf"/>
    <participant name="org.neogia.manufacturing.jobshopmgt.entities.TaskFulfilment" attribute=""/>
    <participant name="org.neogia.manufacturing.techdata.entities.TechDataResource" attribute=""/>
    <attribute name="valueForPlanification" associationType="composite" visibility="protected" type="boolean"/>
    <attribute name="actualStartDate" associationType="composite" visibility="protected" type="java.util.Date" minMultiplicity="1" maxMultiplicity="1">
      <tagValue name="documentation" value="&lt;p&gt;only for information&lt;/p&gt;"/>
    </attribute>
    <attribute name="actualCompletionDate" associationType="composite" visibility="protected" type="java.util.Date" minMultiplicity="1" maxMultiplicity="1">
      <tagValue name="documentation" value="&lt;p&gt;only for information&lt;/p&gt;"/>
    </attribute>
    <attribute name="actualLeadTime" associationType="composite" visibility="protected" type="long">
      <tagValue name="documentation" value="&lt;p&gt;This is the total time taken to complete the task&lt;/p&gt;"/>
    </attribute>
    <attribute name="resourceQuantity" associationType="composite" visibility="protected" type="double"/>
    <attribute visibility="public" associationClass="org.neogia.manufacturing.planning.entities.ResourceUsage" type="org.neogia.manufacturing.planning.entities.ResourcePlanningPeriod" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
  </associationClass>
  <associationClass name="RunComponent" package="org.neogia.manufacturing.jobshopmgt.entities">
    <stereotype name="entity"/>
    <tagValue name="shortName" value="rco"/>
    <tagValue name="setDefaultAssoc" value="ProjectRun:1, Product:2"/>
    <tagValue name="gui" value="subList:ProjectRun, subEdit:ProjectRun"/>
    <participant name="org.neogia.manufacturing.jobshopmgt.entities.WRun" attribute="component"/>
    <participant name="org.neogia.product.product.entities.Product" attribute=""/>
    <attribute name="idNum" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="primaryKey" value="true"/>
      <tagValue name="value" value="nextSeqId"/>
    </attribute>
    <attribute name="estimatedQuantity" associationType="composite" visibility="protected" type="double"/>
    <attribute name="actualQuantity" associationType="composite" visibility="protected" type="double"/>
    <attribute name="quantityNotAvailable" associationType="composite" visibility="protected" type="double">
      <tagValue name="gui" value="true"/>
    </attribute>
    <attribute name="componentRevisionId" associationType="composite" visibility="protected" type="java.lang.String"/>
    <attribute name="estimatedCost" associationType="composite" visibility="protected" type="double">
      <tagValue name="gui" value="calculated"/>
    </attribute>
    <attribute name="actualCost" associationType="composite" visibility="protected" type="double">
      <tagValue name="gui" value="calculated"/>
    </attribute>
    <attribute name="instruction" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="gui" value="true"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.manufacturing.jobshopmgt.entities.TaskFulfilment" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="protected" type="org.neogia.facility.stockevent.entities.RunCompoStockEvent" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="protected" type="org.neogia.facility.stockevent.entities.RunCompoStkEvPlan" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.manufacturing.jobshopmgt.entities.RunComponentStatus" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute name="picking" visibility="protected" type="org.neogia.facility.location.entities.Facility" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.facility.location.entities.Facility" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
  </associationClass>
  <class name="Project" package="org.neogia.manufacturing.project.entities">
    <stereotype name="entity"/>
    <tagValue name="gui" value="edit, list, lookup, show"/>
    <attribute name="idName" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="primaryKey" value="true"/>
      <tagValue name="gui" value="indexed"/>
      <tagValue name="mandatory" value="true"/>
    </attribute>
    <attribute name="description" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="gui" value="indexed"/>
      <tagValue name="mandatory" value="true"/>
    </attribute>
    <attribute name="startDate" associationType="composite" visibility="protected" type="java.util.Date">
      <tagValue name="gui" value="indexed"/>
    </attribute>
    <attribute name="estimatedCompletionDate" associationType="composite" visibility="protected" type="java.util.Date">
      <tagValue name="gui" value="indexed"/>
    </attribute>
    <attribute name="estimatedDuration" associationType="composite" visibility="protected" type="double"/>
    <attribute name="estimatedCost" associationType="composite" visibility="protected" type="double">
      <tagValue name="gui" value="calculated"/>
    </attribute>
    <attribute name="actualCost" associationType="composite" visibility="protected" type="double">
      <tagValue name="gui" value="calculated"/>
    </attribute>
    <attribute name="calendarDate" associationType="composite" visibility="protected" type="java.lang.String"/>
    <attribute visibility="protected" type="org.neogia.manufacturing.jobshopmgt.entities.WRun" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="editAssoc"/>
    </attribute>
    <attribute name="childs" visibility="protected" type="org.neogia.manufacturing.project.entities.Project" reverseAttribute="parent" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="listAssoc, editAssoc"/>
    </attribute>
    <attribute name="parent" visibility="protected" type="org.neogia.manufacturing.project.entities.Project" reverseAttribute="childs" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="listAssoc, editAssoc"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.manufacturing.project.entities.ProjectStatus" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered">
      <tagValue name="mandatory" value="true"/>
    </attribute>
    <attribute visibility="public" associationClass="org.neogia.manufacturing.project.entities.ProjectRole" type="org.neogia.party.party.entities.PartyRole" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="editAssoc,listAssoc"/>
    </attribute>
    <attribute visibility="public" associationClass="org.neogia.manufacturing.project.entities.ProjectManResource" type="org.neogia.manufacturing.techdata.entities.PartyManResource" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="editAssoc,listAssoc"/>
    </attribute>
    <attribute visibility="public" associationClass="org.neogia.manufacturing.project.entities.ProjectPeriodAssoc" type="org.neogia.manufacturing.project.entities.ProjectPeriod" reverseAttribute="" associationType="aggregate" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="listAssoc, editAssoc"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.servicemgnt.request.entities.CustRequest" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="listAssoc, editAssoc"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.order.order.entities.OrderItem" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.order.quote.entities.QuoteItem" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.manufacturing.project.entities.ProjectType" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" associationClass="org.neogia.manufacturing.project.entities.ProjectNote" type="org.neogia.common.note.entities.NoteData" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="editAssoc"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.common.datasource.entities.DataSource" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.marketing.segment.entities.SegmentGroup" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
  </class>
  <class name="ProjectStatus" package="org.neogia.manufacturing.project.entities">
    <stereotype name="entity"/>
    <tagValue name="shortName" value="prjs"/>
    <superclass name="org.neogia.common.status.entities.StatusItem" discriminator="statusTypeId"/>
    <attribute name="CREATED" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="PRJST_CREATED"/>
    </attribute>
    <attribute name="OPEN" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="PRJST_OPEN"/>
    </attribute>
    <attribute name="FINISHED" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="PRJST_FINISHED"/>
    </attribute>
    <attribute name="CLOSED" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="PRJST_CLOSED"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.manufacturing.project.entities.Project" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="false" ordering="unordered"/>
  </class>
  <class name="ProjectPeriod" package="org.neogia.manufacturing.project.entities">
    <stereotype name="entity"/>
    <tagValue name="gui" value="list, edit, lookup"/>
    <tagValue name="shortName" value="prjprd"/>
    <tagValue name="documentation" value="&lt;p&gt;Useable to accounting integration and date entry check&lt;/p&gt;"/>
    <attribute name="idName" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="primaryKey" value="true"/>
      <tagValue name="gui" value="indexed, list, listLookup"/>
      <tagValue name="value" value="userOrSeq"/>
    </attribute>
    <attribute name="fromDate" associationType="composite" visibility="protected" type="java.util.Date">
      <tagValue name="gui" value="description, list, listLookup, indexed"/>
    </attribute>
    <attribute name="thruDate" associationType="composite" visibility="protected" type="java.util.Date"/>
    <attribute visibility="public" associationClass="org.neogia.manufacturing.project.entities.ProjectPeriodAssoc" type="org.neogia.manufacturing.project.entities.Project" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="listAssoc, editAssoc"/>
    </attribute>
    <attribute visibility="public" associationClass="org.neogia.manufacturing.project.entities.AcctgProjectPeriod" type="org.neogia.accounting.staticdata.entities.GlPeriod" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.accounting.staticdata.entities.PeriodStatus" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.servicemgnt.receipt.entities.TimeReceiptReport" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="edit, editAssoc, list"/>
    </attribute>
  </class>
  <class name="ProjectRun" package="org.neogia.manufacturing.project.entities">
    <stereotype name="entity"/>
    <superclass name="org.neogia.manufacturing.jobshopmgt.entities.WRun" discriminator=""/>
    <comment>derivation for all the projectReallization
taskFulfilment can be manually build from
scratch</comment>
  </class>
  <class name="ProjectType" package="org.neogia.manufacturing.project.entities">
    <stereotype name="entity"/>
    <tagValue name="gui" value="list,edit,show,drop-down"/>
    <attribute name="idName" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="primaryKey" value="true"/>
      <tagValue name="mandatory" value="true"/>
      <tagValue name="gui" value="indexed, edit,list"/>
    </attribute>
    <attribute name="description" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="gui" value="indexed,list,edit"/>
      <tagValue name="mandatory" value="true"/>
    </attribute>
    <attribute name="comments" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="gui" value="list,edit"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.manufacturing.project.entities.Project" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
  </class>
  <class name="WRunAssoc" package="org.neogia.manufacturing.project.entities">
    <stereotype name="entity"/>
    <attribute name="overlapping" associationType="composite" visibility="protected" type="double"/>
    <attribute name="shiftNumber" associationType="composite" visibility="protected" type="int"/>
    <attribute name="wRunFrom" visibility="protected" type="org.neogia.manufacturing.jobshopmgt.entities.WRun" reverseAttribute="wAssocTos" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute name="wRunTo" visibility="protected" type="org.neogia.manufacturing.jobshopmgt.entities.WRun" reverseAttribute="wAssocFroms" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.manufacturing.project.entities.WRunAssocType" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
  </class>
  <class name="WRunAssocType" package="org.neogia.manufacturing.project.entities">
    <stereotype name="entity"/>
    <superclass name="org.neogia.common.enumeration.entities.Enumeration" discriminator="enumTypeId"/>
    <attribute name="ES" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String"/>
    <attribute name="SE" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String"/>
    <attribute name="SS" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String"/>
    <attribute name="EE" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String"/>
    <attribute visibility="public" type="org.neogia.manufacturing.project.entities.WRunAssoc" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="false" ordering="unordered"/>
  </class>
  <associationClass name="ProjectRole" package="org.neogia.manufacturing.project.entities">
    <stereotype name="entity"/>
    <participant name="org.neogia.party.party.entities.PartyRole" attribute=""/>
    <participant name="org.neogia.manufacturing.project.entities.Project" attribute=""/>
    <attribute name="fromDate" associationType="composite" visibility="protected" type="java.util.Date">
      <tagValue name="primaryKey" value="true"/>
    </attribute>
    <attribute name="thruDate" associationType="composite" visibility="protected" type="java.util.Date"/>
  </associationClass>
  <associationClass name="ProjectManResource" package="org.neogia.manufacturing.project.entities">
    <stereotype name="entity"/>
    <tagValue name="gui" value="list, edit, lookup, drop-down"/>
    <tagValue name="shortName" value="prjmr"/>
    <participant name="org.neogia.manufacturing.techdata.entities.PartyManResource" attribute=""/>
    <participant name="org.neogia.manufacturing.project.entities.Project" attribute=""/>
    <attribute name="fromDate" associationType="composite" visibility="protected" type="java.util.Date">
      <tagValue name="primaryKey" value="true"/>
      <tagValue name="gui" value="indexed, list, listLookup"/>
      <tagValue name="mandatory" value="true"/>
    </attribute>
    <attribute name="thruDate" associationType="composite" visibility="protected" type="java.util.Date">
      <tagValue name="gui" value="indexed, list"/>
    </attribute>
    <attribute name="inputAuthorized" associationType="composite" visibility="protected" type="boolean">
      <tagValue name="documentation" value="&lt;p&gt;if true the party can input time in timeSheet for this project&lt;/p&gt;"/>
      <tagValue name="gui" value="indexed"/>
      <tagValue name="mandatory" value="true"/>
    </attribute>
  </associationClass>
  <associationClass name="ProjectPeriodAssoc" package="org.neogia.manufacturing.project.entities">
    <stereotype name="entity"/>
    <tagValue name="gui" value="list, show, edit, lookup, subList:ProjectPeriod, subEdit:ProjectPeriod"/>
    <tagValue name="shortName" value="ppa"/>
    <participant name="org.neogia.manufacturing.project.entities.ProjectPeriod" attribute=""/>
    <participant name="org.neogia.manufacturing.project.entities.Project" attribute=""/>
    <attribute name="startAssocDate" associationType="composite" visibility="protected" type="java.util.Date">
      <tagValue name="gui" value="indexed, list, listLookup"/>
      <tagValue name="documentation" value="&lt;p&gt;Useable to have some entries check&lt;/p&gt; &lt;p&gt;for exemple, timesheet is autorize from ProjectPeriod fromDate - thruDate except if startAssocDate is populated. StartAssocDate must be greater than fromDate&lt;/p&gt; &lt;p&gt;Maybe not necessary, date from Project entity are suffisents&lt;/p&gt;"/>
    </attribute>
    <attribute name="estimatedEndAssocDate" associationType="composite" visibility="protected" type="java.util.Date">
      <tagValue name="gui" value="indexed, list, listLookup"/>
      <tagValue name="documentation" value="&lt;p&gt;Look at the startAssocDate comment&lt;/p&gt; &lt;p&gt;endAssocDate is the actualendDate, when project is running it's empty, only estimated one is populated&lt;/p&gt;"/>
    </attribute>
    <attribute name="endAssocDate" associationType="composite" visibility="protected" type="java.util.Date">
      <tagValue name="gui" value="indexed"/>
      <tagValue name="documentation" value="&lt;p&gt;Look at the startAssocDate comment&lt;/p&gt; &lt;p&gt;endAssocDate is the actualendDate, when project is running it's empty, only estimated one is populated&lt;/p&gt;"/>
    </attribute>
  </associationClass>
  <associationClass name="AcctgProjectPeriod" package="org.neogia.manufacturing.project.entities">
    <stereotype name="entity"/>
    <tagValue name="shortName" value="aprjprd"/>
    <comment>Period cardinality equals to 
instance number of periodType</comment>
    <participant name="org.neogia.accounting.staticdata.entities.GlPeriod" attribute=""/>
    <participant name="org.neogia.manufacturing.project.entities.ProjectPeriod" attribute=""/>
  </associationClass>
  <associationClass name="ProjectNote" package="org.neogia.manufacturing.project.entities">
    <stereotype name="entity"/>
    <tagValue name="gui" value="edit,list,lookup"/>
    <tagValue name="shortName" value="pn"/>
    <participant name="org.neogia.manufacturing.project.entities.Project" attribute=""/>
    <participant name="org.neogia.common.note.entities.NoteData" attribute=""/>
  </associationClass>
  <class name="ProductManufacturingRule" package="org.neogia.manufacturing.configurator.entities">
    <stereotype name="entity"/>
    <tagValue name="documentation" value="&lt;p&gt;&lt;/p&gt;"/>
    <attribute name="ruleId" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="primaryKey" value="true"/>
      <tagValue name="gui" value="idName"/>
      <tagValue name="ofbizEntityType" value="id-ne"/>
    </attribute>
    <attribute name="description" associationType="composite" visibility="protected" type="java.lang.String"/>
    <attribute name="productId" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="ofbizEntityType" value="id"/>
    </attribute>
    <attribute name="productIdFor" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="ofbizEntityType" value="id"/>
    </attribute>
    <attribute name="productIdIn" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="ofbizEntityType" value="id-ne"/>
    </attribute>
    <attribute name="ruleSeqId" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="ofbizEntityType" value="id"/>
    </attribute>
    <attribute name="fromDate" associationType="composite" visibility="protected" type="java.util.Date"/>
    <attribute name="thruDate" associationType="composite" visibility="protected" type="java.util.Date"/>
    <attribute name="productIdInSubst" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="ofbizEntityType" value="id"/>
    </attribute>
    <attribute name="productFeature" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="ofbizEntityType" value="id"/>
    </attribute>
    <attribute name="ruleOperator" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="ofbizEntityType" value="id"/>
    </attribute>
    <attribute name="quantity" associationType="composite" visibility="protected" type="double"/>
  </class>
  <class name="ProposedOrder" package="org.neogia.manufacturing.planning.entities">
    <stereotype name="entity"/>
    <tagValue name="shortName" value="ppo"/>
    <tagValue name="gui" value="list"/>
    <comment>Mrp outputs</comment>
    <comment>Mrp outputs</comment>
    <attribute name="idName" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="primaryKey" value="true"/>
      <tagValue name="gui" value="idName"/>
      <tagValue name="value" value="nextSeqId"/>
    </attribute>
    <attribute name="quantity" associationType="composite" visibility="protected" type="double"/>
    <attribute name="dueDate" associationType="composite" visibility="protected" type="java.util.Date"/>
    <attribute visibility="public" type="org.neogia.manufacturing.planning.entities.ProposedOrderType" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.manufacturing.planning.entities.MrpRun" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.manufacturing.jobshopmgt.entities.WRun" reverseAttribute="" reverseMaxMultiplicity="0" minMultiplicity="0" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute name="origin" visibility="protected" type="org.neogia.facility.stockevent.entities.StockEventPlanned" reverseAttribute="generated" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="1" navigable="true" ordering="unordered">
      <tagValue name="ofbizAttributeName" value="originStockEvPlIdName"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.order.requirement.entities.Requirement" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.product.product.entities.Product" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
  </class>
  <class name="MrpRun" package="org.neogia.manufacturing.planning.entities">
    <stereotype name="entity"/>
    <tagValue name="gui" value="list,edit,lookup,show"/>
    <comment>MrpRun represents all data generated
by one execution of the Mrp algorithm.
The aim is to track executions of the
Mrp with differents hypothesis.</comment>
    <attribute name="idName" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="primaryKey" value="true"/>
      <tagValue name="gui" value="indexed"/>
      <tagValue name="value" value="nextSeqId"/>
    </attribute>
    <attribute name="planningStartDate" associationType="composite" visibility="protected" type="java.util.Date">
      <tagValue name="documentation" value="&lt;p&gt;Represents the date at which planning begins&lt;/p&gt;"/>
      <tagValue name="gui" value="indexed"/>
    </attribute>
    <attribute name="planningEndDate" associationType="composite" visibility="protected" type="java.util.Date">
      <tagValue name="gui" value="indexed"/>
    </attribute>
    <attribute name="planningLength" associationType="composite" visibility="protected" type="int">
      <tagValue name="documentation" value="&lt;p&gt;Represents the number of planning period to compute&lt;/p&gt;"/>
    </attribute>
    <attribute name="description" associationType="composite" visibility="protected" type="java.lang.String"/>
    <attribute name="startDate" associationType="composite" visibility="protected" type="java.util.Date">
      <tagValue name="gui" value="indexed,calculated"/>
      <tagValue name="documentation" value="&lt;p&gt;Represents the date at which the mrpRun was started&lt;/p&gt;"/>
    </attribute>
    <attribute name="endDate" associationType="composite" visibility="protected" type="java.util.Date">
      <tagValue name="gui" value="indexed,calculated"/>
      <tagValue name="documentation" value="&lt;p&gt;Represents the date at which mrpRun has been cancelled or finished.&lt;/p&gt;"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.manufacturing.planning.entities.MrpRunStatus" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="calculated"/>
      <tagValue name="defaultValue" value="&quot;MRPRUN_CREATED&quot;"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.manufacturing.planning.entities.ProposedOrder" reverseAttribute="" associationType="aggregate" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="editAssoc, listAssoc"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.manufacturing.planning.entities.Planning" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.product.product.entities.Product" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.manufacturing.planning.entities.MrpState" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="1" maxMultiplicity="1" navigable="false" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.facility.location.entities.Facility" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.product.store.entities.ProductStore" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.manufacturing.planning.entities.MrpRun" reverseAttribute="previous" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute name="previous" visibility="public" type="org.neogia.manufacturing.planning.entities.MrpRun" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="1" navigable="true" ordering="unordered"/>
  </class>
  <class name="DefaultMrpImpl" package="org.neogia.manufacturing.planning.entities">
    <interface name="org.neogia.manufacturing.planning.entities.Mrp"/>
    <comment>Our default Mrp algorithm implementation</comment>
  </class>
  <class name="MrpRunStatus" package="org.neogia.manufacturing.planning.entities">
    <stereotype name="entity"/>
    <superclass name="org.neogia.common.status.entities.StatusItem" discriminator="statusTypeId"/>
    <attribute name="CREATED" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="MRPRUN_CREATED"/>
    </attribute>
    <attribute name="STARTED" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="MRPRUN_STARTED"/>
    </attribute>
    <attribute name="FINISHED" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="MPRRUN_FINISHED"/>
    </attribute>
    <attribute name="CANCELLED" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="MRPRUN_CANCELLED"/>
    </attribute>
    <attribute name="CLOSED" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="MRPRUN_CLOSED"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.manufacturing.planning.entities.MrpRun" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="false" ordering="unordered"/>
  </class>
  <class name="ProposedOrderType" package="org.neogia.manufacturing.planning.entities">
    <stereotype name="entity"/>
    <stereotype name="enumeration"/>
    <superclass name="org.neogia.common.enumeration.entities.Enumeration" discriminator="enumTypeId"/>
    <attribute name="PURCHASE" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="PURCHASE_ORDER"/>
    </attribute>
    <attribute name="RUN" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="RUN_ORDER"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.manufacturing.planning.entities.ProposedOrder" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="false" ordering="unordered"/>
  </class>
  <class name="PlanningPeriodicity" package="org.neogia.manufacturing.planning.entities">
    <stereotype name="entity"/>
    <stereotype name="enumeration"/>
    <superclass name="org.neogia.common.enumeration.entities.Enumeration" discriminator="enumTypeId"/>
    <comment>A planning period represents a period of time.
The length of a period is not necessarily the same
during the time. ex : 30 / 31 days per month</comment>
    <attribute name="DAILY" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="DAILY_PERIOD"/>
    </attribute>
    <attribute name="WEEKLY" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="WEEKLY_PERIOD"/>
    </attribute>
    <attribute name="MONTHLY" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="MONTHLY_PERIOD"/>
    </attribute>
    <attribute name="ANNUALLY" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="ANNUALLY_PERIOD"/>
    </attribute>
    <operation name="getPeriod" visibility="public">
      <tagValue name="documentation" value="&lt;p&gt;Compute the period number of currentDate from refDate and period length&lt;/p&gt;"/>
      <returnParameter type="int"/>
      <parameter name="refDate" type="java.util.Date"/>
      <parameter name="currentDate" type="java.util.Date"/>
    </operation>
    <operation name="getPeriodStartDate" visibility="public">
      <parameter name="refDate" type="java.util.Date"/>
      <parameter name="period" type="int"/>
      <returnParameter type="java.util.Date"/>
    </operation>
    <operation name="getPeriodEndDate" visibility="public">
      <parameter name="refDate" type="java.util.Date"/>
      <parameter name="period" type="int"/>
      <returnParameter type="java.util.Date"/>
    </operation>
    <operation name="getPeriodIterator" visibility="public">
      <parameter name="refDate" type="java.util.Date"/>
      <parameter name="date" type="java.util.Date"/>
      <returnParameter type="org.neogia.manufacturing.planning.entities.PeriodIterator"/>
    </operation>
    <operation name="getPeriodIterator" visibility="public">
      <parameter name="refDate" type="java.util.Date"/>
      <parameter name="periodNumber" type="long"/>
      <returnParameter type="org.neogia.manufacturing.planning.entities.PeriodIterator"/>
    </operation>
    <attribute visibility="public" type="org.neogia.manufacturing.planning.entities.Planning" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="false" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.manufacturing.planning.entities.Seasonality" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
  </class>
  <class name="Planning" package="org.neogia.manufacturing.planning.entities">
    <stereotype name="entity"/>
    <tagValue name="gui" value="list,edit,lookup"/>
    <attribute name="idName" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="primaryKey" value="true"/>
      <tagValue name="gui" value="indexed"/>
      <tagValue name="value" value="nextSeqId"/>
    </attribute>
    <attribute name="referenceDate" associationType="composite" visibility="protected" type="java.util.Date"/>
    <attribute name="description" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="gui" value="indexed"/>
    </attribute>
    <operation name="getPlanningPeriod" visibility="public">
      <parameter name="date" type="java.util.Date"/>
      <returnParameter type="org.neogia.manufacturing.planning.entities.PlanningPeriod"/>
    </operation>
    <operation name="getPlanningPeriod" visibility="public">
      <parameter name="it" type="org.neogia.manufacturing.planning.entities.PlanningPeriodIterator"/>
      <returnParameter type="org.neogia.manufacturing.planning.entities.PlanningPeriod"/>
    </operation>
    <operation name="getPlanningPeriodIterator" visibility="public">
      <parameter name="date" type="java.util.Date"/>
      <returnParameter type="org.neogia.manufacturing.planning.entities.PlanningPeriodIterator"/>
    </operation>
    <operation name="getPlanningPeriodIterator" visibility="public">
      <parameter name="periodNumber" type="long"/>
      <returnParameter type="org.neogia.manufacturing.planning.entities.PlanningPeriodIterator"/>
    </operation>
    <attribute visibility="public" type="org.neogia.manufacturing.planning.entities.MrpRun" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="false" ordering="unordered"/>
    <attribute visibility="protected" type="org.neogia.manufacturing.planning.entities.PlanningPeriodicity" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.manufacturing.planning.entities.PlanningPeriodDesc" reverseAttribute="" associationType="composite" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="editAssoc"/>
    </attribute>
  </class>
  <class name="ResourcePlanning" package="org.neogia.manufacturing.planning.entities">
    <stereotype name="entity"/>
    <tagValue name="shortName" value="rp"/>
    <superclass name="org.neogia.manufacturing.planning.entities.Planning" discriminator=""/>
    <comment>ResourcePlanning is a facade to TechDataResource scheduling.</comment>
    <comment>ResourcePlanning is a facade to TechDataResource scheduling</comment>
    <attribute visibility="public" type="org.neogia.manufacturing.techdata.entities.TechDataResource" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.manufacturing.techdata.entities.TechDataResource" reverseAttribute="" associationType="aggregate" reverseMaxMultiplicity="1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.manufacturing.planning.entities.ResourcePlanningPeriod" reverseAttribute="" associationType="composite" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
  </class>
  <class name="ResourcePlanningPeriod" package="org.neogia.manufacturing.planning.entities">
    <stereotype name="entity"/>
    <tagValue name="shortName" value="rpp"/>
    <interface name="org.neogia.manufacturing.planning.entities.PlanningPeriod"/>
    <attribute name="startDate" associationType="composite" visibility="protected" type="java.util.Date">
      <tagValue name="primaryKey" value="true"/>
    </attribute>
    <attribute name="duration" associationType="composite" visibility="protected" type="long"/>
    <attribute name="startOffset" associationType="composite" visibility="protected" type="long"/>
    <attribute name="availability" associationType="composite" visibility="protected" type="long"/>
    <attribute name="resourceQuantity" associationType="composite" visibility="protected" type="double"/>
    <attribute name="maxResourceQty" associationType="composite" visibility="protected" type="double"/>
    <attribute visibility="public" type="org.neogia.manufacturing.techdata.entities.TechDataResource" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.manufacturing.planning.entities.ResourcePlanning" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" associationClass="org.neogia.manufacturing.planning.entities.ResourceUsage" type="org.neogia.manufacturing.jobshopmgt.entities.TaskResourceFulfil" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
  </class>
  <class name="PeriodIterator" package="org.neogia.manufacturing.planning.entities">
    <attribute name="periodicity" associationType="composite" visibility="protected" type="org.neogia.manufacturing.planning.entities.PlanningPeriodicity"/>
    <attribute name="currentPeriodNumber" associationType="composite" visibility="protected" type="long"/>
    <attribute name="currentPeriodStartDate" associationType="composite" visibility="protected" type="java.util.Date"/>
    <attribute name="nextPeriodStartDate" associationType="composite" visibility="protected" type="java.util.Date"/>
    <operation name="nextPeriod" visibility="public">
      <returnParameter type="void"/>
    </operation>
    <operation name="previousPeriod" visibility="public">
      <returnParameter type="void"/>
    </operation>
    <operation name="getPeriodNumber" visibility="public">
      <returnParameter type="long"/>
    </operation>
    <operation name="getPeriodStartDate" visibility="public">
      <returnParameter type="java.util.Date"/>
    </operation>
    <operation name="getPeriodDuration" visibility="public">
      <returnParameter type="long"/>
    </operation>
    <operation name="getPeriodEndDate" visibility="public">
      <returnParameter type="java.util.Date"/>
    </operation>
    <operation name="moveToPeriod" visibility="public">
      <parameter name="periodNumber" type="long"/>
      <returnParameter type="void"/>
    </operation>
    <operation name="moveToPeriod" visibility="public">
      <parameter name="date" type="java.util.Date"/>
      <returnParameter type="void"/>
    </operation>
    <operation name="isInPeriod" visibility="public">
      <parameter name="date" type="java.util.Date"/>
      <returnParameter type="boolean"/>
    </operation>
  </class>
  <class name="PlanningPeriodIterator" package="org.neogia.manufacturing.planning.entities">
    <superclass name="org.neogia.manufacturing.planning.entities.PeriodIterator" discriminator=""/>
    <attribute name="planning" associationType="composite" visibility="protected" type="org.neogia.manufacturing.planning.entities.Planning"/>
    <operation name="getPlanningPeriod" visibility="public">
      <returnParameter type="org.neogia.manufacturing.planning.entities.PlanningPeriod"/>
    </operation>
  </class>
  <class name="Seasonality" package="org.neogia.manufacturing.planning.entities">
    <stereotype name="entity"/>
    <tagValue name="documentation" value="&lt;p&gt;Use to convert Monthly data to Weekly data with seasonality parameters&lt;/p&gt;"/>
    <tagValue name="gui" value="edit, list"/>
    <attribute name="idName" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="primaryKey" value="true"/>
    </attribute>
    <attribute name="description" associationType="composite" visibility="protected" type="java.lang.String"/>
    <attribute name="seasonality" associationType="composite" visibility="protected" type="int" minMultiplicity="20" maxMultiplicity="20"/>
    <operation name="getCalculatedSeasonality" visibility="public">
      <tagValue name="documentation" value="&lt;p&gt;get the seasonality but with nbDay values, not on 20 values &lt;/p&gt;"/>
      <returnParameter type="java.util.List"/>
      <parameter name="nbDay" type="int"/>
    </operation>
    <attribute visibility="public" type="org.neogia.manufacturing.planning.entities.PlanningPeriodicity" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
  </class>
  <class name="MrpController" package="org.neogia.manufacturing.planning.entities">
    <stereotype name="service"/>
    <stereotype name="Singleton"/>
    <operation name="initMrp" visibility="public">
      <returnParameter type="void"/>
    </operation>
    <operation name="resetMrp" visibility="public">
      <returnParameter type="void"/>
    </operation>
    <operation name="runMrp" visibility="public">
      <returnParameter type="void"/>
    </operation>
    <operation name="cancelMrp" visibility="public">
      <returnParameter type="void"/>
    </operation>
    <operation name="restartMrp" visibility="public">
      <returnParameter type="void"/>
    </operation>
    <attribute visibility="public" type="org.neogia.manufacturing.planning.entities.MrpState" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
  </class>
  <class name="MrpState" package="org.neogia.manufacturing.planning.entities">
    <attribute name="UNINITIALIZED" associationType="composite" visibility="public" static="true" type="java.lang.String"/>
    <attribute name="INITIALIZED" associationType="composite" visibility="public" static="true" type="java.lang.String"/>
    <attribute name="RUNNING" associationType="composite" visibility="public" static="true" type="java.lang.String"/>
    <attribute name="FINISHED" associationType="composite" visibility="public" static="true" type="java.lang.String"/>
    <attribute name="CANCELLED" associationType="composite" visibility="public" static="true" type="java.lang.String"/>
    <attribute visibility="public" type="org.neogia.manufacturing.planning.entities.MrpController" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="1" maxMultiplicity="1" navigable="false" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.manufacturing.planning.entities.MrpRun" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.manufacturing.planning.entities.Mrp" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
  </class>
  <class name="PlanningPeriodDesc" package="org.neogia.manufacturing.planning.entities">
    <stereotype name="entity"/>
    <tagValue name="gui" value="edit, list"/>
    <tagValue name="cache" value="true"/>
    <interface name="org.neogia.manufacturing.planning.entities.PlanningPeriod"/>
    <attribute name="periodNumber" associationType="composite" visibility="protected" type="long">
      <tagValue name="primaryKey" value="true"/>
      <tagValue name="gui" value="idName"/>
    </attribute>
    <attribute name="description" associationType="composite" visibility="protected" type="java.lang.String"/>
    <attribute visibility="public" type="org.neogia.manufacturing.planning.entities.Planning" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="false" ordering="unordered"/>
  </class>
  <interface name="Mrp" package="org.neogia.manufacturing.planning.entities">
    <comment>Mrp interface represents an implementation of 
the Mrp algorithm. The aim is to provide an 
abstraction of Mrp which could be used in a
Factory design pattern. So it would be easy to
implement and use a new algorithm.</comment>
    <operation name="run" visibility="public">
      <returnParameter type="void"/>
      <parameter name="mrpRun" type="org.neogia.manufacturing.planning.entities.MrpRun"/>
    </operation>
  </interface>
  <interface name="PlanningPeriod" package="org.neogia.manufacturing.planning.entities">
    <operation name="getStartDate" visibility="public">
      <returnParameter type="java.util.Date"/>
    </operation>
    <operation name="getDuration" visibility="public">
      <returnParameter type="long"/>
    </operation>
  </interface>
  <associationClass name="ResourceUsage" package="org.neogia.manufacturing.planning.entities">
    <stereotype name="entity"/>
    <participant name="org.neogia.manufacturing.jobshopmgt.entities.TaskResourceFulfil" attribute=""/>
    <participant name="org.neogia.manufacturing.planning.entities.ResourcePlanningPeriod" attribute=""/>
    <attribute name="startDate" associationType="composite" visibility="protected" type="java.util.Date"/>
    <attribute name="duration" associationType="composite" visibility="protected" type="long"/>
    <attribute name="resourceQuantity" associationType="composite" visibility="protected" type="double"/>
  </associationClass>
  <class name="BudgetCode" package="org.neogia.manufacturing.cost.entities">
    <stereotype name="entity"/>
    <tagValue name="gui" value="drop-down, listAll, edit"/>
    <tagValue name="shortName" value="bcod"/>
    <superclass name="org.neogia.product.price.entities.ProductPriceType" discriminator=""/>
    <attribute visibility="public" associationClass="org.neogia.manufacturing.cost.entities.HourCost" type="org.neogia.manufacturing.cost.entities.ResourceCost" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="editAssoc"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.accounting.transaction.entities.BudgetAmount" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
  </class>
  <class name="ResourceCost" package="org.neogia.manufacturing.cost.entities">
    <stereotype name="entity"/>
    <tagValue name="gui" value="listAll, edit, drop-down, show"/>
    <tagValue name="shortName" value="rcost"/>
    <attribute name="idName" associationType="composite" visibility="protected" type="java.lang.String" minMultiplicity="1" maxMultiplicity="1">
      <tagValue name="primaryKey" value="true"/>
    </attribute>
    <attribute name="description" associationType="composite" visibility="protected" type="java.lang.String"/>
    <operation name="getHourCostForBCod" visibility="public">
      <parameter name="budgetCode" type="org.neogia.manufacturing.cost.entities.BudgetCode"/>
      <parameter name="date" type="java.util.Date"/>
      <returnParameter type="org.neogia.manufacturing.cost.entities.HourCost"/>
    </operation>
    <attribute visibility="public" type="org.neogia.manufacturing.techdata.entities.TechDataResource" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.manufacturing.cost.entities.CostType" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" associationClass="org.neogia.manufacturing.cost.entities.HourCost" type="org.neogia.manufacturing.cost.entities.BudgetCode" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="editAssoc"/>
    </attribute>
  </class>
  <class name="CostType" package="org.neogia.manufacturing.cost.entities">
    <stereotype name="entity"/>
    <stereotype name="enumeration"/>
    <tagValue name="shortName" value="Ctyp"/>
    <tagValue name="gui" value="drop-down"/>
    <superclass name="org.neogia.common.enumeration.entities.Enumeration" discriminator="enumTypeId"/>
    <attribute name="MACHINE" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="COST_TYPE_MACHINE"/>
    </attribute>
    <attribute name="MAN" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="COST_TYPE_MAN"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.manufacturing.cost.entities.ResourceCost" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
  </class>
  <associationClass name="HourCost" package="org.neogia.manufacturing.cost.entities">
    <stereotype name="entity"/>
    <tagValue name="gui" value="lookup, edit, listAll"/>
    <tagValue name="shortName" value="hcost"/>
    <participant name="org.neogia.manufacturing.cost.entities.BudgetCode" attribute=""/>
    <participant name="org.neogia.manufacturing.cost.entities.ResourceCost" attribute=""/>
    <attribute name="fromDate" associationType="composite" visibility="protected" type="java.util.Date">
      <tagValue name="primaryKey" value="true"/>
      <tagValue name="gui" value="now"/>
    </attribute>
    <attribute name="thruDate" associationType="composite" visibility="protected" type="java.util.Date"/>
    <attribute name="cost" associationType="composite" visibility="protected" type="double"/>
    <operation name="getCost" visibility="public">
      <returnParameter type="double"/>
      <parameter name="currency" type="org.neogia.common.uom.entities.Currency_Measure"/>
    </operation>
  </associationClass>
  <class name="ForecastPlanning" package="org.neogia.manufacturing.mps.entities">
    <stereotype name="entity"/>
    <tagValue name="gui" value="edit, list, drop-down"/>
    <superclass name="org.neogia.manufacturing.planning.entities.Planning" discriminator=""/>
    <attribute visibility="public" type="org.neogia.manufacturing.mps.entities.ForecastPPlanPeriod" reverseAttribute="" associationType="composite" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.manufacturing.techdata.entities.TechDataCalendar" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.product.store.entities.ProductStore" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
  </class>
  <class name="MpsPlanning" package="org.neogia.manufacturing.mps.entities">
    <stereotype name="entity"/>
    <tagValue name="gui" value="edit, list, drop-down"/>
    <superclass name="org.neogia.manufacturing.planning.entities.Planning" discriminator=""/>
    <attribute visibility="public" type="org.neogia.manufacturing.mps.entities.MpsPPlanPeriod" reverseAttribute="" associationType="composite" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.manufacturing.techdata.entities.TechDataCalendar" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.product.store.entities.ProductStore" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
  </class>
  <class name="MpsPPlanPeriod" package="org.neogia.manufacturing.mps.entities">
    <stereotype name="entity"/>
    <tagValue name="gui" value="edit, list"/>
    <tagValue name="shortName" value="mpsppp"/>
    <interface name="org.neogia.manufacturing.planning.entities.PlanningPeriod"/>
    <attribute name="periodNumber" associationType="composite" visibility="protected" type="long">
      <tagValue name="primaryKey" value="true"/>
    </attribute>
    <attribute name="forecastDemand" associationType="composite" visibility="protected" type="double"/>
    <attribute name="extraDemand" associationType="composite" visibility="protected" type="double"/>
    <attribute name="explodedDemand" associationType="composite" visibility="protected" type="double"/>
    <attribute name="actualOrder" associationType="composite" visibility="protected" type="double"/>
    <attribute name="foreStartPDemand" associationType="composite" visibility="protected" type="double">
      <tagValue name="documentation" value="&lt;p&gt;for period which are on two super periodicity (ie week on two month) Contain forcastDemand for the first if a part of week is for one month ... &lt;/p&gt;"/>
      <tagValue name="gui" value="hidden"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.manufacturing.mps.entities.MpsPlanning" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.product.product.entities.Product" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.facility.stockevent.entities.MpsStockEventPlan" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
  </class>
  <class name="ForecastPPlanPeriod" package="org.neogia.manufacturing.mps.entities">
    <stereotype name="entity"/>
    <tagValue name="gui" value="edit, list"/>
    <interface name="org.neogia.manufacturing.planning.entities.PlanningPeriod"/>
    <attribute name="periodNumber" associationType="composite" visibility="protected" type="long">
      <tagValue name="primaryKey" value="true"/>
    </attribute>
    <attribute name="forcastDemand" associationType="composite" visibility="protected" type="double"/>
    <attribute name="actualDemand" associationType="composite" visibility="protected" type="double"/>
    <attribute visibility="public" type="org.neogia.manufacturing.mps.entities.ForecastPlanning" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.product.product.entities.Product" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
  </class>
  <class name="RoleType" extern="true" package="org.neogia.party.party.entities">
    <stereotype name="entity"/>
  </class>
  <class name="Party" extern="true" package="org.neogia.party.party.entities">
    <stereotype name="entity"/>
    <attribute visibility="public" associationClass="org.neogia.manufacturing.techdata.entities.PartyManResource" type="org.neogia.manufacturing.techdata.entities.Skill" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="listAssoc"/>
    </attribute>
  </class>
  <class name="PartyRole" extern="true" package="org.neogia.party.party.entities">
    <stereotype name="entity"/>
    <attribute visibility="public" associationClass="org.neogia.manufacturing.project.entities.ProjectRole" type="org.neogia.manufacturing.project.entities.Project" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="listAssoc, editAssoc"/>
    </attribute>
  </class>
  <class name="CommunicationEvent" extern="true" package="org.neogia.party.communication.entities">
    <stereotype name="entity"/>
    <attribute visibility="public" type="org.neogia.manufacturing.jobshopmgt.entities.WRun" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
  </class>
  <class name="ProductStore" extern="true" package="org.neogia.product.store.entities">
    <stereotype name="entity"/>
    <superclass name="org.neogia.manufacturing.techdata.entities.TechDataCalendar" discriminator=""/>
    <attribute visibility="public" type="org.neogia.manufacturing.planning.entities.MrpRun" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="1" maxMultiplicity="1" navigable="false" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.manufacturing.mps.entities.MpsPlanning" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.manufacturing.mps.entities.ForecastPlanning" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.manufacturing.jobshopmgt.entities.WRun" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
  </class>
  <class name="ProductPriceType" extern="true" package="org.neogia.product.price.entities">
    <stereotype name="entity"/>
  </class>
  <class name="Product" extern="true" package="org.neogia.product.product.entities">
    <stereotype name="entity"/>
    <attribute visibility="protected" type="org.neogia.facility.location.entities.StockItem" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.manufacturing.techdata.entities.TaskSubcontract" reverseAttribute="toRealized" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="false" ordering="unordered"/>
    <attribute visibility="public" associationClass="org.neogia.manufacturing.techdata.entities.ProductRouting" type="org.neogia.manufacturing.techdata.entities.Routing" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="false" ordering="unordered">
      <tagValue name="gui" value="editAssoc"/>
    </attribute>
    <attribute visibility="protected" associationClass="org.neogia.manufacturing.jobshopmgt.entities.RunComponent" type="org.neogia.manufacturing.jobshopmgt.entities.WRun" reverseAttribute="component" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="editAssoc"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.manufacturing.jobshopmgt.entities.WRun" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.manufacturing.jobshopmgt.entities.TaskFulfilSubctr" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="false" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.manufacturing.planning.entities.MrpRun" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="1" maxMultiplicity="1" navigable="false" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.manufacturing.mps.entities.MpsPPlanPeriod" reverseAttribute="" associationType="composite" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="editAssoc"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.manufacturing.planning.entities.ProposedOrder" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="false" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.manufacturing.mps.entities.ForecastPPlanPeriod" reverseAttribute="" associationType="composite" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="editAssoc"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.order.quote.entities.QuoteItem" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.order.order.entities.OrderItem" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="false" ordering="unordered"/>
  </class>
  <class name="StatusItem" extern="true" package="org.neogia.common.status.entities">
    <stereotype name="entity"/>
  </class>
  <class name="Enumeration" extern="true" package="org.neogia.common.enumeration.entities">
    <stereotype name="entity"/>
  </class>
  <class name="Currency_Measure" extern="true" package="org.neogia.common.uom.entities">
    <stereotype name="entity"/>
  </class>
  <class name="ApplicationLog" extern="true" package="org.neogia.common.log.entities">
    <stereotype name="entity"/>
  </class>
  <class name="DataSource" extern="true" package="org.neogia.common.datasource.entities">
    <stereotype name="entity"/>
    <attribute visibility="public" type="org.neogia.manufacturing.project.entities.Project" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="false" ordering="unordered"/>
  </class>
  <class name="NoteData" extern="true" package="org.neogia.common.note.entities">
    <stereotype name="entity"/>
    <attribute visibility="public" associationClass="org.neogia.manufacturing.project.entities.ProjectNote" type="org.neogia.manufacturing.project.entities.Project" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="listAssoc"/>
    </attribute>
  </class>
  <class name="GlPeriod" extern="true" package="org.neogia.accounting.staticdata.entities">
    <stereotype name="entity"/>
    <attribute visibility="public" associationClass="org.neogia.manufacturing.project.entities.AcctgProjectPeriod" type="org.neogia.manufacturing.project.entities.ProjectPeriod" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.accounting.transaction.entities.BudgetAmount" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="false" ordering="unordered"/>
  </class>
  <class name="PeriodStatus" extern="true" package="org.neogia.accounting.staticdata.entities">
    <stereotype name="entity"/>
    <attribute visibility="public" type="org.neogia.manufacturing.project.entities.ProjectPeriod" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="false" ordering="unordered"/>
  </class>
  <class name="FixedAsset" extern="true" package="org.neogia.accounting.fixedasset.entities">
    <stereotype name="entity"/>
    <attribute visibility="public" type="org.neogia.manufacturing.techdata.entities.TechDataCalendar" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
  </class>
  <class name="BudgetAmount" extern="true" package="org.neogia.accounting.transaction.entities">
    <stereotype name="entity"/>
    <attribute name="budgetAmountId" associationType="composite" visibility="protected" type="java.lang.String" minMultiplicity="1" maxMultiplicity="1">
      <tagValue name="primaryKey" value="true"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.manufacturing.cost.entities.BudgetCode" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.accounting.staticdata.entities.GlPeriod" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
  </class>
  <class name="TimeReceiptReport" extern="true" package="org.neogia.servicemgnt.receipt.entities">
    <stereotype name="entity"/>
    <attribute visibility="public" type="org.neogia.manufacturing.project.entities.ProjectPeriod" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="list"/>
    </attribute>
  </class>
  <class name="Receipt" extern="true" package="org.neogia.servicemgnt.receipt.entities">
    <stereotype name="entity"/>
    <attribute visibility="public" type="org.neogia.manufacturing.techdata.entities.PartyManResource" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
  </class>
  <class name="TimeSheet" extern="true" package="org.neogia.servicemgnt.timeSheet.entities">
    <stereotype name="entity"/>
    <attribute visibility="public" type="org.neogia.manufacturing.jobshopmgt.entities.TaskFulfilment" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.manufacturing.techdata.entities.PartyManResource" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="listAssoc"/>
    </attribute>
  </class>
  <class name="ServiceRun" extern="true" package="org.neogia.servicemgnt.service.entities">
    <stereotype name="entity"/>
    <superclass name="org.neogia.manufacturing.jobshopmgt.entities.WRun" discriminator=""/>
    <comment>derivation to say productProduced
is a ServiceProduct, use in the service
subComponent of serrviceMgnt</comment>
  </class>
  <class name="CustRequest" extern="true" package="org.neogia.servicemgnt.request.entities">
    <stereotype name="entity"/>
    <attribute visibility="public" type="org.neogia.manufacturing.project.entities.Project" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="list"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.manufacturing.jobshopmgt.entities.WRun" reverseAttribute="" associationType="aggregate" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
  </class>
  <class name="Contract" extern="true" package="org.neogia.servicemgnt.contract.entities">
    <stereotype name="entity"/>
    <superclass name="org.neogia.manufacturing.project.entities.Project" discriminator=""/>
  </class>
  <class name="OrderHeader" extern="true" package="org.neogia.order.order.entities">
    <stereotype name="entity"/>
    <attribute visibility="public" type="org.neogia.order.order.entities.OrderItem" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="1" maxMultiplicity="-1" navigable="false" ordering="unordered"/>
  </class>
  <class name="OrderItem" extern="true" package="org.neogia.order.order.entities">
    <stereotype name="entity"/>
    <attribute visibility="public" type="org.neogia.facility.stockevent.entities.OrderStockEventPlanned" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.manufacturing.project.entities.Project" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.order.order.entities.OrderHeader" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.product.product.entities.Product" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.order.order.entities.OrderItemShipGroupAssoc" reverseAttribute="" associationType="composite" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.facility.stockevent.entities.OrderStockEventPlanned" reverseAttribute="" associationType="aggregate" reverseMaxMultiplicity="1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" associationClass="org.neogia.order.requirement.entities.OrderRequirementCommitment" type="org.neogia.order.requirement.entities.Requirement" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
  </class>
  <class name="OrderItemShipGroupAssoc" extern="true" package="org.neogia.order.order.entities">
    <stereotype name="entity"/>
    <attribute visibility="public" type="org.neogia.facility.stockevent.entities.OrderStockEventPlanned" reverseAttribute="" associationType="aggregate" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.order.order.entities.OrderItem" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.manufacturing.jobshopmgt.entities.WRun" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
  </class>
  <class name="Quote" extern="true" package="org.neogia.order.quote.entities">
    <stereotype name="entity"/>
    <attribute visibility="public" type="org.neogia.order.quote.entities.QuoteItem" reverseAttribute="" associationType="composite" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
  </class>
  <class name="QuoteItem" extern="true" package="org.neogia.order.quote.entities">
    <stereotype name="entity"/>
    <attribute visibility="public" type="org.neogia.manufacturing.project.entities.Project" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.product.product.entities.Product" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.order.quote.entities.Quote" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.facility.stockevent.entities.QuoteStockEventPlanned" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
  </class>
  <class name="Requirement" extern="true" package="org.neogia.order.requirement.entities">
    <stereotype name="entity"/>
    <attribute visibility="public" type="org.neogia.manufacturing.planning.entities.ProposedOrder" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.manufacturing.jobshopmgt.entities.TaskFulfilSubctr" reverseAttribute="subPitem" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" associationClass="org.neogia.order.requirement.entities.OrderRequirementCommitment" type="org.neogia.order.order.entities.OrderItem" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
  </class>
  <associationClass name="OrderRequirementCommitment" extern="true" package="org.neogia.order.requirement.entities">
    <stereotype name="entity"/>
    <participant name="org.neogia.order.requirement.entities.Requirement" attribute=""/>
    <participant name="org.neogia.order.order.entities.OrderItem" attribute=""/>
  </associationClass>
  <class name="Shipment" extern="true" package="org.neogia.shipment.shipment.entities">
    <stereotype name="entity"/>
    <comment>productDelivery</comment>
    <attribute visibility="public" type="org.neogia.manufacturing.jobshopmgt.entities.WRun" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
  </class>
  <class name="CheckMeasure" extern="true" package="org.neogia.quality.checkMeasure.entities">
    <stereotype name="entity"/>
    <attribute visibility="public" associationClass="org.neogia.quality.checkMeasure.entities.SerialNumCheckM" type="org.neogia.manufacturing.jobshopmgt.entities.WRun" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
  </class>
  <associationClass name="SerialNumCheckM" extern="true" package="org.neogia.quality.checkMeasure.entities">
    <stereotype name="entity"/>
    <participant name="org.neogia.manufacturing.jobshopmgt.entities.WRun" attribute=""/>
    <participant name="org.neogia.quality.checkMeasure.entities.CheckMeasure" attribute=""/>
  </associationClass>
  <class name="SegmentGroup" extern="true" package="org.neogia.marketing.segment.entities">
    <stereotype name="entity"/>
    <attribute visibility="public" type="org.neogia.manufacturing.project.entities.Project" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="false" ordering="unordered"/>
  </class>
</objectModel>
