fix(report):修正一系列报表查询中出现的无法获取数据的问题。
This commit is contained in:
parent
7806f07766
commit
b4ce754c0d
|
@ -20,7 +20,7 @@ import (
|
||||||
var reportLog = logger.Named("Handler", "Report")
|
var reportLog = logger.Named("Handler", "Report")
|
||||||
|
|
||||||
func InitializeReportHandlers(router *fiber.App) {
|
func InitializeReportHandlers(router *fiber.App) {
|
||||||
router.Get("/repotrs", security.MustAuthenticated, reportComprehensiveSearch)
|
router.Get("/reports", security.MustAuthenticated, reportComprehensiveSearch)
|
||||||
router.Post("/report", security.EnterpriseAuthorize, initNewReportCalculateTask)
|
router.Post("/report", security.EnterpriseAuthorize, initNewReportCalculateTask)
|
||||||
router.Get("/report/draft", security.EnterpriseAuthorize, listDraftReportIndicies)
|
router.Get("/report/draft", security.EnterpriseAuthorize, listDraftReportIndicies)
|
||||||
router.Post("/report/calcualte", security.EnterpriseAuthorize, testCalculateReportSummary)
|
router.Post("/report/calcualte", security.EnterpriseAuthorize, testCalculateReportSummary)
|
||||||
|
@ -33,7 +33,7 @@ func InitializeReportHandlers(router *fiber.App) {
|
||||||
router.Get("/report/:rid/summary", security.MustAuthenticated, getReportSummary)
|
router.Get("/report/:rid/summary", security.MustAuthenticated, getReportSummary)
|
||||||
router.Get("/report/:rid/summary/filled", security.EnterpriseAuthorize, getParkFilledSummary)
|
router.Get("/report/:rid/summary/filled", security.EnterpriseAuthorize, getParkFilledSummary)
|
||||||
router.Get("/report/:rid/pooled", security.MustAuthenticated, listPooledMetersInReport)
|
router.Get("/report/:rid/pooled", security.MustAuthenticated, listPooledMetersInReport)
|
||||||
router.Get("/report/:rid/:code/submeters", security.MustAuthenticated, listSubmetersInPooledMeter)
|
router.Get("/report/:rid/pooled/:code/submeter", security.MustAuthenticated, listSubmetersInPooledMeter)
|
||||||
router.Get("/report/:rid/tenement", security.MustAuthenticated, listTenementsInReport)
|
router.Get("/report/:rid/tenement", security.MustAuthenticated, listTenementsInReport)
|
||||||
router.Get("/report/:rid/tenement/:tid", security.MustAuthenticated, getTenementDetailInReport)
|
router.Get("/report/:rid/tenement/:tid", security.MustAuthenticated, getTenementDetailInReport)
|
||||||
}
|
}
|
||||||
|
@ -198,7 +198,7 @@ func listCalculateTaskStatus(c *fiber.Ctx) error {
|
||||||
reportLog.Error("无法获取核算报表计算状态", zap.Error(err))
|
reportLog.Error("无法获取核算报表计算状态", zap.Error(err))
|
||||||
return result.Error(fiber.StatusInternalServerError, "无法获取核算报表计算状态。")
|
return result.Error(fiber.StatusInternalServerError, "无法获取核算报表计算状态。")
|
||||||
}
|
}
|
||||||
var statusResponse []*vo.ReportCalculateTaskStatusResponse
|
statusResponse := make([]*vo.ReportCalculateTaskStatusResponse, 0)
|
||||||
copier.Copy(&statusResponse, &status)
|
copier.Copy(&statusResponse, &status)
|
||||||
return result.Success(
|
return result.Success(
|
||||||
"已经获取到核算报表计算状态。",
|
"已经获取到核算报表计算状态。",
|
||||||
|
|
|
@ -10,6 +10,7 @@ type Park struct {
|
||||||
Id string `json:"id"`
|
Id string `json:"id"`
|
||||||
UserId string `json:"userId"`
|
UserId string `json:"userId"`
|
||||||
Name string `json:"name"`
|
Name string `json:"name"`
|
||||||
|
Abbr string `json:"-"`
|
||||||
Area decimal.NullDecimal `json:"area"`
|
Area decimal.NullDecimal `json:"area"`
|
||||||
TenementQuantity decimal.NullDecimal `json:"tenement"`
|
TenementQuantity decimal.NullDecimal `json:"tenement"`
|
||||||
Capacity decimal.NullDecimal `json:"capacity"`
|
Capacity decimal.NullDecimal `json:"capacity"`
|
||||||
|
|
|
@ -71,6 +71,7 @@ type ReportPublicConsumption struct {
|
||||||
ConsumptionTotal decimal.Decimal `json:"consumptionTotal" db:"consumption_total"`
|
ConsumptionTotal decimal.Decimal `json:"consumptionTotal" db:"consumption_total"`
|
||||||
LossAdjustTotal decimal.Decimal `json:"lossAdjustTotal" db:"loss_adjust_total"`
|
LossAdjustTotal decimal.Decimal `json:"lossAdjustTotal" db:"loss_adjust_total"`
|
||||||
FinalTotal decimal.Decimal `json:"finalTotal" db:"final_total"`
|
FinalTotal decimal.Decimal `json:"finalTotal" db:"final_total"`
|
||||||
|
PublicPooled int16 `json:"publicPooled" db:"public_pooled"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type ReportDetailedPublicConsumption struct {
|
type ReportDetailedPublicConsumption struct {
|
||||||
|
|
|
@ -530,7 +530,7 @@ func (rr _ReportRepository) ListTenementInReport(rid string, page uint, keyword
|
||||||
|
|
||||||
startRow := (page - 1) * config.ServiceSettings.ItemsPageSize
|
startRow := (page - 1) * config.ServiceSettings.ItemsPageSize
|
||||||
reportQuery = reportQuery.
|
reportQuery = reportQuery.
|
||||||
Order(goqu.I("t.movedin_at").Asc()).
|
Order(goqu.I("t.moved_in_at").Asc()).
|
||||||
Offset(startRow).Limit(config.ServiceSettings.ItemsPageSize)
|
Offset(startRow).Limit(config.ServiceSettings.ItemsPageSize)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
|
|
@ -408,10 +408,10 @@ func (ur _UserRepository) RetrieveUsersDetail(uids []string) ([]*model.UserDetai
|
||||||
var users []*model.UserDetail
|
var users []*model.UserDetail
|
||||||
userQuery := ur.ds.
|
userQuery := ur.ds.
|
||||||
From("user_detail").
|
From("user_detail").
|
||||||
Where(goqu.Ex{"id": goqu.Any(uids)})
|
Where(goqu.Ex{"id": uids})
|
||||||
|
|
||||||
userSql, userParams, _ := userQuery.Prepared(true).ToSQL()
|
userSql, userParams, _ := userQuery.Prepared(true).ToSQL()
|
||||||
if err := pgxscan.Select(ctx, global.DB, users, userSql, userParams...); err != nil {
|
if err := pgxscan.Select(ctx, global.DB, &users, userSql, userParams...); err != nil {
|
||||||
ur.log.Error("从数据库查询用户列表失败。", zap.Error(err))
|
ur.log.Error("从数据库查询用户列表失败。", zap.Error(err))
|
||||||
return make([]*model.UserDetail, 0), err
|
return make([]*model.UserDetail, 0), err
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,7 +44,7 @@ type MeterReplacingForm struct {
|
||||||
type SimplifiedMeterQueryResponse struct {
|
type SimplifiedMeterQueryResponse struct {
|
||||||
Code string `json:"code"`
|
Code string `json:"code"`
|
||||||
Address *string `json:"address"`
|
Address *string `json:"address"`
|
||||||
Park string `json:"park"`
|
Park string `json:"parkId"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type SimplifiedMeterDetailResponse struct {
|
type SimplifiedMeterDetailResponse struct {
|
||||||
|
@ -58,7 +58,7 @@ type SimplifiedMeterDetailResponse struct {
|
||||||
OnFloor *string `json:"onFloor"`
|
OnFloor *string `json:"onFloor"`
|
||||||
Area decimal.Decimal `json:"area"`
|
Area decimal.Decimal `json:"area"`
|
||||||
Enabled bool `json:"enabled"`
|
Enabled bool `json:"enabled"`
|
||||||
MeterType int16 `json:"meterType"`
|
MeterType int16 `json:"type"`
|
||||||
AttachedAt types.DateTime `json:"attachedAt"`
|
AttachedAt types.DateTime `json:"attachedAt"`
|
||||||
DetachedAt *types.DateTime `json:"detachedAt"`
|
DetachedAt *types.DateTime `json:"detachedAt"`
|
||||||
}
|
}
|
||||||
|
|
10
vo/report.go
10
vo/report.go
|
@ -197,32 +197,32 @@ type ReportCalculateTaskStatusResponse struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
type ReportPublicQueryResponse struct {
|
type ReportPublicQueryResponse struct {
|
||||||
SimplifiedMeterQueryResponse
|
SimplifiedMeterDetailResponse
|
||||||
Overall ConsumptionDisplay `json:"overall"`
|
Overall ConsumptionDisplay `json:"overall"`
|
||||||
AdjustLoss ConsumptionDisplay `json:"adjustLoss"`
|
AdjustLoss ConsumptionDisplay `json:"adjustLoss"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (rpqr *ReportPublicQueryResponse) FromReportDetailPublicConsumption(value *model.ReportDetailedPublicConsumption) {
|
func (rpqr *ReportPublicQueryResponse) FromReportDetailPublicConsumption(value *model.ReportDetailedPublicConsumption) {
|
||||||
copier.Copy(&rpqr.SimplifiedMeterQueryResponse, &value.MeterDetail)
|
copier.Copy(&rpqr.SimplifiedMeterDetailResponse, &value.MeterDetail)
|
||||||
rpqr.Overall.FromConsumptionUnit(&value.ReportPublicConsumption.Overall)
|
rpqr.Overall.FromConsumptionUnit(&value.ReportPublicConsumption.Overall)
|
||||||
rpqr.Overall.Amount(value.ReportPublicConsumption.Overall.Amount.Add(value.ReportPublicConsumption.LossAdjust.Amount))
|
rpqr.Overall.Amount(value.ReportPublicConsumption.Overall.Amount.Add(value.ReportPublicConsumption.LossAdjust.Amount))
|
||||||
rpqr.AdjustLoss.FromConsumptionUnit(&value.ReportPublicConsumption.LossAdjust)
|
rpqr.AdjustLoss.FromConsumptionUnit(&value.ReportPublicConsumption.LossAdjust)
|
||||||
}
|
}
|
||||||
|
|
||||||
type ReportPooledQueryResponse struct {
|
type ReportPooledQueryResponse struct {
|
||||||
SimplifiedMeterQueryResponse `copier:"MeterDetail"`
|
SimplifiedMeterDetailResponse
|
||||||
Overall ConsumptionDisplay `json:"overall"`
|
Overall ConsumptionDisplay `json:"overall"`
|
||||||
PoolMethod int16 `json:"poolMethod"`
|
PoolMethod int16 `json:"poolMethod"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (rpqr *ReportPooledQueryResponse) FromReportDetailPooledConsumption(value *model.ReportDetailedPooledConsumption) {
|
func (rpqr *ReportPooledQueryResponse) FromReportDetailPooledConsumption(value *model.ReportDetailedPooledConsumption) {
|
||||||
copier.Copy(&rpqr.SimplifiedMeterQueryResponse, &value.MeterDetail)
|
copier.Copy(&rpqr.SimplifiedMeterDetailResponse, &value.MeterDetail)
|
||||||
rpqr.Overall.FromConsumptionUnit(&value.ReportPooledConsumption.Overall)
|
rpqr.Overall.FromConsumptionUnit(&value.ReportPooledConsumption.Overall)
|
||||||
rpqr.PoolMethod = value.PublicPooled
|
rpqr.PoolMethod = value.PublicPooled
|
||||||
}
|
}
|
||||||
|
|
||||||
func (rpqr *ReportPooledQueryResponse) FromReportDetailNestedMeterConsumption(value *model.ReportDetailNestedMeterConsumption) {
|
func (rpqr *ReportPooledQueryResponse) FromReportDetailNestedMeterConsumption(value *model.ReportDetailNestedMeterConsumption) {
|
||||||
copier.Copy(&rpqr.SimplifiedMeterQueryResponse, &value.Meter)
|
copier.Copy(&rpqr.SimplifiedMeterDetailResponse, &value.Meter)
|
||||||
rpqr.Overall.FromConsumptionUnit(&value.Consumption.Overall)
|
rpqr.Overall.FromConsumptionUnit(&value.Consumption.Overall)
|
||||||
rpqr.PoolMethod = -1
|
rpqr.PoolMethod = -1
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user