|
@@ -100,17 +100,14 @@ func HandleEdbSequenceVal(dateSequenceVal, dataSequenceVal []string) (newDateLis
|
|
|
}
|
|
|
dataList := make([]dataStruct, 0)
|
|
|
{
|
|
|
- var startData bool
|
|
|
for _, v := range dataSequenceVal {
|
|
|
// 如果没有数据集,那么就过滤
|
|
|
if v == `` {
|
|
|
// 如果开始插入数据了,那么就需要插入不存在值
|
|
|
- if startData {
|
|
|
- dataList = append(dataList, dataStruct{
|
|
|
- Value: 0,
|
|
|
- Ok: false,
|
|
|
- })
|
|
|
- }
|
|
|
+ dataList = append(dataList, dataStruct{
|
|
|
+ Value: 0,
|
|
|
+ Ok: false,
|
|
|
+ })
|
|
|
continue
|
|
|
}
|
|
|
|
|
@@ -118,19 +115,38 @@ func HandleEdbSequenceVal(dateSequenceVal, dataSequenceVal []string) (newDateLis
|
|
|
v = strings.Replace(v, ",", "", -1)
|
|
|
// 过滤空格
|
|
|
v = strings.Replace(v, " ", "", -1)
|
|
|
- tmpValDec, tmpErr := decimal.NewFromString(v)
|
|
|
- if tmpErr != nil {
|
|
|
- if startData {
|
|
|
+
|
|
|
+ var tmpVal float64
|
|
|
+ if strings.Contains(v, "%") {
|
|
|
+ // 百分比的数
|
|
|
+ isPercentage, percentageValue := utils.IsPercentage(v)
|
|
|
+ if !isPercentage {
|
|
|
dataList = append(dataList, dataStruct{
|
|
|
Value: 0,
|
|
|
Ok: false,
|
|
|
})
|
|
|
+ continue
|
|
|
}
|
|
|
- continue
|
|
|
+ tmpValDec, tmpErr := decimal.NewFromString(percentageValue)
|
|
|
+ if tmpErr != nil {
|
|
|
+ dataList = append(dataList, dataStruct{
|
|
|
+ Value: 0,
|
|
|
+ Ok: false,
|
|
|
+ })
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ tmpVal, _ = tmpValDec.Div(decimal.NewFromFloat(100)).Float64()
|
|
|
+ } else {
|
|
|
+ tmpValDec, tmpErr := decimal.NewFromString(v)
|
|
|
+ if tmpErr != nil {
|
|
|
+ dataList = append(dataList, dataStruct{
|
|
|
+ Value: 0,
|
|
|
+ Ok: false,
|
|
|
+ })
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ tmpVal, _ = tmpValDec.Float64()
|
|
|
}
|
|
|
- startData = true
|
|
|
-
|
|
|
- tmpVal, _ := tmpValDec.Float64()
|
|
|
dataList = append(dataList, dataStruct{
|
|
|
Value: tmpVal,
|
|
|
Ok: true,
|
|
@@ -141,14 +157,11 @@ func HandleEdbSequenceVal(dateSequenceVal, dataSequenceVal []string) (newDateLis
|
|
|
// 日期集
|
|
|
dateList := make([]string, 0)
|
|
|
{
|
|
|
- var startData bool
|
|
|
for _, v := range dateSequenceVal {
|
|
|
// 如果没有数据集,那么就过滤
|
|
|
if v == `` {
|
|
|
// 如果开始插入数据了,那么就需要插入不存在值
|
|
|
- if startData {
|
|
|
- dateList = append(dateList, "")
|
|
|
- }
|
|
|
+ dateList = append(dateList, "")
|
|
|
continue
|
|
|
}
|
|
|
|
|
@@ -156,12 +169,9 @@ func HandleEdbSequenceVal(dateSequenceVal, dataSequenceVal []string) (newDateLis
|
|
|
v = strings.Replace(v, " ", "", -1)
|
|
|
t1, tmpErr := dateparse.ParseAny(v)
|
|
|
if tmpErr != nil {
|
|
|
- if startData {
|
|
|
- dateList = append(dateList, "")
|
|
|
- }
|
|
|
+ dateList = append(dateList, "")
|
|
|
continue
|
|
|
}
|
|
|
- startData = true
|
|
|
|
|
|
dateList = append(dateList, t1.Format(utils.FormatDate))
|
|
|
}
|
|
@@ -178,15 +188,15 @@ func HandleEdbSequenceVal(dateSequenceVal, dataSequenceVal []string) (newDateLis
|
|
|
|
|
|
for i := 0; i < num; i++ {
|
|
|
date := dateList[i]
|
|
|
- data := dataList[i]
|
|
|
+ tmpData := dataList[i]
|
|
|
|
|
|
// 日期为空、数据为空
|
|
|
- if !data.Ok || date == `` {
|
|
|
+ if !tmpData.Ok || date == `` {
|
|
|
continue
|
|
|
}
|
|
|
|
|
|
newDateList = append(newDateList, date)
|
|
|
- newDataList = append(newDataList, data.Value)
|
|
|
+ newDataList = append(newDataList, tmpData.Value)
|
|
|
}
|
|
|
|
|
|
return
|