package com.zksy.base.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zksy.base.domain.WorkOrder;
import com.zksy.manhole.dto.in.*;
import com.zksy.manhole.dto.out.WorkOrderOutDTO;

/**
* @author Administrator
* @description 针对表【work_order(运维工单表)】的数据库操作Service
* @createDate 2026-06-11 11:50:08
*/
public interface WorkOrderService extends IService<WorkOrder> {

    /**
     * 分页查询工单信息列表
     * @param pageInDTO
     * @return
     */
    Page<WorkOrderOutDTO> findByPage(WorkOrderPageInDTO pageInDTO);

    /**
     * 新增工单
     * @param inDTO
     * @return
     */
    boolean addWorkOrder(WorkOrderAddInDTO inDTO);

    /**
     * 经办工单分页查询（处理中：待接单、已接单、处理中、待验收）
     * @param inDTO
     * @return
     */
    Page<WorkOrderOutDTO> findProcessingPage(WorkOrderProcessingInDTO inDTO);

    /**
     * 办结工单分页查询（已办结：已结案、已驳回）
     * @param inDTO
     * @return
     */
    Page<WorkOrderOutDTO> findFinishedPage(WorkOrderFinishedInDTO inDTO);

    /**
     * 操作工单
     * @param inDTO
     * @return
     */
    boolean operWorkOrder(WorkOrderOperInDTO inDTO);
}
