Change to Standard Aging

--HG--
branch : FinancialReport
This commit is contained in:
hodianto 2018-05-04 19:59:12 +07:00
parent 37d6304428
commit 0db90f7bb6
1 changed files with 9 additions and 27 deletions

View File

@ -24,14 +24,14 @@ import java.sql.Timestamp;
import java.util.logging.Level;
import org.adempiere.exceptions.DBException;
import org.compiere.model.MAging;
import org.compiere.model.MRole;
import org.compiere.print.ReportEngine;
import org.compiere.process.ProcessInfoParameter;
import org.compiere.process.SvrProcess;
import org.compiere.util.DB;
import org.compiere.util.TimeUtil;
import andromedia.midsuit.model.MID_Aging;
/**
* Invoice Aging Report.
* Based on RV_Aging.
@ -56,7 +56,6 @@ public class MID_ProcessRVAging extends SvrProcess
private boolean p_IsListInvoices = false;
/** Number of days between today and statement date */
private int m_statementOffset = 0;
private String m_DocBaseType = null;
/**
* Prepare - e.g., get Parameters.
@ -85,8 +84,6 @@ public class MID_ProcessRVAging extends SvrProcess
p_C_BPartner_ID = ((BigDecimal)para[i].getParameter()).intValue();
else if (name.equals("IsListInvoices"))
p_IsListInvoices = "Y".equals(para[i].getParameter());
else if (name.equals("DocBaseType"))
m_DocBaseType = (String)para[i].getParameterAsString();
else
log.log(Level.SEVERE, "Unknown Parameter: " + name);
}
@ -142,7 +139,6 @@ public class MID_ProcessRVAging extends SvrProcess
}
}
sql.append(",oi.C_Activity_ID,oi.C_Campaign_ID,oi.C_Project_ID,oi.AD_Org_ID "); // 14..17
sql.append(",alo.UnallocatedPayment ");
if (!p_DateAcct)//FR 1933937
{
sql.append(" FROM RV_OpenItem oi");
@ -153,16 +149,6 @@ public class MID_ProcessRVAging extends SvrProcess
}
sql.append(" INNER JOIN C_BPartner bp ON (oi.C_BPartner_ID=bp.C_BPartner_ID) "
+ "LEFT JOIN C_DocType dt ON (dt.C_DocType_ID=oi.C_DocType_ID) "
+ "LEFT JOIN (select c_bpartner_id, " +
"sum(payment) as UnallocatedPayment " +
"FROM " +
"(SELECT p.c_bpartner_id, " +
"p.payamt + (coalesce(sum(al.amount),0)) as payment " +
"FROM C_Payment p " +
"left join c_allocationline al on al.c_payment_id = p.c_payment_id " +
"group by p.c_bpartner_id, payamt) allo " +
"group by c_bpartner_id) alo ON alo.C_BPartner_ID = oi.C_BPartner_ID "
+ "WHERE oi.ISSoTrx=").append(p_IsSOTrx ? "'Y'" : "'N'");
if (p_C_BPartner_ID > 0)
{
@ -181,21 +167,19 @@ public class MID_ProcessRVAging extends SvrProcess
{
sql.append(" AND invoiceOpenToDate(oi.C_Invoice_ID,oi.C_InvoicePaySchedule_ID,"+dateacct+") <> 0 ");
}
if (m_DocBaseType!=null) {
sql.append(" AND dt.DocBaseType='").append(m_DocBaseType).append("'");
}
sql.append(" ORDER BY oi.C_BPartner_ID, oi.C_Currency_ID, oi.C_Invoice_ID");
if (log.isLoggable(Level.FINEST)) log.finest(sql.toString());
String finalSql = MRole.getDefault(getCtx(), false).addAccessSQL(
sql.toString(), "oi", MRole.SQL_FULLYQUALIFIED, MRole.SQL_RO);
// String finalSql = MRole.getDefault(getCtx(), false).addAccessSQL(
// sql.toString(), "oi", MRole.SQL_FULLYQUALIFIED, MRole.SQL_RO);
String finalSql = sql.toString();
log.finer(finalSql);
PreparedStatement pstmt = null;
ResultSet rs = null;
//
MID_Aging aging = null;
MAging aging = null;
int counter = 0;
int rows = 0;
int AD_PInstance_ID = getAD_PInstance_ID();
@ -228,11 +212,8 @@ public class MID_ProcessRVAging extends SvrProcess
int C_Campaign_ID = p_IsListInvoices ? rs.getInt(15) : 0;
int C_Project_ID = p_IsListInvoices ? rs.getInt(16) : 0;
int AD_Org_ID = rs.getInt(17);
BigDecimal UnallocatedPayment = rs.getBigDecimal(18);
rows++;
aging.add (DueDate, DaysDue, GrandTotal, OpenAmt, UnallocatedPayment);
// New Aging Row
if (aging == null // Key
|| AD_PInstance_ID != aging.getAD_PInstance_ID()
@ -246,7 +227,7 @@ public class MID_ProcessRVAging extends SvrProcess
aging.saveEx();
if (log.isLoggable(Level.FINE)) log.fine("#" + ++counter + " - " + aging);
}
aging = new MID_Aging (getCtx(), AD_PInstance_ID, p_StatementDate,
aging = new MAging (getCtx(), AD_PInstance_ID, p_StatementDate,
C_BPartner_ID, C_Currency_ID,
C_Invoice_ID, C_InvoicePaySchedule_ID,
C_BP_Group_ID, AD_Org_ID, DueDate, IsSOTrx, get_TrxName());
@ -256,7 +237,7 @@ public class MID_ProcessRVAging extends SvrProcess
aging.setDateAcct(p_DateAcct);
}
// Fill Buckets
aging.add (DueDate, DaysDue, GrandTotal, OpenAmt);
}
if (aging != null)
{
@ -277,6 +258,7 @@ public class MID_ProcessRVAging extends SvrProcess
//
if (log.isLoggable(Level.INFO)) log.info("#" + counter + " - rows=" + rows);
return "";
} // doIt
} // Aging