Browse Source

修改权限设置人

master
herenshan112 3 days ago
parent
commit
7bb1474727
  1. 6
      api/version1/grantpowers/postpower.go
  2. 12
      api/version1/humanResources/enter.go
  3. 49
      api/version1/humanResources/peopel.go
  4. 4
      api/version1/setupRoule/entry.go
  5. 16
      api/version1/setupRoule/power.go
  6. 1
      apirouter/hrRoute/hrrouter.go
  7. 393
      overall/publicmethod/getUserPower.go
  8. 22
      overall/publicmethod/type.go

6
api/version1/grantpowers/postpower.go

@ -253,7 +253,7 @@ func (a *ApiMethod) GainAppList(c *gin.Context) {
requestData.RoleId = "0"
}
powerInfo := publicmethod.GetSystemAppPower(requestData.PowerType, requestData.AppType, requestData.RoleId)
fmt.Printf("获得授权--->%v\n\n\n", powerInfo)
var custForm modelAppPlatform.CustomerForm
list, _ := custForm.ContMap(map[string]interface{}{"`states`": 1, "`classify`": 3}, "`name`", "`signCode`", "`id`")
var sendList []interface{}
@ -582,7 +582,9 @@ func CallBackTablePower(tableInfo modelAppPlatform.CustomerForm, powerList []pub
sendInfo.DatePower.Types = int64(v.VisibleRange)
var attId []int64
for _, iv := range v.VisibleOrg {
attId = append(attId, int64(iv))
// ivInt, _ := strconv.ParseInt(iv, 10, 64)
// attId = append(attId, ivInt)
attId = append(attId, iv)
}
sendInfo.DatePower.Attribute = attId
isOk = true

12
api/version1/humanResources/enter.go

@ -74,3 +74,15 @@ type PeopleInfo struct {
MarriageStatus string `json:"marriageStatus"` //婚姻状况
}
/*
*
@ 作者: 秦东
@ 时间: 2025-12-04 14:17:58
@ 功能: 修改密码
*/
type SaveMyPwd struct {
OldPassword string `json:"oldPassword"`
NewPassword string `json:"newPassword"`
ConfirmPassword string `json:"confirmPassword"`
}

49
api/version1/humanResources/peopel.go

@ -7,6 +7,7 @@ import (
"encoding/json"
"strconv"
"strings"
"time"
"github.com/gin-gonic/gin"
)
@ -282,3 +283,51 @@ func (a *ApiMethod) AddNewPeople(c *gin.Context) {
publicmethod.Result(104, err, c)
}
}
/*
*
@ 作者: 秦东
@ 时间: 2025-12-04 14:21:21
@ 功能: 编辑自己登陆密码
*/
func (a *ApiMethod) EditMyPwd(c *gin.Context) {
var requestData SaveMyPwd
err := c.ShouldBindJSON(&requestData)
if err != nil {
publicmethod.Result(100, err, c)
return
}
if requestData.OldPassword == "" || requestData.NewPassword == "" || requestData.ConfirmPassword == "" {
publicmethod.Result(1, requestData, c, "您输入的数据不符合要求!")
return
}
if requestData.NewPassword != requestData.ConfirmPassword {
publicmethod.Result(2, err, c, "您输入的数据不符合要求!")
return
}
//获取当前操作人
context, _ := c.Get(overall.MyContJwt)
var myContInfo modelshr.ManCont
jsonCont, _ := json.Marshal(context)
json.Unmarshal(jsonCont, &myContInfo)
var oldPwd publicmethod.Md5Encryption
oldPwd.Md5EncryptionInit(requestData.OldPassword)
oldPwdMd5 := oldPwd.Md5EncryptionAlgorithm()
if oldPwdMd5 != myContInfo.Password {
publicmethod.Result(3, err, c, "您输入的数据不符合要求!")
return
}
var newPwd publicmethod.Md5Encryption
newPwd.Md5EncryptionInit(requestData.ConfirmPassword)
saveData := publicmethod.MapOut[string]()
saveData["`password`"] = newPwd.Md5EncryptionAlgorithm()
saveData["`eite_time`"] = time.Now().Unix()
var myInfo modelshr.PersonArchives
err = myInfo.EiteCont(map[string]interface{}{"`key`": myContInfo.Key}, saveData)
if err != nil {
publicmethod.Result(104, err, c, "")
return
}
publicmethod.Result(0, err, c)
}

