package com.ruoyi.system.mapper;

import java.util.List;
import com.ruoyi.system.domain.WorkOrderInfo;
import org.apache.ibatis.annotations.Param;

/**
 * 工单信息Mapper接口
 * 
 * @author ruoyi
 * @date 2025-05-12
 */
public interface WorkOrderInfoMapper 
{
    /**
     * 查询工单信息
     * 
     * @param orderId 工单信息主键
     * @return 工单信息
     */
    public WorkOrderInfo selectWorkOrderInfoByOrderId(String orderId);

    /**
     * 查询工单信息列表
     * 
     * @param workOrderInfo 工单信息
     * @return 工单信息集合
     */
    public List<WorkOrderInfo> selectWorkOrderInfoList(WorkOrderInfo workOrderInfo);

    /**
     * 新增工单信息
     * 
     * @param workOrderInfo 工单信息
     * @return 结果
     */
    public int insertWorkOrderInfo(WorkOrderInfo workOrderInfo);

    /**
     * 修改工单信息
     * 
     * @param workOrderInfo 工单信息
     * @return 结果
     */
    public int updateWorkOrderInfo(WorkOrderInfo workOrderInfo);

    /**
     * 删除工单信息
     * 
     * @param orderId 工单信息主键
     * @return 结果
     */
    public int deleteWorkOrderInfoByOrderId(String orderId);

    /**
     * 批量删除工单信息
     * 
     * @param orderIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteWorkOrderInfoByOrderIds(String[] orderIds);

    List<WorkOrderInfo> selectWorkOrderInfoListBymonth(String month);

    List<WorkOrderInfo> selectWorkOrderInfoListByTime(@Param("startDate")String startDate, @Param("endDate")String endDate, @Param("userId")Long userId);

    List<WorkOrderInfo> selectWorkOrderInfoListBymonthOne(String month);

    List<WorkOrderInfo> selectWorkOrderInfoListByYearOne(String year);

    List<WorkOrderInfo> selectWorkOrderInfoListByYear(@Param("year")String year, @Param("userId")Long userId);

    List<WorkOrderInfo> selectWorkOrderInfoListByUserList(@Param("year")String year,@Param("userIds")List<Long> userIds);
}
