package edu.sjtu.infosec.ismp.manager.RAM.dao.impl;
import java.util.List;
import java.util.Map;
import org.hibernate.Criteria;
import org.hibernate.criterion.Expression;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Projections;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import edu.sjtu.infosec.ismp.manager.RAM.dao.DicCpKindDao;
import edu.sjtu.infosec.ismp.manager.RAM.model.AsseKnowDicCpKind;
import edu.sjtu.infosec.ismp.manager.comm.model.page.Page;
/**
* 数据层 测评类型数据字典Dao实现类.
*
*/
public class DicCpKindDaoImpl extends HibernateDaoSupport implements DicCpKindDao{
/**
* 查询测评类型
*
* @param cpKindId
* 测评类型编号
* @return 测评类型对象
*/
public AsseKnowDicCpKind find(String cpKindId) {
return (AsseKnowDicCpKind) getHibernateTemplate()
.find("from AsseKnowDicCpKind dicCpKind where dicCpKind.cpKindId = ?", cpKindId);
}
/**
* 查询测评类型记录数
*
* @param paramMap
* 查询条件
* @return 测评类型记录数
*/
public int getCount(Map paramMap) {
Criteria criteria = getSession().createCriteria(AsseKnowDicCpKind.class);
criteria.setProjection(Projections.rowCount())
.setMaxResults(1)
.uniqueResult();
if(paramMap!=null) {
if(paramMap.get("cpKindName")!=null) {
criteria.add(Expression.like("cpKindName", "%"+((String) paramMap.get("cpKindName")).trim()+"%"));
}
}
return ((Integer) criteria.list().get(0)).intValue();
}
/**
* 查询测评类型
* @param paramMap
* 查询条件
* @return 测评类型列表
*/
public List listDicCpKind(Map paramMap) {
List list = null;
Criteria criteria = getSession().createCriteria(AsseKnowDicCpKind.class)
.addOrder(Order.asc("id"));
if(paramMap!=null) {
if(paramMap.get("cpKindName")!=null) {
criteria.add(Expression.like("cpKindName", "%"+((String) paramMap.get("cpKindName")).trim()+"%"));
}
}
return criteria.list();
}
/**
* 查询测评类型分页记录
*
* @param page
* 分页对象
* @param paramMap
* 查询条件
* @return 分页记录列表
*/
public List listDicCpKindPage(Page page, Map paramMap) {
List list = null;
Criteria criteria = getSession().createCriteria(AsseKnowDicCpKind.class)
.addOrder(Order.asc("id"))
.setFirstResult(page.getBeginIndex())
.setMaxResults(page.getEveryPage());
if(paramMap!=null) {
if(paramMap.get("cpKindName")!=null) {
criteria.add(Expression.like("cpKindName", "%"+((String) paramMap.get("cpKindName")).trim()+"%"));
}
}
return criteria.list();
}
/**
* 删除测评类型
*
* @param dicCpKind
* 测评类型
*/
public void remove(AsseKnowDicCpKind dicCpKind) {
getHibernateTemplate().delete(dicCpKind);
}
/**
* 保存/更新测评类型
*
* @param dicCpKind
* 测评状态
*/
public void saveOrUpdate(AsseKnowDicCpKind dicCpKind) {
getHibernateTemplate().saveOrUpdate(dicCpKind);
}
}