|
@@ -1,75 +0,0 @@
|
|
|
-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
|
|
|
-}
|