DOC
来源:互联网 发布:淘宝客佣金代扣款 编辑:程序博客网 时间:2024/04/29 23:09
package cn.cslg.shally.manager.impl;
import java.util.Date;
import java.util.List;
import java.util.Map;
import cn.cslg.shally.manager.DocumentManager;
import cn.cslg.shally.manager.JbpmFacede;
import cn.cslg.shally.model.ApptoveInfo;
import cn.cslg.shally.model.Document;
import cn.cslg.shally.model.User;
import cn.cslg.shally.model.WorkFlow;
import cn.cslg.shally.utils.AbstractPageModel;
import cn.cslg.shally.utils.PageModel;
import cn.cslg.shally.utils.SystemException;
public class DocumentManagerImpl extends AbstractPageModel implements DocumentManager {
private JbpmFacede jbpmFacede;
public JbpmFacede getJbpmFacede() {
return jbpmFacede;
}
public void setJbpmFacede(JbpmFacede jbpmFacede) {
this.jbpmFacede = jbpmFacede;
}
@Override
public void addApptoveInfo(ApptoveInfo approveInfo, int documentId,
int approverId, boolean back) {
Document doc = (Document)getHibernateTemplate().load(Document.class, documentId);
User user = (User)getHibernateTemplate().load(User.class, approverId);
approveInfo.setDoc(doc);
approveInfo.setApprover(user);
getHibernateTemplate().save(approveInfo);
//如果是驳回,则返回上一个节点
if(back){
Object[] os = jbpmFacede.backStep(doc.getProcessInstance(), user.getUsername());
doc.setStatus((String)os[0]);
doc.setProcessInstance((Long)os[1]);
getHibernateTemplate().update(doc);
}
}
@Override
public void addDocument(Document document, int workflowId, int userId,
Map props) throws SystemException {
document.setWorkFlow((WorkFlow)this.getHibernateTemplate().load(WorkFlow.class, workflowId));
document.setCreator((User)this.getHibernateTemplate().load(User.class, userId));
document.setCreateTime(new Date());
document.setStatus(Document.STATUS_NEW);
document.setPropertiesMap(props);
getHibernateTemplate().save(document);
//添加流程实例
long processInstanceId=jbpmFacede.addProcessInstance(document.getWorkFlow().getName(), document);
//绑定流程实例的标识到公文对象
document.setProcessInstance(processInstanceId);
this.getHibernateTemplate().update(document);
}
@Override
public void delDocument(int documentId) {
Document doc=(Document)this.getHibernateTemplate().load(Document.class, documentId);
//删除公文信息
this.getHibernateTemplate().delete(doc);
//删除流程实例
jbpmFacede.delProcessInstance(doc.getProcessInstance());
}
@Override
public Document findDocment(int documentId) {
return (Document)this.getHibernateTemplate().load(Document.class, documentId);
}
@Override
public List searchApprovingDocuments(int userId) {
User user=(User)this.getHibernateTemplate().load(User.class,userId);
List taskLists=jbpmFacede.searchMyTaskList(user.getUsername());
if(taskLists==null || taskLists.isEmpty()){
return null;
}
return this.getSession().createQuery("select d from Document d where d.id in (:ids)").setParameter("ids",taskLists).list();
}
@Override
public PageModel searchApptoDoc(int userId) throws SystemException {
return super.search("select d from Document d where d.creator.id = ?", new Object[]{userId});
}
@Override
public List searchDocApptoHistory(int documentId) {
return getHibernateTemplate().find("from ApptoveInfo ai where ai.doc.id = ?", documentId);
}
@Override
public PageModel searchDocuments(int userId) throws SystemException {
return super.search("select d from Document d where d.creator.id = ?", new Object[]{userId});
}
@Override
public List searchNextSteps(int documentId, int userId) {
Document doc=(Document) this.getHibernateTemplate().load(Document.class, documentId);
User user=(User)this.getHibernateTemplate().load(User.class, userId);
String userName=user.getUsername();
return jbpmFacede.searchNextTransitions(doc.getProcessInstance(), userName);
}
@Override
public void submitToWorkflow(int userId, int documentId,
String transistionName) {
User user=(User) getHibernateTemplate().load(User.class, userId);
Document doc=(Document)getHibernateTemplate().load(Document.class, documentId);
long processInstanceId=doc.getProcessInstance();
String status=jbpmFacede.nextStep(processInstanceId, user.getUsername(), transistionName);
doc.setStatus(status);
getHibernateTemplate().update(doc);
}
@Override
public void updateDocument(Document document, int workflowId, int userId) {
// TODO Auto-generated method stub
}
}
- doc
- doc
- DOC
- doc
- doc
- \doc\pt-doc.txt
- doc书籍
- Java Doc
- 计时器.doc
- 状态栏.doc
- Substring.doc
- IndexOf.doc
- Doc 命令
- 自我介绍.doc
- doc命令
- Doc 命令
- DOC常用命令
- Flex DOC
- org.springframework.jdbc.UncategorizedSQLException
- window系统dump文件的生成和调试方法
- 一周杂记
- PComm引起的内存占用过多
- Tran
- DOC
- Jbpm
- VS2005内存泄漏检测方法
- work
- C++读UNICODE文本
- DirectX全屏双显示器调试
- Unicode下wstring(wchar_t*)和string(char*)互相转换
- DirectX窗口模式一
- 人生不能停滞,有时需要换种方式扔掉过去,改变前进的轨迹 (图)