|
@@ -102,8 +102,13 @@ func (c *ManualEdbController) EdbDetail() {
|
|
|
br.ErrMsg = "获取明细数据失败,err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
+ // 获取下期时间
|
|
|
+ dataNextDateTime, err := fillDataNextDateTime(dataList)
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
|
|
|
- manualEdbInfo.DataList = dataList
|
|
|
+ manualEdbInfo.NextDataTimeList = dataNextDateTime
|
|
|
}
|
|
|
|
|
|
resp := models.TargetDetailResp{
|
|
@@ -117,6 +122,53 @@ func (c *ManualEdbController) EdbDetail() {
|
|
|
br.Data = resp
|
|
|
}
|
|
|
|
|
|
+// 封装指标数据下期时间
|
|
|
+func fillDataNextDateTime(list []*models.Edbdata) ([]*models.EdbDataNextDateTime, error) {
|
|
|
+ var nextDataDateTimeList []*models.EdbDataNextDateTime
|
|
|
+ var indexCodes []string
|
|
|
+ for _, item := range list {
|
|
|
+ indexCodes = append(indexCodes, item.TradeCode)
|
|
|
+ }
|
|
|
+ edbinfoList, err := models.GetEdbinfoListByCodeListByCodeIdList(indexCodes)
|
|
|
+ if err != nil {
|
|
|
+ return nil, err
|
|
|
+ }
|
|
|
+ edbinfoMap := make(map[string]*models.Edbinfo)
|
|
|
+ for _, item := range edbinfoList {
|
|
|
+ edbinfoMap[item.TradeCode] = item
|
|
|
+ }
|
|
|
+
|
|
|
+ for _, item := range list {
|
|
|
+ nextDataDateTime := &models.EdbDataNextDateTime{
|
|
|
+ TradeCode: item.TradeCode,
|
|
|
+ Dt: item.Dt,
|
|
|
+ Close: item.Close,
|
|
|
+ ModifyTime: item.ModifyTime,
|
|
|
+ }
|
|
|
+
|
|
|
+ date := utils.StrDateToDate(item.Dt)
|
|
|
+ frequency := edbinfoMap[item.TradeCode].Frequency
|
|
|
+ switch frequency {
|
|
|
+ case "日度":
|
|
|
+ nextDataDateTime.NextDateTime = date.AddDate(0, 0, 1).Format(utils.FormatDate)
|
|
|
+ case "周度":
|
|
|
+ nextDataDateTime.NextDateTime = date.AddDate(0, 0, 7).Format(utils.FormatDate)
|
|
|
+ case "旬度":
|
|
|
+ nextDataDateTime.NextDateTime = date.AddDate(0, 0, 10).Format(utils.FormatDate)
|
|
|
+ case "月度":
|
|
|
+ nextDataDateTime.NextDateTime = date.AddDate(0, 1, 0).Format(utils.FormatDate)
|
|
|
+ case "季度":
|
|
|
+ nextDataDateTime.NextDateTime = date.AddDate(0, 3, 0).Format(utils.FormatDate)
|
|
|
+ case "半年度":
|
|
|
+ nextDataDateTime.NextDateTime = date.AddDate(0, 6, 0).Format(utils.FormatDate)
|
|
|
+ case "年度":
|
|
|
+ nextDataDateTime.NextDateTime = date.AddDate(1, 0, 0).Format(utils.FormatDate)
|
|
|
+ }
|
|
|
+ nextDataDateTimeList = append(nextDataDateTimeList, nextDataDateTime)
|
|
|
+ }
|
|
|
+ return nextDataDateTimeList, nil
|
|
|
+}
|
|
|
+
|
|
|
// ClassifyEdbList
|
|
|
// @Title 分类指标列表
|
|
|
// @Description 指标列表
|
|
@@ -413,6 +465,8 @@ func (c *ManualEdbController) EdbList() {
|
|
|
br.ErrMsg = "获取失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
+ // 获取预测时间
|
|
|
+ fillNextDateTime(list)
|
|
|
|
|
|
resp := models.EdbListResp{
|
|
|
List: list,
|
|
@@ -424,6 +478,29 @@ func (c *ManualEdbController) EdbList() {
|
|
|
br.Data = resp
|
|
|
}
|
|
|
|
|
|
+// 封装指标列表下期时间
|
|
|
+func fillNextDateTime(list []*models.EdbInfoListItem) {
|
|
|
+ for _, item := range list {
|
|
|
+ date := utils.StrDateToDate(item.EndDate)
|
|
|
+ switch item.Frequency {
|
|
|
+ case "日度":
|
|
|
+ item.NextDateTime = date.AddDate(0, 0, 1).Format(utils.FormatDate)
|
|
|
+ case "周度":
|
|
|
+ item.NextDateTime = date.AddDate(0, 0, 7).Format(utils.FormatDate)
|
|
|
+ case "旬度":
|
|
|
+ item.NextDateTime = date.AddDate(0, 0, 10).Format(utils.FormatDate)
|
|
|
+ case "月度":
|
|
|
+ item.NextDateTime = date.AddDate(0, 1, 0).Format(utils.FormatDate)
|
|
|
+ case "季度":
|
|
|
+ item.NextDateTime = date.AddDate(0, 3, 0).Format(utils.FormatDate)
|
|
|
+ case "半年度":
|
|
|
+ item.NextDateTime = date.AddDate(0, 6, 0).Format(utils.FormatDate)
|
|
|
+ case "年度":
|
|
|
+ item.NextDateTime = date.AddDate(1, 0, 0).Format(utils.FormatDate)
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
// EditExcelData
|
|
|
// @Title 根据excel的样式去编辑指标
|
|
|
// @Description 根据excel的样式去编辑指标
|
|
@@ -1445,7 +1522,7 @@ func (c *ManualEdbController) ImportData() {
|
|
|
defer os.Remove(path)
|
|
|
}
|
|
|
|
|
|
- successCount, failCount, err, errMsg := data.ImportManualData(path, sysUser)
|
|
|
+ successCount, failCount, indexCount, err, errMsg := data.ImportManualData(path, sysUser)
|
|
|
if err != nil {
|
|
|
br.Msg = errMsg
|
|
|
br.ErrMsg = err.Error()
|
|
@@ -1455,6 +1532,7 @@ func (c *ManualEdbController) ImportData() {
|
|
|
resp := models.EdbdataImportResp{
|
|
|
SuccessCount: successCount,
|
|
|
FailCount: failCount,
|
|
|
+ IndexCount: indexCount,
|
|
|
}
|
|
|
if failCount > 0 {
|
|
|
if successCount == 0 {
|