经销商协议到期日校验

This commit is contained in:
zhanglei 2021-12-15 09:33:15 +08:00
parent 8b5490b99b
commit 30c9770f87

View File

@ -0,0 +1,85 @@
/**
*
*/
package com.tenwa.lease.flow.project.commcheck;
import com.tenwa.reckon.util.DateUtil;
import jbo.app.tenwa.customer.CUSTOMER_FAMILY_TEMP;
import jbo.app.tenwa.customer.CUSTOMER_PERSON_TEMP;
import jbo.app.tenwa.customer.DISTRIBUTOR_INFO;
import jbo.app.tenwa.doc.LB_DOC_CONTRACT_LIST;
import jbo.com.tenwa.lease.comm.LB_GUARANTEE_UNIT_TEMP;
import jbo.com.tenwa.lease.comm.LB_PROJECT_INFO_TEMP;
import com.amarsoft.are.jbo.BizObject;
import com.amarsoft.are.jbo.BizObjectManager;
import com.amarsoft.are.jbo.JBOFactory;
import com.amarsoft.awe.util.Transaction;
import com.tenwa.template.check.DefaultBussinessCheck;
import jbo.com.tenwa.lease.comm.LB_UNION_LESSEE_TEMP;
import org.apache.commons.collections.CollectionUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 发起业务申请时判断经销商协议到期的日期
* 1. 协议到期前一个月报单时提示协议即将到期请尽快办理合作续签手续
* 2. 到期日开始禁止渠道提单显示协议到期
*/
public class OrgOrderApplyCheck extends DefaultBussinessCheck {
private static final Logger logger = LoggerFactory.getLogger(OrgOrderApplyCheck.class);
@Override
public Object run(Transaction transaction) throws Exception {
logger.info("发起业务申请时,判断经销商【协议到期】的日期");
StringBuffer Message = new StringBuffer();
Message.append("未填写:");
String flowunid=this.getAttribute("ObjectNo").toString();
BizObjectManager lpitMange = JBOFactory.getBizObjectManager(LB_PROJECT_INFO_TEMP.CLASS_NAME, transaction);
BizObject lpit = lpitMange.createQuery("FLOWUNID=:flowunid").setParameter("FLOWUNID", flowunid).getSingleResult(false);
//LIMIT_END_DATE
BizObjectManager distributorInfoMange = JBOFactory.getBizObjectManager(DISTRIBUTOR_INFO.CLASS_NAME, transaction);
BizObject distributorInfo = distributorInfoMange.createQuery("DISTRIBUTOR_NO=:distributorNo").setParameter("distributorNo",
lpit.getAttribute("distributor_id").getString()).getSingleResult(false);
if(distributorInfo == null || distributorInfo.getAttribute("LIMIT_END_DATE") == null){
//协议到期
putMsg("合作协议已到期,暂时无法报单,请联系我司业务人员。");
setPass(false);
return null;
}
String limitEndDateStr = distributorInfo.getAttribute("LIMIT_END_DATE").getString();
// 2019/12/31
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
String nowStr = sdf.format(new Date());
if(nowStr.equals(limitEndDateStr)){
//协议即将到期请尽快办理合作续签手续
putMsg("合作协议即将到期,请联系我司业务人员,办理合作续签手续!");
setPass(true);
return null;
}
Date limitEndDate = sdf.parse(limitEndDateStr);
int days = DateUtil.getIntervalDays(new Date(), limitEndDate);
logger.info("发起业务申请时判断经销商【协议到期】的日期目前相差天数days= " + days);
if(days < 0){
//协议到期
putMsg("合作协议已到期,暂时无法报单,请联系我司业务人员。");
setPass(false);
return null;
}else if(days <= 30){
//协议即将到期请尽快办理合作续签手续
putMsg("合作协议即将到期,请联系我司业务人员,办理合作续签手续!");
setPass(true);
return null;
}else {
// > 30天
putMsg("通过");
setPass(true);
return null;
}
}
}