package com.xiaopeng.maintenance.service; import com.baomidou.mybatisplus.extension.service.IService; import com.xiaopeng.api.model.account.XpOperationsUser; import com.xiaopeng.api.model.maintenance.XpTask; import com.xiaopeng.common.core.domain.R; import com.xiaopeng.common.core.web.page.PageInfo; import com.xiaopeng.maintenance.dto.HandleVehicleAccidentDto; import com.xiaopeng.maintenance.dto.SaveErrorTaskDto; import com.xiaopeng.maintenance.dto.SaveRoutineDetailDto; import com.xiaopeng.maintenance.dto.SaveVehicleAccidentDto; import com.xiaopeng.maintenance.model.query.TaskManagementPageListQuery; import com.xiaopeng.maintenance.model.query.WorkBenchQuery; import com.xiaopeng.maintenance.model.query.XpTaskRecordPageQuery; import com.xiaopeng.maintenance.model.vo.*; import com.xiaopeng.maintenance.model.query.TaskPageListQuery; import com.xiaopeng.maintenance.vo.TaskDetectionDetailVO; import javax.validation.Valid; import java.io.UnsupportedEncodingException; import java.util.List; /** *

* 任务管理 服务类 *

* * @author WuGuanFengYue * @since 2026-02-03 */ public interface XpTaskService extends IService { PageInfo workbench(WorkBenchQuery query) throws UnsupportedEncodingException; PageInfo pageList(TaskPageListQuery query); XpTask saveVehicleAccident(SaveVehicleAccidentDto dto, XpOperationsUser xpOperationsUser); R vehicleAccidentDetail(Long id) throws UnsupportedEncodingException; R handleVehicleAccident(HandleVehicleAccidentDto dto, XpOperationsUser xpOperationsUser); R vehicleRoutineDetail(Long id) throws UnsupportedEncodingException; R chargingDetail(Long id); R repairDetail(Long id); R preparationDetail(Long id); R detectionDetail(Long id); R saveRoutineDetail(SaveRoutineDetailDto dto, Long id); R cleanDetail(Long id) throws UnsupportedEncodingException; R confirmArrive(Long id,Long userId); /** * 通过车辆id查询任务事故分页列表 * @param query * @return */ PageInfo queryTaskByVehicleId(@Valid XpTaskRecordPageQuery query); /** * 删除任务/事故 * @param id */ void deleteTaskById(Long id); /** * 更新任务状态 * * @param taskId * @param status * @param id */ void updateTaskStatus(Long taskId, Integer status, Long id); PageInfo pageListManagement(TaskManagementPageListQuery query); R assigneeTask(Long id, Long handlerUserId,Long assigneeUserId); void saveTask(SaveErrorTaskDto dto, Long reportUserId); R taskDetail(Long id) throws UnsupportedEncodingException; List exportList(TaskManagementPageListQuery query); /** * 通过车辆id查询任务信息 * @param vehicleId * @return */ XpTask queryInfoByVehicleId(Long vehicleId); void reassign(Long taskId, String msg); void saveVehicleAccidentError(Long vehicleI); }