工作流设计---3

调用流程
1 临时保存
    ISystemService service = (ISystemService) BeanFactory.findBean(
                "system", "systemService");
        //模拟登录
        User u = service.loadUser("zhangsan");
        SessionModel session = new SessionModel();
        session.setSessionId("123");
        session.setValue(u);
        ApplicationContext.set(session);


        //业务类赋值
        TestBean bean = new TestBean();
        bean.setBeginDate(Calendar.getInstance());
        bean.setMaker(u.getRelaPerson().getId());
        IFlowService flowService = (IFlowService) BeanFactory.findBean(
                "workflow", "flowService");
        //调用临时保存的业务方法
        flowService.saveTestBean(bean);
保存方法的实现
public void saveTestBean(TestBean bean) {
        IFlowDAO dao = (IFlowDAO) BeanFactory.findBean("workflow", "flowDAO");
        FlowDefine fd=(FlowDefine)this.loadFlowDefineByTypeName("1000").clone();//获得某个类型下的流程定义
        FlowInstance fi=fd.newInstance();//实例化流程
       
        dao.saveTestBean(bean);//保存业务数据,生成业务id
        fi.loadStartAction().setModelInstance(bean);//向初始点设置业务对象
       
        this.saveFlowInstance(fi);//保存流程实例,生成流程实例id
        bean.setFlowInstanceId(fi.getId());//建立业务与流程实例之间的关系
        dao.saveTestBean(bean);//更新业务数据
        fi.start();//流程启动
        this.saveFlowInstance(fi);//更新流程实例
    }
2 提交
ISystemService service = (ISystemService) BeanFactory.findBean(
                "system", "systemService");
        User u = service.loadUser("zhangsan");
        SessionModel session = new SessionModel();
        session.setSessionId("123");
        session.setValue(u);
        ApplicationContext.set(session);
        ActionInstance ai = (ActionInstance) flowInstance.loadCurrentActions()
                .get(0);
        //设置活动的实际操作者
        ai.setRunner(u);
        //设置意见
        ai.setAgree(true);
        //活动流转
        ai.play();
        //持久化
        flowService.saveFlowInstance(flowInstance);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值