diff --git a/gin_server_admin/api/admin/dutyassess/assess.go b/gin_server_admin/api/admin/dutyassess/assess.go index 5c4c0fc..cdaa008 100644 --- a/gin_server_admin/api/admin/dutyassess/assess.go +++ b/gin_server_admin/api/admin/dutyassess/assess.go @@ -778,20 +778,42 @@ func (d *DutyAssessApi) LookDepartDutyVersio(c *gin.Context) { qualEvalErr := global.GVA_DB_Performanceappraisal.Where("`qe_qual_eval_id` = ? AND qe_dimension = ? AND qe_target = ? AND qe_accept_evaluation = ?", requestData.Key, pv.Id, pvChild.Id, assessTargetContent.Department).First(&qualEvalContInfo).Error if qualEvalErr == nil { uotCont.Type = qualEvalContInfo.Type - uotCont.Cycles = qualEvalContInfo.Cycles - uotCont.CycleAttres = qualEvalContInfo.CycleAttres + if pvChild.Cycles == 0 { + uotCont.Cycles = qualEvalContInfo.Cycles + } else { + uotCont.Cycles = pvChild.Cycles + } + + if pvChild.CycleAttres == 0 { + uotCont.CycleAttres = qualEvalContInfo.CycleAttres + } else { + uotCont.CycleAttres = pvChild.CycleAttres + } + + // uotCont.CycleAttres = qualEvalContInfo.CycleAttres uotCont.UserListAry, uotCont.UserList, _ = getQualEvalUser(requestData.Key, pv.Id, pvChild.Id) } else { var evalTargerCont assessmentmodel.EvaluationTarget evalErr := global.GVA_DB_Performanceappraisal.Where("`et_id` = ?", pvChild.Id).First(&evalTargerCont).Error if evalErr == nil { uotCont.Type = evalTargerCont.Type - uotCont.Cycles = evalTargerCont.Cycles - uotCont.CycleAttres = evalTargerCont.CycleAttres + // uotCont.Cycles = evalTargerCont.Cycles + // uotCont.CycleAttres = evalTargerCont.CycleAttres // if uotCont.Type == 1 { // } else { // } + if pvChild.Cycles == 0 { + uotCont.Cycles = evalTargerCont.Cycles + } else { + uotCont.Cycles = pvChild.Cycles + } + + if pvChild.CycleAttres == 0 { + uotCont.CycleAttres = evalTargerCont.CycleAttres + } else { + uotCont.CycleAttres = pvChild.CycleAttres + } //获取执行人 uotCont.UserListAry, uotCont.UserList, _ = getQualEvalUser(requestData.Key, pv.Id, pvChild.Id) } diff --git a/gin_server_admin/api/admin/dutyassess/planversio.go b/gin_server_admin/api/admin/dutyassess/planversio.go index d6fb4e5..6ce1705 100644 --- a/gin_server_admin/api/admin/dutyassess/planversio.go +++ b/gin_server_admin/api/admin/dutyassess/planversio.go @@ -195,7 +195,36 @@ func (d *DutyAssessApi) AddDepartDutyVersio(c *gin.Context) { savePlanVersio.AddTime = todyTime savePlanVersio.EiteTime = todyTime if len(requestData.Child) > 0 { - planJsonCont, planJsonErr := json.Marshal(requestData.Child) + var planVersioAry []AddDutyNewCont + for _, pva := range requestData.Child { + var planVersioccAry AddDutyNewCont + planVersioccAry.Id = pva.Id + planVersioccAry.Name = pva.Name + planVersioccAry.ZhiFraction = pva.ZhiFraction + + for _, pva_v := range pva.Child { + var evalProsCont EvaluPross + evalProsCont.Id = pva_v.Id //`json:"id"` //维度ID + evalProsCont.Name = pva_v.Name //`json:"name"` + evalProsCont.Content = pva_v.Content //`json:"content"` //指标说明 + evalProsCont.Unit = pva_v.Unit //`json:"unit"` //单位"` + evalProsCont.ReferenceScore = pva_v.ReferenceScore //`json:"referencescore"` //标准分值"` + var zhiBiaoCont assessmentmodel.EvaluationTarget + evalTarContErr := zhiBiaoCont.GetCont(map[string]interface{}{"et_id": pva_v.Id}, "et_cycle,et_cycleattr") //获取指标内容 + if evalTarContErr == nil { + evalProsCont.Cycles = zhiBiaoCont.Cycles // `json:"cycle"` //1:班;2:天;3:周;4:月;5:季度;6:年"` + evalProsCont.CycleAttres = zhiBiaoCont.CycleAttres // `json:"cycleattr"` //辅助计数"` + } + evalProsCont.State = pva_v.State // `json:"state"` + evalProsCont.Status = pva_v.Status // `json:"status"` + planVersioccAry.Child = append(planVersioccAry.Child, evalProsCont) + } + + planVersioAry = append(planVersioAry, planVersioccAry) + } + + planJsonCont, planJsonErr := json.Marshal(planVersioAry) + // planJsonCont, planJsonErr := json.Marshal(requestData.Child) if planJsonErr == nil { savePlanVersio.Content = string(planJsonCont) } diff --git a/gin_server_admin/api/index/statistics/newstatistics.go b/gin_server_admin/api/index/statistics/newstatistics.go index 7e51362..31d36d6 100644 --- a/gin_server_admin/api/index/statistics/newstatistics.go +++ b/gin_server_admin/api/index/statistics/newstatistics.go @@ -622,7 +622,12 @@ func StatisVersionTable(group string, planVersionCont []AddDutyNewCont, orgId, y // deScore = deScore + calculationDingLiangScore(group, strconv.FormatInt(orgId, 10), v.Id, vc.Id, gormDb, vc.ReferenceScore, year, int64(month)) // } - switch targetInfo.Cycles { + cyclsSet := vc.Cycles + if cyclsSet == 0 { + cyclsSet = targetInfo.Cycles + } + + switch cyclsSet { case 5: //季度 jidu := 1 diff --git a/gin_server_admin/api/index/statistics/tablestatistics.go b/gin_server_admin/api/index/statistics/tablestatistics.go index e43c238..0aee73a 100644 --- a/gin_server_admin/api/index/statistics/tablestatistics.go +++ b/gin_server_admin/api/index/statistics/tablestatistics.go @@ -934,14 +934,25 @@ func (d *dataLockStatistics) planVersiconProcessV1(pvInfo assessmentmodel.PlanVe } outCont.ManualGear = scoringMethod //获取执行部门及指标性质 - qualEvalId, _, departName, cycle, cycleattr, isDuty, isDutyErr := getDepartTarget(pvInfo.Key, pv.Id, pcv.Id, strconv.FormatInt(pvInfo.Group, 10), strconv.FormatInt(pvInfo.Department, 10)) + _, _, departName, cycle, cycleattr, isDuty, isDutyErr := getDepartTarget(pvInfo.Key, pv.Id, pcv.Id, strconv.FormatInt(pvInfo.Group, 10), strconv.FormatInt(pvInfo.Department, 10)) - fmt.Printf("qualEvalId----------->%v----------->departName----------->%v----------->cycle----------->%v----------->cycleattr----------->%v----------->isDuty----------->%v----------->isDutyErr----------->%v\n", qualEvalId, departName, cycle, cycleattr, isDuty, isDutyErr) + // fmt.Printf("qualEvalId----------->%v----------->departName----------->%v----------->cycle----------->%v----------->cycleattr----------->%v----------->isDuty----------->%v----------->isDutyErr----------->%v\n", qualEvalId, departName, cycle, cycleattr, isDuty, isDutyErr) if isDutyErr == nil { outCont.ExecutiveDepartment = departName - outCont.Cycles = cycle - outCont.CycleAttres = cycleattr + if pcv.Cycles == 0 { + outCont.Cycles = cycle + } else { + outCont.Cycles = pcv.Cycles + cycle = pcv.Cycles + } + if pcv.CycleAttres == 0 { + outCont.Cycles = cycleattr + } else { + outCont.CycleAttres = pcv.CycleAttres + cycleattr = pcv.CycleAttres + } + // outCont.CycleAttres = cycleattr if isDuty != 0 { outCont.Type = isDuty } @@ -949,8 +960,19 @@ func (d *dataLockStatistics) planVersiconProcessV1(pvInfo assessmentmodel.PlanVe var evalTargerCont assessmentmodel.EvaluationTarget evalErr := global.GVA_DB_Performanceappraisal.Where("`et_id` = ?", pcv.Id).First(&evalTargerCont).Error if evalErr == nil { - outCont.Cycles = evalTargerCont.Cycles - outCont.CycleAttres = evalTargerCont.CycleAttres + if pcv.Cycles == 0 { + outCont.Cycles = evalTargerCont.Cycles + } else { + outCont.Cycles = pcv.Cycles + cycle = pcv.Cycles + } + if pcv.CycleAttres == 0 { + outCont.CycleAttres = evalTargerCont.CycleAttres + } else { + outCont.CycleAttres = pcv.CycleAttres + cycleattr = pcv.CycleAttres + } + // outCont.CycleAttres = evalTargerCont.CycleAttres } isDuty = 2 } diff --git a/gin_server_admin/api/v1/shiyan/enter.go b/gin_server_admin/api/v1/shiyan/enter.go index ef255d3..89b544b 100644 --- a/gin_server_admin/api/v1/shiyan/enter.go +++ b/gin_server_admin/api/v1/shiyan/enter.go @@ -75,3 +75,26 @@ type Looknoepares struct { func (Looknoepares *Looknoepares) TableName() string { return "looknoepares" } + +type AddDutyNewCont struct { + Id string `json:"id"` //维度ID + Name string `json:"name"` + // Order int64 `json:"ordering"` + ZhiFraction int `json:"zhiFraction"` + Child []EvaluPross `json:"child"` //考核细则 +} + +//指标 +type EvaluPross struct { + Id string `json:"id"` //维度ID + Name string `json:"name"` + Content string `json:"content"` //指标说明 + Unit string `json:"unit"` //单位"` + ReferenceScore int64 `json:"referencescore"` //标准分值"` + Cycles int `json:"cycle"` //1:班;2:天;3:周;4:月;5:季度;6:年"` + CycleAttres int `json:"cycleattr"` //辅助计数"` + State int `json:"state"` + Score int64 `json:"score"` //分数 + QualEvalId string `json:"qeid"` + Status int `json:"status"` +} diff --git a/gin_server_admin/api/v1/shiyan/shiyan.go b/gin_server_admin/api/v1/shiyan/shiyan.go index 151f937..f582713 100644 --- a/gin_server_admin/api/v1/shiyan/shiyan.go +++ b/gin_server_admin/api/v1/shiyan/shiyan.go @@ -2137,3 +2137,65 @@ func (s *ShiyanApi) Shujuyichang(c *gin.Context) { fmt.Printf("%v %v %v %v-%v %v %v\n", v.Title, orgContDer.Name, commonus.Decimal(v.Score/100), v.Year, v.Month, userContDer.Name, v.ScoringScore) } } + +//归档部门考核方案版本时间周期问题 +func (s *ShiyanApi) DepartmentPlanVersion(c *gin.Context) { + //获取考核方案 + var assessTargetContentList []assessmentmodel.PlanVersio + + planVersioErr := global.GVA_DB_Performanceappraisal.Find(&assessTargetContentList).Error + if planVersioErr != nil { + response.Result(103, planVersioErr, "数据获取失败!", c) + return + } + for _, v := range assessTargetContentList { + + var planVersioInfo []AddDutyNewCont + jsonErr := json.Unmarshal([]byte(v.Content), &planVersioInfo) + if jsonErr == nil { + var planVersionList []AddDutyNewCont + for _, pv := range planVersioInfo { + var plvAry AddDutyNewCont + plvAry.Id = pv.Id + plvAry.Name = pv.Name + plvAry.ZhiFraction = pv.ZhiFraction + for _, pvChild := range pv.Child { + var pvcList EvaluPross + pvcList.Id = pvChild.Id + pvcList.Name = pvChild.Content + pvcList.Unit = pvChild.Unit + pvcList.ReferenceScore = pvChild.ReferenceScore + + var qualEvalCont assessmentmodel.QualitativeEvaluation + qualErr := qualEvalCont.GetCont(map[string]interface{}{"`qe_qual_eval_id`": v.Key, "qe_dimension": pv.Id, "qe_target": pvChild.Id, "qe_accept_evaluation": v.Department}, "`qe_cycle`,`qe_cycleattr`") + if qualErr == nil { + pvcList.Cycles = qualEvalCont.Cycles + pvcList.CycleAttres = qualEvalCont.CycleAttres + } else { + var evalTarCont assessmentmodel.EvaluationTarget + evalErr := evalTarCont.GetCont(map[string]interface{}{"et_id": pvChild.Id}, "`et_cycle`,`et_cycleattr`") + if evalErr == nil { + pvcList.Cycles = evalTarCont.Cycles + pvcList.CycleAttres = evalTarCont.CycleAttres + } + } + + pvcList.State = pvChild.State + pvcList.Score = pvChild.Score + pvcList.QualEvalId = pvChild.QualEvalId + pvcList.Status = pvChild.Status + + plvAry.Child = append(plvAry.Child, pvcList) + } + planVersionList = append(planVersionList, plvAry) + } + if len(planVersionList) > 0 { + jsonVal, _ := json.Marshal(planVersionList) + saveDataJson := commonus.MapOut() + saveDataJson["content"] = string(jsonVal) + global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.PlanVersio{}).Where("id = ?", v.Id).Updates(saveDataJson) + } + } + } + response.Result(0, planVersioErr, "完成!", c) +} diff --git a/gin_server_admin/router/shiyan/sys_shiyan.go b/gin_server_admin/router/shiyan/sys_shiyan.go index 9a1f15e..0ec410f 100644 --- a/gin_server_admin/router/shiyan/sys_shiyan.go +++ b/gin_server_admin/router/shiyan/sys_shiyan.go @@ -48,7 +48,8 @@ func (s *ShiyanRouter) InitShiyanRouter(Router *gin.RouterGroup) { shiyanCodeRouter.POST("guidangdingxingkaohedata", authorityApi.GuiDangDingXingKaoHeData) //归档定性考核数据 - shiyanCodeRouter.POST("shujuyichang", authorityApi.Shujuyichang) //获取数据异常得提交 + shiyanCodeRouter.POST("shujuyichang", authorityApi.Shujuyichang) //获取数据异常得提交 + shiyanCodeRouter.POST("departmentplanversion", authorityApi.DepartmentPlanVersion) //归档部门考核方案版本时间周期问题 } }