approval_flow_node.go 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package approval_flow_node
  2. import (
  3. "rdluck_tools/orm"
  4. "time"
  5. )
  6. //审批流程节点路线表
  7. type ApprovalFlowNode struct {
  8. NodeId int `orm:"column(node_id);pk";json:"node_id"` // 流程节点id
  9. FlowId int `orm:"column(flow_id);";json:"flow_id"` // 流程id
  10. NodeName string `orm:"column(node_name);" json:"node_name"` // 流程节点名称
  11. PrevNodeId int `orm:"column(prev_node_id);" json:"prev_node_id"` //上级节点id,为0代表是开始节点
  12. NextNodeId int `orm:"column(next_node_id);" json:"next_node_id"` //下级节点id,为0代表是结束节点
  13. NodeType string `orm:"column(node_type);" json:"node_type"` //节点类型,审批人:check;抄送人:cc(Carbon Copy),默认是:check
  14. AuditType int `orm:"column(audit_type);" json:"audit_type"` //多人审批时,1:或签(一名审批人同意即可),2:会签(需所有审批人同意)
  15. UserType string `orm:"column(user_type);" json:"user_type"` //用户类型,枚举值,user:指定人,manager:主管,role:角色
  16. User string `orm:"column(user);" json:"user"` //所属用户,多个用英文,隔开;用户类型为user代表指定人id,manager代表几级主管,role代表角色类型
  17. Version int `orm:"column(version);" json:"version"` // 所属流程版本
  18. CreateTime time.Time `orm:"column(create_time);" json:"create_time"` // 创建时间
  19. }
  20. //审批列表数据
  21. type ApprovalFlowNodeList struct {
  22. NodeId int `description:"流程节点id"` // 流程节点id
  23. FlowId int `description:"流程id"` // 流程id
  24. NodeName string `description:"流程节点名称"` // 流程节点名称
  25. PrevNodeId int `description:"上级节点id,为0代表是开始节点"` //上级节点id,为0代表是开始节点
  26. NextNodeId int `description:"下级节点id,为0代表是结束节点"` //下级节点id,为0代表是结束节点
  27. NodeType string `description:"节点类型,审批人:check;抄送人:cc(Carbon Copy),默认是:check"` //节点类型,审批人:check;抄送人:cc(Carbon Copy),默认是:check
  28. AuditType int `description:"多人审批时,1:或签(一名审批人同意即可),2:会签(需所有审批人同意)"` //多人审批时,1:或签(一名审批人同意即可),2:会签(需所有审批人同意)
  29. UserType string `description:"用户类型,枚举值,user:指定人,manager:主管,role:角色"` //用户类型,枚举值,user:指定人,manager:主管,role:角色
  30. User string `json:"-"` //所属用户,多个用英文,隔开;用户类型为user代表指定人id,manager代表几级主管,role代表角色类型
  31. Version int `description:"所属流程版本"` // 所属流程版本
  32. CreateTime time.Time `description:"创建时间"` // 创建时间
  33. UserList []User `description:"审批人、抄送人列表信息"` // 审批人、抄送人列表信息
  34. }
  35. //审批人、抄送人信息
  36. type User struct {
  37. AdminId int `description:"人员id(审批人、抄送人)"`
  38. Name string `description:"人员名称(审批人、抄送人)"`
  39. }
  40. //根据流程id获取整个审批流程节点路线
  41. func GetListByFlowId(flowId, version int) (items []*ApprovalFlowNodeList, err error) {
  42. sql := `SELECT * FROM approval_flow_node WHERE flow_id=? AND version=? order by node_id asc `
  43. o := orm.NewOrm()
  44. _, err = o.Raw(sql, flowId, version).QueryRows(&items)
  45. return
  46. }