package com.hzs.scm.store.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hzs.common.domain.scm.sale.ext.IcSaleoutHExt;
import com.hzs.common.domain.scm.store.IcStoreHandNum;
import com.hzs.common.domain.scm.store.IcStoreOutH;
import com.hzs.common.domain.scm.store.ext.IcStoreHandNumExt;
import com.hzs.common.domain.scm.store.ext.IcStoreOutHExt;
import com.hzs.scm.store.param.StoreHandNumParam;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 店铺现存量 服务类
 * </p>
 *
 * @author hzs
 * @since 2024-05-16
 */
public interface IIcStoreHandNumService extends IService<IcStoreHandNum> {

    /*
     * @description: 查询店铺现存量
     * @author: sui q
     * @date: 2023/11/22 15:04
     * @param: null null
     **/
    List<IcStoreHandNumExt> queryIcStoreHandNumByCondition(StoreHandNumParam storeHandNumParam);

    /*
     * @description: 店铺接受货物，更新现存量
     * @author: sui q
     * @date: 2023/11/21 16:19
     * @param: null null
     **/
    void mergeIcStoreHandNumByStoreOut(List<IcStoreOutHExt> icSaleOutExtList, Integer orderType, Long pkMember);

    /*
     * @description: 店铺发货，扣减库存
     * @author: sui q
     * @date: 2024/5/16 15:32
     * @param: null null
     **/
    Boolean deductIcStoreHandNumByStoreOut(IcStoreOutHExt storeOutExt, Integer orderType, Long pkMember);
}
