?? baoxiaobus.java
字號(hào):
package com.business;
import java.sql.Date;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import java.util.Vector;
import org.jbpm.JbpmConfiguration;
import org.jbpm.JbpmContext;
import org.jbpm.JbpmException;
import org.jbpm.graph.def.ProcessDefinition;
import org.jbpm.graph.exe.ProcessInstance;
import org.jbpm.msg.Message;
import org.jbpm.msg.db.TextMessage;
import org.jbpm.taskmgmt.exe.TaskInstance;
import org.jbpm.taskmgmt.exe.TaskMgmtInstance;
import org.springmodules.workflow.jbpm31.JbpmCallback;
import org.springmodules.workflow.jbpm31.JbpmTemplate;
import com.dao.DaoService;
import com.dao.TbUserDAO;
import com.po.TbApprove;
import com.po.TbBaoxiao;
import com.po.TbBaoxiaoItem;
import com.po.TbUser;
import com.struts.form.ApproveForm;
import com.struts.form.BaixiaoitemForm;
import com.struts.form.BaoxiaoForm;
import com.struts.form.MessageForm;
import com.struts.form.TaskForm;
import com.workflow.util.Constants;
public class BaoxiaoBus {
private DaoService daoService;
private JbpmConfiguration jbpmConfiguration;
public JbpmConfiguration getJbpmConfiguration() {
return jbpmConfiguration;
}
public void setJbpmConfiguration(JbpmConfiguration jbpmConfiguration) {
this.jbpmConfiguration = jbpmConfiguration;
}
public DaoService getDaoService() {
return daoService;
}
public void setDaoService(DaoService daoService) {
this.daoService = daoService;
}
public boolean save(Object obj)
{
BaoxiaoForm form=(BaoxiaoForm) obj;
TbBaoxiao po=new TbBaoxiao();
po.setBaoxiaoTitle(form.getBaoxiaotitle());
po.setBaoxiaoFlag(new Byte("0"));
po.setBaoxiaoMemo(form.getBaoxiaomemo());
po.setBaoxiaoDate(new Date(System.currentTimeMillis()));
String [] item=form.getItems();
String [] money=form.getMoney();
Set baoxiaoitme=new HashSet();
for (int i = 0; i < item.length; i++) {
TbBaoxiaoItem tbi=new TbBaoxiaoItem();
tbi.setItemMoney(money[i]);
tbi.setItemName(item[i]);
tbi.setTbBaoxiao(po);
baoxiaoitme.add(tbi);
}
po.setTbBaoxiaoItems(baoxiaoitme);
Integer id=Integer.parseInt(form.getUserid());
TbUserDAO userDAO=daoService.getUserDao();
TbUser tbuser=userDAO.findById(id);
po.setTbUser(tbuser);
boolean flag=daoService.getBaoxiaoDao().save(po);
JbpmContext jbpmContext=jbpmConfiguration.getCurrentJbpmContext();
if(jbpmContext==null)
{
jbpmContext=jbpmConfiguration.createJbpmContext();
}
ProcessDefinition pd=jbpmContext.getGraphSession().findLatestProcessDefinition("baoxiao");
ProcessInstance pi=pd.createProcessInstance();
pi.getContextInstance().setVariable(Constants.ISSUE_USER, form.getUserid());
TaskInstance ti=pi.getTaskMgmtInstance().createStartTaskInstance();
ti.setActorId(form.getUserid());
ti.setVariable("baoxiaoId", po.getBaoxiaoId().toString());
ti.end();
jbpmContext.close();
return flag;
}
public Vector findTaskListByUserId(String userid)
{
JbpmContext jbpmContext=jbpmConfiguration.getCurrentJbpmContext();
if(jbpmContext==null)
{
jbpmContext=jbpmConfiguration.createJbpmContext();
}
List temp=jbpmContext.getTaskMgmtSession().findTaskInstances(userid);
List gxlist=jbpmContext.getTaskMgmtSession().findPooledTaskInstances(userid);
temp.addAll(gxlist);
Vector userlist=new Vector();
for (Iterator iter = temp.iterator(); iter.hasNext();) {
TaskInstance el = (TaskInstance) iter.next();
TaskForm form=new TaskForm();
form.setActorId(el.getActorId());
form.setDescription(el.getDescription());
form.setTaskid(String.valueOf(el.getId()));
form.setTaskname(el.getName());
form.setDate(el.getCreate().toLocaleString());
form.setTokenid(String.valueOf(el.getToken().getId()));
userlist.add(form);
}
jbpmContext.close();
return userlist;
}
public Vector findUseTaskListByUserId(String userid)
{
JbpmContext jbpmContext=jbpmConfiguration.getCurrentJbpmContext();
if(jbpmContext==null)
{
jbpmContext=jbpmConfiguration.createJbpmContext();
}
List temp=daoService.getMyJbpmDao().findAllTaskInstanceByUserId(userid);
Vector userlist=new Vector();
for (Iterator iter = temp.iterator(); iter.hasNext();) {
TaskInstance el = (TaskInstance) iter.next();
TaskInstance tt=jbpmContext.getTaskMgmtSession().getTaskInstance(el.getId());
if(!tt.getToken().getProcessInstance().hasEnded()&&el.getName().equals("填寫報(bào)銷單"))
{
TaskForm form=new TaskForm();
form.setActorId(el.getActorId());
form.setDescription(el.getDescription());
form.setTaskid(String.valueOf(el.getId()));
String baoxiaoid=(String) tt.getVariable("baoxiaoId");
TbBaoxiao tb=daoService.getBaoxiaoDao().findById(Integer.parseInt(baoxiaoid));
form.setTaskname(tb.getBaoxiaoTitle());
form.setDate(el.getCreate().toLocaleString());
form.setTokenid(String.valueOf(tt.getToken().getId()));
userlist.add(form);
}
}
jbpmContext.close();
return userlist;
}
public Vector findUserMessageByUsername(String username)
{
JbpmContext jbpmContext=jbpmConfiguration.getCurrentJbpmContext();
if(jbpmContext==null)
{
jbpmContext=jbpmConfiguration.createJbpmContext();
}
Vector mess=new Vector();
List list=jbpmContext.getMessagingSession().findMessages(username);
for (Iterator iter = list.iterator(); iter.hasNext();) {
TextMessage el = (TextMessage) iter.next();
MessageForm form=new MessageForm();
form.setId(String.valueOf(el.getId()));
form.setContext(el.getText());
mess.add(form);
}
return mess;
}
public boolean pullTask(String taskid,String userid)
{
JbpmContext jbpmContext=jbpmConfiguration.getCurrentJbpmContext();
if(jbpmContext==null)
{
jbpmContext=jbpmConfiguration.createJbpmContext();
}
try {
TaskInstance ti=jbpmContext.getTaskInstance(Long.parseLong(taskid));
ti.setActorId(userid);
jbpmContext.close();
return true;
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return false;
}
public Object findBaoxiaoById(String tid)
{
JbpmContext jbpmContext=jbpmConfiguration.getCurrentJbpmContext();
if(jbpmContext==null)
{
jbpmContext=jbpmConfiguration.createJbpmContext();
}
TaskInstance ti=jbpmContext.getTaskInstance(Long.parseLong(tid));
String baoiaoid=(String) ti.getVariable("baoxiaoId");
TbBaoxiao bx=daoService.getBaoxiaoDao().findById(Integer.parseInt(baoiaoid));
BaoxiaoForm form=new BaoxiaoForm();
form.setBaoxiaodate(bx.getBaoxiaoDate().toString());
form.setBaoxiaoflag(bx.getBaoxiaoFlag().toString());
form.setBaoxiaoId(bx.getBaoxiaoId().toString());
form.setBaoxiaomemo(bx.getBaoxiaoMemo());
form.setBaoxiaotitle(bx.getBaoxiaoTitle());
form.setUserid(bx.getTbUser().getUserId().toString());
form.setUsername(bx.getTbUser().getUserName());
String [] items =new String[bx.getTbBaoxiaoItems().size()];
String []money=new String[bx.getTbBaoxiaoItems().size()];
int i=0;
int j=0;
Vector baoxiaovc=new Vector();
for (Iterator iter = bx.getTbBaoxiaoItems().iterator(); iter.hasNext();) {
TbBaoxiaoItem el = (TbBaoxiaoItem) iter.next();
BaixiaoitemForm biform=new BaixiaoitemForm();
biform.setItemiame(el.getItemName());
biform.setItemmoney(el.getItemMoney());
baoxiaovc.add(biform);
items[i++]=el.getItemName();
money[j++]=el.getItemMoney();
}
form.setItems(items);
form.setMoney(money);
form.setBaoxiaoitem(baoxiaovc);
jbpmContext.close();
return form;
}
public boolean audit(Object obj,String tid)
{
ApproveForm form=(ApproveForm) obj;
TbApprove approve=new TbApprove();
approve.setApproveDate(new Date(System.currentTimeMillis()));
approve.setApproveMemo(form.getMemo());
String result="";
if(form.getResult().equals("1"))
{
result="主管同意";
}
else if(form.getResult().equals("2"))
{
result="主管不同意";
}
else
{
result="要求修改";
}
System.out.println("============================"+result);
approve.setApproveResult(result);
TbBaoxiao baoxiao=daoService.getBaoxiaoDao().findById(Integer.parseInt(form.getBaoxiaoId()));
approve.setTbBaoxiao(baoxiao);
TbUser user=daoService.getUserDao().findById(Integer.parseInt(form.getUserid()));
approve.setTbUser(user);
daoService.getApproveDao().save(approve);
JbpmContext jbpmContext=jbpmConfiguration.getCurrentJbpmContext();
if(jbpmContext==null)
{
jbpmContext=jbpmConfiguration.createJbpmContext();
}
try {
TaskInstance ti=jbpmContext.getTaskMgmtSession().getTaskInstance(Long.parseLong(tid));
if(result=="主管同意"||result=="主管不同意")
{
ti.end("主管同意");
}
else
{
ti.end("要求修改");
}
return true;
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally{
jbpmContext.close();
}
return false;
}
public List findTaskInstance()
{
Object obj=new JbpmTemplate().execute(new JbpmCallback(){
public Object doInJbpm(JbpmContext jbpmContext) throws JbpmException {
return null;
}
});
return null;
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -