package com.storlead.sales.service.customer;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.storlead.framework.common.result.Result;
import com.storlead.framework.mybatis.service.MyBaseService;
import com.storlead.sales.pojo.dto.customer.WorkOrderAddDTO;
import com.storlead.sales.pojo.dto.customer.WorkOrderChageUserDTO;
import com.storlead.sales.pojo.dto.customer.WorkOrderSearchDTO;
import com.storlead.sales.pojo.entity.customer.WorkOrderEntity;
import com.baomidou.mybatisplus.extension.service.IService;
import com.storlead.sales.pojo.vo.customer.WorkOrderDetailVO;
import com.storlead.sales.pojo.vo.customer.WorkOrderListVO;

/**
 * <p>
 * 工单表 服务类
 * </p>
 *
 * @author YPZ
 * @since 2024-04-29
 */
public interface WorkOrderService extends MyBaseService<WorkOrderEntity> {

    /***
      * @Description: 添加/修改工单
      * @Param:
      * @return:
      * @Author: YPZ
      * @Date: 2024/5/13 15:40
      */
    Result<?> addWorkOrder(WorkOrderAddDTO workOrderAddDTO);

    /***
      * @Description: 查询工单列表
      * @Param:
      * @return:
      * @Author: YPZ
      * @Date: 2024/5/13 15:40
      */
    Result<IPage<WorkOrderListVO>> selectListVO(WorkOrderSearchDTO workOrderSearchDTO);

    WorkOrderDetailVO getWorkOrderVOById(Long id);

    Result distribution(WorkOrderChageUserDTO workOrderChageUserDTO);

    Result status(WorkOrderChageUserDTO workOrderChageUserDTO, Long id);
}
