package administrativeorganization import ( "hr_server/models" "hr_server/overall" "hr_server/overall/overallhandle" "strconv" "time" "github.com/gin-gonic/gin" ) // 获取班组内容 func (o *OrganizationApi) GetTeamCont(c *gin.Context) { var requestData overallhandle.GetId err := c.ShouldBindJSON(&requestData) if err != nil { overallhandle.Result(100, requestData, c) return } if requestData.IdStr == "" { overallhandle.Result(101, requestData, c) return } var getTeamCont models.TeamGroup getErr := getTeamCont.GetCont(map[string]interface{}{"`id`": requestData.IdStr}) if getErr != nil { overallhandle.Result(105, getErr, c) return } overallhandle.Result(0, getTeamCont, c) } // 添加班组 func (o *OrganizationApi) AddTeamCont(c *gin.Context) { var requestData NameVal err := c.ShouldBindJSON(&requestData) if err != nil { overallhandle.Result(100, requestData, c) return } if requestData.Name == "" { overallhandle.Result(101, requestData, c) return } var teamCont models.TeamGroup errTeam := teamCont.GetCont(map[string]interface{}{"`name`": requestData.Name}) if errTeam == nil { overallhandle.Result(103, teamCont, c) return } var saveData models.TeamGroup saveData.Name = requestData.Name saveData.State = 1 saveData.Time = time.Now().Unix() saveErr := overall.CONSTANT_DB_HR.Create(&saveData).Error if saveErr == nil { overallhandle.Result(0, saveData, c) } else { overallhandle.Result(104, saveData, c) } } // 编辑班组 func (o *OrganizationApi) EiteTeamCont(c *gin.Context) { var requestData eidtTeamCont err := c.ShouldBindJSON(&requestData) if err != nil { overallhandle.Result(100, requestData, c) return } if requestData.Id == "" { overallhandle.Result(101, requestData, c) return } if requestData.Name == "" { overallhandle.Result(101, requestData, c) return } var getTeamCont models.TeamGroup getErr := getTeamCont.GetCont(map[string]interface{}{"`id`": requestData.Id}) if getErr != nil { overallhandle.Result(105, getErr, c) return } if getTeamCont.Name != requestData.Name { var teamCont models.TeamGroup errTeam := teamCont.GetCont(map[string]interface{}{"`name`": requestData.Name}) if errTeam == nil { overallhandle.Result(103, teamCont, c) return } eidtCont := overallhandle.MapOut() eidtCont["name"] = requestData.Name eidtCont["time"] = time.Now().Unix() eidtErr := getTeamCont.EiteTeamGroupCont(map[string]interface{}{"`id`": requestData.Id}, eidtCont) if eidtErr == nil { overallhandle.Result(0, eidtCont, c) } else { overallhandle.Result(106, eidtErr, c) } } else { overallhandle.Result(0, getTeamCont, c) } } // 编辑状态与删除班组 func (o *OrganizationApi) EidtDelTeamCont(c *gin.Context) { var requestData EiteJobStateDel err := c.ShouldBindJSON(&requestData) if err != nil { overallhandle.Result(100, requestData, c) return } // fmt.Printf("requestData.IdStr--1->%v--->%v\n", requestData.IdStr, requestData.Id) if requestData.IdStr == "" && requestData.Id == 0 { overallhandle.Result(101, requestData, c) return } if requestData.IdStr != "" { idStrToInt, _ := strconv.ParseInt(requestData.IdStr, 10, 64) requestData.Id = idStrToInt } // fmt.Printf("requestData.IdStr--->%v--->%v\n", requestData.IdStr, requestData.Id) if requestData.State == 0 { requestData.State = 1 } if requestData.IsTrue == 0 { requestData.IsTrue = 2 } var getTeamCont models.TeamGroup getErr := getTeamCont.GetCont(map[string]interface{}{"`id`": requestData.Id}) if getErr != nil { overallhandle.Result(105, getErr, c) return } whereAry := overallhandle.MapOut() whereAry["id"] = requestData.Id saveData := overallhandle.MapOut() saveData["time"] = time.Now().Unix() saveData["state"] = requestData.State // fmt.Printf("requestData.IdStr-2-->%v--->%v\n", whereAry, saveData) if requestData.State != 3 { eiteErr := getTeamCont.EiteTeamGroupCont(whereAry, saveData) if eiteErr != nil { overallhandle.Result(106, eiteErr, c) } else { overallhandle.Result(0, saveData, c) } } else { if requestData.IsTrue != 1 { //软删除 eiteErr := getTeamCont.EiteTeamGroupCont(whereAry, saveData) if eiteErr != nil { overallhandle.Result(106, eiteErr, c) } else { overallhandle.Result(0, saveData, c) } } else { //硬删除 delErr := overall.CONSTANT_DB_HR.Where(whereAry).Delete(&getTeamCont) if delErr == nil { overallhandle.Result(0, saveData, c) } else { overallhandle.Result(108, delErr, c) } } } } // 班组列表 func (o *OrganizationApi) TeamContList(c *gin.Context) { var requestData JobClassPageSelect c.ShouldBindJSON(&requestData) gormDb := overall.CONSTANT_DB_HR.Model(&models.TeamGroup{}).Where("`state` IN (1,2)") if requestData.Name != "" { gormDb = gormDb.Where("`name` LIKE ?", "%"+requestData.Name+"%") } var total int64 totalErr := gormDb.Count(&total).Error if totalErr != nil { total = 0 } var teamList []models.TeamGroup err := gormDb.Limit(requestData.PageSize).Offset(overallhandle.LimitPage(requestData.Page, requestData.PageSize)).Find(&teamList).Error if err != nil { overallhandle.Result(105, err, c) } else { overallhandle.ResultList(0, requestData.Page, requestData.PageSize, total, int64(len(teamList)), teamList, c) } }