details:   /erp/devel/pi/rev/1133b8a877a3
changeset: 7111:1133b8a877a3
user:      Sivaraman Rajagopal <sivaraman.rajagopal <at> openbravo.com>
date:      Thu Apr 22 10:10:10 2010 +0530
summary:   8530: RFE: 2.50 Popup of copy lines for Goods Receipt should suggest 
the Attribute values

diffstat:

 src/org/openbravo/erpCommon/ad_actionButton/CreateFrom.java               |  
25 ++++++-
 src/org/openbravo/erpCommon/ad_actionButton/CreateFrom_ShipmentPO.xml     |   
1 +
 src/org/openbravo/erpCommon/ad_actionButton/CreateFrom_Shipment_data.xsql |  
36 ++++++++-
 3 files changed, 57 insertions(+), 5 deletions(-)

diffs (108 lines):

diff -r ff1c64d7f68b -r 1133b8a877a3 
src/org/openbravo/erpCommon/ad_actionButton/CreateFrom.java
--- a/src/org/openbravo/erpCommon/ad_actionButton/CreateFrom.java       Thu Apr 
22 10:07:14 2010 +0530
+++ b/src/org/openbravo/erpCommon/ad_actionButton/CreateFrom.java       Thu Apr 
22 10:10:10 2010 +0530
@@ -608,10 +608,33 @@
             data = CreateFromShipmentData.selectFromPOSOTrx(this, 
vars.getLanguage(), Utility
                 .getContext(this, vars, "#User_Client", strWindowId), 
Utility.getContext(this,
                 vars, "#User_Org", strWindowId), strPO);
