diff --git a/src_tenwa/quartz/AutoDistribute.java b/src_tenwa/quartz/AutoDistribute.java index ed5be1fe5..e02bbbc38 100644 --- a/src_tenwa/quartz/AutoDistribute.java +++ b/src_tenwa/quartz/AutoDistribute.java @@ -25,14 +25,21 @@ import com.base.util.QuartzUtil; //import com.tenwa.action.channelportal.comm.ContractTransferRightForEnd; import com.tenwa.comm.util.jboutil.DataOperatorUtil; 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 AutoDistribute implements Job { private JobInitUserName jboName; //指定的北财催款员id(正式环境需要修改) - private String beicaiUserID = "8009011U00000021"; + private String beicaiUserID = "8006U00000019"; + + //北财合作方角色 800R00000044 + private String beicaiRoleId = "800R00000044"; + + //指定的凯捷催款员id(正式环境需要修改) + private String kjUserID = "8006U00000017"; + + //凯捷合作方角色 + private String kjRoleId = "800R00000048"; + @Override public void execute(JobExecutionContext arg0) throws JobExecutionException { @@ -40,16 +47,24 @@ public class AutoDistribute implements Job { Object userId = arg0.getTrigger().getJobDataMap().get("CurUserId"); String curUserId = userId == null ? "system" : userId.toString(); - + JBOTransaction tx = null; try { - JBOTransaction tx = JBOFactory.createJBOTransaction(); + tx = JBOFactory.createJBOTransaction(); //给非北财分配催款员 ownershipTransferSign(tx, arg0); //北财逾期的合同分配给指定催款员 distributeBeicai(tx, arg0); + //凯捷逾期的合同分配给指定催款员 + distributekaijie(tx, arg0); tx.commit(); QuartzUtil.insertLog(startime, "quartz.AutoDistribute", "success","成功", curUserId); } catch (Exception e) { + try { + tx.rollback(); + } catch (JBOException e1) { + // TODO Auto-generated catch block + e1.printStackTrace(); + } QuartzUtil.insertLog(startime, "quartz.AutoDistribute", "error","失败", curUserId); e.printStackTrace(); } @@ -59,34 +74,76 @@ public class AutoDistribute implements Job { * 北财逾期的合同分配给指定催款员 * @param tx * @param arg0 + * @throws JBOException */ - public void distributeBeicai(JBOTransaction tx, JobExecutionContext arg0) { + public void distributeBeicai(JBOTransaction tx, JobExecutionContext arg0) throws JBOException { // 获取所有逾期的需要催收的合同信息 BizObjectManager bom; BizObjectManager overdueManager; - try { - overdueManager = JBOFactory.getBizObjectManager(OVERDUE_DUNNING_INFO.CLASS_NAME, tx); - bom = JBOFactory.getBizObjectManager(VI_AUTODISTRIBUTE.CLASS_NAME, tx); - @SuppressWarnings("unchecked") - List boList = bom.createQuery("SELECT O.id,O.over_days FROM O WHERE O.project_manage IN (SELECT ur.userid FROM jbo.awe.USER_ROLE ur WHERE ur.roleid ='800R00000044')").getResultList(false); - for (BizObject bo : boList) { - String contractId = bo.getAttribute("id").toString(); - //查询是否已经有催款员(目前北财只有一个指定的催款员) - BizObject overdue = overdueManager.createQuery("contract_id=:contract_id").setParameter("contract_id", contractId).getSingleResult(false); - if(overdue == null){ - BizObject overdueBizObject = overdueManager.newObject(); - String uuid = UUID.randomUUID().toString().replace("-", ""); - - overdueBizObject.setAttributeValue("id", uuid); - overdueBizObject.setAttributeValue("part_dept", beicaiUserID); - overdueBizObject.setAttributeValue("contract_id", contractId); - overdueManager.saveObject(overdueBizObject); - } + + overdueManager = JBOFactory.getBizObjectManager(OVERDUE_DUNNING_INFO.CLASS_NAME, tx); + bom = JBOFactory.getBizObjectManager(VI_AUTODISTRIBUTE.CLASS_NAME, tx); + @SuppressWarnings("unchecked") + List boList = bom.createQuery("SELECT O.id,O.over_days FROM O WHERE O.project_manage IN (SELECT ur.userid FROM jbo.awe.USER_ROLE ur WHERE ur.roleid ='"+beicaiRoleId+"')").getResultList(false); + for (BizObject bo : boList) { + String contractId = bo.getAttribute("id").toString(); + + //查询是否已经有催款员(目前北财只有一个指定的催款员) + BizObject overdue = overdueManager.createQuery("contract_id=:contract_id").setParameter("contract_id", contractId).getSingleResult(false); + if(overdue == null){ + BizObject overdueBizObject = overdueManager.newObject(); + String uuid = UUID.randomUUID().toString().replace("-", ""); + + overdueBizObject.setAttributeValue("id", uuid); + overdueBizObject.setAttributeValue("part_dept", beicaiUserID); + overdueBizObject.setAttributeValue("contract_id", contractId); + overdueManager.saveObject(overdueBizObject); + }else{ + overdueManager.createQuery("update O set part_dept=:part_dept where contract_id=:contract_id") + .setParameter("contract_id", contractId) + .setParameter("part_dept", beicaiUserID).executeUpdate(); } - } catch (JBOException e) { - e.printStackTrace(); } + + } + + /** + * 凯捷逾期的合同分配给指定催款员 + * @param tx + * @param arg0 + * @throws JBOException + */ + public void distributekaijie(JBOTransaction tx, JobExecutionContext arg0) throws JBOException { + + // 获取所有逾期的需要催收的合同信息 + BizObjectManager bom; + BizObjectManager overdueManager; + + overdueManager = JBOFactory.getBizObjectManager(OVERDUE_DUNNING_INFO.CLASS_NAME, tx); + bom = JBOFactory.getBizObjectManager(VI_AUTODISTRIBUTE.CLASS_NAME, tx); + @SuppressWarnings("unchecked") + List boList = bom.createQuery("SELECT O.id,O.over_days FROM O WHERE O.project_manage IN (SELECT ur.userid FROM jbo.awe.USER_ROLE ur WHERE ur.roleid ='"+kjRoleId+"')").getResultList(false); + for (BizObject bo : boList) { + String contractId = bo.getAttribute("id").toString(); + + //查询是否已经有催款员(目前北财只有一个指定的催款员) + BizObject overdue = overdueManager.createQuery("contract_id=:contract_id").setParameter("contract_id", contractId).getSingleResult(false); + if(overdue == null){ + BizObject overdueBizObject = overdueManager.newObject(); + String uuid = UUID.randomUUID().toString().replace("-", ""); + + overdueBizObject.setAttributeValue("id", uuid); + overdueBizObject.setAttributeValue("part_dept", kjUserID); + overdueBizObject.setAttributeValue("contract_id", contractId); + overdueManager.saveObject(overdueBizObject); + }else{ + overdueManager.createQuery("update O set part_dept=:part_dept where contract_id=:contract_id") + .setParameter("contract_id", contractId) + .setParameter("part_dept", beicaiUserID).executeUpdate(); + } + } + } /**