package nc.itf.hr.wa;

import java.util.List;

import nc.vo.pub.BusinessException;
import nc.vo.wa.classitem.WaClassItemVO;
import nc.vo.wa.item.WaItemVO;
import nc.vo.wa.paydata.WaPaydataDspVO;
import nc.vo.wa.pub.WaLoginContext;
import nc.wa.smartmodel.provider.util.WaGlobalVO;
/**
 * 薪资项目 查询 服务接口
 * 
 * @author suihang
 * @version 最后修改日期 2011-1-4
 * @see  
 * @since  
 */
public interface IClassitemQry {
	/**
	 * 根据单条薪资类别年度查询薪资项目(无权限)
	 * @param waGlobalVO 薪资类别参数
	 * @return ItemVO[] 薪资项目
	 * @throws BusinessException
	 */
	public abstract WaItemVO[] queryItemInfoWithClass(WaGlobalVO waGlobalVO,int type) throws BusinessException;

	/**
	 * 根据单条薪资类别参数查询薪资项目
	 * @param waGlobalVO 薪资类别参数
	 * @return ItemVO[] 薪资项目
	 * @throws BusinessException
	 */
	public abstract WaItemVO[] queryItemInfoWithPower(WaGlobalVO waGlobalVO,int type) throws BusinessException;

	/**
	 * 根据多条薪资类别参数查询薪资项目
	 * @param waGlobalVO 薪资类别参数
	 * @return ItemVO[] 薪资项目
	 * @throws BusinessException
	 */
	public abstract WaItemVO[] queryItemInfoWithPowerForMutiClasses(WaGlobalVO[] waGlobalVOs,int type) throws BusinessException;
	
	
	public abstract WaItemVO[] queryItemInfoWithCondition(WaGlobalVO waGlobalVO,String condition)
			throws BusinessException;

	/**
	 * 根据方案主键查询薪资发放设置为通用项目的数据
	 * @param pk_wa_class
	 * @return
	 * @throws BusinessException
	 */
	public abstract List<WaPaydataDspVO> queryWaPaydataDspVOByPkWaClass(String pk_wa_class) throws BusinessException;
	
	/**
	 * 查询用户设置显示的项目
	 * 
	 * wa_classitemdsp 该表已经不用了
	 *
	 * @author liangxr on 2010-7-2
	 * @param loginVO
	 * @return
	 * @throws BusinessException
	 */
	public WaClassItemVO[] getUserShowClassItemVOs(WaLoginContext loginVO) throws BusinessException;
}

