|
@@ -64,6 +64,23 @@ public class TBDingStatisticServiceImpl extends ServiceImpl<TBDingStatisticMappe
|
|
|
return this.getOne(new QueryWrapper<TBDingStatistic>().lambda().eq(TBDingStatistic::getSopNo, sopNo).eq(TBDingStatistic::getUserArchivesId, userArchivesId).last(SystemConstant.LIMIT1));
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public void buildDingStatistic(String sopNo, Long userArchivesId) {
|
|
|
+ Long currentEarliestTime = DateDisposeUtils.getEarliestTime(System.currentTimeMillis());
|
|
|
+ List<TBDing> datasource = tbDingService.list(new QueryWrapper<TBDing>().lambda().eq(TBDing::getSopNo, sopNo).eq(TBDing::getUserArchivesId, userArchivesId)).stream().filter(e -> {
|
|
|
+ if (Objects.nonNull(e.getSignInTime()) && Objects.nonNull(e.getSignOutTime())) {
|
|
|
+ return e.getSignInTime() < currentEarliestTime && e.getSignOutTime() < currentEarliestTime;
|
|
|
+ } else if (Objects.isNull(e.getSignInTime())) {
|
|
|
+ return e.getSignOutTime() < currentEarliestTime;
|
|
|
+ } else if (Objects.isNull(e.getSignOutTime())) {
|
|
|
+ return e.getSignInTime() < currentEarliestTime;
|
|
|
+ } else {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+ this.buildDingStatisticBySop(sopNo, datasource, -1L);
|
|
|
+ }
|
|
|
+
|
|
|
@Transactional
|
|
|
@Override
|
|
|
public void buildDingStatistic(String sopNo) {
|