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.
2074 lines
79 KiB
2074 lines
79 KiB
package dutyassess
|
|
|
|
import (
|
|
"encoding/json"
|
|
"fmt"
|
|
"strconv"
|
|
"strings"
|
|
"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 *DutyAssessApi) SelectDutyList(c *gin.Context) {
|
|
var evalTargetList []assessmentmodel.EvaluationTarget
|
|
err := global.GVA_DB_Performanceappraisal.Where("`et_type` = 1 AND `et_state` = 1").Find(&evalTargetList).Error
|
|
if err != nil {
|
|
response.Result(101, err, "没有数据!", c)
|
|
return
|
|
}
|
|
var listAry []DutySelectList
|
|
for _, v := range evalTargetList {
|
|
var cont DutySelectList
|
|
cont.Id = v.Id
|
|
|
|
cont.Title = v.Title
|
|
cont.Type = v.Type
|
|
cont.State = v.State
|
|
cont.AddTime = v.AddTime
|
|
cont.Share = v.Share
|
|
cont.RelevantDepartments = v.RelevantDepartments
|
|
cont.Dimension = v.Dimension
|
|
cont.Key = v.Key
|
|
cont.Report = v.Report
|
|
cont.Uniteing = v.Uniteing
|
|
cont.Cycles = v.Cycles
|
|
cont.CycleAttres = v.CycleAttres
|
|
cont.VisibleRange = v.VisibleRange
|
|
cont.VisibleRangeGroup = v.VisibleRangeGroup
|
|
cont.DepartmentList = strings.Split(v.RelevantDepartments, ",")
|
|
listAry = append(listAry, cont)
|
|
}
|
|
response.Result(0, listAry, "查询完成!", c)
|
|
}
|
|
|
|
// 定性考核列表(部门方案用的)
|
|
func (d *DutyAssessApi) DutyDepartmentList(c *gin.Context) {
|
|
var requestData getDepartAssObtains
|
|
err := c.ShouldBindJSON(&requestData)
|
|
if err != nil {
|
|
// response.Result(101, err, "参数错误!请重新提交!", c)
|
|
// return
|
|
}
|
|
var targetId []int64
|
|
gormDb := global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.QualitativeEvaluation{}).Select("qe_target")
|
|
if requestData.DepartID != "" {
|
|
gormDb = gormDb.Where("`qe_accept_evaluation` = ?", requestData.DepartID)
|
|
}
|
|
gormDb = gormDb.Where("`qe_state` = 1 AND `qe_type` = 1")
|
|
listTargetErr := gormDb.Group("qe_target").Find(&targetId).Error
|
|
if listTargetErr != nil {
|
|
response.Result(101, listTargetErr, "没有数据!", c)
|
|
return
|
|
}
|
|
var targetList []OutDutyList
|
|
for _, v := range targetId {
|
|
var targetCont OutDutyList
|
|
targetCont.Id = strconv.FormatInt(v, 10)
|
|
tarCont, _ := commonus.GetTargetInfo(v)
|
|
|
|
targetCont.Target = strconv.FormatInt(v, 10) //指标ID
|
|
targetCont.TargetName = tarCont.Title //指标名称
|
|
targetCont.Dimension = strconv.FormatInt(tarCont.Dimension, 10) //维度ID
|
|
dutyClassCont, dutyClassErr := commonus.GetDutyClassInfo(tarCont.Dimension)
|
|
if dutyClassErr == true {
|
|
targetCont.DimensionName = dutyClassCont.Title //维度名称
|
|
}
|
|
targetCont.Content = "" //指标说明
|
|
targetCont.Unit = tarCont.Uniteing //单位"`
|
|
targetCont.ReferenceScore = 0 //标准分值"`
|
|
targetCont.Cycles = tarCont.Cycles //1:班;2:天;3:周;4:月;5:季度;6:年"`
|
|
targetCont.CycleAttres = tarCont.CycleAttres //辅助计数"`
|
|
targetCont.State = 1
|
|
targetCont.DepartmentId, targetCont.DepartmentAry = GetDutyFangAnDepart(v, 1)
|
|
|
|
shenPiRen := strings.Split(tarCont.Report, ",")
|
|
targetCont.UserList = shenPiRen
|
|
for _, v := range shenPiRen {
|
|
usCont, usErr := commonus.GetUserInfoPublic([]string{"worker_man.wm_number", "worker_man_data.wmd_name"}, map[string]interface{}{"wm_key": v})
|
|
if usErr == true {
|
|
var userCont QualEvalArrt
|
|
userCont.Id = v
|
|
userCont.Name = usCont.Name
|
|
targetCont.UserListAry = append(targetCont.UserListAry, userCont)
|
|
}
|
|
}
|
|
|
|
targetList = append(targetList, targetCont)
|
|
}
|
|
// var qualitativeEvaluationAry []assessmentmodel.QualitativeEvaluation
|
|
response.Result(0, targetList, "查询完成!", c)
|
|
}
|
|
|
|
// 获取方案中的所有所有相关部们
|
|
func GetDutyFangAnDepart(dutyId int64, class int) (departId []int64, departAry []DepartmentAryType) {
|
|
err := global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.QualitativeEvaluation{}).Select("qe_accept_evaluation").Where("`qe_state` = 1 AND `qe_target` = ? AND `qe_type` = ?", dutyId, class).Group("qe_accept_evaluation").Find(&departId).Error
|
|
if err != nil {
|
|
return
|
|
}
|
|
|
|
for _, v := range departId {
|
|
deparConErr, deparConCont := commonus.GetBranchFactory(v)
|
|
if deparConErr == true {
|
|
var departcont DepartmentAryType
|
|
departcont.Parentname = deparConCont.Name
|
|
departcont.Parentid = strconv.FormatInt(v, 10)
|
|
departAry = append(departAry, departcont)
|
|
}
|
|
}
|
|
return
|
|
}
|
|
|
|
// 根据指标ID获取列表信息
|
|
func (d *DutyAssessApi) IdToTargetSunList(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
|
|
}
|
|
}
|
|
tarCont, isTrue := commonus.GetTargetInfo(requestData.Id)
|
|
if isTrue != true {
|
|
response.Result(103, err, "数据获取失败!", c)
|
|
return
|
|
}
|
|
var targetCont TargetFormId
|
|
targetCont.Id = strconv.FormatInt(requestData.Id, 10)
|
|
targetCont.Target = strconv.FormatInt(requestData.Id, 10) //指标ID
|
|
targetCont.TargetName = tarCont.Title //指标名称
|
|
targetCont.Dimension = strconv.FormatInt(tarCont.Dimension, 10) //维度ID
|
|
dutyClassCont, dutyClassErr := commonus.GetDutyClassInfo(tarCont.Dimension)
|
|
if dutyClassErr == true {
|
|
targetCont.DimensionName = dutyClassCont.Title //维度名称
|
|
}
|
|
targetCont.Content = "" //指标说明
|
|
targetCont.Unit = tarCont.Uniteing //单位"`
|
|
targetCont.ReferenceScore = 0 //标准分值"`
|
|
targetCont.Cycles = tarCont.Cycles //1:班;2:天;3:周;4:月;5:季度;6:年"`
|
|
targetCont.CycleAttres = tarCont.CycleAttres //辅助计数"`
|
|
targetCont.State = 1
|
|
targetCont.DepartmentId, targetCont.DepartmentAry = GetDutyFangAnDepart(requestData.Id, 1)
|
|
targetCont.SunTargetList = GetSunTargetList(requestData.Id, tarCont.Dimension, targetCont.DepartmentId)
|
|
targetCont.Reportmap = strings.Split(tarCont.Report, ",")
|
|
|
|
// for _, vv := range jieguo {
|
|
// targetCont.SunTargetList = append(targetCont.SunTargetList, vv)
|
|
// }
|
|
// targetCont.SunTargetList = jieguo
|
|
// jsonstr, _ := json.Marshal(targetCont)
|
|
// fmt.Printf("+++++++++>%v----->\n", string(jsonstr))
|
|
response.Result(0, targetCont, "查询完成!", c)
|
|
}
|
|
|
|
// 获取子指标和指标详情
|
|
func GetSunTargetList(targetId, demID int64, parAryId []int64) (cont []SunTargetListType) {
|
|
var qualTargetCont []assessmentmodel.QualitativeTarget
|
|
err := global.GVA_DB_Performanceappraisal.Where("`q_state` = 1 AND `q_parent_id` = ?", targetId).Find(&qualTargetCont).Error
|
|
if err != nil {
|
|
return
|
|
}
|
|
// fmt.Printf("%v\n", qualTargetCont)
|
|
for _, v := range qualTargetCont {
|
|
var sunCont SunTargetListType
|
|
sunCont.Id = strconv.FormatInt(v.Id, 10)
|
|
sunCont.Title = v.Title
|
|
sunCont.DetailedTarget = GetDetailTrager(targetId, v.Id, demID, parAryId)
|
|
// fmt.Printf("-->%v-->%v\n", v.Id, v.Title)
|
|
cont = append(cont, sunCont)
|
|
}
|
|
// fmt.Printf("=========>%v\n", cont)
|
|
return
|
|
}
|
|
|
|
// 获取指标详情
|
|
func GetDetailTrager(targetId, detId, demID int64, parAryId []int64) (cont []DetailedTargetType) {
|
|
var qualTargetCont []assessmentmodel.DetailedTarget
|
|
err := global.GVA_DB_Performanceappraisal.Where("`dt_state` = 1 AND `dt_parentid` = ? AND `dt_parentid_sun` = ?", targetId, detId).Find(&qualTargetCont).Error
|
|
if err != nil {
|
|
return
|
|
}
|
|
for _, v := range qualTargetCont {
|
|
var sunCont DetailedTargetType
|
|
sunCont.Id = strconv.FormatInt(v.Id, 10)
|
|
sunCont.Title = v.Title
|
|
sunCont.UserList, sunCont.UserListAry = GetOperator(demID, targetId, detId, v.Id, parAryId)
|
|
cont = append(cont, sunCont)
|
|
}
|
|
return
|
|
}
|
|
|
|
// 获取执行人
|
|
func GetOperator(dimID, tarId, sunTarId, detaId int64, parAryId []int64) (UserList []string, UserListAry []QualEvalArrt) {
|
|
var qualEval []assessmentmodel.QualitativeEvaluation
|
|
err := global.GVA_DB_Performanceappraisal.Where("`qe_state` = 1 AND `qe_dimension` = ? AND `qe_target` = ? AND `qe_target_sun` = ? AND `qe_detailed_target` = ? AND `qe_accept_evaluation` IN ?", dimID, tarId, sunTarId, detaId, parAryId).Find(&qualEval).Error
|
|
if err != nil {
|
|
return
|
|
}
|
|
|
|
for _, v := range qualEval {
|
|
if v.Operator != "" {
|
|
usAry := strings.Split(v.Operator, ",")
|
|
if len(usAry) > 0 {
|
|
for _, vv := range usAry {
|
|
|
|
if commonus.IsItTrueString(vv, UserList) == false {
|
|
UserList = append(UserList, vv)
|
|
usCont, usErr := commonus.GetUserInfoPublic([]string{"worker_man.wm_number", "worker_man_data.wmd_name"}, map[string]interface{}{"wm_key": vv})
|
|
if usErr == true {
|
|
var userCont QualEvalArrt
|
|
userCont.Id = vv
|
|
userCont.Name = usCont.Name
|
|
UserListAry = append(UserListAry, userCont)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return
|
|
}
|
|
|
|
// 获取定性指标->指标细则修改回显
|
|
func (d *DutyAssessApi) GetDetailedTargetCallBack(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 cont assessmentmodel.QualitativeEvaluation
|
|
errErr := global.GVA_DB_Performanceappraisal.Where("`qe_id` = ?", requestData.Id).Find(&cont).Error
|
|
if errErr != nil {
|
|
response.Result(103, err, "没有获取到数据!", c)
|
|
return
|
|
}
|
|
//输出格式
|
|
var content OutTargetCont
|
|
content.Id = strconv.FormatInt(requestData.Id, 10)
|
|
//获取子栏目信息
|
|
sunTargetCont, _ := commonus.GetQualitativeTargetInfo(cont.TargetSun)
|
|
content.SunTargerId = strconv.FormatInt(sunTargetCont.Id, 10)
|
|
content.SunTargetName = sunTargetCont.Title
|
|
//获取指标细则信息
|
|
detaileInfo, _ := commonus.GetDetailedTargetInfo(cont.DetailedTarget)
|
|
content.DetailedTargetId = strconv.FormatInt(detaileInfo.Id, 10)
|
|
content.DetailedTargetName = detaileInfo.Title
|
|
content.DetailedTargetContent = detaileInfo.Content
|
|
shenPiRen := strings.Split(cont.Operator, ",")
|
|
content.Operator = shenPiRen
|
|
for _, v := range shenPiRen {
|
|
usCont, usErr := commonus.GetUserInfoPublic([]string{"worker_man.wm_number", "worker_man_data.wmd_name"}, map[string]interface{}{"wm_key": v})
|
|
if usErr == true {
|
|
var userCont QualEvalArrt
|
|
userCont.Id = v
|
|
userCont.Name = usCont.Name
|
|
content.OperatorAry = append(content.OperatorAry, userCont)
|
|
}
|
|
}
|
|
//获取所有子栏目
|
|
var qualTar []assessmentmodel.QualitativeTarget
|
|
quaTarErr := global.GVA_DB_Performanceappraisal.Where("`q_parent_id` = ?", cont.Target).Find(&qualTar).Error
|
|
if quaTarErr == nil {
|
|
for _, s_v := range qualTar {
|
|
var sunTarCont QualEvalArrt
|
|
sunTarCont.Id = strconv.FormatInt(s_v.Id, 10)
|
|
sunTarCont.Name = s_v.Title
|
|
content.SunTargerList = append(content.SunTargerList, sunTarCont)
|
|
}
|
|
}
|
|
response.Result(0, content, "获取成功!", c)
|
|
}
|
|
|
|
// 获取定性指标->指标细则修改回显
|
|
func (d *DutyAssessApi) EiteDetailedTargetCallBack(c *gin.Context) {
|
|
var requestData GetEiteTargetCont
|
|
err := c.ShouldBindJSON(&requestData)
|
|
if err != nil {
|
|
response.Result(101, err, "数据获取失败!", c)
|
|
return
|
|
}
|
|
if requestData.Id == "" {
|
|
response.Result(102, err, "参数错误!请重新提交!", c)
|
|
return
|
|
}
|
|
var cont assessmentmodel.QualitativeEvaluation
|
|
errErr := global.GVA_DB_Performanceappraisal.Where("`qe_id` = ?", requestData.Id).Find(&cont).Error
|
|
if errErr != nil {
|
|
response.Result(103, err, "未能获取到数据!", c)
|
|
return
|
|
}
|
|
isTrue := false
|
|
if requestData.Class != 1 {
|
|
isTrue = NewEiteData(requestData, cont)
|
|
} else {
|
|
isTrue = NewAddData(requestData, cont)
|
|
}
|
|
if isTrue == false {
|
|
response.Result(104, err, "数据处理失败", c)
|
|
return
|
|
}
|
|
response.Result(0, err, "数据处理成功", c)
|
|
}
|
|
|
|
// 新增
|
|
func NewAddData(getData GetEiteTargetCont, oldData assessmentmodel.QualitativeEvaluation) (isTrue bool) {
|
|
isTrue = false
|
|
var detailedTargetInfo assessmentmodel.DetailedTarget
|
|
detailedTargetInfo.Title = getData.DetailedTargetName
|
|
detailedTargetInfo.Content = getData.DetailedTargetContent
|
|
detailedTargetInfo.ParentId = oldData.Target
|
|
detailedTargetInfo.ParentIdSun = oldData.TargetSun
|
|
detailedTargetInfo.State = 1
|
|
detailedTargetInfo.AddTime = time.Now().Unix()
|
|
addErr := global.GVA_DB_Performanceappraisal.Create(&detailedTargetInfo).Error
|
|
if addErr != nil {
|
|
return
|
|
}
|
|
var saveData assessmentmodel.QualitativeEvaluation
|
|
saveData.Title = oldData.Title
|
|
saveData.DepartmentId = oldData.DepartmentId
|
|
saveData.Dimension = oldData.Dimension
|
|
saveData.Target = oldData.Target
|
|
saveData.TargetSun = oldData.TargetSun
|
|
saveData.DetailedTarget = detailedTargetInfo.Id
|
|
saveData.Type = oldData.Type
|
|
saveData.Weight = oldData.Weight
|
|
saveData.Unit = oldData.Unit
|
|
saveData.ReferenceScore = oldData.ReferenceScore
|
|
saveData.State = oldData.State
|
|
saveData.Addtime = time.Now().Unix()
|
|
saveData.Eitetime = time.Now().Unix()
|
|
saveData.Group = oldData.Group
|
|
saveData.QualEvalId = oldData.QualEvalId
|
|
saveData.Cycles = oldData.Cycles
|
|
saveData.CycleAttres = oldData.CycleAttres
|
|
saveData.AcceptEvaluation = oldData.AcceptEvaluation
|
|
saveData.Operator = oldData.Operator
|
|
saveData.Content = oldData.Content
|
|
addErrQE := global.GVA_DB_Performanceappraisal.Create(&saveData).Error
|
|
if addErrQE != nil {
|
|
return
|
|
}
|
|
isTrue = true
|
|
return
|
|
}
|
|
|
|
// 修改
|
|
func NewEiteData(getData GetEiteTargetCont, oldData assessmentmodel.QualitativeEvaluation) (isTrue bool) {
|
|
isTrue = false
|
|
eiteDetailedInfo := commonus.MapOut()
|
|
eiteDetailedInfo["dt_time"] = time.Now().Unix()
|
|
if getData.DetailedTargetName != "" {
|
|
eiteDetailedInfo["dt_title"] = getData.DetailedTargetName
|
|
}
|
|
if getData.DetailedTargetContent != "" {
|
|
eiteDetailedInfo["dt_content"] = getData.DetailedTargetContent
|
|
}
|
|
eiteDetaInfoErr := global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.DetailedTarget{}).Where("`dt_id` = ?", oldData.DetailedTarget).Updates(&eiteDetailedInfo).Error
|
|
if eiteDetaInfoErr != nil {
|
|
return
|
|
}
|
|
if len(getData.Operator) > 0 {
|
|
eiteQualEvlInfo := commonus.MapOut()
|
|
eiteQualEvlInfo["qe_eitetime"] = time.Now().Unix()
|
|
eiteQualEvlInfo["qe_operator"] = strings.Join(getData.Operator, ",")
|
|
eiteQualEvlInfo["qe_department_id"] = strings.Join(commonus.GetDepartmentByUserBast(getData.Operator), ",")
|
|
eiteDetaQuaInfoErr := global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.QualitativeEvaluation{}).Where("`qe_id` = ?", oldData.Id).Updates(&eiteQualEvlInfo).Error
|
|
if eiteDetaQuaInfoErr != nil {
|
|
return
|
|
}
|
|
}
|
|
isTrue = true
|
|
return
|
|
}
|
|
|
|
// 修改子栏目名称
|
|
func (d *DutyAssessApi) EiteSunTargetName(c *gin.Context) {
|
|
var requestData EiteTargetContListSun
|
|
err := c.ShouldBindJSON(&requestData)
|
|
if err != nil {
|
|
response.Result(101, err, "数据获取失败!", c)
|
|
return
|
|
}
|
|
if requestData.Id == "" {
|
|
response.Result(102, requestData, "参数错误!请重新提交!", c)
|
|
return
|
|
}
|
|
if requestData.Name == "" {
|
|
response.Result(103, err, "参数错误!请重新提交!", c)
|
|
return
|
|
}
|
|
if requestData.Group == "" {
|
|
response.Result(104, err, "参数错误!无法获取数据", c)
|
|
return
|
|
}
|
|
if requestData.Dimension == "" {
|
|
response.Result(105, err, "参数错误!无法获取数据", c)
|
|
return
|
|
}
|
|
if requestData.TargetId == "" {
|
|
response.Result(106, err, "参数错误!无法获取数据", c)
|
|
return
|
|
}
|
|
if len(requestData.Operator) < 1 {
|
|
response.Result(107, err, "没有执行人!", c)
|
|
return
|
|
}
|
|
|
|
var assCont assessmentmodel.Assesstarget
|
|
assErr := global.GVA_DB_Performanceappraisal.Where("`group` = ? AND `dimension` = ? AND `targetid` = ? AND `suntargetid` = ?", requestData.Group, requestData.Dimension, requestData.TargetId, requestData.Id).First(&assCont).Error
|
|
|
|
if assErr != nil {
|
|
response.Result(104, err, "没有该数据!", c)
|
|
return
|
|
}
|
|
|
|
var userMap []DutyAssEssTarget
|
|
|
|
jsonErr := json.Unmarshal([]byte(assCont.Content), &userMap)
|
|
var detaTargetid []int64
|
|
if jsonErr == nil {
|
|
var saveUserAry []DutyAssEssTarget
|
|
for _, um_v := range userMap {
|
|
var saveUserCont DutyAssEssTarget
|
|
saveUserCont.Id = um_v.Id
|
|
saveUserCont.Operator = requestData.Operator
|
|
saveUserAry = append(saveUserAry, saveUserCont)
|
|
detaTargetid = append(detaTargetid, um_v.Id)
|
|
}
|
|
if len(saveUserAry) > 0 {
|
|
eiteAssCont := commonus.MapOut()
|
|
eiteAssCont["time"] = time.Now().Unix()
|
|
eiteUserJson, _ := json.Marshal(saveUserAry)
|
|
eiteAssCont["content"] = string(eiteUserJson)
|
|
global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.Assesstarget{}).Where("`at_id` = ?", assCont.Id).Updates(eiteAssCont)
|
|
}
|
|
if len(detaTargetid) > 0 {
|
|
eiteAssContDeite := commonus.MapOut()
|
|
eiteAssContDeite["dt_time"] = time.Now().Unix()
|
|
if requestData.Cycles > 0 {
|
|
eiteAssContDeite["dt_cycle"] = requestData.Cycles
|
|
}
|
|
if requestData.CycleAttres > 0 {
|
|
eiteAssContDeite["dt_cycleattr"] = requestData.CycleAttres
|
|
}
|
|
if requestData.CensorType > 0 {
|
|
eiteAssContDeite["dt_censor_type"] = requestData.CensorType
|
|
}
|
|
eiteAssContDeite["dt_censor_cont"] = requestData.CensorCont
|
|
if requestData.CensorRate > 0 {
|
|
// eiteAssContDeite["dt_censor_rate"] = requestData.CensorRate
|
|
eiteAssContDeite["dt_cycle"] = requestData.CensorRate
|
|
}
|
|
if len(requestData.DepartmentMap) > 0 {
|
|
eiteAssContDeite["dt_paretment"] = strings.Join(requestData.DepartmentMap, ",")
|
|
}
|
|
|
|
global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.DetailedTarget{}).Where("`dt_id` IN ?", detaTargetid).Updates(eiteAssContDeite)
|
|
}
|
|
}
|
|
|
|
var oldId int64
|
|
errCont := global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.QualitativeTarget{}).Select("q_id").Where("`q_id` = ?", requestData.Id).First(&oldId).Error
|
|
if errCont != nil {
|
|
response.Result(104, err, "没有该数据!", c)
|
|
return
|
|
}
|
|
eiteCont := commonus.MapOut()
|
|
eiteCont["q_time"] = time.Now().Unix()
|
|
eiteCont["q_title"] = requestData.Name
|
|
if len(requestData.DepartmentMap) > 0 {
|
|
eiteCont["q_depart"] = strings.Join(requestData.DepartmentMap, ",")
|
|
} else {
|
|
eiteCont["q_depart"] = ""
|
|
}
|
|
errEiteCont := global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.QualitativeTarget{}).Where("`q_id` = ?", requestData.Id).Updates(&eiteCont).Error
|
|
if errEiteCont != nil {
|
|
response.Result(105, err, "修改失败!", c)
|
|
return
|
|
}
|
|
WriteBackTargetDepartment(requestData.TargetId, requestData.DepartmentMap)
|
|
response.Result(0, err, "数据处理成功", c)
|
|
}
|
|
|
|
// 删除定性考核指标
|
|
func (d *DutyAssessApi) DelDutyTarget(c *gin.Context) {
|
|
var requestData QualEvalArrt
|
|
err := c.ShouldBindJSON(&requestData)
|
|
if err != nil {
|
|
response.Result(101, err, "数据获取失败!", c)
|
|
return
|
|
}
|
|
if requestData.Id == "" {
|
|
response.Result(102, err, "参数错误!请重新提交!", c)
|
|
return
|
|
}
|
|
eiteCont := commonus.MapOut()
|
|
eiteCont["qe_eitetime"] = time.Now().Unix()
|
|
eiteCont["qe_state"] = 3
|
|
errEiteCont := global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.QualitativeEvaluation{}).Where("`qe_target` = ?", requestData.Id).Updates(&eiteCont).Error
|
|
if errEiteCont != nil {
|
|
response.Result(105, errEiteCont, "删除失败!", c)
|
|
return
|
|
}
|
|
response.Result(0, err, "数据处理成功", c)
|
|
}
|
|
|
|
// 删除子栏目及附属指标详情
|
|
func (d *DutyAssessApi) DelSunTarDimeat(c *gin.Context) {
|
|
var requestData QualEvalArrt
|
|
err := c.ShouldBindJSON(&requestData)
|
|
if err != nil {
|
|
response.Result(101, err, "数据获取失败!", c)
|
|
return
|
|
}
|
|
if requestData.Id == "" {
|
|
response.Result(102, err, "参数错误!请重新提交!", c)
|
|
return
|
|
}
|
|
var qualId int64
|
|
errEiteQualGuiShuCont := global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.QualitativeTarget{}).Select("q_parent_id").Where("`q_id` = ?", requestData.Id).First(&qualId).Error
|
|
if errEiteQualGuiShuCont != nil {
|
|
response.Result(103, err, "参数错误!请重新提交!", c)
|
|
return
|
|
}
|
|
eiteCont := commonus.MapOut()
|
|
eiteCont["qe_eitetime"] = time.Now().Unix()
|
|
eiteCont["qe_state"] = 3
|
|
errEiteCont := global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.QualitativeEvaluation{}).Where("`qe_target_sun` = ?", requestData.Id).Updates(&eiteCont).Error
|
|
if errEiteCont != nil {
|
|
response.Result(105, errEiteCont, "删除失败!", c)
|
|
return
|
|
}
|
|
eiteQualTar := commonus.MapOut()
|
|
eiteQualTar["q_time"] = time.Now().Unix()
|
|
eiteQualTar["q_state"] = 3
|
|
errEiteQualCont := global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.QualitativeTarget{}).Where("`q_id` = ?", requestData.Id).Updates(&eiteQualTar).Error
|
|
if errEiteQualCont == nil {
|
|
eiteQualTarDited := commonus.MapOut()
|
|
eiteQualTarDited["dt_time"] = time.Now().Unix()
|
|
eiteQualTarDited["dt_state"] = 3
|
|
global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.DetailedTarget{}).Where("`dt_parentid` = ? AND `dt_parentid_sun` = ?", qualId, requestData.Id).Updates(&eiteQualTarDited)
|
|
}
|
|
|
|
response.Result(0, err, "数据处理成功", c)
|
|
}
|
|
|
|
// 添加 定性考核指标关系指定
|
|
func (d *DutyAssessApi) AddDutyRelationOld(c *gin.Context) {
|
|
var requestData AddQualEval
|
|
err := c.ShouldBindJSON(&requestData)
|
|
if err != nil {
|
|
// response.Result(101, err, "数据获取失败!", c)
|
|
// return
|
|
}
|
|
if requestData.Group == "" {
|
|
response.Result(102, err, "请选择归属集团", c)
|
|
return
|
|
}
|
|
if len(requestData.AcceptDepartmentId) <= 0 {
|
|
response.Result(103, err, "请选择接受考核的部门!", c)
|
|
return
|
|
}
|
|
// if requestData.Dimension == "" {
|
|
// response.Result(102, err, "请选择考核维度", c)
|
|
// return
|
|
// }
|
|
if requestData.Target == "" {
|
|
response.Result(104, err, "请选择考核指标", c)
|
|
return
|
|
}
|
|
if requestData.TargetSunTitle == "" {
|
|
response.Result(105, err, "请输入栏目名称!", c)
|
|
return
|
|
}
|
|
if len(requestData.EvaluationList) <= 0 {
|
|
response.Result(106, err, "请添加测评详情!", c)
|
|
return
|
|
}
|
|
// fmt.Printf("kjh------11------>%v\n", requestData)
|
|
sunTarDepartStr := strings.Join(requestData.AcceptDepartmentId, ",")
|
|
//获取子目标情况
|
|
sunTargetCont, sunTargetErr := commonus.JudgeColumn(requestData.Target, requestData.TargetSun, requestData.TargetSunTitle, sunTarDepartStr)
|
|
if sunTargetErr != true {
|
|
}
|
|
//将集团Id转化成整型
|
|
groupInt, groupIntErr := strconv.ParseInt(requestData.Group, 10, 64)
|
|
if groupIntErr != nil {
|
|
groupInt = 1
|
|
}
|
|
//指标
|
|
targetInt, targetIntErr := strconv.ParseInt(requestData.Target, 10, 64)
|
|
if targetIntErr != nil {
|
|
targetInt = 0
|
|
}
|
|
//维度
|
|
dimensionInt, departinIntErr := strconv.ParseInt(requestData.Dimension, 10, 64)
|
|
if departinIntErr != nil {
|
|
dimensionInt = 0
|
|
}
|
|
if dimensionInt == 0 {
|
|
targetInfo, targetInfoErr := commonus.GetTargetInfo(targetInt)
|
|
if targetInfoErr == true {
|
|
dimensionInt = targetInfo.Dimension
|
|
}
|
|
}
|
|
//关联集团部门考核维度
|
|
commonus.AddDepartDimension(requestData.Group, strconv.FormatInt(dimensionInt, 10), requestData.Dimension, 1)
|
|
|
|
//原指标细则
|
|
var oldId []int64
|
|
global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.DetailedTarget{}).Select("`dt_id`").Where("`dt_state` = 1 AND `dt_parentid` = ? AND `dt_parentid_sun` = ?", requestData.Target, sunTargetCont.Id).Find(&oldId)
|
|
//遍历指标细则
|
|
var targetContList []DutyAssEssTarget
|
|
|
|
var newAddId []int64
|
|
for _, v := range requestData.EvaluationList {
|
|
// detailedTargetInfo, dtiIsTrue := commonus.JudgeDetails(requestData.Target, v.Title, v.Content, v.DetailedTarget, sunTargetCont.Id)
|
|
// detailedTargetInfo, dtiIsTrue := commonus.JudgeDetailsCopy(requestData.Target, v.Title, v.Content, v.DetailedTarget, v.ReferenceScore, v.Unit, sunTargetCont.Id, v.AddOrReduce)
|
|
// fmt.Printf("关联部门------11------>%v\n", sunTarDepartStr)
|
|
// panic(sunTarDepartStr)
|
|
detailedTargetInfo, dtiIsTrue := JudgeDetailsCopyEs(requestData.Target, sunTarDepartStr, sunTargetCont.Id, v)
|
|
|
|
/*
|
|
参数说明
|
|
@ascription 归属指标栏目
|
|
@title 指标细则
|
|
@explain 指标说明'
|
|
@explainId 指标明细ID
|
|
@ReferenceScore 分数
|
|
@CompanyCont 单位
|
|
@sunTargetId 子栏目
|
|
*/
|
|
|
|
if dtiIsTrue == true {
|
|
if detailedTargetInfo.Id != 0 {
|
|
newAddId = append(newAddId, detailedTargetInfo.Id)
|
|
var targetContInfo DutyAssEssTarget
|
|
targetContInfo.Id = detailedTargetInfo.Id
|
|
targetContInfo.Operator = v.Operator
|
|
targetContList = append(targetContList, targetContInfo)
|
|
}
|
|
}
|
|
}
|
|
|
|
mergeMap := append(oldId, newAddId...) //合并两个数组
|
|
var finalResultId []int64 //最终结果
|
|
for _, m_v := range mergeMap {
|
|
if commonus.IsItTrue(m_v, finalResultId) != true {
|
|
finalResultId = append(finalResultId, m_v)
|
|
}
|
|
}
|
|
|
|
//组合写入数据
|
|
for _, f_v := range finalResultId {
|
|
if commonus.IsItTrue(f_v, newAddId) != true {
|
|
var targetContInfos DutyAssEssTarget
|
|
targetContInfos.Id = f_v
|
|
targetContList = append(targetContList, targetContInfos)
|
|
}
|
|
}
|
|
// response.Result(0, targetContList, "处理成功!", c)
|
|
// return
|
|
//判断该集团指标子栏目是否存在
|
|
var arTaegetInfo assessmentmodel.Assesstarget
|
|
judgeARTErr := global.GVA_DB_Performanceappraisal.Where("`group` = ? AND `dimension` = ? AND `targetid` = ? AND `suntargetid` = ?", groupInt, dimensionInt, targetInt, sunTargetCont.Id).First(&arTaegetInfo).Error
|
|
|
|
//判断指标是否存在并且获取已存在的所有指标关联部门
|
|
var guanLianBuMen []string
|
|
for _, vvk_vs := range requestData.AcceptDepartmentId {
|
|
if commonus.IsItTrueString(vvk_vs, guanLianBuMen) == false {
|
|
guanLianBuMen = append(guanLianBuMen, vvk_vs)
|
|
}
|
|
}
|
|
var sunTarId []int64
|
|
judgeARkTErr := global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.Assesstarget{}).Select("`suntargetid`").Where("`group` = ? AND `dimension` = ? AND `targetid` = ? ", groupInt, dimensionInt, targetInt).Find(&sunTarId).Error
|
|
// fmt.Printf("kjh------1------>%v------>%v\n", sunTarId, judgeARkTErr)
|
|
if judgeARkTErr == nil {
|
|
var sunTarDepartMap []string
|
|
judgeSunTarkTErr := global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.QualitativeTarget{}).Select("`q_depart`").Where("`q_id` IN ?", sunTarId).Find(&sunTarDepartMap).Error
|
|
// fmt.Printf("kjh------2------>%v\n", sunTarDepartMap)
|
|
if judgeSunTarkTErr == nil {
|
|
// var departStrAry []string
|
|
for _, vvk := range sunTarDepartMap {
|
|
departStrAry := strings.Split(vvk, ",")
|
|
for _, vvk_v := range departStrAry {
|
|
if commonus.IsItTrueString(vvk_v, guanLianBuMen) == false {
|
|
guanLianBuMen = append(guanLianBuMen, vvk_v)
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
eiteContkk := commonus.MapOut()
|
|
eiteContkk["departmentmap"] = strings.Join(guanLianBuMen, ",")
|
|
eiteContkk["time"] = time.Now().Unix()
|
|
global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.Assesstarget{}).Where("`suntargetid` IN ?", sunTarId).Updates(eiteContkk)
|
|
// fmt.Printf("kjh------3------>%v\n", eiteContkk)
|
|
}
|
|
|
|
if judgeARTErr == nil {
|
|
|
|
var eiteTarList []DutyAssEssTarget
|
|
// var eiteId []int64
|
|
if arTaegetInfo.Content != "" && arTaegetInfo.Content != "null" {
|
|
var tarList []DutyAssEssTarget
|
|
jsonErr := json.Unmarshal([]byte(arTaegetInfo.Content), &tarList)
|
|
if jsonErr == nil {
|
|
// if len(tarList) > len(targetContList) {
|
|
// for _, tl_v := range tarList {
|
|
|
|
// tarInfo, tarInfoErr := JudgeDeiScor(tl_v.Id, targetContList)
|
|
// if tarInfoErr == false {
|
|
// eiteTarList = append(eiteTarList, tarInfo)
|
|
// } else {
|
|
// eiteTarList = append(eiteTarList, tl_v)
|
|
// }
|
|
// }
|
|
// } else {
|
|
// for _, ttl_v := range targetContList {
|
|
// tarInfo, tarInfoErr := JudgeDeiScor(ttl_v.Id, tarList)
|
|
// if tarInfoErr == true {
|
|
// eiteTarList = append(eiteTarList, tarInfo)
|
|
// } else {
|
|
// eiteTarList = append(eiteTarList, ttl_v)
|
|
// }
|
|
|
|
// }
|
|
// }
|
|
for _, ttl_v := range targetContList {
|
|
eiteTarList = append(eiteTarList, ttl_v)
|
|
}
|
|
for _, tl_v := range tarList {
|
|
_, tarInfoErr := JudgeDeiScor(tl_v.Id, targetContList)
|
|
if tarInfoErr == false {
|
|
eiteTarList = append(eiteTarList, tl_v)
|
|
}
|
|
}
|
|
}
|
|
|
|
} else {
|
|
eiteTarList = targetContList
|
|
}
|
|
|
|
// fmt.Printf("llllllllllll----->%v\n", newAddId)
|
|
|
|
eiteCont := commonus.MapOut()
|
|
|
|
// oldDepartAry := strings.Join(",",",")
|
|
// oldDepartAry := strings.Split(arTaegetInfo.Departmentmap, ",")
|
|
// mergeDepartMap := append(oldDepartAry, requestData.AcceptDepartmentId...)
|
|
|
|
// var finalResultDepartId []string //最终结果
|
|
// for _, mdm_v := range mergeDepartMap {
|
|
// if commonus.IsItTrueString(mdm_v, finalResultDepartId) != true {
|
|
// finalResultDepartId = append(finalResultDepartId, mdm_v)
|
|
// }
|
|
// }
|
|
|
|
// eiteCont["departmentmap"] = strings.Join(requestData.AcceptDepartmentId, ",")
|
|
// eiteCont["departmentmap"] = strings.Join(guanLianBuMen, ",")
|
|
eiteCont["time"] = time.Now().Unix()
|
|
jsonStr, jsonMErr := json.Marshal(eiteTarList)
|
|
if jsonMErr == nil {
|
|
eiteCont["content"] = string(jsonStr)
|
|
}
|
|
|
|
eiteErr := global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.Assesstarget{}).Where("`at_id` = ?", arTaegetInfo.Id).Updates(eiteCont).Error
|
|
if eiteErr == nil {
|
|
response.Result(0, err, "处理成功!1", c)
|
|
} else {
|
|
response.Result(107, err, "请添加测评详情!", c)
|
|
}
|
|
} else {
|
|
arTaegetInfo.Group = groupInt
|
|
|
|
arTaegetInfo.Departmentmap = strings.Join(guanLianBuMen, ",")
|
|
arTaegetInfo.TargetId = targetInt
|
|
arTaegetInfo.SunTargetId = sunTargetCont.Id
|
|
arTaegetInfo.Dimension = dimensionInt
|
|
jsonStr, jsonMErr := json.Marshal(targetContList)
|
|
if jsonMErr == nil {
|
|
arTaegetInfo.Content = string(jsonStr)
|
|
}
|
|
arTaegetInfo.Time = time.Now().Unix()
|
|
addErr := global.GVA_DB_Performanceappraisal.Create(&arTaegetInfo).Error
|
|
if addErr == nil {
|
|
response.Result(0, err, "处理成功!2", c)
|
|
} else {
|
|
response.Result(107, err, "请添加测评详情!", c)
|
|
}
|
|
}
|
|
}
|
|
|
|
// 判断是否存在项目
|
|
func JudgeDeiScor(id int64, listCont []DutyAssEssTarget) (cont DutyAssEssTarget, isTrue bool) {
|
|
isTrue = false
|
|
for _, v := range listCont {
|
|
if id == v.Id {
|
|
cont = v
|
|
isTrue = true
|
|
}
|
|
}
|
|
return
|
|
}
|
|
|
|
// 获取定性考核指标关系指定列表
|
|
func (d *DutyAssessApi) GetDutyRelationList(c *gin.Context) {
|
|
var targetAssessAry []assessmentmodel.Assesstarget
|
|
errGroup := global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.Assesstarget{}).Select("`group`,`dimension`,`targetid`").Group("`group`,`dimension`,`targetid`").Order("`group` ASC").Order("`dimension` ASC").Order("`targetid` ASC").Find(&targetAssessAry).Error
|
|
if errGroup != nil {
|
|
response.Result(107, errGroup, "没有信息", c)
|
|
return
|
|
}
|
|
var outContList []dutyOutNew
|
|
for _, v := range targetAssessAry {
|
|
var tarContMap assessmentmodel.EvaluationTarget
|
|
tarErr := global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.EvaluationTarget{}).Select("`et_title`,`et_cycle`,`et_cycleattr`").Where("`et_id` = ?", v.TargetId).First(&tarContMap).Error
|
|
if tarErr == nil {
|
|
var outInfo dutyOutNew
|
|
outInfo.Group = strconv.FormatInt(v.Group, 10)
|
|
//维度信息
|
|
dutyClassCont, _ := commonus.GetDutyClassInfo(v.Dimension)
|
|
outInfo.Dimension = strconv.FormatInt(v.Dimension, 10)
|
|
outInfo.Dimensionname = dutyClassCont.Title
|
|
|
|
//指标信息
|
|
outInfo.Target = strconv.FormatInt(v.TargetId, 10)
|
|
tarCont, _ := commonus.GetTargetInfo(v.TargetId)
|
|
outInfo.Targetname = tarCont.Title
|
|
outInfo.Cycles = tarCont.Cycles //1:班;2:天;3:周;4:月;5:季度;6:年"`
|
|
outInfo.CycleAttres = tarCont.CycleAttres //辅助计数"`
|
|
|
|
outInfo.Departmentid, outInfo.Departmentmap, outInfo.UserList, outInfo.UserListAry = jieXiDutyList(v.Group, v.Dimension, v.TargetId)
|
|
|
|
outContList = append(outContList, outInfo)
|
|
}
|
|
|
|
}
|
|
|
|
response.Result(0, outContList, "查询完成!", c)
|
|
return
|
|
// var list []assessmentmodel.Assesstarget
|
|
// err := global.GVA_DB_Performanceappraisal.Order("`group` ASC").Order("`targetid` ASC").Order("`suntargetid` ASC").Find(&list).Error
|
|
// if err != nil {
|
|
// response.Result(107, err, "没有信息", c)
|
|
// return
|
|
// }
|
|
// var outList []OutDutyListes
|
|
// for _, v := range list {
|
|
// var outCont OutDutyListes
|
|
|
|
// outCont.Id = strconv.FormatInt(v.Id, 10)
|
|
// outCont.Group = strconv.FormatInt(v.Group, 10)
|
|
// //指标信息
|
|
// outCont.Target = strconv.FormatInt(v.TargetId, 10)
|
|
// tarCont, _ := commonus.GetTargetInfo(v.TargetId)
|
|
// outCont.TargetName = tarCont.Title
|
|
// //维度信息
|
|
// dutyClassCont, _ := commonus.GetDutyClassInfo(tarCont.Dimension)
|
|
// outCont.Dimension = strconv.FormatInt(tarCont.Dimension, 10)
|
|
// outCont.DimensionName = dutyClassCont.Title
|
|
|
|
// outCont.Content = "" //指标说明
|
|
// outCont.Unit = tarCont.Uniteing //单位"`
|
|
// outCont.ReferenceScore = 0 //标准分值"`
|
|
// outCont.Cycles = tarCont.Cycles //1:班;2:天;3:周;4:月;5:季度;6:年"`
|
|
// outCont.CycleAttres = tarCont.CycleAttres //辅助计数"`
|
|
// outCont.State = 1
|
|
|
|
// // outCont.DepartmentId, outCont.DepartmentAry = commonus.GetBranchDepartAry(strings.Split(v.Departmentmap, ","))
|
|
// outCont.DepartmentId, outCont.DepartmentAry = commonus.GetNewOrgList(strings.Split(v.Departmentmap, ","))
|
|
|
|
// shenPiRen := strings.Split(tarCont.Report, ",")
|
|
// outCont.UserList = shenPiRen
|
|
// for _, v := range shenPiRen {
|
|
// // usCont, usErr := commonus.GetWorkUser(v)
|
|
// userWher := commonus.MapOut()
|
|
// userWher["key"] = v
|
|
// usCont, usErr := commonus.GetNewHrPeopleInfo(userWher)
|
|
// // GetWorkUser
|
|
// if usErr == true {
|
|
// var userCont QualEvalArrt
|
|
// userCont.Id = v
|
|
// userCont.Name = usCont.Name
|
|
// userCont.Icon = usCont.Icon
|
|
|
|
// where := commonus.MapOut()
|
|
// // where["id"] = usCont.Group
|
|
// where["id"] = usCont.Company
|
|
// orgCont, _ := commonus.GetNewOrgCont(where, "id", "name", "abbreviation")
|
|
// userCont.GroupName = orgCont.Name
|
|
// if orgCont.Abbreviation != "" {
|
|
// userCont.GroupName = orgCont.Abbreviation
|
|
// }
|
|
|
|
// whereDepart := commonus.MapOut()
|
|
// // whereDepart["id"] = usCont.DepartmentId
|
|
// whereDepart["id"] = usCont.Deparment
|
|
// orgContDepart, _ := commonus.GetNewOrgCont(whereDepart, "id", "name")
|
|
// userCont.DepartmentName = orgContDepart.Name
|
|
|
|
// // _, groupInfo := commonus.GetGroupCont(usCont.Group)
|
|
// // userCont.GroupName = groupInfo.Name
|
|
// // _, bfInfo := commonus.GetBranchFactory(usCont.DepartmentId)
|
|
// // userCont.DepartmentName = bfInfo.Name
|
|
// userCont.Number = usCont.Number
|
|
// outCont.UserListAry = append(outCont.UserListAry, userCont)
|
|
// }
|
|
// }
|
|
|
|
// outList = append(outList, outCont)
|
|
// }
|
|
// response.Result(0, outList, "查询完成!", c)
|
|
}
|
|
|
|
// 查看定性考核项目详情
|
|
func (d *DutyAssessApi) LookDutyTargetInfoOld(c *gin.Context) {
|
|
var requestData LookTargetContList
|
|
err := c.ShouldBindJSON(&requestData)
|
|
if err != nil {
|
|
response.Result(101, err, "数据获取失败!", c)
|
|
return
|
|
}
|
|
if requestData.Group == "" {
|
|
response.Result(102, err, "参数错误!无法获取数据", c)
|
|
return
|
|
}
|
|
if requestData.Dimension == "" {
|
|
response.Result(103, err, "参数错误!无法获取数据", c)
|
|
return
|
|
}
|
|
if requestData.TargetId == "" {
|
|
response.Result(104, err, "参数错误!无法获取数据", c)
|
|
return
|
|
}
|
|
var assessInfoList []assessmentmodel.Assesstarget
|
|
goromDb := global.GVA_DB_Performanceappraisal.Where("`group` = ? AND `dimension` = ? AND `targetid` = ?", requestData.Group, requestData.Dimension, requestData.TargetId)
|
|
// if requestData.DepartId != "" {
|
|
// goromDb = goromDb.Where("FIND_IN_SET(?,`qe_operator`)", requestData.DepartId)
|
|
// }
|
|
|
|
assErr := goromDb.Find(&assessInfoList).Error
|
|
if assErr != nil {
|
|
response.Result(105, assErr, "没有获取到数据!", c)
|
|
return
|
|
}
|
|
// response.Result(104, assessInfoList, "参数错误!无法获取数据", c)
|
|
// return
|
|
var uotContAry []TargetContOutCont
|
|
for _, v := range assessInfoList {
|
|
var uotCont TargetContOutCont
|
|
uotCont.DutyAssessId = strconv.FormatInt(v.Id, 10)
|
|
uotCont.Type = 1
|
|
//集团
|
|
uotCont.Group = requestData.Group
|
|
// _, groupCont := commonus.GetGroupCont(v.Group)
|
|
// uotCont.GroupNAme = groupCont.Name
|
|
|
|
where := commonus.MapOut()
|
|
where["id"] = v.Group
|
|
orgCont, _ := commonus.GetNewOrgCont(where, "id", "name")
|
|
uotCont.GroupNAme = orgCont.Name
|
|
//执行部门
|
|
uotCont.DepartmentId = v.Departmentmap
|
|
|
|
_, DepartmentAry := commonus.GetNewOrgList(strings.Split(v.Departmentmap, ","))
|
|
|
|
var depNameMap []string
|
|
for _, sep_v := range DepartmentAry {
|
|
depNameMap = append(depNameMap, sep_v.Parentname)
|
|
}
|
|
|
|
// _, departInfoAry := commonus.GetBranchDepartAry(strings.Split(v.Departmentmap, ","))
|
|
// var depNameMap []string
|
|
// for _, sep_v := range departInfoAry {
|
|
// depNameMap = append(depNameMap, sep_v.Parentname)
|
|
// }
|
|
uotCont.DepartmentName = strings.Join(depNameMap, ",")
|
|
uotCont.DepartNameMap = depNameMap
|
|
//维度
|
|
uotCont.Dimension = strconv.FormatInt(v.Dimension, 10)
|
|
dutyClassCont, _ := commonus.GetDutyClassInfo(v.Dimension)
|
|
uotCont.DimensionName = dutyClassCont.Title
|
|
//指标
|
|
uotCont.Target = requestData.TargetId
|
|
targetInfo, _ := commonus.GetTargetInfo(v.TargetId)
|
|
uotCont.TargetName = targetInfo.Title
|
|
//子栏目
|
|
uotCont.TargetSun = strconv.FormatInt(v.SunTargetId, 10)
|
|
info, _ := commonus.GetQualitativeTargetInfo(v.SunTargetId)
|
|
sunTarDepartMap := strings.Split(info.Depart, ",")
|
|
uotCont.DepartIdMap = sunTarDepartMap
|
|
//查询部门
|
|
isShow := true
|
|
// if requestData.DepartId != "" {
|
|
// if commonus.IsItTrueString(requestData.DepartId, sunTarDepartMap) == true {
|
|
// isShow = true
|
|
// }
|
|
// } else {
|
|
// isShow = true
|
|
// }
|
|
fmt.Printf("isShow-------->%v-------->%v-------->%v---->%v\n", isShow, requestData.DepartId, sunTarDepartMap, v.SunTargetId)
|
|
if isShow == true {
|
|
uotCont.TargetSunName = info.Title
|
|
//拆解指标详情
|
|
var detailedList []DutyAssEssTarget
|
|
detailedListErr := json.Unmarshal([]byte(v.Content), &detailedList)
|
|
if detailedListErr == nil {
|
|
// var detaiList []TargetContOutCont
|
|
// for _,d_v := range detailedList{}
|
|
if len(detailedList) > 0 {
|
|
for _, d_v := range detailedList {
|
|
uotCont.Id = strconv.FormatInt(d_v.Id, 10)
|
|
uotCont.DetailedTarget = strconv.FormatInt(d_v.Id, 10)
|
|
uotCont.UserList = d_v.Operator
|
|
|
|
// dtCont, _ := commonus.GetDetailedTargetInfo(d_v.Id)
|
|
|
|
// isDepartAry := strings.Split(dtCont.Paretment, ",")
|
|
// isShowTar := false
|
|
// if len(isDepartAry) > 0 && requestData.DepartId != "" {
|
|
// if commonus.IsItTrueString(requestData.DepartId, isDepartAry) == true {
|
|
// isShowTar = true
|
|
// } else {
|
|
// isShowTar = false
|
|
// }
|
|
// } else {
|
|
// isShowTar = true
|
|
// }
|
|
isShowTar := false
|
|
var dtCont assessmentmodel.DetailedTarget
|
|
gormDbDetaTar := global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.DetailedTarget{}).Where("dt_id = ?", d_v.Id)
|
|
if requestData.DepartId != "" {
|
|
gormDbDetaTar = gormDbDetaTar.Where("FIND_IN_SET(?,`dt_paretment`)", requestData.DepartId)
|
|
}
|
|
if requestData.CensorRate != 0 {
|
|
gormDbDetaTar = gormDbDetaTar.Where("dt_censor_rate = ?", requestData.CensorRate)
|
|
}
|
|
if requestData.CensorCont != "" {
|
|
gormDbDetaTar = gormDbDetaTar.Where("dt_censor_cont LIKE ?", "%"+requestData.CensorCont+"%")
|
|
}
|
|
errDetaTar := gormDbDetaTar.First(&dtCont).Error
|
|
if errDetaTar == nil {
|
|
if len(requestData.CensorType) > 0 {
|
|
conCensorType := strings.Split(dtCont.CensorType, ",")
|
|
for _, cvk := range requestData.CensorType {
|
|
if commonus.IsItTrueString(cvk, conCensorType) == true {
|
|
isShowTar = true
|
|
}
|
|
}
|
|
} else {
|
|
isShowTar = true
|
|
}
|
|
|
|
}
|
|
fmt.Printf("isShowTar------isShowTar-->%v--requestData-->%v--DepartId-->%v--dtCont-->%v\n", isShowTar, requestData, requestData.DepartId, dtCont)
|
|
if isShowTar == true {
|
|
uotCont.DetailedTargetName = dtCont.Title
|
|
uotCont.Content = dtCont.Content
|
|
uotCont.Unit = dtCont.Company
|
|
uotCont.State = dtCont.State
|
|
uotCont.MinScore = float64(dtCont.MinScore) / 100
|
|
uotCont.MaxScore = float64(dtCont.MaxScore) / 100
|
|
|
|
uotCont.CyclesDetTar = dtCont.Cycles //`json:"cycledettar"` //1:班;2:天;3:周;4:月;5:季度;6:年
|
|
uotCont.CycleDetTarAttres = dtCont.CycleAttres //`json:"cycleattrdettar"` //辅助计数
|
|
uotCont.CensorType = strings.Split(dtCont.CensorType, ",") //`json:"censortype"` //检查方式(1:现场检查;2:资料检查;3:事件触发)
|
|
uotCont.CensorCont = dtCont.CensorCont //`json:"censorcont"` //检查依据
|
|
uotCont.CensorRate = dtCont.CensorRate //`json:"censorrate"` //检查频次
|
|
|
|
uotCont.ScoreIng = "0"
|
|
if dtCont.MinScore > 0 && dtCont.MaxScore > 0 {
|
|
uotCont.ScoreIng = fmt.Sprintf("%v-%v", float64(dtCont.MinScore)/100, float64(dtCont.MaxScore)/100)
|
|
} else if dtCont.MinScore > 0 && dtCont.MaxScore <= 0 {
|
|
uotCont.ScoreIng = fmt.Sprintf("%v", float64(dtCont.MinScore)/100)
|
|
} else if dtCont.MinScore <= 0 && dtCont.MaxScore > 0 {
|
|
uotCont.ScoreIng = fmt.Sprintf("%v", float64(dtCont.MaxScore)/100)
|
|
} else {
|
|
uotCont.ScoreIng = "0"
|
|
}
|
|
for _, u_v := range d_v.Operator {
|
|
usCont, usErr := commonus.GetWorkUser(u_v)
|
|
if usErr == true {
|
|
var userCont QualEvalArrt
|
|
userCont.Id = u_v
|
|
userCont.Name = usCont.Name
|
|
userCont.Icon = usCont.Icon
|
|
|
|
where := commonus.MapOut()
|
|
where["id"] = usCont.Company
|
|
orgCont, _ := commonus.GetNewOrgCont(where, "id", "name")
|
|
userCont.GroupName = orgCont.Name
|
|
|
|
whereDepart := commonus.MapOut()
|
|
whereDepart["id"] = usCont.MainDeparment
|
|
orgContDepart, _ := commonus.GetNewOrgCont(whereDepart, "id", "name")
|
|
userCont.DepartmentName = orgContDepart.Name
|
|
|
|
// _, groupInfo := commonus.GetGroupCont(usCont.Group)
|
|
// userCont.GroupName = groupInfo.Name
|
|
// _, bfInfo := commonus.GetBranchFactory(usCont.DepartmentId)
|
|
// userCont.DepartmentName = bfInfo.Name
|
|
userCont.Number = usCont.Number
|
|
uotCont.UserListAry = append(uotCont.UserListAry, userCont)
|
|
}
|
|
}
|
|
|
|
uotContAry = append(uotContAry, uotCont)
|
|
}
|
|
|
|
}
|
|
} else {
|
|
uotContAry = append(uotContAry, uotCont)
|
|
}
|
|
} else {
|
|
uotContAry = append(uotContAry, uotCont)
|
|
}
|
|
}
|
|
|
|
}
|
|
if len(uotContAry) <= 0 {
|
|
response.Result(106, uotContAry, "没有获取到数据!", c)
|
|
} else {
|
|
response.Result(0, uotContAry, "获取成功!", c)
|
|
}
|
|
}
|
|
|
|
// 删除考核指标
|
|
func (d *DutyAssessApi) NewDelTarGet(c *gin.Context) {
|
|
var requestData LookTargetContList
|
|
err := c.ShouldBindJSON(&requestData)
|
|
if err != nil {
|
|
response.Result(101, err, "数据获取失败!", c)
|
|
return
|
|
}
|
|
if requestData.Group == "" {
|
|
response.Result(102, err, "参数错误!无法获取数据", c)
|
|
return
|
|
}
|
|
if requestData.Dimension == "" {
|
|
response.Result(103, err, "参数错误!无法获取数据", c)
|
|
return
|
|
}
|
|
if requestData.TargetId == "" {
|
|
response.Result(104, err, "参数错误!无法获取数据", c)
|
|
return
|
|
}
|
|
groupId, _ := strconv.ParseInt(requestData.Group, 10, 64)
|
|
dimensionId, _ := strconv.ParseInt(requestData.Dimension, 10, 64)
|
|
targetId, _ := strconv.ParseInt(requestData.TargetId, 10, 64)
|
|
isTrue := commonus.JudegDutyIsUse(groupId, dimensionId, targetId, 0, 0)
|
|
if isTrue != true {
|
|
response.Result(105, err, "你当前要删除的项目已经使用!请不要删除!以免造成正在进行的审批统计产生数据误差!", c)
|
|
return
|
|
}
|
|
var oldAssEssData []assessmentmodel.Assesstarget
|
|
global.GVA_DB_Performanceappraisal.Where("`group` = ? AND `dimension` = ? AND `targetid` = ?", requestData.Group, requestData.Dimension, requestData.TargetId).Find(&oldAssEssData)
|
|
if len(oldAssEssData) > 0 {
|
|
assessAttbar(oldAssEssData)
|
|
}
|
|
// response.Result(0, oldAssEssData, "删除成功!", c)
|
|
delErr := global.GVA_DB_Performanceappraisal.Where("`group` = ? AND `dimension` = ? AND `targetid` = ?", requestData.Group, requestData.Dimension, requestData.TargetId).Delete(&assessmentmodel.Assesstarget{}).Error
|
|
if delErr != nil {
|
|
response.Result(106, delErr, "删除失败!", c)
|
|
return
|
|
}
|
|
response.Result(0, delErr, "删除成功!", c)
|
|
}
|
|
|
|
// 执行附属软删除
|
|
func assessAttbar(oldAssEssData []assessmentmodel.Assesstarget) {
|
|
var targetId []int64
|
|
var targetSunId []int64
|
|
var detaredTargetSunId []int64
|
|
for _, v := range oldAssEssData {
|
|
if commonus.IsItTrue(v.TargetId, targetId) == false {
|
|
targetId = append(targetId, v.TargetId)
|
|
}
|
|
|
|
if commonus.IsItTrue(v.SunTargetId, targetSunId) == false {
|
|
targetSunId = append(targetSunId, v.SunTargetId)
|
|
}
|
|
var duyEssTarget []DutyAssEssTarget
|
|
duyTarJsonErr := json.Unmarshal([]byte(v.Content), &duyEssTarget)
|
|
if duyTarJsonErr == nil {
|
|
if len(duyEssTarget) > 0 {
|
|
for _, dv := range duyEssTarget {
|
|
if commonus.IsItTrue(dv.Id, detaredTargetSunId) == false {
|
|
detaredTargetSunId = append(detaredTargetSunId, dv.Id)
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
// if len(targetId) > 0 {
|
|
// saveTarData := commonus.MapOut()
|
|
// saveTarData["et_state"] = 3
|
|
// saveTarData["et_time"] = time.Now().Unix()
|
|
// global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.EvaluationTarget{}).Where("`et_id` IN ?", targetId).Updates(&saveTarData)
|
|
// }
|
|
if len(targetSunId) > 0 {
|
|
saveSunTarData := commonus.MapOut()
|
|
saveSunTarData["q_state"] = 3
|
|
saveSunTarData["q_time"] = time.Now().Unix()
|
|
global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.QualitativeTarget{}).Where("`q_id` IN ?", targetSunId).Updates(&saveSunTarData)
|
|
}
|
|
if len(detaredTargetSunId) > 0 {
|
|
saveTarData := commonus.MapOut()
|
|
saveTarData["dt_time"] = time.Now().Unix()
|
|
saveTarData["dt_state"] = 3
|
|
global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.DetailedTarget{}).Where("`dt_id` IN ?", detaredTargetSunId).Updates(&saveTarData)
|
|
}
|
|
// panic(detaredTargetSunId)
|
|
}
|
|
|
|
// 获取被修改指标细则的详情
|
|
func (d *DutyAssessApi) GetNewEiteDetailedTarget(c *gin.Context) {
|
|
var requestData GetDeitalTarCont
|
|
err := c.ShouldBindJSON(&requestData)
|
|
if err != nil {
|
|
response.Result(101, err, "数据获取失败!", c)
|
|
return
|
|
}
|
|
if requestData.Id == "" {
|
|
response.Result(102, requestData, "参数错误!请重新提交!", c)
|
|
return
|
|
}
|
|
if requestData.AssId == "" {
|
|
response.Result(103, requestData, "参数错误!请重新提交!", c)
|
|
return
|
|
}
|
|
var cont assessmentmodel.DetailedTarget
|
|
errErr := global.GVA_DB_Performanceappraisal.Where("`dt_id` = ?", requestData.Id).First(&cont).Error
|
|
if errErr != nil {
|
|
response.Result(104, errErr, "没有获取到数据!", c)
|
|
return
|
|
}
|
|
var assCont assessmentmodel.Assesstarget
|
|
errAssErr := global.GVA_DB_Performanceappraisal.Where("`at_id` = ?", requestData.AssId).First(&assCont).Error
|
|
if errAssErr != nil {
|
|
response.Result(105, errAssErr, "没有获取到数据!", c)
|
|
return
|
|
}
|
|
var outPutCont NewOutPutDetailedTarget
|
|
outPutCont.Id = strconv.FormatInt(cont.Id, 10)
|
|
//获取子栏目信息
|
|
sunTargetCont, _ := commonus.GetQualitativeTargetInfo(cont.ParentIdSun)
|
|
outPutCont.SunTargerId = strconv.FormatInt(sunTargetCont.Id, 10)
|
|
outPutCont.SunTargetName = sunTargetCont.Title
|
|
//获取指标细则信息
|
|
outPutCont.DetailedTargetId = strconv.FormatInt(cont.Id, 10)
|
|
outPutCont.DetailedTargetName = cont.Title
|
|
outPutCont.DetailedTargetContent = cont.Content
|
|
|
|
outPutCont.Cycles = cont.Cycles
|
|
outPutCont.CycleAttres = cont.CycleAttres
|
|
cenType := strings.Split(cont.CensorType, ",")
|
|
outPutCont.CensorType = cenType
|
|
outPutCont.CensorCont = cont.CensorCont
|
|
outPutCont.CensorRate = cont.CensorRate
|
|
|
|
outPutCont.AddReduce = cont.AddReduce
|
|
//单位
|
|
outPutCont.Unit = cont.Company
|
|
if cont.MinScore > 0 && cont.MaxScore > 0 {
|
|
outPutCont.Score = fmt.Sprintf("%v-%v", float64(cont.MinScore)/100, float64(cont.MaxScore)/100)
|
|
} else if cont.MinScore > 0 && cont.MaxScore <= 0 {
|
|
outPutCont.Score = fmt.Sprintf("%v", float64(cont.MinScore)/100)
|
|
} else if cont.MinScore <= 0 && cont.MaxScore > 0 {
|
|
outPutCont.Score = fmt.Sprintf("%v", float64(cont.MaxScore)/100)
|
|
} else {
|
|
outPutCont.Score = "0"
|
|
}
|
|
if cont.Paretment != "" {
|
|
outPutCont.DepartmentId = strings.Split(cont.Paretment, ",")
|
|
}
|
|
//解析考核方案内的指标关联人
|
|
//拆解指标详情
|
|
var detailedList []DutyAssEssTarget
|
|
detailedListErr := json.Unmarshal([]byte(assCont.Content), &detailedList)
|
|
if detailedListErr == nil {
|
|
for _, v := range detailedList {
|
|
if v.Id == cont.Id {
|
|
for _, us_key := range v.Operator {
|
|
usCont, _ := commonus.GetWorkUser(us_key)
|
|
var userCont QualEvalArrt
|
|
userCont.Id = us_key
|
|
userCont.Name = usCont.Name
|
|
userCont.Icon = usCont.Icon
|
|
|
|
where := commonus.MapOut()
|
|
where["id"] = usCont.Company
|
|
orgCont, _ := commonus.GetNewOrgCont(where, "id", "name")
|
|
userCont.GroupName = orgCont.Name
|
|
|
|
whereDepart := commonus.MapOut()
|
|
whereDepart["id"] = usCont.MainDeparment
|
|
orgContDepart, _ := commonus.GetNewOrgCont(whereDepart, "id", "name")
|
|
userCont.DepartmentName = orgContDepart.Name
|
|
|
|
// _, groupInfo := commonus.GetGroupCont(usCont.Group)
|
|
// userCont.GroupName = groupInfo.Name
|
|
// _, bfInfo := commonus.GetBranchFactory(usCont.DepartmentId)
|
|
// userCont.DepartmentName = bfInfo.Name
|
|
userCont.Number = usCont.Number
|
|
outPutCont.OperatorAry = append(outPutCont.OperatorAry, userCont)
|
|
outPutCont.Operator = append(outPutCont.Operator, us_key)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
//获取所有子栏目
|
|
var qualTar []assessmentmodel.QualitativeTarget
|
|
quaTarErr := global.GVA_DB_Performanceappraisal.Where("`q_parent_id` = ?", cont.ParentId).Find(&qualTar).Error
|
|
if quaTarErr == nil {
|
|
for _, s_v := range qualTar {
|
|
var sunTarCont QualEvalArrt
|
|
sunTarCont.Id = strconv.FormatInt(s_v.Id, 10)
|
|
sunTarCont.Name = s_v.Title
|
|
outPutCont.SunTargerList = append(outPutCont.SunTargerList, sunTarCont)
|
|
}
|
|
}
|
|
outPutCont.AssId = requestData.AssId
|
|
response.Result(0, outPutCont, "获取成功!", c)
|
|
|
|
}
|
|
|
|
// 修改定性考核指标细则内容
|
|
func (d *DutyAssessApi) NewEiteDetailedTarget(c *gin.Context) {
|
|
var requestData NewEiteDtyDiteCont
|
|
err := c.ShouldBindJSON(&requestData)
|
|
if err != nil {
|
|
response.Result(101, err, "数据获取失败!", c)
|
|
return
|
|
}
|
|
// if requestData.Id == "" {
|
|
// response.Result(102, requestData, "参数错误!请重新提交!", c)
|
|
// return
|
|
// }
|
|
if requestData.AssId == "" {
|
|
response.Result(103, requestData, "参数错误!请重新提交!", c)
|
|
return
|
|
}
|
|
var assCont assessmentmodel.Assesstarget
|
|
errAssErr := global.GVA_DB_Performanceappraisal.Where("`at_id` = ?", requestData.AssId).First(&assCont).Error
|
|
if errAssErr != nil {
|
|
response.Result(104, errAssErr, "没有获取到数据!", c)
|
|
return
|
|
}
|
|
var departmentStr string
|
|
if len(requestData.DepartmentId) > 0 {
|
|
departmentStr = strings.Join(requestData.DepartmentId, ",")
|
|
} else {
|
|
departmentStr = assCont.Departmentmap
|
|
}
|
|
// detailedTargetInfo, dtiIsTrue := commonus.JudgeDetailsCopy(strconv.FormatInt(assCont.TargetId, 10), requestData.DetailedTargetName, requestData.DetailedTargetContent, requestData.Id, requestData.Score, requestData.Unit, assCont.SunTargetId, requestData.AddOrReduce)
|
|
|
|
//判断考核细则是否存在(新规则)
|
|
/*
|
|
参数说明
|
|
@ascription 归属指标栏目
|
|
@title 指标细则
|
|
@explain 指标说明'
|
|
@explainId 指标明细ID
|
|
@ReferenceScore 分数
|
|
@CompanyCont 单位
|
|
@sunTargetId 子栏目
|
|
*/
|
|
// func JudgeDetailsCopy(ascription, title, explain, explainId, ReferenceScore, CompanyCont string, sunTargetId int64, addReduce int) (content assessmentmodel.DetailedTarget, isTrue bool)
|
|
|
|
var detailedTarget QualEvalSunList
|
|
|
|
detailedTarget.DetailedTarget = requestData.Id //`json:"id"` //考核细则
|
|
detailedTarget.Title = requestData.DetailedTargetName //`json:"title"` //指标说明
|
|
detailedTarget.Content = requestData.DetailedTargetContent //`json:"content"` //指标说明
|
|
detailedTarget.Unit = requestData.Unit //`json:"unit"` //单位
|
|
detailedTarget.ReferenceScore = requestData.Score //`json:"referencescore"` //标准分值
|
|
// detailedTarget.Cycles = fmt.Sprintf("%v", requestData.Cycles) //`json:"cycle"` //1:班;2:天;3:周;4:月;5:季度;6:年
|
|
detailedTarget.Cycles = requestData.Cycles //`json:"cycle"` //1:班;2:天;3:周;4:月;5:季度;6:年
|
|
detailedTarget.CycleAttres = requestData.CycleAttres // `json:"cycleattr"` //辅助计数
|
|
// detailedTarget.DepartmentId =requestData. `json:"parentid"` //执行考核部门ID
|
|
detailedTarget.Operator = requestData.Operator //`json:"userlist"` //考核执行人
|
|
// detailedTarget.MinScore =requestData. //`json:"minscore"` //最小分*100保存
|
|
// detailedTarget.MaxScore =requestData. //`json:"maxscore"` //最大分*100保存
|
|
detailedTarget.AddOrReduce = requestData.AddOrReduce //`json:"addorreduce"` //1:减少;2:增加
|
|
detailedTarget.CensorType = requestData.CensorType //`json:"censortype"` //检查方式(1:现场检查;2:资料检查;3:事件触发)
|
|
detailedTarget.CensorCont = requestData.CensorCont //`json:"censorcont"` //检查依据
|
|
detailedTarget.CensorRate = requestData.CensorRate //`json:"censorrate"` //检查频次
|
|
|
|
// Id string `json:"id"`
|
|
// Class int `json:"class"` //1、新增;2、修改
|
|
// SunTargerId string `json:"suntargetid"`
|
|
// SunTargetName string `json:"suntargetname"`
|
|
// DetailedTargetName string `json:"detailedtargetname"`
|
|
// DetailedTargetContent string `json:"detailedtargetcontent"`
|
|
// Operator []string `json:"operator"`
|
|
|
|
// Cycles int `json:"cycle"` //1:班;2:天;3:周;4:月;5:季度;6:年
|
|
// CycleAttres int `json:"cycleattr"` //辅助计数
|
|
// CensorType int `json:"censortype"` //检查方式(1:现场检查;2:资料检查;3:事件触发)
|
|
// CensorCont string `json:"censorcont"` //检查依据
|
|
// CensorRate int `json:"censorrate"` //检查频次
|
|
|
|
// AssId string `json:"assid"`
|
|
// Unit string `json:"unit"` //单位
|
|
// Score string `json:"score"` //分值
|
|
// AddOrReduce int `json:"addorreduce"` //1:减少;2:增加
|
|
|
|
detailedTargetInfo, dtiIsTrue := JudgeDetailsCopyEs(strconv.FormatInt(assCont.TargetId, 10), departmentStr, assCont.SunTargetId, detailedTarget)
|
|
if dtiIsTrue != true {
|
|
response.Result(105, errAssErr, "指标明细编辑失败!", c)
|
|
return
|
|
}
|
|
|
|
WriteBackTargetDepartment(strconv.FormatInt(assCont.TargetId, 10), strings.Split(departmentStr, ","))
|
|
WriteBackSunTargetDepartment(assCont.Group, assCont.Dimension, assCont.TargetId, strconv.FormatInt(assCont.SunTargetId, 10), strings.Split(departmentStr, ","))
|
|
|
|
//设定定性考核指标新增键对关系
|
|
var addOpentDetial DutyAssEssTarget
|
|
addOpentDetial.Id = detailedTargetInfo.Id
|
|
addOpentDetial.Operator = requestData.Operator
|
|
//拆解指标详情
|
|
var detailedList []DutyAssEssTarget
|
|
detailedListErr := json.Unmarshal([]byte(assCont.Content), &detailedList)
|
|
// ssss := commonus.MapOut()
|
|
// ssss["Content"] = assCont.Content
|
|
// ssss["detailedList"] = detailedList
|
|
// ssss["detailedListErr"] = detailedListErr
|
|
// response.Result(105, ssss, "指标明细编辑失败!", c)
|
|
// return
|
|
if detailedListErr != nil {
|
|
var eiteOpentDetiallist []DutyAssEssTarget
|
|
isAdd := false
|
|
for _, dil_v := range detailedList {
|
|
var detailedEiteCont DutyAssEssTarget
|
|
if dil_v.Id == detailedTargetInfo.Id {
|
|
detailedEiteCont.Id = dil_v.Id
|
|
detailedEiteCont.Operator = requestData.Operator
|
|
isAdd = true
|
|
} else {
|
|
detailedEiteCont.Id = dil_v.Id
|
|
detailedEiteCont.Operator = dil_v.Operator
|
|
}
|
|
eiteOpentDetiallist = append(eiteOpentDetiallist, detailedEiteCont)
|
|
}
|
|
if isAdd == false {
|
|
eiteOpentDetiallist = append(eiteOpentDetiallist, addOpentDetial)
|
|
}
|
|
eiteContIng := commonus.MapOut()
|
|
eiteContIng["time"] = time.Now().Unix()
|
|
jsonStr, jsonMErr := json.Marshal(eiteOpentDetiallist)
|
|
if jsonMErr == nil {
|
|
eiteContIng["content"] = string(jsonStr)
|
|
}
|
|
eiteErring := global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.Assesstarget{}).Where("`at_id` = ?", assCont.Id).Updates(&eiteContIng).Error
|
|
if eiteErring == nil {
|
|
// WriteBackTargetDepartment(strconv.FormatInt(assCont.TargetId, 10), strings.Split(departmentStr, ","))
|
|
// WriteBackSunTargetDepartment(strconv.FormatInt(assCont.SunTargetId, 10), strings.Split(departmentStr, ","))
|
|
response.Result(0, err, "处理成功!2", c)
|
|
} else {
|
|
response.Result(107, err, "请添加测评详情!", c)
|
|
}
|
|
} else {
|
|
// var eiteOpentDetiallist []DutyAssEssTarget
|
|
var eiteOpentDetiallist []DutyAssEssTarget
|
|
isAdd := false
|
|
for _, dil_v := range detailedList {
|
|
var detailedEiteCont DutyAssEssTarget
|
|
if dil_v.Id == detailedTargetInfo.Id {
|
|
detailedEiteCont.Id = dil_v.Id
|
|
detailedEiteCont.Operator = requestData.Operator
|
|
isAdd = true
|
|
} else {
|
|
detailedEiteCont.Id = dil_v.Id
|
|
detailedEiteCont.Operator = dil_v.Operator
|
|
}
|
|
eiteOpentDetiallist = append(eiteOpentDetiallist, detailedEiteCont)
|
|
}
|
|
if isAdd == false {
|
|
eiteOpentDetiallist = append(eiteOpentDetiallist, addOpentDetial)
|
|
}
|
|
eiteCont := commonus.MapOut()
|
|
eiteCont["time"] = time.Now().Unix()
|
|
jsonStr, jsonMErr := json.Marshal(eiteOpentDetiallist)
|
|
if jsonMErr == nil {
|
|
eiteCont["content"] = string(jsonStr)
|
|
}
|
|
eiteErr := global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.Assesstarget{}).Where("`at_id` = ?", assCont.Id).Updates(&eiteCont).Error
|
|
if eiteErr == nil {
|
|
// WriteBackTargetDepartment(strconv.FormatInt(assCont.TargetId, 10), strings.Split(departmentStr, ","))
|
|
// WriteBackSunTargetDepartment(strconv.FormatInt(assCont.SunTargetId, 10), strings.Split(departmentStr, ","))
|
|
response.Result(0, err, "处理成功!1", c)
|
|
} else {
|
|
response.Result(107, err, "请添加测评详情!", c)
|
|
}
|
|
}
|
|
}
|
|
|
|
// 删除指标
|
|
func (d *DutyAssessApi) NewDelDetailedTarget(c *gin.Context) {
|
|
var requestData GetDeitalTarCont
|
|
err := c.ShouldBindJSON(&requestData)
|
|
if err != nil {
|
|
response.Result(101, err, "数据获取失败!", c)
|
|
return
|
|
}
|
|
if requestData.Id == "" {
|
|
response.Result(102, requestData, "参数错误!请重新提交!", c)
|
|
return
|
|
}
|
|
if requestData.AssId == "" {
|
|
response.Result(103, requestData, "参数错误!请重新提交!", c)
|
|
return
|
|
}
|
|
detailId, _ := strconv.ParseInt(requestData.Id, 10, 64)
|
|
var assCont assessmentmodel.Assesstarget
|
|
errAssErr := global.GVA_DB_Performanceappraisal.Where("`at_id` = ?", requestData.AssId).First(&assCont).Error
|
|
if errAssErr != nil {
|
|
response.Result(105, errAssErr, "没有获取到数据!", c)
|
|
return
|
|
}
|
|
eiteCont := commonus.MapOut()
|
|
eiteCont["dt_time"] = time.Now().Unix()
|
|
eiteCont["dt_state"] = 3
|
|
global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.DetailedTarget{}).Where("`dt_id` = ?", requestData.Id).Updates(&eiteCont)
|
|
var detailedList []DutyAssEssTarget
|
|
detailedListErr := json.Unmarshal([]byte(assCont.Content), &detailedList)
|
|
if detailedListErr == nil {
|
|
var eiteAssContList []DutyAssEssTarget
|
|
for _, v := range detailedList {
|
|
if v.Id != detailId {
|
|
eiteAssContList = append(eiteAssContList, v)
|
|
}
|
|
}
|
|
if len(eiteAssContList) > 0 {
|
|
eiteAssCont := commonus.MapOut()
|
|
eiteAssCont["time"] = time.Now().Unix()
|
|
jsonStr, jsonMErr := json.Marshal(eiteAssContList)
|
|
if jsonMErr == nil {
|
|
eiteAssCont["content"] = string(jsonStr)
|
|
}
|
|
global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.Assesstarget{}).Where("`at_id` = ?", requestData.AssId).Updates(&eiteAssCont)
|
|
}
|
|
}
|
|
response.Result(0, requestData, "修改完成!", c)
|
|
}
|
|
|
|
// 删除子栏目
|
|
func (d *DutyAssessApi) NewDelSunTarget(c *gin.Context) {
|
|
var requestData GetDeitalTarCont
|
|
err := c.ShouldBindJSON(&requestData)
|
|
if err != nil {
|
|
response.Result(101, err, "数据获取失败!", c)
|
|
return
|
|
}
|
|
if requestData.Id == "" {
|
|
response.Result(102, requestData, "参数错误!请重新提交!", c)
|
|
return
|
|
}
|
|
if requestData.AssId == "" {
|
|
response.Result(103, requestData, "参数错误!请重新提交!", c)
|
|
return
|
|
}
|
|
var assCont []assessmentmodel.Assesstarget
|
|
errAssErr := global.GVA_DB_Performanceappraisal.Where("`targetid` = ? AND `suntargetid` = ?", requestData.AssId, requestData.Id).Find(&assCont).Error
|
|
if errAssErr != nil {
|
|
response.Result(105, errAssErr, "没有获取到数据!", c)
|
|
return
|
|
}
|
|
var delDetaId []int64
|
|
var delAssId []int64
|
|
for _, v := range assCont {
|
|
var detailedList []DutyAssEssTarget
|
|
detailedListErr := json.Unmarshal([]byte(v.Content), &detailedList)
|
|
if detailedListErr == nil {
|
|
for _, d_v := range detailedList {
|
|
delDetaId = append(delDetaId, d_v.Id)
|
|
}
|
|
}
|
|
delAssId = append(delAssId, v.Id)
|
|
}
|
|
if len(delDetaId) > 0 {
|
|
eiteCont := commonus.MapOut()
|
|
eiteCont["dt_time"] = time.Now().Unix()
|
|
eiteCont["dt_state"] = 3
|
|
global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.DetailedTarget{}).Where("`dt_id` IN ?", delDetaId).Updates(&eiteCont)
|
|
}
|
|
if len(delAssId) > 0 {
|
|
global.GVA_DB_Performanceappraisal.Where("`at_id` IN ?", delAssId).Delete(&assessmentmodel.Assesstarget{})
|
|
}
|
|
response.Result(0, requestData, "修改完成!", c)
|
|
}
|
|
|
|
// 新的部门考核指标获取列表
|
|
func (d *DutyAssessApi) NewGerDerpatTarList(c *gin.Context) {
|
|
var requestData rationSelect
|
|
c.ShouldBindJSON(&requestData)
|
|
//获取维度列表
|
|
var dutyClassAry []assessmentmodel.DutyClass
|
|
gromDb := global.GVA_DB_Performanceappraisal
|
|
gromDb = gromDb.Where("`state` = 1")
|
|
classErr := gromDb.Order("sort ASC").Find(&dutyClassAry).Error
|
|
|
|
if classErr != nil {
|
|
response.Result(0, classErr, "未获取到数据", c)
|
|
return
|
|
}
|
|
var departAryList []DepartTargetListTop
|
|
for _, v := range dutyClassAry {
|
|
conList := GetTargetGroup(requestData.Group, strconv.FormatInt(v.Id, 10), requestData.DepartmentId)
|
|
var departcontInfo DepartTargetListTop
|
|
departcontInfo.Id = strconv.FormatInt(v.Id, 10)
|
|
departcontInfo.Name = v.Title
|
|
departcontInfo.Child = conList
|
|
if len(conList) > 0 {
|
|
departAryList = append(departAryList, departcontInfo)
|
|
}
|
|
|
|
}
|
|
response.Result(0, departAryList, "数据获取成功!", c)
|
|
}
|
|
|
|
//获取指标组合
|
|
/*
|
|
@group 集团
|
|
@dimensionId 维度
|
|
@departID 部门
|
|
*/
|
|
func GetTargetGroup(group, dimensionId, departID string) (contAry []DepartTargetList) {
|
|
var rationId []int64
|
|
gormDb := global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.EvaluationTarget{}).Select("et_id").Where("`et_type` = 2 AND `et_state` = 1 AND `et_dimension` = ?", dimensionId)
|
|
if departID != "" {
|
|
// sqlOrStr := fmt.Sprintf("FIND_IN_SET(%v,`et_relevant_departments`)", departID)
|
|
// sqlOrStr = fmt.Sprintf("`et_share` = 1 OR (`et_share` = 2 AND (%v))", sqlOrStr)
|
|
|
|
sqlOrStr := fmt.Sprintf("`et_relevant_departments` = '' OR FIND_IN_SET(%v,`et_relevant_departments`)", departID)
|
|
gormDb = gormDb.Where(sqlOrStr)
|
|
}
|
|
listErr := gormDb.Find(&rationId).Error
|
|
if listErr != nil {
|
|
// return
|
|
}
|
|
|
|
var qualit []int64
|
|
errAssErr := global.GVA_DB_Performanceappraisal.Select("targetid").Model(&assessmentmodel.Assesstarget{}).Where("`state` = 1 AND `group` = ? AND `dimension` = ? AND FIND_IN_SET(?,`departmentmap`)", group, dimensionId, departID).Find(&qualit).Error
|
|
if errAssErr != nil {
|
|
// return
|
|
}
|
|
|
|
mergeMap := append(rationId, qualit...) //合并两个数组
|
|
var finalResultId []int64 //最终结果
|
|
for _, m_v := range mergeMap {
|
|
if commonus.IsItTrue(m_v, finalResultId) != true {
|
|
finalResultId = append(finalResultId, m_v)
|
|
}
|
|
}
|
|
//获取指标列表
|
|
var evaluatCont []assessmentmodel.EvaluationTarget
|
|
aryErr := global.GVA_DB_Performanceappraisal.Where("`et_state` = 1 AND `et_id` IN ?", finalResultId).Find(&evaluatCont).Error
|
|
if aryErr != nil {
|
|
return
|
|
}
|
|
for _, e_v := range evaluatCont {
|
|
var cont DepartTargetList
|
|
cont.Id = strconv.FormatInt(e_v.Id, 10)
|
|
cont.Name = e_v.Title
|
|
cont.Content = ""
|
|
cont.Unit = e_v.Uniteing
|
|
cont.State = e_v.State
|
|
cont.ReferenceScore = commonus.GetWeight(group, dimensionId, departID, strconv.FormatInt(e_v.Id, 10), int64(e_v.Type))
|
|
cont.IsTrue = 2
|
|
contAry = append(contAry, cont)
|
|
}
|
|
return
|
|
}
|
|
|
|
// 部门考核添加。NEW
|
|
func (d *DutyAssessApi) NewAddDepartDuty(c *gin.Context) {
|
|
var requestData AddDutyNewContGroup
|
|
err := c.ShouldBindJSON(&requestData)
|
|
if err != nil {
|
|
response.Result(101, err, "数据获取失败!", c)
|
|
return
|
|
}
|
|
if requestData.Group == "" {
|
|
response.Result(102, err, "数据获取失败!", c)
|
|
return
|
|
}
|
|
groupId, groupErr := strconv.ParseInt(requestData.Group, 10, 64) //集团ID
|
|
if groupErr != nil {
|
|
groupId = 0
|
|
}
|
|
if requestData.DepartmentId == "" {
|
|
response.Result(103, err, "数据获取失败!", c)
|
|
return
|
|
}
|
|
departId, departErr := strconv.ParseInt(requestData.DepartmentId, 10, 64) //部门ID
|
|
if departErr != nil {
|
|
departId = 0
|
|
}
|
|
if len(requestData.Child) < 0 {
|
|
response.Result(104, err, "没有要添加的数据", c)
|
|
return
|
|
}
|
|
var eiteIdAry []int64 //被修改的考核条目
|
|
var saveDataAry []assessmentmodel.QualitativeEvaluation //新增条目
|
|
for _, v := range requestData.Child { //维度
|
|
|
|
commonus.AddWeight(requestData.Group, v.Id, requestData.DepartmentId, "", int64(v.ZhiFraction), 1)
|
|
|
|
for _, tar_v := range v.Child { //指标
|
|
|
|
if tar_v.Status == 1 {
|
|
|
|
//使用
|
|
targetId, targetErr := strconv.ParseInt(tar_v.Id, 10, 64) //指标ID转换
|
|
if targetErr == nil {
|
|
fmt.Printf("Targer---1---->%v\n", targetId)
|
|
evalTarCont, evalTarContErr := commonus.GetTargetInfo(targetId) //获取指标内容
|
|
if evalTarContErr == true {
|
|
fmt.Printf("Targer---2---->%v\n", targetId)
|
|
//判断是定量还是定性
|
|
if evalTarCont.Type == 2 {
|
|
commonus.AddWeight(requestData.Group, v.Id, requestData.DepartmentId, tar_v.Id, tar_v.ReferenceScore, 2)
|
|
//定量指标操作
|
|
var saveData assessmentmodel.QualitativeEvaluation
|
|
var qeId []int64 //需要编辑的ID
|
|
eiteQualEvalSaveData := commonus.MapOut() //需要编辑的内容
|
|
|
|
gormQualEval := global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.QualitativeEvaluation{}).Select("qe_id").Where("`qe_group` = ? AND `qe_dimension` = ? AND `qe_target` = ? AND `qe_type` = ? AND `qe_accept_evaluation` = ?", groupId, v.Id, targetId, evalTarCont.Type, departId)
|
|
judgeContErr := gormQualEval.Find(&qeId).Error
|
|
fmt.Printf("Targer---4---->%v---->%v\n", qeId, judgeContErr)
|
|
//维度ID
|
|
dimId, dimErr := strconv.ParseInt(v.Id, 10, 64)
|
|
if dimErr == nil {
|
|
saveData.Dimension = dimId
|
|
}
|
|
saveData.Target = targetId //指标
|
|
saveData.Type = evalTarCont.Type //类型
|
|
saveData.Unit = evalTarCont.Uniteing //单位
|
|
saveData.ReferenceScore = tar_v.ReferenceScore //分值
|
|
// saveData.ReferenceScore = v_s.ReferenceScore //分值
|
|
saveData.State = 1 //状态
|
|
saveData.Addtime = time.Now().Unix()
|
|
saveData.Eitetime = time.Now().Unix()
|
|
saveData.Group = groupId //集团
|
|
saveData.Cycles = evalTarCont.Cycles //单位
|
|
saveData.CycleAttres = evalTarCont.CycleAttres //辅助计数
|
|
saveData.AcceptEvaluation = departId //接受考核部门
|
|
saveData.Content = tar_v.Content //描述
|
|
saveData.Operator = evalTarCont.Report //执行考核人
|
|
|
|
var departAry []string
|
|
userKeyAry := strings.Split(evalTarCont.Report, ",")
|
|
if len(userKeyAry) > 0 {
|
|
for _, u_v := range userKeyAry {
|
|
usCont, usErr := commonus.GetWorkUser(u_v)
|
|
if usErr == true {
|
|
departIdStr := strconv.FormatInt(usCont.MainDeparment, 10)
|
|
if commonus.IsItTrueString(departIdStr, departAry) == false {
|
|
departAry = append(departAry, departIdStr)
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
saveData.DepartmentId = strings.Join(departAry, ",")
|
|
eiteQualEvalSaveData["qe_department_id"] = strings.Join(departAry, ",")
|
|
if judgeContErr == nil {
|
|
if len(qeId) > 0 {
|
|
eiteQualEvalSaveData["qe_dimension"] = dimId
|
|
eiteQualEvalSaveData["qe_target"] = targetId
|
|
eiteQualEvalSaveData["qe_type"] = evalTarCont.Type
|
|
eiteQualEvalSaveData["qe_unit"] = evalTarCont.Uniteing
|
|
eiteQualEvalSaveData["qe_reference_score"] = tar_v.ReferenceScore
|
|
eiteQualEvalSaveData["qe_state"] = 1
|
|
eiteQualEvalSaveData["qe_eitetime"] = time.Now().Unix()
|
|
eiteQualEvalSaveData["qe_group"] = groupId
|
|
eiteQualEvalSaveData["qe_cycle"] = evalTarCont.Cycles
|
|
eiteQualEvalSaveData["qe_cycleattr"] = evalTarCont.CycleAttres
|
|
eiteQualEvalSaveData["qe_accept_evaluation"] = departId
|
|
eiteQualEvalSaveData["qe_operator"] = evalTarCont.Report
|
|
eiteQualEvalSaveData["qe_content"] = tar_v.Content
|
|
eiteIdAry = append(eiteIdAry, dimId)
|
|
//修改已经存在的内容
|
|
global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.QualitativeEvaluation{}).Where("`qe_id` IN ?", qeId).Updates(eiteQualEvalSaveData)
|
|
} else {
|
|
saveDataAry = append(saveDataAry, saveData)
|
|
}
|
|
} else {
|
|
//要新增的条目
|
|
saveDataAry = append(saveDataAry, saveData)
|
|
}
|
|
|
|
} else {
|
|
commonus.AddWeight(requestData.Group, v.Id, requestData.DepartmentId, tar_v.Id, tar_v.ReferenceScore, 1)
|
|
//定性指标操作
|
|
//获取部门关联考核指标项目
|
|
var assessTarList []assessmentmodel.Assesstarget
|
|
judgeARTErr := global.GVA_DB_Performanceappraisal.Where("`group` = ? AND `dimension` = ? AND `targetid` = ? AND FIND_IN_SET(?,`departmentmap`)", groupId, v.Id, tar_v.Id, departId).Find(&assessTarList).Error
|
|
|
|
fmt.Printf("Targer---5---->%v---->%v---->%v\n", targetId, v.Id, tar_v.Id)
|
|
|
|
if judgeARTErr == nil {
|
|
var guoDu []AddPartMentGuodu
|
|
for _, ass_v := range assessTarList {
|
|
judgeTure := commonus.JudegSunTarToDepart(ass_v.SunTargetId, departId)
|
|
if judgeTure == true {
|
|
var guoDuCont AddPartMentGuodu
|
|
guoDuCont.Group = groupId
|
|
guoDuCont.DeaprtId = departId
|
|
guoDuCont.Dimension = ass_v.Dimension
|
|
guoDuCont.TargetId = ass_v.TargetId
|
|
guoDuCont.SunTargetId = ass_v.SunTargetId
|
|
if ass_v.Content != "" {
|
|
//拆解指标详情
|
|
var detailedList []DutyAssEssTarget
|
|
detailedListErr := json.Unmarshal([]byte(ass_v.Content), &detailedList)
|
|
if detailedListErr == nil {
|
|
for _, det_v := range detailedList {
|
|
guoDuCont.DetailedTarget = det_v.Id
|
|
guoDuCont.Operator = det_v.Operator
|
|
guoDu = append(guoDu, guoDuCont)
|
|
fmt.Printf("Targer---6---->%v---->%v---->%v\n", ass_v.TargetId, ass_v.SunTargetId, det_v.Id)
|
|
}
|
|
} else {
|
|
guoDu = append(guoDu, guoDuCont)
|
|
}
|
|
} else {
|
|
guoDu = append(guoDu, guoDuCont)
|
|
}
|
|
}
|
|
|
|
}
|
|
//判断关联项目
|
|
if len(guoDu) > 0 {
|
|
guoDuJsonm, _ := json.Marshal(guoDu)
|
|
fmt.Printf("Targer---7---->%v---->%v\n", string(guoDuJsonm), guoDu)
|
|
for _, ae_v := range guoDu {
|
|
//判断该项是否已经存在
|
|
var eiteGetId int64
|
|
gormQualEval := global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.QualitativeEvaluation{}).Select("qe_id").Where("`qe_group` = ? AND `qe_accept_evaluation` = ? AND `qe_dimension` = ? AND `qe_target` = ? AND `qe_target_sun` = ? AND `qe_detailed_target` = ? AND `qe_type` = 1", ae_v.Group, ae_v.DeaprtId, ae_v.Dimension, ae_v.TargetId, ae_v.SunTargetId, ae_v.DetailedTarget)
|
|
judgeContErr := gormQualEval.First(&eiteGetId).Error
|
|
fmt.Printf("Targer---8---->%v---->%v---->%v---->%v---->%v---->%v---->%v\n", eiteGetId, ae_v.Group, ae_v.DeaprtId, ae_v.Dimension, ae_v.TargetId, ae_v.SunTargetId, ae_v.DetailedTarget)
|
|
if judgeContErr == nil {
|
|
eiteQualEvalSaveData := commonus.MapOut() //需要编辑的内容
|
|
eiteQualEvalSaveData["qe_dimension"] = ae_v.Dimension
|
|
eiteQualEvalSaveData["qe_target"] = ae_v.TargetId
|
|
eiteQualEvalSaveData["qe_type"] = 1
|
|
|
|
getEvalTarCont, _ := commonus.GetDetailedTargetInfo(ae_v.DetailedTarget) //获取指标内容
|
|
|
|
eiteQualEvalSaveData["qe_unit"] = getEvalTarCont.Company
|
|
eiteQualEvalSaveData["qe_reference_score"] = 0
|
|
|
|
eiteQualEvalSaveData["qe_min_score"] = getEvalTarCont.MinScore
|
|
eiteQualEvalSaveData["qe_max_score"] = getEvalTarCont.MaxScore
|
|
|
|
eiteQualEvalSaveData["qe_state"] = 1
|
|
eiteQualEvalSaveData["qe_eitetime"] = time.Now().Unix()
|
|
eiteQualEvalSaveData["qe_group"] = ae_v.Group
|
|
evaDingXinglTarCont, _ := commonus.GetTargetInfo(ae_v.TargetId) //获取指标内容
|
|
eiteQualEvalSaveData["qe_cycle"] = evaDingXinglTarCont.Cycles
|
|
eiteQualEvalSaveData["qe_cycleattr"] = evaDingXinglTarCont.CycleAttres
|
|
eiteQualEvalSaveData["qe_accept_evaluation"] = ae_v.DeaprtId
|
|
eiteQualEvalSaveData["qe_operator"] = strings.Join(ae_v.Operator, ",")
|
|
eiteQualEvalSaveData["qe_content"] = getEvalTarCont.Content
|
|
//获取执行人部门
|
|
var departAry []string
|
|
if len(ae_v.Operator) > 0 {
|
|
for _, u_v := range ae_v.Operator {
|
|
usCont, usErr := commonus.GetWorkUser(u_v)
|
|
if usErr == true {
|
|
departIdStr := strconv.FormatInt(usCont.MainDeparment, 10)
|
|
if commonus.IsItTrueString(departIdStr, departAry) == false {
|
|
departAry = append(departAry, departIdStr)
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
eiteQualEvalSaveData["qe_department_id"] = strings.Join(departAry, ",")
|
|
eiteIdAry = append(eiteIdAry, eiteGetId)
|
|
//修改已经存在的内容
|
|
global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.QualitativeEvaluation{}).Where("`qe_id` = ?", eiteGetId).Updates(eiteQualEvalSaveData)
|
|
} else {
|
|
//写入新的定性考核细则
|
|
var saveData assessmentmodel.QualitativeEvaluation
|
|
saveData.Dimension = ae_v.Dimension
|
|
saveData.Target = ae_v.TargetId //指标
|
|
saveData.Type = 1 //类型
|
|
|
|
saveData.TargetSun = ae_v.SunTargetId
|
|
|
|
getEvalTarCont, _ := commonus.GetDetailedTargetInfo(ae_v.DetailedTarget) //获取指标内容
|
|
|
|
saveData.DetailedTarget = ae_v.DetailedTarget
|
|
|
|
saveData.Unit = getEvalTarCont.Company //单位
|
|
saveData.ReferenceScore = 0 //分值
|
|
|
|
saveData.MinScore = getEvalTarCont.MinScore
|
|
saveData.MaxScore = getEvalTarCont.MaxScore
|
|
// saveData.ReferenceScore = v_s.ReferenceScore //分值
|
|
saveData.State = 1 //状态
|
|
saveData.Addtime = time.Now().Unix()
|
|
saveData.Eitetime = time.Now().Unix()
|
|
saveData.Group = ae_v.Group //集团
|
|
|
|
evaDingXinglTarCont, _ := commonus.GetTargetInfo(ae_v.TargetId) //获取指标内容
|
|
saveData.Cycles = evaDingXinglTarCont.Cycles //1:班;2:天;3:周;4:月;5:季度;6:年
|
|
saveData.CycleAttres = evaDingXinglTarCont.CycleAttres //辅助计数
|
|
|
|
saveData.AcceptEvaluation = ae_v.DeaprtId //接受考核部门
|
|
saveData.Content = getEvalTarCont.Content //描述
|
|
saveData.Operator = strings.Join(ae_v.Operator, ",") //执行考核人
|
|
//获取执行人部门
|
|
var departAry []string
|
|
if len(ae_v.Operator) > 0 {
|
|
for _, u_v := range ae_v.Operator {
|
|
usCont, usErr := commonus.GetWorkUser(u_v)
|
|
if usErr == true {
|
|
departIdStr := strconv.FormatInt(usCont.MainDeparment, 10)
|
|
if commonus.IsItTrueString(departIdStr, departAry) == false {
|
|
departAry = append(departAry, departIdStr)
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
saveData.DepartmentId = strings.Join(departAry, ",")
|
|
|
|
saveDataJsonm, _ := json.Marshal(saveData)
|
|
fmt.Printf("Targer---9---->%v---->%v\n", string(saveDataJsonm), saveData)
|
|
|
|
//要新增的条目
|
|
saveDataAry = append(saveDataAry, saveData)
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
} else {
|
|
fmt.Printf("Targer---3---->%v\n", targetId)
|
|
}
|
|
} else {
|
|
//禁用
|
|
qualEvalSave := commonus.MapOut()
|
|
qualEvalSave["qe_state"] = 2
|
|
qualEvalSave["qe_eitetime"] = time.Now().Unix()
|
|
global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.QualitativeEvaluation{}).Where("`qe_group` = ? AND `qe_accept_evaluation` = ? AND `qe_dimension` = ? AND `qe_target` = ?", groupId, departId, v.Id, tar_v.Id).Updates(qualEvalSave)
|
|
}
|
|
}
|
|
}
|
|
if len(saveDataAry) <= 0 && len(eiteIdAry) <= 0 {
|
|
response.Result(105, saveDataAry, "没有要添加的数据", c)
|
|
return
|
|
}
|
|
if len(saveDataAry) > 0 {
|
|
addErr := global.GVA_DB_Performanceappraisal.Create(&saveDataAry).Error
|
|
if addErr != nil {
|
|
response.Result(106, len(saveDataAry), "数据添加失败", c)
|
|
return
|
|
}
|
|
}
|
|
response.Result(0, saveDataAry, "数据添加成功", c)
|
|
}
|
|
|
|
// 获取考核方法要修改的数据
|
|
func (d *DutyAssessApi) GetEiteSunTarterInfo(c *gin.Context) {
|
|
var requestData LookTargetContListSun
|
|
err := c.ShouldBindJSON(&requestData)
|
|
if err != nil {
|
|
response.Result(101, err, "数据获取失败!", c)
|
|
return
|
|
}
|
|
if requestData.Group == "" {
|
|
response.Result(102, err, "参数错误!无法获取数据", c)
|
|
return
|
|
}
|
|
if requestData.Dimension == "" {
|
|
response.Result(103, err, "参数错误!无法获取数据", c)
|
|
return
|
|
}
|
|
if requestData.TargetId == "" {
|
|
response.Result(104, err, "参数错误!无法获取数据", c)
|
|
return
|
|
}
|
|
// var assessInfoList assessmentmodel.Assesstarget
|
|
var userStr string
|
|
assErr := global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.Assesstarget{}).Select("content").Where("`group` = ? AND `dimension` = ? AND `targetid` = ? AND `suntargetid` = ?", requestData.Group, requestData.Dimension, requestData.TargetId, requestData.SunTargetId).First(&userStr).Error
|
|
if assErr != nil {
|
|
response.Result(105, assErr, "没有获取到数据!", c)
|
|
return
|
|
}
|
|
var userMap []DutyAssEssTarget
|
|
|
|
jsonErr := json.Unmarshal([]byte(userStr), &userMap)
|
|
if jsonErr != nil {
|
|
response.Result(104, jsonErr, "没有数据", c)
|
|
return
|
|
}
|
|
var userAry []string
|
|
for _, v := range userMap {
|
|
for _, o_v := range v.Operator {
|
|
if commonus.IsItTrueString(o_v, userAry) == false {
|
|
userAry = append(userAry, o_v)
|
|
}
|
|
}
|
|
}
|
|
response.Result(0, userAry, "没有数据", c)
|
|
}
|
|
|
|
// 修改考核方法指标审核人
|
|
func (d *DutyAssessApi) EiteSunTarterInfoUser(c *gin.Context) {
|
|
var requestData EiteTargetContListSun
|
|
err := c.ShouldBindJSON(&requestData)
|
|
if err != nil {
|
|
response.Result(101, err, "数据获取失败!", c)
|
|
return
|
|
}
|
|
if requestData.Group == "" {
|
|
response.Result(102, err, "参数错误!无法获取数据", c)
|
|
return
|
|
}
|
|
if requestData.Dimension == "" {
|
|
response.Result(103, err, "参数错误!无法获取数据", c)
|
|
return
|
|
}
|
|
if requestData.TargetId == "" {
|
|
response.Result(104, err, "参数错误!无法获取数据", c)
|
|
return
|
|
}
|
|
// if
|
|
}
|
|
|