package com.ruoyi.inventory.service;

import java.util.List;

import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.inventory.domain.Stocktakes;
import com.ruoyi.inventory.domain.TO.StocktakesTO;
import com.ruoyi.inventory.domain.TO.StocktakesVo;
import org.springframework.web.bind.annotation.GetMapping;

/**
 * 库存盘点Service接口
 *
 * @author ruoyi
 * @date 2025-12-02
 */
public interface IStocktakesService
{
    /**
     * 查询库存盘点
     *
     * @return 库存盘点
     */
    public Stocktakes selectStocktakesById(String id,String operationType);

    /**
     * 查询库存盘点列表
     *
     * @param stocktakes 库存盘点
     * @return 库存盘点集合
     */
    public List<Stocktakes> selectStocktakesList(Stocktakes stocktakes);

    /**
     * 新增库存盘点
     *
     * @param stocktakes 库存盘点
     * @return 结果
     */
    public int insertStocktakes(Stocktakes stocktakes);

    /**
     * 修改库存盘点
     *
     * @param stocktakes 库存盘点
     * @return 结果
     */
    public int updateStocktakes(StocktakesTO stocktakes);

    /**
     * 批量删除库存盘点
     *
     * @param ids 需要删除的库存盘点主键集合
     * @return 结果
     */
    public int deleteStocktakesByIds(String[] ids);

    /**
     * 删除库存盘点信息
     *
     * @param id 库存盘点主键
     * @return 结果
     */
    public int deleteStocktakesById(String id);

    /**
     * @description: 查询处理统计
     * @author cs
     * @date 2025/12/8
     * @version 1.0
     */
    public List<StocktakesVo> selectStocktakesListCount(StocktakesVo stocktakes);



    /**
     * @description: 查询处理统计-详情
     * @author cs
     * @date 2025/12/9
     * @version 1.0
     */
    public List<StocktakesVo> selectStocktakesCountInfo(StocktakesVo stocktakes);

    /**
     * @description: 首页-本月盘点次数
     * @author cs
     * @date 2025/12/10
     * @version 1.0
     */
    public int selectStocktakesCountByMonth();
}
