Author: jonesde
Date: Sun Oct  1 15:06:53 2006
New Revision: 451821

URL: http://svn.apache.org/viewvc?view=rev&rev=451821
Log:
Added data model changes and issuance service to issue inventory to a 
FixedAssetMaint for use as a Part; there is no accounting handled in this but 
the idea would be to convert the inventory to supplies

Modified:
    incubator/ofbiz/trunk/applications/product/entitydef/entitymodel.xml
    
incubator/ofbiz/trunk/applications/product/entitydef/entitymodel_shipment.xml
    
incubator/ofbiz/trunk/applications/product/script/org/ofbiz/shipment/issuance/IssuanceServices.xml
    incubator/ofbiz/trunk/applications/product/servicedef/services_shipment.xml

Modified: incubator/ofbiz/trunk/applications/product/entitydef/entitymodel.xml
URL: 
http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/product/entitydef/entitymodel.xml?view=diff&rev=451821&r1=451820&r2=451821
==============================================================================
--- incubator/ofbiz/trunk/applications/product/entitydef/entitymodel.xml 
(original)
+++ incubator/ofbiz/trunk/applications/product/entitydef/entitymodel.xml Sun 
Oct  1 15:06:53 2006
@@ -1126,6 +1126,8 @@
       <field name="shipmentId" type="id"></field>
       <field name="shipmentItemSeqId" type="id"></field>
       <field name="workEffortId" type="id"></field>
+      <field name="fixedAssetId" type="id"></field>
+      <field name="maintHistSeqId" type="id"></field>
       <field name="itemIssuanceId" type="id"></field>
       <field name="receiptId" type="id"></field>
       <field name="physicalInventoryId" type="id"></field>
@@ -1142,6 +1144,10 @@
         <key-map field-name="orderItemSeqId"/>
         <key-map field-name="shipGroupSeqId"/>
         <key-map field-name="inventoryItemId"/>
+      </relation>
+      <relation type="one" fk-name="INV_ITDTL_FAMNT" 
rel-entity-name="FixedAssetMaint">
+        <key-map field-name="fixedAssetId"/>
+        <key-map field-name="maintHistSeqId"/>
       </relation>
       <relation type="one" fk-name="INV_ITDTL_ITMIS" 
rel-entity-name="ItemIssuance">
         <key-map field-name="itemIssuanceId"/>

Modified: 
incubator/ofbiz/trunk/applications/product/entitydef/entitymodel_shipment.xml
URL: 
http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/product/entitydef/entitymodel_shipment.xml?view=diff&rev=451821&r1=451820&r2=451821
==============================================================================
--- 
incubator/ofbiz/trunk/applications/product/entitydef/entitymodel_shipment.xml 
(original)
+++ 
incubator/ofbiz/trunk/applications/product/entitydef/entitymodel_shipment.xml 
Sun Oct  1 15:06:53 2006
@@ -51,6 +51,8 @@
       <field name="inventoryItemId" type="id"></field>
       <field name="shipmentId" type="id"></field>
       <field name="shipmentItemSeqId" type="id"></field>
+      <field name="fixedAssetId" type="id"></field>
+      <field name="maintHistSeqId" type="id"></field>
       <field name="issuedDateTime" type="date-time"></field>
       <field name="issuedByUserLoginId" type="id-vlong"></field>
       <field name="quantity" type="floating-point"></field>
@@ -70,6 +72,10 @@
       <relation type="one" fk-name="ITEM_ISS_SHITM" 
rel-entity-name="ShipmentItem">
         <key-map field-name="shipmentId"/>
         <key-map field-name="shipmentItemSeqId"/>
+      </relation>
+      <relation type="one" fk-name="ITEM_ISS_FAMNT" 
rel-entity-name="FixedAssetMaint">
+        <key-map field-name="fixedAssetId"/>
+        <key-map field-name="maintHistSeqId"/>
       </relation>
       <relation type="one-nofk" rel-entity-name="OrderHeader">
         <key-map field-name="orderId"/>

Modified: 
incubator/ofbiz/trunk/applications/product/script/org/ofbiz/shipment/issuance/IssuanceServices.xml
URL: 
http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/product/script/org/ofbiz/shipment/issuance/IssuanceServices.xml?view=diff&rev=451821&r1=451820&r2=451821
==============================================================================
--- 
incubator/ofbiz/trunk/applications/product/script/org/ofbiz/shipment/issuance/IssuanceServices.xml
 (original)
+++ 
incubator/ofbiz/trunk/applications/product/script/org/ofbiz/shipment/issuance/IssuanceServices.xml
 Sun Oct  1 15:06:53 2006
@@ -146,7 +146,7 @@
 
         <!-- make sure specified quantity is not empty -->
         <if-empty field-name="parameters.quantity">
-            <string-to-list string="Not issuing Order Item Ship Group 
Inventory Reservation to shipment [${parameters.shipmentId}] because the 
quantity to issue is empty for order [${orderItemShipGrpInvRes.orderId}] order 
item [${orderItemShipGrpInvRes.orderItemSeqId}] inventoryItem 
[${orderItemShipGrpInvRes.inventoryItemId}]" list-name="error_list"/>
+            <add-error><fail-message message="Not issuing Order Item Ship 
Group Inventory Reservation to shipment [${parameters.shipmentId}] because the 
quantity to issue is empty for order [${orderItemShipGrpInvRes.orderId}] order 
item [${orderItemShipGrpInvRes.orderItemSeqId}] inventoryItem 
[${orderItemShipGrpInvRes.inventoryItemId}]"/></add-error>
         </if-empty>
         <if-empty field-name="orderItemShipGrpInvRes.quantity">
             <log level="info" message="Order item reservation amount is null! 
PK lookup: ${OrderItemShipGrpInvResLookupPk}"/>
@@ -154,11 +154,11 @@
 
         <!-- make sure specified quantity is not less than or equal to 0 -->
         <if-compare field-name="parameters.quantity" operator="less-equals" 
value="0" type="Double">
-            <string-to-list string="Not issuing Order Item Ship Group 
Inventory Reservation to shipment [${parameters.shipmentId}] because the 
quantity to issue [${parameters.quantity}] is less than or equal to 0 for order 
[${orderItemShipGrpInvRes.orderId}] order item 
[${orderItemShipGrpInvRes.orderItemSeqId}] inventoryItem 
[${orderItemShipGrpInvRes.inventoryItemId}]" list-name="error_list"/>
+            <add-error><fail-message message="Not issuing Order Item Ship 
Group Inventory Reservation to shipment [${parameters.shipmentId}] because the 
quantity to issue [${parameters.quantity}] is less than or equal to 0 for order 
[${orderItemShipGrpInvRes.orderId}] order item 
[${orderItemShipGrpInvRes.orderItemSeqId}] inventoryItem 
[${orderItemShipGrpInvRes.inventoryItemId}]"/></add-error>
         </if-compare>
         <!-- make sure specified quantity is not greater than reserved 
quantity left to be issued, ie orderItemShipGrpInvRes.quantity -->
         <if-compare-field field-name="parameters.quantity" operator="greater" 
to-field-name="orderItemShipGrpInvRes.quantity" type="Double">
-            <string-to-list string="Not issuing Order Item Ship Group 
Inventory Reservation to shipment [${parameters.shipmentId}] because the 
quantity to issue [${parameters.quantity}] is greater than the quantity left to 
issue [${orderItemShipGrpInvRes.quantity}] for order 
[${orderItemShipGrpInvRes.orderId}] order item 
[${orderItemShipGrpInvRes.orderItemSeqId}] inventoryItem 
[${orderItemShipGrpInvRes.inventoryItemId}]" list-name="error_list"/>
+            <add-error><fail-message message="Not issuing Order Item Ship 
Group Inventory Reservation to shipment [${parameters.shipmentId}] because the 
quantity to issue [${parameters.quantity}] is greater than the quantity left to 
issue [${orderItemShipGrpInvRes.quantity}] for order 
[${orderItemShipGrpInvRes.orderId}] order item 
[${orderItemShipGrpInvRes.orderItemSeqId}] inventoryItem 
[${orderItemShipGrpInvRes.inventoryItemId}]"/></add-error>
         </if-compare-field>
 
         <check-errors/>
@@ -313,7 +313,7 @@
         </if-not-empty>
 
         <set from-field="userLogin.userLoginId" 
field="itemIssuanceCreate.issuedByUserLoginId"/>
-        <call-service service-name="createItemIssuance" 
in-map-name="itemIssuanceCreate" >
+        <call-service service-name="createItemIssuance" 
in-map-name="itemIssuanceCreate">
             <result-to-field result-name="itemIssuanceId"/>
         </call-service>
         <field-to-result field-name="itemIssuanceId"/>
@@ -333,5 +333,45 @@
         <set from-field="userLogin.partyId" 
field="itemIssuanceRoleCreate.partyId"/>
         <set value="PACKER" field="itemIssuanceRoleCreate.roleTypeId"/>
         <call-service service-name="createItemIssuanceRole" 
