public Result hitSingle(Context context) {
/**
* 1、查询相同身份证号或不同身份正好相同房产证号 (查询状态不包括【自动完结】和【取消】和【待发起】)
* 2、结果为空,允许下户申请
* 3、结果不为空 ,查询对应的授信申请
* 4、如授信申请为空,不允许发起下户(说明在7天保护期内)
* 5、如果不为空,【查看授信发起日期】
* 6、如果发起时间小于 【7天(可配置)】,不允许发起下户申请(说明在7天保护期内)
* 7、如果大于7天,查询 授信阶段, 如果已超过 授信审批阶段,允许发起下户申请
* 8、都不符合,允许发起
*/
UdhMissionApply udhMissionApply = ContextUtils.getBean(UdhMissionApply.class, context);
List
//先获取房产证号,然后查询是否有此房产证号的信息,并且下户申请状态为下户申请中,打回,下户完成三种的数据
List
if ((udhMissionApplyList != null && udhMissionApplyList.size() > 0) || udhMissionInfoList != null && udhMissionInfoList.size() > 0) {
//如果有,查找授信申请
LmtGrtApply lmtGrtApply = lmtGrtApplyService.selectByUnderhouseNum(udhMissionApply.getUnderhouseNum());
//如果授信申请为空,则授信申请正在进行中,不能进行下户申请,(判断当前时间是否超过签到时间7天,未超过则不可下户申请,否则可以下户申请)
if (ObjectUtils.isEmpty(lmtGrtApply)) {
//获取签到时间
String signInTime = udhMissionApply.getSignInTime();
//把string类型改为LocalDateTime
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime dateTime = LocalDateTime.parse(signInTime, formatter);
//算出现在与签到时间差是否超过7天
Duration duration = Duration.between(dateTime, LocalDateTime.now());
//相差的天数
long days = duration.toDays();
String day =configExtMapper.selectValidParamValueByParamCode(CommConstant.MAXIMUM_LENGTH_OF_CREDIT_EXTENSION_AFTER_SIGN_IN);
if (days <= Integer.valueOf(day)) {
return Result.fail(lmtGrtApply, "下户申请失败");
} else {
return Result.success();
}
} else {
//查看授信发起日期,如果发起时间小于 【7天(可配置)】,不允许发起下户申请(说明在7天保护期内),否则可下户申请
//获取授信申请开始时间
String startTime = lmtGrtApply.getCreateTime();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime dateTime = LocalDateTime.parse(startTime, formatter);
//算出现在与授信申请开始的时间差是否超过7天
Duration duration = Duration.between(dateTime, LocalDateTime.now());
long days = duration.toDays();
String day = configExtMapper.selectValidParamValueByParamCode(CommConstant.MAXIMUM_LENGTH_OF_CREDIT_EXTENSION_APPLICATION);
if (days <= Integer.valueOf(day)) {
return Result.fail(lmtGrtApply, "下户申请失败");
} else {
//当授信时间超过七天,判断授信状态是否还在授信审批,如果还在授信审批,可以进行下户申请,负责不可以
if ((DictConstant.LMT_GRT_STATUS_1).equals(lmtGrtApply.getApproveStatus())) {
return Result.success();
} else {
return Result.fail(lmtGrtApply, "下户申请失败");
}
}
}
}
return Result.success();
}