svn commit: r1368822 - in /ofbiz/trunk/applications: order/entitydef/ order/servicedef/ product/data/ product/entitydef/ product/script/org/ofbiz/product/product/ product/script/org/ofbiz/product/test/ product/servicedef/ product/widget/catalog/

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r1368822 - in /ofbiz/trunk/applications: order/entitydef/ order/servicedef/ product/data/ product/entitydef/ product/script/org/ofbiz/product/product/ product/script/org/ofbiz/product/test/ product/servicedef/ product/widget/catalog/

hansbak-2
Author: hansbak
Date: Fri Aug  3 07:52:28 2012
New Revision: 1368822

URL: http://svn.apache.org/viewvc?rev=1368822&view=rev
Log:
improve the groupbuying function by properly return sales numbers when cancelling an order.

Modified:
    ofbiz/trunk/applications/order/entitydef/entitymodel.xml
    ofbiz/trunk/applications/order/servicedef/secas.xml
    ofbiz/trunk/applications/order/servicedef/services.xml
    ofbiz/trunk/applications/product/data/ProductTypeData.xml
    ofbiz/trunk/applications/product/entitydef/entitymodel.xml
    ofbiz/trunk/applications/product/script/org/ofbiz/product/product/ProductServices.xml
    ofbiz/trunk/applications/product/script/org/ofbiz/product/test/GroupOrderTest.xml
    ofbiz/trunk/applications/product/servicedef/services.xml
    ofbiz/trunk/applications/product/widget/catalog/ProductForms.xml

Modified: ofbiz/trunk/applications/order/entitydef/entitymodel.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/entitydef/entitymodel.xml?rev=1368822&r1=1368821&r2=1368822&view=diff
==============================================================================
--- ofbiz/trunk/applications/order/entitydef/entitymodel.xml (original)
+++ ofbiz/trunk/applications/order/entitydef/entitymodel.xml Fri Aug  3 07:52:28 2012
@@ -769,6 +769,23 @@ under the License.
             <key-map field-name="parentGroupSeqId" rel-field-name="orderItemGroupSeqId"/>
         </relation>
     </entity>
+    <entity entity-name="OrderItemGroupOrder"
+            package-name="org.ofbiz.order.order"
+            title="Order Item Group Order Entity">
+      <field name="orderId" type="id-ne"></field>
+      <field name="orderItemSeqId" type="id-ne"></field>
+      <field name="groupOrderId" type="id-ne"></field>
+      <prim-key field="orderId"/>
+      <prim-key field="orderItemSeqId"/>
+      <prim-key field="groupOrderId"/>
+      <relation type="one" fk-name="OIGO_ORDER_ITEM" rel-entity-name="OrderItem">
+        <key-map field-name="orderId"/>
+        <key-map field-name="orderItemSeqId"/>
+      </relation>
+      <relation type="one" fk-name="OIGO_PRD_GROUP_ORDER" rel-entity-name="ProductGroupOrder">
+        <key-map field-name="groupOrderId"/>
+      </relation>
+    </entity>
     <entity entity-name="OrderItemPriceInfo"
             package-name="org.ofbiz.order.order"
             never-cache="true"

Modified: ofbiz/trunk/applications/order/servicedef/secas.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/servicedef/secas.xml?rev=1368822&r1=1368821&r2=1368822&view=diff
==============================================================================
--- ofbiz/trunk/applications/order/servicedef/secas.xml (original)
+++ ofbiz/trunk/applications/order/servicedef/secas.xml Fri Aug  3 07:52:28 2012
@@ -60,6 +60,7 @@ under the License.
     <eca service="changeOrderItemStatus" event="commit">
         <condition field-name="statusId" operator="equals" value="ITEM_CANCELLED"/>
         <action service="cancelOrderInventoryReservation" mode="sync"/>
+        <action service="cancleOrderItemGroupOrder" mode="sync"/>
         <action service="recalcShippingTotal" mode="sync"/>
         <action service="recalcTaxTotal" mode="sync"/>
         <action service="resetGrandTotal" mode="sync"/>
@@ -447,8 +448,4 @@ under the License.
         <condition field-name="orderTypeId" operator="equals" value="SALES_ORDER"/>
         <action service="checkOrderItemForProductGroupOrder" mode="sync"/>
     </eca>
