123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- package services
- import (
- "errors"
- "hongze/hongze_mobile_admin/models/tables/admin"
- "hongze/hongze_mobile_admin/models/tables/approval_flow"
- "hongze/hongze_mobile_admin/models/tables/approval_flow_node"
- "strings"
- )
- //获取审批工作流(基础)
- func GetApprovalFlow(flowId int) (approvalFlow *approval_flow.ApprovalFlowItem, err error) {
- approvalFlow, err = approval_flow.GetByFlowItemId(flowId)
- if err != nil {
- err = errors.New("查询审批流程失败:Err:" + err.Error())
- return
- }
- approvalFlowNodeList, err := approval_flow_node.GetListByFlowId(approvalFlow.FlowId, approvalFlow.CurrVersion)
- if err != nil {
- err = errors.New("查询审批节点失败:Err:" + err.Error())
- return
- }
- for _, approvalFlowNode := range approvalFlowNodeList {
- userList, tmpErr := getAdminListByUserType(approvalFlowNode.UserType, approvalFlowNode.User, approvalFlow.ProductId)
- if tmpErr != nil {
- err = errors.New("获取审批人失败:Err:" + tmpErr.Error())
- return
- }
- for _, user := range userList {
- userInfo := approval_flow_node.User{
- AdminId: user.AdminId,
- Name: user.RealName,
- }
- approvalFlowNode.UserList = append(approvalFlowNode.UserList, userInfo)
- }
- }
- approvalFlow.NodeList = approvalFlowNodeList
- return
- }
- //获取审批人信息
- func getAdminListByUserType(userType, user string, productId int) (adminList []*admin.Admin, err error) {
- switch userType {
- case "user":
- adminList, err = admin.GetAdminListByIds(user)
- return
- case "manager":
- roleTypeCode := ``
- if productId == 1 {
- roleTypeCode = `ficc_admin`
- } else if productId == 1 {
- roleTypeCode = `rai_admin`
- }
- if roleTypeCode == `` {
- err = errors.New("找不到对应的主管")
- return
- }
- adminList, err = admin.GetAdminListByRoleCode(roleTypeCode)
- return
- case "role": //角色类型
- roleSlice := strings.Split(user, ",")
- for _, roleTypeCode := range roleSlice {
- list, tmpErr := admin.GetAdminListByRoleCode(roleTypeCode)
- if tmpErr != nil {
- err = tmpErr
- return
- }
- adminList = append(adminList, list...)
- }
- return
- }
- err = errors.New("查找审批人信息异常")
- return
- }
|