Browse Source

图表数据计算

v2
herenshan112 4 months ago
parent
commit
783fabf409
  1. 362
      api/version1/customChartesing/bar.go
  2. 104
      api/version1/customChartesing/pieChart.go
  3. 3
      api/version1/customerform/calendarData.go
  4. 8
      api/version1/customerform/formTableList.go

362
api/version1/customChartesing/bar.go

@ -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

104
api/version1/customChartesing/pieChart.go

@ -32,6 +32,7 @@ func (c *ChartInfo) pieChart(val interface{}, untis []customerform.MasterStruct,
func (c *ChartInfo) PieTimeDataAnaly(x XAxisInfo, y []YAxisInfo, val interface{}, chartType string) (charData SendPicInfo) {
tayTime := time.Now().Unix()
searchTime := c.JieXiSearchTime()
switch x.TimeType {
case "year":
yearVal := publicmethod.UnixTimeToDay(tayTime, 16)
@ -89,27 +90,57 @@ func (c *ChartInfo) PieTimeDataAnaly(x XAxisInfo, y []YAxisInfo, val interface{}
charData.AggregateCalculatingPic(pickName, newVal, y)
}
case "day":
yearVal := int(time.Now().Year())
tayTime := int(time.Now().Month())
dayTime := int(time.Now().Day())
var timeList []string
for i := 1; i <= tayTime; i++ {
for j := 1; j <= dayTime; j++ {
pickName := fmt.Sprintf("%v年%v月%v日", yearVal, i, j)
createTime := fmt.Sprintf("%v-%v-%v 00:00:00", yearVal, i, j)
if i < 10 {
if j < 10 {
createTime = fmt.Sprintf("%v-0%v-0%v 00:00:00", yearVal, i, j)
// fmt.Printf("饼图处理====>%v\n\n", searchTime)
if len(searchTime) <= 0 {
yearVal := int(time.Now().Year())
tayTime := int(time.Now().Month())
dayTime := int(time.Now().Day())
var timeList []string
for i := 1; i <= tayTime; i++ {
for j := 1; j <= dayTime; j++ {
pickName := fmt.Sprintf("%v年%v月%v日", yearVal, i, j)
createTime := fmt.Sprintf("%v-%v-%v 00:00:00", yearVal, i, j)
if i < 10 {
if j < 10 {
createTime = fmt.Sprintf("%v-0%v-0%v 00:00:00", yearVal, i, j)
} else {
createTime = fmt.Sprintf("%v-0%v-%v 00:00:00", yearVal, i, j)
}
} else {
createTime = fmt.Sprintf("%v-0%v-%v 00:00:00", yearVal, i, j)
if j < 10 {
createTime = fmt.Sprintf("%v-%v-0%v 00:00:00", yearVal, i, j)
} else {
createTime = fmt.Sprintf("%v-%v-%v 00:00:00", yearVal, i, j)
}
}
} else {
if j < 10 {
createTime = fmt.Sprintf("%v-%v-0%v 00:00:00", yearVal, i, j)
} else {
createTime = fmt.Sprintf("%v-%v-%v 00:00:00", yearVal, i, j)
tayTime := publicmethod.DateToTimeStampOld(createTime)
startTime, endTime := publicmethod.TimeUnixDayStartAndEnd(tayTime)
var newVal []map[string]interface{}
if yVal, isOk := val.([]map[string]interface{}); isOk {
for _, mv := range yVal {
if xVal, isOk := mv[x.Field]; isOk {
pageTime, _ := publicmethod.StringToInt64(xVal)
if publicmethod.GetIntLength(pageTime) >= 13 {
startTime = startTime * 1000
endTime = endTime * 1000
}
if startTime <= pageTime && pageTime <= endTime {
newVal = append(newVal, mv)
}
}
}
}
timeList = append(timeList, pickName)
charData.picMasterDataAnaly(x.Field, x.Field, pickName, newVal)
charData.AggregateCalculatingPic(pickName, newVal, y)
}
}
} else {
// var timeList []string
for _, v := range searchTime {
createTime := fmt.Sprintf("%v 00:00:00", v)
// fmt.Printf("时间智慧--->%v\n\n", createTime)
tayTime := publicmethod.DateToTimeStampOld(createTime)
startTime, endTime := publicmethod.TimeUnixDayStartAndEnd(tayTime)
var newVal []map[string]interface{}
@ -117,21 +148,36 @@ func (c *ChartInfo) PieTimeDataAnaly(x XAxisInfo, y []YAxisInfo, val interface{}
for _, mv := range yVal {
if xVal, isOk := mv[x.Field]; isOk {
pageTime, _ := publicmethod.StringToInt64(xVal)
// if publicmethod.GetIntLength(pageTime) >= 13 {
// startTime = startTime * 1000
// endTime = endTime * 1000
// }
var begTime int64
var eldTime int64
if publicmethod.GetIntLength(pageTime) >= 13 {
startTime = startTime * 1000
endTime = endTime * 1000
begTime = startTime * 1000
eldTime = endTime * 1000
} else {
begTime = startTime
eldTime = endTime
}
if startTime <= pageTime && pageTime <= endTime {
// fmt.Printf("时间炼狱:%v-----------%v-----%v\n\n", publicmethod.UnixTimeToDay(begTime/1000, 1), publicmethod.UnixTimeToDay(pageTime/1000, 1), publicmethod.UnixTimeToDay(eldTime/1000, 1))
if begTime <= pageTime && pageTime <= eldTime {
newVal = append(newVal, mv)
}
}
}
}
timeList = append(timeList, pickName)
charData.picMasterDataAnaly(x.Field, x.Field, pickName, newVal)
charData.AggregateCalculatingPic(pickName, newVal, y)
// dfhjk, _ := json.Marshal(newVal)
// fmt.Printf("时间炼狱:%v-----1------%v\n\n", v, string(dfhjk))
charData.picMasterDataAnaly(x.Field, x.Field, v, newVal)
charData.AggregateCalculatingPic(v, newVal, y)
}
}
case "hour":
tayTime := time.Now().Unix()
ymdhVal := publicmethod.UnixTimeToDay(tayTime, 14)
@ -290,6 +336,13 @@ func (c *ChartInfo) PieTimeDataAnaly(x XAxisInfo, y []YAxisInfo, val interface{}
charData.AggregateCalculatingPic(pickName, newVal, y)
}
}
for i, v := range charData.MasterData {
for _, ov := range charData.OtherData {
if v.Name == ov.FathreName {
charData.MasterData[i].Value = ov.Toolval
}
}
}
return
}
@ -320,13 +373,14 @@ func (c *ChartInfo) PieDataAnaly(x XAxisInfo, y []YAxisInfo, val interface{}, ch
// 处理主数据
func (s *SendPicInfo) picMasterDataAnaly(xField, keyName string, fathreName, val interface{}) {
// fmt.Printf("处理主数据----->%v-----------%v\n\n\n", keyName, fathreName)
fmt.Printf("处理主数据----->%v-----------%v\n\n\n", keyName, fathreName)
if yVal, isOk := val.([]map[string]interface{}); isOk {
jsq := 0
var masterInfo PicChartInfo
masterInfo.Name = publicmethod.TypeToInterface(fathreName)
for _, mv := range yVal {
if xVal, isOk := mv[xField]; isOk {
fmt.Printf("处理主数据--2323--->%v-----------%v\n\n\n", xVal, fathreName)
xValStr := publicmethod.TypeToInterface(xVal)
if xValStr == keyName {
jsq++
@ -336,6 +390,7 @@ func (s *SendPicInfo) picMasterDataAnaly(xField, keyName string, fathreName, val
masterInfo.Value = jsq
s.MasterData = append(s.MasterData, masterInfo)
}
}
/*
@ -480,6 +535,7 @@ func (o *OtherDataInfo) sumDataes(yField string, val interface{}, format int) {
for _, mv := range yVal {
if vVal, isOk := mv[yField]; isOk {
minVal, err := strconv.ParseFloat(publicmethod.TypeToInterface(vVal), 64)
// fmt.Printf("字段---》%v----%v\n\n", yField, minVal)
if err == nil {
sumVal = sumVal + minVal
}

3
api/version1/customerform/calendarData.go

@ -133,7 +133,8 @@ func (c *CalendarList) HaveEveryDayData(day TimeAryInfo, tableName string, userC
gormDb := overall.CONSTANT_DB_CustomerForm.Table(tableName).Select("f.*,t.status as taskStatus,t.runFlowId")
gormDb = gormDb.Joins("LEFT JOIN `taskrecord` as t ON f.masters_key = t.masters_key")
gormDb = gormDb.Where("f.`creater` = ? ", userCont.Key)
gormDb = gormDb.Where("f.`states` BETWEEN ? AND ?", 1, 2)
// gormDb = gormDb.Where("f.`states` BETWEEN ? AND ?", 1, 2)
gormDb = gormDb.Where("f.`states` = ?", 1)
gormDb = AnalysisSerachTermSqlIng(listField, gormDb) //将查询条件转换成
startTime, endTime := publicmethod.OenDayStartOrEndTime(day.Date, 1)
if class, isOk := viewCondition["date"]; isOk { //解析视图设定参数

8
api/version1/customerform/formTableList.go

@ -87,8 +87,9 @@ func (a *ApiMethod) GainFormPageListContNew(c *gin.Context) {
}
//Step 2 使用数据源处理数据
gormDb := sqlDborm.Table(formJsonCont.Form.DataSourceConfig.TableKey) //确定使用哪个库
gormDb = gormDb.Where("`states` BETWEEN ? AND ?", 1, 2) //基础查询条件
gormDb = AnalysisSerachTermSql(requestData.SearchData, gormDb) //处理查询条件
gormDb = gormDb.Where("`states` = ?", 1) //基础查询条件
// gormDb = gormDb.Where("`states` BETWEEN ? AND ?", 1, 2)
gormDb = AnalysisSerachTermSql(requestData.SearchData, gormDb) //处理查询条件
//Step 3 权限处理
var powerSearch publicmethod.GainUserPower
powerSearch.SystemName = "appsystem" //系统名称
@ -168,7 +169,8 @@ func (a *ApiMethod) GainFormPageListContNew(c *gin.Context) {
tableName := fmt.Sprintf("`%v` as f", formInfo.TableKey)
gormDb := overall.CONSTANT_DB_CustomerForm.Table(tableName).Select("f.*,t.status as taskStatus,t.runFlowId")
gormDb = gormDb.Joins("LEFT JOIN `taskrecord` as t ON f.masters_key = t.masters_key")
gormDb = gormDb.Where("f.`states` BETWEEN ? AND ?", 1, 2) //基础查询条件
// gormDb = gormDb.Where("f.`states` BETWEEN ? AND ?", 1, 2) //基础查询条件
gormDb = gormDb.Where("f.`states` = ?", 1) //基础查询条件
gormDb = AnalysisSerachTermSql(requestData.SearchData, gormDb) //处理查询条件
//Step 2 权限处理
var powerSearch publicmethod.GainUserPower

Loading…
Cancel
Save