|
@@ -613,22 +613,42 @@ func (p *PurchaseShippingProcessor) Process(ctx context.Context, product string,
|
|
|
yearMonth = lastDayOfMonth
|
|
|
}
|
|
|
|
|
|
- indexData, err := models.GetLyDataByIndexIdAndDataTime(indexId, yearMonth)
|
|
|
+ valueStr := row[columnIdx]
|
|
|
+ value, err := strconv.ParseFloat(valueStr, 64)
|
|
|
+ if err != nil {
|
|
|
+ return []models.BaseFromLyData{}, fmt.Errorf("SupplyDemandBalanceProcessor Process() : failed to parse value '%s': %v", valueStr, err)
|
|
|
+ }
|
|
|
+
|
|
|
+ month, err := utils.GetYearMonth(yearMonth)
|
|
|
+ if err != nil {
|
|
|
+ return nil, err
|
|
|
+ }
|
|
|
+ indexData, err := models.GetLyDataByIndexIdAndDataTimeYM(indexId, month)
|
|
|
if err != nil {
|
|
|
logs.Error("SupplyDemandBalanceProcessor Process() : Failed to get data by index id and date: %v", err)
|
|
|
continue
|
|
|
}
|
|
|
if len(indexData) > 0 {
|
|
|
- // todo 根据format时间判断走更新逻辑
|
|
|
logs.Info("SupplyDemandBalanceProcessor Process() : Data already exists for index %d and date %s", indexId, dateText)
|
|
|
+ err := models.UpdateLyDataById(indexData[0].BaseFromLyDataId, value)
|
|
|
+ if err != nil {
|
|
|
+ return nil, err
|
|
|
+ }
|
|
|
+ // 同步更新指标库数据 须根据指标编码和日期更新
|
|
|
+ edbData, err := models.GetLyEdbDataByIndexCodeAndDataTime(indexData[0].IndexCode, month)
|
|
|
+ if err != nil {
|
|
|
+ return nil, err
|
|
|
+ }
|
|
|
+ if len(edbData) > 0 {
|
|
|
+ err := models.UpdateLyEdbDataById(edbData[0].BaseFromLyDataId, value)
|
|
|
+ if err != nil {
|
|
|
+ return nil, err
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
continue
|
|
|
}
|
|
|
|
|
|
- valueStr := row[columnIdx]
|
|
|
- value, err := strconv.ParseFloat(valueStr, 64)
|
|
|
- if err != nil {
|
|
|
- return []models.BaseFromLyData{}, fmt.Errorf("SupplyDemandBalanceProcessor Process() : failed to parse value '%s': %v", valueStr, err)
|
|
|
- }
|
|
|
// 创建并添加到结果列表
|
|
|
baseFromLyData := models.BaseFromLyData{
|
|
|
DataTime: yearMonth,
|