|
|
@@ -986,18 +986,20 @@ public class SysUserServiceImpl implements ISysUserService
|
|
|
if (!list2.isEmpty()){
|
|
|
//判定多打卡状态是否正常
|
|
|
for (UserRecord e : list2) {
|
|
|
- e.getRecordTime().toInstant();
|
|
|
- LocalDateTime localDateTime = LocalDateTime.ofInstant(e.getRecordTime().toInstant(), ZoneId.systemDefault());
|
|
|
- LocalDate localDate = localDateTime.toLocalDate();
|
|
|
- List<ProjectStaffRecord> list3 = projectStaffRecordMapper.selectByDDUidAndTime(e.getDdUserId(), localDate);
|
|
|
- BigDecimal sum = BigDecimal.ZERO;
|
|
|
- for (ProjectStaffRecord e2 : list3) {
|
|
|
- sum = sum.add(BigDecimal.valueOf(e2.getCheckDuration()));
|
|
|
- }
|
|
|
- BigDecimal sum2 = BigDecimal.valueOf(e.getSumDuration());
|
|
|
- if (sum.compareTo(sum2) != 0){
|
|
|
- String dateStr = DateUtils.parseStrYYYYnMMyDD(e.getRecordTime());
|
|
|
- return AjaxResult.error(String.format("[%S]考勤[%S]存在多打卡,请处理后再提交",e.getName(),dateStr));
|
|
|
+ if (e.getStatus()==0){
|
|
|
+ e.getRecordTime().toInstant();
|
|
|
+ LocalDateTime localDateTime = LocalDateTime.ofInstant(e.getRecordTime().toInstant(), ZoneId.systemDefault());
|
|
|
+ LocalDate localDate = localDateTime.toLocalDate();
|
|
|
+ List<ProjectStaffRecord> list3 = projectStaffRecordMapper.selectByDDUidAndTime(e.getDdUserId(), localDate);
|
|
|
+ BigDecimal sum = BigDecimal.ZERO;
|
|
|
+ for (ProjectStaffRecord e2 : list3) {
|
|
|
+ sum = sum.add(BigDecimal.valueOf(e2.getCheckDuration()));
|
|
|
+ }
|
|
|
+ BigDecimal sum2 = BigDecimal.valueOf(e.getSumDuration());
|
|
|
+ if (sum.compareTo(sum2) != 0){
|
|
|
+ String dateStr = DateUtils.parseStrYYYYnMMyDD(e.getRecordTime());
|
|
|
+ return AjaxResult.error(String.format("[%S]考勤[%S]存在多打卡,请处理后再提交",e.getName(),dateStr));
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|