package com.ruoyi.cs.service;

import java.util.List;

import com.ruoyi.cs.domain.CsResApplySoftwareInfo;
import com.ruoyi.cs.domain.CsResApplySoftwareItem;
import com.ruoyi.cs.domain.dto.CsResApplySoftwareItemAddDTO;
import com.ruoyi.cs.domain.vo.CsResApplySoftwareItemVO;

/**
 * 资源申请软件版本Service接口
 * 
 * @author ruoyi
 * @date 2024-04-29
 */
public interface ICsResApplySoftwareItemService 
{
    /**
     * 查询资源申请软件版本
     * 
     * @param itemId 资源申请软件版本主键
     * @return 资源申请软件版本
     */
    public CsResApplySoftwareItem selectCsResApplySoftwareItemByItemId(String itemId);

    /**
     * 查询资源申请软件版本列表
     * 
     * @param csResApplySoftwareItem 资源申请软件版本
     * @return 资源申请软件版本集合
     */
    public List<CsResApplySoftwareItem> selectCsResApplySoftwareItemList(CsResApplySoftwareItem csResApplySoftwareItem);

    /**
     * 新增资源申请软件版本
     * @param csResApplySoftwareItem 软件版本列表
     * @param softwareInfo 软件主信息
     * @return
     */
    public int batchInsertCsResApplySoftwareItem(List<CsResApplySoftwareItemAddDTO>  csResApplySoftwareItem, CsResApplySoftwareInfo softwareInfo);

    /**
     * 修改资源申请软件版本
     * 
     * @param csResApplySoftwareItem 资源申请软件版本
     * @return 结果
     */
    public int updateCsResApplySoftwareItem(CsResApplySoftwareItem csResApplySoftwareItem);

    /**
     * 批量删除资源申请软件版本
     * 
     * @param itemIds 需要删除的资源申请软件版本主键集合
     * @return 结果
     */
    public int deleteCsResApplySoftwareItemByItemIds(String[] itemIds);

    /**
     * 删除资源申请软件版本信息
     * 
     * @param itemId 资源申请软件版本主键
     * @return 结果
     */
    public int deleteCsResApplySoftwareItemByItemId(String itemId);

    /**
     * 软件详情列表
     * @param applySoftwareId 软件信息ID
     * @return
     */
    public List<CsResApplySoftwareItemVO> selectItemVoList(String applySoftwareId);

    /**
     * 删除申请单的 软件详情列表
     * @param applyId 申请单ID
     * @return
     */
    public int deleteItemListByApplyId(String applyId);
}
