apzl_leasing/src_tenwa/com/tenwa/flow/fund/copyebank/FundCreateFlowMutex.java
2018-06-03 22:26:41 +08:00

63 lines
2.3 KiB
Java

package com.tenwa.flow.fund.copyebank;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import jbo.app.tenwa.calc.LC_FUND_INCOME_TEMP;
import jbo.app.tenwa.calc.LC_RENT_INCOME_TEMP;
import jbo.com.tenwa.entity.comm.flow.FLOW_WORK_FLAG;
import com.amarsoft.are.jbo.BizObject;
import com.amarsoft.are.jbo.JBOFactory;
import com.amarsoft.awe.util.Transaction;
import com.tenwa.flow.action.comm.BaseFlowStartAction;
import com.tenwa.flow.baseBussion.BaseBussiness;
public class FundCreateFlowMutex extends BaseBussiness {
@SuppressWarnings("unchecked")
@Override
public Object run(Transaction Sqlca) throws Exception {
this.initBussinessParam(Sqlca);
String flowunid=this.getAttribute("ObjectNo").toString();
JBOFactory.getBizObjectManager(FLOW_WORK_FLAG.CLASS_NAME,Sqlca).createQuery("delete from O where flow_unid=:flowunid").setParameter("flowunid", flowunid).executeUpdate();
BaseFlowStartAction bfsa = new BaseFlowStartAction();
BaseBussiness bb = new BaseBussiness();
bb.setAttribute("ObjectNo", flowunid);
bb.initBussinessParam(Sqlca);
bfsa.setApplyType(bb.getAttribute("applyType").toString());
bfsa.initFlowInfo();
Map<String,String> params = bfsa.getFlowParam();
params.put("FlowUnid", flowunid);
bfsa.setFlowParam(params);
List<String> contractIDs = new ArrayList<String>();
List<BizObject> bosLFIT = JBOFactory.getBizObjectManager(LC_FUND_INCOME_TEMP.CLASS_NAME).createQuery("flowunid=:flowunid").setParameter("flowunid", flowunid).getResultList(false);
if(bosLFIT.size() > 0){
for(BizObject bo:bosLFIT){
String contractID = bo.getAttribute("contract_id").getString();
if(!contractIDs.contains(contractID)){
contractIDs.add(contractID);
}
}
}
List<BizObject> bosLRIT = JBOFactory.getBizObjectManager(LC_RENT_INCOME_TEMP.CLASS_NAME).createQuery("flowunid=:flowunid").setParameter("flowunid", flowunid).getResultList(false);
if(bosLRIT.size() > 0){
for(BizObject bo:bosLRIT){
String contractID = bo.getAttribute("contract_id").getString();
if(!contractIDs.contains(contractID)){
contractIDs.add(contractID);
}
}
}
for(String con:contractIDs){
bfsa.FlowParam.put("ContractId", con);
bfsa.flowMutexInfoInit(Sqlca);
}
String sMessage="true";
return sMessage;
}
}