approval_flow.go 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. package system
  2. import (
  3. "github.com/beego/beego/v2/client/orm"
  4. "time"
  5. )
  6. type EditFlowReq struct {
  7. FlowId int `description:"审批配置id"`
  8. NodeList []AddNodeListReq `description:"流程节点"`
  9. }
  10. //节点列表
  11. type AddNodeListReq struct {
  12. NodeType string `description:"节点类型,审批人:check;抄送人:cc(Carbon Copy),默认是:check"`
  13. User []NodeUser `description:"节点中的用户列表"`
  14. }
  15. //节点用户列表
  16. type NodeUser struct {
  17. UserType string `json:"user_type";description:"用户类型,枚举值,user:指定人,manager:主管,role:角色"`
  18. User string `json:"user";description:"所属用户,多个用英文,隔开;用户类型为user代表指定人id,manager代表几级主管,role代表角色id"`
  19. }
  20. //获取用户/角色列表返回数据
  21. type FlowUserResp struct {
  22. AdminList []*AdminItem `description:"用户列表"`
  23. RoleList []*SysRoleItem `description:"角色列表"`
  24. }
  25. //审批流程主体信息表
  26. type ApprovalFlow struct {
  27. FlowId int `orm:"column(flow_id);pk";json:"flow_id"` // 流程id
  28. FlowName string `orm:"column(flow_name);" json:"flow_name"` // 流程名称
  29. ProductId int `orm:"column(product_id);" json:"product_id"` //所属类型,0代表通用,1:ficc部门,2:权益部门
  30. CurrVersion int `orm:"column(curr_version);" json:"curr_version"` // 当前流程版本
  31. ModifyTime time.Time `orm:"column(modify_time);" json:"modify_time"` // 最近一次修改时间
  32. CreateTime time.Time `orm:"column(create_time);" json:"create_time"` // 创建时间
  33. }
  34. type ApprovalFlowItem struct {
  35. FlowId int `description:"流程id"` // 流程id
  36. FlowName string `description:"流程名称"` // 流程名称
  37. ProductId int `description:"所属类型,0代表通用,1:ficc部门,2:权益部门"` //所属类型,0代表通用,1:ficc部门,2:权益部门
  38. CurrVersion int `description:"当前流程版本"` // 当前流程版本
  39. ModifyTime time.Time `description:"最近一次修改时间"` // 最近一次修改时间
  40. CreateTime time.Time `description:"创建时间"` // 创建时间
  41. NodeList []*ApprovalFlowNodeList `description:"节点流程列表"` //节点流程列表
  42. }
  43. //根据流程id获取审批流程主体信息
  44. func GetByFlowItemId(flowId int) (item *ApprovalFlowItem, err error) {
  45. sql := `SELECT * FROM approval_flow WHERE flow_id=? LIMIT 1 `
  46. o := orm.NewOrm()
  47. err = o.Raw(sql, flowId).QueryRow(&item)
  48. return
  49. }