转:传智播客—jbpm与OA项目(七) 续二

二、设计流程

         我们学习的内容以“请假流程”为例。

1. 设计流程

开始->提交申请->部门经理审批->结束:

clip_image005

开始

为其添加一个名称为“提交申请”的Task,设置它的AssignmentActor为“#{applicantActorId}”。

为其添加一个名称为“审批”的Task,设置它的Assignmenthandler为“cn.itcast.oa.process.leave.DeptManagerAssignmentHandler”。

结束

 

DeptManagerAssignmentHandler类的实现明天再列出,将上面设计的流程部署到OA项目中。然后编写测试类对流程进行测试。因为使用JBPM流程在前边已经讲过了,所以在些就不详细列出了。上面的流程执行过程为,开始:创建流程实例à办理任务:提交申请à办理任务:部门经理审批à结束。

 

三、表单实例

         我们已经将流程定义、表单定义搞定了和测试执行流程,接下来我们应该生成表单实例。将表单实例入到流程中进行流转处理。

 

         通过第一部分的全景图我们知道:FormDefinitionFormInstanceApproveInfoEmployee之间的关系。

         FormDefinition:表单定义,能过定义生成实例。

         FormInstance:表单实例,一个流程中只能有一个表单实例。

         ApproveInfo:审批信息,一个流程中可以具有多个审批。

         Employee:职员

 

FormInstance

public class FormInstance {

    // 表单状态常量

    public static final String STATUS_PROCESSING = "正在审批中";

    public static final String STATUS_APPROVED = "已通过审批";

    public static final String STATUS_NOT_APPROVED = "未通过审批";

   

    private Long id;

    private FormDefinition formDefinition;// 使用的表单定义

    private Map<String, Serializable> propertyMap = new HashMap<String, Serializable>();// 表单信息

 

    private Employee applicant; // 申请人

    private Date applyTime; // 申请时间

    private String title; // 标题

    private String status; // 状态

    private Set<ApproveInfo> approveInfos = new HashSet<ApproveInfo>();// 审批信息

    private Long processInstanceId; // 流程实例ID

//setters and getters…

}

 

ApproveInfo

public class ApproveInfo {

    private Long id;

    private Employee approver;//审批人

    private Date approveTime;//审批时间

    private FormInstance formInstance;//表单实例

    private boolean approval;//是否同意

    private String comment;//意见

    private Long taskInstanceId;//任务实例ID

//setters and getters…

}

 

         现在看一看什么才是最重要的?就是这些实体,实体体现了业务逻辑。把业务逻辑搞明白了,实体设计出来了。实现上没有什么太难的。

 

         明日将学习具体生成表单实例并应用到流程中,生成审批信息等。我们也可以查看自己的申请和待我申请等与审批模块相关的操作信息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值