绩效考核
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

217 lines
6.3 KiB

package branchfactorygroup
import (
"strconv"
"time"
"gin_server_admin/commonus"
"gin_server_admin/global"
"gin_server_admin/model/common/response"
"gin_server_admin/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)
}
}
}