|
@@ -155,37 +155,43 @@ func calculateEdb(to orm.TxOrmer, varietyEdbInfo *VarietyEdbInfo, dataMap map[ti
|
|
|
case 1, 2:
|
|
|
|
|
|
for tmpDate := startDate; !tmpDate.After(lastDate); tmpDate = tmpDate.AddDate(0, 0, 1) {
|
|
|
- tmpData, ok := dataMap[tmpDate]
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ currVal, ok := dataMap[tmpDate]
|
|
|
if !ok {
|
|
|
continue
|
|
|
}
|
|
|
- tmpDataList = append(tmpDataList, tmpData)
|
|
|
-
|
|
|
- if tmpDate.Weekday() != 0 {
|
|
|
-
|
|
|
- continue
|
|
|
- }
|
|
|
-
|
|
|
- timestamp := tmpDate.UnixNano() / 1e6
|
|
|
-
|
|
|
-
|
|
|
- var sumVal float64
|
|
|
- for _, tmpVal := range tmpDataList {
|
|
|
- sumVal += tmpVal
|
|
|
- }
|
|
|
- sumValDeci := decimal.NewFromFloat(sumVal)
|
|
|
-
|
|
|
- var currVal float64
|
|
|
- if varietyEdbInfo.Source == 2 {
|
|
|
- currVal, _ = (decimal.NewFromFloat(sumVal).Sub(preSumValDeci)).Round(4).Float64()
|
|
|
- } else {
|
|
|
- currVal, _ = sumValDeci.Round(4).Float64()
|
|
|
- }
|
|
|
+ preSumValDeci = decimal.NewFromFloat(currVal)
|
|
|
latestValue = currVal
|
|
|
|
|
|
- preSumValDeci = sumValDeci
|
|
|
tmpDataList = make([]float64, 0)
|
|
|
|
|
|
+ timestamp := tmpDate.UnixNano() / 1e6
|
|
|
existItem, ok := existData[tmpDate]
|
|
|
if !ok {
|
|
|
addList = append(addList, &BaseFromStockPlantData{
|
|
@@ -212,54 +218,54 @@ func calculateEdb(to orm.TxOrmer, varietyEdbInfo *VarietyEdbInfo, dataMap map[ti
|
|
|
}
|
|
|
|
|
|
|
|
|
- lastDateWeek := lastDate.Weekday()
|
|
|
- if lastDateWeek != 0 {
|
|
|
-
|
|
|
- subDay := 7 - lastDateWeek
|
|
|
- tmpDate := lastDate.AddDate(0, 0, int(subDay))
|
|
|
- endDate = tmpDate
|
|
|
-
|
|
|
- existItem, ok := existData[tmpDate]
|
|
|
-
|
|
|
- timestamp := tmpDate.UnixNano() / 1e6
|
|
|
-
|
|
|
- var sumVal float64
|
|
|
- for _, tmpVal := range tmpDataList {
|
|
|
- sumVal += tmpVal
|
|
|
- }
|
|
|
- sumValDeci := decimal.NewFromFloat(sumVal)
|
|
|
-
|
|
|
- var currVal float64
|
|
|
- if varietyEdbInfo.Source == 2 {
|
|
|
- currVal, _ = (decimal.NewFromFloat(sumVal).Sub(preSumValDeci)).Round(4).Float64()
|
|
|
- } else {
|
|
|
- currVal, _ = sumValDeci.Round(4).Float64()
|
|
|
- }
|
|
|
- latestValue = currVal
|
|
|
-
|
|
|
- if !ok {
|
|
|
- addList = append(addList, &BaseFromStockPlantData{
|
|
|
-
|
|
|
- VarietyEdbId: varietyEdbInfo.VarietyEdbId,
|
|
|
- DataTime: tmpDate,
|
|
|
- Value: currVal,
|
|
|
- ModifyTime: time.Now(),
|
|
|
- CreateTime: time.Now(),
|
|
|
- DataTimestamp: timestamp,
|
|
|
- })
|
|
|
- } else {
|
|
|
- if existItem.Value != currVal {
|
|
|
- existItem.Value = currVal
|
|
|
- existItem.ModifyTime = time.Now()
|
|
|
- _, err = to.Update(existItem, "Value", "ModifyTime")
|
|
|
- if err != nil {
|
|
|
- return
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- delete(deleteIdMap, existItem.StockPlantDataId)
|
|
|
- }
|
|
|
- }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
case 3, 4:
|
|
|
|