55 lines
1.7 KiB
Java
55 lines
1.7 KiB
Java
package com.amarsoft.acct.accounting.web;
|
|
|
|
import com.amarsoft.app.base.businessobject.BusinessObject;
|
|
import com.amarsoft.app.base.businessobject.BusinessObjectManager;
|
|
import com.amarsoft.app.base.trans.TransactionHelper;
|
|
import com.amarsoft.app.base.util.DateHelper;
|
|
|
|
|
|
/**
|
|
* 提前还款测算
|
|
* @author Amarsoft核算团队
|
|
*
|
|
*/
|
|
public class AheadPaymentCalculate{
|
|
private String transactionSerialNo;
|
|
|
|
public String getTransactionSerialNo() {
|
|
return transactionSerialNo;
|
|
}
|
|
|
|
public void setTransactionSerialNo(String transactionSerialNo) {
|
|
this.transactionSerialNo = transactionSerialNo;
|
|
}
|
|
|
|
public BusinessObject run() throws Exception
|
|
{
|
|
if(transactionSerialNo == null || "".equals(transactionSerialNo))
|
|
{
|
|
throw new Exception("交易流水为空!");
|
|
}
|
|
BusinessObjectManager bomanager = BusinessObjectManager.createBusinessObjectManager();
|
|
BusinessObject transaction = TransactionHelper.loadTransaction(transactionSerialNo, bomanager);
|
|
BusinessObject loan = transaction.getBusinessObject(transaction.getString("RelativeObjectType"));
|
|
String transDate = transaction.getString("TransDate");
|
|
//对于生效日期不是在当天的进行换日交易的处理
|
|
|
|
while(loan.getString("BusinessDate").compareTo(transDate) < 0)
|
|
{
|
|
BusinessObject transaction1 = TransactionHelper.createTransaction("9090", null, loan, "", "", DateHelper.getBusinessDate(), bomanager);
|
|
transaction1 = TransactionHelper.executeTransaction(transaction1, bomanager);
|
|
}
|
|
|
|
|
|
TransactionHelper.executeTransaction(transaction, bomanager);
|
|
|
|
|
|
BusinessObject payment = transaction.getBusinessObject(transaction.getString("DocumentType"));
|
|
bomanager.clear();
|
|
|
|
bomanager.updateBusinessObject(payment);
|
|
bomanager.updateDB();
|
|
return payment;
|
|
}
|
|
}
|