apzl_leasing/src_acct/com/amarsoft/acct/accounting/web/AheadPaymentCalculate.java
2018-06-03 22:26:41 +08:00

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;
}
}