package com.yunfeiyun.agmp.fms.service;

import com.yunfeiyun.agmp.fms.domain.FmsMach;
import com.yunfeiyun.agmp.fms.domain.reqvo.FmsMachListReqVo;
import com.yunfeiyun.agmp.fms.domain.reqvo.FmsMachRecordListReqVo;
import com.yunfeiyun.agmp.fms.domain.resvo.FmsMachAppMapResVo;
import com.yunfeiyun.agmp.fms.domain.resvo.FmsMachRecordListResVo;

import java.util.List;

/**
 * 机具Service接口
 * 
 * @author 杨晓辉
 * @date 2023-05-25
 */
public interface IFmsMachService 
{
    /**
     * 查询机具
     * 
     * @param machId 机具主键
     * @return 机具
     */
    public FmsMach selectFmsMachByMachId(String machId);

    /**
     * 查询机具列表
     *
     * @param fmsMachListReqVo 机具
     * @return 机具集合
     */
    public List<FmsMach> selectFmsMachList(FmsMachListReqVo fmsMachListReqVo);

    /**
     * 查询机具列表
     * @return 机具集合
     */
    public List<FmsMachAppMapResVo> selectFmsMachAppMapResVoList();

    /**
     * 查询农机具使用记录列表
     *
     * @param fmsMachRecordListReqVo 机具
     * @return 机具集合
     */
    public List<FmsMachRecordListResVo> selectFmsMachRecordList(FmsMachRecordListReqVo fmsMachRecordListReqVo);

    /**
     * 新增机具
     * 
     * @param fmsMach 机具
     * @return 结果
     */
    public int insertFmsMach(FmsMach fmsMach);

    /**
     * 修改机具
     * 
     * @param fmsMach 机具
     * @return 结果
     */
    public int updateFmsMach(FmsMach fmsMach);

    /**
     * 批量删除机具
     * 
     * @param machIds 需要删除的机具主键集合
     * @return 结果
     */
    public int deleteFmsMachByMachIds(String[] machIds);

    /**
     * 删除机具信息
     * 
     * @param machId 机具主键
     * @return 结果
     */
    public int deleteFmsMachByMachId(String machId);
}