-          else
+          else {
             data = CreateFromShipmentData.selectFromPO(this, 
vars.getLanguage(), Utility
                 .getContext(this, vars, "#User_Client", strWindowId), 
Utility.getContext(this,
                 vars, "#User_Org", strWindowId), strPO);
+            Connection conn = null;
+            try {
+              for (int i = 0; i < data.length; i++) {
+                if (data[i].mAttributesetinstanceId != null
+                    && !"".equals(data[i].mAttributesetinstanceId)) {
+                  conn = this.getTransactionConnection();
+                  String strMAttributesetinstanceID = SequenceIdData.getUUID();
+                  CreateFromShipmentData.copyAttributes(conn, this, 
strMAttributesetinstanceID,
+                      data[i].mAttributesetinstanceId);
+                  CreateFromShipmentData.copyInstances(conn, this, 
strMAttributesetinstanceID,
+                      data[i].mAttributesetinstanceId);
+                  data[i].mAttributesetinstanceId = strMAttributesetinstanceID;
+                  releaseCommitConnection(conn);
+                }
+              }
+            } catch (Exception e) {
+              try {
+                releaseRollbackConnection(conn);
+              } catch (Exception ignored) {
+              }
+              log4j.warn("Rollback in transaction");
+            }
+          }
         } else {
           if (isSOTrx.equals("Y"))
             data = CreateFromShipmentData.selectFromPOTrlSOTrx(this, 
vars.getLanguage(), Utility
diff -r ff1c64d7f68b -r 1133b8a877a3 
src/org/openbravo/erpCommon/ad_actionButton/CreateFrom_ShipmentPO.xml
--- a/src/org/openbravo/erpCommon/ad_actionButton/CreateFrom_ShipmentPO.xml     
Thu Apr 22 10:07:14 2010 +0530
+++ b/src/org/openbravo/erpCommon/ad_actionButton/CreateFrom_ShipmentPO.xml     
Thu Apr 22 10:10:10 2010 +0530
@@ -83,6 +83,7 @@
                <FIELD id="M_Product_ID_LOC" attribute="name" 
replace="xxxx">id</FIELD>
                <FIELD id="M_Product_ID_ATR" attribute="name" 
replace="yyyy">id</FIELD>
                <FIELD id="M_AttributeSetInstance_ID" attribute="name" 
replace="xxx">id</FIELD>
+        <FIELD id="M_AttributeSetInstance_ID" 
attribute="value">mAttributesetinstanceId</FIELD>
                <FIELD id="M_AttributeSetInstance_ID_R" attribute="name" 
replace="xxx">id</FIELD>
         <FIELD id="M_AttributeSetInstance_ID_R" 
attribute="value">ATTRIBUTESETINSTANCENAME</FIELD>
                <FIELD id="M_Product_ID" attribute="name" 
replace="zzzz">id</FIELD>
diff -r ff1c64d7f68b -r 1133b8a877a3 
src/org/openbravo/erpCommon/ad_actionButton/CreateFrom_Shipment_data.xsql
--- a/src/org/openbravo/erpCommon/ad_actionButton/CreateFrom_Shipment_data.xsql 
Thu Apr 22 10:07:14 2010 +0530
+++ b/src/org/openbravo/erpCommon/ad_actionButton/CreateFrom_Shipment_data.xsql 
Thu Apr 22 10:10:10 2010 +0530
@@ -30,16 +30,15 @@
         SELECT o.C_ORDER_ID, Ad_Column_Identifier(TO_CHAR('C_Order'), 
TO_CHAR(o.c_order_id), TO_CHAR(?)) AS NAME, 
         l.QtyOrdered-SUM(COALESCE(m.Qty,0)) AS QTY, l.C_UOM_ID,uom.UOMSymbol, 
l.M_Product_ID,p.NAME AS RELATION_NAME, 
         l.C_OrderLine_ID,l.Line, l.ad_org_id, '' as C_InvoiceLine_ID, '' as 
M_InOutLine_ID, '' AS BREAKDOWN, '' AS STDPRECISION, 
-        '' AS C_UOM_ID_Conversion, '' AS QUANTITYORDER, '' AS 
M_Product_UOM_ID, '' AS M_ATTRIBUTESETINSTANCE_ID, 
+        '' AS C_UOM_ID_Conversion, '' AS QUANTITYORDER, '' AS 
M_Product_UOM_ID, l.M_ATTRIBUTESETINSTANCE_ID AS M_ATTRIBUTESETINSTANCE_ID, 
         l.C_OrderLine_ID AS ID, '' AS C_Invoice_ID, l.DESCRIPTION AS 
DESCRIPTION,
         ((l.QtyOrdered-SUM(COALESCE(m.Qty,0)))/COALESCE(
         (SELECT MULTIPLYRATE FROM C_UOM_CONVERSION WHERE 
C_UOM_CONVERSION.C_UOM_ID =
         (SELECT C_UOM.C_UOM_ID FROM M_PRODUCT_UOM, C_UOM WHERE 
M_PRODUCT_UOM_ID = l.M_PRODUCT_UOM_ID AND M_PRODUCT_UOM.C_UOM_ID = 
C_UOM.C_UOM_ID)        
         AND C_UOM_CONVERSION.C_UOM_TO_ID = l.C_UOM_ID),1)) 
         as SECQTY, l.M_PRODUCT_UOM_ID as SEC_PRODUCT_UOM_ID,
-        (SELECT M_ATTRIBUTEVALUE.NAME FROM M_ATTRIBUTESETINSTANCE, 
M_ATTRIBUTEINSTANCE, M_ATTRIBUTEVALUE WHERE l.M_ATTRIBUTESETINSTANCE_ID = 
M_ATTRIBUTESETINSTANCE.M_ATTRIBUTESETINSTANCE_ID 
-        AND M_ATTRIBUTEINSTANCE.M_ATTRIBUTESETINSTANCE_ID = 
M_ATTRIBUTESETINSTANCE.M_ATTRIBUTESETINSTANCE_ID
-        AND M_ATTRIBUTEINSTANCE.M_ATTRIBUTEVALUE_ID = 
M_ATTRIBUTEVALUE.M_ATTRIBUTEVALUE_ID ) as ATTRIBUTESETINSTANCENAME,
+        (SELECT M_ATTRIBUTESETINSTANCE.DESCRIPTION FROM M_ATTRIBUTESETINSTANCE 
WHERE 
+        l.M_ATTRIBUTESETINSTANCE_ID = 
M_ATTRIBUTESETINSTANCE.M_ATTRIBUTESETINSTANCE_ID) as ATTRIBUTESETINSTANCENAME, 
         (SELECT C_UOM.NAME FROM M_PRODUCT_UOM, C_UOM WHERE M_PRODUCT_UOM_ID = 
l.M_PRODUCT_UOM_ID AND M_PRODUCT_UOM.C_UOM_ID = C_UOM.C_UOM_ID) as SECUOMSYMBOL,
         COALESCE(l.M_PRODUCT_UOM_ID,null,'0') as HAVESEC,'' as HAVESECUOM,'' 
AS LOCATOR
         FROM C_ORDERLINE l left join  M_MATCHPO m on 
l.C_OrderLine_ID=m.C_OrderLine_ID
@@ -516,6 +515,35 @@
     <Parameter name="mProductUomId"/>
     <Parameter name="mAttributesetinstanceId"/>
   </SqlMethod>
+  <SqlMethod name="copyAttributes" type="preparedStatement" connection="true" 
return="rowCount">
+    <SqlMethodComment></SqlMethodComment>
+    <Sql>
+     INSERT INTO M_ATTRIBUTESETINSTANCE 
+       (M_ATTRIBUTESETINSTANCE_ID, AD_CLIENT_ID, AD_ORG_ID, ISACTIVE,
+       CREATED, CREATEDBY, UPDATED, UPDATEDBY, M_ATTRIBUTESET_ID, SERNO, 
+       LOT, GUARANTEEDATE, DESCRIPTION, M_LOT_ID, ISLOCKED, LOCK_DESCRIPTION) 
+     SELECT ?, AD_CLIENT_ID, AD_ORG_ID, ISACTIVE, CREATED, CREATEDBY, UPDATED, 
+       UPDATEDBY, M_ATTRIBUTESET_ID, SERNO, LOT, GUARANTEEDATE, DESCRIPTION, 
+       M_LOT_ID, ISLOCKED, LOCK_DESCRIPTION FROM M_ATTRIBUTESETINSTANCE 
+       WHERE M_ATTRIBUTESETINSTANCE_ID = ?
+    </Sql>
+    <Parameter name="mAttributesetinstanceIdNew"/>
+    <Parameter name="mAttributesetinstanceIdOld"/>
+  </SqlMethod>
+  <SqlMethod name="copyInstances" type="preparedStatement" connection="true" 
return="rowCount">
+    <SqlMethodComment></SqlMethodComment>
+    <Sql>
+     INSERT INTO M_ATTRIBUTEINSTANCE
+       (M_ATTRIBUTEINSTANCE_ID, M_ATTRIBUTESETINSTANCE_ID, M_ATTRIBUTE_ID,
+       AD_CLIENT_ID, AD_ORG_ID, ISACTIVE, CREATED, CREATEDBY, UPDATED, 
UPDATEDBY,
+       M_ATTRIBUTEVALUE_ID, VALUE)
+     SELECT GET_UUID(), ?, M_ATTRIBUTE_ID, AD_CLIENT_ID, AD_ORG_ID, ISACTIVE, 
+       CREATED, CREATEDBY, UPDATED, UPDATEDBY, M_ATTRIBUTEVALUE_ID, VALUE FROM 
+       M_ATTRIBUTEINSTANCE WHERE M_ATTRIBUTESETINSTANCE_ID = ?
+   </Sql>
+    <Parameter name="mAttributesetinstanceIdNew"/>
+    <Parameter name="mAttributesetinstanceIdOld"/>
+  </SqlMethod>
   <SqlMethod name="updateInvoice" type="preparedStatement" connection="true" 
return="rowCount">
     <SqlMethodComment></SqlMethodComment>
     <Sql>

------------------------------------------------------------------------------
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to