workflow.go 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. package response
  2. type MsgResponse struct {
  3. Success bool `json:"success"`
  4. ErrCode int `json:"errCode"`
  5. Msg string `json:"msg"`
  6. }
  7. type InfosData[T any] struct {
  8. Infos []T `json:"infos"`
  9. TotalCount int64 `json:"totalCount"`
  10. PageNo int `json:"pageNo"`
  11. }
  12. type InfoResponse[T any] struct {
  13. MsgResponse
  14. Info T `json:"info"`
  15. }
  16. type InfosResponse[T any] struct {
  17. MsgResponse
  18. InfosData[T]
  19. }
  20. type BusinessCatalogsInfoWithWorkflowTemplate struct {
  21. ID string `json:"id"`
  22. Name string `json:"name"`
  23. Code string `json:"code"`
  24. Sort int `json:"sort"`
  25. TenantID string `json:"tenantId" `
  26. CreateUserID string `json:"createUserId"`
  27. LastUpdateUserID string `json:"lastUpdateUserId"`
  28. CreatedTime string `json:"createdTime"`
  29. LastUpdatedTime string `json:"lastUpdatedTime"`
  30. WorkTemplateId string `json:"workTemplateId"`
  31. }
  32. type PrepareInfo struct {
  33. //Flag int `json:"flag"` // 1-选择部门 2-选择审批人
  34. //WorkflowFieldLabel string `json:"workflowFieldLabel"`
  35. //ChooseData []CustomStructureInfo `json:"chooseData"`
  36. //WorkflowFieldName string `json:"workflowFieldName"`
  37. ID string `json:"id"`
  38. Label string `json:"label"`
  39. Placeholder string `json:"placeholder"`
  40. Value string `json:"value"`
  41. Name string `json:"name"`
  42. Type string `json:"type"`
  43. Rules []Rule `json:"rules"`
  44. Options []Option `json:"options"`
  45. Props Props `json:"props"`
  46. }
  47. type Option struct {
  48. Label string `json:"label"`
  49. Value string `json:"value"`
  50. }
  51. type Props struct {
  52. Multiple bool `json:"multiple"`
  53. Filterable bool `json:"filterable"`
  54. Context string `json:"context"`
  55. }
  56. type Rule struct {
  57. Required bool `json:"required"`
  58. Message string `json:"message"`
  59. Trigger []string `json:"trigger"`
  60. }
  61. type CustomStructureInfo struct {
  62. ID string `json:"id"`
  63. Name string `json:"name"`
  64. Visible int `json:"visible"`
  65. Sort int `json:"sort"`
  66. ParentID string `json:"parentId"`
  67. Paths string `json:"paths" `
  68. LeaderUserID string `json:"leaderUserId" `
  69. LeaderUserName string `json:"leaderUserName"`
  70. TenantID string `json:"tenantId"`
  71. CreateUserID string `json:"createUserId"`
  72. LastUpdateUserID string `json:"lastUpdateUserId"`
  73. CreatedTime string `json:"createdTime"`
  74. LastUpdatedTime string `json:"lastUpdatedTime"`
  75. }
  76. type WorkflowInfo struct {
  77. ID string `json:"id" sqlresult:"column:business_id"`
  78. WorkflowTemplateName string `json:"workflowTemplateName" sqlresult:"column:workflow_template_name;"`
  79. ArgoName string `json:"argoName" sqlresult:"column:argo_name;"`
  80. WorkflowTemplateID string `json:"workflowTemplateId" sqlresult:"column:workflow_template_id;" `
  81. IconPath string `json:"-" sqlresult:"column:icon_path;"`
  82. IconURL string `json:"iconURL"`
  83. Matter string `json:"matter" sqlresult:"column:matter;" `
  84. LaunchUserID string `json:"launchUserId" sqlresult:"column:launch_user_id;"`
  85. LaunchUserName string `json:"launchUserName" sqlresult:"column:launch_user_name;" `
  86. Status int `json:"status" sqlresult:"column:status;"`
  87. CurWorkflowNodeID string `json:"cur_workflow_node_id" sqlresult:"column:cur_workflow_node_id;"`
  88. ApprovalNodes []WorkflowInfoNodeInfo `json:"approvalNodes"`
  89. CreatedTime string `json:"createdTime" sqlresult:"column:created_time;timeLayout:'2006-01-02 15:04:05'"`
  90. }
  91. type WorkflowInfoNodeInfo struct {
  92. ID string `json:"id" sqlresult:"column:id"`
  93. FrontNodeID string `json:"frontNodeId" sqlresult:"column:front_node_id;"`
  94. WorkflowID string `json:"workflowId" sqlresult:"-"`
  95. ParentID string `json:"parentId" sqlresult:"column:parent_id;"`
  96. Name string `json:"name" sqlresult:"column:name;" `
  97. BranchEntryNodeID string `json:"branchEntryNodeId" sqlresult:"column:branch_entry_node_id;"`
  98. ConditionNodeID string `json:"conditionNodeId" sqlresult:"column:condition_node_id;"`
  99. NodeType string `json:"nodeType" sqlresult:"column:node_type;" `
  100. AssignedType string `json:"assignedType" sqlresult:"column:assigned_type;"`
  101. AssignedMode string `json:"assignedMode" sqlresult:"column:assigned_mode"`
  102. NodeRes string `json:"nodeRes" sqlresult:"column:node_res"`
  103. IsFinal bool `json:"isFinal" sqlresult:"column:is_final"`
  104. IsBranchFirstApprovalNode bool `json:"isBranchFirstApprovalNode" sqlresult:"column:is_branch_first_approval_node"`
  105. BranchEntryProps string `json:"branchEntryProps" sqlresult:"column:branch_entry_props"`
  106. RepeatApproveAutoPass int `json:"repeatApproveAutoPass" sqlresult:"column:repeat_approve_auto_pass"`
  107. NodeForm string `json:"nodeForm" sqlresult:"column:node_form"`
  108. Events string `json:"events" sqlresult:"column:events"`
  109. Copies string `json:"copies" sqlresult:"column:copies"`
  110. ApprovePhase string `json:"approvePhase"`
  111. NodeClearInfos []WorkflowInfoClearInfo `json:"nodeClearInfos"`
  112. NeedAssignedApprovalSubjectNodeID string `json:"need_assigned_approval_subject_node_id" sqlresult:"column:need_assigned_approval_subject_node_id;"`
  113. HasAssignedApprovalSubject string `json:"has_assigned_approval_subject" sqlresult:"column:has_assigned_approval_subject"`
  114. Context string `json:"context" sqlresult:"column:context"`
  115. }
  116. type WorkflowInfoClearInfo struct {
  117. ID string `json:"id" sqlresult:"column:id"`
  118. WorkflowTemplateName string `json:"workflowTemplateName" sqlresult:"column:workflow_template_name;"`
  119. WorkflowID string `json:"workflowId;" sqlresult:"column:workflow_business_id"`
  120. WorkflowName string `json:"workflowName" sqlresult:"column:workflow_name;"`
  121. WorkflowNodeID string `json:"workflowNodeId;" sqlresult:"column:workflow_node_id;"`
  122. WorkflowNodeName string `json:"workflowNodeName" sqlresult:"column:workflow_node_name;"`
  123. SenderID string `json:"senderId;" sqlresult:"column:sender_id;"`
  124. SenderName string `json:"senderName;" sqlresult:"column:sender_name;"`
  125. SenderRemark string `json:"senderRemark;" sqlresult:"column:sender_remark;"`
  126. SendTime string `json:"sendTime;" sqlresult:"column:send_time;timeLayout:'2006-01-02 15:04:05'"`
  127. ReceiverID string `json:"receiverId;" sqlresult:"column:receiver_id;"`
  128. ReceiverName string `json:"receiverName" sqlresult:"column:receiver_name;"`
  129. ReceiverRemark string `json:"receiverRemark;" sqlresult:"column:receiver_remark;"`
  130. ReplyTime string `json:"ReplyTime;" sqlresult:"column:reply_time;timeLayout:'2006-01-02 15:04:05'"`
  131. TenantID string `json:"tenantId;" sqlresult:"column:tenant_id;"`
  132. }