-    <eca service="changeOrderStatus" event="commit">
-        <condition field-name="statusId" operator="equals" value="ORDER_CANCELLED"/>
-        <action service="checkOrderItemForProductGroupOrder" mode="sync"/>
-    </eca>
 </service-eca>

Modified: ofbiz/trunk/applications/order/servicedef/services.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/servicedef/services.xml?rev=1368822&r1=1368821&r2=1368822&view=diff
==============================================================================
--- ofbiz/trunk/applications/order/servicedef/services.xml (original)
+++ ofbiz/trunk/applications/order/servicedef/services.xml Fri Aug  3 07:52:28 2012
@@ -1142,4 +1142,10 @@ under the License.
         <auto-attributes mode="IN" entity-name="OrderItemAttribute" include="pk" optional="false"/>
     </service>
     
+    <!-- Order Item Group Order -->
+    <service name="createOrderItemGroupOrder" engine="entity-auto" default-entity-name="OrderItemGroupOrder" invoke="create" auth="true">
+        <description>Create Order Item Group Order</description>
+        <auto-attributes mode="IN" entity-name="OrderItemGroupOrder" include="pk" optional="false"/>
+    </service>
+    
 </services>

Modified: ofbiz/trunk/applications/product/data/ProductTypeData.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/data/ProductTypeData.xml?rev=1368822&r1=1368821&r2=1368822&view=diff
==============================================================================
--- ofbiz/trunk/applications/product/data/ProductTypeData.xml (original)
+++ ofbiz/trunk/applications/product/data/ProductTypeData.xml Fri Aug  3 07:52:28 2012
@@ -650,4 +650,10 @@ under the License.
     <Enumeration description="Remove Logo" enumCode="REMOVE_LOGO" enumId="REMOVE_LOGO" sequenceId="02" enumTypeId="IMAGE_REJECT_REASON"/>
     <Enumeration description="Other" enumCode="OTHER" enumId="OTHER" sequenceId="03" enumTypeId="IMAGE_REJECT_REASON"/>
     
+    <!-- Group Order -->
+    <StatusType description="Group Order Status" hasTable="N" parentTypeId="" statusTypeId="GROUP_ORDER_STATUS"/>
+    <StatusItem description="Created" sequenceId="01" statusCode="CREATED" statusId="GO_CREATED" statusTypeId="GROUP_ORDER_STATUS"/>
+    <StatusItem description="Success" sequenceId="02" statusCode="SUCCESS" statusId="GO_SUCCESS" statusTypeId="GROUP_ORDER_STATUS"/>
+    <StatusItem description="Cancelled" sequenceId="03" statusCode="CANCELLED" statusId="GO_CANCELLED" statusTypeId="GROUP_ORDER_STATUS"/>
+    
 </entity-engine-xml>

Modified: ofbiz/trunk/applications/product/entitydef/entitymodel.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/entitydef/entitymodel.xml?rev=1368822&r1=1368821&r2=1368822&view=diff
==============================================================================
--- ofbiz/trunk/applications/product/entitydef/entitymodel.xml (original)
+++ ofbiz/trunk/applications/product/entitydef/entitymodel.xml Fri Aug  3 07:52:28 2012
@@ -4812,6 +4812,7 @@ under the License.
       <field name="productId" type="id-ne"></field>
       <field name="fromDate" type="date-time"></field>
       <field name="thruDate" type="date-time"></field>
+      <field name="statusId" type="id-ne"></field>
       <field name="reqOrderQty" type="fixed-point"></field>
       <field name="soldOrderQty" type="fixed-point"></field>
       <field name="jobId" type="id-ne"></field>
@@ -4819,6 +4820,9 @@ under the License.
       <relation type="one" fk-name="PROD_GROUP_ORDER" rel-entity-name="Product">
         <key-map field-name="productId"/>
       </relation>
+      <relation type="one" fk-name="GROUP_ORDER_STATUS" rel-entity-name="StatusItem">
+        <key-map field-name="statusId"/>
+      </relation>
       <relation type="one" fk-name="GROUP_ORDER_JOB" rel-entity-name="JobSandbox">
         <key-map field-name="jobId"/>
       </relation>

