You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
985 lines
40 KiB
985 lines
40 KiB
package quantification
|
|
|
|
import (
|
|
"fmt"
|
|
"strconv"
|
|
"time"
|
|
|
|
"gin_server_admin/commonus"
|
|
"gin_server_admin/global"
|
|
"gin_server_admin/model/assessmentmodel"
|
|
)
|
|
|
|
// 获取总值
|
|
func AuxiliaryCalculationSum(where interface{}) (sumScore float64) {
|
|
gormDb := global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.FlowLogData{}).Joins("left join flow_log as fl on fl.fl_key = flow_log_data.fld_flow_log").Where(where)
|
|
gormDb.Pluck("COALESCE(SUM(fld_score), 0) as rescore", &sumScore)
|
|
return
|
|
}
|
|
|
|
// 获取总数
|
|
func AuxiliaryCalculationCount(where interface{}) (sumScore float64) {
|
|
gormDb := global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.FlowLogData{}).Joins("left join flow_log as fl on fl.fl_key = flow_log_data.fld_flow_log").Where(where)
|
|
gormDb.Pluck("COALESCE(COUNT(fld_id), 0) as countid", &sumScore) //获取总数
|
|
return
|
|
}
|
|
|
|
// 计算总值和平均值
|
|
func AverageOfSum(where interface{}, class ...int) (sumScore float64, averageScore float64) {
|
|
sumScore = AuxiliaryCalculationSum(where) / 100
|
|
if len(class) > 0 {
|
|
countPage := AuxiliaryCalculationCount(where)
|
|
if countPage > 0 {
|
|
averageScore = sumScore / countPage
|
|
}
|
|
}
|
|
if sumScore != 0 {
|
|
sumScore = commonus.Decimal(sumScore)
|
|
}
|
|
if averageScore != 0 {
|
|
averageScore = commonus.Decimal(averageScore)
|
|
}
|
|
return
|
|
}
|
|
|
|
//时间推算
|
|
/*
|
|
@dataAry 接收的界定参数
|
|
*/
|
|
func EstimatedTime(dataAry natureParameter) (timeFrame []TimeFrame) {
|
|
if len(dataAry.Year) > 0 {
|
|
switch dataAry.TimeAttribute.Class {
|
|
case 1: //半年
|
|
// for _, yearV := range dataAry.Year {
|
|
// if len(dataAry.TimeAttribute.Time) > 0 {
|
|
// for _, banYearVal := range dataAry.TimeAttribute.Time {
|
|
// if banYearVal == 1 {
|
|
// var timeFrameInfo TimeFrame
|
|
// timeFrameInfo.XLine = fmt.Sprintf("%v上半年", yearV)
|
|
// timeFrameInfo.Class = 1
|
|
// timeFrameInfo.YearName = yearV
|
|
// timeFrameInfo.Where = []int{1, 2, 3, 4, 5, 6}
|
|
// timeFrame = append(timeFrame, timeFrameInfo)
|
|
// }
|
|
// if banYearVal == 2 {
|
|
// var timeFrameInfo TimeFrame
|
|
// timeFrameInfo.XLine = fmt.Sprintf("%v下半年", yearV)
|
|
// timeFrameInfo.Class = 1
|
|
// timeFrameInfo.YearName = yearV
|
|
// timeFrameInfo.Where = []int{7, 8, 9, 10, 11, 12}
|
|
// timeFrame = append(timeFrame, timeFrameInfo)
|
|
// }
|
|
// }
|
|
// } else {
|
|
// var timeFrameInfo TimeFrame
|
|
// timeFrameInfo.XLine = fmt.Sprintf("%v上半年", yearV)
|
|
// timeFrameInfo.Class = 1
|
|
// timeFrameInfo.YearName = yearV
|
|
// timeFrameInfo.Where = []int{1, 2, 3, 4, 5, 6}
|
|
// timeFrame = append(timeFrame, timeFrameInfo)
|
|
// var timeFrameInfoXia TimeFrame
|
|
// timeFrameInfoXia.XLine = fmt.Sprintf("%v下半年", yearV)
|
|
// timeFrameInfoXia.Class = 1
|
|
// timeFrameInfoXia.YearName = yearV
|
|
// timeFrameInfoXia.Where = []int{7, 8, 9, 10, 11, 12}
|
|
// timeFrame = append(timeFrame, timeFrameInfoXia)
|
|
// }
|
|
// }
|
|
if len(dataAry.TimeAttribute.Time) > 0 {
|
|
for _, banYearVal := range dataAry.TimeAttribute.Time {
|
|
if banYearVal == 1 {
|
|
var timeFrameInfo TimeFrame
|
|
timeFrameInfo.XLine = fmt.Sprintf("上半年")
|
|
timeFrameInfo.Class = 1
|
|
timeFrameInfo.YearName = "1"
|
|
timeFrameInfo.Where = []int{1, 2, 3, 4, 5, 6}
|
|
timeFrame = append(timeFrame, timeFrameInfo)
|
|
}
|
|
if banYearVal == 2 {
|
|
var timeFrameInfo TimeFrame
|
|
timeFrameInfo.XLine = fmt.Sprintf("下半年")
|
|
timeFrameInfo.Class = 1
|
|
timeFrameInfo.YearName = "2"
|
|
timeFrameInfo.Where = []int{7, 8, 9, 10, 11, 12}
|
|
timeFrame = append(timeFrame, timeFrameInfo)
|
|
}
|
|
}
|
|
} else {
|
|
var timeFrameInfo TimeFrame
|
|
timeFrameInfo.XLine = fmt.Sprintf("上半年")
|
|
timeFrameInfo.Class = 1
|
|
timeFrameInfo.YearName = "1"
|
|
timeFrameInfo.Where = []int{1, 2, 3, 4, 5, 6}
|
|
timeFrame = append(timeFrame, timeFrameInfo)
|
|
var timeFrameInfoXia TimeFrame
|
|
timeFrameInfoXia.XLine = fmt.Sprintf("下半年")
|
|
timeFrameInfoXia.Class = 1
|
|
timeFrameInfoXia.YearName = "2"
|
|
timeFrameInfoXia.Where = []int{7, 8, 9, 10, 11, 12}
|
|
timeFrame = append(timeFrame, timeFrameInfoXia)
|
|
}
|
|
case 2:
|
|
if len(dataAry.TimeAttribute.Time) > 0 && len(dataAry.TimeAttribute.Time) < 5 {
|
|
for _, quarV := range dataAry.TimeAttribute.Time {
|
|
var timeFrameInfo TimeFrame
|
|
timeFrameInfo.XLine = fmt.Sprintf("%v季度", quarV)
|
|
timeFrameInfo.Class = 2
|
|
timeFrameInfo.YearName = fmt.Sprintf("%v", quarV)
|
|
timeFrameInfo.Where = append(timeFrameInfo.Where, quarV)
|
|
timeFrame = append(timeFrame, timeFrameInfo)
|
|
}
|
|
} else {
|
|
for i := 1; i < 5; i++ {
|
|
var timeFrameInfo TimeFrame
|
|
timeFrameInfo.XLine = fmt.Sprintf("%v季度", i)
|
|
timeFrameInfo.Class = 2
|
|
timeFrameInfo.YearName = fmt.Sprintf("%v", i)
|
|
timeFrameInfo.Where = append(timeFrameInfo.Where, i)
|
|
timeFrame = append(timeFrame, timeFrameInfo)
|
|
}
|
|
}
|
|
case 3:
|
|
if len(dataAry.TimeAttribute.Time) > 0 {
|
|
for _, monthV := range dataAry.TimeAttribute.Time {
|
|
var timeFrameInfo TimeFrame
|
|
timeFrameInfo.XLine = fmt.Sprintf("%v月", monthV)
|
|
timeFrameInfo.Class = 3
|
|
timeFrameInfo.YearName = fmt.Sprintf("%v", monthV)
|
|
timeFrameInfo.Where = append(timeFrameInfo.Where, monthV)
|
|
timeFrame = append(timeFrame, timeFrameInfo)
|
|
}
|
|
} else {
|
|
for i := 1; i < 13; i++ {
|
|
var timeFrameInfo TimeFrame
|
|
timeFrameInfo.XLine = fmt.Sprintf("%v月", i)
|
|
timeFrameInfo.Class = 3
|
|
timeFrameInfo.YearName = fmt.Sprintf("%v", i)
|
|
timeFrameInfo.Where = append(timeFrameInfo.Where, i)
|
|
timeFrame = append(timeFrame, timeFrameInfo)
|
|
}
|
|
}
|
|
default:
|
|
for _, yv := range dataAry.Year {
|
|
var timeFrameInfo TimeFrame
|
|
timeFrameInfo.XLine = fmt.Sprintf("%v年", yv)
|
|
timeFrameInfo.Class = 0
|
|
timeFrameInfo.YearName = yv
|
|
yearInt, _ := strconv.Atoi(yv)
|
|
timeFrameInfo.Where = append(timeFrameInfo.Where, yearInt)
|
|
timeFrame = append(timeFrame, timeFrameInfo)
|
|
}
|
|
}
|
|
} else {
|
|
dangQianTime := time.Now().Unix()
|
|
dangQianYear := commonus.TimeStampToDate(dangQianTime, 11)
|
|
var timeFrameInfo TimeFrame
|
|
timeFrameInfo.XLine = fmt.Sprintf("%v年", dangQianYear)
|
|
timeFrameInfo.Class = 0
|
|
timeFrameInfo.YearName = dangQianYear
|
|
yearInt, _ := strconv.Atoi(dangQianYear)
|
|
timeFrameInfo.Where = append(timeFrameInfo.Where, yearInt)
|
|
timeFrame = append(timeFrame, timeFrameInfo)
|
|
}
|
|
return
|
|
}
|
|
|
|
//时间维度统计计算
|
|
/*
|
|
@taskId 执行中的考核方案ID
|
|
@dataAry 接收的界定参数
|
|
*/
|
|
func TimeStatistics(taskId string, dataAry natureParameter) (outputData GraphicStatistics, outErr bool) {
|
|
outErr = true
|
|
var normName string = ""
|
|
if len(dataAry.TargetId) > 1 {
|
|
//当同时查询多个指标时启用 获取指标名称
|
|
var qualEvalCont assessmentmodel.QualitativeEvaluation
|
|
qualEvaWhe := commonus.MapOut()
|
|
qualEvaWhe["qe_id"] = taskId
|
|
qualEvalCont.GetCont(qualEvaWhe, "qe_target")
|
|
taskCont, taskErr := commonus.GetTargetInfo(qualEvalCont.Target)
|
|
if taskErr == true {
|
|
normName = taskCont.Title
|
|
outErr = taskErr
|
|
} else {
|
|
// outErr = error.Error("此考核项目没有数据!")
|
|
outErr = taskErr
|
|
return
|
|
}
|
|
}
|
|
//以时间维度,获取X坐标轴
|
|
timeFrame := EstimatedTime(dataAry)
|
|
//统计方式
|
|
statisticalMethod := 3
|
|
if len(dataAry.AccMethod) == 1 {
|
|
if commonus.IsItTrueInt(1, dataAry.AccMethod) == true {
|
|
statisticalMethod = 1
|
|
} else {
|
|
statisticalMethod = 2
|
|
}
|
|
}
|
|
|
|
// fmt.Printf("timeFrame--------->%v\n", timeFrame)
|
|
// return
|
|
//根据时间维度进行统计
|
|
for _, tfv := range timeFrame {
|
|
switch tfv.Class {
|
|
case 1:
|
|
// fmt.Sprintf("KKKKK--------->%v\n", tfv.XLine)
|
|
if commonus.IsItTrueString(tfv.XLine, outputData.XLine) == false {
|
|
outputData.XLine = append(outputData.XLine, tfv.XLine)
|
|
}
|
|
monthStr := "("
|
|
for twi, twv := range tfv.Where {
|
|
if twi != 0 {
|
|
monthStr = fmt.Sprintf("%v,%v", monthStr, twv)
|
|
} else {
|
|
monthStr = fmt.Sprintf("%v%v", monthStr, twv)
|
|
}
|
|
|
|
}
|
|
monthStr = fmt.Sprintf("%v)", monthStr)
|
|
wherStr := fmt.Sprintf("fld_evaluation_id = %v AND `fl_year` = %v AND `fl_month` IN %v", taskId, tfv.YearName, monthStr)
|
|
|
|
if len(dataAry.Org) > 0 {
|
|
//存在组织结构
|
|
_, orgList := getGroupOrg(dataAry.Org)
|
|
if len(orgList) > 0 {
|
|
for _, orgv := range orgList {
|
|
if orgv.Level <= 2 {
|
|
wherStr = fmt.Sprintf("%v AND `fl_duty_group` = %v", wherStr, orgv.Id)
|
|
} else {
|
|
wherStr = fmt.Sprintf("%v AND `fl_duty_department` = %v", wherStr, orgv.Id)
|
|
}
|
|
switch statisticalMethod {
|
|
case 1:
|
|
//合计
|
|
sumScore, _ := AverageOfSum(wherStr)
|
|
normNameTotal := fmt.Sprintf("%v %v总值", orgv.Name, normName)
|
|
if commonus.IsItTrueString(normNameTotal, outputData.Cylindrical) == false {
|
|
outputData.Cylindrical = append(outputData.Cylindrical, normNameTotal)
|
|
var seriesInfo series
|
|
seriesInfo.Name = normNameTotal
|
|
seriesInfo.Data = append(seriesInfo.Data, sumScore)
|
|
outputData.CylindricalData = append(outputData.CylindricalData, seriesInfo)
|
|
|
|
} else {
|
|
for cdi, cdv := range outputData.CylindricalData {
|
|
if cdv.Name == normNameTotal {
|
|
outputData.CylindricalData[cdi].Data = append(outputData.CylindricalData[cdi].Data, sumScore)
|
|
}
|
|
}
|
|
}
|
|
case 2:
|
|
_, averageScore := AverageOfSum(wherStr, 1)
|
|
normNameAverage := fmt.Sprintf("%v %v平均值", orgv.Name, normName)
|
|
if commonus.IsItTrueString(normNameAverage, outputData.Cylindrical) == false {
|
|
outputData.Cylindrical = append(outputData.Cylindrical, normNameAverage)
|
|
var seriesInfoAverage series
|
|
seriesInfoAverage.Name = normNameAverage
|
|
seriesInfoAverage.Data = append(seriesInfoAverage.Data, averageScore)
|
|
outputData.CylindricalData = append(outputData.CylindricalData, seriesInfoAverage)
|
|
} else {
|
|
for cdi, cdv := range outputData.CylindricalData {
|
|
if cdv.Name == normNameAverage {
|
|
outputData.CylindricalData[cdi].Data = append(outputData.CylindricalData[cdi].Data, averageScore)
|
|
}
|
|
}
|
|
}
|
|
default:
|
|
//合计与平均
|
|
sumScore, averageScore := AverageOfSum(wherStr, 1)
|
|
normNameTotal := fmt.Sprintf("%v %v总值", orgv.Name, normName)
|
|
if commonus.IsItTrueString(normNameTotal, outputData.Cylindrical) == false {
|
|
outputData.Cylindrical = append(outputData.Cylindrical, normNameTotal)
|
|
var seriesInfo series
|
|
seriesInfo.Name = normNameTotal
|
|
seriesInfo.Data = append(seriesInfo.Data, sumScore)
|
|
outputData.CylindricalData = append(outputData.CylindricalData, seriesInfo)
|
|
|
|
} else {
|
|
for cdi, cdv := range outputData.CylindricalData {
|
|
if cdv.Name == normNameTotal {
|
|
outputData.CylindricalData[cdi].Data = append(outputData.CylindricalData[cdi].Data, sumScore)
|
|
}
|
|
}
|
|
}
|
|
normNameAverage := fmt.Sprintf("%v %v平均值", orgv.Name, normName)
|
|
if commonus.IsItTrueString(normNameAverage, outputData.Cylindrical) == false {
|
|
outputData.Cylindrical = append(outputData.Cylindrical, normNameAverage)
|
|
var seriesInfoAverage series
|
|
seriesInfoAverage.Name = normNameAverage
|
|
seriesInfoAverage.Data = append(seriesInfoAverage.Data, averageScore)
|
|
outputData.CylindricalData = append(outputData.CylindricalData, seriesInfoAverage)
|
|
} else {
|
|
for cdi, cdv := range outputData.CylindricalData {
|
|
if cdv.Name == normNameAverage {
|
|
outputData.CylindricalData[cdi].Data = append(outputData.CylindricalData[cdi].Data, averageScore)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} else {
|
|
//不存在行政组织
|
|
switch statisticalMethod {
|
|
case 1:
|
|
//合计
|
|
sumScore, _ := AverageOfSum(wherStr)
|
|
normNameTotal := fmt.Sprintf("%v总值", normName)
|
|
if commonus.IsItTrueString(normNameTotal, outputData.Cylindrical) == false {
|
|
outputData.Cylindrical = append(outputData.Cylindrical, normNameTotal)
|
|
var seriesInfo series
|
|
seriesInfo.Name = normNameTotal
|
|
seriesInfo.Data = append(seriesInfo.Data, sumScore)
|
|
outputData.CylindricalData = append(outputData.CylindricalData, seriesInfo)
|
|
|
|
} else {
|
|
for cdi, cdv := range outputData.CylindricalData {
|
|
if cdv.Name == normNameTotal {
|
|
outputData.CylindricalData[cdi].Data = append(outputData.CylindricalData[cdi].Data, sumScore)
|
|
}
|
|
}
|
|
}
|
|
case 2:
|
|
_, averageScore := AverageOfSum(wherStr, 1)
|
|
normNameAverage := fmt.Sprintf("%v平均值", normName)
|
|
if commonus.IsItTrueString(normNameAverage, outputData.Cylindrical) == false {
|
|
outputData.Cylindrical = append(outputData.Cylindrical, normNameAverage)
|
|
var seriesInfoAverage series
|
|
seriesInfoAverage.Name = normNameAverage
|
|
seriesInfoAverage.Data = append(seriesInfoAverage.Data, averageScore)
|
|
outputData.CylindricalData = append(outputData.CylindricalData, seriesInfoAverage)
|
|
} else {
|
|
for cdi, cdv := range outputData.CylindricalData {
|
|
if cdv.Name == normNameAverage {
|
|
outputData.CylindricalData[cdi].Data = append(outputData.CylindricalData[cdi].Data, averageScore)
|
|
}
|
|
}
|
|
}
|
|
default:
|
|
//合计与平均
|
|
sumScore, averageScore := AverageOfSum(wherStr, 1)
|
|
normNameTotal := fmt.Sprintf("%v总值", normName)
|
|
if commonus.IsItTrueString(normNameTotal, outputData.Cylindrical) == false {
|
|
outputData.Cylindrical = append(outputData.Cylindrical, normNameTotal)
|
|
var seriesInfo series
|
|
seriesInfo.Name = normNameTotal
|
|
seriesInfo.Data = append(seriesInfo.Data, sumScore)
|
|
outputData.CylindricalData = append(outputData.CylindricalData, seriesInfo)
|
|
|
|
} else {
|
|
for cdi, cdv := range outputData.CylindricalData {
|
|
if cdv.Name == normNameTotal {
|
|
outputData.CylindricalData[cdi].Data = append(outputData.CylindricalData[cdi].Data, sumScore)
|
|
}
|
|
}
|
|
}
|
|
normNameAverage := fmt.Sprintf("%v平均值", normName)
|
|
if commonus.IsItTrueString(normNameAverage, outputData.Cylindrical) == false {
|
|
outputData.Cylindrical = append(outputData.Cylindrical, normNameAverage)
|
|
var seriesInfoAverage series
|
|
seriesInfoAverage.Name = normNameAverage
|
|
seriesInfoAverage.Data = append(seriesInfoAverage.Data, averageScore)
|
|
outputData.CylindricalData = append(outputData.CylindricalData, seriesInfoAverage)
|
|
} else {
|
|
for cdi, cdv := range outputData.CylindricalData {
|
|
if cdv.Name == normNameAverage {
|
|
outputData.CylindricalData[cdi].Data = append(outputData.CylindricalData[cdi].Data, averageScore)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
if len(dataAry.AccMethod) > 0 {
|
|
if commonus.IsItTrueInt(1, dataAry.AccMethod) == true && commonus.IsItTrueInt(2, dataAry.AccMethod) == true {
|
|
//合计与平均
|
|
sumScore, averageScore := AverageOfSum(wherStr, 1)
|
|
normNameTotal := fmt.Sprintf("%v总值", normName)
|
|
if commonus.IsItTrueString(normNameTotal, outputData.Cylindrical) == false {
|
|
outputData.Cylindrical = append(outputData.Cylindrical, normNameTotal)
|
|
var seriesInfo series
|
|
seriesInfo.Name = normNameTotal
|
|
seriesInfo.Data = append(seriesInfo.Data, sumScore)
|
|
outputData.CylindricalData = append(outputData.CylindricalData, seriesInfo)
|
|
|
|
} else {
|
|
for cdi, cdv := range outputData.CylindricalData {
|
|
if cdv.Name == normNameTotal {
|
|
outputData.CylindricalData[cdi].Data = append(outputData.CylindricalData[cdi].Data, sumScore)
|
|
}
|
|
}
|
|
}
|
|
normNameAverage := fmt.Sprintf("%v平均值", normName)
|
|
if commonus.IsItTrueString(normNameAverage, outputData.Cylindrical) == false {
|
|
outputData.Cylindrical = append(outputData.Cylindrical, normNameAverage)
|
|
var seriesInfoAverage series
|
|
seriesInfoAverage.Name = normNameAverage
|
|
seriesInfoAverage.Data = append(seriesInfoAverage.Data, averageScore)
|
|
outputData.CylindricalData = append(outputData.CylindricalData, seriesInfoAverage)
|
|
} else {
|
|
for cdi, cdv := range outputData.CylindricalData {
|
|
if cdv.Name == normNameAverage {
|
|
outputData.CylindricalData[cdi].Data = append(outputData.CylindricalData[cdi].Data, averageScore)
|
|
}
|
|
}
|
|
}
|
|
} else if commonus.IsItTrueInt(1, dataAry.AccMethod) == true {
|
|
//合计
|
|
sumScore, _ := AverageOfSum(wherStr)
|
|
normNameTotal := fmt.Sprintf("%v总值", normName)
|
|
if commonus.IsItTrueString(normNameTotal, outputData.Cylindrical) == false {
|
|
outputData.Cylindrical = append(outputData.Cylindrical, normNameTotal)
|
|
var seriesInfo series
|
|
seriesInfo.Name = normNameTotal
|
|
seriesInfo.Data = append(seriesInfo.Data, sumScore)
|
|
outputData.CylindricalData = append(outputData.CylindricalData, seriesInfo)
|
|
|
|
} else {
|
|
for cdi, cdv := range outputData.CylindricalData {
|
|
if cdv.Name == normNameTotal {
|
|
outputData.CylindricalData[cdi].Data = append(outputData.CylindricalData[cdi].Data, sumScore)
|
|
}
|
|
}
|
|
}
|
|
} else if commonus.IsItTrueInt(2, dataAry.AccMethod) == true {
|
|
_, averageScore := AverageOfSum(wherStr, 1)
|
|
normNameAverage := fmt.Sprintf("%v平均值", normName)
|
|
if commonus.IsItTrueString(normNameAverage, outputData.Cylindrical) == false {
|
|
outputData.Cylindrical = append(outputData.Cylindrical, normNameAverage)
|
|
var seriesInfoAverage series
|
|
seriesInfoAverage.Name = normNameAverage
|
|
seriesInfoAverage.Data = append(seriesInfoAverage.Data, averageScore)
|
|
outputData.CylindricalData = append(outputData.CylindricalData, seriesInfoAverage)
|
|
} else {
|
|
for cdi, cdv := range outputData.CylindricalData {
|
|
if cdv.Name == normNameAverage {
|
|
outputData.CylindricalData[cdi].Data = append(outputData.CylindricalData[cdi].Data, averageScore)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} else {
|
|
//合计与平均
|
|
sumScore, averageScore := AverageOfSum(wherStr, 1)
|
|
normNameTotal := fmt.Sprintf("%v总值", normName)
|
|
if commonus.IsItTrueString(normNameTotal, outputData.Cylindrical) == false {
|
|
outputData.Cylindrical = append(outputData.Cylindrical, normNameTotal)
|
|
var seriesInfo series
|
|
seriesInfo.Name = normNameTotal
|
|
seriesInfo.Data = append(seriesInfo.Data, sumScore)
|
|
outputData.CylindricalData = append(outputData.CylindricalData, seriesInfo)
|
|
|
|
} else {
|
|
for cdi, cdv := range outputData.CylindricalData {
|
|
if cdv.Name == normNameTotal {
|
|
outputData.CylindricalData[cdi].Data = append(outputData.CylindricalData[cdi].Data, sumScore)
|
|
}
|
|
}
|
|
}
|
|
normNameAverage := fmt.Sprintf("%v平均值", normName)
|
|
if commonus.IsItTrueString(normNameAverage, outputData.Cylindrical) == false {
|
|
outputData.Cylindrical = append(outputData.Cylindrical, normNameAverage)
|
|
var seriesInfoAverage series
|
|
seriesInfoAverage.Name = normNameAverage
|
|
seriesInfoAverage.Data = append(seriesInfoAverage.Data, averageScore)
|
|
outputData.CylindricalData = append(outputData.CylindricalData, seriesInfoAverage)
|
|
} else {
|
|
for cdi, cdv := range outputData.CylindricalData {
|
|
if cdv.Name == normNameAverage {
|
|
outputData.CylindricalData[cdi].Data = append(outputData.CylindricalData[cdi].Data, averageScore)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
case 2:
|
|
//季度
|
|
if commonus.IsItTrueString(tfv.XLine, outputData.XLine) == false {
|
|
outputData.XLine = append(outputData.XLine, tfv.XLine)
|
|
}
|
|
for _, yearVal := range dataAry.Year {
|
|
wherStr := fmt.Sprintf("fld_evaluation_id = %v AND `fl_year` = %v AND `fl_quarter` = %v", taskId, yearVal, tfv.YearName)
|
|
// fmt.Printf("%v季度\n", yearVal)
|
|
if len(dataAry.Org) > 0 {
|
|
//存在组织结构
|
|
_, orgList := getGroupOrg(dataAry.Org)
|
|
if len(orgList) > 0 {
|
|
for _, orgv := range orgList {
|
|
if orgv.Level <= 2 {
|
|
wherStr = fmt.Sprintf("%v AND `fl_duty_group` = %v", wherStr, orgv.Id)
|
|
} else {
|
|
wherStr = fmt.Sprintf("%v AND `fl_duty_department` = %v", wherStr, orgv.Id)
|
|
}
|
|
switch statisticalMethod {
|
|
case 1:
|
|
//合计
|
|
sumScore, _ := AverageOfSum(wherStr)
|
|
normNameTotal := fmt.Sprintf("%v %v总值", orgv.Name, normName)
|
|
if commonus.IsItTrueString(normNameTotal, outputData.Cylindrical) == false {
|
|
outputData.Cylindrical = append(outputData.Cylindrical, normNameTotal)
|
|
var seriesInfo series
|
|
seriesInfo.Name = normNameTotal
|
|
seriesInfo.Data = append(seriesInfo.Data, sumScore)
|
|
outputData.CylindricalData = append(outputData.CylindricalData, seriesInfo)
|
|
|
|
} else {
|
|
for cdi, cdv := range outputData.CylindricalData {
|
|
if cdv.Name == normNameTotal {
|
|
outputData.CylindricalData[cdi].Data = append(outputData.CylindricalData[cdi].Data, sumScore)
|
|
}
|
|
}
|
|
}
|
|
case 2:
|
|
_, averageScore := AverageOfSum(wherStr, 1)
|
|
normNameAverage := fmt.Sprintf("%v %v平均值", orgv.Name, normName)
|
|
if commonus.IsItTrueString(normNameAverage, outputData.Cylindrical) == false {
|
|
outputData.Cylindrical = append(outputData.Cylindrical, normNameAverage)
|
|
var seriesInfoAverage series
|
|
seriesInfoAverage.Name = normNameAverage
|
|
seriesInfoAverage.Data = append(seriesInfoAverage.Data, averageScore)
|
|
outputData.CylindricalData = append(outputData.CylindricalData, seriesInfoAverage)
|
|
} else {
|
|
for cdi, cdv := range outputData.CylindricalData {
|
|
if cdv.Name == normNameAverage {
|
|
outputData.CylindricalData[cdi].Data = append(outputData.CylindricalData[cdi].Data, averageScore)
|
|
}
|
|
}
|
|
}
|
|
default:
|
|
//合计与平均
|
|
sumScore, averageScore := AverageOfSum(wherStr, 1)
|
|
normNameTotal := fmt.Sprintf("%v %v总值", orgv.Name, normName)
|
|
if commonus.IsItTrueString(normNameTotal, outputData.Cylindrical) == false {
|
|
outputData.Cylindrical = append(outputData.Cylindrical, normNameTotal)
|
|
var seriesInfo series
|
|
seriesInfo.Name = normNameTotal
|
|
seriesInfo.Data = append(seriesInfo.Data, sumScore)
|
|
outputData.CylindricalData = append(outputData.CylindricalData, seriesInfo)
|
|
|
|
} else {
|
|
for cdi, cdv := range outputData.CylindricalData {
|
|
if cdv.Name == normNameTotal {
|
|
outputData.CylindricalData[cdi].Data = append(outputData.CylindricalData[cdi].Data, sumScore)
|
|
}
|
|
}
|
|
}
|
|
normNameAverage := fmt.Sprintf("%v %v平均值", orgv.Name, normName)
|
|
if commonus.IsItTrueString(normNameAverage, outputData.Cylindrical) == false {
|
|
outputData.Cylindrical = append(outputData.Cylindrical, normNameAverage)
|
|
var seriesInfoAverage series
|
|
seriesInfoAverage.Name = normNameAverage
|
|
seriesInfoAverage.Data = append(seriesInfoAverage.Data, averageScore)
|
|
outputData.CylindricalData = append(outputData.CylindricalData, seriesInfoAverage)
|
|
} else {
|
|
for cdi, cdv := range outputData.CylindricalData {
|
|
if cdv.Name == normNameAverage {
|
|
outputData.CylindricalData[cdi].Data = append(outputData.CylindricalData[cdi].Data, averageScore)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
} else {
|
|
//不存在行政组织
|
|
switch statisticalMethod {
|
|
case 1:
|
|
//合计
|
|
sumScore, _ := AverageOfSum(wherStr)
|
|
normNameTotal := fmt.Sprintf("%v总值", normName)
|
|
if commonus.IsItTrueString(normNameTotal, outputData.Cylindrical) == false {
|
|
outputData.Cylindrical = append(outputData.Cylindrical, normNameTotal)
|
|
var seriesInfo series
|
|
seriesInfo.Name = normNameTotal
|
|
seriesInfo.Data = append(seriesInfo.Data, sumScore)
|
|
outputData.CylindricalData = append(outputData.CylindricalData, seriesInfo)
|
|
|
|
} else {
|
|
for cdi, cdv := range outputData.CylindricalData {
|
|
if cdv.Name == normNameTotal {
|
|
outputData.CylindricalData[cdi].Data = append(outputData.CylindricalData[cdi].Data, sumScore)
|
|
}
|
|
}
|
|
}
|
|
case 2:
|
|
_, averageScore := AverageOfSum(wherStr, 1)
|
|
normNameAverage := fmt.Sprintf("%v平均值", normName)
|
|
if commonus.IsItTrueString(normNameAverage, outputData.Cylindrical) == false {
|
|
outputData.Cylindrical = append(outputData.Cylindrical, normNameAverage)
|
|
var seriesInfoAverage series
|
|
seriesInfoAverage.Name = normNameAverage
|
|
seriesInfoAverage.Data = append(seriesInfoAverage.Data, averageScore)
|
|
outputData.CylindricalData = append(outputData.CylindricalData, seriesInfoAverage)
|
|
} else {
|
|
for cdi, cdv := range outputData.CylindricalData {
|
|
if cdv.Name == normNameAverage {
|
|
outputData.CylindricalData[cdi].Data = append(outputData.CylindricalData[cdi].Data, averageScore)
|
|
}
|
|
}
|
|
}
|
|
default:
|
|
//合计与平均
|
|
sumScore, averageScore := AverageOfSum(wherStr, 1)
|
|
normNameTotal := fmt.Sprintf("%v总值", normName)
|
|
if commonus.IsItTrueString(normNameTotal, outputData.Cylindrical) == false {
|
|
outputData.Cylindrical = append(outputData.Cylindrical, normNameTotal)
|
|
var seriesInfo series
|
|
seriesInfo.Name = normNameTotal
|
|
seriesInfo.Data = append(seriesInfo.Data, sumScore)
|
|
outputData.CylindricalData = append(outputData.CylindricalData, seriesInfo)
|
|
|
|
} else {
|
|
for cdi, cdv := range outputData.CylindricalData {
|
|
if cdv.Name == normNameTotal {
|
|
outputData.CylindricalData[cdi].Data = append(outputData.CylindricalData[cdi].Data, sumScore)
|
|
}
|
|
}
|
|
}
|
|
normNameAverage := fmt.Sprintf("%v平均值", normName)
|
|
if commonus.IsItTrueString(normNameAverage, outputData.Cylindrical) == false {
|
|
outputData.Cylindrical = append(outputData.Cylindrical, normNameAverage)
|
|
var seriesInfoAverage series
|
|
seriesInfoAverage.Name = normNameAverage
|
|
seriesInfoAverage.Data = append(seriesInfoAverage.Data, averageScore)
|
|
outputData.CylindricalData = append(outputData.CylindricalData, seriesInfoAverage)
|
|
} else {
|
|
for cdi, cdv := range outputData.CylindricalData {
|
|
if cdv.Name == normNameAverage {
|
|
outputData.CylindricalData[cdi].Data = append(outputData.CylindricalData[cdi].Data, averageScore)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
case 3:
|
|
//月
|
|
if commonus.IsItTrueString(tfv.XLine, outputData.XLine) == false {
|
|
outputData.XLine = append(outputData.XLine, tfv.XLine)
|
|
}
|
|
for _, yearVal := range dataAry.Year {
|
|
wherStr := fmt.Sprintf("fld_evaluation_id = %v AND `fl_year` = %v AND `fl_month` = %v", taskId, yearVal, tfv.YearName)
|
|
|
|
if len(dataAry.Org) > 0 {
|
|
//存在组织结构
|
|
_, orgList := getGroupOrg(dataAry.Org)
|
|
if len(orgList) > 0 {
|
|
for _, orgv := range orgList {
|
|
if orgv.Level <= 2 {
|
|
wherStr = fmt.Sprintf("%v AND `fl_duty_group` = %v", wherStr, orgv.Id)
|
|
} else {
|
|
wherStr = fmt.Sprintf("%v AND `fl_duty_department` = %v", wherStr, orgv.Id)
|
|
}
|
|
switch statisticalMethod {
|
|
case 1:
|
|
//合计
|
|
sumScore, _ := AverageOfSum(wherStr)
|
|
normNameTotal := fmt.Sprintf("%v %v总值", orgv.Name, normName)
|
|
if commonus.IsItTrueString(normNameTotal, outputData.Cylindrical) == false {
|
|
outputData.Cylindrical = append(outputData.Cylindrical, normNameTotal)
|
|
var seriesInfo series
|
|
seriesInfo.Name = normNameTotal
|
|
seriesInfo.Data = append(seriesInfo.Data, sumScore)
|
|
outputData.CylindricalData = append(outputData.CylindricalData, seriesInfo)
|
|
|
|
} else {
|
|
for cdi, cdv := range outputData.CylindricalData {
|
|
if cdv.Name == normNameTotal {
|
|
outputData.CylindricalData[cdi].Data = append(outputData.CylindricalData[cdi].Data, sumScore)
|
|
}
|
|
}
|
|
}
|
|
case 2:
|
|
_, averageScore := AverageOfSum(wherStr, 1)
|
|
normNameAverage := fmt.Sprintf("%v %v平均值", orgv.Name, normName)
|
|
if commonus.IsItTrueString(normNameAverage, outputData.Cylindrical) == false {
|
|
outputData.Cylindrical = append(outputData.Cylindrical, normNameAverage)
|
|
var seriesInfoAverage series
|
|
seriesInfoAverage.Name = normNameAverage
|
|
seriesInfoAverage.Data = append(seriesInfoAverage.Data, averageScore)
|
|
outputData.CylindricalData = append(outputData.CylindricalData, seriesInfoAverage)
|
|
} else {
|
|
for cdi, cdv := range outputData.CylindricalData {
|
|
if cdv.Name == normNameAverage {
|
|
outputData.CylindricalData[cdi].Data = append(outputData.CylindricalData[cdi].Data, averageScore)
|
|
}
|
|
}
|
|
}
|
|
default:
|
|
//合计与平均
|
|
sumScore, averageScore := AverageOfSum(wherStr, 1)
|
|
normNameTotal := fmt.Sprintf("%v %v总值", orgv.Name, normName)
|
|
if commonus.IsItTrueString(normNameTotal, outputData.Cylindrical) == false {
|
|
outputData.Cylindrical = append(outputData.Cylindrical, normNameTotal)
|
|
var seriesInfo series
|
|
seriesInfo.Name = normNameTotal
|
|
seriesInfo.Data = append(seriesInfo.Data, sumScore)
|
|
outputData.CylindricalData = append(outputData.CylindricalData, seriesInfo)
|
|
|
|
} else {
|
|
for cdi, cdv := range outputData.CylindricalData {
|
|
if cdv.Name == normNameTotal {
|
|
outputData.CylindricalData[cdi].Data = append(outputData.CylindricalData[cdi].Data, sumScore)
|
|
}
|
|
}
|
|
}
|
|
normNameAverage := fmt.Sprintf("%v %v平均值", orgv.Name, normName)
|
|
if commonus.IsItTrueString(normNameAverage, outputData.Cylindrical) == false {
|
|
outputData.Cylindrical = append(outputData.Cylindrical, normNameAverage)
|
|
var seriesInfoAverage series
|
|
seriesInfoAverage.Name = normNameAverage
|
|
seriesInfoAverage.Data = append(seriesInfoAverage.Data, averageScore)
|
|
outputData.CylindricalData = append(outputData.CylindricalData, seriesInfoAverage)
|
|
} else {
|
|
for cdi, cdv := range outputData.CylindricalData {
|
|
if cdv.Name == normNameAverage {
|
|
outputData.CylindricalData[cdi].Data = append(outputData.CylindricalData[cdi].Data, averageScore)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} else {
|
|
//不存在行政组织
|
|
switch statisticalMethod {
|
|
case 1:
|
|
//合计
|
|
sumScore, _ := AverageOfSum(wherStr)
|
|
normNameTotal := fmt.Sprintf("%v总值", normName)
|
|
if commonus.IsItTrueString(normNameTotal, outputData.Cylindrical) == false {
|
|
outputData.Cylindrical = append(outputData.Cylindrical, normNameTotal)
|
|
var seriesInfo series
|
|
seriesInfo.Name = normNameTotal
|
|
seriesInfo.Data = append(seriesInfo.Data, sumScore)
|
|
outputData.CylindricalData = append(outputData.CylindricalData, seriesInfo)
|
|
|
|
} else {
|
|
for cdi, cdv := range outputData.CylindricalData {
|
|
if cdv.Name == normNameTotal {
|
|
outputData.CylindricalData[cdi].Data = append(outputData.CylindricalData[cdi].Data, sumScore)
|
|
}
|
|
}
|
|
}
|
|
case 2:
|
|
_, averageScore := AverageOfSum(wherStr, 1)
|
|
normNameAverage := fmt.Sprintf("%v平均值", normName)
|
|
if commonus.IsItTrueString(normNameAverage, outputData.Cylindrical) == false {
|
|
outputData.Cylindrical = append(outputData.Cylindrical, normNameAverage)
|
|
var seriesInfoAverage series
|
|
seriesInfoAverage.Name = normNameAverage
|
|
seriesInfoAverage.Data = append(seriesInfoAverage.Data, averageScore)
|
|
outputData.CylindricalData = append(outputData.CylindricalData, seriesInfoAverage)
|
|
} else {
|
|
for cdi, cdv := range outputData.CylindricalData {
|
|
if cdv.Name == normNameAverage {
|
|
outputData.CylindricalData[cdi].Data = append(outputData.CylindricalData[cdi].Data, averageScore)
|
|
}
|
|
}
|
|
}
|
|
default:
|
|
//合计与平均
|
|
sumScore, averageScore := AverageOfSum(wherStr, 1)
|
|
normNameTotal := fmt.Sprintf("%v总值", normName)
|
|
if commonus.IsItTrueString(normNameTotal, outputData.Cylindrical) == false {
|
|
outputData.Cylindrical = append(outputData.Cylindrical, normNameTotal)
|
|
var seriesInfo series
|
|
seriesInfo.Name = normNameTotal
|
|
seriesInfo.Data = append(seriesInfo.Data, sumScore)
|
|
outputData.CylindricalData = append(outputData.CylindricalData, seriesInfo)
|
|
|
|
} else {
|
|
for cdi, cdv := range outputData.CylindricalData {
|
|
if cdv.Name == normNameTotal {
|
|
outputData.CylindricalData[cdi].Data = append(outputData.CylindricalData[cdi].Data, sumScore)
|
|
}
|
|
}
|
|
}
|
|
normNameAverage := fmt.Sprintf("%v平均值", normName)
|
|
if commonus.IsItTrueString(normNameAverage, outputData.Cylindrical) == false {
|
|
outputData.Cylindrical = append(outputData.Cylindrical, normNameAverage)
|
|
var seriesInfoAverage series
|
|
seriesInfoAverage.Name = normNameAverage
|
|
seriesInfoAverage.Data = append(seriesInfoAverage.Data, averageScore)
|
|
outputData.CylindricalData = append(outputData.CylindricalData, seriesInfoAverage)
|
|
} else {
|
|
for cdi, cdv := range outputData.CylindricalData {
|
|
if cdv.Name == normNameAverage {
|
|
outputData.CylindricalData[cdi].Data = append(outputData.CylindricalData[cdi].Data, averageScore)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
default:
|
|
//全年
|
|
if commonus.IsItTrueString(tfv.XLine, outputData.XLine) == false {
|
|
outputData.XLine = append(outputData.XLine, tfv.XLine)
|
|
}
|
|
|
|
for _, tfwv := range tfv.Where {
|
|
wherStr := fmt.Sprintf("fld_evaluation_id = %v AND `fl_year` = %v", taskId, tfwv)
|
|
if len(dataAry.Org) > 0 {
|
|
//存在组织结构
|
|
_, orgList := getGroupOrg(dataAry.Org)
|
|
if len(orgList) > 0 {
|
|
for _, orgv := range orgList {
|
|
if orgv.Level <= 2 {
|
|
wherStr = fmt.Sprintf("%v AND `fl_duty_group` = %v", wherStr, orgv.Id)
|
|
} else {
|
|
wherStr = fmt.Sprintf("%v AND `fl_duty_department` = %v", wherStr, orgv.Id)
|
|
}
|
|
switch statisticalMethod {
|
|
case 1:
|
|
//合计
|
|
sumScore, _ := AverageOfSum(wherStr)
|
|
normNameTotal := fmt.Sprintf("%v %v总值", orgv.Name, normName)
|
|
if commonus.IsItTrueString(normNameTotal, outputData.Cylindrical) == false {
|
|
outputData.Cylindrical = append(outputData.Cylindrical, normNameTotal)
|
|
var seriesInfo series
|
|
seriesInfo.Name = normNameTotal
|
|
seriesInfo.Data = append(seriesInfo.Data, sumScore)
|
|
outputData.CylindricalData = append(outputData.CylindricalData, seriesInfo)
|
|
|
|
} else {
|
|
for cdi, cdv := range outputData.CylindricalData {
|
|
if cdv.Name == normNameTotal {
|
|
outputData.CylindricalData[cdi].Data = append(outputData.CylindricalData[cdi].Data, sumScore)
|
|
}
|
|
}
|
|
}
|
|
case 2:
|
|
_, averageScore := AverageOfSum(wherStr, 1)
|
|
normNameAverage := fmt.Sprintf("%v %v平均值", orgv.Name, normName)
|
|
if commonus.IsItTrueString(normNameAverage, outputData.Cylindrical) == false {
|
|
outputData.Cylindrical = append(outputData.Cylindrical, normNameAverage)
|
|
var seriesInfoAverage series
|
|
seriesInfoAverage.Name = normNameAverage
|
|
seriesInfoAverage.Data = append(seriesInfoAverage.Data, averageScore)
|
|
outputData.CylindricalData = append(outputData.CylindricalData, seriesInfoAverage)
|
|
} else {
|
|
for cdi, cdv := range outputData.CylindricalData {
|
|
if cdv.Name == normNameAverage {
|
|
outputData.CylindricalData[cdi].Data = append(outputData.CylindricalData[cdi].Data, averageScore)
|
|
}
|
|
}
|
|
}
|
|
default:
|
|
//合计与平均
|
|
sumScore, averageScore := AverageOfSum(wherStr, 1)
|
|
normNameTotal := fmt.Sprintf("%v %v总值", orgv.Name, normName)
|
|
if commonus.IsItTrueString(normNameTotal, outputData.Cylindrical) == false {
|
|
outputData.Cylindrical = append(outputData.Cylindrical, normNameTotal)
|
|
var seriesInfo series
|
|
seriesInfo.Name = normNameTotal
|
|
seriesInfo.Data = append(seriesInfo.Data, sumScore)
|
|
outputData.CylindricalData = append(outputData.CylindricalData, seriesInfo)
|
|
|
|
} else {
|
|
for cdi, cdv := range outputData.CylindricalData {
|
|
if cdv.Name == normNameTotal {
|
|
outputData.CylindricalData[cdi].Data = append(outputData.CylindricalData[cdi].Data, sumScore)
|
|
}
|
|
}
|
|
}
|
|
normNameAverage := fmt.Sprintf("%v %v平均值", orgv.Name, normName)
|
|
if commonus.IsItTrueString(normNameAverage, outputData.Cylindrical) == false {
|
|
outputData.Cylindrical = append(outputData.Cylindrical, normNameAverage)
|
|
var seriesInfoAverage series
|
|
seriesInfoAverage.Name = normNameAverage
|
|
seriesInfoAverage.Data = append(seriesInfoAverage.Data, averageScore)
|
|
outputData.CylindricalData = append(outputData.CylindricalData, seriesInfoAverage)
|
|
} else {
|
|
for cdi, cdv := range outputData.CylindricalData {
|
|
if cdv.Name == normNameAverage {
|
|
outputData.CylindricalData[cdi].Data = append(outputData.CylindricalData[cdi].Data, averageScore)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} else {
|
|
//不存在行政组织
|
|
switch statisticalMethod {
|
|
case 1:
|
|
//合计
|
|
sumScore, _ := AverageOfSum(wherStr)
|
|
normNameTotal := fmt.Sprintf("%v总值", normName)
|
|
if commonus.IsItTrueString(normNameTotal, outputData.Cylindrical) == false {
|
|
outputData.Cylindrical = append(outputData.Cylindrical, normNameTotal)
|
|
var seriesInfo series
|
|
seriesInfo.Name = normNameTotal
|
|
seriesInfo.Data = append(seriesInfo.Data, sumScore)
|
|
outputData.CylindricalData = append(outputData.CylindricalData, seriesInfo)
|
|
|
|
} else {
|
|
for cdi, cdv := range outputData.CylindricalData {
|
|
if cdv.Name == normNameTotal {
|
|
outputData.CylindricalData[cdi].Data = append(outputData.CylindricalData[cdi].Data, sumScore)
|
|
}
|
|
}
|
|
}
|
|
case 2:
|
|
_, averageScore := AverageOfSum(wherStr, 1)
|
|
normNameAverage := fmt.Sprintf("%v平均值", normName)
|
|
if commonus.IsItTrueString(normNameAverage, outputData.Cylindrical) == false {
|
|
outputData.Cylindrical = append(outputData.Cylindrical, normNameAverage)
|
|
var seriesInfoAverage series
|
|
seriesInfoAverage.Name = normNameAverage
|
|
seriesInfoAverage.Data = append(seriesInfoAverage.Data, averageScore)
|
|
outputData.CylindricalData = append(outputData.CylindricalData, seriesInfoAverage)
|
|
} else {
|
|
for cdi, cdv := range outputData.CylindricalData {
|
|
if cdv.Name == normNameAverage {
|
|
outputData.CylindricalData[cdi].Data = append(outputData.CylindricalData[cdi].Data, averageScore)
|
|
}
|
|
}
|
|
}
|
|
default:
|
|
//合计与平均
|
|
sumScore, averageScore := AverageOfSum(wherStr, 1)
|
|
normNameTotal := fmt.Sprintf("%v总值", normName)
|
|
if commonus.IsItTrueString(normNameTotal, outputData.Cylindrical) == false {
|
|
outputData.Cylindrical = append(outputData.Cylindrical, normNameTotal)
|
|
var seriesInfo series
|
|
seriesInfo.Name = normNameTotal
|
|
seriesInfo.Data = append(seriesInfo.Data, sumScore)
|
|
outputData.CylindricalData = append(outputData.CylindricalData, seriesInfo)
|
|
|
|
} else {
|
|
for cdi, cdv := range outputData.CylindricalData {
|
|
if cdv.Name == normNameTotal {
|
|
outputData.CylindricalData[cdi].Data = append(outputData.CylindricalData[cdi].Data, sumScore)
|
|
}
|
|
}
|
|
}
|
|
normNameAverage := fmt.Sprintf("%v平均值", normName)
|
|
if commonus.IsItTrueString(normNameAverage, outputData.Cylindrical) == false {
|
|
outputData.Cylindrical = append(outputData.Cylindrical, normNameAverage)
|
|
var seriesInfoAverage series
|
|
seriesInfoAverage.Name = normNameAverage
|
|
seriesInfoAverage.Data = append(seriesInfoAverage.Data, averageScore)
|
|
outputData.CylindricalData = append(outputData.CylindricalData, seriesInfoAverage)
|
|
} else {
|
|
for cdi, cdv := range outputData.CylindricalData {
|
|
if cdv.Name == normNameAverage {
|
|
outputData.CylindricalData[cdi].Data = append(outputData.CylindricalData[cdi].Data, averageScore)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
// fmt.Println(normName)
|
|
return
|
|
}
|
|
|