package com.norteksoft.bs.rank.dao;
import java.util.List;
import org.apache.commons.lang.StringUtils;
import org.springframework.stereotype.Repository;
import com.norteksoft.product.orm.hibernate.HibernateDao;
import com.norteksoft.bs.rank.entity.Subordinate;
import com.norteksoft.bs.rank.enumeration.SubordinateType;
@Repository
public class RankUserDao extends HibernateDao<Subordinate, Long> {
public List<Subordinate> getDataDictRankUsersByRankId(Long dictRankId){
return findNoCompanyCondition("from Subordinate ddr where ddr.dataDictionaryRank.id=?",dictRankId);
}
public Subordinate getRankUserByInfo(Long rankId,SubordinateType type,String loginName,Long infoId){
String hql="";
Object[] values=new Object[3];
values[0]=rankId;
values[1]=type;
if(StringUtils.isNotEmpty(loginName)){
hql="from Subordinate ddr where ddr.dataDictionaryRank.id=? and ddr.subordinateType=? and ddr.loginName=?";
values[2]=loginName;
}else if(infoId!=null){
hql="from Subordinate ddr where ddr.dataDictionaryRank.id=? and ddr.subordinateType=? and ddr.targetId=?";
values[2]=infoId;
}
if(StringUtils.isNotEmpty(hql)){
List<Subordinate> rus=find(hql, values);
if(rus.size()>0)return rus.get(0);
}
return null;
}
}