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

📄 listnotappliedpayments.bsh

📁 Sequoia ERP是一个真正的企业级开源ERP解决方案。它提供的模块包括:电子商务应用(e-commerce), POS系统(point of sales),知识管理,存货与仓库管理
💻 BSH
字号:
/* * $Id: $ * * Copyright 2001-2006 The Apache Software Foundation *  * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at *  * http://www.apache.org/licenses/LICENSE-2.0 *  * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations * under the License. *//* *@author     Hans Bakker h.bakker@antwebsystems.com */ import java.util.*;import org.ofbiz.entity.*;import org.ofbiz.base.util.*;import org.ofbiz.base.util.collections.*;import org.ofbiz.accounting.invoice.*;import org.ofbiz.accounting.payment.*;import org.ofbiz.accounting.util.UtilAccounting;import java.text.DateFormat;import java.math.*;invoiceId = parameters.get("invoiceId");invoice = delegator.findByPrimaryKey("Invoice", UtilMisc.toMap("invoiceId", invoiceId));int decimals = UtilNumber.getBigDecimalScale("invoice.decimals");int rounding = UtilNumber.getBigDecimalRoundingMode("invoice.rounding");// get the party to look forArrayList paymentsMapList = new ArrayList();  // to pass back to the screeen list of unapplied payments// retrieve payments for the related parties which have not been (fully) applied yetList payments = null;GenericValue payment = null;payments = delegator.findByAnd("Payment",    UtilMisc.toMap("partyIdTo", invoice.getString("partyIdFrom"), "partyIdFrom", invoice.getString("partyId")),    UtilMisc.toList("effectiveDate"));    if (payments != null && payments.size() > 0)    {    List paymentApplications = null;    GenericValue paymentApplication = null;    BigDecimal invoiceApplied = InvoiceWorker.getInvoiceAppliedBd(invoice);    BigDecimal invoiceAmount = InvoiceWorker.getInvoiceTotalBd(invoice);    BigDecimal invoiceToApply = invoiceAmount.subtract(invoiceApplied);     Iterator p = payments.iterator();    while(p.hasNext())    {        payment = p.next();        BigDecimal paymentApplied = PaymentWorker.getPaymentAppliedBd(payment).setScale(decimals,rounding);        if (!(payment.getBigDecimal("amount").setScale(decimals,rounding).equals(paymentApplied)))    {           // put in the map           Map paymentMap = new HashMap();           paymentMap.put("paymentId", payment.getString("paymentId"));           paymentMap.put("effectiveDate", payment.getString("effectiveDate").substring(0,10)); // list as YYYY-MM-DD           paymentMap.put("amount", payment.getBigDecimal("amount").setScale(decimals,rounding).toString());           paymentMap.put("currencyUomId", payment.getString("currencyUomId"));           paymentMap.put("paymentApplied", paymentApplied.toString());           BigDecimal paymentToApply = payment.getBigDecimal("amount").setScale(decimals,rounding).subtract(paymentApplied);           if (paymentToApply.compareTo(invoiceToApply) < 0 ) {                paymentMap.put("amountToApply",paymentToApply.toString());           }           else {                paymentMap.put("amountToApply", invoiceToApply.toString());           }           paymentsMapList.add(paymentMap);        }    }}       context.put("payments", paymentsMapList);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -