apzl_leasing/src_tenwa/quartz/ContractInfoForNomalEndSign.java

214 lines
9.6 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package quartz;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import jbo.com.tenwa.lease.comm.LB_CONTRACT_INFO;
import jbo.com.tenwa.lease.comm.VI_NORMALEND_CONTRACT;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import com.amarsoft.are.jbo.BizObject;
import com.amarsoft.are.jbo.BizObjectManager;
import com.amarsoft.are.jbo.JBOFactory;
import com.amarsoft.are.jbo.JBOTransaction;
import com.amarsoft.are.util.StringFunction;
import com.amarsoft.awe.util.Transaction;
import com.amarsoft.context.ASUser;
import com.base.util.QuartzUtil;
//import com.tenwa.action.channelportal.ContractSignAction;
//import com.tenwa.action.channelportal.comm.ContractTransferRightForEnd;
import com.tenwa.comm.util.jboutil.DataOperatorUtil;
import com.tenwa.comm.util.jboutil.SaveBusinessStatus;
import com.tenwa.lease.app.quartzmession.JobInitUserName;
import com.tenwa.officetempalte.action.CreateOfficeAction;
//import com.tenwa.quartz.BeforeSerialTimingTask;
//import com.tenwa.quartz.service.BeforeSerialTimingTaskService;
//import com.tenwa.quartz.serviceImpl.BeforeSerialTimingTaskServiceImpl;
import com.tenwa.reckon.util.UUIDUtil;
import org.apache.log4j.Logger;
public class ContractInfoForNomalEndSign implements Job{
private JobInitUserName jboName;
@Override
public void execute(JobExecutionContext arg0) throws JobExecutionException {
String startime = StringFunction.getTodayNow();
try {
JBOTransaction tx = JBOFactory.createJBOTransaction();
ownershipTransferSign(tx,arg0);
tx.commit();
QuartzUtil.insertLog(startime, "quartz.ContractInfoForNomalEndSign", "success", "成功");
} catch (Exception e) {
QuartzUtil.insertLog(startime, "quartz.ContractInfoForNomalEndSign", "success", "失败");
e.printStackTrace();
}
}
/*
*检索一天里面正常结束的合同,并生成所有权转移证明,并电子签章
*7个合同大概40s
* */
// public void ownershipTransferSign(JBOTransaction tx ) throws Exception{
// MakeContractInfo makeContract = new MakeContractInfo();
// String conInfo1 = makeContract.getContractId(tx);
// if(!(conInfo1 == null || conInfo1.length() <= 0)){
// String[] conInfos = conInfo1.split(",");
// ContractSignAction conSign=new ContractSignAction();
// for(String conInfo:conInfos){
// String customerName = conInfo.split("@")[1];
// String contractId = conInfo.split("@")[0];
// String businessStatus = conInfo.split("@")[2];
// //生成理赔关联附件
// Map<String,String> param = new HashMap<String,String>();
// param.put("contract_id", contractId);
// param.put("flow_unid", contractId);
// param.put("OBJECTTYPE", "产权转移单");
// param.put("NEW_TIME", StringFunction.getTodayNow());
// param.put("Flag", "true");//关联签约表
// param.put("Display", "true");
// param.put("ID", UUIDUtil.getUUID());//为了使用同一条Relative记录
// Transaction tran = Transaction.createTransaction("als");
// String templateParam = makeContract.initClaimsParams(param,tran,contractId);
// CreateOfficeAction coa = new CreateOfficeAction();
// makeContract.deleteAttrAndContractInfo(tx, contractId);
// if("37".equals(businessStatus)){
// //提前结清
// makeContract.createOfficeByTemplate(coa, templateParam, "所有权转移单","dc51c2a8661846528da47a03461e9f24" , customerName, null, tx);
// }else if("35".equals(businessStatus)){
// //保险理赔(一辆车)
// makeContract.createOfficeByTemplate(coa, templateParam, "所有权转移单(保险理赔)","efc6e5dfa79148ad84074d0203e6ed1d" , customerName, null, tx);
// }else {
// //正常结束
// makeContract.createOfficeByTemplate(coa, templateParam, "所有权转移单","041df2e804c54f8a8955457d586e8980" , customerName, null, tx);
// }
// //电子签约
// String sReturn = conSign.transferSign(tx, contractId);
// if("success".equals(sReturn)){
// //如果签约成功将合同状态改为105结束
// ContractTransferRightForEnd ctrf = new ContractTransferRightForEnd();
// ctrf.setContract_id(contractId);
// ctrf.updateContractStatues(tx);
// }
// }
// }
// }
public void ownershipTransferSign(JBOTransaction tx ,JobExecutionContext arg0) throws Exception{
// MakeContractInfo makeContract = new MakeContractInfo();
String conInfo1 = getContractId(tx);
if(!(conInfo1 == null || conInfo1.length() <= 0)){
String[] conInfos = conInfo1.split(",");
// ContractSignAction conSign=new ContractSignAction();
for(String conInfo:conInfos){
String customerName = conInfo.split("@")[1];
String contractId = conInfo.split("@")[0];
String businessStatus = conInfo.split("@")[2];
//生成理赔关联附件
// Map<String,String> param = new HashMap<String,String>();
// param.put("contract_id", contractId);
// param.put("flow_unid", contractId);
// param.put("OBJECTTYPE", "产权转移单");
// param.put("NEW_TIME", StringFunction.getTodayNow());
// param.put("Flag", "true");//关联签约表
// param.put("Display", "true");
// param.put("CUSTOMER_NAME", customerName);
// param.put("ID", UUIDUtil.getUUID());//为了使用同一条Relative记录
// String templateParam = initClaimsParams(param,tx,contractId);
// CreateOfficeAction coa = new CreateOfficeAction();
// deleteAttrAndContractInfo(tx, contractId);
// if("37".equals(businessStatus)){
// //提前结清
// makeContract.createOfficeByTemplate(coa, templateParam, "所有权转移单","dc51c2a8661846528da47a03461e9f24" , customerName, null, tx);
// }else if("35".equals(businessStatus)){
// //保险理赔(一辆车)
// makeContract.createOfficeByTemplate(coa, templateParam, "所有权转移单(保险理赔)","efc6e5dfa79148ad84074d0203e6ed1d" , customerName, null, tx);
// }else {
// //正常结束
// createOfficeByTemplate(coa, templateParam, "所有权转移单","041df2e804c54f8a8955457d586e8980" , customerName, null, tx);
// }
//电子签约
// String sReturn = conSign.transferSign(tx, contractId);
// if("success".equals(sReturn)){
//如果签约成功将合同状态改为105结束
Transaction tran = Transaction.createTransaction("als");
BizObjectManager bm = JBOFactory.getBizObjectManager(LB_CONTRACT_INFO.CLASS_NAME, tran);
bm.createQuery("update O set contract_status = '105' where id = '"+contractId+"'").executeUpdate();
SaveBusinessStatus.saveByContractId(contractId, tx, "61", jboName.getUserId(arg0, tx));
tran.commit();
// }
}
}
}
public String initClaimsParams(Map<String,String> param,JBOTransaction sqlca,String contractId) throws Exception {
//初始化一下基础参数
String fileSavePath = "d:/tmp/als/Upload";
StringBuffer templateParam = new StringBuffer();
templateParam.append("{");
for(String p:param.keySet()){
if("Flag".equals(p)||"Display".equals(p)){
templateParam.append("\""+p+"\"" + ":\"" + param.get(p) + "\"@");
}else{
templateParam.append("\""+p.toUpperCase()+"\"" + ":\"" + param.get(p) + "\"@");
}
}
templateParam.append("\"CurUserId\":\"");
templateParam.append("admin");
templateParam.append("\"@\"CurOrgId\":\"");
templateParam.append("8001007");
templateParam.append("\"@\"fileSavePath\":\"");
templateParam.append(fileSavePath+"\"");
return templateParam.toString();
}
//获取正常结束的合同没有电子签约的合同号
public String getContractId(JBOTransaction tx ) throws Exception{
BizObjectManager bom=JBOFactory.getBizObjectManager(VI_NORMALEND_CONTRACT.CLASS_NAME,tx);
List<BizObject> boList = bom.createQuery("contract_status <> '105'").getResultList(true);
String conInfos = new String();
for(BizObject bo : boList){
conInfos += bo.getAttribute("id")+"@";
conInfos += bo.getAttribute("customername")+"@";
conInfos += bo.getAttribute("BUSINESS_STATUS")+",";
}
return conInfos;
}
public void createOfficeByTemplate(CreateOfficeAction coa,String templateParam,String docName,String templetNo,String otherName,String otherParam,JBOTransaction sqlca) throws Exception{
StringBuffer sql = new StringBuffer();
sql.append(templateParam.toString());
sql.append("@");
sql.append("\"DOCNAME\":\"");
sql.append(docName);
sql.append("\"");
sql.append("@");
sql.append("\"OTHERNAME\":\"");
sql.append(otherName);
sql.append("\"");
if(otherParam != null){
sql.append(otherParam);
}
sql.append("}");
coa.setTemplateParam(sql.toString());
coa.setTemplateNo(templetNo);
coa.createOfficeByTemplate(sqlca);
}
public void deleteAttrAndContractInfo(JBOTransaction tx,String contract_id) throws Exception{
BizObjectManager LdrBom=JBOFactory.getBizObjectManager(jbo.app.tenwa.doc.LB_DOCRELATIVE.CLASS_NAME);
BizObjectManager LdclBom=JBOFactory.getBizObjectManager(jbo.app.tenwa.doc.LB_DOC_CONTRACT_LIST.CLASS_NAME);
BizObjectManager LdlBom=JBOFactory.getBizObjectManager(jbo.app.tenwa.doc.LB_DOCLIBRARY.CLASS_NAME);
BizObjectManager LdaBom=JBOFactory.getBizObjectManager(jbo.app.tenwa.doc.LB_DOCATTRIBUTE.CLASS_NAME);
BizObject LdrBo = LdrBom.createQuery("contract_id = :contract_id and objecttype = '产权转移单'").setParameter("contract_id",contract_id).getSingleResult(true);
if(LdrBo!=null){
BizObject LdlBo = LdlBom.createQuery("relative_id=:id and doc_class_itemno = '010003'").setParameter("id",LdrBo.getAttribute("id").toString()).getSingleResult(true);
if(LdlBo!=null){
LdaBom.createQuery("delete from O where library_id = :id").setParameter("id",LdlBo.getAttribute("id").toString()).executeUpdate();
}
}
int LdclBo = LdclBom.createQuery("delete from O where flow_unid = :contract_id and doc_name like '所有权%'").setParameter("contract_id",contract_id).executeUpdate();
}
}