diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/service/impl/ActSignInRecordServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/service/impl/ActSignInRecordServiceImpl.java index 0794f097c4..af9d938dfd 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/service/impl/ActSignInRecordServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/service/impl/ActSignInRecordServiceImpl.java @@ -154,22 +154,33 @@ public class ActSignInRecordServiceImpl extends BaseServiceImpl signInEndTime) { - //未签到、已经超过了签到时间 - throw new RenException(EpmetErrorCode.SIGN_IN_TIME_PASSED.getCode(),EpmetErrorCode.SIGN_IN_TIME_PASSED.getMsg()); + + if (null == originalActInfo.getSignInStartTime() || null == originalActInfo.getSignInEndTime()) { + log.warn("并未设置签到开始、截止时间"); + throw new RenException(EpmetErrorCode.SIGN_IN_TIME_NOT_START.getCode(), EpmetErrorCode.SIGN_IN_TIME_NOT_START.getMsg()); + } + + if (null != originalActInfo.getSignInStartTime() && null != originalActInfo.getSignInEndTime()) { + Date nowDate=new Date(); + long nowTime=nowDate.getTime(); + long signInStartTime=originalActInfo.getSignInStartTime().getTime(); + long signInEndTime=originalActInfo.getSignInEndTime().getTime(); + if (nowTime < signInStartTime) { + //未到签到时间 + throw new RenException(EpmetErrorCode.SIGN_IN_TIME_NOT_START.getCode(),EpmetErrorCode.SIGN_IN_TIME_NOT_START.getMsg()); + } else if (nowTime > signInEndTime) { + //未签到、已经超过了签到时间 + throw new RenException(EpmetErrorCode.SIGN_IN_TIME_PASSED.getCode(),EpmetErrorCode.SIGN_IN_TIME_PASSED.getMsg()); + } } //未签到、在签到时间范围内的,可以签到