Roc 2 tahun lalu
induk
melakukan
6205a0eda7

+ 11 - 1
models/supply_analysis/base_from_stock_plant_data.go

@@ -149,6 +149,7 @@ func calculateEdb(to orm.TxOrmer, varietyEdbInfo *VarietyEdbInfo, dataMap map[ti
 	tmpDataList := make([]float64, 0) // 每天的值
 	var preSumValDeci decimal.Decimal // 上一期的值
 	endDate := lastDate               // 实际数据最后结束的日期
+	var latestValue float64           // 最新值
 	switch varietyEdbInfo.Source {
 	//1:影响周度产量;2:周度产量变动;3:影响月度产量;4:月度产量变动
 	case 1, 2:
@@ -180,6 +181,8 @@ func calculateEdb(to orm.TxOrmer, varietyEdbInfo *VarietyEdbInfo, dataMap map[ti
 			} else {
 				currVal, _ = sumValDeci.Round(4).Float64()
 			}
+			latestValue = currVal
+
 			preSumValDeci = sumValDeci       // 赋值给上一个周期的截止值
 			tmpDataList = make([]float64, 0) //重置值列表,便于下一个周期计算
 
@@ -232,6 +235,8 @@ func calculateEdb(to orm.TxOrmer, varietyEdbInfo *VarietyEdbInfo, dataMap map[ti
 			} else {
 				currVal, _ = sumValDeci.Round(4).Float64()
 			}
+			latestValue = currVal
+
 			if !ok {
 				addList = append(addList, &BaseFromStockPlantData{
 					//StockPlantDataId: 0,
@@ -285,6 +290,8 @@ func calculateEdb(to orm.TxOrmer, varietyEdbInfo *VarietyEdbInfo, dataMap map[ti
 			} else {
 				currVal, _ = sumValDeci.Round(4).Float64()
 			}
+			latestValue = currVal
+
 			preSumValDeci = sumValDeci       // 赋值给上一个周期的截止值
 			tmpDataList = make([]float64, 0) //重置值列表,便于下一个周期计算
 
@@ -336,6 +343,8 @@ func calculateEdb(to orm.TxOrmer, varietyEdbInfo *VarietyEdbInfo, dataMap map[ti
 			} else {
 				currVal, _ = sumValDeci.Round(4).Float64()
 			}
+			latestValue = currVal
+
 			if !ok {
 				addList = append(addList, &BaseFromStockPlantData{
 					//StockPlantDataId: 0,
@@ -389,8 +398,9 @@ func calculateEdb(to orm.TxOrmer, varietyEdbInfo *VarietyEdbInfo, dataMap map[ti
 
 	varietyEdbInfo.StartDate = startDate
 	varietyEdbInfo.EndDate = endDate
+	varietyEdbInfo.LatestValue = latestValue
 	varietyEdbInfo.ModifyTime = time.Now()
-	_, err = to.Update(varietyEdbInfo, "StartDate", "EndDate", "ModifyTime")
+	_, err = to.Update(varietyEdbInfo, "StartDate", "EndDate", "LatestValue", "ModifyTime")
 
 	return
 }

+ 1 - 0
models/supply_analysis/variety_edb_info.go

@@ -13,6 +13,7 @@ type VarietyEdbInfo struct {
 	Frequency    string    `description:"频度"`
 	StartDate    time.Time `description:"开始日期"`
 	EndDate      time.Time `description:"结束日期"`
+	LatestValue  float64   `description:"最新值"`
 	EdbInfoId    int       `description:"指标id"`
 	EdbCode      string    `description:"品种编码"`
 	Source       int       `description:"来源,1:影响周度产量;2:周度产量变动;3:影响月度产量;4:月度产量变动"`