package abacus.springboot.example.pi;

import java.util.List;
import java.util.Map;

import com.abacus.pms.dao.Account;
import com.abacus.pms.dao.Brand;
import com.abacus.pms.dao.MoreCategory;
import com.abacus.pms.dao.Product;
import com.abacus.pms.dao.Spec;
import com.abacus.xpos.foundation.dao.Dept;
import com.abacus.xpos.foundation.dao.Employee;

import abacus.config.dao.AbacusConfigItem;
import abacus.springboot.example.dao.JcBill;

/**
 * <p>Title:ApiJcBillAccess</p>
   <p>Description: 底层实现-interface</p>
   @author chuanZeng 
   @date 2026年8月18日
 */
public interface AutoCompleteAccessIF {

	/**
	 * 	检索：商品
	 * @param keyCode
	 * @return
	 * @throws Exception
	 */
	public List<Product> prductAutoComplete(String keyCode, List<String> areaIds) throws Exception;
	
	/**
	 * 	检索：门店
	 * @param keycode
	 * @param type
	 * @return
	 * @throws Exception
	 */
	public List<Dept> deptAutoComplete(String keyCode, String type) throws Exception;
	
	/**
	 * 	检索：分类
	 * @param keycode
	 * @param type
	 * @return
	 * @throws Exception
	 */
	public List<MoreCategory> moreCategoryAutoComplete(String keyCode, String areaid, String levels, String lastlevel) throws Exception;
	
	/**
	 * 检索：品牌
	 * @return
	 * @throws Exception
	 */
	public List<Brand> brandAutoComplete(String keyCode, String areaid, String levels, String lastlevel) throws Exception;
	
	/**
	 * 检索：商品标签
	 * @param keyCode
	 * @param areaid
	 * @param lastlevel
	 * @return
	 * @throws Exception
	 */
	public List<Spec> specAutoComplete(String keyCode, String areaid) throws Exception;
	
	/**
	 * 检索：客户
	 * @param keyCode
	 * @param areaid
	 * @return
	 * @throws Exception
	 */
	public List<Account> accountAutoComplete(String keyCode, String areaid) throws Exception;
	
	/**
	 * 	检索：员工
	 * @param keyCode
	 * @param areaid
	 * @return
	 * @throws Exception
	 */
	public List<Employee> employeeAutoComplete(String keyCode) throws Exception;
	
	
	/**
	 * 	检索：稽查单号
	 * @param keyCode
	 * @param areaid
	 * @return
	 * @throws Exception
	 */
	public List<JcBill> jcBillAutoComplete(String keyCode) throws Exception;
	
	/**
	 * 	检索：收货仓库
	 * @param keyCode
	 * @return
	 * @throws Exception
	 */
	public List<AbacusConfigItem> abacusConfigItemGroupAutoComplete(String keyCode, String keyGroup, String key) throws Exception;

	/** 查询区域 */
	public Map<String,Map<String,String>> getGovbs() throws Exception;
}















