From 783fabf409f5a9e299d149edf5c937efcd365068 Mon Sep 17 00:00:00 2001 From: herenshan112 Date: Mon, 4 Aug 2025 16:28:45 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9B=BE=E8=A1=A8=E6=95=B0=E6=8D=AE=E8=AE=A1?= =?UTF-8?q?=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/version1/customChartesing/bar.go | 362 +++++++++++++++++---- api/version1/customChartesing/pieChart.go | 104 ++++-- api/version1/customerform/calendarData.go | 3 +- api/version1/customerform/formTableList.go | 8 +- 4 files changed, 379 insertions(+), 98 deletions(-) diff --git a/api/version1/customChartesing/bar.go b/api/version1/customChartesing/bar.go index 004959e..8706080 100644 --- a/api/version1/customChartesing/bar.go +++ b/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 diff --git a/api/version1/customChartesing/pieChart.go b/api/version1/customChartesing/pieChart.go index 2010d36..26d93f9 100644 --- a/api/version1/customChartesing/pieChart.go +++ b/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 } diff --git a/api/version1/customerform/calendarData.go b/api/version1/customerform/calendarData.go index aa57950..1674811 100644 --- a/api/version1/customerform/calendarData.go +++ b/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 { //解析视图设定参数 diff --git a/api/version1/customerform/formTableList.go b/api/version1/customerform/formTableList.go index e38f357..75040d8 100644 --- a/api/version1/customerform/formTableList.go +++ b/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