|
|
|
|
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"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
职务 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)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|