package quartz; import java.util.List; import jbo.app.tenwa.calc.VI_CONTRACT_OVERDUE; import jbo.com.tenwa.lease.carbrand.BUSINESS_STATUS; import jbo.com.tenwa.lease.comm.LB_CONTRACT_INFO; 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.base.util.QuartzUtil; //import com.tenwa.action.channelportal.ContractSignAction; //import com.tenwa.action.channelportal.comm.ContractTransferRightForEnd; import com.tenwa.comm.util.jboutil.SaveBusinessStatus; import com.tenwa.lease.app.quartzmession.JobInitUserName; //import com.tenwa.quartz.BeforeSerialTimingTask; //import com.tenwa.quartz.service.BeforeSerialTimingTaskService; //import com.tenwa.quartz.serviceImpl.BeforeSerialTimingTaskServiceImpl; public class ContractInfoForOverdue implements Job{ private JobInitUserName jboName; @Override public void execute(JobExecutionContext arg0) throws JobExecutionException { String startime = StringFunction.getTodayNow(); Object userId = arg0.getTrigger().getJobDataMap().get("CurUserId"); String curUserId = userId == null? "system" : userId.toString(); try { JBOTransaction tx = JBOFactory.createJBOTransaction(); ownershipTransferSign(tx,arg0); tx.commit(); QuartzUtil.insertLog(startime, "quartz.ContractInfoForOverdue", "success", "成功", curUserId); } catch (Exception e) { QuartzUtil.insertLog(startime, "quartz.ContractInfoForOverdue", "error", "失败", curUserId); e.printStackTrace(); } } public void ownershipTransferSign(JBOTransaction tx ,JobExecutionContext arg0) throws Exception{ String conInfo1 = getContractId(tx); BizObjectManager businessStatusManagr = JBOFactory.getBizObjectManager(BUSINESS_STATUS.CLASS_NAME, tx); if(!(conInfo1 == null || conInfo1.length() <= 0)){ String[] conInfos = conInfo1.split(","); for(String conInfo:conInfos){ String contractId = conInfo.split("@")[0]; String over_days = conInfo.split("@")[1]; BizObject lcibo = JBOFactory.getBizObjectManager(LB_CONTRACT_INFO.CLASS_NAME).createQuery("ID=:ID").setParameter("ID", contractId).getSingleResult(false); String contract_number = lcibo.getAttribute(LB_CONTRACT_INFO.CONTRACT_NUMBER).getString(); BizObject businessStatusObject = businessStatusManagr.createQuery("contract_number=:contract_number and business_status=:business_status") .setParameter("contract_number", contract_number).setParameter("business_status", "46").getSingleResult(false); if(businessStatusObject==null){ SaveBusinessStatus.saveByContractId(contractId, tx, "46", jboName.getUserId(arg0, tx)); }else{ businessStatusManagr.createQuery("update O set over_days = '"+over_days+"',inputtime='"+StringFunction.getTodayNow()+"' where business_status='46' AND contract_number = '"+contract_number+"'").executeUpdate(); } //BizObjectManager bm = JBOFactory.getBizObjectManager(LB_CONTRACT_INFO.CLASS_NAME, tx); //bm.createQuery("update O set contract_status = '105' where id = '"+contractId+"'").executeUpdate(); } } } //获取逾期的合同 public String getContractId(JBOTransaction tx ) throws Exception{ BizObjectManager bom=JBOFactory.getBizObjectManager(VI_CONTRACT_OVERDUE.CLASS_NAME); List boList = bom.createQuery("contract_status <> '105'").getResultList(true); String conInfos = new String(); for(BizObject bo : boList){ conInfos += bo.getAttribute("contract_id")+"@"; conInfos += bo.getAttribute("over_days")+","; // conInfos += bo.getAttribute("BUSINESS_STATUS")+","; } return conInfos; } }