package com.inkasso.factoring.settlement.service;

import com.inkasso.factoring.acceptanceManagement.entity.CAcceptanceGoodsInfo;
import com.inkasso.factoring.settlement.entity.BaseGoods;
import com.inkasso.factoring.settlement.entity.SettlementGoodsInfo;

import java.math.BigDecimal;
import java.util.List;

/**
 * @Description : 货物计算service类
 * @Author : L.Jia
 * @Date: 2022-03-10 16:14
 */
public interface GoodsCalculateService {

    /**
     * 计算货物销售总价、销售质保金、采购总价、采购质保金信息
     *
     * @param businessNumber           业务编号
     * @param supplierId               供应商Id
     * @param goodsInfoList            货物信息
     * @param occupationSalesRetention 已经占用的销售质保金
     * @param occupationPurchRetention 已经占用的采购质保金
     * @return
     */
    List<SettlementGoodsInfo> calculateGoodsAmount(String businessNumber, Long supplierId, List<CAcceptanceGoodsInfo> goodsInfoList,
                                                   BigDecimal occupationSalesRetention, BigDecimal occupationPurchRetention);

}
