⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 managequoteprices.bsh

📁 Sequoia ERP是一个真正的企业级开源ERP解决方案。它提供的模块包括:电子商务应用(e-commerce), POS系统(point of sales),知识管理,存货与仓库管理
💻 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 + -