forked from free-lancers/electricity_bill_calc_service
fix(#10):修复创建报表错误,但查出列出园区bug
This commit is contained in:
@@ -32,18 +32,26 @@ var CalculateRepository = _CalculateRepository{
|
||||
ds: goqu.Dialect("postgres"),
|
||||
}
|
||||
|
||||
//更新当前报表的核算状态
|
||||
// 更新当前报表的核算状态
|
||||
func (cr _CalculateRepository) UpdateReportCalculateStatus(rid string, status string,
|
||||
message string) (bool, error) {
|
||||
ctx, cancel := global.TimeoutContext()
|
||||
defer cancel()
|
||||
|
||||
var atio int
|
||||
var err error
|
||||
log.Println("11111111111", status)
|
||||
currentTime := time.Now()
|
||||
if status == "success" {
|
||||
atio = 0
|
||||
} else {
|
||||
atio = 1
|
||||
}
|
||||
|
||||
updateResultSql, updateResultArgs, _ := cr.ds.
|
||||
Update(goqu.T("report_task")).
|
||||
Set(goqu.Record{
|
||||
"status": status,
|
||||
"status": int16(atio),
|
||||
"last_modified_at": currentTime,
|
||||
"message": message,
|
||||
}).Where(goqu.I("id").Eq(rid)).
|
||||
@@ -124,7 +132,7 @@ func (cr _CalculateRepository) GetAllPoolingMeterRelations(pid string, revokedAf
|
||||
|
||||
var meterRelation []model.MeterRelation
|
||||
|
||||
err := pgxscan.Select(ctx, global.DB, meterRelation, relationsSql, relationsArgs...)
|
||||
err := pgxscan.Select(ctx, global.DB, &meterRelation, relationsSql, relationsArgs...)
|
||||
if err != nil {
|
||||
cr.log.Error("获取当前园区中所有公摊表计与商户表计之间的关联关系,包括已经解除的出错", zap.Error(err))
|
||||
return nil, err
|
||||
@@ -152,7 +160,7 @@ func (cr _CalculateRepository) GetAllTenementMeterRelations(pid string, associat
|
||||
|
||||
var tenementMeter []model.TenementMeter
|
||||
|
||||
err := pgxscan.Select(ctx, global.DB, tenementMeter, relationsQuerySql, relationsQueryArgs...)
|
||||
err := pgxscan.Select(ctx, global.DB, &tenementMeter, relationsQuerySql, relationsQueryArgs...)
|
||||
if err != nil {
|
||||
cr.log.Error("获取当前园区中所有的商户与表计的关联关系,包括已经解除的", zap.Error(err))
|
||||
return nil, err
|
||||
@@ -178,13 +186,13 @@ func (cr _CalculateRepository) GetMeterReadings(rid string, meterType int16) ([]
|
||||
goqu.I("r.id").Eq(rid),
|
||||
goqu.I("mr.meter_type").Eq(meterType),
|
||||
// TODO:2023.08.02 此方法出错优先查看是否这里出问题
|
||||
goqu.I("mr.read_at::date <@ r.period"),
|
||||
goqu.L("mr.read_at < lower(r.period)"),
|
||||
).
|
||||
Order(goqu.I("mr.read_at").Asc()).Select(goqu.I("mr.*")).ToSQL()
|
||||
|
||||
var readings []model.MeterReading
|
||||
|
||||
err := pgxscan.Select(ctx, global.DB, readings, readingsQuerySql, readingsQueryArgs...)
|
||||
err := pgxscan.Select(ctx, global.DB, &readings, readingsQuerySql, readingsQueryArgs...)
|
||||
if err != nil {
|
||||
cr.log.Error("获取指定报表中所有涉及到的指定类型表计在核算时间段内的所有读数数据出错", zap.Error(err))
|
||||
return nil, err
|
||||
@@ -199,7 +207,8 @@ func (cr _CalculateRepository) GetLastPeriodReadings(rid string, meterType int16
|
||||
ctx, cancel := global.TimeoutContext()
|
||||
defer cancel()
|
||||
|
||||
readingsSql, readingsArgs, _ := cr.ds.From(goqu.T("meter_reading").As("mr")).
|
||||
readingsSql, readingsArgs, _ := cr.ds.
|
||||
From(goqu.T("meter_reading").As("mr")).
|
||||
Select(
|
||||
goqu.MAX("mr.read_at").As("read_at"),
|
||||
goqu.I("mr.park_id"),
|
||||
@@ -219,7 +228,7 @@ func (cr _CalculateRepository) GetLastPeriodReadings(rid string, meterType int16
|
||||
Where(
|
||||
goqu.I("r.id").Eq(rid),
|
||||
goqu.I("mr.meter_type").Eq(meterType),
|
||||
goqu.I(" mr.read_at::date <= lower(r.period)"),
|
||||
goqu.L(" read_at <= lower(r.period)"),
|
||||
).
|
||||
GroupBy(
|
||||
goqu.I("mr.park_id"),
|
||||
@@ -235,11 +244,12 @@ func (cr _CalculateRepository) GetLastPeriodReadings(rid string, meterType int16
|
||||
).ToSQL()
|
||||
|
||||
var readings []model.MeterReading
|
||||
err := pgxscan.Select(ctx, global.DB, readings, readingsSql, readingsArgs...)
|
||||
err := pgxscan.Select(ctx, global.DB, &readings, readingsSql, readingsArgs...)
|
||||
if err != nil {
|
||||
cr.log.Error("获取指定报表中所有涉及到的表计在核算起始日期前的最后一次读数出错", zap.Error(err))
|
||||
return nil, err
|
||||
}
|
||||
fmt.Println(";;;;;;;;;;;;;;;;;;", readings)
|
||||
return readings, nil
|
||||
}
|
||||
|
||||
@@ -266,11 +276,11 @@ func (cr _CalculateRepository) GetAllTenements(rid string) ([]model.Tenement, er
|
||||
).
|
||||
Where(
|
||||
goqu.I("r.id").Eq(rid),
|
||||
goqu.I("t.moved_in_at <= upper(r.period)"),
|
||||
goqu.L("t.moved_in_at <= upper(r.period)"),
|
||||
).ToSQL()
|
||||
|
||||
fmt.Println(tenementQuerySql)
|
||||
var tenements []model.Tenement
|
||||
err := pgxscan.Select(ctx, global.DB, tenements, tenementQuerySql, tenementQueryArgs...)
|
||||
err := pgxscan.Select(ctx, global.DB, &tenements, tenementQuerySql, tenementQueryArgs...)
|
||||
if err != nil {
|
||||
cr.log.Error("取得指定报表所涉及的所有商户信息出错", zap.Error(err))
|
||||
return nil, err
|
||||
|
Reference in New Issue
Block a user