package dutyassess import ( "fmt" "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" ) //判断考核细则是否存在(新规则) /* 参数说明 @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) // detailedTargetInfo, dtiIsTrue := commonus.JudgeDetailsCopy(requestData.Target, v.Title, v.Content, v.DetailedTarget, v.ReferenceScore, v.Unit, sunTargetCont.Id, v.AddOrReduce) /* 参数说明 @ascription 归属指标栏目 @sunTargetId 子栏目 @detailedTarget 考核细则 */ func JudgeDetailsCopyEs(ascription string, sunTargetId int64, detailedTarget QualEvalSunList) (content assessmentmodel.DetailedTarget, isTrue bool) { if detailedTarget.AddOrReduce == 0 { detailedTarget.AddOrReduce = 1 } var minScoreInt int64 var maxScoreInt int64 scoreAry := strings.Split(detailedTarget.ReferenceScore, "-") scoreLen := len(scoreAry) // fmt.Printf("ScoreAry:%v----------->%v------------>%v------------>%v\n", ReferenceScore, scoreLen, scoreAry[0], scoreAry) if scoreLen > 0 { if scoreLen == 1 { maxScore, _ := strconv.ParseFloat(scoreAry[0], 64) zhhh := maxScore * 100 zhuanStr := strconv.FormatFloat(zhhh, 'f', -1, 64) maxScoreInt, _ = strconv.ParseInt(strconv.FormatFloat(maxScore*100, 'f', -1, 64), 10, 64) minScoreInt = 0 fmt.Printf("ScoreAry--1-----:%v----------->%v------------>%v------------>%v\n", maxScore, maxScoreInt, zhuanStr, zhhh) } else { minScore, _ := strconv.ParseFloat(scoreAry[0], 64) maxScore, _ := strconv.ParseFloat(scoreAry[scoreLen-1], 64) minScoreInt, _ = strconv.ParseInt(strconv.FormatFloat(minScore*100, 'f', -1, 64), 10, 64) maxScoreInt, _ = strconv.ParseInt(strconv.FormatFloat(maxScore*100, 'f', -1, 64), 10, 64) } } else { minScoreInt = 0 maxScoreInt = 0 } isTrue = false if detailedTarget.DetailedTarget != "" { judgeIdErr := global.GVA_DB_Performanceappraisal.Where("`dt_id` = ?", detailedTarget.DetailedTarget).First(&content).Error if judgeIdErr == nil { eiteCont := commonus.MapOut() if minScoreInt > maxScoreInt { eiteCont["dt_min_score"] = maxScoreInt eiteCont["dt_max_score"] = minScoreInt } else { eiteCont["dt_min_score"] = minScoreInt eiteCont["dt_max_score"] = maxScoreInt } eiteCont["dt_title"] = detailedTarget.Title eiteCont["dt_content"] = detailedTarget.CensorCont eiteCont["dt_company"] = detailedTarget.Unit eiteCont["dt_add_reduce"] = detailedTarget.AddOrReduce eiteCont["dt_time"] = time.Now().Unix() if detailedTarget.Cycles != 0 { eiteCont["dt_cycle"] = detailedTarget.Cycles } if detailedTarget.CycleAttres != 0 { eiteCont["dt_cycleattr"] = detailedTarget.CycleAttres } if detailedTarget.CensorType != 0 { eiteCont["dt_censor_type"] = detailedTarget.CensorType } eiteCont["dt_censor_cont"] = detailedTarget.CensorCont if detailedTarget.CensorRate != 0 { eiteCont["dt_censor_rate"] = detailedTarget.CensorRate } global.GVA_DB_Performanceappraisal.Model(&content).Where("`dt_id` = ?", detailedTarget.DetailedTarget).Updates(&eiteCont) // fmt.Printf("echo --------------1---------->%v\n", content) isTrue = true return } } judgeErr := global.GVA_DB_Performanceappraisal.Where("`dt_parentid` = ? AND `dt_title` = ?", ascription, detailedTarget.Title).First(&content).Error if judgeErr == nil { isTrue = true eiteCont := commonus.MapOut() if minScoreInt > maxScoreInt { eiteCont["dt_min_score"] = maxScoreInt eiteCont["dt_max_score"] = minScoreInt } else { eiteCont["dt_min_score"] = minScoreInt eiteCont["dt_max_score"] = maxScoreInt } eiteCont["dt_content"] = detailedTarget.CensorCont eiteCont["dt_company"] = detailedTarget.Unit eiteCont["dt_add_reduce"] = detailedTarget.AddOrReduce eiteCont["dt_time"] = time.Now().Unix() if detailedTarget.Cycles != 0 { eiteCont["dt_cycle"] = detailedTarget.Cycles } if detailedTarget.CycleAttres != 0 { eiteCont["dt_cycleattr"] = detailedTarget.CycleAttres } if detailedTarget.CensorType != 0 { eiteCont["dt_censor_type"] = detailedTarget.CensorType } eiteCont["dt_censor_cont"] = detailedTarget.CensorCont if detailedTarget.CensorRate != 0 { eiteCont["dt_censor_rate"] = detailedTarget.CensorRate } global.GVA_DB_Performanceappraisal.Model(&content).Where("`dt_id` = ?", content.Id).Updates(&eiteCont) // fmt.Printf("echo --------------2---------->%v\n", content) return } ascriptionId, ascriptionErr := strconv.ParseInt(ascription, 10, 64) if ascriptionErr != nil { ascriptionId = 0 } var minScoreIsTrue int64 = 0 var maxScoreIsTrue int64 = 0 if minScoreInt > maxScoreInt { minScoreIsTrue = maxScoreInt maxScoreIsTrue = minScoreInt } else { minScoreIsTrue = minScoreInt maxScoreIsTrue = maxScoreInt } // fmt.Printf("ScoreAry---KKKK:%v----------->%v------------>%v------------>%v", minScoreIsTrue, maxScoreIsTrue, minScoreIsTrue, maxScoreIsTrue) var saveColumEs assessmentmodel.DetailedTarget saveColumEs.Title = detailedTarget.Title saveColumEs.Content = detailedTarget.CensorCont saveColumEs.ParentId = ascriptionId saveColumEs.ParentIdSun = sunTargetId saveColumEs.State = 1 saveColumEs.AddTime = time.Now().Unix() saveColumEs.MinScore = minScoreIsTrue saveColumEs.MaxScore = maxScoreIsTrue saveColumEs.Company = detailedTarget.Unit if detailedTarget.AddOrReduce > 0 { saveColumEs.AddReduce = detailedTarget.AddOrReduce } else { saveColumEs.AddReduce = 1 } if detailedTarget.CensorType > 0 { saveColumEs.CensorType = detailedTarget.CensorType } else { saveColumEs.CensorType = 1 } saveColumEs.CensorCont = detailedTarget.CensorCont if detailedTarget.CensorRate > 0 { saveColumEs.CensorRate = detailedTarget.CensorRate } else { saveColumEs.CensorRate = 1 } var targetInfoCont assessmentmodel.EvaluationTarget tarEvlWhe := commonus.MapOut() tarEvlWhe["et_id"] = ascriptionId targetInfoCont.GetCont(tarEvlWhe, "et_cycle", "et_cycleattr") if detailedTarget.Cycles > 0 { saveColumEs.Cycles = detailedTarget.Cycles } else { if targetInfoCont.Cycles > 1 { saveColumEs.Cycles = targetInfoCont.Cycles } else { saveColumEs.Cycles = 4 } } if detailedTarget.CycleAttres > 0 { saveColumEs.CycleAttres = detailedTarget.CycleAttres } else { if targetInfoCont.CycleAttres > 1 { saveColumEs.CycleAttres = targetInfoCont.CycleAttres } else { saveColumEs.CycleAttres = 1 } } addErr := global.GVA_DB_Performanceappraisal.Create(&saveColumEs).Error // saveColum := assessmentmodel.DetailedTarget{ // Title: detailedTarget.Title, // Content: detailedTarget.CensorCont, // ParentId: ascriptionId, // ParentIdSun: sunTargetId, // State: 1, // AddTime: time.Now().Unix(), // Company: detailedTarget.Unit, // MinScore: minScoreIsTrue, // MaxScore: maxScoreIsTrue, // AddReduce: detailedTarget.AddOrReduce, // Cycles: detailedTarget.Cycles, // CycleAttres: detailedTarget.CycleAttres, // } // addErr := global.GVA_DB_Performanceappraisal.Create(&saveColum).Error if addErr != nil { // fmt.Printf("echo --------------3---------->%v\n", saveColum.Id) return } // fmt.Printf("echo --------------4---------->%v\n", saveColum.Id) isTrue = true // content = saveColum content = saveColumEs return }