报销实体类如下:
报销实体类
@Entity public class Reimbursement implements Serializable{ private static final long serialVersionUID = 9023752052746893559L; @Id private String id; @PropertyDef(label="报销名称") private String name; @PropertyDef(label="报销金额") private Integer money; @PropertyDef(label="备注") private String remark; @PropertyDef(label="申请时间") private Date createDate; @PropertyDef(label="报销人") private String username; @PropertyDef(label="报销流程实例ID") private Long processInstanceId; @PropertyDef(label="报销申请状态") private State state=State.temporary; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getMoney() { return money; } public void setMoney(Integer money) { this.money = money; } public String getRemark() { return remark; } public void setRemark(String remark) { this.remark = remark; } public Date getCreateDate() { return createDate; } public void setCreateDate(Date createDate) { this.createDate = createDate; } public Long getProcessInstanceId() { return processInstanceId; } public void setProcessInstanceId(Long processInstanceId) { this.processInstanceId = processInstanceId; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public State getState() { return state; } public void setState(State state) { this.state = state; } }
其中,报销流程实例ID是业务数据与流程实例之间纽带,在业务实体类中添加流程实例ID有助于开发人员更为方便高效的获取与业务数据关联的流程信息。如果不需要从业务数据视角来查看流程信息,可以不需要此属性。另一个比较重要的属性state,state是用来标识当前报销单的状态,state有四种状态:暂存、正在审批、不通过和通过。实际项目开发中,可能需要多个字段或者关联表的方式保存流程相关的信息。