in-map-name="itemIssuanceRoleCreate"/>
+    </simple-method>
+    
+    <simple-method method-name="issueInventoryItemToFixedAssetMaint" 
short-description="Issue InventoryItem To FixedAssetMaint">
+        <entity-one entity-name="InventoryItem" value-name="inventoryItem"/>
+        <entity-one entity-name="FixedAssetMaint" 
value-name="fixedAssetMaint"/>
+
+        <!-- make sure specified quantity is not less than or equal to 0 -->
+        <if-compare field-name="parameters.quantity" operator="less-equals" 
value="0" type="Double">
+            <add-error><fail-message message="Not issuing InventoryItem to 
FixedAssetMaint 
[${fixedAssetMaint.fixedAssetId:fixedAssetMaint.maintHistSeqId}] because the 
quantity to issue [${parameters.quantity}] is less than or equal to 0 for 
inventoryItem [${inventoryItem.inventoryItemId}]"/></add-error>
+        </if-compare>
+        <!-- make sure specified quantity is not greater than available 
quantity left to be issued, ie intentoryItem.availableToPromiseTotal -->
+        <if-compare-field field-name="parameters.quantity" operator="greater" 
to-field-name="intentoryItem.availableToPromiseTotal" type="Double">
+            <add-error><fail-message message="Not issuing InventoryItem to 
FixedAssetMaint 
[${fixedAssetMaint.fixedAssetId:fixedAssetMaint.maintHistSeqId}] because the 
quantity to issue [${parameters.quantity}] is greater than the quantity left to 
issue (ie the ATP or Available To Promise) 
[${intentoryItem.availableToPromiseTotal}] for inventoryItem 
[${orderItemShipGrpInvRes.inventoryItemId}]"/></add-error>
+        </if-compare-field>
+        
+        <check-errors/>
+        
+        <!-- create the ItemIssuance -->
+        <set from-field="parameters.quantity" 
field="itemIssuanceCreate.quantity"/>
+        <set from-field="fixedAssetMaint.fixedAssetId" 
field="itemIssuanceCreate.fixedAssetId"/>
+        <set from-field="fixedAssetMaint.maintHistSeqId" 
field="itemIssuanceCreate.maintHistSeqId"/>
+        <set from-field="userLogin.userLoginId" 
field="itemIssuanceCreate.issuedByUserLoginId"/>
+        <call-service service-name="createItemIssuance" 
in-map-name="itemIssuanceCreate">
+            <result-to-field result-name="itemIssuanceId"/>
+        </call-service>
+        <field-to-result field-name="itemIssuanceId"/>
+
+        <!-- Decrement InventoryItem quantityOnHand AND availableToPromise 
since there was no reservation -->
+        <!-- instead of updating InventoryItem, add an InventoryItemDetail -->
+        <set from-field="inventoryItem.inventoryItemId" 
field="createDetailMap.inventoryItemId"/>
+        <set from-field="fixedAssetMaint.fixedAssetId" 
field="createDetailMap.fixedAssetId"/>
+        <set from-field="fixedAssetMaint.maintHistSeqId" 
field="createDetailMap.maintHistSeqId"/>
+        <set from-field="itemIssuanceId" 
field="createDetailMap.itemIssuanceId"/>
+        <calculate field-name="createDetailMap.quantityOnHandDiff" 
type="Double">
+            <calcop field-name="parameters.quantity" operator="negative"/>
+        </calculate>
+        <calculate field-name="createDetailMap.availableToPromiseDiff" 
type="Double">
+            <calcop field-name="parameters.quantity" operator="negative"/>
+        </calculate>
+        <call-service service-name="createInventoryItemDetail" 
in-map-name="createDetailMap"/>
     </simple-method>
 </simple-methods>

Modified: 
incubator/ofbiz/trunk/applications/product/servicedef/services_shipment.xml
URL: 
http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/product/servicedef/services_shipment.xml?view=diff&rev=451821&r1=451820&r2=451821
==============================================================================
--- incubator/ofbiz/trunk/applications/product/servicedef/services_shipment.xml 
(original)
+++ incubator/ofbiz/trunk/applications/product/servicedef/services_shipment.xml 
Sun Oct  1 15:06:53 2006
@@ -353,7 +353,15 @@
         <attribute name="shipmentItemSeqId" type="String" mode="OUT" 
optional="false"/>
         <attribute name="itemIssuanceId" type="String" mode="OUT" 
optional="false"/>
     </service>
-
+    <service name="issueInventoryItemToFixedAssetMaint" engine="simple"
+        location="org/ofbiz/shipment/issuance/IssuanceServices.xml" 
invoke="issueInventoryItemToFixedAssetMaint" auth="true">
+        <description>Issue an InventoryItem to a FixedAssetMaint - for 
conversion to use as supples/parts</description>
+        <auto-attributes entity-name="InventoryItem" include="pk" mode="IN" 
optional="false"/>
+        <auto-attributes entity-name="FixedAssetMaint" include="pk" mode="IN" 
optional="false"/>
+        <attribute name="quantity" type="Double" mode="IN" optional="false"/>
+        <attribute name="itemIssuanceId" type="String" mode="OUT" 
optional="false"/>
+    </service>
+    
     <!-- Pack Order Services -->
     <service name="packSingleItem" engine="java"
             location="org.ofbiz.shipment.packing.PackingServices" 
invoke="addPackLine" auth="true">


Reply via email to