xyxie 5 dias atrás
pai
commit
f627cc1295

+ 25 - 4
controllers/fe_calendar/fe_calendar_ai_article.go

@@ -229,6 +229,20 @@ func (this *FeCalendarAiArticleController) Save() {
 		return
 	}
 
+	matterOb := new(fe_calendar.FeCalendarMatter)
+	if req.FeCalendarMatterId > 0 {
+	    matterItem, err := matterOb.GetItemById(req.FeCalendarMatterId)
+	    if err != nil {
+			br.Msg = "操作失败"
+			br.ErrMsg = "获取事项失败, Err: " + err.Error()
+			return
+		}
+	    if matterItem.MatterType != fe_calendar.MatterTypePredict {
+		    br.Msg = "事项类型不匹配"
+			return
+		}
+	}
+
 	if req.FeCalendarAiArticleId <= 0 { // 创建数据点评
 		article := new(fe_calendar.FeCalendarAiArticle)
 		article.Title = edbInfo.EdbName
@@ -264,10 +278,6 @@ func (this *FeCalendarAiArticleController) Save() {
 			br.Msg = "指标不匹配"
 			return
 		}
-		if articleOb.ChartPermissionId != req.ChartPermissionId {
-			br.Msg = "品种不匹配"
-			return
-		}
 		if articleOb.MatterDate != req.MatterDate {
 			br.Msg = "日期不匹配"
 			return
@@ -281,6 +291,17 @@ func (this *FeCalendarAiArticleController) Save() {
 			return
 		}
 	}
+	// 更新事项
+	if req.FeCalendarMatterId > 0 && matterOb != nil && matterOb.FeCalendarMatterId > 0 && matterOb.FeCalendarAiArticleId != feCalendarAiArticleId {
+		matterOb.FeCalendarAiArticleId = feCalendarAiArticleId
+		matterOb.ModifyTime = time.Now()
+		err = matterOb.Update([]string{"fe_calendar_ai_article_id", "modify_time"})
+		if err != nil {
+			br.Msg = "操作失败"
+			br.ErrMsg = "更新事项失败, Err: " + err.Error()
+			return
+		}
+	}
 	data := &fe_calendar.FeCalendarAiArticleSaveResp{
 		FeCalendarAiArticleId: feCalendarAiArticleId,
 	}

+ 2 - 1
controllers/fe_calendar/fe_calendar_matter.go

@@ -265,7 +265,7 @@ func (this *FeCalendarMatterController) Save() {
 	addMatters := make([]*fe_calendar.FeCalendarMatter, 0)
 	editMatters := make([]*fe_calendar.FeCalendarMatter, 0)
 	removeMatters := make([]*fe_calendar.FeCalendarMatter, 0)
-	updateCols := []string{fe_calendar.FeCalendarMatterCols.Title, fe_calendar.FeCalendarMatterCols.FontColor, fe_calendar.FeCalendarMatterCols.FillingColor, fe_calendar.FeCalendarMatterCols.FontBold, fe_calendar.FeCalendarMatterCols.Sort, fe_calendar.FeCalendarMatterCols.ChartPermissionName, fe_calendar.FeCalendarMatterCols.ModifyTime}
+	updateCols := []string{fe_calendar.FeCalendarMatterCols.Title, fe_calendar.FeCalendarMatterCols.FontColor, fe_calendar.FeCalendarMatterCols.FillingColor, fe_calendar.FeCalendarMatterCols.FontBold, fe_calendar.FeCalendarMatterCols.Sort, fe_calendar.FeCalendarMatterCols.ChartPermissionName, fe_calendar.FeCalendarMatterCols.FeCalendarAiArticleId, fe_calendar.FeCalendarMatterCols.ModifyTime}
 
 	editIds := make([]int, 0)
 	editMatterMap := make(map[int]*fe_calendar.FeCalendarMatterSaveItem)
@@ -312,6 +312,7 @@ func (this *FeCalendarMatterController) Save() {
 			v.FontBold = ed.FontBold
 			v.Sort = ed.Sort
 			v.ChartPermissionName = permissionItem.PermissionName
+			v.FeCalendarAiArticleId = ed.FeCalendarAiArticleId
 			v.ModifyTime = time.Now().Local()
 			editMatters = append(editMatters, v)
 		}

+ 1 - 0
models/fe_calendar/fe_calendar_ai_article.go

@@ -169,6 +169,7 @@ type FeCalendarAiArticleSaveReq struct {
 	MatterDate            string                 // 事项日期
 	EdbInfoId             int                      // 指标ID
 	Content               string    // 内容
+	FeCalendarMatterId    int                      // 事项ID
 }
 
 type FeCalendarAiArticleSaveResp struct {

+ 18 - 6
services/feCalendar_ai.go

@@ -42,12 +42,24 @@ func GetFeCalendarAiArticle(req *fe_calendar.FeCalendarAiArticleGenerateReq, mat
 	for _, v := range classifyList {
 		classifyName += v.ClassifyName + "/"
 	}
-
-	// 获取指标数据
-	edbData, err := data_manage.GetEdbDataList(edbInfo.Source, edbInfo.SubSource, edbInfo.EdbInfoId, "", endDate)
-	if err != nil {
-		err = errors.New("获取指标数据失败, Err: " + err.Error())
-		return
+	edbData := make([]*data_manage.EdbDataList, 0)
+	switch edbInfo.EdbInfoType {
+		case 0: //普通源指标
+			//dataList, err = data_manage.GetEdbDataList(edbInfo.Source, edbInfo.SubSource, edbInfoId, startDateReal, endDate)
+			// 获取指标数据
+	        edbData, err = data_manage.GetEdbDataList(edbInfo.Source, edbInfo.SubSource, edbInfo.EdbInfoId, "", endDate)
+			if err != nil {
+				err = errors.New("获取指标数据失败, Err: " + err.Error())
+				return
+			}
+			
+		case 1: //预测指标
+			edbData, _, _, err, _ = data.GetPredictDataListByPredictEdbInfo(edbInfo, "", endDate, true)
+			if err != nil {
+				err = errors.New("获取预测指标数据失败, Err: " + err.Error())
+				return
+			}
+			
 	}
 	if len(edbData) == 0 {
 		err = errors.New("指标数据为空")