package com.oa.dao.impl;
import java.io.Serializable;
import java.util.*;
import javax.annotation.Resource;
import org.springframework.stereotype.Component;
import com.oa.dao.PersonDao;
import com.oa.dao.SuperDaoInte;
import com.oa.model.*;
@Component("personDao")
public class PersonDaoImp implements PersonDao {
private SuperDaoInte superDao;
/*
* (non-Javadoc)
*
* @see com.oa.dao.impl.PersonDao#addPerson(com.oa.model.Person)
*/
/*
* (non-Javadoc)
*
* @see com.oa.dao.impl.PersonDao#addPerson(com.oa.model.Person)
*/
public Serializable addPerson(Person person) {
return superDao.add(person);
}
/*
* (non-Javadoc)
*
* @see com.oa.dao.impl.PersonDao#delete(com.oa.model.Person)
*/
/*
* (non-Javadoc)
*
* @see com.oa.dao.impl.PersonDao#delete(com.oa.model.Person)
*/
public void delete(Person person) {
superDao.delete(person);
}
/*
* (non-Javadoc)
*
* @see com.oa.dao.impl.PersonDao#update(com.oa.model.Person)
*/
/*
* (non-Javadoc)
*
* @see com.oa.dao.impl.PersonDao#update(com.oa.model.Person)
*/
public void update(Person person) {
superDao.update(person);
}
/*
* (non-Javadoc)
*
* @see com.oa.dao.impl.PersonDao#getPerson(java.io.Serializable)
*/
/*
* (non-Javadoc)
*
* @see com.oa.dao.impl.PersonDao#getPerson(java.lang.Class,
* java.io.Serializable)
*/
public Person getPerson(Class clazz, Serializable id) {
return (Person) superDao.select(clazz, id);
}
/*
* (non-Javadoc)
*
* @see com.oa.dao.impl.PersonDao#getAllPersons(java.lang.Class,
* java.lang.String)
*/
public List<Person> getAllPersons(Class clazz, String hql) {
return objectToList(superDao.getAllObjects(Person.class, hql));
}
private List<Person> objectToList(List<Object> list) {
List<Person> persons = new ArrayList<Person>();
for (Object o : list) {
persons.add((Person) o);
}
return persons;
}
/*
* (non-Javadoc)
*
* @see com.oa.dao.impl.PersonDao#getPagePerson(java.lang.Class,
* java.lang.String)
*/
public List<Person> getPagePerson(int index, Class clazz, String hql) {
return objectToList(superDao.getPage(index, clazz, hql));
}
public SuperDaoInte getSuperDao() {
return superDao;
}
@Resource
public void setSuperDao(SuperDaoInte superDao) {
this.superDao = superDao;
}
public void deletePersons(Class clazz, String[] ids, String hql) {
superDao.deleteList(clazz, ids, hql);
}
public List<Organization> getAllOrganizations(Class clazz,String hql){
return objectToListOrg(superDao.getAllObjects(clazz, hql));
}
public List<PersonType> getAllPersonTypes(Class clazz,String hql){
return objectToListPT(superDao.getAllObjects(clazz, hql));
}
public List<PersonPosition> getPersonPositions(Class clazz,String hql){
return objectToListPP(superDao.getAllObjects(clazz, hql));
}
private List<Organization> objectToListOrg(List<Object> list) {
List<Organization> listOrg = new ArrayList<Organization>();
for (Object o : list) {
listOrg.add((Organization) o);
}
return listOrg;
}
private List<PersonType> objectToListPT(List<Object> list) {
List<PersonType> listPT = new ArrayList<PersonType>();
for (Object o : list) {
listPT.add((PersonType) o);
}
return listPT;
}
private List<PersonPosition> objectToListPP(List<Object> list) {
List<PersonPosition> listPP = new ArrayList<PersonPosition>();
for (Object o : list) {
listPP.add((PersonPosition) o);
}
return listPP;
}
public Organization selectOrg(Class<Organization> clazz, String org) {
return (Organization) superDao.select(clazz, org);
}
public PersonPosition selectPP(Class<PersonPosition> clazz, String pp) {
return (PersonPosition) superDao.select(clazz, pp);
}
public PersonType selectPT(Class<PersonType> clazz, String pt) {
return (PersonType) superDao.select(clazz, pt);
}
public Object select(String sql, Object[] condition) {
return superDao.check(sql, condition);
}
public Users getUser(String sql, Object[] condition) {
return (Users)superDao.check(sql, condition);
}
public void delete(Users user) {
superDao.delete(user);
}
public List<PerformanceExamine> getPE(String str) {
return convertToPE(superDao.find(str));
}
public List<PerformanceExamine> convertToPE(List<Object> objects) {
List<PerformanceExamine> list = new ArrayList<PerformanceExamine>();
for(int i=0; i<objects.size(); i++) {
list.add((PerformanceExamine)objects.get(i));
}
return list;
}
public void deletePersons(Class<PerformanceExamine> clazz, Integer[] id,
String hql) {
superDao.deleteList(clazz, id, hql);
}
}