details: https://code.openbravo.com/erp/devel/pi/rev/5406f70dad91 changeset: 29258:5406f70dad91 user: Alvaro Ferraz <alvaro.ferraz <at> openbravo.com> date: Mon Apr 18 17:42:14 2016 +0200 summary: Fixes issue 32504: Improve performance of Costing process
- Add new column cumcost in M_Costing table - Make some queries in CostingUtils and CostAdjustmentUtils incremental using cumqty and cumcost from current m_costing record to avoid sum every record in m_transaction and m_transaction_cost tables. - Avoid join m_transaction with m_locator if current costing rule has no warehouse dimension. - Improve CostingServer checkCostAdjustments method to do query only if needed. - Avoid count query in CostingBackground process. - Add indexes in m_costing table: (m_product_id, datefrom, dateto) and (m_transaction_id). - Change in AverageCostAdjustment: cost will be taken from trxPrice in case current stock is zero. - Update cumqty column name to cumstock in M_Costing table to set it as NULL and delete it in F&B International Group and QA Testing clients sampledata. - Assert new m_costing cumcost column in TestCosting. details: https://code.openbravo.com/erp/devel/pi/rev/3a6d42921cb6 changeset: 29259:3a6d42921cb6 user: Alvaro Ferraz <alvaro.ferraz <at> openbravo.com> date: Wed Apr 13 16:32:27 2016 +0200 summary: Related to issue 32504: Add some sleeps in TestCosting to avoid assert errors diffstat: referencedata/sampledata/F_B_International_Group/M_COSTING.xml | 1415 ---------- referencedata/sampledata/QA_Testing/M_COSTING.xml | 55 - src-db/database/model/tables/M_COSTING.xml | 20 +- src-db/database/sourcedata/AD_COLUMN.xml | 52 +- src-db/database/sourcedata/AD_ELEMENT.xml | 12 + src-db/database/sourcedata/AD_FIELD.xml | 29 +- src-test/src/org/openbravo/test/costing/TestCosting.java | 52 +- src/org/openbravo/costing/AverageAlgorithm.java | 9 +- src/org/openbravo/costing/AverageCostAdjustment.java | 31 +- src/org/openbravo/costing/CostAdjustmentUtils.java | 131 +- src/org/openbravo/costing/CostingBackground.java | 88 +- src/org/openbravo/costing/CostingMigrationProcess.java | 1 - src/org/openbravo/costing/CostingServer.java | 50 +- src/org/openbravo/costing/CostingUtils.java | 143 +- src/org/openbravo/costing/InventoryAmountUpdateProcess.java | 7 +- 15 files changed, 461 insertions(+), 1634 deletions(-) diffs (truncated from 13040 to 300 lines): diff -r 112bc5f8f2c6 -r 3a6d42921cb6 referencedata/sampledata/F_B_International_Group/M_COSTING.xml --- a/referencedata/sampledata/F_B_International_Group/M_COSTING.xml Wed Apr 20 19:58:48 2016 +0200 +++ b/referencedata/sampledata/F_B_International_Group/M_COSTING.xml Wed Apr 13 16:32:27 2016 +0200 @@ -14,7 +14,6 @@ <ISMANUAL><![CDATA[N]]></ISMANUAL> <QTY><![CDATA[5000.00]]></QTY> <PRICE><![CDATA[3.75]]></PRICE> - <CUMQTY><![CDATA[1137900.00]]></CUMQTY> <COSTTYPE><![CDATA[AVA]]></COSTTYPE> <ISPERMANENT><![CDATA[Y]]></ISPERMANENT> <COST><![CDATA[3.78]]></COST> @@ -38,7 +37,6 @@ <ISMANUAL><![CDATA[N]]></ISMANUAL> <QTY><![CDATA[15000]]></QTY> <PRICE><![CDATA[3.55]]></PRICE> - <CUMQTY><![CDATA[207030.00]]></CUMQTY> <COSTTYPE><![CDATA[AVA]]></COSTTYPE> <ISPERMANENT><![CDATA[Y]]></ISPERMANENT> <COST><![CDATA[3.55]]></COST> @@ -62,7 +60,6 @@ <ISMANUAL><![CDATA[N]]></ISMANUAL> <QTY><![CDATA[75000.00]]></QTY> <PRICE><![CDATA[0.55]]></PRICE> - <CUMQTY><![CDATA[328530.00]]></CUMQTY> <COSTTYPE><![CDATA[AVA]]></COSTTYPE> <ISPERMANENT><![CDATA[Y]]></ISPERMANENT> <COST><![CDATA[0.55]]></COST> @@ -86,7 +83,6 @@ <ISMANUAL><![CDATA[N]]></ISMANUAL> <QTY><![CDATA[2000.00]]></QTY> <PRICE><![CDATA[3.55]]></PRICE> - <CUMQTY><![CDATA[17200.00]]></CUMQTY> <COSTTYPE><![CDATA[AVA]]></COSTTYPE> <ISPERMANENT><![CDATA[Y]]></ISPERMANENT> <COST><![CDATA[3.55]]></COST> @@ -110,7 +106,6 @@ <ISMANUAL><![CDATA[N]]></ISMANUAL> <QTY><![CDATA[65400.00]]></QTY> <PRICE><![CDATA[0.99]]></PRICE> - <CUMQTY><![CDATA[371478.00]]></CUMQTY> <COSTTYPE><![CDATA[AVA]]></COSTTYPE> <ISPERMANENT><![CDATA[Y]]></ISPERMANENT> <COST><![CDATA[0.99]]></COST> @@ -134,7 +129,6 @@ <ISMANUAL><![CDATA[N]]></ISMANUAL> <QTY><![CDATA[12000]]></QTY> <PRICE><![CDATA[0.75]]></PRICE> - <CUMQTY><![CDATA[660680.00]]></CUMQTY> <COSTTYPE><![CDATA[AVA]]></COSTTYPE> <ISPERMANENT><![CDATA[Y]]></ISPERMANENT> <COST><![CDATA[0.75]]></COST> @@ -158,7 +152,6 @@ <ISMANUAL><![CDATA[N]]></ISMANUAL> <QTY><![CDATA[2000.00]]></QTY> <PRICE><![CDATA[1.76]]></PRICE> - <CUMQTY><![CDATA[4900.00]]></CUMQTY> <COSTTYPE><![CDATA[AVA]]></COSTTYPE> <ISPERMANENT><![CDATA[Y]]></ISPERMANENT> <COST><![CDATA[1.73]]></COST> @@ -183,7 +176,6 @@ <M_INOUTLINE_ID><![CDATA[26817224952A4670AC9432778F34394C]]></M_INOUTLINE_ID> <QTY><![CDATA[1500]]></QTY> <PRICE><![CDATA[3.55]]></PRICE> - <CUMQTY><![CDATA[9850]]></CUMQTY> <COSTTYPE><![CDATA[AV]]></COSTTYPE> <ISPERMANENT><![CDATA[Y]]></ISPERMANENT> <COST><![CDATA[3.55]]></COST> @@ -206,7 +198,6 @@ <ISMANUAL><![CDATA[N]]></ISMANUAL> <QTY><![CDATA[1000.00]]></QTY> <PRICE><![CDATA[1.02]]></PRICE> - <CUMQTY><![CDATA[184650.00]]></CUMQTY> <COSTTYPE><![CDATA[AVA]]></COSTTYPE> <ISPERMANENT><![CDATA[Y]]></ISPERMANENT> <COST><![CDATA[1.02]]></COST> @@ -230,7 +221,6 @@ <ISMANUAL><![CDATA[N]]></ISMANUAL> <QTY><![CDATA[10000]]></QTY> <PRICE><![CDATA[0.55]]></PRICE> - <CUMQTY><![CDATA[225992.00]]></CUMQTY> <COSTTYPE><![CDATA[AVA]]></COSTTYPE> <ISPERMANENT><![CDATA[Y]]></ISPERMANENT> <COST><![CDATA[0.55]]></COST> @@ -254,7 +244,6 @@ <ISMANUAL><![CDATA[N]]></ISMANUAL> <QTY><![CDATA[2000.00]]></QTY> <PRICE><![CDATA[1.76]]></PRICE> - <CUMQTY><![CDATA[8600.00]]></CUMQTY> <COSTTYPE><![CDATA[AVA]]></COSTTYPE> <ISPERMANENT><![CDATA[Y]]></ISPERMANENT> <COST><![CDATA[1.75]]></COST> @@ -278,7 +267,6 @@ <ISMANUAL><![CDATA[N]]></ISMANUAL> <QTY><![CDATA[67000.00]]></QTY> <PRICE><![CDATA[1.76]]></PRICE> - <CUMQTY><![CDATA[282200.00]]></CUMQTY> <COSTTYPE><![CDATA[AVA]]></COSTTYPE> <ISPERMANENT><![CDATA[Y]]></ISPERMANENT> <COST><![CDATA[1.50]]></COST> @@ -302,7 +290,6 @@ <ISMANUAL><![CDATA[N]]></ISMANUAL> <QTY><![CDATA[70000.00]]></QTY> <PRICE><![CDATA[0.55]]></PRICE> - <CUMQTY><![CDATA[420432.00]]></CUMQTY> <COSTTYPE><![CDATA[AVA]]></COSTTYPE> <ISPERMANENT><![CDATA[Y]]></ISPERMANENT> <COST><![CDATA[0.55]]></COST> @@ -326,7 +313,6 @@ <ISMANUAL><![CDATA[N]]></ISMANUAL> <QTY><![CDATA[100000.00]]></QTY> <PRICE><![CDATA[0.55]]></PRICE> - <CUMQTY><![CDATA[592361.00]]></CUMQTY> <COSTTYPE><![CDATA[AVA]]></COSTTYPE> <ISPERMANENT><![CDATA[Y]]></ISPERMANENT> <COST><![CDATA[0.55]]></COST> @@ -350,7 +336,6 @@ <ISMANUAL><![CDATA[N]]></ISMANUAL> <QTY><![CDATA[1000.00]]></QTY> <PRICE><![CDATA[0.55]]></PRICE> - <CUMQTY><![CDATA[568920.00]]></CUMQTY> <COSTTYPE><![CDATA[AVA]]></COSTTYPE> <ISPERMANENT><![CDATA[Y]]></ISPERMANENT> <COST><![CDATA[0.56]]></COST> @@ -375,7 +360,6 @@ <M_INOUTLINE_ID><![CDATA[A678FD193A564C46A955770ABB9BA17B]]></M_INOUTLINE_ID> <QTY><![CDATA[75000]]></QTY> <PRICE><![CDATA[5.51]]></PRICE> - <CUMQTY><![CDATA[75000]]></CUMQTY> <COSTTYPE><![CDATA[AV]]></COSTTYPE> <ISPERMANENT><![CDATA[Y]]></ISPERMANENT> <COST><![CDATA[5.51]]></COST> @@ -398,7 +382,6 @@ <ISMANUAL><![CDATA[N]]></ISMANUAL> <QTY><![CDATA[2000.00]]></QTY> <PRICE><![CDATA[3.55]]></PRICE> - <CUMQTY><![CDATA[17700.00]]></CUMQTY> <COSTTYPE><![CDATA[AVA]]></COSTTYPE> <ISPERMANENT><![CDATA[Y]]></ISPERMANENT> <COST><![CDATA[3.55]]></COST> @@ -422,7 +405,6 @@ <ISMANUAL><![CDATA[N]]></ISMANUAL> <QTY><![CDATA[10000]]></QTY> <PRICE><![CDATA[1.36]]></PRICE> - <CUMQTY><![CDATA[169100.00]]></CUMQTY> <COSTTYPE><![CDATA[AVA]]></COSTTYPE> <ISPERMANENT><![CDATA[Y]]></ISPERMANENT> <COST><![CDATA[1.36]]></COST> @@ -446,7 +428,6 @@ <ISMANUAL><![CDATA[N]]></ISMANUAL> <QTY><![CDATA[10000]]></QTY> <PRICE><![CDATA[3.45]]></PRICE> - <CUMQTY><![CDATA[218170.00]]></CUMQTY> <COSTTYPE><![CDATA[AVA]]></COSTTYPE> <ISPERMANENT><![CDATA[Y]]></ISPERMANENT> <COST><![CDATA[3.46]]></COST> @@ -471,7 +452,6 @@ <M_INOUTLINE_ID><![CDATA[A3045B8E17FA43C281E2DD99B4D84C20]]></M_INOUTLINE_ID> <QTY><![CDATA[15200]]></QTY> <PRICE><![CDATA[0.75]]></PRICE> - <CUMQTY><![CDATA[49292]]></CUMQTY> <COSTTYPE><![CDATA[AV]]></COSTTYPE> <ISPERMANENT><![CDATA[Y]]></ISPERMANENT> <COST><![CDATA[0.75]]></COST> @@ -494,7 +474,6 @@ <ISMANUAL><![CDATA[N]]></ISMANUAL> <QTY><![CDATA[76000.00]]></QTY> <PRICE><![CDATA[0.55]]></PRICE> - <CUMQTY><![CDATA[398032.00]]></CUMQTY> <COSTTYPE><![CDATA[AVA]]></COSTTYPE> <ISPERMANENT><![CDATA[Y]]></ISPERMANENT> <COST><![CDATA[0.55]]></COST> @@ -518,7 +497,6 @@ <ISMANUAL><![CDATA[N]]></ISMANUAL> <QTY><![CDATA[1000.00]]></QTY> <PRICE><![CDATA[0.55]]></PRICE> - <CUMQTY><![CDATA[38000.00]]></CUMQTY> <COSTTYPE><![CDATA[AVA]]></COSTTYPE> <ISPERMANENT><![CDATA[Y]]></ISPERMANENT> <COST><![CDATA[0.55]]></COST> @@ -542,7 +520,6 @@ <ISMANUAL><![CDATA[N]]></ISMANUAL> <QTY><![CDATA[180780]]></QTY> <PRICE><![CDATA[1.76]]></PRICE> - <CUMQTY><![CDATA[260780]]></CUMQTY> <COSTTYPE><![CDATA[AVA]]></COSTTYPE> <ISPERMANENT><![CDATA[Y]]></ISPERMANENT> <COST><![CDATA[1.76]]></COST> @@ -566,7 +543,6 @@ <ISMANUAL><![CDATA[N]]></ISMANUAL> <QTY><![CDATA[10000]]></QTY> <PRICE><![CDATA[0.75]]></PRICE> - <CUMQTY><![CDATA[10000.00]]></CUMQTY> <COSTTYPE><![CDATA[AVA]]></COSTTYPE> <ISPERMANENT><![CDATA[Y]]></ISPERMANENT> <COST><![CDATA[0.75]]></COST> @@ -590,7 +566,6 @@ <ISMANUAL><![CDATA[N]]></ISMANUAL> <QTY><![CDATA[2000.00]]></QTY> <PRICE><![CDATA[3.75]]></PRICE> - <CUMQTY><![CDATA[114800.00]]></CUMQTY> <COSTTYPE><![CDATA[AVA]]></COSTTYPE> <ISPERMANENT><![CDATA[Y]]></ISPERMANENT> <COST><![CDATA[3.75]]></COST> @@ -614,7 +589,6 @@ <ISMANUAL><![CDATA[N]]></ISMANUAL> <QTY><![CDATA[10000]]></QTY> <PRICE><![CDATA[0.75]]></PRICE> - <CUMQTY><![CDATA[20000.00]]></CUMQTY> <COSTTYPE><![CDATA[AVA]]></COSTTYPE> <ISPERMANENT><![CDATA[Y]]></ISPERMANENT> <COST><![CDATA[0.75]]></COST> @@ -638,7 +612,6 @@ <ISMANUAL><![CDATA[N]]></ISMANUAL> <QTY><![CDATA[4000.00]]></QTY> <PRICE><![CDATA[1.36]]></PRICE> - <CUMQTY><![CDATA[184350.00]]></CUMQTY> <COSTTYPE><![CDATA[AVA]]></COSTTYPE> <ISPERMANENT><![CDATA[Y]]></ISPERMANENT> <COST><![CDATA[1.36]]></COST> @@ -662,7 +635,6 @@ <ISMANUAL><![CDATA[N]]></ISMANUAL> <QTY><![CDATA[164500]]></QTY> <PRICE><![CDATA[0.76]]></PRICE> - <CUMQTY><![CDATA[913688.00]]></CUMQTY> <COSTTYPE><![CDATA[AVA]]></COSTTYPE> <ISPERMANENT><![CDATA[Y]]></ISPERMANENT> <COST><![CDATA[0.76]]></COST> @@ -686,7 +658,6 @@ <ISMANUAL><![CDATA[N]]></ISMANUAL> <QTY><![CDATA[1000.00]]></QTY> <PRICE><![CDATA[0.75]]></PRICE> - <CUMQTY><![CDATA[32200.00]]></CUMQTY> <COSTTYPE><![CDATA[AVA]]></COSTTYPE> <ISPERMANENT><![CDATA[Y]]></ISPERMANENT> <COST><![CDATA[0.75]]></COST> @@ -710,7 +681,6 @@ <ISMANUAL><![CDATA[N]]></ISMANUAL> <QTY><![CDATA[118000.00]]></QTY> <PRICE><![CDATA[-0.1700]]></PRICE> - <CUMQTY><![CDATA[180500.00]]></CUMQTY> <COSTTYPE><![CDATA[AVA]]></COSTTYPE> <ISPERMANENT><![CDATA[Y]]></ISPERMANENT> <COST><![CDATA[-0.17]]></COST> @@ -734,7 +704,6 @@ <ISMANUAL><![CDATA[N]]></ISMANUAL> <QTY><![CDATA[1000.00]]></QTY> <PRICE><![CDATA[0.55]]></PRICE> - <CUMQTY><![CDATA[32000.00]]></CUMQTY> <COSTTYPE><![CDATA[AVA]]></COSTTYPE> <ISPERMANENT><![CDATA[Y]]></ISPERMANENT> <COST><![CDATA[0.55]]></COST> @@ -758,7 +727,6 @@ <ISMANUAL><![CDATA[N]]></ISMANUAL> <QTY><![CDATA[50000.00]]></QTY> <PRICE><![CDATA[1.02]]></PRICE> - <CUMQTY><![CDATA[941800.00]]></CUMQTY> <COSTTYPE><![CDATA[AVA]]></COSTTYPE> <ISPERMANENT><![CDATA[Y]]></ISPERMANENT> <COST><![CDATA[1.03]]></COST> @@ -782,7 +750,6 @@ <ISMANUAL><![CDATA[N]]></ISMANUAL> <QTY><![CDATA[7000]]></QTY> <PRICE><![CDATA[3.55]]></PRICE> - <CUMQTY><![CDATA[491180.00]]></CUMQTY> <COSTTYPE><![CDATA[AVA]]></COSTTYPE> <ISPERMANENT><![CDATA[Y]]></ISPERMANENT> <COST><![CDATA[3.55]]></COST> @@ -806,7 +773,6 @@ <ISMANUAL><![CDATA[N]]></ISMANUAL> <QTY><![CDATA[2000.00]]></QTY> <PRICE><![CDATA[0.55]]></PRICE> - <CUMQTY><![CDATA[8100.00]]></CUMQTY> <COSTTYPE><![CDATA[AVA]]></COSTTYPE> <ISPERMANENT><![CDATA[Y]]></ISPERMANENT> <COST><![CDATA[0.54]]></COST> @@ -830,7 +796,6 @@ <ISMANUAL><![CDATA[N]]></ISMANUAL> <QTY><![CDATA[80000.00]]></QTY> <PRICE><![CDATA[0.75]]></PRICE> - <CUMQTY><![CDATA[482900.00]]></CUMQTY> <COSTTYPE><![CDATA[AVA]]></COSTTYPE> <ISPERMANENT><![CDATA[Y]]></ISPERMANENT> <COST><![CDATA[0.75]]></COST> @@ -854,7 +819,6 @@ <ISMANUAL><![CDATA[N]]></ISMANUAL> <QTY><![CDATA[1000.00]]></QTY> <PRICE><![CDATA[0.75]]></PRICE> - <CUMQTY><![CDATA[139210.00]]></CUMQTY> <COSTTYPE><![CDATA[AVA]]></COSTTYPE> <ISPERMANENT><![CDATA[Y]]></ISPERMANENT> <COST><![CDATA[0.75]]></COST> @@ -879,7 +843,6 @@ <M_INOUTLINE_ID><![CDATA[274735E7A0ED483CAFD3558A3BB47324]]></M_INOUTLINE_ID> <QTY><![CDATA[2100]]></QTY> <PRICE><![CDATA[0.89]]></PRICE> - <CUMQTY><![CDATA[9600]]></CUMQTY> <COSTTYPE><![CDATA[AV]]></COSTTYPE> <ISPERMANENT><![CDATA[Y]]></ISPERMANENT> <COST><![CDATA[0.89]]></COST> @@ -902,7 +865,6 @@ ------------------------------------------------------------------------------ Find and fix application performance issues faster with Applications Manager Applications Manager provides deep performance insights into multiple tiers of your business applications. It resolves application problems quickly and reduces your MTTR. Get your free trial! https://ad.doubleclick.net/ddm/clk/302982198;130105516;z _______________________________________________ Openbravo-commits mailing list Openbravo-commits@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openbravo-commits