package com.xiaopeng.maintenance.schedule; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.xiaopeng.api.feignClient.account.XpOperationUserClient; import com.xiaopeng.api.feignClient.vehicleConvoy.XpVehicleClient; import com.xiaopeng.api.model.maintenance.XpClockIn; import com.xiaopeng.api.model.maintenance.XpSchedulingDetail; import com.xiaopeng.maintenance.mapper.XpClockInMapper; import com.xiaopeng.maintenance.mapper.XpTaskMapper; import com.xiaopeng.maintenance.mapper.XpTaskRuleMapper; import com.xiaopeng.maintenance.mapper.XpTaskRuleRoleMapper; import com.xiaopeng.maintenance.service.IXpClockInService; import com.xiaopeng.maintenance.service.IXpSchedulingDetailService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import org.springframework.util.CollectionUtils; import java.time.LocalDate; import java.util.List; import java.util.stream.Collectors; /** * 打卡定时任务 *
* 判断是否迟到或者缺卡 *
* * @author xiaochen * @since 2026-02-27 */ @Component public class ClockInScheduleTask { private static final Logger log = LoggerFactory.getLogger(ClockInScheduleTask.class); @Autowired private IXpClockInService xpClockInService; @Autowired private IXpSchedulingDetailService xpSchedulingDetailService; /** * 每5分钟执行一次 */ @Scheduled(cron = "0 */5 * * * ?") public void clockInScheduleTask() { log.info("========== 开始执行打卡检查 =========="); try { // 查询上班卡在今天的 List