106 lines
5.0 KiB
Java
106 lines
5.0 KiB
Java
package com.tenwa.flow.comm.status;
|
|
|
|
import java.text.SimpleDateFormat;
|
|
import java.util.Date;
|
|
import java.util.List;
|
|
|
|
import jbo.app.tenwa.calc.LC_FUND_INCOME_TEMP;
|
|
import jbo.com.tenwa.lease.carbrand.BUSINESS_STATUS;
|
|
import jbo.com.tenwa.lease.comm.LB_PROJECT_INFO;
|
|
|
|
import com.amarsoft.are.jbo.BizObject;
|
|
import com.amarsoft.are.jbo.BizObjectManager;
|
|
import com.amarsoft.are.jbo.JBOFactory;
|
|
import com.amarsoft.are.util.StringFunction;
|
|
import com.amarsoft.awe.util.ASResultSet;
|
|
import com.amarsoft.awe.util.SqlObject;
|
|
import com.amarsoft.awe.util.Transaction;
|
|
import com.amarsoft.context.ASUser;
|
|
import com.tenwa.flow.baseBussion.BaseBussiness;
|
|
/**
|
|
*
|
|
* @author jianghd
|
|
*
|
|
*/
|
|
|
|
public class UpdateStatusAndSaveDetail extends BaseBussiness{
|
|
public Object run(Transaction Sqlca) throws Exception{
|
|
this.initBussinessParam(Sqlca.getTransaction());
|
|
String sFlowUnid = (String)this.getAttribute("ObjectNo");
|
|
String ProjectId = (String)this.getAttribute("ProjectId");
|
|
String ContractId = (String)this.getAttribute("ContractId");
|
|
String statusCode = (String)this.getAttribute("statusCode");
|
|
String contractNumber = (String)this.getAttribute("ContractNumber");
|
|
String userId = (String)this.getAttribute("CurUserID");
|
|
String PhaseNo = (String)this.getAttribute("PhaseNo");
|
|
if(!"0010".equals(PhaseNo)&&PhaseNo!=null){
|
|
userId = (String)this.getAttribute("CurFlowUserId");
|
|
}
|
|
String orgId = new ASUser(userId).getOrgID();
|
|
|
|
String apprlyType = (String)this.getAttribute("applyType");
|
|
|
|
if("ActualPaymentApply".equals(apprlyType)){//实际放款流程
|
|
BizObjectManager lfitBom = JBOFactory.getBizObjectManager(LC_FUND_INCOME_TEMP.CLASS_NAME,Sqlca);
|
|
List<BizObject> lfitBos=lfitBom.createQuery("FLOWUNID=:FlowUnid").setParameter("FlowUnid", sFlowUnid).getResultList(false);
|
|
for (BizObject lfitbo : lfitBos) {//对批量的合同更新进度
|
|
ProjectId = lfitbo.getAttribute("PROJECT_ID").getString();
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd hh:mm:ss");
|
|
String now = sdf.format(new Date(System.currentTimeMillis()));
|
|
JBOFactory.getBizObjectManager(BUSINESS_STATUS.CLASS_NAME,Sqlca)
|
|
.createQuery("UPDATE O SET BUSINESS_STATUS='"+statusCode+"',UPDATEUSERID='"+userId+"',UPDATEORGID='"+orgId+"',UPDATETIME='"+now+"' WHERE CONTRACT_NUMBER=(SELECT LPI.CONTRACT_NUMBER FROM "+LB_PROJECT_INFO.CLASS_NAME+" LPI WHERE LPI.ID='"+ProjectId+"')").executeUpdate();
|
|
|
|
SqlObject so = new SqlObject("INSERT INTO BUSINESS_DETAIL(ID,CONTRACT_NUMBER,BUSINESS_STATUS,INPUTUSERID,INPUTORGID,INPUTTIME) SELECT SYS_GUID(),CONTRACT_NUMBER,'"+statusCode+"','"+userId+"','"+orgId+"','"+StringFunction.getTodayNow().replaceAll(":", "△")+"' FROM LB_PROJECT_INFO WHERE ID='"+ProjectId+"'");
|
|
so.setDebugSql(so.getDebugSql().replaceAll("△", ":"));
|
|
so.setOriginalSql(so.getOriginalSql().replaceAll("△", ":"));
|
|
so.setRunSql(so.getRunSql().replaceAll("△", ":"));
|
|
Sqlca.executeSQL(so);
|
|
}
|
|
}else{
|
|
if(contractNumber==null){
|
|
//FlowKey,ProjectName,ContractId
|
|
String sql = "";
|
|
if(ContractId!=null){
|
|
sql = "SELECT LPI.CONTRACT_NUMBER FROM LB_CONTRACT_INFO LPI WHERE LPI.ID='"+ContractId+"'";
|
|
}else{
|
|
sql = "SELECT LPI.CONTRACT_NUMBER FROM LB_PROJECT_INFO LPI WHERE LPI.ID='"+ProjectId+"'";
|
|
}
|
|
SqlObject lpisql = new SqlObject(sql);
|
|
ASResultSet ass = Sqlca.getASResultSet(lpisql);
|
|
if(ass.next()){
|
|
contractNumber = ass.getString("CONTRACT_NUMBER");
|
|
}
|
|
}
|
|
BizObjectManager bsBom = JBOFactory.getBizObjectManager(BUSINESS_STATUS.CLASS_NAME,Sqlca);
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd hh:mm:ss");
|
|
String now = sdf.format(new Date(System.currentTimeMillis()));
|
|
BizObject bo = bsBom.createQuery("CONTRACT_NUMBER=:ContractNumber").setParameter("ContractNumber", contractNumber).getSingleResult(true);
|
|
String bStatus = "";
|
|
if(bo!=null){
|
|
bStatus = bo.getAttribute("BUSINESS_STATUS").getString();
|
|
}else{//初始化BussinessStatus
|
|
bo = bsBom.newObject();
|
|
bo.setAttributeValue("BUSINESS_STATUS","1");
|
|
bo.setAttributeValue("CONTRACT_NUMBER",contractNumber);
|
|
bo.setAttributeValue("INPUTUSERID",userId);
|
|
bo.setAttributeValue("INPUTORGID",orgId);
|
|
bo.setAttributeValue("INPUTTIME",now);
|
|
bsBom.saveObject(bo);
|
|
bStatus = "1";
|
|
}
|
|
bsBom.createQuery("UPDATE O SET BUSINESS_STATUS='"+statusCode+"',UPDATEUSERID='"+userId+"',UPDATEORGID='"+orgId+"',UPDATETIME='"+now+"' WHERE CONTRACT_NUMBER='"+contractNumber+"'").executeUpdate();
|
|
|
|
SqlObject so = new SqlObject("INSERT INTO BUSINESS_DETAIL(ID,CONTRACT_NUMBER,BUSINESS_STATUS,INPUTUSERID,INPUTORGID,INPUTTIME,BEFORE_STATUS) SELECT replace(uuid(),'-',''),CONTRACT_NUMBER,'"+statusCode+"','"+userId+"','"+orgId+"','"+StringFunction.getTodayNow().replaceAll(":", "△")+"','"+bStatus+"' FROM LB_PROJECT_INFO WHERE ID='"+ProjectId+"'");
|
|
so.setDebugSql(so.getDebugSql().replaceAll("△", ":"));
|
|
so.setOriginalSql(so.getOriginalSql().replaceAll("△", ":"));
|
|
so.setRunSql(so.getRunSql().replaceAll("△", ":"));
|
|
Sqlca.executeSQL(so);
|
|
}
|
|
|
|
|
|
String sMessage="true";
|
|
return sMessage;
|
|
}
|
|
|
|
}
|