From a63a8cc79f9d37e097ef147697505a6ca5fff47c Mon Sep 17 00:00:00 2001 From: herenshan112 Date: Tue, 15 Feb 2022 08:25:31 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E8=80=83=E6=A0=B8V1.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gin_server_admin/api/admin/enter.go | 6 +- .../branchfactorygroup/branchfactory.go | 304 ++++++++++++ .../branchfactorygroup/duties.go | 318 ++++++++++++ .../branchfactorygroup/enter.go | 8 + .../branchfactorygroup/team.go | 217 ++++++++ .../branchfactorygroup/type.go | 117 +++++ .../branchfactorygroup/workshopsection.go | 298 +++++++++++ .../api/admin/groupmanagement/enter.go | 7 + .../api/admin/systemuser/adminrole.go | 463 +++++++++++++++++- .../api/admin/systemuser/menutype.go | 70 +++ .../api/admin/systemuser/userhandle.go | 410 ++++++++++++++++ .../api/admin/systemuser/usertype.go | 33 ++ .../api/index/assessment/assesshandle.go | 4 + .../api/index/assessment/assesstype.go | 30 +- .../api/v1/assessment/specificduty.go | 8 +- .../api/v1/custom/customhandle.go | 136 ++--- .../api/v1/examtestpage/grouphandle.go | 33 +- gin_server_admin/commonus/publichaneld.go | 15 +- gin_server_admin/initialize/router.go | 5 + .../model/assessmentmodel/dutyclass.go | 4 +- gin_server_admin/model/testpage/grouptree.go | 2 +- gin_server_admin/router/system/sys_admin.go | 34 +- gin_server_admin/router/systemadmin/enter.go | 1 + .../router/systemadmin/groupmanagement.go | 69 +++ 24 files changed, 2487 insertions(+), 105 deletions(-) create mode 100644 gin_server_admin/api/admin/groupmanagement/branchfactorygroup/branchfactory.go create mode 100644 gin_server_admin/api/admin/groupmanagement/branchfactorygroup/duties.go create mode 100644 gin_server_admin/api/admin/groupmanagement/branchfactorygroup/enter.go create mode 100644 gin_server_admin/api/admin/groupmanagement/branchfactorygroup/team.go create mode 100644 gin_server_admin/api/admin/groupmanagement/branchfactorygroup/type.go create mode 100644 gin_server_admin/api/admin/groupmanagement/branchfactorygroup/workshopsection.go create mode 100644 gin_server_admin/api/admin/groupmanagement/enter.go create mode 100644 gin_server_admin/api/admin/systemuser/menutype.go create mode 100644 gin_server_admin/router/systemadmin/groupmanagement.go diff --git a/gin_server_admin/api/admin/enter.go b/gin_server_admin/api/admin/enter.go index 20228b2..6a42800 100644 --- a/gin_server_admin/api/admin/enter.go +++ b/gin_server_admin/api/admin/enter.go @@ -2,12 +2,14 @@ package admin import ( "github.com/flipped-aurora/gin-vue-admin/server/api/admin/dutyassess" + "github.com/flipped-aurora/gin-vue-admin/server/api/admin/groupmanagement" "github.com/flipped-aurora/gin-vue-admin/server/api/admin/systemuser" ) type ApiGroup struct { - DutyAssess dutyassess.ApiGroup - SystemApi systemuser.ApiGroup + DutyAssess dutyassess.ApiGroup + SystemApi systemuser.ApiGroup + GroupManageMent groupmanagement.ApiGroup } var ApiGroupApp = new(ApiGroup) diff --git a/gin_server_admin/api/admin/groupmanagement/branchfactorygroup/branchfactory.go b/gin_server_admin/api/admin/groupmanagement/branchfactorygroup/branchfactory.go new file mode 100644 index 0000000..f73c341 --- /dev/null +++ b/gin_server_admin/api/admin/groupmanagement/branchfactorygroup/branchfactory.go @@ -0,0 +1,304 @@ +package branchfactorygroup + +import ( + "strconv" + "time" + + "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/gin-gonic/gin" +) + +/* +==================================================== +分厂基础设定 +==================================================== +*/ +//入口 +func (b *BranchFactory) Index(c *gin.Context) { + outPut := commonus.MapOut() + response.Result(0, outPut, "分厂基础设定获取成功", c) +} + +//获取分厂栏目 +func (b *BranchFactory) BranchFactoryList(c *gin.Context) { + isTrue, SysAdminCont := commonus.AdminClientIdentity() + if isTrue != true { + response.Result(101, isTrue, "您的身份令牌已经失效!请重新登录获取身份令牌!", c) + return + } + + var requestData BranchFactoryList + c.ShouldBindJSON(&requestData) + if requestData.PageSize == 0 { + requestData.PageSize = 20 + } + if requestData.Page <= 0 { + requestData.Page = 1 + } + offSetPage := commonus.CalculatePages(requestData.Page, requestData.PageSize) + gormDb := global.GVA_DB_Master.Model(&testpage.BranchFactory{}) + + if SysAdminCont.Group != "1" { + gormDb = gormDb.Where("`bf_group` = ?", SysAdminCont.Group) + if SysAdminCont.AttriBute != "0" { + gormDb = gormDb.Where("`bf_id` = ?", SysAdminCont.AttriBute) + } + } + if requestData.State != 0 { + gormDb = gormDb.Where("`bf_set` = ?", requestData.State) + } + if requestData.GroupId != 0 { + gormDb = gormDb.Where("`bf_group` = ?", requestData.GroupId) + } + if requestData.Attribute != 0 { + gormDb = gormDb.Where("`bf_attribute` = ?", requestData.Attribute) + } + if requestData.Title != "" { + gormDb = gormDb.Where("(`bf_name` LIKE ?)", "%"+requestData.Title+"%") + } + var total int64 + totalErr := gormDb.Count(&total).Error + if totalErr != nil { + total = 0 + } + var systemRoleList []testpage.BranchFactory + systemRoleListerr := gormDb.Limit(requestData.PageSize).Offset(offSetPage).Order("bf_id desc").Find(&systemRoleList).Error + if systemRoleListerr != nil { + response.Result(102, systemRoleListerr, "数据获取失败!", c) + return + } + var putBfList []PrintBranchFactoryList + for _, val := range systemRoleList { + var putBfCont PrintBranchFactoryList + putBfCont.Id = val.Id + putBfCont.Name = val.Name + putBfCont.Set = val.Set + putBfCont.Uid = val.Uid + putBfCont.Time = val.Time + putBfCont.Attribute = val.Attribute + putBfCont.Group = val.Group + putBfCont.WechatId = val.WechatId + groupIsTrue, groupCont := commonus.GetGroupInfo(val.Group) + if groupIsTrue == true { + putBfCont.GroupName = groupCont.Name + } + putBfList = append(putBfList, putBfCont) + } + + countSum := len(putBfList) + printData := commonus.OutPutList(total, int64(countSum), requestData.Page, requestData.PageSize, putBfList) + response.Result(0, printData, "查询成功!", c) +} + +//添加分厂 +func (b *BranchFactory) AddBranchFactory(c *gin.Context) { + isTrue, SysAdminCont := commonus.AdminClientIdentity() + if isTrue != true { + response.Result(101, isTrue, "您的身份令牌已经失效!请重新登录获取身份令牌!", c) + return + } + var requestData AddBranchFactory + err := c.ShouldBindJSON(&requestData) + if err != nil { + response.Result(102, requestData, "数据获取失败!", c) + return + } + if requestData.Title == "" { + response.Result(103, requestData, "请输入分厂(部室)名称!", c) + return + } + if requestData.GroupId == 0 { + response.Result(104, requestData, "请输入分厂(部室)归属哪个集团!", c) + return + } + if requestData.Attribute == 0 { + requestData.Attribute = 1 + } + var bfCont testpage.BranchFactory + userKey, userKeyErr := strconv.ParseInt(SysAdminCont.UserKey, 10, 64) + + //判断该分厂是否已经存在 + juadgeMap := commonus.MapOut() + juadgeBfErr := global.GVA_DB_Master.Model(&testpage.BranchFactory{}).Select("bf_name").Where("`bf_name` = ? AND `bf_group` = ?", requestData.Title, requestData.GroupId).First(&juadgeMap).Error + if juadgeBfErr == nil { + response.Result(106, juadgeMap, "该集团下已经存在此分厂!请不要重复添加!", c) + return + } + if requestData.WechatId != 0 { + juadgeBfErrs := global.GVA_DB_Master.Model(&testpage.BranchFactory{}).Select("bf_wechat_id").Where("`bf_wechat_id` = ?", requestData.WechatId).First(&juadgeMap).Error + if juadgeBfErrs == nil { + response.Result(106, juadgeMap, "此微信ID已经使用!请不要重复添加!", c) + return + } + } + + bfCont.Name = requestData.Title + bfCont.Set = 1 + if userKeyErr == nil { + bfCont.Uid = userKey + } + bfCont.Time = time.Now().Unix() + bfCont.Attribute = requestData.Attribute + bfCont.Group = requestData.GroupId + bfCont.WechatId = requestData.WechatId + addErr := global.GVA_DB_Master.Create(&bfCont).Error + if addErr != nil { + response.Result(105, requestData, "添加失败!", c) + } else { + response.Result(0, bfCont, "添加成功!", c) + } +} + +//获取分厂(部室)详细信息 +func (b *BranchFactory) GetBranchFactory(c *gin.Context) { + var requestData commonus.SetIds + err := c.ShouldBindJSON(&requestData) + if err != nil { + response.Result(102, requestData, "数据获取失败!", c) + return + } + if requestData.Id == 0 && requestData.OutId == "" { + response.Result(102, err, "参数错误!请重新提交!", c) + return + } + if requestData.OutId != "" { + idInt, inIntErr := strconv.ParseInt(requestData.OutId, 10, 64) + if inIntErr == nil { + requestData.Id = idInt + } + } + var systemBFCont testpage.BranchFactory + contErr := global.GVA_DB_Master.Where("`bf_id` = ?", requestData.Id).First(&systemBFCont).Error + if contErr != nil { + response.Result(102, err, "数据获取失败!", c) + return + } + response.Result(0, systemBFCont, "数据获取成功!", c) +} + +//修改分厂内容 +func (b *BranchFactory) EiteBranchFactory(c *gin.Context) { + var requestData EiteBranchFactory + err := c.ShouldBindJSON(&requestData) + if err != nil { + response.Result(101, requestData, "数据获取失败!", c) + return + } + if requestData.Id == 0 && requestData.OutId == "" { + response.Result(102, err, "参数错误!请重新提交!", c) + return + } + if requestData.OutId != "" { + idInt, inIntErr := strconv.ParseInt(requestData.OutId, 10, 64) + if inIntErr == nil { + requestData.Id = idInt + } + } + var systemBFCont testpage.BranchFactory + contErr := global.GVA_DB_Master.Where("`bf_id` = ?", requestData.Id).First(&systemBFCont).Error + if contErr != nil { + response.Result(103, contErr, "数据获取失败!", c) + return + } + saveData := commonus.MapOut() + if requestData.Title != "" && requestData.Title != systemBFCont.Name { + juadgeMaps := commonus.MapOut() + contErr := global.GVA_DB_Master.Model(&testpage.BranchFactory{}).Where("`bf_name` = ? AND `bf_group` = ?", requestData.Title, requestData.GroupId).First(&juadgeMaps).Error + if contErr == nil { + response.Result(104, juadgeMaps, "该集团下已经存在此分厂!请不要重复添加!", c) + return + } else { + saveData["bf_name"] = requestData.Title + } + } + if requestData.GroupId != 0 { + saveData["bf_group"] = requestData.GroupId + } + if requestData.Attribute == 0 { + requestData.Attribute = 1 + } + saveData["bf_attribute"] = requestData.Attribute + saveData["bf_time"] = time.Now().Unix() + if requestData.WechatId != 0 && requestData.WechatId != systemBFCont.WechatId { + juadgeMap := commonus.MapOut() + juadgeBfErrs := global.GVA_DB_Master.Model(&testpage.BranchFactory{}).Select("bf_wechat_id").Where("`bf_wechat_id` = ?", requestData.WechatId).First(&juadgeMap).Error + if juadgeBfErrs == nil { + juadgeMap["systemBFCont"] = requestData.WechatId + juadgeMap["systemBFCont"] = systemBFCont + response.Result(105, juadgeMap, "此微信ID已经使用!请不要重复添加!", c) + return + } else { + saveData["bf_wechat_id"] = requestData.WechatId + } + } + roleIsTrue, roleErr := eiteBranchFactoryInfo(requestData.Id, saveData) + if roleIsTrue != true { + response.Result(106, roleErr, "编辑失败!", c) + } else { + response.Result(0, saveData, "编辑成功!", c) + } +} + +//编辑分厂数据处理 +func eiteBranchFactoryInfo(saveId int64, saveData map[string]interface{}) (isTrue bool, infoErr error) { + isTrue = false + infoErr = global.GVA_DB_Master.Model(&testpage.BranchFactory{}).Where("`bf_id` = ?", saveId).Updates(saveData).Error + if infoErr != nil { + return + } + isTrue = true + return +} + +//删除分厂内容 +func (b *BranchFactory) DelBranchFactory(c *gin.Context) { + var requestData delBFType + err := c.ShouldBindJSON(&requestData) + if err != nil { + response.Result(101, requestData, "数据获取失败!", c) + return + } + if requestData.Id == 0 && requestData.OutId == "" { + response.Result(102, err, "参数错误!请重新提交!", c) + return + } + if requestData.OutId != "" { + idInt, inIntErr := strconv.ParseInt(requestData.OutId, 10, 64) + if inIntErr == nil { + requestData.Id = idInt + } + } + if requestData.State == 0 { + requestData.State = 1 + } + saveData := commonus.MapOut() + saveData["bf_set"] = requestData.State + saveData["bf_time"] = time.Now().Unix() + if requestData.IsDel != 1 { + roleIsTrue, roleErr := eiteBranchFactoryInfo(requestData.Id, saveData) + if roleIsTrue != true { + response.Result(103, roleErr, "修改失败!", c) + return + } + response.Result(0, requestData, "修改成功!", c) + } else { + if requestData.State == 3 { + roleErr := global.GVA_DB_Master.Where("bf_id = ?", requestData.Id).Delete(&testpage.BranchFactory{}).Error + if roleErr != nil { + response.Result(104, saveData, "删除失败!", c) + return + } + response.Result(0, saveData, "删除成功!", c) + } else { + roleIsTrue, roleErr := eiteBranchFactoryInfo(requestData.Id, saveData) + if roleIsTrue != true { + response.Result(103, roleErr, "修改失败!", c) + return + } + response.Result(0, requestData, "修改成功!", c) + } + } +} diff --git a/gin_server_admin/api/admin/groupmanagement/branchfactorygroup/duties.go b/gin_server_admin/api/admin/groupmanagement/branchfactorygroup/duties.go new file mode 100644 index 0000000..7140aa5 --- /dev/null +++ b/gin_server_admin/api/admin/groupmanagement/branchfactorygroup/duties.go @@ -0,0 +1,318 @@ +package branchfactorygroup + +import ( + "strconv" + "time" + + "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/gin-gonic/gin" +) + +/* +职务 duties +*/ +//入口 +func (d *DutiesApi) Index(c *gin.Context) { + outPut := commonus.MapOut() + response.Result(0, outPut, "职务基础设定入口", c) +} + +//职务列表 +func (d *DutiesApi) DutiesList(c *gin.Context) { + isTrue, SysAdminCont := commonus.AdminClientIdentity() + if isTrue != true { + response.Result(101, isTrue, "您的身份令牌已经失效!请重新登录获取身份令牌!", c) + return + } + + var requestData WorKSectionList + c.ShouldBindJSON(&requestData) + if requestData.PageSize == 0 { + requestData.PageSize = 20 + } + if requestData.Page <= 0 { + requestData.Page = 1 + } + offSetPage := commonus.CalculatePages(requestData.Page, requestData.PageSize) + gormDb := global.GVA_DB_Master.Model(&testpage.Position{}) + if SysAdminCont.Group != "1" { + gormDb = gormDb.Where("`ps_group` = ?", SysAdminCont.Group) + if SysAdminCont.AttriBute != "0" { + gormDb = gormDb.Where("`ps_bf_id` = ?", SysAdminCont.AttriBute) + } + } + if requestData.State != 0 { + gormDb = gormDb.Where("`ps_set` = ?", requestData.State) + } + if requestData.GroupId != 0 { + gormDb = gormDb.Where("`ps_group` = ?", requestData.GroupId) + } + if requestData.BranchFactory != 0 { + gormDb = gormDb.Where("`ps_bf_id` = ?", requestData.BranchFactory) + } + if requestData.Title != "" { + gormDb = gormDb.Where("(`ps_name` LIKE ?)", "%"+requestData.Title+"%") + } + var total int64 + totalErr := gormDb.Count(&total).Error + if totalErr != nil { + total = 0 + } + var systemRoleList []testpage.Position + systemRoleListerr := gormDb.Limit(requestData.PageSize).Offset(offSetPage).Order("ps_id desc").Find(&systemRoleList).Error + if systemRoleListerr != nil { + response.Result(102, systemRoleListerr, "数据获取失败!", c) + return + } + var putBfList []WorKSectionListPrint + for _, val := range systemRoleList { + var putBfCont WorKSectionListPrint + putBfCont.Id = val.Id + putBfCont.Name = val.Name + putBfCont.Set = val.Set + putBfCont.DepartmentId = val.BranchFactoryID + putBfCont.Time = val.Time + putBfCont.SysUid = val.Sysuid + putBfCont.Group = val.Group + putBfCont.EiteTime = val.EiteTime + groupIsTrue, groupCont := commonus.GetGroupInfo(val.Group) + if groupIsTrue == true { + putBfCont.GroupName = groupCont.Name + } + + bfIsTrue, bfCont := commonus.GetBranchFactory(val.BranchFactoryID) + if bfIsTrue == true { + putBfCont.BranchFactoryName = bfCont.Name + } + putBfList = append(putBfList, putBfCont) + } + + countSum := len(putBfList) + printData := commonus.OutPutList(total, int64(countSum), requestData.Page, requestData.PageSize, putBfList) + response.Result(0, printData, "查询成功!", c) +} + +//获取职务信息 +func (w *DutiesApi) GetDutiesCont(c *gin.Context) { + var requestData commonus.SetIds + err := c.ShouldBindJSON(&requestData) + if err != nil { + response.Result(102, requestData, "数据获取失败!", c) + return + } + if requestData.Id == 0 && requestData.OutId == "" { + response.Result(102, err, "参数错误!请重新提交!", c) + return + } + if requestData.OutId != "" { + idInt, inIntErr := strconv.ParseInt(requestData.OutId, 10, 64) + if inIntErr == nil { + requestData.Id = idInt + } + } + var systemBFCont testpage.Position + contErr := global.GVA_DB_Master.Where("`ps_id` = ?", requestData.Id).First(&systemBFCont).Error + if contErr != nil { + response.Result(102, err, "数据获取失败!", c) + return + } + response.Result(0, systemBFCont, "数据获取成功!", c) +} + +//添加职务 +func (w *DutiesApi) AddDutiesCont(c *gin.Context) { + isTrue, SysAdminCont := commonus.AdminClientIdentity() + if isTrue != true { + response.Result(101, isTrue, "您的身份令牌已经失效!请重新登录获取身份令牌!", c) + return + } + + var requestData AddDutiesInfo + err := c.ShouldBindJSON(&requestData) + if err != nil { + response.Result(102, err, "参数错误!请重新提交!", c) + return + } + if requestData.Title == "" { + response.Result(103, err, "请输入职务名称!", c) + return + } + if requestData.BranchFactoryId == 0 { + response.Result(104, err, "请选择归属分厂(部室)!", c) + return + } + if requestData.Weight == 0 { + requestData.Weight = 1 + } + if requestData.Genexa == 0 { + requestData.Genexa = 2 + } + uid, uidErr := strconv.ParseInt(SysAdminCont.UserKey, 10, 64) + if uidErr != nil { + response.Result(105, uidErr, "参数错误!请重新提交!", c) + return + } + bfIsTrue, bfCont := commonus.GetBranchFactory(requestData.BranchFactoryId) + if bfIsTrue != true { + response.Result(106, uidErr, "您选择归属分厂(部室)不存在!请慎重提交数据!", c) + return + } + + //判断该职务是否已经存在 + juadgeMap := commonus.MapOut() + juadgeBfErr := global.GVA_DB_Master.Model(&testpage.Position{}).Select("ws_name").Where("`ps_name` = ? AND `ps_ws_id` = ?", requestData.Title, requestData.BranchFactoryId).First(&juadgeMap).Error + if juadgeBfErr == nil { + response.Result(107, juadgeMap, "该分厂下已经存在此职务!请不要重复添加!", c) + return + } + + var addPostCont testpage.Position + addPostCont.Name = requestData.Title + addPostCont.Set = 1 + addPostCont.WorkId = 0 + addPostCont.BranchFactoryID = requestData.BranchFactoryId + addPostCont.Time = time.Now().Unix() + addPostCont.EiteTime = time.Now().Unix() + addPostCont.Sysuid = uid + addPostCont.Weight = requestData.Weight + addPostCont.Genexa = requestData.Genexa + addPostCont.Group = bfCont.Group + + addErr := global.GVA_DB_Master.Create(&addPostCont).Error + if addErr != nil { + response.Result(105, requestData, "添加失败!", c) + } else { + response.Result(0, addPostCont, "添加成功!", c) + } +} + +//编辑职务数据处理 +func eiteDutiesInfoes(saveId int64, saveData map[string]interface{}) (isTrue bool, infoErr error) { + isTrue = false + infoErr = global.GVA_DB_Master.Model(&testpage.Position{}).Where("`ps_id` = ?", saveId).Updates(saveData).Error + if infoErr != nil { + return + } + isTrue = true + return +} + +//编辑职务数据 +func (w *DutiesApi) EiteDutiesCont(c *gin.Context) { + var requestData EiteDutiesInfo + err := c.ShouldBindJSON(&requestData) + if err != nil { + response.Result(102, requestData, "数据获取失败!", c) + return + } + if requestData.Id == 0 && requestData.OutId == "" { + response.Result(102, err, "参数错误!请重新提交!", c) + return + } + if requestData.OutId != "" { + idInt, inIntErr := strconv.ParseInt(requestData.OutId, 10, 64) + if inIntErr == nil { + requestData.Id = idInt + } + } + if requestData.Title == "" { + response.Result(103, err, "请输入职务名称!", c) + return + } + if requestData.BranchFactoryId == 0 { + response.Result(104, err, "请选择归属分厂(部室)!", c) + return + } + if requestData.Weight == 0 { + requestData.Weight = 1 + } + if requestData.Genexa == 0 { + requestData.Genexa = 2 + } + bfIsTrue, bfCont := commonus.GetBranchFactory(requestData.BranchFactoryId) + if bfIsTrue != true { + response.Result(106, bfCont, "您选择归属分厂(部室)不存在!请慎重提交数据!", c) + return + } + saveData := commonus.MapOut() + saveData["ps_eite_time"] = time.Now().Unix() + var oldWorkCont testpage.Position + contErr := global.GVA_DB_Master.Where("`ps_id` = ?", requestData.Id).First(&oldWorkCont).Error + if contErr != nil { + response.Result(103, contErr, "数据获取失败!", c) + return + } + if requestData.Title != "" && requestData.Title != oldWorkCont.Name { + juadgeMaps := commonus.MapOut() + contErr := global.GVA_DB_Master.Model(&testpage.Position{}).Where("`ps_name` = ? AND `ps_bf_id` = ?", requestData.Title, requestData.BranchFactoryId).First(&juadgeMaps).Error + if contErr == nil { + response.Result(104, juadgeMaps, "该分厂(部室)下已经存在此职务!请不要重复添加!", c) + return + } else { + saveData["ps_name"] = requestData.Title + } + } + if requestData.BranchFactoryId != 0 && requestData.BranchFactoryId != oldWorkCont.BranchFactoryID { + saveData["ps_bf_id"] = requestData.BranchFactoryId + saveData["ps_group"] = bfCont.Group + } + roleIsTrue, roleErr := eiteDutiesInfoes(requestData.Id, saveData) + if roleIsTrue != true { + response.Result(106, roleErr, "编辑失败!", c) + } else { + response.Result(0, saveData, "编辑成功!", c) + } +} + +//删除工段内容 +func (w *DutiesApi) DelDutiesCont(c *gin.Context) { + var requestData delBFType + err := c.ShouldBindJSON(&requestData) + if err != nil { + response.Result(101, requestData, "数据获取失败!", c) + return + } + if requestData.Id == 0 && requestData.OutId == "" { + response.Result(102, err, "参数错误!请重新提交!", c) + return + } + if requestData.OutId != "" { + idInt, inIntErr := strconv.ParseInt(requestData.OutId, 10, 64) + if inIntErr == nil { + requestData.Id = idInt + } + } + if requestData.State == 0 { + requestData.State = 1 + } + saveData := commonus.MapOut() + saveData["ps_set"] = requestData.State + saveData["ps_eite_time"] = time.Now().Unix() + if requestData.IsDel != 1 { + roleIsTrue, roleErr := eiteDutiesInfoes(requestData.Id, saveData) + if roleIsTrue != true { + response.Result(103, roleErr, "修改失败!", c) + return + } + response.Result(0, requestData, "修改成功!", c) + } else { + if requestData.State == 3 { + roleErr := global.GVA_DB_Master.Where("ps_id = ?", requestData.Id).Delete(&testpage.Position{}).Error + if roleErr != nil { + response.Result(104, saveData, "删除失败!", c) + return + } + response.Result(0, saveData, "删除成功!", c) + } else { + roleIsTrue, roleErr := eiteDutiesInfoes(requestData.Id, saveData) + if roleIsTrue != true { + response.Result(103, roleErr, "修改失败!", c) + return + } + response.Result(0, requestData, "修改成功!", c) + } + } +} diff --git a/gin_server_admin/api/admin/groupmanagement/branchfactorygroup/enter.go b/gin_server_admin/api/admin/groupmanagement/branchfactorygroup/enter.go new file mode 100644 index 0000000..06eec82 --- /dev/null +++ b/gin_server_admin/api/admin/groupmanagement/branchfactorygroup/enter.go @@ -0,0 +1,8 @@ +package branchfactorygroup + +type ApiGroup struct { + BranchFactory + WorkshopSectionApi + DutiesApi + TeamApi +} diff --git a/gin_server_admin/api/admin/groupmanagement/branchfactorygroup/team.go b/gin_server_admin/api/admin/groupmanagement/branchfactorygroup/team.go new file mode 100644 index 0000000..da5bfbf --- /dev/null +++ b/gin_server_admin/api/admin/groupmanagement/branchfactorygroup/team.go @@ -0,0 +1,217 @@ +package branchfactorygroup + +import ( + "strconv" + "time" + + "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/gin-gonic/gin" +) + +//入口 +func (t *TeamApi) Index(c *gin.Context) { + outPut := commonus.MapOut() + response.Result(0, outPut, "班组基础设定入口", c) +} + +//获取班组列表 +func (t *TeamApi) TeamApiList(c *gin.Context) { + var requestData TeamList + c.ShouldBindJSON(&requestData) + gormDb := global.GVA_DB_Master + if requestData.State != 0 { + gormDb = gormDb.Where("`tm_set` = ?", requestData.State) + } + if requestData.Shifts != 0 { + gormDb = gormDb.Where("`tm_long` = ?", requestData.Shifts) + } + if requestData.Title != "" { + gormDb = gormDb.Where("(`tm_name` LIKE ?)", "%"+requestData.Title+"%") + } + var systemRoleList []testpage.Teaming + systemRoleListerr := gormDb.Order("tm_id desc").Find(&systemRoleList).Error + if systemRoleListerr != nil { + response.Result(102, systemRoleListerr, "数据获取失败!", c) + return + } + response.Result(0, systemRoleList, "数据获取成功!", c) +} + +//获取班组详细内容 +func (t *TeamApi) GetTeamContApi(c *gin.Context) { + var requestData commonus.SetIds + err := c.ShouldBindJSON(&requestData) + if err != nil { + response.Result(102, requestData, "数据获取失败!", c) + return + } + if requestData.Id == 0 && requestData.OutId == "" { + response.Result(102, err, "参数错误!请重新提交!", c) + return + } + if requestData.OutId != "" { + idInt, inIntErr := strconv.ParseInt(requestData.OutId, 10, 64) + if inIntErr == nil { + requestData.Id = idInt + } + } + var systemBFCont testpage.Teaming + contErr := global.GVA_DB_Master.Where("`tm_id` = ?", requestData.Id).First(&systemBFCont).Error + if contErr != nil { + response.Result(102, err, "数据获取失败!", c) + return + } + response.Result(0, systemBFCont, "数据获取成功!", c) +} + +//添加班组 +func (t *TeamApi) AddTeamContApi(c *gin.Context) { + var requestData AddTeam + err := c.ShouldBindJSON(&requestData) + if err != nil { + response.Result(102, requestData, "数据获取失败!", c) + return + } + if requestData.Title == "" { + response.Result(102, requestData, "请输入班组名称!", c) + return + } + if requestData.Shifts == 0 { + requestData.Shifts = 1 + } + //判断该班组是否已经存在 + juadgeMap := commonus.MapOut() + juadgeBfErr := global.GVA_DB_Master.Model(&testpage.Teaming{}).Select("tm_name").Where("`tm_name` = ? AND `tm_set` = 1", requestData.Title).First(&juadgeMap).Error + if juadgeBfErr == nil { + response.Result(107, juadgeMap, "该班组已经存在!请不要重复添加!", c) + return + } + var addTeamCont testpage.Teaming + addTeamCont.Name = requestData.Title + addTeamCont.Time = time.Now().Unix() + addTeamCont.Set = 1 + addTeamCont.Long = requestData.Shifts + addErr := global.GVA_DB_Master.Create(&addTeamCont).Error + if addErr != nil { + response.Result(105, requestData, "添加失败!", c) + } else { + response.Result(0, addTeamCont, "添加成功!", c) + } +} + +//编辑班组数据处理 +func eiteTeamInfoes(saveId int64, saveData map[string]interface{}) (isTrue bool, infoErr error) { + isTrue = false + infoErr = global.GVA_DB_Master.Model(&testpage.Teaming{}).Where("`tm_id` = ?", saveId).Updates(saveData).Error + if infoErr != nil { + return + } + isTrue = true + return +} + +//修改班组 +func (t *TeamApi) EiteTeamContApi(c *gin.Context) { + var requestData EiteTeam + err := c.ShouldBindJSON(&requestData) + if err != nil { + response.Result(102, requestData, "数据获取失败!", c) + return + } + if requestData.Id == 0 && requestData.OutId == "" { + response.Result(102, err, "参数错误!请重新提交!", c) + return + } + if requestData.OutId != "" { + idInt, inIntErr := strconv.ParseInt(requestData.OutId, 10, 64) + if inIntErr == nil { + requestData.Id = idInt + } + } + if requestData.Title == "" { + response.Result(103, err, "请输入班组名称!", c) + return + } + + saveData := commonus.MapOut() + saveData["tm_time"] = time.Now().Unix() + var oldWorkCont testpage.Teaming + contErr := global.GVA_DB_Master.Where("`tm_id` = ?", requestData.Id).First(&oldWorkCont).Error + if contErr != nil { + response.Result(103, contErr, "数据获取失败!", c) + return + } + if requestData.Title != "" && requestData.Title != oldWorkCont.Name { + juadgeMaps := commonus.MapOut() + contErr := global.GVA_DB_Master.Model(&testpage.Teaming{}).Where("`tm_name` = ? AND `tm_set` = 1", requestData.Title).First(&juadgeMaps).Error + if contErr == nil { + response.Result(104, juadgeMaps, "已经存在此班组!请不要重复添加!", c) + return + } else { + saveData["tm_name"] = requestData.Title + } + } + if requestData.Shifts != 0 && requestData.Shifts != oldWorkCont.Long { + saveData["tm_long"] = requestData.Shifts + } + + roleIsTrue, roleErr := eiteTeamInfoes(requestData.Id, saveData) + if roleIsTrue != true { + response.Result(106, roleErr, "编辑失败!", c) + } else { + response.Result(0, saveData, "编辑成功!", c) + } +} + +//删除版主内容 +func (w *TeamApi) DelTeamCont(c *gin.Context) { + var requestData delBFType + err := c.ShouldBindJSON(&requestData) + if err != nil { + response.Result(101, requestData, "数据获取失败!", c) + return + } + if requestData.Id == 0 && requestData.OutId == "" { + response.Result(102, err, "参数错误!请重新提交!", c) + return + } + if requestData.OutId != "" { + idInt, inIntErr := strconv.ParseInt(requestData.OutId, 10, 64) + if inIntErr == nil { + requestData.Id = idInt + } + } + if requestData.State == 0 { + requestData.State = 1 + } + saveData := commonus.MapOut() + saveData["tm_set"] = requestData.State + saveData["tm_time"] = time.Now().Unix() + if requestData.IsDel != 1 { + roleIsTrue, roleErr := eiteTeamInfoes(requestData.Id, saveData) + if roleIsTrue != true { + response.Result(103, roleErr, "修改失败!", c) + return + } + response.Result(0, requestData, "修改成功!", c) + } else { + if requestData.State == 3 { + roleErr := global.GVA_DB_Master.Where("tm_id = ?", requestData.Id).Delete(&testpage.Teaming{}).Error + if roleErr != nil { + response.Result(104, saveData, "删除失败!", c) + return + } + response.Result(0, saveData, "删除成功!", c) + } else { + roleIsTrue, roleErr := eiteTeamInfoes(requestData.Id, saveData) + if roleIsTrue != true { + response.Result(103, roleErr, "修改失败!", c) + return + } + response.Result(0, requestData, "修改成功!", c) + } + } +} diff --git a/gin_server_admin/api/admin/groupmanagement/branchfactorygroup/type.go b/gin_server_admin/api/admin/groupmanagement/branchfactorygroup/type.go new file mode 100644 index 0000000..5e93a83 --- /dev/null +++ b/gin_server_admin/api/admin/groupmanagement/branchfactorygroup/type.go @@ -0,0 +1,117 @@ +package branchfactorygroup + +import ( + "github.com/flipped-aurora/gin-vue-admin/server/commonus" + "github.com/flipped-aurora/gin-vue-admin/server/model/testpage" +) + +//分厂 +type BranchFactory struct{} +type BranchFactoryList struct { + commonus.PageSetLimt + GroupId int `json:"groupid"` + State int `json:"state"` + Attribute int `json:"attribute"` + Title string `json:"title"` +} + +//分厂列表输出 +type PrintBranchFactoryList struct { + testpage.BranchFactory + GroupName string `json:"groupname"` +} + +//创建分厂 +type AddBranchFactory struct { + Title string `json:"title"` + GroupId int64 `json:"groupid"` + WechatId int `json:"wechatid"` + Attribute int64 `json:"attribute"` +} + +//修改分厂信息 +type EiteBranchFactory struct { + commonus.SetIds + AddBranchFactory +} + +//删除分厂信息 +type delBFType struct { + commonus.SetIds + State int `json:"state"` // 状态 + IsDel int `json:"isdel"` // 是否强制删除 +} + +//工段 +type WorkshopSectionApi struct{} + +//工段列表 +type WorKSectionList struct { + commonus.PageSetLimt + GroupId int64 `json:"groupid"` + BranchFactory int64 `json:"branchfactoryid"` + State int `json:"state"` + Title string `json:"title"` +} + +//工段列表输出 +type WorKSectionListPrint struct { + testpage.WorkShopsection + GroupName string `json:"groupname"` + BranchFactoryName string `json:"branchfactoryname"` +} + +//添加工段 +type AddWorkSectionInfo struct { + Title string `json:"title"` + BranchFactoryId int64 `json:"branchfactoryid"` +} + +//编辑工段内容 +type EiteWorkSectionInfo struct { + commonus.SetIds + AddWorkSectionInfo +} + +/* +职务列表输出 +*/ + +type DutiesApi struct{} + +//添加职务 +type AddDutiesInfo struct { + AddWorkSectionInfo + Weight int64 `json:"weight"` + Genexa int64 `json:"genexa"` +} + +//编辑职务 +type EiteDutiesInfo struct { + commonus.SetIds + AddDutiesInfo +} + +/* +班组 team +*/ +type TeamApi struct{} + +//班组列表 +type TeamList struct { + State int `json:"state"` + Title string `json:"title"` + Shifts int `json:"shifts"` +} + +//添加班组数据录入 +type AddTeam struct { + Title string `json:"title"` + Shifts int64 `json:"shifts"` +} + +//修改班组数据录入 +type EiteTeam struct { + commonus.SetIds + AddTeam +} diff --git a/gin_server_admin/api/admin/groupmanagement/branchfactorygroup/workshopsection.go b/gin_server_admin/api/admin/groupmanagement/branchfactorygroup/workshopsection.go new file mode 100644 index 0000000..32ce347 --- /dev/null +++ b/gin_server_admin/api/admin/groupmanagement/branchfactorygroup/workshopsection.go @@ -0,0 +1,298 @@ +package branchfactorygroup + +import ( + "strconv" + "time" + + "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/gin-gonic/gin" +) + +//入口 +func (w *WorkshopSectionApi) Index(c *gin.Context) { + outPut := commonus.MapOut() + response.Result(0, outPut, "工段基础设定入口", c) +} + +//工段列表 +func (w *WorkshopSectionApi) WorKSection(c *gin.Context) { + isTrue, SysAdminCont := commonus.AdminClientIdentity() + if isTrue != true { + response.Result(101, isTrue, "您的身份令牌已经失效!请重新登录获取身份令牌!", c) + return + } + + var requestData WorKSectionList + c.ShouldBindJSON(&requestData) + if requestData.PageSize == 0 { + requestData.PageSize = 20 + } + if requestData.Page <= 0 { + requestData.Page = 1 + } + offSetPage := commonus.CalculatePages(requestData.Page, requestData.PageSize) + gormDb := global.GVA_DB_Master.Model(&testpage.WorkShopsection{}) + if SysAdminCont.Group != "1" { + gormDb = gormDb.Where("`ws_group` = ?", SysAdminCont.Group) + if SysAdminCont.AttriBute != "0" { + gormDb = gormDb.Where("`ws_bf_id` = ?", SysAdminCont.AttriBute) + } + } + if requestData.State != 0 { + gormDb = gormDb.Where("`ws_set` = ?", requestData.State) + } + if requestData.GroupId != 0 { + gormDb = gormDb.Where("`ws_group` = ?", requestData.GroupId) + } + if requestData.BranchFactory != 0 { + gormDb = gormDb.Where("`ws_bf_id` = ?", requestData.BranchFactory) + } + if requestData.Title != "" { + gormDb = gormDb.Where("(`ws_name` LIKE ?)", "%"+requestData.Title+"%") + } + var total int64 + totalErr := gormDb.Count(&total).Error + if totalErr != nil { + total = 0 + } + var systemRoleList []testpage.WorkShopsection + systemRoleListerr := gormDb.Limit(requestData.PageSize).Offset(offSetPage).Order("ws_id desc").Find(&systemRoleList).Error + if systemRoleListerr != nil { + response.Result(102, systemRoleListerr, "数据获取失败!", c) + return + } + var putBfList []WorKSectionListPrint + for _, val := range systemRoleList { + var putBfCont WorKSectionListPrint + putBfCont.Id = val.Id + putBfCont.Name = val.Name + putBfCont.Set = val.Set + putBfCont.DepartmentId = val.DepartmentId + putBfCont.Time = val.Time + putBfCont.SysUid = val.SysUid + putBfCont.Group = val.Group + putBfCont.EiteTime = val.EiteTime + groupIsTrue, groupCont := commonus.GetGroupInfo(val.Group) + if groupIsTrue == true { + putBfCont.GroupName = groupCont.Name + } + + bfIsTrue, bfCont := commonus.GetBranchFactory(val.DepartmentId) + if bfIsTrue == true { + putBfCont.BranchFactoryName = bfCont.Name + } + putBfList = append(putBfList, putBfCont) + } + + countSum := len(putBfList) + printData := commonus.OutPutList(total, int64(countSum), requestData.Page, requestData.PageSize, putBfList) + response.Result(0, printData, "查询成功!", c) +} + +//添加工段 +func (w *WorkshopSectionApi) AddWorkSectionCont(c *gin.Context) { + isTrue, SysAdminCont := commonus.AdminClientIdentity() + if isTrue != true { + response.Result(101, isTrue, "您的身份令牌已经失效!请重新登录获取身份令牌!", c) + return + } + + var requestData AddWorkSectionInfo + err := c.ShouldBindJSON(&requestData) + if err != nil { + response.Result(102, err, "参数错误!请重新提交!", c) + return + } + if requestData.Title == "" { + response.Result(103, err, "请输入工段名称!", c) + return + } + if requestData.BranchFactoryId == 0 { + response.Result(104, err, "请选择归属分厂(部室)!", c) + return + } + uid, uidErr := strconv.ParseInt(SysAdminCont.UserKey, 10, 64) + if uidErr != nil { + response.Result(105, uidErr, "参数错误!请重新提交!", c) + return + } + bfIsTrue, bfCont := commonus.GetBranchFactory(requestData.BranchFactoryId) + if bfIsTrue != true { + response.Result(106, uidErr, "您选择归属分厂(部室)不存在!请慎重提交数据!", c) + return + } + //判断该工段是否已经存在 + juadgeMap := commonus.MapOut() + juadgeBfErr := global.GVA_DB_Master.Model(&testpage.WorkShopsection{}).Select("ws_name").Where("`ws_name` = ? AND `ws_bf_id` = ?", requestData.Title, requestData.BranchFactoryId).First(&juadgeMap).Error + if juadgeBfErr == nil { + response.Result(107, juadgeMap, "该分厂下已经存在此工段!请不要重复添加!", c) + return + } + var workShopsection testpage.WorkShopsection + workShopsection.Name = requestData.Title + workShopsection.Set = 1 + workShopsection.DepartmentId = requestData.BranchFactoryId + workShopsection.Time = time.Now().Unix() + workShopsection.SysUid = uid + workShopsection.EiteTime = time.Now().Unix() + workShopsection.Group = bfCont.Group + + addErr := global.GVA_DB_Master.Create(&workShopsection).Error + if addErr != nil { + response.Result(105, requestData, "添加失败!", c) + } else { + response.Result(0, workShopsection, "添加成功!", c) + } +} + +//获取工段信息 +func (w *WorkshopSectionApi) GetWorkSectionCont(c *gin.Context) { + var requestData commonus.SetIds + err := c.ShouldBindJSON(&requestData) + if err != nil { + response.Result(102, requestData, "数据获取失败!", c) + return + } + if requestData.Id == 0 && requestData.OutId == "" { + response.Result(102, err, "参数错误!请重新提交!", c) + return + } + if requestData.OutId != "" { + idInt, inIntErr := strconv.ParseInt(requestData.OutId, 10, 64) + if inIntErr == nil { + requestData.Id = idInt + } + } + var systemBFCont testpage.WorkShopsection + contErr := global.GVA_DB_Master.Where("`ws_id` = ?", requestData.Id).First(&systemBFCont).Error + if contErr != nil { + response.Result(102, err, "数据获取失败!", c) + return + } + response.Result(0, systemBFCont, "数据获取成功!", c) +} + +//修改工段内容 +func (w *WorkshopSectionApi) EiteWorkSectionCont(c *gin.Context) { + var requestData EiteWorkSectionInfo + err := c.ShouldBindJSON(&requestData) + if err != nil { + response.Result(102, requestData, "数据获取失败!", c) + return + } + if requestData.Id == 0 && requestData.OutId == "" { + response.Result(102, err, "参数错误!请重新提交!", c) + return + } + if requestData.OutId != "" { + idInt, inIntErr := strconv.ParseInt(requestData.OutId, 10, 64) + if inIntErr == nil { + requestData.Id = idInt + } + } + if requestData.Title == "" { + response.Result(103, err, "请输入工段名称!", c) + return + } + if requestData.BranchFactoryId == 0 { + response.Result(104, err, "请选择归属分厂(部室)!", c) + return + } + bfIsTrue, bfCont := commonus.GetBranchFactory(requestData.BranchFactoryId) + if bfIsTrue != true { + response.Result(106, bfCont, "您选择归属分厂(部室)不存在!请慎重提交数据!", c) + return + } + saveData := commonus.MapOut() + saveData["ws_eite_time"] = time.Now().Unix() + var oldWorkCont testpage.WorkShopsection + contErr := global.GVA_DB_Master.Where("`ws_id` = ?", requestData.Id).First(&oldWorkCont).Error + if contErr != nil { + response.Result(103, contErr, "数据获取失败!", c) + return + } + if requestData.Title != "" && requestData.Title != oldWorkCont.Name { + juadgeMaps := commonus.MapOut() + contErr := global.GVA_DB_Master.Model(&testpage.WorkShopsection{}).Where("`ws_name` = ? AND `ws_bf_id` = ?", requestData.Title, requestData.BranchFactoryId).First(&juadgeMaps).Error + if contErr == nil { + response.Result(104, juadgeMaps, "该分厂(部室)下已经存在此工段!请不要重复添加!", c) + return + } else { + saveData["ws_name"] = requestData.Title + } + } + if requestData.BranchFactoryId != 0 && requestData.BranchFactoryId != oldWorkCont.DepartmentId { + saveData["ws_bf_id"] = requestData.BranchFactoryId + saveData["ws_group"] = bfCont.Group + } + roleIsTrue, roleErr := eiteWorkSectionInfoes(requestData.Id, saveData) + if roleIsTrue != true { + response.Result(106, roleErr, "编辑失败!", c) + } else { + response.Result(0, saveData, "编辑成功!", c) + } +} + +//编辑工段数据处理 +func eiteWorkSectionInfoes(saveId int64, saveData map[string]interface{}) (isTrue bool, infoErr error) { + isTrue = false + infoErr = global.GVA_DB_Master.Model(&testpage.WorkShopsection{}).Where("`ws_id` = ?", saveId).Updates(saveData).Error + if infoErr != nil { + return + } + isTrue = true + return +} + +//删除工段内容 +func (w *WorkshopSectionApi) DelWorkSection(c *gin.Context) { + var requestData delBFType + err := c.ShouldBindJSON(&requestData) + if err != nil { + response.Result(101, requestData, "数据获取失败!", c) + return + } + if requestData.Id == 0 && requestData.OutId == "" { + response.Result(102, err, "参数错误!请重新提交!", c) + return + } + if requestData.OutId != "" { + idInt, inIntErr := strconv.ParseInt(requestData.OutId, 10, 64) + if inIntErr == nil { + requestData.Id = idInt + } + } + if requestData.State == 0 { + requestData.State = 1 + } + saveData := commonus.MapOut() + saveData["ws_set"] = requestData.State + saveData["ws_eite_time"] = time.Now().Unix() + if requestData.IsDel != 1 { + roleIsTrue, roleErr := eiteWorkSectionInfoes(requestData.Id, saveData) + if roleIsTrue != true { + response.Result(103, roleErr, "修改失败!", c) + return + } + response.Result(0, requestData, "修改成功!", c) + } else { + if requestData.State == 3 { + roleErr := global.GVA_DB_Master.Where("ws_id = ?", requestData.Id).Delete(&testpage.WorkShopsection{}).Error + if roleErr != nil { + response.Result(104, saveData, "删除失败!", c) + return + } + response.Result(0, saveData, "删除成功!", c) + } else { + roleIsTrue, roleErr := eiteWorkSectionInfoes(requestData.Id, saveData) + if roleIsTrue != true { + response.Result(103, roleErr, "修改失败!", c) + return + } + response.Result(0, requestData, "修改成功!", c) + } + } +} diff --git a/gin_server_admin/api/admin/groupmanagement/enter.go b/gin_server_admin/api/admin/groupmanagement/enter.go new file mode 100644 index 0000000..46c7fda --- /dev/null +++ b/gin_server_admin/api/admin/groupmanagement/enter.go @@ -0,0 +1,7 @@ +package groupmanagement + +import "github.com/flipped-aurora/gin-vue-admin/server/api/admin/groupmanagement/branchfactorygroup" + +type ApiGroup struct { + BranchFactoryApi branchfactorygroup.ApiGroup +} diff --git a/gin_server_admin/api/admin/systemuser/adminrole.go b/gin_server_admin/api/admin/systemuser/adminrole.go index 6244eb9..7ca2653 100644 --- a/gin_server_admin/api/admin/systemuser/adminrole.go +++ b/gin_server_admin/api/admin/systemuser/adminrole.go @@ -1,17 +1,98 @@ package systemuser import ( + "encoding/json" + "strconv" + "time" + + "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/systemuser" "github.com/gin-gonic/gin" ) //角色相关 +//入口 +func (s *SystemRoleApi) Index(c *gin.Context) { + outPut := commonus.MapOut() + response.Result(0, outPut, "角色管理入口获取成功", c) +} /* 角色列表 */ -func (s *SystemRoleApi) SystemRoleList(c *gin.Context) {} +func (s *SystemRoleApi) SystemRoleList(c *gin.Context) { + var requestData menuList + c.ShouldBindJSON(&requestData) + + isTrue, SysAdminCont := commonus.AdminClientIdentity() + if isTrue != true { + response.Result(101, isTrue, "您的身份令牌已经失效!请重新登录获取身份令牌!", c) + return + } + + if requestData.PageSize == 0 { + requestData.PageSize = 20 + } + if requestData.Page <= 0 { + requestData.Page = 1 + } + offSetPage := commonus.CalculatePages(requestData.Page, requestData.PageSize) + + gormDb := global.GVA_DB_Master.Model(&systemuser.SystemRole{}) + + if SysAdminCont.Group != "1" { + gormDb = gormDb.Where("`r_group` = ?", SysAdminCont.Group) + } + if SysAdminCont.AttriBute != "0" { + gormDb = gormDb.Where("`r_attribute` = ?", SysAdminCont.AttriBute) + } + if requestData.Title != "" { + gormDb = gormDb.Where("(`r_title` LIKE ?)", "%"+requestData.Title+"%") + } + + var total int64 + totalErr := gormDb.Count(&total).Error + if totalErr != nil { + total = 0 + } + var systemRoleList []systemuser.SystemRole + systemRoleListerr := gormDb.Limit(requestData.PageSize).Offset(offSetPage).Order("r_id desc").Find(&systemRoleList).Error + if systemRoleListerr != nil { + response.Result(101, systemRoleListerr, "数据获取失败!", c) + return + } + var printRoleListMap []printRoleList + for _, val := range systemRoleList { + var printRoleCont printRoleList + printRoleCont.Id = val.Id + printRoleCont.Title = val.Title + printRoleCont.State = val.State + printRoleCont.Attribute = val.Attribute + printRoleCont.Gode = val.Gode + printRoleCont.Time = val.Time + printRoleCont.UserId = val.UserId + printRoleCont.Jurisdiction = val.Jurisdiction + printRoleCont.MenuOper = val.MenuOper + printRoleCont.Wand = val.Wand + printRoleCont.Group = val.Group + groupIsTrue, groupCont := commonus.GetGroupCont(val.Group) + if groupIsTrue == true { + printRoleCont.GroupName = groupCont.Name + } + bfIsTrue, bfCont := commonus.GetBranchFactory(val.Attribute) + if bfIsTrue == true { + printRoleCont.BranchFactoryName = bfCont.Name + } + json.Unmarshal([]byte(val.Jurisdiction), &printRoleCont.JurisdictionPower) + json.Unmarshal([]byte(val.MenuOper), &printRoleCont.MenuoperPower) + printRoleListMap = append(printRoleListMap, printRoleCont) + } + countSum := len(printRoleListMap) + printData := commonus.OutPutList(total, int64(countSum), requestData.Page, requestData.PageSize, printRoleListMap) + response.Result(0, printData, "查询成功!", c) +} //获取角色详细内容 func GetAdminRoleInfo(id int64) (isTrue bool, adminRoleInfo systemuser.SystemRole) { @@ -22,3 +103,383 @@ func GetAdminRoleInfo(id int64) (isTrue bool, adminRoleInfo systemuser.SystemRol } return } + +//添加系统角色 +func (s *SystemRoleApi) AddSystemRole(c *gin.Context) { + isTrue, SysAdminCont := commonus.AdminClientIdentity() + if isTrue != true { + response.Result(101, isTrue, "您的身份令牌已经失效!请重新登录获取身份令牌!", c) + return + } + userKey, userKeyErr := strconv.ParseInt(SysAdminCont.UserKey, 10, 64) + groupId, groupIdErr := strconv.ParseInt(SysAdminCont.Group, 10, 64) + if groupIdErr != nil && userKeyErr != nil { + response.Result(102, isTrue, "您的身份令牌已经失效!请重新登录获取身份令牌!", c) + return + } + var requestData addSystemRoleType + err := c.ShouldBindJSON(&requestData) + if err != nil { + response.Result(103, requestData, "参数错误!请重新提交", c) + return + } + if requestData.Name == "" { + response.Result(104, requestData, "请输入角色名称!", c) + return + } + if requestData.Group == 0 { + response.Result(105, requestData, "请选择角色归属!", c) + return + } + var systemRoleCont systemuser.SystemRole + systemRoleCont.Title = requestData.Name + systemRoleCont.State = 1 + systemRoleCont.Time = time.Now().Unix() + systemRoleCont.UserId = userKey + + godeVal := 1 //继承属性 + if groupId == 1 { + + systemRoleCont.MenuOper = `["7","8","9","10","11","12","17"]` + systemRoleCont.Jurisdiction = `["65","66","69","70","74","59","60","63"]` + systemRoleCont.Wand = 15 + if requestData.Group > 1 { + systemRoleCont.Gode = 2 + } else { + systemRoleCont.Gode = 1 + } + switch requestData.Group { + case 1: + systemRoleCont.Attribute = int64(requestData.GroupSun) + systemRoleCont.Group = int64(requestData.Group) + case -1: + if requestData.GroupSun == 0 { + response.Result(106, requestData, "请选择角色归属!", c) + return + } + systemRoleCont.Attribute = 0 + systemRoleCont.Group = int64(requestData.GroupSun) + default: + systemRoleCont.Attribute = int64(requestData.GroupSun) + systemRoleCont.Group = int64(requestData.Group) + } + } else { + godeVal = 2 + systemRoleCont.Gode = godeVal + systemRoleCont.MenuOper = `["7","8","9","10","17","18","20","39","11","12","13","14","15","21","22","23","24","27","28","29","30","38","37","41","1","16","31","19","6","5"]` + systemRoleCont.Jurisdiction = `["65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","59","60","61","62","63","64","48","49","50","51","52","53","54","55","56","57","58","21","22","23","24","25","27","82","83","84","85","86","28","29","30","31","32","33","34","35","36","37","38"]` + systemRoleCont.Wand = 86 + systemRoleCont.Attribute = int64(requestData.GroupSun) + systemRoleCont.Group = int64(requestData.Group) + } + addErr := global.GVA_DB_Master.Create(&systemRoleCont).Error + if addErr != nil { + response.Result(106, requestData, "添加失败!", c) + } else { + response.Result(0, systemRoleCont, "添加成功!", c) + } +} + +//修改系统角色 +func (s *SystemRoleApi) EiteSystemRole(c *gin.Context) { + isTrue, SysAdminCont := commonus.AdminClientIdentity() + if isTrue != true { + response.Result(101, isTrue, "您的身份令牌已经失效!请重新登录获取身份令牌!", c) + return + } + // _, userKeyErr := strconv.ParseInt(SysAdminCont.UserKey, 10, 64) + groupId, groupIdErr := strconv.ParseInt(SysAdminCont.Group, 10, 64) + if groupIdErr != nil { + response.Result(102, isTrue, "您的身份令牌已经失效!请重新登录获取身份令牌!", c) + return + } + var requestData eiteSystemRoleType + err := c.ShouldBindJSON(&requestData) + if err != nil { + response.Result(103, requestData, "参数错误!请重新提交", c) + return + } + if requestData.Id == 0 { + response.Result(104, requestData, "参数错误!请重新提交!", c) + return + } + if requestData.Name == "" { + response.Result(105, requestData, "请输入角色名称!", c) + return + } + if requestData.Group == 0 { + response.Result(106, requestData, "请选择角色归属!", c) + return + } + eiteCont := commonus.MapOut() + eiteCont["r_title"] = requestData.Name + eiteCont["r_time"] = time.Now().Unix() + + if groupId == 1 { + if requestData.Group > 1 { + eiteCont["r_gode"] = 2 + } else { + eiteCont["r_gode"] = 1 + } + switch requestData.Group { + case 1: + eiteCont["r_attribute"] = int64(requestData.GroupSun) + eiteCont["r_group"] = int64(requestData.Group) + case -1: + if requestData.GroupSun == 0 { + response.Result(106, requestData, "请选择角色归属!", c) + return + } + eiteCont["r_attribute"] = 0 + eiteCont["r_group"] = int64(requestData.GroupSun) + default: + eiteCont["r_attribute"] = int64(requestData.GroupSun) + eiteCont["r_group"] = int64(requestData.Group) + } + } else { + eiteCont["r_attribute"] = int64(requestData.GroupSun) + eiteCont["r_group"] = int64(requestData.Group) + } + roleIsTrue, roleErr := eiteSystemRoleCont(requestData.Id, eiteCont) + // eiteErr := global.GVA_DB_Master.Model(&systemuser.SystemRole{}).Where("`r_id` = ?", requestData.Id).Updates(eiteCont).Error + if roleIsTrue != true { + response.Result(106, roleErr, "编辑失败!", c) + } else { + response.Result(0, eiteCont, "编辑成功!", c) + } +} + +//删除系统角色 +func (s *SystemRoleApi) DelSystemRole(c *gin.Context) { + + var requestData delSystemRoleType + err := c.ShouldBindJSON(&requestData) + if err != nil { + response.Result(103, requestData, "参数错误!请重新提交", c) + return + } + if requestData.Id == 0 && requestData.OutId == "" { + response.Result(102, err, "参数错误!请重新提交!", c) + return + } + if requestData.OutId != "" { + idInt, inIntErr := strconv.ParseInt(requestData.OutId, 10, 64) + if inIntErr == nil { + requestData.Id = idInt + } + } + if requestData.State == 0 { + requestData.State = 1 + } + saveData := commonus.MapOut() + saveData["r_set"] = requestData.State + saveData["r_time"] = time.Now().Unix() + if requestData.IsDel != 1 { + roleIsTrue, roleErr := eiteSystemRoleCont(requestData.Id, saveData) + if roleIsTrue != true { + response.Result(103, roleErr, "修改失败!", c) + return + } + response.Result(0, requestData, "修改成功!", c) + } else { + if requestData.State == 3 { + roleErr := global.GVA_DB_Master.Where("r_id = ?", requestData.Id).Delete(&systemuser.SystemRole{}).Error + if roleErr != nil { + response.Result(104, saveData, "删除失败!", c) + return + } + response.Result(0, saveData, "删除成功!", c) + } else { + roleIsTrue, roleErr := eiteSystemRoleCont(requestData.Id, saveData) + if roleIsTrue != true { + response.Result(103, roleErr, "修改失败!", c) + return + } + response.Result(0, requestData, "修改成功!", c) + } + } +} + +//获取系统角色详情 +func (s *SystemRoleApi) GetSystemRole(c *gin.Context) { + + var requestData commonus.SetId + err := c.ShouldBindJSON(&requestData) + if err != nil { + response.Result(103, requestData, "参数错误!请重新提交", c) + return + } + if requestData.Id == 0 && requestData.OutId == "" { + response.Result(102, err, "参数错误!请重新提交!", c) + return + } + if requestData.OutId != "" { + idInt, inIntErr := strconv.ParseInt(requestData.OutId, 10, 64) + if inIntErr == nil { + requestData.Id = idInt + } + } + var systemRoleCont systemuser.SystemRole + contErr := global.GVA_DB_Master.Where("`r_id` = ?", requestData.Id).First(&systemRoleCont).Error + if contErr != nil { + response.Result(102, err, "数据获取失败!", c) + return + } + var printRoleCont printRoleList + printRoleCont.Id = systemRoleCont.Id + printRoleCont.Title = systemRoleCont.Title + printRoleCont.State = systemRoleCont.State + printRoleCont.Attribute = systemRoleCont.Attribute + printRoleCont.Gode = systemRoleCont.Gode + printRoleCont.Time = systemRoleCont.Time + printRoleCont.UserId = systemRoleCont.UserId + printRoleCont.Jurisdiction = systemRoleCont.Jurisdiction + printRoleCont.MenuOper = systemRoleCont.MenuOper + printRoleCont.Wand = systemRoleCont.Wand + printRoleCont.Group = systemRoleCont.Group + groupIsTrue, groupCont := commonus.GetGroupCont(systemRoleCont.Group) + if groupIsTrue == true { + printRoleCont.GroupName = groupCont.Name + } + bfIsTrue, bfCont := commonus.GetBranchFactory(systemRoleCont.Attribute) + if bfIsTrue == true { + printRoleCont.BranchFactoryName = bfCont.Name + } + json.Unmarshal([]byte(systemRoleCont.Jurisdiction), &printRoleCont.JurisdictionPower) + json.Unmarshal([]byte(systemRoleCont.MenuOper), &printRoleCont.MenuoperPower) + response.Result(0, printRoleCont, "数据获取成功!", c) +} + +//编辑角色数据处理 +func eiteSystemRoleCont(saveId int64, saveData map[string]interface{}) (isTrue bool, infoErr error) { + isTrue = false + infoErr = global.GVA_DB_Master.Model(&systemuser.SystemRole{}).Where("`r_id` = ?", saveId).Updates(saveData).Error + if infoErr != nil { + return + } + isTrue = true + return +} + +//获取角色权限配置清单 +func (s *SystemRoleApi) GetPowerConfig(c *gin.Context) { + var requestData commonus.SetId + err := c.ShouldBindJSON(&requestData) + if err != nil { + response.Result(103, requestData, "参数错误!请重新提交", c) + return + } + if requestData.Id == 0 && requestData.OutId == "" { + response.Result(102, err, "参数错误!请重新提交!", c) + return + } + if requestData.OutId != "" { + idInt, inIntErr := strconv.ParseInt(requestData.OutId, 10, 64) + if inIntErr == nil { + requestData.Id = idInt + } + } + var systemRoleCont systemuser.SystemRole + contErr := global.GVA_DB_Master.Where("`r_id` = ?", requestData.Id).First(&systemRoleCont).Error + if contErr != nil { + response.Result(102, err, "数据获取失败!", c) + return + } + _, datahhh := GetMenuOperation(systemRoleCont.MenuOper, systemRoleCont.Jurisdiction) + response.Result(0, datahhh, "数据获取失败!", c) +} + +//遍历确权 +func GetMenuOperation(menuStr, menuOperStr string) (isTrue bool, sendData []powerConfigList) { + isTrue = false + var menuStrMap []string + var menuOperStrMap []string + + json.Unmarshal([]byte(menuStr), &menuStrMap) + json.Unmarshal([]byte(menuOperStr), &menuOperStrMap) + + var systemMenuList []systemuser.SystemMenu + menuOperErr := global.GVA_DB_Master.Where("`m_steat` IN ?", []int{1, 2}).Order("m_sort asc").Order("m_id desc").Find(&systemMenuList).Error + if menuOperErr != nil { + return + } + + sendData = GetMenuPowerThree(1, 0, systemMenuList, menuStrMap, menuOperStrMap) + return +} + +//递归无限树 +func GetMenuPowerThree(jurisd int, parentId int64, threeData []systemuser.SystemMenu, menuStrMap, menuOperStrMap []string) []powerConfigList { + // treeList := []SystemMenuThree{} + treeListPower := []powerConfigList{} + for _, v := range threeData { + if v.ParentId == parentId { + var powerConfigCont powerConfigList + powerConfigCont.Id = v.Id + powerConfigCont.Title = v.Title + powerConfigCont.IsTrue = JudeInArray(v.Id, menuStrMap) + child := GetMenuPowerThree(jurisd, v.Id, threeData, menuStrMap, menuOperStrMap) + powerConfigCont.Child = child + isTrue, menuOper := MenuOperation(jurisd, v.Id) + if isTrue == true { + var operList []powerCont + for _, oper_val := range menuOper { + var operCont powerCont + operCont.Id = oper_val.OperId + operCont.Title = oper_val.OperTitle + operCont.IsTrue = JudeInArray(oper_val.OperId, menuOperStrMap) + operList = append(operList, operCont) + } + powerConfigCont.MenuOperation = operList + } + + treeListPower = append(treeListPower, powerConfigCont) + } + } + return treeListPower +} + +//判断值是否在数组中 +func JudeInArray(id int64, ary []string) (isTrue bool) { + isTrue = false + for _, val := range ary { + valint64, err := strconv.ParseInt(val, 10, 64) + if err == nil { + if id == valint64 { + isTrue = true + } + } + } + return +} + +//配置角色权限 +func (s *SystemRoleApi) SetPowerConfig(c *gin.Context) { + var requestData SetPowerCont + err := c.ShouldBindJSON(&requestData) + if err != nil { + response.Result(103, requestData, "参数错误!请重新提交", c) + return + } + if requestData.Id == 0 && requestData.OutId == "" { + response.Result(102, err, "参数错误!请重新提交!", c) + return + } + if requestData.OutId != "" { + idInt, inIntErr := strconv.ParseInt(requestData.OutId, 10, 64) + if inIntErr == nil { + requestData.Id = idInt + } + } + eiteCont := commonus.MapOut() + eiteCont["r_menu_oper"] = requestData.Menu + eiteCont["r_jurisdiction"] = requestData.MenuOper + eiteCont["r_time"] = time.Now().Unix() + roleIsTrue, roleErr := eiteSystemRoleCont(requestData.Id, eiteCont) + // eiteErr := global.GVA_DB_Master.Model(&systemuser.SystemRole{}).Where("`r_id` = ?", requestData.Id).Updates(eiteCont).Error + if roleIsTrue != true { + response.Result(106, roleErr, "编辑失败!", c) + } else { + response.Result(0, eiteCont, "编辑成功!", c) + } +} diff --git a/gin_server_admin/api/admin/systemuser/menutype.go b/gin_server_admin/api/admin/systemuser/menutype.go new file mode 100644 index 0000000..7bb01aa --- /dev/null +++ b/gin_server_admin/api/admin/systemuser/menutype.go @@ -0,0 +1,70 @@ +package systemuser + +import ( + "github.com/flipped-aurora/gin-vue-admin/server/commonus" + "github.com/flipped-aurora/gin-vue-admin/server/model/systemuser" +) + +//查询角色列表 +type menuList struct { + commonus.PageSetLimt + Title string `json:"title"` +} + +//输出角色列表 +type printRoleList struct { + systemuser.SystemRole + GroupName string `json:"groupname"` + BranchFactoryName string `json:"branchFactoryname"` + JurisdictionPower []string `json:"jurisdictionpower"` + MenuoperPower []string `json:"jmenuoperpower"` +} + +//添加角色获取数据 +type addSystemRoleType struct { + Name string `json:"name"` //角色名称 + Group int `json:"group"` //顶级归属 + GroupSun int `json:"groupsun"` //次级归属 +} + +//修改系统角色 +type eiteSystemRoleType struct { + commonus.SetIds + addSystemRoleType +} + +//删除角色 +type delSystemRoleType struct { + commonus.SetIds + State int `json:"state"` // 状态 + IsDel int `json:"isdel"` // 是否强制删除 +} + +/* +配置系统角色 +*/ +//权限列表基础字段 +type powerCont struct { + Id int64 `json:"id"` + Title string `json:"title"` + IsTrue bool `json:"istrue"` +} + +//权限树 +type powerConfigList struct { + powerCont + Child []powerConfigList `json:"child"` + MenuOperation []powerCont `json:"menuOperation"` +} + +//ID映射用 +type powerStrToInt struct { + val int64 `json:"val"` +} + +//获取配置权限参数 +type SetPowerCont struct { + commonus.SetIds + Menu string `json:"menu"` + MenuOper string `json:menuoper` +} diff --git a/gin_server_admin/api/admin/systemuser/userhandle.go b/gin_server_admin/api/admin/systemuser/userhandle.go index d33cb03..adac917 100644 --- a/gin_server_admin/api/admin/systemuser/userhandle.go +++ b/gin_server_admin/api/admin/systemuser/userhandle.go @@ -2,12 +2,15 @@ package systemuser import ( "strconv" + "time" "github.com/flipped-aurora/gin-vue-admin/server/api/v1/assessment" "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/systemuser" + "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" ) @@ -153,3 +156,410 @@ func GetSysAdminLoginInfo(userName, userPwd string) (isTrue bool, sysAdminInfo a isTrue = true return } + +//获取管理员分组列表 +func (s *SystemUserApi) SystemAdminGroupList(c *gin.Context) { + isTrue, SysAdminCont := commonus.AdminClientIdentity() + if isTrue != true { + response.Result(101, isTrue, "您的身份令牌已经失效!请重新登录获取身份令牌!", c) + return + } + var sysRoleList []systemuser.SystemRole + gormDb := global.GVA_DB_Master + if SysAdminCont.Group != "1" { + gormDb = gormDb.Where("`r_group` = ?", SysAdminCont.Group) + } + roleListErr := gormDb.Where("`r_set` = ? AND `r_gode` = ?", 1, 1).Find(&sysRoleList).Error + if roleListErr != nil { + response.Result(101, roleListErr, "数据获取失败!", c) + return + } + var systemAdminGroup []SystemAdminGroup + var systemAdminGroupSun []SystemAdminGroup + for _, r_val := range sysRoleList { + var systemAdminGroupSunCont SystemAdminGroup + systemAdminGroupSunCont.Id = r_val.Id + systemAdminGroupSunCont.OutId = strconv.FormatInt(r_val.Id, 10) + systemAdminGroupSunCont.Title = r_val.Title + systemAdminGroupSun = append(systemAdminGroupSun, systemAdminGroupSunCont) + } + var systemAdminGroupOen SystemAdminGroup + systemAdminGroupOen.Id = 1 + systemAdminGroupOen.OutId = "1" + systemAdminGroupOen.Title = "主系统角色" + systemAdminGroupOen.Child = systemAdminGroupSun + systemAdminGroup = append(systemAdminGroup, systemAdminGroupOen) + + //获取系统结构列表 + var groupStruct []wechat.GroupForm //集团表结构 + groupErr := global.GVA_DB_WatchDate.Where("`g_parentid` = 1 AND `g_sate` = 1").Find(&groupStruct).Error + if groupErr == nil { + //获取集团对应的分厂 + // var groupBf []SystemAdminGroup + for _, g_val := range groupStruct { + var groupBfcon SystemAdminGroup + groupBfcon.Id = g_val.Id + groupBfcon.OutId = strconv.FormatInt(g_val.Id, 10) + groupBfcon.Title = g_val.Name + childGroupErr, childGroup := groupBfRole(g_val.Id) + if childGroupErr == true { + groupBfcon.Child = childGroup + } + systemAdminGroup = append(systemAdminGroup, groupBfcon) + } + } + // systemAdminGroup = append(systemAdminGroup, ) + response.Result(0, systemAdminGroup, "查询成功!", c) +} + +//根据具体获取分厂结构及管理角色 +func groupBfRole(groupId int64) (isTrue bool, bfRoleAry []SystemAdminGroup) { + isTrue = false + var branchFactory []testpage.BranchFactory + err := global.GVA_DB_Master.Where("bf_group = ?", groupId).Find(&branchFactory).Error + if err != nil { + return + } + for _, val := range branchFactory { + var bfRoleCont SystemAdminGroup + bfRoleCont.Id = val.Id + bfRoleCont.OutId = strconv.FormatInt(val.Id, 10) + bfRoleCont.Title = val.Name + childGroupErr, childGroup := GetBfRole(val.Id) + if childGroupErr == true { + bfRoleCont.Child = childGroup + } + bfRoleAry = append(bfRoleAry, bfRoleCont) + } + isTrue = true + return +} + +//获取分厂角色 +func GetBfRole(bfId int64) (isTrue bool, bfRoleAry []SystemAdminGroup) { + isTrue = false + var branchFactory []systemuser.SystemRole + err := global.GVA_DB_Master.Where("r_attribute = ?", bfId).Find(&branchFactory).Error + if err != nil { + return + } + for _, val := range branchFactory { + var bfRoleCont SystemAdminGroup + bfRoleCont.Id = val.Id + bfRoleCont.OutId = strconv.FormatInt(val.Id, 10) + bfRoleCont.Title = val.Title + bfRoleAry = append(bfRoleAry, bfRoleCont) + } + isTrue = true + return +} + +//添加系统管理员 +func (s *SystemUserApi) AddSystemAdmin(c *gin.Context) { + var requestData AddSysAdmin + err := c.ShouldBindJSON(&requestData) + if err != nil { + response.Result(101, err, "参数错误!请重新提交!", c) + return + } + if requestData.UserName == "" { + response.Result(102, requestData, "请输入用户账号!", c) + return + } + if requestData.Password == "" { + response.Result(103, requestData, "请输入登录密码!", c) + return + } + if requestData.ConfirmPassword == "" { + response.Result(104, requestData, "请输入确认密码!", c) + return + } + if requestData.Password != requestData.ConfirmPassword { + response.Result(105, requestData, "您两次输入的密码不一致!请重新提交!", c) + return + } + if requestData.Role == 0 { + response.Result(106, requestData, "请选择账号所属角色!", c) + return + } + if requestData.Name == "" { + response.Result(107, requestData, "请输入使用者姓名!", c) + return + } + //查询该用户名是否已经使用 + adminCont := commonus.MapOut() + juadeAdminErr := global.GVA_DB_Master.Model(&systemuser.SystemUser{}).Select("u_name").Where("`u_name` = ?", requestData.UserName).First(&adminCont).Error + if juadeAdminErr == nil { + response.Result(110, requestData, "该用户名已经存在!请不要重复添加!", c) + return + } + //密码加密 + var md5JiaMi commonus.Md5Encryption + md5JiaMi.Md5EncryptionInit(requestData.ConfirmPassword) + md5Password := md5JiaMi.Md5EncryptionAlgorithm() + //编号 + numKey := commonus.GetFileNumberEs() + //获取角色详情 + roleIsTurn, roleCont := GetAdminRoleInfo(requestData.Role) + + var sysAdminCont systemuser.SystemUser + var sysAdminAttrCont systemuser.SystemUserAttribute + sysAdminCont.Name = requestData.UserName + sysAdminCont.PassWord = md5Password + sysAdminCont.Role = requestData.Role + sysAdminCont.State = 1 + sysAdminCont.Attribute = requestData.RoleGroup + sysAdminCont.Time = time.Now().Unix() + sysAdminCont.EiteTime = time.Now().Unix() + sysAdminCont.Key = numKey + if roleIsTurn == true { + sysAdminCont.Group = roleCont.Group + sysAdminCont.Wand = roleCont.Wand + } + sysAdminAttrCont.IdAttr = numKey + sysAdminAttrCont.NameAttr = requestData.Name + sysAdminAttrCont.Tel = requestData.Tel + sysAdminAttrCont.TimeAttr = time.Now().Unix() + + affairDb := global.GVA_DB_Master.Begin() + addSysAdminContErr := affairDb.Create(&sysAdminCont).Error + addSysAdminAttrContErr := affairDb.Create(&sysAdminAttrCont).Error + if addSysAdminContErr == nil && addSysAdminAttrContErr == nil { + affairDbErr := affairDb.Commit().Error + if affairDbErr == nil { + response.Result(0, affairDbErr, "数据写入成功!", c) + } else { + response.Result(108, affairDbErr, "数据写入失败!", c) + } + } else { + affairDbErr := affairDb.Rollback().Error + response.Result(109, affairDbErr, "数据写入失败!", c) + } +} + +//获取管理员信息 +func (s *SystemUserApi) GetSystemAdminCont(c *gin.Context) { + var requestData commonus.SetIds + err := c.ShouldBindJSON(&requestData) + if err != nil { + response.Result(101, err, "参数错误!请重新提交!", c) + return + } + if requestData.Id == 0 && requestData.OutId == "" { + response.Result(102, err, "参数错误!请重新提交!", c) + return + } + if requestData.OutId != "" { + idInt, inIntErr := strconv.ParseInt(requestData.OutId, 10, 64) + if inIntErr == nil { + requestData.Id = idInt + } + } + var userInfo systemuser.SystemAdminDetails + userErr := global.GVA_DB_Master.Model(&systemuser.SystemUser{}).Select("system_user.*,system_user_attribute.*").Joins("left join system_user_attribute on system_user.u_key = system_user_attribute.ua_id").Where("`u_id` = ?", requestData.Id).First(&userInfo).Error + if userErr != nil { + response.Result(103, requestData, "该用户不存在!", c) + return + } + var sysAdminInfo adminOutInfo + sysAdminInfo.Id = userInfo.Id + sysAdminInfo.Name = userInfo.Name + sysAdminInfo.PassWord = userInfo.PassWord + sysAdminInfo.Role = userInfo.Role + sysAdminInfo.State = userInfo.State + sysAdminInfo.Attribute = userInfo.Attribute + sysAdminInfo.Time = userInfo.Time + sysAdminInfo.EiteTime = userInfo.EiteTime + sysAdminInfo.Key = userInfo.Key + sysAdminInfo.Group = userInfo.Group + sysAdminInfo.Wand = userInfo.Wand + sysAdminInfo.IdAttr = userInfo.IdAttr + sysAdminInfo.NameAttr = userInfo.NameAttr + sysAdminInfo.Tel = userInfo.Tel + sysAdminInfo.TimeAttr = userInfo.TimeAttr + + isTrueGroup, groupCont := assessment.GetGroupCont(userInfo.Group) + if isTrueGroup == true { + sysAdminInfo.GroupName = groupCont.Name + } + isTrueBranFact, branFactCont := assessment.GetBranchFactory(userInfo.Attribute) + if isTrueBranFact == true { + sysAdminInfo.BranchFactoryName = branFactCont.Name + } + + isTrueRole, adminRoleCont := GetAdminRoleInfo(userInfo.Role) + if isTrueRole == true { + sysAdminInfo.RoleName = adminRoleCont.Title + sysAdminInfo.Jurisdiction = adminRoleCont.Jurisdiction + sysAdminInfo.MenuOper = adminRoleCont.MenuOper + sysAdminInfo.Wand = adminRoleCont.Wand + } + sysAdminInfo.KeyStr = strconv.FormatInt(userInfo.Key, 10) + + response.Result(0, sysAdminInfo, "该用户不存在!", c) +} + +//修改管理员 +func (s *SystemUserApi) EiteSystemAdminCont(c *gin.Context) { + var requestData EiteSysAdmin + err := c.ShouldBindJSON(&requestData) + if err != nil { + response.Result(101, err, "参数错误!请重新提交!", c) + return + } + if requestData.Id == 0 && requestData.OutId == "" { + response.Result(102, err, "参数错误!请重新提交!", c) + return + } + if requestData.OutId != "" { + idInt, inIntErr := strconv.ParseInt(requestData.OutId, 10, 64) + if inIntErr == nil { + requestData.Id = idInt + } + } + var userInfo systemuser.SystemUser + userErr := global.GVA_DB_Master.Where("`u_id` = ?", requestData.Id).First(&userInfo).Error + if userErr != nil { + response.Result(103, requestData, "该用户不存在!", c) + return + } + + saveData := commonus.MapOut() + saveAttrData := commonus.MapOut() + //获取角色详情 + roleIsTurn, roleCont := GetAdminRoleInfo(requestData.Role) + if requestData.Role != 0 { + saveData["u_role"] = requestData.Role + if roleIsTurn == true { + saveData["u_group"] = roleCont.Group + saveData["u_wand"] = roleCont.Wand + } + } + if requestData.RoleGroup != 0 { + saveData["u_attribute"] = requestData.RoleGroup + if roleIsTurn == true { + saveData["u_group"] = roleCont.Group + saveData["u_wand"] = roleCont.Wand + } + } else { + if userInfo.Attribute != 0 { + saveData["u_attribute"] = requestData.RoleGroup + if roleIsTurn == true { + saveData["u_group"] = roleCont.Group + saveData["u_wand"] = roleCont.Wand + } + } + } + if requestData.Password != "" && requestData.Password == requestData.ConfirmPassword { + //密码加密 + var md5JiaMi commonus.Md5Encryption + md5JiaMi.Md5EncryptionInit(requestData.ConfirmPassword) + md5Password := md5JiaMi.Md5EncryptionAlgorithm() + saveData["u_password"] = md5Password + } + saveData["u_eite_time"] = time.Now().Unix() + + if requestData.Name != "" { + saveAttrData["ua_name"] = requestData.Name + } + if requestData.Tel != "" { + saveAttrData["ua_tel"] = requestData.Tel + } + saveAttrData["ua_time"] = time.Now().Unix() + isTrue, isErr := eiteSystemAdminCont(userInfo.Key, saveData, saveAttrData) + if isTrue == true { + response.Result(0, isErr, "编辑成功!", c) + } else { + response.Result(103, isErr, "编辑失败!", c) + } +} + +//编辑系统管理员数据处理 +func eiteSystemAdminCont(saveId int64, saveData, saveDataAttr map[string]interface{}) (isTrue bool, affairDbErr error) { + isTrue = false + affairDb := global.GVA_DB_Master.Begin() + infoErr := affairDb.Model(&systemuser.SystemUser{}).Where("`u_key` = ?", saveId).Updates(saveData).Error + infoAttrErr := affairDb.Model(&systemuser.SystemUserAttribute{}).Where("`ua_id` = ?", saveId).Updates(saveDataAttr).Error + if infoErr == nil && infoAttrErr == nil { + affairDbErr = affairDb.Commit().Error + if affairDbErr != nil { + affairDbErr = affairDb.Rollback().Error + return + } + } else { + affairDbErr = affairDb.Rollback().Error + return + } + isTrue = true + return +} + +//删除系统管理员 +func (s *SystemUserApi) DelSystemAdmin(c *gin.Context) { + var requestData delSystemRoleType + err := c.ShouldBindJSON(&requestData) + if err != nil { + response.Result(101, err, "参数错误!请重新提交!", c) + return + } + if requestData.Id == 0 && requestData.OutId == "" { + response.Result(102, err, "参数错误!请重新提交!", c) + return + } + if requestData.OutId != "" { + idInt, inIntErr := strconv.ParseInt(requestData.OutId, 10, 64) + if inIntErr == nil { + requestData.Id = idInt + } + } + if requestData.State == 0 { + requestData.State = 1 + } + var userInfo systemuser.SystemUser + userErr := global.GVA_DB_Master.Where("`u_id` = ?", requestData.Id).First(&userInfo).Error + if userErr != nil { + response.Result(103, requestData, "该用户不存在!", c) + return + } + saveData := commonus.MapOut() + saveAttrData := commonus.MapOut() + saveData["u_set"] = requestData.State + saveData["u_eite_time"] = time.Now().Unix() + saveAttrData["ua_time"] = time.Now().Unix() + if requestData.IsDel != 1 { + roleIsTrue, roleErr := eiteSystemAdminCont(userInfo.Key, saveData, saveAttrData) + if roleIsTrue != true { + response.Result(104, roleErr, "修改失败!", c) + return + } + response.Result(0, requestData, "修改成功!", c) + } else { + if requestData.State == 3 { + affairDb := global.GVA_DB_Master.Begin() + infoErr := affairDb.Where("`u_key` = ?", userInfo.Key).Delete(&systemuser.SystemUser{}).Error + infoAttrErr := affairDb.Where("`ua_id` = ?", userInfo.Key).Delete(&systemuser.SystemUserAttribute{}).Error + if infoErr == nil && infoAttrErr == nil { + affairDbErr := affairDb.Commit().Error + if affairDbErr != nil { + affairDbErr = affairDb.Rollback().Error + response.Result(105, affairDbErr, "删除失败!", c) + } else { + response.Result(0, affairDbErr, "删除成功!", c) + } + } else { + affairDbErr := affairDb.Rollback().Error + ma := commonus.MapOut() + ma["affairDbErr"] = affairDbErr + ma["infoErr"] = infoErr + ma["infoAttrErr"] = infoAttrErr + response.Result(106, ma, "删除失败!", c) + } + } else { + roleIsTrue, roleErr := eiteSystemAdminCont(userInfo.Key, saveData, saveAttrData) + if roleIsTrue != true { + response.Result(107, roleErr, "修改失败!", c) + } + response.Result(0, roleErr, "修改成功!", c) + } + } +} diff --git a/gin_server_admin/api/admin/systemuser/usertype.go b/gin_server_admin/api/admin/systemuser/usertype.go index 3ef0d7f..9d8d5c5 100644 --- a/gin_server_admin/api/admin/systemuser/usertype.go +++ b/gin_server_admin/api/admin/systemuser/usertype.go @@ -77,3 +77,36 @@ type addMenuOper struct { MenuId string `json:"menuid"` Title string `json:"title"` } + +//管理员分组 +type SystemAdminGroupSun struct { + commonus.SetIds + Title string `json:"title"` +} +type SystemAdminGroup struct { + SystemAdminGroupSun + Child []SystemAdminGroup `json:"child"` +} + +//添加管理员 +type AddSysAdmin struct { + UserName string `json:"username"` + Password string `json:"password"` + ConfirmPassword string `json:"confirmpassword"` + Role int64 `json:"role"` + RoleGroup int64 `json:"rolegroup"` + Name string `json:"name"` + Tel string `json:"tel"` +} + +//编辑管理员 +type EiteSysAdmin struct { + commonus.SetIds + UserName string `json:"username"` + Password string `json:"password"` + ConfirmPassword string `json:"confirmpassword"` + Role int64 `json:"role"` + RoleGroup int64 `json:"rolegroup"` + Name string `json:"name"` + Tel string `json:"tel"` +} diff --git a/gin_server_admin/api/index/assessment/assesshandle.go b/gin_server_admin/api/index/assessment/assesshandle.go index 33ec413..eec5b75 100644 --- a/gin_server_admin/api/index/assessment/assesshandle.go +++ b/gin_server_admin/api/index/assessment/assesshandle.go @@ -907,6 +907,9 @@ func (a *Assessment) LookDepartmentAssessInfo(c *gin.Context) { lookSeeDutyCont.DepartId = strconv.FormatInt(val.DepartId, 10) lookSeeDutyCont.CommentUser = strconv.FormatInt(val.CommentUser, 10) + lookSeeDutyCont.DeductPointstext = val.DeductPointsText + lookSeeDutyCont.ExtraPointstext = val.ExtraPointsText + // dtyContErr, dtyCont := GetDutyInfoCont(val.DutyId) dtyContErr, dtyCont := commonus.GetDutyContDepart(val.DutyId) if dtyContErr == true { @@ -928,6 +931,7 @@ func (a *Assessment) LookDepartmentAssessInfo(c *gin.Context) { outContMap := commonus.MapOut() outContMap["assessLog"] = assessLogCont outContMap["dutyListMap"] = lookSeeDutyContMap + // outContMap["dutyListMaps"] = dutyListMap response.Result(0, outContMap, "数据写入成功!", c) } diff --git a/gin_server_admin/api/index/assessment/assesstype.go b/gin_server_admin/api/index/assessment/assesstype.go index a22d58e..bdf1ad4 100644 --- a/gin_server_admin/api/index/assessment/assesstype.go +++ b/gin_server_admin/api/index/assessment/assesstype.go @@ -204,8 +204,8 @@ type DutyListType struct { DeductPoints int `json:"deductpoints"` //扣分 ExtraPoints int `json:"extrapoints"` //加分 ReferenceScore int `json:"referencescore"` //参考分 - DeductPointsText string `json:"deductpointstext"` //扣分 - ExtraPointsText string `json:"extrapointstext"` //加分 + DeductPointsText string `json:"deductpointstext"` //扣分说明 + ExtraPointsText string `json:"extrapointstext"` //加分说明 } //查看提交审批的详细内容 @@ -275,16 +275,18 @@ type PersonalOrDepartment struct { //查看审批考核详细 type LookSeeDutyCont struct { - Id string `json:"id"` - ClassID string `json:"classID"` - AssessId string `json:"assessId"` - DutyId string `json:"dutyId"` - DeductPoints string `json:"deductPoints"` - ExtraPoints string `json:"extraPoints"` - Score string `json:"score"` - DepartId string `json:"departId"` - CommentUser string `json:"commentUser"` - ClassTitle string `json:"classTitle"` - AssessTitle string `json:"assessTitle"` - DutyTitle string `json:"dutyTitle"` + Id string `json:"id"` + ClassID string `json:"classID"` + AssessId string `json:"assessId"` + DutyId string `json:"dutyId"` + DeductPoints string `json:"deductPoints"` + ExtraPoints string `json:"extraPoints"` + Score string `json:"score"` + DepartId string `json:"departId"` + CommentUser string `json:"commentUser"` + ClassTitle string `json:"classTitle"` + AssessTitle string `json:"assessTitle"` + DutyTitle string `json:"dutyTitle"` + DeductPointstext string `json:"deductPointstext"` + ExtraPointstext string `json:"extraPointstext"` } diff --git a/gin_server_admin/api/v1/assessment/specificduty.go b/gin_server_admin/api/v1/assessment/specificduty.go index dec6295..a1f8f05 100644 --- a/gin_server_admin/api/v1/assessment/specificduty.go +++ b/gin_server_admin/api/v1/assessment/specificduty.go @@ -147,7 +147,7 @@ func (d *DutyHandle) AddSpecificDutyInfo(c *gin.Context) { if scoreErr != nil { ScoreAll = 0 } - if ScoreAll+requestData.Score > 100 { + if ScoreAll+requestData.Score > 1000 { response.Result(107, err, "该部门的总分值超过100。请重新写入该考核项目参考分值!", c) return } @@ -222,7 +222,7 @@ func (d *DutyHandle) AddDepartDutyInfo(c *gin.Context) { if scoreErr != nil { ScoreAll = 0 } - if ScoreAll+requestData.Score > 100 { + if ScoreAll+requestData.Score > 1000 { response.Result(106, err, "该部门的总分值超过100。请重新写入该考核项目参考分值!", c) return } @@ -299,7 +299,7 @@ func (d *DutyHandle) EiteDepartDutyInfo(c *gin.Context) { if scoreErr != nil { ScoreAll = 0 } - if ScoreAll+requestData.Score > 100 { + if ScoreAll+requestData.Score > 1000 { response.Result(107, err, "该部门的总分值超过100。请重新写入该考核项目参考分值!", c) return } @@ -440,7 +440,7 @@ func (d *DutyHandle) EiteSpecFicDutyInfo(c *gin.Context) { if scoreErr != nil { ScoreAll = 0 } - if ScoreAll+requestData.Score > 100 { + if ScoreAll+requestData.Score > 1000 { response.Result(107, err, "该部门的总分值超过100。请重新写入该考核项目参考分值!", c) return } diff --git a/gin_server_admin/api/v1/custom/customhandle.go b/gin_server_admin/api/v1/custom/customhandle.go index 9392590..1db495c 100644 --- a/gin_server_admin/api/v1/custom/customhandle.go +++ b/gin_server_admin/api/v1/custom/customhandle.go @@ -20,80 +20,80 @@ import ( func (cu *CustomHandle) CustomLogin(c *gin.Context) { var l systemReq.Login _ = c.ShouldBindJSON(&l) - if err := utils.Verify(l, utils.LoginVerify); err != nil { - response.FailWithMessage(err.Error(), c) - return - } + // if err := utils.Verify(l, utils.LoginVerify); err != nil { + // response.FailWithMessage(err.Error(), c) + // return + // } userAgent := c.Request.Header.Get("User-Agent") // store - if store.Verify(l.CaptchaId, l.Captcha, true) { - userErr, user := staff.GetUserWork(l.Username, l.Password) - if userErr != true { - // // global.GVA_LOG.Error("登陆失败! 用户名不存在或者密码错误!", zap.Any("err", err)) - response.Result(101, userErr, "登陆失败! 用户名不存在或者密码错误!!", c) + // if store.Verify(l.CaptchaId, l.Captcha, true) { + userErr, user := staff.GetUserWork(l.Username, l.Password) + if userErr != true { + // // global.GVA_LOG.Error("登陆失败! 用户名不存在或者密码错误!", zap.Any("err", err)) + response.Result(101, userErr, "登陆失败! 用户名不存在或者密码错误!!", c) + return + } else { + if user.State == 2 { + response.Result(102, userErr, "登陆失败! 该账号已经被禁用!", c) return - } else { - if user.State == 2 { - response.Result(102, userErr, "登陆失败! 该账号已经被禁用!", c) - return - } - if user.State == 3 { - response.Result(102, userErr, "登陆失败! 该账号不存在!", c) - return - } - if user.HireSet != 1 { - response.Result(102, userErr, "登陆失败! 该员工已经离职!", c) - return - } - var md5JiaMi commonus.Md5Encryption - md5JiaMi.Md5EncryptionInit(userAgent) - md5Token := md5JiaMi.Md5EncryptionAlgorithm() - - sha1Str := user.KeyStr + user.Number + user.Password + md5Token - sha1Token := commonus.Sha1Encryption(sha1Str) - - saveData := commonus.MapOut() - saveData["key"] = user.KeyStr - saveData["token"] = sha1Token - saveData["userinfo"] = user - - redisClient := redishandel.RunRedis() - redisClient.SetRedisTime(10800) - // redisClient.SetRedisTime(60) - writeRedisData := map[string]interface{}{ - "userkey": user.KeyStr, - "usernumber": user.Number, - "userpwd": user.Password, - "usertoken": sha1Token, - } + } + if user.State == 3 { + response.Result(102, userErr, "登陆失败! 该账号不存在!", c) + return + } + if user.HireSet != 1 { + response.Result(102, userErr, "登陆失败! 该员工已经离职!", c) + return + } + var md5JiaMi commonus.Md5Encryption + md5JiaMi.Md5EncryptionInit(userAgent) + md5Token := md5JiaMi.Md5EncryptionAlgorithm() + + sha1Str := user.KeyStr + user.Number + user.Password + md5Token + sha1Token := commonus.Sha1Encryption(sha1Str) + + saveData := commonus.MapOut() + saveData["key"] = user.KeyStr + saveData["token"] = sha1Token + saveData["userinfo"] = user - // global.GVA_INDEX_USERKEY = user.Key - - redisClient.HashMsetAdd("system:Identification_"+global.GVA_CONFIG.RedisPrefix.Alias+"_"+user.KeyStr, writeRedisData) - - userInfo := commonus.MapOut() - userInfo["id"] = user.Id - userInfo["number"] = user.Number - userInfo["departmentid"] = user.DepartmentId - userInfo["workshopid"] = user.WorkshopId - userInfo["postid"] = user.PostId - userInfo["key"] = user.Key - userInfo["group"] = user.Group - userInfo["tema"] = user.Tema - userInfo["workwechatid"] = user.WorkWechatId - userInfo["wechatid"] = user.WechatId - userInfo["name"] = user.Name - userInfo["nickname"] = user.NickName - - redisUserClient := redishandel.RunRedis() - redisUserClient.SetRedisTime(0) - redisUserClient.HashMsetAdd("system:userContent_"+global.GVA_CONFIG.RedisPrefix.Alias+"_"+user.KeyStr, userInfo) - // // b.tokenNext(c, *user) - response.Result(0, saveData, "登录成功!", c) + redisClient := redishandel.RunRedis() + redisClient.SetRedisTime(10800) + // redisClient.SetRedisTime(60) + writeRedisData := map[string]interface{}{ + "userkey": user.KeyStr, + "usernumber": user.Number, + "userpwd": user.Password, + "usertoken": sha1Token, } - } else { - response.FailWithMessage("验证码错误", c) + + // global.GVA_INDEX_USERKEY = user.Key + + redisClient.HashMsetAdd("system:Identification_"+global.GVA_CONFIG.RedisPrefix.Alias+"_"+user.KeyStr, writeRedisData) + + userInfo := commonus.MapOut() + userInfo["id"] = user.Id + userInfo["number"] = user.Number + userInfo["departmentid"] = user.DepartmentId + userInfo["workshopid"] = user.WorkshopId + userInfo["postid"] = user.PostId + userInfo["key"] = user.Key + userInfo["group"] = user.Group + userInfo["tema"] = user.Tema + userInfo["workwechatid"] = user.WorkWechatId + userInfo["wechatid"] = user.WechatId + userInfo["name"] = user.Name + userInfo["nickname"] = user.NickName + + redisUserClient := redishandel.RunRedis() + redisUserClient.SetRedisTime(0) + redisUserClient.HashMsetAdd("system:userContent_"+global.GVA_CONFIG.RedisPrefix.Alias+"_"+user.KeyStr, userInfo) + // // b.tokenNext(c, *user) + response.Result(0, saveData, "登录成功!", c) } + // } else { + // response.FailWithMessage("验证码错误", c) + // } } //自定义登录 diff --git a/gin_server_admin/api/v1/examtestpage/grouphandle.go b/gin_server_admin/api/v1/examtestpage/grouphandle.go index e731b97..61116b4 100644 --- a/gin_server_admin/api/v1/examtestpage/grouphandle.go +++ b/gin_server_admin/api/v1/examtestpage/grouphandle.go @@ -42,6 +42,7 @@ type TableData struct { Children interface{} `json:"children"` QueryId int `json:"queryid"` SingId int `json:"singid"` + ErgodicID string `json:"ergodicid"` } //POST提交参数 @@ -893,8 +894,9 @@ func (g *GroupHandleApi) GetGroupDepartMap(c *gin.Context) { groupTypeStruct.Sort = i + 1 groupTypeStruct.QueryId = 1 groupTypeStruct.Date = commonus.TimeStampToDate(v.Time, 6) + groupTypeStruct.ErgodicID = fmt.Sprintf("%v_%v", v.Id, i) - bfErr, bfInfo := GetBranchFactoryMap(v.Id) + bfErr, bfInfo := GetBranchFactoryMapEs(v.Id, i) if bfErr == true { groupTypeStruct.Children = bfInfo } @@ -923,6 +925,35 @@ func GetBranchFactoryMap(id int64) (isTrue bool, ContInfo []testpage.BranchFacto return } +type bfMapJbqList struct { + testpage.BranchFactory + ErgodicID string `json:"ergodicid"` +} + +func GetBranchFactoryMapEs(id int64, jbq int) (isTrue bool, ContInfo []bfMapJbqList) { + isTrue = false + var ContInfoBf []testpage.BranchFactory + err := global.GVA_DB_Master.Where("bf_group = ?", id).Find(&ContInfoBf).Error + if err != nil { + return + } + for index, val := range ContInfoBf { + var bfMapCont bfMapJbqList + bfMapCont.Id = val.Id + bfMapCont.Name = val.Name + bfMapCont.Set = val.Set + bfMapCont.Uid = val.Uid + bfMapCont.Time = val.Time + bfMapCont.Attribute = val.Attribute + bfMapCont.Group = val.Group + bfMapCont.WechatId = val.WechatId + bfMapCont.ErgodicID = fmt.Sprintf("%v_%v_%v", val.Id, jbq, index) + ContInfo = append(ContInfo, bfMapCont) + } + isTrue = true + return +} + //获取集团架构人员信息对照表 func (g *GroupHandleApi) GetGroupUser(c *gin.Context) { var requestData groupRequest diff --git a/gin_server_admin/commonus/publichaneld.go b/gin_server_admin/commonus/publichaneld.go index 3c5a0d1..769db01 100644 --- a/gin_server_admin/commonus/publichaneld.go +++ b/gin_server_admin/commonus/publichaneld.go @@ -3,7 +3,6 @@ package commonus //公共函数类 import ( "encoding/json" - "fmt" "regexp" "strconv" "strings" @@ -786,7 +785,7 @@ func GetUesrContForWechatID(wechatId string) (isTrue bool, myCont PublicUserCont redisClient.SetRedisTime(604800) redisClient.HashMsetAdd(redisPrefix, userInfo) - fmt.Printf("2===============>\n") + // fmt.Printf("2===============>\n") } else { var userInfoStruct wechat.WechatUsers myErr := global.GVA_DB_WatchDate.Where("userid = ?", wechatId).First(&userInfoStruct).Error @@ -865,7 +864,7 @@ func GetUesrContForWechatID(wechatId string) (isTrue bool, myCont PublicUserCont redisClient.SetRedisTime(604800) redisClient.HashMsetAdd(redisPrefix, userInfo) - fmt.Printf("3===============>\n") + // fmt.Printf("3===============>\n") } } return @@ -951,3 +950,13 @@ func GetDutyContDepart(id int64) (isTrue bool, dutyAssClass DutyAssClass) { isTrue = true return } + +//获取集团信息 +func GetGroupCont(id int64) (isTrue bool, ContInfo wechat.GroupForm) { + isTrue = false + err := global.GVA_DB_WatchDate.Where("g_id = ?", id).First(&ContInfo).Error + if err == nil { + isTrue = true + } + return +} diff --git a/gin_server_admin/initialize/router.go b/gin_server_admin/initialize/router.go index 83c3a80..4a927d9 100644 --- a/gin_server_admin/initialize/router.go +++ b/gin_server_admin/initialize/router.go @@ -71,6 +71,9 @@ func Routers() *gin.Engine { @adminDutyAssess 职责考核 */ adminDutyAssess := router.RouterGroupApp.AdminRouter.AdminRouter + //集团基础设定 + groupMangMentRouter := router.RouterGroupApp.AdminRouter.GroupMangMentRouter + // GroupMangMentRouter PublicGroup := Router.Group("") { @@ -164,6 +167,8 @@ func Routers() *gin.Engine { systemRouter.InitSystemAdminRouter(MyCustomSystemGroup) //系统管理员 adminDutyAssess.InitStaffRouter(MyCustomSystemGroup) //职责考核 + //集团管理 + groupMangMentRouter.InitRouter(MyCustomSystemGroup) } InstallPlugin(PublicGroup, PrivateGroup) // 安装插件 diff --git a/gin_server_admin/model/assessmentmodel/dutyclass.go b/gin_server_admin/model/assessmentmodel/dutyclass.go index 00711e8..f4f8d73 100644 --- a/gin_server_admin/model/assessmentmodel/dutyclass.go +++ b/gin_server_admin/model/assessmentmodel/dutyclass.go @@ -113,8 +113,8 @@ type Departscores struct { AddTime int64 `json:"addTime" gorm:"column:s_add_time;type:bigint(20) unsigned;default:0;not null;comment:添加时间"` EiteTime int64 `json:"eiteTime" gorm:"column:s_eite_time;type:bigint(20) unsigned;default:0;not null;comment:编辑时间"` State int `json:"state" gorm:"column:s_state;type:tinyint(1) unsigned;default:1;not null;comment:状态"` - DeductPointsText string `json:"deductPoints" gorm:"column:s_deduct_text;type:text;comment:扣分说明"` - ExtraPointsText string `json:"extraPoints" gorm:"column:s_extra_text;type:text;comment:加分说明"` + DeductPointsText string `json:"deductPointstext" gorm:"column:s_deduct_text;type:text;comment:扣分说明"` + ExtraPointsText string `json:"extraPointstext" gorm:"column:s_extra_text;type:text;comment:加分说明"` } func (Departscores *Departscores) TableName() string { diff --git a/gin_server_admin/model/testpage/grouptree.go b/gin_server_admin/model/testpage/grouptree.go index 6dd57d3..11db37c 100644 --- a/gin_server_admin/model/testpage/grouptree.go +++ b/gin_server_admin/model/testpage/grouptree.go @@ -10,7 +10,7 @@ type BranchFactory struct { Set int8 `json:"state" gorm:"column:bf_set;type:tinyint(1) unsigned;default:1;not null;comment:状态(1:启用;2:禁用;3:删除)"` //'状态(1:启用;2:禁用;3:删除)', Uid int64 `json:"uid" gorm:"column:bf_uid;type:bigint(20) unsigned;default:0;not null;comment:创建人"` //'创建人', Time int64 `json:"time" gorm:"column:bf_time;type:bigint(20) unsigned;default:0;not null;comment:添加时间"` //'0', - Attribute int8 `json:"attribute" gorm:"column:bf_attribute;type:tinyint(1) unsigned;default:1;not null;comment:属性(1:私有;2:共享)"` //'属性(1:私有;2:共享)', + Attribute int64 `json:"attribute" gorm:"column:bf_attribute;type:tinyint(1) unsigned;default:1;not null;comment:属性(1:私有;2:共享)"` //'属性(1:私有;2:共享)', Group int64 `json:"group" gorm:"column:bf_group;type:bigint(20) unsigned;default:0;not null;comment:集团公司"` //'集团公司', WechatId int `json:"wechatid" gorm:"column:bf_wechat_id;type:int(4) unsigned;default:0;not null;comment:对照微信id"` //'对照微信id', } diff --git a/gin_server_admin/router/system/sys_admin.go b/gin_server_admin/router/system/sys_admin.go index f8a0d0d..e8999cc 100644 --- a/gin_server_admin/router/system/sys_admin.go +++ b/gin_server_admin/router/system/sys_admin.go @@ -1,7 +1,7 @@ package system import ( - v1 "github.com/flipped-aurora/gin-vue-admin/server/api/admin" + adminApi "github.com/flipped-aurora/gin-vue-admin/server/api/admin" "github.com/gin-gonic/gin" ) @@ -9,24 +9,40 @@ type AdminUserApi struct{} func (a *AdminUserApi) InitSystemAdminRouter(Router *gin.RouterGroup) { adminRouter := Router.Group("systemadmin") - var authorityApi = v1.ApiGroupApp.SystemApi.SystemUserApi + var authorityApi = adminApi.ApiGroupApp.SystemApi.SystemUserApi { - adminRouter.POST("", authorityApi.Index) //系统管理员档案入口 - adminRouter.POST("/", authorityApi.Index) //系统管理员档案入口 - adminRouter.GET("", authorityApi.Index) //系统管理员档案入口 - adminRouter.GET("/", authorityApi.Index) //系统管理员档案入口 + adminRouter.POST("", authorityApi.Index) //系统管理员档案入口 + adminRouter.POST("/", authorityApi.Index) //系统管理员档案入口 + adminRouter.GET("", authorityApi.Index) //系统管理员档案入口 + adminRouter.GET("/", authorityApi.Index) //系统管理员档案入口 + adminRouter.POST("/adminlist", authorityApi.AdminList) //系统管理员列表 + adminRouter.POST("/systemadmingrouplist", authorityApi.SystemAdminGroupList) //获取管理员分组列表 + adminRouter.POST("/addsystemadmin", authorityApi.AddSystemAdmin) //添加管理员 + adminRouter.POST("/getsystemadmincont", authorityApi.GetSystemAdminCont) //获取管理员详情 + adminRouter.POST("/eitesystemadmincont", authorityApi.EiteSystemAdminCont) //编辑管理员内容 + adminRouter.POST("/delsystemadmin", authorityApi.DelSystemAdmin) //删除管理员内容 - adminRouter.POST("/adminlist", authorityApi.AdminList) //系统管理员列表 } //角色相关 roleRouter := Router.Group("systemrole") - var roleApi = v1.ApiGroupApp.SystemApi.SystemRoleApi + var roleApi = adminApi.ApiGroupApp.SystemApi.SystemRoleApi { + roleRouter.POST("", roleApi.Index) //系统管理员角色入口 + roleRouter.POST("/", roleApi.Index) //系统管理员角色入口 + roleRouter.GET("", roleApi.Index) //系统管理员角色入口 + roleRouter.GET("/", roleApi.Index) //系统管理员角色入口 roleRouter.POST("/systemrolelist", roleApi.SystemRoleList) //系统管理员角色列表 + roleRouter.POST("/addsystemrole", roleApi.AddSystemRole) //添加系统管理员角色 + roleRouter.POST("/eitesystemrole", roleApi.EiteSystemRole) //编辑系统管理员角色 + roleRouter.POST("/delsystemrole", roleApi.DelSystemRole) //删除系统管理员角色 + roleRouter.POST("/getsystemrole", roleApi.GetSystemRole) //查看系统管理员角色 + roleRouter.POST("/getpowerconfig", roleApi.GetPowerConfig) //获取角色配权 + roleRouter.POST("/setpowerconfig", roleApi.SetPowerConfig) //给角色配权 + } //菜单相关 muneRouter := Router.Group("systemmenu") - var systemMuneApi = v1.ApiGroupApp.SystemApi.SysTemMenuApi + var systemMuneApi = adminApi.ApiGroupApp.SystemApi.SysTemMenuApi { muneRouter.POST("/systemmenulist", systemMuneApi.SystemMenuList) //系统菜单列表 muneRouter.POST("/getmenu", systemMuneApi.GetMenu) //获取系统做出菜单 GetMenuList diff --git a/gin_server_admin/router/systemadmin/enter.go b/gin_server_admin/router/systemadmin/enter.go index fcd7d1b..92e797a 100644 --- a/gin_server_admin/router/systemadmin/enter.go +++ b/gin_server_admin/router/systemadmin/enter.go @@ -2,4 +2,5 @@ package systemadmin type RouterGroup struct { AdminRouter + GroupMangMentRouter } diff --git a/gin_server_admin/router/systemadmin/groupmanagement.go b/gin_server_admin/router/systemadmin/groupmanagement.go new file mode 100644 index 0000000..4f82a6f --- /dev/null +++ b/gin_server_admin/router/systemadmin/groupmanagement.go @@ -0,0 +1,69 @@ +package systemadmin + +import ( + sysAdmin "github.com/flipped-aurora/gin-vue-admin/server/api/admin" + "github.com/gin-gonic/gin" +) + +type GroupMangMentRouter struct{} + +func (g *GroupMangMentRouter) InitRouter(Router *gin.RouterGroup) { + adminRouter := Router.Group("branchfactory") + var authorityApi = sysAdmin.ApiGroupApp.GroupManageMent.BranchFactoryApi.BranchFactory + { + adminRouter.POST("", authorityApi.Index) //分厂档案入口 + adminRouter.POST("/", authorityApi.Index) //分厂档案入口 + adminRouter.GET("", authorityApi.Index) //分厂档案入口 + adminRouter.GET("/", authorityApi.Index) //分厂档案入口 + + adminRouter.POST("branchfactorylist", authorityApi.BranchFactoryList) //获取分厂列表 + adminRouter.POST("addbranchfactory", authorityApi.AddBranchFactory) //添加分厂 + adminRouter.POST("getbranchfactory", authorityApi.GetBranchFactory) //获取分厂内容 + adminRouter.POST("eitebranchfactory", authorityApi.EiteBranchFactory) //修改分厂内容 + adminRouter.POST("delbranchfactory", authorityApi.DelBranchFactory) //删除分厂内容 + } + workRouter := Router.Group("workshopsection") + var workApi = sysAdmin.ApiGroupApp.GroupManageMent.BranchFactoryApi.WorkshopSectionApi + { + workRouter.POST("", workApi.Index) //工段档案入口 + workRouter.POST("/", workApi.Index) //工段档案入口 + workRouter.GET("", workApi.Index) //工段档案入口 + workRouter.GET("/", workApi.Index) //工段档案入口 + + workRouter.POST("worksection", workApi.WorKSection) //获取工段列表 + workRouter.POST("addworksection", workApi.AddWorkSectionCont) //添加工段信息 + workRouter.POST("getworksection", workApi.GetWorkSectionCont) //获取工段信息 + workRouter.POST("eiteworksection", workApi.EiteWorkSectionCont) //编辑工段信息 + workRouter.POST("delworksection", workApi.DelWorkSection) //删除工段信息 + } + dutiesRouter := Router.Group("duties") + var dutiesApi = sysAdmin.ApiGroupApp.GroupManageMent.BranchFactoryApi.DutiesApi + { + dutiesRouter.POST("", dutiesApi.Index) //职务档案入口 + dutiesRouter.POST("/", dutiesApi.Index) //职务档案入口 + dutiesRouter.GET("", dutiesApi.Index) //职务档案入口 + dutiesRouter.GET("/", dutiesApi.Index) //职务档案入口 + + dutiesRouter.POST("dutiesction", dutiesApi.DutiesList) //获取职务列表 + dutiesRouter.POST("adddutiesction", dutiesApi.AddDutiesCont) //添加职务信息 + dutiesRouter.POST("getdutiesction", dutiesApi.GetDutiesCont) //获取职务信息 + dutiesRouter.POST("eitedutiesction", dutiesApi.EiteDutiesCont) //编辑职务信息 + dutiesRouter.POST("deldutiesction", dutiesApi.DelDutiesCont) //删除职务信息 + } + + teamRouter := Router.Group("team") + var teamApi = sysAdmin.ApiGroupApp.GroupManageMent.BranchFactoryApi.TeamApi + { + teamRouter.POST("", teamApi.Index) //班组档案入口 + teamRouter.POST("/", teamApi.Index) //班组档案入口 + teamRouter.GET("", teamApi.Index) //班组档案入口 + teamRouter.GET("/", teamApi.Index) //班组档案入口 + + teamRouter.POST("teamapi", teamApi.TeamApiList) //获取班组列表 + teamRouter.POST("addteamapi", teamApi.AddTeamContApi) //添加班组信息 + teamRouter.POST("getteamapi", teamApi.GetTeamContApi) //获取班组信息 + teamRouter.POST("eiteteamapi", teamApi.EiteTeamContApi) //编辑班组信息 + teamRouter.POST("delteamapi", teamApi.DelTeamCont) //删除班组信息 + + } +}