package com.xiaopeng.maintenance.service; import com.xiaopeng.api.model.maintenance.XpClockIn; import com.baomidou.mybatisplus.extension.service.IService; import com.xiaopeng.common.core.domain.R; import com.xiaopeng.common.core.web.page.PageInfo; import com.xiaopeng.maintenance.dto.*; import com.xiaopeng.maintenance.vo.ClockInStatisticsDetailsVo; import com.xiaopeng.maintenance.vo.ClockInStatisticsVo; import org.springframework.web.bind.annotation.RequestBody; import javax.servlet.http.HttpServletResponse; /** *

* 打卡明细 服务类 *

* * @author mitao * @since 2026-02-03 */ public interface IXpClockInService extends IService { /** * 验证打卡范围 * * @param dto * @return */ Boolean verifyRange(VerifyRangeDTO dto); /** * 打卡 * * @param dto * @return */ R clockIn(ClockDTO dto); /** * 下班打卡 * * @param dto * @return */ R clockOut(ClockDTO dto); /** * 检查用户是否上班中 * @param appUserId 用户ID * @return true=上班中(只打了上班卡), false=未上班或已下班 */ Boolean checkWorkStatus(Long appUserId); /** * 获取打卡统计 * @param query * @return */ PageInfo getClockInStatistics(ClockInStatisticsVo query); /** * 导出打卡统计 * @param vo * @param response */ void exportClockInStatistics(ClockInStatisticsVo vo, HttpServletResponse response); /** * 获取打卡统计详情 * @param query * @return */ GetClockInStatisticsDetailsDto getClockInStatisticsDetails(ClockInStatisticsDetailsVo query); /** * 导出打卡统计详情 * @param vo * @param response */ void exportClockInStatisticsDetails(ClockInStatisticsDetailsVo vo, HttpServletResponse response); }