diff --git a/src/com/engine/salary/mapper/salarybill/SalarySendInfoMapper.xml b/src/com/engine/salary/mapper/salarybill/SalarySendInfoMapper.xml index 477c0addb..a7738491f 100644 --- a/src/com/engine/salary/mapper/salarybill/SalarySendInfoMapper.xml +++ b/src/com/engine/salary/mapper/salarybill/SalarySendInfoMapper.xml @@ -617,6 +617,7 @@ hrsa_salary_send_info + first_reading_time = null, send_status = #{po.sendStatus}, @@ -795,6 +796,9 @@ bill_confirm_status=#{billConfirmStatus}, + + first_reading_time=#{firstReadingTime}, + WHERE id = #{id} AND delete_type = 0 diff --git a/src/com/engine/salary/service/impl/SalarySendServiceImpl.java b/src/com/engine/salary/service/impl/SalarySendServiceImpl.java index f544e8ff2..5a66005d6 100644 --- a/src/com/engine/salary/service/impl/SalarySendServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalarySendServiceImpl.java @@ -507,16 +507,16 @@ public class SalarySendServiceImpl extends Service implements SalarySendService salarySendInfo.setFirstReadingTime(firstReadingTime); getSalarySendInfoMapper().updateIgnoreNull(salarySendInfo); } else { + // 不是首次查看 firstReadingTime = salarySendInfo.getFirstReadingTime(); - } - - // 获取首次查看后多少分钟不能查看工资单(0代表一旦查看后无法再次查看,null代表不限制) - Integer burningAfterReadingMin = getSalaryBillBaseSetService(user).getBurningAfterReadingMin(); - if (burningAfterReadingMin != null) { - LocalDateTime limitTime = SalaryDateUtil.dateToLocalDateTime(firstReadingTime).plusMinutes(burningAfterReadingMin); - LocalDateTime now = SalaryDateUtil.dateToLocalDateTime(new Date()); - if (limitTime.isAfter(now)) { - throw new SalaryRunTimeException("首次查看工资单" + burningAfterReadingMin + "分钟后,无法查看工资单"); + // 获取首次查看后多少分钟不能查看工资单(0代表一旦查看后无法再次查看,null代表不限制) + Integer burningAfterReadingMin = getSalaryBillBaseSetService(user).getBurningAfterReadingMin(); + if (burningAfterReadingMin != null) { + LocalDateTime limitTime = SalaryDateUtil.dateToLocalDateTime(firstReadingTime).plusMinutes(burningAfterReadingMin); + LocalDateTime now = SalaryDateUtil.dateToLocalDateTime(new Date()); + if (limitTime.isBefore(now)) { + throw new SalaryRunTimeException("首次查看工资单" + burningAfterReadingMin + "分钟后,无法查看工资单。首次查看时间为:" + SalaryDateUtil.getFormatLocalDateTime(firstReadingTime)); + } } }