
package com.tmerclub.cloud.product.service;

import com.tmerclub.cloud.common.database.dto.PageDTO;
import com.tmerclub.cloud.common.database.vo.PageVO;
import com.tmerclub.cloud.product.dto.StockChangeReasonDTO;
import com.tmerclub.cloud.product.model.StockChangeReasonLang;

/**
 * 出入库原因-国际化
 *
 * @author lhd
 * @date 2022-06-22 16:57:27
 */
public interface StockChangeReasonLangService {

    /**
     * 分页获取出入库原因-国际化列表
     * @param pageDTO 分页参数
     * @return 出入库原因-国际化列表分页数据
     */
    PageVO<StockChangeReasonLang> page(PageDTO pageDTO);

    /**
     * 根据出入库原因-国际化id获取出入库原因-国际化
     *
     * @param stockChangeReasonId 出入库原因-国际化id
     * @return 出入库原因-国际化
     */
    StockChangeReasonLang getByStockChangeReasonId(Long stockChangeReasonId);

    /**
     * 保存出入库原因-国际化
     * @param stockChangeReasonLang 出入库原因-国际化
     */
    void save(StockChangeReasonLang stockChangeReasonLang);

    /**
     * 更新出入库原因-国际化
     * @param stockChangeReasonLang 出入库原因-国际化
     */
    void update(StockChangeReasonLang stockChangeReasonLang);

    /**
     * 根据出入库原因-国际化id删除出入库原因-国际化
     * @param stockChangeReasonId 出入库原因-国际化id
     */
    void deleteById(Long stockChangeReasonId);

    /**
     * 获取出入库原因相同的个数
     * @param stockChangeReasonDTO
     * @return
     */
    Integer countReason(StockChangeReasonDTO stockChangeReasonDTO);
}
