package com.hzs.scm.ic.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hzs.common.domain.scm.ic.IcAvailableNum;
import com.hzs.common.domain.scm.ic.ext.IcAvailableNumExt;
import com.hzs.common.domain.scm.ic.ext.IcOnHandNumExt;
import com.hzs.scm.ic.param.AvailableNum;

import java.util.List;

/**
 * 可用量 服务类
 */
public interface IIcAvailableNumService extends IService<IcAvailableNum> {

    /*
     *  可用量表是新增或修改 可用量表
     **/
    void mergeIcAvailableNumByIcOnHandNum(List<IcOnHandNumExt> onHandNumList, Long pkMember);

    /*
     *  插入新的可用量
     **/
    void insertIcAvailableNumByParam(AvailableNum availableNum, Long pkMember);

    /*
     *  出库扣减 可用量表
     **/
    void updateDeductIcAvailableNumByGeneralOut(IcAvailableNum availableNum, Long pkMember);

    /*
     *  根据查询条件查询可用量
     **/
    List<IcAvailableNumExt> queryAvailableNumByCondition(AvailableNum availableNum);

    /*
     *  查询可用量
     **/
    IcAvailableNum queryAvailableNumByCondition(Integer pkCountry, Integer pkProduct, List<Integer> speceIdList);
}
