报销实体类如下:
报销实体类
@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有四种状态:暂存、正在审批、不通过和通过。实际项目开发中,可能需要多个字段或者关联表的方式保存流程相关的信息。