|
|
|
@ -146,6 +146,7 @@ func (c *ChartInfo) TimeDataAnaly(x XAxisInfo, y []YAxisInfo, val interface{}, c |
|
|
|
func (b *BarDataInfo) NewCalculateNumericalValues(y []YAxisInfo, val interface{}, xField, chartType string, types string, lenght int, timeAry []string) { |
|
|
|
|
|
|
|
for _, v := range y { |
|
|
|
// if i == 0 {
|
|
|
|
var seriesInfo SeriesList |
|
|
|
seriesInfo.Name = v.OldTitle |
|
|
|
seriesInfo.Types = chartType |
|
|
|
@ -173,6 +174,8 @@ func (b *BarDataInfo) NewCalculateNumericalValues(y []YAxisInfo, val interface{} |
|
|
|
// }
|
|
|
|
// }
|
|
|
|
b.Series = append(b.Series, seriesInfo) |
|
|
|
// }
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@ -228,25 +231,35 @@ func (s *SeriesList) QuPingjunSumData(startTime, endTime int64, val interface{}, |
|
|
|
var sumVal float64 |
|
|
|
jibuqi := 0 |
|
|
|
for _, mv := range yVal { |
|
|
|
if yVal, isOk := mv[yField]; isOk { |
|
|
|
if xVal, isOk := mv[xField]; isOk { |
|
|
|
pageTime, _ := publicmethod.StringToInt64(xVal) |
|
|
|
if publicmethod.GetIntLength(pageTime) >= 13 { |
|
|
|
startTime = startTime * 1000 |
|
|
|
endTime = endTime * 1000 |
|
|
|
} |
|
|
|
if startTime <= pageTime && pageTime <= endTime { |
|
|
|
minVal, err := strconv.ParseFloat(publicmethod.TypeToInterface(yVal), 64) |
|
|
|
if xVal, isOk := mv[xField]; isOk { |
|
|
|
pageTime, _ := publicmethod.StringToInt64(xVal) |
|
|
|
var begTime int64 |
|
|
|
var eldTime int64 |
|
|
|
if publicmethod.GetIntLength(pageTime) >= 13 { |
|
|
|
begTime = startTime * 1000 |
|
|
|
eldTime = endTime * 1000 |
|
|
|
} else { |
|
|
|
begTime = startTime |
|
|
|
eldTime = startTime |
|
|
|
} |
|
|
|
// fmt.Printf("时间数组:\n\n%v==2====1==2=====>%v==2=====>%v\n\n", begTime, eldTime, pageTime)
|
|
|
|
// fmt.Printf("技术只:\n\n%v======3=======>%v\n\n", begTime <= pageTime, pageTime <= endTime)
|
|
|
|
if begTime <= pageTime && pageTime <= eldTime { |
|
|
|
// fmt.Printf("技术只:\n\n%v======1=======>%v\n\n", yField, pageTime)
|
|
|
|
if yzVal, isOk := mv[yField]; isOk { |
|
|
|
minVal, err := strconv.ParseFloat(publicmethod.TypeToInterface(yzVal), 64) |
|
|
|
if err == nil { |
|
|
|
sumVal = sumVal + minVal |
|
|
|
jibuqi++ |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
// fmt.Printf("时间数组:\n\n%v======1=======>%v\n\n", yField, pageTime)
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
// fmt.Printf("时间数组:\n\n%v======1=======>%v======1=======>%v======1=======>%v\n\n", publicmethod.UnixTimeToDay(startTime, 14), xField, yField, sumVal)
|
|
|
|
// jieguo = publicmethod.DataChuli(sumVal, format)
|
|
|
|
if jibuqi > 0 { |
|
|
|
avgVal := sumVal / float64(jibuqi) |
|
|
|
jieguo = publicmethod.DataChuli(avgVal, format) |
|
|
|
@ -255,6 +268,37 @@ func (s *SeriesList) QuPingjunSumData(startTime, endTime int64, val interface{}, |
|
|
|
jieguo = publicmethod.DataChuli(sumVal, format) |
|
|
|
} |
|
|
|
} |
|
|
|
// if yVal, isOk := val.([]map[string]interface{}); isOk {
|
|
|
|
// var sumVal float64
|
|
|
|
// jibuqi := 0
|
|
|
|
// for _, mv := range yVal {
|
|
|
|
// if yVal, isOk := mv[yField]; isOk {
|
|
|
|
// if xVal, isOk := mv[xField]; isOk {
|
|
|
|
// pageTime, _ := publicmethod.StringToInt64(xVal)
|
|
|
|
// if publicmethod.GetIntLength(pageTime) >= 13 {
|
|
|
|
// startTime = startTime * 1000
|
|
|
|
// endTime = endTime * 1000
|
|
|
|
// }
|
|
|
|
// if startTime <= pageTime && pageTime <= endTime {
|
|
|
|
// minVal, err := strconv.ParseFloat(publicmethod.TypeToInterface(yVal), 64)
|
|
|
|
// if err == nil {
|
|
|
|
// sumVal = sumVal + minVal
|
|
|
|
// jibuqi++
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// }
|
|
|
|
// if jibuqi > 0 {
|
|
|
|
// avgVal := sumVal / float64(jibuqi)
|
|
|
|
// jieguo = publicmethod.DataChuli(avgVal, format)
|
|
|
|
|
|
|
|
// } else {
|
|
|
|
// jieguo = publicmethod.DataChuli(sumVal, format)
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
@ -306,28 +350,59 @@ func (s *SeriesList) NewStatisticalQuantity(xField, yField, types string, val in |
|
|
|
s.Data = monthAry |
|
|
|
} |
|
|
|
func (s *SeriesList) QuJishuData(startTime, endTime int64, val interface{}, xField, yField string, format int) (jieguo interface{}) { |
|
|
|
// if yVal, isOk := val.([]map[string]interface{}); isOk {
|
|
|
|
// var valAry []float64
|
|
|
|
// for _, mv := range yVal {
|
|
|
|
// if yVal, isOk := mv[yField]; isOk {
|
|
|
|
// if xVal, isOk := mv[xField]; isOk {
|
|
|
|
// pageTime, _ := publicmethod.StringToInt64(xVal)
|
|
|
|
// if publicmethod.GetIntLength(pageTime) >= 13 {
|
|
|
|
// startTime = startTime * 1000
|
|
|
|
// endTime = endTime * 1000
|
|
|
|
// }
|
|
|
|
// if startTime <= pageTime && pageTime <= endTime {
|
|
|
|
// minVal, err := strconv.ParseFloat(publicmethod.TypeToInterface(yVal), 64)
|
|
|
|
// if err == nil {
|
|
|
|
|
|
|
|
// valAry = append(valAry, minVal)
|
|
|
|
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// }
|
|
|
|
// jieguo = len(valAry)
|
|
|
|
// }
|
|
|
|
if yVal, isOk := val.([]map[string]interface{}); isOk { |
|
|
|
var valAry []float64 |
|
|
|
for _, mv := range yVal { |
|
|
|
if yVal, isOk := mv[yField]; isOk { |
|
|
|
if xVal, isOk := mv[xField]; isOk { |
|
|
|
pageTime, _ := publicmethod.StringToInt64(xVal) |
|
|
|
if publicmethod.GetIntLength(pageTime) >= 13 { |
|
|
|
startTime = startTime * 1000 |
|
|
|
endTime = endTime * 1000 |
|
|
|
} |
|
|
|
if startTime <= pageTime && pageTime <= endTime { |
|
|
|
minVal, err := strconv.ParseFloat(publicmethod.TypeToInterface(yVal), 64) |
|
|
|
if xVal, isOk := mv[xField]; isOk { |
|
|
|
pageTime, _ := publicmethod.StringToInt64(xVal) |
|
|
|
var begTime int64 |
|
|
|
var eldTime int64 |
|
|
|
if publicmethod.GetIntLength(pageTime) >= 13 { |
|
|
|
begTime = startTime * 1000 |
|
|
|
eldTime = endTime * 1000 |
|
|
|
} else { |
|
|
|
begTime = startTime |
|
|
|
eldTime = startTime |
|
|
|
} |
|
|
|
// fmt.Printf("时间数组:\n\n%v==2====1==2=====>%v==2=====>%v\n\n", begTime, eldTime, pageTime)
|
|
|
|
// fmt.Printf("技术只:\n\n%v======3=======>%v\n\n", begTime <= pageTime, pageTime <= endTime)
|
|
|
|
if begTime <= pageTime && pageTime <= eldTime { |
|
|
|
// fmt.Printf("技术只:\n\n%v======1=======>%v\n\n", yField, pageTime)
|
|
|
|
if yzVal, isOk := mv[yField]; isOk { |
|
|
|
minVal, err := strconv.ParseFloat(publicmethod.TypeToInterface(yzVal), 64) |
|
|
|
if err == nil { |
|
|
|
|
|
|
|
valAry = append(valAry, minVal) |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
// fmt.Printf("时间数组:\n\n%v======1=======>%v\n\n", yField, pageTime)
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
jieguo = len(valAry) |
|
|
|
} |
|
|
|
@ -382,28 +457,61 @@ func (s *SeriesList) NewRemoveDuplicateCounts(xField, yField, types string, val |
|
|
|
s.Data = monthAry |
|
|
|
} |
|
|
|
func (s *SeriesList) QuChongData(startTime, endTime int64, val interface{}, xField, yField string, format int) (jieguo interface{}) { |
|
|
|
// if yVal, isOk := val.([]map[string]interface{}); isOk {
|
|
|
|
// var valAry []float64
|
|
|
|
// for _, mv := range yVal {
|
|
|
|
// if yVal, isOk := mv[yField]; isOk {
|
|
|
|
// if xVal, isOk := mv[xField]; isOk {
|
|
|
|
// pageTime, _ := publicmethod.StringToInt64(xVal)
|
|
|
|
// if publicmethod.GetIntLength(pageTime) >= 13 {
|
|
|
|
// startTime = startTime * 1000
|
|
|
|
// endTime = endTime * 1000
|
|
|
|
// }
|
|
|
|
// if startTime <= pageTime && pageTime <= endTime {
|
|
|
|
// minVal, err := strconv.ParseFloat(publicmethod.TypeToInterface(yVal), 64)
|
|
|
|
// if err == nil {
|
|
|
|
// if !publicmethod.IsInTrue[float64](minVal, valAry) {
|
|
|
|
// valAry = append(valAry, minVal)
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// }
|
|
|
|
// jieguo = len(valAry)
|
|
|
|
// }
|
|
|
|
if yVal, isOk := val.([]map[string]interface{}); isOk { |
|
|
|
var valAry []float64 |
|
|
|
for _, mv := range yVal { |
|
|
|
if yVal, isOk := mv[yField]; isOk { |
|
|
|
if xVal, isOk := mv[xField]; isOk { |
|
|
|
pageTime, _ := publicmethod.StringToInt64(xVal) |
|
|
|
if publicmethod.GetIntLength(pageTime) >= 13 { |
|
|
|
startTime = startTime * 1000 |
|
|
|
endTime = endTime * 1000 |
|
|
|
} |
|
|
|
if startTime <= pageTime && pageTime <= endTime { |
|
|
|
minVal, err := strconv.ParseFloat(publicmethod.TypeToInterface(yVal), 64) |
|
|
|
if xVal, isOk := mv[xField]; isOk { |
|
|
|
pageTime, _ := publicmethod.StringToInt64(xVal) |
|
|
|
var begTime int64 |
|
|
|
var eldTime int64 |
|
|
|
if publicmethod.GetIntLength(pageTime) >= 13 { |
|
|
|
begTime = startTime * 1000 |
|
|
|
eldTime = endTime * 1000 |
|
|
|
} else { |
|
|
|
begTime = startTime |
|
|
|
eldTime = startTime |
|
|
|
} |
|
|
|
// fmt.Printf("时间数组:\n\n%v==2====1==2=====>%v==2=====>%v\n\n", begTime, eldTime, pageTime)
|
|
|
|
// fmt.Printf("技术只:\n\n%v======3=======>%v\n\n", begTime <= pageTime, pageTime <= endTime)
|
|
|
|
if begTime <= pageTime && pageTime <= eldTime { |
|
|
|
// fmt.Printf("技术只:\n\n%v======1=======>%v\n\n", yField, pageTime)
|
|
|
|
if yzVal, isOk := mv[yField]; isOk { |
|
|
|
minVal, err := strconv.ParseFloat(publicmethod.TypeToInterface(yzVal), 64) |
|
|
|
if err == nil { |
|
|
|
if !publicmethod.IsInTrue[float64](minVal, valAry) { |
|
|
|
valAry = append(valAry, minVal) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
// fmt.Printf("时间数组:\n\n%v======1=======>%v\n\n", yField, pageTime)
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
jieguo = len(valAry) |
|
|
|
} |
|
|
|
@ -458,18 +566,56 @@ func (s *SeriesList) NewmaxData(xField, yField, types string, val interface{}, f |
|
|
|
s.Data = monthAry |
|
|
|
} |
|
|
|
func (s *SeriesList) QuMaxData(startTime, endTime int64, val interface{}, xField, yField string, format int) (jieguo interface{}) { |
|
|
|
// if yVal, isOk := val.([]map[string]interface{}); isOk {
|
|
|
|
// var sumVal float64
|
|
|
|
// for i, mv := range yVal {
|
|
|
|
// if yVal, isOk := mv[yField]; isOk {
|
|
|
|
// if xVal, isOk := mv[xField]; isOk {
|
|
|
|
// pageTime, _ := publicmethod.StringToInt64(xVal)
|
|
|
|
// if publicmethod.GetIntLength(pageTime) >= 13 {
|
|
|
|
// startTime = startTime * 1000
|
|
|
|
// endTime = endTime * 1000
|
|
|
|
// }
|
|
|
|
// if startTime <= pageTime && pageTime <= endTime {
|
|
|
|
// minVal, err := strconv.ParseFloat(publicmethod.TypeToInterface(yVal), 64)
|
|
|
|
// if err == nil {
|
|
|
|
// if i == 0 {
|
|
|
|
// sumVal = minVal
|
|
|
|
// } else {
|
|
|
|
// if sumVal <= minVal {
|
|
|
|
// sumVal = minVal
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// }
|
|
|
|
// jieguo = publicmethod.DataChuli(sumVal, format)
|
|
|
|
// }
|
|
|
|
if yVal, isOk := val.([]map[string]interface{}); isOk { |
|
|
|
var sumVal float64 |
|
|
|
for i, mv := range yVal { |
|
|
|
if yVal, isOk := mv[yField]; isOk { |
|
|
|
if xVal, isOk := mv[xField]; isOk { |
|
|
|
pageTime, _ := publicmethod.StringToInt64(xVal) |
|
|
|
if publicmethod.GetIntLength(pageTime) >= 13 { |
|
|
|
startTime = startTime * 1000 |
|
|
|
endTime = endTime * 1000 |
|
|
|
} |
|
|
|
if startTime <= pageTime && pageTime <= endTime { |
|
|
|
minVal, err := strconv.ParseFloat(publicmethod.TypeToInterface(yVal), 64) |
|
|
|
if xVal, isOk := mv[xField]; isOk { |
|
|
|
pageTime, _ := publicmethod.StringToInt64(xVal) |
|
|
|
var begTime int64 |
|
|
|
var eldTime int64 |
|
|
|
if publicmethod.GetIntLength(pageTime) >= 13 { |
|
|
|
begTime = startTime * 1000 |
|
|
|
eldTime = endTime * 1000 |
|
|
|
} else { |
|
|
|
begTime = startTime |
|
|
|
eldTime = startTime |
|
|
|
} |
|
|
|
// fmt.Printf("时间数组:\n\n%v==2====1==2=====>%v==2=====>%v\n\n", begTime, eldTime, pageTime)
|
|
|
|
// fmt.Printf("技术只:\n\n%v======3=======>%v\n\n", begTime <= pageTime, pageTime <= endTime)
|
|
|
|
if begTime <= pageTime && pageTime <= eldTime { |
|
|
|
// fmt.Printf("技术只:\n\n%v======1=======>%v\n\n", yField, pageTime)
|
|
|
|
if yzVal, isOk := mv[yField]; isOk { |
|
|
|
minVal, err := strconv.ParseFloat(publicmethod.TypeToInterface(yzVal), 64) |
|
|
|
if err == nil { |
|
|
|
if i == 0 { |
|
|
|
sumVal = minVal |
|
|
|
@ -478,13 +624,12 @@ func (s *SeriesList) QuMaxData(startTime, endTime int64, val interface{}, xField |
|
|
|
sumVal = minVal |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
// fmt.Printf("时间数组:\n\n%v======1=======>%v\n\n", yField, pageTime)
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
jieguo = publicmethod.DataChuli(sumVal, format) |
|
|
|
} |
|
|
|
@ -539,18 +684,56 @@ func (s *SeriesList) NewminData(xField, yField, types string, val interface{}, f |
|
|
|
s.Data = monthAry |
|
|
|
} |
|
|
|
func (s *SeriesList) QuMinData(startTime, endTime int64, val interface{}, xField, yField string, format int) (jieguo interface{}) { |
|
|
|
// if yVal, isOk := val.([]map[string]interface{}); isOk {
|
|
|
|
// var sumVal float64
|
|
|
|
// for i, mv := range yVal {
|
|
|
|
// if yVal, isOk := mv[yField]; isOk {
|
|
|
|
// if xVal, isOk := mv[xField]; isOk {
|
|
|
|
// pageTime, _ := publicmethod.StringToInt64(xVal)
|
|
|
|
// if publicmethod.GetIntLength(pageTime) >= 13 {
|
|
|
|
// startTime = startTime * 1000
|
|
|
|
// endTime = endTime * 1000
|
|
|
|
// }
|
|
|
|
// if startTime <= pageTime && pageTime <= endTime {
|
|
|
|
// minVal, err := strconv.ParseFloat(publicmethod.TypeToInterface(yVal), 64)
|
|
|
|
// if err == nil {
|
|
|
|
// if i == 0 {
|
|
|
|
// sumVal = minVal
|
|
|
|
// } else {
|
|
|
|
// if sumVal >= minVal {
|
|
|
|
// sumVal = minVal
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// }
|
|
|
|
// jieguo = publicmethod.DataChuli(sumVal, format)
|
|
|
|
// }
|
|
|
|
if yVal, isOk := val.([]map[string]interface{}); isOk { |
|
|
|
var sumVal float64 |
|
|
|
for i, mv := range yVal { |
|
|
|
if yVal, isOk := mv[yField]; isOk { |
|
|
|
if xVal, isOk := mv[xField]; isOk { |
|
|
|
pageTime, _ := publicmethod.StringToInt64(xVal) |
|
|
|
if publicmethod.GetIntLength(pageTime) >= 13 { |
|
|
|
startTime = startTime * 1000 |
|
|
|
endTime = endTime * 1000 |
|
|
|
} |
|
|
|
if startTime <= pageTime && pageTime <= endTime { |
|
|
|
minVal, err := strconv.ParseFloat(publicmethod.TypeToInterface(yVal), 64) |
|
|
|
if xVal, isOk := mv[xField]; isOk { |
|
|
|
pageTime, _ := publicmethod.StringToInt64(xVal) |
|
|
|
var begTime int64 |
|
|
|
var eldTime int64 |
|
|
|
if publicmethod.GetIntLength(pageTime) >= 13 { |
|
|
|
begTime = startTime * 1000 |
|
|
|
eldTime = endTime * 1000 |
|
|
|
} else { |
|
|
|
begTime = startTime |
|
|
|
eldTime = startTime |
|
|
|
} |
|
|
|
// fmt.Printf("时间数组:\n\n%v==2====1==2=====>%v==2=====>%v\n\n", begTime, eldTime, pageTime)
|
|
|
|
// fmt.Printf("技术只:\n\n%v======3=======>%v\n\n", begTime <= pageTime, pageTime <= endTime)
|
|
|
|
if begTime <= pageTime && pageTime <= eldTime { |
|
|
|
// fmt.Printf("技术只:\n\n%v======1=======>%v\n\n", yField, pageTime)
|
|
|
|
if yzVal, isOk := mv[yField]; isOk { |
|
|
|
minVal, err := strconv.ParseFloat(publicmethod.TypeToInterface(yzVal), 64) |
|
|
|
if err == nil { |
|
|
|
if i == 0 { |
|
|
|
sumVal = minVal |
|
|
|
@ -559,13 +742,12 @@ func (s *SeriesList) QuMinData(startTime, endTime int64, val interface{}, xField |
|
|
|
sumVal = minVal |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
// fmt.Printf("时间数组:\n\n%v======1=======>%v\n\n", yField, pageTime)
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
jieguo = publicmethod.DataChuli(sumVal, format) |
|
|
|
} |
|
|
|
@ -585,8 +767,10 @@ func (s *SeriesList) QuMinData(startTime, endTime int64, val interface{}, xField |
|
|
|
#timeAry 时间数组 |
|
|
|
*/ |
|
|
|
func (s *SeriesList) NewsumData(xField, yField, types string, val interface{}, format int, timeAry []string) { |
|
|
|
|
|
|
|
var monthAry []interface{} |
|
|
|
for _, v := range timeAry { |
|
|
|
// if i == 0 {
|
|
|
|
switch types { |
|
|
|
case "year": |
|
|
|
startTime := publicmethod.DateToTimeStampOld(fmt.Sprintf("%v-01-01 00:00:00", v)) |
|
|
|
@ -602,6 +786,7 @@ func (s *SeriesList) NewsumData(xField, yField, types string, val interface{}, f |
|
|
|
startTime := publicmethod.DateToTimeStampOld(fmt.Sprintf("%v 00:00:00", v)) |
|
|
|
endTime := publicmethod.DateToTimeStampOld(fmt.Sprintf("%v 23:59:59", v)) |
|
|
|
monthAry = append(monthAry, s.QuSumData(startTime, endTime, val, xField, yField, format)) |
|
|
|
fmt.Printf("计算一天的数据:\n\n%v 到 %v 结果:%v\n\n", startTime, endTime, monthAry) |
|
|
|
case "hour": |
|
|
|
startTime := publicmethod.DateToTimeStampOld(fmt.Sprintf("%v:00:00", v)) |
|
|
|
endTime := publicmethod.DateToTimeStampOld(fmt.Sprintf("%v:59:59", v)) |
|
|
|
@ -616,31 +801,68 @@ func (s *SeriesList) NewsumData(xField, yField, types string, val interface{}, f |
|
|
|
monthAry = append(monthAry, s.QuSumData(startTime, endTime, val, xField, yField, format)) |
|
|
|
default: |
|
|
|
} |
|
|
|
// }
|
|
|
|
|
|
|
|
} |
|
|
|
s.Data = monthAry |
|
|
|
} |
|
|
|
func (s *SeriesList) QuSumData(startTime, endTime int64, val interface{}, xField, yField string, format int) (jieguo interface{}) { |
|
|
|
// if yVal, isOk := val.([]map[string]interface{}); isOk {
|
|
|
|
// var sumVal float64
|
|
|
|
// for _, mv := range yVal {
|
|
|
|
// if yVal, isOk := mv[yField]; isOk {
|
|
|
|
// fmt.Printf("要查询的字段:%v====y=====>%v\n", yField, yVal)
|
|
|
|
// if xVal, isOk := mv[xField]; isOk {
|
|
|
|
// fmt.Printf("要查询的字段:%v====x=====>%v\n", xField, xVal)
|
|
|
|
// pageTime, _ := publicmethod.StringToInt64(xVal)
|
|
|
|
// if publicmethod.GetIntLength(pageTime) >= 13 {
|
|
|
|
// startTime = startTime * 1000
|
|
|
|
// endTime = endTime * 1000
|
|
|
|
// }
|
|
|
|
// if startTime <= pageTime && pageTime <= endTime {
|
|
|
|
// minVal, err := strconv.ParseFloat(publicmethod.TypeToInterface(yVal), 64)
|
|
|
|
// if err == nil {
|
|
|
|
// sumVal = sumVal + minVal
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// }
|
|
|
|
// jieguo = publicmethod.DataChuli(sumVal, format)
|
|
|
|
// }
|
|
|
|
// fmt.Printf("时间数组:\n\n%v======3=======>%v\n\n", startTime, endTime)
|
|
|
|
if yVal, isOk := val.([]map[string]interface{}); isOk { |
|
|
|
var sumVal float64 |
|
|
|
for _, mv := range yVal { |
|
|
|
if yVal, isOk := mv[yField]; isOk { |
|
|
|
if xVal, isOk := mv[xField]; isOk { |
|
|
|
pageTime, _ := publicmethod.StringToInt64(xVal) |
|
|
|
if publicmethod.GetIntLength(pageTime) >= 13 { |
|
|
|
startTime = startTime * 1000 |
|
|
|
endTime = endTime * 1000 |
|
|
|
} |
|
|
|
if startTime <= pageTime && pageTime <= endTime { |
|
|
|
minVal, err := strconv.ParseFloat(publicmethod.TypeToInterface(yVal), 64) |
|
|
|
if xVal, isOk := mv[xField]; isOk { |
|
|
|
pageTime, _ := publicmethod.StringToInt64(xVal) |
|
|
|
var begTime int64 |
|
|
|
var eldTime int64 |
|
|
|
if publicmethod.GetIntLength(pageTime) >= 13 { |
|
|
|
begTime = startTime * 1000 |
|
|
|
eldTime = endTime * 1000 |
|
|
|
} else { |
|
|
|
begTime = startTime |
|
|
|
eldTime = endTime |
|
|
|
} |
|
|
|
// fmt.Printf("时间数组:\n\n%v==2====1==2=====>%v==2=====>%v\n\n", begTime, eldTime, pageTime)
|
|
|
|
// fmt.Printf("技术只:\n\n%v======3=======>%v\n\n", begTime <= pageTime, pageTime <= endTime)
|
|
|
|
if begTime <= pageTime && pageTime <= eldTime { |
|
|
|
// fmt.Printf("技术只:\n\n%v======1=======>%v\n\n", yField, pageTime)
|
|
|
|
if yzVal, isOk := mv[yField]; isOk { |
|
|
|
minVal, err := strconv.ParseFloat(publicmethod.TypeToInterface(yzVal), 64) |
|
|
|
if err == nil { |
|
|
|
sumVal = sumVal + minVal |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
// fmt.Printf("时间数组:\n\n%v======1=======>%v\n\n", yField, pageTime)
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
fmt.Printf("时间数组:\n\n%v======1=======>%v======1=======>%v======1=======>%v\n\n", publicmethod.UnixTimeToDay(startTime, 14), xField, yField, sumVal) |
|
|
|
jieguo = publicmethod.DataChuli(sumVal, format) |
|
|
|
} |
|
|
|
return |
|
|
|
|