You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
634 lines
18 KiB
634 lines
18 KiB
package matrixapi
|
|
|
|
import (
|
|
"appPlatform/models/modelAppPlatform"
|
|
"appPlatform/models/modelshr"
|
|
"appPlatform/overall"
|
|
"appPlatform/overall/publicmethod"
|
|
"sort"
|
|
"strconv"
|
|
"time"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
/*
|
|
*
|
|
@ 作者: 秦东
|
|
@ 时间: 2023-07-04 13:05:25
|
|
@ 功能: 获取矩阵列表
|
|
@ 参数
|
|
|
|
#
|
|
|
|
@ 返回值
|
|
|
|
#
|
|
|
|
@ 方法原型
|
|
|
|
#
|
|
*/
|
|
func (a *ApiMethod) MatrixList(c *gin.Context) {
|
|
var requestData SearchMatrix
|
|
c.ShouldBindJSON(&requestData)
|
|
if requestData.Page == 0 {
|
|
requestData.Page = 1
|
|
}
|
|
if requestData.PageSize == 0 {
|
|
requestData.PageSize = 10
|
|
}
|
|
var matrixInfoList []modelAppPlatform.MatrixContent
|
|
gormDb := overall.CONSTANT_DB_AppPlatform.Model(&modelAppPlatform.MatrixContent{}).Where("`state` = 1")
|
|
if requestData.KeyWords != "" {
|
|
gormDb = gormDb.Where("`name` like ?", "%"+requestData.KeyWords+"%")
|
|
}
|
|
if requestData.AdminOrg != 0 {
|
|
var sunOrg publicmethod.GetOrgAllParent
|
|
sunOrg.GetOrgSonAllId(requestData.AdminOrg)
|
|
sunOrg.Id = append(sunOrg.Id, requestData.AdminOrg)
|
|
gormDb = gormDb.Where("`org` IN ?", sunOrg.Id)
|
|
}
|
|
var total int64
|
|
totalErr := gormDb.Count(&total).Error
|
|
if totalErr != nil {
|
|
total = 0
|
|
}
|
|
gormDb = publicmethod.PageTurningSettings(gormDb, requestData.Page, requestData.PageSize)
|
|
err := gormDb.Find(&matrixInfoList).Error
|
|
if err != nil {
|
|
publicmethod.Result(105, err, c)
|
|
return
|
|
}
|
|
var sendList []SendMatrix
|
|
for _, v := range matrixInfoList {
|
|
var sendCont SendMatrix
|
|
sendCont.Id = v.Id
|
|
sendCont.Name = v.Name
|
|
sendCont.Center = v.Center
|
|
sendCont.Org = v.Org
|
|
var orgCont modelshr.AdministrativeOrganization
|
|
orgCont.GetCont(map[string]interface{}{"`id`": v.Org}, "`name`")
|
|
sendCont.OrgName = orgCont.Name
|
|
sendCont.State = v.State
|
|
sendCont.Time = v.Time
|
|
sendList = append(sendList, sendCont)
|
|
}
|
|
publicmethod.ResultList(0, requestData.Page, requestData.PageSize, total, int64(len(sendList)), sendList, c)
|
|
}
|
|
|
|
/*
|
|
*
|
|
@ 作者: 秦东
|
|
@ 时间: 2023-07-04 16:35:46
|
|
@ 功能: 添加权限矩阵
|
|
@ 参数
|
|
|
|
#
|
|
|
|
@ 返回值
|
|
|
|
#
|
|
|
|
@ 方法原型
|
|
|
|
#
|
|
*/
|
|
func (a *ApiMethod) AddMatrixCont(c *gin.Context) {
|
|
var requestData AddMatrixCont
|
|
err := c.ShouldBindJSON(&requestData)
|
|
if err != nil {
|
|
publicmethod.Result(100, err, c)
|
|
return
|
|
}
|
|
if requestData.Name == "" {
|
|
publicmethod.Result(1, requestData.Name, c, "请输入矩阵名称!")
|
|
return
|
|
}
|
|
if requestData.Org == 0 {
|
|
publicmethod.Result(1, requestData.Name, c, "请选择归属行政组织!")
|
|
return
|
|
}
|
|
var isd int64
|
|
gormDb := overall.CONSTANT_DB_AppPlatform.Model(&modelAppPlatform.MatrixContent{}).Select("Count(`id`)").Where("`name` = ?", requestData.Name)
|
|
var sunOrg publicmethod.GetOrgAllParent
|
|
sunOrg.GetOrgSonAllId(requestData.Org)
|
|
sunOrg.Id = append(sunOrg.Id, requestData.Org)
|
|
gormDb = gormDb.Where("`org` IN ?", sunOrg.Id)
|
|
err = gormDb.Find(&isd).Error
|
|
if err == nil && isd > 0 {
|
|
publicmethod.Result(1, isd, c, "该矩阵已经存在!请不要重复使用!")
|
|
return
|
|
}
|
|
var matrixCont modelAppPlatform.MatrixContent
|
|
matrixCont.Name = requestData.Name //名称"`
|
|
matrixCont.Center = requestData.Center //描述"`
|
|
matrixCont.Org = requestData.Org //归属行政组织"`
|
|
matrixCont.State = 1 //状态(1:启用;2:禁用;3:删除)"`
|
|
matrixCont.Time = time.Now().Unix() //创建时间"`
|
|
err = overall.CONSTANT_DB_AppPlatform.Create(&matrixCont).Error
|
|
if err != nil {
|
|
publicmethod.Result(104, err, c)
|
|
return
|
|
}
|
|
publicmethod.Result(0, err, c)
|
|
}
|
|
|
|
/*
|
|
*
|
|
@ 作者: 秦东
|
|
@ 时间: 2023-07-05 07:46:56
|
|
@ 功能: 编辑权限矩阵
|
|
@ 参数
|
|
|
|
#
|
|
|
|
@ 返回值
|
|
|
|
#
|
|
|
|
@ 方法原型
|
|
|
|
#
|
|
*/
|
|
func (a *ApiMethod) EditMatrixCont(c *gin.Context) {
|
|
var requestData EditMatrixCont
|
|
c.ShouldBindJSON(&requestData)
|
|
if requestData.Id == 0 {
|
|
publicmethod.Result(1, requestData.Name, c, "未知矩阵!")
|
|
return
|
|
}
|
|
where := publicmethod.MapOut[string]()
|
|
where["`id`"] = requestData.Id
|
|
var matrixInfo modelAppPlatform.MatrixContent
|
|
err := matrixInfo.GetCont(where)
|
|
if err != nil {
|
|
publicmethod.Result(107, err, c)
|
|
return
|
|
}
|
|
editInfo := publicmethod.MapOut[string]()
|
|
if requestData.Name != "" && requestData.Name != matrixInfo.Name {
|
|
var isd int64
|
|
gormDb := overall.CONSTANT_DB_AppPlatform.Model(&modelAppPlatform.MatrixContent{}).Select("Count(`id`)").Where("`name` = ?", requestData.Name)
|
|
var sunOrg publicmethod.GetOrgAllParent
|
|
sunOrg.GetOrgSonAllId(requestData.Org)
|
|
sunOrg.Id = append(sunOrg.Id, requestData.Org)
|
|
gormDb = gormDb.Where("`org` IN ?", sunOrg.Id)
|
|
err = gormDb.Find(&isd).Error
|
|
if err == nil && isd > 0 {
|
|
publicmethod.Result(1, requestData.Name, c, "该矩阵已经存在!请不要重复使用!")
|
|
return
|
|
} else {
|
|
editInfo["`name`"] = requestData.Name
|
|
}
|
|
}
|
|
if requestData.Center != "" && requestData.Center != matrixInfo.Center {
|
|
editInfo["`center`"] = requestData.Center
|
|
}
|
|
if requestData.Org != 0 && requestData.Org != matrixInfo.Org {
|
|
editInfo["`org`"] = requestData.Org
|
|
}
|
|
if len(editInfo) > 0 {
|
|
editInfo["`time`"] = time.Now().Unix()
|
|
err = matrixInfo.EiteCont(where, editInfo)
|
|
if err != nil {
|
|
publicmethod.Result(106, err, c)
|
|
return
|
|
}
|
|
}
|
|
publicmethod.Result(0, err, c)
|
|
}
|
|
|
|
/*
|
|
*
|
|
@ 作者: 秦东
|
|
@ 时间: 2023-07-05 08:49:44
|
|
@ 功能: 编辑矩阵状态
|
|
@ 参数
|
|
|
|
#
|
|
|
|
@ 返回值
|
|
|
|
#
|
|
|
|
@ 方法原型
|
|
|
|
#
|
|
*/
|
|
func (a *ApiMethod) EditStatusCont(c *gin.Context) {
|
|
var requestData EditState
|
|
err := c.ShouldBindJSON(&requestData)
|
|
if err != nil {
|
|
publicmethod.Result(100, err, c)
|
|
return
|
|
}
|
|
if len(requestData.Id) < 1 {
|
|
publicmethod.Result(1, requestData.Id, c, "未知矩阵!")
|
|
return
|
|
}
|
|
if requestData.Status != 3 {
|
|
saveData := publicmethod.MapOut[string]()
|
|
saveData["state"] = requestData.Status
|
|
saveData["time"] = time.Now().Unix()
|
|
err = overall.CONSTANT_DB_AppPlatform.Model(&modelAppPlatform.MatrixContent{}).Where("`id` IN ?", requestData.Id).Updates(saveData).Error
|
|
if err != nil {
|
|
publicmethod.Result(106, err, c)
|
|
return
|
|
}
|
|
} else { //判断是否强制删除
|
|
if requestData.IsTrue {
|
|
overall.CONSTANT_DB_AppPlatform.Where("`id` IN ?", requestData.Id).Delete(&modelAppPlatform.MatrixContent{})
|
|
overall.CONSTANT_DB_AppPlatform.Where("`mc_id` IN ?", requestData.Id).Delete(&modelAppPlatform.MatrixFrame{})
|
|
overall.CONSTANT_DB_AppPlatform.Where("`mc_id` IN ?", requestData.Id).Delete(&modelAppPlatform.MatrixHandler{})
|
|
} else {
|
|
saveData := publicmethod.MapOut[string]()
|
|
saveData["state"] = requestData.Status
|
|
saveData["time"] = time.Now().Unix()
|
|
err = overall.CONSTANT_DB_AppPlatform.Model(&modelAppPlatform.MatrixContent{}).Where("`id` IN ?", requestData.Id).Updates(saveData).Error
|
|
if err != nil {
|
|
publicmethod.Result(106, err, c)
|
|
return
|
|
}
|
|
}
|
|
}
|
|
publicmethod.Result(0, err, c)
|
|
}
|
|
|
|
/*
|
|
*
|
|
@ 作者: 秦东
|
|
@ 时间: 2023-07-06 10:31:04
|
|
@ 功能: 设置矩阵字段
|
|
@ 参数
|
|
|
|
#
|
|
|
|
@ 返回值
|
|
|
|
#
|
|
|
|
@ 方法原型
|
|
|
|
#
|
|
*/
|
|
func (a *ApiMethod) SetupMatrixField(c *gin.Context) {
|
|
var requestData HaveMatrixField
|
|
err := c.ShouldBindJSON(&requestData)
|
|
if err != nil {
|
|
publicmethod.Result(100, err, c)
|
|
return
|
|
}
|
|
if requestData.Id == 0 {
|
|
publicmethod.Result(1, err, c, "未知矩阵!请检查提交数据")
|
|
return
|
|
}
|
|
if len(requestData.Factor) < 1 {
|
|
publicmethod.Result(1, err, c, "未知矩阵条件字段!请检查提交数据")
|
|
return
|
|
}
|
|
if len(requestData.Outcome) < 1 {
|
|
publicmethod.Result(1, err, c, "未知矩阵取值字段!请检查提交数据")
|
|
return
|
|
}
|
|
for _, v := range requestData.Factor {
|
|
AddOrEditMatrixField(requestData.Id, v)
|
|
}
|
|
for _, s := range requestData.Outcome {
|
|
AddOrEditMatrixField(requestData.Id, s)
|
|
}
|
|
publicmethod.Result(0, requestData, c)
|
|
}
|
|
|
|
/*
|
|
*
|
|
@ 作者: 秦东
|
|
@ 时间: 2023-07-06 10:48:33
|
|
@ 功能: 新增或编辑权限矩阵基础字段
|
|
@ 参数
|
|
|
|
#matrixId 矩阵Id
|
|
#cont 矩阵内容
|
|
|
|
@ 返回值
|
|
|
|
#
|
|
|
|
@ 方法原型
|
|
|
|
#
|
|
*/
|
|
func AddOrEditMatrixField(matrixId int64, cont MatrixField) (err error) {
|
|
var matrixFramCont modelAppPlatform.MatrixFrame
|
|
err = matrixFramCont.GetCont(map[string]interface{}{"`mc_id`": matrixId, "`pinyin`": cont.PinYin})
|
|
if err != nil {
|
|
var newCont modelAppPlatform.MatrixFrame
|
|
newCont.Name = cont.Name //名称"`
|
|
newCont.Types = cont.Types //骨架类型(1:人力资源;2:行政组织;2:分部;)"`
|
|
newCont.Condition = cont.Condition //骨架取值类型(1:作为条件使用;2:作为取值使用)"`
|
|
newCont.State = 1 //状态(1:启用;2:禁用;3:删除)"`
|
|
newCont.McId = matrixId //矩阵ID"`
|
|
newCont.Time = time.Now().Unix() //创建时间"`
|
|
newCont.PinYin = cont.PinYin //拼音(标识使用)"`
|
|
err = overall.CONSTANT_DB_AppPlatform.Create(&newCont).Error
|
|
} else {
|
|
if matrixFramCont.Name != cont.Name {
|
|
var editCont modelAppPlatform.MatrixFrame
|
|
err = editCont.EiteCont(map[string]interface{}{"`id`": matrixFramCont.Id}, map[string]interface{}{"`name`": cont.Name, "`time`": time.Now().Unix()})
|
|
}
|
|
}
|
|
return
|
|
}
|
|
|
|
/*
|
|
*
|
|
@ 作者: 秦东
|
|
@ 时间: 2023-07-06 13:10:35
|
|
@ 功能: 获取矩阵字段
|
|
@ 参数
|
|
|
|
#
|
|
|
|
@ 返回值
|
|
|
|
#
|
|
|
|
@ 方法原型
|
|
|
|
#
|
|
*/
|
|
func (a *ApiMethod) GetMatrixField(c *gin.Context) {
|
|
var requestData publicmethod.CommonId[int64]
|
|
err := c.ShouldBindJSON(&requestData)
|
|
if err != nil {
|
|
publicmethod.Result(100, err, c)
|
|
return
|
|
}
|
|
if requestData.Id == 0 {
|
|
publicmethod.Result(1, err, c, "未知矩阵!请检查提交数据")
|
|
return
|
|
}
|
|
var contList []modelAppPlatform.MatrixFrame
|
|
err = overall.CONSTANT_DB_AppPlatform.Where("`state` = 1 AND `mc_id` = ?", requestData.Id).Find(&contList).Error
|
|
if err != nil {
|
|
publicmethod.Result(107, err, c)
|
|
return
|
|
}
|
|
var sendData HaveMatrixField
|
|
sendData.Id = requestData.Id
|
|
for _, v := range contList {
|
|
var contInfo MatrixField
|
|
contInfo.Id = v.Id
|
|
contInfo.Name = v.Name
|
|
contInfo.Types = v.Types //骨架类型(1:人力资源;2:行政组织;2:分部;)
|
|
contInfo.Condition = v.Condition //骨架取值类型(1:作为条件使用;2:作为取值使用)
|
|
contInfo.PinYin = v.PinYin
|
|
contInfo.IsEdit = false //是否可更改
|
|
contInfo.PyEdit = true //
|
|
if v.Condition == 1 {
|
|
sendData.Factor = append(sendData.Factor, contInfo)
|
|
} else {
|
|
sendData.Outcome = append(sendData.Outcome, contInfo)
|
|
}
|
|
}
|
|
publicmethod.Result(0, sendData, c)
|
|
}
|
|
|
|
/*
|
|
*
|
|
@ 作者: 秦东
|
|
@ 时间: 2023-07-10 11:07:41
|
|
@ 功能:
|
|
@ 参数
|
|
|
|
#
|
|
|
|
@ 返回值
|
|
|
|
#
|
|
|
|
@ 方法原型
|
|
|
|
#
|
|
*/
|
|
func (a *ApiMethod) SubmitMatrixData(c *gin.Context) {
|
|
var requestData []ReceiveMartix
|
|
c.ShouldBindJSON(&requestData)
|
|
if len(requestData) < 1 {
|
|
publicmethod.Result(1, requestData, c, "未知矩阵!请检查提交数据")
|
|
return
|
|
}
|
|
var matrixMainId int64 = 0
|
|
var matrixContList []modelAppPlatform.MatrixHandler
|
|
for _, v := range requestData {
|
|
if len(v.UserList) > 0 {
|
|
numberInt, _ := strconv.ParseInt(v.Number, 10, 64)
|
|
matrixMainId = v.McId
|
|
for _, w := range v.UserList {
|
|
var matrixCont modelAppPlatform.MatrixHandler
|
|
|
|
matrixCont.Number = numberInt //:批号"`
|
|
matrixCont.Name = w.Name //使用者名称"`
|
|
handIdInt, _ := strconv.ParseInt(w.Id, 10, 64)
|
|
matrixCont.HandId = handIdInt //使用者标识符"`
|
|
matrixCont.Types = v.Types //骨架类型(1:人力资源;2:行政组织;2:分部;)"`
|
|
matrixCont.McId = v.McId //矩阵ID"`
|
|
matrixCont.MhId = v.MhId //骨架ID"`
|
|
matrixCont.Time = time.Now().Unix() //创建时间"`
|
|
matrixContList = append(matrixContList, matrixCont)
|
|
}
|
|
}
|
|
}
|
|
if len(matrixContList) < 1 {
|
|
publicmethod.Result(1, requestData, c, "未知矩阵!请检查提交数据")
|
|
return
|
|
}
|
|
if matrixMainId != 0 {
|
|
var delMatrix modelAppPlatform.MatrixHandler
|
|
err := delMatrix.DelCont(map[string]interface{}{"`mc_id`": matrixMainId})
|
|
if err == nil {
|
|
overall.CONSTANT_DB_AppPlatform.Create(&matrixContList)
|
|
}
|
|
} else {
|
|
overall.CONSTANT_DB_AppPlatform.Create(&matrixContList)
|
|
}
|
|
publicmethod.Result(0, matrixContList, c)
|
|
}
|
|
|
|
/*
|
|
*
|
|
@ 作者: 秦东
|
|
@ 时间: 2023-07-10 14:10:15
|
|
@ 功能: 获取矩阵取值
|
|
@ 参数
|
|
|
|
#
|
|
|
|
@ 返回值
|
|
|
|
#
|
|
|
|
@ 方法原型
|
|
|
|
#
|
|
*/
|
|
func (a *ApiMethod) GainMatrixData(c *gin.Context) {
|
|
var requestData publicmethod.CommonId[int64]
|
|
err := c.ShouldBindJSON(&requestData)
|
|
if err != nil {
|
|
publicmethod.Result(100, err, c)
|
|
return
|
|
}
|
|
if requestData.Id == 0 {
|
|
publicmethod.Result(1, err, c, "未知矩阵!请检查提交数据")
|
|
return
|
|
}
|
|
var matrixNumber []int64
|
|
err = overall.CONSTANT_DB_AppPlatform.Model(&modelAppPlatform.MatrixHandler{}).Distinct("`number`").Where("`mc_id` = ?", requestData.Id).Find(&matrixNumber).Error
|
|
if err != nil || len(matrixNumber) < 1 {
|
|
publicmethod.Result(107, err, c)
|
|
return
|
|
}
|
|
var matrixFramList []modelAppPlatform.MatrixFrame
|
|
err = overall.CONSTANT_DB_AppPlatform.Where("`state` = 1 AND `mc_id` = ?", requestData.Id).Find(&matrixFramList).Error
|
|
if err != nil || len(matrixFramList) < 1 {
|
|
publicmethod.Result(107, err, c)
|
|
return
|
|
}
|
|
matrixDataList := make([]interface{}, 0)
|
|
for _, v := range matrixNumber {
|
|
matrixHang := publicmethod.MapOut[string]()
|
|
for _, w := range matrixFramList {
|
|
//
|
|
var sendCont SendMatrixFieldVal
|
|
sendCont.Id = w.Id
|
|
sendCont.Types = w.Types
|
|
sendCont.IsEdit = false
|
|
sendCont.PinYin = w.PinYin
|
|
var handCont []modelAppPlatform.MatrixHandler
|
|
overall.CONSTANT_DB_AppPlatform.Where("`mc_id` = ? AND `mh_id` = ? AND `number` = ?", requestData.Id, w.Id, v).Find(&handCont)
|
|
if len(handCont) > 0 {
|
|
for _, j := range handCont {
|
|
sendCont.Number = strconv.FormatInt(j.Number, 10)
|
|
var userCont UserListCont
|
|
userCont.Id = strconv.FormatInt(j.HandId, 10)
|
|
if j.Types == 1 {
|
|
var orgCont modelshr.AdministrativeOrganization
|
|
orgCont.GetCont(map[string]interface{}{"`id`": j.HandId}, "`name`")
|
|
userCont.Name = orgCont.Name
|
|
} else {
|
|
var userContIng modelshr.PersonArchives
|
|
userContIng.GetCont(map[string]interface{}{"`key`": j.HandId}, "`name`", "`icon`", "`icon_photo`")
|
|
userCont.Name = userContIng.Name
|
|
userCont.Icons = userContIng.Icon
|
|
if userContIng.Icon == "" {
|
|
userCont.Icons = userContIng.IconPhoto
|
|
}
|
|
}
|
|
sendCont.UserList = append(sendCont.UserList, userCont)
|
|
}
|
|
}
|
|
matrixHang[sendCont.PinYin] = sendCont
|
|
}
|
|
// fmt.Printf("%v\n", matrixHang)
|
|
matrixDataList = append(matrixDataList, matrixHang)
|
|
}
|
|
publicmethod.Result(0, matrixDataList, c)
|
|
}
|
|
|
|
/*
|
|
*
|
|
@ 作者: 秦东
|
|
@ 时间: 2023-07-11 08:28:27
|
|
@ 功能: 矩阵取值
|
|
@ 参数
|
|
|
|
#
|
|
|
|
@ 返回值
|
|
|
|
#
|
|
|
|
@ 方法原型
|
|
|
|
#
|
|
*/
|
|
func (a *ApiMethod) MatrixValue(c *gin.Context) {
|
|
// requestData := publicmethod.MapOut[string]()
|
|
var requestData OneMatrixVal
|
|
err := c.ShouldBindJSON(&requestData)
|
|
|
|
var matrixContNumber []int64
|
|
gormDb := overall.CONSTANT_DB_AppPlatform.Model(&modelAppPlatform.MatrixHandler{}).Select("`number`")
|
|
for _, v := range requestData.Condition {
|
|
gormDb = gormDb.Or("`hand_id` = ? AND `mh_id` = ? AND `mc_id` = ?", v.Val, v.Id, requestData.Id)
|
|
}
|
|
err = gormDb.Find(&matrixContNumber).Error
|
|
wligibleMap := make(map[int64]int)
|
|
for _, v := range matrixContNumber {
|
|
if _, isOk := wligibleMap[v]; isOk {
|
|
wligibleMap[v]++
|
|
} else {
|
|
wligibleMap[v] = 1
|
|
}
|
|
}
|
|
var sicleEligible []Condition[int64]
|
|
for k, v := range wligibleMap {
|
|
var sicleCont Condition[int64]
|
|
sicleCont.Id = k
|
|
sicleCont.Val = int64(v)
|
|
sicleEligible = append(sicleEligible, sicleCont)
|
|
}
|
|
sort.Slice(sicleEligible, func(i, j int) bool {
|
|
return sicleEligible[i].Val < sicleEligible[j].Val
|
|
})
|
|
conditionCount := sicleEligible[len(sicleEligible)-1]
|
|
conditionLength := len(requestData.Condition)
|
|
if conditionCount.Val != int64(conditionLength) {
|
|
publicmethod.Result(0, err, c)
|
|
return
|
|
}
|
|
//获取最终结果
|
|
var finalResult []modelAppPlatform.MatrixHandler
|
|
err = overall.CONSTANT_DB_AppPlatform.Where("`number` = ? AND `mc_id` = ? AND `mh_id` IN ?", conditionCount.Id, requestData.Id, requestData.ValueField).Find(&finalResult).Error
|
|
if err != nil || len(finalResult) < 1 {
|
|
publicmethod.Result(1, finalResult, c, "没有操作人")
|
|
}
|
|
var sendList []SendMatrixVal
|
|
for _, v := range finalResult {
|
|
var sendCont SendMatrixVal
|
|
sendCont.Id = strconv.FormatInt(v.HandId, 10)
|
|
if v.Types == 1 {
|
|
var orgCont modelshr.AdministrativeOrganization
|
|
orgCont.GetCont(map[string]interface{}{"`id`": v.HandId}, "`name`", "`number`", "`superior`", "`wechat_organization_id`")
|
|
sendCont.Number = orgCont.Number
|
|
sendCont.Name = orgCont.Name
|
|
sendCont.WechatId = strconv.FormatInt(orgCont.WechatOrganizationId, 10) //微信相关参数
|
|
sendCont.Icon = "" //人物头像
|
|
sendCont.OrgId = strconv.FormatInt(orgCont.Superior, 10) //人员行政组织或行政组织上级
|
|
} else {
|
|
var userCont modelshr.PersonArchives
|
|
userCont.GetCont(map[string]interface{}{"`key`": v.HandId}, "`number`", "`name`", "`icon`", "`icon_photo`", "`wechat`", "`work_wechat`", "`admin_org`")
|
|
sendCont.Number = userCont.Number
|
|
sendCont.Name = userCont.Name
|
|
sendCont.WechatId = userCont.Wechat //微信相关参数
|
|
if userCont.WorkWechat != "" {
|
|
sendCont.WechatId = userCont.WorkWechat
|
|
}
|
|
sendCont.Icon = userCont.Icon
|
|
if userCont.IconPhoto != "" {
|
|
sendCont.Icon = userCont.IconPhoto
|
|
} //人物头像
|
|
sendCont.OrgId = strconv.FormatInt(userCont.AdminOrg, 10) //人员行政组织或行政组织上级
|
|
}
|
|
sendList = append(sendList, sendCont)
|
|
}
|
|
sendData := publicmethod.MapOut[string]()
|
|
sendData["err"] = err
|
|
sendData["requestData"] = requestData
|
|
sendData["matrixContList"] = matrixContNumber
|
|
sendData["wligibleMap"] = wligibleMap
|
|
sendData["sicleEligible"] = sicleEligible[len(sicleEligible)-1]
|
|
sendData["finalResult"] = finalResult
|
|
publicmethod.Result(0, sendList, c)
|
|
}
|
|
|