package abacus.springboot.example.pi;
import java.util.List;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import abacus.springboot.example.api.view.ApiBillHg;
import abacus.springboot.example.api.view.ApiBillHgItem;
import abacus.springboot.example.api.view.ApiBillHgPayment;
import abacus.springboot.example.api.view.ApiJcBill;
import abacus.springboot.example.api.view.ApiJcBillHgSearchItem;
import abacus.springboot.example.api.view.ApiJcBillItem;
import abacus.springboot.example.api.view.ApiJcBillSearch;
import abacus.springboot.example.api.view.JcBillCount;
import abacus.springboot.example.api.view.JcCodeFlow;
import abacus.springboot.example.api.view.JcProduct;
import abacus.springboot.example.api.view.JcProductBillSouce;
import abacus.springboot.example.dao.JcBillHg;
/**
*
Title:ApiJcBillAccess
Description: 底层实现-interface
@author chuanZeng
@date 2026年8月18日
*/
public interface ApiJcBillAccessIF {
/**
* 稽查收货查询
* @param keyword
* @param status
* @param pageable
* @return
* @throws RuntimeException
*/
public Page queryApiJcBillSearch(String keyword, String employee, String status, Pageable pageable) throws RuntimeException;
/**
* 稽查收货主单查询
* @param id
* @return
* @throws RuntimeException
*/
public ApiJcBill queryApiJcBillById(String id) throws RuntimeException;
/**
* 稽查收货明细
* @param billId
* @return
* @throws RuntimeException
*/
public List queryApiJcBillItemByBIllId(String billId) throws RuntimeException;
/**
* 回购列表查询
* @param keyword
* @param status
* @param pageable
* @return
* @throws RuntimeException
*/
public Page queryApiJcBillHgSearchItem(String keyword, String employee, String status, Pageable pageable) throws RuntimeException;
/**
* 回购;查询品种和件数汇总
* @param ids
* @return
* @throws RuntimeException
*/
public List queryJcBillCount(List ids) throws RuntimeException;
/**
* 回购:主单查询
* @param id
* @return
* @throws RuntimeException
*/
public ApiBillHg queryApiBillHgById(String hgId) throws RuntimeException;
/**
* 回购:明细查询
* @param billId
* @return
* @throws RuntimeException
*/
public List queryApiBillHgItemByHgId(String hgId) throws RuntimeException;
/**
* 回购:支付明细查询
* @param billId
* @return
* @throws RuntimeException
*/
public List queryApiBillHgPaymentByHgId(String hgId) throws RuntimeException;
public List queryApiBillHgPaymentByHgId(List hgIds) throws RuntimeException;
/**
* 根据物流码,查询出库相关信息
* @param code
* @return
* @throws RuntimeException
*/
public List queryJcCodeFlow(List codes) throws RuntimeException;
/**
* 稽查货品查询-单号查询
* @param product
* @param stockInId
* @param hgId
* @return
* @throws RuntimeException
*/
public List queryJcProduct(String product, String stockInId, String hgId) throws RuntimeException;
/**
* 稽查货品查询-单号查询
* @param product
* @param stockInId
* @param hgId
* @return
* @throws RuntimeException
*/
public List queryJcProduct(String product, String stockInId) throws RuntimeException;
/**
* 根据稽查单号,查询对应的货品编号
* @param billIds
* @return
* @throws RuntimeException
*/
public List queryJcProductBillSouce(List billIds)throws RuntimeException;
public List qeryJcBillHgs(List billids) throws RuntimeException;
}