@ -58,7 +58,7 @@ func (a *ApiGroup) SummaryDetails(c *gin.Context) {
var lookStatistics [ ] detailedResultsList
for _ , v := range planVersionCont { //维度
for _ , cv := range v . Child { //指标
// if cv.Id == "50" {
if cv . Id == "52" {
var statisCont detailedResultsList
statisCont . GroupId = strconv . FormatInt ( planVersion . Group , 10 ) //集团Id
var groupCont hrsystem . AdministrativeOrganization
@ -104,7 +104,7 @@ func (a *ApiGroup) SummaryDetails(c *gin.Context) {
// }
lookStatistics = append ( lookStatistics , statisCont )
// }
}
}
}
@ -192,7 +192,7 @@ func DingLiangMonthSum(groupId, departmentId, weight, year, month int64, targetI
var flowDataLog [ ] assessmentmodel . FlowDataLogType
err := global . GVA_DB_Performanceappraisal . Where ( "`group` = ? AND `department` = ? AND `year` = ? AND `month` = ? AND `targetid` = ?" , groupId , departmentId , year , month , targetId ) . Find ( & flowDataLog ) . Error
fmt . Printf ( "err ------flowDataLog------>%v------>%v\n" , err , flowDataLog )
fmt . Printf ( "err ------flowDataLog------>err: %v------>status:%v------>flowDataLog: %v\n" , err , status , flowDataLog )
if err != nil || len ( flowDataLog ) < 1 {
score = float64 ( weight )
@ -224,10 +224,12 @@ func DingLiangMonthSum(groupId, departmentId, weight, year, month int64, targetI
default :
}
sumScoreEs = sumScoreEs + sumScoreGet
fmt . Printf ( "sumScoreEs--1--->%v\n" , v . Score )
} else {
sumScoreEs = sumScoreEs + ( float64 ( v . ScoringScore ) / 100 )
// sumScoreGet, _, _, _, _ := analysisReward(targetId, v.Baseline, float64(weight), float64(v.ScoringScore))
// sumScoreEs = sumScoreEs + sumScoreGet
fmt . Printf ( "sumScoreEs--2--->%v\n" , sumScoreEs )
}
} else {
sumScoreEs = sumScoreEs + targetScore
@ -242,7 +244,7 @@ func DingLiangMonthSum(groupId, departmentId, weight, year, month int64, targetI
}
}
}
// fmt.Printf("EvalDepartment--3--->%v\n", EvalDepartment)
fmt . Printf ( "sumScoreEs--3--->%v\n" , sumScoreEs )
score = sumScoreEs
// if cycs != 4 {
// score = float64(weight)
@ -277,12 +279,12 @@ func analysisReward(targetId, rewardCont string, targetScore, settlementScore fl
scoreVal = targetScore
return
}
settlementScore = settlementScore / 100
for _ , v := range rewardAry {
if v . TargetId == targetId {
allPrize = v . Allprize
zeroPrize = v . Zeroprize
CappingVal = v . Capping
allPrize = v . Allprize / 100
zeroPrize = v . Zeroprize / 100
CappingVal = v . Capping / 100
// fmt.Printf("%v----全奖--1-->%v--零奖------->%v----封顶值---->%v----指标---->%v----计算---->%v-----结果------->%v-----达成率------->%v\n", targetId, allPrize, zeroPrize, CappingVal, targetScore, settlementScore, scoreVal, achievement)
@ -307,11 +309,19 @@ func analysisReward(targetId, rewardCont string, targetScore, settlementScore fl
// fmt.Printf("%v----全奖--4-->%v--零奖------->%v----封顶值---->%v----指标---->%v----计算---->%v-----结果------->%v-----达成率------->%v\n", targetId, allPrize, zeroPrize, CappingVal, targetScore, settlementScore, scoreVal, achievement)
} else {
if achievement * 100 >= CappingVal / 100 {
scoreVal = ( CappingVal / 100 ) * targetScore / 100
if CappingVal > 0 {
scoreVal = ( CappingVal / 100 ) * targetScore
// fmt.Printf("%v----全奖--6-1->%v--零奖------->%v----封顶值---->%v----指标---->%v----计算---->%v-----结果------->%v-----达成率------->%v\n", targetId, allPrize, zeroPrize, CappingVal, targetScore, settlementScore, scoreVal, achievement)
} else {
scoreVal = targetScore
// fmt.Printf("%v----全奖--6-2->%v--零奖------->%v----封顶值---->%v----指标---->%v----计算---->%v-----结果------->%v-----达成率------->%v\n", targetId, allPrize, zeroPrize, CappingVal, targetScore, settlementScore, scoreVal, achievement)
}
} else {
scoreVal = ( chuShu / beiChuShu ) * targetScore
// fmt.Printf("%v----全奖--6-3->%v--零奖------->%v----封顶值---->%v----指标---->%v----计算---->%v-----结果------->%v-----达成率------->%v\n", targetId, allPrize, zeroPrize, CappingVal, targetScore, settlementScore, scoreVal, achievement)
}
// fmt.Printf("%v----全奖--6-->%v--零奖------->%v----封顶值---->%v----指标---->%v----计算---->%v-----结果------->%v-----达成率------->%v\n", targetId, allPrize, zeroPrize, CappingVal, targetScore, settlementScore, scoreVal, achievement)
}
achievement = commonus . DecimalEs ( achievement * 100 , 4 )
// fmt.Printf("%v----全奖--6-->%v--零奖------->%v----封顶值---->%v----指标---->%v----计算---->%v-----结果------->%v-----达成率------->%v\n", targetId, allPrize, zeroPrize, CappingVal, targetScore, settlementScore, scoreVal, achievement)
@ -360,7 +370,12 @@ func analysisReward(targetId, rewardCont string, targetScore, settlementScore fl
}
}
if settlementScore == 0 {
scoreVal = 0
} else {
scoreVal = commonus . Decimal ( scoreVal )
}
allPrize = commonus . Decimal ( allPrize )
zeroPrize = commonus . Decimal ( zeroPrize )
CappingVal = commonus . Decimal ( CappingVal )