📄 managequoteprices.bsh
字号:
/* * Copyright (c) 2003-2005 The Open For Business Project - www.ofbiz.org * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), * to deal in the Software without restriction, including without limitation * the rights to use, copy, modify, merge, publish, distribute, sublicense, * and/or sell copies of the Software, and to permit persons to whom the * Software is furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included * in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT * OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * *@author Jacopo Cappellato (tiz@sastau.it)*/import org.ofbiz.base.util.UtilMisc;import org.ofbiz.entity.util.EntityUtil;quoteCoefficientsIt = quoteCoefficients.iterator();costMult = 0.0;while (quoteCoefficientsIt.hasNext()) { quoteCoefficient = quoteCoefficientsIt.next(); value = quoteCoefficient.getDouble("coeffValue"); if (value != null) { costMult += value; }}double costToPriceMult = 1.0;if (costMult != 100) { costToPriceMult = 100 / (100 - costMult);}double totalCost = 0.0;double totalPrice = 0.0;double totalCostMult = 0.0;currency = quote.getString("currencyUomId");quoteItemAndCostInfos = new java.util.ArrayList();quoteItemsIt = quoteItems.iterator();while (quoteItemsIt.hasNext()) { quoteItem = quoteItemsIt.next(); double defaultQuoteUnitPrice = 0.0; double averageCost = 0.0; double unitPrice = 0.0; double quantity = 1.0; double selectedAmount = 1.0; if (quoteItem.get("quantity") != null) { quantity = (quoteItem.getDouble("quantity")).doubleValue(); } if (quoteItem.get("selectedAmount") != null) { selectedAmount = (quoteItem.getDouble("selectedAmount")).doubleValue(); } if (selectedAmount == 0.0) { selectedAmount = 1.0; } if (quoteItem.get("quoteUnitPrice") != null) { unitPrice = (quoteItem.getDouble("quoteUnitPrice")).doubleValue(); } try { if (currency != null && quoteItem.get("productId") != null) { productPrices = delegator.findByAnd("ProductPrice", UtilMisc.toMap("productId", quoteItem.getString("productId"), "currencyUomId", currency, "productPriceTypeId", "AVERAGE_COST")); productPrices = EntityUtil.filterByDate(productPrices); productPrice = EntityUtil.getFirst(productPrices); if (productPrice != null && productPrice.get("price") != null) { averageCost = (productPrice.getDouble("price")).doubleValue(); } } defaultQuoteUnitPrice = averageCost * costToPriceMult * selectedAmount; totalCost += (averageCost * quantity); totalPrice += (unitPrice * quantity); } catch(Exception exc) { Debug.logError("Problems getting the averageCost for quoteItem: " + quoteItem); } quoteItemAndCostInfo = new java.util.HashMap(quoteItem); quoteItemAndCostInfo.put("averageCost", averageCost); quoteItemAndCostInfo.put("costToPriceMult", costToPriceMult); quoteItemAndCostInfo.put("defaultQuoteUnitPrice", defaultQuoteUnitPrice); quoteItemAndCostInfos.add(quoteItemAndCostInfo);}context.put("costMult", costMult);context.put("costToPriceMult", costToPriceMult);context.put("quoteItemAndCostInfos", quoteItemAndCostInfos);context.put("totalCost", totalCost);context.put("totalPrice", totalPrice);context.put("totalCostMult", (totalCost != 0? totalPrice / totalCost: 0));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -