package com.estate.expert.admin.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.estate.expert.admin.domain.business.onduty.OnDuty; import com.estate.expert.admin.domain.business.onduty.OnDutyVo; import com.estate.expert.admin.domain.common.request.AddOnDutyRequest; import com.estate.expert.admin.domain.common.request.EditOnDutyRequest; import com.estate.expert.admin.domain.common.request.OnDutyRequest; import com.estate.expert.admin.domain.common.request.PageReq; import com.estate.expert.admin.domain.common.response.PageRespMp; import com.estate.expert.admin.domain.user.User; import java.util.List; /** *

* 在岗情况 服务类 *

* * @author administrator * @since 2026-01-12 */ public interface OnDutyService extends IService { List pageList(Page page, OnDutyRequest request); OnDutyVo detail(Integer id); /** * 添加在岗情况记录 * * @param creator 创建者 * @param request 添加请求 * @return 在岗情况实体 */ OnDuty add(User creator, AddOnDutyRequest request); /** * 分页查询在岗情况列表(JPA 实现) * 用于新的列表查询接口,支持"全部/我创建的"筛选 * * @param checkTaskId 计划ID(可选) * @param creatorId 创建者ID(null表示查询全部) * @param pageReq 分页请求 * @return 在岗情况分页结果 */ PageRespMp listOnDutyRecords(Integer checkTaskId, Integer creatorId, PageReq pageReq); /** * 编辑在岗情况记录 * * @param request 编辑请求 * @return 更新后的在岗情况实体 */ OnDuty edit(EditOnDutyRequest request); /** * 批量删除在岗情况记录 * * @param ids 在岗记录ID列表 */ void deleteByIds(List ids); List exportList(OnDutyRequest query); }