fix(#10): 计算相关读取数据部分debug完成

This commit is contained in:
ZiHangQin 2023-08-11 13:13:45 +08:00
parent c1b84d1fbb
commit 683907b363
3 changed files with 12 additions and 10 deletions

View File

@ -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
}

View File

@ -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)

View File

@ -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