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.Id 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.Id } 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) } } }