package com.yunfeiyun.agmp.fms.service;

import com.yunfeiyun.agmp.fms.domain.FmsTaskasset;
import com.yunfeiyun.agmp.fms.domain.reqvo.FmsTaskAssetUsageReqVo;
import com.yunfeiyun.agmp.fms.domain.reqvo.FmsTaskListReqVo;
import com.yunfeiyun.agmp.fms.domain.resvo.FmsTaskAssetUsageResVo;

import java.util.List;

/**
 * 农事任务农资Service接口
 *
 * @author 杨晓辉
 * @date 2023-05-25
 */
public interface IFmsTaskassetService
{
    /**
     * 查询农事任务农资
     *
     * @param taskassetId 农事任务农资主键
     * @return 农事任务农资
     */
    public FmsTaskasset selectFmsTaskassetByTaskassetId(String taskassetId);

    /**
     * 查询农事任务农资列表
     *
     * @param fmsTaskasset 农事任务农资
     * @return 农事任务农资集合
     */
    public List<FmsTaskasset> selectFmsTaskassetList(FmsTaskasset fmsTaskasset);
    
    /**
     * 查询农资使用记录
     *
     * @param fmsTaskAssetUsageReqVo 查询农资使用记录条件实体
     * @return 农资使用记录集合
     */
    public List<FmsTaskAssetUsageResVo> selectFmsTaskAssetUsageResVoList(FmsTaskAssetUsageReqVo fmsTaskAssetUsageReqVo);

    /**
     * 查询农资使用记录
     *
     * @param taskrcdId 记录标识
     * @return 农资使用记录集合
     */
    public List<FmsTaskAssetUsageResVo> selectFmsTaskAssetByRcdId(String taskrcdId);

    public List<FmsTaskAssetUsageResVo> selectFmsTaskAssetStat(FmsTaskListReqVo reqVo);

    /**
     * 新增农事任务农资
     *
     * @param fmsTaskasset 农事任务农资
     * @return 结果
     */
    public int insertFmsTaskasset(FmsTaskasset fmsTaskasset);

    /**
     * 修改农事任务农资
     *
     * @param fmsTaskasset 农事任务农资
     * @return 结果
     */
    public int updateFmsTaskasset(FmsTaskasset fmsTaskasset);

    /**
     * 批量删除农事任务农资
     *
     * @param taskassetIds 需要删除的农事任务农资主键集合
     * @return 结果
     */
    public int deleteFmsTaskassetByTaskassetIds(String[] taskassetIds);

    /**
     * 删除农事任务农资信息
     *
     * @param taskassetId 农事任务农资主键
     * @return 结果
     */
    public int deleteFmsTaskassetByTaskassetId(String taskassetId);
}
