dddd
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.

144 lines
4.6 KiB

package examtestpage
import (
"fmt"
"github.com/flipped-aurora/gin-vue-admin/server/commonus"
"github.com/flipped-aurora/gin-vue-admin/server/global"
"github.com/flipped-aurora/gin-vue-admin/server/model/common/response"
"github.com/flipped-aurora/gin-vue-admin/server/model/testpage"
"github.com/flipped-aurora/gin-vue-admin/server/model/wechat"
"github.com/gin-gonic/gin"
)
//集团分厂管理模块
type GroupHandleApi struct{}
//集团栏目
type GroupMap struct {
Id int64 `json:"id" gorm:"column:g_id;type:bigint(20);;primaryKey;unique;not null;autoIncrement;index"`
Name string `json:"name" gorm:"column:g_name;type:varchar(255);not null;comment:组织名称"` //'组织名称',
Time int64 `json:"time" gorm:"column:g_time;type:bigint(20) unsigned;default:0;not null;comment:编辑时间"` //'编辑时间',
Parentid int64 `json:"parentid" gorm:"column:g_parentid;type:bigint(20) unsigned;default:0;not null;comment:父级栏目"`
Sate int8 `json:"state" gorm:"column:g_sate;type:tinyint(1) unsigned;default:1;not null;comment:状态"` //'状态',
}
type TableData struct {
ID int64 `json:"id"`
Name string `json:"name"`
Address bool `json:"address: "`
WxId string `json:"wxId"`
JdId string `json:"jdId"`
Attributes int8 `json:"attributes"`
Sort int `json:"sort"`
Date string `json:"date"`
Children interface{} `json:"children"`
}
//POST提交参数
type postGroupCanshu struct {
Id int `json:"id" from:"id"`
}
//集团列表
func (g *GroupHandleApi) GroupList(c *gin.Context) {
var groupStruct []wechat.GroupForm //集团表结构
var groupMap []GroupMap //要获取的集团架构字段
var groupMapStruct []TableData
err := global.GVA_DB_WatchDate.Model(&groupStruct).Where("g_parentid = ?", 1).Find(&groupMap).Error //获取集团信息
if err != nil {
fmt.Println(err)
response.Result(100, groupMapStruct, "集团架构获取失败!", c)
return
}
var departList []testpage.BranchFactoryHasMany
// err = global.GVA_DB_Master.Preload("WorkshopSectionStruct").Where("bf_group = ?", 3).Find(&departList)
// groupAry := map[int]interface{}{}
for i, v := range groupMap {
fmt.Printf("%v\n", v.Id)
err = global.GVA_DB_Master.Preload("WorkshopSectionStruct").Where("bf_group = ?", v.Id).Find(&departList).Error
if err == nil {
var groupTypeStruct TableData
groupTypeStruct.ID = v.Id
groupTypeStruct.Name = v.Name
groupTypeStruct.Address = true
groupTypeStruct.WxId = ""
groupTypeStruct.JdId = ""
groupTypeStruct.Attributes = 1
groupTypeStruct.Sort = i + 1
groupTypeStruct.Date = commonus.TimeStampToDate(v.Time, 6)
groupTypeStruct.Children = openGroupMap(departList)
// groupAry[i] = openGroupMap(departList)
groupMapStruct = append(groupMapStruct, groupTypeStruct)
}
}
// fmt.Printf("%v\n", groupMap)
// response.Ok(c)
response.Result(200, groupMapStruct, "获取成功", c)
}
// //展开集团列表
func openGroupMap(data []testpage.BranchFactoryHasMany) []TableData {
// openMapData := map[int]interface{}{}
var mapStruct []TableData
for i, v := range data {
var kk TableData
kk.ID = v.Id
kk.Name = v.Name
kk.Address = true
if v.Set != 1 {
kk.Address = false
}
kk.WxId = ""
kk.JdId = ""
kk.Attributes = v.Attribute
kk.Sort = i + 1
kk.Date = commonus.TimeStampToDate(v.Time, 6)
var sunGroup []TableData
for ii, vv := range v.WorkshopSectionStruct {
var kk_i TableData
kk_i.ID = vv.Id
kk_i.Name = vv.Name
kk_i.Address = true
if vv.Set != 1 {
kk_i.Address = false
}
kk_i.WxId = ""
kk_i.JdId = ""
kk_i.Attributes = 0
kk_i.Sort = ii + 1
kk_i.Date = commonus.TimeStampToDate(vv.Time, 6)
// kk_i.Children = []map[string]interface{}{}
sunGroup = append(sunGroup, kk_i)
}
kk.Children = sunGroup
mapStruct = append(mapStruct, kk)
}
return mapStruct
}
//获取集团信息
func (g *GroupHandleApi) GetGroupInfo(c *gin.Context) {
var id postGroupCanshu
_ = c.ShouldBindJSON(&id) //获取提交的参数
var groupStruct wechat.GroupForm //集团表结构
err := global.GVA_DB_WatchDate.Where("g_id = ?", id.Id).First(&groupStruct).Error //获取集团信息
if err != nil {
response.Result(100, groupStruct, "获取失败", c)
return
}
fmt.Printf("====>%v\n", id.Id)
response.Result(200, groupStruct, "获取成功", c)
}
func (g *GroupHandleApi) GetGroupInfos(c *gin.Context) {
var ids postGroupCanshu
_ = c.ShouldBindJSON(&ids)
// name := c.Query("id")
fmt.Printf("====>%v\n", ids.Id)
response.Ok(c)
}