4
api/version1/setupRoule/entry.go

@ -66,8 +66,8 @@ type AppPowerTree struct {
}
type VisibleRangeInfo struct {
Types int `json:"typrs"` //1、行政组织;2、岗位;3:人员
Val []int `json:"val"`
Types int `json:"typrs"` //1、行政组织;2、岗位;3:人员
Val []int64 `json:"val"`
}
// 输出获取首层子行政组织和本组织下的人员

16
api/version1/setupRoule/power.go

@ -5,6 +5,7 @@ import (
"appPlatform/overall"
"appPlatform/overall/publicmethod"
"sort"
"strconv"
"github.com/gin-gonic/gin"
)
@ -21,7 +22,7 @@ func (a *ApiMethod) AppPowerUnit(c *gin.Context) {
requestData.PowerType = "org"
}
if requestData.AppSystem == "" {
requestData.AppSystem = "appsystem"
requestData.AppSystem = "system"
}
if requestData.RoleId == "" {
requestData.RoleId = "0"
@ -44,6 +45,7 @@ func (a *ApiMethod) AppPowerUnit(c *gin.Context) {
func AppMenuPower(powerType, unitId string, powerInfo publicmethod.SendSystemPower) []AppPowerTree {
var menuList []AppPowerInfo
overall.CONSTANT_DB_AppPlatform.Model(&modelAppPlatform.Menus{}).Where("`visible` = 1").Find(&menuList)
sort.Slice(menuList, func(i, j int) bool {
return menuList[i].Sort < menuList[j].Sort
})
@ -68,7 +70,8 @@ func AppMenuPower(powerType, unitId string, powerInfo publicmethod.SendSystemPow
*/
func JuadgeBut(menuInfo []AppPowerInfo, powerInfo publicmethod.ItemInfo) (butPower []AppPowerInfo) {
for _, v := range menuInfo {
if publicmethod.IsInTrue[int](v.Id, powerInfo.ButPower) {
idStr := strconv.Itoa(v.Id)
if publicmethod.IsInTrue[string](idStr, powerInfo.ButPower) {
v.IsTrue = true
} else {
v.IsTrue = false
@ -82,6 +85,7 @@ func JuadgeBut(menuInfo []AppPowerInfo, powerInfo publicmethod.ItemInfo) (butPow
func MenuButList(noButMenu, ButMenu []AppPowerInfo) (menuButList []AppMenuBut) {
// var but []int64
for _, v := range noButMenu {
// fmt.Printf("v.Perm --> %v-->\n\n\n\n", v.Perm)
var menuButInfo AppMenuBut
menuButInfo.Id = v.Id
menuButInfo.Name = v.Name //菜单名称
@ -147,7 +151,13 @@ func MenuPower(menuInfo []AppMenuBut, powerInfo publicmethod.SendSystemPower) (m
v.IsTrue = pv.IsPick
v.Visible = pv.VisibleRange
v.VisibleRange.Types = pv.VisibleRange
v.VisibleRange.Val = pv.VisibleOrg
if len(pv.VisibleOrg) > 0 {
// var visStr []string
// for _, visv := range pv.VisibleOrg {
// visStr = append(visStr, strconv.FormatInt(visv, 10))
// }
v.VisibleRange.Val = pv.VisibleOrg
}
v.ButtenPower = JuadgeBut(v.ButtenPower, pv)
}
}

1
apirouter/hrRoute/hrrouter.go

@ -16,5 +16,6 @@ func (p *ApiRouter) InitRouterGroup(route *gin.RouterGroup) {
apiRouter.POST("authorizeOrgTree", apiHandle.AuthorizeOrgTree) //行政组织树
apiRouter.POST("authorizePeopleList", apiHandle.AuthorizePeopleList) //根据权限获取数据
apiRouter.POST("addNewPeople", apiHandle.AddNewPeople) //新增人员
apiRouter.POST("editMyPwd", apiHandle.EditMyPwd) //编辑自己登陆密码
}
}

393
overall/publicmethod/getUserPower.go

@ -4,6 +4,7 @@ import (
"appPlatform/models/modelshr"
"appPlatform/models/modelssystempermission"
"appPlatform/overall"
"encoding/json"
"fmt"
"strconv"
@ -287,6 +288,15 @@ func GetSystemPower(powerType, systemTyep, powerId, systemId string) (powerInfo
}
err := gormDb.First(&masterPower).Error
if err != nil {
if powerType == "person" {
var userInfo modelshr.PersonArchives
userInfo.GetCont(map[string]interface{}{"`key`": powerId}, "`id`", "`company`", "`maindeparment`", "`admin_org`", "`position`")
var roleId []int64
overall.CONSTANT_DB_System_Permission.Model(&modelssystempermission.SystemRole{}).Select("`id`").Where("FIND_IN_SET(?, `roleuser`)", powerId).Find(&roleId)
powerInfo.SystemIsPick, powerInfo.PowerList = PersonalAuthorization(systemTyep, systemId, roleId, userInfo)
}
fmt.Printf("没有个人授权--->%v\n\n\n", masterPower)
return
}
if masterPower.IsTrue == 1 {
@ -313,7 +323,14 @@ func GetSystemPower(powerType, systemTyep, powerId, systemId string) (powerInfo
}
itemContent.VisibleRange = v.VisibleRange
if v.VisibleOrg != "" && v.VisibleOrg != "null" {
json.Unmarshal([]byte(v.VisibleOrg), &itemContent.VisibleOrg)
// var visStrAry []string
// err := json.Unmarshal([]byte(v.VisibleOrg), &visStrAry)
// for _, arv := range visStrAry {
// intVal, _ := strconv.ParseInt(arv, 10, 64)
// itemContent.VisibleOrg = append(itemContent.VisibleOrg, intVal)
// }
err := json.Unmarshal([]byte(v.VisibleOrg), &itemContent.VisibleOrg)
fmt.Printf("装欢---》%v\n\n", err)
}
powerInfo.PowerList = append(powerInfo.PowerList, itemContent)
}
@ -321,6 +338,245 @@ func GetSystemPower(powerType, systemTyep, powerId, systemId string) (powerInfo
return
}
/*
*
@ 作者: 秦东
@ 时间: 2025-12-05 09:19:08
@ 功能: 当个人没有设定自定义权限的时候返回其所在其他维度的赋权情况
*/
func PersonalAuthorization(systemTyep, systemId string, roleId []int64, userInfo modelshr.PersonArchives) (isTrue bool, PowerList []ItemInfo) {
//获取角色相关授权
var masterPower []modelssystempermission.AuthPower
gormDb := overall.CONSTANT_DB_System_Permission.Model(&masterPower).Where("`orgPowerType` = 'role' AND `orgOrUserKey` IN ? AND `appType` = ?", roleId, systemTyep)
switch systemTyep {
case "app":
gormDb = gormDb.Where("`appKey` = ?", systemId)
case "system":
gormDb = gormDb.Where("`appKey` = 0")
default:
}
err := gormDb.Find(&masterPower).Error
if err == nil && len(masterPower) > 0 {
var autId []int64
for _, v := range masterPower {
if v.IsTrue == 1 {
isTrue = true
}
autId = append(autId, v.Id)
}
if len(autId) > 0 {
var poserListAry []modelssystempermission.PowerInfo
overall.CONSTANT_DB_System_Permission.Model(&modelssystempermission.PowerInfo{}).Where("`authId` IN ?", autId).Find(&poserListAry)
PowerList = append(PowerList, mergePowerAry(poserListAry, PowerList)...)
}
}
//根据岗位
if userInfo.Position != 0 {
var masterPowerPost modelssystempermission.AuthPower
gormDb := overall.CONSTANT_DB_System_Permission.Model(&masterPowerPost).Where("`orgPowerType` = 'job' AND `orgOrUserKey` = ? AND `appType` = ?", userInfo.Position, systemTyep)
switch systemTyep {
case "app":
gormDb = gormDb.Where("`appKey` = ?", systemId)
case "system":
gormDb = gormDb.Where("`appKey` = 0")
default:
}
err = gormDb.First(&masterPowerPost).Error
if err == nil {
if !isTrue {
if masterPowerPost.IsTrue == 1 {
isTrue = true
}
}
var poserListPost []modelssystempermission.PowerInfo
overall.CONSTANT_DB_System_Permission.Model(&modelssystempermission.PowerInfo{}).Where("`authId` = ?", masterPowerPost.Id).Find(&poserListPost)
PowerList = append(PowerList, mergePowerAry(poserListPost, PowerList)...)
}
}
//根据行政组织
if userInfo.AdminOrg != 0 {
adOrgList, isTrues := OrgGetPower(systemTyep, systemId, userInfo.AdminOrg)
isTrue = isTrues
if len(adOrgList) > 0 {
PowerList = append(PowerList, mergePowerAry(adOrgList, PowerList)...)
} else if userInfo.MainDeparment != 0 {
adOrgList, isTrues := OrgGetPower(systemTyep, systemId, userInfo.MainDeparment)
isTrue = isTrues
if len(adOrgList) > 0 {
PowerList = append(PowerList, mergePowerAry(adOrgList, PowerList)...)
} else if userInfo.Company != 0 {
adOrgList, isTrues := OrgGetPower(systemTyep, systemId, userInfo.Company)
isTrue = isTrues
if len(adOrgList) > 0 {
PowerList = append(PowerList, mergePowerAry(adOrgList, PowerList)...)
}
}
} else if userInfo.Company != 0 {
adOrgList, isTrues := OrgGetPower(systemTyep, systemId, userInfo.Company)
isTrue = isTrues
if len(adOrgList) > 0 {
PowerList = append(PowerList, mergePowerAry(adOrgList, PowerList)...)
}
}
} else if userInfo.MainDeparment != 0 {
adOrgList, isTrues := OrgGetPower(systemTyep, systemId, userInfo.MainDeparment)
isTrue = isTrues
if len(adOrgList) > 0 {
PowerList = append(PowerList, mergePowerAry(adOrgList, PowerList)...)
} else if userInfo.Company != 0 {
adOrgList, isTrues := OrgGetPower(systemTyep, systemId, userInfo.Company)
isTrue = isTrues
if len(adOrgList) > 0 {
PowerList = append(PowerList, mergePowerAry(adOrgList, PowerList)...)
}
}
} else if userInfo.Company != 0 {
adOrgList, isTrues := OrgGetPower(systemTyep, systemId, userInfo.Company)
isTrue = isTrues
if len(adOrgList) > 0 {
PowerList = append(PowerList, mergePowerAry(adOrgList, PowerList)...)
}
}
return
}
/*
*
@ 作者: 秦东
@ 时间: 2025-12-05 11:04:26
@ 功能: 根据行政组织获取授权
*/
func OrgGetPower(systemTyep, systemId string, orgId int64) (PowerList []modelssystempermission.PowerInfo, isTrue bool) {
var masterPower modelssystempermission.AuthPower
gormDb := overall.CONSTANT_DB_System_Permission.Model(&masterPower).Where("`orgPowerType` = 'org' AND `orgOrUserKey` = ? AND `appType` = ?", orgId, systemTyep)
switch systemTyep {
case "app":
gormDb = gormDb.Where("`appKey` = ?", systemId)
case "system":
gormDb = gormDb.Where("`appKey` = 0")
default:
}
err := gormDb.First(&masterPower).Error
if err != nil {
return
}
if masterPower.IsTrue == 1 {
isTrue = true
}
overall.CONSTANT_DB_System_Permission.Model(&modelssystempermission.PowerInfo{}).Where("`authId` = ?", masterPower.Id).Find(&PowerList)
return
}
/*
*
@ 作者: 秦东
@ 时间: 2025-12-05 10:39:53
@ 功能: 合并两个权限组
*/
func mergePowerAry(poserListAry []modelssystempermission.PowerInfo, PowerList []ItemInfo) []ItemInfo {
for _, v := range poserListAry {
if len(PowerList) > 0 {
isWrite := true
for pi, pv := range PowerList {
if pv.ItemId == v.ItemId {
if v.IsPick == 1 {
PowerList[pi].IsPick = true
}
if v.TablePower != "" && v.TablePower != "null" {
if len(pv.TablePower) > 0 {
var tpAry []string
json.Unmarshal([]byte(v.TablePower), &tpAry)
PowerList[pi].TablePower = MergeStruct[string](pv.TablePower, tpAry)
} else {
json.Unmarshal([]byte(v.TablePower), &PowerList[pi].TablePower)
}
// json.Unmarshal([]byte(v.TablePower), &itemContent.TablePower)
}
if v.ListPower != "" && v.ListPower != "null" {
if len(pv.ListPower) > 0 {
var tpListAry []string
json.Unmarshal([]byte(v.ListPower), &tpListAry)
PowerList[pi].ListPower = MergeStruct[string](pv.ListPower, tpListAry)
} else {
json.Unmarshal([]byte(v.ListPower), &PowerList[pi].ListPower)
}
// json.Unmarshal([]byte(v.ListPower), &itemContent.ListPower)
}
if v.ButPower != "" && v.ButPower != "null" {
if len(pv.ButPower) > 0 {
var butistAry []string
json.Unmarshal([]byte(v.ButPower), &butistAry)
PowerList[pi].ButPower = MergeStruct[string](pv.ButPower, butistAry)
} else {
json.Unmarshal([]byte(v.ButPower), &PowerList[pi].ButPower)
}
// json.Unmarshal([]byte(v.ButPower), &itemContent.ButPower)
}
if v.VisibleRange >= pv.VisibleRange {
PowerList[pi].VisibleRange = v.VisibleRange
}
if v.VisibleOrg != "" && v.VisibleOrg != "null" {
if len(pv.VisibleOrg) > 0 {
var visistAry []int64
json.Unmarshal([]byte(v.VisibleOrg), &visistAry)
PowerList[pi].VisibleOrg = MergeStruct[int64](pv.VisibleOrg, visistAry)
} else {
json.Unmarshal([]byte(v.VisibleOrg), &PowerList[pi].VisibleOrg)
}
// json.Unmarshal([]byte(v.VisibleOrg), &itemContent.VisibleOrg)
}
isWrite = false
}
}
if isWrite {
var itemContent ItemInfo
itemContent.ItemId = v.ItemId
itemContent.IsPick = false
if v.IsPick == 1 {
itemContent.IsPick = true
}
if v.TablePower != "" && v.TablePower != "null" {
json.Unmarshal([]byte(v.TablePower), &itemContent.TablePower)
}
if v.ListPower != "" && v.ListPower != "null" {
json.Unmarshal([]byte(v.ListPower), &itemContent.ListPower)
}
if v.ButPower != "" && v.ButPower != "null" {
json.Unmarshal([]byte(v.ButPower), &itemContent.ButPower)
}
itemContent.VisibleRange = v.VisibleRange
if v.VisibleOrg != "" && v.VisibleOrg != "null" {
json.Unmarshal([]byte(v.VisibleOrg), &itemContent.VisibleOrg)
}
PowerList = append(PowerList, itemContent)
}
} else {
var itemContent ItemInfo
itemContent.ItemId = v.ItemId
itemContent.IsPick = false
if v.IsPick == 1 {
itemContent.IsPick = true
}
if v.TablePower != "" && v.TablePower != "null" {
json.Unmarshal([]byte(v.TablePower), &itemContent.TablePower)
}
if v.ListPower != "" && v.ListPower != "null" {
json.Unmarshal([]byte(v.ListPower), &itemContent.ListPower)
}
if v.ButPower != "" && v.ButPower != "null" {
json.Unmarshal([]byte(v.ButPower), &itemContent.ButPower)
}
itemContent.VisibleRange = v.VisibleRange
if v.VisibleOrg != "" && v.VisibleOrg != "null" {
json.Unmarshal([]byte(v.VisibleOrg), &itemContent.VisibleOrg)
}
PowerList = append(PowerList, itemContent)
}
}
return PowerList
}
/*
*
@ 作者: 秦东
@ -338,7 +594,31 @@ func GetSystemAppPower(powerType, systemTyep, powerId string) (powerAry []SendSy
}
var masterPower []modelssystempermission.AuthPower
err := overall.CONSTANT_DB_System_Permission.Where("`orgPowerType` = ? AND `orgOrUserKey` = ? AND `appType` = ?", powerType, powerId, systemTyep).Find(&masterPower).Error
if err != nil {
if err != nil || len(masterPower) <= 0 {
if powerType == "person" {
var userInfo modelshr.PersonArchives
userInfo.GetCont(map[string]interface{}{"`key`": powerId}, "`id`", "`company`", "`maindeparment`", "`admin_org`", "`position`")
var roleId []int64
overall.CONSTANT_DB_System_Permission.Model(&modelssystempermission.SystemRole{}).Select("`id`").Where("FIND_IN_SET(?, `roleuser`)", powerId).Find(&roleId)
// PersonalAuthorizationApp(systemTyep, powerId, roleId, userInfo)
// powerAry = append(powerAry, )
powerAryList := PersonalAuthorizationApp(systemTyep, powerId, roleId, userInfo)
if len(powerAryList) > 0 {
for _, v := range powerAryList {
var powerInfo SendSystemAppPower
powerInfo.PowerType = powerType
powerInfo.SystemTyep = systemTyep
powerInfo.PowerId = powerId
powerInfo.SystemId = v.AppKey
powerInfo.SystemIsPick = false
if v.IsTrue == 1 {
powerInfo.SystemIsPick = true
}
powerAry = append(powerAry, powerInfo)
}
}
}
fmt.Printf("没有个人App收取那\n%v\n\n", masterPower)
return
}
for _, v := range masterPower {
@ -356,6 +636,115 @@ func GetSystemAppPower(powerType, systemTyep, powerId string) (powerAry []SendSy
return
}
/*
*
@ 作者: 秦东
@ 时间: 2025-12-05 13:22:27
@ 功能: 获取自定义表单项目权限
*/
func PersonalAuthorizationApp(systemTyep, powerId string, roleId []int64, userInfo modelshr.PersonArchives) (powerAry []modelssystempermission.AuthPower) {
var masterPower []modelssystempermission.AuthPower
//根据角色
if len(roleId) > 0 {
var masterPowerRole []modelssystempermission.AuthPower
overall.CONSTANT_DB_System_Permission.Where("`orgPowerType` = 'role' AND `orgOrUserKey` IN ? AND `appType` = ?", roleId, systemTyep).Find(&masterPowerRole)
masterPower = append(masterPower, HeBingTable(masterPowerRole, masterPower)...)
}
//根据岗位
if userInfo.Position != 0 {
var masterPowerPost []modelssystempermission.AuthPower
overall.CONSTANT_DB_System_Permission.Where("`orgPowerType` = 'job' AND `orgOrUserKey` = ? AND `appType` = ?", userInfo.Position, systemTyep).Find(&masterPowerPost)
masterPower = append(masterPower, HeBingTable(masterPowerPost, masterPower)...)
}
//根据行政组织
if userInfo.AdminOrg != 0 {
var masterPowerOrg []modelssystempermission.AuthPower
overall.CONSTANT_DB_System_Permission.Where("`orgPowerType` = 'org' AND `orgOrUserKey` = ? AND `appType` = ?", userInfo.AdminOrg, systemTyep).Find(&masterPowerOrg)
orgAdminAry := HeBingTable(masterPowerOrg, masterPower)
if len(orgAdminAry) > 0 {
masterPower = append(masterPower, orgAdminAry...)
} else if userInfo.MainDeparment != 0 {
var masterPowerMain []modelssystempermission.AuthPower
overall.CONSTANT_DB_System_Permission.Where("`orgPowerType` = 'org' AND `orgOrUserKey` = ? AND `appType` = ?", userInfo.MainDeparment, systemTyep).Find(&masterPowerMain)
orgMainAry := HeBingTable(masterPowerMain, masterPower)
if len(orgMainAry) > 0 {
masterPower = append(masterPower, orgMainAry...)
} else if userInfo.Company != 0 {
var masterPowerCom []modelssystempermission.AuthPower
overall.CONSTANT_DB_System_Permission.Where("`orgPowerType` = 'org' AND `orgOrUserKey` = ? AND `appType` = ?", userInfo.Company, systemTyep).Find(&masterPowerCom)
orgAry := HeBingTable(masterPowerCom, masterPower)
if len(orgAry) > 0 {
masterPower = append(masterPower, orgAry...)
}
}
} else if userInfo.Company != 0 {
var masterPowerCom []modelssystempermission.AuthPower
overall.CONSTANT_DB_System_Permission.Where("`orgPowerType` = 'org' AND `orgOrUserKey` = ? AND `appType` = ?", userInfo.Company, systemTyep).Find(&masterPowerCom)
orgAry := HeBingTable(masterPowerCom, masterPower)
if len(orgAry) > 0 {
masterPower = append(masterPower, orgAry...)
}
}
} else if userInfo.MainDeparment != 0 {
var masterPowerMain []modelssystempermission.AuthPower
overall.CONSTANT_DB_System_Permission.Where("`orgPowerType` = 'org' AND `orgOrUserKey` = ? AND `appType` = ?", userInfo.MainDeparment, systemTyep).Find(&masterPowerMain)
orgMainAry := HeBingTable(masterPowerMain, masterPower)
if len(orgMainAry) > 0 {
masterPower = append(masterPower, orgMainAry...)
} else if userInfo.Company != 0 {
var masterPowerCom []modelssystempermission.AuthPower
overall.CONSTANT_DB_System_Permission.Where("`orgPowerType` = 'org' AND `orgOrUserKey` = ? AND `appType` = ?", userInfo.Company, systemTyep).Find(&masterPowerCom)
orgAry := HeBingTable(masterPowerCom, masterPower)
if len(orgAry) > 0 {
masterPower = append(masterPower, orgAry...)
}
}
} else if userInfo.Company != 0 {
var masterPowerCom []modelssystempermission.AuthPower
overall.CONSTANT_DB_System_Permission.Where("`orgPowerType` = 'org' AND `orgOrUserKey` = ? AND `appType` = ?", userInfo.Company, systemTyep).Find(&masterPowerCom)
orgAry := HeBingTable(masterPowerCom, masterPower)
if len(orgAry) > 0 {
masterPower = append(masterPower, orgAry...)
}
}
if len(masterPower) > 0 {
powerAry = HeBingTable(masterPower, powerAry)
}
return
}
/*
*
@ 作者: 秦东
@ 时间: 2025-12-05 13:33:09
@ 功能: 合并自定义表单数据
*/
func HeBingTable(masterPowerOld, masterPower []modelssystempermission.AuthPower) []modelssystempermission.AuthPower {
for _, v := range masterPowerOld {
if len(masterPower) > 0 {
isWrite := true
for mi, mv := range masterPower {
if mv.AppKey == v.AppKey {
isWrite = false
if v.IsTrue == 1 {
masterPower[mi].IsTrue = v.IsTrue
masterPower[mi].PowerInfo = v.PowerInfo
}
}
}
if isWrite {
masterPower = append(masterPower, v)
}
} else {
masterPower = append(masterPower, v)
}
}
return masterPower
}
// 获取综合行政组织上级
func GetFristOrgId(orgAry []int64) (orgId int64) {
var orgLevel []modelshr.OrgContType

22
overall/publicmethod/type.go

@ -390,9 +390,27 @@ type ItemInfo struct {
IsPick bool `json:"isPick"`
TablePower []string `json:"tablePower"`
ListPower []string `json:"listPower"`
ButPower []int `json:"ButPower"`
ButPower []string `json:"ButPower"`
VisibleRange int `json:"visibleRange"`
VisibleOrg []int `json:"visibleOrg"`
VisibleOrg []int64 `json:"visibleOrg"`
}
type SendSystemPoweres struct {
PowerType string `json:"powerType"`
SystemTyep string `json:"systemTyep"`
PowerId string `json:"powerId"`
SystemId string `json:"systemId"`
SystemIsPick bool `json:"systemIsPick"`
PowerList []ItemInfoes `json:"powerList"`
}
type ItemInfoes struct {
ItemId int64 `json:"itemId"`
IsPick bool `json:"isPick"`
TablePower []string `json:"tablePower"`
ListPower []string `json:"listPower"`
ButPower []string `json:"ButPower"`
VisibleRange int `json:"visibleRange"`
VisibleOrg []int64 `json:"visibleOrg"`
}
type SendSystemAppPower struct {
PowerType string `json:"powerType"`

Loading…
Cancel
Save