package com.uas.platform.b2b.erp.service;

import com.uas.platform.b2b.erp.model.MakeProdInOut;
import com.uas.platform.b2b.model.MakeAccept;
import com.uas.platform.b2b.model.MakeAcceptItem;
import com.uas.platform.b2b.model.MakeReturn;
import com.uas.platform.b2b.model.MakeReturnItem;

import java.util.List;

public interface MakeProdInOutService {
	
	/**
	 * 将ERP委外验收单，转为平台的客户委外验收单
	 * @param prodInOuts
	 * @return
	 */
	List<MakeAcceptItem> convertProdInOuts(List<MakeProdInOut> prodInOuts);
	/**
	 * 将ERP委外验收的反过账，将平台验收单删除
	 * @param prodInOuts
	 * @return
	 */
	List<MakeAccept> convertNonPostingProdInOuts(List<MakeProdInOut> prodInOuts);
	
	/**
	 * 将ERP系统的委外验退单，转为平台的客户委外验退单
	 * 
	 * @param changes
	 * @return
	 */
	List<MakeReturnItem> convertReturns(List<MakeProdInOut> prodInOuts);
	
	/**
	 * 将ERP委外验退的反过账单，转为反过账的客户委外验退单
	 * 
	 * @param changes
	 * @return
	 */
	List<MakeReturn> convertNonPostingReturns(List<MakeProdInOut> prodInOuts);

	/**
	 * 获取委外验收单对应的B2Bid
	 *
	 * @param prodInOuts erp委外验收单
	 * @return
	 */
    List<MakeProdInOut> getMakeAcceptB2bId(List<MakeProdInOut> prodInOuts);

    /**
     * 获取委外验退单对应的B2Bid
     *
     * @param prodInOuts erp委外验退单
     * @return
     */
    List<MakeProdInOut> getMakeReturnB2bId(List<MakeProdInOut> prodInOuts);
}
