From 683907b3636a2db18d0ea7d720582dd7bae2db08 Mon Sep 17 00:00:00 2001 From: ZiHangQin <1420014281@qq.com> Date: Fri, 11 Aug 2023 13:13:45 +0800 Subject: [PATCH] =?UTF-8?q?fix(#10):=20=E8=AE=A1=E7=AE=97=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E8=AF=BB=E5=8F=96=E6=95=B0=E6=8D=AE=E9=83=A8=E5=88=86?= =?UTF-8?q?debug=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- service/calculate/shared.go | 12 +++++++----- service/calculate/wattCost.go | 6 +++--- settings.yaml | 4 ++-- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/service/calculate/shared.go b/service/calculate/shared.go index 528d1fc..ec598a1 100644 --- a/service/calculate/shared.go +++ b/service/calculate/shared.go @@ -36,13 +36,15 @@ func DeterminePublicMeterStartReading(meterId string, periodStart time.Time, for _, reading := range meterReadings { readingAt := ShiftToAsiaShanghai(reading.ReadAt.UTC()) for _, startTime := range startTimes { - if reading.Meter == meterId && readingAt.After(startTime) || readingAt.Equal(startTime) { + if reading.Meter == meterId && readingAt.Truncate(24*time.Hour).Equal(startTime.Truncate(24*time.Hour)) || readingAt.After(startTime) { startReading = append(startReading, reading) break } } } + fmt.Println(startReading) + if len(startReading) <= 0 { return nil, errors.New(fmt.Sprintf("无法确定表计 %s 的计量的起始读数", meterId)) } @@ -71,20 +73,20 @@ func DeterminePublicMeterEndReading(meterId string, periodEnd time.Time, minReading = reading.ReadAt } } - startTimes := []time.Time{ + endTimes := []time.Time{ minReading.Time, periodEnding.Time, ShiftToAsiaShanghai(detachedAt), } - if len(startTimes) < 0 { + if len(endTimes) < 0 { return nil, errors.New(fmt.Sprintf("无法确定表计 {%s} 的计量的终止时间", meterId)) } var startReading []model.MeterReading for _, reading := range meterReadings { readingAt := ShiftToAsiaShanghai(reading.ReadAt.UTC()) - for _, startTime := range startTimes { - if reading.Meter == meterId && readingAt.After(startTime) || readingAt.Equal(startTime) { + for _, endTime := range endTimes { + if reading.Meter == meterId && readingAt.Truncate(24*time.Hour).Equal(endTime.Truncate(24*time.Hour)) || readingAt.Before(endTime) { startReading = append(startReading, reading) break } diff --git a/service/calculate/wattCost.go b/service/calculate/wattCost.go index c446e0c..c281d3b 100644 --- a/service/calculate/wattCost.go +++ b/service/calculate/wattCost.go @@ -55,7 +55,7 @@ func MainCalculateProcess(rid string) error { fmt.Println("7", err) return err } - fmt.Println(meterDetails, "看看是不是为空的") + // 获取所有的物业表计,然后对所有的物业表计电量进行计算。 parkMetersReports, err := MetersParkCalculate(*report, periodStart.Time, periodEnd.Time, meterDetails, summary) if err != nil { @@ -65,14 +65,14 @@ func MainCalculateProcess(rid string) error { fmt.Println(parkMetersReports, "看看物业所有表计电量是否为空", tenementReports, summary) // 计算所有表计的总电量 parkTotal := TotalConsumptionCalculate(tenementReports, summary) - fmt.Println(parkTotal, "看看所有表计电量是否为空") + //计算线损以及调整线损 err = LossCalculate(report, parkMetersReports, &parkTotal, &summary) if err != nil { fmt.Println("9", err) return err } - fmt.Println(parkTotal, "===") + // 计算所有已经启用的商铺面积总和,仅计算所有未迁出的商户的所有表计对应的商铺面积。 _, err = EnabledAreaCalculate(&tenementReports, &summary) diff --git a/settings.yaml b/settings.yaml index 84db9ed..7620533 100644 --- a/settings.yaml +++ b/settings.yaml @@ -12,9 +12,9 @@ Server: ReadTimeout: 60 WriteTimeout: 60 Redis: - Host: 192.168.88.129 + Host: 127.0.0.1 Port: 6379 - Password: 123456 + Password: DB: 1 Service: MaxSessionLife: 2h