fix(#27): 修复用户电量电费详细为空
This commit is contained in:
parent
7d3fafeb04
commit
2844db1a86
@ -60,7 +60,7 @@ type TenementCharge struct {
|
||||
LossPooled decimal.Decimal `json:"loss_pooled"`
|
||||
PublicPooled decimal.Decimal `json:"public_pooled"`
|
||||
FinalCharges decimal.Decimal `json:"final_charges"`
|
||||
Loss decimal.Decimal `json:"loss"`
|
||||
Loss model.ConsumptionUnit `json:"loss"`
|
||||
Submeters []*Meter `json:"submeters"`
|
||||
Poolings []*Meter `json:"poolings"`
|
||||
}
|
||||
|
@ -501,57 +501,53 @@ func (cr _CalculateRepository) SaveReportTenement(tx pgx.Tx, report model.Report
|
||||
defer cancel()
|
||||
insertQuery := cr.ds.
|
||||
Insert("report_tenement")
|
||||
//var values []goqu.Record
|
||||
var rows []goqu.Record
|
||||
for _, tenement := range tenements {
|
||||
//charge := findTenementCharge(tenementCharges, tenement.Id)
|
||||
for _, charge := range tenementCharges {
|
||||
tenementStr, _ := json.Marshal(tenement)
|
||||
overallStr, _ := json.Marshal(charge.Overall)
|
||||
criticalStr, _ := json.Marshal(charge.Critical)
|
||||
peakStr, _ := json.Marshal(charge.Peak)
|
||||
flatStr, _ := json.Marshal(charge.Flat)
|
||||
valleyStr, _ := json.Marshal(charge.Valley)
|
||||
lossStr, _ := json.Marshal(charge.Loss)
|
||||
meters, _ := json.Marshal(convertToNestedMeters(charge.Submeters))
|
||||
pooled, _ := json.Marshal(convertToNestedMeters(charge.Poolings))
|
||||
fmt.Println(report.Id, tenement.Id, "123")
|
||||
insertQuery = insertQuery.
|
||||
Cols(
|
||||
"report_id", "tenement_id", "tenement_detail", "calc_period", "overall", "critical", "peak", "flat", "valley", "loss", "basic_fee_pooled",
|
||||
"adjust_fee_pooled", "loss_fee_pooled", "final_charge", "invoice", "meters", "pooled",
|
||||
).
|
||||
Vals(goqu.Vals{report.Id,
|
||||
tenement.Id,
|
||||
tenementStr,
|
||||
report.Period,
|
||||
overallStr,
|
||||
criticalStr,
|
||||
peakStr,
|
||||
flatStr,
|
||||
valleyStr,
|
||||
lossStr,
|
||||
charge.BasicFee,
|
||||
charge.AdjustFee,
|
||||
charge.LossPooled,
|
||||
charge.PublicPooled,
|
||||
charge.FinalCharges,
|
||||
meters,
|
||||
pooled})
|
||||
tenementCharge := findTenementCharge(tenementCharges, tenement.Id)
|
||||
|
||||
tenementDetail, _ := json.Marshal(tenement)
|
||||
overallJSON, _ := json.Marshal(tenementCharge.Overall)
|
||||
criticalJSON, _ := json.Marshal(tenementCharge.Critical)
|
||||
peakJSON, _ := json.Marshal(tenementCharge.Peak)
|
||||
flatJSON, _ := json.Marshal(tenementCharge.Flat)
|
||||
valleyJSON, _ := json.Marshal(tenementCharge.Valley)
|
||||
lossJSON, _ := json.Marshal(tenementCharge.Loss)
|
||||
submetersJSON, _ := json.Marshal(convertToNestedMeters(tenementCharge.Submeters))
|
||||
poolingsJSON, _ := json.Marshal(convertToNestedMeters(tenementCharge.Poolings))
|
||||
|
||||
row := goqu.Record{
|
||||
"report_id": report.Id,
|
||||
"tenement_id": tenement.Id,
|
||||
"tenement_detail": tenementDetail,
|
||||
"calc_period": report.Period,
|
||||
"overall": overallJSON,
|
||||
"critical": criticalJSON,
|
||||
"peak": peakJSON,
|
||||
"flat": flatJSON,
|
||||
"valley": valleyJSON,
|
||||
"loss": lossJSON,
|
||||
"basic_fee_pooled": tenementCharge.BasicFee,
|
||||
"adjust_fee_pooled": tenementCharge.AdjustFee,
|
||||
"loss_fee_pooled": tenementCharge.LossPooled,
|
||||
"final_pooled": tenementCharge.PublicPooled,
|
||||
"final_charge": tenementCharge.FinalCharges,
|
||||
"meters": submetersJSON,
|
||||
"pooled": poolingsJSON,
|
||||
}
|
||||
|
||||
rows = append(rows, row)
|
||||
}
|
||||
|
||||
sql, params, err := insertQuery.Prepared(true).ToSQL()
|
||||
sql, params, err := insertQuery.Rows(rows).Prepared(true).ToSQL()
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
}
|
||||
fmt.Println("====================================================================", sql)
|
||||
_, err = tx.Exec(ctx, sql, params...)
|
||||
if err != nil {
|
||||
fmt.Println(err.Error())
|
||||
return err
|
||||
}
|
||||
fmt.Println("保存成功")
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
@ -151,9 +151,9 @@ func CalculateLossPooling(report model.ReportIndex, summary calculate.Summary, m
|
||||
|
||||
/// 计算所有商户类型表计的全周期电量。
|
||||
|
||||
func CalculateTenementConsumptions(meters MeterMap) (map[string]decimal.Decimal, error) {
|
||||
func CalculateTenementConsumptions(meters *MeterMap) (map[string]decimal.Decimal, error) {
|
||||
consumptions := make(map[string]decimal.Decimal)
|
||||
for _, meter := range meters {
|
||||
for _, meter := range *meters {
|
||||
if meter.Detail.MeterType == model.METER_INSTALLATION_TENEMENT {
|
||||
amount, ok := consumptions[meter.Code]
|
||||
if !ok {
|
||||
@ -163,7 +163,7 @@ func CalculateTenementConsumptions(meters MeterMap) (map[string]decimal.Decimal,
|
||||
consumptions[meter.Code] = amount
|
||||
}
|
||||
}
|
||||
for _, meter := range meters {
|
||||
for _, meter := range *meters {
|
||||
if meter.Detail.MeterType == model.METER_INSTALLATION_TENEMENT {
|
||||
amount, ok := consumptions[meter.Code]
|
||||
if !ok {
|
||||
|
@ -110,7 +110,7 @@ func MainCalculateProcess(rid string) error {
|
||||
return err
|
||||
}
|
||||
// 计算所有商户类型表计的全周期电量,并根据全周期电量计算共用过同一表计的商户的二次分摊比例。
|
||||
_, err = CalculateTenementConsumptions(meters)
|
||||
_, err = CalculateTenementConsumptions(&meters)
|
||||
if err != nil {
|
||||
fmt.Println("16", err)
|
||||
return err
|
||||
|
Loading…
x
Reference in New Issue
Block a user