[OFBiz] SVN: r6888 - trunk/applications/accounting/src/org/ofbiz/accounting/invoice
sichen@svn.ofbiz.org
sichen at svn.ofbiz.org
Wed Mar 1 19:55:51 CST 2006
Author: sichen
Date: 2006-03-01 19:55:47 -0600 (Wed, 01 Mar 2006)
New Revision: 6888
Modified:
trunk/applications/accounting/src/org/ofbiz/accounting/invoice/InvoiceServices.java
Log:
Two changes to creating invoices from return. First, we pad the sequence ID so that the invoice item seq ID is correct. Second, we set the invoice to READY
so that the invoice is in a proper status to be processed further by later SECAS.
Modified: trunk/applications/accounting/src/org/ofbiz/accounting/invoice/InvoiceServices.java
===================================================================
--- trunk/applications/accounting/src/org/ofbiz/accounting/invoice/InvoiceServices.java 2006-03-02 01:50:41 UTC (rev 6887)
+++ trunk/applications/accounting/src/org/ofbiz/accounting/invoice/InvoiceServices.java 2006-03-02 01:55:47 UTC (rev 6888)
@@ -894,7 +894,8 @@
BigDecimal promisedTotal = ZERO;
// loop through shipment receipts to create invoice items and return item billings for each item and adjustment
- int invoiceItemSeqId = 1;
+ int invoiceItemSeqNum = 1;
+ String invoiceItemSeqId = UtilFormatOut.formatPaddedNumber(invoiceItemSeqNum, 2);
for (Iterator iter = receipts.iterator(); iter.hasNext(); ) {
GenericValue receipt = (GenericValue) iter.next();
@@ -941,7 +942,8 @@
}
// increment the seqId counter after creating the invoice item and return item billing
- invoiceItemSeqId += 1;
+ invoiceItemSeqNum += 1;
+ invoiceItemSeqId = UtilFormatOut.formatPaddedNumber(invoiceItemSeqNum, 2);
// keep a running total
BigDecimal actualAmount = returnItem.getBigDecimal("returnPrice").multiply(receipt.getBigDecimal("quantityAccepted")).setScale(decimals, rounding);
@@ -992,8 +994,11 @@
if (ServiceUtil.isError(serviceResults)) {
return ServiceUtil.returnError(errorMsg, null, null, serviceResults);
}
- invoiceItemSeqId += 1; // increment the seqId counter
+ // increment the seqId counter
+ invoiceItemSeqNum += 1;
+ invoiceItemSeqId = UtilFormatOut.formatPaddedNumber(invoiceItemSeqNum, 2);
+
// keep a running total
invoiceTotal = invoiceTotal.add(amount).setScale(decimals, rounding);
promisedTotal = promisedTotal.add(adjustment.getBigDecimal("amount")).setScale(decimals, rounding);
@@ -1040,9 +1045,18 @@
if (ServiceUtil.isError(serviceResults)) {
return ServiceUtil.returnError(errorMsg, null, null, serviceResults);
}
- invoiceItemSeqId += 1; // increment the seqId counter
+
+ // increment the seqId counter
+ invoiceItemSeqNum += 1;
+ invoiceItemSeqId = UtilFormatOut.formatPaddedNumber(invoiceItemSeqNum, 2);
}
-
+
+ // Set the invoice to READY
+ serviceResults = dispatcher.runSync("setInvoiceStatus", UtilMisc.toMap("invoiceId", invoiceId, "statusId", "INVOICE_READY", "userLogin", userLogin));
+ if (ServiceUtil.isError(serviceResults)) {
+ return ServiceUtil.returnError(errorMsg, null, null, serviceResults);
+ }
+
// return the invoiceId
Map results = ServiceUtil.returnSuccess();
results.put("invoiceId", invoiceId);
@@ -1094,8 +1108,10 @@
if (totalPayments.signum() == 1) {
BigDecimal invoiceTotal = InvoiceWorker.getInvoiceTotalBd(delegator, invoiceId);
- //Debug.log("Invoice #" + invoiceId + " total: " + invoiceTotal, module);
- //Debug.log("Total payments : " + totalPayments, module);
+ if (Debug.verboseOn()) {
+ Debug.logInfo("Invoice #" + invoiceId + " total: " + invoiceTotal, module);
+ Debug.logInfo("Total payments : " + totalPayments, module);
+ }
if (totalPayments.compareTo(invoiceTotal) >= 0) { // this checks that totalPayments is greter than or equal to invoiceTotal
// this invoice is paid
Map svcCtx = UtilMisc.toMap("statusId", "INVOICE_PAID", "invoiceId", invoiceId, "userLogin", userLogin);
More information about the Svn
mailing list