Modified: ofbiz/trunk/applications/product/script/org/ofbiz/product/product/ProductServices.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/script/org/ofbiz/product/product/ProductServices.xml?rev=1368822&r1=1368821&r2=1368822&view=diff
==============================================================================
--- ofbiz/trunk/applications/product/script/org/ofbiz/product/product/ProductServices.xml (original)
+++ ofbiz/trunk/applications/product/script/org/ofbiz/product/product/ProductServices.xml Fri Aug  3 07:52:28 2012
@@ -1064,17 +1064,26 @@ under the License.
         <entity-one entity-name="ProductGroupOrder" value-field="productGroupOrder"/>
         <set-nonpk-fields value-field="productGroupOrder" map="parameters"/>
         <store-value value-field="productGroupOrder"/>
-
-        <entity-one entity-name="JobSandbox" value-field="jobSandbox">
-            <field-map field-name="jobId" from-field="productGroupOrder.jobId"/>
-        </entity-one>
-        <if-not-empty field="jobSandbox">
-            <set field="jobSandbox.runTime" from-field="parameters.thruDate"/>
-            <store-value value-field="jobSandbox"/>
-        </if-not-empty>
+        
+        <if-compare field="productGroupOrder.statusId" operator="equals" value="GO_CREATED">
+            <entity-one entity-name="JobSandbox" value-field="jobSandbox">
+                <field-map field-name="jobId" from-field="productGroupOrder.jobId"/>
+            </entity-one>
+            <if-not-empty field="jobSandbox">
+                <set field="jobSandbox.runTime" from-field="parameters.thruDate"/>
+                <store-value value-field="jobSandbox"/>
+            </if-not-empty>
+        </if-compare>
     </simple-method>
 
     <simple-method method-name="deleteProductGroupOrder" short-description="Delete ProductGroupOrder">
+        <entity-and entity-name="OrderItemGroupOrder" list="orderItemGroupOrders">
+            <field-map field-name="groupOrderId" from-field="parameters.groupOrderId"/>
+        </entity-and>
+        <iterate entry="orderItemGroupOrder" list="orderItemGroupOrders">
+            <remove-value value-field="orderItemGroupOrder"/>
+        </iterate>
+        
         <entity-one entity-name="ProductGroupOrder" value-field="productGroupOrder"/>
         <remove-value value-field="productGroupOrder"/>
         
@@ -1114,7 +1123,7 @@ under the License.
             <make-value entity-name="JobSandbox" value-field="jobSandbox"/>
             <sequenced-id sequence-name="JobSandbox" field="jobSandbox.jobId"/>
             <set field="jobId" from-field="jobSandbox.jobId"/>
-            <set field="jobSandbox.jobName" value="Check Product GroupOrder Expired"/>
+            <set field="jobSandbox.jobName" value="Check ProductGroupOrder Expired"/>
             <set field="jobSandbox.runTime" from-field="parameters.thruDate"/>
             <set field="jobSandbox.poolId" value="pool"/>
             <set field="jobSandbox.statusId" value="SERVICE_PENDING"/>
@@ -1130,7 +1139,6 @@ under the License.
     </simple-method>
 
     <simple-method method-name="checkOrderItemForProductGroupOrder" short-description="Check OrderItem For ProductGroupOrder">
-        <entity-one entity-name="OrderHeader" value-field="orderHeader"/>
         <entity-and entity-name="OrderItem" list="orderItems">
             <field-map field-name="orderId" from-field="parameters.orderId"/>
         </entity-and>
@@ -1151,92 +1159,94 @@ under the License.
             <entity-and entity-name="ProductGroupOrder" list="productGroupOrders" filter-by-date="true">
                 <field-map field-name="productId" from-field="productId"/>
             </entity-and>
-            <iterate entry="productGroupOrder" list="productGroupOrders">
-                <if-compare field="orderHeader.statusId" operator="equals" value="ORDER_CREATED">
-                    <calculate field="productGroupOrder.soldOrderQty">
-                        <calcop field="productGroupOrder.soldOrderQty" operator="add">
-                            <calcop field="orderItem.quantity" operator="get"/>
-                        </calcop>
-                    </calculate>
-                </if-compare>
-                <if-compare field="orderHeader.statusId" operator="equals" value="ORDER_CANCELLED">
-                    <calculate field="productGroupOrder.soldOrderQty">
-                        <calcop field="productGroupOrder.soldOrderQty" operator="subtract">
-                            <calcop field="orderItem.quantity" operator="get"/>
-                        </calcop>
-                    </calculate>
-                </if-compare>
+            <if-not-empty field="productGroupOrders">
+                <first-from-list entry="productGroupOrder" list="productGroupOrders"/>
+                <calculate field="productGroupOrder.soldOrderQty">
+                    <calcop field="productGroupOrder.soldOrderQty" operator="add">
+                        <calcop field="orderItem.quantity" operator="get"/>
+                    </calcop>
+                </calculate>
                 <store-value value-field="productGroupOrder"/>
-            </iterate>
+                
+                <set field="createOrderItemGroupOrderMap.orderId" from-field="orderItem.orderId"/>
+                <set field="createOrderItemGroupOrderMap.orderItemSeqId" from-field="orderItem.orderItemSeqId"/>
+                <set field="createOrderItemGroupOrderMap.groupOrderId" from-field="productGroupOrder.groupOrderId"/>
+                <call-service service-name="createOrderItemGroupOrder" in-map-name="createOrderItemGroupOrderMap"/>
+            </if-not-empty>
         </iterate>
     </simple-method>
-
-    <simple-method method-name="checkProductGroupOrderExpired" short-description="Check ProductGroupOrder Expired">
-        <entity-one entity-name="ProductGroupOrder" value-field="productGroupOrder"/>
-        <if-compare field="productGroupOrder.soldOrderQty" operator="greater-equals" value="${productGroupOrder.reqOrderQty}">
-            <set field="newItemStatusId" value="ITEM_APPROVED"/>
-        <else>
-            <set field="newItemStatusId" value="ITEM_CANCELLED"/>
-        </else>
-        </if-compare>
-
-        <entity-one entity-name="Product" value-field="product">
-            <field-map field-name="productId" from-field="productGroupOrder.productId"/>
-        </entity-one>
-        <if-compare field="product.isVirtual" operator="equals" value="Y">
-            <entity-and entity-name="ProductAssoc" list="variantProductAssocs" filter-by-date="true">
-                <field-map field-name="productId" from-field="productGroupOrder.productId"/>
-                <field-map field-name="productAssocTypeId" value="PRODUCT_VARIANT"/>
+    
+    <simple-method method-name="cancleOrderItemGroupOrder" short-description="Cancle OrderItemGroupOrder">
+        <if-not-empty field="parameters.orderItemSeqId">
+            <entity-and entity-name="OrderItem" list="orderItems">
+                <field-map field-name="orderId" from-field="parameters.orderId"/>
+                <field-map field-name="orderItemSeqId" from-field="parameters.orderItemSeqId" />
             </entity-and>
-            <iterate entry="variantProductAssoc" list="variantProductAssocs">
-                <set field="findOrderItemMap.productId" from-field="variantProductAssoc.productIdTo"/>
-                <set field="findOrderItemMap.newItemStatusId" from-field="newItemStatusId"/>
-                <set field="findOrderItemMap.fromDate" from-field="productGroupOrder.fromDate"/>
-                <set field="findOrderItemMap.thruDate" from-field="productGroupOrder.thruDate"/>
-                <call-service service-name="findOrderItemForProductGroupOrder" in-map-name="findOrderItemMap"/>
-            </iterate>
         <else>
-            <set field="findOrderItemMap.productId" from-field="productGroupOrder.productId"/>
-            <set field="findOrderItemMap.newItemStatusId" from-field="newItemStatusId"/>
-            <set field="findOrderItemMap.fromDate" from-field="productGroupOrder.fromDate"/>
-            <set field="findOrderItemMap.thruDate" from-field="productGroupOrder.thruDate"/>
-            <call-service service-name="findOrderItemForProductGroupOrder" in-map-name="findOrderItemMap"/>
+            <entity-and entity-name="OrderItem" list="orderItems">
+                <field-map field-name="orderId" from-field="parameters.orderId"/>
+            </entity-and>
         </else>
