package dutyassess import ( "encoding/json" "strconv" "strings" "time" "github.com/flipped-aurora/gin-vue-admin/server/commonus" "github.com/flipped-aurora/gin-vue-admin/server/global" "github.com/flipped-aurora/gin-vue-admin/server/model/assessmentmodel" "github.com/flipped-aurora/gin-vue-admin/server/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 QualEvalArrt err := c.ShouldBindJSON(&requestData) if err != nil { response.Result(101, err, "数据获取失败!", c) return } if requestData.Id == "" { response.Result(102, err, "参数错误!请重新提交!", c) return } if requestData.Name == "" { response.Result(103, err, "参数错误!请重新提交!", c) return } 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 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 } 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) AddDutyRelation(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 } //获取子目标情况 sunTargetCont, sunTargetErr := commonus.JudgeColumn(requestData.Target, requestData.TargetSun, requestData.TargetSunTitle) 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) 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 { for _, t_v := range targetContList { if f_v != t_v.Id { var targetContInfos DutyAssEssTarget targetContInfos.Id = f_v targetContList = append(targetContList, targetContInfos) } } } //判断该集团指标子栏目是否存在 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 if judgeARTErr == nil { if arTaegetInfo.Content != "" { var tarList []DutyAssEssTarget jsonErr := json.Unmarshal([]byte(arTaegetInfo.Content), &tarList) if jsonErr == nil { for _, tl_v := range tarList { for _, tcl_v := range targetContList { if tl_v.Id != tcl_v.Id { targetContList = append(targetContList, tl_v) } } } } } eiteCont := commonus.MapOut() eiteCont["departmentmap"] = strings.Join(requestData.AcceptDepartmentId, ",") eiteCont["time"] = time.Now().Unix() jsonStr, jsonMErr := json.Marshal(targetContList) 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, "处理成功!", c) } else { response.Result(107, err, "请添加测评详情!", c) } } else { arTaegetInfo.Group = groupInt arTaegetInfo.Departmentmap = strings.Join(requestData.AcceptDepartmentId, ",") 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, "处理成功!", c) } else { response.Result(107, err, "请添加测评详情!", c) } } } //获取定性考核指标关系指定列表 func (d *DutyAssessApi) GetDutyRelationList(c *gin.Context) { var list []assessmentmodel.Assesstarget err := global.GVA_DB_Performanceappraisal.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.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, ",")) shenPiRen := strings.Split(tarCont.Report, ",") outCont.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}) // GetWorkUser if usErr == true { var userCont QualEvalArrt userCont.Id = v userCont.Name = usCont.Name outCont.UserListAry = append(outCont.UserListAry, userCont) } } outList = append(outList, outCont) } response.Result(0, outList, "查询完成!", c) } //查看定性考核项目详情 func (d *DutyAssessApi) LookDutyTargetInfo(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(102, err, "参数错误!无法获取数据", c) return } if requestData.TargetId == "" { response.Result(102, err, "参数错误!无法获取数据", c) return } var assessInfoList []assessmentmodel.Assesstarget assErr := global.GVA_DB_Performanceappraisal.Where("`group` = ? AND `dimension` = ? AND `targetid` = ?", requestData.Group, requestData.Dimension, requestData.TargetId).Find(&assessInfoList).Error if assErr != nil { response.Result(102, assErr, "没有获取到数据!", c) return } var uotContAry []TargetContOutCont for _, v := range assessInfoList { var uotCont TargetContOutCont uotCont.Type = 1 //集团 uotCont.Group = requestData.Group _, groupCont := commonus.GetGroupCont(v.Group) uotCont.GroupNAme = groupCont.Name //执行部门 uotCont.DepartmentId = v.Departmentmap _, 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.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) uotCont.TargetSunName = info.Title //拆解指标详情 // detailedList := json.Unmarshal() uotContAry = append(uotContAry, uotCont) } }