package com.oa.dao.impl; import java.util.ArrayList; import java.util.List; import javax.annotation.Resource; import org.springframework.stereotype.Component; import com.oa.dao.ApproveHistoryDao; import com.oa.extend.JbpmCore; import com.oa.model.ApproveHistory; import com.oa.model.Document; import com.oa.model.Users; @Component("approveHistoryDao") public class ApproveHistoryDaoImp implements ApproveHistoryDao { private SuperDao superDao; private JbpmCore jbpmCore; public void addApproveHistory(ApproveHistory approveInfo, int documentId, int approverId, boolean back) { Document document = (Document) superDao.select(Document.class, documentId); Users users = (Users) superDao.select(Users.class, approverId); approveInfo.setApprover(users); approveInfo.setDocument(document); superDao.add(approveInfo); if (back) { Object[] os = jbpmCore.backStep(document.getProcessInstanceId(), users.getAccount()); document.setStatus((String)os[0]); document.setProcessInstanceId((Long)os[1]); superDao.update(document); } } public List<ApproveHistory> searchPageApproveHistory(int index,String CompleteHql) { return objectToApproveHistory(superDao.getpage(index, CompleteHql)); } public List<ApproveHistory> searchAllApproveHistory(String CompleteHql){ return objectToApproveHistory(superDao.getAllObjects(CompleteHql)); } private List<ApproveHistory> objectToApproveHistory(List<Object> lists){ List<ApproveHistory> histories=new ArrayList<ApproveHistory>(); for(Object object : lists){ histories.add((ApproveHistory)object); } return histories; } public SuperDao getSuperDao() { return superDao; } @Resource public void setSuperDao(SuperDao superDao) { this.superDao = superDao; } public JbpmCore getJbpmCore() { return jbpmCore; } @Resource public void setJbpmCore(JbpmCore jbpmCore) { this.jbpmCore = jbpmCore; } }