-        </if-compare>
-    </simple-method>
-
-    <simple-method method-name="findOrderItemForProductGroupOrder" short-description="Find OrderItem For ProductGroupOrder">
-        <entity-condition entity-name="OrderItem" list="orderItems">
-            <condition-list combine="and">
-                <condition-expr field-name="productId" operator="equals" from-field="parameters.productId"/>
-                <condition-list combine="or">
-                    <condition-expr field-name="statusId" operator="equals" value="ITEM_CREATED"/>
-                    <condition-expr field-name="statusId" operator="equals" value="ITEM_APPROVED"/>
-                </condition-list>
-            </condition-list>
-        </entity-condition>
+        </if-not-empty>
         <iterate entry="orderItem" list="orderItems">
-            <entity-one value-field="orderHeader" entity-name="OrderHeader">
+            <entity-and entity-name="OrderItemGroupOrder" list="orderItemGroupOrders">
                 <field-map field-name="orderId" from-field="orderItem.orderId"/>
-            </entity-one>
-            <if>
-                <condition>
-                    <and>
-                        <if-compare field="orderHeader.orderTypeId" operator="equals" value="SALES_ORDER"/>
-                        <if-compare field="orderHeader.orderDate" operator="greater-equals" value="${parameters.fromDate}"/>
-                        <if-compare field="orderHeader.orderDate" operator="less" value="${parameters.thruDate}"/>
-                    </and>
-                </condition>
-                <then>
-                    <set field="changeOrderItemStatusMap.orderId" from-field="orderItem.orderId"/>
-                    <set field="changeOrderItemStatusMap.orderItemSeqId" from-field="orderItem.orderItemSeqId"/>
-                    <set field="changeOrderItemStatusMap.statusId" from-field="parameters.newItemStatusId"/>
-                    <call-service service-name="changeOrderItemStatus" in-map-name="changeOrderItemStatusMap"/>
-                </then>
-            </if>
+                <field-map field-name="orderItemSeqId" from-field="orderItem.orderItemSeqId"/>
+            </entity-and>
+            <if-not-empty field="orderItemGroupOrders">
+                <first-from-list entry="orderItemGroupOrder" list="orderItemGroupOrders"/>
+                <entity-one entity-name="ProductGroupOrder" value-field="productGroupOrder">
+                    <field-map field-name="groupOrderId" from-field="orderItemGroupOrder.groupOrderId"/>
+                </entity-one>
+                <if-not-empty field="productGroupOrder">
+                    <if-compare field="orderItem.statusId" operator="equals" value="ITEM_CANCELLED">
+                        <if-not-empty field="orderItem.cancelQuantity">
+                            <set field="cancelQuantity" from-field="orderItem.cancelQuantity"/>
+                        <else>
+                            <set field="cancelQuantity" from-field="orderItem.quantity"/>
+                        </else>
+                        </if-not-empty>
+                        <calculate field="productGroupOrder.soldOrderQty">
+                            <calcop field="productGroupOrder.soldOrderQty" operator="subtract">
+                                <calcop field="cancelQuantity" operator="get"/>
+                            </calcop>
+                        </calculate>
+                    </if-compare>
+                    <store-value value-field="productGroupOrder"/>
+                    <remove-value value-field="orderItemGroupOrder"/>
+                </if-not-empty>
+            </if-not-empty>
         </iterate>
     </simple-method>
     
+    <simple-method method-name="checkProductGroupOrderExpired" short-description="Check ProductGroupOrder Expired">
+        <entity-one entity-name="ProductGroupOrder" value-field="productGroupOrder"/>
+        <if-not-empty field="productGroupOrder">
+            <if-compare field="productGroupOrder.soldOrderQty" operator="greater-equals" value="${productGroupOrder.reqOrderQty}">
+                <set field="newItemStatusId" value="ITEM_APPROVED"/>
+                <set field="groupOrderStatusId" value="GO_SUCCESS"/>
+            <else>
+                <set field="newItemStatusId" value="ITEM_CANCELLED"/>
+                <set field="groupOrderStatusId" value="GO_CANCELLED"/>
+            </else>
+            </if-compare>
+            
+            <entity-and entity-name="OrderItemGroupOrder" list="orderItemGroupOrders">
+                <field-map field-name="groupOrderId" from-field="productGroupOrder.groupOrderId"/>
+            </entity-and>
+            <iterate entry="orderItemGroupOrder" list="orderItemGroupOrders">
+                <set field="changeOrderItemStatusMap.orderId" from-field="orderItemGroupOrder.orderId"/>
+                <set field="changeOrderItemStatusMap.orderItemSeqId" from-field="orderItemGroupOrder.orderItemSeqId"/>
+                <set field="changeOrderItemStatusMap.statusId" from-field="newItemStatusId"/>
+                <call-service service-name="changeOrderItemStatus" in-map-name="changeOrderItemStatusMap"/>
+            </iterate>
+            
+            <set field="updateProductGroupOrderMap.groupOrderId" from-field="productGroupOrder.groupOrderId"/>
+            <set field="updateProductGroupOrderMap.statusId" from-field="groupOrderStatusId"/>
+            <call-service service-name="updateProductGroupOrder" in-map-name="updateProductGroupOrderMap"/>
+        </if-not-empty>
+    </simple-method>
+    
     <simple-method method-name="setProductReviewStatus" short-description="change the product review Status">
         <set value="setProductReviewStatus" field="callingMethodName"/>
         <set value="UPDATE" field="checkAction"/>

Modified: ofbiz/trunk/applications/product/script/org/ofbiz/product/test/GroupOrderTest.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/script/org/ofbiz/product/test/GroupOrderTest.xml?rev=1368822&r1=1368821&r2=1368822&view=diff
==============================================================================
--- ofbiz/trunk/applications/product/script/org/ofbiz/product/test/GroupOrderTest.xml (original)
+++ ofbiz/trunk/applications/product/script/org/ofbiz/product/test/GroupOrderTest.xml Fri Aug  3 07:52:28 2012
@@ -43,6 +43,7 @@ under the License.
         <set field="createProductGroupOrderMap.productId" value="GZ-1000"/>
         <set field="createProductGroupOrderMap.fromDate" from-field="nowTimestamp"/>
         <set field="createProductGroupOrderMap.thruDate" from-field="thruDate"/>
+        <set field="createProductGroupOrderMap.statusId" value="GO_CREATED"/>
         <set field="createProductGroupOrderMap.reqOrderQty" value="1" type="BigDecimal"/>
         <set field="createProductGroupOrderMap.soldOrderQty" value="0" type="BigDecimal"/>
         <call-service service-name="createProductGroupOrder" in-map-name="createProductGroupOrderMap">

Modified: ofbiz/trunk/applications/product/servicedef/services.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/servicedef/services.xml?rev=1368822&r1=1368821&r2=1368822&view=diff
==============================================================================
--- ofbiz/trunk/applications/product/servicedef/services.xml (original)
+++ ofbiz/trunk/applications/product/servicedef/services.xml Fri Aug  3 07:52:28 2012
@@ -1685,21 +1685,15 @@ under the License.
     <service name="createProductGroupOrder" default-entity-name="ProductGroupOrder" engine="simple"
         location="component://product/script/org/ofbiz/product/product/ProductServices.xml" invoke="createProductGroupOrder" auth="true">
         <description>Create ProductGroupOrder</description>
-        <attribute name="productId" mode="IN" type="String" optional="false"/>
-        <attribute name="soldOrderQty" mode="IN" type="BigDecimal" optional="false"/>
-        <attribute name="reqOrderQty" mode="IN" type="BigDecimal" optional="false"/>
-        <attribute name="fromDate" mode="IN" type="Timestamp" optional="false"/>
-        <attribute name="thruDate" mode="IN" type="Timestamp" optional="false"/>
-        <attribute name="groupOrderId" mode="OUT" type="String" optional="true"/>
+        <auto-attributes include="pk" mode="OUT" optional="false"/>
+        <auto-attributes include="nonpk" mode="IN" optional="true"/>
     </service>
 
     <service name="updateProductGroupOrder" default-entity-name="ProductGroupOrder" engine="simple"
         location="component://product/script/org/ofbiz/product/product/ProductServices.xml" invoke="updateProductGroupOrder" auth="true">
         <description>Update ProductGroupOrder</description>
-        <attribute name="groupOrderId" mode="IN" type="String" optional="false"/>
-        <attribute name="reqOrderQty" mode="IN" type="BigDecimal" optional="false"/>
-        <attribute name="fromDate" mode="IN" type="Timestamp" optional="false"/>
-        <attribute name="thruDate" mode="IN" type="Timestamp" optional="false"/>
+        <auto-attributes include="pk" mode="IN" optional="false"/>
+        <auto-attributes include="nonpk" mode="IN" optional="true"/>
     </service>
 
     <service name="deleteProductGroupOrder" default-entity-name="ProductGroupOrder" engine="simple"
