|
@@ -54,122 +54,137 @@ func (this *ClarksonsDataController) ClarksonsData() {
|
|
|
for _, sheet := range req.SheetData {
|
|
|
//遍历行读取
|
|
|
maxRow := sheet.MaxRow
|
|
|
- var indexId int64
|
|
|
- index := new(models.BaseFromClarksonsIndex)
|
|
|
- indexCode := ""
|
|
|
- for i := 3; i < maxRow; i++ {
|
|
|
- //获取样本情况
|
|
|
- row := sheet.Rows[i]
|
|
|
- cells := row.Cells
|
|
|
- // indexCode
|
|
|
- if i == 3 {
|
|
|
- indexCode = cells[1].Value
|
|
|
- continue
|
|
|
- }
|
|
|
+ maxCol := sheet.MaxCol
|
|
|
+
|
|
|
+ for j := 1; j < maxCol; j++ {
|
|
|
+ var indexId int64
|
|
|
+ index := new(models.BaseFromClarksonsIndex)
|
|
|
+ indexCode := ""
|
|
|
+ for i := 3; i < maxRow; i++ {
|
|
|
|
|
|
- if indexItem, ok := indexMap[indexCode]; !ok {
|
|
|
- // indexName
|
|
|
- if i == 4 {
|
|
|
- index.IndexName = cells[1].Value
|
|
|
+ //获取样本情况
|
|
|
+ row := sheet.Rows[i]
|
|
|
+ cells := row.Cells
|
|
|
+ if j == 0 {
|
|
|
continue
|
|
|
}
|
|
|
-
|
|
|
- // unit
|
|
|
- if i == 5 {
|
|
|
- index.Unit = cells[1].Value
|
|
|
+ // indexCode
|
|
|
+ if i == 3 {
|
|
|
+ indexCode = cells[j].Value
|
|
|
continue
|
|
|
}
|
|
|
|
|
|
- index.IndexCode = indexCode
|
|
|
- index.CreateTime = time.Now()
|
|
|
- index.ModifyTime = time.Now()
|
|
|
+ if indexItem, ok := indexMap[indexCode]; !ok {
|
|
|
+ // indexName
|
|
|
+ if i == 4 {
|
|
|
+ index.IndexName = cells[j].Value
|
|
|
+ continue
|
|
|
+ }
|
|
|
|
|
|
- indexId, err = models.AddBaseFromClarksonsIndex(index)
|
|
|
- if err != nil {
|
|
|
- utils.FileLog.Info("添加指标名称错误", err.Error())
|
|
|
- return
|
|
|
- }
|
|
|
- index.BaseFromClarksonsIndexId = int(indexId)
|
|
|
- indexMap[indexCode] = index
|
|
|
- } else {
|
|
|
- index = indexItem
|
|
|
- }
|
|
|
+ // unit
|
|
|
+ if i == 5 {
|
|
|
+ index.Unit = cells[j].Value
|
|
|
+ continue
|
|
|
+ }
|
|
|
+
|
|
|
+ index.IndexCode = indexCode
|
|
|
+ index.CreateTime = time.Now()
|
|
|
+ index.ModifyTime = time.Now()
|
|
|
|
|
|
- // 数据及日期
|
|
|
- if i > 5 {
|
|
|
- var date string
|
|
|
- if len(cells) == 0 {
|
|
|
- break
|
|
|
+ indexId, err = models.AddBaseFromClarksonsIndex(index)
|
|
|
+ if err != nil {
|
|
|
+ utils.FileLog.Info("添加指标名称错误", err.Error())
|
|
|
+ fmt.Println("添加指标名称错误", err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ index.BaseFromClarksonsIndexId = int(indexId)
|
|
|
+ indexMap[indexCode] = index
|
|
|
+ } else {
|
|
|
+ index = indexItem
|
|
|
}
|
|
|
- for k, cell := range cells {
|
|
|
- text := cell.Value
|
|
|
- text = strings.Replace(text, "\\", "", -1)
|
|
|
- if text != "" {
|
|
|
- // 时间
|
|
|
- if k == 0 {
|
|
|
- if text != "" {
|
|
|
- dataTime, err := utils.ParseDateTime(text)
|
|
|
- if err != nil {
|
|
|
- utils.FileLog.Info("解析时间字符串出错:", err)
|
|
|
- fmt.Println("解析时间字符串出错:", err)
|
|
|
- return
|
|
|
+
|
|
|
+ // 数据及日期
|
|
|
+ if i > 5 {
|
|
|
+ var date string
|
|
|
+ if len(cells) == 0 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ for k, cell := range cells {
|
|
|
+ text := cell.Value
|
|
|
+ text = strings.Replace(text, "\\", "", -1)
|
|
|
+ if text != "" {
|
|
|
+ // 时间
|
|
|
+ if k == 0 {
|
|
|
+ if text != "" {
|
|
|
+ dataTime, err := utils.ParseDateTime(text)
|
|
|
+ if err != nil {
|
|
|
+ utils.FileLog.Info("解析时间字符串出错:", err)
|
|
|
+ fmt.Println("解析时间字符串出错:", err)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ date = dataTime.Format(utils.FormatDate)
|
|
|
}
|
|
|
- date = dataTime.Format(utils.FormatDate)
|
|
|
+ dateMap[k] = date
|
|
|
}
|
|
|
- dateMap[k] = date
|
|
|
- }
|
|
|
|
|
|
- // 数据
|
|
|
- if k == 1 {
|
|
|
- item := new(models.BaseFromClarksonsData)
|
|
|
- item.IndexCode = indexCode
|
|
|
- item.Value = text
|
|
|
- item.DataTime = date
|
|
|
- item.BaseFromClarksonsIndexId = index.BaseFromClarksonsIndexId
|
|
|
- item.ModifyTime = time.Now()
|
|
|
- item.CreateTime = time.Now()
|
|
|
- itemsIndex = append(itemsIndex, item)
|
|
|
+ // 数据
|
|
|
+ if k == j {
|
|
|
+ item := new(models.BaseFromClarksonsData)
|
|
|
+ item.IndexCode = indexCode
|
|
|
+ item.Value = text
|
|
|
+ item.DataTime = date
|
|
|
+ item.BaseFromClarksonsIndexId = index.BaseFromClarksonsIndexId
|
|
|
+ item.ModifyTime = time.Now()
|
|
|
+ item.CreateTime = time.Now()
|
|
|
+ itemsIndex = append(itemsIndex, item)
|
|
|
|
|
|
- continue
|
|
|
+ continue
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
- if len(itemsIndex) > 2 {
|
|
|
- time1, _ := time.Parse(utils.FormatDate, itemsIndex[0].DataTime)
|
|
|
- time2, _ := time.Parse(utils.FormatDate, itemsIndex[1].DataTime)
|
|
|
- diff := time2.Sub(time1).Hours() / 24
|
|
|
+ if len(itemsIndex) > 2 {
|
|
|
+ time1, _ := time.Parse(utils.FormatDate, itemsIndex[0].DataTime)
|
|
|
+ time2, _ := time.Parse(utils.FormatDate, itemsIndex[1].DataTime)
|
|
|
+ diff := time2.Sub(time1).Hours() / 24
|
|
|
|
|
|
- if diff < 5 {
|
|
|
- index.Frequency = "日度"
|
|
|
- } else if diff > 5 && diff < 10 {
|
|
|
- index.Frequency = "周度"
|
|
|
- } else if diff > 20 && diff < 50 {
|
|
|
- index.Frequency = "月度"
|
|
|
- } else if diff > 50 && diff < 100 {
|
|
|
- index.Frequency = "季度"
|
|
|
- } else if diff > 100 {
|
|
|
- index.Frequency = "年度"
|
|
|
+ if diff < 5 {
|
|
|
+ index.Frequency = "日度"
|
|
|
+ } else if diff > 5 && diff < 10 {
|
|
|
+ index.Frequency = "周度"
|
|
|
+ } else if diff > 20 && diff < 50 {
|
|
|
+ index.Frequency = "月度"
|
|
|
+ } else if diff > 50 && diff < 100 {
|
|
|
+ index.Frequency = "季度"
|
|
|
+ } else if diff > 100 {
|
|
|
+ index.Frequency = "年度"
|
|
|
+ }
|
|
|
+ }
|
|
|
+ err = models.UpdateBaseFromClarksonsIndex(index)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("修改指标频度错误", err)
|
|
|
+ utils.FileLog.Info("修改指标频度错误", err)
|
|
|
+ return
|
|
|
+ } else {
|
|
|
+ fmt.Println("修改指标频度成功 ", index.IndexCode, index.Frequency)
|
|
|
+ utils.FileLog.Info("修改指标频度成功 ", index.IndexCode, index.Frequency)
|
|
|
}
|
|
|
}
|
|
|
- err = models.UpdateBaseFromClarksonsIndex(index)
|
|
|
- if err != nil {
|
|
|
- fmt.Println("修改指标频度错误", err)
|
|
|
- return
|
|
|
- } else {
|
|
|
- fmt.Println("修改指标频度成功 ", index.IndexCode, index.Frequency)
|
|
|
- }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
count, err := models.AddBaseFromClarksonsDataMuti(itemsIndex)
|
|
|
if err != nil {
|
|
|
fmt.Println("添加数据错误", err.Error())
|
|
|
+ utils.FileLog.Info("添加数据错误", err)
|
|
|
} else {
|
|
|
fmt.Println("添加数据成功", count)
|
|
|
+ utils.FileLog.Info("添加数据成功", count)
|
|
|
}
|
|
|
|
|
|
fmt.Println("数据操作完成")
|
|
|
+ utils.FileLog.Info("数据操作完成")
|
|
|
|
|
|
br.Ret = 200
|
|
|
br.Success = true
|