|
|
|
|
package assessment
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"strconv"
|
|
|
|
|
"time"
|
|
|
|
|
|
|
|
|
|
"gin_server_admin/commonus"
|
|
|
|
|
"gin_server_admin/global"
|
|
|
|
|
"gin_server_admin/model/assessmentmodel"
|
|
|
|
|
"gin_server_admin/model/common/response"
|
|
|
|
|
"github.com/gin-gonic/gin"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
定性指标子栏目
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
// 添加定性指标子栏目
|
|
|
|
|
func (d *DutyHandle) AddQualitativeTarget(c *gin.Context) {
|
|
|
|
|
var requestData addAttTarget
|
|
|
|
|
err := c.ShouldBindJSON(&requestData)
|
|
|
|
|
if err != nil {
|
|
|
|
|
response.Result(101, requestData, "数据获取失败!", c)
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
if requestData.Title == "" {
|
|
|
|
|
response.Result(102, err, "请输入定性指标子栏目名称!", c)
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
if requestData.ParentId == "" {
|
|
|
|
|
response.Result(102, err, "请选择定性指标子栏目归属", c)
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
juadgeMap := commonus.MapOut()
|
|
|
|
|
juadgeTitleErr := global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.QualitativeTarget{}).Select("q_title").Where("`q_title` = ? AND `q_parent_id` = ?", requestData.Title, requestData.ParentId).First(&juadgeMap).Error
|
|
|
|
|
if juadgeTitleErr == nil {
|
|
|
|
|
response.Result(102, err, "此定性指标子栏目已经存在!请不要重复录入!", c)
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
var saveData assessmentmodel.QualitativeTarget
|
|
|
|
|
saveData.Title = requestData.Title
|
|
|
|
|
parentId, parentIdErr := strconv.ParseInt(requestData.ParentId, 10, 64)
|
|
|
|
|
if parentIdErr != nil {
|
|
|
|
|
response.Result(102, err, "请选择定性指标子栏目归属", c)
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
saveData.ParentId = parentId
|
|
|
|
|
saveData.State = 1
|
|
|
|
|
saveData.AddTime = time.Now().Unix()
|
|
|
|
|
dutyInfoErr := global.GVA_DB_Performanceappraisal.Create(&saveData).Error
|
|
|
|
|
if dutyInfoErr != nil {
|
|
|
|
|
response.Result(106, saveData, "数据写入失败!", c)
|
|
|
|
|
} else {
|
|
|
|
|
response.Result(0, saveData, "数据写入成功!", c)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 获取定性指标子栏目列表
|
|
|
|
|
func (d *DutyHandle) GetQualitativeTargetList(c *gin.Context) {
|
|
|
|
|
var requestData attTargetList
|
|
|
|
|
err := c.ShouldBindJSON(&requestData)
|
|
|
|
|
if err != nil {
|
|
|
|
|
// response.Result(101, err, "参数错误!请重新提交!", 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_Performanceappraisal.Model(&assessmentmodel.QualitativeTarget{})
|
|
|
|
|
if requestData.ParentId != "" {
|
|
|
|
|
gormDb = gormDb.Where("`q_parent_id` = ?", requestData.ParentId)
|
|
|
|
|
}
|
|
|
|
|
if requestData.State != 0 {
|
|
|
|
|
gormDb = gormDb.Where("`q_state` = ?", requestData.State)
|
|
|
|
|
} else {
|
|
|
|
|
gormDb = gormDb.Where("`q_state` IN (1,2)")
|
|
|
|
|
}
|
|
|
|
|
if requestData.Title != "" {
|
|
|
|
|
gormDb = gormDb.Where("(`q_title` LIKE ?)", "%"+requestData.Title+"%")
|
|
|
|
|
}
|
|
|
|
|
var total int64
|
|
|
|
|
totalErr := gormDb.Count(&total).Error
|
|
|
|
|
if totalErr != nil {
|
|
|
|
|
total = 0
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// response.Result(0, requestData, "查询成功!", c)
|
|
|
|
|
var dataList []assessmentmodel.QualitativeTarget
|
|
|
|
|
dataListerr := gormDb.Limit(requestData.PageSize).Offset(offSetPage).Find(&dataList).Error
|
|
|
|
|
if dataListerr != nil {
|
|
|
|
|
response.Result(103, dataList, "数据获取失败!", c)
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
var outList []attTargetListOut
|
|
|
|
|
for _, val := range dataList {
|
|
|
|
|
var outContent attTargetListOut
|
|
|
|
|
outContent.Id = val.Id
|
|
|
|
|
outContent.Title = val.Title
|
|
|
|
|
outContent.ParentId = val.ParentId
|
|
|
|
|
outContent.State = val.State
|
|
|
|
|
outContent.AddTime = val.AddTime
|
|
|
|
|
outContent.OutId = strconv.FormatInt(val.Id, 10)
|
|
|
|
|
outContent.ParentIdStr = strconv.FormatInt(val.ParentId, 10)
|
|
|
|
|
parentCont, parentIsTrue := commonus.GetTargetInfo(val.ParentId)
|
|
|
|
|
if parentIsTrue == true {
|
|
|
|
|
outContent.ParentTitle = parentCont.Title
|
|
|
|
|
}
|
|
|
|
|
outList = append(outList, outContent)
|
|
|
|
|
}
|
|
|
|
|
countSum := len(outList)
|
|
|
|
|
printData := commonus.OutPutList(total, int64(countSum), requestData.Page, requestData.PageSize, outList)
|
|
|
|
|
response.Result(0, printData, "查询成功!", c)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 编辑指标数据处理
|
|
|
|
|
func eiteQualTargetInfoes(saveId int64, saveData map[string]interface{}) (isTrue bool, infoErr error) {
|
|
|
|
|
isTrue = false
|
|
|
|
|
infoErr = global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.QualitativeTarget{}).Where("`q_id` = ?", saveId).Updates(saveData).Error
|
|
|
|
|
if infoErr != nil {
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
isTrue = true
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 获取定性测评指标子栏目详细内容
|
|
|
|
|
func (d *DutyHandle) GetQualTargetInfo(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 systemEvalCont attTargetListOut
|
|
|
|
|
contErr := global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.QualitativeTarget{}).Select("q_id", "q_title", "q_parent_id", "q_state", "q_time").Where("`q_id` = ?", requestData.Id).First(&systemEvalCont).Error
|
|
|
|
|
if contErr != nil {
|
|
|
|
|
response.Result(103, err, "数据获取失败!", c)
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
systemEvalCont.ParentIdStr = strconv.FormatInt(systemEvalCont.ParentId, 10)
|
|
|
|
|
systemEvalCont.OutId = strconv.FormatInt(systemEvalCont.Id, 10)
|
|
|
|
|
parentCont, parentIsTrue := commonus.GetTargetInfo(systemEvalCont.ParentId)
|
|
|
|
|
if parentIsTrue == true {
|
|
|
|
|
systemEvalCont.ParentTitle = parentCont.Title
|
|
|
|
|
}
|
|
|
|
|
response.Result(0, systemEvalCont, "数据获取成功!", c)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 修改定性指标子栏目
|
|
|
|
|
func (d *DutyHandle) EiteQualTargetInfo(c *gin.Context) {
|
|
|
|
|
var requestData eiteAttTarget
|
|
|
|
|
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 oldTargetCont assessmentmodel.QualitativeTarget
|
|
|
|
|
targetInfoErr := global.GVA_DB_Performanceappraisal.Where("`q_id` = ?", requestData.Id).First(&oldTargetCont).Error
|
|
|
|
|
if targetInfoErr != nil {
|
|
|
|
|
response.Result(102, err, "该指标不存在!请检查您的参数!", c)
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
saveData := commonus.MapOut()
|
|
|
|
|
if requestData.Title == "" {
|
|
|
|
|
response.Result(102, err, "请输入指标名称!", c)
|
|
|
|
|
return
|
|
|
|
|
} else {
|
|
|
|
|
if requestData.Title != oldTargetCont.Title {
|
|
|
|
|
if requestData.ParentId != "" {
|
|
|
|
|
judgeTargetErr := global.GVA_DB_Performanceappraisal.Where("`q_title` = ? AND `q_parent_id` = ?", requestData.Title, requestData.ParentId).First(&oldTargetCont).Error
|
|
|
|
|
if judgeTargetErr == nil {
|
|
|
|
|
response.Result(102, err, "该指标子栏目名称已经存在!请不要重复输入!", c)
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
judgeTargetErr := global.GVA_DB_Performanceappraisal.Where("`q_title` = ? AND `q_parent_id` = ?", requestData.Title, oldTargetCont.ParentId).First(&oldTargetCont).Error
|
|
|
|
|
if judgeTargetErr == nil {
|
|
|
|
|
response.Result(102, err, "该指标子栏目名称已经存在!请不要重复输入!", c)
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
saveData["q_title"] = requestData.Title
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
if requestData.ParentId != "" {
|
|
|
|
|
saveData["q_parent_id"] = requestData.ParentId
|
|
|
|
|
}
|
|
|
|
|
saveData["q_time"] = time.Now().Unix()
|
|
|
|
|
roleIsTrue, roleErr := eiteQualTargetInfoes(requestData.Id, saveData)
|
|
|
|
|
if roleIsTrue != true {
|
|
|
|
|
response.Result(106, roleErr, "编辑失败!", c)
|
|
|
|
|
} else {
|
|
|
|
|
response.Result(0, saveData, "编辑成功!", c)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
func (d *DutyHandle) DelQualTargetInfo(c *gin.Context) {
|
|
|
|
|
var requestData dutyClassState
|
|
|
|
|
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["q_state"] = requestData.State
|
|
|
|
|
saveData["q_time"] = time.Now().Unix()
|
|
|
|
|
if requestData.IsDel != 1 {
|
|
|
|
|
roleIsTrue, roleErr := eiteQualTargetInfoes(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_Performanceappraisal.Where("q_id = ?", requestData.Id).Delete(&assessmentmodel.QualitativeTarget{}).Error
|
|
|
|
|
if roleErr != nil {
|
|
|
|
|
response.Result(104, saveData, "删除失败!", c)
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
response.Result(0, saveData, "删除成功!", c)
|
|
|
|
|
} else {
|
|
|
|
|
roleIsTrue, roleErr := eiteQualTargetInfoes(requestData.Id, saveData)
|
|
|
|
|
if roleIsTrue != true {
|
|
|
|
|
response.Result(103, roleErr, "修改失败!", c)
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
response.Result(0, requestData, "修改成功!", c)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|