@@ -1721,19 +1715,17 @@ under the License.
         <attribute name="orderId" mode="IN" type="String" optional="false"/>
     </service>
 
+    <service name="cancleOrderItemGroupOrder" engine="simple"
+        location="component://product/script/org/ofbiz/product/product/ProductServices.xml" invoke="cancleOrderItemGroupOrder" auth="true">
+        <description>Cancle OrderItemGroupOrder</description>
+        <attribute name="orderId" mode="IN" type="String" optional="false"/>
+        <attribute name="orderItemSeqId" type="String" mode="IN" optional="true"/>
+    </service>
+
     <service name="checkProductGroupOrderExpired" engine="simple"
         location="component://product/script/org/ofbiz/product/product/ProductServices.xml" invoke="checkProductGroupOrderExpired" auth="true">
         <description>Check ProductGroupOrder Expired</description>
         <attribute name="groupOrderId" mode="IN" type="String" optional="false"/>
     </service>
 
-    <service name="findOrderItemForProductGroupOrder" engine="simple"
-        location="component://product/script/org/ofbiz/product/product/ProductServices.xml" invoke="findOrderItemForProductGroupOrder" auth="true">
-        <description>Find OrderItem For ProductGroupOrder</description>
-        <attribute name="productId" mode="IN" type="String" optional="false"/>
-        <attribute name="newItemStatusId" mode="IN" type="String" optional="false"/>
-        <attribute name="fromDate" mode="IN" type="Timestamp" optional="false"/>
-        <attribute name="thruDate" mode="IN" type="Timestamp" optional="false"/>
-    </service>
-
 </services>

Modified: ofbiz/trunk/applications/product/widget/catalog/ProductForms.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/widget/catalog/ProductForms.xml?rev=1368822&r1=1368821&r2=1368822&view=diff
==============================================================================
--- ofbiz/trunk/applications/product/widget/catalog/ProductForms.xml (original)
+++ ofbiz/trunk/applications/product/widget/catalog/ProductForms.xml Fri Aug  3 07:52:28 2012
@@ -2166,6 +2166,7 @@ under the License.
         <field name="soldOrderQty" title="${uiLabelMap.ProductSoldQuantity}"><display/></field>
         <field name="fromDate" title="${uiLabelMap.ProductDealStartDate}"><display/></field>
         <field name="thruDate" title="${uiLabelMap.ProductDealEndDate}"><display/></field>
+        <field name="statusId" title="${uiLabelMap.CommonStatus}"><display-entity entity-name="StatusItem" key-field-name="statusId" description="${description}"/></field>
         <field name="editLink" use-when="${groovy: return reqOrderQty.compareTo(soldOrderQty)!= 0;}&amp;&amp;${groovy: return thruDate.compareTo(org.ofbiz.base.util.UtilDateTime.nowTimestamp()) == 1}" title=" " widget-style="buttontext">
             <hyperlink target="EditProductGroupOrder" description="${uiLabelMap.CommonEdit}" also-hidden="false">
                 <parameter param-name="productId"/>
@@ -2183,6 +2184,7 @@ under the License.
     <form name="CreateProductGroupOrder" type="single" target="createProductGroupOrder" title=""
         header-row-style="header-row" default-table-style="basic-table">
         <field name="productId"><hidden/></field>
+        <field name="statusId"><hidden value="GO_CREATED"/></field>
         <field name="soldOrderQty"><hidden value="0"/></field>
         <field name="reqOrderQty" title="${uiLabelMap.ProductDealQuantity}*"><text/></field>
         <field name="fromDate" title="${uiLabelMap.ProductDealStartDate}*"><date-time/></field>
@@ -2194,6 +2196,7 @@ under the License.
         header-row-style="header-row" default-table-style="basic-table">
         <field name="groupOrderId"><hidden/></field>
         <field name="productId"><hidden/></field>
+        <field name="statusId"><hidden/></field>
         <field name="reqOrderQty" title="${uiLabelMap.ProductDealQuantity}*"><text/></field>
         <field name="fromDate" title="${uiLabelMap.ProductDealStartDate}*"><date-time/></field>
         <field name="thruDate" title="${uiLabelMap.ProductDealEndDate}*"><date-time/></field>