package assessment import ( "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" ) //添加卡片考核数据处理 func (d *dataLockStatistics) AddCardAssEss(deparmentId string, addData AddQualEval) { d.mutext.Lock() defer d.mutext.Unlock() //获取子目标情况 sunTargetCont, sunTargetErr := judgeColumn(addData.Target, addData.TargetSun, addData.TargetSunTitle) if sunTargetErr != true { } var saveDataAry []assessmentmodel.QualitativeEvaluation for _, v := range addData.EvaluationList { var saveData assessmentmodel.QualitativeEvaluation groupInt, groupIntErr := strconv.ParseInt(addData.Group, 10, 64) if groupIntErr == nil { saveData.Group = groupInt } saveData.Type = addData.Type // departidInt, departinIntErr := strconv.ParseInt(v.DepartmentId, 10, 64) // if departinIntErr == nil { // saveData.DepartmentId = departidInt // } dimensionInt, departinIntErr := strconv.ParseInt(addData.Dimension, 10, 64) if departinIntErr == nil { saveData.Dimension = dimensionInt } targetInt, targetIntErr := strconv.ParseInt(addData.Target, 10, 64) if targetIntErr == nil { saveData.Target = targetInt } saveData.TargetSun = sunTargetCont.Id // targetSunInt, targetSunIntErr := strconv.ParseInt(addData.TargetSun, 10, 64) // if targetSunIntErr == nil { // saveData.TargetSun = targetSunInt // } explainCont, explainErr := judgeDetails(addData.Target, v.Title, v.Content, v.DetailedTarget) if explainErr == true { saveData.DetailedTarget = explainCont.Id } // detailedTargetInt, detailedTargetIntErr := strconv.ParseInt(v.DetailedTarget, 10, 64) // if detailedTargetIntErr == nil { // saveData.DetailedTarget = detailedTargetInt // } saveData.Unit = v.Unit saveData.ReferenceScore = v.ReferenceScore saveData.Cycles = v.Cycles saveData.CycleAttres = v.CycleAttres saveData.State = 1 saveData.Addtime = time.Now().Unix() saveData.Eitetime = time.Now().Unix() departmentIdInt, departmentIdIntErr := strconv.ParseInt(deparmentId, 10, 64) if departmentIdIntErr == nil { saveData.AcceptEvaluation = departmentIdInt } saveData.Operator = strings.Join(v.Operator, ",") saveData.DepartmentId = strings.Join(GetDepartmentByUserBast(v.Operator), ",") saveDataAry = append(saveDataAry, saveData) msg := commonus.MapOut() msg["msg"] = saveData d.dataMap = append(d.dataMap, msg) } syncProcess.Done() } //判断该子栏目是否存在 func judgeColumn(ascription, title, columId string) (content assessmentmodel.QualitativeTarget, isTrue bool) { isTrue = false if columId != "" { judgeIdErr := global.GVA_DB_Performanceappraisal.Where("`q_id` = ?", columId).First(&content).Error if judgeIdErr == nil { isTrue = true return } } judgeErr := global.GVA_DB_Performanceappraisal.Where("`q_parent_id` = ? AND `q_title` = ?", ascription, title).First(&content).Error if judgeErr == nil { isTrue = true return } ascriptionId, ascriptionErr := strconv.ParseInt(ascription, 10, 64) if ascriptionErr != nil { ascriptionId = 0 } saveColum := assessmentmodel.QualitativeTarget{Title: title, ParentId: ascriptionId, State: 1, AddTime: time.Now().Unix()} addErr := global.GVA_DB_Performanceappraisal.Create(&saveColum) if addErr != nil { return } isTrue = true content = saveColum return } //判断考核细则是否存在 func judgeDetails(ascription, title, explain, explainId string) (content assessmentmodel.DetailedTarget, isTrue bool) { isTrue = false if explainId != "" { judgeIdErr := global.GVA_DB_Performanceappraisal.Where("`dt_id` = ?", explainId).First(&content).Error if judgeIdErr == nil { isTrue = true return } } judgeErr := global.GVA_DB_Performanceappraisal.Where("`dt_parentid` = ? AND `dt_title` = ?", ascription, title).First(&content).Error if judgeErr == nil { isTrue = true return } ascriptionId, ascriptionErr := strconv.ParseInt(ascription, 10, 64) if ascriptionErr != nil { ascriptionId = 0 } saveColum := assessmentmodel.DetailedTarget{Title: title, Content: explain, ParentId: ascriptionId, State: 1, AddTime: time.Now().Unix()} addErr := global.GVA_DB_Performanceappraisal.Create(&saveColum) if addErr != nil { return } isTrue = true content = saveColum return }